| OLD | NEW |
| (Empty) | |
| 1 /* |
| 2 * VP6 MMX/SSE2 optimizations |
| 3 * Copyright (C) 2009 Sebastien Lucas <sebastien.lucas@gmail.com> |
| 4 * Copyright (C) 2009 Zuxy Meng <zuxy.meng@gmail.com> |
| 5 * |
| 6 * This file is part of FFmpeg. |
| 7 * |
| 8 * FFmpeg is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Lesser General Public |
| 10 * License as published by the Free Software Foundation; either |
| 11 * version 2.1 of the License, or (at your option) any later version. |
| 12 * |
| 13 * FFmpeg is distributed in the hope that it will be useful, |
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 16 * Lesser General Public License for more details. |
| 17 * |
| 18 * You should have received a copy of the GNU Lesser General Public |
| 19 * License along with FFmpeg; if not, write to the Free Software |
| 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 21 */ |
| 22 |
| 23 #include "libavutil/cpu.h" |
| 24 #include "libavutil/x86_cpu.h" |
| 25 #include "libavcodec/dsputil.h" |
| 26 #include "libavcodec/vp56dsp.h" |
| 27 |
| 28 void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, int stride, |
| 29 const int16_t *h_weights,const int16_t *v_weights); |
| 30 void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, int stride, |
| 31 const int16_t *h_weights,const int16_t *v_weights)
; |
| 32 |
| 33 av_cold void ff_vp56dsp_init_x86(VP56DSPContext* c, enum CodecID codec) |
| 34 { |
| 35 #if HAVE_YASM |
| 36 int mm_flags = av_get_cpu_flags(); |
| 37 |
| 38 if (CONFIG_VP6_DECODER && codec == CODEC_ID_VP6) { |
| 39 if (mm_flags & AV_CPU_FLAG_MMX) { |
| 40 c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx; |
| 41 } |
| 42 |
| 43 if (mm_flags & AV_CPU_FLAG_SSE2) { |
| 44 c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2; |
| 45 } |
| 46 } |
| 47 #endif |
| 48 } |
| OLD | NEW |