[FFmpeg-devel] [PATCH] lavc/vvc: Increase size of ctb_size_y

James Almer jamrial at gmail.com
Sat Apr 13 16:55:10 EEST 2024


On 4/13/2024 7:55 AM, Frank Plowman wrote:
> sps_log2_ctu_size_minus5 is between 0 and 2, with 3 reserved for future
> use.  The VVC decoder allows sps_log2_ctu_size_minus5 to be 3, and so
> ctb_size_y should be at least 16 bits to prevent overflows.  An
> alternative patch would leave sps_log2_ctu_size_minus5 as 8 bits and
> disallow sps_log2_ctu_size_minus5 = 3.

The spec says a value of 3 should be ignored, which i assume means 
decoding is not meant to stop. So this patch is probably better than 
outright rejecting the value in CBS.

> 
> Signed-off-by: Frank Plowman <post at frankplowman.com>
> ---
>   libavcodec/vvc/ps.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/vvc/ps.h b/libavcodec/vvc/ps.h
> index 78f1687fef..6656a06320 100644
> --- a/libavcodec/vvc/ps.h
> +++ b/libavcodec/vvc/ps.h
> @@ -69,7 +69,7 @@ typedef struct VVCSPS {
>       uint8_t     bit_depth;                                          ///< BitDepth
>       uint8_t     qp_bd_offset;                                       ///< QpBdOffset
>       uint8_t     ctb_log2_size_y;                                    ///< CtbLog2SizeY
> -    uint8_t     ctb_size_y;                                         ///< CtbSizeY
> +    uint16_t    ctb_size_y;                                         ///< CtbSizeY
>       uint8_t     min_cb_log2_size_y;                                 ///< MinCbLog2SizeY
>       uint8_t     min_cb_size_y;                                      ///< MinCbSizeY
>       uint8_t     max_tb_size_y;                                      ///< MaxTbSizeY


More information about the ffmpeg-devel mailing list