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 *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_8x8_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_16x16_c (uint8_t *_dst, ptrdiff_t stride, const uint8_t *left, const uint8_t *_top)
 
static void vert_32x32_c (uint8_t *_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 *dst, ptrdiff_t dst_stride, const uint8_t *src, ptrdiff_t src_stride, int w, int h)
 
static av_always_inline void avg_c (uint8_t *_dst, ptrdiff_t dst_stride, const uint8_t *_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 781 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 801 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 844 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 893 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 950 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 1000 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 1046 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 1123 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 1162 of file vp9dsp_template.c.

◆ IN

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

Definition at line 1168 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 1859 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 1869 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 1971 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 1979 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 2029 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 2083 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 2145 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 2197 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, h, mx, regular, FILTER_8TAP_REGULAR, avg) \
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 2379 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 2452 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 *  _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 *  _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 *  _dst,
ptrdiff_t  stride,
const uint8_t *  left,
const uint8_t *  _top 
)
static

Definition at line 64 of file vp9dsp_template.c.

◆ vert_32x32_c()

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

Definition at line 85 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 114 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 127 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 144 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 163 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 188 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 208 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 232 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 264 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 314 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 330 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 350 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 374 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 407 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 421 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 439 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 460 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 488 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 502 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 520 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 541 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 571 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 584 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 599 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 616 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 637 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 649 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 664 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 681 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 702 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 715 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 730 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 747 of file vp9dsp_template.c.

◆ memset_bpc()

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

Definition at line 773 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 783 of file vp9dsp_template.c.

◆ def_diag_downleft()

def_diag_downleft ( )

Definition at line 821 of file vp9dsp_template.c.

◆ def_diag_downright()

def_diag_downright ( )

Definition at line 867 of file vp9dsp_template.c.

◆ def_vert_right()

def_vert_right ( )

Definition at line 924 of file vp9dsp_template.c.

◆ def_hor_down()

def_hor_down ( )

Definition at line 975 of file vp9dsp_template.c.

◆ def_vert_left()

def_vert_left ( )

Definition at line 1025 of file vp9dsp_template.c.

◆ def_hor_up()

def_hor_up ( )

Definition at line 1072 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 1170 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 1186 of file vp9dsp_template.c.

◆ itxfm_wrap() [1/3]

itxfm_wrap ( ,
 
)

Definition at line 1202 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 1240 of file vp9dsp_template.c.

◆ itxfm_wrap() [2/3]

itxfm_wrap ( ,
 
)

Definition at line 1284 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 1374 of file vp9dsp_template.c.

◆ itxfm_wrap() [3/3]

itxfm_wrap ( 16  ,
 
)

Definition at line 1477 of file vp9dsp_template.c.

◆ itxfm_wrapper() [1/2]

itxfm_wrapper ( idct  ,
idct  ,
32  ,
,
 
)

Definition at line 1685 of file vp9dsp_template.c.

◆ itxfm_wrapper() [2/2]

itxfm_wrapper ( iwht  ,
iwht  ,
,
,
 
)

Definition at line 1718 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 1748 of file vp9dsp_template.c.

◆ lf_8_fns()

lf_8_fns ( )

Definition at line 1873 of file vp9dsp_template.c.

◆ copy_c()

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

Definition at line 1939 of file vp9dsp_template.c.

◆ avg_c()

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

Definition at line 1951 of file vp9dsp_template.c.

◆ copy_avg_fn()

copy_avg_fn ( 64  )

Definition at line 1983 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 2044 of file vp9dsp_template.c.

◆ filter_8tap_2d_fn()

filter_8tap_2d_fn ( put  ,
 
)

Definition at line 2092 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 2160 of file vp9dsp_template.c.

◆ bilin_2d_fn()

bilin_2d_fn ( put  ,
 
)

Definition at line 2205 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 2331 of file vp9dsp_template.c.

◆ scaled_filter_8tap_fn()

scaled_filter_8tap_fn ( put  ,
 
)

Definition at line 2389 of file vp9dsp_template.c.

◆ scaled_bilin_fn()

scaled_bilin_fn ( put  ,
 
)

Definition at line 2460 of file vp9dsp_template.c.

◆ ff_vp9dsp_init()

