[FFmpeg-cvslog] avcodec/svq1enc: align buffer used by simd functions

James Almer git at videolan.org
Thu Sep 25 21:02:23 CEST 2014


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Sep 25 15:17:13 2014 -0300| [a829870b2f4dedc9d4758d7a86f363919b7fad92] | committer: James Almer

avcodec/svq1enc: align buffer used by simd functions

Reviewed-by: Michael Niedermayer <michaelni at gmx.at>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavcodec/svq1enc.c       |    2 +-
 libavcodec/x86/svq1enc.asm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c
index 850630f..288da1f 100644
--- a/libavcodec/svq1enc.c
+++ b/libavcodec/svq1enc.c
@@ -96,7 +96,7 @@ static int encode_block(SVQ1EncContext *s, uint8_t *src, uint8_t *ref,
     int w            = 2 << (level + 2 >> 1);
     int h            = 2 << (level + 1 >> 1);
     int size         = w * h;
-    int16_t block[7][256];
+    DECLARE_ALIGNED(16, int16_t, block)[7][256];
     const int8_t *codebook_sum, *codebook;
     const uint16_t(*mean_vlc)[2];
     const uint8_t(*multistage_vlc)[2];
diff --git a/libavcodec/x86/svq1enc.asm b/libavcodec/x86/svq1enc.asm
index 5fb3361..24ee70f 100644
--- a/libavcodec/x86/svq1enc.asm
+++ b/libavcodec/x86/svq1enc.asm
@@ -29,7 +29,7 @@ cglobal ssd_int8_vs_int16, 3, 3, 3, pix1, pix2, size
 .loop
     sub       sizeq, 8
     movq      m1, [pix1q + sizeq]
-    movu      m2, [pix2q + sizeq*2]
+    mova      m2, [pix2q + sizeq*2]
 %if mmsize == 8
     movq      m3, [pix2q + sizeq*2 + mmsize]
     punpckhbw m4, m1



More information about the ffmpeg-cvslog mailing list