]> git.sesse.net Git - ffmpeg/commit
lavc/vaapi_encode: add FF_CODEC_CAP_INIT_CLEANUP caps for encoders
authorLinjie Fu <linjie.fu@intel.com>
Tue, 31 Mar 2020 15:34:00 +0000 (23:34 +0800)
committerJames Almer <jamrial@gmail.com>
Mon, 4 May 2020 15:33:30 +0000 (12:33 -0300)
commit2b3206891649f317c20993411efef4bee39ae784
tree04e8de81e09cc5853ca41bba3ca4d51f6ff6d46f
parent5767a2ed74078385a5ff70a7a487c1d4c367d729
lavc/vaapi_encode: add FF_CODEC_CAP_INIT_CLEANUP caps for encoders

ff_vaapi_encode_close() is not enough to free the resources like cbs
if initialization failure happens after codec->configure (except for
vp8/vp9).

We need to call avctx->codec->close() to deallocate, otherwise memory
leak happens.

Add FF_CODEC_CAP_INIT_CLEANUP for vaapi encoders and deallocate the
resources at free_and_end inside avcodec_open2().

Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
libavcodec/vaapi_encode.c
libavcodec/vaapi_encode_h264.c
libavcodec/vaapi_encode_h265.c
libavcodec/vaapi_encode_mjpeg.c
libavcodec/vaapi_encode_mpeg2.c
libavcodec/vaapi_encode_vp8.c
libavcodec/vaapi_encode_vp9.c