Message ID | 20240519132819.3365-1-jamrial@gmail.com |
---|---|
State | Accepted |
Commit | b113050d96d9d36ac2e7f10b3af8b9c61684c33f |
Headers | show |
Series | [FFmpeg-devel] avcodec/cbs_h266: read vps_ptl_max_tid before using it | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | fail | Make fate failed |
On Sun, May 19, 2024 at 9:28 PM James Almer <jamrial@gmail.com> wrote: > Signed-off-by: James Almer <jamrial@gmail.com> > --- > libavcodec/cbs_h266_syntax_template.c | 28 ++++++++++++++------------- > 1 file changed, 15 insertions(+), 13 deletions(-) > > diff --git a/libavcodec/cbs_h266_syntax_template.c > b/libavcodec/cbs_h266_syntax_template.c > index 725cee5b03..38685704c5 100644 > --- a/libavcodec/cbs_h266_syntax_template.c > +++ b/libavcodec/cbs_h266_syntax_template.c > @@ -790,6 +790,21 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, > RWContext *rw, > infer(vps_each_layer_is_an_ols_flag, 1); > infer(vps_num_ptls_minus1, 0); > } > + > + for (i = 0; i <= current->vps_num_ptls_minus1; i++) { > + if (i > 0) > + flags(vps_pt_present_flag[i], 1, i); > + else > + infer(vps_pt_present_flag[i], 1); > + > + if (!current->vps_default_ptl_dpb_hrd_max_tid_flag) > + us(3, vps_ptl_max_tid[i], 0, > current->vps_max_sublayers_minus1, 1, i); > + else > + infer(vps_ptl_max_tid[i], current->vps_max_sublayers_minus1); > + } > + while (byte_alignment(rw) != 0) > + fixed(1, vps_ptl_alignment_zero_bit, 0); > + > { > //calc NumMultiLayerOlss > int m; > @@ -915,19 +930,6 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, > RWContext *rw, > return AVERROR_INVALIDDATA; > } > > - for (i = 0; i <= current->vps_num_ptls_minus1; i++) { > - if (i > 0) > - flags(vps_pt_present_flag[i], 1, i); > - else > - infer(vps_pt_present_flag[i], 1); > - > - if (!current->vps_default_ptl_dpb_hrd_max_tid_flag) > - us(3, vps_ptl_max_tid[i], 0, > current->vps_max_sublayers_minus1, 1, i); > - else > - infer(vps_ptl_max_tid[i], current->vps_max_sublayers_minus1); > - } > - while (byte_alignment(rw) != 0) > - fixed(1, vps_ptl_alignment_zero_bit, 0); > for (i = 0; i <= current->vps_num_ptls_minus1; i++) { > CHECK(FUNC(profile_tier_level) (ctx, rw, > current->vps_profile_tier_level + > i, > -- > 2.45.1 > LGTM Thank you, James. > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >
diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c index 725cee5b03..38685704c5 100644 --- a/libavcodec/cbs_h266_syntax_template.c +++ b/libavcodec/cbs_h266_syntax_template.c @@ -790,6 +790,21 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, RWContext *rw, infer(vps_each_layer_is_an_ols_flag, 1); infer(vps_num_ptls_minus1, 0); } + + for (i = 0; i <= current->vps_num_ptls_minus1; i++) { + if (i > 0) + flags(vps_pt_present_flag[i], 1, i); + else + infer(vps_pt_present_flag[i], 1); + + if (!current->vps_default_ptl_dpb_hrd_max_tid_flag) + us(3, vps_ptl_max_tid[i], 0, current->vps_max_sublayers_minus1, 1, i); + else + infer(vps_ptl_max_tid[i], current->vps_max_sublayers_minus1); + } + while (byte_alignment(rw) != 0) + fixed(1, vps_ptl_alignment_zero_bit, 0); + { //calc NumMultiLayerOlss int m; @@ -915,19 +930,6 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, RWContext *rw, return AVERROR_INVALIDDATA; } - for (i = 0; i <= current->vps_num_ptls_minus1; i++) { - if (i > 0) - flags(vps_pt_present_flag[i], 1, i); - else - infer(vps_pt_present_flag[i], 1); - - if (!current->vps_default_ptl_dpb_hrd_max_tid_flag) - us(3, vps_ptl_max_tid[i], 0, current->vps_max_sublayers_minus1, 1, i); - else - infer(vps_ptl_max_tid[i], current->vps_max_sublayers_minus1); - } - while (byte_alignment(rw) != 0) - fixed(1, vps_ptl_alignment_zero_bit, 0); for (i = 0; i <= current->vps_num_ptls_minus1; i++) { CHECK(FUNC(profile_tier_level) (ctx, rw, current->vps_profile_tier_level + i,
Signed-off-by: James Almer <jamrial@gmail.com> --- libavcodec/cbs_h266_syntax_template.c | 28 ++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-)