Ticket #4066: h264dsp_mmx_order_of_operations_fix.diff
File h264dsp_mmx_order_of_operations_fix.diff, 2.0 KB (added by , 17 years ago) |
---|
-
libs/libavcodec/i386/h264dsp_mmx.c
1311 1311 uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\ 1312 1312 uint8_t * const halfHV= (uint8_t*)temp;\ 1313 1313 int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE/2;\ 1314 assert(( int)temp & 7== 0);\1314 assert(((int)temp & 7) == 0);\ 1315 1315 put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, tmp, src, SIZE, SIZE, stride);\ 1316 1316 OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, halfHV, stride, SIZE);\ 1317 1317 }\ … … 1320 1320 uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\ 1321 1321 uint8_t * const halfHV= (uint8_t*)temp;\ 1322 1322 int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE/2;\ 1323 assert(( int)temp & 7== 0);\1323 assert(((int)temp & 7) == 0);\ 1324 1324 put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, tmp, src, SIZE, SIZE, stride);\ 1325 1325 OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src+stride, halfHV, stride, SIZE);\ 1326 1326 }\ … … 1329 1329 uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\ 1330 1330 int16_t * const halfV= ((int16_t*)temp) + SIZE*SIZE/2;\ 1331 1331 uint8_t * const halfHV= ((uint8_t*)temp);\ 1332 assert(( int)temp & 7== 0);\1332 assert(((int)temp & 7) == 0);\ 1333 1333 put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, halfV, src, SIZE, SIZE, stride);\ 1334 1334 OPNAME ## pixels ## SIZE ## _l2_shift5_ ## MMX(dst, halfV+2, halfHV, stride, SIZE, SIZE);\ 1335 1335 }\ … … 1338 1338 uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\ 1339 1339 int16_t * const halfV= ((int16_t*)temp) + SIZE*SIZE/2;\ 1340 1340 uint8_t * const halfHV= ((uint8_t*)temp);\ 1341 assert(( int)temp & 7== 0);\1341 assert(((int)temp & 7) == 0);\ 1342 1342 put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, halfV, src, SIZE, SIZE, stride);\ 1343 1343 OPNAME ## pixels ## SIZE ## _l2_shift5_ ## MMX(dst, halfV+3, halfHV, stride, SIZE, SIZE);\ 1344 1344 }\