FFmpeg
Macros | Functions | Variables
vp9dsp_template.c File Reference
#include "libavutil/common.h"
#include "bit_depth_template.c"
#include "vp9dsp.h"

Go to the source code of this file.

Macros

#define DST(x, y)   dst[(x) + (y) * stride]
 
#define def_diag_downleft(size)
 
#define def_diag_downright(size)
 
#define def_vert_right(size)
 
#define def_hor_down(size)
 
#define def_vert_left(size)
 
#define def_hor_up(size)
 
#define init_intra_pred_bd_aware(tx, sz)
 
#define init_intra_pred(tx, sz)
 
#define itxfm_wrapper(type_a, type_b, sz, bits, has_dconly)
 
#define itxfm_wrap(sz, bits)
 
#define IN(x)   ((dctint) in[(x) * stride])
 
#define init_itxfm(tx, sz)
 
#define init_idct(tx, nm)
 
#define lf_8_fn(dir, wd, stridea, strideb)
 
#define lf_8_fns(wd)
 
#define lf_16_fn(dir, stridea)
 
#define lf_mix_fn(dir, wd1, wd2, stridea)
 
#define lf_mix_fns(wd1, wd2)
 
#define fpel_fn(type, sz)
 
#define copy_avg_fn(sz)
 
#define FILTER_8TAP(src, x, F, stride)
 
#define filter_8tap_1d_fn(opn, opa, dir, ds)
 
#define filter_8tap_2d_fn(opn, opa)
 
#define filter_fn_1d(sz, dir, dir_m, type, type_idx, avg)
 
#define filter_fn_2d(sz, type, type_idx, avg)
 
#define FILTER_BILIN(src, x, mxy, stride)   (src[x] + ((mxy * (src[x + stride] - src[x]) + 8) >> 4))
 
#define bilin_1d_fn(opn, opa, dir, ds)
 
#define bilin_2d_fn(opn, opa)
 
#define bilinf_fn_1d(sz, dir, dir_m, avg)
 
#define bilinf_fn_2d(sz, avg)
 
#define filter_fn(sz, avg)
 
#define filter_fn_set(avg)
 
#define init_fpel(idx1, idx2, sz, type)
 
#define init_copy_avg(idx, sz)
 
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type)
 
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type)
 
#define init_subpel2(idx, idxh, idxv, dir, type)
 
#define init_subpel3(idx, type)
 
#define scaled_filter_8tap_fn(opn, opa)
 
#define scaled_filter_fn(sz, type, type_idx, avg)
 
#define scaled_bilin_fn(opn, opa)
 
#define scaled_bilinf_fn(sz, avg)
 
#define scaled_filter_fns(sz, avg)
 
#define scaled_filter_fn_set(avg)
 
#define init_scaled_bd_aware(idx1, idx2, sz, type)
 
#define init_scaled(idx1, idx2, sz, type)
 
#define init_scaled_put_avg(idx, sz)
 

Functions

static void vert_4x4_c (uint8_t *restrict _dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_8x8_c (uint8_t *restrict _dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_16x16_c (uint8_t *restrict _dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_32x32_c (uint8_t *restrict _dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void hor_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void hor_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void hor_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void hor_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void tm_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void tm_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void tm_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void tm_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void dc_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void dc_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void dc_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void dc_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *_top)
 
static void dc_left_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void dc_left_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void dc_left_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void dc_left_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *_left, const uint8_t *top)
 
static void dc_top_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void dc_top_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void dc_top_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void dc_top_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void dc_128_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_128_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_128_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_128_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_127_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_127_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_127_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_127_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_129_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_129_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_129_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void dc_129_32x32_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *top)
 
static void memset_bpc (uint16_t *dst, int val, int len)
 
static void diag_downleft_4x4_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
 def_diag_downleft (8)
 
 def_diag_downright (8)
 
 def_vert_right (8)
 
 def_hor_down (8)
 
 def_vert_left (8)
 
 def_hor_up (8)
 
static av_always_inline void idct4_1d (const dctcoef *in, ptrdiff_t stride, dctcoef *out, int pass)
 
static av_always_inline void iadst4_1d (const dctcoef *in, ptrdiff_t stride, dctcoef *out, int pass)
 
 itxfm_wrap (4, 4)
 
static av_always_inline void iadst8_1d (const dctcoef *in, ptrdiff_t stride, dctcoef *out, int pass)
 
 itxfm_wrap (8, 5)
 
static av_always_inline void iadst16_1d (const dctcoef *in, ptrdiff_t stride, dctcoef *out, int pass)
 
 itxfm_wrap (16, 6)
 
 itxfm_wrapper (idct, idct, 32, 6, 1)
 
 itxfm_wrapper (iwht, iwht, 4, 0, 0)
 
static av_always_inline void loop_filter (pixel *dst, int E, int I, int H, ptrdiff_t stridea, ptrdiff_t strideb, int wd)
 
 lf_8_fns (4)
 
static av_always_inline void copy_c (uint8_t *restrict dst, ptrdiff_t dst_stride, const uint8_t *restrict src, ptrdiff_t src_stride, int w, int h)
 
static av_always_inline void avg_c (uint8_t *restrict _dst, ptrdiff_t dst_stride, const uint8_t *restrict _src, ptrdiff_t src_stride, int w, int h)
 
 copy_avg_fn (64)
 
 filter_8tap_1d_fn (put, 0, v, src_stride/sizeof(pixel)) filter_8tap_1d_fn(put
 
 filter_8tap_1d_fn (avg, 1, v, src_stride/sizeof(pixel)) filter_8tap_1d_fn(avg
 
static av_always_inline void do_8tap_2d_c (uint8_t *_dst, ptrdiff_t dst_stride, const uint8_t *_src, ptrdiff_t src_stride, int w, int h, const int16_t *filterx, const int16_t *filtery, int avg)
 
 filter_8tap_2d_fn (put, 0)
 
 bilin_1d_fn (put, 0, v, src_stride/sizeof(pixel)) bilin_1d_fn(put
 
 bilin_1d_fn (avg, 1, v, src_stride/sizeof(pixel)) bilin_1d_fn(avg
 
static av_always_inline void do_bilin_2d_c (uint8_t *_dst, ptrdiff_t dst_stride, const uint8_t *_src, ptrdiff_t src_stride, int w, int h, int mx, int my, int avg)
 
 bilin_2d_fn (put, 0)
 
static av_always_inline void do_scaled_8tap_c (uint8_t *_dst, ptrdiff_t dst_stride, const uint8_t *_src, ptrdiff_t src_stride, int w, int h, int mx, int my, int dx, int dy, int avg, const int16_t(*filters)[8])
 
 scaled_filter_8tap_fn (put, 0)
 
 scaled_bilin_fn (put, 0)
 
av_cold void FUNC() ff_vp9dsp_init (VP9DSPContext *dsp)
 

Variables

 h
 

Macro Definition Documentation

◆ DST

#define DST (   x,
 
)    dst[(x) + (y) * stride]

Definition at line 813 of file vp9dsp_template.c.

◆ def_diag_downleft

#define def_diag_downleft (   size)
Value:
static void diag_downleft_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *left, const uint8_t *_top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *top = (const pixel *) _top; \
int i, j; \
pixel v[size - 1]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size - 2; i++) \
v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
for (j = 0; j < size; j++) { \
memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
} \
}

Definition at line 833 of file vp9dsp_template.c.

◆ def_diag_downright

#define def_diag_downright (   size)
Value:
static void diag_downright_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *_left, const uint8_t *_top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *top = (const pixel *) _top; \
const pixel *left = (const pixel *) _left; \
int i, j; \
pixel v[size + size - 1]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size - 2; i++) { \
v[i ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
v[size + 1 + i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
} \
v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
v[size ] = (top[-1] + top[0] * 2 + top[ 1] + 2) >> 2; \
for (j = 0; j < size; j++) \
memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
}

Definition at line 876 of file vp9dsp_template.c.

◆ def_vert_right

#define def_vert_right (   size)
Value:
static void vert_right_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *_left, const uint8_t *_top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *top = (const pixel *) _top; \
const pixel *left = (const pixel *) _left; \
int i, j; \
pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size/2 - 2; i++) { \
vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
} \
vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
\
ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
for (i = 0; i < size - 1; i++) { \
ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
} \
for (j = 0; j < size / 2; j++) { \
memcpy(dst + j*2 *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
} \
}

Definition at line 925 of file vp9dsp_template.c.

◆ def_hor_down

#define def_hor_down (   size)
Value:
static void hor_down_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *_left, const uint8_t *_top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *top = (const pixel *) _top; \
const pixel *left = (const pixel *) _left; \
int i, j; \
pixel v[size * 3 - 2]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size - 2; i++) { \
v[i*2 ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
v[i*2 + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
} \
v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
v[size*2 - 1] = (top[0] + top[-1] * 2 + left[size - 1] + 2) >> 2; \
v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
for (j = 0; j < size; j++) \
memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
}

Definition at line 982 of file vp9dsp_template.c.

◆ def_vert_left

#define def_vert_left (   size)
Value:
static void vert_left_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *left, const uint8_t *_top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *top = (const pixel *) _top; \
int i, j; \
pixel ve[size - 1], vo[size - 1]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size - 2; i++) { \
ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
} \
ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
for (j = 0; j < size / 2; j++) { \
memcpy(dst + j*2 * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
memset_bpc(dst + j*2 * stride + size - j - 1, top[size - 1], j + 1); \
memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
} \
}

Definition at line 1032 of file vp9dsp_template.c.

◆ def_hor_up

#define def_hor_up (   size)
Value:
static void hor_up_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
const uint8_t *_left, const uint8_t *top) \
{ \
pixel *dst = (pixel *) _dst; \
const pixel *left = (const pixel *) _left; \
int i, j; \
pixel v[size*2 - 2]; \
\
stride /= sizeof(pixel); \
for (i = 0; i < size - 2; i++) { \
v[i*2 ] = (left[i] + left[i + 1] + 1) >> 1; \
v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
} \
v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
for (j = 0; j < size / 2; j++) \
memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
for (j = size / 2; j < size; j++) { \
memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
2 + j*2 - size); \
} \
}

Definition at line 1078 of file vp9dsp_template.c.

◆ init_intra_pred_bd_aware

#define init_intra_pred_bd_aware (   tx,
  sz 
)
Value:
dsp->intra_pred[tx][TM_VP8_PRED] = tm_##sz##_c; \
dsp->intra_pred[tx][DC_128_PRED] = dc_128_##sz##_c; \
dsp->intra_pred[tx][DC_127_PRED] = dc_127_##sz##_c; \
dsp->intra_pred[tx][DC_129_PRED] = dc_129_##sz##_c

◆ init_intra_pred

