dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Sep 2012 13:52:21 +0000 (15:52 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Sep 2012 14:43:39 +0000 (16:43 +0200)
This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/x86/dsputilenc_mmx.c

index 1110f9c..f6eadc1 100644 (file)
@@ -850,8 +850,9 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, const uint8_t *src1, c
     uint8_t l, lt;
 
     __asm__ volatile(
+        "movq  (%1, %0), %%mm0          \n\t" // LT
+        "psllq $8, %%mm0                \n\t"
         "1:                             \n\t"
-        "movq  -1(%1, %0), %%mm0        \n\t" // LT
         "movq  (%1, %0), %%mm1          \n\t" // T
         "movq  -1(%2, %0), %%mm2        \n\t" // L
         "movq  (%2, %0), %%mm3          \n\t" // X
@@ -866,6 +867,7 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, const uint8_t *src1, c
         "psubb %%mm4, %%mm3             \n\t" // dst - pred
         "movq %%mm3, (%3, %0)           \n\t"
         "add $8, %0                     \n\t"
+        "movq -1(%1, %0), %%mm0         \n\t" // LT
         "cmp %4, %0                     \n\t"
         " jb 1b                         \n\t"
         : "+r" (i)