#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_codec.h>
+#include <vlc_avcodec.h>
/* ffmpeg header */
#define HAVE_MMX 1
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 )
vlc_module_end ()
-vlc_mutex_t avcodec_lock = VLC_STATIC_MUTEX;
-
/*****************************************************************************
* OpenDecoder: probe the decoder and return score
*****************************************************************************/
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 );
{
static bool b_ffmpeginit = false;
- vlc_mutex_lock( &avcodec_lock );
+ vlc_avcodec_lock();
/* *** init ffmpeg library (libavcodec) *** */
if( !b_ffmpeginit )
msg_Dbg( p_object, "libavcodec already initialized" );
}
- vlc_mutex_unlock( &avcodec_lock );
+ vlc_avcodec_unlock();
}