Advertisement
Guest User

Untitled

a guest
Sep 8th, 2016
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 157.18 KB | None | 0 0
  1. mpv -v /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  2. [cplayer] Command line options: '-v' '/home/pont/Downloads/h264_sintel_trailer-1080p.mp4'
  3. [cplayer] mpv 0.20.0 (C) 2000-2016 mpv/MPlayer/mplayer2 projects
  4. [cplayer] built on Sep 2 2016
  5. [cplayer] ffmpeg library versions:
  6. [cplayer] libavutil 55.28.100
  7. [cplayer] libavcodec 57.48.101
  8. [cplayer] libavformat 57.41.100
  9. [cplayer] libswscale 4.1.100
  10. [cplayer] libavfilter 6.47.100
  11. [cplayer] libswresample 2.1.100
  12. [cplayer] ffmpeg version: 3.1.3
  13. [cplayer]
  14. [cplayer] Configuration: ./waf configure --prefix=/usr --bindir=/usr/bin --mandir=/usr/share/man --libdir=/usr/lib64 --docdir=/usr/share/doc/packages/mpv --confdir=/etc/mpv --enable-openal --enable-cdda --enable-libmpv-shared --enable-zsh-comp --enable-manpage-build --disable-sdl1 --disable-sdl2 --disable-build-date --disable-debug
  15. [cplayer] List of enabled features: 52 alsa any-gl asm atomic-builtins atomics audio-input av-avpacket-int64-duration av-new-pixdesc av-pix-fmt-mmal av-subtitle-nopict av-version-info avcodec-chroma-pos-api avcodec-has-codecpar avcodec-new-codec-api avcodec-profile-name avframe-metadata avframe-skip-samples avutil-has-hwcontext avutil-hdr avutil-mastering-metadata caca cdda cplayer dlopen drm dvbin dvdnav dvdread enca encoding fchmod gl gl-x11 glibc-thread-name glob iconv jack jpeg lcms2 libass libass-osd libav libavdevice libavfilter libbluray libdl libm libmpv-shared librt libsmbclient libswresample libv4l2 linux-fstatfs lua nanosleep openal optimize oss-audio oss-audio-native plain-gl posix posix-or-mingw posix-spawn pthreads pulse resampler shm sse4-intrinsics standard-gl subprocess termios tv tv-v4l2 vaapi vaapi-glx vaapi-hwaccel vaapi-x11 vdpau vdpau-gl-x11 vdpau-hwaccel videodev vt.h x11 xext xinerama xrandr xss xv zlib zsh-comp
  16. [global] config path: '' -> '/home/pont/.config/mpv'
  17. [global] config path: 'mpv.conf' -> '/home/pont/.config/mpv/mpv.conf'
  18. [global] config path: 'config' -/-> '/home/pont/.config/mpv/config'
  19. [global] config path: 'mpv.conf' -/-> '/home/pont/.mpv/mpv.conf'
  20. [global] config path: 'config' -/-> '/home/pont/.mpv/config'
  21. [global] config path: 'mpv.conf' -> '/etc/mpv/mpv.conf'
  22. [global] config path: 'config' -/-> '/etc/mpv/config'
  23. [cplayer] Reading config file /etc/mpv/mpv.conf
  24. [cplayer] Reading config file /home/pont/.config/mpv/mpv.conf
  25. [cplayer] Setting option 'vo' = 'opengl-hq:user-shaders="/home/pont/CrossBilateral.glsl":cscale=bilinear:dscale=mitchell:tscale=sinc:tscale-radius=2:interpolation-threshold=0.01:scale-radius=3:dither-depth=8:deband-iterations=2:deband-range=12' (flags = 4)
  26. [cplayer] Setting option 'video-sync' = 'display-resample' (flags = 4)
  27. [cplayer] Setting option 'hwdec' = 'no' (flags = 4)
  28. [cplayer] Setting option 'framedrop' = 'vo' (flags = 4)
  29. [cplayer] Setting option 'cache' = '262144' (flags = 4)
  30. [cplayer] Setting option 'stop-screensaver' = 'yes' (flags = 4)
  31. [cplayer] Setting option 'vd-lavc-threads' = '4' (flags = 4)
  32. [cplayer] Setting option 'v' = '' (flags = 8)
  33. [global] config path: 'input.conf' -/-> '/home/pont/.config/mpv/input.conf'
  34. [global] config path: 'input.conf' -/-> '/home/pont/.mpv/input.conf'
  35. [global] config path: 'input.conf' -> '/etc/mpv/input.conf'
  36. [global] user path: '/etc/mpv/input.conf' -> '/etc/mpv/input.conf'
  37. [ifo] Opening /etc/mpv/input.conf
  38. [ifo/dvdnav] Opening /etc/mpv/input.conf
  39. [bdmv/bluray] Opening /etc/mpv/input.conf
  40. [file] Opening /etc/mpv/input.conf
  41. [file] Stream opened successfully.
  42. [input] Parsing input config file /etc/mpv/input.conf
  43. [input] Input config file /etc/mpv/input.conf parsed: 0 binds
  44. [osc] Loading script @osc.lua...
  45. [global] config path: 'scripts' -/-> '/home/pont/.config/mpv/scripts'
  46. [global] config path: 'scripts' -/-> '/home/pont/.mpv/scripts'
  47. [global] config path: 'scripts' -/-> '/etc/mpv/scripts'
  48. [osc] loading mp.defaults
  49. [osc] loading @osc.lua
  50. [global] config path: 'lua-settings/osc.conf' -/-> '/home/pont/.config/mpv/lua-settings/osc.conf'
  51. [global] config path: 'lua-settings/osc.conf' -/-> '/home/pont/.mpv/lua-settings/osc.conf'
  52. [global] config path: 'lua-settings/osc.conf' -/-> '/etc/mpv/lua-settings/osc.conf'
  53. [osc] lua-settings/osc.conf not found.
  54. [cplayer] Run command: define-section, flags=0, args=[showhide, mouse_move script-binding osc/__keybinding1
  55. [cplayer] mouse_leave script-binding osc/__keybinding2
  56. [cplayer] , force]
  57. [cplayer] Run command: enable-section, flags=0, args=[showhide, allow-hide-cursor+allow-vo-dragging]
  58. [cplayer] Run command: define-section, flags=0, args=[input, mouse_btn0 script-binding osc/__keybinding3
  59. [cplayer] shift+mouse_btn0 script-binding osc/__keybinding4
  60. [cplayer] mouse_btn2 script-binding osc/__keybinding5
  61. [cplayer] mouse_btn0_dbl ignore
  62. [cplayer] shift+mouse_btn0_dbl ignore
  63. [cplayer] mouse_btn2_dbl ignore
  64. [cplayer] , force]
  65. [cplayer] Run command: enable-section, flags=0, args=[input, ]
  66. [cplayer] Run command: define-section, flags=0, args=[input_osc, del script-binding osc/__keybinding6
  67. [cplayer] , default]
  68. [cplayer] Run command: enable-section, flags=0, args=[input_osc, allow-hide-cursor+allow-vo-dragging]
  69. [cplayer] Run command: define-section, flags=0, args=[input_forced_osc, , force]
  70. [cplayer] Run command: enable-section, flags=0, args=[input_forced_osc, allow-hide-cursor+allow-vo-dragging]
  71. [cplayer] Done loading @osc.lua.
  72. [ytdl_hook] Loading script @ytdl_hook.lua...
  73. [global] config path: 'scripts' -/-> '/home/pont/.config/mpv/scripts'
  74. [global] config path: 'scripts' -/-> '/home/pont/.mpv/scripts'
  75. [global] config path: 'scripts' -/-> '/etc/mpv/scripts'
  76. [ytdl_hook] loading mp.defaults
  77. [cplayer] Run command: disable-section, flags=0, args=[input]
  78. [global] config path: 'fonts' -/-> '/home/pont/.config/mpv/fonts'
  79. [global] config path: 'fonts' -/-> '/home/pont/.mpv/fonts'
  80. [global] config path: 'fonts' -/-> '/etc/mpv/fonts'
  81. [osd/libass] Shaper: FriBidi 0.19.2 (SIMPLE) HarfBuzz-ng 1.1.3 (COMPLEX)
  82. [global] config path: 'subfont.ttf' -/-> '/home/pont/.config/mpv/subfont.ttf'
  83. [global] config path: 'subfont.ttf' -/-> '/home/pont/.mpv/subfont.ttf'
  84. [global] config path: 'subfont.ttf' -/-> '/etc/mpv/subfont.ttf'
  85. [global] config path: 'fonts.conf' -/-> '/home/pont/.config/mpv/fonts.conf'
  86. [global] config path: 'fonts.conf' -/-> '/home/pont/.mpv/fonts.conf'
  87. [global] config path: 'fonts.conf' -/-> '/etc/mpv/fonts.conf'
  88. [osd/libass] Setting up fonts...
  89. [ytdl_hook] loading @ytdl_hook.lua
  90. [cplayer] Run command: hook-add, flags=0, args=[on_load, 1, 10]
  91. [cplayer] Done loading @ytdl_hook.lua.
  92. [global] config path: 'scripts' -/-> '/home/pont/.config/mpv/scripts'
  93. [global] config path: 'scripts' -/-> '/home/pont/.mpv/scripts'
  94. [global] config path: 'scripts' -/-> '/etc/mpv/scripts'
  95. [global] config path: 'watch_later' -> '/home/pont/.config/mpv/watch_later'
  96. [cplayer] Playing: /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  97. [cplayer] Running hook: ytdl_hook/on_load
  98. [osd/libass] Using font provider fontconfig
  99. [osd/libass] Done.
  100. [cplayer] Run command: hook-ack, flags=0, args=[on_load]
  101. [ifo] Opening /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  102. [ifo/dvdnav] Opening /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  103. [bdmv/bluray] Opening /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  104. [file] Opening /home/pont/Downloads/h264_sintel_trailer-1080p.mp4
  105. [file] Stream opened successfully.
  106. [cache] no backbuffer needed
  107. [cache] Cache size set to 14310 KiB (32 KiB backbuffer)
  108. [demux] Trying demuxers for level=normal.
  109. [lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
  110. [cache] Dropping cache at pos 14582379, cached range: 0-3145728.
  111. [cache] Seeking underlying stream: 3145728 -> 14582379
  112. [cache] EOF reached.
  113. [cache] Dropping cache at pos 48, cached range: 14582379-14621544.
  114. [cache] Seeking underlying stream: 14621544 -> 48
  115. [cache] EOF reached.
  116. [lavf] avformat_find_stream_info() finished after 32816 bytes.
  117. [demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
  118. [cache] blocking for STREAM_CTRL 6
  119. [find_files] Loading external files in /home/pont/Downloads/
  120. [global] config path: 'sub/' -/-> '/home/pont/.config/mpv/sub/'
  121. [global] config path: 'sub/' -/-> '/home/pont/.mpv/sub/'
  122. [global] config path: 'sub/' -/-> '/etc/mpv/sub/'
  123. [global] config path: 'audio/' -/-> '/home/pont/.config/mpv/audio/'
  124. [global] config path: 'audio/' -/-> '/home/pont/.mpv/audio/'
  125. [global] config path: 'audio/' -/-> '/etc/mpv/audio/'
  126. [cplayer] (+) Video --vid=1 (*) (h264)
  127. [cplayer] (+) Audio --aid=1 --alang=und (*) (aac)
  128. [display-tags] File tags:
  129. [display-tags] Artist: Durian Open Movie Team
  130. [display-tags] Title: Sintel Trailer
  131. [vo/opengl-hq] Setting option 'user-shaders' = '/home/pont/CrossBilateral.glsl' (flags = 0)
  132. [vo/opengl-hq] Setting option 'cscale' = 'bilinear' (flags = 0)
  133. [vo/opengl-hq] Setting option 'dscale' = 'mitchell' (flags = 0)
  134. [vo/opengl-hq] Setting option 'tscale' = 'sinc' (flags = 0)
  135. [vo/opengl-hq] Setting option 'tscale-radius' = '2' (flags = 0)
  136. [vo/opengl-hq] Setting option 'interpolation-threshold' = '0.01' (flags = 0)
  137. [vo/opengl-hq] Setting option 'scale-radius' = '3' (flags = 0)
  138. [vo/opengl-hq] Setting option 'dither-depth' = '8' (flags = 0)
  139. [vo/opengl-hq] Setting option 'deband-iterations' = '2' (flags = 0)
  140. [vo/opengl-hq] Setting option 'deband-range' = '12' (flags = 0)
  141. [vo/opengl-hq] Initializing OpenGL backend 'x11probe'
  142. [vo/opengl-hq/x11] X11 opening display: :0
  143. [vo/opengl-hq/x11] X11 running at 1920x1080 (":0" => local display)
  144. [vo/opengl-hq/x11] Detected wm supports NetWM.
  145. [vo/opengl-hq/x11] Detected wm supports FULLSCREEN state.
  146. [vo/opengl-hq/x11] Detected wm supports ABOVE state.
  147. [vo/opengl-hq/x11] Detected wm supports BELOW state.
  148. [vo/opengl-hq/x11] Detected wm supports STAYS_ON_TOP state.
  149. [vo/opengl-hq/x11] Display 0 (HDMI-0): [0, 0, 1920, 1080] @ 60.000000 FPS
  150. [vo/opengl-hq/x11] Current display FPS: 60.000000
  151. ATTENTION: default value of option allow_glsl_extension_directive_midshader overridden by environment.
  152. ATTENTION: default value of option glsl_zero_init overridden by environment.
  153. ATTENTION: option value of option allow_glsl_extension_directive_midshader ignored.
  154. ATTENTION: default value of option vblank_mode overridden by environment.
  155. [vo/opengl-hq] GLX chose FB config with ID 0x2c502b80
  156. [vo/opengl-hq] GLX chose visual with ID 0x2ff
  157. [vo/opengl-hq] Creating OpenGL 3.3 context...
  158. [vo/opengl-hq] GL_VERSION='4.3 (Core Profile) Mesa 12.1.0-devel (git-c42acd9 pontostroy:X11)'
  159. [vo/opengl-hq] Detected desktop OpenGL 4.3.
  160. [vo/opengl-hq] GL_VENDOR='X.Org'
  161. [vo/opengl-hq] GL_RENDERER='Gallium 0.4 on AMD TAHITI (DRM 2.47.0 / 4.8.0-rc4-3-si, LLVM 4.0.0)'
  162. [vo/opengl-hq] GL_SHADING_LANGUAGE_VERSION='4.30'
  163. [vo/opengl-hq] Loaded extension GLX_SGI_swap_control.
  164. [vo/opengl-hq] Loaded extension GLX_SGI_video_sync.
  165. [vo/opengl-hq] Loaded extension GL_NV_vdpau_interop.
  166. [vo/opengl-hq] 16 bit texture depth: 16.
  167. [vo/opengl-hq] Reported display depth: R=8, G=8, B=8
  168. [vo/opengl-hq] Testing FBO format 0x805b
  169. [vo/opengl-hq] Create FBO: 16x16 (16x16)
  170. [vo/opengl-hq] Using FBO format 0x805b.
  171. [global] user path: '/home/pont/CrossBilateral.glsl' -> '/home/pont/CrossBilateral.glsl'
  172. [ifo] Opening /home/pont/CrossBilateral.glsl
  173. [ifo/dvdnav] Opening /home/pont/CrossBilateral.glsl
  174. [bdmv/bluray] Opening /home/pont/CrossBilateral.glsl
  175. [file] Opening /home/pont/CrossBilateral.glsl
  176. [file] Stream opened successfully.
  177. [vo/opengl-hq] Assuming 60.000000 FPS for display sync.
  178. [vd] Container reported FPS: 24.000000
  179. [vd] Codec list:
  180. [vd] lavc:h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  181. [vd] Opening video decoder lavc:h264
  182. [vd] Using software decoding.
  183. [vd] Requesting 4 threads for decoding.
  184. [vd] Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264]
  185. [vo/opengl-hq/x11] Disabling screensaver.
  186. [ad] Codec list:
  187. [ad] lavc:aac - AAC (Advanced Audio Coding)
  188. [ad] lavc:aac_fixed (aac) - AAC (Advanced Audio Coding)
  189. [ad] Opening audio decoder lavc:aac
  190. [ad] Requesting 1 threads for decoding.
  191. [ad] Selected audio codec: AAC (Advanced Audio Coding) [lavc:aac]
  192. [cplayer] Starting playback...
  193. [af] Audio filter chain:
  194. [af] [in] 48000Hz stereo 2ch floatp
  195. [af] [out] 48000Hz stereo 2ch floatp
  196. [af] [ao] 48000Hz stereo 2ch floatp
  197. [ao] Trying audio driver 'pulse'
  198. [ao/pulse] requested format: 48000 Hz, stereo channels, floatp
  199. [ao/pulse] Library version: 9.0.0
  200. [ao/pulse] Proto: 31
  201. [ao/pulse] Server proto: 4294967295
  202. [ao/pulse] Channel layouts:
  203. [ao/pulse] - #fl
  204. [ao/pulse] - #fr
  205. [ao/pulse] - #fc
  206. [ao/pulse] - #lfe
  207. [ao/pulse] - #bl
  208. [ao/pulse] - #br
  209. [ao/pulse] - #flc
  210. [ao/pulse] - #frc
  211. [ao/pulse] - #bc
  212. [ao/pulse] - #sl
  213. [ao/pulse] - #sr
  214. [ao/pulse] - #tc
  215. [ao/pulse] - #tfl
  216. [ao/pulse] - #tfc
  217. [ao/pulse] - #tfr
  218. [ao/pulse] - #tbl
  219. [ao/pulse] - #tbc
  220. [ao/pulse] - #tbr
  221. [ao/pulse] result: stereo
  222. [ao/pulse] device buffer: 6000 samples.
  223. [ao/pulse] using soft-buffer of 9600 samples.
  224. [cplayer] AO: [pulse] 48000Hz stereo 2ch float
  225. [cplayer] AO: Description: PulseAudio audio output
  226. [af] Adding filter lavrresample
  227. [af] Audio filter chain:
  228. [af] [in] 48000Hz stereo 2ch floatp
  229. [af] [lavrresample] 48000Hz stereo 2ch float [a]
  230. [af] [out] 48000Hz stereo 2ch float
  231. [af] [ao] 48000Hz stereo 2ch float
  232. [vd] Decoder format: 1920x1080 [0:1] yuv420p auto/auto CL=mpeg2/4/h264
  233. [vf] Video filter chain:
  234. [vf] [in] 1920x1080 yuv420p bt.709/limited CL=mpeg2/4/h264
  235. [vf] [out] 1920x1080 yuv420p bt.709/limited CL=mpeg2/4/h264
  236. [cplayer] VO: [opengl-hq] 1920x1080 yuv420p
  237. [cplayer] VO: Description: Extended OpenGL Renderer (high quality rendering preset)
  238. [vo/opengl-hq] Resize: 1920x1080
  239. [vo/opengl-hq] Window size: 1920x1080
  240. [vo/opengl-hq] Video source: 1920x1080 (1:1)
  241. [vo/opengl-hq] Video display: (0, 0) 1920x1080 -> (0, 0) 1920x1080
  242. [vo/opengl-hq] Video scale: 1.000000/1.000000
  243. [vo/opengl-hq] OSD borders: l=0 t=0 r=0 b=0
  244. [vo/opengl-hq] Video borders: l=0 t=0 r=0 b=0
  245. [vo/opengl-hq] Testing FBO format 0x805b
  246. [vo/opengl-hq] Create FBO: 16x16 (16x16)
  247. [vo/opengl-hq] Using FBO format 0x805b.
  248. [vo/opengl-hq] Texture for plane 0: 1920x1080
  249. [vo/opengl-hq] Texture for plane 1: 960x540
  250. [vo/opengl-hq] Texture for plane 2: 960x540
  251. [cplayer] set video colors output-levels=0
  252. [vo/opengl-hq] Create FBO: 960x540 (960x540)
  253. [vo/opengl-hq] recompiling a shader program:
  254. [vo/opengl-hq] [ 1] // merging plane 1 ...
  255. [vo/opengl-hq] [ 2] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r;
  256. [vo/opengl-hq] [ 3] // merging plane 2 ... into 1
  257. [vo/opengl-hq] [ 4] color.g = 1.000000 * vec4(texture(texture1, texcoord1)).r;
  258. [vo/opengl-hq] Create FBO: 1920x1080 (1920x1080)
  259. [vo/opengl-hq] recompiling a shader program:
  260. [vo/opengl-hq] header:
  261. [vo/opengl-hq] [ 1] #define HOOKED_raw texture0
  262. [vo/opengl-hq] [ 2] #define HOOKED_pos texcoord0
  263. [vo/opengl-hq] [ 3] #define HOOKED_size texture_size0
  264. [vo/opengl-hq] [ 4] #define HOOKED_rot texture_rot0
  265. [vo/opengl-hq] [ 5] #define HOOKED_pt pixel_size0
  266. [vo/opengl-hq] [ 6] #define HOOKED_tex(pos) (1.000000 * vec4(texture(HOOKED_raw, pos)).rgba)
  267. [vo/opengl-hq] [ 7] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
  268. [vo/opengl-hq] [ 8] #define LUMA_raw texture0
  269. [vo/opengl-hq] [ 9] #define LUMA_pos texcoord0
  270. [vo/opengl-hq] [ 10] #define LUMA_size texture_size0
  271. [vo/opengl-hq] [ 11] #define LUMA_rot texture_rot0
  272. [vo/opengl-hq] [ 12] #define LUMA_pt pixel_size0
  273. [vo/opengl-hq] [ 13] #define LUMA_tex(pos) (1.000000 * vec4(texture(LUMA_raw, pos)).rgba)
  274. [vo/opengl-hq] [ 14] #define LUMA_texOff(off) LUMA_tex(LUMA_pos + LUMA_pt * vec2(off))
  275. [vo/opengl-hq] [ 15] float mod289(float x) { return x - floor(x / 289.0) * 289.0; }
  276. [vo/opengl-hq] [ 16] float permute(float x) { return mod289((34.0*x + 1.0) * x); }
  277. [vo/opengl-hq] [ 17] float rand(float x) { return fract(x / 41.0); }
  278. [vo/opengl-hq] [ 18] vec4 average(float range, inout float h) {
  279. [vo/opengl-hq] [ 19] float dist = rand(h) * range; h = permute(h);
  280. [vo/opengl-hq] [ 20] float dir = rand(h) * 6.2831853; h = permute(h);
  281. [vo/opengl-hq] [ 21] vec2 o = dist * vec2(cos(dir), sin(dir));
  282. [vo/opengl-hq] [ 22] vec4 ref[4];
  283. [vo/opengl-hq] [ 23] ref[0] = HOOKED_texOff(vec2( o.x, o.y));
  284. [vo/opengl-hq] [ 24] ref[1] = HOOKED_texOff(vec2(-o.y, o.x));
  285. [vo/opengl-hq] [ 25] ref[2] = HOOKED_texOff(vec2(-o.x, -o.y));
  286. [vo/opengl-hq] [ 26] ref[3] = HOOKED_texOff(vec2( o.y, -o.x));
  287. [vo/opengl-hq] [ 27] return (ref[0] + ref[1] + ref[2] + ref[3])/4.0;
  288. [vo/opengl-hq] [ 28] }
  289. [vo/opengl-hq] body:
  290. [vo/opengl-hq] [ 1] {
  291. [vo/opengl-hq] [ 2] vec3 _m = vec3(HOOKED_pos, random) + vec3(1.0);
  292. [vo/opengl-hq] [ 3] float h = permute(permute(permute(_m.x)+_m.y)+_m.z);
  293. [vo/opengl-hq] [ 4] color = HOOKED_tex(HOOKED_pos);
  294. [vo/opengl-hq] [ 5] vec4 avg, diff;
  295. [vo/opengl-hq] [ 6] avg = average(12.000000, h);
  296. [vo/opengl-hq] [ 7] diff = abs(color - avg);
  297. [vo/opengl-hq] [ 8] color = mix(avg, color, greaterThan(diff, vec4(0.003906)));
  298. [vo/opengl-hq] [ 9] avg = average(24.000000, h);
  299. [vo/opengl-hq] [ 10] diff = abs(color - avg);
  300. [vo/opengl-hq] [ 11] color = mix(avg, color, greaterThan(diff, vec4(0.001953)));
  301. [vo/opengl-hq] [ 12] vec3 noise;
  302. [vo/opengl-hq] [ 13] noise.x = rand(h); h = permute(h);
  303. [vo/opengl-hq] [ 14] noise.y = rand(h); h = permute(h);
  304. [vo/opengl-hq] [ 15] noise.z = rand(h); h = permute(h);
  305. [vo/opengl-hq] [ 16] color.xyz += 0.005859 * (noise - vec3(0.5));
  306. [vo/opengl-hq] [ 17] }
  307. [vo/opengl-hq] [ 18] color.g = 0.000000;
  308. [vo/opengl-hq] [ 19] color.b = 0.000000;
  309. [vo/opengl-hq] [ 20] color.a = 1.000000;
  310. [vo/opengl-hq] Create FBO: 960x540 (960x540)
  311. [vo/opengl-hq] recompiling a shader program:
  312. [vo/opengl-hq] header:
  313. [vo/opengl-hq] [ 1] #define HOOKED_raw texture0
  314. [vo/opengl-hq] [ 2] #define HOOKED_pos texcoord0
  315. [vo/opengl-hq] [ 3] #define HOOKED_size texture_size0
  316. [vo/opengl-hq] [ 4] #define HOOKED_rot texture_rot0
  317. [vo/opengl-hq] [ 5] #define HOOKED_pt pixel_size0
  318. [vo/opengl-hq] [ 6] #define HOOKED_tex(pos) (1.000000 * vec4(texture(HOOKED_raw, pos)).rgba)
  319. [vo/opengl-hq] [ 7] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
  320. [vo/opengl-hq] [ 8] #define CHROMA_raw texture0
  321. [vo/opengl-hq] [ 9] #define CHROMA_pos texcoord0
  322. [vo/opengl-hq] [ 10] #define CHROMA_size texture_size0
  323. [vo/opengl-hq] [ 11] #define CHROMA_rot texture_rot0
  324. [vo/opengl-hq] [ 12] #define CHROMA_pt pixel_size0
  325. [vo/opengl-hq] [ 13] #define CHROMA_tex(pos) (1.000000 * vec4(texture(CHROMA_raw, pos)).rgba)
  326. [vo/opengl-hq] [ 14] #define CHROMA_texOff(off) CHROMA_tex(CHROMA_pos + CHROMA_pt * vec2(off))
  327. [vo/opengl-hq] [ 15] float mod289(float x) { return x - floor(x / 289.0) * 289.0; }
  328. [vo/opengl-hq] [ 16] float permute(float x) { return mod289((34.0*x + 1.0) * x); }
  329. [vo/opengl-hq] [ 17] float rand(float x) { return fract(x / 41.0); }
  330. [vo/opengl-hq] [ 18] vec4 average(float range, inout float h) {
  331. [vo/opengl-hq] [ 19] float dist = rand(h) * range; h = permute(h);
  332. [vo/opengl-hq] [ 20] float dir = rand(h) * 6.2831853; h = permute(h);
  333. [vo/opengl-hq] [ 21] vec2 o = dist * vec2(cos(dir), sin(dir));
  334. [vo/opengl-hq] [ 22] vec4 ref[4];
  335. [vo/opengl-hq] [ 23] ref[0] = HOOKED_texOff(vec2( o.x, o.y));
  336. [vo/opengl-hq] [ 24] ref[1] = HOOKED_texOff(vec2(-o.y, o.x));
  337. [vo/opengl-hq] [ 25] ref[2] = HOOKED_texOff(vec2(-o.x, -o.y));
  338. [vo/opengl-hq] [ 26] ref[3] = HOOKED_texOff(vec2( o.y, -o.x));
  339. [vo/opengl-hq] [ 27] return (ref[0] + ref[1] + ref[2] + ref[3])/4.0;
  340. [vo/opengl-hq] [ 28] }
  341. [vo/opengl-hq] body:
  342. [vo/opengl-hq] [ 1] {
  343. [vo/opengl-hq] [ 2] vec3 _m = vec3(HOOKED_pos, random) + vec3(1.0);
  344. [vo/opengl-hq] [ 3] float h = permute(permute(permute(_m.x)+_m.y)+_m.z);
  345. [vo/opengl-hq] [ 4] color = HOOKED_tex(HOOKED_pos);
  346. [vo/opengl-hq] [ 5] vec4 avg, diff;
  347. [vo/opengl-hq] [ 6] avg = average(12.000000, h);
  348. [vo/opengl-hq] [ 7] diff = abs(color - avg);
  349. [vo/opengl-hq] [ 8] color = mix(avg, color, greaterThan(diff, vec4(0.003906)));
  350. [vo/opengl-hq] [ 9] avg = average(24.000000, h);
  351. [vo/opengl-hq] [ 10] diff = abs(color - avg);
  352. [vo/opengl-hq] [ 11] color = mix(avg, color, greaterThan(diff, vec4(0.001953)));
  353. [vo/opengl-hq] [ 12] vec3 noise;
  354. [vo/opengl-hq] [ 13] noise.x = rand(h); h = permute(h);
  355. [vo/opengl-hq] [ 14] noise.y = rand(h); h = permute(h);
  356. [vo/opengl-hq] [ 15] noise.z = rand(h); h = permute(h);
  357. [vo/opengl-hq] [ 16] color.xyz += 0.005859 * (noise - vec3(0.5));
  358. [vo/opengl-hq] [ 17] }
  359. [vo/opengl-hq] [ 18] color.b = 0.000000;
  360. [vo/opengl-hq] [ 19] color.a = 1.000000;
  361. [vo/opengl-hq] Create FBO: 960x1080 (960x1080)
  362. [vo/opengl-hq] recompiling a shader program:
  363. [vo/opengl-hq] header:
  364. [vo/opengl-hq] [ 1] #define HOOKED_raw texture0
  365. [vo/opengl-hq] [ 2] #define HOOKED_pos texcoord0
  366. [vo/opengl-hq] [ 3] #define HOOKED_size texture_size0
  367. [vo/opengl-hq] [ 4] #define HOOKED_rot texture_rot0
  368. [vo/opengl-hq] [ 5] #define HOOKED_pt pixel_size0
  369. [vo/opengl-hq] [ 6] #define HOOKED_tex(pos) (1.000000 * vec4(texture(HOOKED_raw, pos)).rgba)
  370. [vo/opengl-hq] [ 7] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
  371. [vo/opengl-hq] [ 8] #define CHROMA_raw texture0
  372. [vo/opengl-hq] [ 9] #define CHROMA_pos texcoord0
  373. [vo/opengl-hq] [ 10] #define CHROMA_size texture_size0
  374. [vo/opengl-hq] [ 11] #define CHROMA_rot texture_rot0
  375. [vo/opengl-hq] [ 12] #define CHROMA_pt pixel_size0
  376. [vo/opengl-hq] [ 13] #define CHROMA_tex(pos) (1.000000 * vec4(texture(CHROMA_raw, pos)).rgba)
  377. [vo/opengl-hq] [ 14] #define CHROMA_texOff(off) CHROMA_tex(CHROMA_pos + CHROMA_pt * vec2(off))
  378. [vo/opengl-hq] [ 15] #define LUMA_raw texture1
  379. [vo/opengl-hq] [ 16] #define LUMA_pos texcoord1
  380. [vo/opengl-hq] [ 17] #define LUMA_size texture_size1
  381. [vo/opengl-hq] [ 18] #define LUMA_rot texture_rot1
  382. [vo/opengl-hq] [ 19] #define LUMA_pt pixel_size1
  383. [vo/opengl-hq] [ 20] #define LUMA_tex(pos) (1.000000 * vec4(texture(LUMA_raw, pos)).rgba)
  384. [vo/opengl-hq] [ 21] #define LUMA_texOff(off) LUMA_tex(LUMA_pos + LUMA_pt * vec2(off))
  385. [vo/opengl-hq] [ 22]
  386. [vo/opengl-hq] [ 23] // -- Downscaling --
  387. [vo/opengl-hq] [ 24] #define offset (-vec2(0.0, 0.0)*LUMA_size*CHROMA_pt) // -chromaOffset*LUMA_size/CHROMA_size
  388. [vo/opengl-hq] [ 25]
  389. [vo/opengl-hq] [ 26] #define dxdy (vec2(CHROMA_pt.x, LUMA_pt.y)) // 1/output_size
  390. [vo/opengl-hq] [ 27] #define ddxddy (LUMA_pt) // 1/input_size
  391. [vo/opengl-hq] [ 28]
  392. [vo/opengl-hq] [ 29] #define factor ((ddxddy*vec2(CHROMA_size.x, LUMA_size.y))[axis])
  393. [vo/opengl-hq] [ 30]
  394. [vo/opengl-hq] [ 31] #define axis 0
  395. [vo/opengl-hq] [ 32]
  396. [vo/opengl-hq] [ 33] #define Kernel(x) clamp(0.5 + (0.5 - abs(x)) / factor, 0.0, 1.0)
  397. [vo/opengl-hq] [ 34] #define taps (1.0 + factor)
  398. [vo/opengl-hq] [ 35]
  399. [vo/opengl-hq] [ 36] vec4 hook() {
  400. [vo/opengl-hq] [ 37] // Calculate bounds
  401. [vo/opengl-hq] [ 38] float low = floor((LUMA_pos - 0.5*taps*dxdy) * LUMA_size - offset + 0.5)[axis];
  402. [vo/opengl-hq] [ 39] float high = floor((LUMA_pos + 0.5*taps*dxdy) * LUMA_size - offset + 0.5)[axis];
  403. [vo/opengl-hq] [ 40]
  404. [vo/opengl-hq] [ 41] float W = 0.0;
  405. [vo/opengl-hq] [ 42] vec2 avg = vec2(0);
  406. [vo/opengl-hq] [ 43] vec2 pos = LUMA_pos;
  407. [vo/opengl-hq] [ 44]
  408. [vo/opengl-hq] [ 45] for (float k = 0.0; k < high - low; k++) {
  409. [vo/opengl-hq] [ 46] pos[axis] = ddxddy[axis] * (k + low + 0.5);
  410. [vo/opengl-hq] [ 47] float rel = (pos[axis] - LUMA_pos[axis])*vec2(CHROMA_size.x, LUMA_size.y)[axis] + offset[axis]*factor;
  411. [vo/opengl-hq] [ 48] float w = Kernel(rel);
  412. [vo/opengl-hq] [ 49]
  413. [vo/opengl-hq] [ 50] avg += w * vec2(textureLod(LUMA_raw, pos, 0.0).x, pow(textureLod(LUMA_raw, pos, 0.0).x, 2.0));
  414. [vo/opengl-hq] [ 51] W += w;
  415. [vo/opengl-hq] [ 52] }
  416. [vo/opengl-hq] [ 53] avg /= vec2(W);
  417. [vo/opengl-hq] [ 54]
  418. [vo/opengl-hq] [ 55] return vec4(avg[0], avg[1] - avg[0]*avg[0], 0, 0);
  419. [vo/opengl-hq] [ 56] }
  420. [vo/opengl-hq] [ 57]
  421. [vo/opengl-hq] body:
  422. [vo/opengl-hq] [ 1] // custom hook
  423. [vo/opengl-hq] [ 2] color = hook();
  424. [vo/opengl-hq] Create FBO: 960x540 (960x540)
  425. [vo/opengl-hq] recompiling a shader program:
  426. [vo/opengl-hq] header:
  427. [vo/opengl-hq] [ 1] #define HOOKED_raw texture0
  428. [vo/opengl-hq] [ 2] #define HOOKED_pos texcoord0
  429. [vo/opengl-hq] [ 3] #define HOOKED_size texture_size0
  430. [vo/opengl-hq] [ 4] #define HOOKED_rot texture_rot0
  431. [vo/opengl-hq] [ 5] #define HOOKED_pt pixel_size0
  432. [vo/opengl-hq] [ 6] #define HOOKED_tex(pos) (1.000000 * vec4(texture(HOOKED_raw, pos)).rgba)
  433. [vo/opengl-hq] [ 7] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
  434. [vo/opengl-hq] [ 8] #define CHROMA_raw texture0
  435. [vo/opengl-hq] [ 9] #define CHROMA_pos texcoord0
  436. [vo/opengl-hq] [ 10] #define CHROMA_size texture_size0
  437. [vo/opengl-hq] [ 11] #define CHROMA_rot texture_rot0
  438. [vo/opengl-hq] [ 12] #define CHROMA_pt pixel_size0
  439. [vo/opengl-hq] [ 13] #define CHROMA_tex(pos) (1.000000 * vec4(texture(CHROMA_raw, pos)).rgba)
  440. [vo/opengl-hq] [ 14] #define CHROMA_texOff(off) CHROMA_tex(CHROMA_pos + CHROMA_pt * vec2(off))
  441. [vo/opengl-hq] [ 15] #define DOWNSCALEDLUMAX_raw texture1
  442. [vo/opengl-hq] [ 16] #define DOWNSCALEDLUMAX_pos texcoord1
  443. [vo/opengl-hq] [ 17] #define DOWNSCALEDLUMAX_size texture_size1
  444. [vo/opengl-hq] [ 18] #define DOWNSCALEDLUMAX_rot texture_rot1
  445. [vo/opengl-hq] [ 19] #define DOWNSCALEDLUMAX_pt pixel_size1
  446. [vo/opengl-hq] [ 20] #define DOWNSCALEDLUMAX_tex(pos) (1.000000 * vec4(texture(DOWNSCALEDLUMAX_raw, pos)).rgba)
  447. [vo/opengl-hq] [ 21] #define DOWNSCALEDLUMAX_texOff(off) DOWNSCALEDLUMAX_tex(DOWNSCALEDLUMAX_pos + DOWNSCALEDLUMAX_pt * vec2(off))
  448. [vo/opengl-hq] [ 22]
  449. [vo/opengl-hq] [ 23] // -- Downscaling --
  450. [vo/opengl-hq] [ 24] #define offset (-vec2(0.0, 0.0)*DOWNSCALEDLUMAX_size*CHROMA_pt)
  451. [vo/opengl-hq] [ 25]
  452. [vo/opengl-hq] [ 26] #define dxdy (CHROMA_pt)
  453. [vo/opengl-hq] [ 27] #define ddxddy (DOWNSCALEDLUMAX_pt)
  454. [vo/opengl-hq] [ 28]
  455. [vo/opengl-hq] [ 29] #define factor ((ddxddy*CHROMA_size)[axis])
  456. [vo/opengl-hq] [ 30]
  457. [vo/opengl-hq] [ 31] #define axis 1
  458. [vo/opengl-hq] [ 32]
  459. [vo/opengl-hq] [ 33] #define Kernel(x) clamp(0.5 + (0.5 - abs(x)) / factor, 0.0, 1.0)
  460. [vo/opengl-hq] [ 34] #define taps (1.0 + factor)
  461. [vo/opengl-hq] [ 35]
  462. [vo/opengl-hq] [ 36] vec4 hook() {
  463. [vo/opengl-hq] [ 37] // Calculate bounds
  464. [vo/opengl-hq] [ 38] float low = floor((DOWNSCALEDLUMAX_pos - 0.5*taps*dxdy) * DOWNSCALEDLUMAX_size - offset + 0.5)[axis];
  465. [vo/opengl-hq] [ 39] float high = floor((DOWNSCALEDLUMAX_pos + 0.5*taps*dxdy) * DOWNSCALEDLUMAX_size - offset + 0.5)[axis];
  466. [vo/opengl-hq] [ 40]
  467. [vo/opengl-hq] [ 41] float W = 0.0;
  468. [vo/opengl-hq] [ 42] vec2 avg = vec2(0);
  469. [vo/opengl-hq] [ 43] vec2 pos = DOWNSCALEDLUMAX_pos;
  470. [vo/opengl-hq] [ 44]
  471. [vo/opengl-hq] [ 45] for (float k = 0.0; k < high - low; k++) {
  472. [vo/opengl-hq] [ 46] pos[axis] = ddxddy[axis] * (k + low + 0.5);
  473. [vo/opengl-hq] [ 47] float rel = (pos[axis] - DOWNSCALEDLUMAX_pos[axis])*CHROMA_size[axis] + offset[axis]*factor;
  474. [vo/opengl-hq] [ 48] float w = Kernel(rel);
  475. [vo/opengl-hq] [ 49]
  476. [vo/opengl-hq] [ 50] avg += w * vec2(textureLod(DOWNSCALEDLUMAX_raw, pos, 0.0).x, textureLod(DOWNSCALEDLUMAX_raw, pos, 0.0).y + pow(textureLod(DOWNSCALEDLUMAX_raw, pos, 0.0).x, 2.0));
  477. [vo/opengl-hq] [ 51] W += w;
  478. [vo/opengl-hq] [ 52] }
  479. [vo/opengl-hq] [ 53] avg /= vec2(W);
  480. [vo/opengl-hq] [ 54]
  481. [vo/opengl-hq] [ 55] return vec4(avg[0], texture(CHROMA_raw, CHROMA_pos).xy, avg[1]-avg[0]*avg[0]);
  482. [vo/opengl-hq] [ 56] }
  483. [vo/opengl-hq] [ 57]
  484. [vo/opengl-hq] body:
  485. [vo/opengl-hq] [ 1] // custom hook
  486. [vo/opengl-hq] [ 2] color = hook();
  487. [vo/opengl-hq] Create FBO: 1920x1080 (1920x1080)
  488. [vo/opengl-hq] recompiling a shader program:
  489. [vo/opengl-hq] [ 1] // combining planes
  490. [vo/opengl-hq] [ 2] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r;
  491. [vo/opengl-hq] [ 3] color.gb = 1.000000 * vec4(texture(texture1, texcoord1)).rg;
  492. [vo/opengl-hq] Create FBO: 1920x1080 (1920x1080)
  493. [vo/opengl-hq] recompiling a shader program:
  494. [vo/opengl-hq] header:
  495. [vo/opengl-hq] [ 1] #define HOOKED_raw texture0
  496. [vo/opengl-hq] [ 2] #define HOOKED_pos texcoord0
  497. [vo/opengl-hq] [ 3] #define HOOKED_size texture_size0
  498. [vo/opengl-hq] [ 4] #define HOOKED_rot texture_rot0
  499. [vo/opengl-hq] [ 5] #define HOOKED_pt pixel_size0
  500. [vo/opengl-hq] [ 6] #define HOOKED_tex(pos) (1.000000 * vec4(texture(HOOKED_raw, pos)).rgba)
  501. [vo/opengl-hq] [ 7] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
  502. [vo/opengl-hq] [ 8] #define NATIVE_raw texture0
  503. [vo/opengl-hq] [ 9] #define NATIVE_pos texcoord0
  504. [vo/opengl-hq] [ 10] #define NATIVE_size texture_size0
  505. [vo/opengl-hq] [ 11] #define NATIVE_rot texture_rot0
  506. [vo/opengl-hq] [ 12] #define NATIVE_pt pixel_size0
  507. [vo/opengl-hq] [ 13] #define NATIVE_tex(pos) (1.000000 * vec4(texture(NATIVE_raw, pos)).rgba)
  508. [vo/opengl-hq] [ 14] #define NATIVE_texOff(off) NATIVE_tex(NATIVE_pos + NATIVE_pt * vec2(off))
  509. [vo/opengl-hq] [ 15] #define LOWRES_YUV_raw texture1
  510. [vo/opengl-hq] [ 16] #define LOWRES_YUV_pos texcoord1
  511. [vo/opengl-hq] [ 17] #define LOWRES_YUV_size texture_size1
  512. [vo/opengl-hq] [ 18] #define LOWRES_YUV_rot texture_rot1
  513. [vo/opengl-hq] [ 19] #define LOWRES_YUV_pt pixel_size1
  514. [vo/opengl-hq] [ 20] #define LOWRES_YUV_tex(pos) (1.000000 * vec4(texture(LOWRES_YUV_raw, pos)).rgba)
  515. [vo/opengl-hq] [ 21] #define LOWRES_YUV_texOff(off) LOWRES_YUV_tex(LOWRES_YUV_pos + LOWRES_YUV_pt * vec2(off))
  516. [vo/opengl-hq] [ 22]
  517. [vo/opengl-hq] [ 23] // -- CrossBilateral --
  518. [vo/opengl-hq] [ 24]
  519. [vo/opengl-hq] [ 25] // -- Misc --
  520. [vo/opengl-hq] [ 26] #define power 0.5
  521. [vo/opengl-hq] [ 27]
  522. [vo/opengl-hq] [ 28] // -- Convenience --
  523. [vo/opengl-hq] [ 29] #define sqr(x) dot(x,x)
  524. [vo/opengl-hq] [ 30] #define noise 0.15
  525. [vo/opengl-hq] [ 31] #define bitnoise 1.0/(2.0*255.0)
  526. [vo/opengl-hq] [ 32]
  527. [vo/opengl-hq] [ 33] #define dxdy (NATIVE_pt)
  528. [vo/opengl-hq] [ 34] #define ddxddy (LOWRES_YUV_pt)
  529. [vo/opengl-hq] [ 35] #define chromaOffset vec2(0.0, 0.0)
  530. [vo/opengl-hq] [ 36] #define radius 1.0
  531. [vo/opengl-hq] [ 37]
  532. [vo/opengl-hq] [ 38] // -- Window Size --
  533. [vo/opengl-hq] [ 39] #define taps 3
  534. [vo/opengl-hq] [ 40] #define even (float(taps) - 2.0 * floor(float(taps) / 2.0) == 0.0)
  535. [vo/opengl-hq] [ 41] #define minX int(1.0-ceil(float(taps)/2.0))
  536. [vo/opengl-hq] [ 42] #define maxX int(floor(float(taps)/2.0))
  537. [vo/opengl-hq] [ 43]
  538. [vo/opengl-hq] [ 44] // -- Input processing --
  539. [vo/opengl-hq] [ 45] // Luma value
  540. [vo/opengl-hq] [ 46] //#define GetLuma(x,y) LOWRES_YUV_tex(HOOKED_pos + dxdy*vec2(x,y))[0]
  541. [vo/opengl-hq] [ 47] // Chroma value
  542. [vo/opengl-hq] [ 48] #define GetChroma(x,y) LOWRES_YUV_tex(ddxddy*(pos+vec2(x,y)+0.5))
  543. [vo/opengl-hq] [ 49]
  544. [vo/opengl-hq] [ 50] #define localVar 0.0//sqr(bitnoise)
  545. [vo/opengl-hq] [ 51] #define fixLuma 0.0
  546. [vo/opengl-hq] [ 52]
  547. [vo/opengl-hq] [ 53] #define C(i,j) (inversesqrt(sqr(noise) + X[i].w + X[j].w) * exp(-0.5*(sqr(X[i].x - X[j].x)/(sqr(noise) + X[i].w + X[j].w) + sqr((coords[i] - coords[j])/radius))) + fixLuma * (X[i].x - c0.x) * (X[j].x - c0.x))
  548. [vo/opengl-hq] [ 54] #define c(i) (inversesqrt(sqr(noise) + X[i].w + localVar) * exp(-0.5*(sqr(X[i].x - c0.x)/(sqr(noise) + X[i].w + localVar) + sqr((coords[i] - offset)/radius))))
  549. [vo/opengl-hq] [ 55]
  550. [vo/opengl-hq] [ 56] #define N (taps*taps - 1)
  551. [vo/opengl-hq] [ 57]
  552. [vo/opengl-hq] [ 58] vec4 hook() {
  553. [vo/opengl-hq] [ 59] vec4 c0 = HOOKED_tex(HOOKED_pos);
  554. [vo/opengl-hq] [ 60]
  555. [vo/opengl-hq] [ 61] // Calculate position
  556. [vo/opengl-hq] [ 62] vec2 pos = HOOKED_pos * LOWRES_YUV_size - chromaOffset - vec2(0.5);
  557. [vo/opengl-hq] [ 63] vec2 offset = pos - (even ? floor(pos) : round(pos));
  558. [vo/opengl-hq] [ 64] pos -= offset;
  559. [vo/opengl-hq] [ 65]
  560. [vo/opengl-hq] [ 66] vec2 coords[N+1];
  561. [vo/opengl-hq] [ 67] vec4 X[N+1];
  562. [vo/opengl-hq] [ 68] int i=0;
  563. [vo/opengl-hq] [ 69] for (int xx = minX; xx <= maxX; xx++)
  564. [vo/opengl-hq] [ 70] for (int yy = minX; yy <= maxX; yy++)
  565. [vo/opengl-hq] [ 71] if (!(xx == 0 && yy == 0)) {
  566. [vo/opengl-hq] [ 72] coords[i] = vec2(xx,yy);
  567. [vo/opengl-hq] [ 73] X[i++] = GetChroma(xx, yy);
  568. [vo/opengl-hq] [ 74] }
  569. [vo/opengl-hq] [ 75]
  570. [vo/opengl-hq] [ 76] coords[N] = vec2(0,0);
  571. [vo/opengl-hq] [ 77] X[N] = GetChroma(0,0);
  572. [vo/opengl-hq] [ 78]
  573. [vo/opengl-hq] [ 79] float M[N*N];
  574. [vo/opengl-hq] [ 80] float b[N];
  575. [vo/opengl-hq] [ 81]
  576. [vo/opengl-hq] [ 82] for (i=0; i<N; i++) {
  577. [vo/opengl-hq] [ 83] b[i] = c(i) - c(N) - C(i,N) + C(N,N);
  578. [vo/opengl-hq] [ 84] for (int j=i; j<N; j++) {
  579. [vo/opengl-hq] [ 85] M[i*N + j] = C(i,j) - C(i,N) - C(j,N) + C(N,N);
  580. [vo/opengl-hq] [ 86] }
  581. [vo/opengl-hq] [ 87] }
  582. [vo/opengl-hq] [ 88]
  583. [vo/opengl-hq] [ 89] for (i=0; i<N; i++) {
  584. [vo/opengl-hq] [ 90] for (int j=i+1; j<N; j++) {
  585. [vo/opengl-hq] [ 91] b[j] -= b[i] * M[i*N + j] / M[i*N + i];
  586. [vo/opengl-hq] [ 92] for (int k=j; k<N; k++) {
  587. [vo/opengl-hq] [ 93] M[j*N + k] -= M[i*N + k] * M[i*N + j] / M[i*N + i];
  588. [vo/opengl-hq] [ 94] }
  589. [vo/opengl-hq] [ 95] }
  590. [vo/opengl-hq] [ 96] }
  591. [vo/opengl-hq] [ 97]
  592. [vo/opengl-hq] [ 98] //float w[N];
  593. [vo/opengl-hq] [ 99] //float det = 1;
  594. [vo/opengl-hq] [100] //float Tr = 0;
  595. [vo/opengl-hq] [101] for (i=N-1; i>=0; i--) {
  596. [vo/opengl-hq] [102] //w[i] = b[i];
  597. [vo/opengl-hq] [103] for (int j=i+1; j<N; j++) {
  598. [vo/opengl-hq] [104] b[i] -= M[i*N + j] * b[j];
  599. [vo/opengl-hq] [105] }
  600. [vo/opengl-hq] [106] b[i] /= M[i*N + i];
  601. [vo/opengl-hq] [107] //det *= M[i*N + i];
  602. [vo/opengl-hq] [108] //Tr += M[i*N + i];
  603. [vo/opengl-hq] [109] }
  604. [vo/opengl-hq] [110]
  605. [vo/opengl-hq] [111] vec4 interp = X[N];
  606. [vo/opengl-hq] [112] for (i=0; i<N; i++)
  607. [vo/opengl-hq] [113] interp += b[i] * (X[i] - X[N]);
  608. [vo/opengl-hq] [114]
  609. [vo/opengl-hq] [115] // Update c0
  610. [vo/opengl-hq] [116] c0.yz = interp.yz;
  611. [vo/opengl-hq] [117]
  612. [vo/opengl-hq] [118] return c0;
  613. [vo/opengl-hq] [119] }
  614. [vo/opengl-hq] body:
  615. [vo/opengl-hq] [ 1] // custom hook
  616. [vo/opengl-hq] [ 2] color = hook();
  617. [vo/opengl-hq] [ 3] color.a = 1.000000;
  618. [vo/opengl-hq] Create FBO: 1920x1080 (1920x1080)
  619. [vo/opengl-hq] recompiling a shader program:
  620. [vo/opengl-hq] [ 1] color.rgb = 1.000000 * vec4(texture(texture0, texcoord0)).rgb;
  621. [vo/opengl-hq] [ 2] // color conversion
  622. [vo/opengl-hq] [ 3] color.rgb = mat3(colormatrix) * color.rgb + colormatrix_c;
  623. [vo/opengl-hq] [ 4] color.a = 1.0;
  624. [vo/opengl-hq] [ 5] // scaler pre-conversion
  625. [vo/opengl-hq] [ 6] color.rgb = clamp(color.rgb, 0.0, 1.0);
  626. [vo/opengl-hq] [ 7] color.rgb = pow(color.rgb, vec3(2.4));
  627. [vo/opengl-hq] [ 8] // main scaling
  628. [vo/opengl-hq] Create FBO: 1920x1080 (2048x1280)
  629. [vo/opengl-hq] Dither to 8.
  630. [vo/opengl-hq] recompiling a shader program:
  631. [vo/opengl-hq] [ 1] #undef tex
  632. [vo/opengl-hq] [ 2] #define tex texture0
  633. [vo/opengl-hq] [ 3] vec2 pos = texcoord0;
  634. [vo/opengl-hq] [ 4] vec2 size = texture_size0;
  635. [vo/opengl-hq] [ 5] vec2 pt = pixel_size0;
  636. [vo/opengl-hq] [ 6] color = texture(tex, pos);
  637. [vo/opengl-hq] [ 7] color *= 1.000000;
  638. [vo/opengl-hq] [ 8] color.a = 1.000000;
  639. [vo/opengl-hq] [ 9] // scaler post-conversion
  640. [vo/opengl-hq] [ 10] // color mapping
  641. [vo/opengl-hq] [ 11] color.rgb = clamp(color.rgb, 0.0, 1.0);
  642. [vo/opengl-hq] [ 12] color.rgb = pow(color.rgb, vec3(1.0/2.4));
  643. [vo/opengl-hq] [ 13] // dithering
  644. [vo/opengl-hq] [ 14] vec2 dither_pos = gl_FragCoord.xy / 64.0;
  645. [vo/opengl-hq] [ 15] float dither_value = texture(dither, dither_pos).r;
  646. [vo/opengl-hq] [ 16] color = floor(color * 255.0 + dither_value + 0.5 / 4096.0) / 255.0;
  647. [osd/libass] fontselect: (sans-serif, 400, 0) -> /usr/share/fonts/truetype/arial.ttf, 0, ArialMT
  648. [cplayer] first video frame after restart shown
  649. [cplayer] starting audio playback
  650. [cplayer] playback restart complete
  651. [vo/opengl-hq] Resize: 1903x1060
  652. [vo/opengl-hq] Window size: 1903x1060
  653. [vo/opengl-hq] Video source: 1920x1080 (1:1)
  654. [vo/opengl-hq] Video display: (0, 0) 1920x1080 -> (9, 0) 1884x1060
  655. [vo/opengl-hq] Video scale: 0.981250/0.981481
  656. [vo/opengl-hq] OSD borders: l=9 t=0 r=10 b=0
  657. [vo/opengl-hq] Video borders: l=9 t=0 r=10 b=0
  658. [cplayer] Change display sync audio drift: -1
  659. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: -0.033 DS: 2.500/0 Cache: 9s+11MB
  660. [vo/opengl-hq] Create FBO: 1920x1060 (1920x1280)
  661. [vo/opengl-hq] recompiling a shader program:
  662. [vo/opengl-hq] [ 1] #undef tex
  663. [vo/opengl-hq] [ 2] #define tex texture0
  664. [vo/opengl-hq] [ 3] vec2 pos = texcoord0;
  665. [vo/opengl-hq] [ 4] vec2 size = texture_size0;
  666. [vo/opengl-hq] [ 5] vec2 pt = pixel_size0;
  667. [vo/opengl-hq] [ 6] // pass 1
  668. [vo/opengl-hq] [ 7] color = vec4(0.0);
  669. [vo/opengl-hq] [ 8] {
  670. [vo/opengl-hq] [ 9] vec2 dir = vec2(0.0, 1.0);
  671. [vo/opengl-hq] [ 10] pt *= dir;
  672. [vo/opengl-hq] [ 11] float fcoord = dot(fract(pos * size - vec2(0.5)), dir);
  673. [vo/opengl-hq] [ 12] vec2 base = pos - fcoord * pt - pt * vec2(2.0);
  674. [vo/opengl-hq] [ 13] vec4 c;
  675. [vo/opengl-hq] [ 14] float fcoord_lut = LUT_POS(fcoord, 64.0);
  676. [vo/opengl-hq] [ 15] vec4 c1 = texture(lut, vec2(0.25, fcoord_lut));
  677. [vo/opengl-hq] [ 16] vec4 c2 = texture(lut, vec2(0.75, fcoord_lut));
  678. [vo/opengl-hq] [ 17] float weights[6] = float[](c1.r, c1.g, c1.b, c2.r, c2.g, c2.b);
  679. [vo/opengl-hq] [ 18] // scaler samples
  680. [vo/opengl-hq] [ 19] c = texture(tex, base + pt * vec2(0.0));
  681. [vo/opengl-hq] [ 20] color += vec4(weights[0]) * c;
  682. [vo/opengl-hq] [ 21] c = texture(tex, base + pt * vec2(1.0));
  683. [vo/opengl-hq] [ 22] color += vec4(weights[1]) * c;
  684. [vo/opengl-hq] [ 23] c = texture(tex, base + pt * vec2(2.0));
  685. [vo/opengl-hq] [ 24] color += vec4(weights[2]) * c;
  686. [vo/opengl-hq] [ 25] c = texture(tex, base + pt * vec2(3.0));
  687. [vo/opengl-hq] [ 26] color += vec4(weights[3]) * c;
  688. [vo/opengl-hq] [ 27] c = texture(tex, base + pt * vec2(4.0));
  689. [vo/opengl-hq] [ 28] color += vec4(weights[4]) * c;
  690. [vo/opengl-hq] [ 29] c = texture(tex, base + pt * vec2(5.0));
  691. [vo/opengl-hq] [ 30] color += vec4(weights[5]) * c;
  692. [vo/opengl-hq] [ 31] }
  693. [vo/opengl-hq] [ 32] color *= 1.000000;
  694. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: -0.033 DS: 2.500/0 Cache: 9s+11MB
  695. [vo/opengl-hq] recompiling a shader program:
  696. [vo/opengl-hq] [ 1] #undef tex
  697. [vo/opengl-hq] [ 2] #define tex texture0
  698. [vo/opengl-hq] [ 3] vec2 pos = texcoord0;
  699. [vo/opengl-hq] [ 4] vec2 size = texture_size0;
  700. [vo/opengl-hq] [ 5] vec2 pt = pixel_size0;
  701. [vo/opengl-hq] [ 6] // pass 2
  702. [vo/opengl-hq] [ 7] color = vec4(0.0);
  703. [vo/opengl-hq] [ 8] {
  704. [vo/opengl-hq] [ 9] vec2 dir = vec2(1.0, 0.0);
  705. [vo/opengl-hq] [ 10] pt *= dir;
  706. [vo/opengl-hq] [ 11] float fcoord = dot(fract(pos * size - vec2(0.5)), dir);
  707. [vo/opengl-hq] [ 12] vec2 base = pos - fcoord * pt - pt * vec2(2.0);
  708. [vo/opengl-hq] [ 13] vec4 c;
  709. [vo/opengl-hq] [ 14] float fcoord_lut = LUT_POS(fcoord, 64.0);
  710. [vo/opengl-hq] [ 15] vec4 c1 = texture(lut, vec2(0.25, fcoord_lut));
  711. [vo/opengl-hq] [ 16] vec4 c2 = texture(lut, vec2(0.75, fcoord_lut));
  712. [vo/opengl-hq] [ 17] float weights[6] = float[](c1.r, c1.g, c1.b, c2.r, c2.g, c2.b);
  713. [vo/opengl-hq] [ 18] // scaler samples
  714. [vo/opengl-hq] [ 19] c = texture(tex, base + pt * vec2(0.0));
  715. [vo/opengl-hq] [ 20] color += vec4(weights[0]) * c;
  716. [vo/opengl-hq] [ 21] c = texture(tex, base + pt * vec2(1.0));
  717. [vo/opengl-hq] [ 22] color += vec4(weights[1]) * c;
  718. [vo/opengl-hq] [ 23] c = texture(tex, base + pt * vec2(2.0));
  719. [vo/opengl-hq] [ 24] color += vec4(weights[2]) * c;
  720. [vo/opengl-hq] [ 25] c = texture(tex, base + pt * vec2(3.0));
  721. [vo/opengl-hq] [ 26] color += vec4(weights[3]) * c;
  722. [vo/opengl-hq] [ 27] c = texture(tex, base + pt * vec2(4.0));
  723. [vo/opengl-hq] [ 28] color += vec4(weights[4]) * c;
  724. [vo/opengl-hq] [ 29] c = texture(tex, base + pt * vec2(5.0));
  725. [vo/opengl-hq] [ 30] color += vec4(weights[5]) * c;
  726. [vo/opengl-hq] [ 31] }
  727. [vo/opengl-hq] [ 32] color.a = 1.000000;
  728. [vo/opengl-hq] [ 33] // scaler post-conversion
  729. [vo/opengl-hq] [ 34] // color mapping
  730. [vo/opengl-hq] [ 35] color.rgb = clamp(color.rgb, 0.0, 1.0);
  731. [vo/opengl-hq] [ 36] color.rgb = pow(color.rgb, vec3(1.0/2.4));
  732. [vo/opengl-hq] [ 37] // dithering
  733. [vo/opengl-hq] [ 38] vec2 dither_pos = gl_FragCoord.xy / 64.0;
  734. [vo/opengl-hq] [ 39] float dither_value = texture(dither, dither_pos).r;
  735. [vo/opengl-hq] [ 40] color = floor(color * 255.0 + dither_value + 0.5 / 4096.0) / 255.0;
  736. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  737. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding2]
  738. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding2]
  739. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  740. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding2]
  741. [cplayer] Run command: enable-section, flags=0, args=[input, ]
  742. [cplayer] Change display sync audio drift: 1
  743. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.045 DS: 2.667/0 Cache: 9s+11MB
  744. [osd/libass] fontselect: (mpv-osd-symbols, 400, 0) -> mpv-osd-symbols-Regular, 0, mpv-osd-symbols-Regular
  745. [vo/opengl-hq] Reallocating OSD texture to 1024x512.
  746. [vo/opengl-hq] recompiling a shader program:
  747. [vo/opengl-hq] [ 1] // OSD (libass)
  748. [vo/opengl-hq] [ 2] color = vec4(ass_color.rgb, ass_color.a * texture(osdtex, texcoord).r);
  749. [vo/opengl-hq] [ 3] // color mapping
  750. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.011 DS: 2.333/1 Cache: 9s+11MB
  751. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  752. [cplayer] Run command: disable-section, flags=0, args=[input]
  753. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.075 DS: 2.286/1 Cache: 9s+11MB
  754. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  755. [cplayer] Run command: enable-section, flags=0, args=[input, ]
  756. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.008 DS: 2.000/1 Dropped: 1 Cache: 10s+11MB
  757. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  758. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.008 DS: 2.000/1 Dropped: 1 Cache: 10s+11MB
  759. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  760. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.007 DS: 2.000/1 Dropped: 1 Cache: 9s+11MB
  761. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  762. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.109 DS: 2.083/2 Dropped: 1 Cache: 9s+11MB
  763. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  764. [statusline] AV: 00:00:00 / 00:00:52 (0%) A-V: 0.076 DS: 1.923/2 Dropped: 1 Cache: 9s+11MB
  765. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  766. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.009 DS: 1.812/2 Dropped: 3 Cache: 9s+11MB
  767. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  768. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.009 DS: 1.812/2 Dropped: 3 Cache: 9s+11MB
  769. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  770. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.009 DS: 1.824/2 Dropped: 3 Cache: 9s+11MB
  771. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  772. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.009 DS: 1.824/3 Dropped: 3 Cache: 9s+11MB
  773. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  774. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.065 DS: 1.889/3 Dropped: 3 Cache: 9s+11MB
  775. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  776. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.032 DS: 1.789/3 Dropped: 3 Cache: 9s+11MB
  777. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  778. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.015 DS: 1.800/3 Dropped: 4 Cache: 9s+11MB
  779. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  780. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.015 DS: 1.810/3 Dropped: 4 Cache: 9s+11MB
  781. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  782. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.015 DS: 1.864/3 Dropped: 4 Cache: 9s+11MB
  783. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  784. [statusline] AV: 00:00:00 / 00:00:52 (1%) A-V: 0.054 DS: 1.870/4 Dropped: 4 Cache: 9s+11MB
  785. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  786. [statusline] AV: 00:00:01 / 00:00:52 (1%) A-V: 0.004 DS: 1.889/4 Dropped: 5 Cache: 9s+11MB
  787. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  788. [statusline] AV: 00:00:01 / 00:00:52 (2%) A-V: 0.004 DS: 1.889/5 Dropped: 5 Cache: 9s+11MB
  789. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding1]
  790. [statusline] AV: 00:00:01 / 00:00:52 (2%) A-V: 0.057 DS: 1.893/5 Dropped: 5 Cache: 9s+11MB
  791. [cplayer] Run command: script-binding, flags=9, args=[osc/__keybinding2]
  792. [statusline] AV: 00:00:01 / 00:00:52 (2%) A-V: 0.035 DS: 1.909/6 Dropped: 6 Cache: 10s+11MB
  793. [cplayer] Run command: quit, flags=9, args=[0]
  794. [cplayer] EOF code: 6
  795. [ad] Uninit audio decoder.
  796. [af] Removing filter lavrresample
  797. [vd] Uninit video.
  798. [cache] Terminating cache...
  799. [cache] Cache exiting...
  800. [cplayer] finished playback, success (reason 3)
  801. [cplayer]
  802. [cplayer]
  803. [cplayer] Exiting... (Quit)
  804. [ytdl_hook] Exiting...
  805. [osc] Exiting...
  806. [ao/pulse] draining...
  807. [vo/opengl-hq] flushing shader cache
  808. [vo/opengl-hq/x11] Enabling screensaver.
  809. [vo/opengl-hq/x11] uninit ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement