Home | History | Annotate | Download | only in vpx_ports
      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 #ifndef VPX_PORTS_ARM_H_
     12 #define VPX_PORTS_ARM_H_
     13 #include <stdlib.h>
     14 #include "vpx_config.h"
     15 
     16 #ifdef __cplusplus
     17 extern "C" {
     18 #endif
     19 
     20 /*ARMv5TE "Enhanced DSP" instructions.*/
     21 #define HAS_EDSP 0x01
     22 /*ARMv6 "Parallel" or "Media" instructions.*/
     23 #define HAS_MEDIA 0x02
     24 /*ARMv7 optional NEON instructions.*/
     25 #define HAS_NEON 0x04
     26 
     27 int arm_cpu_caps(void);
     28 
     29 // Earlier gcc compilers have issues with some neon intrinsics
     30 #if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 4 && \
     31     __GNUC_MINOR__ <= 6
     32 #define VPX_INCOMPATIBLE_GCC
     33 #endif
     34 
     35 #ifdef __cplusplus
     36 }  // extern "C"
     37 #endif
     38 
     39 #endif  // VPX_PORTS_ARM_H_
     40