[FFmpeg-devel] [PATCH 1/3] avcodec/avcodec: Add codec_tags array to AVCodec

James Almer jamrial at gmail.com
Mon Dec 30 02:19:26 EET 2019


On 12/29/2019 8:38 PM, Michael Niedermayer wrote:
> This allows the fuzzer to target meaningfull codec tags instead
> of hunting the 4gb space, which it seems to have problems with.
> 
> Suggested-by: James
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/avcodec.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 119b32dc1f..b0c6a8f2e3 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -3634,6 +3634,12 @@ typedef struct AVCodec {
>       * The user can only access this field via avcodec_get_hw_config().
>       */
>      const struct AVCodecHWConfigInternal **hw_configs;
> +
> +    /**
> +     * List of supported codec_tags, terminated by CODEC_TAGS_END.
> +     */
> +    const uint32_t *codec_tags;
> +#define CODEC_TAGS_END -1

Why not zero? 0xFFFFFFFF could very well be a valid tag (even if
unlikely), and we always terminate arrays with 0.

Also, should if anything be defined in internal.h, and not in a public
header.

>  } AVCodec;
>  
>  #if FF_API_CODEC_GET_SET
> 



More information about the ffmpeg-devel mailing list