package androidx.media3.exoplayer.video;

import androidx.annotation.Nullable;
import androidx.media3.common.util.UnstableApi;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import q1.w;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public final class Av1SampleDependencyParser {
    private static final int MAX_OBU_COUNT_FOR_PARTIAL_SKIP = 8;

    @Nullable
    private androidx.media3.container.b sequenceHeader;

    private boolean canSkipObu(w wVar, boolean z10) {
        androidx.media3.container.b bVar;
        int i10 = wVar.f32168a;
        if (i10 == 2 || i10 == 15) {
            return true;
        }
        if (i10 == 3 && !z10) {
            return false;
        }
        if ((i10 != 6 && i10 != 3) || (bVar = this.sequenceHeader) == null) {
            return false;
        }
        androidx.media3.container.a aVar = androidx.media3.container.a.parse(bVar, wVar);
        return (aVar == null || aVar.f2810a) ? false : true;
    }

    private void updateSequenceHeaders(List<w> list) {
        for (int i10 = 0; i10 < list.size(); i10++) {
            if (list.get(i10).f32168a == 1) {
                this.sequenceHeader = androidx.media3.container.b.parse(list.get(i10));
            }
        }
    }

    public void queueInputBuffer(ByteBuffer byteBuffer) {
        updateSequenceHeaders(com.bumptech.glide.h.C(byteBuffer));
    }

    public void reset() {
        this.sequenceHeader = null;
    }

    public int sampleLimitAfterSkippingNonReferenceFrame(ByteBuffer byteBuffer, boolean z10) {
        ArrayList arrayListC = com.bumptech.glide.h.C(byteBuffer);
        updateSequenceHeaders(arrayListC);
        int size = arrayListC.size() - 1;
        int i10 = 0;
        while (size >= 0 && canSkipObu((w) arrayListC.get(size), z10)) {
            if (((w) arrayListC.get(size)).f32168a == 6 || ((w) arrayListC.get(size)).f32168a == 3) {
                i10++;
            }
            size--;
        }
        return (i10 > 1 || size + 1 >= 8) ? byteBuffer.limit() : size >= 0 ? ((w) arrayListC.get(size)).f32169b.limit() : byteBuffer.position();
    }
}