#define init_intra_pred (   tx,
  sz 
)
Value:
dsp->intra_pred[tx][VERT_PRED] = vert_##sz##_c; \
dsp->intra_pred[tx][HOR_PRED] = hor_##sz##_c; \
dsp->intra_pred[tx][DC_PRED] = dc_##sz##_c; \
dsp->intra_pred[tx][DIAG_DOWN_LEFT_PRED] = diag_downleft_##sz##_c; \
dsp->intra_pred[tx][DIAG_DOWN_RIGHT_PRED] = diag_downright_##sz##_c; \
dsp->intra_pred[tx][VERT_RIGHT_PRED] = vert_right_##sz##_c; \
dsp->intra_pred[tx][HOR_DOWN_PRED] = hor_down_##sz##_c; \
dsp->intra_pred[tx][VERT_LEFT_PRED] = vert_left_##sz##_c; \
dsp->intra_pred[tx][HOR_UP_PRED] = hor_up_##sz##_c; \
dsp->intra_pred[tx][LEFT_DC_PRED] = dc_left_##sz##_c; \
dsp->intra_pred[tx][TOP_DC_PRED] = dc_top_##sz##_c; \
init_intra_pred_bd_aware(tx, sz)

◆ itxfm_wrapper

#define itxfm_wrapper (   type_a,
  type_b,
  sz,
  bits,
  has_dconly 
)

Definition at line 1155 of file vp9dsp_template.c.

◆ itxfm_wrap

#define itxfm_wrap (   sz,
  bits 
)
Value:
itxfm_wrapper(iadst, idct, sz, bits, 0) \
itxfm_wrapper(idct, iadst, sz, bits, 0) \
itxfm_wrapper(iadst, iadst, sz, bits, 0)

Definition at line 1194 of file vp9dsp_template.c.

◆ IN

#define IN (   x)    ((dctint) in[(x) * stride])

Definition at line 1200 of file vp9dsp_template.c.

◆ init_itxfm

#define init_itxfm (   tx,
  sz 
)
Value:
dsp->itxfm_add[tx][DCT_DCT] = idct_idct_##sz##_add_c; \
dsp->itxfm_add[tx][DCT_ADST] = iadst_idct_##sz##_add_c; \
dsp->itxfm_add[tx][ADST_DCT] = idct_iadst_##sz##_add_c; \
dsp->itxfm_add[tx][ADST_ADST] = iadst_iadst_##sz##_add_c

◆ init_idct

#define init_idct (   tx,
  nm 
)
Value:
dsp->itxfm_add[tx][DCT_DCT] = \
dsp->itxfm_add[tx][ADST_DCT] = \
dsp->itxfm_add[tx][DCT_ADST] = \
dsp->itxfm_add[tx][ADST_ADST] = nm##_add_c

◆ lf_8_fn

#define lf_8_fn (   dir,
  wd,
  stridea,
  strideb 
)
Value:
static void loop_filter_##dir##_##wd##_8_c(uint8_t *_dst, \
ptrdiff_t stride, \
int E, int I, int H) \
{ \
pixel *dst = (pixel *) _dst; \
stride /= sizeof(pixel); \
loop_filter(dst, E, I, H, stridea, strideb, wd); \
}

Definition at line 1891 of file vp9dsp_template.c.

◆ lf_8_fns

#define lf_8_fns (   wd)
Value:
lf_8_fn(h, wd, stride, 1) \
lf_8_fn(v, wd, 1, stride)

Definition at line 1901 of file vp9dsp_template.c.

◆ lf_16_fn

#define lf_16_fn (   dir,
  stridea 
)
Value:
static void loop_filter_##dir##_16_16_c(uint8_t *dst, \
ptrdiff_t stride, \
int E, int I, int H) \
{ \
loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
}

◆ lf_mix_fn

#define lf_mix_fn (   dir,
  wd1,
  wd2,
  stridea 
)
Value:
static void loop_filter_##dir##_##wd1##wd2##_16_c(uint8_t *dst, \
ptrdiff_t stride, \
int E, int I, int H) \
{ \
loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
}

◆ lf_mix_fns

#define lf_mix_fns (   wd1,
  wd2 
)
Value:
lf_mix_fn(h, wd1, wd2, stride) \
lf_mix_fn(v, wd1, wd2, sizeof(pixel))

◆ fpel_fn

#define fpel_fn (   type,
  sz 
)
Value:
static void type##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my) \
{ \
type##_c(dst, dst_stride, src, src_stride, sz, h); \
}

Definition at line 2003 of file vp9dsp_template.c.

◆ copy_avg_fn

#define copy_avg_fn (   sz)
Value:
fpel_fn(copy, sz) \
fpel_fn(avg, sz)

Definition at line 2011 of file vp9dsp_template.c.

◆ FILTER_8TAP

#define FILTER_8TAP (   src,
  x,
  F,
  stride 
)
Value:
av_clip_pixel((F[0] * src[x + -3 * stride] + \
F[1] * src[x + -2 * stride] + \
F[2] * src[x + -1 * stride] + \
F[3] * src[x + +0 * stride] + \
F[4] * src[x + +1 * stride] + \
F[5] * src[x + +2 * stride] + \
F[6] * src[x + +3 * stride] + \
F[7] * src[x + +4 * stride] + 64) >> 7)

◆ filter_8tap_1d_fn

#define filter_8tap_1d_fn (   opn,
  opa,
  dir,
  ds 
)
Value:
static av_noinline void opn##_8tap_1d_##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, const int16_t *filter) \
{ \
do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
}

Definition at line 2061 of file vp9dsp_template.c.

◆ filter_8tap_2d_fn

#define filter_8tap_2d_fn (   opn,
  opa 
)
Value:
static av_noinline void opn##_8tap_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, const int16_t *filterx, \
const int16_t *filtery) \
{ \
do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
}

Definition at line 2115 of file vp9dsp_template.c.

◆ filter_fn_1d

#define filter_fn_1d (   sz,
  dir,
  dir_m,
  type,
  type_idx,
  avg 
)
Value:
static void avg##_8tap_##type##_##sz##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my) \
{ \
avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
ff_vp9_subpel_filters[type_idx][dir_m]); \
}

◆ filter_fn_2d

#define filter_fn_2d (   sz,
  type,
  type_idx,
  avg 
)
Value:
static void avg##_8tap_##type##_##sz##hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my) \
{ \
avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
ff_vp9_subpel_filters[type_idx][mx], \
ff_vp9_subpel_filters[type_idx][my]); \
}

◆ FILTER_BILIN

#define FILTER_BILIN (   src,
  x,
  mxy,
  stride 
)    (src[x] + ((mxy * (src[x + stride] - src[x]) + 8) >> 4))

◆ bilin_1d_fn

#define bilin_1d_fn (   opn,
  opa,
  dir,
  ds 
)
Value:
static av_noinline void opn##_bilin_1d_##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, int mxy) \
{ \
do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
}

Definition at line 2177 of file vp9dsp_template.c.

◆ bilin_2d_fn

#define bilin_2d_fn (   opn,
  opa 
)
Value:
static av_noinline void opn##_bilin_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, int mx, int my) \
{ \
do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
}

Definition at line 2229 of file vp9dsp_template.c.

◆ bilinf_fn_1d

#define bilinf_fn_1d (   sz,
  dir,
  dir_m,
  avg 
)
Value:
static void avg##_bilin_##sz##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my) \
{ \
avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
}

◆ bilinf_fn_2d

#define bilinf_fn_2d (   sz,
  avg 
)
Value:
static void avg##_bilin_##sz##hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my) \
{ \
avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
}

◆ filter_fn

#define filter_fn (   sz,
  avg 
)
Value:
filter_fn_1d(sz, v, my, regular, FILTER_8TAP_REGULAR, avg) \
filter_fn_2d(sz, regular, FILTER_8TAP_REGULAR, avg) \
filter_fn_1d(sz, h, mx, smooth, FILTER_8TAP_SMOOTH, avg) \
filter_fn_1d(sz, v, my, smooth, FILTER_8TAP_SMOOTH, avg) \
filter_fn_2d(sz, smooth, FILTER_8TAP_SMOOTH, avg) \
filter_fn_1d(sz, h, mx, sharp, FILTER_8TAP_SHARP, avg) \
filter_fn_1d(sz, v, my, sharp, FILTER_8TAP_SHARP, avg) \
filter_fn_2d(sz, sharp, FILTER_8TAP_SHARP, avg) \
bilinf_fn_1d(sz, h, mx, avg) \
bilinf_fn_1d(sz, v, my, avg) \
bilinf_fn_2d(sz, avg)

◆ filter_fn_set

#define filter_fn_set (   avg)
Value:
filter_fn(64, avg) \
filter_fn(32, avg) \
filter_fn(16, avg) \
filter_fn(8, avg) \
filter_fn(4, avg)

◆ init_fpel

#define init_fpel (   idx1,
  idx2,
  sz,
  type 
)
Value:
dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = type##sz##_c; \
dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = type##sz##_c; \
dsp->mc[idx1][FILTER_8TAP_SHARP ][idx2][0][0] = type##sz##_c; \
dsp->mc[idx1][FILTER_BILINEAR ][idx2][0][0] = type##sz##_c

◆ init_copy_avg

#define init_copy_avg (   idx,
  sz 
)
Value:
init_fpel(idx, 0, sz, copy); \
init_fpel(idx, 1, sz, avg)

◆ init_subpel1_bd_aware

#define init_subpel1_bd_aware (   idx1,
  idx2,
  idxh,
  idxv,
  sz,
  dir,
  type 
)
Value:
dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_c; \
dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_c; \
dsp->mc[idx1][FILTER_8TAP_SHARP ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_c

◆ init_subpel1

#define init_subpel1 (   idx1,
  idx2,
  idxh,
  idxv,
  sz,
  dir,
  type 
)
Value:
init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type); \
dsp->mc[idx1][FILTER_BILINEAR ][idx2][idxh][idxv] = type##_bilin_##sz##dir##_c

◆ init_subpel2

#define init_subpel2 (   idx,
  idxh,
  idxv,
  dir,
  type 
)
Value:
init_subpel1(0, idx, idxh, idxv, 64, dir, type); \
init_subpel1(1, idx, idxh, idxv, 32, dir, type); \
init_subpel1(2, idx, idxh, idxv, 16, dir, type); \
init_subpel1(3, idx, idxh, idxv, 8, dir, type); \
init_subpel1(4, idx, idxh, idxv, 4, dir, type)

◆ init_subpel3

#define init_subpel3 (   idx,
  type 
)
Value:
init_subpel2(idx, 1, 1, hv, type); \
init_subpel2(idx, 0, 1, v, type); \
init_subpel2(idx, 1, 0, h, type)

◆ scaled_filter_8tap_fn

#define scaled_filter_8tap_fn (   opn,
  opa 
)
Value:
static av_noinline void opn##_scaled_8tap_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, int mx, int my, int dx, int dy, \
const int16_t (*filters)[8]) \
{ \
do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
opa, filters); \
}

Definition at line 2411 of file vp9dsp_template.c.

◆ scaled_filter_fn

#define scaled_filter_fn (   sz,
  type,
  type_idx,
  avg 
)
Value:
static void avg##_scaled_##type##_##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my, int dx, int dy) \
{ \
avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
ff_vp9_subpel_filters[type_idx]); \
}

◆ scaled_bilin_fn

#define scaled_bilin_fn (   opn,
  opa 
)
Value:
static av_noinline void opn##_scaled_bilin_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int w, int h, int mx, int my, int dx, int dy) \
{ \
do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
}

