mpv-player / mpv-player/mpv

Video flickering on secondary monitor when using interpolation with tscale=box

Open
#11,465 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information

Whenever a Video is played on another monitor than my primary it flickers really bad when using these interpolation options:
--tscale=box --tscale-window=quadric --tscale-clamp=0.0 --tscale-radius=1.025
I've tried just the default parameters for box as well, same issue.

However once I move the video back onto the main screen it stops flickering.

On a side note, mpv tells me my estimated display-fps is ~180Hz even when i have the window on the 60Hz screen.

Video demonstrating the flicker: https://0x0.st/s/M_pyMkvivOwPqW81yVfcIg/H-_B.mp4

Provide following Information:

Reproduction steps

Open MPV via: >mpv --no-config -v -v --log-file=debug.txt --video-sync=display-resample --tscale=box --tscale-window=quadric --tscale-clamp=0.0 --tscale-radius=1.025 --interpolation=yes --vo=gpu-next ytdl://https://www.youtube.com/watch?v=7ePaVk7TKGM

Move video from 180Hz main screen to another screen that is 60Hz.
Video in mpv now flickers. (See video)

Expected behavior

No flicker

Actual behavior

Flicker.

Log file

https://0x0.st/s/31O7IqeOxpbLcRA8oNwyew/H-_u.txt

Sample files

I was using a youtube video as demo via ytdl inside mpv (See command up top): https://www.youtube.com/watch?v=7ePaVk7TKGM`

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 with the provided mpv command and reproduce the issue on Windows using 180Hz and 60Hz monitors, with gpu-next, display-resample, interpolation, and tscale=box enabled. Compare the behavior and estimated display-fps while moving the video between screens; done means the secondary display no longer flickers and display timing is reported correctly.

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
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.