summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/ve_lavc.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-29 21:34:29 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-29 21:34:29 +0000
commitbc9cc2f53632ed79e9c9dd578d9e36633dd06ecc (patch)
tree67bcd1a5eaa073397c9c5369dc8d0f85b9b525b2 /libmpcodecs/ve_lavc.c
parenta7a603d2987b53587b99a8945475046cb8d5ab36 (diff)
downloadmpv-bc9cc2f53632ed79e9c9dd578d9e36633dd06ecc.tar.bz2
mpv-bc9cc2f53632ed79e9c9dd578d9e36633dd06ecc.tar.xz
new options to support Michael's libavcodec patch, #ifdefed
slightly modified version of Michael's ffmpeg-preview-michael-20020529-mplayer.diff git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6229 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/ve_lavc.c')
-rw-r--r--libmpcodecs/ve_lavc.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index da954602f6..fc1ac7b529 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -53,11 +53,17 @@ static int lavc_param_vqdiff = 3;
static float lavc_param_vqcompress = 0.5;
static float lavc_param_vqblur = 0.5;
static float lavc_param_vb_qfactor = 2.0;
+static float lavc_param_vb_qoffset = 0.0;
static int lavc_param_vmax_b_frames = 0;
static int lavc_param_keyint = -1;
static int lavc_param_vpass = 0;
static int lavc_param_vrc_strategy = 2;
static int lavc_param_vb_strategy = 0;
+static int lavc_param_luma_elim_threshold = 3;
+static int lavc_param_chroma_elim_threshold = 5;
+static int lavc_param_packet_size= 0;
+static int lavc_param_strict= 0;
+static int lavc_param_data_partitioning= 0;
#include "cfgparser.h"
@@ -80,6 +86,14 @@ struct config lavcopts_conf[]={
{"vpass", &lavc_param_vpass, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
{"vrc_strategy", &lavc_param_vrc_strategy, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
{"vb_strategy", &lavc_param_vb_strategy, CONF_TYPE_INT, CONF_RANGE, 0, 1, NULL},
+#ifdef CODEC_FLAG_PART
+ {"vb_qoffset", &lavc_param_vb_qoffset, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 31.0, NULL},
+ {"vlelim", &lavc_param_luma_elim_threshold, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL},
+ {"vcelim", &lavc_param_chroma_elim_threshold, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL},
+ {"vpsize", &lavc_param_packet_size, CONF_TYPE_INT, CONF_RANGE, 0, 100000000, NULL},
+ {"vstrict", &lavc_param_strict, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+ {"vdpart", &lavc_param_data_partitioning, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL},
+#endif
{"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
@@ -127,7 +141,16 @@ static int config(struct vf_instance_s* vf,
lavc_venc_context.b_quant_factor= lavc_param_vb_qfactor;
lavc_venc_context.rc_strategy= lavc_param_vrc_strategy;
lavc_venc_context.b_frame_strategy= lavc_param_vb_strategy;
-
+
+#ifdef CODEC_FLAG_PART
+ lavc_venc_context.b_quant_offset= lavc_param_vb_qoffset;
+ lavc_venc_context.luma_elim_threshold= lavc_param_luma_elim_threshold;
+ lavc_venc_context.chroma_elim_threshold= lavc_param_chroma_elim_threshold;
+ lavc_venc_context.rtp_payload_size= lavc_param_packet_size;
+ if(lavc_param_packet_size )lavc_venc_context.rtp_mode=1;
+ lavc_venc_context.strict_std_compliance= lavc_param_strict;
+#endif
+
/* keyframe interval */
if (lavc_param_keyint >= 0) /* != -1 */
lavc_venc_context.gop_size = lavc_param_keyint;
@@ -149,6 +172,9 @@ static int config(struct vf_instance_s* vf,
}
lavc_venc_context.flags|= lavc_param_v4mv ? CODEC_FLAG_4MV : 0;
+#ifdef CODEC_FLAG_PART
+ lavc_venc_context.flags|= lavc_param_data_partitioning;
+#endif
/* lavc internal 2pass bitrate control */
if(lavc_param_vpass==1)