#ifndef AVCODEC_IDCTDSP_H
#define AVCODEC_IDCTDSP_H
#include <stddef.h>
#include <stdint.h>
struct AVCodecContext;
enum idct_permutation_type { … };
void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64],
const uint8_t permutation[64]);
void ff_init_scantable_permutation(uint8_t *idct_permutation,
enum idct_permutation_type perm_type);
int ff_init_scantable_permutation_x86(uint8_t *idct_permutation,
enum idct_permutation_type perm_type);
IDCTDSPContext;
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
ptrdiff_t line_size);
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
ptrdiff_t line_size);
void ff_idctdsp_init(IDCTDSPContext *c, struct AVCodecContext *avctx);
void ff_idctdsp_init_aarch64(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_alpha(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_arm(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_ppc(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_riscv(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_x86(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_mips(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
void ff_idctdsp_init_loongarch(IDCTDSPContext *c, struct AVCodecContext *avctx,
unsigned high_bit_depth);
#endif