[FFmpeg-cvslog] x86/hevc_mc: use aligned loads

Mickaël Raulet git at videolan.org
Fri Feb 6 21:40:02 CET 2015


ffmpeg | branch: master | Mickaël Raulet <mraulet at insa-rennes.fr> | Thu Feb  5 19:20:42 2015 +0000| [6ecc3fd61225c79116de64167e3bf47736f0e779] | committer: Michael Niedermayer

x86/hevc_mc: use aligned loads

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6ecc3fd61225c79116de64167e3bf47736f0e779
---

 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
 



More information about the ffmpeg-cvslog mailing list