diff options
author | wm4 <wm4@mplayer2.org> | 2011-10-06 20:46:02 +0200 |
---|---|---|
committer | wm4 <wm4@mplayer2.org> | 2012-01-18 04:45:27 +0100 |
commit | 316658ad4883230b4fe362f9edaa1e3b3ad80197 (patch) | |
tree | 0bcb0429d0cd2e5191ed1c6e010036e487619c70 | |
parent | 09cdd1406d5abe60bce57c7c2c3e71abe4330053 (diff) | |
download | mpv-316658ad4883230b4fe362f9edaa1e3b3ad80197.tar.bz2 mpv-316658ad4883230b4fe362f9edaa1e3b3ad80197.tar.xz |
screenshot: add png compression setting
The default compression setting is 7, which is hopefully a good balance
between speed of compression, and resulting file sizes. The maximum png
compression will be very slow even on fast computers. On the other hand,
the lowest compression setting produces files of several MB size with
normal video resolutions, which should be avoided as well.
-rw-r--r-- | cfg-mplayer.h | 1 | ||||
-rw-r--r-- | defaultopts.c | 1 | ||||
-rw-r--r-- | options.h | 1 | ||||
-rw-r--r-- | screenshot.c | 2 |
4 files changed, 4 insertions, 1 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 93ffe727c5..d5d711f6bb 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -933,6 +933,7 @@ const m_option_t mplayer_opts[]={ #endif /* CONFIG_TV */ OPT_INTRANGE("screenshot-jpeg-quality", screenshot_jpeg_quality, 0, 0, 100), + OPT_INTRANGE("screenshot-png-compression", screenshot_png_compression, 0, 0, 9), OPT_STRING("screenshot-filetype", screenshot_filetype, 0), OPT_FLAG_ON("list-properties", list_properties, CONF_GLOBAL), diff --git a/defaultopts.c b/defaultopts.c index 5a2df5734f..86e3908614 100644 --- a/defaultopts.c +++ b/defaultopts.c @@ -39,6 +39,7 @@ void set_default_mplayer_options(struct MPOpts *opts) .sub_id = -1, .extension_parsing = 1, .screenshot_jpeg_quality = 85, + .screenshot_png_compression = 7, .audio_output_channels = 2, .audio_output_format = -1, // AF_FORMAT_UNKNOWN .playback_speed = 1., @@ -83,6 +83,7 @@ typedef struct MPOpts { int extension_parsing; int screenshot_jpeg_quality; + int screenshot_png_compression; char *screenshot_filetype; int audio_output_channels; diff --git a/screenshot.c b/screenshot.c index 3fe2bf4866..5844f00ab6 100644 --- a/screenshot.c +++ b/screenshot.c @@ -106,7 +106,7 @@ static int write_png(screenshot_ctx *ctx, struct mp_image *image) avctx->width = image->width; avctx->height = image->height; avctx->pix_fmt = PIX_FMT_RGB24; - avctx->compression_level = 0; + avctx->compression_level = ctx->mpctx->opts.screenshot_png_compression; size_t outbuffer_size = image->width * image->height * 3 * 2; outbuffer = malloc(outbuffer_size); |