[FFmpeg-cvslog] vp9: Make the subpel filters non-static
Martin Storsjö
git at videolan.org
Fri Mar 31 21:21:16 EEST 2017
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Sat Nov 5 13:18:53 2016 +0200| [a4cfcddcb0f76e837d5abc06840c2b26c0e8aefc] | committer: Martin Storsjö
vp9: Make the subpel filters non-static
Make them aligned, to allow efficient access to them from simd.
Signed-off-by: Martin Storsjö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4cfcddcb0f76e837d5abc06840c2b26c0e8aefc
---
libavcodec/vp9.h | 2 ++
libavcodec/vp9dsp.c | 8 ++++----
2 files changed, 6 insertions(+), 4 deletions(-)
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) \
More information about the ffmpeg-cvslog
mailing list