From a65b5a5c2b65c93592102923cc13a2c3f3deb45e Mon Sep 17 00:00:00 2001 From: peng bin Date: Thu, 13 Apr 2023 15:08:00 +0800 Subject: [PATCH] Fix previousNumDeltaPocs in skipShortTermRefPicSets --- .../main/java/androidx/media3/extractor/ts/H265Reader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java index 0da195fbcf..0ae0fb2f39 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java @@ -435,11 +435,15 @@ public final class H265Reader implements ElementaryStreamReader { if (interRefPicSetPredictionFlag) { bitArray.skipBit(); // delta_rps_sign bitArray.readUnsignedExpGolombCodedInt(); // abs_delta_rps_minus1 + int numDeltaPocs = 0; for (int j = 0; j <= previousNumDeltaPocs; j++) { if (!bitArray.readBit()) { // used_by_curr_pic_flag[j] - bitArray.skipBit(); // use_delta_flag[j] + if(!bitArray.readBit()) // use_delta_flag[j] + continue; // if not use_delta_flag, skip increase numDeltaPocs } + numDeltaPocs++; } + previousNumDeltaPocs = numDeltaPocs; } else { numNegativePics = bitArray.readUnsignedExpGolombCodedInt(); numPositivePics = bitArray.readUnsignedExpGolombCodedInt();