auto profile switches from `hwdec=auto-copy` to `hwdec=auto` and selects the wrong decoder.
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
mpv Information
mpv v0.40.0-216-g440f35a26 Copyright ?? 2000-2025 mpv/MPlayer/mplayer2 projects
built on Jul 16 2025 14:07:05
libplacebo version: v7.351.0 (v7.351.0-23-g69653ce-dirty)
FFmpeg version: N-120302-gbfab02629
FFmpeg library versions:
libavcodec 62.8.100
libavdevice 62.0.100
libavfilter 11.2.100
libavformat 62.1.103
libavutil 60.5.100
libswresample 6.0.100
libswscale 9.0.100
Other Information
- Windows version: Microsoft Windows [Version 10.0.26100.4946]
- GPU model, driver and version: GTX 1650, Studio, 580.97
- Source of mpv: https://github.com/zhongfly/mpv-winbuild/releases
- Latest known working version: Unknown
- Issue started after the following happened: Unknown
Reproduction Steps
Create portable_config
Add mpv.conf:
profile=high-quality
glsl-shader="~~/FSRCNNX_x2_16-0-4-1.glsl"
glsl-shader="~~/KrigBilateral.glsl"
fs=yes
keep-open=yes
hr-seek=yes
keep-open-pause=no
auto-window-resize=no
osd-bar-border-size=0.5
image-display-duration=0.4
input-default-bindings=no
watch-later-options-remove=pause
demuxer-max-bytes=1GiB
demuxer-max-back-bytes=1GiB
directory-mode=recursive
autocreate-playlist=filter
osd-bar-align-y=-0.98
osd-border-size=1
osd-font-size=30
alang=ja,en
volume-max=100
hwdec=auto-copy
target-colorspace-hint=yes
video-sync=display-resample
sub-auto=fuzzy
sub-fonts-dir=Fonts
sub-file-paths=Subs;eng;sub
screenshot-format=png
screenshot-png-compression=0
ytdl-raw-options=playlist-end=100
log-file=test.txt
# Profiles
[Switch from FSRCNNX x16 to FSRCNNX x8]
profile-cond=p["frame-drop-count"]>50 or p["mistimed-frame-count"]>50 or p["vo-delayed-frame-count"]>50
glsl-shaders-remove="~~/FSRCNNX_x2_16-0-4-1.glsl"
glsl-shaders-remove="~~/KrigBilateral.glsl"
glsl-shader="~~/FSRCNNX_x2_8-0-4-1.glsl"
glsl-shader="~~/KrigBilateral.glsl"
profile-restore=copy
[Turn off FSRCNNX x8 and KrigBilateral]
profile-cond=p["frame-drop-count"]>100 or p["mistimed-frame-count"]>100 or p["vo-delayed-frame-count"]>100
glsl-shaders-remove="~~/FSRCNNX_x2_8-0-4-1.glsl"
glsl-shaders-remove="~~/KrigBilateral.glsl"
profile-restore=copy
[Dropped frames]
profile-cond=p["frame-drop-count"]>30 or p["mistimed-frame-count"]>150 or p["vo-delayed-frame-count"]>150
hwdec=auto
Also add the correct user shaders.
Use yt-dlp to download https://www.youtube.com/watch?v=pQV8Xz2-SS0
Play the video.
Expected Behavior
hwdec=d3d11va
Actual Behavior
auto profile switches from hwdec=auto-copy to hwdec=auto and selects the wrong decoder.
[ 0.181][v][vd] Requesting pixfmt 'd3d11' from decoder.
[ 0.211][i][vd] Using hardware decoding (d3d11va-copy).
[ 1.486][w][vd] Error while decoding frame (hardware decoding)!
[ 1.489][v][vd] Attempting next decoding method after failure of vp9-d3d11va-copy.
[ 1.489][d][vd] Skipping previously attempted hwdec: vp9-d3d11va
[ 1.489][d][vd] Skipping previously attempted hwdec: vp9-vulkan
[ 1.489][d][vd] Skipping previously attempted hwdec: vp9-nvdec
[ 1.489][d][vd] Skipping previously attempted hwdec: vp9-vaapi
[ 1.489][d][vd] Skipping previously attempted hwdec: vp9-d3d11va-copy
[ 1.489][v][vd] Looking at hwdec vp9-vulkan-copy...
[ 1.604][v][vd] Requesting pixfmt 'vulkan' from decoder.
[ 1.606][d][ffmpeg/video] vp9: Vulkan decoder initialization successful
[ 1.615][i][vd] Using hardware decoding (vulkan-copy).
Log File
Sample Files
https://www.youtube.com/watch?v=pQV8Xz2-SS0
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the behavior with the listed portable_config/mpv.conf settings and inspect the attached test.txt log. Trace the profile transition from hwdec=auto-copy to hwdec=auto and the subsequent decoder fallback; done means the dropped-frames profile selects the expected decoder behavior instead of the wrong fallback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100