avcodec/h264: remove redundant and bogus get_format call
authorwm4 <nfxjfg@googlemail.com>
Sun, 11 Oct 2015 17:02:40 +0000 (19:02 +0200)
committerwm4 <nfxjfg@googlemail.com>
Thu, 15 Oct 2015 18:16:13 +0000 (20:16 +0200)
commitbe583c6fd3a6f06844b56619653b9b0e4561870d
tree77c7d1d41d7082ab6e1cc5a707a12e3f56a46393
parent1a29804558c13ef512d9ef73a9b0d782af4fa5f2
avcodec/h264: remove redundant and bogus get_format call

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 ffd77f94a26be22b8ead3178ceec3ed39e68abc5.

This fixes hwaccel usage for API users which do not set the profile
when setting up the AVCodecContext (which is allowed).
libavcodec/h264_slice.c