av_cold void FUNC() ff_vp9dsp_init ( VP9DSPContext dsp)

Definition at line 2539 of file vp9dsp_template.c.

Variable Documentation

◆ h

h

Definition at line 2038 of file vp9dsp_template.c.

Referenced by acalc_magnitudes(), add_entry(), add_yblock(), advance_line(), all_black(), all_same(), all_white(), alloc_buffers(), alloc_frame(), alloc_frame_empty(), alloc_picture(), 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(), 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_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(), 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(), bit8x8_c(), black_counter(), blend_pixel(), blend_pixel16(), block_fill(), block_sum(), blur(), blur_image(), blur_pixel(), bluray_close(), bluray_open(), bluray_read(), bluray_seek(), cache_close(), cache_open(), cache_read(), cache_seek(), calc_channel_magnitudes(), calc_channel_phases(), calc_channel_uphases(), calc_correction(), calc_persp_luts(), calculate_mode_score(), calculate_skip_errors(), calculate_sums(), cas_slice16(), cas_slice8(), cavs_decode_frame(), cavs_flush(), cdg_copy_rect_buf(), cdg_fill_rect_preset(), cdg_fill_wrapper(), cdxl_decode_frame(), check_add_res(), check_bidir_mv(), check_disc_info(), check_eq(), check_for_slice(), check_header(), check_horiz_slice(), check_http_code(), check_idct(), check_idct_dc(), check_idct_multiple(), check_loop_filter(), check_loop_filter_intra(), check_mc(), check_multiply3x3(), check_pred16x16(), check_pred4x4(), check_pred8x8(), check_pred8x8l(), check_rgb2yuv(), check_sao_band(), check_sao_edge(), check_threshold(), 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_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(), choose_rct_params(), 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_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(), data_close(), data_open(), data_read(), dc_test(), dca_parse_params(), dct_max8x8_c(), dct_sad8x8_c(), deband_16_c(), deband_16_coupling_c(), deband_8_c(), deband_8_coupling_c(), deblocking_filter_CTB(), decode_555(), decode_alternative_transfer(), 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_TMPL(), 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(), dfisheye_to_xyz(), diamond_search(), diff_pixels_mvi(), diff_planes(), dirac_decode_frame_internal(), displace_packed(), displace_planar(), display_integral(), djb2_hash(), dng_decode_jpeg(), dnxhd_probe(), do_8tap_2d_c(), do_bilin_2d_c(), do_convolve(), do_scaled_8tap_c(), doTest(), double_threshold(), 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(), 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(), eit_cb(), encode_block(), encode_blocks(), encode_close(), encode_dvd_subtitles(), encode_frame(), encode_init(), encode_mode(), encode_plane(), encode_q_branch(), encode_rgb_frame_TMPL(), 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_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_dnn_execute_layer_pad(), ff_dnxhd_get_hr_frame_size(), ff_draw_horiz_band(), ff_emulated_edge_mc(), ff_epzs_motion_search(), ff_fill_block16_mmi(), ff_fill_block8_mmi(), ff_fill_rectangle(), ff_frame_pool_video_init(), ff_get_mb_score(), ff_get_video_buffer(), ff_gmc_c(), ff_h261_encode_mb(), ff_h261_encode_picture_header(), ff_h261_loop_filter(), ff_h263_decode_frame(), 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_ref_picture(), ff_h264_remove_all_refs(), ff_h264_replace_picture(), 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_unref_picture(), ff_h264_update_thread_context(), ff_h264_update_thread_context_for_user(), ff_http_do_new_request(), ff_http_do_new_request2(), ff_http_get_shutdown_status(), ff_huff_gen_len_table(), 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_sos(), ff_mjpeg_receive_frame(), ff_mpeg_draw_horiz_band(), ff_mpv_encode_picture(), ff_mspel_motion(), 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_mmi(), ff_put_no_rnd_pixels16_x2_msa(), ff_put_no_rnd_pixels16_xy2_8_mmi(), ff_put_no_rnd_pixels16_xy2_msa(), 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_mmi(), ff_put_no_rnd_pixels8_x2_msa(), ff_put_no_rnd_pixels8_xy2_8_mmi(), ff_put_no_rnd_pixels8_xy2_msa(), 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_mmi(), ff_put_pixels16_l2_8_mmi(), ff_put_pixels16_msa(), ff_put_pixels16_x2_8_mmi(), ff_put_pixels16_x2_msa(), ff_put_pixels16_xy2_8_mmi(), ff_put_pixels16_xy2_msa(), 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_mmi(), ff_put_pixels8_l2_8(), ff_put_pixels8_l2_8_mmi(), ff_put_pixels8_msa(), ff_put_pixels8_x2_8_mmi(), ff_put_pixels8_x2_msa(), ff_put_pixels8_xy2_8_mmi(), ff_put_pixels8_xy2_msa(), 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_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_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_w53_32_c(), ff_w97_32_c(), ff_xface_generate_face(), 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_read_complete(), ffurl_seek(), ffurl_shutdown(), ffurl_size(), ffurl_write(), file_check(), file_get_handle(), file_read(), file_write(), fileTest(), 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_picture_parameters(), fill_pixels(), fill_pred_weight_table(), fill_rectangle(), fill_scaling_lists(), 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(), g2m_paint_cursor(), gammafilter(), gaussian_blur(), gbr16ptopacked16(), gbr24ptopacked24(), gbr24ptopacked32(), gbraptopacked32(), gen_image(), generate(), generate_sliding_window_mmcos(), get_4block_rd(), get_alpha_data(), get_block_rd(), get_component(), get_dc(), get_dct8x8_allowed(), get_histogram(), get_input(), get_intra_count(), get_last_needed_nal(), get_lowest_part_y(), get_mb_score(), get_output(), get_pixel_format(), get_pixels_mvi(), get_plane_wh(), get_ref_pic_index(), get_slice_data(), get_stats(), get_video_buffer(), get_xoutput(), get_zeropadded_input(), getpix(), getpix_integrate(), getpix_integrate_internal(), getsigctxno(), getSSD(), gif_copy_img_rect(), gif_crop_translucent(), gif_fill_rect(), gmc1_c(), gopher_close(), gopher_connect(), gopher_open(), gopher_read(), gopher_write(), gray16(), gray8(), guess_dc(), h261_decode_block(), h261_decode_end(), 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(), h261_encode_motion(), h261_resync(), 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_free_pic(), 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(), hadamard8_diff8x8_c(), hadamard8_intra8x8_c(), hadamard_func(), half2float(), halfpel_interpol(), 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(), image_copy(), image_copy_16_to_8(), image_sad(), implicit_weight_table(), import_pem(), ingenient_read_packet(), init(), init_decoder(), init_demo(), init_dimensions(), init_pattern_from_file(), init_planes(), init_scan_tables(), init_slice(), init_slice_c(), init_table_pools(), input_flip(), interlaced_search(), interleave(), interleaveBytes_c(), interleaveBytes_TMPL(), interpolate(), invert(), irdft_horizontal16(), irdft_horizontal8(), is_inside(), iterative_me(), 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(), limiter16(), limiter8(), ljpeg_decode_yuv_scan(), ljpeg_encode_yuv_mb(), load_ca(), load_cert(), load_input_picture(), load_mask(), LOOP_FILTER(), loop_filter(), m4sl_cb(), MAC64(), main(), make_lpf(), mask_edges(), maskedclamp_slice(), maskedmerge16(), maskedmerge8(), maskedminmax_slice(), mbedtls_recv(), mbedtls_send(), 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_field(), mpeg_motion_internal(), mpeg_motion_lowres(), mpeg_parse_packet(), mpv_reconstruct_mb_internal(), mss2_blit_wmv9_c(), mss2_blit_wmv9_masked_c(), mss2_blit_wmv9_template(), mss2_decode_frame(), mss2_gray_fill_masked_c(), multiply3x3_c(), mv_pred_direct(), mv_pred_median(), mv_pred_sym(), negate16(), negate8(), negate_packed16(), negate_packed8(), nlmeans_opencl_filter_frame(), nlmeans_plane(), non_maximum_suppression(), nsse16_c(), nsse8_c(), 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(), packedtogbr24p(), paint_raw(), paint_rect(), pam_encode_frame(), parse_content_encoding(), parse_content_range(), parse_frame_header(), parse_playlist(), parse_presentation_segment(), parse_section_header(), pat_cb(), pcx_decode_frame(), perspective_to_xyz(), pgmyuv_save(), pic_num_extract(), pick_palette_entry(), pix_abs16_c(), pix_abs16_x2_c(), pix_abs16_xy2_c(), pix_abs16_y2_c(), pix_abs16x16_x2_mvi(), pix_abs16x16_xy2_mvi(), pix_abs16x16_y2_mvi(), pix_abs8_c(), pix_abs8_x2_c(), pix_abs8_xy2_c(), pix_abs8_y2_c(), pix_abs8x8_mvi(), pix_median_abs16_c(), pix_median_abs8_c(), pix_sum(), 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(), postprocess_chroma(), postprocess_luma(), PRED4x4(), pred_16x8_motion(), pred_8x16_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), pred_spatial_direct_motion(), pred_temp_direct_motion(), predict_field_decoding_flag(), predict_intra(), predict_slice(), predict_slice_buffered(), prefetch_mips(), prefetch_motion(), prefetch_ppc(), premultiply16(), premultiply16offset(), premultiply16yuv(), premultiply8(), premultiply8offset(), premultiply8yuv(), premultiplyf32(), premultiplyf32offset(), prepare_impulse(), 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_axp_asm(), put_pixels16_l2_shift5_mmi(), put_pixels8_l2_shift5_mmi(), qcom_tile_pos(), qpel_motion(), qpel_motion_search(), qsvscale_config_props(), quant_psnr8x8_c(), quantize(), ratecontrol_1pass(), rd8x8_c(), 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(), rgb48Toxyz12(), 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(), rv30_parse_slice_header(), rv40_parse_picture_size(), rv40_parse_slice_header(), s302m_parse_frame_header(), sao_filter_CTB(), saturation_matrix(), 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(), selfTest(), 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_sps(), 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(), sub2video_prepare(), subfile_close(), subfile_open(), subfile_read(), subfile_seek(), submit_stats(), sunrast_decode_frame(), svq3_decode_init(), 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_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(), transfer_image_buf(), transform_step(), 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_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(), 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_cksum(), video_open(), videotoolbox_vp9_end_frame(), vif_dec2(), vif_filter1d(), vif_statistic(), vif_xx_yy_xy(), vmd_probe(), vp3_draw_horiz_band(), vp8_lossless_decode_frame(), vp9_handle_packet(), vt_pool_alloc(), vu9_to_vu12_c(), vu9_to_vu12_TMPL(), 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(), xyz12Torgb48(), xyz_to_dfisheye(), xyz_to_fisheye(), xyz_to_flat(), yae_reset(), yuv2rgb(), yuv2yuv(), yvu9_to_yuy2_c(), yvu9_to_yuy2_TMPL(), zmq_proto_close(), zmq_proto_open(), zmq_proto_read(), zmq_proto_wait(), zmq_proto_wait_timeout(), and zmq_proto_write().

stride
int stride
Definition: mace.c:144
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:1859
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)
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:30
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
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:165
itxfm_wrapper
#define itxfm_wrapper(type_a, type_b, sz, bits, has_dconly)
Definition: vp9dsp_template.c:1123
filters
#define filters(fmt, inverse, clip, i, c)
Definition: af_crystalizer.c:221
fpel_fn
#define fpel_fn(type, sz)
Definition: vp9dsp_template.c:1971
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)
bits
uint8_t bits
Definition: vp3data.h:141
LEFT_DC_PRED
@ LEFT_DC_PRED
Definition: vp9.h:56
E
#define E
Definition: avdct.c:32
DCT_ADST
@ DCT_ADST
Definition: vp9.h:39
pixel
uint8_t pixel
Definition: tiny_ssim.c:42
src
#define src
Definition: vp8dsp.c:255
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
for
for(j=16;j >0;--j)
Definition: h264pred_template.c:469
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:187
FILTER_8TAP_REGULAR
@ FILTER_8TAP_REGULAR
Definition: vp9.h:66
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:271
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
smooth
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifoBuffer *values)
Definition: vf_deshake_opencl.c:903
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
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:2038
init_subpel2
#define init_subpel2(idx, idxh, idxv, dir, type)