summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-07-06 02:10:22 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-07-06 02:10:22 +0000
commitacc4477cf37bb2b46aae33d3d90335a763cea5b5 (patch)
tree98262bf563e2c81da08e9833c2c4cc704ad537f4 /libmpcodecs
parent12066db4358e13e218e71a4ba2824db652940e4a (diff)
downloadmpv-acc4477cf37bb2b46aae33d3d90335a763cea5b5.tar.bz2
mpv-acc4477cf37bb2b46aae33d3d90335a763cea5b5.tar.xz
multi-threaded lavc patch by (Loren Merritt <lorenm at u dot washington dot edu>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12761 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ve_lavc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index bc5ac55a3f..0569293c03 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -150,6 +150,7 @@ static int lavc_param_top= -1;
static int lavc_param_alt= 0;
static int lavc_param_ilme= 0;
static int lavc_param_nssew= 8;
+static int lavc_param_threads= 1;
char *lavc_param_acodec = "mp2";
@@ -292,6 +293,7 @@ m_option_t lavcopts_conf[]={
{"top", &lavc_param_top, CONF_TYPE_INT, CONF_RANGE, -1, 1, NULL},
{"qns", &lavc_param_qns, CONF_TYPE_INT, CONF_RANGE, 0, 1000000, NULL},
{"nssew", &lavc_param_nssew, CONF_TYPE_INT, CONF_RANGE, 0, 1000000, NULL},
+ {"threads", &lavc_param_threads, CONF_TYPE_INT, CONF_RANGE, 1, 8, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
#endif
@@ -661,6 +663,11 @@ static int config(struct vf_instance_s* vf,
#endif
vf->priv->pic->quality = (int)(FF_QP2LAMBDA * lavc_param_vqscale + 0.5);
}
+
+#if LIBAVCODEC_BUILD >= 4716
+ if(lavc_param_threads > 1)
+ avcodec_thread_init(lavc_venc_context, lavc_param_threads);
+#endif
if (avcodec_open(lavc_venc_context, vf->priv->codec) != 0) {
mp_msg(MSGT_MENCODER,MSGL_ERR,MSGTR_CantOpenCodec);