FFmpeg
Macros | Functions
hevcdsp_template.c File Reference
#include "get_bits.h"
#include "hevcdec.h"
#include "bit_depth_template.c"
#include "hevcdsp.h"
#include "h26x/h2656_sao_template.c"
#include "h26x/h2656_inter_template.c"
#include "h26x/h2656_deblock_template.c"

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 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 *_dst, const int16_t *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)
 
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 ox0, int ox1, 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 ox0, int ox1, 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 ox0, int ox1, 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 ox0, int ox1, 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 ox0, int ox1, 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 ox0, int ox1, 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 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, 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,
 
)    (dst) = (x)

Definition at line 133 of file hevcdsp_template.c.

◆ SCALE

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

Definition at line 134 of file hevcdsp_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)

Definition at line 136 of file hevcdsp_template.c.

◆ 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 173 of file hevcdsp_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)

Definition at line 186 of file hevcdsp_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 202 of file hevcdsp_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 218 of file hevcdsp_template.c.

◆ IDCT_VAR4

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

Definition at line 234 of file hevcdsp_template.c.

◆ IDCT_VAR8

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

Definition at line 236 of file hevcdsp_template.c.

◆ IDCT_VAR16

#define IDCT_VAR16 (   H)    IDCT_VAR8(H)

Definition at line 239 of file hevcdsp_template.c.

◆ IDCT_VAR32

#define IDCT_VAR32 (   H)    IDCT_VAR8(H)

Definition at line 240 of file hevcdsp_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; \
} \
}

Definition at line 242 of file hevcdsp_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; \
} \
} \
}

Definition at line 267 of file hevcdsp_template.c.

◆ ff_hevc_pel_filters

#define ff_hevc_pel_filters   ff_hevc_qpel_filters

Definition at line 303 of file hevcdsp_template.c.

◆ DECL_HV_FILTER

#define DECL_HV_FILTER (   f)
Value:
const uint8_t *hf = ff_hevc_ ## f ## _filters[mx]; \
const uint8_t *vf = ff_hevc_ ## f ## _filters[my];

Definition at line 304 of file hevcdsp_template.c.

◆ FW_PUT

#define FW_PUT (   p,
  f,
 
)
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); \
}

Definition at line 308 of file hevcdsp_template.c.

◆ FW_PUT_UNI

#define FW_PUT_UNI (   p,
  f,
 
)
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 316 of file hevcdsp_template.c.

◆ FW_PUT_UNI_W

#define FW_PUT_UNI_W (   p,
  f,
 
)
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 324 of file hevcdsp_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)

Definition at line 333 of file hevcdsp_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])

Definition at line 404 of file hevcdsp_template.c.

◆ 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 609 of file hevcdsp_template.c.

◆ P3

#define P3   pix[-4 * xstride]

Definition at line 801 of file hevcdsp_template.c.

◆ P2

#define P2   pix[-3 * xstride]

Definition at line 802 of file hevcdsp_template.c.

◆ P1

#define P1   pix[-2 * xstride]

Definition at line 803 of file hevcdsp_template.c.

◆ P0

#define P0   pix[-1 * xstride]

Definition at line 804 of file hevcdsp_template.c.

◆ Q0

#define Q0   pix[0 * xstride]

Definition at line 805 of file hevcdsp_template.c.

◆ Q1

#define Q1   pix[1 * xstride]

Definition at line 806 of file hevcdsp_template.c.

◆ Q2

#define Q2   pix[2 * xstride]

Definition at line 807 of file hevcdsp_template.c.

◆ Q3

#define Q3   pix[3 * xstride]

Definition at line 808 of file hevcdsp_template.c.

◆ TP3

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

Definition at line 811 of file hevcdsp_template.c.

◆ TP2

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

Definition at line 812 of file hevcdsp_template.c.

◆ TP1

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

Definition at line 813 of file hevcdsp_template.c.

◆ TP0

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

Definition at line 814 of file hevcdsp_template.c.

