summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-13 00:03:11 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-13 00:03:11 +0000
commit06cbb5007cb66b7e1230ca23d7306f0444487529 (patch)
tree27530867313d9c93cd5d3132e252b2fdb19d9b45 /libmpcodecs
parent67e8b044c348559ffed73a6a2819cdc40a7bfd94 (diff)
downloadmpv-06cbb5007cb66b7e1230ca23d7306f0444487529.tar.bz2
mpv-06cbb5007cb66b7e1230ca23d7306f0444487529.tar.xz
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
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_ffmpeg.c3
-rw-r--r--libmpcodecs/ve_lavc.c3
2 files changed, 6 insertions, 0 deletions
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;