FFmpeg
Loading...
Searching...
No Matches
dsp_template.c File Reference

Go to the source code of this file.

Macros

#define SET(dst, x)
 
#define SCALE(dst, x)
 
#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)
 
#define IDCT_VAR8(H)
 
#define IDCT_VAR16(H)
 
#define IDCT_VAR32(H)
 
#define IDCT(H)
 
#define IDCT_DC(H)
 
#define ff_hevc_pel_filters   ff_hevc_qpel_filters
 
#define DECL_HV_FILTER(f)
 
#define FW_PUT(p, f, t)
 
#define FW_PUT_UNI(p, f, t)
 
#define FW_PUT_UNI_W(p, f, t)
 
#define FW_PUT_FUNCS(f, t, dir)
 
#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 *restrict dst8, const int16_t *restrict res, ptrdiff_t stride, int size)
 
static void FUNC add_residual4x4 (uint8_t *_dst, const int16_t *res, ptrdiff_t stride)
 
static void FUNC add_residual8x8 (uint8_t *_dst, const int16_t *res, ptrdiff_t stride)
 
static void FUNC add_residual16x16 (uint8_t *_dst, const int16_t *res, ptrdiff_t stride)
 
static void FUNC add_residual32x32 (uint8_t *_dst, const 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)
 HEVC transform dequantization (ITU-T H.265 8.6.3)
 
static void FUNC transform_4x4_luma (int16_t *coeffs)
 
static void FUNC put_hevc_pel_bi_pixels (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_pel_bi_w_pixels (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_qpel_bi_h (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_qpel_bi_v (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_qpel_bi_hv (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_qpel_bi_w_h (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, 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, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, 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, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_epel_bi_h (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_epel_bi_v (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_epel_bi_hv (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
static void FUNC put_hevc_epel_bi_w_h (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, 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, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, 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, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox, 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, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q)
 
static void FUNC hevc_loop_filter_chroma (uint8_t *_pix, ptrdiff_t _xstride, ptrdiff_t _ystride, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q)
 
static void FUNC hevc_h_loop_filter_chroma (uint8_t *pix, ptrdiff_t stride, const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q)
 
static void FUNC hevc_v_loop_filter_chroma (uint8_t *pix, ptrdiff_t stride, const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q)
 
static void FUNC hevc_h_loop_filter_luma (uint8_t *pix, ptrdiff_t stride, int beta, const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q)
 
static void FUNC hevc_v_loop_filter_luma (uint8_t *pix, ptrdiff_t stride, int beta, const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q)
 

Macro Definition Documentation

◆ SET

#define SET ( dst,
x )
Value:
(dst) = (x)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87

Definition at line 152 of file dsp_template.c.

◆ SCALE

#define SCALE ( dst,
x )
Value:
(dst) = av_clip_int16(((x) + add) >> shift)
#define av_clip_int16
Definition common.h:115
static int shift(int a, int b)
Definition bonk.c:261

Definition at line 153 of file dsp_template.c.

◆ TR_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)
static const uint64_t c2
Definition murmur3.c:53
static const uint64_t c1
Definition murmur3.c:52
#define src
Definition vp8dsp.c:248

Definition at line 155 of file dsp_template.c.

Referenced by transform_4x4_luma().

◆ TR_4

#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 192 of file dsp_template.c.

◆ TR_8

#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 SET(member)
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
static const int8_t transform[32][32]
Definition dsp.c:27

Definition at line 205 of file dsp_template.c.

◆ TR_16

#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 221 of file dsp_template.c.

◆ TR_32

#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 237 of file dsp_template.c.

◆ IDCT_VAR4

#define IDCT_VAR4 ( H)
Value:
int limit2 = FFMIN(col_limit + 4, H)
#define FFMIN(a, b)
Definition macros.h:49
#define H
Definition pixlet.c:39

Definition at line 253 of file dsp_template.c.

◆ IDCT_VAR8

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

Definition at line 255 of file dsp_template.c.

◆ IDCT_VAR16

#define IDCT_VAR16 ( H)
Value:
#define IDCT_VAR8(H)

Definition at line 258 of file dsp_template.c.

◆ IDCT_VAR32

#define IDCT_VAR32 ( H)
Value:

Definition at line 259 of file dsp_template.c.

◆ IDCT

#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; \
} \
}
#define BIT_DEPTH
Definition dsp_init.c:121
#define FUNC(a)
#define SCALE(c)
Definition dcadata.c:7338

Definition at line 261 of file dsp_template.c.

◆ IDCT_DC

#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; \
} \
} \
}
static const double coeff[2][5]

Definition at line 286 of file dsp_template.c.

◆ ff_hevc_pel_filters

#define ff_hevc_pel_filters   ff_hevc_qpel_filters

Definition at line 322 of file dsp_template.c.

◆ DECL_HV_FILTER

#define DECL_HV_FILTER ( f)
Value:
const int8_t *hf = ff_hevc_ ## f ## _filters[mx]; \
const int8_t *vf = ff_hevc_ ## f ## _filters[my];
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int const int8_t const int8_t * vf
Definition dsp.h:262
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int const int8_t * hf
Definition dsp.h:262
#define f(width, name)
Definition cbs_vp8.c:236

Definition at line 323 of file dsp_template.c.

◆ FW_PUT

#define FW_PUT ( p,
f,
t )
Value:
static void FUNC(put_hevc_## f)(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, \
intptr_t mx, intptr_t my, int width) \
{ \
DECL_HV_FILTER(p) \
FUNC(put_ ## t)(dst, src, srcstride, height, hf, vf, width); \
}
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t const uint8_t ptrdiff_t srcstride
Definition dsp.h:88
#define height
Definition dsp.h:89
#define width
Definition dsp.h:89

Definition at line 327 of file dsp_template.c.

◆ FW_PUT_UNI

#define FW_PUT_UNI ( p,
f,
t )
Value:
static void FUNC(put_hevc_ ## f)(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width) \
{ \
DECL_HV_FILTER(p) \
FUNC(put_ ## t)(dst, dststride, src, srcstride, height, hf, vf, width); \
}

Definition at line 335 of file dsp_template.c.

◆ FW_PUT_UNI_W

#define FW_PUT_UNI_W ( p,
f,
t )
Value:
static void FUNC(put_hevc_ ## f)(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
ptrdiff_t srcstride,int height, int denom, int wx, int ox, \
intptr_t mx, intptr_t my, int width) \
{ \
DECL_HV_FILTER(p) \
FUNC(put_ ## t)(dst, dststride, src, srcstride, height, denom, wx, ox, hf, vf, width); \
}

Definition at line 343 of file dsp_template.c.

◆ FW_PUT_FUNCS

#define FW_PUT_FUNCS ( f,
t,
dir )
Value:
FW_PUT(f, f ## _ ## dir, t ## _ ## dir) \
FW_PUT_UNI(f, f ## _uni_ ## dir, uni_ ## t ## _ ## dir) \
FW_PUT_UNI_W(f, f ## _uni_w_ ## dir, uni_## t ## _w_ ## dir)
#define _
#define FW_PUT(p, f, t)

Definition at line 352 of file dsp_template.c.

◆ QPEL_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 stride
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29

Definition at line 422 of file dsp_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(), and put_hevc_qpel_bi_w_v().

◆ EPEL_FILTER

#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])

Definition at line 624 of file dsp_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(), and put_hevc_epel_bi_w_v().

◆ P3

◆ P2

#define P2   pix[-3 * xstride]

Definition at line 814 of file dsp_template.c.

◆ P1

#define P1   pix[-2 * xstride]

Definition at line 815 of file dsp_template.c.

◆ P0

#define P0   pix[-1 * xstride]

Definition at line 816 of file dsp_template.c.

◆ Q0

#define Q0   pix[0 * xstride]

Definition at line 817 of file dsp_template.c.

◆ Q1

#define Q1   pix[1 * xstride]

Definition at line 818 of file dsp_template.c.

◆ Q2

#define Q2   pix[2 * xstride]

Definition at line 819 of file dsp_template.c.

◆ Q3

◆ TP3

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

◆ TP2

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

◆ TP1

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

◆ TP0

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

◆ TQ0

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

◆ TQ1

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

◆ TQ2

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

◆ TQ3

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

Function Documentation

◆ put_pcm()

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 31 of file dsp_template.c.

Referenced by put_pcm().

◆ add_residual()

static av_always_inline void FUNC add_residual ( uint8_t *restrict dst8,
const int16_t *restrict res,
ptrdiff_t stride,
int size )
static

◆ add_residual4x4()

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

Definition at line 61 of file dsp_template.c.

Referenced by add_residual4x4().

◆ add_residual8x8()

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

Definition at line 67 of file dsp_template.c.

Referenced by add_residual8x8().

◆ add_residual16x16()

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

Definition at line 73 of file dsp_template.c.

Referenced by add_residual16x16().

◆ add_residual32x32()

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

Definition at line 79 of file dsp_template.c.

Referenced by add_residual32x32().

◆ transform_rdpcm()

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

Definition at line 85 of file dsp_template.c.

Referenced by transform_rdpcm().

◆ dequant()

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

HEVC transform dequantization (ITU-T H.265 8.6.3)

Parameters
coeffstransform coefficient buffer (in-place)
log2_sizelog2 of transform block size, range: 2..5 (4x4 to 32x32) This value comes from recursive split_transform_flag parsing in the bitstream, bounded by log2_min_tb_size (min 2) and log2_max_trafo_size (max 5) from SPS.

Formula: shift = 15 - BIT_DEPTH - log2_size

bit_depth | 4x4 (2) | 8x8 (3) | 16x16 (4) | 32x32 (5) -------—+------—+------—+--------—+-------— 8-bit | 5 | 4 | 3 | 2 (shift right) 10-bit | 3 | 2 | 1 | 0 (shift right / no-op) 12-bit | 1 | 0 | -1 | -2 (shift right / no-op / shift left)

When shift == 0, output equals input (identity transform), so we skip the loop entirely for better performance.

Definition at line 127 of file dsp_template.c.

◆ transform_4x4_luma()

static void FUNC transform_4x4_luma ( int16_t * coeffs)
static

Definition at line 170 of file dsp_template.c.

Referenced by transform_4x4_luma().

◆ put_hevc_pel_bi_pixels()

static void FUNC put_hevc_pel_bi_pixels ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 368 of file dsp_template.c.

Referenced by put_hevc_pel_bi_pixels().

◆ put_hevc_pel_bi_w_pixels()

static void FUNC put_hevc_pel_bi_w_pixels ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 394 of file dsp_template.c.

Referenced by put_hevc_pel_bi_w_pixels().

◆ put_hevc_qpel_bi_h()

static void FUNC put_hevc_qpel_bi_h ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 432 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_h().

◆ put_hevc_qpel_bi_v()

static void FUNC put_hevc_qpel_bi_v ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 460 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_v().

◆ put_hevc_qpel_bi_hv()

static void FUNC put_hevc_qpel_bi_hv ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 488 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_hv().

◆ put_hevc_qpel_bi_w_h()

static void FUNC put_hevc_qpel_bi_w_h ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 528 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_w_h().

◆ put_hevc_qpel_bi_w_v()

static void FUNC put_hevc_qpel_bi_w_v ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 555 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_w_v().

◆ put_hevc_qpel_bi_w_hv()

static void FUNC put_hevc_qpel_bi_w_hv ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 582 of file dsp_template.c.

Referenced by put_hevc_qpel_bi_w_hv().

◆ put_hevc_epel_bi_h()

static void FUNC put_hevc_epel_bi_h ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 630 of file dsp_template.c.

Referenced by put_hevc_epel_bi_h().

◆ put_hevc_epel_bi_v()

static void FUNC put_hevc_epel_bi_v ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 657 of file dsp_template.c.

Referenced by put_hevc_epel_bi_v().

◆ put_hevc_epel_bi_hv()

static void FUNC put_hevc_epel_bi_hv ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 683 of file dsp_template.c.

Referenced by put_hevc_epel_bi_hv().

◆ put_hevc_epel_bi_w_h()

static void FUNC put_hevc_epel_bi_w_h ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 723 of file dsp_template.c.

Referenced by put_hevc_epel_bi_w_h().

◆ put_hevc_epel_bi_w_v()

static void FUNC put_hevc_epel_bi_w_v ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 748 of file dsp_template.c.

Referenced by put_hevc_epel_bi_w_v().

◆ put_hevc_epel_bi_w_hv()

static void FUNC put_hevc_epel_bi_w_hv ( uint8_t * _dst,
ptrdiff_t _dststride,
const uint8_t * _src,
ptrdiff_t _srcstride,
const int16_t * src2,
int height,
int denom,
int wx0,
int wx1,
int ox,
intptr_t mx,
intptr_t my,
int width )
static

Definition at line 773 of file dsp_template.c.

Referenced by put_hevc_epel_bi_w_hv().

◆ hevc_loop_filter_luma()

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

◆ hevc_loop_filter_chroma()

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

◆ hevc_h_loop_filter_chroma()

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

Definition at line 900 of file dsp_template.c.

Referenced by hevc_h_loop_filter_chroma().

◆ hevc_v_loop_filter_chroma()

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

Definition at line 907 of file dsp_template.c.

Referenced by hevc_v_loop_filter_chroma().

◆ hevc_h_loop_filter_luma()

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

Definition at line 914 of file dsp_template.c.

Referenced by hevc_h_loop_filter_luma().

◆ hevc_v_loop_filter_luma()

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

Definition at line 922 of file dsp_template.c.

Referenced by hevc_v_loop_filter_luma().