mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.74k stars 2.93k forks source link

mpv vaapi decode and video output gpu (--vo=gpu) unable to render YUYV format decoded image or video, shows blue screen #11604

Open sathishm8 opened 1 year ago

sathishm8 commented 1 year ago

Important Information

Reproduction steps

mpv --hwdec=vaapi --hwdec-codecs=all --vo=gpu yuvj422p.jpg

mpv mjpeg decode with vaapi hardware acceleration and render using video output gpu is showing blue screen, hardware accelerated decode succeeds, but rendering fails.

Expected behavior

decoded video/picture must be rendered

Actual behavior

blue screen

Log file

https://github.com/mpv-player/mpv/issues/11604#issuecomment-1515854593

Sample files

https://user-images.githubusercontent.com/67162311/233290290-89c1968d-07cc-488e-bbf6-ff713d0f21c0.jpg

sathishm8 commented 1 year ago

yuvj422p

jpg source image

sathishm8 commented 1 year ago

yuv422-mjpeg-decode.log

CounterPillow commented 1 year ago

Note for maintainers: Also broken in git master, it seems. Extra broken with gpu-next.

Invocation with gpu-next:

$ mpv --vo=gpu-next --no-config --hwdec-codecs=all --hwdec=vaapi --gpu-debug --log-file=/tmp/jpegissue.log https://user-images.githubusercontent.com/67162311/233290290-89c1968d-07cc-488e-bbf6-ff713d0f21c0.jpg
 (+) Video --vid=1 (mjpeg 1920x1080 1.000fps)
