[1/3] vp9: Make the subpel filters non-static

Message ID 1478348103-3612-1-git-send-email-martin@martin.st
State Committed
Commit a4cfcddcb0f76e837d5abc06840c2b26c0e8aefc
Headers show

Commit Message

Martin Storsjö Nov. 5, 2016, 12:15 p.m.
Make them aligned, to allow efficient access to them from simd.
---
 libavcodec/vp9.h    | 2 ++
 libavcodec/vp9dsp.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

Comments

Luca Barbato Nov. 5, 2016, 3:21 p.m. | #1
On 05/11/2016 13:15, Martin Storsjö wrote:
> Make them aligned, to allow efficient access to them from simd.
> ---
>  libavcodec/vp9.h    | 2 ++
>  libavcodec/vp9dsp.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
> 

Ok.

Patch

diff --git a/libavcodec/vp9.h b/libavcodec/vp9.h
index e4b9f82..654c8ed 100644
--- a/libavcodec/vp9.h
+++ b/libavcodec/vp9.h
@@ -431,6 +431,8 @@  typedef struct VP9Context {
     DECLARE_ALIGNED(32, uint8_t, tmp_uv)[2][32 * 32];
 } VP9Context;
 
+extern const int8_t ff_vp9_subpel_filters[3][15][8];
+
 void ff_vp9dsp_init(VP9DSPContext *dsp);
 
 void ff_vp9dsp_init_arm(VP9DSPContext *dsp);
diff --git a/libavcodec/vp9dsp.c b/libavcodec/vp9dsp.c
index 0eca389..a2862bd1 100644
--- a/libavcodec/vp9dsp.c
+++ b/libavcodec/vp9dsp.c
@@ -1786,7 +1786,7 @@  copy_avg_fn(4)
 #undef fpel_fn
 #undef copy_avg_fn
 
-static const int8_t vp9_subpel_filters[3][15][8] = {
+const DECLARE_ALIGNED(8, int8_t, ff_vp9_subpel_filters)[3][15][8] = {
     [FILTER_8TAP_REGULAR] = {
         {  0,  1,  -5, 126,   8,  -3,  1,  0 },
         { -1,  3, -10, 122,  18,  -6,  2,  0 },
@@ -1948,7 +1948,7 @@  avg ## _8tap_ ## type ## _ ## sz ## dir ## _c(uint8_t *dst,                 \
                                               int h, int mx, int my)        \
 {                                                                           \
     avg ## _8tap_1d_ ## dir ## _c(dst, dst_stride, src, src_stride, sz, h,  \
-                                  vp9_subpel_filters[type_idx][dir_m - 1]); \
+                                  ff_vp9_subpel_filters[type_idx][dir_m - 1]); \
 }
 
 #define filter_fn_2d(sz, type, type_idx, avg)                               \
@@ -1959,8 +1959,8 @@  static void avg ## _8tap_ ## type ## _ ## sz ## hv_c(uint8_t *dst,          \
                                                      int h, int mx, int my) \
 {                                                                           \
     avg ## _8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h,           \
-                         vp9_subpel_filters[type_idx][mx - 1],              \
-                         vp9_subpel_filters[type_idx][my - 1]);             \
+                         ff_vp9_subpel_filters[type_idx][mx - 1],           \
+                         ff_vp9_subpel_filters[type_idx][my - 1]);          \
 }
 
 #define FILTER_BILIN(src, x, mxy, stride)                       \