Benjamin Larsson <[email protected]> added the comment: Vladimir Voroshilov wrote: > New submission from Vladimir Voroshilov <[email protected]>: > > Since SSE2 version of scalarproduct_int16 does shift outside loop, it > overflows > even on short input arrays. > How to reproduce: call routine as "scalarproduct_int16(tmp, tmp, 16, 8)" where > tmp is 16-length array, filled with 0x7fff. > C code outputs: 0x03fff000 > SSE2 code outputs: 0xfffff000 >
When I look at the before I came to the conclusion that is should be possible to have lots of taps before the overflow occurred. But I guess my understanding of the assembly code is flawed. Isn't the code using 128bit intermediates ? Then it should be possible to use 128-32-1 full dynamic taps before it would overflow (nowhere near the limit used in this example)? Please note that I have very limited SSE2 knowledge. MvH Benjamin Larsson _____________________________________________________ FFmpeg issue tracker <[email protected]> <https://roundup.ffmpeg.org/roundup/ffmpeg/issue1193> _____________________________________________________
