• wm4's avatar
    avcodec/h264: remove redundant and bogus get_format call · be583c6f
    wm4 authored
    The AVCodecContext.get_format callback is not only used for pixel format
    negotiation with the API user, but also for hwaccel init. For the
    latter, it's required that some codec parameters, in particular the
    codec profile, are set when the callback is invoked.
    
    This patch removes a get_format invocation where this is not guaranteed.
    The codec parameters, including the profile, are really set further
    below. (The same code path that sets the profile also calls get_format
    properly too.)
    
    This just happened to work by coincidence in most cases. For example, if
    the API user just copied or reused the AVStream's AVCodecContext when
    decoding, the profile would be set properly. But in some cases it
    fails., such as with the sample WolfensteinTwitch.mp4 on the samples
    server.
    
    Remove the redundant get_format call. Apparently it serves no purpose
    anymore, although it is possible that this was different at the time it
    was added in commit ffd77f94.
    
    This fixes hwaccel usage for API users which do not set the profile
    when setting up the AVCodecContext (which is allowed).
    be583c6f
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...
.travis.yml 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...