From 550a6b4212ca98ccee2d633abaf408d42a3d6187 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 29 Dec 2019 21:22:05 +0100 Subject: [PATCH] avcodec/avcodec: Add codec_tags array to AVCodec 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 --- libavcodec/avcodec.h | 5 +++++ libavcodec/internal.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 4b0e7c0853..774ed1e641 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3644,6 +3644,11 @@ 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 FF_CODEC_TAGS_END. + */ + const uint32_t *codec_tags; } AVCodec; #if FF_API_CODEC_GET_SET diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 5930dd0da0..4188d1c46f 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -69,6 +69,12 @@ */ #define FF_CODEC_CAP_SLICE_THREAD_HAS_MF (1 << 5) +/** + * AVCodec.codec_tags termination value + */ +#define FF_CODEC_TAGS_END -1 + + #ifdef TRACE # define ff_tlog(ctx, ...) av_log(ctx, AV_LOG_TRACE, __VA_ARGS__) #else