19#ifndef AVCODEC_IDCTDSP_H
20#define AVCODEC_IDCTDSP_H
37 const uint8_t permutation[64]);
46 uint8_t *restrict pixels ,
49 uint8_t *restrict pixels ,
52 uint8_t *restrict pixels ,
63 ptrdiff_t line_size, int16_t *
block );
70 ptrdiff_t line_size, int16_t *
block );
100 unsigned high_bit_depth);
102 unsigned high_bit_depth);
104 unsigned high_bit_depth);
106 unsigned high_bit_depth);
108 unsigned high_bit_depth);
110 unsigned high_bit_depth);
112 unsigned high_bit_depth);
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
void ff_idctdsp_init_arm(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth)
void ff_idctdsp_init_loongarch(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_init_scantable_permutation(uint8_t *idct_permutation, enum idct_permutation_type perm_type)
void ff_idctdsp_init_riscv(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth)
int ff_init_scantable_permutation_x86(uint8_t *idct_permutation, enum idct_permutation_type perm_type)
void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64], const uint8_t permutation[64])
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_ppc(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_put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels, ptrdiff_t line_size)
main external API structure.
void(* add_pixels_clamped)(const int16_t *block, uint8_t *restrict pixels, ptrdiff_t line_size)
void(* put_pixels_clamped)(const int16_t *block, uint8_t *restrict pixels, ptrdiff_t line_size)
void(* idct)(int16_t *block)
void(* idct_add)(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
void(* idct_put)(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
block -> idct -> clip to unsigned 8 bit -> dest.
enum idct_permutation_type perm_type
void(* put_signed_pixels_clamped)(const int16_t *block, uint8_t *restrict pixels, ptrdiff_t line_size)
uint8_t idct_permutation[64]
IDCT input permutation.