FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hevcdsp.h File Reference
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define idct_dc_proto(size, bitd, opt)   void ff_hevc_idct##size##_dc_add_##bitd##_##opt(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
#define PEL_LINK(dst, idx1, idx2, idx3, name, D, opt)
 
#define PEL_PROTOTYPE(name, D, opt)
 
#define EPEL_PROTOTYPES(fname, bitd, opt)
 
#define QPEL_PROTOTYPES(fname, bitd, opt)
 
#define WEIGHTING_PROTOTYPE(width, bitd, opt)
 
#define WEIGHTING_PROTOTYPES(bitd, opt)
 

Functions

 EPEL_PROTOTYPES (pel_pixels, 8, sse4)
 
 EPEL_PROTOTYPES (pel_pixels, 10, sse4)
 
 EPEL_PROTOTYPES (epel_h, 8, sse4)
 
 EPEL_PROTOTYPES (epel_h, 10, sse4)
 
 EPEL_PROTOTYPES (epel_v, 8, sse4)
 
 EPEL_PROTOTYPES (epel_v, 10, sse4)
 
 EPEL_PROTOTYPES (epel_hv, 8, sse4)
 
 EPEL_PROTOTYPES (epel_hv, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_h, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_h, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_v, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_v, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_hv, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_hv, 10, sse4)
 
 WEIGHTING_PROTOTYPES (8, sse4)
 
 WEIGHTING_PROTOTYPES (10, sse4)
 
 idct_dc_proto (4, 8, mmxext)
 
 idct_dc_proto (8, 8, mmxext)
 
 idct_dc_proto (16, 8, sse2)
 
 idct_dc_proto (32, 8, sse2)
 
 idct_dc_proto (32, 8, avx2)
 
 idct_dc_proto (4, 10, mmxext)
 
 idct_dc_proto (8, 10, sse2)
 
 idct_dc_proto (16, 10, sse2)
 
 idct_dc_proto (32, 10, sse2)
 
 idct_dc_proto (8, 10, avx)
 
 idct_dc_proto (16, 10, avx)
 
 idct_dc_proto (32, 10, avx)
 
 idct_dc_proto (16, 10, avx2)
 
 idct_dc_proto (32, 10, avx2)
 

Macro Definition Documentation

#define idct_dc_proto (   size,
  bitd,
  opt 
)    void ff_hevc_idct##size##_dc_add_##bitd##_##opt(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)

Definition at line 32 of file hevcdsp.h.

#define PEL_LINK (   dst,
  idx1,
  idx2,
  idx3,
  name,
  D,
  opt 
)
Value:
dst[idx1][idx2][idx3] = ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt; \
dst ## _bi[idx1][idx2][idx3] = ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##opt; \
dst ## _uni[idx1][idx2][idx3] = ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt; \
dst ## _uni_w[idx1][idx2][idx3] = ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt; \
dst ## _bi_w[idx1][idx2][idx3] = ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt

Definition at line 35 of file hevcdsp.h.

#define PEL_PROTOTYPE (   name,
  D,
  opt 
)
Value:
void ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt(int16_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); \
void ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##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); \
void ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); \
void ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); \
void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, ptrdiff_t src2stride, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width)

Definition at line 43 of file hevcdsp.h.

#define EPEL_PROTOTYPES (   fname,
  bitd,
  opt 
)
Value:
PEL_PROTOTYPE(fname##4, bitd, opt); \
PEL_PROTOTYPE(fname##6, bitd, opt); \
PEL_PROTOTYPE(fname##8, bitd, opt); \
PEL_PROTOTYPE(fname##12, bitd, opt); \
PEL_PROTOTYPE(fname##16, bitd, opt); \
PEL_PROTOTYPE(fname##24, bitd, opt); \
PEL_PROTOTYPE(fname##32, bitd, opt); \
PEL_PROTOTYPE(fname##48, bitd, opt); \
PEL_PROTOTYPE(fname##64, bitd, opt)

Definition at line 55 of file hevcdsp.h.

#define QPEL_PROTOTYPES (   fname,
  bitd,
  opt 
)
Value:
PEL_PROTOTYPE(fname##4, bitd, opt); \
PEL_PROTOTYPE(fname##8, bitd, opt); \
PEL_PROTOTYPE(fname##12, bitd, opt); \
PEL_PROTOTYPE(fname##16, bitd, opt); \
PEL_PROTOTYPE(fname##24, bitd, opt); \
PEL_PROTOTYPE(fname##32, bitd, opt); \
PEL_PROTOTYPE(fname##48, bitd, opt); \
PEL_PROTOTYPE(fname##64, bitd, opt)

Definition at line 66 of file hevcdsp.h.

#define WEIGHTING_PROTOTYPE (   width,
  bitd,
  opt 
)
Value:
void ff_hevc_put_hevc_uni_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, ptrdiff_t _srcstride, int height, int denom, int _wx, int _ox); \
void ff_hevc_put_hevc_bi_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, ptrdiff_t _srcstride, int16_t *_src2, ptrdiff_t _src2stride, int height, int denom, int _wx0, int _wx1, int _ox0, int _ox1)

Definition at line 76 of file hevcdsp.h.

#define WEIGHTING_PROTOTYPES (   bitd,
  opt 
)
Value:
WEIGHTING_PROTOTYPE(2, bitd, opt); \
WEIGHTING_PROTOTYPE(4, bitd, opt); \
WEIGHTING_PROTOTYPE(6, bitd, opt); \
WEIGHTING_PROTOTYPE(8, bitd, opt); \
WEIGHTING_PROTOTYPE(12, bitd, opt); \
WEIGHTING_PROTOTYPE(16, bitd, opt); \
WEIGHTING_PROTOTYPE(24, bitd, opt); \
WEIGHTING_PROTOTYPE(32, bitd, opt); \
WEIGHTING_PROTOTYPE(48, bitd, opt); \
WEIGHTING_PROTOTYPE(64, bitd, opt)

Definition at line 80 of file hevcdsp.h.

Function Documentation

EPEL_PROTOTYPES ( pel_pixels  ,
,
sse4   
)
EPEL_PROTOTYPES ( pel_pixels  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_h  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_h  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_v  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_v  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_hv  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_hv  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_h  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_h  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_v  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_v  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_hv  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_hv  ,
10  ,
sse4   
)
WEIGHTING_PROTOTYPES ( ,
sse4   
)
WEIGHTING_PROTOTYPES ( 10  ,
sse4   
)
idct_dc_proto ( ,
,
mmxext   
)
idct_dc_proto ( ,
,
mmxext   
)
idct_dc_proto ( 16  ,
,
sse2   
)
idct_dc_proto ( 32  ,
,
sse2   
)
idct_dc_proto ( 32  ,
,
avx2   
)
idct_dc_proto ( ,
10  ,
mmxext   
)
idct_dc_proto ( ,
10  ,
sse2   
)
idct_dc_proto ( 16  ,
10  ,
sse2   
)
idct_dc_proto ( 32  ,
10  ,
sse2   
)
idct_dc_proto ( ,
10  ,
avx   
)
idct_dc_proto ( 16  ,
10  ,
avx   
)
idct_dc_proto ( 32  ,
10  ,
avx   
)
idct_dc_proto ( 16  ,
10  ,
avx2   
)
idct_dc_proto ( 32  ,
10  ,
avx2   
)