OSDN Git Service

Merge commit '6b3ff6f91a535d6383f41ca7bdf760165dcb6015'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 6 Oct 2013 09:38:02 +0000 (11:38 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 6 Oct 2013 09:44:05 +0000 (11:44 +0200)
* commit '6b3ff6f91a535d6383f41ca7bdf760165dcb6015':
  swscale: provide a default scaler if none is set

Conflicts:
libswscale/utils.c

The default is left at bicubic until someone has compared the scalers
properly speed and quality wise.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libswscale/utils.c

@@@ -1155,8 -914,19 +1155,19 @@@ av_cold int sws_init_context(SwsContex
                   SWS_SINC          |
                   SWS_SPLINE        |
                   SWS_BICUBLIN);
-     if (!i || (i & (i - 1))) {
-         av_log(c, AV_LOG_ERROR, "Exactly one scaler algorithm must be chosen, got %X\n", i);
+     /* provide a default scaler if not set by caller */
+     if (!i) {
+         if (dstW < srcW && dstH < srcH)
 -            flags |= SWS_GAUSS;
++            flags |= SWS_BICUBIC;
+         else if (dstW > srcW && dstH > srcH)
 -            flags |= SWS_SINC;
++            flags |= SWS_BICUBIC;
+         else
 -            flags |= SWS_LANCZOS;
++            flags |= SWS_BICUBIC;
+         c->flags = flags;
+     } else if (i & (i - 1)) {
+         av_log(c, AV_LOG_ERROR,
 -               "Exactly one scaler algorithm must be chosen\n");
++               "Exactly one scaler algorithm must be chosen, got %X\n", i);
          return AVERROR(EINVAL);
      }
      /* sanity check */