Definition at line 2484 of file vp9dsp_template.c.

◆ scaled_bilinf_fn

#define scaled_bilinf_fn (   sz,
  avg 
)
Value:
static void avg##_scaled_bilin_##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
const uint8_t *src, ptrdiff_t src_stride, \
int h, int mx, int my, int dx, int dy) \
{ \
avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
}

◆ scaled_filter_fns

#define scaled_filter_fns (   sz,
  avg 
)
Value:
scaled_filter_fn(sz, smooth, FILTER_8TAP_SMOOTH, avg) \
scaled_filter_fn(sz, sharp, FILTER_8TAP_SHARP, avg) \
scaled_bilinf_fn(sz, avg)

◆ scaled_filter_fn_set

#define scaled_filter_fn_set (   avg)
Value:
scaled_filter_fns(32, avg) \
scaled_filter_fns(16, avg) \
scaled_filter_fns(8, avg) \
scaled_filter_fns(4, avg)

◆ init_scaled_bd_aware

#define init_scaled_bd_aware (   idx1,
  idx2,
  sz,
  type 
)
Value:
dsp->smc[idx1][FILTER_8TAP_SMOOTH ][idx2] = type##_scaled_smooth_##sz##_c; \
dsp->smc[idx1][FILTER_8TAP_REGULAR][idx2] = type##_scaled_regular_##sz##_c; \
dsp->smc[idx1][FILTER_8TAP_SHARP ][idx2] = type##_scaled_sharp_##sz##_c

◆ init_scaled

#define init_scaled (   idx1,
  idx2,
  sz,
  type 
)
Value:
init_scaled_bd_aware(idx1, idx2, sz, type); \
dsp->smc[idx1][FILTER_BILINEAR ][idx2] = type##_scaled_bilin_##sz##_c

◆ init_scaled_put_avg

#define init_scaled_put_avg (   idx,
  sz 
)
Value:
init_scaled(idx, 0, sz, put); \
init_scaled(idx, 1, sz, avg)

Function Documentation

◆ vert_4x4_c()

