
Data Structures | |
| struct | buffer_t |
| struct | demux_sys_t |
Defines | |
| #define | STANDARD_TEXT N_( "Standard" ) |
| #define | STANDARD_LONGTEXT |
| #define | CHROMA_TEXT N_("Video input chroma format") |
| #define | CHROMA_LONGTEXT |
| #define | INPUT_TEXT N_( "Input" ) |
| #define | INPUT_LONGTEXT |
| #define | AUDIO_INPUT_TEXT N_( "Audio input" ) |
| #define | AUDIO_INPUT_LONGTEXT |
| #define | IOMETHOD_TEXT N_( "IO Method" ) |
| #define | IOMETHOD_LONGTEXT |
| #define | WIDTH_TEXT N_( "Width" ) |
| #define | WIDTH_LONGTEXT |
| #define | HEIGHT_TEXT N_( "Height" ) |
| #define | HEIGHT_LONGTEXT |
| #define | FPS_TEXT N_( "Framerate" ) |
| #define | FPS_LONGTEXT |
| #define | CTRL_RESET_TEXT N_( "Reset v4l2 controls" ) |
| #define | CTRL_RESET_LONGTEXT |
| #define | BRIGHTNESS_TEXT N_( "Brightness" ) |
| #define | BRIGHTNESS_LONGTEXT |
| #define | CONTRAST_TEXT N_( "Contrast" ) |
| #define | CONTRAST_LONGTEXT |
| #define | SATURATION_TEXT N_( "Saturation" ) |
| #define | SATURATION_LONGTEXT |
| #define | HUE_TEXT N_( "Hue" ) |
| #define | HUE_LONGTEXT |
| #define | BLACKLEVEL_TEXT N_( "Black level" ) |
| #define | BLACKLEVEL_LONGTEXT |
| #define | AUTOWHITEBALANCE_TEXT N_( "Auto white balance" ) |
| #define | AUTOWHITEBALANCE_LONGTEXT |
| #define | DOWHITEBALANCE_TEXT N_( "Do white balance" ) |
| #define | DOWHITEBALANCE_LONGTEXT |
| #define | REDBALANCE_TEXT N_( "Red balance" ) |
| #define | REDBALANCE_LONGTEXT |
| #define | BLUEBALANCE_TEXT N_( "Blue balance" ) |
| #define | BLUEBALANCE_LONGTEXT |
| #define | GAMMA_TEXT N_( "Gamma" ) |
| #define | GAMMA_LONGTEXT |
| #define | EXPOSURE_TEXT N_( "Exposure" ) |
| #define | EXPOSURE_LONGTEXT |
| #define | AUTOGAIN_TEXT N_( "Auto gain" ) |
| #define | AUTOGAIN_LONGTEXT |
| #define | GAIN_TEXT N_( "Gain" ) |
| #define | GAIN_LONGTEXT |
| #define | HFLIP_TEXT N_( "Horizontal flip" ) |
| #define | HFLIP_LONGTEXT |
| #define | VFLIP_TEXT N_( "Vertical flip" ) |
| #define | VFLIP_LONGTEXT |
| #define | HCENTER_TEXT N_( "Horizontal centering" ) |
| #define | HCENTER_LONGTEXT |
| #define | VCENTER_TEXT N_( "Vertical centering" ) |
| #define | VCENTER_LONGTEXT |
| #define | AUDIO_VOLUME_TEXT N_( "Volume" ) |
| #define | AUDIO_VOLUME_LONGTEXT |
| #define | AUDIO_BALANCE_TEXT N_( "Balance" ) |
| #define | AUDIO_BALANCE_LONGTEXT |
| #define | AUDIO_MUTE_TEXT N_( "Mute" ) |
| #define | AUDIO_MUTE_LONGTEXT |
| #define | AUDIO_BASS_TEXT N_( "Bass" ) |
| #define | AUDIO_BASS_LONGTEXT |
| #define | AUDIO_TREBLE_TEXT N_( "Treble" ) |
| #define | AUDIO_TREBLE_LONGTEXT |
| #define | AUDIO_LOUDNESS_TEXT N_( "Loudness" ) |
| #define | AUDIO_LOUDNESS_LONGTEXT |
| #define | CACHING_TEXT N_("Caching value in ms") |
| #define | CACHING_LONGTEXT |
| #define | S_CTRLS_TEXT N_("v4l2 driver controls") |
| #define | S_CTRLS_LONGTEXT |
| #define | TUNER_TEXT N_("Tuner id") |
| #define | TUNER_LONGTEXT |
| #define | FREQUENCY_TEXT N_("Frequency") |
| #define | FREQUENCY_LONGTEXT |
| #define | TUNER_AUDIO_MODE_TEXT N_("Audio mode") |
| #define | TUNER_AUDIO_MODE_LONGTEXT |
| #define | AUDIO_DEPRECATED_ERROR |
| #define | ASPECT_TEXT N_("Picture aspect-ratio n:m") |
| #define | ASPECT_LONGTEXT N_("Define input picture aspect-ratio to use. Default is 4:3" ) |
| #define | V4L2_DEFAULT "/dev/video0" |
| #define | CFG_PREFIX "v4l2-" |
| #define | DEFAULT_WIDTH (-1) |
| #define | DEFAULT_HEIGHT (-1) |
| #define | v4l2_open vlc_open |
| #define | v4l2_close close |
| #define | v4l2_dup dup |
| #define | v4l2_ioctl ioctl |
| #define | v4l2_read read |
| #define | v4l2_mmap mmap |
| #define | v4l2_munmap munmap |
Enumerations | |
| enum | io_method { IO_METHOD_AUTO, IO_METHOD_READ, IO_METHOD_MMAP, IO_METHOD_USERPTR } |
Functions | |
| static int | DemuxOpen (vlc_object_t *) |
| static void | DemuxClose (vlc_object_t *) |
| static int | AccessOpen (vlc_object_t *) |
| ************************************************************************** | |
| static void | AccessClose (vlc_object_t *) |
| ************************************************************************** | |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static void | CommonClose (vlc_object_t *, demux_sys_t *) |
| static void | ParseMRL (demux_sys_t *, char *, vlc_object_t *) |
| static void | GetV4L2Params (demux_sys_t *, vlc_object_t *) |
| static void | SetAvailControlsByString (vlc_object_t *, demux_sys_t *, int) |
| static int | DemuxControl (demux_t *, int, va_list) |
| static int | AccessControl (access_t *, int, va_list) |
| static int | Demux (demux_t *) |
| static block_t * | AccessRead (access_t *) |
| static ssize_t | AccessReadStream (access_t *p_access, uint8_t *p_buffer, size_t i_len) |
| static block_t * | GrabVideo (vlc_object_t *p_demux, demux_sys_t *p_sys) |
| static block_t * | ProcessVideoFrame (vlc_object_t *p_demux, uint8_t *p_frame, size_t) |
| static bool | IsPixelFormatSupported (demux_t *p_demux, unsigned int i_pixelformat) |
| static int | OpenVideoDev (vlc_object_t *, demux_sys_t *, bool) |
| static bool | ProbeVideoDev (vlc_object_t *, demux_sys_t *, const char *psz_device) |
| static int | ControlList (vlc_object_t *, demux_sys_t *, int, bool, bool) |
| static int | Control (vlc_object_t *, demux_sys_t *, int i_fd, const char *psz_name, int i_cid, int i_value) |
| static int | DemuxControlCallback (vlc_object_t *p_this, const char *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static int | DemuxControlResetCallback (vlc_object_t *p_this, const char *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static int | AccessControlCallback (vlc_object_t *p_this, const char *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static int | AccessControlResetCallback (vlc_object_t *p_this, const char *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static int | FindMainDevice (vlc_object_t *p_this, demux_sys_t *p_sys, bool b_demux) |
| static int | InitRead (vlc_object_t *p_demux, demux_sys_t *p_sys, unsigned int i_buffer_size) |
| static int | InitMmap (vlc_object_t *p_demux, demux_sys_t *p_sys, int i_fd) |
| static int | InitUserP (vlc_object_t *p_demux, demux_sys_t *p_sys, int i_fd, unsigned int i_buffer_size) |
| static float | GetMaxFrameRate (demux_t *p_demux, int i_fd, uint32_t i_pixel_format, uint32_t i_width, uint32_t i_height) |
| static float | GetAbsoluteMaxFrameRate (demux_t *p_demux, int i_fd, uint32_t i_pixel_format) |
| static void | GetMaxDimensions (demux_t *p_demux, int i_fd, uint32_t i_pixel_format, float f_fps_min, uint32_t *pi_width, uint32_t *pi_height) |
| static void | name2var (unsigned char *name) |
| static void | ControlListPrint (vlc_object_t *p_obj, demux_sys_t *p_sys, int i_fd, struct v4l2_queryctrl queryctrl, bool b_reset, bool b_demux) |
| static int | ControlReset (vlc_object_t *p_obj, demux_sys_t *p_sys, int i_fd) |
Variables | |
| static const int | i_standards_list [] |
| static const char *const | psz_standards_list_text [] |
| static const int | i_iomethod_list [] |
| static const char *const | psz_iomethod_list_text [] |
| static const int | i_tuner_audio_modes_list [] |
| static const char *const | psz_tuner_audio_modes_list_text [] |
| struct { | |
| unsigned int i_v4l2 | |
| vlc_fourcc_t i_fourcc | |
| int i_rmask | |
| int i_gmask | |
| int i_bmask | |
| } | v4l2chroma_to_fourcc [] |
| static const uint32_t | p_chroma_fallbacks [] |
| List of V4L2 chromas were confident enough to use as fallbacks if the user hasn't provided a --v4l2-chroma value. | |
| struct { | |
| const char * psz_name | |
| unsigned int i_cid | |
| } | controls [] |
| #define ASPECT_LONGTEXT N_("Define input picture aspect-ratio to use. Default is 4:3" ) |
| #define ASPECT_TEXT N_("Picture aspect-ratio n:m") |
| #define AUDIO_BALANCE_LONGTEXT |
Value:
N_( \ "Balance of the audio input (if supported by the v4l2 driver)." )
| #define AUDIO_BALANCE_TEXT N_( "Balance" ) |
| #define AUDIO_BASS_LONGTEXT |
Value:
N_( \ "Bass level of the audio input (if supported by the v4l2 driver)." )
| #define AUDIO_BASS_TEXT N_( "Bass" ) |
| #define AUDIO_DEPRECATED_ERROR |
Value:
N_( \ "Alsa or OSS audio capture in the v4l2 access is deprecated. " \ "please use 'v4l2:/""/ :input-slave=alsa:/""/' or " \ "'v4l2:/""/ :input-slave=oss:/""/' instead." )
| #define AUDIO_INPUT_LONGTEXT |
Value:
N_( \ "Audio input of the card to use (see debug)." )
| #define AUDIO_INPUT_TEXT N_( "Audio input" ) |
| #define AUDIO_LOUDNESS_LONGTEXT |
Value:
N_( \ "Loudness of the audio input (if supported by the v4l2 driver)." )
| #define AUDIO_LOUDNESS_TEXT N_( "Loudness" ) |
| #define AUDIO_MUTE_LONGTEXT |
Value:
N_( \ "Mute audio input (if supported by the v4l2 driver)." )
| #define AUDIO_MUTE_TEXT N_( "Mute" ) |
| #define AUDIO_TREBLE_LONGTEXT |
Value:
N_( \ "Treble level of the audio input (if supported by the v4l2 driver)." )
| #define AUDIO_TREBLE_TEXT N_( "Treble" ) |
| #define AUDIO_VOLUME_LONGTEXT |
Value:
N_( \ "Volume of the audio input (if supported by the v4l2 driver)." )
| #define AUDIO_VOLUME_TEXT N_( "Volume" ) |
| #define AUTOGAIN_LONGTEXT |
Value:
N_( \ "Automatically set the video input's gain (if supported by the " \ "v4l2 driver)." )
| #define AUTOGAIN_TEXT N_( "Auto gain" ) |
| #define AUTOWHITEBALANCE_LONGTEXT |
Value:
N_( \ "Automatically set the white balance of the video input " \ "(if supported by the v4l2 driver)." )
| #define AUTOWHITEBALANCE_TEXT N_( "Auto white balance" ) |
| #define BLACKLEVEL_LONGTEXT |
Value:
N_( \ "Black level of the video input (if supported by the v4l2 driver)." )
| #define BLACKLEVEL_TEXT N_( "Black level" ) |
| #define BLUEBALANCE_LONGTEXT |
Value:
N_( \ "Blue balance of the video input (if supported by the v4l2 driver)." )
| #define BLUEBALANCE_TEXT N_( "Blue balance" ) |
| #define BRIGHTNESS_LONGTEXT |
Value:
N_( \ "Brightness of the video input (if supported by the v4l2 driver)." )
| #define BRIGHTNESS_TEXT N_( "Brightness" ) |
| #define CACHING_LONGTEXT |
Value:
N_( \ "Caching value for V4L2 captures. This " \ "value should be set in milliseconds." )
| #define CACHING_TEXT N_("Caching value in ms") |
| #define CFG_PREFIX "v4l2-" |
| #define CHROMA_LONGTEXT |
Value:
N_( \ "Force the Video4Linux2 video device to use a specific chroma format " \ "(eg. I420 or I422 for raw images, MJPG for M-JPEG compressed input) " \ "(Complete list: GREY, I240, RV16, RV15, RV24, RV32, YUY2, YUYV, UYVY, " \ "I41N, I422, I420, I411, I410, MJPG)")
| #define CHROMA_TEXT N_("Video input chroma format") |
| #define CONTRAST_LONGTEXT |
Value:
N_( \ "Contrast of the video input (if supported by the v4l2 driver)." )
| #define CONTRAST_TEXT N_( "Contrast" ) |
| #define CTRL_RESET_LONGTEXT |
Value:
N_( \ "Reset controls to defaults provided by the v4l2 driver." )
| #define CTRL_RESET_TEXT N_( "Reset v4l2 controls" ) |
| #define DEFAULT_HEIGHT (-1) |
| #define DEFAULT_WIDTH (-1) |
| #define DOWHITEBALANCE_LONGTEXT |
Value:
N_( \ "Trigger a white balancing action, useless if auto white balance is " \ "activated (if supported by the v4l2 driver)." )
| #define DOWHITEBALANCE_TEXT N_( "Do white balance" ) |
| #define EXPOSURE_LONGTEXT |
Value:
N_( \ "Exposure of the video input (if supported by the v4L2 driver)." )
| #define EXPOSURE_TEXT N_( "Exposure" ) |
| #define FPS_LONGTEXT |
Value:
N_( "Framerate to capture, if applicable " \ "(0 for autodetect)." )
| #define FPS_TEXT N_( "Framerate" ) |
| #define FREQUENCY_LONGTEXT |
Value:
N_( \ "Tuner frequency in Hz or kHz (see debug output)" )
| #define FREQUENCY_TEXT N_("Frequency") |
| #define GAIN_LONGTEXT |
Value:
N_( \ "Video input's gain (if supported by the v4l2 driver)." )
| #define GAIN_TEXT N_( "Gain" ) |
| #define GAMMA_LONGTEXT |
Value:
N_( \ "Gamma of the video input (if supported by the v4l2 driver)." )
| #define GAMMA_TEXT N_( "Gamma" ) |
| #define HCENTER_LONGTEXT |
Value:
N_( \ "Set the camera's horizontal centering (if supported by the v4l2 driver)." )
| #define HCENTER_TEXT N_( "Horizontal centering" ) |
| #define HEIGHT_LONGTEXT |
Value:
N_( \ "Force height (-1 for autodetect, 0 for driver default)." )
| #define HEIGHT_TEXT N_( "Height" ) |
| #define HFLIP_LONGTEXT |
Value:
N_( \ "Flip the video horizontally (if supported by the v4l2 driver)." )
| #define HFLIP_TEXT N_( "Horizontal flip" ) |
| #define HUE_LONGTEXT |
Value:
N_( \ "Hue of the video input (if supported by the v4l2 driver)." )
| #define HUE_TEXT N_( "Hue" ) |
| #define INPUT_LONGTEXT |
Value:
N_( \ "Input of the card to use (see debug)." )
| #define INPUT_TEXT N_( "Input" ) |
| #define IOMETHOD_LONGTEXT |
Value:
N_( \ "IO Method (READ, MMAP, USERPTR)." )
| #define IOMETHOD_TEXT N_( "IO Method" ) |
| #define REDBALANCE_LONGTEXT |
Value:
N_( \ "Red balance of the video input (if supported by the v4l2 driver)." )
| #define REDBALANCE_TEXT N_( "Red balance" ) |
| #define S_CTRLS_LONGTEXT |
Value:
N_( \ "Set the v4l2 driver controls to the values specified using a comma " \ "separated list optionally encapsulated by curly braces " \ "(e.g.: {video_bitrate=6000000,audio_crc=0,stream_type=3} ). " \ "To list available controls, increase verbosity (-vvv) " \ "or use the v4l2-ctl application." )
| #define S_CTRLS_TEXT N_("v4l2 driver controls") |
| #define SATURATION_LONGTEXT |
Value:
N_( \ "Saturation of the video input (if supported by the v4l2 driver)." )
| #define SATURATION_TEXT N_( "Saturation" ) |
| #define STANDARD_LONGTEXT |
Value:
N_( \ "Video standard (Default, SECAM, PAL, or NTSC)." )
| #define STANDARD_TEXT N_( "Standard" ) |
| #define TUNER_AUDIO_MODE_LONGTEXT |
Value:
N_( \ "Tuner audio mono/stereo and track selection." )
| #define TUNER_AUDIO_MODE_TEXT N_("Audio mode") |
| #define TUNER_LONGTEXT |
Value:
N_( \ "Tuner id (see debug output)." )
| #define TUNER_TEXT N_("Tuner id") |
| #define v4l2_close close |
Referenced by CommonClose(), OpenVideoDev(), and ProbeVideoDev().
| #define V4L2_DEFAULT "/dev/video0" |
Referenced by ParseMRL().
| #define v4l2_dup dup |
| #define v4l2_ioctl ioctl |
| #define v4l2_mmap mmap |
Referenced by InitMmap().
| #define v4l2_munmap munmap |
Referenced by DemuxClose().
| #define v4l2_open vlc_open |
Referenced by OpenVideoDev(), and ProbeVideoDev().
| #define v4l2_read read |
Referenced by AccessReadStream(), and GrabVideo().
| #define VCENTER_LONGTEXT |
Value:
N_( \ "Set the camera's vertical centering (if supported by the v4l2 driver)." )
| #define VCENTER_TEXT N_( "Vertical centering" ) |
| #define VFLIP_LONGTEXT |
Value:
N_( \ "Flip the video vertically (if supported by the v4l2 driver)." )
| #define VFLIP_TEXT N_( "Vertical flip" ) |
| #define WIDTH_LONGTEXT |
Value:
N_( \ "Force width (-1 for autodetect, 0 for driver default)." )
| #define WIDTH_TEXT N_( "Width" ) |
| enum io_method |
| static void AccessClose | ( | vlc_object_t * | p_this | ) | [static] |
**************************************************************************
Close access: free structures
References CommonClose(), access_t::p_sys, and p_sys.
| static int AccessControl | ( | access_t * | p_access, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References ACCESS_CAN_CONTROL_PACE, ACCESS_CAN_FASTSEEK, ACCESS_CAN_PAUSE, ACCESS_CAN_SEEK, ACCESS_GET_CONTENT_TYPE, ACCESS_GET_META, ACCESS_GET_PTS_DELAY, ACCESS_GET_TITLE_INFO, ACCESS_SET_PAUSE_STATE, ACCESS_SET_PRIVATE_ID_STATE, ACCESS_SET_SEEKPOINT, ACCESS_SET_TITLE, demux_sys_t::i_cache, msg_Warn, access_t::p_sys, p_sys, VLC_EGENERIC, and VLC_SUCCESS.
| static int AccessControlCallback | ( | vlc_object_t * | p_this, | |
| const char * | psz_var, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References Control(), i_cid, demux_sys_t::i_fd, vlc_value_t::i_int, access_t::p_sys, p_sys, and VLC_EGENERIC.
Referenced by ControlListPrint().
| static int AccessControlResetCallback | ( | vlc_object_t * | p_this, | |
| const char * | psz_var, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References ControlReset(), demux_sys_t::i_fd, access_t::p_sys, p_sys, and VLC_EGENERIC.
Referenced by ControlList().
| static int AccessOpen | ( | vlc_object_t * | p_this | ) | [static] |
**************************************************************************
Open access
References access_InitFields(), ACCESS_SET_CALLBACKS, AccessClose(), AccessControl(), AccessRead(), AccessReadStream(), CFG_PREFIX, FindMainDevice(), GetV4L2Params(), demux_sys_t::io, IO_METHOD_READ, msg_Dbg, access_t::p_sys, p_sys, ParseMRL(), access_t::psz_access, var_InheritInteger, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
References access_sys_t::fd, GrabVideo(), demux_sys_t::i_fd, access_t::p_sys, p_sys, poll, POLLIN, POLLPRI, and VLC_OBJECT.
Referenced by AccessOpen().
| static ssize_t AccessReadStream | ( | access_t * | p_access, | |
| uint8_t * | p_buffer, | |||
| size_t | i_len | |||
| ) | [static] |
References access_t::b_eof, access_sys_t::fd, demux_sys_t::i_fd, access_t::i_pos, access_t::info, msg_Err, access_t::p_sys, p_sys, poll, POLLIN, v4l2_read, and vlc_object_alive.
Referenced by AccessOpen().
| static void CommonClose | ( | vlc_object_t * | p_this, | |
| demux_sys_t * | p_sys | |||
| ) | [static] |
| static int Control | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd, | |||
| const char * | psz_name, | |||
| int | i_cid, | |||
| int | i_value | |||
| ) | [static] |
References vlc_value_t::b_bool, v4l2_queryctrl::flags, vlc_value_t::i_int, v4l2_control::id, v4l2_queryctrl::id, v4l2_queryctrl::maximum, v4l2_queryctrl::minimum, msg_Dbg, msg_Err, V4L2_CTRL_FLAG_DISABLED, v4l2_ioctl, v4l2_control::value, var_Change, var_TriggerCallback, var_Type, VIDIOC_G_CTRL, VIDIOC_QUERYCTRL, VIDIOC_S_CTRL, VLC_EGENERIC, VLC_SUCCESS, VLC_VAR_BOOL, VLC_VAR_INTEGER, VLC_VAR_SETVALUE, and VLC_VAR_TYPE.
| static int ControlList | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd, | |||
| bool | b_reset, | |||
| bool | b_demux | |||
| ) | [static] |
References _, AccessControlResetCallback(), ControlListPrint(), DemuxControlResetCallback(), v4l2_queryctrl::flags, i_cid, vlc_value_t::i_int, v4l2_queryctrl::id, msg_Dbg, v4l2_queryctrl::name, name2var(), vlc_value_t::psz_string, v4l2_queryctrl::type, V4L2_CID_BASE, V4L2_CID_LASTP1, V4L2_CID_PRIVATE_BASE, V4L2_CTRL_FLAG_DISABLED, v4l2_ioctl, var_AddCallback, var_Change, var_Create, VIDIOC_QUERYCTRL, VLC_SUCCESS, VLC_VAR_ADDCHOICE, VLC_VAR_HASCHOICE, VLC_VAR_INTEGER, VLC_VAR_ISCOMMAND, VLC_VAR_SETTEXT, and VLC_VAR_VOID.
Referenced by OpenVideoDev().
| static void ControlListPrint | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd, | |||
| struct v4l2_queryctrl | queryctrl, | |||
| bool | b_reset, | |||
| bool | b_demux | |||
| ) | [static] |
References AccessControlCallback(), CFG_PREFIX, Control(), controls, v4l2_queryctrl::default_value, DemuxControlCallback(), v4l2_queryctrl::flags, i, i_cid, vlc_value_t::i_int, v4l2_control::id, v4l2_querymenu::id, v4l2_queryctrl::id, v4l2_querymenu::index, v4l2_queryctrl::maximum, v4l2_queryctrl::minimum, msg_Dbg, msg_Warn, v4l2_querymenu::name, v4l2_queryctrl::name, name2var(), psz_name, vlc_value_t::psz_string, v4l2_queryctrl::step, strdup(), v4l2_queryctrl::type, V4L2_CTRL_FLAG_GRABBED, V4L2_CTRL_TYPE_BOOLEAN, V4L2_CTRL_TYPE_BUTTON, V4L2_CTRL_TYPE_INTEGER, V4L2_CTRL_TYPE_MENU, v4l2_ioctl, v4l2_control::value, var_AddCallback, var_Change, var_Create, var_CreateGetInteger, var_Destroy, var_SetBool, var_SetInteger, var_Type, VIDIOC_G_CTRL, VIDIOC_QUERYMENU, VLC_VAR_ADDCHOICE, VLC_VAR_BOOL, VLC_VAR_HASCHOICE, VLC_VAR_HASMAX, VLC_VAR_HASMIN, VLC_VAR_HASSTEP, VLC_VAR_INTEGER, VLC_VAR_ISCOMMAND, VLC_VAR_SETMAX, VLC_VAR_SETMIN, VLC_VAR_SETSTEP, VLC_VAR_SETTEXT, VLC_VAR_TYPE, and VLC_VAR_VOID.
Referenced by ControlList().
| static int ControlReset | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd | |||
| ) | [static] |
References Control(), controls, v4l2_queryctrl::default_value, v4l2_queryctrl::flags, i, i_cid, v4l2_control::id, v4l2_queryctrl::id, v4l2_queryctrl::name, name2var(), psz_name, v4l2_queryctrl::type, V4L2_CID_BASE, V4L2_CID_LASTP1, V4L2_CID_PRIVATE_BASE, V4L2_CTRL_FLAG_DISABLED, v4l2_ioctl, v4l2_control::value, VIDIOC_G_CTRL, VIDIOC_QUERYCTRL, and VLC_SUCCESS.
Referenced by AccessControlResetCallback(), and DemuxControlResetCallback().
| static int Demux | ( | demux_t * | p_demux | ) | [static] |
| static void DemuxClose | ( | vlc_object_t * | p_this | ) | [static] |
References CommonClose(), i, demux_sys_t::i_fd, demux_sys_t::i_nbuffers, demux_sys_t::io, IO_METHOD_MMAP, IO_METHOD_READ, IO_METHOD_USERPTR, buffer_t::length, v4l2_buffer::memory, msg_Err, demux_sys_t::p_buffers, demux_t::p_sys, p_sys, buffer_t::start, v4l2_buffer::type, V4L2_BUF_TYPE_VIDEO_CAPTURE, v4l2_ioctl, V4L2_MEMORY_MMAP, V4L2_MEMORY_USERPTR, v4l2_munmap, VIDIOC_DQBUF, and VIDIOC_STREAMOFF.
| static int DemuxControl | ( | demux_t * | p_demux, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
| static int DemuxControlCallback | ( | vlc_object_t * | p_this, | |
| const char * | psz_var, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References Control(), i_cid, demux_sys_t::i_fd, vlc_value_t::i_int, demux_t::p_sys, p_sys, and VLC_EGENERIC.
Referenced by ControlListPrint().
| static int DemuxControlResetCallback | ( | vlc_object_t * | p_this, | |
| const char * | psz_var, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References ControlReset(), demux_sys_t::i_fd, demux_t::p_sys, p_sys, and VLC_EGENERIC.
Referenced by ControlList().
| static int DemuxOpen | ( | vlc_object_t * | p_this | ) | [static] |
References CFG_PREFIX, Demux(), DemuxClose(), DemuxControl(), FindMainDevice(), GetV4L2Params(), demux_t::i_seekpoint, demux_t::i_title, demux_t::i_update, demux_t::info, msg_Dbg, demux_t::p_sys, p_sys, ParseMRL(), demux_t::pf_control, demux_t::pf_demux, demux_t::psz_access, var_InheritInteger, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
| static int FindMainDevice | ( | vlc_object_t * | p_this, | |
| demux_sys_t * | p_sys, | |||
| bool | b_demux | |||
| ) | [static] |
References demux_sys_t::i_fd, msg_Dbg, OpenVideoDev(), ProbeVideoDev(), demux_sys_t::psz_device, VLC_EGENERIC, and VLC_SUCCESS.
| static float GetAbsoluteMaxFrameRate | ( | demux_t * | p_demux, | |
| int | i_fd, | |||
| uint32_t | i_pixel_format | |||
| ) | [static] |
References GetMaxFrameRate(), i_height, msg_Err, demux_t::p_sys, p_sys, and v4l2_ioctl.
Referenced by OpenVideoDev().
| static void GetMaxDimensions | ( | demux_t * | p_demux, | |
| int | i_fd, | |||
| uint32_t | i_pixel_format, | |||
| float | f_fps_min, | |||
| uint32_t * | pi_width, | |||
| uint32_t * | pi_height | |||
| ) | [static] |
References GetMaxFrameRate(), i_height, msg_Err, demux_t::p_sys, p_sys, and v4l2_ioctl.
Referenced by OpenVideoDev().
| static float GetMaxFrameRate | ( | demux_t * | p_demux, | |
| int | i_fd, | |||
| uint32_t | i_pixel_format, | |||
| uint32_t | i_width, | |||
| uint32_t | i_height | |||
| ) | [static] |
References __MAX, demux_t::p_sys, p_sys, and v4l2_ioctl.
Referenced by GetAbsoluteMaxFrameRate(), and GetMaxDimensions().
| static void GetV4L2Params | ( | demux_sys_t * | p_sys, | |
| vlc_object_t * | p_obj | |||
| ) | [static] |
References EMPTY_STR, demux_sys_t::f_fps, demux_sys_t::i_aspect, demux_sys_t::i_audio_mode, demux_sys_t::i_cache, demux_sys_t::i_cur_tuner, demux_sys_t::i_fd, demux_sys_t::i_frequency, demux_sys_t::i_height, demux_sys_t::i_selected_audio_input, demux_sys_t::i_selected_input, demux_sys_t::i_selected_standard_id, demux_sys_t::i_video_pts, demux_sys_t::i_width, demux_sys_t::io, demux_sys_t::p_es, demux_sys_t::psz_device, demux_sys_t::psz_requested_chroma, demux_sys_t::psz_set_ctrls, var_Create, var_CreateGetFloat, var_CreateGetInteger, var_CreateGetString, VLC_VAR_BOOL, VLC_VAR_DOINHERIT, and VOUT_ASPECT_FACTOR.
Referenced by AccessOpen(), and DemuxOpen().
| static block_t * GrabVideo | ( | vlc_object_t * | p_demux, | |
| demux_sys_t * | p_sys | |||
| ) | [static] |
References block_Release(), v4l2_buffer::bytesused, demux_sys_t::f_fps, i, demux_sys_t::i_block_flags, block_t::i_dts, demux_sys_t::i_fd, block_t::i_flags, demux_sys_t::i_nbuffers, block_t::i_pts, demux_sys_t::i_video_pts, v4l2_buffer::index, demux_sys_t::io, IO_METHOD_MMAP, IO_METHOD_READ, IO_METHOD_USERPTR, v4l2_buffer::length, buffer_t::length, v4l2_buffer::m, mdate(), v4l2_buffer::memory, msg_Err, demux_sys_t::p_buffers, ProcessVideoFrame(), buffer_t::start, v4l2_buffer::type, v4l2_buffer::userptr, V4L2_BUF_TYPE_VIDEO_CAPTURE, v4l2_ioctl, V4L2_MEMORY_MMAP, V4L2_MEMORY_USERPTR, v4l2_read, VIDIOC_DQBUF, and VIDIOC_QBUF.
| static int InitMmap | ( | vlc_object_t * | p_demux, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd | |||
| ) | [static] |
References v4l2_requestbuffers::count, demux_sys_t::i_nbuffers, v4l2_buffer::index, v4l2_buffer::length, buffer_t::length, v4l2_buffer::m, v4l2_buffer::memory, v4l2_requestbuffers::memory, msg_Err, v4l2_buffer::offset, demux_sys_t::p_buffers, buffer_t::start, v4l2_buffer::type, v4l2_requestbuffers::type, V4L2_BUF_TYPE_VIDEO_CAPTURE, v4l2_ioctl, V4L2_MEMORY_MMAP, v4l2_mmap, VIDIOC_QUERYBUF, VIDIOC_REQBUFS, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by OpenVideoDev().
| static int InitRead | ( | vlc_object_t * | p_demux, | |
| demux_sys_t * | p_sys, | |||
| unsigned int | i_buffer_size | |||
| ) | [static] |
References buffer_t::length, demux_sys_t::p_buffers, buffer_t::start, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
Referenced by OpenVideoDev().
| static int InitUserP | ( | vlc_object_t * | p_demux, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd, | |||
| unsigned int | i_buffer_size | |||
| ) | [static] |
References v4l2_requestbuffers::count, demux_sys_t::i_nbuffers, buffer_t::length, v4l2_requestbuffers::memory, msg_Err, demux_sys_t::p_buffers, buffer_t::start, v4l2_requestbuffers::type, V4L2_BUF_TYPE_VIDEO_CAPTURE, v4l2_ioctl, V4L2_MEMORY_USERPTR, VIDIOC_REQBUFS, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by OpenVideoDev().
| static bool IsPixelFormatSupported | ( | demux_t * | p_demux, | |
| unsigned int | i_pixelformat | |||
| ) | [static] |
References demux_sys_t::i_codec, demux_sys_t::p_codecs, demux_t::p_sys, p_sys, and v4l2_fmtdesc::pixelformat.
Referenced by OpenVideoDev().
| static void name2var | ( | unsigned char * | name | ) | [static] |
Referenced by ControlList(), ControlListPrint(), and ControlReset().
| static int OpenVideoDev | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| bool | b_demux | |||
| ) | [static] |
References ARRAY_SIZE, v4l2_tuner::audmode, BLOCK_FLAG_BOTTOM_FIELD_FIRST, BLOCK_FLAG_TOP_FIELD_FIRST, v4l2_pix_format::bytesperline, v4l2_crop::c, v4l2_capability::capabilities, ControlList(), v4l2_cropcap::defrect, demux_sys_t::dev_cap, es_format_Init(), es_out_Add(), demux_sys_t::f_fps, v4l2_pix_format::field, v4l2_format::fmt, v4l2_frequency::frequency, GetAbsoluteMaxFrameRate(), GetMaxDimensions(), v4l2_pix_format::height, v4l2_rect::height, i, demux_sys_t::i_aspect, demux_sys_t::i_audio, demux_sys_t::i_audio_mode, demux_sys_t::i_block_flags, video_format_t::i_bmask, es_format_t::i_codec, demux_sys_t::i_cur_tuner, demux_sys_t::i_fourcc, i_fourcc, demux_sys_t::i_frequency, video_format_t::i_gmask, video_format_t::i_height, i_height, demux_sys_t::i_height, demux_sys_t::i_input, demux_sys_t::i_nbuffers, video_format_t::i_rmask, video_format_t::i_sar_den, video_format_t::i_sar_num, demux_sys_t::i_selected_audio_input, demux_sys_t::i_selected_input, demux_sys_t::i_selected_standard_id, demux_sys_t::i_standard, demux_sys_t::i_tuner, i_v4l2, video_format_t::i_width, demux_sys_t::i_width, v4l2_standard::id, v4l2_buffer::index, v4l2_tuner::index, InitMmap(), InitRead(), InitUserP(), demux_sys_t::io, IO_METHOD_MMAP, IO_METHOD_READ, IO_METHOD_USERPTR, IsPixelFormatSupported(), buffer_t::length, v4l2_buffer::length, long(), v4l2_buffer::m, v4l2_buffer::memory, msg_Dbg, msg_Err, msg_Warn, v4l2_standard::name, demux_t::out, demux_sys_t::p_audios, demux_sys_t::p_buffers, demux_sys_t::p_es, demux_sys_t::p_standards, demux_sys_t::p_tuners, v4l2_format::pix, v4l2_pix_format::pixelformat, demux_sys_t::psz_device, demux_sys_t::psz_requested_chroma, SetAvailControlsByString(), v4l2_pix_format::sizeimage, buffer_t::start, v4l2_frequency::tuner, v4l2_buffer::type, v4l2_format::type, v4l2_crop::type, v4l2_cropcap::type, v4l2_tuner::type, v4l2_frequency::type, v4l2_buffer::userptr, V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_CAP_READWRITE, V4L2_CAP_STREAMING, v4l2_close, V4L2_FIELD_ALTERNATE, V4L2_FIELD_ANY, V4L2_FIELD_BOTTOM, V4L2_FIELD_INTERLACED, V4L2_FIELD_NONE, V4L2_FIELD_SEQ_BT, V4L2_FIELD_SEQ_TB, V4L2_FIELD_TOP, v4l2_ioctl, V4L2_MEMORY_MMAP, V4L2_MEMORY_USERPTR, v4l2_open, V4L2_STD_NTSC, V4L2_STD_UNKNOWN, v4l2chroma_to_fourcc, var_GetBool, es_format_t::video, VIDEO_ES, VIDIOC_CROPCAP, VIDIOC_G_FMT, VIDIOC_G_STD, VIDIOC_QBUF, VIDIOC_S_AUDIO, VIDIOC_S_CROP, VIDIOC_S_FMT, VIDIOC_S_FREQUENCY, VIDIOC_S_INPUT, VIDIOC_S_STD, VIDIOC_S_TUNER, VIDIOC_STREAMON, vlc_fourcc_GetCodecFromString(), vlc_fourcc_to_char, VLC_SUCCESS, VOUT_ASPECT_FACTOR, v4l2_pix_format::width, and v4l2_rect::width.
| static void ParseMRL | ( | demux_sys_t * | p_sys, | |
| char * | psz_path, | |||
| vlc_object_t * | p_obj | |||
| ) | [static] |
References ARRAY_SIZE, AUDIO_DEPRECATED_ERROR, demux_sys_t::f_fps, i, demux_sys_t::i_aspect, demux_sys_t::i_audio_mode, demux_sys_t::i_cache, demux_sys_t::i_cur_tuner, demux_sys_t::i_frequency, demux_sys_t::i_height, demux_sys_t::i_selected_audio_input, demux_sys_t::i_selected_input, demux_sys_t::i_selected_standard_id, demux_sys_t::i_width, demux_sys_t::io, IO_METHOD_MMAP, IO_METHOD_READ, IO_METHOD_USERPTR, msg_Err, msg_Warn, demux_sys_t::psz_device, demux_sys_t::psz_requested_chroma, demux_sys_t::psz_set_ctrls, psz_value, strdup(), strncasecmp(), strndup(), us_strtof(), V4L2_DEFAULT, var_SetBool, var_SetInteger, and VOUT_ASPECT_FACTOR.
| static bool ProbeVideoDev | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| const char * | psz_device | |||
| ) | [static] |
References v4l2_capability::bus_info, v4l2_capability::capabilities, v4l2_tuner::capability, v4l2_audio::capability, v4l2_capability::card, v4l2_fmtdesc::description, demux_sys_t::dev_cap, v4l2_capability::driver, v4l2_frequency::frequency, i, demux_sys_t::i_audio, demux_sys_t::i_codec, i_fourcc, demux_sys_t::i_input, demux_sys_t::i_selected_audio_input, demux_sys_t::i_selected_input, demux_sys_t::i_selected_standard_id, demux_sys_t::i_standard, demux_sys_t::i_tuner, i_v4l2, v4l2_standard::id, v4l2_fmtdesc::index, v4l2_tuner::index, v4l2_audio::index, v4l2_standard::index, v4l2_input::index, demux_sys_t::io, IO_METHOD_MMAP, IO_METHOD_READ, msg_Dbg, msg_Err, msg_Warn, v4l2_tuner::name, v4l2_audio::name, v4l2_standard::name, v4l2_input::name, demux_sys_t::p_audios, demux_sys_t::p_codecs, demux_sys_t::p_inputs, demux_sys_t::p_standards, demux_sys_t::p_tuners, v4l2_fmtdesc::pixelformat, v4l2_tuner::rangehigh, v4l2_tuner::rangelow, v4l2_fmtdesc::type, v4l2_tuner::type, v4l2_input::type, V4L2_AUDCAP_AVL, V4L2_AUDCAP_STEREO, V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_CAP_ASYNCIO, V4L2_CAP_AUDIO, V4L2_CAP_RDS_CAPTURE, V4L2_CAP_READWRITE, V4L2_CAP_STREAMING, V4L2_CAP_TUNER, V4L2_CAP_VBI_CAPTURE, V4L2_CAP_VIDEO_CAPTURE, v4l2_close, V4L2_INPUT_TYPE_TUNER, v4l2_ioctl, v4l2_open, V4L2_TUNER_CAP_LOW, V4L2_TUNER_RADIO, v4l2chroma_to_fourcc, v4l2_capability::version, VIDIOC_ENUM_FMT, VIDIOC_ENUMINPUT, VIDIOC_ENUMSTD, VIDIOC_G_AUDIO, VIDIOC_G_FREQUENCY, VIDIOC_G_TUNER, VIDIOC_QUERYCAP, VIDIOC_S_AUDIO, and vlc_fourcc_to_char.
Referenced by FindMainDevice().
| static block_t * ProcessVideoFrame | ( | vlc_object_t * | p_demux, | |
| uint8_t * | p_frame, | |||
| size_t | i_size | |||
| ) | [static] |
| static void SetAvailControlsByString | ( | vlc_object_t * | p_obj, | |
| demux_sys_t * | p_sys, | |||
| int | i_fd | |||
| ) | [static] |
References __MAX, Control(), i, i_cid, vlc_list_t::i_count, vlc_value_t::i_int, msg_Err, name, vlc_value_t::p_list, vlc_list_t::p_values, psz_name, demux_sys_t::psz_set_ctrls, vlc_value_t::psz_string, strncasecmp(), strndup(), text, var_Change, var_FreeList(), VLC_VAR_GETCHOICES, and VLC_VAR_GETTEXT.
Referenced by OpenVideoDev().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
struct { ... } controls[] [static] |
| int i_bmask |
Referenced by BlendYUVARV24(), and GetFfmpegChroma().
| unsigned int i_cid |
Referenced by AccessControlCallback(), ControlList(), ControlListPrint(), ControlReset(), DemuxControlCallback(), and SetAvailControlsByString().
| int i_gmask |
Referenced by BlendYUVARV24(), and GetFfmpegChroma().
const int i_iomethod_list[] [static] |
Initial value:
| int i_rmask |
Referenced by BlendYUVARV24(), and GetFfmpegChroma().
const int i_standards_list[] [static] |
Initial value:
{ 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,
}
const int i_tuner_audio_modes_list[] [static] |
Initial value:
{ 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 }
| unsigned int i_v4l2 |
Referenced by OpenVideoDev(), and ProbeVideoDev().
const uint32_t p_chroma_fallbacks[] [static] |
Initial value:
{ V4L2_PIX_FMT_YUV420, V4L2_PIX_FMT_YVU420, V4L2_PIX_FMT_YUV422P,
V4L2_PIX_FMT_YUYV, V4L2_PIX_FMT_UYVY, V4L2_PIX_FMT_BGR24,
V4L2_PIX_FMT_BGR32, V4L2_PIX_FMT_MJPEG, V4L2_PIX_FMT_JPEG }
Try YUV chromas first, then RGB little endian and MJPEG as last resort.
const char* const psz_iomethod_list_text[] [static] |
| const char* psz_name |
const char* const psz_standards_list_text[] [static] |
Initial value:
{ 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"
}
const char* const psz_tuner_audio_modes_list_text[] [static] |
struct { ... } v4l2chroma_to_fourcc[] [static] |
Referenced by OpenVideoDev(), and ProbeVideoDev().
1.5.6