FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hevcdsp_template.c File Reference
#include "get_bits.h"
#include "hevc.h"
#include "bit_depth_template.c"
#include "hevcdsp.h"

Go to the source code of this file.

Macros

#define SET(dst, x)   (dst) = (x)
 
#define SCALE(dst, x)   (dst) = av_clip_int16(((x) + add) >> shift)
 
#define ADD_AND_SCALE(dst, x)   (dst) = av_clip_pixel((dst) + av_clip_int16(((x) + add) >> shift))
 
#define TR_4x4_LUMA(dst, src, step, assign)
 
#define TR_4(dst, src, dstep, sstep, assign, end)
 
#define TR_8(dst, src, dstep, sstep, assign, end)
 
#define TR_16(dst, src, dstep, sstep, assign, end)
 
#define TR_32(dst, src, dstep, sstep, assign, end)
 
#define IDCT_VAR4(H)   int limit2 = FFMIN(col_limit + 4, H)
 
#define IDCT_VAR8(H)
 
#define IDCT_VAR16(H)   IDCT_VAR8(H)
 
#define IDCT_VAR32(H)   IDCT_VAR8(H)
 
#define IDCT(H)
 
#define IDCT_DC(H)
 
#define CMP(a, b)   ((a) > (b) ? 1 : ((a) == (b) ? 0 : -1))
 
#define QPEL_FILTER(src, stride)
 
#define EPEL_FILTER(src, stride)
 
#define P3   pix[-4 * xstride]
 
#define P2   pix[-3 * xstride]
 
#define P1   pix[-2 * xstride]
 
#define P0   pix[-1 * xstride]
 
#define Q0   pix[0 * xstride]
 
#define Q1   pix[1 * xstride]
 
#define Q2   pix[2 * xstride]
 
#define Q3   pix[3 * xstride]
 
#define TP3   pix[-4 * xstride + 3 * ystride]
 
#define TP2   pix[-3 * xstride + 3 * ystride]
 
#define TP1   pix[-2 * xstride + 3 * ystride]
 
#define TP0   pix[-1 * xstride + 3 * ystride]
 
#define TQ0   pix[0 * xstride + 3 * ystride]
 
#define TQ1   pix[1 * xstride + 3 * ystride]
 
#define TQ2   pix[2 * xstride + 3 * ystride]
 
#define TQ3   pix[3 * xstride + 3 * ystride]
 

Functions

static void FUNC() put_pcm (uint8_t *_dst, ptrdiff_t stride, int width, int height, GetBitContext *gb, int pcm_bit_depth)
 
static av_always_inline void FUNC() transquant_bypass (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride, int size)
 
static void FUNC() transform_add4x4 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
static void FUNC() transform_add8x8 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
static void FUNC() transform_add16x16 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
static void FUNC() transform_add32x32 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
static void FUNC() transform_rdpcm (int16_t *_coeffs, int16_t log2_size, int mode)
 
static void FUNC() transform_skip (int16_t *_coeffs, int16_t log2_size)
 
static void FUNC() transform_4x4_luma (int16_t *coeffs)
 
static void FUNC() sao_band_filter_0 (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, int *borders, int width, int height, int c_idx)
 
static void FUNC() sao_edge_filter (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, int width, int height, int c_idx, int init_x, int init_y)
 
static void FUNC() sao_edge_filter_0 (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, int *borders, int _width, int _height, int c_idx, uint8_t *vert_edge, uint8_t *horiz_edge, uint8_t *diag_edge)
 
static void FUNC() sao_edge_filter_1 (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, int *borders, int _width, int _height, int c_idx, uint8_t *vert_edge, uint8_t *horiz_edge, uint8_t *diag_edge)
 
static void FUNC() put_hevc_pel_pixels (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_pel_uni_pixels (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_pel_bi_pixels (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)
 
static void FUNC() put_hevc_pel_uni_w_pixels (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)
 
static void FUNC() put_hevc_pel_bi_w_pixels (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)
 
static void FUNC() put_hevc_qpel_h (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_v (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_hv (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_uni_h (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_bi_h (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)
 
static void FUNC() put_hevc_qpel_uni_v (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_bi_v (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)
 
static void FUNC() put_hevc_qpel_uni_hv (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_qpel_bi_hv (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)
 
static void FUNC() put_hevc_qpel_uni_w_h (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)
 
static void FUNC() put_hevc_qpel_bi_w_h (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)
 
static void FUNC() put_hevc_qpel_uni_w_v (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)
 
static void FUNC() put_hevc_qpel_bi_w_v (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)
 
static void FUNC() put_hevc_qpel_uni_w_hv (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)
 
static void FUNC() put_hevc_qpel_bi_w_hv (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)
 
static void FUNC() put_hevc_epel_h (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_v (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_hv (int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_uni_h (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_bi_h (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)
 
static void FUNC() put_hevc_epel_uni_v (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_bi_v (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)
 
static void FUNC() put_hevc_epel_uni_hv (uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC() put_hevc_epel_bi_hv (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)
 
static void FUNC() put_hevc_epel_uni_w_h (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)
 
static void FUNC() put_hevc_epel_bi_w_h (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)
 
static void FUNC() put_hevc_epel_uni_w_v (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)
 
static void FUNC() put_hevc_epel_bi_w_v (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)
 
static void FUNC() put_hevc_epel_uni_w_hv (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)
 
static void FUNC() put_hevc_epel_bi_w_hv (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)
 
static void FUNC() hevc_loop_filter_luma (uint8_t *_pix, ptrdiff_t _xstride, ptrdiff_t _ystride, int beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
static void FUNC() hevc_loop_filter_chroma (uint8_t *_pix, ptrdiff_t _xstride, ptrdiff_t _ystride, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
static void FUNC() hevc_h_loop_filter_chroma (uint8_t *pix, ptrdiff_t stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
 
static void FUNC() hevc_v_loop_filter_chroma (uint8_t *pix, ptrdiff_t stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
 
static void FUNC() hevc_h_loop_filter_luma (uint8_t *pix, ptrdiff_t stride, int beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
 
static void FUNC() hevc_v_loop_filter_luma (uint8_t *pix, ptrdiff_t stride, int beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
 

Macro Definition Documentation

#define SET (   dst,
 
)    (dst) = (x)

Definition at line 135 of file hevcdsp_template.c.

#define SCALE (   dst,
 
)    (dst) = av_clip_int16(((x) + add) >> shift)

Definition at line 136 of file hevcdsp_template.c.

Referenced by transform_4x4_luma().

#define ADD_AND_SCALE (   dst,
 
)    (dst) = av_clip_pixel((dst) + av_clip_int16(((x) + add) >> shift))

Definition at line 137 of file hevcdsp_template.c.

#define TR_4x4_LUMA (   dst,
  src,
  step,
  assign 
)
Value:
do { \
int c0 = src[0 * step] + src[2 * step]; \
int c1 = src[2 * step] + src[3 * step]; \
int c2 = src[0 * step] - src[3 * step]; \
int c3 = 74 * src[1 * step]; \
\
assign(dst[2 * step], 74 * (src[0 * step] - \
src[2 * step] + \
src[3 * step])); \
assign(dst[0 * step], 29 * c0 + 55 * c1 + c3); \
assign(dst[1 * step], 55 * c2 - 29 * c1 + c3); \
assign(dst[3 * step], 55 * c0 + 29 * c2 - c3); \
} while (0)

Definition at line 140 of file hevcdsp_template.c.

Referenced by transform_4x4_luma().

#define TR_4 (   dst,
  src,
  dstep,
  sstep,
  assign,
  end 
)
Value:
do { \
const int e0 = 64 * src[0 * sstep] + 64 * src[2 * sstep]; \
const int e1 = 64 * src[0 * sstep] - 64 * src[2 * sstep]; \
const int o0 = 83 * src[1 * sstep] + 36 * src[3 * sstep]; \
const int o1 = 36 * src[1 * sstep] - 83 * src[3 * sstep]; \
\
assign(dst[0 * dstep], e0 + o0); \
assign(dst[1 * dstep], e1 + o1); \
assign(dst[2 * dstep], e1 - o1); \
assign(dst[3 * dstep], e0 - o0); \
} while (0)

Definition at line 177 of file hevcdsp_template.c.

#define TR_8 (   dst,
  src,
  dstep,
  sstep,
  assign,
  end 
)
Value:
do { \
int i, j; \
int e_8[4]; \
int o_8[4] = { 0 }; \
for (i = 0; i < 4; i++) \
for (j = 1; j < end; j += 2) \
o_8[i] += transform[4 * j][i] * src[j * sstep]; \
TR_4(e_8, src, 1, 2 * sstep, SET, 4); \
for (i = 0; i < 4; i++) { \
assign(dst[i * dstep], e_8[i] + o_8[i]); \
assign(dst[(7 - i) * dstep], e_8[i] - o_8[i]); \
} \
} while (0)

Definition at line 190 of file hevcdsp_template.c.

#define TR_16 (   dst,
  src,
  dstep,
  sstep,
  assign,
  end 
)
Value:
do { \
int i, j; \
int e_16[8]; \
int o_16[8] = { 0 }; \
for (i = 0; i < 8; i++) \
for (j = 1; j < end; j += 2) \
o_16[i] += transform[2 * j][i] * src[j * sstep]; \
TR_8(e_16, src, 1, 2 * sstep, SET, 8); \
for (i = 0; i < 8; i++) { \
assign(dst[i * dstep], e_16[i] + o_16[i]); \
assign(dst[(15 - i) * dstep], e_16[i] - o_16[i]); \
} \
} while (0)

Definition at line 206 of file hevcdsp_template.c.

#define TR_32 (   dst,
  src,
  dstep,
  sstep,
  assign,
  end 
)
Value:
do { \
int i, j; \
int e_32[16]; \
int o_32[16] = { 0 }; \
for (i = 0; i < 16; i++) \
for (j = 1; j < end; j += 2) \
o_32[i] += transform[j][i] * src[j * sstep]; \
TR_16(e_32, src, 1, 2 * sstep, SET, end/2); \
for (i = 0; i < 16; i++) { \
assign(dst[i * dstep], e_32[i] + o_32[i]); \
assign(dst[(31 - i) * dstep], e_32[i] - o_32[i]); \
} \
} while (0)

Definition at line 222 of file hevcdsp_template.c.

#define IDCT_VAR4 (   H)    int limit2 = FFMIN(col_limit + 4, H)

Definition at line 238 of file hevcdsp_template.c.

#define IDCT_VAR8 (   H)
Value:
int limit = FFMIN(col_limit, H); \
int limit2 = FFMIN(col_limit + 4, H)

Definition at line 240 of file hevcdsp_template.c.

#define IDCT_VAR16 (   H)    IDCT_VAR8(H)

Definition at line 243 of file hevcdsp_template.c.

#define IDCT_VAR32 (   H)    IDCT_VAR8(H)

Definition at line 244 of file hevcdsp_template.c.

#define IDCT (   H)
Value:
static void FUNC(idct_##H ##x ##H )( \
int16_t *coeffs, int col_limit) { \
int i; \
int shift = 7; \
int add = 1 << (shift - 1); \
int16_t *src = coeffs; \
IDCT_VAR ##H(H); \
for (i = 0; i < H; i++) { \
TR_ ## H(src, src, H, H, SCALE, limit2); \
if (limit2 < H && i%4 == 0 && !!i) \
limit2 -= 4; \
src++; \
} \
\
shift = 20 - BIT_DEPTH; \
add = 1 << (shift - 1); \
for (i = 0; i < H; i++) { \
TR_ ## H(coeffs, coeffs, 1, 1, SCALE, limit); \
coeffs += H; \
} \
}

Definition at line 246 of file hevcdsp_template.c.

#define IDCT_DC (   H)
Value:
static void FUNC(idct_##H ##x ##H ##_dc)( \
int16_t *coeffs) { \
int i, j; \
int shift = 14 - BIT_DEPTH; \
int add = 1 << (shift - 1); \
int coeff = (((coeffs[0] + 1) >> 1) + add) >> shift; \
for (j = 0; j < H; j++) { \
for (i = 0; i < H; i++) { \
coeffs[i+j*H] = coeff; \
} \
} \
}

Definition at line 270 of file hevcdsp_template.c.

#define CMP (   a,
  b 
)    ((a) > (b) ? 1 : ((a) == (b) ? 0 : -1))

Definition at line 330 of file hevcdsp_template.c.

Referenced by find_block_motion(), and sao_edge_filter().

#define QPEL_FILTER (   src,
  stride 
)
Value:
(filter[0] * src[x - 3 * stride] + \
filter[1] * src[x - 2 * stride] + \
filter[2] * src[x - stride] + \
filter[3] * src[x ] + \
filter[4] * src[x + stride] + \
filter[5] * src[x + 2 * stride] + \
filter[6] * src[x + 3 * stride] + \
filter[7] * src[x + 4 * stride])

Definition at line 630 of file hevcdsp_template.c.

Referenced by put_hevc_qpel_bi_h(), put_hevc_qpel_bi_hv(), put_hevc_qpel_bi_v(), put_hevc_qpel_bi_w_h(), put_hevc_qpel_bi_w_hv(), put_hevc_qpel_bi_w_v(), put_hevc_qpel_h(), put_hevc_qpel_hv(), put_hevc_qpel_uni_h(), put_hevc_qpel_uni_hv(), put_hevc_qpel_uni_v(), put_hevc_qpel_uni_w_h(), put_hevc_qpel_uni_w_hv(), put_hevc_qpel_uni_w_v(), and put_hevc_qpel_v().

#define EPEL_FILTER (   src,
  stride 
)
#define P3   pix[-4 * xstride]

Definition at line 1518 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define P2   pix[-3 * xstride]

Definition at line 1519 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define P1   pix[-2 * xstride]

Definition at line 1520 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define P0   pix[-1 * xstride]

Definition at line 1521 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q0   pix[0 * xstride]

Definition at line 1522 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q1   pix[1 * xstride]

Definition at line 1523 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q2   pix[2 * xstride]

Definition at line 1524 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define Q3   pix[3 * xstride]

Definition at line 1525 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TP3   pix[-4 * xstride + 3 * ystride]

Definition at line 1528 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TP2   pix[-3 * xstride + 3 * ystride]

Definition at line 1529 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TP1   pix[-2 * xstride + 3 * ystride]

Definition at line 1530 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TP0   pix[-1 * xstride + 3 * ystride]

Definition at line 1531 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TQ0   pix[0 * xstride + 3 * ystride]

Definition at line 1532 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TQ1   pix[1 * xstride + 3 * ystride]

Definition at line 1533 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TQ2   pix[2 * xstride + 3 * ystride]

Definition at line 1534 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define TQ3   pix[3 * xstride + 3 * ystride]

Definition at line 1535 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

Function Documentation

static void FUNC() put_pcm ( uint8_t _dst,
ptrdiff_t  stride,
int  width,
int  height,
GetBitContext gb,
int  pcm_bit_depth 
)
static

Definition at line 30 of file hevcdsp_template.c.

static av_always_inline void FUNC() transquant_bypass ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride,
int  size 
)
static
static void FUNC() transform_add4x4 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)
static

Definition at line 62 of file hevcdsp_template.c.

static void FUNC() transform_add8x8 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)
static

Definition at line 68 of file hevcdsp_template.c.

static void FUNC() transform_add16x16 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)
static

Definition at line 74 of file hevcdsp_template.c.

static void FUNC() transform_add32x32 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)
static

Definition at line 80 of file hevcdsp_template.c.

static void FUNC() transform_rdpcm ( int16_t *  _coeffs,
int16_t  log2_size,
int  mode 
)
static

Definition at line 87 of file hevcdsp_template.c.

static void FUNC() transform_skip ( int16_t *  _coeffs,
int16_t  log2_size 
)
static

Definition at line 109 of file hevcdsp_template.c.

static void FUNC() transform_4x4_luma ( int16_t *  coeffs)
static

Definition at line 155 of file hevcdsp_template.c.

static void FUNC() sao_band_filter_0 ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
ptrdiff_t  stride_src,
SAOParams sao,
int *  borders,
int  width,
int  height,
int  c_idx 
)
static

Definition at line 304 of file hevcdsp_template.c.

static void FUNC() sao_edge_filter ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
ptrdiff_t  stride_src,
SAOParams sao,
int  width,
int  height,
int  c_idx,
int  init_x,
int  init_y 
)
static

Definition at line 332 of file hevcdsp_template.c.

Referenced by sao_edge_filter_0(), and sao_edge_filter_1().

static void FUNC() sao_edge_filter_0 ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
ptrdiff_t  stride_src,
SAOParams sao,
int *  borders,
int  _width,
int  _height,
int  c_idx,
uint8_t vert_edge,
uint8_t horiz_edge,
uint8_t diag_edge 
)
static

Definition at line 373 of file hevcdsp_template.c.

static void FUNC() sao_edge_filter_1 ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
ptrdiff_t  stride_src,
SAOParams sao,
int *  borders,
int  _width,
int  _height,
int  c_idx,
uint8_t vert_edge,
uint8_t horiz_edge,
uint8_t diag_edge 
)
static

Definition at line 426 of file hevcdsp_template.c.

static void FUNC() put_hevc_pel_pixels ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 519 of file hevcdsp_template.c.

static void FUNC() put_hevc_pel_uni_pixels ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 535 of file hevcdsp_template.c.

static void FUNC() put_hevc_pel_bi_pixels ( 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 
)
static

Definition at line 551 of file hevcdsp_template.c.

static void FUNC() put_hevc_pel_uni_w_pixels ( 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 
)
static

Definition at line 577 of file hevcdsp_template.c.

static void FUNC() put_hevc_pel_bi_w_pixels ( 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 
)
static

Definition at line 601 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_h ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 640 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_v ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 656 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_hv ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 672 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_h ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 704 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_h ( 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 
)
static

Definition at line 730 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_v ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 758 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_v ( 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 
)
static

Definition at line 785 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_hv ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 813 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_hv ( 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 
)
static

Definition at line 853 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_w_h ( 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 
)
static

Definition at line 893 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_w_h ( 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 
)
static

Definition at line 920 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_w_v ( 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 
)
static

Definition at line 948 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_w_v ( 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 
)
static

Definition at line 975 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_uni_w_hv ( 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 
)
static

Definition at line 1003 of file hevcdsp_template.c.

static void FUNC() put_hevc_qpel_bi_w_hv ( 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 
)
static

