On 23/11/2024 09:32, Nuo Mi wrote: > According to section 6.3.3, 'Spatial or component-wise partitionings,' > Subpictures must cover the entire picture. > Therefore, the total number of subpicture slices should equal the number of > picture slices > > Co-authored-by: Frank Plowman <p...@frankplowman.com> > --- > libavcodec/cbs_h266_syntax_template.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/cbs_h266_syntax_template.c > b/libavcodec/cbs_h266_syntax_template.c > index 6b2d6534ef..8abd3d1ba7 100644 > --- a/libavcodec/cbs_h266_syntax_template.c > +++ b/libavcodec/cbs_h266_syntax_template.c > @@ -1966,7 +1966,7 @@ static int FUNC(pps) (CodedBitstreamContext *ctx, > RWContext *rw, > infer(pps_single_slice_per_subpic_flag, 1); > if (current->pps_rect_slice_flag && > !current->pps_single_slice_per_subpic_flag) { > - int j; > + int j, num_slices = 0; > uint16_t tile_idx = 0, tile_x, tile_y, ctu_x, ctu_y; > uint16_t slice_top_left_ctu_x[VVC_MAX_SLICES]; > uint16_t slice_top_left_ctu_y[VVC_MAX_SLICES]; > @@ -2155,7 +2155,10 @@ static int FUNC(pps) (CodedBitstreamContext *ctx, > RWContext *rw, > current->num_slices_in_subpic[i]++; > } > } > + num_slices += current->num_slices_in_subpic[i]; > } > + if (current->pps_num_slices_in_pic_minus1 + 1 != num_slices) > + return AVERROR_INVALIDDATA; > } else { > if (current->pps_no_pic_partition_flag) > infer(pps_num_slices_in_pic_minus1, 0);
This set LGTM! Cheers, Frank _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".