[FFmpeg-devel] [PATCH] avcodec/h264: remove redundant and bogus get_format call

Michael Niedermayer michael at niedermayer.cc
Sun Oct 11 21:22:40 CEST 2015


On Sun, Oct 11, 2015 at 07:05:27PM +0200, wm4 wrote:
> 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 | 14 --------------
>  1 file changed, 14 deletions(-)

ive posted an alternative patchset of 2 patches which should prevent
get_format() from being called. That would leave the check in place

I couldnt reproduce the problem with command line FFmpeg though,
Also i dont object to this patch here, if people prefer it but iam not
sure that the test is really redundant

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20151011/0dc39d3d/attachment.sig>


More information about the ffmpeg-devel mailing list