idct_x86.h 1.59 KB
Newer Older
John Koleszar's avatar
John Koleszar committed
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
John Koleszar's avatar
John Koleszar committed
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5 6
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
John Koleszar's avatar
John Koleszar committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22
 */


#ifndef IDCT_X86_H
#define IDCT_X86_H

/* Note:
 *
 * This platform is commonly built for runtime CPU detection. If you modify
 * any of the function mappings present in this file, be sure to also update
 * them in the function pointer initialization code
 */

#if HAVE_MMX
23 24 25
extern prototype_idct(vpx_short_idct4x4llm_1_mmx);
extern prototype_idct(vpx_short_idct4x4llm_mmx);
extern prototype_idct_scalar_add(vpx_dc_only_idct_add_mmx);
John Koleszar's avatar
John Koleszar committed
26 27 28 29 30 31

extern prototype_second_order(vp8_short_inv_walsh4x4_mmx);
extern prototype_second_order(vp8_short_inv_walsh4x4_1_mmx);

#if !CONFIG_RUNTIME_CPU_DETECT
#undef  vp8_idct_idct1
32
#define vp8_idct_idct1 vpx_short_idct4x4llm_1_mmx
John Koleszar's avatar
John Koleszar committed
33 34

#undef  vp8_idct_idct16
35
#define vp8_idct_idct16 vpx_short_idct4x4llm_mmx
John Koleszar's avatar
John Koleszar committed
36

37
#undef  vp8_idct_idct1_scalar_add
38
#define vp8_idct_idct1_scalar_add vpx_dc_only_idct_add_mmx
39

John Koleszar's avatar
John Koleszar committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
#undef vp8_idct_iwalsh16
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_mmx

#undef vp8_idct_iwalsh1
#define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_mmx

#endif
#endif

#if HAVE_SSE2

extern prototype_second_order(vp8_short_inv_walsh4x4_sse2);

#if !CONFIG_RUNTIME_CPU_DETECT

#undef vp8_idct_iwalsh16
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_sse2

#endif

#endif



#endif