summaryrefslogtreecommitdiff
path: root/libavdevice/v4l2.c
Commit message (Collapse)AuthorAge
* avdevice: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* libavdevice/v4l2: fix invalid access to struct v4l2_bufferJaroslav Beran2017-09-24
| | | | | | | | In case we are short of queued buffers, at first v4l2_buffer was enqueued to kernel so it's not owned by user-space anymore. After that it's timestamp field was read, but it might be overwritten by driver at that moment. It resulted in invalid timestamp sometimes. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03'Clément Bœsch2017-04-26
|\ | | | | | | | | | | | | * commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03': v4l2: use codec descriptors for mapping a codec name to id Merged-by: Clément Bœsch <u@pkh.me>
| * v4l2: use codec descriptors for mapping a codec name to idAnton Khirnov2016-12-19
| | | | | | | | | | This mapping has nothing to do with decoder implementations, so using decoder names is wrong.
* | Merge commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f'Clément Bœsch2017-03-22
|\| | | | | | | | | | | | | * commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f': v4l2: convert to stdatomic Merged-by: Clément Bœsch <u@pkh.me>
| * v4l2: convert to stdatomicAnton Khirnov2016-10-02
| |
* | Cosmetics: Reindent after last commit.Carl Eugen Hoyos2017-01-25
| |
* | lavd/v4l2: Avoid setting frame_size to a negative value.Carl Eugen Hoyos2017-01-25
| |
* | Merge commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207'Hendrik Leppkes2016-11-18
|\| | | | | | | | | | | | | * commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207': lavd: Drop unneeded av_init_packet()s Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavd: Drop unneeded av_init_packet()sVittorio Giovara2016-07-13
| | | | | | | | The input packet is already unref'd by the calling function.
* | Merge commit '11de006babf735aafa3462d43dd2c02bb6ac6e2f'Clément Bœsch2016-06-22
|\| | | | | | | | | | | | | * commit '11de006babf735aafa3462d43dd2c02bb6ac6e2f': Combine deprecation guards where appropriate Merged-by: Clément Bœsch <clement@stupeflix.com>
| * Combine deprecation guards where appropriateDiego Biurrun2016-05-13
| | | | | | | | Some code blocks use multiple bits of deprecated API.
* | Merge commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * 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-11
| | | | | | | | | | 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-16
| | | | | | | | | | | | | | | | | | | | | | 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-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-11
| | | | | | | | | | 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-27
|\| | | | | | | | | | | | | * 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-26
| | | | | | | | | | | | | | `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-22
|\| | | | | | | | | | | | | * 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-21
| | | | | | | | | | | | 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-12
| |
* | Merge commit '01bcc2d5c23fa757d163530abb396fd02f1be7c8'Hendrik Leppkes2015-09-05
|\| | | | | | | | | | | | | * 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-28
| | | | | | | | Deprecated in 10/2012.
* | lavd/v4l2: Use AVSTREAM_PARSE_FULL_ONCE when reading a h264 stream.Carl Eugen Hoyos2015-08-04
| | | | | | | | | | Reported, debugged and tested by trac user noah. Fixes ticket #4644.
* | Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'Michael Niedermayer2015-07-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-02
| |
* | avdevice/v4l2: Fix vertical alignment in list_formats() outputMichael Niedermayer2015-05-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avdevice/v4l2: Try to fix build on netbsd/openbsdMichael Niedermayer2015-05-09
| | | | | | | | | | 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-08
| | | | | | | | | | | | | | | | V4L2_BUF_FLAG_ERROR Fixes ticket #4030. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: fix typoGiorgio Vazzana2015-05-08
| | | | | | | | | | | | This was introduced in cde6e328de214ffe8387641cdc1e433a2c2150f3 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd/v4l2: print buffer flags in case of errorGiorgio Vazzana2015-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | fix spelling errorsAndreas Cadhalpun2015-03-06
| | | | | | | | | | | | | | | | | | | | | | 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-02
|\| | | | | | | | | | | | | | | | | | | * 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-02
| | | | | | | | | | 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-11
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | lavd/v4l2: implement list device callbackLukasz Marek2015-01-11
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | avdevice/v4l2: use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-12
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '09f25533a564eab743f258d168697a11122914c4'Michael Niedermayer2014-11-10
|\| | | | | | | | | | | | | | | | | | | | | * 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-09
| | | | | | | | av_log usually resets it.
* | Merge commit 'a1a259881fa7b23e2ffc0c2a43d4923fe42d0478'Michael Niedermayer2014-11-10
|\| | | | | | | | | | | | | | | | | | | | | * 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-09
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Revert "v4l2: setting device parameters early"Michael Niedermayer2014-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-06
| | | | | | | | | | | | | | | | | | 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-29
| | | | | | | | | | | | | | | | | | | | 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-29
| | | | | | | | Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
* | lavd/v4l2: introduce enqueue_buffer()Giorgio Vazzana2014-09-06
| | | | | | | | | | | | | | | | 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-05
| | | | | | | | | | | | We can avoid passing file descriptor fd explicitely. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>