Commit 5b0b7054 authored by Aurelien Jacobs's avatar Aurelien Jacobs

better separation of vp3dsp functions from dsputil_mmx.c

Originally committed as revision 9039 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent b8a99745
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include "mpegvideo.h" #include "mpegvideo.h"
#include "x86_cpu.h" #include "x86_cpu.h"
#include "mmx.h" #include "mmx.h"
#include "vp3dsp_mmx.h"
#include "vp3dsp_sse2.h"
//#undef NDEBUG //#undef NDEBUG
//#include <assert.h> //#include <assert.h>
...@@ -2871,10 +2873,6 @@ void ff_avg_cavs_qpel16_mc00_mmx2(uint8_t *dst, uint8_t *src, int stride) { ...@@ -2871,10 +2873,6 @@ void ff_avg_cavs_qpel16_mc00_mmx2(uint8_t *dst, uint8_t *src, int stride) {
void ff_mmx_idct(DCTELEM *block); void ff_mmx_idct(DCTELEM *block);
void ff_mmxext_idct(DCTELEM *block); void ff_mmxext_idct(DCTELEM *block);
void ff_vp3_idct_sse2(int16_t *input_data);
void ff_vp3_idct_mmx(int16_t *data);
void ff_vp3_dsp_init_mmx(void);
/* XXX: those functions should be suppressed ASAP when all IDCTs are /* XXX: those functions should be suppressed ASAP when all IDCTs are
converted */ converted */
#ifdef CONFIG_GPL #ifdef CONFIG_GPL
...@@ -2899,26 +2897,6 @@ static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size, DCTELEM *bloc ...@@ -2899,26 +2897,6 @@ static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size, DCTELEM *bloc
add_pixels_clamped_mmx(block, dest, line_size); add_pixels_clamped_mmx(block, dest, line_size);
} }
#endif #endif
static void ff_vp3_idct_put_sse2(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_sse2(block);
put_signed_pixels_clamped_mmx(block, dest, line_size);
}
static void ff_vp3_idct_add_sse2(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_sse2(block);
add_pixels_clamped_mmx(block, dest, line_size);
}
static void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_mmx(block);
put_signed_pixels_clamped_mmx(block, dest, line_size);
}
static void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_mmx(block);
add_pixels_clamped_mmx(block, dest, line_size);
}
static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block) static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block)
{ {
ff_idct_xvid_mmx (block); ff_idct_xvid_mmx (block);
......
...@@ -322,3 +322,15 @@ void ff_vp3_idct_mmx(int16_t *output_data) ...@@ -322,3 +322,15 @@ void ff_vp3_idct_mmx(int16_t *output_data)
#undef J #undef J
} }
void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_mmx(block);
put_signed_pixels_clamped_mmx(block, dest, line_size);
}
void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_mmx(block);
add_pixels_clamped_mmx(block, dest, line_size);
}
/*
* vp3dsp mmx functions declarations
* Copyright (c) 2007 Aurelien Jacobs <aurel@gnuage.org>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef VP3DSP_MMX_H
#define VP3DSP_MMX_H
#include "dsputil.h"
void ff_vp3_idct_mmx(int16_t *data);
void ff_vp3_idct_put_mmx(uint8_t *dest, int line_size, DCTELEM *block);
void ff_vp3_idct_add_mmx(uint8_t *dest, int line_size, DCTELEM *block);
void ff_vp3_dsp_init_mmx(void);
#endif /* VP3DSP_MMX_H */
...@@ -825,3 +825,15 @@ void ff_vp3_idct_sse2(int16_t *input_data) ...@@ -825,3 +825,15 @@ void ff_vp3_idct_sse2(int16_t *input_data)
SSE2_Column_IDCT(); SSE2_Column_IDCT();
} }
void ff_vp3_idct_put_sse2(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_sse2(block);
put_signed_pixels_clamped_mmx(block, dest, line_size);
}
void ff_vp3_idct_add_sse2(uint8_t *dest, int line_size, DCTELEM *block)
{
ff_vp3_idct_sse2(block);
add_pixels_clamped_mmx(block, dest, line_size);
}
/*
* vp3dsp sse2 functions declarations
* Copyright (c) 2007 Aurelien Jacobs <aurel@gnuage.org>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef VP3DSP_SSE2_H
#define VP3DSP_SSE2_H
#include "dsputil.h"
void ff_vp3_idct_sse2(int16_t *input_data);
void ff_vp3_idct_put_sse2(uint8_t *dest, int line_size, DCTELEM *block);
void ff_vp3_idct_add_sse2(uint8_t *dest, int line_size, DCTELEM *block);
#endif /* VP3DSP_SSE2_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment