From cbd98447bcfd83bff98c18e144f50a603bebaf90 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 (cherry picked from commit bb9e4ff355684b0325d1632b89baab96cc24dc51) --- libavcodec/vvc/vvcdec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/vvc/vvcdec.c b/libavcodec/vvc/vvcdec.c index e72bb48a50..2f8b84f63b 100644 --- a/libavcodec/vvc/vvcdec.c +++ b/libavcodec/vvc/vvcdec.c @@ -782,6 +782,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: