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 "hevcdec.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 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)) - ((a) < (b)))
 
#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() add_residual (uint8_t *_dst, int16_t *res, ptrdiff_t stride, int size)
 
static void FUNC() add_residual4x4 (uint8_t *_dst, int16_t *res, ptrdiff_t stride)
 
static void FUNC() add_residual8x8 (uint8_t *_dst, int16_t *res, ptrdiff_t stride)
 
static void FUNC() add_residual16x16 (uint8_t *_dst, int16_t *res, ptrdiff_t stride)
 
static void FUNC() add_residual32x32 (uint8_t *_dst, int16_t *res, ptrdiff_t stride)
 
static void FUNC() transform_rdpcm (int16_t *_coeffs, int16_t log2_size, int mode)
 
static void FUNC() dequant (int16_t *coeffs, int16_t log2_size)
 
static void FUNC() transform_4x4_luma (int16_t *coeffs)
 
static void FUNC() sao_band_filter (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int16_t *sao_offset_val, int sao_left_class, int width, int height)
 
static void FUNC() sao_edge_filter (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, int eo, int width, int height)
 
static void FUNC() sao_edge_restore_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_restore_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 131 of file hevcdsp_template.c.

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

Definition at line 132 of file hevcdsp_template.c.

Referenced by transform_4x4_luma().

#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)
#define src
Definition: vp8dsp.c:254
static const uint64_t c1
Definition: murmur3.c:49
int
#define assign(var, type, n)
static const uint64_t c2
Definition: murmur3.c:50

Definition at line 134 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)
#define src
Definition: vp8dsp.c:254
#define assign(var, type, n)

Definition at line 171 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)
#define src
Definition: vp8dsp.c:254
#define SET(dst, x)
static av_cold int end(AVCodecContext *avctx)
Definition: avrndec.c:90
static const int8_t transform[32][32]
Definition: hevcdsp.c:27
int
#define assign(var, type, n)
#define TR_4(dst, src, dstep, sstep, assign, end)
for(j=16;j >0;--j)

Definition at line 184 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)
#define src
Definition: vp8dsp.c:254
#define SET(dst, x)
static av_cold int end(AVCodecContext *avctx)
Definition: avrndec.c:90
static const int8_t transform[32][32]
Definition: hevcdsp.c:27
int
#define assign(var, type, n)
for(j=16;j >0;--j)
#define TR_8(dst, src, dstep, sstep, assign, end)

Definition at line 200 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)
#define src
Definition: vp8dsp.c:254
#define SET(dst, x)
static av_cold int end(AVCodecContext *avctx)
Definition: avrndec.c:90
#define TR_16(dst, src, dstep, sstep, assign, end)
static const int8_t transform[32][32]
Definition: hevcdsp.c:27
int
#define assign(var, type, n)
for(j=16;j >0;--j)

Definition at line 216 of file hevcdsp_template.c.

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

Definition at line 232 of file hevcdsp_template.c.

#define IDCT_VAR8 (   H)
Value:
int limit = FFMIN(col_limit, H); \
int limit2 = FFMIN(col_limit + 4, H)
#define FFMIN(a, b)
Definition: common.h:96
int
#define H
Definition: pixlet.c:37

Definition at line 234 of file hevcdsp_template.c.

#define IDCT_VAR16 (   H)    IDCT_VAR8(H)

Definition at line 237 of file hevcdsp_template.c.

#define IDCT_VAR32 (   H)    IDCT_VAR8(H)

Definition at line 238 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; \
} \
}
static int shift(int a, int b)
Definition: sonic.c:82
#define BIT_DEPTH
#define src
Definition: vp8dsp.c:254
static void FUNC(ff_hevc_idct_4x4, BIT_DEPTH)
#define SCALE(dst, x)
int
if(ret< 0)
Definition: vf_mcdeint.c:279
static const int16_t coeffs[]
#define H
Definition: pixlet.c:37
for(j=16;j >0;--j)

Definition at line 240 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 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; \
} \
} \
}
static int shift(int a, int b)
Definition: sonic.c:82
#define BIT_DEPTH
static void FUNC(ff_hevc_idct_4x4, BIT_DEPTH)
int
static const int16_t coeffs[]
#define H
Definition: pixlet.c:37
static const double coeff[2][5]
Definition: vf_owdenoise.c:72
for(j=16;j >0;--j)

Definition at line 265 of file hevcdsp_template.c.

#define CMP (   a,
  b 
)    (((a) > (b)) - ((a) < (b)))

Definition at line 322 of file hevcdsp_template.c.

Referenced by 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])
#define src
Definition: vp8dsp.c:254
static void filter(int16_t *output, ptrdiff_t out_stride, int16_t *low, ptrdiff_t low_stride, int16_t *high, ptrdiff_t high_stride, int len, uint8_t clip)
Definition: cfhd.c:80
#define stride

Definition at line 607 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 
)
Value:
(filter[0] * src[x - stride] + \
filter[1] * src[x] + \
filter[2] * src[x + stride] + \
filter[3] * src[x + 2 * stride])
#define src
Definition: vp8dsp.c:254
static void filter(int16_t *output, ptrdiff_t out_stride, int16_t *low, ptrdiff_t low_stride, int16_t *high, ptrdiff_t high_stride, int len, uint8_t clip)
Definition: cfhd.c:80
#define stride

Definition at line 1064 of file hevcdsp_template.c.

Referenced by put_hevc_epel_bi_h(), put_hevc_epel_bi_hv(), put_hevc_epel_bi_v(), put_hevc_epel_bi_w_h(), put_hevc_epel_bi_w_hv(), put_hevc_epel_bi_w_v(), put_hevc_epel_h(), put_hevc_epel_hv(), put_hevc_epel_uni_h(), put_hevc_epel_uni_hv(), put_hevc_epel_uni_v(), put_hevc_epel_uni_w_h(), put_hevc_epel_uni_w_hv(), put_hevc_epel_uni_w_v(), and put_hevc_epel_v().

#define P3   pix[-4 * xstride]

Definition at line 1497 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define P2   pix[-3 * xstride]

Definition at line 1498 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define P1   pix[-2 * xstride]

Definition at line 1499 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define P0   pix[-1 * xstride]

Definition at line 1500 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q0   pix[0 * xstride]

Definition at line 1501 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q1   pix[1 * xstride]

Definition at line 1502 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_chroma(), and hevc_loop_filter_luma().

#define Q2   pix[2 * xstride]

Definition at line 1503 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

#define Q3   pix[3 * xstride]

Definition at line 1504 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1507 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1508 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1509 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1510 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1511 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1512 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1513 of file hevcdsp_template.c.

Referenced by hevc_loop_filter_luma().

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

Definition at line 1514 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 29 of file hevcdsp_template.c.

static av_always_inline void FUNC() add_residual ( uint8_t _dst,
int16_t *  res,
ptrdiff_t  stride,
int  size 
)
static
static void FUNC() add_residual4x4 ( uint8_t _dst,
int16_t *  res,
ptrdiff_t  stride 
)
static

Definition at line 61 of file hevcdsp_template.c.

static void FUNC() add_residual8x8 ( uint8_t _dst,
int16_t *  res,
ptrdiff_t  stride 
)
static

Definition at line 67 of file hevcdsp_template.c.

static void FUNC() add_residual16x16 ( uint8_t _dst,
int16_t *  res,
ptrdiff_t  stride 
)
static

Definition at line 73 of file hevcdsp_template.c.

static void FUNC() add_residual32x32 ( uint8_t _dst,
int16_t *  res,
ptrdiff_t  stride 
)
static

Definition at line 79 of file hevcdsp_template.c.

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

Definition at line 85 of file hevcdsp_template.c.

static void FUNC() dequant ( int16_t *  coeffs,
int16_t  log2_size 
)
static

Definition at line 107 of file hevcdsp_template.c.

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

Definition at line 149 of file hevcdsp_template.c.

static void FUNC() sao_band_filter ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
ptrdiff_t  stride_src,
int16_t *  sao_offset_val,
int  sao_left_class,
int  width,
int  height 
)
static

Definition at line 298 of file hevcdsp_template.c.

static void FUNC() sao_edge_filter ( uint8_t _dst,
uint8_t _src,
ptrdiff_t  stride_dst,
int16_t *  sao_offset_val,
int  eo,
int  width,
int  height 
)
static

Definition at line 324 of file hevcdsp_template.c.

static void FUNC() sao_edge_restore_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 355 of file hevcdsp_template.c.

static void FUNC() sao_edge_restore_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 405 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 496 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 512 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 528 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 554 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 578 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 617 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 633 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 649 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 681 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 707 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 735 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 762 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 790 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 830 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 870 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 897 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 925 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 952 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 980 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 1021 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 1070 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 1086 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 1103 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 1134 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 1158 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 1185 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 1209 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 1235 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 1273 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 1313 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 1339 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 1365 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 1391 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 1417 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 1456 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 1516 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 1612 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 1646 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 1653 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 1660 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 1668 of file hevcdsp_template.c.