From bb9e4ff355684b0325d1632b89baab96cc24dc51 Mon Sep 17 00:00:00 2001 From: Frank Plowman Date: Thu, 18 Apr 2024 21:26:20 +0100 Subject: [PATCH] lavc/vvc: Skip enhancement layer NAL units The native VVC decoder does not yet support quality/spatial/multiview scalability. Bitstreams requiring this feature could cause crashes. Patch fixes this by skipping NAL units which are not in the base layer, warning the user while doing so. Signed-off-by: Frank Plowman Signed-off-by: James Almer --- libavcodec/vvc/dec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c index a4fc40b40a..6aeec27eaf 100644 --- a/libavcodec/vvc/dec.c +++ b/libavcodec/vvc/dec.c @@ -785,6 +785,12 @@ static int decode_nal_unit(VVCContext *s, VVCFrameContext *fc, const H2645NAL *n s->temporal_id = nal->temporal_id; + if (nal->nuh_layer_id > 0) { + avpriv_report_missing_feature(fc->log_ctx, + "Decoding of multilayer bitstreams"); + return AVERROR_PATCHWELCOME; + } + switch (unit->type) { case VVC_VPS_NUT: case VVC_SPS_NUT: