]> git.sesse.net Git - ffmpeg/commit
hwframe: Allow hwaccel frame allocators to align surface sizes
authorAnton Khirnov <anton@khirnov.net>
Thu, 22 Jun 2017 18:05:12 +0000 (20:05 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Mon, 26 Jun 2017 22:23:12 +0000 (00:23 +0200)
commit3fdf50f9e864c88da2139cf066832944de81acaa
treebcdd61cda070435f842a6f824acf84f04cde1b1f
parent068eaa534e7ddb2155e2830818d5c3f1069c68d8
hwframe: Allow hwaccel frame allocators to align surface sizes

Hardware accelerated decoding generally uses AVHWFramesContext for pool
allocation of hardware surfaces. These are setup to allocate surfaces
aligned to hardware and hwaccel API requirements. Due to the
architecture, av_hwframe_get_buffer() will return AVFrames with
the dimensions set to the aligned sizes.

This causes some decoders (like hevc) return these aligned size as
final frame size, instead of cropping them to the video's actual
dimensions. To make sure this doesn't happen, crop the frame to the
size the decoder expects when ff_get_buffer() is called.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/decode.c