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] tools/target_dec_fuzzer: force experimental flag for VVC
@ 2024-03-14 15:43 James Almer
  2024-03-14 22:57 ` Michael Niedermayer
  0 siblings, 1 reply; 2+ messages in thread
From: James Almer @ 2024-03-14 15:43 UTC (permalink / raw)
  To: ffmpeg-devel

Otherwise the decoder will not even open.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 tools/target_dec_fuzzer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c
index 84b646b7f4..459b07070e 100644
--- a/tools/target_dec_fuzzer.c
+++ b/tools/target_dec_fuzzer.c
@@ -176,6 +176,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
     AVCodecParserContext *parser = NULL;
     uint64_t keyframes = 0;
     uint64_t flushpattern = -1;
+    int strict_std_compliance = 0;
     AVDictionary *opts = NULL;
 
     if (!c) {
@@ -307,6 +308,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
     case AV_CODEC_ID_VP6A:        maxpixels  /= 4096;  break;
     case AV_CODEC_ID_VP7:         maxpixels  /= 256;   break;
     case AV_CODEC_ID_VP9:         maxpixels  /= 4096;  break;
+    case AV_CODEC_ID_VVC:         strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;  break;
     case AV_CODEC_ID_WAVPACK:     maxsamples /= 1024;  break;
     case AV_CODEC_ID_WCMV:        maxpixels  /= 1024;  break;
     case AV_CODEC_ID_WMV3IMAGE:   maxpixels  /= 8192;  break;
@@ -333,6 +335,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
 
     ctx->max_samples = maxsamples_per_frame;
     ctx->get_buffer2 = fuzz_get_buffer2;
+    ctx->strict_std_compliance = strict_std_compliance;
 
     if (size > 1024) {
         GetByteContext gbc;
-- 
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] 2+ messages in thread

* Re: [FFmpeg-devel] [PATCH] tools/target_dec_fuzzer: force experimental flag for VVC
  2024-03-14 15:43 [FFmpeg-devel] [PATCH] tools/target_dec_fuzzer: force experimental flag for VVC James Almer
@ 2024-03-14 22:57 ` Michael Niedermayer
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Niedermayer @ 2024-03-14 22:57 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 2169 bytes --]

On Thu, Mar 14, 2024 at 12:43:00PM -0300, James Almer wrote:
> Otherwise the decoder will not even open.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  tools/target_dec_fuzzer.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c
> index 84b646b7f4..459b07070e 100644
> --- a/tools/target_dec_fuzzer.c
> +++ b/tools/target_dec_fuzzer.c
> @@ -176,6 +176,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
>      AVCodecParserContext *parser = NULL;
>      uint64_t keyframes = 0;
>      uint64_t flushpattern = -1;
> +    int strict_std_compliance = 0;
>      AVDictionary *opts = NULL;
>  
>      if (!c) {
> @@ -307,6 +308,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
>      case AV_CODEC_ID_VP6A:        maxpixels  /= 4096;  break;
>      case AV_CODEC_ID_VP7:         maxpixels  /= 256;   break;
>      case AV_CODEC_ID_VP9:         maxpixels  /= 4096;  break;
> +    case AV_CODEC_ID_VVC:         strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;  break;
>      case AV_CODEC_ID_WAVPACK:     maxsamples /= 1024;  break;
>      case AV_CODEC_ID_WCMV:        maxpixels  /= 1024;  break;
>      case AV_CODEC_ID_WMV3IMAGE:   maxpixels  /= 8192;  break;
> @@ -333,6 +335,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
>  
>      ctx->max_samples = maxsamples_per_frame;
>      ctx->get_buffer2 = fuzz_get_buffer2;
> +    ctx->strict_std_compliance = strict_std_compliance;
>  
>      if (size > 1024) {
>          GetByteContext gbc;

I think this should look more like

if( decoder is AV_CODEC_CAP_EXPERIMENTAL && strict_std_compliance too high)
    strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL

i would not expect to see a check for AV_CODEC_ID_VVC in the patch

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
than the original author, trying to rewrite it will not make it better.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 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] 2+ messages in thread

end of thread, other threads:[~2024-03-14 22:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-14 15:43 [FFmpeg-devel] [PATCH] tools/target_dec_fuzzer: force experimental flag for VVC James Almer
2024-03-14 22:57 ` Michael Niedermayer

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