diff options
author | Yaowu Xu <yaowu@google.com> | 2011-11-08 20:05:17 -0800 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2011-11-08 20:36:54 -0800 |
commit | 5883246d0105e0a616a80c4c841487563b2ab6bc (patch) | |
tree | e6b7296bf131757a77cebfae28a251278db9b1e7 /vp8/encoder | |
parent | 6e165e86a7fe5b2609194a82b816a56dd7305ec7 (diff) | |
download | libvpx-5883246d0105e0a616a80c4c841487563b2ab6bc.tar libvpx-5883246d0105e0a616a80c4c841487563b2ab6bc.tar.gz libvpx-5883246d0105e0a616a80c4c841487563b2ab6bc.tar.bz2 libvpx-5883246d0105e0a616a80c4c841487563b2ab6bc.zip |
make debug match release build on win32 with 8x8 transform enabled
The 8x8 forward transform makes use of floating operations, therefore
requires emms call to reset mmx registers to correct state. Without
the resets, the 8x8 forward transform results are indefinite on win32
platform.
Change-Id: Ib5b71c3213e10b8a04fe776adf885f3714e7deb1
Diffstat (limited to 'vp8/encoder')
-rw-r--r-- | vp8/encoder/encodemb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vp8/encoder/encodemb.c b/vp8/encoder/encodemb.c index dcfe24f00..8818156d4 100644 --- a/vp8/encoder/encodemb.c +++ b/vp8/encoder/encodemb.c @@ -20,6 +20,7 @@ #include "dct.h" #include "vpx_mem/vpx_mem.h" #include "rdopt.h" +#include "vp8/common/systemdependent.h" #if CONFIG_RUNTIME_CPU_DETECT #define IF_RTCD(x) (x) @@ -241,6 +242,8 @@ void vp8_transform_mbuv_8x8(MACROBLOCK *x) { int i; + vp8_clear_system_state(); + for (i = 16; i < 24; i += 4) { x->vp8_short_fdct8x8(&x->block[i].src_diff[0], @@ -253,6 +256,8 @@ void vp8_transform_intra_mby_8x8(MACROBLOCK *x)//changed { int i; + vp8_clear_system_state(); + for (i = 0; i < 9; i += 8) { x->vp8_short_fdct8x8(&x->block[i].src_diff[0], @@ -278,6 +283,8 @@ void vp8_transform_mb_8x8(MACROBLOCK *x) { int i; + vp8_clear_system_state(); + for (i = 0; i < 9; i += 8) { x->vp8_short_fdct8x8(&x->block[i].src_diff[0], @@ -309,6 +316,8 @@ void vp8_transform_mby_8x8(MACROBLOCK *x) { int i; + vp8_clear_system_state(); + for (i = 0; i < 9; i += 8) { x->vp8_short_fdct8x8(&x->block[i].src_diff[0], |