From b606a6ce1a94017ee6519d884661ef828878226a Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 18 Jul 2013 13:48:57 +0200 Subject: sws_utils: make hq swscale flags available with mp_sws_hq_flags No need to duplicate this on the call-site. --- video/image_writer.c | 6 +----- video/sws_utils.c | 7 +++++-- video/sws_utils.h | 2 ++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/video/image_writer.c b/video/image_writer.c index 1791c01a38..5224841b5d 100644 --- a/video/image_writer.c +++ b/video/image_writer.c @@ -20,7 +20,6 @@ #include #include -#include #include #include @@ -288,10 +287,7 @@ int write_image(struct mp_image *image, const struct image_writer_opts *opts, struct mp_image *dst = mp_image_alloc(destfmt, d_w, d_h); mp_image_copy_attributes(dst, image); - int flags = SWS_LANCZOS | SWS_FULL_CHR_H_INT | SWS_FULL_CHR_H_INP | - SWS_ACCURATE_RND | SWS_BITEXACT; - - mp_image_swscale(dst, image, flags); + mp_image_swscale(dst, image, mp_sws_hq_flags); allocated_image = dst; image = dst; diff --git a/video/sws_utils.c b/video/sws_utils.c index 652887d232..91635cf6dd 100644 --- a/video/sws_utils.c +++ b/video/sws_utils.c @@ -39,6 +39,10 @@ int sws_chr_hshift = 0; float sws_chr_sharpen = 0.0; float sws_lum_sharpen = 0.0; +// Highest quality, but also slowest. +const int mp_sws_hq_flags = SWS_LANCZOS | SWS_FULL_CHR_H_INT | + SWS_FULL_CHR_H_INP | SWS_ACCURATE_RND | + SWS_BITEXACT; // Set ctx parameters to global command line flags. void mp_sws_set_from_cmdline(struct mp_sws_context *ctx) @@ -271,8 +275,7 @@ void mp_image_sw_blur_scale(struct mp_image *dst, struct mp_image *src, float gblur) { struct mp_sws_context *ctx = mp_sws_alloc(NULL); - ctx->flags = SWS_LANCZOS | SWS_FULL_CHR_H_INT | SWS_FULL_CHR_H_INP | - SWS_ACCURATE_RND | SWS_BITEXACT; + ctx->flags = mp_sws_hq_flags; ctx->src_filter = sws_getDefaultFilter(gblur, gblur, 0, 0, 0, 0, 0); ctx->force_reload = true; mp_sws_scale(ctx, dst, src); diff --git a/video/sws_utils.h b/video/sws_utils.h index f35cd626d1..07fc3c76b1 100644 --- a/video/sws_utils.h +++ b/video/sws_utils.h @@ -13,6 +13,8 @@ struct mp_csp_details; // Guaranteed to be a power of 2 and > 1. #define SWS_MIN_BYTE_ALIGN 16 +extern const int mp_sws_hq_flags; + bool mp_sws_supported_format(int imgfmt); void mp_image_swscale(struct mp_image *dst, struct mp_image *src, -- cgit v1.2.3