Add maxNumRefFrames to NalUnitUtil

Needed for AVI support.

PiperOrigin-RevId: 436991922
This commit is contained in:
aquilescanta 2022-03-24 14:41:28 +00:00 committed by Ian Baker
parent 5bc94da16a
commit 7db0d91dd9
2 changed files with 6 additions and 1 deletions

View File

@ -53,6 +53,7 @@ public final class NalUnitUtil {
public final int constraintsFlagsAndReservedZero2Bits;
public final int levelIdc;
public final int seqParameterSetId;
public final int maxNumRefFrames;
public final int width;
public final int height;
public final float pixelWidthHeightRatio;
@ -68,6 +69,7 @@ public final class NalUnitUtil {
int constraintsFlagsAndReservedZero2Bits,
int levelIdc,
int seqParameterSetId,
int maxNumRefFrames,
int width,
int height,
float pixelWidthHeightRatio,
@ -81,6 +83,7 @@ public final class NalUnitUtil {
this.constraintsFlagsAndReservedZero2Bits = constraintsFlagsAndReservedZero2Bits;
this.levelIdc = levelIdc;
this.seqParameterSetId = seqParameterSetId;
this.maxNumRefFrames = maxNumRefFrames;
this.width = width;
this.height = height;
this.pixelWidthHeightRatio = pixelWidthHeightRatio;
@ -387,7 +390,7 @@ public final class NalUnitUtil {
data.readUnsignedExpGolombCodedInt(); // offset_for_ref_frame[i]
}
}
data.readUnsignedExpGolombCodedInt(); // max_num_ref_frames
int maxNumRefFrames = data.readUnsignedExpGolombCodedInt(); // max_num_ref_frames
data.skipBit(); // gaps_in_frame_num_value_allowed_flag
int picWidthInMbs = data.readUnsignedExpGolombCodedInt() + 1;
@ -447,6 +450,7 @@ public final class NalUnitUtil {
constraintsFlagsAndReservedZero2Bits,
levelIdc,
seqParameterSetId,
maxNumRefFrames,
frameWidth,
frameHeight,
pixelWidthHeightRatio,

View File

@ -126,6 +126,7 @@ public final class NalUnitUtilTest {
public void parseSpsNalUnit() {
NalUnitUtil.SpsData data =
NalUnitUtil.parseSpsNalUnit(SPS_TEST_DATA, SPS_TEST_DATA_OFFSET, SPS_TEST_DATA.length);
assertThat(data.maxNumRefFrames).isEqualTo(4);
assertThat(data.width).isEqualTo(640);
assertThat(data.height).isEqualTo(360);
assertThat(data.deltaPicOrderAlwaysZeroFlag).isFalse();