Mercurial > mplayer.hg
changeset 26395:71bd93e71a97
Restore grayscale decoding support with FFmpeg.
Removing support was done due to a silly misunderstanding.
author | diego |
---|---|
date | Sun, 13 Apr 2008 00:03:11 +0000 |
parents | 35b30544071a |
children | febaa6723e67 |
files | Changelog DOCS/man/en/mplayer.1 libmpcodecs/vd_ffmpeg.c libmpcodecs/ve_lavc.c |
diffstat | 4 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Changelog Sat Apr 12 23:28:11 2008 +0000 +++ b/Changelog Sun Apr 13 00:03:11 2008 +0000 @@ -43,7 +43,7 @@ * reworked screensaver disabling support, most users will need to use -heartbeat-cmd due to screensaver authors being unable to design a common API - * grayscale decoding/encoding with FFmpeg disabled, it slowed down + * grayscale decoding/encoding with FFmpeg disabled where it slowed down the color case Ports:
--- a/DOCS/man/en/mplayer.1 Sat Apr 12 23:28:11 2008 +0000 +++ b/DOCS/man/en/mplayer.1 Sun Apr 13 00:03:11 2008 +0000 @@ -3220,6 +3220,7 @@ .TP .B \-zrbw (\-vo zr only) Display in black and white. +For optimal performance, this can be combined with '\-lavdopts gray'. . .TP .B \-zrcrop <[width]x[height]+[x offset]+[y offset]> (\-vo zr only) @@ -4298,7 +4299,7 @@ .I EXAMPLE: .PD 0 .RSs -\-lavdopts skiploopfilter=all:skipframe=nonref +\-lavdopts gray:skiploopfilter=all:skipframe=nonref .RE .PD 1 .sp 1 @@ -4399,6 +4400,8 @@ potentially cause problems, like simpler dequantization, simpler motion compensation, assuming use of the default quantization matrix, assuming YUV 4:2:0 and skipping a few checks to detect damaged bitstreams. +.IPs "gray\ " +grayscale only decoding (a bit faster than with color) .IPs "idct=<0\-99> (see \-lavcopts)" For best decoding quality use the same IDCT algorithm for decoding and encoding. This may come at a price in accuracy, though. @@ -8343,6 +8346,10 @@ slice structured mode for H.263+ . .TP +.B "gray\ \ \ " +grayscale only encoding (faster) +. +.TP .B vfdct=<0\-10> DCT algorithm .PD 0
--- a/libmpcodecs/vd_ffmpeg.c Sat Apr 12 23:28:11 2008 +0000 +++ b/libmpcodecs/vd_ffmpeg.c Sun Apr 13 00:03:11 2008 +0000 @@ -71,6 +71,7 @@ static int lavc_param_workaround_bugs= FF_BUG_AUTODETECT; static int lavc_param_error_resilience=2; static int lavc_param_error_concealment=3; +static int lavc_param_gray=0; static int lavc_param_vstats=0; static int lavc_param_idct_algo=0; static int lavc_param_debug=0; @@ -89,6 +90,7 @@ const m_option_t lavc_decode_opts_conf[]={ {"bug", &lavc_param_workaround_bugs, CONF_TYPE_INT, CONF_RANGE, -1, 999999, NULL}, {"er", &lavc_param_error_resilience, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, + {"gray", &lavc_param_gray, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL}, {"idct", &lavc_param_idct_algo, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, {"ec", &lavc_param_error_concealment, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, {"vstats", &lavc_param_vstats, CONF_TYPE_FLAG, 0, 0, 1, NULL}, @@ -286,6 +288,7 @@ avctx->height= sh->disp_h; avctx->workaround_bugs= lavc_param_workaround_bugs; avctx->error_resilience= lavc_param_error_resilience; + if(lavc_param_gray) avctx->flags|= CODEC_FLAG_GRAY; #ifdef CODEC_FLAG2_FAST avctx->flags2|= lavc_param_fast; #endif
--- a/libmpcodecs/ve_lavc.c Sat Apr 12 23:28:11 2008 +0000 +++ b/libmpcodecs/ve_lavc.c Sun Apr 13 00:03:11 2008 +0000 @@ -67,6 +67,7 @@ static int lavc_param_packet_size= 0; static int lavc_param_strict= -1; static int lavc_param_data_partitioning= 0; +static int lavc_param_gray=0; static float lavc_param_rc_qsquish=1.0; static float lavc_param_rc_qmod_amp=0; static int lavc_param_rc_qmod_freq=0; @@ -195,6 +196,7 @@ {"vstrict", &lavc_param_strict, CONF_TYPE_INT, CONF_RANGE, -99, 99, NULL}, {"vdpart", &lavc_param_data_partitioning, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL}, {"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0, NULL}, + {"gray", &lavc_param_gray, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL}, {"mpeg_quant", &lavc_param_mpeg_quant, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"vi_qfactor", &lavc_param_vi_qfactor, CONF_TYPE_FLOAT, CONF_RANGE, -31.0, 31.0, NULL}, {"vi_qoffset", &lavc_param_vi_qoffset, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 31.0, NULL}, @@ -554,6 +556,7 @@ #ifdef CODEC_FLAG_CLOSED_GOP lavc_venc_context->flags|= lavc_param_closed_gop; #endif + if(lavc_param_gray) lavc_venc_context->flags|= CODEC_FLAG_GRAY; if(lavc_param_normalize_aqp) lavc_venc_context->flags|= CODEC_FLAG_NORMALIZE_AQP; if(lavc_param_interlaced_dct) lavc_venc_context->flags|= CODEC_FLAG_INTERLACED_DCT;