#include "common.h"#include "avcodec.h"

Go to the source code of this file.
Data Structures | |
| struct | DSPContext |
| struct | FFTComplex |
| struct | FFTContext |
| struct | MDCTContext |
Defines | |
| #define | MAX_NEG_CROP 1024 |
| #define | DEF_OLD_QPEL(name) |
| #define | CALL_2X_PIXELS(a, b, n) |
| #define | FF_NO_IDCT_PERM 1 |
| #define | FF_LIBMPEG2_IDCT_PERM 2 |
| #define | FF_SIMPLE_IDCT_PERM 3 |
| #define | FF_TRANSPOSE_IDCT_PERM 4 |
| #define | FF_PARTTRANS_IDCT_PERM 5 |
| #define | BASIS_SHIFT 16 |
| #define | RECON_SHIFT 6 |
| #define | BYTE_VEC32(c) ((c)*0x01010101UL) |
| #define | emms_c() |
| #define | __align16 __attribute__ ((aligned (16))) |
| #define | __align8 __attribute__ ((aligned (8))) |
| #define | STRIDE_ALIGN 8 |
| #define | LD16(a) (*((uint16_t*)(a))) |
| #define | LD32(a) (*((uint32_t*)(a))) |
| #define | LD64(a) (*((uint64_t*)(a))) |
| #define | ST32(a, b) *((uint32_t*)(a)) = (b) |
| #define | WARPER8_16(name8, name16) |
| #define | WARPER8_16_SQ(name8, name16) |
Typedefs | |
| typedef short | DCTELEM |
| typedef void(* | op_pixels_func )(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
| typedef void(* | tpel_mc_func )(uint8_t *block, const uint8_t *pixels, int line_size, int w, int h) |
| typedef void(* | qpel_mc_func )(uint8_t *dst, uint8_t *src, int stride) |
| typedef void(* | h264_chroma_mc_func )(uint8_t *dst, uint8_t *src, int srcStride, int h, int x, int y) |
| typedef void(* | h264_weight_func )(uint8_t *block, int stride, int log2_denom, int weight, int offset) |
| typedef void(* | h264_biweight_func )(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offsetd, int offsets) |
| typedef int(* | me_cmp_func )(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
| typedef float | FFTSample |
Functions | |
| void | fdct_ifast (DCTELEM *data) |
| void | fdct_ifast248 (DCTELEM *data) |
| void | ff_jpeg_fdct_islow (DCTELEM *data) |
| void | ff_fdct248_islow (DCTELEM *data) |
| void | j_rev_dct (DCTELEM *data) |
| void | j_rev_dct4 (DCTELEM *data) |
| void | j_rev_dct2 (DCTELEM *data) |
| void | j_rev_dct1 (DCTELEM *data) |
| void | ff_fdct_mmx (DCTELEM *block) |
| void | ff_fdct_mmx2 (DCTELEM *block) |
| void | ff_fdct_sse2 (DCTELEM *block) |
| void | ff_h264_idct8_add_c (uint8_t *dst, DCTELEM *block, int stride) |
| void | ff_h264_idct_add_c (uint8_t *dst, DCTELEM *block, int stride) |
| void | ff_h264_lowres_idct_add_c (uint8_t *dst, int stride, DCTELEM *block) |
| void | ff_h264_lowres_idct_put_c (uint8_t *dst, int stride, DCTELEM *block) |
| void | ff_vp3_idct_c (DCTELEM *block) |
| void | ff_vp3_idct_put_c (uint8_t *dest, int line_size, DCTELEM *block) |
| void | ff_vp3_idct_add_c (uint8_t *dest, int line_size, DCTELEM *block) |
| void | dsputil_static_init (void) |
| void | dsputil_init (DSPContext *p, AVCodecContext *avctx) |
| void | ff_block_permute (DCTELEM *block, uint8_t *permutation, const uint8_t *scantable, int last) |
| void | ff_set_cmp (DSPContext *c, me_cmp_func *cmp, int type) |
| static uint32_t | rnd_avg32 (uint32_t a, uint32_t b) |
| static uint32_t | no_rnd_avg32 (uint32_t a, uint32_t b) |
| static int | get_penalty_factor (int lambda, int lambda2, int type) |
| int | mm_support (void) |
| void | get_psnr (uint8_t *orig_image[3], uint8_t *coded_image[3], int orig_linesize[3], int coded_linesize, AVCodecContext *avctx) |
| int | ff_fft_init (FFTContext *s, int nbits, int inverse) |
| void | ff_fft_permute (FFTContext *s, FFTComplex *z) |
| void | ff_fft_calc_c (FFTContext *s, FFTComplex *z) |
| void | ff_fft_calc_sse (FFTContext *s, FFTComplex *z) |
| void | ff_fft_calc_altivec (FFTContext *s, FFTComplex *z) |
| static void | ff_fft_calc (FFTContext *s, FFTComplex *z) |
| void | ff_fft_end (FFTContext *s) |
| int | ff_mdct_init (MDCTContext *s, int nbits, int inverse) |
| void | ff_imdct_calc (MDCTContext *s, FFTSample *output, const FFTSample *input, FFTSample *tmp) |
| void | ff_mdct_calc (MDCTContext *s, FFTSample *out, const FFTSample *input, FFTSample *tmp) |
| void | ff_mdct_end (MDCTContext *s) |
| static always_inline long int | lrintf (float x) |
Variables | |
| const uint8_t | ff_alternate_horizontal_scan [64] |
| const uint8_t | ff_alternate_vertical_scan [64] |
| const uint8_t | ff_zigzag_direct [64] |
| const uint8_t | ff_zigzag248_direct [64] |
| uint32_t | squareTbl [512] |
| uint8_t | cropTbl [256+2 *MAX_NEG_CROP] |
Definition in file dsputil.h.
| #define __align16 __attribute__ ((aligned (16))) |
| #define __align8 __attribute__ ((aligned (8))) |
Definition at line 496 of file dsputil.h.
Referenced by bit8x8_c(), dct_max8x8_c(), dct_quantize(), dct_sad8x8_c(), dv_decode_video_segment(), dv_encode_video_segment(), H264_CHROMA_MC8_TMPL(), quant_psnr8x8_c(), and rd8x8_c().
| #define BASIS_SHIFT 16 |
Definition at line 327 of file dsputil.h.
Referenced by add_8x8basis_c(), add_8x8basis_mmx(), try_8x8basis_c(), and try_8x8basis_mmx().
| #define DEF_OLD_QPEL | ( | name | ) |
Value:
void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ void ff_put_no_rnd_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ void ff_avg_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);
| #define emms_c | ( | ) |
Empty mmx state. this must be called between any dsp function and float/double code. for example sin(); dsp->idct_put(); emms_c(); cos()
Definition at line 385 of file dsputil.h.
Referenced by avcodec_decode_video(), avcodec_encode_video(), decode_frame(), draw_slice(), dvvideo_decode_frame(), dvvideo_encode_frame(), encode_frame(), ff_draw_horiz_band(), ff_faandct(), ff_faandct248(), ff_rate_control_init(), ff_rate_control_uninit(), ff_rate_estimate_qscale(), mjpeg_decode_sos(), mpeg_decode_frame(), MPV_frame_end(), render_fragments(), render_slice(), and slice_decode_thread().
| #define FF_LIBMPEG2_IDCT_PERM 2 |
Definition at line 320 of file dsputil.h.
Referenced by dct_quantize(), dsputil_init(), dsputil_init_armv4l(), dsputil_init_mmi(), and dsputil_init_mmx().
| #define FF_NO_IDCT_PERM 1 |
Definition at line 319 of file dsputil.h.
Referenced by dct_quantize_altivec(), dsputil_init(), dsputil_init_armv4l(), dsputil_init_ppc(), dsputil_init_sh4(), MPV_common_init_mlib(), and MPV_common_init_ppc().
| #define FF_PARTTRANS_IDCT_PERM 5 |
| #define FF_SIMPLE_IDCT_PERM 3 |
Definition at line 321 of file dsputil.h.
Referenced by dct_quantize(), dsputil_init(), and dsputil_init_mmx().
| #define FF_TRANSPOSE_IDCT_PERM 4 |
Definition at line 322 of file dsputil.h.
Referenced by dct_quantize_altivec(), dsputil_init(), dsputil_init_mmx(), dsputil_init_ppc(), and MPV_common_init_ppc().
Definition at line 516 of file dsputil.h.
Referenced by avg_pixels16_altivec(), copy_block16(), copy_block17(), copy_block4(), copy_block8(), copy_block9(), and put_pixels16_altivec().
| #define MAX_NEG_CROP 1024 |
Definition at line 65 of file dsputil.h.
Referenced by add_pixels_clamped2_c(), add_pixels_clamped4_c(), add_pixels_clamped_c(), deinterlace_line(), deinterlace_line_inplace(), dsputil_static_init(), dvbsub_init_decoder(), ff_h264_idct8_add_c(), ff_idct_put_mlib(), ff_jref_idct1_add(), ff_jref_idct1_put(), h_block_filter(), idct(), idct4col(), idct4col_add(), idct_add(), idct_internal(), idct_put(), idctSparseColAdd(), idctSparseColPut(), img_convert_init(), main(), pred16x16_plane_compat_c(), pred8x8_plane_c(), put_pixels_clamped2_c(), put_pixels_clamped4_c(), put_pixels_clamped_c(), svq3_add_idct_c(), v_block_filter(), wmv2_mspel8_h_lowpass(), and wmv2_mspel8_v_lowpass().
| #define RECON_SHIFT 6 |
Definition at line 328 of file dsputil.h.
Referenced by add_8x8basis_c(), add_8x8basis_mmx(), try_8x8basis_c(), and try_8x8basis_mmx().
Definition at line 519 of file dsputil.h.
Referenced by copy_block16(), copy_block17(), copy_block4(), copy_block8(), and copy_block9().
| #define STRIDE_ALIGN 8 |
Definition at line 497 of file dsputil.h.
Referenced by avcodec_default_get_buffer(), and fill_rectangle().
| #define WARPER8_16 | ( | name8, | |||
| name16 | ) |
| #define WARPER8_16_SQ | ( | name8, | |||
| name16 | ) |
Value:
static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int stride, int h){\ int score=0;\ score +=name8(s, dst , src , stride, 8);\ score +=name8(s, dst+8 , src+8 , stride, 8);\ if(h==16){\ dst += 8*stride;\ src += 8*stride;\ score +=name8(s, dst , src , stride, 8);\ score +=name8(s, dst+8 , src+8 , stride, 8);\ }\ return score;\ }
| typedef void(* h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offsetd, int offsets) |
| typedef void(* h264_chroma_mc_func)(uint8_t *dst, uint8_t *src, int srcStride, int h, int x, int y) |
| typedef void(* h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset) |
| typedef int(* me_cmp_func)(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
| typedef void(* op_pixels_func)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
| typedef void(* qpel_mc_func)(uint8_t *dst, uint8_t *src, int stride) |
| typedef void(* tpel_mc_func)(uint8_t *block, const uint8_t *pixels, int line_size, int w, int h) |
| void dsputil_init | ( | DSPContext * | p, | |
| AVCodecContext * | avctx | |||
| ) |
Definition at line 3660 of file dsputil.c.
References DSPContext::add_8x8basis, add_8x8basis_c(), DSPContext::add_bytes, add_bytes_c(), DSPContext::add_pixels4, add_pixels4_c(), DSPContext::add_pixels8, add_pixels8_c(), DSPContext::add_pixels_clamped, add_pixels_clamped_c(), av_log(), AV_LOG_ERROR, avg, DSPContext::avg_h264_chroma_pixels_tab, avg_tpel_pixels_mc00_c(), avg_tpel_pixels_mc01_c(), avg_tpel_pixels_mc02_c(), avg_tpel_pixels_mc10_c(), avg_tpel_pixels_mc11_c(), avg_tpel_pixels_mc12_c(), avg_tpel_pixels_mc20_c(), avg_tpel_pixels_mc21_c(), avg_tpel_pixels_mc22_c(), DSPContext::avg_tpel_pixels_tab, DSPContext::biweight_h264_pixels_tab, bswap_buf(), DSPContext::bswap_buf, DSPContext::clear_blocks, clear_blocks_c(), AVCodecContext::dct_algo, DSPContext::diff_bytes, diff_bytes_c(), DSPContext::diff_pixels, diff_pixels_c(), dspfunc, dsputil_init_alpha(), dsputil_init_armv4l(), dsputil_init_mlib(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), DSPContext::fdct, DSPContext::fdct248, fdct_ifast(), fdct_ifast248(), FF_DCT_FAAN, FF_DCT_FASTINT, ff_faandct(), ff_faandct248(), ff_fdct248_islow(), ff_h264_idct8_add_c(), ff_h264_idct_add_c(), ff_h264_lowres_idct_add_c(), ff_h264_lowres_idct_put_c(), FF_IDCT_AUTO, FF_IDCT_INT, FF_IDCT_VP3, ff_jpeg_fdct_islow(), ff_jref_idct1_add(), ff_jref_idct1_put(), ff_jref_idct2_add(), ff_jref_idct2_put(), ff_jref_idct4_add(), ff_jref_idct4_put(), ff_jref_idct_add(), ff_jref_idct_put(), FF_LIBMPEG2_IDCT_PERM, FF_NO_IDCT_PERM, FF_PARTTRANS_IDCT_PERM, FF_SIMPLE_IDCT_PERM, FF_TRANSPOSE_IDCT_PERM, ff_vp3_idct_add_c(), ff_vp3_idct_c(), ff_vp3_idct_put_c(), DSPContext::get_pixels, get_pixels_c(), DSPContext::gmc, DSPContext::gmc1, gmc1_c(), gmc_c(), DSPContext::h261_loop_filter, h261_loop_filter_c(), DSPContext::h263_h_loop_filter, h263_h_loop_filter_c(), DSPContext::h263_v_loop_filter, h263_v_loop_filter_c(), DSPContext::h264_h_loop_filter_chroma, h264_h_loop_filter_chroma_c(), DSPContext::h264_h_loop_filter_chroma_intra, h264_h_loop_filter_chroma_intra_c(), DSPContext::h264_h_loop_filter_luma, h264_h_loop_filter_luma_c(), DSPContext::h264_idct8_add, DSPContext::h264_idct_add, DSPContext::h264_v_loop_filter_chroma, h264_v_loop_filter_chroma_c(), DSPContext::h264_v_loop_filter_chroma_intra, h264_v_loop_filter_chroma_intra_c(), DSPContext::h264_v_loop_filter_luma, h264_v_loop_filter_luma_c(), DSPContext::hadamard8_diff, DSPContext::idct, DSPContext::idct_add, AVCodecContext::idct_algo, DSPContext::idct_permutation, DSPContext::idct_permutation_type, DSPContext::idct_put, j_rev_dct(), j_rev_dct1(), j_rev_dct2(), j_rev_dct4(), AVCodecContext::lowres, DSPContext::nsse, nsse16_c(), nsse8_c(), DSPContext::pix_abs, pix_abs16_c(), pix_abs16_x2_c(), pix_abs16_xy2_c(), pix_abs16_y2_c(), pix_abs8_c(), pix_abs8_x2_c(), pix_abs8_xy2_c(), pix_abs8_y2_c(), DSPContext::pix_norm1, pix_norm1_c(), DSPContext::pix_sum, pix_sum_c(), DSPContext::put_h264_chroma_pixels_tab, put_mspel8_mc00_c(), put_mspel8_mc02_c(), put_mspel8_mc10_c(), put_mspel8_mc12_c(), put_mspel8_mc20_c(), put_mspel8_mc22_c(), put_mspel8_mc30_c(), put_mspel8_mc32_c(), DSPContext::put_mspel_pixels_tab, put_no_rnd_pixels16_l2_c(), put_no_rnd_pixels8_l2_c(), DSPContext::put_no_rnd_pixels_l2, DSPContext::put_pixels_clamped, put_pixels_clamped_c(), DSPContext::put_signed_pixels_clamped, put_signed_pixels_clamped_c(), put_tpel_pixels_mc00_c(), put_tpel_pixels_mc01_c(), put_tpel_pixels_mc02_c(), put_tpel_pixels_mc10_c(), put_tpel_pixels_mc11_c(), put_tpel_pixels_mc12_c(), put_tpel_pixels_mc20_c(), put_tpel_pixels_mc21_c(), put_tpel_pixels_mc22_c(), DSPContext::put_tpel_pixels_tab, DSPContext::sad, SET_CMP_FUNC, simple_idct(), simple_idct_add(), simple_idct_put(), simple_mmx_permutation, DSPContext::sse, sse16_c(), sse4_c(), sse8_c(), DSPContext::sub_hfyu_median_prediction, sub_hfyu_median_prediction_c(), DSPContext::try_8x8basis, try_8x8basis_c(), DSPContext::vsad, vsad16_c(), vsad_intra16_c(), DSPContext::vsse, vsse16_c(), vsse_intra16_c(), DSPContext::w53, w53_16_c(), w53_8_c(), DSPContext::w97, w97_16_c(), w97_8_c(), and DSPContext::weight_h264_pixels_tab.
Referenced by cinepak_decode_init(), common_init(), dvvideo_init(), idcin_decode_init(), ipvideo_decode_init(), mdec_common_init(), mjpeg_decode_init(), MPV_common_init(), msvideo1_decode_init(), qtrle_decode_init(), roq_decode_init(), rpza_decode_init(), smc_decode_init(), vmdvideo_decode_init(), vp3_decode_init(), vqa_decode_init(), and xan_decode_init().
| void dsputil_static_init | ( | void | ) |
Definition at line 3642 of file dsputil.c.
References cropTbl, ff_zigzag_direct, inv_zigzag_direct16, MAX_NEG_CROP, and squareTbl.
Referenced by avcodec_init().
| void fdct_ifast | ( | DCTELEM * | data | ) |
Definition at line 179 of file jfdctfst.c.
References DCTSIZE, FIX_0_382683433, FIX_0_541196100, FIX_0_707106781, FIX_1_306562965, MULTIPLY, row_fdct(), and SHIFT_TEMPS.
Referenced by dct_error(), dsputil_init(), and main().

| void fdct_ifast248 | ( | DCTELEM * | data | ) |
Definition at line 246 of file jfdctfst.c.
References DCTSIZE, FIX_0_707106781, MULTIPLY, row_fdct(), and SHIFT_TEMPS.
Referenced by dsputil_init().

| void ff_block_permute | ( | DCTELEM * | block, | |
| uint8_t * | permutation, | |||
| const uint8_t * | scantable, | |||
| int | last | |||
| ) |
permute block according to permuatation.
| last | last non zero element in scantable order |
| block | the block which will be permuted according to the given permutation vector | |
| permutation | the permutation vector | |
| last | the last non zero coefficient in scantable order, used to speed the permutation up | |
| scantable | the used scantable, this is only used to speed the permutation up, the block is not (inverse) permutated to scantable order! |
Definition at line 3072 of file dsputil.c.
Referenced by dct_quantize_altivec().
| void ff_fdct248_islow | ( | DCTELEM * | data | ) |
Definition at line 316 of file jfdctint.c.
References CONST_BITS, DCTSIZE, DESCALE, FIX_0_541196100, FIX_0_765366865, FIX_1_847759065, MULTIPLY, PASS1_BITS, row_fdct(), and SHIFT_TEMPS.
Referenced by dsputil_init().

| void ff_fdct_mmx | ( | DCTELEM * | block | ) |
Referenced by dsputil_init_mmx(), and main().
| void ff_fdct_mmx2 | ( | DCTELEM * | block | ) |
Referenced by dsputil_init_mmx(), and main().
| void ff_fdct_sse2 | ( | DCTELEM * | block | ) |
Referenced by dsputil_init_mmx().
| static void ff_fft_calc | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) | [inline, static] |
Definition at line 553 of file dsputil.h.
References FFTContext::fft_calc.
Referenced by ff_imdct_calc(), ff_mdct_calc(), and main().
| void ff_fft_calc_altivec | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) |
Do a complex FFT with the parameters defined in ff_fft_init(). The input data must be permuted before with s->revtab table. No 1.0/sqrt(n) normalization is done. AltiVec-enabled This code assumes that the 'z' pointer is 16 bytes-aligned It also assumes all FFTComplex are 8 bytes-aligned pair of float The code is exactly the same as the SSE version, except that successive MUL + ADD/SUB have been merged into fused multiply-add ('vec_madd' in altivec)
Definition at line 63 of file fft_altivec.c.
References a, a1, b, BF, c, c1, c2, CMUL, FFTContext::exptab, exptab, FFTContext::exptab1, FFTComplex::im, FFTContext::inverse, FFTContext::nbits, POWERPC_PERF_DECLARE, POWERPC_PERF_START_COUNT, POWERPC_PERF_STOP_COUNT, r, FFTComplex::re, and t1.
Referenced by ff_fft_init().
| void ff_fft_calc_c | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) |
Do a complex FFT with the parameters defined in ff_fft_init(). The input data must be permuted before with s->revtab table. No 1.0/sqrt(n) normalization is done.
Definition at line 149 of file fft.c.
References BF, CMUL, FFTContext::exptab, exptab, FFTComplex::im, FFTContext::inverse, FFTContext::nbits, and FFTComplex::re.
Referenced by ff_fft_init().
| void ff_fft_calc_sse | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) |
Referenced by ff_fft_init().
| void ff_fft_end | ( | FFTContext * | s | ) |
Definition at line 244 of file fft.c.
References av_freep(), FFTContext::exptab, FFTContext::exptab1, and FFTContext::revtab.
Referenced by ff_mdct_end(), and main().

