|
|
|
@@ -1334,20 +1334,6 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, |
|
|
|
|
|
|
|
FF_ALLOC_OR_GOTO(c, c->formatConvBuffer, FFALIGN(srcW*2+78, 16) * 2, fail); |
|
|
|
|
|
|
|
/* unscaled special cases */ |
|
|
|
if (unscaled && !usesHFilter && !usesVFilter && |
|
|
|
(c->srcRange == c->dstRange || isAnyRGB(dstFormat))) { |
|
|
|
ff_get_unscaled_swscale(c); |
|
|
|
|
|
|
|
if (c->swscale) { |
|
|
|
if (flags & SWS_PRINT_INFO) |
|
|
|
av_log(c, AV_LOG_INFO, |
|
|
|
"using unscaled %s -> %s special converter\n", |
|
|
|
av_get_pix_fmt_name(srcFormat), av_get_pix_fmt_name(dstFormat)); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
c->srcBpc = 1 + desc_src->comp[0].depth_minus1; |
|
|
|
if (c->srcBpc < 8) |
|
|
|
c->srcBpc = 8; |
|
|
|
@@ -1643,6 +1629,20 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, |
|
|
|
c->chrXInc, c->chrYInc); |
|
|
|
} |
|
|
|
|
|
|
|
/* unscaled special cases */ |
|
|
|
if (unscaled && !usesHFilter && !usesVFilter && |
|
|
|
(c->srcRange == c->dstRange || isAnyRGB(dstFormat))) { |
|
|
|
ff_get_unscaled_swscale(c); |
|
|
|
|
|
|
|
if (c->swscale) { |
|
|
|
if (flags & SWS_PRINT_INFO) |
|
|
|
av_log(c, AV_LOG_INFO, |
|
|
|
"using unscaled %s -> %s special converter\n", |
|
|
|
av_get_pix_fmt_name(srcFormat), av_get_pix_fmt_name(dstFormat)); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
c->swscale = ff_getSwsFunc(c); |
|
|
|
return 0; |
|
|
|
fail: // FIXME replace things by appropriate error codes |
|
|
|
|