mpv-player / mpv-player/mpv

Regression: `--background=tiles` shows solid black instead of checkerboard on `vo=gpu-next` (works fine on `vo=gpu`)

Open
#18,496 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

mpv Information
mpv v0.41.0-1012-ge8673660a Copyright © 2000-2026 mpv/MPlayer/mplayer2 projects
 built on Aug 29 2026 00:29:12
libplacebo version: v7.371.0 (v7.360.0-118-g41ac298-dirty)
FFmpeg version: N-126314-g3386acd2f
FFmpeg library versions:
   libavcodec      63.8.101
   libavdevice     63.2.100
   libavfilter     12.3.101
   libavformat     63.6.100
   libavutil       61.6.100
   libswresample   7.2.100
   libswscale      10.2.100
Other Information
- Windows version: Windows 11
- GPU model, driver and version: NVIDIA
- Source of mpv: Windows build
- Latest known working version: mpv v0.41.0-dev-g41f6a6450 (Built on Dec 21 2025)
- Issue started after the following happened: Upgrading to recent 2026 builds.
Reproduction Steps
Expected behavior

When playing a video with an alpha channel (e.g. MOV Animation or WebM yuva420p), using --background=tiles should render a checkerboard pattern behind the transparent video.

Actual behavior

With --vo=gpu-next, the background renders as solid black instead of tiles.
However, switching to --vo=gpu renders the checkerboard perfectly on the exact same build.
This seems to be a regression in gpu-next / libplacebo handling of alpha/tiles, or possibly related to the recent FFmpeg 9.0/libavcodec 63 update which seems to drop A=straight metadata for some files.

Reproduction steps
  1. Open a video with transparency.
  2. Run: mpv --no-config --background=tiles --vo=gpu-next video.mov -> (Result: Solid Black)
  3. Run: mpv --no-config --background=tiles --vo=gpu video.mov -> (Result: Checkerboard appears correctly)

input.zip

Expected Behavior

When playing a video with an alpha channel (like MOV Animation or WebM yuva420p), using the --background=tiles option should render a checkerboard pattern behind the transparent video to indicate transparency.

Actual Behavior

With --vo=gpu-next, the background renders as solid black instead of the expected tiles.
However, switching the renderer to --vo=gpu renders the checkerboard perfectly on the exact same build.
This seems to be a regression in how gpu-next or libplacebo handles alpha/tiles, or possibly related to the recent FFmpeg 9.0/libavcodec 63 update which seems to drop A=straight metadata for some files during decoding.

Reproduction steps:

  1. Open a video with transparency (e.g. MOV).
  2. Run: mpv --no-config --background=tiles --vo=gpu-next video.mov (Result: Solid Black)
  3. Run: mpv --no-config --background=tiles --vo=gpu video.mov (Result: Checkerboard appears correctly)
Log File

mpv_log.txt

Sample Files

No response

I carefully read all instruction and confirm that I did the following:
  • I tested and confirmed that the issue exists with the latest release version or newer.
  • 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

  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

Reproduce the issue with the attached input.zip using --background=tiles and compare --vo=gpu-next against --vo=gpu, then read mpv_log.txt for the rendering and alpha-handling differences. Done means the transparent video shows the checkerboard with --vo=gpu-next as it does with --vo=gpu, without regressing the existing renderer.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc, cli, computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.