mpv-player / mpv-player/mpv

Polar scalers behave weird with vo=gpu on Android

Open
#13,886 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Important Information

Provide following Information:

  • mpv version: mpv v0.37.0-738-gf974382ca0
  • Platform and Version: Android 12
  • Source of the mpv binary: https://github.com/mpv-android/mpv-android/releases/tag/2024-04-09
  • If known which version of mpv introduced the problem: Unknown
  • GPU model, driver and version:
    Qualcomm Adreno 650
    OpenGL ES 3.2 V@0530.0 (GIT@4a124bc, I55aa49cfcc, 1622723547) (Date:06/03/21)
Reproduction steps

Output with config
no-config vo=gpu hwdec=no scale=lanczos
lanczos

Output with config
no-config vo=gpu hwdec=no scale=ewa_lanczos
ewa_lanczos

  • Reproducible when including profile=fast options except scale
  • Doesn't happen with vo=gpu-next (see below)
  • Artifacts not visible on screenshots taken with mpv, but they are visible on screen, and therefore show up when taking screenshot through Android

FWIW, output with config
no-config vo=gpu-next hwdec=no scale=ewa_lanczos
ewa_lanczos_gpu-next

Expected behavior

Polar scalers upscale videos normally on vo=gpu, as they do on vo=gpu-next

Actual behavior

Visual artifacts show up when upscaling videos with polar scalers on vo=gpu

Log file

lanczos.log
ewa_lanczos.log

ewa_lanczos_gpu-next.log

Sample files

https://github.com/mpv-player/mpv/assets/36733368/e72916c0-8838-4330-a89d-781276de300a

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 artifacts with vo=gpu, hwdec=no, and the listed lanczos and ewa_lanczos settings on Android 12. Compare the result with vo=gpu-next using the attached logs and sample file; done means polar scalers upscale normally on vo=gpu without visible screen artifacts.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c
Domain
computer-graphics, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.