-static int i_standards_list[] =
- { V4L2_STD_UNKNOWN, V4L2_STD_SECAM, V4L2_STD_PAL, V4L2_STD_NTSC };
-static const char *psz_standards_list_text[] =
- { N_("Default"), N_("SECAM"), N_("PAL"), N_("NTSC") };
-
-static int i_iomethod_list[] =
- { IO_METHOD_READ, IO_METHOD_MMAP, IO_METHOD_USERPTR };
-static const char *psz_iomethod_list_text[] =
- { N_("READ"), N_("MMAP"), N_("USERPTR") };
-
-vlc_module_begin();
- set_shortname( _("Video4Linux2") );
- set_description( _("Video4Linux2 input") );
- set_category( CAT_INPUT );
- set_subcategory( SUBCAT_INPUT_ACCESS );
-
- add_string( "v4l2-dev", "/dev/video0", 0, DEV_TEXT, DEV_LONGTEXT,
- VLC_FALSE );
- add_string( "v4l2-adev", "/dev/dsp", 0, ADEV_TEXT, ADEV_LONGTEXT,
- VLC_FALSE );
- add_integer( "v4l2-standard", 0, NULL, STANDARD_TEXT, STANDARD_LONGTEXT,
- VLC_FALSE );
- change_integer_list( i_standards_list, psz_standards_list_text, 0 );
- add_string( "v4l2-chroma", NULL, NULL, CHROMA_TEXT, CHROMA_LONGTEXT,
- VLC_TRUE );
- add_integer( "v4l2-input", 0, NULL, INPUT_TEXT, INPUT_LONGTEXT,
- VLC_TRUE );
- add_integer( "v4l2-io", IO_METHOD_MMAP, NULL, IOMETHOD_TEXT,
- IOMETHOD_LONGTEXT, VLC_TRUE );
- change_integer_list( i_iomethod_list, psz_iomethod_list_text, 0 );
- add_integer( "v4l2-width", 0, NULL, WIDTH_TEXT,
- WIDTH_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-height", 0, NULL, HEIGHT_TEXT,
- HEIGHT_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-brightness", -1, NULL, BRIGHTNESS_TEXT,
- BRIGHTNESS_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-contrast", -1, NULL, CONTRAST_TEXT,
- CONTRAST_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-saturation", -1, NULL, SATURATION_TEXT,
- SATURATION_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-hue", -1, NULL, HUE_TEXT,
- HUE_LONGTEXT, VLC_TRUE );
- add_float( "v4l2-fps", 0, NULL, FPS_TEXT, FPS_LONGTEXT, VLC_TRUE );
- add_bool( "v4l2-stereo", VLC_TRUE, NULL, STEREO_TEXT, STEREO_LONGTEXT,
- VLC_TRUE );
- add_integer( "v4l2-samplerate", 48000, NULL, SAMPLERATE_TEXT,
- SAMPLERATE_LONGTEXT, VLC_TRUE );
- add_integer( "v4l2-caching", DEFAULT_PTS_DELAY / 1000, NULL,
- CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
-
- add_shortcut( "v4l2" );
- set_capability( "access_demux", 10 );
- set_callbacks( Open, Close );
-vlc_module_end();
+static const int i_standards_list[] =
+ { V4L2_STD_UNKNOWN, V4L2_STD_SECAM, V4L2_STD_PAL, V4L2_STD_NTSC,
+ V4L2_STD_PAL_B, V4L2_STD_PAL_B1, V4L2_STD_PAL_G, V4L2_STD_PAL_H,
+ V4L2_STD_PAL_I, V4L2_STD_PAL_D, V4L2_STD_PAL_D1, V4L2_STD_PAL_K,
+ V4L2_STD_PAL_M, V4L2_STD_PAL_N, V4L2_STD_PAL_Nc, V4L2_STD_PAL_60,
+ V4L2_STD_NTSC_M, V4L2_STD_NTSC_M_JP, V4L2_STD_NTSC_443,
+ V4L2_STD_NTSC_M_KR,
+ V4L2_STD_SECAM_B, V4L2_STD_SECAM_D, V4L2_STD_SECAM_G,
+ V4L2_STD_SECAM_H, V4L2_STD_SECAM_K, V4L2_STD_SECAM_K1,
+ V4L2_STD_SECAM_L, V4L2_STD_SECAM_LC,
+ V4L2_STD_ATSC_8_VSB, V4L2_STD_ATSC_16_VSB,
+ };
+static const char *const psz_standards_list_text[] =
+ { N_("Default"), "SECAM", "PAL", "NTSC",
+ "PAL_B", "PAL_B1", "PAL_G", "PAL_H", "PAL_I", "PAL_D",
+ "PAL_D1", "PAL_K", "PAL_M", "PAL_N", "PAL_Nc", "PAL_60",
+ "NTSC_M", "NTSC_M_JP", "NTSC_443", "NTSC_M_KR",
+ "SECAM_B", "SECAM_D", "SECAM_G", "SECAM_H", "SECAM_K",
+ "SECAM_K1", "SECAM_L", "SECAM_LC",
+ "ATSC_8_VSB", "ATSC_16_VSB"
+ };
+
+static const int i_iomethod_list[] =
+ { IO_METHOD_AUTO, IO_METHOD_READ, IO_METHOD_MMAP, IO_METHOD_USERPTR };
+static const char *const psz_iomethod_list_text[] =
+ { N_("AUTO"), N_("READ"), N_("MMAP"), N_("USERPTR") };
+
+static const int i_tuner_audio_modes_list[] =
+ { V4L2_TUNER_MODE_MONO, V4L2_TUNER_MODE_STEREO,
+ V4L2_TUNER_MODE_LANG1, V4L2_TUNER_MODE_LANG2,
+ V4L2_TUNER_MODE_SAP, V4L2_TUNER_MODE_LANG1_LANG2 };
+static const char *const psz_tuner_audio_modes_list_text[] =
+ { N_( "Mono" ),
+ N_( "Stereo" ),
+ N_( "Primary language (Analog TV tuners only)" ),
+ N_( "Secondary language (Analog TV tuners only)" ),
+ N_( "Second audio program (Analog TV tuners only)" ),
+ N_( "Primary language left, Secondary language right" ) };
+
+#define V4L2_DEFAULT "/dev/video0"
+#define CFG_PREFIX "v4l2-"
+
+#ifdef HAVE_MAEMO
+# define DEFAULT_WIDTH 640
+# define DEFAULT_HEIGHT 492
+#endif
+
+#ifndef DEFAULT_WIDTH
+# define DEFAULT_WIDTH (-1)
+# define DEFAULT_HEIGHT (-1)
+#endif
+
+vlc_module_begin ()
+ set_shortname( N_("Video4Linux2") )
+ set_description( N_("Video4Linux2 input") )
+ set_category( CAT_INPUT )
+ set_subcategory( SUBCAT_INPUT_ACCESS )
+
+ set_section( N_( "Video input" ), NULL )
+ add_integer( CFG_PREFIX "standard", 0, NULL, STANDARD_TEXT,
+ STANDARD_LONGTEXT, false )
+ change_integer_list( i_standards_list, psz_standards_list_text, NULL )
+ add_string( CFG_PREFIX "chroma", NULL, NULL, CHROMA_TEXT, CHROMA_LONGTEXT,
+ true )
+ add_integer( CFG_PREFIX "input", 0, NULL, INPUT_TEXT, INPUT_LONGTEXT,
+ true )
+ add_integer( CFG_PREFIX "audio-input", 0, NULL, AUDIO_INPUT_TEXT,
+ AUDIO_INPUT_LONGTEXT, true )
+ add_integer( CFG_PREFIX "io", IO_METHOD_AUTO, NULL, IOMETHOD_TEXT,
+ IOMETHOD_LONGTEXT, true )
+ change_integer_list( i_iomethod_list, psz_iomethod_list_text, NULL )
+ add_integer( CFG_PREFIX "width", DEFAULT_WIDTH, NULL, WIDTH_TEXT,
+ WIDTH_LONGTEXT, true )
+ add_integer( CFG_PREFIX "height", DEFAULT_HEIGHT, NULL, HEIGHT_TEXT,
+ HEIGHT_LONGTEXT, true )
+ add_string( CFG_PREFIX "aspect-ratio", "4:3", NULL, ASPECT_TEXT,
+ ASPECT_LONGTEXT, true )
+ add_float( CFG_PREFIX "fps", 0, NULL, FPS_TEXT, FPS_LONGTEXT, true )
+ add_integer( CFG_PREFIX "caching", 50 /* ms */, NULL,
+ CACHING_TEXT, CACHING_LONGTEXT, true )
+#ifdef HAVE_LIBV4L2
+ add_bool( CFG_PREFIX "use-libv4l2", false, NULL, LIBV4L2_TEXT, LIBV4L2_LONGTEXT, true );
+#endif
+
+ set_section( N_( "Tuner" ), NULL )
+ add_integer( CFG_PREFIX "tuner", 0, NULL, TUNER_TEXT, TUNER_LONGTEXT,
+ true )
+ add_integer( CFG_PREFIX "tuner-frequency", -1, NULL, FREQUENCY_TEXT,
+ FREQUENCY_LONGTEXT, true )
+ add_integer( CFG_PREFIX "tuner-audio-mode", -1, NULL, TUNER_AUDIO_MODE_TEXT,
+ TUNER_AUDIO_MODE_LONGTEXT, true )
+ change_integer_list( i_tuner_audio_modes_list,
+ psz_tuner_audio_modes_list_text, 0 )
+
+ set_section( N_( "Controls" ),
+ N_( "v4l2 driver controls, if supported by your v4l2 driver." ) )
+ add_bool( CFG_PREFIX "controls-reset", false, NULL, CTRL_RESET_TEXT,
+ CTRL_RESET_LONGTEXT, true )
+ add_integer( CFG_PREFIX "brightness", -1, NULL, BRIGHTNESS_TEXT,
+ BRIGHTNESS_LONGTEXT, true )
+ add_integer( CFG_PREFIX "contrast", -1, NULL, CONTRAST_TEXT,
+ CONTRAST_LONGTEXT, true )
+ add_integer( CFG_PREFIX "saturation", -1, NULL, SATURATION_TEXT,
+ SATURATION_LONGTEXT, true )
+ add_integer( CFG_PREFIX "hue", -1, NULL, HUE_TEXT,
+ HUE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "black-level", -1, NULL, BLACKLEVEL_TEXT,
+ BLACKLEVEL_LONGTEXT, true )
+ add_integer( CFG_PREFIX "auto-white-balance", -1, NULL,
+ AUTOWHITEBALANCE_TEXT, AUTOWHITEBALANCE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "do-white-balance", -1, NULL, DOWHITEBALANCE_TEXT,
+ DOWHITEBALANCE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "red-balance", -1, NULL, REDBALANCE_TEXT,
+ REDBALANCE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "blue-balance", -1, NULL, BLUEBALANCE_TEXT,
+ BLUEBALANCE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "gamma", -1, NULL, GAMMA_TEXT,
+ GAMMA_LONGTEXT, true )
+ add_integer( CFG_PREFIX "exposure", -1, NULL, EXPOSURE_TEXT,
+ EXPOSURE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "autogain", -1, NULL, AUTOGAIN_TEXT,
+ AUTOGAIN_LONGTEXT, true )
+ add_integer( CFG_PREFIX "gain", -1, NULL, GAIN_TEXT,
+ GAIN_LONGTEXT, true )
+ add_integer( CFG_PREFIX "hflip", -1, NULL, HFLIP_TEXT,
+ HFLIP_LONGTEXT, true )
+ add_integer( CFG_PREFIX "vflip", -1, NULL, VFLIP_TEXT,
+ VFLIP_LONGTEXT, true )
+ add_integer( CFG_PREFIX "hcenter", -1, NULL, HCENTER_TEXT,
+ HCENTER_LONGTEXT, true )
+ add_integer( CFG_PREFIX "vcenter", -1, NULL, VCENTER_TEXT,
+ VCENTER_LONGTEXT, true )
+ add_integer( CFG_PREFIX "audio-volume", -1, NULL, AUDIO_VOLUME_TEXT,
+ AUDIO_VOLUME_LONGTEXT, true )
+ add_integer( CFG_PREFIX "audio-balance", -1, NULL, AUDIO_BALANCE_TEXT,
+ AUDIO_BALANCE_LONGTEXT, true )
+ add_bool( CFG_PREFIX "audio-mute", false, NULL, AUDIO_MUTE_TEXT,
+ AUDIO_MUTE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "audio-bass", -1, NULL, AUDIO_BASS_TEXT,
+ AUDIO_BASS_LONGTEXT, true )
+ add_integer( CFG_PREFIX "audio-treble", -1, NULL, AUDIO_TREBLE_TEXT,
+ AUDIO_TREBLE_LONGTEXT, true )
+ add_integer( CFG_PREFIX "audio-loudness", -1, NULL, AUDIO_LOUDNESS_TEXT,
+ AUDIO_LOUDNESS_LONGTEXT, true )
+ add_string( CFG_PREFIX "set-ctrls", NULL, NULL, S_CTRLS_TEXT,
+ S_CTRLS_LONGTEXT, true )
+
+ add_obsolete_string( CFG_PREFIX "dev" )
+
+ add_obsolete_string( CFG_PREFIX "adev" )
+ add_obsolete_integer( CFG_PREFIX "audio-method" )
+ add_obsolete_bool( CFG_PREFIX "stereo" )
+ add_obsolete_integer( CFG_PREFIX "samplerate" )
+
+ add_shortcut( "v4l2" )
+ set_capability( "access_demux", 10 )
+ set_callbacks( DemuxOpen, DemuxClose )
+
+ add_submodule ()
+ add_shortcut( "v4l2", "v4l2c" )
+ set_description( N_("Video4Linux2 Compressed A/V") )
+ set_capability( "access", 0 )
+ /* use these when open as access_demux fails; VLC will use another demux */
+ set_callbacks( AccessOpen, AccessClose )
+
+vlc_module_end ()