Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avcodec/cbs_apv: don't return an error when reading empty buffers
@ 2025-04-29 19:57 James Almer
  2025-04-30 21:17 ` Mark Thompson
  0 siblings, 1 reply; 5+ messages in thread
From: James Almer @ 2025-04-29 19:57 UTC (permalink / raw)
  To: ffmpeg-devel

The output will be a fragment with zero units, which is a lot more user friendly
than making them think something went wrong, as it already happens with cbs_av1.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/cbs_apv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
index 2c4a1daaf0..66ea4cebab 100644
--- a/libavcodec/cbs_apv.c
+++ b/libavcodec/cbs_apv.c
@@ -175,7 +175,7 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
 
     if (frag->data_size < 4) {
         // Too small to be a valid fragment.
-        return AVERROR_INVALIDDATA;
+        return 0;
     }
 
     // Don't include parsing here in trace output.
-- 
2.49.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] avcodec/cbs_apv: don't return an error when reading empty buffers
  2025-04-29 19:57 [FFmpeg-devel] [PATCH] avcodec/cbs_apv: don't return an error when reading empty buffers James Almer
@ 2025-04-30 21:17 ` Mark Thompson
  2025-04-30 21:18   ` James Almer
  2025-04-30 21:22   ` [FFmpeg-devel] [PATCH v2] " James Almer
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Thompson @ 2025-04-30 21:17 UTC (permalink / raw)
  To: ffmpeg-devel

On 29/04/2025 20:57, James Almer wrote:
> The output will be a fragment with zero units, which is a lot more user friendly
> than making them think something went wrong, as it already happens with cbs_av1.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/cbs_apv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
> index 2c4a1daaf0..66ea4cebab 100644
> --- a/libavcodec/cbs_apv.c
> +++ b/libavcodec/cbs_apv.c
> @@ -175,7 +175,7 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
>  
>      if (frag->data_size < 4) {
>          // Too small to be a valid fragment.
> -        return AVERROR_INVALIDDATA;
> +        return 0;
>      }
>  
>      // Don't include parsing here in trace output.

Seems fair for a zero-size buffer, but I don't like this for a three-byte fragment containing { 0xab, 0xcd, 0xef } - that feels like it should return an error.

Maybe it would make more sense to have a separate check for zero.  What do you think?

Thanks,

- Mark

_______________________________________________
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] avcodec/cbs_apv: don't return an error when reading empty buffers
  2025-04-30 21:17 ` Mark Thompson
@ 2025-04-30 21:18   ` James Almer
  2025-04-30 21:22   ` [FFmpeg-devel] [PATCH v2] " James Almer
  1 sibling, 0 replies; 5+ messages in thread
From: James Almer @ 2025-04-30 21:18 UTC (permalink / raw)
  To: ffmpeg-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 1509 bytes --]

On 4/30/2025 6:17 PM, Mark Thompson wrote:
> On 29/04/2025 20:57, James Almer wrote:
>> The output will be a fragment with zero units, which is a lot more user friendly
>> than making them think something went wrong, as it already happens with cbs_av1.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>   libavcodec/cbs_apv.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
>> index 2c4a1daaf0..66ea4cebab 100644
>> --- a/libavcodec/cbs_apv.c
>> +++ b/libavcodec/cbs_apv.c
>> @@ -175,7 +175,7 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
>>   
>>       if (frag->data_size < 4) {
>>           // Too small to be a valid fragment.
>> -        return AVERROR_INVALIDDATA;
>> +        return 0;
>>       }
>>   
>>       // Don't include parsing here in trace output.
> 
> Seems fair for a zero-size buffer, but I don't like this for a three-byte fragment containing { 0xab, 0xcd, 0xef } - that feels like it should return an error.
> 
> Maybe it would make more sense to have a separate check for zero.  What do you think?

Sure, will send an updated patch in a bit.

> 
> Thanks,
> 
> - Mark
> 
> _______________________________________________
> 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".


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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

* [FFmpeg-devel] [PATCH v2] avcodec/cbs_apv: don't return an error when reading empty buffers
  2025-04-30 21:17 ` Mark Thompson
  2025-04-30 21:18   ` James Almer
@ 2025-04-30 21:22   ` James Almer
  2025-04-30 22:13     ` Mark Thompson
  1 sibling, 1 reply; 5+ messages in thread
From: James Almer @ 2025-04-30 21:22 UTC (permalink / raw)
  To: ffmpeg-devel

The output will be a fragment with zero units, which is a lot more user friendly
than making them think something went wrong, as it already happens with cbs_av1.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/cbs_apv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
index 2c4a1daaf0..e7dd04825c 100644
--- a/libavcodec/cbs_apv.c
+++ b/libavcodec/cbs_apv.c
@@ -168,8 +168,8 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
     uint32_t signature;
     int err, trace;
 
-    if (header) {
-        // Ignore extradata fragments.
+    if (header || !frag->data_size) {
+        // Ignore empty or extradata fragments.
         return 0;
     }
 
-- 
2.49.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 v2] avcodec/cbs_apv: don't return an error when reading empty buffers
  2025-04-30 21:22   ` [FFmpeg-devel] [PATCH v2] " James Almer
@ 2025-04-30 22:13     ` Mark Thompson
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Thompson @ 2025-04-30 22:13 UTC (permalink / raw)
  To: ffmpeg-devel

On 30/04/2025 22:22, James Almer wrote:
> The output will be a fragment with zero units, which is a lot more user friendly
> than making them think something went wrong, as it already happens with cbs_av1.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/cbs_apv.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
> index 2c4a1daaf0..e7dd04825c 100644
> --- a/libavcodec/cbs_apv.c
> +++ b/libavcodec/cbs_apv.c
> @@ -168,8 +168,8 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
>      uint32_t signature;
>      int err, trace;
>  
> -    if (header) {
> -        // Ignore extradata fragments.
> +    if (header || !frag->data_size) {
> +        // Ignore empty or extradata fragments.
>          return 0;
>      }
>  

LGTM.

Thanks,

- Mark

_______________________________________________
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:[~2025-04-30 22:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-29 19:57 [FFmpeg-devel] [PATCH] avcodec/cbs_apv: don't return an error when reading empty buffers James Almer
2025-04-30 21:17 ` Mark Thompson
2025-04-30 21:18   ` James Almer
2025-04-30 21:22   ` [FFmpeg-devel] [PATCH v2] " James Almer
2025-04-30 22:13     ` Mark Thompson

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