CarterLi / iina

The modern video player for macOS with additional features and bug fixes.
https://iina.io
GNU General Public License v3.0
678 stars 29 forks source link

OSC is tiny when match refresh is enabled #45

Open low-batt opened 2 years ago

low-batt commented 2 years ago

System and IINA version:

Expected behavior: The preference Match refresh rate in fullscreen does not change the size of the OSC.

Actual behavior: On a 16" Macbook Pro with the M1 chip enabling Match refresh rate in fullscreen under Preferences - Video/Audio results in a tiny OSC as seen here: match-refresh-enabled

With Match refresh rate in fullscreen disabled: match-refresh-disabled

The macOS menu bar is also tiny: match-refresh-enabled-menu

mpv log: ``` [ 0.004][v][cplayer] mpv 0.34.1 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects [ 0.004][v][cplayer] built on Wed Feb 23 06:05:14 UTC 2022 [ 0.004][v][cplayer] FFmpeg library versions: [ 0.004][v][cplayer] libavutil 57.17.100 [ 0.004][v][cplayer] libavcodec 59.18.100 [ 0.004][v][cplayer] libavformat 59.16.100 [ 0.004][v][cplayer] libswscale 6.4.100 [ 0.004][v][cplayer] libavfilter 8.24.100 [ 0.004][v][cplayer] libswresample 4.3.100 [ 0.004][v][cplayer] FFmpeg version: 5.0.1 [ 0.004][v][cplayer] [ 0.004][v][cplayer] Configuration: waf configure --prefix=/opt/homebrew/Cellar/mpv-iina/0.34.1 --enable-javascript --enable-libmpv-shared --enable-lua --enable-libarchive --enable-uchardet --enable-libbluray --disable-swift --disable-debug-build --disable-macos-media-player --confdir=/opt/homebrew/etc/mpv --datadir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/mpv-iina --mandir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/man --docdir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/doc/mpv-iina --lua=luajit [ 0.004][v][cplayer] List of enabled features: asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libm libmpv-shared lua luajit macos-10-11-features macos-10-12-2-features macos-10-14-features macos-touchbar optimize osx-thread-name plain-gl posix posix-or-mingw pthreads stdatomic uchardet vector videotoolbox-gl videotoolbox-hwaccel zlib [ 0.004][v][cplayer] mpv 0.34.1 Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects [ 0.004][v][cplayer] built on Wed Feb 23 06:05:14 UTC 2022 [ 0.004][v][cplayer] FFmpeg library versions: [ 0.004][v][cplayer] libavutil 57.17.100 [ 0.004][v][cplayer] libavcodec 59.18.100 [ 0.004][v][cplayer] libavformat 59.16.100 [ 0.004][v][cplayer] libswscale 6.4.100 [ 0.004][v][cplayer] libavfilter 8.24.100 [ 0.004][v][cplayer] libswresample 4.3.100 [ 0.004][v][cplayer] FFmpeg version: 5.0.1 [ 0.004][v][cplayer] [ 0.004][v][cplayer] Configuration: waf configure --prefix=/opt/homebrew/Cellar/mpv-iina/0.34.1 --enable-javascript --enable-libmpv-shared --enable-lua --enable-libarchive --enable-uchardet --enable-libbluray --disable-swift --disable-debug-build --disable-macos-media-player --confdir=/opt/homebrew/etc/mpv --datadir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/mpv-iina --mandir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/man --docdir=/opt/homebrew/Cellar/mpv-iina/0.34.1/share/doc/mpv-iina --lua=luajit [ 0.004][v][cplayer] List of enabled features: asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins ffmpeg ffmpeg-aviocontext-bytes-read gl gl-cocoa glob glob-posix gpl iconv javascript jpeg lcms2 libarchive libass libavdevice libbluray libdl libm libmpv-shared lua luajit macos-10-11-features macos-10-12-2-features macos-10-14-features macos-touchbar optimize osx-thread-name plain-gl posix posix-or-mingw pthreads stdatomic uchardet vector videotoolbox-gl videotoolbox-hwaccel zlib [ 0.004][d][global] config path: '' -> '-' [ 0.004][d][global] user path: '~~home/' -> '' [ 0.004][d][global] user path: '~~old_home/' -> '' [ 0.005][d][global] user path: '/Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf' -> '/Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf' [ 0.005][v][bdmv/bluray] Opening /Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf [ 0.005][v][file] Opening /Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf [ 0.005][d][file] resize stream to 131072 bytes, drop 0 bytes [ 0.005][d][file] Stream opened successfully. [ 0.005][v][input] Parsing input config file /Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf [ 0.005][v][input] Input config file /Users/low-batt/Library/Application Support/com.colliderli.iina/input_conf/issue-3692.conf parsed: 71 binds [ 0.005][d][global] user path: '/Users/low-batt/Library/Logs/com.colliderli.iina/2022-04-14-21-16-20_xKjpSs/mpv.log' -> '/Users/low-batt/Library/Logs/com.colliderli.iina/2022-04-14-21-16-20_xKjpSs/mpv.log' [ 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][d][auto_profiles] Loading lua script @auto_profiles.lua... [ 0.005][d][global] user path: '/tmp/mpv-socket' -> '/tmp/mpv-socket' [ 0.005][d][stats] loading mp.defaults [ 0.005][d][ytdl_hook] loading mp.defaults [ 0.005][d][osx] Exiting... [ 0.005][d][auto_profiles] loading mp.defaults [ 0.005][v][ipc] Starting IPC master [ 0.005][d][console] loading mp.defaults [ 0.005][v][cplayer] Set property: vo="libmpv" -> 1 [ 0.005][v][cplayer] Set property: keepaspect="no" -> 1 [ 0.005][v][cplayer] Set property: gpu-hwdec-interop="auto" -> 1 [ 0.005][v][ipc] Listening to IPC socket. [ 0.006][d][auto_profiles] loading @auto_profiles.lua [ 0.006][d][stats] loading @stats.lua [ 0.006][d][ytdl_hook] loading @ytdl_hook.lua [ 0.006][d][console] loading @console.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.015][v][ao/coreaudio] selected audio output device: MacBook Pro Speakers (44) [ 0.015][d][console] reading options for console [ 0.015][d][console] script-opts/console.conf not found. [ 0.015][d][console] lua-settings/console.conf not found. [ 0.016][d][auto_profiles] Exiting... [ 0.016][v][cplayer] Waiting for scripts... [ 0.016][d][osd/libass] ASS library version: 0x1502000 (runtime 0x1502000) [ 0.016][v][osd/libass] libass API version: 0x1502000 [ 0.016][v][osd/libass] libass source: tarball: 0.15.2 [ 0.016][v][osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 4.2.0 (COMPLEX) [ 0.016][v][osd/libass] Setting up fonts... [ 0.016][v][osd/libass] Using font provider coretext [ 0.016][v][osd/libass] Done. [ 0.017][d][cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="", flags="default"] [ 0.017][d][cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.017][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"] [ 0.017][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.017][v][cplayer] Done loading scripts. [ 0.017][d][cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"] [ 0.017][d][cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"] [ 0.017][d][cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"] [ 0.017][d][cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"] [ 2.713][v][libmpv_render] GL_VERSION='4.1 Metal - 76.3' [ 2.713][v][libmpv_render] Detected desktop OpenGL 4.1. [ 2.713][v][libmpv_render] GL_VENDOR='Apple' [ 2.713][v][libmpv_render] GL_RENDERER='Apple M1 Max' [ 2.713][v][libmpv_render] GL_SHADING_LANGUAGE_VERSION='4.10' [ 2.713][d][libmpv_render] Combined OpenGL extensions string: [ 2.713][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 [ 2.713][v][libmpv_render] Loaded extension GL_APPLE_rgb_422. [ 2.713][v][libmpv_render] GL_*_swap_control extension missing. [ 2.713][d][libmpv_render] Texture formats: [ 2.713][d][libmpv_render] NAME COMP*TYPE SIZE DEPTH PER COMP. [ 2.713][d][libmpv_render] r8 1*unorm 1B LF CR ST {8} [ 2.713][d][libmpv_render] rg8 2*unorm 2B LF CR ST {8 8} [ 2.713][d][libmpv_render] rgb8 3*unorm 3B LF CR ST {8 8 8} [ 2.713][d][libmpv_render] rgba8 4*unorm 4B LF CR ST {8 8 8 8} [ 2.713][d][libmpv_render] r16 1*unorm 2B LF CR ST {16} [ 2.713][d][libmpv_render] rg16 2*unorm 4B LF CR ST {16 16} [ 2.713][d][libmpv_render] rgb16 3*unorm 6B LF CR ST {16 16 16} [ 2.713][d][libmpv_render] rgba16 4*unorm 8B LF CR ST {16 16 16 16} [ 2.713][d][libmpv_render] r8ui 1*uint 1B CR ST {8} [ 2.713][d][libmpv_render] rg8ui 2*uint 2B CR ST {8 8} [ 2.713][d][libmpv_render] rgb8ui 3*uint 3B ST {8 8 8} [ 2.713][d][libmpv_render] rgba8ui 4*uint 4B CR ST {8 8 8 8} [ 2.713][d][libmpv_render] r16ui 1*uint 2B CR ST {16} [ 2.713][d][libmpv_render] rg16ui 2*uint 4B CR ST {16 16} [ 2.713][d][libmpv_render] rgb16ui 3*uint 6B ST {16 16 16} [ 2.713][d][libmpv_render] rgba16ui 4*uint 8B CR ST {16 16 16 16} [ 2.713][d][libmpv_render] r16f 1*float 4B LF CR ST {32/16} [ 2.713][d][libmpv_render] rg16f 2*float 8B LF CR ST {32/16 32/16} [ 2.713][d][libmpv_render] rgb16f 3*float 12B LF CR ST {32/16 32/16 32/16} [ 2.713][d][libmpv_render] rgba16f 4*float 16B LF CR ST {32/16 32/16 32/16 32/16} [ 2.713][d][libmpv_render] r32f 1*float 4B LF CR ST {32} [ 2.713][d][libmpv_render] rg32f 2*float 8B LF CR ST {32 32} [ 2.713][d][libmpv_render] rgb32f 3*float 12B LF CR ST {32 32 32} [ 2.713][d][libmpv_render] rgba32f 4*float 16B LF CR ST {32 32 32 32} [ 2.713][d][libmpv_render] rgb10_a2 4*unorm 4B LF CR ST {0/10 0/10 0/10 0/2} [ 2.713][d][libmpv_render] rgba12 4*unorm 8B LF CR ST {16/12 16/12 16/12 16/12} [ 2.713][d][libmpv_render] rgb10 3*unorm 6B LF CR ST {16/10 16/10 16/10} [ 2.713][d][libmpv_render] rgb565 3*unorm 2B LF ST {0/8 0/8 0/8} [ 2.713][d][libmpv_render] appleyp 0*unorm 2B LF ST {} [ 2.713][d][libmpv_render] LA = LUMINANCE_ALPHA hack format [ 2.713][d][libmpv_render] LF = linear filterable [ 2.713][d][libmpv_render] CR = can be used for render targets [ 2.713][d][libmpv_render] ST = can be used for storable images [ 2.713][d][libmpv_render] Image formats: [ 2.713][d][libmpv_render] yuv444p => 3 planes 1x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.713][d][libmpv_render] yuv420p => 3 planes 2x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.713][d][libmpv_render] gray => 1 planes 1x1 8/0 [r8] (r) [unorm] [ 2.713][d][libmpv_render] gray16 => 1 planes 1x1 16/0 [r16] (r) [unorm] [ 2.713][d][libmpv_render] uyvy422 => 1 planes 1x1 0/0 [appleyp] (brg) [unknown] [ 2.713][d][libmpv_render] nv12 => 2 planes 2x2 8/0 [r8/rg8] (r/gb) [unorm] [ 2.714][d][libmpv_render] p010 => 2 planes 2x2 16/6 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] argb => 1 planes 1x1 8/0 [rgba8] (argb) [unorm] [ 2.714][d][libmpv_render] bgra => 1 planes 1x1 8/0 [rgba8] (bgra) [unorm] [ 2.714][d][libmpv_render] abgr => 1 planes 1x1 8/0 [rgba8] (abgr) [unorm] [ 2.714][d][libmpv_render] rgba => 1 planes 1x1 8/0 [rgba8] (rgba) [unorm] [ 2.714][d][libmpv_render] bgr24 => 1 planes 1x1 8/0 [rgb8] (bgr) [unorm] [ 2.714][d][libmpv_render] rgb24 => 1 planes 1x1 8/0 [rgb8] (rgb) [unorm] [ 2.714][d][libmpv_render] 0rgb => 1 planes 1x1 8/0 [rgba8] (_rgb) [unorm] [ 2.714][d][libmpv_render] bgr0 => 1 planes 1x1 8/0 [rgba8] (bgr) [unorm] [ 2.714][d][libmpv_render] 0bgr => 1 planes 1x1 8/0 [rgba8] (_bgr) [unorm] [ 2.714][d][libmpv_render] rgb0 => 1 planes 1x1 8/0 [rgba8] (rgb) [unorm] [ 2.714][d][libmpv_render] rgba64 => 1 planes 1x1 16/0 [rgba16] (rgba) [unorm] [ 2.714][d][libmpv_render] rgb565 => 1 planes 1x1 0/0 [rgb565] (rgb) [unknown] [ 2.714][d][libmpv_render] pal8 [ 2.714][d][libmpv_render] vdpau [ 2.714][d][libmpv_render] d3d11 [ 2.714][d][libmpv_render] dxva2_vld [ 2.714][d][libmpv_render] mmal [ 2.714][d][libmpv_render] mediacodec [ 2.714][d][libmpv_render] drm_prime [ 2.714][d][libmpv_render] cuda [ 2.714][d][libmpv_render] yap8 => 2 planes 1x1 8/0 [r8/r8] (r/a) [unorm] [ 2.714][d][libmpv_render] yap16 => 2 planes 1x1 16/0 [r16/r16] (r/a) [unorm] [ 2.714][d][libmpv_render] grayaf32 => 2 planes 1x1 32/0 [r16f/r16f] (r/a) [float] [ 2.714][d][libmpv_render] yuv444pf => 3 planes 1x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva444pf => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] yuv420pf => 3 planes 2x2 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva420pf => 4 planes 2x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] yuv422pf => 3 planes 2x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva422pf => 4 planes 2x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] yuv440pf => 3 planes 1x2 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva440pf => 4 planes 1x2 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] yuv410pf => 3 planes 4x4 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva410pf => 4 planes 4x4 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] yuv411pf => 3 planes 4x1 32/0 [r16f/r16f/r16f] (r/g/b) [float] [ 2.714][d][libmpv_render] yuva411pf => 4 planes 4x1 32/0 [r16f/r16f/r16f/r16f] (r/g/b/a) [float] [ 2.714][d][libmpv_render] rgb30 => 1 planes 1x1 10/0 [rgb10_a2] (bgr) [unknown] [ 2.714][d][libmpv_render] y1 => 1 planes 1x1 8/-7 [r8] (r) [unorm] [ 2.714][d][libmpv_render] gbrp1 => 3 planes 1x1 8/-7 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp2 => 3 planes 1x1 8/-6 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp3 => 3 planes 1x1 8/-5 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp4 => 3 planes 1x1 8/-4 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp5 => 3 planes 1x1 8/-3 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp6 => 3 planes 1x1 8/-2 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] vdpau_output [ 2.714][d][libmpv_render] vaapi [ 2.714][d][libmpv_render] videotoolbox [ 2.714][d][libmpv_render] yuyv422 [ 2.714][d][libmpv_render] yuv422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv410p => 3 planes 4x4 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] monow [ 2.714][d][libmpv_render] monob [ 2.714][d][libmpv_render] yuvj422p => 3 planes 2x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] uyyvyy411 [ 2.714][d][libmpv_render] bgr8 [ 2.714][d][libmpv_render] bgr4 [ 2.714][d][libmpv_render] bgr4_byte [ 2.714][d][libmpv_render] rgb8 [ 2.714][d][libmpv_render] rgb4 [ 2.714][d][libmpv_render] rgb4_byte [ 2.714][d][libmpv_render] nv21 => 2 planes 2x2 8/0 [r8/rg8] (r/bg) [unorm] [ 2.714][d][libmpv_render] gray16be [ 2.714][d][libmpv_render] yuv440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuvj440p => 3 planes 1x2 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuva420p => 4 planes 2x2 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] rgb48be [ 2.714][d][libmpv_render] rgb48 => 1 planes 1x1 16/0 [rgb16] (rgb) [unorm] [ 2.714][d][libmpv_render] rgb565be [ 2.714][d][libmpv_render] rgb555be [ 2.714][d][libmpv_render] rgb555 [ 2.714][d][libmpv_render] bgr565be [ 2.714][d][libmpv_render] bgr565 [ 2.714][d][libmpv_render] bgr555be [ 2.714][d][libmpv_render] bgr555 [ 2.714][d][libmpv_render] yuv420p16 => 3 planes 2x2 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv420p16be [ 2.714][d][libmpv_render] yuv422p16 => 3 planes 2x1 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv422p16be [ 2.714][d][libmpv_render] yuv444p16 => 3 planes 1x1 16/0 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv444p16be [ 2.714][d][libmpv_render] rgb444 [ 2.714][d][libmpv_render] rgb444be [ 2.714][d][libmpv_render] bgr444 [ 2.714][d][libmpv_render] bgr444be [ 2.714][d][libmpv_render] ya8 => 1 planes 1x1 8/0 [rg8] (ra) [unorm] [ 2.714][d][libmpv_render] bgr48be [ 2.714][d][libmpv_render] bgr48 => 1 planes 1x1 16/0 [rgb16] (bgr) [unorm] [ 2.714][d][libmpv_render] yuv420p9be [ 2.714][d][libmpv_render] yuv420p9 => 3 planes 2x2 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv420p10be [ 2.714][d][libmpv_render] yuv420p10 => 3 planes 2x2 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv422p10be [ 2.714][d][libmpv_render] yuv422p10 => 3 planes 2x1 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv444p9be [ 2.714][d][libmpv_render] yuv444p9 => 3 planes 1x1 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv444p10be [ 2.714][d][libmpv_render] yuv444p10 => 3 planes 1x1 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv422p9be [ 2.714][d][libmpv_render] yuv422p9 => 3 planes 2x1 16/-7 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] gbrp => 3 planes 1x1 8/0 [r8/r8/r8] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp9be [ 2.714][d][libmpv_render] gbrp9 => 3 planes 1x1 16/-7 [r16/r16/r16] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp10be [ 2.714][d][libmpv_render] gbrp10 => 3 planes 1x1 16/-6 [r16/r16/r16] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp16be [ 2.714][d][libmpv_render] gbrp16 => 3 planes 1x1 16/0 [r16/r16/r16] (g/b/r) [unorm] [ 2.714][d][libmpv_render] yuva422p => 4 planes 2x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva444p => 4 planes 1x1 8/0 [r8/r8/r8/r8] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva420p9be [ 2.714][d][libmpv_render] yuva420p9 => 4 planes 2x2 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva422p9be [ 2.714][d][libmpv_render] yuva422p9 => 4 planes 2x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva444p9be [ 2.714][d][libmpv_render] yuva444p9 => 4 planes 1x1 16/-7 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva420p10be [ 2.714][d][libmpv_render] yuva420p10 => 4 planes 2x2 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva422p10be [ 2.714][d][libmpv_render] yuva422p10 => 4 planes 2x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva444p10be [ 2.714][d][libmpv_render] yuva444p10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva420p16be [ 2.714][d][libmpv_render] yuva420p16 => 4 planes 2x2 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva422p16be [ 2.714][d][libmpv_render] yuva422p16 => 4 planes 2x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva444p16be [ 2.714][d][libmpv_render] yuva444p16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] xyz12 => 1 planes 1x1 16/4 [rgb16] (rgb) [unorm] [ 2.714][d][libmpv_render] xyz12be [ 2.714][d][libmpv_render] nv16 => 2 planes 2x1 8/0 [r8/rg8] (r/gb) [unorm] [ 2.714][d][libmpv_render] nv20 => 2 planes 2x1 16/-6 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] nv20be [ 2.714][d][libmpv_render] rgba64be [ 2.714][d][libmpv_render] bgra64be [ 2.714][d][libmpv_render] bgra64 => 1 planes 1x1 16/0 [rgba16] (bgra) [unorm] [ 2.714][d][libmpv_render] yvyu422 [ 2.714][d][libmpv_render] ya16be [ 2.714][d][libmpv_render] ya16 => 1 planes 1x1 16/0 [rg16] (ra) [unorm] [ 2.714][d][libmpv_render] gbrap => 4 planes 1x1 8/0 [r8/r8/r8/r8] (g/b/r/a) [unorm] [ 2.714][d][libmpv_render] gbrap16be [ 2.714][d][libmpv_render] gbrap16 => 4 planes 1x1 16/0 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 2.714][d][libmpv_render] qsv [ 2.714][d][libmpv_render] d3d11va_vld [ 2.714][d][libmpv_render] yuv420p12be [ 2.714][d][libmpv_render] yuv420p12 => 3 planes 2x2 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv420p14be [ 2.714][d][libmpv_render] yuv420p14 => 3 planes 2x2 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv422p12be [ 2.714][d][libmpv_render] yuv422p12 => 3 planes 2x1 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv422p14be [ 2.714][d][libmpv_render] yuv422p14 => 3 planes 2x1 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv444p12be [ 2.714][d][libmpv_render] yuv444p12 => 3 planes 1x1 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv444p14be [ 2.714][d][libmpv_render] yuv444p14 => 3 planes 1x1 16/-2 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] gbrp12be [ 2.714][d][libmpv_render] gbrp12 => 3 planes 1x1 16/-4 [r16/r16/r16] (g/b/r) [unorm] [ 2.714][d][libmpv_render] gbrp14be [ 2.714][d][libmpv_render] gbrp14 => 3 planes 1x1 16/-2 [r16/r16/r16] (g/b/r) [unorm] [ 2.714][d][libmpv_render] yuvj411p => 3 planes 4x1 8/0 [r8/r8/r8] (r/g/b) [unorm] [ 2.714][d][libmpv_render] bayer_bggr8 [ 2.714][d][libmpv_render] bayer_rggb8 [ 2.714][d][libmpv_render] bayer_gbrg8 [ 2.714][d][libmpv_render] bayer_grbg8 [ 2.714][d][libmpv_render] bayer_bggr16 [ 2.714][d][libmpv_render] bayer_bggr16be [ 2.714][d][libmpv_render] bayer_rggb16 [ 2.714][d][libmpv_render] bayer_rggb16be [ 2.714][d][libmpv_render] bayer_gbrg16 [ 2.714][d][libmpv_render] bayer_gbrg16be [ 2.714][d][libmpv_render] bayer_grbg16 [ 2.714][d][libmpv_render] bayer_grbg16be [ 2.714][d][libmpv_render] xvmc [ 2.714][d][libmpv_render] yuv440p10 => 3 planes 1x2 16/-6 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv440p10be [ 2.714][d][libmpv_render] yuv440p12 => 3 planes 1x2 16/-4 [r16/r16/r16] (r/g/b) [unorm] [ 2.714][d][libmpv_render] yuv440p12be [ 2.714][d][libmpv_render] ayuv64 => 1 planes 1x1 16/0 [rgba16] (argb) [unorm] [ 2.714][d][libmpv_render] ayuv64be [ 2.714][d][libmpv_render] p010be [ 2.714][d][libmpv_render] gbrap12be [ 2.714][d][libmpv_render] gbrap12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 2.714][d][libmpv_render] gbrap10be [ 2.714][d][libmpv_render] gbrap10 => 4 planes 1x1 16/-6 [r16/r16/r16/r16] (g/b/r/a) [unorm] [ 2.714][d][libmpv_render] gray12be [ 2.714][d][libmpv_render] gray12 => 1 planes 1x1 16/-4 [r16] (r) [unorm] [ 2.714][d][libmpv_render] gray10be [ 2.714][d][libmpv_render] gray10 => 1 planes 1x1 16/-6 [r16] (r) [unorm] [ 2.714][d][libmpv_render] p016 => 2 planes 2x2 16/0 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] p016be [ 2.714][d][libmpv_render] gray9be [ 2.714][d][libmpv_render] gray9 => 1 planes 1x1 16/-7 [r16] (r) [unorm] [ 2.714][d][libmpv_render] gbrpf32be [ 2.714][d][libmpv_render] gbrpf32 => 3 planes 1x1 32/0 [r16f/r16f/r16f] (g/b/r) [float] [ 2.714][d][libmpv_render] gbrapf32be [ 2.714][d][libmpv_render] gbrapf32 => 4 planes 1x1 32/0 [r16f/r16f/r16f/r16f] (g/b/r/a) [float] [ 2.714][d][libmpv_render] opencl [ 2.714][d][libmpv_render] gray14be [ 2.714][d][libmpv_render] gray14 => 1 planes 1x1 16/-2 [r16] (r) [unorm] [ 2.714][d][libmpv_render] grayf32be [ 2.714][d][libmpv_render] grayf32 => 1 planes 1x1 32/0 [r16f] (r) [float] [ 2.714][d][libmpv_render] yuva422p12be [ 2.714][d][libmpv_render] yuva422p12 => 4 planes 2x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] yuva444p12be [ 2.714][d][libmpv_render] yuva444p12 => 4 planes 1x1 16/-4 [r16/r16/r16/r16] (r/g/b/a) [unorm] [ 2.714][d][libmpv_render] nv24 => 2 planes 1x1 8/0 [r8/rg8] (r/gb) [unorm] [ 2.714][d][libmpv_render] nv42 => 2 planes 1x1 8/0 [r8/rg8] (r/bg) [unorm] [ 2.714][d][libmpv_render] vulkan [ 2.714][d][libmpv_render] y210be [ 2.714][d][libmpv_render] y210 [ 2.714][d][libmpv_render] x2rgb10be [ 2.714][d][libmpv_render] x2bgr10 [ 2.714][d][libmpv_render] x2bgr10be [ 2.714][d][libmpv_render] p210be [ 2.714][d][libmpv_render] p210 => 2 planes 2x1 16/6 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] p410be [ 2.714][d][libmpv_render] p410 => 2 planes 1x1 16/6 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] p216be [ 2.714][d][libmpv_render] p216 => 2 planes 2x1 16/0 [r16/rg16] (r/gb) [unorm] [ 2.714][d][libmpv_render] p416be [ 2.714][d][libmpv_render] p416 => 2 planes 1x1 16/0 [r16/rg16] (r/gb) [unorm] [ 2.714][v][libmpv_render] Testing FBO format rgba16f [ 2.714][d][libmpv_render] Resizing texture: 16x16 [ 2.714][v][libmpv_render] Using FBO format rgba16f. [ 2.714][v][libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0). [ 2.714][v][libmpv_render] No advanced processing required. Enabling dumb mode. [ 2.714][v][libmpv_render] Loading hwdec driver 'videotoolbox' [ 2.715][v][cplayer] Set property: override-display-fps=120.000000 -> 1 [ 2.734][d][cplayer] Run command: loadfile, flags=64, args=[url="/Users/low-batt/Movies/earth.mp4", flags="replace", options=""] [ 2.734][d][global] user path: '/Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later' -> '/Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later' [ 2.734][i][cplayer] Resuming playback. This behavior can be disabled with --no-resume-playback. [ 2.734][v][cplayer] Loading config '/Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later/9346A6114026C80CDE3C02EB78266D46' [ 2.734][v][cplayer] Reading config file /Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later/9346A6114026C80CDE3C02EB78266D46 [ 2.734][v][cplayer] Applying profile 'default'... [ 2.734][v][cplayer] Setting option 'start' = '68.181333' (flags = 36) [ 2.734][v][cplayer] Setting option 'pause' = 'yes' (flags = 36) [ 2.734][v][cplayer] Running hook: ytdl_hook/on_load [ 2.735][v][ytdl_hook] ytdl:// hook [ 2.735][v][ytdl_hook] not a ytdl:// url [ 2.735][v][bdmv/bluray] Opening /Users/low-batt/Movies/earth.mp4 [ 2.735][v][file] Opening /Users/low-batt/Movies/earth.mp4 [ 2.735][d][file] resize stream to 131072 bytes, drop 0 bytes [ 2.735][d][file] Stream opened successfully. [ 2.735][v][demux] Trying demuxers for level=normal. [ 2.735][d][demux] Trying demuxer: disc (force-level: normal) [ 2.735][d][demux] Trying demuxer: edl (force-level: normal) [ 2.735][d][demux] Trying demuxer: cue (force-level: normal) [ 2.735][d][demux] Trying demuxer: rawaudio (force-level: normal) [ 2.735][d][demux] Trying demuxer: rawvideo (force-level: normal) [ 2.735][d][demux] Trying demuxer: mkv (force-level: normal) [ 2.735][d][demux] Trying demuxer: libarchive (force-level: normal) [ 2.735][d][demux] Trying demuxer: lavf (force-level: normal) [ 2.736][v][lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048. [ 2.736][v][file] stream level seek from 131072 to 100249874 [ 2.738][v][file] stream level seek from 100451269 to 48 [ 2.738][v][file] stream level seek from 131120 to 100451269 [ 2.738][v][demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat) [ 2.738][v][cplayer] Opening done: /Users/low-batt/Movies/earth.mp4 [ 2.738][v][find_files] Loading external files in /Users/low-batt/Movies/ [ 2.738][v][cplayer] Running hook: ytdl_hook/on_preloaded [ 2.738][v][lavf] select track 0 [ 2.738][v][lavf] select track 1 [ 2.738][i][cplayer] (+) Video --vid=1 (*) (h264 1920x1080 29.573fps) [ 2.738][i][cplayer] (+) Audio --aid=1 (*) (aac 2ch 48000Hz) [ 2.738][v][vo/libmpv] Assuming 120.000000 FPS for display sync. [ 2.738][v][vd] Container reported FPS: 29.572873 [ 2.738][v][vd] Codec list: [ 2.738][v][vd] h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [ 2.738][v][vd] Opening decoder h264 [ 2.738][v][vd] Looking at hwdec h264-videotoolbox... [ 2.738][v][vd] Trying hardware decoding via h264-videotoolbox. [ 2.739][v][vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10) [ 2.739][v][vf] User filter list: [ 2.739][v][vf] (empty) [ 2.739][v][ad] Codec list: [ 2.739][v][ad] aac - AAC (Advanced Audio Coding) [ 2.739][v][ad] aac_fixed (aac) - AAC (Advanced Audio Coding) [ 2.739][v][ad] aac_at (aac) - aac (AudioToolbox) [ 2.739][v][ad] Opening decoder aac [ 2.739][v][ad] Detected 10 logical cores. [ 2.739][v][ad] Requesting 11 threads for decoding. [ 2.739][v][ad] Selected codec: aac (AAC (Advanced Audio Coding)) [ 2.739][v][af] User filter list: [ 2.739][v][af] (empty) [ 2.739][v][cplayer] Starting playback... [ 2.739][v][lavf] queuing seek to 68.181333 [ 2.739][v][cplayer] hr-seek, skipping to 68.181333 [ 2.739][v][lavf] execute seek (to 68.181333 flags 32) [ 2.739][v][lavf] seek done [ 2.739][v][file] stream level seek from 100451269 to 37337327 [ 2.740][v][vd] Pixel formats supported by decoder: videotoolbox_vld yuv420p [ 2.740][v][vd] Codec profile: High (0x64) [ 2.740][v][vd] Requesting pixfmt 'videotoolbox_vld' from decoder. [ 2.853][d][ffmpeg/video] h264: Reinit context to 1920x1088, pix_fmt: videotoolbox_vld [ 2.874][i][vd] Using hardware decoding (videotoolbox). [ 2.874][v][vd] Decoder format: 1920x1080 videotoolbox[nv12] auto/auto/auto/auto/auto CL=mpeg2/4/h264 [ 2.874][v][vd] Using container aspect ratio. [ 2.874][v][vf] [in] 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.874][v][vf] [userdeint] 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.874][v][vf] [userdeint] (disabled) [ 2.874][v][vf] [autorotate] 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.874][v][vf] [autorotate] (disabled) [ 2.874][v][vf] [convert] 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.874][v][vf] [convert] (disabled) [ 2.874][v][vf] [out] 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.874][v][af] [in] 48000Hz stereo 2ch floatp [ 2.874][v][af] [userspeed] 48000Hz stereo 2ch floatp [ 2.874][v][af] [userspeed] (disabled) [ 2.874][v][af] [convert] 48000Hz stereo 2ch floatp [ 2.874][v][cplayer] Set property: pause=true -> 1 [ 2.874][v][ao] Trying audio driver 'coreaudio' [ 2.874][v][ao/coreaudio] requested format: 48000 Hz, stereo channels, floatp [ 2.875][v][ao/coreaudio] selected audio output device: MacBook Pro Speakers (44) [ 2.875][v][ao/coreaudio] input channel layout: [ 2.875][v][ao/coreaudio] layout: tag: <0>, bitmap: <0>, descriptions <2> [ 2.875][v][ao/coreaudio] - description 0: label <4294967295, 64>, flags: <0>, coords: <0.000000, 0.000000, 0.000000> [ 2.875][v][ao/coreaudio] - description 1: label <4294967295, 64>, flags: <0>, coords: <0.000000, 0.000000, 0.000000> [ 2.875][v][ao/coreaudio] mp chmap: unknown2 [ 2.875][v][ao/coreaudio] input channel layout: [ 2.875][v][ao/coreaudio] layout: tag: <0>, bitmap: <0>, descriptions <2> [ 2.875][v][ao/coreaudio] - description 0: label <1, 0>, flags: <0>, coords: <0.000000, 0.000000, 0.000000> [ 2.875][v][ao/coreaudio] - description 1: label <2, 1>, flags: <0>, coords: <0.000000, 0.000000, 0.000000> [ 2.875][v][ao/coreaudio] mp chmap: stereo [ 2.875][v][ao/coreaudio] Channel layouts: [ 2.875][v][ao/coreaudio] - stereo [ 2.875][v][ao/coreaudio] - mono [ 2.875][v][ao/coreaudio] result: stereo [ 2.887][v][ao/coreaudio] Latency property cntl: 70 frames [ 2.887][v][ao/coreaudio] Latency property zisf: 512 frames [ 2.887][v][ao/coreaudio] Latency property tfas: 74 frames [ 2.887][v][ao/coreaudio] audiounit latency [us]: 0 [ 2.887][v][ao/coreaudio] device latency [us]: 13666 [ 2.887][v][ao/coreaudio] using soft-buffer of 9600 samples. [ 2.887][i][cplayer] AO: [coreaudio] 48000Hz stereo 2ch floatp [ 2.887][v][cplayer] AO: Description: CoreAudio AudioUnit [ 2.887][v][af] [convert] (disabled) [ 2.887][v][af] [out] 48000Hz stereo 2ch floatp [ 2.940][i][cplayer] VO: [libmpv] 1920x1080 videotoolbox[nv12] [ 2.940][v][cplayer] VO: Description: render API for libmpv [ 2.940][v][vo/libmpv] reconfig to 1920x1080 videotoolbox[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264 [ 2.941][v][libmpv_render] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0) [ 2.941][v][libmpv_render] Video source: 1920x1080 (1:1) [ 2.941][v][libmpv_render] Video display: (0, 0) 1920x1080 -> (0, 0) 1280x720 [ 2.941][v][libmpv_render] Video scale: 0.666667/0.666667 [ 2.941][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0 [ 2.941][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0 [ 2.941][v][libmpv_render] Testing FBO format rgba16f [ 2.941][d][libmpv_render] Resizing texture: 16x16 [ 2.941][v][libmpv_render] Using FBO format rgba16f. [ 2.941][v][libmpv_render] No advanced processing required. Enabling dumb mode. [ 2.942][d][libmpv_render] vertex shader source: [ 2.942][d][libmpv_render] [ 1] #version 410 [ 2.942][d][libmpv_render] [ 2] #define tex1D texture [ 2.942][d][libmpv_render] [ 3] #define tex3D texture [ 2.942][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 2.942][d][libmpv_render] [ 5] in vec2 vertex_position; [ 2.942][d][libmpv_render] [ 6] in vec2 vertex_texcoord0; [ 2.942][d][libmpv_render] [ 7] out vec2 texcoord0; [ 2.942][d][libmpv_render] [ 8] in vec2 vertex_texcoord1; [ 2.942][d][libmpv_render] [ 9] out vec2 texcoord1; [ 2.942][d][libmpv_render] [ 10] void main() { [ 2.942][d][libmpv_render] [ 11] gl_Position = vec4(vertex_position, 1.0, 1.0); [ 2.942][d][libmpv_render] [ 12] texcoord0 = vertex_texcoord0; [ 2.942][d][libmpv_render] [ 13] texcoord1 = vertex_texcoord1; [ 2.942][d][libmpv_render] [ 14] } [ 2.942][d][libmpv_render] fragment shader source: [ 2.942][d][libmpv_render] [ 1] #version 410 [ 2.942][d][libmpv_render] [ 2] #define tex1D texture [ 2.942][d][libmpv_render] [ 3] #define tex3D texture [ 2.942][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 2.942][d][libmpv_render] [ 5] out vec4 out_color; [ 2.942][d][libmpv_render] [ 6] in vec2 texcoord0; [ 2.942][d][libmpv_render] [ 7] in vec2 texcoord1; [ 2.942][d][libmpv_render] [ 8] uniform mat3 colormatrix; [ 2.942][d][libmpv_render] [ 9] uniform vec3 colormatrix_c; [ 2.942][d][libmpv_render] [ 10] uniform vec3 src_luma; [ 2.942][d][libmpv_render] [ 11] uniform vec3 dst_luma; [ 2.942][d][libmpv_render] [ 12] uniform sampler2DRect texture0; [ 2.942][d][libmpv_render] [ 13] uniform vec2 texture_size0; [ 2.942][d][libmpv_render] [ 14] uniform mat2 texture_rot0; [ 2.942][d][libmpv_render] [ 15] uniform vec2 texture_off0; [ 2.942][d][libmpv_render] [ 16] uniform vec2 pixel_size0; [ 2.942][d][libmpv_render] [ 17] uniform sampler2DRect texture1; [ 2.942][d][libmpv_render] [ 18] uniform vec2 texture_size1; [ 2.942][d][libmpv_render] [ 19] uniform mat2 texture_rot1; [ 2.942][d][libmpv_render] [ 20] uniform vec2 texture_off1; [ 2.942][d][libmpv_render] [ 21] uniform vec2 pixel_size1; [ 2.942][d][libmpv_render] [ 22] void main() { [ 2.942][d][libmpv_render] [ 23] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [ 2.942][d][libmpv_render] [ 24] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r; [ 2.942][d][libmpv_render] [ 25] color.gb = 1.000000 * vec4(texture(texture1, texcoord1)).rg; [ 2.942][d][libmpv_render] [ 26] color = color.rgbr; [ 2.942][d][libmpv_render] [ 27] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c; [ 2.942][d][libmpv_render] [ 28] color.a = 1.0; [ 2.942][d][libmpv_render] [ 29] // color mapping [ 2.942][d][libmpv_render] [ 30] color.rgb *= vec3(1.000000); [ 2.942][d][libmpv_render] [ 31] color.rgb *= vec3(1.000000); [ 2.942][d][libmpv_render] [ 32] out_color = color; [ 2.942][d][libmpv_render] [ 33] } [ 2.943][d][libmpv_render] shader link log (status=1): [ 2.944][v][cplayer] first video frame after restart shown [ 2.946][v][cplayer] audio ready [ 2.946][d][cplayer] starting video playback [ 2.946][v][cplayer] starting audio playback [ 2.946][v][cplayer] playback restart complete @ 68.187333, audio=playing, video=playing (paused) [ 2.983][v][cplayer] Set property: pause=false -> 1 [ 3.021][v][cplayer] Set property: window-scale=0.900000 -> 1 [ 3.025][v][libmpv_render] Window size: 3456x1944 (Borders: l=0 t=0 r=0 b=0) [ 3.025][v][libmpv_render] Video source: 1920x1080 (1:1) [ 3.025][v][libmpv_render] Video display: (0, 0) 1920x1080 -> (0, 0) 3456x1944 [ 3.025][v][libmpv_render] Video scale: 1.800000/1.800000 [ 3.025][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0 [ 3.025][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0 [ 3.042][v][cplayer] Set property: icc-profile="/Library/ColorSync/Profiles/Displays/Color LCD-37D8832A-2D66-02CA-B9F7-8F30A301B230.icc" -> 1 [ 3.091][d][global] user path: '/Library/ColorSync/Profiles/Displays/Color LCD-37D8832A-2D66-02CA-B9F7-8F30A301B230.icc' -> '/Library/ColorSync/Profiles/Displays/Color LCD-37D8832A-2D66-02CA-B9F7-8F30A301B230.icc' [ 3.091][v][libmpv_render] Opening ICC profile '/Library/ColorSync/Profiles/Displays/Color LCD-37D8832A-2D66-02CA-B9F7-8F30A301B230.icc' [ 3.091][v][libmpv_render] Testing FBO format rgba16f [ 3.091][d][libmpv_render] Resizing texture: 16x16 [ 3.091][v][libmpv_render] Using FBO format rgba16f. [ 3.091][v][libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0). [ 3.091][v][libmpv_render] No advanced processing required. Enabling dumb mode. [ 3.092][v][libmpv_render] Detected ICC profile contrast: inf [ 3.113][d][libmpv_render] vertex shader source: [ 3.113][d][libmpv_render] [ 1] #version 410 [ 3.114][d][libmpv_render] [ 2] #define tex1D texture [ 3.114][d][libmpv_render] [ 3] #define tex3D texture [ 3.114][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 3.114][d][libmpv_render] [ 5] in vec2 vertex_position; [ 3.114][d][libmpv_render] [ 6] in vec2 vertex_texcoord0; [ 3.114][d][libmpv_render] [ 7] out vec2 texcoord0; [ 3.114][d][libmpv_render] [ 8] in vec2 vertex_texcoord1; [ 3.114][d][libmpv_render] [ 9] out vec2 texcoord1; [ 3.114][d][libmpv_render] [ 10] void main() { [ 3.114][d][libmpv_render] [ 11] gl_Position = vec4(vertex_position, 1.0, 1.0); [ 3.114][d][libmpv_render] [ 12] texcoord0 = vertex_texcoord0; [ 3.114][d][libmpv_render] [ 13] texcoord1 = vertex_texcoord1; [ 3.114][d][libmpv_render] [ 14] } [ 3.114][d][libmpv_render] fragment shader source: [ 3.114][d][libmpv_render] [ 1] #version 410 [ 3.114][d][libmpv_render] [ 2] #define tex1D texture [ 3.114][d][libmpv_render] [ 3] #define tex3D texture [ 3.114][d][libmpv_render] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) [ 3.114][d][libmpv_render] [ 5] out vec4 out_color; [ 3.114][d][libmpv_render] [ 6] in vec2 texcoord0; [ 3.114][d][libmpv_render] [ 7] in vec2 texcoord1; [ 3.114][d][libmpv_render] [ 8] uniform mat3 colormatrix; [ 3.114][d][libmpv_render] [ 9] uniform vec3 colormatrix_c; [ 3.114][d][libmpv_render] [ 10] uniform vec3 src_luma; [ 3.114][d][libmpv_render] [ 11] uniform vec3 dst_luma; [ 3.114][d][libmpv_render] [ 12] uniform sampler3D lut_3d; [ 3.114][d][libmpv_render] [ 13] uniform sampler2DRect texture0; [ 3.114][d][libmpv_render] [ 14] uniform vec2 texture_size0; [ 3.114][d][libmpv_render] [ 15] uniform mat2 texture_rot0; [ 3.114][d][libmpv_render] [ 16] uniform vec2 texture_off0; [ 3.114][d][libmpv_render] [ 17] uniform vec2 pixel_size0; [ 3.114][d][libmpv_render] [ 18] uniform sampler2DRect texture1; [ 3.114][d][libmpv_render] [ 19] uniform vec2 texture_size1; [ 3.114][d][libmpv_render] [ 20] uniform mat2 texture_rot1; [ 3.114][d][libmpv_render] [ 21] uniform vec2 texture_off1; [ 3.114][d][libmpv_render] [ 22] uniform vec2 pixel_size1; [ 3.114][d][libmpv_render] [ 23] void main() { [ 3.114][d][libmpv_render] [ 24] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [ 3.114][d][libmpv_render] [ 25] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r; [ 3.114][d][libmpv_render] [ 26] color.gb = 1.000000 * vec4(texture(texture1, texcoord1)).rg; [ 3.114][d][libmpv_render] [ 27] color = color.rgbr; [ 3.114][d][libmpv_render] [ 28] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c; [ 3.114][d][libmpv_render] [ 29] color.a = 1.0; [ 3.114][d][libmpv_render] [ 30] // color mapping [ 3.114][d][libmpv_render] [ 31] color.rgb *= vec3(1.000000); [ 3.114][d][libmpv_render] [ 32] color.rgb *= vec3(1.000000); [ 3.114][d][libmpv_render] [ 33] vec3 cpos; [ 3.114][d][libmpv_render] [ 34] cpos[0] = LUT_POS(color[0], 64.0); [ 3.114][d][libmpv_render] [ 35] cpos[1] = LUT_POS(color[1], 64.0); [ 3.114][d][libmpv_render] [ 36] cpos[2] = LUT_POS(color[2], 64.0); [ 3.114][d][libmpv_render] [ 37] color.rgb = tex3D(lut_3d, cpos).rgb; [ 3.114][d][libmpv_render] [ 38] out_color = color; [ 3.114][d][libmpv_render] [ 39] } [ 3.114][d][libmpv_render] shader link log (status=1): [ 5.226][v][libmpv_render] Window size: 1728x972 (Borders: l=0 t=0 r=0 b=0) [ 5.226][v][libmpv_render] Video source: 1920x1080 (1:1) [ 5.227][v][libmpv_render] Video display: (0, 0) 1920x1080 -> (0, 0) 1728x972 [ 5.227][v][libmpv_render] Video scale: 0.900000/0.900000 [ 5.227][v][libmpv_render] OSD borders: l=0 t=0 r=0 b=0 [ 5.227][v][libmpv_render] Video borders: l=0 t=0 r=0 b=0 [ 5.240][v][cplayer] Set property: override-display-fps=120.000000 -> 1 [ 5.240][v][cplayer] Set property: keepaspect=true -> 1 [ 5.489][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 5.691][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 5.891][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 6.091][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 6.092][w][cplayer] [ 6.092][w][cplayer] Audio/Video desynchronisation detected! Possible reasons include too slow [ 6.092][w][cplayer] hardware, temporary CPU spikes, broken drivers, and broken files. Audio [ 6.092][w][cplayer] position will not match to the video (see A-V status field). [ 6.092][w][cplayer] [ 6.292][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 6.598][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 6.599][v][cplayer] Set property: window-scale=1.800000 -> 1 [ 6.624][v][cplayer] Set property: fullscreen=true -> 1 [ 6.627][v][libmpv_render] Window size: 3456x2165 (Borders: l=0 t=0 r=0 b=0) [ 6.627][v][libmpv_render] Video source: 1920x1080 (1:1) [ 6.627][v][libmpv_render] Video display: (0, 0) 1920x1080 -> (0, 110) 3456x1944 [ 6.627][v][libmpv_render] Video scale: 1.800000/1.800000 [ 6.627][v][libmpv_render] OSD borders: l=0 t=110 r=0 b=111 [ 6.627][v][libmpv_render] Video borders: l=0 t=110 r=0 b=111 [ 6.648][v][cplayer] Set property: window-scale=1.800000 -> 1 [ 14.850][d][cplayer] Run command: write-watch-later-config, flags=64, args=[] [ 14.851][d][global] config path: '/Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later' -> '-' [ 14.851][i][cplayer] Saving state. [ 14.856][d][vd] Uninit decoder. [ 15.095][v][vo/libmpv] mpv_render_context_render() not being called or stuck. [ 15.098][d][libmpv_render] flushing shader cache [ 15.098][v][lavf] deselect track 0 [ 15.099][i][cplayer] Video: no video [ 15.099][d][cplayer] Run command: quit, flags=64, args=[code="0"] [ 15.099][d][global] config path: '/Users/low-batt/Library/Application Support/com.colliderli.iina/watch_later' -> '-' [ 15.099][i][cplayer] Saving state. [ 15.100][v][cplayer] EOF code: 5 [ 15.130][d][ad] Uninit decoder. [ 15.130][d][cplayer] Terminating demuxers... [ 15.130][d][cplayer] Done terminating demuxers. [ 15.130][v][cplayer] finished playback, success (reason 3) [ 15.130][i][cplayer] [ 15.130][d][main] Exiting... [ 15.130][d][ytdl_hook] Exiting... [ 15.130][d][console] Exiting... [ 15.131][d][stats] Exiting... ```


