mirror of https://github.com/mpv-player/mpv
Implementation of vo_png suboption parser with subopt-helper and removal
of -z command line option. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14452 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
853007980b
commit
5e2a0b316e
|
@ -2272,11 +2272,6 @@ In Xinerama configurations (i.e.\& a single desktop that spans across multiple
|
|||
displays) this option tells MPlayer which screen to display movie on.
|
||||
.
|
||||
.TP
|
||||
.B \-z <0\-9> (\-vo png only)
|
||||
Specifies the compression level of the png video output driver.
|
||||
0 is no compression, 9 is the maximum compression.
|
||||
.
|
||||
.TP
|
||||
.B \-zrbw (\-vo zr only)
|
||||
Display in black and white.
|
||||
For optimal performance, this can be combined with '\-lavdopts gray'.
|
||||
|
@ -2977,10 +2972,17 @@ Must be equal to or larger than 1 (default: 1000).
|
|||
.PD 1
|
||||
.
|
||||
.TP
|
||||
.B png (also see \-z)
|
||||
.B png\ \
|
||||
Output each frame into a PNG file in the current directory.
|
||||
Each file takes the frame number padded with leading zeros as name.
|
||||
24bpp RGB and BGR formats are supported.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs z=<0-9>
|
||||
Specifies the compression level.
|
||||
0 is no compression, 9 is maximum compression.
|
||||
.RE
|
||||
.PD 1
|
||||
.
|
||||
.TP
|
||||
.B tga\ \ \ \
|
||||
|
|
|
@ -189,7 +189,7 @@ m_option_t mplayer_opts[]={
|
|||
|
||||
// -vo png only:
|
||||
#ifdef HAVE_PNG
|
||||
{"z", &z_compression, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL},
|
||||
{"z", "-z is replaced by -vo png:z=<0-9>\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
|
||||
#endif
|
||||
// -vo jpeg only:
|
||||
#ifdef HAVE_JPEG
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "config.h"
|
||||
#include "video_out.h"
|
||||
#include "video_out_internal.h"
|
||||
#include "subopt-helper.h"
|
||||
|
||||
static vo_info_t info =
|
||||
{
|
||||
|
@ -43,19 +44,11 @@ static uint32_t
|
|||
config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
|
||||
{
|
||||
|
||||
if((z_compression >= 0) && (z_compression <= 9)) {
|
||||
if(z_compression == 0) {
|
||||
printf("PNG Warning: compression level set to 0, compression disabled!\n");
|
||||
printf("PNG Info: Use the -z <n> switch to set compression level from 0 to 9.\n");
|
||||
printf("PNG Info: Use -vo png:z=<n> to set compression level from 0 to 9.\n");
|
||||
printf("PNG Info: (0 = no compression, 1 = fastest, lowest - 9 best, slowest compression)\n");
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf("PNG Warning: compression level out of range setting to 1!\n");
|
||||
printf("PNG Info: Use the -z <n> switch to set compression level from 0 to 9.\n");
|
||||
printf("PNG Info: (0 = no compression, 1 = fastest, lowest - 9 best, slowest compression)\n");
|
||||
z_compression = Z_BEST_SPEED;
|
||||
}
|
||||
|
||||
if(verbose) printf("PNG Compression level %i\n", z_compression);
|
||||
|
||||
|
@ -206,12 +199,23 @@ static void uninit(void){}
|
|||
|
||||
static void check_events(void){}
|
||||
|
||||
static int int_zero_to_nine(int *sh)
|
||||
{
|
||||
if ( (*sh < 0) || (*sh > 9) )
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static opt_t subopts[] = {
|
||||
{"z", OPT_ARG_INT, &z_compression, (opt_test_f)int_zero_to_nine},
|
||||
{NULL}
|
||||
};
|
||||
|
||||
static uint32_t preinit(const char *arg)
|
||||
{
|
||||
if(arg)
|
||||
{
|
||||
printf("PNG Unknown subdevice: %s\n",arg);
|
||||
return ENOSYS;
|
||||
z_compression = 0;
|
||||
if (subopt_parse(arg, subopts) != 0) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue