FFmpeg
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"

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);
The exact code depends on how similar the blocks are and how related they are to the block
uint8_t
#define _
#define DEPTH
Definition: v210enc.c:40
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104

Definition at line 29 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]);
The exact code depends on how similar the blocks are and how related they are to the block
uint8_t
#define _
#define DEPTH
Definition: v210enc.c:40
#define stride

Definition at line 52 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]);
The exact code depends on how similar the blocks are and how related they are to the block
uint8_t
#define _
#define DEPTH
Definition: v210enc.c:40
#define stride

Definition at line 74 of file h264dsp_init.c.

#define LF_FUNC (   DIR,
  TYPE,
  DEPTH,
  OPT 
)
Value:
void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT(uint8_t *pix, \
ptrdiff_t stride, \
int alpha, \
int beta, \
int8_t *tc0);
uint8_t
#define _
static const int16_t alpha[]
Definition: ilbcdata.h:55
#define DEPTH
Definition: v210enc.c:40
#define TYPE
Definition: ffv1.h:195
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104

Definition at line 102 of file h264dsp_init.c.

#define LF_IFUNC (   DIR,
  TYPE,
  DEPTH,
  OPT 
)
Value:
void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT(uint8_t *pix, \
ptrdiff_t stride, \
int alpha, \
int beta);
uint8_t
#define _
static const int16_t alpha[]
Definition: ilbcdata.h:55
#define DEPTH
Definition: v210enc.c:40
#define TYPE
Definition: ffv1.h:195
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104

Definition at line 108 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(h, chroma422, depth, mmxext) \
LF_IFUNC(h, chroma422_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(h, chroma422, depth, sse2) \
LF_IFUNC(h, chroma422_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(h, chroma422, depth, avx) \
LF_IFUNC(h, chroma422_intra, depth, avx) \
LF_FUNC(v, chroma, depth, avx) \
LF_IFUNC(v, chroma_intra, depth, avx)
#define LF_FUNC(DIR, TYPE, DEPTH, OPT)
Definition: h264dsp_init.c:102
static av_always_inline void chroma(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1631
#define LF_IFUNC(DIR, TYPE, DEPTH, OPT)
Definition: h264dsp_init.c:108

Definition at line 114 of file h264dsp_init.c.

#define H264_WEIGHT (   W,
  OPT 
)
Value:
void ff_h264_weight_ ## W ## _ ## OPT(uint8_t *dst, ptrdiff_t stride, \
int height, int log2_denom, \
int weight, int offset);
uint8_t
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
#define height
#define _
static int weight(int i, int blen, int offset)
Definition: diracdec.c:1560
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104
Definition: vf_addroi.c:26

Definition at line 175 of file h264dsp_init.c.

#define H264_BIWEIGHT (   W,
  OPT 
)
Value:
void ff_h264_biweight_ ## W ## _ ## OPT(uint8_t *dst, uint8_t *src, \
ptrdiff_t stride, int height, \
int log2_denom, int weightd, \
int weights, int offset);
uint8_t
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
#define height
#define _
#define src
Definition: vp8dsp.c:254
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104
Definition: vf_addroi.c:26

Definition at line 180 of file h264dsp_init.c.

#define H264_BIWEIGHT_MMX (   W)
Value:
H264_WEIGHT(W, mmxext) \
H264_BIWEIGHT(W, mmxext)
#define H264_WEIGHT(W, OPT)
Definition: h264dsp_init.c:175
#define H264_BIWEIGHT(W, OPT)
Definition: h264dsp_init.c:180
Definition: vf_addroi.c:26

Definition at line 186 of file h264dsp_init.c.

#define H264_BIWEIGHT_MMX_SSE (   W)
Value:
#define H264_WEIGHT(W, OPT)
Definition: h264dsp_init.c:175
#define H264_BIWEIGHT(W, OPT)
Definition: h264dsp_init.c:180
#define H264_BIWEIGHT_MMX(W)
Definition: h264dsp_init.c:186
Definition: vf_addroi.c:26

Definition at line 190 of file h264dsp_init.c.

#define H264_WEIGHT_10 (   W,
  DEPTH,
  OPT 
)
Value:
void ff_h264_weight_ ## W ## _ ## DEPTH ## _ ## OPT(uint8_t *dst, \
ptrdiff_t stride, \
int height, \
int log2_denom, \
int weight, \
int offset);
uint8_t
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
#define height
#define _
#define DEPTH
Definition: v210enc.c:40
static int weight(int i, int blen, int offset)
Definition: diracdec.c:1560
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104
Definition: vf_addroi.c:26

Definition at line 200 of file h264dsp_init.c.

#define H264_BIWEIGHT_10 (   W,
  DEPTH,
  OPT 
)
Value:
void ff_h264_biweight_ ## W ## _ ## DEPTH ## _ ## OPT(uint8_t *dst, \
ptrdiff_t stride, \
int height, \
int log2_denom, \
int weightd, \
int weights, \
int offset);
uint8_t
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
#define height
#define _
#define src
Definition: vp8dsp.c:254
#define DEPTH
Definition: v210enc.c:40
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:104
Definition: vf_addroi.c:26

Definition at line 208 of file h264dsp_init.c.

#define H264_BIWEIGHT_10_SSE (   W,
  DEPTH 
)
Value:
#define DEPTH
Definition: v210enc.c:40
#define H264_WEIGHT_10(W, DEPTH, OPT)
Definition: h264dsp_init.c:200
#define H264_BIWEIGHT_10(W, DEPTH, OPT)
Definition: h264dsp_init.c:208
Definition: vf_addroi.c:26

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

Referenced by ff_h264dsp_init().