-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
mpv Information
mpv v0.40.0-dirty Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
built on Jul 14 2025 14:00:27
libplacebo version: v7.351.0
FFmpeg version: n7.1.1
FFmpeg library versions:
libavcodec 61.19.101
libavdevice 61.3.100
libavfilter 10.4.100
libavformat 61.7.100
libavutil 59.39.100
libswresample 5.3.100
libswscale 8.3.100
Other Information
- Linux version: Arch Linux
- Kernel Version: 6.15.6.arch1-1
- GPU Model: Intel HD 4400
- Mesa/GPU Driver Version: mesa 1:25.1.5-1
- Window Manager and Version: sway 1:1.11-1
- Source of mpv: Arch official repo (extra/mpv)
- Latest known working version: unknown
- Issue started after the following happened: unknown
Reproduction Steps
Hardware decode a h264/mjpeg/jpeg yuv444p pixel format bitstream with the height or width larger than 4096 pixels (i.e, mpv -v -hwdec=auto yuv444p.jpg
).
Expected Behavior
hwdec=auto|vaapi,vaapi-copy,no
should decode output even if the hardware decoding fails for any reason (e.g., HW scaling size constraints).
Actual Behavior
All decoders tried after the HW decoder, fails. The same decoders works if the HW decoding isn't tried first.
Log File
yuv444p.failure.log.txt This run fails to decode video using any available decoder because the hardware filters configured are not removed by MPV.
yuv444p.success.log.txt This run successfully outputs video using vaapi-copy
because no hardware filters are inserted by MPV.
yuv420p.log.txt This run successfully outputs video using vaapi-copy
. HW decode filter graph is correctly configured.
Sample Files
-hwdec=auto|vaapi,vaapi-copy -gpu-hwdec-interop=auto|vaapi
does not decode YUV444P
Hardware filters (probably inserted by hwdec_interop
) aren't replaced with software equivalent before fallback to *-copy
. Fallback to *-copy
with hardware filters still enabled (such as scale_vaapi
), causing decode failure and FFmpeg to error out.
[vd] Codec list:
[vd] mjpeg - MJPEG (Motion JPEG)
[vd] mjpeg_cuvid (mjpeg) - Nvidia CUVID MJPEG decoder
[vd] mjpeg_qsv (mjpeg) - MJPEG video (Intel Quick Sync Video acceleration)
[vd] Opening decoder mjpeg
[vd] Looking at hwdec mjpeg-nvdec...
[vo/gpu-next] Loading hwdec drivers for format: 'cuda'
[vo/gpu-next] Loading hwdec driver 'cuda'
Cannot load libcuda.so.1
[vo/gpu-next/cuda] Failed to load CUDA symbols
[vo/gpu-next] Loading failed.
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-vaapi...
[vo/gpu-next] Loading hwdec drivers for format: 'vaapi'
[vo/gpu-next] Loading hwdec driver 'vaapi'
[vo/gpu-next/vaapi] using libplacebo dmabuf interop
[vo/gpu-next/vaapi] Trying to open a x11 VA display...
[vo/gpu-next/vaapi] Trying to open a wayland VA display...
[vo/gpu-next/vaapi/vaapi] libva: VA-API version 1.23.0
[vo/gpu-next/vaapi/vaapi] libva: User environment variable requested driver 'i965'
[vo/gpu-next/vaapi/vaapi] libva: Trying to open /usr/lib/dri/i965_drv_video.so
[vo/gpu-next/vaapi/vaapi] libva: Found init function __vaDriverInit_1_23
error: failed to resolve wl_drm_interface(): /usr/lib/libEGL_mesa.so.0: undefined symbol: wl_drm_interface
[vo/gpu-next/vaapi/vaapi] libva: va_openDriver() returns 0
[vo/gpu-next/vaapi/vaapi] Initialized VAAPI: version 1.23
[vo/gpu-next/vaapi] Going to probe surface formats (may log bogus errors)...
[ffmpeg] AVHWFramesContext: Failed to create surface: 14 (the requested RT Format is not supported).
[ffmpeg] AVHWFramesContext: Unable to allocate a surface from internal buffer pool.
[vo/gpu-next/vaapi] Done probing surface formats.
[vd] Trying hardware decoding via mjpeg-vaapi.
[vd] Selected decoder: mjpeg - MJPEG (Motion JPEG)
[vf] User filter list:
[vf] (empty)
[cplayer] Starting playback...
[lavf] EOF reached.
[vd] Pixel formats supported by decoder: cuda vaapi yuvj444p
[vd] Codec profile: Baseline (0xc0)
[vd] Requesting pixfmt 'vaapi' from decoder.
[vd] Using hardware decoding (vaapi).
[vd] Decoder format: 4032x6048 vaapi[yuv444p] bt.601/auto/auto/full/auto CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [in] 4032x6048 vaapi[yuv444p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [userdeint] 4032x6048 vaapi[yuv444p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 4032x6048 vaapi[yuv444p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 4032x6048 vaapi[yuv444p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vo/gpu-next] Loading hwdec drivers for format: 'vaapi'
[hwupload] Hardware conversion: scale_vaapi (yuv444p -> nv12)
[autoconvert] Converting vaapi[yuv444p] -> vaapi[nv12]
[lavfi] Configuring hwdec_interop=vaapi for filter graph: scale_vaapi
[ffmpeg] filter: Hardware does not support scaling to size 4032x6048 (constraints: width 0-4096 height 0-4096).
[ffmpeg] filter: Failed to configure output pad on filter
[lavfi] failed to configure the filter graph
[vf] Cannot convert decoder/filter output to any format supported by the output.
[vf] filter output EOF
[vd] Attempting next decoding method after failure of mjpeg-vaapi.
[vd] Looking at hwdec mjpeg-nvdec-copy...
[ffmpeg] AVHWDeviceContext: Cannot load libcuda.so.1
[ffmpeg] AVHWDeviceContext: Could not dynamically load CUDA
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-vaapi-copy...
[vaapi] libva: VA-API version 1.23.0
[vaapi] libva: User environment variable requested driver 'i965'
[vaapi] libva: Trying to open /usr/lib/dri/i965_drv_video.so
[vaapi] libva: Found init function __vaDriverInit_1_23
[vaapi] libva: va_openDriver() returns 0
[vaapi] Initialized VAAPI: version 1.23
[vd] Trying hardware decoding via mjpeg-vaapi-copy.
[osd/libass] libass API version: 0x1704000
[osd/libass] libass source: commit: 0.17.4-0-gbbb3c7f1570a4a021e52683f3fbdf74fe492ae84
[osd/libass] Shaper: FriBidi 1.0.16 (SIMPLE) HarfBuzz-ng 11.2.1 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vf] filter input EOF
[lavfi] Configuring hwdec_interop=vaapi for filter graph: scale_vaapi
[ffmpeg] Impossible to convert between the formats supported by the filter 'mpv_src_default_in' and the filter 'auto_scale_0'
[lavfi] failed to configure the filter graph
[vf] Cannot convert decoder/filter output to any format supported by the output.
[vf] filter output EOF
[vd] Attempting next decoding method after failure of mjpeg-vaapi-copy.
[vd] Using software decoding.
[vd] Detected 4 logical cores.
[vd] Requesting 5 threads for decoding.
[vf] filter input EOF
[lavfi] Configuring hwdec_interop=vaapi for filter graph: scale_vaapi
[ffmpeg] Impossible to convert between the formats supported by the filter 'mpv_src_default_in' and the filter 'auto_scale_0'
[lavfi] failed to configure the filter graph
[vf] Cannot convert decoder/filter output to any format supported by the output.
[vf] filter output EOF
[cplayer] Could not initialize video chain.
-hwdec=auto|vaapi-copy -gpu-hwdec-interop=no|auto
decodes YUV444P
[vd] Codec list:
[vd] mjpeg - MJPEG (Motion JPEG)
[vd] mjpeg_cuvid (mjpeg) - Nvidia CUVID MJPEG decoder
[vd] mjpeg_qsv (mjpeg) - MJPEG video (Intel Quick Sync Video acceleration)
[vd] Opening decoder mjpeg
[vd] Looking at hwdec mjpeg-nvdec...
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-vaapi...
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-nvdec-copy...
[ffmpeg] AVHWDeviceContext: Cannot load libcuda.so.1
[ffmpeg] AVHWDeviceContext: Could not dynamically load CUDA
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-vaapi-copy...
[vaapi] libva: VA-API version 1.23.0
[vaapi] libva: User environment variable requested driver 'i965'
[vaapi] libva: Trying to open /usr/lib/dri/i965_drv_video.so
[vaapi] libva: Found init function __vaDriverInit_1_23
[vaapi] libva: va_openDriver() returns 0
[vaapi] Initialized VAAPI: version 1.23
[vd] Trying hardware decoding via mjpeg-vaapi-copy.
[vd] Selected decoder: mjpeg - MJPEG (Motion JPEG)
[vf] User filter list:
[vf] (empty)
[cplayer] Starting playback...
[lavf] EOF reached.
[vd] Pixel formats supported by decoder: cuda vaapi yuvj444p
[vd] Codec profile: Baseline (0xc0)
[vd] Requesting pixfmt 'vaapi' from decoder.
[vd] Using hardware decoding (vaapi-copy).
[vd] Decoder format: 4032x6048 nv12 bt.601/auto/auto/full/auto CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [in] 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [userdeint] 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vf] [convert] (disabled)
[vf] [out] 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[osd/libass] libass API version: 0x1704000
[osd/libass] libass source: commit: 0.17.4-0-gbbb3c7f1570a4a021e52683f3fbdf74fe492ae84
[osd/libass] Shaper: FriBidi 1.0.16 (SIMPLE) HarfBuzz-ng 11.2.1 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vf] filter input EOF
[vf] filter output EOF
[cplayer] assuming single-image video stream
[cplayer] VO: [gpu-next] 4032x6048 nv12
[cplayer] VO: Description: Video output based on libplacebo
[vo/gpu-next] reconfig to 4032x6048 nv12 bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4032x6048+0+0
[vo/gpu-next/wayland] Reconfiguring!
[vo/gpu-next] Window size: 480x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4032x6048 (300:300)
[vo/gpu-next] Video display: (1776, 2664) 480x720 -> (0, 0) 480x720
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1776 t=-2664 r=-1776 b=-2664
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[vo/gpu-next/wayland] Handling resize on the vk side
[vo/gpu-next] Window size: 480x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4032x6048 (300:300)
[vo/gpu-next] Video display: (1776, 2664) 480x720 -> (0, 0) 480x720
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1776 t=-2664 r=-1776 b=-2664
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[vo/gpu-next/libplacebo] Dithering to 8 bit depth
[vo/gpu-next/wayland] Obtained preferred fractional scale, 1.000000, from the compositor.
[vo/gpu-next/wayland] Given data offer with mime type text/plain;charset=utf-8
[vo/gpu-next/wayland] Resizing due to xdg from 480x720 to 1920x1080
[cplayer] first video frame after restart shown
[vo/gpu-next/wayland] Handling resize on the vk side
[cplayer] playback restart complete @ -9223372036854775808.000000, audio=eof, video=playing
[vo/gpu-next] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4032x6048 (300:300)
[vo/gpu-next] Video display: (1056, 2484) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1056 t=-2484 r=-1056 b=-2484
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[cplayer] assuming this is an image
[vo/gpu-next/wayland] Surface entered output Dell Inc. DELL S2216H (0x36), scale = 1.000000, refresh rate = 60.000000 Hz
[vo/gpu-next/wayland] Surface entered output Dell Inc. DELL S2216H (0x36), scale = 1.000000, refresh rate = 60.000000 Hz
[vo/gpu-next/wayland] Enabling idle inhibitor
[vo/gpu-next/wayland] Read 7 bytes from the data offer fd
[vo/gpu-next/wayland] Handling resize on the vk side
[vo/gpu-next] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4032x6048 (300:300)
[vo/gpu-next] Video display: (1056, 2484) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1056 t=-2484 r=-1056 b=-2484
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[osd/libass] libass API version: 0x1704000
[osd/libass] libass source: commit: 0.17.4-0-gbbb3c7f1570a4a021e52683f3fbdf74fe492ae84
[osd/libass] Shaper: FriBidi 1.0.16 (SIMPLE) HarfBuzz-ng 11.2.1 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[osd/libass] fontselect: (Source Code Pro, 400, 0) -> /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf, 0, SourceCodePro-Regular
[osd/libass] fontselect: (Source Code Pro, 700, 0) -> /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf, 0, SourceCodePro-Bold
[cplayer] video EOF reached
-hwdec=auto|vaapi,vaapi-copy -gpu-hwdec-interop=auto|vaapi
decodes YUV420P
[vd] Codec list:
[vd] mjpeg - MJPEG (Motion JPEG)
[vd] mjpeg_cuvid (mjpeg) - Nvidia CUVID MJPEG decoder
[vd] mjpeg_qsv (mjpeg) - MJPEG video (Intel Quick Sync Video acceleration)
[vd] Opening decoder mjpeg
[vd] Looking at hwdec mjpeg-nvdec...
[vo/gpu-next] Loading hwdec drivers for format: 'cuda'
[vo/gpu-next] Loading hwdec driver 'cuda'
Cannot load libcuda.so.1
[vo/gpu-next/cuda] Failed to load CUDA symbols
[vo/gpu-next] Loading failed.
[vd] Could not create device.
[vd] Looking at hwdec mjpeg-vaapi...
[vo/gpu-next] Loading hwdec drivers for format: 'vaapi'
[vo/gpu-next] Loading hwdec driver 'vaapi'
[vo/gpu-next/vaapi] using libplacebo dmabuf interop
[vo/gpu-next/vaapi] Trying to open a x11 VA display...
[vo/gpu-next/vaapi] Trying to open a wayland VA display...
[vo/gpu-next/vaapi/vaapi] libva: VA-API version 1.23.0
[vo/gpu-next/vaapi/vaapi] libva: User environment variable requested driver 'i965'
[vo/gpu-next/vaapi/vaapi] libva: Trying to open /usr/lib/dri/i965_drv_video.so
[vo/gpu-next/vaapi/vaapi] libva: Found init function __vaDriverInit_1_23
error: failed to resolve wl_drm_interface(): /usr/lib/libEGL_mesa.so.0: undefined symbol: wl_drm_interface
[vo/gpu-next/vaapi/vaapi] libva: va_openDriver() returns 0
[vo/gpu-next/vaapi/vaapi] Initialized VAAPI: version 1.23
[vo/gpu-next/vaapi] Going to probe surface formats (may log bogus errors)...
[ffmpeg] AVHWFramesContext: Failed to create surface: 14 (the requested RT Format is not supported).
[ffmpeg] AVHWFramesContext: Unable to allocate a surface from internal buffer pool.
[vo/gpu-next/vaapi] Done probing surface formats.
[vd] Trying hardware decoding via mjpeg-vaapi.
[vd] Selected decoder: mjpeg - MJPEG (Motion JPEG)
[vf] User filter list:
[vf] (empty)
[cplayer] Starting playback...
[lavf] EOF reached.
[vd] Pixel formats supported by decoder: cuda vaapi yuvj420p
[vd] Codec profile: Baseline (0xc0)
[vd] Requesting pixfmt 'vaapi' from decoder.
[vd] Using hardware decoding (vaapi).
[vd] Decoder format: 4928x3264 vaapi[yuv420p] bt.601/auto/auto/full/auto CL=mpeg1/jpeg crop=4928x3264+0+0
[vf] [in] 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[vf] [userdeint] 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[vo/gpu-next] Loading hwdec drivers for format: 'vaapi'
[vf] [out] 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[osd/libass] libass API version: 0x1704000
[osd/libass] libass source: commit: 0.17.4-0-gbbb3c7f1570a4a021e52683f3fbdf74fe492ae84
[osd/libass] Shaper: FriBidi 1.0.16 (SIMPLE) HarfBuzz-ng 11.2.1 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vf] filter input EOF
[vf] filter output EOF
[cplayer] assuming single-image video stream
[cplayer] VO: [gpu-next] 4928x3264 vaapi[yuv420p]
[cplayer] VO: Description: Video output based on libplacebo
[vo/gpu-next] reconfig to 4928x3264 vaapi[yuv420p] bt.601/bt.709/bt.1886/full/display CL=mpeg1/jpeg crop=4928x3264+0+0
[vo/gpu-next/wayland] Reconfiguring!
[vo/gpu-next] Window size: 1087x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4928x3264 (72:72)
[vo/gpu-next] Video display: (1920, 1272) 1087x720 -> (0, 0) 1087x720
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1920 t=-1272 r=-1921 b=-1272
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[vo/gpu-next/wayland] Handling resize on the vk side
[vo/gpu-next] Window size: 1087x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4928x3264 (72:72)
[vo/gpu-next] Video display: (1920, 1272) 1087x720 -> (0, 0) 1087x720
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1920 t=-1272 r=-1921 b=-1272
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[vo/gpu-next/libplacebo] Dithering to 8 bit depth
[vo/gpu-next/wayland] Obtained preferred fractional scale, 1.000000, from the compositor.
[vo/gpu-next/wayland] Given data offer with mime type text/plain;charset=utf-8
[vo/gpu-next/wayland] Resizing due to xdg from 1087x720 to 1920x1080
[cplayer] first video frame after restart shown
[vo/gpu-next/wayland] Handling resize on the vk side
[cplayer] playback restart complete @ -9223372036854775808.000000, audio=eof, video=playing
[vo/gpu-next] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4928x3264 (72:72)
[vo/gpu-next] Video display: (1504, 1092) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1504 t=-1092 r=-1504 b=-1092
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[cplayer] assuming this is an image
[vo/gpu-next/wayland] Enabling idle inhibitor
[vo/gpu-next/wayland] Surface entered output Dell Inc. DELL S2216H (0x36), scale = 1.000000, refresh rate = 60.000000 Hz
[vo/gpu-next/wayland] Surface entered output Dell Inc. DELL S2216H (0x36), scale = 1.000000, refresh rate = 60.000000 Hz
[vo/gpu-next/wayland] Read 15 bytes from the data offer fd
[vo/gpu-next/wayland] Handling resize on the vk side
[vo/gpu-next] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu-next] Video source: 4928x3264 (72:72)
[vo/gpu-next] Video display: (1504, 1092) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu-next] Video scale: 1.000000/1.000000
[vo/gpu-next] OSD borders: l=-1504 t=-1092 r=-1504 b=-1092
[vo/gpu-next] Video borders: l=0 t=0 r=0 b=0
[cplayer] video EOF reached
I carefully read all instruction and confirm that I did the following:
- I tested with the latest mpv version to validate that the issue is not already fixed.
- I provided all required information including system and mpv version.
- I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of
--log-file=output.txt
. - I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
- I attached the full, untruncated log file.
- I attached the backtrace in the case of a crash.