From 8cff89be435cf1be10ffdb0674731dce078e89c7 Mon Sep 17 00:00:00 2001
From: Diego Biurrun <diego@biurrun.de>
Date: Wed, 22 Nov 2006 09:20:16 +0000
Subject: [PATCH] Conditionally compile some of the AltiVec optimizations.

Originally committed as revision 7154 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/Makefile          | 10 +++++++---
 libavcodec/ppc/dsputil_ppc.c |  7 ++++---
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index e7391798d52..03c1ae43dcd 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -388,11 +388,15 @@ OBJS-$(TARGET_ALTIVEC)                 += ppc/dsputil_altivec.o      \
                                           ppc/fft_altivec.o          \
                                           ppc/gmc_altivec.o          \
                                           ppc/fdct_altivec.o         \
-                                          ppc/h264_altivec.o         \
-                                          ppc/snow_altivec.o         \
-                                          ppc/vc1dsp_altivec.o       \
                                           ppc/float_altivec.o        \
 
+ifeq ($(TARGET_ALTIVEC),yes)
+OBJS-$(CONFIG_H264_DECODER)            += ppc/h264_altivec.o
+OBJS-$(CONFIG_SNOW_DECODER)            += ppc/snow_altivec.o
+OBJS-$(CONFIG_VC1_DECODER)             += ppc/vc1dsp_altivec.o
+OBJS-$(CONFIG_WMV3_DECODER)            += ppc/vc1dsp_altivec.o
+endif
+
 OBJS-$(TARGET_ARCH_BFIN)               += bfin/dsputil_bfin.o \
 
 CFLAGS += $(CFLAGS-yes)
diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c
index 95b69f45ba1..9169eaef059 100644
--- a/libavcodec/ppc/dsputil_ppc.c
+++ b/libavcodec/ppc/dsputil_ppc.c
@@ -274,14 +274,15 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
     }
 
 #ifdef HAVE_ALTIVEC
-    dsputil_h264_init_ppc(c, avctx);
+    if(ENABLE_H264_DECODER) dsputil_h264_init_ppc(c, avctx);
 
     if (has_altivec()) {
         mm_flags |= MM_ALTIVEC;
 
         dsputil_init_altivec(c, avctx);
-        snow_init_altivec(c, avctx);
-        vc1dsp_init_altivec(c, avctx);
+        if(ENABLE_SNOW_DECODER) snow_init_altivec(c, avctx);
+        if(ENABLE_VC1_DECODER || ENABLE_WMV3_DECODER)
+            vc1dsp_init_altivec(c, avctx);
         float_init_altivec(c, avctx);
         c->gmc1 = gmc1_altivec;
 
-- 
GitLab