◆ TQ0

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

Definition at line 815 of file hevcdsp_template.c.

◆ TQ1

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

Definition at line 816 of file hevcdsp_template.c.

◆ TQ2

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

Definition at line 817 of file hevcdsp_template.c.

◆ TQ3

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

Definition at line 818 of file hevcdsp_template.c.

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 hevcdsp_template.c.

◆ add_residual()

static av_always_inline void FUNC() add_residual ( uint8_t *  _dst,
const int16_t *  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 63 of file hevcdsp_template.c.

◆ add_residual8x8()

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

Definition at line 69 of file hevcdsp_template.c.

◆ add_residual16x16()

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

Definition at line 75 of file hevcdsp_template.c.

◆ add_residual32x32()

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

Definition at line 81 of file hevcdsp_template.c.

◆ transform_rdpcm()

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

Definition at line 87 of file hevcdsp_template.c.

◆ dequant()

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

Definition at line 109 of file hevcdsp_template.c.

◆ transform_4x4_luma()

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

Definition at line 151 of file hevcdsp_template.c.

◆ 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 349 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 375 of file hevcdsp_template.c.

◆ 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 414 of file hevcdsp_template.c.

◆ 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 442 of file hevcdsp_template.c.

◆ 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 470 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 510 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 538 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 566 of file hevcdsp_template.c.

◆ 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 615 of file hevcdsp_template.c.

◆ 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 642 of file hevcdsp_template.c.

◆ 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 668 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 708 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 734 of file hevcdsp_template.c.

◆ 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  ox0,
int  ox1,
intptr_t  mx,
intptr_t  my,
int  width 
)
static

Definition at line 760 of file hevcdsp_template.c.

◆ 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

Definition at line 822 of file hevcdsp_template.c.

Referenced by hevc_h_loop_filter_luma(), and hevc_v_loop_filter_luma().

◆ 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

Definition at line 867 of file hevcdsp_template.c.

Referenced by hevc_h_loop_filter_chroma(), and hevc_v_loop_filter_chroma().

◆ 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 888 of file hevcdsp_template.c.

◆ 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 895 of file hevcdsp_template.c.

◆ 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 902 of file hevcdsp_template.c.

◆ 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 910 of file hevcdsp_template.c.

BIT_DEPTH
#define BIT_DEPTH
Definition: aom_film_grain.c:61
step
trying all byte sequences megabyte in length and selecting the best looking sequence will yield cases to try But a word about which is also called distortion Distortion can be quantified by almost any quality measurement one chooses the sum of squared differences is used but more complex methods that consider psychovisual effects can be used as well It makes no difference in this discussion First step
Definition: rate_distortion.txt:58
SET
#define SET(dst, x)
Definition: hevcdsp_template.c:133
filter
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
Definition: filter_design.txt:228
c1
static const uint64_t c1
Definition: murmur3.c:52
width
#define width
FUNC
static void FUNC(ff_hevc_idct_4x4, BIT_DEPTH)
Definition: hevcdsp_template.c:21
transform
static const int8_t transform[32][32]
Definition: hevcdsp.c:27
f
f
Definition: af_crystalizer.c:121
shift
static int shift(int a, int b)
Definition: bonk.c:262
for
for(k=2;k<=8;++k)
Definition: h264pred_template.c:425
height
#define height
H
#define H
Definition: pixlet.c:38
SCALE
#define SCALE(dst, x)
Definition: hevcdsp_template.c:134
assign
#define assign(var, type, n)
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:255
FFMIN
#define FFMIN(a, b)
Definition: macros.h:49
limit
static double limit(double x)
Definition: vf_pseudocolor.c:142
stride
#define stride
Definition: h264pred_template.c:537
c2
static const uint64_t c2
Definition: murmur3.c:53
_
#define _
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418
coeff
static const double coeff[2][5]
Definition: vf_owdenoise.c:79
FW_PUT
#define FW_PUT(p, f, t)
Definition: hevcdsp_template.c:308