From 06cbb5007cb66b7e1230ca23d7306f0444487529 Mon Sep 17 00:00:00 2001 From: diego Date: Sun, 13 Apr 2008 00:03:11 +0000 Subject: Restore grayscale decoding support with FFmpeg. Removing support was done due to a silly misunderstanding. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26427 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vd_ffmpeg.c | 3 +++ libmpcodecs/ve_lavc.c | 3 +++ 2 files changed, 6 insertions(+) (limited to 'libmpcodecs') diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index da527ea4af..97a4fa62cd 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -71,6 +71,7 @@ static void mc_render_slice(struct AVCodecContext *s, 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 @@ static int lavc_param_bitexact=0; 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 @@ static int init(sh_video_t *sh){ 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 diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index e21a5d5866..df06bfb81c 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -67,6 +67,7 @@ static int lavc_param_chroma_elim_threshold = 0; 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 @@ m_option_t lavcopts_conf[]={ {"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 @@ static int config(struct vf_instance_s* vf, #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; -- cgit v1.2.3