x86/hevc_mc: use aligned loads
authorMickaël Raulet <mraulet@insa-rennes.fr>
Thu, 5 Feb 2015 19:20:42 +0000 (19:20 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 6 Feb 2015 20:38:00 +0000 (21:38 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/hevc.h
libavcodec/x86/hevc_mc.asm

index ae9a32a..e0af6f1 100644 (file)
@@ -771,7 +771,7 @@ typedef struct HEVCLocalContext {
     DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2];
     /* The extended size between the new edge emu buffer is abused by SAO */
     DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer2)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2];
-    DECLARE_ALIGNED(16, int16_t, tmp [MAX_PB_SIZE * MAX_PB_SIZE]);
+    DECLARE_ALIGNED(32, int16_t, tmp [MAX_PB_SIZE * MAX_PB_SIZE]);
 
     int ct_depth;
     CodingUnit cu;
index e8a5032..04d00ce 100644 (file)
@@ -103,14 +103,14 @@ QPEL_TABLE 10, 8, w, avx2
 %endif ;avx
 %elif %1 <= 16
 %if cpuflag(avx2)
-    movu              %3, [%2]
+    mova              %3, [%2]
 %else
     movdqa            %3, [%2]                                              ; load data from source2
     movdqa            %4, [%2+16]                                           ; load data from source2
 %endif ; avx
 %else ; %1 = 32
-    movu              %3, [%2]
-    movu              %4, [%2+32]
+    mova              %3, [%2]
+    mova              %4, [%2+32]
 %endif
 %endmacro