[FFmpeg-devel] [PATCH 4/7] x86/hevc_mc: use aligned loads

Christophe Gisquet christophe.gisquet at gmail.com
Thu Feb 5 20:20:42 CET 2015


From: Mickaël Raulet <mraulet at insa-rennes.fr>

---
 libavcodec/hevc.h          | 2 +-
 libavcodec/x86/hevc_mc.asm | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h
index ae9a32a..e0af6f1 100644
--- a/libavcodec/hevc.h
+++ b/libavcodec/hevc.h
@@ -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;
diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm
index e8a5032..04d00ce 100644
--- a/libavcodec/x86/hevc_mc.asm
+++ b/libavcodec/x86/hevc_mc.asm
@@ -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
 
-- 
1.9.2.msysgit.0



More information about the ffmpeg-devel mailing list