Merge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'
authorHendrik Leppkes <h.leppkes@gmail.com>
Sat, 2 Jan 2016 10:01:29 +0000 (11:01 +0100)
committerHendrik Leppkes <h.leppkes@gmail.com>
Sat, 2 Jan 2016 10:01:29 +0000 (11:01 +0100)
* commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0':
  arm: add a cpu flag for the VFPv2 vector mode

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
libavcodec/arm/dcadsp_init_arm.c
libavcodec/arm/fft_init_arm.c
libavcodec/arm/fmtconvert_init_arm.c
libavutil/arm/cpu.c
libavutil/arm/cpu.h
libavutil/cpu.c
libavutil/cpu.h
libavutil/version.h
tests/checkasm/checkasm.c

Simple merge
Simple merge
Simple merge
Simple merge
  #define have_vfp(flags)     CPUEXT(flags, VFP)
  #define have_vfpv3(flags)   CPUEXT(flags, VFPV3)
  #define have_neon(flags)    CPUEXT(flags, NEON)
 +#define have_setend(flags)  CPUEXT(flags, SETEND)
  
 -/* Some functions use the 'setend' instruction which is deprecated on ARMv8
 - * and serializing on some ARMv7 cores. This macro ensures such functions
 - * are only enabled on ARMv6. */
 -#define have_setend(flags)                                              \
 -    (have_armv6(flags) && !(have_vfpv3(flags) || have_neon(flags)))
 -
+ /* some functions use the VFPv2 vector mode which is deprecated in ARMv7-A
+  * and might trap on such CPU depending on the OS configuration */
+ #define have_vfp_vm(flags)                                              \
+     (have_armv6(flags) && ((flags) & AV_CPU_FLAG_VFP_VM))
  #endif /* AVUTIL_ARM_CPU_H */
diff --cc libavutil/cpu.c
@@@ -315,9 -205,9 +316,10 @@@ static const struct 
      { AV_CPU_FLAG_ARMV6,     "armv6"      },
      { AV_CPU_FLAG_ARMV6T2,   "armv6t2"    },
      { AV_CPU_FLAG_VFP,       "vfp"        },
+     { AV_CPU_FLAG_VFP_VM,    "vfp_vm"     },
      { AV_CPU_FLAG_VFPV3,     "vfpv3"      },
      { AV_CPU_FLAG_NEON,      "neon"       },
 +    { AV_CPU_FLAG_SETEND,    "setend"     },
  #elif ARCH_PPC
      { AV_CPU_FLAG_ALTIVEC,   "altivec"    },
  #elif ARCH_X86
diff --cc libavutil/cpu.h
@@@ -64,7 -62,7 +64,8 @@@
  #define AV_CPU_FLAG_VFPV3        (1 << 4)
  #define AV_CPU_FLAG_NEON         (1 << 5)
  #define AV_CPU_FLAG_ARMV8        (1 << 6)
+ #define AV_CPU_FLAG_VFP_VM       (1 << 7) ///< VFPv2 vector mode, deprecated in ARMv7-A and unavailable in various CPUs implementations
 +#define AV_CPU_FLAG_SETEND       (1 <<16)
  
  /**
   * Return the flags which specify extensions supported by the CPU.
@@@ -63,9 -53,9 +63,9 @@@
   * @{
   */
  
 -#define LIBAVUTIL_VERSION_MAJOR 55
 -#define LIBAVUTIL_VERSION_MINOR  4
 -#define LIBAVUTIL_VERSION_MICRO  0
 +#define LIBAVUTIL_VERSION_MAJOR  55
- #define LIBAVUTIL_VERSION_MINOR  11
++#define LIBAVUTIL_VERSION_MINOR  12
 +#define LIBAVUTIL_VERSION_MICRO 100
  
  #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                 LIBAVUTIL_VERSION_MINOR, \
Simple merge