On 2/28/2025 10:00 AM, Andreas Rheinhardt wrote: > James Almer: >> On 2/28/2025 7:43 AM, Andreas Rheinhardt wrote: >>> James Almer: >>>> Signed-off-by: James Almer >>>> --- >>>>   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 >>>>     #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). It was recently added precisely for ff_default_get_supported_config(), so I'd like to undo that. > >>> >>>>     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-request@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-request@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-request@ffmpeg.org with subject "unsubscribe".