| int ff_fft_init | ( | FFTContext * | s, | |
| int | nbits, | |||
| int | inverse | |||
| ) |
The size of the FFT is 2^nbits. If inverse is TRUE, inverse FFT is done
Definition at line 31 of file fft.c.
References av_freep(), av_malloc(), c1, FFTContext::exptab, FFTContext::exptab1, ff_fft_calc_altivec(), ff_fft_calc_c(), ff_fft_calc_sse(), FFTContext::fft_calc, FFTComplex::im, FFTContext::inverse, M_PI, mm_support(), FFTContext::nbits, NULL, FFTComplex::re, FFTContext::revtab, s1, and s2.
Referenced by ff_mdct_init(), and main().

| void ff_fft_permute | ( | FFTContext * | s, | |
| FFTComplex * | z | |||
| ) |
Do the permutation needed BEFORE calling ff_fft_calc()
Definition at line 226 of file fft.c.
References FFTContext::nbits, and FFTContext::revtab.
Referenced by main().
| void ff_h264_idct8_add_c | ( | uint8_t * | dst, | |
| DCTELEM * | block, | |||
| int | stride | |||
| ) |
Definition at line 72 of file h264idct.c.
References a0, a1, a2, a3, a4, a5, cm, cropTbl, MAX_NEG_CROP, and src.
Referenced by dsputil_init().
| void ff_h264_idct_add_c | ( | uint8_t * | dst, | |
| DCTELEM * | block, | |||
| int | stride | |||
| ) |
Definition at line 60 of file h264idct.c.
References idct_internal().
Referenced by decode_slice_header(), and dsputil_init().

