* [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units
@ 2024-04-18 18:59 Frank Plowman
2024-04-18 19:43 ` James Almer
0 siblings, 1 reply; 5+ messages in thread
From: Frank Plowman @ 2024-04-18 18:59 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Frank Plowman
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>
---
libavcodec/vvc/dec.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
index a4fc40b40a..5249ddf989 100644
--- a/libavcodec/vvc/dec.c
+++ b/libavcodec/vvc/dec.c
@@ -785,6 +785,11 @@ 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, "Multilayer");
+ return AVERROR_PATCHWELCOME;
+ }
+
switch (unit->type) {
case VVC_VPS_NUT:
case VVC_SPS_NUT:
--
2.44.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units
2024-04-18 18:59 [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units Frank Plowman
@ 2024-04-18 19:43 ` James Almer
2024-04-18 20:19 ` Frank Plowman
0 siblings, 1 reply; 5+ messages in thread
From: James Almer @ 2024-04-18 19:43 UTC (permalink / raw)
To: ffmpeg-devel
On 4/18/2024 3:59 PM, Frank Plowman wrote:
> 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>
> ---
> libavcodec/vvc/dec.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
> index a4fc40b40a..5249ddf989 100644
> --- a/libavcodec/vvc/dec.c
> +++ b/libavcodec/vvc/dec.c
> @@ -785,6 +785,11 @@ 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, "Multilayer");
A more verbose message would be better.
> + return AVERROR_PATCHWELCOME;
> + }
> +
> switch (unit->type) {
> case VVC_VPS_NUT:
> case VVC_SPS_NUT:
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units
2024-04-18 19:43 ` James Almer
@ 2024-04-18 20:19 ` Frank Plowman
2024-04-18 20:23 ` James Almer
0 siblings, 1 reply; 5+ messages in thread
From: Frank Plowman @ 2024-04-18 20:19 UTC (permalink / raw)
To: ffmpeg-devel
On 18/04/2024 20:43, James Almer wrote:
> On 4/18/2024 3:59 PM, Frank Plowman wrote:
>> 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>
>> ---
>> libavcodec/vvc/dec.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
>> index a4fc40b40a..5249ddf989 100644
>> --- a/libavcodec/vvc/dec.c
>> +++ b/libavcodec/vvc/dec.c
>> @@ -785,6 +785,11 @@ 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, "Multilayer");
>
> A more verbose message would be better.
>
Thanks for your review James.
Would "Quality/spatial/multiview scalability" be better or do you have
some other suggestion? The message is put in a template by
avpriv_report_missing_feature, e.g.
[vvc @ 0x618000003c80] Multilayer is not implemented. Update your FFmpeg
version to the newest one from Git. If the problem still occurs, it
means that your file has a feature which has not been implemented.
so the string passed to avpriv_report_missing_feature must be a noun.
--
Frank
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units
2024-04-18 20:19 ` Frank Plowman
@ 2024-04-18 20:23 ` James Almer
2024-04-18 20:27 ` Frank Plowman
0 siblings, 1 reply; 5+ messages in thread
From: James Almer @ 2024-04-18 20:23 UTC (permalink / raw)
To: ffmpeg-devel
On 4/18/2024 5:19 PM, Frank Plowman wrote:
> On 18/04/2024 20:43, James Almer wrote:
>> On 4/18/2024 3:59 PM, Frank Plowman wrote:
>>> 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>
>>> ---
>>> libavcodec/vvc/dec.c | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
>>> index a4fc40b40a..5249ddf989 100644
>>> --- a/libavcodec/vvc/dec.c
>>> +++ b/libavcodec/vvc/dec.c
>>> @@ -785,6 +785,11 @@ 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, "Multilayer");
>>
>> A more verbose message would be better.
>>
>
> Thanks for your review James.
>
> Would "Quality/spatial/multiview scalability" be better or do you have
> some other suggestion? The message is put in a template by
> avpriv_report_missing_feature, e.g.
>
> [vvc @ 0x618000003c80] Multilayer is not implemented. Update your FFmpeg
> version to the newest one from Git. If the problem still occurs, it
> means that your file has a feature which has not been implemented.
>
> so the string passed to avpriv_report_missing_feature must be a noun.
Maybe "Decoding of multilayer bitstreams".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units
2024-04-18 20:23 ` James Almer
@ 2024-04-18 20:27 ` Frank Plowman
0 siblings, 0 replies; 5+ messages in thread
From: Frank Plowman @ 2024-04-18 20:27 UTC (permalink / raw)
To: ffmpeg-devel
On 18/04/2024 21:23, James Almer wrote:
> On 4/18/2024 5:19 PM, Frank Plowman wrote:
>> On 18/04/2024 20:43, James Almer wrote:
>>> On 4/18/2024 3:59 PM, Frank Plowman wrote:
>>>> 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>
>>>> ---
>>>> libavcodec/vvc/dec.c | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
>>>> index a4fc40b40a..5249ddf989 100644
>>>> --- a/libavcodec/vvc/dec.c
>>>> +++ b/libavcodec/vvc/dec.c
>>>> @@ -785,6 +785,11 @@ 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, "Multilayer");
>>>
>>> A more verbose message would be better.
>>>
>>
>> Thanks for your review James.
>>
>> Would "Quality/spatial/multiview scalability" be better or do you have
>> some other suggestion? The message is put in a template by
>> avpriv_report_missing_feature, e.g.
>>
>> [vvc @ 0x618000003c80] Multilayer is not implemented. Update your FFmpeg
>> version to the newest one from Git. If the problem still occurs, it
>> means that your file has a feature which has not been implemented.
>>
>> so the string passed to avpriv_report_missing_feature must be a noun.
>
> Maybe "Decoding of multilayer bitstreams".
Agreed, that's a bit clearer. v2 sent.
Thanks,
--
Frank
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-04-18 20:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18 18:59 [FFmpeg-devel] [PATCH] lavc/vvc: Skip enhancement layer NAL units Frank Plowman
2024-04-18 19:43 ` James Almer
2024-04-18 20:19 ` Frank Plowman
2024-04-18 20:23 ` James Almer
2024-04-18 20:27 ` Frank Plowman
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git