1/* 2 * Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at> 3 * 4 * This file is part of Libav. 5 * 6 * Libav is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * Libav is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License along 17 * with Libav; if not, write to the Free Software Foundation, Inc., 18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 */ 20 21#include "libavutil/cpu.h" 22#include "libavutil/x86_cpu.h" 23#include "libavcodec/x86/dsputil_mmx.h" 24#include "libavfilter/yadif.h" 25 26DECLARE_ASM_CONST(16, const xmm_reg, pb_1) = {0x0101010101010101ULL, 0x0101010101010101ULL}; 27DECLARE_ASM_CONST(16, const xmm_reg, pw_1) = {0x0001000100010001ULL, 0x0001000100010001ULL}; 28 29#if HAVE_SSSE3 30#define COMPILE_TEMPLATE_SSE 1 31#define COMPILE_TEMPLATE_SSSE3 1 32#undef RENAME 33#define RENAME(a) a ## _ssse3 34#include "yadif_template.c" 35#undef COMPILE_TEMPLATE_SSSE3 36#endif 37 38#if HAVE_SSE 39#undef RENAME 40#define RENAME(a) a ## _sse2 41#include "yadif_template.c" 42#undef COMPILE_TEMPLATE_SSE 43#endif 44 45#if HAVE_MMX 46#undef RENAME 47#define RENAME(a) a ## _mmx 48#include "yadif_template.c" 49#endif 50