[FFmpeg-devel] [PATCH 2/3] avcodec/dct: Move fdct function declarations to fdctdsp.h

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Jul 29 03:25:51 EEST 2023


Andreas Rheinhardt:
> It is the more proper place for them given that this is
> the only API using them.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavcodec/asvenc.c            | 1 -
>  libavcodec/dct.h               | 7 -------
>  libavcodec/fdctdsp.c           | 1 -
>  libavcodec/fdctdsp.h           | 7 +++++++
>  libavcodec/jfdctfst.c          | 2 +-
>  libavcodec/jfdctint_template.c | 2 +-
>  libavcodec/mpegvideo_enc.c     | 1 -
>  libavcodec/tests/dct.c         | 1 +
>  8 files changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
> index 4a14bcf8fa..50da46738c 100644
> --- a/libavcodec/asvenc.c
> +++ b/libavcodec/asvenc.c
> @@ -33,7 +33,6 @@
>  #include "asv.h"
>  #include "avcodec.h"
>  #include "codec_internal.h"
> -#include "dct.h"
>  #include "encode.h"
>  #include "fdctdsp.h"
>  #include "mpeg12data.h"
> diff --git a/libavcodec/dct.h b/libavcodec/dct.h
> index 041e8169ce..05bff51580 100644
> --- a/libavcodec/dct.h
> +++ b/libavcodec/dct.h
> @@ -52,13 +52,6 @@ void ff_dct_end (DCTContext *s);
>  
>  void ff_dct_init_x86(DCTContext *s);
>  
> -void ff_fdct_ifast(int16_t *data);
> -void ff_fdct_ifast248(int16_t *data);
> -void ff_jpeg_fdct_islow_8(int16_t *data);
> -void ff_jpeg_fdct_islow_10(int16_t *data);
> -void ff_fdct248_islow_8(int16_t *data);
> -void ff_fdct248_islow_10(int16_t *data);
> -
>  void ff_j_rev_dct(int16_t *data);
>  void ff_j_rev_dct4(int16_t *data);
>  void ff_j_rev_dct2(int16_t *data);
> diff --git a/libavcodec/fdctdsp.c b/libavcodec/fdctdsp.c
> index 5306c9d047..f8ba17426c 100644
> --- a/libavcodec/fdctdsp.c
> +++ b/libavcodec/fdctdsp.c
> @@ -18,7 +18,6 @@
>  
>  #include "libavutil/attributes.h"
>  #include "avcodec.h"
> -#include "dct.h"
>  #include "faandct.h"
>  #include "fdctdsp.h"
>  #include "config.h"
> diff --git a/libavcodec/fdctdsp.h b/libavcodec/fdctdsp.h
> index 3e1f683b9e..82edf8b3bb 100644
> --- a/libavcodec/fdctdsp.h
> +++ b/libavcodec/fdctdsp.h
> @@ -34,4 +34,11 @@ void ff_fdctdsp_init_ppc(FDCTDSPContext *c, AVCodecContext *avctx,
>  void ff_fdctdsp_init_x86(FDCTDSPContext *c, AVCodecContext *avctx,
>                           unsigned high_bit_depth);
>  
> +void ff_fdct_ifast(int16_t *data);
> +void ff_fdct_ifast248(int16_t *data);
> +void ff_jpeg_fdct_islow_8(int16_t *data);
> +void ff_jpeg_fdct_islow_10(int16_t *data);
> +void ff_fdct248_islow_8(int16_t *data);
> +void ff_fdct248_islow_10(int16_t *data);
> +
>  #endif /* AVCODEC_FDCTDSP_H */
> diff --git a/libavcodec/jfdctfst.c b/libavcodec/jfdctfst.c
> index 805e05808c..946b12f379 100644
> --- a/libavcodec/jfdctfst.c
> +++ b/libavcodec/jfdctfst.c
> @@ -68,7 +68,7 @@
>  
>  #include <stdint.h>
>  #include "libavutil/attributes.h"
> -#include "dct.h"
> +#include "fdctdsp.h"
>  
>  #define DCTSIZE 8
>  #define GLOBAL(x) x
> diff --git a/libavcodec/jfdctint_template.c b/libavcodec/jfdctint_template.c
> index 67fb77b5e1..ca17300c32 100644
> --- a/libavcodec/jfdctint_template.c
> +++ b/libavcodec/jfdctint_template.c
> @@ -60,7 +60,7 @@
>   */
>  
>  #include "libavutil/common.h"
> -#include "dct.h"
> +#include "fdctdsp.h"
>  
>  #include "bit_depth_template.c"
>  
> diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
> index 9bdf5dbe07..64e66ae958 100644
> --- a/libavcodec/mpegvideo_enc.c
> +++ b/libavcodec/mpegvideo_enc.c
> @@ -43,7 +43,6 @@
>  #include "libavutil/opt.h"
>  #include "libavutil/thread.h"
>  #include "avcodec.h"
> -#include "dct.h"
>  #include "encode.h"
>  #include "idctdsp.h"
>  #include "mpeg12codecs.h"
> diff --git a/libavcodec/tests/dct.c b/libavcodec/tests/dct.c
> index c847af2f11..e8d0b8dd1d 100644
> --- a/libavcodec/tests/dct.c
> +++ b/libavcodec/tests/dct.c
> @@ -43,6 +43,7 @@
>  #include "libavutil/time.h"
>  
>  #include "libavcodec/dct.h"
> +#include "libavcodec/fdctdsp.h"
>  #include "libavcodec/idctdsp.h"
>  #include "libavcodec/simple_idct.h"
>  #include "libavcodec/xvididct.h"

Will apply the last two patches of this patchset (with the small change
to use a forward declaration for AVCodecContext in fdctdsp.h to avoid
including avcodec.h unnecessarily -- it would incur an unnecessary
dependency on avcodec.h for e.g. jfdctfst.c).

- Andreas



More information about the ffmpeg-devel mailing list