+vlc_module_begin();
+ set_shortname( _("Transcode"));
+ set_description( _("Transcode stream output") );
+ set_capability( "sout stream", 50 );
+ add_shortcut( "transcode" );
+ set_callbacks( Open, Close );
+ set_category( CAT_SOUT );
+ set_subcategory( SUBCAT_SOUT_STREAM );
+ set_section( N_("Video"), NULL );
+ add_string( SOUT_CFG_PREFIX "venc", NULL, NULL, VENC_TEXT,
+ VENC_LONGTEXT, VLC_FALSE );
+ add_string( SOUT_CFG_PREFIX "vcodec", NULL, NULL, VCODEC_TEXT,
+ VCODEC_LONGTEXT, VLC_FALSE );
+ add_integer( SOUT_CFG_PREFIX "vb", 800 * 1000, NULL, VB_TEXT,
+ VB_LONGTEXT, VLC_FALSE );
+ add_float( SOUT_CFG_PREFIX "scale", 1, NULL, SCALE_TEXT,
+ SCALE_LONGTEXT, VLC_FALSE );
+ add_float( SOUT_CFG_PREFIX "fps", 0, NULL, FPS_TEXT,
+ FPS_LONGTEXT, VLC_FALSE );
+ add_bool( SOUT_CFG_PREFIX "hurry-up", VLC_TRUE, NULL, HURRYUP_TEXT,
+ HURRYUP_LONGTEXT, VLC_FALSE );
+ add_bool( SOUT_CFG_PREFIX "deinterlace", 0, NULL, DEINTERLACE_TEXT,
+ DEINTERLACE_LONGTEXT, VLC_FALSE );
+ add_string( SOUT_CFG_PREFIX "deinterlace-module", "deinterlace", NULL,
+ DEINTERLACE_MODULE_TEXT, DEINTERLACE_MODULE_LONGTEXT,
+ VLC_FALSE );
+ add_integer( SOUT_CFG_PREFIX "width", 0, NULL, WIDTH_TEXT,
+ WIDTH_LONGTEXT, VLC_TRUE );
+ add_integer( SOUT_CFG_PREFIX "height", 0, NULL, HEIGHT_TEXT,
+ HEIGHT_LONGTEXT, VLC_TRUE );
+
+ add_integer( SOUT_CFG_PREFIX "croptop", 0, NULL, CROPTOP_TEXT,
+ CROPTOP_LONGTEXT, VLC_TRUE );
+ add_integer( SOUT_CFG_PREFIX "cropleft", 0, NULL, CROPLEFT_TEXT,
+ CROPLEFT_LONGTEXT, VLC_TRUE );
+ add_integer( SOUT_CFG_PREFIX "cropbottom", 0, NULL, CROPBOTTOM_TEXT,
+ CROPBOTTOM_LONGTEXT, VLC_TRUE );
+ add_integer( SOUT_CFG_PREFIX "cropright", 0, NULL, CROPRIGHT_TEXT,
+ CROPRIGHT_LONGTEXT, VLC_TRUE );
+
+ set_section( N_("Audio"), NULL );
+ add_string( SOUT_CFG_PREFIX "aenc", NULL, NULL, AENC_TEXT,
+ AENC_LONGTEXT, VLC_FALSE );
+ add_string( SOUT_CFG_PREFIX "acodec", NULL, NULL, ACODEC_TEXT,
+ ACODEC_LONGTEXT, VLC_FALSE );
+ add_integer( SOUT_CFG_PREFIX "ab", 64000, NULL, AB_TEXT,
+ AB_LONGTEXT, VLC_FALSE );
+ add_integer( SOUT_CFG_PREFIX "channels", 0, NULL, ACHANS_TEXT,
+ ACHANS_LONGTEXT, VLC_FALSE );
+ add_integer( SOUT_CFG_PREFIX "samplerate", 0, NULL, ARATE_TEXT,
+ ARATE_LONGTEXT, VLC_TRUE );
+ add_bool( SOUT_CFG_PREFIX "audio-sync", 0, NULL, ASYNC_TEXT,
+ ASYNC_LONGTEXT, VLC_FALSE );
+
+ set_section( N_("Overlays/Subtitles"), NULL );
+ add_string( SOUT_CFG_PREFIX "senc", NULL, NULL, SENC_TEXT,
+ SENC_LONGTEXT, VLC_FALSE );
+ add_string( SOUT_CFG_PREFIX "scodec", NULL, NULL, SCODEC_TEXT,
+ SCODEC_LONGTEXT, VLC_FALSE );
+ add_bool( SOUT_CFG_PREFIX "soverlay", 0, NULL, SCODEC_TEXT,
+ SCODEC_LONGTEXT, VLC_FALSE );
+ add_module_list_cat( SOUT_CFG_PREFIX "sfilter", SUBCAT_VIDEO_SUBPIC,
+ NULL, NULL,
+ SFILTER_TEXT, SFILTER_LONGTEXT, VLC_FALSE );
+
+ set_section( N_("Miscellaneous"), NULL );
+ add_integer( SOUT_CFG_PREFIX "threads", 0, NULL, THREADS_TEXT,
+ THREADS_LONGTEXT, VLC_TRUE );
+
+vlc_module_end();
+
+static const char *ppsz_sout_options[] = {
+ "venc", "vcodec", "vb", "croptop", "cropbottom", "cropleft", "cropright",
+ "scale", "fps", "width", "height", "deinterlace", "deinterlace-module",
+ "threads", "hurry-up", "aenc", "acodec", "ab", "samplerate", "channels",
+ "senc", "scodec", "soverlay", "sfilter",
+ "audio-sync", NULL
+};