]> git.sesse.net Git - vlc/blobdiff - modules/codec/avcodec/avcodec.c
codec_fake: use var_CreateGet* when applicable.
[vlc] / modules / codec / avcodec / avcodec.c
index 76cb524ce686644c6a492bbb62545375a583a5c5..13524dd9e5df6f45182335735876dcbfb0cddabf 100644 (file)
@@ -32,6 +32,7 @@
 #include <vlc_common.h>
 #include <vlc_plugin.h>
 #include <vlc_codec.h>
+#include <vlc_avcodec.h>
 
 /* ffmpeg header */
 #define HAVE_MMX 1
@@ -120,16 +121,22 @@ vlc_module_begin ()
     add_integer ( "ffmpeg-lowres", 0, NULL, LOWRES_TEXT, LOWRES_LONGTEXT,
         true )
         change_integer_range( 0, 2 )
+    add_bool( "ffmpeg-fast", 0, NULL, FAST_TEXT, FAST_LONGTEXT, true )
     add_integer ( "ffmpeg-skiploopfilter", 0, NULL, SKIPLOOPF_TEXT,
                   SKIPLOOPF_LONGTEXT, true )
+        change_safe ()
         change_integer_list( nloopf_list, nloopf_list_text, NULL )
 
     add_integer( "ffmpeg-debug", 0, NULL, DEBUG_TEXT, DEBUG_LONGTEXT,
                  true )
+#ifdef HAVE_AVCODEC_VAAPI
+    add_bool( "ffmpeg-hw", true, NULL, HW_TEXT, HW_LONGTEXT, true )
+#endif
 
 #ifdef ENABLE_SOUT
     /* encoder submodule */
     add_submodule ()
+    add_shortcut( "ffmpeg" )
     set_section( N_("Encoding") , NULL )
     set_description( N_("FFmpeg audio/video encoder") )
     set_capability( "encoder", 100 )
@@ -201,8 +208,6 @@ vlc_module_begin ()
 
 vlc_module_end ()
 
-vlc_mutex_t avcodec_lock = VLC_STATIC_MUTEX;
-
 /*****************************************************************************
  * OpenDecoder: probe the decoder and return score
  *****************************************************************************/
@@ -311,9 +316,9 @@ static void CloseDecoder( vlc_object_t *p_this )
 
         if( !p_sys->b_delayed_open )
         {
-            vlc_mutex_lock( &avcodec_lock );
+            vlc_avcodec_lock();
             avcodec_close( p_sys->p_context );
-            vlc_mutex_unlock( &avcodec_lock );
+            vlc_avcodec_unlock();
         }
         msg_Dbg( p_dec, "ffmpeg codec (%s) stopped", p_sys->psz_namecodec );
         av_free( p_sys->p_context );
@@ -326,7 +331,7 @@ void InitLibavcodec( vlc_object_t *p_object )
 {
     static bool b_ffmpeginit = false;
 
-    vlc_mutex_lock( &avcodec_lock );
+    vlc_avcodec_lock();
 
     /* *** init ffmpeg library (libavcodec) *** */
     if( !b_ffmpeginit )
@@ -344,5 +349,5 @@ void InitLibavcodec( vlc_object_t *p_object )
         msg_Dbg( p_object, "libavcodec already initialized" );
     }
 
-    vlc_mutex_unlock( &avcodec_lock );
+    vlc_avcodec_unlock();
 }