Chen-tao / webm

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

vp8 test vectors fail with clang build under linux #570

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1) configure with CC=clang and target=x86_64-linux-gcc
2) run make test

reproduced with 2 versions of clang:
clang version 3.3 (trunk 178831) (llvm/trunk 178830)
Target: x86_64-unknown-linux-gnu
Thread model: posix

---
clang version 3.1 (branches/release_31)
Target: x86_64-unknown-linux-gnu
Thread model: posix

This may be a aliasing issue as dropping to -O[01] or using 
-fno-strict-aliasing sees the tests pass.

Failures:
[  FAILED  ] 8 tests, listed below:
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/3, where GetParam() = 
"vp80-00-comprehensive-004.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/6, where GetParam() = 
"vp80-00-comprehensive-007.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/11, where GetParam() = 
"vp80-00-comprehensive-012.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/13, where GetParam() = 
"vp80-00-comprehensive-014.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/15, where GetParam() = 
"vp80-00-comprehensive-016.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/16, where GetParam() = 
"vp80-00-comprehensive-017.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/42, where GetParam() = 
"vp80-03-segmentation-1432.ivf"
[  FAILED  ] TestVectorSequence/TestVectorTest.MD5Match/53, where GetParam() = 
"vp80-05-sharpness-1430.ivf"

Original issue reported on code.google.com by jz...@google.com on 5 Apr 2013 at 6:20

GoogleCodeExporter commented 9 years ago
This seems to bisect back to:

commit ff1d170e69383adf3090fe45586bebe58a6d06f9
Author: Scott LaVarnway <slavarnway@google.com>
Date:   Wed Oct 26 10:46:36 2011 -0400

    Improved read_mb_modes_mv()

    Interleaved vp8_find_near_mvs and vp8_mv_ref_probs.
    2.5% to 4% performance improvement for the HD clips used.

    Change-Id: Id888b667cf5ae2f0e19da18743140f055ff7de8d

M       vp8/decoder/decodemv.c

Original comment by jkoles...@google.com on 6 Apr 2013 at 12:02

GoogleCodeExporter commented 9 years ago
Scott this is not a high priority, but we should try to fix this. 

Original comment by albe...@google.com on 11 Apr 2013 at 10:12

GoogleCodeExporter commented 9 years ago

Original comment by albe...@google.com on 11 Apr 2013 at 10:13

GoogleCodeExporter commented 9 years ago
applying https://gerrit.chromium.org/gerrit/#/c/67650/2 get the tests to pass. 

Original comment by ya...@google.com on 29 Oct 2013 at 3:08

GoogleCodeExporter commented 9 years ago
Fixed by Yaowu's change.

Adding -fno-strict-aliasing for clang builds because libvpx <3's undefined 
behavior:
https://gerrit.chromium.org/gerrit/#/c/67657/

Original comment by johannkoenig@google.com on 29 Oct 2013 at 6:11

GoogleCodeExporter commented 9 years ago
Better to say this works around the issue. I wouldn't be surprised if there is 
some suspicious behavior in the vp8 code.

Original comment by jz...@google.com on 29 Oct 2013 at 6:15

GoogleCodeExporter commented 9 years ago
I should have looked at the change, I was thinking this was just setting 
-fno-strict-aliasing.

Original comment by jz...@google.com on 29 Oct 2013 at 7:33

GoogleCodeExporter commented 9 years ago
Maybe this is related somehow?

Original comment by jimbankoski@google.com on 17 Apr 2014 at 7:02