avcodec/mips: [loongson] fix mpeg4 decoding error on loongson platform.
authorShiyou Yin <yinshiyou-hf@loongson.cn>
Fri, 24 May 2019 02:26:43 +0000 (10:26 +0800)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 26 May 2019 19:04:18 +0000 (21:04 +0200)
In function ff_dct_unquantize_mpeg2_intra_mmi,
addr0 shoudn't be changed before storage operation.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/mips/mpegvideo_mmi.c

index 18058e4..e4aba08 100644 (file)
@@ -410,9 +410,9 @@ void ff_dct_unquantize_mpeg2_intra_mmi(MpegEncContext *s, int16_t *block,
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "pandn      %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
         "pandn      %[ftmp6],   %[ftmp6],       %[ftmp2]                \n\t"
-        PTR_ADDIU  "%[addr0],   %[addr0],       0x10                    \n\t"
         MMI_SDXC1(%[ftmp5], %[addr0], %[block], 0x00)
         MMI_SDXC1(%[ftmp6], %[addr0], %[block], 0x08)
+        PTR_ADDIU  "%[addr0],   %[addr0],       0x10                    \n\t"
         "blez       %[addr0],   1b                                      \n\t"
         : [ftmp0]"=&f"(ftmp[0]),            [ftmp1]"=&f"(ftmp[1]),
           [ftmp2]"=&f"(ftmp[2]),            [ftmp3]"=&f"(ftmp[3]),