1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-22 06:42:03 +00:00
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: check for conversion errors 2015-01-15 20:10:08 +01:00
image_writer.h
img_format.c video: try to keep implied alpha when using conversion filters 2015-01-21 21:49:15 +01:00
img_format.h vo_opengl: handle grayscale input better, add YA16 support 2015-01-21 19:29:18 +01:00
img_fourcc.h
memcpy_pic.h
mp_image_pool.c mp_image_pool: allow passing pool=NULL in more places 2015-01-22 17:37:40 +01:00
mp_image_pool.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
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 video: have a generic context struct for hwdec backends 2015-01-22 15:32:23 +01:00
vdpau_functions.inc video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.c video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.h
vdpau.c command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
vdpau.h video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00