[FFmpeg-devel] [PATCH] lavc/vvc: AVERROR_PATCHWELCOME for subpictures
Frank Plowman
post at frankplowman.com
Mon Mar 11 20:53:31 EET 2024
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 <post at 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
More information about the ffmpeg-devel
mailing list