mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
better separation of vp3dsp functions from dsputil_mmx.c
Originally committed as revision 9039 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
b8a9974544
commit
5b0b7054b4
@ -27,6 +27,8 @@
|
||||
#include "mpegvideo.h"
|
||||
#include "x86_cpu.h"
|
||||
#include "mmx.h"
|
||||
#include "vp3dsp_mmx.h"
|
||||
#include "vp3dsp_sse2.h"
|
||||
|
||||
//#undef NDEBUG
|
||||
//#include <assert.h>
|
||||
@ -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_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
|
||||
converted */
|
||||
#ifdef CONFIG_GPL
|
||||
@ -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);
|
||||
}
|
||||
#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)
|
||||
{
|
||||
ff_idct_xvid_mmx (block);
|
||||
|
@ -322,3 +322,15 @@ void ff_vp3_idct_mmx(int16_t *output_data)
|
||||
#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);
|
||||
}
|
||||
|
32
libavcodec/i386/vp3dsp_mmx.h
Normal file
32
libavcodec/i386/vp3dsp_mmx.h
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* 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)
|
||||
|
||||
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);
|
||||
}
|
||||
|
31
libavcodec/i386/vp3dsp_sse2.h
Normal file
31
libavcodec/i386/vp3dsp_sse2.h
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* 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 */
|
Loading…
Reference in New Issue
Block a user