[FFmpeg-devel] [PATCH] tools/target_dec_fuzzer: force experimental flag for VVC

Michael Niedermayer michael at niedermayer.cc
Fri Mar 15 00:57:25 EET 2024


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 at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240314/31403f5b/attachment.sig>


More information about the ffmpeg-devel mailing list