dinhminhquoi / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

MMX and SSE2 mismatch #778

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
There is different behaviour between the MMX and SSE2 versions of the 8-bit 
encoder on the latest version of libvpx/master.

If you run:
git checkout master
cd ../build
../libvpx/configure --disable-vp8 --enable-vp9_postproc
make clean
make
./vpxenc hantro_collage_w352h288.yuv --width=352 --height=288 
--target-bitrate=100 --psnr --ivf --limit=5 --fps=25/1 --noise-sensitivity=6 -o 
hantro_sse2.ivf
../libvpx/configure --disable-vp8 --enable-vp9_postproc --disable-sse 
--disable-sse2 --disable-ssse3 --disable-avx
make clean
make
./vpxenc hantro_collage_w352h288.yuv --width=352 --height=288 
--target-bitrate=100 --psnr --ivf --limit=5 --fps=25/1 --noise-sensitivity=6 -o 
hantro_mmx.ivf

Original issue reported on code.google.com by ya...@google.com on 6 May 2014 at 6:54

GoogleCodeExporter commented 8 years ago

Original comment by ya...@google.com on 6 May 2014 at 6:56

GoogleCodeExporter commented 8 years ago

Original comment by renganat...@google.com on 15 May 2014 at 10:28

GoogleCodeExporter commented 8 years ago
The issue was reproduced.

MMX matches C code result. There are errors in VP9 SSE2 functions.

Original comment by yunqingw...@google.com on 17 May 2014 at 1:39

GoogleCodeExporter commented 8 years ago
Did a rebase, and it seems the bug was already fixed in current top-of-tree.

Original comment by yunqingw...@google.com on 19 May 2014 at 10:41

GoogleCodeExporter commented 8 years ago
Detailed note on the cause of the issue:
"commit 7ab9a9587b96db4edce6be916c1f02297a9555ff" caused the vp8 encoding 
mismatch for sse2 optimized code, since the function argument change was only 
done in c. The patch was later reverted, which fixed the mismatch .

Original comment by yunqingw...@google.com on 20 May 2014 at 7:23

GoogleCodeExporter commented 8 years ago
Also saw mismatch between vp9_post_proc_down_and_across_xmm and its c function. 
Will fix it.

Original comment by yunqingw...@google.com on 22 May 2014 at 4:19

GoogleCodeExporter commented 8 years ago

Original comment by ya...@google.com on 15 Jan 2015 at 11:42