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 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, OPT)
#define LF_IFUNC(DIR, TYPE, OPT)
#define H264_WEIGHT(W, H, OPT)
#define H264_BIWEIGHT(W, H, OPT)
#define H264_BIWEIGHT_MMX(W, H)
#define H264_BIWEIGHT_MMX_SSE(W, H)

Functions

 DECLARE_ALIGNED (8, static const uint64_t, ff_pb_3_1)=0x0103010301030103ULL
void ff_h264_idct_add_mmx (uint8_t *dst, int16_t *block, int stride)
void ff_h264_idct8_add_mmx (uint8_t *dst, int16_t *block, int stride)
void ff_h264_idct8_add_sse2 (uint8_t *dst, int16_t *block, int stride)
void ff_h264_idct_dc_add_mmx2 (uint8_t *dst, int16_t *block, int stride)
void ff_h264_idct8_dc_add_mmx2 (uint8_t *dst, int16_t *block, int stride)
void ff_h264_idct_add16_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct8_add4_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add16_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add16intra_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add16intra_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct8_add4_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct8_add4_sse2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add8_mmx (uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add8_mmx2 (uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add16_sse2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add16intra_sse2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void ff_h264_idct_add8_sse2 (uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
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)


Define Documentation

#define H264_BIWEIGHT ( W,
H,
OPT   ) 

Value:

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

Definition at line 264 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_MMX ( W,
 ) 

Value:

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

Definition at line 269 of file h264dsp_mmx.c.

#define H264_BIWEIGHT_MMX_SSE ( W,
 ) 

Value:

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

Definition at line 273 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 68 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_strength_mmx2().

#define H264_WEIGHT ( W,
H,
OPT   ) 

Value:

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

Definition at line 260 of file h264dsp_mmx.c.

#define LF_FUNC ( DIR,
TYPE,
OPT   ) 

Value:

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

Definition at line 221 of file h264dsp_mmx.c.

#define LF_IFUNC ( DIR,
TYPE,
OPT   ) 

Value:

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

Definition at line 224 of file h264dsp_mmx.c.


Function Documentation

DECLARE_ALIGNED ( ,
static const   uint64_t,
ff_pb_3_1   
) [pure virtual]

void ff_h264_idct8_add4_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct8_add4_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct8_add4_sse2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct8_add_mmx ( uint8_t *  dst,
int16_t *  block,
int  stride 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct8_add_sse2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct8_dc_add_mmx2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16_sse2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16intra_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16intra_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add16intra_sse2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add8_mmx ( uint8_t **  dest,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add8_mmx2 ( uint8_t **  dest,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add8_sse2 ( uint8_t **  dest,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_add_mmx ( uint8_t *  dst,
int16_t *  block,
int  stride 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_idct_dc_add_mmx2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
)

Referenced by ff_h264dsp_init_x86().

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  ) 

Definition at line 288 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 182 of file h264dsp_mmx.c.

Referenced by ff_h264dsp_init_x86().


Generated on Mon May 2 19:50:24 2011 for FFmpeg by  doxygen 1.5.6