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 > --- > 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.