-
- Downloads
libavcodec: v4l2: add support for v4l2 mem2mem codecs
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>
Showing
- Changelog 1 addition, 0 deletionsChangelog
- configure 28 additions, 0 deletionsconfigure
- libavcodec/Makefile 15 additions, 0 deletionslibavcodec/Makefile
- libavcodec/allcodecs.c 9 additions, 0 deletionslibavcodec/allcodecs.c
- libavcodec/v4l2_buffers.c 453 additions, 0 deletionslibavcodec/v4l2_buffers.c
- libavcodec/v4l2_buffers.h 121 additions, 0 deletionslibavcodec/v4l2_buffers.h
- libavcodec/v4l2_context.c 667 additions, 0 deletionslibavcodec/v4l2_context.c
- libavcodec/v4l2_context.h 181 additions, 0 deletionslibavcodec/v4l2_context.h
- libavcodec/v4l2_fmt.c 182 additions, 0 deletionslibavcodec/v4l2_fmt.c
- libavcodec/v4l2_fmt.h 34 additions, 0 deletionslibavcodec/v4l2_fmt.h
- libavcodec/v4l2_m2m.c 383 additions, 0 deletionslibavcodec/v4l2_m2m.c
- libavcodec/v4l2_m2m.h 103 additions, 0 deletionslibavcodec/v4l2_m2m.h
- libavcodec/v4l2_m2m_dec.c 228 additions, 0 deletionslibavcodec/v4l2_m2m_dec.c
- libavcodec/v4l2_m2m_enc.c 352 additions, 0 deletionslibavcodec/v4l2_m2m_enc.c
Loading
Please register or sign in to comment