Using hardware decoding (vaapi).
VO: [gpu-next] 1920x1080 vaapi[yuyv422]
[vo/gpu-next/libplacebo] GL: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE)
[vo/gpu-next/libplacebo]   Backtrace:
[vo/gpu-next/libplacebo]     #0  0x00007ff6e48f99f1 in __driDriverGetExtensions_d3d12+0x23d731 at /usr/lib/dri/radeonsi_dri.so+0x2f99f1
[vo/gpu-next/libplacebo]     #1  0x0000557d0d7ed4ab in pl_opengl_wrap+0x31b at mpv+0x12f54ab
[vo/gpu-next/libplacebo]     #2  0x0000557d0d7f0f86 in gl_sw_resize+0x106 at mpv+0x12f8f86
[vo/gpu-next/libplacebo]     #3  0x0000557d0d7dc26d in pl_swapchain_resize+0x3d at mpv+0x12e426d
[vo/gpu-next/libplacebo]     #4  0x0000557d0c891e73 in gpu_ctx_resize+0x43 at mpv+0x399e73
[vo/gpu-next/libplacebo]     #5  0x0000557d0c891db3 in reconfig+0xe3 at mpv+0x399db3
[vo/gpu-next/libplacebo]     #6  0x0000557d0c852a56 in run_reconfig+0x236 at mpv+0x35aa56
[vo/gpu-next/libplacebo]     #7  0x0000557d0c7c3767 in mp_dispatch_queue_process+0xd7 at mpv+0x2cb767
[vo/gpu-next/libplacebo]     #8  0x0000557d0c85419d in vo_thread+0x14d at mpv+0x35c19d
[vo/gpu-next/libplacebo]     #9  0x00007ff70a8e0bb5 in pthread_condattr_setpshared+0x4e5 at /usr/lib/libc.so.6+0x85bb5
[vo/gpu-next/libplacebo]     #10 0x00007ff70a962d90 in __clone+0x120 at /usr/lib/libc.so.6+0x107d90
[vo/gpu-next/libplacebo] GL: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE)
[vo/gpu-next/libplacebo]   Backtrace:
[vo/gpu-next/libplacebo]     #0  0x00007ff6e48f99f1 in __driDriverGetExtensions_d3d12+0x23d731 at /usr/lib/dri/radeonsi_dri.so+0x2f99f1
[vo/gpu-next/libplacebo]     #1  0x0000557d0d7ed515 in pl_opengl_wrap+0x385 at mpv+0x12f5515
[vo/gpu-next/libplacebo]     #2  0x0000557d0d7f0f86 in gl_sw_resize+0x106 at mpv+0x12f8f86
[vo/gpu-next/libplacebo]     #3  0x0000557d0d7dc26d in pl_swapchain_resize+0x3d at mpv+0x12e426d
[vo/gpu-next/libplacebo]     #4  0x0000557d0c891e73 in gpu_ctx_resize+0x43 at mpv+0x399e73
[vo/gpu-next/libplacebo]     #5  0x0000557d0c891db3 in reconfig+0xe3 at mpv+0x399db3
[vo/gpu-next/libplacebo]     #6  0x0000557d0c852a56 in run_reconfig+0x236 at mpv+0x35aa56
[vo/gpu-next/libplacebo]     #7  0x0000557d0c7c3767 in mp_dispatch_queue_process+0xd7 at mpv+0x2cb767
[vo/gpu-next/libplacebo]     #8  0x0000557d0c85419d in vo_thread+0x14d at mpv+0x35c19d
[vo/gpu-next/libplacebo]     #9  0x00007ff70a8e0bb5 in pthread_condattr_setpshared+0x4e5 at /usr/lib/libc.so.6+0x85bb5
[vo/gpu-next/libplacebo]     #10 0x00007ff70a962d90 in __clone+0x120 at /usr/lib/libc.so.6+0x107d90
[vo/gpu-next/libplacebo] GL: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE)
[vo/gpu-next/libplacebo]   Backtrace:
[vo/gpu-next/libplacebo]     #0  0x00007ff6e48f99f1 in __driDriverGetExtensions_d3d12+0x23d731 at /usr/lib/dri/radeonsi_dri.so+0x2f99f1
[vo/gpu-next/libplacebo]     #1  0x0000557d0d7ed52e in pl_opengl_wrap+0x39e at mpv+0x12f552e
[vo/gpu-next/libplacebo]     #2  0x0000557d0d7f0f86 in gl_sw_resize+0x106 at mpv+0x12f8f86
[vo/gpu-next/libplacebo]     #3  0x0000557d0d7dc26d in pl_swapchain_resize+0x3d at mpv+0x12e426d
[vo/gpu-next/libplacebo]     #4  0x0000557d0c891e73 in gpu_ctx_resize+0x43 at mpv+0x399e73
[vo/gpu-next/libplacebo]     #5  0x0000557d0c891db3 in reconfig+0xe3 at mpv+0x399db3
[vo/gpu-next/libplacebo]     #6  0x0000557d0c852a56 in run_reconfig+0x236 at mpv+0x35aa56
[vo/gpu-next/libplacebo]     #7  0x0000557d0c7c3767 in mp_dispatch_queue_process+0xd7 at mpv+0x2cb767
[vo/gpu-next/libplacebo]     #8  0x0000557d0c85419d in vo_thread+0x14d at mpv+0x35c19d
[vo/gpu-next/libplacebo]     #9  0x00007ff70a8e0bb5 in pthread_condattr_setpshared+0x4e5 at /usr/lib/libc.so.6+0x85bb5
[vo/gpu-next/libplacebo]     #10 0x00007ff70a962d90 in __clone+0x120 at /usr/lib/libc.so.6+0x107d90
[vo/gpu-next/libplacebo] GL: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE)
[vo/gpu-next/libplacebo]   Backtrace:
[vo/gpu-next/libplacebo]     #0  0x00007ff6e48f99f1 in __driDriverGetExtensions_d3d12+0x23d731 at /usr/lib/dri/radeonsi_dri.so+0x2f99f1
[vo/gpu-next/libplacebo]     #1  0x0000557d0d7ed547 in pl_opengl_wrap+0x3b7 at mpv+0x12f5547
[vo/gpu-next/libplacebo]     #2  0x0000557d0d7f0f86 in gl_sw_resize+0x106 at mpv+0x12f8f86
[vo/gpu-next/libplacebo]     #3  0x0000557d0d7dc26d in pl_swapchain_resize+0x3d at mpv+0x12e426d
[vo/gpu-next/libplacebo]     #4  0x0000557d0c891e73 in gpu_ctx_resize+0x43 at mpv+0x399e73
[vo/gpu-next/libplacebo]     #5  0x0000557d0c891db3 in reconfig+0xe3 at mpv+0x399db3
[vo/gpu-next/libplacebo]     #6  0x0000557d0c852a56 in run_reconfig+0x236 at mpv+0x35aa56
[vo/gpu-next/libplacebo]     #7  0x0000557d0c7c3767 in mp_dispatch_queue_process+0xd7 at mpv+0x2cb767
[vo/gpu-next/libplacebo]     #8  0x0000557d0c85419d in vo_thread+0x14d at mpv+0x35c19d
[vo/gpu-next/libplacebo]     #9  0x00007ff70a8e0bb5 in pthread_condattr_setpshared+0x4e5 at /usr/lib/libc.so.6+0x85bb5
[vo/gpu-next/libplacebo]     #10 0x00007ff70a962d90 in __clone+0x120 at /usr/lib/libc.so.6+0x107d90
[vo/gpu-next/libplacebo] GL: GL_INVALID_OPERATION in glGetFramebufferAttachmentParameteriv(invalid pname GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE)
[vo/gpu-next/libplacebo]   Backtrace:
[vo/gpu-next/libplacebo]     #0  0x00007ff6e48f99f1 in __driDriverGetExtensions_d3d12+0x23d731 at /usr/lib/dri/radeonsi_dri.so+0x2f99f1
[vo/gpu-next/libplacebo]     #1  0x0000557d0d7ed560 in pl_opengl_wrap+0x3d0 at mpv+0x12f5560
[vo/gpu-next/libplacebo]     #2  0x0000557d0d7f0f86 in gl_sw_resize+0x106 at mpv+0x12f8f86
[vo/gpu-next/libplacebo]     #3  0x0000557d0d7dc26d in pl_swapchain_resize+0x3d at mpv+0x12e426d
[vo/gpu-next/libplacebo]     #4  0x0000557d0c891e73 in gpu_ctx_resize+0x43 at mpv+0x399e73
[vo/gpu-next/libplacebo]     #5  0x0000557d0c891db3 in reconfig+0xe3 at mpv+0x399db3
[vo/gpu-next/libplacebo]     #6  0x0000557d0c852a56 in run_reconfig+0x236 at mpv+0x35aa56
[vo/gpu-next/libplacebo]     #7  0x0000557d0c7c3767 in mp_dispatch_queue_process+0xd7 at mpv+0x2cb767
[vo/gpu-next/libplacebo]     #8  0x0000557d0c85419d in vo_thread+0x14d at mpv+0x35c19d
[vo/gpu-next/libplacebo]     #9  0x00007ff70a8e0bb5 in pthread_condattr_setpshared+0x4e5 at /usr/lib/libc.so.6+0x85bb5
[vo/gpu-next/libplacebo]     #10 0x00007ff70a962d90 in __clone+0x120 at /usr/lib/libc.so.6+0x107d90
[vo/gpu-next/libplacebo] gl_fb_query: OpenGL error: GL_INVALID_OPERATION
[vo/gpu-next] Initializing texture for hardware decoding failed.
[vo/gpu-next/libplacebo] Failed mapping frame id 0 with PTS 0.000000
[vo/gpu-next] Failed updating frames!
[vo/gpu-next] Failed updating frames!
[vo/gpu-next] Failed updating frames!
[vo/gpu-next] Failed updating frames!
V: 00:00:00 / 00:00:00 (0%) Cache: 0.0s

Exiting... (End of file)
philipl commented 1 year ago

We don't support packed formats in vo=gpu or vo=gpu-next today, so this failure is expected.

sathishm8 commented 1 year ago

okay, thank you for confirming.

nowrep commented 1 week ago

This now works, fixed with 59478b0059f3af023eb3e9f9d3ac5fa537ce1caf

   cplayer:  (+) Video --vid=1 (mjpeg 1820x1226 1.000fps)
        vd: Using hardware decoding (vaapi).
autoconvert: Converting vaapi[yuyv422] -> vaapi[nv12]
    cplayer: VO: [gpu-next] 1820x1226 vaapi[nv12]
    cplayer: Exiting... (End of file)