Home | History | Annotate | Download | only in arm
      1 /*
      2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  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.
      9  */
     10 
     11 
     12 #ifndef IDCT_ARM_H
     13 #define IDCT_ARM_H
     14 
     15 #if HAVE_ARMV6
     16 extern prototype_idct(vp8_short_idct4x4llm_1_v6);
     17 extern prototype_idct(vp8_short_idct4x4llm_v6_dual);
     18 extern prototype_idct_scalar_add(vp8_dc_only_idct_add_v6);
     19 extern prototype_second_order(vp8_short_inv_walsh4x4_1_v6);
     20 extern prototype_second_order(vp8_short_inv_walsh4x4_v6);
     21 
     22 #if !CONFIG_RUNTIME_CPU_DETECT
     23 #undef  vp8_idct_idct1
     24 #define vp8_idct_idct1 vp8_short_idct4x4llm_1_v6
     25 
     26 #undef  vp8_idct_idct16
     27 #define vp8_idct_idct16 vp8_short_idct4x4llm_v6_dual
     28 
     29 #undef  vp8_idct_idct1_scalar_add
     30 #define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_v6
     31 
     32 #undef  vp8_idct_iwalsh1
     33 #define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_v6
     34 
     35 #undef  vp8_idct_iwalsh16
     36 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_v6
     37 #endif
     38 #endif
     39 
     40 #if HAVE_ARMV7
     41 extern prototype_idct(vp8_short_idct4x4llm_1_neon);
     42 extern prototype_idct(vp8_short_idct4x4llm_neon);
     43 extern prototype_idct_scalar_add(vp8_dc_only_idct_add_neon);
     44 extern prototype_second_order(vp8_short_inv_walsh4x4_1_neon);
     45 extern prototype_second_order(vp8_short_inv_walsh4x4_neon);
     46 
     47 #if !CONFIG_RUNTIME_CPU_DETECT
     48 #undef  vp8_idct_idct1
     49 #define vp8_idct_idct1 vp8_short_idct4x4llm_1_neon
     50 
     51 #undef  vp8_idct_idct16
     52 #define vp8_idct_idct16 vp8_short_idct4x4llm_neon
     53 
     54 #undef  vp8_idct_idct1_scalar_add
     55 #define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_neon
     56 
     57 #undef  vp8_idct_iwalsh1
     58 #define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_neon
     59 
     60 #undef  vp8_idct_iwalsh16
     61 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_neon
     62 #endif
     63 #endif
     64 
     65 #endif
     66