hvirtual/quicktime/ffmpeg/libavcodec/dsputil.h File Reference

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

Include dependency graph for dsputil.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]


Detailed Description

DSP utils. note, many functions in here may use MMX which trashes the FPU state, it is absolutely necessary to call emms_c() between dsp & float/double code

Definition in file dsputil.h.


Define Documentation

#define __align16   __attribute__ ((aligned (16)))

Definition at line 391 of file dsputil.h.

Referenced by render_fragments(), and render_slice().

#define __align8   __attribute__ ((aligned (8)))

#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 BYTE_VEC32 ( c   )     ((c)*0x01010101UL)

Definition at line 345 of file dsputil.h.

Referenced by no_rnd_avg32(), and rnd_avg32().

#define CALL_2X_PIXELS ( a,
b,
 ) 

Value:

static void a(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
    b(block  , pixels  , line_size, h);\
    b(block+n, pixels+n, line_size, h);\
}

Definition at line 122 of file dsputil.h.

#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);

Definition at line 104 of file dsputil.h.

 
#define emms_c (  ) 

#define FF_LIBMPEG2_IDCT_PERM   2

#define FF_NO_IDCT_PERM   1

#define FF_PARTTRANS_IDCT_PERM   5

Definition at line 323 of file dsputil.h.

Referenced by dsputil_init(), and dsputil_init_mmx().

#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

#define LD16 ( a   )     (*((uint16_t*)(a)))

Definition at line 515 of file dsputil.h.

#define LD32 ( a   )     (*((uint32_t*)(a)))

#define LD64 ( a   )     (*((uint64_t*)(a)))

Definition at line 517 of file dsputil.h.

#define MAX_NEG_CROP   1024

#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().

#define ST32 ( a,
b   )     *((uint32_t*)(a)) = (b)

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   ) 

Value:

static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int stride, int h){\
    return name8(s, dst           , src           , stride, h)\
          +name8(s, dst+8         , src+8         , stride, h);\
}

Definition at line 577 of file dsputil.h.

#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;\
}

Definition at line 583 of file dsputil.h.


Typedef Documentation

typedef short DCTELEM

Definition at line 37 of file dsputil.h.

typedef float FFTSample

Definition at line 532 of file dsputil.h.

typedef void(* h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offsetd, int offsets)

Definition at line 102 of file dsputil.h.

typedef void(* h264_chroma_mc_func)(uint8_t *dst, uint8_t *src, int srcStride, int h, int x, int y)

Definition at line 100 of file dsputil.h.

typedef void(* h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset)

Definition at line 101 of file dsputil.h.

typedef int(* me_cmp_func)(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)

Definition at line 131 of file dsputil.h.

typedef void(* op_pixels_func)(uint8_t *block, const uint8_t *pixels, int line_size, int h)

Definition at line 97 of file dsputil.h.

typedef void(* qpel_mc_func)(uint8_t *dst, uint8_t *src, int stride)

Definition at line 99 of file dsputil.h.

typedef void(* tpel_mc_func)(uint8_t *block, const uint8_t *pixels, int line_size, int w, int h)

Definition at line 98 of file dsputil.h.


Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

void ff_block_permute ( DCTELEM block,
uint8_t *  permutation,
const uint8_t *  scantable,
int  last 
)

permute block according to permuatation.

Parameters:
last last non zero element in scantable order
permutes an 8x8 block.
Parameters:
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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

void ff_imdct_calc ( MDCTContext s,
FFTSample output,
const FFTSample input,
FFTSample tmp 
)

Compute inverse MDCT of size N = 2^nbits

Parameters:
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().

Here is the call graph for this function:

void ff_jpeg_fdct_islow ( DCTELEM data  ) 

void ff_mdct_calc ( MDCTContext s,
FFTSample out,
const FFTSample input,
FFTSample tmp 
)

Compute MDCT of size N = 2^nbits

Parameters:
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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

int ff_mdct_init ( MDCTContext s,
int  nbits,
int  inverse 
)

init MDCT or IMDCT computation.

Definition at line 29 of file mdct.c.

References av_freep(), av_malloc(), ff_fft_init(), MDCTContext::fft, M_PI, MDCTContext::n, MDCTContext::nbits, MDCTContext::tcos, and MDCTContext::tsin.

Referenced by main(), vorbis_parse_id_hdr(), and wma_decode_init().

Here is the call graph for this function:

void ff_set_cmp ( DSPContext c,
me_cmp_func cmp,
int  type 
)

void ff_vp3_idct_add_c ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 310 of file vp3dsp.c.

References idct.

Referenced by dsputil_init().

void ff_vp3_idct_c ( DCTELEM block  ) 

Definition at line 302 of file vp3dsp.c.

References idct, and NULL.

Referenced by dsputil_init().

void ff_vp3_idct_put_c ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 306 of file vp3dsp.c.

References idct.

Referenced by dsputil_init().

static int get_penalty_factor ( int  lambda,
int  lambda2,
int  type 
) [inline, static]

void get_psnr ( uint8_t *  orig_image[3],
uint8_t *  coded_image[3],
int  orig_linesize[3],
int  coded_linesize,
AVCodecContext avctx 
)

void j_rev_dct ( DCTELEM data  ) 

void j_rev_dct1 ( DCTELEM data  ) 

Referenced by dsputil_init().

void j_rev_dct2 ( DCTELEM data  ) 

void j_rev_dct4 ( DCTELEM data  ) 

static always_inline long int lrintf ( float  x  )  [static]

int mm_support ( void   )  [inline]

Definition at line 131 of file dsputil_iwmmxt.c.

References a, av_log(), AV_LOG_DEBUG, c, cpuid, eax, ebx, ecx, edx, has_altivec(), and NULL.

Referenced by dsputil_init_iwmmxt(), dsputil_init_mmx(), ff_fft_init(), and mmx_ok().

Here is the call graph for this function:

static uint32_t no_rnd_avg32 ( uint32_t  a,
uint32_t  b 
) [inline, static]

Definition at line 352 of file dsputil.h.

References BYTE_VEC32.

static uint32_t rnd_avg32 ( uint32_t  a,
uint32_t  b 
) [inline, static]

Definition at line 347 of file dsputil.h.

References BYTE_VEC32.

Referenced by avg_pixels8_xy2_altivec(), and put_pixels8_l2().


Variable Documentation

uint8_t cropTbl[256+2 *MAX_NEG_CROP]

const uint8_t ff_alternate_horizontal_scan[64]

Definition at line 67 of file dsputil.c.

Referenced by DCT_common_init(), and decode_vop_header().

const uint8_t ff_alternate_vertical_scan[64]

const uint8_t ff_zigzag248_direct[64]

Definition at line 53 of file dsputil.c.

Referenced by dv_encode_video_segment(), and dvvideo_init().

const uint8_t ff_zigzag_direct[64]

uint32_t squareTbl[512]

Definition at line 38 of file dsputil.c.

Referenced by dsputil_static_init(), pix_norm1(), pix_norm1_c(), sse16_c(), sse4_c(), and sse8_c().


Generated on Mon Apr 28 14:03:46 2008 for Cinelerra by  doxygen 1.5.5