FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hevcdsp_init.c File Reference
#include "config.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/hevcdsp.h"
#include "libavcodec/x86/hevcdsp.h"

Go to the source code of this file.

Macros

#define LFC_FUNC(DIR, DEPTH, OPT)   void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q);
 
#define LFL_FUNC(DIR, DEPTH, OPT)
 
#define LFC_FUNCS(type, depth, opt)
 
#define LFL_FUNCS(type, depth, opt)
 
#define mc_rep_func(name, bitd, step, W, opt)
 
#define mc_rep_uni_func(name, bitd, step, W, opt)
 
#define mc_rep_bi_func(name, bitd, step, W, opt)
 
#define mc_rep_funcs(name, bitd, step, W, opt)
 
#define EPEL_LINKS(pointer, my, mx, fname, bitd, opt)
 
#define QPEL_LINKS(pointer, my, mx, fname, bitd, opt)
 

Functions

void ff_hevcdsp_init_x86 (HEVCDSPContext *c, const int bit_depth)
 

Macro Definition Documentation

#define LFC_FUNC (   DIR,
  DEPTH,
  OPT 
)    void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q);

Definition at line 32 of file hevcdsp_init.c.

#define LFL_FUNC (   DIR,
  DEPTH,
  OPT 
)
Value:
void ff_hevc_ ## DIR ## _loop_filter_luma_ ## DEPTH ## _ ## OPT(uint8_t *_pix, ptrdiff_t stride, int *_beta, int *_tc, \
uint8_t *_no_p, uint8_t *_no_q);

Definition at line 35 of file hevcdsp_init.c.

#define LFC_FUNCS (   type,
  depth,
  opt 
)
Value:
LFC_FUNC(h, depth, opt) \
LFC_FUNC(v, depth, opt)

Definition at line 39 of file hevcdsp_init.c.

#define LFL_FUNCS (   type,
  depth,
  opt 
)
Value:
LFL_FUNC(h, depth, opt) \
LFL_FUNC(v, depth, opt)

Definition at line 43 of file hevcdsp_init.c.

#define mc_rep_func (   name,
  bitd,
  step,
  W,
  opt 
)
Value:
void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *_dst, ptrdiff_t dststride, \
uint8_t *_src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
int i; \
uint8_t *src; \
int16_t *dst; \
for (i = 0; i < W; i += step) { \
src = _src + (i * ((bitd + 7) / 8)); \
dst = _dst + i; \
ff_hevc_put_hevc_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, height, mx, my, width); \
} \
}

Definition at line 108 of file hevcdsp_init.c.

#define mc_rep_uni_func (   name,
  bitd,
  step,
  W,
  opt 
)
Value:
void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, \
uint8_t *_src, ptrdiff_t _srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
int i; \
uint8_t *src; \
uint8_t *dst; \
for (i = 0; i < W; i += step) { \
src = _src + (i * ((bitd + 7) / 8)); \
dst = _dst + (i * ((bitd + 7) / 8)); \
ff_hevc_put_hevc_uni_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, \
height, mx, my, width); \
} \
}

Definition at line 122 of file hevcdsp_init.c.

#define mc_rep_bi_func (   name,
  bitd,
  step,
  W,
  opt 
)
Value:
void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, uint8_t *_src, \
ptrdiff_t _srcstride, int16_t* _src2, ptrdiff_t _src2stride, \
int height, intptr_t mx, intptr_t my, int width) \
{ \
int i; \
uint8_t *src; \
uint8_t *dst; \
int16_t *src2; \
for (i = 0; i < W ; i += step) { \
src = _src + (i * ((bitd + 7) / 8)); \
dst = _dst + (i * ((bitd + 7) / 8)); \
src2 = _src2 + i; \
ff_hevc_put_hevc_bi_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, src2, \
_src2stride, height, mx, my, width); \
} \
}

Definition at line 137 of file hevcdsp_init.c.

#define mc_rep_funcs (   name,
  bitd,
  step,
  W,
  opt 
)
Value:
mc_rep_func(name, bitd, step, W, opt); \
mc_rep_uni_func(name, bitd, step, W, opt); \
mc_rep_bi_func(name, bitd, step, W, opt)

Definition at line 155 of file hevcdsp_init.c.

#define EPEL_LINKS (   pointer,
  my,
  mx,
  fname,
  bitd,
  opt 
)
Value:
PEL_LINK(pointer, 1, my , mx , fname##4 , bitd, opt ); \
PEL_LINK(pointer, 2, my , mx , fname##6 , bitd, opt ); \
PEL_LINK(pointer, 3, my , mx , fname##8 , bitd, opt ); \
PEL_LINK(pointer, 4, my , mx , fname##12, bitd, opt ); \
PEL_LINK(pointer, 5, my , mx , fname##16, bitd, opt ); \
PEL_LINK(pointer, 6, my , mx , fname##24, bitd, opt ); \
PEL_LINK(pointer, 7, my , mx , fname##32, bitd, opt ); \
PEL_LINK(pointer, 8, my , mx , fname##48, bitd, opt ); \
PEL_LINK(pointer, 9, my , mx , fname##64, bitd, opt )

Definition at line 400 of file hevcdsp_init.c.

Referenced by ff_hevcdsp_init_x86().

#define QPEL_LINKS (   pointer,
  my,
  mx,
  fname,
  bitd,
  opt 
)
Value:
PEL_LINK(pointer, 1, my , mx , fname##4 , bitd, opt ); \
PEL_LINK(pointer, 3, my , mx , fname##8 , bitd, opt ); \
PEL_LINK(pointer, 4, my , mx , fname##12, bitd, opt ); \
PEL_LINK(pointer, 5, my , mx , fname##16, bitd, opt ); \
PEL_LINK(pointer, 6, my , mx , fname##24, bitd, opt ); \
PEL_LINK(pointer, 7, my , mx , fname##32, bitd, opt ); \
PEL_LINK(pointer, 8, my , mx , fname##48, bitd, opt ); \
PEL_LINK(pointer, 9, my , mx , fname##64, bitd, opt )

Definition at line 410 of file hevcdsp_init.c.

Referenced by ff_hevcdsp_init_x86().

Function Documentation

void ff_hevcdsp_init_x86 ( HEVCDSPContext c,
const int  bit_depth 
)

Definition at line 421 of file hevcdsp_init.c.

Referenced by ff_hevc_dsp_init().