mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-08-05 18:59:59 +02:00
vp3: The DC-only IDCT is surprisingly not supposed to be bitexact to the
full IDCT. Fix this. Originally committed as revision 23358 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
173bb37f82
commit
179655b6c6
@ -398,9 +398,7 @@ void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block)
|
|||||||
|
|
||||||
void ff_vp3_idct_dc_add_mmx2(uint8_t *dest, int linesize, const DCTELEM *block)
|
void ff_vp3_idct_dc_add_mmx2(uint8_t *dest, int linesize, const DCTELEM *block)
|
||||||
{
|
{
|
||||||
int dc = block[0];
|
int dc = (block[0] + 15) >> 5;
|
||||||
dc = (46341*dc)>>16;
|
|
||||||
dc = (46341*dc + (8<<16))>>20;
|
|
||||||
|
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
"movd %3, %%mm0 \n\t"
|
"movd %3, %%mm0 \n\t"
|
||||||
|
Loading…
Reference in New Issue
Block a user