36 for (
i = 0;
i < 64;
i++) {
37 int j = src_scantable[
i];
42 for (
i = 0;
i < 64;
i++) {
62 for (
i = 0;
i < 64;
i++)
63 idct_permutation[
i] =
i;
66 for (
i = 0;
i < 64;
i++)
67 idct_permutation[
i] = (
i & 0x38) | ((
i & 6) >> 1) | ((
i & 1) << 2);
70 for (
i = 0;
i < 64;
i++)
71 idct_permutation[
i] = ((
i & 7) << 3) | (
i >> 3);
74 for (
i = 0;
i < 64;
i++)
75 idct_permutation[
i] = (
i & 0x24) | ((
i & 3) << 3) | ((
i >> 3) & 3);
79 "Internal error, IDCT permutation not set\n");
89 for (
i = 0;
i < 8;
i++) {
142 for (
i = 0;
i < 8;
i++) {
143 for (j = 0; j < 8; j++) {
146 else if (*
block > 127)
153 pixels += (line_size - 8);
163 for (
i = 0;
i < 8;
i++) {
247 }
else if (avctx->
lowres==2) {
252 }
else if (avctx->
lowres==3) {
261 if (
c->mpeg4_studio_profile) {
Macro definitions for various function/variable attributes.
Libavcodec external API header.
common internal and external API header
#define CONFIG_MPEG4_DECODER
void ff_j_rev_dct2(int16_t *data)
void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_j_rev_dct(int16_t *data)
void ff_j_rev_dct4(int16_t *data)
void ff_j_rev_dct1(int16_t *data)
void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
void ff_faanidct(int16_t block[64])
void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
static void ff_jref_idct4_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
static void add_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pixels, int line_size)
static void ff_jref_idct2_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
av_cold void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable)
av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation, enum idct_permutation_type perm_type)
static void add_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pixels, int line_size)
static void ff_jref_idct2_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
static void put_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pixels, int line_size)
static void ff_jref_idct1_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, ptrdiff_t line_size)
static void ff_jref_idct1_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
static void put_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pixels, int line_size)
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, ptrdiff_t line_size)
static void put_signed_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, ptrdiff_t line_size)
static void ff_jref_idct4_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_idctdsp_init_mips(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
int ff_init_scantable_permutation_x86(uint8_t *idct_permutation, enum idct_permutation_type perm_type)
void ff_idctdsp_init_x86(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
av_cold void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
av_cold void ff_idctdsp_init_aarch64(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
av_cold void ff_idctdsp_init_arm(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
av_cold void ff_idctdsp_init_ppc(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
void ff_simple_idct_int16_8bit(int16_t *block)
void ff_simple_idct_int16_12bit(int16_t *block)
void ff_simple_idct_add_int16_12bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_put_int16_12bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_add_int16_8bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_int16_10bit(int16_t *block)
void ff_simple_idct_put_int16_8bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_add_int16_10bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_put_int16_10bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_put_int32_10bit(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
main external API structure.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
const uint8_t * scantable
av_cold void ff_xvid_idct_init(IDCTDSPContext *c, AVCodecContext *avctx)