Go to the source code of this file.
|
#define | declare_fpel(type, sz) |
|
#define | declare_copy_avg(sz) |
|
#define | decl_mc_func(op, filter, dir, sz) |
|
#define | define_8tap_2d_fn(op, filter, sz) |
|
#define | decl_filter_funcs(op, dir, sz) |
|
#define | decl_mc_funcs(sz) |
|
#define | define_8tap_2d_funcs(sz) |
|
#define | init_fpel(idx1, idx2, sz, type) |
|
#define | init_copy_avg(idx, sz) |
|
#define | init_mc_func(idx1, idx2, op, filter, fname, dir, mx, my, sz, pfx) dsp->mc[idx1][filter][idx2][mx][my] = pfx##op##_##fname##sz##_##dir##_neon |
|
#define | init_mc_funcs(idx, dir, mx, my, sz, pfx) |
|
#define | init_mc_funcs_dirs(idx, sz) |
|
#define | define_itxfm(type_a, type_b, sz) |
|
#define | define_itxfm_funcs(sz) |
|
#define | init_itxfm(tx, sz) |
|
#define | init_idct(tx, nm) |
|
#define | define_loop_filter(dir, wd, size) void ff_vp9_loop_filter_##dir##_##wd##_##size##_neon(uint8_t *dst, ptrdiff_t stride, int E, int I, int H) |
|
#define | define_loop_filters(wd, size) |
|
#define | lf_mix_fn(dir, wd1, wd2, stridea) |
|
#define | lf_mix_fns(wd1, wd2) |
|
|
| declare_copy_avg (64) |
|
| declare_copy_avg (32) |
|
| declare_copy_avg (16) |
|
| declare_copy_avg (8) |
|
| declare_copy_avg (4) |
|
| decl_mc_funcs (64) |
|
| decl_mc_funcs (32) |
|
| decl_mc_funcs (16) |
|
| decl_mc_funcs (8) |
|
| decl_mc_funcs (4) |
|
| define_8tap_2d_funcs (64) |
|
| define_itxfm_funcs (4) |
|
| define_itxfm_funcs (8) |
|
| define_itxfm_funcs (16) |
|
| define_itxfm (idct, idct, 32) |
|
| define_itxfm (iwht, iwht, 4) |
|
static av_cold void | vp9dsp_itxfm_init_arm (VP9DSPContext *dsp) |
|
| define_loop_filters (4, 8) |
|
| define_loop_filters (8, 8) |
|
| define_loop_filters (16, 8) |
|
| define_loop_filters (16, 16) |
|
| define_loop_filters (44, 16) |
|
| lf_mix_fns (4, lf_mix_fns(8) |
|
av_cold void | ff_vp9dsp_init_arm (VP9DSPContext *dsp, int bpp) |
|
#define declare_fpel |
( |
|
type, |
|
|
|
sz |
|
) |
| |
#define declare_copy_avg |
( |
|
sz | ) |
|
Value:static void copy(const float *p1, float *p2, const int length)
#define declare_fpel(type, sz)
Definition at line 35 of file vp9dsp_init_arm.c.
#define decl_mc_func |
( |
|
op, |
|
|
|
filter, |
|
|
|
dir, |
|
|
|
sz |
|
) |
| |
Value:
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
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.
Definition at line 39 of file vp9dsp_init_arm.c.
#define define_8tap_2d_fn |
( |
|
op, |
|
|
|
filter, |
|
|
|
sz |
|
) |
| |
Value:
\
src - 3 * src_stride, src_stride, \
ff_vp9_##
op##
_##
filter##sz##_v_neon(dst, dst_stride, \
}
#define LOCAL_ALIGNED_16(t, v,...)
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
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.
Definition at line 44 of file vp9dsp_init_arm.c.
#define decl_filter_funcs |
( |
|
op, |
|
|
|
dir, |
|
|
|
sz |
|
) |
| |
Value:#define decl_mc_func(op, filter, dir, sz)
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifoBuffer *values)
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.
Definition at line 60 of file vp9dsp_init_arm.c.
#define decl_mc_funcs |
( |
|
sz | ) |
|
#define define_8tap_2d_funcs |
( |
|
sz | ) |
|
Value:#define define_8tap_2d_fn(op, filter, sz)
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifoBuffer *values)
Definition at line 85 of file vp9dsp_init_arm.c.
#define init_fpel |
( |
|
idx1, |
|
|
|
idx2, |
|
|
|
sz, |
|
|
|
type |
|
) |
| |
#define init_copy_avg |
( |
|
idx, |
|
|
|
sz |
|
) |
| |
Value:static void copy(const float *p1, float *p2, const int length)
#define init_fpel(idx1, idx2, sz, type)
Referenced by define_8tap_2d_funcs().
#define init_mc_func |
( |
|
idx1, |
|
|
|
idx2, |
|
|
|
op, |
|
|
|
filter, |
|
|
|
fname, |
|
|
|
dir, |
|
|
|
mx, |
|
|
|
my, |
|
|
|
sz, |
|
|
|
pfx |
|
) |
| dsp->mc[idx1][filter][idx2][mx][my] = pfx##op##_##fname##sz##_##dir##_neon |
#define init_mc_funcs |
( |
|
idx, |
|
|
|
dir, |
|
|
|
mx, |
|
|
|
my, |
|
|
|
sz, |
|
|
|
pfx |
|
) |
| |
Value:
#define init_mc_func(idx1, idx2, op, filter, fname, dir, mx, my, sz, pfx)
static float smooth(DeshakeOpenCLContext *deshake_ctx, float *gauss_kernel, int length, float max_val, AVFifoBuffer *values)
#define init_mc_funcs_dirs |
( |
|
idx, |
|
|
|
sz |
|
) |
| |
#define define_itxfm |
( |
|
type_a, |
|
|
|
type_b, |
|
|
|
sz |
|
) |
| |
Value:void ff_vp9_##type_a##
_##type_b##
_##sz##x##sz##_add_neon(
uint8_t *_dst, \
int16_t *_block, int eob)
GLint GLenum GLboolean GLsizei stride
Definition at line 145 of file vp9dsp_init_arm.c.
#define define_itxfm_funcs |
( |
|
sz | ) |
|
Value:static void idct(int16_t block[64])
#define define_itxfm(type_a, type_b, sz)
Definition at line 150 of file vp9dsp_init_arm.c.
#define init_itxfm |
( |
|
tx, |
|
|
|
sz |
|
) |
| |
Value:dsp->itxfm_add[tx][
DCT_DCT] = ff_vp9_idct_idct_##sz##_add_neon; \
dsp->itxfm_add[tx][
DCT_ADST] = ff_vp9_iadst_idct_##sz##_add_neon; \
dsp->itxfm_add[tx][
ADST_DCT] = ff_vp9_idct_iadst_##sz##_add_neon; \
dsp->itxfm_add[tx][
ADST_ADST] = ff_vp9_iadst_iadst_##sz##_add_neon
Referenced by vp9dsp_itxfm_init_arm().
#define init_idct |
( |
|
tx, |
|
|
|
nm |
|
) |
| |
#define define_loop_filters |
( |
|
wd, |
|
|
|
size |
|
) |
| |
#define lf_mix_fn |
( |
|
dir, |
|
|
|
wd1, |
|
|
|
wd2, |
|
|
|
stridea |
|
) |
| |
Value:static void loop_filter_##dir##
_##wd1##wd2##_16_neon(
uint8_t *dst, \
{ \
ff_vp9_loop_filter_##dir##
_##wd1##_8_neon(dst,
stride,
E & 0xff, I & 0xff,
H & 0xff); \
ff_vp9_loop_filter_##dir##
_##wd2##_8_neon(dst + 8 * stridea,
stride,
E >> 8, I >> 8,
H >> 8); \
}
GLint GLenum GLboolean GLsizei stride
Definition at line 202 of file vp9dsp_init_arm.c.
#define lf_mix_fns |
( |
|
wd1, |
|
|
|
wd2 |
|
) |
| |
Value:
#define lf_mix_fn(dir, wd1, wd2, stridea)
GLint GLenum GLboolean GLsizei stride
Definition at line 211 of file vp9dsp_init_arm.c.
define_8tap_2d_funcs |
( |
64 |
| ) |
|
define_itxfm_funcs |
( |
16 |
| ) |
|
define_itxfm |
( |
iwht |
, |
|
|
iwht |
, |
|
|
4 |
|
|
) |
| |
define_loop_filters |
( |
4 |
, |
|
|
8 |
|
|
) |
| |
define_loop_filters |
( |
8 |
, |
|
|
8 |
|
|
) |
| |
define_loop_filters |
( |
16 |
, |
|
|
8 |
|
|
) |
| |
define_loop_filters |
( |
16 |
, |
|
|
16 |
|
|
) |
| |
define_loop_filters |
( |
44 |
, |
|
|
16 |
|
|
) |
| |
lf_mix_fns |
( |
4 |
, |
|
|
lf_mix_fns( |
8 |
|
) |
| |