package androidx.media3.extractor;

import androidx.media3.common.ParserException;
import androidx.media3.common.util.CodecSpecificDataUtil;
import androidx.media3.common.util.ParsableByteArray;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.container.NalUnitUtil;
import java.util.Collections;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public final class HevcConfig {
    private static final int SPS_NAL_UNIT_TYPE = 33;
    public final int bitdepthChroma;
    public final int bitdepthLuma;
    public final String codecs;
    public final int colorRange;
    public final int colorSpace;
    public final int colorTransfer;
    public final int height;
    public final List<byte[]> initializationData;
    public final int maxNumReorderPics;
    public final int nalUnitLengthFieldLength;
    public final float pixelWidthHeightRatio;
    public final int width;

    private HevcConfig(List<byte[]> list, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, float f6, int i14, String str) {
        this.initializationData = list;
        this.nalUnitLengthFieldLength = i6;
        this.width = i7;
        this.height = i8;
        this.bitdepthLuma = i9;
        this.bitdepthChroma = i10;
        this.colorSpace = i11;
        this.colorRange = i12;
        this.colorTransfer = i13;
        this.pixelWidthHeightRatio = f6;
        this.maxNumReorderPics = i14;
        this.codecs = str;
    }

    public static HevcConfig parse(ParsableByteArray parsableByteArray) {
        boolean z6;
        int i6;
        try {
            parsableByteArray.skipBytes(21);
            int unsignedByte = parsableByteArray.readUnsignedByte() & 3;
            int unsignedByte2 = parsableByteArray.readUnsignedByte();
            int position = parsableByteArray.getPosition();
            int i7 = 0;
            int i8 = 0;
            int i9 = 0;
            while (true) {
                z6 = true;
                if (i8 >= unsignedByte2) {
                    break;
                }
                parsableByteArray.skipBytes(1);
                int unsignedShort = parsableByteArray.readUnsignedShort();
                for (int i10 = 0; i10 < unsignedShort; i10++) {
                    int unsignedShort2 = parsableByteArray.readUnsignedShort();
                    i9 += unsignedShort2 + 4;
                    parsableByteArray.skipBytes(unsignedShort2);
                }
                i8++;
            }
            parsableByteArray.setPosition(position);
            byte[] bArr = new byte[i9];
            int i11 = -1;
            int i12 = -1;
            int i13 = -1;
            int i14 = -1;
            int i15 = -1;
            int i16 = -1;
            int i17 = -1;
            int i18 = -1;
            float f6 = 1.0f;
            String strBuildHevcCodecString = null;
            int i19 = 0;
            int i20 = 0;
            while (i19 < unsignedByte2) {
                int unsignedByte3 = parsableByteArray.readUnsignedByte() & 63;
                int unsignedShort3 = parsableByteArray.readUnsignedShort();
                int i21 = i7;
                while (i21 < unsignedShort3) {
                    int unsignedShort4 = parsableByteArray.readUnsignedShort();
                    boolean z7 = z6;
                    byte[] bArr2 = NalUnitUtil.NAL_START_CODE;
                    int i22 = unsignedByte;
                    System.arraycopy(bArr2, i7, bArr, i20, bArr2.length);
                    int length = i20 + bArr2.length;
                    System.arraycopy(parsableByteArray.getData(), parsableByteArray.getPosition(), bArr, length, unsignedShort4);
                    if (unsignedByte3 == 33 && i21 == 0) {
                        NalUnitUtil.H265SpsData h265SpsNalUnit = NalUnitUtil.parseH265SpsNalUnit(bArr, length, length + unsignedShort4);
                        i11 = h265SpsNalUnit.width;
                        i12 = h265SpsNalUnit.height;
                        i13 = h265SpsNalUnit.bitDepthLumaMinus8 + 8;
                        i14 = h265SpsNalUnit.bitDepthChromaMinus8 + 8;
                        int i23 = h265SpsNalUnit.colorSpace;
                        int i24 = h265SpsNalUnit.colorRange;
                        i6 = unsignedByte2;
                        int i25 = h265SpsNalUnit.colorTransfer;
                        float f7 = h265SpsNalUnit.pixelWidthHeightRatio;
                        int i26 = h265SpsNalUnit.maxNumReorderPics;
                        strBuildHevcCodecString = CodecSpecificDataUtil.buildHevcCodecString(h265SpsNalUnit.generalProfileSpace, h265SpsNalUnit.generalTierFlag, h265SpsNalUnit.generalProfileIdc, h265SpsNalUnit.generalProfileCompatibilityFlags, h265SpsNalUnit.constraintBytes, h265SpsNalUnit.generalLevelIdc);
                        f6 = f7;
                        i18 = i26;
                        i16 = i24;
                        i17 = i25;
                        i15 = i23;
                    } else {
                        i6 = unsignedByte2;
                    }
                    i20 = length + unsignedShort4;
                    parsableByteArray.skipBytes(unsignedShort4);
                    i21++;
                    z6 = z7;
                    unsignedByte = i22;
                    unsignedByte2 = i6;
                    i7 = 0;
                }
                i19++;
                i7 = 0;
            }
            return new HevcConfig(i9 == 0 ? Collections.EMPTY_LIST : Collections.singletonList(bArr), unsignedByte + 1, i11, i12, i13, i14, i15, i16, i17, f6, i18, strBuildHevcCodecString);
        } catch (ArrayIndexOutOfBoundsException e6) {
            throw ParserException.createForMalformedContainer("Error parsing HEVC config", e6);
        }
    }
}
