* qatar/master: x86: dsputil: Drop some unused macro definitions x86: Add a Yasm-based emms() replacement Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n1.2
@@ -197,14 +197,12 @@ DECLARE_ALIGNED(16, const double, ff_pd_2)[2] = { 2.0, 2.0 }; | |||||
#define DEF(x) x ## _3dnow | #define DEF(x) x ## _3dnow | ||||
#define PAVGB "pavgusb" | #define PAVGB "pavgusb" | ||||
#define OP_AVG PAVGB | |||||
#define SKIP_FOR_3DNOW | #define SKIP_FOR_3DNOW | ||||
#include "dsputil_avg_template.c" | #include "dsputil_avg_template.c" | ||||
#undef DEF | #undef DEF | ||||
#undef PAVGB | #undef PAVGB | ||||
#undef OP_AVG | |||||
#undef SKIP_FOR_3DNOW | #undef SKIP_FOR_3DNOW | ||||
/***********************************/ | /***********************************/ | ||||
@@ -214,13 +212,11 @@ DECLARE_ALIGNED(16, const double, ff_pd_2)[2] = { 2.0, 2.0 }; | |||||
/* Introduced only in MMXEXT set */ | /* Introduced only in MMXEXT set */ | ||||
#define PAVGB "pavgb" | #define PAVGB "pavgb" | ||||
#define OP_AVG PAVGB | |||||
#include "dsputil_avg_template.c" | #include "dsputil_avg_template.c" | ||||
#undef DEF | #undef DEF | ||||
#undef PAVGB | #undef PAVGB | ||||
#undef OP_AVG | |||||
#define put_no_rnd_pixels16_mmx put_pixels16_mmx | #define put_no_rnd_pixels16_mmx put_pixels16_mmx | ||||
#define put_no_rnd_pixels8_mmx put_pixels8_mmx | #define put_no_rnd_pixels8_mmx put_pixels8_mmx | ||||
@@ -142,6 +142,9 @@ static av_always_inline void emms_c(void) | |||||
#elif HAVE_MMX && HAVE_MM_EMPTY | #elif HAVE_MMX && HAVE_MM_EMPTY | ||||
# include <mmintrin.h> | # include <mmintrin.h> | ||||
# define emms_c _mm_empty | # define emms_c _mm_empty | ||||
#elif HAVE_MMX && HAVE_YASM | |||||
# include "libavutil/x86/emms.h" | |||||
# define emms_c avpriv_emms_yasm | |||||
#else | #else | ||||
# define emms_c() | # define emms_c() | ||||
#endif /* HAVE_MMX_INLINE */ | #endif /* HAVE_MMX_INLINE */ | ||||
@@ -2,4 +2,5 @@ OBJS += x86/cpu.o \ | |||||
x86/float_dsp_init.o \ | x86/float_dsp_init.o \ | ||||
YASM-OBJS += x86/cpuid.o \ | YASM-OBJS += x86/cpuid.o \ | ||||
x86/emms.o \ | |||||
x86/float_dsp.o \ | x86/float_dsp.o \ |
@@ -0,0 +1,30 @@ | |||||
;***************************************************************************** | |||||
;* Copyright (C) 2013 Martin Storsjo | |||||
;* | |||||
;* 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 | |||||
;****************************************************************************** | |||||
%include "x86util.asm" | |||||
SECTION .text | |||||
;----------------------------------------------------------------------------- | |||||
; void avpriv_emms_yasm(void) | |||||
;----------------------------------------------------------------------------- | |||||
cvisible emms_yasm, 0, 0 | |||||
emms | |||||
RET |
@@ -0,0 +1,24 @@ | |||||
/* | |||||
* 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 AVUTIL_X86_EMMS_H | |||||
#define AVUTIL_X86_EMMS_H | |||||
void avpriv_emms_yasm(void); | |||||
#endif /* AVUTIL_X86_EMMS_H */ |