mpv-player / mpv

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

Progress bar does not reach end when i finish playing a video #9602

Open low-batt opened 2 years ago

low-batt commented 2 years ago

Important Information

Provide following Information:

Reproduction steps

This issue was reported against IINA in https://github.com/iina/iina/issues/3331 and is reproducible with mpv. The IINA team would like to hear the mpv team's opinion on it.

My thoughts are that this appears to be an issue of the designed, documented and working behavior not being in line with the expectation of users.

Details on reproducing below, but may not be needed...

I believe this is about the documented behavior of the mpv --keep-open option:

--keep-open=<yes|no|always>

Do not terminate when playing or seeking beyond the end of the file, and there is not next file to be played (and --loop is not used). Instead, pause the player. When trying to seek beyond end of the file, the player will attempt to seek to the last frame.

Specifically the part about seek to the last frame.

Adding debug logging to IINA to check the mpv state when it paused showed property values consistent with being positioned on the last frame:

12:21:41.607 [iina][d] mpv property duration 1.001
12:21:41.607 [iina][d] mpv property eof-reached true
12:21:41.608 [iina][d] mpv property percent-pos 96.66666666666669
12:21:41.608 [iina][d] mpv property playback-time 0.9676333333333333
12:21:41.608 [iina][d] mpv property playtime-remaining 0.033366666666666545
12:21:41.608 [iina][d] mpv property time-pos 0.9676333333333333
12:21:41.608 [iina][d] mpv property time-remaining 0.033366666666666545

The user is expecting the slider to reflect that the movie played to the end and therefore the slider should be all the way to the end of the bar, whereas the IINA and mpv sliders are correctly reflecting the playback is positioned on the last frame.

I was also surprised that an EOF event was not recieved, but it seems that too is expected behavior because the file is not unloaded in this case:

end-file (MPV_EVENT_END_FILE) Happens after a file was unloaded.

The proposal on the table for the IINA project is to take into consideration the value of the mpv eof-reached property when determining where to position the slider. Hoping to hear from the mpv team as to whether our understanding of the situation is correct.

When playing the very short video sample provided below like so:

low-batt@gag mpv$ /Applications/mpv.app/Contents/MacOS/mpv --no-config --keep-open=always --log-file=mpv.log short.mp4
 (+) Video --vid=1 (*) (h264 640x360 29.970fps)
VO: [libmpv] 640x360 yuv420p
(Paused) V: 00:00:00 / 00:00:01 (97%)

Exiting... (Quit)

Playback stops with the progress bar short of the end: short

Expected behavior

The user expects the progress bar to reach the end.

Actual behavior

The progress bar shows playback positioned on the last frame.

Log file

mpv.log ```text [ 0.003][v][cplayer] mpv 0.34.0 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects [ 0.003][v][cplayer] built on Wed Nov 3 22:21:20 CET 2021 [ 0.003][v][cplayer] FFmpeg library versions: [ 0.003][v][cplayer] libavutil 56.70.100 [ 0.003][v][cplayer] libavcodec 58.134.100 [ 0.003][v][cplayer] libavformat 58.76.100 [ 0.003][v][cplayer] libswscale 5.9.100 [ 0.003][v][cplayer] libavfilter 7.110.100 [ 0.003][v][cplayer] libswresample 3.9.100 [ 0.003][v][cplayer] FFmpeg version: 4.4.1 [ 0.003][v][cplayer] [ 0.003][v][cplayer] Configuration: waf configure --prefix=/Users/djinn/mcafeedidntkillhimself/build-0.34.0 --confloaddir=/usr/local/etc/mpv --enable-manpage-build --disable-android --disable-tvos --disable-egl-android --disable-macos-media-player --lua=51deb --enable-html-build [ 0.003][v][cplayer] List of enabled features: 51deb asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins debug-build ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript lcms2 libarchive libass libavdevice libdl libm lua macos-10-11-features macos-10-12-2-features macos-10-14-features macos-cocoa-cb macos-touchbar optimize osx-thread-name posix posix-or-mingw pthreads rubberband stdatomic swift uchardet vector videotoolbox-gl videotoolbox-hwaccel zimg zlib [ 0.003][v][cplayer] Command line options: '--no-config' '--keep-open=always' '--log-file=mpv.log' 'short.mp4' [ 0.003][v][cplayer] mpv 0.34.0 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects [ 0.003][v][cplayer] built on Wed Nov 3 22:21:20 CET 2021 [ 0.003][v][cplayer] FFmpeg library versions: [ 0.003][v][cplayer] libavutil 56.70.100 [ 0.003][v][cplayer] libavcodec 58.134.100 [ 0.003][v][cplayer] libavformat 58.76.100 [ 0.003][v][cplayer] libswscale 5.9.100 [ 0.003][v][cplayer] libavfilter 7.110.100 [ 0.003][v][cplayer] libswresample 3.9.100 [ 0.003][v][cplayer] FFmpeg version: 4.4.1 [ 0.003][v][cplayer] [ 0.003][v][cplayer] Configuration: waf configure --prefix=/Users/djinn/mcafeedidntkillhimself/build-0.34.0 --confloaddir=/usr/local/etc/mpv --enable-manpage-build --disable-android --disable-tvos --disable-egl-android --disable-macos-media-player --lua=51deb --enable-html-build [ 0.003][v][cplayer] List of enabled features: 51deb asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins debug-build ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript lcms2 libarchive libass libavdevice libdl libm lua macos-10-11-features macos-10-12-2-features macos-10-14-features macos-cocoa-cb macos-touchbar optimize osx-thread-name posix posix-or-mingw pthreads rubberband stdatomic swift uchardet vector videotoolbox-gl videotoolbox-hwaccel zimg zlib [ 0.003][d][global] config path: '' -> '-' [ 0.003][d][global] user path: '~~home/' -> '' [ 0.003][d][global] user path: '~~old_home/' -> '' [ 0.003][v][cplayer] Setting option 'config' = 'no' (flags = 8) [ 0.003][v][cplayer] Setting option 'keep-open' = 'always' (flags = 8) [ 0.003][v][cplayer] Setting option 'log-file' = 'mpv.log' (flags = 8) [ 0.003][d][global] user path: 'mpv.log' -> 'mpv.log' [ 0.003][d][osc] Loading lua script @osc.lua... [ 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][osc] loading mp.defaults [ 0.004][d][stats] loading mp.defaults [ 0.004][d][ytdl_hook] loading mp.defaults [ 0.004][d][console] loading mp.defaults [ 0.004][d][auto_profiles] loading mp.defaults [ 0.005][d][console] loading @console.lua [ 0.005][d][stats] loading @stats.lua [ 0.005][d][ytdl_hook] loading @ytdl_hook.lua [ 0.005][d][auto_profiles] loading @auto_profiles.lua [ 0.005][d][osc] loading @osc.lua [ 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][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.007][d][osc] reading options for osc [ 0.007][d][osc] script-opts/osc.conf not found. [ 0.007][d][osc] lua-settings/osc.conf not found. [ 0.026][v][osx/cocoacb] Created CGL pixel format with attributes: kCGLPFAOpenGLProfile, kCGLOGLPVersion_3_2_Core, kCGLPFAAccelerated, kCGLPFADoubleBuffer, kCGLPFAColorSize, 64, kCGLPFAColorFloat, kCGLPFABackingStore, kCGLPFAAllowOfflineRenderers, kCGLPFASupportsAutomaticGraphicsSwitching, 0 [ 0.029][v][libmpv_render] GL_VERSION='4.1 Metal - 76.1' [ 0.029][v][libmpv_render] Detected desktop OpenGL 4.1. [ 0.029][v][libmpv_render] GL_VENDOR='Apple' [ 0.029][v][libmpv_render] GL_RENDERER='Apple M1 Max' [ 0.029][v][libmpv_render] GL_SHADING_LANGUAGE_VERSION='4.10' [ 0.029][d][libmpv_render] Combined OpenGL extensions string: [ 0.029][d][libmpv_render] GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_NV_texture_barrier [ 0.029][v][libmpv_render] Loaded extension GL_APPLE_rgb_422. [ 0.029][v][libmpv_render] GL_*_swap_control extension missing. [ 0.030][d][libmpv_render] Texture formats: [ 0.030][d][libmpv_render] NAME COMP*TYPE SIZE DEPTH PER COMP. [ 0.030][d][libmpv_render] r8 1*unorm 1B LF CR ST {8} [ 0.030][d][libmpv_render] rg8 2*unorm 2B LF CR ST {8 8} [ 0.030][d][libmpv_render] rgb8 3*unorm 3B LF CR ST {8 8 8} [ 0.030][d][libmpv_render] rgba8 4*unorm 4B LF CR ST {8 8 8 8} [ 0.030][d][libmpv_render] r16 1*unorm 2B LF CR ST {16} [ 0.030][d][libmpv_render] rg16 2*unorm 4B LF CR ST {16 16} [ 0.030][d][libmpv_render] rgb16 3*unorm 6B LF CR ST {16 16 16} [ 0.030][d][libmpv_render] rgba16 4*unorm 8B LF CR ST {16 16 16 16} [ 0.030][d][libmpv_render] r8ui 1*uint 1B CR ST {8} [ 0.030][d][libmpv_render] rg8ui 2*uint 2B CR ST {8 8} [ 0.030][d][libmpv_render] rgb8ui 3*uint 3B ST {8 8 8} [ 0.030][d][libmpv_render] rgba8ui 4*uint 4B CR ST {8 8 8 8} [ 0.030][d][libmpv_render] r16ui 1*uint 2B CR ST {16} [ 0.030][d][libmpv_render] rg16ui 2*uint 4B CR ST {16 16} [ 0.030][d][libmpv_render] rgb16ui 3*uint 6B ST {16 16 16} [ 0.030][d][libmpv_render] rgba16ui 4*uint 8B CR ST {16 16 16 16} [ 0.030][d][libmpv_render] r16f 1*float 4B LF CR ST {32/16} [ 0.030][d][libmpv_render] rg16f 2*float 8B LF CR ST {32/16 32/16} [ 0.030][d][libmpv_render] rgb16f 3*float 12B LF CR ST {32/16 32/16 32/16} [ 0.030][d][libmpv_render] rgba16f 4*float 16B LF CR ST {32/16 32/16 32/16 32/16} [ 0.030][d][libmpv_render] r32f 1*float 4B LF CR ST {32} [ 0.030][d][libmpv_render] rg32f 2*float 8B LF CR ST {32 32} [ 0.030][d][libmpv_render] rgb32f 3*float 12B LF CR ST {32 32 32} [ 0.030][d][libmpv_render] rgba32f 4*float 16B LF CR ST {32 32 32 32} [ 0.030][d][libmpv_render] rgb10_a2 4*unorm 4B LF CR ST {0/10 0/10 0/10 0/2} [ 0.030][d][libmpv_render] rgba12 4*unorm 8B LF CR ST {16/12 16/12 16/12 16/12} [ 0.030][d][libmpv_render] rgb10 3*unorm 6B LF CR ST {16/10 16/10 16/10} [ 0.030][d][libmpv_render] rgb565 3*unorm 2B LF ST {0/8 0/8 0/8} [ 0.030][d][libmpv_render] appleyp 0*unorm 2B LF ST {} [ 0.030][d][libmpv_render] LA = LUMINANCE_ALPHA hack format [ 0.030][d][libmpv_render] LF = linear filterable [ 0.030][d][libmpv_render] CR = can be used for render targets [ 0.030][d][libmpv_render] ST = can be used for storable images [ 0.030][d][libmpv_render] Image formats: [ 0.030][d][libmpv_render] yuv444p => 3 planes 1x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv420p => 3 planes 2x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] gray => 1 planes 1x1 8/0 [r8] (r) [unorm] [ 0.030][d][libmpv_render] gray16 => 1 planes 1x1 16/0 [r16] (r) [unorm] [ 0.030][d][libmpv_render] uyvy422 => 1 planes 1x1 0/0 [appleyp] (brg) [unknown] [ 0.030][d][libmpv_render] nv12 => 2 planes 2x2 8/0 [r8/rg8] (r/gb) [unorm] [ 0.030][d][libmpv_render] p010 => 2 planes 2x2 16/6 [r16/rg16] (r/gb) [unorm] [ 0.030][d][libmpv_render] argb => 1 planes 1x1 8/0 [rgba8] (argb) [unorm] [ 0.030][d][libmpv_render] bgra => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm] [ 0.030][d][libmpv_render] abgr => 1 planes 1x1 8/0 [rgba8] (abgr) [unorm] [ 0.030][d][libmpv_render] rgba => 1 planes 1x1 8/0 [rgba8] (rgba) [unorm] [ 0.030][d][libmpv_render] bgr24 => 1 planes 1x1 8/0 [rgb8] (bgr) [unorm] [ 0.030][d][libmpv_render] rgb24 => 1 planes 1x1 8/0 [rgb8] (rgb) [unorm] [ 0.030][d][libmpv_render] 0rgb => 1 planes 1x1 8/0 [rgba8] (_rgb) [unorm] [ 0.030][d][libmpv_render] bgr0 => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm] [ 0.030][d][libmpv_render] 0bgr => 1 planes 1x1 8/0 [rgba8] (_bgr) [unorm] [ 0.030][d][libmpv_render] rgb0 => 1 planes 1x1 8/0 [rgba8] (rgb) [unorm] [ 0.030][d][libmpv_render] rgba64 => 1 planes 1x1 16/0 [rgba16] (rgba) [unorm] [ 0.030][d][libmpv_render] rgb565 => 1 planes 1x1 0/0 [rgb565] (rgb) [unknown] [ 0.030][d][libmpv_render] pal8 [ 0.030][d][libmpv_render] vdpau [ 0.030][d][libmpv_render] d3d11 [ 0.030][d][libmpv_render] dxva2_vld [ 0.030][d][libmpv_render] mmal [ 0.030][d][libmpv_render] mediacodec [ 0.030][d][libmpv_render] drm_prime [ 0.030][d][libmpv_render] cuda [ 0.030][d][libmpv_render] yap8 => 2 planes 1x1 8/0 [r8/r8] (r/a) [unorm] [ 0.030][d][libmpv_render] yap16 => 2 planes 1x1 16/0 [r16/r16] (r/a) [unorm] [ 0.030][d][libmpv_render] grayaf32 => 2 planes 1x1 32/0 [r16f/r16f] (r/a) [float] [ 0.030][d][libmpv_render] yuv444pf => 3 planes 1x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva444pf => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] yuv420pf => 3 planes 2x2 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva420pf => 4 planes 2x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] yuv422pf => 3 planes 2x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva422pf => 4 planes 2x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] yuv440pf => 3 planes 1x2 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva440pf => 4 planes 1x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] yuv410pf => 3 planes 4x4 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva410pf => 4 planes 4x4 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] yuv411pf => 3 planes 4x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 0.030][d][libmpv_render] yuva411pf => 4 planes 4x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 0.030][d][libmpv_render] rgb30 => 1 planes 1x1 10/0 [rgb10_a2] (bgr) [unknown] [ 0.030][d][libmpv_render] y1 => 1 planes 1x1 8/-7 [r8] (r) [unorm] [ 0.030][d][libmpv_render] gbrp1 => 3 planes 1x1 8/-7 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp2 => 3 planes 1x1 8/-6 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp3 => 3 planes 1x1 8/-5 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp4 => 3 planes 1x1 8/-4 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp5 => 3 planes 1x1 8/-3 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp6 => 3 planes 1x1 8/-2 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] vdpau_output [ 0.030][d][libmpv_render] vaapi [ 0.030][d][libmpv_render] videotoolbox [ 0.030][d][libmpv_render] yuyv422 [ 0.030][d][libmpv_render] yuv422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv410p => 3 planes 4x4 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] monow [ 0.030][d][libmpv_render] monob [ 0.030][d][libmpv_render] yuvj422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] uyyvyy411 [ 0.030][d][libmpv_render] bgr8 [ 0.030][d][libmpv_render] bgr4 [ 0.030][d][libmpv_render] bgr4_byte [ 0.030][d][libmpv_render] rgb8 [ 0.030][d][libmpv_render] rgb4 [ 0.030][d][libmpv_render] rgb4_byte [ 0.030][d][libmpv_render] nv21 => 2 planes 2x2 8/0 [r8/rg8] (r/bg) [unorm] [ 0.030][d][libmpv_render] gray16be [ 0.030][d][libmpv_render] yuv440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuvj440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuva420p => 4 planes 2x2 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] rgb48be [ 0.030][d][libmpv_render] rgb48 => 1 planes 1x1 16/0 [rgb16] (rgb) [unorm] [ 0.030][d][libmpv_render] rgb565be [ 0.030][d][libmpv_render] rgb555be [ 0.030][d][libmpv_render] rgb555 [ 0.030][d][libmpv_render] bgr565be [ 0.030][d][libmpv_render] bgr565 [ 0.030][d][libmpv_render] bgr555be [ 0.030][d][libmpv_render] bgr555 [ 0.030][d][libmpv_render] vaapi_moco [ 0.030][d][libmpv_render] vaapi_idct [ 0.030][d][libmpv_render] yuv420p16 => 3 planes 2x2 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv420p16be [ 0.030][d][libmpv_render] yuv422p16 => 3 planes 2x1 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv422p16be [ 0.030][d][libmpv_render] yuv444p16 => 3 planes 1x1 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv444p16be [ 0.030][d][libmpv_render] rgb444 [ 0.030][d][libmpv_render] rgb444be [ 0.030][d][libmpv_render] bgr444 [ 0.030][d][libmpv_render] bgr444be [ 0.030][d][libmpv_render] ya8 => 1 planes 1x1 8/0 [rg8] (ra) [unorm] [ 0.030][d][libmpv_render] bgr48be [ 0.030][d][libmpv_render] bgr48 => 1 planes 1x1 16/0 [rgb16] (bgr) [unorm] [ 0.030][d][libmpv_render] yuv420p9be [ 0.030][d][libmpv_render] yuv420p9 => 3 planes 2x2 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv420p10be [ 0.030][d][libmpv_render] yuv420p10 => 3 planes 2x2 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv422p10be [ 0.030][d][libmpv_render] yuv422p10 => 3 planes 2x1 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv444p9be [ 0.030][d][libmpv_render] yuv444p9 => 3 planes 1x1 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv444p10be [ 0.030][d][libmpv_render] yuv444p10 => 3 planes 1x1 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv422p9be [ 0.030][d][libmpv_render] yuv422p9 => 3 planes 2x1 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] gbrp => 3 planes 1x1 8/0 [r8/r8/r8] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp9be [ 0.030][d][libmpv_render] gbrp9 => 3 planes 1x1 16/-7 [r16/r16/r16] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp10be [ 0.030][d][libmpv_render] gbrp10 => 3 planes 1x1 16/-6 [r16/r16/r16] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp16be [ 0.030][d][libmpv_render] gbrp16 => 3 planes 1x1 16/0 [r16/r16/r16] (g/b/r) [unorm] [ 0.030][d][libmpv_render] yuva422p => 4 planes 2x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva444p => 4 planes 1x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva420p9be [ 0.030][d][libmpv_render] yuva420p9 => 4 planes 2x2 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva422p9be [ 0.030][d][libmpv_render] yuva422p9 => 4 planes 2x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva444p9be [ 0.030][d][libmpv_render] yuva444p9 => 4 planes 1x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva420p10be [ 0.030][d][libmpv_render] yuva420p10 => 4 planes 2x2 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva422p10be [ 0.030][d][libmpv_render] yuva422p10 => 4 planes 2x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva444p10be [ 0.030][d][libmpv_render] yuva444p10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva420p16be [ 0.030][d][libmpv_render] yuva420p16 => 4 planes 2x2 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva422p16be [ 0.030][d][libmpv_render] yuva422p16 => 4 planes 2x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] yuva444p16be [ 0.030][d][libmpv_render] yuva444p16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.030][d][libmpv_render] xyz12 => 1 planes 1x1 16/4 [rgb16] (rgb) [unorm] [ 0.030][d][libmpv_render] xyz12be [ 0.030][d][libmpv_render] nv16 => 2 planes 2x1 8/0 [r8/rg8] (r/gb) [unorm] [ 0.030][d][libmpv_render] nv20 => 2 planes 2x1 16/-6 [r16/rg16] (r/gb) [unorm] [ 0.030][d][libmpv_render] nv20be [ 0.030][d][libmpv_render] rgba64be [ 0.030][d][libmpv_render] bgra64be [ 0.030][d][libmpv_render] bgra64 => 1 planes 1x1 16/0 [rgba16] (bgra) [unorm] [ 0.030][d][libmpv_render] yvyu422 [ 0.030][d][libmpv_render] ya16be [ 0.030][d][libmpv_render] ya16 => 1 planes 1x1 16/0 [rg16] (ra) [unorm] [ 0.030][d][libmpv_render] gbrap => 4 planes 1x1 8/0 [r8/r8/r8/r8] (g/b/r/a) [unorm] [ 0.030][d][libmpv_render] gbrap16be [ 0.030][d][libmpv_render] gbrap16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 0.030][d][libmpv_render] qsv [ 0.030][d][libmpv_render] d3d11va_vld [ 0.030][d][libmpv_render] yuv420p12be [ 0.030][d][libmpv_render] yuv420p12 => 3 planes 2x2 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv420p14be [ 0.030][d][libmpv_render] yuv420p14 => 3 planes 2x2 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv422p12be [ 0.030][d][libmpv_render] yuv422p12 => 3 planes 2x1 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv422p14be [ 0.030][d][libmpv_render] yuv422p14 => 3 planes 2x1 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv444p12be [ 0.030][d][libmpv_render] yuv444p12 => 3 planes 1x1 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] yuv444p14be [ 0.030][d][libmpv_render] yuv444p14 => 3 planes 1x1 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 0.030][d][libmpv_render] gbrp12be [ 0.030][d][libmpv_render] gbrp12 => 3 planes 1x1 16/-4 [r16/r16/r16] (g/b/r) [unorm] [ 0.030][d][libmpv_render] gbrp14be [ 0.030][d][libmpv_render] gbrp14 => 3 planes 1x1 16/-2 [r16/r16/r16] (g/b/r) [unorm] [ 0.030][d][libmpv_render] yuvj411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 0.030][d][libmpv_render] bayer_bggr8 [ 0.030][d][libmpv_render] bayer_rggb8 [ 0.030][d][libmpv_render] bayer_gbrg8 [ 0.031][d][libmpv_render] bayer_grbg8 [ 0.031][d][libmpv_render] bayer_bggr16 [ 0.031][d][libmpv_render] bayer_bggr16be [ 0.031][d][libmpv_render] bayer_rggb16 [ 0.031][d][libmpv_render] bayer_rggb16be [ 0.031][d][libmpv_render] bayer_gbrg16 [ 0.031][d][libmpv_render] bayer_gbrg16be [ 0.031][d][libmpv_render] bayer_grbg16 [ 0.031][d][libmpv_render] bayer_grbg16be [ 0.031][d][libmpv_render] xvmc [ 0.031][d][libmpv_render] yuv440p10 => 3 planes 1x2 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 0.031][d][libmpv_render] yuv440p10be [ 0.031][d][libmpv_render] yuv440p12 => 3 planes 1x2 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 0.031][d][libmpv_render] yuv440p12be [ 0.031][d][libmpv_render] ayuv64 => 1 planes 1x1 16/0 [rgba16] (argb) [unorm] [ 0.031][d][libmpv_render] ayuv64be [ 0.031][d][libmpv_render] p010be [ 0.031][d][libmpv_render] gbrap12be [ 0.031][d][libmpv_render] gbrap12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 0.031][d][libmpv_render] gbrap10be [ 0.031][d][libmpv_render] gbrap10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 0.031][d][libmpv_render] gray12be [ 0.031][d][libmpv_render] gray12 => 1 planes 1x1 16/-4 [r16] (r) [unorm] [ 0.031][d][libmpv_render] gray10be [ 0.031][d][libmpv_render] gray10 => 1 planes 1x1 16/-6 [r16] (r) [unorm] [ 0.031][d][libmpv_render] p016 => 2 planes 2x2 16/0 [r16/rg16] (r/gb) [unorm] [ 0.031][d][libmpv_render] p016be [ 0.031][d][libmpv_render] gray9be [ 0.031][d][libmpv_render] gray9 => 1 planes 1x1 16/-7 [r16] (r) [unorm] [ 0.031][d][libmpv_render] gbrpf32be [ 0.031][d][libmpv_render] gbrpf32 => 3 planes 1x1 32/0 [r16f/r16f/r16f] (g/b/r) [float] [ 0.031][d][libmpv_render] gbrapf32be [ 0.031][d][libmpv_render] gbrapf32 => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (g/b/r/a) [float] [ 0.031][d][libmpv_render] opencl [ 0.031][d][libmpv_render] gray14be [ 0.031][d][libmpv_render] gray14 => 1 planes 1x1 16/-2 [r16] (r) [unorm] [ 0.031][d][libmpv_render] grayf32be [ 0.031][d][libmpv_render] grayf32 => 1 planes 1x1 32/0 [r16f] (r) [float] [ 0.031][d][libmpv_render] yuva422p12be [ 0.031][d][libmpv_render] yuva422p12 => 4 planes 2x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.031][d][libmpv_render] yuva444p12be [ 0.031][d][libmpv_render] yuva444p12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 0.031][d][libmpv_render] nv24 => 2 planes 1x1 8/0 [r8/rg8] (r/gb) [unorm] [ 0.031][d][libmpv_render] nv42 => 2 planes 1x1 8/0 [r8/rg8] (r/bg) [unorm] [ 0.031][d][libmpv_render] vulkan [ 0.031][d][libmpv_render] y210be [ 0.031][d][libmpv_render] y210 [ 0.031][d][libmpv_render] x2rgb10be [ 0.031][v][libmpv_render] Testing FBO format rgba16f [ 0.031][d][libmpv_render] Resizing texture: 16x16 [ 0.031][v][libmpv_render] Using FBO format rgba16f. [ 0.031][v][libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0). [ 0.031][v][libmpv_render] No advanced processing required. Enabling dumb mode. [ 0.031][v][libmpv_render] Loading hwdec driver 'videotoolbox' [ 0.031][v][cplayer] Waiting for scripts... [ 0.032][d][console] reading options for console [ 0.032][d][console] script-opts/console.conf not found. [ 0.032][d][console] lua-settings/console.conf not found. [ 0.032][d][auto_profiles] Exiting... [ 0.032][d][cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"] [ 0.032][d][cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.032][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.032][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.032][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.032][d][cplayer] Run command: enable-section, flags=64, args=[name="showhide_wc", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.032][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"] [ 0.032][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.032][d][cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="", flags="default"] [ 0.032][d][cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.033][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.033][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 0.033][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"] [ 0.033][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.033][d][cplayer] Run command: define-section, flags=64, args=[name="window-controls", contents="mbtn_left script-binding osc/__keybinding11\n", flags="force"] [ 0.033][d][cplayer] Run command: enable-section, flags=64, args=[name="window-controls", flags=""] [ 0.033][d][osd/libass] ASS library version: 0x1502000 (runtime 0x1502000) [ 0.033][v][osd/libass] libass API version: 0x1502000 [ 0.033][v][osd/libass] libass source: tarball: 0.15.2 [ 0.034][v][osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.0.0 (COMPLEX) [ 0.034][v][osd/libass] Setting up fonts... [ 0.034][v][osd/libass] Using font provider coretext [ 0.034][v][osd/libass] Done. [ 0.034][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-visibility=auto"] [ 0.034][v][cplayer] Set property: shared-script-properties -> 1 [ 0.034][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 0.034][d][cplayer] Run command: disable-section, flags=64, args=[name="window-controls"] [ 0.034][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.034][v][cplayer] Set property: shared-script-properties -> 1 [ 0.034][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.034][v][cplayer] Set property: shared-script-properties -> 1 [ 0.034][d][osc] osc_init [ 0.035][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.035][v][cplayer] Set property: shared-script-properties -> 1 [ 0.035][v][cplayer] Done loading scripts. [ 0.035][d][global] config path: 'watch_later' -> '-' [ 0.035][d][global] config path: 'watch_later' -> '-' [ 0.035][v][cplayer] Running hook: ytdl_hook/on_load [ 0.035][v][ytdl_hook] ytdl:// hook [ 0.035][v][ytdl_hook] not a ytdl:// url [ 0.035][d][osd/libass] ASS library version: 0x1502000 (runtime 0x1502000) [ 0.035][v][osd/libass] libass API version: 0x1502000 [ 0.035][v][osd/libass] libass source: tarball: 0.15.2 [ 0.036][v][osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.0.0 (COMPLEX) [ 0.036][v][osd/libass] Setting up fonts... [ 0.036][v][osd/libass] Using font provider coretext [ 0.036][v][osd/libass] Done. [ 0.036][d][osc] osc_init [ 0.036][v][file] Opening short.mp4 [ 0.037][d][file] resize stream to 131072 bytes, drop 0 bytes [ 0.037][d][file] Stream opened successfully. [ 0.037][v][demux] Trying demuxers for level=normal. [ 0.037][d][demux] Trying demuxer: disc (force-level: normal) [ 0.037][d][demux] Trying demuxer: edl (force-level: normal) [ 0.037][d][demux] Trying demuxer: cue (force-level: normal) [ 0.037][d][demux] Trying demuxer: rawaudio (force-level: normal) [ 0.037][d][demux] Trying demuxer: rawvideo (force-level: normal) [ 0.037][d][demux] Trying demuxer: mkv (force-level: normal) [ 0.037][d][demux] Trying demuxer: libarchive (force-level: normal) [ 0.037][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.037][v][cplayer] Set property: shared-script-properties -> 1 [ 0.037][d][cplayer] Run command: define-section, flags=64, args=[name="input_osc", contents="", flags="default"] [ 0.037][d][cplayer] Run command: enable-section, flags=64, args=[name="input_osc", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.037][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_osc", contents="", flags="force"] [ 0.037][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_osc", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.037][d][demux] Trying demuxer: lavf (force-level: normal) [ 0.040][v][lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048. [ 0.040][v][demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat) [ 0.040][v][cplayer] Opening done: short.mp4 [ 0.040][v][find_files] Loading external files in . [ 0.040][d][find_files] Potential external file: "Screen Shot 2021-12-15 at 3.55.06 PM.png" Priority: 0 [ 0.040][v][cplayer] Running hook: ytdl_hook/on_preloaded [ 0.041][v][lavf] select track 0 [ 0.041][i][cplayer] (+) Video --vid=1 (*) (h264 640x360 29.970fps) [ 0.041][d][vo/libmpv] max content size: 5120x2748 [ 0.041][d][vo/libmpv] monitor size: 5120x2748 [ 0.043][v][osx/cocoacb] Can't find an ambient light sensor [ 0.043][v][vo/libmpv] Assuming 59.999250 FPS for display sync. [ 0.043][v][vd] Container reported FPS: 29.970030 [ 0.044][v][vd] Codec list: [ 0.044][v][vd] h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [ 0.044][v][vd] Opening decoder h264 [ 0.044][v][vd] No hardware decoding requested. [ 0.044][v][vd] Using software decoding. [ 0.044][v][vd] Detected 10 logical cores. [ 0.044][v][vd] Requesting 11 threads for decoding. [ 0.044][v][vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10) [ 0.045][v][vf] User filter list: [ 0.045][v][vf] (empty) [ 0.045][v][cplayer] Starting playback... [ 0.045][v][lavf] EOF reached. [ 0.045][d][ffmpeg/video] h264: Reinit context to 640x368, pix_fmt: yuvj420p [ 0.045][d][vd] DR parameter change to 640x386 yuv420p align=64 [ 0.045][d][vd] Allocating new DR image... [ 0.045][d][vd] ...failed.. [ 0.045][v][vd] DR failed - disabling. [ 0.048][v][vd] Using software decoding. [ 0.048][v][vd] Decoder format: 640x360 yuv420p bt.709/bt.709/bt.1886/full/auto CL=mpeg2/4/h264 [ 0.048][v][vd] Using container aspect ratio. [ 0.048][v][vf] [in] 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.048][v][vf] [userdeint] 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.048][v][vf] [userdeint] (disabled) [ 0.048][v][vf] [autorotate] 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.049][v][vf] [autorotate] (disabled) [ 0.049][v][vf] [convert] 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.049][v][vf] [convert] (disabled) [ 0.049][v][vf] [out] 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.049][i][cplayer] VO: [libmpv] 640x360 yuv420p [ 0.049][v][cplayer] VO: Description: render API for libmpv [ 0.049][v][vo/libmpv] reconfig to 640x360 yuv420p bt.709/bt.709/bt.1886/full/display SP=1.000000 CL=mpeg2/4/h264 [ 0.069][d][vo/libmpv] max content size: 5120x2748 [ 0.069][d][vo/libmpv] monitor size: 5120x2748 [ 0.090][v][libmpv_render] Texture for plane 0: 640x360 [ 0.090][v][libmpv_render] Texture for plane 1: 320x180 [ 0.090][v][libmpv_render] Texture for plane 2: 320x180 [ 0.090][v][libmpv_render] Testing FBO format rgba16f [ 0.090][d][libmpv_render] Resizing texture: 16x16 [ 0.090][v][libmpv_render] Using FBO format rgba16f. [ 0.090][v][libmpv_render] No advanced processing required. Enabling dumb mode. [ 0.091][v][cplayer] first video frame after restart shown [ 0.091][d][cplayer] starting video playback [ 0.091][v][cplayer] playback restart complete @ 0.000000, audio=eof, video=playing [ 0.091][d][osc] osc_init [ 0.092][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.092][v][cplayer] Set property: shared-script-properties -> 1 [ 0.130][v][libmpv_render] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0) [ 0.130][v][libmpv_render] Video source: 640x360 (1:1) [ 0.130][v][libmpv_render] Video display: (0, 0) 640x360 -> (0, 0) 1280x720 [ 0.130][v][libmpv_render] Video scale: 2.000000/2.000000 [ 0.130][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0 [ 0.130][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0 [ 0.130][d][osc] osc_init [ 0.131][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.131][v][cplayer] Set property: shared-script-properties -> 1 [ 0.133][d][libmpv_render] vertex shader source: [ 0.133][d][libmpv_render] [ 1] #version 410 [ 0.133][d][libmpv_render] [ 2] #define tex1D texture [ 0.133][d][libmpv_render] [ 3] #define tex3D texture [ 0.133][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 0.133][d][libmpv_render] [ 5] in vec2 vertex_position; [ 0.133][d][libmpv_render] [ 6] in vec2 vertex_texcoord0; [ 0.133][d][libmpv_render] [ 7] out vec2 texcoord0; [ 0.133][d][libmpv_render] [ 8] in vec2 vertex_texcoord1; [ 0.133][d][libmpv_render] [ 9] out vec2 texcoord1; [ 0.133][d][libmpv_render] [ 10] in vec2 vertex_texcoord2; [ 0.133][d][libmpv_render] [ 11] out vec2 texcoord2; [ 0.133][d][libmpv_render] [ 12] void main() { [ 0.133][d][libmpv_render] [ 13] gl_Position = vec4(vertex_position, 1.0, 1.0); [ 0.133][d][libmpv_render] [ 14] texcoord0 = vertex_texcoord0; [ 0.133][d][libmpv_render] [ 15] texcoord1 = vertex_texcoord1; [ 0.133][d][libmpv_render] [ 16] texcoord2 = vertex_texcoord2; [ 0.133][d][libmpv_render] [ 17] } [ 0.134][d][libmpv_render] fragment shader source: [ 0.134][d][libmpv_render] [ 1] #version 410 [ 0.134][d][libmpv_render] [ 2] #define tex1D texture [ 0.134][d][libmpv_render] [ 3] #define tex3D texture [ 0.134][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 0.134][d][libmpv_render] [ 5] out vec4 out_color; [ 0.134][d][libmpv_render] [ 6] in vec2 texcoord0; [ 0.134][d][libmpv_render] [ 7] in vec2 texcoord1; [ 0.134][d][libmpv_render] [ 8] in vec2 texcoord2; [ 0.134][d][libmpv_render] [ 9] uniform mat3 colormatrix; [ 0.134][d][libmpv_render] [ 10] uniform vec3 colormatrix_c; [ 0.134][d][libmpv_render] [ 11] uniform vec3 src_luma; [ 0.134][d][libmpv_render] [ 12] uniform vec3 dst_luma; [ 0.134][d][libmpv_render] [ 13] uniform sampler2D texture0; [ 0.134][d][libmpv_render] [ 14] uniform vec2 texture_size0; [ 0.134][d][libmpv_render] [ 15] uniform mat2 texture_rot0; [ 0.134][d][libmpv_render] [ 16] uniform vec2 texture_off0; [ 0.134][d][libmpv_render] [ 17] uniform vec2 pixel_size0; [ 0.134][d][libmpv_render] [ 18] uniform sampler2D texture1; [ 0.134][d][libmpv_render] [ 19] uniform vec2 texture_size1; [ 0.134][d][libmpv_render] [ 20] uniform mat2 texture_rot1; [ 0.134][d][libmpv_render] [ 21] uniform vec2 texture_off1; [ 0.134][d][libmpv_render] [ 22] uniform vec2 pixel_size1; [ 0.134][d][libmpv_render] [ 23] uniform sampler2D texture2; [ 0.134][d][libmpv_render] [ 24] uniform vec2 texture_size2; [ 0.134][d][libmpv_render] [ 25] uniform mat2 texture_rot2; [ 0.134][d][libmpv_render] [ 26] uniform vec2 texture_off2; [ 0.134][d][libmpv_render] [ 27] uniform vec2 pixel_size2; [ 0.134][d][libmpv_render] [ 28] void main() { [ 0.134][d][libmpv_render] [ 29] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [ 0.134][d][libmpv_render] [ 30] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r; [ 0.134][d][libmpv_render] [ 31] color.g = 1.000000 * vec4(texture(texture1, texcoord1)).r; [ 0.134][d][libmpv_render] [ 32] color.b = 1.000000 * vec4(texture(texture2, texcoord2)).r; [ 0.134][d][libmpv_render] [ 33] color = color.rgbr; [ 0.134][d][libmpv_render] [ 34] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c; [ 0.134][d][libmpv_render] [ 35] color.a = 1.0; [ 0.134][d][libmpv_render] [ 36] // color mapping [ 0.134][d][libmpv_render] [ 37] color.rgb *= vec3(1.000000); [ 0.134][d][libmpv_render] [ 38] color.rgb *= vec3(1.000000); [ 0.134][d][libmpv_render] [ 39] out_color = color; [ 0.134][d][libmpv_render] [ 40] } [ 0.135][d][libmpv_render] shader link log (status=1): [ 0.999][v][vf] filter input EOF [ 0.999][v][vf] filter output EOF [ 1.035][v][cplayer] using demuxer frame duration for last frame [ 1.035][d][cplayer] video EOF (status=3) [ 1.035][d][cplayer] video EOF (status=3) [ 1.041][d][cplayer] video EOF (status=3) [ 1.053][d][cplayer] video EOF (status=3) [ 1.064][d][cplayer] video EOF (status=3) [ 1.075][d][cplayer] video EOF (status=3) [ 1.087][d][cplayer] video EOF (status=3) [ 1.092][d][cplayer] video EOF (status=3) [ 1.093][v][cplayer] video EOF reached [ 1.093][d][cplayer] video EOF (status=4) [ 1.439][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"] [ 1.440][v][cplayer] Set property: shared-script-properties -> 1 [ 1.440][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 1.446][v][osd/libass] fontselect: (sans-serif, 400, 0) -> /System/Library/Fonts/Helvetica.ttc, -1, Helvetica [ 1.449][v][osd/libass] fontselect: (mpv-osd-symbols, 400, 0) -> mpv-osd-symbols-Regular, 0, mpv-osd-symbols-Regular [ 1.450][v][libmpv_render] Reallocating OSD texture to 2048x128. [ 1.452][d][libmpv_render] vertex shader source: [ 1.452][d][libmpv_render] [ 1] #version 410 [ 1.452][d][libmpv_render] [ 2] #define tex1D texture [ 1.452][d][libmpv_render] [ 3] #define tex3D texture [ 1.452][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 1.452][d][libmpv_render] [ 5] in vec2 vertex_position; [ 1.452][d][libmpv_render] [ 6] in vec2 vertex_texcoord; [ 1.452][d][libmpv_render] [ 7] out vec2 texcoord; [ 1.452][d][libmpv_render] [ 8] in vec4 vertex_ass_color; [ 1.452][d][libmpv_render] [ 9] out vec4 ass_color; [ 1.452][d][libmpv_render] [ 10] void main() { [ 1.452][d][libmpv_render] [ 11] gl_Position = vec4(vertex_position, 1.0, 1.0); [ 1.452][d][libmpv_render] [ 12] texcoord = vertex_texcoord; [ 1.452][d][libmpv_render] [ 13] ass_color = vertex_ass_color; [ 1.452][d][libmpv_render] [ 14] } [ 1.452][d][libmpv_render] fragment shader source: [ 1.452][d][libmpv_render] [ 1] #version 410 [ 1.452][d][libmpv_render] [ 2] #define tex1D texture [ 1.452][d][libmpv_render] [ 3] #define tex3D texture [ 1.452][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 1.452][d][libmpv_render] [ 5] out vec4 out_color; [ 1.452][d][libmpv_render] [ 6] in vec2 texcoord; [ 1.452][d][libmpv_render] [ 7] in vec4 ass_color; [ 1.452][d][libmpv_render] [ 8] uniform sampler2D osdtex; [ 1.452][d][libmpv_render] [ 9] uniform vec3 src_luma; [ 1.452][d][libmpv_render] [ 10] uniform vec3 dst_luma; [ 1.452][d][libmpv_render] [ 11] void main() { [ 1.452][d][libmpv_render] [ 12] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [ 1.452][d][libmpv_render] [ 13] color = vec4(ass_color.rgb, ass_color.a * texture(osdtex, texcoord).r); [ 1.452][d][libmpv_render] [ 14] // color mapping [ 1.452][d][libmpv_render] [ 15] color.rgb *= vec3(1.000000); [ 1.452][d][libmpv_render] [ 16] color.rgb *= vec3(1.000000); [ 1.452][d][libmpv_render] [ 17] out_color = color; [ 1.452][d][libmpv_render] [ 18] } [ 1.453][d][libmpv_render] shader link log (status=1): [ 2.808][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"] [ 2.808][v][cplayer] Set property: shared-script-properties -> 1 [ 2.809][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 2.957][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"] [ 2.957][v][cplayer] Set property: shared-script-properties -> 1 [ 2.958][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 3.996][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"] [ 3.996][v][cplayer] Set property: shared-script-properties -> 1 [ 3.996][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 4.206][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"] [ 4.206][v][cplayer] Set property: shared-script-properties -> 1 [ 4.206][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 5.026][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"] [ 5.026][v][cplayer] Set property: shared-script-properties -> 1 [ 5.026][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 5.197][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"] [ 5.197][v][cplayer] Set property: shared-script-properties -> 1 [ 5.197][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 6.109][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"] [ 6.109][v][cplayer] Set property: shared-script-properties -> 1 [ 6.109][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 6.233][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"] [ 6.233][v][cplayer] Set property: shared-script-properties -> 1 [ 6.233][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 7.049][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"] [ 7.049][v][cplayer] Set property: shared-script-properties -> 1 [ 7.050][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 7.288][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"] [ 7.288][v][cplayer] Set property: shared-script-properties -> 1 [ 7.288][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 8.191][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"] [ 8.191][v][cplayer] Set property: shared-script-properties -> 1 [ 8.191][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 8.582][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"] [ 8.582][v][cplayer] Set property: shared-script-properties -> 1 [ 8.582][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 9.783][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"] [ 9.783][v][cplayer] Set property: shared-script-properties -> 1 [ 9.783][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 9.855][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"] [ 9.855][v][cplayer] Set property: shared-script-properties -> 1 [ 9.855][d][cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""] [ 9.910][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding4"] [ 10.127][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"] [ 10.127][v][cplayer] Set property: shared-script-properties -> 1 [ 10.127][d][cplayer] Run command: disable-section, flags=64, args=[name="input"] [ 11.859][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding2"] [ 13.354][d][cplayer] Run command: script-binding, flags=73, args=[name="osc/__keybinding4"] [ 15.354][d][cplayer] Run command: quit, flags=73, args=[code="0"] [ 15.354][v][cplayer] EOF code: 5 [ 15.354][d][vd] Uninit decoder. [ 15.355][d][cplayer] Terminating demuxers... [ 15.355][d][cplayer] Done terminating demuxers. [ 15.355][v][cplayer] finished playback, success (reason 3) [ 15.355][i][cplayer] [ 15.355][i][cplayer] Exiting... (Quit) [ 15.355][d][ytdl_hook] Exiting... [ 15.355][d][console] Exiting... [ 15.355][d][stats] Exiting... [ 15.356][d][cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="remove", value="osc-margins"] [ 15.356][v][cplayer] Set property: shared-script-properties -> 1 [ 15.356][d][osc] Exiting... [ 15.358][d][libmpv_render] flushing shader cache [ 15.358][d][osx] Exiting... ```

Sample files

This small file reproduces the issue: https://user-images.githubusercontent.com/86170219/146269218-67f34995-e598-4aa2-b8b6-1bab779748ea.mp4

jimmy-1000 commented 2 years ago

It's correct, I have seen that sometimes.