Commit a84fe061 authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avcodec/idctdsp: Avoid inclusion of avcodec.h

Not every user of idctdsp.h wants to initialize an IDCTDSPContext;
e.g. the proresdsp only uses ff_init_scantable_permutation()
and the IDCT permutation enum; similarly for cavsdsp and wmv2dsp.
Using a forward declaration here avoids an avcodec.h dependency
in the relevant files.
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
parent 7b0b9a25
......@@ -19,6 +19,7 @@
*/
#include "libavutil/attributes.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "idctdsp_alpha.h"
#include "asm.h"
......
......@@ -19,11 +19,12 @@
#ifndef AVCODEC_IDCTDSP_H
#define AVCODEC_IDCTDSP_H
#include <stddef.h>
#include <stdint.h>
#include "config.h"
#include "avcodec.h"
struct AVCodecContext;
enum idct_permutation_type {
FF_IDCT_PERM_NONE,
......@@ -95,23 +96,23 @@ void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
ptrdiff_t line_size);
void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);
void ff_idctdsp_init(IDCTDSPContext *c, struct AVCodecContext *avctx);
void ff_idctdsp_init_aarch64(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_aarch64(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_alpha(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_arm(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_arm(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_ppc(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_ppc(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_riscv(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_riscv(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_x86(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_x86(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_mips(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_mips(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_loongarch(IDCTDSPContext *c, AVCodecContext *avctx,
void ff_idctdsp_init_loongarch(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
#endif /* AVCODEC_IDCTDSP_H */
......@@ -40,6 +40,7 @@
#include "libavutil/ppc/cpu.h"
#include "libavutil/ppc/util_altivec.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#if HAVE_ALTIVEC
......
......@@ -167,7 +167,7 @@ void ff_rtjpeg_decode_init(RTJpegContext *c, int width, int height,
c->h = height;
}
void ff_rtjpeg_init(RTJpegContext *c, AVCodecContext *avctx)
void ff_rtjpeg_init(RTJpegContext *c, struct AVCodecContext *avctx)
{
int i;
......
......@@ -24,6 +24,7 @@
#include <stdint.h>
#include "libavutil/frame.h"
#include "libavutil/mem_internal.h"
#include "idctdsp.h"
......@@ -39,7 +40,8 @@ typedef struct RTJpegContext {
DECLARE_ALIGNED(16, int16_t, block)[64];
} RTJpegContext;
void ff_rtjpeg_init(RTJpegContext *c, AVCodecContext *avctx);
struct AVCodecContext;
void ff_rtjpeg_init(RTJpegContext *c, struct AVCodecContext *avctx);
void ff_rtjpeg_decode_init(RTJpegContext *c, int width, int height,
const uint32_t *lquant, const uint32_t *cquant);
......
......@@ -22,6 +22,7 @@
#include "checkasm.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "libavutil/common.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment