libavcodec/x86/h264dsp_mmx.c File Reference

#include "libavutil/cpu.h"
#include "libavutil/x86_cpu.h"
#include "libavcodec/h264dsp.h"
#include "dsputil_mmx.h"

Go to the source code of this file.

Defines

#define IDCT_ADD_FUNC(NUM, DEPTH, OPT)   void ff_h264_idct ## NUM ## _add_ ## DEPTH ## _ ## OPT (uint8_t *dst, int16_t *block, int stride);
#define IDCT_ADD_REP_FUNC(NUM, REP, DEPTH, OPT)
#define IDCT_ADD_REP_FUNC2(NUM, REP, DEPTH, OPT)
#define h264_loop_filter_strength_iteration_mmx2(bS, nz, ref, mv, bidir, edges, step, mask_mv, dir, d_idx, mask_dir)
#define LF_FUNC(DIR, TYPE, DEPTH, OPT)
#define LF_IFUNC(DIR, TYPE, DEPTH, OPT)
#define LF_FUNCS(type, depth)
#define H264_WEIGHT(W, OPT)
#define H264_BIWEIGHT(W, OPT)
#define H264_BIWEIGHT_MMX(W)
#define H264_BIWEIGHT_MMX_SSE(W)
#define H264_WEIGHT_10(W, DEPTH, OPT)
#define H264_BIWEIGHT_10(W, DEPTH, OPT)
#define H264_BIWEIGHT_10_SSE(W, DEPTH)

Functions

void ff_h264_luma_dc_dequant_idct_mmx (DCTELEM *output, DCTELEM *input, int qmul)
void ff_h264_luma_dc_dequant_idct_sse2 (DCTELEM *output, DCTELEM *input, int qmul)
static void h264_loop_filter_strength_mmx2 (int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field)
void ff_h264dsp_init_x86 (H264DSPContext *c, const int bit_depth, const int chroma_format_idc)

Variables

static const uint64_t ff_pb_3_1 = 0x0103010301030103ULL


Define Documentation

#define H264_BIWEIGHT ( W,
OPT   ) 

Value:

void ff_h264_biweight_ ## W ## _ ## OPT(uint8_t *dst, \
    uint8_t *src, int stride, int height, int log2_denom, int weightd, \
    int weights, int offset);

Definition at line 305 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_10 ( W,
DEPTH,
OPT   ) 

Value:

void ff_h264_biweight_ ## W ## _ ## DEPTH ## _ ## OPT \
    (uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, \
     int weightd, int weights, int offset);

Definition at line 328 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_10_SSE ( W,
DEPTH   ) 

Value:

H264_WEIGHT_10  (W, DEPTH, sse2) \
H264_WEIGHT_10  (W, DEPTH, sse4) \
H264_BIWEIGHT_10(W, DEPTH, sse2) \
H264_BIWEIGHT_10(W, DEPTH, sse4)

Definition at line 333 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_MMX (  ) 

Value:

H264_WEIGHT  (W, mmx2) \
H264_BIWEIGHT(W, mmx2)

Definition at line 310 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_MMX_SSE (  ) 

Value:

H264_BIWEIGHT_MMX(W) \
H264_WEIGHT      (W, sse2) \
H264_BIWEIGHT    (W, sse2) \
H264_BIWEIGHT    (W, ssse3)

Definition at line 314 of file h264dsp_mmx.c.

#define h264_loop_filter_strength_iteration_mmx2 ( bS,
nz,
ref,
mv,
bidir,
edges,
step,
mask_mv,
dir,
d_idx,
mask_dir   ) 

Definition at line 91 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_strength_mmx2().

#define H264_WEIGHT ( W,
OPT   ) 

Value:

void ff_h264_weight_ ## W ## _ ## OPT(uint8_t *dst, \
    int stride, int height, int log2_denom, int weight, int offset);

Definition at line 301 of file h264dsp_mmx.c.

#define H264_WEIGHT_10 ( W,
DEPTH,
OPT   ) 

Value:

void ff_h264_weight_ ## W ## _ ## DEPTH ## _ ## OPT(uint8_t *dst, \
    int stride, int height, int log2_denom, int weight, int offset);

Definition at line 324 of file h264dsp_mmx.c.