Steps to reproduce: Enable Match refresh rate in fullscreen under Preferences - Video/Audio and play a video in full screen.

How often does this happen? Every time

CarterLi commented 2 years ago

I cherry-picked the commit from PR: https://github.com/iina/iina/pull/3527

Since native mode is enabled, I think it's the expected behavior

low-batt commented 2 years ago

There is developer expected behavior and then there is user expected behavior. I'm guessing users are not going to expect that syncing = shrinking. Anyway I entered this issue to remember to look into if there is anything that can be done different. Trying to finish a few other things before looking into new stuff. It may well be that this behavior has to be accepted.

CarterLi commented 2 years ago

There is developer expected behavior and then there is user expected behavior. I'm guessing users are not going to expect that syncing = shrinking. Anyway I entered this issue to remember to look into if there is anything that can be done different. Trying to finish a few other things before looking into new stuff. It may well be that this behavior has to be accepted.

It should not be hard to change the behavior. Lets have some investigations

low-batt commented 2 years ago

I tried to go back to working on what I was working on and failed. I had to at least take a quick look at this. My conclusion is it needs a close review.

I have some of the same questions raised in the issue the PR addresses about whether the mpv features should be used. Discussion about that here: Display synchronization

I added some logging for debugging and I think the following is behavior is wrong? Playing a HDR video with a high frame rate:

