summaryrefslogtreecommitdiffstats
path: root/postproc/swscale.c
diff options
context:
space:
mode:
Diffstat (limited to 'postproc/swscale.c')
-rw-r--r--postproc/swscale.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c
index 0c75f0a7a8..540631b844 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -733,7 +733,7 @@ static inline void yuv2packedXinC(SwsContext *c, int16_t *lumFilter, int16_t **l
#endif
#ifdef ARCH_POWERPC
-#ifdef HAVE_ALTIVEC
+#if defined (HAVE_ALTIVEC) || defined (RUNTIME_CPUDETECT)
#define COMPILE_ALTIVEC
#endif //HAVE_ALTIVEC
#endif //ARCH_POWERPC
@@ -1796,8 +1796,9 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
yuv2rgb_c_init_tables(c, inv_table, srcRange, brightness, contrast, saturation);
//FIXME factorize
-#ifdef HAVE_ALTIVEC
- yuv2rgb_altivec_init_tables (c, inv_table, brightness, contrast, saturation);
+#ifdef COMPILE_ALTIVEC
+ if (c->flags & SWS_CPU_CAPS_ALTIVEC)
+ yuv2rgb_altivec_init_tables (c, inv_table, brightness, contrast, saturation);
#endif
return 0;
}
@@ -1986,7 +1987,7 @@ SwsContext *sws_getContext(int srcW, int srcH, int origSrcFormat, int dstW, int
}
}
-#ifdef HAVE_ALTIVEC
+#ifdef COMPILE_ALTIVEC
if ((c->flags & SWS_CPU_CAPS_ALTIVEC) &&
((srcFormat == IMGFMT_YV12 &&
(dstFormat == IMGFMT_YUY2 || dstFormat == IMGFMT_UYVY)))) {