Go to the source code of this file.
|
#define | cat(a, bpp, b) a##bpp##b |
|
#define | decl_fpel_func(avg, sz, bpp, opt) |
|
#define | decl_mc_func(avg, sz, dir, opt, type, f_sz, bpp) |
|
#define | decl_mc_funcs(sz, opt, type, fsz, bpp) |
|
#define | decl_ipred_fn(type, sz, bpp, opt) |
|
#define | decl_ipred_fns(type, bpp, opt4, opt8_16_32) |
|
#define | decl_itxfm_func(typea, typeb, size, bpp, opt) |
|
#define | decl_itxfm_funcs(size, bpp, opt) |
|
#define | mc_rep_func(avg, sz, hsz, hszb, dir, opt, type, f_sz, bpp) |
|
#define | mc_rep_funcs(sz, hsz, hszb, opt, type, fsz, bpp) |
|
#define | filter_8tap_1d_fn(op, sz, f, f_opt, fname, dir, dvar, bpp, opt) |
|
#define | filters_8tap_1d_fn(op, sz, dir, dvar, bpp, opt, f_opt) |
|
#define | filters_8tap_1d_fn2(op, sz, bpp, opt, f_opt) |
|
#define | filters_8tap_1d_fn3(op, bpp, opt4, opt8, f_opt) |
|
#define | filter_8tap_2d_fn(op, sz, f, f_opt, fname, align, bpp, bytes, opt) |
|
#define | filters_8tap_2d_fn(op, sz, align, bpp, bytes, opt, f_opt) |
|
#define | filters_8tap_2d_fn2(op, align, bpp, bytes, opt4, opt8, f_opt) |
|
#define | init_fpel_func(idx1, idx2, sz, type, bpp, opt) |
|
#define | init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type, bpp, opt) |
|
#define | init_subpel2(idx1, idx2, sz, type, bpp, opt) |
|
#define | init_subpel3_32_64(idx, type, bpp, opt) |
|
#define | init_subpel3_8to64(idx, type, bpp, opt) |
|
#define | init_subpel3(idx, type, bpp, opt) |
|
#define | init_ipred_func(type, enum, sz, bpp, opt) |
|
#define | init_8_16_32_ipred_funcs(type, enum, bpp, opt) |
|
#define | init_ipred_funcs(type, enum, bpp, opt) |
|
◆ cat
#define cat |
( |
|
a, |
|
|
|
bpp, |
|
|
|
b |
|
) |
| a##bpp##b |
◆ decl_fpel_func
#define decl_fpel_func |
( |
|
avg, |
|
|
|
sz, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:void ff_vp9_##
avg##sz##bpp##
_##opt(uint8_t *
dst, ptrdiff_t dst_stride, \
const uint8_t *
src, ptrdiff_t src_stride, \
Definition at line 34 of file vp9dsp_init.h.
◆ decl_mc_func
#define decl_mc_func |
( |
|
avg, |
|
|
|
sz, |
|
|
|
dir, |
|
|
|
opt, |
|
|
|
type, |
|
|
|
f_sz, |
|
|
|
bpp |
|
) |
| |
Value:void ff_vp9_##
avg##_8tap_1d_##dir##
_##sz##
_##bpp##
_##opt(uint8_t *
dst, ptrdiff_t dst_stride, \
const uint8_t *
src, ptrdiff_t src_stride, \
Definition at line 39 of file vp9dsp_init.h.
◆ decl_mc_funcs
#define decl_mc_funcs |
( |
|
sz, |
|
|
|
opt, |
|
|
|
type, |
|
|
|
fsz, |
|
|
|
bpp |
|
) |
| |
Value:
decl_mc_func(
avg, sz,
h, opt,
type, fsz, bpp); \
decl_mc_func(put, sz, v, opt,
type, fsz, bpp); \
decl_mc_func(
avg, sz, v, opt,
type, fsz, bpp)
Definition at line 44 of file vp9dsp_init.h.
◆ decl_ipred_fn
#define decl_ipred_fn |
( |
|
type, |
|
|
|
sz, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:void ff_vp9_ipred_##
type##
_##sz##x##sz##
_##bpp##
_##opt(uint8_t *
dst, \
const uint8_t *l, \
Definition at line 50 of file vp9dsp_init.h.
◆ decl_ipred_fns
#define decl_ipred_fns |
( |
|
type, |
|
|
|
bpp, |
|
|
|
opt4, |
|
|
|
opt8_16_32 |
|
) |
| |
Value:
decl_ipred_fn(
type, 8, bpp, opt8_16_32); \
decl_ipred_fn(
type, 16, bpp, opt8_16_32); \
decl_ipred_fn(
type, 32, bpp, opt8_16_32)
Definition at line 56 of file vp9dsp_init.h.
◆ decl_itxfm_func
#define decl_itxfm_func |
( |
|
typea, |
|
|
|
typeb, |
|
|
|
size, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
◆ decl_itxfm_funcs
#define decl_itxfm_funcs |
( |
|
size, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:
decl_itxfm_func(iadst,
idct,
size, bpp, opt); \
decl_itxfm_func(
idct, iadst,
size, bpp, opt); \
decl_itxfm_func(iadst, iadst,
size, bpp, opt)
Definition at line 68 of file vp9dsp_init.h.
◆ mc_rep_func
#define mc_rep_func |
( |
|
avg, |
|
|
|
sz, |
|
|
|
hsz, |
|
|
|
hszb, |
|
|
|
dir, |
|
|
|
opt, |
|
|
|
type, |
|
|
|
f_sz, |
|
|
|
bpp |
|
) |
| |
Value:
ff_vp9_##
avg##_8tap_1d_##dir##
_##sz##
_##bpp##
_##opt(uint8_t *
dst, ptrdiff_t dst_stride, \
const uint8_t *
src, ptrdiff_t src_stride, \
{ \
ff_vp9_##
avg##_8tap_1d_##dir##
_##hsz##
_##bpp##
_##opt(
dst, dst_stride,
src, \
ff_vp9_##
avg##_8tap_1d_##dir##
_##hsz##
_##bpp##
_##opt(
dst + hszb, dst_stride,
src + hszb, \
}
Definition at line 74 of file vp9dsp_init.h.
◆ mc_rep_funcs
#define mc_rep_funcs |
( |
|
sz, |
|
|
|
hsz, |
|
|
|
hszb, |
|
|
|
opt, |
|
|
|
type, |
|
|
|
fsz, |
|
|
|
bpp |
|
) |
| |
Value:
mc_rep_func(
avg, sz, hsz, hszb,
h, opt,
type, fsz, bpp) \
mc_rep_func(put, sz, hsz, hszb, v, opt,
type, fsz, bpp) \
mc_rep_func(
avg, sz, hsz, hszb, v, opt,
type, fsz, bpp)
Definition at line 86 of file vp9dsp_init.h.
◆ filter_8tap_1d_fn
#define filter_8tap_1d_fn |
( |
|
op, |
|
|
|
sz, |
|
|
|
f, |
|
|
|
f_opt, |
|
|
|
fname, |
|
|
|
dir, |
|
|
|
dvar, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:static void op##_8tap_##fname##
_##sz##dir##
_##bpp##
_##opt(uint8_t *
dst, ptrdiff_t dst_stride, \
const uint8_t *
src, ptrdiff_t src_stride, \
{ \
ff_vp9_##
op##_8tap_1d_##dir##
_##sz##
_##bpp##
_##opt(
dst, dst_stride,
src, src_stride, \
h, ff_filters_##f_opt[
f][dvar - 1]); \
}
Definition at line 92 of file vp9dsp_init.h.
◆ filters_8tap_1d_fn
#define filters_8tap_1d_fn |
( |
|
op, |
|
|
|
sz, |
|
|
|
dir, |
|
|
|
dvar, |
|
|
|
bpp, |
|
|
|
opt, |
|
|
|
f_opt |
|
) |
| |
◆ filters_8tap_1d_fn2
#define filters_8tap_1d_fn2 |
( |
|
op, |
|
|
|
sz, |
|
|
|
bpp, |
|
|
|
opt, |
|
|
|
f_opt |
|
) |
| |
Value:
filters_8tap_1d_fn(
op, sz, v,
my, bpp, opt, f_opt)
Definition at line 106 of file vp9dsp_init.h.
◆ filters_8tap_1d_fn3
#define filters_8tap_1d_fn3 |
( |
|
op, |
|
|
|
bpp, |
|
|
|
opt4, |
|
|
|
opt8, |
|
|
|
f_opt |
|
) |
| |
Value:
filters_8tap_1d_fn2(
op, 32, bpp, opt8, f_opt) \
filters_8tap_1d_fn2(
op, 16, bpp, opt8, f_opt) \
filters_8tap_1d_fn2(
op, 8, bpp, opt8, f_opt) \
filters_8tap_1d_fn2(
op, 4, bpp, opt4, f_opt)
Definition at line 110 of file vp9dsp_init.h.
◆ filter_8tap_2d_fn
#define filter_8tap_2d_fn |
( |
|
op, |
|
|
|
sz, |
|
|
|
f, |
|
|
|
f_opt, |
|
|
|
fname, |
|
|
|
align, |
|
|
|
bpp, |
|
|
|
bytes, |
|
|
|
opt |
|
) |
| |
Value:static void op##_8tap_##fname##
_##sz##hv_##bpp##
_##opt(uint8_t *
dst, ptrdiff_t dst_stride, \
const uint8_t *
src, ptrdiff_t src_stride, \
{ \
LOCAL_ALIGNED_##
align(uint8_t,
temp, [71 * 64 * bytes]); \
ff_vp9_put_8tap_1d_h_##sz##
_##bpp##
_##opt(
temp, 64 * bytes,
src - 3 * src_stride, \
ff_filters_##f_opt[
f][
mx - 1]); \
ff_vp9_##
op##_8tap_1d_v_##sz##
_##bpp##
_##opt(
dst, dst_stride,
temp + 3 * bytes * 64, \
ff_filters_##f_opt[
f][
my - 1]); \
}
Definition at line 117 of file vp9dsp_init.h.
◆ filters_8tap_2d_fn
#define filters_8tap_2d_fn |
( |
|
op, |
|
|
|
sz, |
|
|
|
align, |
|
|
|
bpp, |
|
|
|
bytes, |
|
|
|
opt, |
|
|
|
f_opt |
|
) |
| |
◆ filters_8tap_2d_fn2
#define filters_8tap_2d_fn2 |
( |
|
op, |
|
|
|
align, |
|
|
|
bpp, |
|
|
|
bytes, |
|
|
|
opt4, |
|
|
|
opt8, |
|
|
|
f_opt |
|
) |
| |
Value:
filters_8tap_2d_fn(
op, 32,
align, bpp, bytes, opt8, f_opt) \
filters_8tap_2d_fn(
op, 16,
align, bpp, bytes, opt8, f_opt) \
filters_8tap_2d_fn(
op, 8,
align, bpp, bytes, opt8, f_opt) \
filters_8tap_2d_fn(
op, 4,
align, bpp, bytes, opt4, f_opt)
Definition at line 136 of file vp9dsp_init.h.
◆ init_fpel_func
#define init_fpel_func |
( |
|
idx1, |
|
|
|
idx2, |
|
|
|
sz, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
◆ init_subpel1
#define init_subpel1 |
( |
|
idx1, |
|
|
|
idx2, |
|
|
|
idxh, |
|
|
|
idxv, |
|
|
|
sz, |
|
|
|
dir, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:
type##_8tap_smooth_##sz##dir##
_##bpp##
_##opt; \
type##_8tap_regular_##sz##dir##
_##bpp##
_##opt; \
type##_8tap_sharp_##sz##dir##
_##bpp##
_##opt
Definition at line 149 of file vp9dsp_init.h.
◆ init_subpel2
#define init_subpel2 |
( |
|
idx1, |
|
|
|
idx2, |
|
|
|
sz, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:
init_subpel1(idx1, idx2, 0, 1, sz, v,
type, bpp, opt); \
init_subpel1(idx1, idx2, 1, 0, sz,
h,
type, bpp, opt)
Definition at line 157 of file vp9dsp_init.h.
◆ init_subpel3_32_64
#define init_subpel3_32_64 |
( |
|
idx, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
◆ init_subpel3_8to64
#define init_subpel3_8to64 |
( |
|
idx, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:
init_subpel2(2, idx, 16,
type, bpp, opt); \
init_subpel2(3, idx, 8,
type, bpp, opt)
Definition at line 166 of file vp9dsp_init.h.
◆ init_subpel3
#define init_subpel3 |
( |
|
idx, |
|
|
|
type, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
◆ init_ipred_func
#define init_ipred_func |
( |
|
type, |
|
|
|
enum, |
|
|
|
sz, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value: dsp->intra_pred[TX_##sz##
X##sz][
enum##_PRED] = \
cat(ff_vp9_ipred_##
type##
_##sz##x##sz##
_, bpp,
_##opt)
Definition at line 175 of file vp9dsp_init.h.
◆ init_8_16_32_ipred_funcs
#define init_8_16_32_ipred_funcs |
( |
|
type, |
|
|
|
enum, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
Value:
init_ipred_func(
type,
enum, 16, bpp, opt); \
init_ipred_func(
type,
enum, 32, bpp, opt)
Definition at line 179 of file vp9dsp_init.h.
◆ init_ipred_funcs
#define init_ipred_funcs |
( |
|
type, |
|
|
|
enum, |
|
|
|
bpp, |
|
|
|
opt |
|
) |
| |
◆ ff_vp9dsp_init_10bpp_x86()
void ff_vp9dsp_init_10bpp_x86 |
( |
VP9DSPContext * |
dsp, |
|
|
int |
bitexact |
|
) |
| |
◆ ff_vp9dsp_init_12bpp_x86()
void ff_vp9dsp_init_12bpp_x86 |
( |
VP9DSPContext * |
dsp, |
|
|
int |
bitexact |
|
) |
| |
◆ ff_vp9dsp_init_16bpp_x86()
#define filters_8tap_1d_fn(op, sz, dir, dvar, bpp, opt, f_opt)
void(* filter)(uint8_t *src, int stride, int qscale)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
#define init_subpel2(idx1, idx2, sz, type, bpp, opt)
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
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type, bpp, opt)
static void idct(int16_t block[64])
#define filter_8tap_2d_fn(op, sz, f, f_opt, fname, align, bpp, bytes, opt)
#define decl_itxfm_func(typea, typeb, size, bpp, opt)
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
#define init_subpel3_32_64(idx, type, bpp, opt)
#define decl_mc_func(avg, sz, dir, opt, type, f_sz, bpp)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
static const uint8_t *BS_FUNC() align(BSCTX *bc)
Skip bits to a byte boundary.
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
#define filter_8tap_1d_fn(op, sz, f, f_opt, fname, dir, dvar, bpp, opt)
#define filters_8tap_2d_fn(op, sz, align, bpp, bytes, opt, f_opt)
#define filters_8tap_1d_fn2(op, sz, bpp, opt, f_opt)
#define init_ipred_func(type, enum, sz, bpp, opt)
#define decl_ipred_fn(type, sz, bpp, opt)
#define init_subpel3_8to64(idx, type, bpp, opt)
#define mc_rep_func(avg, sz, hsz, hszb, dir, opt, type, f_sz, bpp)
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifo *values)
The exact code depends on how similar the blocks are and how related they are to the block