FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
h264dsp_init.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/h264dsp.h"
#include "dsputil_x86.h"

Go to the source code of this file.

Macros

#define IDCT_ADD_FUNC(NUM, DEPTH, OPT)
 
#define IDCT_ADD_REP_FUNC(NUM, REP, DEPTH, OPT)
 
#define IDCT_ADD_REP_FUNC2(NUM, REP, DEPTH, OPT)
 
#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 (int16_t *output, int16_t *input, int qmul)
 
void ff_h264_luma_dc_dequant_idct_sse2 (int16_t *output, int16_t *input, int qmul)
 
void ff_h264_loop_filter_strength_mmxext (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)
 
av_cold void ff_h264dsp_init_x86 (H264DSPContext *c, const int bit_depth, const int chroma_format_idc)
 

Macro Definition Documentation

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

Definition at line 30 of file h264dsp_init.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, \
int16_t *block, int stride, const uint8_t nnzc[6 * 8]);

Definition at line 49 of file h264dsp_init.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, \
int16_t *block, int stride, const uint8_t nnzc[6 * 8]);

Definition at line 71 of file h264dsp_init.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 94 of file h264dsp_init.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 100 of file h264dsp_init.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 106 of file h264dsp_init.c.

#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 158 of file h264dsp_init.c.

#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 163 of file h264dsp_init.c.

#define H264_BIWEIGHT_MMX (   W)
Value:
H264_WEIGHT(W, mmxext) \
H264_BIWEIGHT(W, mmxext)

Definition at line 169 of file h264dsp_init.c.

#define H264_BIWEIGHT_MMX_SSE (   W)
Value:
H264_WEIGHT(W, sse2) \
H264_BIWEIGHT(W, sse2) \
H264_BIWEIGHT(W, ssse3)

Definition at line 173 of file h264dsp_init.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 183 of file h264dsp_init.c.

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

Definition at line 191 of file h264dsp_init.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 201 of file h264dsp_init.c.

Function Documentation

void ff_h264_luma_dc_dequant_idct_mmx ( int16_t *  output,
int16_t *  input,
int  qmul 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_luma_dc_dequant_idct_sse2 ( int16_t *  output,
int16_t *  input,
int  qmul 
)

Referenced by ff_h264dsp_init_x86().

void ff_h264_loop_filter_strength_mmxext ( 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 
)

Referenced by ff_h264dsp_init_x86().

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

Definition at line 211 of file h264dsp_init.c.

Referenced by ff_h264dsp_init().