19 #ifndef AVCODEC_IDCTDSP_H 20 #define AVCODEC_IDCTDSP_H 32 const uint8_t *scantable;
33 uint8_t permutated[64];
34 uint8_t raster_end[64];
37 enum idct_permutation_type {
39 FF_IDCT_PERM_LIBMPEG2,
41 FF_IDCT_PERM_TRANSPOSE,
42 FF_IDCT_PERM_PARTTRANS,
46 void ff_init_scantable(uint8_t *permutation,
ScanTable *st,
47 const uint8_t *src_scantable);
48 void ff_init_scantable_permutation(uint8_t *idct_permutation,
49 enum idct_permutation_type perm_type);
50 int ff_init_scantable_permutation_x86(uint8_t *idct_permutation,
51 enum idct_permutation_type perm_type);
55 void (*put_pixels_clamped)(
const int16_t *block ,
56 uint8_t *av_restrict pixels ,
58 void (*put_signed_pixels_clamped)(
const int16_t *block ,
59 uint8_t *av_restrict pixels ,
61 void (*add_pixels_clamped)(
const int16_t *block ,
62 uint8_t *av_restrict pixels ,
65 void (*idct)(int16_t *block );
72 void (*idct_put)(uint8_t *dest ,
73 ptrdiff_t line_size, int16_t *block );
79 void (*idct_add)(uint8_t *dest ,
80 ptrdiff_t line_size, int16_t *block );
96 uint8_t idct_permutation[64];
97 enum idct_permutation_type perm_type;
100 void ff_put_pixels_clamped_c(
const int16_t *block, uint8_t *av_restrict pixels,
101 ptrdiff_t line_size);
102 void ff_add_pixels_clamped_c(
const int16_t *block, uint8_t *av_restrict pixels,
103 ptrdiff_t line_size);
108 unsigned high_bit_depth);
110 unsigned high_bit_depth);
112 unsigned high_bit_depth);
114 unsigned high_bit_depth);
116 unsigned high_bit_depth);
118 unsigned high_bit_depth);
Scantable.
Definition: idctdsp.h:31
Libavcodec external API header.
main external API structure.
Definition: avcodec.h:1518