No description
Find a file
Giorgio Vazzana 514216d8a9 lavd/v4l2: read the correct time per frame from devices that support a standard
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.html

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-31 15:29:53 +01:00
compat Merge commit '0c03cc6838' 2012-10-24 13:42:58 +02:00
doc Port biquads filters from SoX 2013-01-31 12:13:55 +00:00
libavcodec h264/cabac: check loop index 2013-01-31 04:21:26 +01:00
libavdevice lavd/v4l2: read the correct time per frame from devices that support a standard 2013-01-31 15:29:53 +01:00
libavfilter lavfi/biquads: remove pointless casts 2013-01-31 13:16:32 +00:00
libavformat asfdec: fix integer overflow in packet_replic_size check 2013-01-31 03:37:43 +01:00
libavresample Merge remote-tracking branch 'qatar/master' 2013-01-18 13:54:38 +01:00
libavutil mips: optimization for float aac decoder (core module) 2013-01-31 01:23:09 +01:00
libpostproc build: postproc cleanup. 2012-12-30 02:27:52 +01:00
libswresample swr/ build_filter: use av_calloc() fix buffer overflow 2013-01-27 05:58:47 +01:00
libswscale Merge commit '05b0998f51' 2013-01-28 14:11:31 +01:00
presets presets: specify the codecs. 2012-05-04 18:40:36 +02:00
tests swscale: GBRP output support 2013-01-27 15:28:07 -05:00
tools Merge commit '88bd7fdc82' 2013-01-23 17:44:56 +01:00
.gitignore .gitignore: add /doc/examples/pc-uninstalled 2013-01-17 17:59:18 +00:00
arch.mak Merge commit 'b326755989' 2012-12-08 14:24:16 +01:00
Changelog Port biquads filters from SoX 2013-01-31 12:13:55 +00:00
cmdutils.c cmdline: fix -- to escape files starting with - 2013-01-19 14:50:36 +01:00
cmdutils.h lavf: remove nonexistent symbols 2013-01-11 10:07:52 +00:00
cmdutils_common_opts.h cmdutils: implement debug/fdebug log level update differently. 2012-12-20 02:38:18 +01:00
common.mak Merge remote-tracking branch 'qatar/master' 2012-12-11 08:24:45 +01:00
configure Merge commit '2c10e2a2f6' 2013-01-25 14:14:21 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS Revert "partially rename FFmpeg to Libav" 2011-03-17 17:26:45 +01:00
ffmpeg.c ffmpeg: implement -force_key_frames expression evalution 2013-01-27 16:56:47 +01:00
ffmpeg.h ffmpeg: implement -force_key_frames expression evalution 2013-01-27 16:56:47 +01:00
ffmpeg_filter.c ffmpeg: support filtering of unknown channel layouts. 2013-01-26 11:15:38 +01:00
ffmpeg_opt.c ffmpeg: remove -crop* and -pad* options 2013-01-27 16:56:47 +01:00
ffplay.c ffplay: flush video filters on seek 2013-01-19 00:48:06 +01:00
ffprobe.c ffprobe: do not escape '"' between single quotes. 2013-01-01 13:32:51 +01:00
ffserver.c ffserver: add missing padding to extradata. 2012-12-30 22:22:18 +01:00
INSTALL Merge remote branch 'qatar/master' 2011-04-08 02:50:13 +02:00
library.mak Merge remote-tracking branch 'qatar/master' 2012-12-11 08:24:45 +01:00
LICENSE lavfi: add histeq filter 2013-01-05 10:25:32 +01:00
MAINTAINERS MAINTAINERS: add 1.1, remove 0.10 2013-01-06 21:42:35 +01:00
Makefile Merge remote-tracking branch 'qatar/master' 2012-12-11 08:24:45 +01:00
README README: be a tiny bit more verbose 2012-04-06 10:23:26 +02:00
RELEASE RELEASE: 1.1.git for master 2013-01-06 21:42:35 +01:00
version.sh version.sh: handle shallow clones and snapshots. 2011-07-22 10:43:59 +02:00

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

2) Licensing
------------

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.