mpv/video
wm4 cf073138b2 vd_lavc: uninit the hwdec backend after closing the decoder
A recent behavior change in libavcodec's h264 decoder keeps at least 1
surface even after avcodec_flush_buffers() has been called. We used to
flush the decoder in order to make sure all surfaces are free'd, so that
the hw decoder can be safely uninitialized. This doesn't work anymore.

Fix it by closing the AVCodecContext before the hw decoder is
uninitialized. This is actually simpler and more robust. It seems to be
well-supported too.

Fixes invalid read accesses with vaapi-copy and dxva2-copy. These
destroyed the hwdec API fully on uninit, and could not deal with
surfaces surviving the decoder.

Probably fixes #1587.
2015-02-14 16:45:38 +01:00
..
decode vd_lavc: uninit the hwdec backend after closing the decoder 2015-02-14 16:45:38 +01:00
filter vf_vapoursynth: add display refresh rate property 2015-02-13 22:35:47 +01:00
out x11: fix uninitialized variable reads 2015-02-14 16:45:38 +01:00
csputils.c csputils, vo_opengl: remove per-component gamma 2015-02-03 16:52:44 +01:00
csputils.h csputils, vo_opengl: remove per-component gamma 2015-02-03 16:52:44 +01:00
fmt-conversion.c video: work around libswscale for PNG pixel formats 2015-02-06 23:22:16 +01:00
fmt-conversion.h
hwdec.h command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
image_writer.c
image_writer.h
img_format.c
img_format.h
img_fourcc.h
memcpy_pic.h
mp_image.c vo_opengl: change the way unaligned chroma size is handled 2015-01-27 18:09:03 +01:00
mp_image.h vo_opengl: change the way unaligned chroma size is handled 2015-01-27 18:09:03 +01:00
mp_image_pool.c
mp_image_pool.h
sws_utils.c video: work around libswscale for PNG pixel formats 2015-02-06 23:22:16 +01:00
sws_utils.h video: work around libswscale for PNG pixel formats 2015-02-06 23:22:16 +01:00
vaapi.c command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
vaapi.h
vdpau.c command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
vdpau.h
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h