mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
* temporal solution for shared lib compilation
* using ALPHA code optimalization for non ARCH_I386 Originally committed as revision 282 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2f349de286
commit
320680d420
@ -437,7 +437,7 @@ static int msmpeg4_pred_dc(MpegEncContext * s, int n,
|
|||||||
necessitate to modify mpegvideo.c. The problem comes from the
|
necessitate to modify mpegvideo.c. The problem comes from the
|
||||||
fact they decided to store the quantized DC (which would lead
|
fact they decided to store the quantized DC (which would lead
|
||||||
to problems if Q could vary !) */
|
to problems if Q could vary !) */
|
||||||
#ifdef ARCH_X86
|
#if defined ARCH_X86 && !defined PIC
|
||||||
/* using 16bit divisions as they are large enough and 2x as fast */
|
/* using 16bit divisions as they are large enough and 2x as fast */
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"movl %3, %%eax \n\t"
|
"movl %3, %%eax \n\t"
|
||||||
@ -460,9 +460,11 @@ static int msmpeg4_pred_dc(MpegEncContext * s, int n,
|
|||||||
: "r" (scale)
|
: "r" (scale)
|
||||||
: "%eax", "%edx"
|
: "%eax", "%edx"
|
||||||
);
|
);
|
||||||
#elif defined (ARCH_ALPHA)
|
#else
|
||||||
|
/* #elif defined (ARCH_ALPHA) */
|
||||||
/* Divisions are extremely costly on Alpha; optimize the most
|
/* Divisions are extremely costly on Alpha; optimize the most
|
||||||
common case. */
|
common case. But they are costly everywhere...
|
||||||
|
*/
|
||||||
if (scale == 8) {
|
if (scale == 8) {
|
||||||
a = (a + (8 >> 1)) / 8;
|
a = (a + (8 >> 1)) / 8;
|
||||||
b = (b + (8 >> 1)) / 8;
|
b = (b + (8 >> 1)) / 8;
|
||||||
@ -472,10 +474,6 @@ static int msmpeg4_pred_dc(MpegEncContext * s, int n,
|
|||||||
b = (b + (scale >> 1)) / scale;
|
b = (b + (scale >> 1)) / scale;
|
||||||
c = (c + (scale >> 1)) / scale;
|
c = (c + (scale >> 1)) / scale;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
a = (a + (scale >> 1)) / scale;
|
|
||||||
b = (b + (scale >> 1)) / scale;
|
|
||||||
c = (c + (scale >> 1)) / scale;
|
|
||||||
#endif
|
#endif
|
||||||
/* XXX: WARNING: they did not choose the same test as MPEG4. This
|
/* XXX: WARNING: they did not choose the same test as MPEG4. This
|
||||||
is very important ! */
|
is very important ! */
|
||||||
|
Loading…
Reference in New Issue
Block a user