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.ArrayList;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public final class AvcConfig {
    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 maxNumReorderFrames;
    public final int nalUnitLengthFieldLength;
    public final float pixelWidthHeightRatio;
    public final int width;

    private AvcConfig(List<byte[]> list, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, float f6, 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.maxNumReorderFrames = i14;
        this.pixelWidthHeightRatio = f6;
        this.codecs = str;
    }

    private static byte[] buildNalUnitForChild(ParsableByteArray parsableByteArray) {
        int unsignedShort = parsableByteArray.readUnsignedShort();
        int position = parsableByteArray.getPosition();
        parsableByteArray.skipBytes(unsignedShort);
        return CodecSpecificDataUtil.buildNalUnit(parsableByteArray.getData(), position, unsignedShort);
    }

    public static AvcConfig parse(ParsableByteArray parsableByteArray) {
        String strBuildAvcCodecString;
        int i6;
        int i7;
        int i8;
        int i9;
        int i10;
        int i11;
        float f6;
        int i12;
        int i13;
        try {
            parsableByteArray.skipBytes(4);
            int unsignedByte = (parsableByteArray.readUnsignedByte() & 3) + 1;
            if (unsignedByte == 3) {
                throw new IllegalStateException();
            }
            ArrayList arrayList = new ArrayList();
            int unsignedByte2 = parsableByteArray.readUnsignedByte() & 31;
            for (int i14 = 0; i14 < unsignedByte2; i14++) {
                arrayList.add(buildNalUnitForChild(parsableByteArray));
            }
            int unsignedByte3 = parsableByteArray.readUnsignedByte();
            for (int i15 = 0; i15 < unsignedByte3; i15++) {
                arrayList.add(buildNalUnitForChild(parsableByteArray));
            }
            if (unsignedByte2 > 0) {
                NalUnitUtil.SpsData spsNalUnit = NalUnitUtil.parseSpsNalUnit((byte[]) arrayList.get(0), unsignedByte, ((byte[]) arrayList.get(0)).length);
                int i16 = spsNalUnit.width;
                int i17 = spsNalUnit.height;
                int i18 = spsNalUnit.bitDepthLumaMinus8 + 8;
                int i19 = spsNalUnit.bitDepthChromaMinus8 + 8;
                int i20 = spsNalUnit.colorSpace;
                int i21 = spsNalUnit.colorRange;
                int i22 = spsNalUnit.colorTransfer;
                int i23 = spsNalUnit.maxNumReorderFrames;
                float f7 = spsNalUnit.pixelWidthHeightRatio;
                strBuildAvcCodecString = CodecSpecificDataUtil.buildAvcCodecString(spsNalUnit.profileIdc, spsNalUnit.constraintsFlagsAndReservedZero2Bits, spsNalUnit.levelIdc);
                i10 = i22;
                i11 = i23;
                f6 = f7;
                i9 = i19;
                i12 = i20;
                i13 = i21;
                i6 = i16;
                i7 = i17;
                i8 = i18;
            } else {
                strBuildAvcCodecString = null;
                i6 = -1;
                i7 = -1;
                i8 = -1;
                i9 = -1;
                i10 = -1;
                i11 = 16;
                f6 = 1.0f;
                i12 = -1;
                i13 = -1;
            }
            return new AvcConfig(arrayList, unsignedByte, i6, i7, i8, i9, i12, i13, i10, i11, f6, strBuildAvcCodecString);
        } catch (ArrayIndexOutOfBoundsException e6) {
            throw ParserException.createForMalformedContainer("Error parsing AVC config", e6);
        }
    }
}
