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>
_____________________________________________________

Reply via email to