Commit cda9a3e8 authored by Martin Storsjö's avatar Martin Storsjö

arm: vp9dsp: Restructure the bpp checks

This work is sponsored by, and copyright, Google.

This is more in line with how it will be extended for more bitdepths.
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 1400598c
...@@ -94,13 +94,10 @@ define_8tap_2d_funcs(8) ...@@ -94,13 +94,10 @@ define_8tap_2d_funcs(8)
define_8tap_2d_funcs(4) define_8tap_2d_funcs(4)
static av_cold void vp9dsp_mc_init_arm(VP9DSPContext *dsp, int bpp) static av_cold void vp9dsp_mc_init_arm(VP9DSPContext *dsp)
{ {
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
if (bpp != 8)
return;
if (have_neon(cpu_flags)) { if (have_neon(cpu_flags)) {
#define init_fpel(idx1, idx2, sz, type) \ #define init_fpel(idx1, idx2, sz, type) \
dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = \ dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = \
...@@ -160,13 +157,10 @@ define_itxfm(idct, idct, 32); ...@@ -160,13 +157,10 @@ define_itxfm(idct, idct, 32);
define_itxfm(iwht, iwht, 4); define_itxfm(iwht, iwht, 4);
static av_cold void vp9dsp_itxfm_init_arm(VP9DSPContext *dsp, int bpp) static av_cold void vp9dsp_itxfm_init_arm(VP9DSPContext *dsp)
{ {
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
if (bpp != 8)
return;
if (have_neon(cpu_flags)) { if (have_neon(cpu_flags)) {
#define init_itxfm(tx, sz) \ #define init_itxfm(tx, sz) \
dsp->itxfm_add[tx][DCT_DCT] = ff_vp9_idct_idct_##sz##_add_neon; \ dsp->itxfm_add[tx][DCT_DCT] = ff_vp9_idct_idct_##sz##_add_neon; \
...@@ -218,13 +212,10 @@ lf_mix_fns(4, 8) ...@@ -218,13 +212,10 @@ lf_mix_fns(4, 8)
lf_mix_fns(8, 4) lf_mix_fns(8, 4)
lf_mix_fns(8, 8) lf_mix_fns(8, 8)
static av_cold void vp9dsp_loopfilter_init_arm(VP9DSPContext *dsp, int bpp) static av_cold void vp9dsp_loopfilter_init_arm(VP9DSPContext *dsp)
{ {
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
if (bpp != 8)
return;
if (have_neon(cpu_flags)) { if (have_neon(cpu_flags)) {
dsp->loop_filter_8[0][1] = ff_vp9_loop_filter_v_4_8_neon; dsp->loop_filter_8[0][1] = ff_vp9_loop_filter_v_4_8_neon;
dsp->loop_filter_8[0][0] = ff_vp9_loop_filter_h_4_8_neon; dsp->loop_filter_8[0][0] = ff_vp9_loop_filter_h_4_8_neon;
...@@ -249,7 +240,10 @@ static av_cold void vp9dsp_loopfilter_init_arm(VP9DSPContext *dsp, int bpp) ...@@ -249,7 +240,10 @@ static av_cold void vp9dsp_loopfilter_init_arm(VP9DSPContext *dsp, int bpp)
av_cold void ff_vp9dsp_init_arm(VP9DSPContext *dsp, int bpp) av_cold void ff_vp9dsp_init_arm(VP9DSPContext *dsp, int bpp)
{ {
vp9dsp_mc_init_arm(dsp, bpp); if (bpp != 8)
vp9dsp_loopfilter_init_arm(dsp, bpp); return;
vp9dsp_itxfm_init_arm(dsp, bpp);
vp9dsp_mc_init_arm(dsp);
vp9dsp_loopfilter_init_arm(dsp);
vp9dsp_itxfm_init_arm(dsp);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment