On 06/25/2012 05:23 PM, Jason Garrett-Glaser wrote: >> +cglobal conv_s16_to_fltp_2ch, 3,4,5, dst0, src, len, dst1 >> + lea lenq, [4*lend] >> + mov dst1q, [dst0q+gprsize] >> + mov dst0q, [dst0q ] >> + add srcq, lenq >> + add dst0q, lenq >> + add dst1q, lenq >> + neg lenq >> + mova m4, [pf_s16_inv_scale] >> + ALIGN 16 >> +.loop: >> +%if cpuflag(sse4) >> + pmovsxwd m0, [srcq+lenq ] >> + pmovsxwd m1, [srcq+lenq+mmsize/2] >> +%else >> + mova m1, [srcq+lenq] >> + punpcklwd m0, m1 >> + punpckhwd m1, m1 > > This definitely looks wrong; m0 hasn't been set to anything. Did you > test this? Like in another email, I'd suggest using a macro to > abstract this.
Yeah, it works. I did make a macro for it, I just forgot to use it here... >> + psrad m0, 16 >> + psrad m1, 16 The uninitialized parts get shifted away there. -Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
