• Giorgio Vazzana's avatar
    lavd/v4l2: read the correct time per frame from devices that support a standard · 514216d8
    Giorgio Vazzana authored
    Generally speaking, there are two types of v4l2 devices [1]:
    
    1) devices that support a standard, like PAL or NTFS (tv cards, for example). For
    this class of devices the framerate is fixed by the standard (for example PAL uses
    25 fps) and the v4l2 driver cannot usually negotiate a different framerate (unless
    it can skip frames on the driver side, to save I/O bandwidth).
    
    2) devices for which the notion of standard does not make sense (webcams, for example).
    For these devices it is usually possibile to request a desidered framerate.
    
    In either case, the desidered frame rate can be requested when the VIDIOC_G_PARM
    ioctl returns the V4L2_CAP_TIMEPERFRAME flag in the capability field.
    
    Currently the code does not check for V4L2_CAP_TIMEPERFRAME and supports only the
    second category of devices, returning a time per frame of 0/0 for devices in the
    first group that do not permit to negotiate the framerate.
    
    This patch adds support to read the correct framerate in all cases.
    
    [1] http://linuxtv.org/downloads/v4l-dvb-apis/standard.htmlSigned-off-by: 's avatarStefano Sabatini <stefasab@gmail.com>
    514216d8
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...