static void vert_4x4_c ( uint8_t *restrict  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 33 of file vp9dsp_template.c.

◆ vert_8x8_c()

static void vert_8x8_c ( uint8_t *restrict  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 47 of file vp9dsp_template.c.

◆ vert_16x16_c()

static void vert_16x16_c ( uint8_t *restrict  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 72 of file vp9dsp_template.c.

◆ vert_32x32_c()

static void vert_32x32_c ( uint8_t *restrict  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 103 of file vp9dsp_template.c.

◆ hor_4x4_c()

static void hor_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 146 of file vp9dsp_template.c.

◆ hor_8x8_c()

static void hor_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 159 of file vp9dsp_template.c.

◆ hor_16x16_c()

static void hor_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 176 of file vp9dsp_template.c.

◆ hor_32x32_c()

static void hor_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 195 of file vp9dsp_template.c.

◆ tm_4x4_c()

static void tm_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 220 of file vp9dsp_template.c.

◆ tm_8x8_c()

static void tm_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 240 of file vp9dsp_template.c.

◆ tm_16x16_c()

static void tm_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 264 of file vp9dsp_template.c.

◆ tm_32x32_c()

static void tm_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 296 of file vp9dsp_template.c.

◆ dc_4x4_c()

static void dc_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 346 of file vp9dsp_template.c.

◆ dc_8x8_c()

static void dc_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 362 of file vp9dsp_template.c.

◆ dc_16x16_c()

static void dc_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 382 of file vp9dsp_template.c.

◆ dc_32x32_c()

static void dc_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  _top 
)
static

Definition at line 406 of file vp9dsp_template.c.

◆ dc_left_4x4_c()

static void dc_left_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 439 of file vp9dsp_template.c.

◆ dc_left_8x8_c()

static void dc_left_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 453 of file vp9dsp_template.c.

◆ dc_left_16x16_c()

static void dc_left_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 471 of file vp9dsp_template.c.

◆ dc_left_32x32_c()

static void dc_left_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  _left,
const uint8_t *  top 
)
static

Definition at line 492 of file vp9dsp_template.c.

◆ dc_top_4x4_c()

static void dc_top_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 520 of file vp9dsp_template.c.

◆ dc_top_8x8_c()

static void dc_top_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 534 of file vp9dsp_template.c.

◆ dc_top_16x16_c()

static void dc_top_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 552 of file vp9dsp_template.c.

◆ dc_top_32x32_c()

static void dc_top_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 573 of file vp9dsp_template.c.

◆ dc_128_4x4_c()

static void dc_128_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 603 of file vp9dsp_template.c.

◆ dc_128_8x8_c()

static void dc_128_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 616 of file vp9dsp_template.c.

◆ dc_128_16x16_c()

static void dc_128_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 631 of file vp9dsp_template.c.

◆ dc_128_32x32_c()

static void dc_128_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 648 of file vp9dsp_template.c.

◆ dc_127_4x4_c()

static void dc_127_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 669 of file vp9dsp_template.c.

◆ dc_127_8x8_c()

static void dc_127_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 681 of file vp9dsp_template.c.

◆ dc_127_16x16_c()

static void dc_127_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 696 of file vp9dsp_template.c.

◆ dc_127_32x32_c()

static void dc_127_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 713 of file vp9dsp_template.c.

◆ dc_129_4x4_c()

static void dc_129_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 734 of file vp9dsp_template.c.

◆ dc_129_8x8_c()

static void dc_129_8x8_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 747 of file vp9dsp_template.c.

◆ dc_129_16x16_c()

static void dc_129_16x16_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 762 of file vp9dsp_template.c.

◆ dc_129_32x32_c()

static void dc_129_32x32_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  top 
)
static

Definition at line 779 of file vp9dsp_template.c.

◆ memset_bpc()

static void memset_bpc ( uint16_t *  dst,
int  val,
int  len 
)
inlinestatic

Definition at line 805 of file vp9dsp_template.c.

◆ diag_downleft_4x4_c()

static void diag_downleft_4x4_c ( uint8_t *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 815 of file vp9dsp_template.c.

◆ def_diag_downleft()

def_diag_downleft ( )

Definition at line 853 of file vp9dsp_template.c.

◆ def_diag_downright()

def_diag_downright ( )

Definition at line 899 of file vp9dsp_template.c.

◆ def_vert_right()

def_vert_right ( )

Definition at line 956 of file vp9dsp_template.c.

◆ def_hor_down()

def_hor_down ( )

Definition at line 1007 of file vp9dsp_template.c.

◆ def_vert_left()

def_vert_left ( )

Definition at line 1057 of file vp9dsp_template.c.

◆ def_hor_up()

def_hor_up ( )

Definition at line 1104 of file vp9dsp_template.c.

◆ idct4_1d()

static av_always_inline void idct4_1d ( const dctcoef in,
ptrdiff_t  stride,
dctcoef out,
int  pass 
)
static

Definition at line 1202 of file vp9dsp_template.c.

◆ iadst4_1d()

static av_always_inline void iadst4_1d ( const dctcoef in,
ptrdiff_t  stride,
dctcoef out,
int  pass 
)
static

Definition at line 1218 of file vp9dsp_template.c.

◆ itxfm_wrap() [1/3]

itxfm_wrap ( ,
 
)

Definition at line 1234 of file vp9dsp_template.c.

◆ iadst8_1d()

static av_always_inline void iadst8_1d ( const dctcoef in,
ptrdiff_t  stride,
dctcoef out,
int  pass 
)
static

Definition at line 1272 of file vp9dsp_template.c.

◆ itxfm_wrap() [2/3]

itxfm_wrap ( ,
 
)

Definition at line 1316 of file vp9dsp_template.c.

◆ iadst16_1d()

static av_always_inline void iadst16_1d ( const dctcoef in,
ptrdiff_t  stride,
dctcoef out,
int  pass 
)
static

Definition at line 1406 of file vp9dsp_template.c.

◆ itxfm_wrap() [3/3]

itxfm_wrap ( 16  ,
 
)

Definition at line 1509 of file vp9dsp_template.c.

◆ itxfm_wrapper() [1/2]

itxfm_wrapper ( idct  ,
idct  ,
32  ,
,
 
)

Definition at line 1717 of file vp9dsp_template.c.

◆ itxfm_wrapper() [2/2]

itxfm_wrapper ( iwht  ,
iwht  ,
,
,
 
)

Definition at line 1750 of file vp9dsp_template.c.

◆ loop_filter()

static av_always_inline void loop_filter ( pixel dst,
int  E,
int  I,
int  H,
ptrdiff_t  stridea,
ptrdiff_t  strideb,
int  wd 
)
static

Definition at line 1780 of file vp9dsp_template.c.

◆ lf_8_fns()

lf_8_fns ( )

Definition at line 1905 of file vp9dsp_template.c.

◆ copy_c()

static av_always_inline void copy_c ( uint8_t *restrict  dst,
ptrdiff_t  dst_stride,
const uint8_t *restrict  src,
ptrdiff_t  src_stride,
int  w,
int  h 
)
static

Definition at line 1971 of file vp9dsp_template.c.

◆ avg_c()

static av_always_inline void avg_c ( uint8_t *restrict  _dst,
ptrdiff_t  dst_stride,
const uint8_t *restrict  _src,
ptrdiff_t  src_stride,
int  w,
int  h 
)
static

Definition at line 1983 of file vp9dsp_template.c.

◆ copy_avg_fn()

copy_avg_fn ( 64  )

Definition at line 2015 of file vp9dsp_template.c.

◆ filter_8tap_1d_fn() [1/2]

filter_8tap_1d_fn ( put  ,
,
,
src_stride/  sizeofpixel 
)

◆ filter_8tap_1d_fn() [2/2]

filter_8tap_1d_fn ( avg  ,
,
,
src_stride/  sizeofpixel 
)

◆ do_8tap_2d_c()

static av_always_inline void do_8tap_2d_c ( uint8_t *  _dst,
ptrdiff_t  dst_stride,
const uint8_t *  _src,
ptrdiff_t  src_stride,
int  w,
int  h,
const int16_t *  filterx,
const int16_t *  filtery,
int  avg 
)
static

Definition at line 2076 of file vp9dsp_template.c.

◆ filter_8tap_2d_fn()

filter_8tap_2d_fn ( put  ,
 
)

Definition at line 2124 of file vp9dsp_template.c.

◆ bilin_1d_fn() [1/2]

bilin_1d_fn ( put  ,
,
,
src_stride/  sizeofpixel 
)

◆ bilin_1d_fn() [2/2]

bilin_1d_fn ( avg  ,
,
,
src_stride/  sizeofpixel 
)

◆ do_bilin_2d_c()

static av_always_inline void do_bilin_2d_c ( uint8_t *  _dst,
ptrdiff_t  dst_stride,
const uint8_t *  _src,
ptrdiff_t  src_stride,
int  w,
int  h,
int  mx,
int  my,
int  avg 
)
static

Definition at line 2192 of file vp9dsp_template.c.

◆ bilin_2d_fn()

bilin_2d_fn ( put  ,
 
)

Definition at line 2237 of file vp9dsp_template.c.

◆ do_scaled_8tap_c()

static av_always_inline void do_scaled_8tap_c ( uint8_t *  _dst,
ptrdiff_t  dst_stride,
const uint8_t *  _src,
ptrdiff_t  src_stride,
int  w,
int  h,
int  mx,
int  my,
int  dx,
int  dy,
int  avg,
const int16_t(*)  filters[8] 
)
static

Definition at line 2363 of file vp9dsp_template.c.

◆ scaled_filter_8tap_fn()

scaled_filter_8tap_fn ( put  ,
 
)

Definition at line 2421 of file vp9dsp_template.c.

◆ scaled_bilin_fn()

scaled_bilin_fn ( put  ,
 
)

Definition at line 2492 of file vp9dsp_template.c.

◆ ff_vp9dsp_init()

av_cold void FUNC() ff_vp9dsp_init ( VP9DSPContext dsp)

Definition at line 2571 of file vp9dsp_template.c.

Variable Documentation

◆ h

h

Definition at line 2070 of file vp9dsp_template.c.

Referenced by acalc_magnitudes(), add_entry(), add_reconstructed_area(), add_residual(), add_residual_joint(), add_tu_area(), add_yblock(), advance_line(), affine_merge_candidate(), alf_classify(), alf_copy_ctb_to_hv(), alf_prepare_buffer(), all_black(), all_same(), all_white(), alloc_buffers(), alloc_frame(), alloc_frame_empty(), alloc_picture(), alloc_plane(), alloc_scratch_buffers(), alloc_sequence_buffers(), amqp_proto_close(), amqp_proto_open(), amqp_proto_read(), amqp_proto_write(), analyze_plane(), apply_contrast_change16(), apply_contrast_change8(), apply_delogo(), apply_luma_lut(), apply_luma_lut10(), apply_lut(), apply_lut10(), apply_palette(), aribcaption_trans_bitmap_subtitle(), async_buffer_task(), async_check_interrupt(), async_close(), async_open(), async_read(), async_read_internal(), async_seek(), av_image_alloc(), av_image_check_sar(), av_image_check_size(), av_image_check_size2(), av_image_copy_to_buffer(), av_image_fill_plane_sizes(), av_opt_is_set_to_default(), av_opt_set_image_size(), av_vdpau_get_surface_parameters(), avg(), avg_c(), avg_h264_qpel8_v_lowpass_mmi(), avg_h264_qpel8or16_hv2_lowpass_mmi(), avg_no_rnd_vc1_chroma_mc4_c(), avg_no_rnd_vc1_chroma_mc8_c(), avg_plane(), avio_check(), avio_close(), avio_close_dir(), avio_open_dir(), avio_read_dir(), avio_read_to_bprint(), avpriv_dca_parse_core_frame_header(), avpriv_h264_has_num_reorder_frames(), await_reference_mb_row(), await_references(), backup_mb_border(), black_counter(), blend_pixel(), blend_pixel16(), block_fill(), block_sum(), blockdetect_filter_frame(), blur(), blur_image(), blur_pixel(), bluray_close(), bluray_open(), bluray_read(), bluray_seek(), blurdetect_filter_frame(), cache_close(), cache_open(), cache_read(), cache_seek(), calc_channel_magnitudes(), calc_channel_phases(), calc_channel_uphases(), calc_correction(), calc_persp_luts(), calculate_blockiness(), calculate_blur(), calculate_mode_score(), calculate_skip_errors(), calculate_sums(), cas_slice16(), cas_slice8(), cavs_decode_frame(), cavs_flush(), cclm_get_luma_rec_pixels(), cclm_get_params(), cclm_get_select_pos(), cclm_linear_pred(), cclm_pred_default(), cclm_select_samples(), cdg_copy_rect_buf(), cdg_fill_rect_preset(), cdg_fill_wrapper(), cdxl_decode_frame(), check_add_obmc(), check_add_put_clamped(), check_add_res(), check_alf_classify(), check_alf_filter(), check_avg(), check_bdof(), check_bidir_mv(), check_chroma_mc(), check_deblock_chroma(), check_deblock_luma(), check_disc_info(), check_dmvr(), check_draw_edges(), check_eq(), check_fdct(), check_fill(), check_for_slice(), check_header(), check_horiz_slice(), check_http_code(), check_idct(), check_idct_dc(), check_idct_multiple(), check_image_fill(), check_image_fill_black(), check_inv_trans_adding(), check_inv_trans_inplace(), check_loop_filter(), check_loop_filter_intra(), check_mc(), check_mspel_pixels(), check_multiply3x3(), check_pos(), check_pred16x16(), check_pred4x4(), check_pred8x8(), check_pred8x8l(), check_put_vvc_chroma(), check_put_vvc_chroma_uni(), check_put_vvc_luma(), check_put_vvc_luma_uni(), check_rgb2yuv(), check_sao_band(), check_sao_edge(), check_threshold(), check_transform_luma(), check_unescape(), check_vvc_sad(), check_yuv2rgb(), check_yuv2yuv(), checkasm_check_blockdsp(), checkasm_check_bswapdsp(), checkasm_check_exrdsp(), checkasm_check_flacdsp(), checkasm_check_g722dsp(), checkasm_check_h264pred(), checkasm_check_h264qpel(), checkasm_check_hevc_add_res(), checkasm_check_hevc_deblock(), checkasm_check_hevc_epel(), checkasm_check_hevc_epel_bi(), checkasm_check_hevc_epel_bi_w(), checkasm_check_hevc_epel_uni(), checkasm_check_hevc_epel_uni_w(), checkasm_check_hevc_idct(), checkasm_check_hevc_qpel(), checkasm_check_hevc_qpel_bi(), checkasm_check_hevc_qpel_bi_w(), checkasm_check_hevc_qpel_uni(), checkasm_check_hevc_qpel_uni_w(), checkasm_check_hevc_sao(), checkasm_check_jpeg2000dsp(), checkasm_check_nlmeans(), checkasm_check_pixblockdsp(), checkasm_check_utvideodsp(), checkasm_check_v210dec(), checkasm_check_v210enc(), checkasm_check_vvc_alf(), choose_rct_params(), chroma_mc(), clear_image(), clearTable(), clv_decode_init(), cmp(), cmp_fpel_internal(), cmp_hpel(), cmp_inline(), cmp_internal(), cmp_qpel(), color_correlation(), color_correlation_gbrp(), color_decorrelation(), color_decorrelation_gbrp(), color_mix(), commit_bitstream_and_slice_buffer(), compose2D(), compose2D2(), compute_dar(), compute_default_clut(), compute_gru(), compute_histogram16(), compute_histogram8(), compute_max_row(), compute_min_row(), compute_safe_ssd_integral_image_c(), compute_ssd_integral_image(), compute_unsafe_ssd_integral_image(), compute_vif2(), concat_close(), concat_read(), concat_seek(), config_input(), config_output(), config_props(), convert(), convert_mask_to_strength_mask(), convert_timestamp(), convolution_x(), convolve_avg_horiz_mmi(), convolve_avg_mmi(), convolve_avg_vert_mmi(), convolve_horiz_mmi(), convolve_vert_mmi(), copy_avg_fn(), copy_block16(), copy_block16_mmi(), copy_block17(), copy_block2(), copy_block4(), copy_block4_mmi(), copy_block8(), copy_block8_mmi(), copy_block9(), copy_c(), copy_cell(), copy_ctb_to_hv(), copy_CTB_to_hv(), copy_horizontal(), copy_picture_field(), copy_region_enc(), copy_vertical(), correlate(), cover_rect(), create_chrominance_lut(), create_clusters(), create_luma_lut(), crypto_close(), crypto_open2(), crypto_read(), crypto_seek(), crypto_write(), cudascale_config_props(), cudascale_get_video_buffer(), d3d11va_transfer_data(), d3d12va_av1_decode_slice(), d3d12va_av1_end_frame(), d3d12va_av1_start_frame(), d3d12va_h264_decode_slice(), d3d12va_h264_end_frame(), d3d12va_h264_start_frame(), d3d12va_hevc_decode_slice(), d3d12va_hevc_end_frame(), d3d12va_hevc_start_frame(), d3d12va_vp9_decode_slice(), d3d12va_vp9_end_frame(), d3d12va_vp9_start_frame(), data_close(), data_open(), data_read(), dc_test(), dca_parse_params(), deband_16_c(), deband_16_coupling_c(), deband_8_c(), deband_8_coupling_c(), deblocking_filter_CTB(), decode_555(), decode_block(), decode_blocks(), decode_buffering_period(), decode_cabac_field_decoding_flag(), decode_cabac_luma_residual(), decode_cabac_mb_chroma_pre_mode(), decode_cabac_mb_skip(), decode_cabac_residual_dc(), decode_cabac_residual_dc_422(), decode_cabac_residual_dc_internal(), decode_cabac_residual_dc_internal_422(), decode_cabac_residual_internal(), decode_cabac_residual_nondc(), decode_cabac_residual_nondc_internal(), decode_display_orientation(), decode_dlta(), decode_dvd_subtitles(), decode_entropy_coded_image(), decode_film_grain_characteristics(), decode_finish_row(), decode_fint(), decode_frame(), decode_frame_header(), decode_frame_lscr(), decode_frame_packing_arrangement(), decode_green_metadata(), decode_hextile(), decode_hybrid(), decode_init(), decode_inter_plane(), decode_long_vertical_delta(), decode_long_vertical_delta2(), decode_luma_residual(), decode_mad1(), decode_mad1_24(), decode_mb_b(), decode_mb_i(), decode_mb_p(), decode_mb_skip(), decode_mous(), decode_move(), decode_mvc2(), decode_nal_sei_pic_timing(), decode_nal_units(), decode_p_block(), decode_pic(), decode_picture_timing(), decode_plane(), decode_recovery_point(), decode_registered_user_data(), decode_registered_user_data_afd(), decode_registered_user_data_closed_caption(), decode_residual(), decode_residual_block(), decode_residual_chroma(), decode_residual_inter(), decode_rgb_frame(), decode_rle(), decode_seq_header(), decode_sequence_header_adv(), decode_slice(), decode_slice_header(), decode_subband_slice_buffered(), decode_unregistered_user_data(), decode_wmv9(), decompose2D(), decompose2D2(), decorrelate(), deflicker16(), deflicker8(), deinterleaveBytes_c(), denoise_depth(), denoise_spatial(), denoise_temporal(), dequant(), dequantize(), derive_transform_type(), desat_bounded(), dfisheye_to_xyz(), diamond_search(), diff_planes(), dirac_decode_frame_internal(), displace_packed(), displace_planar(), display_integral(), djb2_hash(), dng_decode_jpeg(), dnn_detect_parse_yolo_output(), dnxhd_probe(), do_8tap_2d_c(), do_bilin_2d_c(), do_convolve(), do_scaled_8tap_c(), do_slice(), do_xpsnr(), dpx_probe(), draw_arrow(), draw_axis_rgb(), draw_axis_yuv(), draw_background(), draw_bar_rgb(), draw_block_rectangle(), draw_dc(), draw_edges_8_c(), draw_legend(), draw_line(), draw_mandelbrot(), draw_sample_cline_gray(), draw_sample_cline_rgba_full(), draw_sample_cline_rgba_scale(), draw_sample_line_gray(), draw_sample_line_rgba_full(), draw_sample_line_rgba_scale(), draw_sample_p2p_gray(), draw_sample_p2p_rgba_full(), draw_sample_p2p_rgba_scale(), draw_sample_point_gray(), draw_sample_point_rgba_full(), draw_sample_point_rgba_scale(), draw_slice(), draw_sono(), draw_spatial(), dss_read_metadata_date(), dts_probe(), dump_sidedata(), dump_spherical(), dvb_encode_rle2(), dvb_encode_rle4(), dvb_encode_rle8(), dvbsub_encode(), dvd_encode_rle(), dvdsub_parse_extradata(), dwt_decode97_int(), dwt_encode97_int(), dx2_decode_slice_410(), dx2_decode_slice_420(), dxa_probe(), dxa_read_header(), dxtory_decode_v1_410(), dxtory_decode_v1_420(), dxtory_decode_v1_444(), dxtory_decode_v1_rgb(), dxva2_av1_decode_slice(), dxva2_av1_end_frame(), dxva2_av1_start_frame(), dxva2_h264_decode_slice(), dxva2_h264_end_frame(), dxva2_h264_start_frame(), dxva2_hevc_decode_slice(), dxva2_hevc_end_frame(), dxva2_hevc_start_frame(), dxva2_vp9_decode_slice(), dxva2_vp9_end_frame(), dxva2_vp9_start_frame(), edge_width(), eit_cb(), emulated_edge_scaled(), encode_block(), encode_blocks(), encode_close(), encode_dvd_subtitles(), encode_frame(), encode_init(), encode_mode(), encode_picture(), encode_plane(), encode_q_branch(), encode_rgb_frame(), encode_subband_c0run(), encode_thread(), epzs_motion_search2(), epzs_motion_search_internal(), ereflectx(), extend_edges(), extract_lines(), fbdev_write_header(), fbdev_write_packet(), fbdev_write_trailer(), fetch_diagonal_mv(), ff_accept(), ff_alsa_open(), ff_aom_image_copy_16_to_8(), ff_attributes_dump(), ff_avg_h264_chroma_mc4_mmi(), ff_avg_h264_chroma_mc8_mmi(), ff_avg_no_rnd_vc1_chroma_mc4_mmi(), ff_avg_no_rnd_vc1_chroma_mc8_mmi(), ff_avg_pixels16_8_mmi(), ff_avg_pixels16_l2_8_mmi(), ff_avg_pixels16_msa(), ff_avg_pixels16_x2_8_mmi(), ff_avg_pixels16_x2_msa(), ff_avg_pixels16_xy2_8_mmi(), ff_avg_pixels16_xy2_msa(), ff_avg_pixels16_y2_8_mmi(), ff_avg_pixels16_y2_msa(), ff_avg_pixels4_8_mmi(), ff_avg_pixels4_l2_8_mmi(), ff_avg_pixels4_msa(), ff_avg_pixels4_x2_8_mmi(), ff_avg_pixels4_x2_msa(), ff_avg_pixels4_xy2_8_mmi(), ff_avg_pixels4_xy2_msa(), ff_avg_pixels4_y2_8_mmi(), ff_avg_pixels4_y2_msa(), ff_avg_pixels8_8_mmi(), ff_avg_pixels8_l2_8_mmi(), ff_avg_pixels8_msa(), ff_avg_pixels8_x2_8_mmi(), ff_avg_pixels8_x2_msa(), ff_avg_pixels8_xy2_8_mmi(), ff_avg_pixels8_xy2_msa(), ff_avg_pixels8_y2_8_mmi(), ff_avg_pixels8_y2_msa(), ff_bgmc_decode(), ff_bgmc_decode_init(), ff_blend_rectangle(), ff_boxblur_eval_filter_params(), ff_calculate_bounding_box(), ff_cavs_end(), ff_cavs_filter(), ff_cavs_init(), ff_cavs_init_mb(), ff_cavs_init_pic(), ff_cavs_init_top_lines(), ff_cavs_inter(), ff_cavs_load_intra_pred_chroma(), ff_cavs_load_intra_pred_luma(), ff_cavs_modify_mb_i(), ff_cavs_mv(), ff_cavs_next_mb(), ff_connect_parallel(), ff_copy_rectangle2(), ff_dca_parse_core_frame_header(), ff_default_get_video_buffer(), ff_default_get_video_buffer2(), ff_dnxhd_get_hr_frame_size(), ff_double_threshold(), ff_draw_horiz_band(), ff_dxva2_av1_fill_picture_parameters(), ff_dxva2_h264_fill_picture_parameters(), ff_dxva2_h264_fill_scaling_lists(), ff_dxva2_hevc_fill_picture_parameters(), ff_dxva2_hevc_fill_scaling_lists(), ff_dxva2_vp9_fill_picture_parameters(), ff_emulated_edge_mc(), ff_epzs_motion_search(), ff_fill_block16_mmi(), ff_fill_block8_mmi(), ff_fill_rectangle(), ff_get_mb_score(), ff_get_video_buffer(), ff_gmc_c(), ff_h261_encode_init(), ff_h261_encode_mb(), ff_h261_encode_picture_header(), ff_h261_loop_filter(), ff_h261_reorder_mb_index(), ff_h263_decode_frame(), ff_h2645_sei_message_decode(), ff_h264_alloc_tables(), ff_h264_build_ref_list(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_direct_dist_scale_factor(), ff_h264_direct_ref_list_init(), ff_h264_draw_horiz_band(), ff_h264_execute_decode_slices(), ff_h264_execute_ref_pic_marking(), ff_h264_field_end(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), ff_h264_flush_change(), ff_h264_free_tables(), ff_h264_hl_decode_mb(), ff_h264_init_cabac_states(), ff_h264_pred_direct_motion(), ff_h264_pred_init(), ff_h264_pred_init_aarch64(), ff_h264_pred_init_arm(), ff_h264_pred_init_loongarch(), ff_h264_pred_init_mips(), ff_h264_queue_decode_slice(), ff_h264_remove_all_refs(), ff_h264_sei_decode(), ff_h264_sei_process_picture_timing(), ff_h264_sei_stereo_mode(), ff_h264_sei_uninit(), ff_h264_slice_context_init(), ff_h264_update_thread_context(), ff_h264_update_thread_context_for_user(), ff_http_do_new_request(), ff_http_do_new_request2(), ff_huff_gen_len_table(), ff_interleave_bytes_lasx(), ff_jpeg2000_tag_tree_init(), ff_libwebp_get_frame(), ff_listen_bind(), ff_listen_connect(), ff_load_image(), ff_metal_compute_encoder_dispatch(), ff_mjpeg_decode_frame_from_buf(), ff_mjpeg_decode_sos(), ff_mpeg4_decode_studio(), ff_mpeg_draw_horiz_band(), ff_mspel_motion(), ff_non_maximum_suppression(), ff_null_get_video_buffer(), ff_pca(), ff_pix_abs16_x2_msa(), ff_pix_abs16_xy2_msa(), ff_pix_abs16_y2_msa(), ff_pix_abs8_x2_msa(), ff_pix_abs8_xy2_msa(), ff_pix_abs8_y2_msa(), ff_pnm_decode_header(), ff_put_h264_chroma_mc4_mmi(), ff_put_h264_chroma_mc8_mmi(), ff_put_no_rnd_pixels16_x2_8_lasx(), ff_put_no_rnd_pixels16_x2_8_mmi(), ff_put_no_rnd_pixels16_x2_msa(), ff_put_no_rnd_pixels16_xy2_8_lasx(), ff_put_no_rnd_pixels16_xy2_8_mmi(), ff_put_no_rnd_pixels16_xy2_msa(), ff_put_no_rnd_pixels16_y2_8_lasx(), ff_put_no_rnd_pixels16_y2_8_mmi(), ff_put_no_rnd_pixels16_y2_msa(), ff_put_no_rnd_pixels8_l2_8_mmi(), ff_put_no_rnd_pixels8_x2_8_lasx(), ff_put_no_rnd_pixels8_x2_8_mmi(), ff_put_no_rnd_pixels8_x2_msa(), ff_put_no_rnd_pixels8_xy2_8_lasx(), ff_put_no_rnd_pixels8_xy2_8_mmi(), ff_put_no_rnd_pixels8_xy2_msa(), ff_put_no_rnd_pixels8_y2_8_lasx(), ff_put_no_rnd_pixels8_y2_8_mmi(), ff_put_no_rnd_pixels8_y2_msa(), ff_put_no_rnd_pixels_l2_mmi(), ff_put_no_rnd_pixels_l2_msa(), ff_put_no_rnd_vc1_chroma_mc4_mmi(), ff_put_no_rnd_vc1_chroma_mc8_lasx(), ff_put_no_rnd_vc1_chroma_mc8_mmi(), ff_put_pixels16_8_lsx(), ff_put_pixels16_8_mmi(), ff_put_pixels16_l2_8_mmi(), ff_put_pixels16_msa(), ff_put_pixels16_x2_8_lasx(), ff_put_pixels16_x2_8_mmi(), ff_put_pixels16_x2_msa(), ff_put_pixels16_xy2_8_lasx(), ff_put_pixels16_xy2_8_mmi(), ff_put_pixels16_xy2_msa(), ff_put_pixels16_y2_8_lasx(), ff_put_pixels16_y2_8_mmi(), ff_put_pixels16_y2_msa(), ff_put_pixels4_8_mmi(), ff_put_pixels4_l2_8_mmi(), ff_put_pixels4_x2_8_mmi(), ff_put_pixels4_x2_msa(), ff_put_pixels4_xy2_8_mmi(), ff_put_pixels4_xy2_msa(), ff_put_pixels4_y2_8_mmi(), ff_put_pixels4_y2_msa(), ff_put_pixels8_8_lasx(), ff_put_pixels8_8_mmi(), ff_put_pixels8_l2_8(), ff_put_pixels8_l2_8_mmi(), ff_put_pixels8_msa(), ff_put_pixels8_x2_8_lasx(), ff_put_pixels8_x2_8_mmi(), ff_put_pixels8_x2_msa(), ff_put_pixels8_xy2_8_lasx(), ff_put_pixels8_xy2_8_mmi(), ff_put_pixels8_xy2_msa(), ff_put_pixels8_y2_8_lasx(), ff_put_pixels8_y2_8_mmi(), ff_put_pixels8_y2_msa(), ff_put_vp8_bilinear16_h_mmi(), ff_put_vp8_bilinear16_hv_mmi(), ff_put_vp8_bilinear16_v_mmi(), ff_put_vp8_bilinear4_h_mmi(), ff_put_vp8_bilinear4_hv_mmi(), ff_put_vp8_bilinear4_v_mmi(), ff_put_vp8_bilinear8_h_mmi(), ff_put_vp8_bilinear8_hv_mmi(), ff_put_vp8_bilinear8_v_mmi(), ff_put_vp8_epel16_h4_mmi(), ff_put_vp8_epel16_h4v4_mmi(), ff_put_vp8_epel16_h4v6_mmi(), ff_put_vp8_epel16_h6_mmi(), ff_put_vp8_epel16_h6v4_mmi(), ff_put_vp8_epel16_h6v6_mmi(), ff_put_vp8_epel16_v4_mmi(), ff_put_vp8_epel16_v6_mmi(), ff_put_vp8_epel4_h4_mmi(), ff_put_vp8_epel4_h4v4_mmi(), ff_put_vp8_epel4_h4v6_mmi(), ff_put_vp8_epel4_h6_mmi(), ff_put_vp8_epel4_h6v4_mmi(), ff_put_vp8_epel4_h6v6_mmi(), ff_put_vp8_epel4_v4_mmi(), ff_put_vp8_epel4_v6_mmi(), ff_put_vp8_epel8_h4_mmi(), ff_put_vp8_epel8_h4v4_mmi(), ff_put_vp8_epel8_h4v6_mmi(), ff_put_vp8_epel8_h6_mmi(), ff_put_vp8_epel8_h6v4_mmi(), ff_put_vp8_epel8_h6v6_mmi(), ff_put_vp8_epel8_v4_mmi(), ff_put_vp8_epel8_v6_mmi(), ff_put_vp8_pixels16_mmi(), ff_put_vp8_pixels4_mmi(), ff_put_vp8_pixels8_mmi(), ff_rgb48Toxyz12(), ff_rm_parse_packet(), ff_rtjpeg_decode_frame_yuv420(), ff_rtmp_packet_read(), ff_rtmp_packet_read_internal(), ff_rtmp_packet_write(), ff_rtmpe_compute_secret_key(), ff_rtmpe_gen_pub_key(), ff_rtmpe_update_keystream(), ff_rtp_get_local_rtp_port(), ff_rtp_send_jpeg(), ff_rtp_send_mpegvideo(), ff_rtp_set_remote_url(), ff_scale_adjust_dimensions(), ff_snow_alloc_blocks(), ff_snow_common_init_after_header(), ff_snow_pred_block(), ff_tag_tree_zero(), ff_tls_close(), ff_tls_open(), ff_tls_read(), ff_tls_write(), ff_udp_get_local_port(), ff_udp_set_remote_url(), ff_vaapi_parse_hevc_rext_scc_profile(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), ff_videotoolbox_avcc_extradata_create(), ff_videotoolbox_hvcc_extradata_create(), ff_videotoolbox_vpcc_extradata_create(), ff_vmafmotion_init(), ff_vorbiscomment_write(), ff_vp8_h_loop_filter16_inner_lsx(), ff_vp8_h_loop_filter16_inner_msa(), ff_vp8_v_loop_filter16_inner_lsx(), ff_vp8_v_loop_filter16_inner_msa(), ff_vp9_decode_block(), ff_vp9dsp_init_16bpp_x86(), ff_vp9dsp_init_x86(), ff_vvc_get_mip_size_id(), ff_vvc_intra_mip_flag(), ff_vvc_intra_mip_mode(), ff_vvc_inv_dct2_16(), ff_vvc_inv_dct2_32(), ff_vvc_need_pdpc(), ff_vvc_nscale_derive(), ff_vvc_pred_flag(), ff_vvc_sbt_flag(), ff_vvc_sbt_horizontal_flag(), ff_vvc_set_mvf(), ff_w53_32_c(), ff_w97_32_c(), ff_xface_generate_face(), ff_xyz12Torgb48(), ffio_fdopen(), ffio_open_whitelist(), ffmal_copy_frame(), ffurl_close(), ffurl_closep(), ffurl_delete(), ffurl_get_file_handle(), ffurl_get_multi_file_handle(), ffurl_get_short_seek(), ffurl_read(), ffurl_read2(), ffurl_read_complete(), ffurl_seek(), ffurl_seek2(), ffurl_shutdown(), ffurl_size(), ffurl_write(), ffurl_write2(), file_check(), file_close(), file_get_handle(), file_read(), file_seek(), file_write(), fill_block16_c(), fill_block8_c(), fill_buf(), fill_colmap(), fill_decode_caches(), fill_decode_neighbors(), fill_elements(), fill_filter_caches(), fill_filter_caches_inter(), fill_in_tongue(), fill_loopfilter_buffers(), fill_pixels(), fill_pred_weight_table(), fill_rectangle(), fill_slice_long(), fill_tile4(), fill_tileX(), fill_vaapi_plain_pred_weight_table(), fill_vaapi_reference_frames(), fill_vaapi_ReferenceFrames(), filter(), filter16_brng(), filter16_tout(), filter16_vrep(), filter8_brng(), filter8_tout(), filter8_vrep(), filter_8tap_2d_fn(), filter_frame(), filter_mb_dir(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), filter_slice(), finalize_frame(), find_frame_rps_type(), find_short(), find_smallest_bounding_rectangle(), find_unused_picture(), findCode(), fir_to_phase(), float2half(), fov_from_dfov(), fraps2_decode_plane(), ftp_abort(), ftp_close(), ftp_close_dir(), ftp_connect(), ftp_connect_control_connection(), ftp_connect_data_connection(), ftp_delete(), ftp_get_file_handle(), ftp_open(), ftp_open_dir(), ftp_parse_entry(), ftp_read(), ftp_read_dir(), ftp_seek(), ftp_shutdown(), ftp_write(), fuzz_video_get_buffer(), g2m_paint_cursor(), gammafilter(), gaussian_blur(), gbr16ptopacked16(), gbr16ptopacked30(), gbr24ptopacked24(), gbr24ptopacked32(), gbraptopacked32(), gen_image(), generate(), generate_density_map(), generate_sliding_window_mmcos(), get_4block_rd(), get_alf_vb_pos(), get_alpha_data(), get_block_rd(), get_buffer(), get_cclm_enabled(), get_chroma_predict_unit(), get_component(), get_dc(), get_dct8x8_allowed(), get_heat(), get_histogram(), get_input(), get_intra_count(), get_last_needed_nal(), get_local_sum(), get_lowest_part_y(), get_luma_predict_unit(), get_mb_score(), get_mse(), get_output(), get_pixel_format(), get_plane_wh(), get_ref_pic_index(), get_shift(), get_slice_data(), get_stats(), get_video_buffer(), get_wsse(), get_xoutput(), get_zeropadded_input(), getpix(), getpix_integrate(), getpix_integrate_internal(), getsigctxno(), gif_copy_img_rect(), gif_crop_translucent(), gif_fill(), gif_fill_rect(), gmc1_c(), gopher_close(), gopher_connect(), gopher_open(), gopher_read(), gopher_write(), grad(), gray16(), gray8(), guess_dc(), h261_decode_block(), h261_decode_frame(), h261_decode_gob(), h261_decode_gob_header(), h261_decode_init(), h261_decode_mb(), h261_decode_mb_skipped(), h261_decode_picture_header(), h261_encode_block(), h261_encode_gob_header(), h263_mv4_search(), h264_decode_end(), h264_decode_flush(), h264_decode_frame(), h264_decode_init(), h264_er_decode_mb(), h264_export_frame_props(), h264_field_start(), h264_filter_mb_fast_internal(), h264_frame_start(), h264_init_context(), h264_init_ps(), h264_initialise_ref_list(), h264_pred_init_neon(), h264_select_output_frame(), h264_slice_header_init(), h264_slice_header_parse(), h264_slice_init(), h_block_filter(), hadamard_func(), half2float(), handle_handshake_error(), handle_http_errors(), handle_pk_parse_error(), handle_tls_error(), handle_transport_error(), hblur(), heap_sift(), hfun(), hl_decode_mb(), hl_decode_mb_444(), hl_decode_mb_idct_luma(), hl_decode_mb_predict_luma(), hl_motion(), hls_close(), hls_open(), hls_read(), hpel_motion_lowres(), hpel_motion_search(), hqa_decode_slice(), hsl2rgb(), http_buf_read(), http_close(), http_connect(), http_get_file_handle(), http_get_short_seek(), http_listen(), http_open(), http_open_cnx(), http_open_cnx_internal(), http_read(), http_read_header(), http_read_stream(), http_read_stream_all(), http_seek(), http_seek_internal(), http_shutdown(), http_write(), http_write_reply(), hwmap_get_buffer(), hysteresis16(), hysteresis8(), icecast_close(), icecast_open(), icecast_write(), idcin_probe(), idct(), idr(), ilfnst_transform(), image_copy(), image_sad(), implicit_weight_table(), import_pem(), ingenient_read_packet(), init(), init_decoder(), init_demo(), init_dimensions(), init_dxgi_dda(), init_pattern_from_file(), init_planes(), init_scan_tables(), init_slice(), init_slice_c(), init_table_pools(), input_flip(), interlaced_search(), interleave(), interleaveBytes_c(), interpolate(), interpolate_pchip(), intra_block_copy(), intra_cclm_pred(), intra_pred(), invert(), ipfs_close(), ipfs_read(), ipfs_seek(), irdft_horizontal16(), irdft_horizontal8(), is_inside(), iterative_me(), itransform(), itx_1d(), itx_2d(), job_start(), jpeg_create_header(), kmvc_decode_inter_8x8(), kmvc_decode_intra_8x8(), libdav1d_picture_allocator(), librist_close(), librist_open(), librist_read(), librist_write(), libsmbc_close(), libsmbc_close_dir(), libsmbc_connect(), libsmbc_delete(), libsmbc_open(), libsmbc_open_dir(), libsmbc_read(), libsmbc_read_dir(), libsmbc_seek(), libsmbc_write(), libsrt_close(), libsrt_epoll_create(), libsrt_getsockopt(), libsrt_listen(), libsrt_listen_connect(), libsrt_neterrno(), libsrt_network_wait_fd(), libsrt_network_wait_fd_timeout(), libsrt_open(), libsrt_read(), libsrt_set_options_post(), libsrt_set_options_pre(), libsrt_setsockopt(), libsrt_setup(), libsrt_write(), libssh_close(), libssh_close_dir(), libssh_connect(), libssh_delete(), libssh_open(), libssh_open_dir(), libssh_read(), libssh_read_dir(), libssh_seek(), libssh_write(), libuavs3d_decode_frame(), libuavs3d_end(), libuavs3d_flush(), libuavs3d_init(), limitdiff_slice(), ljpeg_decode_yuv_scan(), ljpeg_encode_yuv_mb(), load_ca(), load_cert(), load_input_picture(), load_mask(), LOOP_FILTER(), loop_filter(), luma_mc(), m4sl_cb(), MAC64(), main(), make_lpf(), map_alloc(), map_init(), mask_edges(), maskedclamp_slice(), maskedminmax_slice(), mbedtls_debug(), mbedtls_recv(), mbedtls_send(), mc(), mc_chroma_scaled(), mc_chroma_unscaled(), mc_dir_part(), mc_luma_scaled(), mc_luma_unscaled(), mc_part(), mc_part_std(), mc_part_weighted(), mcdc(), md5_close(), md5_open(), md5_write(), mismatches_ref(), mjpeg_decode_scan(), mjpeg_idct_scan_progressive_ac(), MLS64(), mms_close(), mms_open(), mms_read(), mmsh_close(), mmsh_open(), mmsh_open_internal(), mmsh_read(), mmsh_read_seek(), mmsh_seek(), monochrome_color_location(), mp3_read_probe(), mp3_write_audio_packet(), mp3lame_encode_frame(), mp_read_changes_map(), mpeg4_decode_dpcm_macroblock(), mpeg4_decode_sprite_trajectory(), mpeg_decode_sequence_display_extension(), mpeg_motion(), mpeg_motion_internal(), mpeg_motion_lowres(), mpeg_parse_packet(), mss2_blit_wmv9_c(), mss2_blit_wmv9_masked_c(), mss2_blit_wmv9_template(), mss2_decode_frame(), mss2_gray_fill_masked_c(), mtt_split_cu_vertical_flag_decode(), multiply3x3_c(), multiply_slice(), mv_merge_history_candidates(), mv_pred_direct(), mv_pred_median(), mv_pred_sym(), mvp_history_candidates(), negate16(), negate8(), negate_packed16(), negate_packed8(), nlmeans_opencl_filter_frame(), nlmeans_plane(), nsse16_c(), nsse16_neon_wrapper(), nsse16_rvv_wrapper(), nsse8_c(), nsse8_neon_wrapper(), nsse8_rvv_wrapper(), nv24_to_yuv420p_chroma(), nvdec_h264_decode_slice(), nvdec_h264_frame_params(), nvdec_h264_start_frame(), nvdec_vp8_start_frame(), nvdec_vp9_start_frame(), ogm_chapter(), opengl_control_message(), opengl_create_window(), opengl_draw(), opengl_read_limits(), opengl_release_window(), opengl_resize(), opengl_write_frame(), opengl_write_header(), opengl_write_packet(), opengl_write_trailer(), output_frame(), output_single_frame(), packed16togbra16(), packed24togbrap(), packed30togbra10(), packed32togbrap(), packedtogbr24p(), paint_raw(), paint_rect(), pam_encode_frame(), parse_content_encoding(), parse_content_range(), parse_frame_header(), parse_heatmaps(), parse_playlist(), parse_presentation_segment(), parse_section_header(), pass_add(), pass_append(), pat_cb(), pcx_decode_frame(), perspective_to_xyz(), pgmyuv_save(), pic_arrays_init(), pic_num_extract(), pick_palette_entry(), pix_abs16_c(), pix_abs16_x2_c(), pix_abs16_xy2_c(), pix_abs16_y2_c(), pix_abs8_c(), pix_abs8_x2_c(), pix_abs8_xy2_c(), pix_abs8_y2_c(), pix_median_abs16_c(), pix_median_abs8_c(), pix_sum(), pixel_buffer_nz_tl_init(), pixelize_slice(), pixels16_x2(), pixels8_x2(), pixels8_xy2(), pixels8_y2(), pixlet_decode_frame(), pixscope_filter_frame(), plot_channel_lin(), plot_channel_log(), plot_gamuts(), plot_white_point(), pmt_cb(), pnm_decode_frame(), pnm_encode_frame(), pop_greys(), populate_ipfs_gateway(), postprocess_chroma(), postprocess_luma(), pps_add_ctus(), PRED4x4(), pred_16x8_motion(), pred_8x16_motion(), pred_angular_h(), pred_angular_v(), pred_dc(), pred_dc_val(), pred_gpm_blk(), pred_h(), pred_intra_mode(), pred_mip(), pred_motion(), pred_non_zero_count(), pred_planar(), pred_pskip_motion(), pred_regular(), pred_residual_joint(), pred_spatial_direct_motion(), pred_temp_direct_motion(), pred_v(), predict_field_decoding_flag(), predict_intra(), predict_slice(), predict_slice_buffered(), prefetch_loongarch(), prefetch_mips(), prefetch_motion(), prefetch_ppc(), premultiply16(), premultiply16offset(), premultiply16yuv(), premultiply8(), premultiply8offset(), premultiply8yuv(), premultiplyf32(), premultiplyf32offset(), prepare_impulse(), prepare_intra_edge_params(), preservel(), print_ctl_info(), print_long_term(), print_results(), print_short_term(), print_tls_error(), probe(), process_c(), process_command(), process_cqt(), process_frame_obj(), process_line(), prompeg_close(), prompeg_create_bitstring(), prompeg_init(), prompeg_open(), prompeg_write(), prompeg_write_fec(), ps_stereo_interpolate_c(), ps_stereo_interpolate_ipdopd_c(), ptx_decode_frame(), pulse_audio_sink_input_cb(), pulse_control_message(), pulse_event(), pulse_get_device_list(), pulse_get_output_timestamp(), pulse_overflow(), pulse_stream_writable(), pulse_underflow(), pulse_update_sink_info(), pulse_update_sink_input_info(), pulse_write_frame(), pulse_write_header(), pulse_write_packet(), pulse_write_trailer(), push_greys(), push_single_pic(), put_cursor(), put_h264_qpel8_h_lowpass_l2_mmi(), put_h264_qpel8_v_lowpass_mmi(), put_h264_qpel8or16_hv2_lowpass_mmi(), put_no_rnd_vc1_chroma_mc4_c(), put_no_rnd_vc1_chroma_mc8_c(), put_pixels16_l2_8_lsx(), put_pixels16_l2_shift5_mmi(), put_pixels8_l2_8_lsx(), put_pixels8_l2_shift5_mmi(), qcom_tile_pos(), qpel_motion(), qpel_motion_search(), quantize(), ratecontrol_1pass(), rd_frame(), rd_strip(), rdft_horizontal16(), rdft_horizontal8(), read_fft_data(), read_iplane(), realloc_texture(), reflectx(), reflecty(), release_unused_pictures(), remap_frame_to_palette(), remove_long(), remove_short(), remove_short_at_index(), request_frame(), resample_cubic(), resample_linear(), rescale(), retry_transfer_wrapper(), rgb2yuv(), rgb2yuv_fsb(), ring_write(), ripemd128_transform(), ripemd160_transform(), ripemd256_transform(), ripemd320_transform(), rm_read_dts(), rtmp_close(), rtmp_http_close(), rtmp_http_open(), rtmp_http_read(), rtmp_http_send_cmd(), rtmp_http_write(), rtmp_packet_read_one_chunk(), rtmpe_close(), rtmpe_open(), rtmpe_read(), rtmpe_write(), rtp_close(), rtp_get_file_handle(), rtp_get_multi_file_handle(), rtp_open(), rtp_read(), rtp_write(), run_channel_fft(), run_copy(), run_legacy_swscale(), run_legacy_unscaled(), run_lut3d(), run_rgb0(), run_rgb2xyz(), run_self_tests(), run_xyz2rgb(), rv30_parse_slice_header(), rv40_parse_picture_size(), rv40_parse_slice_header(), s302m_parse_frame_header(), sao_extends_edges(), sao_filter_CTB(), sao_restore_vb(), saturation_matrix(), sb_coded_flag_decode(), scale(), scale_clip(), scale_magnitudes(), scale_mv(), scaled_filter_8tap_fn(), scc_write_packet(), scroll_slice(), sctp_close(), sctp_get_file_handle(), sctp_open(), sctp_read(), sctp_write(), sdt_cb(), send_next_delayed_frame(), set_aes_arg(), set_control(), set_default_ctl_value(), set_dimensions(), set_frame(), set_intra_mode_default(), set_mv_intra(), set_tb_tab(), setctx_2d(), setup_3x3(), setup_5x5(), setup_7x7(), setup_column(), sha256_transform(), sha512_transform(), skip_identical(), slave_seek(), smacker_decode_header_tree(), small_diamond_search(), smka_decode_frame(), sobel(), softfloat_mul(), srtp_close(), srtp_get_file_handle(), srtp_get_multi_file_handle(), srtp_open(), srtp_read(), srtp_write(), sse(), sse16_c(), sse4_c(), sse8_c(), sse_mb(), start_connect_attempt(), stereo_processing(), store_icy(), store_mvs(), sub2video_copy_rect(), subfile_close(), subfile_open(), subfile_read(), subfile_seek(), submit_stats(), sunrast_decode_frame(), svq3_decode_init(), sws_lut3d_apply(), synth_window(), tag_tree_size(), targa_decode_rle(), targa_encode_normal(), targa_encode_rle(), tcp_close(), tcp_get_file_handle(), tcp_get_window_size(), tcp_open(), tcp_read(), tcp_shutdown(), tcp_write(), tdsc_decode_jpeg_tile(), tdsc_decode_tiles(), tdsc_paint_cursor(), tdsc_parse_tdsf(), tee_close(), tee_open(), tee_write(), test_motion(), test_stereo_interpolate(), threshold16(), threshold8(), threshold_slice(), tls_client_handshake(), tls_client_handshake_loop(), tls_close(), tls_get_file_handle(), tls_get_short_seek(), tls_open(), tls_read(), tls_read_callback(), tls_read_cb(), tls_shutdown_client(), tls_write(), tls_write_callback(), tls_write_cb(), tm2_decode_blocks(), tongue_outline(), tqi_decode_frame(), transform_step(), translate_ipfs_to_http(), transpose_block_16_c(), transpose_block_24_c(), transpose_block_32_c(), transpose_block_48_c(), transpose_block_64_c(), transpose_block_8_c(), txd_decode_frame(), udp_close(), udp_get_file_handle(), udp_open(), udp_read(), udp_set_multicast_sources(), udp_set_url(), udp_socket_create(), udp_write(), udplite_open(), umh_search(), unix_close(), unix_get_file_handle(), unix_open(), unix_read(), unix_write(), unpack_10bit(), unpack_coeffs(), unpremultiply16(), unpremultiply16offset(), unpremultiply16yuv(), unpremultiply8(), unpremultiply8offset(), unpremultiply8yuv(), unpremultiplyf32(), unpremultiplyf32offset(), unreference_pic(), update_canvas_size(), update_frame_pool(), update_input_arguments(), update_metadata(), update_model5_to_6(), update_size(), upsample_plane_c(), urlcontext_child_next(), urlcontext_to_name(), v210_decode_slice(), v210_enc_TMPL(), v4l2_buffer_swframe_to_buf(), v_block_filter(), vaapi_h264_decode_slice(), vaapi_h264_end_frame(), vaapi_h264_start_frame(), vaapi_hevc_decode_slice(), vaapi_hevc_end_frame(), vaapi_hevc_start_frame(), vaapi_vp9_decode_slice(), vaapi_vp9_end_frame(), vaapi_vp9_start_frame(), vaapi_vvc_decode_slice(), vaapi_vvc_end_frame(), vaapi_vvc_start_frame(), vblur(), vc2_encode_init(), vdpau_h264_decode_slice(), vdpau_h264_end_frame(), vdpau_h264_set_reference_frames(), vdpau_h264_start_frame(), vdpau_hevc_decode_slice(), vdpau_hevc_end_frame(), vdpau_hevc_parse_rext_profile(), vdpau_hevc_start_frame(), vdpau_vp9_decode_slice(), vdpau_vp9_end_frame(), vdpau_vp9_start_frame(), vectorscope16(), vectorscope8(), verify_md5(), vfw_read_header(), video_audio_display(), video_frame(), video_frame_cksum(), video_open(), videotoolbox_vp9_end_frame(), vif_dec2(), vif_filter1d(), vif_statistic(), vif_xx_yy_xy(), vk_h264_create_params(), vk_h264_decode_slice(), vk_h264_end_frame(), vk_h264_start_frame(), vk_hevc_create_params(), vk_hevc_decode_slice(), vk_hevc_end_frame(), vk_hevc_start_frame(), vmd_probe(), vp3_draw_horiz_band(), vp8_lossless_decode_frame(), vp9_handle_packet(), vt_pool_alloc(), vu9_to_vu12_c(), w53_16_c(), w53_8_c(), w97_16_c(), w97_8_c(), w_c(), wdec14(), wdec16(), weight_averages(), win32thread_worker(), wmv2_mspel8_h_lowpass(), wrapped_url_read(), write_back_intra_pred_mode(), write_back_motion(), write_back_motion_list(), write_back_non_zero_count(), write_root_table(), write_strip_header(), xcbgrab_reposition(), xchg_mb_border(), xsub_encode(), xsub_encode_rle(), xyz_to_dfisheye(), xyz_to_fisheye(), xyz_to_flat(), yae_reset(), yuv2rgb(), yuv2yuv(), yvu9_to_yuy2_c(), zmq_proto_close(), zmq_proto_open(), zmq_proto_read(), zmq_proto_wait(), zmq_proto_wait_timeout(), and zmq_proto_write().

_dst
uint8_t * _dst
Definition: dsp.h:52
DC_128_PRED
@ DC_128_PRED
Definition: vp9.h:58
lf_8_fn
#define lf_8_fn(dir, wd, stridea, strideb)
Definition: vp9dsp_template.c:1891
TM_VP8_PRED
@ TM_VP8_PRED
Definition: vp9.h:55
w
uint8_t w
Definition: llviddspenc.c:38
DC_PRED
@ DC_PRED
Definition: vp9.h:48
VERT_LEFT_PRED
@ VERT_LEFT_PRED
Definition: vp9.h:53
init_scaled_bd_aware
#define init_scaled_bd_aware(idx1, idx2, sz, type)
F
#define F(x)
filter
void(* filter)(uint8_t *src, int stride, int qscale)
Definition: h263dsp.c:29
scaled_filter_fn
#define scaled_filter_fn(sz, type, type_idx, avg)
ff_vp9_subpel_filters
const int16_t ff_vp9_subpel_filters[3][16][8]
Definition: vp9dsp.c:32
mx
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition: dsp.h:53
DC_127_PRED
@ DC_127_PRED
Definition: vp9.h:59
VERT_PRED
@ VERT_PRED
Definition: vp9.h:46
DIAG_DOWN_RIGHT_PRED
@ DIAG_DOWN_RIGHT_PRED
Definition: vp9.h:50
av_noinline
#define av_noinline
Definition: attributes.h:72
type
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Definition: writing_filters.txt:86
FILTER_8TAP_SHARP
@ FILTER_8TAP_SHARP
Definition: vp9.h:67
idct
static void idct(int16_t block[64])
Definition: 4xm.c:167
itxfm_wrapper
#define itxfm_wrapper(type_a, type_b, sz, bits, has_dconly)
Definition: vp9dsp_template.c:1155
fpel_fn
#define fpel_fn(type, sz)
Definition: vp9dsp_template.c:2003
HOR_PRED
@ HOR_PRED
Definition: vp9.h:47
init_scaled
#define init_scaled(idx1, idx2, sz, type)
init_subpel1_bd_aware
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type)
filters
#define filters(fmt, type, inverse, clp, inverset, clip, one, clip_fn, packed)
Definition: af_crystalizer.c:55
bits
uint8_t bits
Definition: vp3data.h:128
LEFT_DC_PRED
@ LEFT_DC_PRED
Definition: vp9.h:56
E
#define E
Definition: avdct.c:33
my
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition: dsp.h:53
DCT_ADST
@ DCT_ADST
Definition: vp9.h:39
pixel
uint8_t pixel
Definition: tiny_ssim.c:41
init_subpel1
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type)
filter_fn
#define filter_fn(sz, avg)
FILTER_BILINEAR
@ FILTER_BILINEAR
Definition: vp9.h:68
DCT_DCT
@ DCT_DCT
Definition: vp9.h:38
filter_fn_1d
#define filter_fn_1d(sz, dir, dir_m, type, type_idx, avg)
init_fpel
#define init_fpel(idx1, idx2, sz, type)
copy
static void copy(const float *p1, float *p2, const int length)
Definition: vf_vaguedenoiser.c:186
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
FILTER_8TAP_REGULAR
@ FILTER_8TAP_REGULAR
Definition: vp9.h:66
for
for(k=2;k<=8;++k)
Definition: h264pred_template.c:425
size
int size
Definition: twinvq_data.h:10344
VERT_RIGHT_PRED
@ VERT_RIGHT_PRED
Definition: vp9.h:51
avg
#define avg(a, b, c, d)
Definition: colorspacedsp_template.c:28
lf_mix_fn
#define lf_mix_fn(dir, wd1, wd2, stridea)
H
#define H
Definition: pixlet.c:39
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:256
DC_129_PRED
@ DC_129_PRED
Definition: vp9.h:60
ADST_ADST
@ ADST_ADST
Definition: vp9.h:41
FILTER_8TAP_SMOOTH
@ FILTER_8TAP_SMOOTH
Definition: vp9.h:65
stride
#define stride
Definition: h264pred_template.c:537
av_clip_pixel
#define av_clip_pixel(a)
Definition: bit_depth_template.c:98
left
Tag MUST be and< 10hcoeff half pel interpolation filter coefficients, hcoeff[0] are the 2 middle coefficients[1] are the next outer ones and so on, resulting in a filter like:...eff[2], hcoeff[1], hcoeff[0], hcoeff[0], hcoeff[1], hcoeff[2] ... the sign of the coefficients is not explicitly stored but alternates after each coeff and coeff[0] is positive, so ...,+,-,+,-,+,+,-,+,-,+,... hcoeff[0] is not explicitly stored but found by subtracting the sum of all stored coefficients with signs from 32 hcoeff[0]=32 - hcoeff[1] - hcoeff[2] - ... a good choice for hcoeff and htaps is htaps=6 hcoeff={40,-10, 2} an alternative which requires more computations at both encoder and decoder side and may or may not be better is htaps=8 hcoeff={42,-14, 6,-2}ref_frames minimum of the number of available reference frames and max_ref_frames for example the first frame after a key frame always has ref_frames=1spatial_decomposition_type wavelet type 0 is a 9/7 symmetric compact integer wavelet 1 is a 5/3 symmetric compact integer wavelet others are reserved stored as delta from last, last is reset to 0 if always_reset||keyframeqlog quality(logarithmic quantizer scale) stored as delta from last, last is reset to 0 if always_reset||keyframemv_scale stored as delta from last, last is reset to 0 if always_reset||keyframe FIXME check that everything works fine if this changes between framesqbias dequantization bias stored as delta from last, last is reset to 0 if always_reset||keyframeblock_max_depth maximum depth of the block tree stored as delta from last, last is reset to 0 if always_reset||keyframequant_table quantization tableHighlevel bitstream structure:==============================--------------------------------------------|Header|--------------------------------------------|------------------------------------|||Block0||||split?||||yes no||||......... intra?||||:Block01 :yes no||||:Block02 :....... ..........||||:Block03 ::y DC ::ref index:||||:Block04 ::cb DC ::motion x :||||......... :cr DC ::motion y :||||....... ..........|||------------------------------------||------------------------------------|||Block1|||...|--------------------------------------------|------------ ------------ ------------|||Y subbands||Cb subbands||Cr subbands||||--- ---||--- ---||--- ---|||||LL0||HL0||||LL0||HL0||||LL0||HL0|||||--- ---||--- ---||--- ---||||--- ---||--- ---||--- ---|||||LH0||HH0||||LH0||HH0||||LH0||HH0|||||--- ---||--- ---||--- ---||||--- ---||--- ---||--- ---|||||HL1||LH1||||HL1||LH1||||HL1||LH1|||||--- ---||--- ---||--- ---||||--- ---||--- ---||--- ---|||||HH1||HL2||||HH1||HL2||||HH1||HL2|||||...||...||...|||------------ ------------ ------------|--------------------------------------------Decoding process:=================------------|||Subbands|------------||||------------|Intra DC||||LL0 subband prediction ------------|\ Dequantization ------------------- \||Reference frames|\ IDWT|------- -------|Motion \|||Frame 0||Frame 1||Compensation . OBMC v -------|------- -------|--------------. \------> Frame n output Frame Frame<----------------------------------/|...|------------------- Range Coder:============Binary Range Coder:------------------- The implemented range coder is an adapted version based upon "Range encoding: an algorithm for removing redundancy from a digitised message." by G. N. N. Martin. The symbols encoded by the Snow range coder are bits(0|1). The associated probabilities are not fix but change depending on the symbol mix seen so far. bit seen|new state ---------+----------------------------------------------- 0|256 - state_transition_table[256 - old_state];1|state_transition_table[old_state];state_transition_table={ 0, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 190, 191, 192, 194, 194, 195, 196, 197, 198, 199, 200, 201, 202, 202, 204, 205, 206, 207, 208, 209, 209, 210, 211, 212, 213, 215, 215, 216, 217, 218, 219, 220, 220, 222, 223, 224, 225, 226, 227, 227, 229, 229, 230, 231, 232, 234, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 248, 0, 0, 0, 0, 0, 0, 0};FIXME Range Coding of integers:------------------------- FIXME Neighboring Blocks:===================left and top are set to the respective blocks unless they are outside of the image in which case they are set to the Null block top-left is set to the top left block unless it is outside of the image in which case it is set to the left block if this block has no larger parent block or it is at the left side of its parent block and the top right block is not outside of the image then the top right block is used for top-right else the top-left block is used Null block y, cb, cr are 128 level, ref, mx and my are 0 Motion Vector Prediction:=========================1. the motion vectors of all the neighboring blocks are scaled to compensate for the difference of reference frames scaled_mv=(mv *(256 *(current_reference+1)/(mv.reference+1))+128)> the median of the scaled left
Definition: snow.txt:386
scaled_filter_fns
#define scaled_filter_fns(sz, avg)
HOR_UP_PRED
@ HOR_UP_PRED
Definition: vp9.h:54
HOR_DOWN_PRED
@ HOR_DOWN_PRED
Definition: vp9.h:52
_
#define _
TOP_DC_PRED
@ TOP_DC_PRED
Definition: vp9.h:57
smooth
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifo *values)
Definition: vf_deshake_opencl.c:887
ADST_DCT
@ ADST_DCT
Definition: vp9.h:40
DIAG_DOWN_LEFT_PRED
@ DIAG_DOWN_LEFT_PRED
Definition: vp9.h:49
h
h
Definition: vp9dsp_template.c:2070
init_subpel2
#define init_subpel2(idx, idxh, idxv, dir, type)
src
#define src
Definition: vp8dsp.c:248