diff mbox series

[FFmpeg-devel] tools/target_enc_fuzzer: Add slices and level for FFv1

Message ID 20240811085902.181819-1-michael@niedermayer.cc
State New
Headers show
Series [FFmpeg-devel] tools/target_enc_fuzzer: Add slices and level for FFv1 | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished

Commit Message

Michael Niedermayer Aug. 11, 2024, 8:59 a.m. UTC
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 tools/target_enc_fuzzer.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kacper Michajlow Aug. 12, 2024, 12:06 a.m. UTC | #1
On Sun, 11 Aug 2024 at 10:59, Michael Niedermayer
<michael@niedermayer.cc> wrote:
>
> Sponsored-by: Sovereign Tech Fund
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  tools/target_enc_fuzzer.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/target_enc_fuzzer.c b/tools/target_enc_fuzzer.c
> index 059d7830710..59c2db4bb42 100644
> --- a/tools/target_enc_fuzzer.c
> +++ b/tools/target_enc_fuzzer.c
> @@ -149,6 +149,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
>              av_dict_set_int(&opts, "coder", coder, 0);
>              av_dict_set_int(&opts, "context", bytestream2_get_byte(&gbc)&1, 0);
>              av_dict_set_int(&opts, "slicecrc", bytestream2_get_byte(&gbc)&1, 0);
> +            ctx->slices = bytestream2_get_byte(&gbc);
> +            ctx->level = bytestream2_get_byte(&gbc) % 6 - 1;

Note sure that's correct. Depending on the codec numeric level value
may differ, but generally it has higher value. Like 62 for "6.2" in
h264 case, or 186 for "6.2" for h265 case. I would just remove `% 6 -
1` and let fuzzer find interesting values for each codec.

- Kacper

>              break;}
>          }
>      }
> --
> 2.45.2
>
> _______________________________________________
> 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".
Kacper Michajlow Aug. 12, 2024, 12:33 a.m. UTC | #2
On Mon, 12 Aug 2024 at 02:06, Kacper Michajlow <kasper93@gmail.com> wrote:
>
> On Sun, 11 Aug 2024 at 10:59, Michael Niedermayer
> <michael@niedermayer.cc> wrote:
> >
> > Sponsored-by: Sovereign Tech Fund
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> >  tools/target_enc_fuzzer.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/tools/target_enc_fuzzer.c b/tools/target_enc_fuzzer.c
> > index 059d7830710..59c2db4bb42 100644
> > --- a/tools/target_enc_fuzzer.c
> > +++ b/tools/target_enc_fuzzer.c
> > @@ -149,6 +149,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
> >              av_dict_set_int(&opts, "coder", coder, 0);
> >              av_dict_set_int(&opts, "context", bytestream2_get_byte(&gbc)&1, 0);
> >              av_dict_set_int(&opts, "slicecrc", bytestream2_get_byte(&gbc)&1, 0);
> > +            ctx->slices = bytestream2_get_byte(&gbc);
> > +            ctx->level = bytestream2_get_byte(&gbc) % 6 - 1;
>
> Note sure that's correct. Depending on the codec numeric level value
> may differ, but generally it has higher value. Like 62 for "6.2" in
> h264 case, or 186 for "6.2" for h265 case. I would just remove `% 6 -
> 1` and let fuzzer find interesting values for each codec.

Oh, sorry. From the diff I couldn't see that it is in `case
AV_CODEC_ID_FFV1`, so my remark is invalid. Still might be useful to
also test invalid `level` values.

> - Kacper
>
> >              break;}
> >          }
> >      }
> > --
> > 2.45.2
> >
> > _______________________________________________
> > 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".
diff mbox series

Patch

diff --git a/tools/target_enc_fuzzer.c b/tools/target_enc_fuzzer.c
index 059d7830710..59c2db4bb42 100644
--- a/tools/target_enc_fuzzer.c
+++ b/tools/target_enc_fuzzer.c
@@ -149,6 +149,8 @@  int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
             av_dict_set_int(&opts, "coder", coder, 0);
             av_dict_set_int(&opts, "context", bytestream2_get_byte(&gbc)&1, 0);
             av_dict_set_int(&opts, "slicecrc", bytestream2_get_byte(&gbc)&1, 0);
+            ctx->slices = bytestream2_get_byte(&gbc);
+            ctx->level = bytestream2_get_byte(&gbc) % 6 - 1;
             break;}
         }
     }