Originally committed as revision 23359 to svn://svn.ffmpeg.org/ffmpeg/trunktags/n0.8
| @@ -377,12 +377,10 @@ endfunc | |||||
| function ff_vp3_idct_dc_add_neon, export=1 | function ff_vp3_idct_dc_add_neon, export=1 | ||||
| ldrsh r2, [r2] | ldrsh r2, [r2] | ||||
| movw r3, #46341 | |||||
| mul r2, r3, r2 | |||||
| smulwt r2, r3, r2 | |||||
| mov r3, r0 | mov r3, r0 | ||||
| add r2, r2, #15 | |||||
| vdup.16 q15, r2 | vdup.16 q15, r2 | ||||
| vrshr.s16 q15, q15, #4 | |||||
| vshr.s16 q15, q15, #5 | |||||
| vld1.8 {d0}, [r0,:64], r1 | vld1.8 {d0}, [r0,:64], r1 | ||||
| vld1.8 {d1}, [r0,:64], r1 | vld1.8 {d1}, [r0,:64], r1 | ||||
| @@ -225,9 +225,7 @@ void ff_vp3_idct_add_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/* | |||||
| void ff_vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, const DCTELEM *block/*align 16*/){ | void ff_vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, const DCTELEM *block/*align 16*/){ | ||||
| const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; | const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; | ||||
| int i, dc = block[0]; | |||||
| dc = (46341*dc)>>16; | |||||
| dc = (46341*dc + (8<<16))>>20; | |||||
| int i, dc = (block[0] + 15) >> 5; | |||||
| for(i = 0; i < 8; i++){ | for(i = 0; i < 8; i++){ | ||||
| dest[0] = cm[dest[0]+dc]; | dest[0] = cm[dest[0]+dc]; | ||||