James Almer: > On 2/28/2025 7:43 AM, Andreas Rheinhardt wrote: >> James Almer: >>> Signed-off-by: James Almer <jamr...@gmail.com> >>> --- >>> libavcodec/allcodecs.c | 1 + >>> libavcodec/codec_internal.h | 6 +++--- >>> 2 files changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c >>> index 4e1b1c9b45..3be33f5cc4 100644 >>> --- a/libavcodec/allcodecs.c >>> +++ b/libavcodec/allcodecs.c >>> @@ -29,6 +29,7 @@ >>> #include "config.h" >>> #include "libavutil/thread.h" >>> +#include "avcodec.h" >>> #include "codec.h" >>> #include "codec_id.h" >>> #include "codec_internal.h" >>> diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h >>> index 5b2db74590..473d72fdbb 100644 >>> --- a/libavcodec/codec_internal.h >>> +++ b/libavcodec/codec_internal.h >>> @@ -22,7 +22,6 @@ >>> #include <stdint.h> >>> #include "libavutil/attributes.h" >>> -#include "avcodec.h" >>> #include "codec.h" >>> #include "config.h" >>> @@ -102,6 +101,7 @@ typedef struct FFCodecDefault { >>> struct AVCodecContext; >>> struct AVSubtitle; >>> struct AVPacket; >>> +enum AVCodecConfig; >> >> Forward declaring an enum is not allowed and compilers warn about this >> with -pedantic. The reason for this is that the underlying type of an >> enum may depend upon its enumeration constants and if a compiler did >> this, it would need them to know sizeof of such an enum and offsets in >> structs etc. > > How about replacing the enum in the protoypes below with an int? >
Could be done, but what was actually the aim of removing the inclusion? A quick grep showed that there is only one file where this inclusion actually leads to an indirect inclusion of avcodec.h in a file that didn't have it before (the avcodec.c test). >> >>> enum FFCodecType { >>> /* The codec is a decoder using the decode callback; >>> @@ -268,7 +268,7 @@ typedef struct FFCodec { >>> * ff_default_get_supported_config() will be used. >>> `out_num_configs` will >>> * always be set to a valid pointer. >>> */ >>> - int (*get_supported_config)(const AVCodecContext *avctx, >>> + int (*get_supported_config)(const struct AVCodecContext *avctx, >>> const AVCodec *codec, >>> enum AVCodecConfig config, >>> unsigned flags, >>> @@ -283,7 +283,7 @@ typedef struct FFCodec { >>> * For AVCODEC_CONFIG_COLOR_RANGE, the output will depend on the >>> bitmask in >>> * FFCodec.color_ranges, with a value of 0 returning NULL. >>> */ >>> -int ff_default_get_supported_config(const AVCodecContext *avctx, >>> +int ff_default_get_supported_config(const struct AVCodecContext *avctx, >>> const AVCodec *codec, >>> enum AVCodecConfig config, >>> unsigned flags, >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".