• Philip Langdale's avatar
    avcodec/vc1dec: Re-order init to avoid initting hwaccel too early · 91f1115a
    Philip Langdale authored
    At least for vdpau, the hwaccel init code tries to check the video
    profile and ensure that there is a matching vdpau profile available.
    
    If it can't find a match, it will fail to initialise.
    
    In the case of wmv3/vc1, I observed initialisation to fail all the
    time. It turns out that this is due to the hwaccel being initialised
    very early in the codec init, before the profile has been extracted
    and set.
    
    Conceptually, it's a simple fix to reorder the init code, but it gets
    messy really fast because ff_get_format(), which is what implicitly
    trigger hwaccel init, is called multiple times through various shared
    init calls from h263, etc. It's incredibly hard to prove to my own
    satisfaction that it's safe to move the vc1 specific init code
    ahead of this generic code, but all the vc1 fate tests pass, and I've
    visually inspected a couple of samples and things seem correct.
    Signed-off-by: 's avatarPhilip Langdale <philipl@overt.org>
    91f1115a
Name
Last commit
Last update
compat Loading commit data...
doc 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...
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...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_vdpau.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...
library.mak Loading commit data...
version.sh Loading commit data...