Browse Source

x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place

tags/n1.0
Diego Biurrun 13 years ago
parent
commit
58139e141b
3 changed files with 33 additions and 27 deletions
  1. +0
    -27
      libavcodec/x86/dsputil_mmx.c
  2. +25
    -0
      libavcodec/x86/idct_mmx_xvid.c
  3. +8
    -0
      libavcodec/x86/idct_xvid.h

+ 0
- 27
libavcodec/x86/dsputil_mmx.c View File

@@ -2161,33 +2161,6 @@ void ff_avg_vc1_mspel_mc00_mmx2(uint8_t *dst, const uint8_t *src,
avg_pixels8_mmx2(dst, src, stride, 8);
}

/* XXX: Those functions should be suppressed ASAP when all IDCTs are
* converted. */

static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx(block);
ff_put_pixels_clamped_mmx(block, dest, line_size);
}

static void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx(block);
ff_add_pixels_clamped_mmx(block, dest, line_size);
}

static void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx2(block);
ff_put_pixels_clamped_mmx(block, dest, line_size);
}

static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx2(block);
ff_add_pixels_clamped_mmx(block, dest, line_size);
}

static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize)
{
int i;


+ 25
- 0
libavcodec/x86/idct_mmx_xvid.c View File

@@ -44,6 +44,7 @@
#include "config.h"
#include "libavcodec/avcodec.h"
#include "libavutil/mem.h"
#include "dsputil_mmx.h"
#include "idct_xvid.h"

#if HAVE_INLINE_ASM
@@ -529,4 +530,28 @@ __asm__ volatile(
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16));
}

void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx(block);
ff_put_pixels_clamped_mmx(block, dest, line_size);
}

void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx(block);
ff_add_pixels_clamped_mmx(block, dest, line_size);
}

void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx2(block);
ff_put_pixels_clamped_mmx(block, dest, line_size);
}

void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_idct_xvid_mmx2(block);
ff_add_pixels_clamped_mmx(block, dest, line_size);
}

#endif /* HAVE_INLINE_ASM */

+ 8
- 0
libavcodec/x86/idct_xvid.h View File

@@ -28,8 +28,16 @@

#include <stdint.h>

#include "libavcodec/dsputil.h"

void ff_idct_xvid_mmx(short *block);
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block);
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block);

void ff_idct_xvid_mmx2(short *block);
void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block);
void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block);

void ff_idct_xvid_sse2(short *block);
void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block);
void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block);


Loading…
Cancel
Save