Definition at line 1044 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_h ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1093 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_v ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1109 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_hv ( int16_t *  dst,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1126 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_h ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1157 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_h ( 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 
)
static

Definition at line 1181 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_v ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1208 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_v ( 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 
)
static

Definition at line 1232 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_hv ( uint8_t _dst,
ptrdiff_t  _dststride,
uint8_t _src,
ptrdiff_t  _srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 1258 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_hv ( 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 
)
static

Definition at line 1296 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_w_h ( 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 
)
static

Definition at line 1336 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_w_h ( 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 
)
static

Definition at line 1362 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_w_v ( 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 
)
static

Definition at line 1388 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_w_v ( 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 
)
static

Definition at line 1414 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_uni_w_hv ( 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 
)
static

Definition at line 1440 of file hevcdsp_template.c.

static void FUNC() put_hevc_epel_bi_w_hv ( 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 
)
static

Definition at line 1479 of file hevcdsp_template.c.

static void FUNC() hevc_loop_filter_luma ( uint8_t _pix,
ptrdiff_t  _xstride,
ptrdiff_t  _ystride,
int  beta,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)
static

Definition at line 1537 of file hevcdsp_template.c.

Referenced by hevc_h_loop_filter_luma(), and hevc_v_loop_filter_luma().

static void FUNC() hevc_loop_filter_chroma ( uint8_t _pix,
ptrdiff_t  _xstride,
ptrdiff_t  _ystride,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)
static

Definition at line 1633 of file hevcdsp_template.c.

Referenced by hevc_h_loop_filter_chroma(), and hevc_v_loop_filter_chroma().

static void FUNC() hevc_h_loop_filter_chroma ( uint8_t pix,
ptrdiff_t  stride,
int32_t tc,
uint8_t no_p,
uint8_t no_q 
)
static

Definition at line 1667 of file hevcdsp_template.c.

static void FUNC() hevc_v_loop_filter_chroma ( uint8_t pix,
ptrdiff_t  stride,
int32_t tc,
uint8_t no_p,
uint8_t no_q 
)
static

Definition at line 1674 of file hevcdsp_template.c.

static void FUNC() hevc_h_loop_filter_luma ( uint8_t pix,
ptrdiff_t  stride,
int  beta,
int32_t tc,
uint8_t no_p,
uint8_t no_q 
)
static

Definition at line 1681 of file hevcdsp_template.c.

static void FUNC() hevc_v_loop_filter_luma ( uint8_t pix,
ptrdiff_t  stride,
int  beta,
int32_t tc,
uint8_t no_p,
uint8_t no_q 
)
static

Definition at line 1689 of file hevcdsp_template.c.