Align thread data in vp9_ethread
authorYunqing Wang <yunqingwang@google.com>
Wed, 14 Jan 2015 23:51:56 +0000 (15:51 -0800)
committerYunqing Wang <yunqingwang@google.com>
Wed, 14 Jan 2015 23:51:56 +0000 (15:51 -0800)
On some platforms, such as 32bit Windows and 32bit Mac, the allocated
memory isn't aligned automatically. The thread data is aligned to
ensure the correct access in SIMD code.

Change-Id: I1108c145fe982ddbd3d9324952758297120e4806

vp9/encoder/vp9_ethread.c

index daf3da4..9ee3236 100644 (file)
@@ -183,7 +183,9 @@ void vp9_encode_tiles_mt(VP9_COMP *cpi) {
 
       // Allocate thread data.
       CHECK_MEM_ERROR(cm, thread_data->td,
-                      vpx_calloc(1, sizeof(*thread_data->td)));
+                      vpx_memalign(32, sizeof(*thread_data->td)));
+      vp9_zero(*thread_data->td);
+
       // Set up pc_tree.
       thread_data->td->leaf_tree = NULL;
       thread_data->td->pc_tree = NULL;