summaryrefslogtreecommitdiff
path: root/vpx_dsp/mips/convolve8_dspr2.c
diff options
context:
space:
mode:
authorLinfeng Zhang <linfengz@google.com>2017-08-28 10:35:43 -0700
committerLinfeng Zhang <linfengz@google.com>2017-09-05 15:22:36 -0700
commitd331e7a1c0c59d4055a3bfacd051268ec0832b48 (patch)
tree7309a0384415188af55340224c91d633ac608fbc /vpx_dsp/mips/convolve8_dspr2.c
parentd49a1a5329ea43968faaf295f7da5f72b28f971e (diff)
downloadlibvpx-d331e7a1c0c59d4055a3bfacd051268ec0832b48.tar
libvpx-d331e7a1c0c59d4055a3bfacd051268ec0832b48.tar.gz
libvpx-d331e7a1c0c59d4055a3bfacd051268ec0832b48.tar.bz2
libvpx-d331e7a1c0c59d4055a3bfacd051268ec0832b48.zip
Remove get_filter_base() and get_filter_offset() in convolve
so that the convolve functions are independent of table alignment. Change-Id: Ieab132a30d72c6e75bbe9473544fbe2cf51541ee
Diffstat (limited to 'vpx_dsp/mips/convolve8_dspr2.c')
-rw-r--r--vpx_dsp/mips/convolve8_dspr2.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/vpx_dsp/mips/convolve8_dspr2.c b/vpx_dsp/mips/convolve8_dspr2.c
index 8d35b6394..89f0f4196 100644
--- a/vpx_dsp/mips/convolve8_dspr2.c
+++ b/vpx_dsp/mips/convolve8_dspr2.c
@@ -1296,9 +1296,11 @@ void copy_horiz_transposed(const uint8_t *src, ptrdiff_t src_stride,
}
void vpx_convolve8_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst,
- ptrdiff_t dst_stride, const int16_t *filter_x,
- int x_step_q4, const int16_t *filter_y, int y_step_q4,
+ ptrdiff_t dst_stride, const InterpKernel *filter,
+ int x0_q4, int32_t x_step_q4, int y0_q4, int y_step_q4,
int w, int h) {
+ const int16_t *const filter_x = filter[x0_q4];
+ const int16_t *const filter_y = filter[y0_q4];
DECLARE_ALIGNED(32, uint8_t, temp[64 * 135]);
int32_t intermediate_height = ((h * y_step_q4) >> 4) + 7;
uint32_t pos = 38;
@@ -1395,14 +1397,15 @@ void vpx_convolve8_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst,
void vpx_convolve_copy_dspr2(const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride,
- const int16_t *filter_x, int filter_x_stride,
- const int16_t *filter_y, int filter_y_stride,
- int w, int h) {
+ const InterpKernel *filter, int x0_q4,
+ int x_step_q4, int y0_q4, int y_step_q4, int w,
+ int h) {
int x, y;
- (void)filter_x;
- (void)filter_x_stride;
- (void)filter_y;
- (void)filter_y_stride;
+ (void)filter;
+ (void)x0_q4;
+ (void)x_step_q4;
+ (void)y0_q4;
+ (void)y_step_q4;
/* prefetch data to cache memory */
prefetch_load(src);