• Jorge Ramirez-Ortiz's avatar
    libavcodec: v4l2: add support for v4l2 mem2mem codecs · 1ef7752d
    Jorge Ramirez-Ortiz authored
        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: 's avatarJorge Ramirez <jorge.ramirez-ortiz@linaro.org>
    Reviewed-by: 's avatarAlexis Ballier <aballier@gentoo.org>
    Tested-by: 's avatarJorge Ramirez <jorge.ramirez-ortiz@linaro.org>
    Signed-off-by: 's avatarwm4 <nfxjfg@googlemail.com>
    1ef7752d
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_opencl.c Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_cuvid.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_hw.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.c Loading commit data...
ffmpeg_videotoolbox.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...