From ccb46ae54b09279e41d81e822c6e4ac0a8fe0f05 Mon Sep 17 00:00:00 2001 From: David McPaul Date: Fri, 10 Apr 2009 03:21:56 +0000 Subject: [PATCH] Build avcodec with assembly targets using yasm git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30097 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../media/plugins/avcodec/libavcodec/Jamfile | 23 +++++++++++++++++++ .../media/plugins/avcodec/libavcodec/config.h | 8 +++---- .../avcodec/libavcodec/x86/cavsdsp_mmx.c | 2 ++ .../{dsputil_yasm.asm => dsputil_yasm.nasm} | 0 .../x86/{fft_mmx.asm => fft_mmx.nasm} | 0 ...eblock_sse2.asm => h264_deblock_sse2.nasm} | 0 ...h264_idct_sse2.asm => h264_idct_sse2.nasm} | 0 7 files changed, 29 insertions(+), 4 deletions(-) rename src/add-ons/media/plugins/avcodec/libavcodec/x86/{dsputil_yasm.asm => dsputil_yasm.nasm} (100%) rename src/add-ons/media/plugins/avcodec/libavcodec/x86/{fft_mmx.asm => fft_mmx.nasm} (100%) rename src/add-ons/media/plugins/avcodec/libavcodec/x86/{h264_deblock_sse2.asm => h264_deblock_sse2.nasm} (100%) rename src/add-ons/media/plugins/avcodec/libavcodec/x86/{h264_idct_sse2.asm => h264_idct_sse2.nasm} (100%) diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/Jamfile b/src/add-ons/media/plugins/avcodec/libavcodec/Jamfile index 0833a43e3d..04ce2d9db6 100644 --- a/src/add-ons/media/plugins/avcodec/libavcodec/Jamfile +++ b/src/add-ons/media/plugins/avcodec/libavcodec/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src add-ons media plugins avcodec libavcodec ; SubDirHdrs [ FDirName $(SUBDIR) .. ] ; +SubDirHdrs [ FDirName $(SUBDIR) x86 ] ; SubDirHdrs [ FDirName $(SUBDIR) ../libavutil ] ; SubDirHdrs [ FDirName $(SUBDIR) ../libswscale ] ; @@ -281,4 +282,26 @@ StaticLibrary libavcodec.a : xl.c xsubdec.c zmbv.c + x86/cpuid.c + x86/cavsdsp_mmx.c + x86/idct_mmx.c + x86/idct_mmx_xvid.c + x86/idct_sse2_xvid.c + x86/dsputil_mmx.c + x86/fft_sse.c + x86/h264_idct_sse2.nasm + x86/h264_deblock_sse2.nasm + x86/fft_mmx.nasm + x86/dsputil_yasm.nasm + x86/simple_idct_mmx.c + x86/motion_est_mmx.c + x86/mpegvideo_mmx.c + x86/rv40dsp_mmx.c + x86/vc1dsp_mmx.c + x86/vp3dsp_mmx.c + x86/vp3dsp_sse2.c + x86/vp6dsp_mmx.c + x86/vp6dsp_sse2.c + x86/fft_sse.c + x86/fdct_mmx.c ; diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/config.h b/src/add-ons/media/plugins/avcodec/libavcodec/config.h index 1a0ed384da..68b1853b5a 100644 --- a/src/add-ons/media/plugins/avcodec/libavcodec/config.h +++ b/src/add-ons/media/plugins/avcodec/libavcodec/config.h @@ -27,12 +27,12 @@ #define HAVE_ARMVFP 0 #define HAVE_IWMMXT 0 #define HAVE_MMI 0 -#define HAVE_MMX 0 -#define HAVE_MMX2 0 +#define HAVE_MMX 1 +#define HAVE_MMX2 1 #define HAVE_NEON 0 #define HAVE_PPC4XX 0 -#define HAVE_SSE 0 -#define HAVE_SSSE3 0 +#define HAVE_SSE 1 +#define HAVE_SSSE3 1 #define HAVE_VIS 0 #define HAVE_BEOSTHREADS 0 #define HAVE_OS2THREADS 0 diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/x86/cavsdsp_mmx.c b/src/add-ons/media/plugins/avcodec/libavcodec/x86/cavsdsp_mmx.c index 6c2bdc125c..aa9a8c4785 100644 --- a/src/add-ons/media/plugins/avcodec/libavcodec/x86/cavsdsp_mmx.c +++ b/src/add-ons/media/plugins/avcodec/libavcodec/x86/cavsdsp_mmx.c @@ -423,10 +423,12 @@ static void ff_ ## OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, ui "pavgb " #temp ", " #a " \n\t"\ "mov" #size " " #a ", " #b " \n\t" +#ifndef __HAIKU__ QPEL_CAVS(put_, PUT_OP, 3dnow) QPEL_CAVS(avg_, AVG_3DNOW_OP, 3dnow) QPEL_CAVS(put_, PUT_OP, mmx2) QPEL_CAVS(avg_, AVG_MMX2_OP, mmx2) +#endif CAVS_MC(put_, 8, 3dnow) CAVS_MC(put_, 16,3dnow) diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/x86/dsputil_yasm.asm b/src/add-ons/media/plugins/avcodec/libavcodec/x86/dsputil_yasm.nasm similarity index 100% rename from src/add-ons/media/plugins/avcodec/libavcodec/x86/dsputil_yasm.asm rename to src/add-ons/media/plugins/avcodec/libavcodec/x86/dsputil_yasm.nasm diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/x86/fft_mmx.asm b/src/add-ons/media/plugins/avcodec/libavcodec/x86/fft_mmx.nasm similarity index 100% rename from src/add-ons/media/plugins/avcodec/libavcodec/x86/fft_mmx.asm rename to src/add-ons/media/plugins/avcodec/libavcodec/x86/fft_mmx.nasm diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_deblock_sse2.asm b/src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_deblock_sse2.nasm similarity index 100% rename from src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_deblock_sse2.asm rename to src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_deblock_sse2.nasm diff --git a/src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_idct_sse2.asm b/src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_idct_sse2.nasm similarity index 100% rename from src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_idct_sse2.asm rename to src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_idct_sse2.nasm