shithub: libvpx

Download patch

ref: 03ff6c837af094e70f7b2f3ceb8527372f1d8e0f
parent: 4cba6ce198a2fc49631b465e10f4997048eef824
author: Johann Koenig <johannkoenig@google.com>
date: Mon Oct 29 14:59:56 EDT 2018

vp8 bilinear: ensure non-16x16 arrays are aligned

The 16x16 array was changed to aligned. The 8xN and 4x4 functions
use aligned loads/stores on their internal arrays as well.

BUG=webm:1570

Change-Id: I9cfe53d7c8ed76e8854c2688eb9a509b876471d8

--- a/vp8/common/x86/bilinear_filter_sse2.c
+++ b/vp8/common/x86/bilinear_filter_sse2.c
@@ -222,7 +222,7 @@
 void vp8_bilinear_predict8x8_sse2(uint8_t *src_ptr, int src_pixels_per_line,
                                   int xoffset, int yoffset, uint8_t *dst_ptr,
                                   int dst_pitch) {
-  uint16_t FData[8 * 9];
+  DECLARE_ALIGNED(16, uint16_t, FData[8 * 9]);
 
   assert((xoffset | yoffset) != 0);
 
@@ -234,7 +234,7 @@
 void vp8_bilinear_predict8x4_sse2(uint8_t *src_ptr, int src_pixels_per_line,
                                   int xoffset, int yoffset, uint8_t *dst_ptr,
                                   int dst_pitch) {
-  uint16_t FData[8 * 5];
+  DECLARE_ALIGNED(16, uint16_t, FData[8 * 5]);
 
   assert((xoffset | yoffset) != 0);
 
@@ -326,7 +326,7 @@
 void vp8_bilinear_predict4x4_sse2(uint8_t *src_ptr, int src_pixels_per_line,
                                   int xoffset, int yoffset, uint8_t *dst_ptr,
                                   int dst_pitch) {
-  uint16_t FData[4 * 5];
+  DECLARE_ALIGNED(16, uint16_t, FData[4 * 5]);
 
   assert((xoffset | yoffset) != 0);