mpv-player / mpv

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

--profile=low-latency leads to choppy output with av://v4l2 input #7896

Open CounterPillow opened 4 years ago

CounterPillow commented 4 years ago

Important Information

Provide following Information:

Reproduction steps

Play back webcam input with something like this:

mpv --no-config --demuxer-lavf-o=video_size=1280x720,input_format=h264,framerate=30 av://v4l2:/dev/video4 --profile=low-latency

Expected behavior

Silky smooth playback as without --profile=low-latency

Actual behavior

A lot of output frame drops. Pausing the player and resuming will play the video back smoothly, but kind of defeats the purpose of the low-latency profile. Applying the options of the profile one by one is unreliable to narrow down which one does it because with a few of them I've found that they only do it about half of the times I've tried.

Log file

[   0.004][v][cplayer] mpv 0.32.0-577-gb961efb0af Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
[   0.004][v][cplayer]  built on Thu Jul  9 00:45:59 CEST 2020
[   0.004][v][cplayer] FFmpeg library versions:
[   0.004][v][cplayer]    libavutil       56.55.100
[   0.004][v][cplayer]    libavcodec      58.94.100
[   0.004][v][cplayer]    libavformat     58.48.100
[   0.004][v][cplayer]    libswscale      5.8.100
[   0.004][v][cplayer]    libavfilter     7.87.100
[   0.004][v][cplayer]    libswresample   3.8.100
[   0.004][v][cplayer] FFmpeg version: N-98444-gd294716c22
[   0.004][v][cplayer] 
[   0.004][v][cplayer] Configuration: ./waf configure --disable-vdpau --lua=luajit
[   0.004][v][cplayer] List of enabled features: alsa asm build-date caca cplayer cplugins debug-build drm egl egl-drm egl-helpers egl-x11 ffmpeg gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libm libplacebo librt linux-fstatfs lua luajit memfd_create optimize posix posix-or-mingw pthreads pulse rubberband shaderc shaderc-shared stdatomic uchardet vaapi vaapi-drm vaapi-egl vaapi-vulkan vaapi-wayland vaapi-x-egl vaapi-x11 vapoursynth vt.h vulkan wayland wayland-protocols x11 xv zimg zlib
[   0.004][v][cplayer] Command line options: '--no-config' '--demuxer-lavf-o=video_size=1280x720:input_format=h264:framerate=30' 'av://v4l2:/dev/video4' '--profile=low-latency' '--log-file=/tmp/stuttery.log'
[   0.004][v][cplayer] mpv 0.32.0-577-gb961efb0af Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
[   0.004][v][cplayer]  built on Thu Jul  9 00:45:59 CEST 2020
[   0.004][v][cplayer] FFmpeg library versions:
[   0.004][v][cplayer]    libavutil       56.55.100
[   0.004][v][cplayer]    libavcodec      58.94.100
[   0.004][v][cplayer]    libavformat     58.48.100
[   0.004][v][cplayer]    libswscale      5.8.100
[   0.004][v][cplayer]    libavfilter     7.87.100
[   0.004][v][cplayer]    libswresample   3.8.100
[   0.004][v][cplayer] FFmpeg version: N-98444-gd294716c22
[   0.004][v][cplayer] 
[   0.004][v][cplayer] Configuration: ./waf configure --disable-vdpau --lua=luajit
[   0.004][v][cplayer] List of enabled features: alsa asm build-date caca cplayer cplugins debug-build drm egl egl-drm egl-helpers egl-x11 ffmpeg gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libm libplacebo librt linux-fstatfs lua luajit memfd_create optimize posix posix-or-mingw pthreads pulse rubberband shaderc shaderc-shared stdatomic uchardet vaapi vaapi-drm vaapi-egl vaapi-vulkan vaapi-wayland vaapi-x-egl vaapi-x11 vapoursynth vt.h vulkan wayland wayland-protocols x11 xv zimg zlib
[   0.004][d][global] config path: '' -> '-'
[   0.004][d][global] user path: '~~home/' -> ''
[   0.004][d][global] user path: '~~old_home/' -> ''
[   0.004][v][cplayer] Setting option 'config' = 'no' (flags = 8)
[   0.004][v][cplayer] Setting option 'demuxer-lavf-o' = 'video_size=1280x720:input_format=h264:framerate=30' (flags = 8)
[   0.004][v][cplayer] Setting option 'profile' = 'low-latency' (flags = 8)
[   0.004][v][cplayer] Applying profile 'low-latency'...
[   0.004][v][cplayer] Setting option 'audio-buffer' = '0' (flags = 12)
[   0.004][v][cplayer] Setting option 'vd-lavc-threads' = '1' (flags = 12)
[   0.004][v][cplayer] Setting option 'cache-pause' = 'no' (flags = 12)
[   0.004][v][cplayer] Setting option 'demuxer-lavf-o-add' = 'fflags=+nobuffer' (flags = 12)
[   0.004][v][cplayer] Setting option 'demuxer-lavf-probe-info' = 'nostreams' (flags = 12)
[   0.004][v][cplayer] Setting option 'demuxer-lavf-analyzeduration' = '0.1' (flags = 12)
[   0.004][v][cplayer] Setting option 'video-sync' = 'audio' (flags = 12)
[   0.004][v][cplayer] Setting option 'interpolation' = 'no' (flags = 12)
[   0.004][v][cplayer] Setting option 'video-latency-hacks' = 'yes' (flags = 12)
[   0.004][v][cplayer] Setting option 'stream-buffer-size' = '4k' (flags = 12)
[   0.004][v][cplayer] Setting option 'log-file' = '/tmp/stuttery.log' (flags = 8)
[   0.005][d][global] user path: '/tmp/stuttery.log' -> '/tmp/stuttery.log'
[   0.005][d][osc] Loading lua script @osc.lua...
[   0.005][d][ytdl_hook] Loading lua script @ytdl_hook.lua...
[   0.005][d][stats] Loading lua script @stats.lua...
[   0.005][d][console] Loading lua script @console.lua...
[   0.005][v][cplayer] Waiting for scripts...
[   0.006][d][ytdl_hook] loading mp.defaults
[   0.006][d][console] loading mp.defaults
[   0.006][d][osc] loading mp.defaults
[   0.006][d][stats] loading mp.defaults
[   0.006][d][osc] loading @osc.lua
[   0.006][d][stats] loading @stats.lua
[   0.007][d][console] loading @console.lua
[   0.007][d][ytdl_hook] loading @ytdl_hook.lua
[   0.007][d][stats] reading options for stats 
[   0.007][d][stats] script-opts/stats.conf not found. 
[   0.007][d][stats] lua-settings/stats.conf not found. 
[   0.008][d][cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="i script-binding stats/display-stats\nI script-binding stats/display-stats-toggle\n", flags="default"]
[   0.008][d][ytdl_hook] reading options for ytdl_hook 
[   0.008][d][ytdl_hook] script-opts/ytdl_hook.conf not found. 
[   0.008][d][ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[   0.008][d][cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.008][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"]
[   0.008][d][console] reading options for console 
[   0.008][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.008][d][console] script-opts/console.conf not found. 
[   0.008][d][console] lua-settings/console.conf not found. 
[   0.009][d][osc] reading options for osc 
[   0.009][d][osc] script-opts/osc.conf not found. 
[   0.009][d][osc] lua-settings/osc.conf not found. 
[   0.009][d][osd/libass] ASS library version: 0x1400001 (runtime 0x1400001)
[   0.009][v][osd/libass] Shaper: FriBidi 1.0.9 (SIMPLE) HarfBuzz-ng 2.6.8 (COMPLEX)
[   0.009][v][osd/libass] Setting up fonts...
[   0.020][v][osd/libass] Using font provider fontconfig
[   0.020][v][osd/libass] Done.
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="showhide", contents="mouse_move script-binding osc/__keybinding1\nmouse_leave script-binding osc/__keybinding2\n", flags="force"]
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="showhide_wc", contents="mouse_move script-binding osc/__keybinding3\nmouse_leave script-binding osc/__keybinding4\n", flags="force"]
[   0.021][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.021][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide_wc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"]
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="input", contents="mbtn_left script-binding osc/__keybinding5\nshift+mbtn_left script-binding osc/__keybinding6\nmbtn_right script-binding osc/__keybinding7\nmbtn_mid script-binding osc/__keybinding8\nwheel_up script-binding osc/__keybinding9\nwheel_down script-binding osc/__keybinding10\nmbtn_left_dbl ignore\nshift+mbtn_left_dbl ignore\nmbtn_right_dbl ignore\n", flags="force"]
[   0.021][d][cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.021][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""]
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"]
[   0.021][d][cplayer] Run command: define-section, flags=64, args=[name="window-controls", contents="mbtn_left script-binding osc/__keybinding11\n", flags="force"]
[   0.022][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.022][d][cplayer] Run command: enable-section, flags=64, args=[name="window-controls", flags=""]
[   0.022][d][cplayer] Run command: disable-section, flags=64, args=[name="input"]
[   0.022][d][cplayer] Run command: disable-section, flags=64, args=[name="window-controls"]
[   0.022][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.022][v][cplayer] Set property: shared-script-properties -> 1
[   0.022][v][cplayer] Done loading scripts.
[   0.022][d][global] config path: 'watch_later' -> '-'
[   0.022][d][global] config path: 'watch_later' -> '-'
[   0.022][v][cplayer] Running hook: ytdl_hook/on_load
[   0.022][v][ytdl_hook] ytdl:// hook 
[   0.022][v][ytdl_hook] not a ytdl:// url 
[   0.022][d][osc] osc_init 
[   0.022][v][avdevice] Opening av://v4l2:/dev/video4
[   0.022][d][avdevice] resize stream to 4096 bytes, drop 0 bytes
[   0.022][d][avdevice] Stream opened successfully.
[   0.022][v][demux] Trying demuxers for level=request.
[   0.022][d][demux] Trying demuxer: lavf (force-level: request)
[   0.023][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.023][v][cplayer] Set property: shared-script-properties -> 1
[   0.023][d][osd/libass] ASS library version: 0x1400001 (runtime 0x1400001)
[   0.023][v][osd/libass] Shaper: FriBidi 1.0.9 (SIMPLE) HarfBuzz-ng 2.6.8 (COMPLEX)
[   0.023][v][osd/libass] Setting up fonts...
[   0.028][v][lavf] Found 'video4linux2,v4l2' at score=100 size=0 (forced).
[   0.029][d][ffmpeg/demuxer] video4linux2,v4l2: fd:8 capabilities:84a00001
[   0.034][v][osd/libass] Using font provider fontconfig
[   0.034][v][osd/libass] Done.
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_osc", contents="", flags="default"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_osc", contents="", flags="force"]
[   0.036][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[   0.036][d][osc] osc_init 
[   0.036][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.036][v][cplayer] Set property: shared-script-properties -> 1
[   0.268][v][lavf] Could not set AVOption user_agent='libmpv'
[   0.268][v][lavf] Could not set AVOption tls_verify='0'
[   0.268][v][lavf] Could not set AVOption icy='1'
[   0.268][v][lavf] Could not set AVOption timeout='60000000'
[   0.268][v][demux] Detected file format: video4linux2,v4l2 (libavformat)
[   0.268][v][demux] Stream is not seekable.
[   0.268][v][cplayer] Opening done: av://v4l2:/dev/video4
[   0.272][v][cplayer] Running hook: ytdl_hook/on_preloaded
[   0.272][d][osc] osc_init 
[   0.272][v][lavf] select track 0
[   0.272][i][cplayer]  (+) Video --vid=1 (h264 1280x720 30.000fps)
[   0.272][v][vo/gpu] Probing for best GPU context.
[   0.273][v][vo/gpu/opengl] Initializing GPU context 'wayland'
[   0.273][v][vo/gpu/opengl] Initializing GPU context 'x11egl'
[   0.273][v][vo/gpu/x11] X11 opening display: :0
[   0.275][d][vo/gpu/x11] X11 running at 1920x1080 (":0" => local display)
[   0.275][d][vo/gpu/x11] Detected wm supports NetWM.
[   0.275][d][vo/gpu/x11] Detected wm supports FULLSCREEN state.
[   0.275][d][vo/gpu/x11] Detected wm supports ABOVE state.
[   0.275][d][vo/gpu/x11] Detected wm supports STAYS_ON_TOP state.
[   0.275][d][vo/gpu/x11] Detected wm supports BELOW state.
[   0.275][v][vo/gpu/x11] Display 0 (eDP): [0, 0, 1920, 1080] @ 60.020425 FPS
[   0.275][v][vo/gpu/x11] Current display FPS: 60.020425
[   0.382][v][vo/gpu/opengl] EGL_VERSION=1.5
[   0.382][v][vo/gpu/opengl] EGL_VENDOR=Mesa Project
[   0.382][v][vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[   0.382][v][vo/gpu/opengl] Trying to create Desktop OpenGL context.
[   0.383][d][vo/gpu/opengl] Chosen EGLConfig:
[   0.383][d][vo/gpu/opengl]   EGL_CONFIG_ID=17
[   0.383][d][vo/gpu/opengl]   EGL_RED_SIZE=8
[   0.383][d][vo/gpu/opengl]   EGL_GREEN_SIZE=8
[   0.383][d][vo/gpu/opengl]   EGL_BLUE_SIZE=8
[   0.383][d][vo/gpu/opengl]   EGL_ALPHA_SIZE=0
[   0.383][d][vo/gpu/opengl]   EGL_COLOR_BUFFER_TYPE=12430
[   0.383][d][vo/gpu/opengl]   EGL_CONFIG_CAVEAT=12344
[   0.383][d][vo/gpu/opengl]   EGL_CONFORMANT=77
[   0.384][v][vo/gpu/opengl] Choosing visual EGL config 0x11, visual ID 0x21
[   0.391][v][vo/gpu/opengl] GL_VERSION='4.6 (Core Profile) Mesa 20.1.2'
[   0.391][v][vo/gpu/opengl] Detected desktop OpenGL 4.6.
[   0.391][v][vo/gpu/opengl] GL_VENDOR='X.Org'
[   0.391][v][vo/gpu/opengl] GL_RENDERER='AMD RAVEN (DRM 3.37.0, 5.7.7-arch1-1, LLVM 10.0.0)'
[   0.391][v][vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.60'
[   0.391][d][vo/gpu/opengl] Combined OpenGL extensions string:
[   0.391][d][vo/gpu/opengl] EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display  GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_framebuffer_multisample_advanced GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility 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_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_conservative_depth 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_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB 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_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_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp 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_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_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge 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_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_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_meminfo GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_semaphore GL_EXT_semaphore_fd GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_IBM_multimode_draw_arrays GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NVX_gpu_memory_info GL_NV_alpha_to_coverage_dither_control GL_NV_conditional_render GL_NV_copy_image GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_NV_vdpau_interop GL_OES_EGL_image GL_S3_s3tc
[   0.391][v][vo/gpu/opengl] Loaded extension GL_NV_vdpau_interop.
[   0.393][d][vo/gpu/opengl] Texture formats:
[   0.393][d][vo/gpu/opengl]   NAME       COMP*TYPE SIZE           DEPTH PER COMP.
[   0.393][d][vo/gpu/opengl]   r8         1*unorm   1B    LF CR ST {8}
[   0.393][d][vo/gpu/opengl]   rg8        2*unorm   2B    LF CR ST {8 8}
[   0.393][d][vo/gpu/opengl]   rgb8       3*unorm   3B    LF CR ST {8 8 8}
[   0.393][d][vo/gpu/opengl]   rgba8      4*unorm   4B    LF CR ST {8 8 8 8}
[   0.393][d][vo/gpu/opengl]   r16        1*unorm   2B    LF CR ST {16}
[   0.393][d][vo/gpu/opengl]   rg16       2*unorm   4B    LF CR ST {16 16}
[   0.393][d][vo/gpu/opengl]   rgb16      3*unorm   6B    LF CR ST {16 16 16}
[   0.393][d][vo/gpu/opengl]   rgba16     4*unorm   8B    LF CR ST {16 16 16 16}
[   0.393][d][vo/gpu/opengl]   r8ui       1*uint    1B       CR ST {8}
[   0.393][d][vo/gpu/opengl]   rg8ui      2*uint    2B       CR ST {8 8}
[   0.393][d][vo/gpu/opengl]   rgb8ui     3*uint    3B          ST {8 8 8}
[   0.393][d][vo/gpu/opengl]   rgba8ui    4*uint    4B       CR ST {8 8 8 8}
[   0.393][d][vo/gpu/opengl]   r16ui      1*uint    2B       CR ST {16}
[   0.393][d][vo/gpu/opengl]   rg16ui     2*uint    4B       CR ST {16 16}
[   0.393][d][vo/gpu/opengl]   rgb16ui    3*uint    6B          ST {16 16 16}
[   0.393][d][vo/gpu/opengl]   rgba16ui   4*uint    8B       CR ST {16 16 16 16}
[   0.393][d][vo/gpu/opengl]   r16f       1*float   4B    LF CR ST {32/16}
[   0.393][d][vo/gpu/opengl]   rg16f      2*float   8B    LF CR ST {32/16 32/16}
[   0.393][d][vo/gpu/opengl]   rgb16f     3*float  12B    LF CR ST {32/16 32/16 32/16}
[   0.393][d][vo/gpu/opengl]   rgba16f    4*float  16B    LF CR ST {32/16 32/16 32/16 32/16}
[   0.393][d][vo/gpu/opengl]   r32f       1*float   4B    LF CR ST {32}
[   0.393][d][vo/gpu/opengl]   rg32f      2*float   8B    LF CR ST {32 32}
[   0.393][d][vo/gpu/opengl]   rgb32f     3*float  12B    LF CR ST {32 32 32}
[   0.393][d][vo/gpu/opengl]   rgba32f    4*float  16B    LF CR ST {32 32 32 32}
[   0.393][d][vo/gpu/opengl]   rgb10_a2   4*unorm   4B    LF CR ST {0/10 0/10 0/10 0/2}
[   0.393][d][vo/gpu/opengl]   rgba12     4*unorm   8B    LF CR ST {16 16 16 16}
[   0.393][d][vo/gpu/opengl]   rgb10      3*unorm   6B    LF CR ST {16/10 16/10 16/10}
[   0.393][d][vo/gpu/opengl]   rgb565     3*unorm   2B    LF    ST {0/8 0/8 0/8}
[   0.393][d][vo/gpu/opengl]  LA = LUMINANCE_ALPHA hack format
[   0.393][d][vo/gpu/opengl]  LF = linear filterable
[   0.393][d][vo/gpu/opengl]  CR = can be used for render targets
[   0.393][d][vo/gpu/opengl]  ST = can be used for storable images
[   0.393][d][vo/gpu/opengl] Image formats:
[   0.393][d][vo/gpu/opengl]   yuv444p => 3 planes 1x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.393][d][vo/gpu/opengl]   yuv420p => 3 planes 2x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.393][d][vo/gpu/opengl]   gray => 1 planes 1x1 8/0 [r8] (r) [unorm]
[   0.393][d][vo/gpu/opengl]   gray16 => 1 planes 1x1 16/0 [r16] (r) [unorm]
[   0.393][d][vo/gpu/opengl]   uyvy422
[   0.393][d][vo/gpu/opengl]   nv12 => 2 planes 2x2 8/0 [r8/rg8] (r/gb) [unorm]
[   0.393][d][vo/gpu/opengl]   p010 => 2 planes 2x2 16/6 [r16/rg16] (r/gb) [unorm]
[   0.393][d][vo/gpu/opengl]   argb => 1 planes 1x1 8/0 [rgba8] (argb) [unorm]
[   0.393][d][vo/gpu/opengl]   bgra => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm]
[   0.393][d][vo/gpu/opengl]   abgr => 1 planes 1x1 8/0 [rgba8] (abgr) [unorm]
[   0.394][d][vo/gpu/opengl]   rgba => 1 planes 1x1 8/0 [rgba8] (rgba) [unorm]
[   0.394][d][vo/gpu/opengl]   bgr24 => 1 planes 1x1 8/0 [rgb8] (bgr) [unorm]
[   0.394][d][vo/gpu/opengl]   rgb24 => 1 planes 1x1 8/0 [rgb8] (rgb) [unorm]
[   0.394][d][vo/gpu/opengl]   0rgb => 1 planes 1x1 8/0 [rgba8] (_rgb) [unorm]
[   0.394][d][vo/gpu/opengl]   bgr0 => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm]
[   0.394][d][vo/gpu/opengl]   0bgr => 1 planes 1x1 8/0 [rgba8] (_bgr) [unorm]
[   0.394][d][vo/gpu/opengl]   rgb0 => 1 planes 1x1 8/0 [rgba8] (rgb) [unorm]
[   0.394][d][vo/gpu/opengl]   rgba64 => 1 planes 1x1 16/0 [rgba16] (rgba) [unorm]
[   0.394][d][vo/gpu/opengl]   rgb565 => 1 planes 1x1 0/0 [rgb565] (rgb) [unknown]
[   0.394][d][vo/gpu/opengl]   pal8
[   0.394][d][vo/gpu/opengl]   vdpau
[   0.394][d][vo/gpu/opengl]   d3d11
[   0.394][d][vo/gpu/opengl]   dxva2_vld
[   0.394][d][vo/gpu/opengl]   mmal
[   0.394][d][vo/gpu/opengl]   mediacodec
[   0.394][d][vo/gpu/opengl]   drm_prime
[   0.394][d][vo/gpu/opengl]   cuda
[   0.394][d][vo/gpu/opengl]   yap8 => 2 planes 1x1 8/0 [r8/r8] (r/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yap16 => 2 planes 1x1 16/0 [r16/r16] (r/a) [unorm]
[   0.394][d][vo/gpu/opengl]   grayaf32 => 2 planes 1x1 32/0 [r16f/r16f] (r/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv444pf => 3 planes 1x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva444pf => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv420pf => 3 planes 2x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva420pf => 4 planes 2x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv422pf => 3 planes 2x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva422pf => 4 planes 2x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv440pf => 3 planes 1x2 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva440pf => 4 planes 1x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv410pf => 3 planes 4x4 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva410pf => 4 planes 4x4 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   yuv411pf => 3 planes 4x1 32/0 [r16f/r16f/r16f] (r/g/b) [float]
[   0.394][d][vo/gpu/opengl]   yuva411pf => 4 planes 4x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float]
[   0.394][d][vo/gpu/opengl]   rgb30 => 1 planes 1x1 10/0 [rgb10_a2] (bgr) [unknown]
[   0.394][d][vo/gpu/opengl]   y1 => 1 planes 1x1 8/-7 [r8] (r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp1 => 3 planes 1x1 8/-7 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp2 => 3 planes 1x1 8/-6 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp3 => 3 planes 1x1 8/-5 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp4 => 3 planes 1x1 8/-4 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp5 => 3 planes 1x1 8/-3 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp6 => 3 planes 1x1 8/-2 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   vdpau_output
[   0.394][d][vo/gpu/opengl]   vaapi
[   0.394][d][vo/gpu/opengl]   videotoolbox
[   0.394][d][vo/gpu/opengl]   yuyv422
[   0.394][d][vo/gpu/opengl]   yuv422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv410p => 3 planes 4x4 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   monow
[   0.394][d][vo/gpu/opengl]   monob
[   0.394][d][vo/gpu/opengl]   yuvj422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   uyyvyy411
[   0.394][d][vo/gpu/opengl]   bgr8
[   0.394][d][vo/gpu/opengl]   bgr4
[   0.394][d][vo/gpu/opengl]   bgr4_byte
[   0.394][d][vo/gpu/opengl]   rgb8
[   0.394][d][vo/gpu/opengl]   rgb4
[   0.394][d][vo/gpu/opengl]   rgb4_byte
[   0.394][d][vo/gpu/opengl]   nv21 => 2 planes 2x2 8/0 [r8/rg8] (r/bg) [unorm]
[   0.394][d][vo/gpu/opengl]   gray16be
[   0.394][d][vo/gpu/opengl]   yuv440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuvj440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva420p => 4 planes 2x2 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   rgb48be
[   0.394][d][vo/gpu/opengl]   rgb48 => 1 planes 1x1 16/0 [rgb16] (rgb) [unorm]
[   0.394][d][vo/gpu/opengl]   rgb565be
[   0.394][d][vo/gpu/opengl]   rgb555be
[   0.394][d][vo/gpu/opengl]   rgb555
[   0.394][d][vo/gpu/opengl]   bgr565be
[   0.394][d][vo/gpu/opengl]   bgr565
[   0.394][d][vo/gpu/opengl]   bgr555be
[   0.394][d][vo/gpu/opengl]   bgr555
[   0.394][d][vo/gpu/opengl]   vaapi_moco
[   0.394][d][vo/gpu/opengl]   vaapi_idct
[   0.394][d][vo/gpu/opengl]   yuv420p16 => 3 planes 2x2 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv420p16be
[   0.394][d][vo/gpu/opengl]   yuv422p16 => 3 planes 2x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv422p16be
[   0.394][d][vo/gpu/opengl]   yuv444p16 => 3 planes 1x1 16/0 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv444p16be
[   0.394][d][vo/gpu/opengl]   rgb444
[   0.394][d][vo/gpu/opengl]   rgb444be
[   0.394][d][vo/gpu/opengl]   bgr444
[   0.394][d][vo/gpu/opengl]   bgr444be
[   0.394][d][vo/gpu/opengl]   ya8 => 1 planes 1x1 8/0 [rg8] (ra) [unorm]
[   0.394][d][vo/gpu/opengl]   bgr48be
[   0.394][d][vo/gpu/opengl]   bgr48 => 1 planes 1x1 16/0 [rgb16] (bgr) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv420p9be
[   0.394][d][vo/gpu/opengl]   yuv420p9 => 3 planes 2x2 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv420p10be
[   0.394][d][vo/gpu/opengl]   yuv420p10 => 3 planes 2x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv422p10be
[   0.394][d][vo/gpu/opengl]   yuv422p10 => 3 planes 2x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv444p9be
[   0.394][d][vo/gpu/opengl]   yuv444p9 => 3 planes 1x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv444p10be
[   0.394][d][vo/gpu/opengl]   yuv444p10 => 3 planes 1x1 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv422p9be
[   0.394][d][vo/gpu/opengl]   yuv422p9 => 3 planes 2x1 16/-7 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp => 3 planes 1x1 8/0 [r8/r8/r8] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp9be
[   0.394][d][vo/gpu/opengl]   gbrp9 => 3 planes 1x1 16/-7 [r16/r16/r16] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp10be
[   0.394][d][vo/gpu/opengl]   gbrp10 => 3 planes 1x1 16/-6 [r16/r16/r16] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp16be
[   0.394][d][vo/gpu/opengl]   gbrp16 => 3 planes 1x1 16/0 [r16/r16/r16] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva422p => 4 planes 2x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva444p => 4 planes 1x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva420p9be
[   0.394][d][vo/gpu/opengl]   yuva420p9 => 4 planes 2x2 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva422p9be
[   0.394][d][vo/gpu/opengl]   yuva422p9 => 4 planes 2x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva444p9be
[   0.394][d][vo/gpu/opengl]   yuva444p9 => 4 planes 1x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva420p10be
[   0.394][d][vo/gpu/opengl]   yuva420p10 => 4 planes 2x2 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva422p10be
[   0.394][d][vo/gpu/opengl]   yuva422p10 => 4 planes 2x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva444p10be
[   0.394][d][vo/gpu/opengl]   yuva444p10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva420p16be
[   0.394][d][vo/gpu/opengl]   yuva420p16 => 4 planes 2x2 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva422p16be
[   0.394][d][vo/gpu/opengl]   yuva422p16 => 4 planes 2x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   yuva444p16be
[   0.394][d][vo/gpu/opengl]   yuva444p16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.394][d][vo/gpu/opengl]   xyz12 => 1 planes 1x1 16/4 [rgb16] (rgb) [unorm]
[   0.394][d][vo/gpu/opengl]   xyz12be
[   0.394][d][vo/gpu/opengl]   nv16 => 2 planes 2x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.394][d][vo/gpu/opengl]   nv20 => 2 planes 2x1 16/-6 [r16/rg16] (r/gb) [unorm]
[   0.394][d][vo/gpu/opengl]   nv20be
[   0.394][d][vo/gpu/opengl]   rgba64be
[   0.394][d][vo/gpu/opengl]   bgra64be
[   0.394][d][vo/gpu/opengl]   bgra64 => 1 planes 1x1 16/0 [rgba16] (bgra) [unorm]
[   0.394][d][vo/gpu/opengl]   yvyu422
[   0.394][d][vo/gpu/opengl]   ya16be
[   0.394][d][vo/gpu/opengl]   ya16 => 1 planes 1x1 16/0 [rg16] (ra) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrap => 4 planes 1x1 8/0 [r8/r8/r8/r8] (g/b/r/a) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrap16be
[   0.394][d][vo/gpu/opengl]   gbrap16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.394][d][vo/gpu/opengl]   qsv
[   0.394][d][vo/gpu/opengl]   d3d11va_vld
[   0.394][d][vo/gpu/opengl]   yuv420p12be
[   0.394][d][vo/gpu/opengl]   yuv420p12 => 3 planes 2x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv420p14be
[   0.394][d][vo/gpu/opengl]   yuv420p14 => 3 planes 2x2 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv422p12be
[   0.394][d][vo/gpu/opengl]   yuv422p12 => 3 planes 2x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv422p14be
[   0.394][d][vo/gpu/opengl]   yuv422p14 => 3 planes 2x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv444p12be
[   0.394][d][vo/gpu/opengl]   yuv444p12 => 3 planes 1x1 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   yuv444p14be
[   0.394][d][vo/gpu/opengl]   yuv444p14 => 3 planes 1x1 16/-2 [r16/r16/r16] (r/g/b) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp12be
[   0.394][d][vo/gpu/opengl]   gbrp12 => 3 planes 1x1 16/-4 [r16/r16/r16] (g/b/r) [unorm]
[   0.394][d][vo/gpu/opengl]   gbrp14be
[   0.395][d][vo/gpu/opengl]   gbrp14 => 3 planes 1x1 16/-2 [r16/r16/r16] (g/b/r) [unorm]
[   0.395][d][vo/gpu/opengl]   yuvj411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm]
[   0.395][d][vo/gpu/opengl]   bayer_bggr8
[   0.395][d][vo/gpu/opengl]   bayer_rggb8
[   0.395][d][vo/gpu/opengl]   bayer_gbrg8
[   0.395][d][vo/gpu/opengl]   bayer_grbg8
[   0.395][d][vo/gpu/opengl]   bayer_bggr16
[   0.395][d][vo/gpu/opengl]   bayer_bggr16be
[   0.395][d][vo/gpu/opengl]   bayer_rggb16
[   0.395][d][vo/gpu/opengl]   bayer_rggb16be
[   0.395][d][vo/gpu/opengl]   bayer_gbrg16
[   0.395][d][vo/gpu/opengl]   bayer_gbrg16be
[   0.395][d][vo/gpu/opengl]   bayer_grbg16
[   0.395][d][vo/gpu/opengl]   bayer_grbg16be
[   0.395][d][vo/gpu/opengl]   xvmc
[   0.395][d][vo/gpu/opengl]   yuv440p10 => 3 planes 1x2 16/-6 [r16/r16/r16] (r/g/b) [unorm]
[   0.395][d][vo/gpu/opengl]   yuv440p10be
[   0.395][d][vo/gpu/opengl]   yuv440p12 => 3 planes 1x2 16/-4 [r16/r16/r16] (r/g/b) [unorm]
[   0.395][d][vo/gpu/opengl]   yuv440p12be
[   0.395][d][vo/gpu/opengl]   ayuv64 => 1 planes 1x1 16/0 [rgba16] (argb) [unorm]
[   0.395][d][vo/gpu/opengl]   ayuv64be
[   0.395][d][vo/gpu/opengl]   p010be
[   0.395][d][vo/gpu/opengl]   gbrap12be
[   0.395][d][vo/gpu/opengl]   gbrap12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.395][d][vo/gpu/opengl]   gbrap10be
[   0.395][d][vo/gpu/opengl]   gbrap10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (g/b/r/a) [unorm]
[   0.395][d][vo/gpu/opengl]   gray12be
[   0.395][d][vo/gpu/opengl]   gray12 => 1 planes 1x1 16/-4 [r16] (r) [unorm]
[   0.395][d][vo/gpu/opengl]   gray10be
[   0.395][d][vo/gpu/opengl]   gray10 => 1 planes 1x1 16/-6 [r16] (r) [unorm]
[   0.395][d][vo/gpu/opengl]   p016 => 2 planes 2x2 16/0 [r16/rg16] (r/gb) [unorm]
[   0.395][d][vo/gpu/opengl]   p016be
[   0.395][d][vo/gpu/opengl]   gray9be
[   0.395][d][vo/gpu/opengl]   gray9 => 1 planes 1x1 16/-7 [r16] (r) [unorm]
[   0.395][d][vo/gpu/opengl]   gbrpf32be
[   0.395][d][vo/gpu/opengl]   gbrpf32 => 3 planes 1x1 32/0 [r16f/r16f/r16f] (g/b/r) [float]
[   0.395][d][vo/gpu/opengl]   gbrapf32be
[   0.395][d][vo/gpu/opengl]   gbrapf32 => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (g/b/r/a) [float]
[   0.395][d][vo/gpu/opengl]   opencl
[   0.395][d][vo/gpu/opengl]   gray14be
[   0.395][d][vo/gpu/opengl]   gray14 => 1 planes 1x1 16/-2 [r16] (r) [unorm]
[   0.395][d][vo/gpu/opengl]   grayf32be
[   0.395][d][vo/gpu/opengl]   grayf32 => 1 planes 1x1 32/0 [r16f] (r) [float]
[   0.395][d][vo/gpu/opengl]   yuva422p12be
[   0.395][d][vo/gpu/opengl]   yuva422p12 => 4 planes 2x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.395][d][vo/gpu/opengl]   yuva444p12be
[   0.395][d][vo/gpu/opengl]   yuva444p12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm]
[   0.395][d][vo/gpu/opengl]   nv24 => 2 planes 1x1 8/0 [r8/rg8] (r/gb) [unorm]
[   0.395][d][vo/gpu/opengl]   nv42 => 2 planes 1x1 8/0 [r8/rg8] (r/bg) [unorm]
[   0.395][d][vo/gpu/opengl]   vulkan
[   0.395][d][vo/gpu/opengl]   y210be
[   0.395][d][vo/gpu/opengl]   y210
[   0.395][d][vo/gpu/opengl]   x2rgb10be
[   0.395][v][vo/gpu] Testing FBO format rgba16f
[   0.395][d][vo/gpu] Resizing texture: 16x16
[   0.395][v][vo/gpu] Using FBO format rgba16f.
[   0.395][v][vo/gpu] No advanced processing required. Enabling dumb mode.
[   0.395][v][vo/gpu] Assuming 60.020425 FPS for display sync.
[   0.396][v][decode_wrapper/vd] Container reported FPS: 30.000000
[   0.396][v][decode_wrapper/vd] Codec list:
[   0.396][v][decode_wrapper/vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   0.396][v][decode_wrapper/vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[   0.396][v][decode_wrapper/vd] Opening decoder h264
[   0.396][v][decode_wrapper/vd] No hardware decoding requested.
[   0.396][v][decode_wrapper/vd] Using software decoding.
[   0.396][v][decode_wrapper/vd] Requesting 1 threads for decoding.
[   0.396][v][decode_wrapper/vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[   0.396][v][vf] User filter list:
[   0.396][v][vf]   (empty)
[   0.396][v][cplayer] Starting playback...
[   0.397][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.397][v][cplayer] Set property: shared-script-properties -> 1
[   0.428][d][osc] osc_init 
[   0.429][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.429][v][cplayer] Set property: shared-script-properties -> 1
[   0.533][d][ffmpeg/video] h264: Reinit context to 1280x720, pix_fmt: yuvj420p
[   0.533][d][decode_wrapper/vd] DR parameter change to 1280x738 yuv420p align=64
[   0.533][d][decode_wrapper/vd] Allocating new DR image...
[   0.541][v][decode_wrapper/vd] Using software decoding.
[   0.541][w][decode_wrapper/vd] No video PTS! Making something up. Using 30.000000 FPS.
[   0.541][v][decode_wrapper/vd] Decoder format: 1280x720 yuv420p auto/auto/auto/full/auto CL=mpeg2/4/h264
[   0.541][v][vf] [in] 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][v][vf] [userdeint] 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][v][vf] [userdeint] (disabled)
[   0.542][v][vf] [autorotate] 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][v][vf] [autorotate] (disabled)
[   0.542][v][vf] [convert] 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][v][vf] [convert] (disabled)
[   0.542][v][vf] [out] 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][i][cplayer] VO: [gpu] 1280x720 yuv420p
[   0.542][v][cplayer] VO: Description: Shader-based GPU Renderer
[   0.542][v][vo/gpu] reconfig to 1280x720 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264
[   0.542][d][vo/gpu] screen size: 1920x1080
[   0.547][v][vo/gpu] Resize: 1280x720
[   0.547][v][vo/gpu] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
[   0.547][v][vo/gpu] Video source: 1280x720 (1:1)
[   0.547][v][vo/gpu] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
[   0.547][v][vo/gpu] Video scale: 1.000000/1.000000
[   0.547][v][vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[   0.547][v][vo/gpu] Video borders: l=0 t=0 r=0 b=0
[   0.548][v][vo/gpu] Reported display depth: 8
[   0.548][v][vo/gpu] Texture for plane 0: 1280x720
[   0.548][v][vo/gpu] Texture for plane 1: 640x360
[   0.548][v][vo/gpu] Texture for plane 2: 640x360
[   0.548][v][vo/gpu] Testing FBO format rgba16f
[   0.548][d][vo/gpu] Resizing texture: 16x16
[   0.548][v][vo/gpu] Using FBO format rgba16f.
[   0.548][v][vo/gpu] No advanced processing required. Enabling dumb mode.
[   0.548][d][cplayer] starting video playback
[   0.548][v][cplayer] playback restart complete @ 0.000000, audio=playing, video=eof
[   0.549][d][osc] osc_init 
[   0.550][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[   0.550][v][cplayer] Set property: shared-script-properties -> 1
[   0.582][v][vo/gpu] DR enabled: yes
[   0.589][d][vo/gpu/opengl] vertex shader source:
[   0.589][d][vo/gpu/opengl] [  1] #version 440
[   0.589][d][vo/gpu/opengl] [  2] #define tex1D texture
[   0.589][d][vo/gpu/opengl] [  3] #define tex3D texture
[   0.589][d][vo/gpu/opengl] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.589][d][vo/gpu/opengl] [  5] in vec2 vertex_position;
[   0.589][d][vo/gpu/opengl] [  6] in vec2 vertex_texcoord0;
[   0.589][d][vo/gpu/opengl] [  7] out vec2 texcoord0;
[   0.589][d][vo/gpu/opengl] [  8] in vec2 vertex_texcoord1;
[   0.589][d][vo/gpu/opengl] [  9] out vec2 texcoord1;
[   0.589][d][vo/gpu/opengl] [ 10] in vec2 vertex_texcoord2;
[   0.589][d][vo/gpu/opengl] [ 11] out vec2 texcoord2;
[   0.589][d][vo/gpu/opengl] [ 12] void main() {
[   0.589][d][vo/gpu/opengl] [ 13] gl_Position = vec4(vertex_position, 1.0, 1.0);
[   0.589][d][vo/gpu/opengl] [ 14] texcoord0 = vertex_texcoord0;
[   0.589][d][vo/gpu/opengl] [ 15] texcoord1 = vertex_texcoord1;
[   0.589][d][vo/gpu/opengl] [ 16] texcoord2 = vertex_texcoord2;
[   0.589][d][vo/gpu/opengl] [ 17] }
[   0.589][d][vo/gpu/opengl] fragment shader source:
[   0.589][d][vo/gpu/opengl] [  1] #version 440
[   0.589][d][vo/gpu/opengl] [  2] #define tex1D texture
[   0.589][d][vo/gpu/opengl] [  3] #define tex3D texture
[   0.589][d][vo/gpu/opengl] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.589][d][vo/gpu/opengl] [  5] out vec4 out_color;
[   0.589][d][vo/gpu/opengl] [  6] in vec2 texcoord0;
[   0.589][d][vo/gpu/opengl] [  7] in vec2 texcoord1;
[   0.589][d][vo/gpu/opengl] [  8] in vec2 texcoord2;
[   0.589][d][vo/gpu/opengl] [  9] layout(std140, binding=0) uniform UBO {
[   0.589][d][vo/gpu/opengl] [ 10] layout(offset=0) mat3 colormatrix;
[   0.589][d][vo/gpu/opengl] [ 11] layout(offset=48) vec3 colormatrix_c;
[   0.589][d][vo/gpu/opengl] [ 12] layout(offset=64) vec3 src_luma;
[   0.589][d][vo/gpu/opengl] [ 13] layout(offset=80) vec3 dst_luma;
[   0.589][d][vo/gpu/opengl] [ 14] layout(offset=96) vec2 texture_size0;
[   0.589][d][vo/gpu/opengl] [ 15] layout(offset=112) mat2 texture_rot0;
[   0.589][d][vo/gpu/opengl] [ 16] layout(offset=144) vec2 texture_off0;
[   0.589][d][vo/gpu/opengl] [ 17] layout(offset=152) vec2 pixel_size0;
[   0.589][d][vo/gpu/opengl] [ 18] layout(offset=160) vec2 texture_size1;
[   0.589][d][vo/gpu/opengl] [ 19] layout(offset=176) mat2 texture_rot1;
[   0.589][d][vo/gpu/opengl] [ 20] layout(offset=208) vec2 texture_off1;
[   0.589][d][vo/gpu/opengl] [ 21] layout(offset=216) vec2 pixel_size1;
[   0.589][d][vo/gpu/opengl] [ 22] layout(offset=224) vec2 texture_size2;
[   0.589][d][vo/gpu/opengl] [ 23] layout(offset=240) mat2 texture_rot2;
[   0.589][d][vo/gpu/opengl] [ 24] layout(offset=272) vec2 texture_off2;
[   0.589][d][vo/gpu/opengl] [ 25] layout(offset=280) vec2 pixel_size2;
[   0.589][d][vo/gpu/opengl] [ 26] };
[   0.589][d][vo/gpu/opengl] [ 27] uniform sampler2D texture0;
[   0.589][d][vo/gpu/opengl] [ 28] uniform sampler2D texture1;
[   0.589][d][vo/gpu/opengl] [ 29] uniform sampler2D texture2;
[   0.589][d][vo/gpu/opengl] [ 30] void main() {
[   0.589][d][vo/gpu/opengl] [ 31] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[   0.589][d][vo/gpu/opengl] [ 32] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r;
[   0.589][d][vo/gpu/opengl] [ 33] color.g = 1.000000 * vec4(texture(texture1, texcoord1)).r;
[   0.589][d][vo/gpu/opengl] [ 34] color.b = 1.000000 * vec4(texture(texture2, texcoord2)).r;
[   0.589][d][vo/gpu/opengl] [ 35] color = color.rgbr;
[   0.589][d][vo/gpu/opengl] [ 36] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c;
[   0.589][d][vo/gpu/opengl] [ 37] color.a = 1.0;
[   0.589][d][vo/gpu/opengl] [ 38] // color mapping
[   0.589][d][vo/gpu/opengl] [ 39] color.rgb *= vec3(1.000000);
[   0.589][d][vo/gpu/opengl] [ 40] color.rgb *= vec3(1.000000);
[   0.589][d][vo/gpu/opengl] [ 41] out_color = color;
[   0.589][d][vo/gpu/opengl] [ 42] }
[   0.589][d][vo/gpu/opengl] shader link log (status=1): 
[   0.596][d][decode_wrapper/vd] Allocating new DR image...
[   0.604][v][vo/gpu/x11] Disabling screensaver.
[   0.613][w][decode_wrapper/vd] No video PTS! Making something up. Using 30.000000 FPS.
[   0.613][w][decode_wrapper/vd] Ignoring further missing PTS warnings.
[   0.668][d][decode_wrapper/vd] Allocating new DR image...
[   0.678][w][cplayer] Invalid video timestamp: 0.033333 -> 28879.398428
[   5.290][d][cplayer] Run command: quit, flags=73, args=[code="0"]
[   5.290][v][cplayer] EOF code: 5  
[   5.290][d][decode_wrapper/vd] Uninit decoder.
[   5.290][v][vo/gpu/x11] Enabling screensaver.
[   5.290][d][cplayer] Terminating demuxers...
[   5.390][v][cplayer] Forcefully terminating demuxers...
[   5.541][d][cplayer] Done terminating demuxers.
[   5.541][v][cplayer] finished playback, success (reason 3)
[   5.541][i][cplayer] 
[   5.541][i][cplayer] Exiting... (Quit)
[   5.541][d][console] Exiting...
[   5.542][d][ytdl_hook] Exiting...
[   5.542][d][stats] Exiting...
[   5.545][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="remove", value="osc-margins"]
[   5.545][v][cplayer] Set property: shared-script-properties -> 1
[   5.545][d][osc] Exiting...
[   5.550][d][vo/gpu] flushing shader cache
[   5.558][d][vo/gpu/x11] uninit ...

Sample files

An ffmpeg stream copy of the webcam's H.264 input muxed into MKV does not exhibit this problem.

mia-0 commented 3 years ago

Unable to reproduce this at least with my cheap MJPEG-only webcams, or by making ffmpeg write H.264 to a V4L2 loopback device (with -vf realtime).

CounterPillow commented 3 years ago

I can still reproduce this.

CounterPillow commented 3 years ago

Looks like it's --demuxer-lavf-probe-info=nostreams that's doing it.