mpv-player / mpv-player/mpv

Unable to view large images on OpenGL video output

Open
#4,264 37 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

mpv version and platform
mpv git-a993a871e (C) 2000-2017 mpv/MPlayer/mplayer2 projects
 built on Thu Mar 23 17:14:22 CET 2017
ffmpeg library versions:
   libavutil       55.34.101
   libavcodec      57.64.101
   libavformat     57.56.101
   libswscale      4.2.100
   libavfilter     6.65.100
   libswresample   2.3.100
ffmpeg version: 3.2.4
Reproduction steps

Try to open large file:

wget -O ~/mars.jpg "https://upload.wikimedia.org/wikipedia/commons/2/28/'Calypso'_Panorama_of_Spirit's_View_from_'Troy'.jpg"
mpv ~/mars.jpg --no-config --loop-file=inf --profile=opengl-hq
Expected behavior

I should see planet Mars

Actual behavior

I see black window instead

I can see the image fine on vo=x11, however, vo=opengl,x11 doesn't fall through onto x11.
Suspected cause - my GPU can't handle GL textures this big, and the error happens too late to be caught by the code that would fall back to x11.

Log file
[playlist] Reading plaintext playlist.
Playing: /home/rr-/mars.jpg
 (+) Video --vid=1 (mjpeg)
[ffmpeg/video] mjpeg: overread 8
[ffmpeg/video] mjpeg: EOI missing, emulating
VO: [opengl] 23123x5093 yuv444p
[vo/opengl] after video texture creation: OpenGL error INVALID_VALUE.
[vo/opengl] after creating framebuffer texture: OpenGL error INVALID_VALUE
[vo/opengl] Error: framebuffer completeness check failed (error=36054).
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after creating framebuffer texture: OpenGL error INVALID_VALUE
[vo/opengl] Error: framebuffer completeness check failed (error=36054).
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after creating framebuffer texture: OpenGL error INVALID_VALUE
[vo/opengl] Error: framebuffer completeness check failed (error=36054).
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after creating framebuffer texture: OpenGL error INVALID_VALUE
[vo/opengl] Error: framebuffer completeness check failed (error=36054).
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after creating framebuffer texture: OpenGL error INVALID_VALUE
[vo/opengl] Error: framebuffer completeness check failed (error=36054).
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
V: 00:00:00 / 00:00:01 (0%)
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
[vo/opengl] after rendering: OpenGL error INVALID_FRAMEBUFFER_OPERATION.
V: 00:00:00 / 00:00:01 (0%)


Exiting... (Quit)
Sample files

https://upload.wikimedia.org/wikipedia/commons/2/28/'Calypso'_Panorama_of_Spirit's_View_from_'Troy'.jpg

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 supplied wget and mpv commands, using the 23123x5093 sample image and the OpenGL error log as a baseline. Trace the vo=opengl,x11 video-output initialization and fallback path, then verify that an oversized image either displays successfully or falls back to x11 without repeated framebuffer errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, desktop
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.