• Philip Langdale's avatar
    avcodec: Implement mpeg4 nvdec hwaccel · 6b77a10e
    Philip Langdale authored
    This was predictably nightmarish, given how ridiculous mpeg4 is.
    I had to stare at the cuvid parser output for a long time to work
    out what each field was supposed to be, and even then, I still don't
    fully understand some of them. Particularly:
    
    vop_coded: If I'm reading the decoder correctly, this flag will always
               be 1 as the decoder will not pass the hwaccel any frame
               where it is not 1.
    divx_flags: There's obviously no documentation on what the possible
                flags are. I simply observed that this is '0' for a
                normal bitstream and '5' for packed b-frames.
    gmc_enabled: I had a number of guesses as to what this mapped to.
                 I picked the condition I did based on when the cuvid
                 parser was setting flag.
    
    Also note that as with the vdpau hwaccel, the decoder needs to
    consume the entire frame and not the slice.
    6b77a10e
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
fftools 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...
configure Loading commit data...