# HG changeset patch
# User Dnyaneshwar G <dnyanesh...@multicorewareinc.com>
# Date 1447829883 -19800
#      Wed Nov 18 12:28:03 2015 +0530
# Node ID 653430a3de3f9ba342922ee6ea46d4cf52c1eb39
# Parent  e8f9a60d4cd9e73c9f2baf05c2ccda5af1892b46
asm: fix inconsistent crash due to unaligned NR buffer in denoiseDct SSE4 asm

Also, fixes warning C4316: object allocated on the heap may not be aligned 16

diff -r e8f9a60d4cd9 -r 653430a3de3f source/common/x86/dct8.asm
--- a/source/common/x86/dct8.asm        Mon Nov 16 16:44:33 2015 +0530
+++ b/source/common/x86/dct8.asm        Wed Nov 18 12:28:03 2015 +0530
@@ -2115,15 +2115,15 @@
     mova     m0, [r0]
     pabsw    m1, m0
 
-    mova     m2, [r1]
+    movu     m2, [r1]
     pmovsxwd m3, m1
     paddd    m2, m3
-    mova     [r1], m2
-    mova     m2, [r1 + 16]
+    movu     [r1], m2
+    movu     m2, [r1 + 16]
     psrldq   m3, m1, 8
     pmovsxwd m4, m3
     paddd    m2, m4
-    mova     [r1 + 16], m2
+    movu     [r1 + 16], m2
 
     movu     m3, [r2]
     psubusw  m1, m3
diff -r e8f9a60d4cd9 -r 653430a3de3f source/encoder/encoder.h
--- a/source/encoder/encoder.h  Mon Nov 16 16:44:33 2015 +0530
+++ b/source/encoder/encoder.h  Wed Nov 18 12:28:03 2015 +0530
@@ -79,7 +79,7 @@
 {
 public:
 
-    ALIGN_VAR_16(uint32_t, 
m_residualSumEmergency[MAX_NUM_TR_CATEGORIES][MAX_NUM_TR_COEFFS]);
+    uint32_t           
m_residualSumEmergency[MAX_NUM_TR_CATEGORIES][MAX_NUM_TR_COEFFS];
     uint32_t           m_countEmergency[MAX_NUM_TR_CATEGORIES];
     uint16_t           
(*m_offsetEmergency)[MAX_NUM_TR_CATEGORIES][MAX_NUM_TR_COEFFS];
 
_______________________________________________
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to