mpv-player / mpv-player/mpv

Jittery playback with gpu-next when starting 60fps video paused with 2x speed

Open
#10,470 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

vo:gpu-next
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information

Provide following Information:

  • mpv 0.34.0-386-g284fecc0bd
  • Arch Linux
  • compiled form source (latest master)
Reproduction steps
  1. Download haasns 60 fps test video
  2. run mpv --no-config --speed=2 --pause --force-window=immediate --vo=gpu-next --video-sync=display-resample --interpolation ~/Downloads/60.000.mkv
  3. reduce speed to 1 (e.g. by pressing backspace)
  4. start playback (e.g. by pressing space)

For me the playback looks like this (recorded with obs)

https://user-images.githubusercontent.com/8932183/182045512-cbbda9ee-bedf-4eef-bdc4-cea94efcb6df.mp4

Changing the speed during playback (e.g. pressing [ then undo with ]) makes playback smooth again.

This also happens with other 60 fps videos, this one is just convenient. It is also possible to reproduce this by starting mpv with the url, but then you have to wait until the file is opened before reducing speed to 1 and starting playback, otherwise it doesn't happen.
Does not happen when any of the configuration parameters are changed, with the exception that it also happens with --gpu-api=vulkan.
Was tested on a 60Hz monitor and I don't have a monitor with a different refresh rate to test with.

Expected behavior

Smooth playback

Actual behavior

Jittery playback (reported jitter is till low though)

Log file

jitter.txt started with speed=2
smooth.txt started with speed=3 (for comparison)

Sample files

haasns 60 fps test video

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the exact mpv command and the linked 60 fps sample video. Compare jitter.txt with smooth.txt, then verify whether changing speed or gpu-api changes the result; done means smooth playback after starting paused at 2x and reducing speed to 1.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.