1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-27 01:22:30 +00:00
mpv/video/decode
wm4 5a3e01fa80 vd_lavc: when falling back to software, revert filter error status
When mpv is started with some video filters set (--vf is used), and
hardware decoding is requested, and hardware decoding would be possible,
but is prevented due to video filters that accept software formats only,
the fallback didn't work properly sometimes.

This fallback works rather violently: it tries to initialize the filter
chain, and if it fails it throws away the frame decoded using the
hardware, and retries with software. The case that didn't work was when
decoding the current packet didn't immediately lead to a new frame. Then
the filter chain wouldn't be reinitialized, and the playloop would stop
playback as soon as it encounters the error flag.

Fix this by resetting the filter error flag (back to "uninitialized"),
which is a rather violent, but somewhat working solution.

The fallback in general should perhaps be cleaned up later.
2013-11-23 22:28:39 +01:00
..
dec_video.c video: move handling of container vs. stream AR out of vd_lavc.c 2013-11-23 21:40:51 +01:00
dec_video.h video: don't overwrite demuxer FPS value 2013-11-23 21:41:40 +01:00
lavc_dr1.c Attempt to fix build on older libavcodec versions 2013-11-23 22:08:18 +01:00
lavc.h video: move handling of container vs. stream AR out of vd_lavc.c 2013-11-23 21:40:51 +01:00
vaapi.c video: move struct mp_hwdec_info into its own header file 2013-11-23 21:26:31 +01:00
vd_lavc.c vd_lavc: when falling back to software, revert filter error status 2013-11-23 22:28:39 +01:00
vd.h video: move decoder context from sh_video into new struct 2013-11-23 21:36:20 +01:00
vda.c video: add vda decode support (with hwaccel) and direct rendering 2013-08-22 12:13:30 +02:00
vdpau_old.c Attempt to fix build on older libavcodec versions 2013-11-23 22:08:18 +01:00
vdpau.c video: move struct mp_hwdec_info into its own header file 2013-11-23 21:26:31 +01:00