22:57:22.524 [iina][d] videoFps 59.940059661865234

The code decides to look for:

22:57:22.524 [iina][d] refreshRates [59.940059661865234, 119.88011932373047, 60.0, 120.0]

The native refresh rates found:

22:57:22.525 [iina][d] displayMode.refreshRate 120.0
22:57:22.525 [iina][d] displayMode.refreshRate 60.0
22:57:22.525 [iina][d] displayMode.refreshRate 59.93998718261719
22:57:22.525 [iina][d] displayMode.refreshRate 50.0
22:57:22.525 [iina][d] displayMode.refreshRate 48.0
22:57:22.525 [iina][d] displayMode.refreshRate 47.94999694824219

And the code picks??:

22:57:23.013 [iina][d] Set override-display-fps to 120.0

Changing this code:

if ((displayMode.ioFlags & UInt32(kDisplayModeNativeFlag) != 0) &&
    displayMode.refreshRate.distance(to: refreshRate) < 0.02) {

To be:

if ((displayMode.ioFlags & UInt32(kDisplayModeNativeFlag) != 0) &&
    abs(displayMode.refreshRate.distance(to: refreshRate)) < 0.02) {

And the code picks:

23:07:51.861 [iina][d] Set override-display-fps to 59.93998718261719

I'm thinking that is what it should be choosing? I'm also getting some audio glitches.

Going to try and go back to what I was doing and come back to this later...

low-batt commented 2 years ago

I was unable to put this down. I looked into this some more. The issue I mentioned above is definitely a bug. I see other problems as well. I will work on a full review and see if the author is around to make updates.

low-batt commented 2 years ago

I've posted my concerns about this feature in issue https://github.com/iina/iina/issues/3414. Waiting to hear if the PR author is interested in addressing them. Have a look and see if you spot something I missed or am confused about.

With respects to this particular issue the macOS behavior seems odd. The default display mode was marked as Native, but not when all modes are listed. I'm very confused by that behavior.

CarterLi commented 2 years ago

I removed Match refresh rate in fullscreen feature due to undesired behavior and lots of conflicts with official branch.

However I like this feature, let's get it back when major issues are resolved.

low-batt commented 2 years ago

I'm ready to take this one over if the original author does not have the time to address the issues. Next step is to identify which of my concerns are valid and pin down exactly how this feature should work. Been hoping the author would chime in with their opinion. I will look into it some more today.

jesec commented 2 years ago

Unfortunately, it does not seem to be possible to preserve HiDPI (Scaled) setting when switching to a different display mode programmatically. There is no API to change the DPI scale programmatically, either.

You would have to find a way to do that. Or, maybe IINA can make itself bigger (application-level HiDPI scaling).