VVC's subpictures feature is not yet implemented in the native decoder. Throw an AVERROR_PATCHWELCOME when trying to decode a bitstream using the feature. Fixes crashes when trying to decode bitstreams which use the feature.
Signed-off-by: Frank Plowman <p...@frankplowman.com> --- libavcodec/vvc/vvc_ps.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libavcodec/vvc/vvc_ps.c b/libavcodec/vvc/vvc_ps.c index e6e46d2039..62515a6343 100644 --- a/libavcodec/vvc/vvc_ps.c +++ b/libavcodec/vvc/vvc_ps.c @@ -72,6 +72,18 @@ static int sps_map_pixel_format(VVCSPS *sps, void *log_ctx) return 0; } +static int sps_subpic_info(VVCSPS *sps, void *log_ctx) +{ + const H266RawSPS *r = sps->r; + + if (r->sps_num_subpics_minus1 > 0) { + avpriv_report_missing_feature(log_ctx, "Subpictures"); + return AVERROR_PATCHWELCOME; + } + + return 0; +} + static int sps_bit_depth(VVCSPS *sps, void *log_ctx) { const H266RawSPS *r = sps->r; @@ -177,6 +189,9 @@ static int sps_derive(VVCSPS *sps, void *log_ctx) int ret; const H266RawSPS *r = sps->r; + ret = sps_subpic_info(sps, log_ctx); + if (ret < 0) + return ret; ret = sps_bit_depth(sps, log_ctx); if (ret < 0) return ret; -- 2.44.0 _______________________________________________ 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".