diff options
author | Frank Plowman <post@frankplowman.com> | 2024-04-18 21:26:20 +0100 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2024-04-18 17:38:15 -0300 |
commit | bb9e4ff355684b0325d1632b89baab96cc24dc51 (patch) | |
tree | b89c4bc771b5057b8ee9887d7565a13d603397d9 /libavcodec/vvc | |
parent | 5b9db32ccc9426dc2aa37f21eee4c9efd1baf75b (diff) | |
download | ffmpeg-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.c | 6 |
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: |