Browse Source

* 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
tags/v0.5
Zdenek Kabelac 24 years ago
parent
commit
320680d420
1 changed files with 5 additions and 7 deletions
  1. +5
    -7
      libavcodec/msmpeg4.c

+ 5
- 7
libavcodec/msmpeg4.c View File

@@ -437,7 +437,7 @@ static int msmpeg4_pred_dc(MpegEncContext * s, int n,
necessitate to modify mpegvideo.c. The problem comes from the
fact they decided to store the quantized DC (which would lead
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 */
asm volatile(
"movl %3, %%eax \n\t"
@@ -460,9 +460,11 @@ static int msmpeg4_pred_dc(MpegEncContext * s, int n,
: "r" (scale)
: "%eax", "%edx"
);
#elif defined (ARCH_ALPHA)
#else
/* #elif defined (ARCH_ALPHA) */
/* Divisions are extremely costly on Alpha; optimize the most
common case. */
common case. But they are costly everywhere...
*/
if (scale == 8) {
a = (a + (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;
c = (c + (scale >> 1)) / scale;
}
#else
a = (a + (scale >> 1)) / scale;
b = (b + (scale >> 1)) / scale;
c = (c + (scale >> 1)) / scale;
#endif
/* XXX: WARNING: they did not choose the same test as MPEG4. This
is very important ! */


Loading…
Cancel
Save