diff libmpcodecs/ve_lavc.c @ 12760:787a1ce375df

multi-threaded lavc patch by (Loren Merritt <lorenm at u dot washington dot edu>)
author michael
date Tue, 06 Jul 2004 02:10:22 +0000
parents 51212c1c6143
children 8109997eb7d3
line wrap: on
line diff
--- a/libmpcodecs/ve_lavc.c	Mon Jul 05 16:46:54 2004 +0000
+++ b/libmpcodecs/ve_lavc.c	Tue Jul 06 02:10:22 2004 +0000
@@ -150,6 +150,7 @@
 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 @@
 	{"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 @@
 #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);