| void ff_h264_lowres_idct_add_c | ( | uint8_t * | dst, | |
| int | stride, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 64 of file h264idct.c.
References idct_internal().
Referenced by dsputil_init().

| void ff_h264_lowres_idct_put_c | ( | uint8_t * | dst, | |
| int | stride, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 68 of file h264idct.c.
References idct_internal().
Referenced by dsputil_init().

| void ff_imdct_calc | ( | MDCTContext * | s, | |
| FFTSample * | output, | |||
| const FFTSample * | input, | |||
| FFTSample * | tmp | |||
| ) |
Compute inverse MDCT of size N = 2^nbits
| output | N samples | |
| input | N/2 samples | |
| tmp | N/2 samples |
Definition at line 77 of file mdct.c.
References CMUL, ff_fft_calc(), MDCTContext::fft, FFTComplex::im, MDCTContext::nbits, FFTComplex::re, FFTContext::revtab, MDCTContext::tcos, and MDCTContext::tsin.
Referenced by main(), vorbis_parse_audio_packet(), and wma_decode_block().

| void ff_jpeg_fdct_islow | ( | DCTELEM * | data | ) |
Definition at line 229 of file jfdctint.c.
References CONST_BITS, DCTSIZE, DESCALE, FIX_0_298631336, FIX_0_390180644, FIX_0_541196100, FIX_0_765366865, FIX_0_899976223, FIX_1_175875602, FIX_1_501321110, FIX_1_847759065, FIX_1_961570560, FIX_2_053119869, FIX_2_562915447, FIX_3_072711026, MULTIPLY, PASS1_BITS, row_fdct(), and SHIFT_TEMPS.
Referenced by dsputil_init(), fdct_altivec(), and main().

| void ff_mdct_calc | ( | MDCTContext * | s, | |
| FFTSample * | out, | |||
| const FFTSample * | input, | |||
| FFTSample * | tmp | |||
| ) |
Compute MDCT of size N = 2^nbits
| input | N samples | |
| out | N/2 samples | |
| tmp | temporary storage of N/2 samples |
Definition at line 129 of file mdct.c.
References CMUL, ff_fft_calc(), MDCTContext::fft, FFTComplex::im, MDCTContext::nbits, FFTComplex::re, FFTContext::revtab, MDCTContext::tcos, and MDCTContext::tsin.
Referenced by main().

| void ff_mdct_end | ( | MDCTContext * | s | ) |
Definition at line 170 of file mdct.c.
References av_freep(), ff_fft_end(), MDCTContext::fft, MDCTContext::tcos, and MDCTContext::tsin.
Referenced by main(), vorbis_free(), and wma_decode_end().

| int ff_mdct_init | ( | MDCTContext * | s, |