Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avcodec/codec_internal: remove unnecessary avcodec.h include
@ 2025-02-16 20:50 James Almer
  2025-02-18 15:13 ` Tomas Härdin
  0 siblings, 1 reply; 7+ messages in thread
From: James Almer @ 2025-02-16 20:50 UTC (permalink / raw)
  To: ffmpeg-devel

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/codec_internal.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h
index 5b2db74590..01033f4705 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"
 
@@ -268,7 +267,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 +282,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,
-- 
2.48.1

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-16 20:50 [FFmpeg-devel] [PATCH] avcodec/codec_internal: remove unnecessary avcodec.h include James Almer
@ 2025-02-18 15:13 ` Tomas Härdin
  2025-02-18 15:40   ` [FFmpeg-devel] [PATCH v2] " James Almer
  0 siblings, 1 reply; 7+ messages in thread
From: Tomas Härdin @ 2025-02-18 15:13 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

sön 2025-02-16 klockan 17:50 -0300 skrev James Almer:
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/codec_internal.h | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/codec_internal.h
> b/libavcodec/codec_internal.h
> index 5b2db74590..01033f4705 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"
>  
> @@ -268,7 +267,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 +282,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,

$ ./configure && make clean && nice make -j3

> libavcodec/allcodecs.c: In function 'av_codec_init_static':
> libavcodec/allcodecs.c:940:41: error: 'AV_CODEC_CONFIG_PIX_FORMAT' undeclared (first use in this function)
>                                          AV_CODEC_CONFIG_PIX_FORMAT, 0,
>                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/allcodecs.c:940:41: note: each undeclared identifier is reported only once for each function it appears in
> libavcodec/allcodecs.c:940:41: error: type of formal parameter 3 is incomplete
> libavcodec/allcodecs.c:944:41: error: 'AV_CODEC_CONFIG_FRAME_RATE' undeclared (first use in this function)
>                                          AV_CODEC_CONFIG_FRAME_RATE, 0,
>                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/allcodecs.c:944:41: error: type of formal parameter 3 is incomplete
> libavcodec/allcodecs.c:950:41: error: 'AV_CODEC_CONFIG_SAMPLE_FORMAT' undeclared (first use in this function)
>                                          AV_CODEC_CONFIG_SAMPLE_FORMAT, 0,
>                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/allcodecs.c:950:41: error: type of formal parameter 3 is incomplete
> libavcodec/allcodecs.c:954:41: error: 'AV_CODEC_CONFIG_SAMPLE_RATE' undeclared (first use in this function)
>                                          AV_CODEC_CONFIG_SAMPLE_RATE, 0,
>                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/allcodecs.c:954:41: error: type of formal parameter 3 is incomplete
> libavcodec/allcodecs.c:958:41: error: 'AV_CODEC_CONFIG_CHANNEL_LAYOUT' undeclared (first use in this function)
>                                          AV_CODEC_CONFIG_CHANNEL_LAYOUT, 0,
>                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/allcodecs.c:958:41: error: type of formal parameter 3 is incomplete

/Tomas
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [FFmpeg-devel] [PATCH v2] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-18 15:13 ` Tomas Härdin
@ 2025-02-18 15:40   ` James Almer
  2025-02-28 10:43     ` Andreas Rheinhardt
  0 siblings, 1 reply; 7+ messages in thread
From: James Almer @ 2025-02-18 15:40 UTC (permalink / raw)
  To: ffmpeg-devel

Signed-off-by: James Almer <jamrial@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;
 
 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,
-- 
2.48.1

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-18 15:40   ` [FFmpeg-devel] [PATCH v2] " James Almer
@ 2025-02-28 10:43     ` Andreas Rheinhardt
  2025-02-28 12:25       ` James Almer
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Rheinhardt @ 2025-02-28 10:43 UTC (permalink / raw)
  To: ffmpeg-devel

James Almer:
> Signed-off-by: James Almer <jamrial@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.

>  
>  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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-28 10:43     ` Andreas Rheinhardt
@ 2025-02-28 12:25       ` James Almer
  2025-02-28 13:00         ` Andreas Rheinhardt
  0 siblings, 1 reply; 7+ messages in thread
From: James Almer @ 2025-02-28 12:25 UTC (permalink / raw)
  To: ffmpeg-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 2987 bytes --]

On 2/28/2025 7:43 AM, Andreas Rheinhardt wrote:
> James Almer:
>> Signed-off-by: James Almer <jamrial@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?

> 
>>   
>>   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".


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-28 12:25       ` James Almer
@ 2025-02-28 13:00         ` Andreas Rheinhardt
  2025-02-28 13:44           ` James Almer
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Rheinhardt @ 2025-02-28 13:00 UTC (permalink / raw)
  To: ffmpeg-devel

James Almer:
> On 2/28/2025 7:43 AM, Andreas Rheinhardt wrote:
>> James Almer:
>>> Signed-off-by: James Almer <jamrial@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-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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/codec_internal: remove unnecessary avcodec.h include
  2025-02-28 13:00         ` Andreas Rheinhardt
@ 2025-02-28 13:44           ` James Almer
  0 siblings, 0 replies; 7+ messages in thread
From: James Almer @ 2025-02-28 13:44 UTC (permalink / raw)
  To: ffmpeg-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 4426 bytes --]

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 <jamrial@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).

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".


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-02-28 13:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-16 20:50 [FFmpeg-devel] [PATCH] avcodec/codec_internal: remove unnecessary avcodec.h include James Almer
2025-02-18 15:13 ` Tomas Härdin
2025-02-18 15:40   ` [FFmpeg-devel] [PATCH v2] " James Almer
2025-02-28 10:43     ` Andreas Rheinhardt
2025-02-28 12:25       ` James Almer
2025-02-28 13:00         ` Andreas Rheinhardt
2025-02-28 13:44           ` James Almer

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git