Lacnzos for general case, sinc for upscaling, Gaussian for downscaling. According to various literature these scalers should be the best (quality-wise) available for each case.
Inspired from a patch by wm4 <nfx...@googlemail.com> --- libswscale/utils.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libswscale/utils.c b/libswscale/utils.c index 2781985..a642710 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -914,6 +914,18 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SWS_SINC | SWS_SPLINE | SWS_BICUBLIN); + + /* provide a default scaler if not set by caller */ + if (!i) { + if (dstW < srcW && dstH < srcH) + flags |= SWS_GAUSS; + else if (dstW > srcW && dstH > srcH) + flags |= SWS_SINC; + else + flags |= SWS_LANCZOS; + c->flags = flags; + } + if (!i || (i & (i - 1))) { av_log(c, AV_LOG_ERROR, "Exactly one scaler algorithm must be chosen\n"); -- 1.7.9.5 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel