aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/v4l2_context.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: v4l2_context: remove unnecessary codeJorge Ramirez-Ortiz2018-01-231-3/+1
| | | | | | Fixes CID 1418358 Signed-off-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com>
* avcodec: v4l2_m2m: context: fix raising warning on POLLERRJorge Ramirez-Ortiz2018-01-211-1/+11
| | | | | | | | | | | | | | During the initialization stage, the codec attempts to get free buffers from the driver before any have been queued (this is to keep the code simple and generic) When the kernel driver detects this situation, it returns POLLERR in revents and ffmpeg therefore raises a warning. This commit disables the warning since no buffers were queued to the driver yet. Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
* avcodec: v4l2_m2m: remove unnecessary timeout.Jorge Ramirez-Ortiz2018-01-211-25/+36
| | | | | | | | | | | | | | Qualcomm's db410c/db820 Venus driver currently present in mainline kernel has a bug which mishandles the CMD_STOP requests causing the decoder to block while draining [1]. This patch removes the workaround that was used to prevent that situation. Encoding/Decoding tested on db820c. [1] on CMD_STOP, the driver is flushing all buffers and never raising IPIPE which ends up in blocking on poll.
* lavc/v4l2_context: Change the type of the ioctl cmd to uint32_t.Carl Eugen Hoyos2017-11-051-1/+1
| | | | | | Fixes a warning on recent Linux: libavcodec/v4l2_context.c: In function 'ff_v4l2_context_set_status': libavcodec/v4l2_context.c:496:26: warning: comparison is always false due to limited range of data type
* avcodec/v4l2: set sizeimage param for non-raw buffers [fixes #6716]Jorge Ramirez-Ortiz2017-10-041-2/+26
| | | | | | | | | | | | | | | | | Some V4L2 drivers fail to allocate buffers when sizeimage is not set to a max value. This is indeed the case for s5p-mfc [1] Most drivers should be able to calculate this value from the frame dimensions and format - or at least have their own default. However since this work around should not impact those drivers doing the "right thing" this commit just provides such a default. The calculations were extracted from the v4l2 driver used to develop the ffmpeg v4l2_m2m support [2]. See venc.c and vdec.c [1] linux.git/drivers/media/platform/s5p-mfc [2] linux.git/drivers/media/platform/qcom/venus/
* avcodec/v4l2_context: Reduce spelling variationsMichael Niedermayer2017-10-011-2/+2
| | | | | Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec: v4l2: add support for v4l2 mem2mem codecsJorge Ramirez-Ortiz2017-09-231-0/+667
This patchset enhances Alexis Ballier's original patch and validates it using Qualcomm's Venus hardware (driver recently landed upstream [1]). This has been tested on Qualcomm's DragonBoard 410c and 820c Configure/make scripts have been validated on Ubuntu 10.04 and 16.04. Tested decoders: - h264 - h263 - mpeg4 - vp8 - vp9 - hevc Tested encoders: - h264 - h263 - mpeg4 Tested transcoding (concurrent encoding/decoding) Some of the changes introduced: - v4l2: code cleanup and abstractions added - v4l2: follow the new encode/decode api. - v4l2: fix display size for NV12 output pool. - v4l2: handle EOS (EPIPE and draining) - v4l2: vp8 and mpeg4 decoding and encoding. - v4l2: hevc and vp9 support. - v4l2: generate EOF on dequeue errors. - v4l2: h264_mp4toannexb filtering. - v4l2: fixed make install and fate issues. - v4l2: codecs enabled/disabled depending on pixfmt defined - v4l2: pass timebase/framerate to the context - v4l2: runtime decoder reconfiguration. - v4l2: add more frame information - v4l2: free hardware resources on last reference being released - v4l2: encoding: disable b-frames for upstreaming (patch required) [1] https://lwn.net/Articles/697956/ System Level view: v42l_m2m_enc/dec --> v4l2_m2m --> v4l2_context --> v4l2_buffers Reviewed-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org> Reviewed-by: Alexis Ballier <aballier@gentoo.org> Tested-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org> Signed-off-by: wm4 <nfxjfg@googlemail.com>