summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-07-03 02:34:00 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-07-11 03:51:10 +0200
commitca78fa24b75906538156392a449efacedd234247 (patch)
tree3ae008fbb5d43512d89a035a265c74ede6c74dfa
parent987e4c1787f18d97a39a5bce17b9c1f19a0996c9 (diff)
downloadffmpeg-streaming-ca78fa24b75906538156392a449efacedd234247.zip
ffmpeg-streaming-ca78fa24b75906538156392a449efacedd234247.tar.gz
sws: disable scale16 when int32 is used
-rw-r--r--libswscale/swscale.c5
-rw-r--r--libswscale/x86/swscale_template.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index c39f1b6..cbb172f 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2881,8 +2881,8 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
}
}
- if(((isAnyRGB(c->srcFormat) && av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1<15)
- || c->srcFormat == PIX_FMT_PAL8) && c->scalingBpp == 8)
+ if((isAnyRGB(c->srcFormat) && av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1<15)
+ || c->srcFormat == PIX_FMT_PAL8)
c->hScale16= hScale16N_c;
if (c->scalingBpp == 8) {
@@ -2902,6 +2902,7 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
}
}
} else {
+ c->hScale16 = NULL;
c->hScale = hScale16_c;
c->scale19To15Fw = scale19To15Fw_c;
c->scale8To16Rv = scale8To16Rv_c;
diff --git a/libswscale/x86/swscale_template.c b/libswscale/x86/swscale_template.c
index 8ab5556..84b8dea 100644
--- a/libswscale/x86/swscale_template.c
+++ b/libswscale/x86/swscale_template.c
@@ -2438,6 +2438,8 @@ static av_cold void RENAME(sws_init_swScale)(SwsContext *c)
}
}
#endif /* !COMPILE_TEMPLATE_MMX2 */
- if(isAnyRGB(c->srcFormat) && av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1<15 && c->scalingBpp == 8)
+ if(isAnyRGB(c->srcFormat) && av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1<15)
c->hScale16= RENAME(hScale16);
+ if(c->scalingBpp != 8)
+ c->hScale16 = NULL;
}
OpenPOWER on IntegriCloud