diff options
Diffstat (limited to 'vp8/decoder/x86/x86_dsystemdependent.c')
-rw-r--r-- | vp8/decoder/x86/x86_dsystemdependent.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vp8/decoder/x86/x86_dsystemdependent.c b/vp8/decoder/x86/x86_dsystemdependent.c new file mode 100644 index 000000000..6d7cc3666 --- /dev/null +++ b/vp8/decoder/x86/x86_dsystemdependent.c @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license and patent + * grant that can be found in the LICENSE file in the root of the source + * tree. All contributing project authors may be found in the AUTHORS + * file in the root of the source tree. + */ + + +#include "vpx_ports/config.h" +#include "vpx_ports/x86.h" +#include "onyxd_int.h" + + +#if HAVE_MMX +void vp8_dequantize_b_impl_mmx(short *sq, short *dq, short *q); + +void vp8_dequantize_b_mmx(BLOCKD *d) +{ + short *sq = (short *) d->qcoeff; + short *dq = (short *) d->dqcoeff; + short *q = (short *) d->dequant; + vp8_dequantize_b_impl_mmx(sq, dq, q); +} +#endif + +void vp8_arch_x86_decode_init(VP8D_COMP *pbi) +{ + int flags = x86_simd_caps(); + + /* Note: + * + * This platform can be built without runtime CPU detection as well. If + * you modify any of the function mappings present in this file, be sure + * to also update them in static mapings (<arch>/filename_<arch>.h) + */ +#if CONFIG_RUNTIME_CPU_DETECT + /* Override default functions with fastest ones for this CPU. */ +#if HAVE_MMX + + if (flags & HAS_MMX) + { + pbi->dequant.block = vp8_dequantize_b_mmx; + pbi->dequant.idct = vp8_dequant_idct_mmx; + pbi->dequant.idct_dc = vp8_dequant_dc_idct_mmx; + } + +#endif +#endif +} |