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 (pel_pixels, 12, sse4)
 
 EPEL_PROTOTYPES (epel_h, 8, sse4)
 
 EPEL_PROTOTYPES (epel_h, 10, sse4)
 
 EPEL_PROTOTYPES (epel_h, 12, sse4)
 
 EPEL_PROTOTYPES (epel_v, 8, sse4)
 
 EPEL_PROTOTYPES (epel_v, 10, sse4)
 
 EPEL_PROTOTYPES (epel_v, 12, sse4)
 
 EPEL_PROTOTYPES (epel_hv, 8, sse4)
 
 EPEL_PROTOTYPES (epel_hv, 10, sse4)
 
 EPEL_PROTOTYPES (epel_hv, 12, sse4)
 
 QPEL_PROTOTYPES (qpel_h, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_h, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_h, 12, sse4)
 
 QPEL_PROTOTYPES (qpel_v, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_v, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_v, 12, sse4)
 
 QPEL_PROTOTYPES (qpel_hv, 8, sse4)
 
 QPEL_PROTOTYPES (qpel_hv, 10, sse4)
 
 QPEL_PROTOTYPES (qpel_hv, 12, sse4)
 
 WEIGHTING_PROTOTYPES (8, sse4)
 
 WEIGHTING_PROTOTYPES (10, sse4)
 
 WEIGHTING_PROTOTYPES (12, sse4)
 
void ff_hevc_transform_add4_8_mmxext (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add8_8_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add16_8_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add32_8_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add8_8_avx (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add16_8_avx (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add32_8_avx (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add32_8_avx2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add4_10_mmxext (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add8_10_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add16_10_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add32_10_sse2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add16_10_avx2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add32_10_avx2 (uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)
 

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, 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, 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, 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, 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 ( pel_pixels  ,
12  ,
sse4   
)
EPEL_PROTOTYPES ( epel_h  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_h  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_h  ,
12  ,
sse4   
)
EPEL_PROTOTYPES ( epel_v  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_v  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_v  ,
12  ,
sse4   
)
EPEL_PROTOTYPES ( epel_hv  ,
,
sse4   
)
EPEL_PROTOTYPES ( epel_hv  ,
10  ,
sse4   
)
EPEL_PROTOTYPES ( epel_hv  ,
12  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_h  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_h  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_h  ,
12  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_v  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_v  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_v  ,
12  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_hv  ,
,
sse4   
)
QPEL_PROTOTYPES ( qpel_hv  ,
10  ,
sse4   
)
QPEL_PROTOTYPES ( qpel_hv  ,
12  ,
sse4   
)
WEIGHTING_PROTOTYPES ( ,
sse4   
)
WEIGHTING_PROTOTYPES ( 10  ,
sse4   
)
WEIGHTING_PROTOTYPES ( 12  ,
sse4   
)
void ff_hevc_transform_add4_8_mmxext ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add8_8_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add16_8_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add32_8_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add8_8_avx ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add16_8_avx ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add32_8_avx ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add32_8_avx2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add4_10_mmxext ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add8_10_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add16_10_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add32_10_sse2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add16_10_avx2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().

void ff_hevc_transform_add32_10_avx2 ( uint8_t dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by ff_hevc_dsp_init_x86().