ppc: mpegvideo: Add proper runtime AltiVec detection
authorDiego Biurrun <diego@biurrun.de>
Fri, 9 Sep 2016 16:30:51 +0000 (18:30 +0200)
committerDiego Biurrun <diego@biurrun.de>
Sun, 11 Sep 2016 21:30:40 +0000 (23:30 +0200)
libavcodec/ppc/mpegvideodsp.c

index e6c0457..eef3e1d 100644 (file)
@@ -20,7 +20,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/cpu.h"
 #include "libavutil/mem.h"
+#include "libavutil/ppc/cpu.h"
 #include "libavutil/ppc/types_altivec.h"
 #include "libavutil/ppc/util_altivec.h"
 #include "libavcodec/mpegvideodsp.h"
@@ -128,6 +130,9 @@ static void gmc1_altivec(uint8_t *dst /* align 8 */, uint8_t *src /* align1 */,
 av_cold void ff_mpegvideodsp_init_ppc(MpegVideoDSPContext *c)
 {
 #if HAVE_ALTIVEC && HAVE_BIGENDIAN
+    if (!PPC_ALTIVEC(av_get_cpu_flags()))
+        return;
+
     c->gmc1 = gmc1_altivec;
 #endif /* HAVE_ALTIVEC && HAVE_BIGENDIAN */
 }