summaryrefslogtreecommitdiff
path: root/libswscale/ppc/swscale_altivec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libswscale/ppc/swscale_altivec.c')
-rw-r--r--libswscale/ppc/swscale_altivec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libswscale/ppc/swscale_altivec.c b/libswscale/ppc/swscale_altivec.c
index 7f4dfcd6f1..423297a8f0 100644
--- a/libswscale/ppc/swscale_altivec.c
+++ b/libswscale/ppc/swscale_altivec.c
@@ -403,11 +403,15 @@ static void hScale_altivec_real(int16_t *dst, int dstW,
void ff_sws_init_swScale_altivec(SwsContext *c)
{
+ enum PixelFormat dstFormat = c->dstFormat;
+
if (!(av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC))
return;
c->hScale = hScale_altivec_real;
- c->yuv2yuvX = yuv2yuvX_altivec_real;
+ if (!is16BPS(dstFormat) && !is9_OR_10BPS(dstFormat)) {
+ c->yuv2yuvX = yuv2yuvX_altivec_real;
+ }
/* The following list of supported dstFormat values should
* match what's found in the body of ff_yuv2packedX_altivec() */