GhostNaN / mpvpaper

A video wallpaper program for wlroots based wayland compositors.
GNU General Public License v3.0
703 stars 21 forks source link

GPU Support (Nvidia) #65

Closed EchterAlsFake closed 4 months ago

EchterAlsFake commented 4 months ago

Hi,

is there any support for GPU accelerated decoding? I have tried using --gpu-api=vulkan but still my CPU usage was at nearly 50%. If I try to use the Nvidia GPU directly with --vo=vdpau I get this message:

[!] mpvpaper does not support any other vo than "libmpv"

I need to say that I am currently using the f6700a branch as the never versions don't work with Nvidia for me.

My Setup:

Hyprland with the Nvidia proprietary drivers using a RTX 3060 Laptop GPU. I am trying to play a 4K video.

Thanks in advance :)

GhostNaN commented 4 months ago

is there any support for GPU accelerated decoding? I have tried using --gpu-api=vulkan but still my CPU usage was at nearly 50%. If I try to use the Nvidia GPU directly with --vo=vdpau I get this message: [!] mpvpaper does not support any other vo than "libmpv"

You shouldn't be using vdpau anyways. As said here: https://mpv.io/manual/stable/#video-output-drivers-vdpau "Uses the VDPAU interface to display and optionally also decode video. Hardware decoding is used with --hwdec=vdpau. Note that there is absolutely no reason to use this, other than compatibility. We strongly recommend that you use --vo=gpu with --hwdec=nvdec instead."

The VO is not the issue. As said here when I forced the VO: "This also supports many of the options the gpu VO has, depending on the backend." (The backend is OpenGL)

The only thing you need to do to use hardware decoding is to set the hwdec option correctly. https://mpv.io/manual/stable/#options-hwdec And when you run it in the terminal you should be able to use shortcut keys such as the stats overlay. https://mpv.io/manual/stable/#stats With that you could see what "HW" it's using.

I need to say that I am currently using the f6700a branch as the never versions don't work with Nvidia for me.

I cannot believe the Nvidia proprietary drivers are STILL having this issue after all the Wayland updates. I'm starting to wonder if I should just bring back the old render loop as a option.

GhostNaN commented 4 months ago

Also, could I ask you for a favor?

I did some more digging on the Nvidia issue and found something interesting. I saw some issues on the egl-wayland page for Nvidia: https://github.com/NVIDIA/egl-wayland/issues/48 https://github.com/NVIDIA/egl-wayland/issues/13

In the issue I found a potential fix I want you to try. Please add glDrawBuffer(GL_BACK); below this: https://github.com/GhostNaN/mpvpaper/blob/bc62e9ee762dda8e8cf05292d25a54fd66ca7844/src/main.c#L601-L604

Like so:

 if (!gladLoadGLLoader((GLADloadproc)eglGetProcAddress)) {
        cflp_error("Failed to load OpenGL 0x%X", eglGetError());
        exit_mpvpaper(EXIT_FAILURE);
    }

    glDrawBuffer(GL_BACK);

Compile and report back your findings.

EchterAlsFake commented 4 months ago

Thanks for your reply. I have tried using the methods you suggested but unfortunately there seems to be an issue in the nvidia drivers as I am getting this error:

[vaapi] libva: /usr/lib/dri/nvidia_drv_video.so init failed

I have already looked up for some solutions but it seems to be a big problem which is related to the proprietary nvidia driver on laptops with integrated GPUs. So I close this issue now since the method you suggested would probably work.

Thanks and thank you for your project. Except for the CPU usage it's really smooth and works very well :)

GhostNaN commented 4 months ago

Please read above, looks like we posted at the same time.

EchterAlsFake commented 4 months ago

Oh sorry just seen your answer. I will try it out

EchterAlsFake commented 4 months ago

Okay interesting. I checked out the master branch and added the modifications and it was working. I am still getting the issue with libva but without the fix the master branch wasn't able to display the video. Let me try this out on my other PC with multi monitor setup real quick

GhostNaN commented 4 months ago

No fucking way.

EchterAlsFake commented 4 months ago

So on my multi monitor setup (also Hyprland with proprietary nvidia drivers) it didn't work and I got an error saying:

[libmpv_render] after creating texture: OpenGL error INVALID_OPERATION.

GhostNaN commented 4 months ago

So close... so wait, on your laptop it just works? But if you try to run with multiple displays it doesn't? How about if you just ran with just 1 monitor on that PC like: mpvpaper DP-2 asdf.mp4 and not mpvpaper "*" asdf.mp4

GhostNaN commented 4 months ago

[libmpv_render] after creating texture: OpenGL error INVALID_OPERATION.

I've seen that before here: https://github.com/GhostNaN/mpvpaper/issues/30 But there might be more to that.

EchterAlsFake commented 4 months ago

wtf now it doesn't work anymore even on my laptop.

Okay wait...

When I run mpvpaper just normal in the terminal:

mpvpaper eDP-1 video.mp4

I get this errors:

[vaapi] libva: /usr/lib/dri/nvidia_drv_video.so init failed
Failed to recognize file format.

If I then apply this two environment variables:

export LIBVA_DRIVER_NAME=vdpau export VDPAU_DRIVER=nvidia

The libva error suddenly disappears and I only have the error with the file format left.

But what's really weird is, that I have made a script yesterday to pick random videos and this script is working. It's literally executing the exact same mpvpaper command in the exact same environment. But it's not always working. Sometimes I get the file error sometimes not.

When shit worked 25 minutes ago I connected my laptop to my second monitor and it worked. The videos was played on both monitors and after like 5 seconds it stopped playing but I am not sure if this is related to an error.

I need some sleep now since I have school tomorrow and I would go deeper into this with some debug testing after Wednesday.

GhostNaN commented 4 months ago

You might of made the rookie mistake of using the /bin/mpvpaper and not the new compiled ./mpvpaper Keep digging if you have the time as this bug with the new render loop has been a disaster.

EchterAlsFake commented 4 months ago

So I did some testing with my school beamer and the file format error was because my test file got somehow broken. I don't know how this happened but it did. Using another file fixed it. I could then play the videos on my laptops and the beamers monitor without any real problems. Just the first 6 frames dropped sometimes but I think this is more an issue from my graphics card and not directly from mpv. The hardware acceleration sadly still doesn't work. Even though I've fixed the libva issue or at least the error wasn't displayed by exporting the two variables I mentioned earlier above, my GPU wasn't used. No matter what. I tried using --hwdec=nvdec and using vulkan, but my CPU was always used.

On my main PC with the RTX 2070 Super I am still stuck with the OpenGL error. I did some debugging on it, but didn't found much useful for this project. Playing videos as usual in mpv works however.

I am doing more debug on my main pc later.

GhostNaN commented 4 months ago

I committed the fix to the main repo here: https://github.com/GhostNaN/mpvpaper/commit/b8354a751d18f7177812e4012c6232d2c5b48299 Just to see if it works for others with the main rendering issue.

As for the OpenGL error, I'm not so sure. Try looking at the log dump from mpv by running: mpvpaper -v -o "--log-file=output.txt" DP-3 /my/video.mp4

GhostNaN commented 4 months ago

No news on the OpenGL error. But I just realized the options passed to mpvpaper with --mpv-options was getting overridden by the options in the config files. So I gave the power back to mpvpaper with --mpv-options to override those options here: https://github.com/GhostNaN/mpvpaper/commit/9d1a6ed3ad050b84c7aee814e339ff5e53806878

Perhaps this will help solve one mystery you were having.

EchterAlsFake commented 4 months ago

Okay nice, I'll try it out :)

offeex commented 3 months ago

black screen for me when using nvidia: NVD_GPU=0 NVD_BACKEND=direct prime-run mpvpaper '*' .wallpapers/com.mp4 -o "--log-file=output.txt no-audio --loop-playlist"

[   0.000][d][global] user path: 'output.txt' -> 'output.txt'
[   0.002][v][cplayer] mpv v0.37.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
[   0.002][v][cplayer]  built on Jan 19 2024 09:09:45
[   0.002][v][cplayer] libplacebo version: v6.338.2
[   0.002][v][cplayer] FFmpeg version: n6.1.1
[   0.002][v][cplayer] FFmpeg library versions:
[   0.002][v][cplayer]    libavutil       58.29.100
[   0.002][v][cplayer]    libavcodec      60.31.102
[   0.002][v][cplayer]    libavformat     60.16.100
[   0.003][v][cplayer]    libswscale      7.5.100
[   0.003][v][cplayer]    libavfilter     9.12.100
[   0.003][v][cplayer]    libswresample   4.12.100
[   0.003][v][cplayer] 
[   0.003][v][cplayer] Configuration: -Db_lto=true -Db_pie=true -Dpython.bytecompile=1 -Dlibmpv=true -Dcaca=disabled -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibarchive=enabled -Dopenal=enabled -Dprefix=/usr -Dlibexecdir=lib -Dsbindir=bin -Dauto_features=auto -Dbuildtype=plain -Dwrap_mode=nodownload
[   0.003][v][cplayer] List of enabled features: alsa av-channel-layout avif-muxer build-date cdda cplugins cuda-hwaccel cuda-interop dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-helpers egl-wayland egl-x11 ffmpeg ffnvcodec gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg jpegxl lavu-uuid lcms2 libarchive libass libavdevice libbluray libdl libm libplacebo librt linux-fstatfs luajit manpage-build memfd-create noexecstack openal pipewire posix posix-shm ppoll pulse rubberband rubberband-3 shaderc sixel threads uchardet vaapi vaapi-drm vaapi-wayland vaapi-x11 vapoursynth vdpau vector vk-khr-display vt.h vulkan vulkan-interop wayland wayland-protocols-1-27 wayland-protocols-1-31 wayland-protocols-1-32 x11 xv zimg zimg-st428 zlib
[   0.003][v][cplayer] mpv v0.37.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
[   0.003][v][cplayer]  built on Jan 19 2024 09:09:45
[   0.003][v][cplayer] libplacebo version: v6.338.2
[   0.003][v][cplayer] FFmpeg version: n6.1.1
[   0.003][v][cplayer] FFmpeg library versions:
[   0.003][v][cplayer]    libavutil       58.29.100
[   0.003][v][cplayer]    libavcodec      60.31.102
[   0.003][v][cplayer]    libavformat     60.16.100
[   0.003][v][cplayer]    libswscale      7.5.100
[   0.003][v][cplayer]    libavfilter     9.12.100
[   0.003][v][cplayer]    libswresample   4.12.100
[   0.003][v][cplayer] 
[   0.003][v][cplayer] Configuration: -Db_lto=true -Db_pie=true -Dpython.bytecompile=1 -Dlibmpv=true -Dcaca=disabled -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibarchive=enabled -Dopenal=enabled -Dprefix=/usr -Dlibexecdir=lib -Dsbindir=bin -Dauto_features=auto -Dbuildtype=plain -Dwrap_mode=nodownload
[   0.003][v][cplayer] List of enabled features: alsa av-channel-layout avif-muxer build-date cdda cplugins cuda-hwaccel cuda-interop dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-helpers egl-wayland egl-x11 ffmpeg ffnvcodec gbm gl glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg jpegxl lavu-uuid lcms2 libarchive libass libavdevice libbluray libdl libm libplacebo librt linux-fstatfs luajit manpage-build memfd-create noexecstack openal pipewire posix posix-shm ppoll pulse rubberband rubberband-3 shaderc sixel threads uchardet vaapi vaapi-drm vaapi-wayland vaapi-x11 vapoursynth vdpau vector vk-khr-display vt.h vulkan vulkan-interop wayland wayland-protocols-1-27 wayland-protocols-1-31 wayland-protocols-1-32 x11 xv zimg zimg-st428 zlib
[   0.003][d][global] home path: '' -> '-'
[   0.003][d][global] user path: '~~home/' -> ''
[   0.003][d][global] user path: '~~old_home/' -> ''
[   0.004][d][global] user path: 'output.txt' -> 'output.txt'
[   0.004][d][ytdl_hook] Loading lua script @ytdl_hook.lua...
[   0.004][d][stats] Loading lua script @stats.lua...
[   0.004][d][console] Loading lua script @console.lua...
[   0.004][d][auto_profiles] Loading lua script @auto_profiles.lua...
[   0.004][d][stats] loading mp.defaults
[   0.004][d][ytdl_hook] loading mp.defaults
[   0.004][d][auto_profiles] loading mp.defaults
[   0.004][d][console] loading mp.defaults
[   0.004][v][cplayer] Waiting for scripts...
[   0.004][v][libmpv_render] GL_VERSION='4.6.0 NVIDIA 550.54.14'
[   0.004][v][libmpv_render] Detected desktop OpenGL 4.6.
[   0.004][v][libmpv_render] GL_VENDOR='NVIDIA Corporation'
[   0.004][v][libmpv_render] GL_RENDERER='NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2'
[   0.004][v][libmpv_render] GL_SHADING_LANGUAGE_VERSION='4.60 NVIDIA'
[   0.004][d][libmpv_render] Combined OpenGL extensions string:
[   0.004][d][libmpv_render]  GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_EGL_image_storage GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NVX_blend_equation_advanced_multi_draw_buffers GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_clip_space_w_scaling GL_NV_command_list GL_NV_compute_program5 GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_conservative_raster_pre_snap GL_NV_conservative_raster_pre_snap_triangles GL_NV_conservative_raster_underestimation GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_barycentric GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_mesh_shader GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_point_sprite GL_NV_primitive_restart GL_NV_primitive_shading_rate GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_representative_fragment_test GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_scissor_exclusive GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_float64 GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_shader_texture_footprint GL_NV_shading_rate_image GL_NV_stereo_view_rendering GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_dirty_tile_map GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_uniform_buffer_std430_layout GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_EGL_image GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum
[   0.004][v][libmpv_render] Loaded extension GL_KHR_debug.
[   0.004][v][libmpv_render] GL_*_swap_control extension missing.
[   0.005][d][auto_profiles] loading @auto_profiles.lua
[   0.005][d][stats] loading @stats.lua
[   0.005][d][ytdl_hook] loading @ytdl_hook.lua
[   0.005][d][console] loading @console.lua
[   0.005][d][libmpv_render] Texture formats:
[   0.005][d][libmpv_render]   NAME       COMP*TYPE SIZE           DEPTH PER COMP.
[   0.005][d][libmpv_render]   r8         1*unorm   1B    LF CR ST {8}
[   0.005][d][libmpv_render]   rg8        2*unorm   2B    LF CR ST {8 8}
[   0.005][d][libmpv_render]   rgb8       3*unorm   3B    LF CR ST {8 8 8}
[   0.005][d][libmpv_render]   rgba8      4*unorm   4B    LF CR ST {8 8 8 8}
[   0.005][d][libmpv_render]   r16        1*unorm   2B    LF CR ST {16}
[   0.005][d][libmpv_render]   rg16       2*unorm   4B    LF CR ST {16 16}
[   0.005][d][libmpv_render]   rgb16      3*unorm   6B    LF CR ST {16 16 16}
[   0.005][d][libmpv_render]   rgba16     4*unorm   8B    LF CR ST {16 16 16 16}
[   0.005][d][libmpv_render]   r8ui       1*uint    1B       CR ST {8}
[   0.005][d][libmpv_render]   rg8ui      2*uint    2B       CR ST {8 8}
[   0.005][d][libmpv_render]   rgb8ui     3*uint    3B          ST {8 8 8}
[   0.005][d][libmpv_render]   rgba8ui    4*uint    4B       CR ST {8 8 8 8}
[   0.005][d][libmpv_render]   r16ui      1*uint    2B       CR ST {16}
[   0.005][d][libmpv_render]   rg16ui     2*uint    4B       CR ST {16 16}
[   0.005][d][libmpv_render]   rgb16ui    3*uint    6B          ST {16 16 16}
[   0.005][d][libmpv_render]   rgba16ui   4*uint    8B       CR ST {16 16 16 16}
[   0.005][d][libmpv_render]   r16f       1*float   4B    LF CR ST {32/16}
[   0.005][d][libmpv_render]   rg16f      2*float   8B    LF CR ST {32/16 32/16}
[   0.005][d][libmpv_render]   rgb16f     3*float  12B    LF CR ST {32/16 32/16 32/16}
[   0.005][d][libmpv_render]   rgba16f    4*float  16B    LF CR ST {32/16 32/16 32/16 32/16}
[   0.005][d][libmpv_render]   r32f       1*float   4B    LF CR ST {32}
[   0.005][d][libmpv_render]   rg32f      2*float   8B    LF CR ST {32 32}
[   0.005][d][libmpv_render]   rgb32f     3*float  12B    LF CR ST {32 32 32}
[   0.005][d][libmpv_render]   rgba32f    4*float  16B    LF CR ST {32 32 32 32}
[   0.005][d][libmpv_render]   rgb10_a2   4*unorm   4B    LF CR ST {0/10 0/10 0/10 0/2}
[   0.005][d][libmpv_render]   rgba12     4*unorm   8B    LF CR ST {16 16 16 16}
[   0.005][d][libmpv_render]   rgb10      3*unorm   6B    LF CR ST {16/10 16/10 16/10}
[   0.005][d][libmpv_render]   rgb565     3*unorm   2B    LF    ST {0/8 0/8 0/8}
[   0.005][d][libmpv_render]  LA = LUMINANCE_ALPHA hack format
[   0.005][d][libmpv_render]  LF = linear filterable
[   0.005][d][libmpv_render]  CR = can be used for render targets
[   0.005][d][libmpv_render]  ST = can be used for storable images
[   0.005][d][libmpv_render] Image formats:
[   0.005][d][libmpv_render]   yuv444p => 3 planes 1x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv420p => 3 planes 2x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   gray => 1 planes 1x1 8/0 [r8] (r) [unorm]
[   0.005][d][libmpv_render]   gray16 => 1 planes 1x1 16/0 [r16] (r) [unorm]
[   0.005][d][libmpv_render]   uyvy422
[   0.005][d][libmpv_render]   nv12 => 2 planes 2x2 8/0 [r8/rg8] (r/gb) [unorm]
[   0.005][d][libmpv_render]   p010 => 2 planes 2x2 16/6 [r16/rg16] (r/gb) [unorm]
[   0.005][d][libmpv_render]   argb => 1 planes 1x1 8/0 [rgba8] (argb) [unorm]
[   0.005][d][libmpv_render]   bgra => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm]
[   0.005][d][libmpv_render]   abgr => 1 planes 1x1 8/0 [rgba8] (abgr) [unorm]
[   0.005][d][libmpv_render]   rgba => 1 planes 1x1 8/0 [rgba8] (rgba) [unorm]
[   0.005][d][libmpv_render]   bgr24 => 1 planes 1x1 8/0 [rgb8] (bgr) [unorm]
[   0.005][d][libmpv_render]   rgb24 => 1 planes 1x1 8/0 [rgb8] (rgb) [unorm]
[   0.005][d][libmpv_render]   0rgb => 1 planes 1x1 8/0 [rgba8] (_rgb) [unorm]
[   0.005][d][libmpv_render]   bgr0 => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm]
[   0.005][d][libmpv_render]   0bgr => 1 planes 1x1 8/0 [rgba8] (_bgr) [unorm]
[   0.005][d][libmpv_render]   rgb0 => 1 planes 1x1 8/0 [rgba8] (rgb) [unorm]
[   0.005][d][libmpv_render]   rgba64 => 1 planes 1x1 16/0 [rgba16] (rgba) [unorm]
[   0.005][d][libmpv_render]   rgb565 => 1 planes 1x1 0/0 [rgb565] (rgb) [unknown]
[   0.005][d][libmpv_render]   pal8
[   0.005][d][libmpv_render]   vdpau
[   0.005][d][libmpv_render]   d3d11
[   0.005][d][libmpv_render]   dxva2_vld
[   0.005][d][libmpv_render]   mmal
[   0.005][d][libmpv_render]   mediacodec
[   0.005][d][libmpv_render]   cuda
[   0.005][d][libmpv_render]   yap8 => 2 planes 1x1 8/0 [r8/r8] (r/a) [unorm]
[   0.005][d][libmpv_render]   yap16 => 2 planes 1x1 16/0 [r16/r16] (r/a) [unorm]
[   0.005][d][libmpv_render]   grayaf32 => 2 planes 1x1 32/0 [r16f/r16f] (r/a) [float]
[   0.005][d][libmpv_render]   yuv444pf => 3 planes 1x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva444pf => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   yuv420pf => 3 planes 2x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva420pf => 4 planes 2x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   yuv422pf => 3 planes 2x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva422pf => 4 planes 2x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   yuv440pf => 3 planes 1x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva440pf => 4 planes 1x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   yuv410pf => 3 planes 4x4 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva410pf => 4 planes 4x4 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   yuv411pf => 3 planes 4x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.005][d][libmpv_render]   yuva411pf => 4 planes 4x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.005][d][libmpv_render]   rgb30 => 1 planes 1x1 10/0 [rgb10_a2] (bgr) [unknown]
[   0.005][d][libmpv_render]   y1 => 1 planes 1x1 8/-7 [r8] (r) [unorm]
[   0.005][d][libmpv_render]   gbrp1 => 3 planes 1x1 8/-7 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp2 => 3 planes 1x1 8/-6 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp3 => 3 planes 1x1 8/-5 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp4 => 3 planes 1x1 8/-4 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp5 => 3 planes 1x1 8/-3 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp6 => 3 planes 1x1 8/-2 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   vdpau_output
[   0.005][d][libmpv_render]   vaapi
[   0.005][d][libmpv_render]   videotoolbox
[   0.005][d][libmpv_render]   vulkan
[   0.005][d][libmpv_render]   drm_prime
[   0.005][d][libmpv_render]   yuyv422
[   0.005][d][libmpv_render]   yuv422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv410p => 3 planes 4x4 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   monow
[   0.005][d][libmpv_render]   monob
[   0.005][d][libmpv_render]   yuvj422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   uyyvyy411
[   0.005][d][libmpv_render]   bgr8
[   0.005][d][libmpv_render]   bgr4
[   0.005][d][libmpv_render]   bgr4_byte
[   0.005][d][libmpv_render]   rgb8
[   0.005][d][libmpv_render]   rgb4
[   0.005][d][libmpv_render]   rgb4_byte
[   0.005][d][libmpv_render]   nv21 => 2 planes 2x2 8/0 [r8/rg8] (r/bg) [unorm]
[   0.005][d][libmpv_render]   gray16be
[   0.005][d][libmpv_render]   yuv440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuvj440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuva420p => 4 planes 2x2 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   rgb48be
[   0.005][d][libmpv_render]   rgb48 => 1 planes 1x1 16/0 [rgb16] (rgb) [unorm]
[   0.005][d][libmpv_render]   rgb565be
[   0.005][d][libmpv_render]   rgb555be
[   0.005][d][libmpv_render]   rgb555
[   0.005][d][libmpv_render]   bgr565be
[   0.005][d][libmpv_render]   bgr565
[   0.005][d][libmpv_render]   bgr555be
[   0.005][d][libmpv_render]   bgr555
[   0.005][d][libmpv_render]   yuv420p16 => 3 planes 2x2 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv420p16be
[   0.005][d][libmpv_render]   yuv422p16 => 3 planes 2x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv422p16be
[   0.005][d][libmpv_render]   yuv444p16 => 3 planes 1x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv444p16be
[   0.005][d][libmpv_render]   rgb444
[   0.005][d][libmpv_render]   rgb444be
[   0.005][d][libmpv_render]   bgr444
[   0.005][d][libmpv_render]   bgr444be
[   0.005][d][libmpv_render]   ya8 => 1 planes 1x1 8/0 [rg8] (ra) [unorm]
[   0.005][d][libmpv_render]   bgr48be
[   0.005][d][libmpv_render]   bgr48 => 1 planes 1x1 16/0 [rgb16] (bgr) [unorm]
[   0.005][d][libmpv_render]   yuv420p9be
[   0.005][d][libmpv_render]   yuv420p9 => 3 planes 2x2 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv420p10be
[   0.005][d][libmpv_render]   yuv420p10 => 3 planes 2x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv422p10be
[   0.005][d][libmpv_render]   yuv422p10 => 3 planes 2x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv444p9be
[   0.005][d][libmpv_render]   yuv444p9 => 3 planes 1x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv444p10be
[   0.005][d][libmpv_render]   yuv444p10 => 3 planes 1x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv422p9be
[   0.005][d][libmpv_render]   yuv422p9 => 3 planes 2x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   gbrp => 3 planes 1x1 8/0 [r8/r8/r8] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp9be
[   0.005][d][libmpv_render]   gbrp9 => 3 planes 1x1 16/-7 [r16/r16/r16] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp10be
[   0.005][d][libmpv_render]   gbrp10 => 3 planes 1x1 16/-6 [r16/r16/r16] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp16be
[   0.005][d][libmpv_render]   gbrp16 => 3 planes 1x1 16/0 [r16/r16/r16] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   yuva422p => 4 planes 2x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva444p => 4 planes 1x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva420p9be
[   0.005][d][libmpv_render]   yuva420p9 => 4 planes 2x2 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva422p9be
[   0.005][d][libmpv_render]   yuva422p9 => 4 planes 2x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva444p9be
[   0.005][d][libmpv_render]   yuva444p9 => 4 planes 1x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva420p10be
[   0.005][d][libmpv_render]   yuva420p10 => 4 planes 2x2 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva422p10be
[   0.005][d][libmpv_render]   yuva422p10 => 4 planes 2x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva444p10be
[   0.005][d][libmpv_render]   yuva444p10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva420p16be
[   0.005][d][libmpv_render]   yuva420p16 => 4 planes 2x2 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva422p16be
[   0.005][d][libmpv_render]   yuva422p16 => 4 planes 2x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   yuva444p16be
[   0.005][d][libmpv_render]   yuva444p16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.005][d][libmpv_render]   xyz12 => 1 planes 1x1 16/4 [rgb16] (rgb) [unorm]
[   0.005][d][libmpv_render]   xyz12be
[   0.005][d][libmpv_render]   nv16 => 2 planes 2x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.005][d][libmpv_render]   nv20 => 2 planes 2x1 16/-6 [r16/rg16] (r/gb) [unorm]
[   0.005][d][libmpv_render]   nv20be
[   0.005][d][libmpv_render]   rgba64be
[   0.005][d][libmpv_render]   bgra64be
[   0.005][d][libmpv_render]   bgra64 => 1 planes 1x1 16/0 [rgba16] (bgra) [unorm]
[   0.005][d][libmpv_render]   yvyu422
[   0.005][d][libmpv_render]   ya16be
[   0.005][d][libmpv_render]   ya16 => 1 planes 1x1 16/0 [rg16] (ra) [unorm]
[   0.005][d][libmpv_render]   gbrap => 4 planes 1x1 8/0 [r8/r8/r8/r8] (g/b/r/a) [unorm]
[   0.005][d][libmpv_render]   gbrap16be
[   0.005][d][libmpv_render]   gbrap16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.005][d][libmpv_render]   qsv
[   0.005][d][libmpv_render]   d3d11va_vld
[   0.005][d][libmpv_render]   yuv420p12be
[   0.005][d][libmpv_render]   yuv420p12 => 3 planes 2x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv420p14be
[   0.005][d][libmpv_render]   yuv420p14 => 3 planes 2x2 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv422p12be
[   0.005][d][libmpv_render]   yuv422p12 => 3 planes 2x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv422p14be
[   0.005][d][libmpv_render]   yuv422p14 => 3 planes 2x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv444p12be
[   0.005][d][libmpv_render]   yuv444p12 => 3 planes 1x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv444p14be
[   0.005][d][libmpv_render]   yuv444p14 => 3 planes 1x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   gbrp12be
[   0.005][d][libmpv_render]   gbrp12 => 3 planes 1x1 16/-4 [r16/r16/r16] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   gbrp14be
[   0.005][d][libmpv_render]   gbrp14 => 3 planes 1x1 16/-2 [r16/r16/r16] (g/b/r) [unorm]
[   0.005][d][libmpv_render]   yuvj411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   bayer_bggr8
[   0.005][d][libmpv_render]   bayer_rggb8
[   0.005][d][libmpv_render]   bayer_gbrg8
[   0.005][d][libmpv_render]   bayer_grbg8
[   0.005][d][libmpv_render]   bayer_bggr16
[   0.005][d][libmpv_render]   bayer_bggr16be
[   0.005][d][libmpv_render]   bayer_rggb16
[   0.005][d][libmpv_render]   bayer_rggb16be
[   0.005][d][libmpv_render]   bayer_gbrg16
[   0.005][d][libmpv_render]   bayer_gbrg16be
[   0.005][d][libmpv_render]   bayer_grbg16
[   0.005][d][libmpv_render]   bayer_grbg16be
[   0.005][d][libmpv_render]   xvmc
[   0.005][d][libmpv_render]   yuv440p10 => 3 planes 1x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv440p10be
[   0.005][d][libmpv_render]   yuv440p12 => 3 planes 1x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.005][d][libmpv_render]   yuv440p12be
[   0.005][d][libmpv_render]   ayuv64 => 1 planes 1x1 16/0 [rgba16] (argb) [unorm]
[   0.005][d][libmpv_render]   ayuv64be
[   0.005][d][libmpv_render]   p010be
[   0.005][d][libmpv_render]   gbrap12be
[   0.005][d][libmpv_render]   gbrap12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.006][d][libmpv_render]   gbrap10be
[   0.006][d][libmpv_render]   gbrap10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.006][d][libmpv_render]   gray12be
[   0.006][d][libmpv_render]   gray12 => 1 planes 1x1 16/-4 [r16] (r) [unorm]
[   0.006][d][libmpv_render]   gray10be
[   0.006][d][libmpv_render]   gray10 => 1 planes 1x1 16/-6 [r16] (r) [unorm]
[   0.006][d][libmpv_render]   p016 => 2 planes 2x2 16/0 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p016be
[   0.006][d][libmpv_render]   gray9be
[   0.006][d][libmpv_render]   gray9 => 1 planes 1x1 16/-7 [r16] (r) [unorm]
[   0.006][d][libmpv_render]   gbrpf32be
[   0.006][d][libmpv_render]   gbrpf32 => 3 planes 1x1 32/0 [r16f/r16f/r16f] (g/b/r) [float]
[   0.006][d][libmpv_render]   gbrapf32be
[   0.006][d][libmpv_render]   gbrapf32 => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (g/b/r/a) [float]
[   0.006][d][libmpv_render]   opencl
[   0.006][d][libmpv_render]   gray14be
[   0.006][d][libmpv_render]   gray14 => 1 planes 1x1 16/-2 [r16] (r) [unorm]
[   0.006][d][libmpv_render]   grayf32be
[   0.006][d][libmpv_render]   grayf32 => 1 planes 1x1 32/0 [r16f] (r) [float]
[   0.006][d][libmpv_render]   yuva422p12be
[   0.006][d][libmpv_render]   yuva422p12 => 4 planes 2x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.006][d][libmpv_render]   yuva444p12be
[   0.006][d][libmpv_render]   yuva444p12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.006][d][libmpv_render]   nv24 => 2 planes 1x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.006][d][libmpv_render]   nv42 => 2 planes 1x1 8/0 [r8/rg8] (r/bg) [unorm]
[   0.006][d][libmpv_render]   y210be
[   0.006][d][libmpv_render]   y210
[   0.006][d][libmpv_render]   x2rgb10be
[   0.006][d][libmpv_render]   x2bgr10
[   0.006][d][libmpv_render]   x2bgr10be
[   0.006][d][libmpv_render]   p210be
[   0.006][d][libmpv_render]   p210 => 2 planes 2x1 16/6 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p410be
[   0.006][d][libmpv_render]   p410 => 2 planes 1x1 16/6 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p216be
[   0.006][d][libmpv_render]   p216 => 2 planes 2x1 16/0 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p416be
[   0.006][d][libmpv_render]   p416 => 2 planes 1x1 16/0 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   vuya => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm]
[   0.006][d][console] reading options for console 
[   0.006][d][console] script-opts/console.conf not found. 
[   0.006][d][console] lua-settings/console.conf not found. 
[   0.006][d][libmpv_render]   rgbaf16be
[   0.006][d][libmpv_render]   rgbaf16
[   0.006][d][libmpv_render]   vuyx => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm]
[   0.006][d][libmpv_render]   p012 => 2 planes 2x2 16/4 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p012be
[   0.006][d][libmpv_render]   y212be
[   0.006][d][libmpv_render]   y212
[   0.006][d][libmpv_render]   xv30be
[   0.006][d][libmpv_render]   xv30
[   0.006][d][libmpv_render]   xv36be
[   0.006][d][libmpv_render]   xv36 => 1 planes 1x1 16/4 [rgba16] (grb) [unorm]
[   0.006][d][libmpv_render]   rgbf32be
[   0.006][d][libmpv_render]   rgbf32
[   0.006][d][libmpv_render]   rgbaf32be
[   0.006][d][libmpv_render]   rgbaf32
[   0.006][d][libmpv_render]   p212be
[   0.006][d][libmpv_render]   p212 => 2 planes 2x1 16/4 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   p412be
[   0.006][d][libmpv_render]   p412 => 2 planes 1x1 16/4 [r16/rg16] (r/gb) [unorm]
[   0.006][d][libmpv_render]   gbrap14be
[   0.006][d][libmpv_render]   gbrap14 => 4 planes 1x1 16/-2 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.006][d][ytdl_hook] reading options for ytdl_hook 
[   0.006][d][ytdl_hook] script-opts/ytdl_hook.conf not found. 
[   0.006][d][ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[   0.006][d][auto_profiles] Exiting...
[   0.006][v][libmpv_render] Testing FBO format rgba16f
[   0.006][d][libmpv_render] Resizing texture: 16x16
[   0.006][d][stats] reading options for stats 
[   0.006][d][stats] script-opts/stats.conf not found. 
[   0.006][d][stats] lua-settings/stats.conf not found. 
[   0.006][d][cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"]
[   0.006][d][cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.006][v][libmpv_render] Using FBO format rgba16f.
[   0.006][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"]
[   0.006][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.006][d][global] cache path: '' -> '/home/offeex/.cache/mpv'
[   0.006][v][cplayer] Done loading scripts.
[   0.006][d][cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="", flags="default"]
[   0.006][d][cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.006][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"]
[   0.006][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.006][v][libmpv_render] Loading hwdec driver 'vaapi'
[   0.006][v][libmpv_render/vaapi] using EGL dmabuf interop
[   0.006][v][libmpv_render/vaapi] Trying to open a x11 VA display...
[   0.006][v][libmpv_render/vaapi] Trying to open a wayland VA display...
[   0.007][d][libmpv_render/vaapi/vaapi] libva: VA-API version 1.21.0
[   0.007][d][libmpv_render/vaapi/vaapi] libva: User environment variable requested driver 'nvidia'
[   0.007][d][libmpv_render/vaapi/vaapi] libva: Trying to open /usr/lib/dri/nvidia_drv_video.so
[   0.026][d][libmpv_render/vaapi/vaapi] libva: Found init function __vaDriverInit_1_0
[   0.086][d][libmpv_render/vaapi/vaapi] libva: va_openDriver() returns 0
[   0.087][v][libmpv_render/vaapi/vaapi] Initialized VAAPI: version 1.21
[   0.087][d][ffmpeg] AVHWDeviceContext: VAAPI driver: VA-API NVDEC driver [direct backend].
[   0.087][d][ffmpeg] AVHWDeviceContext: Driver not found in known nonstandard list, using standard behaviour.
[   0.087][v][libmpv_render/vaapi] Going to probe surface formats (may log bogus errors)...
[   0.119][d][libmpv_render/vaapi] Failed to import surface in EGL: 12300
[   0.119][d][libmpv_render/vaapi] Unsupported format: nv12
[   0.120][d][libmpv_render/vaapi] Failed to import surface in EGL: 12300
[   0.120][d][libmpv_render/vaapi] Unsupported format: p010
[   0.120][d][libmpv_render/vaapi] Failed to import surface in EGL: 12300
[   0.120][d][libmpv_render/vaapi] Unsupported format: p012
[   0.122][d][libmpv_render/vaapi] Supported formats:
[   0.122][d][libmpv_render/vaapi]  yuv444p
[   0.122][v][libmpv_render/vaapi] Done probing surface formats.
[   0.122][v][libmpv_render] Loading hwdec driver 'cuda'
[   0.166][v][libmpv_render] Loading hwdec driver 'drmprime'
[   0.166][v][libmpv_render/drmprime] using EGL dmabuf interop
[   0.166][v][libmpv_render/drmprime] Using DRM device: /dev/dri/renderD128
[   0.166][d][ffmpeg] AVHWDeviceContext: Opened DRM device /dev/dri/renderD128: driver nvidia-drm version 0.0.0.
[   0.166][v][libmpv_render] Loading hwdec driver 'drmprime-overlay'
[   0.166][v][libmpv_render/drmprime-overlay] Failed to retrieve DRM fd from native display.
[   0.166][v][libmpv_render] Loading failed.
[   0.166][v][libmpv_render] Loading hwdec driver 'vulkan'
[   0.166][v][libmpv_render/vulkan] This is not a libplacebo vulkan gpu api context.
[   0.166][d][cplayer] Run command: loadfile, flags=64, args=[url=".wallpapers/ghoul-anime-girl-moewalls-com.mp4", flags="replace", options=""]
[   0.166][d][global] state path: 'watch_later' -> '/home/offeex/.local/state/mpv/watch_later'
[   0.166][v][cplayer] Running hook: ytdl_hook/on_load
[   0.167][v][ytdl_hook] ytdl:// hook 
[   0.167][v][ytdl_hook] not a ytdl:// url 
[   0.167][v][cplayer] Running hook: ytdl_hook/on_load
[   0.167][v][ytdl_hook] playlist hook 
[   0.167][v][ifo_dvdnav] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[   0.167][v][bdmv/bluray] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[   0.167][v][file] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[   0.167][d][file] resize stream to 131072 bytes, drop 0 bytes
[   0.167][d][file] Stream opened successfully.
[   0.167][v][demux] Trying demuxers for level=normal.
[   0.167][d][demux] Trying demuxer: disc (force-level: normal)
[   0.167][d][demux] Trying demuxer: edl (force-level: normal)
[   0.167][d][demux] Trying demuxer: cue (force-level: normal)
[   0.167][d][demux] Trying demuxer: rawaudio (force-level: normal)
[   0.167][d][demux] Trying demuxer: rawvideo (force-level: normal)
[   0.167][d][demux] Trying demuxer: mkv (force-level: normal)
[   0.167][d][demux] Trying demuxer: libarchive (force-level: normal)
[   0.168][d][demux] Trying demuxer: lavf (force-level: normal)
[   0.169][v][lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[   0.170][v][demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[   0.170][v][cplayer] Opening done: .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[   0.170][v][find_files] Loading external files in .wallpapers/
[   0.170][v][cplayer] Running hook: ytdl_hook/on_preloaded
[   0.170][v][lavf] select track 0
[   0.170][i][cplayer]  (+) Video --vid=1 (*) (h264 3840x2160 60.000fps)
[   0.171][v][vd] Container reported FPS: 60.000000
[   0.171][v][vd] Codec list:
[   0.171][v][vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   0.171][v][vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[   0.171][v][vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[   0.171][v][vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[   0.171][v][vd] Opening decoder h264
[   0.171][v][vd] No hardware decoding requested.
[   0.171][v][vd] Using software decoding.
[   0.172][v][vd] Detected 12 logical cores.
[   0.172][v][vd] Requesting 13 threads for decoding.
[   0.178][v][vd] Selected codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   0.178][v][vf] User filter list:
[   0.178][v][vf]   (empty)
[   0.178][v][cplayer] Starting playback...
[   0.178][d][cplayer] Run command: set, flags=64, args=[name="idle", value="no"]
[   0.178][v][cplayer] Set property: idle=no -> 1
[   0.179][d][ffmpeg/video] h264: Reinit context to 3840x2160, pix_fmt: yuv420p
[   0.181][d][vd] DR parameter change to 3840x2178 yuv420p align=64
[   0.181][d][vd] Allocating new (host-cached) DR image...
[   0.181][d][vd] ...failed..
[   0.181][v][vd] DR failed - disabling.
[   0.195][v][libmpv_render] Window size: 2560x1440 (Borders: l=0 t=0 r=0 b=0)
[   0.195][v][libmpv_render] Video source: 0x0 (0:0)
[   0.195][v][libmpv_render] Video display: (0, 0) 1x1 -> (1279, 0) 1x1440
[   0.195][v][libmpv_render] Video scale: 1.000000/1440.000000
[   0.195][v][libmpv_render] OSD borders: l=1279 t=0 r=1280 b=0
[   0.195][v][libmpv_render] Video borders: l=1279 t=0 r=1280 b=0
[   0.319][v][vd] Using software decoding.
[   0.319][v][vd] Decoder format: 3840x2160 [0:1] yuv420p bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.319][v][vf] [in] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.319][v][vf] [userdeint] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.319][v][vf] [userdeint] (disabled)
[   0.319][v][vf] [autorotate] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.319][v][vf] [autorotate] (disabled)
[   0.319][v][vf] [convert] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.319][v][vf] [convert] (disabled)
[   0.319][v][vf] [out] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.327][i][cplayer] VO: [libmpv] 3840x2160 yuv420p
[   0.327][v][cplayer] VO: Description: render API for libmpv
[   0.327][v][vo/libmpv] reconfig to 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[   0.327][v][libmpv_render] Window size: 2560x1440 (Borders: l=0 t=0 r=0 b=0)
[   0.327][v][libmpv_render] Video source: 3840x2160 (1:1)
[   0.327][v][libmpv_render] Video display: (0, 0) 3840x2160 -> (0, 0) 2560x1440
[   0.327][v][libmpv_render] Video scale: 0.666667/0.666667
[   0.327][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0
[   0.327][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0
[   0.327][v][libmpv_render] Texture for plane 0: 3840x2160
[   0.327][v][libmpv_render] Texture for plane 1: 1920x1080
[   0.327][v][libmpv_render] Texture for plane 2: 1920x1080
[   0.327][v][libmpv_render] Testing FBO format rgba16f
[   0.327][d][libmpv_render] Resizing texture: 16x16
[   0.328][v][libmpv_render] Using FBO format rgba16f.
[   0.328][v][cplayer] first video frame after restart shown
[   0.328][d][cplayer] starting video playback
[   0.328][v][cplayer] playback restart complete @ 0.000000, audio=eof, video=playing
[   0.346][d][libmpv_render] Resizing texture: 1920x1080
[   0.347][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.347][d][libmpv_render] Trying to load shader from disk...
[   0.347][d][libmpv_render] Loading binary program succeeded.
[   0.350][d][osd/libass] ASS library version: 0x1701000 (runtime 0x1701000)
[   0.350][v][osd/libass] libass API version: 0x1701000
[   0.350][v][osd/libass] libass source: commit: 0.17.1-0-ge8ad72accd3a84268275a9385beb701c9284e5b3-dirty
[   0.351][v][osd/libass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.3.1 (COMPLEX)
[   0.351][v][osd/libass] Setting up fonts...
[   0.359][d][libmpv_render] Resizing texture: 1920x2160
[   0.360][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.360][d][libmpv_render] Trying to load shader from disk...
[   0.360][d][libmpv_render] Loading binary program succeeded.
[   0.361][d][libmpv_render] Resizing texture: 3840x2160
[   0.362][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.362][d][libmpv_render] Trying to load shader from disk...
[   0.363][d][libmpv_render] Loading binary program succeeded.
[   0.363][d][libmpv_render] Resizing texture: 3840x2160
[   0.363][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.363][d][libmpv_render] Trying to load shader from disk...
[   0.364][d][libmpv_render] Loading binary program succeeded.
[   0.366][v][osd/libass] Using font provider fontconfig
[   0.366][v][osd/libass] Done.
[   0.378][d][libmpv_render] Resizing texture: 3840x1440
[   0.380][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.380][d][libmpv_render] Trying to load shader from disk...
[   0.380][d][libmpv_render] Loading binary program succeeded.
[   0.380][v][libmpv_render] Dither to 8.
[   0.399][d][global] user path: '/home/offeex/.cache/mpv' -> '/home/offeex/.cache/mpv'
[   0.399][d][libmpv_render] Trying to load shader from disk...
[   0.399][d][libmpv_render] Loading binary program succeeded.
[   0.614][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   0.814][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   1.014][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   1.222][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   1.440][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   1.646][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   1.858][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   2.062][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   2.263][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   2.473][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   2.674][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   2.876][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   3.078][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   3.289][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   3.491][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   3.693][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   3.895][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   4.106][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   4.307][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   4.509][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   4.711][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   4.913][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   5.123][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   5.325][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   5.526][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   5.729][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   5.939][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   6.141][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   6.343][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   6.545][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   6.746][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   6.956][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   7.158][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   7.360][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   7.561][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   7.763][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   7.972][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   8.174][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   8.378][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   8.579][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   8.781][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   8.989][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   9.192][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   9.393][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   9.594][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[   9.796][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  10.006][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  10.208][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  10.410][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  10.612][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  10.823][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  11.024][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  11.226][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  11.428][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  11.630][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  11.840][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  12.042][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  12.245][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  12.456][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  12.659][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  12.863][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  13.073][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  13.275][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  13.476][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  13.679][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  13.889][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  14.093][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  14.295][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  14.506][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  14.708][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  14.910][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  15.111][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  15.312][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  15.522][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  15.724][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  15.926][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  16.128][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  16.329][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  16.539][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  16.741][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  16.944][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  17.146][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  17.347][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  17.556][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  17.758][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  17.959][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  18.161][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  18.362][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  18.572][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  18.774][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  18.976][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  19.178][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  19.379][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  19.589][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  19.796][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  20.007][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  20.210][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  20.412][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  20.614][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  20.822][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  21.027][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  21.229][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  21.431][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  21.642][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  21.843][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  22.056][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  22.258][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  22.460][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  22.662][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  22.864][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  23.073][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  23.276][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  23.478][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  23.680][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  23.682][v][lavf] EOF reached.
[  23.889][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.092][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.295][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.497][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.706][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.908][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  24.910][v][vf] filter input EOF
[  24.910][v][vf] filter output EOF
[  24.910][v][cplayer] using demuxer frame duration for last frame
[  24.910][v][cplayer] video EOF reached
[  24.910][d][cplayer] video EOF (status=4)
[  24.910][v][cplayer] EOF code: 1  
[  24.910][d][vd] Uninit decoder.
[  24.912][d][cplayer] Terminating demuxers...
[  24.913][d][cplayer] Done terminating demuxers.
[  24.913][v][cplayer] finished playback, success (reason 0)
[  24.913][d][global] state path: 'watch_later' -> '/home/offeex/.local/state/mpv/watch_later'
[  24.913][v][cplayer] Running hook: ytdl_hook/on_load
[  24.913][v][ytdl_hook] ytdl:// hook 
[  24.913][v][ytdl_hook] not a ytdl:// url 
[  24.913][v][cplayer] Running hook: ytdl_hook/on_load
[  24.913][v][ytdl_hook] playlist hook 
[  24.913][v][ifo_dvdnav] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[  24.913][v][bdmv/bluray] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[  24.913][v][file] Opening .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[  24.913][d][file] resize stream to 131072 bytes, drop 0 bytes
[  24.913][d][file] Stream opened successfully.
[  24.913][v][demux] Trying demuxers for level=normal.
[  24.913][d][demux] Trying demuxer: disc (force-level: normal)
[  24.913][d][demux] Trying demuxer: edl (force-level: normal)
[  24.913][d][demux] Trying demuxer: cue (force-level: normal)
[  24.913][d][demux] Trying demuxer: rawaudio (force-level: normal)
[  24.913][d][demux] Trying demuxer: rawvideo (force-level: normal)
[  24.913][d][demux] Trying demuxer: mkv (force-level: normal)
[  24.913][d][demux] Trying demuxer: libarchive (force-level: normal)
[  24.913][d][demux] Trying demuxer: lavf (force-level: normal)
[  24.915][v][lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[  24.915][v][demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[  24.915][v][cplayer] Opening done: .wallpapers/ghoul-anime-girl-moewalls-com.mp4
[  24.915][v][find_files] Loading external files in .wallpapers/
[  24.915][v][cplayer] Running hook: ytdl_hook/on_preloaded
[  24.915][v][lavf] select track 0
[  24.915][i][cplayer]  (+) Video --vid=1 (*) (h264 3840x2160 60.000fps)
[  25.113][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  25.113][v][vd] Container reported FPS: 60.000000
[  25.113][v][vd] Codec list:
[  25.113][v][vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[  25.113][v][vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[  25.113][v][vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[  25.113][v][vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[  25.113][v][vd] Opening decoder h264
[  25.113][v][vd] No hardware decoding requested.
[  25.113][v][vd] Using software decoding.
[  25.113][v][vd] Detected 12 logical cores.
[  25.113][v][vd] Requesting 13 threads for decoding.
[  25.115][v][vd] Selected codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[  25.115][v][vf] User filter list:
[  25.115][v][vf]   (empty)
[  25.115][v][cplayer] Starting playback...
[  25.117][d][ffmpeg/video] h264: Reinit context to 3840x2160, pix_fmt: yuv420p
[  25.118][d][vd] DR parameter change to 3840x2178 yuv420p align=64
[  25.118][d][vd] Allocating new (host-cached) DR image...
[  25.118][d][vd] ...failed..
[  25.118][v][vd] DR failed - disabling.
[  25.227][v][vd] Using software decoding.
[  25.227][v][vd] Decoder format: 3840x2160 [0:1] yuv420p bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.227][v][vf] [in] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.227][v][vf] [userdeint] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.227][v][vf] [userdeint] (disabled)
[  25.227][v][vf] [autorotate] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.227][v][vf] [autorotate] (disabled)
[  25.227][v][vf] [convert] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.315][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  25.315][v][vf] [convert] (disabled)
[  25.315][v][vf] [out] 3840x2160 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[  25.516][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  25.516][v][cplayer] first video frame after restart shown
[  25.516][d][cplayer] starting video playback
[  25.516][v][cplayer] playback restart complete @ 0.000000, audio=eof, video=playing
[  25.733][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  25.950][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  26.156][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  26.366][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  26.583][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  26.785][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  26.928][d][cplayer] Run command: quit, flags=73, args=[code="4"]
[  26.928][v][cplayer] EOF code: 5  
[  26.928][d][vd] Uninit decoder.
[  26.931][d][cplayer] Terminating demuxers...
[  26.931][d][cplayer] Done terminating demuxers.
[  26.931][v][cplayer] finished playback, success (reason 3)
[  26.931][d][ytdl_hook] Exiting...
[  26.931][d][console] Exiting...
[  26.931][d][stats] Exiting...
[  26.987][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  27.042][d][libmpv_render] flushing shader cache
[  27.042][d][main] Exiting...
[  27.042][d][cplayer] Run command: quit, flags=64, args=[code="0"]
GhostNaN commented 3 months ago

"mpv_render_context_render() not being called or stuck."

Yes, it seems putting in glDrawBuffer(GL_BACK); doesn't help with that issue. Although, like I said in another comment the render() function is not getting called. As to why, I don't know. I don't have Nvidia hardware to test on, so most debugging is purely guess work.

Interestingly enough you don't seem to have the OpenGL error INVALID_OPERATION. error. So my assumption that it's a harmless error might be correct. But you also are using drmprime to render, so maybe not.

I also saw your other comment. https://github.com/GhostNaN/mpvpaper/issues/47#issuecomment-2013462237 That person said using the old commit worked, not that it works on the master branch. Using the old render loop should work here: https://github.com/GhostNaN/mpvpaper/releases/download/1.4/mpvpaper-nvidia.zip

If not, then this is an entirely a new issue.

offeex commented 3 months ago

"mpv_render_context_render() not being called or stuck."

Yes, it seems putting in glDrawBuffer(GL_BACK); doesn't help with that issue. Although, like I said in another comment the render() function is not getting called. As to why, I don't know. I don't have Nvidia hardware to test on, so most debugging is purely guess work.

Interestingly enough you don't seem to have the OpenGL error INVALID_OPERATION. error. So my assumption that it's a harmless error might be correct. But you also are using drmprime to render, so maybe not.

I also saw your other comment. #47 (comment) That person said using the old commit worked, not that it works on the master branch. Using the old render loop should work here: https://github.com/GhostNaN/mpvpaper/releases/download/1.4/mpvpaper-nvidia.zip

If not, then this is an entirely a new issue.

yup, funnily enough, old render loop works for me as well

offeex commented 3 months ago

eh man, i'm not that proficient in C++ and native development itself, so can't contribute here. I'm hope you'd have nvidia gpu to fix this one day