Libav 0.7.1
|
00001 /* 00002 * Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at> 00003 * 00004 * This file is part of Libav. 00005 * 00006 * Libav is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * Libav is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License along 00017 * with Libav; if not, write to the Free Software Foundation, Inc., 00018 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00019 */ 00020 00021 #include "libavutil/cpu.h" 00022 #include "libavutil/x86_cpu.h" 00023 #include "libavcodec/x86/dsputil_mmx.h" 00024 #include "libavfilter/yadif.h" 00025 00026 DECLARE_ASM_CONST(16, const xmm_reg, pb_1) = {0x0101010101010101ULL, 0x0101010101010101ULL}; 00027 DECLARE_ASM_CONST(16, const xmm_reg, pw_1) = {0x0001000100010001ULL, 0x0001000100010001ULL}; 00028 00029 #if HAVE_SSSE3 00030 #define COMPILE_TEMPLATE_SSE 1 00031 #define COMPILE_TEMPLATE_SSSE3 1 00032 #undef RENAME 00033 #define RENAME(a) a ## _ssse3 00034 #include "yadif_template.c" 00035 #undef COMPILE_TEMPLATE_SSSE3 00036 #endif 00037 00038 #if HAVE_SSE 00039 #undef RENAME 00040 #define RENAME(a) a ## _sse2 00041 #include "yadif_template.c" 00042 #undef COMPILE_TEMPLATE_SSE 00043 #endif 00044 00045 #if HAVE_MMX 00046 #undef RENAME 00047 #define RENAME(a) a ## _mmx 00048 #include "yadif_template.c" 00049 #endif