aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vvc
diff options
context:
space:
mode:
authorFrank Plowman <post@frankplowman.com>2024-04-18 21:26:20 +0100
committerJames Almer <jamrial@gmail.com>2024-04-18 17:38:15 -0300
commitbb9e4ff355684b0325d1632b89baab96cc24dc51 (patch)
treeb89c4bc771b5057b8ee9887d7565a13d603397d9 /libavcodec/vvc
parent5b9db32ccc9426dc2aa37f21eee4c9efd1baf75b (diff)
downloadffmpeg-bb9e4ff355684b0325d1632b89baab96cc24dc51.tar.gz
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 <post@frankplowman.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/vvc')
-rw-r--r--libavcodec/vvc/dec.c6
1 files changed, 6 insertions, 0 deletions
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: