Message ID | 20240314154300.3748-1-jamrial@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] tools/target_dec_fuzzer: force experimental flag for VVC | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
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 [...]
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;
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(+)