#define IDCT_ADD_FUNC ( NUM,
DEPTH,
OPT   )     void ff_h264_idct ## NUM ## _add_ ## DEPTH ## _ ## OPT (uint8_t *dst, int16_t *block, int stride);

Definition at line 30 of file h264dsp_mmx.c.

#define IDCT_ADD_REP_FUNC ( NUM,
REP,
DEPTH,
OPT   ) 

Value:

void ff_h264_idct ## NUM ## _add ## REP ## _ ## DEPTH ## _ ## OPT \
                              (uint8_t *dst, const int *block_offset, \
                              DCTELEM *block, int stride, const uint8_t nnzc[6*8]);

Definition at line 49 of file h264dsp_mmx.c.

#define IDCT_ADD_REP_FUNC2 ( NUM,
REP,
DEPTH,
OPT   ) 

Value:

void ff_h264_idct ## NUM ## _add ## REP ## _ ## DEPTH ## _ ## OPT \
                              (uint8_t **dst, const int *block_offset, \
                              DCTELEM *block, int stride, const uint8_t nnzc[6*8]);

Definition at line 73 of file h264dsp_mmx.c.

#define LF_FUNC ( DIR,
TYPE,
DEPTH,
OPT   ) 

Value:

void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *pix, int stride, \
                                                                int alpha, int beta, int8_t *tc0);

Definition at line 244 of file h264dsp_mmx.c.

#define LF_FUNCS ( type,
depth   ) 

Value:

LF_FUNC (h,  chroma,       depth, mmxext)\
LF_IFUNC(h,  chroma_intra, depth, mmxext)\
LF_FUNC (v,  chroma,       depth, mmxext)\
LF_IFUNC(v,  chroma_intra, depth, mmxext)\
LF_FUNC (h,  luma,         depth, mmxext)\
LF_IFUNC(h,  luma_intra,   depth, mmxext)\
LF_FUNC (h,  luma,         depth, sse2)\
LF_IFUNC(h,  luma_intra,   depth, sse2)\
LF_FUNC (v,  luma,         depth, sse2)\
LF_IFUNC(v,  luma_intra,   depth, sse2)\
LF_FUNC (h,  chroma,       depth, sse2)\
LF_IFUNC(h,  chroma_intra, depth, sse2)\
LF_FUNC (v,  chroma,       depth, sse2)\
LF_IFUNC(v,  chroma_intra, depth, sse2)\
LF_FUNC (h,  luma,         depth,  avx)\
LF_IFUNC(h,  luma_intra,   depth,  avx)\
LF_FUNC (v,  luma,         depth,  avx)\
LF_IFUNC(v,  luma_intra,   depth,  avx)\
LF_FUNC (h,  chroma,       depth,  avx)\
LF_IFUNC(h,  chroma_intra, depth,  avx)\
LF_FUNC (v,  chroma,       depth,  avx)\
LF_IFUNC(v,  chroma_intra, depth,  avx)

Definition at line 251 of file h264dsp_mmx.c.

#define LF_IFUNC ( DIR,
TYPE,
DEPTH,
OPT   ) 

Value:

void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *pix, int stride, \
                                                                int alpha, int beta);

Definition at line 247 of file h264dsp_mmx.c.


Function Documentation

void ff_h264_luma_dc_dequant_idct_mmx ( DCTELEM output,
DCTELEM input,
int  qmul 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_luma_dc_dequant_idct_sse2 ( DCTELEM output,
DCTELEM input,
int  qmul 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264dsp_init_x86 ( H264DSPContext c,
const int  bit_depth,
const int  chroma_format_idc 
)

Definition at line 343 of file h264dsp_mmx.c.

Referenced by ff_h264dsp_init().

static void h264_loop_filter_strength_mmx2 ( int16_t  bS[2][4][4],
uint8_t  nnz[40],
int8_t  ref[2][40],
int16_t  mv[2][40][2],
int  bidir,
int  edges,
int  step,
int  mask_mv0,
int  mask_mv1,
int  field 
) [static]

Definition at line 205 of file h264dsp_mmx.c.

Referenced by ff_h264dsp_init_x86().


Variable Documentation

const uint64_t ff_pb_3_1 = 0x0103010301030103ULL [static]

Definition at line 26 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_strength_mmx2().


Generated on Fri Oct 26 02:48:00 2012 for FFmpeg by  doxygen 1.5.8