Mercurial > libavcodec.hg
diff x86/dsputil_mmx.c @ 12436:d6d0a43848b4 libavcodec
Move VP3 IDCT functions from inline ASM to YASM. This fixes part of the VP3/5/6
issues on Win64.
author | rbultje |
---|---|
date | Mon, 30 Aug 2010 16:25:46 +0000 |
parents | fe78a4548d12 |
children | b242eb86ea9a |
line wrap: on
line diff
--- a/x86/dsputil_mmx.c Mon Aug 30 16:22:27 2010 +0000 +++ b/x86/dsputil_mmx.c Mon Aug 30 16:25:46 2010 +0000 @@ -28,8 +28,6 @@ #include "libavcodec/mpegvideo.h" #include "libavcodec/simple_idct.h" #include "dsputil_mmx.h" -#include "vp3dsp_mmx.h" -#include "vp3dsp_sse2.h" #include "idct_xvid.h" //#undef NDEBUG @@ -2376,6 +2374,19 @@ ); } +void ff_vp3_idct_mmx(int16_t *input_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_idct_dc_add_mmx2(uint8_t *dest, int line_size, const DCTELEM *block); + +void ff_vp3_v_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values); +void ff_vp3_h_loop_filter_mmx2(uint8_t *src, int stride, int *bounding_values); + +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); + void ff_float_to_int16_interleave6_sse(int16_t *dst, const float **src, int len); void ff_float_to_int16_interleave6_3dnow(int16_t *dst, const float **src, int len); void ff_float_to_int16_interleave6_3dn2(int16_t *dst, const float **src, int len);