summaryrefslogtreecommitdiffstats
path: root/libavdevice/v4l2.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '11de006babf735aafa3462d43dd2c02bb6ac6e2f'Clément Bœsch2016-06-221-2/+2
|\ | | | | | | | | | | | | * commit '11de006babf735aafa3462d43dd2c02bb6ac6e2f': Combine deprecation guards where appropriate Merged-by: Clément Bœsch <clement@stupeflix.com>
| * Combine deprecation guards where appropriateDiego Biurrun2016-05-131-2/+2
| | | | | | | | Some code blocks use multiple bits of deprecated API.
* | Merge commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376'Clément Bœsch2016-06-211-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376': Reduce the scope of some variables Merged-by: Clément Bœsch <u@pkh.me>
| * Reduce the scope of some variablesDiego Biurrun2016-05-111-1/+1
| | | | | | | | | | This avoids unused variable warnings after the next version bump. Also drop a trace level av_log() call that is in the way.
* | lavd/v4l2: allow devices not implementing VIDIOC_G_PARMNiklas Söderlund2016-06-161-5/+2
| | | | | | | | | | | | | | | | | | | | | | Not all v4l2 devices implement the VIDIOC_G_PARM ioctl. This patch allow ffmpeg to open such device and treat it the same as devices that do implement the ioctl but returns that it do not implement the V4L2_CAP_TIMEPERFRAME capability. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Benoit Fouet <benoit.fouet@free.fr> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-11/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-231-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* | Correct two build/built typosTimothy Gu2016-01-111-1/+1
| | | | | | | | | | Found-by: Leo Izen <leo.izen@gmail.com> as thebombzen on IRC Signed-off-by: Timothy Gu <timothygu99@gmail.com>
* | Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'Hendrik Leppkes2015-10-271-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457': avpacket: Replace av_free_packet with av_packet_unref Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-261-1/+1
| | | | | | | | | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* | Merge commit 'f890677d05bc4e8b494a73373ab4cc19791bf884'Hendrik Leppkes2015-10-221-2/+2
|\ \ | |/ | | | | | | | | | | * commit 'f890677d05bc4e8b494a73373ab4cc19791bf884': Replace any remaining avpicture function with imgutils Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * Replace any remaining avpicture function with imgutilsVittorio Giovara2015-10-211-2/+2
| | | | | | | | | | | | avpicture_get_size() -> av_image_get_buffer_size() Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avdevice/v4l2: use AV_OPT_TYPE_BOOL for use_libv4l2 optionClément Bœsch2015-09-121-1/+1
| |
* | Merge commit '01bcc2d5c23fa757d163530abb396fd02f1be7c8'Hendrik Leppkes2015-09-051-12/+0
|\ \ | |/ | | | | | | | | | | * commit '01bcc2d5c23fa757d163530abb396fd02f1be7c8': lavc: Drop deprecated destruct_packet related functions Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: Drop deprecated destruct_packet related functionsVittorio Giovara2015-08-281-12/+0
| | | | | | | | Deprecated in 10/2012.
* | lavd/v4l2: Use AVSTREAM_PARSE_FULL_ONCE when reading a h264 stream.Carl Eugen Hoyos2015-08-041-1/+1
| | | | | | | | | | Reported, debugged and tested by trac user noah. Fixes ticket #4644.
* | Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'Michael Niedermayer2015-07-211-0/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370': Deprecate avctx.coded_frame Conflicts: ffmpeg.c libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/gif.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/proresenc_kostya.c libavcodec/pthread_frame.c libavcodec/rawenc.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/version.h libavcodec/xbmenc.c libavcodec/xwdenc.c libavdevice/v4l2.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * Deprecate avctx.coded_frameVittorio Giovara2015-07-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rationale is that coded_frame was only used to communicate key_frame, pict_type and quality to the caller, as well as a few other random fields, in a non predictable, let alone consistent way. There was agreement that there was no use case for coded_frame, as it is a full-sized AVFrame container used for just 2-3 int-sized properties, which shouldn't even belong into the AVCodecContext in the first place. The appropriate AVPacket flag can be used instead of key_frame, while quality is exported with the new AVPacketSideData quality factor. There is no replacement for the other fields as they were unreliable, mishandled or just not used at all. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * v4l2: Add support for h264Luca Barbato2015-03-021-1/+6
| |
* | avdevice/v4l2: Fix vertical alignment in list_formats() outputMichael Niedermayer2015-05-161-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avdevice/v4l2: Try to fix build on netbsd/openbsdMichael Niedermayer2015-05-091-1/+4
| | | | | | | | | | Found-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: produce a 0 byte packet when a dequeued buffer is flagged with ↵Giorgio Vazzana2015-05-081-15/+22
| | | | | | | | | | | | | | | | V4L2_BUF_FLAG_ERROR Fixes ticket #4030. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: fix typoGiorgio Vazzana2015-05-081-1/+1
| | | | | | | | | | | | This was introduced in cde6e328de214ffe8387641cdc1e433a2c2150f3 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: print buffer flags in case of errorGiorgio Vazzana2015-04-241-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | fix spelling errorsAndreas Cadhalpun2015-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | opttimizations -> optimizations grabing -> grabbing many resource -> many resources isnt -> isn't silcense -> silence Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '619d5e7db88941cadb8136f805564e885c6c6434'Michael Niedermayer2015-03-021-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '619d5e7db88941cadb8136f805564e885c6c6434': v4l2: Use the codec descriptor facility Conflicts: libavdevice/v4l2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * v4l2: Use the codec descriptor facilityLuca Barbato2015-03-021-2/+2
| | | | | | | | | | The encoder or decoder might be disabled but the format would be supported for at least remuxing.
| * v4l2: Unify one instance of reading/storing errnoMartin Storsjö2014-11-111-3/+3
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | lavd/v4l2: implement list device callbackLukasz Marek2015-01-111-0/+77
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | avdevice/v4l2: use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-121-3/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '09f25533a564eab743f258d168697a11122914c4'Michael Niedermayer2014-11-101-10/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '09f25533a564eab743f258d168697a11122914c4': v4l2: Preserve errno values Conflicts: libavdevice/v4l2.c See: 60950adc18fe145a235211e75da68ab07123fcaa Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * v4l2: Preserve errno valuesLuca Barbato2014-11-091-16/+23
| | | | | | | | av_log usually resets it.
* | Merge commit 'a1a259881fa7b23e2ffc0c2a43d4923fe42d0478'Michael Niedermayer2014-11-101-4/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'a1a259881fa7b23e2ffc0c2a43d4923fe42d0478': v4l2: Use av_strerror Conflicts: libavdevice/v4l2.c See: 60950adc18fe145a235211e75da68ab07123fcaa Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * v4l2: Use av_strerrorTristan Matthews2014-11-091-15/+34
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Revert "v4l2: setting device parameters early"Michael Niedermayer2014-11-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b1ad9312331759679a9c956233716a67ae681d89. Fixes Ticket #3517 Conflicts: libavdevice/v4l2.c Requested-by: Giorgio Vazzana <mywing81@gmail.com> Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: use pixel format variable names consistentlyGiorgio Vazzana2014-11-061-10/+11
| | | | | | | | | | | | | | | | | | We now use 'pixelformat' for V4L2_PIX_FMT_* (as they do in v4l2 documentation) and 'pix_fmt' for AVPixelFormat. No functional change in the code. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: don't use avpriv_ prefix for internal functionsJames Almer2014-10-291-10/+10
| | | | | | | | | | | | | | | | | | | | No need to keep the old symbols around until a major bump since lavd functions with the avpriv_ prefix were never exposed. Signed-off-by: James Almer <jamrial@gmail.com> Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Use v4l2 input format automatically if filename starts with "/dev/video"Andrey Utkin2014-10-291-0/+8
| | | | | | | | Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
* | lavd/v4l2: introduce enqueue_buffer()Giorgio Vazzana2014-09-061-18/+21
| | | | | | | | | | | | | | | | Additionally, make sure a buffer gets enqueued again (even in error paths) after it has been succesfully dequeued. Tested-by: Dmitry Volyntsev <xeioexception@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: simplify list_formats()Giorgio Vazzana2014-09-051-3/+3
| | | | | | | | | | | | We can avoid passing file descriptor fd explicitely. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: simplify list_framesizes()Giorgio Vazzana2014-09-051-3/+3
| | | | | | | | | | | | We can avoid passing file descriptor fd explicitely. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: remove unneeded variable in device_init()Giorgio Vazzana2014-09-051-3/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: simplify first_field()Giorgio Vazzana2014-09-051-7/+5
| | | | | | | | | | | | | | There is no need to pass fd as a second parameter. Additionally remove unneeded curly braces. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: Replace s1 with ctx for consistency.Giorgio Vazzana2014-09-051-57/+57
| | | | | | | | | | | | No functional change in the code. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavdevice/v4l2: fix descriptors leak on error pathsDmitry Volyntsev2014-09-041-17/+20
| | | | | | | | | | | | | | Signed-off-by: Dmitry Volytnsev <xeioexception@gmail.com> Reviewed-by: Benoit Fouet <benoit.fouet@free.fr> Reviewed-by: Giorgio Vazzana <mywing81@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avdevice/v4l2: try to fix build for openbsdMichael Niedermayer2014-08-181-1/+5
| | | | | | | | | | Found-by: carl Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: do not fail when VIDIOC_ENUMSTD returns ENODATAAndre Wolokita2014-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of September 14 2012, v4l_enumstd() will return ENODATA when a device's std field is set to 0. That is, the device does not have a standard format. In order to properly handle this case, v4l2_set_parameters should catch the ENODATA code and break instead of failing. Below is the v4l2-core commit describing this change. >>commit a5338190efc7cfa8c99a6856342a77d21c9a05cf >>Author: Hans Verkuil <hans.verkuil@cisco.com> >>Date: Fri Sep 14 06:45:43 2012 -0300 >> >> [media] v4l2-core: tvnorms may be 0 for a given input, handle that case >> >> Currently the core code looks at tvnorms to see whether ENUMSTD >> or G_PARM should be enabled. This is not a good check for drivers >> that support the STD API on one input and the DV Timings API on another. >> In that case tvnorms may be 0. >> Instead check whether s_std is present (for ENUMSTD) or whether g_std or >> current_norm is present for g_parm. >> Also, in the enumstd core function return ENODATA if tvnorms is 0, >> because in that case the current input does not support the STD API >> and ENUMSTD should return ENODATA for that. >> >> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> >> Reviewed-by: Sakari Ailus <sakari.ailus@iki.fi> >> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-151-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-151-3/+3
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * libavdevice: use avpriv_open()Rémi Denis-Courmont2013-08-071-1/+1
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
OpenPOWER on IntegriCloud