Browse Source

h264_idct_add only needs mmx1

Originally committed as revision 5122 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Loren Merritt 19 years ago
parent
commit
6da971f160
2 changed files with 6 additions and 4 deletions
  1. +3
    -1
      libavcodec/i386/dsputil_mmx.c
  2. +3
    -3
      libavcodec/i386/h264dsp_mmx.c

+ 3
- 1
libavcodec/i386/dsputil_mmx.c View File

@@ -2732,6 +2732,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c->put_h264_chroma_pixels_tab[0]= put_h264_chroma_mc8_mmx;
c->put_h264_chroma_pixels_tab[1]= put_h264_chroma_mc4_mmx;

c->h264_idct_dc_add=
c->h264_idct_add= ff_h264_idct_add_mmx;

if (mm_flags & MM_MMXEXT) {
c->put_pixels_tab[0][1] = put_pixels16_x2_mmx2;
c->put_pixels_tab[0][2] = put_pixels16_y2_mmx2;
@@ -2753,7 +2756,6 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c->vsad[4]= vsad_intra16_mmx2;
#endif //CONFIG_ENCODERS

c->h264_idct_add= ff_h264_idct_add_mmx2;
c->h264_idct_dc_add= ff_h264_idct_dc_add_mmx2;
c->h264_idct8_dc_add= ff_h264_idct8_dc_add_mmx2;



+ 3
- 3
libavcodec/i386/h264dsp_mmx.c View File

@@ -65,7 +65,7 @@
"packuswb "#z", "#p" \n\t"\
"movd "#p", (%0) \n\t"

void ff_h264_idct_add_mmx2(uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct_add_mmx(uint8_t *dst, int16_t *block, int stride)
{
/* Load dct coeffs */
asm volatile(
@@ -104,7 +104,7 @@ void ff_h264_idct_add_mmx2(uint8_t *dst, int16_t *block, int stride)
);
}

void ff_h264_idct_dc_add_mmx2(uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct_dc_add_mmx2(uint8_t *dst, int16_t *block, int stride)
{
int dc = (block[0] + 32) >> 6;
asm volatile(
@@ -140,7 +140,7 @@ void ff_h264_idct_dc_add_mmx2(uint8_t *dst, int16_t *block, int stride)
);
}

void ff_h264_idct8_dc_add_mmx2(uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct8_dc_add_mmx2(uint8_t *dst, int16_t *block, int stride)
{
int dc = (block[0] + 32) >> 6;
int y;


Loading…
Cancel
Save