From 9bc7887bd6d41dcbb072f955d8dd937463ae1906 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Fri, 3 Apr 2026 10:15:46 +0200 Subject: [PATCH] update --- .../file-browser-addons/addons/favourites.lua | 206 - .../file-browser-addons/addons/url-decode.lua | 39 - .../file-browser-addons/favourites.lua | 206 - .../file-browser-addons/filter-paths.lua | 45 - .../file-browser-addons/iso-loader.lua | 41 - .../modules/addons/find.lua | 124 - .../modules/addons/home-label.lua | 31 - .../modules/addons/windir.lua | 218 - .../modules/addons/winroot.lua | 62 - script-modules/file-browser-addons/sort.lua | 86 - .../file-browser-addons/url-decode.lua | 39 - .../file-browser-addons/winsort.lua | 51 - scripts/auto-save-state.lua | 70 - scripts/autoload.lua | 610 -- scripts/autosubsync/LICENSE | 21 - scripts/autosubsync/README.md | 130 - scripts/autosubsync/autosubsync.lua | 559 -- scripts/autosubsync/main.lua | 1 - scripts/autosubsync/menu.lua | 107 - scripts/autosubsync/subtitle.lua | 276 - scripts/blacklist-extensions.lua | 78 - scripts/chapter-make-read.lua | 618 -- scripts/chapterskip.lua | 91 - scripts/command_palette.lua | 1074 --- scripts/cycle-commands.lua | 80 - scripts/delete-current-file.lua | 169 - scripts/delete_current_file.lua | 169 - scripts/evafast.lua | 396 - scripts/file-browser/LICENSE | 21 - scripts/file-browser/README.md | 229 - scripts/file-browser/addons/README.md | 12 - scripts/file-browser/docs/addons.md | 1008 --- scripts/file-browser/docs/custom-keybinds.md | 330 - .../docs/file-browser-keybinds.json | 51 - scripts/file-browser/docs/file_browser.conf | 247 - scripts/file-browser/main.lua | 76 - scripts/file-browser/modules/addons.lua | 204 - scripts/file-browser/modules/addons/cache.lua | 146 - scripts/file-browser/modules/addons/file.lua | 46 - scripts/file-browser/modules/addons/find.lua | 124 - .../modules/addons/home-label.lua | 31 - .../modules/addons/last-opened-directory.lua | 62 - scripts/file-browser/modules/addons/ls.lua | 68 - scripts/file-browser/modules/addons/root.lua | 26 - .../file-browser/modules/addons/windir.lua | 218 - .../file-browser/modules/addons/winroot.lua | 62 - scripts/file-browser/modules/apis/fb.lua | 198 - .../file-browser/modules/apis/parse-state.lua | 34 - scripts/file-browser/modules/apis/parser.lua | 40 - scripts/file-browser/modules/ass.lua | 238 - scripts/file-browser/modules/controls.lua | 94 - .../modules/defs/file-browser.lua | 3 - scripts/file-browser/modules/defs/keybind.lua | 39 - scripts/file-browser/modules/defs/list.lua | 25 - .../file-browser/modules/defs/mp/defaults.lua | 148 - .../file-browser/modules/defs/mp/input.lua | 21 - scripts/file-browser/modules/defs/mp/msg.lua | 32 - .../file-browser/modules/defs/mp/options.lua | 11 - .../file-browser/modules/defs/mp/utils.lua | 43 - scripts/file-browser/modules/defs/parser.lua | 41 - scripts/file-browser/modules/defs/state.lua | 21 - .../file-browser/modules/defs/user-input.lua | 28 - scripts/file-browser/modules/globals.lua | 181 - scripts/file-browser/modules/keybinds.lua | 354 - .../modules/navigation/cursor.lua | 134 - .../modules/navigation/directory-movement.lua | 209 - .../modules/navigation/scanning.lua | 210 - scripts/file-browser/modules/observers.lua | 48 - scripts/file-browser/modules/options.lua | 193 - scripts/file-browser/modules/playlist.lua | 362 - .../file-browser/modules/script-messages.lua | 111 - scripts/file-browser/modules/setup.lua | 60 - scripts/file-browser/modules/utils.lua | 637 -- scripts/file-browser/screenshots/bunny.png | Bin 2948047 -> 0 bytes scripts/file-browser/screenshots/front.png | Bin 998022 -> 0 bytes scripts/fix-avsync.lua | 25 - scripts/hdr-mode.lua | 307 - scripts/history-bookmark.lua | 602 -- scripts/inputevent.lua | 600 -- scripts/manager.lua | 159 - scripts/mpv-animated.lua | 249 - scripts/open_dialog.lua | 341 - scripts/persist_properties.lua | 115 - scripts/playlistmanager.lua | 1678 ---- scripts/quality-menu.lua | 1177 --- scripts/simplehistory.lua | 2328 ------ scripts/slicing_copy.lua | 227 - scripts/sponsorblock_minimal.lua | 149 - scripts/sub-assrt.lua | 704 -- scripts/sub-fonts-dir-auto.lua | 122 - scripts/sub-select.lua | 429 - scripts/sub_export.lua | 148 - scripts/thumbfast.lua | 947 --- scripts/trackselect.lua | 257 - scripts/undoredo.lua | 218 - scripts/uosc/LICENSE.LGPL | 502 -- scripts/uosc/README.md | 545 -- scripts/uosc/char-conv/zh.json | 405 - scripts/uosc/elements/BufferingIndicator.lua | 39 - scripts/uosc/elements/Button.lua | 100 - scripts/uosc/elements/Controls.lua | 431 - scripts/uosc/elements/Curtain.lua | 35 - scripts/uosc/elements/CycleButton.lua | 86 - scripts/uosc/elements/Element.lua | 265 - scripts/uosc/elements/Elements.lua | 152 - scripts/uosc/elements/ManagedButton.lua | 36 - scripts/uosc/elements/Menu.lua | 1833 ----- scripts/uosc/elements/PauseIndicator.lua | 83 - scripts/uosc/elements/Speed.lua | 195 - scripts/uosc/elements/Timeline.lua | 489 -- scripts/uosc/elements/TopBar.lua | 430 - scripts/uosc/elements/Volume.lua | 283 - scripts/uosc/elements/WindowBorder.lua | 35 - scripts/uosc/intl/de.json | 83 - scripts/uosc/intl/es.json | 99 - scripts/uosc/intl/fr.json | 59 - scripts/uosc/intl/pl.json | 107 - scripts/uosc/intl/ro.json | 59 - scripts/uosc/intl/ru.json | 59 - scripts/uosc/intl/tr.json | 107 - scripts/uosc/intl/uk.json | 69 - scripts/uosc/intl/zh-hans.json | 99 - scripts/uosc/lib/ass.lua | 268 - scripts/uosc/lib/buttons.lua | 74 - scripts/uosc/lib/char_conv.lua | 66 - scripts/uosc/lib/cursor.lua | 469 -- scripts/uosc/lib/fzy.lua | 297 - scripts/uosc/lib/intl.lua | 68 - scripts/uosc/lib/menus.lua | 1186 --- scripts/uosc/lib/std.lua | 409 - scripts/uosc/lib/text.lua | 660 -- scripts/uosc/lib/utils.lua | 1079 --- scripts/uosc/main.lua | 1201 --- scripts/uosc_danmaku/LICENSE | 21 - scripts/uosc_danmaku/README.md | 1062 --- scripts/uosc_danmaku/apis/dandanplay.lua | 735 -- scripts/uosc_danmaku/apis/extra.lua | 347 - scripts/uosc_danmaku/dicts/s2t_chars.lua | 3982 --------- scripts/uosc_danmaku/dicts/t2s_chars.lua | 4115 ---------- scripts/uosc_danmaku/main.lua | 929 --- scripts/uosc_danmaku/modules/aes.lua | 491 -- scripts/uosc_danmaku/modules/base64.lua | 203 - scripts/uosc_danmaku/modules/guess.lua | 157 - scripts/uosc_danmaku/modules/hash.lua | 192 - scripts/uosc_danmaku/modules/md5.lua | 164 - scripts/uosc_danmaku/modules/menu.lua | 806 -- scripts/uosc_danmaku/modules/options.lua | 76 - scripts/uosc_danmaku/modules/parse.lua | 655 -- scripts/uosc_danmaku/modules/render.lua | 296 - scripts/uosc_danmaku/modules/update.lua | 53 - scripts/uosc_danmaku/modules/utils.lua | 664 -- .../.github/ISSUE_TEMPLATE/bug_report.md | 34 - .../.github/ISSUE_TEMPLATE/feature_request.md | 20 - shaders/Anime4K/CODE_OF_CONDUCT.md | 76 - shaders/Anime4K/README.md | 106 - .../glsl/Deblur/Anime4K_Deblur_DoG.glsl | 152 - .../glsl/Deblur/Anime4K_Deblur_Original.glsl | 287 - .../Anime4K_Denoise_Bilateral_Mean.glsl | 67 - .../Anime4K_Denoise_Bilateral_Median.glsl | 120 - .../Anime4K_Denoise_Bilateral_Mode.glsl | 103 - .../Anime4K_Darken_Fast.glsl | 215 - .../Anime4K_Darken_HQ.glsl | 197 - .../Anime4K_Darken_VeryFast.glsl | 217 - .../Anime4K_Thin_Fast.glsl | 234 - .../Experimental-Effects/Anime4K_Thin_HQ.glsl | 222 - .../Anime4K_Thin_VeryFast.glsl | 236 - .../Restore/Anime4K_Clamp_Highlights.glsl | 90 - .../glsl/Restore/Anime4K_Restore_CNN_L.glsl | 429 - .../glsl/Restore/Anime4K_Restore_CNN_M.glsl | 275 - .../glsl/Restore/Anime4K_Restore_CNN_S.glsl | 137 - .../Restore/Anime4K_Restore_CNN_Soft_L.glsl | 429 - .../Restore/Anime4K_Restore_CNN_Soft_M.glsl | 275 - .../Restore/Anime4K_Restore_CNN_Soft_S.glsl | 137 - .../Restore/Anime4K_Restore_CNN_Soft_UL.glsl | 1704 ---- .../Restore/Anime4K_Restore_CNN_Soft_VL.glsl | 873 -- .../glsl/Restore/Anime4K_Restore_CNN_UL.glsl | 1704 ---- .../glsl/Restore/Anime4K_Restore_CNN_VL.glsl | 873 -- .../glsl/Restore/Anime4K_Restore_GAN_UL.glsl | 1317 --- .../glsl/Restore/Anime4K_Restore_GAN_UUL.glsl | 1317 --- .../Anime4K_Upscale_Denoise_CNN_x2_L.glsl | 461 -- .../Anime4K_Upscale_Denoise_CNN_x2_M.glsl | 300 - .../Anime4K_Upscale_Denoise_CNN_x2_S.glsl | 158 - .../Anime4K_Upscale_Denoise_CNN_x2_UL.glsl | 1702 ---- .../Anime4K_Upscale_Denoise_CNN_x2_VL.glsl | 969 --- .../Anime4K_3DGraphics_AA_Upscale_x2_US.glsl | 112 - .../Anime4K_3DGraphics_Upscale_x2_US.glsl | 112 - .../Upscale/Anime4K_AutoDownscalePre_x2.glsl | 36 - .../Upscale/Anime4K_AutoDownscalePre_x4.glsl | 36 - .../Upscale/Anime4K_Upscale_CNN_x2_L.glsl | 461 -- .../Upscale/Anime4K_Upscale_CNN_x2_M.glsl | 300 - .../Upscale/Anime4K_Upscale_CNN_x2_S.glsl | 158 - .../Upscale/Anime4K_Upscale_CNN_x2_UL.glsl | 1702 ---- .../Upscale/Anime4K_Upscale_CNN_x2_VL.glsl | 969 --- .../glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl | 612 -- .../Anime4K_Upscale_Deblur_DoG_x2.glsl | 157 - .../Anime4K_Upscale_Deblur_Original_x2.glsl | 277 - .../glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl | 142 - .../Upscale/Anime4K_Upscale_GAN_x2_M.glsl | 1079 --- .../Upscale/Anime4K_Upscale_GAN_x2_S.glsl | 612 -- .../Upscale/Anime4K_Upscale_GAN_x3_L.glsl | 1646 ---- .../Upscale/Anime4K_Upscale_GAN_x3_VL.glsl | 2913 ------- .../Upscale/Anime4K_Upscale_GAN_x4_UL.glsl | 4815 ----------- .../Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl | 7277 ----------------- .../Upscale/Anime4K_Upscale_Original_x2.glsl | 277 - shaders/Anime4K/md/GLSL_Instructions.md | 14 - .../Anime4K/md/GLSL_Instructions_Advanced.md | 102 - shaders/Anime4K/md/GLSL_Instructions_Linux.md | 70 - .../md/GLSL_Instructions_Linux_Plex.md | 52 - shaders/Anime4K/md/GLSL_Instructions_Mac.md | 54 - .../Anime4K/md/GLSL_Instructions_Mac_IINA.md | 34 - .../Anime4K/md/GLSL_Instructions_Mac_MPV.md | 71 - .../Anime4K/md/GLSL_Instructions_Mac_Plex.md | 63 - shaders/Anime4K/md/GLSL_Instructions_Plex.md | 20 - .../md/GLSL_Instructions_Windows_MPV.md | 56 - .../md/GLSL_Instructions_Windows_Plex.md | 58 - shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl | 1092 --- shaders/igv/FSRCNNX_x2_16-0-4-1.glsl | 1133 --- shaders/igv/FSRCNNX_x2_8-0-4-1.glsl | 411 - shaders/igv/KrigBilateral.glsl | 213 - shaders/igv/SSimDownscaler.glsl | 214 - shaders/igv/SSimSuperRes.glsl | 203 - shaders/igv/adaptive-sharpen.glsl | 230 - shaders/igv/adaptive-sharpen_luma.glsl | 436 - shaders/other/JointBilateral.glsl | 235 - shaders/other/PixelClipper.glsl | 186 - shaders/other/color-alt_luma.glsl | 11 - shaders/other/colorlevel_expand.glsl | 13 - shaders/other/colorlevel_expand_chroma.glsl | 13 - shaders/other/colorlevel_expand_luma.glsl | 13 - shaders/other/colorlevel_shrink.glsl | 13 - shaders/other/colorlevel_shrink_chroma.glsl | 13 - shaders/other/colorlevel_shrink_luma.glsl | 13 - shaders/other/colorlevels.glsl | 12 - shaders/other/minblur-usm.glsl | 72 - shaders/other/nlmeans_luma.glsl | 1035 --- shaders/other/noise_static_chroma.glsl | 23 - shaders/other/noise_static_luma.glsl | 22 - shaders/other/sdr_normalize.glsl | 220 - shaders/other/unsharp-masking_blur.glsl | 24 - shaders/other/unsharp-masking_sharpen.glsl | 24 - shaders/other/unsharp.glsl | 45 - 241 files changed, 95907 deletions(-) delete mode 100644 script-modules/file-browser-addons/addons/favourites.lua delete mode 100644 script-modules/file-browser-addons/addons/url-decode.lua delete mode 100644 script-modules/file-browser-addons/favourites.lua delete mode 100644 script-modules/file-browser-addons/filter-paths.lua delete mode 100644 script-modules/file-browser-addons/iso-loader.lua delete mode 100644 script-modules/file-browser-addons/modules/addons/find.lua delete mode 100644 script-modules/file-browser-addons/modules/addons/home-label.lua delete mode 100644 script-modules/file-browser-addons/modules/addons/windir.lua delete mode 100644 script-modules/file-browser-addons/modules/addons/winroot.lua delete mode 100644 script-modules/file-browser-addons/sort.lua delete mode 100644 script-modules/file-browser-addons/url-decode.lua delete mode 100644 script-modules/file-browser-addons/winsort.lua delete mode 100644 scripts/auto-save-state.lua delete mode 100644 scripts/autoload.lua delete mode 100644 scripts/autosubsync/LICENSE delete mode 100644 scripts/autosubsync/README.md delete mode 100644 scripts/autosubsync/autosubsync.lua delete mode 100644 scripts/autosubsync/main.lua delete mode 100644 scripts/autosubsync/menu.lua delete mode 100644 scripts/autosubsync/subtitle.lua delete mode 100644 scripts/blacklist-extensions.lua delete mode 100644 scripts/chapter-make-read.lua delete mode 100644 scripts/chapterskip.lua delete mode 100644 scripts/command_palette.lua delete mode 100644 scripts/cycle-commands.lua delete mode 100644 scripts/delete-current-file.lua delete mode 100644 scripts/delete_current_file.lua delete mode 100644 scripts/evafast.lua delete mode 100644 scripts/file-browser/LICENSE delete mode 100644 scripts/file-browser/README.md delete mode 100644 scripts/file-browser/addons/README.md delete mode 100644 scripts/file-browser/docs/addons.md delete mode 100644 scripts/file-browser/docs/custom-keybinds.md delete mode 100644 scripts/file-browser/docs/file-browser-keybinds.json delete mode 100644 scripts/file-browser/docs/file_browser.conf delete mode 100644 scripts/file-browser/main.lua delete mode 100644 scripts/file-browser/modules/addons.lua delete mode 100644 scripts/file-browser/modules/addons/cache.lua delete mode 100644 scripts/file-browser/modules/addons/file.lua delete mode 100644 scripts/file-browser/modules/addons/find.lua delete mode 100644 scripts/file-browser/modules/addons/home-label.lua delete mode 100644 scripts/file-browser/modules/addons/last-opened-directory.lua delete mode 100644 scripts/file-browser/modules/addons/ls.lua delete mode 100644 scripts/file-browser/modules/addons/root.lua delete mode 100644 scripts/file-browser/modules/addons/windir.lua delete mode 100644 scripts/file-browser/modules/addons/winroot.lua delete mode 100644 scripts/file-browser/modules/apis/fb.lua delete mode 100644 scripts/file-browser/modules/apis/parse-state.lua delete mode 100644 scripts/file-browser/modules/apis/parser.lua delete mode 100644 scripts/file-browser/modules/ass.lua delete mode 100644 scripts/file-browser/modules/controls.lua delete mode 100644 scripts/file-browser/modules/defs/file-browser.lua delete mode 100644 scripts/file-browser/modules/defs/keybind.lua delete mode 100644 scripts/file-browser/modules/defs/list.lua delete mode 100644 scripts/file-browser/modules/defs/mp/defaults.lua delete mode 100644 scripts/file-browser/modules/defs/mp/input.lua delete mode 100644 scripts/file-browser/modules/defs/mp/msg.lua delete mode 100644 scripts/file-browser/modules/defs/mp/options.lua delete mode 100644 scripts/file-browser/modules/defs/mp/utils.lua delete mode 100644 scripts/file-browser/modules/defs/parser.lua delete mode 100644 scripts/file-browser/modules/defs/state.lua delete mode 100644 scripts/file-browser/modules/defs/user-input.lua delete mode 100644 scripts/file-browser/modules/globals.lua delete mode 100644 scripts/file-browser/modules/keybinds.lua delete mode 100644 scripts/file-browser/modules/navigation/cursor.lua delete mode 100644 scripts/file-browser/modules/navigation/directory-movement.lua delete mode 100644 scripts/file-browser/modules/navigation/scanning.lua delete mode 100644 scripts/file-browser/modules/observers.lua delete mode 100644 scripts/file-browser/modules/options.lua delete mode 100644 scripts/file-browser/modules/playlist.lua delete mode 100644 scripts/file-browser/modules/script-messages.lua delete mode 100644 scripts/file-browser/modules/setup.lua delete mode 100644 scripts/file-browser/modules/utils.lua delete mode 100644 scripts/file-browser/screenshots/bunny.png delete mode 100644 scripts/file-browser/screenshots/front.png delete mode 100644 scripts/fix-avsync.lua delete mode 100644 scripts/hdr-mode.lua delete mode 100644 scripts/history-bookmark.lua delete mode 100644 scripts/inputevent.lua delete mode 100644 scripts/manager.lua delete mode 100644 scripts/mpv-animated.lua delete mode 100644 scripts/open_dialog.lua delete mode 100644 scripts/persist_properties.lua delete mode 100644 scripts/playlistmanager.lua delete mode 100644 scripts/quality-menu.lua delete mode 100644 scripts/simplehistory.lua delete mode 100644 scripts/slicing_copy.lua delete mode 100644 scripts/sponsorblock_minimal.lua delete mode 100644 scripts/sub-assrt.lua delete mode 100644 scripts/sub-fonts-dir-auto.lua delete mode 100644 scripts/sub-select.lua delete mode 100644 scripts/sub_export.lua delete mode 100644 scripts/thumbfast.lua delete mode 100644 scripts/trackselect.lua delete mode 100644 scripts/undoredo.lua delete mode 100644 scripts/uosc/LICENSE.LGPL delete mode 100644 scripts/uosc/README.md delete mode 100644 scripts/uosc/char-conv/zh.json delete mode 100644 scripts/uosc/elements/BufferingIndicator.lua delete mode 100644 scripts/uosc/elements/Button.lua delete mode 100644 scripts/uosc/elements/Controls.lua delete mode 100644 scripts/uosc/elements/Curtain.lua delete mode 100644 scripts/uosc/elements/CycleButton.lua delete mode 100644 scripts/uosc/elements/Element.lua delete mode 100644 scripts/uosc/elements/Elements.lua delete mode 100644 scripts/uosc/elements/ManagedButton.lua delete mode 100644 scripts/uosc/elements/Menu.lua delete mode 100644 scripts/uosc/elements/PauseIndicator.lua delete mode 100644 scripts/uosc/elements/Speed.lua delete mode 100644 scripts/uosc/elements/Timeline.lua delete mode 100644 scripts/uosc/elements/TopBar.lua delete mode 100644 scripts/uosc/elements/Volume.lua delete mode 100644 scripts/uosc/elements/WindowBorder.lua delete mode 100644 scripts/uosc/intl/de.json delete mode 100644 scripts/uosc/intl/es.json delete mode 100644 scripts/uosc/intl/fr.json delete mode 100644 scripts/uosc/intl/pl.json delete mode 100644 scripts/uosc/intl/ro.json delete mode 100644 scripts/uosc/intl/ru.json delete mode 100644 scripts/uosc/intl/tr.json delete mode 100644 scripts/uosc/intl/uk.json delete mode 100644 scripts/uosc/intl/zh-hans.json delete mode 100644 scripts/uosc/lib/ass.lua delete mode 100644 scripts/uosc/lib/buttons.lua delete mode 100644 scripts/uosc/lib/char_conv.lua delete mode 100644 scripts/uosc/lib/cursor.lua delete mode 100644 scripts/uosc/lib/fzy.lua delete mode 100644 scripts/uosc/lib/intl.lua delete mode 100644 scripts/uosc/lib/menus.lua delete mode 100644 scripts/uosc/lib/std.lua delete mode 100644 scripts/uosc/lib/text.lua delete mode 100644 scripts/uosc/lib/utils.lua delete mode 100644 scripts/uosc/main.lua delete mode 100644 scripts/uosc_danmaku/LICENSE delete mode 100644 scripts/uosc_danmaku/README.md delete mode 100644 scripts/uosc_danmaku/apis/dandanplay.lua delete mode 100644 scripts/uosc_danmaku/apis/extra.lua delete mode 100644 scripts/uosc_danmaku/dicts/s2t_chars.lua delete mode 100644 scripts/uosc_danmaku/dicts/t2s_chars.lua delete mode 100644 scripts/uosc_danmaku/main.lua delete mode 100644 scripts/uosc_danmaku/modules/aes.lua delete mode 100644 scripts/uosc_danmaku/modules/base64.lua delete mode 100644 scripts/uosc_danmaku/modules/guess.lua delete mode 100644 scripts/uosc_danmaku/modules/hash.lua delete mode 100644 scripts/uosc_danmaku/modules/md5.lua delete mode 100644 scripts/uosc_danmaku/modules/menu.lua delete mode 100644 scripts/uosc_danmaku/modules/options.lua delete mode 100644 scripts/uosc_danmaku/modules/parse.lua delete mode 100644 scripts/uosc_danmaku/modules/render.lua delete mode 100644 scripts/uosc_danmaku/modules/update.lua delete mode 100644 scripts/uosc_danmaku/modules/utils.lua delete mode 100644 shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 shaders/Anime4K/CODE_OF_CONDUCT.md delete mode 100644 shaders/Anime4K/README.md delete mode 100644 shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl delete mode 100644 shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl delete mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl delete mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Median.glsl delete mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mode.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_Fast.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_HQ.glsl delete mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_VeryFast.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl delete mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl delete mode 100644 shaders/Anime4K/md/GLSL_Instructions.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Advanced.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Linux.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Plex.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md delete mode 100644 shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md delete mode 100644 shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl delete mode 100644 shaders/igv/FSRCNNX_x2_16-0-4-1.glsl delete mode 100644 shaders/igv/FSRCNNX_x2_8-0-4-1.glsl delete mode 100644 shaders/igv/KrigBilateral.glsl delete mode 100644 shaders/igv/SSimDownscaler.glsl delete mode 100644 shaders/igv/SSimSuperRes.glsl delete mode 100644 shaders/igv/adaptive-sharpen.glsl delete mode 100644 shaders/igv/adaptive-sharpen_luma.glsl delete mode 100644 shaders/other/JointBilateral.glsl delete mode 100644 shaders/other/PixelClipper.glsl delete mode 100644 shaders/other/color-alt_luma.glsl delete mode 100644 shaders/other/colorlevel_expand.glsl delete mode 100644 shaders/other/colorlevel_expand_chroma.glsl delete mode 100644 shaders/other/colorlevel_expand_luma.glsl delete mode 100644 shaders/other/colorlevel_shrink.glsl delete mode 100644 shaders/other/colorlevel_shrink_chroma.glsl delete mode 100644 shaders/other/colorlevel_shrink_luma.glsl delete mode 100644 shaders/other/colorlevels.glsl delete mode 100644 shaders/other/minblur-usm.glsl delete mode 100644 shaders/other/nlmeans_luma.glsl delete mode 100644 shaders/other/noise_static_chroma.glsl delete mode 100644 shaders/other/noise_static_luma.glsl delete mode 100644 shaders/other/sdr_normalize.glsl delete mode 100644 shaders/other/unsharp-masking_blur.glsl delete mode 100644 shaders/other/unsharp-masking_sharpen.glsl delete mode 100644 shaders/other/unsharp.glsl diff --git a/script-modules/file-browser-addons/addons/favourites.lua b/script-modules/file-browser-addons/addons/favourites.lua deleted file mode 100644 index be6eded..0000000 --- a/script-modules/file-browser-addons/addons/favourites.lua +++ /dev/null @@ -1,206 +0,0 @@ ---[[ - An addon for mpv-file-browser which adds a Favourites path that can be loaded from the ROOT -]]-- - -local mp = require "mp" -local msg = require "mp.msg" - -local fb = require 'file-browser' -local save_path = mp.command_native({"expand-path", "~~/script-opts/file_browser_favourites.txt"}) --[[@as string]] -do - local file = io.open(save_path, "a+") - if not file then - msg.error("cannot access file", ("%q"):format(save_path), "make sure that the directory exists") - return {} - end - file:close() -end - ----@type Item[] -local favourites = {} -local favourites_loaded = false - ----@type ParserConfig -local favs = { - api_version = "1.8.0", - priority = 30, - cursor = 1 -} - -local use_virtual_directory = true - ----@type table -local full_paths = {} - ----@param str string ----@return Item -local function create_favourite_object(str) - local item = { - type = str:sub(-1) == "/" and "dir" or "file", - path = str, - redirect = not use_virtual_directory, - name = str:match("([^/]+/?)$") - } - full_paths[str:match("([^/]+)/?$")] = str - return item -end - ----@param self Parser -function favs:setup() - self:register_root_item('Favourites/') -end - -local function update_favourites() - local file = io.open(save_path, "r") - if not file then return end - - favourites = {} - for str in file:lines() do - table.insert(favourites, create_favourite_object(str)) - end - file:close() - favourites_loaded = true -end - -function favs:can_parse(directory) - return directory:find("Favourites/") == 1 -end - ----@async ----@param self Parser ----@param directory string ----@return List? ----@return Opts? -function favs:parse(directory) - if not favourites_loaded then update_favourites() end - if directory == "Favourites/" then - local opts = { - filtered = true, - sorted = true - } - return favourites, opts - end - - if use_virtual_directory then - -- converts the relative favourite path into a full path - local name = directory:match("Favourites/([^/]+)/?") - - local _, finish = directory:find("Favourites/([^/]+/?)") - local full_path = (full_paths[name] or "")..directory:sub(finish+1) - local list, opts = self:defer(full_path or "") - - if not list then return nil end - opts = opts or {} - opts.id = self:get_id() - if opts.directory_label then - opts.directory_label = opts.directory_label:gsub(full_paths[name], "Favourites/"..name..'/') - if opts.directory_label:find("Favourites/") ~= 1 then opts.directory_label = nil end - end - - for _, item in ipairs(list) do - if not item.path then item.redirect = false end - item.path = item.path or full_path..item.name - end - - return list, opts - end - - local path = full_paths[ directory:match("([^/]+/?)$") or "" ] - - local list, opts = self:defer(path) - if not list then return nil end - opts = opts or {} - opts.directory = opts.directory or path - return list, opts -end - ----@param path string ----@return integer? ----@return Item? -local function get_favourite(path) - for index, value in ipairs(favourites) do - if value.path == path then return index, value end - end -end - ---update the browser with new contents of the file ----@async -local function update_browser() - if favs.get_directory():find("^[fF]avourites/$") then - local cursor = favs.get_selected_index() - fb.rescan_await() - fb.set_selected_index(cursor) - else - fb.clear_cache({'favourites/', 'Favourites/'}) - end -end - ---write the contents of favourites to the file -local function write_to_file() - local file = io.open(save_path, "w+") - if not file then return msg.error(file, "could not open favourites file") end - for _, item in ipairs(favourites) do - file:write(string.format("%s\n", item.path)) - end - file:close() -end - -local function add_favourite(path) - if get_favourite(path) then return end - update_favourites() - table.insert(favourites, create_favourite_object(path)) - write_to_file() -end - -local function remove_favourite(path) - update_favourites() - local index = get_favourite(path) - if not index then return end - table.remove(favourites, index) - write_to_file() -end - -local function move_favourite(path, direction) - update_favourites() - local index, item = get_favourite(path) - if not index or not favourites[index + direction] then return end - - favourites[index] = favourites[index + direction] - favourites[index + direction] = item - write_to_file() -end - ----@async -local function toggle_favourite(cmd, state, co) - local path = fb.get_full_path(state.list[state.selected], state.directory) - - if state.directory:find("[fF]avourites/$") then remove_favourite(path) - else add_favourite(path) end - update_browser() -end - ----@async -local function move_key(cmd, state, co) - if not state.directory:find("[fF]avourites/") then return false end - local path = fb.get_full_path(state.list[state.selected], state.directory) - - local cursor = fb.get_selected_index() - if cmd.name == favs:get_id().."/move_up" then - move_favourite(path, -1) - fb.set_selected_index(cursor-1) - else - move_favourite(path, 1) - fb.set_selected_index(cursor+1) - end - update_browser() -end - -update_favourites() - -favs.keybinds = { - { "F", "toggle_favourite", toggle_favourite, {}, }, - { "Ctrl+UP", "move_up", move_key, {repeatable = true} }, - { "Ctrl+DOWN", "move_down", move_key, {repeatable = true} }, -} - -return favs \ No newline at end of file diff --git a/script-modules/file-browser-addons/addons/url-decode.lua b/script-modules/file-browser-addons/addons/url-decode.lua deleted file mode 100644 index 4a0d98b..0000000 --- a/script-modules/file-browser-addons/addons/url-decode.lua +++ /dev/null @@ -1,39 +0,0 @@ ---[[ - An addon for file-browser which decodes URLs so that they are more readable -]] - ----@type ParserConfig -local urldecode = { - priority = 5, - api_version = "1.0.0" -} - ---decodes a URL address ---this piece of code was taken from: https://stackoverflow.com/questions/20405985/lua-decodeuri-luvit/20406960#20406960 ----@type fun(s: string): string -local decodeURI -do - local char, gsub, tonumber = string.char, string.gsub, tonumber - local function _(hex) return char(tonumber(hex, 16)) end - - function decodeURI(s) - s = gsub(s, '%%(%x%x)', _) - return s - end -end - -function urldecode:can_parse(directory) - return self.get_protocol(directory) ~= nil -end - ----@async -function urldecode:parse(directory) - local list, opts = self:defer(directory) - opts = opts or {} - if opts.directory and not self.get_protocol(opts.directory) then return list, opts end - - opts.directory_label = decodeURI(opts.directory_label or (opts.directory or directory)) - return list, opts -end - -return urldecode \ No newline at end of file diff --git a/script-modules/file-browser-addons/favourites.lua b/script-modules/file-browser-addons/favourites.lua deleted file mode 100644 index 60f1f5c..0000000 --- a/script-modules/file-browser-addons/favourites.lua +++ /dev/null @@ -1,206 +0,0 @@ ---[[ - An addon for mpv-file-browser which adds a Favourites path that can be loaded from the ROOT -]]-- - -local mp = require "mp" -local msg = require "mp.msg" - -local fb = require 'file-browser' -local save_path = mp.command_native({"expand-path", "~~/script-opts/file_browser_favourites.txt"}) --[[@as string]] -do - local file = io.open(save_path, "a+") - if not file then - msg.error("cannot access file", ("%q"):format(save_path), "make sure that the directory exists") - return {} - end - file:close() -end - ----@type Item[] -local favourites = {} -local favourites_loaded = false - ----@type ParserConfig -local favs = { - api_version = "1.8.0", - priority = 30, - cursor = 1 -} - -local use_virtual_directory = true - ----@type table -local full_paths = {} - ----@param str string ----@return Item -local function create_favourite_object(str) - local item = { - type = str:sub(-1) == "/" and "dir" or "file", - path = str, - redirect = not use_virtual_directory, - name = str:match("([^/]+/?)$") - } - full_paths[str:match("([^/]+)/?$")] = str - return item -end - ----@param self Parser -function favs:setup() - self:register_root_item('Favourites/') -end - -local function update_favourites() - local file = io.open(save_path, "r") - if not file then return end - - favourites = {} - for str in file:lines() do - table.insert(favourites, create_favourite_object(str)) - end - file:close() - favourites_loaded = true -end - -function favs:can_parse(directory) - return directory:find("Favourites/") == 1 -end - ----@async ----@param self Parser ----@param directory string ----@return List? ----@return Opts? -function favs:parse(directory) - if not favourites_loaded then update_favourites() end - if directory == "Favourites/" then - local opts = { - filtered = true, - sorted = true - } - return favourites, opts - end - - if use_virtual_directory then - -- converts the relative favourite path into a full path - local name = directory:match("Favourites/([^/]+)/?") - - local _, finish = directory:find("Favourites/([^/]+/?)") - local full_path = (full_paths[name] or "")..directory:sub(finish+1) - local list, opts = self:defer(full_path or "") - - if not list then return nil end - opts = opts or {} - opts.id = self:get_id() - if opts.directory_label then - opts.directory_label = opts.directory_label:gsub(full_paths[name], "Favourites/"..name..'/') - if opts.directory_label:find("Favourites/") ~= 1 then opts.directory_label = nil end - end - - for _, item in ipairs(list) do - if not item.path then item.redirect = false end - item.path = item.path or full_path..item.name - end - - return list, opts - end - - local path = full_paths[ directory:match("([^/]+/?)$") or "" ] - - local list, opts = self:defer(path) - if not list then return nil end - opts = opts or {} - opts.directory = opts.directory or path - return list, opts -end - ----@param path string ----@return integer? ----@return Item? -local function get_favourite(path) - for index, value in ipairs(favourites) do - if value.path == path then return index, value end - end -end - ---update the browser with new contents of the file ----@async -local function update_browser() - if favs.get_directory():find("^[fF]avourites/$") then - local cursor = favs.get_selected_index() - fb.rescan_await() - fb.set_selected_index(cursor) - else - fb.clear_cache({'favourites/', 'Favourites/'}) - end -end - ---write the contents of favourites to the file -local function write_to_file() - local file = io.open(save_path, "w+") - if not file then return msg.error(file, "could not open favourites file") end - for _, item in ipairs(favourites) do - file:write(string.format("%s\n", item.path)) - end - file:close() -end - -local function add_favourite(path) - if get_favourite(path) then return end - update_favourites() - table.insert(favourites, create_favourite_object(path)) - write_to_file() -end - -local function remove_favourite(path) - update_favourites() - local index = get_favourite(path) - if not index then return end - table.remove(favourites, index) - write_to_file() -end - -local function move_favourite(path, direction) - update_favourites() - local index, item = get_favourite(path) - if not index or not favourites[index + direction] then return end - - favourites[index] = favourites[index + direction] - favourites[index + direction] = item - write_to_file() -end - ----@async -local function toggle_favourite(cmd, state, co) - local path = fb.get_full_path(state.list[state.selected], state.directory) - - if state.directory:find("[fF]avourites/$") then remove_favourite(path) - else add_favourite(path) end - update_browser() -end - ----@async -local function move_key(cmd, state, co) - if not state.directory:find("[fF]avourites/") then return false end - local path = fb.get_full_path(state.list[state.selected], state.directory) - - local cursor = fb.get_selected_index() - if cmd.name == favs:get_id().."/move_up" then - move_favourite(path, -1) - fb.set_selected_index(cursor-1) - else - move_favourite(path, 1) - fb.set_selected_index(cursor+1) - end - update_browser() -end - -update_favourites() - -favs.keybinds = { - { "F", "toggle_favourite", toggle_favourite, {}, }, - { "Ctrl+UP", "move_up", move_key, {repeatable = true} }, - { "Ctrl+DOWN", "move_down", move_key, {repeatable = true} }, -} - -return favs diff --git a/script-modules/file-browser-addons/filter-paths.lua b/script-modules/file-browser-addons/filter-paths.lua deleted file mode 100644 index 2f3d763..0000000 --- a/script-modules/file-browser-addons/filter-paths.lua +++ /dev/null @@ -1,45 +0,0 @@ -local fb = require "file-browser" -local opt = require "mp.options" - -local o = { - --list of absolute paths separated by the root separators - paths = "" -} - ---config file stored in ~~/script-opts/file-browser/filter.conf -opt.read_options(o, "file-browser/filter") - -local parser = { - priority = 10, - api_version = "1.3.0" -} - -local paths = {} -for str in fb.iterate_opt(o.paths) do - paths[str] = true -end - -local function filter(path) - return paths[path] -end - -function parser:can_parse() - return true -end - -function parser:parse(directory) - local list, opts = self:defer(directory) - if not list then return list, opts end - - directory = opts.directory or directory - - for i=#list, 1, -1 do - if filter( fb.get_full_path(list[i], directory) ) then - table.remove(list, i) - end - end - - return list, opts -end - -return parser \ No newline at end of file diff --git a/script-modules/file-browser-addons/iso-loader.lua b/script-modules/file-browser-addons/iso-loader.lua deleted file mode 100644 index 8901790..0000000 --- a/script-modules/file-browser-addons/iso-loader.lua +++ /dev/null @@ -1,41 +0,0 @@ -local mp = require 'mp' -local msg = require 'mp.msg' -local fb = require 'file-browser' - -local isos = { - name = 'iso-loader', - priority = 20, - api_version = '1.5' -} - -function isos:setup() - fb.add_default_extension('iso') -end - -function isos:can_parse() - return true -end - -function isos:parse(directory, parse_state) - local list, opts = self:defer(directory, parse_state) - if not list or #list == 0 then return list, opts end - - for _, item in ipairs(list) do - local path = fb.get_full_path(item, opts.directory or directory) - if fb.get_extension(path) == 'iso' then - item.mpv_options = { ['bluray-device'] = path, ['dvd-device'] = path } - item.path = 'bd://' - end - end - - return list, opts -end - -mp.add_hook('on_load_fail', 50, function() - if mp.get_property('stream-open-filename') == 'bd://' then - msg.info('failed to load bluray-device, attempting dvd-device') - mp.set_property('stream-open-filename', 'dvd://') - end -end) - -return isos \ No newline at end of file diff --git a/script-modules/file-browser-addons/modules/addons/find.lua b/script-modules/file-browser-addons/modules/addons/find.lua deleted file mode 100644 index 8f7fbd3..0000000 --- a/script-modules/file-browser-addons/modules/addons/find.lua +++ /dev/null @@ -1,124 +0,0 @@ ---[[ - This file is an internal file-browser addon. - It should not be imported like a normal module. - - Allows searching the current directory. -]]-- - -local msg = require "mp.msg" -local fb = require "file-browser" -local input_loaded, input = pcall(require, "mp.input") -local user_input_loaded, user_input = pcall(require, "user-input-module") - ----@type ParserConfig -local find = { - api_version = "1.3.0" -} - ----@type thread|nil -local latest_coroutine = nil - ----@type State -local global_fb_state = getmetatable(fb.get_state()).__original - ----@param name string ----@param query string ----@return boolean -local function compare(name, query) - if name:find(query) then return true end - if name:lower():find(query) then return true end - if name:upper():find(query) then return true end - - return false -end - ----@async ----@param key Keybind ----@param state State ----@param co thread ----@return boolean? -local function main(key, state, co) - if not state.list then return false end - - ---@type string - local text - if key.name == "find/find" then text = "Find: enter search string" - else text = "Find: enter advanced search string" end - - if input_loaded then - input.get({ - prompt = text .. "\n>", - id = "file-browser/find", - submit = fb.coroutine.callback(), - }) - elseif user_input_loaded then - user_input.get_user_input( fb.coroutine.callback(), { text = text, id = "find", replace = true } ) - end - - local query, error = coroutine.yield() - if input_loaded then input.terminate() end - if not query then return msg.debug(error) end - - -- allow the directory to be changed before this point - local list = fb.get_list() - local parse_id = global_fb_state.co - - if key.name == "find/find" then - query = fb.pattern_escape(query) - end - - local results = {} - - for index, item in ipairs(list) do - if compare(item.label or item.name, query) then - table.insert(results, index) - end - end - - if (#results < 1) then - msg.warn("No matching items for '"..query.."'") - return - end - - --keep cycling through the search results if any are found - --putting this into a separate coroutine removes any passthrough ambiguity - --the final return statement should return to `step_find` not any other function - ---@async - fb.coroutine.run(function() - latest_coroutine = coroutine.running() - ---@type number - local rindex = 1 - while (true) do - - if rindex == 0 then rindex = #results - elseif rindex == #results + 1 then rindex = 1 end - - fb.set_selected_index(results[rindex]) - local direction = coroutine.yield(true) --[[@as number]] - rindex = rindex + direction - - if parse_id ~= global_fb_state.co then - latest_coroutine = nil - return - end - end - end) -end - -local function step_find(key) - if not latest_coroutine then return false end - ---@type number - local direction = 0 - if key.name == "find/next" then direction = 1 - elseif key.name == "find/prev" then direction = -1 end - return fb.coroutine.resume_err(latest_coroutine, direction) -end - -find.keybinds = { - {"Ctrl+f", "find", main, {}}, - {"Ctrl+F", "find_advanced", main, {}}, - {"n", "next", step_find, {}}, - {"N", "prev", step_find, {}}, -} - -return find \ No newline at end of file diff --git a/script-modules/file-browser-addons/modules/addons/home-label.lua b/script-modules/file-browser-addons/modules/addons/home-label.lua deleted file mode 100644 index 5e6cf8e..0000000 --- a/script-modules/file-browser-addons/modules/addons/home-label.lua +++ /dev/null @@ -1,31 +0,0 @@ ---[[ - An addon for mpv-file-browser which displays ~/ for the home directory instead of the full path -]]-- - -local mp = require "mp" -local fb = require "file-browser" - -local home = fb.fix_path(mp.command_native({"expand-path", "~/"}) --[[@as string]], true) - ----@type ParserConfig -local home_label = { - priority = 100, - api_version = "1.0.0" -} - -function home_label:can_parse(directory) - if not fb.get_opt('home_label') then return false end - return directory:sub(1, home:len()) == home -end - ----@async -function home_label:parse(directory) - local list, opts = self:defer(directory) - if not opts then opts = {} end - if (not opts.directory or opts.directory == directory) and not opts.directory_label then - opts.directory_label = "~/"..(directory:sub(home:len()+1) or "") - end - return list, opts -end - -return home_label \ No newline at end of file diff --git a/script-modules/file-browser-addons/modules/addons/windir.lua b/script-modules/file-browser-addons/modules/addons/windir.lua deleted file mode 100644 index 97eb875..0000000 --- a/script-modules/file-browser-addons/modules/addons/windir.lua +++ /dev/null @@ -1,218 +0,0 @@ ---[[ - An addon for mpv-file-browser which uses the Windows dir command to parse native directories - This behaves near identically to the native parser, but IO is done asynchronously. - - Available at: https://github.com/CogentRedTester/mpv-file-browser/tree/master/addons -]]-- - -local mp = require "mp" -local msg = require "mp.msg" -local fb = require "file-browser" - -local PLATFORM = fb.get_platform() - ----@param bytes string ----@return fun(): number, number -local function byte_iterator(bytes) - ---@async - ---@return number? - local function iter() - for i = 1, #bytes do - coroutine.yield(bytes:byte(i), i) - end - error('malformed utf16le string - expected byte but found end of string') - end - - return coroutine.wrap(iter) -end - ----@param bits number ----@param by number ----@return number -local function lshift(bits, by) - return bits * 2^by -end - ----@param bits number ----@param by number ----@return integer -local function rshift(bits, by) - return math.floor(bits / 2^by) -end - ----@param bits number ----@param i number ----@return number -local function bits_below(bits, i) - return bits % 2^i -end - ----@param bits number ----@param i number exclusive ----@param j number inclusive ----@return integer -local function bits_between(bits, i, j) - return rshift(bits_below(bits, j), i) -end - ----@param bytes string ----@return number[] -local function utf16le_to_unicode(bytes) - msg.trace('converting from utf16-le to unicode codepoints') - - ---@type number[] - local codepoints = {} - - local get_byte = byte_iterator(bytes) - - while true do - -- start of a char - local success, little, i = pcall(get_byte) - if not success then break end - - local big = get_byte() - local codepoint = little + lshift(big, 8) - - if codepoint < 0xd800 or codepoint > 0xdfff then - table.insert(codepoints, codepoint) - else - -- handling surrogate pairs - -- grab the next two bytes to grab the low surrogate - local high_pair = codepoint - local low_pair = get_byte() + lshift(get_byte(), 8) - - if high_pair >= 0xdc00 then - error(('malformed utf16le string at byte #%d (0x%04X) - high surrogate pair should be < 0xDC00'):format(i, high_pair)) - elseif low_pair < 0xdc00 then - error(('malformed utf16le string at byte #%d (0x%04X) - low surrogate pair should be >= 0xDC00'):format(i+2, low_pair)) - end - - -- The last 10 bits of each surrogate are the two halves of the codepoint - -- https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF - local high_bits = bits_below(high_pair, 10) - local low_bits = bits_below(low_pair, 10) - local surrogate_par = (low_bits + lshift(high_bits, 10)) + 0x10000 - - table.insert(codepoints, surrogate_par) - end - end - - return codepoints -end - ----@param codepoints number[] ----@return string -local function unicode_to_utf8(codepoints) - ---@type number[] - local bytes = {} - - -- https://en.wikipedia.org/wiki/UTF-8#Description - for i, codepoint in ipairs(codepoints) do - if codepoint >= 0xd800 and codepoint <= 0xdfff then - error(('codepoint %d (U+%05X) is within the reserved surrogate pair range (U+D800-U+DFFF)'):format(i, codepoint)) - elseif codepoint <= 0x7f then - table.insert(bytes, codepoint) - elseif codepoint <= 0x7ff then - table.insert(bytes, 0xC0 + rshift(codepoint, 6)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - elseif codepoint <= 0xffff then - table.insert(bytes, 0xE0 + rshift(codepoint, 12)) - table.insert(bytes, 0x80 + bits_between(codepoint, 6, 12)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - elseif codepoint <= 0x10ffff then - table.insert(bytes, 0xF0 + rshift(codepoint, 18)) - table.insert(bytes, 0x80 + bits_between(codepoint, 12, 18)) - table.insert(bytes, 0x80 + bits_between(codepoint, 6, 12)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - else - error(('codepoint %d (U+%05X) is larger than U+10FFFF'):format(i, codepoint)) - end - end - - return string.char(table.unpack(bytes)) -end - -local function utf8(text) - return unicode_to_utf8(utf16le_to_unicode(text)) -end - ----@type ParserConfig -local dir = { - priority = 109, - api_version = "1.9.0", - name = "cmd-dir", - keybind_name = "file" -} - ----@async ----@param args string[] ----@param parse_state ParseState ----@return string|nil -local function command(args, parse_state) - local async = mp.command_native_async({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - capture_stderr = true, - args = args, - }, fb.coroutine.callback(30) ) - - ---@type boolean, boolean, MPVSubprocessResult - local completed, _, cmd = parse_state:yield() - if not completed then - msg.warn('read timed out for:', table.unpack(args)) - mp.abort_async_command(async) - return nil - end - - local success = xpcall(function() - cmd.stdout = utf8(cmd.stdout) or '' - cmd.stderr = utf8(cmd.stderr) or '' - end, fb.traceback) - - if not success then return msg.error('failed to convert utf16-le string to utf8') end - - --dir returns this exact error message if the directory is empty - if cmd.status == 1 and cmd.stderr == "File Not Found\r\n" then cmd.status = 0 end - if cmd.status ~= 0 then return msg.error(cmd.stderr) end - - return cmd.status == 0 and cmd.stdout or nil -end - -function dir:can_parse(directory) - if not fb.get_opt('windir_parser') then return false end - return PLATFORM == 'windows' and directory ~= '' and not fb.get_protocol(directory) -end - ----@async -function dir:parse(directory, parse_state) - local list = {} - - -- the dir command expects backslashes for our paths - directory = string.gsub(directory, "/", "\\") - - local dirs = command({ "cmd", "/U", "/c", "dir", "/b", "/ad", directory }, parse_state) - if not dirs then return end - - local files = command({ "cmd", "/U", "/c", "dir", "/b", "/a-d", directory }, parse_state) - if not files then return end - - for name in dirs:gmatch("[^\n\r]+") do - name = name.."/" - if fb.valid_dir(name) then - table.insert(list, { name = name, type = "dir" }) - msg.trace(name) - end - end - - for name in files:gmatch("[^\n\r]+") do - if fb.valid_file(name) then - table.insert(list, { name = name, type = "file" }) - msg.trace(name) - end - end - - return list, { filtered = true } -end - -return dir \ No newline at end of file diff --git a/script-modules/file-browser-addons/modules/addons/winroot.lua b/script-modules/file-browser-addons/modules/addons/winroot.lua deleted file mode 100644 index 8caea18..0000000 --- a/script-modules/file-browser-addons/modules/addons/winroot.lua +++ /dev/null @@ -1,62 +0,0 @@ ---[[ - This file is an internal file-browser addon. - It should not be imported like a normal module. - - Automatically populates the root with windows drives on startup. - Ctrl+r will add new drives mounted since startup. - - Drives will only be added if they are not already present in the root. -]] - -local mp = require 'mp' -local msg = require 'mp.msg' -local fb = require 'file-browser' - -local PLATFORM = fb.get_platform() - ----returns a list of windows drives ----@return string[]? -local function get_drives() - ---@type MPVSubprocessResult?, string? - local result, err = mp.command_native({ - name = 'subprocess', - playback_only = false, - capture_stdout = true, - args = {'fsutil', 'fsinfo', 'drives'} - }) - if not result then return msg.error(err) end - if result.status ~= 0 then return msg.error('could not read windows root') end - - local root = {} - for drive in result.stdout:gmatch("(%a:)\\") do - table.insert(root, drive..'/') - end - return root -end - --- adds windows drives to the root if they are not already present -local function import_drives() - if fb.get_opt('auto_detect_windows_drives') and PLATFORM ~= 'windows' then return end - - local drives = get_drives() - if not drives then return end - - for _, drive in ipairs(drives) do - fb.register_root_item(drive) - end -end - -local keybind = { - key = 'Ctrl+r', - name = 'import_root_drives', - command = import_drives, - parser = 'root', - passthrough = true -} - ----@type ParserConfig -return { - api_version = '1.9.0', - setup = import_drives, - keybinds = { keybind } -} \ No newline at end of file diff --git a/script-modules/file-browser-addons/sort.lua b/script-modules/file-browser-addons/sort.lua deleted file mode 100644 index 243a2b3..0000000 --- a/script-modules/file-browser-addons/sort.lua +++ /dev/null @@ -1,86 +0,0 @@ -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local fb = require 'file-browser' - -local parser = { - priority = 105, - api_version = '1.2.0' -} - --- stores a table of the parsers loaded by file-browser --- we will use this to check if a parser is for a local file system -local parsers - -local sort_mode = 0 - -function parser:setup() - parsers = fb.get_parsers() -end - -function parser:parse(directory) - if sort_mode == 0 or fb.get_protocol(directory) then return end - local list, opts = self:defer(directory) - if not list then return list, opts end - - -- Only run this on parsers that are for the local filesystem. - -- We assume that custom addons for the local filesystem are setting the keybind_name field to 'file' - -- for compatability. - if parsers[opts.id] then - if parsers[opts.id].keybind_name ~= 'file' and parsers[opts.id].name ~= 'file' then - return list, opts - end - end - - directory = opts.directory or directory - local cache = {} - - -- gets the file info of an item - -- uses memoisation to speed things up - function get_file_info(item) - if cache[item] then return cache[item] end - - local path = fb.get_full_path(item, directory) - local file_info = utils.file_info(path) - if not file_info then - msg.warn('failed to read file info for', path) - return {} - end - - cache[item] = file_info - return file_info - end - - -- sorts the items based on the latest modification time - -- if mtime is undefined due to a file read failure then use 0 - table.sort(list, function(a, b) - -- `dir` will compare as less than `file` - if a.type ~= b.type then return a.type < b.type end - if sort_mode == 1 then - return (get_file_info(a).mtime or 0) < (get_file_info(b).mtime or 0) - elseif sort_mode == 2 then - return (get_file_info(a).mtime or 0) > (get_file_info(b).mtime or 0) - elseif sort_mode == 3 then - return (get_file_info(a).size or 0) < (get_file_info(b).size or 0) - elseif sort_mode == 4 then - return (get_file_info(a).size or 0) > (get_file_info(b).size or 0) - end - end) - - opts.sorted = true - return list, opts -end - --- adds the keybind to toggle sorting -parser.keybinds = { - { - key = '^', - name = 'toggle_sort', - command = function() - sort_mode = sort_mode + 1 - if sort_mode > 4 then sort_mode = 0 end - fb.rescan() - end - } -} - -return parser diff --git a/script-modules/file-browser-addons/url-decode.lua b/script-modules/file-browser-addons/url-decode.lua deleted file mode 100644 index 16e0669..0000000 --- a/script-modules/file-browser-addons/url-decode.lua +++ /dev/null @@ -1,39 +0,0 @@ ---[[ - An addon for file-browser which decodes URLs so that they are more readable -]] - ----@type ParserConfig -local urldecode = { - priority = 5, - api_version = "1.0.0" -} - ---decodes a URL address ---this piece of code was taken from: https://stackoverflow.com/questions/20405985/lua-decodeuri-luvit/20406960#20406960 ----@type fun(s: string): string -local decodeURI -do - local char, gsub, tonumber = string.char, string.gsub, tonumber - local function _(hex) return char(tonumber(hex, 16)) end - - function decodeURI(s) - s = gsub(s, '%%(%x%x)', _) - return s - end -end - -function urldecode:can_parse(directory) - return self.get_protocol(directory) ~= nil -end - ----@async -function urldecode:parse(directory) - local list, opts = self:defer(directory) - opts = opts or {} - if opts.directory and not self.get_protocol(opts.directory) then return list, opts end - - opts.directory_label = decodeURI(opts.directory_label or (opts.directory or directory)) - return list, opts -end - -return urldecode diff --git a/script-modules/file-browser-addons/winsort.lua b/script-modules/file-browser-addons/winsort.lua deleted file mode 100644 index 9a7b8cd..0000000 --- a/script-modules/file-browser-addons/winsort.lua +++ /dev/null @@ -1,51 +0,0 @@ -local fb = require "file-browser" -local fb_utils = require 'modules.utils' - -local PLATFORM = fb.get_platform() - --- Only enable Windows-specific sorting on Windows platforms -if PLATFORM == 'windows' then - -- this code is based on https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 - local ffi = require "ffi" - local winapi = { - ffi = ffi, - C = ffi.C, - CP_UTF8 = 65001, - shlwapi = ffi.load("shlwapi"), - } - - -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 - ffi.cdef[[ - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, - int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); - ]] - - winapi.utf8_to_wide = function(utf8_str) - if utf8_str then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) - - if utf16_len > 0 then - local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) - - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - - return "" - end - - fb_utils.sort = function (t) - table.sort(t, function(a, b) - local a_wide = winapi.utf8_to_wide(a.type:sub(1, 1) .. (a.label or a.name)) - local b_wide = winapi.utf8_to_wide(b.type:sub(1, 1) .. (b.label or b.name)) - return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 - end) - - return t - end -end - -return { api_version = '1.2.0' } diff --git a/scripts/auto-save-state.lua b/scripts/auto-save-state.lua deleted file mode 100644 index 2c3cd6d..0000000 --- a/scripts/auto-save-state.lua +++ /dev/null @@ -1,70 +0,0 @@ --- Runs write-watch-later-config periodically - -local options = require 'mp.options' -local msg = require 'mp.msg' - -o = { - save_interval = 60, - percent_pos = 99, -} -options.read_options(o) - -local can_delete = true -local can_save = true -local path = nil -- only set after file success load, reset to nil when file unload. - -local function reset() - path = nil -end - --- set vars when file success load -local function init() - path = mp.get_property("path") -end - -local function save() - if not can_save then return end - local watch_later_list = mp.get_property("watch-later-options", {}) - if mp.get_property_bool("save-position-on-quit") then - msg.debug("saving state") - if not watch_later_list:find("start") then - mp.commandv("change-list", "watch-later-options", "append", "start") - end - mp.command("write-watch-later-config") - end -end - -local function save_if_pause(_, pause) - if pause then save() end -end - -local function pause_timer_while_paused(_, pause) - if pause then timer:stop() else timer:resume() end -end - --- save watch-later-config when file unloading -local function save_or_delete() - if not can_delete then return end - local eof = mp.get_property_bool("eof-reached") - local percent_pos = mp.get_property_number("percent-pos") - if eof or percent_pos and (percent_pos == 0 or percent_pos >= o.percent_pos) then - can_delete = true - if path ~= nil then - msg.debug("deleting state: percent_pos=0 or eof") - mp.commandv("delete-watch-later-config", path) - end - elseif path ~= nil then - save() - end - reset() -end - -mp.register_script_message("skip-delete-state", function() can_delete = false end) - -timer = mp.add_periodic_timer(o.save_interval, save) -mp.observe_property("pause", "bool", pause_timer_while_paused) - -mp.observe_property("pause", "bool", save_if_pause) - -mp.register_event("file-loaded", init) -mp.add_hook("on_unload", 50, save_or_delete) -- after mpv saving state \ No newline at end of file diff --git a/scripts/autoload.lua b/scripts/autoload.lua deleted file mode 100644 index 89d56bd..0000000 --- a/scripts/autoload.lua +++ /dev/null @@ -1,610 +0,0 @@ --- This script automatically loads playlist entries before and after the --- the currently played file. It does so by scanning the directory a file is --- located in when starting playback. It sorts the directory entries --- alphabetically, and adds entries before and after the current file to --- the internal playlist. (It stops if it would add an already existing --- playlist entry at the same position - this makes it "stable".) --- Add at most 5000 * 2 files when starting a file (before + after). - ---[[ -To configure this script use file autoload.conf in directory script-opts (the "script-opts" -directory must be in the mpv configuration directory, typically ~/.config/mpv/). - -Option `ignore_patterns` is a comma-separated list of patterns (see lua.org/pil/20.2.html). -Additionally to the standard lua patterns, you can also escape commas with `%`, -for example, the option `bak%,x%,,another` will be resolved as patterns `bak,x,` and `another`. -But it does not mean you need to escape all lua patterns twice, -so the option `bak%%,%。mp4,` will be resolved as two patterns `bak%%` and `%.mp4`. - -Example configuration would be: - -disabled=no -images=no -videos=yes -audio=yes -additional_image_exts=list,of,ext -additional_video_exts=list,of,ext -additional_audio_exts=list,of,ext -ignore_hidden=yes -same_type=yes -same_series=yes -directory_mode=recursive -ignore_patterns=^~,^bak-,%.bak$ - ---]] - -MAXENTRIES = 5000 -MAXDIRSTACK = 20 - -local msg = require 'mp.msg' -local options = require 'mp.options' -local utils = require 'mp.utils' - -o = { - disabled = false, - images = true, - videos = true, - audio = true, - additional_image_exts = "", - additional_video_exts = "", - additional_audio_exts = "", - ignore_hidden = true, - same_type = false, - same_series = false, - directory_mode = "ignore", - ignore_patterns = "" -} -options.read_options(o, nil, function(list) - split_option_exts(list.additional_video_exts, list.additional_audio_exts, list.additional_image_exts) - if list.videos or list.additional_video_exts or - list.audio or list.additional_audio_exts or - list.images or list.additional_image_exts then - create_extensions() - end - if list.directory_mode then - validate_directory_mode() - end -end) - -function Set (t) - local set = {} - for _, v in pairs(t) do set[v] = true end - return set -end - -function SetUnion (a,b) - for k in pairs(b) do a[k] = true end - return a -end - --- Returns first and last positions in string or past-to-end indices -function FindOrPastTheEnd (string, pattern, start_at) - local pos1, pos2 = string.find(string, pattern, start_at) - return pos1 or #string + 1, - pos2 or #string + 1 -end - -function Split (list) - local set = {} - - local item_pos = 1 - local item = "" - - while item_pos <= #list do - local pos1, pos2 = FindOrPastTheEnd(list, "%%*,", item_pos) - - local pattern_length = pos2 - pos1 - local is_comma_escaped = pattern_length % 2 - - local pos_before_escape = pos1 - 1 - local item_escape_count = pattern_length - is_comma_escaped - - item = item .. string.sub(list, item_pos, pos_before_escape + item_escape_count) - - if is_comma_escaped == 1 then - item = item .. "," - else - set[item] = true - item = "" - end - - item_pos = pos2 + 1 - end - - set[item] = true - - -- exclude empty items - set[""] = nil - - return set -end - -EXTENSIONS_VIDEO_DEFAULT = Set { - '3g2', '3gp', 'avi', 'flv', 'm2ts', 'm4v', 'mj2', 'mkv', 'mov', - 'mp4', 'mpeg', 'mpg', 'ogv', 'rmvb', 'webm', 'wmv', 'y4m' -} - -EXTENSIONS_AUDIO_DEFAULT = Set { - 'aiff', 'ape', 'au', 'flac', 'm4a', 'mka', 'mp3', 'oga', 'ogg', - 'ogm', 'opus', 'wav', 'wma' -} - -EXTENSIONS_IMAGES_DEFAULT = Set { - 'avif', 'bmp', 'gif', 'j2k', 'jp2', 'jpeg', 'jpg', 'jxl', 'png', - 'svg', 'tga', 'tif', 'tiff', 'webp' -} - -function split_option_exts(video, audio, image) - if video then o.additional_video_exts = Split(o.additional_video_exts) end - if audio then o.additional_audio_exts = Split(o.additional_audio_exts) end - if image then o.additional_image_exts = Split(o.additional_image_exts) end -end -split_option_exts(true, true, true) - -function split_patterns() - o.ignore_patterns = Split(o.ignore_patterns) -end -split_patterns() - -function create_extensions() - EXTENSIONS = {} - EXTENSIONS_VIDEO = {} - EXTENSIONS_AUDIO = {} - EXTENSIONS_IMAGES = {} - if o.videos then - SetUnion(SetUnion(EXTENSIONS_VIDEO, EXTENSIONS_VIDEO_DEFAULT), o.additional_video_exts) - SetUnion(EXTENSIONS, EXTENSIONS_VIDEO) - end - if o.audio then - SetUnion(SetUnion(EXTENSIONS_AUDIO, EXTENSIONS_AUDIO_DEFAULT), o.additional_audio_exts) - SetUnion(EXTENSIONS, EXTENSIONS_AUDIO) - end - if o.images then - SetUnion(SetUnion(EXTENSIONS_IMAGES, EXTENSIONS_IMAGES_DEFAULT), o.additional_image_exts) - SetUnion(EXTENSIONS, EXTENSIONS_IMAGES) - end -end -create_extensions() - -function validate_directory_mode() - if o.directory_mode ~= "recursive" and o.directory_mode ~= "lazy" and o.directory_mode ~= "ignore" then - o.directory_mode = nil - end -end -validate_directory_mode() - -function add_files(files) - local oldcount = mp.get_property_number("playlist-count", 1) - for i = 1, #files do - mp.commandv("loadfile", files[i][1], "append") - mp.commandv("playlist-move", oldcount + i - 1, files[i][2]) - end -end - -function get_extension(path) - match = string.match(path, "%.([^%.]+)$" ) - if match == nil then - return "nomatch" - else - return match - end -end - -function get_filename_without_ext(filename) - local idx = filename:match(".+()%.%w+$") - if idx then - filename = filename:sub(1, idx - 1) - end - return filename -end - -function utf8_char_bytes(str, i) - local char_byte = str:byte(i) - if char_byte < 0xC0 then - return 1 - elseif char_byte < 0xE0 then - return 2 - elseif char_byte < 0xF0 then - return 3 - elseif char_byte < 0xF8 then - return 4 - else - return 1 - end -end - -function utf8_iter(str) - local byte_start = 1 - return function() - local start = byte_start - if #str < start then return nil end - local byte_count = utf8_char_bytes(str, start) - byte_start = start + byte_count - return start, str:sub(start, start + byte_count - 1) - end -end - -function utf8_to_table(str) - local t = {} - for _, ch in utf8_iter(str) do - t[#t + 1] = ch - end - return t -end - -function jaro(s1, s2) - local match_window = math.floor(math.max(#s1, #s2) / 2.0) - 1 - local matches1 = {} - local matches2 = {} - - local m = 0; - local t = 0; - - for i = 0, #s1, 1 do - local start = math.max(0, i - match_window) - local final = math.min(i + match_window + 1, #s2) - - for k = start, final, 1 do - if not (matches2[k] or s1[i] ~= s2[k]) then - matches1[i] = true - matches2[k] = true - m = m + 1 - break - end - end - end - - if m == 0 then - return 0.0 - end - - local k = 0 - for i = 0, #s1, 1 do - if matches1[i] then - while not matches2[k] do - k = k + 1 - end - - if s1[i] ~= s2[k] then - t = t + 1 - end - - k = k + 1 - end - end - - t = t / 2.0 - - return (m / #s1 + m / #s2 + (m - t) / m) / 3.0 -end - -function jaro_winkler_distance(s1, s2) - if #s1 + #s2 == 0 then - return 0.0 - end - - if s1 == s2 then - return 1.0 - end - - s1 = utf8_to_table(s1) - s2 = utf8_to_table(s2) - - local d = jaro(s1, s2) - local p = 0.1 - local l = 0; - while (s1[l] == s2[l] and l < 4) do - l = l + 1 - end - - return d + l * p * (1 - d) -end - -function is_same_series(f1, f2) - local f1, f2 = get_filename_without_ext(f1), get_filename_without_ext(f2) - if f1 ~= f2 then - -- by episode - local sub1 = f1:gsub("^[%[%(]+.-[%]%)]+[%s%[]*", ""):match("(.-%D+)0*%d+") - local sub2 = f2:gsub("^[%[%(]+.-[%]%)]+[%s%[]*", ""):match("(.-%D+)0*%d+") - if sub1 and sub2 and sub1 == sub2 then - return true - end - - -- by similarity - local threshold = 0.8 - local similarity = jaro_winkler_distance(f1, f2) - if similarity > threshold then - return true - end - end - - return false -end - -function is_ignored(file) - for pattern, _ in pairs(o.ignore_patterns) do - if string.match(file, pattern) then - return true - end - end - return false -end - -table.filter = function(t, iter) - for i = #t, 1, -1 do - if not iter(t[i]) then - table.remove(t, i) - end - end -end - -table.append = function(t1, t2) - local t1_size = #t1 - for i = 1, #t2 do - t1[t1_size + i] = t2[i] - end -end - ------ winapi start ----- --- in windows system, we can use the sorting function provided by the win32 API --- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw --- this function was taken from https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 -local winapi = {} -local is_windows = mp.get_property_native("platform") == "windows" - -if is_windows then - -- is_ffi_loaded is false usually means the mpv builds without luajit - local is_ffi_loaded, ffi = pcall(require, "ffi") - - if is_ffi_loaded then - winapi = { - ffi = ffi, - C = ffi.C, - CP_UTF8 = 65001, - shlwapi = ffi.load("shlwapi"), - } - - -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 - ffi.cdef[[ - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, - int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); - ]] - - winapi.utf8_to_wide = function(utf8_str) - if utf8_str then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) - - if utf16_len > 0 then - local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) - - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - - return "" - end - end -end ------ winapi end ----- - -function alphanumsort_windows(filenames) - table.sort(filenames, function(a, b) - local a_wide = winapi.utf8_to_wide(a) - local b_wide = winapi.utf8_to_wide(b) - return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 - end) - - return filenames -end - --- alphanum sorting for humans in Lua --- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua -function alphanumsort_lua(filenames) - local function padnum(n, d) - return #d > 0 and ("%03d%s%.12f"):format(#n, n, tonumber(d) / (10 ^ #d)) - or ("%03d%s"):format(#n, n) - end - - local tuples = {} - for i, f in ipairs(filenames) do - tuples[i] = {f:lower():gsub("0*(%d+)%.?(%d*)", padnum), f} - end - table.sort(tuples, function(a, b) - return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] - end) - for i, tuple in ipairs(tuples) do filenames[i] = tuple[2] end - return filenames -end - -function alphanumsort(filenames) - local is_ffi_loaded = pcall(require, "ffi") - if is_windows and is_ffi_loaded then - alphanumsort_windows(filenames) - else - alphanumsort_lua(filenames) - end -end - -local autoloaded = nil -local added_entries = {} -local autoloaded_dir = nil - -function scan_dir(path, current_file, dir_mode, separator, dir_depth, total_files, extensions) - if dir_depth == MAXDIRSTACK then - return - end - msg.trace("scanning: " .. path) - local files = utils.readdir(path, "files") or {} - local dirs = dir_mode ~= "ignore" and utils.readdir(path, "dirs") or {} - local prefix = path == "." and "" or path - table.filter(files, function (v) - -- The current file could be a hidden file, ignoring it doesn't load other - -- files from the current directory. - local current = prefix .. v == current_file - if o.ignore_hidden and not current and string.match(v, "^%.") then - return false - end - if not current and is_ignored(v) then - return false - end - - local ext = get_extension(v) - if ext == nil then - return false - end - local name = mp.get_property("filename") - if o.same_series then - local name = mp.get_property("filename") - for ext, _ in pairs(extensions) do - if name:match(ext .. "$") ~= nil and v ~= name and - not is_same_series(name, v) - then - return false - end - end - end - return extensions[string.lower(ext)] - end) - table.filter(dirs, function(d) - return not ((o.ignore_hidden and string.match(d, "^%."))) - end) - alphanumsort(files) - alphanumsort(dirs) - - for i, file in ipairs(files) do - files[i] = prefix .. file - end - - table.append(total_files, files) - if dir_mode == "recursive" then - for _, dir in ipairs(dirs) do - scan_dir(prefix .. dir .. separator, current_file, dir_mode, - separator, dir_depth + 1, total_files, extensions) - end - else - for i, dir in ipairs(dirs) do - dirs[i] = prefix .. dir - end - table.append(total_files, dirs) - end -end - -function find_and_add_entries() - local path = mp.get_property("path", "") - local dir, filename = utils.split_path(path) - msg.trace(("dir: %s, filename: %s"):format(dir, filename)) - if o.disabled then - msg.debug("stopping: autoload disabled") - return - elseif #dir == 0 then - msg.debug("stopping: not a local path") - return - end - - local pl_count = mp.get_property_number("playlist-count", 1) - this_ext = get_extension(filename) - -- check if this is a manually made playlist - if (pl_count > 1 and autoloaded == nil) or - (pl_count == 1 and EXTENSIONS[string.lower(this_ext)] == nil) then - msg.debug("stopping: manually made playlist") - return - else - if pl_count == 1 then - autoloaded = true - autoloaded_dir = dir - added_entries = {} - end - end - - local extensions = {} - if o.same_type then - if EXTENSIONS_VIDEO[string.lower(this_ext)] ~= nil then - extensions = EXTENSIONS_VIDEO - elseif EXTENSIONS_AUDIO[string.lower(this_ext)] ~= nil then - extensions = EXTENSIONS_AUDIO - else - extensions = EXTENSIONS_IMAGES - end - else - extensions = EXTENSIONS - end - - local pl = mp.get_property_native("playlist", {}) - local pl_current = mp.get_property_number("playlist-pos-1", 1) - msg.trace(("playlist-pos-1: %s, playlist: %s"):format(pl_current, - utils.to_string(pl))) - - local files = {} - do - local dir_mode = o.directory_mode or mp.get_property("directory-mode", "lazy") - local separator = mp.get_property_native("platform") == "windows" and "\\" or "/" - scan_dir(autoloaded_dir, path, dir_mode, separator, 0, files, extensions) - end - - if next(files) == nil then - msg.debug("no other files or directories in directory") - return - end - - -- Find the current pl entry (dir+"/"+filename) in the sorted dir list - local current - for i = 1, #files do - if files[i] == path then - current = i - break - end - end - if current == nil then - return - end - msg.trace("current file position in files: "..current) - - -- treat already existing playlist entries, independent of how they got added - -- as if they got added by autoload - for _, entry in ipairs(pl) do - added_entries[entry.filename] = true - end - - local append = {[-1] = {}, [1] = {}} - for direction = -1, 1, 2 do -- 2 iterations, with direction = -1 and +1 - for i = 1, MAXENTRIES do - local pos = current + i * direction - local file = files[pos] - if file == nil or file[1] == "." then - break - end - - -- skip files that are/were already in the playlist - if not added_entries[file] then - if direction == -1 then - msg.verbose("Prepending " .. file) - table.insert(append[-1], 1, {file, pl_current + i * direction + 1}) - else - msg.verbose("Adding " .. file) - if pl_count > 1 then - table.insert(append[1], {file, pl_current + i * direction - 1}) - else - mp.commandv("loadfile", file, "append") - end - end - end - added_entries[file] = true - end - if pl_count == 1 and direction == -1 and #append[-1] > 0 then - for i = 1, #append[-1] do - mp.commandv("loadfile", append[-1][i][1], "append") - end - mp.commandv("playlist-move", 0, current) - end - end - - if pl_count > 1 then - add_files(append[1]) - add_files(append[-1]) - end -end - -mp.register_event("start-file", find_and_add_entries) diff --git a/scripts/autosubsync/LICENSE b/scripts/autosubsync/LICENSE deleted file mode 100644 index 7e2e686..0000000 --- a/scripts/autosubsync/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 joaquintorres - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/autosubsync/README.md b/scripts/autosubsync/README.md deleted file mode 100644 index 4962cce..0000000 --- a/scripts/autosubsync/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# autosubsync-mpv - -Automatic subtitle synchronization script for [mpv](https://wiki.archlinux.org/index.php/Mpv). - -A demo can be viewed on - -Supported backends: -* [ffsubsync](https://github.com/smacke/ffsubsync) -* [alass](https://github.com/kaegi/alass) - -## Installation - -0. Make sure you have mpv v0.33 or higher installed. - ``` - $ mpv --version - ``` -1. Install [FFmpeg](https://wiki.archlinux.org/index.php/FFmpeg): - ``` - $ pacman -S ffmpeg - ``` - Windows users have to manually install FFmpeg from [here](https://ffmpeg.zeranoe.com/builds/). -2. Install your retiming program of choice, -[ffsubsync](https://github.com/smacke/ffsubsync), [alass](https://github.com/kaegi/alass) or both: - ``` - $ pip install ffsubsync - ``` - ``` - $ trizen -S alass-git # for Arch-based distros - ``` - -3. Download the add-on and save it to your mpv scripts folder. - - | GNU/Linux | Windows | - |---|---| - | `~/.config/mpv/scripts` | `%AppData%\mpv\scripts\` | - - To do it in one command: - - ``` - $ git clone 'https://github.com/Ajatt-Tools/autosubsync-mpv' ~/.config/mpv/scripts/autosubsync - ``` - -## Configuration - -You can skip this step if the add-on works out of the box. - -Create a config file: - -| GNU/Linux | Windows | -|---|---| -| `~/.config/mpv/script-opts/autosubsync.conf` | `%AppData%\mpv\script-opts\autosubsync.conf` | - -Example config: - -``` -# Absolute paths to the executables, if needed: - -# 1. ffmpeg -ffmpeg_path=C:/Program Files/ffmpeg/bin/ffmpeg.exe -ffmpeg_path=/usr/bin/ffmpeg - -# 2. ffsubsync -ffsubsync_path=C:/Program Files/ffsubsync/ffsubsync.exe -ffsubsync_path=/home/user/.local/bin/ffsubsync - -# 3. alass -alass_path=C:/Program Files/ffmpeg/bin/alass.exe -alass_path=/usr/bin/alass - -# Preferred retiming tool. Allowed options: 'ffsubsync', 'alass', 'ask'. -# If set to 'ask', the add-on will ask to choose the tool every time: - -# 1. Preferred tool for syncing to audio. -audio_subsync_tool=ask -audio_subsync_tool=ffsubsync -audio_subsync_tool=alass - -# 2. Preferred tool for syncing to another subtitle. -altsub_subsync_tool=ask -altsub_subsync_tool=ffsubsync -altsub_subsync_tool=alass - -# Unload old subs (yes,no) -# After retiming, tell mpv to forget the original subtitle track. -unload_old_sub=yes -unload_old_sub=no -``` - -## Notes - -* On Windows, you need to use forward slashes or double backslashes for your path. -For example, `"C:\\Users\\YourPath\\Scripts\\ffsubsync"` -or `"C:/Users/YourPath/Scripts/ffsubsync"`, -or it might not work. - -* On GNU/Linux you can use `which ffsubsync` to find out where it is. - -## Usage - -When you have an out of sync sub, press `n` to synchronize it. - -`ffsubsync` can typically take up to about 20-30 seconds -to synchronize (I've seen it take as much as 2 minutes -with a very large file on a lower end computer), so it -would probably be faster to find another, properly -synchronized subtitle with `autosub` or `trueautosub`. -Many times this is just not possible, as all available -subs for your specific language are out of sync. - -Take into account that using this script has the -same limitations as `ffsubsync`, so subtitles that have -a lot of extra text or are meant for an entirely different -version of the video might not sync properly. `alass` is supposed -to handle some edge cases better, but I haven't fully tested it yet, -obtaining similar results with both. - -Note that the script will create a new subtitle file, in the same folder -as the original, with the `_retimed` suffix at the end. - -## Issues and feedback - -If you are having trouble getting it to work or you've found a bug, -feel free to [join our community](https://tatsumoto-ren.github.io/blog/join-our-community.html) to ask directly. - -Try to check if -[ffsubsync](https://github.com/smacke/ffsubsync) -or -[alass](https://github.com/kaegi/alass) -works properly outside of `mpv` first. -If the retiming tool of choice isn't working, `autosubsync` will likely fail. \ No newline at end of file diff --git a/scripts/autosubsync/autosubsync.lua b/scripts/autosubsync/autosubsync.lua deleted file mode 100644 index 38f438d..0000000 --- a/scripts/autosubsync/autosubsync.lua +++ /dev/null @@ -1,559 +0,0 @@ --- Usage: --- default keybinding: n --- add the following to your input.conf to change the default keybinding: --- keyname script_binding autosubsync-menu - -local mp = require('mp') -local utils = require('mp.utils') -local mpopt = require('mp.options') -local menu = require('menu') -local sub = require('subtitle') -local ref_selector -local engine_selector -local track_selector - --- Config --- Options can be changed here or in a separate config file. --- Config path: ~/.config/mpv/script-opts/autosubsync.conf -local config = { - -- Change the following lines if the locations of executables differ from the defaults - -- If set to empty, the path will be guessed. - ffmpeg_path = "", - ffsubsync_path = "", - alass_path = "", - - -- Choose what tool to use. Allowed options: ffsubsync, alass, ask. - -- If set to ask, the add-on will ask to choose the tool every time. - audio_subsync_tool = "ask", - altsub_subsync_tool = "ask", - - -- After retiming, tell mpv to forget the original subtitle track. - unload_old_sub = true, -} -mpopt.read_options(config, 'autosubsync') - -local function is_empty(var) - return var == nil or var == '' or (type(var) == 'table' and next(var) == nil) -end - ------ string -local function replace(str, what, with) - if is_empty(str) then return "" end - if is_empty(what) then return str end - if with == nil then with = "" end - what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") - with = string.gsub(with, "[%%]", "%%%%") - return string.gsub(str, what, with) -end - -local function esc_for_title(string) - string = string:gsub('^[%._%-%s]*', '') - :gsub('%.%w+$', '') - return string -end - -local function esc_for_code(trackCode) - if trackCode:find("PGS") then trackCode = "PGS" - elseif trackCode:find("SUBRIP") then trackCode = "SRT" - elseif trackCode:find("VTT") then trackCode = "VTT" - elseif trackCode:find("DVD_SUB") then trackCode = "VOB_SUB" - elseif trackCode:find("DVB_SUB") then trackCode = "DVB_SUB" - elseif trackCode:find("DVB_TELE") then trackCode = "TELETEXT" - elseif trackCode:find("ARIB") then trackCode = "ARIB" - end - return trackCode -end - --- Snippet borrowed from stackoverflow to get the operating system --- originally found at: https://stackoverflow.com/a/30960054 -local os_name = (function() - if os.getenv("HOME") == nil then - return function() - return "Windows" - end - else - return function() - return "*nix" - end - end -end)() - -local os_temp = (function() - if os_name() == "Windows" then - return function() - return os.getenv('TEMP') - end - else - return function() - return '/tmp/' - end - end -end)() - --- Courtesy of https://stackoverflow.com/questions/4990990/check-if-a-file-exists-with-lua -local function file_exists(filepath) - if not filepath then - return false - end - local f = io.open(filepath, "r") - if f ~= nil then - io.close(f) - return true - else - return false - end -end - -local function find_executable(name) - local os_path = os.getenv("PATH") or "" - local fallback_path = utils.join_path("/usr/bin", name) - local exec_path - for path in os_path:gmatch("[^:]+") do - exec_path = utils.join_path(path, name) - if file_exists(exec_path) then - return exec_path - end - end - return fallback_path -end - -local function notify(message, level, duration) - level = level or 'info' - duration = duration or 1 - mp.msg[level](message) - mp.osd_message(message, duration) -end - -local function subprocess(args) - return mp.command_native { - name = "subprocess", - playback_only = false, - capture_stdout = true, - args = args - } -end - -local url_decode = function(url) - local function hex_to_char(x) - return string.char(tonumber(x, 16)) - end - if url ~= nil then - url = url:gsub("^file://", "") - url = url:gsub("+", " ") - url = url:gsub("%%(%x%x)", hex_to_char) - return url - else - return - end -end - -local function get_loaded_tracks(track_type) - local result = {} - local track_list = mp.get_property_native('track-list') - for _, track in pairs(track_list) do - if track.type == track_type then - track['external-filename'] = track.external and url_decode(track['external-filename']) - table.insert(result, track) - end - end - return result -end - -local function get_active_track(track_type) - local track_list = mp.get_property_native('track-list') - for num, track in ipairs(track_list) do - if track.type == track_type and track.selected == true then - if track.external then - track['external-filename'] = url_decode(track['external-filename']) - end - if not (track_type == 'sub' and track.id == mp.get_property_native('secondary-sid')) then - return num, track - end - end - end - return notify(string.format("错误: 没有选择类型为 '%s' 的轨道", track_type), "error", 3) -end - -local function remove_extension(filename) - return filename:gsub('%.%w+$', '') -end - -local function get_extension(filename) - return filename:match("^.+(%.%w+)$") -end - -local function startswith(str, prefix) - return string.sub(str, 1, string.len(prefix)) == prefix -end - -local function mkfp_retimed(sub_path) - if not startswith(sub_path, os_temp()) then - return table.concat { remove_extension(sub_path), '_retimed', get_extension(sub_path) } - else - return table.concat { remove_extension(mp.get_property("path")), '_retimed', get_extension(sub_path) } - end -end - -local function engine_is_set() - local subsync_tool = ref_selector:get_subsync_tool() - if is_empty(subsync_tool) or subsync_tool == "ask" then - return false - else - return true - end -end - -local function extract_to_file(subtitle_track) - local codec_ext_map = { subrip = "srt", ass = "ass" } - local ext = codec_ext_map[subtitle_track['codec']] - if ext == nil then - return notify(string.format("错误: 不支持的格式: %s", subtitle_track['codec']), "error", 3) - end - local temp_sub_fp = utils.join_path(os_temp(), 'autosubsync_extracted.' .. ext) - notify("提取内封字幕...", nil, 3) - local screenx, screeny, aspect = mp.get_osd_size() - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - local ret = subprocess { - config.ffmpeg_path, - "-hide_banner", - "-nostdin", - "-y", - "-loglevel", "quiet", - "-an", - "-vn", - "-i", mp.get_property("path"), - "-map", "0:" .. (subtitle_track and subtitle_track['ff-index'] or 's'), - "-f", ext, - temp_sub_fp - } - mp.set_osd_ass(screenx, screeny, "") - if ret == nil or ret.status ~= 0 then - return notify("无法提取内封字幕.\n请先确保在脚本配置文件中为 ffmpeg 指定了正确的路径\n并确保视频有内封字幕.", "error", 7) - end - return temp_sub_fp -end - -local function sync_subtitles(ref_sub_path) - local reference_file_path = ref_sub_path or mp.get_property("path") - local _, sub_track = get_active_track('sub') - if sub_track == nil then - return - end - local subtitle_path = sub_track.external and sub_track['external-filename'] or extract_to_file(sub_track) - local engine_name = engine_selector:get_engine_name() - local engine_path = config[engine_name .. '_path'] - - if not file_exists(subtitle_path) then - return notify( - table.concat { - "字幕同步失败:\n无法找到 ", - subtitle_path or "外部字幕文件." - }, - "error", - 3 - ) - end - - local retimed_subtitle_path = mkfp_retimed(subtitle_path) - - notify(string.format("开始 %s...", engine_name), nil, 2) - - local ret - local screenx, screeny, aspect = mp.get_osd_size() - if engine_name == "ffsubsync" then - local args = { config.ffsubsync_path, reference_file_path, "-i", subtitle_path, "-o", retimed_subtitle_path } - if not ref_sub_path then - table.insert(args, '--reference-stream') - table.insert(args, '0:' .. get_active_track('audio')) - end - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - ret = subprocess(args) - mp.set_osd_ass(screenx, screeny, "") - else - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - ret = subprocess { config.alass_path, reference_file_path, subtitle_path, retimed_subtitle_path } - mp.set_osd_ass(screenx, screeny, "") - end - - if ret == nil then - return notify("解析失败或没有传递参数.", "fatal", 3) - end - - if ret.status == 0 then - local old_sid = mp.get_property("sid") - if mp.commandv("sub_add", retimed_subtitle_path) then - notify("字幕同步.", nil, 2) - mp.set_property("sub-delay", 0) - if config.unload_old_sub then - mp.commandv("sub_remove", old_sid) - end - else - notify("错误: 不能添加同步字幕.", "error", 3) - end - else - notify(string.format("字幕同步失败.\n请确保在脚本配置文件中为 %s 指定了正确的路径.\n或音轨提取失败", engine_name), "error", 3) - end -end - -local function sync_to_subtitle() - local selected_track = track_selector:get_selected_track() - - if selected_track and selected_track.external then - sync_subtitles(selected_track['external-filename']) - else - local temp_sub_fp = extract_to_file(selected_track) - if temp_sub_fp then - sync_subtitles(temp_sub_fp) - os.remove(temp_sub_fp) - end - end -end - -local function sync_to_manual_offset() - local _, track = get_active_track('sub') - local sub_delay = tonumber(mp.get_property("sub-delay")) - if tonumber(sub_delay) == 0 then - return notify("没有手动调整时轴,什么都做不了!", "error", 7) - end - local file_path = track.external and track['external-filename'] or extract_to_file(track) - if file_path == nil then - return - end - - local ext = get_extension(file_path) - local codec_parser_map = { ass = sub.ASS, subrip = sub.SRT } - local parser = codec_parser_map[track['codec']] - if parser == nil then - return notify(string.format("错误: 不支持的格式: %s", track['codec']), "error", 3) - end - local s = parser:populate(file_path) - s:shift_timing(sub_delay) - if track.external == false then - os.remove(file_path) - s.filename = mp.get_property("filename/no-ext") .. "_manual_timing" .. ext - else - s.filename = remove_extension(s.filename) .. '_manual_timing' .. ext - end - s:save() - mp.commandv("sub_add", s.filename) - if config.unload_old_sub then - mp.commandv("sub_remove", track.id) - end - mp.set_property("sub-delay", 0) - return notify(string.format("手动同步保存,加载 '%s'", s.filename), "info", 7) -end - ------------------------------------------------------------- --- Menu actions & bindings - -ref_selector = menu:new { - items = { '与音频同步', '与其他字幕同步', '保存当前时轴', '退出' }, - last_choice = 'audio', - pos_x = 50, - pos_y = 50, - rect_width = 400, - text_color = 'fff5da', - border_color = '2f1728', - active_color = 'ff6b71', - inactive_color = 'fff5da', -} - -function ref_selector:get_keybindings() - return { - { key = 'h', fn = function() self:close() end }, - { key = 'j', fn = function() self:down() end }, - { key = 'k', fn = function() self:up() end }, - { key = 'l', fn = function() self:act() end }, - { key = 'down', fn = function() self:down() end }, - { key = 'up', fn = function() self:up() end }, - { key = 'Enter', fn = function() self:act() end }, - { key = 'ESC', fn = function() self:close() end }, - { key = 'n', fn = function() self:close() end }, - { key = 'WHEEL_DOWN', fn = function() self:down() end }, - { key = 'WHEEL_UP', fn = function() self:up() end }, - { key = 'MBTN_LEFT', fn = function() self:act() end }, - { key = 'MBTN_RIGHT', fn = function() self:close() end }, - } -end - -function ref_selector:new(o) - self.__index = self - o = o or {} - return setmetatable(o, self) -end - -function ref_selector:get_ref() - if self.selected == 1 then - return 'audio' - elseif self.selected == 2 then - return 'sub' - else - return nil - end -end - -function ref_selector:get_subsync_tool() - if self.selected == 1 then - return config.audio_subsync_tool - elseif self.selected == 2 then - return config.altsub_subsync_tool - end -end - -function ref_selector:act() - self:close() - - if self.selected == 3 then - return sync_to_manual_offset() - end - if self.selected == 4 then - return - end - - engine_selector:init() -end - -function ref_selector:call_subsync() - if self.selected == 1 then - sync_subtitles() - elseif self.selected == 2 then - sync_to_subtitle() - elseif self.selected == 3 then - sync_to_manual_offset() - end -end - -function ref_selector:open() - self.selected = 1 - for _, val in pairs(self:get_keybindings()) do - mp.add_forced_key_binding(val.key, val.key, val.fn) - end - self:draw() -end - -function ref_selector:close() - for _, val in pairs(self:get_keybindings()) do - mp.remove_key_binding(val.key) - end - self:erase() -end - - ------------------------------------------------------------- --- Engine selector - -engine_selector = ref_selector:new { - items = { 'ffsubsync', 'alass', '退出' }, - last_choice = 'ffsubsync', -} - -function engine_selector:init() - if not engine_is_set() then - engine_selector:open() - else - track_selector:init() - end -end - -function engine_selector:get_engine_name() - return engine_is_set() and ref_selector:get_subsync_tool() or self.last_choice -end - -function engine_selector:act() - self:close() - - if self.selected == 1 then - self.last_choice = 'ffsubsync' - elseif self.selected == 2 then - self.last_choice = 'alass' - elseif self.selected == 3 then - return - end - - track_selector:init() -end - ------------------------------------------------------------- --- Track selector - -track_selector = ref_selector:new { } - -function track_selector:init() - self.selected = 0 - - if ref_selector:get_ref() == 'audio' then - return ref_selector:call_subsync() - end - - self.all_sub_tracks = get_loaded_tracks(ref_selector:get_ref()) - self.tracks = {} - self.items = {} - - local filename = mp.get_property_native('filename/no-ext') - for _, track in ipairs(self.all_sub_tracks) do - local supported_format = true - if track.external then - local ext = get_extension(track['external-filename']) - if ext ~= '.srt' and ext ~= '.ass' then - supported_format = false - end - end - - if not track.selected and supported_format then - table.insert(self.tracks, track) - table.insert( - self.items, - string.format( - "%s #%s - %s%s%s", - (track.external and 'External' or 'Internal'), - track['id'], - (track.lang or (track.title and - esc_for_title(replace(track.title, filename, '')) or 'unknown')), - (track.codec and '[' .. esc_for_code(track.codec:upper()) .. ']' or ''), - (track.selected and ' (active)' or '') - ) - ) - end - end - - if #self.items == 0 then - notify("没有找到受支持的字幕轨道.", "warn", 5) - return - end - - table.insert(self.items, "退出") - self:open() -end - -function track_selector:get_selected_track() - if self.selected < 1 then - return nil - end - return self.tracks[self.selected] -end - -function track_selector:act() - self:close() - - if self.selected == #self.items then - return - end - - ref_selector:call_subsync() -end - ------------------------------------------------------------- --- Initialize the addon - -local function init() - for _, executable in pairs { 'ffmpeg', 'ffsubsync', 'alass' } do - local config_key = executable .. '_path' - config[config_key] = is_empty(config[config_key]) and find_executable(executable) or config[config_key] - end -end - ------------------------------------------------------------- --- Entry point - -init() -mp.add_key_binding("n", "autosubsync-menu", function() ref_selector:open() end) \ No newline at end of file diff --git a/scripts/autosubsync/main.lua b/scripts/autosubsync/main.lua deleted file mode 100644 index cabda79..0000000 --- a/scripts/autosubsync/main.lua +++ /dev/null @@ -1 +0,0 @@ -require('autosubsync') \ No newline at end of file diff --git a/scripts/autosubsync/menu.lua b/scripts/autosubsync/menu.lua deleted file mode 100644 index b6a0b21..0000000 --- a/scripts/autosubsync/menu.lua +++ /dev/null @@ -1,107 +0,0 @@ ------------------------------------------------------------- --- Menu visuals - -local mp = require('mp') -local assdraw = require('mp.assdraw') -local Menu = assdraw.ass_new() - -function Menu:new(o) - self.__index = self - o = o or {} - o.selected = o.selected or 1 - o.canvas_width = o.canvas_width or 1280 - o.canvas_height = o.canvas_height or 720 - o.pos_x = o.pos_x or 0 - o.pos_y = o.pos_y or 0 - o.rect_width = o.rect_width or 320 - o.rect_height = o.rect_height or 40 - o.active_color = o.active_color or 'ffffff' - o.inactive_color = o.inactive_color or 'aaaaaa' - o.border_color = o.border_color or '000000' - o.text_color = o.text_color or 'ffffff' - - return setmetatable(o, self) -end - -function Menu:set_position(x, y) - self.pos_x = x - self.pos_y = y -end - -function Menu:font_size(size) - self:append(string.format([[{\fs%s}]], size)) -end - -function Menu:set_text_color(code) - self:append(string.format("{\\1c&H%s%s%s&\\1a&H05&}", code:sub(5, 6), code:sub(3, 4), code:sub(1, 2))) -end - -function Menu:set_border_color(code) - self:append(string.format("{\\3c&H%s%s%s&}", code:sub(5, 6), code:sub(3, 4), code:sub(1, 2))) -end - -function Menu:apply_text_color() - self:set_border_color(self.border_color) - self:set_text_color(self.text_color) -end - -function Menu:apply_rect_color(i) - self:set_border_color(self.border_color) - if i == self.selected then - self:set_text_color(self.active_color) - else - self:set_text_color(self.inactive_color) - end -end - -function Menu:draw_text(i) - local padding = 5 - local font_size = 25 - - self:new_event() - self:pos(self.pos_x + padding, self.pos_y + self.rect_height * (i - 1) + padding) - self:font_size(font_size) - self:apply_text_color(i) - self:append(self.items[i]) -end - -function Menu:draw_item(i) - self:new_event() - self:pos(self.pos_x, self.pos_y) - self:apply_rect_color(i) - self:draw_start() - self:rect_cw(0, 0 + (i - 1) * self.rect_height, self.rect_width, i * self.rect_height) - self:draw_stop() - self:draw_text(i) -end - -function Menu:draw() - self.text = '' - for i, _ in ipairs(self.items) do - self:draw_item(i) - end - - mp.set_osd_ass(self.canvas_width, self.canvas_height, self.text) -end - -function Menu:erase() - mp.set_osd_ass(self.canvas_width, self.canvas_height, '') -end - -function Menu:up() - self.selected = self.selected - 1 - if self.selected == 0 then - self.selected = #self.items - end - self:draw() -end - -function Menu:down() - self.selected = self.selected + 1 - if self.selected > #self.items then - self.selected = 1 - end - self:draw() -end - -return Menu \ No newline at end of file diff --git a/scripts/autosubsync/subtitle.lua b/scripts/autosubsync/subtitle.lua deleted file mode 100644 index 2720d9f..0000000 --- a/scripts/autosubsync/subtitle.lua +++ /dev/null @@ -1,276 +0,0 @@ -local P = {} - -local TimeStamp = {} -local TimeStamp_mt = { __index = TimeStamp } -function TimeStamp:new(hours, minutes, seconds) - local new = {} - new.hours = hours - new.minutes = minutes - new.seconds = seconds - return setmetatable(new, TimeStamp_mt) -end - -function TimeStamp.toTimeStamp(seconds) - local diff, h, m, s = seconds, 0, 0, 0 - h = math.floor(diff / 3600) - diff = diff - (h * 3600) - m = math.floor(diff / 60) - diff = diff - (m * 60) - s = diff - return TimeStamp:new(h, m, s) -end - -function TimeStamp:toSeconds() - return (3600 * self.hours) + (60 * self.minutes) + self.seconds -end - -function TimeStamp:adjustTime(seconds) - return self.toTimeStamp(self:toSeconds() + seconds) -end - -function TimeStamp:toString(decimal_symbol) - local seconds_fmt = string.format("%06.3f", self.seconds):gsub("%.", decimal_symbol) - return string.format("%02d:%02d:%s", self.hours, self.minutes, seconds_fmt) -end - -function TimeStamp.to_seconds(seconds, milliseconds) - return tonumber(string.format("%s.%s", seconds, milliseconds)) -end - -local AbstractSubtitle = {} -local AbstractSubtitle_mt = { __index = AbstractSubtitle } - -function AbstractSubtitle:create() - local new = {} - return setmetatable(new, AbstractSubtitle_mt) -end - -function AbstractSubtitle:save() - print(string.format("Writing '%s' to file..", self.filename)) - local f = io.open(self.filename, 'w') - f:write(self:toString()) - f:close() -end - --- strip Byte Order Mark from file, if it's present -function AbstractSubtitle:sanitize(line) - local bom_table = { 0xEF, 0xBB, 0xBF } -- TODO maybe add other ones (like UTF-16) - local function has_bom() - for i = 1, #bom_table do - if i > #line then return false end - local ch, byte = line:sub(i, i), line:byte(i, i) - if byte ~= bom_table[i] then return false end - end - return true - end - return has_bom() and string.sub(line, #bom_table + 1) or line -end - -local function trim(s) - return s:match "^%s*(.-)%s*$" -end - -function AbstractSubtitle:parse_file(filename) - local lines = {} - for line in io.lines(filename) do - if #lines == 0 then line = self:sanitize(line) end - line = line:gsub('\r\n?', '') -- make sure there's no carriage return - line = trim(line) - table.insert(lines, line) - end - return lines -end - -function AbstractSubtitle:shift_timing(diff_seconds) - for _, entry in pairs(self.entries) do - if self.valid_entry(entry) then - entry.start_time = entry.start_time:adjustTime(diff_seconds) - entry.end_time = entry.end_time:adjustTime(diff_seconds) - end - end -end - -function AbstractSubtitle.valid_entry(entry) - return entry ~= nil -end - -local function inheritsFrom (baseClass) - local new_class = {} - local class_mt = { __index = new_class } - - function new_class:create(filename) - local instance = { - filename = filename, - language = nil, - header = nil, -- will be empty for srt, some stuff for ass - entries = {} -- list of entries - } - setmetatable(instance, class_mt) - return instance - end - - if baseClass then - setmetatable(new_class, { __index = baseClass }) - end - return new_class -end - -local SRT = inheritsFrom(AbstractSubtitle) -function SRT.entry() - return { index = nil, start_time = nil, end_time = nil, text = {} } -end - -function SRT:populate(filename) - local timestamp_fmt = "^(%d+):(%d+):(%d+),(%d+) %-%-> (%d+):(%d+):(%d+),(%d+)$" - local function parse_timestamp(timestamp) - local function to_seconds(seconds, milliseconds) - return tonumber(string.format("%s.%s", seconds, milliseconds)) - end - local _, _, from_h, from_m, from_s, from_ms, to_h, to_m, to_s, to_ms = timestamp:find(timestamp_fmt) - return TimeStamp:new(from_h, from_m, to_seconds(from_s, from_ms)), TimeStamp:new(to_h, to_m, to_seconds(to_s, to_ms)) - end - - local new = self:create(filename) - local entry = self.entry() - local f_idx, idx = 1, 1 - for _, line in pairs(self:parse_file(filename)) do - if idx == 1 and #line > 0 then - assert(line:match("^%d+$"), string.format("SRT FORMAT ERROR (line %d): expected a number but got '%s'", f_idx, line)) - entry.index = line - elseif idx == 2 then - assert(line:match("^%d+:%d+:%d+,%d+ %-%-> %d+:%d+:%d+,%d+$"), string.format("SRT FORMAT ERROR (line %d): expected a timecode string but got '%s'", f_idx, line)) - local t_start, t_end = parse_timestamp(line) - entry.start_time, entry.end_time = t_start, t_end - else - if #line == 0 then - -- end of text - if entry.index ~= nil then - table.insert(new.entries, entry) - end - entry = SRT.entry() - idx = 0 - else - table.insert(entry.text, line) - end - end - idx = idx + 1 - f_idx = f_idx + 1 - end - return new -end - -function SRT:toString() - local stringbuilder = {} - local function append(s) - table.insert(stringbuilder, s) - end - for _, entry in pairs(self.entries) do - append(entry.index) - local timestamp_string = string.format("%s --> %s", entry.start_time:toString(","), entry.end_time:toString(",")) - append(timestamp_string) - if type(entry.text) == 'table' then - append(table.concat(entry.text, "\n")) - else append(entry.text) end - append('') - end - return table.concat(stringbuilder, '\n') -end - -local ASS = inheritsFrom(AbstractSubtitle) -ASS.header_mapper = { ["Start"] = "start_time", ["End"] = "end_time" } - -function ASS.valid_entry(entry) - return entry['type'] ~= nil -end - -function ASS:toString() - local stringbuilder = {} - local function append(s) table.insert(stringbuilder, s) end - append(self.header) - append('[Events]') - for i = 1, #self.entries do - if i == 1 then - -- stringbuilder for events header - local event_sb = {}; - for _, v in pairs(self.event_header) do table.insert(event_sb, v) end - append(string.format("Format: %s", table.concat(event_sb, ", "))) - end - local entry = self.entries[i] - local entry_sb = {} - for _, col in pairs(self.event_header) do - local value = entry[col] - local timestamp_entry_column = self.header_mapper[col] - if timestamp_entry_column then - value = entry[timestamp_entry_column]:toString(".") - end - table.insert(entry_sb, value) - end - append(string.format("%s: %s", entry['type'], table.concat(entry_sb, ","))) - end - return table.concat(stringbuilder, '\n') -end - -function ASS:populate(filename, language) - local header, events, parser = {}, {}, nil - for _, line in pairs(self:parse_file(filename)) do - local _, _, event = string.find(line, "^%[([^%]]+)%]%s*$") - if event then - if event == "Events" then - parser = function(x) table.insert(events, x) end - else - parser = function(x) table.insert(header, x) end - parser(line) - end - else - parser(line) - end - end - -- create subtitle instance - local ev_regex = "^(%a+):%s(.+)$" - local function parse_event(header_columns, ev) - local function create_timestamp(timestamp_str) - local timestamp_fmt = "^(%d+):(%d+):(%d+).(%d+)" - local _, _, h, m, s, ms = timestamp_str:find(timestamp_fmt) - return TimeStamp:new(h, m, TimeStamp.to_seconds(s, ms)) - end - local new_event = {} - local _, _, ev_type, ev_values = string.find(ev, ev_regex) - new_event['type'] = ev_type - -- skipping last column, since that's the text, which can contain commas - local last_idx = 0; - for i = 1, #header_columns - 1 do - local col = header_columns[i] - local idx = string.find(ev_values, ",", last_idx + 1) - local val = ev_values:sub(last_idx + 1, idx - 1) - local timestamp_entry_column = self.header_mapper[col] - if timestamp_entry_column then - new_event[timestamp_entry_column] = create_timestamp(val) - else - new_event[col] = val - end - last_idx = idx - end - new_event[header_columns[#header_columns]] = ev_values:sub(last_idx + 1) - return new_event - end - - local sub = self:create(filename) - sub.header = table.concat(header, "\n") - sub.language = language - -- remove and process first entry in events, which is a header - local _, _, colstring = string.find(table.remove(events, 1), "^%a+:%s(.+)$") - local columns = {}; - for i in colstring:gmatch("[^%,%s]+") do table.insert(columns, i) end - sub.event_header = columns - for _, event in pairs(events) do - if #event > 0 then - table.insert(sub.entries, parse_event(columns, event)) - end - end - return sub -end - -P.AbstractSubtitle = AbstractSubtitle -P.ASS = ASS -P.SRT = SRT -return P \ No newline at end of file diff --git a/scripts/blacklist-extensions.lua b/scripts/blacklist-extensions.lua deleted file mode 100644 index 0990662..0000000 --- a/scripts/blacklist-extensions.lua +++ /dev/null @@ -1,78 +0,0 @@ -opts = { - blacklist="", - whitelist="", - remove_files_without_extension = false, - oneshot = true, -} -(require 'mp.options').read_options(opts) -local msg = require 'mp.msg' - -function split(input) - local ret = {} - for str in string.gmatch(input, "([^,]+)") do - ret[#ret + 1] = str - end - return ret -end - -opts.blacklist = split(opts.blacklist) -opts.whitelist = split(opts.whitelist) - -local exclude -if #opts.whitelist > 0 then - exclude = function(extension) - for _, ext in pairs(opts.whitelist) do - if extension == ext then - return false - end - end - return true - end -elseif #opts.blacklist > 0 then - exclude = function(extension) - for _, ext in pairs(opts.blacklist) do - if extension == ext then - return true - end - end - return false - end -else - return -end - -function should_remove(filename) - if string.find(filename, "://") then - return false - end - local extension = string.match(filename, "%.([^%.]+)$") - if not extension and opts.remove_file_without_extension then - return true - end - if extension and exclude(string.lower(extension)) then - return true - end - return false -end - -function process(playlist_count) - if playlist_count < 2 then return end - if opts.oneshot then - mp.unobserve_property(observe) - end - local playlist = mp.get_property_native("playlist") - local removed = 0 - for i = #playlist, 1, -1 do - if should_remove(playlist[i].filename) then - mp.commandv("playlist-remove", i-1) - removed = removed + 1 - end - end - if removed == #playlist then - msg.warn("Removed eveything from the playlist") - end -end - -function observe(k,v) process(v) end - -mp.observe_property("playlist-count", "number", observe) diff --git a/scripts/chapter-make-read.lua b/scripts/chapter-make-read.lua deleted file mode 100644 index a0cc91c..0000000 --- a/scripts/chapter-make-read.lua +++ /dev/null @@ -1,618 +0,0 @@ ---[[ - * chapter-make-read.lua v.2025-03-01 - * - * AUTHORS: dyphire - * License: MIT - * link: https://github.com/dyphire/mpv-scripts ---]] - ---[[ -Copyright (c) 2023 dyphire - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ---]] - --- Implementation read and automatically load the namesake external chapter file. --- The external chapter files should conform to the following formats. --- Note: The Timestamps should use the 12-bit format of 'hh:mm:ss.sss'. --- Note: The file encoding should be UTF-8 and the linebreak should be Unix(LF). --- Note: The script also supports reading OGM format and MediaInfo format in addition to the following formats. ---[[ -00:00:00.000 A part -00:00:40.312 OP -00:02:00.873 B part -00:10:44.269 C part -00:22:40.146 ED ---]] - --- This script also supports manually load/refresh,marks,edits,remove and creates external chapter files, usage: --- Note: It can also be used to export the existing chapter information of the playback file. --- add bindings to input.conf: --- key script-message-to chapter_make_read load_chapter --- key script-message-to chapter_make_read create_chapter --- key script-message-to chapter_make_read edit_chapter --- key script-message-to chapter_make_read remove_chapter --- key script-message-to chapter_make_read write_chapter chp --- key script-message-to chapter_make_read write_chapter ogm - -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local options = require "mp.options" - -local o = { - autoload = true, - autosave = false, - force_overwrite = false, - -- Specifies the extension of the external chapter file. - chapter_file_ext = ".chp", - -- Select whether the external chapter file needs to match the extension of the source file. - basename_with_ext = true, - -- Specifies the subpath of the same directory as the playback file as the external chapter file path. - -- Note: The external chapter file is read from the subdirectory first. - -- If the file does not exist, it will next be read from the same directory as the playback file. - external_chapter_subpath = "chapters", - -- save all chapter files in a single global directory - global_chapters = false, - global_chapters_dir = "~~/chapters", - -- hash works only in global_chapters_dir - hash = false, - -- ask for title or leave it empty - ask_for_title = true, - -- placeholder when asking for title of a new chapter - placeholder_title = "Chapter ", - -- pause the playback when asking for chapter title - pause_on_input = true, -} - -options.read_options(o) - -local input_loaded, input = pcall(require, "mp.input") --- Requires: https://github.com/CogentRedTester/mpv-user-input -local user_input_loaded, user_input = pcall(require, "user-input-module") - -local path = nil -local dir = nil -local fname = nil -local chapter_fullpath = nil -local all_chapters = {} -local chapter_count = 0 -local chapters_modified = false -local paused = false -local protocol = false - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -function url_decode(str) - local function hex_to_char(x) - return string.char(tonumber(x, 16)) - end - - if str ~= nil then - str = str:gsub('^%a[%a%d-_]+://', '') - :gsub('^%a[%a%d-_]+:\\?', '') - :gsub('%%(%x%x)', hex_to_char) - if str:find('://localhost:?') then - str = str:gsub('^.*/', '') - end - str = str:gsub('[\\/:%?]*', '') - return str - end -end - ---create global_chapters_dir if it doesn't exist -local global_chapters_dir = mp.command_native({ "expand-path", o.global_chapters_dir }) -if global_chapters_dir and global_chapters_dir ~= '' then - local meta = utils.file_info(global_chapters_dir) - if not meta or not meta.is_dir then - local is_windows = package.config:sub(1, 1) == "\\" - local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", global_chapters_dir) } - local unix_args = { 'mkdir', '-p', global_chapters_dir } - local args = is_windows and windows_args or unix_args - local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) - if res.status ~= 0 then - msg.error("Failed to create global_chapters_dir save directory " .. global_chapters_dir .. - ". Error: " .. (res.error or "unknown")) - return - end - end -end - -local function read_chapter(func) - local meta = utils.file_info(chapter_fullpath) - if not meta or not meta.is_file then return end - local f = io.open(chapter_fullpath, "r") - if not f then return end - local contents = {} - for line in f:lines() do - table.insert(contents, (func(line))) - end - f:close() - return contents -end - -local function read_chapter_table() - local line_pos = 0 - return read_chapter(function(line) - local h, m, s, t, n, l - local thin_space = string.char(0xE2, 0x80, 0x89) - local line = line:gsub(thin_space, " ") - if line:match("^%d+:%d+:%d+") ~= nil then - h, m, s = line:match("^(%d+):(%d+):(%d+[,%.]?%d+)") - s = s:gsub(',', '.') - t = h * 3600 + m * 60 + s - if line:match("^%d+:%d+:%d+[,%.]?%d+[,%s].*") ~= nil then - n = line:match("^%d+:%d+:%d+[,%.]?%d+[,%s](.*)") - n = n:gsub(":%s%a?%a?:", "") - :gsub("^%s*(.-)%s*$", "%1") - end - l = line - line_pos = line_pos + 1 - elseif line:match("^%d+:%d+[,%.]?%d+[,%s].*") ~= nil then - m, s = line:match("^(%d+):(%d+[,%.]?%d+)") - s = s:gsub(',', '.') - t = m * 60 + s - if line:match("^%d+:%d+[,%.]?%d+[,%s].*") ~= nil then - n = line:match("^%d+:%d+[,%.]?%d+[,%s](.*)") - n = n:gsub(":%s%a?%a?:", "") - :gsub("^%s*(.-)%s*$", "%1") - end - l = line - line_pos = line_pos + 1 - elseif line:match("^CHAPTER%d+=%d+:%d+:%d+") ~= nil then - h, m, s = line:match("^CHAPTER%d+=(%d+):(%d+):(%d+[,%.]?%d+)") - s = s:gsub(',', '.') - t = h * 3600 + m * 60 + s - l = line - line_pos = line_pos + 1 - elseif line:match("^CHAPTER%d+NAME=.*") ~= nil then - n = line:gsub("^CHAPTER%d+NAME=", "") - n = n:gsub("^%s*(.-)%s*$", "%1") - l = line - line_pos = line_pos + 1 - else - return - end - return { found_title = n, found_time = t, found_line = l } - end) -end - -local function refresh_globals() - path = mp.get_property("path") - if path then - protocol = is_protocol(path) - dir = utils.split_path(path) - end - - if protocol then - fname = url_decode(mp.get_property("media-title")) - elseif o.basename_with_ext then - fname = mp.get_property("filename") - else - fname = mp.get_property("filename/no-ext") - end - - all_chapters = mp.get_property_native("chapter-list") - chapter_count = mp.get_property_number("chapter-list/count") -end - -local function format_time(seconds) - local result = "" - local hours, mins, secs, msecs - if seconds <= 0 then - return "00:00:00.000"; - else - hours = string.format("%02.f", math.floor(seconds / 3600)) - mins = string.format("%02.f", math.floor(seconds / 60 - (hours * 60))) - secs = string.format("%02.f", math.floor(seconds - hours * 60 * 60 - mins * 60)) - msecs = string.format("%03.f", seconds * 1000 - hours * 60 * 60 * 1000 - mins * 60 * 1000 - secs * 1000) - result = hours .. ":" .. mins .. ":" .. secs .. "." .. msecs - end - return result -end - --- for unix use only --- returns a table of command path and varargs, or nil if command was not found -local function command_exists(command, ...) - msg.debug("looking for command:", command) - -- msg.debug("args:", ) - local process = mp.command_native({ - name = "subprocess", - capture_stdout = true, - capture_stderr = true, - playback_only = false, - args = {"sh", "-c", "command -v -- " .. command} - }) - - if process.status == 0 then - local command_path = process.stdout:gsub("\n", "") - msg.debug("command found:", command_path) - return {command_path, ...} - else - msg.debug("command not found:", command) - return nil - end -end - --- returns md5 hash of the full path of the current media file -local function hash(path) - if path == nil then - msg.debug("something is wrong with the path, can't get full_path, can't hash it") - return - end - - msg.debug("hashing:", path) - - local cmd = { - name = 'subprocess', - capture_stdout = true, - playback_only = false, - } - - local args = nil - local is_unix = package.config:sub(1,1) == "/" - if is_unix then - local md5 = command_exists("md5sum") or command_exists("md5") or command_exists("openssl", "md5 | cut -d ' ' -f 2") - if md5 == nil then - msg.warn("no md5 command found, can't generate hash") - return - end - md5 = table.concat(md5, " ") - cmd["stdin_data"] = path - args = {"sh", "-c", md5 .. " | cut -d ' ' -f 1 | tr '[:lower:]' '[:upper:]'" } - else --windows - -- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.3 - local hash_command = [[ - $s = [System.IO.MemoryStream]::new(); - $w = [System.IO.StreamWriter]::new($s); - $w.write(']] .. path .. [['); - $w.Flush(); - $s.Position = 0; - Get-FileHash -Algorithm MD5 -InputStream $s | Select-Object -ExpandProperty Hash - ]] - - args = {"powershell", "-NoProfile", "-Command", hash_command} - end - cmd["args"] = args - msg.debug("hash cmd:", utils.to_string(cmd)) - local process = mp.command_native(cmd) - - if process.status == 0 then - local hash = process.stdout:gsub("%s+", "") - msg.debug("hash:", hash) - return hash - else - msg.warn("hash function failed") - return - end -end - -local function get_chapter_filename(path) - name = hash(path) - if name == nil then - msg.warn("hash function failed, fallback to filename") - name = fname - end - return name -end - -local function mark_chapter(force_overwrite) - refresh_globals() - if not path then return end - - local chapter_index = 0 - local chapters_time = {} - local chapters_title = {} - local fpath = dir - if protocol then - fpath = global_chapters_dir - if o.hash then fname = get_chapter_filename(path) end - elseif o.external_chapter_subpath ~= '' then - fpath = utils.join_path(dir, o.external_chapter_subpath) - local meta = utils.file_info(fpath) - if not meta or not meta.is_dir then - fpath = dir - end - end - - if o.global_chapters and global_chapters_dir and global_chapters_dir ~= '' and not protocol then - fpath = global_chapters_dir - local meta = utils.file_info(fpath) - if meta and meta.is_dir then - if o.hash then - fname = get_chapter_filename(path) - end - end - end - - local chapter_filename = fname .. o.chapter_file_ext - chapter_fullpath = utils.join_path(fpath, chapter_filename) - local fmeta = utils.file_info(chapter_fullpath) - if (not fmeta or not fmeta.is_file) and fpath ~= dir and not protocol then - if o.basename_with_ext then - fname = mp.get_property("filename") - else - fname = mp.get_property("filename/no-ext") - end - chapter_filename = fname .. o.chapter_file_ext - chapter_fullpath = utils.join_path(dir, chapter_filename) - end - local list_contents = read_chapter_table() - - if not list_contents then return end - for i = 1, #list_contents do - local chapter_time = tonumber(list_contents[i].found_time) - if chapter_time ~= nil and chapter_time >= 0 then - table.insert(chapters_time, chapter_time) - end - if list_contents[i].found_title ~= nil then - table.insert(chapters_title, list_contents[i].found_title) - end - end - if not chapters_time[1] then return end - - table.sort(chapters_time, function(a, b) return a < b end) - - if force_overwrite then all_chapters = {} end - for i = 1, #chapters_time do - chapter_index = chapter_index + 1 - all_chapters[chapter_index] = { - title = chapters_title[i] or ("Chapter " .. string.format("%02.f", chapter_index)), - time = chapters_time[i] - } - end - - table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) - - mp.set_property_native("chapter-list", all_chapters) - msg.info("load external chapter file successful: " .. chapter_filename) -end - -local function change_chapter_list(chapter_tltle, chapter_index) - local chapter_list = mp.get_property_native("chapter-list") - - if chapter_index > mp.get_property_number("chapter-list/count") then - msg.warn("can't set chapter title") - return - end - - chapter_list[chapter_index].title = chapter_tltle - mp.set_property_native("chapter-list", chapter_list) -end - -local function change_title_callback(user_input, err, chapter_index) - if user_input == nil or err ~= nil then - if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end - msg.warn("no chapter title provided:", err) - return - end - change_chapter_list(user_input, chapter_index) - if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end - chapters_modified = true -end - -local function input_title(default_input, cursor_pos, chapter_index) - input.get({ - prompt = 'Chapter title:', - default_text = default_input, - cursor_position = cursor_pos, - submit = function(text) - input.terminate() - change_chapter_list(text, chapter_index) - end, - closed = function() - if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end - end - }) -end - -local function input_choice(title, chapter_index) - if not input_loaded and not user_input_loaded then - msg.error("no mpv-user-input, can't get user input, install: https://github.com/CogentRedTester/mpv-user-input") - return - end - - if input_loaded then - input_title(title, #title + 1, chapter_index) - elseif user_input_loaded then - -- ask user for chapter title - -- (+1 because mpv indexes from 0, lua from 1) - user_input.get_user_input(change_title_callback, { - request_text = "Chapter title:", - default_input = title, - cursor_pos = #title + 1, - }, chapter_index) - end -end - -local function create_chapter() - refresh_globals() - if not path then return end - - local time_pos = mp.get_property_number("time-pos") - local time_pos_osd = mp.get_property_osd("time-pos/full") - local current_chapter = mp.get_property_number("chapter") - mp.osd_message(time_pos_osd, 1) - - if chapter_count == 0 then - all_chapters[1] = { - title = o.placeholder_title .. "01", - time = time_pos - } - -- We just set it to zero here so when we add 1 later it ends up as 1 - -- otherwise it's probably "nil" - current_chapter = 0 - -- note that mpv will treat the beginning of the file as all_chapters[0] when using pageup/pagedown - -- so we don't actually have to worry if the file doesn't start with a chapter - else - -- to insert a chapter we have to increase the index on all subsequent chapters - -- otherwise we'll end up with duplicate chapter IDs which will confuse mpv - -- +2 looks weird, but remember mpv indexes at 0 and lua indexes at 1 - -- adding two will turn "current chapter" from mpv notation into "next chapter" from lua's notation - -- count down because these areas of memory overlap - for i = chapter_count, current_chapter + 2, -1 do - all_chapters[i + 1] = all_chapters[i] - end - all_chapters[current_chapter + 2] = { - title = o.placeholder_title .. string.format("%02.f", current_chapter + 2), - time = time_pos - } - end - mp.set_property_native("chapter-list", all_chapters) - mp.set_property_number("chapter", current_chapter + 1) - chapters_modified = true - - if o.ask_for_title then - local chapter_index = mp.get_property_number("chapter") + 1 - local title = o.placeholder_title .. string.format("%02.f", chapter_index) - - input_choice(title, chapter_index) - - if o.pause_on_input then - paused = mp.get_property_native("pause") - mp.set_property_bool("pause", true) - -- FIXME: for whatever reason osd gets hidden when we pause the - -- playback like that, workaround to make input prompt appear - -- right away without requiring mouse or keyboard action - mp.osd_message(" ", 0.1) - end - end -end - -local function edit_chapter() - local chapter_index = mp.get_property_number("chapter") + 1 - local chapter_list = mp.get_property_native("chapter-list") - local title = chapter_list[chapter_index + 1].title - if chapter_index == nil or chapter_index == -1 then - msg.verbose("no chapter selected, nothing to edit") - return - end - - input_choice(title, chapter_index) - - if o.pause_on_input then - paused = mp.get_property_native("pause") - mp.set_property_bool("pause", true) - -- FIXME: for whatever reason osd gets hidden when we pause the - -- playback like that, workaround to make input prompt appear - -- right away without requiring mouse or keyboard action - mp.osd_message(" ", 0.1) - end -end - -local function remove_chapter() - local chapter_count = mp.get_property_number("chapter-list/count") - - if chapter_count < 1 then - msg.verbose("no chapters to remove") - return - end - - local chapter_list = mp.get_property_native("chapter-list") - -- +1 because mpv indexes from 0, lua from 1 - local current_chapter = mp.get_property_number("chapter") + 1 - - table.remove(chapter_list, current_chapter) - msg.debug("removing chapter", current_chapter) - - mp.set_property_native("chapter-list", chapter_list) - chapters_modified = true -end - -local function write_chapter(format, force_write) - refresh_globals() - if not path or chapter_count == 0 or (not chapters_modified and not force_write) then - msg.debug("nothing to write") - return - end - - if o.global_chapters then dir = global_chapters_dir end - if o.hash and o.global_chapters then fname = get_chapter_filename(path) end - local out_path = utils.join_path(dir, fname .. o.chapter_file_ext) - local chapters = "" - local next_chapter = nil - for i = 1, chapter_count, 1 do - local current_chapter = all_chapters[i] - local time_pos = format_time(current_chapter.time) - if format == "ogm" then - next_chapter = "CHAPTER" .. string.format("%02.f", i) .. "=" .. time_pos .. "\n" .. - "CHAPTER" .. string.format("%02.f", i) .. "NAME=" .. current_chapter.title .. "\n" - elseif format == "chp" then - next_chapter = time_pos .. " " .. current_chapter.title .. "\n" - else - msg.warn("please specify the correct chapter format: chp/ogm.") - return - end - if i == 1 and (o.global_chapters or protocol) then - chapters = "# " .. path .. "\n\n" .. next_chapter - else - chapters = chapters .. next_chapter - end - end - - local file = io.open(out_path, "w") - if file == nil then - dir = global_chapters_dir - fname = url_decode(mp.get_property("media-title")) - if o.hash then fname = get_chapter_filename(path) end - out_path = utils.join_path(dir, fname .. o.chapter_file_ext) - file = io.open(out_path, "w") - end - if file == nil then - mp.error("Could not open chapter file for writing.") - return - end - file:write(chapters) - file:close() - if not o.autosave then - mp.osd_message("Export chapter file to: " .. out_path, 3) - end - msg.info("Export chapter file to: " .. out_path) -end - --- HOOKS ----------------------------------------------------------------------- - -if o.autoload then - mp.add_hook("on_preloaded", 50, function() - if o.force_overwrite then - mark_chapter(true) - else - mark_chapter(false) - end - end) -end - -if o.autosave then - mp.add_hook("on_unload", 50, function() - write_chapter("chp", false) - end) -end - -if user_input_loaded and not input_loaded then - mp.add_hook("on_unload", 50, function() user_input.cancel_user_input() end) -end - -mp.register_script_message("load_chapter", function() mark_chapter(true) end) -mp.register_script_message("create_chapter", create_chapter, { repeatable = true }) -mp.register_script_message("remove_chapter", remove_chapter) -mp.register_script_message("edit_chapter", edit_chapter) -mp.register_script_message("write_chapter", function(format) - write_chapter(format, true) -end) \ No newline at end of file diff --git a/scripts/chapterskip.lua b/scripts/chapterskip.lua deleted file mode 100644 index aa6bb38..0000000 --- a/scripts/chapterskip.lua +++ /dev/null @@ -1,91 +0,0 @@ --- chapterskip.lua --- --- Ain't Nobody Got Time for That --- --- This script skips chapters based on their title. - -local categories = { - prologue = "^[Pp]rologue/^[Ii]ntro", - opening = "^OP/ OP$/^[Oo]pening/[Oo]pening$", - ending = "^ED/ ED$/^[Ee]nding/[Ee]nding$", - credits = "^[Cc]redits/[Cc]redits$", - preview = "[Pp]review$" -} - -local options = { - enabled = false, - skip_once = true, - categories = "", - skip = "" -} - -mp.options = require "mp.options" - -function matches(i, title) - for category in string.gmatch(options.skip, " *([^;]*[^; ]) *") do - if categories[category:lower()] then - if string.find(category:lower(), "^idx%-") == nil then - if title then - for pattern in string.gmatch(categories[category:lower()], "([^/]+)") do - if string.match(title, pattern) then - return true - end - end - end - else - for pattern in string.gmatch(categories[category:lower()], "([^/]+)") do - if tonumber(pattern) == i then - return true - end - end - end - end - end -end - -local skipped = {} -local parsed = {} - -local function toggle_chapterskip() - options.enabled = not options.enabled -end - -function chapterskip(_, current) - mp.options.read_options(options, "chapterskip") - if not options.enabled then return end - for category in string.gmatch(options.categories, "([^;]+)") do - name, patterns = string.match(category, " *([^+>]*[^+> ]) *[+>](.*)") - if name then - categories[name:lower()] = patterns - elseif not parsed[category] then - mp.msg.warn("Improper category definition: " .. category) - end - parsed[category] = true - end - local chapters = mp.get_property_native("chapter-list") - local skip = false - for i, chapter in ipairs(chapters) do - if (not options.skip_once or not skipped[i]) and matches(i, chapter.title) then - if i == current + 1 or skip == i - 1 then - if skip then - skipped[skip] = true - end - skip = i - end - elseif skip then - mp.set_property("time-pos", chapter.time) - skipped[skip] = true - return - end - end - if skip then - if mp.get_property_native("playlist-count") == mp.get_property_native("playlist-pos-1") then - return mp.set_property("time-pos", mp.get_property_native("duration")) - end - mp.commandv("playlist-next") - end -end - -mp.observe_property("chapter", "number", chapterskip) -mp.register_event("file-loaded", function() skipped = {} end) -mp.register_script_message("chapter-skip", toggle_chapterskip) \ No newline at end of file diff --git a/scripts/command_palette.lua b/scripts/command_palette.lua deleted file mode 100644 index 6e28586..0000000 --- a/scripts/command_palette.lua +++ /dev/null @@ -1,1074 +0,0 @@ - --- https://github.com/stax76/mpv-scripts - ------ options - -local o = { - font_size = 16, - scale_by_window = false, - lines_to_show = 12, - pause_on_open = false, -- does not work on my system when enabled, menu won't show - resume_on_exit = "only-if-was-paused", - - -- styles - line_bottom_margin = 1, - menu_x_padding = 5, - menu_y_padding = 2, - - use_mediainfo = false, -- # true requires the MediaInfo CLI app being installed - stream_quality_options = "2160,1440,1080,720,480", - aspect_ratios = "4:3,16:9,2.35:1,1.36,1.82,0,-1", -} - -local opt = require "mp.options" -opt.read_options(o) - ------ string - -function is_empty(input) - if input == nil or input == "" then - return true - end -end - -function contains(input, find) - if not is_empty(input) and not is_empty(find) then - return input:find(find, 1, true) - end -end - -function starts_with(str, start) - return str:sub(1, #start) == start -end - -function split(input, sep) - assert(#sep == 1) -- supports only single character separator - local tbl = {} - - if input ~= nil then - for str in string.gmatch(input, "([^" .. sep .. "]+)") do - table.insert(tbl, str) - end - end - - return tbl -end - -function replace(str, what, with) - what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") - with = string.gsub(with, "[%%]", "%%%%") - return string.gsub(str, what, with) -end - -function first_to_upper(str) - return (str:gsub("^%l", string.upper)) -end - ------ list - -function list_contains(list, value) - for _, v in pairs(list) do - if v == value then - return true - end - end -end - ------ path - -function get_temp_dir() - local is_windows = package.config:sub(1,1) == "\\" - - if is_windows then - return os.getenv("TEMP") .. "\\" - else - return "/tmp/" - end -end - ----- file - -function file_exists(path) - if is_empty(path) then return false end - local file = io.open(path, "r") - - if file ~= nil then - io.close(file) - return true - end -end - -function file_write(path, content) - local file = assert(io.open(path, "w")) - file:write(content) - file:close() -end - ------ mpv - -local utils = require "mp.utils" -local assdraw = require 'mp.assdraw' -local msg = require "mp.msg" - ------ path mpv - -function file_name(value) - local _, filename = utils.split_path(value) - return filename -end - ------ main - -local command_palette_version = 1 -mp.commandv('script-message', 'command-palette-version', command_palette_version) - -local is_older_than_v0_36 = string.find(mp.get_property("mpv-version"), 'mpv v0%.[1-3][0-5]%.') == 1 - -if not is_older_than_v0_36 then - mp.set_property_native("user-data/command-palette/version", command_palette_version) -end - -local BluRayTitles = {} - -mp.enable_messages("info") - -mp.register_event('log-message', function(e) - if e.prefix ~= "bd" then - return - end - - if contains(e.text, " 0 duration: ") then - BluRayTitles = {} - end - - if contains(e.text, " duration: ") then - local match = string.match(e.text, "%d%d:%d%d:%d%d") - - if match then - table.insert(BluRayTitles, match) - end - end -end) - -local uosc_available = false -package.path = mp.command_native({ "expand-path", "~~/script-modules/?.lua;" }) .. package.path - -local em = require "extended-menu" -local menu = em:new(o) -local menu_content = { list = {}, current_i = nil } -local media_info_cache = {} -local original_set_active_func = em.set_active -local original_get_line_func = em.get_line - -function em:get_bindings() - local bindings = { - { 'esc', function() self:set_active(false) end }, - { 'enter', function() self:handle_enter() end }, - { 'bs', function() self:handle_backspace() end }, - { 'del', function() self:handle_del() end }, - { 'ins', function() self:handle_ins() end }, - { 'left', function() self:prev_char() end }, - { 'right', function() self:next_char() end }, - { 'ctrl+f', function() self:next_char() end }, - { 'up', function() self:change_selected_index(-1) end }, - { 'down', function() self:change_selected_index(1) end }, - { 'ctrl+up', function() self:move_history(-1) end }, - { 'ctrl+down', function() self:move_history(1) end }, - { 'ctrl+left', function() self:prev_word() end }, - { 'ctrl+right', function() self:next_word() end }, - { 'home', function() self:go_home() end }, - { 'end', function() self:go_end() end }, - { 'pgup', function() self:change_selected_index(-o.lines_to_show) end }, - { 'pgdwn', function() self:change_selected_index(o.lines_to_show) end }, - { 'ctrl+u', function() self:del_to_start() end }, - { 'ctrl+v', function() self:paste(true) end }, - { 'ctrl+bs', function() self:del_word() end }, - { 'ctrl+del', function() self:del_next_word() end }, - { 'kp_dec', function() self:handle_char_input('.') end }, - { 'mbtn_left', function() self:handle_enter() end }, - { 'mbtn_right', function() self:set_active(false) end }, - { 'wheel_up', function() self:change_selected_index(-1) end }, - { 'wheel_down', function() self:change_selected_index(1) end }, - { 'mbtn_forward',function() self:change_selected_index(-o.lines_to_show) end }, - { 'mbtn_back', function() self:change_selected_index(o.lines_to_show) end }, - } - - for i = 0, 9 do - bindings[#bindings + 1] = {'kp' .. i, function() self:handle_char_input('' .. i) end} - end - - return bindings -end - -function em:set_active(active) - original_set_active_func(self, active) - - if not active then - if osc_visibility == "auto" or osc_visibility == "always" then - mp.command("script-message osc-visibility " .. osc_visibility .. " no_osd") - osc_visibility = nil - elseif uosc_available then - mp.commandv('script-message-to', 'uosc', 'disable-elements', mp.get_script_name(), '') - end - end -end - -menu.index_field = "index" - -local function format_time(t, duration) - local h = math.floor(t / (60 * 60)) - t = t - (h * 60 * 60) - local m = math.floor(t / 60) - local s = t - (m * 60) - - if duration >= 60 * 60 or h > 0 then - return string.format("%.2d:%.2d:%.2d", h, m, s) - end - - return string.format("%.2d:%.2d", m, s) -end - -function get_media_info() - local path = mp.get_property("path") - - if contains(path, "://") or not file_exists(path) then - return - end - - if media_info_cache[path] then - return media_info_cache[path] - end - - local format_file = get_temp_dir() .. mp.get_script_name() .. " media-info-format-v1.txt" - - if not file_exists(format_file) then - media_info_format = [[General;N: %FileNameExtension%\\nG: %Format%, %FileSize/String%, %Duration/String%, %OverallBitRate/String%, %Recorded_Date%\\n -Video;V: %Format%, %Format_Profile%, %Width%x%Height%, %BitRate/String%, %FrameRate% FPS\\n -Audio;A: %Language/String%, %Format%, %Format_Profile%, %BitRate/String%, %Channel(s)% ch, %SamplingRate/String%, %Title%\\n -Text;S: %Language/String%, %Format%, %Format_Profile%, %Title%\\n]] - - file_write(format_file, media_info_format) - end - - local proc_result = mp.command_native({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - args = {"mediainfo", "--inform=file://" .. format_file, path}, - }) - - if proc_result.status == 0 then - local output = proc_result.stdout - - output = string.gsub(output, ", , ,", ",") - output = string.gsub(output, ", ,", ",") - output = string.gsub(output, ": , ", ": ") - output = string.gsub(output, ", \\n\r*\n", "\\n") - output = string.gsub(output, "\\n\r*\n", "\\n") - output = string.gsub(output, ", \\n", "\\n") - output = string.gsub(output, "\\n", "\n") - output = string.gsub(output, "%.000 FPS", " FPS") - output = string.gsub(output, "MPEG Audio, Layer 3", "MP3") - - media_info_cache[path] = output - - return output - end -end - -function binding_get_line(self, _, v) - local ass = assdraw.ass_new() - local cmd = self:ass_escape(v.cmd) - local key = self:ass_escape(v.key) - local comment = self:ass_escape(v.comment or '') - - if v.priority == -1 or v.priority == -2 then - local why_inactive = (v.priority == -1) and 'Inactive' or 'Shadowed' - ass:append(self:get_font_color('comment')) - - if comment ~= "" then - ass:append(comment .. '\\h') - end - - ass:append(key .. '\\h(' .. why_inactive .. ')' .. '\\h' .. cmd) - return ass.text - end - - if comment ~= "" then - ass:append(self:get_font_color('default')) - ass:append(comment .. '\\h') - end - - ass:append(self:get_font_color('accent')) - ass:append(key) - ass:append(self:get_font_color('comment')) - ass:append(' ' .. cmd) - return ass.text -end - -function command_palette_get_line(self, _, v) - local ass = assdraw.ass_new() - - if v.key == "" then - ass:append(self:get_font_color('default')) - ass:append(self:ass_escape(v.name or '')) - else - ass:append(self:get_font_color('default')) - ass:append(self:ass_escape(v.name or '') .. '\\h') - - ass:append(self:get_font_color('accent')) - ass:append(self:ass_escape("(" .. v.key .. ")")) - end - - return ass.text -end - -local function escape_codec(str) - if not str or str == '' then return '' end - - local codec_map = { - mpeg2 = "mpeg2", - dvvideo = "dv", - pcm = "pcm", - pgs = "pgs", - subrip = "srt", - vtt = "vtt", - dvd_sub = "vob", - dvb_sub = "dvb", - dvb_tele = "teletext", - arib = "arib" - } - - for key, value in pairs(codec_map) do - if str:find(key) then - return value - end - end - - return str -end - -local function format_flags(track) - local flags = "" - - for _, flag in ipairs({ - "default", "forced", "dependent", "visual-impaired", "hearing-impaired", - "image", "external" - }) do - if track[flag] then - flags = flags .. flag .. " " - end - end - - if flags == "" then - return "" - end - - return " [" .. flags:sub(1, -2) .. "]" -end - -local function format_track(track, type) - local title = track.title or '' - local filename = mp.get_property('filename/no-ext', ''):gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", "%%%0") - local codec = escape_codec(track.codec) - - if track.external and title ~= "" then - local extension = title:match("%.([^%.]+)$") - if filename ~= "" and extension then - title = title:gsub(filename .. "%.?", "") - end - if track.lang and extension - and title:lower() == track.lang:lower() .. "." .. extension:lower() then - title = extension - end - end - if title == '' then - local name = type:sub(1, 1):upper() .. type:sub(2, #type) - title = string.format('%s %02.f', name, track.id) - end - - local hints = {} - local function h(value) hints[#hints + 1] = value end - if codec ~= '' then h(codec) end - if track['demux-h'] then - h(track['demux-w'] and (track['demux-w'] .. 'x' .. track['demux-h'] or track['demux-h'] .. 'p')) - end - if track['demux-fps'] then h(string.format('%.5gfps', track['demux-fps'])) end - if track['audio-channels'] then h(track['audio-channels'] .. 'ch') end - if track['demux-samplerate'] then h(string.format('%.3gkHz', track['demux-samplerate'] / 1000)) end - if track['demux-bitrate'] then h(string.format('%.0fkbps', track['demux-bitrate'] / 1000)) end - if track.selected then - title = "● " .. title - else - title = "○ " .. title - end - if track.lang then title = string.format('%s\t(%s)', title, track.lang) end - if #hints > 0 then title = string.format('%s\t[%s]', title, table.concat(hints, ' ')) end - title = title .. format_flags(track) - return title -end - -local function select(conf) - for k, v in ipairs(conf.items) do - table.insert(menu_content.list, { index = k, content = v }) - end - - if conf.default_item then - menu_content.current_i = conf.default_item - end - - function menu:submit(value) - conf.submit(value) - end -end - -local function select_track(property, type, error) - local tracks = {} - local items = {} - local default_item - local track_id = mp.get_property_native(property) - - for _, track in ipairs(mp.get_property_native("track-list")) do - if track.type == type then - tracks[#tracks + 1] = track - items[#items + 1] = format_track(track, type) - - if track.id == track_id then - default_item = #items - end - end - end - - if #items == 0 then - mp.commandv("show-text", error) - return - end - - select({ - items = items, - default_item = default_item, - submit = function (tbl) - mp.command("set " .. property .. " " .. - (tracks[tbl.index].selected and "no" or tracks[tbl.index].id)) - end, - }) -end - -local function subtitle_line(data, codec) - local sub_lines = {} - local sub_times = {} - local default_item - local delay = mp.get_property_native("sub-delay") - local time_pos = mp.get_property_native("time-pos") - delay - local duration = mp.get_property_native("duration", math.huge) - local sub_content = {} - - -- Strip HTML and ASS tags and process subtitles - for line in data:gmatch("[^\n]+") do - -- Clean up tags - local sub_line = line:gsub("<.->", "") -- Strip HTML tags - :gsub("\\h+", " ") -- Replace '\h' tag - :gsub("{[\\=].-}", "") -- Remove ASS formatting - :gsub(".-]", "", 1) -- Remove time info prefix - :gsub("^%s*(.-)%s*$", "%1") -- Strip whitespace - :gsub("^m%s[mbl%s%-%d%.]+$", "") -- Remove graphics code - - if codec == "subrip" or (sub_line ~= "" and sub_line:match("^%s+$") == nil) then - local sub_time = line:match("%d+") * 60 + line:match(":([%d%.]*)") - local time_seconds = math.floor(sub_time) - sub_content[time_seconds] = sub_content[time_seconds] or {} - sub_content[time_seconds][sub_line] = true - end - end - - -- Process all timestamps and content into selectable subtitle list - for time_seconds, contents in pairs(sub_content) do - for sub_line in pairs(contents) do - sub_times[#sub_times + 1] = time_seconds - sub_lines[#sub_lines + 1] = format_time(time_seconds, duration) .. " " .. sub_line - end - end - - -- Generate time -> subtitle mapping - local time_to_lines = {} - for i = 1, #sub_times do - local time = sub_times[i] - local line = sub_lines[i] - - if not time_to_lines[time] then - time_to_lines[time] = {} - end - table.insert(time_to_lines[time], line) - end - - -- Sort by timestamp - local sorted_sub_times = {} - for i = 1, #sub_times do - sorted_sub_times[i] = sub_times[i] - end - table.sort(sorted_sub_times) - - -- Use a helper table to avoid duplicates - local added_times = {} - - -- Rebuild sub_lines and sub_times based on the sorted timestamps - local sorted_sub_lines = {} - for _, sub_time in ipairs(sorted_sub_times) do - -- Iterate over all subtitle content for this timestamp - if not added_times[sub_time] then - added_times[sub_time] = true - for _, line in ipairs(time_to_lines[sub_time]) do - table.insert(sorted_sub_lines, line) - end - end - end - - -- Use the sorted subtitle list - sub_lines = sorted_sub_lines - sub_times = sorted_sub_times - - -- Get the default item (last subtitle before current time position) - for i, sub_time in ipairs(sub_times) do - if sub_time <= time_pos then - default_item = i - end - end - - return sub_lines, sub_times, default_item -end - -function hide_osc() - if is_empty(mp.get_property("path")) and not is_older_than_v0_36 then - osc_visibility = mp.get_property_native("user-data/osc/visibility") - - if osc_visibility == "auto" or osc_visibility == "always" then - mp.command("script-message osc-visibility never no_osd") - end - end - - if uosc_available then - local disable_elements = "window_border, top_bar, timeline, controls, volume, idle_indicator, audio_indicator, buffering_indicator, pause_indicator" - mp.commandv('script-message-to', 'uosc', 'disable-elements', mp.get_script_name(), disable_elements) - end -end - -mp.register_script_message("show-command-palette", function (name) - menu_content.list = {} - menu_content.current_i = 1 - menu.search_heading = name - menu.filter_by_fields = { "content" } - em.get_line = original_get_line_func - - if menu.is_active then - menu:set_active(false) - return - end - - if name == "Command Palette" then - local menu_items = {} - local bindings = utils.parse_json(mp.get_property("input-bindings")) - - local items = { - "Playlist", - "Tracks", - "Video Tracks", - "Audio Tracks", - "Subtitle Tracks", - "Secondary Subtitle", - "Subtitle Line", - "Chapters", - "Editions", - "Profiles", - "Bindings", - "Commands", - "Properties", - "Options", - "Audio Devices", - "Blu-ray Titles", - "Stream Quality", - "Aspect Ratio", - "Command Palette", - "Recent Files", - } - - for _, item in ipairs(items) do - local found = false - - for _, binding in ipairs(bindings) do - if contains(binding.cmd, "show-command-palette") and - (contains(binding.cmd, '"' .. item .. '"') or - contains(binding.cmd, "'" .. item .. "'")) then - - table.insert(menu_items, { name = item, key = binding.key, cmd = binding.cmd }) - found = true - break - end - end - - if not found then - local cmd = "script-message-to command_palette show-command-palette '" .. item .. "'" - table.insert(menu_items, { name = item, key = "", cmd = cmd }) - end - end - - menu_content.list = menu_items - - function menu:submit(tbl) - mp.command(tbl.cmd) - end - - menu.filter_by_fields = {'name', 'key'} - em.get_line = command_palette_get_line - elseif name == "Bindings" then - local bindings = utils.parse_json(mp.get_property("input-bindings")) - - for _, v in ipairs(bindings) do - v.key = "(" .. v.key .. ")" - - if not is_empty(v.comment) then - if contains(v.comment, "custom-menu: ") then - v.comment = replace(v.comment, "custom-menu: ", "") - end - - if contains(v.comment, "menu: ") then - v.comment = replace(v.comment, "menu: ", "") - end - - v.comment = first_to_upper(v.comment) - end - end - - for _, v in ipairs(bindings) do - for _, v2 in ipairs(bindings) do - if v.key == v2.key and v.priority < v2.priority then - v.priority = -2 - break - end - end - end - - table.sort(bindings, function(i, j) - return i.priority > j.priority - end) - - menu_content.list = bindings - - function menu:submit(tbl) - mp.command(tbl.cmd) - end - - menu.filter_by_fields = {'cmd', 'key', 'comment'} - em.get_line = binding_get_line - elseif name == "Chapters" then - local default_index = mp.get_property_native("chapter") - - if not default_index then - mp.commandv("show-text", "Chapter: (unavailable)") - return - end - - local duration = mp.get_property_native("duration", math.huge) - - for i, chapter in ipairs(mp.get_property_native("chapter-list")) do - table.insert(menu_content.list, { index = i, content = format_time(chapter.time, duration) .. " " - .. chapter.title or ("Chapter " .. string.format("%02.f", i))}) - end - - menu_content.current_i = default_index + 1 - - function menu:submit(tbl) - mp.set_property_number("chapter", tbl.index - 1) - end - elseif name == "Editions" then - local default_index = mp.get_property_native("current-edition") - - if not default_index then - mp.commandv("show-text", "Edition: (unavailable)") - return - end - - for i, edition in ipairs(mp.get_property_native("edition-list")) do - table.insert(menu_content.list, { index = i, content = edition.title or - ("Edition " .. string.format("%02.f", i))}) - end - - menu_content.current_i = default_index + 1 - - function menu:submit(tbl) - mp.set_property_number("edition", tbl.index - 1) - end - elseif name == "Playlist" then - local count = mp.get_property_number("playlist-count") - local show = mp.get_property_native("osd-playlist-entry") - if count == 0 then return end - - for i = 0, (count - 1) do - local text = mp.get_property("playlist/" .. i .. "/title") - - if not text or show ~= "title" then - text = file_name(mp.get_property("playlist/" .. i .. "/filename")) - end - - table.insert(menu_content.list, { index = i + 1, content = text }) - end - - menu_content.current_i = mp.get_property_number("playlist-pos") + 1 - - function menu:submit(tbl) - mp.set_property_number("playlist-pos", tbl.index - 1) - end - elseif name == "Commands" then - local commands = utils.parse_json(mp.get_property("command-list")) - - for k, v in ipairs(commands) do - local text = v.name - - for _, arg in ipairs(v.args) do - if arg.optional then - text = text .. " [<" .. arg.name .. ">]" - else - text = text .. " <" .. arg.name .. ">" - end - end - - table.insert(menu_content.list, { index = k, content = text }) - end - - function menu:submit(tbl) - print(tbl.content) - local cmd = string.match(tbl.content, '%S+') - mp.commandv("script-message-to", "console", "type", cmd .. " ") - end - elseif name == "Properties" then - local properties = split(mp.get_property("property-list"), ",") - - for k, v in ipairs(properties) do - table.insert(menu_content.list, { index = k, content = v }) - end - - function menu:submit(tbl) - mp.commandv('script-message-to', 'console', 'type', "print-text ${" .. tbl.content .. "}") - end - elseif name == "Options" then - local options = split(mp.get_property("options"), ",") - - for k, v in ipairs(options) do - local type = mp.get_property_osd("option-info/" .. v .. "/type", "") - local default =mp.get_property_osd("option-info/" .. v .. "/default-value", "") - v = v .. " (type: " .. type .. ", default: " .. default .. ")" - table.insert(menu_content.list, { index = k, content = v }) - end - - function menu:submit(tbl) - print(tbl.content) - local prop = string.match(tbl.content, '%S+') - mp.commandv("script-message-to", "console", "type", "set " .. prop .. " ") - end - elseif name == "Profiles" then - local profiles = utils.parse_json(mp.get_property("profile-list")) - local ignore_list = {"builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default"} - - for k, v in ipairs(profiles) do - if not list_contains(ignore_list, v.name) then - table.insert(menu_content.list, { index = k, content = v.name }) - end - end - - function menu:submit(tbl) - mp.command("show-text " .. tbl.content); - mp.command("apply-profile " .. tbl.content); - end - elseif name == "Audio Devices" then - local devices = utils.parse_json(mp.get_property("audio-device-list")) - local current_name = mp.get_property("audio-device") - - for k, v in ipairs(devices) do - table.insert(menu_content.list, { index = k, name = v.name, content = v.description }) - - if v.name == current_name then - menu_content.current_i = k - end - end - - function menu:submit(tbl) - mp.commandv("set", "audio-device", tbl.name) - mp.commandv("show-text", "audio-device: " .. tbl.content) - end - elseif name == "Aspect Ratio" then - local current_ar = mp.get_property_number("video-aspect-override") - - for k, v in ipairs(split(o.aspect_ratios, ",")) do - local display_name = v - - if display_name == "0" then display_name = "0 (square pixels)" end - if display_name == "-1" then display_name = "-1 (original)" end - - table.insert(menu_content.list, { index = k, content = display_name, value = v }) - - local w, h = string.match(v, "^([0-9.]+):([0-9.]+)$") - - if w and h then - local current_ar_truncated = tonumber(string.format("%.3f", current_ar)) - local ar_truncated = tonumber(string.format("%.3f", w / h)) - - if current_ar_truncated == ar_truncated then - menu_content.current_i = k - end - elseif v == tostring(current_ar) then - menu_content.current_i = k - end - end - - function menu:submit(tbl) - mp.command("set video-aspect-override " .. tbl.value) - end - elseif name == "Stream Quality" then - local ytdl_format = mp.get_property_native('ytdl-format') - - for k, v in ipairs(split(o.stream_quality_options, ",")) do - local format = 'bestvideo[height<=?' .. v .. ']+bestaudio/best[height<=?' .. v .. ']' - table.insert(menu_content.list, { index = k, content = v .. 'p', value = format }) - - if format == ytdl_format then - menu_content.current_i = k - end - end - - function menu:submit(tbl) - mp.set_property('ytdl-format', tbl.value) - mp.commandv("show-text", "Stream Quality: " .. tbl.content) - - local duration = mp.get_property_native('duration') - local time_pos = mp.get_property('time-pos') - - mp.command('playlist-play-index current') - - if duration and duration > 0 then - local function seeker() - mp.commandv('seek', time_pos, 'absolute') - mp.unregister_event(seeker) - end - - mp.register_event('file-loaded', seeker) - end - end - elseif name == "Tracks" then - local tracks = {} - - for i, track in ipairs(mp.get_property_native("track-list")) do - local type = track.image and "I" or track.type - - if type == "video" then track_type = "V" end - if type == "audio" then track_type = "A" end - if type == "sub" then track_type = "S" end - - tracks[i] = track_type .. ": " .. format_track(track, type) - end - - if #tracks == 0 then - mp.commandv("show-text", "No available tracks") - return - end - - select({ - items = tracks, - submit = function (tbl) - local track = mp.get_property_native("track-list/" .. tbl.index - 1) - - if track then - mp.command("set " .. track.type .. " " .. (track.selected and "no" or track.id)) - end - end, - }) - elseif name == "Audio Tracks" then - if o.use_mediainfo then - local mi = get_media_info() - if mi == nil then return end - local tracks = split(mi .. "\nA: None", "\n") - local id = 0 - - for _, v in ipairs(tracks) do - if starts_with(v, "A: ") then - id = id + 1 - table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) - end - end - - menu_content.current_i = mp.get_property_number("aid") or id - - function menu:submit(tbl) - mp.command("set aid " .. ((tbl.index == id) and 'no' or tbl.index)) - end - else - select_track("aid", "audio", "No available audio tracks") - end - elseif name == "Subtitle Tracks" then - if o.use_mediainfo then - local mi = get_media_info() - if mi == nil then return end - local tracks = split(mi .. "\nS: None", "\n") - local id = 0 - - for _, v in ipairs(tracks) do - if starts_with(v, "S: ") then - id = id + 1 - table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) - end - end - - menu_content.current_i = mp.get_property_number("sid") or id - - function menu:submit(tbl) - mp.command("set sid " .. ((tbl.index == id) and 'no' or tbl.index)) - end - else - select_track("sid", "sub", "No available subtitle tracks") - end - elseif name == "Secondary Subtitle" then - select_track("secondary-sid", "sub", "No available subtitle tracks") - elseif name == "Recent Files" then - mp.command("script-message open-recent-menu command-palette") - return - elseif name == "Video Tracks" then - if o.use_mediainfo then - local mi = get_media_info() - if mi == nil then return end - local tracks = split(mi .. "\nV: None", "\n") - local id = 0 - - for _, v in ipairs(tracks) do - if starts_with(v, "V: ") then - id = id + 1 - table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) - end - end - - menu_content.current_i = mp.get_property_number("vid") or id - - function menu:submit(tbl) - mp.command("set vid " .. ((tbl.index == id) and 'no' or tbl.index)) - end - else - select_track("vid", "video", "No available video tracks") - end - elseif name == "Blu-ray Titles" then - if #BluRayTitles == 0 then - return - end - - local items = {} - - for k, v in ipairs(BluRayTitles) do - table.insert(items, "Title " .. k .. " " .. v) - end - - select({ - items = items, - submit = function (tbl) - mp.commandv("loadfile", "bd://" .. (tbl.index - 1)) - end, - }) - elseif name == "Subtitle Line" then - local sub = mp.get_property_native("current-tracks/sub") - - if sub == nil then - mp.commandv("show-text", "No subtitle is loaded") - return - end - - if sub.external and sub["external-filename"]:find("^edl://") then - sub["external-filename"] = sub["external-filename"]:match('https?://.*') - or sub["external-filename"] - end - - local r = mp.command_native({ - name = "subprocess", - capture_stdout = true, - args = sub.external - and {"ffmpeg", "-loglevel", "error", "-i", sub["external-filename"], - "-f", "lrc", "-map_metadata", "-1", "-fflags", "+bitexact", "-"} - or {"ffmpeg", "-loglevel", "error", "-i", mp.get_property("path"), - "-map", "s:" .. sub["id"] - 1, "-f", "lrc", "-map_metadata", - "-1", "-fflags", "+bitexact", "-"} - }) - - if r.error_string == "init" then - mp.commandv("show-text", "Failed to extract subtitles: ffmpeg not found") - return - elseif r.status ~= 0 then - mp.commandv("show-text", "Failed to extract subtitles") - return - end - - local delay = mp.get_property_native("sub-delay") - - local sub_lines, sub_times, default_item = subtitle_line(r.stdout, sub.codec) - - select({ - items = sub_lines, - default_item = default_item, - submit = function (tbl) - -- Add an offset to seek to the correct line while paused without a video track. - if mp.get_property_native("current-tracks/video/image") ~= false then - delay = delay + 0.1 - end - - mp.commandv("seek", sub_times[tbl.index] + delay, "absolute") - end, - }) - else - if name == nil then - msg.error("Unknown mode") - else - msg.error("Unknown mode: " .. name) - end - - return - end - - hide_osc() - menu:init(menu_content) -end) - -mp.register_script_message('uosc-version', function(version) - local major, minor = version:match('^(%d+)%.(%d+)') - if major and minor and tonumber(major) >= 5 and tonumber(minor) >= 0 then - uosc_available = true - end -end) - -mp.register_script_message("show-command-palette-json", function (json) - local menu_data = utils.parse_json(json) - menu_content.list = {} - menu_content.current_i = 1 - menu.search_heading = menu_data.title - menu.filter_by_fields = { "content", "hint", "value_hint" } - em.get_line = original_get_line_func - - for k, v in ipairs(menu_data.items) do - local values = v.value - - if type(values) == "string" then - values = { values } - end - - table.insert(menu_content.list, { - index = k, - content = v.title, - hint = v.hint, - values = values, - value_hint = table.concat(values, " "), - }) - - if menu_data.selected_index then - menu_content.current_i = menu_data.selected_index - end - end - - function menu:submit(tbl) - mp.command_native(tbl.values) - end - - hide_osc() - menu:init(menu_content) -end) diff --git a/scripts/cycle-commands.lua b/scripts/cycle-commands.lua deleted file mode 100644 index 1a0254c..0000000 --- a/scripts/cycle-commands.lua +++ /dev/null @@ -1,80 +0,0 @@ ---[[ - script to cycle commands with a keybind, accomplished through script messages - available at: https://github.com/CogentRedTester/mpv-scripts - - syntax: - script-message cycle-commands "command1 args" "command2 args" "command3 args" - - The syntax of each command is identical to the standard input.conf syntax, but each command must be - a quoted string. Note that this may require you to nest (and potentially escape) quotes for the arguments. - Read the mpv documentation for how to do this: https://mpv.io/manual/master/#flat-command-syntax. - - Semicolons also work exactly like they do normally, so you can easily send multiple commands each cycle. - - Here are some examples of the same command using different quotes: - script-message cycle-commands "show-text one 1000 ; print-text two" "show-text \"three four\"" - script-message cycle-commands 'show-text one 1000 ; print-text two' 'show-text "three four"' - script-message cycle-commands ``show-text one 1000 ; print-text two`` ``show-text "three four"`` - - This would, on keypress one, print 'one' to the OSD for 1 second and 'two' to the console, - and on keypress two 'three four' would be printed to the OSD. - Note that single (') and backtick (`) quoting was only added in mpv v0.34. - - There are no limits to the number of commands, and the script message can be used as often as one wants. - The script stores the current iteration position for each unique set of command strings, - so there should be no overlap unless one binds the exact same set of strings (including spacing). - - If the first command is `!reverse`, then the commands are cycled in the opposite direction. - If every subsequent command string is identical to a non-reversed cycle, then they share - their iteration position, making it possible to 'seek' forwards or backwards in the cycle: - script-message cycle-commands 'apply-profile profile1' 'apply-profile profile2' 'apply-profile profile3' - script-message cycle-commands !reverse 'apply-profile profile1' 'apply-profile profile2' 'apply-profile profile3' - - Most commands should print messages to the OSD automatically, this can be controlled - by adding input prefixes to the commands: https://mpv.io/manual/master/#input-command-prefixes. - Some commands will not print an osd message even when told to, in this case you have two options: - you can add a show-text command to the cycle, or you can use the cycle-commands/osd script message - which will print the command string to the osd. For example: - script-message cycle-commands 'apply-profile profile1;show-text "applying profile1"' 'apply-profile profile2;show-text "applying profile2"' - script-message cycle-commands/osd 'apply-profile profile1' 'apply-profile profile2' - - Any osd messages printed by the command will override the message sent by cycle-commands/osd. -]]-- - -local mp = require 'mp' -local msg = require 'mp.msg' - ---keeps track of the current position for a specific cycle -local iterators = {} - ---main function to identify and run the cycles -local function main(osd, ...) - local commands = {...} - - local reverse = commands[1] == '!reverse' - if reverse then table.remove(commands, 1) end - - --to identify the specific cycle we'll concatenate all the strings together to use as our table key - local str = ("%d> %s"):format(#commands, table.concat(commands, '|')) - msg.trace('recieved:', str) - - -- we'll initialise the iterator at 0 (an invalid position) to support forward or backwards iteration - if iterators[str] == nil then - msg.debug('unknown cycle, creating iterator') - iterators[str] = 0 - end - - iterators[str] = iterators[str] + (reverse and -1 or 1) - if iterators[str] > #commands then iterators[str] = 1 end - if iterators[str] < 1 then iterators[str] = #commands end - - --mp.command should run the commands exactly as if they were entered in input.conf. - --This should provide universal support for all input.conf command syntax - local cmd = commands[ iterators[str] ] - msg.verbose('sending command:', cmd) - if osd then mp.osd_message(cmd) end - mp.command(cmd) -end - -mp.register_script_message('cycle-commands', function(...) main(false, ...) end) -mp.register_script_message('cycle-commands/osd', function(...) main(true, ...) end) \ No newline at end of file diff --git a/scripts/delete-current-file.lua b/scripts/delete-current-file.lua deleted file mode 100644 index 0856579..0000000 --- a/scripts/delete-current-file.lua +++ /dev/null @@ -1,169 +0,0 @@ - ---[[ - - https://github.com/stax76/mpv-scripts - - This script instantly deletes the file that is currently playing - via keyboard shortcut, the file is moved to the recycle bin and - removed from the playlist. - - On Linux the app trash-cli must be installed first. - On Ubuntu: sudo apt install trash-cli - - Usage: - Add bindings to input.conf: - - # delete directly - KP0 script-message-to delete_current_file delete-file - - # delete with confirmation - KP0 script-message-to delete_current_file delete-file KP1 "Press 1 to delete file" - - Press KP0 to initiate the delete operation, - the script will ask to confirm by pressing KP1. - You may customize the the init and confirm key and the confirm message. - Confirm key and confirm message are optional. - - Similar scripts: - https://github.com/zenyd/mpv-scripts#delete-file - -]]-- - -key_bindings = {} - -function file_exists(name) - if not name or name == '' then - return false - end - - local f = io.open(name, "r") - - if f ~= nil then - io.close(f) - return true - else - return false - end -end - -function is_protocol(path) - return type(path) == 'string' and (path:match('^%a[%a%d_-]+://')) -end - -function delete_file(path) - local is_windows = package.config:sub(1,1) == "\\" - - if is_protocol(path) or not file_exists(path) then - return - end - - if is_windows then - local ps_code = [[ - Add-Type -AssemblyName Microsoft.VisualBasic - [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') - ]] - - local escaped_path = string.gsub(path, "'", "''") - escaped_path = string.gsub(escaped_path, "’", "’’") - escaped_path = string.gsub(escaped_path, "%%", "%%%%") - ps_code = string.gsub(ps_code, "__path__", escaped_path) - - mp.command_native({ - name = "subprocess", - playback_only = false, - detach = true, - args = { 'powershell', '-NoProfile', '-Command', ps_code }, - }) - else - mp.command_native({ - name = "subprocess", - playback_only = false, - args = { 'trash', path }, - }) - end -end - -function remove_current_file() - local count = mp.get_property_number("playlist-count") - local pos = mp.get_property_number("playlist-pos") - local new_pos = 0 - - if pos == count - 1 then - new_pos = pos - 1 - else - new_pos = pos + 1 - end - - mp.set_property_number("playlist-pos", new_pos) - - if pos > -1 then - mp.command("playlist-remove " .. pos) - end -end - -function handle_confirm_key() - local path = mp.get_property("path") - - if file_to_delete == path then - mp.commandv("show-text", "") - delete_file(file_to_delete) - remove_current_file() - remove_bindings() - file_to_delete = "" - end -end - -function cleanup() - remove_bindings() - file_to_delete = "" - mp.commandv("show-text", "") -end - -function get_bindings() - return { - { confirm_key, handle_confirm_key }, - } -end - -function add_bindings() - if #key_bindings > 0 then - return - end - - local script_name = mp.get_script_name() - - for _, bind in ipairs(get_bindings()) do - local name = script_name .. "_key_" .. (#key_bindings + 1) - key_bindings[#key_bindings + 1] = name - mp.add_forced_key_binding(bind[1], name, bind[2]) - end -end - -function remove_bindings() - if #key_bindings == 0 then - return - end - - for _, name in ipairs(key_bindings) do - mp.remove_key_binding(name) - end - - key_bindings = {} -end - -function client_message(event) - local path = mp.get_property("path") - - if event.args[1] == "delete-file" and #event.args == 1 then - delete_file(path) - remove_current_file() - elseif event.args[1] == "delete-file" and #event.args == 3 and #key_bindings == 0 then - confirm_key = event.args[2] - mp.add_timeout(10, cleanup) - add_bindings() - file_to_delete = path - mp.commandv("show-text", event.args[3], "10000") - end -end - -mp.register_event("client-message", client_message) diff --git a/scripts/delete_current_file.lua b/scripts/delete_current_file.lua deleted file mode 100644 index cb3365b..0000000 --- a/scripts/delete_current_file.lua +++ /dev/null @@ -1,169 +0,0 @@ - ---[[ - - https://github.com/stax76/mpv-scripts - - This script instantly deletes the file that is currently playing - via keyboard shortcut, the file is moved to the recycle bin and - removed from the playlist. - - On Linux the app trash-cli must be installed first. - On Ubuntu: sudo apt install trash-cli - - Usage: - Add bindings to input.conf: - - # delete directly - KP0 script-message-to delete_current_file delete-file - - # delete with confirmation - KP0 script-message-to delete_current_file delete-file KP1 "Press 1 to delete file" - - Press KP0 to initiate the delete operation, - the script will ask to confirm by pressing KP1. - You may customize the the init and confirm key and the confirm message. - Confirm key and confirm message are optional. - - Similar scripts: - https://github.com/zenyd/mpv-scripts#delete-file - -]]-- - -key_bindings = {} - -function file_exists(name) - if not name or name == '' then - return false - end - - local f = io.open(name, "r") - - if f ~= nil then - io.close(f) - return true - else - return false - end -end - -function is_protocol(path) - return type(path) == 'string' and (path:match('^%a[%a%d_-]+://')) -end - -function delete_file(path) - local is_windows = package.config:sub(1,1) == "\\" - - if is_protocol(path) or not file_exists(path) then - return - end - - if is_windows then - local ps_code = [[ - Add-Type -AssemblyName Microsoft.VisualBasic - [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') - ]] - - local escaped_path = string.gsub(path, "'", "''") - escaped_path = string.gsub(escaped_path, "’", "’’") - escaped_path = string.gsub(escaped_path, "%%", "%%%%") - ps_code = string.gsub(ps_code, "__path__", escaped_path) - - mp.command_native({ - name = "subprocess", - playback_only = false, - detach = true, - args = { 'powershell', '-NoProfile', '-Command', ps_code }, - }) - else - mp.command_native({ - name = "subprocess", - playback_only = false, - args = { 'trash', path }, - }) - end -end - -function remove_current_file() - local count = mp.get_property_number("playlist-count") - local pos = mp.get_property_number("playlist-pos") - local new_pos = 0 - - if pos == count - 1 then - new_pos = pos - 1 - else - new_pos = pos + 1 - end - - mp.set_property_number("playlist-pos", new_pos) - - if pos > -1 then - mp.command("playlist-remove " .. pos) - end -end - -function handle_confirm_key() - local path = mp.get_property("path") - - if file_to_delete == path then - mp.commandv("show-text", "") - delete_file(file_to_delete) - remove_current_file() - remove_bindings() - file_to_delete = "" - end -end - -function cleanup() - remove_bindings() - file_to_delete = "" - mp.commandv("show-text", "") -end - -function get_bindings() - return { - { confirm_key, handle_confirm_key }, - } -end - -function add_bindings() - if #key_bindings > 0 then - return - end - - local script_name = mp.get_script_name() - - for _, bind in ipairs(get_bindings()) do - local name = script_name .. "_key_" .. (#key_bindings + 1) - key_bindings[#key_bindings + 1] = name - mp.add_forced_key_binding(bind[1], name, bind[2]) - end -end - -function remove_bindings() - if #key_bindings == 0 then - return - end - - for _, name in ipairs(key_bindings) do - mp.remove_key_binding(name) - end - - key_bindings = {} -end - -function client_message(event) - local path = mp.get_property("path") - - if event.args[1] == "delete-file" and #event.args == 1 then - delete_file(path) - remove_current_file() - elseif event.args[1] == "delete-file" and #event.args == 3 and #key_bindings == 0 then - confirm_key = event.args[2] - mp.add_timeout(10, cleanup) - add_bindings() - file_to_delete = path - mp.commandv("show-text", event.args[3], "10000") - end -end - -mp.register_event("client-message", client_message) \ No newline at end of file diff --git a/scripts/evafast.lua b/scripts/evafast.lua deleted file mode 100644 index 3dd93f2..0000000 --- a/scripts/evafast.lua +++ /dev/null @@ -1,396 +0,0 @@ --- evafast.lua --- --- Much speed. --- --- Jumps forwards when right arrow is tapped, speeds up when it's held. --- Inspired by bilibili.com's player. Allows you to have both seeking and fast-forwarding on the same key. --- Also supports toggling fastforward mode with a keypress. --- Adjust --input-ar-delay to define when to start fastforwarding. --- Define --hr-seek if you want accurate seeking. --- If you just want a nicer fastforward.lua without hybrid key behavior, set seek_distance to 0. --- Consider setting --sub-filter-regex="\`\s*\'" (on Linux) to ignore empty lines. - -local options = { - -- How far to jump on press, set to 0 to disable seeking and force fastforward - seek_distance = 5, - - -- Playback speed modifier, applied once every speed_interval until cap is reached - speed_increase = 0.1, - speed_decrease = 0.1, - - -- At what interval to apply speed modifiers - speed_interval = 0.05, - - -- Playback speed cap - speed_cap = 2, - - -- Playback speed cap when subtitles are displayed, ignored when equal to speed_cap - subs_speed_cap = 1.6, - - -- Multiply current speed by modifier before adjustment (exponential speedup) - -- Use much lower values than default e.g. speed_increase=0.05, speed_decrease=0.025 - multiply_modifier = false, - - -- Show current speed on the osd (or flash speed if using uosc) - show_speed = true, - - -- Show current speed on the osd when toggled (or flash speed if using uosc) - show_speed_toggled = true, - - -- Show current speed on the osd when speeding up towards a target time (or flash speed if using uosc) - show_speed_target = false, - - -- Show seek actions on the osd (or flash timeline if using uosc) - show_seek = true, - - -- Look ahead for smoother transition when subs_speed_cap is set - subs_lookahead = true, - - -- Symbols prepended to the osd message - osd_symbol = "{\\fnmpv-osd-symbols} {\\r}", - osd_rewind = "{\\fnmpv-osd-symbols} {\\r}" -} - -mp.options = require "mp.options" -mp.options.read_options(options, "evafast", function() end) - -local uosc_available = false -local has_subtitle = true -local speedup_target = nil -local toggled_display = true -local toggled = false -local toggled_rewind = false -local speedup = false -local original_speed = 1 -local next_sub_at = -1 -local rewinding = false -local forced_slowdown = false -local file_duration = 0 -local last_key_state = "up" -local was_rewinding = false - -local ass_start = mp.get_property_osd("osd-ass-cc/0") -local ass_stop = mp.get_property_osd("osd-ass-cc/1") - -local function speed_transition(current_speed, target_speed) - local speed_correction = current_speed >= target_speed and -options.speed_decrease or options.speed_increase - - local time_for_correction = 0 - local adjusted_speed = current_speed - - while adjusted_speed ~= target_speed do - time_for_correction = time_for_correction + options.speed_interval * adjusted_speed - - if options.multiply_modifier then - adjusted_speed = adjusted_speed + adjusted_speed * speed_correction - else - adjusted_speed = adjusted_speed + speed_correction - end - - if (current_speed < target_speed and adjusted_speed > target_speed) or (current_speed > target_speed and adjusted_speed < target_speed) then - adjusted_speed = target_speed - end - end - - return time_for_correction -end - -local function next_sub(current_time) - local sub_delay = mp.get_property_native("sub-delay", 0) - local sub_visible = mp.get_property_bool("sub-visibility") - - if sub_visible then - mp.set_property_bool("sub-visibility", false) - end - - mp.command("no-osd sub-step 1") - - local sub_next_delay = mp.get_property_native("sub-delay", 0) - mp.set_property("sub-delay", sub_delay) - - if sub_visible then - mp.set_property_bool("sub-visibility", sub_visible) - end - - if sub_delay - sub_next_delay == 0 then - return -2 - end - - local sub_next = current_time + sub_delay - sub_next_delay - - normalized = math.floor(sub_next * 1000 + 0.5) / 1000 - return normalized -end - -local function flash_state(current_speed, display, forced) - local uosc_show = uosc_available and (display == nil or display == "uosc") - local osd_show = not uosc_available and (display == nil or display == "osd") - - local show_special = (not speedup_target and options.show_speed_toggled) or (speedup_target and options.show_speed_target) - local show_toggled = show_special and (toggled or not speedup) - local show_regular = not toggled and toggled_display and options.show_speed - - if current_speed and (show_regular or show_toggled or forced) then - if uosc_show then - mp.command("script-binding uosc/flash-speed") - elseif osd_show then - if current_speed == true then - current_speed = mp.get_property_number("speed", 1) - end - mp.osd_message(ass_start .. (was_rewinding and options.osd_rewind or options.osd_symbol) .. ass_stop .. string.format("x%.1f", current_speed)) - end - elseif not current_speed and options.show_seek then - if uosc_show then - mp.command("script-binding uosc/flash-timeline") - elseif osd_show then - mp.osd_message(ass_start .. (was_rewinding and options.osd_rewind or options.osd_symbol)) - end - end -end - -local function ensure_timer(reset) - if not reset and speed_timer:is_enabled() then return end - - speed_timer.timeout = 0 - speed_timer:resume() - speed_timer.timeout = options.speed_interval -end - -local function evafast_speedup(toggle) - if not toggled and not speedup_target and not speed_timer:is_enabled() then - original_speed = mp.get_property_number("speed", 1) - end - - speedup = true - - if toggle then - toggled = true - end - - ensure_timer() -end - -local function evafast_slowdown(display) - forced_slowdown = false - if not display then - toggled_display = false - end - toggled = false - speedup = false - - ensure_timer() -end - -local function evafast_toggle() - if toggled_rewind then - mp.set_property("play-dir", "+") - end - toggled_rewind = false - if speedup then - evafast_slowdown() - else - evafast_speedup(true) - end -end - -local function evafast_toggle_rewind() - rewinding = not speedup - mp.set_property("play-dir", rewinding and "-" or "+") - evafast_toggle() - toggled_rewind = rewinding -end - -local function adjust_speed() - local current_time = mp.get_property_number("time-pos", 0) - local current_speed = mp.get_property_number("speed", 1) - local target_speed = original_speed - - if speedup then - target_speed = options.speed_cap - - if has_subtitle and target_speed ~= options.subs_speed_cap then - local sub_displayed = mp.get_property("sub-start") ~= nil - - if sub_displayed then - target_speed = options.subs_speed_cap - elseif options.subs_lookahead then - if next_sub_at < current_time and next_sub_at ~= -2 then - next_sub_at = next_sub(current_time) - end - if target_speed ~= options.subs_speed_cap and next_sub_at > current_time then - local time_for_correction = speed_transition(options.speed_cap, options.subs_speed_cap) - if current_time + time_for_correction >= next_sub_at then - target_speed = options.subs_speed_cap - end - end - end - end - - if speedup_target ~= nil then - local effective_speedup_target = speedup_target >= 0 and speedup_target or (file_duration + speedup_target) - - if current_time >= effective_speedup_target then - evafast_slowdown() - else - local time_for_correction = speed_transition(current_speed, original_speed) - if current_time + time_for_correction > effective_speedup_target or forced_slowdown then - forced_slowdown = true - speedup = false - target_speed = original_speed - end - end - end - end - - if math.floor(target_speed * 1000 + 0.5) == math.floor(current_speed * 1000 + 0.5) then - if forced_slowdown or (not toggled and (not speedup or options.subs_speed_cap == options.speed_cap or (not has_subtitle and not speedup_target))) then - speed_timer:kill() - toggled_display = true - if speedup_target ~= nil then - evafast_slowdown() - end - speedup_target = nil - end - return - end - - local new_speed = current_speed - local speed_correction = 0 - - if options.multiply_modifier then - speed_correction = current_speed * options.speed_increase - else - speed_correction = options.speed_increase - end - - if current_speed > target_speed then - new_speed = math.max(current_speed - speed_correction, target_speed) - else - new_speed = math.min(current_speed + speed_correction, target_speed) - end - - mp.set_property("speed", new_speed) - - flash_state(new_speed) -end - -speed_timer = mp.add_periodic_timer(100, adjust_speed) -speed_timer:kill() - -local function evafast(keypress, rewind) - was_rewinding = false - if rewinding and not toggled_rewind and (not rewind or (keypress["event"] == "up" and last_key_state ~= "down")) then - rewinding = false - was_rewinding = true - mp.set_property("play-dir", "+") - end - if rewind then - was_rewinding = true - end - - if keypress["event"] == "down" then - if not speed_timer:is_enabled() then - if not toggled and not speedup_target then - original_speed = mp.get_property_number("speed", 1) - end - flash_state(nil, "osd") - flash_state(1, "uosc", true) - end - toggled_display = true - speed_timer:stop() - if options.seek_distance == 0 then - keypress["event"] = "repeat" - end - end - - if keypress["event"] == "press" or keypress["event"] == "up" and last_key_state ~= "repeat" then - if not toggled and not speedup_target then - speed_timer:kill() - mp.set_property("speed", original_speed) - end - flash_state() - ensure_timer() - if rewind then - if not toggled_rewind then - rewinding = false - mp.set_property("play-dir", "+") -- unnecessary in some cases - end - mp.commandv("seek", -options.seek_distance) - else - mp.commandv("seek", options.seek_distance) - end - elseif keypress["event"] == "repeat" and last_key_state ~= "repeat" then - speedup = true - ensure_timer() - if rewind then - mp.set_property("play-dir", "-") - rewinding = true - end - elseif keypress["event"] == "up" and not toggled and not speedup_target then - evafast_slowdown(true) - ensure_timer(true) - end - - last_key_state = keypress["event"] -end - -local function evafast_rewind(keypress) - evafast(keypress, true) -end - -mp.observe_property("duration", "native", function(prop, val) - file_duration = val or 0 -end) - -mp.observe_property("sid", "native", function(prop, val) - has_subtitle = (val or 0) ~= 0 - next_sub_at = -1 -end) - -mp.observe_property("sub-start", "native", function(prop, val) - next_sub_at = -1 -end) - -mp.register_event("file-loaded", function() - next_sub_at = -1 -end) - -mp.register_event("seek", function() - next_sub_at = -1 -end) - -mp.register_script_message("uosc-version", function(version) - uosc_available = true -end) - -mp.register_script_message("speedup-target", function(time) - local current_time = mp.get_property_number("time-pos", 0) - sign = string.sub(time, 1, 1) - time = tonumber(time) or 0 - - if sign == "+" then - time = current_time + time - end - - if current_time >= time and time >= 0 then - speedup_target = nil - evafast_slowdown() - return - end - speedup_target = time - evafast_speedup() -end) - -mp.register_script_message("get-version", function(script) - mp.commandv("script-message-to", script, "evafast-version", "2.0") -end) - -mp.add_key_binding("RIGHT", "evafast", evafast, {repeatable = true, complex = true}) -mp.add_key_binding(nil, "evafast-rewind", evafast_rewind, {repeatable = true, complex = true}) -mp.add_key_binding(nil, "flash-speed", function() flash_state(true, nil, true) end) -mp.add_key_binding(nil, "speedup", evafast_speedup) -mp.add_key_binding(nil, "slowdown", evafast_slowdown) -mp.add_key_binding(nil, "toggle", evafast_toggle) -mp.add_key_binding(nil, "toggle-rewind", evafast_toggle_rewind) - -mp.commandv("script-message-to", "uosc", "get-version", mp.get_script_name()) \ No newline at end of file diff --git a/scripts/file-browser/LICENSE b/scripts/file-browser/LICENSE deleted file mode 100644 index bcb110c..0000000 --- a/scripts/file-browser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Oscar Manglaras - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/file-browser/README.md b/scripts/file-browser/README.md deleted file mode 100644 index 1dcb2da..0000000 --- a/scripts/file-browser/README.md +++ /dev/null @@ -1,229 +0,0 @@ -# mpv-file-browser - -![cover](screenshots/bunny.png) - -This script allows users to browse and open files and folders entirely from within mpv. The script uses nothing outside the mpv API, so should work identically on all platforms. The browser can move up and down directories, start playing files and folders, or add them to the queue. - -By default only file types compatible with mpv will be shown, but this can be changed in the config file. - -This script requires at least **mpv v0.33**. - -Originally, file-browser worked with versions of mpv going back to -v0.31, you can find those older versions of file-browser in the -[mpv-v0.31 branch](https://github.com/CogentRedTester/mpv-file-browser/tree/mpv-v0.31). -That branch will no longer be receiving any feature updates, -but I will try to fix any bugs that are reported on the issue -tracker. - -## Installation - -### Basic - -Clone this git repository into the mpv `~~/scripts` directory and -change the name of the folder from `mpv-file-browser` to `file-browser`. -You can then pull to receive updates. -Alternatively, you can download the zip and extract the contents to `~~/scripts/file-browser`. -`~~/` is the mpv config directory which is typically `~/.config/mpv/` on linux and `%APPDATA%/mpv/` on windows. - -### Configuration - -Create a `file_browser.conf` file in the `~~/script-opts/` directory to configure the script. -See [docs/file_browser.conf](docs/file_browser.conf) for the full list of options and their default values. -The [`root` option](#root-directory) may be worth tweaking for your system. - -### Addons - -To use [addons](addons/README.md) place addon files in the `~~/script-modules/file-browser-addons/` directory. - -### Custom Keybinds -To setup [custom keybinds](docs/custom-keybinds.md) create a `~~/script-opts/file-browser-keybinds.json` file. -Do **not** copy the `file-browser-keybinds.json` file -stored in this repository, that file is a collection of random examples, many of which are for completely different -operating systems. Use them and the [docs](docs/custom-keybinds.md) to create your own collection of keybinds. - -### File Structure - -
-Expected directory tree (basic): - -``` -~~/ -├── script-opts -│   └── file_browser.conf -└── scripts -    └── file-browser -       ├── addons/ -       ├── docs/ -       ├── modules/ -       ├── screenshots/ -       ├── LICENSE -       ├── main.lua -       └── README.md -``` -
- -
-Expected directory tree (full): - -``` -~~/ -├── script-modules -│   └── file-browser-addons -│   ├── addon1.lua -│   ├── addon2.lua -│   └── etc.lua -├── script-opts -│   ├── file_browser.conf -│   └── file-browser-keybinds.json -└── scripts -    └── file-browser -       ├── addons/ -       ├── docs/ -       ├── modules/ -       ├── screenshots/ -       ├── LICENSE -       ├── main.lua -       └── README.md -``` -
- -## Keybinds - -The following keybinds are set by default - -| Key | Name | Description | -|-------------|----------------------------------|-------------------------------------------------------------------------------| -| MENU | browse-files | toggles the browser | -| Ctrl+o | open-browser | opens the browser | -| Alt+o | browse-directory/get-user-input | opens a dialogue box to type in a directory - requires [mpv-user-input](#mpv-user-input) when mpv < v0.38 | - -The following dynamic keybinds are only set while the browser is open: - -| Key | Name | Description | -|-------------|---------------|-------------------------------------------------------------------------------| -| ESC | close | closes the browser or clears the selection | -| ENTER | play | plays the currently selected file or folder | -| Shift+ENTER | play_append | appends the current file or folder to the playlist | -| Alt+ENTER | play_autoload | loads playlist entries before and after the selected file (like autoload.lua) | -| RIGHT | down_dir | enter the currently selected directory | -| LEFT | up_dir | move to the parent directory | -| DOWN | scroll_down | move selector down the list | -| UP | scroll_up | move selector up the list | -| PGDWN | page_down | move selector down the list by a page (the num_entries option) | -| PGUP | page_up | move selector up the list by a page (the num_entries option) | -| Shift+PGDWN | list_bottom | move selector to the bottom of the list | -| Shift+PGUP | list_top | move selector to the top of the list | -| HOME | goto_current | move to the directory of the currently playing file | -| Shift+HOME | goto_root | move to the root directory | -| Alt+LEFT | history_back | move to previously open directory | -| Alt+RIGHT | history_forward| move forwards again in history to the next directory | -| Ctrl+r | reload | reload current directory | -| Ctrl+Shift+r| cache/clear | clears the directory cache (disabled by default) | -| s | select_mode | toggles multiselect mode | -| S | select_item | toggles selection for the current item | -| Ctrl+a | select_all | select all items in the current directory | -| Ctrl+f | find/find | Opens a text input to search the contents of the folder - requires [mpv-user-input](#mpv-user-input) when mpv < v0.38| -| Ctrl+F | find/find_advanced| Allows using [Lua Patterns](https://www.lua.org/manual/5.1/manual.html#5.4.1) in the search input| -| n | find/next | Jumps to the next matching entry for the latest search term | -| N | find/prev | Jumps to the previous matching entry for the latest search term | - -When attempting to play or append a subtitle file the script will instead load the subtitle track into the existing video. - -The behaviour of the autoload keybind can be reversed with the `autoload` script-opt. -By default the playlist will only be autoloaded if `Alt+ENTER` is used on a single file, however when the option is switched autoload will always be used on single files *unless* `Alt+ENTER` is used. Using autoload on a directory, or while appending an item, will not work. - -## Root Directory - -To accomodate for both windows and linux this script has its own virtual root directory where drives and file folders can be manually added. The root directory can only contain folders. - -The root directory is set using the `root` option, which is a comma separated list of directories. Entries are sent through mpv's `expand-path` command. By default `~/` and `C:/` are set on Windows -and `~/` and `/` are set on non-Windows systems. -Extra locations can be added manually, for example, my Windows root looks like: - -`root=~/,C:/,D:/,E:/,Z:/` - -## Multi-Select - -By default file-browser only opens/appends the single item that the cursor has selected. -However, using the `s` keybinds specified above, it is possible to select multiple items to open all at once. Selected items are shown in a different colour to the cursor. -When in multiselect mode the cursor changes colour and scrolling up and down the list will drag the current selection. If the original item was unselected, then dragging will select items, if the original item was selected, then dragging will unselect items. - -When multiple items are selected using the open or append commands all selected files will be added to the playlist in the order they appear on the screen. -The currently selected (with the cursor) file will be ignored, instead the first multi-selected item in the folder will follow replace/append behaviour as normal, and following selected items will be appended to the playlist afterwards in the order that they appear on the screen. - -## Custom Keybinds - -File-browser also supports custom keybinds. These keybinds send normal input commands, but the script will substitute characters in the command strings for specific values depending on the currently open directory, and currently selected item. -This allows for a wide range of customised behaviour, such as loading additional audio tracks from the browser, or copying the path of the selected item to the clipboard. - -To see how to enable and use custom keybinds, see [custom-keybinds.md](docs/custom-keybinds.md). - -## Add-ons - -Add-ons are ways to add extra features to file-browser, for example adding support for network file servers like ftp, or implementing virtual directories in the root like recently opened files. -They can be enabled by setting `addon` script-opt to yes, and placing the addon file into the `~~/script-modules/file-browser-addons/` directory. - -For a list of existing addons see the [wiki](https://github.com/CogentRedTester/mpv-file-browser/wiki/Addon-List). -For instructions on writing your own addons see [addons.md](docs/addons.md). - -## Script Messages - -File-browser supports a small number of script messages that allow the user or other scripts to talk with the browser. - -### `browse-directory` - -`script-message browse-directory [directory]` - -Opens the given directory in the browser. If the browser is currently closed it will be opened. - -### `get-directory-contents` - -`script-message get-directory-contents [directory] [response-string]` - -Reads the given directory, and sends the resulting tables to the specified script-message in the format: - -`script-message [response-string] [list] [opts]` - -The [list](docs/addons.md#the-list-array) -and [opts](docs/addons.md#the-opts-table) -tables are formatted as json strings through the `mp.utils.format_json` function. -See [addons.md](docs/addons.md) for how the tables are structured, and what each field means. -The API_VERSION field of the `opts` table refers to what version of the addon API file browser is using. -The `response-string` refers to an arbitrary script-message that the tables should be sent to. - -This script-message allows other scripts to utilise file-browser's directory parsing capabilities, as well as those of the file-browser addons. - -## Conditional Auto-Profiles - -file-browser provides a property that can be used with [conditional auto-profiles](https://mpv.io/manual/master/#conditional-auto-profiles) -to detect when the browser is open. -On mpv v0.36+ you should use the `user-data` property with the `file_browser/open` boolean. - -Here is an example of an auto-profile that hides the OSC logo when using file-browser in an idle window: - -```properties -[hide-logo] -profile-cond= idle_active and user_data.file_browser.open -profile-restore=copy -osc=no -``` - -On older versions of mpv you can use the `file_browser-open` field of the `shared-script-properties` property: - -```properties -[hide-logo] -profile-cond= idle_active and shared_script_properties["file_browser-open"] == "yes" -profile-restore=copy -osc=no -``` - -See [#55](https://github.com/CogentRedTester/mpv-file-browser/issues/55) for more details on this. - -## [mpv-user-input](https://github.com/CogentRedTester/mpv-user-input) - -mpv-user-input is a script that provides an API to request text input from the user over the OSD. -It was built using `console.lua` as a base, so supports almost all the same text input commands. -If `user-input.lua` is loaded by mpv, and `user-input-module` is in the `~~/script-modules/` directory, -then using `Alt+o` will open an input box that can be used to directly enter directories for file-browser to open. - -Mpv v0.38 added the `mp.input` module, which means `mpv-user-input` is no-longer necessary from that version onwards. \ No newline at end of file diff --git a/scripts/file-browser/addons/README.md b/scripts/file-browser/addons/README.md deleted file mode 100644 index d9baa4f..0000000 --- a/scripts/file-browser/addons/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# addons - -Add-ons are ways to add extra features to file-browser, for example adding support for network file servers like ftp, or implementing virtual directories in the root like recently opened files. -They can be enabled by setting `addon` script-opt to yes, and placing the addon file into the `~~/script-modules/file-browser-addons/` directory. - -Browsing filesystems provided by add-ons should feel identical to the normal handling of the script, -but they may require extra commandline tools be installed. - -Since addons are loaded programatically from the addon directory it is possible for anyone to write their own addon. -Instructions on how to do this are available [here](../docs/addons.md). - -For a list of available addons see the [wiki](https://github.com/CogentRedTester/mpv-file-browser/wiki/Addon-List). \ No newline at end of file diff --git a/scripts/file-browser/docs/addons.md b/scripts/file-browser/docs/addons.md deleted file mode 100644 index 4045133..0000000 --- a/scripts/file-browser/docs/addons.md +++ /dev/null @@ -1,1008 +0,0 @@ -# How to Write an Addon - API v1.9.0 - -Addons provide ways for file-browser to parse non-native directory structures. This document describes how one can create their own custom addon. - -If you have an independent script but want to use file-browser's parsing capabilities, perhaps to make use of existing addons, then look [here](https://github.com/CogentRedTester/mpv-file-browser#get-directory-contents). - -## Terminology - -For the purpose of this document addons refer to the scripts being loaded while parsers are the objects the scripts return. -An addon can return multiple parsers, but when they only returns one the terms are almost synonymous. -Additionally, `method` refers to functions called using the `object:funct()` syntax, and hence have access to the self object, whereas `function` is the standard `object.funct()` syntax. - -## API Version - -The API version, shown in the title of this document, allows file-browser to ensure that addons are using the correct -version of the API. It follows [semantic versioning](https://semver.org/) conventions of `MAJOR.MINOR.PATCH`. -A parser sets its version string with the `version` field, as seen [below](#overview). - -Any change that breaks backwards compatability will cause the major version number to increase. -A parser MUST have the same major version number as the API, otherwise an error message will be printed and the parser will -not be loaded. - -A minor version number denotes a change to the API that is backwards compatible. This includes additional API functions, -or extra fields in tables that were previously unused. It may also include additional arguments to existing functions that -add additional behaviour without changing the old behaviour. -If the parser's minor version number is greater than the API_VERSION, then a warning is printed to the console. - -Patch numbers denote bug fixes, and are ignored when loading an addon. -For this reason addon authors are allowed to leave the patch number out of their version tag and just use `MAJOR.MINOR`. - -## Overview - -File-browser automatically loads any lua files from the `~~/script-modules/file-browser-addons` directory as modules. -Each addon must return either a single parser table, or an array of parser tables. Each parser object must contain the following three members: - -| key | type | arguments | returns | description | -|-----------|--------|---------------------------|------------------------|--------------------------------------------------------------------------------------------------------------| -| priority | number | - | - | a number to determine what order parsers are tested - see [here](#priority-suggestions) for suggested values | -| api_version| string | - | - | the API version the parser is using - see [API Version](#api-version) | -| can_parse | method | string, parse_state_table | boolean | returns whether or not the given path is compatible with the parser | -| parse | method | string, parse_state_table | list_table, opts_table | returns an array of item_tables, and a table of options to control how file_browser handles the list | - -Additionally, each parser can optionally contain: - -| key | type | arguments | returns | description | -|--------------|--------|-----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | string | - | - | the name of the parser used for debug messages and to create a unique id - by default uses the filename with `.lua` or `-browser.lua` removed | -| keybind_name | string | - | - | the name to use when setting custom keybind filters - uses the value of name by default but can be set manually so that the same keys work with multiple addons | -| setup | method | - | - | if it exists this method is automatically run after all parsers are imported and API functions are made available | -| keybinds | table | - | - | an array of keybind objects for the browser to set when loading - see [#keybinds] | - -All parsers are given a unique string ID based on their name. If there are collisions then numbers are appended to the end of the name until a free name is found. -These IDs are primarily used for debug messages, though they may gain additional functionality in the future. - -Here is an extremely simple example of an addon creating a parser table and returning it to file-browser. - -```lua -local parser = { - api_version = '1.0.0', - priority = 100, - name = "example" -- this parser will have the id 'example' or 'example_#' if there are duplicates -} - -function parser:can_parse(directory) - return directory == "Example/" -end - -function parser:parse(directory, state) - local list, opts - ------------------------------ - --- populate the list here --- - ------------------------------ - return list, opts -end - -return parser - -``` - -## Parsing - -When a directory is loaded file-browser will iterate through the list of parsers from lowest to highest priority. -The first parser for which `can_parse` returns true will be selected as the parser for that directory. - -The `parse` method will then be called on the selected parser, which is expected to return either a table of list items, or nil. -If an empty table is returned then file-browser will treat the directory as empty, otherwise if the list_table is nil then file-browser will attempt to run `parse` on the next parser for which `can_parse` returns true. -This continues until a parser returns a list_table, or until there are no more parsers. - -The entire parse operation is run inside of a coroutine, this allows parsers to pause execution to handle asynchronous operations. -Please read [coroutines](#coroutines) for all the details. - -### Parse State Table - -The `parse` and `can_parse` functions are passed a state table as its second argument, this contains the following fields. - -| key | type | description | -|----------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| source | string | the source of the parse request | -| properties | table | A table of arbitrary properties designed to be used by addons. | -| directory | string | the directory of the parse request - for debugging purposes | -| already_deferred | boolean | whether or not [defer](#advanced-functions) was called during this parse, if so then file-browser will not try to query any more parsers after receiving the result - set automatically, but can be manually disabled | -| yield | method | a wrapper around `coroutine.yield()` - see [coroutines](#coroutines) | -| is_coroutine_current | method | returns if the browser is waiting on the current coroutine to populate the list | - -`already_deferred` is an optimisation. If a script uses defer and still returns nil, then that means that none of the remaining parsers will be able to parse the path. -Therefore, it is more efficient to just immediately jump to the root. -It is up to the addon author to manually disable this if their use of `defer` conflicts with this assumption. - -Source can have the following values: - -| source | description | -|----------------|---------------------------------------------------------------------------------------------------------| -| browser | triggered by the main browser window | -| loadlist | the browser is scanning the directory to append to the playlist | -| script-message | triggered by the `get-directory-contents` script-message | -| addon | caused by an addon calling the `parse_directory` API function - note that addons can set a custom state | - -The `properties` table is designed to be used to send options to parsers. -It is recommended that addons nest their properties within a second table to avoid conflicts, -for example the in-built cache parser checks the `properties.cache.use` field, -and if set will either forcibly enable or bypass the cache for that particular parse. -All calls to any `parse` function during a specific parse request will be given the same parse_state table. -This allows parsers to communicate with parsers of a lower priority by modifying the table. - -Be aware that this is still an experimental feature, so any properties used by 1st party addons may change at any time. - -#### Coroutines - -Any calls to `parse()` (or `can_parse()`, but you should never be yielding inside there) are done in a [Lua coroutine](https://www.lua.org/manual/5.1/manual.html#2.11). -This means that you can arbitrarily pause the parse operation if you need to wait for some asynchronous operation to complete, -such as waiting for user input, or for a network request to complete. - -Making these operations asynchronous has performance -advantages as well, for example recursively opening a network directory tree could cause the browser to freeze -for a long period of time. If the network query were asynchronous then the browser would only freeze during actual operations, -during network operations it would be free for the user interract with. The browser has even been designed so that -a loadfile/loadlist operation saves it's own copy of the current directory, so even if the user hops around like crazy the original -open operation will still occur in the correct order (though there's nothing stopping them starting a new operation which will cause -random ordering.) - -However, there is one downside to this behaviour. If the parse operation is requested by the browser, then it is -possible for the user to change directories while the coroutine is yielded. If you were to resume the coroutine -in that situation, then any operations you do are wasted, and unexpected bahaviour could happen. -file-browser will automatically detect when it receives a list from an aborted coroutine, so there is no risk -of the current list being replaced, but any other logic in your script will continue until `parse` returns. - -To fix this there are two methods available in the state table, the `yield()` method is a wrapper around `coroutine.yield()` that -detects when the browser has abandoned the parse, and automatically kills the coroutine by throwing an error. -The `is_coroutine_current()` method simply compares if the current coroutine (as returned by `coroutine.running()`) matches the -coroutine that the browser is waiting for. Remember this is only a problem when the browser is the source of the request, -if the request came from a script-message, or from a loadlist command there are no issues. - -### The List Array - -The list array must be made up of item_tables, which contain details about each item in the directory. -Each item has the following members: - -| key | type | required | description | -|-------------|-----------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------| -| name | string | yes | name of the item, and the string to append after the directory when opening a file/folder | -| type | string | yes | determines whether the item is a file ("file") or directory ("dir") | -| label | string | no | an alternative string to print to the screen instead of name | -| ass | string | no | a string to print to the screen without escaping ass styling - overrides label and name | -| path | string | no | opening the item uses this full path instead of appending directory and name | -| redirect | bool | no | whether `path` should redirect the browser when opening a directory - default yes (nil counts as true) | -| mpv_options | string or table | no | a list of options to be sent to mpv when loading the file - can be in the form `opt1=value1,opt2=value2,...` or a table of string keys and values | - -File-browser expects that `type` and `name` will be set for each item, so leaving these out will probably crash the script. -File-browser also assumes that all directories end in a `/` when appending name, and that there will be no backslashes. -The API function [`fix_path`](#utility-functions) can be used to ensure that paths conform to file-browser rules. - -Here is an example of a static list table being returned by the `parse` method. -This would allow one to specify a custom list of items. - -```lua -function parser:parse(directory, state) - local list = { - { name = "first/", type = "dir" }, - { name = "second/", type = "dir" }, - { name = "third/", type = "dir" }, - { name = "file%01", type = "file", label = "file1" }, - { name = "file2", type = "file", path = "https://youtube.com/video" }, - } - - return list -end -``` - -### The Opts Table - -The options table allows scripts to better control how they are handled by file-browser. -None of these values are required, and the opts table can even left as nil when returning. - -| key | type | description | -|-----------------|---------|------------------------------------------------------------------------------------------------------------------------------| -| filtered | boolean | if true file-browser will not run the standard filter() function on the list | -| sorted | boolean | if true file-browser will not sort the list | -| directory | string | changes the browser directory to this - used for redirecting to other locations | -| directory_label | string | display this label in the header instead of the actual directory - useful to display encoded paths | -| empty_text | string | display this text when the list is empty - can be used for error messages | -| selected_index | number | the index of the item on the list to select by default - a.k.a. the cursor position | -| id | number | id of the parser that successfully returns a list - set automatically, but can be set manually to take ownership (see defer) | - -The previous static example, but modified so that file browser does not try to filter or re-order the list: - -```lua -function parser:parse(directory, state) - local list = { - { name = "first/", type = "dir" }, - { name = "second/", type = "dir" }, - { name = "third/", type = "dir" }, - { name = "file%01", type = "file", label = "file1" }, - { name = "file2", type = "file", path = "https://youtube.com/video" }, - } - - return list, { sorted = true, filtered = true } -end -``` - -`id` is used to declare ownership of a page. The name of the parser that has ownership is used for custom-keybinds parser filtering. -When using `defer` id will be the id of whichever parser first returned a list. -This is the only situation when a parser may want to set id manually. - -## Priority Suggestions - -Below is a table of suggested priority ranges: - -| Range | Suggested Use | Example parsers | -|---------|------------------------------------------------------------------------------------------------|------------------------------------------------| -| 0 | priority of the internal cache addon that caches the results of other parsers | [cache](../modules/addons/cache.lua) | -| 1-20 | parsers that purely modify the results of other parsers | [url-decode](../addons/url-decode.lua) | -| 21-40 | virtual filesystems which need to link to the results of other parsers | [favourites](../addons/favourites.lua) | -| 41-50 | to support specific sites or systems which can be inferred from the path | | -| 51-70 | | | -| 71-80 | limitted support for specific protocols which requires complex parsing to verify compatability | [apache](../addons/apache-browser.lua) | -| 81-90 | parsers that only need to modify the results of full parsers | [home-label](../modules/addons/home-label.lua) | -| 91-100 | use for parsers which fully support a non-native protocol with absolutely no overlap | [ftp](../addons/ftp-browser.lua) | -| 101-109 | replacements for the native file parser or fallbacks for the full parsers | [ls](../modules/addons/ls.lua) | -| 110 | priority of the native file parser - don't use | [file](../modules/addons/file.lua) | -| 111+ | fallbacks for native parser - potentially alternatives to the default root | | - -## Keybinds - -Addons have the ability to set custom keybinds using the `keybinds` field in the `parser` table. `keybinds` must be an array of tables, each of which may be in two forms. - -Firstly, the keybind_table may be in the form -`{ "key", "name", [function], [flags] }` -where the table is an array whose four values corresond to the four arguments for the [mp.add_key_binding](https://mpv.io/manual/master/#lua-scripting-[,flags]]\)) API function. - -```lua -local function main(keybind, state, co) - -- deletes files -end - -parser.keybinds = { - { "Alt+DEL", "delete_files", main, {} }, -} -``` - -Secondly, the keybind_table may use the same formatting as file-browser's [custom-keybinds](../custom-keybinds.md). -Using the array form is equivalent to setting `key`, `name`, `command`, and `flags` of the custom-keybind form, and leaving everything else on the defaults. - -```lua -parser.keybinds = { - { - key = "Alt+DEL", - name = "delete_files", - command = {"run", "rm", "%F"}, - filter = "files" - } -} -``` - -These keybinds are evaluated only once shortly after the addon is loaded, they cannot be modified dynamically during runtime. -Keybinds are applied after the default keybinds, but before the custom keybinds. This means that addons can overwrite the -default keybinds, but that users can ovewrite addon keybinds. Among addons, those with higher priority numbers have their keybinds loaded before those -with lower priority numbers. -Remember that a lower priority value is better, they will overwrite already loaded keybinds. -Keybind passthrough works the same way, though there is some custom behaviour when it comes to [raw functions](#keybind-functions). - -### Keybind Names - -In either form the naming of the function is different from custom keybinds. Instead of using the form `file_browser/dynamic/custom/[name]` -they use the form `file_browser/dynamic/[parser_ID]/[name]`, where `[parser_id]` is a unique string ID for the parser, which can be retrieved using the -`parser:get_id()` method. - -### Native Functions vs Command Tables - -There are two ways of specifying the behaviour of a keybind. -It can be in command table form, as done when using custom-keybind syntax, and it can be done in -native function form, as done when using the `mp.add_key_binding` syntax. -However, these two ways of specifying commands are independant of how the overall keybind is defined. -What this means is that the command field of the custom-keybinds syntax can be an array, and the -3rd value in the array syntax can be a table of mpv commands. - -```lua -local function main(keybind, state, co) - -- deletes files -end - --- this is a valid keybind table -parser.keybinds = { - { "Alt+DEL", "delete_files", {"run", "rm", "%F"}, {} }, - - { - key = "Alt+DEL", - name = "delete_files", - command = main - } -} -``` - -There are some limitations however, not all custom-keybind options are supported when using native functions. -The supported options are: `key`, `name`, `condition`, `flags`, `parser`, `passthrough`. The other options can be replicated manually (see below). - -### Keybind Functions - -This section details the use of keybind functions. - -#### Function Call - -If one uses the raw function then the functions are called directly in the form: - -`fn(keybind, state, coroutine)` - -Where `keybind` is the keybind_table of the key being run, `state` is a table of state values at the time of the key press, and `coroutine` is the coroutine object -that the keybind is being executed inside. - -The `keybind` table uses the same fields as defined -in [custom-keybinds.md](../custom-keybinds.md). Any random extra fields placed in the original -`file-browser-keybinds.json` will likely show up as well (this is not guaranteed). -Note that even if the array form is used, the `keybind` table will still use the custom-keybind format. - -The entire process of running a keybind is handled with a coroutine, so the addon can safely pause and resume the coroutine at will. The `state` table is provided to -allow addons to keep a record of important state values that may be changed during a paused coroutine. - -#### State Table - -The state table contains copies of the following values at the time of the key press. - -| key | description | -|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| -| directory | the current directory | -| directory_label | the current directory_label - can (and often will) be `nil` | -| list | the current list_table | -| selected | index of the currently selected list item | -| selection | table of currently selected items (for multi-select) - in the form { index = true, ... } - always available even if the `multiselect` flag is not set | -| parser | a copy of the parser object that provided the current directory | - -The following example shows the implementation of the `delete_files` keybind using the state values: - -```lua -local fb = require "file-browser" -- see #api-functions and #utility-functions - -local function main(keybind, state, co) - for index, item in state.list do - if state.selection[index] and item.type == "file" then - os.remove( fb.get_full_path(item, state.directory) ) - end - end -end - -parser.keybinds = { - { "Alt+DEL", "delete_files", main, {} }, -} -``` - -#### Passthrough - -If the `passthrough` field of the keybind_table is set to `true` or `false` then file-browser will -handle everything. However, if the passthrough field is not set (meaning the bahviour should be automatic) -then it is up to the addon to ensure that they are -correctly notifying when the operation failed and a passthrough should occur. -In order to tell the keybind handler to run the next priority command, the keybind function simply needs to return the value `false`, -any other value (including `nil`) will be treated as a successful operation. - -The below example only allows removing files from the `/tmp/` directory and allows other -keybinds to run in different directories: - -```lua -local fb = require "file-browser" -- see #api-functions and #utility-functions - -local function main(keybind, state, co) - if state.directory ~= "/tmp/" then return false end - - for index, item in state.list do - if state.selection[index] and item.type == "file" then - os.remove( fb.get_full_path(item, state.directory) ) - end - end -end - -parser.keybinds = { - { "Alt+DEL", "delete_files", main, {} }, -} -``` - -## The API - -The API is available through a module, which can be loaded with `require "file-browser"`. -The API provides a variety of different values and functions for an addon to use -in order to make them more powerful. -Function definitions are written using Typescript-style type annotations. - -```lua -local fb = require "file-browser" - -local parser = { - priority = 100, -} - -function parser:setup() - fb.register_root_item("Example/") -end - -return parser -``` - -### Parser API - -In addition to the standard API there is also an extra parser API that provides -several parser specific methods, listed below using `parser:method` instead of `fb.function`. -This API is added to the parser object after it is loaded by file-browser, -so if a script wants to call them immediately on load they must do so in the `setup` method. -All the standard API functions are also available in the parser API. - -```lua -local parser = { - priority = 100, -} - -function parser:setup() - -- same operations - self.insert_root_item({ name = "Example/", type = "dir" }) - parser.insert_root_item({ name = "Example/", type = "dir" }) -end - --- will not work since the API hasn't been added to the parser yet -parser.insert_root_item({ name = "Example/", type = "dir" }) - -return parser -``` - -### General Functions - -#### `fb.API_VERSION: string` - -The current API version in use by file-browser. - -#### `fb.add_default_extension(ext: string): void` - -Adds the given extension to the default extension filter whitelist. Can only be run inside the `setup()` method. - -#### `fb.browse_directory(directory: string, open_browser: bool = true): coroutine` - -Opens the given directory in the browser. The cache is never used. -If the `open_browser` argument is truthy or `nil` then the browser will be opened -if it is currently closed. If `open_browser` is `false` then the directory will -be opened in the background. -Returns the coroutine of the upcoming parse operation. The parse is queued and run when the script thread next goes idle, -allowing one to store this value and use it to identify the triggered parse operation. - -This is the equivalent of calling the `browse-directory` script-message. - -#### `fb.insert_root_item(item: item_table, pos?: number): void` - -Add an item_table to the root list at the specified position. If `pos` is nil then append to the end of the root. -`item` must be a valid item_table of `type='dir'`. - -#### `fb.register_directory_mapping(directory: string | nil, mapping: string, pattern?: bool): void` - -Creates a directory mapping for the given directory. A directory mapping is a -one-way mapping from an external directory string, to an internal directory -within file-browser's directory tree. It allows external paths that may not -exist within file-browser's tree to be mapped to a location that is. -Internally, this is used by file-browser to map the `bd://`, `dvd://`, and `cdda://` -protocol paths to their respective device locations in the filesystem. - -Note that as this is still an experimental feature, the exact situations when mappings -are resolved is subject to change. Currently, mapping occurs only when -receiving a directory from an external source, such as the mpv `path` property, -or the `browse-directory` script message. - -`directory` is a string that represents a location within file-browser's file-system. -`mapping` is a string that will be replaced by the `directory` string if found in a path: - -```lua -fb.register_directory_mapping('/dev/dvd', 'dvd://') -fb.resolve_directory_mapping('dvd://1') -- /dev/dvd/1 -``` - -There can only be one `directory` string associated with each unique `mapping` string, -but multiple mappings can point to the same directory. -If `directory` is set to `nil` then the existing mapping for `mapping` will be removed. -If `pattern` is set to true, then `mapping` will be treated as a Lua -pattern. Any part of an input path that matches the pattern will be substituted for -the `directory` string. - -```lua -fb.register_directory_mapping('/dev/dvd', '^dvd://.*', true) -fb.resolve_directory_mapping('dvd://1') -- /dev/dvd -``` - -When `pattern` is falsy, `mapping` is equivalent to `'^'..fb.pattern_escape(mapping)`. -Captures in the pattern may be given extra behaviour in the future. - -#### `fb.register_parseable_extension(ext: string): void` - -Register a file extension that the browser will attempt to open, like a directory - for addons which can parse files such -as playlist files. - -#### `fb.register_root_item(item: string | item_table, priority?: number): boolean` - -Registers an item to be added to the root and an optional priority value that determines the position relative to other items (default is 100). -A lower priority number is better, meaning they will be placed earlier in the list. -Only adds the item if it is not already in the root and returns a boolean that specifies whether or not the item was added. -Must be called during or after the `parser:setup()` method is run. - -If `item` is a string then a new item_table is created with the values: `{ type = 'dir', name = item }`. -If `item` is an item_table then it must be a valid directory item. -Use [`fb.fix_path(name, true)`](#fbfix_pathpath-string-is_directory-boolean-string) to ensure the name field is correct. - -This function should be used over the older `fb.insert_root_item`. - -#### `fb.remove_parseable_extension(ext: string): void` - -Remove a file extension that the browser will attempt to open like a directory. - -#### `fb.parse_directory(directory: string, parse?: parse_state_table): (list_table, opts_table) | nil` - -Starts a new scan for the given directory and returns a list_table and opts_table on success and `nil` on failure. -Must be called from inside a [coroutine](#coroutines). - -This function allows addons to request the contents of directories from the loaded parsers. There are no protections -against infinite recursion, so be careful about calling this from within another parse. - -Note that the parse does not use the actual table passed to this function, -values are copied out. This means that, in practice, only the `source` and -`properties` fields can be used. -If the `parse.source` field is not set then it will be set to `"addon"`. - -Note that this function is for creating new parse operations, if you wish to create virtual directories or modify -the results of other parsers then use [`defer`](#parserdeferdirectory-string-list_table-opts_table--nil). - -Also note that every parse operation is expected to have its own unique coroutine. This acts as a unique -ID that can be used internally or by other addons. This means that if multiple `parse_directory` operations -are run within a single coroutine then file-browser will automatically create a new coroutine for the scan, -which hands execution back to the original coroutine upon completion. - -#### `parser:register_root_item(item: string | item_table, priority?: number): boolean` - -A wrapper around [`fb.register_root_item`](#fbregister_root_itemitem-string--item_table-priority-number-boolean) -which uses the parser's priority value if `priority` is undefined. - -#### `fb.remove_all_mappings(directory: string): string[]` - -Removes all [directory mappings](#fbregister_directory_mappingdirectory-string--nil-mapping-string-pattern-bool-void) -that resolve to the given `directory`. Returns a list of the `mapping` strings -that were removed. - -### Advanced Functions - -#### `fb.clear_cache(directories?: string[]): void` - -Clears the directory cache. Use this if you are modifying the contents of directories other -than the current one to ensure that their contents will be rescanned when next opened. -An an array of directory strings is passed to the function only those directories -will be cleared from the cache. -The cache is cleared asynchronously, it may not, and probably will not, have been cleared -when the function returns. This may change in the future. - -The cache is implemented as an [internal parser](../modules/parsers/cache.lua). - -#### `fb.coroutine.assert(err?: string): coroutine` - -Throws an error if it is not called from within a coroutine. Returns the currently running coroutine on success. -The string argument can be used to throw a custom error string. - -#### `fb.coroutine.callback(time_limit?: number): function` - -Creates and returns a callback function that resumes the current coroutine. -This function is designed to help streamline asynchronous operations. The best way to explain is with an example: - -```lua -local function execute(args) - mp.command_native_async({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - capture_stderr = true, - args = args - }, fb.coroutine.callback()) - - local _, cmd = coroutine.yield() - - return cmd.status == 0 and cmd.stdout or nil -end -``` - -This function uses the mpv [subprocess](https://mpv.io/manual/master/#command-interface-subprocess) -command to execute some system operation. To prevent the whole script (file-browser and all addons) from freezing -it uses the [command_native_async](https://mpv.io/manual/master/#lua-scripting-mp-command-native-async(table-[,fn])) command -to execute the operation asynchronously and takes a callback function as its second argument. - -`coroutine.callback())` will automatically create a callback function to resume whatever coroutine ran the `execute` function. -Any arguments passed into the callback function (by the async function, not by you) will be passed on to the resume; -in this case `command_native_async` passes three values into the callback, of which only the second is of interest to me. - -If `time_limit` is set to a number, then a boolean is passed as the first resume argument to the coroutine. -If the callback is not run within `time_limit` seconds then the coroutine will be resumed, and the first -argument will be `false`. If the callback is run within the time limit then the first argument will be `true`. - -```lua -local function execute(args) - local t = mp.command_native_async({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - capture_stderr = true, - args = args - }, fb.coroutine.callback(10)) - - local success, _, cmd = coroutine.yield() - if not success then - mp.abort_async_command(t) - msg.error("command timed out") - return nil - end - - return cmd.status == 0 and cmd.stdout or nil -end -``` - -The expectation is that the programmer will yield execution before that callback returns. In this example I -yield immediately after running the async command. - -If you are doing this during a parse operation you could also substitute `coroutine.yield()` with `parse_state:yield()` to abort the parse if the user changed -browser directories during the asynchronous operation. - -If you have no idea what I've been talking about read the [Lua manual on coroutines](https://www.lua.org/manual/5.1/manual.html#2.11). - -#### `fb.coroutine.resume_catch(co: coroutine, ...): (boolean, ...)` - -Runs `coroutine.resume(co, ...)` with the given coroutine, passing through any additional arguments. -If the coroutine throws an error then an error message and stacktrace is printed to the console. -All the return values of `coroutine.resume` are caught and returned. - -#### `fb.coroutine.resume_err(co: coroutine, ...): boolean` - -Runs `coroutine.resume(co, ...)` with the given coroutine, passing through any additional arguments. -If the coroutine throws an error then an error message and stacktrace is printed to the console. -Returns the success boolean returned by `coroutine.resume`, but drops all other return values. - -#### `fb.coroutine.run(fn: function, ...): void` - -Runs the given function in a new coroutine, passing through any additional arguments. - -#### `fb.coroutine.queue(fn: function, ...): coroutine` - -Runs the given function in a coroutine when the script next goes idle, passing through -any additional arguments. The (not yet started) coroutine is returned by the function. - -#### `fb.rescan(): coroutine` - -Rescans the current directory. Equivalent to Ctrl+r. -Returns the coroutine of the upcoming parse operation. The parse is queued and run when the script thread next goes idle, -allowing one to store this value and use it to identify the triggered parse operation. - -#### `fb.rescan_await(): coroutine` - -Same as `fb.rescan()`, but if called from within a coroutine then the function will not -return until the scan operation is complete. - -#### `fb.redraw(): void` - -Forces a redraw of the browser UI. - -#### `parser:defer(directory: string): (list_table, opts_table) | nil` - -Forwards the given directory to the next valid parser. For use from within a parse operation. - -The `defer` function is very powerful, and can be used by scripts to create virtual directories, or to modify the results of other parsers. -However, due to how much freedom Lua gives coders, it is impossible for file-browser to ensure that parsers are using defer correctly, which can cause unexpected results. -The following are a list of recommendations that will increase the compatability with other parsers: - -* Always return the opts table that is returned by defer, this can contain important values for file-browser, as described [above](#the-opts-table). - * If required modify values in the existing opts table, don't create a new one. -* Respect the `sorted` and `filtered` values in the opts table. This may mean calling `sort` or `filter` manually. -* Think about how to handle the `directory_label` field, especially how it might interract with any virtual paths the parser may be maintaining. -* Think about what to do if the `directory` field is set. -* Think if you want your parser to take full ownership of the results of `defer`, if so consider setting `opts.id = self:get_id()`. - * Currently this only affects custom keybind filtering, though it may be changed in the future. - -The [home-label](https://github.com/CogentRedTester/mpv-file-browser/blob/master/addons/home-label.lua) -addon provides a good simple example of the safe use of defer. It lets the normal file -parser load the home directory, then modifies the directory label. - -```lua -local mp = require "mp" -local fb = require "file-browser" - -local home = fb.fix_path(mp.command_native({"expand-path", "~/"}), true) - -local home_label = { - api_version = '1.0.0', - priority = 100 -} - -function home_label:can_parse(directory) - return directory:sub(1, home:len()) == home -end - -function home_label:parse(directory, ...) - local list, opts = self:defer(directory, ...) - - if (not opts.directory or opts.directory == directory) and not opts.directory_label then - opts.directory_label = "~/"..(directory:sub(home:len()+1) or "") - end - - return list, opts -end - -return home_label -``` - -### Utility Functions - -#### `fb.ass_escape(str: string, substitute_newline?: true | string): string` - -Returns the `str` string with escaped ass styling codes. -The optional 2nd argument allows replacing newlines with the given string, or `'\\n'` if set to `true`. - -#### `fb.copy_table(t: table, depth?: number): table` - -Returns a copy of table `t`. -The copy is done recursively to the given `depth`, and any cyclical table references are maintained. -Both keys and values are copied. If `depth` is undefined then it defaults to `math.huge` (infinity). -Additionally, the original table is stored in the `__original` field of the copy's metatable. -The copy behaviour of the metatable itself is subject to change, but currently it is not copied. - -#### `fb.evaluate_string(str: string, chunkname?: string, env?: table, defaults?: bool = true): unknown` - -Loads `str` as a chunk of Lua statement(s) and runs them, returning the result. -Errors are propagated to the caller. `chunkname` is used -for debug output and error messages. - -Each chunk has a separate global environment table that inherits -from the main global table. This means new globals can be created safely, -but the default globals can still be accessed. As such, this method -cannot and should not be used for security or sandboxing. - -A custom environment table can be provided with the `env` argument. -Inheritance from the global table is disabled if `defaults` is `false`. - -Examples: - -```lua -fb.evaluate_string('return 5 + 5') -- 10 -fb.evaluate_string('x = 20 ; return x * x') -- 400 - -local code = [[ -local arr = {1, 2, 3, 4} -table.insert(arr, x) -return unpack(arr) -]] -fb.evaluate_string(code, 'test3', {x = 5}) -- 1, 2, 3, 4, 5 -fb.evaluate_string(code, 'test4', nil, false) -- Lua error: [string "test4"]:2: attempt to index global 'table' (a nil value) - -``` - -In an expression the `mp`, `mp.msg`, and `mp.utils` modules are available as `mp`, `msg`, and `utils` respectively. -Additionally, in mpv v0.38+ the `mp.input` module is available as `input`. -This addon API is available as `fb` and if [mpv-user-input](https://github.com/CogentRedTester/mpv-user-input) -is installed then user-input will be available in `user_input`. -These modules are all unavailable if `defaults` is `false`. - -#### `fb.filter(list: list_table): list_table` - -Iterates through the given list and removes items that don't pass the user set filters -(dot files/directories and valid file extensions). -Returns the list but does not create a copy; the `list` table is filtered in-place. - -#### `fb.fix_path(path: string, is_directory?: boolean): string` - -Takes a path and returns a file-browser compatible path string. -The optional second argument is a boolean that tells the function to format the path to be a -directory. - -#### `fb.get_extension(filename: string, def?: any): string | def` - -Returns the file extension for the string `filename`, or `nil` if there is no extension. -If `def` is defined then that is returned instead of `nil`. - -The full stop is not included in the extension, so `test.mkv` will return `mkv`. - -#### `fb.get_full_path(item: item_table, directory?: string): string` - -Takes an item table and returns the item's full path assuming it is in the given directory. -Takes into account `item.name`/`item.path` fields, etc. -If directory is nil then it uses the currently open directory. - -#### `fb.get_protocol(url: string, def?: any): string | def` - -Returns the protocol scheme for the string `url`, or `nil` if there is no scheme. -If `def` is defined then that is returned instead of `nil`. - -The `://` is not included, so `https://example.com/test.mkv` will return `https`. - -#### `fb.iterate_opt(opts: string): iterator` - -Takes an options string consisting of a list of items separated by the `root_separators` defined in `file_browser.conf` and -returns an iterator function that can be used to iterate over each item in the list. - -```lua -local opt = "a,b,zz z" -- root_separators=, -for item in fb.iterate_opt(opt) do - print(item) -- prints: 'a', 'b', 'zz z' -end -``` - -#### `fb.join_path(p1: string, p2: string): string` - -A wrapper around [`mp.utils.join_path`](https://mpv.io/manual/master/#lua-scripting-utils-join-path(p1,-p2)) -which treats paths with network protocols as absolute paths. - -#### `fb.pattern_escape(str: string): string` - -Returns `str` with Lua special pattern characters escaped. - -#### `fb_utils.resolve_directory_mapping(path: string): string` - -Takes a `path` string and resolves any -[directory mappings](#fbregister_directory_mappingdirectory-string--nil-mapping-string-pattern-bool-void), -replacing any substrings that match a mapping with the associated directory. - -Only the first valid mapping is applied, but this behaviour will likely change in -the future. Changes to this behaviour will not consitute a major version bump so should not -be relied upon. - -#### `fb.sort(list: list_table): list_table` - -Iterates through the given list and sorts the items using file-browser's sorting algorithm. -Returns the list but does not create a copy; the `list` table is sorted in-place. - -#### `fb.valid_file(name: string): boolean` - -Tests if the string `name` passes the user set filters for valid files (extensions/dot files/etc). - -#### `fb.valid_dir(name: string): boolean` - -Tests if the string `name` passes the user set filters for valid directories (dot folders/etc). - -### Getters - -These functions allow addons to safely get information from file-browser. -All tables returned by these functions are copies sent through the [`fb.copy_table`](#fbcopy_tablet-table-depth-number-table) -function to ensure addons can't accidentally break things. - -#### `fb.get_audio_extensions(): table` - -Returns a set of extensions like [`fb.get_extensions`](#fbget_extensions-table) but for extensions that are opened -as additional audio tracks. -All of these are included in `fb.get_extensions`. - -#### `fb.get_current_file(): table` - -A table containing the path of the current open file in the form: -`{directory = "/home/me/", name = "bunny.mkv", path = "/home/me/bunny.mkv"}`. - -#### `fb.get_current_parser(): string` - -The unique id of the parser that successfully parsed the current directory. - -#### `fb.get_current_parser_keyname(): string` - -The `keybind_name` of the parser that successfully parsed the current directory. -Used for custom-keybind filtering. - -#### `fb.get_directory(): string` - -The current directory open in the browser. - -#### ~~`fb.get_dvd_device(): string`~~ - -*DEPRECATED*. -The current dvd-device as reported by mpv's `dvd-device` property. -Formatted to work with file-browser. - -#### `fb.get_extensions(): table` - -Returns the set of valid extensions after applying the user's whitelist/blacklist options. -The table is in the form `{ mkv = true, mp3 = true, ... }`. -Sub extensions, audio extensions, and parseable extensions are all included in this set. - -#### `fb.get_history(): string[]` - -Returns the browser history. -The history is a linear list of visited directories from oldest to newest. -If the user changes directories while the current history position is not the head of the list, -any later directories get cleared and the new directory becomes the new head. - -#### `fb.get_history_index(): number` - -Returns the index of the current history position. - -#### `fb.get_list(): list_table` - -The list_table currently open in the browser. - -#### `fb.get_open_status(): boolean` - -Returns true if the browser is currently open and false if not. - -#### `fb.get_opt(name: string): string | number | boolean` - -Returns the script-opt with the given name. - -#### `fb.get_parsers(): table` - -Returns a table of all the loaded parsers/addons. -The formatting of this table in undefined, but it should -always contain an array of the parsers in order of priority. - -#### `fb.get_parse_state(co?: coroutine): parse_state_table` - -Returns the [parse_state table](#parse-state-table) for the given coroutine. -If no coroutine is given then it uses the running coroutine. -Every parse operation is guaranteed to have a unique coroutine. - -#### `fb.get_parseable_extensions(): table` - -Returns a set of extensions like [`fb.get_extensions`](#fbget_extensions-table) but for extensions that are -treated as parseable by the browser. -All of these are included in `fb.get_extensions`. - -#### `fb.get_platform(): string` - -Returns the contents of the `platform` property on mpv v0.36+, -and `windows`, `darwin`, or `other` on older versions. - -#### `fb.get_root(): list_table` - -Returns the root table. - -#### `fb.get_script_opts(): table` - -The table of script opts set by the user. This currently does not get -changed during runtime, but that is not guaranteed for future minor version increments. - -#### `fb.get_selected_index(): number` - -The current index of the cursor. -Note that it is possible for the cursor to be outside the bounds of the list; -for example when the list is empty this usually returns 1. - -#### `fb.get_selected_item(): item_table | nil` - -Returns the item_table of the currently selected item. -If no item is selected (for example an empty list) then returns nil. - -#### `fb.get_state(): table` - -Returns the current state values of the browser. -These are not documented and are subject to change at any time, -adding a proper getter for anything is a valid request. - -#### `fb.get_sub_extensions(): table` - -Returns a set of extensions like [`fb.get_extensions`](#fbget_extensions-table) but for extensions that are opened -as additional subtitle tracks. -All of these are included in `fb.get_extensions`. - -#### `parser:get_id(): string` - -The unique id of the parser. Used for log messages and various internal functions. - -#### `parser:get_index(): number` - -The index of the parser in order of preference (based on the priority value). -`defer` uses this internally. - -### Setters - -#### `fb.set_history_index(pos: number): number | false` - -Sets the current index in the browser history and triggers the browser to asynchronously -load that directory. -If `pos` is out of bounds, it gets clamped to 1 and the history length. The return -value is the actual history index that the browser ended up. -If `pos` is not a number, or if the history is empty, then returns `false`. - -#### `fb.set_selected_index(pos: number): number | false` - -Sets the cursor position and returns the new index. -If the input is not a number return false, if the input is out of bounds move it in bounds. - -## Examples - -The internal [file](../modules/addons/file.lua), [ls](../modules/addons/ls.lua), and [windir](../modules/addons/windir.lua) addons provide -support for browsing the native filesystem. - -For standard addons that add support for non-native filesystems, but otherwise don't do anything fancy, see [ftp-browser](../addons/ftp-browser.lua) and [apache-browser](../addons/apache-browser.lua). - -For more simple addons that make a few small modifications to how other parsers are displayed, see [home-label](../modules/addons/home-label.lua). - -For more complex addons that maintain their own virtual directory structure, see -[favourites](../addons/favourites.lua). - diff --git a/scripts/file-browser/docs/custom-keybinds.md b/scripts/file-browser/docs/custom-keybinds.md deleted file mode 100644 index 34ec971..0000000 --- a/scripts/file-browser/docs/custom-keybinds.md +++ /dev/null @@ -1,330 +0,0 @@ -# Custom Keybinds - -File-browser also supports custom keybinds. These keybinds send normal input commands, but the script will substitute characters in the command strings for specific values depending on the currently open directory, and currently selected item. -This allows for a wide range of customised behaviour, such as loading additional audio tracks from the browser, or copying the path of the selected item to the clipboard. - -The feature is disabled by default, but is enabled with the `custom_keybinds` script-opt. -Keybinds are declared in the `~~/script-opts/file-browser-keybinds.json` file, the config takes the form of an array of json objects, with the following keys: - -| option | required | default | description | -|---------------|----------|------------|--------------------------------------------------------------------------------------------| -| key | yes | - | the key to bind the command to - same syntax as input.conf | -| command | yes | - | json array of commands and arguments | -| name | no | numeric id | name of the script-binding - see [modifying default keybinds](#modifying-default-keybinds) | -| condition | no | - | a Lua [expression](#expressions) - the keybind will only run if this evaluates to true | -| flags | no | - | flags to send to the mpv add_keybind function - see [here](https://mpv.io/manual/master/#lua-scripting-[,flags]]\)) | -| filter | no | - | run the command on just a file (`file`) or folder (`dir`) | -| parser | no | - | run the command only in directories provided by the specified parser. | -| multiselect | no | `false` | command is run on all selected items | -| multi-type | no | `repeat` | which multiselect mode to use - `repeat` or `concat` | -| delay | no | `0` | time to wait between sending repeated multi commands | -| concat-string | no | `' '` (space) | string to insert between items when concatenating multi commands | -| passthrough | no | - | force or ban passthrough behaviour - see [passthrough](#passthrough-keybinds) | -| api_version | no | - | tie the keybind to a particular [addon API version](./addons.md#api-version), printing warnings and throwing errors if the keybind is used with wrong versions | - -Example: - -```json -{ - "key": "KP1", - "command": ["print-text", "example"], -} -``` - -The command can also be an array of arrays, in order to send multiple commands at once: - -```json -{ - "key": "KP2", - "command": [ - ["print-text", "example2"], - ["show-text", "example2"] - ] -} -``` - -Filter should not be included unless one wants to limit what types of list entries the command should be run on. -To only run the command for directories use `dir`, to only run the command for files use `file`. - -The parser filter is for filtering keybinds to only work inside directories loaded by specific parsers. -There are two parsers in the base script, the default parser for native filesystems is called `file`, while the root parser is called `root`. -Other parsers can be supplied by addons, and use the addon's filename with `-browser.lua` or just `.lua` stripped unless otherwise stated. -For example `ftp-browser.lua` would have a parser called `ftp`. -You can set the filter to match multiple parsers by separating the names with spaces. - -```json -{ - "key": "KP2", - "command": [ ["print-text", "example3"] ], - "parser": "ftp file" -} -``` - -The `flags` field is mostly only useful for addons, but can also be useful if one wants a key to be repeatable. -In this case the the keybind would look like the following: - -```json -{ - "key": "p", - "command": ["print-text", "spam-text"], - "flags": { "repeatable": true } -} -``` - -## Codes - -The script will scan every string in the command for the special substitution strings, they are: - -| code | description | -|--------|---------------------------------------------------------------------| -| `%%` | escape code for `%` | -| `%f` | filepath of the selected item | -| `%n` | filename of the selected item | -| `%p` | currently open directory | -| `%q` | currently open directory but preferring the directory label | -| `%d` | name of the current directory (characters between the last two '/') | -| `%r` | name of the parser for the currently open directory | -| `%x` | number of items in the currently open directory | -| `%i` | the 1-based index of the selected item in the list | -| `%j` | the 1-based index of the item in a multiselection - returns 1 for single selections | - -Additionally, using the uppercase forms of those codes will send the substituted string through the `string.format("%q", str)` function. -This adds double quotes around the string and automatically escapes any characters which would break the string encapsulation. -This is not necessary for most mpv commands, but can be very useful when sending commands to the OS with the `run` command, -or when passing values into [expressions](#conditional-command-condition-command). - -Example of a command to add an audio track: - -```json -{ - "key": "Ctrl+a", - "command": ["audio-add", "%f"], - "filter": "file" -} -``` - -Any commands that contain codes representing specific items (`%f`, `%n`, `%i` etc) will -not be run if no item is selected (for example in an empty directory). -In these cases [passthrough](#passthrough-keybinds) rules will apply. - -## Multiselect Commands - -When multiple items are selected the command can be run for all items in the order they appear on the screen. -This can be controlled by the `multiselect` flag, which takes a boolean value. -When not set the flag defaults to `false`. - -There are two different multiselect modes, controlled by the `multi-type` option. There are two options: - -### `repeat` - -The default mode that sends the commands once for each item that is selected. -If time is needed between running commands of multiple selected items (for example, due to file handlers) then the `delay` option can be used to set a duration (in seconds) between commands. - -### `concat` - -Run a single command, but replace item specific codes with a concatenated string made from each selected item. -For example `["print-text", "%n" ]` would print the name of each item selected separated by `' '` (space). -The string inserted between each item is determined by the `concat-string` option, but `' '` is the default. - -## Passthrough Keybinds - -When loading keybinds from the json file file-browser will move down the list and overwrite any existing bindings with the same key. -This means the lower an item on the list, the higher preference it has. -However, file-browser implements a layered passthrough system for its keybinds; if a keybind is blocked from running by user filters, then the next highest preference command will be sent, continuing until a command is sent or there are no more keybinds. -The default dynamic keybinds are considered the lowest priority. - -The `filter`, `parser`, and `condition` options can all trigger passthrough, as well as some [codes](#codes). -If a multi-select command is run on multiple items then passthrough will occur if any of the selected items fail the filters. - -Passthrough can be forcibly disabled or enabled using the passthrough option. -When set to `true` passthrough will always be activate regardless of the state of the filters. - -## Modifying Default Keybinds - -Since the custom keybinds are applied after the default dynamic keybinds they can be used to overwrite the default bindings. -Setting new keys for the existing binds can be done with the `script-binding [binding-name]` command, where `binding-name` is the full name of the keybinding. -For this script the names of the dynamic keybinds are in the format `file_browser/dynamic/[name]` where `name` is a unique identifier documented in the [keybinds](README.md#keybinds) table. - -For example to change the scroll buttons from the arrows to the scroll wheel: - -```json -[ - { - "key": "WHEEL_UP", - "command": ["script-binding", "file_browser/dynamic/scroll_up"] - }, - { - "key": "WHEEL_DOWN", - "command": ["script-binding", "file_browser/dynamic/scroll_down"] - }, - { - "key": "UP", - "command": ["osd-auto", "add", "volume", "2"] - }, - { - "key": "DOWN", - "command": ["osd-auto", "add", "volume", "-2"] - } -] -``` - -Custom keybinds can be called using the same method, but users must set the `name` value inside the `file-browser-keybinds.json` file. -To avoid conflicts custom keybinds use the format: `file_browser/dynamic/custom/[name]`. - -## Expressions - -Expressions are used to evaluate Lua code into a string that can be used for commands. -These behave similarly to those used for [`profile-cond`](https://mpv.io/manual/master/#conditional-auto-profiles) -values. In an expression the `mp`, `mp.msg`, and `mp.utils` modules are available as `mp`, `msg`, and `utils` respectively. -Additionally, in mpv v0.38+ the `mp.input` module is available as `input`. - -The file-browser [addon API](addons/addons.md#the-api) is available as `fb` and if [mpv-user-input](https://github.com/CogentRedTester/mpv-user-input) -is installed then user-input API will be available in `user_input`. - -This example only runs the keybind if the browser is in the Windows C drive or if -the selected item is a matroska file: - -```json -[ - { - "key": "KP1", - "command": ["print-text", "in my C:/ drive!"], - "condition": "(%P):find('C:/') == 1" - }, - { - "key": "KP2", - "command": ["print-text", "Matroska File!"], - "condition": "fb.get_extension(%N) == 'mkv'" - } -] -``` - -If the `condition` expression contains any item specific codes (`%F`, `%I`, etc) then it will be -evaluated on each individual item, otherwise it will evaluated once for the whole keybind. -If a code is invalid (for example using `%i` in empty directories) then the expression returns false. - -There are some utility script messages that extend the power of expressions. -[`conditional-command`](#conditional-command-condition-command) allows one to specify conditions that -can apply to individual items or commands. The tradeoff is that you lose the automated passthrough behaviour. -There is also [`evaluate-expressions`](#evaluate-expressions-command) which allows one to evaluate expressions inside commands. - -## Utility Script Messages - -There are a small number of custom script messages defined by file-browser to support custom keybinds. - -### `=> ` - -A basic script message that makes it easier to chain multiple utility script messages together. -Any `=>` string will be substituted for `script-message`. - -```json -{ - "key": "KP1", - "command": ["script-message", "=>", "delay-command", "%j * 2", "=>", "evaluate-expressions", "print-text", "!{%j * 2}"], - "multiselect": true -} -``` - -### `conditional-command [condition] ` - -Runs the following command only if the condition [expression](#expressions) is `true`. - -This example command will only run if the player is currently paused: - -```json -{ - "key": "KP1", - "command": ["script-message", "conditional-command", "mp.get_property_bool('pause')", "print-text", "is paused"], -} -``` - -Custom keybind codes are evaluated before the expressions. - -This example only runs if the currently selected item in the browser has a `.mkv` extension: - -```json -{ - "key": "KP1", - "command": ["script-message", "conditional-command", "fb.get_extension(%N) == 'mkv'", "print-text", "a matroska file"], -} -``` - -### `delay-command [delay] ` - -Delays the following command by `[delay]` seconds. -Delay is an [expression](#expressions). - -The following example will send the `print-text` command after 5 seconds: - -```json -{ - "key": "KP1", - "command": ["script-message", "delay-command", "5", "print-text", "example"], -} -``` - -### `evaluate-expressions ` - -Evaluates embedded Lua expressions in the following command. -Expressions have the same behaviour as the [`conditional-command`](#conditional-command-condition-command) script-message. -Expressions must be surrounded by `!{}` characters. -Additional `!` characters can be placed at the start of the expression to -escape the evaluation. - -For example the following keybind will print 3 to the console: - -```json -{ - "key": "KP1", - "command": ["script-message", "evaluate-expressions", "print-text", "!{1 + 2}"], -} -``` - -This example replaces all `/` characters in the path with `\` -(note that the `\` needs to be escaped twice, once for the json file, and once for the string in the lua expression): - -```json -{ - "key": "KP1", - "command": ["script-message", "evaluate-expressions", "print-text", "!{ string.gsub(%F, '/', '\\\\') }"], -} -``` - -### `run-statement ` - -Runs the following string a as a Lua statement. This is similar to an [expression](#expressions), -but instead of the code evaluating to a value it must run a series of statements. Basically it allows -for function bodies to be embedded into custom keybinds. All the same modules are available. -If multiple strings are sent to the script-message then they will be concatenated together with newlines. - -The following keybind will use [mpv-user-input](https://github.com/CogentRedTester/mpv-user-input) to -rename items in file-browser: - -```json -{ - "key": "KP1", - "command": ["script-message", "run-statement", - "assert(user_input, 'install mpv-user-input!')", - - "local line, err = user_input.get_user_input_co({", - "id = 'rename-file',", - "source = 'custom-keybind',", - "request_text = 'rename file:',", - "queueable = true,", - "default_input = %N,", - "cursor_pos = #(%N) - #fb.get_extension(%N, '')", - "})", - - "if not line then return end", - "os.rename(%F, utils.join_path(%P, line))", - - "fb.rescan()" - ], - "parser": "file", - "multiselect": true -} -``` - -## Examples - -See [here](file-browser-keybinds.json). \ No newline at end of file diff --git a/scripts/file-browser/docs/file-browser-keybinds.json b/scripts/file-browser/docs/file-browser-keybinds.json deleted file mode 100644 index 236c554..0000000 --- a/scripts/file-browser/docs/file-browser-keybinds.json +++ /dev/null @@ -1,51 +0,0 @@ -[ - { - "comment": "deletes the currently selected file", - "key": "Alt+DEL", - "command": ["script-message", "run-statement", "os.remove(%F) ; fb.rescan()"], - "multiselect": true, - "multi-type": "repeat" - }, - { - "comment": "opens the currently selected items in a new mpv window", - "key": "Ctrl+ENTER", - "command": ["run", "mpv", "%F"], - "multiselect": true, - "multi-type": "concat" - }, - { - "key": "Ctrl+c", - "command": [ - ["run", "powershell", "-command", "Set-Clipboard", "%F"], - ["print-text", "copied filepath to clipboard"] - ], - "condition": "fb.get_platform() == 'windows'", - "api_version": "1.9.0", - "multiselect": true, - "delay": 0.3 - }, - - - { - "key": "WHEEL_UP", - "command": ["script-binding", "file_browser/dynamic/scroll_up"], - "flags": { "repeat": true } - }, - { - "key": "WHEEL_DOWN", - "command": ["script-binding", "file_browser/dynamic/scroll_down"], - "flags": { "repeat": true } - }, - { - "key": "MBTN_LEFT", - "command": ["script-binding", "file_browser/dynamic/down_dir"] - }, - { - "key": "MBTN_RIGHT", - "command": ["script-binding", "file_browser/dynamic/up_dir"] - }, - { - "key": "MBTN_MID", - "command": ["script-binding", "file_browser/dynamic/play"] - } -] \ No newline at end of file diff --git a/scripts/file-browser/docs/file_browser.conf b/scripts/file-browser/docs/file_browser.conf deleted file mode 100644 index 23d5fda..0000000 --- a/scripts/file-browser/docs/file_browser.conf +++ /dev/null @@ -1,247 +0,0 @@ -####################################################### -# This is the default config file for mpv-file-browser -# https://github.com/CogentRedTester/mpv-file-browser -####################################################### - -#################################### -######## browser settings ########## -#################################### - -# Root directories, separated by commas. -# `C:/` and `/` are automatically added on Windows and non-windows systems, respectively. -# The order of automatically added items can be changed by entering them here manually. -root=~/ - -# characters to separate root directories, each character works individually -root_separators=, - -# number of entries to show on the screen at once -num_entries=20 - -# number of directories to keep in the history. -# A size of 0 disables the history. -history_size=100 - -# wrap the cursor around the top and bottom of the list -wrap=no - -# enables loading external addons -addons=yes - -# enable custom keybinds -# the keybind json file must go in ~~/script-opts -custom_keybinds=yes - -# Automatically detect windows drives and adds them to the root. -# Using Ctrl+r in the root will run another scan. -auto_detect_windows_drives=yes - -# when opening the browser in idle mode prefer the current working directory over the root -# note that the working directory is set as the 'current' directory regardless, so `home` will -# move the browser there even if this option is set to false -default_to_working_directory=no - -# When opening the browser prefer the directory last opened by a previous mpv instance of file-browser. -# Overrides the `default_to_working_directory` option. -# Requires `save_last_opened_directory` to be `yes`. -# Uses the internal `last-opened-directory` addon. -default_to_last_opened_directory=no - -# Whether to save the last opened directory. -save_last_opened_directory=no - -# Move the cursor to the currently playing item (if available) when the playing file changes. -cursor_follows_playing_item=no - -#################################### -########## filter settings ######### -#################################### - -# only show files compatible with mpv in the browser -filter_files=yes - -# file-browser only shows files that are compatible with mpv by default -# adding a file extension to this list will add it to the extension whitelist -# extensions are separated with commas, do not use any spaces -extension_whitelist= - -# add file extensions to this list to disable default filetypes -# note that this will also override audio/subtitle_extension options below -extension_blacklist= - -# files with these extensions will be added as additional audio tracks for the current file instead of appended to the playlist -# items on this list are automatically added to the extension whitelist -audio_extensions=mka,dts,dtshd,dts-hd,truehd,true-hd - -# files with these extensions will be added as additional subtitle tracks for the current file instead of appended to the playlist -# items on this list are automatically added to the extension whitelist -subtitle_extensions=etf,etf8,utf-8,idx,sub,srt,rt,ssa,ass,mks,vtt,sup,scc,smi,lrc,pgs - -# filter directories or files starting with a period like .config for linux systems -# auto will show dot entries on windows and hide them otherwise -filter_dot_dirs=auto -filter_dot_files=auto - -#################################### -###### file loading settings ####### -#################################### - -# this option reverses the behaviour of the alt+ENTER keybind -# when disabled the keybind is required to enable autoload for the file -# when enabled the keybind disables autoload for the file -autoload=no - -# experimental feature that recurses directories concurrently when appending items to the playlist -# this feature has the potential for massive performance improvements when using addons with asynchronous IO -concurrent_recursion=yes - -# maximum number of recursions that can run concurrently -# if this number is too high it risks overflowing the mpv event queue, which will cause some directories to be dropped entirely -max_concurrency=16 - -# substitute forward slashes for backslashes when appending a local file to the playlist -# may be useful on windows systems -substitute_backslash=no - -# if autoload is triggered by selecting the currently playing file, then -# the current file will have it's watch-later config saved before being closed and re-opened -# essentially the current file will not be restarted -autoload_save_current=yes - -#################################### -### directory parsing settings ##### -#################################### - -# a directory cache to improve directory reading time, -# enable if it takes a long time to load directories. -# May cause 'ghost' files to be shown that no-longer exist or -# fail to show files that have recently been created. -# Reloading the directory with Ctrl+r will never use the cache. -# Use Ctrl+Shift+r to forcibly clear the cache. -cache=no - -# Enables the internal `ls` addon that parses directories using the `ls` commandline tool. -# Allows directory parsing to run concurrently, which prevents the browser from locking up. -# Automatically disables itself on Windows systems. -ls_parser=yes - -# Enables the internal `windir` addon that parses directories using the `dir` command in cmd.exe. -# Allows directory parsing to run concurrently, which prevents the browser from locking up. -# Automatically disables itself on non-Windows systems. -windir_parser=yes - -# when moving up a directory do not stop on empty protocol schemes like `ftp://` -# e.g. moving up from `ftp://localhost/` will move straight to the root instead of `ftp://` -skip_protocol_schemes=yes - -# map optical device paths to their respective file paths, -# e.g. mapping bd:// to the value of the bluray-device property -map_bd_device=yes -map_dvd_device=yes -map_cdda_device=yes - -#################################### -########## misc settings ########### -#################################### - -# turn the OSC idle screen off and on when opening and closing the browser -# this should only be enabled if file-browser is the only thing controlling the idle-screen, -# if multiple sources attempt to control the idle-screen at the same time it can cause unexpected behaviour. -toggle_idlescreen=no - -# interpret backslashes `\` in paths as forward slashes `/` -# this is useful on Windows, which natively uses backslashes. -# As backslashes are valid filename characters in Unix systems this could -# cause mangled paths, though such filenames are rare. -# Use `yes` and `no` to enable/disable. `auto` tries to use the mpv `platform` -# property (mpv v0.36+) to decide. If the property is unavailable it defaults to `yes`. -normalise_backslash=auto - -# Set the current open status of the browser in the `file_browser/open` field of the `user-data` property. -# This property is only available in mpv v0.36+. -set_user_data=yes - -# Set the current open status of the browser in the `file_browser-open` field of the `shared-script-properties` property. -# This property is deprecated. When it is removed in mpv v0.37 file-browser will automatically disable this option. -set_shared_script_properties=no - -#################################### -########## file overrides ######### -#################################### - -# directory to load external modules - currently just user-input-module -module_directory=~~/script-modules -addon_directory=~~/script-modules/file-browser-addons -custom_keybinds_file=~~/script-opts/file-browser-keybinds.json -last_opened_directory_file=~~state/file_browser-last_opened_directory - -#################################### -######### style settings ########### -#################################### - -# Replace the user's home directory with `~/` in the header. -# Uses the internal home-label addon. -home_label=yes - -# force file-browser to use a specific alignment (default: top-left) -# set to auto to use the default mpv osd-align options -# Options: 'auto'|'top'|'center'|'bottom' -align_y=top -# Options: 'auto'|'left'|'center'|'right' -align_x=left - -# The format string used for the header. Uses custom-keybind substitution codes to -# dynamically change the contents of the header (see: docs/custom-keybinds.md#codes) -# and supports the additional code `%^`which re-applies the default header ass style. -# The original style used before the current one was: %q\N---------------------------------------------------- -format_string_header={\fnMonospace}[%i/%x]%^ %q\N------------------------------------------------------------------ - -# The format strings used for the wrappers. Supports custom-keybind substitution codes, and -# supports two additional codes: `%<` and `%>` to show the number of items before and after the visible list, respectively. -# Setting these options to empty strings will disable the wrappers. -# Original styles used before the current ones were: -# top: %< item(s) above\N -# bottom: \N%> item(s) remaining -format_string_topwrapper=... -format_string_bottomwrapper=... - -# allows custom icons be set for the folder and cursor -# the `\h` character is a hard space to add padding -folder_icon={\p1}m 6.52 0 l 1.63 0 b 0.73 0 0.01 0.73 0.01 1.63 l 0 11.41 b 0 12.32 0.73 13.05 1.63 13.05 l 14.68 13.05 b 15.58 13.05 16.31 12.32 16.31 11.41 l 16.31 3.26 b 16.31 2.36 15.58 1.63 14.68 1.63 l 8.15 1.63{\p0}\h -cursor_icon={\p1}m 14.11 6.86 l 0.34 0.02 b 0.25 -0.02 0.13 -0 0.06 0.08 b -0.01 0.16 -0.02 0.28 0.04 0.36 l 3.38 5.55 l 3.38 5.55 3.67 6.15 3.81 6.79 3.79 7.45 3.61 8.08 3.39 8.5l 0.04 13.77 b -0.02 13.86 -0.01 13.98 0.06 14.06 b 0.11 14.11 0.17 14.13 0.24 14.13 b 0.27 14.13 0.31 14.13 0.34 14.11 l 14.11 7.28 b 14.2 7.24 14.25 7.16 14.25 7.07 b 14.25 6.98 14.2 6.9 14.11 6.86{\p0}\h -cursor_icon_flipped={\p1}m 0.13 6.86 l 13.9 0.02 b 14 -0.02 14.11 -0 14.19 0.08 b 14.26 0.16 14.27 0.28 14.21 0.36 l 10.87 5.55 l 10.87 5.55 10.44 6.79 10.64 8.08 10.86 8.5l 14.21 13.77 b 14.27 13.86 14.26 13.98 14.19 14.06 b 14.14 14.11 14.07 14.13 14.01 14.13 b 13.97 14.13 13.94 14.13 13.9 14.11 l 0.13 7.28 b 0.05 7.24 0 7.16 0 7.07 b 0 6.98 0.05 6.9 0.13 6.86{\p0}\h - -# set the opacity of fonts in hexadecimal from 00 (opaque) to FF (transparent) -font_opacity_selection_marker=99 - -# print the header in bold font -font_bold_header=yes - -# scale the size of the browser; 2 would double the size, 0.5 would halve it, etc. -# the header and wrapper scaling is relative to the base scaling -scaling_factor_base=1 -scaling_factor_header=1.4 -scaling_factor_wrappers=1 - -# set custom font names, blank is the default -# setting custom fonts for the folder/cursor can fix broken or missing icons -font_name_header= -font_name_body= -font_name_wrappers= -font_name_folder= -font_name_cursor= - -# set custom font colours -# colours are in hexadecimal format in Blue Green Red order -# note that this is the opposite order to RGB colour codes -font_colour_header=00ccff -font_colour_body=ffffff -font_colour_wrappers=00ccff -font_colour_cursor=00ccff -font_colour_escape_chars=413eff - -# these are colours applied to list items in different states -font_colour_selected=fce788 -font_colour_multiselect=fcad88 -font_colour_playing=33ff66 -font_colour_playing_multiselected=22b547 \ No newline at end of file diff --git a/scripts/file-browser/main.lua b/scripts/file-browser/main.lua deleted file mode 100644 index 96c7ba4..0000000 --- a/scripts/file-browser/main.lua +++ /dev/null @@ -1,76 +0,0 @@ ---[[ - mpv-file-browser - - This script allows users to browse and open files and folders entirely from within mpv. - The script uses nothing outside the mpv API, so should work identically on all platforms. - The browser can move up and down directories, start playing files and folders, or add them to the queue. - - For full documentation see: https://github.com/CogentRedTester/mpv-file-browser -]]-- - -local mp = require 'mp' - -local o = require 'modules.options' - --- setting the package paths -package.path = mp.command_native({"expand-path", o.module_directory}).."/?.lua;"..package.path - -local addons = require 'modules.addons' -local keybinds = require 'modules.keybinds' -local setup = require 'modules.setup' -local controls = require 'modules.controls' -local observers = require 'modules.observers' -local script_messages = require 'modules.script-messages' - -local input_loaded, input = pcall(require, "mp.input") -local user_input_loaded, user_input = pcall(require, "user-input-module") - - --- root and addon setup -setup.root() -addons.load_internal_addons() -if o.addons then addons.load_external_addons() end -addons.setup_addons() - ---these need to be below the addon setup in case any parsers add custom entries -setup.extensions_list() -keybinds.setup_keybinds() - --- property observers -mp.observe_property('path', 'string', observers.current_directory) -if o.map_dvd_device then mp.observe_property('dvd-device', 'string', observers.dvd_device) end -if o.map_bd_device then mp.observe_property('bluray-device', 'string', observers.bd_device) end -if o.map_cdda_device then mp.observe_property('cdda-device', 'string', observers.cd_device) end -if o.align_x == 'auto' then mp.observe_property('osd-align-x', 'string', observers.osd_align) end -if o.align_y == 'auto' then mp.observe_property('osd-align-y', 'string', observers.osd_align) end - --- scripts messages -mp.register_script_message('=>', script_messages.chain) -mp.register_script_message('delay-command', script_messages.delay_command) -mp.register_script_message('conditional-command', script_messages.conditional_command) -mp.register_script_message('evaluate-expressions', script_messages.evaluate_expressions) -mp.register_script_message('run-statement', script_messages.run_statement) - -mp.register_script_message('browse-directory', controls.browse_directory) -mp.register_script_message("get-directory-contents", script_messages.get_directory_contents) - ---declares the keybind to open the browser -mp.add_key_binding('MENU','browse-files', controls.toggle) -mp.add_key_binding('Ctrl+o','open-browser', controls.open) - -if input_loaded then - mp.add_key_binding("Alt+o", "browse-directory/get-user-input", function() - input.get({ - prompt = "open directory:", - id = "file-browser/browse-directory", - submit = function(text) - controls.browse_directory(text) - input.terminate() - end - }) - end) -elseif user_input_loaded then - mp.add_key_binding("Alt+o", "browse-directory/get-user-input", function() - user_input.get_user_input(controls.browse_directory, {request_text = "open directory:"}) - end) -end \ No newline at end of file diff --git a/scripts/file-browser/modules/addons.lua b/scripts/file-browser/modules/addons.lua deleted file mode 100644 index 72cfc13..0000000 --- a/scripts/file-browser/modules/addons.lua +++ /dev/null @@ -1,204 +0,0 @@ -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local parser_API = require 'modules.apis.parser' - -local API_MAJOR, API_MINOR, API_PATCH = g.API_VERSION:match("(%d+)%.(%d+)%.(%d+)") -API_MAJOR, API_MINOR, API_PATCH = tonumber(API_MAJOR), tonumber(API_MINOR), tonumber(API_PATCH) - ----checks if the given parser has a valid version number ----@param parser Parser|Keybind ----@param id string ----@return boolean? -local function check_api_version(parser, id) - if parser.version then - msg.warn(('%s: use of the `version` field is deprecated - use `api_version` instead'):format(id)) - parser.api_version = parser.version - end - - local version = parser.api_version - if type(version) ~= 'string' then return msg.error(("%s: field `api_version` must be a string, got %s"):format(id, tostring(version))) end - - local major, minor = version:match("(%d+)%.(%d+)") - major, minor = tonumber(major), tonumber(minor) - - if not major or not minor then - return msg.error(("%s: invalid version number, expected v%d.%d.x, got v%s"):format(id, API_MAJOR, API_MINOR, version)) - elseif major ~= API_MAJOR then - return msg.error(("%s has wrong major version number, expected v%d.x.x, got, v%s"):format(id, API_MAJOR, version)) - elseif minor > API_MINOR then - msg.warn(("%s has newer minor version number than API, expected v%d.%d.x, got v%s"):format(id, API_MAJOR, API_MINOR, version)) - end - return true -end - ----create a unique id for the given parser ----@param parser Parser -local function set_parser_id(parser) - local name = parser.name - if g.parsers[name] then - local n = 2 - name = parser.name.."_"..n - while g.parsers[name] do - n = n + 1 - name = parser.name.."_"..n - end - end - - g.parsers[name] = parser - g.parsers[parser] = { id = name } -end - ----runs an addon in a separate environment ----@param path string ----@return unknown -local function run_addon(path) - local name_sqbr = string.format("[%s]", path:match("/([^/]*)%.lua$")) - local addon_environment = fb_utils.redirect_table(_G) - addon_environment._G = addon_environment ---@diagnostic disable-line inject-field - - --gives each addon custom debug messages - addon_environment.package = fb_utils.redirect_table(addon_environment.package) ---@diagnostic disable-line inject-field - addon_environment.package.loaded = fb_utils.redirect_table(addon_environment.package.loaded) - local msg_module = { - log = function(level, ...) msg.log(level, name_sqbr, ...) end, - fatal = function(...) return msg.fatal(name_sqbr, ...) end, - error = function(...) return msg.error(name_sqbr, ...) end, - warn = function(...) return msg.warn(name_sqbr, ...) end, - info = function(...) return msg.info(name_sqbr, ...) end, - verbose = function(...) return msg.verbose(name_sqbr, ...) end, - debug = function(...) return msg.debug(name_sqbr, ...) end, - trace = function(...) return msg.trace(name_sqbr, ...) end, - } - addon_environment.print = msg_module.info ---@diagnostic disable-line inject-field - - addon_environment.require = function(module) ---@diagnostic disable-line inject-field - if module == "mp.msg" then return msg_module end - return require(module) - end - - ---@type function?, string? - local chunk, err - if setfenv then ---@diagnostic disable-line deprecated - --since I stupidly named a function loadfile I need to specify the global one - --I've been using the name too long to want to change it now - chunk, err = _G.loadfile(path) - if not chunk then return msg.error(err) end - setfenv(chunk, addon_environment) ---@diagnostic disable-line deprecated - else - chunk, err = _G.loadfile(path, "bt", addon_environment) ---@diagnostic disable-line redundant-parameter - if not chunk then return msg.error(err) end - end - - ---@diagnostic disable-next-line no-unknown - local success, result = xpcall(chunk, fb_utils.traceback) - return success and result or nil -end - ----Setup an internal or external parser. ----Note that we're somewhat bypassing the type system here as we're converting from a ----ParserConfig object to a Parser object. As such we need to make sure that the ----we're doing everything correctly. A 2.0 release of the addon API could simplify ----this by formally separating ParserConfigs from Parsers and providing an ----API to register parsers. ----@param parser ParserConfig ----@param file string ----@return nil -local function setup_parser(parser, file) - parser = setmetatable(parser, { __index = parser_API }) --[[@as Parser]] - parser.name = parser.name or file:gsub("%-browser%.lua$", ""):gsub("%.lua$", "") - - set_parser_id(parser) - if not check_api_version(parser, file) then return msg.error("aborting load of parser", parser:get_id(), "from", file) end - - msg.verbose("imported parser", parser:get_id(), "from", file) - - --sets missing functions - if not parser.can_parse then - if parser.parse then parser.can_parse = function() return true end - else parser.can_parse = function() return false end end - end - - if parser.priority == nil then parser.priority = 0 end - if type(parser.priority) ~= "number" then return msg.error("parser", parser:get_id(), "needs a numeric priority") end - - table.insert(g.parsers, parser) -end - ----load an external addon ----@param file string ----@param path string ----@return nil -local function setup_addon(file, path) - if file:sub(-4) ~= ".lua" then return msg.verbose(path, "is not a lua file - aborting addon setup") end - - local addon_parsers = run_addon(path) --[=[@as ParserConfig|ParserConfig[]]=] - if addon_parsers and not next(addon_parsers) then return msg.verbose('addon', path, 'returned empry table - special case, ignoring') end - if not addon_parsers or type(addon_parsers) ~= "table" then return msg.error("addon", path, "did not return a table") end - - --if the table contains a priority key then we assume it isn't an array of parsers - if not addon_parsers[1] then addon_parsers = {addon_parsers} end - - for _, parser in ipairs(addon_parsers --[=[@as ParserConfig[]]=]) do - setup_parser(parser, file) - end -end - ----loading external addons ----@param directory string ----@return nil -local function load_addons(directory) - directory = fb_utils.fix_path(directory, true) - - local files = utils.readdir(directory) - if not files then return msg.verbose('not loading external addons - could not read', o.addon_directory) end - - for _, file in ipairs(files) do - setup_addon(file, directory..file) - end -end - -local function load_internal_addons() - local script_dir = mp.get_script_directory() - if not script_dir then return msg.error('script is not being run as a directory script!') end - local internal_addon_dir = script_dir..'/modules/addons/' - load_addons(internal_addon_dir) -end - -local function load_external_addons() - local addon_dir = mp.command_native({"expand-path", o.addon_directory..'/'}) --[[@as string|nil]] - if not addon_dir then return msg.verbose('not loading external addons - could not resolve', o.addon_directory) end - load_addons(addon_dir) -end - ----Orders the addons by priority, sets the parser index values, ----and runs the setup methods of the addons. -local function setup_addons() - table.sort(g.parsers, function(a, b) return a.priority < b.priority end) - - --we want to store the indexes of the parsers - for i = #g.parsers, 1, -1 do g.parsers[ g.parsers[i] ].index = i end - - --we want to run the setup functions for each addon - for index, parser in ipairs(g.parsers) do - if parser.setup then - local success = xpcall(function() parser:setup() end, fb_utils.traceback) - if not success then - msg.error("parser", parser:get_id(), "threw an error in the setup method - removing from list of parsers") - table.remove(g.parsers, index) - end - end - end -end - ----@class addons -return { - check_api_version = check_api_version, - load_internal_addons = load_internal_addons, - load_external_addons = load_external_addons, - setup_addons = setup_addons, -} \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/cache.lua b/scripts/file-browser/modules/addons/cache.lua deleted file mode 100644 index e67e38f..0000000 --- a/scripts/file-browser/modules/addons/cache.lua +++ /dev/null @@ -1,146 +0,0 @@ ---[[ - This file is an internal file-browser addon. - It should not be imported like a normal module. - - Maintains a cache of the accessed directories to improve - parsing speed. Disabled by default. -]] - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local fb = require 'file-browser' - ----@type ParserConfig -local cacheParser = { - name = 'cache', - priority = 0, - api_version = '1.9', -} - ----@class CacheEntry ----@field list List ----@field opts Opts? ----@field timeout MPTimer - ----@type table -local cache = {} - ----@type table -local pending_parses = {} - ----@param directories? string[] -local function clear_cache(directories) - if directories then - msg.debug('clearing cache for', #directories, 'directorie(s)') - for _, dir in ipairs(directories) do - if cache[dir] then - msg.trace('clearing cache for', dir) - cache[dir].timeout:kill() - cache[dir] = nil - end - end - else - msg.debug('clearing cache') - for _, entry in pairs(cache) do - entry.timeout:kill() - end - cache = {} - end -end - ----@type string -local prev_directory = '' - -function cacheParser:can_parse(directory, parse_state) - -- allows the cache to be forcibly used or bypassed with the - -- cache/use parse property. - if parse_state.properties.cache and parse_state.properties.cache.use ~= nil then - if parse_state.source == 'browser' then prev_directory = directory end - return parse_state.properties.cache.use - end - - -- the script message is guaranteed to always bypass the cache - if parse_state.source == 'script-message' then return false end - if not fb.get_opt('cache') or directory == '' then return false end - - -- clear the cache if reloading the current directory in the browser - -- this means that fb.rescan() should maintain expected behaviour - if parse_state.source == 'browser' then - if prev_directory == directory then clear_cache({directory}) end - prev_directory = directory - end - - return true -end - ----@async -function cacheParser:parse(directory) - if cache[directory] then - msg.verbose('fetching', directory, 'contents from cache') - cache[directory].timeout:kill() - cache[directory].timeout:resume() - return cache[directory].list, cache[directory].opts - end - - ---@type List?, Opts? - local list, opts - - -- if another parse is already running on the same directory, then wait and use the same result - if not pending_parses[directory] then - pending_parses[directory] = {} - list, opts = self:defer(directory) - else - msg.debug('parse for', directory, 'already running - waiting for other parse to finish...') - table.insert(pending_parses[directory], fb.coroutine.callback(30)) - list, opts = coroutine.yield() - end - - local pending = pending_parses[directory] - -- need to clear the pending parses before resuming them or they will also attempt to resume the parses - pending_parses[directory] = nil - if pending and #pending > 0 then - msg.debug('resuming', #pending, 'pending parses for', directory) - for _, cb in ipairs(pending) do - cb(list, opts) - end - end - - if not list then return end - - -- pending will be truthy for the original parse and falsy for any parses that were pending - if pending then - msg.debug('storing', directory, 'contents in cache') - cache[directory] = { - list = list, - opts = opts, - timeout = mp.add_timeout(120, function() cache[directory] = nil end), - } - end - - return list, opts -end - -cacheParser.keybinds = { - { - key = 'Ctrl+Shift+r', - name = 'clear', - command = function() clear_cache() ; fb.rescan() end, - } -} - --- provide method of clearing the cache through script messages -mp.register_script_message('cache/clear', function(dirs) - if not dirs then - return clear_cache() - end - - ---@type string[]? - local directories = utils.parse_json(dirs) - if not directories then msg.error('unable to parse', dirs) end - - clear_cache(directories) -end) - -return cacheParser \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/file.lua b/scripts/file-browser/modules/addons/file.lua deleted file mode 100644 index 5562010..0000000 --- a/scripts/file-browser/modules/addons/file.lua +++ /dev/null @@ -1,46 +0,0 @@ --- This file is an internal file-browser addon. --- It should not be imported like a normal module. - -local msg = require 'mp.msg' -local utils = require 'mp.utils' - ----Parser for native filesystems ----@type ParserConfig -local file_parser = { - name = "file", - priority = 110, - api_version = '1.0.0', -} - ---try to parse any directory except for the root -function file_parser:can_parse(directory) - return directory ~= '' -end - ---scans the given directory using the mp.utils.readdir function -function file_parser:parse(directory) - local new_list = {} - local list1 = utils.readdir(directory, 'dirs') - if list1 == nil then return nil end - - --sorts folders and formats them into the list of directories - for i=1, #list1 do - local item = list1[i] - - msg.trace(item..'/') - table.insert(new_list, {name = item..'/', type = 'dir'}) - end - - --appends files to the list of directory items - local list2 = utils.readdir(directory, 'files') - if list2 == nil then return nil end - for i=1, #list2 do - local item = list2[i] - - msg.trace(item) - table.insert(new_list, {name = item, type = 'file'}) - end - return new_list -end - -return file_parser \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/find.lua b/scripts/file-browser/modules/addons/find.lua deleted file mode 100644 index 8f7fbd3..0000000 --- a/scripts/file-browser/modules/addons/find.lua +++ /dev/null @@ -1,124 +0,0 @@ ---[[ - This file is an internal file-browser addon. - It should not be imported like a normal module. - - Allows searching the current directory. -]]-- - -local msg = require "mp.msg" -local fb = require "file-browser" -local input_loaded, input = pcall(require, "mp.input") -local user_input_loaded, user_input = pcall(require, "user-input-module") - ----@type ParserConfig -local find = { - api_version = "1.3.0" -} - ----@type thread|nil -local latest_coroutine = nil - ----@type State -local global_fb_state = getmetatable(fb.get_state()).__original - ----@param name string ----@param query string ----@return boolean -local function compare(name, query) - if name:find(query) then return true end - if name:lower():find(query) then return true end - if name:upper():find(query) then return true end - - return false -end - ----@async ----@param key Keybind ----@param state State ----@param co thread ----@return boolean? -local function main(key, state, co) - if not state.list then return false end - - ---@type string - local text - if key.name == "find/find" then text = "Find: enter search string" - else text = "Find: enter advanced search string" end - - if input_loaded then - input.get({ - prompt = text .. "\n>", - id = "file-browser/find", - submit = fb.coroutine.callback(), - }) - elseif user_input_loaded then - user_input.get_user_input( fb.coroutine.callback(), { text = text, id = "find", replace = true } ) - end - - local query, error = coroutine.yield() - if input_loaded then input.terminate() end - if not query then return msg.debug(error) end - - -- allow the directory to be changed before this point - local list = fb.get_list() - local parse_id = global_fb_state.co - - if key.name == "find/find" then - query = fb.pattern_escape(query) - end - - local results = {} - - for index, item in ipairs(list) do - if compare(item.label or item.name, query) then - table.insert(results, index) - end - end - - if (#results < 1) then - msg.warn("No matching items for '"..query.."'") - return - end - - --keep cycling through the search results if any are found - --putting this into a separate coroutine removes any passthrough ambiguity - --the final return statement should return to `step_find` not any other function - ---@async - fb.coroutine.run(function() - latest_coroutine = coroutine.running() - ---@type number - local rindex = 1 - while (true) do - - if rindex == 0 then rindex = #results - elseif rindex == #results + 1 then rindex = 1 end - - fb.set_selected_index(results[rindex]) - local direction = coroutine.yield(true) --[[@as number]] - rindex = rindex + direction - - if parse_id ~= global_fb_state.co then - latest_coroutine = nil - return - end - end - end) -end - -local function step_find(key) - if not latest_coroutine then return false end - ---@type number - local direction = 0 - if key.name == "find/next" then direction = 1 - elseif key.name == "find/prev" then direction = -1 end - return fb.coroutine.resume_err(latest_coroutine, direction) -end - -find.keybinds = { - {"Ctrl+f", "find", main, {}}, - {"Ctrl+F", "find_advanced", main, {}}, - {"n", "next", step_find, {}}, - {"N", "prev", step_find, {}}, -} - -return find \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/home-label.lua b/scripts/file-browser/modules/addons/home-label.lua deleted file mode 100644 index 5e6cf8e..0000000 --- a/scripts/file-browser/modules/addons/home-label.lua +++ /dev/null @@ -1,31 +0,0 @@ ---[[ - An addon for mpv-file-browser which displays ~/ for the home directory instead of the full path -]]-- - -local mp = require "mp" -local fb = require "file-browser" - -local home = fb.fix_path(mp.command_native({"expand-path", "~/"}) --[[@as string]], true) - ----@type ParserConfig -local home_label = { - priority = 100, - api_version = "1.0.0" -} - -function home_label:can_parse(directory) - if not fb.get_opt('home_label') then return false end - return directory:sub(1, home:len()) == home -end - ----@async -function home_label:parse(directory) - local list, opts = self:defer(directory) - if not opts then opts = {} end - if (not opts.directory or opts.directory == directory) and not opts.directory_label then - opts.directory_label = "~/"..(directory:sub(home:len()+1) or "") - end - return list, opts -end - -return home_label \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/last-opened-directory.lua b/scripts/file-browser/modules/addons/last-opened-directory.lua deleted file mode 100644 index f6f382a..0000000 --- a/scripts/file-browser/modules/addons/last-opened-directory.lua +++ /dev/null @@ -1,62 +0,0 @@ ---[[ - An addon for mpv-file-browser which stores the last opened directory and - sets it as the opened directory the next time mpv is opened. - - Available at: https://github.com/CogentRedTester/mpv-file-browser/tree/master/addons -]]-- - -local mp = require 'mp' -local msg = require 'mp.msg' - -local fb = require 'file-browser' - -local state_file = mp.command_native({'expand-path', fb.get_opt('last_opened_directory_file')}) --[[@as string]] -msg.verbose('using', state_file) - ----@param directory? string ----@return nil -local function write_directory(directory) - if not fb.get_opt('save_last_opened_directory') then return end - - local file = io.open(state_file, 'w+') - - if not file then return msg.error('could not open', state_file, 'for writing') end - - directory = directory or fb.get_directory() or '' - msg.verbose('writing', directory, 'to', state_file) - file:write(directory) - file:close() -end - ----@type ParserConfig -local addon = { - api_version = '1.7.0', - priority = 0, -} - -function addon:setup() - if not fb.get_opt('default_to_last_opened_directory') then return end - - local file = io.open(state_file, "r") - if not file then - return msg.info('failed to open', state_file, 'for reading (may be due to first load)') - end - - local dir = file:read("*a") - msg.verbose('setting default directory to', dir) - fb.browse_directory(dir, false) - file:close() -end - -function addon:can_parse(dir, parse_state) - if parse_state.source == 'browser' then write_directory(dir) end - return false -end - -function addon:parse() - return nil -end - -mp.register_event('shutdown', function() write_directory() end) - -return addon \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/ls.lua b/scripts/file-browser/modules/addons/ls.lua deleted file mode 100644 index db9e561..0000000 --- a/scripts/file-browser/modules/addons/ls.lua +++ /dev/null @@ -1,68 +0,0 @@ ---[[ - An addon for mpv-file-browser which uses the Linux ls command to parse native directories - This behaves near identically to the native parser, but IO is done asynchronously. - - Available at: https://github.com/CogentRedTester/mpv-file-browser/tree/master/addons -]]-- - -local mp = require "mp" -local msg = require "mp.msg" -local fb = require "file-browser" - -local PLATFORM = fb.get_platform() - ----@type ParserConfig -local ls = { - priority = 109, - api_version = "1.9.0", - name = "ls", - keybind_name = "file" -} - ----@async ----@param args string[] ----@param parse_state ParseState ----@return string|nil -local function command(args, parse_state) - local async = mp.command_native_async({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - capture_stderr = true, - args = args - }, fb.coroutine.callback(30)) - - ---@type boolean, boolean, MPVSubprocessResult - local completed, _, cmd = parse_state:yield() - if not completed then - msg.warn('read timed out for:', table.unpack(args)) - mp.abort_async_command(async) - return nil - end - - return cmd.status == 0 and cmd.stdout or nil -end - -function ls:can_parse(directory) - if not fb.get_opt('ls_parser') then return false end - return PLATFORM ~= 'windows' and directory ~= '' and not fb.get_protocol(directory) -end - ----@async -function ls:parse(directory, parse_state) - local list = {} - local files = command({"ls", "-1", "-p", "-A", "-N", "--zero", "-L", directory}, parse_state) - - if not files then return nil end - - for str in files:gmatch("%Z+") do - local is_dir = str:sub(-1) == "/" - msg.trace(str) - - table.insert(list, {name = str, type = is_dir and "dir" or "file"}) - end - - return list -end - -return ls \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/root.lua b/scripts/file-browser/modules/addons/root.lua deleted file mode 100644 index 3659ba1..0000000 --- a/scripts/file-browser/modules/addons/root.lua +++ /dev/null @@ -1,26 +0,0 @@ --- This file is an internal file-browser addon. --- It should not be imported like a normal module. - -local g = require 'modules.globals' - ----Parser for the root. ----@type ParserConfig -local root_parser = { - name = "root", - priority = math.huge, - api_version = '1.0.0', -} - -function root_parser:can_parse(directory) - return directory == '' -end - ---we return the root directory exactly as setup -function root_parser:parse() - return g.root, { - sorted = true, - filtered = true, - } -end - -return root_parser \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/windir.lua b/scripts/file-browser/modules/addons/windir.lua deleted file mode 100644 index 97eb875..0000000 --- a/scripts/file-browser/modules/addons/windir.lua +++ /dev/null @@ -1,218 +0,0 @@ ---[[ - An addon for mpv-file-browser which uses the Windows dir command to parse native directories - This behaves near identically to the native parser, but IO is done asynchronously. - - Available at: https://github.com/CogentRedTester/mpv-file-browser/tree/master/addons -]]-- - -local mp = require "mp" -local msg = require "mp.msg" -local fb = require "file-browser" - -local PLATFORM = fb.get_platform() - ----@param bytes string ----@return fun(): number, number -local function byte_iterator(bytes) - ---@async - ---@return number? - local function iter() - for i = 1, #bytes do - coroutine.yield(bytes:byte(i), i) - end - error('malformed utf16le string - expected byte but found end of string') - end - - return coroutine.wrap(iter) -end - ----@param bits number ----@param by number ----@return number -local function lshift(bits, by) - return bits * 2^by -end - ----@param bits number ----@param by number ----@return integer -local function rshift(bits, by) - return math.floor(bits / 2^by) -end - ----@param bits number ----@param i number ----@return number -local function bits_below(bits, i) - return bits % 2^i -end - ----@param bits number ----@param i number exclusive ----@param j number inclusive ----@return integer -local function bits_between(bits, i, j) - return rshift(bits_below(bits, j), i) -end - ----@param bytes string ----@return number[] -local function utf16le_to_unicode(bytes) - msg.trace('converting from utf16-le to unicode codepoints') - - ---@type number[] - local codepoints = {} - - local get_byte = byte_iterator(bytes) - - while true do - -- start of a char - local success, little, i = pcall(get_byte) - if not success then break end - - local big = get_byte() - local codepoint = little + lshift(big, 8) - - if codepoint < 0xd800 or codepoint > 0xdfff then - table.insert(codepoints, codepoint) - else - -- handling surrogate pairs - -- grab the next two bytes to grab the low surrogate - local high_pair = codepoint - local low_pair = get_byte() + lshift(get_byte(), 8) - - if high_pair >= 0xdc00 then - error(('malformed utf16le string at byte #%d (0x%04X) - high surrogate pair should be < 0xDC00'):format(i, high_pair)) - elseif low_pair < 0xdc00 then - error(('malformed utf16le string at byte #%d (0x%04X) - low surrogate pair should be >= 0xDC00'):format(i+2, low_pair)) - end - - -- The last 10 bits of each surrogate are the two halves of the codepoint - -- https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF - local high_bits = bits_below(high_pair, 10) - local low_bits = bits_below(low_pair, 10) - local surrogate_par = (low_bits + lshift(high_bits, 10)) + 0x10000 - - table.insert(codepoints, surrogate_par) - end - end - - return codepoints -end - ----@param codepoints number[] ----@return string -local function unicode_to_utf8(codepoints) - ---@type number[] - local bytes = {} - - -- https://en.wikipedia.org/wiki/UTF-8#Description - for i, codepoint in ipairs(codepoints) do - if codepoint >= 0xd800 and codepoint <= 0xdfff then - error(('codepoint %d (U+%05X) is within the reserved surrogate pair range (U+D800-U+DFFF)'):format(i, codepoint)) - elseif codepoint <= 0x7f then - table.insert(bytes, codepoint) - elseif codepoint <= 0x7ff then - table.insert(bytes, 0xC0 + rshift(codepoint, 6)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - elseif codepoint <= 0xffff then - table.insert(bytes, 0xE0 + rshift(codepoint, 12)) - table.insert(bytes, 0x80 + bits_between(codepoint, 6, 12)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - elseif codepoint <= 0x10ffff then - table.insert(bytes, 0xF0 + rshift(codepoint, 18)) - table.insert(bytes, 0x80 + bits_between(codepoint, 12, 18)) - table.insert(bytes, 0x80 + bits_between(codepoint, 6, 12)) - table.insert(bytes, 0x80 + bits_below(codepoint, 6)) - else - error(('codepoint %d (U+%05X) is larger than U+10FFFF'):format(i, codepoint)) - end - end - - return string.char(table.unpack(bytes)) -end - -local function utf8(text) - return unicode_to_utf8(utf16le_to_unicode(text)) -end - ----@type ParserConfig -local dir = { - priority = 109, - api_version = "1.9.0", - name = "cmd-dir", - keybind_name = "file" -} - ----@async ----@param args string[] ----@param parse_state ParseState ----@return string|nil -local function command(args, parse_state) - local async = mp.command_native_async({ - name = "subprocess", - playback_only = false, - capture_stdout = true, - capture_stderr = true, - args = args, - }, fb.coroutine.callback(30) ) - - ---@type boolean, boolean, MPVSubprocessResult - local completed, _, cmd = parse_state:yield() - if not completed then - msg.warn('read timed out for:', table.unpack(args)) - mp.abort_async_command(async) - return nil - end - - local success = xpcall(function() - cmd.stdout = utf8(cmd.stdout) or '' - cmd.stderr = utf8(cmd.stderr) or '' - end, fb.traceback) - - if not success then return msg.error('failed to convert utf16-le string to utf8') end - - --dir returns this exact error message if the directory is empty - if cmd.status == 1 and cmd.stderr == "File Not Found\r\n" then cmd.status = 0 end - if cmd.status ~= 0 then return msg.error(cmd.stderr) end - - return cmd.status == 0 and cmd.stdout or nil -end - -function dir:can_parse(directory) - if not fb.get_opt('windir_parser') then return false end - return PLATFORM == 'windows' and directory ~= '' and not fb.get_protocol(directory) -end - ----@async -function dir:parse(directory, parse_state) - local list = {} - - -- the dir command expects backslashes for our paths - directory = string.gsub(directory, "/", "\\") - - local dirs = command({ "cmd", "/U", "/c", "dir", "/b", "/ad", directory }, parse_state) - if not dirs then return end - - local files = command({ "cmd", "/U", "/c", "dir", "/b", "/a-d", directory }, parse_state) - if not files then return end - - for name in dirs:gmatch("[^\n\r]+") do - name = name.."/" - if fb.valid_dir(name) then - table.insert(list, { name = name, type = "dir" }) - msg.trace(name) - end - end - - for name in files:gmatch("[^\n\r]+") do - if fb.valid_file(name) then - table.insert(list, { name = name, type = "file" }) - msg.trace(name) - end - end - - return list, { filtered = true } -end - -return dir \ No newline at end of file diff --git a/scripts/file-browser/modules/addons/winroot.lua b/scripts/file-browser/modules/addons/winroot.lua deleted file mode 100644 index 8caea18..0000000 --- a/scripts/file-browser/modules/addons/winroot.lua +++ /dev/null @@ -1,62 +0,0 @@ ---[[ - This file is an internal file-browser addon. - It should not be imported like a normal module. - - Automatically populates the root with windows drives on startup. - Ctrl+r will add new drives mounted since startup. - - Drives will only be added if they are not already present in the root. -]] - -local mp = require 'mp' -local msg = require 'mp.msg' -local fb = require 'file-browser' - -local PLATFORM = fb.get_platform() - ----returns a list of windows drives ----@return string[]? -local function get_drives() - ---@type MPVSubprocessResult?, string? - local result, err = mp.command_native({ - name = 'subprocess', - playback_only = false, - capture_stdout = true, - args = {'fsutil', 'fsinfo', 'drives'} - }) - if not result then return msg.error(err) end - if result.status ~= 0 then return msg.error('could not read windows root') end - - local root = {} - for drive in result.stdout:gmatch("(%a:)\\") do - table.insert(root, drive..'/') - end - return root -end - --- adds windows drives to the root if they are not already present -local function import_drives() - if fb.get_opt('auto_detect_windows_drives') and PLATFORM ~= 'windows' then return end - - local drives = get_drives() - if not drives then return end - - for _, drive in ipairs(drives) do - fb.register_root_item(drive) - end -end - -local keybind = { - key = 'Ctrl+r', - name = 'import_root_drives', - command = import_drives, - parser = 'root', - passthrough = true -} - ----@type ParserConfig -return { - api_version = '1.9.0', - setup = import_drives, - keybinds = { keybind } -} \ No newline at end of file diff --git a/scripts/file-browser/modules/apis/fb.lua b/scripts/file-browser/modules/apis/fb.lua deleted file mode 100644 index f2f956b..0000000 --- a/scripts/file-browser/modules/apis/fb.lua +++ /dev/null @@ -1,198 +0,0 @@ -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local ass = require 'modules.ass' -local directory_movement = require 'modules.navigation.directory-movement' -local scanning = require 'modules.navigation.scanning' -local controls = require 'modules.controls' - ----@class FbAPI: fb_utils -local fb = setmetatable({}, { __index = setmetatable({}, { __index = fb_utils }) }) -package.loaded["file-browser"] = setmetatable({}, { __index = fb }) - ---these functions we'll provide as-is -fb.redraw = ass.update_ass -fb.browse_directory = controls.browse_directory - ----Clears the directory cache. ----@return thread -function fb.rescan() - return scanning.rescan() -end - ----@async ----@return thread -function fb.rescan_await() - local co = scanning.rescan(nil, fb_utils.coroutine.callback()) - coroutine.yield() - return co -end - ----@param directories? string[] -function fb.clear_cache(directories) - if directories then - mp.commandv('script-message-to', mp.get_script_name(), 'cache/clear', utils.format_json(directories)) - else - mp.commandv('script-message-to', mp.get_script_name(), 'cache/clear') - end -end - ----A wrapper around scan_directory for addon API. ----@async ----@param directory string ----@param parse_state ParseStateTemplate ----@return Item[]|nil ----@return Opts -function fb.parse_directory(directory, parse_state) - if not parse_state then parse_state = { source = "addon" } - elseif not parse_state.source then parse_state.source = "addon" end - return scanning.scan_directory(directory, parse_state) -end - ----Register file extensions which can be opened by the browser. ----@param ext string -function fb.register_parseable_extension(ext) - g.parseable_extensions[string.lower(ext)] = true -end - ----Deregister file extensions which can be opened by the browser. ----@param ext string -function fb.remove_parseable_extension(ext) - g.parseable_extensions[string.lower(ext)] = nil -end - ----Add a compatible extension to show through the filter, only applies if run during the setup() method. ----@param ext string -function fb.add_default_extension(ext) - table.insert(g.compatible_file_extensions, ext) -end - ----Add item to root at position pos. ----@param item Item ----@param pos? number -function fb.insert_root_item(item, pos) - msg.debug("adding item to root", item.label or item.name, pos) - item.ass = item.ass or fb.ass_escape(item.label or item.name) - item.type = "dir" - table.insert(g.root, pos or (#g.root + 1), item) -end - ----Add a new mapping to the given directory. ----@param directory string ----@param mapping string ----@param pattern? boolean ----@return string -function fb.register_directory_mapping(directory, mapping, pattern) - if not pattern then mapping = '^'..fb_utils.pattern_escape(mapping) end - g.directory_mappings[mapping] = directory - msg.verbose('registering directory alias', mapping, directory) - - directory_movement.set_current_file(g.current_file.original_path) - return mapping -end - ----Remove all directory mappings that map to the given directory. ----@param directory string ----@return string[] -function fb.remove_all_mappings(directory) - local removed = {} - for mapping, target in pairs(g.directory_mappings) do - if target == directory then - g.directory_mappings[mapping] = nil - table.insert(removed, mapping) - end - end - return removed -end - ----A newer API for adding items to the root. ----Only adds the item if the same item does not already exist in the root. ----@param item Item|string ----@param priority? number Specifies the insertion location, a lower priority ---- is placed higher in the list and the default is 100. ----@return boolean -function fb.register_root_item(item, priority) - msg.verbose('registering root item:', utils.to_string(item)) - if type(item) == 'string' then - item = {name = item, type = 'dir'} - end - - -- if the item is already in the list then do nothing - if fb.list.some(g.root, function(r) - return fb.get_full_path(r, '') == fb.get_full_path(item, '') - end) then return false end - - ---@type table - local priorities = {} - - priorities[item] = priority - for i, v in ipairs(g.root) do - if (priorities[v] or 100) > (priority or 100) then - fb.insert_root_item(item, i) - return true - end - end - fb.insert_root_item(item) - return true -end - ---providing getter and setter functions so that addons can't modify things directly - - ----@param key string ----@return boolean|string|number -function fb.get_opt(key) return o[key] end - -function fb.get_script_opts() return fb.copy_table(o) end -function fb.get_platform() return g.PLATFORM end -function fb.get_extensions() return fb.copy_table(g.extensions) end -function fb.get_sub_extensions() return fb.copy_table(g.sub_extensions) end -function fb.get_audio_extensions() return fb.copy_table(g.audio_extensions) end -function fb.get_parseable_extensions() return fb.copy_table(g.parseable_extensions) end -function fb.get_state() return fb.copy_table(g.state) end -function fb.get_parsers() return fb.copy_table(g.parsers) end -function fb.get_root() return fb.copy_table(g.root) end -function fb.get_directory() return g.state.directory end -function fb.get_list() return fb.copy_table(g.state.list) end -function fb.get_current_file() return fb.copy_table(g.current_file) end -function fb.get_current_parser() return g.state.parser:get_id() end -function fb.get_current_parser_keyname() return g.state.parser.keybind_name or g.state.parser.name end -function fb.get_selected_index() return g.state.selected end -function fb.get_selected_item() return fb.copy_table(g.state.list[g.state.selected]) end -function fb.get_open_status() return not g.state.hidden end -function fb.get_parse_state(co) return g.parse_states[co or coroutine.running() or ""] end -function fb.get_history() return fb.copy_table(g.history.list) end -function fb.get_history_index() return g.history.position end - ----@deprecated ----@return string|nil -function fb.get_dvd_device() - local dvd_device = mp.get_property('dvd-device') - if not dvd_device or dvd_device == '' then return nil end - return fb_utils.fix_path(dvd_device, true) -end - ----@param str string -function fb.set_empty_text(str) - g.state.empty_text = str - fb.redraw() -end - ----@param index number ----@return number|false -function fb.set_selected_index(index) - if type(index) ~= "number" then return false end - if index < 1 then index = 1 end - if index > #g.state.list then index = #g.state.list end - g.state.selected = index - fb.redraw() - return index -end - -fb.set_history_index = directory_movement.goto_history - -return fb \ No newline at end of file diff --git a/scripts/file-browser/modules/apis/parse-state.lua b/scripts/file-browser/modules/apis/parse-state.lua deleted file mode 100644 index 4f3658c..0000000 --- a/scripts/file-browser/modules/apis/parse-state.lua +++ /dev/null @@ -1,34 +0,0 @@ - -local msg = require 'mp.msg' - -local g = require 'modules.globals' - ----@class ParseStateAPI -local parse_state_API = {} - ----A wrapper around coroutine.yield that aborts the coroutine if ---the parse request was cancelled by the user. ---the coroutine is ----@async ----@param self ParseState ----@param ... any ----@return unknown ... -function parse_state_API:yield(...) - local co = coroutine.running() - local is_browser = co == g.state.co - - local result = table.pack(coroutine.yield(...)) - if is_browser and co ~= g.state.co then - msg.verbose("browser no longer waiting for list - aborting parse for", self.directory) - error(g.ABORT_ERROR) - end - return table.unpack(result, 1, result.n) -end - ----Checks if the current coroutine is the one handling the browser's request. ----@return boolean -function parse_state_API:is_coroutine_current() - return coroutine.running() == g.state.co -end - -return parse_state_API \ No newline at end of file diff --git a/scripts/file-browser/modules/apis/parser.lua b/scripts/file-browser/modules/apis/parser.lua deleted file mode 100644 index 8f5f83c..0000000 --- a/scripts/file-browser/modules/apis/parser.lua +++ /dev/null @@ -1,40 +0,0 @@ -local msg = require 'mp.msg' - -local g = require 'modules.globals' -local scanning = require 'modules.navigation.scanning' -local fb = require 'modules.apis.fb' - ----@class ParserAPI: FbAPI -local parser_api = setmetatable({}, { __index = fb }) - ----Returns the index of the parser. ----@return number -function parser_api:get_index() return g.parsers[self].index end - ----Returns the ID of the parser ----@return string -function parser_api:get_id() return g.parsers[self].id end - ----A newer API for adding items to the root. ----Only adds the item if the same item does not already exist in the root. ----Wrapper around `fb.register_root_item`. ----@param item Item|string ----@param priority? number The priority for the added item. Uses the parsers priority by default. ----@return boolean -function parser_api:register_root_item(item, priority) - return fb.register_root_item(item, priority or g.parsers[self:get_id()].priority) -end - ----Runs choose_and_parse starting from the next parser. ----@async ----@param directory string ----@return Item[]? ----@return Opts? -function parser_api:defer(directory) - msg.trace("deferring to other parsers...") - local list, opts = scanning.choose_and_parse(directory, self:get_index() + 1) - fb.get_parse_state().already_deferred = true - return list, opts -end - -return parser_api \ No newline at end of file diff --git a/scripts/file-browser/modules/ass.lua b/scripts/file-browser/modules/ass.lua deleted file mode 100644 index b37de37..0000000 --- a/scripts/file-browser/modules/ass.lua +++ /dev/null @@ -1,238 +0,0 @@ --------------------------------------------------------------------------------------------------------- ------------------------------------------List Formatting------------------------------------------------ --------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------- - -local g = require 'modules.globals' -local o = require 'modules.options' -local fb_utils = require 'modules.utils' - -local state = g.state -local style = g.style -local ass = g.ass - ---- https://www.unicode.org/reports/tr9/#Explicit_Directional_Isolates -local ISOLATE_DIRECTION_START = '\226\129\168' -- U+2068 FIRST STRONG ISOLATE -local ISOLATE_DIRECTION_END = '\226\129\169' -- U+2069 POP DIRECTIONAL ISOLATE - -local function draw() - ass:update() -end - -local function remove() - ass:remove() -end - ----@type string[] -local string_buffer = {} - ----appends the entered text to the overlay ----@param ... string -local function append(...) - for i = 1, select("#", ...) do - table.insert(string_buffer, select(i, ...) or '' ) - end -end - ---appends a newline character to the osd -local function newline() - table.insert(string_buffer, '\\N') -end - -local function flush_buffer() - ass.data = table.concat(string_buffer, '') - string_buffer = {} -end - ----detects whether or not to highlight the given entry as being played ----@param v Item ----@return boolean -local function highlight_entry(v) - if g.current_file.path == nil then return false end - local full_path = fb_utils.get_full_path(v) - local alt_path = v.name and g.state.directory..v.name or nil - - if fb_utils.parseable_item(v) then - return ( - string.find(g.current_file.directory, full_path, 1, true) - or (alt_path and string.find(g.current_file.directory, alt_path, 1, true)) - ) ~= nil - else - return g.current_file.path == full_path - or (alt_path and g.current_file.path == alt_path) - end -end - ----Escapes unwanted unicode control characters that may affect the rest of the display. ----Currently this only isolates unicode directional overrides. ----Based on: https://github.com/mpv-player/mpv/pull/17606 ----@param str string ----@return string -local function unicode_escape(str) - return ISOLATE_DIRECTION_START..str..ISOLATE_DIRECTION_END -end - ----escape ass values and replace newlines ----@param str string ----@param style_reset string? ----@return string -local function ass_escape(str, style_reset) - return fb_utils.ass_escape(str, style_reset and style.warning..'␊'..style_reset or true) -end - -local header_overrides = {['^'] = style.header} - ----@return number start ----@return number finish ----@return boolean is_overflowing -local function calculate_view_window() - ---@type number - local start = 1 - ---@type number - local finish = start+o.num_entries-1 - - --handling cursor positioning - local mid = math.ceil(o.num_entries/2)+1 - if state.selected+mid > finish then - ---@type number - local offset = state.selected - finish + mid - - --if we've overshot the end of the list then undo some of the offset - if finish + offset > #state.list then - offset = offset - ((finish+offset) - #state.list) - end - - start = start + offset - finish = finish + offset - end - - --making sure that we don't overstep the boundaries - if start < 1 then start = 1 end - local overflow = finish < #state.list - --this is necessary when the number of items in the dir is less than the max - if not overflow then finish = #state.list end - - return start, finish, overflow -end - ----@param i number index ----@return string -local function calculate_item_style(i) - local is_playing_file = highlight_entry(state.list[i]) - - --sets the selection colour scheme - local multiselected = state.selection[i] - - --sets the colour for the item - local item_style = style.body - - if multiselected then item_style = item_style..style.multiselect - elseif i == state.selected then item_style = item_style..style.selected end - - if is_playing_file then item_style = item_style..(multiselected and style.playing_selected or style.playing) end - - return item_style -end - -local function draw_header() - append(style.header) - append(fb_utils.substitute_codes(o.format_string_header, header_overrides, nil, nil, function(str, code) - if code == '^' then return str end - return ass_escape(str, style.header) - end)) - newline() -end - ----@param wrapper_overrides ReplacerTable -local function draw_top_wrapper(wrapper_overrides) - --adding a header to show there are items above in the list - append(style.footer_header) - append(fb_utils.substitute_codes(o.format_string_topwrapper, wrapper_overrides, nil, nil, function(str) - return ass_escape(str) - end)) - newline() -end - ----@param wrapper_overrides ReplacerTable -local function draw_bottom_wrapper(wrapper_overrides) - append(style.footer_header) - append(fb_utils.substitute_codes(o.format_string_bottomwrapper, wrapper_overrides, nil, nil, function(str) - return ass_escape(str) - end)) -end - ----@param i number index ----@param cursor string -local function draw_cursor(i, cursor) - --handles custom styles for different entries - if i == state.selected or i == state.multiselect_start then - if not (i == state.selected) then append(style.selection_marker) end - - if not state.multiselect_start then append(style.cursor) - else - if state.selection[state.multiselect_start] then append(style.cursor_select) - else append(style.cursor_deselect) end - end - else - append(g.style.indent) - end - append(cursor, '\\h', style.body) -end - ---refreshes the ass text using the contents of the list -local function update_ass() - if state.hidden then state.flag_update = true ; return end - - append(style.global) - draw_header() - - if #state.list < 1 then - append(state.empty_text) - flush_buffer() - draw() - return - end - - local start, finish, overflow = calculate_view_window() - - -- these are the number values to place into the wrappers - local wrapper_overrides = {['<'] = tostring(start-1), ['>'] = tostring(#state.list-finish)} - if o.format_string_topwrapper ~= '' and start > 1 then - draw_top_wrapper(wrapper_overrides) - end - - for i=start, finish do - local v = state.list[i] - append(style.body) - if g.ALIGN_X ~= 'right' then draw_cursor(i, o.cursor_icon) end - - local item_style = calculate_item_style(i) - append(item_style) - - --sets the folder icon - if v.type == 'dir' then - append(style.folder, o.folder_icon, "\\h", style.body) - append(item_style) - end - - --adds the actual name of the item - append(v.ass or ass_escape( unicode_escape(v.label or v.name) , item_style), '\\h') - if g.ALIGN_X == 'right' then draw_cursor(i, o.cursor_icon_flipped) end - newline() - end - - if o.format_string_bottomwrapper ~= '' and overflow then - draw_bottom_wrapper(wrapper_overrides) - end - - flush_buffer() - draw() -end - ----@class ass -return { - update_ass = update_ass, - highlight_entry = highlight_entry, - draw = draw, - remove = remove, -} \ No newline at end of file diff --git a/scripts/file-browser/modules/controls.lua b/scripts/file-browser/modules/controls.lua deleted file mode 100644 index af7036b..0000000 --- a/scripts/file-browser/modules/controls.lua +++ /dev/null @@ -1,94 +0,0 @@ - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local movement = require 'modules.navigation.directory-movement' -local ass = require 'modules.ass' -local cursor = require 'modules.navigation.cursor' - ----@class controls -local controls = {} - ---opens the browser -function controls.open() - if not g.state.hidden then return end - - for _,v in ipairs(g.state.keybinds) do - mp.add_forced_key_binding(v[1], 'dynamic/'..v[2], v[3], v[4]) - end - - if o.set_shared_script_properties then utils.shared_script_property_set('file_browser-open', 'yes') end ---@diagnostic disable-line deprecated - if o.set_user_data then mp.set_property_bool('user-data/file_browser/open', true) end - - if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'no', 'no_osd') end - g.state.hidden = false - if g.state.directory == nil then - local path = mp.get_property('path') - if path or o.default_to_working_directory then movement.goto_current_dir() else movement.goto_root() end - return - end - - if not g.state.flag_update then ass.draw() - else g.state.flag_update = false ; ass.update_ass() end -end - ---closes the list and sets the hidden flag -function controls.close() - if g.state.hidden then return end - - for _,v in ipairs(g.state.keybinds) do - mp.remove_key_binding('dynamic/'..v[2]) - end - - if o.set_shared_script_properties then utils.shared_script_property_set("file_browser-open", "no") end ---@diagnostic disable-line deprecated - if o.set_user_data then mp.set_property_bool('user-data/file_browser/open', false) end - - if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'yes', 'no_osd') end - g.state.hidden = true - ass.remove() -end - ---toggles the list -function controls.toggle() - if g.state.hidden then controls.open() - else controls.close() end -end - ---run when the escape key is used -function controls.escape() - --if multiple items are selection cancel the - --selection instead of closing the browser - if next(g.state.selection) or g.state.multiselect_start then - g.state.selection = {} - cursor.disable_select_mode() - ass.update_ass() - return - end - controls.close() -end - ----opens a specific directory ----@param directory string ----@param open_browser? boolean ----@return thread|nil -function controls.browse_directory(directory, open_browser) - if not directory then return end - if open_browser == nil then open_browser = true end - - directory = mp.command_native({"expand-path", directory}, '') --[[@as string]] - -- directory = join_path( mp.get_property("working-directory", ""), directory ) - - if directory ~= "" then directory = fb_utils.fix_path(directory, true) end - msg.verbose('recieved directory from script message: '..directory) - - directory = fb_utils.resolve_directory_mapping(directory) - local co = movement.goto_directory(directory, nil, nil, {cache={use=false}}) - if open_browser then controls.open() end - return co -end - -return controls \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/file-browser.lua b/scripts/file-browser/modules/defs/file-browser.lua deleted file mode 100644 index 3675661..0000000 --- a/scripts/file-browser/modules/defs/file-browser.lua +++ /dev/null @@ -1,3 +0,0 @@ ----@meta file-browser - -return require 'modules.apis.fb' \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/keybind.lua b/scripts/file-browser/modules/defs/keybind.lua deleted file mode 100644 index 277f9e2..0000000 --- a/scripts/file-browser/modules/defs/keybind.lua +++ /dev/null @@ -1,39 +0,0 @@ ----@meta _ - ----@class KeybindFlags ----@field repeatable boolean? ----@field scalable boolean? ----@field complex boolean? - - ----@class KeybindCommandTable - - ----@class Keybind ----@field key string ----@field command KeybindCommand ----@field api_version string? ---- ----@field name string? ----@field condition string? ----@field flags KeybindFlags? ----@field filter ('file'|'dir')? ----@field parser string? ----@field multiselect boolean? ----@field multi-type ('repeat'|'concat')? ----@field delay number? ----@field concat-string string? ----@field passthrough boolean? ---- ----@field prev_key Keybind? The keybind that was previously set to the same key. ----@field codes Set? Any substituation codes used by the command table. ----@field condition_codes Set? Any substitution codes used by the condition string. ----@field addon boolean? Whether the keybind was created by an addon. - - ----@alias KeybindFunctionCallback async fun(keybind: Keybind, state: State, co: thread) - ----@alias KeybindCommand KeybindFunctionCallback|KeybindCommandTable[] ----@alias KeybindTuple [string,string,KeybindCommand,KeybindFlags?] ----@alias KeybindTupleStrict [string,string,KeybindFunctionCallback,KeybindFlags?] ----@alias KeybindList (Keybind|KeybindTuple)[] \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/list.lua b/scripts/file-browser/modules/defs/list.lua deleted file mode 100644 index b2133b6..0000000 --- a/scripts/file-browser/modules/defs/list.lua +++ /dev/null @@ -1,25 +0,0 @@ ----@meta _ - ----@alias List Item[] - ----Represents an item returned by the parsers. ----@class Item ----@field type 'file'|'dir' ----@field name string ----@field label string? ----@field path string? ----@field ass string? ----@field redirect boolean? ----@field mpv_options string|{[string]: unknown}? - - ----The Opts table returned by the parsers. ----@class Opts ----@field filtered boolean? ----@field sorted boolean? ----@field directory string? ----@field directory_label string? ----@field empty_text string? ----@field selected_index number? ----@field id string? ----@field parser Parser? \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/mp/defaults.lua b/scripts/file-browser/modules/defs/mp/defaults.lua deleted file mode 100644 index 5a86dce..0000000 --- a/scripts/file-browser/modules/defs/mp/defaults.lua +++ /dev/null @@ -1,148 +0,0 @@ ----@meta mp - ----@class mp -local mp = {} - ----@class AsyncReturn - ----@class MPTimer ----@field stop fun(self: MPTimer) ----@field kill fun(self: MPTimer) ----@field resume fun(self: MPTimer) ----@field is_enabled fun(self: MPTimer): boolean ----@field timeout number ----@field oneshot boolean - ----@class OSDOverlay ----@field data string ----@field res_x number ----@field res_y number ----@field z number ----@field update fun(self:OSDOverlay) ----@field remove fun(self: OSDOverlay) - ----@class MPVSubprocessResult ----@field status number ----@field stdout string ----@field stderr string ----@field error_string ''|'killed'|'init' ----@field killed_by_us boolean - ----@param key string ----@param name_or_fn string|function ----@param fn? async fun() ----@param flags? KeybindFlags -function mp.add_key_binding(key, name_or_fn, fn, flags) end - ----@param key string ----@param name_or_fn string|function ----@param fn? async fun() ----@param flags? KeybindFlags -function mp.add_forced_key_binding(key, name_or_fn, fn, flags) end - ----@param seconds number ----@param fn function ----@param disabled? boolean ----@return MPTimer -function mp.add_timeout(seconds, fn, disabled) end - ----@param format 'ass-events' ----@return OSDOverlay -function mp.create_osd_overlay(format) end - ----@param ... string -function mp.commandv(...) end - ----@generic T ----@param t table ----@param def? T ----@return unknown|T result ----@return string? error ----@overload fun(t: table): (unknown|nil, string?) -function mp.command_native(t, def) end - ----@nodiscard ----@param t table ----@param cb fun(success: boolean, result: unknown, error: string?) ----@return AsyncReturn -function mp.command_native_async(t, cb) end - ----@param t AsyncReturn -function mp.abort_async_command(t) end - ----@generic T ----@param name string ----@param def? T ----@return string|T ----@overload fun(name: string): string|nil -function mp.get_property(name, def) end - ----@generic T ----@param name string ----@param def? T ----@return boolean|T ----@overload fun(name: string): boolean|nil -function mp.get_property_bool(name, def) end - ----@generic T ----@param name string ----@param def? T ----@return number|T ----@overload fun(name: string): number|nil -function mp.get_property_number(name, def) end - ----@generic T ----@param name string ----@param def? T ----@return unknown|T ----@overload fun(name: string): unknown|nil -function mp.get_property_native(name, def) end - ----@return string|nil -function mp.get_script_directory() end - ----@return string -function mp.get_script_name() end - ----@param name string ----@param type 'native'|'bool'|'string'|'number' ----@param fn fun(name: string, v: unknown) -function mp.observe_property(name, type, fn) end - ----@param name string ----@param fn function ----@return boolean -function mp.register_event(name, fn) end - ----@param name string ----@param fn fun(...: string) -function mp.register_script_message(name, fn) end - ----@param name string -function mp.remove_key_binding(name) end - ----@param name string ----@param value string ----@return true? success # nil if error ----@return string? err -function mp.set_property(name, value) end - ----@param name string ----@param value boolean ----@return true? success # nil if error ----@return string? err -function mp.set_property_bool(name, value) end - ----@param name string ----@param value number ----@return true? success # nil if error ----@return string? err -function mp.set_property_number(name, value) end - ----@param name string ----@param value any ----@return true? success # nil if error ----@return string? err -function mp.set_property_native(name, value) end - -return mp \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/mp/input.lua b/scripts/file-browser/modules/defs/mp/input.lua deleted file mode 100644 index aab300c..0000000 --- a/scripts/file-browser/modules/defs/mp/input.lua +++ /dev/null @@ -1,21 +0,0 @@ ----@meta mp.input - ----@class mp.input -local input = {} - ----@class InputGetOpts ----@field prompt string? ----@field default_text string? ----@field id string? ----@field submit (fun(text: string))? ----@field opened (fun())? ----@field edited (fun(text: string))? ----@field complete (fun(text_before_cursor: string): string[], number)? ----@field closed (fun(text: string))? - ----@param options InputGetOpts -function input.get(options) end - -function input.terminate() end - -return input \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/mp/msg.lua b/scripts/file-browser/modules/defs/mp/msg.lua deleted file mode 100644 index e260ec1..0000000 --- a/scripts/file-browser/modules/defs/mp/msg.lua +++ /dev/null @@ -1,32 +0,0 @@ ----@meta mp.msg - ----@class mp.msg -local msg = {} - ----@param level 'fatal'|'error'|'warn'|'info'|'v'|'debug'|'trace' ----@param ... any -function msg.log(level, ...) end - ----@param ... any -function msg.fatal(...) end - ----@param ... any -function msg.error(...) end - ----@param ... any -function msg.warn(...) end - ----@param ... any -function msg.info(...) end - ----@param ... any -function msg.verbose(...) end - ----@param ... any -function msg.debug(...) end - ----@param ... any -function msg.trace(...) end - - -return msg \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/mp/options.lua b/scripts/file-browser/modules/defs/mp/options.lua deleted file mode 100644 index d006e02..0000000 --- a/scripts/file-browser/modules/defs/mp/options.lua +++ /dev/null @@ -1,11 +0,0 @@ ----@meta mp.options - ----@class mp.options -local options = {} - ----@param t table ----@param identifier? string ----@param on_update? fun(list: table) -function options.read_options(t, identifier, on_update) end - -return options \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/mp/utils.lua b/scripts/file-browser/modules/defs/mp/utils.lua deleted file mode 100644 index c1c746c..0000000 --- a/scripts/file-browser/modules/defs/mp/utils.lua +++ /dev/null @@ -1,43 +0,0 @@ ----@meta mp.utils - ----@class mp.utils -local utils = {} - ----@param v string|boolean|number|table|nil ----@return string? json # nil on error ----@return string? err # error -function utils.format_json(v) end - ----@param p1 string ----@param p2 string ----@return string -function utils.join_path(p1, p2) end - ----@param str string ----@param trail? boolean ----@return (table|unknown[])? t ----@return string? err # error ----@return string trail # trailing characters -function utils.parse_json(str, trail) end - ----@param path string ----@param filter ('files'|'dirs'|'normal'|'all')? ----@return string[]? # nil on error ----@return string? err # error -function utils.readdir(path, filter) end - ----@deprecated ----@param name string ----@param value string -function utils.shared_script_property_set(name, value) end - ----@param path string ----@return string directory ----@return string filename -function utils.split_path(path) end - ----@param v any ----@return string -function utils.to_string(v) end - -return utils \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/parser.lua b/scripts/file-browser/modules/defs/parser.lua deleted file mode 100644 index a16a56f..0000000 --- a/scripts/file-browser/modules/defs/parser.lua +++ /dev/null @@ -1,41 +0,0 @@ ----@meta _ - ----A ParserConfig object returned by addons ----@class (partial) ParserConfig: ParserAPI ----@field priority number? ----@field api_version string The minimum API version the string requires. ----@field version string? The minimum API version the string requires. @deprecated. ---- ----@field can_parse (async fun(self: Parser, directory: string, parse_state: ParseState): boolean)? ----@field parse (async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts?)? ----@field setup fun(self: Parser)? ---- ----@field name string? ----@field keybind_name string? ----@field keybinds KeybindList? - - ----The parser object used by file-browser once the parsers have been loaded and initialised. ----@class Parser: ParserAPI, ParserConfig ----@field name string ----@field priority number ----@field api_version string ----@field can_parse async fun(self: Parser, directory: string, parse_state: ParseState): boolean ----@field parse async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts? - - ----@alias ParseStateSource 'browser'|'loadlist'|'script-message'|'addon'|string ----@alias ParseProperties table - ----The Parse State object passed to the can_parse and parse methods ----@class ParseStateFields ----@field source ParseStateSource ----@field directory string ----@field already_deferred boolean? ----@field properties ParseProperties - ----@class ParseState: ParseStateFields, ParseStateAPI - ----@class ParseStateTemplate ----@field source ParseStateSource? ----@field properties ParseProperties? \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/state.lua b/scripts/file-browser/modules/defs/state.lua deleted file mode 100644 index 403c310..0000000 --- a/scripts/file-browser/modules/defs/state.lua +++ /dev/null @@ -1,21 +0,0 @@ ----@meta _ - ----@class Set: {[T]: boolean} - ----@class (exact) State ----@field list List ----@field selected number ----@field hidden boolean ----@field flag_update boolean ----@field keybinds KeybindTupleStrict[]? ---- ----@field parser Parser? ----@field directory string? ----@field directory_label string? ----@field prev_directory string ----@field empty_text string ----@field co thread? ---- ----@field multiselect_start number? ----@field initial_selection Set? ----@field selection Set? \ No newline at end of file diff --git a/scripts/file-browser/modules/defs/user-input.lua b/scripts/file-browser/modules/defs/user-input.lua deleted file mode 100644 index 81bd7fb..0000000 --- a/scripts/file-browser/modules/defs/user-input.lua +++ /dev/null @@ -1,28 +0,0 @@ ----@meta user-input-module - ----@class user_input_module -local user_input_module = {} - ----@class UserInputOpts ----@field id string? ----@field source string? ----@field request_text string? ----@field default_input string? ----@field cursor_pos number? ----@field queueable boolean? ----@field replace boolean? - ----@class UserInputRequest ----@field callback function? ----@field passthrough_args any[]? ----@field pending boolean ----@field cancel fun(self: UserInputRequest) ----@field update fun(self: UserInputRequest, opts: UserInputOpts) - ----@param fn function ----@param opts UserInputOpts ----@param ... any passthrough arguments ----@return UserInputRequest -function user_input_module.get_user_input(fn, opts, ...) end - -return user_input_module \ No newline at end of file diff --git a/scripts/file-browser/modules/globals.lua b/scripts/file-browser/modules/globals.lua deleted file mode 100644 index d26b86e..0000000 --- a/scripts/file-browser/modules/globals.lua +++ /dev/null @@ -1,181 +0,0 @@ --------------------------------------------------------------------------------------------------------- -------------------------------------------Variable Setup------------------------------------------------ --------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------- - -local mp = require 'mp' -local o = require 'modules.options' - ----@class globals -local globals = {} - ---sets the version for the file-browser API -globals.API_VERSION = "1.9.0" - ----gets the current platform (in mpv v0.36+) ----in earlier versions it is set to `windows`, `darwin` or `other` ----@type 'windows'|'darwin'|'linux'|'android'|'freebsd'|'other'|string|nil -globals.PLATFORM = mp.get_property_native('platform') -if not globals.PLATFORM then - local _ = {} - if mp.get_property_native('options/vo-mmcss-profile', _) ~= _ then - globals.PLATFORM = 'windows' - elseif mp.get_property_native('options/macos-force-dedicated-gpu', _) ~= _ then - globals.PLATFORM = 'darwin' - end - return 'other' -end - ---the osd_overlay API was not added until v0.31. The expand-path command was not added until 0.30 -assert(mp.create_osd_overlay, "Script requires minimum mpv version 0.33") - -globals.ass = mp.create_osd_overlay("ass-events") -globals.ass.res_y = 720 / o.scaling_factor_base - -local BASE_FONT_SIZE = 25 - ---force file-browser to use a specific text alignment (default: top-left) ---uses ass tag alignment numbers: https://aegi.vmoe.info/docs/3.0/ASS_Tags/#index23h3 -globals.ASS_ALIGNMENT_MATRIX = { - top = {left = 7, center = 8, right = 9}, - center = {left = 4, center = 5, right = 6}, - bottom = {left = 1, center = 2, right = 3}, -} - -globals.ALIGN_X = o.align_x == 'auto' and mp.get_property('osd-align-x', 'left') or o.align_x -globals.ALIGN_Y = o.align_y == 'auto' and mp.get_property('osd-align-y', 'top') or o.align_y - -globals.style = { - global = ([[{\an%d}]]):format(globals.ASS_ALIGNMENT_MATRIX[globals.ALIGN_Y][globals.ALIGN_X]), - - -- full line styles - header = ([[{\r\q2\b%s\fs%d\fn%s\c&H%s&}]]):format((o.font_bold_header and "1" or "0"), o.scaling_factor_header*BASE_FONT_SIZE, o.font_name_header, o.font_colour_header), - body = ([[{\r\q2\fs%d\fn%s\c&H%s&}]]):format(BASE_FONT_SIZE, o.font_name_body, o.font_colour_body), - footer_header = ([[{\r\q2\fs%d\fn%s\c&H%s&}]]):format(o.scaling_factor_wrappers*BASE_FONT_SIZE, o.font_name_wrappers, o.font_colour_wrappers), - - --small section styles (for colours) - multiselect = ([[{\c&H%s&}]]):format(o.font_colour_multiselect), - selected = ([[{\c&H%s&}]]):format(o.font_colour_selected), - playing = ([[{\c&H%s&}]]):format(o.font_colour_playing), - playing_selected = ([[{\c&H%s&}]]):format(o.font_colour_playing_multiselected), - warning = ([[{\c&H%s&}]]):format(o.font_colour_escape_chars), - - --icon styles - indent = ([[{\alpha&H%s}]]):format('ff'), - cursor = ([[{\fn%s\c&H%s&}]]):format(o.font_name_cursor, o.font_colour_cursor), - cursor_select = ([[{\fn%s\c&H%s&}]]):format(o.font_name_cursor, o.font_colour_multiselect), - cursor_deselect = ([[{\fn%s\c&H%s&}]]):format(o.font_name_cursor, o.font_colour_selected), - folder = ([[{\fn%s}]]):format(o.font_name_folder), - selection_marker = ([[{\alpha&H%s}]]):format(o.font_opacity_selection_marker), -} - ----@type State -globals.state = { - list = {}, - selected = 1, - hidden = true, - flag_update = false, - keybinds = nil, - - parser = nil, - directory = nil, - directory_label = nil, - prev_directory = '', - empty_text = 'Empty Directory', - co = nil, - - multiselect_start = nil, - initial_selection = nil, - selection = {} -} - ----@class ParserRef ----@field id string ----@field index number? - ----@type table|table|table> ---the parser table actually contains 3 entries for each parser ---a numeric entry which represents the priority of the parsers and has the parser object as the value ---a string entry representing the id of each parser and with the parser object as the value ---and a table entry with the parser itself as the key and a table value in the form { id = %s, index = %d } -globals.parsers = {} - ---this table contains the parse_state tables for every parse operation indexed with the coroutine used for the parse ---this table has weakly referenced keys, meaning that once the coroutine for a parse is no-longer used by anything that ---field in the table will be removed by the garbage collector ----@type table -globals.parse_states = setmetatable({}, { __mode = "k"}) - ----@type Set -globals.extensions = {} - ----@type Set -globals.sub_extensions = {} - ----@type Set -globals.audio_extensions = {} - ----@type Set -globals.parseable_extensions = {} - ----This table contains mappings to convert external directories to cannonical ---locations within the file-browser file tree. The keys of the table are Lua ---patterns used to evaluate external directory paths. The value is the path ---that should replace the part of the path than matched the pattern. ---These mappings should only applied at the edges where external paths are ---ingested by file-browser. ----@type table -globals.directory_mappings = {} - ----@class CurrentFile ----@field directory string? ----@field name string? ----@field path string? ----@field original_path string? -globals.current_file = { - directory = nil, - name = nil, - path = nil, - original_path = nil, -} - ----@type List -globals.root = {} - ----@class (strict) History ----@field list string[] ----@field size number ----@field position number -globals.history = { - list = {}, - size = 0, - position = 0, -} - ----@class (strict) DirectoryStack ----@field stack string[] ----@field position number -globals.directory_stack = { - stack = {}, - position = 0, -} - - ---default list of compatible file extensions ---adding an item to this list is a valid request on github -globals.compatible_file_extensions = { - "264","265","3g2","3ga","3ga2","3gp","3gp2","3gpp","3iv","a52","aac","adt","adts","ahn","aif","aifc","aiff","amr","ape","asf","au","avc","avi","awb","ay", - "bmp","cue","divx","dts","dtshd","dts-hd","dv","dvr","dvr-ms","eac3","evo","evob","f4a","flac","flc","fli","flic","flv","gbs","gif","gxf","gym", - "h264","h265","hdmov","hdv","hes","hevc","jpeg","jpg","kss","lpcm","m1a","m1v","m2a","m2t","m2ts","m2v","m3u","m3u8","m4a","m4v","mk3d","mka","mkv", - "mlp","mod","mov","mp1","mp2","mp2v","mp3","mp4","mp4v","mp4v","mpa","mpe","mpeg","mpeg2","mpeg4","mpg","mpg4","mpv","mpv2","mts","mtv","mxf","nsf", - "nsfe","nsv","nut","oga","ogg","ogm","ogv","ogx","opus","pcm","pls","png","qt","ra","ram","rm","rmvb","sap","snd","spc","spx","svg","thd","thd+ac3", - "tif","tiff","tod","trp","truehd","true-hd","ts","tsa","tsv","tta","tts","vfw","vgm","vgz","vob","vro","wav","weba","webm","webp","wm","wma","wmv","wtv", - "wv","x264","x265","xvid","y4m","yuv" -} - ----@class BrowserAbortError -globals.ABORT_ERROR = { - msg = "browser is no longer waiting for list - aborting parse" -} - -return globals \ No newline at end of file diff --git a/scripts/file-browser/modules/keybinds.lua b/scripts/file-browser/modules/keybinds.lua deleted file mode 100644 index d6c4cdf..0000000 --- a/scripts/file-browser/modules/keybinds.lua +++ /dev/null @@ -1,354 +0,0 @@ ------------------------------------------------------------------------------------------- -----------------------------------Keybind Implementation---------------------------------- ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local addons = require 'modules.addons' -local playlist = require 'modules.playlist' -local controls = require 'modules.controls' -local movement = require 'modules.navigation.directory-movement' -local scanning = require 'modules.navigation.scanning' -local cursor = require 'modules.navigation.cursor' - -g.state.keybinds = { - {'ENTER', 'play', function() playlist.add_files('replace', false) end}, - {'Shift+ENTER', 'play_append', function() playlist.add_files('append-play', false) end}, - {'Alt+ENTER', 'play_autoload', function() playlist.add_files('replace', true) end}, - {'ESC', 'close', controls.escape}, - {'RIGHT', 'down_dir', movement.down_dir}, - {'LEFT', 'up_dir', movement.up_dir}, - {'Alt+RIGHT', 'history_forward', movement.forwards_history}, - {'Alt+LEFT', 'history_back', movement.back_history}, - {'DOWN', 'scroll_down', function() cursor.scroll(1, o.wrap) end, {repeatable = true}}, - {'UP', 'scroll_up', function() cursor.scroll(-1, o.wrap) end, {repeatable = true}}, - {'PGDWN', 'page_down', function() cursor.scroll(o.num_entries) end, {repeatable = true}}, - {'PGUP', 'page_up', function() cursor.scroll(-o.num_entries) end, {repeatable = true}}, - {'Shift+PGDWN', 'list_bottom', function() cursor.scroll(math.huge) end}, - {'Shift+PGUP', 'list_top', function() cursor.scroll(-math.huge) end}, - {'HOME', 'goto_current', movement.goto_current_dir}, - {'Shift+HOME', 'goto_root', movement.goto_root}, - {'Ctrl+r', 'reload', function() scanning.rescan() end}, - {'s', 'select_mode', cursor.toggle_select_mode}, - {'S', 'select_item', cursor.toggle_selection}, - {'Ctrl+a', 'select_all', cursor.select_all} -} - ----a map of key-keybinds - only saves the latest keybind if multiple have the same key code ----@type KeybindList -local top_level_keys = {} - ----Format the item string for either single or multiple items. ----@param base_code_fn Replacer ----@param items Item[] ----@param state State ----@param cmd Keybind ----@param quoted? boolean ----@return string|nil -local function create_item_string(base_code_fn, items, state, cmd, quoted) - if not items[1] then return end - local func = quoted and function(...) return ("%q"):format(base_code_fn(...)) end or base_code_fn - - local out = {} - for _, item in ipairs(items) do - table.insert(out, func(item, state)) - end - - return table.concat(out, cmd['concat-string'] or ' ') -end - -local KEYBIND_CODE_PATTERN = fb_utils.get_code_pattern(fb_utils.code_fns) -local item_specific_codes = 'fnij' - ----Replaces codes in the given string using the replacers. ----@param str string ----@param cmd Keybind ----@param items Item[] ----@param state State ----@return string -local function substitute_codes(str, cmd, items, state) - ---@type ReplacerTable - local overrides = {} - - for code in item_specific_codes:gmatch('.') do - overrides[code] = function(_,s) return create_item_string(fb_utils.code_fns[code], items, s, cmd) end - overrides[code:upper()] = function(_,s) return create_item_string(fb_utils.code_fns[code], items, s, cmd, true) end - end - - return fb_utils.substitute_codes(str, overrides, items[1], state) -end - ----Iterates through the command table and substitutes special ----character codes for the correct strings used for custom functions. ----@param cmd Keybind ----@param items Item[] ----@param state State ----@return KeybindCommand -local function format_command_table(cmd, items, state) - local command = cmd.command - if type(command) == 'function' then return command end - ---@type string[][] - local copy = {} - for i = 1, #command do - ---@type string[] - copy[i] = {} - - for j = 1, #command[i] do - copy[i][j] = substitute_codes(cmd.command[i][j], cmd, items, state) - end - end - return copy -end - ----Runs all of the commands in the command table. ----@param cmd Keybind key.command must be an array of command tables compatible with mp.command_native ----@param items Item[] must be an array of multiple items (when multi-type ~= concat the array will be 1 long). ----@param state State -local function run_custom_command(cmd, items, state) - local custom_cmds = cmd.codes and format_command_table(cmd, items, state) or cmd.command - if type(custom_cmds) == 'function' then - error(('attempting to run a function keybind as a command table keybind\n%s'):format(utils.to_string(cmd))) - end - - for _, custom_cmd in ipairs(custom_cmds) do - msg.debug("running command:", utils.to_string(custom_cmd)) - mp.command_native(custom_cmd) - end -end - ----returns true if the given code set has item specific codes (%f, %i, etc) ----@param codes Set ----@return boolean -local function has_item_codes(codes) - for code in pairs(codes) do - if item_specific_codes:find(code:lower(), 1, true) then return true end - end - return false -end - ----Runs one of the custom commands. ----@async ----@param cmd Keybind ----@param state State ----@param co thread ----@return boolean|nil -local function run_custom_keybind(cmd, state, co) - --evaluates a condition and passes through the correct values - local function evaluate_condition(condition, items) - local cond = substitute_codes(condition, cmd, items, state) - return fb_utils.evaluate_string('return '..cond) == true - end - - -- evaluates the string condition to decide if the keybind should be run - ---@type boolean - local do_item_condition - if cmd.condition then - if has_item_codes(cmd.condition_codes) then - do_item_condition = true - elseif not evaluate_condition(cmd.condition, {}) then - return false - end - end - - if cmd.parser then - local parser_str = ' '..cmd.parser..' ' - if not parser_str:find( '%W'..(state.parser.keybind_name or state.parser.name)..'%W' ) then return false end - end - - --these are for the default keybinds, or from addons which use direct functions - if type(cmd.command) == 'function' then return cmd.command(cmd, cmd.addon and fb_utils.copy_table(state) or state, co) end - - --the function terminates here if we are running the command on a single item - if not (cmd.multiselect and next(state.selection)) then - if cmd.filter then - if not state.list[state.selected] then return false end - if state.list[state.selected].type ~= cmd.filter then return false end - end - - if cmd.codes then - --if the directory is empty, and this command needs to work on an item, then abort and fallback to the next command - if not state.list[state.selected] and has_item_codes(cmd.codes) then return false end - end - - if do_item_condition and not evaluate_condition(cmd.condition, { state.list[state.selected] }) then - return false - end - run_custom_command(cmd, { state.list[state.selected] }, state) - return true - end - - --runs the command on all multi-selected items - local selection = fb_utils.sort_keys(state.selection, function(item) - if do_item_condition and not evaluate_condition(cmd.condition, { item }) then return false end - return not cmd.filter or item.type == cmd.filter - end) - if not next(selection) then return false end - - if cmd["multi-type"] == "concat" then - run_custom_command(cmd, selection, state) - - elseif cmd["multi-type"] == "repeat" or cmd["multi-type"] == nil then - for i,_ in ipairs(selection) do - run_custom_command(cmd, {selection[i]}, state) - - if cmd.delay then - mp.add_timeout(cmd.delay, function() fb_utils.coroutine.resume_err(co) end) - coroutine.yield() - end - end - end - - --we passthrough by default if the command is not run on every selected item - if cmd.passthrough ~= nil then return end - - local num_selection = 0 - for _ in pairs(state.selection) do num_selection = num_selection+1 end - return #selection == num_selection -end - ----Recursively runs the keybind functions, passing down through the chain ----of keybinds with the same key value. ----@async ----@param keybind Keybind ----@param state State ----@param co thread -local function run_keybind_recursive(keybind, state, co) - msg.trace("Attempting custom command:", utils.to_string(keybind)) - - if keybind.passthrough ~= nil then - run_custom_keybind(keybind, state, co) - if keybind.passthrough == true and keybind.prev_key then - run_keybind_recursive(keybind.prev_key, state, co) - end - else - if run_custom_keybind(keybind, state, co) == false and keybind.prev_key then - run_keybind_recursive(keybind.prev_key, state, co) - end - end -end - ----A wrapper to run a custom keybind as a lua coroutine. ----@param key Keybind -local function run_keybind_coroutine(key) - msg.debug("Received custom keybind "..key.key) - local co = coroutine.create(run_keybind_recursive) - - local state_copy = { - directory = g.state.directory, - directory_label = g.state.directory_label, - list = g.state.list, --the list should remain unchanged once it has been saved to the global state, new directories get new tables - selected = g.state.selected, - selection = fb_utils.copy_table(g.state.selection), - parser = g.state.parser, - } - local success, err = coroutine.resume(co, key, state_copy, co) - if not success then - msg.error("error running keybind:", utils.to_string(key)) - fb_utils.traceback(err, co) - end -end - ----Scans the given command table to identify if they contain any custom keybind codes. ----@param command_table KeybindCommand ----@param codes Set ----@return Set -local function scan_for_codes(command_table, codes) - if type(command_table) ~= "table" then return codes end - for _, value in pairs(command_table) do - local type = type(value) - if type == "table" then - scan_for_codes(value, codes) - elseif type == "string" then - for code in value:gmatch(KEYBIND_CODE_PATTERN) do - codes[code] = true - end - end - end - return codes -end - ----Inserting the custom keybind into the keybind array for declaration when file-browser is opened. ----Custom keybinds with matching names will overwrite eachother. ----@param keybind Keybind -local function insert_custom_keybind(keybind) - -- api checking for the keybinds is optional, so set to a valid version if it does not exist - keybind.api_version = keybind.api_version or '1.0.0' - if not addons.check_api_version(keybind, 'keybind '..keybind.name) then return end - - local command = keybind.command - - --we'll always save the keybinds as either an array of command arrays or a function - if type(command) == "table" and type(command[1]) ~= "table" then - keybind.command = {command} - end - - keybind.codes = scan_for_codes(keybind.command, {}) - if not next(keybind.codes) then keybind.codes = nil end - keybind.prev_key = top_level_keys[keybind.key] - - if keybind.condition then - keybind.condition_codes = {} - for code in string.gmatch(keybind.condition, KEYBIND_CODE_PATTERN) do keybind.condition_codes[code] = true end - end - - table.insert(g.state.keybinds, {keybind.key, keybind.name, function() run_keybind_coroutine(keybind) end, keybind.flags or {}}) - top_level_keys[keybind.key] = keybind -end - ----Loading the custom keybinds. ----Can either load keybinds from the config file, from addons, or from both. -local function setup_keybinds() - --this is to make the default keybinds compatible with passthrough from custom keybinds - for _, keybind in ipairs(g.state.keybinds) do - top_level_keys[keybind[1]] = { key = keybind[1], name = keybind[2], command = keybind[3], flags = keybind[4] } - end - - --this loads keybinds from addons - for i = #g.parsers, 1, -1 do - local parser = g.parsers[i] - if parser.keybinds then - for i, keybind in ipairs(parser.keybinds) do - --if addons use the native array command format, then we need to convert them over to the custom command format - if not keybind.key then keybind = { key = keybind[1], name = keybind[2], command = keybind[3], flags = keybind[4] } - else keybind = fb_utils.copy_table(keybind) end - - keybind.name = g.parsers[parser].id.."/"..(keybind.name or tostring(i)) - keybind.addon = true - insert_custom_keybind(keybind) - end - end - end - - --loads custom keybinds from file-browser-keybinds.json - if o.custom_keybinds then - local path = mp.command_native({"expand-path", o.custom_keybinds_file}) --[[@as string]] - local custom_keybinds, err = io.open( path ) - if not custom_keybinds then - msg.debug(err) - msg.verbose('could not read custom keybind file', path) - return - end - - local json = custom_keybinds:read("*a") - custom_keybinds:close() - - json = utils.parse_json(json) - if not json then return error("invalid json syntax for "..path) end - - for i, keybind in ipairs(json --[[@as KeybindList]]) do - keybind.name = "custom/"..(keybind.name or tostring(i)) - insert_custom_keybind(keybind) - end - end -end - ----@class keybinds -return { - setup_keybinds = setup_keybinds, -} \ No newline at end of file diff --git a/scripts/file-browser/modules/navigation/cursor.lua b/scripts/file-browser/modules/navigation/cursor.lua deleted file mode 100644 index 02c0fb8..0000000 --- a/scripts/file-browser/modules/navigation/cursor.lua +++ /dev/null @@ -1,134 +0,0 @@ --------------------------------------------------------------------------------------------------------- ---------------------------------Scroll/Select Implementation-------------------------------------------- --------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------- - -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local ass = require 'modules.ass' - ----@class cursor -local cursor = {} - ---disables multiselect -function cursor.disable_select_mode() - g.state.multiselect_start = nil - g.state.initial_selection = nil -end - ---enables multiselect -function cursor.enable_select_mode() - g.state.multiselect_start = g.state.selected - g.state.initial_selection = fb_utils.copy_table(g.state.selection) -end - ---calculates what drag behaviour is required for that specific movement -local function drag_select(original_pos, new_pos) - if original_pos == new_pos then return end - - local setting = g.state.selection[g.state.multiselect_start or -1] - for i = original_pos, new_pos, (new_pos > original_pos and 1 or -1) do - --if we're moving the cursor away from the starting point then set the selection - --otherwise restore the original selection - if i > g.state.multiselect_start then - if new_pos > original_pos then - g.state.selection[i] = setting - elseif i ~= new_pos then - g.state.selection[i] = g.state.initial_selection[i] - end - elseif i < g.state.multiselect_start then - if new_pos < original_pos then - g.state.selection[i] = setting - elseif i ~= new_pos then - g.state.selection[i] = g.state.initial_selection[i] - end - end - end -end - ---moves the selector up and down the list by the entered amount -function cursor.scroll(n, wrap) - local num_items = #g.state.list - if num_items == 0 then return end - - local original_pos = g.state.selected - - if original_pos + n > num_items then - g.state.selected = wrap and 1 or num_items - elseif original_pos + n < 1 then - g.state.selected = wrap and num_items or 1 - else - g.state.selected = original_pos + n - end - - if g.state.multiselect_start then drag_select(original_pos, g.state.selected) end - ass.update_ass() -end - ---selects the first item in the list which is highlighted as playing -function cursor.select_playing_item() - for i,item in ipairs(g.state.list) do - if ass.highlight_entry(item) then - g.state.selected = i - return - end - end -end - ---scans the list for which item to select by default ---chooses the folder that the script just moved out of ---or, otherwise, the item highlighted as currently playing -function cursor.select_prev_directory() - -- makes use of the directory stack to more exactly select the prev directory - local down_stack = g.directory_stack.stack[g.directory_stack.position + 1] - if down_stack then - for i, item in ipairs(g.state.list) do - if fb_utils.get_new_directory(item, g.state.directory) == down_stack then - g.state.selected = i - return - end - end - end - - if g.state.prev_directory:find(g.state.directory, 1, true) == 1 then - for i, item in ipairs(g.state.list) do - if - g.state.prev_directory:find(fb_utils.get_full_path(item), 1, true) or - g.state.prev_directory:find(fb_utils.get_new_directory(item, g.state.directory), 1, true) - then - g.state.selected = i - return - end - end - end - - cursor.select_playing_item() -end - ---toggles the selection -function cursor.toggle_selection() - if not g.state.list[g.state.selected] then return end - g.state.selection[g.state.selected] = not g.state.selection[g.state.selected] or nil - ass.update_ass() -end - ---select all items in the list -function cursor.select_all() - for i,_ in ipairs(g.state.list) do - g.state.selection[i] = true - end - ass.update_ass() -end - ---toggles select mode -function cursor.toggle_select_mode() - if g.state.multiselect_start == nil then - cursor.enable_select_mode() - cursor.toggle_selection() - else - cursor.disable_select_mode() - ass.update_ass() - end -end - -return cursor \ No newline at end of file diff --git a/scripts/file-browser/modules/navigation/directory-movement.lua b/scripts/file-browser/modules/navigation/directory-movement.lua deleted file mode 100644 index 80fb469..0000000 --- a/scripts/file-browser/modules/navigation/directory-movement.lua +++ /dev/null @@ -1,209 +0,0 @@ - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local ass = require 'modules.ass' -local scanning = require 'modules.navigation.scanning' -local fb_utils = require 'modules.utils' -local cursor = require 'modules.navigation.cursor' - ----@class directory_movement -local directory_movement = {} -local NavType = scanning.NavType - ----Appends an item to the directory stack, wiping any ----directories further ahead than the current position. ----@param dir string -local function directory_stack_append(dir) - -- don't clear the stack if we're re-entering the same directory - if g.directory_stack.stack[g.directory_stack.position + 1] == dir then - g.directory_stack.position = g.directory_stack.position + 1 - return - end - - local j = #g.directory_stack.stack - while g.directory_stack.position < j do - g.directory_stack.stack[j] = nil - j = j - 1 - end - table.insert(g.directory_stack.stack, dir) - g.directory_stack.position = g.directory_stack.position + 1 -end - ----@param dir string -local function directory_stack_prepend(dir) - table.insert(g.directory_stack.stack, 1, dir) - g.directory_stack.position = 1 -end - ----Clears directories from the history ----@param from? number All entries >= this index are cleared. ----@return string[] -function directory_movement.clear_history(from) - ---@type string[] - local cleared = {} - - from = from or 1 - for i = g.history.size, from, -1 do - table.insert(cleared, g.history.list[i]) - g.history.list[i] = nil - g.history.size = g.history.size - 1 - - if g.history.position >= i then - g.history.position = g.history.position - 1 - end - end - - return cleared -end - ----Append a directory to the history ----If we have navigated backward in the history, ----then clear any history beyond the current point. ----@param directory string -function directory_movement.append_history(directory) - if g.history.list[g.history.position] == directory then - msg.debug('reloading same directory - history unchanged:', directory) - return - end - - msg.debug('appending to history:', directory) - if g.history.position < g.history.size then - directory_movement.clear_history(g.history.position + 1) - end - - table.insert(g.history.list, directory) - g.history.size = g.history.size + 1 - g.history.position = g.history.position + 1 - - if g.history.size > o.history_size then - table.remove(g.history.list, 1) - g.history.size = g.history.size - 1 - end -end - ----@param filepath string -function directory_movement.set_current_file(filepath) - --if we're in idle mode then we want to open the working directory - if filepath == nil then - g.current_file.directory = fb_utils.fix_path( mp.get_property("working-directory", ""), true) - g.current_file.name = nil - g.current_file.path = nil - g.current_file.original_path = nil - return - end - - local absolute_path = fb_utils.absolute_path(filepath) - local resolved_path = fb_utils.resolve_directory_mapping(absolute_path) - - g.current_file.directory, g.current_file.name = utils.split_path(resolved_path) - g.current_file.original_path = absolute_path - g.current_file.path = resolved_path - - if o.cursor_follows_playing_item then cursor.select_playing_item() end - ass.update_ass() -end - ---the base function for moving to a directory ----@param directory string ----@param nav_type? NavigationType ----@param store_history? boolean default `true` ----@param parse_properties? ParseProperties ----@return thread -function directory_movement.goto_directory(directory, nav_type, store_history, parse_properties) - local current = g.state.list[g.state.selected] - g.state.directory = directory - - if g.state.directory_label then - if nav_type == NavType.DOWN then - g.state.directory_label = g.state.directory_label..(current.label or current.name) - elseif nav_type == NavType.UP then - g.state.directory_label = string.match(g.state.directory_label, "^(.-/+)[^/]+/*$") - end - end - - if o.history_size > 0 and store_history == nil or store_history then - directory_movement.append_history(directory) - end - - return scanning.rescan(nav_type or NavType.GOTO, nil, parse_properties) -end - ----Move the browser to a particular point in the browser history. ----The history is a linear list of visited directories from oldest to newest. ----If the user changes directories while the current history position is not the head of the list, ----any later directories get cleared and the new directory becomes the new head. ----@param pos number The history index to move to. Clamped to [1,history_length] ----@return number|false # The index actually moved to after clamping. Returns -1 if the index was invalid (can occur if history is empty or disabled) -function directory_movement.goto_history(pos) - if type(pos) ~= "number" then return false end - - if pos < 1 then pos = 1 - elseif pos > g.history.size then pos = g.history.size end - if not g.history.list[pos] then return false end - - g.history.position = pos - directory_movement.goto_directory(g.history.list[pos]) - return pos -end - ---loads the root list -function directory_movement.goto_root() - msg.verbose('jumping to root') - return directory_movement.goto_directory("") -end - ---switches to the directory of the currently playing file -function directory_movement.goto_current_dir() - msg.verbose('jumping to current directory') - return directory_movement.goto_directory(g.current_file.directory) -end - ---moves up a directory -function directory_movement.up_dir() - if g.state.directory == '' then return end - - local cached_parent_dir = g.directory_stack.stack[g.directory_stack.position - 1] - if cached_parent_dir then - g.directory_stack.position = g.directory_stack.position - 1 - return directory_movement.goto_directory(cached_parent_dir, NavType.UP) - end - - local parent_dir = g.state.directory:match("^(.-/+)[^/]+/*$") or "" - - if o.skip_protocol_schemes and parent_dir:find("^(%a[%w+-.]*)://$") then - return directory_movement.goto_root() - end - - directory_stack_prepend(parent_dir) - return directory_movement.goto_directory(parent_dir, NavType.UP) -end - ---moves down a directory -function directory_movement.down_dir() - local current = g.state.list[g.state.selected] - if not current or not fb_utils.parseable_item(current) then return end - - local directory, redirected = fb_utils.get_new_directory(current, g.state.directory) - directory_stack_append(directory) - return directory_movement.goto_directory(directory, redirected and NavType.REDIRECT or NavType.DOWN) -end - ---moves backwards through the directory history -function directory_movement.back_history() - msg.debug('moving backwards in history to', g.history.list[g.history.position-1]) - if g.history.position == 1 then return end - directory_movement.goto_history(g.history.position - 1) -end - ---moves forward through the history -function directory_movement.forwards_history() - msg.debug('moving forwards in history to', g.history.list[g.history.position+1]) - if g.history.position == g.history.size then return end - directory_movement.goto_history(g.history.position + 1) -end - -return directory_movement \ No newline at end of file diff --git a/scripts/file-browser/modules/navigation/scanning.lua b/scripts/file-browser/modules/navigation/scanning.lua deleted file mode 100644 index 97ce3bb..0000000 --- a/scripts/file-browser/modules/navigation/scanning.lua +++ /dev/null @@ -1,210 +0,0 @@ -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local cursor = require 'modules.navigation.cursor' -local ass = require 'modules.ass' - -local parse_state_API = require 'modules.apis.parse-state' - ----@class scanning -local scanning = {} - ----@enum NavigationType -local NavType = { - DOWN = 1, - UP = -1, - REDIRECT = 2, - GOTO = 3, - RESCAN = 4, -} - -scanning.NavType = NavType - ----@param directory_stack? boolean -local function clear_non_adjacent_state(directory_stack) - g.state.directory_label = nil - if directory_stack then - g.directory_stack.stack = {g.state.directory} - g.directory_stack.position = 1 - end -end - ----parses the given directory or defers to the next parser if nil is returned ----@async ----@param directory string ----@param index number ----@return List? ----@return Opts? -function scanning.choose_and_parse(directory, index) - msg.debug(("finding parser for %q"):format(directory)) - ---@type Parser, List?, Opts? - local parser, list, opts - local parse_state = g.parse_states[coroutine.running() or ""] - while list == nil and not parse_state.already_deferred and index <= #g.parsers do - parser = g.parsers[index] - if parser:can_parse(directory, parse_state) then - msg.debug("attempting parser:", parser:get_id()) - list, opts = parser:parse(directory, parse_state) - end - index = index + 1 - end - if not list then return nil, {} end - - msg.debug("list returned from:", parser:get_id()) - opts = opts or {} - if list then opts.id = opts.id or parser:get_id() end - return list, opts -end - ----Sets up the parse_state table and runs the parse operation. ----@async ----@param directory string ----@param parse_state_template ParseStateTemplate ----@return List|nil ----@return Opts -local function run_parse(directory, parse_state_template) - msg.verbose(("scanning files in %q"):format(directory)) - - ---@type ParseStateFields - local parse_state = { - source = parse_state_template.source, - directory = directory, - properties = parse_state_template.properties or {} - } - - local co = coroutine.running() - g.parse_states[co] = fb_utils.set_prototype(parse_state, parse_state_API) --[[@as ParseState]] - - local list, opts = scanning.choose_and_parse(directory, 1) - - if list == nil then return msg.debug("no successful parsers found"), {} end - opts = opts or {} - opts.parser = g.parsers[opts.id] - - if not opts.filtered then fb_utils.filter(list) end - if not opts.sorted then fb_utils.sort(list) end - return list, opts -end - ----Returns the contents of the given directory using the given parse state. ----If a coroutine has already been used for a parse then create a new coroutine so that ----the every parse operation has a unique thread ID. ----@async ----@param directory string ----@param parse_state ParseStateTemplate ----@return List|nil ----@return Opts -function scanning.scan_directory(directory, parse_state) - local co = fb_utils.coroutine.assert("scan_directory must be executed from within a coroutine - aborting scan "..utils.to_string(parse_state)) - if not g.parse_states[co] then return run_parse(directory, parse_state) end - - --if this coroutine is already is use by another parse operation then we create a new - --one and hand execution over to that - ---@async - local new_co = coroutine.create(function() - fb_utils.coroutine.resume_err(co, run_parse(directory, parse_state)) - end) - - --queue the new coroutine on the mpv event queue - mp.add_timeout(0, function() - local success, err = coroutine.resume(new_co) - if not success then - fb_utils.traceback(err, new_co) - fb_utils.coroutine.resume_err(co) - end - end) - return g.parse_states[co]:yield() -end - ----Sends update requests to the different parsers. ----@async ----@param moving_adjacent? number|boolean ----@param parse_properties? ParseProperties -local function update_list(moving_adjacent, parse_properties) - msg.verbose('opening directory: ' .. g.state.directory) - - g.state.selected = 1 - g.state.selection = {} - - local directory = g.state.directory - local list, opts = scanning.scan_directory(g.state.directory, { source = "browser", properties = parse_properties }) - - --if the running coroutine isn't the one stored in the state variable, then the user - --changed directories while the coroutine was paused, and this operation should be aborted - if coroutine.running() ~= g.state.co then - msg.verbose(g.ABORT_ERROR.msg) - msg.debug("expected:", g.state.directory, "received:", directory) - return - end - - --apply fallbacks if the scan failed - if not list then - msg.warn("could not read directory", g.state.directory) - list, opts = {}, {} - opts.empty_text = g.style.warning..'Error: could not parse directory' - end - - g.state.list = list - g.state.parser = opts.parser - - --setting custom options from parsers - g.state.directory_label = opts.directory_label - g.state.empty_text = opts.empty_text or g.state.empty_text - - --we assume that directory is only changed when redirecting to a different location - --therefore we need to change the `moving_adjacent` flag and clear some state values - if opts.directory then - g.state.directory = opts.directory - moving_adjacent = false - clear_non_adjacent_state(true) - end - - if opts.selected_index then - g.state.selected = opts.selected_index or g.state.selected - if g.state.selected > #g.state.list then g.state.selected = #g.state.list - elseif g.state.selected < 1 then g.state.selected = 1 end - end - - if moving_adjacent then cursor.select_prev_directory() - else cursor.select_playing_item() end - g.state.prev_directory = g.state.directory -end - ----rescans the folder and updates the list. ----@param nav_type? NavigationType ----@param cb? function ----@param parse_properties? ParseProperties ----@return thread # The coroutine for the triggered parse operation. May be aborted early if directory is in the cache. -function scanning.rescan(nav_type, cb, parse_properties) - if nav_type == nil then nav_type = NavType.RESCAN end - - --we can only make assumptions about the directory label when moving from adjacent directories - if nav_type == NavType.GOTO or nav_type == NavType.REDIRECT then - clear_non_adjacent_state(nav_type == NavType.GOTO) - end - - g.state.empty_text = "~" - g.state.list = {} - cursor.disable_select_mode() - ass.update_ass() - - --the directory is always handled within a coroutine to allow addons to - --pause execution for asynchronous operations - ---@async - local co = fb_utils.coroutine.queue(function() - update_list(nav_type, parse_properties) - if g.state.empty_text == "~" then g.state.empty_text = "empty directory" end - - ass.update_ass() - if cb then fb_utils.coroutine.run(cb) end - end) - - g.state.co = co - return co -end - - -return scanning \ No newline at end of file diff --git a/scripts/file-browser/modules/observers.lua b/scripts/file-browser/modules/observers.lua deleted file mode 100644 index 4748477..0000000 --- a/scripts/file-browser/modules/observers.lua +++ /dev/null @@ -1,48 +0,0 @@ -local g = require 'modules.globals' -local directory_movement = require 'modules.navigation.directory-movement' -local fb = require 'modules.apis.fb' -local fb_utils = require 'modules.utils' -local ass = require 'modules.ass' - ----@class observers -local observers ={} - ----saves the directory and name of the currently playing file ----@param _ string ----@param filepath string -function observers.current_directory(_, filepath) - directory_movement.set_current_file(filepath) -end - ----@param _ string ----@param device string -function observers.dvd_device(_, device) - if not device or device == "" then device = '/dev/dvd' end - fb.register_directory_mapping(fb_utils.absolute_path(device), '^dvd://.*', true) -end - ----@param _ string ----@param device string -function observers.bd_device(_, device) - if not device or device == '' then device = '/dev/bd' end - fb.register_directory_mapping(fb_utils.absolute_path(device), '^bd://.*', true) -end - ----@param _ string ----@param device string -function observers.cd_device(_, device) - if not device or device == '' then device = '/dev/cdrom' end - fb.register_directory_mapping(fb_utils.absolute_path(device), '^cdda://.*', true) -end - ----@param property string ----@param alignment string -function observers.osd_align(property, alignment) - if property == 'osd-align-x' then g.ALIGN_X = alignment - elseif property == 'osd-align-y' then g.ALIGN_Y = alignment end - - g.style.global = ([[{\an%d}]]):format(g.ASS_ALIGNMENT_MATRIX[g.ALIGN_Y][g.ALIGN_X]) - ass.update_ass() -end - -return observers \ No newline at end of file diff --git a/scripts/file-browser/modules/options.lua b/scripts/file-browser/modules/options.lua deleted file mode 100644 index 718edcc..0000000 --- a/scripts/file-browser/modules/options.lua +++ /dev/null @@ -1,193 +0,0 @@ -local utils = require 'mp.utils' -local opt = require 'mp.options' - ----@class options -local o = { - --root directories - root = "~/", - - --automatically detect windows drives and adds them to the root. - auto_detect_windows_drives = true, - - --characters to use as separators - root_separators = ",", - - --number of entries to show on the screen at once - num_entries = 20, - - --number of directories to keep in the history - history_size = 100, - - --wrap the cursor around the top and bottom of the list - wrap = false, - - --only show files compatible with mpv - filter_files = true, - - --recurses directories concurrently when appending items to the playlist - concurrent_recursion = true, - - --maximum number of recursions that can run concurrently - max_concurrency = 16, - - --enable custom keybinds - custom_keybinds = true, - custom_keybinds_file = "~~/script-opts/file-browser-keybinds.json", - - --blacklist compatible files, it's recommended to use this rather than to edit the - --compatible list directly. A comma separated list of extensions without spaces - extension_blacklist = "", - - --add extra file extensions - extension_whitelist = "", - - --files with these extensions will be added as additional audio tracks for the current file instead of appended to the playlist - audio_extensions = "mka,dts,dtshd,dts-hd,truehd,true-hd", - - --files with these extensions will be added as additional subtitle tracks instead of appended to the playlist - subtitle_extensions = "etf,etf8,utf-8,idx,sub,srt,rt,ssa,ass,mks,vtt,sup,scc,smi,lrc,pgs", - - --filter dot directories like .config - --most useful on linux systems - ---@type 'auto'|'yes'|'no' - filter_dot_dirs = 'auto', - ---@type 'auto'|'yes'|'no' - filter_dot_files = 'auto', - - --substitute forward slashes for backslashes when appending a local file to the playlist - --potentially useful on windows systems - substitute_backslash = false, - - --interpret backslashes `\` in paths as forward slashes `/` - --this is useful on Windows, which natively uses backslashes. - --As backslashes are valid filename characters in Unix systems this could - --cause mangled paths, though such filenames are rare. - --Use `yes` and `no` to enable/disable. `auto` tries to use the mpv `platform` - --property (mpv v0.36+) to decide. If the property is unavailable it defaults to `yes`. - ---@type 'auto'|'yes'|'no' - normalise_backslash = 'auto', - - --a directory cache to improve directory reading time, - --enable if it takes a long time to load directories. - --may cause 'ghost' files to be shown that no-longer exist or - --fail to show files that have recently been created. - cache = false, - - --this option reverses the behaviour of the alt+ENTER keybind - --when disabled the keybind is required to enable autoload for the file - --when enabled the keybind disables autoload for the file - autoload = false, - - --if autoload is triggered by selecting the currently playing file, then - --the current file will have it's watch-later config saved before being closed - --essentially the current file will not be restarted - autoload_save_current = true, - - --when opening the browser in idle mode prefer the current working directory over the root - --note that the working directory is set as the 'current' directory regardless, so `home` will - --move the browser there even if this option is set to false - default_to_working_directory = false, - - --When opening the browser prefer the directory last opened by a previous mpv instance of file-browser. - --Overrides the `default_to_working_directory` option. - --Requires `save_last_opened_directory` to be true. - --Uses the internal `last-opened-directory` addon. - default_to_last_opened_directory = false, - - --Whether to save the last opened directory and the file to save this value in. - save_last_opened_directory = false, - last_opened_directory_file = '~~state/file_browser-last_opened_directory', - - --when moving up a directory do not stop on empty protocol schemes like `ftp://` - --e.g. moving up from `ftp://localhost/` will move straight to the root instead of `ftp://` - skip_protocol_schemes = true, - - --move the cursor to the currently playing item (if available) when the playing file changes - cursor_follows_playing_item = false, - - --Replace the user's home directory with `~/` in the header. - --Uses the internal home-label addon. - home_label = true, - - --map optical device paths to their respective file paths, - --e.g. mapping bd:// to the value of the bluray-device property - map_bd_device = true, - map_dvd_device = true, - map_cdda_device = true, - - --allows custom icons be set for the folder and cursor - --the `\h` character is a hard space to add padding between the symbol and the text - folder_icon = [[{\p1}m 6.52 0 l 1.63 0 b 0.73 0 0.01 0.73 0.01 1.63 l 0 11.41 b 0 12.32 0.73 13.05 1.63 13.05 l 14.68 13.05 b 15.58 13.05 16.31 12.32 16.31 11.41 l 16.31 3.26 b 16.31 2.36 15.58 1.63 14.68 1.63 l 8.15 1.63{\p0}\h]], - cursor_icon = [[{\p1}m 14.11 6.86 l 0.34 0.02 b 0.25 -0.02 0.13 -0 0.06 0.08 b -0.01 0.16 -0.02 0.28 0.04 0.36 l 3.38 5.55 l 3.38 5.55 3.67 6.15 3.81 6.79 3.79 7.45 3.61 8.08 3.39 8.5l 0.04 13.77 b -0.02 13.86 -0.01 13.98 0.06 14.06 b 0.11 14.11 0.17 14.13 0.24 14.13 b 0.27 14.13 0.31 14.13 0.34 14.11 l 14.11 7.28 b 14.2 7.24 14.25 7.16 14.25 7.07 b 14.25 6.98 14.2 6.9 14.11 6.86{\p0}\h]], - cursor_icon_flipped = [[{\p1}m 0.13 6.86 l 13.9 0.02 b 14 -0.02 14.11 -0 14.19 0.08 b 14.26 0.16 14.27 0.28 14.21 0.36 l 10.87 5.55 l 10.87 5.55 10.44 6.79 10.64 8.08 10.86 8.5l 14.21 13.77 b 14.27 13.86 14.26 13.98 14.19 14.06 b 14.14 14.11 14.07 14.13 14.01 14.13 b 13.97 14.13 13.94 14.13 13.9 14.11 l 0.13 7.28 b 0.05 7.24 0 7.16 0 7.07 b 0 6.98 0.05 6.9 0.13 6.86{\p0}\h]], - - --enable addons - addons = true, - addon_directory = "~~/script-modules/file-browser-addons", - - --Enables the internal `ls` addon that parses directories using the `ls` commandline tool. - --Allows directory parsing to run concurrently, which prevents the browser from locking up. - --Automatically disables itself on Windows systems. - ls_parser = true, - - --Enables the internal `windir` addon that parses directories using the `dir` command in cmd.exe. - --Allows directory parsing to run concurrently, which prevents the browser from locking up. - --Automatically disables itself on non-Windows systems. - windir_parser = true, - - --directory to load external modules - currently just user-input-module - module_directory = "~~/script-modules", - - --turn the OSC idle screen off and on when opening and closing the browser - toggle_idlescreen = false, - - --Set the current open status of the browser in the `file_browser/open` field of the `user-data` property. - --This property is only available in mpv v0.36+. - set_user_data = true, - - --Set the current open status of the browser in the `file_browser-open` field of the `shared-script-properties` property. - --This property is deprecated. When it is removed in mpv v0.37 file-browser will automatically ignore this option. - set_shared_script_properties = false, - - ---@type 'auto'|'left'|'center'|'right' - align_x = 'left', - ---@type 'auto'|'top'|'center'|'bottom' - align_y = 'top', - - --style settings - format_string_header = [[{\fnMonospace}[%i/%x]%^ %q\N------------------------------------------------------------------]], - format_string_topwrapper = '...', - format_string_bottomwrapper = '...', - - font_bold_header = true, - font_opacity_selection_marker = "99", - - scaling_factor_base = 1, - scaling_factor_header = 1.4, - scaling_factor_wrappers = 1, - - font_name_header = "", - font_name_body = "", - font_name_wrappers = "", - font_name_folder = "", - font_name_cursor = "", - - font_colour_header = "00ccff", - font_colour_body = "ffffff", - font_colour_wrappers = "00ccff", - font_colour_cursor = "00ccff", - font_colour_escape_chars = "413eff", - - font_colour_multiselect = "fcad88", - font_colour_selected = "fce788", - font_colour_playing = "33ff66", - font_colour_playing_multiselected = "22b547" - -} - -opt.read_options(o, 'file_browser') - ----@diagnostic disable-next-line deprecated -o.set_shared_script_properties = o.set_shared_script_properties and utils.shared_script_property_set - -return o \ No newline at end of file diff --git a/scripts/file-browser/modules/playlist.lua b/scripts/file-browser/modules/playlist.lua deleted file mode 100644 index abfc375..0000000 --- a/scripts/file-browser/modules/playlist.lua +++ /dev/null @@ -1,362 +0,0 @@ ------------------------------------------------------------------------------------------- ----------------------------------File/Playlist Opening------------------------------------ ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local ass = require 'modules.ass' -local cursor = require 'modules.navigation.cursor' -local controls = require 'modules.controls' -local scanning = require 'modules.navigation.scanning' -local movement = require 'modules.navigation.directory-movement' - -local state = g.state - ----@alias LoadfileFlag 'replace'|'append-play' - ----@class LoadOpts ----@field directory string ----@field flag LoadfileFlag ----@field autoload boolean ----@field items_appended number ----@field co thread ----@field concurrency number - ----In mpv v0.38 a new index argument was added to the loadfile command. ----For some crazy reason this new argument is placed before the existing options ----argument, breaking any scripts that used it. This function finds the correct index ----for the options argument using the `command-list` property. ----@return integer -local function get_loadfile_options_arg_index() - ---@type table[] - local command_list = mp.get_property_native('command-list', {}) - for _, command in ipairs(command_list) do - if command.name == 'loadfile' then - for i, arg in ipairs(command.args or {} --[=[@as table[]]=]) do - if arg.name == 'options' then - return i - end - end - end - end - - return 3 -end - -local LEGACY_LOADFILE_SYNTAX = get_loadfile_options_arg_index() == 3 - ----A wrapper around loadfile to handle the syntax changes introduced in mpv v0.38. ----@param file string ----@param flag string ----@param options? string|table ----@return boolean -local function legacy_loadfile_wrapper(file, flag, options) - if LEGACY_LOADFILE_SYNTAX then - return mp.command_native({"loadfile", file, flag, options}) ~= nil - else - return mp.command_native({"loadfile", file, flag, -1, options}) ~= nil - end -end - ----Adds a file to the playlist and changes the flag to `append-play` in preparation for future items. ----@param file string ----@param opts LoadOpts ----@param mpv_opts? string|table -local function loadfile(file, opts, mpv_opts) - if o.substitute_backslash and not fb_utils.get_protocol(file) then - file = string.gsub(file, "/", "\\") - end - - if opts.flag == "replace" then msg.verbose("Playling file", file) - else msg.verbose("Appending", file, "to the playlist") end - - if mpv_opts then - msg.debug('Settings opts on', file, ':', utils.to_string(mpv_opts)) - end - - if not legacy_loadfile_wrapper(file, opts.flag, mpv_opts) then msg.warn(file) end - if opts.flag == 'replace' and mp.get_property_bool('pause') then mp.set_property_bool('pause', false) end - - opts.flag = "append-play" - opts.items_appended = opts.items_appended + 1 -end - ----@diagnostic disable-next-line no-unknown -local concurrent_loadlist_wrapper - ----@alias ConcurrentRefMap table - ----This function recursively loads directories concurrently in separate coroutines. ----Results are saved in a tree of tables that allows asynchronous access. ----@async ----@param directory string ----@param load_opts LoadOpts ----@param prev_dirs Set ----@param item_t Item ----@param refs ConcurrentRefMap ----@return boolean? -local function concurrent_loadlist_parse(directory, load_opts, prev_dirs, item_t, refs) - if not refs[item_t] then refs[item_t] = {} end - - --prevents infinite recursion from the item.path or opts.directory fields - if prev_dirs[directory] then return end - prev_dirs[directory] = true - - local list, list_opts = scanning.scan_directory(directory, { source = 'loadlist' }) - if list == g.root then return end - - --if we can't parse the directory then append it and hope mpv fares better - if list == nil then - msg.warn("Could not parse", directory, "appending to playlist anyway") - refs[item_t].recurse = false - return - end - - directory = list_opts.directory or directory - - --we must declare these before we start loading sublists otherwise the append thread will - --need to wait until the whole list is loaded (when synchronous IO is used) - refs[item_t].sublist = list or {} - refs[list] = {directory = directory} - - if directory == "" then return end - - --launches new parse operations for directories, each in a different coroutine - for _, item in ipairs(list) do - if fb_utils.parseable_item(item) then - fb_utils.coroutine.run(concurrent_loadlist_wrapper, fb_utils.get_new_directory(item, directory), load_opts, prev_dirs, item, refs) - end - end - return true -end - ----A wrapper function that ensures the concurrent_loadlist_parse is run correctly. ----@async ----@param directory string ----@param opts LoadOpts ----@param prev_dirs Set ----@param item Item ----@param refs ConcurrentRefMap -function concurrent_loadlist_wrapper(directory, opts, prev_dirs, item, refs) - --ensures that only a set number of concurrent parses are operating at any one time. - --the mpv event queue is seemingly limited to 1000 items, but only async mpv actions like - --command_native_async should use that, events like mp.add_timeout (which coroutine.sleep() uses) should - --be handled enturely on the Lua side with a table, which has a significantly larger maximum size. - while (opts.concurrency > o.max_concurrency) do - fb_utils.coroutine.sleep(0.1) - end - opts.concurrency = opts.concurrency + 1 - - local success = concurrent_loadlist_parse(directory, opts, prev_dirs, item, refs) - opts.concurrency = opts.concurrency - 1 - if not success then refs[item].sublist = {} end - if coroutine.status(opts.co) == "suspended" then fb_utils.coroutine.resume_err(opts.co) end -end - ----Recursively appends items to the playlist, acts as a consumer to the previous functions producer; ----If the next directory has not been parsed this function will yield until the parse has completed. ----@async ----@param list List ----@param load_opts LoadOpts ----@param refs ConcurrentRefMap -local function concurrent_loadlist_append(list, load_opts, refs) - local directory = refs[list].directory - - for _, item in ipairs(list) do - if not g.sub_extensions[ fb_utils.get_extension(item.name, "") ] - and not g.audio_extensions[ fb_utils.get_extension(item.name, "") ] - then - while fb_utils.parseable_item(item) and (not refs[item] or not refs[item].sublist) do - coroutine.yield() - end - - if fb_utils.parseable_item(item) and refs[item] ~= false then - concurrent_loadlist_append(refs[item].sublist, load_opts, refs) - else - loadfile(fb_utils.get_full_path(item, directory), load_opts, item.mpv_options) - end - end - end -end - ----Recursive function to load directories serially. ----Returns true if any items were appended to the playlist. ----@async ----@param directory string ----@param load_opts LoadOpts ----@param prev_dirs Set ----@return true|nil -local function custom_loadlist_recursive(directory, load_opts, prev_dirs) - --prevents infinite recursion from the item.path or opts.directory fields - if prev_dirs[directory] then return end - prev_dirs[directory] = true - - local list, opts = scanning.scan_directory(directory, { source = "loadlist" }) - if list == g.root then return end - - --if we can't parse the directory then append it and hope mpv fares better - if list == nil then - msg.warn("Could not parse", directory, "appending to playlist anyway") - loadfile(directory, load_opts) - return true - end - - directory = opts.directory or directory - if directory == "" then return end - - for _, item in ipairs(list) do - if not g.sub_extensions[ fb_utils.get_extension(item.name, "") ] - and not g.audio_extensions[ fb_utils.get_extension(item.name, "") ] - then - if fb_utils.parseable_item(item) then - custom_loadlist_recursive( fb_utils.get_new_directory(item, directory) , load_opts, prev_dirs) - else - local path = fb_utils.get_full_path(item, directory) - loadfile(path, load_opts, item.mpv_options) - end - end - end -end - - ----A wrapper for the custom_loadlist_recursive function. ----@async ----@param item Item ----@param opts LoadOpts -local function loadlist(item, opts) - local dir = fb_utils.get_full_path(item, opts.directory) - local num_items = opts.items_appended - - if o.concurrent_recursion then - item = fb_utils.copy_table(item) - opts.co = fb_utils.coroutine.assert() - opts.concurrency = 0 - - ---@type List - local v_list = {item} - ---@type ConcurrentRefMap - local refs = setmetatable({[v_list] = {directory = opts.directory}}, {__mode = 'k'}) - - --we need the current coroutine to suspend before we run the first parse operation, so - --we schedule the coroutine to run on the mpv event queue - fb_utils.coroutine.queue(concurrent_loadlist_wrapper, dir, opts, {}, item, refs) - concurrent_loadlist_append(v_list, opts, refs) - else - custom_loadlist_recursive(dir, opts, {}) - end - - if opts.items_appended == num_items then msg.warn(dir, "contained no valid files") end -end - ----Load playlist entries before and after the currently playing file. ----@param path string ----@param opts LoadOpts -local function autoload_dir(path, opts) - if o.autoload_save_current and path == g.current_file.path then - mp.commandv("write-watch-later-config") end - - --loads the currently selected file, clearing the playlist in the process - loadfile(path, opts) - - local pos = 1 - local file_count = 0 - for _,item in ipairs(state.list) do - if item.type == "file" - and not g.sub_extensions[ fb_utils.get_extension(item.name, "") ] - and not g.audio_extensions[ fb_utils.get_extension(item.name, "") ] - then - local p = fb_utils.get_full_path(item) - - if p == path then pos = file_count - else loadfile( p, opts, item.mpv_options) end - - file_count = file_count + 1 - end - end - mp.commandv("playlist-move", 0, pos+1) -end - ----Runs the loadfile or loadlist command. ----@async ----@param item Item ----@param opts LoadOpts ----@return nil -local function open_item(item, opts) - if fb_utils.parseable_item(item) then - return loadlist(item, opts) - end - - local path = fb_utils.get_full_path(item, opts.directory) - if g.sub_extensions[ fb_utils.get_extension(item.name, "") ] then - mp.commandv("sub-add", path, opts.flag == "replace" and "select" or "auto") - elseif g.audio_extensions[ fb_utils.get_extension(item.name, "") ] then - mp.commandv("audio-add", path, opts.flag == "replace" and "select" or "auto") - else - if opts.autoload then autoload_dir(path, opts) - else loadfile(path, opts, item.mpv_options) end - end -end - ----Handles the open options as a coroutine. ----Once loadfile has been run we can no-longer guarantee synchronous execution - the state values may change ----therefore, we must ensure that any state values that could be used after a loadfile call are saved beforehand. ----@async ----@param opts LoadOpts ----@return nil -local function open_file_coroutine(opts) - if not state.list[state.selected] then return end - if opts.flag == 'replace' then controls.close() end - - --we want to set the idle option to yes to ensure that if the first item - --fails to load then the player has a chance to attempt to load further items (for async append operations) - local idle = mp.get_property("idle", "once") - mp.set_property("idle", "yes") - - --handles multi-selection behaviour - if next(state.selection) then - local selection = fb_utils.sort_keys(state.selection) - --reset the selection after - state.selection = {} - - cursor.disable_select_mode() - ass.update_ass() - - --the currently selected file will be loaded according to the flag - --the flag variable will be switched to append once a file is loaded - for i=1, #selection do - open_item(selection[i], opts) - end - - else - local item = state.list[state.selected] - if opts.flag == "replace" then movement.down_dir() end - open_item(item, opts) - end - - if mp.get_property("idle") == "yes" then mp.set_property("idle", idle) end -end - ---opens the selelected file(s) -local function open_file(flag, autoload) - ---@type LoadOpts - local opts = { - flag = flag, - autoload = (autoload ~= o.autoload and flag == "replace"), - directory = state.directory, - items_appended = 0, - concurrency = 0, - co = coroutine.create(open_file_coroutine) - } - fb_utils.coroutine.resume_err(opts.co, opts) -end - ----@class playlist -return { - add_files = open_file, -} \ No newline at end of file diff --git a/scripts/file-browser/modules/script-messages.lua b/scripts/file-browser/modules/script-messages.lua deleted file mode 100644 index 7b8cdd4..0000000 --- a/scripts/file-browser/modules/script-messages.lua +++ /dev/null @@ -1,111 +0,0 @@ -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local scanning = require 'modules.navigation.scanning' - ----@class script_messages -local script_messages = {} - ----Allows other scripts to request directory contents from file-browser. ----@param directory string ----@param response_str string -function script_messages.get_directory_contents(directory, response_str) - ---@async - fb_utils.coroutine.run(function() - if not directory then msg.error("did not receive a directory string"); return end - if not response_str then msg.error("did not receive a response string"); return end - - directory = mp.command_native({"expand-path", directory}, "") --[[@as string]] - if directory ~= "" then directory = fb_utils.fix_path(directory, true) end - msg.verbose(("recieved %q from 'get-directory-contents' script message - returning result to %q"):format(directory, response_str)) - - directory = fb_utils.resolve_directory_mapping(directory) - - ---@class OptsWithVersion: Opts - ---@field API_VERSION string? - - ---@type List|nil, OptsWithVersion|Opts|nil - local list, opts = scanning.scan_directory(directory, { source = "script-message" } ) - if opts then opts.API_VERSION = g.API_VERSION end - - local list_str, err = fb_utils.format_json_safe(list) - if not list_str then msg.error(err) end - - local opts_str, err2 = fb_utils.format_json_safe(opts) - if not opts_str then msg.error(err2) end - - mp.commandv("script-message", response_str, list_str or "", opts_str or "") - end) -end - ----A helper script message for custom keybinds. ----Substitutes any '=>' arguments for 'script-message'. ----Makes chaining script-messages much easier. ----@param ... string -function script_messages.chain(...) - ---@type string[] - local command = table.pack('script-message', ...) - for i, v in ipairs(command) do - if v == '=>' then command[i] = 'script-message' end - end - mp.commandv(table.unpack(command)) -end - ----A helper script message for custom keybinds. ----Sends a command after the specified delay. ----@param delay string ----@param ... string ----@return nil -function script_messages.delay_command(delay, ...) - local command = table.pack(...) - local success, err = pcall(mp.add_timeout, fb_utils.evaluate_string('return '..delay), function() mp.commandv(table.unpack(command)) end) - if not success then return msg.error(err) end -end - ----A helper script message for custom keybinds. ----Sends a command only if the given expression returns true. ----@param condition string ----@param ... string -function script_messages.conditional_command(condition, ...) - local command = table.pack(...) - fb_utils.coroutine.run(function() - if fb_utils.evaluate_string('return '..condition) == true then mp.commandv(table.unpack(command)) end - end) -end - ----A helper script message for custom keybinds. ----Extracts lua expressions from the command and evaluates them. ----Expressions must be surrounded by !{}. Another ! before the { will escape the evaluation. ----@param ... string -function script_messages.evaluate_expressions(...) - ---@type string[] - local args = table.pack(...) - fb_utils.coroutine.run(function() - for i, arg in ipairs(args) do - args[i] = arg:gsub('(!+)(%b{})', function(lead, expression) - if #lead % 2 == 0 then return string.rep('!', #lead/2)..expression end - - ---@type any - local eval = fb_utils.evaluate_string('return '..expression:sub(2, -2)) - return type(eval) == "table" and utils.to_string(eval) or tostring(eval) - end) - end - - mp.commandv(table.unpack(args)) - end) -end - ----A helper function for custom-keybinds. ----Concatenates the command arguments with newlines and runs the ----string as a statement of code. ----@param ... string -function script_messages.run_statement(...) - local statement = table.concat(table.pack(...), '\n') - fb_utils.coroutine.run(fb_utils.evaluate_string, statement) -end - -return script_messages \ No newline at end of file diff --git a/scripts/file-browser/modules/setup.lua b/scripts/file-browser/modules/setup.lua deleted file mode 100644 index b525226..0000000 --- a/scripts/file-browser/modules/setup.lua +++ /dev/null @@ -1,60 +0,0 @@ -local mp = require 'mp' - -local o = require 'modules.options' -local g = require 'modules.globals' -local fb_utils = require 'modules.utils' -local fb = require 'modules.apis.fb' - ---sets up the compatible extensions list -local function setup_extensions_list() - --setting up subtitle extensions - for ext in fb_utils.iterate_opt(o.subtitle_extensions:lower(), ',') do - g.sub_extensions[ext] = true - g.extensions[ext] = true - end - - --setting up audio extensions - for ext in fb_utils.iterate_opt(o.audio_extensions:lower(), ',') do - g.audio_extensions[ext] = true - g.extensions[ext] = true - end - - --adding file extensions to the set - for _, ext in ipairs(g.compatible_file_extensions) do - g.extensions[ext] = true - end - - --adding extra extensions on the whitelist - for str in fb_utils.iterate_opt(o.extension_whitelist:lower(), ',') do - g.extensions[str] = true - end - - --removing extensions that are in the blacklist - for str in fb_utils.iterate_opt(o.extension_blacklist:lower(), ',') do - g.extensions[str] = nil - end -end - ---splits the string into a table on the separators -local function setup_root() - for str in fb_utils.iterate_opt(o.root) do - local path = mp.command_native({'expand-path', str}) --[[@as string]] - path = fb_utils.fix_path(path, true) - - local temp = {name = path, type = 'dir', label = str, ass = fb_utils.ass_escape(str, true)} - - g.root[#g.root+1] = temp - end - - if g.PLATFORM == 'windows' then - fb.register_root_item('C:/') - elseif g.PLATFORM ~= nil then - fb.register_root_item('/') - end -end - ----@class setup -return { - extensions_list = setup_extensions_list, - root = setup_root, -} \ No newline at end of file diff --git a/scripts/file-browser/modules/utils.lua b/scripts/file-browser/modules/utils.lua deleted file mode 100644 index 069f2be..0000000 --- a/scripts/file-browser/modules/utils.lua +++ /dev/null @@ -1,637 +0,0 @@ --------------------------------------------------------------------------------------------------------- ------------------------------------------Utility Functions---------------------------------------------- ----------------------------------------Part of the addon API-------------------------------------------- --------------------------------------------------------------------------------------------------------- - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' - -local o = require 'modules.options' -local g = require 'modules.globals' - -local input_loaded, input = pcall(require, 'mp.input') -local user_input_loaded, user_input = pcall(require, 'user-input-module') - ---creates a table for the API functions ---adds one metatable redirect to prevent addon authors from accidentally breaking file-browser ----@class fb_utils -local fb_utils = { API_VERSION = g.API_VERSION } - -fb_utils.list = {} -fb_utils.coroutine = {} - ---implements table.pack if on lua 5.1 -if not table.pack then - table.unpack = unpack ---@diagnostic disable-line deprecated ----@diagnostic disable-next-line: duplicate-set-field - function table.pack(...) - local t = {n = select("#", ...), ...} - return t - end -end - ----Returns the index of the given item in the table. ----Return -1 if item does not exist. ----@generic T ----@param t T[] ----@param item T ----@param from_index? number ----@return integer -function fb_utils.list.indexOf(t, item, from_index) - for i = from_index or 1, #t, 1 do - if t[i] == item then return i end - end - return -1 -end - ----Returns whether or not the given table contains an entry that ----causes the given function to evaluate to true. ----@generic T ----@param t T[] ----@param fn fun(v: T, i: number, t: T[]): boolean ----@return boolean -function fb_utils.list.some(t, fn) - for i, v in ipairs(t --[=[@as any[]]=]) do - if fn(v, i, t) then return true end - end - return false -end - ----Creates a new table populated with the results of ----calling a provided function on every element in t. ----@generic T ----@generic R ----@param t T[] ----@param fn fun(v: T, i: number, t: T[]): R ----@return R[] -function fb_utils.list.map(t, fn) - local new_t = {} - for i, v in ipairs(t --[=[@as any[]]=]) do - new_t[i] = fn(v, i, t) ---@diagnostic disable-line no-unknown - end - return new_t -end - ----Prints an error message and a stack trace. ----Can be passed directly to xpcall. ----@param errmsg string ----@param co? thread A coroutine to grab the stack trace from. -function fb_utils.traceback(errmsg, co) - if co then - msg.warn(debug.traceback(co)) - else - msg.warn(debug.traceback("", 2)) - end - msg.error(errmsg) -end - ----Returns a table that stores the given table t as the __index in its metatable. ----Creates a prototypally inherited table. ----@generic T: table ----@param t T ----@return T -function fb_utils.redirect_table(t) - return setmetatable({}, { __index = t }) -end - ----Sets the given table `proto` as the `__index` field in table `t`s metatable. ----@generic T: table ----@param t T ----@param proto table ----@return T -function fb_utils.set_prototype(t, proto) - return setmetatable(t, { __index = proto }) -end - ----Prints an error if a coroutine returns an error. ----Unlike coroutine.resume_err this still returns the results of coroutine.resume(). ----@param ... any ----@return boolean ----@return ... -function fb_utils.coroutine.resume_catch(...) - local returns = table.pack(coroutine.resume(...)) - if not returns[1] and returns[2] ~= g.ABORT_ERROR then - fb_utils.traceback(returns[2], select(1, ...)) - end - return table.unpack(returns, 1, returns.n) -end - ----Resumes a coroutine and prints an error if it was not sucessful. ----@param ... any ----@return boolean -function fb_utils.coroutine.resume_err(...) - local success, err = coroutine.resume(...) - if not success and err ~= g.ABORT_ERROR then - fb_utils.traceback(err, select(1, ...)) - end - return success -end - ----Throws an error if not run from within a coroutine. ----In lua 5.1 there is only one return value which will be nil if run from the main thread. ----In lua 5.2 main will be true if running from the main thread. ----@param err any ----@return thread -function fb_utils.coroutine.assert(err) - local co, main = coroutine.running() - assert(not main and co, err or "error - function must be executed from within a coroutine") - return co -end - ----Creates a callback function to resume the current coroutine with the given time limit. ----If the time limit expires the coroutine will be resumed. The first return value will be true ----if the callback was resumed within the time limit and false otherwise. ----If time_limit is falsy then there will be no time limit and there will be no additional return value. ----@param time_limit? number seconds ----@return fun(...) -function fb_utils.coroutine.callback(time_limit) - local co = fb_utils.coroutine.assert("cannot create a coroutine callback for the main thread") - local timer = time_limit and mp.add_timeout(time_limit, function () - msg.debug("time limit on callback expired") - fb_utils.coroutine.resume_err(co, false) - end) - - local function fn(...) - if timer then - if not timer:is_enabled() then return - else timer:kill() end - return fb_utils.coroutine.resume_err(co, true, ...) - end - return fb_utils.coroutine.resume_err(co, ...) - end - return fn -end - ----Puts the current coroutine to sleep for the given number of seconds. ----@async ----@param n number ----@return nil -function fb_utils.coroutine.sleep(n) - mp.add_timeout(n, fb_utils.coroutine.callback()) - coroutine.yield() -end - ----Runs the given function in a coroutine, passing through any additional arguments. ----Does not run the coroutine immediately, instead it queues the coroutine to run when the thread is next idle. ----Returns the coroutine object so that the caller can act on it before it is run. ----@param fn async fun() ----@param ... any ----@return thread -function fb_utils.coroutine.queue(fn, ...) - local co = coroutine.create(fn) - local args = table.pack(...) - mp.add_timeout(0, function() fb_utils.coroutine.resume_err(co, table.unpack(args, 1, args.n)) end) - return co -end - ----Runs the given function in a coroutine, passing through any additional arguments. ----This is for triggering an event in a coroutine. ----@param fn async fun() ----@param ... any -function fb_utils.coroutine.run(fn, ...) - local co = coroutine.create(fn) - fb_utils.coroutine.resume_err(co, ...) -end - ----Get the full path for the current file. ----@param item Item ----@param dir? string ----@return string -function fb_utils.get_full_path(item, dir) - if item.path then return item.path end - return (dir or g.state.directory)..item.name -end - ----Gets the path for a new subdirectory, redirects if the path field is set. ----Returns the new directory path and a boolean specifying if a redirect happened. ----@param item Item ----@param directory string ----@return string new_directory ----@return boolean? redirected `true` if the path was redirected -function fb_utils.get_new_directory(item, directory) - if item.path and item.redirect ~= false then return item.path, true end - if directory == "" then return item.name end - if string.sub(directory, -1) == "/" then return directory..item.name end - return directory.."/"..item.name -end - ----Returns the file extension of the given file, or def if there is none. ----@generic T ----@param filename string ----@param def? T ----@return string|T ----@overload fun(filename: string): string|nil -function fb_utils.get_extension(filename, def) - return string.lower(filename):match("%.([^%./]+)$") or def -end - ----Returns the protocol scheme of the given url, or def if there is none. ----@generic T ----@param filename string ----@param def T ----@return string|T ----@overload fun(filename: string): string|nil -function fb_utils.get_protocol(filename, def) - return string.lower(filename):match("^(%a[%w+-.]*)://") or def -end - ----Formats strings for ass handling. ----This function is based on a similar function from ----https://github.com/mpv-player/mpv/blob/master/player/lua/console.lua#L110. ----@param str string ----@param replace_newline? true|string ----@return string -function fb_utils.ass_escape(str, replace_newline) - if replace_newline == true then replace_newline = "\\\239\187\191n" end - - --escape the invalid single characters - str = string.gsub(str, '[\\{}\n]', { - -- There is no escape for '\' in ASS (I think?) but '\' is used verbatim if - -- it isn't followed by a recognised character, so add a zero-width - -- non-breaking space - ['\\'] = '\\\239\187\191', - ['{'] = '\\{', - ['}'] = '\\}', - -- Precede newlines with a ZWNBSP to prevent ASS's weird collapsing of - -- consecutive newlines - ['\n'] = '\239\187\191\\N', - }) - - -- Turn leading spaces into hard spaces to prevent ASS from stripping them - str = str:gsub('\\N ', '\\N\\h') - str = str:gsub('^ ', '\\h') - - if replace_newline then - str = string.gsub(str, "\\N", replace_newline) - end - return str -end - ----Escape lua pattern characters. ----@param str string ----@return string -function fb_utils.pattern_escape(str) - return (string.gsub(str, "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1")) -end - ----Standardises filepaths across systems. ----@param str string ----@param is_directory? boolean ----@return string -function fb_utils.fix_path(str, is_directory) - if str == '' then return str end - if o.normalise_backslash == 'yes' or (o.normalise_backslash == 'auto' and g.PLATFORM == 'windows') then - str = string.gsub(str, [[\]],[[/]]) - end - str = str:gsub([[/%./]], [[/]]) - if is_directory and str:sub(-1) ~= '/' then str = str..'/' end - return str -end - ----Wrapper for mp.utils.join_path to handle protocols. ----@param working string ----@param relative string ----@return string -function fb_utils.join_path(working, relative) - return fb_utils.get_protocol(relative) and relative or utils.join_path(working, relative) -end - ----Converts the given path into an absolute path and normalises it using fb_utils.fix_path. ----@param path string ----@return string -function fb_utils.absolute_path(path) - local absolute_path = fb_utils.join_path(mp.get_property('working-directory', ''), path) - return fb_utils.fix_path(absolute_path) -end - ----Sorts the table lexicographically ignoring case and accounting for leading/non-leading zeroes. ----The number format functionality was proposed by github user twophyro, and was presumably taken ----from here: http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua. ----@param t List ----@return List -function fb_utils.sort(t) - local function padnum(n, d) - return #d > 0 and ("%03d%s%.12f"):format(#n, n, tonumber(d) / (10 ^ #d)) - or ("%03d%s"):format(#n, n) - end - - --appends the letter d or f to the start of the comparison to sort directories and folders as well - ---@type [string,Item][] - local tuples = {} - for i, f in ipairs(t) do - tuples[i] = {f.type:sub(1, 1) .. (f.label or f.name):lower():gsub("0*(%d+)%.?(%d*)", padnum), f} - end - table.sort(tuples, function(a, b) - -- pretty sure that `#b[2] < #a[2]` does not do anything as they are both Item tables and not strings or arrays - return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] - end) - for i, tuple in ipairs(tuples) do t[i] = tuple[2] end - return t -end - ----@param dir string ----@return boolean -function fb_utils.valid_dir(dir) - if o.filter_dot_dirs == 'yes' or o.filter_dot_dirs == 'auto' and g.PLATFORM ~= 'windows' then - return string.sub(dir, 1, 1) ~= "." - end - return true -end - ----@param file string ----@return boolean -function fb_utils.valid_file(file) - if o.filter_dot_files == 'yes' or o.filter_dot_files == 'auto' and g.PLATFORM ~= 'windows' then - if string.sub(file, 1, 1) == "." then return false end - end - if o.filter_files and not g.extensions[ fb_utils.get_extension(file, "") ] then return false end - return true -end - ----Returns whether or not the item can be parsed. ----@param item Item ----@return boolean -function fb_utils.parseable_item(item) - return item.type == "dir" or g.parseable_extensions[fb_utils.get_extension(item.name, "")] -end - ----Takes a directory string and resolves any directory mappings, ----returning the resolved directory. ----@param path string ----@return string -function fb_utils.resolve_directory_mapping(path) - if not path then return path end - - for mapping, target in pairs(g.directory_mappings) do - local start, finish = string.find(path, mapping) - if start then - msg.debug('mapping', mapping, 'found for', path, 'changing to', target) - - -- if the mapping is an exact match then return the target as is - if finish == #path then return target end - - -- else make sure the path is correctly formatted - target = fb_utils.fix_path(target, true) - return (string.gsub(path, mapping, target)) - end - end - - return path -end - ----Removes items and folders from the list that fail the configured filters. ----@param t List ----@return List -function fb_utils.filter(t) - local max = #t - local top = 1 - for i = 1, max do - local temp = t[i] - t[i] = nil - - if ( temp.type == "dir" and fb_utils.valid_dir(temp.label or temp.name) ) or - ( temp.type == "file" and fb_utils.valid_file(temp.label or temp.name) ) - then - t[top] = temp - top = top+1 - end - end - return t -end - ----Returns a string iterator that uses the root separators. ----@param str any ----@param separators? string Override the root separators. ----@return fun():(string, ...) -function fb_utils.iterate_opt(str, separators) - return string.gmatch(str, "([^"..fb_utils.pattern_escape(separators or o.root_separators).."]+)") -end - ----Sorts a table into an array of selected items in the correct order. ----If a predicate function is passed, then the item will only be added to ----the table if the function returns true. ----@param t Set ----@param include_item? fun(item: Item): boolean ----@return Item[] -function fb_utils.sort_keys(t, include_item) - ---@class Ref - ---@field item Item - ---@field index number - - ---@type Ref[] - local keys = {} - for k in pairs(t) do - local item = g.state.list[k] - if not include_item or include_item(item) then - keys[#keys+1] = { - item = item, - index = k, - } - end - end - - table.sort(keys, function(a,b) return a.index < b.index end) - return fb_utils.list.map(keys, function(ref) return ref.item end) -end - ----Uses a loop to get the length of an array. The `#` operator is undefined if there ----are gaps in the array, this ensures there are none as expected by the mpv node function. ----@param t any[] ----@return integer -local function get_length(t) - local i = 1 - while t[i] do i = i+1 end - return i - 1 -end - ----Recursively removes elements of the table which would cause ----utils.format_json to throw an error. ----@generic T ----@param t T ----@return T -local function json_safe_recursive(t) - if type(t) ~= "table" then return t end - - local array_length = get_length(t) - local isarray = array_length > 0 - - for key, value in pairs(t --[[@as table]]) do - local ktype = type(key) - local vtype = type(value) - - if vtype ~= "userdata" and vtype ~= "function" and vtype ~= "thread" - and (( isarray and ktype == "number" and key <= array_length) - or (not isarray and ktype == "string")) - then - ---@diagnostic disable-next-line no-unknown - t[key] = json_safe_recursive(t[key]) - elseif key then - ---@diagnostic disable-next-line no-unknown - t[key] = nil - if isarray then array_length = get_length(t) end - end - end - return t -end - ----Formats a table into a json string but ensures there are no invalid datatypes inside the table first. ----@param t any ----@return string|nil ----@return string|nil err -function fb_utils.format_json_safe(t) - --operate on a copy of the table to prevent any data loss in the original table - t = json_safe_recursive(fb_utils.copy_table(t)) - local success, result, err = pcall(utils.format_json, t) - if success then return result, err - else return nil, result end -end - ----Evaluates and runs the given string in both Lua 5.1 and 5.2. ----Provides the mpv modules and the fb module to the string. ----@param str string ----@param chunkname? string Used for error reporting. ----@param custom_env? table A custom environment that shadows the default environment. ----@param env_defaults? boolean Load lua defaults in environment, as well as mpv and file-browser modules. Defaults to `true`. ----@return unknown -function fb_utils.evaluate_string(str, chunkname, custom_env, env_defaults) - ---@type table - local env - if env_defaults ~= false then - ---@type table - env = fb_utils.redirect_table(_G) - env.mp = fb_utils.redirect_table(mp) - env.msg = fb_utils.redirect_table(msg) - env.utils = fb_utils.redirect_table(utils) - env.fb = fb_utils.redirect_table(require 'file-browser') - env.input = input_loaded and fb_utils.redirect_table(input) - env.user_input = user_input_loaded and fb_utils.redirect_table(user_input) - env = fb_utils.set_prototype(custom_env or {}, env) - else - env = custom_env or {} - end - - ---@type function, any - local chunk, err - if setfenv then ---@diagnostic disable-line deprecated - chunk, err = loadstring(str, chunkname) ---@diagnostic disable-line deprecated - if chunk then setfenv(chunk, env) end ---@diagnostic disable-line deprecated - else - chunk, err = load(str, chunkname, 't', env) ---@diagnostic disable-line redundant-parameter - end - if not chunk then - msg.warn('failed to load string:', str) - msg.error(err) - chunk = function() return nil end - end - - return chunk() -end - ----Copies a table without leaving any references to the original. ----Uses a structured clone algorithm to maintain cyclic references. ----@generic T ----@param t T ----@param references table ----@param depth number ----@return T -local function copy_table_recursive(t, references, depth) - if type(t) ~= "table" or depth == 0 then return t end - if references[t] then return references[t] end - - local copy = setmetatable({}, { __original = t }) - references[t] = copy - - for key, value in pairs(t --[[@as table]]) do - key = copy_table_recursive(key, references, depth - 1) - copy[key] = copy_table_recursive(value, references, depth - 1) ---@diagnostic disable-line no-unknown - end - return copy -end - ----A wrapper around copy_table to provide the reference table. ----@generic T ----@param t T ----@param depth? number ----@return T -function fb_utils.copy_table(t, depth) - --this is to handle cyclic table references - return copy_table_recursive(t, {}, depth or math.huge) -end - ----@alias Replacer fun(item: Item, s: State): (string|number|nil) ----@alias ReplacerTable table - ----functions to replace custom-keybind codes ----@type ReplacerTable -fb_utils.code_fns = { - ["%"] = function() return "%" end, - - f = function(item, s) return item and fb_utils.get_full_path(item, s.directory) or "" end, - n = function(item, s) return item and (item.label or item.name) or "" end, - i = function(item, s) - local i = fb_utils.list.indexOf(s.list, item) - if #s.list == 0 then return 0 end - return ('%0'..math.ceil(math.log10(#s.list))..'d'):format(i ~= -1 and i or 0) ---@diagnostic disable-line deprecated - end, - j = function (item, s) - return fb_utils.list.indexOf(s.list, item) ~= -1 and math.abs(fb_utils.list.indexOf( fb_utils.sort_keys(s.selection) , item)) or 0 - end, - x = function(_, s) return #s.list or 0 end, - p = function(_, s) return s.directory or "" end, - q = function(_, s) return s.directory == '' and 'ROOT' or s.directory_label or s.directory or "" end, - d = function(_, s) return (s.directory_label or s.directory):match("([^/]+)/?$") or "" end, - r = function(_, s) return s.parser.keybind_name or s.parser.name or "" end, -} - ----Programatically creates a pattern that matches any key code. ----This will result in some duplicates but that shouldn't really matter. ----@param codes ReplacerTable ----@return string -function fb_utils.get_code_pattern(codes) - ---@type string - local CUSTOM_KEYBIND_CODES = "" - for key in pairs(codes) do CUSTOM_KEYBIND_CODES = CUSTOM_KEYBIND_CODES..key:lower()..key:upper() end - for key in pairs((getmetatable(codes) or {}).__index or {} --[[@as ReplacerTable]]) do - ---@type string - CUSTOM_KEYBIND_CODES = CUSTOM_KEYBIND_CODES..key:lower()..key:upper() - end - return('%%%%([%s])'):format(fb_utils.pattern_escape(CUSTOM_KEYBIND_CODES)) -end - ----Substitutes codes in the given string for other substrings. ----@param str string ----@param overrides? ReplacerTable Replacer functions for additional characters to match to after `%` characters. ----@param item? Item Uses the currently selected item if nil. ----@param state? State Uses the global state if nil. ----@param modifier_fn? fun(new_str: string, code: string): string given the replacement substrings before they are placed in the main string ---- (the return value is the new replacement string). ----@return string -function fb_utils.substitute_codes(str, overrides, item, state, modifier_fn) - local replacers = overrides and setmetatable(fb_utils.copy_table(overrides), {__index = fb_utils.code_fns}) or fb_utils.code_fns - item = item or g.state.list[g.state.selected] - state = state or g.state - - return (string.gsub(str, fb_utils.get_code_pattern(replacers), function(code) - ---@type string|number|nil - local result - local replacer = replacers[code] - - if type(replacer) == "string" then - result = replacer - --encapsulates the string if using an uppercase code - elseif not replacer then - local lower_fn = replacers[code:lower()] - if not lower_fn then return end - result = string.format("%q", lower_fn(item, state)) - else - result = replacer(item, state) - end - - if result and modifier_fn then return modifier_fn(tostring(result), code) end - return result - end)) -end - - -return fb_utils \ No newline at end of file diff --git a/scripts/file-browser/screenshots/bunny.png b/scripts/file-browser/screenshots/bunny.png deleted file mode 100644 index 589e5bb4d13829c56b630a6ce8b130d542bc113b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2948047 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 ^I)c`a>%ud8Fet7jOuO)rc0q85Y0lxA!ezVhy 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


d!h}Px!bL3QqLhmLyVsSDmgKnY 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

9(qsCufgdef`B+iY;BZ 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

pT(ECw$T=3J9D zxu3^|t{IBdvAb(TE)y`PQJEgRejBDik!D#CEl#I!4^&Y~^Yq^PpWJ_Re|f$h@9oUa zW?-6%Dl1t|5*XDs>a1ep5|)Lc=w+H9D-Fy<+%?Ak6&d(S1^4PXG0k&73~kFw;}i_n zjhnYk-8edY8aS&obalhpp6tSm@cjVoSj8l8o2znpyg-5;P5=`hriGw1oX)6SP13}) zOtIO7&MUZrERW%hbVqy{D6!q?D4LOFo1Rojg_X|A$Y>-@sL5$qIoQOg zK!xWkT77I{h80w1iUzk;g~^#mDYoxnCAw~Z8Yc}+_{wn>1w(NVjrU7 z{Tl}`C%(J)&b^=9vqC3l*qs| )+CKD~c}It_v@f~TatZdJ85bsL>6L0TwQ(n^>C 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

ja6wd8Lui@vU2ctF@!gGy#83@_-)`~t5Q2V> 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

NW>eKQ-cPOb$(yGy!TOo@ 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

9@7{RiCExCs5yk+l++2t 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%0Ahh#|lHZadh>hqoPmqbDBGH~-a}!%C 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 Pzs+bok9W)em7$ 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

?^CZMx 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%0DhZN&`2S|RIypI*jQtnSziG7#HP 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�Yy0Kq2AAq)_sWkPWI1>D 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≶IW8yPEoR~F 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

    %acJAN=6M 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%0Dw5=;o#kDMO=_3Ot+#|Lo?8_KK*br`)saE(qE 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

    3NQ{ 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

  1. bpT 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 $Qj~>pr>Cd$2 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

    BG%WHc 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

    -T-K?me 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

    P;N2LaNHKuN^wcLvG5fPi7@KQ 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 diff --git a/scripts/fix-avsync.lua b/scripts/fix-avsync.lua deleted file mode 100644 index cdc8d63..0000000 --- a/scripts/fix-avsync.lua +++ /dev/null @@ -1,25 +0,0 @@ ---[[ - Fixed A/V sync when switching the audio output device with using audio filters - available at: https://github.com/dyphire/mpv-scripts -]]-- - -local msg = require "mp.msg" - -local function fix_avsync() - local paused = mp.get_property_bool("pause") - msg.info("fix A/V sync.") - mp.commandv("frame-back-step") - if paused then - return - else - mp.set_property_bool("pause", false) - end -end - -mp.observe_property("current-ao", "native", function(_, device) - local aid = mp.get_property_number("aid") - local has_af = mp.get_property("af", "") ~= "" - if device and aid and has_af then - fix_avsync() - end -end) \ No newline at end of file diff --git a/scripts/hdr-mode.lua b/scripts/hdr-mode.lua deleted file mode 100644 index 54c3795..0000000 --- a/scripts/hdr-mode.lua +++ /dev/null @@ -1,307 +0,0 @@ --- Copyright (c) 2025 dyphire --- License: MIT --- link: https://github.com/dyphire/mpv-scripts --- Automatically switches the display's SDR and HDR modes for HDR passthrough --- based on the content of the video being played by the mpv, only works on Windows 10 and later systems - ---! Required for use with mpv-display-plugin: https://github.com/dyphire/mpv-display-plugin - -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local options = require 'mp.options' - -local o = { - -- Specify the script working mode, value: noth, pass, switch. default: noth - -- noth: Do nothing - -- pass: Passing HDR signals for HDR content when the monitor is in HDR mode - -- switch: Automatically switch between HDR displays and SDR displays - -- on Windows 10 and later based on video specifications - hdr_mode = "noth", - -- Specify whether to switch HDR mode only when the window is in fullscreen or window maximized - -- only works with hdr_mode = "switch", default: false - fullscreen_only = false, - -- Specify the target peak of the HDR display, default: 203 - -- must be the true peak brightness of the monitor, - -- otherwise it will cause HDR content to display incorrectly - target_peak = "203", - -- Specifies the measured contrast of the output display. - -- Used in black point compensation during HDR tone-mapping and HDR passthrough. - -- Must be the true contrast information of the display, e.g. 100000 means 100000:1 maximum contrast - -- OLED display do not need to change this, default: auto - target_contrast = "auto", -} -options.read_options(o, _, function() end) - -local hdr_active = false -local hdr_supported = false -local first_switch_check = true -local file_loaded = false - -local state = { - icc_profile = mp.get_property_native("icc-profile"), - icc_profile_auto = mp.get_property_native("icc-profile-auto"), - target_peak = mp.get_property_native("target-peak"), - target_prim = mp.get_property_native("target-prim"), - target_trc = mp.get_property_native("target-trc"), - target_contrast = mp.get_property_native("target_contrast"), - colorspace_hint = mp.get_property_native("target-colorspace-hint"), - inverse_mapping = mp.get_property_native("inverse-tone-mapping") -} - -local function query_hdr_state() - hdr_supported = mp.get_property_native("user-data/display-info/hdr-supported") - hdr_active = mp.get_property_native("user-data/display-info/hdr-status") == "on" -end - -local function switch_display_mode(enable) - if enable == hdr_active then return end - local arg = enable and "on" or "off" - mp.commandv('script-message', 'toggle-hdr-display', arg) -end - -local function apply_hdr_settings() - mp.set_property_native("icc-profile", "") - mp.set_property_native("icc-profile-auto", false) - mp.set_property_native("target-prim", "bt.2020") - mp.set_property_native("target-trc", "pq") - mp.set_property_native("target-peak", o.target_peak) - mp.set_property_native("target-contrast", o.target_contrast) - mp.set_property_native("target-colorspace-hint", "yes") - mp.set_property_native("inverse-tone-mapping", "no") -end - -local function apply_sdr_settings() - mp.set_property_native("icc-profile", state.icc_profile) - mp.set_property_native("icc-profile-auto", state.icc_profile_auto) - mp.set_property_native("target-peak", "203") - mp.set_property_native("target-contrast", state.target_contrast) - mp.set_property_native("target-colorspace-hint", "no") - if state.target_prim ~= "bt.2020" then - mp.set_property_native("target-prim", state.target_prim) - else - mp.set_property_native("target-prim", "auto") - end - if state.target_trc ~= "pq" then - mp.set_property_native("target-trc", state.target_trc) - else - mp.set_property_native("target-trc", "auto") - end -end - -local function reset_target_settings() - mp.set_property_native("target-peak", state.target_peak) - mp.set_property_native("target-prim", state.target_prim) - mp.set_property_native("target-trc", state.target_trc) - mp.set_property_native("target-contrast", state.target_contrast) - mp.set_property_native("target-colorspace-hint", state.colorspace_hint) - mp.set_property_native("inverse-tone-mapping", state.inverse_mapping) -end - -local function pause_if_needed() - local paused = mp.get_property_native("pause") - if not paused then - mp.set_property_native("pause", true) - return true - end - return false -end - -local function resume_if_needed(paused_before) - if paused_before then - mp.add_timeout(1, function() - mp.set_property_native("pause", false) - end) - end -end - -local function handle_hdr_logic(paused_before, target_peak, target_prim, target_trc) - query_hdr_state() - if hdr_active and o.hdr_mode ~= "noth" then - apply_hdr_settings() - resume_if_needed(paused_before) - elseif not hdr_active and o.hdr_mode ~= "noth" and - (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then - apply_sdr_settings() - end -end - -local function handle_sdr_logic(paused_before, target_peak, target_prim, target_trc) - query_hdr_state() - if not hdr_active or o.hdr_mode ~= "noth" then - if (not hdr_active or not state.inverse_mapping) and - (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then - apply_sdr_settings() - elseif hdr_active and state.inverse_mapping then - reset_target_settings() - end - resume_if_needed(paused_before) - end - if hdr_active and o.hdr_mode == "pass" and state.inverse_mapping then - reset_target_settings() - end -end - -local function should_switch_hdr(hdr_active, is_fullscreen) - if o.hdr_mode ~= "switch" then return false end - if not hdr_active and (not o.fullscreen_only or is_fullscreen) then - return true - elseif hdr_active and o.fullscreen_only and not is_fullscreen then - return true - end - return false -end - -local function switch_hdr() - query_hdr_state() - local params = mp.get_property_native("video-params") - local gamma = params and params["gamma"] - local max_luma = params and params["max-luma"] - local is_hdr = max_luma and max_luma > 203 - if not gamma then return end - - local current_state = is_hdr and "hdr" or "sdr" - local pause_changed = false - local fullscreen = mp.get_property_native("fullscreen") - local maximized = mp.get_property_native("window-maximized") - local target_peak = mp.get_property_native("target-peak") - local target_prim = mp.get_property_native("target-prim") - local target_trc = mp.get_property_native("target-trc") - local is_fullscreen = fullscreen or maximized - - if current_state == "hdr" then - local function continue_hdr() - handle_hdr_logic(pause_changed, target_peak, target_prim, target_trc) - end - - if first_switch_check and o.fullscreen_only and not is_fullscreen then - first_switch_check = false - elseif should_switch_hdr(hdr_active, is_fullscreen) then - pause_changed = pause_if_needed() - if hdr_active and o.fullscreen_only and not is_fullscreen then - msg.info("Switching to SDR output...") - switch_display_mode(false) - else - msg.info("Switching to HDR output...") - switch_display_mode(true) - end - mp.add_timeout(3, continue_hdr) - return - end - - handle_hdr_logic(false, target_peak, target_prim, target_trc) - - elseif current_state == "sdr" then - local function continue_sdr() - handle_sdr_logic(pause_changed, target_peak, target_prim, target_trc) - end - - if hdr_active and o.hdr_mode == "switch" and (not o.fullscreen_only or is_fullscreen) then - msg.info("Switching back to SDR output...") - pause_changed = pause_if_needed() - switch_display_mode(false) - mp.add_timeout(3, continue_sdr) - return - end - - handle_sdr_logic(false, target_peak, target_prim, target_trc) - end -end - -local function check_paramet() - query_hdr_state() - local target_peak = mp.get_property_native("target-peak") - local target_prim = mp.get_property_native("target-prim") - local target_trc = mp.get_property_native("target-trc") - local target_contrast = mp.get_property_native("target-contrast") - local colorspace_hint = mp.get_property_native("target-colorspace-hint") - local inverse_mapping = mp.get_property_native("inverse-tone-mapping") - local params = mp.get_property_native("video-params") - local gamma = params and params["gamma"] - local max_luma = params and params["max-luma"] - local is_hdr = max_luma and max_luma > 203 - if not gamma then return end - - if is_hdr and hdr_active and o.hdr_mode ~= "noth" then - if target_peak ~= o.target_peak then - mp.set_property_native("target-peak", o.target_peak) - end - if target_contrast ~= o.target_contrast then - mp.set_property_native("target-contrast", o.target_contrast) - end - if target_prim ~= "bt.2020" then - mp.set_property_native("target-prim", "bt.2020") - end - if target_trc ~= "pq" then - mp.set_property_native("target-trc", "pq") - end - if colorspace_hint ~= "yes" then - mp.set_property_native("target-colorspace-hint", "yes") - end - if inverse_mapping then - mp.set_property_native("inverse-tone-mapping", "no") - end - end - if not is_hdr and o.hdr_mode ~= "noth" and not state.inverse_mapping - and (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then - apply_sdr_settings() - end -end - -local function on_start() - if o.hdr_mode == "noth" or tonumber(o.target_peak) <= 203 then - return - end - local vo = mp.get_property("vo") - if vo and vo ~= "gpu-next" then - msg.warn("The current video output is not supported, please use gpu-next") - return - end - file_loaded = true - query_hdr_state() - mp.observe_property("video-params", "native", switch_hdr) - mp.observe_property("target-peak", "native", check_paramet) - mp.observe_property("target-prim", "native", check_paramet) - mp.observe_property("target-trc", "native", check_paramet) - mp.observe_property("target-contrast", "native", check_paramet) - mp.observe_property("target-colorspace-hint", "native", check_paramet) - mp.observe_property("user-data/display-info/hdr-status", "native", switch_hdr) - if o.fullscreen_only then - mp.observe_property("fullscreen", "native", switch_hdr) - mp.observe_property("window-maximized", "native", switch_hdr) - end -end - -local function on_end(event) - query_hdr_state() - first_switch_check = true - mp.unobserve_property(switch_hdr) - mp.unobserve_property(check_paramet) - if event["reason"] == "quit" and o.hdr_mode == "switch" then - if hdr_active then - msg.info("Restoring display to SDR on shutdown") - switch_display_mode(false) - end - end -end - -local function on_idle(_, active) - local target_peak = mp.get_property_native("target-peak") - local target_prim = mp.get_property_native("target-prim") - local target_trc = mp.get_property_native("target-trc") - if active and o.hdr_mode ~= "noth" and - (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then - apply_sdr_settings() - end - if active and file_loaded and o.hdr_mode == "switch" then - file_loaded = false - query_hdr_state() - if hdr_active then - msg.info("Restoring display to SDR on shutdown") - switch_display_mode(false) - end - end -end - -mp.register_event("start-file", on_start) -mp.register_event("end-file", on_end) -mp.observe_property("idle-active", "native", on_idle) \ No newline at end of file diff --git a/scripts/history-bookmark.lua b/scripts/history-bookmark.lua deleted file mode 100644 index a466b8e..0000000 --- a/scripts/history-bookmark.lua +++ /dev/null @@ -1,602 +0,0 @@ ---lite version of the code written by sorayuki ---only keep the function to record the histroy and recover it - -local mp = require 'mp' -local utils = require 'mp.utils' -local options = require 'mp.options' -local msg = require 'mp.msg' -- this is for debugging - -local o = { - enabled = true, - -- eng=English, chs=Chinese Simplified - language = 'eng', - timeout = 15, - save_period = 30, - -- Set '/:dir%mpvconf%/historybookmarks' to use mpv config directory - -- OR change to '/:dir%script%/historybookmarks' for placing it in the same directory of script - -- OR change to '~~/historybookmarks' for sub path of mpv portable_config directory - -- OR write any variable using '/:var', such as: '/:var%APPDATA%/mpv/historybookmarks' or '/:var%HOME%/mpv/historybookmarks' - -- OR specify the absolute path - history_dir = "/:dir%mpvconf%/historybookmarks", - -- specifies the extension of the history-bookmark file - bookmark_ext = ".mpv.history", - -- use hash to bookmark_name - hash = true, - -- set false to get playlist from directory - use_playlist = true, - -- specifies a whitelist of files to find in a directory - whitelist = "3gp,amr,amv,asf,avi,avi,bdmv,f4v,flv,m2ts,m4v,mkv,mov,mp4,mpeg,mpg,ogv,rm,rmvb,ts,vob,webm,wmv", - -- excluded directories for shared, #windows: ["X:", "Z:", "F:/Download/", "Download"] - excluded_dir = [[ - [] - ]], - included_dir = [[ - [] - ]] -} -options.read_options(o, _, function() end) - -o.excluded_dir = utils.parse_json(o.excluded_dir) -o.included_dir = utils.parse_json(o.included_dir) - -local file_loaded = false - -local locals = { - ['eng'] = { - msg1 = 'Resume successfully', - msg2 = 'Resume the last played file in current directory', - msg3 = 'Press 1 to confirm, 0 to cancel', - }, - ['chs'] = { - msg1 = '成功恢复上次播放', - msg2 = '是否恢复当前目录的上次播放文件', - msg3 = '按1确认,按0取消', - } -} - --- apply lang opts -local texts = locals[o.language] - --- `pl` stands for playlist -local path = nil -local dir = nil -local fname = nil -local pl_count = 0 -local pl_name = nil -local pl_path = nil -local pl_list = {} -local pl_idx = 1 -local current_idx = 1 -local bookmark_path = nil -local history_dir = nil -local normalize_path = nil - -local wait_msg -local on_key = false - -if o.history_dir:find('^/:dir%%mpvconf%%') then - history_dir = o.history_dir:gsub('/:dir%%mpvconf%%', mp.find_config_file('.')) -elseif o.history_dir:find('^/:dir%%script%%') then - history_dir = o.history_dir:gsub('/:dir%%script%%', mp.find_config_file('scripts')) -elseif o.history_dir:find('/:var%%(.*)%%') then - local os_variable = o.history_dir:match('/:var%%(.*)%%') - history_dir = o.history_dir:gsub('/:var%%(.*)%%', os.getenv(os_variable)) -else - history_dir = mp.command_native({ "expand-path", o.history_dir }) -- Expands both ~ and ~~ -end - -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, detect path separator, windows uses backslashes ---create history_dir if it doesn't exist -if history_dir ~= '' then - local meta = utils.file_info(history_dir) - if not meta or not meta.is_dir then - local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", history_dir) } - local unix_args = { 'mkdir', '-p', history_dir } - local args = is_windows and windows_args or unix_args - local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) - if res.status ~= 0 then - msg.error("Failed to create history_dir save directory " .. history_dir .. - ". Error: " .. (res.error or "unknown")) - return - end - end -end - -local function split(input) - local ret = {} - for str in string.gmatch(input, "([^,]+)") do - ret[#ret + 1] = str - end - return ret -end - -local ext_whitelist = split(o.whitelist) - -local function exclude(extension) - if #ext_whitelist > 0 then - for _, ext in pairs(ext_whitelist) do - if extension == ext then - return true - end - end - else - return - end -end - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -local function need_ignore(tab, val) - for _, element in pairs(tab) do - if string.find(val, element) then - return true - end - end - return false -end - -local function tablelength(tab) - local count = 0 - for _, _ in pairs(tab) do - count = count + 1 - end - return count -end - -local message_overlay = mp.create_osd_overlay('ass-events') -local message_timer = mp.add_timeout(1, function () - message_overlay:remove() -end, true) - -function show_message(text, time) - message_timer:kill() - message_timer.timeout = time or 1 - message_overlay.data = text - message_overlay:update() - message_timer:resume() -end - -local function normalize(path) - if normalize_path ~= nil then - if normalize_path then - path = mp.command_native({"normalize-path", path}) - else - local directory = mp.get_property("working-directory", "") - path = utils.join_path(directory, path:gsub('^%.[\\/]','')) - if is_windows then path = path:gsub("\\", "/") end - end - return path - end - - normalize_path = false - - local commands = mp.get_property_native("command-list", {}) - for _, command in ipairs(commands) do - if command.name == "normalize-path" then - normalize_path = true - break - end - end - return normalize(path) -end - -function refresh_globals() - path = mp.get_property("path") - fname = mp.get_property("filename") - pl_count = mp.get_property_number('playlist-count', 0) - if path and not is_protocol(path) then - path = normalize(path) - dir = utils.split_path(path) - else - dir = nil - end -end - --- for unix use only --- returns a table of command path and varargs, or nil if command was not found -local function command_exists(command, ...) - msg.debug("looking for command:", command) - -- msg.debug("args:", ) - local process = mp.command_native({ - name = "subprocess", - capture_stdout = true, - capture_stderr = true, - playback_only = false, - args = {"sh", "-c", "command -v -- " .. command} - }) - - if process.status == 0 then - local command_path = process.stdout:gsub("\n", "") - msg.debug("command found:", command_path) - return {command_path, ...} - else - msg.debug("command not found:", command) - return nil - end -end - --- returns md5 hash of the full path of the current media file -local function hash(path) - if path == nil then - msg.debug("something is wrong with the path, can't get full_path, can't hash it") - return - end - - msg.debug("hashing:", path) - - local cmd = { - name = 'subprocess', - capture_stdout = true, - playback_only = false, - } - - local args = nil - local is_unix = package.config:sub(1,1) == "/" - if is_unix then - local md5 = command_exists("md5sum") or command_exists("md5") or command_exists("openssl", "md5 | cut -d ' ' -f 2") - if md5 == nil then - msg.warn("no md5 command found, can't generate hash") - return - end - md5 = table.concat(md5, " ") - cmd["stdin_data"] = path - args = {"sh", "-c", md5 .. " | cut -d ' ' -f 1 | tr '[:lower:]' '[:upper:]'" } - else --windows - -- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.3 - local hash_command = [[ - $s = [System.IO.MemoryStream]::new(); - $w = [System.IO.StreamWriter]::new($s); - $w.write(']] .. path .. [['); - $w.Flush(); - $s.Position = 0; - Get-FileHash -Algorithm MD5 -InputStream $s | Select-Object -ExpandProperty Hash - ]] - - args = {"powershell", "-NoProfile", "-Command", hash_command} - end - cmd["args"] = args - msg.debug("hash cmd:", utils.to_string(cmd)) - local process = mp.command_native(cmd) - - if process.status == 0 then - local hash = process.stdout:gsub("%s+", "") - msg.debug("hash:", hash) - return hash - else - msg.warn("hash function failed") - return - end -end - -local function get_bookmark_path(dir) - local fpath = string.sub(dir, 1, -2) - local _, name = utils.split_path(fpath) - local history_name = nil - if o.hash then - history_name = hash(dir) - if history_name == nil then - msg.warn("hash function failed, fallback to dirname") - history_name = name - end - else - history_name = name - end - local bookmark_name = history_name .. o.bookmark_ext - bookmark_path = utils.join_path(history_dir, bookmark_name) - if is_windows then bookmark_path = bookmark_path:gsub("\\", "/") end -end - -local function file_exist(path) - local meta = utils.file_info(path) - if not meta or not meta.is_file then - return false - end - return true -end - --- get the content of the bookmark --- Arg: bookmark_file (path) --- Return: nil / content of the bookmark -local function get_record(bookmark_path) - local file = io.open(bookmark_path, 'r') - local record = file:read() - if record == nil then - msg.verbose('No history record is found in the bookmark file.') - return nil - end - msg.verbose('last play: ' .. record) - file:close() - return record -end - ------ winapi start ----- --- in windows system, we can use the sorting function provided by the win32 API --- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw --- this function was taken from https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 -local winapi = {} -local is_windows = mp.get_property_native("platform") == "windows" - -if is_windows then - -- is_ffi_loaded is false usually means the mpv builds without luajit - local is_ffi_loaded, ffi = pcall(require, "ffi") - - if is_ffi_loaded then - winapi = { - ffi = ffi, - C = ffi.C, - CP_UTF8 = 65001, - shlwapi = ffi.load("shlwapi"), - } - - -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 - ffi.cdef[[ - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, - int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); - ]] - - winapi.utf8_to_wide = function(utf8_str) - if utf8_str then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) - - if utf16_len > 0 then - local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) - - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - - return "" - end - end -end ------ winapi end ----- - -local function alphanumsort_windows(filenames) - table.sort(filenames, function(a, b) - local a_wide = winapi.utf8_to_wide(a) - local b_wide = winapi.utf8_to_wide(b) - return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 - end) - - return filenames -end - --- alphanum sorting for humans in Lua --- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua -local function alphanumsort_lua(filenames) - local function padnum(n, d) - return #d > 0 and ("%03d%s%.12f"):format(#n, n, tonumber(d) / (10 ^ #d)) - or ("%03d%s"):format(#n, n) - end - - local tuples = {} - for i, f in ipairs(filenames) do - tuples[i] = {f:lower():gsub("0*(%d+)%.?(%d*)", padnum), f} - end - table.sort(tuples, function(a, b) - return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] - end) - for i, tuple in ipairs(tuples) do filenames[i] = tuple[2] end - return filenames -end - -local function alphanumsort(filenames) - local is_ffi_loaded = pcall(require, "ffi") - if is_windows and is_ffi_loaded then - alphanumsort_windows(filenames) - else - alphanumsort_lua(filenames) - end -end - -local function create_playlist(dir) - local pl_list = {} - local file_list = utils.readdir(dir, 'files') - for i = 1, #file_list do - local file = file_list[i] - local ext = file:match('%.([^./]+)$') - if ext and exclude(ext:lower()) then - table.insert(pl_list, file) - msg.verbose("Adding " .. file) - end - end - alphanumsort(pl_list) - return pl_list -end - -local function get_playlist() - local pl_list = {} - local playlist = mp.get_property_native("playlist") - for i = 0, #playlist - 1 do - local filename = mp.get_property("playlist/" .. i .. "/filename") - local _, file = utils.split_path(filename) - table.insert(pl_list, file) - end - return pl_list -end - --- get the index of the wanted file playlist --- if there is no playlist, return nil -local function get_playlist_idx(dst_file) - if dst_file == nil or dst_file == " " then - return nil - end - - local idx = nil - for i = 1, #pl_list do - if (dst_file == pl_list[i]) then - idx = i - return idx - end - end - return idx -end - -local function jump_resume() - mp.unregister_event(jump_resume) - show_message(texts.msg1, 2) -end - -local function unbind_key() - msg.verbose('Unbinding keys') - wait_jump_timer:kill() - mp.remove_key_binding('key_jump') - mp.remove_key_binding('key_cancel') -end - -local function key_jump() - on_key = true - wait_jump_timer:kill() - unbind_key() - current_idx = pl_idx - mp.register_event('file-loaded', jump_resume) - msg.verbose('Jumping to ' .. pl_path) - mp.commandv('loadfile', pl_path) -end - -local function key_cancel() - on_key = true - wait_jump_timer:kill() - unbind_key() -end - -local function bind_key() - mp.add_forced_key_binding('1', 'key_jump', key_jump) - mp.add_forced_key_binding('0', 'key_cancel', key_cancel) -end - --- creat a .history file -local function record_history() - if not o.enabled or not file_loaded then return end - refresh_globals() - if not path or is_protocol(path) then return end - get_bookmark_path(dir) - local eof = mp.get_property_bool("eof-reached") - local percent_pos = mp.get_property_number("percent-pos", 0) - if not eof and percent_pos < 90 then - if fname ~= nil then - local file = io.open(bookmark_path, "w") - file:write(fname .. "\n") - file:close() - end - else - local file = io.open(bookmark_path, "w") - file:write(" " .. "\n") - file:close() - end -end - -local timeout = o.timeout -local function wait_jumping() - timeout = timeout - 1 - if timeout > 0 then - if not on_key then - local msg = string.format("%s -- %s? (%s) %02d", wait_msg, texts.msg2, texts.msg3, timeout) - show_message(msg, 1) - bind_key() - else - timeout = 0 - wait_jump_timer:kill() - unbind_key() - end - else - wait_jump_timer:kill() - unbind_key() - end -end - --- record the file name when video is paused --- and stop the timer -local function pause(_, paused) - if paused then - timer4saving_history:stop() - record_history() - else - timer4saving_history:resume() - end -end - --- main function of the file -local function record() - if not o.enabled then return end - refresh_globals() - if pl_count and pl_count < 1 then return end - if not path or is_protocol(path) or not file_exist(path) then return end - if not dir or not fname then return end - get_bookmark_path(dir) - included_dir_count = tablelength(o.included_dir) - if included_dir_count > 0 then - if not need_ignore(o.included_dir, dir) then return end - end - if need_ignore(o.excluded_dir, dir) then return end - - msg.verbose('folder -- ' .. dir) - msg.verbose('playing -- ' .. fname) - msg.verbose('bookmark path -- ' .. bookmark_path) - - if (not file_exist(bookmark_path)) then - pl_name = nil - return - else - pl_name = get_record(bookmark_path) - if pl_name then - pl_path = utils.join_path(dir, pl_name) - else - pl_name = fname - pl_path = path - end - end - - if o.use_playlist or pl_count > 1 then - pl_list = get_playlist() - else - pl_list = create_playlist(dir) - end - - pl_idx = get_playlist_idx(pl_name) - if (pl_idx == nil) then - msg.verbose('Playlist not found. Creating a new one...') - else - msg.verbose('playlist index --' .. pl_idx) - end - - current_idx = get_playlist_idx(fname) - if current_idx then msg.verbose('current index -- ' .. current_idx) end - - if current_idx and (pl_idx == nil) then - pl_idx = current_idx - pl_name = fname - pl_path = path - elseif current_idx and (pl_idx ~= current_idx) then - wait_msg = pl_idx - msg.verbose('Last watched episode -- ' .. wait_msg) - wait_jump_timer = mp.add_periodic_timer(1, wait_jumping) - end - timer4saving_history = mp.add_periodic_timer(o.save_period, record_history) - mp.observe_property("pause", "bool", pause) -end - -mp.register_event('file-loaded', function() - file_loaded = true - local path = mp.get_property("path") - if not is_protocol(path) then - path = normalize(path) - directory = utils.split_path(path) - else - directory = nil - end - if directory ~= nil and directory ~= dir then - mp.add_timeout(0.5, record) - end -end) - -mp.add_hook("on_unload", 50, function() - mp.unobserve_property(pause) - record_history() - file_loaded = false -end) \ No newline at end of file diff --git a/scripts/inputevent.lua b/scripts/inputevent.lua deleted file mode 100644 index ef38aad..0000000 --- a/scripts/inputevent.lua +++ /dev/null @@ -1,600 +0,0 @@ --- InputEvent --- https://github.com/Natural-Harmonia-Gropius/InputEvent - -local utils = require("mp.utils") -local opt = require("mp.options") -local msg = require("mp.msg") -local next = next - -local watched_properties = {} -- indexed by property name (used as a set) -local cached_properties = {} -- property name -> last known raw value -local o = { - --enable external config - enable_external_config = false, - - --external config file path - external_config = "~~/script-opts/inputevent_key.conf", - prefix = "event", -} - -opt.read_options(o, _, function() end) - -local bind_map = {} - -local event_pattern = { - { to = "penta_click", from = "down,up,down,up,down,up,down,up,down,up", length = 10 }, - { to = "quatra_click", from = "down,up,down,up,down,up,down,up", length = 8 }, - { to = "triple_click", from = "down,up,down,up,down,up", length = 6 }, - { to = "double_click", from = "down,up,down,up", length = 4 }, - { to = "click", from = "down,up", length = 2 }, - { to = "press", from = "down", length = 1 }, - { to = "release", from = "up", length = 1 }, -} - -local supported_events = { - ["repeat"] = true -} -for _, value in ipairs(event_pattern) do - supported_events[value.to] = true -end - --- https://mpv.io/manual/master/#input-command-prefixes -local prefixes = { "osd-auto", "no-osd", "osd-bar", "osd-msg", "osd-msg-bar", "raw", "expand-properties", - "repeatable", "nonrepeatable", "async", "sync" } - --- https://mpv.io/manual/master/#list-of-input-commands -local commands = { "set", "cycle", "add", "multiply" } - -function table:isEmpty() - if next(self) == nil then - return true - else - return false - end -end - -function table:push(element) - self[#self + 1] = element - return self -end - -function table:assign(source) - for key, value in pairs(source) do - self[key] = value - end - return self -end - -function table:has(element) - for _, value in ipairs(self) do - if value == element then - return true - end - end - return false -end - -function table:filter(filter) - local nt = {} - for index, value in ipairs(self) do - if (filter(index, value)) then - nt = table.push(nt, value) - end - end - return nt -end - -function table:join(separator) - local result = "" - for i, v in ipairs(self) do - local value = type(v) == "string" and v or tostring(v) - local semi = i == #self and "" or separator - result = result .. value .. semi - end - return result -end - -function string:trim() - return (self:gsub("^%s*(.-)%s*$", "%1")) -end - -function string:replace(pattern, replacement) - local result, n = self:gsub(pattern, replacement) - return result -end - -function string:split(separator) - local fields = {} - local separator = separator or ":" - local pattern = string.format("([^%s]+)", separator) - local copy = self:gsub(pattern, function(c) fields[#fields + 1] = c end) - return fields -end - -local function debounce(func, wait) - func = type(func) == "function" and func or function() end - wait = type(wait) == "number" and wait / 1000 or 0 - - local timer = nil - local timer_end = function() - if timer then - timer:kill() - timer = nil - end - func() - end - - return function() - if timer then - timer:kill() - end - timer = mp.add_timeout(wait, timer_end) - end -end - -local function now() - return mp.get_time() * 1000 -end - -local function command(command) - if not command or command == '' then return true end - return mp.command(command) -end - -local function command_split(command) - local separator = { ";" } - local escape = { "\\" } - local quotation = { '"', "'" } - local quotation_stack = {} - local result = {} - local temp = "" - - for i = 1, #command do - local char = command:sub(i, i) - - if table.has(separator, char) and #quotation_stack == 0 then - result = table.push(result, temp) - temp = "" - elseif table.has(quotation, char) and not table.has(escape, temp:sub(#temp, #temp)) then - temp = temp .. char - if quotation_stack[#quotation_stack] == char then - quotation_stack = table.filter(quotation_stack, function(i, v) return i ~= #quotation_stack end) - else - quotation_stack = table.push(quotation_stack, char) - end - else - temp = temp .. char - end - end - - if #temp then - result = table.push(result, temp) - end - - return result -end - -local function command_invert(command) - local invert = "" - local command_list = command_split(command) - for i, v in ipairs(command_list) do - local trimed = v:trim() - local subs = trimed:split("%s*") - local prefix, command, property = "", nil, nil - for _, s in ipairs(subs) do - local sub = s:trim() - if not command and table.has(prefixes, sub) then - prefix = prefix .. " " .. sub - elseif not command then - if table.has(commands, sub) then - command = sub - else - msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") - break - end - elseif command and not property then - property = sub - break - end - end - - repeat -- workaround continue - if not command or not property then - msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") - break - end - - local value = mp.get_property(property) - if value then - local semi = i == #command_list and "" or ";" - invert = invert .. prefix:trim() .. " set " .. property .. " " .. value .. semi - else - msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") - end - until true - end - msg.verbose("command_invert:" .. invert) - return invert -end - --- https://github.com/mpv-player/mpv/blob/master/player/lua/auto_profiles.lua -local function on_property_change(name, val) - cached_properties[name] = val -end - -local function magic_get(name) - -- Lua identifiers can't contain "-", so in order to match with mpv - -- property conventions, replace "_" to "-" - name = string.gsub(name, "_", "-") - if not watched_properties[name] then - watched_properties[name] = true - local res, err = mp.get_property_native(name) - if err == "property not found" then - msg.error("Property '" .. name .. "' was not found.") - return default - end - cached_properties[name] = res - mp.observe_property(name, "native", on_property_change) - end - return cached_properties[name] -end - -local evil_magic = {} -setmetatable(evil_magic, { - __index = function(table, key) - -- interpret everything as property, unless it already exists as - -- a non-nil global value - local v = _G[key] - if type(v) ~= "nil" then - return v - end - return magic_get(key) - end, -}) - -p = {} -setmetatable(p, { - __index = function(table, key) - return magic_get(key) - end, -}) - -local function compile_cond(name, s) - local code, chunkname = "return " .. s, "Event " .. name .. " condition" - local chunk, err - if setfenv then -- lua 5.1 - chunk, err = loadstring(code, chunkname) - if chunk then - setfenv(chunk, evil_magic) - end - else -- lua 5.2 - chunk, err = load(code, chunkname, "t", evil_magic) - end - if not chunk then - msg.error("Event '" .. name .. "' condition: " .. err) - chunk = function() return false end - end - return chunk -end - -local InputEvent = {} - -function InputEvent:new(key, on) - local Instance = {} - setmetatable(Instance, self); - self.__index = self; - - Instance.key = key - Instance.on = table.assign({ click = {} }, on) -- event -> actions {cmd="",cond=function} - Instance.queue = {} - Instance.queue_max = { length = 0 } - Instance.duration = mp.get_property_number("input-doubleclick-time", 300) - Instance.ignored = {} - - for _, event in ipairs(event_pattern) do - if Instance.on[event.to] and event.length > 1 then - Instance.queue_max = { event = event.to, length = event.length } - break - end - end - - return Instance -end - -function InputEvent:evaluate(event) - msg.verbose("Evaluating event: " .. event) - local seleted = nil - local actions = self.on[event] - if not actions or table.isEmpty(actions) then return end - for _, action in ipairs(actions) do - msg.verbose("Evaluating comand: " .. action.cmd) - if type(action.cond) ~= "function" then - seleted = action.cmd - break - else - local status, res = pcall(action.cond) - if not status then - -- errors can be "normal", e.g. in case properties are unavailable - msg.verbose("Action condition error on evaluating: " .. res) - res = false - end - res = not not res - if res then - seleted = action.cmd - break - end - end - end - - return seleted -end - -local function cmd_filter(i,v) return (v.cmd ~= nil and v.cmd ~= "ignore") end - -function InputEvent:emit(event) - if self.ignored[event] then - if now() - self.ignored[event] < self.duration then - return - end - - self.ignored[event] = nil - end - - if event == "release" and ( - self.on["release"] == nil or - table.isEmpty(self.on["release"]) or - table.isEmpty( table.filter(self.on["release"], cmd_filter) ) - ) - then - event = "release-auto" - end - - if event == "repeat" and self.on[event] == "ignore" then - event = "click" - end - - local cmd = self:evaluate(event) - if not cmd or cmd == "" then - return - end - - if event == "press" and ( - self.on["release"] == nil or - table.isEmpty(self.on["release"]) or - table.isEmpty( table.filter(self.on["release"], cmd_filter) ) - ) - then - self.on["release-auto"] = {{cmd = command_invert(cmd), cond = nil}} - end - - local expand = mp.command_native({'expand-text', cmd}) - if #command_split(cmd) == #command_split(expand) then - cmd = mp.command_native({'expand-text', cmd}) - else - mp.msg.warn("Unsafe property-expansion detected.") - end - - msg.verbose("Apply comand: " .. cmd) - command(cmd) -end - -function InputEvent:handler(event) - if event == "press" then - self:handler("down") - self:handler("up") - return - end - - if event == "down" then - self:ignore("repeat") - end - - if event == "repeat" then - self:emit(event) - return - end - - if event == "up" then - if #self.queue == 0 then - self:emit("release") - return - end - - if #self.queue + 1 == self.queue_max.length then - self.queue = {} - self:emit(self.queue_max.event) - return - end - end - - if event == "cancel" then - if #self.queue == 0 then - self:emit("release") - return - end - - table.remove(self.queue) - return - end - - self.queue = table.push(self.queue, event) - self.exec_debounced() -end - -function InputEvent:exec() - if #self.queue == 0 then - return - end - - local separator = "," - - local queue_string = table.join(self.queue, separator) - for _, v in ipairs(event_pattern) do - if self.on[v.to] then - queue_string = queue_string:replace(v.from, v.to) - end - end - - self.queue = queue_string:split(separator) - for _, event in ipairs(self.queue) do - self:emit(event) - end - - self.queue = {} -end - -function InputEvent:ignore(event, timeout) - timeout = timeout or 0 - - self.ignored[event] = now() + timeout -end - -function InputEvent:bind() - self.exec_debounced = debounce(function() self:exec() end, self.duration) - mp.add_forced_key_binding(self.key, self.key, function(e) - local event = e.canceled and "cancel" or e.event - self:handler(event) - end, { complex = true }) -end - -function InputEvent:unbind() - mp.remove_key_binding(self.key) -end - -function InputEvent:rebind(diff) - if type(diff) == "table" then - self = table.assign(self, diff) - end - - self:unbind() - self:bind() -end - -local function bind(key, on) - key = #key == 1 and key or key:upper() - - if type(on) == "string" then - on = utils.parse_json(on) - end - - if bind_map[key] then - on = table.assign(bind_map[key].on, on) - bind_map[key]:unbind() - end - - bind_map[key] = InputEvent:new(key, on) - bind_map[key]:bind() -end - -local function unbind(key) - bind_map[key]:unbind() -end - -local function bind_from_conf(conf) - local parsed = {} - for _, line in pairs(conf:split("\n")) do - line = line:trim() - if line ~= "" and line:sub(1, 1) ~= "#" then - local key, cmd, comment = line:trim():match("^([%S]+)%s+(.-)%s+#%s*(.-)$") - if comment then - local comments = {} - for _, item in ipairs(comment:split("#")) do - item = item:trim() - local prefix, value = item:match("^(.-)%s*:%s*(.-)$") - if not prefix then - prefix, value = item:match("^(%p)%s*(.-)$") - end - if prefix then - comments[prefix] = value - end - end - - local event, cond = comments[o.prefix], nil - local parts = event and event:split("|") - if parts and #parts > 1 then - event, cond = event:match("(.-)%s*|%s*(.-)$") - end - - if event and event ~= "" then - if not supported_events[event] then - event = "click" - end - if parsed[key] == nil then - parsed[key] = {} - end - if parsed[key][event] == nil then - parsed[key][event] = {} - end - - local index = table.isEmpty(parsed[key][event]) and 1 or #parsed[key][event]+1 - local cond_name = string.format("%s-%s-%d", key, event, index) - table.insert(parsed[key][event], 1,{ - cmd = cmd, - cond = cond ~= nil and compile_cond(cond_name, cond) or nil - }) - end - end - end - end - return parsed -end - -local function bind_content(content) - local parsed = bind_from_conf(content) - if parsed and not table.isEmpty(parsed) then - for key, on in pairs(parsed) do - bind(key, on) - end - end -end - -local function read_conf(path) - local content = "" - local meta, meta_error = utils.file_info(path) - if meta and meta.is_file then - local file = io.open(path, "r") - if file then - content = file:read("*all") - file:close() - end - end - return content -end - -local function on_input_doubleclick_time_update(_, duration) - for _, binding in pairs(bind_map) do - binding:rebind({ duration = duration }) - end -end - -local function on_focused_update(_, focused) - if not focused then - return - end - - local binding = bind_map["MBTN_LEFT"] - if not binding then - return - end - - binding:ignore("click", binding.duration) -end - - -mp.register_script_message("bind", bind) -mp.register_script_message("unbind", unbind) -mp.observe_property("input-doubleclick-time", "native", on_input_doubleclick_time_update) -mp.observe_property("focused", "native", on_focused_update) - -local content = "" -local input_conf = mp.get_property_native("input-conf") -local input_conf_path = mp.command_native({ "expand-path", input_conf == "" and "~~/input.conf" or input_conf }) -if o.enable_external_config then - local external_config_path = mp.command_native({ "expand-path", o.external_config }) - content = read_conf(external_config_path) -elseif input_conf:match("^memory://") then - content = input_conf:replace("^memory://", "") -else - content = read_conf(input_conf_path) -end -if content ~= "" then bind_content(content) end \ No newline at end of file diff --git a/scripts/manager.lua b/scripts/manager.lua deleted file mode 100644 index 15a9373..0000000 --- a/scripts/manager.lua +++ /dev/null @@ -1,159 +0,0 @@ -local msg = require "mp.msg" -local utils = require "mp.utils" -local legacy = mp.command_native_async == nil -local config = {} -local dir_cache = {} - -function run(args) - if legacy then - return utils.subprocess({args = args}) - end - return mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) -end - -function parent(path) - return string.match(path, "(.*)[/\\]") -end - -function cache(path) - local p_path = parent(path) - if p_path == nil or p_path == "" or dir_cache[p_path] then return end - cache(p_path) - dir_cache[path] = 1 -end - -function mkdir(path) - if dir_cache[path] then return end - cache(path) - run({"git", "init", path}) -end - -function match(str, patterns) - for pattern in string.gmatch(patterns, "[^|]+") do - if string.match(str, pattern) then - return true - end - end -end - -function apply_defaults(info) - if info.git == nil then return false end - if info.whitelist == nil then info.whitelist = "" end - if info.blacklist == nil then info.blacklist = "" end - if info.dest == nil then info.dest = "~~/scripts" end - if info.branch == nil then info.branch = "master" end - return info -end - -local function build_directory_string(dir, repo) - local str = "" - local contents = utils.readdir(dir) - if not contents then return msg.error("could not access local repo:", repo) end - for _, item in ipairs(contents) do - local path = dir..'/'..item - if utils.file_info(path).is_dir then - if item ~= ".git" then str = str..'/'..build_directory_string(path, repo)..'\n' end - else - str = str..(path:sub(repo:len()+2))..'\n' - end - end - return str -end - -local function get_file_list(info) - if not info.local_repo then - return run({"git", "-C", info.edist, "ls-tree", "-r", "--name-only", "remotes/manager/"..info.branch}).stdout - else - return build_directory_string(info.local_repo, info.local_repo) - end -end - -function update(info) - info = apply_defaults(info) - if not info then return false end - - local base = nil - - info.edist = string.match(mp.command_native({"expand-path", info.dest}), "(.-)[/\\]?$") - mkdir(info.edist) - - local files = {} - - if info.local_repo then - info.local_repo = mp.command_native({"expand-path", info.local_repo}) - if not utils.file_info(info.local_repo) then - info.local_repo = false - msg.warn("local repo not found - falling back to git") - end - end - - if not info.local_repo then - run({"git", "-C", info.edist, "remote", "add", "manager", info.git}) - run({"git", "-C", info.edist, "remote", "set-url", "manager", info.git}) - run({"git", "-C", info.edist, "fetch", "manager", info.branch}) - end - - for file in string.gmatch(get_file_list(info), "[^\r\n]+") do - local l_file = string.lower(file) - if info.whitelist == "" or match(l_file, info.whitelist) then - if info.blacklist == "" or not match(l_file, info.blacklist) then - table.insert(files, file) - if base == nil then base = parent(l_file) or "" end - while string.match(base, l_file) == nil do - if l_file == "" then break end - l_file = parent(l_file) or "" - end - base = l_file - end - end - end - - if base == nil then return false end - - if base ~= "" then base = base.."/" end - - if next(files) == nil then - print("no files matching patterns") - else - for _, file in ipairs(files) do - local based = string.sub(file, string.len(base)+1) - local p_based = parent(based) - if p_based and not info.flatten_folders then mkdir(info.edist.."/"..p_based) end - - local c = "" - if info.local_repo then - local source = io.open(info.local_repo..'/'..file) - c = source:read("*a") - source:close() - else - c = string.match(run({"git", "-C", info.edist, "--no-pager", "show", "remotes/manager/"..info.branch..":"..file}).stdout, "(.-)[\r\n]?$") - end - - local f = io.open(info.edist.."/"..(info.flatten_folders and file:match("[^/]+$") or based), "w") - f:write(c) - f:close() - end - end - return true -end - -function update_all() - local f = io.open(mp.command_native({"expand-path", "~~/manager.json"}), "r") - if f then - local json = f:read("*all") - f:close() - - local props = utils.parse_json(json or "") - if props then - config = props - end - end - - for i, info in ipairs(config) do - print("updating", (info.git:match("([^/]+)%.git$") or info.git).."...") - if not update(info) then msg.error("FAILED") end - end - print("all files updated") -end - -mp.add_key_binding(nil, "manager-update-all", update_all) diff --git a/scripts/mpv-animated.lua b/scripts/mpv-animated.lua deleted file mode 100644 index d5e4ccd..0000000 --- a/scripts/mpv-animated.lua +++ /dev/null @@ -1,249 +0,0 @@ --- Original by Scheliux, Dragoner7 which was ported from Ruin0x11 --- Adapted to webp by DonCanjas --- Modify_: https://github.com/dyphire/mpv-scripts - --- Create animated webps or gifs with mpv --- Requires ffmpeg. --- Adapted from https://github.com/Scheliux/mpv-gif-generator --- Usage: "w" to set start frame, "W" to set end frame, "Ctrl+w" to create. - --- Note: --- Requires FFmpeg in PATH environment variable or edit ffmpeg_path in the script options, --- Note: --- A small circle at the top-right corner is a sign that creat is happenning now. - -require 'mp.options' -local msg = require 'mp.msg' -local utils = require "mp.utils" - -local options = { - type = "gif", -- gif or webp - ffmpeg_path = "ffmpeg", - dir = "~~desktop/", - rez = 600, - fps = 15, - lossless = 0, - quality = 90, - compression_level = 6, - loop = 0, -} - -read_options(options) - - -local fps -local ext -local text - -if options.type == "webp" then - ext = "webp" - text = "webP" -else - ext = "gif" - text = "GIF" -end - --- Check for invalid fps values --- Can you believe Lua doesn't have a proper ternary operator in the year of our lord 2020? -if options.fps ~= nil and options.fps >= 1 and options.fps < 30 then - fps = options.fps -else - fps = 15 -end - --- Set this to the filters to pass into ffmpeg's -vf option. --- filters="fps=24,scale=320:-1:flags=spline" -filters=string.format("fps=%s,scale='trunc(ih*dar/2)*2:trunc(ih/2)*2',setsar=1/1,scale=%s:-1:flags=lanczos", fps, options.rez) - -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes --- Setup output directory -local output_directory = mp.command_native({ "expand-path", options.dir }) ---create output_directory if it doesn't exist -if output_directory ~= '' then - local meta, meta_error = utils.file_info(output_directory) - if not meta or not meta.is_dir then - local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", output_directory) } - local unix_args = { 'mkdir', '-p', output_directory } - local args = is_windows and windows_args or unix_args - local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) - if res.status ~= 0 then - msg.error("Failed to create animated_dir save directory "..output_directory..". Error: "..(res.error or "unknown")) - return - end - end -end - -start_time = -1 -end_time = -1 - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - - -function make_animated_with_subtitles() - make_animated_internal(true) -end - -function make_animated() - make_animated_internal(false) -end - -function table_length(t) - local count = 0 - for _ in pairs(t) do count = count + 1 end - return count -end - - -function make_animated_internal(burn_subtitles) - local start_time_l = start_time - local end_time_l = end_time - if start_time_l == -1 or end_time_l == -1 or start_time_l >= end_time_l then - mp.osd_message("Invalid start/end time.") - return - end - - local trim_filters = filters - local position = start_time_l - local duration = end_time_l - start_time_l - local filename = mp.get_property("filename/no-ext") - - msg.info("Creating " .. text) - mp.osd_message("Creating " .. text) - - -- shell escape - function esc_for_sub(s) - s = string.gsub(s, "\\", "/") - s = string.gsub(s, '"', '\\"') - s = string.gsub(s, ":", "\\:") - s = string.gsub(s, "'", "\\'") - s = string.gsub(s, "%[", "\\%[") - s = string.gsub(s, "%]", "\\%]") - return s - end - - local pathname = mp.get_property("path", "") - local path = mp.get_property_native("path") - local cache = mp.get_property_native("cache") - local cache_state = mp.get_property_native("demuxer-cache-state") - local cache_ranges = cache_state and cache_state["seekable-ranges"] or {} - if path and is_protocol(path) or cache == "auto" and #cache_ranges > 0 then - local pid = mp.get_property_native('pid') - local temp_path = os.getenv("TEMP") or "/tmp/" - local temp_video_file = utils.join_path(temp_path, "mpv_dump_" .. pid .. ".mkv") - mp.commandv("dump-cache", start_time_l, end_time_l, temp_video_file) - position = 0 - filename = mp.get_property("media-title") - pathname = temp_video_file - end - - if burn_subtitles then - -- Determine currently active sub track - - local i = 0 - local tracks_count = mp.get_property_number("track-list/count") - local subs_array = {} - - -- check for subtitle tracks - - while i < tracks_count do - local type = mp.get_property(string.format("track-list/%d/type", i)) - local selected = mp.get_property(string.format("track-list/%d/selected", i)) - local external = mp.get_property(string.format("track-list/%d/external", i)) - - -- if it's a sub track, save it - - if type == "sub" then - local length = table_length(subs_array) - if selected == "yes" and external == "yes" then - msg.info("Error: external subtitles have been selected") - mp.osd_message("Error: external subtitles have been selected", 2) - return - else - subs_array[length] = selected == "yes" - end - end - i = i + 1 - end - - if table_length(subs_array) > 0 then - - local correct_track = 0 - - -- iterate through saved subtitle tracks until the correct one is found - - for index, is_selected in pairs(subs_array) do - if (is_selected) then - correct_track = index - end - end - - trim_filters = trim_filters .. string.format(",subtitles='%s':si=%s", esc_for_sub(pathname), correct_track) - - end - - end - - -- make the animated - local file_path = utils.join_path(output_directory, filename) - - -- increment filename - for i = 0, 999 do - local fn = string.format('%s_%03d.%s', file_path, i, ext) - if not file_exists(fn) then - animated_name = fn - break - end - end - if not animated_name then - mp.osd_message('No available filenames!') - return - end - - local copyts = "" - - if burn_subtitles then - copyts = "-copyts" - end - - if options.type == "webp" then - arg = string.format("%s -y -hide_banner -loglevel error -ss %s %s -t %s -i '%s' -lavfi %s -lossless %s -q:v %s -compression_level %s -loop %s '%s'", options.ffmpeg_path, position, copyts, duration, pathname, trim_filters, options.lossless, options.quality, options.compression_level, options.loop, animated_name) - else - arg = string.format("%s -y -hide_banner -loglevel error -ss %s %s -t %s -i '%s' -lavfi %s,'split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse' -loop %s '%s'", options.ffmpeg_path, position, copyts, duration, pathname, trim_filters, options.loop, animated_name) - end - local windows_args = { 'powershell', '-NoProfile', '-Command', arg } - local unix_args = { '/bin/bash', '-c', arg } - local args = is_windows and windows_args or unix_args - local screenx, screeny, aspect = mp.get_osd_size() - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) - mp.set_osd_ass(screenx, screeny, "") - if res.status ~= 0 then - msg.info("Failed to creat " .. animated_name) - mp.osd_message("Error creating " .. text .. ", check console for more info.") - return - end - msg.info(animated_name .. " created.") - mp.osd_message(text .. " created.") -end - -function set_animated_start() - start_time = mp.get_property_number("time-pos", -1) - mp.osd_message(text .. " Start: " .. start_time) -end - -function set_animated_end() - end_time = mp.get_property_number("time-pos", -1) - mp.osd_message(text .. " End: " .. end_time) -end - -function file_exists(name) - local f = io.open(name, "r") - if f ~= nil then io.close(f) return true else return false end -end - -mp.add_key_binding("w", "set_animated_start", set_animated_start) -mp.add_key_binding("W", "set_animated_end", set_animated_end) -mp.add_key_binding("Ctrl+w", "make_animated", make_animated) -mp.add_key_binding("Ctrl+W", "make_animated_with_subtitles", make_animated_with_subtitles) --only works with srt for now \ No newline at end of file diff --git a/scripts/open_dialog.lua b/scripts/open_dialog.lua deleted file mode 100644 index b529fdd..0000000 --- a/scripts/open_dialog.lua +++ /dev/null @@ -1,341 +0,0 @@ --- Copyright (c) 2022-2024 dyphire --- License: MIT --- link: https://github.com/dyphire/mpv-scripts - ---[[ -The script calls up a window in mpv to quickly load the folder/files/iso/clipboard (support url)/other subtitles/other audio tracks/other video tracks. -Usage, add bindings to input.conf: -key script-message-to open_dialog import_folder -key script-message-to open_dialog import_files -key script-message-to open_dialog import_files # vid, aid, sid (video/audio/subtitle track) -key script-message-to open_dialog import_clipboard -key script-message-to open_dialog import_clipboard # vid, aid, sid (video/audio/subtitle track) -key script-message-to open_dialog set_clipboard # text can be mpv properties as ${path} - -Also supports open dialog to select folder/files for other scripts. -Scripting Example: --- open a folder select dialog -mp.commandv('script-message-to', 'open_dialog', 'select_folder', mp.get_script_name()) --- receive the selected folder reply -mp.register_script_message('select_folder_reply', function(folder_path) - if folder_path and folder_path ~= '' then - -- do something with folder_path - end -end) --- open a xml file select dialog -mp.commandv('script-message-to', 'open_dialog', 'select_files', mp.get_script_name(), 'XML File|*.xml') --- receive the selected files reply -mp.register_script_message('select_files_reply', function(file_paths) - for i, file_path in ipairs(utils.parse_json(file_paths)) do - -- do something with file_path - end -end) - -]]-- - -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local options = require 'mp.options' - -o = { - video_types = '3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m', - audio_types = 'aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv', - image_types = 'apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp', - subtitle_types = 'aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt', - playlist_types = 'm3u,m3u8,pls,cue', - iso_types = 'iso', -} -options.read_options(o) - -local function split(input) - local ret = {} - for str in string.gmatch(input, "([^,]+)") do - ret[#ret + 1] = string.format("*.%s", str) - end - return ret -end - --- pre-defined file types -local file_types = { - video = table.concat(split(o.video_types), ';'), - audio = table.concat(split(o.audio_types), ';'), - image = table.concat(split(o.image_types), ';'), - iso = table.concat(split(o.iso_types), ';'), - subtitle = table.concat(split(o.subtitle_types), ';'), - playlist = table.concat(split(o.playlist_types), ';'), -} - -local powershell = nil - -local function pwsh_check() - local arg = {"cmd", "/c", "pwsh", "--version"} - local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = arg}) - if res.status ~= 0 or res.stdout:match("^PowerShell") == nil then - powershell = "powershell" - else - powershell = "pwsh" - end -end - --- escapes a string so that it can be inserted into powershell as a string literal -local function escape_powershell(str) - if not str then return '""' end - str = str:gsub('[$"`]', '`%1'):gsub('“', '`%1'):gsub('”', '`%1') - return '"'..str..'"' -end - -local function end_file(event) - mp.unregister_event(end_file) - if event["reason"] == "eof" or event["reason"] == "stop" or event["reason"] == "error" then - local bd_device = mp.get_property_native("bluray-device") - local dvd_device = mp.get_property_native("dvd-device") - if event["reason"] == "error" and bd_device and bd_device ~= "" then - loaded_fail = true - else - loaded_fail = false - end - if bd_device then mp.set_property("bluray-device", "") end - if dvd_device then mp.set_property("dvd-device", "") end - end -end - --- open bluray iso or dir -local function open_bluray(path) - mp.set_property('bluray-device', path) - mp.commandv('loadfile', 'bd://') -end - --- open dvd iso or dir -local function open_dvd(path) - mp.set_property('dvd-device', path) - mp.commandv('loadfile', 'dvd://') -end - --- open folder -local function open_folder(path, i) - local fpath, dir = utils.split_path(path) - if utils.file_info(utils.join_path(path, "BDMV")) then - open_bluray(path) - elseif utils.file_info(utils.join_path(path, "VIDEO_TS")) then - open_dvd(path) - elseif dir:upper() == "BDMV" then - open_bluray(fpath) - elseif dir:upper() == "VIDEO_TS" then - open_dvd(fpath) - else - mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') - end -end - --- open files -local function open_files(path, type, i, is_clip) - local ext = string.match(path, "%.([^%.]+)$"):lower() - if file_types['subtitle']:match(ext) then - mp.commandv('sub-add', path, 'cached') - elseif type == 'vid' and (not is_clip or (file_types['video']:match(ext) or file_types['image']:match(ext))) then - mp.commandv('video-add', path, 'cached') - elseif type == 'aid' and (not is_clip or file_types['audio']:match(ext)) then - mp.commandv('audio-add', path, 'cached') - elseif file_types['iso']:match(ext) then - local idle = mp.get_property('idle') - if idle ~= 'yes' then mp.set_property('idle', 'yes') end - mp.register_event("end-file", end_file) - open_bluray(path) - mp.add_timeout(1.0, function() - if idle ~= 'yes' then mp.set_property('idle', idle) end - if loaded_fail then - loaded_fail = false - open_dvd(path) - end - end) - else - mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') - end -end - -local function select_folder() - if not powershell then pwsh_check() end - local powershell_script = string.format([[&{ - Add-Type -AssemblyName System.Windows.Forms - $fbd = New-Object System.Windows.Forms.FolderBrowserDialog - $fbd.RootFolder = "Desktop" - $fbd.ShowNewFolderButton = $true - $owner = New-Object System.Windows.Forms.NativeWindow - $owner.AssignHandle((Get-Process -Id %d).MainWindowHandle) - try { - if ($fbd.ShowDialog($owner) -eq [System.Windows.Forms.DialogResult]::OK) { - $u8 = [System.Text.Encoding]::UTF8 - $out = [Console]::OpenStandardOutput() - $selectedFolder = $fbd.SelectedPath - $u8selectedFolder = $u8.GetBytes("$selectedFolder`n") - $out.Write($u8selectedFolder, 0, $u8selectedFolder.Length) - } - } finally { - $owner.ReleaseHandle() - $fbd.Dispose() - } - }]], mp.get_property_number('pid')) - local res = mp.command_native({ - name = 'subprocess', - playback_only = false, - capture_stdout = true, - args = { powershell, '-NoProfile', '-Command', powershell_script }, - }) - if res.status ~= 0 then - mp.osd_message("Failed to open folder dialog.") - return nil - end - local folder_path = res.stdout:match("(.-)[\r\n]?$") -- Trim any trailing newline - return folder_path -end - -local function select_files(filter) - if not powershell then pwsh_check() end - local powershell_script = string.format([[&{ - Add-Type -AssemblyName System.Windows.Forms - $ofd = New-Object System.Windows.Forms.OpenFileDialog - $ofd.Multiselect = $true - $ofd.Filter = %s - $owner = New-Object System.Windows.Forms.NativeWindow - $owner.AssignHandle((Get-Process -Id %d).MainWindowHandle) - try { - if ($ofd.ShowDialog($owner) -eq [System.Windows.Forms.DialogResult]::OK) { - $u8 = [System.Text.Encoding]::UTF8 - $out = [Console]::OpenStandardOutput() - ForEach ($filename in $ofd.FileNames) { - $u8filename = $u8.GetBytes("$filename`n") - $out.Write($u8filename, 0, $u8filename.Length) - } - } - } finally { - $owner.ReleaseHandle() - $ofd.Dispose() - } - }]], escape_powershell(filter), mp.get_property_number('pid')) - local res = mp.command_native({ - name = 'subprocess', - playback_only = false, - capture_stdout = true, - args = { powershell, '-NoProfile', '-Command', powershell_script }, - }) - local file_paths = {} - if res.status ~= 0 then - mp.osd_message("Failed to open files dialog.") - return file_paths - end - for file_path in string.gmatch(res.stdout, '[^\r\n]+') do - table.insert(file_paths, file_path) - end - return file_paths -end - --- import folder -local function import_folder() - local folder_path = select_folder() - if folder_path and folder_path ~= '' then open_folder(folder_path, 1) end -end - --- import files -local function import_files(type) - local filter = '' - if type == 'vid' then - filter = string.format("Video Files|%s|Image Files|%s", file_types['video'], file_types['image']) - elseif type == 'aid' then - filter = string.format("Audio Files|%s", file_types['audio']) - elseif type == 'sid' then - filter = string.format("Subtitle Files|%s", file_types['subtitle']) - else - filter = string.format("All Files (*.*)|*.*|Video Files|%s|Audio Files|%s|Image Files|%s|ISO Files|%s|Subtitle Files|%s|Playlist Files|%s", - file_types['video'], file_types['audio'], file_types['image'], file_types['iso'], file_types['subtitle'], file_types['playlist']) - end - for i, file_path in ipairs(select_files(filter)) do - open_files(file_path, type, i, false) - end -end - --- Returns a string of UTF-8 text from the clipboard -local function get_clipboard() - if mp.get_property('clipboard-backends') ~= nil or mp.get_property_bool('clipboard-enable') then - return mp.get_property('clipboard/text', '') - end - local res = mp.command_native({ - name = 'subprocess', - playback_only = false, - capture_stdout = true, - args = { 'powershell', '-NoProfile', '-Command', [[& { - Trap { - Write-Error -ErrorRecord $_ - Exit 1 - } - $clip = Get-Clipboard -Raw -Format Text -TextFormatType UnicodeText - if (-not $clip) { - $clip = Get-Clipboard -Raw -Format FileDropList - } - $u8clip = [System.Text.Encoding]::UTF8.GetBytes($clip) - [Console]::OpenStandardOutput().Write($u8clip, 0, $u8clip.Length) - }]] } - }) - if not res.error then - return res.stdout - end - return '' -end - --- open files from clipboard -local function open_clipboard(path, type, i) - local path = path:gsub("^[\'\"]", ""):gsub("[\'\"]$", ""):gsub('^%s+', ''):gsub('%s+$', '') - if path:find('^%a[%w.+-]-://') then - mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') - else - local meta = utils.file_info(path) - if not meta then - mp.osd_message('Clipboard path is invalid') - msg.warn('Clipboard path is invalid') - elseif meta.is_dir then - open_folder(path, i) - elseif meta.is_file then - open_files(path, type, i, true) - else - mp.osd_message('Clipboard path is invalid') - msg.warn('Clipboard path is invalid') - end - end -end - --- import clipboard -local function import_clipboard(type) - local clip = get_clipboard() - if clip ~= '' then - local i = 0 - for path in string.gmatch(clip, '[^\r\n]+') do - i = i + 1 - open_clipboard(path, type, i) - end - else - mp.osd_message('Clipboard is empty') - msg.warn('Clipboard is empty') - end -end - --- sets the contents of the clipboard to the given string -local function set_clipboard(text) - msg.verbose('setting clipboard text:', text) - if mp.get_property('clipboard-backends') ~= nil or mp.get_property_bool('clipboard-enable') then - mp.commandv('set', 'clipboard/text', text) - else - mp.commandv('run', 'powershell', '-NoProfile', '-command', 'set-clipboard', escape_powershell(text)) - end -end - -mp.register_script_message('import_folder', import_folder) -mp.register_script_message('import_files', import_files) -mp.register_script_message('import_clipboard', import_clipboard) -mp.register_script_message('set_clipboard', set_clipboard) -mp.register_script_message('select_folder', function(script_name) - local folder_path = select_folder() - mp.commandv('script-message-to', script_name, 'select_folder_reply', folder_path) -end) -mp.register_script_message('select_files', function(script_name, filter) - local file_paths = select_files(filter) - mp.commandv('script-message-to', script_name, 'select_files_reply', utils.format_json(file_paths)) -end) \ No newline at end of file diff --git a/scripts/persist_properties.lua b/scripts/persist_properties.lua deleted file mode 100644 index 961cfe2..0000000 --- a/scripts/persist_properties.lua +++ /dev/null @@ -1,115 +0,0 @@ --- Script home: https://github.com/d87/mpv-persist-properties -local utils = require "mp.utils" -local msg = require "mp.msg" - -local opts = { - properties = "volume,sub-scale", - properties_path = 'persistent_config.json' -} -(require 'mp.options').read_options(opts, "persist_properties") - -local CONFIG_ROOT = mp.find_config_file(".") -if not utils.file_info(CONFIG_ROOT) then - -- On Windows if using portable_config dir, APPDATA mpv folder isn't auto-created - -- In more recent mpv versions there's a mp.get_script_directory function, but i'm not using it for compatiblity - local mpv_conf_path = mp.find_config_file("scripts") -- finds where the scripts folder is located - local mpv_conf_dir = utils.split_path(mpv_conf_path) - CONFIG_ROOT = mpv_conf_dir -end -local PCONFIG = utils.join_path(CONFIG_ROOT, opts.properties_path); - -local function split(input) - local ret = {} - for str in string.gmatch(input, "([^,]+)") do - table.insert(ret, str) - end - return ret -end -local persisted_properties = split(opts.properties) - -local print = function(...) - -- return msg.log("info", ...) -end - --- print("Config Root is "..CONFIG_ROOT) - -local isInitialized = false - -local properties - -local function load_config(file) - local f = io.open(file, "r") - if f then - local jsonString = f:read() - f:close() - - if jsonString == nil then - return {} - end - - local props = utils.parse_json(jsonString) - if props then - return props - end - end - return {} -end - -local function save_config(file, properties) - local serialized_props = utils.format_json(properties) - - local f = io.open(file, 'w+') - if f then - f:write(serialized_props) - f:close() - else - msg.log("error", string.format("Couldn't open file: %s", file)) - end -end - -local save_timer = nil -local got_unsaved_changed = false - -local function onInitialLoad() - properties = load_config(PCONFIG) - - for i, property in ipairs(persisted_properties) do - local name = property - local value = properties[name] - if value ~= nil then - mp.set_property_native(name, value) - end - end - - for i, property in ipairs(persisted_properties) do - local property_type = nil - mp.observe_property(property, property_type, function(name) - if isInitialized then - local value = mp.get_property_native(name) - -- print(string.format("%s changed to %s at %s", name, value, os.time())) - - properties[name] = value - - if save_timer then - save_timer:kill() - save_timer:resume() - got_unsaved_changed = true - else - save_timer = mp.add_timeout(5, function() - save_config(PCONFIG, properties) - got_unsaved_changed = false - end) - end - end - end) - end - - isInitialized = true -end - -onInitialLoad() -mp.register_event("shutdown", function() - if got_unsaved_changed then - save_config(PCONFIG, properties) - end -end) diff --git a/scripts/playlistmanager.lua b/scripts/playlistmanager.lua deleted file mode 100644 index 885e4a3..0000000 --- a/scripts/playlistmanager.lua +++ /dev/null @@ -1,1678 +0,0 @@ -local settings = { - --navigation keybindings force override only while playlist is visible - --if "no" then you can display the playlist by any of the navigation keys - dynamic_binds = true, - - -- to bind multiple keys separate them by a space - - -- main key to show playlist - key_showplaylist = "SHIFT+ENTER", - - -- display playlist while key is held down - key_peek_at_playlist = "", - - -- dynamic keys - key_moveup = "UP", - key_movedown = "DOWN", - key_movepageup = "PGUP", - key_movepagedown = "PGDWN", - key_movebegin = "HOME", - key_moveend = "END", - key_selectfile = "RIGHT LEFT", - key_unselectfile = "", - key_playfile = "ENTER", - key_removefile = "BS", - key_closeplaylist = "ESC SHIFT+ENTER", - - -- extra functionality dynamic keys - key_sortplaylist = "", - key_shuffleplaylist = "", - key_reverseplaylist = "", - key_loadfiles = "", - key_saveplaylist = "", - - --replaces matches on filenames based on extension, put as empty string to not replace anything - --replace rules are executed in provided order - --replace rule key is the pattern and value is the replace value - --uses :gsub('pattern', 'replace'), read more http://lua-users.org/wiki/StringLibraryTutorial - --'all' will match any extension or protocol if it has one - --uses json and parses it into a lua table to be able to support .conf file - - filename_replace = [[ - [ - { - "protocol": { "all": true }, - "rules": [ - { "%%(%x%x)": "hex_to_char" } - ] - } - ] - ]], - ---[=====[ START OF SAMPLE REPLACE - Remove this line to use it - --Sample replace: replaces underscore to space on all files - --for mp4 and webm; remove extension, remove brackets and surrounding whitespace, change dot between alphanumeric to space - filename_replace = [[ - [ - { - "ext": { "all": true}, - "rules": [ - { "_" : " " } - ] - },{ - "ext": { "mp4": true, "mkv": true }, - "rules": [ - { "^(.+)%..+$": "%1" }, - { "%s*[%[%(].-[%]%)]%s*": "" }, - { "(%w)%.(%w)": "%1 %2" } - ] - },{ - "protocol": { "http": true, "https": true }, - "rules": [ - { "^%a+://w*%.?": "" } - ] - } - ] - ]], ---END OF SAMPLE REPLACE ]=====] - - --json array of filetypes to search from directory - loadfiles_filetypes = [[ - [ - "jpg", "jpeg", "png", "tif", "tiff", "gif", "webp", "svg", "bmp", - "mp3", "wav", "ogm", "flac", "m4a", "wma", "ogg", "opus", - "mkv", "avi", "mp4", "ogv", "webm", "rmvb", "flv", "wmv", "mpeg", "mpg", "m4v", "3gp" - ] - ]], - - --loadfiles at startup if 1 or more items in playlist - loadfiles_on_start = false, - -- loadfiles from working directory on idle startup - loadfiles_on_idle_start = false, - --always put loaded files after currently playing file - loadfiles_always_append = false, - - --sort playlist when files are added to playlist - sortplaylist_on_file_add = false, - - --default sorting method, must be one of: "name-asc", "name-desc", "date-asc", "date-desc", "size-asc", "size-desc". - default_sort = "name-asc", - - --"linux | windows | auto" - system = "auto", - - --Use ~ for home directory. Leave as empty to use mpv/playlists - playlist_savepath = "", - - -- constant filename to save playlist as. Note that it will override existing playlist. Leave empty for generated name. - playlist_save_filename = "", - - --save playlist automatically after current file was unloaded - save_playlist_on_file_end = false, - - - --show file title every time a new file is loaded - show_title_on_file_load = false, - --show playlist every time a new file is loaded - show_playlist_on_file_load = false, - --close playlist when selecting file to play - close_playlist_on_playfile = false, - - --sync cursor when file is loaded from outside reasons(file-ending, playlist-next shortcut etc.) - --has the sideeffect of moving cursor if file happens to change when navigating - --good side is cursor always following current file when going back and forth files with playlist-next/prev - sync_cursor_on_load = true, - - --allow the playlist cursor to loop from end to start and vice versa - loop_cursor = true, - - - -- allow playlistmanager to write watch later config when navigating between files - allow_write_watch_later_config = true, - - -- reset cursor navigation when closing or opening playlist - reset_cursor_on_close = true, - - --prefer to display titles for following files: "all", "url", "none". Sorting still uses filename. - prefer_titles = "url", - - --youtube-dl executable for title resolving if enabled, probably "youtube-dl" or "yt-dlp", can be absolute path - youtube_dl_executable = "yt-dlp", - - --call youtube-dl to resolve the titles of urls in the playlist - resolve_url_titles = false, - - -- timeout in seconds for url title resolving - resolve_title_timeout = 15, - - -- how many url titles can be resolved at a time. Higher number might lead to stutters. - concurrent_title_resolve_limit = 10, - - --osd timeout on inactivity in seconds, use 0 for no timeout - playlist_display_timeout = 0, - - -- when peeking at playlist, show playlist at the very least for display timeout - peek_respect_display_timeout = false, - - -- the maximum amount of lines playlist will render. -1 will automatically calculate lines. - showamount = -1, - - --playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua - --example {\\q2\\an7\\fnUbuntu\\fs10\\b0\\bord1} equals: line-wrap=no, align=top left, font=Ubuntu, size=10, bold=no, border=1 - --read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags - --undeclared tags will use default osd settings - --these styles will be used for the whole playlist - --\\q2 style is recommended since filename wrapping may lead to unexpected rendering - --\\an7 style is recommended to align to top left otherwise, osd-align-x/y is respected - style_ass_tags = "{\\q2\\an7}", - --paddings for left right and top bottom - text_padding_x = 30, - text_padding_y = 60, - - --screen dim when menu is open 0.0 - 1.0 (0 is no dim, 1 is black) - curtain_opacity=0.0, - - --set title of window with stripped name - set_title_stripped = false, - title_prefix = "", - title_suffix = " - mpv", - - --slice long filenames, and how many chars to show - slice_longfilenames = false, - slice_longfilenames_amount = 70, - - --Playlist header template - --%mediatitle or %filename = title or name of playing file - --%pos = position of playing file - --%cursor = position of navigation - --%plen = playlist length - --%N = newline - playlist_header = "[%cursor/%plen]", - - --Playlist file templates - --%pos = position of file with leading zeros - --%name = title or name of file - --%N = newline - --you can also use the ass tags mentioned above. For example: - -- selected_file="{\\c&HFF00FF&}➔ %name" | to add a color for selected file. However, if you - -- use ass tags you need to reset them for every line (see https://github.com/jonniek/mpv-playlistmanager/issues/20) - normal_file = "○ %name", - hovered_file = "● %name", - selected_file = "➔ %name", - playing_file = "▷ %name", - playing_hovered_file = "▶ %name", - playing_selected_file = "➤ %name", - - - -- what to show when playlist is truncated - playlist_sliced_prefix = "...", - playlist_sliced_suffix = "...", - - --output visual feedback to OSD for tasks - display_osd_feedback = true, -} -local opts = require("mp.options") -opts.read_options(settings, "playlistmanager", function(list) update_opts(list) end) - -local utils = require("mp.utils") -local msg = require("mp.msg") -local assdraw = require("mp.assdraw") - -local alignment_table = { - [1] = { ["x"] = "left", ["y"] = "bottom" }, - [2] = { ["x"] = "center", ["y"] = "bottom" }, - [3] = { ["x"] = "right", ["y"] = "bottom" }, - [4] = { ["x"] = "left", ["y"] = "center" }, - [5] = { ["x"] = "center", ["y"] = "center" }, - [6] = { ["x"] = "right", ["y"] = "center" }, - [7] = { ["x"] = "left", ["y"] = "top" }, - [8] = { ["x"] = "center", ["y"] = "top" }, - [9] = { ["x"] = "right", ["y"] = "top" }, -} - ---check os -if settings.system=="auto" then - local o = {} - if mp.get_property_native('options/vo-mmcss-profile', o) ~= o then - settings.system = "windows" - else - settings.system = "linux" - end -end - --- auto calculate showamount -if settings.showamount == -1 then - -- same as draw_playlist() height - local h = 720 - - local playlist_h = h - -- both top and bottom with same padding - playlist_h = playlist_h - settings.text_padding_y * 2 - - -- osd-font-size is based on 720p height - -- see https://mpv.io/manual/stable/#options-osd-font-size - -- details in https://mpv.io/manual/stable/#options-sub-font-size - -- draw_playlist() is based on 720p, need some conversion - local fs = mp.get_property_native('osd-font-size') * h / 720 - -- get the ass font size - if settings.style_ass_tags ~= nil then - local ass_fs_tag = settings.style_ass_tags:match('\\fs%d+') - if ass_fs_tag ~= nil then - fs = tonumber(ass_fs_tag:match('%d+')) - end - end - - settings.showamount = math.floor(playlist_h / fs) - - -- exclude the header line - if settings.playlist_header ~= "" then - settings.showamount = settings.showamount - 1 - -- probably some newlines (%N or \N) in the header - for _ in settings.playlist_header:gmatch('%%N') do - settings.showamount = settings.showamount - 1 - end - for _ in settings.playlist_header:gmatch('\\N') do - settings.showamount = settings.showamount - 1 - end - end - - msg.info('auto showamount: ' .. settings.showamount) -end - ---global variables -local playlist_overlay = mp.create_osd_overlay("ass-events") -local playlist_visible = false -local strippedname = nil -local path = nil -local directory = nil -local filename = nil -local pos = 0 -local plen = 0 -local cursor = 0 ---table for saved media titles for later if we prefer them -local title_table = {} --- table for urls and local file paths that we have requested to be resolved to titles -local requested_titles = {} - -local filetype_lookup = {} - -local normalize_path = nil -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, detect path separator, windows uses backslashes - -function refresh_UI() - if not playlist_visible then return end - refresh_globals() - if plen == 0 then return end - draw_playlist() -end - -function update_opts(changelog) - msg.verbose('updating options') - - --parse filename json - if changelog.filename_replace then - if(settings.filename_replace~="") then - settings.filename_replace = utils.parse_json(settings.filename_replace) - else - settings.filename_replace = false - end - end - - --parse loadfiles json - if changelog.loadfiles_filetypes then - settings.loadfiles_filetypes = utils.parse_json(settings.loadfiles_filetypes) - - filetype_lookup = {} - --create loadfiles set - for _, ext in ipairs(settings.loadfiles_filetypes) do - filetype_lookup[ext] = true - end - end - - if changelog.resolve_url_titles then - resolve_titles() - end - - if changelog.playlist_display_timeout then - keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) - keybindstimer:kill() - end - - refresh_UI() -end - -update_opts({filename_replace = true, loadfiles_filetypes = true}) - ------ winapi start ----- --- in windows system, we can use the sorting function provided by the win32 API --- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw -local winapi = {} -local is_windows = package.config:sub(1,1) == "\\" - -if is_windows then - local is_ffi_loaded, ffi = pcall(require, "ffi") - - if is_ffi_loaded then - winapi = { - ffi = ffi, - C = ffi.C, - CP_UTF8 = 65001, - shlwapi = ffi.load("shlwapi"), - } - - -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 - ffi.cdef[[ - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, - int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); - ]] - - winapi.utf8_to_wide = function(utf8_str) - if utf8_str then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) - - if utf16_len > 0 then - local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) - - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - - return "" - end - end -end ------ winapi end ----- - -local sort_modes = { - { - id="name-asc", - title="name ascending", - sort_fn=function (a, b, playlist) - return alphanumsort(playlist[a].string, playlist[b].string) - end, - }, - { - id="name-desc", - title="name descending", - sort_fn=function (a, b, playlist) - return alphanumsort(playlist[b].string, playlist[a].string) - end, - }, - { - id="date-asc", - title="date ascending", - sort_fn=function (a, b) - return (get_file_info(a).mtime or 0) < (get_file_info(b).mtime or 0) - end, - }, - { - id="date-desc", - title="date descending", - sort_fn=function (a, b) - return (get_file_info(a).mtime or 0) > (get_file_info(b).mtime or 0) - end, - }, - { - id="size-asc", - title="size ascending", - sort_fn=function (a, b) - return (get_file_info(a).size or 0) < (get_file_info(b).size or 0) - end, - }, - { - id="size-desc", - title="size descending", - sort_fn=function (a, b) - return (get_file_info(a).size or 0) > (get_file_info(b).size or 0) - end, - }, -} - -local sort_mode = 1 -for mode, sort_data in pairs(sort_modes) do - if sort_data.id == settings.default_sort then - sort_mode = mode - end -end - -function is_protocol(path) - return type(path) == 'string' and path:find('^%a[%a%d-_]+://') ~= nil -end - -function normalize(path) - if normalize_path ~= nil then - if normalize_path then - path = mp.command_native({"normalize-path", path}) - else - local directory = mp.get_property("working-directory", "") - path = utils.join_path(directory, path:gsub('^%.[\\/]','')) - if is_windows then path = path:gsub("\\", "/") end - end - return path - end - normalize_path = false - local commands = mp.get_property_native("command-list", {}) - for _, command in ipairs(commands) do - if command.name == "normalize-path" then - normalize_path = true - break - end - end - return normalize(path) -end - -function on_file_loaded() - refresh_globals() - if settings.sync_cursor_on_load then cursor=pos end - refresh_UI() -- refresh only after moving cursor - - filename = mp.get_property("filename") - path = mp.get_property('path') - local media_title = mp.get_property("media-title") - if is_protocol(path) and not title_table[path] and path ~= media_title then - title_table[path] = media_title - end - - strippedname = stripfilename(mp.get_property('media-title')) - if settings.show_title_on_file_load then - mp.commandv('show-text', strippedname) - end - if settings.show_playlist_on_file_load then - showplaylist() - end - if settings.set_title_stripped then - mp.set_property("title", settings.title_prefix..strippedname..settings.title_suffix) - end -end - -function on_start_file() - refresh_globals() - filename = mp.get_property("filename") - path = mp.get_property('path') - --if not a url then join path with working directory - if not is_protocol(path) then - path = normalize(path) - directory = utils.split_path(path) - else - directory = nil - end - - if settings.loadfiles_on_start and plen == 1 then - local ext = filename:match("%.([^%.]+)$") - -- a directory or playlist has been loaded, let's not do anything as mpv will expand it into files - if ext and filetype_lookup[ext:lower()] then - msg.info("Loading files from playing files directory") - playlist() - end - end -end - -function on_end_file() - if settings.save_playlist_on_file_end then save_playlist() end - strippedname = nil - path = nil - directory = nil - filename = nil -end - -function refresh_globals() - pos = mp.get_property_number('playlist-pos', 0) - plen = mp.get_property_number('playlist-count', 0) -end - -function escapepath(dir, escapechar) - return string.gsub(dir, escapechar, '\\'..escapechar) -end - -function replace_table_has_value(value, valid_values) - if value == nil or valid_values == nil then - return false - end - return valid_values['all'] or valid_values[value] -end - -local filename_replace_functions = { - --decode special characters in url - hex_to_char = function(x) return string.char(tonumber(x, 16)) end -} - --- from http://lua-users.org/wiki/LuaUnicode -local UTF8_PATTERN = '[%z\1-\127\194-\244][\128-\191]*' - --- return a substring based on utf8 characters --- like string.sub, but negative index is not supported -local function utf8_sub(s, i, j) - if i > j then - return s - end - - local t = {} - local idx = 1 - for char in s:gmatch(UTF8_PATTERN) do - if i <= idx and idx <= j then - local width = #char > 2 and 2 or 1 - idx = idx + width - t[#t + 1] = char - end - end - return table.concat(t) -end - ---strip a filename based on its extension or protocol according to rules in settings -function stripfilename(pathfile, media_title) - if pathfile == nil then return '' end - local ext = pathfile:match("%.([^%.]+)$") - local protocol = pathfile:match("^(%a%a+)://") - if not ext then ext = "" end - local tmp = pathfile - if settings.filename_replace and not media_title then - for k,v in ipairs(settings.filename_replace) do - if replace_table_has_value(ext, v['ext']) or replace_table_has_value(protocol, v['protocol']) then - for ruleindex, indexrules in ipairs(v['rules']) do - for rule, override in pairs(indexrules) do - override = filename_replace_functions[override] or override - tmp = tmp:gsub(rule, override) - end - end - end - end - end - local tmp_clip = utf8_sub(tmp, 1, settings.slice_longfilenames_amount) - if settings.slice_longfilenames and tmp ~= tmp_clip then - tmp = tmp_clip .. "..." - end - return tmp -end - ---gets the file info of an item -function get_file_info(item) - local path = mp.get_property('playlist/' .. item - 1 .. '/filename') - if is_protocol(path) then return {} end - local file_info = utils.file_info(path) - if not file_info then - msg.warn('failed to read file info for', path) - return {} - end - - return file_info -end - ---gets a nicename of playlist entry at 0-based position i -function get_name_from_index(i, notitle) - refresh_globals() - if plen <= i then msg.error("no index in playlist", i, "length", plen); return nil end - local _, name = nil - local title = mp.get_property('playlist/'..i..'/title') - local name = mp.get_property('playlist/'..i..'/filename') - - local should_use_title = settings.prefer_titles == 'all' or is_protocol(name) and settings.prefer_titles == 'url' - - --check if file has a media title stored - if not title and should_use_title and title_table[name] then - title = title_table[name] - end - - --if we have media title use a more conservative strip - if title and not notitle and should_use_title then - -- Escape a string for verbatim display on the OSD - -- Ref: https://github.com/mpv-player/mpv/blob/94677723624fb84756e65c8f1377956667244bc9/player/lua/stats.lua#L145 - return stripfilename(title, true):gsub("\\", '\\\239\187\191'):gsub("{", "\\{"):gsub("^ ", "\\h") - end - - --remove paths if they exist, keeping protocols for stripping - if string.sub(name, 1, 1) == '/' or name:find("^%a:[/\\]") then - _, name = utils.split_path(name) - end - return stripfilename(name):gsub("\\", '\\\239\187\191'):gsub("{", "\\{"):gsub("^ ", "\\h") -end - -function parse_header(string) - local esc_title = stripfilename(mp.get_property("media-title"), true):gsub("%%", "%%%%") - local esc_file = stripfilename(mp.get_property("filename")):gsub("%%", "%%%%") - return string:gsub("%%N", "\\N") - -- add a blank character at the end of each '\N' to ensure that the height of the empty line is the same as the non empty line - :gsub("\\N", "\\N ") - :gsub("%%pos", mp.get_property_number("playlist-pos",0)+1) - :gsub("%%plen", mp.get_property("playlist-count")) - :gsub("%%cursor", cursor+1) - :gsub("%%mediatitle", esc_title) - :gsub("%%filename", esc_file) - -- undo name escape - :gsub("%%%%", "%%") -end - -function parse_filename(string, name, index) - local base = tostring(plen):len() - local esc_name = stripfilename(name):gsub("%%", "%%%%") - return string:gsub("%%N", "\\N") - :gsub("%%pos", string.format("%0"..base.."d", index+1)) - :gsub("%%name", esc_name) - -- undo name escape - :gsub("%%%%", "%%") -end - -function parse_filename_by_index(index) - local template = settings.normal_file - - local is_idle = mp.get_property_native('idle-active') - local position = is_idle and -1 or pos - - if index == position then - if index == cursor then - if selection then - template = settings.playing_selected_file - else - template = settings.playing_hovered_file - end - else - template = settings.playing_file - end - elseif index == cursor then - if selection then - template = settings.selected_file - else - template = settings.hovered_file - end - end - - return parse_filename(template, get_name_from_index(index), index) -end - -function is_terminal_mode() - local width, height, aspect_ratio = mp.get_osd_size() - return width == 0 and height == 0 and aspect_ratio == 0 -end - -function draw_playlist() - refresh_globals() - - -- if there is no playing file, then cursor can be -1. That would break rendering of playlist. - if cursor == -1 then - cursor = 0 - end - - local ass = assdraw.ass_new() - local terminaloutput = "" - - local _, _, a = mp.get_osd_size() - local h = 720 - local w = math.ceil(h * a) - - if settings.curtain_opacity ~= nil and settings.curtain_opacity ~= 0 and settings.curtain_opacity <= 1.0 then - -- curtain dim from https://github.com/christoph-heinrich/mpv-quality-menu/blob/501794bfbef468ee6a61e54fc8821fe5cd72c4ed/quality-menu.lua#L699-L707 - local alpha = 255 - math.ceil(255 * settings.curtain_opacity) - ass.text = string.format('{\\pos(0,0)\\rDefault\\an7\\1c&H000000&\\alpha&H%X&}', alpha) - ass:draw_start() - ass:rect_cw(0, 0, w, h) - ass:draw_stop() - ass:new_event() - end - - ass:append(settings.style_ass_tags) - - -- add \clip style - -- make both left and right follow text_padding_x - -- both top and bottom follow text_padding_y - local border_size = mp.get_property_number('osd-border-size') - if settings.style_ass_tags ~= nil then - local bord = tonumber(settings.style_ass_tags:match('\\bord(%d+%.?%d*)')) - if bord ~= nil then border_size = bord end - end - ass:append(string.format('{\\clip(%f,%f,%f,%f)}', - settings.text_padding_x - border_size, settings.text_padding_y - border_size, - w - 1 - settings.text_padding_x + border_size, h - 1 - settings.text_padding_y + border_size)) - - -- align from mpv.conf - local align_x = mp.get_property("osd-align-x") - local align_y = mp.get_property("osd-align-y") - -- align from style_ass_tags - if settings.style_ass_tags ~= nil then - local an = tonumber(settings.style_ass_tags:match('\\an(%d)')) - if an ~= nil and alignment_table[an] ~= nil then - align_x = alignment_table[an]["x"] - align_y = alignment_table[an]["y"] - end - end - -- range of x [0, w-1] - local pos_x - if align_x == 'left' then - pos_x = settings.text_padding_x - elseif align_x == 'right' then - pos_x = w - 1 - settings.text_padding_x - else - pos_x = math.floor((w - 1) / 2) - end - -- range of y [0, h-1] - local pos_y - if align_y == 'top' then - pos_y = settings.text_padding_y - elseif align_y == 'bottom' then - pos_y = h - 1 - settings.text_padding_y - else - pos_y = math.floor((h - 1) / 2) - end - ass:pos(pos_x, pos_y) - - if settings.playlist_header ~= "" then - local header = parse_header(settings.playlist_header) - ass:append(header.."\\N") - terminaloutput = terminaloutput..header.."\n" - end - - -- (visible index, playlist index) pairs of playlist entries that should be rendered - local visible_indices = {} - - local one_based_cursor = cursor + 1 - table.insert(visible_indices, one_based_cursor) - - local offset = 1; - local visible_indices_length = 1; - while visible_indices_length < settings.showamount and visible_indices_length < plen do - -- add entry for offset steps below the cursor - local below = one_based_cursor + offset - if below <= plen then - table.insert(visible_indices, below) - visible_indices_length = visible_indices_length + 1; - end - - -- add entry for offset steps above the cursor - -- also need to double check that there is still space, this happens if we have even numbered limit - local above = one_based_cursor - offset - if above >= 1 and visible_indices_length < settings.showamount and visible_indices_length < plen then - table.insert(visible_indices, 1, above) - visible_indices_length = visible_indices_length + 1; - end - - offset = offset + 1 - end - - -- both indices are 1 based - for display_index, playlist_index in pairs(visible_indices) do - if display_index == 1 and playlist_index ~= 1 then - ass:append(settings.playlist_sliced_prefix.."\\N") - terminaloutput = terminaloutput..settings.playlist_sliced_prefix.."\n" - elseif display_index == settings.showamount and playlist_index ~= plen then - ass:append(settings.playlist_sliced_suffix) - terminaloutput = terminaloutput..settings.playlist_sliced_suffix.."\n" - else - -- parse_filename_by_index expects 0 based index - local fname = parse_filename_by_index(playlist_index - 1) - ass:append(fname.."\\N") - terminaloutput = terminaloutput..fname.."\n" - end - end - - if is_terminal_mode() then - local timeout_setting = settings.playlist_display_timeout - local timeout = timeout_setting == 0 and 2147483 or timeout_setting - -- TODO: probably have to strip ass tags from terminal output - -- would maybe be possible to use terminal color output instead - mp.osd_message(terminaloutput, timeout) - else - playlist_overlay.data = ass.text - playlist_overlay:update() - end -end - -local peek_display_timer = nil -local peek_button_pressed = false - -function peek_timeout() - peek_display_timer:kill() - if not peek_button_pressed and not playlist_visible then - remove_keybinds() - end -end - -function handle_complex_playlist_toggle(table) - local event = table["event"] - if event == "press" then - msg.error("Complex key event not supported. Falling back to normal playlist display.") - showplaylist() - elseif event == "down" then - showplaylist(1000000) - if settings.peek_respect_display_timeout then - peek_button_pressed = true - peek_display_timer = mp.add_periodic_timer(settings.playlist_display_timeout, peek_timeout) - end - elseif event == "up" then - -- set playlist state to not visible, doesn't actually hide playlist yet - -- this will allow us to check if other functionality has rendered playlist before removing binds - playlist_visible = false - - function remove_keybinds_after_timeout() - -- if playlist is still not visible then lets actually hide it - -- this lets other keys that interupt the peek to render playlist without peek up event closing it - if not playlist_visible then - remove_keybinds() - end - end - - if settings.peek_respect_display_timeout then - peek_button_pressed = false - if not peek_display_timer:is_enabled() then - mp.add_timeout(0.01, remove_keybinds_after_timeout) - end - else - -- use small delay to let dynamic binds run before keys are potentially unbound - mp.add_timeout(0.01, remove_keybinds_after_timeout) - end - end -end - -function toggle_playlist(show_function) - local show = show_function or showplaylist - if playlist_visible then - remove_keybinds() - else - show(settings.playlist_display_timeout) - end -end - -function showplaylist(duration) - refresh_globals() - if plen == 0 then return end - - playlist_visible = true - add_keybinds() - - draw_playlist() - keybindstimer:kill() - - local dur = tonumber(duration) or settings.playlist_display_timeout - if dur > 0 then - keybindstimer = mp.add_periodic_timer(dur, remove_keybinds) - end -end - -function showplaylist_non_interactive(duration) - refresh_globals() - if plen == 0 then return end - playlist_visible = true - draw_playlist() - keybindstimer:kill() - - local dur = tonumber(duration) or settings.playlist_display_timeout - if dur > 0 then - keybindstimer = mp.add_periodic_timer(dur, remove_keybinds) - end -end - -selection=nil -function selectfile() - refresh_globals() - if plen == 0 then return end - if not selection then - selection=cursor - else - selection=nil - end - showplaylist() -end - -function unselectfile() - selection=nil - showplaylist() -end - -function resetcursor() - selection = nil - cursor = mp.get_property_number('playlist-pos', 1) -end - -function removefile() - refresh_globals() - if plen == 0 then return end - selection = nil - if cursor==pos then mp.command("script-message unseenplaylist mark true \"playlistmanager avoid conflict when removing file\"") end - mp.commandv("playlist-remove", cursor) - if cursor==plen-1 then cursor = cursor - 1 end - if plen == 1 then - remove_keybinds() - else - showplaylist() - end -end - -function moveup() - refresh_globals() - if plen == 0 then return end - if cursor~=0 then - if selection then mp.commandv("playlist-move", cursor,cursor-1) end - cursor = cursor-1 - elseif settings.loop_cursor then - if selection then mp.commandv("playlist-move", cursor,plen) end - cursor = plen-1 - end - showplaylist() -end - -function movedown() - refresh_globals() - if plen == 0 then return end - if cursor ~= plen-1 then - if selection then mp.commandv("playlist-move", cursor,cursor+2) end - cursor = cursor + 1 - elseif settings.loop_cursor then - if selection then mp.commandv("playlist-move", cursor,0) end - cursor = 0 - end - showplaylist() -end - - -function movepageup() - refresh_globals() - if plen == 0 or cursor == 0 then return end - local offset = settings.showamount % 2 == 0 and 1 or 0 - local last_file_that_doesnt_scroll = math.ceil(settings.showamount / 2) - local reverse_cursor = plen - cursor - local files_to_jump = math.max(last_file_that_doesnt_scroll + offset - reverse_cursor, 0) + settings.showamount - 2 - local prev_cursor = cursor - cursor = cursor - files_to_jump - if cursor < last_file_that_doesnt_scroll then - cursor = 0 - end - if selection then - mp.commandv("playlist-move", prev_cursor, cursor) - end - showplaylist() -end - -function movepagedown() - refresh_globals() - if plen == 0 or cursor == plen - 1 then return end - local last_file_that_doesnt_scroll = math.ceil(settings.showamount / 2) - 1 - local files_to_jump = math.max(last_file_that_doesnt_scroll - cursor, 0) + settings.showamount - 2 - local prev_cursor = cursor - cursor = cursor + files_to_jump - - local cursor_on_last_page = plen - (settings.showamount - 3) - if cursor > cursor_on_last_page then - cursor = plen - 1 - end - if selection then - mp.commandv("playlist-move", prev_cursor, cursor + 1) - end - showplaylist() -end - - -function movebegin() - refresh_globals() - if plen == 0 or cursor == 0 then return end - local prev_cursor = cursor - cursor = 0 - if selection then mp.commandv("playlist-move", prev_cursor, cursor) end - showplaylist() -end - -function moveend() - refresh_globals() - if plen == 0 or cursor == plen-1 then return end - local prev_cursor = cursor - cursor = plen-1 - if selection then mp.commandv("playlist-move", prev_cursor, cursor+1) end - showplaylist() -end - -function write_watch_later(force_write) - if settings.allow_write_watch_later_config then - if mp.get_property_bool("save-position-on-quit") or force_write then - mp.command("write-watch-later-config") - end - end -end - -function playlist_next() - write_watch_later(true) - mp.commandv("playlist-next", "weak") - if settings.close_playlist_on_playfile then - remove_keybinds() - end - refresh_UI() -end - -function playlist_prev() - write_watch_later(true) - mp.commandv("playlist-prev", "weak") - if settings.close_playlist_on_playfile then - remove_keybinds() - end - refresh_UI() -end - -function playlist_random() - write_watch_later() - refresh_globals() - if plen < 2 then return end - math.randomseed(os.time()) - local random = pos - while random == pos do - random = math.random(0, plen-1) - end - mp.set_property("playlist-pos", random) - if settings.close_playlist_on_playfile then - remove_keybinds() - end -end - -function playfile() - refresh_globals() - if plen == 0 then return end - selection = nil - local is_idle = mp.get_property_native('idle-active') - if cursor ~= pos or is_idle then - write_watch_later() - mp.set_property("playlist-pos", cursor) - else - if cursor~=plen-1 then - cursor = cursor + 1 - end - write_watch_later() - mp.commandv("playlist-next", "weak") - end - if settings.close_playlist_on_playfile then - remove_keybinds() - elseif playlist_visible then - showplaylist() - end -end - -function file_filter(filenames) - local files = {} - for i = 1, #filenames do - local file = filenames[i] - local ext = file:match('%.([^%.]+)$') - if ext and filetype_lookup[ext:lower()] then - table.insert(files, file) - end - end - return files -end - -function get_playlist_filenames_set() - local filenames = {} - for n=0,plen-1,1 do - local filename = mp.get_property('playlist/'..n..'/filename') - local _, file = utils.split_path(filename) - filenames[file] = true - end - return filenames -end - ---Creates a playlist of all files in directory, will keep the order and position ---For exaple, Folder has 12 files, you open the 5th file and run this, the remaining 7 are added behind the 5th file and prior 4 files before it -function playlist(refresh, force_dir) - refresh_globals() - if not refresh and not force_dir and plen > 0 then - return - end - local hasfile = true - if plen == 0 then - hasfile = false - dir = mp.get_property('working-directory') - elseif directory ~= nil then - dir = directory - end - - if force_dir then - dir = force_dir - end - - if not dir or dir == "." then - return - end - - local files = file_filter(utils.readdir(dir, "files")) - - if files == nil then - msg.verbose("no files in directory") - return - end - - table.sort(files, alphanumsort) - - local filenames = get_playlist_filenames_set() - local c, c2 = 0,0 - if files then - local cur = false - local filename = mp.get_property("filename") - for _, file in ipairs(files) do - if file == nil or file[1] == "." then - break - end - local appendstr = "append" - if not hasfile then - cur = true - appendstr = "append-play" - hasfile = true - end - if filename == file then - cur = true - elseif filenames[file] then - -- skip files already in playlist - elseif cur == true or settings.loadfiles_always_append then - mp.commandv("loadfile", utils.join_path(dir, file), appendstr) - msg.info("Appended to playlist: " .. file) - c2 = c2 + 1 - else - mp.commandv("loadfile", utils.join_path(dir, file), appendstr) - msg.info("Prepended to playlist: " .. file) - mp.commandv("playlist-move", mp.get_property_number("playlist-count", 1)-1, c) - c = c + 1 - end - end - if c2 > 0 or c>0 then - msg.info("Added "..c + c2.." files to playlist") - else - msg.info("No additional files found") - end - cursor = mp.get_property_number('playlist-pos', 1) - else - msg.error("Could not scan for files: "..(error or "")) - end - refresh_globals() - if playlist_visible then - showplaylist() - end - if settings.display_osd_feedback then - if c2 > 0 or c>0 then - mp.osd_message("Added "..c + c2.." files to playlist") - else - mp.osd_message("No additional files found") - end - end - return c + c2 -end - -function parse_home(path) - if not path:find("^~") then - return path - end - local home_dir = os.getenv("HOME") or os.getenv("USERPROFILE") - if not home_dir then - local drive = os.getenv("HOMEDRIVE") - local path = os.getenv("HOMEPATH") - if drive and path then - home_dir = utils.join_path(drive, path) - else - msg.error("Couldn't find home dir.") - return nil - end - end - local result = path:gsub("^~", home_dir) - return result -end - -local interactive_save = false -function activate_playlist_save() - if interactive_save then - remove_keybinds() - mp.command("script-message playlistmanager-save-interactive \"start interactive filenaming process\"") - else - save_playlist() - end -end - ---saves the current playlist into a m3u file -function save_playlist(filename) - local length = mp.get_property_number('playlist-count', 0) - if length == 0 then return end - - --get playlist save path - local savepath - if settings.playlist_savepath == nil or settings.playlist_savepath == "" then - savepath = mp.command_native({"expand-path", "~~home/"}).."/playlists" - else - savepath = parse_home(settings.playlist_savepath) - if savepath == nil then return end - end - - --create savepath if it doesn't exist - if utils.readdir(savepath) == nil then - local windows_args = {'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", savepath)} - local unix_args = { 'mkdir', savepath } - local args = settings.system == 'windows' and windows_args or unix_args - local res = utils.subprocess({ args = args, cancellable = false }) - if res.status ~= 0 then - msg.error("Failed to create playlist save directory "..savepath..". Error: "..(res.error or "unknown")) - return - end - end - - local name = filename - if name == nil then - if settings.playlist_save_filename == nil or settings.playlist_save_filename == "" then - local date = os.date("*t") - local datestring = ("%02d-%02d-%02d_%02d-%02d-%02d"):format(date.year, date.month, date.day, date.hour, date.min, date.sec) - - name = datestring.."_playlist-size_"..length..".m3u" - else - name = settings.playlist_save_filename - end - end - - local savepath = utils.join_path(savepath, name) - local file, err = io.open(savepath, "w") - if not file then - msg.error("Error in creating playlist file, check permissions. Error: "..(err or "unknown")) - else - file:write("#EXTM3U\n") - local i=0 - while i < length do - local pwd = mp.get_property("working-directory") - local filename = mp.get_property('playlist/'..i..'/filename') - local fullpath = filename - if not is_protocol(filename) then - fullpath = utils.join_path(pwd, filename) - end - local title = mp.get_property('playlist/'..i..'/title') or title_table[filename] - if title then - file:write("#EXTINF:,"..title.."\n") - end - file:write(fullpath, "\n") - i=i+1 - end - local saved_msg = "Playlist written to: "..savepath - mp.osd_message(saved_msg) - msg.info(saved_msg) - file:close() - end -end - -function alphanumsort(a, b) - local is_ffi_loaded = pcall(require, 'ffi') - if is_windows and is_ffi_loaded then - local a_wide = winapi.utf8_to_wide(a) - local b_wide = winapi.utf8_to_wide(b) - return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 - else - -- alphanum sorting for humans in Lua - -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua - local function padnum(d) - local dec, n = string.match(d, "(%.?)0*(.+)") - return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) - end - return tostring(a):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) - < tostring(b):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) - end -end - --- fast sort algo from https://github.com/zsugabubus/dotfiles/blob/master/.config/mpv/scripts/playlist-filtersort.lua -function sortplaylist(startover) - local playlist = mp.get_property_native('playlist') - if #playlist < 2 then return end - - local order = {} - for i=1, #playlist do - order[i] = i - playlist[i].string = get_name_from_index(i - 1, true) - end - - table.sort(order, function(a, b) - return sort_modes[sort_mode].sort_fn(a, b, playlist) - end) - - for i=1, #playlist do - playlist[order[i]].new_pos = i - end - - for i=1, #playlist do - while true do - local j = playlist[i].new_pos - if i == j then - break - end - mp.commandv('playlist-move', (i) - 1, (j + 1) - 1) - mp.commandv('playlist-move', (j - 1) - 1, (i) - 1) - playlist[j], playlist[i] = playlist[i], playlist[j] - end - end - - for i = 1, #playlist do - local filename = mp.get_property('playlist/' .. i - 1 .. '/filename') - local ext = filename:match("%.([^%.]+)$") - if not ext or not filetype_lookup[ext:lower()] then - --move the directory to the end of the playlist - mp.commandv('playlist-move', i - 1, #playlist) - end - end - - cursor = mp.get_property_number('playlist-pos', 0) - if startover then - mp.set_property('playlist-pos', 0) - end - if playlist_visible then - showplaylist() - end - if settings.display_osd_feedback then - mp.osd_message("Playlist sorted with "..sort_modes[sort_mode].title) - end -end - -function reverseplaylist() - local length = mp.get_property_number('playlist-count', 0) - if length < 2 then return end - for outer=1, length-1, 1 do - mp.commandv('playlist-move', outer, 0) - end - if playlist_visible then - showplaylist() - end - if settings.display_osd_feedback then - mp.osd_message("Playlist reversed") - end -end - -function shuffleplaylist() - refresh_globals() - if plen < 2 then return end - mp.command("playlist-shuffle") - math.randomseed(os.time()) - mp.commandv("playlist-move", pos, math.random(0, plen-1)) - - local playlist = mp.get_property_native('playlist') - for i = 1, #playlist do - local filename = mp.get_property('playlist/' .. i - 1 .. '/filename') - local ext = filename:match("%.([^%.]+)$") - if not ext or not filetype_lookup[ext:lower()] then - --move the directory to the end of the playlist - mp.commandv('playlist-move', i - 1, #playlist) - end - end - - mp.set_property('playlist-pos', 0) - refresh_globals() - if playlist_visible then - showplaylist() - end - if settings.display_osd_feedback then - mp.osd_message("Playlist shuffled") - end -end - -function bind_keys(keys, name, func, opts) - if keys == nil or keys == "" then - mp.add_key_binding(keys, name, func, opts) - return - end - local i = 1 - for key in keys:gmatch("[^%s]+") do - local prefix = i == 1 and '' or i - mp.add_key_binding(key, name..prefix, func, opts) - i = i + 1 - end -end - -function bind_keys_forced(keys, name, func, opts) - if keys == nil or keys == "" then - mp.add_forced_key_binding(keys, name, func, opts) - return - end - local i = 1 - for key in keys:gmatch("[^%s]+") do - local prefix = i == 1 and '' or i - mp.add_forced_key_binding(key, name..prefix, func, opts) - i = i + 1 - end -end - -function unbind_keys(keys, name) - if keys == nil or keys == "" then - mp.remove_key_binding(name) - return - end - local i = 1 - for key in keys:gmatch("[^%s]+") do - local prefix = i == 1 and '' or i - mp.remove_key_binding(name..prefix) - i = i + 1 - end -end - -function add_keybinds() - bind_keys_forced(settings.key_moveup, 'moveup', moveup, "repeatable") - bind_keys_forced(settings.key_movedown, 'movedown', movedown, "repeatable") - bind_keys_forced(settings.key_movepageup, 'movepageup', movepageup, "repeatable") - bind_keys_forced(settings.key_movepagedown, 'movepagedown', movepagedown, "repeatable") - bind_keys_forced(settings.key_movebegin, 'movebegin', movebegin, "repeatable") - bind_keys_forced(settings.key_moveend, 'moveend', moveend, "repeatable") - bind_keys_forced(settings.key_selectfile, 'selectfile', selectfile) - bind_keys_forced(settings.key_unselectfile, 'unselectfile', unselectfile) - bind_keys_forced(settings.key_playfile, 'playfile', playfile) - bind_keys_forced(settings.key_removefile, 'removefile', removefile, "repeatable") - bind_keys_forced(settings.key_closeplaylist, 'closeplaylist', remove_keybinds) - bind_keys_forced(settings.key_sortplaylist, "sortplaylist", function() - sortplaylist() - sort_mode = sort_mode + 1 - if sort_mode > #sort_modes then sort_mode = 1 end - end) - bind_keys_forced(settings.key_reverseplaylist, "reverseplaylist", reverseplaylist) - bind_keys_forced(settings.key_shuffleplaylist, "shuffleplaylist", shuffleplaylist) - bind_keys_forced(settings.key_loadfiles, "loadfiles", playlist) - bind_keys_forced(settings.key_saveplaylist, "saveplaylist", activate_playlist_save) -end - -function remove_keybinds() - keybindstimer:kill() - keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) - keybindstimer:kill() - playlist_overlay.data = "" - playlist_overlay:remove() - if is_terminal_mode() then - mp.osd_message("") - end - playlist_visible = false - if settings.reset_cursor_on_close then - resetcursor() - end - if settings.dynamic_binds then - unbind_keys(settings.key_moveup, 'moveup') - unbind_keys(settings.key_movedown, 'movedown') - unbind_keys(settings.key_movepageup, 'movepageup') - unbind_keys(settings.key_movepagedown, 'movepagedown') - unbind_keys(settings.key_movebegin, 'movebegin') - unbind_keys(settings.key_moveend, 'moveend') - unbind_keys(settings.key_selectfile, 'selectfile') - unbind_keys(settings.key_unselectfile, 'unselectfile') - unbind_keys(settings.key_playfile, 'playfile') - unbind_keys(settings.key_removefile, 'removefile') - unbind_keys(settings.key_closeplaylist, 'closeplaylist') - unbind_keys(settings.key_sortplaylist, "sortplaylist") - unbind_keys(settings.key_reverseplaylist, "reverseplaylist") - unbind_keys(settings.key_shuffleplaylist, "shuffleplaylist") - unbind_keys(settings.key_loadfiles, "loadfiles") - unbind_keys(settings.key_saveplaylist, "saveplaylist") - end -end - -keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) -keybindstimer:kill() - -if not settings.dynamic_binds then - add_keybinds() -end - -if settings.loadfiles_on_idle_start and mp.get_property_number('playlist-count', 0) == 0 then - playlist() -end - -mp.observe_property('playlist-count', "number", function(_, plcount) - --if we promised to listen and sort on playlist size increase do it - if settings.sortplaylist_on_file_add and (plcount > plen) then - msg.info("Added files will be automatically sorted") - refresh_globals() - sortplaylist() - end - refresh_UI() - resolve_titles() -end) -mp.observe_property('osd-dimensions', 'native', refresh_UI) - - -url_request_queue = {} -function url_request_queue.push(item) table.insert(url_request_queue, item) end -function url_request_queue.pop() return table.remove(url_request_queue, 1) end -local url_titles_to_fetch = url_request_queue -local ongoing_url_requests = {} - -function url_fetching_throttler() - if #url_titles_to_fetch == 0 then - url_title_fetch_timer:kill() - end - - local ongoing_url_requests_count = 0 - for _, ongoing in pairs(ongoing_url_requests) do - if ongoing then - ongoing_url_requests_count = ongoing_url_requests_count + 1 - end - end - - -- start resolving some url titles if there is available slots - local amount_to_fetch = math.max(0, settings.concurrent_title_resolve_limit - ongoing_url_requests_count) - for index=1,amount_to_fetch,1 do - local file = url_titles_to_fetch.pop() - if file then - ongoing_url_requests[file] = true - resolve_ytdl_title(file) - end - end -end - -url_title_fetch_timer = mp.add_periodic_timer(0.1, url_fetching_throttler) -url_title_fetch_timer:kill() - -function resolve_titles() - if settings.prefer_titles == 'none' or not settings.resolve_url_titles then return end - - local length = mp.get_property_number('playlist-count', 0) - if length < 2 then return end - -- loop all items in playlist because we can't predict how it has changed - local added_urls = false - for i=0,length - 1,1 do - local filename = mp.get_property('playlist/'..i..'/filename') - local title = mp.get_property('playlist/'..i..'/title') - if i ~= pos - and filename - and not title - and not title_table[filename] - and not requested_titles[filename] - then - requested_titles[filename] = true - if filename:find('^https?://') and settings.resolve_url_titles then - url_titles_to_fetch.push(filename) - added_urls = true - end - end - end - if added_urls then - url_title_fetch_timer:resume() - end -end - -function resolve_ytdl_title(filename) - local args = { - settings.youtube_dl_executable, - '--no-playlist', - '--flat-playlist', - '-sJ', - '--no-config', - filename, - } - local req = mp.command_native_async( - { - name = "subprocess", - args = args, - playback_only = false, - capture_stdout = true - }, - function (success, res) - ongoing_url_requests[filename] = false - if res.killed_by_us then - msg.verbose('Request to resolve url title ' .. filename .. ' timed out') - return - end - if res.status == 0 then - local json, err = utils.parse_json(res.stdout) - if not err then - local is_playlist = json['_type'] and json['_type'] == 'playlist' - local title = (is_playlist and '[playlist]: ' or '') .. json['title'] - msg.verbose(filename .. " resolved to '" .. title .. "'") - title_table[filename] = title - mp.set_property_native('user-data/playlistmanager/titles', title_table) - refresh_UI() - else - msg.error("Failed parsing json, reason: "..(err or "unknown")) - end - else - msg.error("Failed to resolve url title "..filename.." Error: "..(res.error or "unknown")) - end - end - ) - - mp.add_timeout( - settings.resolve_title_timeout, - function() - mp.abort_async_command(req) - ongoing_url_requests[filename] = false - end - ) -end - ---script message handler -function handlemessage(msg, value, value2) - if msg == "show" and value == "playlist" then - if value2 ~= "toggle" then - showplaylist(value2) - return - else - toggle_playlist(showplaylist) - return - end - end - if msg == "show" and value == "playlist-nokeys" then - if value2 ~= "toggle" then - showplaylist_non_interactive(value2) - return - else - toggle_playlist(showplaylist_non_interactive) - return - end - end - if msg == "show" and value == "filename" and strippedname and value2 then - mp.commandv('show-text', strippedname, tonumber(value2)*1000 ) ; return - end - if msg == "show" and value == "filename" and strippedname then - mp.commandv('show-text', strippedname ) ; return - end - if msg == "sort" then sortplaylist(value) ; return end - if msg == "shuffle" then shuffleplaylist() ; return end - if msg == "reverse" then reverseplaylist() ; return end - if msg == "refresh" then playlist(true) ; return end - if msg == "loadfiles" then playlist(false, value) ; return end - if msg == "save" then save_playlist(value) ; return end - if msg == "playlist-next" then playlist_next() ; return end - if msg == "playlist-prev" then playlist_prev() ; return end - if msg == "playlist-next-random" then playlist_random() ; return end - if msg == "enable-interactive-save" then interactive_save = true end - if msg == "close" then remove_keybinds() end -end - -mp.register_script_message("playlistmanager", handlemessage) - -bind_keys( - settings.key_peek_at_playlist, - "peek_at_playlist", - handle_complex_playlist_toggle, - { complex=true } -) - -bind_keys(settings.key_showplaylist, "showplaylist", toggle_playlist) - -mp.register_event("start-file", on_start_file) -mp.register_event("file-loaded", on_file_loaded) -mp.register_event("end-file", on_end_file) \ No newline at end of file diff --git a/scripts/quality-menu.lua b/scripts/quality-menu.lua deleted file mode 100644 index cac5c8c..0000000 --- a/scripts/quality-menu.lua +++ /dev/null @@ -1,1177 +0,0 @@ --- quality-menu 4.2.1 - 2025-Jun-29 --- https://github.com/christoph-heinrich/mpv-quality-menu --- --- Change the stream video and audio quality on the fly. --- --- Usage: --- add bindings to input.conf: --- F script-binding quality_menu/video_formats_toggle --- Alt+f script-binding quality_menu/audio_formats_toggle - -local mp = require 'mp' -local utils = require 'mp.utils' -local msg = require 'mp.msg' -local assdraw = require 'mp.assdraw' -local opt = require('mp.options') -local script_name = mp.get_script_name() - -local opts = { - --key bindings - up_binding = 'UP WHEEL_UP', - down_binding = 'DOWN WHEEL_DOWN', - select_binding = 'ENTER MBTN_LEFT', - close_menu_binding = 'ESC MBTN_RIGHT', - - --formatting / cursors - selected_and_active = '▶ - ', - selected_and_inactive = '● - ', - unselected_and_active = '▷ - ', - unselected_and_inactive = '○ - ', - - --font size scales by window, if false requires larger font and padding sizes - scale_playlist_by_window = true, - - --playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua - --example {\\fnUbuntu\\fs10\\b0\\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 - --read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags - --undeclared tags will use default osd settings - --these styles will be used for the whole playlist. More specific styling will need to be hacked in - -- - --(a monospaced font is recommended but not required) - style_ass_tags = '{\\fnmonospace\\fs25\\bord1}', - - -- Shift drawing coordinates. Required for mpv.net compatiblity - shift_x = 0, - shift_y = 0, - - --paddings from window edge - text_padding_x = 5, - text_padding_y = 10, - - --Screen dim when menu is open - curtain_opacity = 0.7, - - --how many seconds until the quality menu times out - --setting this to 0 deactivates the timeout - menu_timeout = 6, - - --use youtube-dl to fetch a list of available formats (overrides quality_strings) - fetch_formats = true, - - --list of ytdl-format strings to choose from - quality_strings_video = [[ - [ - {"4320p" : "bestvideo[height<=?4320p]"}, - {"2160p" : "bestvideo[height<=?2160]"}, - {"1440p" : "bestvideo[height<=?1440]"}, - {"1080p" : "bestvideo[height<=?1080]"}, - {"720p" : "bestvideo[height<=?720]"}, - {"480p" : "bestvideo[height<=?480]"}, - {"360p" : "bestvideo[height<=?360]"}, - {"240p" : "bestvideo[height<=?240]"}, - {"144p" : "bestvideo[height<=?144]"} - ] - ]], - quality_strings_audio = [[ - [ - {"default" : "bestaudio/best"} - ] - ]], - - --show the video format menu after opening an url - start_with_menu = false, - - --include unknown formats in the list - --Unfortunately choosing which formats are video or audio is not always perfect. - --Set to true to make sure you don't miss any formats, but then the list - --might also include formats that aren't actually video or audio. - --Formats that are known to not be video or audio are still filtered out. - include_unknown = false, - - --hide columns that are identical for all formats - hide_identical_columns = true, - - --which columns are shown in which order - --comma separated list, prefix column with "-" to align left - -- - --for the uosc integration it is possible to split the text up into a title and a hint - --this is done by separating two columns with a "|" instead of a comma - --column order in the hint is reversed - -- - --columns that might be useful are: - --resolution, width, height, fps, dynamic_range, tbr, vbr, abr, asr, - --filesize, filesize_approx, vcodec, acodec, ext, video_ext, audio_ext, - --language, format, format_note, quality - -- - --columns that are derived from the above, but with special treatment: - --size, frame_rate, bitrate_total, bitrate_video, bitrate_audio, - --codec_video, codec_audio, audio_sample_rate - -- - --If those still aren't enough or you're just curious, run: - --yt-dlp -j - --This outputs unformatted JSON. - --Format it and look under "formats" to see what's available. - -- - --Not all videos have all columns available. - --Be careful, misspelled columns simply won't be displayed, there is no error. - columns_video = '-resolution,frame_rate,dynamic_range|language,bitrate_total,size,-codec_video,-codec_audio', - columns_audio = 'audio_sample_rate,bitrate_total|size,language,-codec_audio', - - --columns used for sorting, see "columns_video" for available columns - --comma separated list, prefix column with "-" to reverse sorting order - --Leaving this empty keeps the order from yt-dlp/youtube-dl. - --Be careful, misspelled columns won't result in an error, - --but they might influence the result. - sort_video = 'height,fps,tbr,size,format_id', - sort_audio = 'asr,tbr,size,format_id', -} -opt.read_options(opts, 'quality-menu') - ----@alias Format { properties: {[string]: string}, id: string, label?: string, title?: string, hint?: string } --- *_active_id == nil means unknown, *_active_id == '' means disabled ----@alias Data { video_formats: Format[], audio_formats: Format[], video_active_id?: string, audio_active_id?: string } ----@alias UIState { type: string, type_capitalized: string, name: string , to_other_type: UIState, to_fetching: UIState, to_menu: UIState, is_video: boolean } - -do - ---@param option_string string - ---@param option_name string - ---@return Format[] - local function parse_predefined(option_string, option_name) - ---@type {[string]: string}[] - local json, error = utils.parse_json(option_string) - if error then - msg.error('Error while parsing JSON of option ' .. option_name .. ': ' .. error) - return {} - end - ---@type Format[] - local formats = {} - for i, format in ipairs(json) do - local label, format_string = next(format) - formats[i] = { - label = label, - title = label, - id = format_string, - } - end - return formats - end - - ---@type Data - opts.predefined_data = { - video_formats = parse_predefined(opts.quality_strings_video, 'quality_strings_video'), - audio_formats = parse_predefined(opts.quality_strings_audio, 'quality_strings_audio'), - video_active_id = nil, - audio_active_id = nil, - } -end - -opts.font_size = tonumber(opts.style_ass_tags:match('\\fs(%d+%.?%d*)')) or mp.get_property_number('osd-font-size') or 25 -opts.curtain_opacity = math.max(math.min(opts.curtain_opacity, 1), 0) - ----@param input string ----@param separator string ----@return string[] -local function string_split(input, separator) - if separator == nil then - separator = '%s' - end - local t = {} - for str in string.gmatch(input, '([^' .. separator .. ']+)') do - table.insert(t, str) - end - return t -end - ----@param strings string[] ----@return string[], boolean[] -local function strip_minus(strings) - local stripped_list = {} - local had_minus = {} - for i, val in ipairs(strings) do - if string.sub(val, 1, 1) == '-' then - val = string.sub(val, 2) - had_minus[val] = true - end - stripped_list[i] = val - end - return stripped_list, had_minus -end - -do - ---@param column_definition string - ---@return { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } - local function parse_columns(column_definition) - local columns, columns_align_left = strip_minus(string_split(column_definition, '|,')) - local title_hint = string_split(column_definition, '|') - local title, title_align_left = strip_minus(string_split(title_hint[1], ',')) - - local hint = nil - if title_hint[2] then - hint = strip_minus(string_split(title_hint[2], ',')) - -- reverse column order - local n = #hint - for i = 1, n / 2 do - hint[i], hint[n - i + 1] = hint[n - i + 1], hint[i] - end - end - return { - all = columns, all_align_left = columns_align_left, - title = title, title_align_left = title_align_left, - hint = hint - } - end - - ---@type { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } - ---@diagnostic disable-next-line: param-type-mismatch - opts.columns_video = parse_columns(opts.columns_video) - ---@type { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } - ---@diagnostic disable-next-line: param-type-mismatch - opts.columns_audio = parse_columns(opts.columns_audio) -end - --- special thanks to reload.lua (https://github.com/4e6/mpv-reload/) -local function reload_resume() - local reload_duration = mp.get_property_native('duration') - local time_pos = mp.get_property('time-pos') - - mp.command('playlist-play-index current') - - -- Tries to determine live stream vs. pre-recorded VOD. VOD has non-zero - -- duration property. When reloading VOD, to keep the current time position - -- we should provide offset from the start. Stream doesn't have fixed start. - -- Decent choice would be to reload stream from it's current 'live' position. - -- That's the reason we don't pass the offset when reloading streams. - if reload_duration and reload_duration > 0 and time_pos then - local function seeker() - mp.commandv('seek', time_pos, 'absolute+exact') - mp.unregister_event(seeker) - end - - mp.register_event('file-loaded', seeker) - end -end - ----@type { video_menu: UIState, audio_menu: UIState, video_fetching: UIState, audio_fetching: UIState } -local states = { - video_menu = { type = 'video', type_capitalized = 'Video', name = 'video_menu', is_video = true }, - audio_menu = { type = 'audio', type_capitalized = 'Audio', name = 'audio_menu', is_video = false }, - video_fetching = { type = 'video', type_capitalized = 'Video', name = 'video_fetching', is_video = true }, - audio_fetching = { type = 'audio', type_capitalized = 'Audio', name = 'audio_fetching', is_video = false }, -} -states.video_menu.to_fetching = states.video_fetching -states.video_menu.to_menu = states.video_menu -states.video_menu.to_other_type = states.audio_menu -states.audio_menu.to_fetching = states.audio_fetching -states.audio_menu.to_menu = states.audio_menu -states.audio_menu.to_other_type = states.video_menu -states.video_fetching.to_fetching = states.video_fetching -states.video_fetching.to_menu = states.video_menu -states.video_fetching.to_other_type = states.audio_fetching -states.audio_fetching.to_fetching = states.audio_fetching -states.audio_fetching.to_menu = states.audio_menu -states.audio_fetching.to_other_type = states.video_fetching - ----@type UIState | nil -local open_menu_state = nil ----@type string | nil -local current_url = nil ----@type function | nil -local destructor = nil - -local menu_open -local menu_close -local video_formats_toggle -local audio_formats_toggle - -local osd = mp.create_osd_overlay('ass-events') - -local function hide_osd() - -- workaround mpv bug, setting to hidden does not cause a redraw - -- https://github.com/mpv-player/mpv/issues/10227 - osd.data = '' - osd:update() - osd.hidden = true - osd:update() -end - -local osd_timer = mp.add_timeout(1, function() menu_close() end) -osd_timer:kill() - ----@param message string ----@param time number -local function osd_message(message, time) - osd.res_x = 1280 - osd.res_y = 720 - osd.hidden = false - osd.data = message - osd:update() - osd_timer.timeout = time - osd_timer:kill() - osd_timer:resume() -end - ----@alias FormatRaw {format_id: string, vcodec?: string, acodec?: string, filesize: integer?, filesize_approx?: integer, fps?: number, tbr?: number, vbr?: number, abr?: number, asr?: number} - ----@param json {formats: FormatRaw[], requested_formats: FormatRaw, requested_downloads: FormatRaw} ----@return Data -local function process_json(json) - ---@param format FormatRaw - ---@return boolean - local function is_video(format) - -- 'none' means it is not a video - -- nil means it is unknown - return (opts.include_unknown or format.vcodec) and format.vcodec ~= 'none' or false - end - - ---@param format FormatRaw - ---@return boolean - local function is_audio(format) - return (opts.include_unknown or format.acodec) and format.acodec ~= 'none' or false - end - - local requested_video = nil - local requested_audio = nil - local requested_formats = json.requested_formats or json.requested_downloads or {} - for _, format in ipairs(requested_formats) do - if is_video(format) then - requested_video = format.format_id - elseif is_audio(format) then - requested_audio = format.format_id - end - end - - local video_formats = {} - local audio_formats = {} - local all_formats = {} - for i = #json.formats, 1, -1 do - local format = json.formats[i] - if is_video(format) then - video_formats[#video_formats + 1] = format - all_formats[#all_formats + 1] = format - elseif is_audio(format) then - audio_formats[#audio_formats + 1] = format - all_formats[#all_formats + 1] = format - end - end - - ---@param format FormatRaw - local function populate_special_fields(format) - format.size = format.filesize or format.filesize_approx - format.frame_rate = format.fps - format.bitrate_total = format.tbr - format.bitrate_video = format.vbr - format.bitrate_audio = format.abr - format.codec_video = format.vcodec - format.codec_audio = format.acodec - format.audio_sample_rate = format.asr - end - - for _, format in ipairs(all_formats) do - populate_special_fields(format) - end - - local sort_video, reverse_video = strip_minus(string_split(opts.sort_video, ',')) - local sort_audio, reverse_audio = strip_minus(string_split(opts.sort_audio, ',')) - - ---@param properties string[] - ---@param reverse {[string]: boolean} - ---@return fun(a: FormatRaw, b: FormatRaw): boolean - local function comp(properties, reverse) - return function(a, b) - for _, prop in ipairs(properties) do - local a_val = a[prop] - local b_val = b[prop] - if a_val and b_val and type(a_val) ~= 'table' and a_val ~= b_val then - if reverse[prop] then - return a_val < b_val - else - return a_val > b_val - end - end - end - return false - end - end - - if #sort_video > 0 then - table.sort(video_formats, comp(sort_video, reverse_video)) - end - if #sort_audio > 0 then - table.sort(audio_formats, comp(sort_audio, reverse_audio)) - end - - ---@param size integer - ---@return string - local function scale_filesize(size) - if size == nil then - return '' - end - - local counter = 0 - while size > 1024 do - size = size / 1024 - counter = counter + 1 - end - - if counter >= 3 then return string.format('%.1fGiB', size) - elseif counter >= 2 then return string.format('%.1fMiB', size) - elseif counter >= 1 then return string.format('%.1fKiB', size) - else return string.format('%.1fB ', size) - end - end - - ---@param bitrate integer - ---@return string - local function scale_bitrate(bitrate) - if bitrate == nil then - return '' - end - - local counter = 0 - while bitrate > 1000 do - bitrate = bitrate / 1000 - counter = counter + 1 - end - - if counter >= 2 then return string.format('%.1fGbps', bitrate) - elseif counter >= 1 then return string.format('%.1fMbps', bitrate) - else return string.format('%.1fKbps', bitrate) - end - end - - ---@param format FormatRaw - local function format_special_fields(format) - local size_prefix = not format.filesize and format.filesize_approx and '~' or '' - ---@diagnostic disable-next-line: param-type-mismatch - format.size = (size_prefix) .. scale_filesize(format.size) - format.frame_rate = format.fps and format.fps .. 'fps' or '' - format.bitrate_total = scale_bitrate(format.tbr) - format.bitrate_video = scale_bitrate(format.vbr) - format.bitrate_audio = scale_bitrate(format.abr) - format.codec_video = format.vcodec == nil and 'unknown' or format.vcodec == 'none' and '' or format.vcodec - format.codec_audio = format.acodec == nil and 'unknown' or format.acodec == 'none' and '' or format.acodec - format.audio_sample_rate = format.asr and tostring(format.asr) .. 'Hz' or '' - end - - for _, format in ipairs(all_formats) do - format_special_fields(format) - end - - ---@param raw_formats { [string]: any } - ---@param properties string[] - ---@return Format[] - local function convert_to_format(raw_formats, properties) - ---@type Format[] - local formats = {} - for i, format in ipairs(raw_formats) do - local props = {} - for _, prop in ipairs(properties) do - props[prop] = tostring(format[prop] or '') - end - formats[i] = { properties = props, id = format.format_id } - end - return formats - end - - return { - video_formats = convert_to_format(video_formats, opts.columns_video.all), - audio_formats = convert_to_format(audio_formats, opts.columns_audio.all), - video_active_id = requested_video, - audio_active_id = requested_audio, - } -end - ----@return string | nil -local function get_url() - local path, n = mp.get_property('path'), nil - if not path then return nil end - path, n = path:gsub('^ytdl://', '') -- Strip possible ytdl:// prefix. - if n > 0 then return path end - - ---@param str string - ---@return boolean - local function is_url(str) - -- adapted the regex from - -- https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url - return nil ~= - str:match( - '^[%w]-://[-a-zA-Z0-9@:%._\\+~#=]+%.' .. - '[a-zA-Z0-9()][a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?' .. - '[-a-zA-Z0-9()@:%_\\+.~#?&/=]*') - end - - return is_url(path) and path or nil -end - -local uosc_available = false ----@type { [string]: Data } -local url_data = {} - -local function uosc_set_format_counts() - if not uosc_available then return end - - local data = url_data[current_url] - if data then - mp.commandv('script-message-to', 'uosc', 'set', 'vformats', #data.video_formats) - mp.commandv('script-message-to', 'uosc', 'set', 'aformats', #data.audio_formats) - else - mp.commandv('script-message-to', 'uosc', 'set', 'vformats', 0) - mp.commandv('script-message-to', 'uosc', 'set', 'aformats', 0) - end -end - ----@param json string ----@return Data | nil -local function process_json_string(json) - local json_table, err = utils.parse_json(json) - - if (json_table == nil) then - osd_message('fetching formats failed...', 2) - if err == nil then err = 'unexpected error occurred' end - msg.error('failed to parse JSON data: ' .. err) - return - end - - if json_table.formats == nil then - return - end - - return process_json(json_table) -end - ----Unknown format falls back on highest ranked format if possible ----@param id string | nil ----@param formats Format[] ----@return string -local function sanitize_format_id(id, formats) - return id or (formats[1] or {}).id or '' -end - ----@param video_id string ----@param audio_id string ----@return string -local function format_string(video_id, audio_id) - if #video_id > 0 and #audio_id > 0 then - return video_id .. '+' .. audio_id - elseif #video_id > 0 then - return video_id - elseif #audio_id > 0 then - return audio_id - else - return '' - end -end - ----@param url string ----@param video_format string ----@param audio_format string -local function set_format(url, video_format, audio_format) - if (url_data[url].video_active_id ~= video_format or url_data[url].audio_active_id ~= audio_format) then - url_data[url].video_active_id = video_format - url_data[url].audio_active_id = audio_format - if url == mp.get_property('path') then reload_resume() end - end -end - ----@param formats Format[] ----@param active_format string | nil ----@param menu_type UIState -local function text_menu_open(formats, active_format, menu_type) - local active = 0 - local selected = 1 - --set the cursor to the current format - for i, format in ipairs(formats) do - if format.id == active_format then - active = i - selected = active - break - end - end - if active_format == '' then - active = #formats + 1 - selected = active - end - - ---@param i integer - ---@return string - local function choose_prefix(i) - if i == selected and i == active then return opts.selected_and_active - elseif i == selected then return opts.selected_and_inactive end - - if i ~= selected and i == active then return opts.unselected_and_active - elseif i ~= selected then return opts.unselected_and_inactive end - return '> ' --shouldn't get here. - end - - local width, height - local margin_top, margin_bottom = 0, 0 - local num_options = #formats > 0 and #formats + 2 or 1 - - ---@return integer - local function get_scrolled_lines() - local output_height = height - opts.text_padding_y * 2 - margin_top * height - margin_bottom * height - local screen_lines = math.max(math.floor(output_height / opts.font_size), 1) - local max_scroll = math.max(num_options - screen_lines, 0) - return math.min(math.max(selected - math.ceil(screen_lines / 2), 0), max_scroll) - end - - local function draw_menu() - local ass = assdraw.ass_new() - - if opts.curtain_opacity > 0 then - local alpha = 255 - math.ceil(255 * opts.curtain_opacity) - ass.text = string.format('{\\pos(0,0)\\rDefault\\an7\\1c&H000000&\\alpha&H%X&}', alpha) - ass:draw_start() - ass:rect_cw(0, 0, width, height) - ass:draw_stop() - ass:new_event() - end - - local scrolled_lines = get_scrolled_lines() - local pos_y = opts.shift_y + margin_top * height + opts.text_padding_y - scrolled_lines * opts.font_size - ass:pos(opts.shift_x + opts.text_padding_x, pos_y) - local clip_top = math.floor(margin_top * height + 0.5) - local clip_bottom = math.floor((1 - margin_bottom) * height + 0.5) - local clipping_coordinates = '0,' .. clip_top .. ',' .. width .. ',' .. clip_bottom - ass:append('{\\rDefault\\an7\\q2\\clip(' .. clipping_coordinates .. ')}' .. opts.style_ass_tags) - - if #formats > 0 then - for i, format in ipairs(formats) do - ass:append(choose_prefix(i) .. format.label .. '\\N') - end - ass:append(choose_prefix(#formats + 1) .. 'Disabled\\N') - ass:append(choose_prefix(#formats + 2) .. menu_type.to_other_type.type_capitalized .. ' menu') - else - ass:append('no formats found\\N') - ass:append(opts.selected_and_inactive .. menu_type.to_other_type.type_capitalized .. ' menu') - end - - osd.data = ass.text - osd:update() - end - - local function update_dimensions() - local _, h, aspect = mp.get_osd_size() - if opts.scale_playlist_by_window then h = 720 end - height = h - width = height * aspect - osd.res_y = height - osd.res_x = width - draw_menu() - end - - local update_margins = function(_, val) - if not val then - val = mp.get_property_native('user-data/osc/margins') - end - if val then - margin_top = val.t - margin_bottom = val.b - else - margin_top = 0 - margin_bottom = 0 - end - draw_menu() - end - mp.observe_property('user-data/osc/margins', 'native', update_margins) - - update_dimensions() - update_margins() - mp.observe_property('osd-dimensions', 'native', update_dimensions) - - ---@param amount integer - local function selected_move(amount) - selected = selected + amount - if selected < 1 then selected = num_options - elseif selected > num_options then selected = 1 end - if osd_timer then - osd_timer:kill() - osd_timer:resume() - end - draw_menu() - end - - ---@param keys string | nil - ---@param name string - ---@param func function - ---@param opts table | nil - local function bind_keys(keys, name, func, opts) - if not keys then - mp.add_forced_key_binding(keys, name, func, opts) - return - end - local i = 1 - for key in keys:gmatch('[^%s]+') do - local prefix = i == 1 and '' or i - mp.add_forced_key_binding(key, name .. prefix, func, opts) - i = i + 1 - end - end - - ---@param keys string | nil - ---@param name string - local function unbind_keys(keys, name) - if not keys then - mp.remove_key_binding(name) - return - end - local i = 1 - for key in keys:gmatch('[^%s]+') do - local prefix = i == 1 and '' or i - mp.remove_key_binding(name .. prefix) - i = i + 1 - end - end - - -- make sure observers are cleaned up - if open_menu_state and open_menu_state == open_menu_state.to_menu and destructor then destructor() end - destructor = function() - unbind_keys(opts.up_binding, 'move_up') - unbind_keys(opts.down_binding, 'move_down') - unbind_keys(opts.select_binding, 'select') - unbind_keys(opts.close_menu_binding, 'close') - mp.unobserve_property(update_dimensions) - mp.unobserve_property(update_margins) - end - - osd_timer:kill() - if opts.menu_timeout > 0 then - osd_timer.timeout = opts.menu_timeout - osd_timer:resume() - end - - bind_keys(opts.up_binding, 'move_up', function() selected_move( -1) end, { repeatable = true }) - bind_keys(opts.down_binding, 'move_down', function() selected_move(1) end, { repeatable = true }) - bind_keys(opts.close_menu_binding, 'close', menu_close) - bind_keys(opts.select_binding, 'select', function() - if selected == num_options then - mp.unobserve_property(update_dimensions) - mp.unobserve_property(update_margins) - if menu_type.is_video then audio_formats_toggle() - else video_formats_toggle() end - return - end - menu_close() - if selected == active then return end - if current_url == nil then return end - - local video_id, audio_id - local id = formats[selected] and formats[selected].id or '' - local data = url_data[current_url] - if menu_type.is_video then - video_id = id - audio_id = sanitize_format_id(data.audio_active_id, data.audio_formats) - else - video_id = sanitize_format_id(data.video_active_id, data.video_formats) - audio_id = id - end - set_format(current_url, video_id, audio_id) - end) - - osd.hidden = false - draw_menu() -end - ----@param menu table ----@param menu_type UIState -local function uosc_show_menu(menu, menu_type) - local json = utils.format_json(menu) - -- always using update wouldn't work, because it doesn't support the on_close command - -- therefore opening a different kind requires `open-menu` - -- while updating the same kind requires `update-menu` - if open_menu_state == menu_type then mp.commandv('script-message-to', 'uosc', 'update-menu', json) - else mp.commandv('script-message-to', 'uosc', 'open-menu', json) end -end - ----@param formats Format[] ----@param active_format string | nil ----@param menu_type UIState -local function uosc_menu_open(formats, active_format, menu_type) - local menu = { - title = menu_type.type_capitalized .. ' Formats', - items = {}, - type = 'quality-menu-' .. menu_type.name, - keep_open = true, - on_close = { - 'script-message-to', - script_name, - 'uosc-menu-closed', - menu_type.name, - } - } - - menu.items[#menu.items + 1] = { - title = menu_type.to_other_type.type_capitalized, - italic = true, - bold = true, - hint = 'open menu', - value = { - 'script-message-to', - script_name, - menu_type.to_other_type.type .. '_formats_toggle', - }, - } - menu.items[#menu.items + 1] = { - title = 'Disabled', - italic = true, - muted = true, - hint = '—', - active = active_format == '', - value = { - 'script-message-to', - script_name, - menu_type.type .. '-format-set', - current_url, - '', - } - } - - for _, format in ipairs(formats) do - menu.items[#menu.items + 1] = { - title = format.title, - hint = format.hint, - active = format.id == active_format, - value = { - 'script-message-to', - script_name, - menu_type.type .. '-format-set', - current_url, - format.id, - } - } - end - - uosc_show_menu(menu, menu_type) - destructor = function() - mp.commandv('script-message-to', 'uosc', 'close-menu', menu.type) - end -end - ----Check if property is same for all formats ----@param formats Format[] ----@param properties string[] ----@return { [string]: boolean } -local function identical_for_all(formats, properties) - ---@param formats Format[] - ---@param prop string - ---@return boolean - local function all_formats_same_value(formats, prop) - local first_value = nil - for _, format in ipairs(formats) do - first_value = first_value or format.properties[prop] - if format.properties[prop] ~= first_value then return false end - end - return true - end - - local identical_props = {} - for _, prop in ipairs(properties) do - identical_props[prop] = all_formats_same_value(formats, prop) - end - return identical_props -end - ----@param formats Format[] ----@param columns string[] ----@param column_align_left boolean[] ----@return string[] -local function format_table(formats, columns, column_align_left) - local column_widths = {} - for _, format in pairs(formats) do - for col, prop in ipairs(columns) do - local width = format.properties[prop]:len() - if not column_widths[col] or column_widths[col] < width then - column_widths[col] = width - end - end - end - - local identical_columns = #formats < 2 and {} or identical_for_all(formats, columns) - - local show_columns = {} - for i, width in ipairs(column_widths) do - local prop = columns[i] - if width > 0 and not (opts.hide_identical_columns and identical_columns[prop]) then - show_columns[#show_columns + 1] = { - prop = prop, - width = width, - align_left = column_align_left[prop] - } - end - end - - local spacing = 2 - ---@type string[] - local rows = {} - for i, format in ipairs(formats) do - local row = {} - for j, column in ipairs(show_columns) do - -- lua errors out with width > 99 ("invalid conversion specification") - local width = math.min(column.width * (column.align_left and -1 or 1), 99) - row[j] = string.format('%' .. width .. 's', format.properties[column.prop] or '') - end - rows[i] = table.concat(row, string.format('%' .. spacing .. 's', '')):gsub('%s+$', '') - end - return rows -end - ----@param formats Format[] ----@param columns string[] ----@return string[] -local function format_csv(formats, columns) - local identical_props = #formats < 2 and {} or identical_for_all(formats, columns) - local hints = {} - for i, format in ipairs(formats) do - local row = {} - for _, prop in ipairs(columns) do - local val = format.properties[prop] - if #val > 0 and not (opts.hide_identical_columns and identical_props[prop]) then - row[#row + 1] = val - end - end - hints[i] = table.concat(row, ', ') - end - return hints -end - ----@param formats Format[] ----@param menu_type UIState -local function ensure_menu_data_filled(formats, menu_type) - if uosc_available then - if formats[1] and formats[1].title == nil then - local columns = menu_type.is_video and opts.columns_video or opts.columns_audio - local titles = format_table(formats, columns.title, columns.title_align_left) - - local hints = {} - if columns.hint then - hints = format_csv(formats, columns.hint) - end - - for i, format in ipairs(formats) do - format.title = titles[i] - format.hint = hints[i] - end - end - else - if formats[1] and formats[1].label == nil then - local columns = menu_type.is_video and opts.columns_video or opts.columns_audio - local labels = format_table(formats, columns.all, columns.all_align_left) - for i, format in ipairs(formats) do format.label = labels[i] end - end - end -end - ----@param menu_type UIState -local function loading_message(menu_type) - menu_type = menu_type.to_fetching - if uosc_available then - if open_menu_state and open_menu_state == menu_type then return end - local menu = { - title = menu_type.type_capitalized .. ' Formats', - items = { { icon = 'spinner', selectable = false, value = 'ignore' } }, - type = 'quality-menu-' .. menu_type.name, - keep_open = true, - on_close = { - 'script-message-to', - script_name, - 'uosc-menu-closed', - menu_type.name - } - } - uosc_show_menu(menu, menu_type) - destructor = function() - mp.commandv('script-message-to', 'uosc', 'close-menu', menu.type) - end - else - osd_message('fetching available ' .. menu_type.type .. ' formats...', 60) - end - open_menu_state = menu_type -end - ----@param menu_type UIState -function menu_open(menu_type) - if not current_url then return end - menu_type = menu_type.to_menu - - local data = url_data[current_url] - if not data then - if opts.fetch_formats then - loading_message(menu_type) - return - end - - -- shallow clone so that each url has it's own active format ids - data = {} - for k, v in pairs(opts.predefined_data) do - data[k] = v - end - url_data[current_url] = data - end - local formats = menu_type.is_video and data.video_formats or data.audio_formats - local active_format - if menu_type.is_video then active_format = data.video_active_id - else active_format = data.audio_active_id end - - msg.verbose('current ytdl-format: ' .. mp.get_property('ytdl-format', '')) - - ensure_menu_data_filled(formats, menu_type) - if uosc_available then uosc_menu_open(formats, active_format, menu_type) - else text_menu_open(formats, active_format, menu_type) end - open_menu_state = menu_type -end - -function menu_close() - if destructor then - destructor() - destructor = nil - end - if not osd.hidden then hide_osd() end - open_menu_state = nil -end - ----@param menu_type UIState -local function toggle_menu(menu_type) - if open_menu_state and open_menu_state.type == menu_type.type then - menu_close() - return - end - - if current_url == nil then - if uosc_available then - if menu_type.is_video then - mp.commandv('script-binding', 'uosc/video') - else - mp.commandv('script-binding', 'uosc/audio') - end - end - return - end - - menu_open(menu_type) -end - -function video_formats_toggle() toggle_menu(states.video_menu) end -function audio_formats_toggle() toggle_menu(states.audio_menu) end - --- keybind to launch menu -mp.add_key_binding(nil, 'video_formats_toggle', video_formats_toggle) -mp.add_key_binding(nil, 'audio_formats_toggle', audio_formats_toggle) -mp.add_key_binding(nil, 'reload', reload_resume) - -mp.register_event('start-file', function() - local new_url = get_url() - local url_changed = current_url ~= new_url - current_url = new_url - uosc_set_format_counts() - - -- new path isn't an url - if not new_url then return menu_close() end - - -- open or update menu - if opts.start_with_menu and url_changed or open_menu_state then - menu_open(open_menu_state or states.video_menu) - end -end) - --- run before ytdl_hook, which uses a priority of 10 -mp.add_hook('on_load', 9, function() - local path = mp.get_property('path') - local data = url_data[path] - if not (data and data.video_active_id and data.audio_active_id) then return end - local format = format_string(data.video_active_id, data.audio_active_id) - msg.verbose('setting ytdl-format: ' .. format) - mp.set_property('file-local-options/ytdl-format', format) -end) - ----@param url string ----@param format_id string -mp.register_script_message('video-format-set', function(url, format_id) - menu_close() - local data = url_data[url] - set_format(url, format_id, sanitize_format_id(data.audio_active_id, data.audio_formats)) -end) - ----@param url string ----@param format_id string -mp.register_script_message('audio-format-set', function(url, format_id) - menu_close() - local data = url_data[url] - set_format(url, sanitize_format_id(data.video_active_id, data.video_formats), format_id) -end) - ---- check if uosc is running ----@param version string -mp.register_script_message('uosc-version', function(version) - ---Like the comperator for table.sort, this returns v1 < v2 - ---Assumes two valid semver strings - ---@param v1 string - ---@param v2 string - ---@return boolean - local function semver_comp(v1, v2) - local v1_iterator = v1:gmatch('%d+') - local v2_iterator = v2:gmatch('%d+') - for v2_num_str in v2_iterator do - local v1_num_str = v1_iterator() - if not v1_num_str then return true end - local v1_num = tonumber(v1_num_str) - local v2_num = tonumber(v2_num_str) - if v1_num < v2_num then return true end - if v1_num > v2_num then return false end - end - return false - end - - local min_version = '4.6.0' - uosc_available = not semver_comp(version, min_version) - if not uosc_available then return end - uosc_set_format_counts() - mp.commandv( - 'script-message-to', - 'uosc', - 'overwrite-binding', - 'stream-quality', - 'script-binding ' .. script_name .. '/video_formats_toggle' - ) - ---@param name string - mp.register_script_message('uosc-menu-closed', function(name) - -- got closed from the uosc side - if open_menu_state and open_menu_state.name == name then - destructor = nil - menu_close() - end - end) -end) -mp.commandv('script-message-to', 'uosc', 'get-version', mp.get_script_name()) - -mp.observe_property('user-data/mpv/ytdl/json-subprocess-result', 'native', function(_, ytdl_result) - if not ytdl_result then - -- property gets deleted in on_after_end_file hook - return - end - - if not current_url then - osd_message('current_url is nil', 2) - msg.error('current_url is nil') - return - end - - local json = ytdl_result.stdout - - if ytdl_result.status ~= 0 or json == '' then - json = nil - osd_message('fetching formats failed...', 2) - elseif json then - ---@type Data | nil - local data = url_data[current_url] - if data == nil then - data = process_json_string(json) - url_data[current_url] = data - uosc_set_format_counts() - end - if not data then return end - if open_menu_state and open_menu_state == open_menu_state.to_fetching then - menu_open(open_menu_state) - end - end - -end) \ No newline at end of file diff --git a/scripts/simplehistory.lua b/scripts/simplehistory.lua deleted file mode 100644 index 43c5ffb..0000000 --- a/scripts/simplehistory.lua +++ /dev/null @@ -1,2328 +0,0 @@ --- Copyright (c) 2022, Eisa AlAwadhi --- License: BSD 2-Clause License --- Creator: Eisa AlAwadhi --- Project: SimpleHistory --- Version: 1.1.6 - -local o = { ----------------------------USER CUSTOMIZATION SETTINGS--------------------------- ---These settings are for users to manually change some options. ---Changes are recommended to be made in the script-opts directory. - - -----Script Settings---- - auto_run_list_idle = 'recents', --Auto run the list when opening mpv and there is no video / file loaded. 'none' for disabled. Or choose between: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. - startup_idle_behavior = 'none', --The behavior when mpv launches and nothing is loaded. 'none' for disabled. 'resume' to automatically resume your last played item. 'resume-notime' to resume your last played item but starts from the beginning. - toggle_idlescreen = false, --hides OSC idle screen message when opening and closing menu (could cause unexpected behavior if multiple scripts are triggering osc-idlescreen off) - resume_offset = -0.65, --change to 0 so item resumes from the exact position, or decrease the value so that it gives you a little preview before loading the resume point - osd_messages = true, --true is for displaying osd messages when actions occur. Change to false will disable all osd messages generated from this script - resume_option = 'notification', --'none': for disabled. 'notification': a message to resume the previous reached time will be triggered. 'force': to forcefully resume last playback based on threshold - resume_option_threshold = 2, --0 to always trigger the resume option when the same video has been played previously, a value such as 5 will only trigger the resume option if the last played time starts after 5% of the video and ends before completion by 5% - mark_history_as_chapter = false, --true is for marking the time as a chapter. false disables mark as chapter behavior. - invert_history_blacklist = false, --true so that blacklist becomes a whitelist, resulting in stuff such as paths / websites that are added to history_blacklist to be saved into history - history_blacklist=[[ - [""] - ]], --Paths / URLs / Websites / Files / Protocols / Extensions, that wont be added to history automatically, e.g.: ["c:\\users\\eisa01\\desktop", "c:\\users\\eisa01\\desktop\\*", "c:\\temp\\naruto-01.mp4", "youtube.com", "https://dailymotion.com/", "avi", "https://www.youtube.com/watch?v=e8YBesRKq_U", ".jpeg", "magnet:", "https://", "ftp"] - history_resume_keybind=[[ - ["ctrl+r", "ctrl+R"] - ]], --Keybind that will be used to immediately load and resume last item when no video is playing. If video is playing it will resume to the last found position - history_load_last_keybind=[[ - ["alt+r", "alt+R"] - ]], --Keybind that will be used to immediately load the last item without resuming when no video is playing. If video is playing then it will add into playlist - open_list_keybind=[[ - [ ["h", "all"], ["H", "all"], ["r", "recents"], ["R", "recents"] ] - ]], --Keybind that will be used to open the list along with the specified filter. Available filters: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. - list_filter_jump_keybind=[[ - [ ["h", "all"], ["H", "all"], ["r", "recents"], ["R", "recents"], ["d", "distinct"], ["D", "distinct"], ["f", "fileonly"], ["F", "fileonly"] ] - ]], --Keybind that is used while the list is open to jump to the specific filter (it also enables pressing a filter keybind twice to close list). Available fitlers: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. - - -----Incognito Settings---- - auto_run_incognito_mode = false, --true to automatically start incognito mode when mpv launches, false disables this behavior - delete_incognito_entry = true, --true so that the file that had incognito mode triggered on gets removed from history automatically, false keeps the file in history that incognito mode triggered on - restore_incognito_entry = 'always', --'none' for disabled, 'deleted-restore' so that the the file that was removed when entering incognito automtically gets restored, 'always' so that exiting incognito_mode always immediately updates entry into history - history_incognito_mode_keybind=[[ - ["ctrl+H"] - ]], --Triggers incognito mode. When enabled files played wont be added to history until this mode is disabled. - - -----Logging Settings----- - log_path = '/:dir%mpvconf%', --Change to '/:dir%script%' for placing it in the same directory of script, OR change to '/:dir%mpvconf%' for mpv portable_config directory. OR write any variable using '/:var' then the variable '/:var%APPDATA%' you can use path also, such as: '/:var%APPDATA%\\mpv' OR '/:var%HOME%/mpv' OR specify the absolute path , e.g.: 'C:\\Users\\Eisa01\\Desktop\\' - log_file = 'mpvHistory.log', --name+extension of the file that will be used to store the log data - date_format = '%A/%B %d/%m/%Y %X', --Date format in the log (see lua date formatting), e.g.:'%d/%m/%y %X' or '%d/%b/%y %X' - file_title_logging = 'protocols', --Change between 'all', 'protocols', 'none'. This option will store the media title in log file, it is useful for websites / protocols because title cannot be parsed from links alone - logging_protocols=[[ - ["://", "magnet:"] - ]], --add above (after a comma) any protocol you want its title to be stored in the log file. This is valid only for (file_title_logging = 'protocols' or file_title_logging = 'all') - prefer_filename_over_title = 'local', --Prefers to log filename over filetitle. Select between 'local', 'protocols', 'all', and 'none'. 'local' prefer filenames for videos that are not protocols. 'protocols' will prefer filenames for protocols only. 'all' will prefer filename over filetitle for both protocols and not protocols videos. 'none' will always use filetitle instead of filename - same_entry_limit = 2, --Limit saving entries with same path: -1 for unlimited, 0 will always update entries of same path, e.g. value of 3 will have the limit of 3 then it will start updating old values on the 4th entry. - - -----List Settings----- - loop_through_list = false, --true is for going up on the first item loops towards the last item and vise-versa. false disables this behavior. - list_middle_loader = true, --false is for more items to show, then u must reach the end. true is for new items to show after reaching the middle of list. - show_paths = false, --Show file paths instead of media-title - show_item_number = true, --Show the number of each item before displaying its name and values. - slice_longfilenames = false, --Change to true or false. Slices long filenames per the amount specified below - slice_longfilenames_amount = 55, --Amount for slicing long filenames - list_show_amount = 10, --Change maximum number to show items at once - quickselect_0to9_keybind = true, --Keybind entries from 0 to 9 for quick selection when list is open (list_show_amount = 10 is maximum for this feature to work) - main_list_keybind_twice_exits = true, --Will exit the list when double tapping the main list, even if the list was accessed through a different filter. - search_not_typing_smartly = true, --To smartly set the search as not typing (when search box is open) without needing to press ctrl+enter. - search_behavior = 'any', --'specific' to find a match of either a date, title, path / url, time. 'any' to find any typed search based on combination of date, title, path / url, and time. 'any-notime' to find any typed search based on combination of date, title, and path / url, but without looking for time (this is to reduce unwanted results). - - -----Filter Settings------ - --available filters: "all" to display all the items. Or "recents" to display recently added items to log without duplicate. Or "distinct" to show recent saved entries for files in different paths. Or "fileonly" to display files saved without time. Or "timeonly" to display files that have time only. Or "keywords" to display files with matching keywords specified in the configuration. Or "playing" to show list of current playing file. - filters_and_sequence=[[ - ["all", "recents", "distinct", "protocols", "playing", "fileonly", "titleonly", "keywords"] - ]], --Jump to the following filters and in the shown sequence when navigating via left and right keys. You can change the sequence and delete filters that are not needed. - next_filter_sequence_keybind=[[ - ["RIGHT", "MBTN_FORWARD"] - ]], --Keybind that will be used to go to the next available filter based on the filters_and_sequence - previous_filter_sequence_keybind=[[ - ["LEFT", "MBTN_BACK"] - ]], --Keybind that will be used to go to the previous available filter based on the filters_and_sequence - loop_through_filters = true, --true is for bypassing the last filter to go to first filter when navigating through filters using arrow keys, and vice-versa. false disables this behavior. - keywords_filter_list=[[ - [""] - ]], --Create a filter out of your desired 'keywords', e.g.: youtube.com will filter out the videos from youtube. You can also insert a portion of filename or title, or extension or a full path / portion of a path. e.g.: ["youtube.com", "mp4", "naruto", "c:\\users\\eisa01\\desktop"] - - -----Sort Settings------ - --available sort: 'added-asc' is for the newest added item to show first. Or 'added-desc' for the newest added to show last. Or 'alphanum-asc' is for A to Z approach with filename and episode number lower first. Or 'alphanum-desc' is for its Z to A approach. Or 'time-asc', 'time-desc' to sort the list based on time. - list_default_sort = 'added-asc', --the default sorting method for all the different filters in the list. select between 'added-asc', 'added-desc', 'time-asc', 'time-desc', 'alphanum-asc', 'alphanum-desc' - list_filters_sort=[[ - [ ] - ]], --Default sort for specific filters, e.g.: [ ["all", "alphanum-asc"], ["playing", "added-desc"] ] - list_cycle_sort_keybind=[[ - ["alt+s", "alt+S"] - ]], --Keybind to cycle through the different available sorts when list is open - - -----List Design Settings----- - list_alignment = 7, --The alignment for the list, uses numpad positions choose from 1-9 or 0 to disable. e,g.:7 top left alignment, 8 top middle alignment, 9 top right alignment. - text_time_type = 'duration', --The time type for items on the list. Select between 'duration', 'length', 'remaining'. - time_seperator = ' 🕒 ', --Time seperator that will be used before the time - list_sliced_prefix = '...\\h\\N\\N', --The text that indicates there are more items above. \\N is for new line. \\h is for hard space. - list_sliced_suffix = '...', --The text that indicates there are more items below. - quickselect_0to9_pre_text = false, --true enables pre text for showing quickselect keybinds before the list. false to disable - text_color = 'ffffff', --Text color for list in BGR hexadecimal - text_scale = 50, --Font size for the text of list - text_border = 0.7, --Black border size for the text of list - text_cursor_color = 'ffbf7f', --Text color of current cursor position in BGR hexadecimal - text_cursor_scale = 50, --Font size for text of current cursor position in list - text_cursor_border = 0.7, --Black border size for text of current cursor position in list - text_highlight_pre_text = '✅ ', --Pre text for highlighted multi-select item - search_color_typing = 'ffffaa', --Search color when in typing mode - search_color_not_typing = '00bfff', --Search color when not in typing mode and it is active - header_color = '00bfff', --Header color in BGR hexadecimal - header_scale = 55, --Header text size for the list - header_border = 0.8, --Black border size for the Header of list - header_text = '⌛ History [%cursor%/%total%]%prehighlight%%highlight%%afterhighlight%%prelistduration%%listduration%%afterlistduration%%prefilter%%filter%%afterfilter%%presort%%sort%%aftersort%%presearch%%search%%aftersearch%', --Text to be shown as header for the list - --Available header variables: %cursor%, %total%, %highlight%, %filter%, %search%, %listduration%, %listlength%, %listremaining% - --User defined text that only displays if a variable is triggered: %prefilter%, %afterfilter%, %prehighlight%, %afterhighlight% %presearch%, %aftersearch%, %prelistduration%, %afterlistduration%, %prelistlength%, %afterlistlength%, %prelistremaining%, %afterlistremaining% - --Variables explanation: %cursor: displays the number of cursor position in list. %total: total amount of items in current list. %highlight%: total number of highlighted items. %filter: shows the filter name, %search: shows the typed search. Example of user defined text that only displays if a variable is triggered of user: %prefilter: user defined text before showing filter, %afterfilter: user defined text after showing filter. - header_sort_hide_text = 'added-asc',--Sort method that is hidden from header when using %sort% variable - header_sort_pre_text = ' \\{',--Text to be shown before sort in the header, when using %presort% - header_sort_after_text = '}',--Text to be shown after sort in the header, when using %aftersort% - header_filter_pre_text = ' [Filter: ', --Text to be shown before filter in the header, when using %prefilter% - header_filter_after_text = ']', --Text to be shown after filter in the header, when using %afterfilter% - header_search_pre_text = '\\h\\N\\N[Search=', --Text to be shown before search in the header, when using %presearch% - header_search_after_text = '..]', --Text to be shown after search in the header, when using %aftersearch% - header_highlight_pre_text = '✅', --Text to be shown before total highlighted items of displayed list in the header - header_highlight_after_text = '', --Text to be shown after total highlighted items of displayed list in the header - header_list_duration_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header - header_list_duration_after_text = '', --Text to be shown after playback total duration of displayed list in the header - header_list_length_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header - header_list_length_after_text = '', --Text to be shown after playback total duration of displayed list in the header - header_list_remaining_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header - header_list_remaining_after_text = '', --Text to be shown after playback total duration of displayed list in the header - - -----Time Format Settings----- - --in the first parameter, you can define from the available styles: default, hms, hms-full, timestamp, timestamp-concise "default" to show in HH:MM:SS.sss format. "hms" to show in 1h 2m 3.4s format. "hms-full" is the same as hms but keeps the hours and minutes persistent when they are 0. "timestamp" to show the total time as timestamp 123456.700 format. "timestamp-concise" shows the total time in 123456.7 format (shows and hides decimals depending on availability). - --in the second parameter, you can define whether to show milliseconds, round them or truncate them. Available options: 'truncate' to remove the milliseconds and keep the seconds. 0 to remove the milliseconds and round the seconds. 1 or above is the amount of milliseconds to display. The default value is 3 milliseconds. - --in the third parameter you can define the seperator between hour:minute:second. "default" style is automatically set to ":", "hms", "hms-full" are automatically set to " ". You can define your own. Some examples: ["default", 3, "-"],["hms-full", 5, "."],["hms", "truncate", ":"],["timestamp-concise"],["timestamp", 0],["timestamp", "truncate"],["timestamp", 5] - osd_time_format=[[ - ["default", "truncate"] - ]], - list_time_format=[[ - ["default", "truncate"] - ]], - header_duration_time_format=[[ - ["hms", "truncate", ":"] - ]], - header_length_time_format=[[ - ["hms", "truncate", ":"] - ]], - header_remaining_time_format=[[ - ["hms", "truncate", ":"] - ]], - - -----List Keybind Settings----- - --Add below (after a comma) any additional keybind you want to bind. Or change the letter inside the quotes to change the keybind - --Example of changing and adding keybinds: --From ["b", "B"] To ["b"]. --From [""] to ["alt+b"]. --From [""] to ["a" "ctrl+a", "alt+a"] - list_move_up_keybind=[[ - ["UP", "WHEEL_UP"] - ]], --Keybind that will be used to navigate up on the list - list_move_down_keybind=[[ - ["DOWN", "WHEEL_DOWN"] - ]], --Keybind that will be used to navigate down on the list - list_page_up_keybind=[[ - ["PGUP"] - ]], --Keybind that will be used to go to the first item for the page shown on the list - list_page_down_keybind=[[ - ["PGDWN"] - ]], --Keybind that will be used to go to the last item for the page shown on the list - list_move_first_keybind=[[ - ["HOME"] - ]], --Keybind that will be used to navigate to the first item on the list - list_move_last_keybind=[[ - ["END"] - ]], --Keybind that will be used to navigate to the last item on the list - list_highlight_move_keybind=[[ - ["SHIFT"] - ]], --Keybind that will be used to highlight while pressing a navigational keybind, keep holding shift and then press any navigation keybind, such as: up, down, home, pgdwn, etc.. - list_highlight_all_keybind=[[ - ["ctrl+a", "ctrl+A"] - ]], --Keybind that will be used to highlight all displayed items on the list - list_unhighlight_all_keybind=[[ - ["ctrl+d", "ctrl+D"] - ]], --Keybind that will be used to remove all currently highlighted items from the list - list_select_keybind=[[ - ["ENTER", "MBTN_MID"] - ]], --Keybind that will be used to load entry based on cursor position - list_add_playlist_keybind=[[ - ["CTRL+ENTER"] - ]], --Keybind that will be used to add entry to playlist based on cursor position - list_add_playlist_highlighted_keybind=[[ - ["SHIFT+ENTER"] - ]], --Keybind that will be used to add all highlighted entries to playlist - list_close_keybind=[[ - ["ESC", "MBTN_RIGHT"] - ]], --Keybind that will be used to close the list (closes search first if it is open) - list_delete_keybind=[[ - ["DEL"] - ]], --Keybind that will be used to delete the entry based on cursor position - list_delete_highlighted_keybind=[[ - ["SHIFT+DEL"] - ]], --Keybind that will be used to delete all highlighted entries from the list - list_search_activate_keybind=[[ - ["ctrl+f", "ctrl+F"] - ]], --Keybind that will be used to trigger search - list_search_not_typing_mode_keybind=[[ - ["ALT+ENTER"] - ]], --Keybind that will be used to exit typing mode of search while keeping search open - list_ignored_keybind=[[ - ["B", "b", "k", "K", "c", "C"] - ]], --Keybind thats are ignored when list is open - ----------------------------END OF USER CUSTOMIZATION SETTINGS--------------------------- -} - -(require 'mp.options').read_options(o) -local utils = require 'mp.utils' -local msg = require 'mp.msg' - -o.history_blacklist = utils.parse_json(o.history_blacklist) -o.history_incognito_mode_keybind = utils.parse_json(o.history_incognito_mode_keybind) -o.filters_and_sequence = utils.parse_json(o.filters_and_sequence) -o.keywords_filter_list = utils.parse_json(o.keywords_filter_list) -o.list_filters_sort = utils.parse_json(o.list_filters_sort) -o.logging_protocols = utils.parse_json(o.logging_protocols) -o.history_resume_keybind = utils.parse_json(o.history_resume_keybind) -o.history_load_last_keybind = utils.parse_json(o.history_load_last_keybind) -o.osd_time_format = utils.parse_json(o.osd_time_format) -o.list_time_format = utils.parse_json(o.list_time_format) -o.header_duration_time_format = utils.parse_json(o.header_duration_time_format) -o.header_length_time_format = utils.parse_json(o.header_length_time_format) -o.header_remaining_time_format = utils.parse_json(o.header_remaining_time_format) -o.list_move_up_keybind = utils.parse_json(o.list_move_up_keybind) -o.list_move_down_keybind = utils.parse_json(o.list_move_down_keybind) -o.list_page_up_keybind = utils.parse_json(o.list_page_up_keybind) -o.list_page_down_keybind = utils.parse_json(o.list_page_down_keybind) -o.list_move_first_keybind = utils.parse_json(o.list_move_first_keybind) -o.list_move_last_keybind = utils.parse_json(o.list_move_last_keybind) -o.list_highlight_move_keybind = utils.parse_json(o.list_highlight_move_keybind) -o.list_highlight_all_keybind = utils.parse_json(o.list_highlight_all_keybind) -o.list_unhighlight_all_keybind = utils.parse_json(o.list_unhighlight_all_keybind) -o.list_cycle_sort_keybind = utils.parse_json(o.list_cycle_sort_keybind) -o.list_select_keybind = utils.parse_json(o.list_select_keybind) -o.list_add_playlist_keybind = utils.parse_json(o.list_add_playlist_keybind) -o.list_add_playlist_highlighted_keybind = utils.parse_json(o.list_add_playlist_highlighted_keybind) -o.list_close_keybind = utils.parse_json(o.list_close_keybind) -o.list_delete_keybind = utils.parse_json(o.list_delete_keybind) -o.list_delete_highlighted_keybind = utils.parse_json(o.list_delete_highlighted_keybind) -o.list_search_activate_keybind = utils.parse_json(o.list_search_activate_keybind) -o.list_search_not_typing_mode_keybind = utils.parse_json(o.list_search_not_typing_mode_keybind) -o.next_filter_sequence_keybind = utils.parse_json(o.next_filter_sequence_keybind) -o.previous_filter_sequence_keybind = utils.parse_json(o.previous_filter_sequence_keybind) -o.open_list_keybind = utils.parse_json(o.open_list_keybind) -o.list_filter_jump_keybind = utils.parse_json(o.list_filter_jump_keybind) -o.list_ignored_keybind = utils.parse_json(o.list_ignored_keybind) - -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes - -if utils.shared_script_property_set then - utils.shared_script_property_set('simplehistory-menu-open', 'no') -end -mp.set_property('user-data/simplehistory/menu-open', 'no') - -if o.log_path:match('^/:dir%%mpvconf%%') then - o.log_path = o.log_path:gsub('/:dir%%mpvconf%%', mp.find_config_file('.')) -elseif o.log_path:match('^/:dir%%script%%') then - o.log_path = o.log_path:gsub('/:dir%%script%%', mp.find_config_file('scripts')) -elseif o.log_path:match('^/:var%%(.*)%%') then - local os_variable = o.log_path:match('/:var%%(.*)%%') - o.log_path = o.log_path:gsub('/:var%%(.*)%%', os.getenv(os_variable)) -end -local log_fullpath = utils.join_path(o.log_path, o.log_file) - ---create log_path if it doesn't exist -local log_path = utils.split_path(log_fullpath) -if utils.readdir(log_path) == nil then - local is_windows = package.config:sub(1, 1) == "\\" - local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", log_path) } - local unix_args = { 'mkdir', '-p', log_path } - local args = is_windows and windows_args or unix_args - local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) - if res.status ~= 0 then - msg.error("Failed to create log_path save directory "..log_path..". Error: "..(res.error or "unknown")) - return - end -end - -local log_length_text = 'length=' -local log_time_text = 'time=' -local protocols = {'https?:', 'magnet:', 'rtmps?:', 'smb:', 'ftps?:', 'sftp:'} -local available_filters = {'all', 'recents', 'distinct', 'playing', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'} -local available_sorts = {'added-asc', 'added-desc', 'time-asc', 'time-desc', 'alphanum-asc', 'alphanum-desc'} -local search_string = '' -local search_active = false - -local incognito_mode = false -local autosaved_entry = false -local incognito_auto_run_triggered = false - -local loadTriggered = false --1.1.5# to identify if load is triggered atleast once for idle option -local resume_selected = false -local list_contents = {} -local list_start = 0 -local list_cursor = 1 -local list_highlight_cursor = {} -local list_drawn = false -local list_pages = {} -local filePath, fileTitle, fileLength -local seekTime = 0 -local logTime = 0 --1.3# use logTime since seekTime is used in multiple places -local filterName = 'all' -local sortName -local normalize_path = nil - -function starts_protocol(tab, val) - for index, element in ipairs(tab) do - if string.find(val, element) then - return true - end - end - return false -end - -function contain_value(tab, val) - if not tab then return msg.error('check value passed') end - if not val then return msg.error('check value passed') end - - for index, value in ipairs(tab) do - if value.match(string.lower(val), string.lower(value)) then - return true - end - end - - return false -end - -function has_value(tab, val, array2d) - if not tab then return msg.error('check value passed') end - if not val then return msg.error('check value passed') end - if not array2d then - for index, value in ipairs(tab) do - if string.lower(value) == string.lower(val) then - return true - end - end - end - if array2d then - for i=1, #tab do - if tab[i] and string.lower(tab[i][array2d]) == string.lower(val) then - return true - end - end - end - - return false -end - -function file_exists(name) - local f = io.open(name, "r") - if f ~= nil then io.close(f) return true else return false end -end - -function format_time(seconds, sep, decimals, style) - local function divmod (a, b) - return math.floor(a / b), a % b - end - decimals = decimals == nil and 3 or decimals - - local s = seconds - local h, s = divmod(s, 60*60) - local m, s = divmod(s, 60) - - if decimals == 'truncate' then - s = math.floor(s) - decimals = 0 - if style == 'timestamp' then - seconds = math.floor(seconds) - end - end - - if not style or style == '' or style == 'default' then - local second_format = string.format("%%0%d.%df", 2+(decimals > 0 and decimals+1 or 0), decimals) - sep = sep and sep or ":" - return string.format("%02d"..sep.."%02d"..sep..second_format, h, m, s) - elseif style == 'hms' or style == 'hms-full' then - sep = sep ~= nil and sep or " " - if style == 'hms-full' or h > 0 then - return string.format("%dh"..sep.."%dm"..sep.."%." .. tostring(decimals) .. "fs", h, m, s) - elseif m > 0 then - return string.format("%dm"..sep.."%." .. tostring(decimals) .. "fs", m, s) - else - return string.format("%." .. tostring(decimals) .. "fs", s) - end - elseif style == 'timestamp' then - return string.format("%." .. tostring(decimals) .. "f", seconds) - elseif style == 'timestamp-concise' then - return seconds - end -end - -function normalize(path) - if normalize_path ~= nil then - if normalize_path then - path = mp.command_native({"normalize-path", path}) - else - local directory = mp.get_property("working-directory", "") - path = utils.join_path(directory, path:gsub('^%.[\\/]','')) - if is_windows then path = path:gsub("\\", "/") end - end - return path - end - - normalize_path = false - - local commands = mp.get_property_native("command-list", {}) - for _, command in ipairs(commands) do - if command.name == "normalize-path" then - normalize_path = true - break - end - end - return normalize(path) -end - -function get_file() - function hex_to_char(x) - return string.char(tonumber(x, 16)) - end - - local path = mp.get_property('path') - if not path then return end - if path:match("bd://") or path:match("dvd://") or path:match("dvb://") or path:match("cdda://") then return end - if not path:match('^%a[%a%d-_]+://') then path = normalize(path) end - - local length = (mp.get_property_number('duration') or 0) - - local title = mp.get_property('media-title'):gsub("\"", "") - - - if starts_protocol(o.logging_protocols, path) and o.prefer_filename_over_title == 'protocols' then - title = mp.get_property('filename'):gsub("\"", "") - elseif not starts_protocol(o.logging_protocols, path) and o.prefer_filename_over_title == 'local' then - title = mp.get_property('filename'):gsub("\"", "") - elseif o.prefer_filename_over_title == 'all' then - title = mp.get_property('filename'):gsub("\"", "") - end - - title = title:gsub('%%(%x%x)', hex_to_char) - return path, title, length -end - -function bind_keys(keys, name, func, opts) - if not keys then - mp.add_forced_key_binding(keys, name, func, opts) - return - end - - for i = 1, #keys do - if i == 1 then - mp.add_forced_key_binding(keys[i], name, func, opts) - else - mp.add_forced_key_binding(keys[i], name .. i, func, opts) - end - end -end - -function unbind_keys(keys, name) - if not keys then - mp.remove_key_binding(name) - return - end - - for i = 1, #keys do - if i == 1 then - mp.remove_key_binding(name) - else - mp.remove_key_binding(name .. i) - end - end -end - -function esc_string(str) - return str:gsub("([%p])", "%%%1") -end - ----------Start of LogManager--------- ---LogManager (Read and Format the List from Log)-- -function read_log(func) - local f = io.open(log_fullpath, "r") - if not f then return end - local contents = {} - for line in f:lines() do - table.insert(contents, (func(line))) - end - f:close() - return contents -end - -function read_log_table() - local line_pos = 0 - return read_log(function(line) - local tt, p, t, s, d, n, e, l, dt, ln, r - if line:match('^.-\"(.-)\"') then - tt = line:match('^.-\"(.-)\"') - n, p = line:match('^.-\"(.-)\" | (.*) | ' .. esc_string(log_length_text) .. '(.*)') - else - p = line:match('[(.*)%]]%s(.*) | ' .. esc_string(log_length_text) .. '(.*)') - d, n, e = p:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$') - end - dt = line:match('%[(.-)%]') - t = line:match(' | ' .. esc_string(log_time_text) .. '(%d*%.?%d*)(.*)$') - ln = line:match(' | ' .. esc_string(log_length_text) .. '(%d*%.?%d*)(.*)$') - r = tonumber(ln) - tonumber(t) - l = line - line_pos = line_pos + 1 - return {found_path = p, found_time = t, found_name = n, found_title = tt, found_line = l, found_sequence = line_pos, found_directory = d, found_datetime = dt, found_length = ln, found_remaining = r} - end) -end - -function list_sort(tab, sort) - if sort == 'added-asc' then - table.sort(tab, function(a, b) return a['found_sequence'] < b['found_sequence'] end) - elseif sort == 'added-desc' then - table.sort(tab, function(a, b) return a['found_sequence'] > b['found_sequence'] end) - elseif sort == 'time-asc' then - table.sort(tab, function(a, b) return tonumber(a['found_time']) > tonumber(b['found_time']) end) - elseif sort == 'time-desc' then - table.sort(tab, function(a, b) return tonumber(a['found_time']) < tonumber(b['found_time']) end) - elseif sort == 'alphanum-asc' or sort == 'alphanum-desc' then - local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)") - return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end - if sort == 'alphanum-asc' then - table.sort(tab, function(a, b) return tostring(a['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) > tostring(b['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) end) - elseif sort == 'alphanum-desc' then - table.sort(tab, function(a, b) return tostring(a['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) < tostring(b['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) end) - end - end - - return tab -end - -function parse_header(string) - local osd_header_color = string.format("{\\1c&H%s}", o.header_color) - local osd_search_color = osd_header_color - if search_active == 'typing' then - osd_search_color = string.format("{\\1c&H%s}", o.search_color_typing) - elseif search_active == 'not_typing' then - osd_search_color = string.format("{\\1c&H%s}", o.search_color_not_typing) - end - local osd_msg_end = "{\\1c&HFFFFFF}" - - string = string:gsub("%%total%%", #list_contents) - :gsub("%%cursor%%", list_cursor) - - if filterName ~= 'all' then - string = string:gsub("%%filter%%", filterName) - :gsub("%%prefilter%%", o.header_filter_pre_text) - :gsub("%%afterfilter%%", o.header_filter_after_text) - else - string = string:gsub("%%filter%%", '') - :gsub("%%prefilter%%", '') - :gsub("%%afterfilter%%", '') - end - - local list_total_duration = 0 - if string:match('%listduration%%') then - list_total_duration = get_total_duration('found_time') - if list_total_duration > 0 then - string = string:gsub("%%listduration%%", format_time(list_total_duration, o.header_duration_time_format[3], o.header_duration_time_format[2], o.header_duration_time_format[1])) - else - string = string:gsub("%%listduration%%", '') - end - end - if list_total_duration > 0 then - string = string:gsub("%%prelistduration%%", o.header_list_duration_pre_text) - :gsub("%%afterlistduration%%", o.header_list_duration_after_text) - else - string = string:gsub("%%prelistduration%%", '') - :gsub("%%afterlistduration%%", '') - end - - local list_total_length = 0 - if string:match('%listlength%%') then - list_total_length = get_total_duration('found_length') - if list_total_length > 0 then - string = string:gsub("%%listlength%%", format_time(list_total_length, o.header_length_time_format[3], o.header_length_time_format[2], o.header_length_time_format[1])) - else - string = string:gsub("%%listlength%%", '') - end - end - if list_total_length > 0 then - string = string:gsub("%%prelistlength%%", o.header_list_length_pre_text) - :gsub("%%afterlistlength%%", o.header_list_length_after_text) - else - string = string:gsub("%%prelistlength%%", '') - :gsub("%%afterlistlength%%", '') - end - - local list_total_remaining = 0 - if string:match('%listremaining%%') then - list_total_remaining = get_total_duration('found_remaining') - if list_total_remaining > 0 then - string = string:gsub("%%listremaining%%", format_time(list_total_remaining, o.header_remaining_time_format[3], o.header_remaining_time_format[2], o.header_remaining_time_format[1])) - else - string = string:gsub("%%listremaining%%", '') - end - end - if list_total_remaining > 0 then - string = string:gsub("%%prelistremaining%%", o.header_list_remaining_pre_text) - :gsub("%%afterlistremaining%%", o.header_list_remaining_after_text) - else - string = string:gsub("%%prelistremaining%%", '') - :gsub("%%afterlistremaining%%", '') - end - - if #list_highlight_cursor > 0 then - string = string:gsub("%%highlight%%", #list_highlight_cursor) - :gsub("%%prehighlight%%", o.header_highlight_pre_text) - :gsub("%%afterhighlight%%", o.header_highlight_after_text) - else - string = string:gsub("%%highlight%%", '') - :gsub("%%prehighlight%%", '') - :gsub("%%afterhighlight%%", '') - end - - if sortName and sortName ~= o.header_sort_hide_text then - string = string:gsub("%%sort%%", sortName) - :gsub("%%presort%%", o.header_sort_pre_text) - :gsub("%%aftersort%%", o.header_sort_after_text) - else - string = string:gsub("%%sort%%", '') - :gsub("%%presort%%", '') - :gsub("%%aftersort%%", '') - end - - if search_active then - local search_string_osd = search_string - if search_string_osd ~= '' then - search_string_osd = search_string:gsub('%%', '%%%%%%%%'):gsub('\\', '\\​'):gsub('{', '\\{') - end - - string = string:gsub("%%search%%", osd_search_color..search_string_osd..osd_header_color) - :gsub("%%presearch%%", o.header_search_pre_text) - :gsub("%%aftersearch%%", o.header_search_after_text) - else - string = string:gsub("%%search%%", '') - :gsub("%%presearch%%", '') - :gsub("%%aftersearch%%", '') - end - string = string:gsub("%%%%", "%%") - return string -end - -function get_list_contents(filter, sort) - if not filter then filter = filterName end - if not sort then sort = get_list_sort(filter) end - - local current_sort - - local filtered_table = {} - - local prev_list_contents - if list_contents ~= nil and list_contents[1] then - prev_list_contents = list_contents - else - prev_list_contents = read_log_table() - end - - list_contents = read_log_table() - if not list_contents and not search_active or not list_contents[1] and not search_active then return end - current_sort = 'added-asc' - - if filter == 'recents' then - table.sort(list_contents, function(a, b) return a['found_sequence'] < b['found_sequence'] end) - local unique_values = {} - local list_total = #list_contents - - if filePath == list_contents[#list_contents].found_path and tonumber(list_contents[#list_contents].found_time) == 0 then - list_total = list_total -1 - end - - for i = list_total, 1, -1 do - if not has_value(unique_values, list_contents[i].found_path) then - table.insert(unique_values, list_contents[i].found_path) - table.insert(filtered_table, list_contents[i]) - end - end - table.sort(filtered_table, function(a, b) return a['found_sequence'] < b['found_sequence'] end) - - list_contents = filtered_table - - end - - if filter == 'distinct' then - table.sort(list_contents, function(a, b) return a['found_sequence'] < b['found_sequence'] end) - local unique_values = {} - local list_total = #list_contents - - if filePath == list_contents[#list_contents].found_path and tonumber(list_contents[#list_contents].found_time) == 0 then - list_total = list_total -1 - end - - for i = list_total, 1, -1 do - if list_contents[i].found_directory and not has_value(unique_values, list_contents[i].found_directory) and not starts_protocol(protocols, list_contents[i].found_path) then - table.insert(unique_values, list_contents[i].found_directory) - table.insert(filtered_table, list_contents[i]) - end - end - table.sort(filtered_table, function(a, b) return a['found_sequence'] < b['found_sequence'] end) - - list_contents = filtered_table - end - - if filter == 'fileonly' then - for i = 1, #list_contents do - if tonumber(list_contents[i].found_time) == 0 then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if filter == 'timeonly' then - for i = 1, #list_contents do - if tonumber(list_contents[i].found_time) > 0 then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if filter == 'titleonly' then - for i = 1, #list_contents do - if list_contents[i].found_title then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if filter == 'protocols' then - for i = 1, #list_contents do - if starts_protocol(o.logging_protocols, list_contents[i].found_path) then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if filter == 'keywords' then - for i = 1, #list_contents do - if contain_value(o.keywords_filter_list, list_contents[i].found_line) then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if filter == 'playing' then - for i = 1, #list_contents do - if list_contents[i].found_path == filePath then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - end - - if search_active and search_string ~= '' then - local filtered_table = {} - - local search_query = '' - for search in search_string:gmatch("[^%s]+") do - search_query = search_query..'.-'..esc_string(search) - end - - local contents_string = '' - for i = 1, #list_contents do - - if o.search_behavior == 'specific' then - if string.lower(list_contents[i].found_path):match(string.lower(search_query)) then - table.insert(filtered_table, list_contents[i]) - elseif list_contents[i].found_title and string.lower(list_contents[i].found_title):match(string.lower(search_query)) then - table.insert(filtered_table, list_contents[i]) - elseif tonumber(list_contents[i].found_time) > 0 and format_time(list_contents[i].found_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]):match(search_query) then - table.insert(filtered_table, list_contents[i]) - elseif string.lower(list_contents[i].found_datetime):match(string.lower(search_query)) then - table.insert(filtered_table, list_contents[i]) - end - elseif o.search_behavior == 'any' then - contents_string = list_contents[i].found_datetime..(list_contents[i].found_title or '')..list_contents[i].found_path - if tonumber(list_contents[i].found_time) > 0 then - contents_string = contents_string..format_time(list_contents[i].found_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]) - end - elseif o.search_behavior == 'any-notime' then - contents_string = list_contents[i].found_datetime..(list_contents[i].found_title or '')..list_contents[i].found_path - end - - if string.lower(contents_string):match(string.lower(search_query)) then - table.insert(filtered_table, list_contents[i]) - end - end - - list_contents = filtered_table - - end - - if sort ~= current_sort then - list_sort(list_contents, sort) - end - - if not list_contents and not search_active or not list_contents[1] and not search_active then return end -end - -function get_list_sort(filter) - if not filter then filter = filterName end - - local sort - for i=1, #o.list_filters_sort do - if o.list_filters_sort[i][1] == filter then - if has_value(available_sorts, o.list_filters_sort[i][2]) then sort = o.list_filters_sort[i][2] end - break - end - end - - if not sort and has_value(available_sorts, o.list_default_sort) then sort = o.list_default_sort end - - if not sort then sort = 'added-asc' end - - return sort -end - -function draw_list() - local osd_msg = '' - local osd_index = '' - local osd_key = '' - local osd_color = '' - local key = 0 - local osd_text = string.format("{\\an%f{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.text_scale, o.text_scale, o.text_border, o.text_color) - local osd_cursor = string.format("{\\an%f}{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.text_cursor_scale, o.text_cursor_scale, o.text_cursor_border, o.text_cursor_color) - local osd_header = string.format("{\\an%f}{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.header_scale, o.header_scale, o.header_border, o.header_color) - local osd_msg_end = "{\\1c&HFFFFFF}" - local osd_time_type = 'found_time' - - if o.text_time_type == 'length' then - osd_time_type = 'found_length' - elseif o.text_time_type == 'remaining' then - osd_time_type = 'found_remaining' - end - - if o.header_text ~= '' then - osd_msg = osd_msg .. osd_header .. parse_header(o.header_text) - osd_msg = osd_msg .. "\\h\\N\\N" .. osd_msg_end - end - - if search_active and not list_contents[1] then - osd_msg = osd_msg .. 'No search results found' .. osd_msg_end - end - - if o.list_middle_loader then - list_start = list_cursor - math.floor(o.list_show_amount / 2) - else - list_start = list_cursor - o.list_show_amount - end - - local showall = false - local showrest = false - if list_start < 0 then list_start = 0 end - if #list_contents <= o.list_show_amount then - list_start = 0 - showall = true - end - if list_start > math.max(#list_contents - o.list_show_amount - 1, 0) then - list_start = #list_contents - o.list_show_amount - showrest = true - end - if list_start > 0 and not showall then - osd_msg = osd_msg .. o.list_sliced_prefix .. osd_msg_end - end - for i = list_start, list_start + o.list_show_amount - 1, 1 do - if i == #list_contents then break end - - if o.show_paths then - p = list_contents[#list_contents - i].found_path or list_contents[#list_contents - i].found_name or "" - else - p = list_contents[#list_contents - i].found_name or list_contents[#list_contents - i].found_path or "" - end - - if o.slice_longfilenames and p:len() > o.slice_longfilenames_amount then - p = p:sub(1, o.slice_longfilenames_amount) .. "..." - end - - if o.quickselect_0to9_keybind and o.list_show_amount <= 10 and o.quickselect_0to9_pre_text then - key = 1 + key - if key == 10 then key = 0 end - osd_key = '(' .. key .. ') ' - end - - if o.show_item_number then - osd_index = (i + 1) .. '. ' - end - - if i + 1 == list_cursor then - osd_color = osd_cursor - else - osd_color = osd_text - end - - for j = 1, #list_highlight_cursor do - if list_highlight_cursor[j] and list_highlight_cursor[j][1] == i+1 then - osd_msg = osd_msg..osd_color..esc_string(o.text_highlight_pre_text) - end - end - - -- example in the mpv source suggests this escape method for set_osd_ass: - -- https://github.com/mpv-player/mpv/blob/94677723624fb84756e65c8f1377956667244bc9/player/lua/stats.lua#L145 - p = p:gsub('\\', '\\\239\187\191') - :gsub("{", "\\{") - :gsub("^ ", "\\h") - osd_msg = osd_msg .. osd_color .. osd_key .. osd_index .. p - - if list_contents[#list_contents - i][osd_time_type] and tonumber(list_contents[#list_contents - i][osd_time_type]) > 0 then - osd_msg = osd_msg .. o.time_seperator .. format_time(list_contents[#list_contents - i][osd_time_type], o.list_time_format[3], o.list_time_format[2], o.list_time_format[1]) - end - - osd_msg = osd_msg .. '\\h\\N\\N' .. osd_msg_end - - if i == list_start + o.list_show_amount - 1 and not showall and not showrest then - osd_msg = osd_msg .. o.list_sliced_suffix - end - - end - mp.set_osd_ass(0, 0, osd_msg) -end - -function list_empty_error_msg() - if list_contents ~= nil and list_contents[1] then return end - local msg_text - if filterName ~= 'all' then - msg_text = filterName .. " filter in History Empty" - else - msg_text = "History Empty" - end - msg.info(msg_text) - if o.osd_messages == true and not list_drawn then - mp.osd_message(msg_text) - end -end - -function display_list(filter, sort, action) - if not filter or not has_value(available_filters, filter) then filter = 'all' end - if not sortName then sortName = get_list_sort(filter) end - - local prev_sort = sortName - if not has_value(available_sorts, prev_sort) then prev_sort = get_list_sort() end - - if not sort then sort = get_list_sort(filter) end - sortName = sort - - local prev_filter = filterName - filterName = filter - - get_list_contents(filter, sort) - - if action ~= 'hide-osd' then - if not list_contents or not list_contents[1] then - list_empty_error_msg() - filterName = prev_filter - get_list_contents(filterName) - return - end - end - if not list_contents and not search_active or not list_contents[1] and not search_active then return end - - if not has_value(o.filters_and_sequence, filter) then - table.insert(o.filters_and_sequence, filter) - end - - local insert_new = false - - local trigger_close_list = false - local trigger_initial_list = false - - - if not list_pages or not list_pages[1] then - table.insert(list_pages, {filter, 1, 1, {}, sort}) - else - for i = 1, #list_pages do - if list_pages[i][1] == filter then - list_pages[i][3] = list_pages[i][3]+1 - insert_new = false - break - else - insert_new = true - end - end - end - - if insert_new then table.insert(list_pages, {filter, 1, 1, {}, sort}) end - - for i = 1, #list_pages do - if not search_active and list_pages[i][1] == prev_filter then - list_pages[i][2] = list_cursor - list_pages[i][4] = list_highlight_cursor - list_pages[i][5] = prev_sort - end - if list_pages[i][1] ~= filter then - list_pages[i][3] = 0 - end - if list_pages[i][3] == 2 and filter == 'all' and o.main_list_keybind_twice_exits then - trigger_close_list = true - elseif list_pages[i][3] == 2 and list_pages[1][1] == filter then - trigger_close_list = true - elseif list_pages[i][3] == 2 then - trigger_initial_list = true - end - end - - if trigger_initial_list then - display_list(list_pages[1][1], nil, 'hide-osd') - return - end - - if trigger_close_list then - list_close_and_trash_collection() - return - end - - if not search_active then get_page_properties(filter) else update_search_results('','') end - draw_list() - if utils.shared_script_property_set then - utils.shared_script_property_set('simplehistory-menu-open', 'yes') - end - mp.set_property('user-data/simplehistory/menu-open', 'yes') - if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'no', 'no_osd') end --1.1.6# fix osc-idlescreen (value was yes for some reason) - list_drawn = true - if not search_active then get_list_keybinds() end -end - ---End of LogManager (Read and Format the List from Log)-- - ---LogManager Navigation-- -function select(pos, action) - if not search_active then - if not list_contents or not list_contents[1] then - list_close_and_trash_collection() - return - end - end - - local list_cursor_temp = list_cursor + pos - if list_cursor_temp > 0 and list_cursor_temp <= #list_contents then - list_cursor = list_cursor_temp - - if action == 'highlight' then - if not has_value(list_highlight_cursor, list_cursor, 1) then - if pos > -1 then - for i = pos, 1, -1 do - if not has_value(list_highlight_cursor, list_cursor-i, 1) then - table.insert(list_highlight_cursor, {list_cursor-i, list_contents[#list_contents+1+i - list_cursor]}) - end - end - else - for i = pos, -1, 1 do - if not has_value(list_highlight_cursor, list_cursor-i, 1) then - table.insert(list_highlight_cursor, {list_cursor-i, list_contents[#list_contents+1+i - list_cursor]}) - end - end - end - table.insert(list_highlight_cursor, {list_cursor, list_contents[#list_contents+1 - list_cursor]}) - else - for i=1, #list_highlight_cursor do - if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor then - table.remove(list_highlight_cursor, i) - end - end - if pos > -1 then - for i=1, #list_highlight_cursor do - for j = pos, 1, -1 do - if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor-j then - table.remove(list_highlight_cursor, i) - end - end - end - else - for i=#list_highlight_cursor, 1, -1 do - for j = pos, -1, 1 do - if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor-j then - table.remove(list_highlight_cursor, i) - end - end - end - end - end - end - end - - if o.loop_through_list then - if list_cursor_temp > #list_contents then - list_cursor = 1 - elseif list_cursor_temp < 1 then - list_cursor = #list_contents - end - end - - draw_list() -end - -function list_move_up(action) - select(-1, action) - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_move_down(action) - select(1, action) - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_move_first(action) - select(1 - list_cursor, action) - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_move_last(action) - select(#list_contents - list_cursor, action) - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_page_up(action) - select(list_start + 1 - list_cursor, action) - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_page_down(action) - if o.list_middle_loader then - if #list_contents < o.list_show_amount then - select(#list_contents - list_cursor, action) - else - select(o.list_show_amount + list_start - list_cursor, action) - end - else - if o.list_show_amount > list_cursor then - select(o.list_show_amount - list_cursor, action) - elseif #list_contents - list_cursor >= o.list_show_amount then - select(o.list_show_amount, action) - else - select(#list_contents - list_cursor, action) - end - end - - if search_active and o.search_not_typing_smartly then - list_search_not_typing_mode(true) - end -end - -function list_highlight_all() - get_list_contents(filterName) - if not list_contents or not list_contents[1] then return end - - if #list_highlight_cursor < #list_contents then - for i=1, #list_contents do - if not has_value(list_highlight_cursor, i, 1) then - table.insert(list_highlight_cursor, {i, list_contents[#list_contents+1-i]}) - end - end - select(0) - else - list_unhighlight_all() - end -end - -function list_unhighlight_all() - if not list_highlight_cursor or not list_highlight_cursor[1] then return end - list_highlight_cursor = {} - select(0) -end ---End of LogManager Navigation-- - ---LogManager Actions-- -function load(list_cursor, add_playlist, target_time) - if not list_contents or not list_contents[1] then return end - if not target_time then - seekTime = tonumber(list_contents[#list_contents - list_cursor + 1].found_time) + o.resume_offset - if (seekTime < 0) then - seekTime = 0 - end - else - seekTime = target_time - end - if file_exists(list_contents[#list_contents - list_cursor + 1].found_path) or starts_protocol(protocols, list_contents[#list_contents - list_cursor + 1].found_path) then - if not add_playlist then - if filePath ~= list_contents[#list_contents - list_cursor + 1].found_path then - mp.commandv('loadfile', list_contents[#list_contents - list_cursor + 1].found_path) - resume_selected = true - else - mp.commandv('seek', seekTime, 'absolute', 'exact') - list_close_and_trash_collection() - end - if o.osd_messages == true then - mp.osd_message('Loaded:\n' .. list_contents[#list_contents - list_cursor + 1].found_name.. o.time_seperator .. format_time(seekTime, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) - end - msg.info('Loaded the below file:\n' .. list_contents[#list_contents - list_cursor + 1].found_name .. ' | '.. format_time(seekTime)) - else - mp.commandv('loadfile', list_contents[#list_contents - list_cursor + 1].found_path, 'append-play') - if o.osd_messages == true then - mp.osd_message('Added into Playlist:\n'..list_contents[#list_contents - list_cursor + 1].found_name..' ') - end - msg.info('Added the below file into playlist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) - end - else - if o.osd_messages == true then - mp.osd_message('File Doesn\'t Exist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) - end - msg.info('The file below doesn\'t seem to exist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) - return - end -end - -function list_select() - load(list_cursor) -end - -function list_add_playlist(action) - if not action then - load(list_cursor, true) - elseif action == 'highlight' then - if not list_highlight_cursor or not list_highlight_cursor[1] then return end - local file_ignored_total = 0 - - for i=1, #list_highlight_cursor do - if file_exists(list_highlight_cursor[i][2].found_path) or starts_protocol(protocols, list_highlight_cursor[i][2].found_path) then - mp.commandv("loadfile", list_highlight_cursor[i][2].found_path, "append-play") - else - msg.warn('The below file was not added into playlist as it does not seem to exist:\n' .. list_highlight_cursor[i][2].found_path) - file_ignored_total = file_ignored_total + 1 - end - end - if o.osd_messages == true then - if file_ignored_total > 0 then - mp.osd_message('Added into Playlist '..#list_highlight_cursor - file_ignored_total..' Item/s\nIgnored '..file_ignored_total.. " Item/s That Do Not Exist") - else - mp.osd_message('Added into Playlist '..#list_highlight_cursor - file_ignored_total..' Item/s') - end - end - if file_ignored_total > 0 then - msg.warn('Ignored a total of '..file_ignored_total.. " Item/s that does not seem to exist") - end - msg.info('Added into playlist a total of '..#list_highlight_cursor - file_ignored_total..' item/s') - end -end - -function delete_log_entry_specific(target_index, target_path, target_time) - local trigger_delete = false - list_contents = read_log_table() - if not list_contents or not list_contents[1] then return end - if target_index == 'last' then target_index = #list_contents end - if not target_index then return end - - if target_index and target_path and target_time then - if list_contents[target_index].found_path == target_path and tonumber(list_contents[target_index].found_time) == target_time then - table.remove(list_contents, target_index) - trigger_delete = true - end - elseif target_index and target_path and not target_time then - if list_contents[target_index].found_path == target_path then - table.remove(list_contents, target_index) - trigger_delete = true - end - elseif target_index and target_time and not target_path then - if tonumber(list_contents[target_index].found_time) == target_time then - table.remove(list_contents, target_index) - trigger_delete = true - end - elseif target_index and not target_path and not target_time then - table.remove(list_contents, target_index) - trigger_delete = true - end - - if not trigger_delete then return end - local f = io.open(log_fullpath, "w+") - if list_contents ~= nil and list_contents[1] then - for i = 1, #list_contents do - f:write(("%s\n"):format(list_contents[i].found_line)) - end - end - f:close() -end - -function delete_log_entry(multiple, round, target_path, target_time, entry_limit) - if not target_path then target_path = filePath end - if not target_time then target_time = seekTime end - list_contents = read_log_table() - if not list_contents or not list_contents[1] then return end - local trigger_delete = false - - if not multiple then - for i = #list_contents, 1, -1 do - if not round then - if list_contents[i].found_path == target_path and tonumber(list_contents[i].found_time) == target_time then - table.remove(list_contents, i) - trigger_delete = true - break - end - else - if list_contents[i].found_path == target_path and math.floor(tonumber(list_contents[i].found_time)) == target_time then - table.remove(list_contents, i) - trigger_delete = true - break - end - end - end - else - for i = #list_contents, 1, -1 do - if not round then - if list_contents[i].found_path == target_path and tonumber(list_contents[i].found_time) == target_time then - table.remove(list_contents, i) - trigger_delete = true - end - else - if list_contents[i].found_path == target_path and math.floor(tonumber(list_contents[i].found_time)) == target_time then - table.remove(list_contents, i) - trigger_delete = true - end - end - end - end - - if entry_limit and entry_limit > -1 then - local entries_found = 0 - for i = #list_contents, 1, -1 do - if list_contents[i].found_path == target_path and entries_found < entry_limit then - entries_found = entries_found + 1 - elseif list_contents[i].found_path == target_path and entries_found >= entry_limit then - table.remove(list_contents,i) - trigger_delete = true - end - end - end - - if not trigger_delete then return end - local f = io.open(log_fullpath, "w+") - if list_contents ~= nil and list_contents[1] then - for i = 1, #list_contents do - f:write(("%s\n"):format(list_contents[i].found_line)) - end - end - f:close() -end - -function delete_log_entry_highlighted() - if not list_highlight_cursor or not list_highlight_cursor[1] then return end - list_contents = read_log_table() - if not list_contents or not list_contents[1] then return end - - local list_contents_length = #list_contents - - for i = 1, list_contents_length do - for j=1, #list_highlight_cursor do - if list_contents[list_contents_length+1-i] then - if list_contents[list_contents_length+1-i].found_sequence == list_highlight_cursor[j][2].found_sequence then - table.remove(list_contents, list_contents_length+1-i) - end - end - end - end - - msg.info("Deleted "..#list_highlight_cursor.." Item/s") - - list_unhighlight_all() - - local f = io.open(log_fullpath, "w+") - if list_contents ~= nil and list_contents[1] then - for i = 1, #list_contents do - f:write(("%s\n"):format(list_contents[i].found_line)) - end - end - f:close() - -end - -function delete_selected() - filePath = list_contents[#list_contents - list_cursor + 1].found_path - fileTitle = list_contents[#list_contents - list_cursor + 1].found_name - seekTime = tonumber(list_contents[#list_contents - list_cursor + 1].found_time) - if not filePath and not seekTime then - msg.info("Failed to delete") - return - end - delete_log_entry() - msg.info("Deleted \"" .. filePath .. "\" | " .. format_time(seekTime)) - filePath, fileTitle, fileLength = get_file() -end - -function list_delete(action) - if not action then - delete_selected() - elseif action == 'highlight' then - delete_log_entry_highlighted() - end - get_list_contents() - if not list_contents or not list_contents[1] then - list_close_and_trash_collection() - return - end - if list_cursor < #list_contents + 1 then - select(0) - else - list_move_last() - end -end - -function get_total_duration(action) - if not list_contents or not list_contents[1] then return 0 end - local list_total_duration = 0 - if action == 'found_time' or action == 'found_length' or action == 'found_remaining' then - for i = #list_contents, 1, -1 do - if tonumber(list_contents[i][action]) > 0 then - list_total_duration = list_total_duration + list_contents[i][action] - end - end - end - return list_total_duration -end - -function list_cycle_sort() - local next_sort - for i = 1, #available_sorts do - if sortName == available_sorts[i] then - if i == #available_sorts then - next_sort = available_sorts[1] - break - else - next_sort = available_sorts[i+1] - break - end - end - end - if not next_sort then return end - get_list_contents(filterName, next_sort) - sortName = next_sort - update_list_highlist_cursor() - select(0) -end - -function update_list_highlist_cursor() - if not list_highlight_cursor or not list_highlight_cursor[1] then return end - - local temp_list_highlight_cursor = {} - for i = 1, #list_contents do - for j=1, #list_highlight_cursor do - if list_contents[#list_contents+1-i].found_sequence == list_highlight_cursor[j][2].found_sequence then - table.insert(temp_list_highlight_cursor, {i, list_highlight_cursor[j][2]}) - end - end - end - - list_highlight_cursor = temp_list_highlight_cursor -end - ---End of LogManager Actions-- - ---LogManager Filter Functions-- -function get_page_properties(filter) - if not filter then return end - for i=1, #list_pages do - if list_pages[i][1] == filter then - list_cursor = list_pages[i][2] - list_highlight_cursor = list_pages[i][4] - sortName = list_pages[i][5] - end - end - if list_cursor > #list_contents then - list_move_last() - end -end - -function select_filter_sequence(pos) - if not list_drawn then return end - local curr_pos - local target_pos - - for i = 1, #o.filters_and_sequence do - if filterName == o.filters_and_sequence[i] then - curr_pos = i - end - end - - if curr_pos and pos > -1 then - for i = curr_pos, #o.filters_and_sequence do - if o.filters_and_sequence[i + pos] then - get_list_contents(o.filters_and_sequence[i + pos]) - if list_contents ~= nil and list_contents[1] then - target_pos = i + pos - break - end - end - end - elseif curr_pos and pos < 0 then - for i = curr_pos, 0, -1 do - if o.filters_and_sequence[i + pos] then - get_list_contents(o.filters_and_sequence[i + pos]) - if list_contents ~= nil and list_contents[1] then - target_pos = i + pos - break - end - end - end - end - - if o.loop_through_filters then - if not target_pos and pos > -1 or target_pos and target_pos > #o.filters_and_sequence then - for i = 1, #o.filters_and_sequence do - get_list_contents(o.filters_and_sequence[i]) - if list_contents ~= nil and list_contents[1] then - target_pos = i - break - end - end - end - if not target_pos and pos < 0 or target_pos and target_pos < 1 then - for i = #o.filters_and_sequence, 1, -1 do - get_list_contents(o.filters_and_sequence[i]) - if list_contents ~= nil and list_contents[1] then - target_pos = i - break - end - end - end - end - - if o.filters_and_sequence[target_pos] then - display_list(o.filters_and_sequence[target_pos], nil, 'hide-osd') - end -end - -function list_filter_next() - select_filter_sequence(1) -end -function list_filter_previous() - select_filter_sequence(-1) -end ---End of LogManager Filter Functions-- - ---LogManager (List Bind and Unbind)-- -function get_list_keybinds() - bind_keys(o.list_ignored_keybind, 'ignore') - bind_keys(o.list_move_up_keybind, 'move-up', list_move_up, 'repeatable') - bind_keys(o.list_move_down_keybind, 'move-down', list_move_down, 'repeatable') - bind_keys(o.list_move_first_keybind, 'move-first', list_move_first, 'repeatable') - bind_keys(o.list_move_last_keybind, 'move-last', list_move_last, 'repeatable') - bind_keys(o.list_page_up_keybind, 'page-up', list_page_up, 'repeatable') - bind_keys(o.list_page_down_keybind, 'page-down', list_page_down, 'repeatable') - bind_keys(o.list_select_keybind, 'list-select', list_select) - bind_keys(o.list_add_playlist_keybind, 'list-add-playlist', list_add_playlist) - bind_keys(o.list_add_playlist_highlighted_keybind, 'list-add-playlist-highlight', function()list_add_playlist('highlight')end) - bind_keys(o.list_delete_keybind, 'list-delete', list_delete) - bind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight', function()list_delete('highlight')end) - bind_keys(o.next_filter_sequence_keybind, 'list-filter-next', list_filter_next) - bind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous', list_filter_previous) - bind_keys(o.list_search_activate_keybind, 'list-search-activate', list_search_activate) - bind_keys(o.list_highlight_all_keybind, 'list-highlight-all', list_highlight_all) - bind_keys(o.list_unhighlight_all_keybind, 'list-unhighlight-all', list_unhighlight_all) - bind_keys(o.list_cycle_sort_keybind, 'list-cycle-sort', list_cycle_sort) - - for i = 1, #o.list_highlight_move_keybind do - for j = 1, #o.list_move_up_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_up_keybind[j], 'highlight-move-up'..j, function()list_move_up('highlight') end, 'repeatable') - end - for j = 1, #o.list_move_down_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_down_keybind[j], 'highlight-move-down'..j, function()list_move_down('highlight') end, 'repeatable') - end - for j = 1, #o.list_move_first_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_first_keybind[j], 'highlight-move-first'..j, function()list_move_first('highlight') end, 'repeatable') - end - for j = 1, #o.list_move_last_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_last_keybind[j], 'highlight-move-last'..j, function()list_move_last('highlight') end, 'repeatable') - end - for j = 1, #o.list_page_up_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_page_up_keybind[j], 'highlight-page-up'..j, function()list_page_up('highlight') end, 'repeatable') - end - for j = 1, #o.list_page_down_keybind do - mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_page_down_keybind[j], 'highlight-page-down'..j, function()list_page_down('highlight') end, 'repeatable') - end - end - - if not search_active then - bind_keys(o.list_close_keybind, 'list-close', list_close_and_trash_collection) - end - - for i = 1, #o.list_filter_jump_keybind do - mp.add_forced_key_binding(o.list_filter_jump_keybind[i][1], 'list-filter-jump'..i, function()display_list(o.list_filter_jump_keybind[i][2]) end) - end - - for i = 1, #o.open_list_keybind do - if i == 1 then - mp.remove_key_binding('open-list') - else - mp.remove_key_binding('open-list'..i) - end - end - - if o.quickselect_0to9_keybind and o.list_show_amount <= 10 then - mp.add_forced_key_binding("1", "recent-1", function()load(list_start + 1) end) - mp.add_forced_key_binding("2", "recent-2", function()load(list_start + 2) end) - mp.add_forced_key_binding("3", "recent-3", function()load(list_start + 3) end) - mp.add_forced_key_binding("4", "recent-4", function()load(list_start + 4) end) - mp.add_forced_key_binding("5", "recent-5", function()load(list_start + 5) end) - mp.add_forced_key_binding("6", "recent-6", function()load(list_start + 6) end) - mp.add_forced_key_binding("7", "recent-7", function()load(list_start + 7) end) - mp.add_forced_key_binding("8", "recent-8", function()load(list_start + 8) end) - mp.add_forced_key_binding("9", "recent-9", function()load(list_start + 9) end) - mp.add_forced_key_binding("0", "recent-0", function()load(list_start + 10) end) - end -end - -function unbind_list_keys() - unbind_keys(o.list_ignored_keybind, 'ignore') - unbind_keys(o.list_move_up_keybind, 'move-up') - unbind_keys(o.list_move_down_keybind, 'move-down') - unbind_keys(o.list_move_first_keybind, 'move-first') - unbind_keys(o.list_move_last_keybind, 'move-last') - unbind_keys(o.list_page_up_keybind, 'page-up') - unbind_keys(o.list_page_down_keybind, 'page-down') - unbind_keys(o.list_select_keybind, 'list-select') - unbind_keys(o.list_add_playlist_keybind, 'list-add-playlist') - unbind_keys(o.list_add_playlist_highlighted_keybind, 'list-add-playlist-highlight') - unbind_keys(o.list_delete_keybind, 'list-delete') - unbind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight') - unbind_keys(o.list_close_keybind, 'list-close') - unbind_keys(o.next_filter_sequence_keybind, 'list-filter-next') - unbind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous') - unbind_keys(o.list_highlight_all_keybind, 'list-highlight-all') - unbind_keys(o.list_highlight_all_keybind, 'list-unhighlight-all') - unbind_keys(o.list_cycle_sort_keybind, 'list-cycle-sort') - - for i = 1, #o.list_move_up_keybind do - mp.remove_key_binding('highlight-move-up'..i) - end - for i = 1, #o.list_move_down_keybind do - mp.remove_key_binding('highlight-move-down'..i) - end - for i = 1, #o.list_move_first_keybind do - mp.remove_key_binding('highlight-move-first'..i) - end - for i = 1, #o.list_move_last_keybind do - mp.remove_key_binding('highlight-move-last'..i) - end - for i = 1, #o.list_page_up_keybind do - mp.remove_key_binding('highlight-page-up'..i) - end - for i = 1, #o.list_page_down_keybind do - mp.remove_key_binding('highlight-page-down'..i) - end - - for i = 1, #o.list_filter_jump_keybind do - mp.remove_key_binding('list-filter-jump'..i) - end - - for i = 1, #o.open_list_keybind do - if i == 1 then - mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list', function()display_list(o.open_list_keybind[i][2]) end) - else - mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list'..i, function()display_list(o.open_list_keybind[i][2]) end) - end - end - - if o.quickselect_0to9_keybind and o.list_show_amount <= 10 then - mp.remove_key_binding("recent-1") - mp.remove_key_binding("recent-2") - mp.remove_key_binding("recent-3") - mp.remove_key_binding("recent-4") - mp.remove_key_binding("recent-5") - mp.remove_key_binding("recent-6") - mp.remove_key_binding("recent-7") - mp.remove_key_binding("recent-8") - mp.remove_key_binding("recent-9") - mp.remove_key_binding("recent-0") - end -end - -function list_close_and_trash_collection() - if utils.shared_script_property_set then - utils.shared_script_property_set('simplehistory-menu-open', 'no') - end - mp.set_property('user-data/simplehistory/menu-open', 'no') - if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'yes', 'no_osd') end - unbind_list_keys() - unbind_search_keys() - mp.set_osd_ass(0, 0, "") - list_drawn = false - list_cursor = 1 - list_start = 0 - filterName = 'all' - list_pages = {} - search_string = '' - search_active = false - list_highlight_cursor = {} - sortName = nil -end ---End of LogManager (List Bind and Unbind)-- - ---LogManager Search Feature-- -function list_search_exit() - search_active = false - get_list_contents(filterName) - get_page_properties(filterName) - select(0) - unbind_search_keys() - get_list_keybinds() -end - -function list_search_not_typing_mode(auto_triggered) - if auto_triggered then - if search_string ~= '' and list_contents[1] then - search_active = 'not_typing' - elseif not list_contents[1] then - return - else - search_active = false - end - else - if search_string ~= '' then - search_active = 'not_typing' - else - search_active = false - end - end - select(0) - unbind_search_keys() - get_list_keybinds() -end - -function list_search_activate() - if not list_drawn then return end - if search_active == 'typing' then list_search_exit() return end - search_active = 'typing' - - for i = 1, #list_pages do - if list_pages[i][1] == filterName then - list_pages[i][2] = list_cursor - list_pages[i][4] = list_highlight_cursor - list_pages[i][5] = sortName - end - end - - update_search_results('','') - bind_search_keys() -end - -function update_search_results(character, action) - if not character then character = '' end - if action == 'string_del' then - search_string = search_string:sub(1, -2) - end - search_string = search_string..character - local prev_contents_length = #list_contents - get_list_contents(filterName) - - if prev_contents_length ~= #list_contents then - list_highlight_cursor = {} - end - - if character ~= '' and #list_contents > 0 or action ~= nil and #list_contents > 0 then - select(1-list_cursor) - elseif #list_contents == 0 then - list_cursor = 0 - select(list_cursor) - else - select(0) - end -end - -function bind_search_keys() - mp.add_forced_key_binding('a', 'search_string_a', function() update_search_results('a') end, 'repeatable') - mp.add_forced_key_binding('b', 'search_string_b', function() update_search_results('b') end, 'repeatable') - mp.add_forced_key_binding('c', 'search_string_c', function() update_search_results('c') end, 'repeatable') - mp.add_forced_key_binding('d', 'search_string_d', function() update_search_results('d') end, 'repeatable') - mp.add_forced_key_binding('e', 'search_string_e', function() update_search_results('e') end, 'repeatable') - mp.add_forced_key_binding('f', 'search_string_f', function() update_search_results('f') end, 'repeatable') - mp.add_forced_key_binding('g', 'search_string_g', function() update_search_results('g') end, 'repeatable') - mp.add_forced_key_binding('h', 'search_string_h', function() update_search_results('h') end, 'repeatable') - mp.add_forced_key_binding('i', 'search_string_i', function() update_search_results('i') end, 'repeatable') - mp.add_forced_key_binding('j', 'search_string_j', function() update_search_results('j') end, 'repeatable') - mp.add_forced_key_binding('k', 'search_string_k', function() update_search_results('k') end, 'repeatable') - mp.add_forced_key_binding('l', 'search_string_l', function() update_search_results('l') end, 'repeatable') - mp.add_forced_key_binding('m', 'search_string_m', function() update_search_results('m') end, 'repeatable') - mp.add_forced_key_binding('n', 'search_string_n', function() update_search_results('n') end, 'repeatable') - mp.add_forced_key_binding('o', 'search_string_o', function() update_search_results('o') end, 'repeatable') - mp.add_forced_key_binding('p', 'search_string_p', function() update_search_results('p') end, 'repeatable') - mp.add_forced_key_binding('q', 'search_string_q', function() update_search_results('q') end, 'repeatable') - mp.add_forced_key_binding('r', 'search_string_r', function() update_search_results('r') end, 'repeatable') - mp.add_forced_key_binding('s', 'search_string_s', function() update_search_results('s') end, 'repeatable') - mp.add_forced_key_binding('t', 'search_string_t', function() update_search_results('t') end, 'repeatable') - mp.add_forced_key_binding('u', 'search_string_u', function() update_search_results('u') end, 'repeatable') - mp.add_forced_key_binding('v', 'search_string_v', function() update_search_results('v') end, 'repeatable') - mp.add_forced_key_binding('w', 'search_string_w', function() update_search_results('w') end, 'repeatable') - mp.add_forced_key_binding('x', 'search_string_x', function() update_search_results('x') end, 'repeatable') - mp.add_forced_key_binding('y', 'search_string_y', function() update_search_results('y') end, 'repeatable') - mp.add_forced_key_binding('z', 'search_string_z', function() update_search_results('z') end, 'repeatable') - - mp.add_forced_key_binding('A', 'search_string_A', function() update_search_results('A') end, 'repeatable') - mp.add_forced_key_binding('B', 'search_string_B', function() update_search_results('B') end, 'repeatable') - mp.add_forced_key_binding('C', 'search_string_C', function() update_search_results('C') end, 'repeatable') - mp.add_forced_key_binding('D', 'search_string_D', function() update_search_results('D') end, 'repeatable') - mp.add_forced_key_binding('E', 'search_string_E', function() update_search_results('E') end, 'repeatable') - mp.add_forced_key_binding('F', 'search_string_F', function() update_search_results('F') end, 'repeatable') - mp.add_forced_key_binding('G', 'search_string_G', function() update_search_results('G') end, 'repeatable') - mp.add_forced_key_binding('H', 'search_string_H', function() update_search_results('H') end, 'repeatable') - mp.add_forced_key_binding('I', 'search_string_I', function() update_search_results('I') end, 'repeatable') - mp.add_forced_key_binding('J', 'search_string_J', function() update_search_results('J') end, 'repeatable') - mp.add_forced_key_binding('K', 'search_string_K', function() update_search_results('K') end, 'repeatable') - mp.add_forced_key_binding('L', 'search_string_L', function() update_search_results('L') end, 'repeatable') - mp.add_forced_key_binding('M', 'search_string_M', function() update_search_results('M') end, 'repeatable') - mp.add_forced_key_binding('N', 'search_string_N', function() update_search_results('N') end, 'repeatable') - mp.add_forced_key_binding('O', 'search_string_O', function() update_search_results('O') end, 'repeatable') - mp.add_forced_key_binding('P', 'search_string_P', function() update_search_results('P') end, 'repeatable') - mp.add_forced_key_binding('Q', 'search_string_Q', function() update_search_results('Q') end, 'repeatable') - mp.add_forced_key_binding('R', 'search_string_R', function() update_search_results('R') end, 'repeatable') - mp.add_forced_key_binding('S', 'search_string_S', function() update_search_results('S') end, 'repeatable') - mp.add_forced_key_binding('T', 'search_string_T', function() update_search_results('T') end, 'repeatable') - mp.add_forced_key_binding('U', 'search_string_U', function() update_search_results('U') end, 'repeatable') - mp.add_forced_key_binding('V', 'search_string_V', function() update_search_results('V') end, 'repeatable') - mp.add_forced_key_binding('W', 'search_string_W', function() update_search_results('W') end, 'repeatable') - mp.add_forced_key_binding('X', 'search_string_X', function() update_search_results('X') end, 'repeatable') - mp.add_forced_key_binding('Y', 'search_string_Y', function() update_search_results('Y') end, 'repeatable') - mp.add_forced_key_binding('Z', 'search_string_Z', function() update_search_results('Z') end, 'repeatable') - - mp.add_forced_key_binding('1', 'search_string_1', function() update_search_results('1') end, 'repeatable') - mp.add_forced_key_binding('2', 'search_string_2', function() update_search_results('2') end, 'repeatable') - mp.add_forced_key_binding('3', 'search_string_3', function() update_search_results('3') end, 'repeatable') - mp.add_forced_key_binding('4', 'search_string_4', function() update_search_results('4') end, 'repeatable') - mp.add_forced_key_binding('5', 'search_string_5', function() update_search_results('5') end, 'repeatable') - mp.add_forced_key_binding('6', 'search_string_6', function() update_search_results('6') end, 'repeatable') - mp.add_forced_key_binding('7', 'search_string_7', function() update_search_results('7') end, 'repeatable') - mp.add_forced_key_binding('8', 'search_string_8', function() update_search_results('8') end, 'repeatable') - mp.add_forced_key_binding('9', 'search_string_9', function() update_search_results('9') end, 'repeatable') - mp.add_forced_key_binding('0', 'search_string_0', function() update_search_results('0') end, 'repeatable') - - mp.add_forced_key_binding('SPACE', 'search_string_space', function() update_search_results(' ') end, 'repeatable') - mp.add_forced_key_binding('`', 'search_string_`', function() update_search_results('`') end, 'repeatable') - mp.add_forced_key_binding('~', 'search_string_~', function() update_search_results('~') end, 'repeatable') - mp.add_forced_key_binding('!', 'search_string_!', function() update_search_results('!') end, 'repeatable') - mp.add_forced_key_binding('@', 'search_string_@', function() update_search_results('@') end, 'repeatable') - mp.add_forced_key_binding('SHARP', 'search_string_sharp', function() update_search_results('#') end, 'repeatable') - mp.add_forced_key_binding('$', 'search_string_$', function() update_search_results('$') end, 'repeatable') - mp.add_forced_key_binding('%', 'search_string_percentage', function() update_search_results('%') end, 'repeatable') - mp.add_forced_key_binding('^', 'search_string_^', function() update_search_results('^') end, 'repeatable') - mp.add_forced_key_binding('&', 'search_string_&', function() update_search_results('&') end, 'repeatable') - mp.add_forced_key_binding('*', 'search_string_*', function() update_search_results('*') end, 'repeatable') - mp.add_forced_key_binding('(', 'search_string_(', function() update_search_results('(') end, 'repeatable') - mp.add_forced_key_binding(')', 'search_string_)', function() update_search_results(')') end, 'repeatable') - mp.add_forced_key_binding('-', 'search_string_-', function() update_search_results('-') end, 'repeatable') - mp.add_forced_key_binding('_', 'search_string__', function() update_search_results('_') end, 'repeatable') - mp.add_forced_key_binding('=', 'search_string_=', function() update_search_results('=') end, 'repeatable') - mp.add_forced_key_binding('+', 'search_string_+', function() update_search_results('+') end, 'repeatable') - mp.add_forced_key_binding('\\', 'search_string_\\', function() update_search_results('\\') end, 'repeatable') - mp.add_forced_key_binding('|', 'search_string_|', function() update_search_results('|') end, 'repeatable') - mp.add_forced_key_binding(']', 'search_string_]', function() update_search_results(']') end, 'repeatable') - mp.add_forced_key_binding('}', 'search_string_rightcurly', function() update_search_results('}') end, 'repeatable') - mp.add_forced_key_binding('[', 'search_string_[', function() update_search_results('[') end, 'repeatable') - mp.add_forced_key_binding('{', 'search_string_leftcurly', function() update_search_results('{') end, 'repeatable') - mp.add_forced_key_binding('\'', 'search_string_\'', function() update_search_results('\'') end, 'repeatable') - mp.add_forced_key_binding('\"', 'search_string_\"', function() update_search_results('\"') end, 'repeatable') - mp.add_forced_key_binding(';', 'search_string_semicolon', function() update_search_results(';') end, 'repeatable') - mp.add_forced_key_binding(':', 'search_string_:', function() update_search_results(':') end, 'repeatable') - mp.add_forced_key_binding('/', 'search_string_/', function() update_search_results('/') end, 'repeatable') - mp.add_forced_key_binding('?', 'search_string_?', function() update_search_results('?') end, 'repeatable') - mp.add_forced_key_binding('.', 'search_string_.', function() update_search_results('.') end, 'repeatable') - mp.add_forced_key_binding('>', 'search_string_>', function() update_search_results('>') end, 'repeatable') - mp.add_forced_key_binding(',', 'search_string_,', function() update_search_results(',') end, 'repeatable') - mp.add_forced_key_binding('<', 'search_string_<', function() update_search_results('<') end, 'repeatable') - - mp.add_forced_key_binding('bs', 'search_string_del', function() update_search_results('', 'string_del') end, 'repeatable') - bind_keys(o.list_close_keybind, 'search_exit', function() list_search_exit() end) - bind_keys(o.list_search_not_typing_mode_keybind, 'search_string_not_typing', function()list_search_not_typing_mode(false) end) - - if o.search_not_typing_smartly then - bind_keys(o.next_filter_sequence_keybind, 'list-filter-next', function() list_filter_next() list_search_not_typing_mode(true) end) - bind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous', function() list_filter_previous() list_search_not_typing_mode(true) end) - bind_keys(o.list_delete_keybind, 'list-delete', function() list_delete() list_search_not_typing_mode(true) end) - bind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight', function() list_delete('highlight') list_search_not_typing_mode(true) end) - end -end - -function unbind_search_keys() - mp.remove_key_binding('search_string_a') - mp.remove_key_binding('search_string_b') - mp.remove_key_binding('search_string_c') - mp.remove_key_binding('search_string_d') - mp.remove_key_binding('search_string_e') - mp.remove_key_binding('search_string_f') - mp.remove_key_binding('search_string_g') - mp.remove_key_binding('search_string_h') - mp.remove_key_binding('search_string_i') - mp.remove_key_binding('search_string_j') - mp.remove_key_binding('search_string_k') - mp.remove_key_binding('search_string_l') - mp.remove_key_binding('search_string_m') - mp.remove_key_binding('search_string_n') - mp.remove_key_binding('search_string_o') - mp.remove_key_binding('search_string_p') - mp.remove_key_binding('search_string_q') - mp.remove_key_binding('search_string_r') - mp.remove_key_binding('search_string_s') - mp.remove_key_binding('search_string_t') - mp.remove_key_binding('search_string_u') - mp.remove_key_binding('search_string_v') - mp.remove_key_binding('search_string_w') - mp.remove_key_binding('search_string_x') - mp.remove_key_binding('search_string_y') - mp.remove_key_binding('search_string_z') - - mp.remove_key_binding('search_string_A') - mp.remove_key_binding('search_string_B') - mp.remove_key_binding('search_string_C') - mp.remove_key_binding('search_string_D') - mp.remove_key_binding('search_string_E') - mp.remove_key_binding('search_string_F') - mp.remove_key_binding('search_string_G') - mp.remove_key_binding('search_string_H') - mp.remove_key_binding('search_string_I') - mp.remove_key_binding('search_string_J') - mp.remove_key_binding('search_string_K') - mp.remove_key_binding('search_string_L') - mp.remove_key_binding('search_string_M') - mp.remove_key_binding('search_string_N') - mp.remove_key_binding('search_string_O') - mp.remove_key_binding('search_string_P') - mp.remove_key_binding('search_string_Q') - mp.remove_key_binding('search_string_R') - mp.remove_key_binding('search_string_S') - mp.remove_key_binding('search_string_T') - mp.remove_key_binding('search_string_U') - mp.remove_key_binding('search_string_V') - mp.remove_key_binding('search_string_W') - mp.remove_key_binding('search_string_X') - mp.remove_key_binding('search_string_Y') - mp.remove_key_binding('search_string_Z') - - mp.remove_key_binding('search_string_1') - mp.remove_key_binding('search_string_2') - mp.remove_key_binding('search_string_3') - mp.remove_key_binding('search_string_4') - mp.remove_key_binding('search_string_5') - mp.remove_key_binding('search_string_6') - mp.remove_key_binding('search_string_7') - mp.remove_key_binding('search_string_8') - mp.remove_key_binding('search_string_9') - mp.remove_key_binding('search_string_0') - - mp.remove_key_binding('search_string_space') - mp.remove_key_binding('search_string_`') - mp.remove_key_binding('search_string_~') - mp.remove_key_binding('search_string_!') - mp.remove_key_binding('search_string_@') - mp.remove_key_binding('search_string_sharp') - mp.remove_key_binding('search_string_$') - mp.remove_key_binding('search_string_percentage') - mp.remove_key_binding('search_string_^') - mp.remove_key_binding('search_string_&') - mp.remove_key_binding('search_string_*') - mp.remove_key_binding('search_string_(') - mp.remove_key_binding('search_string_)') - mp.remove_key_binding('search_string_-') - mp.remove_key_binding('search_string__') - mp.remove_key_binding('search_string_=') - mp.remove_key_binding('search_string_+') - mp.remove_key_binding('search_string_\\') - mp.remove_key_binding('search_string_|') - mp.remove_key_binding('search_string_]') - mp.remove_key_binding('search_string_rightcurly') - mp.remove_key_binding('search_string_[') - mp.remove_key_binding('search_string_leftcurly') - mp.remove_key_binding('search_string_\'') - mp.remove_key_binding('search_string_\"') - mp.remove_key_binding('search_string_semicolon') - mp.remove_key_binding('search_string_:') - mp.remove_key_binding('search_string_/') - mp.remove_key_binding('search_string_?') - mp.remove_key_binding('search_string_.') - mp.remove_key_binding('search_string_>') - mp.remove_key_binding('search_string_,') - mp.remove_key_binding('search_string_<') - - mp.remove_key_binding('search_string_del') - if not search_active then - unbind_keys(o.list_close_keybind, 'search_exit') - end -end ---End of LogManager Search Feature-- ----------End of LogManager--------- - -function history_blacklist_check() - if not o.history_blacklist[1] or #o.history_blacklist == 1 and o.history_blacklist[1] == "" then return false end - local invertable_return = {true, false} - local blacklist_msg = 'File was not added to history because of blacklist' - if o.invert_history_blacklist then - invertable_return = {false, true} - blacklist_msg = 'File was added to history because of whitelist' - end - - if has_value(o.history_blacklist, filePath, nil) then - msg.info(blacklist_msg) - return invertable_return[1] - elseif not starts_protocol(protocols, filePath) then - if has_value(o.history_blacklist, filePath:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$'), nil) or - has_value(o.history_blacklist, filePath:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$'):gsub('\\$', ''), nil) then - msg.info(blacklist_msg) - return invertable_return[1] - elseif has_value(o.history_blacklist, filePath:match('%.([^%.]+)$'), nil) or - has_value(o.history_blacklist, "."..filePath:match('%.([^%.]+)$'), nil) then - msg.info(blacklist_msg) - return invertable_return[1] - else --1.1.2# check to add any subfolder after /* to blacklist. issue #70 - for i=1, #o.history_blacklist do --1.1.2# loop through blacklisted items, if the blacklist ends with * and it is a match after subbing of the current filePath then log it. #and additionally if it is the exact same path then ignore it. - if string.lower(filePath):match(string.lower(o.history_blacklist[i])) and o.history_blacklist[i]:sub(-1,#o.history_blacklist[i]) == '*' and string.lower(o.history_blacklist[i]:sub(1,-2)) ~= string.lower(filePath):match("(.*[\\/])") then - msg.info(blacklist_msg) - return invertable_return[1] - end - end - end - elseif starts_protocol(protocols, filePath) then - if has_value(o.history_blacklist, filePath:match('(.-)(:)'), nil) or - has_value(o.history_blacklist, filePath:match('(.-:)'), nil) or - has_value(o.history_blacklist, filePath:match('(.-:/?/?)'), nil) then - msg.info(blacklist_msg) - return invertable_return[1] - elseif filePath:find('https?://') == 1 then - local difchk_1, difchk_2 = filePath:match("(https?://)w?w?w?%.?([%w%.%:]*)") - local different_check_temp = difchk_1..difchk_2 - local different_checks = {different_check_temp, filePath:match("https?://w?w?w?%.?([%w%.%:]*)"), filePath:match("https?://([%w%.%:]*)"), filePath:match("(https?://[%w%.%:]*)") } - for i = 1, #different_checks do - if different_checks[i] and has_value(o.history_blacklist, different_checks[i], nil) - or different_checks[i]..'/' and has_value(o.history_blacklist, different_checks[i]..'/', nil) then - msg.info(blacklist_msg) - return invertable_return[1] - end - end - end - end - - return invertable_return[2] -end - -function mark_chapter() - if not o.mark_history_as_chapter then return end - - local all_chapters = mp.get_property_native("chapter-list") - local chapter_index = 0 - local chapters_time = {} - - get_list_contents() - if not list_contents or not list_contents[1] then return end - for i = 1, #list_contents do - if list_contents[i].found_path == filePath and tonumber(list_contents[i].found_time) > 0 then - table.insert(chapters_time, tonumber(list_contents[i].found_time)) - end - end - if not chapters_time[1] then return end - - table.sort(chapters_time, function(a, b) return a < b end) - - for i = 1, #chapters_time do - chapter_index = chapter_index + 1 - - all_chapters[chapter_index] = { - title = 'SimpleHistory ' .. chapter_index, - time = chapters_time[i] - } - end - - table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) - - mp.set_property_native("chapter-list", all_chapters) -end - -function write_log(target_time, update_seekTime, entry_limit) - if not filePath then return end - local prev_seekTime = seekTime - seekTime = (mp.get_property_number('time-pos') or 0) - if target_time then - seekTime = target_time - end - if seekTime < 0 then seekTime = 0 end - - delete_log_entry(false, true, filePath, math.floor(seekTime), entry_limit) - - local f = io.open(log_fullpath, "a+") - if o.file_title_logging == 'all' then - f:write(("[%s] \"%s\" | %s | %s | %s"):format(os.date(o.date_format), fileTitle, filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) - elseif o.file_title_logging == 'protocols' and (starts_protocol(o.logging_protocols, filePath)) then - f:write(("[%s] \"%s\" | %s | %s | %s"):format(os.date(o.date_format), fileTitle, filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) - elseif o.file_title_logging == 'protocols' and not (starts_protocol(o.logging_protocols, filePath)) then - f:write(("[%s] %s | %s | %s"):format(os.date(o.date_format), filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) - else - f:write(("[%s] %s | %s | %s"):format(os.date(o.date_format), filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) - end - - f:write('\n') - f:close() - - if not update_seekTime then - seekTime = prev_seekTime - end -end - -function history_incognito_mode() - if not incognito_mode then - incognito_mode = true - if o.osd_messages == true then - mp.osd_message('🕵 Incognito Mode Enabled') - end - msg.info('Incognito Mode Enabled') - - if o.delete_incognito_entry and autosaved_entry == true then - delete_log_entry_specific('last', filePath, 0) - autosaved_entry = 'autosaved-restore' - if list_drawn then - get_list_contents() - select(0) - end - end - else - incognito_mode = false - if o.osd_messages == true then - mp.osd_message('Incognito Mode Disabled') - end - msg.info('Incognito Mode Disabled') - - if o.restore_incognito_entry == 'always' then - history_fileonly_save() - autosaved_entry = true - elseif o.restore_incognito_entry == 'deleted-restore' and autosaved_entry == 'autosaved-restore' then - history_fileonly_save() - autosaved_entry = true - if list_drawn then - get_list_contents() - select(0) - end - end - end -end - -function history_resume_option() - if o.resume_option == 'notification' or o.resume_option == 'force' then - local video_time = mp.get_property_number('time-pos') - local video_path = mp.get_property('path') --1.1.4# local variable instead of filePath - if video_time > 0 then return end - local logged_time = 0 - local percentage = 0 - local video_duration = (mp.get_property_number('duration') or 0) - list_contents = read_log_table() - if not list_contents or not list_contents[1] then return end - for i = #list_contents, 1, -1 do - if list_contents[i].found_path == video_path and tonumber(list_contents[i].found_time) > 0 then --1.1.4# instead of filePath in case it is causing issue - logged_time = tonumber(list_contents[i].found_time) + o.resume_offset - break - end - end - if logged_time > 0 then - percentage = math.floor((logged_time / video_duration) * 100 + 0.5) - if o.resume_option == 'notification' then - if percentage > o.resume_option_threshold and percentage < (100-o.resume_option_threshold) or o.resume_option_threshold == 0 then - mp.osd_message('⌨ [' .. string.upper(o.history_resume_keybind[1]) .. '] Resumes To' .. o.time_seperator .. format_time(logged_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]),3) - end - elseif o.resume_option == 'force' then - if percentage > o.resume_option_threshold and percentage < (100-o.resume_option_threshold) or o.resume_option_threshold == 0 then - mp.commandv('seek', logged_time, 'absolute', 'exact') - if (o.osd_messages == true) then - mp.osd_message('Resumed To Last Played Position\n' .. o.time_seperator .. format_time(logged_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) - end - msg.info('Resumed to the last played position') - end - end - end - end -end - -function history_save(target_time) - if filePath ~= nil then - if history_blacklist_check() then - return - end - write_log(target_time, false, o.same_entry_limit) - if list_drawn then - get_list_contents() - select(0) - end - msg.info('Added the below into history\n' .. fileTitle .. o.time_seperator .. format_time(seekTime)) - else - msg.info("Failed to add into history") - end -end - -function history_fileonly_save() - if filePath ~= nil then - if history_blacklist_check() then - return - end - write_log(0, false) - if list_drawn then - get_list_contents() - select(0) - end - msg.info('Added the below into history\n' .. fileTitle .. o.time_seperator .. format_time(seekTime)) - else - msg.info("Failed to add into history, no file found") - end -end - -function history_resume() - if filePath == nil then - list_contents = read_log_table() - load(1) - elseif filePath ~= nil then - list_contents = read_log_table() - if list_contents ~= nil and list_contents[1] then - for i = #list_contents, 1, -1 do - if list_contents[i].found_path == filePath and tonumber(list_contents[i].found_time) > 0 then - seekTime = tonumber(list_contents[i].found_time) + o.resume_offset - break - end - end - end - if seekTime > 0 then - mp.commandv('seek', seekTime, 'absolute', 'exact') - if (o.osd_messages == true) then - mp.osd_message('Resumed To Last Played Position\n' .. o.time_seperator .. format_time(seekTime, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) - end - msg.info('Resumed to the last played position') - else - if (o.osd_messages == true) then - mp.osd_message('No Resume Position Found For This Video') - end - msg.info('No resume position found for this video') - end - end -end - -function history_load_last() - if filePath == nil then - list_contents = read_log_table() - load(1, false, 0) - elseif filePath ~= nil then - list_contents = read_log_table() - load(2, true) - end -end - -mp.register_event('file-loaded', function() - list_close_and_trash_collection() - filePath, fileTitle, fileLength = get_file() - loadTriggered = true --1.1.5# for resume and resume-notime startup behavior (so that it only triggers if started as idle and only once) - if (o.resume_option ~= 'none' and resume_selected == true and seekTime > 0) then - mp.commandv('seek', seekTime, 'absolute', 'exact') - resume_selected = false - end - history_resume_option() --1.1.4# remove timeout, cant remember why I put it in first place - mark_chapter() - if not incognito_mode then - history_fileonly_save() - autosaved_entry = true - end -end) - -mp.add_hook('on_unload', 9, function()--1.1.3# get the LogTime only when using on_unload because big functions do not run fully in here - logTime = (mp.get_property_number('time-pos') or 0) -end) -mp.register_event('end-file', function()--1.1.3# use end-file instead so that it doesn't cause crash while seeking ( i am able to run big functions here) - if not incognito_mode then - if autosaved_entry == true then delete_log_entry_specific('last', filePath, 0) end - history_save(logTime) --1.1.3# get the updated time from on_unload since it will still be preserved - end - autosaved_entry = false - logTime = 0 --1.1.3# reset logTime to 0 -end) - -mp.observe_property("idle-active", "bool", function(_, v) - if v then --1.1.2# if idle is triggered - filePath, fileTitle, fileLength = nil --1.1.2# set it back to nil if idle is triggered for better trash collection. issue #69 - end - - if v and o.startup_idle_behavior == 'resume' and not loadTriggered then --1.1.5# option to resume on startup - history_resume() - elseif v and o.startup_idle_behavior == 'resume-notime' and not loadTriggered then --1.1.5# option to load last item on startup - history_load_last() - elseif v and has_value(available_filters, o.auto_run_list_idle) then - display_list(o.auto_run_list_idle, nil, 'hide-osd') - end - - if v and o.auto_run_incognito_mode and not incognito_auto_run_triggered or - not v and o.auto_run_incognito_mode and not incognito_auto_run_triggered then - history_incognito_mode() - incognito_auto_run_triggered = true - end -end) - -bind_keys(o.history_resume_keybind, 'history-resume', history_resume) -bind_keys(o.history_load_last_keybind, 'history-load-last', history_load_last) -bind_keys(o.history_incognito_mode_keybind, 'history-incognito-mode', history_incognito_mode) - -for i = 1, #o.open_list_keybind do - if i == 1 then - mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list', function()display_list(o.open_list_keybind[i][2]) end) - else - mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list'..i, function()display_list(o.open_list_keybind[i][2]) end) - end -end \ No newline at end of file diff --git a/scripts/slicing_copy.lua b/scripts/slicing_copy.lua deleted file mode 100644 index 95587ae..0000000 --- a/scripts/slicing_copy.lua +++ /dev/null @@ -1,227 +0,0 @@ -local msg = require "mp.msg" -local utils = require "mp.utils" -local options = require "mp.options" - -local cut_pos = nil -local copy_audio = true -local ext_map = { - ["mpegts"] = "ts", -} -local o = { - ffmpeg_path = "ffmpeg", - target_dir = "~~/cutfragments", - overwrite = false, -- whether to overwrite exist files - vcodec = "copy", - acodec = "copy", - debug = false, -} - -options.read_options(o) - -Command = {} - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -function Command:new(name) - local o = {} - setmetatable(o, self) - self.__index = self - o.name = "" - o.args = { "" } - if name then - o.name = name - o.args[1] = name - end - return o -end -function Command:arg(...) - for _, v in ipairs({...}) do - self.args[#self.args + 1] = v - end - return self -end -function Command:as_str() - return table.concat(self.args, " ") -end -function Command:run() - local res, err = mp.command_native({ - name = "subprocess", - args = self.args, - capture_stdout = true, - capture_stderr = true, - }) - return res, err -end - -local function file_format() - local fmt = mp.get_property("file-format") - if not fmt:find(',') then - return fmt - end - local path = mp.get_property('path') - if is_protocol(path) then - return nil - end - local filename = mp.get_property('filename') - return filename:match('%.([^.]+)$') -end - -local function get_ext() - local fmt = file_format() - if fmt and ext_map[fmt] ~= nil then - return ext_map[fmt] - else - return fmt - end -end - -local function timestamp(duration) - local hours = math.floor(duration / 3600) - local minutes = math.floor(duration % 3600 / 60) - local seconds = duration % 60 - return string.format("%02d:%02d:%06.3f", hours, minutes, seconds) -end - -local function osd(str) - return mp.osd_message(str, 3) -end - -local function info(s) - msg.info(s) - osd(s) -end - -local function get_outname(path, shift, endpos) - local name = mp.get_property("filename/no-ext") - if is_protocol(path) then - name = mp.get_property("media-title") - end - local ext = get_ext() or "mkv" - name = string.format("%s_%s-%s.%s", name, timestamp(shift), timestamp(endpos), ext) - return name:gsub(":", "-") -end - -local function cut(shift, endpos) - local duration = endpos - shift - local path = mp.get_property("path") - local inpath = mp.get_property("stream-open-filename") - local outpath = utils.join_path( - o.target_dir, - get_outname(path, shift, endpos) - ) - - local cache = mp.get_property_native("cache") - local cache_state = mp.get_property_native("demuxer-cache-state") - local cache_ranges = cache_state and cache_state["seekable-ranges"] or {} - if path and is_protocol(path) or cache == "auto" and #cache_ranges > 0 then - local pid = mp.get_property_native('pid') - local temp_path = os.getenv("TEMP") or "/tmp/" - local temp_video_file = utils.join_path(temp_path, "mpv_dump_" .. pid .. ".mkv") - mp.commandv("dump-cache", shift, endpos, temp_video_file) - shift = 0 - inpath = temp_video_file - end - - local cmds = Command:new(o.ffmpeg_path) - :arg("-v", "warning") - :arg(o.overwrite and "-y" or "-n") - :arg("-stats") - cmds:arg("-ss", tostring(shift)) - cmds:arg("-accurate_seek") - cmds:arg("-i", inpath) - cmds:arg("-t", tostring(duration)) - cmds:arg("-c:v", o.vcodec) - cmds:arg("-c:a", o.acodec) - cmds:arg("-c:s", "copy") - cmds:arg("-map", string.format("v:%s?", math.max(mp.get_property_number("current-tracks/video/id", 0) - 1, 0))) - cmds:arg("-map", string.format("a:%s?", math.max(mp.get_property_number("current-tracks/audio/id", 0) - 1, 0))) - cmds:arg("-map", string.format("s:%s?", math.max(mp.get_property_number("current-tracks/sub/id", 0) - 1, 0))) - cmds:arg(not copy_audio and "-an" or nil) - cmds:arg("-avoid_negative_ts", "make_zero") - cmds:arg("-async", "1") - cmds:arg(outpath) - msg.info("Run commands: " .. cmds:as_str()) - local screenx, screeny, aspect = mp.get_osd_size() - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - local res, err = cmds:run() - mp.set_osd_ass(screenx, screeny, "") - if err then - msg.error(utils.to_string(err)) - mp.osd_message("Failed. Refer console for details.") - elseif res.status ~= 0 then - if res.stderr ~= "" or res.stdout ~= "" then - msg.info("stderr: " .. (res.stderr:gsub("^%s*(.-)%s*$", "%1"))) -- trim stderr - msg.info("stdout: " .. (res.stdout:gsub("^%s*(.-)%s*$", "%1"))) -- trim stdout - mp.osd_message("Failed. Refer console for details.") - end - elseif res.status == 0 then - if o.debug and (res.stderr ~= "" or res.stdout ~= "") then - msg.info("stderr: " .. (res.stderr:gsub("^%s*(.-)%s*$", "%1"))) -- trim stderr - msg.info("stdout: " .. (res.stdout:gsub("^%s*(.-)%s*$", "%1"))) -- trim stdout - end - msg.info("Trim file successfully created: " .. outpath) - mp.add_timeout(1, function() - mp.osd_message("Trim file successfully created!") - end) - end -end - -local function toggle_mark() - local pos, err = mp.get_property_number("time-pos") - if not pos then - osd("Failed to get timestamp") - msg.error("Failed to get timestamp: " .. err) - return - end - if cut_pos then - local shift, endpos = cut_pos, pos - if shift > endpos then - shift, endpos = endpos, shift - elseif shift == endpos then - osd("Cut fragment is empty") - return - end - cut_pos = nil - info(string.format("Cut fragment: %s-%s", timestamp(shift), timestamp(endpos))) - cut(shift, endpos) - else - cut_pos = pos - info(string.format("Marked %s as start position", timestamp(pos))) - end -end - -local function toggle_audio() - copy_audio = not copy_audio - info("Audio capturing is " .. (copy_audio and "enabled" or "disabled")) -end - -local function clear_toggle_mark() - cut_pos = nil - info("Cleared cut fragment") -end - -o.target_dir = o.target_dir:gsub('"', "") -local file, _ = utils.file_info(mp.command_native({ "expand-path", o.target_dir })) -if not file then - --create target_dir if it doesn't exist - local savepath = mp.command_native({ "expand-path", o.target_dir }) - local is_windows = package.config:sub(1, 1) == "\\" - local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", savepath) } - local unix_args = { 'mkdir', '-p', savepath } - local args = is_windows and windows_args or unix_args - local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) - if res.status ~= 0 then - msg.error("Failed to create target_dir save directory "..savepath..". Error: "..(res.error or "unknown")) - return - end -elseif not file.is_dir then - osd("target_dir is a file") - msg.warn(string.format("target_dir `%s` is a file", o.target_dir)) -end -o.target_dir = mp.command_native({ "expand-path", o.target_dir }) - -mp.add_key_binding("c", "slicing_mark", toggle_mark) -mp.add_key_binding("a", "slicing_audio", toggle_audio) -mp.add_key_binding("C", "clear_slicing_mark", clear_toggle_mark) \ No newline at end of file diff --git a/scripts/sponsorblock_minimal.lua b/scripts/sponsorblock_minimal.lua deleted file mode 100644 index 00ff1f6..0000000 --- a/scripts/sponsorblock_minimal.lua +++ /dev/null @@ -1,149 +0,0 @@ --- sponsorblock_minimal.lua v 0.5.1 --- --- This script skip/mute sponsored segments of YouTube and bilibili videos --- using data from https://github.com/ajayyy/SponsorBlock --- and https://github.com/hanydd/BilibiliSponsorBlock - -local opt = require 'mp.options' -local utils = require 'mp.utils' - -local options = { - youtube_sponsor_server = "https://sponsor.ajay.app/api/skipSegments", - bilibili_sponsor_server = "https://bsbsb.top/api/skipSegments", - -- Categories to fetch - -- Perform skip/mute/mark chapter based on the 'actionType' returned - categories = '"sponsor"', -} - -opt.read_options(options) - -local ranges = nil -local video_id = nil -local sponsor_server = nil -local cache = {} -local mute = false -local ON = false - -local function getranges(url) - local res = mp.command_native{ - name = "subprocess", - capture_stdout = true, - playback_only = false, - args = { - "curl", "-L", "-s", "-g", - "-H", "origin: mpv-script/sponsorblock_minimal", - "-H", "x-ext-version: 0.5.1", - url - } - } - - if res.status ~= 0 then - return nil - end - - return utils.parse_json(res.stdout) -end - -local function make_chapter(ranges) - local chapters_time = {} - local chapters_title = {} - local chapter_index = 0 - local all_chapters = mp.get_property_native("chapter-list") - for _, v in pairs(ranges) do - table.insert(chapters_time, v.segment[1]) - table.insert(chapters_title, v.category) - table.insert(chapters_time, v.segment[2]) - table.insert(chapters_title, "normal") - end - - for i = 1, #chapters_time do - chapter_index = chapter_index + 1 - all_chapters[chapter_index] = { - title = chapters_title[i] or ("Chapter " .. string.format("%02.f", chapter_index)), - time = chapters_time[i] - } - end - - table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) - mp.set_property_native("chapter-list", all_chapters) -end - -local function skip_ads(_, pos) - if pos ~= nil and ranges ~= nil then - for _, v in pairs(ranges) do - if v.actionType == "skip" and v.segment[1] <= pos and v.segment[2] > pos then - --this message may sometimes be wrong - --it only seems to be a visual thing though - local time = math.floor(v.segment[2] - pos) - mp.osd_message(string.format("[sponsorblock] skipping forward %ds", time)) - --need to do the +0.01 otherwise mpv will start spamming skip sometimes - mp.set_property("time-pos", v.segment[2] + 0.01) - elseif v.actionType == "mute" then - if v.segment[1] <= pos and v.segment[2] >= pos then - cache[v.segment[2]] = nil - mp.set_property_bool("mute", true) - elseif pos > v.segment[2] and not cache[v.segment[2]] and mute ~= false then - cache[v.segment[2]] = true - mp.set_property_bool("mute", false) - end - end - end - end -end - -local function file_loaded() - cache = {} - local video_path = mp.get_property("path", "") - local video_referer = mp.get_property("http-header-fields", ""):match("[Rr]eferer:%s*([^,\r\n]+)") or "" - local purl = mp.get_property("metadata/by-key/PURL", "") - local bilibili = video_path:match("bilibili.com/video") or video_referer:match("bilibili.com/video") or false - mute = mp.get_property_bool("mute") - - local urls = { - "ytdl://youtu%.be/([%w-_]+).*", - "ytdl://w?w?w?%.?youtube%.com/v/([%w-_]+).*", - "ytdl://w?w?w?%.?bilibili%.com/video/([%w-_]+).*", - "https?://youtu%.be/([%w-_]+).*", - "https?://w?w?w?%.?youtube%.com/v/([%w-_]+).*", - "https?://w?w?w?%.?bilibili%.com/video/([%w-_]+).*", - "/watch.*[?&]v=([%w-_]+).*", - "/embed/([%w-_]+).*", - "^ytdl://([%w-_]+)$", - "-([%w-_]+)%." - } - - for _, url in ipairs(urls) do - video_id = video_id or video_path:match(url) or video_referer:match(url) or purl:match(url) - end - - if not video_id or string.len(video_id) < 11 then return end - - if bilibili then - sponsor_server = options.bilibili_sponsor_server - video_id = string.sub(video_id, 1, 12) - else - sponsor_server = options.youtube_sponsor_server - video_id = string.sub(video_id, 1, 11) - end - - local url = ("%s?videoID=%s&categories=[%s]"):format(sponsor_server, video_id, options.categories) - - ranges = getranges(url) - if ranges ~= nil then - make_chapter(ranges) - ON = true - mp.observe_property("time-pos", "native", skip_ads) - end -end - -local function end_file() - if not ON then return end - mp.unobserve_property(skip_ads) - video_id = nil - cache = nil - ranges = nil - ON = false -end - -mp.register_event("file-loaded", file_loaded) -mp.register_event("end-file", end_file) \ No newline at end of file diff --git a/scripts/sub-assrt.lua b/scripts/sub-assrt.lua deleted file mode 100644 index 59e7dda..0000000 --- a/scripts/sub-assrt.lua +++ /dev/null @@ -1,704 +0,0 @@ ---[[ - * sub-assrt.lua - * - * AUTHORS: dyphire - * License: MIT - * link: https://github.com/dyphire/mpv-sub-assrt -]] - -local utils = require "mp.utils" -local msg = require "mp.msg" -local options = require("mp.options") -local input_loaded, input = pcall(require, "mp.input") -local uosc_available = false - -local o = { - -- API token, 可以在 https://assrt.net 上注册账号后在个人界面获取 - api_token = "tNjXZUnOJWcHznHDyalNMYqqP6IdDdpQ", - -- 是否使用 https - use_https = true, - -- 代理设置 - proxy = "", -} - -options.read_options(o, _, function() end) - -local ASSRT_SEARCH_API = (o.use_https and "https" or "http") .. "://api.assrt.net/v1/sub/search" -local ASSRT_DETAIL_API = (o.use_https and "https" or "http") .. "://api.assrt.net/v1/sub/detail" - -local TEMP_DIR = os.getenv("TEMP") or "/tmp" -local cache = {} - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -local function hex_to_char(x) - return string.char(tonumber(x, 16)) -end - -local function url_encode(str) - if str then - str = str:gsub("([^%w%-%.%_%~])", function(c) - return string.format("%%%02X", string.byte(c)) - end) - end - return str -end - -local function url_decode(str) - if str ~= nil then - str = str:gsub('^%a[%a%d-_]+://', '') - :gsub('^%a[%a%d-_]+:\\?', '') - :gsub('%%(%x%x)', hex_to_char) - if str:find('://localhost:?') then - str = str:gsub('^.*/', '') - end - str = str:gsub('%?.+', '') - :gsub('%+', ' ') - return str - else - return - end -end - -local function is_compressed_file(filename) - local ext_map = { - zip = true, - rar = true, - ["7z"] = true, - gz = true, - tar = true, - bz2 = true, - xz = true, - tgz = true, - tbz2 = true, - } - - local ext = filename:match("%.([%w]+)$"):lower() - if ext then - return ext_map[ext] or false - end - return false -end - -local function http_request(url) - local cmd = { - "curl", - "-s", - "-L", - "--max-redirs", "5", - "--connect-timeout", "10", - "--max-time", "30", - "--user-agent", "mpv", - url - } - - if o.proxy ~= "" then - table.insert(cmd, '-x') - table.insert(cmd, o.proxy) - end - - local res = mp.command_native({ name = "subprocess", capture_stdout = true, capture_stderr = true, args = cmd }) - if res.status == 0 then - return utils.parse_json(res.stdout) - else - msg.error("HTTP request failed: " .. res.stderr) - return nil - end -end - -local function file_exists(path) - if path then - local meta = utils.file_info(path) - return meta and meta.is_file - end - return false -end - -local function alphanumsort(a, b) - -- alphanum sorting for humans in Lua - -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua - local function padnum(d) - local dec, n = string.match(d, "(%.?)0*(.+)") - return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) - end - return tostring(a):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) - < tostring(b):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) -end - -local function normalize(path) - if normalize_path ~= nil then - if normalize_path then - path = mp.command_native({"normalize-path", path}) - else - local directory = mp.get_property("working-directory", "") - path = utils.join_path(directory, path:gsub('^%.[\\/]','')) - if platform == "windows" then path = path:gsub("\\", "/") end - end - return path - end - - normalize_path = false - - local commands = mp.get_property_native("command-list", {}) - for _, command in ipairs(commands) do - if command.name == "normalize-path" then - normalize_path = true - break - end - end - return normalize(path) -end - -local function check_sub(sub_file) - local tracks = mp.get_property_native("track-list") - local _, sub_title = utils.split_path(sub_file) - for _, track in ipairs(tracks) do - if track["type"] == "sub" and track["title"] == sub_title then - return true, track["id"] - end - end - return false, nil -end - -local function append_sub(sub_file) - local sub, id = check_sub(sub_file) - if not sub then - mp.commandv('sub-add', sub_file) - else - mp.commandv('sub-reload', id) - end -end - -local function clean_name(name) - return name:gsub("^%[.-%]", " ") - :gsub("^%(.-%)", " ") - :gsub("[_%.%[%]]", " ") - :gsub("^%s*(.-)%s*$", "%1") - :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") -end - --- Formatters for media titles -local formatters = { - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[_%.%s]%d%d[_%.%s]%d%d%s*[_%.%s]?(.-)%s*[_%.%s]%d+[pPkKxXbBfF]", - format = function(name, year, subtitle) - local title = clean_name(name) - if subtitle then - title = title .. ": " .. subtitle:gsub("%.", " "):gsub("^%s*(.-)%s*$", "%1") - end - return title .. " (" .. year .. ")" - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", - format = function(name, year, season, episode) - return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[eEpP]+(%d+%.?%d*)", - format = function(name, year, episode) - return clean_name(name) .. " (" .. year .. ") E" .. episode - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+[%.v]?%d*)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, season, episode, year) - return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d+)[nrdsth]+[_%.%s]%s*[sS]eason[_%.%s]%s*%[(%d+[%.v]?%d*)%]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[^dD][eEpP]+(%d+[%.v]?%d*)[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, episode, year) - return clean_name(name) .. " (" .. year .. ") E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[^dD][eEpP]+(%d+%.?%d*)", - format = function(name, episode) - return clean_name(name) .. " E" .. episode - end - }, - { - regex = "^(.-)%s*第%s*(%d+[%.v]?%d*)%s*[话回集]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*%[(%d+[%.v]?%d*)%]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*%[(%d+[%.v]?%d*)%(%a+%)%]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[%-#]%s*(%d+%.?%d*)%s*", - format = function(name, episode) - return clean_name(name) .. " E" .. episode - end - }, - { - regex = "^(.-)%s*[%[%(]([OVADSPs]+)[%]%)]", - format = function(name, sp) - return clean_name(name) .. " [" .. sp .. "]" - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*(%d?%d)x(%d%d?%d?%d?)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode - end - }, - { - regex = "^%((%d%d%d%d)%.?%d?%d?%.?%d?%d?%)%s*(.-)%s*[%(%[]", - format = function(year, name) - return clean_name(name) .. " (" .. year .. ")" - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, year) - return clean_name(name) .. " (" .. year .. ")" - end - }, - { - regex = "^%[.-%]%s*%[?(.-)%]?%s*[%(%[]", - format = function(name) - return clean_name(name) - end - }, -} - -local function format_filename(title) - for _, formatter in ipairs(formatters) do - local matches = {title:match(formatter.regex)} - if #matches > 0 then - title = formatter.format(unpack(matches)) - return title - end - end - title = title:gsub("^%[.-%]", " ") - :gsub("^%(.-%)", " ") - :gsub("[_%.]", " ") - :gsub("^%s*(.-)%s*$", "%1") - :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") - return title -end - -local function is_writable(path) - local file = io.open(path, "w") - if file then - file:close() - os.remove(path) - return true - end - return false -end - -local function download_file(url, fname) - local path = mp.get_property("path") - local filename = mp.get_property("filename/no-ext") - local ext = fname:match('%.([^%.]+)$'):lower() - - if is_protocol(path) then - sub_path = utils.join_path(TEMP_DIR, fname) - else - local dir = utils.split_path(normalize(path)) - sub_path = utils.join_path(dir, filename .. ".assrt." .. ext) - if not is_writable(sub_path) then - sub_path = utils.join_path(TEMP_DIR, fname) - end - end - - local message = "正在下载字幕..." - local type = "download_subtitle" - local title = "字幕下载菜单" - local footnote = "使用 / 打开筛选" - if uosc_available then - update_menu_uosc(type, title, message, footnote) - else - mp.osd_message(message) - end - - local cmd = {"curl", "-s", "--user-agent", "mpv", "-o", sub_path, url} - if o.proxy ~= "" then - table.insert(cmd, '-x') - table.insert(cmd, o.proxy) - end - local res = mp.command_native({ name = "subprocess", capture_stdout = true, capture_stderr = true, args = cmd }) - if res.status == 0 then - if file_exists(sub_path) then - append_sub(sub_path) - local message = "字幕下载完成, 已载入" - if uosc_available then - update_menu_uosc(type, title, message, footnote) - -- 下载完字幕1.5秒后关闭面板 - mp.add_timeout(1.5, function() - mp.commandv("script-message-to", "uosc", "close-menu", "download_subtitle") - end) - else - mp.osd_message(message, 3) - end - msg.info("Subtitle downloaded: " .. sub_path) - end - else - local message = "字幕下载失败,查看控制台获取更多信息" - if uosc_available then - update_menu_uosc(type, title, message, footnote) - else - mp.osd_message(message, 3) - end - msg.error("Failed to download file: " .. res.stderr) - return nil - end -end - -local function fetch_subtitle_details(sub_id) - local message = "正在加载字幕详细信息..." - local type = "subtitle_details" - local title = "字幕下载菜单" - local footnote = "使用 / 打开筛选" - if uosc_available then - update_menu_uosc(type, title, message, footnote) - else - mp.osd_message(message) - end - - local url = ASSRT_DETAIL_API .."?token=" .. o.api_token .. "&id=" .. (sub_id or 0) - local res = http_request(url) - if not res or res.status ~= 0 then - local message = "获取字幕详细信息失败,查看控制台获取更多信息" - if uosc_available then - update_menu_uosc(type, title, message, footnote) - else - mp.osd_message(message, 3) - end - msg.error("Failed to fetch subtitle details: " .. (res and res.errmsg or "Unknown error")) - return nil - end - - local items = {} - items[#items + 1] = { - title = "..", - hint = "返回搜索结果", - value = { - "script-message-to", - mp.get_script_name(), - "search-subtitles-event", - "has_details", nil, - }, - } - local subs = res.sub.subs[1] - for _, sub in ipairs(subs.filelist) do - table.insert(items, { - title = sub.f, - hint = sub.s, - value = { - "script-message-to", - mp.get_script_name(), - "download-file-event", - sub.url, sub.f, - }, - }) - end - - if #items > 2 then - table.sort(items, function(a, b) - return alphanumsort(a.title, b.title) - end) - end - - if #items == 0 and subs.url and not is_compressed_file(subs.filename) then - local size= subs.size / 1024 - local sub_size = size > 1024 and string.format("%.2fMB", size / 1024) or string.format("%.2fKB", size) - table.insert(items, { - title = subs.filename, - hint = sub_size, - value = { - "script-message-to", - mp.get_script_name(), - "download-file-event", - subs.url, subs.filename, - }, - }) - end - - if uosc_available then - update_menu_uosc(type, title, items, footnote) - elseif input_loaded then - mp.osd_message("") - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end -end - -local function search_subtitles(pos, query) - local items = {} - local type = "menu_subtitle" - local title = "输入搜索内容" - local footnote = "使用enter或ctrl+enter进行搜索" - if pos ~= "has_details" and (query ~= cache.query or tonumber(pos) > 0) then - local pos = tonumber(pos) - local message = "正在搜索字幕..." - local cmd = { "script-message-to", mp.get_script_name(), "search-subtitles-event", tostring(pos) } - if uosc_available then - update_menu_uosc(type, title, message, footnote, cmd, query) - else - mp.osd_message(message) - end - - local url = ASSRT_SEARCH_API .. "?token=" .. o.api_token .. "&q=" .. url_encode(query) .. "&no_muxer=1&pos=" .. pos - local res = http_request(url) - if not res or res.status ~= 0 then - local message = "搜索字幕失败,查看控制台获取更多信息" - if uosc_available then - update_menu_uosc(type, title, message, footnote, cmd, query) - else - mp.osd_message(message, 3) - end - msg.error("Failed to search subtitles: " .. (res and res.errmsg or "Unknown error")) - return nil - end - - local sub = res.sub - local subs = {} - if sub then subs = res.sub.subs end - if #subs == 0 then - local message = "未找到字幕,建议更改关键字尝试重新搜索" - if uosc_available then - update_menu_uosc(type, title, message, footnote, cmd, query) - else - mp.osd_message(message, 3) - end - msg.info("No subtitles found.") - return nil - end - - table.insert(items, { - title = "..", - hint = "返回搜索菜单", - value = { - "script-message-to", - mp.get_script_name(), - "open-search-menu", - 0, query, - }, - }) - - for _, sub in ipairs(subs) do - table.insert(items, { - title = sub.video_chinese_name and sub.video_chinese_name ~= '' and sub.video_chinese_name - or sub.native_name and sub.native_name ~= '' and sub.native_name or sub.videoname, - hint = sub.lang and sub.lang.desc ~= '' and sub.lang.desc - or sub.m_lang and sub.m_lang ~= '' and sub.m_lang:gsub(" ", " "), - value = { - "script-message-to", - mp.get_script_name(), - "fetch-details-event", - sub.id or sub.fileid, - }, - }) - end - - if #items == 16 then - pos = pos + 15 - table.insert(items, { - title = "加载下一页", - value = { - "script-message-to", - mp.get_script_name(), - "search-subtitles-event", - tostring(pos), query, - }, - italic = true, - bold = true, - align = "center", - }) - end - cache.query = query - cache.items = items - else - items = cache.items - end - - if uosc_available then - update_menu_uosc(type, title, items, footnote) - elseif input_loaded then - mp.osd_message("") - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end -end - -function open_menu_select(menu_items) - local item_titles, item_values = {}, {} - for i, v in ipairs(menu_items) do - item_titles[i] = v.hint and v.title .. " (" .. v.hint .. ")" or v.title - item_values[i] = v.value - end - mp.commandv('script-message-to', 'console', 'disable') - input.select({ - prompt = '筛选:', - items = item_titles, - submit = function(id) - mp.commandv(unpack(item_values[id])) - end, - }) -end - -function open_input_menu_get(pos, query) - mp.commandv('script-message-to', 'console', 'disable') - input.get({ - prompt = '搜索字幕:', - default_text = query, - cursor_position = query and #query + 1, - submit = function(text) - input.terminate() - search_subtitles(pos, text) - end - }) -end - -function open_input_menu_uosc(pos, query) - local menu_props = { - type = "menu_subtitle", - title = "输入搜索内容", - search_style = "palette", - search_debounce = "submit", - search_suggestion = query, - on_search = { - "script-message-to", - mp.get_script_name(), - "search-subtitles-event", - tostring(pos), - }, - footnote = "使用enter或ctrl+enter进行搜索", - items = {}, - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -function update_menu_uosc(menu_type, menu_title, menu_item, menu_footnote, menu_cmd, query) - local items = {} - if type(menu_item) == "string" then - table.insert(items, { - title = menu_item, - value = "", - italic = true, - keep_open = true, - selectable = false, - align = "center", - }) - else - items = menu_item - end - - local menu_props = { - type = menu_type, - title = menu_title, - search_style = menu_cmd and "palette" or "on_demand", - search_debounce = menu_cmd and "submit" or 0, - on_search = menu_cmd, - footnote = menu_footnote, - search_suggestion = query, - items = items, - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -local function sub_assrt() - local path = mp.get_property("path") - local filename = mp.get_property("filename/no-ext") - local title = mp.get_property("media-title") - local thin_space = string.char(0xE2, 0x80, 0x89) - if not path then - msg.error("No file loaded.") - return - end - - if is_protocol(path) then - title = url_decode(title:gsub('%.[^%.]+$', '')) - elseif #title < #filename then - title = filename - end - - local pos = 0 - local title = title:gsub(thin_space, " ") - local query = format_filename(title):gsub("%s*E%d+$", "") - - if cache.title and cache.title == query - and cache.items and #cache.items > 0 then - search_subtitles("has_details") - return - end - - cache.title = query - - if uosc_available then - open_input_menu_uosc(pos, query) - elseif input_loaded then - open_input_menu_get(pos, query) - end -end - -mp.register_script_message('uosc-version', function() - uosc_available = true - mp.commandv('script-message-to', 'uosc', 'overwrite-binding', 'download-subtitles', - 'script-message-to sub_assrt sub-assrt') -end) - -mp.register_script_message("open-search-menu", function(pos, query) - if uosc_available then - mp.commandv("script-message-to", "uosc", "open-menu", "menu_subtitle") - end - if uosc_available then - open_input_menu_uosc(pos, query) - elseif input_loaded then - open_input_menu_get(pos, query) - end -end) - -mp.register_script_message("search-subtitles-event", function(pos, query) - if uosc_available then - mp.commandv("script-message-to", "uosc", "open-menu", "menu_subtitle") - end - search_subtitles(pos, query) -end) -mp.register_script_message("fetch-details-event", function(query) - if uosc_available then - mp.commandv("script-message-to", "uosc", "open-menu", "subtitle_details") - end - fetch_subtitle_details(query) -end) -mp.register_script_message("download-file-event", function(url, filename) - if uosc_available then - mp.commandv("script-message-to", "uosc", "open-menu", "download_subtitle") - end - download_file(url, filename) -end) - -mp.register_script_message("sub-assrt", sub_assrt) \ No newline at end of file diff --git a/scripts/sub-fonts-dir-auto.lua b/scripts/sub-fonts-dir-auto.lua deleted file mode 100644 index a877b34..0000000 --- a/scripts/sub-fonts-dir-auto.lua +++ /dev/null @@ -1,122 +0,0 @@ ---[[ - - Automatically look for a fonts directory to use with `sub-fonts-dir`. - - This mpv Lua script will automatically use the `sub-fonts-dir` option (to - override the default `~~/fonts` location) if it find a `Fonts` directory - alongside the currently playing file. (The name of the directory is - matched case-insensitively.) - - - USAGE: - - Simply drop this script in your scripts configuration directory (usually - `~/.config/mpv/scripts/`). - - - REQUIREMENTS: - - This script requires a version of mpv that includes the `sub-fonts-dir` - option. - - - NOTES: - - - Any `--sub-fonts-dir` option passed on the command-line will override - this script. - - - When going through a playlist, `sub-fonts-dir` will be dynamically - updated for each individual file. - - - This script will output some additional information on higher verbosity - levels (`-v`). To increase the verbosity for this script only, use - `--msg-level=sub_fonts_dir_auto=v` (or `=debug` for more output). - - - AUTHOR: - - Frédéric Brière (fbriere@fbriere.net) - - Licensed under the GNU General Public License, version 2 or later. - ---]] - - -local utils = require 'mp.utils' -local msg = require 'mp.msg' --- msg.trace() was added in 0.28.0 -- define it ourselves if it's missing -if msg.trace == nil then - msg.trace = function(...) return mp.log("trace", ...) end -end - - --- Directory name we are looking for (case-insensitive) -local FONTS_DIR_NAME = "Fonts" --- Option name that we want to set -local OPTION_NAME = "sub-fonts-dir" --- Make sure this option is available in this version of mpv -do - local _, err = mp.get_property(OPTION_NAME) - if err then - msg.error(string.format("This version of mpv does not support the %s option", OPTION_NAME)) - return - end -end - - --- Whether a path is a directory -local function isdir(path) - local meta, meta_error = utils.file_info(path) - if meta and meta.is_dir then - return true - end -end - --- Set an option's value for this file, without overriding the command-line -local function set_option(name, value) - if not mp.get_property_bool(string.format("option-info/%s/set-from-commandline", name)) then - msg.verbose(string.format("Setting %s to %q", name, value)) - mp.set_property(string.format("file-local-options/%s", name), value) - else - msg.debug(string.format("Option %s was set on command-line -- leaving it as-is", name)) - end -end - --- Find a "Fonts" directory under a single path -local function find_fonts_dir(path) - local fonts_path = utils.join_path(path, FONTS_DIR_NAME) - local meta, meta_error = utils.file_info(fonts_path) - if meta and meta.is_dir then - msg.trace("Match found") - return fonts_path - else - fonts_path = utils.join_path(path, FONTS_DIR_NAME:lower()) - local fmeta, fmeta_error = utils.file_info(fonts_path) - if fmeta and fmeta.is_dir then - msg.trace("Match found") - return fonts_path - end - end - msg.trace("No match found") -end - --- "on_load" hook callback for when a file is about to be loaded. -local function on_load() - local path = mp.get_property("path") - if isdir(path) then - msg.debug("Playing 'file' is actually a directory -- skipping") - return - end - - local path_dir = utils.split_path(path) - -- Cosmetic nitpicking: That trailing "/" just looks annoying to me - path_dir = path_dir:gsub("(.)/+$", "%1") - - msg.debug(string.format("Searching %q for fonts directory", path_dir)) - local fonts_dir = find_fonts_dir(path_dir) - if fonts_dir then - msg.debug("Found fonts directory:", fonts_dir) - set_option(OPTION_NAME, fonts_dir) - end -end -mp.add_hook("on_load", 50, on_load) diff --git a/scripts/sub-select.lua b/scripts/sub-select.lua deleted file mode 100644 index 48ecd4c..0000000 --- a/scripts/sub-select.lua +++ /dev/null @@ -1,429 +0,0 @@ ---[[ - mpv-sub-select - - This script allows you to configure advanced subtitle track selection based on - the current audio track and the names and language of the subtitle tracks. - - https://github.com/CogentRedTester/mpv-sub-select -]]-- - -local mp = require 'mp' -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local opt = require 'mp.options' - -local o = { - --forcibly enable the script regardless of the sid option - force_enable = false, - - --experimental audio track selection based on the preferences. - select_audio = false, - - --observe audio switches and reselect the subtitles when alang changes - observe_audio_switches = false, - - --only select forced subtitles if they are explicitly included in slang - explicit_forced_subs = false, - - --the folder that contains the 'sub-select.json' file - config = "~~/script-opts" -} - -opt.read_options(o, "sub_select") - -local prefs - -local ENABLED = o.force_enable or true -local latest_audio = {} -local audio_tracks = {} -local sub_tracks = {} - --- represents when there is no audio or subtitle track selected -local NO_TRACK = { - id = 0 -} - ---returns a table that stores the given table t as the __index in its metatable ---creates a prototypally inherited table -local function redirect_table(t, new) - return setmetatable(new or {}, { __index = t }) -end - -local function type_check(val, t, required) - if val == nil then return not required end - if not t:find(type(val)) then return false end - return true -end - -local function setup_prefs() - local file = assert(io.open(mp.command_native({"expand-path", o.config .. "/sub-select.json"}))) - local json = file:read("*all") - file:close() - prefs = utils.parse_json(json) - - assert(prefs, "Invalid JSON format in sub-select.json.") - local reservedIDs = { ['^'] = true } - local IDs = {} - - -- storing the ID in the first pass - for _, pref in ipairs(prefs) do - if pref.id then - assert(not reservedIDs[pref.id], 'using reserved ID '..pref.id) - assert(not IDs[pref.id], 'duplicate ID '..pref.id) - IDs[pref.id] = pref - end - end - - -- doing a second pass to inherit prefs and type check - for i, pref in ipairs(prefs) do - local pref_str = 'pref_'..i..' '..utils.to_string(pref) - assert(type_check(pref.inherit, 'string'), '`inherit` must be a string: '..pref_str) - - if pref.inherit then - local parent = pref.inherit == '^' and prefs[i-1] or IDs[pref.inherit] - assert(parent, 'failed to find matching id: '..pref_str) - pref = redirect_table(parent, pref) - end - - -- type checking the options - assert(type_check(pref.alang, 'string table', true), '`alang` must be a string or a table of strings: '..pref_str) - assert(type_check(pref.slang, 'string table', true), '`slang` must be a string or a table of strings: '..pref_str) - assert(type_check(pref.blacklist, 'table'), '`blacklist` must be a table: '..pref_str) - assert(type_check(pref.whitelist, 'table'), '`whitelist` must be a table: '..pref_str) - assert(type_check(pref.condition, 'string'), '`condition` must be a string: '..pref_str) - assert(type_check(pref.id, 'string'), '`id` must be a string: '..pref_str) - end -end - -setup_prefs() - ---evaluates and runs the given string in both Lua 5.1 and 5.2 ---the name argument is used for error reporting ---provides the mpv modules and the fb module to the string -local function evaluate_string(str, env) - msg.trace('evaluating string '..str) - - env = redirect_table(_G, env) - env.mp = redirect_table(mp) - env.msg = redirect_table(msg) - env.utils = redirect_table(utils) - - local chunk, err - if setfenv then - chunk, err = loadstring(str) - if chunk then setfenv(chunk, env) end - else - chunk, err = load(str, nil, 't', env) - end - if not chunk then - msg.warn('failed to load string:', str) - msg.error(err) - chunk = function() return nil end - end - - local success, boolean = pcall(chunk) - if not success then msg.error(boolean) end - return boolean -end - ---anticipates the default audio track ---returns the node for the predicted track ---this whole function can be skipped if the user decides to load the subtitles asynchronously instead, ---or if `--aid` is not set to `auto` -local function predict_audio() - --if the option is not set to auto then it is easy - local aid = mp.get_property("options/aid", "auto") - if aid == "no" then return NO_TRACK - elseif aid ~= "auto" then return audio_tracks[tonumber(aid)] end - - local num_tracks = #audio_tracks - if num_tracks == 1 then return audio_tracks[1] - elseif num_tracks == 0 then return NO_TRACK end - - local highest_priority = NO_TRACK - local priority_str = "" - local alangs = mp.get_property_native("alang", {}) - - --loop through the track list for any audio tracks - for _,track in ipairs(audio_tracks) do - - --loop through the alang list to check if it has a preference - local pref = 0 - for j,alang in ipairs(alangs) do - if track.lang == alang then - - --a lower number j has higher priority, so flip the numbers around so the lowest j has highest preference - pref = 1000 - j - break - end - end - - --format the important preferences so that we can easily use a lexicographical comparison to find the default - local formatted_str = string.format("%d-%03d-%d-%02d", - track.forced and 1 or 0, - pref, - track.default and 1 or 0, - num_tracks - track.id - ) - msg.trace("formatted track info: " .. formatted_str) - - if formatted_str > priority_str then - priority_str = formatted_str - highest_priority = track - end - end - - msg.verbose("predicted audio track is "..tostring(highest_priority.id)) - return highest_priority -end - ---sets the subtitle track to the given sid ---this is a function to prepare for some upcoming functionality, but I've forgotten what that is -local function set_track(type, id) - msg.verbose("setting", type, "to", id) - if mp.get_property_number(type) == id then return end - mp.set_property('file-local-options/'..type, id) -end - ---checks if the given audio matches the given track preference -local function is_valid_audio(audio, pref) - local alangs = type(pref.alang) == "string" and {pref.alang} or pref.alang - - for _,lang in ipairs(alangs) do - msg.trace("Checking for valid audio:", lang) - - if audio == NO_TRACK then - if lang == "no" then return true end - else - if lang == '*' then - return true - elseif lang == "forced" then - if audio.forced then return true end - elseif lang == "default" then - if audio.default then return true end - else - if audio.lang and audio.lang:lower():find(lang) then return true end - end - end - end - return false -end - ---checks if the given sub matches the given track preference -local function is_valid_sub(sub, slang, pref) - msg.trace("checking sub", slang, "against track", utils.to_string(sub)) - - -- Do not try to un-nest these if statements, it will break detection of default and forced tracks. - -- I've already had to un-nest these statements twice due to this mistake, don't let it happen again. - if sub == NO_TRACK then - return slang == 'no' - else - if slang == "default" then - if not sub.default then return false end - elseif slang == "forced" then - if not sub.forced then return false end - else - if sub.forced and o.explicit_forced_subs then return false end - if not sub.lang:lower():find(slang) and slang ~= "*" then return false end - end - end - - local title = sub.title or '' - - -- if the whitelist is not set then we don't need to find anything - local passes_whitelist = not pref.whitelist - local passes_blacklist = true - - -- whitelist/blacklist handling - if pref.whitelist and title then - for _,word in ipairs(pref.whitelist) do - if title:lower():find(word) then passes_whitelist = true end - end - end - - if pref.blacklist and title then - for _,word in ipairs(pref.blacklist) do - if title:lower():find(word) then passes_blacklist = false end - end - end - - msg.trace(string.format("%s %s whitelist: %s | %s blacklist: %s", - title, - passes_whitelist and "passed" or "failed", utils.to_string(pref.whitelist), - passes_blacklist and "passed" or "failed", utils.to_string(pref.blacklist) - )) - return passes_whitelist and passes_blacklist -end - ---scans the track list and selects audio and subtitle tracks which match the track preferences ---if an audio track is provided to the function it will assume this track is the only audio -local function find_valid_tracks(manual_audio) - assert(manual_audio == nil or (type(manual_audio) == 'table' and manual_audio.id), 'argument must be an audio track or nil') - - local sub_track_list = {NO_TRACK, unpack(sub_tracks)} - local audio_track_list - - if manual_audio == nil then - audio_track_list = {NO_TRACK, unpack(audio_tracks)} - else - audio_track_list = {manual_audio} - end - - if manual_audio then msg.debug("select subtitle for", utils.to_string(manual_audio)) - else msg.debug('selecting audio and subtitles') end - - --searching the selection presets for one that applies to this track - for _,pref in ipairs(prefs) do - msg.debug("checking pref:", utils.to_string(pref)) - - for _, audio_track in ipairs(audio_track_list) do - if is_valid_audio(audio_track, pref) then - local aid = audio_track and audio_track.id - - --checks if any of the subtitle tracks match the preset for the current audio - local slangs = type(pref.slang) == "string" and {pref.slang} or pref.slang - msg.trace("valid audio preference found:", utils.to_string(pref.alang)) - - for _, slang in ipairs(slangs) do - msg.trace("checking for valid sub:", slang) - - - for _,sub_track in ipairs(sub_track_list) do - if is_valid_sub(sub_track, slang, pref) - and (not pref.condition or (evaluate_string('return '..pref.condition, { - audio = aid > 0 and audio_track or nil, - sub = sub_track.id > 0 and sub_track or nil - }) == true)) - then - msg.verbose("valid audio preference found:", utils.to_string(pref.alang)) - msg.verbose("valid subtitle preference found:", utils.to_string(pref.slang)) - return aid, sub_track and sub_track.id - end - end - end - end - end - end -end - - ---returns the audio node for the currently playing audio track -local function find_current_audio() - local aid = mp.get_property_number("aid", 0) - return audio_tracks[aid] or NO_TRACK -end - ---extract the language code from an audio track node and pass it to select_subtitles -local function select_tracks(audio) - local aid, sid = find_valid_tracks(audio) - if sid then - set_track('sid', sid == 0 and 'no' or sid) - end - if aid and o.select_audio then - set_track('aid', aid == 0 and 'no' or aid) - end - - latest_audio = audio or find_current_audio() -end - ---select subtitles asynchronously after playback start -local function async_load() - select_tracks(not o.select_audio and find_current_audio() or nil) -end - ---select subtitles synchronously during the on_preloaded hook -local function preload() - if o.select_audio then return select_tracks() end - - local audio = predict_audio() - select_tracks(audio) - latest_audio = audio -end - -local track_auto_selection = true -mp.observe_property("track-auto-selection", "bool", function(_,b) track_auto_selection = b end) - -local function selection_enabled() - if not ENABLED then return false end - if not track_auto_selection then return false end - if #sub_tracks == 0 then return false end - return true -end - -local INITIAL_LOAD = true -local ORIGINAL_SID = mp.get_property('options/sid') - -mp.add_hook('on_load', 50, function() - INITIAL_LOAD = true - ORIGINAL_SID = mp.get_property('options/sid') -end) - ---reselect the subtitles if the audio is different from what was last used -local function reselect_subtitles() - local initial = INITIAL_LOAD - INITIAL_LOAD = false - if not selection_enabled() then return end - local audio = find_current_audio() - if latest_audio.id ~= audio.id and (not initial or ORIGINAL_SID == 'auto') then - msg.info("detected audio change - reselecting subtitles") - select_tracks(audio) - end -end - ---setups the audio and subtitle track lists to use for the rest of the script -local function read_track_list() - local track_list = mp.get_property_native("track-list", {}) - audio_tracks = {} - sub_tracks = {} - for _,track in ipairs(track_list) do - if not track.lang then track.lang = "und" end - - if track.type == "audio" then - table.insert(audio_tracks, track) - elseif track.type == "sub" then - table.insert(sub_tracks, track) - end - end -end - -local function observe_audio_switches() - mp.observe_property("aid", "string", reselect_subtitles) -end - -local function unobserve_audio_switches() - mp.unobserve_property(reselect_subtitles) -end - -mp.add_hook('on_preloaded', 25, read_track_list) -mp.add_hook('on_preloaded', 26, function() latest_audio = predict_audio() end) - ---events for file loading -mp.add_hook('on_preloaded', 30, function() - if not selection_enabled() then return end - if mp.get_property('options/sid') ~= 'auto' then return end - preload() -end) - -if o.observe_audio_switches then - mp.register_event('file-loaded', observe_audio_switches) - mp.add_hook('on_unload', 50, unobserve_audio_switches) -else - mp.register_event('file-loaded', reselect_subtitles) -end - -mp.observe_property('track-list/count', 'number', read_track_list) - ---force subtitle selection during playback -mp.register_script_message("select-subtitles", async_load) - ---toggle sub-select during playback -mp.register_script_message("sub-select", function(arg) - if arg == "toggle" then ENABLED = not ENABLED - elseif arg == "enable" then ENABLED = true - elseif arg == "disable" then ENABLED = false end - local str = "sub-select: ".. (ENABLED and "enabled" or "disabled") - mp.osd_message(str) - - if not selection_enabled() then return end - async_load() -end) \ No newline at end of file diff --git a/scripts/sub_export.lua b/scripts/sub_export.lua deleted file mode 100644 index a5bd22a..0000000 --- a/scripts/sub_export.lua +++ /dev/null @@ -1,148 +0,0 @@ --- SOURCE: https://github.com/kelciour/mpv-scripts/blob/master/sub-export.lua --- COMMIT: 29 Aug 2018 5039d8b --- --- Usage: --- add bindings to input.conf: --- key script-message-to sub_export export-selected-subtitles --- --- Note: --- Requires FFmpeg in PATH environment variable or edit ffmpeg_path in the script options, --- for example, by replacing "ffmpeg" with "C:\Programs\ffmpeg\bin\ffmpeg.exe" --- Note: --- The script support subtitles in srt, ass, and sup formats. --- Note: --- A small circle at the top-right corner is a sign that export is happenning now. --- Note: --- The exported subtitles will be automatically selected with visibility set to true. --- Note: --- It could take ~1-5 minutes to export subtitles. - -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local options = require "mp.options" - ----- Script Options ---- -local o = { - ffmpeg_path = "ffmpeg", - -- eng=English, chs=Chinese - language = "eng", -} - -options.read_options(o) ------------------------- - -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes - -local TEMP_DIR = os.getenv("TEMP") or "/tmp" -local function is_writable(path) - local file = io.open(path, "w") - if file then - file:close() - os.remove(path) - return true - end - return false -end - -local function export_selected_subtitles() - local i = 0 - local tracks_count = mp.get_property_number("track-list/count") - while i < tracks_count do - local track_type = mp.get_property(string.format("track-list/%d/type", i)) - local track_index = mp.get_property_number(string.format("track-list/%d/ff-index", i)) - local track_selected = mp.get_property(string.format("track-list/%d/selected", i)) - local track_title = mp.get_property(string.format("track-list/%d/title", i)) - local track_lang = mp.get_property(string.format("track-list/%d/lang", i)) - local track_external = mp.get_property(string.format("track-list/%d/external", i)) - local track_codec = mp.get_property(string.format("track-list/%d/codec", i)) - local path = mp.get_property('path') - local dir, filename = utils.split_path(path) - local fname = mp.get_property("filename/no-ext") - local index = string.format("0:%d", track_index) - - if track_type == "sub" and track_selected == "yes" then - if track_external == "yes" then - if o.language == 'chs' then - msg.info("错误:已选择外部字幕") - mp.osd_message("错误:已选择外部字幕", 2) - else - msg.info("Error: external subtitles have been selected") - mp.osd_message("Error: external subtitles have been selected", 2) - end - return - end - - local video_file = utils.join_path(dir, filename) - - local subtitles_ext = ".srt" - if string.find(track_codec, "ass") ~= nil then - subtitles_ext = ".ass" - elseif string.find(track_codec, "pgs") ~= nil then - subtitles_ext = ".sup" - end - - if track_lang ~= nil then - if track_title ~= nil then - subtitles_ext = "." .. track_title .. "." .. track_lang .. subtitles_ext - else - subtitles_ext = "." .. track_lang .. subtitles_ext - end - end - - subtitles_file = utils.join_path(dir, fname .. subtitles_ext) - - if not is_writable(subtitles_file) then - subtitles_file = utils.join_path(TEMP_DIR, fname .. subtitles_ext) - end - - if o.language == 'chs' then - msg.info("正在导出当前字幕") - mp.osd_message("正在导出当前字幕") - else - msg.info("Exporting selected subtitles") - mp.osd_message("Exporting selected subtitles") - end - - cmd = string.format("%s -y -hide_banner -loglevel error -i '%s' -map '%s' -vn -an -c:s copy '%s'", - o.ffmpeg_path, video_file, index, subtitles_file) - windows_args = { 'powershell', '-NoProfile', '-Command', cmd } - unix_args = { '/bin/bash', '-c', cmd } - args = is_windows and windows_args or unix_args - - mp.add_timeout(mp.get_property_number("osd-duration") * 0.001, process) - - break - end - - i = i + 1 - end -end - -function process() - local screenx, screeny, aspect = mp.get_osd_size() - - mp.set_osd_ass(screenx, screeny, "{\\an9}● ") - local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) - mp.set_osd_ass(screenx, screeny, "") - if res.status == 0 then - if o.language == 'chs' then - msg.info("当前字幕已导出") - mp.osd_message("当前字幕已导出") - else - msg.info("Finished exporting subtitles") - mp.osd_message("Finished exporting subtitles") - end - mp.commandv("sub-add", subtitles_file) - mp.set_property("sub-visibility", "yes") - else - if o.language == 'chs' then - msg.info("当前字幕导出失败") - mp.osd_message("当前字幕导出失败, 查看控制台获取更多信息.") - else - msg.info("Failed to export subtitles") - mp.osd_message("Failed to export subtitles, check console for more info.") - end - end -end - -mp.register_script_message("export-selected-subtitles", export_selected_subtitles) \ No newline at end of file diff --git a/scripts/thumbfast.lua b/scripts/thumbfast.lua deleted file mode 100644 index 2c23451..0000000 --- a/scripts/thumbfast.lua +++ /dev/null @@ -1,947 +0,0 @@ --- thumbfast.lua --- --- High-performance on-the-fly thumbnailer --- --- Built for easy integration in third-party UIs. - ---[[ -This Source Code Form is subject to the terms of the Mozilla Public -License, v. 2.0. If a copy of the MPL was not distributed with this -file, You can obtain one at https://mozilla.org/MPL/2.0/. -]] - -local options = { - -- Socket path (leave empty for auto) - socket = "", - - -- Thumbnail path (leave empty for auto) - thumbnail = "", - - -- Maximum thumbnail size in pixels (scaled down to fit) - -- Values are scaled when hidpi is enabled - max_height = 200, - max_width = 200, - - -- Overlay id - overlay_id = 42, - - -- Spawn thumbnailer on file load for faster initial thumbnails - spawn_first = false, - - -- Close thumbnailer process after an inactivity period in seconds, 0 to disable - quit_after_inactivity = 0, - - -- Enable on network playback - network = false, - - -- Enable on audio playback - audio = false, - - -- Enable hardware decoding - hwdec = false, - - -- Windows only: use native Windows API to write to pipe (requires LuaJIT) - direct_io = false, - - -- Custom path to the mpv executable - mpv_path = "mpv", - - -- Specifies a blacklist of video extensions to ignore - blacklist_ext = "bdmv,ifo", - - -- excluded directories for shared, #windows: ["X:", "Z:", "F:/Download/", "Download"] - excluded_dir = [[ - [] - ]], -} - -mp.utils = require "mp.utils" -mp.options = require "mp.options" -mp.options.read_options(options, "thumbfast") - -local properties = {} -local pre_0_30_0 = mp.command_native_async == nil -local pre_0_33_0 = true - -local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes - -local function split(input) - local ret = {} - for str in string.gmatch(input, "([^,]+)") do - ret[#ret + 1] = str - end - return ret -end - -local function exclude(extension, tab) - if #tab > 0 then - for _, ext in pairs(tab) do - if extension == ext then - return true - end - end - else - return - end -end - -local function need_ignore(tab, val) - for index, element in ipairs(tab) do - if string.find(val, element) then - return true - end - end - return false -end - -local function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -function subprocess(args, async, callback) - callback = callback or function() end - - if not pre_0_30_0 then - if async then - return mp.command_native_async({name = "subprocess", playback_only = true, args = args}, callback) - else - return mp.command_native({name = "subprocess", playback_only = false, capture_stdout = true, args = args}) - end - else - if async then - return mp.utils.subprocess_detached({args = args}, callback) - else - return mp.utils.subprocess({args = args}) - end - end -end - -local winapi = {} -if options.direct_io then - local ffi_loaded, ffi = pcall(require, "ffi") - if ffi_loaded then - winapi = { - ffi = ffi, - C = ffi.C, - bit = require("bit"), - socket_wc = "", - - -- WinAPI constants - CP_UTF8 = 65001, - GENERIC_WRITE = 0x40000000, - OPEN_EXISTING = 3, - FILE_FLAG_WRITE_THROUGH = 0x80000000, - FILE_FLAG_NO_BUFFERING = 0x20000000, - PIPE_NOWAIT = ffi.new("unsigned long[1]", 0x00000001), - - INVALID_HANDLE_VALUE = ffi.cast("void*", -1), - - -- don't care about how many bytes WriteFile wrote, so allocate something to store the result once - _lpNumberOfBytesWritten = ffi.new("unsigned long[1]"), - } - -- cache flags used in run() to avoid bor() call - winapi._createfile_pipe_flags = winapi.bit.bor(winapi.FILE_FLAG_WRITE_THROUGH, winapi.FILE_FLAG_NO_BUFFERING) - - ffi.cdef[[ - void* __stdcall CreateFileW(const wchar_t *lpFileName, unsigned long dwDesiredAccess, unsigned long dwShareMode, void *lpSecurityAttributes, unsigned long dwCreationDisposition, unsigned long dwFlagsAndAttributes, void *hTemplateFile); - bool __stdcall WriteFile(void *hFile, const void *lpBuffer, unsigned long nNumberOfBytesToWrite, unsigned long *lpNumberOfBytesWritten, void *lpOverlapped); - bool __stdcall CloseHandle(void *hObject); - bool __stdcall SetNamedPipeHandleState(void *hNamedPipe, unsigned long *lpMode, unsigned long *lpMaxCollectionCount, unsigned long *lpCollectDataTimeout); - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - ]] - - winapi.MultiByteToWideChar = function(MultiByteStr) - if MultiByteStr then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, MultiByteStr, -1, nil, 0) - if utf16_len > 0 then - local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, MultiByteStr, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - return "" - end - - else - options.direct_io = false - end -end - -local file = nil -local file_bytes = 0 -local spawned = false -local disabled = false -local force_disabled = false -local spawn_waiting = false -local spawn_working = false -local script_written = false - -local dirty = false - -local x = nil -local y = nil -local last_x = x -local last_y = y - -local last_seek_time = nil - -local effective_w = options.max_width -local effective_h = options.max_height -local real_w = nil -local real_h = nil -local last_real_w = nil -local last_real_h = nil - -local script_name = nil - -local show_thumbnail = false - -local filters_reset = {["lavfi-crop"]=true, ["crop"]=true} -local filters_runtime = {["hflip"]=true, ["vflip"]=true} -local filters_all = {["hflip"]=true, ["vflip"]=true, ["lavfi-crop"]=true, ["crop"]=true} - -local last_vf_reset = "" -local last_vf_runtime = "" - -local last_rotate = 0 - -local par = "" -local last_par = "" - -local last_has_vid = 0 -local has_vid = 0 - -local file_timer = nil -local file_check_period = 1/60 - -local allow_fast_seek = true - -local client_script = [=[ -#!/usr/bin/env bash -MPV_IPC_FD=0; MPV_IPC_PATH="%s" -trap "kill 0" EXIT -while [[ $# -ne 0 ]]; do case $1 in --mpv-ipc-fd=*) MPV_IPC_FD=${1/--mpv-ipc-fd=/} ;; esac; shift; done -if echo "print-text thumbfast" >&"$MPV_IPC_FD"; then echo -n > "$MPV_IPC_PATH"; tail -f "$MPV_IPC_PATH" >&"$MPV_IPC_FD" & while read -r -u "$MPV_IPC_FD" 2>/dev/null; do :; done; fi -]=] - -local cached_ranges = {} -local ext_blacklist = split(options.blacklist_ext) -local excluded_dir = mp.utils.parse_json(options.excluded_dir) - -local function get_os() - local raw_os_name = "" - - if jit and jit.os and jit.arch then - raw_os_name = jit.os - else - if package.config:sub(1,1) == "\\" then - -- Windows - local env_OS = os.getenv("OS") - if env_OS then - raw_os_name = env_OS - end - else - raw_os_name = subprocess({"uname", "-s"}).stdout - end - end - - raw_os_name = (raw_os_name):lower() - - local os_patterns = { - ["windows"] = "windows", - ["linux"] = "linux", - - ["osx"] = "darwin", - ["mac"] = "darwin", - ["darwin"] = "darwin", - - ["^mingw"] = "windows", - ["^cygwin"] = "windows", - - ["bsd$"] = "darwin", - ["sunos"] = "darwin" - } - - -- Default to linux - local str_os_name = "linux" - - for pattern, name in pairs(os_patterns) do - if raw_os_name:match(pattern) then - str_os_name = name - break - end - end - - return str_os_name -end - -local os_name = mp.get_property("platform") or get_os() - -local path_separator = os_name == "windows" and "\\" or "/" - -if options.socket == "" then - if os_name == "windows" then - options.socket = "thumbfast" - else - options.socket = "/tmp/thumbfast" - end -end - -if options.thumbnail == "" then - if os_name == "windows" then - options.thumbnail = os.getenv("TEMP").."\\thumbfast.out" - else - options.thumbnail = "/tmp/thumbfast.out" - end -end - -local unique = mp.utils.getpid() - -options.socket = options.socket .. unique -options.thumbnail = options.thumbnail .. unique - -if options.direct_io then - if os_name == "windows" then - winapi.socket_wc = winapi.MultiByteToWideChar("\\\\.\\pipe\\" .. options.socket) - end - - if winapi.socket_wc == "" then - options.direct_io = false - end -end - -local mpv_path = options.mpv_path - -if mpv_path == "mpv" then - local frontend_name = mp.get_property_native("user-data/frontend/name") - if frontend_name == "mpv.net" then - mpv_path = mp.get_property_native("user-data/frontend/process-path") - end -end - -if mpv_path == "mpv" and os_name == "darwin" and unique then - -- TODO: look into ~~osxbundle/ - mpv_path = string.gsub(subprocess({"ps", "-o", "comm=", "-p", tostring(unique)}).stdout, "[\n\r]", "") - if mpv_path ~= "mpv" then - mpv_path = string.gsub(mpv_path, "/mpv%-bundle$", "/mpv") - local mpv_bin = mp.utils.file_info("/usr/local/mpv") - if mpv_bin and mpv_bin.is_file then - mpv_path = "/usr/local/mpv" - else - local mpv_app = mp.utils.file_info("/Applications/mpv.app/Contents/MacOS/mpv") - if mpv_app and mpv_app.is_file then - mp.msg.warn("symlink mpv to fix Dock icons: `sudo ln -s /Applications/mpv.app/Contents/MacOS/mpv /usr/local/mpv`") - else - mp.msg.warn("drag to your Applications folder and symlink mpv to fix Dock icons: `sudo ln -s /Applications/mpv.app/Contents/MacOS/mpv /usr/local/mpv`") - end - end - end -end - -local function vf_string(filters, full) - local vf = "" - local vf_table = properties["vf"] - - if vf_table and #vf_table > 0 then - for i = #vf_table, 1, -1 do - if filters[vf_table[i].name] then - local args = "" - for key, value in pairs(vf_table[i].params) do - if args ~= "" then - args = args .. ":" - end - args = args .. key .. "=" .. value - end - vf = vf .. vf_table[i].name .. "=" .. args .. "," - end - end - end - - if full then - vf = vf.."scale=w="..effective_w..":h="..effective_h..par..",pad=w="..effective_w..":h="..effective_h..":x=-1:y=-1,format=bgra" - end - - return vf -end - -local function calc_dimensions() - local width = properties["video-out-params"] and properties["video-out-params"]["dw"] - local height = properties["video-out-params"] and properties["video-out-params"]["dh"] - if not width or not height then return end - - local scale = properties["display-hidpi-scale"] or 1 - - if width / height > options.max_width / options.max_height then - effective_w = math.floor(options.max_width * scale + 0.5) - effective_h = math.floor(height / width * effective_w + 0.5) - else - effective_h = math.floor(options.max_height * scale + 0.5) - effective_w = math.floor(width / height * effective_h + 0.5) - end - - local v_par = properties["video-out-params"] and properties["video-out-params"]["par"] or 1 - if v_par == 1 then - par = ":force_original_aspect_ratio=decrease" - else - par = "" - end -end - -local info_timer = nil - -local function info(w, h) - local rotate = properties["video-params"] and properties["video-params"]["rotate"] - local dovi_p5 = properties["video-params"] and properties["video-params"]["colormatrix"] == "dolbyvision" and properties["video-params"]["colorlevels"] == "full" - local image = properties["current-tracks/video"] and properties["current-tracks/video"]["image"] - local albumart = image and properties["current-tracks/video"]["albumart"] - local cache_state = properties["demuxer-cache-state"] - local dir = properties["path"] and mp.utils.split_path(properties["path"]) - local file_ext = properties["path"] and properties["path"]:match("%.([^%.]+)$") - - if is_windows and dir then dir = dir:gsub("\\", "/") end - if cache_state then cached_ranges = cache_state["seekable-ranges"] end - - disabled = (w or 0) == 0 or (h or 0) == 0 or - has_vid == 0 or - (dir and need_ignore(excluded_dir, dir)) or - (file_ext and exclude(file_ext:lower(), ext_blacklist)) or - ((properties["demuxer-via-network"] or is_protocol(properties["path"]) or (properties["cache"] == "auto" and #cached_ranges > 0)) and not options.network) or - (dovi_p5) or - (albumart and not options.audio) or - (image and not albumart) or - force_disabled - - if info_timer then - info_timer:kill() - info_timer = nil - elseif has_vid == 0 or (rotate == nil and not disabled) then - info_timer = mp.add_timeout(0.05, function() info(w, h) end) - end - - local json, err = mp.utils.format_json({width=w, height=h, disabled=disabled, available=true, socket=options.socket, thumbnail=options.thumbnail, overlay_id=options.overlay_id}) - if pre_0_30_0 then - mp.command_native({"script-message", "thumbfast-info", json}) - else - mp.command_native_async({"script-message", "thumbfast-info", json}, function() end) - end -end - -local function remove_thumbnail_files() - if file then - file:close() - file = nil - file_bytes = 0 - end - os.remove(options.thumbnail) - os.remove(options.thumbnail..".bgra") -end - -local activity_timer - -local function spawn(time) - if disabled then return end - - local path = properties["path"] - if path == nil then return end - - if options.quit_after_inactivity > 0 then - if show_thumbnail or activity_timer:is_enabled() then - activity_timer:kill() - end - activity_timer:resume() - end - - local open_filename = properties["stream-open-filename"] - local ytdl = open_filename and properties["demuxer-via-network"] and path ~= open_filename - if ytdl then - path = open_filename - end - - remove_thumbnail_files() - - local vid = properties["vid"] - has_vid = vid or 0 - - local args = { - mpv_path, "--no-config", "--msg-level=all=no", "--idle", "--ao=null", "--pause", "--keep-open=always", "--really-quiet", "--no-terminal", - "--load-scripts=no", "--osc=no", "--ytdl=no", "--load-stats-overlay=no", - "--load-auto-profiles=no", "--load-osd-console=no", "--load-select=no", "--autoload-files=no", - "--edition="..(properties["edition"] or "auto"), "--vid="..(vid or "auto"), "--no-sub", "--no-audio", - "--start="..time, allow_fast_seek and "--hr-seek=no" or "--hr-seek=yes", - "--gpu-dumb-mode=yes", "--dither-depth=no", "--hdr-compute-peak=no", "--target-colorspace-hint=no", - "--ytdl-format=worst", "--demuxer-readahead-secs=0", "--demuxer-max-bytes=128KiB", - "--vd-lavc-skiploopfilter=all", "--vd-lavc-skipidct=all", "--vd-lavc-software-fallback=1", "--vd-lavc-fast", "--vd-lavc-threads=2", - "--hwdec="..(options.hwdec and "auto" or "no"), - "--vf="..vf_string(filters_all, true), "--audio-pitch-correction=no", "--deinterlace=no", - "--zimg-scaler=bilinear", "--zimg-fast=yes", - "--video-rotate="..last_rotate, - "--ovc=rawvideo", "--of=image2", "--ofopts=update=1", "--ocopy-metadata=no", "--o="..options.thumbnail - } - - if os_name == "darwin" and properties["macos-app-activation-policy"] then - table.insert(args, "--macos-app-activation-policy=accessory") - end - - if os_name == "windows" or pre_0_33_0 then - table.insert(args, "--input-ipc-server="..options.socket) - local media_controls = mp.get_property_native("media-controls") - if media_controls ~= nil then - table.insert(args, "--media-controls=no") - end - elseif not script_written then - local client_script_path = options.socket..".run" - local script = io.open(client_script_path, "w+") - if script == nil then - mp.msg.error("client script write failed") - return - else - script_written = true - script:write(string.format(client_script, options.socket)) - script:close() - subprocess({"chmod", "+x", client_script_path}, true) - table.insert(args, "--scripts="..client_script_path) - end - else - local client_script_path = options.socket..".run" - table.insert(args, "--scripts="..client_script_path) - end - - table.insert(args, "--") - table.insert(args, path) - - spawned = true - spawn_waiting = true - - subprocess(args, true, - function(success, result) - if spawn_waiting and (success == false or (result.status ~= 0 and result.status ~= -2)) then - spawned = false - spawn_waiting = false - mp.msg.error("mpv subprocess create failed") - if not spawn_working then -- notify users of required configuration - if options.mpv_path == "mpv" then - if properties["current-vo"] == "libmpv" then - if options.mpv_path == mpv_path then -- attempt to locate ImPlay - mpv_path = "ImPlay" - spawn(time) - else -- ImPlay not in path - if os_name ~= "darwin" then - force_disabled = true - info(real_w or effective_w, real_h or effective_h) - end - mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) - mp.commandv("script-message-to", "implay", "show-message", "thumbfast initial setup", "Set mpv_path=PATH_TO_ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") - end - else - mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) - end - else - mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) - -- found ImPlay but not defined in config - mp.commandv("script-message-to", "implay", "show-message", "thumbfast", "Set mpv_path=PATH_TO_ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") - end - end - elseif success == true and (result.status == 0 or result.status == -2) then - if not spawn_working and properties["current-vo"] == "libmpv" and options.mpv_path ~= mpv_path then - mp.commandv("script-message-to", "implay", "show-message", "thumbfast initial setup", "Set mpv_path=ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") - end - spawn_working = true - spawn_waiting = false - end - end - ) -end - -local function run(command) - if not spawned then return end - - if options.direct_io then - local hPipe = winapi.C.CreateFileW(winapi.socket_wc, winapi.GENERIC_WRITE, 0, nil, winapi.OPEN_EXISTING, winapi._createfile_pipe_flags, nil) - if hPipe ~= winapi.INVALID_HANDLE_VALUE then - local buf = command .. "\n" - winapi.C.SetNamedPipeHandleState(hPipe, winapi.PIPE_NOWAIT, nil, nil) - winapi.C.WriteFile(hPipe, buf, #buf + 1, winapi._lpNumberOfBytesWritten, nil) - winapi.C.CloseHandle(hPipe) - end - - return - end - - local command_n = command.."\n" - - if os_name == "windows" then - if file and file_bytes + #command_n >= 4096 then - file:close() - file = nil - file_bytes = 0 - end - if not file then - file = io.open("\\\\.\\pipe\\"..options.socket, "r+b") - end - elseif pre_0_33_0 then - subprocess({"/usr/bin/env", "sh", "-c", "echo '" .. command .. "' | socat - " .. options.socket}) - return - elseif not file then - file = io.open(options.socket, "r+") - end - if file then - file_bytes = file:seek("end") - file:write(command_n) - file:flush() - end -end - -local function draw(w, h, script) - if not w or not show_thumbnail then return end - if x ~= nil then - if pre_0_30_0 then - mp.command_native({"overlay-add", options.overlay_id, x, y, options.thumbnail..".bgra", 0, "bgra", w, h, (4*w)}) - else - mp.command_native_async({"overlay-add", options.overlay_id, x, y, options.thumbnail..".bgra", 0, "bgra", w, h, (4*w)}, function() end) - end - elseif script then - local json, err = mp.utils.format_json({width=w, height=h, x=x, y=y, socket=options.socket, thumbnail=options.thumbnail, overlay_id=options.overlay_id}) - mp.commandv("script-message-to", script, "thumbfast-render", json) - end -end - -local function real_res(req_w, req_h, filesize) - local count = filesize / 4 - local diff = (req_w * req_h) - count - - if (properties["video-params"] and properties["video-params"]["rotate"] or 0) % 180 == 90 then - req_w, req_h = req_h, req_w - end - - if diff == 0 then - return req_w, req_h - else - local threshold = 5 -- throw out results that change too much - local long_side, short_side = req_w, req_h - if req_h > req_w then - long_side, short_side = req_h, req_w - end - for a = short_side, short_side - threshold, -1 do - if count % a == 0 then - local b = count / a - if long_side - b < threshold then - if req_h < req_w then return b, a else return a, b end - end - end - end - return nil - end -end - -local function move_file(from, to) - if os_name == "windows" then - os.remove(to) - end - -- move the file because it can get overwritten while overlay-add is reading it, and crash the player - os.rename(from, to) -end - -local function seek(fast) - if last_seek_time then - run("async seek " .. last_seek_time .. (fast and " absolute+keyframes" or " absolute+exact")) - end -end - -local seek_period = 3/60 -local seek_period_counter = 0 -local seek_timer -seek_timer = mp.add_periodic_timer(seek_period, function() - if seek_period_counter == 0 then - seek(allow_fast_seek) - seek_period_counter = 1 - else - if seek_period_counter == 2 then - if allow_fast_seek then - seek_timer:kill() - seek() - end - else seek_period_counter = seek_period_counter + 1 end - end -end) -seek_timer:kill() - -local function request_seek() - if seek_timer:is_enabled() then - seek_period_counter = 0 - else - seek_timer:resume() - seek(allow_fast_seek) - seek_period_counter = 1 - end -end - -local function check_new_thumb() - -- the slave might start writing to the file after checking existance and - -- validity but before actually moving the file, so move to a temporary - -- location before validity check to make sure everything stays consistant - -- and valid thumbnails don't get overwritten by invalid ones - local tmp = options.thumbnail..".tmp" - move_file(options.thumbnail, tmp) - local finfo = mp.utils.file_info(tmp) - if not finfo then return false end - spawn_waiting = false - local w, h = real_res(effective_w, effective_h, finfo.size) - if w then -- only accept valid thumbnails - move_file(tmp, options.thumbnail..".bgra") - - real_w, real_h = w, h - if real_w and (real_w ~= last_real_w or real_h ~= last_real_h) then - last_real_w, last_real_h = real_w, real_h - info(real_w, real_h) - end - if not show_thumbnail then - file_timer:kill() - end - return true - end - - return false -end - -file_timer = mp.add_periodic_timer(file_check_period, function() - if check_new_thumb() then - draw(real_w, real_h, script_name) - end -end) -file_timer:kill() - -local function clear() - file_timer:kill() - seek_timer:kill() - if options.quit_after_inactivity > 0 then - if show_thumbnail or activity_timer:is_enabled() then - activity_timer:kill() - end - activity_timer:resume() - end - last_seek_time = nil - show_thumbnail = false - last_x = nil - last_y = nil - if script_name then return end - if pre_0_30_0 then - mp.command_native({"overlay-remove", options.overlay_id}) - else - mp.command_native_async({"overlay-remove", options.overlay_id}, function() end) - end -end - -local function quit() - activity_timer:kill() - if show_thumbnail then - activity_timer:resume() - return - end - run("quit") - spawned = false - real_w, real_h = nil, nil - clear() -end - -activity_timer = mp.add_timeout(options.quit_after_inactivity, quit) -activity_timer:kill() - -local function thumb(time, r_x, r_y, script) - if disabled then return end - - time = tonumber(time) - if time == nil then return end - - if r_x == "" or r_y == "" then - x, y = nil, nil - else - x, y = math.floor(r_x + 0.5), math.floor(r_y + 0.5) - end - - script_name = script - if last_x ~= x or last_y ~= y or not show_thumbnail then - show_thumbnail = true - last_x = x - last_y = y - draw(real_w, real_h, script) - end - - if options.quit_after_inactivity > 0 then - if show_thumbnail or activity_timer:is_enabled() then - activity_timer:kill() - end - activity_timer:resume() - end - - if time == last_seek_time then return end - last_seek_time = time - if not spawned then spawn(time) end - request_seek() - if not file_timer:is_enabled() then file_timer:resume() end -end - -local function watch_changes() - if not dirty or not properties["video-out-params"] then return end - dirty = false - - local old_w = effective_w - local old_h = effective_h - - calc_dimensions() - - local vf_reset = vf_string(filters_reset) - local rotate = properties["video-rotate"] or 0 - - local resized = old_w ~= effective_w or - old_h ~= effective_h or - last_vf_reset ~= vf_reset or - (last_rotate % 180) ~= (rotate % 180) or - par ~= last_par - - if resized then - last_rotate = rotate - info(effective_w, effective_h) - elseif last_has_vid ~= has_vid and has_vid ~= 0 then - info(effective_w, effective_h) - end - - if spawned then - if resized then - -- mpv doesn't allow us to change output size - local seek_time = last_seek_time - run("quit") - clear() - spawned = false - spawn(seek_time or mp.get_property_number("time-pos", 0)) - file_timer:resume() - else - if rotate ~= last_rotate then - run("set video-rotate "..rotate) - end - local vf_runtime = vf_string(filters_runtime) - if vf_runtime ~= last_vf_runtime then - run("vf set "..vf_string(filters_all, true)) - last_vf_runtime = vf_runtime - end - end - else - last_vf_runtime = vf_string(filters_runtime) - end - - last_vf_reset = vf_reset - last_rotate = rotate - last_par = par - last_has_vid = has_vid - - if not spawned and not disabled and options.spawn_first and resized then - spawn(mp.get_property_number("time-pos", 0)) - file_timer:resume() - end -end - -local function update_property(name, value) - properties[name] = value -end - -local function update_property_dirty(name, value) - properties[name] = value - dirty = true -end - -local function update_tracklist(name, value) - -- current-tracks shim - for _, track in ipairs(value) do - if track.type == "video" and track.selected then - properties["current-tracks/video"] = track - return - end - end -end - -local function sync_changes(prop, val) - update_property(prop, val) - if val == nil then return end - - if type(val) == "boolean" then - if prop == "vid" then - has_vid = 0 - last_has_vid = 0 - info(effective_w, effective_h) - clear() - return - end - val = val and "yes" or "no" - end - - if prop == "vid" then - has_vid = 1 - end - - if not spawned then return end - - run("set "..prop.." "..val) - dirty = true -end - -local function file_load() - clear() - spawned = false - real_w, real_h = nil, nil - last_real_w, last_real_h = nil, nil - last_seek_time = nil - if info_timer then - info_timer:kill() - info_timer = nil - end - - calc_dimensions() - info(effective_w, effective_h) -end - -local function shutdown() - run("quit") - remove_thumbnail_files() - if os_name ~= "windows" then - os.remove(options.socket) - os.remove(options.socket..".run") - end -end - -local function on_duration(prop, val) - allow_fast_seek = (val or 30) >= 30 -end - -mp.observe_property("current-tracks/video", "native", function(name, value) - if pre_0_33_0 then - mp.unobserve_property(update_tracklist) - pre_0_33_0 = false - end - update_property(name, value) -end) - -mp.observe_property("track-list", "native", update_tracklist) -mp.observe_property("display-hidpi-scale", "native", update_property_dirty) -mp.observe_property("video-out-params", "native", update_property_dirty) -mp.observe_property("video-params", "native", update_property_dirty) -mp.observe_property("vf", "native", update_property_dirty) -mp.observe_property("tone-mapping", "native", update_property_dirty) -mp.observe_property("cache", "native", update_property) -mp.observe_property("demuxer-via-network", "native", update_property) -mp.observe_property('demuxer-cache-state', 'native', update_property) -mp.observe_property("stream-open-filename", "native", update_property) -mp.observe_property("macos-app-activation-policy", "native", update_property) -mp.observe_property("current-vo", "native", update_property) -mp.observe_property("video-rotate", "native", update_property) -mp.observe_property("path", "native", update_property) -mp.observe_property("vid", "native", sync_changes) -mp.observe_property("edition", "native", sync_changes) -mp.observe_property("duration", "native", on_duration) - -mp.register_script_message("thumb", thumb) -mp.register_script_message("clear", clear) - -mp.register_event("file-loaded", file_load) -mp.register_event("shutdown", shutdown) - -mp.register_idle(watch_changes) diff --git a/scripts/trackselect.lua b/scripts/trackselect.lua deleted file mode 100644 index e9a0e92..0000000 --- a/scripts/trackselect.lua +++ /dev/null @@ -1,257 +0,0 @@ --- trackselect.lua --- https://github.com/po5/trackselect --- Because --slang isn't smart enough. --- --- This script tries to select non-dub --- audio and subtitle tracks. --- Idea from https://github.com/siikamiika/scripts/blob/master/mpv%20scripts/dualaudiofix.lua - -local opt = require 'mp.options' -local utils = require 'mp.utils' - -local defaults = { - audio = { - selected = nil, - best = {}, - lang_score = nil, - channels_score = -math.huge, - preferred = "jpn/japanese", - excluded = "", - expected = "", - id = "" - }, - video = { - selected = nil, - best = {}, - lang_score = nil, - preferred = "", - excluded = "", - expected = "", - id = "" - }, - sub = { - selected = nil, - best = {}, - lang_score = nil, - preferred = "eng", - excluded = "sign", - expected = "", - id = "" - } -} - -local options = { - enabled = true, - - -- Do track selection synchronously, plays nicer with other scripts - hook = true, - - -- Mimic mpv's track list fingerprint to preserve user-selected tracks across files - fingerprint = false, - - -- Override user's explicit track selection - force = false, - - -- Try to re-select the last track if mpv cannot do it e.g. when fingerprint changes - smart_keep = false, - - --add above (after a comma) any protocol to disable - special_protocols = [[ - ["://", "^magnet:"] - ]], -} - -for _type, track in pairs(defaults) do - options["preferred_" .. _type .. "_lang"] = track.preferred - options["excluded_" .. _type .. "_words"] = track.excluded - options["expected_" .. _type .. "_words"] = track.expected -end - -options["preferred_audio_channels"] = "" - -local tracks = {} -local last = {} -local fingerprint = "" - -opt.read_options(options, _, function() end) - -options.special_protocols = utils.parse_json(options.special_protocols) - -local function need_ignore(tab, val) - for index, element in ipairs(tab) do - if string.find(val, element) then - return true - end - end - return false -end - -function contains(track, words, attr) - if not track[attr] then return false end - local i = 0 - if track.external then - i = 1 - end - for word in string.gmatch(words:lower(), "([^/]+)") do - i = i - 1 - if string.find(tostring(track[attr] or ""):lower(), word) then - return i - end - end - return false -end - -function preferred(track, words, attr, title) - local score = contains(track, words, attr) - if not score then - if tracks[track.type][title] == nil then - tracks[track.type][title] = -math.huge - return true - end - return false - end - if tracks[track.type][title] == nil or score > tracks[track.type][title] then - tracks[track.type][title] = score - return true - end - return false -end - -function preferred_or_equals(track, words, attr, title) - local score = contains(track, words, attr) - if not score then - if tracks[track.type][title] == nil or tracks[track.type][title] == -math.huge then - return true - end - return false - end - if tracks[track.type][title] == nil or score >= tracks[track.type][title] then - return true - end - return false -end - -function copy(obj) - if type(obj) ~= "table" then return obj end - local res = {} - for k, v in pairs(obj) do res[k] = copy(v) end - return res -end - -function track_layout_hash(tracklist) - local t = {} - for _, track in ipairs(tracklist) do - t[#t + 1] = string.format("%s-%d-%s-%s-%s-%s", track.type, track.id, tostring(track.default), - tostring(track.external), track.lang or "", track.external and "" or (track.title or "")) - end - return table.concat(t, "\n") -end - -function trackselect() - local fpath = mp.get_property('path') - if not options.enabled then return end - if need_ignore(options.special_protocols, fpath) then return end - tracks = copy(defaults) - local filename = mp.get_property("filename/no-ext") - local tracklist = mp.get_property_native("track-list") - local tracklist_changed = false - local found_last = {} - if options.fingerprint then - local new_fingerprint = track_layout_hash(tracklist) - if new_fingerprint == fingerprint then - return - end - fingerprint = new_fingerprint - tracklist_changed = true - end - for _, track in ipairs(tracklist) do - if options.smart_keep and last[track.type] ~= nil and last[track.type].lang == track.lang and - last[track.type].codec == track.codec and last[track.type].external == track.external and - last[track.type].title == track.title then - tracks[track.type].best = track - options["preferred_" .. track.type .. "_lang"] = "" - options["excluded_" .. track.type .. "_words"] = "" - options["expected_" .. track.type .. "_words"] = "" - options["preferred_" .. track.type .. "_channels"] = "" - found_last[track.type] = true - elseif not options.force and (tracklist_changed or not options.fingerprint) then - if tracks[track.type].id == "" then - tracks[track.type].id = mp.get_property(track.type:sub(1, 1) .. "id", "auto") - end - if tracks[track.type].id ~= "auto" then - options["preferred_" .. track.type .. "_lang"] = "" - options["excluded_" .. track.type .. "_words"] = "" - options["expected_" .. track.type .. "_words"] = "" - options["preferred_" .. track.type .. "_channels"] = "" - end - end - if options["preferred_" .. track.type .. "_lang"] ~= "" or options["excluded_" .. track.type .. "_words"] ~= "" - or options["expected_" .. track.type .. "_words"] ~= "" or - (options["preferred_" .. track.type .. "_channels"] or "") ~= "" then - if track.selected then - tracks[track.type].selected = track.id - if options.smart_keep then - last[track.type] = track - end - end - if track.title then - track.title = string.gsub(string.gsub(track.title, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1"), filename, "") - end - if next(tracks[track.type].best) == nil or not (tracks[track.type].best.external - and tracks[track.type].best.lang ~= nil and not track.external) then - if options["excluded_" .. track.type .. "_words"] == "" or - not contains(track, options["excluded_" .. track.type .. "_words"], "title") then - if options["expected_" .. track.type .. "_words"] == "" or - contains(track, options["expected_" .. track.type .. "_words"], "title") then - local pass = true - local channels = false - local lang = false - if (options["preferred_" .. track.type .. "_channels"] or "") ~= "" and - preferred_or_equals(track, options["preferred_" .. track.type .. "_lang"], "lang", - "lang_score") then - channels = preferred(track, options["preferred_" .. track.type .. "_channels"], - "demux-channel-count", "channels_score") - pass = channels - end - if options["preferred_" .. track.type .. "_lang"] ~= "" then - lang = preferred(track, options["preferred_" .. track.type .. "_lang"], "lang", "lang_score") - end - if (options["preferred_" .. track.type .. "_lang"] == "" and pass) or channels or lang or - (track.external and track.lang == nil and - (not tracks[track.type].best.external or tracks[track.type].best.lang == nil)) then - tracks[track.type].best = track - end - end - end - end - end - end - for _type, track in pairs(tracks) do - if next(track.best) ~= nil and track.best.id ~= track.selected then - mp.set_property(_type:sub(1, 1) .. "id", track.best.id) - if options.smart_keep and found_last[track.best.type] then - last[track.best.type] = track.best - end - end - end -end - -function selected_tracks() - local tracklist = mp.get_property_native("track-list") - last = {} - for _, track in ipairs(tracklist) do - if track.selected then - last[track.type] = track - end - end -end - -if options.hook then - mp.add_hook("on_preloaded", 50, trackselect) -else - mp.register_event("file-loaded", trackselect) -end - -if options.smart_keep then - mp.register_event("track-switched", selected_tracks) -end \ No newline at end of file diff --git a/scripts/undoredo.lua b/scripts/undoredo.lua deleted file mode 100644 index c5d8f7b..0000000 --- a/scripts/undoredo.lua +++ /dev/null @@ -1,218 +0,0 @@ --- Copyright (c) 2021, Eisa AlAwadhi --- License: BSD 2-Clause License - --- Creator: Eisa AlAwadhi --- Project: UndoRedo --- Version: 2.2 - -local utils = require 'mp.utils' -local msg = require 'mp.msg' -local seconds = 0 -local countTimer = -1 -local seekTime = 0 -local seekNumber = 0 -local currentIndex = 0 -local seekTable = {} -local seeking = 0 -local undoRedo = 0 -local pause = false -seekTable[0] = 0 - -----------------------------USER CUSTOMIZATION SETTINGS----------------------------------- ---These settings are for users to manually change some options in the script. ---Keybinds can be defined in the bottom of the script. - -local osd_messages = true --true is for displaying osd messages when actions occur, Change to false will disable all osd messages generated from this script - ----------------------------END OF USER CUSTOMIZATION SETTINGS--------------------- - -local function prepareUndoRedo() - if (pause == true) then - seconds = seconds - else - seconds = seconds - 0.5 - end - seekTable[currentIndex] = seekTable[currentIndex] + seconds - seconds = 0 -end - -local function getUndoRedo() - if (seeking == 0) then - prepareUndoRedo() - - seekNumber = currentIndex + 1 - currentIndex = seekNumber - seekTime = math.floor(mp.get_property_number('time-pos')) - table.insert(seekTable, seekNumber, seekTime) - - undoRedo = 0 - - elseif (seeking == 1) then - seeking = 0 - end -end - -mp.register_event('file-loaded', function() - filePath = mp.get_property('path') - - timer = mp.add_periodic_timer(0.1, function() - seconds = seconds + 0.1 - end) - - if (pause == true) then - timer:stop() - else - timer:resume() - end - - timer2 = mp.add_periodic_timer(0.1, function() - countTimer = countTimer + 0.1 - - if (countTimer == 0.6) then - timer:resume() - getUndoRedo() - end - - end) - - timer2:stop() -end) - - -mp.register_event('seek', function() - countTimer = 0 - timer2:resume() - timer:stop() -end) - -mp.observe_property('pause', 'bool', function(name, value) - if value then - if timer ~= nil then - timer:stop() - end - pause = true - else - if timer ~= nil then - timer:resume() - end - pause = false - end -end) - -mp.register_event('end-file', function() - if timer ~= nil then - timer:kill() - end - if timer2 ~= nil then - timer2:kill() - end - seekNumber = 0 - currentIndex = 0 - undoRedo = 0 - seconds = 0 - countTimer = -1 - seekTable[0] = 0 -end) - -local function undo() - if (filePath ~= nil) and (countTimer >= 0) and (countTimer < 0.6) and (seeking == 0) then - timer2:stop() - - getUndoRedo() - - currentIndex = currentIndex - 1 - if (currentIndex < 0) then - if (osd_messages == true) then - mp.osd_message('No Undo Found') - end - currentIndex = 0 - msg.info('No undo found') - else - if (seekTable[currentIndex] < 0) then - seekTable[currentIndex] = 0 - end - - seeking = 1 - - mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') - - undoRedo = 1 - if (osd_messages == true) then - mp.osd_message('Undo') - end - msg.info('Seeked using undo') - end - elseif (filePath ~= nil) and (currentIndex > 0) then - - prepareUndoRedo() - currentIndex = currentIndex - 1 - - if (seekTable[currentIndex] < 0) then - seekTable[currentIndex] = 0 - end - - seeking = 1 - mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') - - undoRedo = 1 - if (osd_messages == true) then - mp.osd_message('Undo') - end - msg.info('Seeked using undo') - elseif (filePath ~= nil) and (currentIndex == 0) then - if (osd_messages == true) then - mp.osd_message('No Undo Found') - end - msg.info('No undo found') - end -end - -local function redo() - if (filePath ~= nil) and (currentIndex < seekNumber) then - - prepareUndoRedo() - currentIndex = currentIndex + 1 - - if (seekTable[currentIndex] < 0) then - seekTable[currentIndex] = 0 - end - - seeking = 1 - mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') - - undoRedo = 0 - - if (osd_messages == true) then - mp.osd_message('Redo') - end - msg.info('Seeked using redo') - elseif (filePath ~= nil) and (currentIndex == seekNumber) then - if (osd_messages == true) then - mp.osd_message('No Redo Found') - end - msg.info('No redo found') - end -end - -local function undoLoop() - if (filePath ~= nil) and (undoRedo == 0) then - undo() - elseif (filePath ~= nil) and (undoRedo == 1) then - redo() - elseif (filePath ~= nil) and (countTimer == -1) then - if (osd_messages == true) then - mp.osd_message('No Undo Found') - end - msg.info('No undo found') - end -end - - -mp.add_key_binding("ctrl+z", "undo", undo) -mp.add_key_binding("ctrl+Z", "undoCaps", undo) - -mp.add_key_binding("ctrl+y", "redo", redo) -mp.add_key_binding("ctrl+Y", "redoCaps", redo) - -mp.add_key_binding("ctrl+alt+z", "undoLoop", undoLoop) -mp.add_key_binding("ctrl+alt+Z", "undoLoopCaps", undoLoop) \ No newline at end of file diff --git a/scripts/uosc/LICENSE.LGPL b/scripts/uosc/LICENSE.LGPL deleted file mode 100644 index 4362b49..0000000 --- a/scripts/uosc/LICENSE.LGPL +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/scripts/uosc/README.md b/scripts/uosc/README.md deleted file mode 100644 index 84f80e9..0000000 --- a/scripts/uosc/README.md +++ /dev/null @@ -1,545 +0,0 @@ -

    - -Features: - -- UI elements hide and show based on their proximity to cursor instead of every time mouse moves. This provides 100% control over when you see the UI and when you don't. Click on the preview above to see it in action. -- When timeline is unused, it can minimize itself into a small discrete progress bar. -- Build your own context menu with nesting support by editing your `input.conf` file. -- Configurable controls bar. -- Fast and efficient thumbnails with [thumbfast](https://github.com/po5/thumbfast) integration. -- UIs for: - - Selecting subtitle/audio/video track. - - [Downloading subtitles](#download-subtitles) from [Open Subtitles](https://www.opensubtitles.com). - - Loading external subtitles. - - Selecting stream quality. - - Quick directory and playlist navigation. -- All menus are instantly searchable. Just start typing. -- Mouse scroll wheel does multiple things depending on what is the cursor hovering over: - - Timeline: seek by `timeline_step` seconds per scroll. - - Volume bar: change volume by `volume_step` per scroll. - - Speed bar: change speed by `speed_step` per scroll. - - Just hovering video with no UI widget below cursor: your configured wheel bindings from `input.conf`. -- Right click on volume or speed elements to reset them. -- Transforming chapters into timeline ranges (the red portion of the timeline in the preview). -- A lot of useful options and commands to bind keys to. -- [API for 3rd party scripts](https://github.com/tomasklaen/uosc/wiki) to extend, or use uosc to render their menus. - -[Changelog](https://github.com/tomasklaen/uosc/releases). - -## Install - -1. These commands will install or update **uosc** and place a default `uosc.conf` file into `script-opts` if it doesn't exist already. - - ### Windows - - _Optional, needed to run a remote script the first time if not enabled already:_ - - ```powershell - Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - ``` - - Run: - - ```powershell - irm https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/windows.ps1 | iex - ``` - - _**NOTE**: If this command is run in an mpv installation directory with `portable_config`, it'll install there instead of `AppData`._ - - _**NOTE2**: The downloaded archive might trigger false positives in some antiviruses. This is explained in [FAQ below](#why-is-the-release-reported-as-malicious-by-some-antiviruses)._ - - ### Linux & macOS - - _Requires **curl** and **unzip**._ - - ```sh - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/unix.sh)" - ``` - - On Linux, we try to detect what package manager variant of the config location you're using, with precedent being: - - ``` - ~/.var/app/io.mpv.Mpv (flatpak) - ~/snap/mpv - ~/snap/mpv-wayland - ~/.config/mpv - ``` - - To install into any of these locations, make sure the ones above it don't exist. - - ### Manual - - 1. Download & extract [`uosc.zip`](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.zip) into your mpv config directory. (_See the [documentation of mpv config locations](https://mpv.io/manual/master/#files)._) - - 2. If you don't have it already, download & extract [`uosc.conf`](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.conf) into `script-opts` inside your mpv config directory. It contains all of uosc options along with their default values and documentation. - -2. **OPTIONAL**: `mpv.conf` tweaks to better integrate with **uosc**: - - ```config - # uosc provides seeking & volume indicators (via flash-timeline and flash-volume commands) - # if you decide to use them, you don't need osd-bar - osd-bar=no - - # uosc will draw its own window controls and border if you disable window border - border=no - ``` - -3. **OPTIONAL**: To have thumbnails in timeline, install [thumbfast](https://github.com/po5/thumbfast). No other step necessary, **uosc** integrates with it seamlessly. - -4. **OPTIONAL**: If the UI feels sluggish/slow while playing video, you can remedy this _a bit_ by placing this in your `mpv.conf`: - - ```config - video-sync=display-resample - ``` - - Though this does come at the cost of a little bit higher CPU/GPU load. - - #### What is going on? - - **uosc** places performance as one of its top priorities, but it might feel a bit sluggish because during a video playback, the UI rendering frequency is chained to its frame rate. To test this, you can pause the video which will switch refresh rate to be closer or match the frequency of your monitor, and the UI should feel smoother. This is mpv limitation, and not much we can do about it on our side. - -#### Build instructions - -To build ziggy (our utility binary) yourself, run: - -``` -tools/build ziggy -``` - -Which will run the `tools/build(.ps1)` script that builds it for each platform. It requires [go](https://go.dev/) to be installed. Source code is in `src/ziggy`. - -## Options - -All of the available **uosc** options with their default values are documented in [`uosc.conf`](https://github.com/tomasklaen/uosc/blob/HEAD/src/uosc.conf) file ([download](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.conf)). - -To change the font, **uosc** respects the mpv's `osd-font` configuration. - -## Navigation - -These bindings are active when any **uosc** menu is open (main menu, playlist, load/select subtitles,...): - -- `up`, `down` - Select previous/next item. -- `enter` - Activate item or submenu. -- `bs` (backspace) - Activate parent menu. -- `esc` - Close menu. -- `wheel_up`, `wheel_down` - Scroll menu. -- `pgup`, `pgdwn`, `home`, `end` - Self explanatory. -- `ctrl+f` or `\` - In case `menu_type_to_search` config option is disabled, these two trigger the menu search instead. -- `ctrl+backspace` - Delete search query by word. -- `shift+backspace` - Clear search query. -- Holding `alt` while activating an item should prevent closing the menu (this is just a guideline, not all menus behave this way). - -Each menu can also add its own shortcuts and bindings for special actions on items/menu, such as `del` to delete a playlist item, `ctrl+up/down/pgup/pgdwn/home/end` to move it around, etc. These are usually also exposed as item action buttons for you to find out about them that way. - -Click on a faded parent menu to go back to it. - -## Commands - -**uosc** provides various commands with useful features to bind your preferred keys to, or populate your menu with. These are all unbound by default. - -To add a keybind to one of this commands, open your `input.conf` file and add one on a new line. The command syntax is `script-binding uosc/{command-name}`. - -Example to bind the `tab` key to toggle the ui visibility: - -``` -tab script-binding uosc/toggle-ui -``` - -Available commands: - -#### `toggle-ui` - -Makes the whole UI visible until you call this command again. Useful for peeking remaining time and such while watching. - -There's also a `toggle-elements ` message you can send to toggle one or more specific elements by specifying their names separated by comma: - -``` -script-message-to uosc toggle-elements timeline,speed -``` - -Available element IDs: `timeline`, `controls`, `volume`, `top_bar`, `speed` - -Under the hood, `toggle-ui` is using `toggle-elements`, and that is in turn using the `set-min-visibility []` message. `` is a `0-1` floating point. Leave out `` to set it for all elements. - -#### `toggle-progress` - -Toggles the timeline progress mode on/off. Progress mode is an always visible thin version of timeline with no text labels. It can be configured using the `progress*` config options. - -#### `toggle-title` - -Toggles the top bar title between main and alternative title's. This can also be done by clicking on the top bar. - -Only relevant if top bar is enabled, `top_bar_alt_title` is configured, and `top_bar_alt_title_place` is `toggle`. - -#### `flash-ui` - -Command(s) to briefly flash the whole UI. Elements are revealed for a second and then fade away. - -To flash individual elements, you can use: `flash-timeline`, `flash-progress`, `flash-top-bar`, `flash-volume`, `flash-speed`, `flash-pause-indicator`, `decide-pause-indicator` - -There's also a `flash-elements ` message you can use to flash one or more specific elements. Example: - -``` -script-message-to uosc flash-elements timeline,speed -``` - -Available element IDs: `timeline`, `progress`, `controls`, `volume`, `top_bar`, `speed`, `pause_indicator` - -This is useful in combination with other commands that modify values represented by flashed elements, for example: flashing volume element when changing the volume. - -You can use it in your bindings like so: - -``` -space cycle pause; script-binding uosc/flash-pause-indicator -right seek 5 -left seek -5 -shift+right seek 30; script-binding uosc/flash-timeline -shift+left seek -30; script-binding uosc/flash-timeline -m no-osd cycle mute; script-binding uosc/flash-volume -up no-osd add volume 10; script-binding uosc/flash-volume -down no-osd add volume -10; script-binding uosc/flash-volume -[ no-osd add speed -0.25; script-binding uosc/flash-speed -] no-osd add speed 0.25; script-binding uosc/flash-speed -\ no-osd set speed 1; script-binding uosc/flash-speed -> script-binding uosc/next; script-message-to uosc flash-elements top_bar,timeline -< script-binding uosc/prev; script-message-to uosc flash-elements top_bar,timeline -``` - -Case for `(flash/decide)-pause-indicator`: mpv handles frame stepping forward by briefly resuming the video, which causes pause indicator to flash, and none likes that when they are trying to compare frames. The solution is to enable manual pause indicator (`pause_indicator=manual`) and use `flash-pause-indicator` (for a brief flash) or `decide-pause-indicator` (for a static indicator) as a secondary command to appropriate bindings. - -#### `menu` - -Toggles default menu. Read [Menu](#menu-1) section below to find out how to fill it up with items you want there. - -Note: there's also a `menu-blurred` command that opens a menu without pre-selecting the 1st item, suitable for commands triggered with a mouse, such as control bar buttons. - -#### `subtitles`, `audio`, `video` - -Menus to select a track of a requested type. - -#### `load-subtitles`, `load-audio`, `load-video` - -Displays a file explorer with directory navigation to load a requested track type. - -For subtitles, the explorer only displays file types defined in `subtitle_types` option. For audio and video, the ones defined in `video_types` and `audio_types` are displayed. - -#### `download-subtitles` - -A menu to search and download subtitles from [Open Subtitles](https://www.opensubtitles.com). It can also be opened by selecting the **Download** option in `subtitles` menu. - -We fetch results for languages defined in *uosc**'s `languages` option, which defaults to your mpv `slang` configuration. - -We also hash the current file and send the hash to Open Subtitles so you can search even with empty query and if your file is known, you'll get subtitles exactly for it. - -Subtitles will be downloaded to the same directory as currently opened file, or `~~/subtitles` (folder in your mpv config directory) if playing a URL. - -Current Open Subtitles limit for unauthenticated requests is **5 download per day**, but searching is unlimited. Authentication raises downloads to 10, which doesn't feel like it's worth the effort of implementing it, so currently there's no way to authenticate. 5 downloads per day seems sufficient for most use cases anyway, as if you need more, you should probably just deal with it in the browser beforehand so you don't have to fiddle with the subtitle downloading menu every time you start playing a new file. - -#### `playlist` - -Playlist navigation. - -#### `chapters` - -Chapter navigation. - -#### `editions` - -Editions menu. Editions are different video cuts available in some mkv files. - -#### `stream-quality` - -Switch stream quality. This is just a basic re-assignment of `ytdl-format` mpv property from predefined options (configurable with `stream_quality_options`) and video reload, there is no fetching of available formats going on. - -#### `keybinds` - -Displays a command palette menu with all currently active keybindings (defined in your `input.conf` file, or registered by scripts). Useful to check what command is bound to what shortcut, or the other way around. - -#### `open-file` - -Open file menu. Browsing starts in current file directory, or user directory when file not available. The explorer only displays file types defined in the `video_types`, `audio_types`, and `image_types` options. - -You can use `alt+enter` or `alt+click` to load the whole directory in mpv instead of navigating its contents. -You can also use `ctrl+enter` or `ctrl+click` to append a file or directory to the playlist. - -#### `items` - -Opens `playlist` menu when playlist exists, or `open-file` menu otherwise. - -#### `next`, `prev` - -Open next/previous item in playlist, or file in current directory when there is no playlist. Enable `loop-playlist` to loop around. - -#### `first`, `last` - -Open first/last item in playlist, or file in current directory when there is no playlist. - -#### `next-file`, `prev-file` - -Open next/prev file in current directory. Enable `loop-playlist` to loop around - -#### `first-file`, `last-file` - -Open first/last file in current directory. - -#### `shuffle` - -Toggle uosc's playlist/directory shuffle mode on or off. - -This simply makes the next selected playlist or directory item be random, like the shuffle function of most other players. This does not modify the actual playlist in any way, in contrast to the mpv built-in command `playlist-shuffle`. - -#### `delete-file-next` - -Delete currently playing file and start next file in playlist (if there is a playlist) or current directory. - -Useful when watching episodic content. - -#### `delete-file-quit` - -Delete currently playing file and quit mpv. - -#### `show-in-directory` - -Show current file in your operating systems' file explorer. - -#### `audio-device` - -Switch audio output device. - -#### `paste`, `paste-to-open`, `paste-to-playlist` - -Commands to paste path or URL in clipboard to either open immediately, or append to playlist. - -`paste` will add to playlist if there's any (`playlist-count > 1`), or open immediately otherwise. - -`paste-to-playlist` will also open the pasted file if mpv is idle (no file open). - -Note: there are alternative ways to open stuff from clipboard without the need to bind these commands: - -- When `open-file` menu is open → `ctrl+v` to open path/URL in clipboard. -- When `playlist` menu is open → `ctrl+v` to add path/URL in clipboard to playlist. -- When any track menu (`subtitles`, `audio`, `video`) is open → `ctrl+v` to add path/URL in clipboard as a new track. - -#### `copy-to-clipboard` - -Copy currently open path or URL to clipboard. - -Additionally, you can also press `ctrl+c` to copy path of a selected item in `playlist` or all directory listing menus. - -#### `open-config-directory` - -Open directory with `mpv.conf` in file explorer. - -#### `update` - -Updates uosc to the latest stable release right from the UI. Available in the "Utils" section of default menu . - -Supported environments: - -| Env | Works | Note | -|:---|:---:|---| -| Windows | ✔️ | _Not tested on older PowerShell versions. You might need to `Set-ExecutionPolicy` from the install instructions and install with the terminal command first._ | -| Linux (apt) | ✔️ | | -| Linux (flatpak) | ✔️ | | -| Linux (snap) | ❌ | We're not allowed to access commands like `curl` even if they're installed. (Or at least this is what I think the issue is.) | -| MacOS | ❌ | `(23) Failed writing body` error, whatever that means. | - -If you know about a solution to fix self-updater for any of the currently broken environments, please make an issue/PR and share it with us! - -**Note:** The terminal commands from install instructions still work fine everywhere, so you can use those to update instead. - -## Menu - -**uosc** provides a way to build, display, and use your own menu. By default it displays a pre-configured menu with common actions. - -To display the menu, add **uosc**'s `menu` command to a key of your choice. Example to bind it to **right click** and **menu** buttons: - -``` -mbtn_right script-binding uosc/menu -menu script-binding uosc/menu -``` - -To display a submenu, send a `show-submenu` message to **uosc** with first parameter specifying menu ID. Example: - -``` -R script-message-to uosc show-submenu "Utils > Aspect ratio" -``` - -Note: The **menu** key is the one nobody uses between the **win** and **right_ctrl** keys (it might not be on your keyboard). - -### Adding items to menu - -Adding items to menu is facilitated by commenting your keybinds in `input.conf` with special comment syntax. **uosc** will than parse this file and build the context menu out of it. - -#### Syntax - -Comment has to be at the end of the line with the binding. - -Comment has to start with `#!` (or `#menu:`). - -Text after `#!` is an item title. - -Title can be split with `>` to define nested menus. There is no limit on nesting. - -Use `#` instead of a key if you don't necessarily want to bind a key to a command, but still want it in the menu. - -If multiple menu items with the same command are defined, **uosc** will concatenate them into one item and just display all available shortcuts as that items' hint, while using the title of the first defined item. - -Menu items are displayed in the order they are defined in `input.conf` file. - -The command `ignore` does not result in a menu item, however all the folders leading up to it will still be created. -This allows more flexible structuring of the `input.conf` file. - -#### Examples - -Adds a menu item to load subtitles: - -``` -alt+s script-binding uosc/load-subtitles #! Load subtitles -``` - -Adds a stay-on-top toggle with no keybind: - -``` -# cycle ontop #! Toggle on-top -``` - -Define and display multiple shortcuts in single items' menu hint (items with same command get concatenated): - -``` -esc quit #! Quit -q quit #! -``` - -Define a folder without defining any of its contents: - -``` -# ignore #! Folder title > -``` - -Define an un-selectable, muted, and italic title item by using `#` as key, and omitting the command: - -``` -# #! Title -# #! Section > Title -``` - -Define a separator between previous and next items by doing the same, but using `---` as title: - -``` -# #! --- -# #! Section > --- -``` - -Example context menu: - -This is the default pre-configured menu if none is defined in your `input.conf`, but with added shortcuts. To both pause & move the window with left mouse button, so that you can have the menu on the right one, enable `click_threshold` in `uosc.conf` (see default `uosc.conf` for example/docs). - -``` -menu script-binding uosc/menu -mbtn_right script-binding uosc/menu -s script-binding uosc/subtitles #! Subtitles -a script-binding uosc/audio #! Audio tracks -q script-binding uosc/stream-quality #! Stream quality -p script-binding uosc/items #! Playlist -c script-binding uosc/chapters #! Chapters -> script-binding uosc/next #! Navigation > Next -< script-binding uosc/prev #! Navigation > Prev -alt+> script-binding uosc/delete-file-next #! Navigation > Delete file & Next -alt+< script-binding uosc/delete-file-prev #! Navigation > Delete file & Prev -alt+esc script-binding uosc/delete-file-quit #! Navigation > Delete file & Quit -o script-binding uosc/open-file #! Navigation > Open file -# set video-aspect-override "-1" #! Utils > Aspect ratio > Default -# set video-aspect-override "16:9" #! Utils > Aspect ratio > 16:9 -# set video-aspect-override "4:3" #! Utils > Aspect ratio > 4:3 -# set video-aspect-override "2.35:1" #! Utils > Aspect ratio > 2.35:1 -# script-binding uosc/audio-device #! Utils > Audio devices -# script-binding uosc/editions #! Utils > Editions -ctrl+s async screenshot #! Utils > Screenshot -alt+i script-binding uosc/keybinds #! Utils > Key bindings -O script-binding uosc/show-in-directory #! Utils > Show in directory -# script-binding uosc/open-config-directory #! Utils > Open config directory -# script-binding uosc/update #! Utils > Update uosc -esc quit #! Quit -``` - -To see all the commands you can bind keys or menu items to, refer to [mpv's list of input commands documentation](https://mpv.io/manual/master/#list-of-input-commands). - -## Messages - -**uosc** listens on some messages that can be sent with `script-message-to uosc` command. Example: - -``` -R script-message-to uosc show-submenu "Utils > Aspect ratio" -``` - -### `show-submenu `, `show-submenu-blurred ` - -Opens one of the submenus defined in `input.conf` (read on how to build those in the Menu documentation above). To prevent 1st item being preselected, use `show-submenu-blurred` instead. - -Parameters - -##### `` - -ID (title) of the submenu, including `>` subsections as defined in `input.conf`. It has to be match the title exactly. - -## Scripting API - -3rd party script developers can use our messaging API to integrate with uosc, or use it to render their menus. Documentation is available in [uosc Wiki](https://github.com/tomasklaen/uosc/wiki). - -## Contributing - -### Localization - -If you want to help localizing uosc by either adding a new locale or fixing one that is not up to date, start by running this while in the repository root: - -``` -tools/intl languagecode -``` - -`languagecode` can be any existing locale in `src/uosc/intl/` directory, or any [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If it doesn't exist yet, the `intl` tool will create it. - -This will parse the codebase for localization strings and use them to either update existing locale by removing unused and setting untranslated strings to `null`, or create a new one with all `null` strings. - -You can then navigate to `src/uosc/intl/languagecode.json` and start translating. - -### Setting up binaries - -If you want to test or work on something that involves ziggy (our multitool binary, currently handles searching & downloading subtitles), you first need to build it with: - -``` -tools/build ziggy -``` - -This requires [`go`](https://go.dev/dl/) to be installed and in path. If you don't want to bother with installing go, and there were no changes to ziggy, you can just use the binaries from [latest release](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.zip). Place folder `scripts/uosc/bin` from `uosc.zip` into `src/uosc/bin`. - -## FAQ - -#### Why is the release zip size in megabytes? Isn't this just a lua script? - -We are limited in what we can do in mpv's lua scripting environment. To work around this, we include a binary tool (one for each platform), that we call to handle stuff we can't do in lua. Currently this means searching & downloading subtitles, accessing clipboard data, and in future might improve self updating, and potentially other things. - -Other scripts usually choose to go the route of adding python scripts and requiring users to install the runtime. I don't like this as I want the installation process to be as seamless and as painless as possible. I also don't want to contribute to potential python version mismatch issues, because one tool depends on 2.7, other latest 3, and this one 3.9 only and no newer (real world scenario that happened to me), now have fun reconciling this. Depending on external runtimes can be a mess, and shipping a stable, tiny, and fast binary that users don't even have to know about is imo more preferable than having unstable external dependencies and additional installation steps that force everyone to install and manage hundreds of megabytes big runtimes in global `PATH`. - -#### Why don't you have `uosc-{platform}.zip` releases and only include binaries for the concerned platform in each? - -Then you wouldn't be able to sync your mpv config between platforms and everything _just work_. - -#### Why is the release reported as malicious by some antiviruses? - -Some antiviruses find our binaries suspicious due to the way go packages them. This is a known issue with all go binaries (https://go.dev/doc/faq#virus). I think the only way to solve that would be to sign them (not 100% sure though), but I'm not paying to work on free stuff. If anyone is bothered by this, and would be willing to donate a code signing certificate, let me know. - -If you want to check the binaries are safe, the code is in `src/ziggy`, and you can build them yourself by running `tools/build ziggy` in the repository root. - -We might eventually rewrite it in something else. - -#### Why _uosc_? - -It stood for micro osc as it used to render just a couple rectangles before it grew to what it is today. And now it means a minimalist UI design direction where everything is out of your way until needed. diff --git a/scripts/uosc/char-conv/zh.json b/scripts/uosc/char-conv/zh.json deleted file mode 100644 index d1ada3b..0000000 --- a/scripts/uosc/char-conv/zh.json +++ /dev/null @@ -1,405 +0,0 @@ -{ - "a": "阿啊呵腌嗄锕錒", - "ai": "爱唉挨碍哀矮埃哎艾癌隘蔼嗳皑霭捱暧瑷娭砹锿嫒薆䔽㤅鴱㗨藹㕌磑礙硋䑂愛壒㘷叆靉䨠毐塧靄璦㱯䶣瞹䀳濭溰溾曖昹啀噯嘊㗒㝶䝽敱敳賹懓懝㢊銰鑀鱫鎄皧皚馤躷䅬㿄凒娾嬡伌㑸僾餲䬵譪譺", - "an": "安按案暗岸氨俺铵胺鞍黯庵桉谙鮟鹌咹犴广厂埯揞菴蓭荌萻葊隌㸩䮗㱘鵪豻貋腤雸堓垵䎨玵䁆洝晻唵啽㽢罯㟁屵䯥峖鞌䅁錌銨䅖馣痷鶕闇媕㜝盫儑侒䬓偣韽盦䎏䜙諳誝", - "ang": "昂肮盎䩕䒢䭹䭺䀚昻㦹㼜骯岇醠㭿枊䍩仰", - "ao": "傲熬凹遨嗷奥拗澳袄懊坳敖翱螯鳌鏖岙媪鏊骜艹聱獒廒蔜芺隞隩䮯厫磝䦋奡镺䐿䞝垇㘬墺㘭璈嗸嶅䫨㥿驁鰲鷔䵅摮嫯鼇謷䁱滶澚㕭軪䯠㟼㠂㠗岰慠㤇爊襖䥝獓翶擙抝䚫梎柪翺嶴䴈奧㿰㜜媼㜩㑃謸䜒", - "ba": "把八吧巴爸罢拔霸坝叭芭扒跋疤靶耙粑笆钯伯茇菝灞岜鲅捌魃䩻䩗夿䳊䃻㔜胈鼥壩垻豝玐㶚蚆㖠跁䟦哵罷軷㞎炦鈀鲃䥯䰾鮁䳁䱝魞釟抜㧊扷覇柭欛朳叐矲䆉羓䇑丷妭颰癹仈弝詙", - "bai": "白百摆败拜柏呗掰伯稗捭佰薭䒔㼣㓦瓸㗗㗑贁㠔䢙敗韛粨庍粺䙓襬猈拝㼟擺䳆挀㿟㧳栢䴽竡絔", - "ban": "办般半班板伴版搬斑扮颁瓣拌扳绊坂阪舨瘢柈钣癍靽䕰㚘瓪湴昄蝂岅肦怑粄䉽魬鈑鉡㩯㸞秚褩螌辦㪵闆辬姅頒鳻攽䬳絆斒", - "bang": "帮邦膀棒傍榜绑梆磅蚌旁镑谤浜蒡䧛䂜幚邫垹鞤幇幫䎧塝玤蜯䖫䟺髈䰷鎊挷捠搒㯁㭋㮄棓牓稖艕㔙㾦綁縍謗彭", - "bao": "保报包胞宝暴抱薄剥炮爆饱堡孢豹瀑刨鲍苞雹葆曝褒鸨褓煲龅趵勹蕔菢藵犦髱䨌䨔㙅靌報堢㙸虣珤㻄齙㵡㿺曓㫧蚫骲鳵怉䎂寳寚寶䴐宲窇䥤鑤㲒鮑䳈鉋铇勽䤖枹䈏㲏忁笣䪨闁媬儤賲䳰佨飹飽䭋駂鴇剝緥袌裦襃", - "bei": "被北备背倍悲贝杯辈臂卑碑呗狈惫钡悖孛蓓焙陂碚褙勃鞴鐾庳鹎邶䔒鞁藣苝犕㸬㸽牬盃愂䎬䎱琲㰆珼䁅輩䩀㻗㶔昁蛽䠙唄䡶㽡郥骳貝㤳糒禙鋇䰽狽㔨鉳㼎鵯揹柸桮梖椑㸢㓈㾱鄁軰㛝僃備憊㷶偹俻偝㣁䋳誖", - "ben": "本奔笨苯贲坌夯畚锛奙逩坋㱵渀漰泍㤓㡷錛撪㨧捹桳㮺翉楍栟犇倴䬱", - "beng": "崩蹦绷甭迸泵嘣甏菶䩬鞛奟䳞埲䨻塴埄琫㱶琣嗙嵭㷯䙀祊鏰镚甮揼逬䭰痭閍伻㑟綳䋽繃絣蚌", - "bi": "比必笔毕避壁秘闭鼻币彼逼辟臂泌碧弊蔽鄙毙弼痹庇陛璧婢敝匕俾裨荸吡哔蓖贲襞铋秕毖愎髀篦睥畀妣筚薜萆芘荜滗濞跸嬖狴箅舭鞸䩛蓽㳼萞苾䕗䎵聛䧗驆駜䮡夶髲䭮觱㗉皕䏢腷毴貏䏶賁堛䟆㙄㘩㻫豍珌㱸㻶㹃睤䁹䀣湢滭幤㵥獘斃鄨幣鷩潷䨆沘㡀畢鷝㪤䖩螕蜌啚蹕䟤躃䠋嗶咇罼奰㘠貱䯗畁㡙㠲贔赑怶愊韠䪐躄繴㵨鼊怭屄邲煏熚廦䊧粃襅袐襣禆䃾鲾鏎鐴鉍鰏鮅獙鎞㧙魓㪏柀楅䣥㯇㮿柲榌㮰䵄朼梐䫁篳馝䇷箆筆䄶閉閇㓖閟痺䦘疕疪㚰妼鵖嬶佊偪朇佖䬛䫾饆飶㢰䋔㢶弻彃縪鄪䌟綼㿫毞坒粊㢸䘡詖诐佛拂", - "bian": "变便边遍编辩辨鞭扁贬辫蝙匾卞鳊汴砭弁苄碥忭煸褊窆笾缏䒪鞕䛒藊萹䪻鴘㺹玣㻞䁵㳎覍汳㝸㴜昪䡢峅貶惼炞糄鯾鯿獱猵鍽㣐抃揙㭓牑邉邊釆籩艑䉸箯徧稨閞㵷㦚辡辧辮辯緶編㲢甂変諚變", - "biao": "表标彪裱婊飚飙镖膘鳔俵骠镳飑髟瘭䔸藨蔈骉驫飆猋嫑磦脿爂臕墂㯱滮淲瀌贆幖㟽㠒飊熛褾錶鑣鏢㧼摽㯹標檦穮儦飇颩颮颷飈諘謤䞄", - "bie": "别憋瘪鳖蹩虌莂䏟蟞鱉龞彆鼈蛂䠥別襒䋢徶䭱䉲癟㿜㢼", - "bin": "宾滨斌彬濒缤鬓槟殡摈膑邠玢份频髌豳镔傧髩鬢鬂臏䐔霦豩璸瑸殯頻虨瀕濱濵汃髕賓顮䚔賔鑌擯檳梹椕儐繽", - "bing": "并病兵冰饼丙柄炳秉禀屏槟摒邴鞆鞞苪䓑陃靐垪眪昞昺蛃䗒怲庰寎窉鈵鮩鋲鉼掤抦㨀棅栤䴵幷䈂並竝偋倂併仒傡餠餅仌䋑氷稟誁", - "bo": "波伯播剥博玻勃拨柏脖卜搏泊驳膊舶簿渤簸菠箔跛薄钵铂僰帛礴饽钹亳啵檗鹁踣擘䪇葧萡蘗蔔㹀䂍䮂䮀駁駮驋礡盋䰊䫊㝿砵䶈肑胉䑈䞳郣鵓㪍䢌㱟碆浡㴾溊淿謈㬧㬍䗚䟛蹳嚗㗘㖕䯋髉髆㟑嶓懪孹糪愽㶿煿袹襮袯䙏襏鑮䥬鈸鋍鲌馎鮊鱍鉑鎛镈鉢狛猼瓟瓝㩭挬㩧撥欂桲秡䢪缽簙牔䭯馛馞䒄艊䍨䪬䍸癷侼癶仢僠䭦䬪餑餺紴䊿袰譒佛", - "bu": "不部步布补捕卜哺埔怖簿埠钚卟逋晡钸醭瓿䪁荹蔀䏽㘵埗㙛㻉歨歩堡䴝鳪䀯㳍吥咘踄轐峬䝵䪔悑庯䊇廍補鈈鈽錻鸔抪捗㨐柨鵏䴺䍌䒈䑰篰㾟勏郶䳝㚴佈䬏餔餢䋠誧", - "ca": "擦嚓礤遪礸䟃䵽攃", - "cai": "才采材财彩菜裁猜蔡踩睬䰂毝䐆埰䞗啋跴財㥒寀採棌䴭䣋㒲婇倸偲䌨綵䌽纔縩", - "can": "参残餐惨蚕灿掺惭璨孱粲骖黪薒䣟朁蠶叄參㕘叅驂䏼蝅蠺䗞䘉殘㱚㻮㣓䝳㛑澯湌㘔喰㽩黲慙䳻㨻㥇憯慘慚㦧燦爘䙁䗝㺑穇䅟䑶㿊䍼飡䫮㜗嬠傪儏䬫謲䛹", - "cang": "藏苍仓舱沧臧伧蒼㶓㵴濸滄螥嵢賶鑶獊欌艙䅮凔仺鸧傖倉鶬䢢", - "cao": "草操曹槽糙嘈漕螬艚蓸䏆艸騲䐬鼜䎭曺鄵嶆愺慅慒懆褿襙䄚鏪撡㯥肏䒑㜖", - "ce": "策测侧册厕栅恻拆䔴荝萴萗蓛厠䜺測畟冊㥽夨惻憡廁粣䊂㨲拺㩍敇筴䇲䈟笧筞簎箣側", - "cen": "参岑涔䃡䨙埁㻸嵾䯔㞥䲋䤁䅾篸笒", - "ceng": "层曾蹭噌驓䁬㬝嶒層䉕㣒竲", - "cha": "差察查茶插叉诧岔刹喳茬嚓楂杈碴汊搽衩姹槎馇镲锸猹檫靫䕓䓭䒲䰈䑘垞䶪䁟嗏䟕蹅嵖㣾㤞㢒㢎㢉䆛銟䲦䤩鑔鍤扠剎挿揷査臿䊬秅䑡艖䡨疀奼侘偛餷詧紁㪯詫㛳㫅", - "chai": "差柴拆钗豺侪虿瘥茝芆䓱蠆䘍袃肞㼮祡㳗囆喍釵犲㾹儕㑪訍", - "chan": "产颤阐缠禅铲掺潺馋蝉搀蟾忏谄孱谗巉廛羼崭蒇骣觇澶躔冁婵单剗蕆䩶韂䵐苂䧯㹌䣑硟䐮䑎壥㙻㶣㙴刬䀡覘㢟䂁湹瀍瀺潹㵌灛滻浐㬄蟐蟬螹旵䠨囅丳嚵䡲磛䡪幝幨辿嵼懴䪜㦃懺煘鄽㢆燀裧襜䥀酁劖毚䤫䱿鑱镵㹽鋋鋓獑㺥鏟摻摲攙摌醦䤘䊲棎欃梴㯆䴼㸥艬簅闡閳産剷嬋儳饞儃緾繟纏纒產譂顫諂䜛讒誗讇斺", - "chang": "长常场厂唱昌肠偿尝倡畅倘敞淌猖怅嫦娼氅菖昶徜鲳惝苌鬯阊伥萇䩨䕋長䯴镸瓺兏厰腸膓㙊場鼚塲瑺瑒琩玚仧淐甞嘗㦂䗅暢㫤䠆䠀嚐畼悵韔廠焻裮鋹鲿錩锠鱨鯧椙閶倀仩僘償誯裳", - "chao": "朝超潮吵巢抄嘲剿炒钞绰晁焯耖怊焣㷅䏚䎐眧巣漅鼌鼂罺轈巐䬤煼㶤窲窼觘鈔䰫樔麨牊䄻鄛欩仯仦弨謿訬", - "che": "车彻撤扯澈掣尺屮砗坼莗㱌䧪聅䨁硨䞣䰩頙迠瞮䁤㵔蛼㬚唓車㥉爡烢䚢撦㨋硩㿭㯙䑲䒆勶徹㾝偖伡俥㔭䋲䛸䜠", - "chen": "称陈沉晨臣尘趁衬辰嗔琛抻伧谶碜宸郴谌忱龀榇茞蔯莀䢻莐薼䒞陳螴敶磣䣅㲀㫳䢈敐硶䫖夦䢅䐜墋趂霃齓齔瞋㴴鷐迧曟踸䟢趻㕴嚫軙贂賝䞋愖煁麎塵襯䆣鍖鈂䤟捵栕樄桭梣棽櫬䚘䑣瘎疢㽸㧱儭諶䜟謓訦諃讖沈", - "cheng": "成程称城承诚呈乘惩撑澄秤橙逞丞骋盛瞠铛塍柽埕琤净抢蛏裎铖酲枨荿䔲䧕阷㞼騁䮪騬郕䫆㼩碀脭爯頳䞓赪赬塖堘珹靗珵睈䀕䁎洆浾泟澂㲂牚瀓溗蟶晿䗊畻峸憆悜憕庱宬窚竀䆑䆵䆸䄇鋮鐣鏿鯎掁摚撐挰㨃揨檉棖檙橕棦朾乗筬稱罉穪䇸徎懲娍偁侱㐼饓僜絾緽誠椉", - "chi": "吃持池尺赤迟斥齿翅驰耻痴弛炽哧侈嗤叱敕啻饬笞踟柢呎茌褫鸱勅墀蚩蚩豉眵螭魑匙篪瘛媸傺荎䠠㔑䔟䧝妛恥欼馳䮻䮈肔胵腟胣䐤趩赿䞾灻垑漦雴鵄䜵䜻彨彲銐殦䶔齝齒歯瞝懘㳏湁蚇蚳喫噄䟷翤叺㽚㞿㞴貾㟂恜翄㓾遲翨杘遅遟憏迡烾㢁㶴粚㡿㢋熾裭䙙袳鴟㱀䤲鍉卶鉹㺈鉓瓻䰡抶摛攡㮛鶒慗鷘遫㓼麶勑䳵竾䑛䇪箎筂䈕䇼黐䪧痸癡侙䶵伬䬜飭㒆㘜䊼絺㢮訵㙜䜄謘袲誺䛂", - "chong": "重充冲虫崇涌宠憧忡舂铳种茺艟隀憃埫珫沖漴浺㳘蟲蝩蹖嘃罿㓽翀爞崈寵褈銃摏揰㧤䳯䖝衝㹐緟䌬", - "chou": "抽筹仇丑愁臭酬畴瞅绸稠踌惆帱瘳俦雠䓓薵菗䔏遚魗㦞㐜殠矁㵞躊吜疇幬㤽懤燽䊭裯䲖鮘㿧㩅皗搊㨶梼檮醻酧醜椆杽栦籌䇺臰篘䪮嬦㛶丒儔䀺偢犨讐雔雦犫讎䌧綢紬䌷絒詶", - "chu": "出处除初础助楚触畜储厨锄橱雏躇矗搐刍蜍怵滁黜绌杵蹰亍憷樗楮蒢蒭䢺㔘欪䧁䮞犓㕑㕏礎貙臅㙇埱趎耡䎤㼥䎝豠豖珿䜴璴齣齭齼敊䖏處泏濋㶆滀蟵䟞䠧躕䟣嘼㗰歜㡡幮岀㤕㤘廚䊰䙘䙕禇鶵芻雛鋤鉏㐥觸㹼摴斶櫉櫥䠂椘檚榋篨䅳処䦌竐竌閦媰俶儊儲傗絀諔鄐", - "chuai": "揣啜踹膪搋膗㪜㪓䦤䦟䦷", - "chuan": "传船穿川串喘椽氚钏舛遄舡巛荈堾玔瑏㱛䁣汌暷踳圌輲歂㼷賗釧猭㯌篅舩僢傳剶鶨", - "chuang": "创床窗闯疮怆磢䃥䚎刱䎫㵂噇䡴㡖愴窓窻摐牎牕䇬剙剏闖䚒牀瘡刅傸䭚創幢", - "chui": "吹垂锤椎炊捶槌陲棰菙㝽腄䞼䶴㓃錘鎚搥桘㩾䳠䍋埀䄲箠㥨龡倕顀", - "chun": "春纯唇醇蠢淳椿莼鹑蝽䔚䓐萶萅蓴蒓陙㸪犉脣䫃惷䐏䏝䐇䏛旾瑃睶㵮浱漘滣湻暙㖺輴賰䞐䄝䥎鰆鯙錞㿤鶞槆杶䣩䣨醕櫄橁箺䦮媋偆純㝄鶉㝇", - "chuo": "戳绰辍龊啜淖踔辶䓎歠䮕磭䃗辵趠繛齪逴涰嚽踀哾輟惙䆯鑡㚟㲋擉酫䂐䄪䍳䇍婥娖娕餟䋘綽", - "ci": "此次差词刺磁辞雌慈兹瓷赐伺疵呲糍祠茨鹚䓧㹂茦莿薋䦻㤵辝䰍䯸䂣礠㓨辭辤蛓趀䨏珁玼刾䧳㘹䖪㠿鮆鴜䳄飺泚濨蠀䗹螆跐㘂骴髊賜䛐㞖䲿㡹庛㢀皉㩞朿柌栨䆅䈘齹垐䳐餈鶿鷀甆嬨佌偨佽䭣縒絘詞", - "cong": "从匆丛聪葱囱淙熜琮苁骢璁枞藂䕺茐蔥蓯孮聦聰聡騘驄瑽瞛潈潀灇潨漗漎蟌暰䟲賩悰愡憁爜叢賨錝鍯怱鏓鏦欉樷樬樅棇徔悤囪徖䉘篵従從䳷㼻婃忩繱誴謥", - "cou": "凑腠辏楱湊㫶輳", - "cu": "促粗簇醋卒蹙猝蹴徂趣趋蔟殂䓚觕㗤顣䃚䢐脨趗鼀䠞踧踿䠓噈怚䎌憱麤䙯䥄麁䥘䟟㰗橻瘄瘯媨麄䬨縬蹵䛤誎", - "cuan": "窜篡攒蹿撺爨镩汆䰖㸑殩㵀躥㠝巑熶竄䆘鑹攛櫕欑㭫簒穳", - "cui": "催翠脆粹崔摧萃悴瘁璀啐淬毳榱䃀磪䂱膵膬䄟㯔臎脃脺趡墔琗㧘㱖㵏漼濢㳃啛嵟慛㥞忰翆㷃䊫粋㷪焠㝮襊竁鏙皠㯜槯䧽䆊凗疩伜倅紣縗缞綷顇衰", - "cun": "存村寸忖皴吋刌壿邨膥澊踆籿拵䍎竴侟", - "cuo": "错措挫搓撮磋锉蹉矬厝脞鹾鹾嵯痤蔖剒逪莡蒫莝遳蓌䂳䐣瑳䣜虘鹺睉䠡䟶㽨嵳㟇錯䱜鎈銼醝䴾酂酇㿷剉夎", - "da": "大打达答搭瘩嗒哒鞑沓耷惮靼跶褡怛笪妲荙韃䩢薘剳荅䃮迖羍迏䐛䐊垯墶㙮逹達溚蟽噠迚呾咑䵣䳴眔㟷燵炟匒鎝鐽鎉撘㯚笚䑽龖龘㾑㜓㿯畣繨詚亣畗", - "dai": "代带待袋戴呆贷逮歹岱傣玳怠黛殆迨甙棣呔诒埭毒大绐帶䒫貣㞭黱叇霴靆瑇帯㻖瀻蝳㫹曃蚮蹛跢軩軑轪軚獃懛廗襶䚟䚞鴏㯂簤艜䈆㿃垈帒貸柋㐲侢㶡紿緿", - "dan": "但单担弹蛋淡胆丹旦氮诞耽郸掸惮疸眈赕澹啖箪膻石萏聃殚瘅儋蓞䩥匰耼聸馾駳髧砃䃫㽎腅膽䨢霮䨵玬殫頕㴷単泹㵅鴠㫜啿㗖鄲單噉㕪啗嘾唌嚪黮黕黵帎賧贉刐饏疍憚憺㡺瓭沊㱽褝襌衴窞禫甔觛䱋狚㺗撣㲷抌擔撢酖柦䄷䉞蜑簞䉷躭癉癚媅妉僤伔䭛餤弾彈紞繵訑勯亶㔊誕", - "dang": "当党荡挡档裆铛宕噹菪砀凼谠蘯蕩礑碭䑗雼圵趤壋垱璫珰瞊澢灙盪璗䣊䣣當黨瓽潒逿蟷嵣氹愓襠鐺擋攩檔欓簜簹筜艡䦒闣㜭婸儅譡讜", - "dao": "到道导倒岛刀蹈稻盗捣叨悼祷焘氘捯纛刂忉菿陦隯﨩隝䧂䲽壔翿燾瓙盜螩翢嶹嶌嶋禱禂鱽島㠀魛釖擣搗椡槝檤朷稲軇艔衜舠衟㿒導噵䆃辺䌦", - "de": "的地得德嘚底锝㤫悳惪㥁䙸䙷淂㝵㥀鍀㯖棏徳恴", - "dei": "得嘚", - "deng": "等灯登邓瞪凳澄蹬噔磴戥嶝镫簦䒭隥䮴墱璒䠬燈鐙櫈艠竳嬁鄧㲪覴豋", - "di": "的地第提低底敌帝弟抵递滴迪堤蒂缔笛涤狄嘀谛娣嫡邸诋砥棣碲柢睇骶荻觌坻氐镝籴羝蔕䩘鞮靮䩚蔋苖菧慸遰菂苐蔐藡隄聜阺墬埅䮤馰牴㹍髢䯼磾厎奃䂡腣坘䞶趆覿䨤埞墑䶍豴玓珶眱䴞䀿坔滌螮蝃㼵䗖蝭旳踶䟡蹢嚁呧唙啲䵠軧䍕頔嶳埊廸岻怟鸐䊮䣌㡳焍袛祶禘鉪㪆䢑釱觝䏑鯳䱃䱱鏑摕逓遞掋拞䀸梊杕枤㭽梑樀楴㰅㣙彽秪䑭䑯糴䨀媂僀仾俤偙弤㢩締詆啇敵甋遆諦翟", - "dia": "嗲", - "dian": "点电典店淀颠殿垫奠甸碘佃滇惦巅癫掂踮玷靛钿癜阽坫簟蒧蕇䓦䧃驔厧磹㼭䟍顛㒹電墊琔齻奌敁㓠澱㵤㶘蜔蹎跕嚸㸃點敟巔嵮巓壂㞟㥆㝪鈿攧槙椣橂槇䍄癲瘨㚲婰婝傎顚扂", - "diao": "掉雕吊钓刁叼调碉凋貂鲷屌铞铫藋䔙蓧䂽奝䂪鼦雿琱㪕瞗汈蛁虭䵲彫鵰䘟窎窵鋽銱錭鑃鯛魡鮉銚釣㹿鈟扚䠼簓䉆竨瘹刟鳭㒛伄弔盄弴調訋", - "die": "爹跌叠蝶迭碟谍喋牒堞蹀垤耋鲽瓞㦶戜苵㲲䴑䮢镻胅䏲臷趃䞕耊褺䠟䲀䞇㻡殜眰眣蜨曡㬪螲㫼昳哋咥跮疂氎疊疉畳嵽峌幉㥈惵㦅恎㷸褋䘭㲳鰈䳀挕㩹㩸楪㭯鴩艓牃㑙絰绖諜詄佚", - "ding": "定顶丁订钉盯叮鼎锭啶腚仃町铤酊疔碇耵玎靪薡萣艼聢䦺矴磸碠鼑濎㴿㫀蝊虰帄嵿忊顁㝎鐤饤錠釘頂㼗㐉椗奵飣訂", - "diu": "丢铥丟銩", - "dong": "动东冬洞懂冻董咚栋侗峒恫胴氡鸫硐胨垌岽菄苳蕫駧䂢腖霘鼕䞒埬涷湩蝀昸㖦㗢戙迵㢥崬崠鯟鮗挏氭㨂東㼯鶇鶫棟動徚䅍箽笗㐑䳉䵔㓊凍䍶嬞姛㜱娻㑈倲働諌", - "dou": "都斗读豆抖兜陡逗窦蚪痘渎吋蔸篼钭䕱荳䕆阧脰郖毭㪷㐙鬦鬪鬥鬬鬭浢唗唞吺斣㞳㢄㷆竇䄈饾鈄㨮兠梪酘橷枓乧闘閗㛒餖䬦䛠", - "du": "度独读毒督渡杜肚堵赌嘟笃睹妒都镀竺犊渎牍蠹黩阇芏髑椟靯韇䪅匵䓯荰犢㸿騳䮷䀾䐗皾䢱蠧䲧覩剢瓄琽㱩殰殬裻錖瀆涜䟻黷䫳賭厾韣韥䙱䄍鑟鍍獨贕櫝醏螙篤牘䅊秺䈞凟闍㾄妬嬻豄讀讟読", - "duan": "断段短端锻缎煅椴簖葮碫腶塅㱭瑖躖䠪耑褍鍴鍛毈籪媏偳緞斷㫁", - "dui": "对队堆兑碓敦追怼镦憝䔪薱隊陮磓䨺䨴垖塠㙂㳔㵽濧瀩㬣轛䯟㠚㟋憞䊚對懟祋鐓䇤頧鴭痽䇏兊兌䬈䬽綐鐜対譵譈", - "dun": "盾顿吨蹲敦钝墩囤沌遁盹炖趸惇砘礅躉驐犜碷遯㬿逇頓潡蜳噸踲蹾㥫庉燉鈍䤜獤撴伅墪撉", - "duo": "多夺朵躲踱度堕惰哆舵跺垛咄掇铎剁哚柁裰缍䩔䩣䒳墮陏陊刴朶敠毲剟鵽敪鬌奲尮奪䐾垜㙍趓㙐埵㻧㻔畓㖼跥䠤喥嚉崜憜墯㥩剫䙃䙟䙤䤻鐸饳鈬䫂䤪挅㧷挆柮桗椯㔍軃躱䅜䑨㣞敚凙䍴痥㛆夛㛊敓飿綞嚲亸䯬隋", - "e": "额恶俄饿呃鹅扼厄蛾娥峨愕鳄鄂遏萼腭颚讹噩谔婀锷垩轭屙阿咹鹗苊莪锇䩹䳬䓊㼢蕚䔾䕏阨鵈娿阸騀頋阏砐砈㕎礘磀硆砨㼂妿䞩堨堮迗䝈豟堊蝁惡琧悪䫷㱦珴齶歺睋湂涐蚅歞噁卾㓵顎咢鶚遌覨㗁䣞遻㖾吪呝軛囮軶岋㡋崿㟧㠋㟯峉峩㦍㷈廅額頞䆓䄉鈪匎㔩鑩鍔䱮鰪鱷鰐䳗䳘魤鋨鈋擜搹㩵㼰皒搤㧖枙櫮㮙䙳齃頟䖸鵝鵞䑥䑪閼妸姶僫偔餓餩譌讍䛖諤戹誐訛哦", - "ei": "诶欸", - "en": "嗯恩摁蒽奀峎䊐煾䅰䭡䭓䬶", - "er": "而二儿尔耳饵迩洱贰鲕珥鸸铒佴荋貳弍薾聏陑毦隭刵䎶駬䮘髶髵耏鴯䏪胹兒趰弐貮邇爾児洏咡㖇唲輀轜峏粫袻鉺鮞㧫樲栮㮕栭䣵尓衈㛅䎟㜨㚷䎠㒃侕尒餌䋙䌺㢽䋩誀", - "fa": "发法乏罚伐阀筏砝珐垡䒥藅茷蕟髪髮䂲坺㘺墢琺沷㳒灋浌㕹罸罰峜彂鍅瞂䣹栰橃笩䇅冹疺閥㛲姂佱発發傠", - "fan": "反范饭犯翻繁凡泛番烦返贩帆藩梵樊蕃矾幡钒畈璠蘩燔蹯匥薠䒦㝃軬䮳颿䭵膰䐪墦䪤凣䀟㴀䀀氾滼瀿盕汎噃㕨輽䡊轓軓㠶販䪛㤆憣忛煩籵畨䊩襎㼝鱕㸋鐇㺕釩払䣲礬蠜䫶鐢棥橎柉杋笲䉊笵籓範勫飜鷭䉒舧舤凢瀪緐䌓㶗䋣㽹羳嬎㜶嬏奿仮飯飰繙䋦䛀旙旛訉拚", - "fang": "方放房防仿访芳纺妨肪坊彷舫鲂钫匚枋邡㯐牥䦈髣眆淓汸昘昉蚄趽㕫㤃錺魴䲱鈁㧍堏㑂倣鶭紡瓬䢍鴋旊訪", - "fei": "非飞费肥废肺匪菲沸啡妃吠斐翡诽绯蜚扉霏腓痱悱芾榧狒淝鲱镄镄篚萉蕜䕁䕠陫騑騛䰁厞朏蜰䑔鼣胇靅奜猆靟䩁剕㐟䨽棐婓餥渄濷㵒蟦暃昲曊䠊胐㥱屝飛飝䨾廃廢裶䚨䤵鯡鐨㩌杮㭭櫠䈈馡䆏䉬癈疿婔俷緋㔗費誹䛍", - "fen": "分份奋粉纷愤氛芬粪坟焚吩酚忿汾雰玢鼢瀵鲼棼偾蕡䩿棻蒶隫㸮奮膹朌鼖䴅墳豮豶瞓濆昐蚡㖹轒幩帉岎憤翂燌黺糞黂㥹衯鐼鱝魵獖鈖㮥橨梤燓㷊枌馩馚躮秎羵㿎朆竕羒妢僨弅餴饙蚠炃紛䯨訜", - "feng": "风封丰锋峰奉凤缝蜂冯逢疯讽枫沣烽俸砜葑唪酆䒠䩼飌蘴碸䏎堼犎霻靊堸鴌琒盽湗灃溄浲漨㵯沨渢䟪鄷豐崶㡝賵赗峯㦀焨煈寷䙜鎽鋒鏠猦摓檒桻覂楓麷夆蠭㷭篈艂馮瘋妦仹凮凨凬鳳僼鳯風偑綘縫諷", - "fo": "佛坲梻仏", - "fou": "否不缶鴀䳕雬殕缹缻妚紑", - "fu": "复服夫富府父负副福妇附符付幅伏浮腐腹傅扶辐肤抚覆辅赋赴甫缚弗咐俯俘孵拂斧敷脯腑袱芙氟孚蝠阜匐麸釜涪馥凫驸茯讣蝮蚨苻呋罘稃芾跗拊茀趺伕鄜莩菔莩阝砩郛滏蜉呒幞赙赙怫黻黼祓鳆鲋桴绂艴绋荂芣葍䕎䓛䔰萯荴蕧䧞䮛駙䭸䯱㬼䯽髴砆䩉㕊䂤㚕鵩胕䨗䞜䞯䞸䞞韨䘄㙏䨱垘坿䝾邞琈豧玞畐㽬鶝鬴巿玸鳺䫍膚虙㐢㜑澓洑泭㳇㫙蝜蜅蚹䗄蚥哹踾䟔䟮嘸㕮咈罦輻畉䡍䍖輔輹㟊賦帗賻㠅岪翇㤱䪙韍㤔烰粰糐焤炥冨䘠袚褔衭襆複袝襥䃽禣祔鍢鈇頫負鰒鳧鮲鮒鮄鍑鳬鉜鉘䎅捬撫郙棴尃酜枎盙乶椨榑椱覄栿柎麬麩麱柫旉懯箙筟㓡䫝甶䠵䘀蛗峊鴔簠秿復稪艀䒇䒀䑧䵗彿笰乀竎㵗癁䦣㾈娐妋嬔婏媍婦䵾怤姇釡俛偩俌颫紱綒綍䋹䌿刜㪄縛䌗緮䋨絥弣紨紼諨訃㚆詂佛", - "ga": "嘎伽尬噶旮咖夹尕尜钆嘠錷釓魀玍", - "gai": "改该概盖钙溉芥丐垓赅戤陔葢蓋荄䏗瓂豥㕢䀭漑晐畡乢峐賅䪱忋祴鈣匃匄㧉摡槩槪㮣姟侅絠絯郂㱾賌該", - "gan": "感赶敢甘杆干肝乾柑竿赣尴苷秆橄坩擀绀酐泔玕灨旰矸澉淦疳䔈芉皯䃭尷尲趕幹榦倝迀鳱䲺攼尶盰澸漧㽏汵䵟骭䯎忓粓衦鳡鱤㺂魐檊桿䇞簳稈筸贑䤗贛凎仠凲紺詌", - "gang": "刚钢港纲岗杠缸冈扛肛戆罡筻犅牨矼堽堈䴚㽘㟵崗㟠剛岡焵焹釭䚗鎠鋼摃㧏掆槓㭎棡罁疘冮戅戇綱", - "gao": "高告搞稿膏糕羔镐篙睾皋诰槁藁锆杲缟槔郜菒䔌藳㚏夰䗣鼛櫜峼韟祮祰禞鋯鎬鷎㚖皐槹橰檺勂吿臯鷱筶㾸餻縞髙槀稾稁誥", - "ge": "个合各革格歌哥隔割葛阁戈胳颌鸽搁咯疙蛤骼铬膈嗝镉圪鬲硌盖哿塥虼袼搿舸䪂䩐鞈䕻戓㦴茖呄䧄牫騔㷴䐙肐䨣䘁䪺䫦臵鞷㵧滆滒䗘蛒㗆嗰轕輵㠷愅韚韐裓㝓䆟觡鎘亇饹鴚鮯鎶獦鉻犵匌挌㨰擱槅戨㢦櫊䈓㪾敋箇笴閣鴿䢔個佫佮彁諽䛋䛿謌", - "gei": "给給", - "gen": "根跟亘艮茛哏亙㫔揯搄㮓䫀", - "geng": "更耕耿庚梗哽埂羹赓颈鲠绠莄菮堩刯郠浭畊骾峺焿鹒賡鶊䱍䱎鯁䱭䱴挭椩㾘羮絚綆䌄緪縆䋁", - "gong": "工公共功供攻宫贡巩弓恭拱躬龚汞蚣珙肱红廾觥龷慐貢㔶䢼拲㭟䂬鞏䡗㧬㼦碽厷髸塨䢚㺬㫒唝嗊輁幊愩㤨熕宮觵匔匑栱㯯杛篢躳䇨㓋龏龔侊糼糿", - "gou": "构够句购狗沟勾钩拘苟垢篝枸媾佝诟笱岣鞲遘觏彀缑冓覯芶䃓豿撀㜌㝅㨌坸耇耉耈玽溝㳶蚼㗕啂㽛購䝭䞀韝煹㝤褠袧雊鈎鉤夠㺃搆構簼䑦痀姤緱訽詬", - "gu": "古故固顾姑骨鼓股谷孤估雇咕呱辜菇沽锢贾钴梏臌箍蛄汩蛊轱诂牯崮鸪鹘瞽痼鲴毂菰牿嘏罟觚酤巭薣盬㠬䓢蓇苽巬㠫夃㚉䜼䮩尳鴣㼋䀇脵皷鼔堌㯏䅽皼榖穀糓轂䍍䐨䶜䀦䵻䀰濲瀔淈泒蠱啒唃唂軲䡩䍛罛軱鶻崓愲祻鈷錮馉鮕鯝鈲䀜㧽扢橭棝榾柧杚箛稒笟篐㒴㽽凅㾶羖嫴傦餶逧僱䊺縎詁顧", - "gua": "挂瓜寡刮褂呱卦剐胍鸹括栝诖䒷劀騧趏坬颪啩踻叧罣冎剮歄㒷煱掛桰鴰䈑颳絓緺詿", - "guai": "怪拐乖䂯㽇罫恠叏夬㷇㧔柺枴箉䊽", - "guan": "关观管官惯馆贯冠灌罐棺斡倌纶矜盥莞鳏鹳掼涫䩪䪀鸛觀雚蒄覌礶瓘璭琯矔卝泴㴦潅丱䗆䗰躀輨䏓䎚悺慣爟㮡悹䙮䘾䙛窤祼鑵鳤鱹鱞鰥䲘錧鏆摜欟樌罆観筦䦎癏瘝痯関關闗舘館䌯遦貫毌䝺", - "guang": "光广逛胱犷潢咣桄茪黆炗垙珖洸㫛炚輄臦臩廣烡広灮炛銧獷姯僙俇", - "gui": "规贵归鬼桂轨柜硅龟跪瑰闺诡傀匮圭刽桧鲑癸皈炅鳜珪匦眭晷刿庋宄簋妫茥鞼匭蓕蘬㔳陒雟㸵騩䰎厬胿䝿㙺攰邽㪈郌䳏䞨垝昋鬹規槼嫢璝鬶椝瓌劌瞡瞆瞶䁛氿湀㲹蟡蛫螝貴䠩軌䯣䞈巂嶲恑庪廆袿䙆襘祪禬鑎䣀㩻觤亀鐀鱖鮭䲅鱥䤥猤摫撌㨳㧪櫃槻樻槶椢櫷檜筀歸龜䇈攱閨䍷䍯癐䐴嬀姽媯劊佹䌆詭帰", - "gun": "滚棍辊衮磙丨鲧绲蓘蔉䎾䃂㙥㯻睔滾䵪輥惃鯀鮌袞緄緷㫎䜇謴", - "guo": "国过果郭锅裹蝈埚帼聒虢椁腘粿掴蜾崞猓馘菓蔮聝䂸㞅䆐腂膕䐸堝墎㳀㶁淉漍濄蟈褁㖪㕵嘓啯㗻國囯輠囻囶圀幗過惈慖䙨鈛鍋鐹馃㚍懖摑楇䴹槨簂瘑䤋䬎餜彉綶彍涡", - "ha": "哈蛤虾铪鉿紦", - "hai": "还海孩害嗨亥骇咳氦嗐骸胲醢㜾駴駭㦟塰咍䯐㤥烸䱺㺔㨟㧡酼䠽䠹䇋妎饚餀", - "han": "含汉喊寒汗旱韩函涵罕憾焊憨翰撼邯悍捍酣瀚鼾蚶颔晗菡犴旰顸焓厂邗撖䕿䓿㽉䓍蔊莟顄凾圅馯駻厈䫲丆䏷䶃䐄爳䨡䖔㙳頇㙈垾韓㲦螒鶾䮧雗㙔䎯䧲琀䁔睅甝㵄漢涆澏浫㵎浛暵蜬虷㪋晘蜭蛿㘕㖤哻㘚㘎唅輚䍐崡嵅屽䍑㟏㟔熯㶰㸁䗙䘶䤴䥁釬銲魽鋎猂㺖鋡㨔扞皔㮀梒䈄馠筨兯閈闬㽳嫨㜦娢傼佄㒈㑵谽豃頷㼨䌍㢨䛞譀", - "hang": "行航杭巷夯沆吭绗颃苀垳䀪蚢䣈䟘貥㤚裄䴂魧筕笐䘕䦳絎斻頏迒䲳", - "hao": "好号毫耗豪浩郝壕嚎皓镐蒿嗥濠昊貉薅颢灏蚝嚆薃䒵茠薧聕䧚䧫䝞毜㬶䝥㘪淏㵆灝澔滈昦㬔暤暭晧曍䯫顥暠蠔㙱䪽號㕺噑哠嘷㞻㠙乚悎鰝獆獔獋皞皡皥皜㩝椃秏籇竓恏㚪侴䬉䜰傐儫㝀䚽鄗譹皋", - "he": "和合何河呵核喝荷吓贺赫盒颌褐鹤禾嗬壑诃涸阂阖劾貉龢翮菏盖盍曷纥蠚鞨䕣萂䒩䓼㹇䃒碋礉盇賀䶅貈䞦䚂㷤靏靎垎靍鸖齕㕡龁澕渮㵑䳚㬞螛毼㔠鹖㓭䫘鶡㕰嚇啝咊㗿哬嗃䵱䢗峆䳽㥺䪚㦦翯煂熆爀焃㷎籺粭熇燺袔寉鶴鑉釛鲄饸魺狢鉌皬㿣抲㭱㪃㰤㮫楁覈柇㭘㮝麧䴳篕䎋惒盉䅂闔癋閤閡姀郃敆頜㪉欱餄紇鶮訶訸詥謞苛", - "hei": "黑嘿嗨潶黒", - "hen": "很恨狠痕鞎䓳拫㯊佷詪", - "heng": "衡横恒哼亨珩鸻蘅桁㔰䒛胻脝㶇涥啈䯒恆悙烆䄓鑅撗橫鴴鵆姮䬖䬝", - "hong": "红洪宏轰鸿哄虹烘弘泓竑訇讧闳薨蕻荭黉鞃䩑葓䲨葒苰䧆耾硔翃䫺硡䃔䂫㬴黌垬霟霐䞑䨎玒沗玜䀧鬨澒鴻汯渱潂浤渹晎叿吰呍嚝㖓䍔䡌軣轟輷䡏屸羾灴䉺㶹粠焢翝䆖宖銾鉷鈜魟鋐鍧撔揈篊閧闀閎䪦竤闂妅娂仜䫹谾䜫谹谼紅紘纮㢬彋綋紭訌", - "hou": "后候厚猴侯喉吼逅篌齁骺堠鲎糇後瘊茩葔䂉㸸㕈鱟䞧豞睺洉㫗㬋䗔㗋㖃吽帿翵㤧翭䙈矦鲘䪷鮜鯸䳧銗犼㺅鍭郈垕㮢鄇䫛餱", - "hu": "互乎护呼户忽胡湖虎糊弧狐壶沪蝴葫瑚浒惚唬扈琥瓠囫鹄唿斛祜滹鄠鹕醐猢和许核觳虍轷岵怙煳烀鹱槲笏冱戽䩴芐萀㸦蔛匢匫䔯苸蔰䕶㕆鬍鶘鶦䭌綔瓳㪶䎁怘䮸膴䞱豰壺嗀縠㺉螜壷垀雽䨥䨼戸䁫虖歑虝雐鍙瀫沍淴汻䲵泘滬滸䗂昒昈㗅䠒嘑嘝嚛喖䍓軤幠恗䪝䊀䉿焀熩粐㝬寣隺鍸䚛鳠錿鱯鸌鰗魱鯱曶㫚㹱乕摢抇搰㿥䰧㨭楜㯛枑槴箶衚頶鵠䧼䇘戶䈸䉉乯簄㾰頀媩嫮嫭婟俿䬍餬䭍䭅弖絗護謼帍鳸㦿䛎戏", - "hua": "化话花划画华滑哗桦猾铧骅砉華鷨蕐黊蘤㭉䔢蒊驊硴夻磆䏦埖㓰䶤澅螖嘩㕦䠉㕷㕲呚㠏崋㟆㦊㦎糀鏵錵觟釫釪鋘䱻㚌撶摦搳㩇樺椛槬㮯枠杹䅿舙嬅婲畵畫劃婳姡嫿繣譁誮諣諙䛡話譮豁", - "huai": "坏怀淮槐徊踝蘾蘹䃶壊耲壞䴜瀤咶㠢懐懷櫰䈭㜳褱褢", - "huan": "还环换欢缓患幻唤焕寰桓痪宦涣豢獾浣奂洹圜鬟鹮垸萑漶逭锾鲩擐缳荁萈酄歡藧㿪㕕驩䭴䮝㹖貛䝠貆肒堚豲瓛環瑍雈睆䀨䀓澣澴㶎㵹渙㬊㬇㼫嚾喛喚還轘嵈䯘峘鴅懽㦥愌㡲糫煥䴟鵍寏䆠鍰䥧鐶镮奐烉鰀鯶鯇獂狟犿攌換梙槵㣪䈠歓䍺闤阛羦䦡瘓㓉孉嬛緩絙繯綄讙㪱", - "huang": "黄皇荒慌晃煌惶簧谎恍蝗磺凰隍幌徨潢璜湟肓篁蟥遑鳇癀䪄黃鷬葟㞷䮲騜奛䐵㬻䐠䑟墴塃趪䞹堭瑝䁜兤滉曂晄喤㡆崲䍿愰怳㤺熿䊣熀炾䊗宺鐄鎤鱑鰉鍠锽獚皝皩䳨㿠㨪揘榥櫎楻穔䅣艎韹㾠㾮媓偟餭䌙縨謊朚巟㠵衁諻詤", - "hui": "会回挥灰汇绘恢辉毁慧惠悔溃徽讳卉秽贿晦诙彗晖蛔桧诲喙洄荟珲蕙烩茴睢迴麾咴隳恚虺蟪缋蘳蔧薉匯㰥䕇藱薈隓䜐䧥芔䃣㥣靧䩈㩓毀毇䏨噕璤恵豗㱱㻅璯睳顪翽瞺頮颒滙湏洃泋潓輝濊瀈蛕㬩暳蚘蜖暉嚖嘒噅䫭囬廽逥圚廻㞧屷賄囘翙屶懳㤬憓恛翚翬烠烣燬㷐㷄煇燴寭袆䙡䙌褘禈鏸鐬䤧灳鮰獩㨤㩨㨹拻撝揮櫘槥檓橞檅楎篲䂕穢鰴幑䇻䅏徻闠阓痐瘣㜇彚媈嬒婎㒑僡會㑹佪儶餯㑰繢彙絵繪譿詼譭䛼譓䜋䛛諱詯誨堕", - "hun": "婚混昏魂浑棍荤馄珲诨溷阍葷蔒䧰鼲䰟琿殙睴睧尡渾涽䫟圂慁轋䡣昬睯忶㥵惛焝觨䚠掍㨡棔䴷䅙䅱閽婫倱俒㑮餛䛰諢", - "huo": "和活或火获货伙惑霍祸豁夥蠖嚯镬藿劐耠灬钬锪攉㦯韄䰥蒦騞奯剨臛耯靃眓矆矐䂄䁨濩湱瀖沎漷曤嚄嚿喐咟吙㗲㘞䯏旤雘㦜邩㸌煷窢䄀禍䄑䄆鑊䱛鈥鍃獲掝擭捇㨯檴䣶㯉穫秮䉟秳艧秴癨䦚閄彠彟佸俰貨䋭謋", - "ji": "机几基己期济及级计即极技记集际积纪急激既继击奇季鸡迹剂辑绩吉寄疾挤肌籍祭寂脊饥忌冀藉稽畸棘鲫叽圾嫉姬讥妓汲系伎缉唧骥羁髻悸瘠箕暨矶麂岌蓟亟戟跻诘犄荠稷畿霁嵇嵴屐蒺觊笈玑楫偈鱀勣芨咭其齐芰蕺剞赍殛乩洎虮戢跽哜墼鲚掎笄彐佶齑䓫䩯蘎鞿蘻蘮葪薊茤旡蕀蔇虀薺䓽焏際隮㤂䲯﨤㹄䯂驥䮺鳮䰏㞆㚡朞卙䦇惎諅磼磯䐀鶏膌䐕䐚鷄雞叝䨖趌䟌䞘䟇塉郆霵賷坖䣢耤耭垍賫㙫㙨霽㒫䢋㱞㻷㻑璣璾䶩茍㦸䁒㭰㲺㴕㴉湒濈瀱漃㳵泲鹡鶺漈潗済濟䗁螏蝍暩蟣嗘踖躤踑蹟蹐䠏躋跡㘍㗊㖢喞㗱嘰嚌羇羈轚擊檕罽輯毄㚻繋撃䍤䝸覬㡇䶓嶯㠖㞦㠍㥛忣㠱㥍丮鵋㞛愱懻妀庴廭㸄㲅襀襋禝禨錤觙觭銈銡鱾䤠鍓魥鰿魝魢鯚鯽鰶鱭鑙犱鏶鐖鑇㔕撠刏鬾魕㰟裚揤曁旣皀卽皍擠㨈鸄覉覊極㮟樭橶枅䤒檝㮨梞槣槉楖㭲檵機櫅䇫彶䚐嵆徛簊稘筓積臮箿稩躸䪢刉艥䒁鷑穊穄穖穧兾㾊痵癪㽺㾒㾵癠塈堲䳭姞䢳伋亼偮㑧飢饑谻㞃僟亽雧級綨績緁緝紀彑䋟継紒㡮幾㡭繼計韲齏剤劑齎齌㧀記誋譤譏䜞给", - "jia": "家加价假架甲夹佳嫁驾嘉贾钾稼颊伽挟迦枷荚戛拮浃胛袈痂颉镓岬笳珈蛱跏瘕袷葭恝郏铗莢䩡䕛斚犌戞㕅郟夾頰鵊㼪脥駕毠乫㔖鴐腵貑鴶㪴耞圿豭玾頬䁍䀹䀫浹泇蛺䖬唊斝䑝幏叚忦糘麚䴥裌鋏鉫鉀鎵猳拁抸扴㮖榎梜賈椵榢槚檟徦㿓婽傢價䛟", - "jian": "间见建件坚简渐减检践健尖监艰键肩兼鉴浅箭碱剪剑舰奸歼俭拣荐贱茧柬捡煎溅涧谏睑堑腱毽笺缄饯硷翦犍謇鲣僭锏缣囝鞯菅蒹戋戬湔趼踺蹇裥搛枧楗笕鹣牮谫戔韉靬韀鞬堅䵖㔋監鋻鍳鑒㯺譼虃囏艱蔪繭薦藆蕑蕳葌菺䧖䮿礷碊礛鬋䶠䩆礀磵礆堿麉䶬趝墹䵤鳽雃戩臶幵瑊珔䵡豜豣殱殲瑐蠒玪鹸鹻鹼見瞷睷瞼㓺瀳減洊瀐䤔漸濺瀽㶕澗湕㳨瀸暕鵑踐䟰跈轞䟅䭕賤䯛䯡賎帴㦗惤熞熸糋寋弿襺袸襉襇鑑鑬鳒鏩鰹鰔鰜鰎鑳㺝猏鐗鐧䥜鍵鐱鑯㨴挸揀擶揃㨵撿樫檻椷栫榗梘㰄椾検檢櫼箋㣤㔓䄯牋筧䅐馢籛䇟篯艦簡䉍徤䵛覵間覸冿鶼姧姦俴剣劍劎剱劒劔餞䬻䭠餰䭈㦰倹儉緘絸繝彅縑諓䛳譛鵳諫譾謭旔詃槛", - "jiang": "将讲江降奖蒋港匠疆浆姜僵酱桨缰绛犟强茳礓耩豇洚糨匞韁薑顜葁蔣䕬㹔膙塂壃䞪䙹畺殭䁰滰疅畕嵹翞糡鳉鱂摪摾橿櫤㯍夅䉃䒂奨醤㢡奬獎醬漿螀螿槳將傋䋌䥒繮勥謽絳弜弶講", - "jiao": "教叫较交觉角脚焦胶郊缴骄娇轿搅浇嚼校剿礁椒矫狡绞蕉酵窖饺跤佼侥皎蛟茭醮姣铰湫鲛峤艽噍挢敫徼僬鹪茮斠藠驕膠腳膲趭璬珓䂃䣤䴛䁶㳅灚澆漖䀊滘潐㬭曒蟜暞晈蟭䠛踋劋嘂嘄噭呌嘦轇轎較嶠㠐峧賋嶕嶣䪒憿憍煍烄燋䘨䆗窌䚩鱎鮫䥞獥鉸鐎㩰敎皭攪撹皦撟捁挍摷㰾譥釂㭂敽鷮敿矯徺臫笅穚簥筊㽲㽱虠䢒䴔鵁勦嬓嬌孂㚣僥龣儌餃鷦燞繳纐絞訆譑䜈", - "jie": "结解接阶界价节介姐借街揭届洁杰截皆戒捷竭劫桔藉诫秸睫楷芥婕拮孑诘疥嗟颉疖桀碣羯讦偈蚧毑袷家她卩喈骱鲒䕙鞊鞂蓵䔿菨莭㔾階卪岊犗礍䂝䯰䂶㛃镼砎䃈脻丯刦刧刼頡㔛劼㓤迼堺堦䣠琾疌玠䀷䁓潔尐滐蠽湝昅蛶蠘蜐蛣䗻蝔唶踕跲喼吤畍嶻崨幯㠹巀嵥岕悈屆㞯㦢㸅庎煯㝌衱袺褯衸㝏䥛觧鉣㘶鍻鎅鮚䰺䱄䲙魪狤擮㨗掲擑㨩掶搩杢㮮楬楐檞桝榤㮞椄徣䂒䅥節蠞稭㓗㾏㿍楶癤痎䇒媎媫嫅媘㑘倢偼䲸傑飷結䌖鶛誡訐詰誱謯䛺", - "jin": "进金今近仅紧尽禁劲津斤晋锦浸筋巾谨襟靳矜瑾烬噤缙觐馑堇荩卺赆廑衿钅槿妗蓳荕菫緊覲㝻歏黅藎䒺巹㹏矝厪㰹砛䐶墐壗晉㬜琎瑨殣琻勁珒璶璡齽䶖鹶漌溍浕濅堻濜㴆㬐䗯唫嚍䝲贐惍㶦煡燼寖䘳䆮祲觔釿錦釒㨷劤搢䖐䤐枃䫴㱈㯲㯸䑤凚嫤㶳盡䀆賮嬧僅仐侭伒僸饉䭙儘進縉䋮䌝紟謹䥆", - "jing": "经精境京静竟惊景睛镜径警晶劲竞净敬井颈茎鲸荆靖兢痉憬泾菁粳阱胫腈迳旌璟儆箐刭肼靓獍婧弪荊莖葏㢣蟼憼驚䔔聙頚㣏㕋脛鼱㘫坓汬丼璥靜靚䴖鶄殌璄巠剄頸鵛逕坙梷淨汫瀞㵾涇澋浄曔暻㬌踁䵞䡖幜麠麖宑穽鯨㹵猄鏡坕桱橸稉徑秔凈痙竸競竫竧妌婙婛俓傹経弳經綡䜘鶁亰旍誩", - "jiong": "炯窘迥炅颎冂扃蘏蘔褧駫駉澃䐃坰埛㷡煛泂浻煚㖥囧冋㢠冏䢛燛㤯烱逈㷗㓏㑋僒侰絅䌹綗熲顈", - "jiu": "就究九久旧酒救纠舅揪灸疚臼鸠厩赳韭咎桕啾柩鹫鬏玖阄僦匶萛韮匛䓘舊牞镹䊆䳔䳎慦㺩㺵殧齨䰗鬮㲃汣䡂㠇丩乆䊘㡱廏廐廄㶭麔䆒鯦勼匓捄摎㧕揂㩆欍柾朻樛杦舏䅢揫㐇鳩奺倃糾乣糺紤鷲䛮", - "ju": "具据局举剧句居巨距聚拒柜菊矩惧俱拘桔咀锯鞠橘踞驹沮瞿炬踽疽遽掬枸飓榘苣裾龃榉倨狙钜莒且车苴鞫犋雎琚屦窭锔醵椐讵蘜䕮䢹乬巪蒟輂埾陱聥犑駏驧駶駒䃊砠㪺䢸舉㐦擧鴡貗腒䏱鼳鼰毩毱弆壉趜埧㘲耟㠪歫䶙齟䶥郹䴗鶪㮂狊䋰勮豦劇愳虡眗䡞洰㳥挙湨澽涺泦泃淗趄昛蚷㬬蜛䗇蹫跙㘌躆跼跔踘啹罝㽤巈岠岨崌㞫鵙怇鶋懅懼䪕㥌屨㞐凥烥粔焗粷寠袓襷䆽窶䄔鉅鐻邭鋸鋦鮔匊䱟鮈鵴䱡據㩴㩀㨿挶䰬抅㐝拠檋櫸欅䣰䤎椇梮椈秬簴筥躹䅓艍䈮䵕閰姖娵㜘婮婅倶侷颶䜯繘詎䛯諊渠", - "juan": "卷倦捐圈娟鹃绢眷涓镌蠲鄄狷锩桊蔨菤奆朘腃臇埍睊睠淃瓹呟罥羂䳪脧惓慻焆㷷裐隽鋑䥴獧錈鎸鐫捲䚈䣺㯞䅌䡓勌劵䄅龹䖭帣巻餋弮勬絭姢䌸㢧絹㢾讂㪻", - "jue": "决觉绝掘嚼爵诀厥倔攫崛蕨獗撅噘抉镢蹶谲角孓噱橛珏矍鳜桷钁劂爝觖匷㓸芵蕝孒䦼矡駃砄蹷蟨憠鷢橜䐘䏣臄貜䏐䁷覺趉䞵䞷赽瑴䝌玨㻕玦亅䀗覐㵐決覚泬灍蟩䖼蚗虳噊䟾躩䠇趹爴䡈㟲嶡嶥崫㤜憰戄屩屫刔鴂爑㷾熦焳䙠䘿䆕䆢氒鐍鐝觼觮䦆鈌鴃玃㹟㩱挗㸕捔撧㰐㭾㭈櫭䍊䇶欮疦瘚弡彏䋉㔢絶㔃絕譎斍訣", - "jun": "军均菌君俊峻钧郡骏竣隽浚筠麇儁皲捃莙葰䕑陖皹駿鵕㕙碅㓴埈䝍㻒珺䜭濬汮㴫晙蜠蚐呁㽙畯賐懏燇麏麕皸軍袀㝦寯鲪銞馂鵔鮶鍕銁鈞攈攟棞桾箟箘䇹姰頵鵘覠㒞餕㑺雋龟", - "ka": "卡咔咖咯喀佧胩垰裃鉲䘔", - "kai": "开凯慨恺揩楷铠忾闿锴岂蒈垲剀锎䒓奒䐩塏䁗暟嘅䡷輆剴颽凱㡁嵦愷愾炌烗鎧㚊鎎鐦鍇開闓勓欬", - "kan": "看刊堪砍坎勘嵌侃槛瞰龛阚磡戡莰凵顑歁墈栞䶫鬫矙轗輡嵁崁惂冚欿衎㸝䘓㸔䀍竷闞龕偘", - "kang": "抗康炕扛慷亢糠鱇伉钪闶匟砊漮䡉囥嵻忼㱂粇㝩鏮犺鈧槺躿穅閌嫝邟㰠", - "kao": "考靠烤铐拷犒尻栲䐧攷丂洘䯌嵪㸆銬鲓鮳鯌䯪髛", - "ke": "可科克客刻课颗壳棵渴咳柯磕苛坷瞌窠蝌轲颏恪稞髁珂氪缂岢嗑剋尅呵骒溘蚵锞钶疴薖萪匼騍牱犐礚碦勊勀砢㕉堁殼殻㵣渇顆敤㪙趷礊軻嶱嵑㞹嵙峇愘炣㪡愙䙐錁翗鈳搕揢榼醘㐓㪼㤩衉艐痾㾧牁娔樖緙課頦", - "kei": "剋尅", - "ken": "肯恳垦啃龈裉㸧硍墾懇貇豤肻肎褃錹掯", - "keng": "坑吭铿硻阬牼硁硜䡰鏗鍞銵摼挳妔誙劥", - "kong": "空控孔恐箜倥崆鞚硿埪涳㤟悾鵼錓躻㸜", - "kou": "口扣寇叩抠佝蔻芤眍筘剾蔲瞉鷇㲄瞘滱䳟怐冦宼㓂窛釦敂䳹摳劶㔚簆彄", - "ku": "苦哭库枯裤酷窟挎骷绔袴刳堀喾䧊郀矻嚳㱠跍圐㠸庫廤㐣焅褲鮬狜楛桍䇢秙䵈瘔㒂俈絝", - "kua": "跨夸垮挎胯侉咵趶骻䯞銙舿姱誇䋀", - "kuai": "会快块筷脍侩狯哙蒯浍郐䓒巜膾凷墤㙕㙗塊圦㱮欳澮㬮噲䯤㟴廥糩鲙鱠獪擓㧟㔞䈛鄶䭝儈旝", - "kuan": "款宽髋䕀臗髖寛寬窾窽䥗䲌鑧䤭㯘歀梡欵", - "kuang": "况矿狂框旷筐眶匡邝哐圹诳劻夼贶贶纩诓匩邼硄礦砿壙眖矌洭黋況曠昿軭軖軦軠岲貺恇忹懭鄺懬爌䊯鋛鑛鉱㤮鵟狅抂䵃筺穬儣絖纊絋誆誑", - "kui": "亏溃愧奎魁馈葵窥盔傀匮逵夔喟睽喹聩揆篑岿馗蒉蝰暌跬悝愦䕚蘷藈匱蕢䕫虁聵聭聧骙騤犪尯磈㚝膭頍㙓刲䖯殨㕟虧潰晆䠑䟸躨蹞嘳顝䯓巋巙憒煃窺頯鍷鍨㨒䫥楏䤆櫆楑籄簣䈐䦱闚䍪㛻嬇媿戣鄈䳫饋餽䧶謉", - "kun": "困昆捆坤锟崑鲲琨髡堃醌悃阃菎騉髨髠硱堒壼壸瑻睏涃潉蜫䖵晜㫻鹍鵾䠅崐焜熴鶤裩裍裈褌祵錕鯤猑㩲梱稇稛閸閫綑", - "kuo": "括扩阔廓蛞鞟鞹萿葀䯺髺鬠霩濶䟯㗥韕挄擴拡頢筈䦢闊", - "la": "拉啦腊辣蜡落喇垃剌旯邋砬瘌藞鞡䪉菈䏀鬎磖䂰㕇䃳臈臘䟑䝓䶛㻋㻝瓎溂䗶蝋蝲蠟嚹翋㸊爉鯻鑞镴搚揦攋䱫揧辢楋櫴柆䓥", - "lai": "来赖莱癞睐籁徕涞崃疠唻赉濑铼䓶藾萊䧒騋㚓䂾琜睞瀨瀬淶䠭㠣崍庲襰䄤䲚鯠錸猍梾頼賴鵣棶郲來賚顂鶆逨䚅麳筙㥎籟徠箂䅘癩㾢婡俫倈䋱", - "lan": "兰蓝烂览篮栏拦懒滥揽澜婪岚缆阑榄斓褴啉谰镧漤罱藍韊䪍覧覽擥蘫蘭葻䰐䃹䑌壈璼㱫瓓灆濫灠灡浨㳕瀾嚂囒躝㘓幱嵐㞩懢懶惏㦨爁爦爤糷䊖顲燗爛燷燣襤襽襕襴䆾钄䳿鑭㩜攬㨫攔欖㰖欗醂欄籃籣䦨闌㜮孏嬾㛦孄儖㑣㑑繿纜䌫䍀譋斕讕", - "lang": "浪朗郎狼廊琅螂啷榔鎯莨阆蒗锒稂䕞蓈蓢硠朤朖㙟埌㱢瑯䁁䀶蜋㫰䍚䡙䯖崀㟍㢃烺䆡㝗䱶鋃樃桹躴艆筤㾿閬㾗嫏郞塱㮾勆郒欴㓪斏誏", - "lao": "老劳落牢络捞姥烙唠涝佬潦痨酪崂醪乐耢铹铑栳荖䵏䕩硓磱嗠䝤朥耮耂㐗䳓珯澇労浶蛯蟧㗦咾嘮哰轑㟙㟹嶗㟉㞠恅憦顟粩䃕勞憥䝁窂銠鮱鐒䲏狫㧯撈㨓橯䇭躼軂簩癆嫪僗髝䜎", - "le": "了乐勒肋仂嘞鳓泐叻艻阞砳㔹玏氻㖀忇㦡鰳鱳扐楽樂簕竻韷餎", - "lei": "类累雷泪勒蕾垒肋擂磊儡镭耒羸嘞檑酹嫘缧缧诔䒹蕌蘲虆藟蘽蔂蘱絫厽㹎䮑礌礧磥㲕䐯鼺䨓靁㙼䢮䣂頛㼍瓃矋㵢洡灅㶟涙淚㴃蠝䍥䍣塁罍礨㔣壘壨畾纍轠鸓䴎櫐㡞類頪纇颣禷鐳銇鑸鑘鱩錑攂㭩䣦欙櫑樏䉪䉂䉓癗㿔㒍㑍㒦儽傫纝縲䛶誄讄", - "leng": "冷愣楞棱塄薐䮚碐堎睖踜㘄唥䚏䉄稜倰䬋", - "li": "里理力利立例离历李礼丽粒隶哩璃励黎厉厘梨莉吏栗犁鲤狸砾沥荔篱漓笠蛎痢俐锂俚雳逦戾镉罹栎蠡俪藜鹂骊砺蜊黧娌莅猁疠傈唳溧疬慄醴砬喱鬲苈澧蓠坜嫠郦呖跞轹詈粝鲡鳢枥篥缡藶蒚蒞荲䔆䔁䔣䔧蔾菞䔉苙茘䓞蘺䧉犡䮥䮋驪勵厲礪㔏礰鬁㻎砅䃯礫歴暦厯磿歷厤曆㻺㽁貍䤚蠫䴄脷壢靂隷䟐赲䟏靋塛孷釐剺斄㹈瓑珕蟸叓䣓䰛酈鸝邐䚕婯麗䴡㱹㡂㽝瓅瑮琍瓈䶘㮚䁻睙濿瀝浬浰沴涖灕蠇䘈曞蠣蛠㬏蝷蚸蟍蜧㒿嚦㘑囇躒㗚唎嚟㕸囄轣䡃轢䍠䍦豊巁屴峛峢㟳峲㠟岦㤦㤡㦒悧悷䊪爄糲糎爏廲粴麜㷰裡褵䙰禲禮䄜䥶觻䲞鋰鱱鳨鱺鯉鱧鯏㺡鏫鑗鉝瓥㼖攊㿨攦㸚擽皪搮㧰攭櫔櫪栛朸隸䣫欐䤙醨栃檪櫟鷅梸㰀㯤欚棙樆㰚䅄穲䖽䵩悡鋫䱘㴝犂睝䖿鯬鵹䊍邌錅䴻棃剓筣䉫秝艃䵓䅻籬癘竰癧䍽㿛㾐㾖鴗凓䇐孋㓯娳刕儮儷䬅䬆㑦㒧劙䗍盠盭䰜纚䋥綟縭讈裏離謧", - "lia": "俩", - "lian": "联连脸练炼恋莲怜链廉帘敛镰鲢涟殓濂梿奁裢潋楝蔹臁琏琏蠊裣匲蓮薕萰蘞匳蘝聨聫聯䏈聮奩鬑䃛磏臉䨬覝堜鄻璉㱨殮瑓䁠㶌瀮漣湅濓溓瀲澰㶑螊蹥嗹噒連㦁㡘慩翴㦑憐䙺㥕燫煉劆㢘熑褳襝鏈鰱鰊鐮錬鍊㺦䥥鎌㼓摙櫣㪝槤㼑㰈㯬㟀簾䆂䇜籢籨亷㾾㝺羷㜕嫾嬚媡㜃㜻斂㪘歛㰸僆䭑縺練䌞纞謰戀", - "liang": "两量亮良粮梁俩凉辆谅粱踉晾靓莨墚魉椋䩫䓣駺㹁脼㔝兩両涼湸蜽唡啢䠃喨哴輌輛輬辌㒳䝶悢糧裲䭪鍄掚魎䣼樑倆倞俍緉諒", - "liao": "了料疗辽僚聊廖缭寥撩燎撂瞭缪嘹潦寮镣蓼獠尥鹩钌藔䒿镽䩍尞鷯遼䨅㶫膫㙩璙䝀敹漻㵳暸蟟曢蹽蹘䍡嶚嶛髎嵺賿憭憀屪鄝䢧䎆廫膋爎㡻䉼炓㝋窷竂釕鐐爒㺒橑䄦簝䑠療嫽尦飉豂䜮繚䜍", - "lie": "列烈裂猎劣咧冽趔鬣埒洌躐捩茢䓟聗㸹犣鬛㼲脟㲱埓劽䴕㤠烮鮤鴷迾姴䁽浖毟蛚㬯哷䟹䟩㽟煭鱲猟獵㧜挒挘擸栵㭞㯿䅀䉭巤颲儠䜲", - "lin": "林临邻磷淋鳞霖麟琳拎凛吝粼赁蔺躏嶙啉璘廪檩遴膦瞵辚辚懔臨䕲菻藺隣阾厸驎䮼䫰碄壣瀶潾澟暽䗲晽躪蹸躙㖁轥疄轔崊恡悋懍燐㷠䢯鄰粦㔂亃翷斴甐麐廩冧㝝䚬鱗鏻獜撛㨆橉䫐檁箖䉮焛閵癝凜癛僯賃繗綝㐭", - "ling": "领另令灵零龄岭铃玲凌陵棱菱伶苓聆翎绫羚鲮呤棂蛉囹瓴酃泠柃䔖蘦䖅蕶蔆蓤䕘䧙駖㸳砱朎霊霗㪮䰱龗霝䴒䚖孁靈㲆䨩夌坽䴇霛琌㱥㻏齡羐鹷齢澪淩㬡昤㖫跉䡼䡿輘軨䯍崚岺嶺㦭㥄爧燯炩㡵䴫麢䙥裬袊祾䄥錂鯪魿狑鈴掕皊櫺欞㯪醽䉁䍅䉹䈊䉖䠲舲彾秢笭衑竛閝㾉婈姈鸰刢領鴒䌢綾紷詅〇", - "liu": "流六留刘硫柳溜瘤碌榴馏琉浏绺蹓遛镠骝鎏鹨熘镏锍旒蓅藰蒥䋷䭷驑駵駠騮磟磂䶉㙀塯霤㽌璢畱鬸珋瑠䰘澑畄瀏瑬蟉䗜㽞嚠疁罶嵧羀懰鷚翏雡熮㶯廇麍裗䄂䚧鐂鏐䱞䱖鰡鎦鋶鹠劉鶹㨨橊桺栁桞橮䉧癅嬼媹飗飂䬟飀飅餾綹㐬斿旈", - "long": "龙隆笼垄拢胧聋咙陇窿珑垅弄砻茏栊滝眬泷癃䪊蘢䃧隴䏊龓尨礲朧霳䥢鏧壠靇瓏矓漋㙙㴳湰瀧昽曨蠬哢躘嚨嶐㟖巃巄贚㦕㢅爖㝫襱竉鑨攏梇䙪櫳槞㚅䡁徿籠䆍篭聾礱龍壟龒蠪驡鸗㰍竜㛞㑝儱豅㡣", - "lou": "露楼漏陋搂喽篓娄镂偻髅蝼瘘耧蒌嵝鞻㔷蔞䮫㲎塿耬䝏剅瞜䁖漊溇螻嘍䣚䫫婁甊遱鷜㪹髏㟺嶁屚慺㥪廔熡䄛鏤䱾㺏摟樓簍䅹軁艛瘻瘺謱", - "lu": "路陆绿露录鲁炉卢芦鹿碌禄卤虏庐噜麓颅漉辘掳六赂鹭戮泸橹璐潞鲈撸蓼箓轳胪垆氇鸬渌辂镥栌簏舻逯虂䩮蘆蓾蕗蔍菉陸䎼騼䮉騄馿䰕磠硵䃙硉臚膔氌䐂壚塷趢塶圥勎坴鵱瓐㱺璷琭矑虜㪭盧顱鸕鹵睩淕瀘滷澛瀂淥曥蠦螰㫽踛嚧蹗鷺䟿嚕㖨黸䡜轤轆輅䡎髗㠠賂峍㟤㦇䎑勠剹㢚廬爐廘熝粶䴪㼾䘵祿錴鐪鑪鏀㔪鏴鯥䲐鱸魯鴼鵦䱚鏕魲鑥獹録錄鈩擄攎摝擼醁㯭櫨樐㯝樚櫓㯟㭔椂枦甪罏稑籚簬簵穋簶穞籙艣艫艪舮㓐㿖㛬㪖䚄盝㜙娽僇侓纑彔䌒㢳㪐謢玈", - "luan": "乱卵挛峦滦鸾孪栾銮脔娈䖂虊亂灤羉圞圝釠癴癵鵉孿㝈奱㡩灓曫巒鸞鑾攣欒孌臠㱍龻䜌", - "lun": "论轮伦仑沦纶抡囵崙菕芲陯磮碖腀耣埨淪溣蜦踚㖮圇輪崘惀㷍鯩錀㤻掄棆䑳稐䈁婨侖倫綸論", - "luo": "落罗逻洛络螺裸萝锣骆烙骡啰珞箩摞捋倮瘰猡硌荦脶漯泺镙椤雒蠃蘿蓏騾駱䯁硦覶頱腡㼈㱻覼䀩㴖濼曪囉囖邏羅峈㦬犖鏍鑼鮥玀㩡攞㰁欏洜㓢鵅籮躶䈷笿癳㿚㑩儸饠㒩纙絡䌱䌴驘臝䊨鸁䇔詻剆㽋咯", - "lv": "律率绿虑旅氯铝履吕捋驴滤侣屡缕榈褛偻闾稆膂藘葎䕡驢膢膟垏勴慮濾郘呂氀㠥嵂屢爈焒褸祣鑢鋁㲶捛挔櫖梠櫚穭箻閭儢侶僂絽縷緑綠繂膐", - "lve": "略掠锊寽㔀畧㨼圙鋢鋝稤", - "ma": "马吗妈麻嘛骂码抹玛蚂蟆犸嫲么杩蟇蔴䣕馬䣖遤碼鬕瑪睰溤螞䗫嗎駡嘜罵䯦犘㦄䳸祃禡鎷鰢鷌獁㨸榪㾺痲痳閁媽㜫㐷傌㑻摩", - "mai": "买卖麦脉埋迈霾荬劢唛薶勱邁蕒䮮脈霢霡䨪賣売䨫䁲嘪䚑鷶買麥衇䘑䈿㜥佅䜕", - "man": "满慢漫曼蛮瞒蔓馒螨幔缦鳗谩颟墁埋鞔熳镘䕕顢㒼蔄蘰鬗䯶鬘䰋䐽䝡䝢㙢䟂瞞満滿㵘澷蟎鄤㬅㗈㗄䡬㡢慲屘悗䊡襔鏋鏝鰻獌摱樠槾䅼䑱姏娨嫚㛧僈饅䜱縵謾䛲矕蠻", - "mang": "忙盲茫芒氓莽蟒铓牤邙硭漭䒎莾蘉茻牻駹厖硥壾㙁㻊䁳䀮盳浝汒蠎㬒蛖哤䟥䵨㟿㟐㟌㡛恾庬㝑鋩狵釯杧䅒笀䈍痝娏䖟杗吂", - "mao": "毛矛貌冒贸帽猫茂茅髦瑁锚牦铆卯懋袤昴峁眊茆瞀蟊蝥耄泖旄蓩鶜䓮芼鄚萺堥暓䖥愗髳冇貓䫉覒氂犛㲠㺺渵㴘冐毷㪞㒻㫯蝐罞軞䡚冃㡌戼㝟錨夘鉾䀤鉚乮鄮貿㧌㿞㧇皃㒵楙柕㮘枆酕䅦笷媢㚹䋃", - "me": "么濹嚰嚒", - "mei": "没美每妹梅煤眉霉媒枚酶镁媚魅玫昧莓糜楣寐湄嵋袂浼鹛镅猸䒽葿䓺苺脄腜脢堳坆㺳䜸瑂珻眛睸䀛湈沬沒渼䰪蝞跊嚜槑䵢黣䍙嵄郿鶥韎㶬䊊煝塺䊈燘禖祙鎇鋂鎂抺攗鬽挴楳㭑䤂栂䆀䰨躾黴徾篃毎䉋羙凂痗媺嬍媄睂旀", - "men": "们门闷瞒懑扪汶焖钔虋菛璊玧㱪懣㵍暪㡈䝧㥃㦖䊟穈燜䫒鍆㨺捫椚門悶閅們", - "meng": "梦蒙猛盟孟萌朦氓锰懵蟒勐檬濛蜢虻蠓矇瞢甍礞艨艋䓝鄸䒐䠢顭夢莔氋鹲鸏蕄䰒㚞䑅䑃䏵㙹靀霿霥矒溕曚䗈甿㠓幪懜懞冡鼆䀄䙩㝱䙦錳䴌䲛鯭鯍䥂獴䥰㩚掹擝橗䤓䴿䵆䉚㒱癦䇇㜴儚饛鄳夣蝱", - "mi": "密米秘迷蜜弥泌眯咪觅谜靡糜猕谧醚嘧弭脒幂麋縻汨蘼蘼芈敉宓冖祢糸蔝㰽蒾䕷蘪藌蔤葞䕳䮭镾覔㫘䪾覓㸓塓鸍羋瞇䖑濗漞濔㵋㳴㴵灖洣滵淧沵沕䌘渳瀰㳽羃䍘峚幎㠧㟜怽幦戂㥝㐘粎䊳麊熐麿爢㸏麛䴢冪宻鼏䁇冞㝥袮禰祕䱊銤獼㩢覛擟攠㨠䤍䤉釄醿醾䣾榓櫁樒簚䉾㜆孊侎䭩䭧䌩䌐㣆䥸彌㜷瓕䌕䋛䌏䛉謐䛑䛧謎詸", - "mian": "面免棉眠绵勉缅腼冕娩沔湎眄渑宀芇葂䏃䰓勔靦靣䃇㻰㤁丏麺䀎睌矈矏矊汅㴐澠蝒㬆喕愐糆㝰鮸緜㮌䤄杣㰃櫋麵麪麫檰䫵臱媔㛯婂嬵偭㒙緬絻綿", - "miao": "描苗妙秒庙渺瞄缪淼藐缈邈鹋眇喵杪鶓㦝䁧䖢㠺庿廟劰篎䅺竗媌嫹㑤緢緲玅", - "mie": "灭蔑篾咩乜蠛薎孭礣烕䩏䁾瀎滅䘊哶吀幭懱鴓鑖鱴搣櫗衊䈼㒝", - "min": "民敏闽皿悯抿泯岷闵苠珉玟黾愍鳘缗蠠䃉䂥碈砇垊琝瑉琘䁕盿湣潣旻旼䟨䡅罠䡑䡻㟭崏㞶䪸敯刡㥸鴖暋㟩敃惽怋憫忟鍲鈱䲄錉㨉捪笽笢簢勄慜鰵閩冺痻閔姄僶緡㢯䋋黽緍忞", - "ming": "明命名鸣铭冥螟茗瞑酩溟暝蓂眀眳洺㫥鳴朙㟰慏䊅鄍䒌䫤覭㝠䆩䆨䄙銘猽掵榠凕嫇姳佲詺", - "miu": "谬缪謬", - "mo": "么没模末默莫摸脉磨冒膜摩墨漠魔抹沫陌寞摹蓦蟆蘑馍谟茉貉秣殁貘万貊耱麽镆瘼嫫嬷嬷靺䒬莈驀㱳謩藦䮬砞䩋礳䃺䏞貃䳮塻圽歿歾瞙眜瞐䁼眽眿尛蛨黙昩䘃蟔嗼嚤䁿㱄髍帞帓懡糢㷬爅㷵䯢劘麼䜆庅鏌銆魹䱅魩獏㹮皌擵枺橅䴲䉑妺嫼嬤饃䬴饝纆絈謨嘿", - "mou": "某谋牟眸缪呣哞鍪蛑侔䥐劺鴾䏬䗋踎䍒恈䱕㭌麰繆謀", - "mu": "目母木模莫幕牧亩墓姆慕穆暮姥牡拇睦募沐牟缪苜钼毪坶仫莯䧔鞪䱯楘㜈牳砪氁胟雮霂畞䀲暯蚞踇畂畮峔幙慔毣炑䥈鉬狇鉧㣎㧅䑵艒㾇凩㒇縸䊾畆畝畒", - "na": "那哪拿纳娜呐捺衲钠内南肭镎靹蒳䖓乸䫱貀豽䏧雫䀑㴸䖧䟜吶㗙嗱軜䎎䪏袦鈉魶䱹鎿㨥䅞笝䇱郍䇣䈫拏妠搻納䛔", - "nai": "奶耐乃奈萘氖迺艿能鼐柰孻螚䘅䯮腉渿褦釢錼㮈㲡廼㮏疓㾍䍲嬭倷", - "nan": "难南男喃楠囡赧囝腩蝻䕼䔜萳戁難莮䔳遖䁪湳暔㫱㽖畘䶲煵揇抩枏柟䈒㓓婻娚侽諵䛁", - "nang": "囊囔曩馕攮䂇嚢灢㶞蠰乪擃欜齉儾㒄饢", - "nao": "脑闹恼挠瑙呶孬桡淖铙硇垴蛲猱夒䃩碙碯臑脳腦䑋䴃堖鬧蟯巎嶩悩憹怓惱鐃獶獿峱㺀㺁撓䄩閙嫐㞪㛴䫸㑎匘譊䛝詉䜀䜧", - "ne": "呢呐讷哪疒䭆䎪眲㕯抐訥", - "nei": "那内哪馁脮腇㼏㘨㖏䡾內䳖鮾䲎鯘錗㨅氞氝娞㐻餒", - "nen": "嫩恁㶧㯎㜛嫰", - "neng": "能䏻㲌㴰", - "ni": "你疑尼泥拟逆妮腻倪匿溺霓昵睨怩鲵铌旎呢坭猊伲䘌臡苨䕥薿孴聣隬䧇膩貎胒䝚郳㪒堄䁥齯惄眤㵫淣聻埿氼暱晲蜺蚭跜輗㞾㠜㥾㦐愵籾麑䘽䘦觬鈮鯢狔㹸掜屔抳䰯擬棿檷柅䭲馜秜䵒䵑屰䦵嫟嬺婗妳儞㲻伱儗㣇縌誽䛏", - "nian": "年念粘碾撵捻辗蔫拈埝黏鲶鲇辇廿䩞卄輦涊㲽淰躎蹍蹨哖唸㘝㞋惗焾鮎鯰攆撚䚓鵇秥簐䄭秊艌䄹姩䬯", - "niang": "娘酿䖆醸釀嬢孃", - "niao": "鸟尿溺袅脲茑嬲蔦䮍䦊䃵䐁㳮㠡㞙鳥䙚裊㭤樢嬝嫋㜵㒟褭", - "nie": "捏聂涅孽镍蹑蘖镊颞啮嗫摄乜陧臬糵㜸苶菍聶顳隉孼蠥糱櫱䯅䯀䯵齧㚔䂼㘿㙞摰槷湼㴪圼囁囓躡踙嚙踂噛踗㡪嵲嶭巕㸎䄒鑷鑈钀鎳錜揑㩶枿㮆籋臲篞㖖痆闑帇敜䌜䜓讘捻", - "nin": "您恁脌囜㤛拰䋻䚾䛘", - "ning": "宁凝拧狞咛柠泞佞聍甯䔭薴聹鬡㿦矃澝濘䗿嚀寕㝕㲰寍寜鸋寧寗鑏獰擰橣檸㣷嬣儜倿䭢侫", - "niu": "牛扭纽钮拗妞忸狃靵莥䒜牜䏔㺲䀔汼炄鈕杻䋴紐", - "nong": "农弄浓脓哝侬蕽鬞膿䢉䁸濃噥農燶㶶襛禯㺜挵挊醲檂欁辳齈穠秾䵜癑儂繷譨", - "nu": "努奴怒弩帑孥驽胬搙䢞笯駑砮㐐傉伮㚢", - "nuan": "暖䎡渜㬉煗煖䙇奻餪", - "nuo": "诺娜挪糯懦喏傩搦难锘逽㔮蹃㡅愞懧糥糑鍩䚥掿㰙梛榒橠稬穤㐡㛂儺㑚諾", - "nv": "女衄恧钕朒沑籹釹衂", - "nve": "虐疟硸䖋䖈瘧婩", - "o": "哦噢喔筽", - "ou": "偶呕鸥殴耦藕讴禺沤怄瓯区欧蕅毆鷗歐甌䚆鴎藲膒腢塸漚㼴嘔吘䯚慪熰鏂䳼櫙㛏㒖䌔䌂謳", - "pa": "怕爬帕扒啪趴琶耙杷葩钯筢䔤苩䯲䶕潖帊袙皅掱舥妑", - "pai": "派排迫拍牌湃徘俳哌蒎犤沠渒㵺䖰輫鎃猅棑㭛簲箄簰", - "pan": "判盘胖潘盼叛攀畔拌蹒泮蟠磐槃爿袢柈番襻丬萠蒰聁䰉䰔磻䃑䃲坢眅㳪溿沜瀊洀蹣跘炍鑻鋬牉䈲鞶幋縏盤鎜搫媻頖鵥冸詊拚", - "pang": "旁胖庞乓磅螃彷滂徬耪逄䮾厐龎肨膖胮霶㫄雱䨦眫㤶㥬炐龐鳑鰟舽䅭㜊嫎䒍覫", - "pao": "跑炮泡抛袍刨咆疱狍庖匏脬鞄䩝萢皰礟礮靤砲奅褜垉㘐軳麅麃炰拋爮㯡麭䶌㚿䛌", - "pei": "配培陪佩胚赔沛妃裴呸帔辔霈锫醅旆蓜阫馷䪹䲹䫠肧毰珮㳈浿㫲䣙賠㟝怌㤄䊃犻錇㧩衃姵俖伂轡裵斾", - "pen": "盆喷湓葐翸歕喯噴呠瓫", - "peng": "朋碰棚蓬膨捧篷鹏烹砰澎抨怦硼嘭彭堋蟛莑芃蘕駍騯鬅髼鬔䰃磞硑鵬蟚塜塳㼞淎泙踫輣軯䡫剻㥊憉恲熢袶䄘鑝錋匉捀皏掽樥槰椪䴶梈椖稝竼篣閛韸韼㛔倗傰纄弸苹亨", - "pi": "皮批屁披辟疲脾匹劈僻副罢譬啤琵坯癖毗痞枇霹噼裨媲否貔丕吡陂砒邳铍圮睥蜱疋鼙陴埤淠蚍罴甓庀擗郫仳纰苉鴄㓟隦阰駓髬㔻礔磇䏘豾脴腗䑀䑄膍肶豼噽嚭壀耚疈錃潎澼蚾蚽䠘㔥羆䡟毘岯嶏崥翍礕䴙憵鷿鸊悂炋焷螷蠯鈹銔鉟銢鲏鮍魾魮䤨釽錍狓狉鈚抷㨽揊䰦䫌䤏㯅秛秠稫篺笓鵧㿙闢嫓伾伓枈紕諀旇䚰䚹", - "pian": "片偏篇骗扁翩骈胼蹁便犏谝貵䮁騈駢騙腁䏒跰囨骿賆魸鍂楩楄覑㸤㾫㛹媥㓲騗鶣㼐諞", - "piao": "票飘漂瓢瞟缥剽嫖朴嘌骠慓殍螵薸䕯䏇驃犥㵱㬓䴩鰾㺓㹾皫㩠魒勡彯飄顠翲㼼醥徱篻闝僄飃縹旚", - "pie": "撇瞥苤氕丿暼鐅撆嫳覕䥕", - "pin": "品贫频拼聘拚嫔颦姘牝玭榀蘋薲驞礗砏琕顰䀻矉蠙嚬汖㰋馪穦嬪娦貧", - "ping": "平评凭瓶屏苹萍乒坪呯鲆枰娉俜蓱荓聠砯胓䶄塀玶㻂淜涄洴蚲蛢輧軿甹岼幈帲帡屛焩鮃檘缾䍈甁簈箳郱頩艵慿憑凴竮㺸評冯", - "po": "破迫婆坡颇泼朴泊魄粕珀鄱钋笸陂叵钷皤蔢尀蒪頗駊奤砶䞟䨰㨇洦湐溌潑昢哱嘙嚩岥䯙岶䪖烞鉕釙鏺廹敀櫇䣮䣪酦醱醗箥䎊䄸㰴㛘㔇繁", - "pou": "剖掊裒犃垺哣㧵抔捊抙箁咅娝婄", - "pu": "普铺扑谱朴葡仆浦蒲埔菩瀑圃噗曝匍蹼溥濮璞莆氆攴镤镨堡攵䔕䑑蒱䧤陠㹒暴圤墣㺪瞨潽㬥䗱圑贌烳炇㲫䴆菐鯆鏷䲕鋪獛鐠擈撲酺檏樸㯷䈻䈬穙痡暜舖舗㒒僕纀諩譜", - "qi": "起其气期器企七奇汽齐妻启旗弃骑欺漆棋岂凄契歧戚栖泣砌祈蹊乞迄崎祺鳍伎缉岐琦祁琪憩畦沏绮脐亟嘁荠杞麒颀耆啐蛴碛淇葺芪祇綦欹槭萋讫圻蕲揭萁芑骐亓丌柒汔蜞屺桤藄䩓䓅鄿䕤蘄䔇䒻炁芞藒䒗萕陭隑䏅䧘亝騹騎騏䭼䭶唘碶磩碕鬐䰇磧慼䫔䚉栔㓞㼤矵攲敧鵸碁䫏磜剘蜝㐞䳢棊肵䏠臍墄埼霋䞚䟄䎢璂䚍玘郪鶈䀙䶞盀盵濝淒呇滊湇湆蚑螧蚔蚚暣㫓蠐咠唭踦跂䟚噐呮罊蟿䡋軝䡔䢀㟢豈帺㟓岓嵜㠎邔慽㥓愭悽愒迉忯㞚㞓懠粸䉻麡䧵褀褄䙄禥䄎䄢鏚錡锜釮鲯鯕鶀䱈鰭䲬䰴夡玂猉鐑頎掑捿氣鬿魌気摖㩩櫀㯦㟚棲㩽榿檱㮑䣛桼憇諬䅲欫甈㣬䄫簯䅤䑴䉝艩簱籏㾨竒疧闙䀈婍娸傶僛倛䏌䬣㒅綺緀紪䭫䭬綥䌌斊棄䛴諆斉齊䶒䐡䁉䋯啔啟䏿䁈晵啓棨訖旂枝俟稽", - "qia": "恰洽掐卡髂拤袷咭葜鞐圶硈胢䨐殎䶝䶗䠍跒䯊峠㡊帢㤉擖酠冾㓣䜑", - "qian": "前千钱潜迁浅签纤牵欠遣铅歉谦乾倩嵌虔钳黔谴堑扦阡茜钎掮犍钤佥荨骞愆箝芡芊肷椠岍悭慊褰搴仟缱䪈韆䕭茾孯臤蜸掔婜蔳葥蕁蒨騚騝㸫鬜鬝厱膁㦮墘䥅亁乹圲䨿䁮䖍歬淺灊潛汧壍嬱汘濳蚈黚輤塹㟻槧㜞軡㡨岒慳悓忴粁䊴䞿騫錢鹐鵮銭鉗鑓鰬釺鎆鈆鉛鈐鏲㧄攑㩮拑皘㨜攐攓㩃拪揵扲撁橬檶遷棈榩櫏杄槏㯠圱刋谸籖䍉篏䈤䈴篟簽籤羬䇂䦲竏㪠䫡奷媊僉俔儙諐伣㐸偂傔䭤仱欦綪繾縴譴顅謙牽", - "qiang": "强枪墙抢腔羌呛跄锵蔷羟襁戕戗嫱樯蜣炝锖镪薔蘠蔃墻玱瑲溬漒蹡蹌啌嗴唴嗆嶈廧熗獇猐鏘鎗鏹摤㩖搶檣椌䵁槍艢䅚篬牆羥羗羻羫墏斨牄嬙㛨戧強彊繈繦謒疆", - "qiao": "巧桥悄瞧敲乔侨翘峭窍俏锹鞘憔跷撬樵荞橇壳雀诮峤鞒硗愀劁缲谯鞩鞽㤍䲾㚽菬荍藮蕎陗犞磽䃝䩌硚礄䂭翹墝㚁趬趫墽墧睄郻㴥踍蹺躈蹻嘺骹帩幧韒燆㢗㝯䆻竅釥鐰鄥䱁鄡鐈鍬撽櫵槗橋勪喬䀉䎗㡑鍫䇌頝癄嫶僺僑顦繰繑誚髜毃㪣髚譙", - "qie": "切且窃契怯砌伽茄妾惬趄锲箧挈郄苆㥦匧㰼聺㚗洯蛪㓶厒㤲㰰朅淁㫸䟙踥㗫愜悏竊鍥䤿鯜㹤癿篋笡籡穕㾜䦧㾀㛍㛙䬊", - "qin": "亲侵勤秦琴禽钦沁芹寝擒矜噙覃揿芩嗪衾螓吣锓檎菣靲䔷懃斳兓菳菦藽耹骎㮗駸肣㘦赾埐坅琹珡䖌澿瀙螼蠄昑蚙唚㞬嶜嵚嶔嵰懄慬吢㤈㢙庈㝲寴寢寑顉鈙鮼鵭欽鋟鈫抋捦撳㩒搇梫䠴笉䈜瘽䦦親㓎㾛嫀媇㪁鳹雂綅誛", - "qing": "情清亲青轻请倾庆氢晴顷卿蜻擎氰磬罄圊箐苘檠謦黥鲭綮葝䔛碃䌠硘埥殸漀㷫郬靘靑殑濪淸暒甠啨軽輕鑋䝼䞍慶檾庼廎寈錆鯖䲔夝擏掅氫㯳櫦棾樈凊儬傾頃請勍剠䋜䯧", - "qiong": "穷琼穹邛茕跫蛩銎筇卭㧭䓖藭藑蛬䊄䅃赹璚瓗㼇瓊瞏睘惸㷀煢焭熍焪䆳竆窮宆憌桏㮪橩笻䠻舼儝㒌䛪", - "qiu": "求球秋丘酋囚蚯邱裘鳅巯泅湫虬遒楸逑龟蝤赇糗犰鼽俅蓲鞦鞧莍萩蘒芁䎿毬肍䞭趥坵皳䣇盚㺫蟗玌璆殏巰㐀汓浗湭渞蛷虯䟵䟬䠗唒㕤賕㟈崷㞗㤹㥢恘秌煪觩觓銶䲡䤛䱸鰽鯄鮂鰍鰌釚釻㼒㧨搝扏梂逎㭝朹湬蝵鹙鶖醔媝穐篍龝蠤㷕丠頄㐤叴訄恷䜪紌絿緧䊵訅仇", - "qu": "去区取曲趣趋屈驱渠躯娶岖瞿祛蛐觑衢蛆龋黢癯苣蠼佉阒麯蘧蕖磲朐璩氍劬鸲麴诎葋䒧匤菃敺區䒼螶䧢阹驅駆駈厺髷胠刞臞䝣鼩㰦鼁坥䟊䞤趍趨耝璖麹䶚齲覰覻䁦䀠䂂戵鸜覷灈浀淭䖦㫢蠷蟝蝺呿䠐躣㖆軥㻃嶇㲘岴胊鶌憈翑焌爠粬煀袪鑺鴝斪䵶鰸魼鱋抾㭕㯫欔欋麮衐籧忂筁軀闃閴竘竬㜹佢伹紶㣄䋧絇詘詓誳㧁", - "quan": "全权圈泉劝拳券犬醛蜷痊颧铨荃诠筌鬈畎辁悛犭绻勸顴葲虇䄐騡駩犈牷犮硂䑏䟒埢瑔䀬湶洤蠸䠰踡跧啳圏輇巏㟨㟫峑恮䊎烇鳈鐉鰁銓搼權楾権棬椦勧箞㒰齤奍韏觠牶闎婘姾佺縓綣絟詮", - "que": "确却缺雀鹊炔瘸榷阙阕悫皵鵲䧿蒛碏礭確硞碻礐趞㱿㲉愨慤埆㱋塙琷㴶崅燩㕁搉㩁棤㰌缼䇎䦬㾡闕闋傕卻", - "qun": "群裙逡麇䭽夋囷峮宭㿏㪊裠帬羣", - "ran": "然染燃冉髯苒蚺䖄㲯蒅㸐䒣㿵髥肰䫇珃蚦呥嘫冄䎃衻袡袇䤡橪㯗䑙㾆媣姌㚩㜣䣸繎", - "rang": "让壤嚷攘瓤禳穰蘘鬤㚂壌瀼躟懹爙獽穣䉴儴勷譲讓", - "rao": "绕扰饶桡娆荛蕘隢㹛遶襓擾橈䫞嬈㑱饒繞", - "re": "热惹喏若熱", - "ren": "人认任忍仁韧刃妊纫壬饪仞衽荏稔轫亻靭靱荵芢㸾牣䏕䏰肕腍忈䀼軔㠴岃屻韌㣼䴦袵祍魜鈓銋扨梕杒栣朲棯忎躵秹䇮秂姙刄䋕鵀㶵栠飪餁䭃仭䌾紝纴綛紉絍認訒讱", - "reng": "仍扔芿陾辸礽㭁䄧㺱䚮", - "ri": "日䒤驲馹囸衵鈤釰釼", - "rong": "容溶荣融绒熔蓉茸戎榕冗嵘镕蝾肜狨茙㲨䩸氄駥毧㲓㲝坈瑢瀜栄螎曧蠑䠜㘇䡥䡆軵嶸峵烿爃嵤榮㣑䘬褣䇀宂㝐䢇㼸鎔㺎搑搈榵㭜䤊槦穁䇯穃䈶羢媶嬫嫆傇傛縙絨", - "rou": "肉柔揉蹂鞣糅葇鶔騥䰆腬脜䐓瑈瓇渘蝚㖻輮㽥禸韖煣粈宍鍒鰇楺䄾䧷媃厹譳", - "ru": "如入乳儒辱汝蠕茹褥濡嚅孺铷缛襦女蓐薷颥溽洳蕠蒘㹘㦺鄏肗䰰顬渪蝡曘嗕嶿袽鱬銣㨎擩扖醹杁筎㐈鳰邚鴑䋈媷嬬帤鴽挐桇侞縟繻", - "ruan": "软阮朊䓴碝礝耎腝堧壖瑌瓀輭㽭軟䞂撋䪭㼱媆偄㐾緛", - "rui": "瑞锐蕊兑睿芮蕤蚋枘蕋蘃蘂䓲㓹甤叡㪫㲊壡汭蜹繠橤鋭銳桵㮃䅑㛱緌䌼", - "run": "润闰膶瞤潤㠈橍閏閠䦞", - "ruo": "若弱偌箬鄀爇蒻叒䐞渃㘃嵶焫鰙鰯挼捼楉篛婼鶸", - "sa": "萨撒洒仨卅飒脎蕯薩靸躠隡馺䘮㪪灑㳐䊛䙣鈒钑摋櫒颯㽂㒎䬃訯", - "sai": "塞赛腮鳃噻毸毢嗮㗷嘥顋愢賽䚡鰓揌䈢簺僿思", - "san": "三参散伞叁糁毵馓弎㪚毿犙䫩鬖毶壭䀐潵㤾糤糣糝䊉䫅鏾鏒㧲㪔䉈閐厁俕饊傘繖", - "sang": "丧桑嗓搡颡磉顙䫙桒喪䡦褬鎟槡", - "sao": "扫嫂骚缫搔臊瘙埽鳋䕅騒騷䐹矂溞螦氉鰠鱢掻掃㿋㛐㛮颾繅髞梢", - "se": "色涩瑟啬塞铯穑槭䔼雭䨛嗇㱇璱㻭歮濇濏澁渋㴔洓瀒澀轖懎㥶銫鏼摵擌㮦栜穯穡䉢閪瘷歰飋㒊繬譅", - "sen": "森襂槮椮", - "seng": "僧鬙", - "sha": "沙杀啥纱砂傻刹厦杉莎煞鲨霎裟挲嗄唦痧唼铩歃萐蔱䮜髿䝊硰㲚㸺乷鯊桬啑喢帹翜翣廈粆魦鯋鎩猀毮閷殺榝樧㰱箑䶎䈉䵘閯㚫㛼儍倽紗繺", - "shai": "晒筛曬㬠㩄簛籭簁篩", - "shan": "山单善闪扇衫陕珊禅杉擅掺栅煽膳删姗汕赡跚掸讪缮舢疝嬗潸鳝搧鄯苫膻芟骟彡蟮钐陝剼騸㚒磰㪎脠赸墠圸墡㣌睒灗澘㶒晱蟺嘇軕刪邖幓贍炶煔覢熌䘰禪䄠釤銏䱉䱇鱓鯅鱔狦鐥䦅䥇䦂掞挻㨛樿柵檆椫䴮㣣笘䠾䆄痁閊㪨敾歚羴閃羶譱姍僐饍傓縿繕䚲訕謆", - "shang": "上商伤尚赏汤裳晌熵墒垧殇觞绱鞝蔏鬺殤丄尙賞漡滳螪贘慯恦禓觴鋿鏛鑜樉䬕傷緔扄謪", - "shao": "少烧绍召稍梢哨勺捎邵鞘芍韶筲艄苕劭潲杓莦萷䒚䔠蕱髾㪢䏴㲈玿輎㷹焼燒䘯袑鮹柖䈰䈾㸛娋卲綤䙼䬰弰紹旓", - "she": "社设射涉舍摄舌蛇折拾畲奢赦慑麝赊佘猞歙阇厍滠揲蔎騇厙奓䂠䁋䁯灄渉㴇㵃涻蠂虵蛥䵥畭輋䞌賒賖懾韘慴䀅䄕䤮攝摂捨欇㰒㭙檨䠶㒤舎畬䬷弽䌰㢵設", - "shen": "什身神深参甚审伸申沈渗婶肾慎绅呻娠砷蜃莘吲糁鯵诜谌瘆信葚胂渖哂矧谂蔘腎頣蓡薓葠駪㰮眘昚脤㥲堔珅眒瞫滲㵕㵊瀋涁蜄曑曋罧屾峷愼糂籸燊籶邥㔤審覾宷裑䆦穼罙祳鋠鲹鉮鰺鰰魫鯓氠扟䰠柛㰂榊兟甧甡鵢瘮㾕妽嬸㜤姺敒侺侁㑗紳弞矤訷谉讅詵諗訠", - "sheng": "生声省胜升盛圣剩乘牲绳笙甥嵊晟眚蕂苼䎴聖陞阩陹鼪勝賸榺墭聲殅珄渻湦泩䚇㼳晠琞曻昇㗂呏貹䞉憴焺鍟䱆鵿鉎狌斘橳枡剰䪿㾪竔偗䁞繉縄繩譝甸", - "shi": "是时实事十使什式世识食市史石始师失视示似适士势试施室释诗氏湿饰驶拾蚀尸逝侍誓矢狮匙柿硕嗜屎噬嘘栅拭峙仕恃虱轼舐耆螫豕谥弑奭殖蓍泽莳贳埘炻鲥鲺铈酾筮蒔貰䒨蒒葹䦹旹㱁乨駛䰄觢㸷䩃乭䂖䏡鼫鼭卋㔺邿塒㐊辻兘勢丗䴓鳾瑡亊䶡眎睗䁺眂眡溼溡浉湜濕㵓澨溮湤䖨㫑㫭時昰遈㒾呩㕜䟗㖷呞軾嵵崼峕忕蝨屍鸤䲩鳲恀烒煶䊓実寔宩冟襫襹褷䙾實祏視鉽釶鉐鉂䤱鮖鰣鯴鰘鰤鶳鉇鉃㹬㹝獅鈰鍦㹷銴弒揓栻枾釃榯榁柹㮶簭遾舓秲徥師釋釈笶籂箷竍䦠嬕姼餝䭄蝕餙飾飠䌳絁試詩諟戺䗐䛈適謚諡識", - "shou": "手受收首守授售寿瘦兽狩绶扌艏膄壽夀垨涭獣㖟獸㥅収㝊鏉龵痩䭭綬䛵", - "shu": "术数书属树述熟输束殊叔朱舒鼠疏署竖蔬抒枢淑暑薯梳俞蜀庶赎塾墅恕曙倏漱黍腧戍孰澍秫菽纾疋沭摅姝殳毹荗䩳䩱㷂竪豎䜿䝂薥䔫蒁藷陎㽰毺䑕䞖霔尌朮怷璹琡䜹㻿尗虪濖瀭潄潻㳆鼡㶖蠴暏䠱踈䟽咰數軗輸㟬贖䝪䎉疎屬庻糬襩裋襡䘤䆝鏣鮛鱪鱰錰鉥掓攄捒樞樹橾㯮杸䴰鶐䉀䢤術癙㾁書㛸婌㜐㣽鵨鄃侸跾倐儵焂㒔紓綀絉䃞", - "shua": "刷耍唰㕞誜", - "shuai": "率衰摔帅甩蟀帥䢦卛", - "shuan": "拴栓涮闩䧠腨閂", - "shuang": "双霜爽孀骦騻驦礵䫪鷞㼽㦼塽鹴鸘漺灀䗮䡯慡鏯欆艭㕠孇雙縔", - "shui": "谁水睡税说氵脽氺涚涗帨裞祱稅閖㽷䭨誰", - "shun": "顺瞬舜吮蕣䑞鬊䀵瞚䀢順㥧橓楯", - "shuo": "说烁硕朔数妁蒴铄搠槊矟碩䀥爍鑠獡鎙欶箾䌃説說", - "si": "思四死斯似司丝私饲寺撕祀肆嘶嗣厮俟泗咝巳鸶蛳驷锶汜伺食厶耜兕澌笥姒缌纟蕼䔮蕬㹑㸻牭騃駟騦磃蟴䏤鼶貄亖耛䎣㺨肂洍涘洠瀃泀泤㴲蟖螄㕽噝罳㟃孠覗廝燍䇁禗禩禠鈶鐁鋖鍶鈻鉰釲㺇銯虒枱杫梩柶楒㭒榹蜤㐌恖竢凘䦙䇃媤㚶㚸娰儩佀飔価俬颸飼飤緦糹㣈鷥絲", - "song": "送松宋颂讼耸诵淞嵩悚凇怂忪菘崧竦駷鬆硹濍㕬嵷憽㞞愯䢠庺梥鎹㧐㩳㨦檧楤㮸枩柗㣝䉥聳慫娀頌枀倯傱餸䜬誦訟䛦", - "sou": "搜艘嗽嗖擞飕馊薮螋叟溲瞍嗾锼蓃藪蒐䏂騪䮟鄋㵻㖩廋廀叜鎪獀捜擻摉摗醙櫢籔䉤䈹凁瘶傁颼䬒餿", - "su": "素速苏诉缩俗塑肃宿稣溯粟酥簌窣夙谡嗉僳愫蔌涑觫蘇莤藗䔎蘓㕖骕驌碿䃤膆塐趚甦殐璛珟玊溸㴑㴼泝潥潚㴋洬㬘囌蹜憟䘻㝛鯂穌鱐鋉䥔㨞㩋榡遬㔄樎櫯梀㯈樕䅇橚䑿愬遡㪩肅䎘鷫嫊鹔䏋粛㜚㓘傃㑛餗㑉縤䌚䛾謖訴", - "suan": "算酸蒜狻匴㔯祘筭笇痠", - "sui": "随虽岁碎遂髓穗隋绥隧邃祟燧睢荽濉谇䔹荾鞖䪎芕隨䢫鐆遀砕膸埣瓍㻟璲㻪㻽歲歳睟瀡㵦浽澻㴚滖哸䠔雖䡵嵗㞸䯝髄亗賥韢熣煫襚禭䥙鐩夊檖䉌穂䅗穟㒸嬘䭉倠綏繐繀繸䍁䜔旞譢誶尿", - "sun": "孙损笋荪狲飧榫隼蓀薞蕵孫飱䁚㡄㦏猻鎨搎損㔼槂簨箰筍鶽", - "suo": "所索缩锁梭嗦琐唆羧唢娑蓑挲些睃睃嗍桫䓾莏䂹䐝䞽趖琑瑣㪽䖛溹溑逤䣔暛蜶嗩䞆惢褨鎍鎖鮻獕鏁鎻挱乺摍䵀䅴䈗簔簑㛖傞䌇縮莎", - "ta": "他它她塔踏塌榻沓蹋嗒拓獭挞趿遢溻鳎铊闼鞳鞜䓠㿹牠䂿䶁䶀墖㳠㳫澾涾毾躂躢蹹嚃嚺㗳䵬䍝遝崉䎓粏褟祂禢錔鰨鮙鉈㺚㹺獺狧撻㧺搨榙橽㭼㯓䑜䍇㣵濌䈋䈳㣛闧闥闒阘㛥侤㒓傝䌈誻䜚譶", - "tai": "大太态台抬泰胎苔汰钛酞肽薹骀邰炱跆鲐䑓菭孡態㣍駘夳冭坮臺㙵溙汏汱㬃旲㘆囼㥭忲䢰燤炲㷘㸀鈦鮐擡檯䣭䈚籉箈舦嬯㒗㑷㑀儓颱", - "tan": "谈探弹碳坦叹滩炭摊坛贪谭潭痰毯瘫檀坍袒覃忐昙钽澹郯锬藫歎菼䕊䃪貚䏙䐺墵䞡壜埮墰㽑壇璮灘潬湠曇暺嘆嘽啴嗿惔憛憳憻顃㲜㲭㷋燂䊤襢䆱鉭錟擹攤醈醓醰橝榃舑舕罎罈䉡癱䦔痑婒怹倓僋貪談譚䜖譠", - "tang": "堂唐糖躺汤塘倘趟烫膛淌棠搪螳蹚羰傥溏帑醣耥瑭螗铴镗樘鞺薚蓎隚䧜磄膅鼞赯矘漟燙湯坣䣘劏曭蝪踼䟖嘡啺戃糛爣糃煻鄌㲥鶶㼺禟鐋鏜钂鎲镋鎕㿩摥㭻橖榶䉎篖䅯闛㜍伖㑽儻㒉偒傏饄餹䌅㙶", - "tao": "讨套逃陶桃萄掏涛淘滔叨韬啕绦洮饕跳鼗鞱鞉鞀㹗騊駣㚐夲瑫㴞濤蜪飸咷轁幍慆韜裪祹迯鋾匋搯槄醄䵚嫍絛䬞饀䬢弢縚綯绹縧詜謟討䚯䛬", - "te": "特忑忒慝铽脦蟘㥂鋱㧹", - "teng": "腾疼藤滕誊䕨虅驣䲢幐縢螣騰鰧謄膯鼟霯漛䠮熥籐籘䒅䲍駦痋邆儯", - "ti": "体提题替梯踢蹄惕啼剔剃涕屉嚏锑棣倜悌鹈逖醍缇绨䪆䔶薙蕛䧅㯩騠髰鬄鬀碮厗朑䨑趧趯䎮瑅殢瓋睼漽渧題鶗惖逷㗣嚔蹏鷤嗁㖒罤䯜體骵䝰㡗崹惿屜褆䙗褅禔禵䚣鳀鯷鷈鮷悐銻鍗䴘鷉掦挮揥擿笹䣽㬱䶑䅠躰軆徲籊稊㣢䣡䶏鵜媞偍䬾緹䌡綈䛱戻謕歒鶙弟", - "tian": "天田甜填添佃恬腆舔阗钿畑忝殄畋掭菾黇磌碵䩄胋鷏㙉甛塡靔靝瑱㐁琠璳兲睓沺淟湉晪䟧䠄唺㖭䡒䡘鴫䐌覥觍賟悿屇㥏㶺窴錪䥖搷㮇䣯酟䑚舚䄼䄽闐痶婖倎餂鷆緂㧂甸", - "tiao": "条调跳挑眺迢窕苕佻笤啁粜髫龆蜩祧鲦䒒萔芀蓚蓨糶聎䯾朓趒齠晀旫䟭㟘脁岧岹恌庣宨窱祒覜鰷䱔樤㸠䠷䎄䳂嬥鞗䩦䖺鯈鋚鎥條絩誂", - "tie": "铁贴帖餮萜聑驖䵿蛈呫貼怗鐵鐡䥫銕鉄䴴僣飻", - "ting": "听停庭挺厅廷亭艇烃婷蜓汀霆町铤葶莛梃鞓聴聽聤厛鼮脡䵺圢耓珽涏渟䗴蝏甼嵉聼廰廳烴庁烶䱓鋌㹶邒桯榳楟頲颋筳䦐閮娗侹䋼綎誔諪", - "tong": "同通统痛童铜筒桶桐佟侗酮捅瞳僮彤潼嗵恸峒茼砼仝蓪㼧㪌䂈䮵犝朣赨眮浵晍蚒䳋曈哃㠽峝峂㠉膧慟㤏烔粡庝炵燑䆚䆹鲖鉵銅鮦狪獞鉖樋㮔橦筩憅㣠秱㣚衕穜䶱勭氃䴀㼿痌㛚㸗餇絧統綂詷", - "tou": "头投透偷愉骰亠蘣斢黈䞬頭㰯䟝㖣㡏䵉㢏鋀䱏鍮㪗敨婾媮妵㓱偸紏緰㕻䚵", - "tu": "图土突途徒吐涂兔屠凸秃荼钍菟堍酴蒤葖莵鷋駼鼵迌腯㐋堗圡瑹㻬㻯㻠㻌䖘汢潳涋湥塗跿䠈唋圗圖図嶀㟮䣝鷵怢悇廜庩宊鶟鈯釷鵵鵌鍎鋵揬捸捈䤅㭸梌䅷馟兎禿稌筡鵚瘏痜凃䣄峹嵞䳜", - "tuan": "团湍疃抟彖䵎貒墥剸鷒漙湪団䵯團畽圕慱䊜糰煓褖鏄鷻猯摶㩛槫檲篿䜝揣", - "tui": "推退腿颓蜕褪忒煺藬蓷蘈隤駾㞂尵㦌䍾䀃㱣螁蛻蹪蹆骽㷟㢈㢑魋橔頺䅪頹䫋頽穨㿉㾯㾽㿗㾼弚娧俀僓弟", - "tun": "吞屯豚臀囤褪饨鲀氽暾芚朜霕坉㼊豘涒旽蛌㖔噋黗軘臋忳㞘焞魨㹠㩔呑飩", - "tuo": "脱托拖妥拓驼陀唾椭驮沱砣鸵佗坨跎箨柁柝橐沲鼍庹酡乇䓕萚蘀莌阤嶞陁馱駄䭾驝騨驒駝馲駞㸰㸱毻碢砤鼧鵎脫堶槖沰汑涶跅鼉咜咃䡐㟎岮䪑袥袉㼠饦䲊鰖鮀鴕魠䰿鮵狏扡拕捝挩橢楕杔䴱彵籜䍫㾃嫷媠毤侂仛侻飥紽詑託讬", - "wa": "瓦挖娃哇蛙凹洼袜佤娲腽韈聉䎳砙膃劸㰪鼃䵷邷漥溛咓䠚嗢嗗畖㼘韤襪窐窪穵窊㧚搲攨屲瓾媧䚴", - "wai": "外歪崴呙㖞喎咼䶐䠿顡竵", - "wan": "完万晚玩湾弯碗顽挽烷婉皖蔓腕丸宛惋蜿豌绾纨莞剜脘畹塆菀芄琬箢薍萖萬㿸䂺䩊脕埦頑㝴刓壪琓瞣睕澫涴潫汍灣蟃晥晼晩踠唍輐輓贎䯈岏貦帵贃䝹忨卐卍翫䗕䘼䖤盌㽜鋄錽䳃鋔䥑鎫抏捖捥杤椀梚䅋笂妧婠倇㸘綰綩紈䛷彎", - "wang": "往王望忘亡网旺汪妄枉惘罔辋辋魍朢菵莣尪迋尫瀇㲿㴏㳹蚟蛧蝄暀罒輞罖罓㓁䤑棢徍彺䰣徃兦仼亾尣尩䋞䋄網䛃誷", - "wei": "为维围委未微谓卫味唯威危伟尾违伪慰魏喂胃纬畏韦惟苇萎尉蔚巍薇偎帷娓渭桅圩倭痿崴猬诿猥潍煨葳韪帏嵬玮逶炜隈隗洧涠沩囗軎鲔艉闱位䔺蔿䪋苿菋蓶葨䵋荱藯葦蘶芛蒍隇䧦䮹熭碨硙䃬㞇硊㕒䑊腲鄬爲䙿壝墛霨䞔霺䝐瑋㱬琟覹矀濻潙韑瀢渨潿溦浘湋洈濰溈蝛㬙韙蝟暐蜲蜼喴踓㖐喡䡺轊囲䵳罻圍㠕骩骫骪幃嶉嵔㟪峗峞嶶崣屗㞑叞褽犚螱㷉韡䪘韋違㥜愄愇懀燰烓煟煒寪頠鏏厃鳂鳚鍡鍏鮪鰄鮇鰃䲁鮠䥩撱㨊揻揋捤㧑楲㭏醀椳欈梶椲䈧㣲徫躗躛㦣衛衞䘙讆讏䉠覣犩䭳痏闈癓媙媦媁儰僞偉䬑颹䬐饖餵䬿餧偽縅緭緯㢻維䗽詴亹斖䜜謂䜅為諉", - "wen": "文问温闻稳纹吻蚊紊瘟韫雯汶刎璺阌鞰莬芠䎽駇馼鼤脗肳塭豱瑥䰚殟珳渂溫㳷昷㗃呡㖧呅輼辒轀蟁炆顐㝧鳁鎾鰛鰮魰揾搵抆榅榲桽穩穏䎹聞閿闅䦩閺問闦瘒妏㒚伆饂繧紋彣䘇螡蚉㐎鴍鳼", - "weng": "翁嗡瓮蓊蕹聬㹙㹚䐥䤰塕奣瞈滃暡螉㘢嵡䱵鎓攚齆䈵㜲勜鹟鶲罋甕", - "wo": "我握窝卧沃涡斡蜗喔倭挝龌渥莴幄硪肟臥萵䰀臒腛㦱瓁㱧齷䁊瞃濣渦涹蝸䠎踒唩㠛焥窩猧捰捾㧴枂楃婐媉婑仴偓", - "wu": "物无五务舞武屋误恶午吴伍污乌雾悟吾呜侮唔巫勿梧诬捂晤兀於芜戊毋鹉妩钨邬坞蜈婺鹜忤骛牾庑杌亡芴阢鼯圬浯鋈怃焐寤迕痦仵莁靰蘁茣蕪鹀鵐陚䎸隖奦務㡔嵍熃騖鶩䳱敄䮏鴮碔矹䃖䑁㬳霧雺霚塢墲鵡珷珸郚㻍㐚逜㐏忢瑦卼玝璑瞴洿汚汙洖溩㵲潕螐旿蟱䟼躌吳呉嗚䡧䍢峿屼嵨岉剭悮悞憮乄熓粅廡㷻窏窹祦鋙铻鄔鯃烏鰞歍鎢㹳扤摀㐅杇啎無鷡橆甒鼿齀箼䒉㽾䦜䫓䦍娬娪嫵娒倵俉㐳儛㑄弙䳇誣誈䛩誤譕", - "xi": "系西细习息吸喜戏析希席洗稀惜悉袭腊溪媳牺锡嘻夕隙晰栖膝熙昔烯熄禧鳃徙嬉犀蟋奚兮曦蜥汐翕玺唏螅铣淅硒皙熹窸羲矽檄郗忾僖屣歙樨觋娭豨咭葸菥蓰隰鼷舄浠粞裼穸禊饩欷醯舾阋㐂葈蕮蒵䩤䓇匸煕蓆莃薂蒠覡隵隟䧍䢄枲騱驨騽䮎犔犠犧磶磎礂䲪䙽㚛䐼䏮貕舃肸肹谿䫣㙾霼趘䨳趇欯囍憙歖霫赩赥豯卌琋壐璽瞦䀘鬩戲䖒矖戱卥戯睎盻覤㳧澙渓潟鸂虩漝㵿漇潝螇暿蟢蠵晞嚱躧蹝呬㗩㕧焁唽噏喺繫黖㽯嵠巇㠄嶍酅㔒忚㤴慀恄憘㤸怬屃屓屭㥡㦻悕習飁恓㞒屖焟熺糦㸍焬熂燨爔熻邜鐊觿觽觹鳛錫鑴饻鱚鰼鯑鉨釸鈢㹫㺣鎴釳鏭狶鉩扱鵗㩗忥氥扸墍㯕榽䙵橲槢桸晳惁椞㮩㭡厀椺橀怸熈㷩稧徯㣟䈪郋鄎徆襲㿇凞瘜闟䊠㜎衋嬆傒翖俙㑶係饎餼餏郤豀縘繥緆細縰綌绤謑䜁譆諰焈謵䛥䜣䚷洒蹊", - "xia": "下夏吓狭辖霞峡瞎厦虾暇匣唬遐侠黠呷瑕罅狎瘕硖柙蕸陿陜䖎騢硤碬磍夓埉圷㙤赮丅乤珨睱䖖虲蝦㗇㽠㘡翈轄峽懗䫗㰺䪗舝炠煆烚鶷䘥祫鎼鏬鍜魻鰕鎋狹梺筪敮舺閕䦖疜閜傄俠颬谺縖諕䛅", - "xian": "现先线显限县鲜险献宪陷仙闲纤腺弦贤嫌掀咸衔羡掺涎娴见酰舷藓馅锨铣冼霰暹籼苋痫氙蚬岘莶燹跹跣祆猃筅鹇藖韅䁂賢贒莧䵌㔵蘚䒸䕔薟苮䧟䧋䧮陥険險礥䃱尠䃸臔姭䏹鼸毨胘韯壏塪赻䨘垷埳䨷現豏珗䶢䶟獻睍縣鹹県盷瞯涀灦㳭瀗㶍㳄鍌㵪澖湺䝨尟㫫晛蜆䗾顕䘆㬗蛝顯㬎蚿㘋咁咞嘕哯蹮躚啣㘅嗛輱䞁幰峴㡉崄嶮㦓忺憪憸糮粯廯䵇烍㡾麙鶱憲褼襳禒鑦臽䚚䀏鋧䥪䱤鱻䲗鮮銽錎䤼鍁銛铦銑獮玁狝㺌獫㧋搟攇㩈㧥撊撏挦攕㮭醎枮櫶杴㭠橌橺麲㭹㯀䉯䢾㪇箲馦秈銜䉳衘稴屳閒鷳羨鷼閑鷴㜪䦥㿅癇癎甉㛾娊奾嫺嫻嬐孅娹妶仚僊僲僩僴餡韱佡伭綫纎繊線缐絤㢺纖婱絃諴誢䜢譣誸洗", - "xiang": "想相象向响像项乡降香羊享箱祥详湘橡翔巷厢镶襄饷骧芗飨衖葙蟓庠鲞缃缃項瓨䔗萫䢽薌驤䐟膷䜶珦瓖晑䖮曏跭㟟嶑㟄䊑廂麘襐勨鱌鱶鱜鐌銄鑲栙楿欀缿稥忀鮝鯗姠佭餉饟緗鄊蚃鄕郷鄉蠁響嚮㗽饗絴纕亯㖜㐔詳", - "xiao": "小消笑效校销削晓肖硝萧孝啸潇俏嚣哮淆宵箫霄筱逍骁姣枭哓鴞蛸崤魈枵绡绡䒕虈䕧䒝蕭藃驍硣膮斅斆㬵毊瀟揱涍㕾敩洨蠨蟏暁曉蟂蟰嘵嘋鸮踃嚻囂呺嘐㗛咲嘯嘨髐髇憢㤊恔庨焇灲熽䊥灱宯窙銷鴵䥵梟㹲猇獢郩殽皢皛撨櫹穘鷍筿簫簘篠痚痟効㔅歗婋虓侾翛㑾烋颵俲傚綃彇謏誟歊誵訤詨", - "xie": "些解写协谢械鞋斜谐胁泄歇邪契携卸屑泻蟹懈挟蝎偕楔勰亵燮鲑撷颉榭邂缬澥瀣廨躞叶薤渫獬榍绁靾鞢鞵䕵䩧䢡藛薢䕈䔑㔎㕐絜脅脇劦膎協㙝奊翓塮暬垥瑎齛齥齘禼卨䪥韰㱔㳦洩㴮瀉㵼㴬㴽㳿蝢旪蠍蠏㖑嚡噧㖿嗋䵦䡡峫嶰屟恊愶屧㞕㥟㦪灺緳熁燲糏炨炧䊝冩寫㝍褉䙎襭䙊祄㙰䲒䥱䥾猲揳挾拹㨙擷攜㨝烲焎娎㩉㩦擕㩪㰔䉣缷徢齂㣯䉏㣰䦑㸉㓔䦏媟孈脋伳偞偰龤㙦㒠㰡僁䭎紲緤綊纈絏縀繲絬衺䚳䙝褻讗爕夑㽊謝䚸諧血", - "xin": "心新信欣辛薪锌芯馨鑫衅昕訢忻莘炘歆囟忄镡䒖阠孞馸舋釁脪盺噷噺軐惞廞焮襑鈊䰼鐔鋅邤㭄杺枔馫顖嬜妡㛛㚯㐰伈俽伩䜗䚱訫䛨", - "xing": "行性形兴型星省幸醒刑姓杏猩腥邢惺悻荥陉擤荇硎饧䓷莕葕陘骍騂臖興㐩㓝㼬㙚垶㼛郉瑆䣆䁄睲涬洐蛵曐哘䳙煋滎㝭觲觪䤯鈃钘鉶铏銒鋞鯹鮏㨘䰢皨㮐䂔㣜箵篂㓑嬹婞娙倖侀餳緈䛭謃", - "xiong": "雄兄胸凶熊汹匈芎熋䧺洶焽焸哅賯恟忷夐敻胷匂兇詗诇詾訩讻㐫", - "xiu": "修秀休袖臭羞绣朽锈嗅溴貅岫咻宿髹庥馐鸺苬髤脙璓臹珛㱙琇潃滫螑嚊㗜峀糔烌鱃鮴鏥銹鏽鎀鏅銝樇齅㾋脩鵂俢飍饈綉繡繍褎褏", - "xu": "许需须续序虚徐绪叙蓄吁絮婿嘘旭栩墟畜浒戌胥圩恤煦蓿酗顼诩魆洫盱砉溆勖糈醑芧蕦藇藚㰲蒣聓䔓㜿䦽㞊䳳㷦㕛㐨䂆驉㚜㦽鬚䢕盨媭嬃須㘧壻垿珬頊珝殈㺷瞁虛歔虗汿沀㵰湑潊漵朂晇暊勗旴冔蝑昫㖅噓㗵呴喣盢㞰賉怴㤢㥠慉燸烼歘欻烅裇䙒禑銊鑐欨鱮䱬獝揟魖䣱䣴楈槒聟䅡鄦卹䘏欰稰稸疞㾥䦗䍱姁㜅㑔㑯敍敘伵偦䬔侐俆䋶續続緒緖縃綇䜡訏譃諿詡諝谞訹許䛙休邪", - "xuan": "选宣旋悬玄喧轩绚眩炫渲漩暄萱癣煊镟璇县碹泫铉揎楦痃儇谖萲䩰鞙䩙蓒蕿藼蘐蔙䧎駽䮄塇璿琄瑄琁玹懸睻眴矎贙䁢㳙㳬晅昍蠉暅蝖蜁暶昡咺䠣吅軒翾䴉㘣䍗䝮愋懁選愃怰烜翧䘩袨禤䚭䚙鋗䴋鰚䲂鍹㹡鏇鉉㧦楥梋檈箮衒䍻癬㾌媗嫙颴弲繏絢縼諼譞諠䗠䲻券", - "xue": "学血雪削穴薛靴谑踅噱鳕泶蒆鞾茓辥膤學觷壆澩嶨燢鷽䨮趐坹瞲㔧辪㶅瀥峃鸴㗾㖸吷轌㞽㡜岤䎀袕鱈䱑狘㧒㿱乴樰䤕桖艝疶䫻䬂䫼䭥斈謔", - "xun": "训迅寻循讯巡询旬逊驯勋熏汛殉荀薰峋洵浚鲟徇浔醺窨荨埙巽蕈孙曛恂郇獯蘍薫愻遜馴駨顨奞毥臐壦攳坃塤壎殾燅珣璕矄潠潯畃䖲蟳勛噀嚑噚䞊卂巺㽦爋燻燖䙉㝁迿㰬鱏鱘鑂狥㨚灥揗㰊杊栒樳桪稄勲勳鄩尋廵焄㜄侚伨偱㒐䭀紃䋸纁㢲訓訊詢䛜訙", - "ya": "压呀亚牙雅芽鸭押崖哑鸦讶丫涯轧衙娅伢蚜桠氩垭碣琊疋迓邪砑睚吖岈揠痖蕥䪵鴉聐孲厊圧厓䃁壓厑䝟劜堐埡圠玡亞鵶䢝㰳亜襾齖齾漄啞唖圔䵝軋鴨崕䯉㿿庌䊦庘㝞窫錏鐚铔䰲犽猰猚㧎掗氬挜枒椏覀笌䄰稏䅉冴疨瘂䦪婭俹訝", - "yan": "眼研验言严演烟沿盐延颜岩炎燕掩厌艳咽焰铅宴衍殷阎雁淹砚檐焉彦蜒俨奄谚腌堰晏胭嫣阉湮筵兖妍偃唁鼹恹琰赝魇滟酽焱餍甗郾菸厣埏鄢罨崦剡闫谳讠鹽匽鶠䕾酀㬫鷰㷼䴏嬊莚萒蔅䓂隁隒驠騴騐験驗牪硽黡䊙揅硏硯夵魘厭厴懕黶檿嬮饜䣍剦礹䂩鳫贗鴈贋㷳䶮䂴臙䑍鼴墕壧䎦䀋塩壛㿼䢥珚琂齞齴䖗鬳䁙覎䀽虤沇厳漹灔灎灧灩淊溎渷㶄㳂渰蝘曣㦔猒䗡暥曮鷃曕妟䳛昖㫟嚥嚈囐嚴碞喦嵒㘙啱㗴喭㘖噞黭黫黬黤艶艷豓豔巘巚巌嵓巖巗觃嵃嶖愝懨熖㷔焑敥炏焔煙烻㢂爓㢛麣戭褗裺鴳䄋䤷觾燄鰋䲓䱲狿抁揜椻㭺歅醼醃釅醶欕棪樮椼櫩楌篶郔䗺躽軅簷䅧䇾閆閹龑䢭兗乵閻顔遃㿕嬿㛪姸孍㚧姲娫娮傿弇顩㕣儼偐䭘酓㓧䳺䨄縯䊻綖䌪讌䜩顏彥訮詽讞扊諺㫃訁", - "yang": "样养阳洋氧央杨扬羊仰秧痒漾疡佯殃鸯怏鞅恙徉炀暘泱蛘烊陽阦駚礢胦䑆霷雵坱垟珜䁑眏眻瀁䬗昜敭蝆䖹旸㬕咉䵮輰軮㿮崸䒋鴦崵岟㟅懩慃煬炴鍈卬鍚鉠钖鰑㺊氜揚氱抰㨾攁楧鸉楊柍様樣䇦劷羏㔦羕飬養瘍鴹癢姎佒飏颺䬬䬺䭐傟紻諹詇详", - "yao": "要药摇腰咬耀遥邀瑶姚窑妖谣钥尧么乐吆肴夭侥舀幺徭珧杳窕窈鹞繇曜爻约轺崾鳐䔄蘨靿薬藥葽蓔苭葯騕磘㞁䂚䍃颻鷂飖尭垚顤堯瑤殀䋤䶧齩䁘㔽矅覞䁏眑㴭溔滧㵸㿢暚䖴㫐嗂喓鷕軺峣嶢嶤岆㟱愮熎燿烑㢓䴠宎㝔䙅袎窰䆙窅䆞穾窯窔祅鎐鰩鱙猺遙獟狕䚻䢣䌛邎揺抭搖㨱摿榣柼㮁楆枖榚鴁鼼䉰筄䑬艞㿑闄媱婹傜倄偠仸䬙餆餚鴢䌊䋂纅謡謠訞㫏䚺讑詏疟", - "ye": "也业夜叶液爷野喝页冶耶咽邪拽曳腋椰掖噎晔谒揶射邺靥吔烨铘䓉葉枼䧨驜靨擪㪑頁礏墷枽㙪㐖璍瑘殗瞸瞱潱澲漜洂曄曅蠮暍曵曗嘢㗼㖶㖡㙒嶪嶫燁煠㥷爗鄴鸈業㱉㝣鐷鋣釾䥺鍱鎁䤶鎑馌䲜䥟䥡䤳擛皣捓抴擫歋㩎捙擨㭨壄埜䈎㸣僷倻爺䭟餣饁謁亪亱鵺", - "yi": "一以义意已艺易议咦依益衣异医移遗疑亦宜仪忆伊倚乙亿抑役毅译椅翼姨蚁泄谊疫逸矣溢夷疙绎尾蛾怡胰贻裔彝邑奕翌屹臆颐诣驿熠咿蜴漪沂呓揖弋轶迤懿悒佚羿噫铱弈壹肄翳癔缢刈旖苡怿痍猗诒峄食射荑薏埸圯殪眙嗌黟嶷嶷衤饴钇镱镒挹酏劓舣瘗翊仡佾蘙芅匜䩟藝蓺虉弌頤巸媐䖁䓃㔴䔬苢勚勩萓苅殹㙠醫鹥瞖繄䗟贀悘鷖黳嫛毉瑿萟䓈藙䓹䕍䬥隿耴迆阣䧧㹓瓵䮊驛駅䭿逘礒䝝帠肊䐖䐅鶂膉貖䝘敼㰻霬墿夁亄㦤鷧㱅壱坄㙯埶㺿玴珆豷豛䰙鹝鷊辷㱲殔鴺乁頥齮齸頉㵩浳㶠渏沶㴁洟浥潩㳑瀷㲼泆浂澺洢㵝㴒湙曀蛦晹䗑曎螘蛡敡鶍螔蟻䗷螠蛜暆囈呭㘊跇遺跠㖂唈㘁呹吚㕥㘈異欭輢黓睪斁歝圛軼轙畩貤貽䞅骮䯆顗峓幆嶧䝯嶬崺怈㦉恞㠯䎈郼䢃懌乛㞔㰝㥴忔攺憶㡼廙熼燡㢞熤燚熪燱炈庡焲宧冝宐㝖襼袣䘝衪裿褹袘寱䘸䆿迱寲䄁祎禕釴鈘釔鉯䱌鶃鮧鯣䱒鳦鸃䲑鮨鏔匇迻狋㹭獈鐿鎰鈠銥撎䖊㣻拸乂㩘枻杙杝槸䣧醳醷桋栧椬栘柂檥檍榏枍䴬㰘椸檹棭䄬劮鄓㓷䇵䄿䇩穓顊稦笖簃乊䉨艗艤秇垼篒籎瘞瘱豙䴊義羛羠鷾痬䦴竩兿鹢鷁嫕㚤㜒嬄㚦㛕彛彞嬟嬑㜋㛄佁侇㑥俋伿㐹㑜䬁儀億飴饐䭂䭞䬮䭇伇㥋偯㑊弬㣂㡫䋵繹䋚䌻彜觺㽈繶縊讛詍裛詒旑訲讉譯㦾扅悥扆訳帟誼誃謻㫊議譩詣蛇", - "yin": "因音引印银阴隐饮姻吟殷荫淫尹茵寅蚓瘾龈垠胤喑氤窨鄞吲圻狺铟茚霪堙洇廴夤夤蘟蔭䕃鞇靷荶蔩䓄蒑䒡隱檃櫽隠阥陻隂陰骃駰㹜碒磤㕂㥯㸒䨸霒趛赺韾堷霠烎璌殥慭珢齗齦龂䖜濦滛濥垽㴈峾溵乑湚泿洕朄螾蟫噖嚚㖗噾䡛囙輑圁嶾湮㡥崟崯㞤訔㦩懚㥼愔廕粌㝙㪦冘裀禋䤺䲟淾銦鮣犾鈝㹞銀鈏㼉㧢斦慇㐆㧈檼垔䤃酳鷣栶檭猌㙬憖憗筃秵㣧䇙癮癊䪩㾙闉凐瘖訚誾婬婣飲侌㱃飮䌥絪緸讔䚿諲訡", - "ying": "应影英营映迎硬盈婴鹰颖赢荧蝇莹莺樱瑛萤鹦萦缨膺瀛荥璎嘤媵罂瘿茔楹郢滢颍嬴景蓥潆撄萾㲟鶧蘡藀䕦盁孾碤礯䃷朠膡䑉霙䨍珱瓔㼆䁐䀴鷪渶溁溋㵬浧㴄瀴濴瀠㶈瀯濙灐濚瀅蛍営鴬灜暎蝧蝿蠳蠅嚶甖巊鑍鸎罌嬰鸚賏譻巆愥煐㢍廮応罃褮塋䁝禜縈螢䪯營熒鶯覮鎣嫈瑩甇謍鶑噟應鷹譍䙬锳鐛鱦䤝㨕攖摬攍桜梬櫻櫿矨軈籝籯韺癭㿘媖孆偀僌㑞䭊䭗緓绬頴颕潁纓㯋穎贏", - "yo": "哟唷喲", - "yong": "用永勇拥涌庸泳佣咏雍踊蛹臃俑甬壅鳙恿痈邕喁慵湧墉镛饔苚蒏㦷勈硧砽惥埇䞻塎㙲慂滽㴩灉澭顒颙䗤踴嗈噰㞲嵱愑悀愹怺㶲醟鄘鷛廱彮㝘鲬鯒鱅鰫鏞郺擁柡栐㷏牅癰癕雝嫞傭㽫詠", - "you": "有又由优油友游右幼尤犹忧邮幽诱悠铀佑黝柚囿蚴酉釉疣猷莠攸祐鱿繇鼬蚰牖呦莜莸尢卣蝣宥铕侑苃䒴蕕䢊聈牰駀䀁鄾迶憂䳑肬貁䞥耰丣㻀逌䚃瀀沋㳺湵滺浟泑蜏䖻哊嚘㕱唀㘥輏輶㽕峟甴峳懮㤑怞怮庮麀䆜禉銪鲉鈾魷鮋䱂㹨狖㺠猶逰㮋栯櫌櫾酭梄槱楢郵怣牗㰶秞䅎䑻㕗羑㾞羪姷㚭優佦㒡㛜䬀偤纋孧㓜訧亴䛻遊誘䢟㫍", - "yu": "于与语育鱼余雨预域玉遇予欲宇愈渔誉郁羽狱御裕愉豫愚喻娱寓浴吁舆尉榆俞禹屿淤逾峪谕於迂虞瘀驭芋隅渝瑜阈毓盂汩熨禺腴揄臾煜钰彧鹬鬻谀馀聿纡竽伛龉觎圄欤妪玙邪蓣萸舁雩蜮昱蝓圉嵛庾庾燠窳窬饫狳瘐妤肀俣鹆蕷蘛㔱䩒芌蕍茰蒮䔡䖇萭薁蓹蘌茟匬萮陓隃䂊矞預鷸遹䮙驈馭䮇騟䂛戫礖砡㝼礇䃋硢硲䏸礜轝㦛鸒歟與譽輿䐳雤貐斞霱堣䨒迃亐圫䨞堬堉琙璵邘㺮㪀玗䢩敔䜽鳿瑀齬齵鸆䁌䲣䱷䁩睮歶淢㳚潏滪澦㳛盓澞湡漁灪淯㶛虶㬂䗨欥㬰蜟噳踰喅喩唹罭㽣輍骬嶼㠘髃嵎嶎䍞㠨崳惐䣁忬頨懙㥚㥥㤤㥔燏㡰粖庽㷒爩麌焴䢓㲾䴁䵫寙㝢䙔衧褕䆷穻鴧鴪䄏祤鈺鍝魣鱊鰅鴥鷠䰻魚鮽鯲㺞鐭䥏㺄獄銉鋊錥㼌扝扜挧魊扵棫櫲桙楰醧杅酑鬰欎欝鬱楀楡棛棜稢䈅稶穥籅䍂䄨䘘牏鄅㙑軉秗禦䉛篽籞艅艈籲込箊閾瘉羭癒䘱嫗嬩㚥䢖媀娛娯傴伃僪㒜儥兪覦歈㼶悆雓俁㑨㒁䬄偊饇飫餘螸慾鵒俼緎紆䋖㣃逳袬諛謣語斔䛕旟諭乻吾奥粥", - "yuan": "原员远元院源愿圆园缘援袁怨冤渊猿宛苑垣媛鸳辕沅爰橼塬鸢圜螈垸瑗鼋湲芫眢掾蒝薳䩩薗蒬茒葾鳶㹉䏍貟贠騵厡厵願鶢䳒䳣遠鼘逺邧䲮黿㤪盶溒渁鼝淵渆渕灁蝯蚖蜵蜎䖠蝝肙剈噮鶰員圎園轅囦圓㟶円㥳悁鹓惌鵷寃褑褤裫裷禐駌夗鴛妴鎱鈨魭鋺猨㭇榞榬杬酛棩櫞笎衏邍羱䅈䬇嫄媴嬽傆㥐䬧䬼䨊縁緣謜䛄䛇", - "yue": "月约越跃阅悦曰岳乐粤兑钥栎钺说刖瀹哕樾龠䖃戉蘥㹊玥䢲泧㬦蚏蚎䟠噦跀躍䠯啘䢁黦䡇軏岄曱嶽恱悅爚礿禴鉞鈅䥃鸑䤦鑰抈捳㰛籆矱籰粵籥篗箹閲閱嬳㜧妜㜰鸙䶳䋐約", - "yun": "运云允匀韵孕晕蕴芸陨酝韫耘恽纭熨愠氲筠郓郧殒员昀狁蕓䩵荺蕰薀蒀蒷蒕藴蘊阭耺隕馻夽奫磒腪䢵䨶䲰雲䞫霣㚃鋆殞齫齳眃沄澐涢溳蝹暈鄖䚋喗囩䵴䡝畇賱㟦㞌韗韞愪慍惲煴熉熅鄆運褞䆬鈗䤞勻抎氳抣枟橒醖醞秐䉙馧筼篔䦾䇖韻㾓㚺妘㛣㜏䪳伝傊餫紜緼缊縜縕贇赟", - "za": "杂咱扎咋砸咂匝拶䕹臜臢䞙䪞帀迊沯沞囋囃襍鉔魳桚韴雑雥雜", - "zai": "在再载灾仔栽宰崽哉甾䏁䮨載䵧烖㦲酨㱰睵渽溨洅㴓㞨賳扗畠䣬災傤儎縡", - "zan": "咱赞暂攒簪瓒錾糌趱昝㔆兂趲瓉鄼賛瓚濽灒噆喒暫蹔鏨㟛寁襸禶鐕鵤鐟撍攅攢揝橵贊簮㜺儧儹偺㤰饡㣅讃讚", - "zang": "藏脏葬赃臧奘驵蔵塟匨駔臟臓羘㘸贜贓髒賍賘弉銺牂", - "zao": "造早遭藻燥糟灶躁枣凿噪皂澡蚤唣薻䥣㲧趮栆璪璅䖣䗢蹧喿唕慥㷮煰鑿竃竈䲃皁醩棗梍簉艁䒃傮䜊譟", - "ze": "则责择泽侧啧仄赜咋昃帻箦迮舴蔶賾䕪䕉矠礋責齰䶦齚歵瞔㳻㳁澤溭沢滜泎汄蠌昗㖽嘖鸅幘則崱庂襗䰹皟捑擇択樍䇥簀㣱嫧諎謮", - "zei": "贼蠈賊戝鲗鱡鰂", - "zen": "怎谮䫈譖", - "zeng": "增综赠憎曾锃甑罾缯鬵磳増䰝璔囎㽪贈熷䙢鋥鱛橧矰鄫曽繒譄", - "zha": "扎炸眨渣闸喳榨诈栅札乍楂喋蚱柞铡咤查咋砟哳吒揸齄痄䕢䃎厏䞢耫霅㱜皻㪥㗬㴙溠䖳灹㡸宱觰鲊鍘鮓䥷抯摣紥挓搾拃柤醡樝皶蚻紮䵵牐齇劄箚䵙㷢閘鲝鮺偧㒀䋾譇䛽詐譗", - "zhai": "摘窄债宅寨斋翟砦责择侧祭齐瘵㡯鉙粂捚㩟榸檡夈債斎齋", - "zhan": "展战站占粘颤沾崭盏斩毡湛瞻栈辗詹绽蘸谵旃霑搌㠭菚虦盞䪌薝驏驙䩅氊趈䟋琖㻵虥䁴惉戦魙䗃蛅戰噡輾轏斬覱㟞岾嶃嶄嶦嶘㞡䎒䘺鳣䱠䱼鱣㺘棧桟醆枬榐栴橏䡀㣶閚嫸偡佔僝飐颭飦饘䋎綻詀讝氈鹯鸇邅譧譫旜", - "zhang": "长张章掌丈障涨帐仗胀账杖璋彰樟瘴漳蟑嶂鱆獐幛鄣嫜仉蔁騿礃脹墇㙣瞕涱漲暲㕩賬帳幥慞粻粀麞鏱扙痮㽴遧瘬傽餦張", - "zhao": "找照招召赵着兆昭沼诏朝钊肇濯啁棹罩爪嘲笊䮓駋㕚䃍㐍䝖爫趙垗瑵瞾曌㷖䍜羄燳㡽炤鍣釗鮡狣㺐鉊㨄櫂枛罀箌䈇䈃䍮㐒巶妱㑿佋皽肈肁旐詔", - "zhe": "这着者折哲遮浙蔗褶辙锗辄蛰蜇赭柘鹧摺螫谪著磔䩾䓆䎲㪿䮰䂞矺厇砓詟䐑䐲䏳喆嚞乽蟄謺䝕䝃歽淛蟅晣虴啫踷䠦嗻輙輒䵭轍㞏䗪鷓粍籷䊞襵袩銸鍺鮿埑晢啠悊㯰樜讋嫬這謫讁", - "zhei": "这", - "zhen": "真针阵镇振珍震诊侦贞枕圳砧斟疹臻甄祯桢朕赈帧榛缜箴畛稹填蓁胗溱浈轸鸩椹葴蒖䑐䫬薽萙塦陣聄㓄駗碪鬒䂧䂦㪛䏖䨯瑧殝珎遉貞眹眕㴨湞潧澵昣䟴辴轃黰甽軫賑帪幀䝩屒䲴寊䪴鴆裖袗禛禎鍼鋴針鎮錱覙鱵獉鉁鎭挋䳲揕搸抮㮳酙楨樼㯢栚籈姫嫃侲㐱偵弫䊶縥絼縝㣀眞紾紖纼誫診", - "zheng": "正政争整证征丁蒸症郑睁挣怔拯铮筝狰峥诤徵钲聇脀烝氶䂻鬇爭㱏埩靕鴊䥭睜眐塣晸踭䡕崢崝幁㡧㡠炡䥌鉦錚猙鏳掙揁掟抍撜愸篜箏徰䈣䦛䦶鄭㽀癥姃媜佂凧䋊䋫糽䛫証諍證", - "zhi": "之只制质知指直至志织支值致职止植置纸智执殖枝脂秩肢滞拓汁旨址稚芝吱帜蜘挚掷侄趾治识酯窒峙炙桎栉雉祗芷咫痣栀氏胝祇跖踯鸷蛭枳帙痔徵贽姪沚陟骘陟膣豸埴郅踬轾轵忮黹祉觯卮摭絷夂彘蘵芖䓌䛗䓜迣茋䓡藢䕌聀阯騭隲䏄㝂䎺職犆馶駤馽厔㕄砋礩䐭䐈䏯胑䑇乿膱墆鳷䧴坧䟈㙷覟墌疐坁垁漐縶贄慹騺鷙䥍摯執瓡驇臸瓆璏歭㫖淽滯滍汥洔淔洷㴛潌汦泜潪瀄晊蟙跱蹠躓躑㗌㗧㘉畤䡹輊軹豑豒剬䞃幟崻懥懫翐恉庤庢廌㡶熫寘衼襧衹袟禃祬祑帋觶觗䚦鋕銍铚䳅䱨鯯㩼锧鑕狾猘釞劧㨁貭搘挃㨖巵㧻抧摨搱扺扻劕質䭁擳擲梽榰㮹梔櫍椥柣櫛䵂栺樴㲛䝷鼅䵹鴙䅩秓徝稙憄䉅秷製䱥䄺䇛徏軄徴筫穉䆈稺秖䇽䉜㣥瘈痓䦯疻疷㜼娡㛿妷嬂値俧凪傂儨倁偫䬹隻綕緻䌤鴲紙紩織誌訨袠戠䫕旘", - "zhong": "中种重众终钟忠肿仲衷踵盅冢锺忪螽舯茽蔠刣尰鼨腫塚堹歱泈汷蚛蜙蹱喠眾幒煄炂衶衳祌銿鈡䱰鴤鍾狆㹣鐘㲴柊衆籦種㣫徸彸筗瘇妕媑妐偅伀㐺終螤諥蚣", - "zhou": "周州洲宙轴骤皱昼舟咒粥肘帚绉胄纣诌妯繇啁调荮碡酎籀䩜菷葤㔌䎻驟駎騆駲䐍䶇霌盩珘睭淍䖞晭嚋呪喌噣咮輖軸輈辀冑郮週㼙賙赒㥮粙炿烐皺鯞銂矪徟甃籒籕鸼鵃箒䈙䇠疛㾭晝婤㛩伷㑳㑇僽侜紂縐䋓诪譸詋䛆謅", - "zhu": "主住注助逐著宁筑诸珠猪竹朱柱祝驻株贮嘱煮铸烛蛛瞩竺蛀拄伫褚诛侏澍潴箸渚炷躅铢瘃苎术属茱翥洙麈橥杼槠邾舳疰丶茿莇藸蓫䕽苧蕏陼䎷逫馵䮱駯駐劯硃砫䐢墸䟉壴坾䬡煑䝒豬櫫矚眝㵭瀦濐灟乼蝫蠋曯蠾蠩跦跓囑鸀罜軴帾貯嵀䝬劚斸㤖㔉㫂燝燭爥炢麆㝉㿾䘢袾窋宔祩鋳鑄钃鯺鱁鮢䥮㺛銖㹥鉒拀㧣柷欘樦櫧笁篫築笜筯䍆鴸鼄篴䇧簗䇡秼㾻竚羜孎㑏佇䭖飳䰞䌵纻紵絑紸諸迬殶詝誅註", - "zhua": "抓爪髽膼撾檛簻挝", - "zhuai": "拽转跩", - "zhuan": "转专砖赚撰篆传颛馔啭蒃孨磚磗膞腞塼堟瑼鄟專甎叀専瑑蟤囀䡱転轉顓賺灷襈鱄篹籑䉵竱嫥僎饌縳諯譔", - "zhuang": "状装庄壮撞桩妆幢僮奘戆庒荘莊壵湷糚粧樁梉狀壯焋娤裝妝", - "zhui": "追缀椎坠锥赘惴骓隹缒墜騅硾礈腏膇贅沝畷䄌錣鑆鵻錐醊甀笍娷綴縋諈揣", - "zhun": "准谆淳屯肫窀埻迍準啍㡒宒衠稕凖綧訰諄", - "zhuo": "捉桌著卓着浊灼啄琢拙酌镯茁斫濯淖涿棹擢焯浞禚倬诼斮斲䕴䪼叕硺䶂龺圴斱琸鵫灂濁汋晫蠗啅罬斀劅㣿㪬蠿烵炪丵窡窧鐯鋜鐲㺟犳斵擆撯棳椓㭬槕櫡棁梲穱籗籱篧彴䅵穛娺妰諁諑謶鷟缴", - "zi": "自子资字紫仔姿滋兹姊籽咨孜渍梓髭恣滓谘淄呲孳鲻龇辎甾眦秭赀吱齐茈趑耔觜訾嵫锱笫粢缁芓蓻茡荢䔂茊葘菑茲孖牸矷頾頿胏䐉胾嗭赼趦鼒㺭剚鄑㱴㰷齜眥呰啙貲胔鈭㰣姕漬澬湽虸吇嗞輺輜崰䘣禌釨鰦鯔鎡镃鍿錙㧗杍橴榟椔秄䅆稵資栥秶㾅㜽姉鶅倳紎緇緕纃訿齍諮孶玆", - "zong": "总宗综纵踪棕粽鬃熜偬从腙葼蓗骔騌騣惣㹅鬉䰌碂磫朡堫䝋豵鬷昮蝬䗥蹤踨䍟嵏嵕嵸惾翪燪糭㷓糉㢔焧鑁鯮鯼鍐猔猣㚇揔摠搃捴㯶椶稯熧瘲疭倧傯倊綜緫緵總繌縦縱縂総緃", - "zou": "走奏邹揍陬鄹驺鲰诹菆郰棸騶赱㔿齱齺㵵䠫黀鄒鯫鯐掫棷箃緅諏", - "zu": "组族足祖阻租卒诅镞俎菹靻䔃蒩葅䯿珇䖕唨踤哫㞺崒崪䚝䱣鎺鏃爼椊䅸箤卆組䘚詛㲞㰵", - "zuan": "钻攥纂躜缵繤䂎躦鑚鉆鑽䤸劗籫纉纘䌣", - "zui": "最嘴罪醉咀蕞䮔厜璻蟕晬嗺噿嶵㠑嶊冣㝡䘹祽鋷錊酻酔樶檌㰎栬槜檇辠䘒稡纗絊", - "zun": "尊遵樽鳟撙墫噂嶟鶎銌鱒鐏捘罇鷷僔繜譐", - "zuo": "作做坐左座昨佐琢撮柞唑祚捽阼胙嘬怍酢笮葄葃蓙䔘苲莋㸲㝾䞰䎰咗㘀㘴岝岞䝫糳袏鈼㭮稓穝秨筰㛗㑅飵侳繓䋏" -} diff --git a/scripts/uosc/elements/BufferingIndicator.lua b/scripts/uosc/elements/BufferingIndicator.lua deleted file mode 100644 index 13674f3..0000000 --- a/scripts/uosc/elements/BufferingIndicator.lua +++ /dev/null @@ -1,39 +0,0 @@ -local Element = require('elements/Element') - ----@class BufferingIndicator : Element -local BufferingIndicator = class(Element) - -function BufferingIndicator:new() return Class.new(self) --[[@as BufferingIndicator]] end -function BufferingIndicator:init() - Element.init(self, 'buffering_indicator', {ignores_curtain = true, render_order = 2}) - self.enabled = false - self:decide_enabled() -end - -function BufferingIndicator:decide_enabled() - local cache = state.cache_underrun or state.cache_buffering and state.cache_buffering < 100 - local player = state.core_idle and not state.eof_reached - if self.enabled then - if not player or (state.pause and not cache) then self.enabled = false end - elseif player and cache and state.uncached_ranges then - self.enabled = true - end -end - -function BufferingIndicator:on_prop_pause() self:decide_enabled() end -function BufferingIndicator:on_prop_core_idle() self:decide_enabled() end -function BufferingIndicator:on_prop_eof_reached() self:decide_enabled() end -function BufferingIndicator:on_prop_uncached_ranges() self:decide_enabled() end -function BufferingIndicator:on_prop_cache_buffering() self:decide_enabled() end -function BufferingIndicator:on_prop_cache_underrun() self:decide_enabled() end - -function BufferingIndicator:render() - local ass = assdraw.ass_new() - ass:rect(0, 0, display.width, display.height, {color = bg, opacity = config.opacity.buffering_indicator}) - local size = round(30 + math.min(display.width, display.height) / 10) - local opacity = (Elements.menu and Elements.menu:is_alive()) and 0.3 or 0.8 - ass:spinner(display.width / 2, display.height / 2, size, {color = fg, opacity = opacity}) - return ass -end - -return BufferingIndicator diff --git a/scripts/uosc/elements/Button.lua b/scripts/uosc/elements/Button.lua deleted file mode 100644 index 38a3d1f..0000000 --- a/scripts/uosc/elements/Button.lua +++ /dev/null @@ -1,100 +0,0 @@ -local Element = require('elements/Element') - ----@alias ButtonProps {icon: string; on_click?: function; is_clickable?: boolean; anchor_id?: string; active?: boolean; badge?: string|number; foreground?: string; background?: string; tooltip?: string} - ----@class Button : Element -local Button = class(Element) - ----@param id string ----@param props ButtonProps -function Button:new(id, props) return Class.new(self, id, props) --[[@as Button]] end ----@param id string ----@param props ButtonProps -function Button:init(id, props) - self.icon = props.icon - self.active = props.active - self.tooltip = props.tooltip - self.badge = props.badge - self.foreground = props.foreground or fg - self.background = props.background or bg - self.is_clickable = true - ---@type fun()|nil - self.on_click = props.on_click - Element.init(self, id, props) -end - -function Button:on_coordinates() self.font_size = round((self.by - self.ay) * 0.7) end -function Button:handle_cursor_click() - if not self.on_click or not self.is_clickable then return end - -- We delay the callback to next tick, otherwise we are risking race - -- conditions as we are in the middle of event dispatching. - -- For example, handler might add a menu to the end of the element stack, and that - -- than picks up this click event we are in right now, and instantly closes itself. - mp.add_timeout(0.01, self.on_click) -end - -function Button:render() - local visibility = self:get_visibility() - if visibility <= 0 then return end - cursor:zone('primary_down', self, function() self:handle_cursor_click() end) - - local ass = assdraw.ass_new() - local is_clickable = self.is_clickable and self.on_click ~= nil - local is_hover = self.proximity_raw == 0 - local foreground = self.active and self.background or self.foreground - local background = self.active and self.foreground or self.background - local background_opacity = self.active and 1 or config.opacity.controls - - if is_hover and is_clickable and background_opacity < 0.3 then background_opacity = 0.3 end - - -- Background - if background_opacity > 0 then - ass:rect(self.ax, self.ay, self.bx, self.by, { - color = (self.active or not is_hover) and background or foreground, - radius = state.radius, - opacity = visibility * background_opacity, - }) - end - - -- Tooltip on hover - if is_hover and self.tooltip then ass:tooltip(self, self.tooltip) end - - -- Badge - local icon_clip - if self.badge then - local badge_font_size = self.font_size * 0.6 - local badge_opts = {size = badge_font_size, color = background, opacity = visibility} - local badge_width = text_width(self.badge, badge_opts) - local width, height = math.ceil(badge_width + (badge_font_size / 7) * 2), math.ceil(badge_font_size * 0.93) - local bx, by = self.bx - 1, self.by - 1 - ass:rect(bx - width, by - height, bx, by, { - color = foreground, - radius = state.radius, - opacity = visibility, - border = self.active and 0 or 1, - border_color = background, - }) - ass:txt(bx - width / 2, by - height / 2, 5, self.badge, badge_opts) - - local clip_border = math.max(self.font_size / 20, 1) - local clip_path = assdraw.ass_new() - clip_path:round_rect_cw( - math.floor((bx - width) - clip_border), math.floor((by - height) - clip_border), bx, by, 3 - ) - icon_clip = '\\iclip(' .. clip_path.scale .. ', ' .. clip_path.text .. ')' - end - - -- Icon - local x, y = round(self.ax + (self.bx - self.ax) / 2), round(self.ay + (self.by - self.ay) / 2) - ass:icon(x, y, self.font_size, self.icon, { - color = foreground, - border = self.active and 0 or options.text_border * state.scale, - border_color = background, - opacity = visibility, - clip = icon_clip, - }) - - return ass -end - -return Button diff --git a/scripts/uosc/elements/Controls.lua b/scripts/uosc/elements/Controls.lua deleted file mode 100644 index 41978a0..0000000 --- a/scripts/uosc/elements/Controls.lua +++ /dev/null @@ -1,431 +0,0 @@ -local Element = require('elements/Element') -local Button = require('elements/Button') -local CycleButton = require('elements/CycleButton') -local ManagedButton = require('elements/ManagedButton') -local Speed = require('elements/Speed') - --- sizing: --- static - shrink, have highest claim on available space, disappear when there's not enough of it --- dynamic - shrink to make room for static elements until they reach their ratio_min, then disappear --- gap - shrink if there's no space left --- space - expands to fill available space, shrinks as needed --- scale - `options.controls_size` scale factor. --- ratio - Width/height ratio of a static or dynamic element. --- ratio_min Min ratio for 'dynamic' sized element. ----@alias ControlItem {element?: Element; kind: string; sizing: 'space' | 'static' | 'dynamic' | 'gap'; scale: number; ratio?: number; ratio_min?: number; hide: boolean; dispositions?: {[string]: boolean}[]} - ----@class Controls : Element -local Controls = class(Element) - -function Controls:new() return Class.new(self) --[[@as Controls]] end -function Controls:init() - Element.init(self, 'controls', {render_order = 6}) - ---@type ControlItem[] All control elements serialized from `options.controls`. - self.controls = {} - ---@type ControlItem[] Only controls that match current dispositions. - self.layout = {} - - self:init_options() -end - -function Controls:destroy() - self:destroy_elements() - Element.destroy(self) -end - -function Controls:init_options() - -- Serialize control elements - local shorthands = { - ['play-pause'] = 'cycle:pause:pause:no/yes=play_arrow?' .. t('Play/Pause'), - menu = 'command:menu_book:script-binding uosc/menu-blurred?' .. t('Menu'), - subtitles = 'command:closed_caption:script-binding uosc/subtitles#sub>1?' .. t('Subtitles'), - audio = 'command:graphic_eq:script-binding uosc/audio#audio>1?' .. t('Audio'), - ['audio-device'] = 'command:speaker:script-binding uosc/audio-device?' .. t('Audio device'), - video = 'command:smart_display:script-binding uosc/video#video>1?' .. t('Video'), - playlist = 'command:list_alt:script-binding uosc/playlist#playlist>1?' .. t('Playlist'), - chapters = 'command:library_books:script-binding uosc/chapters#chapters>1?' .. t('Chapters'), - ['editions'] = 'command:movie_filter:script-binding uosc/editions#editions>1?' .. t('Editions'), - ['stream-quality'] = 'command:high_quality:script-binding uosc/stream-quality?' .. t('Stream quality'), - ['open-file'] = 'command:folder:script-binding uosc/open-file?' .. t('Open file'), - ['items'] = 'command:list_alt:script-binding uosc/items#playlist>1?' .. t('Playlist/Files'), - prev = 'command:arrow_back_ios:script-binding uosc/prev?' .. t('Previous'), - next = 'command:arrow_forward_ios:script-binding uosc/next?' .. t('Next'), - first = 'command:first_page:script-binding uosc/first?' .. t('First'), - last = 'command:last_page:script-binding uosc/last?' .. t('Last'), - ['loop-playlist'] = 'cycle:repeat:loop-playlist:no/inf!?' .. t('Loop playlist'), - ['loop-file'] = 'cycle:repeat_one:loop-file:no/inf!?' .. t('Loop file'), - shuffle = 'toggle:shuffle:shuffle?' .. t('Shuffle'), - autoload = 'toggle:hdr_auto:autoload@uosc?' .. t('Autoload'), - fullscreen = 'cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?' .. t('Fullscreen'), - } - - -- Parse out disposition/config pairs - local items = {} - local in_disposition = false - local current_item = nil - for c in options.controls:gmatch('.') do - if not current_item then current_item = {disposition = '', config = ''} end - if c == '<' and #current_item.config == 0 then - in_disposition = true - elseif c == '>' and #current_item.config == 0 then - in_disposition = false - elseif c == ',' and not in_disposition then - items[#items + 1] = current_item - current_item = nil - else - local prop = in_disposition and 'disposition' or 'config' - current_item[prop] = current_item[prop] .. c - end - end - items[#items + 1] = current_item - - -- Create controls - self.controls = {} - for i, item in ipairs(items) do - local config = shorthands[item.config] and shorthands[item.config] or item.config - local config_tooltip = split(config, ' *%? *') - local tooltip = config_tooltip[2] - config = shorthands[config_tooltip[1]] - and split(shorthands[config_tooltip[1]], ' *%? *')[1] or config_tooltip[1] - local config_badge = split(config, ' *# *') - config = config_badge[1] - local badge = config_badge[2] - local parts = split(config, ' *: *') - local kind, params = parts[1], itable_slice(parts, 2) - - -- Serialize dispositions into OR groups of AND conditions - ---@type {[string]: boolean}[] - local dispositions = {} - ---@type string[] - local disposition_props = {} - for _, or_group in ipairs(comma_split(item.disposition)) do - local group = {} - for _, condition in ipairs(split(or_group, ' *+ *')) do - if #condition > 0 then - local value = condition:sub(1, 1) ~= '!' - local name = not value and condition:sub(2) or condition - if name:sub(1, 4) == 'has_' or itable_has({'idle', 'image', 'audio', 'video', 'stream'}, name) then - local prop = name:sub(1, 4) == 'has_' and name or 'is_' .. name - group[prop] = value - else - disposition_props[#disposition_props + 1] = name - group[name] = value - end - end - end - dispositions[#dispositions + 1] = group - end - - -- Convert toggles into cycles - if kind == 'toggle' then - kind = 'cycle' - params[#params + 1] = 'no/yes!' - end - - -- Create a control element - local control = {dispositions = dispositions, kind = kind} - - if kind == 'space' then - control.sizing = 'space' - elseif kind == 'gap' then - table_assign(control, {sizing = 'gap', scale = 1, ratio = params[1] or 0.3, ratio_min = 0}) - elseif kind == 'command' then - if #params ~= 2 then - mp.error(string.format( - 'command button needs 2 parameters, %d received: %s', #params, table.concat(params, '/') - )) - else - local element = Button:new('control_' .. i, { - render_order = self.render_order, - icon = params[1], - anchor_id = 'controls', - on_click = function() mp.command(params[2]) end, - tooltip = tooltip, - count_prop = 'sub', - }) - table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) - if badge then self:register_badge_updater(badge, element) end - end - elseif kind == 'cycle' then - if #params ~= 3 then - mp.error(string.format( - 'cycle button needs 3 parameters, %d received: %s', - #params, table.concat(params, '/') - )) - else - local state_configs = split(params[3], ' */ *') - local states = {} - - for _, state_config in ipairs(state_configs) do - local active = false - if state_config:sub(-1) == '!' then - active = true - state_config = state_config:sub(1, -2) - end - local state_params = split(state_config, ' *= *') - local value, icon = state_params[1], state_params[2] or params[1] - states[#states + 1] = {value = value, icon = icon, active = active} - end - - local element = CycleButton:new('control_' .. i, { - render_order = self.render_order, - prop = params[2], - anchor_id = 'controls', - states = states, - tooltip = tooltip, - }) - table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) - if badge then self:register_badge_updater(badge, element) end - end - elseif kind == 'button' then - if #params ~= 1 then - mp.error(string.format( - 'managed button needs 1 parameter, %d received: %s', #params, table.concat(params, '/') - )) - else - local element = ManagedButton:new('control_' .. i, { - name = params[1], - render_order = self.render_order, - anchor_id = 'controls', - on_hide = function() self:reflow() end, - }) - table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) - end - elseif kind == 'speed' then - if not Elements.speed then - local element = Speed:new({anchor_id = 'controls', render_order = self.render_order}) - local scale = tonumber(params[1]) or 1.3 - table_assign(control, { - element = element, sizing = 'dynamic', scale = scale, ratio = 3.5, ratio_min = 2, - }) - else - msg.error('there can only be 1 speed slider') - end - else - msg.error('unknown element kind "' .. kind .. '"') - break - end - - if control.element then - for _, prop in ipairs(disposition_props) do - control.element:observe_mp_property(prop, function() self:reflow() end) - end - end - self.controls[#self.controls + 1] = control - end - - self:reflow() -end - -function Controls:reflow() - -- Populate the layout only with items that are not hidden and match current disposition - self.layout = {} - for _, control in ipairs(self.controls) do - local matches = false - local conditions_num = 0 - - -- Check against OR groups of AND conditions - for _, group in pairs(control.dispositions) do - local group_matches = true - for prop, value in pairs(group) do - conditions_num = conditions_num + 1 - ---@type boolean - local current_value - if prop:sub(1, 4) == 'has_' or prop:sub(1, 3) == 'is_' then - current_value = state[prop] - else - current_value = mp.get_property_bool(prop, false) - end - if current_value ~= value then - group_matches = false - break - end - end - if group_matches then - matches = true - break - end - end - - if conditions_num == 0 then matches = true end - local show = matches and (not control.element or control.element.hide ~= true) - if control.element then control.element.enabled = show end - if show then self.layout[#self.layout + 1] = control end - end - - self:update_dimensions() - Elements:trigger('controls_reflow') -end - ----@param badge string ----@param element Element An element that supports `badge` property. -function Controls:register_badge_updater(badge, element) - local prop_and_limit = split(badge, ' *> *') - local prop, limit = prop_and_limit[1], tonumber(prop_and_limit[2] or -1) - local observable_name, serializer, is_external_prop = prop, nil, false - - if itable_index_of({'sub', 'audio', 'video'}, prop) then - observable_name = 'track-list' - serializer = function(value) - local count = 0 - for _, track in ipairs(value) do if track.type == prop then count = count + 1 end end - return count - end - elseif prop == 'playlist' then - observable_name = 'playlist-count' - serializer = function(count) return count end - else - local parts = split(prop, '@') - -- Support both new `prop@owner` and old `@prop` syntaxes - if #parts > 1 then prop, is_external_prop = parts[1] ~= '' and parts[1] or parts[2], true end - serializer = function(value) return value and (type(value) == 'table' and #value or tostring(value)) or nil end - end - - local function handler(_, value) - local new_value = serializer(value) --[[@as nil|string|integer]] - local value_number = tonumber(new_value) - if value_number then new_value = value_number > limit and value_number or nil end - element.badge = new_value - request_render() - end - - if is_external_prop then - element['on_external_prop_' .. prop] = function(_, value) handler(prop, value) end - else - element:observe_mp_property(observable_name, handler) - end -end - -function Controls:get_visibility() - return Elements:v('speed', 'dragging') and 1 or Elements:maybe('timeline', 'get_is_hovered') - and -1 or Element.get_visibility(self) -end - -function Controls:update_dimensions() - local window_border = Elements:v('window_border', 'size', 0) - local size = round(options.controls_size * state.scale) - local spacing = round(options.controls_spacing * state.scale) - local margin = round(options.controls_margin * state.scale) - - -- Disable when not enough space - local available_space = display.height - window_border * 2 - Elements:v('top_bar', 'size', 0) - - Elements:v('timeline', 'size', 0) - self.enabled = available_space > size + 10 - - -- Reset hide/enabled flags - for c, control in ipairs(self.layout) do - control.hide = false - if control.element then control.element.enabled = self.enabled end - end - - if not self.enabled then return end - - -- Container - self.bx = display.width - window_border - margin - self.by = Elements:v('timeline', 'ay', display.height - window_border) - margin - self.ax, self.ay = window_border + margin, self.by - size - - -- Controls - local available_width, statics_width = self.bx - self.ax, 0 - local min_content_width = statics_width - local max_dynamics_width, dynamic_units, spaces, gaps = 0, 0, 0, 0 - - -- Calculate statics_width, min_content_width, and count spaces & gaps - for c, control in ipairs(self.layout) do - if control.sizing == 'space' then - spaces = spaces + 1 - elseif control.sizing == 'gap' then - gaps = gaps + control.scale * control.ratio - elseif control.sizing == 'static' then - local width = size * control.scale * control.ratio + (c ~= #self.layout and spacing or 0) - statics_width = statics_width + width - min_content_width = min_content_width + width - elseif control.sizing == 'dynamic' then - local spacing = (c ~= #self.layout and spacing or 0) - statics_width = statics_width + spacing - min_content_width = min_content_width + size * control.scale * control.ratio_min + spacing - max_dynamics_width = max_dynamics_width + size * control.scale * control.ratio - dynamic_units = dynamic_units + control.scale * control.ratio - end - end - - -- Hide & disable elements in the middle until we fit into available width - if min_content_width > available_width then - local i = math.ceil(#self.layout / 2 + 0.1) - for a = 0, #self.layout - 1, 1 do - i = i + (a * (a % 2 == 0 and 1 or -1)) - local control = self.layout[i] - - if control.sizing ~= 'gap' and control.sizing ~= 'space' then - control.hide = true - if control.element then control.element.enabled = false end - if control.sizing == 'static' then - local width = size * control.scale * control.ratio - min_content_width = min_content_width - width - spacing - statics_width = statics_width - width - spacing - elseif control.sizing == 'dynamic' then - statics_width = statics_width - spacing - min_content_width = min_content_width - size * control.scale * control.ratio_min - spacing - max_dynamics_width = max_dynamics_width - size * control.scale * control.ratio - dynamic_units = dynamic_units - control.scale * control.ratio - end - - if min_content_width < available_width then break end - end - end - end - - -- Lay out the elements - local current_x = self.ax - local width_for_dynamics = available_width - statics_width - local empty_space_width = width_for_dynamics - max_dynamics_width - local width_for_gaps = math.min(empty_space_width, size * gaps) - local individual_space_width = spaces > 0 and ((empty_space_width - width_for_gaps) / spaces) or 0 - - for c, control in ipairs(self.layout) do - if not control.hide then - local sizing, element, scale, ratio = control.sizing, control.element, control.scale, control.ratio - local width, height = 0, 0 - - if sizing == 'space' then - if individual_space_width > 0 then width = individual_space_width end - elseif sizing == 'gap' then - if width_for_gaps > 0 then width = width_for_gaps * (ratio / gaps) end - elseif sizing == 'static' then - height = size * scale - width = height * ratio - elseif sizing == 'dynamic' then - height = size * scale - width = max_dynamics_width < width_for_dynamics - and height * ratio or width_for_dynamics * ((scale * ratio) / dynamic_units) - end - - local bx = current_x + width - if element then element:set_coordinates(round(current_x), round(self.by - height), bx, self.by) end - current_x = element and bx + spacing or bx - end - end - - Elements:update_proximities() - request_render() -end - -function Controls:on_dispositions() self:reflow() end -function Controls:on_display() self:update_dimensions() end -function Controls:on_prop_border() self:update_dimensions() end -function Controls:on_prop_title_bar() self:update_dimensions() end -function Controls:on_prop_fullormaxed() self:update_dimensions() end -function Controls:on_timeline_enabled() self:update_dimensions() end - -function Controls:destroy_elements() - for _, control in ipairs(self.controls) do - if control.element then control.element:destroy() end - end -end - -function Controls:on_options() - self:destroy_elements() - self:init_options() -end - -return Controls diff --git a/scripts/uosc/elements/Curtain.lua b/scripts/uosc/elements/Curtain.lua deleted file mode 100644 index ccebfb0..0000000 --- a/scripts/uosc/elements/Curtain.lua +++ /dev/null @@ -1,35 +0,0 @@ -local Element = require('elements/Element') - ----@class Curtain : Element -local Curtain = class(Element) - -function Curtain:new() return Class.new(self) --[[@as Curtain]] end -function Curtain:init() - Element.init(self, 'curtain', {render_order = 999}) - self.opacity = 0 - ---@type string[] - self.dependents = {} -end - ----@param id string -function Curtain:register(id) - self.dependents[#self.dependents + 1] = id - if #self.dependents == 1 then self:tween_property('opacity', self.opacity, 1) end -end - ----@param id string -function Curtain:unregister(id) - self.dependents = itable_filter(self.dependents, function(item) return item ~= id end) - if #self.dependents == 0 then self:tween_property('opacity', self.opacity, 0) end -end - -function Curtain:render() - if self.opacity == 0 or config.opacity.curtain == 0 then return end - local ass = assdraw.ass_new() - ass:rect(0, 0, display.width, display.height, { - color = config.color.curtain, opacity = config.opacity.curtain * self.opacity, - }) - return ass -end - -return Curtain diff --git a/scripts/uosc/elements/CycleButton.lua b/scripts/uosc/elements/CycleButton.lua deleted file mode 100644 index 8aa8175..0000000 --- a/scripts/uosc/elements/CycleButton.lua +++ /dev/null @@ -1,86 +0,0 @@ -local Button = require('elements/Button') - ----@alias CycleState {value: any; icon: string; active?: boolean} ----@alias CycleButtonProps {prop: string; states: CycleState[]; anchor_id?: string; tooltip?: string} - -local function yes_no_to_boolean(value) - if type(value) ~= 'string' then return value end - local lowercase = trim(value):lower() - if lowercase == 'yes' or lowercase == 'no' then - return lowercase == 'yes' - else - return value - end -end - ----@class CycleButton : Button -local CycleButton = class(Button) - ----@param id string ----@param props CycleButtonProps -function CycleButton:new(id, props) return Class.new(self, id, props) --[[@as CycleButton]] end ----@param id string ----@param props CycleButtonProps -function CycleButton:init(id, props) - local is_state_prop = itable_index_of({'shuffle'}, props.prop) - self.prop = props.prop - self.states = props.states - - Button.init(self, id, props) - - self.icon = self.states[1].icon - self.active = self.states[1].active - self.current_state_index = 1 - self.on_click = function() - local new_state = self.states[self.current_state_index + 1] or self.states[1] - local new_value = new_state.value - if self.owner == 'uosc' then - if type(options[self.prop]) == 'number' then - options[self.prop] = tonumber(new_value) or 0 - else - options[self.prop] = yes_no_to_boolean(new_value) - end - handle_options({[self.prop] = options[self.prop]}) - elseif self.owner then - mp.commandv('script-message-to', self.owner, 'set', self.prop, new_value) - elseif is_state_prop then - set_state(self.prop, yes_no_to_boolean(new_value)) - else - mp.set_property(self.prop, new_value) - end - end - - local function handle_change(name, value) - -- Removes unnecessary floating point digits from values like `2.00000`. - -- This happens when observing properties like `speed`. - if type(value) == 'string' and string.match(value, '^[%+%-]?%d+%.%d+$') then - value = tonumber(value) - end - - value = type(value) == 'boolean' and (value and 'yes' or 'no') or tostring(value or '') - local index = itable_find(self.states, function(state) return state.value == value end) - self.current_state_index = index or 1 - self.icon = self.states[self.current_state_index].icon - self.active = self.states[self.current_state_index].active - request_render() - end - - local prop_parts = split(self.prop, '@') - if #prop_parts == 2 then -- External prop with a script owner - self.prop, self.owner = prop_parts[1], prop_parts[2] - if self.owner == 'uosc' then - self['on_options'] = function() handle_change(self.prop, options[self.prop]) end - handle_change(self.prop, options[self.prop]) - else - self['on_external_prop_' .. self.prop] = function(_, value) handle_change(self.prop, value) end - handle_change(self.prop, external[self.prop]) - end - elseif is_state_prop then -- uosc's state props - self['on_prop_' .. self.prop] = function(self, value) handle_change(self.prop, value) end - handle_change(self.prop, state[self.prop]) - else - self:observe_mp_property(self.prop, 'string', handle_change) - end -end - -return CycleButton diff --git a/scripts/uosc/elements/Element.lua b/scripts/uosc/elements/Element.lua deleted file mode 100644 index 03656d8..0000000 --- a/scripts/uosc/elements/Element.lua +++ /dev/null @@ -1,265 +0,0 @@ ----@alias ElementProps {enabled?: boolean; render_order?: number; ax?: number; ay?: number; bx?: number; by?: number; ignores_curtain?: boolean; anchor_id?: string;} - --- Base class all elements inherit from. ----@class Element : Class -local Element = class() - ----@param id string ----@param props? ElementProps -function Element:init(id, props) - self.id = id - self.render_order = 1 - -- `false` means element won't be rendered, or receive events - self.enabled = true - -- Element coordinates - self.ax, self.ay, self.bx, self.by = 0, 0, 0, 0 - -- Relative proximity from `0` - mouse outside `proximity_max` range, to `1` - mouse within `proximity_min` range. - self.proximity = 0 - -- Raw proximity in pixels. - self.proximity_raw = math.huge - ---@type number `0-1` factor to force min visibility. Used for toggling element's permanent visibility. - self.min_visibility = 0 - ---@type number `0-1` factor to force a visibility value. Used for flashing, fading out, and other animations - self.forced_visibility = nil - ---@type boolean Show this element even when curtain is visible. - self.ignores_curtain = false - ---@type nil|string ID of an element from which this one should inherit visibility. - self.anchor_id = nil - ---@type fun()[] Disposer functions called when element is destroyed. - self._disposers = {} - ---@type table> Namespaced active key bindings. Default namespace is `_`. - self._key_bindings = {} - - if props then table_assign(self, props) end - - -- Flash timer - self._flash_out_timer = mp.add_timeout(options.flash_duration / 1000, function() - local function getTo() return self.proximity end - local function onTweenEnd() self.forced_visibility = nil end - if self.enabled then - self:tween_property('forced_visibility', self:get_visibility(), getTo, onTweenEnd) - else - onTweenEnd() - end - end) - self._flash_out_timer:kill() - - Elements:add(self) -end - -function Element:destroy() - self:dispose() - self.destroyed = true - self:remove_key_bindings() - Elements:remove(self) -end - --- Calls all disposers registered for this element (usually mpv events/prop observers). -function Element:dispose() - for _, disposer in ipairs(self._disposers) do disposer() end -end - -function Element:reset_proximity() self.proximity, self.proximity_raw = 0, math.huge end - ----@param ax number ----@param ay number ----@param bx number ----@param by number -function Element:set_coordinates(ax, ay, bx, by) - self.ax, self.ay, self.bx, self.by = ax, ay, bx, by - Elements:update_proximities() - self:maybe('on_coordinates') -end - -function Element:update_proximity() - if cursor.hidden then - self:reset_proximity() - else - local range = options.proximity_out - options.proximity_in - self.proximity_raw = get_point_to_rectangle_proximity(cursor, self) - self.proximity = 1 - (clamp(0, self.proximity_raw - options.proximity_in, range) / range) - end -end - -function Element:is_persistent() - local persist = config[self.id .. '_persistency'] - return persist and ( - (persist.audio and state.is_audio) - or ( - persist.paused and state.pause - and (not Elements.timeline or not Elements.timeline.pressed or Elements.timeline.pressed.pause) - ) - or (persist.video and state.is_video) - or (persist.image and state.is_image) - or (persist.idle and state.is_idle) - or (persist.windowed and not state.fullormaxed) - or (persist.fullscreen and state.fullormaxed) - ) -end - --- Decide elements visibility based on proximity and various other factors -function Element:get_visibility() - -- Hide when curtain is visible, unless this elements ignores it - local min_order = (Elements.curtain.opacity > 0 and not self.ignores_curtain) and Elements.curtain.render_order or 0 - if self.render_order < min_order then return 0 end - - -- Persistency - if self:is_persistent() then return 1 end - - -- Forced visibility - if self.forced_visibility then return math.max(self.forced_visibility, self.min_visibility) end - - -- Anchor inheritance - -- If anchor returns -1, it means all attached elements should force hide. - local anchor = self.anchor_id and Elements[self.anchor_id] - local anchor_visibility = anchor and anchor:get_visibility() or 0 - - return anchor_visibility == -1 and 0 or math.max(self.proximity, anchor_visibility, self.min_visibility) -end - --- Call method if it exists -function Element:maybe(name, ...) - if self[name] then return self[name](self, ...) end -end - --- Attach a tweening animation to this element ----@param from number ----@param to number|fun():number ----@param setter fun(value: number) ----@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. ----@param callback? fun() Called either on animation end, or when animation is killed. -function Element:tween(from, to, setter, duration_or_callback, callback) - self:tween_stop() - self._kill_tween = self.enabled and tween( - from, to, setter, duration_or_callback, - function() - self._kill_tween = nil - if callback then callback() end - end - ) -end - -function Element:is_tweening() return self and self._kill_tween end -function Element:tween_stop() self:maybe('_kill_tween') end - --- Animate an element property between 2 values. ----@param prop string ----@param from number ----@param to number|fun():number ----@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. ----@param callback? fun() Called either on animation end, or when animation is killed. -function Element:tween_property(prop, from, to, duration_or_callback, callback) - self:tween(from, to, function(value) self[prop] = value end, duration_or_callback, callback) -end - ----@param name string -function Element:trigger(name, ...) - local result = self:maybe('on_' .. name, ...) - request_render() - return result -end - --- Briefly flashes the element for `options.flash_duration` milliseconds. --- Useful to visualize changes of volume and timeline when changed via hotkeys. -function Element:flash() - if self.enabled and options.flash_duration > 0 and (self.proximity < 1 or self._flash_out_timer:is_enabled()) then - self:tween_stop() - self.forced_visibility = 1 - request_render() - self._flash_out_timer.timeout = options.flash_duration / 1000 - self._flash_out_timer:kill() - self._flash_out_timer:resume() - end -end - --- Register disposer to be called when element is destroyed. ----@param disposer fun() -function Element:register_disposer(disposer) - if not itable_index_of(self._disposers, disposer) then - self._disposers[#self._disposers + 1] = disposer - end -end - --- Automatically registers disposer for the passed callback. ----@param event string ----@param callback fun() -function Element:register_mp_event(event, callback) - mp.register_event(event, callback) - self:register_disposer(function() mp.unregister_event(callback) end) -end - --- Automatically registers disposer for the observer. ----@param name string ----@param type_or_callback string|fun(name: string, value: any) ----@param callback_maybe nil|fun(name: string, value: any) -function Element:observe_mp_property(name, type_or_callback, callback_maybe) - local callback = type(type_or_callback) == 'function' and type_or_callback or callback_maybe - local prop_type = type(type_or_callback) == 'string' and type_or_callback or 'native' - mp.observe_property(name, prop_type, callback) - self:register_disposer(function() mp.unobserve_property(callback) end) -end - --- Adds a keybinding for the lifetime of the element, or until removed manually. ----@param key string mpv key identifier. ----@param fnFlags fun()|string|table Callback, or `{callback, flags}` tuple. Callback can be just a method name, in which case it'll be wrapped in `create_action(callback)`. ----@param namespace? string Keybinding namespace. Default is `_`. -function Element:add_key_binding(key, fnFlags, namespace) - local name = self.id .. '-' .. key - local isTuple = type(fnFlags) == 'table' - local fn = (isTuple and fnFlags[1] or fnFlags) - local flags = isTuple and fnFlags[2] or nil - namespace = namespace or '_' - local names = self._key_bindings[namespace] - if not names then - names = {} - self._key_bindings[namespace] = names - end - names[name] = true - if type(fn) == 'string' then - fn = self:create_action(fn) - end - mp.add_forced_key_binding(key, name, fn, flags) -end - --- Remove all or only keybindings belonging to a specific namespace. ----@param namespace? string Optional keybinding namespace to remove. -function Element:remove_key_bindings(namespace) - local namespaces = namespace and {namespace} or table_keys(self._key_bindings) - for _, namespace in ipairs(namespaces) do - local names = self._key_bindings[namespace] - if names then - for name, _ in pairs(names) do - mp.remove_key_binding(name) - end - self._key_bindings[namespace] = nil - end - end -end - --- Checks if there are any (at all or namespaced) keybindings for this element. ----@param namespace? string Only check this namespace. -function Element:has_keybindings(namespace) - if namespace then - return self._key_bindings[namespace] ~= nil - else - return #table_keys(self._key_bindings) > 0 - end -end - --- Check if element is not destroyed or otherwise disabled. --- Intended to be overridden by inheriting elements to add more checks. -function Element:is_alive() return not self.destroyed end - --- Wraps a function into a callback that won't run if element is destroyed or otherwise disabled. ----@param fn fun(...)|string Function or a name of a method on this class to call. -function Element:create_action(fn) - if type(fn) == 'string' then - local method = fn - fn = function(...) self[method](self, ...) end - end - return function(...) - if self:is_alive() then fn(...) end - end -end - -return Element diff --git a/scripts/uosc/elements/Elements.lua b/scripts/uosc/elements/Elements.lua deleted file mode 100644 index 86568a0..0000000 --- a/scripts/uosc/elements/Elements.lua +++ /dev/null @@ -1,152 +0,0 @@ -local Elements = {_all = {}} - ----@param element Element -function Elements:add(element) - if not element.id then - msg.error('attempt to add element without "id" property') - return - end - - if self:has(element.id) then Elements:remove(element.id) end - - self._all[#self._all + 1] = element - self[element.id] = element - - -- Sort by render order - table.sort(self._all, function(a, b) return a.render_order < b.render_order end) - - request_render() -end - -function Elements:remove(idOrElement) - if not idOrElement then return end - local id = type(idOrElement) == 'table' and idOrElement.id or idOrElement - local element = Elements[id] - if element then - if not element.destroyed then element:destroy() end - element.enabled = false - self._all = itable_delete_value(self._all, self[id]) - self[id] = nil - request_render() - end -end - -function Elements:update_proximities() - local curtain_render_order = Elements.curtain.opacity > 0 and Elements.curtain.render_order or 0 - local mouse_leave_elements = {} - local mouse_enter_elements = {} - - -- Calculates proximities for all elements - for _, element in self:ipairs() do - if element.enabled then - local previous_proximity_raw = element.proximity_raw - - -- If curtain is open, we disable all elements set to rendered below it - if not element.ignores_curtain and element.render_order < curtain_render_order then - element:reset_proximity() - else - element:update_proximity() - end - - if element.proximity_raw == 0 then - -- Mouse entered element area - if previous_proximity_raw ~= 0 then - mouse_enter_elements[#mouse_enter_elements + 1] = element - end - else - -- Mouse left element area - if previous_proximity_raw == 0 then - mouse_leave_elements[#mouse_leave_elements + 1] = element - end - end - end - end - - -- Trigger `mouse_leave` and `mouse_enter` events - for _, element in ipairs(mouse_leave_elements) do element:trigger('mouse_leave') end - for _, element in ipairs(mouse_enter_elements) do element:trigger('mouse_enter') end -end - --- Toggles passed elements' min visibilities between 0 and 1. ----@param ids string[] IDs of elements to peek. -function Elements:toggle(ids) - local has_invisible = itable_find(ids, function(id) - return Elements[id] and Elements[id].enabled and (Elements[id].min_visibility or 0) ~= 1 - end) - - self:set_min_visibility(has_invisible and 1 or 0, ids) - - -- Reset proximities when toggling off. Has to happen after `set_min_visibility`, - -- as that is using proximity as a tween starting point. - if not has_invisible then - for _, id in ipairs(ids) do - if Elements[id] then Elements[id]:reset_proximity() end - end - end -end - --- Set (animate) elements' min visibilities to passed value. ----@param visibility number 0-1 floating point. ----@param ids string[] IDs of elements to peek. -function Elements:set_min_visibility(visibility, ids) - for _, id in ipairs(ids) do - local element = Elements[id] - if element then - local from = math.max(0, element:get_visibility()) - element:tween_property('min_visibility', from, visibility) - end - end -end - --- Flash passed elements. ----@param ids string[] IDs of elements to peek. -function Elements:flash(ids) - local elements = itable_filter(self._all, function(element) return itable_has(ids, element.id) end) - for _, element in ipairs(elements) do element:flash() end - - -- Special case for 'progress' since it's a state of timeline, not an element - if itable_has(ids, 'progress') and not itable_has(ids, 'timeline') then - Elements:maybe('timeline', 'flash_progress') - end -end - ----@param name string Event name. -function Elements:trigger(name, ...) - for _, element in self:ipairs() do element:trigger(name, ...) end -end - --- Trigger two events, `name` and `global_name`, depending on element-cursor proximity. --- Disabled elements don't receive these events. ----@param name string Event name. -function Elements:proximity_trigger(name, ...) - for i = #self._all, 1, -1 do - local element = self._all[i] - if element.enabled then - if element.proximity_raw == 0 then - if element:trigger(name, ...) == 'stop_propagation' then break end - end - if element:trigger('global_' .. name, ...) == 'stop_propagation' then break end - end - end -end - --- Returns a property of an element with a passed `id` if it exists, with an optional fallback. ----@param id string ----@param prop string ----@param fallback any -function Elements:v(id, prop, fallback) - if self[id] and self[id].enabled and self[id][prop] ~= nil then return self[id][prop] end - return fallback -end - --- Calls a method on an element with passed `id` if it exists. ----@param id string ----@param method string -function Elements:maybe(id, method, ...) - if self[id] then return self[id]:maybe(method, ...) end -end - -function Elements:has(id) return self[id] ~= nil end -function Elements:ipairs() return ipairs(self._all) end - -return Elements diff --git a/scripts/uosc/elements/ManagedButton.lua b/scripts/uosc/elements/ManagedButton.lua deleted file mode 100644 index e36bf59..0000000 --- a/scripts/uosc/elements/ManagedButton.lua +++ /dev/null @@ -1,36 +0,0 @@ -local Button = require('elements/Button') - ----@alias ManagedButtonProps {name: string; anchor_id?: string; render_order?: number; hide?: boolean} - ----@class ManagedButton : Button -local ManagedButton = class(Button) - ----@param id string ----@param props ManagedButtonProps -function ManagedButton:new(id, props) return Class.new(self, id, props) --[[@as ManagedButton]] end ----@param id string ----@param props ManagedButtonProps -function ManagedButton:init(id, props) - ---@type string | table | nil - self.command = nil - ---@type boolean - self.hide = nil - ---@type fun(hide: boolean) | nil - self.on_hide = nil - Button.init(self, id, table_assign({}, props, {on_click = function() execute_command(self.command) end})) - self:update(buttons:get(props.name)) - self:register_disposer(buttons:subscribe(props.name, function(data) self:update(data) end)) -end - -function ManagedButton:update(data) - local hide_before = self.hide - for _, prop in ipairs({'icon', 'active', 'badge', 'command', 'tooltip', 'hide'}) do - self[prop] = data[prop] - end - self.is_clickable = self.command ~= nil - if self.hide ~= hide_before and self.on_hide then - self.on_hide(self.hide) - end -end - -return ManagedButton diff --git a/scripts/uosc/elements/Menu.lua b/scripts/uosc/elements/Menu.lua deleted file mode 100644 index 68d3813..0000000 --- a/scripts/uosc/elements/Menu.lua +++ /dev/null @@ -1,1833 +0,0 @@ -local Element = require('elements/Element') - ----@alias MenuAction {name: string; icon: string; label?: string; filter_hidden?: boolean;} - --- Menu data structure accepted by `Menu:open(menu)`. ----@alias MenuData {id?: string; type?: string; title?: string; hint?: string; footnote: string; search_style?: 'on_demand' | 'palette' | 'disabled'; item_actions?: MenuAction[]; item_actions_place?: 'inside' | 'outside'; callback?: string[]; keep_open?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; items?: MenuDataChild[]; selected_index?: integer; on_search?: string|string[]; on_paste?: string|string[]; on_move?: string|string[]; on_close?: string|string[]; search_debounce?: number|string; search_submenus?: boolean; search_suggestion?: string; search_submit?: boolean; bind_keys?: string[]} ----@alias MenuDataChild MenuDataItem|MenuData ----@alias MenuDataItem {title?: string; hint?: string; icon?: string; value: any; actions?: MenuAction[]; actions_place?: 'inside' | 'outside'; active?: boolean; keep_open?: boolean; selectable?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'} ----@alias MenuOptions {mouse_nav?: boolean;} - --- Internal data structure created from `MenuData`. ----@alias MenuStack {id?: string; type?: string; title?: string; hint?: string; footnote: string; search_style?: 'on_demand' | 'palette' | 'disabled'; item_actions?: MenuAction[]; item_actions_place?: 'inside' | 'outside'; callback?: string[]; selected_index?: number; action_index?: number; keep_open?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; items: MenuStackChild[]; on_search?: string|string[]; on_paste?: string|string[]; on_move?: string|string[]; on_close?: string|string[]; search_debounce?: number|string; search_submenus?: boolean; search_suggestion?: string; search_submit?: boolean; bind_keys?: string[]; parent_menu?: MenuStack; submenu_path: integer[]; active?: boolean; width: number; height: number; top: number; scroll_y: number; scroll_height: number; title_width: number; hint_width: number; max_width: number; is_root?: boolean; fling?: Fling, search?: Search, ass_safe_title?: string} ----@alias MenuStackChild MenuStackItem|MenuStack ----@alias MenuStackItem {title?: string; hint?: string; icon?: string; value: any; actions?: MenuAction[]; actions_place?: 'inside' | 'outside'; active?: boolean; keep_open?: boolean; selectable?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; title_width: number; hint_width: number; ass_safe_hint?: string} ----@alias Fling {y: number, distance: number, time: number, easing: fun(x: number), duration: number, update_cursor?: boolean} ----@alias Search {query: string; cursor: number; timeout: unknown; min_top: number; max_width: number; source: {width: number; top: number; scroll_y: number; selected_index?: integer; items?: MenuStackChild[]}} - ----@alias MenuEventActivate {type: 'activate'; index: number; value: any; action?: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean; is_pointer: boolean; keep_open?: boolean; menu_id: string;} ----@alias MenuEventMove {type: 'move'; from_index: number; to_index: number; menu_id: string;} ----@alias MenuEventSearch {type: 'search'; query: string; menu_id: string;} ----@alias MenuEventKey {type: 'key'; id: string; key: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean; menu_id: string; selected_item?: {index: number; value: any; action?: string;}} ----@alias MenuEventPaste {type: 'paste'; value: string; menu_id: string; selected_item?: {index: number; value: any; action?: string;}} ----@alias MenuEventBack {type: 'back';} ----@alias MenuEventClose {type: 'close';} ----@alias MenuEvent MenuEventActivate | MenuEventMove | MenuEventSearch | MenuEventKey | MenuEventPaste | MenuEventBack | MenuEventClose ----@alias MenuCallback fun(data: MenuEvent) - ----@class Menu : Element -local Menu = class(Element) - ----@param data MenuData ----@param callback MenuCallback ----@param opts? MenuOptions -function Menu:open(data, callback, opts) - local open_menu = Menu:is_open() - if open_menu then - open_menu.is_being_replaced = true - open_menu:close(true) - end - return Menu:new(data, callback, opts) -end - ----@param menu_type? string ----@return Menu|nil -function Menu:is_open(menu_type) - return Elements.menu and (not menu_type or Elements.menu.type == menu_type) and Elements.menu or nil -end - ----@param immediate? boolean Close immediately without fadeout animation. ----@param callback? fun() Called after the animation (if any) ends and element is removed and destroyed. ----@overload fun(callback: fun()) -function Menu:close(immediate, callback) - if type(immediate) ~= 'boolean' then callback = immediate end - - local menu = self == Menu and Elements.menu or self - - if state.ime_active == false and mp.get_property_bool('input-ime') then - mp.set_property_bool('input-ime', false) - end - - if menu and not menu.destroyed then - if menu.is_closing then - menu:tween_stop() - return - end - - local function close() - local on_close = menu.root.on_close -- removed in menu:destroy() - Elements:remove('menu') -- calls menu:destroy() under the hood - Elements:update_proximities() - cursor:queue_autohide() - - -- Call :close() callback - if callback then callback() end - - -- Call callbacks/events defined on menu config - local close_event = {type = 'close'} - if not on_close or menu:command_or_event(on_close, {}, close_event) ~= 'event' then - menu.callback(close_event) - end - - request_render() - end - - menu.is_closing = true - - if immediate then - close() - else - menu:fadeout(close) - end - end -end - ----@param data MenuData ----@param callback MenuCallback ----@param opts? MenuOptions ----@return Menu -function Menu:new(data, callback, opts) return Class.new(self, data, callback, opts) --[[@as Menu]] end ----@param data MenuData ----@param callback MenuCallback ----@param opts? MenuOptions -function Menu:init(data, callback, opts) - Element.init(self, 'menu', {render_order = 1001}) - - -----@type fun() - self.callback = callback - self.opts = opts or {} - self.offset_x = 0 -- Used for submenu transition animation. - self.mouse_nav = self.opts.mouse_nav -- Stops pre-selecting items - self.item_height = nil - self.min_width = nil - self.item_spacing = 1 - self.item_padding = nil - self.separator_size = nil - self.padding = nil - self.gap = nil - self.font_size = nil - self.font_size_hint = nil - self.scroll_step = nil -- Item height + item spacing. - self.scroll_height = nil -- Items + spacings - container height. - self.opacity = 0 -- Used to fade in/out. - self.type = data.type - ---@type MenuStack Root MenuStack. - self.root = nil - ---@type MenuStack Current MenuStack. - self.current = nil - ---@type MenuStack[] All menus in a flat array. - self.all = nil - ---@type table Map of submenus by their ids, such as `'Tools > Aspect ratio'`. - self.by_id = {} - self.type_to_search = options.menu_type_to_search - self.is_being_replaced = false - self.is_closing = false - self.drag_last_y = nil - self.is_dragging = false - - if utils.shared_script_property_set then - utils.shared_script_property_set('uosc-menu-type', self.type or 'undefined') - end - mp.set_property_native('user-data/uosc/menu/type', self.type or 'undefined') - self:update(data) - - for _, menu in ipairs(self.all) do self:scroll_to_index(menu.selected_index, menu.id) end - if self.mouse_nav then self.current.selected_index = nil end - - self:tween_property('opacity', 0, 1) - self:enable_key_bindings() - Elements:maybe('curtain', 'register', self.id) - - if data.search_submit then - -- We have to defer this so that menu callbacks don't fire before the menu - -- instance we're constructing here is returned, as they might depend on it. - mp.add_timeout(0.01, function() - self:search_submit() - end) - end -end - -function Menu:destroy() - Element.destroy(self) - self.is_closing = false - if not self.is_being_replaced then Elements:maybe('curtain', 'unregister', self.id) end - if utils.shared_script_property_set then - utils.shared_script_property_set('uosc-menu-type', nil) - end - mp.set_property_native('user-data/uosc/menu/type', nil) -end - ----@param data MenuData -function Menu:update(data) - local new_root = {is_root = true, submenu_path = {}} - local new_all = {} - local new_menus = {} -- menus that didn't exist before this `update()` - local new_by_id = {} - local menus_to_serialize = {{new_root, data}} - local old_current_id = self.current and self.current.id - local menu_state_props = {'selected_index', 'action_index', 'scroll_y', 'fling', 'search'} - local internal_props_set = create_set(itable_append({'is_root', 'submenu_path', 'id', 'items'}, menu_state_props)) - - table_assign_exclude(new_root, data, internal_props_set) - - local i = 0 - while i < #menus_to_serialize do - i = i + 1 - local menu, menu_data = menus_to_serialize[i][1], menus_to_serialize[i][2] - local parent_id = menu.parent_menu and not menu.parent_menu.is_root and menu.parent_menu.id - if menu_data.id then - menu.id = menu_data.id - elseif not menu.is_root then - menu.id = (parent_id and parent_id .. ' > ' or '') .. (menu_data.title or i) - else - menu.id = '{root}' - end - menu.icon = 'chevron_right' - - -- Normalize `search_debounce` - if type(menu_data.search_debounce) == 'number' then - menu.search_debounce = math.max(0, menu_data.search_debounce --[[@as number]]) - elseif menu_data.search_debounce == 'submit' then - menu.search_debounce = 'submit' - else - menu.search_debounce = menu.on_search and 300 or 0 - end - - -- Update items - local first_active_index = nil - menu.items = { - {title = t('Empty'), value = 'ignore', italic = 'true', muted = 'true', selectable = false, align = 'center'}, - } - - for i, item_data in ipairs(menu_data.items or {}) do - if item_data.active and not first_active_index then first_active_index = i end - - local item = {} - table_assign_exclude(item, item_data, internal_props_set) - if item.keep_open == nil then item.keep_open = menu.keep_open end - - -- Submenu - if item_data.items then - item.parent_menu = menu - item.submenu_path = itable_join(menu.submenu_path, {i}) - menus_to_serialize[#menus_to_serialize + 1] = {item, item_data} - end - - menu.items[i] = item - end - - if menu.is_root then menu.selected_index = menu_data.selected_index or first_active_index end - - -- Retain old state - local old_menu = self.by_id[menu.id] - if old_menu then - table_assign_props(menu, old_menu, menu_state_props) - else - new_menus[#new_menus + 1] = menu - end - - new_all[#new_all + 1] = menu - new_by_id[menu.id] = menu - end - - self.root, self.all, self.by_id = new_root, new_all, new_by_id - self.current = self.by_id[old_current_id] or self.root - - self:update_content_dimensions() - self:reset_navigation() - - -- Ensure palette menus have active searches, and clean empty searches from menus that lost the `palette` flag - local update_dimensions_again = false - for _, menu in ipairs(self.all) do - local is_palette = menu.search_style == 'palette' - if not menu.search and (is_palette or (menu.search_suggestion and itable_index_of(new_menus, menu))) then - update_dimensions_again = true - self:search_init(menu.id) - elseif not is_palette and menu.search and menu.search.query == '' then - update_dimensions_again = true - menu.search = nil - end - end - -- We update before _and_ after because search_inits need the initial un-searched - -- menu's position and scroll state to save on the `search.source` table. - if update_dimensions_again then - self:update_content_dimensions() - self:reset_navigation() - end - -- Apply search suggestions - for _, menu in ipairs(new_menus) do - if menu.search_suggestion then - menu.search.query = menu.search_suggestion - menu.search.cursor = #menu.search_suggestion - end - end - for _, menu in ipairs(self.all) do - if menu.search then - -- the menu items are new objects and the search needs to contain those - menu.search.source.items = not menu.on_search and menu.items or nil - -- Only internal searches are immediately submitted - if not menu.on_search then self:search_internal(menu.id, true) end - end - - if menu.selected_index then self:select_by_offset(0, menu) end - end - - self:search_ensure_key_bindings() -end - ----@param items MenuDataChild[] -function Menu:update_items(items) - local data = table_assign({}, self.root) - data.items = items - self:update(data) -end - -function Menu:update_content_dimensions() - self.item_height = round(options.menu_item_height * state.scale) - self.min_width = round(options.menu_min_width * state.scale) - self.separator_size = round(1 * state.scale) - self.scrollbar_size = round(2 * state.scale) - self.padding = round(options.menu_padding * state.scale) - self.gap = round(2 * state.scale) - self.font_size = round(self.item_height * 0.48 * options.font_scale) - self.font_size_hint = self.font_size - 1 - self.item_padding = round((self.item_height - self.font_size) * 0.6) - self.scroll_step = self.item_height + self.item_spacing - - local title_opts = {size = self.font_size, italic = false, bold = false} - local hint_opts = {size = self.font_size_hint} - - for _, menu in ipairs(self.all) do - title_opts.bold, title_opts.italic = true, false - local max_width = text_width(menu.title, title_opts) + 2 * self.padding + 2 * self.item_padding - - -- Estimate width of a widest item - for _, item in ipairs(menu.items) do - local icon_width = item.icon and self.font_size or 0 - item.title_width = text_width(item.title, title_opts) - item.hint_width = text_width(item.hint, hint_opts) - local spacings_in_item = 1 + (item.title_width > 0 and 1 or 0) - + (item.hint_width > 0 and 1 or 0) + (icon_width > 0 and 1 or 0) - local estimated_width = item.title_width + item.hint_width + icon_width - + (self.item_padding * spacings_in_item) - if estimated_width > max_width then max_width = estimated_width end - end - - menu.max_width = max_width + 2 * self.padding - end - - self:update_dimensions() -end - -function Menu:update_dimensions() - -- Coordinates and sizes are of the scrollable area. Title is rendered - -- above it, so we need to account for that in max_height and ay position. - -- This is a debt from an era where we had different cursor event handling, - -- and dumb titles with no search inputs. It could use a refactor. - local margin = round(self.item_height / 2) - local external_buttons_reserve = display.width / self.item_height > 14 and self.scroll_step * 6 - margin * 2 or 0 - local width_available = display.width - margin * 2 - external_buttons_reserve - local height_available = display.height - margin * 2 - local min_width = math.min(self.min_width, width_available) - - for _, menu in ipairs(self.all) do - local width = math.max(menu.search and menu.search.max_width or 0, menu.max_width) - menu.width = round(clamp(min_width, width, width_available)) - local title_height = (menu.is_root and menu.title or menu.search) and self.scroll_step + self.padding or 0 - local footnote_height = self.font_size * 1.5 - local max_height = height_available - title_height - footnote_height - local content_height = self.scroll_step * #menu.items - menu.height = math.min(content_height - self.item_spacing, max_height) - menu.top = clamp( - title_height + margin, - menu.search and math.min(menu.search.min_top, menu.search.source.top) or height_available, - round((height_available - menu.height + title_height) / 2) - ) - if menu.search then - menu.search.min_top = math.min(menu.search.min_top, menu.top) - menu.search.max_width = math.max(menu.search.max_width, menu.width) - end - menu.scroll_height = math.max(content_height - menu.height - self.item_spacing, 0) - self:set_scroll_to(menu.scroll_y, menu.id) -- clamps scroll_y to scroll limits - end - - self:update_coordinates() -end - --- Updates element coordinates to match currently open (sub)menu. -function Menu:update_coordinates() - local ax = round((display.width - self.current.width) / 2) + self.offset_x - self:set_coordinates(ax, self.current.top, ax + self.current.width, self.current.top + self.current.height) -end - -function Menu:reset_navigation() - local menu = self.current - - -- Reset indexes and scroll - self:set_scroll_to(menu.scroll_y) -- clamps scroll_y to scroll limits - if menu.items and #menu.items > 0 then - -- Normalize existing selected_index always, and force it only in keyboard navigation - if not self.mouse_nav then - self:select_by_offset(0) - end - else - self:select_index(nil) - end - - -- Walk up the parent menu chain and activate items that lead to current menu - local parent = menu.parent_menu - while parent do - parent.selected_index = itable_index_of(parent.items, menu) - menu, parent = parent, parent.parent_menu - end - - request_render() -end - -function Menu:set_offset_x(offset) - local delta = offset - self.offset_x - self.offset_x = offset - self:set_coordinates(self.ax + delta, self.ay, self.bx + delta, self.by) -end - -function Menu:fadeout(callback) self:tween_property('opacity', 1, 0, callback) end - --- If `menu_id` is provided, will return menu with that id or `nil`. If `menu_id` is `nil`, will return current menu. ----@param menu_id? string ----@return MenuStack | nil -function Menu:get_menu(menu_id) return menu_id == nil and self.current or self.by_id[menu_id] end - -function Menu:get_first_active_index(menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - for index, item in ipairs(menu.items) do - if item.active then return index end - end -end - ----@param pos? number ----@param menu_id? string -function Menu:set_scroll_to(pos, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - menu.scroll_y = clamp(0, pos or 0, menu.scroll_height) - request_render() -end - ----@param delta? number ----@param menu_id? string -function Menu:set_scroll_by(delta, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - self:set_scroll_to(menu.scroll_y + delta, menu_id) -end - ----@param pos? number ----@param menu_id? string ----@param fling_options? table -function Menu:scroll_to(pos, menu_id, fling_options) - local menu = self:get_menu(menu_id) - if not menu then return end - menu.fling = { - y = menu.scroll_y, - distance = clamp(-menu.scroll_y, pos - menu.scroll_y, menu.scroll_height - menu.scroll_y), - time = mp.get_time(), - duration = 0.1, - easing = ease_out_sext, - } - if fling_options then table_assign(menu.fling, fling_options) end - request_render() -end - ----@param delta? number ----@param menu_id? string ----@param fling_options? Fling -function Menu:scroll_by(delta, menu_id, fling_options) - local menu = self:get_menu(menu_id) - if not menu then return end - self:scroll_to((menu.fling and (menu.fling.y + menu.fling.distance) or menu.scroll_y) + delta, menu_id, fling_options) -end - ----@param index? integer ----@param menu_id? string ----@param immediate? boolean -function Menu:scroll_to_index(index, menu_id, immediate) - local menu = self:get_menu(menu_id) - if not menu then return end - if (index and index >= 1 and index <= #menu.items) then - local position = round((self.scroll_step * (index - 1)) - ((menu.height - self.scroll_step) / 2)) - if immediate then - self:set_scroll_to(position, menu_id) - else - self:scroll_to(position, menu_id) - end - end -end - ----@param index? integer ----@param menu_id? string -function Menu:select_index(index, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - menu.selected_index = (index and index >= 1 and index <= #menu.items) and index or nil - self:select_action(menu.action_index, menu_id) -- normalize selected action index - request_render() -end - ----@param index? integer ----@param menu_id? string -function Menu:select_action(index, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local actions = menu.items[menu.selected_index] and menu.items[menu.selected_index].actions or menu.item_actions - if not index or not actions or type(actions) ~= 'table' or index < 1 or index > #actions then - menu.action_index = nil - return - end - menu.action_index = index - request_render() -end - ----@param delta? integer ----@param menu_id? string -function Menu:navigate_action(delta, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local actions = menu.items[menu.selected_index] and menu.items[menu.selected_index].actions or menu.item_actions - if actions and delta ~= 0 then - -- Circular navigation where zero gets converted to nil - local index = (menu.action_index or (delta > 0 and 0 or #actions + 1)) + delta - self:select_action(index <= #actions and index > 0 and (index - 1) % #actions + 1 or nil, menu_id) - else - self:select_action(nil, menu_id) - end - request_render() -end - -function Menu:next_action() self:navigate_action(1) end -function Menu:prev_action() self:navigate_action(-1) end - ----@param value? any ----@param menu_id? string -function Menu:select_value(value, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local index = itable_find(menu.items, function(item) return item.value == value end) - self:select_index(index) -end - ----@param menu_id? string -function Menu:deactivate_items(menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - for _, item in ipairs(menu.items) do item.active = false end - request_render() -end - ----@param index? integer ----@param menu_id? string -function Menu:activate_index(index, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - if index and index >= 1 and index <= #menu.items then menu.items[index].active = true end - request_render() -end - ----@param value? any ----@param menu_id? string -function Menu:activate_value(value, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local index = itable_find(menu.items, function(item) return item.value == value end) - self:activate_index(index, menu_id) -end - ----@param value? any ----@param menu_id? string -function Menu:activate_one_value(value, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local index = itable_find(menu.items, function(item) return item.value == value end) - self:activate_index(index, menu_id) -end - ----@param id string One of menus in `self.all`. -function Menu:activate_menu(id) - local menu = self:get_menu(id) - if menu then - self.current = menu - self:update_coordinates() - self:reset_navigation() - self:search_ensure_key_bindings() - local parent = menu.parent_menu - while parent do - parent.selected_index = itable_index_of(parent.items, menu) - self:scroll_to_index(parent.selected_index, parent) - menu, parent = parent, parent.parent_menu - end - request_render() - end -end - ----@param index? integer ----@param menu_id? string -function Menu:delete_index(index, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - if (index and index >= 1 and index <= #menu.items) then - table.remove(menu.items, index) - self:update_content_dimensions() - self:scroll_to_index(menu.selected_index, menu_id) - end -end - ----@param value? any ----@param menu_id? string -function Menu:delete_value(value, menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - local index = itable_find(menu.items, function(item) return item.value == value end) - self:delete_index(index) -end - ----@param id string Menu id. ----@param x number `x` coordinate to slide from. -function Menu:slide_in_menu(id, x) - local menu = self:get_menu(id) - if not menu then return end - self:activate_menu(id) - self:tween(-(display.width / 2 - menu.width / 2 - x), 0, function(offset) self:set_offset_x(offset) end) - self.opacity = 1 -- in case tween above canceled fade in animation -end - -function Menu:back() - if not self:is_alive() then return end - - local current = self.current - local parent = current.parent_menu - - if parent then - self:slide_in_menu(parent.id, display.width / 2 - current.width / 2 - parent.width / 2 + self.offset_x) - else - self.callback({type = 'back'}) - end -end - ----@param shortcut? Shortcut ----@param is_pointer? boolean Whether this was called by a pointer. -function Menu:activate_selected_item(shortcut, is_pointer) - local menu = self.current - local item = menu.items[menu.selected_index] - if item then - -- Is submenu - if item.items then - if not self.mouse_nav then - self:select_index(1, item.id) - end - self:activate_menu(item.id) - self:tween(self.offset_x + menu.width / 2, 0, function(offset) self:set_offset_x(offset) end) - self.opacity = 1 -- in case tween above canceled fade in animation - else - local actions = item.actions or menu.item_actions - local action = actions and actions[menu.action_index] - self.callback({ - type = 'activate', - index = menu.selected_index, - value = item.value, - is_pointer = is_pointer == true, - action = action and action.name, - keep_open = item.keep_open or menu.keep_open, - modifiers = shortcut and shortcut.modifiers or nil, - alt = shortcut and shortcut.alt or false, - ctrl = shortcut and shortcut.ctrl or false, - shift = shortcut and shortcut.shift or false, - menu_id = menu.id, - }) - end - end -end - ----@param index integer -function Menu:move_selected_item_to(index) - if self.current.search then return end -- Moving filtered items is an undefined behavior - local callback = self.current.on_move - local from, items_count = self.current.selected_index, self.current.items and #self.current.items or 0 - if callback and from and from ~= index and index >= 1 and index <= items_count then - local event = {type = 'move', from_index = from, to_index = index, menu_id = self.current.id} - self:command_or_event(callback, {from, index, self.current.id}, event) - self:select_index(index, self.current.id) - self:scroll_to_index(index, self.current.id, true) - end -end - ----@param delta number -function Menu:move_selected_item_by(delta) - local current_index, items_count = self.current.selected_index, self.current.items and #self.current.items or 0 - if current_index and items_count > 1 then - local new_index = clamp(1, current_index + delta, items_count) - if current_index ~= new_index then - self:move_selected_item_to(new_index) - end - end -end - -function Menu:on_display() self:update_dimensions() end -function Menu:on_prop_fullormaxed() self:update_content_dimensions() end -function Menu:on_options() self:update_content_dimensions() end - -function Menu:handle_cursor_down() - if self.proximity_raw == 0 then - self.drag_last_y = cursor.y - self.current.fling = nil - else - self:close() - end -end - ----@param shortcut? Shortcut -function Menu:handle_cursor_up(shortcut) - if self.proximity_raw == 0 and self.drag_last_y and not self.is_dragging then - self:activate_selected_item(shortcut, true) - end - if self.is_dragging then - local distance = cursor:get_velocity().y / -3 - if math.abs(distance) > 50 then - self.current.fling = { - y = self.current.scroll_y, - distance = distance, - time = cursor.history:head().time, - easing = ease_out_quart, - duration = 0.5, - update_cursor = true, - } - request_render() - end - end - self.is_dragging = false - self.drag_last_y = nil -end - -function Menu:on_global_mouse_move() - self.mouse_nav = true - if self.drag_last_y then - self.is_dragging = self.is_dragging or math.abs(cursor.y - self.drag_last_y) >= 10 - if self.is_dragging then - local distance = self.drag_last_y - cursor.y - if distance ~= 0 then self:set_scroll_by(distance) end - self.drag_last_y = cursor.y - end - end - request_render() -end - -function Menu:handle_wheel_up() self:scroll_by(self.scroll_step * -3, nil, {update_cursor = true}) end -function Menu:handle_wheel_down() self:scroll_by(self.scroll_step * 3, nil, {update_cursor = true}) end - ----@param offset integer ----@param menu? MenuStack -function Menu:select_by_offset(offset, menu) - menu = menu or self.current - - -- Blur selected_index when navigating off bounds and submittable search is active. - -- Blurred selected_index is an implied focused input, so enter can submit it. - if menu.search and menu.search_debounce == 'submit' and ( - (menu.selected_index == 1 and offset < 0) or (menu.selected_index == #menu.items and offset > 0) - ) then - self:select_index(nil, menu.id) - else - local index = clamp(1, (menu.selected_index or offset >= 0 and 0 or #menu.items + 1) + offset, #menu.items) - local prev_index = itable_find(menu.items, function(item) return item.selectable ~= false end, index, 1) - local next_index = itable_find(menu.items, function(item) return item.selectable ~= false end, index) - if prev_index and next_index then - if offset == 0 then - self:select_index(index - prev_index <= next_index - index and prev_index or next_index, menu.id) - elseif offset > 0 then - self:select_index(next_index, menu.id) - else - self:select_index(prev_index, menu.id) - end - else - self:select_index(prev_index or next_index or nil, menu.id) - end - end - - request_render() -end - ----@param offset integer ----@param immediate? boolean -function Menu:navigate_by_items(offset, immediate) - self:select_by_offset(offset) - if self.current.selected_index then - self:scroll_to_index(self.current.selected_index, self.current.id, immediate) - end -end - ----@param offset integer ----@param immediate? boolean -function Menu:navigate_by_page(offset, immediate) - local items_per_page = round((self.current.height / self.scroll_step) * 0.4) - self:navigate_by_items(items_per_page * offset, immediate) -end - -function Menu:paste() - local menu = self.current - local payload = get_clipboard() - if not payload then return end - if menu.search then - self:search_query_insert(payload) - elseif menu.on_paste then - local selected_item = menu.items and menu.selected_index and menu.items[menu.selected_index] - local actions = selected_item and selected_item.actions or menu.item_actions - local selected_action = actions and menu.action_index and actions[menu.action_index] - self:command_or_event(menu.on_paste, {payload, menu.id}, { - type = 'paste', - value = payload, - menu_id = menu.id, - selected_item = selected_item and { - index = menu.selected_index, value = selected_item.value, action = selected_action, - }, - }) - elseif menu.search_style ~= 'disabled' then - self:search_start(menu.id) - self:search_query_replace(payload, menu.id) - end -end - ----@param menu_id string ----@param no_select_first? boolean -function Menu:search_internal(menu_id, no_select_first) - local menu = self:get_menu(menu_id) - if not menu then return end - local query = menu.search.query:lower() - if query == '' then - -- Reset menu state to what it was before search - for key, value in pairs(menu.search.source) do menu[key] = value end - else - -- Inherit `search_submenus` from parent menus - local search_submenus, parent_menu = menu.search_submenus, menu.parent_menu - while not search_submenus and parent_menu do - search_submenus, parent_menu = parent_menu.search_submenus, parent_menu.parent_menu - end - menu.items = search_items(menu.search.source.items, query, search_submenus) - -- Select 1st item in search results - if not no_select_first then - menu.scroll_y = 0 - self:select_index(1, menu_id) - end - end - self:update_content_dimensions() -end - ----@param items MenuStackChild[] ----@param query string ----@param recursive? boolean ----@param prefix? string ----@return MenuStackChild[] -function search_items(items, query, recursive, prefix) - local result = {} - local haystacks = {} - local flat_items = {} - local concat = table.concat - local romanization = need_romanization() - - for _, item in ipairs(items) do - if item.selectable ~= false then - local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title - haystacks[#haystacks + 1] = item.title - flat_items[#flat_items + 1] = item - - if item.items and recursive then - itable_append(result, search_items(item.items, query, recursive, prefixed_title)) - end - end - end - - local seen = {} - - local fuzzy = fzy.filter(query, haystacks, false) - for _, match in ipairs(fuzzy) do - local idx, positions, score = match[1], match[2], match[3] - local matched_title = haystacks[idx] - local item = flat_items[idx] - local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title - - if item.selectable ~= false and not (item.items and recursive) and not seen[item] then - local bold = item.bold or options.font_bold - local font_color = item.active and fgt or bgt - local ass_safe_title = highlight_match(matched_title, positions, font_color, bold) or nil - local new_item = table_assign({}, item) - new_item.title = prefixed_title - new_item.ass_safe_title = prefix and prefix .. ' / ' .. (ass_safe_title or '') or ass_safe_title - new_item.score = score - result[#result + 1] = new_item - seen[item] = true - end - end - - for _, item in ipairs(items) do - local title = item.title and item.title:lower() - local hint = item.hint and item.hint:lower() - local bold = item.bold or options.font_bold - local font_color = item.active and fgt or bgt - local ass_safe_title = nil - local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title - if item.selectable ~= false and not (item.items and recursive) and not seen[item] then - local score = 0 - local match = false - - if title and romanization then - local ligature_conv_title, ligature_roman = char_conv(title, true) - local initials_arr_conv, initials_roman = char_conv(title, false) - local initials_conv_title = concat(initials(initials_arr_conv)) - if ligature_conv_title:find(query, 1, true) then - match = true - score = 1000 - local pos = get_roman_match_positions(title, query, "ligature", ligature_roman) - if pos then - ass_safe_title = highlight_match(item.title, pos, font_color, bold) - end - elseif initials_conv_title:find(query, 1, true) then - match = true - score = 900 - local pos = get_roman_match_positions(title, query, "initial", initials_roman) - if pos then - ass_safe_title = highlight_match(item.title, pos, font_color, bold) - end - end - end - - if hint and not match then - if hint:find(query, 1, true) then - match = true - score = 100 - elseif concat(initials(hint)):find(query, 1, true) then - match = true - score = 90 - end - end - - if match then - local new_item = table_assign({}, item) - new_item.title = prefixed_title - new_item.ass_safe_title = prefix and prefix .. ' / ' .. (ass_safe_title or '') or ass_safe_title - new_item.score = score - result[#result + 1] = new_item - end - end - end - - table.sort(result, function(a, b) return a.score > b.score end) - - return result -end - ----@param menu_id? string -function Menu:search_submit(menu_id) - local menu = self:get_menu(menu_id) - if not menu or not menu.search then return end - local callback, query = menu.on_search, menu.search.query - if callback then - self:command_or_event(callback, {query, menu.id}, {type = 'search', query = query, menu_id = menu.id}) - else - self:search_internal(menu.id) - end -end - --- Move search query cursor by an amount. ----@param amount number `<0` for left, `>0` for right. ----@param word_mode? boolean Move by words/segments. Overwrites amount, but respects its direction. -function Menu:search_cursor_move(amount, word_mode) - local menu = self:get_menu() - if not menu or not menu.search then return end - local query, cursor = menu.search.query, menu.search.cursor - if word_mode then - menu.search.cursor = find_string_segment_bound(query, cursor, amount) + (amount < 0 and -1 or 0) - else - local move = amount > 0 and utf8_next or utf8_prev - local step_count = 0 - local limit = math.abs(amount) - - while step_count < limit do - local next_cursor = move(query, cursor) - if next_cursor == cursor then break end - cursor = next_cursor - step_count = step_count + 1 - end - - menu.search.cursor = clamp(0, cursor, #query) - end - request_render() -end - ----@param query string ----@param menu_id? string ----@param immediate? boolean -function Menu:search_query_replace(query, menu_id, immediate) - local menu = self:get_menu(menu_id) - if not menu or not menu.search then return end - menu.search.query = query - menu.search.cursor = #query - self:search_trigger(menu_id, immediate) -end - --- Insert string into search query at cursor. ----@param str string ----@param menu_id? string -function Menu:search_query_insert(str, menu_id) - local menu = self:get_menu(menu_id) - if not menu or not menu.search then return end - local query, cursor = menu.search.query, menu.search.cursor - local head, tail = string.sub(query, 1, cursor), string.sub(query, cursor + 1) - menu.search.query = head .. str .. tail - menu.search.cursor = cursor + #str - self:search_trigger(menu_id) -end - --- Trigger menu search callbacks, should be called after any query changes. -function Menu:search_trigger(menu_id, immediate) - local menu = self:get_menu(menu_id) - if not menu or not menu.search then return end - if menu.search_debounce ~= 'submit' then - if menu.search.timeout then menu.search.timeout:kill() end - if menu.search.timeout and not immediate then - menu.search.timeout:resume() - else - self:search_submit(menu_id) - end - else - -- `search_debounce='submit'` behavior: We blur selected item when query - -- changes to let [enter] key submit searches instead of activating items. - self:select_index(nil, menu.id) - end - request_render() -end - ----@param event? string ----@param word_mode? boolean Delete by words. -function Menu:search_query_backspace(event, word_mode) - local search = self.current.search - if not search then return end - - local cursor, old_query = search.cursor, search.query - local head, tail = string.sub(old_query, 1, cursor), string.sub(old_query, cursor + 1) - - if word_mode then - cursor = find_string_segment_bound(head, cursor, -1) - 1 - elseif cursor > 0 then - -- The while loop is for skipping utf8 continuation bytes - while cursor > 1 and old_query:byte(cursor) >= 0x80 and old_query:byte(cursor) <= 0xbf do - cursor = cursor - 1 - end - cursor = cursor - 1 - end - - local new_query = head:sub(1, cursor) .. tail - if new_query ~= old_query then - search.query = new_query - search.cursor = math.max(0, cursor) - self:search_trigger() - end - - if #new_query == 0 then - local is_palette = self.current.search_style == 'palette' - if not is_palette and self.type_to_search then - self:search_cancel() - elseif is_palette and event ~= 'repeat' then - self:back() - end - end -end - ----@param event? string ----@param word_mode? boolean Delete by words. -function Menu:search_query_delete(event, word_mode) - local search = self.current.search - if not search then return end - - local cursor, old_query = search.cursor, search.query - local head, tail = string.sub(old_query, 1, cursor), string.sub(old_query, cursor + 1) - local tail_cursor = 1 - - if word_mode then - tail_cursor = find_string_segment_bound(tail, 0, 1) + 1 - else - -- The while loop is for skipping utf8 continuation bytes - while tail_cursor < #tail and tail:byte(tail_cursor) >= 0x80 and tail:byte(tail_cursor) <= 0xbf do - tail_cursor = tail_cursor + 1 - end - tail_cursor = tail_cursor + 1 - end - - local new_query = head .. tail:sub(tail_cursor) - if new_query ~= old_query then - search.query = new_query - search.cursor = #head - self:search_trigger() - end - - if #new_query == 0 then - local is_palette = self.current.search_style == 'palette' - if not is_palette and self.type_to_search then - self:search_cancel() - elseif is_palette and event ~= 'repeat' then - self:back() - end - end -end - -function Menu:search_text_input(info) - local menu = self.current - if not menu.search and menu.search_style == 'disabled' then return end - if info.event ~= 'up' then - local key_text = info.key_text - if not key_text then - -- might be KP0 to KP9 or KP_DEC - key_text = info.key_name:match('KP_?(.+)') - if not key_text then return end - if key_text == 'DEC' then key_text = '.' end - end - if not menu.search then self:search_start() end - self:search_query_insert(key_text) - end -end - ----@param menu_id? string -function Menu:search_cancel(menu_id) - local menu = self:get_menu(menu_id) - if not menu or not menu.search or menu.search_style == 'palette' then - self:search_query_replace('', menu_id) - return - end - if state.ime_active == false then - mp.set_property_bool('input-ime', false) - end - self:search_query_replace('', menu_id, true) - menu.search = nil - self:search_ensure_key_bindings() - self:update_dimensions() - self:reset_navigation() -end - ----@param menu_id? string -function Menu:search_init(menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - if menu.search then return end - if state.ime_active == false then - mp.set_property_bool('input-ime', true) - end - local timeout - if menu.search_debounce ~= 'submit' and menu.search_debounce > 0 then - timeout = mp.add_timeout(menu.search_debounce / 1000, self:create_action(function() - self:search_submit(menu.id) - end)) - timeout:kill() - end - menu.search = { - query = '', - cursor = 0, - timeout = timeout, - min_top = menu.top, - max_width = menu.width, - source = { - width = menu.width, - top = menu.top, - scroll_y = menu.scroll_y, - selected_index = menu.selected_index, - items = not menu.on_search and menu.items or nil, - }, - } -end - ----@param menu_id? string -function Menu:search_start(menu_id) - local menu = self:get_menu(menu_id) - if not menu or menu.search_style == 'disabled' then return end - self:search_init(menu_id) - self:search_ensure_key_bindings() - self:update_dimensions() -end - ----@param menu_id? string -function Menu:search_clear_query(menu_id) - local menu = self:get_menu(menu_id) - if not menu then return end - if not self.current.search_style == 'palette' and self.type_to_search then - self:search_cancel(menu_id) - else - self:search_query_replace('', menu_id) - end -end - -function Menu:search_enable_key_bindings() - if self:has_keybindings('search') then return end - local flags = {repeatable = true, complex = true} - self:add_key_binding('any_unicode', {self:create_key_handler('search_text_input'), flags}, 'search') - -- KP0 to KP9 and KP_DEC are not included in any_unicode - -- despite typically producing characters, they don't have a info.key_text - self:add_key_binding('kp_dec', {self:create_key_handler('search_text_input'), flags}, 'search') - for i = 0, 9 do - self:add_key_binding('kp' .. i, {self:create_key_handler('search_text_input'), flags}, 'search') - end -end - -function Menu:search_ensure_key_bindings() - if self.current.search or (self.type_to_search and self.current.search_style ~= 'disabled') then - self:search_enable_key_bindings() - else - self:remove_key_bindings('search') - end -end - -function Menu:enable_key_bindings() - local standalone_keys = {'/', 'kp_divide', 'mbtn_back', 'ctrl+f', 'ctrl+v', 'ctrl+c'} - if type(self.root.bind_keys) == 'table' then itable_append(standalone_keys, self.root.bind_keys) end - -- `+` at the end enables `repeatable` flag - local modifiable_keys = {'up+', 'down+', 'left', 'right', 'enter', 'kp_enter', 'bs', 'tab', 'esc', 'pgup+', - 'pgdwn+', 'home', 'end', 'del'} - local modifiers = {nil, 'alt', 'alt+ctrl', 'alt+shift', 'alt+ctrl+shift', 'ctrl', 'ctrl+shift', 'shift'} - - ---@param shortcut Shortcut - ---@param flags table - local function bind(shortcut, flags) - local handler = self:create_action(function(info) self:handle_shortcut(shortcut, info) end) - self:add_key_binding(shortcut.id, {handler, flags}) - end - - for i, key in ipairs(standalone_keys) do - bind(create_shortcut(key), {repeatable = false, complex = true}) - end - - for i, key in ipairs(modifiable_keys) do - local flags = {repeatable = false, complex = true} - - if key:sub(-1) == '+' then - key = key:sub(1, -2) - flags.repeatable = true - end - - for j = 1, #modifiers do - bind(create_shortcut(key, modifiers[j]), flags) - end - end - - self:search_ensure_key_bindings() -end - --- Handles all key and mouse button shortcuts, except unicode inputs. ----@param shortcut Shortcut ----@param info ComplexBindingInfo -function Menu:handle_shortcut(shortcut, info) - if not self:is_alive() then return end - - self.mouse_nav = info.is_mouse - local menu, id, key, modifiers = self.current, shortcut.id, shortcut.key, shortcut.modifiers - local selected_index = menu.selected_index - local selected_item = menu and selected_index and menu.items[selected_index] - local is_submenu = selected_item and selected_item.items ~= nil - local actions = selected_item and selected_item.actions or menu.item_actions - local selected_action = actions and menu.action_index and actions[menu.action_index] - - if info.event == 'up' then return end - - function trigger_shortcut(shortcut) - self.callback(table_assign({}, shortcut, { - type = 'key', - menu_id = menu.id, - selected_item = selected_item and { - index = selected_index, value = selected_item.value, action = selected_action, - }, - })) - end - - if (key == 'enter' and selected_item) or (id == 'right' and is_submenu and not menu.search) then - self:activate_selected_item(shortcut) - elseif id == 'enter' and menu.search and menu.search_debounce == 'submit' then - self:search_submit() - elseif id == 'up' or id == 'down' then - self:navigate_by_items(id == 'up' and -1 or 1, true) - elseif id == 'pgup' or id == 'pgdwn' then - self:navigate_by_page(id == 'pgup' and -1 or 1) - elseif menu.search and (id == 'left' or id == 'ctrl+left') then - self:search_cursor_move(-1, modifiers == 'ctrl') - elseif menu.search and (id == 'right' or id == 'ctrl+right') then - self:search_cursor_move(1, modifiers == 'ctrl') - elseif menu.search and id == 'home' then - self:search_cursor_move(-math.huge) - elseif menu.search and id == 'end' then - self:search_cursor_move(math.huge) - elseif id == 'home' or id == 'end' then - self:navigate_by_items(id == 'home' and -math.huge or math.huge) - elseif id == 'shift+tab' then - self:prev_action() - elseif id == 'tab' then - self:next_action() - elseif id == 'ctrl+up' then - self:move_selected_item_by(-1) - elseif id == 'ctrl+down' then - self:move_selected_item_by(1) - elseif id == 'ctrl+pgup' then - self:move_selected_item_by(-round((menu.height / self.scroll_step) * 0.4)) - elseif id == 'ctrl+pgdwn' then - self:move_selected_item_by(round((menu.height / self.scroll_step) * 0.4)) - elseif id == 'ctrl+home' then - self:move_selected_item_by(-math.huge) - elseif id == 'ctrl+end' then - self:move_selected_item_by(math.huge) - elseif id == '/' or id == 'kp_divide' or id == 'ctrl+f' then - self:search_start() - elseif key == 'esc' then - if menu.search and menu.search_style ~= 'palette' then - self:search_cancel() - else - self:close() - end - elseif id == 'left' and menu.parent_menu then - self:back() - elseif key == 'bs' then - if menu.search then - if modifiers == 'shift' then - self:search_clear_query() - elseif not modifiers or modifiers == 'ctrl' then - self:search_query_backspace(info.event, modifiers == 'ctrl') - end - elseif not modifiers and info.event ~= 'repeat' then - self:back() - end - elseif menu.search and (id == 'del' or id == 'ctrl+del' or id == 'shift+del') then - if id == 'shift+del' then - -- During search `del` edits the string. We convert `shift+del` to - -- `del` to have a way to trigger menu callbacks bound to `del`. - trigger_shortcut(create_shortcut('del')) - else - self:search_query_delete(info.event, modifiers == 'ctrl') - end - elseif key == 'mbtn_back' then - self:back() - elseif id == 'ctrl+v' then - self:paste() - else - trigger_shortcut(shortcut) - end -end - --- Check if menu is not closed or closing. -function Menu:is_alive() return not self.is_closing and not self.destroyed end - ----@param name string -function Menu:create_key_handler(name) - return self:create_action(function(...) - self.mouse_nav = false - self:maybe(name, ...) - end) -end - --- Sends command with params, or triggers a callback event if `command == 'callback'`. --- Intended to handle `on_{event}: 'callback' | string | string[]` events. --- Returns what happened. ----@param command string|number|string[]|number[] ----@param params string[]|number[] ----@param event MenuEvent ----@return 'event' | 'command' | nil -function Menu:command_or_event(command, params, event) - if command == 'callback' then - self.callback(event) - return 'event' - elseif type(command) == 'table' then - ---@diagnostic disable-next-line: deprecated - mp.command_native(itable_join(command, params)) - return 'command' - elseif type(command) == 'string' then - mp.command(command .. ' ' .. table.concat(params, ' ')) - return 'command' - end - return nil -end - -function Menu:render() - for _, menu in ipairs(self.all) do - if menu.fling then - local time_delta = state.render_last_time - menu.fling.time - local progress = menu.fling.easing(math.min(time_delta / menu.fling.duration, 1)) - self:set_scroll_to(round(menu.fling.y + menu.fling.distance * progress), menu.id) - if progress < 1 then request_render() else menu.fling = nil end - end - end - - cursor:zone('primary_down', display, self:create_action(function() self:handle_cursor_down() end)) - cursor:zone('primary_up', display, self:create_action(function(shortcut) self:handle_cursor_up(shortcut) end)) - cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) - cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) - - local ass = assdraw.ass_new() - local spacing = self.item_padding - local icon_size = self.font_size - - ---@param menu MenuStack - ---@param x number - ---@param pos number Horizontal position index. 0 = current menu, <0 parent menus, >1 submenu. - local function draw_menu(menu, x, pos) - local is_current, is_parent, is_submenu = pos == 0, pos < 0, pos > 0 - local menu_opacity = (pos == 0 and 1 or config.opacity.submenu ^ math.abs(pos)) * self.opacity - local ax, ay, bx, by = x, menu.top, x + menu.width, menu.top + menu.height - local draw_title = menu.is_root and menu.title or menu.search - local scroll_clip = '\\clip(0,' .. ay .. ',' .. display.width .. ',' .. by .. ')' - local start_index = math.floor(menu.scroll_y / self.scroll_step) + 1 - local end_index = math.ceil((menu.scroll_y + menu.height) / self.scroll_step) - local menu_rect = { - ax = ax, - ay = ay - (draw_title and self.scroll_step + self.padding or 0) - self.padding, - bx = bx, - by = by + self.padding, - } - local blur_selected_index = self.mouse_nav and is_current - local blur_action_index = self.mouse_nav and menu.action_index ~= nil - - -- Background - ass:rect(menu_rect.ax, menu_rect.ay, menu_rect.bx, menu_rect.by, { - color = bg, - opacity = menu_opacity * config.opacity.menu, - radius = state.radius > 0 and state.radius + self.padding or 0, - }) - - if is_parent then - cursor:zone('primary_down', menu_rect, self:create_action(function() self:slide_in_menu(menu.id, x) end)) - end - - -- Scrollbar - if menu.scroll_height > 0 then - local groove_height = menu.height - 2 - local thumb_height = math.max((menu.height / (menu.scroll_height + menu.height)) * groove_height, 40) - local thumb_y = ay + 1 + ((menu.scroll_y / menu.scroll_height) * (groove_height - thumb_height)) - local sax = bx - round(self.scrollbar_size / 2) - local sbx = sax + self.scrollbar_size - ass:rect(sax, thumb_y, sbx, thumb_y + thumb_height, {color = fg, opacity = menu_opacity * 0.8}) - end - - -- Draw submenu if selected - local submenu_rect, current_item = nil, is_current and menu.selected_index and menu.items[menu.selected_index] - local submenu_is_hovered = false - if current_item and current_item.items then - submenu_rect = draw_menu(current_item --[[@as MenuStack]], menu_rect.bx + self.gap, 1) - cursor:zone('primary_down', submenu_rect, self:create_action(function(shortcut) - self:activate_selected_item(shortcut, true) - end)) - end - - ---@type MenuAction|nil - local selected_action - for index = start_index, end_index, 1 do - local item = menu.items[index] - - if not item then break end - - local item_ax = menu_rect.ax + self.padding - local item_bx = menu_rect.bx - self.padding - local item_ay = ay - menu.scroll_y + self.scroll_step * (index - 1) - local item_by = item_ay + self.item_height - local item_center_y = item_ay + (self.item_height / 2) - local item_clip = (item_ay < ay or item_by > by) and scroll_clip or nil - local content_ax, content_bx = ax + self.padding + spacing, bx - self.padding - spacing - local is_selected = menu.selected_index == index - local item_rect_hitbox = { - ax = item_ax, - ay = math.max(item_ay, menu_rect.ay), - bx = menu_rect.bx + (item.items and self.gap or -self.padding), -- to bridge the gap with cursor - by = math.min(item_ay + self.scroll_step, menu_rect.by), - } - - local has_background = is_selected or item.active - local next_item = menu.items[index + 1] - local next_is_active = next_item and next_item.active - local next_has_background = menu.selected_index == index + 1 or next_is_active - local font_color = item.active and fgt or bgt - local actions = is_selected and (item.actions or menu.item_actions) -- not nil = actions are visible - local action = actions and actions[menu.action_index] -- not nil = action is selected - - if action then selected_action = action end - - -- Separator - if item_by < by and ((not has_background and not next_has_background) or item.separator) then - local separator_ay, separator_by = item_by, item_by + self.separator_size - if has_background then - separator_ay, separator_by = separator_ay + self.separator_size, separator_by + self.separator_size - elseif next_has_background then - separator_ay, separator_by = separator_ay - self.separator_size, separator_by - self.separator_size - end - ass:rect(ax + spacing, separator_ay, bx - spacing, separator_by, { - color = fg, opacity = menu_opacity * (item.separator and 0.13 or 0.04), - }) - end - - -- Background - local highlight_opacity = 0 + (item.active and 0.8 or 0) + (is_selected and 0.15 or 0) - if highlight_opacity > 0 then - ass:rect(ax + self.padding, item_ay, bx - self.padding, item_by, { - radius = state.radius, - color = fg, - opacity = highlight_opacity * menu_opacity, - clip = item_clip, - }) - end - - local title_clip_bx = content_bx - - -- Actions - local actions_rect - if is_selected and actions and #actions > 0 and not item.items then - local place = item.actions_place or menu.item_actions_place - local margin = self.gap * 2 - local size = item_by - item_ay - margin * 2 - local rect_width = size * #actions + margin * (#actions - 1) - - -- Place actions outside of menu when requested and there's enough space for it - actions_rect = { - ay = item_ay + margin, - by = item_by - margin, - is_outside = place == 'outside' and display.width - menu_rect.bx + margin * 2 > rect_width, - } - actions_rect.bx = actions_rect.is_outside and menu_rect.bx + margin + rect_width or item_bx - margin - actions_rect.ax = actions_rect.bx - - for i = 1, #actions, 1 do - local action_index = #actions - (i - 1) - local action = actions[action_index] - - -- Hide when the action shouldn't be displayed when the item is a result of a search/filter - if not (action.filter_hidden and menu.search) then - local is_active = action_index == menu.action_index - local bx = actions_rect.ax - (i == 1 and 0 or margin) - local rect = { - ay = actions_rect.ay, - by = actions_rect.by, - ax = bx - size, - bx = bx, - } - actions_rect.ax = rect.ax - - ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { - radius = state.radius > 2 and state.radius - 1 or state.radius, - color = is_active and fg or bg, - border = is_active and self.gap or nil, - border_color = bg, - opacity = menu_opacity, - clip = item_clip, - }) - ass:icon(rect.ax + size / 2, rect.ay + size / 2, size * 0.66, action.icon, { - color = is_active and bg or fg, opacity = menu_opacity, clip = item_clip, - }) - - -- Re-use rect as a hitbox by growing it so it bridges gaps to prevent flickering - rect.ay, rect.by, rect.bx = item_ay, item_ay + self.scroll_step, rect.bx + margin - - -- Select action on cursor hover - if self.mouse_nav and get_point_to_rectangle_proximity(cursor, rect) == 0 then - cursor:zone('primary_down', rect, self:create_action(function(shortcut) - self:activate_selected_item(shortcut, true) - end)) - blur_action_index = false - if not is_active then - menu.action_index = action_index - selected_action = actions[action_index] - request_render() - end - end - end - end - - title_clip_bx = actions_rect.ax - self.gap * 2 - end - - -- Selected item indicator line - if is_selected and not selected_action then - local size = round(2 * state.scale) - local v_padding = math.min(state.radius, math.ceil(self.item_height / 3)) - ass:rect(ax + self.padding - size - 1, item_ay + v_padding, ax + self.padding - 1, - item_by - v_padding, { - radius = 1 * state.scale, color = fg, opacity = menu_opacity, clip = item_clip, - }) - end - - -- Icon - if item.icon then - if not actions_rect or actions_rect.is_outside then - local x = (not item.title and not item.hint and item.align == 'center') - and menu_rect.ax + (menu_rect.bx - menu_rect.ax) / 2 - or content_bx - (icon_size / 2) - if item.icon == 'spinner' then - ass:spinner(x, item_center_y, icon_size * 1.5, {color = font_color, opacity = menu_opacity * 0.8}) - else - ass:icon(x, item_center_y, icon_size * 1.5, item.icon, { - color = font_color, opacity = menu_opacity, clip = item_clip, - }) - end - end - content_bx = content_bx - icon_size - spacing - title_clip_bx = math.min(content_bx, title_clip_bx) - end - - local hint_clip_bx = title_clip_bx - if item.hint_width > 0 then - -- controls title & hint clipping proportional to the ratio of their widths - -- both title and hint get at least 50% of the width, unless they are smaller then that - local width = content_bx - content_ax - spacing - local title_min = math.min(item.title_width, width * 0.5) - local hint_min = math.min(item.hint_width, width * 0.5) - local title_ratio = item.title_width / (item.title_width + item.hint_width) - title_clip_bx = math.min( - title_clip_bx, - round(content_ax + clamp(title_min, width * title_ratio, width - hint_min)) - ) - end - - -- Hint - if item.hint then - item.ass_safe_hint = item.ass_safe_hint or ass_escape(item.hint) - local clip = '\\clip(' .. title_clip_bx + spacing .. ',' .. - math.max(item_ay, ay) .. ',' .. hint_clip_bx .. ',' .. math.min(item_by, by) .. ')' - ass:txt(content_bx, item_center_y, 6, item.ass_safe_hint, { - size = self.font_size_hint, - color = font_color, - wrap = 2, - opacity = 0.5 * menu_opacity, - clip = clip, - }) - end - - -- Title - if item.title then - item.ass_safe_title = item.ass_safe_title or ass_escape(item.title) - local clip = '\\clip(' .. ax .. ',' .. math.max(item_ay, ay) .. ',' - .. title_clip_bx .. ',' .. math.min(item_by, by) .. ')' - local title_x, align = content_ax, 4 - if item.align == 'right' then - title_x, align = title_clip_bx, 6 - elseif item.align == 'center' then - title_x, align = content_ax + (title_clip_bx - content_ax) / 2, 5 - end - ass:txt(title_x, item_center_y, align, item.ass_safe_title, { - size = self.font_size, - color = font_color, - italic = item.italic, - bold = item.bold, - wrap = 2, - opacity = menu_opacity * (item.muted and 0.5 or 1), - clip = clip, - }) - end - - -- Select hovered item - if is_current and self.mouse_nav and item.selectable ~= false then - if submenu_rect and cursor:direction_to_rectangle_distance(submenu_rect) - or actions_rect and actions_rect.is_outside and cursor:direction_to_rectangle_distance(actions_rect) then - blur_selected_index = false - else - if submenu_is_hovered or get_point_to_rectangle_proximity(cursor, item_rect_hitbox) == 0 then - blur_selected_index = false - menu.selected_index = index - if not is_selected then - is_selected = true - request_render() - end - end - end - end - end - - -- Footnote / Selected action label - if is_current and (menu.footnote or selected_action) then - local height_half = self.font_size - local icon_x, icon_y = menu_rect.ax + self.padding + self.font_size / 2, menu_rect.by + height_half - local is_icon_hovered = false - local icon_hitbox = { - ax = icon_x - height_half, - ay = icon_y - height_half, - bx = icon_x + height_half, - by = icon_y + height_half, - } - is_icon_hovered = get_point_to_rectangle_proximity(cursor, icon_hitbox) == 0 - local text = selected_action and selected_action.label or is_icon_hovered and menu.footnote - local opacity = (is_icon_hovered and 1 or 0.5) * menu_opacity - ass:icon(icon_x, icon_y, self.font_size, is_icon_hovered and 'help' or 'help_outline', { - color = fg, border = state.scale, border_color = bg, opacity = opacity, - }) - if text then - ass:txt(icon_x + self.font_size * 0.75, icon_y, 4, text, { - size = self.font_size, - color = fg, - border = state.scale, - border_color = bg, - opacity = menu_opacity, - italic = true, - }) - end - end - - -- Menu title - if draw_title then - local title_height = self.item_height + self.padding - 3 - local requires_submit = menu.search_debounce == 'submit' - local rect = { - ax = round(ax + spacing / 2 + self.padding), - ay = ay - self.scroll_step - self.padding * 2, - bx = round(bx - spacing / 2 - self.padding), - by = math.min(by, ay - self.padding), - } - -- centers - rect.cx, rect.cy = round(rect.ax + (rect.bx - rect.ax) / 2), round(rect.ay + (rect.by - rect.ay) / 2) - - if menu.title and not menu.ass_safe_title then - menu.ass_safe_title = ass_escape(menu.title) - end - - -- Background - if menu.search then - ass:rect(ax + 3, rect.ay + 3, bx - 3, rect.ay + title_height - 1, { - color = fg .. '\\1a&HFF', opacity = menu_opacity * 0.1, - radius = state.radius > 0 and state.radius + self.padding or 0, - border = 1, border_color = fg, border_opacity = menu_opacity * 0.8 - }) - ass:texture(ax + 3, rect.ay + 3, bx - 3, rect.ay + title_height - 1, 'n', { - size = 80, color = bg, opacity = menu_opacity * 0.1, anchor_x = ax + 2, anchor_y = rect.ay + 2, - }) - else - ass:rect(ax + 2, rect.ay + 2, bx - 2, rect.ay + title_height, { - color = fg, opacity = menu_opacity * 0.8, - radius = state.radius > 0 and state.radius + self.padding or 0, - }) - ass:texture(ax + 2, rect.ay + 2, bx - 2, rect.ay + title_height, 'n', { - size = 80, color = bg, opacity = menu_opacity * 0.1, - }) - end - - -- Bottom border - ass:rect(ax, rect.by - self.separator_size, bx, rect.by, {color = fg, opacity = menu_opacity * 0.2}) - - -- Blur selection (also activates search input) when user clicks title - if is_current then - cursor:zone('primary_down', rect, function() - self:select_index(nil) - end) - end - - -- Title - if menu.search then - -- Icon - local icon_size, icon_opacity = self.font_size * 1.3, menu_opacity * (requires_submit and 0.5 or 1) - local icon_rect = {ax = rect.ax, ay = rect.ay, bx = ax + icon_size + spacing * 1.5, by = rect.by} - - if is_current and requires_submit then - cursor:zone('primary_down', icon_rect, function() self:search_submit() end) - if get_point_to_rectangle_proximity(cursor, icon_rect) == 0 then - icon_opacity = menu_opacity - end - end - - ass:icon(rect.ax + icon_size / 2, rect.cy, icon_size, 'search', { - color = fg, - opacity = icon_opacity, - clip = '\\clip(' .. - icon_rect.ax .. ',' .. icon_rect.ay .. ',' .. icon_rect.bx .. ',' .. icon_rect.by .. ')', - }) - - -- Query/Placeholder - local cursor_height_half, cursor_thickness = round(self.font_size * 0.6), round(self.font_size / 12) - local cursor_ax = rect.bx + 1 - if menu.search.query ~= '' then - local opts = { - size = self.font_size, - color = bgt, - wrap = 2, - opacity = menu_opacity, - clip = '\\clip(' .. icon_rect.bx .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', - } - local query, cursor = menu.search.query, menu.search.cursor - -- Add a ZWNBSP suffix to prevent libass from trimming trailing spaces - local head = ass_escape(string.sub(query, 1, cursor)) .. '\239\187\191' - local tail_no_escape = string.sub(query, cursor + 1) - local tail = ass_escape(tail_no_escape) .. '\239\187\191' - cursor_ax = math.max(round(cursor_ax - text_width(tail_no_escape, opts)), rect.cx) - ass:txt(cursor_ax, rect.cy, 6, head, opts) - ass:txt(cursor_ax, rect.cy, 4, tail, opts) - else - local placeholder = (menu.search_style == 'palette' and menu.ass_safe_title) - and menu.ass_safe_title - or (requires_submit and t('type & ctrl+enter to search') or t('type to search')) - ass:txt(rect.bx, rect.cy, 6, placeholder, { - size = self.font_size, - italic = true, - color = bgt, - wrap = 2, - opacity = menu_opacity * 0.4, - clip = '\\clip(' .. rect.ax .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', - }) - end - - -- Selected input indicator for submittable searches. - -- (input is selected when `selected_index` is `nil`) - if menu.search_debounce == 'submit' and not menu.selected_index then - local size_half = round(1 * state.scale) - ass:rect(ax, rect.by - size_half, bx, rect.by + size_half, {color = fg, opacity = menu_opacity}) - end - local input_is_blurred = menu.search_debounce == 'submit' and menu.selected_index - - -- Cursor - local cursor_bx = cursor_ax + cursor_thickness - ass:rect(cursor_ax, rect.cy - cursor_height_half, cursor_bx, rect.cy + cursor_height_half, { - color = fg, - opacity = menu_opacity * (input_is_blurred and 0.5 or 1), - clip = '\\clip(' .. cursor_ax .. ',' .. rect.ay .. ',' .. cursor_bx .. ',' .. rect.by .. ')', - }) - else - ass:txt(rect.cx, rect.cy, 5, menu.ass_safe_title, { - size = self.font_size, - bold = true, - color = bg, - wrap = 2, - opacity = menu_opacity, - clip = '\\clip(' .. rect.ax .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', - }) - end - end - - -- We are in mouse nav and cursor isn't hovering any item - if blur_selected_index then - menu.selected_index = nil - end - if blur_action_index then - menu.action_index = nil - request_render() - end - - return menu_rect - end - - -- Active menu - draw_menu(self.current, self.ax, 0) - - -- Parent menus - local parent_menu = self.current.parent_menu - local parent_offset_x, parent_horizontal_index = self.ax, -1 - - while parent_menu do - parent_offset_x = parent_offset_x - parent_menu.width - self.gap - draw_menu(parent_menu, parent_offset_x, parent_horizontal_index) - parent_horizontal_index = parent_horizontal_index - 1 - parent_menu = parent_menu.parent_menu - end - - return ass -end - -return Menu diff --git a/scripts/uosc/elements/PauseIndicator.lua b/scripts/uosc/elements/PauseIndicator.lua deleted file mode 100644 index 004a9fe..0000000 --- a/scripts/uosc/elements/PauseIndicator.lua +++ /dev/null @@ -1,83 +0,0 @@ -local Element = require('elements/Element') - ----@class PauseIndicator : Element -local PauseIndicator = class(Element) - -function PauseIndicator:new() return Class.new(self) --[[@as PauseIndicator]] end -function PauseIndicator:init() - Element.init(self, 'pause_indicator', {render_order = 3}) - self.ignores_curtain = true - self.paused = state.pause - self.opacity = 0 - self.fadeout = false - self:init_options() -end - -function PauseIndicator:init_options() - self.base_icon_opacity = options.pause_indicator == 'flash' and 1 or 0.8 - self.type = options.pause_indicator - self:on_prop_pause() -end - -function PauseIndicator:flash() - -- Can't wait for pause property event listener to set this, because when this is used inside a binding like: - -- cycle pause; script-binding uosc/flash-pause-indicator - -- The pause event is not fired fast enough, and indicator starts rendering with old icon. - self.paused = mp.get_property_native('pause') - self.fadeout, self.opacity = false, 1 - self:tween_property('opacity', 1, 0, 300) -end - --- Decides whether static indicator should be visible or not. -function PauseIndicator:decide() - self.paused = mp.get_property_native('pause') -- see flash() for why this line is necessary - self.fadeout, self.opacity = self.paused, self.paused and 1 or 0 - request_render() - - -- Workaround for an mpv race condition bug during pause on windows builds, which causes osd updates to be ignored. - -- .03 was still loosing renders, .04 was fine, but to be safe I added 10ms more - mp.add_timeout(.05, function() osd:update() end) -end - -function PauseIndicator:on_prop_pause() - if Elements:v('timeline', 'pressed') then return end - if options.pause_indicator == 'flash' then - if self.paused ~= state.pause then self:flash() end - elseif options.pause_indicator == 'static' then - self:decide() - end -end - -function PauseIndicator:on_options() - self:init_options() - if self.type == 'flash' then self.opacity = 0 end -end - -function PauseIndicator:render() - if self.opacity == 0 then return end - - local ass = assdraw.ass_new() - - -- Background fadeout - if self.fadeout then - ass:rect(0, 0, display.width, display.height, {color = bg, opacity = self.opacity * 0.3}) - end - - -- Icon - local size = round(math.min(display.width, display.height) * (self.fadeout and 0.20 or 0.15)) - size = size + size * (1 - self.opacity) - - if self.paused then - ass:icon(display.width / 2, display.height / 2, size, 'pause', - {border = 1, opacity = self.base_icon_opacity * self.opacity} - ) - else - ass:icon(display.width / 2, display.height / 2, size * 1.2, 'play_arrow', - {border = 1, opacity = self.base_icon_opacity * self.opacity} - ) - end - - return ass -end - -return PauseIndicator diff --git a/scripts/uosc/elements/Speed.lua b/scripts/uosc/elements/Speed.lua deleted file mode 100644 index f994e69..0000000 --- a/scripts/uosc/elements/Speed.lua +++ /dev/null @@ -1,195 +0,0 @@ -local Element = require('elements/Element') - ----@alias Dragging { start_time: number; start_x: number; distance: number; speed_distance: number; start_speed: number; } - ----@class Speed : Element -local Speed = class(Element) - ----@param props? ElementProps -function Speed:new(props) return Class.new(self, props) --[[@as Speed]] end -function Speed:init(props) - Element.init(self, 'speed', props) - - self.width = 0 - self.height = 0 - self.notches = 10 - self.notch_every = 0.1 - ---@type number - self.notch_spacing = nil - ---@type number - self.font_size = nil - ---@type Dragging|nil - self.dragging = nil -end - -function Speed:get_visibility() - return Elements:maybe('timeline', 'get_is_hovered') and -1 or Element.get_visibility(self) -end - -function Speed:on_coordinates() - self.height, self.width = self.by - self.ay, self.bx - self.ax - self.notch_spacing = self.width / (self.notches + 1) - self.font_size = round(self.height * 0.48 * options.font_scale) -end -function Speed:on_options() self:on_coordinates() end - -function Speed:speed_step(speed, up) - if options.speed_step_is_factor then - if up then - return speed * options.speed_step - else - return speed * 1 / options.speed_step - end - else - if up then - return speed + options.speed_step - else - return speed - options.speed_step - end - end -end - -function Speed:handle_cursor_down() - self:tween_stop() -- Stop and cleanup possible ongoing animations - self.dragging = { - start_time = mp.get_time(), - start_x = cursor.x, - distance = 0, - speed_distance = 0, - start_speed = state.speed, - } -end - -function Speed:on_global_mouse_move() - if not self.dragging then return end - - self.dragging.distance = cursor.x - self.dragging.start_x - self.dragging.speed_distance = (-self.dragging.distance / self.notch_spacing * self.notch_every) - - local speed_current = state.speed - local speed_drag_current = self.dragging.start_speed + self.dragging.speed_distance - speed_drag_current = clamp(0.01, speed_drag_current, 100) - local drag_dir_up = speed_drag_current > speed_current - - local speed_step_next = speed_current - local speed_drag_diff = math.abs(speed_drag_current - speed_current) - while math.abs(speed_step_next - speed_current) < speed_drag_diff do - speed_step_next = self:speed_step(speed_step_next, drag_dir_up) - end - local speed_step_prev = self:speed_step(speed_step_next, not drag_dir_up) - - local speed_new = speed_step_prev - local speed_next_diff = math.abs(speed_drag_current - speed_step_next) - local speed_prev_diff = math.abs(speed_drag_current - speed_step_prev) - if speed_next_diff < speed_prev_diff then - speed_new = speed_step_next - end - - if speed_new ~= speed_current then - mp.set_property_native('speed', speed_new) - end -end - -function Speed:handle_cursor_up() - self.dragging = nil - request_render() -end - -function Speed:on_global_mouse_leave() - self.dragging = nil - request_render() -end - -function Speed:handle_wheel_up() mp.set_property_native('speed', self:speed_step(state.speed, true)) end -function Speed:handle_wheel_down() mp.set_property_native('speed', self:speed_step(state.speed, false)) end - -function Speed:render() - local visibility = self:get_visibility() - local opacity = self.dragging and 1 or visibility - - if opacity <= 0 then return end - - cursor:zone('primary_down', self, function() - self:handle_cursor_down() - cursor:once('primary_up', function() self:handle_cursor_up() end) - end) - cursor:zone('secondary_click', self, function() mp.set_property_native('speed', 1) end) - cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) - cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) - - local ass = assdraw.ass_new() - - -- Background - ass:rect(self.ax, self.ay, self.bx, self.by, { - color = bg, radius = state.radius, opacity = opacity * config.opacity.speed, - }) - - -- Coordinates - local ax, ay = self.ax, self.ay - local bx, by = self.bx, ay + self.height - local half_width = (self.width / 2) - local half_x = ax + half_width - - -- Notches - local speed_at_center = state.speed - if self.dragging then - speed_at_center = self.dragging.start_speed + self.dragging.speed_distance - speed_at_center = clamp(0.01, speed_at_center, 100) - end - local nearest_notch_speed = round(speed_at_center / self.notch_every) * self.notch_every - local nearest_notch_x = half_x + (((nearest_notch_speed - speed_at_center) / self.notch_every) * self.notch_spacing) - local guide_size = math.floor(self.height / 7.5) - local notch_by = by - guide_size - local notch_ay_big = ay + round(self.font_size * 1.1) - local notch_ay_medium = notch_ay_big + ((notch_by - notch_ay_big) * 0.2) - local notch_ay_small = notch_ay_big + ((notch_by - notch_ay_big) * 0.4) - local from_to_index = math.floor(self.notches / 2) - - for i = -from_to_index, from_to_index do - local notch_speed = nearest_notch_speed + (i * self.notch_every) - - if notch_speed >= 0 and notch_speed <= 100 then - local notch_x = nearest_notch_x + (i * self.notch_spacing) - local notch_thickness = 1 - local notch_ay = notch_ay_small - if (notch_speed % (self.notch_every * 10)) < 0.00000001 then - notch_ay = notch_ay_big - notch_thickness = 1.5 - elseif (notch_speed % (self.notch_every * 5)) < 0.00000001 then - notch_ay = notch_ay_medium - end - - ass:rect(notch_x - notch_thickness, notch_ay, notch_x + notch_thickness, notch_by, { - color = fg, - border = 1, - border_color = bg, - opacity = math.min(1.2 - (math.abs((notch_x - ax - half_width) / half_width)), 1) * opacity, - }) - end - end - - -- Center guide - ass:new_event() - ass:append('{\\rDefault\\an7\\blur0\\bord1\\shad0\\1c&H' .. fg .. '\\3c&H' .. bg .. '}') - ass:opacity(opacity) - ass:pos(0, 0) - ass:draw_start() - ass:move_to(half_x, by - 2 - guide_size) - ass:line_to(half_x + guide_size, by - 2) - ass:line_to(half_x - guide_size, by - 2) - ass:draw_stop() - - -- Speed value - local speed_text = (round(state.speed * 100) / 100) .. 'x' - ass:txt(half_x, ay + (notch_ay_big - ay) / 2, 5, speed_text, { - size = self.font_size, - color = bgt, - border = options.text_border * state.scale, - border_color = bg, - opacity = opacity, - }) - - return ass -end - -return Speed diff --git a/scripts/uosc/elements/Timeline.lua b/scripts/uosc/elements/Timeline.lua deleted file mode 100644 index 38e8ebf..0000000 --- a/scripts/uosc/elements/Timeline.lua +++ /dev/null @@ -1,489 +0,0 @@ -local Element = require('elements/Element') - ----@class Timeline : Element -local Timeline = class(Element) - -function Timeline:new() return Class.new(self) --[[@as Timeline]] end -function Timeline:init() - Element.init(self, 'timeline', {render_order = 5}) - ---@type false|{pause: boolean, distance: number, last: {x: number, y: number}} - self.pressed = false - self.obstructed = false - self.size = 0 - self.progress_size = 0 - self.min_progress_size = 0 -- used for `flash-progress` - self.font_size = 0 - self.top_border = 0 - self.line_width = 0 - self.progress_line_width = 0 - self.is_hovered = false - self.has_thumbnail = false - - self:decide_progress_size() - self:update_dimensions() - - -- Release any dragging when file gets unloaded - self:register_mp_event('end-file', function() self.pressed = false end) -end - -function Timeline:get_visibility() - return math.max(Elements:maybe('controls', 'get_visibility') or 0, Element.get_visibility(self)) -end - -function Timeline:decide_enabled() - local previous = self.enabled - self.enabled = not self.obstructed and state.duration ~= nil and state.duration > 0 and state.time ~= nil - if self.enabled ~= previous then Elements:trigger('timeline_enabled', self.enabled) end -end - -function Timeline:get_effective_size() - if Elements:v('speed', 'dragging') then return self.size end - local progress_size = math.max(self.min_progress_size, self.progress_size) - return progress_size + math.ceil((self.size - self.progress_size) * self:get_visibility()) -end - -function Timeline:get_is_hovered() return self.enabled and self.is_hovered end - -function Timeline:update_dimensions() - self.size = round(options.timeline_size * state.scale) - self.top_border = round(options.timeline_border * state.scale) - self.line_width = round(options.timeline_line_width * state.scale) - self.progress_line_width = round(options.progress_line_width * state.scale) - self.font_size = math.floor(math.min((self.size + 60 * state.scale) * 0.2, self.size * 0.96) * options.font_scale) - local window_border_size = Elements:v('window_border', 'size', 0) - self.ax = window_border_size - self.ay = display.height - window_border_size - self.size - self.top_border - self.bx = display.width - window_border_size - self.by = display.height - window_border_size - self.width = self.bx - self.ax - self.chapter_size = math.max((self.by - self.ay) / 10, 3) - self.chapter_size_hover = self.chapter_size * 2 - - -- Disable if not enough space - local available_space = display.height - window_border_size * 2 - Elements:v('top_bar', 'size', 0) - self.obstructed = available_space < self.size + 10 - self:decide_enabled() -end - -function Timeline:decide_progress_size() - local show = options.progress == 'always' - or (options.progress == 'fullscreen' and state.fullormaxed) - or (options.progress == 'windowed' and not state.fullormaxed) - self.progress_size = show and options.progress_size or 0 -end - -function Timeline:toggle_progress() - local current = self.progress_size - self:tween_property('progress_size', current, current > 0 and 0 or options.progress_size) - request_render() -end - -function Timeline:flash_progress() - if self.enabled and options.flash_duration > 0 then - if not self._flash_progress_timer then - self._flash_progress_timer = mp.add_timeout(options.flash_duration / 1000, function() - self:tween_property('min_progress_size', options.progress_size, 0) - end) - self._flash_progress_timer:kill() - end - - self:tween_stop() - self.min_progress_size = options.progress_size - request_render() - self._flash_progress_timer.timeout = options.flash_duration / 1000 - self._flash_progress_timer:kill() - self._flash_progress_timer:resume() - end -end - -function Timeline:get_time_at_x(x) - local line_width = (options.timeline_style == 'line' and self.line_width - 1 or 0) - local time_width = self.width - line_width - 1 - local fax = (time_width) * state.time / state.duration - local fbx = fax + line_width - -- time starts 0.5 pixels in - x = x - self.ax - 0.5 - if x > fbx then - x = x - line_width - elseif x > fax then - x = fax - end - local progress = clamp(0, x / time_width, 1) - return state.duration * progress -end - ----@param fast? boolean -function Timeline:set_from_cursor(fast) - if state.time and state.duration then - mp.commandv('seek', self:get_time_at_x(cursor.x), fast and 'absolute+keyframes' or 'absolute+exact') - end -end - -function Timeline:clear_thumbnail() - if self.has_thumbnail then - mp.commandv('script-message-to', 'thumbfast', 'clear') - self.has_thumbnail = false - end -end - -function Timeline:handle_cursor_down() - self.pressed = {pause = state.pause, distance = 0, last = {x = cursor.x, y = cursor.y}} - mp.set_property_native('pause', true) - self:set_from_cursor() -end -function Timeline:on_prop_duration() self:decide_enabled() end -function Timeline:on_prop_time() self:decide_enabled() end -function Timeline:on_prop_border() self:update_dimensions() end -function Timeline:on_prop_title_bar() self:update_dimensions() end -function Timeline:on_prop_fullormaxed() - self:decide_progress_size() - self:update_dimensions() -end -function Timeline:on_display() self:update_dimensions() end -function Timeline:on_options() - self:decide_progress_size() - self:update_dimensions() -end -function Timeline:handle_cursor_up() - if self.pressed then - mp.set_property_native('pause', self.pressed.pause) - self.pressed = false - end -end -function Timeline:on_global_mouse_leave() - self.pressed = false -end - -function Timeline:on_global_mouse_move() - if self.pressed then - self.pressed.distance = self.pressed.distance + get_point_to_point_proximity(self.pressed.last, cursor) - self.pressed.last.x, self.pressed.last.y = cursor.x, cursor.y - if state.is_video and math.abs(cursor:get_velocity().x) / self.width * state.duration > 30 then - self:set_from_cursor(true) - else - self:set_from_cursor() - end - end -end - -function Timeline:render() - if self.size == 0 then - self:clear_thumbnail() - return - end - - local size = self:get_effective_size() - local visibility = self:get_visibility() - self.is_hovered = false - - if size < 1 then - self:clear_thumbnail() - return - end - - if self.proximity_raw == 0 then - self.is_hovered = true - end - if visibility > 0 then - cursor:zone('primary_down', self, function() - self:handle_cursor_down() - cursor:once('primary_up', function() self:handle_cursor_up() end) - end) - if config.timeline_step ~= 0 then - cursor:zone('wheel_down', self, function() - mp.commandv('seek', -config.timeline_step, config.timeline_step_flag) - end) - cursor:zone('wheel_up', self, function() - mp.commandv('seek', config.timeline_step, config.timeline_step_flag) - end) - end - end - - local ass = assdraw.ass_new() - local progress_size = math.max(self.min_progress_size, self.progress_size) - - -- Text opacity rapidly drops to 0 just before it starts overflowing, or before it reaches progress_size - local hide_text_below = math.max(self.font_size * 0.8, progress_size * 2) - local hide_text_ramp = hide_text_below / 2 - local text_opacity = clamp(0, size - hide_text_below, hide_text_ramp) / hide_text_ramp - - local tooltip_gap = round(2 * state.scale) - local timestamp_gap = tooltip_gap - - local spacing = math.max(math.floor((self.size - self.font_size) / 2.5), 4) - local progress = state.time / state.duration - local is_line = options.timeline_style == 'line' - - -- Foreground & Background bar coordinates - local bax, bay, bbx, bby = self.ax, self.by - size - self.top_border, self.bx, self.by - local fax, fay, fbx, fby = 0, bay + self.top_border, 0, bby - local fcy = fay + (size / 2) - - local line_width = 0 - - if is_line then - local minimized_fraction = 1 - math.min((size - progress_size) / ((self.size - progress_size) / 8), 1) - local progress_delta = progress_size > 0 and self.progress_line_width - self.line_width or 0 - line_width = self.line_width + (progress_delta * minimized_fraction) - fax = bax + (self.width - line_width) * progress - fbx = fax + line_width - line_width = line_width - 1 - else - fax, fbx = bax, bax + self.width * progress - end - - local foreground_size = fby - fay - local foreground_coordinates = round(fax) .. ',' .. fay .. ',' .. round(fbx) .. ',' .. fby -- for clipping - - -- time starts 0.5 pixels in - local time_ax = bax + 0.5 - local time_width = self.width - line_width - 1 - - -- time to x: calculates x coordinate so that it never lies inside of the line - local function t2x(time) - local x = time_ax + time_width * time / state.duration - return time <= state.time and x or x + line_width - end - - -- Background - ass:new_event() - ass:pos(0, 0) - ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. bg .. '}') - ass:opacity(config.opacity.timeline) - ass:draw_start() - ass:rect_cw(bax, bay, fax, bby) --left of progress - ass:rect_cw(fbx, bay, bbx, bby) --right of progress - ass:rect_cw(fax, bay, fbx, fay) --above progress - ass:draw_stop() - - -- Progress - ass:rect(fax, fay, fbx, fby, {opacity = config.opacity.position}) - - -- Uncached ranges - if state.uncached_ranges then - local opts = {size = 80, anchor_y = fby} - local texture_char = visibility > 0 and 'b' or 'a' - local offset = opts.size / (visibility > 0 and 24 or 28) - for _, range in ipairs(state.uncached_ranges) do - if options.timeline_cache then - local ax = range[1] < 0.5 and bax or math.floor(t2x(range[1])) - local bx = range[2] > state.duration - 0.5 and bbx or math.ceil(t2x(range[2])) - opts.color, opts.opacity, opts.anchor_x = 'ffffff', 0.4 - (0.2 * visibility), bax - ass:texture(ax, fay, bx, fby, texture_char, opts) - opts.color, opts.opacity, opts.anchor_x = '000000', 0.6 - (0.2 * visibility), bax + offset - ass:texture(ax, fay, bx, fby, texture_char, opts) - end - end - end - - -- Custom ranges - for _, chapter_range in ipairs(state.chapter_ranges) do - local rax = chapter_range.start < 0.1 and bax or t2x(chapter_range.start) - local rbx = chapter_range['end'] > state.duration - 0.1 and bbx - or t2x(math.min(chapter_range['end'], state.duration)) - ass:rect(rax, fay, rbx, fby, {color = chapter_range.color, opacity = chapter_range.opacity}) - end - - -- Chapters - local hovered_chapter = nil - if (config.opacity.chapters > 0 and (#state.chapters > 0 or state.ab_loop_a or state.ab_loop_b)) then - local diamond_radius = math.min(math.max(1, foreground_size * 0.8), self.chapter_size) - local diamond_radius_hovered = diamond_radius * 2 - local diamond_border = options.timeline_border and math.max(options.timeline_border, 1) or 1 - - if diamond_radius > 0 then - local function draw_chapter(time, radius) - local chapter_x, chapter_y = t2x(time), fay - 1 - ass:new_event() - ass:append(string.format( - '{\\pos(0,0)\\rDefault\\an7\\blur0\\yshad0.01\\bord%f\\1c&H%s\\3c&H%s\\4c&H%s\\1a&H%X&\\3a&H00&\\4a&H00&}', - diamond_border, fg, bg, bg, opacity_to_alpha(config.opacity.chapters) - )) - ass:draw_start() - ass:move_to(chapter_x - radius, chapter_y) - ass:line_to(chapter_x, chapter_y - radius) - ass:line_to(chapter_x + radius, chapter_y) - ass:line_to(chapter_x, chapter_y + radius) - ass:draw_stop() - end - - if #state.chapters > 0 then - -- Find hovered chapter indicator - local closest_delta = math.huge - - if self.proximity_raw < diamond_radius_hovered then - for i, chapter in ipairs(state.chapters) do - local chapter_x, chapter_y = t2x(chapter.time), fay - 1 - local cursor_chapter_delta = math.sqrt((cursor.x - chapter_x) ^ 2 + (cursor.y - chapter_y) ^ 2) - if cursor_chapter_delta <= diamond_radius_hovered and cursor_chapter_delta < closest_delta then - hovered_chapter, closest_delta = chapter, cursor_chapter_delta - self.is_hovered = true - end - end - end - - for i, chapter in ipairs(state.chapters) do - if chapter ~= hovered_chapter then draw_chapter(chapter.time, diamond_radius) end - local circle = {point = {x = t2x(chapter.time), y = fay - 1}, r = diamond_radius_hovered} - if visibility > 0 and chapter == hovered_chapter then - cursor:zone('primary_down', circle, function() - mp.commandv('seek', chapter.time, 'absolute+exact') - end) - end - end - - -- Render hovered chapter above others - if hovered_chapter then - draw_chapter(hovered_chapter.time, diamond_radius_hovered) - timestamp_gap = tooltip_gap + round(diamond_radius_hovered) - else - timestamp_gap = tooltip_gap + round(diamond_radius) - end - end - - -- A-B loop indicators - local has_a, has_b = state.ab_loop_a and state.ab_loop_a >= 0, state.ab_loop_b and state.ab_loop_b > 0 - local ab_radius = round(math.min(math.max(8, foreground_size * 0.25), foreground_size)) - - ---@param time number - ---@param kind 'a'|'b' - local function draw_ab_indicator(time, kind) - local x = t2x(time) - ass:new_event() - ass:append(string.format( - '{\\pos(0,0)\\rDefault\\an7\\blur0\\yshad0.01\\bord%f\\1c&H%s\\3c&H%s\\4c&H%s\\1a&H%X&\\3a&H00&\\4a&H00&}', - diamond_border, fg, bg, bg, opacity_to_alpha(config.opacity.chapters) - )) - ass:draw_start() - ass:move_to(x, fby - ab_radius) - if kind == 'b' then ass:line_to(x + 3, fby - ab_radius) end - ass:line_to(x + (kind == 'a' and 0 or ab_radius), fby) - ass:line_to(x - (kind == 'b' and 0 or ab_radius), fby) - if kind == 'a' then ass:line_to(x - 3, fby - ab_radius) end - ass:draw_stop() - end - - if has_a then draw_ab_indicator(state.ab_loop_a, 'a') end - if has_b then draw_ab_indicator(state.ab_loop_b, 'b') end - end - end - - local function draw_timeline_timestamp(x, y, align, timestamp, opts) - opts.color, opts.border_color = fgt, fg - opts.clip = '\\clip(' .. foreground_coordinates .. ')' - local func = options.time_precision > 0 and ass.timestamp or ass.txt - func(ass, x, y, align, timestamp, opts) - opts.color, opts.border_color = bgt, bg - opts.clip = '\\iclip(' .. foreground_coordinates .. ')' - func(ass, x, y, align, timestamp, opts) - end - - -- Time values - if text_opacity > 0 then - local time_opts = {size = self.font_size, opacity = text_opacity, border = 2 * state.scale} - -- Upcoming cache time - local cache_duration = state.cache_duration and state.cache_duration / state.speed or nil - if cache_duration and options.buffered_time_threshold > 0 - and cache_duration < options.buffered_time_threshold then - local margin = 5 * state.scale - local x, align = fbx + margin, 4 - local cache_opts = { - size = self.font_size * 0.8, opacity = text_opacity * 0.6, border = options.text_border * state.scale, - } - local human = round(cache_duration) .. 's' - local width = text_width(human, cache_opts) - local time_width = timestamp_width(state.time_human, time_opts) - local time_width_end = timestamp_width(state.destination_time_human, time_opts) - local min_x, max_x = bax + spacing + margin + time_width, bbx - spacing - margin - time_width_end - if x < min_x then x = min_x elseif x + width > max_x then x, align = max_x, 6 end - draw_timeline_timestamp(x, fcy, align, human, cache_opts) - end - - -- Elapsed time - if state.time_human then - draw_timeline_timestamp(bax + spacing, fcy, 4, state.time_human, time_opts) - end - - -- End time - if state.destination_time_human then - draw_timeline_timestamp(bbx - spacing, fcy, 6, state.destination_time_human, time_opts) - end - end - - -- Hovered time and chapter - local rendered_thumbnail = false - if (self.proximity_raw == 0 or self.pressed or hovered_chapter) and not Elements:v('speed', 'dragging') then - local cursor_x = hovered_chapter and t2x(hovered_chapter.time) or cursor.x - local hovered_seconds = hovered_chapter and hovered_chapter.time or self:get_time_at_x(cursor.x) - - -- Cursor line - -- 0.5 to switch when the pixel is half filled in - local color = ((fax - 0.5) < cursor_x and cursor_x < (fbx + 0.5)) and bg or fg - local ax, ay, bx, by = cursor_x - 0.5, fay, cursor_x + 0.5, fby - ass:rect(ax, ay, bx, by, {color = color, opacity = 0.33}) - local tooltip_anchor = {ax = ax, ay = ay - self.top_border, bx = bx, by = by} - - -- Timestamp - local opts = { - size = self.font_size, offset = timestamp_gap, margin = tooltip_gap, timestamp = options.time_precision > 0, - } - local hovered_time_human = format_time(hovered_seconds, state.duration) - opts.width_overwrite = timestamp_width(hovered_time_human, opts) - tooltip_anchor = ass:tooltip(tooltip_anchor, hovered_time_human, opts) - - -- Thumbnail - if not thumbnail.disabled - and (not self.pressed or self.pressed.distance < 5) - and thumbnail.width ~= 0 - and thumbnail.height ~= 0 - then - local border = math.ceil(math.max(2, state.radius / 2) * state.scale) - local thumb_x_margin, thumb_y_margin = border + tooltip_gap + bax, border + tooltip_gap - local thumb_width, thumb_height = thumbnail.width, thumbnail.height - local thumb_x = round(clamp( - thumb_x_margin, - cursor_x - thumb_width / 2, - display.width - thumb_width - thumb_x_margin - )) - local thumb_y = round(tooltip_anchor.ay - thumb_y_margin - thumb_height) - local ax, ay = (thumb_x - border), (thumb_y - border) - local bx, by = (thumb_x + thumb_width + border), (thumb_y + thumb_height + border) - ass:rect(ax, ay, bx, by, { - color = bg, - border = 1, - opacity = {main = config.opacity.thumbnail, border = 0.08 * config.opacity.thumbnail}, - border_color = fg, - radius = state.radius, - }) - local thumb_seconds = (state.rebase_start_time == false and state.start_time) and - (hovered_seconds - state.start_time) or hovered_seconds - mp.commandv('script-message-to', 'thumbfast', 'thumb', thumb_seconds, thumb_x, thumb_y) - self.has_thumbnail, rendered_thumbnail = true, true - tooltip_anchor.ay = ay - end - - -- Chapter title - if config.opacity.chapters > 0 and #state.chapters > 0 then - local _, chapter = itable_find(state.chapters, function(c) return hovered_seconds >= c.time end, - #state.chapters, 1) - if chapter and not chapter.is_end_only then - ass:tooltip(tooltip_anchor, chapter.title_wrapped, { - size = self.font_size, - offset = tooltip_gap, - responsive = false, - bold = true, - width_overwrite = chapter.title_wrapped_width * self.font_size, - lines = chapter.title_lines, - margin = tooltip_gap, - }) - end - end - end - - -- Clear thumbnail - if not rendered_thumbnail then self:clear_thumbnail() end - - return ass -end - -return Timeline diff --git a/scripts/uosc/elements/TopBar.lua b/scripts/uosc/elements/TopBar.lua deleted file mode 100644 index 969d6ae..0000000 --- a/scripts/uosc/elements/TopBar.lua +++ /dev/null @@ -1,430 +0,0 @@ -local Element = require('elements/Element') - ----@alias TopBarButtonProps {icon: string; hover_fg?: string; hover_bg?: string; command: (fun():string)} - ----@class TopBar : Element -local TopBar = class(Element) - -function TopBar:new() return Class.new(self) --[[@as TopBar]] end -function TopBar:init() - Element.init(self, 'top_bar', {render_order = 4}) - self.size = 0 - self.alt_title_size = 0 - self.chapter_size = 0 - self.titles_spacing = 1 - self.icon_size, self.font_size, self.title_by = 1, 1, 1 - self.show_alt_as_main = false - self.main_title, self.alt_title = nil, nil - ---@type table - self.render_titles = {} - ---@type {index: number; title: string}|nil - self.current_chapter = nil - - local function maximized_command() - mp.command(state.fullormaxed and 'set fullscreen no;set window-maximized no' or 'set window-maximized yes') - end - - local close = {icon = 'close', hover_bg = '2311e8', hover_fg = 'ffffff', command = function() mp.command('quit') end} - local max = {icon = 'crop_square', command = maximized_command, is_max = true} - local min = {icon = 'minimize', command = function() mp.command('cycle window-minimized') end} - self.buttons = options.top_bar_controls == 'left' and {close, max, min} or {min, max, close} - - self:register_observers() - self:decide_enabled() - self:update_dimensions() -end - ----@return string|nil -local function expand_template(template) - -- escape ASS, and strip newlines and trailing slashes and trim whitespace - local tmp = mp.command_native({'expand-text', template}):gsub('\\n', ' '):gsub('[\\%s]+$', ''):gsub('^%s+', '') - return tmp and tmp ~= '' and ass_escape(tmp) or nil -end - -function TopBar:add_template_listener(template, callback) - local props = get_expansion_props(template) - for prop, _ in pairs(props) do - self:observe_mp_property(prop, 'native', callback) - end - if not next(props) then callback() end -end - -function TopBar:register_observers() - -- Main title - if #options.top_bar_title > 0 and options.top_bar_title ~= 'no' then - if options.top_bar_title == 'yes' then - local template = nil - local function update_main_title() - self.main_title = expand_template(template) - self:update_render_titles() - end - local function remove_template_listener(callback) mp.unobserve_property(callback) end - - self:observe_mp_property('title', 'string', function(_, title) - remove_template_listener(update_main_title) - template = title - if template then - if template:sub(-6) == ' - mpv' then template = template:sub(1, -7) end - self:add_template_listener(template, update_main_title) - end - end) - elseif type(options.top_bar_title) == 'string' then - self:add_template_listener(options.top_bar_title, function() - self.main_title = expand_template(options.top_bar_title) - self:update_render_titles() - end) - end - end - - -- Alt title - if #options.top_bar_alt_title > 0 and options.top_bar_alt_title ~= 'no' then - self:add_template_listener(options.top_bar_alt_title, function() - self.alt_title = expand_template(options.top_bar_alt_title) - self:update_render_titles() - end) - end -end - -function TopBar:decide_enabled() - if options.top_bar == 'no-border' then - self.enabled = not state.border or state.title_bar == false or state.fullscreen - else - self.enabled = options.top_bar == 'always' - end - self.enabled = self.enabled and (options.top_bar_controls or options.top_bar_title ~= 'no' or state.has_playlist) -end - --- Set titles. Both have to be passed at the same time so that they can be normalized & deduplicated. -function TopBar:update_render_titles() - local main, alt = self.main_title, self.alt_title - - if main == 'No file' then - main = t('No file') - end - - -- Fall back to alt title if main is empty - if not main or main == '' then - main, alt = alt, nil - end - - -- Deduplicate the main and alt titles by checking if one completely - -- contains the other, and using only the longer one. - if main and alt and not self.show_alt_as_main then - local longer_title, shorter_title - if #main < #alt then - longer_title, shorter_title = alt, main - else - longer_title, shorter_title = main, alt - end - - local escaped_shorter_title = regexp_escape(shorter_title --[[@as string]]) - if string.match(longer_title --[[@as string]], escaped_shorter_title) then - main, alt = longer_title, nil - end - end - - if self.show_alt_as_main and alt and alt ~= '' then - main, alt = alt, nil - end - - self.render_titles.main, self.render_titles.alt = main, alt - self:update_dimensions() - request_render() -end - -function TopBar:select_current_chapter() - local current_chapter_index = self.current_chapter and self.current_chapter.index - local current_chapter - if state.time and state.chapters then - _, current_chapter = itable_find(state.chapters, function(c) return state.time >= c.time end, #state.chapters, 1) - end - local new_chapter_index = current_chapter and current_chapter.index - if current_chapter_index ~= new_chapter_index then - self.current_chapter = current_chapter - if itable_has(config.top_bar_flash_on, 'chapter') then - self:flash() - end - self:update_dimensions() - end -end - -function TopBar:update_dimensions() - self.size = round(options.top_bar_size * state.scale) - self.title_spacing = round(1 * state.scale) - self.icon_size = round(self.size * 0.5) - self.font_size = math.floor((self.size - (math.ceil(self.size * 0.25) * 2)) * options.font_scale) - self.alt_title_size = round(self.font_size * 1.2) - self.chapter_size = round(self.font_size * 1.1) - local window_border_size = Elements:v('window_border', 'size', 0) - local min_hitbox_height = self.size - if self.render_titles.alt and options.top_bar_alt_title_place == 'below' then - min_hitbox_height = min_hitbox_height + self.title_spacing + self.alt_title_size - end - if self.current_chapter then - min_hitbox_height = min_hitbox_height + self.title_spacing + self.chapter_size - end - self.ax = window_border_size - self.ay = window_border_size - self.bx = display.width - window_border_size - -- We extend the hitbox so that people with low proximity options can still click on chapter button - self.by = math.max(self.size + window_border_size, min_hitbox_height - options.proximity_in) -end - -function TopBar:toggle_title() - if options.top_bar_alt_title_place ~= 'toggle' then return end - self.show_alt_as_main = not self.show_alt_as_main - self:update_render_titles() -end - -function TopBar:on_prop_time() - self:select_current_chapter() -end - -function TopBar:on_prop_chapters() - self:select_current_chapter() -end - -function TopBar:on_prop_border() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:on_prop_title_bar() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:on_prop_fullscreen() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:on_prop_maximized() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:on_prop_has_playlist() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:on_display() self:update_dimensions() end - -function TopBar:on_options() - self:decide_enabled() - self:update_dimensions() -end - -function TopBar:render() - local visibility = self:get_visibility() - if visibility <= 0 then return end - local ass = assdraw.ass_new() - -- `by` might be artificially extended so people with low proximity options - -- can still click on chapter button, so we can't use it for rendering. - local ax, ay, bx, by = self.ax, self.ay, self.bx, self.ay + self.size - local margin = math.floor((self.size - self.font_size) / 4) - - -- Window controls - if options.top_bar_controls then - local is_left, button_ax = options.top_bar_controls == 'left', 0 - if is_left then - button_ax = ax - ax = self.size * #self.buttons - else - button_ax = bx - self.size * #self.buttons - bx = button_ax - end - - for _, button in ipairs(self.buttons) do - if button.is_max then - button.icon = state.fullscreen and 'close_fullscreen' or - (state.maximized and 'filter_none' or 'crop_square') - end - - local rect = {ax = button_ax, ay = ay, bx = button_ax + self.size, by = by} - local is_hover = get_point_to_rectangle_proximity(cursor, rect) == 0 - local opacity = is_hover and 1 or config.opacity.controls - local button_fg = is_hover and (button.hover_fg or bg) or fg - local button_bg = is_hover and (button.hover_bg or fg) or bg - - cursor:zone('primary_down', rect, button.command) - - local bg_size = self.size - margin - local bg_ax, bg_ay = rect.ax + (is_left and margin or 0), rect.ay + margin - local bg_bx, bg_by = bg_ax + bg_size, bg_ay + bg_size - - ass:rect(bg_ax, bg_ay, bg_bx, bg_by, { - color = button_bg, opacity = visibility * opacity, radius = state.radius, - }) - - ass:icon(bg_ax + bg_size / 2, bg_ay + bg_size / 2, bg_size * 0.5, button.icon, { - color = button_fg, - border_color = button_bg, - opacity = visibility, - border = options.text_border * state.scale, - }) - - button_ax = button_ax + self.size - end - end - - -- Window title - local main_title, alt_title = self.render_titles.main, self.render_titles.alt - if main_title or state.has_playlist then - local padding = round(self.font_size / 2) - local left_aligned = options.top_bar_controls == 'left' - local title_ax, title_bx, title_ay = ax + margin, bx - margin, self.ay + margin - - -- Playlist position - if state.has_playlist then - local text = state.playlist_pos .. '' .. state.playlist_count - local formatted_text = '{\\b1}' .. state.playlist_pos .. '{\\b0\\fs' .. self.font_size * 0.9 .. '}/' - .. state.playlist_count - local opts = {size = self.font_size, wrap = 2, color = fgt, opacity = visibility} - local rect_width = round(text_width(text, opts) + padding * 2) - local ax = left_aligned and title_bx - rect_width or title_ax - local rect = { - ax = ax, - ay = title_ay, - bx = ax + rect_width, - by = by - margin, - } - local opacity = get_point_to_rectangle_proximity(cursor, rect) == 0 - and 1 or config.opacity.playlist_position - if opacity > 0 then - ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { - color = fg, opacity = visibility * opacity, radius = state.radius, - }) - end - ass:txt(rect.ax + (rect.bx - rect.ax) / 2, rect.ay + (rect.by - rect.ay) / 2, 5, formatted_text, opts) - if left_aligned then title_bx = rect.ax - margin else title_ax = rect.bx + margin end - - -- Click action - cursor:zone('primary_down', rect, function() mp.command('script-binding uosc/playlist') end) - end - - -- Skip rendering titles if there's not enough horizontal space - if title_bx - title_ax > self.font_size * 3 and options.top_bar_title ~= 'no' then - -- Main title - if main_title then - local opts = { - size = self.font_size, - wrap = 2, - color = bgt, - opacity = visibility, - border = options.text_border * state.scale, - border_color = bg, - clip = string.format('\\clip(%d, %d, %d, %d)', self.ax, ay, title_bx, by), - } - local rect_ideal_width = round(text_width(main_title, opts) + padding * 2) - local rect_width = math.min(rect_ideal_width, title_bx - title_ax) - local ax = left_aligned and title_bx - rect_width or title_ax - local by = by - margin - local title_rect = {ax = ax, ay = title_ay, bx = ax + rect_width, by = by} - - if options.top_bar_alt_title_place == 'toggle' then - cursor:zone('primary_down', title_rect, function() self:toggle_title() end) - end - - ass:rect(title_rect.ax, title_rect.ay, title_rect.bx, title_rect.by, { - color = bg, opacity = visibility * config.opacity.title, radius = state.radius, - }) - local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 - local x = align == 6 and title_rect.bx - padding or ax + padding - ass:txt(x, ay + (self.size / 2), align, main_title, opts) - title_ay = by + self.title_spacing - end - - -- Alt title - if alt_title and options.top_bar_alt_title_place == 'below' then - local by = title_ay + self.alt_title_size - local opts = { - size = round(self.alt_title_size * 0.77), - wrap = 2, - color = bgt, - border = options.text_border * state.scale, - border_color = bg, - opacity = visibility, - } - local rect_ideal_width = round(text_width(alt_title, opts) + padding * 2) - local rect_width = math.min(rect_ideal_width, title_bx - title_ax) - local ax = left_aligned and title_bx - rect_width or title_ax - local bx = ax + rect_width - opts.clip = string.format('\\clip(%d, %d, %d, %d)', title_ax, title_ay, bx, by) - ass:rect(ax, title_ay, bx, by, { - color = bg, opacity = visibility * config.opacity.title, radius = state.radius, - }) - local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 - local x = align == 6 and bx - padding or ax + padding - ass:txt(x, title_ay + self.alt_title_size / 2, align, alt_title, opts) - title_ay = by + self.title_spacing - end - - -- Current chapter - if self.current_chapter then - local padding_half = round(padding / 2) - local prefix, postfix = left_aligned and '' or '└ ', left_aligned and ' ┘' or '' - local text = prefix .. self.current_chapter.index .. ': ' .. self.current_chapter.title .. postfix - local next_chapter = state.chapters[self.current_chapter.index + 1] - local chapter_end = next_chapter and next_chapter.time or state.duration or 0 - local remaining_time = ((state.time or 0) - chapter_end) / - (options.destination_time == 'time-remaining' and 1 or state.speed) - local remaining_human = format_time(remaining_time, math.abs(remaining_time)) - local opts = { - size = round(self.chapter_size * 0.77), - italic = true, - wrap = 2, - color = bgt, - border = options.text_border * state.scale, - border_color = bg, - opacity = visibility * 0.8, - } - local remaining_width = timestamp_width(remaining_human, opts) - local remaining_box_width = remaining_width + padding_half * 2 - - -- Title - local max_bx = title_bx - remaining_box_width - self.title_spacing - local rect_ideal_width = round(text_width(text, opts) + padding * 2) - local rect_width = math.min(rect_ideal_width, max_bx - title_ax) - local ax = left_aligned and title_bx - rect_width or title_ax - local rect = { - ax = ax, - ay = title_ay, - bx = ax + rect_width, - by = title_ay + self.chapter_size, - } - opts.clip = string.format('\\clip(%d, %d, %d, %d)', title_ax, title_ay, rect.bx, rect.by) - ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { - color = bg, opacity = visibility * config.opacity.title, radius = state.radius, - }) - local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 - local x = align == 6 and rect.bx - padding or rect.ax + padding - ass:txt(x, rect.ay + self.chapter_size / 2, align, text, opts) - - -- Time - local time_ax = left_aligned - and rect.ax - self.title_spacing - remaining_box_width or rect.bx + self.title_spacing - local time_bx = time_ax + remaining_box_width - opts.clip = nil - ass:rect(time_ax, rect.ay, time_bx, rect.by, { - color = bg, opacity = visibility * config.opacity.title, radius = state.radius, - }) - ass:txt(time_ax + padding_half, rect.ay + self.chapter_size / 2, 4, remaining_human, opts) - - -- Click action - rect.bx = time_bx - cursor:zone('primary_down', rect, function() mp.command('script-binding uosc/chapters') end) - - title_ay = rect.by + self.title_spacing - end - end - self.title_by = title_ay - 1 - else - self.title_by = ay - end - - return ass -end - -return TopBar diff --git a/scripts/uosc/elements/Volume.lua b/scripts/uosc/elements/Volume.lua deleted file mode 100644 index 12904e7..0000000 --- a/scripts/uosc/elements/Volume.lua +++ /dev/null @@ -1,283 +0,0 @@ -local Element = require('elements/Element') - ---[[ VolumeSlider ]] - ----@class VolumeSlider : Element -local VolumeSlider = class(Element) ----@param props? ElementProps -function VolumeSlider:new(props) return Class.new(self, props) --[[@as VolumeSlider]] end -function VolumeSlider:init(props) - Element.init(self, 'volume_slider', props) - self.pressed = false - self.nudge_y = 0 -- vertical position where volume overflows 100 - self.nudge_size = 0 - self.draw_nudge = false - self.spacing = 0 - self.border_size = 0 - self:update_dimensions() -end - -function VolumeSlider:update_dimensions() - self.border_size = math.max(0, round(options.volume_border * state.scale)) -end - -function VolumeSlider:get_visibility() return Elements.volume:get_visibility(self) end - -function VolumeSlider:set_volume(volume) - volume = round(volume / options.volume_step) * options.volume_step - if state.volume == volume then return end - mp.commandv('set', 'volume', clamp(0, volume, state.volume_max)) -end - -function VolumeSlider:set_from_cursor() - local volume_fraction = (self.by - cursor.y - self.border_size) / (self.by - self.ay - self.border_size) - self:set_volume(volume_fraction * state.volume_max) -end - -function VolumeSlider:on_display() self:update_dimensions() end -function VolumeSlider:on_options() self:update_dimensions() end -function VolumeSlider:on_coordinates() - if type(state.volume_max) ~= 'number' or state.volume_max <= 0 then return end - local width = self.bx - self.ax - self.nudge_y = self.by - round((self.by - self.ay) * (100 / state.volume_max)) - self.nudge_size = round(width * 0.18) - self.draw_nudge = self.ay < self.nudge_y - self.spacing = round(width * 0.2) -end -function VolumeSlider:on_global_mouse_move() - if self.pressed then self:set_from_cursor() end -end -function VolumeSlider:handle_wheel_up() self:set_volume(state.volume + options.volume_step) end -function VolumeSlider:handle_wheel_down() self:set_volume(state.volume - options.volume_step) end - -function VolumeSlider:render() - local visibility = self:get_visibility() - local ax, ay, bx, by = self.ax, self.ay, self.bx, self.by - local width, height = bx - ax, by - ay - - if width <= 0 or height <= 0 or visibility <= 0 then return end - - cursor:zone('primary_down', self, function() - self.pressed = true - self:set_from_cursor() - cursor:once('primary_up', function() self.pressed = false end) - end) - cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) - cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) - - local ass = assdraw.ass_new() - local nudge_y, nudge_size = self.draw_nudge and self.nudge_y or -math.huge, self.nudge_size - local volume_y = self.ay + self.border_size + - ((height - (self.border_size * 2)) * (1 - math.min(state.volume / state.volume_max, 1))) - - -- Draws a rectangle with nudge at requested position - ---@param p number Padding from slider edges. - ---@param r number Border radius. - ---@param cy? number A y coordinate where to clip the path from the bottom. - function create_nudged_path(p, r, cy) - cy = cy or ay + p - local ax, bx, by = ax + p, bx - p, by - p - local d, rh = r * 2, r / 2 - local nudge_size = ((QUARTER_PI_SIN * (nudge_size - p)) + p) / QUARTER_PI_SIN - local path = assdraw.ass_new() - path:move_to(bx - r, by) - path:line_to(ax + r, by) - if cy > by - d then - local subtracted_radius = (d - (cy - (by - d))) / 2 - local xbd = (r - subtracted_radius * 1.35) -- x bezier delta - path:bezier_curve(ax + xbd, by, ax + xbd, cy, ax + r, cy) - path:line_to(bx - r, cy) - path:bezier_curve(bx - xbd, cy, bx - xbd, by, bx - r, by) - else - path:bezier_curve(ax + rh, by, ax, by - rh, ax, by - r) - local nudge_bottom_y = nudge_y + nudge_size - - if cy + rh <= nudge_bottom_y then - path:line_to(ax, nudge_bottom_y) - if cy <= nudge_y then - path:line_to((ax + nudge_size), nudge_y) - local nudge_top_y = nudge_y - nudge_size - if cy <= nudge_top_y then - local r, rh = r, rh - if cy > nudge_top_y - r then - r = nudge_top_y - cy - rh = r / 2 - end - path:line_to(ax, nudge_top_y) - path:line_to(ax, cy + r) - path:bezier_curve(ax, cy + rh, ax + rh, cy, ax + r, cy) - path:line_to(bx - r, cy) - path:bezier_curve(bx - rh, cy, bx, cy + rh, bx, cy + r) - path:line_to(bx, nudge_top_y) - else - local triangle_side = cy - nudge_top_y - path:line_to((ax + triangle_side), cy) - path:line_to((bx - triangle_side), cy) - end - path:line_to((bx - nudge_size), nudge_y) - else - local triangle_side = nudge_bottom_y - cy - path:line_to((ax + triangle_side), cy) - path:line_to((bx - triangle_side), cy) - end - path:line_to(bx, nudge_bottom_y) - else - path:line_to(ax, cy + r) - path:bezier_curve(ax, cy + rh, ax + rh, cy, ax + r, cy) - path:line_to(bx - r, cy) - path:bezier_curve(bx - rh, cy, bx, cy + rh, bx, cy + r) - end - path:line_to(bx, by - r) - path:bezier_curve(bx, by - rh, bx - rh, by, bx - r, by) - end - return path - end - - -- BG & FG paths - local bg_path = create_nudged_path(0, state.radius + self.border_size) - local fg_path = create_nudged_path(self.border_size, state.radius, volume_y) - - -- Background - ass:new_event() - ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. bg .. - '\\iclip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')}') - ass:opacity(config.opacity.slider, visibility) - ass:pos(0, 0) - ass:draw_start() - ass:append(bg_path.text) - ass:draw_stop() - - -- Foreground - ass:new_event() - ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. fg .. '}') - ass:opacity(config.opacity.slider_gauge, visibility) - ass:pos(0, 0) - ass:draw_start() - ass:append(fg_path.text) - ass:draw_stop() - - -- Current volume value - local volume_string = tostring(round(state.volume * 10) / 10) - local font_size = round(((width * 0.6) - (#volume_string * (width / 20))) * options.font_scale) - if volume_y < self.by - self.spacing then - ass:txt(self.ax + (width / 2), self.by - self.spacing, 2, volume_string, { - size = font_size, - color = fgt, - opacity = visibility, - clip = '\\clip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')', - }) - end - if volume_y > self.by - self.spacing - font_size then - ass:txt(self.ax + (width / 2), self.by - self.spacing, 2, volume_string, { - size = font_size, - color = bgt, - opacity = visibility, - clip = '\\iclip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')', - }) - end - - -- Disabled stripes for no audio - if not state.has_audio then - local fg_100_path = create_nudged_path(self.border_size, state.radius) - local texture_opts = { - size = 200, - color = 'ffffff', - opacity = visibility * 0.1, - anchor_x = ax, - clip = '\\clip(' .. fg_100_path.scale .. ',' .. fg_100_path.text .. ')', - } - ass:texture(ax, ay, bx, by, 'a', texture_opts) - texture_opts.color = '000000' - texture_opts.anchor_x = ax + texture_opts.size / 28 - ass:texture(ax, ay, bx, by, 'a', texture_opts) - end - - return ass -end - ---[[ Volume ]] - ----@class Volume : Element -local Volume = class(Element) - -function Volume:new() return Class.new(self) --[[@as Volume]] end -function Volume:init() - Element.init(self, 'volume', {render_order = 7}) - self.size = 0 - self.mute_ay = 0 - self.slider = VolumeSlider:new({anchor_id = 'volume', render_order = self.render_order}) - self:update_dimensions() -end - -function Volume:destroy() - self.slider:destroy() - Element.destroy(self) -end - -function Volume:get_visibility() - if not state.is_idle and not state.has_audio then return 0 end - return self.slider.pressed and 1 or Elements:maybe('timeline', 'get_is_hovered') and -1 - or Element.get_visibility(self) -end - -function Volume:update_dimensions() - self.size = round(options.volume_size * state.scale) - local min_y = Elements:v('top_bar', 'by') or Elements:v('window_border', 'size', 0) - local max_y = Elements:v('controls', 'ay') or Elements:v('timeline', 'ay') - or display.height - Elements:v('window_border', 'size', 0) - local available_height = max_y - min_y - local max_height = available_height * 0.8 - local height = round(math.min(self.size * 8, max_height)) - self.enabled = height > self.size * 2 -- don't render if too small - local margin = (self.size / 2) + Elements:v('window_border', 'size', 0) - self.ax = round(options.volume == 'left' and margin or display.width - margin - self.size) - self.ay = min_y + round((available_height - height) / 2) - self.bx = round(self.ax + self.size) - self.by = round(self.ay + height) - self.mute_ay = self.by - self.size - self.slider.enabled = self.enabled - self.slider:set_coordinates(self.ax, self.ay, self.bx, self.mute_ay) -end - -function Volume:on_display() self:update_dimensions() end -function Volume:on_prop_border() self:update_dimensions() end -function Volume:on_prop_title_bar() self:update_dimensions() end -function Volume:on_controls_reflow() self:update_dimensions() end -function Volume:on_options() self:update_dimensions() end - -function Volume:render() - local visibility = self:get_visibility() - if visibility <= 0 then return end - - -- Reset volume on secondary click - cursor:zone('secondary_click', self, function() - mp.set_property_native('mute', false) - mp.set_property_native('volume', 100) - end) - - -- Mute button - local mute_rect = {ax = self.ax, ay = self.mute_ay, bx = self.bx, by = self.by} - cursor:zone('primary_down', mute_rect, function() mp.commandv('cycle', 'mute') end) - local ass = assdraw.ass_new() - local width_half = (mute_rect.bx - mute_rect.ax) / 2 - local height_half = (mute_rect.by - mute_rect.ay) / 2 - local icon_size = math.min(width_half, height_half) * 1.5 - local icon_name, horizontal_shift = 'volume_up', 0 - if state.mute then - icon_name = 'volume_off' - elseif state.volume <= 0 then - icon_name, horizontal_shift = 'volume_mute', height_half * 0.25 - elseif state.volume <= 60 then - icon_name, horizontal_shift = 'volume_down', height_half * 0.125 - end - local underlay_opacity = {main = visibility * 0.3, border = visibility} - ass:icon(mute_rect.ax + width_half, mute_rect.ay + height_half, icon_size, 'volume_up', - {border = options.text_border * state.scale, opacity = underlay_opacity, align = 5} - ) - ass:icon(mute_rect.ax + width_half - horizontal_shift, mute_rect.ay + height_half, icon_size, icon_name, - {opacity = visibility, align = 5} - ) - return ass -end - -return Volume diff --git a/scripts/uosc/elements/WindowBorder.lua b/scripts/uosc/elements/WindowBorder.lua deleted file mode 100644 index c872627..0000000 --- a/scripts/uosc/elements/WindowBorder.lua +++ /dev/null @@ -1,35 +0,0 @@ -local Element = require('elements/Element') - ----@class WindowBorder : Element -local WindowBorder = class(Element) - -function WindowBorder:new() return Class.new(self) --[[@as WindowBorder]] end -function WindowBorder:init() - Element.init(self, 'window_border', {render_order = 9999}) - self.size = 0 - self:decide_enabled() -end - -function WindowBorder:decide_enabled() - self.enabled = options.window_border_size > 0 and not state.fullormaxed and not state.border - self.size = self.enabled and round(options.window_border_size * state.scale) or 0 -end - -function WindowBorder:on_prop_border() self:decide_enabled() end -function WindowBorder:on_prop_title_bar() self:decide_enabled() end -function WindowBorder:on_prop_fullormaxed() self:decide_enabled() end -function WindowBorder:on_options() self:decide_enabled() end - -function WindowBorder:render() - if self.size > 0 then - local ass = assdraw.ass_new() - local clip = '\\iclip(' .. self.size .. ',' .. self.size .. ',' .. - (display.width - self.size) .. ',' .. (display.height - self.size) .. ')' - ass:rect(0, 0, display.width + 1, display.height + 1, { - color = bg, clip = clip, opacity = config.opacity.border, - }) - return ass - end -end - -return WindowBorder diff --git a/scripts/uosc/intl/de.json b/scripts/uosc/intl/de.json deleted file mode 100644 index 4e488c1..0000000 --- a/scripts/uosc/intl/de.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "%s are empty": "%s sind leer", - "%s channel": "%s Kanal", - "%s channels": "%s Kanäle", - "%s to search": "%s um zu suchen", - "An error has occurred.": "Ein Fehler ist aufgetreten.", - "Aspect ratio": "Seitenverhältnis", - "Audio": "Audio", - "Audio device": "Audiogerät", - "Audio devices": "Audiogeräte", - "Audio tracks": "Audiospuren", - "Chapter %s": "Kapitel %s", - "Chapters": "Kapitel", - "Default": "Standard", - "Default %s": "Standard %s", - "Delete file & Next": "Lösche Datei & Nächstes", - "Delete file & Prev": "Lösche Datei & Vorheriges", - "Delete file & Quit": "Lösche Datei & Beenden", - "Disabled": "Deaktiviert", - "Download": "Herunterladen", - "Drives": "Laufwerke", - "Drop files or URLs to play here": "Dateien oder URLs zum Abspielen hier ablegen", - "Edition %s": "Edition %s", - "Editions": "Editionen", - "Empty": "Leer", - "First": "Erstes", - "Fullscreen": "Vollbild", - "Key bindings": "Tastenkürzel", - "Last": "Letztes", - "Load": "Hinzufügen", - "Load audio": "Audio hinzufügen", - "Load subtitles": "Untertitel hinzufügen", - "Load video": "Video hinzufügen", - "Loop file": "Datei wiederholen", - "Loop playlist": "Wiedergabeliste wiederholen", - "Menu": "Menü", - "Navigation": "Navigation", - "Next": "Nächstes", - "Next page": "Nächste Seite", - "No file": "Keine Datei", - "Open config folder": "Konfigurationsordner öffnen", - "Open file": "Datei öffnen", - "Play/Pause": "Abspielen/Pause", - "Playlist": "Wiedergabeliste", - "Playlist/Files": "Wiedergabeliste/Dateien", - "Prev": "Vorheriges", - "Previous": "Vorheriges", - "Previous page": "Vorherige Seite", - "Quit": "Beenden", - "Remaining downloads today: %s": "Verbleibende Downloads heute: %s", - "Resets in: %s": "Zurückgesetzt in: %s", - "Screenshot": "Bildschirmfoto", - "See above for clues.": "Siehe oben für Hinweise.", - "Show in directory": "Im Verzeichnis anzeigen", - "Shuffle": "Zufällig", - "Stream quality": "Streamqualität", - "Subtitles": "Untertitel", - "Subtitles loaded & enabled": "Untertitel geladen & aktiviert", - "Track %s": "Spur %s", - "Update uosc": "Aktualisiere uosc", - "Updating uosc": "uosc wird aktualisiert", - "Utils": "Werkzeuge", - "Video": "Video", - "default": "Standard", - "drive": "Laufwerk", - "enter query": "Anfrage eingeben", - "error": "Fehler", - "external": "extern", - "forced": "erzwungen", - "foreign parts only": "nur fremdsprachige Teile", - "hearing impaired": "Gehörgeschädigte", - "invalid response json (see console for details)": "Ungültige JSON-Antwort (siehe Konsole für Details)", - "no results": "Keine Ergebnisse", - "open file": "Datei öffnen", - "parent dir": "übergeordnetes Verzeichnis", - "playlist or file": "Wiedergabeliste oder Datei", - "process exited with code %s (see console for details)": "Prozess endete mit dem Status %s (siehe Konsole für Details)", - "search online": "Suche im Internet", - "type & ctrl+enter to search": "Tippe & Strg+Eingabe um zu suchen", - "type to search": "Tippe um zu suchen", - "unknown error": "Unbekannter Fehler", - "uosc has been installed. Restart mpv for it to take effect.": "uosc wurde installiert. mpv muss neu gestarted werden um es wirksam zu machen." -} diff --git a/scripts/uosc/intl/es.json b/scripts/uosc/intl/es.json deleted file mode 100644 index 4679541..0000000 --- a/scripts/uosc/intl/es.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "%s are empty": "%s están vacíos", - "%s channel": "%s canal", - "%s channels": "%s canales", - "%s to delete": "%s para eliminar", - "%s to go up in tree.": "%s para subir en el árbol", - "%s to reorder.": "%s para reordenar", - "%s to search": "%s para buscar", - "Add to playlist": "Añadir a lista de reproducción", - "Added to playlist": "Añadido a lista de reproducción", - "An error has occurred.": "Un error ha ocurrido.", - "Aspect ratio": "Relación de aspecto", - "Audio": "Audio", - "Audio device": "Dispositivo de audio", - "Audio devices": "Dispositivos de audio", - "Audio tracks": "Pistas de audio", - "Chapter %s": "Capítulo %s", - "Chapters": "Capítulos", - "Copied to clipboard": "Copiado al portapapeles", - "Default": "Por defecto", - "Default %s": "Por defecto %s", - "Delete": "Eliminar", - "Delete file & Next": "Eliminar archivo y siguiente", - "Delete file & Prev": "Eliminar archivo y anterior", - "Delete file & Quit": "Eliminar archivo y salir", - "Drives": "Unidades", - "Drop files or URLs to play here": "Soltar archivos o URLs aquí para reproducirlas", - "Edition %s": "Edición %s", - "Editions": "Ediciones", - "Empty": "Vacío", - "First": "Primero", - "Fullscreen": "Pantalla completa", - "Key bindings": "Atajos de teclas", - "Last": "Último", - "Load": "Abrir", - "Load audio": "Añadir una pista de audio", - "Load subtitles": "Añadir una pista de subtítulos", - "Load video": "Añadir una pista de vídeo", - "Loaded audio": "Audio cargado", - "Loaded subtitles": "Subtítulos cargados", - "Loaded video": "Vídeos cargados", - "Loop file": "Repetir archivo", - "Loop playlist": "Repetir lista de reproducción", - "Menu": "Menú", - "Move down": "Moverse abajo", - "Move up": "Moverse arriba", - "Navigation": "Navegación", - "Next": "Siguiente", - "Next page": "Página siguiente", - "No file": "Ningún archivo", - "Open config folder": "Abrir carpeta de configuración", - "Open file": "Abrir archivo", - "Open in browser": "Abrir en navegador", - "Open in mpv": "Abrir en mpv", - "Paste path or url to add.": "Pegar ruta o url a añadir.", - "Paste path or url to open.": "Pegar ruta o url a abrir.", - "Play/Pause": "Reproducir/Pausa", - "Playlist": "Lista de reproducción", - "Playlist/Files": "Lista de reproducción/Archivos", - "Prev": "Anterior", - "Previous": "Anterior", - "Previous page": "Página anterior", - "Quit": "Salir", - "Reload": "Recargar", - "Remaining downloads today: %s": "Descargas restantes por hoy: %s", - "Remove": "Eliminar", - "Resets in: %s": "Restablecer en: %s", - "Screenshot": "Captura de pantalla", - "Search online": "Buscar en línea", - "See above for clues.": "Vea arriba para más pistas", - "See console for details.": "Vea la consola para más detalles", - "Show in directory": "Mostrar en la carpeta", - "Shuffle": "Reproducción aleatoria", - "Something went wrong.": "Algo malió sal", - "Stream quality": "Calidad de la transmisión", - "Subtitles": "Subtítulos", - "Subtitles loaded & enabled": "Subtítulos cargados y habilitados", - "Toggle to disable.": "Alternar para deshabilitar", - "Track %s": "Pista %s", - "Update uosc": "Actualizar uosc", - "Updating uosc": "Actualizando uosc", - "Use as secondary": "Utilizar como secundario", - "Utils": "Utilidades", - "Video": "Vídeo", - "default": "por defecto", - "drive": "unidad", - "enter query": "ingresar consulta", - "external": "externo", - "forced": "forzado", - "foreign parts only": "solo partes extranjeras", - "hearing impaired": "discapacidad auditiva", - "no results": "sin resultados", - "open file": "abrir archivo", - "parent dir": "directorio padre", - "playlist or file": "archivo o lista de reproducción", - "type & ctrl+enter to search": "escriba y presione ctrl+enter para buscar", - "type to search": "escriba para buscar", - "uosc has been installed. Restart mpv for it to take effect.": "uosc ha sido instalado, Reinicie mpv para que tome efecto." -} diff --git a/scripts/uosc/intl/fr.json b/scripts/uosc/intl/fr.json deleted file mode 100644 index 254c74c..0000000 --- a/scripts/uosc/intl/fr.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "Aspect ratio": "Format d'image", - "Audio": "Audio", - "Audio device": "Périphérique audio", - "Audio devices": "Périphériques audio", - "Audio tracks": "Pistes audio", - "Autoselect device": "Sélection automatique", - "Chapter %s": "Chapitre %s", - "Chapters": "Chapitres", - "Default": "Par défaut", - "Default %s": "Par défaut %s", - "Delete file & Next": "Supprimer le fichier et Suivant", - "Delete file & Prev": "Supprimer le fichier et Précédent", - "Delete file & Quit": "Supprimer le fichier et Quitter", - "Disabled": "Désactivé", - "Drives": "Lecteurs", - "Edition": "Édition", - "Edition %s": "Édition %s", - "Editions": "Éditions", - "Empty": "Vide", - "First": "Premier", - "Fullscreen": "Plein écran", - "Last": "Dernier", - "Load": "Ouvrir", - "Load audio": "Ajouter une piste audio", - "Load subtitles": "Ajouter une piste de sous-titres", - "Load video": "Ajouter une piste vidéo", - "Loop file": "Lire en boucle le fichier", - "Loop playlist": "Lire en boucle la liste de lecture", - "Menu": "Menu", - "Navigation": "Navigation", - "Next": "Suivant", - "No file": "Aucun fichier", - "Open config folder": "Ouvrir le dossier de configuration", - "Open file": "Ouvrir un fichier", - "Playlist": "Liste de lecture", - "Playlist/Files": "Liste de lecture / Fichiers", - "Prev": "Précédent", - "Previous": "Précédent", - "Quit": "Quitter", - "Screenshot": "Capture d'écran", - "Show in directory": "Accéder au dossier", - "Shuffle": "Lecture aléatoire", - "Stream quality": "Qualité du flux", - "Subtitles": "Sous-titres", - "Track": "Piste", - "Track %s": "Piste %s", - "Utils": "Outils", - "Video": "Vidéo", - "%s channel": "%s canal", - "%s channels": "%s canaux", - "default": "par défaut", - "drive": "lecteur", - "external": "externe", - "forced": "forcé", - "open file": "sélectionner un fichier", - "parent dir": "répertoire parent", - "playlist or file": "fichier ou liste de lecture" -} diff --git a/scripts/uosc/intl/pl.json b/scripts/uosc/intl/pl.json deleted file mode 100644 index e7aaed0..0000000 --- a/scripts/uosc/intl/pl.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "%s are empty": "%s są puste", - "%s channel": "%s kanał", - "%s channels": "%s kanały", - "%s to delete": "%s aby usunąć", - "%s to go up in tree.": "%s aby przejść wyżej.", - "%s to reorder.": "%s aby zmienić kolejność.", - "%s to search": "%s aby wyszukać", - "Add to playlist": "Dodaj do listy odtwarzania", - "Added to playlist": "Dodano do listy odtwarzania", - "An error has occurred.": "Wystąpił błąd.", - "Aspect ratio": "Proporcje obrazu", - "Audio": "Dźwięk", - "Audio device": "Urządzenie audio", - "Audio devices": "Urządzenia audio", - "Audio tracks": "Ścieżki audio", - "Autoload": "Automatyczne ładowanie", - "Chapter %s": "Rozdział %s", - "Chapters": "Rozdziały", - "Check for updates": "Sprawdź aktualizacje", - "Checking for updates": "Sprawdzanie aktualizacji", - "Close": "Zamknij", - "Copied to clipboard": "Skopiowano do schowka", - "Default": "Domyślne", - "Default %s": "Domyślne %s", - "Delete": "Usuń", - "Delete file & Next": "Usuń plik i następny", - "Delete file & Prev": "Usuń plik i poprzedni", - "Delete file & Quit": "Usuń plik i zakończ", - "Drives": "Dyski", - "Drop files or URLs to play here": "Przeciągnij pliki lub adresy URL, aby odtworzyć", - "Edition %s": "Edycja %s", - "Editions": "Edycje", - "Empty": "Puste", - "First": "Pierwszy", - "Fullscreen": "Pełny ekran", - "Key bindings": "Skróty klawiszowe", - "Last": "Ostatni", - "Load": "Wczytaj", - "Load audio": "Wczytaj dźwięk", - "Load subtitles": "Wczytaj napisy", - "Load video": "Wczytaj wideo", - "Loaded audio": "Wczytano dźwięk", - "Loaded subtitles": "Wczytano napisy", - "Loaded video": "Wczytano wideo", - "Loop file": "Zapętl plik", - "Loop playlist": "Zapętl listę odtwarzania", - "Menu": "Menu", - "Move down": "Przesuń w dół", - "Move up": "Przesuń w górę", - "Navigation": "Nawigacja", - "Next": "Następny", - "Next page": "Następna strona", - "No file": "Brak pliku", - "Nothing to copy": "Nic do skopiowania", - "Open changelog": "Otwórz dziennik zmian", - "Open config folder": "Otwórz folder konfiguracji", - "Open file": "Otwórz plik", - "Open in browser": "Otwórz w przeglądarce", - "Open in mpv": "Otwórz w mpv", - "Paste path or url to add.": "Wklej ścieżkę lub adres URL, aby dodać.", - "Paste path or url to open.": "Wklej ścieżkę lub adres URL, aby otworzyć.", - "Play/Pause": "Odtwórz/Pauza", - "Playlist": "Lista odtwarzania", - "Playlist/Files": "Lista odtwarzania/Pliki", - "Prev": "Poprzedni", - "Previous": "Poprzedni", - "Previous page": "Poprzednia strona", - "Quit": "Zakończ", - "Reload": "Odśwież", - "Remaining downloads today: %s": "Pozostałe pobrania dzisiaj: %s", - "Remove": "Usuń", - "Resets in: %s": "Resetuje się za: %s", - "Screenshot": "Zrzut ekranu", - "Search online": "Szukaj online", - "See above for clues.": "Zobacz wskazówki powyżej.", - "See console for details.": "Sprawdź szczegóły w konsoli.", - "Show in directory": "Pokaż w katalogu", - "Shuffle": "Losowo", - "Something went wrong.": "Coś poszło nie tak.", - "Stream quality": "Jakość strumienia", - "Subtitles": "Napisy", - "Subtitles loaded & enabled": "Napisy wczytane i włączone", - "Toggle to disable.": "Kliknij, aby wyłączyć.", - "Track %s": "Ścieżka %s", - "Up to date": "Aktualny", - "Update available": "Dostępna aktualizacja", - "Update uosc": "Aktualizuj uosc", - "Updating uosc": "Aktualizowanie uosc", - "Use as secondary": "Użyj jako dodatkowe", - "Utils": "Narzędzia", - "Video": "Wideo", - "default": "domyślne", - "drive": "dysk", - "enter query": "wprowadź zapytanie", - "external": "zewnętrzne", - "forced": "wymuszone", - "foreign parts only": "tylko obce fragmenty", - "hearing impaired": "dla niesłyszących", - "no results": "brak wyników", - "open file": "otwórz plik", - "parent dir": "katalog nadrzędny", - "playlist or file": "lista odtwarzania lub plik", - "type & ctrl+enter to search": "wpisz i ctrl+enter aby wyszukać", - "type to search": "wpisz aby wyszukać", - "uosc has been installed. Restart mpv for it to take effect.": "uosc został zainstalowany. Uruchom ponownie mpv, aby zmiany zostały zastosowane." -} diff --git a/scripts/uosc/intl/ro.json b/scripts/uosc/intl/ro.json deleted file mode 100644 index 82bc3df..0000000 --- a/scripts/uosc/intl/ro.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "Aspect ratio": "Raportul de aspect", - "Audio": "Audio", - "Audio device": "Dispozitiv audio", - "Audio devices": "Dispozitive audio", - "Audio tracks": "Piese audio", - "Autoselect device": "Selectare automată", - "Chapter %s": "Capitolul %s", - "Chapters": "Capitole", - "Default": "Implicit", - "Default %s": "Implicit %s", - "Delete file & Next": "Ștergere fișier și următorul", - "Delete file & Prev": "Ștergere fișier și anteriorul", - "Delete file & Quit": "Ștergere fișier și ieși", - "Disabled": "Dezactivat", - "Drives": "Unități", - "Edition": "Ediție", - "Edition %s": "Ediție %s", - "Editions": "Ediții", - "Empty": "Gol", - "First": "Primul", - "Fullscreen": "Ecran complet", - "Last": "Ultimul", - "Load": "Încarcă", - "Load audio": "Deschide audio", - "Load subtitles": "Deschide subtitrările", - "Load video": "Deschide video", - "Loop file": "Repetă fișierul", - "Loop playlist": "Repetă lista de redare", - "Menu": "Meniu", - "Navigation": "Navigare", - "Next": "Următor", - "No file": "Niciun fisier", - "Open config folder": "Deschide dosarul de configurație", - "Open file": "Deschide fișierul", - "Playlist": "Listă de redare", - "Playlist/Files": "Listă de redare/Fișiere", - "Prev": "Precedent", - "Previous": "Precedent", - "Quit": "Ieșire", - "Screenshot": "Captură de ecran", - "Show in directory": "Arată în dosar", - "Shuffle": "Amestecă", - "Stream quality": "Calitatea fluxului", - "Subtitles": "Subtitrări", - "Track": "Pistă", - "Track %s": "Pistă %s", - "Utils": "Utilități", - "Video": "Video", - "%s channel": "%s canal", - "%s channels": "%s canale", - "default": "implicit", - "drive": "unitate", - "external": "extern", - "forced": "forțat", - "open file": "deschide fișierul", - "parent dir": "director părinte", - "playlist or file": "fișier sau listă de redare" -} diff --git a/scripts/uosc/intl/ru.json b/scripts/uosc/intl/ru.json deleted file mode 100644 index 2dc148e..0000000 --- a/scripts/uosc/intl/ru.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "Aspect ratio": "Соотношение сторон", - "Audio": "Аудио", - "Audio device": "Аудиоустройство", - "Audio devices": "Аудиоустройства", - "Audio tracks": "Аудиодорожки", - "Autoselect device": "Автовыбор устройства", - "Chapter %s": "Глава %s", - "Chapters": "Главы", - "Default": "По умолчанию", - "Default %s": "По умолчанию %s", - "Delete file & Next": "Удалить файл и след.", - "Delete file & Prev": "Удалить файл и пред.", - "Delete file & Quit": "Удалить файл и выйти", - "Disabled": "Отключено", - "Drives": "Диски", - "Edition": "Редакция", - "Edition %s": "Редакция %s", - "Editions": "Редакции", - "Empty": "Пусто", - "First": "Первый", - "Fullscreen": "Полный экран", - "Last": "Последний", - "Load": "Загрузить", - "Load audio": "Загрузить аудио", - "Load subtitles": "Загрузить субтитры", - "Load video": "Загрузить видео", - "Loop file": "Повторять файл", - "Loop playlist": "Повторять плейлист", - "Menu": "Меню", - "Navigation": "Навигация", - "Next": "Следующий", - "No file": "Нет файла", - "Open config folder": "Открыть папку конфигурации", - "Open file": "Открыть файл", - "Playlist": "Плейлист", - "Playlist/Files": "Плейлист / файлы", - "Prev": "Предыдущий", - "Previous": "Предыдущий", - "Quit": "Выйти", - "Screenshot": "Скриншот", - "Show in directory": "Показать в папке", - "Shuffle": "Перемешать", - "Stream quality": "Качество потока", - "Subtitles": "Субтитры", - "Track": "Дорожка", - "Track %s": "Дорожка %s", - "Utils": "Инструменты", - "Video": "Видео", - "%s channels": "%s канала/-ов", - "%s channel": "%s канал", - "default": "по умолчанию", - "drive": "диск", - "external": "внешняя", - "forced": "форсированная", - "open file": "открыть файл", - "parent dir": "родительская папка", - "playlist or file": "плейлист или файл" -} diff --git a/scripts/uosc/intl/tr.json b/scripts/uosc/intl/tr.json deleted file mode 100644 index 4928c2f..0000000 --- a/scripts/uosc/intl/tr.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "%s are empty": "%s boş", - "%s channel": "%s kanal", - "%s channels": "%s kanallar", - "%s to delete": "%s silmek için", - "%s to go up in tree.": "%s yukarı gitmek için.", - "%s to reorder.": "%s yeniden sıralamak için.", - "%s to search": "%s aramak için", - "Add to playlist": "Çalma listesine ekle", - "Added to playlist": "Çalma listesine eklendi", - "An error has occurred.": "Bir hata oluştu.", - "Aspect ratio": "En-boy oranı", - "Audio": "Ses", - "Audio device": "Ses cihazı", - "Audio devices": "Ses cihazları", - "Audio tracks": "Ses parçaları", - "Autoload": "Otomatik yükleme", - "Chapter %s": "Bölüm %s", - "Chapters": "Bölümler", - "Check for updates": "Güncellemeleri kontrol et", - "Checking for updates": "Güncellemeler kontrol ediliyor", - "Close": "Kapat", - "Copied to clipboard": "Panoya kopyalandı", - "Default": "Varsayılan", - "Default %s": "Varsayılan %s", - "Delete": "Sil", - "Delete file & Next": "Dosyayı sil & Sonraki", - "Delete file & Prev": "Dosyayı sil & Önceki", - "Delete file & Quit": "Dosyayı sil & Çık", - "Drives": "Sürücüler", - "Drop files or URLs to play here": "Dosyaları veya URL'leri buraya bırakın", - "Edition %s": "Sürüm %s", - "Editions": "Sürümler", - "Empty": "Boş", - "First": "İlk", - "Fullscreen": "Tam ekran", - "Key bindings": "Tuş atamaları", - "Last": "Son", - "Load": "Yükle", - "Load audio": "Ses yükle", - "Load subtitles": "Altyazı yükle", - "Load video": "Video yükle", - "Loaded audio": "Ses yüklendi", - "Loaded subtitles": "Altyazı yüklendi", - "Loaded video": "Video yüklendi", - "Loop file": "Dosyayı döngüye al", - "Loop playlist": "Çalma listesini döngüye al", - "Menu": "Menü", - "Move down": "Aşağı taşı", - "Move up": "Yukarı taşı", - "Navigation": "Gezinme", - "Next": "Sonraki", - "Next page": "Sonraki sayfa", - "No file": "Dosya yok", - "Nothing to copy": "Kopyalanacak bir şey yok", - "Open changelog": "Değişiklik günlüğünü aç", - "Open config folder": "Yapılandırma klasörünü aç", - "Open file": "Dosya aç", - "Open in browser": "Tarayıcıda aç", - "Open in mpv": "mpv'de aç", - "Paste path or url to add.": "Eklemek için yolu veya URL'yi yapıştırın.", - "Paste path or url to open.": "Açmak için yolu veya URL'yi yapıştırın.", - "Play/Pause": "Oynat/Duraklat", - "Playlist": "Çalma listesi", - "Playlist/Files": "Çalma listesi/Dosyalar", - "Prev": "Önceki", - "Previous": "Önceki", - "Previous page": "Önceki sayfa", - "Quit": "Çıkış", - "Reload": "Yeniden yükle", - "Remaining downloads today: %s": "Bugünkü kalan indirmeler: %s", - "Remove": "Kaldır", - "Resets in: %s": "%s içinde sıfırlanacak", - "Screenshot": "Ekran görüntüsü", - "Search online": "Çevrimiçi ara", - "See above for clues.": "İpuçları için yukarıya bakın.", - "See console for details.": "Ayrıntılar için konsola bakın.", - "Show in directory": "Dizinde göster", - "Shuffle": "Karıştır", - "Something went wrong.": "Bir şeyler ters gitti.", - "Stream quality": "Yayın kalitesi", - "Subtitles": "Altyazılar", - "Subtitles loaded & enabled": "Altyazılar yüklendi ve etkinleştirildi", - "Toggle to disable.": "Devre dışı bırakmak için değiştir.", - "Track %s": "Parça %s", - "Up to date": "Güncel", - "Update available": "Güncelleme mevcut", - "Update uosc": "uosc güncelle", - "Updating uosc": "uosc güncelleniyor", - "Use as secondary": "İkincil olarak kullan", - "Utils": "Araçlar", - "Video": "Video", - "default": "varsayılan", - "drive": "sürücü", - "enter query": "Sorgu gir", - "external": "harici", - "forced": "zorunlu", - "foreign parts only": "sadece yabancı bölümler", - "hearing impaired": "işitme engelli", - "no results": "Sonuç yok", - "open file": "Dosya aç", - "parent dir": "üst dizin", - "playlist or file": "çalma listesi veya dosya", - "type & ctrl+enter to search": "Yaz & aramak için Ctrl+Enter'a bas", - "type to search": "Aramak için yaz", - "uosc has been installed. Restart mpv for it to take effect.": "uosc yüklendi. Etkin olması için mpv'yi yeniden başlatın." -} diff --git a/scripts/uosc/intl/uk.json b/scripts/uosc/intl/uk.json deleted file mode 100644 index a5ced6d..0000000 --- a/scripts/uosc/intl/uk.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "Aspect ratio": "Співвідношення сторін", - "Audio": "Аудіо", - "Audio device": "Аудіопристрій", - "Audio devices": "Аудіопристрої", - "Audio tracks": "Аудіодоріжки", - "Autoselect device": "Автовибір пристрою", - "Chapter %s": "Розділ %s", - "Chapters": "Розділи", - "Default": "За замовчуванням", - "Default %s": "За замовчуванням %s", - "Delete file & Next": "Видалити файл & Наступний", - "Delete file & Prev": "Видалити файл & Попередній", - "Delete file & Quit": "Видалити файл & Вийти", - "Disabled": "Вимкнено", - "Drives": "Диски", - "Edition": "Видання", - "Edition %s": "Видання %s", - "Editions": "Видання", - "Empty": "Порожньо", - "First": "Перший", - "Fullscreen": "На весь екран", - "Last": "Останній", - "Load": "Завантажити", - "Load audio": "Завантажити аудіо", - "Load subtitles": "Завантажити субтитри", - "Load video": "Завантажити відео", - "Loop file": "Повторювати файл", - "Loop playlist": "Повторювати плейліст", - "Menu": "Меню", - "Navigation": "Навігація", - "Next": "Наступний", - "No file": "Файл відсутній", - "Open config folder": "Відкрити каталог конфігурації", - "Open file": "Відкрити файл", - "Playlist": "Плейліст", - "Playlist/Files": "Плейліст / Файли", - "Prev": "Попередній", - "Previous": "Попередній", - "Quit": "Вийти", - "Screenshot": "Скриншот", - "Show in directory": "Показати в каталозі", - "Shuffle": "Перемішати", - "Stream quality": "Якість потоку", - "Subtitles": "Субтитри", - "Track": "Трек", - "Track %s": "Трек %s", - "Utils": "Інструменти", - "Video": "Відео", - "%s channels": "%s канали/-ів", - "%s channel": "%s канал", - "default": "за замовчуванням", - "drive": "диск", - "external": "зовнішня", - "forced": "примусова", - "open file": "відкрити файл", - "parent dir": "батьківський каталог", - "playlist or file": "плейліст або файл", - "type to search": "Введіть для пошуку", - "type & ctrl+enter to search": "Введіть & Ctrl+Enter для пошуку", - "Key bindings": "Комбінації клавіш", - "Drop files or URLs to play here": "Перемістіть файли або URL-адреси для відтворення сюди", - "Update uosc": "Оновити uosc", - "Updating uosc": "uosc оновлюється", - "uosc has been installed. Restart mpv for it to take effect.": "uosc встановлено. mpv потрібно перезапустити.", - "An error has occurred.": "Сталася помилка.", - "See above for clues.": "Дивіться підказки вище.", - "Play/Pause": "Відтворення / Пауза" -} diff --git a/scripts/uosc/intl/zh-hans.json b/scripts/uosc/intl/zh-hans.json deleted file mode 100644 index 5411c65..0000000 --- a/scripts/uosc/intl/zh-hans.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "%s are empty": "%s 为空", - "%s channel": "%s 声道", - "%s channels": "%s 声道", - "%s to delete": "使用 %s 进行删除", - "%s to go up in tree.": "使用 %s 返回上一级", - "%s to reorder.": "使用 %s 重新排序", - "%s to search": "使用 %s 进行搜索", - "Add to playlist": "添加到播放列表", - "Added to playlist": "已添加到播放列表", - "An error has occurred.": "出现错误", - "Aspect ratio": "纵横比", - "Audio": "音频", - "Audio device": "音频设备", - "Audio devices": "音频设备", - "Audio tracks": "音频轨道", - "Chapter %s": "第 %s 章", - "Chapters": "章节", - "Copied to clipboard": "已复制到剪贴板", - "Default": "默认", - "Default %s": "默认 %s", - "Delete": "删除", - "Delete file & Next": "删除文件并播放下一个", - "Delete file & Prev": "删除文件并播放上一个", - "Delete file & Quit": "删除文件并退出", - "Drives": "驱动器", - "Drop files or URLs to play here": "拖放文件或 URLs 到此处进行播放", - "Edition %s": "版本 %s", - "Editions": "版本", - "Empty": "空", - "First": "第一个", - "Fullscreen": "全屏", - "Key bindings": "键位绑定", - "Last": "最后一个", - "Load": "加载", - "Load audio": "加载音轨", - "Load subtitles": "加载字幕", - "Load video": "加载视频轨", - "Loaded audio": "已加载音轨", - "Loaded subtitles": "已加载字幕", - "Loaded video": "已加载视频轨", - "Loop file": "单个循环", - "Loop playlist": "列表循环", - "Menu": "菜单", - "Move down": "下移", - "Move up": "上移", - "Navigation": "导航", - "Next": "下一个", - "Next page": "下一页", - "No file": "无文件", - "Open config folder": "打开配置文件夹", - "Open file": "打开文件", - "Open in browser": "在浏览器中打开", - "Open in mpv": "在 mpv 中打开", - "Paste path or url to add.": "粘贴路径或网址以添加", - "Paste path or url to open.": "粘贴路径或网址以打开", - "Play/Pause": "播放/暂停", - "Playlist": "播放列表", - "Playlist/Files": "播放列表/文件列表", - "Prev": "上一个", - "Previous": "上一个", - "Previous page": "上一页", - "Quit": "退出", - "Reload": "重载", - "Remaining downloads today: %s": "今天的剩余下载量: %s", - "Remove": "移除", - "Resets in: %s": "重置: %s", - "Screenshot": "截图", - "Search online": "在线搜索", - "See above for clues.": "线索见上文", - "See console for details.": "参阅控制台了解详细信息", - "Show in directory": "打开所在文件夹", - "Shuffle": "乱序", - "Something went wrong.": "出错了", - "Stream quality": "流媒体品质", - "Subtitles": "字幕", - "Subtitles loaded & enabled": "字幕已加载并启用", - "Toggle to disable.": "点击切换禁用状态", - "Track %s": "轨道 %s", - "Update uosc": "更新 uosc", - "Updating uosc": "正在更新 uosc", - "Use as secondary": "设置为次字幕", - "Utils": "工具", - "Video": "视频", - "default": "默认", - "drive": "磁盘", - "enter query": "输入查询", - "external": "外置", - "forced": "强制", - "foreign parts only": "仅限外语部分", - "hearing impaired": "听力障碍", - "no results": "没有结果", - "open file": "打开文件", - "parent dir": "父文件夹", - "playlist or file": "播放列表或文件", - "type & ctrl+enter to search": "输入并按 ctrl+enter 进行搜索", - "type to search": "输入搜索内容", - "uosc has been installed. Restart mpv for it to take effect.": "uosc 已经安装,重新启动 mpv 使其生效" -} diff --git a/scripts/uosc/lib/ass.lua b/scripts/uosc/lib/ass.lua deleted file mode 100644 index c20349f..0000000 --- a/scripts/uosc/lib/ass.lua +++ /dev/null @@ -1,268 +0,0 @@ ---[[ ASSDRAW EXTENSIONS ]] - -local ass_mt = getmetatable(assdraw.ass_new()) - --- Opacity. ----@param self table|nil ----@param opacity number|{primary?: number; border?: number, shadow?: number, main?: number} Opacity of all elements. ----@param fraction? number Optionally adjust the above opacity by this fraction. ----@return string|nil -function ass_mt.opacity(self, opacity, fraction) - fraction = fraction ~= nil and fraction or 1 - opacity = type(opacity) == 'table' and opacity or {main = opacity} - local text = '' - if opacity.main then - text = text .. string.format('\\alpha&H%X&', opacity_to_alpha(opacity.main * fraction)) - end - if opacity.primary then - text = text .. string.format('\\1a&H%X&', opacity_to_alpha(opacity.primary * fraction)) - end - if opacity.border then - text = text .. string.format('\\3a&H%X&', opacity_to_alpha(opacity.border * fraction)) - end - if opacity.shadow then - text = text .. string.format('\\4a&H%X&', opacity_to_alpha(opacity.shadow * fraction)) - end - if self == nil then - return text - elseif text ~= '' then - self.text = self.text .. '{' .. text .. '}' - end -end - --- Icon. ----@param x number ----@param y number ----@param size number ----@param name string ----@param opts? {color?: string; border?: number; border_color?: string; opacity?: number; clip?: string; align?: number} -function ass_mt:icon(x, y, size, name, opts) - opts = opts or {} - opts.font, opts.size, opts.bold = 'MaterialIconsRound-Regular', size, false - self:txt(x, y, opts.align or 5, name, opts) -end - --- Text. --- Named `txt` because `ass.text` is a value. ----@param x number ----@param y number ----@param align number ----@param value string|number ----@param opts {size: number; font?: string; color?: string; bold?: boolean; italic?: boolean; border?: number; border_color?: string; shadow?: number; shadow_color?: string; rotate?: number; wrap?: number; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}; clip?: string} -function ass_mt:txt(x, y, align, value, opts) - local border_size = opts.border or 0 - local shadow_size = opts.shadow or 0 - local tags = '\\pos(' .. x .. ',' .. y .. ')\\rDefault\\an' .. align .. '\\blur0' - -- font - tags = tags .. '\\fn' .. (opts.font or config.font) - -- font size - tags = tags .. '\\fs' .. opts.size - -- bold - if opts.bold or (opts.bold == nil and options.font_bold) then tags = tags .. '\\b1' end - -- italic - if opts.italic then tags = tags .. '\\i1' end - -- rotate - if opts.rotate then tags = tags .. '\\frz' .. opts.rotate end - -- wrap - if opts.wrap then tags = tags .. '\\q' .. opts.wrap end - -- border - tags = tags .. '\\bord' .. border_size - -- shadow - tags = tags .. '\\shad' .. shadow_size - -- colors - tags = tags .. '\\1c&H' .. (opts.color or bgt) - if border_size > 0 then tags = tags .. '\\3c&H' .. (opts.border_color or bg) end - if shadow_size > 0 then tags = tags .. '\\4c&H' .. (opts.shadow_color or bg) end - -- opacity - if opts.opacity then tags = tags .. self.opacity(nil, opts.opacity) end - -- clip - if opts.clip then tags = tags .. opts.clip end - -- render - self:new_event() - self.text = self.text .. '{' .. tags .. '}' .. value -end - --- Tooltip. ----@param element Rect ----@param value string|number ----@param opts? {size?: number; align?: number; offset?: number; bold?: boolean; italic?: boolean; width_overwrite?: number, margin?: number; responsive?: boolean; lines?: integer, timestamp?: boolean; invert_colors?: boolean} -function ass_mt:tooltip(element, value, opts) - if value == '' then return end - opts = opts or {} - opts.size = opts.size or round(16 * state.scale) - opts.border = options.text_border * state.scale - opts.border_color = opts.invert_colors and fg or bg - opts.margin = opts.margin or round(10 * state.scale) - opts.lines = opts.lines or 1 - opts.color = opts.invert_colors and bg or fg - local offset = opts.offset or 2 - local padding_y = round(opts.size / 6) - local padding_x = round(opts.size / 3) - local width = (opts.width_overwrite or text_width(value, opts)) + padding_x * 2 - local height = opts.size * opts.lines + 2 * padding_y - local width_half, height_half = width / 2, height / 2 - local margin = opts.margin + Elements:v('window_border', 'size', 0) - local align = opts.align or 8 - - local x, y = 0, 0 -- center of tooltip - - -- Flip alignment to other side when not enough space - if opts.responsive ~= false then - if align == 8 then - if element.ay - offset - height < margin then align = 2 end - elseif align == 2 then - if element.by + offset + height > display.height - margin then align = 8 end - elseif align == 6 then - if element.bx + offset + width > display.width - margin then align = 4 end - elseif align == 4 then - if element.ax - offset - width < margin then align = 6 end - end - end - - -- Calculate tooltip center based on alignment - if align == 8 or align == 2 then - x = clamp(margin + width_half, element.ax + (element.bx - element.ax) / 2, display.width - margin - width_half) - y = align == 8 and element.ay - offset - height_half or element.by + offset + height_half - else - x = align == 6 and element.bx + offset + width_half or element.ax - offset - width_half - y = clamp(margin + height_half, element.ay + (element.by - element.ay) / 2, display.height - margin - height_half) - end - - -- Draw - local ax, ay, bx, by = round(x - width_half), round(y - height_half), round(x + width_half), round(y + height_half) - self:rect(ax, ay, bx, by, { - color = opts.invert_colors and fg or bg, opacity = config.opacity.tooltip, radius = state.radius - }) - local func = opts.timestamp and self.timestamp or self.txt - func(self, x, y, 5, tostring(value), opts) - return {ax = element.ax, ay = ay, bx = element.bx, by = by} -end - --- Timestamp with each digit positioned as if it was replaced with 0 ----@param x number ----@param y number ----@param align number ----@param timestamp string ----@param opts {size: number; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}} -function ass_mt:timestamp(x, y, align, timestamp, opts) - local widths, width_total = {}, 0 - zero_rep = timestamp_zero_rep(timestamp) - for i = 1, #zero_rep do - local width = text_width(zero_rep:sub(i, i), opts) - widths[i] = width - width_total = width_total + width - end - - -- shift x and y to fit align 5 - local mod_align = align % 3 - if mod_align == 0 then - x = x - width_total - elseif mod_align == 2 then - x = x - width_total / 2 - end - if align < 4 then - y = y - opts.size / 2 - elseif align > 6 then - y = y + opts.size / 2 - end - - local opacity = opts.opacity - local primary_opacity - if type(opacity) == 'table' then - opts.opacity = {main = opacity.main, border = opacity.border, shadow = opacity.shadow, primary = 0} - primary_opacity = opacity.primary or opacity.main - else - opts.opacity = {main = opacity, primary = 0} - primary_opacity = opacity - end - for i, width in ipairs(widths) do - self:txt(x + width / 2, y, 5, timestamp:sub(i, i), opts) - x = x + width - end - x = x - width_total - opts.opacity = {main = 0, primary = primary_opacity or 1} - for i, width in ipairs(widths) do - self:txt(x + width / 2, y, 5, timestamp:sub(i, i), opts) - x = x + width - end - opts.opacity = opacity -end - --- Rectangle. ----@param ax number ----@param ay number ----@param bx number ----@param by number ----@param opts? {color?: string; border?: number; border_color?: string; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}; clip?: string, radius?: number} -function ass_mt:rect(ax, ay, bx, by, opts) - opts = opts or {} - local border_size = opts.border or 0 - local tags = '\\pos(0,0)\\rDefault\\an7\\blur0' - -- border - tags = tags .. '\\bord' .. border_size - -- colors - tags = tags .. '\\1c&H' .. (opts.color or fg) - if border_size > 0 then tags = tags .. '\\3c&H' .. (opts.border_color or bg) end - -- opacity - if opts.opacity then tags = tags .. self.opacity(nil, opts.opacity) end - -- clip - if opts.clip then - tags = tags .. opts.clip - end - -- draw - self:new_event() - self.text = self.text .. '{' .. tags .. '}' - self:draw_start() - if opts.radius and opts.radius > 0 then - self:round_rect_cw(ax, ay, bx, by, opts.radius) - else - self:rect_cw(ax, ay, bx, by) - end - self:draw_stop() -end - --- Circle. ----@param x number ----@param y number ----@param radius number ----@param opts? {color?: string; border?: number; border_color?: string; opacity?: number; clip?: string} -function ass_mt:circle(x, y, radius, opts) - opts = opts or {} - opts.radius = radius - self:rect(x - radius, y - radius, x + radius, y + radius, opts) -end - --- Texture. ----@param ax number ----@param ay number ----@param bx number ----@param by number ----@param char string Texture font character. ----@param opts {size?: number; color: string; opacity?: number; clip?: string; anchor_x?: number, anchor_y?: number} -function ass_mt:texture(ax, ay, bx, by, char, opts) - opts = opts or {} - local anchor_x, anchor_y = opts.anchor_x or ax, opts.anchor_y or ay - local clip = opts.clip or ('\\clip(' .. ax .. ',' .. ay .. ',' .. bx .. ',' .. by .. ')') - local tile_size, opacity = opts.size or 100, opts.opacity or 0.2 - local x, y = ax - (ax - anchor_x) % tile_size, ay - (ay - anchor_y) % tile_size - local width, height = bx - x, by - y - local line = string.rep(char, math.ceil((width / tile_size))) - local lines = '' - for i = 1, math.ceil(height / tile_size), 1 do lines = lines .. (lines == '' and '' or '\\N') .. line end - self:txt( - x, y, 7, lines, - {font = 'uosc_textures', size = tile_size, color = opts.color, bold = false, opacity = opacity, clip = clip}) -end - --- Rotating spinner icon. ----@param x number ----@param y number ----@param size number ----@param opts? {color?: string; opacity?: number; clip?: string; border?: number; border_color?: string;} -function ass_mt:spinner(x, y, size, opts) - opts = opts or {} - opts.rotate = (state.render_last_time * 1.75 % 1) * -360 - opts.color = opts.color or fg - self:icon(x, y, size, 'autorenew', opts) - request_render() -end diff --git a/scripts/uosc/lib/buttons.lua b/scripts/uosc/lib/buttons.lua deleted file mode 100644 index b4551aa..0000000 --- a/scripts/uosc/lib/buttons.lua +++ /dev/null @@ -1,74 +0,0 @@ ----@alias ButtonData {icon: string; active?: boolean; badge?: string; command?: string | string[]; tooltip?: string;} ----@alias ButtonSubscriber fun(data: ButtonData) - -local buttons = { - ---@type ButtonData[] - data = {}, - ---@type table - subscribers = {}, -} - ----@param name string ----@return ButtonData -function buttons:get(name) - return self.data[name] or {icon = 'help_center', tooltip = 'Uninitialized button "' .. name .. '"'} -end - ----@param name string ----@param callback fun(data: ButtonData) -function buttons:subscribe(name, callback) - local pool = self.subscribers[name] - if not pool then - pool = {} - self.subscribers[name] = pool - end - pool[#pool + 1] = callback - return function() buttons:unsubscribe(name, callback) end -end - ----@param name string ----@param callback? ButtonSubscriber -function buttons:unsubscribe(name, callback) - if self.subscribers[name] then - if callback == nil then - self.subscribers[name] = {} - else - itable_delete_value(self.subscribers[name], callback) - end - end -end - ----@param name string -function buttons:trigger(name) - local pool = self.subscribers[name] - if pool then - local data = self:get(name) - for _, callback in ipairs(pool) do callback(data) end - end -end - ----@param name string ----@param data ButtonData -function buttons:set(name, data) - buttons.data[name] = data - buttons:trigger(name) - request_render() -end - -mp.register_script_message('set-button', function(name, data) - if type(name) ~= 'string' then - msg.error('Invalid set-button message parameter: 1st parameter (name) has to be a string.') - return - end - if type(data) ~= 'string' then - msg.error('Invalid set-button message parameter: 2nd parameter (data) has to be a string.') - return - end - - local data = utils.parse_json(data) - if type(data) == 'table' and type(data.icon) == 'string' then - buttons:set(name, data) - end -end) - -return buttons diff --git a/scripts/uosc/lib/char_conv.lua b/scripts/uosc/lib/char_conv.lua deleted file mode 100644 index 07085b2..0000000 --- a/scripts/uosc/lib/char_conv.lua +++ /dev/null @@ -1,66 +0,0 @@ -require('lib/text') - -local char_dir = mp.get_script_directory() .. '/char-conv/' -local data = {} - -local languages = get_languages() -for _, lang in ipairs(languages) do - table_assign(data, get_locale_from_json(char_dir .. lang:lower() .. '.json')) -end - -local romanization = {} - -local function get_romanization_table() - for k, v in pairs(data) do - for _, char in utf8_iter(v) do - romanization[char] = k - end - end -end -get_romanization_table() - -function need_romanization() - return next(romanization) ~= nil -end - -function char_conv(chars, use_ligature, has_separator) - local separator = has_separator or ' ' - local length = 0 - local char_conv, sp, cache = {}, {}, {} - local roman_list = {} - local chars_length = utf8_length(chars) - local concat = table.concat - for _, char in utf8_iter(chars) do - local match = romanization[char] or char - roman_list[#roman_list + 1] = match - if use_ligature then - char_conv[#char_conv + 1] = match - else - length = length + 1 - if #char <= 2 then - if (char ~= ' ' and length ~= chars_length) then - cache[#cache + 1] = match - elseif (char == ' ' or length == chars_length) then - if length == chars_length then - cache[#cache + 1] = match - end - sp[#sp + 1] = concat(cache) - itable_clear(cache) - end - else - if next(cache) ~= nil then - sp[#sp + 1] = concat(cache) - itable_clear(cache) - end - sp[#sp + 1] = match - end - end - end - if use_ligature then - return concat(char_conv), roman_list - else - return concat(sp, separator), roman_list - end -end - -return char_conv diff --git a/scripts/uosc/lib/cursor.lua b/scripts/uosc/lib/cursor.lua deleted file mode 100644 index c581e38..0000000 --- a/scripts/uosc/lib/cursor.lua +++ /dev/null @@ -1,469 +0,0 @@ ----@alias CursorEventHandler fun(shortcut: Shortcut) - -local cursor = { - x = math.huge, - y = math.huge, - hidden = true, - distance = 0, -- Distance traveled during current move. Reset by `cursor.distance_reset_timer`. - last_hover = false, -- Stores `mouse.hover` boolean of the last mouse event for enter/leave detection. - -- Event handlers that are only fired on zones defined during render loop. - ---@type {event: string, hitbox: Hitbox; handler: CursorEventHandler}[] - zones = {}, - handlers = { - primary_down = {}, - primary_up = {}, - secondary_down = {}, - secondary_up = {}, - wheel_down = {}, - wheel_up = {}, - move = {}, - }, - first_real_mouse_move_received = false, - history = CircularBuffer:new(10), - autohide_fs_only = nil, - -- Tracks current key binding levels for each event. 0: disabled, 1: enabled, 2: enabled + window dragging prevented - binding_levels = { - mbtn_left = 0, - mbtn_left_dbl = 0, - mbtn_right = 0, - wheel = 0, - }, - is_dragging_prevented = false, - event_forward_map = { - primary_down = 'MBTN_LEFT', - primary_up = 'MBTN_LEFT', - secondary_down = 'MBTN_RIGHT', - secondary_up = 'MBTN_RIGHT', - wheel_down = 'WHEEL_DOWN', - wheel_up = 'WHEEL_UP', - }, - event_binding_map = { - primary_down = 'mbtn_left', - primary_up = 'mbtn_left', - primary_click = 'mbtn_left', - secondary_down = 'mbtn_right', - secondary_up = 'mbtn_right', - secondary_click = 'mbtn_right', - wheel_down = 'wheel', - wheel_up = 'wheel', - }, - window_dragging_blockers = create_set({'primary_click', 'primary_down'}), - event_propagation_blockers = { - primary_down = 'primary_click', - primary_click = 'primary_down', - secondary_down = 'secondary_click', - secondary_click = 'secondary_down', - }, - event_meta = { - primary_down = {is_start = true, trigger_event = 'primary_click'}, - primary_up = {is_end = true, start_event = 'primary_down', trigger_event = 'primary_click'}, - secondary_down = {is_start = true, trigger_event = 'secondary_click'}, - secondary_up = {is_end = true, start_event = 'secondary_down', trigger_event = 'secondary_click'}, - }, - -- Holds positions and times of starting events (events that start compound events like click). - ---@type {[string]: {x: number, y: number, time: number, zone_handled: boolean}} - last_events = {}, -} - -cursor.autohide_timer = mp.add_timeout(1, function() cursor:autohide() end) -cursor.autohide_timer:kill() -mp.observe_property('cursor-autohide', 'number', function(_, val) - cursor.autohide_timer.timeout = (val or 1000) / 1000 -end) - -cursor.distance_reset_timer = mp.add_timeout(0.2, function() - cursor.distance = 0 - request_render() -end) -cursor.distance_reset_timer:kill() - --- Called at the beginning of each render -function cursor:clear_zones() - itable_clear(self.zones) -end - ----@param hitbox Hitbox -function cursor:collides_with(hitbox) - return point_collides_with(self, hitbox) -end - --- Returns zone for event at current cursor position. ----@param event string -function cursor:find_zone(event) - -- Premature optimization to ignore a high frequency event that is not needed as a zone atm. - if event == 'move' then return end - - for i = #self.zones, 1, -1 do - local zone = self.zones[i] - local is_blocking_only = zone.event == self.event_propagation_blockers[event] - if (zone.event == event or is_blocking_only) and self:collides_with(zone.hitbox) then - return not is_blocking_only and zone or nil - end - end -end - --- Defines an event zone for a hitbox on currently rendered screen. Available events: --- - primary_down, primary_up, primary_click, secondary_down, secondary_up, secondary_click, wheel_down, wheel_up --- --- Notes: --- - Zones are cleared on beginning of every `render()`, and need to be rebound. --- - One event type per zone: only the last bound zone per event gets triggered. --- - In current implementation, you have to choose between `_click` or `_down`. Binding both makes only the last bound fire. --- - Primary `_down` and `_click` disable dragging. Define `window_drag = true` on hitbox to re-enable. --- - Anything that disables dragging also implicitly disables cursor autohide. --- - `move` event zones are ignored due to it being a high frequency event that is currently not needed as a zone. ----@param event string ----@param hitbox Hitbox ----@param callback CursorEventHandler -function cursor:zone(event, hitbox, callback) - self.zones[#self.zones + 1] = {event = event, hitbox = hitbox, handler = callback} -end - --- Binds a permanent cursor event handler active until manually unbound using `cursor:off()`. --- `_click` events are not available as permanent global events, only as zones. ----@param event string ----@param callback CursorEventHandler ----@return fun() disposer Unbinds the event. -function cursor:on(event, callback) - if self.handlers[event] and not itable_index_of(self.handlers[event], callback) then - self.handlers[event][#self.handlers[event] + 1] = callback - self:decide_keybinds() - end - return function() self:off(event, callback) end -end - --- Unbinds a cursor event handler. ----@param event string -function cursor:off(event, callback) - if self.handlers[event] then - local index = itable_index_of(self.handlers[event], callback) - if index then - table.remove(self.handlers[event], index) - self:decide_keybinds() - end - end -end - --- Binds a cursor event handler to be called once. ----@param event string -function cursor:once(event, callback) - local function callback_wrap() - callback() - self:off(event, callback_wrap) - end - return self:on(event, callback_wrap) -end - --- Trigger the event. ----@param event string ----@param shortcut? Shortcut -function cursor:trigger(event, shortcut) - local forward, zone_handled = true, false - - -- Call raw event handlers. - local zone = self:find_zone(event) - local callbacks = self.handlers[event] - if zone or #callbacks > 0 then - forward = false - if zone and shortcut then - zone.handler(shortcut) - zone_handled = true - end - for _, callback in ipairs(callbacks) do callback(shortcut) end - end - - if event ~= 'move' then - -- Call compound/parent (click) event handlers if both start and end events are within `parent_zone.hitbox`. - local meta = self.event_meta[event] - if meta then - -- Trigger compound event - local parent_zone = self:find_zone(meta.trigger_event) - if parent_zone then - forward = false -- Canceled here so we don't forward down events if they can lead to a click. - if meta.is_end then - local start_event = self.last_events[meta.start_event] - if start_event and point_collides_with(start_event, parent_zone.hitbox) and shortcut then - parent_zone.handler(create_shortcut('primary_click', shortcut.modifiers)) - end - end - end - end - - -- Forward unhandled events. - if forward then - local forward_name = self.event_forward_map[event] - local last_down = meta and meta.is_end and self.last_events[meta.start_event] - local down_zone_handled = last_down and last_down.zone_handled - if forward_name and not down_zone_handled then - -- Forward events if there was no handler. - local active = find_active_keybindings(forward_name) - if active and active.cmd then - local is_wheel = event:find('wheel', 1, true) - local is_up = event:sub(-3) == '_up' - if active.owner then - -- Binding belongs to other script, so make it look like regular key event. - -- Mouse bindings are simple, other keys would require repeat and pressed handling, - -- which can't be done with mp.set_key_bindings(), but is possible with mp.add_key_binding(). - local state = is_wheel and 'pm' or is_up and 'um' or 'dm' - local name = active.cmd:sub(active.cmd:find('/') + 1, -1) - mp.commandv('script-message-to', active.owner, 'key-binding', name, state, forward_name) - elseif is_wheel or is_up then - -- input.conf binding, react to button release for mouse buttons - mp.command(active.cmd) - end - end - end - end - end - - -- Track last events - local last = self.last_events[event] or {} - last.x, last.y, last.time, last.zone_handled = self.x, self.y, mp.get_time(), zone_handled - self.last_events[event] = last - - -- Refresh cursor autohide timer. - self:queue_autohide() -end - --- Enables or disables keybinding groups based on what event listeners are bound. -function cursor:decide_keybinds() - local new_levels = {mbtn_left = 0, mbtn_right = 0, wheel = 0} - self.is_dragging_prevented = false - - -- Check global events. - for name, handlers in ipairs(self.handlers) do - local binding = self.event_binding_map[name] - if binding then - new_levels[binding] = math.max(new_levels[binding], #handlers > 0 and 1 or 0) - end - end - - -- Check zones. - for _, zone in ipairs(self.zones) do - local binding = self.event_binding_map[zone.event] - if binding and cursor:collides_with(zone.hitbox) then - local new_level = (self.window_dragging_blockers[zone.event] and zone.hitbox.window_drag ~= true) and 2 - or math.max(new_levels[binding], zone.hitbox.window_drag == false and 2 or 1) - - -- We only allow dragging preventing levels when cursor is on top of the draggable element, - -- otherwise it breaks window dragging. This means touch devices need to tap the draggable - -- element before they can start dragging it. Can't think of a way around this atm. - if new_level > 1 and not cursor:collides_with(zone.hitbox) then - new_level = 1 - end - - new_levels[binding] = math.max(new_levels[binding], new_level) - if new_level > 1 then - self.is_dragging_prevented = true - end - end - end - - -- Window dragging only gets prevented when on top of an element, which is when double clicks should be ignored. - new_levels.mbtn_left_dbl = new_levels.mbtn_left == 2 and 2 or 0 - - for name, level in pairs(new_levels) do - if level ~= self.binding_levels[name] then - local flags = level == 1 and 'allow-vo-dragging+allow-hide-cursor' or '' - mp[(level == 0 and 'disable' or 'enable') .. '_key_bindings'](name, flags) - self.binding_levels[name] = level - self:queue_autohide() - end - end -end - -function cursor:_find_history_sample() - local time = mp.get_time() - for _, e in self.history:iter_rev() do - if time - e.time > 0.1 then - return e - end - end - return self.history:tail() -end - --- Returns the current velocity vector in pixels per second. ----@return Point -function cursor:get_velocity() - local snap = self:_find_history_sample() - if snap then - local x, y, time = self.x - snap.x, self.y - snap.y, mp.get_time() - local time_diff = time - snap.time - if time_diff > 0.001 then - return {x = x / time_diff, y = y / time_diff} - end - end - return {x = 0, y = 0} -end - ----@param x integer ----@param y integer -function cursor:move(x, y) - local old_x, old_y = self.x, self.y - - -- mpv reports initial mouse position on linux as (0, 0), which always - -- displays the top bar, so we hardcode cursor position as infinity until - -- we receive a first real mouse move event with coordinates other than 0,0. - if not self.first_real_mouse_move_received then - if x > 0 and y > 0 and x < 99999999 and y < 99999999 then - self.first_real_mouse_move_received = true - else - x, y = math.huge, math.huge - end - end - - -- Add 0.5 to be in the middle of the pixel - self.x, self.y = x + 0.5, y + 0.5 - - if old_x ~= self.x or old_y ~= self.y then - if self.x == math.huge or self.y == math.huge then - self.hidden = true - self.history:clear() - - -- Slowly fadeout elements that are currently visible - for _, id in ipairs(config.cursor_leave_fadeout_elements) do - local element = Elements[id] - if element then - local visibility = element:get_visibility() - if visibility > 0 then - element:tween_property('forced_visibility', visibility, 0, function() - element.forced_visibility = nil - end) - end - end - end - - Elements:update_proximities() - Elements:trigger('global_mouse_leave') - else - if self.hidden then - -- Cancel potential fadeouts - for _, id in ipairs(config.cursor_leave_fadeout_elements) do - if Elements[id] then Elements[id]:tween_stop() end - end - - self.hidden = false - Elements:trigger('global_mouse_enter') - end - - -- Update current move travel distance - -- `mp.get_time() - last.time < 0.5` check is there to ignore first event after long inactivity to - -- filter out big jumps due to window being repositioned/rescaled (e.g. opening a different file). - local last = self.last_events.move - if last and last.x < math.huge and last.y < math.huge and mp.get_time() - last.time < 0.5 then - self.distance = self.distance + get_point_to_point_proximity(cursor, last) - cursor.distance_reset_timer:kill() - cursor.distance_reset_timer:resume() - end - - Elements:update_proximities() - -- Update history - self.history:insert({x = self.x, y = self.y, time = mp.get_time()}) - end - - Elements:proximity_trigger('mouse_move') - self:queue_autohide() - end - - self:trigger('move') - - request_render() -end - -function cursor:leave() self:move(math.huge, math.huge) end - -function cursor:is_autohide_allowed() - return options.autohide and (not self.autohide_fs_only or state.fullscreen) - and not self.is_dragging_prevented - and not Menu:is_open() -end -mp.observe_property('cursor-autohide-fs-only', 'bool', function(_, val) cursor.autohide_fs_only = val end) - --- Cursor auto-hiding after period of inactivity. -function cursor:autohide() - if self:is_autohide_allowed() then - self:leave() - self.autohide_timer:kill() - end -end - -function cursor:queue_autohide() - if self:is_autohide_allowed() then - self.autohide_timer:kill() - self.autohide_timer:resume() - end -end - --- Calculates distance in which cursor reaches rectangle if it continues moving on the same path. --- Returns `nil` if cursor is not moving towards the rectangle. ----@param rect Rect -function cursor:direction_to_rectangle_distance(rect) - local prev = self:_find_history_sample() - if not prev then return false end - local end_x, end_y = self.x + (self.x - prev.x) * 1e10, self.y + (self.y - prev.y) * 1e10 - return get_ray_to_rectangle_distance(self.x, self.y, end_x, end_y, rect) -end - ----@param event string ----@param shortcut Shortcut ----@param cb? fun(shortcut: Shortcut) -function cursor:create_handler(event, shortcut, cb) - return function() - if cb then cb(shortcut) end - self:trigger(event, shortcut) - end -end - --- Movement -local function handle_mouse_pos(_, mouse) - if not mouse then return end - if cursor.last_hover and not mouse.hover then - cursor:leave() - elseif not (cursor.last_hover == false and mouse.hover == false) then -- filters out duplicate mouse out events - cursor:move(mouse.x, mouse.y) - end - cursor.last_hover = mouse.hover -end - -local function handle_touch_pos(_, touches) - if not touches then return end - local touch = touches[1] - if touch then - cursor:move(touch.x, touch.y) - end -end - -mp.observe_property('mouse-pos', 'native', handle_mouse_pos) -mp.observe_property('touch-pos', 'native', handle_touch_pos) - --- Key binding groups -local modifiers = {nil, 'alt', 'alt+ctrl', 'alt+shift', 'alt+ctrl+shift', 'ctrl', 'ctrl+shift', 'shift'} -local primary_bindings = {} -for i = 1, #modifiers do - local mods = modifiers[i] - local mp_name = (mods and mods .. '+' or '') .. 'mbtn_left' - primary_bindings[#primary_bindings + 1] = { - mp_name, - cursor:create_handler('primary_up', create_shortcut('primary_up', mods)), - cursor:create_handler('primary_down', create_shortcut('primary_down', mods), function(...) - handle_mouse_pos(nil, mp.get_property_native('mouse-pos')) - end), - } -end -mp.set_key_bindings(primary_bindings, 'mbtn_left', 'force') -mp.set_key_bindings({ - {'mbtn_left_dbl', 'ignore'}, -}, 'mbtn_left_dbl', 'force') -mp.set_key_bindings({ - { - 'mbtn_right', - cursor:create_handler('secondary_up', create_shortcut('secondary_up')), - cursor:create_handler('secondary_down', create_shortcut('secondary_down')), - }, -}, 'mbtn_right', 'force') -mp.set_key_bindings({ - {'wheel_up', cursor:create_handler('wheel_up', create_shortcut('wheel_up'))}, - {'wheel_down', cursor:create_handler('wheel_down', create_shortcut('wheel_down'))}, -}, 'wheel', 'force') - -return cursor diff --git a/scripts/uosc/lib/fzy.lua b/scripts/uosc/lib/fzy.lua deleted file mode 100644 index 014a800..0000000 --- a/scripts/uosc/lib/fzy.lua +++ /dev/null @@ -1,297 +0,0 @@ ---[[ The MIT License (MIT) - -Copyright (c) 2020 Seth Warn - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ]] - --- The lua implementation of the fzy string matching algorithm - -local SCORE_GAP_LEADING = -0.005 -local SCORE_GAP_TRAILING = -0.005 -local SCORE_GAP_INNER = -0.01 -local SCORE_MATCH_CONSECUTIVE = 1.0 -local SCORE_MATCH_SLASH = 0.9 -local SCORE_MATCH_WORD = 0.8 -local SCORE_MATCH_CAPITAL = 0.7 -local SCORE_MATCH_DOT = 0.6 -local SCORE_MAX = math.huge -local SCORE_MIN = -math.huge -local MATCH_MAX_LENGTH = 1024 - -local fzy = {} - --- Check if `needle` is a subsequence of the `haystack`. --- --- Usually called before `score` or `positions`. --- --- Args: --- needle (string) --- haystack (string) --- case_sensitive (bool, optional): defaults to false --- --- Returns: --- bool -function fzy.has_match(needle, haystack, case_sensitive) - if not case_sensitive then - needle = string.lower(needle) - haystack = string.lower(haystack) - end - - local j = 1 - for i = 1, string.len(needle) do - j = string.find(haystack, needle:sub(i, i), j, true) - if not j then - return false - else - j = j + 1 - end - end - - return true -end - -local function is_lower(c) - return c:match("%l") -end - -local function is_upper(c) - return c:match("%u") -end - -local function precompute_bonus(haystack) - local match_bonus = {} - - local last_char = "/" - for i = 1, string.len(haystack) do - local this_char = haystack:sub(i, i) - if last_char == "/" or last_char == "\\" then - match_bonus[i] = SCORE_MATCH_SLASH - elseif last_char == "-" or last_char == "_" or last_char == " " then - match_bonus[i] = SCORE_MATCH_WORD - elseif last_char == "." then - match_bonus[i] = SCORE_MATCH_DOT - elseif is_lower(last_char) and is_upper(this_char) then - match_bonus[i] = SCORE_MATCH_CAPITAL - else - match_bonus[i] = 0 - end - - last_char = this_char - end - - return match_bonus -end - -local function compute(needle, haystack, D, M, case_sensitive) - -- Note that the match bonuses must be computed before the arguments are - -- converted to lowercase, since there are bonuses for camelCase. - local match_bonus = precompute_bonus(haystack) - local n = string.len(needle) - local m = string.len(haystack) - - if not case_sensitive then - needle = string.lower(needle) - haystack = string.lower(haystack) - end - - -- Because lua only grants access to chars through substring extraction, - -- get all the characters from the haystack once now, to reuse below. - local haystack_chars = {} - for i = 1, m do - haystack_chars[i] = haystack:sub(i, i) - end - - for i = 1, n do - D[i] = {} - M[i] = {} - - local prev_score = SCORE_MIN - local gap_score = i == n and SCORE_GAP_TRAILING or SCORE_GAP_INNER - local needle_char = needle:sub(i, i) - - for j = 1, m do - if needle_char == haystack_chars[j] then - local score = SCORE_MIN - if i == 1 then - score = ((j - 1) * SCORE_GAP_LEADING) + match_bonus[j] - elseif j > 1 then - local a = M[i - 1][j - 1] + match_bonus[j] - local b = D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE - score = math.max(a, b) - end - D[i][j] = score - prev_score = math.max(score, prev_score + gap_score) - M[i][j] = prev_score - else - D[i][j] = SCORE_MIN - prev_score = prev_score + gap_score - M[i][j] = prev_score - end - end - end -end - --- Compute a matching score. --- --- Args: --- needle (string): must be a subsequence of `haystack`, or the result is --- undefined. --- haystack (string) --- case_sensitive (bool, optional): defaults to false --- --- Returns: --- number: higher scores indicate better matches. See also `get_score_min` --- and `get_score_max`. -function fzy.score(needle, haystack, case_sensitive) - local n = string.len(needle) - local m = string.len(haystack) - - if n == 0 or m == 0 or m > MATCH_MAX_LENGTH or n > m then - return SCORE_MIN - elseif n == m then - return SCORE_MAX - else - local D = {} - local M = {} - compute(needle, haystack, D, M, case_sensitive) - return M[n][m] - end -end - --- Compute the locations where fzy matches a string. --- --- Determine where each character of the `needle` is matched to the `haystack` --- in the optimal match. --- --- Args: --- needle (string): must be a subsequence of `haystack`, or the result is --- undefined. --- haystack (string) --- case_sensitive (bool, optional): defaults to false --- --- Returns: --- {int,...}: indices, where `indices[n]` is the location of the `n`th --- character of `needle` in `haystack`. --- number: the same matching score returned by `score` -function fzy.positions(needle, haystack, case_sensitive) - local n = string.len(needle) - local m = string.len(haystack) - - if n == 0 or m == 0 or m > MATCH_MAX_LENGTH or n > m then - return {}, SCORE_MIN - elseif n == m then - local consecutive = {} - for i = 1, n do - consecutive[i] = i - end - return consecutive, SCORE_MAX - end - - local D = {} - local M = {} - compute(needle, haystack, D, M, case_sensitive) - - local positions = {} - local match_required = false - local j = m - for i = n, 1, -1 do - while j >= 1 do - if D[i][j] ~= SCORE_MIN and (match_required or D[i][j] == M[i][j]) then - match_required = (i ~= 1) and (j ~= 1) and ( - M[i][j] == D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE) - positions[i] = j - j = j - 1 - break - else - j = j - 1 - end - end - end - - return positions, M[n][m] -end - --- Apply `has_match` and `positions` to an array of haystacks. --- --- Args: --- needle (string) --- haystack ({string, ...}) --- case_sensitive (bool, optional): defaults to false --- --- Returns: --- {{idx, positions, score}, ...}: an array with one entry per matching line --- in `haystacks`, each entry giving the index of the line in `haystacks` --- as well as the equivalent to the return value of `positions` for that --- line. -function fzy.filter(needle, haystacks, case_sensitive) - local result = {} - - for i, line in ipairs(haystacks) do - if fzy.has_match(needle, line, case_sensitive) then - local p, s = fzy.positions(needle, line, case_sensitive) - table.insert(result, {i, p, s}) - end - end - - return result -end - --- The lowest value returned by `score`. --- --- In two special cases: --- - an empty `needle`, or --- - a `needle` or `haystack` larger than than `get_max_length`, --- the `score` function will return this exact value, which can be used as a --- sentinel. This is the lowest possible score. -function fzy.get_score_min() - return SCORE_MIN -end - --- The score returned for exact matches. This is the highest possible score. -function fzy.get_score_max() - return SCORE_MAX -end - --- The maximum size for which `fzy` will evaluate scores. -function fzy.get_max_length() - return MATCH_MAX_LENGTH -end - --- The minimum score returned for normal matches. --- --- For matches that don't return `get_score_min`, their score will be greater --- than than this value. -function fzy.get_score_floor() - return MATCH_MAX_LENGTH * SCORE_GAP_INNER -end - --- The maximum score for non-exact matches. --- --- For matches that don't return `get_score_max`, their score will be less than --- this value. -function fzy.get_score_ceiling() - return MATCH_MAX_LENGTH * SCORE_MATCH_CONSECUTIVE -end - --- The name of the currently-running implementation, "lua" or "native". -function fzy.get_implementation_name() - return "lua" -end - -return fzy diff --git a/scripts/uosc/lib/intl.lua b/scripts/uosc/lib/intl.lua deleted file mode 100644 index 79a7c64..0000000 --- a/scripts/uosc/lib/intl.lua +++ /dev/null @@ -1,68 +0,0 @@ -local intl_dir = mp.get_script_directory() .. '/intl/' -local locale = {} -local cache = {} - --- https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/supported-languages?pivots=store-installer-msix#list-of-supported-languages -function get_languages() - local languages = {} - - for _, lang in ipairs(comma_split(options.languages)) do - if (lang == 'slang') then - local slang = mp.get_property_native('slang') - if slang then - itable_append(languages, slang) - end - else - languages[#languages +1] = lang - end - end - - return languages -end - ----@param path string -function get_locale_from_json(path) - local expand_path = mp.command_native({'expand-path', path}) - - local meta, meta_error = utils.file_info(expand_path) - if not meta or not meta.is_file then - return nil - end - - local json_file = io.open(expand_path, 'r') - if not json_file then - return nil - end - - local json = json_file:read('*all') - json_file:close() - - local json_table = utils.parse_json(json) - return json_table -end - ----@param text string -function t(text, a) - if not text then return '' end - local key = text - if a then key = key .. '|' .. a end - if cache[key] then return cache[key] end - cache[key] = string.format(locale[text] or text, a or '') - return cache[key] -end - --- Load locales -local languages = get_languages() - -for i = #languages, 1, -1 do - lang = languages[i] - if (lang:match('.json$')) then - table_assign(locale, get_locale_from_json(lang)) - elseif (lang == 'en') then - locale = {} - else - table_assign(locale, get_locale_from_json(intl_dir .. lang:lower() .. '.json')) - end -end - -return {t = t} diff --git a/scripts/uosc/lib/menus.lua b/scripts/uosc/lib/menus.lua deleted file mode 100644 index 89be921..0000000 --- a/scripts/uosc/lib/menus.lua +++ /dev/null @@ -1,1186 +0,0 @@ ----@alias OpenCommandMenuOptions {submenu?: string; mouse_nav?: boolean; on_close?: string | string[]} ----@param data MenuData ----@param opts? OpenCommandMenuOptions -function open_command_menu(data, opts) - opts = opts or {} - local menu - - local function run_command(command) - if type(command) == 'table' then - ---@diagnostic disable-next-line: deprecated - mp.commandv(unpack(command)) - else - mp.command(tostring(command)) - end - end - - local function callback(event) - if type(menu.root.callback) == 'table' then - ---@diagnostic disable-next-line: deprecated - mp.commandv(unpack(itable_join({'script-message-to'}, menu.root.callback, {utils.format_json(event)}))) - elseif event.type == 'activate' then - -- Modifiers and actions are not available on basic non-callback mode menus. - -- `alt` modifier should activate without closing the menu. - if (event.modifiers == 'alt' or not event.modifiers) and not event.action then - run_command(event.value) - end - -- Convention: Only pure item activations should close the menu. - -- Using modifiers or triggering item actions should not. - if not event.keep_open and not event.modifiers and not event.action then - menu:close() - end - end - end - - ---@type MenuOptions - local menu_opts = table_assign_props({}, opts, {'mouse_nav'}) - menu = Menu:open(data, callback, menu_opts) - if opts.submenu then menu:activate_menu(opts.submenu) end - return menu -end - ----@param opts? OpenCommandMenuOptions -function toggle_menu_with_items(opts) - if Menu:is_open('menu') then - Menu:close() - else - open_command_menu({type = 'menu', items = get_menu_items(), search_submenus = true}, opts) - end -end - ----@alias TrackEventRemove {type: 'remove' | 'delete', index: number; value: any;} ----@alias TrackEventReload {type: 'reload', index: number; value: any;} ----@param opts {type: string; title: string; list_prop: string; active_prop?: string; footnote?: string; serializer: fun(list: any, active: any): MenuDataItem[]; actions?: MenuAction[]; actions_place?: 'inside'|'outside'; on_paste: fun(event: MenuEventPaste); on_move?: fun(event: MenuEventMove); on_activate?: fun(event: MenuEventActivate); on_remove?: fun(event: TrackEventRemove); on_delete?: fun(event: TrackEventRemove); on_reload?: fun(event: TrackEventReload); on_key?: fun(event: MenuEventKey, close: fun())} -function create_self_updating_menu_opener(opts) - return function() - if Menu:is_open(opts.type) then - Menu:close() - return - end - local list = mp.get_property_native(opts.list_prop) - local active = opts.active_prop and mp.get_property_native(opts.active_prop) or nil - local menu - - local function update() menu:update_items(opts.serializer(list, active)) end - - local ignore_initial_list = true - local function handle_list_prop_change(name, value) - if ignore_initial_list then - ignore_initial_list = false - else - list = value - update() - end - end - - local ignore_initial_active = true - local function handle_active_prop_change(name, value) - if ignore_initial_active then - ignore_initial_active = false - else - active = value - update() - end - end - - local function cleanup_and_close() - mp.unobserve_property(handle_list_prop_change) - mp.unobserve_property(handle_active_prop_change) - menu:close() - end - - local initial_items, selected_index = opts.serializer(list, active) - - ---@type MenuAction[] - local actions = opts.actions or {} - if opts.on_move then - actions[#actions + 1] = { - name = 'move_up', - icon = 'arrow_upward', - label = t('Move up') .. ' (ctrl+up/pgup/home)', - filter_hidden = true, - } - actions[#actions + 1] = { - name = 'move_down', - icon = 'arrow_downward', - label = t('Move down') .. ' (ctrl+down/pgdwn/end)', - filter_hidden = true, - } - end - if opts.on_reload then - actions[#actions + 1] = {name = 'reload', icon = 'refresh', label = t('Reload') .. ' (f5)'} - end - if opts.on_remove or opts.on_delete then - local label = (opts.on_remove and t('Remove') or t('Delete')) .. ' (del)' - if opts.on_remove and opts.on_delete then - label = t('Remove') .. ' (' .. t('%s to delete', 'del, ctrl+del') .. ')' - end - actions[#actions + 1] = {name = 'remove', icon = 'delete', label = label} - end - - function remove_or_delete(index, value, menu_id, modifiers) - if opts.on_remove and opts.on_delete then - local method = modifiers == 'ctrl' and 'delete' or 'remove' - local handler = method == 'delete' and opts.on_delete or opts.on_remove - if handler then - handler({type = method, value = value, index = index}) - end - elseif opts.on_remove or opts.on_delete then - local method = opts.on_delete and 'delete' or 'remove' - local handler = opts.on_delete or opts.on_remove - if handler then - handler({type = method, value = value, index = index}) - end - end - end - - -- Items and active_index are set in the handle_prop_change callback, since adding - -- a property observer triggers its handler immediately, we just let that initialize the items. - menu = Menu:open({ - type = opts.type, - title = opts.title, - footnote = opts.footnote, - items = initial_items, - item_actions = actions, - item_actions_place = opts.actions_place, - selected_index = selected_index, - on_move = opts.on_move and 'callback' or nil, - on_paste = opts.on_paste and 'callback' or nil, - }, function(event) - if event.type == 'activate' then - if (event.action == 'move_up' or event.action == 'move_down') and opts.on_move then - local to_index = event.index + (event.action == 'move_up' and -1 or 1) - if to_index >= 1 and to_index <= #menu.current.items then - opts.on_move({ - type = 'move', - from_index = event.index, - to_index = to_index, - menu_id = menu.current.id, - }) - menu:select_index(to_index) - if not event.is_pointer then - menu:scroll_to_index(to_index, nil, true) - end - end - elseif event.action == 'reload' and opts.on_reload then - opts.on_reload({type = 'reload', index = event.index, value = event.value}) - elseif event.action == 'remove' and (opts.on_remove or opts.on_delete) then - remove_or_delete(event.index, event.value, event.menu_id, event.modifiers) - else - opts.on_activate(event --[[@as MenuEventActivate]]) - if not event.modifiers and not event.action then cleanup_and_close() end - end - elseif event.type == 'key' then - local item = event.selected_item - if event.id == 'enter' then - -- We get here when there's no selectable item in menu and user presses enter. - cleanup_and_close() - elseif event.key == 'f5' and opts.on_reload and item then - opts.on_reload({type = 'reload', index = item.index, value = item.value}) - elseif event.key == 'del' and (opts.on_remove or opts.on_delete) and item then - if itable_has({nil, 'ctrl'}, event.modifiers) then - remove_or_delete(item.index, item.value, event.menu_id, event.modifiers) - end - elseif opts.on_key then - opts.on_key(event --[[@as MenuEventKey]], cleanup_and_close) - end - elseif event.type == 'paste' and opts.on_paste then - opts.on_paste(event --[[@as MenuEventPaste]]) - elseif event.type == 'close' then - cleanup_and_close() - elseif event.type == 'move' and opts.on_move then - opts.on_move(event --[[@as MenuEventMove]]) - elseif event.type == 'remove' and opts.on_move then - end - end) - - mp.observe_property(opts.list_prop, 'native', handle_list_prop_change) - if opts.active_prop then - mp.observe_property(opts.active_prop, 'native', handle_active_prop_change) - end - end -end - ----@param opts {title: string; type: string; prop: string; enable_prop?: string; secondary?: {prop: string; icon: string; enable_prop?: string}; load_command: string; download_command?: string} -function create_select_tracklist_type_menu_opener(opts) - local snd = opts.secondary - local function get_props() - return tonumber(mp.get_property(opts.prop)), snd and tonumber(mp.get_property(snd.prop)) or nil - end - - local function escape_codec(str) - if not str or str == '' then return '' end - - local codec_map = { - mpeg2 = "mpeg2", - dvvideo = "dv", - pcm = "pcm", - pgs = "pgs", - subrip = "srt", - vtt = "vtt", - dvd_sub = "vob", - dvb_sub = "dvb", - dvb_tele = "teletext", - arib = "arib" - } - - for key, value in pairs(codec_map) do - if str:find(key) then - return value - end - end - - return str - end - - local function serialize_tracklist(tracklist) - local items = {} - - if opts.load_command then - items[#items + 1] = { - title = t('Load'), - bold = true, - italic = true, - hint = t('open file'), - value = '{load}', - actions = opts.download_command - and {{name = 'download', icon = 'language', label = t('Search online')}} - or nil, - } - end - if #items > 0 then - items[#items].separator = true - end - - local track_prop_index, snd_prop_index = get_props() - local filename = mp.get_property_native('filename/no-ext') - local escaped_filename = filename and regexp_escape(filename) - local first_item_index = #items + 1 - local active_index = nil - local disabled_item = nil - local track_actions = nil - local track_external_actions = {} - - if snd then - local action = { - name = 'as_secondary', icon = snd.icon, label = t('Use as secondary') .. ' (shift+enter/click)', - } - track_actions = {action} - table.insert(track_external_actions, action) - end - table.insert(track_external_actions, {name = 'reload', icon = 'refresh', label = t('Reload') .. ' (f5)'}) - table.insert(track_external_actions, {name = 'remove', icon = 'delete', label = t('Remove') .. ' (del)'}) - - for _, track in ipairs(tracklist) do - if track.type == opts.type then - local hint_values = {} - local track_selected = track.selected and track.id == track_prop_index - local snd_selected = snd and track.id == snd_prop_index - local function h(value) - value = trim(value) - if #value > 0 then hint_values[#hint_values + 1] = value end - end - - if track.lang then h(track.lang) end - if track['demux-h'] then - h(track['demux-w'] and (track['demux-w'] .. 'x' .. track['demux-h']) or (track['demux-h'] .. 'p')) - end - if track['demux-fps'] then h(string.format('%.5g fps', track['demux-fps'])) end - if track['codec'] then h(escape_codec(track.codec)) end - if track['audio-channels'] then - h(track['audio-channels'] == 1 - and t('%s channel', track['audio-channels']) - or t('%s channels', track['audio-channels'])) - end - if track['demux-samplerate'] then h(string.format('%.3g kHz', track['demux-samplerate'] / 1000)) end - if track['demux-bitrate'] then h(string.format('%.0f kbps', track['demux-bitrate'] / 1000)) end - if track.forced then h(t('forced')) end - if track.default then h(t('default')) end - if track.external then - local extension = track.title:match('%.([^%.]+)$') - if track.title and escaped_filename and extension then - track.title = trim(track.title:gsub(escaped_filename .. '%.?', ''):gsub('%.?([^%.]+)$', '')) - if track.title == '' or track.lang and track.title:lower() == track.lang:lower() then - track.title = nil - end - end - h(t('external')) - end - - items[#items + 1] = { - title = (track.title and track.title or t('Track %s', track.id)), - hint = table.concat(hint_values, ', '), - value = track.id, - active = track_selected or snd_selected, - italic = snd_selected, - icon = snd and snd_selected and snd.icon or nil, - actions = track.external and track_external_actions or track_actions, - } - - if track_selected then - if disabled_item then disabled_item.active = false end - active_index = #items - end - end - end - - return items, active_index or first_item_index - end - - local function reload(id) - if id then mp.commandv(opts.type .. '-reload', id) end - end - local function remove(id) - if id then mp.commandv(opts.type .. '-remove', id) end - end - - ---@param event MenuEventActivate - local function handle_activate(event) - if event.value == '{load}' then - mp.command(event.action == 'download' and opts.download_command or opts.load_command) - else - if snd and (event.action == 'as_secondary' or event.modifiers == 'shift') then - local _, snd_track_index = get_props() - mp.commandv('set', snd.prop, event.value == snd_track_index and 'no' or event.value) - if snd.enable_prop then - mp.commandv('set', snd.enable_prop, 'yes') - end - elseif event.action == 'reload' then - reload(event.value) - elseif event.action == 'remove' then - remove(event.value) - elseif not event.modifiers or event.modifiers == 'alt' then - mp.commandv('set', opts.prop, event.value == get_props() and 'no' or event.value) - if opts.enable_prop then - mp.commandv('set', opts.enable_prop, 'yes') - end - end - end - end - - ---@param event MenuEventKey - local function handle_key(event) - if event.selected_item then - if event.id == 'f5' then - reload(event.selected_item.value) - elseif event.id == 'del' then - remove(event.selected_item.value) - end - end - end - - return create_self_updating_menu_opener({ - title = opts.title, - footnote = t('Toggle to disable.') .. ' ' .. t('Paste path or url to add.'), - type = opts.type, - list_prop = 'track-list', - serializer = serialize_tracklist, - on_activate = handle_activate, - on_key = handle_key, - actions_place = 'outside', - on_paste = function(event) load_track(opts.type, event.value) end, - }) -end - ----@alias NavigationMenuOptions {type: string, title?: string, allowed_types?: string[], file_actions?: MenuAction[], directory_actions?: MenuAction[], active_path?: string, selected_path?: string; on_close?: fun()} - --- Opens a file navigation menu with items inside `directory_path`. ----@param directory_path string ----@param handle_activate fun(event: MenuEventActivate) ----@param opts NavigationMenuOptions -function open_file_navigation_menu(directory_path, handle_activate, opts) - if directory_path == '{drives}' then - if state.platform ~= 'windows' then directory_path = '/' end - else - directory_path = normalize_path(mp.command_native({'expand-path', directory_path})) - end - - opts = opts or {} - ---@type string|nil - local current_directory = nil - ---@type Menu - local menu - ---@type string | nil - local back_path - local separator = path_separator(directory_path) - - ---@param path string Can be path to a directory, or special string `'{drives}'` to get windows drives items. - ---@param selected_path? string Marks item with this path as active. - ---@return MenuStackChild[] menu_items - ---@return number selected_index - ---@return string|nil error - local function serialize_items(path, selected_path) - if path == '{drives}' then - local process = mp.command_native({ - name = 'subprocess', - capture_stdout = true, - playback_only = false, - args = {'fsutil', 'fsinfo', 'drives'}, - }) - local items, selected_index = {}, 1 - - if process.status == 0 then - for drive in process.stdout:gmatch('(%a:)\\') do - if drive then - local drive_path = normalize_path(drive) - items[#items + 1] = { - title = drive, hint = t('drive'), value = drive_path, active = opts.active_path == drive_path, - } - if selected_path == drive_path then selected_index = #items end - end - end - else - return {}, 1, 'Couldn\'t open drives. Error: ' .. utils.to_string(process.stderr) - end - return items, selected_index - end - - local serialized = serialize_path(path) - if not serialized then - return {}, 0, 'Couldn\'t serialize path "' .. path .. '.' - end - local files, directories, error = read_directory(serialized.path, { - types = opts.allowed_types, - hidden = options.show_hidden_files, - }) - if error then - return {}, 1, error - end - local is_root = not serialized.dirname - - if not files or not directories then return {}, 0 end - - sort_strings(directories) - sort_strings(files) - - -- Pre-populate items with parent directory selector if not at root - -- Each item value is a serialized path table it points to. - local items = {} - - if is_root then - if state.platform == 'windows' then - items[#items + 1] = {title = '..', hint = t('Drives'), value = '{drives}', separator = true, is_to_parent = true} - end - else - items[#items + 1] = {title = '..', hint = t('parent dir'), value = serialized.dirname, separator = true, is_to_parent = true} - end - - back_path = items[#items] and items[#items].value - local selected_index = #items + 1 - - for _, dir in ipairs(directories) do - items[#items + 1] = { - title = dir .. ' ' .. separator, - value = join_path(path, dir), - bold = true, - actions = opts - .directory_actions, - } - end - - for _, file in ipairs(files) do - items[#items + 1] = {title = file, value = join_path(path, file), actions = opts.file_actions} - end - - for index, item in ipairs(items) do - if not item.is_to_parent then - if opts.active_path == item.value then - item.active = true - if not selected_path then selected_index = index end - end - - if selected_path == item.value then selected_index = index end - end - end - - return items, selected_index - end - - local menu_data = { - type = opts.type, - title = opts.title or '', - footnote = t('%s to go up in tree.', 'alt+up') .. ' ' .. t('Paste path or url to open.'), - items = {}, - on_paste = 'callback', - } - - ---@param path string - local function open_directory(path) - local items, selected_index, error = serialize_items(path, current_directory) - if error then - msg.error(error) - items = {{title = 'Something went wrong. See console for errors.', selectable = false, muted = true}} - end - - local title = opts.title - if not title then - if path == '{drives}' then - title = 'Drives' - else - local serialized = serialize_path(path) - title = serialized and serialized.basename .. separator or '??' - end - end - - current_directory = path - menu_data.title = title - menu_data.items = items - menu:search_cancel() - menu:update(menu_data) - menu:select_index(selected_index) - menu:scroll_to_index(selected_index, nil, true) - end - - local function close() - menu:close() - if opts.on_close then opts.on_close() end - end - - ---@param event MenuEventActivate - ---@param only_if_dir? boolean Activate item only if it's a directory. - local function activate(event, only_if_dir) - local path = event.value - local is_drives = path == '{drives}' - - if is_drives then - open_directory(path) - return - end - - local info, error = utils.file_info(path) - - if not info then - msg.error('Can\'t retrieve path info for "' .. path .. '". Error: ' .. (error or '')) - return - end - - if info.is_dir and not event.modifiers and not event.action then - open_directory(path) - elseif not only_if_dir then - handle_activate(event) - end - end - - menu = Menu:open(menu_data, function(event) - if event.type == 'activate' then - activate(event --[[@as MenuEventActivate]]) - elseif event.type == 'back' or event.type == 'key' and itable_has({'alt+up', 'left'}, event.id) then - if back_path then open_directory(back_path) end - elseif event.type == 'paste' then - handle_activate({type = 'activate', value = event.value}) - elseif event.type == 'key' then - if event.id == 'right' then - local selected_item = event.selected_item - if selected_item then - activate(table_assign({}, selected_item, {type = 'activate'}), true) - end - elseif event.id == 'ctrl+c' and event.selected_item then - set_clipboard(event.selected_item.value) - end - elseif event.type == 'close' then - close() - end - end) - - open_directory(directory_path) - - return menu -end - --- On demand menu items loading -do - ---@type {key: string; cmd: string; comment: string; is_menu_item: boolean}[]|nil - local all_user_bindings = nil - ---@type MenuStackItem[]|nil - local menu_items = nil - - local function is_uosc_menu_comment(v) return v:match('^!') or v:match('^menu:') end - - -- Returns all relevant bindings from `input.conf`, even if they are overwritten - -- (same key bound to something else later) or have no keys (uosc menu items). - function get_all_user_bindings() - if all_user_bindings then return all_user_bindings end - all_user_bindings = {} - - local input_conf_property = mp.get_property_native('input-conf') - local input_conf_iterator - if input_conf_property:sub(1, 9) == 'memory://' then - -- mpv.net v7 - local input_conf_lines = split(input_conf_property:sub(10), '\n') - local i = 0 - input_conf_iterator = function() - i = i + 1 - return input_conf_lines[i] - end - else - local input_conf = input_conf_property == '' and '~~/input.conf' or input_conf_property - local input_conf_path = mp.command_native({'expand-path', input_conf}) - local input_conf_meta, meta_error = utils.file_info(input_conf_path) - - -- File doesn't exist - if not input_conf_meta or not input_conf_meta.is_file then - menu_items = create_default_menu_items() - return menu_items, all_user_bindings - end - - input_conf_iterator = io.lines(input_conf_path) - end - - for line in input_conf_iterator do - local key, command, comment = string.match(line, '%s*([%S]+)%s+([^#]*)%s*(.-)%s*$') - local is_commented_out = key and key:sub(1, 1) == '#' - - if comment and #comment > 0 then comment = comment:sub(2) end - if command then command = trim(command) end - - local is_menu_item = comment and is_uosc_menu_comment(comment) - - if key - -- Filter out stuff like `#F2`, which is clearly intended to be disabled - and not (is_commented_out and #key > 1) - -- Filter out comments that are not uosc menu items - and (not is_commented_out or is_menu_item) then - all_user_bindings[#all_user_bindings + 1] = { - key = key, - cmd = command, - comment = comment or '', - is_menu_item = is_menu_item, - } - end - end - - return all_user_bindings - end - - function get_menu_items() - if menu_items then return menu_items end - - local all_user_bindings = get_all_user_bindings() - local main_menu = {items = {}, items_by_command = {}} - local by_id = {} - - for _, bind in ipairs(all_user_bindings) do - local key, command, comment = bind.key, bind.cmd, bind.comment - local title = '' - - if comment then - local comments = split(comment, '#') - local titles = itable_filter(comments, is_uosc_menu_comment) - if titles and #titles > 0 then - title = titles[1]:match('^!%s*(.*)%s*') or titles[1]:match('^menu:%s*(.*)%s*') - end - end - - if title ~= '' then - local is_dummy = key:sub(1, 1) == '#' - local submenu_id = '' - local target_menu = main_menu - local title_parts = split(title or '', ' *> *') - - for index, title_part in ipairs(#title_parts > 0 and title_parts or {''}) do - if index < #title_parts then - submenu_id = submenu_id .. title_part - - if not by_id[submenu_id] then - local items = {} - by_id[submenu_id] = {items = items, items_by_command = {}} - target_menu.items[#target_menu.items + 1] = {title = title_part, items = items} - end - - target_menu = by_id[submenu_id] - else - -- If command is already in menu, just append the key to it - if key ~= '#' and command ~= '' and target_menu.items_by_command[command] then - local hint = target_menu.items_by_command[command].hint - local key_human = keybind_to_human(key) - target_menu.items_by_command[command].hint = hint and hint .. ', ' .. key_human or key_human - else - -- Separator - if title_part:sub(1, 3) == '---' then - local last_item = target_menu.items[#target_menu.items] - if last_item then last_item.separator = true end - elseif command ~= 'ignore' then - local item = { - title = title_part, - hint = not is_dummy and keybind_to_human(key) or nil, - value = command, - } - if command == '' then - item.selectable = false - item.muted = true - item.italic = true - else - target_menu.items_by_command[command] = item - end - target_menu.items[#target_menu.items + 1] = item - end - end - end - end - end - end - - menu_items = #main_menu.items > 0 and main_menu.items or create_default_menu_items() - return menu_items - end -end - --- Adapted from `stats.lua` -function get_keybinds_items() - local items = {} - -- uosc and mpv-menu-plugin binds with no keys - local no_key_menu_binds = itable_filter( - get_all_user_bindings(), - function(b) return b.is_menu_item and b.cmd and b.cmd ~= '' and (b.key == '#' or b.key == '_') end - ) - local binds_dump = itable_join(find_active_keybindings(), no_key_menu_binds) - local ids = {} - - -- Convert to menu items - for _, bind in pairs(binds_dump) do - local id = bind.key .. '<>' .. bind.cmd - if not ids[id] then - ids[id] = true - items[#items + 1] = {title = bind.cmd, hint = keybind_to_human(bind.key) or bind.key, value = bind.cmd} - end - end - - -- Sort - table.sort(items, function(a, b) return a.title < b.title end) - - return #items > 0 and items or { - { - title = t('%s are empty', '`input-bindings`'), - selectable = false, - align = 'center', - italic = true, - muted = true, - }, - } -end - -function open_stream_quality_menu() - if Menu:is_open('stream-quality') then - Menu:close() - return - end - - local ytdl_format = mp.get_property_native('ytdl-format') - local items = {} - ---@type Menu - local menu - - for _, height in ipairs(config.stream_quality_options) do - local format = 'bestvideo[height<=?' .. height .. ']+bestaudio/best[height<=?' .. height .. ']' - items[#items + 1] = {title = height .. 'p', value = format, active = format == ytdl_format} - end - - menu = Menu:open({type = 'stream-quality', title = t('Stream quality'), items = items}, function(event) - if event.type == 'activate' then - mp.set_property('ytdl-format', event.value) - - -- Reload the video to apply new format - -- This is taken from https://github.com/jgreco/mpv-youtube-quality - -- which is in turn taken from https://github.com/4e6/mpv-reload/ - local duration = mp.get_property_native('duration') - local time_pos = mp.get_property('time-pos') - - mp.command('playlist-play-index current') - - -- Tries to determine live stream vs. pre-recorded VOD. VOD has non-zero - -- duration property. When reloading VOD, to keep the current time position - -- we should provide offset from the start. Stream doesn't have fixed start. - -- Decent choice would be to reload stream from it's current 'live' position. - -- That's the reason we don't pass the offset when reloading streams. - if duration and duration > 0 then - local function seeker() - mp.commandv('seek', time_pos, 'absolute') - mp.unregister_event(seeker) - end - mp.register_event('file-loaded', seeker) - end - - if not event.alt then menu:close() end - end - end) -end - -function open_open_file_menu() - if Menu:is_open('open-file') then - Menu:close() - return - end - - ---@type Menu | nil - local menu - local directory - local active_file - - if state.path == nil or is_protocol(state.path) then - directory = options.default_directory - active_file = nil - else - local serialized = serialize_path(state.path) - if serialized then - directory = serialized.dirname - active_file = serialized.path - end - end - - if not directory then - msg.error('Couldn\'t serialize path "' .. state.path .. '".') - return - end - - -- Update active file in directory navigation menu - local function handle_file_loaded() - if menu and menu:is_alive() then - menu:activate_one_value(normalize_path(mp.get_property_native('path'))) - end - end - - menu = open_file_navigation_menu( - directory, - function(event) - if not menu then return end - local command = has_any_extension(event.value, config.types.playlist) and 'loadlist' or 'loadfile' - if event.modifiers == 'shift' or event.action == 'add_to_playlist' then - mp.commandv(command, event.value, 'append') - local serialized = serialize_path(event.value) - local filename = serialized and serialized.basename or event.value - mp.commandv('show-text', t('Added to playlist') .. ': ' .. filename, 3000) - elseif itable_has({nil, 'ctrl', 'alt', 'alt+ctrl'}, event.modifiers) and itable_has({nil, 'force_open'}, event.action) then - mp.commandv(command, event.value) - if not event.alt then menu:close() end - end - end, - { - type = 'open-file', - allowed_types = config.types.media, - active_path = active_file, - directory_actions = { - {name = 'add_to_playlist', icon = 'playlist_add', label = t('Add to playlist') .. ' (shift+enter/click)'}, - {name = 'force_open', icon = 'play_circle_outline', label = t('Open in mpv') .. ' (ctrl+enter/click)'}, - }, - file_actions = { - {name = 'add_to_playlist', icon = 'playlist_add', label = t('Add to playlist') .. ' (shift+enter/click)'}, - }, - keep_open = true, - on_close = function() mp.unregister_event(handle_file_loaded) end, - } - ) - if menu then mp.register_event('file-loaded', handle_file_loaded) end -end - ----@param opts {prop: 'sub'|'audio'|'video'; title: string; loaded_message: string; allowed_types: string[]} -function create_track_loader_menu_opener(opts) - local menu_type = 'load-' .. opts.prop - return function() - if Menu:is_open(menu_type) then - Menu:close() - return - end - - ---@type Menu - local menu - local path = state.path - if path then - if is_protocol(path) then - path = false - else - local serialized_path = serialize_path(path) - path = serialized_path ~= nil and serialized_path.dirname or false - end - end - if not path then - path = options.default_directory - end - - local function handle_activate(event) - load_track(opts.prop, event.value) - local serialized = serialize_path(event.value) - local filename = serialized and serialized.basename or event.value - mp.commandv('show-text', opts.loaded_message .. ': ' .. filename, 3000) - if not event.alt then menu:close() end - end - - menu = open_file_navigation_menu(path, handle_activate, { - type = menu_type, title = opts.title, allowed_types = opts.allowed_types, - }) - end -end - -function open_subtitle_downloader() - local menu_type = 'download-subtitles' - ---@type Menu - local menu - - if Menu:is_open(menu_type) then - Menu:close() - return - end - - local search_suggestion, destination_directory = '', nil - - if state.path then - if is_protocol(state.path) then - local title = mp.get_property_native('title') - if title and not is_protocol(title) then search_suggestion = title end - else - local serialized_path = serialize_path(state.path) - if serialized_path then - search_suggestion = serialized_path.filename - destination_directory = serialized_path.dirname - end - end - end - - local force_destination = options.subtitles_directory:sub(1, 1) == '!' - if force_destination or not destination_directory then - local subtitles_directory = options.subtitles_directory:sub(force_destination and 2 or 1) - destination_directory = mp.command_native({'expand-path', subtitles_directory}) - end - - local handle_download, handle_search - local url = 'https://api.opensubtitles.com/api/v1' - - -- Checks if there an error, or data is invalid. If true, reports the error, - -- updates menu to inform about it, and returns true. - ---@param error string|nil - ---@param data any - ---@param check_is_valid? fun(data: any):boolean - ---@return boolean abort Whether the further response handling should be aborted. - local function should_abort(error, data, check_is_valid) - if error or not data or (not check_is_valid or not check_is_valid(data)) then - menu:update_items({ - { - title = t('Something went wrong.'), - align = 'center', - muted = true, - italic = true, - selectable = false, - }, - { - title = t('See console for details.'), - align = 'center', - muted = true, - italic = true, - selectable = false, - }, - }) - msg.error(error or ('Invalid response: ' .. (utils.format_json(data) or tostring(data)))) - return true - end - return false - end - - ---@param data {kind: 'file', id: number}|{kind: 'page', query: string, page: number} - handle_download = function(data) - if data.kind == 'page' then - handle_search(data.query, data.page) - return - end - - menu = Menu:open({ - type = menu_type .. '-result', - search_style = 'disabled', - items = {{icon = 'spinner', align = 'center', selectable = false, muted = true}}, - }, function(event) - if event.type == 'key' and event.key == 'enter' then - menu:close() - end - end) - - local download_url = url .. '/download' - - local headers = { - ['Accept'] = 'application/json', - ['Api-Key'] = config.open_subtitles_api_key, - ['Content-Type'] = 'application/json', - ['User-Agent'] = config.open_subtitles_agent, - - } - - local body = { - file_id = data.id - } - - http_request_async('POST', download_url, headers, body, function(error, data) - if not menu:is_alive() then return end - if data and data.link then - local file_path = utils.join_path(destination_directory, data.file_name) - local arg = { - 'curl', - '-sL', - '--user-agent', config.open_subtitles_agent, - '-o', file_path, - data.link - } - - mp.command_native({ - name = 'subprocess', - capture_stdout = true, - capture_stderr = true, - playback_only = false, - args = arg - }) - end - - local function check_is_valid(data) - local path = data and utils.join_path(destination_directory, data.file_name) or nil - local meta = path and utils.file_info(path) or nil - return meta and meta.is_file - end - if should_abort(error, data, check_is_valid) then return end - - load_track('sub', utils.join_path(destination_directory, data.file_name)) - - menu:update_items({ - { - title = t('Subtitles loaded & enabled'), - bold = true, - icon = 'check', - selectable = false, - }, - { - title = t('Remaining downloads today: %s', data.remaining), - italic = true, - muted = true, - icon = 'file_download', - selectable = false, - }, - { - title = t('Resets in: %s', data.reset_time), - italic = true, - muted = true, - icon = 'schedule', - selectable = false, - }, - }) - end) - end - - ---@param query string - ---@param page number|nil - handle_search = function(query, page) - if not menu:is_alive() then return end - page = math.max(1, type(page) == 'number' and round(page) or 1) - - menu:update_items({{icon = 'spinner', align = 'center', selectable = false, muted = true}}) - - local languages = itable_filter(get_languages(), function(lang) return lang:match('.json$') == nil end) - - local search_url = string.format('%s/subtitles?query=%s&languages=%s&page=%s', url, url_encode(query), - table.concat(table_keys(create_set(languages)), ','), tostring(page)) - - local headers = { - ['Api-Key'] = config.open_subtitles_api_key, - ['User-Agent'] = config.open_subtitles_agent, - } - - http_request_async('GET', search_url, headers, nil, function(error, data) - if not menu:is_alive() then return end - - local function check_is_valid(data) - return data and type(data.data) == 'table' and data.page and data.total_pages - end - if should_abort(error, data, check_is_valid) then return end - - local subs = itable_filter(data.data, function(sub) - return sub and sub.attributes and sub.attributes.release and type(sub.attributes.files) == 'table' and - #sub.attributes.files > 0 - end) - local items = itable_map(subs, function(sub) - local hints = {sub.attributes.language} - if sub.attributes.foreign_parts_only then hints[#hints + 1] = t('foreign parts only') end - if sub.attributes.hearing_impaired then hints[#hints + 1] = t('hearing impaired') end - local url = sub.attributes.url - return { - title = sub.attributes.release, - hint = table.concat(hints, ', '), - value = {kind = 'file', id = sub.attributes.files[1].file_id, url = url}, - keep_open = true, - actions = url and - {{name = 'open_in_browser', icon = 'open_in_new', label = t('Open in browser') .. ' (shift)'}}, - } - end) - - if #items == 0 then - items = { - {title = t('no results'), align = 'center', muted = true, italic = true, selectable = false}, - } - end - - if data.page > 1 then - items[#items + 1] = { - title = t('Previous page'), - align = 'center', - bold = true, - italic = true, - icon = 'navigate_before', - keep_open = true, - value = {kind = 'page', query = query, page = data.page - 1}, - } - end - - if data.page < data.total_pages then - items[#items + 1] = { - title = t('Next page'), - align = 'center', - bold = true, - italic = true, - icon = 'navigate_next', - keep_open = true, - value = {kind = 'page', query = query, page = data.page + 1}, - } - end - - menu:update_items(items) - end) - end - - local initial_items = { - {title = t('%s to search', 'enter'), align = 'center', muted = true, italic = true, selectable = false}, - } - - menu = Menu:open( - { - type = menu_type, - title = t('enter query'), - items = initial_items, - search_style = 'palette', - on_search = 'callback', - search_debounce = 'submit', - search_suggestion = search_suggestion, - search_submit = search_suggestion and #search_suggestion > 0, - }, - function(event) - if event.type == 'activate' then - if event.action == 'open_in_browser' or event.modifiers == 'shift' then - local command = ({ - windows = 'explorer', - linux = 'xdg-open', - darwin = 'open', - })[state.platform] - local url = event.value.url - mp.command_native_async({ - name = 'subprocess', - capture_stderr = true, - capture_stdout = true, - playback_only = false, - args = {command, url}, - }, function(success, result, error) - if not success then - local err_str = utils.to_string(error or result.stderr) - msg.error('Error trying to open url "' .. url .. '" in browser: ' .. err_str) - end - end) - elseif not event.action then - handle_download(event.value) - end - elseif event.type == 'search' then - handle_search(event.query) - end - end - ) -end diff --git a/scripts/uosc/lib/std.lua b/scripts/uosc/lib/std.lua deleted file mode 100644 index 9417bcf..0000000 --- a/scripts/uosc/lib/std.lua +++ /dev/null @@ -1,409 +0,0 @@ ---[[ Stateless utilities missing in lua standard library ]] - ----@alias Shortcut {id: string; key: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean} - ----@param number number -function round(number) return math.floor(number + 0.5) end - ----@param min number ----@param value number ----@param max number -function clamp(min, value, max) return math.max(min, math.min(value, max)) end - ----@param rgba string `rrggbb` or `rrggbbaa` hex string. -function serialize_rgba(rgba) - local a = rgba:sub(7, 8) - return { - color = rgba:sub(5, 6) .. rgba:sub(3, 4) .. rgba:sub(1, 2), - opacity = clamp(0, tonumber(#a == 2 and a or 'ff', 16) / 255, 1), - } -end - --- Trim any white space from the start and end of the string. ----@param str string ----@return string -function trim(str) return str:match('^%s*(.-)%s*$') end - ----@param str string ----@return string|nil -function url_encode(str) - if str then - str = str:gsub('([^%w%-%.%_%~])', function(c) - return string.format('%%%02X', string.byte(c)) - end) - end - return str -end - --- Escape special characters in url. ----@param str string ----@return string|nil -function url_decode(str) - local function hex_to_char(x) - return string.char(tonumber(x, 16)) - end - if str ~= nil then - str = str:gsub('^file://', '') - str = str:gsub('%%(%x%x)', hex_to_char) - if str:find('://localhost:?') then - str = str:gsub('^.*/', '') - end - end - return str -end - --- Trim any `char` from the end of the string. ----@param str string ----@param char string ----@return string -function trim_end(str, char) - local char, end_i = char:byte(), 0 - for i = #str, 1, -1 do - if str:byte(i) ~= char then - end_i = i - break - end - end - return str:sub(1, end_i) -end - ----@param str string ----@param pattern string ----@return string[] -function split(str, pattern) - local list = {} - local full_pattern = '(.-)' .. pattern - local last_end = 1 - local start_index, end_index, capture = str:find(full_pattern, 1) - while start_index do - list[#list + 1] = capture - last_end = end_index + 1 - start_index, end_index, capture = str:find(full_pattern, last_end) - end - if last_end <= (#str + 1) then - capture = str:sub(last_end) - list[#list + 1] = capture - end - return list -end - --- Handles common option and message inputs that need to be split by comma when strings. ----@param input string|string[]|nil ----@return string[] -function comma_split(input) - if not input then return {} end - if type(input) == 'table' then return itable_map(input, tostring) end - local str = tostring(input) - return str:match('^%s*$') and {} or split(str, ' *, *') -end - --- Get index of the last appearance of `sub` in `str`. ----@param str string ----@param sub string ----@return integer|nil -function string_last_index_of(str, sub) - local sub_length = #sub - for i = #str, 1, -1 do - for j = 1, sub_length do - if str:byte(i + j - 1) ~= sub:byte(j) then break end - if j == sub_length then return i end - end - end -end - --- Creates a pattern that matches `str` of any case. --- Usage: --- ```lua --- string.gsub(str, anycase('foo'), 'bar') --- ``` ----@param str string -function anycase(str) - return string.gsub(str, '%a', function(c) - return string.format('[%s%s]', c:lower(), c:upper()) - end) -end - --- Escapes a string to be used in a matching expression. ----@param value string -function regexp_escape(value) - return string.gsub(value, '[%(%)%.%+%-%*%?%[%]%^%$%%]', '%%%1') -end - ----@param itable table ----@param value any ----@return integer|nil -function itable_index_of(itable, value) - for index = 1, #itable do - if itable[index] == value then return index end - end -end - ----@param itable table ----@param value any ----@return boolean -function itable_has(itable, value) - return itable_index_of(itable, value) ~= nil -end - ----@param itable table ----@param compare fun(value: any, index: number): boolean|integer|string|nil ----@param from? number Where to start search, defaults to `1`. ----@param to? number Where to end search, defaults to `#itable`. ----@return number|nil index ----@return any|nil value -function itable_find(itable, compare, from, to) - from, to = from or 1, to or #itable - for index = from, to, from < to and 1 or -1 do - if index > 0 and index <= #itable and compare(itable[index], index) then - return index, itable[index] - end - end -end - ----@param itable table ----@param decider fun(value: any, index: number): boolean|integer|string|nil -function itable_filter(itable, decider) - local filtered = {} - for index, value in ipairs(itable) do - if decider(value, index) then filtered[#filtered + 1] = value end - end - return filtered -end - ----@param itable table ----@param value any -function itable_delete_value(itable, value) - for index = 1, #itable, 1 do - if itable[index] == value then table.remove(itable, index) end - end - return itable -end - ----@param itable table ----@param transformer fun(value: any, index: number) : any -function itable_map(itable, transformer) - local result = {} - for index, value in ipairs(itable) do - result[index] = transformer(value, index) - end - return result -end - ----@param itable table ----@param start_pos? integer ----@param end_pos? integer -function itable_slice(itable, start_pos, end_pos) - start_pos = start_pos and start_pos or 1 - end_pos = end_pos and end_pos or #itable - - if end_pos < 0 then end_pos = #itable + end_pos + 1 end - if start_pos < 0 then start_pos = #itable + start_pos + 1 end - - local new_table = {} - for index, value in ipairs(itable) do - if index >= start_pos and index <= end_pos then - new_table[#new_table + 1] = value - end - end - return new_table -end - ----@generic T ----@param ...T[]|nil ----@return T[] -function itable_join(...) - local args, result = {...}, {} - for i = 1, select('#', ...) do - if args[i] then for _, value in ipairs(args[i]) do result[#result + 1] = value end end - end - return result -end - ----@param target any[] ----@param source any[] -function itable_append(target, source) - for _, value in ipairs(source) do target[#target + 1] = value end - return target -end - -function itable_clear(itable) - for i = #itable, 1, -1 do itable[i] = nil end -end - ----@generic T ----@param input table ----@return T[] -function table_keys(input) - local keys = {} - for key, _ in pairs(input) do keys[#keys + 1] = key end - return keys -end - ----@generic T ----@param input table ----@return T[] -function table_values(input) - local values = {} - for _, value in pairs(input) do values[#values + 1] = value end - return values -end - ----@generic T: table ----@param target T ----@param ... T|nil ----@return T -function table_assign(target, ...) - local args = {...} - for i = 1, select('#', ...) do - if type(args[i]) == 'table' then for key, value in pairs(args[i]) do target[key] = value end end - end - return target -end - ----@generic T: table ----@param target T ----@param source T ----@param props string[] ----@return T -function table_assign_props(target, source, props) - for _, name in ipairs(props) do target[name] = source[name] end - return target -end - --- Assign props from `source` to `target` that are not in `props` set. ----@generic T: table ----@param target T ----@param source T ----@param props table ----@return T -function table_assign_exclude(target, source, props) - for key, value in pairs(source) do - if not props[key] then target[key] = value end - end - return target -end - --- `table_assign({}, input)` without loosing types :( ----@generic T: table ----@param input T ----@return T -function table_copy(input) return table_assign({}, input) end - --- Converts itable values into `table` map. ----@param values any[] -function create_set(values) - local result = {} - for _, value in ipairs(values) do result[value] = true end - return result -end - ----@generic T: any ----@param input string ----@param value_sanitizer? fun(value: string, key: string): T ----@return table -function serialize_key_value_list(input, value_sanitizer) - local result, sanitize = {}, value_sanitizer or function(value) return value end - for _, key_value_pair in ipairs(comma_split(input)) do - local key, value = key_value_pair:match('^([%w_]+)=([%w%.]+)$') - if key and value then result[key] = sanitize(value, key) end - end - return result -end - ----@param key string Key or a combination of a `modifiers+key`. If this includes modifiers, the `modifiers` param is ignored. ----@param modifiers? string ----@return Shortcut -function create_shortcut(key, modifiers) - key = key:lower() - - local last_plus_in_key = string_last_index_of(key, '+') - if last_plus_in_key then - modifiers = string.sub(key, 1, last_plus_in_key - 1) - key = string.sub(key, last_plus_in_key + 1) - end - - local id_parts, modifiers_set - if modifiers then - id_parts = split(modifiers:lower(), '+') - table.sort(id_parts, function(a, b) return a < b end) - modifiers_set = create_set(id_parts) - modifiers = table.concat(id_parts, '+') - else - id_parts, modifiers, modifiers_set = {}, nil, {} - end - id_parts[#id_parts + 1] = key - - return table_assign({id = table.concat(id_parts, '+'), key = key, modifiers = modifiers}, modifiers_set) -end - ---[[ EASING FUNCTIONS ]] - -function ease_out_quart(x) return 1 - ((1 - x) ^ 4) end -function ease_out_sext(x) return 1 - ((1 - x) ^ 6) end - ---[[ CLASSES ]] - ----@class Class -Class = {} -function Class:new(...) - local object = setmetatable({}, {__index = self}) - object:init(...) - return object -end -function Class:init(...) end -function Class:destroy() end - -function class(parent) return setmetatable({}, {__index = parent or Class}) end - ----@class CircularBuffer : Class -CircularBuffer = class() - -function CircularBuffer:new(max_size) return Class.new(self, max_size) --[[@as CircularBuffer]] end -function CircularBuffer:init(max_size) - self.max_size = max_size - self.pos = 0 - self.data = {} -end - -function CircularBuffer:insert(item) - self.pos = self.pos % self.max_size + 1 - self.data[self.pos] = item -end - -function CircularBuffer:get(i) - return i <= #self.data and self.data[(self.pos + i - 1) % #self.data + 1] or nil -end - -local function iter(self, i) - if i == #self.data then return nil end - i = i + 1 - return i, self:get(i) -end - -function CircularBuffer:iter() - return iter, self, 0 -end - -local function iter_rev(self, i) - if i == 1 then return nil end - i = i - 1 - return i, self:get(i) -end - -function CircularBuffer:iter_rev() - return iter_rev, self, #self.data + 1 -end - -function CircularBuffer:head() - return self.data[self.pos] -end - -function CircularBuffer:tail() - if #self.data < 1 then return nil end - return self.data[self.pos % #self.data + 1] -end - -function CircularBuffer:clear() - itable_clear(self.data) - self.pos = 0 -end diff --git a/scripts/uosc/lib/text.lua b/scripts/uosc/lib/text.lua deleted file mode 100644 index a102d4c..0000000 --- a/scripts/uosc/lib/text.lua +++ /dev/null @@ -1,660 +0,0 @@ --- https://en.wikipedia.org/wiki/Unicode_block ----@alias CodePointRange {[1]: integer; [2]: integer} - ----@type CodePointRange[] -local zero_width_blocks = { - {0x0000, 0x001F}, -- C0 - {0x007F, 0x009F}, -- Delete + C1 - {0x034F, 0x034F}, -- combining grapheme joiner - {0x061C, 0x061C}, -- Arabic Letter Strong - {0x200B, 0x200F}, -- {zero-width space, zero-width non-joiner, zero-width joiner, left-to-right mark, right-to-left mark} - {0x2028, 0x202E}, -- {line separator, paragraph separator, Left-to-Right Embedding, Right-to-Left Embedding, Pop Directional Format, Left-to-Right Override, Right-to-Left Override} - {0x2060, 0x2060}, -- word joiner - {0x2066, 0x2069}, -- {Left-to-Right Isolate, Right-to-Left Isolate, First Strong Isolate, Pop Directional Isolate} - {0xFEFF, 0xFEFF}, -- zero-width non-breaking space - -- Some other characters can also be combined https://en.wikipedia.org/wiki/Combining_character - {0x0300, 0x036F}, -- Combining Diacritical Marks 0 BMP Inherited - {0x1AB0, 0x1AFF}, -- Combining Diacritical Marks Extended 0 BMP Inherited - {0x1DC0, 0x1DFF}, -- Combining Diacritical Marks Supplement 0 BMP Inherited - {0x20D0, 0x20FF}, -- Combining Diacritical Marks for Symbols 0 BMP Inherited - {0xFE20, 0xFE2F}, -- Combining Half Marks 0 BMP Cyrillic (2 characters), Inherited (14 characters) - -- Egyptian Hieroglyph Format Controls and Shorthand format Controls - {0x13430, 0x1345F}, -- Egyptian Hieroglyph Format Controls 1 SMP Egyptian Hieroglyphs - {0x1BCA0, 0x1BCAF}, -- Shorthand Format Controls 1 SMP Common - -- not sure how to deal with those https://en.wikipedia.org/wiki/Spacing_Modifier_Letters - {0x02B0, 0x02FF}, -- Spacing Modifier Letters 0 BMP Bopomofo (2 characters), Latin (14 characters), Common (64 characters) -} - --- All characters have the same width as the first one ----@type CodePointRange[] -local same_width_blocks = { - {0x3400, 0x4DBF}, -- CJK Unified Ideographs Extension A 0 BMP Han - {0x4E00, 0x9FFF}, -- CJK Unified Ideographs 0 BMP Han - {0x20000, 0x2A6DF}, -- CJK Unified Ideographs Extension B 2 SIP Han - {0x2A700, 0x2B73F}, -- CJK Unified Ideographs Extension C 2 SIP Han - {0x2B740, 0x2B81F}, -- CJK Unified Ideographs Extension D 2 SIP Han - {0x2B820, 0x2CEAF}, -- CJK Unified Ideographs Extension E 2 SIP Han - {0x2CEB0, 0x2EBEF}, -- CJK Unified Ideographs Extension F 2 SIP Han - {0x2F800, 0x2FA1F}, -- CJK Compatibility Ideographs Supplement 2 SIP Han - {0x30000, 0x3134F}, -- CJK Unified Ideographs Extension G 3 TIP Han - {0x31350, 0x323AF}, -- CJK Unified Ideographs Extension H 3 TIP Han -} - -local width_length_ratio = 0.5 - ----@type integer, integer -local osd_width, osd_height = 100, 100 - ----Get byte count of utf-8 character at index i in str ----@param str string ----@param i integer? ----@return integer -local function utf8_char_bytes(str, i) - local char_byte = str:byte(i) - local max_bytes = #str - i + 1 - if char_byte < 0xC0 then - return math.min(max_bytes, 1) - elseif char_byte < 0xE0 then - return math.min(max_bytes, 2) - elseif char_byte < 0xF0 then - return math.min(max_bytes, 3) - elseif char_byte < 0xF8 then - return math.min(max_bytes, 4) - else - return math.min(max_bytes, 1) - end -end - ----Creates an iterator for an utf-8 encoded string ----Iterates over utf-8 characters instead of bytes ----@param str string ----@return fun(): integer?, string? -function utf8_iter(str) - local byte_start = 1 - return function() - local start = byte_start - if #str < start then return nil end - local byte_count = utf8_char_bytes(str, start) - byte_start = start + byte_count - return start, str:sub(start, start + byte_count - 1) - end -end - ----Estimating string length based on the number of characters ----@param char string ----@return number -function utf8_length(str) - local str_length = 0 - for _, c in utf8_iter(str) do - str_length = str_length + 1 - end - return str_length -end - ----Get the next character in an utf-8 encoded string ----@param str string ----@param i integer ----@return integer -function utf8_next(str, i) - if i >= #str then return #str end - local len = utf8_char_bytes(str, i + 1) - return math.min(i + len, #str) -end - ----Get the previous character in an utf-8 encoded string ----@param str string ----@param i integer ----@return integer -function utf8_prev(str, i) - if i <= 0 then return 0 end - local pos = 1 - local last_valid = 0 - while pos <= #str do - local len = utf8_char_bytes(str, pos) - if pos > i then break end - last_valid = pos - 1 - pos = pos + len - end - return last_valid -end - ----Convert character position to byte position in utf-8 encoded string ----@param str string ----@param char_pos integer ----@return integer -function utf8_charpos_to_bytepos(str, char_pos) - local byte_pos = 1 - local current_char = 1 - local str_len = #str - while byte_pos <= str_len and current_char < char_pos do - local char_len = utf8_char_bytes(str, byte_pos) - byte_pos = byte_pos + char_len - current_char = current_char + 1 - end - return byte_pos -end - ----Extract Unicode code point from utf-8 character at index i in str ----@param str string ----@param i integer ----@return integer -local function utf8_to_unicode(str, i) - local byte_count = utf8_char_bytes(str, i) - local char_byte = str:byte(i) - local unicode = char_byte - if byte_count ~= 1 then - local shift = 2 ^ (8 - byte_count) - char_byte = char_byte - math.floor(0xFF / shift) * shift - unicode = char_byte * (2 ^ 6) ^ (byte_count - 1) - end - for j = 2, byte_count do - char_byte = str:byte(i + j - 1) - 0x80 - unicode = unicode + char_byte * (2 ^ 6) ^ (byte_count - j) - end - return round(unicode) -end - ----Convert Unicode code point to utf-8 string ----@param unicode integer ----@return string? -local function unicode_to_utf8(unicode) - if unicode < 0x80 then - return string.char(unicode) - else - local byte_count - if unicode < 0x800 then - byte_count = 2 - elseif unicode < 0x10000 then - byte_count = 3 - elseif unicode < 0x110000 then - byte_count = 4 - else - return - end -- too big - - local res = {} - local shift = 2 ^ 6 - local after_shift = unicode - for _ = byte_count, 2, -1 do - local before_shift = after_shift - after_shift = math.floor(before_shift / shift) - table.insert(res, 1, before_shift - after_shift * shift + 0x80) - end - shift = 2 ^ (8 - byte_count) - table.insert(res, 1, after_shift + math.floor(0xFF / shift) * shift) - ---@diagnostic disable-next-line: deprecated - return string.char(unpack(res)) - end -end - ----Update osd resolution if valid ----@param width integer ----@param height integer -local function update_osd_resolution(width, height) - if width > 0 and height > 0 then osd_width, osd_height = width, height end -end - -mp.observe_property('osd-dimensions', 'native', function(_, dim) - if dim then update_osd_resolution(dim.w, dim.h) end -end) - -local measure_bounds -do - local text_osd = mp.create_osd_overlay('ass-events') - text_osd.compute_bounds, text_osd.hidden = true, true - - ---@param ass_text string - ---@return integer, integer, integer, integer - measure_bounds = function(ass_text) - update_osd_resolution(mp.get_osd_size()) - text_osd.res_x, text_osd.res_y = osd_width, osd_height - text_osd.data = ass_text - local res = text_osd:update() - return res.x0, res.y0, res.x1, res.y1 - end -end - -local normalized_text_width -do - ---@type {wrap: integer; bold: boolean; italic: boolean, rotate: number; size: number} - local bounds_opts = {wrap = 2, bold = false, italic = false, rotate = 0, size = 0} - - ---Measure text width and normalize to a font size of 1 - ---text has to be ass safe - ---@param text string - ---@param size number - ---@param bold boolean - ---@param italic boolean - ---@param horizontal boolean - ---@return number, integer - normalized_text_width = function(text, size, bold, italic, horizontal) - bounds_opts.bold, bounds_opts.italic, bounds_opts.rotate = bold, italic, horizontal and 0 or -90 - local x1, y1 = nil, nil - size = size / 0.8 - -- prevent endless loop - local repetitions_left = 5 - repeat - size = size * 0.8 - bounds_opts.size = size - local ass = assdraw.ass_new() - ass:txt(0, 0, horizontal and 7 or 1, text, bounds_opts) - _, _, x1, y1 = measure_bounds(ass.text) - repetitions_left = repetitions_left - 1 - -- make sure nothing got clipped - until (x1 and x1 < osd_width and y1 < osd_height) or repetitions_left == 0 - local width = (repetitions_left == 0 and not x1) and 0 or (horizontal and x1 or y1) - return width / size, horizontal and osd_width or osd_height - end -end - ----Estimates character length based on utf8 byte count ----1 character length is roughly the size of a latin character ----@param char string ----@return number -local function char_length(char) - return #char > 2 and 2 or 1 -end - ----Estimates string length based on utf8 byte count ----Note: Making a string in the iterator with the character is a waste here, ----but as this function is only used when measuring whole string widths it's fine ----@param text string ----@return number -local function text_length(text) - if not text or text == '' then return 0 end - local text_length = 0 - for _, char in utf8_iter(tostring(text)) do text_length = text_length + char_length(char) end - return text_length -end - ----Finds the best orientation of text on screen and returns the estimated max size ----and if the text should be drawn horizontally ----@param text string ----@return number, boolean -local function fit_on_screen(text) - local estimated_width = text_length(text) * width_length_ratio - if osd_width >= osd_height then - -- Fill the screen as much as we can, bigger is more accurate. - return math.min(osd_width / estimated_width, osd_height), true - else - return math.min(osd_height / estimated_width, osd_width), false - end -end - ----Gets next stage from cache ----@param cache {[any]: table} ----@param value any -local function get_cache_stage(cache, value) - local stage = cache[value] - if not stage then - stage = {} - cache[value] = stage - end - return stage -end - ----Is measured resolution sufficient ----@param px integer ----@return boolean -local function no_remeasure_required(px) - return px >= 800 or (px * 1.1 >= osd_width and px * 1.1 >= osd_height) -end - -local character_width -do - ---@type {[boolean]: {[string]: {[1]: number, [2]: integer}}} - local char_width_cache = {} - - ---Get measured width of character - ---@param char string - ---@param bold boolean - ---@return number, integer - character_width = function(char, bold) - ---@type {[string]: {[1]: number, [2]: integer}} - local char_widths = get_cache_stage(char_width_cache, bold) - local width_px = char_widths[char] - if width_px and no_remeasure_required(width_px[2]) then return width_px[1], width_px[2] end - - local unicode = utf8_to_unicode(char, 1) - for _, block in ipairs(zero_width_blocks) do - if unicode >= block[1] and unicode <= block[2] then - char_widths[char] = {0, math.huge} - return 0, math.huge - end - end - - local measured_char = nil - for _, block in ipairs(same_width_blocks) do - if unicode >= block[1] and unicode <= block[2] then - measured_char = unicode_to_utf8(block[1]) - width_px = char_widths[measured_char] - if width_px and no_remeasure_required(width_px[2]) then - char_widths[char] = width_px - return width_px[1], width_px[2] - end - break - end - end - - if not measured_char then measured_char = char end - -- half as many repetitions for wide characters - local char_count = 10 / char_length(char) - local max_size, horizontal = fit_on_screen(measured_char:rep(char_count)) - local size = math.min(max_size * 0.9, 50) - char_count = math.min(math.floor(char_count * max_size / size * 0.8), 100) - local enclosing_char, enclosing_width, next_char_count = '|', 0, char_count - if measured_char == enclosing_char then - enclosing_char = '' - else - enclosing_width = 2 * character_width(enclosing_char, bold) - end - local width_ratio, width, px = nil, nil, nil - repeat - char_count = next_char_count - local str = enclosing_char .. measured_char:rep(char_count) .. enclosing_char - width, px = normalized_text_width(str, size, bold, false, horizontal) - width = width - enclosing_width - width_ratio = width * size / (horizontal and osd_width or osd_height) - next_char_count = math.min(math.floor(char_count / width_ratio * 0.9), 100) - until width_ratio < 0.05 or width_ratio > 0.5 or char_count == next_char_count - width = width / char_count - - width_px = {width, px} - if char ~= measured_char then char_widths[measured_char] = width_px end - char_widths[char] = width_px - return width, px - end -end - ----Calculate text width from individual measured characters ----@param text string|number ----@param bold boolean ----@return number, integer -local function character_based_width(text, bold) - local max_width = 0 - local min_px = math.huge - for line in tostring(text):gmatch('([^\n]*)\n?') do - local total_width = 0 - for _, char in utf8_iter(line) do - local width, px = character_width(char, bold) - total_width = total_width + width - if px < min_px then min_px = px end - end - if total_width > max_width then max_width = total_width end - end - return max_width, min_px -end - ----Measure width of whole text ----@param text string|number ----@param bold boolean ----@param italic boolean ----@return number, integer -local function whole_text_width(text, bold, italic) - text = tostring(text) - local size, horizontal = fit_on_screen(text) - return normalized_text_width(ass_escape(text), size * 0.9, bold, italic, horizontal) -end - ----Scale normalized width to real width based on font size and italic ----@param opts {size: number; italic?: boolean} ----@return number, number -local function opts_factor_offset(opts) - return opts.size, opts.italic and opts.size * 0.2 or 0 -end - ----Scale normalized width to real width based on font size and italic ----@param opts {size: number; italic?: boolean} ----@return number -local function normalized_to_real(width, opts) - local factor, offset = opts_factor_offset(opts) - return factor * width + offset -end - -do - ---@type {[boolean]: {[boolean]: {[string|number]: {[1]: number, [2]: integer}}}} | {[boolean]: {[string|number]: {[1]: number, [2]: integer}}} - local width_cache = {} - - ---Calculate width of text with the given opts - ---@param text string|number - ---@return number - ---@param opts {size: number; bold?: boolean; italic?: boolean} - function text_width(text, opts) - if not text or text == '' then return 0 end - - ---@type boolean, boolean - local bold, italic = opts.bold or options.font_bold, opts.italic or false - - if not config.refine.text_width then - ---@type {[string|number]: {[1]: number, [2]: integer}} - local text_width = get_cache_stage(width_cache, bold) - local width_px = text_width[text] - if width_px and no_remeasure_required(width_px[2]) then return normalized_to_real(width_px[1], opts) end - - local width, px = character_based_width(text, bold) - width_cache[bold][text] = {width, px} - return normalized_to_real(width, opts) - else - ---@type {[string|number]: {[1]: number, [2]: integer}} - local text_width = get_cache_stage(get_cache_stage(width_cache, bold), italic) - local width_px = text_width[text] - if width_px and no_remeasure_required(width_px[2]) then return width_px[1] * opts.size end - - local width, px = whole_text_width(text, bold, italic) - width_cache[bold][italic][text] = {width, px} - return width * opts.size - end - end -end - -do - ---@type {[string]: string} - local cache = {} - - function timestamp_zero_rep_clear_cache() - cache = {} - end - - ---Replace all timestamp digits with 0 - ---@param timestamp string - function timestamp_zero_rep(timestamp) - local substitute = cache[#timestamp] - if not substitute then - substitute = timestamp:gsub('%d', '0') - cache[#timestamp] = substitute - end - return substitute - end - - ---Get width of formatted timestamp as if all the digits were replaced with 0 - ---@param timestamp string - ---@param opts {size: number; bold?: boolean; italic?: boolean} - ---@return number - function timestamp_width(timestamp, opts) - return text_width(timestamp_zero_rep(timestamp), opts) - end -end - -do - local wrap_at_chars = {' ', ' ', '-', '–'} - local remove_when_wrap = {' ', ' '} - - ---Wrap the text at the closest opportunity to target_line_length - ---@param text string - ---@param opts {size: number; bold?: boolean; italic?: boolean} - ---@param target_line_length number - ---@return string, integer - function wrap_text(text, opts, target_line_length) - local target_line_width = target_line_length * width_length_ratio * opts.size - local bold, scale_factor, scale_offset = opts.bold or false, opts_factor_offset(opts) - local wrap_at_chars, remove_when_wrap = wrap_at_chars, remove_when_wrap - local lines = {} - for _, text_line in ipairs(split(text, '\n')) do - local line_width = scale_offset - local line_start = 1 - local before_end = nil - local before_width = scale_offset - local before_line_start = 0 - local before_removed_width = 0 - for char_start, char in utf8_iter(text_line) do - local char_end = char_start + #char - 1 - local char_width = character_width(char, bold) * scale_factor - line_width = line_width + char_width - if (char_end == #text_line) or itable_has(wrap_at_chars, char) then - local remove = itable_has(remove_when_wrap, char) - local line_width_after_remove = line_width - (remove and char_width or 0) - if line_width_after_remove < target_line_width then - before_end = remove and char_start - 1 or char_end - before_width = line_width_after_remove - before_line_start = char_end + 1 - before_removed_width = remove and char_width or 0 - else - if (target_line_width - before_width) < - (line_width_after_remove - target_line_width) then - lines[#lines + 1] = text_line:sub(line_start, before_end) - line_start = before_line_start - line_width = line_width - before_width - before_removed_width + scale_offset - else - lines[#lines + 1] = text_line:sub(line_start, remove and char_start - 1 or char_end) - line_start = char_end + 1 - line_width = scale_offset - end - before_end = line_start - before_width = scale_offset - end - end - end - if #text_line >= line_start then - lines[#lines + 1] = text_line:sub(line_start) - elseif text_line == '' then - lines[#lines + 1] = '' - end - end - return table.concat(lines, '\n'), #lines - end -end - -do - local word_separators = create_set({ - ' ', ' ', '\t', '-', '–', '_', ',', '.', '+', '&', '(', ')', '[', ']', '{', '}', '<', '>', '/', '\\', - '(', ')', '【', '】', ';', ':', '《', '》', '“', '”', '‘', '’', '?', '!', - }) - - ---Get the first character of each word - ---@param str string - ---@return string[] - function initials(str) - local initials, is_word_start, word_separators = {}, true, word_separators - for _, char in utf8_iter(str) do - if word_separators[char] then - is_word_start = true - elseif is_word_start then - initials[#initials + 1] = char - is_word_start = false - end - end - return initials - end -end - --- Returns the index of the beginning or end of the current word/segment in a string. ----@param str string String to search in. ----@param cursor number Where in the string to start searching. ----@param direction number `1` to search forward, `-1` backward. -function find_string_segment_bound(str, cursor, direction) - if #str < 2 then return #str end - cursor = math.max(1, math.min(cursor, #str)) - local head, tail = string.sub(str, 1, cursor), string.sub(str, cursor + 1) - if direction < 0 then - local word_pat, other_pat = '[^%c%s%p]+$', '[%c%s%p]+$' - local pat = head:sub(#head):match(word_pat) and word_pat or other_pat - -- First we match all same type consecutive chars starting at cursor - local segment = head:match(pat) or '' - -- If there's only one, we extend the segment with opposite type chars - if segment and #segment == 1 then - local match = head:sub(1, #head - #segment):match(pat == word_pat and other_pat or word_pat) - segment = (match or '') .. segment - end - return cursor - #segment + 1 - else - local word_pat, other_pat = '^[^%c%s%p]+', '^[%c%s%p]+' - local pat = tail:sub(1, 1):match(word_pat) and word_pat or other_pat - local segment = tail:match(pat) or '' - if segment and #segment == 1 then - local match = tail:sub(#segment):match(pat == word_pat and other_pat or word_pat) - segment = segment .. (match or '') - end - return cursor + #segment - end -end - --- Highlight matching text in a string. ----@param text string ----@param byte_positions number[] ----@param font_color string ----@return string -function highlight_match(text, byte_positions, font_color, bold) - if not byte_positions or #byte_positions == 0 then - return ass_escape(text) - end - - table.sort(byte_positions) - local start_tag = '{\\c&H' .. config.color.match .. '&\\b' .. (bold and '1' or '0') .. '}' - local end_tag = '{\\c&H' .. font_color .. '&}' - - local result = {} - local pos_set = {} - for _, p in ipairs(byte_positions) do - pos_set[p] = true - end - - local i = 1 - local len = #text - while i <= len do - if pos_set[i] then - table.insert(result, start_tag) - local char_len = utf8_char_bytes(text, i) - table.insert(result, ass_escape(text:sub(i, i + char_len - 1))) - table.insert(result, end_tag) - i = i + char_len - else - local char_len = utf8_char_bytes(text, i) - table.insert(result, ass_escape(text:sub(i, i + char_len - 1))) - i = i + char_len - end - end - - return table.concat(result) -end - --- Get positions of matching characters in a romanized string. ----@param title string ----@param query string ----@param mode string ----@param roman string[] -function get_roman_match_positions(title, query, mode, roman) - local romans = {} - local char_ranges = {} - local total_len = 0 - for _, char in ipairs(roman) do - local part = (mode == "initial") and char:sub(1, 1) or char - part = part:lower() - romans[#romans + 1] = part - char_ranges[#char_ranges + 1] = {total_len + 1, total_len + #part} - total_len = total_len + #part - end - - local full_roman = table.concat(romans) - local s, e = full_roman:find(query, 1, true) - if not s then return nil end - - local byte_positions = {} - for i, range in ipairs(char_ranges) do - local rs, re = range[1], range[2] - if not (re < s or rs > e) then - byte_positions[#byte_positions + 1] = utf8_charpos_to_bytepos(title, i) - end - end - - return byte_positions -end diff --git a/scripts/uosc/lib/utils.lua b/scripts/uosc/lib/utils.lua deleted file mode 100644 index 7f3963e..0000000 --- a/scripts/uosc/lib/utils.lua +++ /dev/null @@ -1,1079 +0,0 @@ ---[[ UI specific utilities that might or might not depend on its state or options ]] - ----@alias Point {x: number; y: number} ----@alias Rect {ax: number, ay: number, bx: number, by: number, window_drag?: boolean} ----@alias Circle {point: Point, r: number, window_drag?: boolean} ----@alias Hitbox Rect|Circle ----@alias ComplexBindingInfo {event: 'down' | 'repeat' | 'up' | 'press'; is_mouse: boolean; canceled: boolean; key_name?: string; key_text?: string;} - --- String sorting -do - ----- winapi start ----- - -- in windows system, we can use the sorting function provided by the win32 API - -- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw - -- this function was taken from https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 - local winapi = nil - - if state.platform == 'windows' and config.refine.sorting then - -- is_ffi_loaded is false usually means the mpv builds without luajit - local is_ffi_loaded, ffi = pcall(require, 'ffi') - - if is_ffi_loaded then - winapi = { - ffi = ffi, - C = ffi.C, - CP_UTF8 = 65001, - shlwapi = ffi.load('shlwapi'), - } - - -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 - ffi.cdef [[ - int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, - int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); - int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); - ]] - - winapi.utf8_to_wide = function(utf8_str) - if utf8_str then - local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) - - if utf16_len > 0 then - local utf16_str = winapi.ffi.new('wchar_t[?]', utf16_len) - - if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then - return utf16_str - end - end - end - - return '' - end - end - end - ----- winapi end ----- - - -- alphanum sorting for humans in Lua - -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua - local function padnum(n, d) - return #d > 0 and ('%03d%s%.12f'):format(#n, n, tonumber(d) / (10 ^ #d)) - or ('%03d%s'):format(#n, n) - end - - local function sort_lua(strings) - local tuples = {} - for i, f in ipairs(strings) do - tuples[i] = {f:lower():gsub('0*(%d+)%.?(%d*)', padnum), f} - end - table.sort(tuples, function(a, b) - return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] - end) - for i, tuple in ipairs(tuples) do strings[i] = tuple[2] end - return strings - end - - ---@param strings string[] - function sort_strings(strings) - if winapi then - table.sort(strings, function(a, b) - return winapi.shlwapi.StrCmpLogicalW(winapi.utf8_to_wide(a), winapi.utf8_to_wide(b)) == -1 - end) - else - sort_lua(strings) - end - end -end - --- Creates in-between frames to animate value from `from` to `to` numbers. ----@param from number ----@param to number|fun():number ----@param setter fun(value: number) ----@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. ----@param callback? fun() Called either on animation end, or when animation is killed. -function tween(from, to, setter, duration_or_callback, callback) - local duration = duration_or_callback - if type(duration_or_callback) == 'function' then callback = duration_or_callback end - if type(duration) ~= 'number' then duration = options.animation_duration end - - local current, done, timeout = from, false, nil - local get_to = type(to) == 'function' and to or function() return to --[[@as number]] end - local distance = math.abs(get_to() - current) - local cutoff = distance * 0.01 - local target_ticks = (math.max(duration, 1) / (state.render_delay * 1000)) - local decay = 1 - ((cutoff / distance) ^ (1 / target_ticks)) - - local function finish() - if not done then - setter(get_to()) - done = true - timeout:kill() - if callback then callback() end - request_render() - end - end - - local function tick() - local to = get_to() - current = current + ((to - current) * decay) - local is_end = math.abs(to - current) <= cutoff - if is_end then - finish() - else - setter(current) - timeout:resume() - request_render() - end - end - - timeout = mp.add_timeout(state.render_delay, tick) - if cutoff > 0 then tick() else finish() end - - return finish -end - ----@param point Point ----@param rect Rect -function get_point_to_rectangle_proximity(point, rect) - local dx = math.max(rect.ax - point.x, 0, point.x - rect.bx) - local dy = math.max(rect.ay - point.y, 0, point.y - rect.by) - return math.sqrt(dx * dx + dy * dy) -end - ----@param point_a Point ----@param point_b Point -function get_point_to_point_proximity(point_a, point_b) - local dx, dy = point_a.x - point_b.x, point_a.y - point_b.y - return math.sqrt(dx * dx + dy * dy) -end - ----@param point Point ----@param hitbox Hitbox -function point_collides_with(point, hitbox) - return (hitbox.r and get_point_to_point_proximity(point, hitbox.point) <= hitbox.r) or - (not hitbox.r and get_point_to_rectangle_proximity(point, hitbox --[[@as Rect]]) == 0) -end - ----@param lax number ----@param lay number ----@param lbx number ----@param lby number ----@param max number ----@param may number ----@param mbx number ----@param mby number -function get_line_to_line_intersection(lax, lay, lbx, lby, max, may, mbx, mby) - -- Calculate the direction of the lines - local uA = ((mbx - max) * (lay - may) - (mby - may) * (lax - max)) / - ((mby - may) * (lbx - lax) - (mbx - max) * (lby - lay)) - local uB = ((lbx - lax) * (lay - may) - (lby - lay) * (lax - max)) / - ((mby - may) * (lbx - lax) - (mbx - max) * (lby - lay)) - - -- If uA and uB are between 0-1, lines are colliding - if uA >= 0 and uA <= 1 and uB >= 0 and uB <= 1 then - return lax + (uA * (lbx - lax)), lay + (uA * (lby - lay)) - end - - return nil, nil -end - --- Returns distance from the start of a finite ray assumed to be at (rax, ray) --- coordinates to a line. ----@param rax number ----@param ray number ----@param rbx number ----@param rby number ----@param lax number ----@param lay number ----@param lbx number ----@param lby number -function get_ray_to_line_distance(rax, ray, rbx, rby, lax, lay, lbx, lby) - local x, y = get_line_to_line_intersection(rax, ray, rbx, rby, lax, lay, lbx, lby) - if x then - return math.sqrt((rax - x) ^ 2 + (ray - y) ^ 2) - end - return nil -end - --- Returns distance from the start of a finite ray assumed to be at (ax, ay) --- coordinates to a rectangle. Returns `0` if ray originates inside rectangle. ----@param ax number ----@param ay number ----@param bx number ----@param by number ----@param rect Rect ----@return number|nil -function get_ray_to_rectangle_distance(ax, ay, bx, by, rect) - -- Is inside - if ax >= rect.ax and ax <= rect.bx and ay >= rect.ay and ay <= rect.by then - return 0 - end - - local closest = nil - - local function updateDistance(distance) - if distance and (not closest or distance < closest) then closest = distance end - end - - updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.ay, rect.bx, rect.ay)) - updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.bx, rect.ay, rect.bx, rect.by)) - updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.by, rect.bx, rect.by)) - updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.ay, rect.ax, rect.by)) - - return closest -end - --- Extracts the properties used by property expansion of that string. ----@param str string ----@param res { [string] : boolean } | nil ----@return { [string] : boolean } -function get_expansion_props(str, res) - res = res or {} - for str in str:gmatch('%$(%b{})') do - local name, str = str:match('^{[?!]?=?([^:]+):?(.*)}$') - if name then - local s = name:find('==') or nil - if s then name = name:sub(0, s - 1) end - res[name] = true - if str and str ~= '' then get_expansion_props(str, res) end - end - end - return res -end - --- Escape a string for verbatim display on the OSD. ----@param str string -function ass_escape(str) - -- There is no escape for '\' in ASS (I think?) but '\' is used verbatim if - -- it isn't followed by a recognized character, so add a zero-width - -- non-breaking space - str = str:gsub('\\', '\\\239\187\191') - str = str:gsub('{', '\\{') - str = str:gsub('}', '\\}') - -- Precede newlines with a ZWNBSP to prevent ASS's weird collapsing of - -- consecutive newlines - str = str:gsub('\n', '\239\187\191\\N') - -- Turn leading spaces into hard spaces to prevent ASS from stripping them - str = str:gsub('\\N ', '\\N\\h') - str = str:gsub('^ ', '\\h') - return str -end - ----@param seconds number ----@param max_seconds number|nil Trims unnecessary `00:` if time is not expected to reach it. ----@return string -function format_time(seconds, max_seconds) - local human = mp.format_time(seconds) - if options.time_precision > 0 then - local formatted = string.format('%.' .. options.time_precision .. 'f', math.abs(seconds) % 1) - human = human .. '.' .. string.sub(formatted, 3) - end - if max_seconds then - local trim_length = (max_seconds < 60 and 7 or (max_seconds < 3600 and 4 or 0)) - if trim_length > 0 then - local has_minus = seconds < 0 - human = string.sub(human, trim_length + (has_minus and 1 or 0)) - if has_minus then human = '-' .. human end - end - end - return human -end - ----@param opacity number 0-1 -function opacity_to_alpha(opacity) - return 255 - math.ceil(255 * opacity) -end - -path_separator = (function() - local os_separator = state.platform == 'windows' and '\\' or '/' - - -- Get appropriate path separator for the given path. - ---@param path string - ---@return string - return function(path) - return path:sub(1, 2) == '\\\\' and '\\' or os_separator - end -end)() - --- Joins paths with the OS aware path separator or UNC separator. ----@param p1 string ----@param p2 string ----@return string -function join_path(p1, p2) - local p1, separator = trim_trailing_separator(p1) - -- Prevents joining drive letters with a redundant separator (`C:\\foo`), - -- as `trim_trailing_separator()` doesn't trim separators from drive letters. - return p1:sub(#p1) == separator and p1 .. p2 or p1 .. separator .. p2 -end - --- Check if path is absolute. ----@param path string ----@return boolean -function is_absolute(path) - if path:sub(1, 2) == '\\\\' then - return true - elseif state.platform == 'windows' then - return path:find('^%a+:') ~= nil - else - return path:sub(1, 1) == '/' - end -end - --- Ensure path is absolute. ----@param path string ----@return string -function ensure_absolute(path) - if is_absolute(path) then return path end - return join_path(state.cwd, path) -end - --- Remove trailing slashes/backslashes. ----@param path string ----@return string path, string trimmed_separator_type -function trim_trailing_separator(path) - local separator = path_separator(path) - path = trim_end(path, separator) - if state.platform == 'windows' then - -- Drive letters on windows need trailing backslash - if path:sub(#path) == ':' then path = path .. '\\' end - else - if path == '' then path = '/' end - end - return path, separator -end - --- Ensures path is absolute, remove trailing slashes/backslashes. --- Lightweight version of normalize_path for performance critical parts. ----@param path string ----@return string -function normalize_path_lite(path) - if not path or is_protocol(path) then return path end - path = trim_trailing_separator(ensure_absolute(path)) - return path -end - --- Ensures path is absolute, remove trailing slashes/backslashes, normalization of path separators and deduplication. ----@param path string ----@return string -function normalize_path(path) - if not path or is_protocol(path) then return path end - - path = ensure_absolute(path) - local is_unc = path:sub(1, 2) == '\\\\' - if state.platform == 'windows' or is_unc then path = path:gsub('/', '\\') end - path = trim_trailing_separator(path) - - --Deduplication of path separators - if is_unc then - path = path:gsub('(.\\)\\+', '%1') - elseif state.platform == 'windows' then - path = path:gsub('\\\\+', '\\') - else - path = path:gsub('//+', '/') - end - - return path -end - --- Check if path is a protocol, such as `http://...`. ----@param path string -function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - ----@param path string ----@param extensions string[] Lowercase extensions without the dot. -function has_any_extension(path, extensions) - local path_last_dot_index = string_last_index_of(path, '.') - if not path_last_dot_index then return false end - local path_extension = path:sub(path_last_dot_index + 1):lower() - for _, extension in ipairs(extensions) do - if path_extension == extension then return true end - end - return false -end - --- Executes mp command defined as a string or an itable, or does nothing if command is any other value. --- Returns boolean specifying if command was executed or not. ----@param command string | string[] | nil | any ----@return boolean executed `true` if command was executed. -function execute_command(command) - local command_type = type(command) - if command_type == 'string' then - mp.command(command) - return true - elseif command_type == 'table' and #command > 0 then - mp.command_native(command) - return true - end - return false -end - --- Serializes path into its semantic parts. ----@param path string ----@return nil|{path: string; is_root: boolean; dirname?: string; basename: string; filename: string; extension?: string;} -function serialize_path(path) - if not path or is_protocol(path) then return end - - local normal_path = normalize_path_lite(path) - local dirname, basename = utils.split_path(normal_path) - if basename == '' then basename, dirname = dirname:sub(1, #dirname - 1), nil end - local dot_i = string_last_index_of(basename, '.') - - return { - path = normal_path, - is_root = dirname == nil, - dirname = dirname, - basename = basename, - filename = dot_i and basename:sub(1, dot_i - 1) or basename, - extension = dot_i and basename:sub(dot_i + 1) or nil, - } -end - -local system_files = create_set({ - '$RECYCLE.BIN', '$Recycle.Bin', '$SysReset', '$WinREAgent', '.sys', 'pagefile.sys', 'hiberfil.sys', 'config.sys', - 'swapfile.sys', 'Thumbs.db', 'desktop.ini', -}) - --- Reads items in directory and splits it into directories and files tables. ----@param path string ----@param opts? {types?: string[], hidden?: boolean} ----@return string[] files ----@return string[] directories ----@return string|nil error -function read_directory(path, opts) - opts = opts or {} - local items, error = utils.readdir(path, 'all') - local files, directories = {}, {} - - if not items then - return files, directories, 'Reading directory "' .. path .. '" failed. Error: ' .. utils.to_string(error) - end - - for _, item in ipairs(items) do - if item ~= '.' and item ~= '..' and not system_files[item] and (opts.hidden or item:sub(1, 1) ~= '.') then - local info = utils.file_info(join_path(path, item)) - if info then - if info.is_file then - if not opts.types or has_any_extension(item, opts.types) then - files[#files + 1] = item - end - else - directories[#directories + 1] = item - end - end - end - end - - return files, directories -end - --- Returns full absolute paths of files in the same directory as `file_path`, --- and index of the current file in the table. --- Returned table will always contain `file_path`, regardless of `allowed_types`. ----@param file_path string ----@param opts? {types?: string[], hidden?: boolean} -function get_adjacent_files(file_path, opts) - opts = opts or {} - local current_meta = serialize_path(file_path) - if not current_meta then return end - local files, _dirs, error = read_directory(current_meta.dirname, {hidden = opts.hidden}) - if error then - msg.error(error) - return - end - sort_strings(files) - local current_file_index - local paths = {} - for _, file in ipairs(files) do - local is_current_file = current_meta.basename == file - if is_current_file or not opts.types or has_any_extension(file, opts.types) then - paths[#paths + 1] = join_path(current_meta.dirname, file) - if is_current_file then current_file_index = #paths end - end - end - if not current_file_index then return end - return paths, current_file_index -end - --- Navigates in a list, using delta or, when `state.shuffle` is enabled, --- randomness to determine the next item. Loops around if `loop-playlist` is enabled. ----@param paths table ----@param current_index number ----@param delta number 1 or -1 for forward or backward -function decide_navigation_in_list(paths, current_index, delta) - if #paths < 2 then return end - delta = delta < 0 and -1 or 1 - - -- Shuffle looks at the played files history trimmed to 80% length of the paths - -- and removes all paths in it from the potential shuffle pool. This guarantees - -- no path repetition until at least 80% of the playlist has been exhausted. - if state.shuffle then - state.shuffle_history = state.shuffle_history or { - pos = #state.history, - paths = itable_slice(state.history), - } - state.shuffle_history.pos = state.shuffle_history.pos + delta - local history_path = state.shuffle_history.paths[state.shuffle_history.pos] - local next_index = history_path and itable_index_of(paths, history_path) - if next_index then - return next_index, history_path - end - if delta < 0 then - state.shuffle_history.pos = state.shuffle_history.pos - delta - else - state.shuffle_history.pos = math.min(state.shuffle_history.pos, #state.shuffle_history.paths + 1) - end - - local trimmed_history = itable_slice(state.history, -math.floor(#paths * 0.8)) - local shuffle_pool = {} - - for index, value in ipairs(paths) do - if not itable_has(trimmed_history, value) then - shuffle_pool[#shuffle_pool + 1] = index - end - end - - math.randomseed(os.time()) - local next_index = shuffle_pool[math.random(#shuffle_pool)] - local next_path = paths[next_index] - table.insert(state.shuffle_history.paths, state.shuffle_history.pos, next_path) - return next_index, next_path - end - - local new_index = current_index + delta - if mp.get_property_native('loop-playlist') then - if new_index > #paths then - new_index = new_index % #paths - elseif new_index < 1 then - new_index = #paths - new_index - end - elseif new_index < 1 or new_index > #paths then - return - end - - return new_index, paths[new_index] -end - ----@param delta number -function navigate_directory(delta) - if not state.path or is_protocol(state.path) then return false end - local paths, current_index = get_adjacent_files(state.path, { - types = config.types.load, - hidden = options.show_hidden_files, - }) - if paths and current_index then - local _, path = decide_navigation_in_list(paths, current_index, delta) - if path then - mp.commandv('loadfile', path) - return true - end - end - return false -end - ----@param delta number -function navigate_playlist(delta) - local playlist, pos = mp.get_property_native('playlist'), mp.get_property_native('playlist-pos-1') - if playlist and #playlist > 1 and pos then - local paths = itable_map(playlist, function(item) return normalize_path(item.filename) end) - local index = decide_navigation_in_list(paths, pos, delta) - if index then - mp.commandv('playlist-play-index', index - 1) - return true - end - end - return false -end - ----@param delta number -function navigate_item(delta) - if state.has_playlist then return navigate_playlist(delta) else return navigate_directory(delta) end -end - --- Can't use `os.remove()` as it fails on paths with unicode characters. --- Returns `result, error`, result is table of: --- `status:number(<0=error), stdout, stderr, error_string, killed_by_us:boolean` ----@param path string -function delete_file(path) - if state.platform == 'windows' then - if options.use_trash then - local ps_code = [[ - Add-Type -AssemblyName Microsoft.VisualBasic - [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') - ]] - - local escaped_path = string.gsub(path, "'", "''") - escaped_path = string.gsub(escaped_path, '’', '’’') - escaped_path = string.gsub(escaped_path, '%%', '%%%%') - ps_code = string.gsub(ps_code, '__path__', escaped_path) - args = {'powershell', '-NoProfile', '-Command', ps_code} - else - args = {'cmd', '/C', 'del', path} - end - else - if options.use_trash then - --On Linux and Macos the app trash-cli/trash must be installed first. - args = {'trash', path} - else - args = {'rm', path} - end - end - return mp.command_native({ - name = 'subprocess', - args = args, - playback_only = false, - capture_stdout = true, - capture_stderr = true, - }) -end - -function delete_file_navigate(delta) - local path, playlist_pos = state.path, state.playlist_pos - local is_local_file = path and not is_protocol(path) - - if navigate_item(delta) then - if state.has_playlist then - mp.commandv('playlist-remove', playlist_pos - 1) - end - else - mp.command('stop') - end - - if is_local_file then - if Menu:is_open('open-file') then - Elements:maybe('menu', 'delete_value', path) - end - if path then delete_file(path) end - end -end - -function serialize_chapter_ranges(normalized_chapters) - local ranges = {} - local simple_ranges = { - { - name = 'openings', - patterns = { - '^op ', '^op$', ' op$', - '^opening$', ' opening$', - }, - requires_next_chapter = true, - }, - { - name = 'intros', - patterns = { - '^intro$', ' intro$', - '^avant$', '^prologue$', - }, - requires_next_chapter = true, - }, - { - name = 'endings', - patterns = { - '^ed ', '^ed$', ' ed$', - '^ending ', '^ending$', ' ending$', - }, - }, - { - name = 'outros', - patterns = { - '^outro$', ' outro$', - '^closing$', '^closing ', - '^preview$', '^pv$', - }, - }, - } - local sponsor_ranges = {} - - -- Extend with alt patterns - for _, meta in ipairs(simple_ranges) do - local alt_patterns = config.chapter_ranges[meta.name] and config.chapter_ranges[meta.name].patterns - if alt_patterns then meta.patterns = itable_join(meta.patterns, alt_patterns) end - end - - -- Clone chapters - local chapters = {} - for i, normalized in ipairs(normalized_chapters) do chapters[i] = table_assign({}, normalized) end - - for i, chapter in ipairs(chapters) do - -- Simple ranges - for _, meta in ipairs(simple_ranges) do - if config.chapter_ranges[meta.name] then - local match = itable_find(meta.patterns, function(p) return chapter.lowercase_title:find(p) end) - if match then - local next_chapter = chapters[i + 1] - if next_chapter or not meta.requires_next_chapter then - ranges[#ranges + 1] = table_assign({ - start = chapter.time, - ['end'] = next_chapter and next_chapter.time or math.huge, - }, config.chapter_ranges[meta.name]) - end - end - end - end - - -- Sponsor blocks - if config.chapter_ranges.ads then - local id = chapter.lowercase_title:match('segment start *%(([%w]%w-)%)') - if id then -- ad range from sponsorblock - for j = i + 1, #chapters, 1 do - local end_chapter = chapters[j] - local end_match = end_chapter.lowercase_title:match('segment end *%(' .. id .. '%)') - if end_match then - local range = table_assign({ - start_chapter = chapter, - end_chapter = end_chapter, - start = chapter.time, - ['end'] = end_chapter.time, - }, config.chapter_ranges.ads) - ranges[#ranges + 1], sponsor_ranges[#sponsor_ranges + 1] = range, range - end_chapter.is_end_only = true - break - end - end -- single chapter for ad - elseif not chapter.is_end_only and - (chapter.lowercase_title:find('%[sponsorblock%]:') or chapter.lowercase_title:find('^sponsors?')) then - local next_chapter = chapters[i + 1] - ranges[#ranges + 1] = table_assign({ - start = chapter.time, - ['end'] = next_chapter and next_chapter.time or math.huge, - }, config.chapter_ranges.ads) - end - end - end - - -- Fix overlapping sponsor block segments - for index, range in ipairs(sponsor_ranges) do - local next_range = sponsor_ranges[index + 1] - if next_range then - local delta = next_range.start - range['end'] - if delta < 0 then - local mid_point = range['end'] + delta / 2 - range['end'], range.end_chapter.time = mid_point - 0.01, mid_point - 0.01 - next_range.start, next_range.start_chapter.time = mid_point, mid_point - end - end - end - table.sort(chapters, function(a, b) return a.time < b.time end) - - return chapters, ranges -end - --- Ensures chapters are in chronological order -function normalize_chapters(chapters) - if not chapters then return {} end - -- Ensure chronological order - table.sort(chapters, function(a, b) return a.time < b.time end) - -- Ensure titles - for index, chapter in ipairs(chapters) do - local chapter_number = chapter.title and string.match(chapter.title, '^Chapter (%d+)$') - if chapter_number then - chapter.title = t('Chapter %s', tonumber(chapter_number)) - end - chapter.title = chapter.title ~= '(unnamed)' and chapter.title ~= '' and chapter.title or t('Chapter %s', index) - chapter.lowercase_title = chapter.title:lower() - end - return chapters -end - -function serialize_chapters(chapters) - chapters = normalize_chapters(chapters) - if not chapters then return end - --- timeline font size isn't accessible here, so normalize to size 1 and then scale during rendering - local opts = {size = 1, bold = true} - for index, chapter in ipairs(chapters) do - chapter.index = index - chapter.title_wrapped, chapter.title_lines = wrap_text(chapter.title, opts, 25) - chapter.title_wrapped_width = text_width(chapter.title_wrapped, opts) - chapter.title_wrapped = ass_escape(chapter.title_wrapped) - end - return chapters -end - ----Find all active key bindings or the active key binding for key ----@param key string|nil ----@return {[string]: table}|table -function find_active_keybindings(key) - local bindings = mp.get_property_native('input-bindings', {}) - local active_map = {} -- map: key-name -> bind-info - local active_table = {} - for _, bind in pairs(bindings) do - if bind.owner ~= 'uosc' and bind.priority >= 0 and (not key or bind.key == key) and ( - not active_map[bind.key] - or (active_map[bind.key].is_weak and not bind.is_weak) - or (bind.is_weak == active_map[bind.key].is_weak and bind.priority > active_map[bind.key].priority) - ) - then - active_table[#active_table + 1] = bind - active_map[bind.key] = bind - end - end - return key and active_map[key] or active_table -end - -do - local key_subs = {{'^#$', ''}, {anycase('sharp'), '#'}} - - -- Replaces stuff like `SHARP` -> `#`, `#` -> `` - ---@param keybind string - function keybind_to_human(keybind) - for _, sub in ipairs(key_subs) do - keybind = string.gsub(keybind, sub[1], sub[2]) - end - return keybind - end -end - ----@param type 'sub'|'audio'|'video' ----@param path string -function load_track(type, path) - mp.commandv(type .. '-add', path, 'cached') - -- If subtitle track was loaded, assume the user also wants to see it - if type == 'sub' then - mp.commandv('set', 'sub-visibility', 'yes') - end -end - ----@param args (string|number)[] ----@return string|nil error ----@return table data -function call_ziggy(args) - local result = mp.command_native({ - name = 'subprocess', - capture_stderr = true, - capture_stdout = true, - playback_only = false, - args = itable_join({config.ziggy_path}, args), - }) - - if result.status ~= 0 then - return 'Calling ziggy failed. Exit code ' .. result.status .. ': ' .. result.stdout .. result.stderr, {} - end - - local data = utils.parse_json(result.stdout) - if not data then - return 'Ziggy response error. Couldn\'t parse json: ' .. result.stdout, {} - elseif data.error then - return 'Ziggy error: ' .. data.message, {} - else - return nil, data - end -end - ----@param args (string|number)[] ----@param callback fun(error: string|nil, data: table) ----@return fun() abort Function to abort the request. -function call_ziggy_async(args, callback) - local abort_signal = mp.command_native_async({ - name = 'subprocess', - capture_stderr = true, - capture_stdout = true, - playback_only = false, - args = itable_join({config.ziggy_path}, args), - }, function(success, result, error) - if not success or not result or result.status ~= 0 then - local exit_code = (result and result.status or 'unknown') - local message = error or (result and result.stdout .. result.stderr) or '' - callback('Calling ziggy failed. Exit code: ' .. exit_code .. ' Error: ' .. message, {}) - return - end - - local json = result and type(result.stdout) == 'string' and result.stdout or '' - local data = utils.parse_json(json) - if not data then - callback('Ziggy response error. Couldn\'t parse json: ' .. json, {}) - elseif data.error then - callback('Ziggy error: ' .. data.message, {}) - else - return callback(nil, data) - end - end) - - return function() - mp.abort_async_command(abort_signal) - end -end - ----@param url string ----@param method string ----@param callback fun(error: string|nil, data: table|nil) ----@return fun() abort Function to abort the request. -function http_request_async(method, url, headers, body, callback) - local args = { 'curl', '-s', '-L', '-X', method, url } - - if headers then - for k, v in pairs(headers) do - table.insert(args, '-H') - table.insert(args, string.format('%s: %s', k, v)) - end - end - - if body then - table.insert(args, '-d') - table.insert(args, utils.format_json(body)) - end - - local abort_signal = mp.command_native_async({ - name = 'subprocess', - capture_stdout = true, - capture_stderr = true, - playback_only = false, - args = args - }, function(success, res, error) - local error = error ~= '' and error or res and res.stderr ~= '' and res.stderr or nil - if not success or not res or res.status ~= 0 then - msg.error('HTTP request failed: ' .. (res.stderr or 'unknown error')) - callback(error, nil) - return - end - - local data = utils.parse_json(res.stdout) - callback(error, data) - end) - - return function() - mp.abort_async_command(abort_signal) - end -end - ----@return string|nil -function get_clipboard() - if state.current_clipboard_backend then - if state.platform == 'windows' or state.platform == 'darwin' then - return mp.get_property('clipboard/text', '') - end - if state.platform == 'linux' then - -- Wayland - if os.getenv('WAYLAND_DISPLAY') or os.getenv('WAYLAND_SOCKET') then - if state.current_clipboard_backend == "wayland" or mp.get_property_native("focused") then - return mp.get_property('clipboard/text', '') - end - local res = utils.subprocess({ - args = { 'wl-paste', '-n' }, - playback_only = false, - }) - if not res.error then - return res.stdout - end - end - -- X11 - local res = utils.subprocess({ - args = { 'xclip', '-selection', 'clipboard', '-out' }, - playback_only = false, - }) - if not res.error then - return res.stdout - end - end - end - -- Fallback to ziggy - local err, data = call_ziggy({'get-clipboard'}) - if err then - mp.commandv('show-text', 'Get clipboard error. See console for details.') - msg.error(err) - end - return data and data.payload -end - ----@param payload any ----@return string|nil payload String that was copied to clipboard. -function set_clipboard(payload) - payload = tostring(payload) - if state.current_clipboard_backend then - if state.platform == 'windows' or state.platform == 'darwin' then - return mp.commandv('set', 'clipboard/text', payload) - end - if state.platform == 'linux' then - -- Wayland - if os.getenv('WAYLAND_DISPLAY') or os.getenv('WAYLAND_SOCKET') then - return utils.subprocess({ args = { 'wl-copy' }, stdin_data = payload }) - end - -- X11 - return utils.subprocess({ - args = { 'xclip', '-silent', '-selection', 'clipboard', '-in' }, - stdin_data = payload - }) - end - end - -- Fallback to ziggy - local err, data = call_ziggy({'set-clipboard', payload}) - if err then - mp.commandv('show-text', 'Set clipboard error. See console for details.') - msg.error(err) - else - mp.commandv('show-text', t('Copied to clipboard') .. ': ' .. payload, 3000) - end - return data and data.payload -end - ---[[ RENDERING ]] - -function render() - if not display.initialized then return end - state.render_last_time = mp.get_time() - - cursor:clear_zones() - - -- Click on empty area detection - if setup_click_detection then setup_click_detection() end - - -- Actual rendering - local ass = assdraw.ass_new() - - -- Idle indicator - if state.is_idle and not Manager.disabled.idle_indicator then - local smaller_side = math.min(display.width, display.height) - local center_x, center_y, icon_size = display.width / 2, display.height / 2, math.max(smaller_side / 4, 56) - ass:icon(center_x, center_y - icon_size / 4, icon_size, 'not_started', { - color = fg, opacity = config.opacity.idle_indicator, - }) - ass:txt(center_x, center_y + icon_size / 2, 8, t('Drop files or URLs to play here'), { - size = icon_size / 4, color = fg, opacity = config.opacity.idle_indicator, - }) - end - - -- Audio indicator - if state.is_audio and not state.has_image and not Manager.disabled.audio_indicator - and not (state.pause and options.pause_indicator == 'static') then - local smaller_side = math.min(display.width, display.height) - ass:icon(display.width / 2, display.height / 2, smaller_side / 4, 'graphic_eq', { - color = fg, opacity = config.opacity.audio_indicator, - }) - end - - -- Elements - for _, element in Elements:ipairs() do - if element.enabled then - local result = element:maybe('render') - if result then - ass:new_event() - ass:merge(result) - end - end - end - - cursor:decide_keybinds() - - -- submit - if osd.res_x == display.width and osd.res_y == display.height and osd.data == ass.text then - return - end - - osd.res_x = display.width - osd.res_y = display.height - osd.data = ass.text - osd.z = 2000 - osd:update() - - update_margins() -end - --- Request that render() is called. --- The render is then either executed immediately, or rate-limited if it was --- called a small time ago. -state.render_timer = mp.add_timeout(0, render) -state.render_timer:kill() -function request_render() - if state.render_timer:is_enabled() then return end - local timeout = math.max(0, state.render_delay - (mp.get_time() - state.render_last_time)) - state.render_timer.timeout = timeout - state.render_timer:resume() -end diff --git a/scripts/uosc/main.lua b/scripts/uosc/main.lua deleted file mode 100644 index 75fc007..0000000 --- a/scripts/uosc/main.lua +++ /dev/null @@ -1,1201 +0,0 @@ ---[[ uosc | https://github.com/tomasklaen/uosc ]] -local uosc_version = '5.10.0' - -mp.commandv('script-message', 'uosc-version', uosc_version) - -mp.set_property('osc', 'no') - -assdraw = require('mp.assdraw') -opt = require('mp.options') -utils = require('mp.utils') -msg = require('mp.msg') -osd = mp.create_osd_overlay('ass-events') -QUARTER_PI_SIN = math.sin(math.pi / 4) - -require('lib/std') - ---[[ OPTIONS ]] - -defaults = { - timeline_style = 'line', - timeline_line_width = 2, - timeline_size = 40, - progress = 'windowed', - progress_size = 2, - progress_line_width = 20, - timeline_persistency = '', - timeline_border = 1, - timeline_step = '5', - timeline_cache = true, - - controls = - 'menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen', - controls_size = 32, - controls_margin = 8, - controls_spacing = 2, - controls_persistency = '', - - volume = 'right', - volume_size = 40, - volume_persistency = '', - volume_border = 1, - volume_step = 1, - - speed_persistency = '', - speed_step = 0.1, - speed_step_is_factor = false, - - menu_item_height = 36, - menu_min_width = 260, - menu_padding = 4, - menu_type_to_search = true, - - top_bar = 'no-border', - top_bar_size = 40, - top_bar_persistency = '', - top_bar_controls = 'right', - top_bar_title = 'yes', - top_bar_alt_title = '', - top_bar_alt_title_place = 'below', - top_bar_flash_on = 'video,audio', - - window_border_size = 1, - - autoload = false, - shuffle = false, - - scale = 1, - scale_fullscreen = 1.3, - font = '', - font_scale = 1, - text_border = 1.2, - border_radius = 4, - color = '', - opacity = '', - animation_duration = 100, - refine = '', - flash_duration = 1000, - proximity_in = 40, - proximity_out = 120, - total_time = false, -- deprecated by below - destination_time = 'playtime-remaining', - time_precision = 0, - font_bold = false, - autohide = false, - buffered_time_threshold = 60, - pause_indicator = 'flash', - stream_quality_options = '4320,2160,1440,1080,720,480,360,240,144', - video_types = - '3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m', - audio_types = - 'aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv', - image_types = 'apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp', - subtitle_types = 'aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt', - playlist_types = 'm3u,m3u8,pls,url,cue', - load_types = 'video,audio,image', - default_directory = '~/', - show_hidden_files = false, - use_trash = false, - adjust_osd_margins = true, - chapter_ranges = 'openings:30abf964,endings:30abf964,ads:c54e4e80', - chapter_range_patterns = 'openings:オープニング;endings:エンディング', - languages = 'slang,en', - subtitles_directory = '~~/subtitles', - disable_elements = '', - ziggy_path = 'default', -} -options = table_copy(defaults) -function handle_options(changed_options) - if changed_options.time_precision then - timestamp_zero_rep_clear_cache() - end - update_config() - update_human_times() - Manager:disable('user', options.disable_elements) - Elements:trigger('options') - Elements:update_proximities() - request_render() -end -opt.read_options(options, 'uosc', handle_options) --- Normalize values -options.proximity_out = math.max(options.proximity_out, options.proximity_in + 1) -if options.chapter_ranges:sub(1, 4) == '^op|' then options.chapter_ranges = defaults.chapter_ranges end -if options.total_time and options.destination_time == 'playtime-remaining' then - msg.warn('`total_time` is deprecated. Use `destination_time` instead.') - options.destination_time = 'total' -elseif not itable_index_of({'total', 'playtime-remaining', 'time-remaining'}, options.destination_time) then - options.destination_time = 'playtime-remaining' -end -if not itable_index_of({'left', 'right'}, options.top_bar_controls) then - options.top_bar_controls = options.top_bar_controls == 'yes' and 'right' or nil -end - ---[[ INTERNATIONALIZATION ]] -local intl = require('lib/intl') -t = intl.t -require('lib/char_conv') -fzy = require('lib/fzy') - ---[[ CONFIG ]] -local config_defaults = { - color = { - foreground = serialize_rgba('ffffff').color, - foreground_text = serialize_rgba('000000').color, - background = serialize_rgba('000000').color, - background_text = serialize_rgba('ffffff').color, - curtain = serialize_rgba('111111').color, - success = serialize_rgba('a5e075').color, - error = serialize_rgba('ff616e').color, - match = serialize_rgba('69c5ff').color, - }, - opacity = { - timeline = 0.9, - position = 1, - chapters = 0.8, - slider = 0.9, - slider_gauge = 1, - controls = 0, - speed = 0.6, - menu = 1, - submenu = 0.4, - border = 1, - title = 1, - tooltip = 1, - thumbnail = 1, - curtain = 0.8, - idle_indicator = 0.8, - audio_indicator = 0.5, - buffering_indicator = 0.3, - playlist_position = 0.8, - }, -} -config = { - version = uosc_version, - open_subtitles_api_key = 'b0rd16N0bp7DETMpO4pYZwIqmQkZbYQr', - open_subtitles_agent = 'uosc v' .. uosc_version, - -- sets max rendering frequency in case the - -- native rendering frequency could not be detected - render_delay = 1 / 60, - font = options.font ~= '' and options.font or mp.get_property('options/osd-font'), - osd_margin_x = mp.get_property('osd-margin-x'), - osd_margin_y = mp.get_property('osd-margin-y'), - osd_alignment_x = mp.get_property('osd-align-x'), - osd_alignment_y = mp.get_property('osd-align-y'), - refine = create_set(comma_split(options.refine)), - types = { - video = comma_split(options.video_types), - audio = comma_split(options.audio_types), - image = comma_split(options.image_types), - subtitle = comma_split(options.subtitle_types), - playlist = comma_split(options.playlist_types), - media = comma_split(options.video_types - .. ',' .. options.audio_types - .. ',' .. options.image_types - .. ',' .. options.playlist_types), - load = {}, -- populated by update_load_types() below - }, - stream_quality_options = comma_split(options.stream_quality_options), - top_bar_flash_on = comma_split(options.top_bar_flash_on), - chapter_ranges = (function() - ---@type table Alternative patterns. - local alt_patterns = {} - if options.chapter_range_patterns and options.chapter_range_patterns ~= '' then - for _, definition in ipairs(split(options.chapter_range_patterns, ';+ *')) do - local name_patterns = split(definition, ' *:') - local name, patterns = name_patterns[1], name_patterns[2] - if name and patterns then alt_patterns[name] = split(patterns, ',') end - end - end - - ---@type table - local ranges = {} - if options.chapter_ranges and options.chapter_ranges ~= '' then - for _, definition in ipairs(split(options.chapter_ranges, ' *,+ *')) do - local name_color = split(definition, ' *:+ *') - local name, color = name_color[1], name_color[2] - if name and color - and name:match('^[a-zA-Z0-9_]+$') and color:match('^[a-fA-F0-9]+$') - and (#color == 6 or #color == 8) then - local range = serialize_rgba(name_color[2]) - range.patterns = alt_patterns[name] - ranges[name_color[1]] = range - end - end - end - return ranges - end)(), - color = table_copy(config_defaults.color), - opacity = table_copy(config_defaults.opacity), - cursor_leave_fadeout_elements = {'timeline', 'volume', 'top_bar', 'controls'}, - timeline_step = 5, - timeline_step_flag = '', -} - -function update_load_types() - local extensions = {} - local types = create_set(comma_split(options.load_types:lower())) - - if types.same then - types.same = nil - if state and state.type then types[state.type] = true end - end - - for _, name in ipairs(table_keys(types)) do - local type_extensions = config.types[name] - if type(type_extensions) == 'table' then - itable_append(extensions, type_extensions) - else - msg.warn('Unknown load type: ' .. name) - end - end - - config.types.load = extensions -end - --- Updates config with values dependent on options -function update_config() - -- Required environment config - if options.autoload then - mp.commandv('set', 'keep-open', 'yes') - mp.commandv('set', 'keep-open-pause', 'no') - end - - -- Adds `{element}_persistency` config properties with forced visibility states (e.g.: `{paused = true}`) - for _, name in ipairs({'timeline', 'controls', 'volume', 'top_bar', 'speed'}) do - local option_name = name .. '_persistency' - local value, flags = options[option_name], {} - if type(value) == 'string' then - for _, state in ipairs(comma_split(value)) do flags[state] = true end - end - config[option_name] = flags - end - - -- Opacity - config.opacity = table_assign({}, config_defaults.opacity, serialize_key_value_list(options.opacity, - function(value, key) - return clamp(0, tonumber(value) or config.opacity[key], 1) - end - )) - - -- Color - config.color = table_assign({}, config_defaults.color, serialize_key_value_list(options.color, function(value) - return serialize_rgba(value).color - end)) - - -- Global color shorthands - fg, bg = config.color.foreground, config.color.background - fgt, bgt = config.color.foreground_text, config.color.background_text - - -- Timeline step - do - local is_exact = options.timeline_step:sub(-1) == '!' - config.timeline_step = tonumber(is_exact and options.timeline_step:sub(1, -2) or options.timeline_step) - config.timeline_step_flag = is_exact and 'exact' or '' - end - - -- Other - update_load_types() -end -update_config() - --- Default menu items -function create_default_menu_items() - return { - {title = t('Subtitles'), value = 'script-binding uosc/subtitles'}, - {title = t('Audio tracks'), value = 'script-binding uosc/audio'}, - {title = t('Stream quality'), value = 'script-binding uosc/stream-quality'}, - {title = t('Playlist'), value = 'script-binding uosc/items'}, - {title = t('Chapters'), value = 'script-binding uosc/chapters'}, - { - title = t('Navigation'), - items = { - { - title = t('Next'), - hint = t('playlist or file'), - value = - 'script-binding uosc/next', - }, - { - title = t('Prev'), - hint = t('playlist or file'), - value = - 'script-binding uosc/prev', - }, - {title = t('Delete file & Next'), value = 'script-binding uosc/delete-file-next'}, - {title = t('Delete file & Prev'), value = 'script-binding uosc/delete-file-prev'}, - {title = t('Delete file & Quit'), value = 'script-binding uosc/delete-file-quit'}, - {title = t('Open file'), value = 'script-binding uosc/open-file'}, - }, - }, - { - title = t('Utils'), - items = { - { - title = t('Aspect ratio'), - items = { - {title = t('Default'), value = 'set video-aspect-override "-1"'}, - {title = '16:9', value = 'set video-aspect-override "16:9"'}, - {title = '4:3', value = 'set video-aspect-override "4:3"'}, - {title = '2.35:1', value = 'set video-aspect-override "2.35:1"'}, - }, - }, - {title = t('Audio devices'), value = 'script-binding uosc/audio-device'}, - {title = t('Editions'), value = 'script-binding uosc/editions'}, - {title = t('Screenshot'), value = 'async screenshot'}, - {title = t('Key bindings'), value = 'script-binding uosc/keybinds'}, - {title = t('Show in directory'), value = 'script-binding uosc/show-in-directory'}, - {title = t('Open config folder'), value = 'script-binding uosc/open-config-directory'}, - }, - }, - {title = t('Quit'), value = 'quit'}, - } -end - ---[[ STATE ]] - -display = {ax = 0, ay = 0, bx = 1280, by = 720, width = 1280, height = 720, initialized = false} -cursor = require('lib/cursor') -state = { - platform = (function() - local platform = mp.get_property_native('platform') - if platform then - if itable_index_of({'windows', 'darwin'}, platform) then return platform end - else - if os.getenv('windir') ~= nil then return 'windows' end - local homedir = os.getenv('HOME') - if homedir ~= nil and string.sub(homedir, 1, 6) == '/Users' then return 'darwin' end - end - return 'linux' - end)(), - cwd = mp.get_property('working-directory'), - path = nil, -- current file path or URL - history = {}, -- history of last played files stored as full paths - time = nil, -- current media playback time - speed = 1, - ---@type number|nil - duration = nil, -- current media duration - max_seconds = nil, -- max seconds the time in timeline is expected to reach, accounted for speed - time_human = nil, -- current playback time in human format - destination_time_human = nil, -- depends on options.destination_time - pause = mp.get_property_native('pause'), - ime_active = mp.get_property_native('input-ime'), - chapters = {}, - chapter_ranges = {}, - current_clipboard_backend = mp.get_property_native('current-clipboard-backend'), - border = mp.get_property_native('border'), - title_bar = mp.get_property_native('title-bar'), - fullscreen = mp.get_property_native('fullscreen'), - maximized = mp.get_property_native('window-maximized'), - fullormaxed = mp.get_property_native('fullscreen') or mp.get_property_native('window-maximized'), - render_timer = nil, - render_last_time = 0, - volume = mp.get_property_native('volume'), - volume_max = mp.get_property_native('volume-max'), - mute = nil, - type = nil, -- video,image,audio - is_idle = false, - is_video = false, - is_audio = false, -- true if file is audio only (mp3, etc) - is_image = false, - is_stream = false, - has_image = false, - has_audio = false, - has_sub = false, - has_chapter = false, - has_playlist = false, - shuffle = options.shuffle, - ---@type nil|{pos: number; paths: string[]} - shuffle_history = nil, - on_shuffle = function() state.shuffle_history = nil end, - mouse_bindings_enabled = false, - uncached_ranges = nil, - cache = nil, - cache_buffering = 100, - cache_underrun = false, - cache_duration = nil, - core_idle = false, - eof_reached = false, - render_delay = config.render_delay, - playlist_count = 0, - playlist_pos = 0, - margin_top = 0, - margin_bottom = 0, - margin_left = 0, - margin_right = 0, - hidpi_scale = 1, - scale = 1, - radius = 0, -} -buttons = require('lib/buttons') -thumbnail = {width = 0, height = 0, disabled = false} -external = {} -- Properties set by external scripts -key_binding_overwrites = {} -- Table of key_binding:mpv_command -Elements = require('elements/Elements') -Menu = require('elements/Menu') - --- State dependent utilities -require('lib/utils') -require('lib/text') -require('lib/ass') -require('lib/menus') - --- Determine path to ziggy -do - local bin = 'ziggy-' .. (state.platform == 'windows' and 'windows.exe' or state.platform) - config.ziggy_path = os.getenv('MPV_UOSC_ZIGGY') or - options.ziggy_path == 'default' and join_path(mp.get_script_directory(), join_path('bin', bin)) or - utils.join_path(mp.command_native({ 'expand-path', options.ziggy_path }) or '', bin) -end - ---[[ STATE UPDATERS ]] - -function update_display_dimensions() - state.scale = (state.hidpi_scale or 1) * (state.fullormaxed and options.scale_fullscreen or options.scale) - state.radius = round(options.border_radius * state.scale) - local real_width, real_height = mp.get_osd_size() - if real_width <= 0 then return end - display.bx, display.width, display.by, display.height = real_width, real_width, real_height, real_height - display.initialized = true - - -- Tell elements about this - Elements:trigger('display') - - -- Some elements probably changed their rectangles as a reaction to `display` - Elements:update_proximities() - request_render() -end - -function update_fullormaxed() - state.fullormaxed = state.fullscreen or state.maximized - update_display_dimensions() - Elements:trigger('prop_fullormaxed', state.fullormaxed) - cursor:leave() -end - -function update_duration() - local duration = state._duration and ((state.rebase_start_time == false and state.start_time) - and (state._duration + state.start_time) or state._duration) - set_state('duration', duration) - update_human_times() -end - -function update_human_times() - state.speed = state.speed or 1 - if state.time then - if state.duration then - if options.destination_time == 'playtime-remaining' then - state.destination_time_human = format_time((state.time - state.duration) / state.speed, state.duration) - elseif options.destination_time == 'total' then - state.destination_time_human = format_time(state.duration, state.duration) - else - state.destination_time_human = format_time(state.time - state.duration, state.duration) - end - else - state.destination_time_human = nil - end - state.time_human = format_time(state.time, state.duration or state.time) - else - state.time_human, state.destination_time_human = nil, nil - end -end - --- Notifies other scripts such as console about where the unoccupied parts of the screen are. -function update_margins() - if display.height == 0 then return end - - local function causes_margin(element) - return element and element.enabled and (element:is_persistent() or element.min_visibility > 0.5) - end - local timeline, top_bar, controls, volume = Elements.timeline, Elements.top_bar, Elements.controls, Elements.volume - -- margins are normalized to window size - local left, right, top, bottom = 0, 0, 0, 0 - - if causes_margin(controls) then - bottom = (display.height - controls.ay) / display.height - elseif causes_margin(timeline) then - bottom = (display.height - timeline.ay) / display.height - end - - if causes_margin(top_bar) then top = top_bar.title_by / display.height end - - if causes_margin(volume) then - if options.volume == 'left' then - left = volume.bx / display.width - elseif options.volume == 'right' then - right = volume.ax / display.width - end - end - - if top == state.margin_top and bottom == state.margin_bottom and - left == state.margin_left and right == state.margin_right then - return - end - - state.margin_top = top - state.margin_bottom = bottom - state.margin_left = left - state.margin_right = right - - if utils.shared_script_property_set then - utils.shared_script_property_set('osc-margins', string.format('%f,%f,%f,%f', 0, 0, top, bottom)) - end - mp.set_property_native('user-data/osc/margins', {l = left, r = right, t = top, b = bottom}) - - if not options.adjust_osd_margins then return end - local osd_margin_y, osd_margin_x, osd_factor_x = 0, 0, display.width / display.height * 720 - if config.osd_alignment_y == 'bottom' then - osd_margin_y = round(bottom * 720) - elseif config.osd_alignment_y == 'top' then - osd_margin_y = round(top * 720) - end - if config.osd_alignment_x == 'left' then - osd_margin_x = round(left * osd_factor_x) - elseif config.osd_alignment_x == 'right' then - osd_margin_x = round(right * osd_factor_x) - end - mp.set_property_native('osd-margin-y', osd_margin_y + config.osd_margin_y) - mp.set_property_native('osd-margin-x', osd_margin_x + config.osd_margin_x) -end -function create_state_setter(name, callback) - return function(_, value) - set_state(name, value) - if callback then callback() end - request_render() - end -end - -function set_state(name, value) - state[name] = value - local state_event = state['on_' .. name] - if state_event then state_event(value) end - Elements:trigger('prop_' .. name, value) -end - -function handle_file_end() - local resume = false - if not state.loop_file then - if state.has_playlist then - resume = state.shuffle and navigate_playlist(1) - else - resume = options.autoload and navigate_directory(1) - end - end - -- Resume only when navigation happened - if resume then mp.command('set pause no') end -end -local file_end_timer = mp.add_timeout(1, handle_file_end) -file_end_timer:kill() - -function load_file_index_in_current_directory(index) - if not state.path or is_protocol(state.path) then return end - - local serialized = serialize_path(state.path) - if serialized and serialized.dirname then - local files, _dirs, error = read_directory(serialized.dirname, { - types = config.types.load, - hidden = options.show_hidden_files, - }) - - if error then - msg.error(error) - return - end - - sort_strings(files) - if index < 0 then index = #files + index + 1 end - - if files[index] then - mp.commandv('loadfile', join_path(serialized.dirname, files[index])) - end - end -end - -function update_render_delay(name, fps) - if fps then state.render_delay = 1 / fps end -end - -function observe_display_fps(name, fps) - if fps then - mp.unobserve_property(update_render_delay) - mp.unobserve_property(observe_display_fps) - mp.observe_property('display-fps', 'native', update_render_delay) - end -end - ---[[ STATE HOOKS ]] - -mp.register_event('file-loaded', function() - local path = normalize_path(mp.get_property_native('path')) - itable_delete_value(state.history, path) - state.history[#state.history + 1] = path - set_state('path', path) - - -- Flash top bar on requested file types - for _, type in ipairs(config.top_bar_flash_on) do - if state['is_' .. type] then - Elements:flash({'top_bar'}) - break - end - end -end) -mp.register_event('end-file', function(event) - set_state('path', nil) - if event.reason == 'eof' then - file_end_timer:kill() - handle_file_end() - end -end) -mp.observe_property('playback-time', 'number', create_state_setter('time', function() - -- Create a file-end event that triggers right before file ends - file_end_timer:kill() - if state.duration and state.time and not state.pause then - local remaining = (state.duration - state.time) / state.speed - if remaining < 5 then - local timeout = remaining - 0.02 - if timeout > 0 then - file_end_timer.timeout = timeout - file_end_timer:resume() - else - handle_file_end() - end - end - end - - update_human_times() -end)) -mp.observe_property('rebase-start-time', 'bool', create_state_setter('rebase_start_time', update_duration)) -mp.observe_property('demuxer-start-time', 'number', create_state_setter('start_time', update_duration)) -mp.observe_property('duration', 'number', create_state_setter('_duration', update_duration)) -mp.observe_property('speed', 'number', create_state_setter('speed', update_human_times)) -mp.observe_property('track-list', 'native', function(name, value) - -- checks the file dispositions - local types = {sub = 0, image = 0, audio = 0, video = 0} - for _, track in ipairs(value) do - if track.type == 'video' then - if track.image or track.albumart then - types.image = types.image + 1 - else - types.video = types.video + 1 - end - elseif types[track.type] then - types[track.type] = types[track.type] + 1 - end - end - set_state('is_audio', types.video == 0 and types.audio > 0) - set_state('is_image', types.image > 0 and types.video == 0 and types.audio == 0) - set_state('has_image', types.image > 0) - set_state('has_audio', types.audio > 0) - set_state('has_many_audio', types.audio > 1) - set_state('has_sub', types.sub > 0) - set_state('has_many_sub', types.sub > 1) - set_state('is_video', types.video > 0) - set_state('has_many_video', types.video > 1) - set_state('type', state.is_video and 'video' or state.is_audio and 'audio' or state.is_image and 'image' or nil) - update_load_types() - Elements:trigger('dispositions') -end) -mp.observe_property('editions', 'number', function(_, editions) - if editions then set_state('has_many_edition', editions > 1) end - Elements:trigger('dispositions') -end) -mp.observe_property('chapter-list', 'native', function(_, chapters) - local chapters, chapter_ranges = serialize_chapters(chapters), {} - if chapters then chapters, chapter_ranges = serialize_chapter_ranges(chapters) end - set_state('chapters', chapters) - set_state('chapter_ranges', chapter_ranges) - set_state('has_chapter', #chapters > 0) - Elements:trigger('dispositions') -end) -mp.observe_property('border', 'bool', create_state_setter('border')) -mp.observe_property('title-bar', 'bool', create_state_setter('title_bar')) -mp.observe_property('loop-file', 'native', create_state_setter('loop_file')) -mp.observe_property('ab-loop-a', 'number', create_state_setter('ab_loop_a')) -mp.observe_property('ab-loop-b', 'number', create_state_setter('ab_loop_b')) -mp.observe_property('playlist-pos-1', 'number', create_state_setter('playlist_pos')) -mp.observe_property('playlist-count', 'number', function(_, value) - set_state('playlist_count', value) - set_state('has_playlist', value > 1) - Elements:trigger('dispositions') -end) -mp.observe_property('fullscreen', 'bool', create_state_setter('fullscreen', update_fullormaxed)) -mp.observe_property('window-maximized', 'bool', create_state_setter('maximized', update_fullormaxed)) -mp.observe_property('idle-active', 'bool', function(_, idle) - set_state('is_idle', idle) - Elements:trigger('dispositions') - mp.commandv('script-message-to', 'thumbfast', 'clear') -end) -mp.observe_property('pause', 'bool', create_state_setter('pause', function() file_end_timer:kill() end)) -mp.observe_property('volume', 'number', create_state_setter('volume')) -mp.observe_property('volume-max', 'number', create_state_setter('volume_max')) -mp.observe_property('mute', 'bool', create_state_setter('mute')) -mp.observe_property('osd-dimensions', 'native', function(name, val) - update_display_dimensions() - request_render() -end) -mp.observe_property('display-hidpi-scale', 'native', create_state_setter('hidpi_scale', update_display_dimensions)) -mp.observe_property('cache', 'string', create_state_setter('cache')) -mp.observe_property('cache-buffering-state', 'number', create_state_setter('cache_buffering')) -mp.observe_property('demuxer-via-network', 'native', create_state_setter('is_stream', function() - Elements:trigger('dispositions') -end)) -mp.observe_property('demuxer-cache-state', 'native', function(prop, cache_state) - local cached_ranges, bof, eof, uncached_ranges = nil, nil, nil, nil - if cache_state then - cached_ranges, bof, eof = cache_state['seekable-ranges'], cache_state['bof-cached'], cache_state['eof-cached'] - set_state('cache_underrun', cache_state['underrun']) - set_state('cache_duration', not cache_state.eof and cache_state['cache-duration'] or nil) - else - cached_ranges = {} - end - - if not (state.duration and (#cached_ranges > 0 or state.cache == 'yes' or - (state.cache == 'auto' and state.is_stream))) then - if state.uncached_ranges then set_state('uncached_ranges', nil) end - set_state('cache_duration', nil) - return - end - - -- Normalize - local ranges = {} - for _, range in ipairs(cached_ranges) do - ranges[#ranges + 1] = { - math.max(range['start'] or 0, 0), - math.min(range['end'] or state.duration --[[@as number]], state.duration), - } - end - table.sort(ranges, function(a, b) return a[1] < b[1] end) - if bof then ranges[1][1] = 0 end - if eof then ranges[#ranges][2] = state.duration end - -- Invert cached ranges into uncached ranges, as that's what we're rendering - local inverted_ranges = {{0, state.duration}} - for _, cached in pairs(ranges) do - inverted_ranges[#inverted_ranges][2] = cached[1] - inverted_ranges[#inverted_ranges + 1] = {cached[2], state.duration} - end - uncached_ranges = {} - local last_range = nil - for _, range in ipairs(inverted_ranges) do - if last_range and last_range[2] + 0.5 > range[1] then -- fuse ranges - last_range[2] = range[2] - else - if range[2] - range[1] > 0.5 then -- skip short ranges - uncached_ranges[#uncached_ranges + 1] = range - last_range = range - end - end - end - - set_state('uncached_ranges', uncached_ranges) -end) -mp.observe_property('display-fps', 'native', observe_display_fps) -mp.observe_property('estimated-display-fps', 'native', update_render_delay) -mp.observe_property('eof-reached', 'native', create_state_setter('eof_reached')) -mp.observe_property('core-idle', 'native', create_state_setter('core_idle')) - ---[[ KEY BINDS ]] - --- Adds a key binding that respects rerouting set by `key_binding_overwrites` table. ----@param name string ----@param callback fun(event: table) ----@param flags nil|string -function bind_command(name, callback, flags) - mp.add_key_binding(nil, name, function(...) - if key_binding_overwrites[name] then - mp.command(key_binding_overwrites[name]) - else - callback(...) - end - end, flags) -end - -bind_command('toggle-ui', function() Elements:toggle({'timeline', 'controls', 'volume', 'top_bar'}) end) -bind_command('flash-ui', function() Elements:flash({'timeline', 'controls', 'volume', 'top_bar'}) end) -bind_command('flash-timeline', function() Elements:flash({'timeline'}) end) -bind_command('flash-top-bar', function() Elements:flash({'top_bar'}) end) -bind_command('flash-volume', function() Elements:flash({'volume'}) end) -bind_command('flash-speed', function() Elements:flash({'speed'}) end) -bind_command('flash-pause-indicator', function() Elements:flash({'pause_indicator'}) end) -bind_command('flash-progress', function() Elements:flash({'progress'}) end) -bind_command('toggle-progress', function() Elements:maybe('timeline', 'toggle_progress') end) -bind_command('toggle-title', function() Elements:maybe('top_bar', 'toggle_title') end) -bind_command('decide-pause-indicator', function() Elements:maybe('pause_indicator', 'decide') end) -bind_command('menu', function() toggle_menu_with_items() end) -bind_command('menu-blurred', function() toggle_menu_with_items({mouse_nav = true}) end) -bind_command('keybinds', function() - if Menu:is_open('keybinds') then - Menu:close() - else - open_command_menu({type = 'keybinds', items = get_keybinds_items(), search_style = 'palette'}) - end -end) -bind_command('download-subtitles', open_subtitle_downloader) -bind_command('load-subtitles', create_track_loader_menu_opener({ - prop = 'sub', - title = t('Load subtitles'), - loaded_message = t('Loaded subtitles'), - allowed_types = itable_join(config.types.video, config.types.subtitle), -})) -bind_command('load-audio', create_track_loader_menu_opener({ - prop = 'audio', - title = t('Load audio'), - loaded_message = t('Loaded audio'), - allowed_types = itable_join(config.types.video, config.types.audio), -})) -bind_command('load-video', create_track_loader_menu_opener({ - prop = 'video', - title = t('Load video'), - loaded_message = t('Loaded video'), - allowed_types = config.types.video, -})) -bind_command('subtitles', create_select_tracklist_type_menu_opener({ - title = t('Subtitles'), - type = 'sub', - prop = 'sid', - enable_prop = 'sub-visibility', - secondary = {prop = 'secondary-sid', icon = 'vertical_align_top', enable_prop = 'secondary-sub-visibility'}, - load_command = 'script-binding uosc/load-subtitles', - download_command = 'script-binding uosc/download-subtitles', -})) -bind_command('audio', create_select_tracklist_type_menu_opener({ - title = t('Audio'), type = 'audio', prop = 'aid', load_command = 'script-binding uosc/load-audio', -})) -bind_command('video', create_select_tracklist_type_menu_opener({ - title = t('Video'), type = 'video', prop = 'vid', load_command = 'script-binding uosc/load-video', -})) -bind_command('playlist', create_self_updating_menu_opener({ - title = t('Playlist'), - type = 'playlist', - list_prop = 'playlist', - footnote = t('Paste path or url to add.') .. ' ' .. t('%s to reorder.', 'ctrl+up/down/pgup/pgdn/home/end'), - serializer = function(playlist) - local items = {} - local playlist_titles = mp.get_property_native('user-data/playlistmanager/titles') or {} - for index, item in ipairs(playlist) do - local is_url = is_protocol(item.filename) - local title = type(item.title) == 'string' and #item.title > 0 and item.title or false - items[index] = { - title = is_url and (title or playlist_titles[item.filename] or url_decode(item.filename)) or - serialize_path(item.filename).basename, - hint = tostring(index), - active = item.current, - value = index, - } - end - return items - end, - on_activate = function(event) mp.commandv('set', 'playlist-pos-1', tostring(event.value)) end, - on_paste = function(event) mp.commandv('loadfile', tostring(event.value), 'append') end, - on_key = function(event) - if event.id == 'ctrl+c' and event.selected_item then - local payload = mp.get_property_native('playlist/' .. (event.selected_item.value - 1) .. '/filename') - set_clipboard(payload) - end - end, - on_move = function(event) - local from, to = event.from_index, event.to_index - mp.commandv('playlist-move', tostring(from - 1), tostring(to - (to > from and 0 or 1))) - end, - on_remove = function(event) mp.commandv('playlist-remove', tostring(event.value - 1)) end, -})) -bind_command('chapters', create_self_updating_menu_opener({ - title = t('Chapters'), - type = 'chapters', - list_prop = 'chapter-list', - active_prop = 'chapter', - serializer = function(chapters, current_chapter) - local items = {} - chapters = normalize_chapters(chapters) - for index, chapter in ipairs(chapters) do - items[index] = { - title = chapter.title or '', - hint = format_time(chapter.time, state.duration), - value = index, - active = index - 1 == current_chapter, - } - end - return items - end, - on_activate = function(event) mp.commandv('set', 'chapter', tostring(event.value - 1)) end, -})) -bind_command('editions', create_self_updating_menu_opener({ - title = t('Editions'), - type = 'editions', - list_prop = 'edition-list', - active_prop = 'current-edition', - serializer = function(editions, current_id) - local items = {} - for _, edition in ipairs(editions or {}) do - local edition_id_1 = tostring(edition.id + 1) - items[#items + 1] = { - title = edition.title or t('Edition %s', edition_id_1), - hint = edition_id_1, - value = edition.id, - active = edition.id == current_id, - } - end - return items - end, - on_activate = function(event) mp.commandv('set', 'edition', event.value) end, -})) -bind_command('show-in-directory', function() - -- Ignore URLs - if not state.path or is_protocol(state.path) then return end - - if state.platform == 'windows' then - utils.subprocess_detached({args = {'explorer', '/select,', state.path .. ' '}, cancellable = false}) - elseif state.platform == 'darwin' then - utils.subprocess_detached({args = {'open', '-R', state.path}, cancellable = false}) - elseif state.platform == 'linux' then - local result = utils.subprocess({args = {'nautilus', state.path}, cancellable = false}) - - -- Fallback opens the folder with xdg-open instead - if result.status ~= 0 then - utils.subprocess({args = {'xdg-open', serialize_path(state.path).dirname}, cancellable = false}) - end - end -end) -bind_command('stream-quality', open_stream_quality_menu) -bind_command('open-file', open_open_file_menu) -bind_command('shuffle', function() set_state('shuffle', not state.shuffle) end) -bind_command('items', function() - if state.has_playlist then - mp.command('script-binding uosc/playlist') - else - mp.command('script-binding uosc/open-file') - end -end) -bind_command('next', function() navigate_item(1) end) -bind_command('prev', function() navigate_item(-1) end) -bind_command('next-file', function() navigate_directory(1) end) -bind_command('prev-file', function() navigate_directory(-1) end) -bind_command('first', function() - if state.has_playlist then - mp.commandv('set', 'playlist-pos-1', '1') - else - load_file_index_in_current_directory(1) - end -end) -bind_command('last', function() - if state.has_playlist then - mp.commandv('set', 'playlist-pos-1', tostring(state.playlist_count)) - else - load_file_index_in_current_directory(-1) - end -end) -bind_command('first-file', function() load_file_index_in_current_directory(1) end) -bind_command('last-file', function() load_file_index_in_current_directory(-1) end) -bind_command('delete-file-prev', function() delete_file_navigate(-1) end) -bind_command('delete-file-next', function() delete_file_navigate(1) end) -bind_command('delete-file-quit', function() - mp.command('stop') - if state.path and not is_protocol(state.path) then delete_file(state.path) end - mp.command('quit') -end) -bind_command('menu-prev', function() Elements:maybe('menu', 'navigate_by_items', -1) end) -bind_command('menu-next', function() Elements:maybe('menu', 'navigate_by_items', 1) end) -bind_command('menu-prev-page', function() Elements:maybe('menu', 'navigate_by_page', -1) end) -bind_command('menu-next-page', function() Elements:maybe('menu', 'navigate_by_page', 1) end) -bind_command('menu-start', function() Elements:maybe('menu', 'navigate_by_items', -math.huge) end) -bind_command('menu-end', function() Elements:maybe('menu', 'navigate_by_items', math.huge) end) -bind_command('menu-activate', function() Elements:maybe('menu', 'activate_selected_item') end) -bind_command('menu-back', function() Elements:maybe('menu', 'back') end) -bind_command('audio-device', create_self_updating_menu_opener({ - title = t('Audio devices'), - type = 'audio-device-list', - list_prop = 'audio-device-list', - active_prop = 'audio-device', - serializer = function(audio_device_list, current_device) - current_device = current_device or 'auto' - local ao = mp.get_property('current-ao') or '' - local items = {} - for _, device in ipairs(audio_device_list) do - if device.name == 'auto' or string.match(device.name, '^' .. ao) then - local hint = string.match(device.name, ao .. '/(.+)') - if not hint then hint = device.name end - items[#items + 1] = { - title = device.description:sub(1, 7) == 'Default' - and t('Default %s', device.description:sub(9)) - or device.description, - hint = hint, - active = device.name == current_device, - value = device.name, - } - end - end - return items - end, - on_activate = function(event) mp.commandv('set', 'audio-device', event.value) end, -})) -bind_command('paste', function() - local has_playlist = mp.get_property_native('playlist-count') > 1 - mp.commandv('script-binding', 'uosc/paste-to-' .. (has_playlist and 'playlist' or 'open')) -end) -bind_command('paste-to-open', function() - local payload = get_clipboard() - if payload then mp.commandv('loadfile', payload) end -end) -bind_command('paste-to-playlist', function() - -- If there's no file loaded, we use `paste-to-open`, which both opens and adds to playlist - if state.is_idle then - mp.commandv('script-binding', 'uosc/paste-to-open') - else - local payload = get_clipboard() - if payload then - mp.commandv('loadfile', payload, 'append') - mp.commandv('show-text', t('Added to playlist') .. ': ' .. payload, 3000) - end - end -end) -bind_command('copy-to-clipboard', function() - if state.path then - set_clipboard(state.path) - else - mp.commandv('show-text', t('Nothing to copy'), 3000) - end -end) -bind_command('open-config-directory', function() - local config_path = mp.command_native({'expand-path', '~~/mpv.conf'}) - local config = serialize_path(normalize_path(config_path)) - - if config then - local args - - if state.platform == 'windows' then - args = {'explorer', '/select,', config.path} - elseif state.platform == 'darwin' then - args = {'open', '-R', config.path} - elseif state.platform == 'linux' then - args = {'xdg-open', config.dirname} - end - - utils.subprocess_detached({args = args, cancellable = false}) - else - msg.error('Couldn\'t serialize config path "' .. config_path .. '".') - end -end) - ---[[ MESSAGE HANDLERS ]] - -mp.register_script_message('show-submenu', function(id) toggle_menu_with_items({submenu = id}) end) -mp.register_script_message('show-submenu-blurred', function(id) - toggle_menu_with_items({submenu = id, mouse_nav = true}) -end) -mp.register_script_message('open-menu', function(json, submenu_id) - local data = utils.parse_json(json) - if type(data) ~= 'table' or type(data.items) ~= 'table' then - msg.error('open-menu: received json didn\'t produce a table with menu configuration') - else - open_command_menu(data, {submenu = submenu_id, on_close = data.on_close}) - end -end) -mp.register_script_message('update-menu', function(json) - local data = utils.parse_json(json) - if type(data) ~= 'table' or type(data.items) ~= 'table' then - msg.error('update-menu: received json didn\'t produce a table with menu configuration') - else - local menu = data.type and Menu:is_open(data.type) - if menu then menu:update(data) end - end -end) -mp.register_script_message('select-menu-item', function(type, item_index, menu_id) - local menu = Menu:is_open(type) - local index = tonumber(item_index) - if menu and index and not menu.mouse_nav then - index = round(index) - if index > 0 and index <= #menu.current.items then - menu:select_index(index, menu_id) - menu:scroll_to_index(index, menu_id, true) - end - end -end) -mp.register_script_message('close-menu', function(type) - if Menu:is_open(type) then Menu:close() end -end) -mp.register_script_message('menu-action', function(name, ...) - local menu = Menu:is_open() - if menu then - local method = ({ - ['search-cancel'] = 'search_cancel', - ['search-query-update'] = 'search_query_update', - })[name] - if method then menu[method](menu, ...) end - end -end) -mp.register_script_message('thumbfast-info', function(json) - local data = utils.parse_json(json) - if type(data) ~= 'table' or not data.width or not data.height then - thumbnail.disabled = true - msg.error('thumbfast-info: received json didn\'t produce a table with thumbnail information') - else - thumbnail = data - request_render() - end -end) -mp.register_script_message('set', function(name, value) - external[name] = value - Elements:trigger('external_prop_' .. name, value) -end) -mp.register_script_message('toggle-elements', function(elements) Elements:toggle(comma_split(elements)) end) -mp.register_script_message('set-min-visibility', function(visibility, elements) - local fraction = tonumber(visibility) - local ids = comma_split(elements and elements ~= '' and elements or 'timeline,controls,volume,top_bar') - if fraction then Elements:set_min_visibility(clamp(0, fraction, 1), ids) end -end) -mp.register_script_message('flash-elements', function(elements) Elements:flash(comma_split(elements)) end) -mp.register_script_message('overwrite-binding', function(name, command) key_binding_overwrites[name] = command end) -mp.register_script_message('disable-elements', function(id, elements) Manager:disable(id, elements) end) - ---[[ ELEMENTS ]] - --- Dynamic elements -local constructors = { - window_border = require('elements/WindowBorder'), - buffering_indicator = require('elements/BufferingIndicator'), - pause_indicator = require('elements/PauseIndicator'), - top_bar = require('elements/TopBar'), - timeline = require('elements/Timeline'), - controls = options.controls and options.controls ~= 'never' and require('elements/Controls'), - volume = itable_index_of({'left', 'right'}, options.volume) and require('elements/Volume'), -} - --- Required elements -require('elements/Curtain'):new() - --- Element manager --- Handles creating and destroying elements based on disabled_elements user+script config. -Manager = { - -- Managed disable-able element IDs - _ids = itable_join(table_keys(constructors), {'idle_indicator', 'audio_indicator'}), - ---@type table A map of clients and a list of element ids they disable - _disabled_by = {}, - ---@type table - disabled = {}, -} - --- Set client and which elements it wishes disabled. To undo just pass an empty `element_ids` for the same `client`. ----@param client string ----@param element_ids string|string[]|nil `foo,bar` or `{'foo', 'bar'}`. -function Manager:disable(client, element_ids) - self._disabled_by[client] = comma_split(element_ids) - ---@diagnostic disable-next-line: deprecated - self.disabled = create_set(itable_join(unpack(table_values(self._disabled_by)))) - self:_commit() -end - -function Manager:_commit() - -- Create and destroy elements as needed - for _, id in ipairs(self._ids) do - local constructor = constructors[id] - if not self.disabled[id] then - if not Elements:has(id) and constructor then constructor:new() end - else - Elements:maybe(id, 'destroy') - end - end - - -- We use `on_display` event to tell elements to update their dimensions - Elements:trigger('display') -end - --- Initial commit -Manager:disable('user', options.disable_elements) diff --git a/scripts/uosc_danmaku/LICENSE b/scripts/uosc_danmaku/LICENSE deleted file mode 100644 index 8cb6f79..0000000 --- a/scripts/uosc_danmaku/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 吴南李 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/uosc_danmaku/README.md b/scripts/uosc_danmaku/README.md deleted file mode 100644 index b4a9f2a..0000000 --- a/scripts/uosc_danmaku/README.md +++ /dev/null @@ -1,1062 +0,0 @@ -# uosc_danmaku - -在MPV播放器中加载弹弹play弹幕,基于 uosc UI框架和弹弹play API的mpv弹幕扩展插件 - -> [!WARNING] -> Release1.2.0及Release1.2.0之前的发行版,都由于弹弹play接口使用政策改版,部分功能无法使用。如果发现插件功能异常,比如搜索弹幕总是显示无结果,请拉取或下载主分支最新源代码;或下载[最新发行版](https://github.com/Tony15246/uosc_danmaku/releases/latest) - -> [!NOTE] -> 已添加对mpv内部 `mp.input`的支持,在uosc不可用时通过键绑定调用此方式渲染菜单 -> -> 欲启用此支持mpv最低版本要求:0.39.0 - -## 项目简介 - -插件具体效果见演示视频: - - - -在未安装uosc框架时,调用mpv内部的 `mp.input`进行菜单渲染,具体效果见[此pr](https://github.com/Tony15246/uosc_danmaku/pull/24) - -### 主要功能 - -
    - -1. 从弹弹play或自定义服务的API获取剧集及弹幕数据,并根据用户选择的集数加载弹幕 -2. 通过点击uosc control bar中的弹幕搜索按钮可以显示搜索菜单供用户选择需要的弹幕 -3. 通过点击加入uosc control bar中的弹幕开关控件可以控制弹幕的开关 -4. 通过点击加入uosc control bar中的[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)按钮可以通过受支持的网络源或本地文件添加弹幕 -5. 通过点击加入uosc control bar中的[弹幕样式](#实时修改弹幕样式可选)按钮可以打开uosc弹幕样式菜单供用户在视频播放时实时修改弹幕样式(注意⚠️:未安装uosc框架时该功能不可用) -6. 通过点击加入uosc control bar中的[弹幕设置](#弹幕设置总菜单可选)按钮可以打开多级功能复合菜单,包含了插件目前所有的图形化功能。 -7. 通过点击加入uosc control bar中的[弹幕源延迟设置](#弹幕源延迟设置可选)按钮可以打开弹幕源延迟控制菜单,可以独立控制每个弹幕源的延迟(注意⚠️:未安装uosc框架时该功能不可用) -8. 记忆型全自动弹幕填装,在为某个文件夹下的某一集番剧加载过一次弹幕后,加载过的弹幕会自动关联到该集;之后每次重新播放该文件就会自动加载弹幕,同时该文件对应的文件夹下的所有其他集数的文件都会在播放时自动加载弹幕,无需再重复手动输入番剧名进行搜索(注意⚠️:全自动弹幕填装默认关闭,如需开启请阅读[auto_load配置项说明](#auto_load)) -9. 在没有手动加载过弹幕,没有填装自动弹幕记忆之前,通过文件哈希匹配的方式自动添加弹幕(~仅限本地文件~,现已支持网络视频),对于能够哈希匹配关联的文件不再需要手动搜索关联,实现全自动加载弹幕并添加记忆。该功能随记忆型全自动弹幕填装功能一起开启(哈希匹配自动加载准确率较低,如关联到错误的剧集请手动加载正确的剧集) - - > 哈希匹配功能需要 mpv 基于 LuaJIT 或 Lua 5.2 构建,不支持 Lua 5.1 - > -10. 通过打开配置项load_more_danmaku可以爬取所有可用弹幕源,获取更多弹幕(注意⚠️:爬取所有可用弹幕源默认关闭,如需开启请阅读[load_more_danmaku配置项说明](#load_more_danmaku)) -11. 自动记忆弹幕开关情况,播放视频时保持上次关闭时的弹幕开关状态 -12. 自定义默认播放弹幕样式(具体设置方法详见[自定义弹幕样式](#自定义弹幕样式相关配置)) -13. 在使用如[Play-With-MPV](https://github.com/LuckyPuppy514/Play-With-MPV)或[ff2mpv](https://github.com/woodruffw/ff2mpv)等网络播放手段时,自动加载弹幕(注意⚠️:目前支持自动加载bilibili和巴哈姆特这两个网站的弹幕,具体说明查看[autoload_for_url配置项说明](#autoload_for_url)) -14. 保存当前弹幕到本地(详细功能说明见[save_danmaku配置项说明](#save_danmaku)) -15. 可以合并一定时间段内同时出现的大量重复弹幕(具体设置方法详见[merge_tolerance配置项说明](#merge_tolerance)) -16. 弹幕简体字繁体字转换,解决弹幕简繁混杂问题(具体设置方法详见[chConvert配置项说明](#chConvert)) -17. 自定义插件相关提示的显示位置,可以自由调节距离画面左上角的两个维度的距离(具体设置方法详见[message_x配置项说明](#message_x)和[message_y配置项说明](#message_y)) - -无需亲自下载整合弹幕文件资源,无需亲自处理文件格式转换,在mpv播放器中一键加载包含了哔哩哔哩、巴哈姆特等弹幕网站弹幕的弹弹play的动画弹幕。 - -插件本身支持Linux和Windows平台。项目依赖于[uosc UI框架](https://github.com/tomasklaen/uosc)。欲使用本插件强烈建议为mpv播放器中安装uosc。uosc的安装步骤可以参考其[官方安装教程](https://github.com/tomasklaen/uosc?tab=readme-ov-file#install)。当然,如果使用[MPV_lazy](https://github.com/hooke007/MPV_lazy)等内置了uosc的懒人包则只需安装本插件即可。 - -
    - -## 安装 - -### 下载 - -一般的mpv配置目录结构大致如下 - -``` -~/.config/mpv -├── fonts -├── input.conf -├── mplayer-input.conf -├── mpv.conf -├── script-opts -└── scripts -``` - -想要使用本插件,请将本插件完整地[下载](https://github.com/Tony15246/uosc_danmaku/releases)或者克隆到 `scripts`目录下即可使用,文件结构参阅下方 - -> [!IMPORTANT] -> -> 1. scripts目录下放置本插件的文件夹名称必须为uosc_danmaku,否则必须参照uosc控件配置部分[修改uosc控件](#修改uosc控件可选) -> 2. 记得给bin文件夹下的文件赋予可执行权限 - -
    -文件结构 - -``` -~/.config/mpv/scripts -└── uosc_danmaku - ├── apis - │   ├── dandanplay.lua - │   └── extra.lua - ├── LICENSE - ├── main.lua - ├── modules - │   ├── base64.lua - │   ├── guess.lua - │   ├── md5.lua - │   ├── menu.lua - │   ├── options.lua - │   ├── render.lua - │   └── utils.lua - └── README.md -``` - -
    - -## 基本配置 - -#### uosc控件配置 - -这一步非常重要,不添加控件,弹幕搜索按钮和弹幕开关就不会显示在进度条上方的控件条中。若没有控件,则只能通过[绑定快捷键](#绑定快捷键可选)调用弹幕搜索和弹幕开关功能 - -想要添加uosc控件,需要修改mpv配置文件夹下的 `script-opts`中的 `uosc.conf`文件。如果已经安装了uosc,但是 `script-opts`文件夹下没有 `uosc.conf`文件,可以去[uosc项目地址](https://github.com/tomasklaen/uosc)下载官方的 `uosc.conf`文件,并按照后面的配置步骤进行配置。 - -由于uosc最近才更新了部分接口和控件代码,导致老旧版本的uosc和新版的uosc配置有所不同。如果是下载的最新git版uosc或者一直保持更新的用户按照 `最新版uosc的控件配置步骤` 配置即可。如果不确定自己的uosc版本,或者在使用诸如[MPV_lazy](https://github.com/hooke007/MPV_lazy)等由第三方管理uosc版本的用户,可以按照兼容新版和旧版uosc的 `旧版uosc控件配置步骤` 配置。 - -
    -最新版uosc的控件配置步骤 - -找到 `uosc.conf`文件中的 `controls`配置项,uosc官方默认的配置可能如下: - -``` -controls=menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen -``` - -在 `controls`控件配置项中添加 `button:danmaku`的弹幕搜索按钮和 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关。放置的位置就是实际会在在进度条上方的控件条中显示的位置,可以放在自己喜欢的位置。我个人把这两个控件放在了 `stream-quality`画质选择控件后边。添加完控件的配置大概如下: - -``` -controls=menu,gap,subtitles,audio,video,editions,stream-quality,button:danmaku,cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen -``` - -
    - -
    -旧版uosc控件配置步骤 - -找到 `uosc.conf`文件中的 `controls`配置项,uosc官方默认的配置可能如下: - -``` -controls=menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen -``` - -在 `controls`控件配置项中添加 `command:search:script-message open_search_danmaku_menu?搜索弹幕`的弹幕搜索按钮和 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关。放置的位置就是实际会在在进度条上方的控件条中显示的位置,可以放在自己喜欢的位置。我个人把这两个控件放在了 `stream-quality`画质选择控件后边。添加完控件的配置大概如下: - -``` -controls=menu,gap,subtitles,audio,video,editions,stream-quality,command:search:script-message open_search_danmaku_menu?搜索弹幕,cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen -``` - -
    - -
    -修改uosc控件(可选) - -如果出于重名等各种原因,无法将本插件所放置的文件夹命名为 `uosc_danmaku`的话,需要修改 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关配置中的 `uosc_danmaku`为放置本插件的文件夹的名称。假如将本插件放置在 `my_folder`文件夹下,那么弹幕开关配置就要修改为 `cycle:toggle_on:show_danmaku@my_folder:on=toggle_on/off=toggle_off?弹幕开关` - -
    - -#### 绑定快捷键(可选) - -对于坚定的键盘爱好者和不使用鼠标主义者,可以选择通过快捷键调用弹幕搜索和弹幕开关功能 - -快捷键已经进行了默认绑定。默认情况下弹幕搜索功能绑定“Ctrl+d”;弹幕开关功能绑定“j” - -弹幕搜索功能绑定的脚本消息为 `open_search_danmaku_menu`,弹幕开关功能绑定的脚本消息为 `show_danmaku_keyboard` - -如需配置快捷键,只需在 `input.conf`中添加如下行即可,快捷键可以改为自己喜欢的按键组合。 - -``` -Ctrl+d script-message open_search_danmaku_menu -j script-message show_danmaku_keyboard -``` - -> 根据[此issue中的需求](https://github.com/Tony15246/uosc_danmaku/issues/6),添加了通过uosc_danmaku.conf绑定快捷键的功能。(请注意,最高优先级仍然是input.conf中设置的快捷键) -> 想要在uosc_danmaku.conf中自定义快捷键,可以像下面这样更改默认快捷键。 - -``` -open_search_danmaku_menu_key=Ctrl+i -show_danmaku_keyboard_key=i -``` - -## 拓展功能(可选) - -本插件针对弹幕有全方面的拓展功能 - ---- - -**带控件的功能** - -
    -从弹幕源向当前弹幕添加新弹幕内容(从网络url或本地添加弹幕) - -> #### 从弹幕源向当前弹幕添加新弹幕内容(可选) - -从弹幕源添加弹幕。在已经在播放弹幕的情况下会将添加的弹幕追加到现有弹幕中。 - -可添加的弹幕源如哔哩哔哩上任意视频通过video路径加BV号,或者巴哈姆特上的视频地址等。比如说以下地址均可作为有效弹幕源被添加: - -``` -https://www.bilibili.com/video/BV1kx411o7Yo -https://ani.gamer.com.tw/animeVideo.php?sn=36843 -``` - -此功能通过调用弹弹Play的extcomment接口实现获取第三方弹幕站(如A/B/C站)上指定网址对应的弹幕。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_source`或 `command:add_box:script-message open_add_source_menu?从源添加弹幕`到 `uosc.conf`的controls配置项中。 - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `open_add_source_menu`。 - -``` -key script-message open_add_source_menu -``` - -现已添加了对加载本地弹幕文件的支持,输入本地弹幕文件的绝对路径即可使用本插件加载弹幕。加载出来的弹幕样式同在本插件中设置的弹幕样式。支持的文件格式有ass文件和xml文件。具体可参见[此issue](https://github.com/Tony15246/uosc_danmaku/issues/26) - -``` -#Linux下示例 -/home/tony/Downloads/example.xml -#Windows下示例 -C:\Users\Tony\Downloads\example.xml -``` - -现已更新增强了此菜单。现在在该菜单内可以可视化地控制所有弹幕源,删除或者屏蔽任何不想要的弹幕源。对于自己手动添加的弹幕源,可以进行移除。对于来自弹弹play的弹幕源,无法进行移除,但是可以进行屏蔽,将不会再从屏蔽过的弹幕源获取弹幕。当然,也可以解除对来自弹弹play的弹幕源的屏蔽。另外需要注意在菜单内对于弹幕源的可视化操作都需要下次打开视频,或者重新用弹幕搜索功能加载一次弹幕才会生效。 - -
    - -
    -弹幕源延迟设置 - -> #### 弹幕源延迟设置(可选) - -可以独立控制每个弹幕源的延迟,延迟支持两种输入模式。第一种模式为输入数字(最高可精确到小数点后两位),单位为秒;第二种输入模式为输入形如 `14m15s`格式的字符串,代表延迟的分钟数和秒数。 - -想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_delay`或 `command:more_time:script-message open_source_delay_menu?弹幕源延迟设置`到 `uosc.conf`的controls配置项中。 - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。弹幕源延迟设置功能对应的脚本消息为 `open_source_delay_menu`。 - -``` -key script-message open_source_delay_menu -``` - -
    - -
    - 实时修改弹幕样式 - -> #### 实时修改弹幕样式(可选) - -依赖于[uosc UI框架](https://github.com/tomasklaen/uosc)实现**弹幕样式实时修改**,将打开弹幕样式修改图形化菜单供用户手动修改,该功能目前仅依靠 uosc 实现(uosc不可用时无法使用此功能,并默认使用[自定义弹幕样式](#自定义弹幕样式相关配置)里的样式配置)。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_styles`或 `command:palette:script-message open_setup_danmaku_menu?弹幕样式`到 `uosc.conf`的controls配置项中。 - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。实时修改弹幕样式功能对应的脚本消息为 `open_setup_danmaku_menu`。 - -``` -key script-message open_setup_danmaku_menu -``` - -
    - -
    - 弹幕设置总菜单 - -> #### 弹幕设置总菜单(可选) - -打开多级功能复合菜单,包含了插件目前所有的图形化功能。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_menu`或 `command:grid_view:script-message open_add_total_menu?弹幕设置`到 `uosc.conf`的controls配置项中。 - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `open_add_total_menu`。 - -``` -key script-message open_add_total_menu -``` - -
    - ---- - -**仅快捷键的功能** - -
    -设置弹幕延迟 - -> #### 设置弹幕延迟(可选) - -可以通过快捷键绑定以下命令来调整弹幕延迟,单位:秒。秒数的含义为在当前弹幕延迟的基础上叠加新设置的延迟秒数进行调整,可以设置为负数。另外,设置为0时为特殊情况,会将弹幕延迟重置为0,回到初始状态。 - -``` -# 设置整体弹幕延迟 -key script-message danmaku-delay -# 设置当前播放时间点的弹幕延迟 -key script-message danmaku-delay ${=time-pos} -``` - -> 当前弹幕延迟的值可以从 `user-data/uosc_danmaku/danmaku-delay`属性中获取到,具体用法可以参考[此issue](https://github.com/Tony15246/uosc_danmaku/issues/77) - -
    - -
    -保存当前视频弹幕 - -> #### 保存当前视频弹幕(可选) - -在视频播放时手动保存弹幕至视频所在文件夹,保存格式为 `xml`(注:此功能将保存为视频同名弹幕,若视频文件夹下存在同名文件将不会执行该功能) - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `immediately_save_danmaku`。 - -``` -key script-message immediately_save_danmaku -``` - -
    - -
    -清空当前视频关联的弹幕源 - -> #### 清空当前视频关联的弹幕源(可选) - -可以清空当前视频中,用户通过[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)菜单手动添加的所有弹幕源(注意该功能不会删除来源于弹幕服务器的弹幕,此类弹幕只能屏蔽或者手动重新匹配新弹幕库)。清空过弹幕源之后,下次播放该视频,就不会再加载之前手动添加过的弹幕源,可以重新添加弹幕源。 - -想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `clear-source`。 - -``` -key script-message clear-source -``` - -
    - -
    -检查脚本更新 - -> #### 检查脚本更新(可选) - -可以通过绑定以下脚本命令来实现检查并自动更新脚本 - -> 只会检查 `Releases`中发布的更新 - -``` -key script-message check-update -``` - -
    - ---- - -## 可配置选项(可选) - -本插件可以在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件自定义下例配置开启额外功能或自定义功能细节 - -### 弹幕加载相关 - - - -
    - -load_more_danmaku - -> 开关全量弹幕源加载 - - - -### load_more_danmaku - -#### 功能说明 - -由于弹弹Play默认对于弹幕较多的番剧加载并且整合弹幕的上限大约每集7000条,而这7000条弹幕也不是均匀分配,例如有时弹幕基本只来自于哔哩哔哩,有时弹幕又只来自于巴哈姆特。这样的话弹幕观看体验就和直接在哔哩哔哩或者巴哈姆特观看没有区别了,失去了弹弹Play整合全平台弹幕的优势。 - -因此,本人添加了配置选项 `load_more_danmaku`,用来将从弹弹Play获取弹幕的逻辑更改为逐一搜索所有弹幕源下的全部弹幕,并由本脚本整合加载。开启此选项可以获取到所有可用弹幕源下的所有弹幕。但是对于一些热门番剧来说,弹幕数量可能破万,如果接受不了屏幕上弹幕太多,请不要开启此选项。(嘛,不过本人看视频从来只会觉得弹幕多多益善) - -#### 使用方法 - -想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: - -``` -load_more_danmaku=yes -``` - -
    - ---- - -
    - -auto_load - -> 开关全自动弹幕填装 - - - -### auto_load - -#### 功能说明 - -该选项控制是否开启全自动弹幕填装功能。该功能会在为某个文件夹下的某一集番剧加载过一次弹幕后,把加载过的弹幕会自动关联到该集。之后每次重新播放该文件就会自动加载对应的弹幕,同时该文件对应的文件夹下的所有其他集数的文件都会在播放时自动加载弹幕。 - -举个例子,比如说有一个文件夹结构如下 - -``` -败犬女主太多了 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_01WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_02WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_03WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_04WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_05WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_06WebRipHEVC_AACCHS_JP.mp4 -├── KitaujiSub_Make_Heroine_ga_Oosugiru!_07v2WebRipHEVC_AACCHS_JP.mp4 -└── KitaujiSub_Make_Heroine_ga_Oosugiru!_08WebRipHEVC_AACCHS_JP.mp4 -``` - -只要在播放第一集 `KitaujiSub_Make_Heroine_ga_Oosugiru!_01WebRipHEVC_AACCHS_JP.mp4`的时候手动搜索并且加载过一次弹幕,那么打开第二集时就会直接自动加载第二集的弹幕,打开第三集时就会直接加载第三集的弹幕,以此类推,不用再手动搜索 - -#### 使用方法 - -想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: - -``` -auto_load=yes -``` - -注意⚠️: 一个文件夹下有且仅有一同部番剧的若干视频文件才会生效。下面这种情况下,如果手动搜索并且加载过一次《少女歌剧》第一集的弹幕,《哭泣少女乐队》第二集必须重新手动识别,但这样会破坏《少女歌剧》的弹幕记录 - -``` -少女歌剧 -├── 少女歌剧1.mp4 -├── 少女歌剧2.mp4 -├── 少女歌剧3.mp4 -├── 少女歌剧4.mp4 -└── 哭泣少女乐队2.mp4 -``` - -
    - ---- - -
    - -autoload_for_url - -> 开关url播放场景自动加载弹幕与关联继承 - - - -### autoload_for_url - -#### 功能说明 - -开启此选项后,会为可能支持的 url 视频文件实现弹幕关联记忆和继承,配合播放列表食用效果最佳。目前兼容在使用[embyToLocalPlayer](https://github.com/kjtsune/embyToLocalPlayer)、[mpv-torrserver](https://github.com/dyphire/mpv-config/blob/master/scripts/mpv-torrserver.lua)、[tsukimi](https://github.com/tsukinaha/tsukimi)等场景时进行弹幕关联记忆和继承。 - -目前的具体支持情况和实现效果可以参考[此pr](https://github.com/Tony15246/uosc_danmaku/pull/16) - -另外,开启此选项后还会在网络播放bilibili以及巴哈姆特的视频时自动加载对应视频的弹幕,可配合[Play-With-MPV](https://github.com/LuckyPuppy514/Play-With-MPV)或[ff2mpv](https://github.com/woodruffw/ff2mpv)等网络播放手段使用。(播放巴哈姆特的视频时弹幕自动加载如果失败,请检查[proxy](#proxy)选项配置是否正确) - -#### 使用方法 - -想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: - -``` -autoload_for_url=yes -``` - -
    - ---- - -
    - -autoload_local_danmaku - -> 开关自动加载同目录下的xml格式弹幕文件 - - - -### autoload_local_danmaku - -#### 功能说明 - -自动加载播放文件同目录下同名的 xml 格式的弹幕文件 - -#### 使用方法 - -想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: - -``` -autoload_local_danmaku=yes -``` - -
    - ---- - -
    - -save_danmaku - -> 开关自动保存弹幕文件(xml格式)至视频同目录 - - - -### save_danmaku - -#### 功能说明 - -当文件关闭时自动保存弹幕文件(xml格式)至视频同目录,保存的弹幕文件名与对应的视频文件名相同。配合[autoload_local_danmaku选项](#autoload_local_danmaku)可以实现弹幕自动保存到本地并且下次播放时自动加载本地保存的弹幕。此功能默认禁用。 - -> **⚠️NOTE!** -> -> 当开启[autoload_local_danmaku选项](#autoload_local_danmaku)时,会自动加载播放文件同目录下同名的 xml 格式的弹幕文件,优先级高于一切其他自动加载弹幕功能。如果不希望每次播放都加载之前保存的本地弹幕,则请关闭[autoload_local_danmaku选项](#autoload_local_danmaku);或者在保存完弹幕之后转移弹幕文件至其他路径并关闭 `save_danmaku`选项。 -> -> `save_danmaku`选项的打开和关闭可以运行时实时更新。在 `input.conf`中添加如下内容,可通过快捷键实时控制 `save_danmaku`选项的打开和关闭 -> -> ``` -> key cycle-values script-opts uosc_danmaku-save_danmaku=yes uosc_danmaku-save_danmaku=no -> ``` - -#### 使用方法 - -想要启用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: - -``` -save_danmaku=yes -``` - -
    - ---- - -
    - - -~~add_from_source~~ - -> ~~开关记录通过 从弹幕源向当前弹幕添加新弹幕内容 关联过的弹幕源并自动加载(已废除)~~ - - - -### add_from_source - -> **⚠️NOTE!** -> -> 该可选配置项在Release v1.2.0之后已废除。现在通过 `从弹幕源向当前弹幕添加新弹幕内容`功能关联过的弹幕源被记录,并且下次播放同一个视频的时候自动关联并加载所有添加过的弹幕源,这样的行为已经成为了插件的默认行为,不需要再通过 `add_from_source`来开启。在[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)菜单中可以可视化地管理所有添加过的弹幕源。 - -#### 功能说明 - -开启此选项后,通过 `从弹幕源向当前弹幕添加新弹幕内容`功能关联过的弹幕源会被记录,并且下次播放同一个视频的时候会自动关联并加载添加过的弹幕源。 - -#### 使用方法 - -想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: - -``` -add_from_source=yes -``` - -
    - ---- - -### 弹幕显示相关 - -(如果需要更细节的弹幕样式修改请看[自定义弹幕样式](#自定义弹幕样式相关配置)) - - - -
    - -opacity - -> 自定义弹幕的透明度 - - - -### opacity - -#### 功能说明 - -自定义弹幕的透明度,0(完全透明)到1(不透明)。默认值:0.7 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -opacity=0.7 -``` - -
    - ---- - -
    - -chConvert - -> 开关中文简繁转换 - - - -### chConvert - -#### 功能说明 - -中文简繁转换。0-不转换,1-转换为简体,2-转换为繁体。默认值: 0,不转换简繁字体,按照弹幕源原本字体显示 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -chConvert=0 -``` - -
    - ---- - -
    - -merge_tolerance - -> 开关合并重复弹幕并设置容差值 - - - -### merge_tolerance - -#### 功能说明 - -指定合并重复弹幕的时间间隔的容差值,单位为秒。默认值: -1,表示禁用 - -当值设为0时会合并同一时间相同内容的弹幕,值大于0时会合并指定秒数误差内的相同内容的弹幕 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -merge_tolerance=1 -``` - -
    - ---- -
    - -max_screen_danmaku - -> 限制屏幕中同时显示的弹幕数量 - - - -### max_screen_danmaku - -#### 功能说明 - -当该值大于0时,脚本会在解析弹幕时丢弃部分弹幕,确保任意时刻屏幕中显示的弹幕不超过设定值。 - -#### 使用方法 - -在 `script-opts` 目录下创建 `uosc_danmaku.conf` 并添加如下内容: - -``` -max_screen_danmaku=60 -``` - -
    - ---- - -
    - -vf_fps - -> 开关使用fps视频滤镜提升弹幕平滑度(帧数) - - - -### vf_fps - -#### 功能说明 - -指定是否使用 fps 视频滤镜 `@danmaku:fps=fps=60/1.001`,可大幅提升弹幕平滑度。默认禁用 - -注意该视频滤镜的性能开销较大,需在确保设备性能足够的前提下开启 - -启用选项后仅在视频帧率小于 60 及显示器刷新率大于等于 60 时生效 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: - -``` -vf_fps=yes -``` - -
    - ---- - -
    - -fps - -> 自定义fps滤镜参数适配不同显示器刷新率 - - - -### fps - -#### 功能说明 - -指定要使用的 fps 滤镜参数,例如如果设置fps为 `60/1.001`,则实际生效的视频滤镜参数为 `@danmaku:fps=fps=60/1.001` - -使用这个选项,可以根据自己显示器的刷新率调整要使用的视频滤镜参数 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: - -``` -fps=60/1.001 -``` - -
    - ---- - -### 弹幕解析服务相关 - - - -
    - -api_server - -> 自定义弹幕API - - - -### api_server - -#### 功能说明 - -允许自定义弹幕 API 的服务地址 - -> **⚠️NOTE!** -> -> 请确保自定义服务的 API 与弹弹play 的兼容,已知兼容:[l429609201/misaka_danmu_server](https://github.com/l429609201/misaka_danmu_server),[laozishen/abetsy](https://hub.docker.com/r/laozishen/abetsy) - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -api_server=https://api.dandanplay.net -``` - -
    - ---- - -
    - -fallback_server - -> 自定义b站和爱腾优的弹幕获取的兜底服务器地址 - - - -### fallback_server - -#### 功能说明 - -自定义 b 站和爱腾优的弹幕获取的兜底服务器地址,主要用于获取非动画弹幕,只有在弹弹play无法解析视频源对应弹幕的情况下才会使用此处设置的服务器进行解析。兜底弹幕服务器可以自托管,具体方法请参考此仓库:https://github.com/lyz05/danmaku - -> **⚠️NOTE!** -> -> 不设置此选项的情况下默认使用 `https://fc.lyz05.cn`作为兜底服务器,除非你自行部署了弹幕服务器,否则不建议自定义此选项。 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -fallback_server=https://fc.lyz05.cn -``` - -
    - ---- - -
    - -tmdb_api_key - -> 自定义 tmdb 的 API Key获取非动画条目的中文信息 - - - -### tmdb_api_key - -#### 功能说明 - -设置 tmdb 的 API Key,用于获取非动画条目的中文信息(当搜索内容非中文时)。可以在 https://www.themoviedb.org 注册后去个人账号设置界面获取个人的tmdb 的 API Key。 - -> **⚠️NOTE!** -> -> 不设置此选项的情况下默认使用专为本项目申请的API Key。另外,自定义此选项时还需要对获取到的 API Key 进行 base64 编码。 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -tmdb_api_key=NmJmYjIxOTZkNzIyN2UyMTIzMGM3Y2YzZjQ4MDNkZGM= -``` - -
    - ---- - -### 插件配置相关 - -
    - -user_agent - -> 自定义请求时的User Agent - - - -### user_agent - -#### 功能说明 - -自定义 `curl`发送网络请求时使用的 User Agent,默认值是 `mpv_danmaku/1.0` - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容(不可为空): - -> **⚠️NOTE!** -> -> User-Agent格式必须符合弹弹play的标准,否则无法成功请求。具体格式要求见[弹弹play官方文档](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md#5user-agent) -> -> 若想提高URL播放的哈希匹配成功率,可以将此项设为 `mpv`或浏览器的User-Agent - -``` -user_agent=mpv_danmaku/1.0 -``` - -
    - ---- - -
    - -proxy - -> 自定义请求时的代理 - - - -### proxy - -#### 功能说明 - -自定义 `curl`发送网络请求时使用的代理,默认禁用 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -proxy=127.0.0.1:7890 -``` - -
    - ---- - -
    - -message_x - -> 自定义插件相关提示的显示位置(x轴) - - - -### message_x - -#### 功能说明 - -自定义插件相关提示的显示位置,距离屏幕左上角的x轴的距离 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -message_x=30 -``` - -
    - ---- - -
    - -message_y - -> 自定义插件相关提示的显示位置(y轴) - - - -### message_y - -#### 功能说明 - -自定义插件相关提示的显示位置,距离屏幕左上角的y轴的距离 - -#### 使用方法 - -想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: - -``` -message_y=30 -``` - -
    - ---- - -
    - -title_replace - -> 自定义文件标题解析中的额外替换规则 - - - -### title_replace - -自定义标题解析中的额外替换规则,内容格式为 JSON 字符串,替换模式为 lua 的 string.gsub 函数 - -注意⚠️:由于 mpv 的 lua 版本限制,自定义规则只支持形如 %n 的捕获组写法,即示例用法,不支持直接替换字符的写法 - -用法示例: - -``` -title_replace=[{"rules":[{ "^〔(.-)〕": "%1"},{ "^.*《(.-)》": "%1" }]}] -``` - -
    - ---- - -
    - -excluded_path - -> 指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录 - - - -### excluded_path - -指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录。支持绝对路径和相对路径,多个路径用逗号分隔 - -用法示例: - -``` -excluded_path=["X:", "Z:", "F:/Download/", "Download"] -``` - -
    - ---- - -
    - -history_path - -> 指定弹幕关联历史记录文件路径 - - - -### history_path - -#### 功能说明 - -指定弹幕关联历史记录文件的路径,支持绝对路径和相对路径。默认值是 `~~/danmaku-history.json`也就是mpv配置文件夹的根目录下 - -#### 使用示例 - -想要配置此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加类似如下内容: - -> **⚠️IMPORTANT** -> 不要直接复制这里的配置,这只是一个示例,路径要写成真实存在的路径。此选项可以不配置,脚本会默认放在mpv配置文件夹的根目录下。 - -``` -history_path=/path/to/your/danmaku-history.json -``` - -
    - ---- - -### 自定义弹幕样式相关配置 - -默认配置如下,可根据需求更改并自定义弹幕样式 - -想要配置此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加类似如下内容: - -``` -#滚动弹幕的显示时间 -scrolltime=15 -#固定弹幕的显示时间 -fixtime=5 -#字体(名称两边不需要使用引号""括住) -fontname=sans-serif -#大小 -fontsize=50 -#阴影 -shadow=0 -#粗体 -bold=yes -#全部弹幕的显示范围(0.0-1.0) -displayarea=0.85 -#描边 0-4 -outline=1 -#指定弹幕屏蔽词文件路径(black.txt),支持绝对路径和相对路径。文件内容以换行分隔 -##支持 lua 的正则表达式写法 -blacklist_path= -``` - -## 常见问题 - -### 来自弹弹play的弹幕源问题如何从根源进行调整解决 - -本插件动画弹幕均来自[弹弹play api](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md),所以你可能会遇到 `部分动画没有弹幕`和 `弹幕时间轴对不上`这类问题,虽然你可以使用本插件的 [从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选) 和 [弹幕源延迟设置](#弹幕源延迟设置可选) 这两个功能解决,但你如果想为弹幕源做贡献从根源解决帮所有用户解决这类问题,可以参考下列教程: - -1.下载[弹弹play pc端](https://www.dandanplay.com) - -2.使用弹弹play `播放任意视频文件`并 `绑定你想要调整的动画弹幕库` - -3.然后就可以参考下方详细教程对弹幕源进行操作并使所有用户同步操作内容了 - -**为动画添加弹幕源** - -如果你想为一部动画添加弹幕可以使用 `视频设置菜单`-→`弹幕列表`-→`添加更多弹幕` 这项功能添加对应的弹幕 - -> [!NOTE] -> 如果想使API(本插件)弹幕同步操作内容请将链接重复添加三次(弹弹play投票抉择机制) - -**为动画弹幕源调整延迟** - -如果你想为动画弹幕源修改延迟,请在 `视频设置菜单`-→`编辑弹幕来源`中复制下你要编辑的弹幕源的具体网址,然后点击删除,然后使用 `视频设置菜单`-→`弹幕列表`-→`添加更多弹幕` 这项功能进行重新添加,添加时在下方 `已选弹幕`中更改 `弹幕偏移`(单位为秒)调整延迟,然后依旧是重复添加三次就能使API弹幕同步了 - -另外,弹弹play的弹幕源一直是人工维护人工绑定制,感谢所有用此方式做贡献的人 - -## 特别感谢 - -感谢以下项目为本项目提供了实现参考或者外部依赖 - -- 弹幕api:[弹弹play](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md) -- 菜单api:[uosc](https://github.com/tomasklaen/uosc) -- 弹幕格式解析转换:[DanmakuConvert](https://github.com/timerring/DanmakuConvert) -- 简繁转换:[OpenCC](https://github.com/BYVoid/OpenCC) -- lua原生md5计算实现:https://github.com/rkscv/danmaku -- b站在线播放弹幕获取实现参考:[MPV-Play-BiliBili-Comments](https://github.com/itKelis/MPV-Play-BiliBili-Comments) -- 巴哈姆特在线播放弹幕获取实现参考:[MPV-Play-BAHA-Comments](https://github.com/s594569321/MPV-Play-BAHA-Comments) - -## 相关项目 - -- [slqy123/uosc_danmaku](https://github.com/slqy123/uosc_danmaku) 本项目的fork版本,实现了通过dandanplay api发送弹幕的功能,由于版本的兼容性以及功能的易用性问题未被合并,具体讨论请参阅 [#220](https://github.com/Tony15246/uosc_danmaku/pull/220) diff --git a/scripts/uosc_danmaku/apis/dandanplay.lua b/scripts/uosc_danmaku/apis/dandanplay.lua deleted file mode 100644 index 1a35e87..0000000 --- a/scripts/uosc_danmaku/apis/dandanplay.lua +++ /dev/null @@ -1,735 +0,0 @@ -local msg = require('mp.msg') -local utils = require("mp.utils") - -local function extract_url(url) - local path = url:match("^https?://[^/]+(/[^%?]*)") - return path -end - -local function generateXSignature(url, time, appid, app_accept) - local url_path = extract_url(url) - if not url_path then - return nil - end - - local dataToHash = string.format("%s%d%s%s", AES.ECB.decrypt(KEY, Base64.decode(appid)), - time, url_path, AES.ECB.decrypt(KEY, Base64.decode(app_accept))) - local hash = Sha256(dataToHash) - local base64Hash = Base64.encode(hex_to_bin(hash)) - return base64Hash -end - --- 写入history.json --- 读取episodeId获取danmaku -function set_episode_id(input, from_menu) - from_menu = from_menu or false - DANMAKU.source = "dandanplay" - for url, source in pairs(DANMAKU.sources) do - if source.from == "api_server" then - if source.fname and file_exists(source.fname) then - os.remove(source.fname) - end - - if not source.from_history then - DANMAKU.sources[url] = nil - else - DANMAKU.sources[url]["fname"] = nil - end - end - end - local episodeId = tonumber(input) - write_history(episodeId) - set_danmaku_button() - if options.load_more_danmaku then - fetch_danmaku_all(episodeId, from_menu) - else - fetch_danmaku(episodeId, from_menu) - end -end - --- 回退使用额外的弹幕获取方式 -function get_danmaku_fallback(query) - local url = options.fallback_server .. "/?url=" .. query - msg.verbose("尝试获取弹幕:" .. url) - local temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".xml" - local danmaku_xml = utils.join_path(DANMAKU_PATH, temp_file) - DANMAKU.count = DANMAKU.count + 1 - local arg = { - "curl", - "-L", - "-s", - "--compressed", - "--user-agent", - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0", - "--output", - danmaku_xml, - url, - } - - call_cmd_async(arg, function(error) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - msg.error(error) - return - end - if file_exists(danmaku_xml) then - if query:find("iqiyi%.com") ~= nil then - DANMAKU.strict = true - end - save_danmaku_downloaded(query, danmaku_xml) - load_danmaku(true) - end - end) -end - --- 返回弹幕请求参数 -function make_danmaku_request_args(method, url, headers, body) - local args = { - "curl", - "-L", - "-X", - method, - "-H", - "Accept: application/json", - "-H", - "User-Agent: " .. options.user_agent, - } - - if headers then - for k, v in pairs(headers) do - table.insert(args, '-H') - table.insert(args, string.format('%s: %s', k, v)) - end - end - - if body then - table.insert(args, '-d') - table.insert(args, utils.format_json(body)) - table.insert(args, '-H') - table.insert(args, 'Content-Type: application/json') - end - - if url:find("api%.dandanplay%.") then - local time = os.time() - local appid = "UgjRIH45lE1BBLNmir1WKw==" - local app_accept = "SzuWlFZAPRMqeWf9qmfp8dcvYr3hvxuSrIRZuAeEfko=" - table.insert(args, '-H') - table.insert(args, string.format('X-AppId: %s', AES.ECB.decrypt(KEY, Base64.decode(appid)))) - table.insert(args, '-H') - table.insert(args, string.format('X-Signature: %s', generateXSignature(url, time, appid, app_accept))) - table.insert(args, '-H') - table.insert(args, string.format('X-Timestamp: %s', time)) - end - - table.insert(args, url) - - return args -end - --- 尝试通过解析文件名匹配剧集 -local function match_episode(animeTitle, bangumiId, episode_num) - local url = options.api_server .. "/api/v2/bangumi/" .. bangumiId - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - call_cmd_async(args, function(error, json) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - msg.error(error) - return - end - - local data = utils.parse_json(json) - if not data or not data.bangumi or not data.bangumi.episodes then - msg.info("无结果") - return - end - - for _, episode in ipairs(data.bangumi.episodes) do - local ep_num = tonumber(episode.episodeNumber) - if ep_num and ep_num == tonumber(episode_num) then - DANMAKU.anime = animeTitle - DANMAKU.episode = episode.episodeTitle - set_episode_id(episode.episodeId) - break - end - end - end) -end - -local function match_anime() - local animes = {} - local anime_type = "tvseries" - local type_count = 0 - local title, season_num, episode_num = parse_title() - if not episode_num then - msg.info("无法解析剧集信息") - return - end - - if title:match("OVA") or title:match("OAD") then - anime_type = "ova" - end - - local encoded_query = url_encode(title) - local url = options.api_server .. "/api/v2/search/anime" - local params = "keyword=" .. encoded_query - local full_url = url .. "?" .. params - local args = make_danmaku_request_args("GET", full_url) - - if not args then return end - - call_cmd_async(args, function(error, json) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - msg.error(error) - return - end - - local data = utils.parse_json(json) - if not data or not data.animes then - msg.info("无结果") - return - end - - for _, anime in ipairs(data.animes) do - if anime.type == anime_type then - type_count = type_count + 1 - table.insert(animes, anime) - end - end - - if type_count == 1 then - match_episode(animes[1].animeTitle, animes[1].bangumiId, episode_num) - elseif type_count > 1 and season_num then - local best_match, best_score = nil, -1 - local target_title = title - if tonumber(season_num) > 1 then - target_title = title .. " 第" .. number_to_chinese(season_num) .. "季" - end - for _, anime in ipairs(animes) do - if anime.animeTitle:match("第一[季部]") and tonumber(season_num) == 1 then - target_title = title .. " 第一季" - end - local score = jaro_winkler(target_title, anime.animeTitle) - msg.debug(("候选: %s -> 相似度 %.3f"):format(anime.animeTitle, score)) - if score > best_score then - best_score = score - best_match = anime - end - end - - if best_match and best_score >= 0.75 then - msg.info(("模糊匹配选中: %s (score=%.2f)"):format(best_match.animeTitle, best_score)) - match_episode(best_match.animeTitle, best_match.bangumiId, episode_num) - else - msg.info("匹配到多个结果,但相似度不足,请手动搜索") - end - else - msg.info("没有找到合适的匹配结果") - end - end) -end - --- 执行哈希匹配获取弹幕 -local function match_file(file_path, file_name, callback) - -- 计算文件哈希 - local hash = nil - local file_info = utils.file_info(file_path) - if file_info and file_info.size > 16 * 1024 * 1024 then - local file, error = io.open(normalize(file_path), 'rb') - if file and not error then - local m = MD5.new() - for _ = 1, 16 * 1024 do - local content = file:read(1024) - if not content then - break - end - m:update(content) - end - file:close() - hash = m:finish() - end - end - - if hash then msg.info('hash:', hash) end - - local title, season_num, episode_num = parse_title() - if title and episode_num then - if season_num then - file_name = title .. " S" .. season_num .. "E" .. episode_num - else - file_name = title .. " E" .. episode_num - end - else - file_name = title - end - - local url = options.api_server .. "/api/v2/match" - local args = make_danmaku_request_args("POST", url, { - ["Content-Type"] = "application/json" - }, { - fileName = file_name, - fileHash = hash or "", - matchMode = "hashAndFileName" - } - ) - - if not args then return end - - call_cmd_async(args, function(error, json) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - callback(error) - return - end - local data = utils.parse_json(json) - if not data or not data.isMatched or #data.matches > 1 then - callback("没有匹配的剧集") - return - end - - DANMAKU.anime = data.matches[1].animeTitle - DANMAKU.episode = data.matches[1].episodeTitle - - -- 获取并加载弹幕数据 - set_episode_id(data.matches[1].episodeId) - end) -end - --- 异步获取弹幕数据 -function fetch_danmaku_data(args, callback) - call_cmd_async(args, function(error, json) - async_running = false - if error then - show_message("获取数据失败", 3) - msg.error("HTTP 请求失败:" .. error) - return - end - local data = utils.parse_json(json) - callback(data) - end) -end - --- 保存弹幕数据 -function save_danmaku_data(comments, query, danmaku_source) - local temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".json" - local danmaku_file = utils.join_path(DANMAKU_PATH, temp_file) - DANMAKU.count = DANMAKU.count + 1 - local success = save_danmaku_json(comments, danmaku_file) - - if success then - if DANMAKU.sources[query] ~= nil then - if DANMAKU.sources[query].fname and file_exists(DANMAKU.sources[query].fname) then - os.remove(DANMAKU.sources[query].fname) - end - DANMAKU.sources[query]["fname"] = danmaku_file - else - DANMAKU.sources[query] = {from = danmaku_source, fname = danmaku_file} - end - end -end - -function save_danmaku_downloaded(url, downloaded_file) - if DANMAKU.sources[url] ~= nil then - if DANMAKU.sources[url].fname and file_exists(DANMAKU.sources[url].fname) then - os.remove(DANMAKU.sources[url].fname) - end - DANMAKU.sources[url]["fname"] = downloaded_file - else - DANMAKU.sources[url] = {from = "user_custom", fname = downloaded_file} - end -end - --- 处理弹幕数据 -function handle_danmaku_data(query, data, from_menu) - local comments = data["comments"] - local count = data["count"] - - -- 如果没有数据,进行重试 - if count == 0 then - show_message("服务器无缓存数据,再次尝试请求", 30) - msg.verbose("服务器无缓存数据,再次尝试请求") - -- 等待 2 秒后重试 - local start = os.time() - while os.time() - start < 2 do - -- 空循环,等待 2 秒 - end - -- 重新发起请求 - local url = options.api_server .. "/api/v2/extcomment?url=" .. url_encode(query) - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(retry_data) - if not retry_data or not retry_data["comments"] or retry_data["count"] == 0 then - get_danmaku_fallback(query) - return - end - save_danmaku_data(retry_data["comments"], query, "user_custom") - load_danmaku(from_menu) - end) - else - save_danmaku_data(comments, query, "user_custom") - load_danmaku(from_menu) - end -end - --- 处理第三方弹幕数据 -function handle_related_danmaku(index, relateds, related, shift, callback) - local url = options.api_server .. "/api/v2/extcomment?url=" .. url_encode(related["url"]) - show_message(string.format("正在从第三方库装填弹幕 [%d/%d]", index, #relateds), 30) - msg.verbose("正在从第三方库装填弹幕:" .. url) - - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(data) - local comments = {} - if data and data["comments"] then - if data["count"] == 0 then - -- 如果没有数据,稍等 2 秒重试 - local start = os.time() - while os.time() - start < 2 do - -- 空循环,等待 2 秒 - end - fetch_danmaku_data(args, function(data) - for _, comment in ipairs(data["comments"]) do - comment["shift"] = shift - table.insert(comments, comment) - end - callback(comments) - end) - else - for _, comment in ipairs(data["comments"]) do - comment["shift"] = shift - table.insert(comments, comment) - end - callback(comments) - end - else - show_message("无数据", 3) - msg.info("无数据") - callback(comments) - end - end) -end - --- 处理dandan库的弹幕数据 -function handle_main_danmaku(url, from_menu) - show_message("正在从弹弹Play库装填弹幕", 30) - msg.verbose("尝试获取弹幕:" .. url) - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(data) - if not data or not data["comments"] then - show_message("无数据", 3) - msg.info("无数据") - return - end - - local comments = data["comments"] - local count = data["count"] - - if count == 0 then - if DANMAKU.sources[url] == nil then - DANMAKU.sources[url] = {from = "api_server"} - end - load_danmaku(from_menu) - return - end - - save_danmaku_data(comments, url, "api_server") - load_danmaku(from_menu) - end) -end - --- 处理获取到的数据 -function handle_fetched_danmaku(data, url, from_menu) - if data and data["comments"] then - if data["count"] == 0 then - if DANMAKU.sources[url] == nil then - DANMAKU.sources[url] = {from = "api_server"} - end - show_message("该集弹幕内容为空,结束加载", 3) - msg.verbose("该集弹幕内容为空,结束加载") - return - end - save_danmaku_data(data["comments"], url, "api_server") - load_danmaku(from_menu) - else - show_message("无数据", 3) - msg.info("无数据") - end -end - --- 匹配弹幕库 comment, 仅匹配dandan本身弹幕库 --- 通过danmaku api(url)+id获取弹幕 -function fetch_danmaku(episodeId, from_menu) - local url = options.api_server .. "/api/v2/comment/" .. episodeId .. "?withRelated=true&chConvert=0" - show_message("弹幕加载中...", 30) - msg.verbose("尝试获取弹幕:" .. url) - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(data) - handle_fetched_danmaku(data, url, from_menu) - end) -end - --- 主函数:获取所有相关弹幕 -function fetch_danmaku_all(episodeId, from_menu) - local url = options.api_server .. "/api/v2/related/" .. episodeId - show_message("弹幕加载中...", 30) - msg.verbose("尝试获取弹幕:" .. url) - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(data) - if not data or not data["relateds"] then - show_message("无数据", 3) - msg.info("无数据") - return - end - - -- 处理所有的相关弹幕 - local relateds = data["relateds"] - local function process_related(index) - if index > #relateds then - -- 所有相关弹幕加载完成后,开始加载主库弹幕 - url = options.api_server .. "/api/v2/comment/" .. episodeId .. "?withRelated=false&chConvert=0" - handle_main_danmaku(url, from_menu) - return - end - - local related = relateds[index] - local shift = related["shift"] - - -- 处理当前的相关弹幕 - handle_related_danmaku(index, relateds, related, shift, function(comments) - if #comments == 0 then - if DANMAKU.sources[related["url"]] == nil then - DANMAKU.sources[related["url"]] = {from = "api_server"} - end - else - save_danmaku_data(comments, related["url"], "api_server") - end - - -- 继续处理下一个相关弹幕 - process_related(index + 1) - end) - end - - -- 从第一个相关库开始请求 - process_related(1) - end) -end - --- 从用户添加过的弹幕源添加弹幕 -function addon_danmaku(dir, from_menu) - if dir then - local history_json = read_file(HISTORY_PATH) - local history = utils.parse_json(history_json) or {} - if history[dir] and history[dir].extra ~= nil then - return - end - end - for url, source in pairs(DANMAKU.sources) do - if source.from ~= "api_server" then - add_danmaku_source(url, from_menu) - end - end -end - ---通过输入源url获取弹幕库 -function add_danmaku_source(query, from_menu) - if DANMAKU.sources[query] == nil then - DANMAKU.sources[query] = {from = "user_custom"} - end - - from_menu = from_menu or false - if from_menu then - add_source_to_history(query, DANMAKU.sources[query]) - end - - if is_protocol(query) then - add_danmaku_source_online(query, from_menu) - else - add_danmaku_source_local(query, from_menu) - end -end - -function add_danmaku_source_local(query, from_menu) - local path = normalize(query) - if not file_exists(path) then - msg.warn("无效的文件路径") - return - end - if not (string.match(path, "%.xml$") or string.match(path, "%.json$") or string.match(path, "%.ass$")) then - msg.warn("仅支持弹幕文件") - return - end - - if DANMAKU.sources[query] ~= nil then - if DANMAKU.sources[query].fname and file_exists(DANMAKU.sources[query].fname) then - os.remove(DANMAKU.sources[query].fname) - end - DANMAKU.sources[query]["from"] = "user_local" - DANMAKU.sources[query]["fname"] = path - else - DANMAKU.sources[query] = {from = "user_local", fname = path} - end - - set_danmaku_button() - load_danmaku(from_menu) -end - ---通过输入源url获取弹幕库 -function add_danmaku_source_online(query, from_menu) - set_danmaku_button() - local url = options.api_server .. "/api/v2/extcomment?url=" .. url_encode(query) - show_message("弹幕加载中...", 30) - msg.verbose("尝试获取弹幕:" .. url) - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - fetch_danmaku_data(args, function(data) - if not data or not data["comments"] then - show_message("此源弹幕无法加载", 3) - msg.verbose("此源弹幕无法加载") - return - end - handle_danmaku_data(query, data, from_menu) - end) -end - --- 将弹幕转换为factory可读的json格式 -function save_danmaku_json(comments, json_filename) - local temp_file = "danmaku-" .. PID .. ".json" - json_filename = json_filename or utils.join_path(DANMAKU_PATH, temp_file) - local json_file = io.open(json_filename, "w") - - if json_file then - json_file:write("[\n") - for _, comment in ipairs(comments) do - local p = comment["p"] - local shift = comment["shift"] - if p then - local fields = split(p, ",") - if shift ~= nil then - fields[1] = tonumber(fields[1]) + tonumber(shift) - end - local c_value = string.format( - "%s,%s,%s,25,,,", - tostring(fields[1]), -- first field of p to first field of c - fields[3], -- third field of p to second field of c - fields[2] -- second field of p to third field of c - ) - local m_value = comment["m"] - :gsub("[%z\1-\31]", "") - :gsub("\\", "") - :gsub("\"", "") - - -- Write the JSON object as a single line, no spaces or extra formatting - local json_entry = string.format('{"c":"%s","m":"%s"},\n', c_value, m_value) - json_file:write(json_entry) - end - end - json_file:write("]") - json_file:close() - return true - end - - return false -end - --- 通过文件前 16M 的 hash 值进行弹幕匹配 -function get_danmaku_with_hash(file_name, file_path) - if type(MD5) ~= "table" or not MD5.sum then - msg.warn("MD5 模块不支持 Lua 5.1,回退到文件名匹配") - match_anime() - return - end - if is_protocol(file_path) then - set_danmaku_button() - local temp_file = "temp-" .. PID .. ".mp4" - local arg = { - "curl", - "--connect-timeout", - "10", - "--max-time", - "30", - "--range", - "0-16777215", - "--user-agent", - options.user_agent, - "--output", - utils.join_path(DANMAKU_PATH, temp_file), - "-L", - file_path, - } - - if options.proxy ~= "" then - table.insert(arg, '-x') - table.insert(arg, options.proxy) - end - - call_cmd_async(arg, function(error) - async_running = false - - file_path = utils.join_path(DANMAKU_PATH, temp_file) - - match_file(file_path, file_name, function(error) - if error then - msg.error(error) - msg.info("尝试通过解析文件名获取弹幕") - match_anime() - end - end) - end) - else - local dir = get_parent_directory(file_path) - local excluded_path = utils.parse_json(options.excluded_path) - if PLATFORM == "windows" then - for i, path in pairs(excluded_path) do - excluded_path[i] = path:gsub("/", "\\") - end - end - if contains_any(excluded_path, dir) then - match_anime() - return - end - match_file(file_path, file_name, function(error) - if error then - msg.error(error) - msg.info("尝试通过解析文件名获取弹幕") - match_anime() - end - end) - end -end diff --git a/scripts/uosc_danmaku/apis/extra.lua b/scripts/uosc_danmaku/apis/extra.lua deleted file mode 100644 index 064791d..0000000 --- a/scripts/uosc_danmaku/apis/extra.lua +++ /dev/null @@ -1,347 +0,0 @@ -local utils = require 'mp.utils' -local msg = require 'mp.msg' - -local Source = { - ["b 站"] = "bilibili1", - ["腾讯"] = "qq", - ["爱奇艺"] = "qiyi", - ["优酷"] = "youku", -} - -local function load_extra_danmaku(url, episode, number, class, id, site, title, year) - local play_url = nil - if url:match("^.-%.html") then - play_url = url:match("^(.-%.html).*") - else - play_url = url:gsub("%?bsource=360ogvys$","") - end - ENABLED = true - DANMAKU.anime = title .. " (" .. year .. ")" - DANMAKU.episode = "第" .. episode .. "话" - DANMAKU.source = site - DANMAKU.extra = { - id = id, - site = site, - year = year, - class = class, - title = title, - number = tonumber(number), - episodenum = tonumber(episode), - } - write_history() - add_danmaku_source(play_url, true) -end - -local function query_tmdb(title, class, menu) - local encoded_title = url_encode(title) - local url = string.format("https://api.themoviedb.org/3/search/%s?api_key=%s&query=%s&language=zh-CN", - class, Base64.decode(options.tmdb_api_key), encoded_title) - - local cmd = { - "curl", - "-s", - "-H", "accept: application/json", - url - } - - if options.proxy ~= "" then - table.insert(cmd, '-x') - table.insert(cmd, options.proxy) - end - - local res = mp.command_native({ - name = "subprocess", - args = cmd, - capture_stdout = true, - capture_stderr = true, - }) - - local data = utils.parse_json(res.stdout) - if not res.status or res.status ~= 0 or not data.results or #data.results == 0 then - local message = "获取 tmdb 中文数据失败" - if uosc_available then - update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, title) - else - show_message(message, 3) - end - msg.error("获取 tmdb 中文数据失败:" .. res.stdout) - else - if class == "tv" then - return data.results[1].name - else - return data.results[1].title - end - end -end - -local function get_number(cat, id, site) - local url = string.format("https://api.web.360kan.com/v1/detail?cat=%s&id=%s&site=%s", - cat, id, site) - - local cmd = { "curl", "-s", url } - local res = mp.command_native({ - name = "subprocess", - args = cmd, - capture_stdout = true, - capture_stderr = true, - }) - - if not res.status or res.status ~= 0 then - msg.error("Failed to fetch data: " .. (res.stderr or "unknown error")) - return nil - end - - local result = utils.parse_json(res.stdout) - if result and result.data and result.data.allupinfo then - return tonumber(result.data.allupinfo[site]) - end - return nil -end - -function get_details(class, id, site, title, year, number, episodenum) - local message = episodenum and "查询弹幕中..." or "加载数据中..." - local menu_type = "menu_details" - local menu_title = "剧集信息" - local footnote = "使用 / 打开筛选" - if uosc_available and not episodenum then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - - local cat = 0 - if class == "电影" then - cat = 1 - elseif class == "电视剧" then - cat = 2 --- elseif class == "综艺" then --- cat = 3 - elseif class == "动漫" then - cat = 4 - end - - if not number and cat ~= 0 then - number = get_number(cat, id, site) - end - if not number or cat == 0 then - local message = "无结果" - if uosc_available and not episodenum then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - msg.verbose("无结果") - return - end - - local url = string.format("https://api.web.360kan.com/v1/detail?cat=%s&id=%s&start=1&end=%s&site=%s", - cat, id, number, site) - - local cmd = { "curl", "-s", url } - local res = mp.command_native({ - name = "subprocess", - args = cmd, - capture_stdout = true, - capture_stderr = true, - }) - - if not res.status or res.status ~= 0 then - local message = "无结果" - if uosc_available and not episodenum then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - msg.verbose("无结果") - return - end - - local result = utils.parse_json(res.stdout) - local items = {} - if result and result.data and result.data.allepidetail then - local data = result.data.allepidetail - local playurl, episode = nil, nil - if episodenum then - for _, item in ipairs(data[site]) do - if tonumber(item.playlink_num) == tonumber(episodenum) then - playurl = item.url - episode = item.playlink_num - break - end - end - if playurl then - load_extra_danmaku(playurl, episode, number, class, id, site, title, year) - return - end - end - for _, item in ipairs(data[site]) do - table.insert(items, { - title = "第" .. item.playlink_num .. "集", - hint = item.playlink_num, - value = { - "script-message-to", - mp.get_script_name(), - "add-extra-event", - item.url, item.playlink_num, number, class, id, site, title, year - }, - }) - end - end - if #items > 0 then - if uosc_available and not episodenum then - update_menu_uosc(menu_type, menu_title, items, footnote) - elseif not episodenum then - show_message("", 0) - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end - else - local message = "无结果" - if uosc_available and not episodenum then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - msg.verbose("无结果") - end -end - -local function search_query(query, class, menu) - local url = string.format("https://api.so.360kan.com/index?force_v=1&kw=%s", query) - if class ~= nil then - url = url .. "&type=" .. class - end - local cmd = { "curl", "-s", url } - - local res = mp.command_native({ - name = "subprocess", - args = cmd, - capture_stdout = true, - capture_stderr = true, - }) - - if not res.status or res.status ~= 0 then - local message = "无结果" - if uosc_available then - update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, query) - else - show_message(message, 3) - end - msg.verbose("无结果") - return - end - - local result = utils.parse_json(res.stdout) - local items = {} - if result and result.data.longData and result.data.longData.rows then - for _, item in ipairs(result.data.longData.rows) do - if item.playlinks then - for source_name, source_id in pairs(Source) do - if item.playlinks[source_id] then - table.insert(items, { - title = item.titleTxt, - hint = item.cat_name .. " | " .. item.year .. " | 来源:" .. source_name, - value = { - "script-message-to", - mp.get_script_name(), - "get-extra-event", - item.cat_name, item.en_id, item.playlinks[source_id], source_id, - item.titleTxt, item.year, - }, - }) - end - end - end - end - end - if #items > 0 then - if uosc_available then - update_menu_uosc(menu.type, menu.title, items, menu.footnote, menu.cmd, query) - else - show_message("", 0) - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end - else - local message = "无结果" - if uosc_available then - update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, query) - else - show_message(message, 3) - end - msg.verbose("无结果") - end -end - -function query_extra(name, class) - local name = name:gsub("%s*%(%d-%)%s*$", "") - local title = nil - local class = class and class:lower() - local message = "加载数据中..." - local menu = { - type = "menu_anime", - title = "在此处输入番剧名称", - footnote = "使用enter或ctrl+enter进行搜索" - } - menu.cmd = { "script-message-to", mp.get_script_name(), "search-anime-event" } - if uosc_available then - update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, name) - else - show_message(message, 30) - end - - if is_chinese(name) then - search_query(name, class, menu) - return - end - - - if options.tmdb_api_key == "" or #Base64.decode(options.tmdb_api_key) < 32 then - local message = "请正确设置 tmdb_api_key 或尝试使用中文搜索" - if uosc_available then - update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, name) - else - show_message(message, 3) - end - return - end - - if class == "dy" then - title = query_tmdb(name, "movie", menu) - else - title = query_tmdb(name, "tv", menu) - end - - if title then - search_query(title, class, menu) - end -end - -mp.register_script_message("get-extra-event", function(cat, id, playlink, source_id, title, year) - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_anime") - end - if cat == "电影" then - if playlink:match("^.-%.html") then - playlink = playlink:match("^(.-%.html).*") - else - playlink = playlink:gsub("%?bsource=360ogvys$","") - end - DANMAKU.anime = title .. " (" .. year .. ")" - DANMAKU.episode = "电影" - DANMAKU.source = source_id - write_history() - add_danmaku_source(playlink, true) - else - get_details(cat, id, source_id, title, year) - end -end) - -mp.register_script_message("add-extra-event", function(url, episode, number, class, id, site, title, year) - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_details") - end - load_extra_danmaku(url, episode, number, class, id, site, title, year) -end) diff --git a/scripts/uosc_danmaku/dicts/s2t_chars.lua b/scripts/uosc_danmaku/dicts/s2t_chars.lua deleted file mode 100644 index cf2a095..0000000 --- a/scripts/uosc_danmaku/dicts/s2t_chars.lua +++ /dev/null @@ -1,3982 +0,0 @@ -return { - ["誊"] = "謄", - ["𫐗"] = "轐", - ["讠"] = "訁", - ["𫐘"] = "轗", - ["计"] = "計", - ["𫐙"] = "轠", - ["订"] = "訂", - ["𫐷"] = "遱", - ["讣"] = "訃", - ["𫑘"] = "鄟", - ["认"] = "認", - ["𫑡"] = "鄳", - ["讥"] = "譏", - ["𫑷"] = "醶", - ["讦"] = "訐", - ["𫓥"] = "釟", - ["讧"] = "訌", - ["𫓦"] = "釨", - ["讨"] = "討", - ["诹"] = "諏", - ["让"] = "讓", - ["诺"] = "諾", - ["讪"] = "訕", - ["读"] = "讀", - ["讫"] = "訖", - ["诼"] = "諑", - ["讬"] = "託", - ["诽"] = "誹", - ["训"] = "訓", - ["课"] = "課", - ["议"] = "議", - ["诿"] = "諉", - ["讯"] = "訊", - ["谀"] = "諛", - ["记"] = "記", - ["谁"] = "誰", - ["谂"] = "諗", - ["调"] = "調", - ["谄"] = "諂", - ["谅"] = "諒", - ["谆"] = "諄", - ["谇"] = "誶", - ["谈"] = "談", - ["𫗭"] = "餵", - ["谉"] = "讅", - ["猃"] = "獫", - ["谊"] = "誼", - ["猎"] = "獵", - ["谋"] = "謀", - ["猕"] = "獼", - ["谌"] = "諶", - ["猡"] = "玀", - ["谍"] = "諜", - ["猪"] = "豬", - ["谎"] = "謊", - ["猫"] = "貓", - ["谏"] = "諫", - ["猬"] = "蝟", - ["谐"] = "諧", - ["献"] = "獻", - ["谑"] = "謔", - ["獭"] = "獺", - ["谒"] = "謁", - ["玑"] = "璣", - ["谓"] = "謂", - ["玙"] = "璵", - ["谔"] = "諤", - ["玚"] = "瑒", - ["谕"] = "諭", - ["玛"] = "瑪", - ["谖"] = "諼", - ["玩"] = "玩", - ["谗"] = "讒", - ["环"] = "環", - ["谙"] = "諳", - ["现"] = "現", - ["谚"] = "諺", - ["玱"] = "瑲", - ["谛"] = "諦", - ["玺"] = "璽", - ["谜"] = "謎", - ["珐"] = "琺", - ["谝"] = "諞", - ["珑"] = "瓏", - ["谞"] = "諝", - ["珰"] = "璫", - ["谟"] = "謨", - ["珲"] = "琿", - ["谠"] = "讜", - ["琎"] = "璡", - ["谡"] = "謖", - ["琏"] = "璉", - ["谢"] = "謝", - ["琐"] = "瑣", - ["谣"] = "謠", - ["琼"] = "瓊", - ["谤"] = "謗", - ["瑶"] = "瑤", - ["谥"] = "諡", - ["瑷"] = "璦", - ["谦"] = "謙", - ["瑸"] = "璸", - ["泞"] = "濘", - ["谧"] = "謐", - ["璇"] = "璇", - ["注"] = "注", - ["谨"] = "謹", - ["泪"] = "淚", - ["谩"] = "謾", - ["泶"] = "澩", - ["谪"] = "謫", - ["泷"] = "瀧", - ["谫"] = "譾", - ["泸"] = "瀘", - ["谬"] = "謬", - ["泺"] = "濼", - ["谭"] = "譚", - ["泻"] = "瀉", - ["谮"] = "譖", - ["泼"] = "潑", - ["谯"] = "譙", - ["泽"] = "澤", - ["谰"] = "讕", - ["泾"] = "涇", - ["谱"] = "譜", - ["洁"] = "潔", - ["谲"] = "譎", - ["洒"] = "灑", - ["谳"] = "讞", - ["洼"] = "窪", - ["谴"] = "譴", - ["浃"] = "浹", - ["谵"] = "譫", - ["浅"] = "淺", - ["谶"] = "讖", - ["浆"] = "漿", - ["谷"] = "谷", - ["浇"] = "澆", - ["豮"] = "豶", - ["疯"] = "瘋", - ["浈"] = "湞", - ["贝"] = "貝", - ["疱"] = "皰", - ["浉"] = "溮", - ["贞"] = "貞", - ["疴"] = "痾", - ["浊"] = "濁", - ["负"] = "負", - ["症"] = "症", - ["测"] = "測", - ["痈"] = "癰", - ["浍"] = "澮", - ["贡"] = "貢", - ["济"] = "濟", - ["财"] = "財", - ["浏"] = "瀏", - ["责"] = "責", - ["浐"] = "滻", - ["贤"] = "賢", - ["浑"] = "渾", - ["败"] = "敗", - ["浒"] = "滸", - ["账"] = "賬", - ["浓"] = "濃", - ["货"] = "貨", - ["浔"] = "潯", - ["质"] = "質", - ["浕"] = "濜", - ["涂"] = "塗", - ["涌"] = "湧", - ["涚"] = "涗", - ["涛"] = "濤", - ["涝"] = "澇", - ["涞"] = "淶", - ["涟"] = "漣", - ["涠"] = "潿", - ["涡"] = "渦", - ["涢"] = "溳", - ["涣"] = "渙", - ["涤"] = "滌", - ["润"] = "潤", - ["涧"] = "澗", - ["涨"] = "漲", - ["𪼋"] = "㻶", - ["𣑶"] = "𣠲", - ["涩"] = "澀", - ["𣎑"] = "臗", - ["𰶎"] = "譅", - ["淀"] = "澱", - ["𰰨"] = "菕", - ["𰬸"] = "繐", - ["渊"] = "淵", - ["𬺓"] = "齼", - ["𬺈"] = "齮", - ["渌"] = "淥", - ["𬹼"] = "齘", - ["𬸯"] = "鷿", - ["渍"] = "漬", - ["𬸪"] = "鷭", - ["𬸦"] = "鷟", - ["渎"] = "瀆", - ["𬸣"] = "鶱", - ["𬸚"] = "鸑", - ["渐"] = "漸", - ["𬸘"] = "鶠", - ["𬷕"] = "鵏", - ["渑"] = "澠", - ["𫂃"] = "簢", - ["𫂈"] = "䉬", - ["渔"] = "漁", - ["𫂿"] = "𥻦", - ["𫄙"] = "糺", - ["渖"] = "瀋", - ["𫄛"] = "紟", - ["𫄝"] = "𥾯", - ["渗"] = "滲", - ["𫄟"] = "絁", - ["𫄡"] = "絧", - ["温"] = "溫", - ["𫄣"] = "繷", - ["𫄥"] = "纚", - ["游"] = "遊", - ["𫄧"] = "綖", - ["𫄩"] = "䋦", - ["𫄫"] = "綟", - ["𫄭"] = "緮", - ["𫄯"] = "𦃩", - ["𫄱"] = "繬", - ["𫄳"] = "縰", - ["𬱖"] = "頔", - ["𬯎"] = "隤", - ["𬯀"] = "隮", - ["𫄷"] = "繶", - ["𫄸"] = "纁", - ["𬭼"] = "鐩", - ["𬭸"] = "鏻", - ["𬭶"] = "𨭆", - ["𬭳"] = "𨭎", - ["𬭯"] = "䥕", - ["𬭭"] = "鏚", - ["𬭬"] = "鏏", - ["𬭩"] = "鎓", - ["𬭤"] = "鍭", - ["𬭛"] = "𨨏", - ["𬭚"] = "錞", - ["𬭎"] = "鋐", - ["𬭊"] = "𨧀", - ["𬭁"] = "鉧", - ["𬬿"] = "鉊", - ["𬬻"] = "鑪", - ["𬬹"] = "鉮", - ["𬬸"] = "鉥", - ["𬬱"] = "釿", - ["𬬮"] = "鋹", - ["𬬭"] = "錀", - ["𬬩"] = "釴", - ["𬪩"] = "醲", - ["𬩽"] = "鄩", - ["𬨎"] = "輶", - ["𬨂"] = "軝", - ["𬤝"] = "譓", - ["𬤊"] = "諟", - ["𬤇"] = "諲", - ["𬣳"] = "詪", - ["𬣡"] = "諓", - ["𬣞"] = "詝", - ["𬣙"] = "訏", - ["𬟽"] = "蝀", - ["𬟁"] = "虉", - ["𬞟"] = "蘋", - ["𬜯"] = "䓣", - ["𬜬"] = "蔄", - ["𬙋"] = "纕", - ["𬙊"] = "纆", - ["𬙂"] = "縯", - ["𬘯"] = "綧", - ["𬘭"] = "綝", - ["𬘬"] = "綪", - ["𬘫"] = "綄", - ["𬘩"] = "綎", - ["𬘡"] = "絪", - ["𬘘"] = "紞", - ["𬘓"] = "紃", - ["𬕂"] = "篢", - ["𬒗"] = "𥗽", - ["𬒈"] = "礐", - ["𬍤"] = "璕", - ["𣗊"] = "樠", - ["𣗙"] = "㰙", - ["𣘓"] = "𣞻", - ["𣘷"] = "𣝕", - ["𬉼"] = "熰", - ["𬇹"] = "漍", - ["𬇙"] = "浿", - ["𬇕"] = "澫", - ["𬃊"] = "櫍", - ["𬂩"] = "梜", - ["𬀪"] = "晛", - ["𬀩"] = "暐", - ["𫸩"] = "彄", - ["𫷷"] = "廞", - ["𫶇"] = "嵽", - ["𫵷"] = "㠣", - ["𫰛"] = "娙", - ["𫮃"] = "墠", - ["𫭼"] = "𡑍", - ["𫭢"] = "埨", - ["𦈋"] = "綇", - ["𫬐"] = "㘔", - ["𫫇"] = "噁", - ["𫧮"] = "𪋿", - ["𫧃"] = "𣍐", - ["𫢸"] = "僤", - ["𫠜"] = "齯", - ["𫠖"] = "𩿅", - ["𫠒"] = "鱆", - ["𫠑"] = "䱸", - ["𫠐"] = "魽", - ["𫠏"] = "𩵦", - ["𫠌"] = "𩦠", - ["𫠋"] = "騼", - ["𫠊"] = "䮄", - ["𫠈"] = "䫾", - ["𫠇"] = "𩖰", - ["𫠆"] = "頍", - ["𫠅"] = "韚", - ["𫠂"] = "閝", - ["𫠁"] = "鑉", - ["𫠀"] = "䥄", - ["𫟿"] = "鎈", - ["𫟾"] = "𨩰", - ["𫟽"] = "𨧰", - ["𫟼"] = "鐽", - ["𫟻"] = "銂", - ["𫟺"] = "䤤", - ["𫟹"] = "鉷", - ["𫟸"] = "鉽", - ["𫟷"] = "鉝", - ["𫟶"] = "銏", - ["𫟵"] = "鈗", - ["𫟴"] = "鈖", - ["𫟳"] = "釲", - ["𫟲"] = "釚", - ["𫟬"] = "𨟊", - ["𫟫"] = "𨞺", - ["纭"] = "紜", - ["𫟦"] = "䡵", - ["𫟥"] = "䡩", - ["纮"] = "紘", - ["𫟤"] = "䡐", - ["𫟢"] = "䜖", - ["纯"] = "純", - ["𫟡"] = "誴", - ["𫟠"] = "譂", - ["纰"] = "紕", - ["𫟟"] = "詊", - ["𫟞"] = "訨", - ["纱"] = "紗", - ["𫟕"] = "䕤", - ["𫟑"] = "䖅", - ["纲"] = "綱", - ["𫟇"] = "𦆲", - ["𫟆"] = "緟", - ["纳"] = "納", - ["𫟅"] = "綡", - ["镯"] = "鐲", - ["纴"] = "紝", - ["𫟄"] = "綋", - ["镰"] = "鐮", - ["纵"] = "縱", - ["𫟃"] = "絍", - ["镱"] = "鐿", - ["纶"] = "綸", - ["𫞷"] = "𥢶", - ["镲"] = "鑔", - ["纷"] = "紛", - ["𫞩"] = "璊", - ["镳"] = "鑣", - ["纸"] = "紙", - ["𫞨"] = "璼", - ["镴"] = "鑞", - ["摅"] = "攄", - ["𫞧"] = "𤩂", - ["镵"] = "鑱", - ["摆"] = "擺", - ["𫞦"] = "璾", - ["镶"] = "鑲", - ["摇"] = "搖", - ["𫞥"] = "珼", - ["长"] = "長", - ["摈"] = "擯", - ["𫞣"] = "㹽", - ["门"] = "門", - ["摊"] = "攤", - ["𫞢"] = "𤛱", - ["闩"] = "閂", - ["撄"] = "攖", - ["𫞡"] = "爃", - ["闪"] = "閃", - ["撑"] = "撐", - ["𫞠"] = "爧", - ["闫"] = "閆", - ["撵"] = "攆", - ["𫞝"] = "灍", - ["闬"] = "閈", - ["撷"] = "擷", - ["𫞛"] = "㶆", - ["闭"] = "閉", - ["撸"] = "擼", - ["𫞚"] = "澬", - ["问"] = "問", - ["撺"] = "攛", - ["𫞗"] = "潣", - ["闯"] = "闖", - ["擜"] = "㩵", - ["馒"] = "饅", - ["闰"] = "閏", - ["擞"] = "擻", - ["脓"] = "膿", - ["闱"] = "闈", - ["细"] = "細", - ["铈"] = "鈰", - ["闲"] = "閒", - ["织"] = "織", - ["铚"] = "銍", - ["闳"] = "閎", - ["终"] = "終", - ["铥"] = "銩", - ["间"] = "間", - ["绉"] = "縐", - ["𨸎"] = "𨷲", - ["闵"] = "閔", - ["绊"] = "絆", - ["𣞎"] = "𣠩", - ["闶"] = "閌", - ["绋"] = "紼", - ["𣭤"] = "𣯴", - ["闷"] = "悶", - ["绌"] = "絀", - ["𣱝"] = "氭", - ["闸"] = "閘", - ["绍"] = "紹", - ["盖"] = "蓋", - ["闹"] = "鬧", - ["绎"] = "繹", - ["盗"] = "盜", - ["闺"] = "閨", - ["经"] = "經", - ["盘"] = "盤", - ["闻"] = "聞", - ["绐"] = "紿", - ["眍"] = "瞘", - ["闼"] = "闥", - ["绑"] = "綁", - ["眦"] = "眥", - ["闽"] = "閩", - ["绒"] = "絨", - ["眬"] = "矓", - ["闾"] = "閭", - ["结"] = "結", - ["睁"] = "睜", - ["闿"] = "闓", - ["绔"] = "絝", - ["睐"] = "睞", - ["阀"] = "閥", - ["绕"] = "繞", - ["睑"] = "瞼", - ["阁"] = "閣", - ["绖"] = "絰", - ["瞆"] = "瞶", - ["阂"] = "閡", - ["绗"] = "絎", - ["𣲘"] = "潕", - ["阃"] = "閫", - ["绘"] = "繪", - ["𣶩"] = "澅", - ["阄"] = "鬮", - ["给"] = "給", - ["𣶭"] = "𪷓", - ["阅"] = "閱", - ["绚"] = "絢", - ["𣸣"] = "濆", - ["阆"] = "閬", - ["绛"] = "絳", - ["𤽯"] = "㿧", - ["阇"] = "闍", - ["络"] = "絡", - ["𤿲"] = "麬", - ["𫍤"] = "譑", - ["绝"] = "絕", - ["𥅘"] = "𥌃", - ["𫍥"] = "誂", - ["绞"] = "絞", - ["𥅿"] = "𥊝", - ["𫍦"] = "譨", - ["统"] = "統", - ["𥇢"] = "䁪", - ["𫍧"] = "誺", - ["绠"] = "綆", - ["𥐟"] = "礒", - ["𫍨"] = "誫", - ["绡"] = "綃", - ["𥐰"] = "𥕥", - ["𫍩"] = "諣", - ["绢"] = "絹", - ["𥞦"] = "𥞵", - ["𫍪"] = "誋", - ["绣"] = "繡", - ["𦈈"] = "𥿊", - ["𫍫"] = "䛳", - ["绤"] = "綌", - ["𦈉"] = "緷", - ["𫍬"] = "誷", - ["绥"] = "綏", - ["𦈌"] = "綀", - ["𫍭"] = "𧩕", - ["绦"] = "絛", - ["𦈎"] = "繟", - ["𫍮"] = "誳", - ["继"] = "繼", - ["𦈏"] = "緍", - ["屦"] = "屨", - ["绨"] = "綈", - ["𫜕"] = "𪍠", - ["屿"] = "嶼", - ["绩"] = "績", - ["𫜔"] = "䴽", - ["岁"] = "歲", - ["绪"] = "緒", - ["𫜓"] = "𪌭", - ["岂"] = "豈", - ["绫"] = "綾", - ["𫜒"] = "䴱", - ["岖"] = "嶇", - ["𫜑"] = "麷", - ["𫜊"] = "𪉸", - ["𫍴"] = "謱", - ["𫜅"] = "䴋", - ["𫜄"] = "鷷", - ["𫍵"] = "謸", - ["𫜃"] = "鷣", - ["𫜂"] = "𪅂", - ["𫍶"] = "𧩼", - ["𫜁"] = "鷩", - ["𫜀"] = "鷐", - ["𫍷"] = "謉", - ["𫛾"] = "𪆷", - ["𫛽"] = "鷅", - ["𫍸"] = "謆", - ["𫛼"] = "䳫", - ["𫛻"] = "𪃒", - ["𫍹"] = "謯", - ["𫛺"] = "䳧", - ["𫛹"] = "𪃧", - ["𫍺"] = "𧫝", - ["𫛸"] = "鶗", - ["𫛷"] = "鶦", - ["𫍻"] = "譆", - ["𫛶"] = "鶒", - ["𫛵"] = "鶌", - ["𫍼"] = "𧬤", - ["𫛴"] = "鷤", - ["𫛳"] = "鵩", - ["𫍽"] = "譞", - ["𫛲"] = "鵰", - ["𫎭"] = "䞓", - ["𫍾"] = "𧭈", - ["𫛱"] = "鵫", - ["𫎱"] = "䟐", - ["𫍿"] = "譾", - ["𫛰"] = "䳢", - ["𫎆"] = "豵", - ["𫛯"] = "鶭", - ["𫛮"] = "䳤", - ["𫎌"] = "貗", - ["𫛭"] = "鵟", - ["𫛬"] = "䳜", - ["𫎦"] = "贚", - ["𫛫"] = "鶰", - ["𫛪"] = "鴽", - ["𫎧"] = "䝭", - ["𫛩"] = "鴳", - ["𫛨"] = "鵧", - ["𫎨"] = "𧸘", - ["𫛧"] = "𪀖", - ["𫛦"] = "鴮", - ["𫎩"] = "賝", - ["𫛥"] = "鵊", - ["𫛤"] = "鴐", - ["𫎪"] = "䞋", - ["𫛣"] = "鴥", - ["𫛢"] = "鸋", - ["𫎫"] = "贉", - ["𫛡"] = "鴔", - ["𫛠"] = "𩿤", - ["𫎬"] = "贑", - ["𫛟"] = "鸗", - ["𫛞"] = "鴃", - ["𫏕"] = "𨆪", - ["𫛝"] = "鴅", - ["𫛜"] = "鴀", - ["𫏞"] = "𨇰", - ["𫛛"] = "鳷", - ["𫛚"] = "鳽", - ["𫏨"] = "𨇤", - ["𫚭"] = "鱲", - ["𫚬"] = "𩼶", - ["𫐄"] = "軏", - ["𫚫"] = "鱢", - ["𫚪"] = "鱊", - ["𫐅"] = "軕", - ["𫚩"] = "𩻬", - ["𫚨"] = "𩻗", - ["𫐆"] = "轣", - ["𫚧"] = "鰽", - ["𫚦"] = "鰫", - ["𫐇"] = "軜", - ["𫚥"] = "鰕", - ["𫚤"] = "鰦", - ["𫐈"] = "軷", - ["𫚣"] = "鯾", - ["𫚢"] = "鰋", - ["𫐉"] = "軨", - ["𫚡"] = "鯞", - ["𫚠"] = "䱧", - ["𫐊"] = "軬", - ["𫚟"] = "𩸡", - ["𫚞"] = "鯬", - ["𫐋"] = "𨎌", - ["𫚝"] = "𩸄", - ["𫚜"] = "䲅", - ["𫐌"] = "軿", - ["𫚛"] = "鮵", - ["𫚚"] = "鮿", - ["𫐍"] = "𨌈", - ["𫚙"] = "鯆", - ["𫚘"] = "𩻮", - ["𫐎"] = "輢", - ["𫚗"] = "鮯", - ["𫚖"] = "鮆", - ["𫐏"] = "輖", - ["𫚕"] = "鰤", - ["𫚔"] = "鮰", - ["𫐐"] = "輗", - ["𫚓"] = "鮤", - ["𫚒"] = "鮄", - ["𫐑"] = "輨", - ["𫚑"] = "鮅", - ["𫚐"] = "䱀", - ["𫐒"] = "輷", - ["𫚏"] = "䱁", - ["𫚎"] = "𩶁", - ["𫚍"] = "魵", - ["𫚌"] = "魦", - ["𫚋"] = "鱄", - ["𫚊"] = "鰑", - ["𫚉"] = "魟", - ["𫚈"] = "鱮", - ["𫙂"] = "𩯁", - ["𫘽"] = "鬠", - ["𫘱"] = "驨", - ["𫘰"] = "驙", - ["𫘯"] = "驓", - ["𫘮"] = "䮰", - ["𫘭"] = "騻", - ["𫘬"] = "騱", - ["𫘫"] = "騴", - ["𫘪"] = "騵", - ["𫘩"] = "騜", - ["𫘨"] = "騠", - ["𫘧"] = "騄", - ["𫘦"] = "騊", - ["𫘥"] = "騉", - ["𫘤"] = "騃", - ["𫘣"] = "駻", - ["𫘡"] = "駫", - ["𫘠"] = "駤", - ["𫘟"] = "駊", - ["𫘞"] = "駞", - ["𫘝"] = "駃", - ["𫘜"] = "馼", - ["𫘛"] = "馯", - ["𫗵"] = "饟", - ["𫗴"] = "饘", - ["𫗳"] = "𩝽", - ["𫗱"] = "䭑", - ["𫗰"] = "䭔", - ["𫗯"] = "餱", - ["𫗮"] = "餭", - ["𫇭"] = "蔿", - ["𫇴"] = "蒭", - ["𫇽"] = "蕽", - ["𫗩"] = "饠", - ["𫗨"] = "𩛡", - ["𫗧"] = "餗", - ["𫗦"] = "餔", - ["𫉁"] = "薆", - ["𫊪"] = "䗅", - ["𫊸"] = "蟜", - ["𫊻"] = "蟳", - ["𫋌"] = "蟘", - ["𫋷"] = "襗", - ["𫋻"] = "襘", - ["𫌇"] = "襵", - ["𫗚"] = "𩟗", - ["𪣒"] = "堚", - ["𫗋"] = "飋", - ["𫗊"] = "䬓", - ["𪣻"] = "塿", - ["𫗉"] = "𩗴", - ["𫌬"] = "𧢄", - ["𪤄"] = "𡓁", - ["𫌯"] = "䚩", - ["𫍙"] = "訑", - ["𪤚"] = "壣", - ["𫍛"] = "訜", - ["𫖸"] = "願", - ["𪥠"] = "𧹈", - ["𫖷"] = "𩔑", - ["𫖶"] = "顅", - ["𪥫"] = "孇", - ["𫖵"] = "𩓥", - ["𫖴"] = "𩔳", - ["𪥰"] = "嬣", - ["𫖳"] = "頵", - ["𫍰"] = "諰", - ["𪥿"] = "嬻", - ["𫍲"] = "謏", - ["𫎳"] = "䟆", - ["𪧀"] = "孾", - ["𫎺"] = "䟃", - ["𫏃"] = "䠆", - ["𪧘"] = "寠", - ["𫏆"] = "蹳", - ["𫏋"] = "蹻", - ["𪨊"] = "㞞", - ["𫏌"] = "𨂐", - ["𫏐"] = "蹔", - ["𪨗"] = "屩", - ["𫏑"] = "𨇽", - ["贳"] = "貰", - ["𪨧"] = "崙", - ["贺"] = "賀", - ["𫓧"] = "鈇", - ["𪨩"] = "𡸗", - ["𫓩"] = "鏦", - ["𫓫"] = "𨥟", - ["𪨶"] = "輋", - ["𫓭"] = "鉠", - ["𫓯"] = "銈", - ["𪨷"] = "巗", - ["𫓱"] = "鐈", - ["𫓳"] = "𨰋", - ["𪨹"] = "𡹬", - ["𫓵"] = "鋠", - ["𫓷"] = "𫒡", - ["𪩇"] = "㟺", - ["𫓹"] = "錤", - ["𫓻"] = "錜", - ["𪩎"] = "巊", - ["𫓽"] = "錝", - ["𫓿"] = "𨨢", - ["𪩘"] = "巘", - ["扬"] = "揚", - ["𫔁"] = "鐼", - ["𪩛"] = "𡿖", - ["扰"] = "擾", - ["侩"] = "儈", - ["𪩷"] = "幝", - ["折"] = "折", - ["侪"] = "儕", - ["抚"] = "撫", - ["𫔃"] = "𨰲", - ["侬"] = "儂", - ["抛"] = "拋", - ["𫔅"] = "鎍", - ["侭"] = "儘", - ["抟"] = "摶", - ["𫔆"] = "䥯", - ["俊"] = "俊", - ["抠"] = "摳", - ["俣"] = "俁", - ["𪪴"] = "𢍰", - ["抡"] = "掄", - ["俦"] = "儔", - ["𪪼"] = "彃", - ["抢"] = "搶", - ["俨"] = "儼", - ["𪫌"] = "徿", - ["护"] = "護", - ["俩"] = "倆", - ["𪫡"] = "𢤩", - ["报"] = "報", - ["俪"] = "儷", - ["𪫷"] = "㦞", - ["抵"] = "抵", - ["俫"] = "倈", - ["担"] = "擔", - ["𫔇"] = "鎞", - ["俭"] = "儉", - ["拐"] = "拐", - ["𫔉"] = "𨰃", - ["拟"] = "擬", - ["𫔋"] = "䥗", - ["借"] = "借", - ["拢"] = "攏", - ["债"] = "債", - ["𫔔"] = "鑴", - ["拣"] = "揀", - ["倾"] = "傾", - ["𫔓"] = "𨯟", - ["拥"] = "擁", - ["偬"] = "傯", - ["𫔒"] = "𨮳", - ["拦"] = "攔", - ["偻"] = "僂", - ["𫔑"] = "𨭖", - ["拧"] = "擰", - ["偾"] = "僨", - ["𫔐"] = "𨭸", - ["拨"] = "撥", - ["偿"] = "償", - ["𫔏"] = "𨬖", - ["择"] = "擇", - ["傤"] = "儎", - ["𫔎"] = "鐍", - ["挂"] = "掛", - ["傥"] = "儻", - ["𫔍"] = "鐇", - ["挚"] = "摯", - ["傧"] = "儐", - ["𫔌"] = "鏾", - ["𫔕"] = "𨰥", - ["储"] = "儲", - ["𫔊"] = "鏥", - ["𫔖"] = "𨲳", - ["傩"] = "儺", - ["𫔈"] = "鎙", - ["𫔭"] = "開", - ["僵"] = "僵", - ["𫔮"] = "閒", - ["儿"] = "兒", - ["𫔯"] = "閗", - ["𫔄"] = "鍒", - ["克"] = "克", - ["𫔰"] = "閞", - ["兑"] = "兌", - ["𫔂"] = "鍉", - ["𫔲"] = "𨴹", - ["兖"] = "兗", - ["𫔀"] = "鍊", - ["𫔴"] = "閵", - ["党"] = "黨", - ["𫓾"] = "錥", - ["𫔵"] = "䦯", - ["兰"] = "蘭", - ["𫓼"] = "𨨛", - ["𫔶"] = "闑", - ["关"] = "關", - ["𫓺"] = "鐪", - ["𫔽"] = "𨼳", - ["兴"] = "興", - ["𫓸"] = "錽", - ["𫕚"] = "𩀨", - ["兹"] = "茲", - ["𫓶"] = "鋗", - ["𫕥"] = "霣", - ["养"] = "養", - ["𫓴"] = "鉾", - ["𫕨"] = "𩅙", - ["兽"] = "獸", - ["𫓲"] = "銁", - ["𫖃"] = "靧", - ["冁"] = "囅", - ["𫓰"] = "銊", - ["𫖅"] = "䪊", - ["内"] = "內", - ["𫓮"] = "𨪕", - ["𫖇"] = "鞾", - ["㐽"] = "偑", - ["𫓬"] = "鉔", - ["𫖑"] = "𩎖", - ["㑇"] = "㑳", - ["𫓪"] = "鈆", - ["𫖒"] = "韠", - ["写"] = "寫", - ["𫓨"] = "鈛", - ["𫖓"] = "𩏂", - ["军"] = "軍", - ["玮"] = "瑋", - ["𫖔"] = "韛", - ["农"] = "農", - ["贶"] = "貺", - ["𫖕"] = "韝", - ["冬"] = "冬", - ["𫖖"] = "𩏠", - ["冯"] = "馮", - ["㓥"] = "劏", - ["𫖪"] = "𩑔", - ["冲"] = "衝", - ["㓰"] = "劃", - ["𫖫"] = "䪴", - ["决"] = "決", - ["㔉"] = "劚", - ["𫖬"] = "䪾", - ["况"] = "況", - ["㖊"] = "噚", - ["𫖭"] = "𩒎", - ["冻"] = "凍", - ["㖞"] = "喎", - ["𫖮"] = "顗", - ["净"] = "淨", - ["㘎"] = "㘚", - ["𫖯"] = "頫", - ["凄"] = "悽", - ["𫎸"] = "𧽯", - ["𫖰"] = "䫂", - ["准"] = "準", - ["𫍳"] = "諥", - ["𫖱"] = "䫀", - ["凉"] = "涼", - ["𫍱"] = "諯", - ["𫖲"] = "䫟", - ["凌"] = "凌", - ["𫍯"] = "諴", - ["减"] = "減", - ["瞒"] = "瞞", - ["𫍣"] = "詷", - ["凑"] = "湊", - ["瞩"] = "矚", - ["𫍢"] = "譊", - ["凛"] = "凜", - ["矩"] = "矩", - ["𫍡"] = "詑", - ["几"] = "幾", - ["𫍠"] = "䛄", - ["𫍟"] = "𧦧", - ["凤"] = "鳳", - ["𫍞"] = "𧦝", - ["𫍝"] = "諫", - ["凫"] = "鳧", - ["𫍜"] = "詓", - ["𫖹"] = "顣", - ["凭"] = "憑", - ["𫍚"] = "訞", - ["𫖺"] = "䫶", - ["凯"] = "凱", - ["𫍐"] = "𧭹", - ["𫗇"] = "䫻", - ["码"] = "碼", - ["𫌭"] = "覹", - ["𫗈"] = "𩗓", - ["出"] = "出", - ["𫌫"] = "𧡴", - ["击"] = "擊", - ["砗"] = "硨", - ["𫌪"] = "覛", - ["凿"] = "鑿", - ["砚"] = "硯", - ["𫌨"] = "覼", - ["刍"] = "芻", - ["砜"] = "碸", - ["𫌋"] = "𧞫", - ["划"] = "劃", - ["砺"] = "礪", - ["刘"] = "劉", - ["𫗞"] = "飦", - ["砻"] = "礱", - ["𫌀"] = "襀", - ["𫗟"] = "䬧", - ["砾"] = "礫", - ["𫋹"] = "襓", - ["𫗠"] = "餦", - ["础"] = "礎", - ["𫋲"] = "䙔", - ["𫗡"] = "𩚩", - ["硁"] = "硜", - ["𫋇"] = "蟂", - ["𫗢"] = "飵", - ["硕"] = "碩", - ["𫊹"] = "𧒯", - ["𫗣"] = "飶", - ["硖"] = "硤", - ["𫊮"] = "蠦", - ["𫗤"] = "𩛌", - ["硗"] = "磽", - ["𫉄"] = "藷", - ["𫗥"] = "餫", - ["硙"] = "磑", - ["𫈵"] = "蕝", - ["杀"] = "殺", - ["硚"] = "礄", - ["𫈟"] = "蔯", - ["杂"] = "雜", - ["确"] = "確", - ["𫈎"] = "葝", - ["权"] = "權", - ["硵"] = "磠", - ["𫈉"] = "蕳", - ["杆"] = "杆", - ["硷"] = "礆", - ["杠"] = "槓", - ["𫗪"] = "餧", - ["碍"] = "礙", - ["条"] = "條", - ["𫗫"] = "餬", - ["碛"] = "磧", - ["来"] = "來", - ["𫗬"] = "餪", - ["碜"] = "磣", - ["杨"] = "楊", - ["𫇪"] = "𦱌", - ["碱"] = "鹼", - ["杩"] = "榪", - ["𫇛"] = "艣", - ["礼"] = "禮", - ["杯"] = "杯", - ["𫇘"] = "𦧺", - ["祃"] = "禡", - ["𫆫"] = "𦡝", - ["𫆝"] = "𦟼", - ["松"] = "松", - ["𫆏"] = "聻", - ["板"] = "板", - ["祢"] = "禰", - ["极"] = "極", - ["𫅼"] = "𦔖", - ["祯"] = "禎", - ["构"] = "構", - ["𫅭"] = "䎙", - ["祷"] = "禱", - ["枞"] = "樅", - ["𫅥"] = "𦒀", - ["祸"] = "禍", - ["枢"] = "樞", - ["𫅗"] = "羵", - ["禀"] = "稟", - ["扣"] = "扣", - ["𫅅"] = "䍤", - ["禄"] = "祿", - ["枥"] = "櫪", - ["𫄹"] = "纗", - ["禅"] = "禪", - ["枧"] = "梘", - ["𬮱"] = "闉", - ["离"] = "離", - ["枨"] = "棖", - ["𬮿"] = "隑", - ["私"] = "私", - ["枪"] = "槍", - ["秃"] = "禿", - ["𫄶"] = "繈", - ["枫"] = "楓", - ["秆"] = "稈", - ["𫄵"] = "𦅈", - ["枭"] = "梟", - ["秋"] = "秋", - ["𫄴"] = "繂", - ["种"] = "種", - ["𬱟"] = "頠", - ["𫄲"] = "縸", - ["秘"] = "祕", - ["𬳵"] = "駓", - ["𫄰"] = "縍", - ["积"] = "積", - ["𬳶"] = "駉", - ["𫄮"] = "䋼", - ["栀"] = "梔", - ["𬳽"] = "駪", - ["𫄬"] = "緤", - ["栅"] = "柵", - ["𬳿"] = "駼", - ["𫄪"] = "𦅇", - ["标"] = "標", - ["𬴂"] = "騑", - ["𫄨"] = "絺", - ["栈"] = "棧", - ["𬴃"] = "騞", - ["𫄦"] = "𦀖", - ["栉"] = "櫛", - ["𬴊"] = "驎", - ["𫄤"] = "繨", - ["栊"] = "櫳", - ["𬶋"] = "鮈", - ["𫄢"] = "絥", - ["栋"] = "棟", - ["𬶍"] = "鮀", - ["𫄠"] = "絙", - ["栌"] = "櫨", - ["𬶏"] = "鮠", - ["𫄞"] = "䋔", - ["栎"] = "櫟", - ["𬶐"] = "鮡", - ["𫄜"] = "䋃", - ["栏"] = "欄", - ["𬶟"] = "鯻", - ["𫄚"] = "䊺", - ["树"] = "樹", - ["𬶠"] = "鰊", - ["𫃗"] = "𩏷", - ["栖"] = "棲", - ["𬶨"] = "鱀", - ["𫂖"] = "𥴨", - ["栗"] = "栗", - ["𬶭"] = "鰶", - ["样"] = "樣", - ["𫂆"] = "簂", - ["𬶮"] = "鱚", - ["核"] = "核", - ["𫁺"] = "𥴼", - ["栾"] = "欒", - ["𫁷"] = "䉶", - ["𫁳"] = "𥯤", - ["桠"] = "椏", - ["𫁲"] = "䉑", - ["𫁱"] = "𥶽", - ["桡"] = "橈", - ["𫁡"] = "鴗", - ["𫁟"] = "竱", - ["桢"] = "楨", - ["𫁂"] = "䆉", - ["𫀮"] = "𥢷", - ["档"] = "檔", - ["𫀬"] = "䅳", - ["鬶"] = "鬹", - ["桤"] = "榿", - ["骦"] = "驦", - ["骠"] = "驃", - ["桥"] = "橋", - ["骛"] = "騖", - ["骗"] = "騙", - ["桦"] = "樺", - ["骓"] = "騅", - ["骏"] = "駿", - ["桧"] = "檜", - ["骋"] = "騁", - ["马"] = "馬", - ["桨"] = "槳", - ["鳒"] = "鰜", - ["𢫞"] = "𢶫", - ["桩"] = "樁", - ["𢬍"] = "擫", - ["𢭏"] = "擣", - ["桪"] = "樳", - ["𣃁"] = "斸", - ["𣈣"] = "𣋋", - ["梁"] = "梁", - ["𣍯"] = "腪", - ["梦"] = "夢", - ["𰾄"] = "鋂", - ["𣐕"] = "桱", - ["梼"] = "檮", - ["𰾭"] = "鑀", - ["𣓿"] = "橯", - ["梾"] = "棶", - ["𱊜"] = "𪈼", - ["𪻺"] = "璝", - ["梿"] = "槤", - ["𪻲"] = "瑻", - ["𪻨"] = "瓄", - ["𪻐"] = "瑽", - ["𪺽"] = "猌", - ["𪺻"] = "㺜", - ["𪺸"] = "𤠮", - ["𪺷"] = "獊", - ["𪺭"] = "犞", - ["𪺪"] = "𤜆", - ["𪺣"] = "𤘀", - ["𪹹"] = "𤒻", - ["𪹳"] = "爥", - ["𪹠"] = "𤓌", - ["𪹀"] = "𤑹", - ["态"] = "態", - ["园"] = "園", - ["怂"] = "慫", - ["剀"] = "剴", - ["怃"] = "憮", - ["彩"] = "彩", - ["怄"] = "慪", - ["伧"] = "傖", - ["怅"] = "悵", - ["吗"] = "嗎", - ["参"] = "參", - ["呜"] = "嗚", - ["坚"] = "堅", - ["县"] = "縣", - ["壮"] = "壯", - ["𪲔"] = "欐", - ["𪲎"] = "櫅", - ["𪱷"] = "梖", - ["𪱥"] = "膹", - ["𪰶"] = "曊", - ["𪯋"] = "㪎", - ["墙"] = "牆", - ["𪮳"] = "𢺳", - ["𪮖"] = "撧", - ["𪮋"] = "㩋", - ["𪮃"] = "㨻", - ["𪭾"] = "撊", - ["𪭵"] = "掚", - ["𪭯"] = "𢶒", - ["𣺽"] = "𤁣", - ["𪭧"] = "擟", - ["𪭢"] = "摐", - ["𣽷"] = "瀃", - ["𪭝"] = "𢯷", - ["𪬯"] = "𢤿", - ["𤆡"] = "熓", - ["𪬚"] = "𢣐", - ["𪫺"] = "憸", - ["𤆢"] = "㷍", - ["𪪞"] = "廧", - ["𪪑"] = "㢗", - ["𤇃"] = "爄", - ["𪪏"] = "廬", - ["𪩸"] = "幩", - ["𤇄"] = "熌", - ["𪣆"] = "埬", - ["𪢸"] = "墲", - ["𤇭"] = "爖", - ["𪢮"] = "圞", - ["𪢠"] = "囒", - ["𤇹"] = "熚", - ["𪢖"] = "𡅯", - ["𪢕"] = "嚽", - ["𤈶"] = "熉", - ["𪢒"] = "𡂡", - ["𪢐"] = "𡃤", - ["𤈷"] = "㷿", - ["𪢌"] = "㘓", - ["𪡺"] = "𡃄", - ["𤊀"] = "𤒎", - ["𪡞"] = "嘳", - ["𪡛"] = "㗿", - ["𤊰"] = "𤓩", - ["𪡏"] = "嗹", - ["𪡋"] = "噞", - ["𤋏"] = "熡", - ["𪡃"] = "嘪", - ["𪡀"] = "嘺", - ["𤎺"] = "𤓎", - ["𪠽"] = "噹", - ["𪠺"] = "𠽃", - ["𤎻"] = "𤑳", - ["𪠸"] = "嚛", - ["𪠵"] = "㖮", - ["𤙯"] = "𤛮", - ["𪠳"] = "唓", - ["𪠡"] = "𠬙", - ["𤝢"] = "𤢟", - ["𪠟"] = "㓄", - ["𪠀"] = "𧷎", - ["𤞃"] = "獩", - ["𪟝"] = "勣", - ["𪟎"] = "㔋", - ["𤞤"] = "玁", - ["𪞝"] = "凙", - ["𪜎"] = "𠿕", - ["𤠋"] = "㺏", - ["𪚐"] = "𪘯", - ["𪚏"] = "𪘀", - ["𤦀"] = "瓕", - ["𪔭"] = "𪔵", - ["缳"] = "繯", - ["𤩽"] = "瓛", - ["𪑅"] = "䵳", - ["缴"] = "繳", - ["𤳄"] = "𤳸", - ["𪎌"] = "麳", - ["缵"] = "纘", - ["𤶊"] = "癐", - ["𪎋"] = "䴴", - ["罂"] = "罌", - ["𤶧"] = "𤸫", - ["𪎊"] = "麨", - ["网"] = "網", - ["𤻊"] = "㿗", - ["𪎉"] = "麲", - ["罗"] = "羅", - ["称"] = "稱", - ["𪎈"] = "䴬", - ["罚"] = "罰", - ["秽"] = "穢", - ["𪉕"] = "𪇳", - ["罢"] = "罷", - ["秾"] = "穠", - ["𪉔"] = "𪄆", - ["罴"] = "羆", - ["稆"] = "穭", - ["𪉒"] = "𪄕", - ["羁"] = "羈", - ["税"] = "稅", - ["𪉑"] = "鷔", - ["羟"] = "羥", - ["稣"] = "穌", - ["𪉐"] = "𪃍", - ["羡"] = "羨", - ["稳"] = "穩", - ["𪉏"] = "𪃏", - ["群"] = "羣", - ["穑"] = "穡", - ["𪉎"] = "𪂆", - ["翘"] = "翹", - ["穞"] = "穭", - ["𪉍"] = "鵚", - ["翙"] = "翽", - ["奁"] = "奩", - ["𪉌"] = "𪁖", - ["翚"] = "翬", - ["奂"] = "奐", - ["𪉋"] = "𪀾", - ["耢"] = "耮", - ["奋"] = "奮", - ["𪉊"] = "鷨", - ["耧"] = "耬", - ["奖"] = "獎", - ["鸳"] = "鴛", - ["窑"] = "窯", - ["奥"] = "奧", - ["鸬"] = "鸕", - ["窜"] = "竄", - ["奸"] = "奸", - ["鸨"] = "鴇", - ["窝"] = "窩", - ["𥧂"] = "𥨐", - ["鳙"] = "鱅", - ["窥"] = "窺", - ["𥩟"] = "竚", - ["鳗"] = "鰻", - ["职"] = "職", - ["𥩺"] = "𥪂", - ["鳕"] = "鱈", - ["窭"] = "窶", - ["𥫣"] = "籅", - ["鳓"] = "鰳", - ["竖"] = "豎", - ["𥬀"] = "䉙", - ["鳑"] = "鰟", - ["竞"] = "競", - ["𥬞"] = "籋", - ["鳏"] = "鰥", - ["笃"] = "篤", - ["𥬠"] = "篘", - ["鳍"] = "鰭", - ["笋"] = "筍", - ["𥭉"] = "𥵊", - ["姹"] = "奼", - ["笔"] = "筆", - ["𥮋"] = "𥸠", - ["娄"] = "婁", - ["笕"] = "筧", - ["𥮜"] = "䉲", - ["娅"] = "婭", - ["笺"] = "箋", - ["𥮾"] = "篸", - ["娆"] = "嬈", - ["笼"] = "籠", - ["𥱔"] = "𥵃", - ["娇"] = "嬌", - ["笾"] = "籩", - ["𥹥"] = "𥼽", - ["娈"] = "孌", - ["筑"] = "築", - ["𥺅"] = "䊭", - ["娘"] = "娘", - ["筚"] = "篳", - ["娱"] = "娛", - ["鳋"] = "鰠", - ["筛"] = "篩", - ["娲"] = "媧", - ["鳉"] = "鱂", - ["筜"] = "簹", - ["娴"] = "嫺", - ["鳇"] = "鰉", - ["筝"] = "箏", - ["婳"] = "嫿", - ["鳅"] = "鰍", - ["筹"] = "籌", - ["婴"] = "嬰", - ["鳃"] = "鰓", - ["筼"] = "篔", - ["婵"] = "嬋", - ["鳁"] = "鰮", - ["签"] = "籤", - ["婶"] = "嬸", - ["鲿"] = "鱨", - ["筿"] = "篠", - ["媪"] = "媼", - ["讱"] = "訒", - ["简"] = "簡", - ["媭"] = "嬃", - ["讲"] = "講", - ["箓"] = "籙", - ["嫒"] = "嬡", - ["讳"] = "諱", - ["箦"] = "簀", - ["嫔"] = "嬪", - ["讴"] = "謳", - ["箧"] = "篋", - ["嫱"] = "嬙", - ["讵"] = "詎", - ["箨"] = "籜", - ["嬷"] = "嬤", - ["讶"] = "訝", - ["箩"] = "籮", - ["孙"] = "孫", - ["讷"] = "訥", - ["箪"] = "簞", - ["学"] = "學", - ["许"] = "許", - ["箫"] = "簫", - ["孪"] = "孿", - ["讹"] = "訛", - ["篑"] = "簣", - ["宁"] = "寧", - ["论"] = "論", - ["篓"] = "簍", - ["它"] = "它", - ["讻"] = "訩", - ["篮"] = "籃", - ["𦈛"] = "繓", - ["讼"] = "訟", - ["篯"] = "籛", - ["雠"] = "讎", - ["讽"] = "諷", - ["篱"] = "籬", - ["雳"] = "靂", - ["设"] = "設", - ["簖"] = "籪", - ["雾"] = "霧", - ["访"] = "訪", - ["籁"] = "籟", - ["霁"] = "霽", - ["诀"] = "訣", - ["籴"] = "糴", - ["霉"] = "黴", - ["证"] = "證", - ["类"] = "類", - ["霡"] = "霢", - ["诂"] = "詁", - ["籼"] = "秈", - ["霭"] = "靄", - ["诃"] = "訶", - ["粜"] = "糶", - ["鲳"] = "鯧", - ["评"] = "評", - ["粝"] = "糲", - ["鲱"] = "鯡", - ["诅"] = "詛", - ["粤"] = "粵", - ["鲯"] = "鯕", - ["识"] = "識", - ["粪"] = "糞", - ["鲭"] = "鯖", - ["诇"] = "詗", - ["粮"] = "糧", - ["鲫"] = "鯽", - ["诈"] = "詐", - ["粽"] = "糉", - ["鲩"] = "鯇", - ["诉"] = "訴", - ["糁"] = "糝", - ["鲧"] = "鯀", - ["诊"] = "診", - ["糇"] = "餱", - ["鲥"] = "鰣", - ["诋"] = "詆", - ["糍"] = "餈", - ["鲣"] = "鰹", - ["诌"] = "謅", - ["系"] = "系", - ["鲡"] = "鱺", - ["词"] = "詞", - ["鲵"] = "鯢", - ["鲟"] = "鱘", - ["诎"] = "詘", - ["鲶"] = "鯰", - ["鲝"] = "鮺", - ["诏"] = "詔", - ["鲷"] = "鯛", - ["鲛"] = "鮫", - ["诐"] = "詖", - ["鲸"] = "鯨", - ["鲙"] = "鱠", - ["译"] = "譯", - ["鲹"] = "鰺", - ["层"] = "層", - ["诒"] = "詒", - ["鲺"] = "鯴", - ["屃"] = "屓", - ["诓"] = "誆", - ["鲻"] = "鯔", - ["屉"] = "屜", - ["诔"] = "誄", - ["鲼"] = "鱝", - ["届"] = "屆", - ["试"] = "試", - ["鲽"] = "鰈", - ["属"] = "屬", - ["诖"] = "詿", - ["鲾"] = "鰏", - ["屡"] = "屢", - ["诗"] = "詩", - ["鲗"] = "鰂", - ["鲕"] = "鮞", - ["诘"] = "詰", - ["鲓"] = "鮳", - ["𩨐"] = "𩧆", - ["诙"] = "詼", - ["𩨏"] = "䮳", - ["𩨎"] = "龭", - ["诚"] = "誠", - ["𩨍"] = "𩥇", - ["𩨌"] = "𩥑", - ["诛"] = "誅", - ["𩨋"] = "𩥄", - ["𩨊"] = "騚", - ["诜"] = "詵", - ["𩨉"] = "𩤲", - ["鲑"] = "鮭", - ["话"] = "話", - ["鲏"] = "鮍", - ["鲍"] = "鮑", - ["诞"] = "誕", - ["鲋"] = "鮒", - ["鲉"] = "鮋", - ["诟"] = "詬", - ["鲇"] = "鮎", - ["𩨂"] = "驄", - ["诠"] = "詮", - ["𩨁"] = "䮞", - ["𩨀"] = "騔", - ["诡"] = "詭", - ["𩧿"] = "䮠", - ["𩧼"] = "𩣺", - ["询"] = "詢", - ["𩧻"] = "𩣵", - ["𩧺"] = "駶", - ["诣"] = "詣", - ["𩧸"] = "𩣫", - ["𩧶"] = "𩣏", - ["诤"] = "諍", - ["𩧵"] = "𩢴", - ["𩧴"] = "駩", - ["该"] = "該", - ["𩧳"] = "𩢸", - ["𩧲"] = "駧", - ["详"] = "詳", - ["𩧱"] = "𩥉", - ["𩧰"] = "䮝", - ["诧"] = "詫", - ["𩧯"] = "驋", - ["𩧮"] = "𩢾", - ["诨"] = "諢", - ["𩧭"] = "䭿", - ["𩧬"] = "𩢡", - ["诩"] = "詡", - ["𩧫"] = "駚", - ["𩧪"] = "䮾", - ["诪"] = "譸", - ["𩧩"] = "𩤊", - ["𩧨"] = "駎", - ["诫"] = "誡", - ["𩧦"] = "𩡺", - ["𩡖"] = "𩡣", - ["诬"] = "誣", - ["𩠠"] = "𩠴", - ["𩠏"] = "𩞦", - ["语"] = "語", - ["𩠎"] = "𩞄", - ["𩠌"] = "餸", - ["诮"] = "誚", - ["𩠋"] = "𩝔", - ["𩠊"] = "𩜵", - ["误"] = "誤", - ["𩠉"] = "𩜇", - ["𩠈"] = "䭃", - ["诰"] = "誥", - ["𩠇"] = "䭀", - ["𩠆"] = "𩜦", - ["诱"] = "誘", - ["𩠅"] = "𩟐", - ["𩠃"] = "𩛩", - ["诲"] = "誨", - ["𩠂"] = "𩛆", - ["𩠁"] = "𩚵", - ["诳"] = "誑", - ["𩠀"] = "𩚥", - ["𩟿"] = "𩚛", - ["说"] = "說", - ["𩙰"] = "𩙈", - ["𩙯"] = "䬝", - ["诵"] = "誦", - ["𩙮"] = "䬘", - ["𩙭"] = "𩘝", - ["诶"] = "誒", - ["𩙬"] = "𩘺", - ["𩙫"] = "颾", - ["请"] = "請", - ["𩙪"] = "颷", - ["𩙩"] = "𩘀", - ["诸"] = "諸", - ["𩙨"] = "𩘹", - ["厩"] = "廄", - ["卷"] = "卷", - ["埚"] = "堝", - ["埙"] = "壎", - ["剧"] = "劇", - ["垴"] = "堖", - ["穷"] = "窮", - ["𩐀"] = "䪗", - ["𩏿"] = "䪘", - ["𩏾"] = "𩎢", - ["𩏽"] = "𩏪", - ["𩏼"] = "䪏", - ["𨸟"] = "䧢", - ["𨸘"] = "𨽏", - ["𫝫"] = "婡", - ["𨸌"] = "𨶮", - ["𨸋"] = "𨶲", - ["𫝬"] = "嬇", - ["铣"] = "銑", - ["铠"] = "鎧", - ["𫝭"] = "孆", - ["电"] = "電", - ["狝"] = "獮", - ["𫝮"] = "孄", - ["沣"] = "灃", - ["锛"] = "錛", - ["𫝵"] = "嶹", - ["馐"] = "饈", - ["锜"] = "錡", - ["𫞅"] = "𦠅", - ["馔"] = "饌", - ["锝"] = "鍀", - ["𨱕"] = "𨮂", - ["𨱔"] = "鐏", - ["锞"] = "錁", - ["𨱓"] = "鐎", - ["𨱒"] = "鏉", - ["锟"] = "錕", - ["𨱑"] = "鐄", - ["𨱐"] = "𨫒", - ["锠"] = "錩", - ["𨱏"] = "鎝", - ["𨱎"] = "鍮", - ["锡"] = "錫", - ["𨱍"] = "鎯", - ["𨱌"] = "鏆", - ["锢"] = "錮", - ["𨱋"] = "錂", - ["𨱊"] = "𨧱", - ["锣"] = "鑼", - ["𨱉"] = "鍄", - ["𨱈"] = "鋉", - ["锤"] = "錘", - ["𨱇"] = "銶", - ["𨱆"] = "龯", - ["锥"] = "錐", - ["𨱅"] = "鉁", - ["𨱄"] = "鈯", - ["锦"] = "錦", - ["𨱃"] = "鈲", - ["𨱂"] = "鈋", - ["锧"] = "鑕", - ["𨱁"] = "鈠", - ["𨱀"] = "𨥛", - ["锨"] = "鍁", - ["𨰿"] = "釳", - ["𨰾"] = "鎷", - ["锩"] = "錈", - ["𨤰"] = "𨤻", - ["𨡺"] = "𨣈", - ["锪"] = "鍃", - ["𨡙"] = "𨢿", - ["𨠨"] = "𨣧", - ["锫"] = "錇", - ["𨟳"] = "𨣞", - ["𨑹"] = "䢨", - ["锬"] = "錟", - ["𨐊"] = "𨏥", - ["𨐉"] = "𨎮", - ["锭"] = "錠", - ["𨐈"] = "輄", - ["𨐇"] = "𨏠", - ["键"] = "鍵", - ["𨐆"] = "𨊻", - ["𨐅"] = "軗", - ["锯"] = "鋸", - ["趋"] = "趨", - ["𨉗"] = "軉", - ["锰"] = "錳", - ["趱"] = "趲", - ["𨅬"] = "躝", - ["锱"] = "錙", - ["趸"] = "躉", - ["𨅫"] = "𨇞", - ["锲"] = "鍥", - ["跃"] = "躍", - ["𨅛"] = "䠱", - ["锳"] = "鍈", - ["跄"] = "蹌", - ["𨄄"] = "𨈌", - ["锹"] = "鍬", - ["跖"] = "蹠", - ["𨂺"] = "𨈊", - ["锺"] = "鍾", - ["跞"] = "躒", - ["锻"] = "鍛", - ["𨁴"] = "𨅍", - ["践"] = "踐", - ["锼"] = "鎪", - ["𨀱"] = "𨄣", - ["跶"] = "躂", - ["锽"] = "鍠", - ["𨀁"] = "躘", - ["跷"] = "蹺", - ["锾"] = "鍰", - ["𧿈"] = "𨇁", - ["跸"] = "蹕", - ["锿"] = "鎄", - ["𧹗"] = "贃", - ["跹"] = "躚", - ["镀"] = "鍍", - ["𧹖"] = "賟", - ["跻"] = "躋", - ["镁"] = "鎂", - ["𧹕"] = "䝻", - ["踌"] = "躊", - ["镂"] = "鏤", - ["鹱"] = "鸌", - ["踪"] = "蹤", - ["镃"] = "鎡", - ["鹳"] = "鸛", - ["踬"] = "躓", - ["镄"] = "鐨", - ["鹴"] = "鸘", - ["踯"] = "躑", - ["镅"] = "鎇", - ["鹾"] = "鹺", - ["蹑"] = "躡", - ["镆"] = "鏌", - ["麦"] = "麥", - ["蹒"] = "蹣", - ["镇"] = "鎮", - ["麸"] = "麩", - ["蹰"] = "躕", - ["镈"] = "鎛", - ["麹"] = "麴", - ["蹿"] = "躥", - ["镉"] = "鎘", - ["麺"] = "麪", - ["躏"] = "躪", - ["镊"] = "鑷", - ["麽"] = "麼", - ["躜"] = "躦", - ["镋"] = "钂", - ["镥"] = "鑥", - ["躯"] = "軀", - ["镌"] = "鐫", - ["镩"] = "鑹", - ["輼"] = "轀", - ["镍"] = "鎳", - ["镭"] = "鐳", - ["车"] = "車", - ["镎"] = "鎿", - ["阊"] = "閶", - ["轧"] = "軋", - ["镏"] = "鎦", - ["阎"] = "閻", - ["轨"] = "軌", - ["镐"] = "鎬", - ["阒"] = "闃", - ["轩"] = "軒", - ["镑"] = "鎊", - ["阖"] = "闔", - ["轪"] = "軑", - ["镒"] = "鎰", - ["鼌"] = "鼂", - ["轫"] = "軔", - ["镓"] = "鎵", - ["鼍"] = "鼉", - ["转"] = "轉", - ["镔"] = "鑌", - ["鼹"] = "鼴", - ["轭"] = "軛", - ["镕"] = "鎔", - ["齐"] = "齊", - ["轮"] = "輪", - ["镖"] = "鏢", - ["齑"] = "齏", - ["软"] = "軟", - ["镗"] = "鏜", - ["齿"] = "齒", - ["轰"] = "轟", - ["镘"] = "鏝", - ["攒"] = "攢", - ["轱"] = "軲", - ["镙"] = "鏍", - ["敌"] = "敵", - ["轲"] = "軻", - ["镚"] = "鏰", - ["敚"] = "敓", - ["轳"] = "轤", - ["镛"] = "鏞", - ["敛"] = "斂", - ["轴"] = "軸", - ["镜"] = "鏡", - ["敩"] = "斆", - ["轵"] = "軹", - ["镝"] = "鏑", - ["数"] = "數", - ["轶"] = "軼", - ["镞"] = "鏃", - ["斋"] = "齋", - ["轷"] = "軤", - ["镟"] = "鏇", - ["斓"] = "斕", - ["轸"] = "軫", - ["镠"] = "鏐", - ["斗"] = "鬥", - ["轹"] = "轢", - ["镡"] = "鐔", - ["斩"] = "斬", - ["轺"] = "軺", - ["镢"] = "钁", - ["断"] = "斷", - ["轻"] = "輕", - ["龀"] = "齔", - ["旋"] = "旋", - ["轼"] = "軾", - ["无"] = "無", - ["龁"] = "齕", - ["载"] = "載", - ["旧"] = "舊", - ["龂"] = "齗", - ["轾"] = "輊", - ["时"] = "時", - ["龃"] = "齟", - ["轿"] = "轎", - ["旷"] = "曠", - ["龄"] = "齡", - ["辀"] = "輈", - ["旸"] = "暘", - ["哒"] = "噠", - ["辁"] = "輇", - ["昆"] = "昆", - ["哓"] = "嘵", - ["辂"] = "輅", - ["龅"] = "齙", - ["哔"] = "嗶", - ["较"] = "較", - ["龆"] = "齠", - ["哕"] = "噦", - ["辄"] = "輒", - ["𦈞"] = "䌟", - ["哗"] = "譁", - ["辅"] = "輔", - ["𦈝"] = "繏", - ["哙"] = "噲", - ["辆"] = "輛", - ["𦈜"] = "䌖", - ["哜"] = "嚌", - ["辇"] = "輦", - ["𦈚"] = "縬", - ["哝"] = "噥", - ["辈"] = "輩", - ["𦈙"] = "䌰", - ["哟"] = "喲", - ["辉"] = "輝", - ["𦈘"] = "䌋", - ["唇"] = "脣", - ["辊"] = "輥", - ["𦈗"] = "𦃄", - ["唛"] = "嘜", - ["辋"] = "輞", - ["𦈖"] = "䌈", - ["唝"] = "嗊", - ["辌"] = "輬", - ["𦈕"] = "緰", - ["唠"] = "嘮", - ["辍"] = "輟", - ["𦈔"] = "縎", - ["唡"] = "啢", - ["辎"] = "輜", - ["𦈓"] = "䋿", - ["唢"] = "嗩", - ["辏"] = "輳", - ["𦈒"] = "𦂅", - ["唤"] = "喚", - ["辐"] = "輻", - ["𦈑"] = "緸", - ["啧"] = "嘖", - ["辑"] = "輯", - ["术"] = "術", - ["啬"] = "嗇", - ["辒"] = "轀", - ["朱"] = "朱", - ["啭"] = "囀", - ["荦"] = "犖", - ["𦈐"] = "縺", - ["辔"] = "轡", - ["荧"] = "熒", - ["觊"] = "覬", - ["辕"] = "轅", - ["荨"] = "蕁", - ["觋"] = "覡", - ["辖"] = "轄", - ["荩"] = "藎", - ["觌"] = "覿", - ["辗"] = "輾", - ["荪"] = "蓀", - ["觍"] = "覥", - ["辘"] = "轆", - ["荫"] = "蔭", - ["觎"] = "覦", - ["辙"] = "轍", - ["荬"] = "蕒", - ["觏"] = "覯", - ["辚"] = "轔", - ["驰"] = "馳", - ["觐"] = "覲", - ["𫜙"] = "䵴", - ["驱"] = "驅", - ["觑"] = "覷", - ["𫜟"] = "𪓰", - ["驲"] = "馹", - ["觞"] = "觴", - ["𫜨"] = "䶕", - ["驳"] = "駁", - ["𫭟"] = "塸", - ["𫜩"] = "齧", - ["驴"] = "驢", - ["𫜪"] = "齩", - ["𥺇"] = "𥽖", - ["驵"] = "駔", - ["𫜫"] = "𫜦", - ["𥐻"] = "碙", - ["驶"] = "駛", - ["𫜬"] = "齰", - ["𥐯"] = "𥖅", - ["驷"] = "駟", - ["𫜭"] = "齭", - ["𥎝"] = "䂎", - ["驸"] = "駙", - ["𫜮"] = "齴", - ["𥆧"] = "瞤", - ["驹"] = "駒", - ["𫜯"] = "𪙏", - ["𥅴"] = "䀹", - ["驺"] = "騶", - ["𫜰"] = "齾", - ["𥁢"] = "䀉", - ["驻"] = "駐", - ["𫜲"] = "龓", - ["𤾀"] = "皟", - ["驼"] = "駝", - ["𫜳"] = "䶲", - ["𣺼"] = "灙", - ["驽"] = "駑", - ["𫝈"] = "㑮", - ["𣷷"] = "𤅶", - ["驾"] = "駕", - ["𫝋"] = "𠐊", - ["𣶫"] = "𣿉", - ["驿"] = "驛", - ["𫝦"] = "㛝", - ["𣳆"] = "㵗", - ["骀"] = "駘", - ["𫝧"] = "㜐", - ["𣲗"] = "湋", - ["骁"] = "驍", - ["𫝨"] = "媈", - ["𣯣"] = "𣯩", - ["骂"] = "罵", - ["𫝩"] = "嬦", - ["𣨼"] = "殢", - ["骃"] = "駰", - ["𫝪"] = "𡟫", - ["𣚚"] = "欘", - ["骄"] = "驕", - ["𬊈"] = "燖", - ["𣘴"] = "檭", - ["骅"] = "驊", - ["𬊤"] = "燀", - ["𣘐"] = "㯤", - ["骆"] = "駱", - ["𬍛"] = "瓅", - ["𣗋"] = "欓", - ["骇"] = "駭", - ["𬍡"] = "璗", - ["𣔌"] = "樤", - ["骈"] = "駢", - ["𪼴"] = "𤬅", - ["𣒌"] = "楇", - ["骉"] = "驫", - ["𪽈"] = "畼", - ["𣐤"] = "欍", - ["骊"] = "驪", - ["𪽝"] = "𤳷", - ["𣏢"] = "槫", - ["䞌"] = "𧵳", - ["𪽪"] = "痮", - ["𣍰"] = "脥", - ["䞍"] = "䝼", - ["𪽭"] = "𤷃", - ["𣍨"] = "𦢈", - ["䞎"] = "𧶧", - ["𪽮"] = "㿖", - ["𣆐"] = "曥", - ["䞐"] = "賰", - ["𪽴"] = "𤺔", - ["𢽾"] = "斅", - ["䟢"] = "躎", - ["𪽷"] = "瘱", - ["𢬦"] = "𢹿", - ["䢀"] = "𨊰", - ["𪾔"] = "盨", - ["𢫬"] = "摋", - ["䢁"] = "𨊸", - ["𪾢"] = "睍", - ["𢫊"] = "𢷮", - ["䢂"] = "𨋢", - ["𪾣"] = "眝", - ["鳔"] = "鰾", - ["䥺"] = "釾", - ["𪾦"] = "矑", - ["驮"] = "馱", - ["䥽"] = "鏺", - ["𪾸"] = "矉", - ["骍"] = "騂", - ["䥾"] = "䥱", - ["𪿊"] = "𥏝", - ["骑"] = "騎", - ["䥿"] = "𨯅", - ["𪿞"] = "𥖲", - ["骕"] = "驌", - ["䦀"] = "𨦫", - ["𪿫"] = "礮", - ["骙"] = "騤", - ["䦁"] = "𨧜", - ["𪿵"] = "𥗇", - ["骝"] = "騮", - ["䦂"] = "䥇", - ["𫀌"] = "𥜰", - ["骣"] = "驏", - ["䦃"] = "鐯", - ["𫀓"] = "𥜐", - ["髋"] = "髖", - ["䦅"] = "鐥", - ["𫀨"] = "䅐", - ["鱼"] = "魚", - ["䦆"] = "钁", - ["鳚"] = "䲁", - ["鱿"] = "魷", - ["䦶"] = "䦛", - ["鳛"] = "鰼", - ["鲂"] = "魴", - ["䦷"] = "䦟", - ["鳜"] = "鱖", - ["鲅"] = "鮁", - ["䩄"] = "靦", - ["鳝"] = "鱔", - ["𩨃"] = "騝", - ["䭪"] = "𩞯", - ["鳞"] = "鱗", - ["𩨄"] = "騪", - ["䯃"] = "𩣑", - ["鳟"] = "鱒", - ["𩨅"] = "𩤸", - ["䯄"] = "騧", - ["鳠"] = "鱯", - ["𩨆"] = "𩤙", - ["䯅"] = "䯀", - ["鳡"] = "鱤", - ["𩨇"] = "䮫", - ["䲝"] = "䱽", - ["鳢"] = "鱧", - ["𩨈"] = "騟", - ["䲞"] = "𩶘", - ["鳣"] = "鱣", - ["蔺"] = "藺", - ["䲟"] = "鮣", - ["鳤"] = "䲘", - ["蔼"] = "藹", - ["䲠"] = "鰆", - ["鸟"] = "鳥", - ["蕰"] = "薀", - ["䲡"] = "鰌", - ["鸠"] = "鳩", - ["蕲"] = "蘄", - ["䲢"] = "鰧", - ["鸡"] = "雞", - ["蕴"] = "蘊", - ["䲣"] = "䱷", - ["鸢"] = "鳶", - ["薮"] = "藪", - ["䴓"] = "鳾", - ["鸣"] = "鳴", - ["藓"] = "蘚", - ["䴔"] = "鵁", - ["鸤"] = "鳲", - ["藴"] = "蘊", - ["䴕"] = "鴷", - ["蘖"] = "櫱", - ["𩩈"] = "䯤", - ["䴖"] = "鶄", - ["虏"] = "虜", - ["𩬣"] = "𩭙", - ["䴗"] = "鶪", - ["虑"] = "慮", - ["𩬤"] = "𩰀", - ["䴘"] = "鷉", - ["虚"] = "虛", - ["𩭹"] = "鬖", - ["䴙"] = "鸊", - ["虫"] = "蟲", - ["𩯒"] = "𩯳", - ["䶮"] = "龑", - ["虬"] = "虯", - ["𩰰"] = "𩰹", - ["万"] = "萬", - ["虮"] = "蟣", - ["𩲒"] = "𩳤", - ["与"] = "與", - ["虱"] = "蝨", - ["𩴌"] = "𩴵", - ["丑"] = "醜", - ["虽"] = "雖", - ["𩽹"] = "魥", - ["专"] = "專", - ["鸮"] = "鴞", - ["𩽺"] = "𩵩", - ["业"] = "業", - ["鸯"] = "鴦", - ["𩽻"] = "𩵹", - ["丛"] = "叢", - ["鸰"] = "鴒", - ["𩽼"] = "鯶", - ["东"] = "東", - ["邝"] = "鄺", - ["𩽽"] = "𩶱", - ["丝"] = "絲", - ["邬"] = "鄔", - ["𩽾"] = "鮟", - ["丢"] = "丟", - ["邮"] = "郵", - ["𩽿"] = "𩶰", - ["两"] = "兩", - ["邹"] = "鄒", - ["𩾁"] = "鯄", - ["严"] = "嚴", - ["邺"] = "鄴", - ["𩾂"] = "䲖", - ["丧"] = "喪", - ["邻"] = "鄰", - ["𩾃"] = "鮸", - ["个"] = "個", - ["郁"] = "鬱", - ["𩾄"] = "𩷰", - ["丰"] = "豐", - ["郏"] = "郟", - ["𩾅"] = "𩸃", - ["临"] = "臨", - ["郐"] = "鄶", - ["𩾆"] = "𩸦", - ["贼"] = "賊", - ["郑"] = "鄭", - ["𩾇"] = "鯱", - ["贽"] = "贄", - ["郓"] = "鄆", - ["𩾈"] = "䱙", - ["贾"] = "賈", - ["郦"] = "酈", - ["𩾊"] = "䱬", - ["贿"] = "賄", - ["郧"] = "鄖", - ["𩾋"] = "䱰", - ["赀"] = "貲", - ["郸"] = "鄲", - ["𩾌"] = "鱇", - ["赁"] = "賃", - ["酂"] = "酇", - ["𩾎"] = "𩽇", - ["赂"] = "賂", - ["酝"] = "醞", - ["𪉂"] = "䲰", - ["赃"] = "贓", - ["酦"] = "醱", - ["𪉃"] = "鳼", - ["资"] = "資", - ["酱"] = "醬", - ["𪉄"] = "𩿪", - ["赅"] = "賅", - ["酸"] = "酸", - ["𪉅"] = "𪀦", - ["赆"] = "贐", - ["鸦"] = "鴉", - ["𪉆"] = "鴲", - ["赇"] = "賕", - ["鸪"] = "鴣", - ["𪉈"] = "鴜", - ["赈"] = "賑", - ["鸱"] = "鴟", - ["𪉉"] = "𪁈", - ["赉"] = "賚", - ["鸵"] = "鴕", - ["采"] = "採", - ["赊"] = "賒", - ["龈"] = "齦", - ["释"] = "釋", - ["赋"] = "賦", - ["龇"] = "齜", - ["里"] = "裏", - ["赌"] = "賭", - ["𦈟"] = "䌝", - ["鉴"] = "鑑", - ["赍"] = "齎", - ["𦈠"] = "䌥", - ["銮"] = "鑾", - ["赎"] = "贖", - ["𦈡"] = "繻", - ["錾"] = "鏨", - ["赏"] = "賞", - ["𦍠"] = "䍽", - ["钅"] = "釒", - ["赐"] = "賜", - ["𦛨"] = "朥", - ["钆"] = "釓", - ["赑"] = "贔", - ["𦝼"] = "膢", - ["钇"] = "釔", - ["赒"] = "賙", - ["𦟗"] = "𦣎", - ["针"] = "針", - ["赓"] = "賡", - ["𦨩"] = "𦪽", - ["钉"] = "釘", - ["赔"] = "賠", - ["𦰏"] = "蓧", - ["钊"] = "釗", - ["赕"] = "賧", - ["𦰴"] = "䕳", - ["钋"] = "釙", - ["赖"] = "賴", - ["𦶟"] = "爇", - ["钌"] = "釕", - ["赗"] = "賵", - ["𦶻"] = "𦾟", - ["钍"] = "釷", - ["赘"] = "贅", - ["𦻕"] = "蘟", - ["钎"] = "釺", - ["赙"] = "賻", - ["𧉐"] = "𧕟", - ["钏"] = "釧", - ["赚"] = "賺", - ["𧉞"] = "䗿", - ["钐"] = "釤", - ["赛"] = "賽", - ["𧌥"] = "𧎈", - ["钑"] = "鈒", - ["赜"] = "賾", - ["𧏖"] = "蠙", - ["钒"] = "釩", - ["赝"] = "贗", - ["𧏗"] = "蠀", - ["钓"] = "釣", - ["赞"] = "贊", - ["𧑏"] = "蠾", - ["钔"] = "鍆", - ["赟"] = "贇", - ["𧒭"] = "𧔥", - ["钕"] = "釹", - ["赠"] = "贈", - ["𧜭"] = "䙱", - ["钖"] = "鍚", - ["赡"] = "贍", - ["𧝝"] = "襰", - ["钗"] = "釵", - ["赢"] = "贏", - ["𧝧"] = "𧟀", - ["钘"] = "鈃", - ["赣"] = "贛", - ["𧮪"] = "詀", - ["钙"] = "鈣", - ["赪"] = "赬", - ["𧳕"] = "𧳟", - ["钚"] = "鈈", - ["赵"] = "趙", - ["𧹑"] = "䞈", - ["钛"] = "鈦", - ["赶"] = "趕", - ["𧹒"] = "買", - ["钜"] = "鉅", - ["𧹓"] = "𧶔", - ["鹲"] = "鸏", - ["钝"] = "鈍", - ["𧹔"] = "賬", - ["鹰"] = "鷹", - ["钞"] = "鈔", - ["鹯"] = "鸇", - ["鹮"] = "䴉", - ["钟"] = "鍾", - ["鹭"] = "鷺", - ["鹬"] = "鷸", - ["钠"] = "鈉", - ["鹫"] = "鷲", - ["鹪"] = "鷦", - ["钡"] = "鋇", - ["鹩"] = "鷯", - ["鹨"] = "鷚", - ["钢"] = "鋼", - ["鹧"] = "鷓", - ["鹦"] = "鸚", - ["钣"] = "鈑", - ["鹥"] = "鷖", - ["鹤"] = "鶴", - ["钤"] = "鈐", - ["鹣"] = "鶼", - ["鹢"] = "鷁", - ["钥"] = "鑰", - ["鹡"] = "鶺", - ["鹠"] = "鶹", - ["钦"] = "欽", - ["鹟"] = "鶲", - ["鹞"] = "鷂", - ["辞"] = "辭", - ["鹝"] = "鷊", - ["鹜"] = "鶩", - ["辟"] = "闢", - ["鹛"] = "鶥", - ["骞"] = "騫", - ["辩"] = "辯", - ["骡"] = "騾", - ["骤"] = "驟", - ["辫"] = "辮", - ["骧"] = "驤", - ["髌"] = "髕", - ["边"] = "邊", - ["魇"] = "魘", - ["鱽"] = "魛", - ["辽"] = "遼", - ["鲀"] = "魨", - ["鲃"] = "䰾", - ["达"] = "達", - ["鲆"] = "鮃", - ["鲈"] = "鱸", - ["迁"] = "遷", - ["鲊"] = "鮓", - ["鲌"] = "鮊", - ["过"] = "過", - ["鲎"] = "鱟", - ["鲐"] = "鮐", - ["迈"] = "邁", - ["鲒"] = "鮚", - ["鲔"] = "鮪", - ["运"] = "運", - ["鲖"] = "鮦", - ["颤"] = "顫", - ["还"] = "還", - ["鲘"] = "鮜", - ["颥"] = "顬", - ["这"] = "這", - ["鲚"] = "鱭", - ["颦"] = "顰", - ["进"] = "進", - ["鲜"] = "鮮", - ["颧"] = "顴", - ["远"] = "遠", - ["鲞"] = "鯗", - ["风"] = "風", - ["违"] = "違", - ["鲠"] = "鯁", - ["飏"] = "颺", - ["连"] = "連", - ["鹃"] = "鵑", - ["飐"] = "颭", - ["迟"] = "遲", - ["鹂"] = "鸝", - ["飑"] = "颮", - ["迩"] = "邇", - ["鹁"] = "鵓", - ["飒"] = "颯", - ["迳"] = "逕", - ["鹀"] = "鵐", - ["飓"] = "颶", - ["迹"] = "跡", - ["鸿"] = "鴻", - ["飔"] = "颸", - ["适"] = "適", - ["鸾"] = "鸞", - ["飕"] = "颼", - ["选"] = "選", - ["鸽"] = "鴿", - ["飖"] = "颻", - ["逊"] = "遜", - ["鸼"] = "鵃", - ["飗"] = "飀", - ["递"] = "遞", - ["鸻"] = "鴴", - ["飘"] = "飄", - ["逦"] = "邐", - ["鸺"] = "鵂", - ["飙"] = "飆", - ["逻"] = "邏", - ["鸹"] = "鴰", - ["飚"] = "飈", - ["遗"] = "遺", - ["鸸"] = "鴯", - ["飞"] = "飛", - ["遥"] = "遙", - ["鸷"] = "鷙", - ["飨"] = "饗", - ["邓"] = "鄧", - ["鸶"] = "鷥", - ["餍"] = "饜", - ["龉"] = "齬", - ["鸴"] = "鷽", - ["饣"] = "飠", - ["龊"] = "齪", - ["鸲"] = "鴝", - ["饤"] = "飣", - ["龋"] = "齲", - ["鸭"] = "鴨", - ["饥"] = "飢", - ["龌"] = "齷", - ["鸫"] = "鶇", - ["饦"] = "飥", - ["龙"] = "龍", - ["鸩"] = "鴆", - ["饧"] = "餳", - ["龚"] = "龔", - ["鸧"] = "鶬", - ["饨"] = "飩", - ["龛"] = "龕", - ["鸥"] = "鷗", - ["饩"] = "餼", - ["龟"] = "龜", - ["鳘"] = "鰵", - ["饪"] = "飪", - ["鿎"] = "䃮", - ["鳖"] = "鱉", - ["饫"] = "飫", - ["鿏"] = "䥑", - ["𢢐"] = "𤢻", - ["饬"] = "飭", - ["鿒"] = "鿓", - ["𢧐"] = "戰", - ["饭"] = "飯", - ["鿔"] = "鎶", - ["鳐"] = "鰩", - ["饮"] = "飲", - ["𠀾"] = "𠁞", - ["鳎"] = "鰨", - ["饯"] = "餞", - ["𠆲"] = "儣", - ["鳌"] = "鰲", - ["饰"] = "飾", - ["𠆿"] = "𠌥", - ["鳊"] = "鯿", - ["饱"] = "飽", - ["𠇹"] = "俓", - ["鳈"] = "鰁", - ["饲"] = "飼", - ["𠉂"] = "㒓", - ["鳆"] = "鰒", - ["饳"] = "飿", - ["𠉗"] = "𠏢", - ["鳄"] = "鱷", - ["饴"] = "飴", - ["𠋆"] = "儭", - ["鳂"] = "鰃", - ["饵"] = "餌", - ["𠚳"] = "𠠎", - ["鳀"] = "鯷", - ["饶"] = "饒", - ["𠛅"] = "剾", - ["鲴"] = "鯝", - ["饷"] = "餉", - ["𠛆"] = "𠞆", - ["鲲"] = "鯤", - ["饸"] = "餄", - ["𠛾"] = "𪟖", - ["鲰"] = "鯫", - ["饹"] = "餎", - ["𠡠"] = "勑", - ["鲮"] = "鯪", - ["饺"] = "餃", - ["𠮶"] = "嗰", - ["鲬"] = "鯒", - ["饻"] = "餏", - ["𠯟"] = "哯", - ["鲪"] = "鮶", - ["饼"] = "餅", - ["𠯠"] = "噅", - ["鲨"] = "鯊", - ["饽"] = "餑", - ["𠰱"] = "㘉", - ["鲦"] = "鰷", - ["饾"] = "餖", - ["𠰷"] = "嚧", - ["鲤"] = "鯉", - ["饿"] = "餓", - ["𠱞"] = "囃", - ["鲢"] = "鰱", - ["馀"] = "餘", - ["𠲥"] = "𡅏", - ["馁"] = "餒", - ["鹄"] = "鵠", - ["𠴛"] = "𡃕", - ["馂"] = "餕", - ["鹅"] = "鵝", - ["𠴢"] = "𡄔", - ["馃"] = "餜", - ["鹆"] = "鵒", - ["𠵸"] = "𡄣", - ["馄"] = "餛", - ["鹇"] = "鷳", - ["𠵾"] = "㗲", - ["馅"] = "餡", - ["鹈"] = "鵜", - ["𡋀"] = "𡓾", - ["馆"] = "館", - ["鹉"] = "鵡", - ["𡋗"] = "𡑭", - ["馇"] = "餷", - ["鹊"] = "鵲", - ["𡋤"] = "壗", - ["馈"] = "饋", - ["鹋"] = "鶓", - ["𡍣"] = "𡔖", - ["馉"] = "餶", - ["鹌"] = "鵪", - ["𡒄"] = "壈", - ["馊"] = "餿", - ["鹍"] = "鵾", - ["𡝠"] = "㜷", - ["馋"] = "饞", - ["鹎"] = "鵯", - ["𡞋"] = "㜗", - ["馌"] = "饁", - ["鹏"] = "鵬", - ["𡞱"] = "㜢", - ["馍"] = "饃", - ["鹐"] = "鵮", - ["𡠟"] = "孎", - ["馎"] = "餺", - ["鹑"] = "鶉", - ["𡥧"] = "孻", - ["鲄"] = "魺", - ["鹒"] = "鶊", - ["𡭜"] = "𡮉", - ["鲁"] = "魯", - ["鹓"] = "鵷", - ["𡭬"] = "𡮣", - ["鱾"] = "魢", - ["鹔"] = "鷫", - ["𡳃"] = "𡳳", - ["魉"] = "魎", - ["鹕"] = "鶘", - ["𡳒"] = "𦘧", - ["鬓"] = "鬢", - ["鹖"] = "鶡", - ["𡶴"] = "嵼", - ["髅"] = "髏", - ["鹗"] = "鶚", - ["𡸃"] = "𡽗", - ["骥"] = "驥", - ["鹘"] = "鶻", - ["𡺃"] = "嶈", - ["骢"] = "驄", - ["鹙"] = "鶖", - ["𡺄"] = "嶘", - ["骟"] = "騸", - ["鹚"] = "鷀", - ["𢋈"] = "㢝", - ["骜"] = "驁", - ["㚯"] = "㜄", - ["𢗓"] = "㦛", - ["骚"] = "騷", - ["㛀"] = "媰", - ["𢘙"] = "𢤱", - ["骘"] = "騭", - ["㛟"] = "𡞵", - ["𢘝"] = "𢣚", - ["骖"] = "驂", - ["㛠"] = "𡢃", - ["𢘞"] = "𢣭", - ["骔"] = "騌", - ["㛣"] = "㜏", - ["𢙏"] = "愻", - ["骒"] = "騍", - ["㛤"] = "孋", - ["𢙐"] = "憹", - ["骐"] = "騏", - ["㛿"] = "𡠹", - ["𢙑"] = "𢠼", - ["骎"] = "駸", - ["㟆"] = "㠏", - ["𢙒"] = "憢", - ["验"] = "驗", - ["㟜"] = "𡾱", - ["𢙓"] = "懀", - ["驯"] = "馴", - ["㟥"] = "嵾", - ["𢛯"] = "㦎", - ["驭"] = "馭", - ["㡎"] = "幓", - ["𢠁"] = "懎", - ["馕"] = "饢", - ["㤘"] = "㥮", - ["𨱖"] = "䥩", - ["馓"] = "饊", - ["㤽"] = "懤", - ["𨷿"] = "䦳", - ["馑"] = "饉", - ["㥪"] = "慺", - ["𨸀"] = "𨳕", - ["馏"] = "餾", - ["㧏"] = "掆", - ["𨸁"] = "𨳑", - ["从"] = "從", - ["㧐"] = "㩳", - ["𨸂"] = "閍", - ["炝"] = "熗", - ["㧑"] = "撝", - ["𨸃"] = "閐", - ["状"] = "狀", - ["㧟"] = "擓", - ["𨸄"] = "䦘", - ["狭"] = "狹", - ["㧰"] = "擽", - ["𨸅"] = "𨴗", - ["家"] = "家", - ["㨫"] = "㩜", - ["𨸆"] = "𨵩", - ["铝"] = "鋁", - ["㭎"] = "棡", - ["𨸇"] = "𨵸", - ["岗"] = "崗", - ["㭏"] = "椲", - ["𨸉"] = "𨶀", - ["铦"] = "銛", - ["㭣"] = "𣙎", - ["𨸊"] = "𨶏", - ["铟"] = "銦", - ["㭤"] = "樢", - ["铙"] = "鐃", - ["璎"] = "瓔", - ["㭴"] = "樫", - ["狈"] = "狽", - ["烃"] = "烴", - ["㱩"] = "殰", - ["溃"] = "潰", - ["掷"] = "擲", - ["㱮"] = "殨", - ["钵"] = "鉢", - ["钯"] = "鈀", - ["㲿"] = "瀇", - ["钩"] = "鉤", - ["酽"] = "釅", - ["㳔"] = "濧", - ["锔"] = "鋦", - ["锖"] = "錆", - ["㳕"] = "灡", - ["锘"] = "鍩", - ["锚"] = "錨", - ["㳠"] = "澾", - ["锵"] = "鏘", - ["锷"] = "鍔", - ["㳡"] = "濄", - ["镣"] = "鐐", - ["黄"] = "黃", - ["㳢"] = "𣾷", - ["镧"] = "鑭", - ["黉"] = "黌", - ["㳽"] = "瀰", - ["镫"] = "鐙", - ["黡"] = "黶", - ["㴋"] = "潚", - ["阈"] = "閾", - ["黩"] = "黷", - ["㶉"] = "鸂", - ["阌"] = "閿", - ["黪"] = "黲", - ["㶶"] = "燶", - ["阐"] = "闡", - ["黾"] = "黽", - ["㶽"] = "煱", - ["阔"] = "闊", - ["鼋"] = "黿", - ["㺍"] = "獱", - ["阘"] = "闒", - ["绬"] = "緓", - ["㻅"] = "璯", - ["阚"] = "闞", - ["续"] = "續", - ["㻏"] = "𤫩", - ["队"] = "隊", - ["绮"] = "綺", - ["㻘"] = "𤪺", - ["阴"] = "陰", - ["绯"] = "緋", - ["䀥"] = "䁻", - ["阶"] = "階", - ["绰"] = "綽", - ["䁖"] = "瞜", - ["陆"] = "陸", - ["绱"] = "鞝", - ["䂵"] = "碽", - ["陈"] = "陳", - ["绲"] = "緄", - ["䃅"] = "磾", - ["陕"] = "陝", - ["绳"] = "繩", - ["䅉"] = "稏", - ["陧"] = "隉", - ["维"] = "維", - ["䅟"] = "穇", - ["险"] = "險", - ["绵"] = "綿", - ["䅪"] = "𥢢", - ["隐"] = "隱", - ["绶"] = "綬", - ["䇲"] = "筴", - ["隽"] = "雋", - ["绷"] = "繃", - ["䉤"] = "籔", - ["靥"] = "靨", - ["绸"] = "綢", - ["䌶"] = "䊷", - ["面"] = "面", - ["绹"] = "綯", - ["䌷"] = "紬", - ["静"] = "靜", - ["绺"] = "綹", - ["䌸"] = "縳", - ["靔"] = "靝", - ["绻"] = "綣", - ["䌹"] = "絅", - ["靓"] = "靚", - ["综"] = "綜", - ["䌺"] = "䋙", - ["雕"] = "雕", - ["绽"] = "綻", - ["䌻"] = "䋚", - ["雏"] = "雛", - ["绾"] = "綰", - ["触"] = "觸", - ["雇"] = "僱", - ["绿"] = "綠", - ["觯"] = "觶", - ["难"] = "難", - ["鞑"] = "韃", - ["訚"] = "誾", - ["隶"] = "隸", - ["鞒"] = "鞽", - ["䌿"] = "䋹", - ["随"] = "隨", - ["鞯"] = "韉", - ["䍀"] = "繿", - ["陨"] = "隕", - ["鞲"] = "韝", - ["䍁"] = "繸", - ["陦"] = "隯", - ["韦"] = "韋", - ["䍠"] = "䍦", - ["陉"] = "陘", - ["韧"] = "韌", - ["䎬"] = "䎱", - ["陇"] = "隴", - ["韨"] = "韍", - ["䏝"] = "膞", - ["际"] = "際", - ["韩"] = "韓", - ["䑽"] = "𦪙", - ["阵"] = "陣", - ["韪"] = "韙", - ["䓓"] = "薵", - ["阳"] = "陽", - ["韫"] = "韞", - ["䓕"] = "薳", - ["阛"] = "闤", - ["韬"] = "韜", - ["䓖"] = "藭", - ["阙"] = "闕", - ["韵"] = "韻", - ["䓨"] = "罃", - ["阗"] = "闐", - ["页"] = "頁", - ["䗖"] = "螮", - ["阕"] = "闋", - ["顶"] = "頂", - ["䘛"] = "𧝞", - ["阓"] = "闠", - ["顷"] = "頃", - ["䘞"] = "𧜗", - ["阑"] = "闌", - ["顸"] = "頇", - ["䙊"] = "𧜵", - ["阏"] = "閼", - ["项"] = "項", - ["䙌"] = "䙡", - ["阍"] = "閽", - ["顺"] = "順", - ["䙓"] = "襬", - ["阋"] = "鬩", - ["须"] = "須", - ["䜣"] = "訢", - ["阉"] = "閹", - ["顼"] = "頊", - ["䜤"] = "鿁", - ["镮"] = "鐶", - ["顽"] = "頑", - ["䜥"] = "𧩙", - ["镬"] = "鑊", - ["顾"] = "顧", - ["䜧"] = "䜀", - ["镪"] = "鏹", - ["顿"] = "頓", - ["䜩"] = "讌", - ["镨"] = "鐠", - ["颀"] = "頎", - ["䝙"] = "貙", - ["镦"] = "鐓", - ["颁"] = "頒", - ["铨"] = "銓", - ["镤"] = "鏷", - ["颂"] = "頌", - ["铩"] = "鎩", - ["锸"] = "鍤", - ["颃"] = "頏", - ["铪"] = "鉿", - ["锶"] = "鍶", - ["预"] = "預", - ["铫"] = "銚", - ["锴"] = "鍇", - ["颅"] = "顱", - ["铬"] = "鉻", - ["错"] = "錯", - ["领"] = "領", - ["铭"] = "銘", - ["锗"] = "鍺", - ["颇"] = "頗", - ["铮"] = "錚", - ["锕"] = "錒", - ["颈"] = "頸", - ["铯"] = "銫", - ["锓"] = "鋟", - ["颉"] = "頡", - ["铰"] = "鉸", - ["醖"] = "醞", - ["颊"] = "頰", - ["铱"] = "銥", - ["钬"] = "鈥", - ["颋"] = "頲", - ["铲"] = "鏟", - ["钲"] = "鉦", - ["颌"] = "頜", - ["铳"] = "銃", - ["传"] = "傳", - ["颍"] = "潁", - ["铴"] = "鐋", - ["背"] = "背", - ["颎"] = "熲", - ["铵"] = "銨", - ["灯"] = "燈", - ["颏"] = "頦", - ["银"] = "銀", - ["牺"] = "犧", - ["颐"] = "頤", - ["铷"] = "銣", - ["独"] = "獨", - ["频"] = "頻", - ["铸"] = "鑄", - ["疡"] = "瘍", - ["颒"] = "頮", - ["铹"] = "鐒", - ["铜"] = "銅", - ["颓"] = "頹", - ["铺"] = "鋪", - ["铢"] = "銖", - ["颔"] = "頷", - ["铻"] = "鋙", - ["铧"] = "鏵", - ["颕"] = "頴", - ["铼"] = "錸", - ["铤"] = "鋌", - ["颖"] = "穎", - ["铽"] = "鋱", - ["铡"] = "鍘", - ["颗"] = "顆", - ["链"] = "鏈", - ["铞"] = "銱", - ["题"] = "題", - ["铿"] = "鏗", - ["铛"] = "鐺", - ["颙"] = "顒", - ["销"] = "銷", - ["铘"] = "鋣", - ["颚"] = "顎", - ["锁"] = "鎖", - ["疖"] = "癤", - ["颛"] = "顓", - ["锂"] = "鋰", - ["狯"] = "獪", - ["颜"] = "顏", - ["锃"] = "鋥", - ["狞"] = "獰", - ["额"] = "額", - ["锄"] = "鋤", - ["犸"] = "獁", - ["颞"] = "顳", - ["锅"] = "鍋", - ["铉"] = "鉉", - ["颟"] = "顢", - ["锆"] = "鋯", - ["纪"] = "紀", - ["颠"] = "顛", - ["锇"] = "鋨", - ["滞"] = "滯", - ["颡"] = "顙", - ["锈"] = "鏽", - ["沦"] = "淪", - ["颢"] = "顥", - ["锉"] = "銼", - ["泛"] = "泛", - ["颣"] = "纇", - ["锊"] = "鋝", - ["掴"] = "摑", - ["掼"] = "摜", - ["锋"] = "鋒", - ["沾"] = "沾", - ["钶"] = "鈳", - ["锌"] = "鋅", - ["钴"] = "鈷", - ["钳"] = "鉗", - ["锍"] = "鋶", - ["钱"] = "錢", - ["钰"] = "鈺", - ["锎"] = "鐦", - ["钮"] = "鈕", - ["钭"] = "鈄", - ["锏"] = "鐧", - ["钫"] = "鈁", - ["钪"] = "鈧", - ["锐"] = "銳", - ["钨"] = "鎢", - ["钧"] = "鈞", - ["锑"] = "銻", - ["酿"] = "釀", - ["酾"] = "釃", - ["锒"] = "鋃", - ["伞"] = "傘", - ["挽"] = "挽", - ["缀"] = "綴", - ["费"] = "費", - ["图"] = "圖", - ["缁"] = "緇", - ["监"] = "監", - ["堑"] = "塹", - ["缂"] = "緙", - ["贵"] = "貴", - ["头"] = "頭", - ["缃"] = "緗", - ["贲"] = "賁", - ["贯"] = "貫", - ["缄"] = "緘", - ["贮"] = "貯", - ["贬"] = "貶", - ["缅"] = "緬", - ["贫"] = "貧", - ["扎"] = "扎", - ["缆"] = "纜", - ["谘"] = "諮", - ["贸"] = "貿", - ["缇"] = "緹", - ["摄"] = "攝", - ["柠"] = "檸", - ["缈"] = "緲", - ["啯"] = "嘓", - ["滦"] = "灤", - ["缉"] = "緝", - ["机"] = "機", - ["啮"] = "齧", - ["缊"] = "縕", - ["吕"] = "呂", - ["缋"] = "繢", - ["朴"] = "樸", - ["䌽"] = "綵", - ["缌"] = "緦", - ["䌾"] = "䋻", - ["寝"] = "寢", - ["缍"] = "綞", - ["厅"] = "廳", - ["曲"] = "曲", - ["缎"] = "緞", - ["呐"] = "吶", - ["聍"] = "聹", - ["缏"] = "緶", - ["暧"] = "曖", - ["卜"] = "卜", - ["缐"] = "線", - ["暗"] = "暗", - ["缑"] = "緱", - ["耸"] = "聳", - ["宽"] = "寬", - ["缒"] = "縋", - ["暅"] = "𣈶", - ["疠"] = "癘", - ["缓"] = "緩", - ["对"] = "對", - ["暂"] = "暫", - ["缔"] = "締", - ["㐷"] = "傌", - ["寿"] = "壽", - ["缕"] = "縷", - ["晖"] = "暉", - ["紧"] = "緊", - ["编"] = "編", - ["将"] = "將", - ["晕"] = "暈", - ["缗"] = "緡", - ["冈"] = "岡", - ["尔"] = "爾", - ["缘"] = "緣", - ["晔"] = "曄", - ["犷"] = "獷", - ["缙"] = "縉", - ["掸"] = "撣", - ["晓"] = "曉", - ["缚"] = "縛", - ["牵"] = "牽", - ["尝"] = "嘗", - ["缛"] = "縟", - ["晒"] = "曬", - ["㑔"] = "㑯", - ["缜"] = "縝", - ["挣"] = "掙", - ["晋"] = "晉", - ["缝"] = "縫", - ["㓆"] = "𠗣", - ["显"] = "顯", - ["缞"] = "縗", - ["练"] = "練", - ["挞"] = "撻", - ["缟"] = "縞", - ["昽"] = "曨", - ["组"] = "組", - ["缠"] = "纏", - ["昼"] = "晝", - ["挜"] = "掗", - ["缡"] = "縭", - ["昵"] = "暱", - ["挛"] = "攣", - ["缢"] = "縊", - ["昙"] = "曇", - ["纹"] = "紋", - ["缣"] = "縑", - ["犊"] = "犢", - ["余"] = "餘", - ["缤"] = "繽", - ["縆"] = "緪", - ["周"] = "周", - ["缥"] = "縹", - ["狲"] = "猻", - ["扫"] = "掃", - ["缦"] = "縵", - ["画"] = "畫", - ["执"] = "執", - ["缧"] = "縲", - ["扪"] = "捫", - ["㐹"] = "㑶", - ["缨"] = "纓", - ["畴"] = "疇", - ["疬"] = "癧", - ["缩"] = "縮", - ["耻"] = "恥", - ["吓"] = "嚇", - ["缪"] = "繆", - ["为"] = "爲", - ["剐"] = "剮", - ["缫"] = "繅", - ["丽"] = "麗", - ["荥"] = "滎", - ["缬"] = "纈", - ["举"] = "舉", - ["掳"] = "擄", - ["缭"] = "繚", - ["么"] = "麼", - ["导"] = "導", - ["缮"] = "繕", - ["义"] = "義", - ["尘"] = "塵", - ["缯"] = "繒", - ["乌"] = "烏", - ["圹"] = "壙", - ["缰"] = "繮", - ["乐"] = "樂", - ["挟"] = "挾", - ["缱"] = "繾", - ["乔"] = "喬", - ["升"] = "升", - ["缲"] = "繰", - ["习"] = "習", - ["纾"] = "紓", - ["协"] = "協", - ["乡"] = "鄉", - ["则"] = "則", - ["伤"] = "傷", - ["书"] = "書", - ["刚"] = "剛", - ["窦"] = "竇", - ["买"] = "買", - ["创"] = "創", - ["呓"] = "囈", - ["乱"] = "亂", - ["删"] = "刪", - ["坝"] = "壩", - ["了"] = "了", - ["别"] = "別", - ["争"] = "爭", - ["挠"] = "撓", - ["刬"] = "剗", - ["于"] = "於", - ["挡"] = "擋", - ["刭"] = "剄", - ["亏"] = "虧", - ["挢"] = "撟", - ["刮"] = "刮", - ["云"] = "雲", - ["制"] = "制", - ["扩"] = "擴", - ["亘"] = "亙", - ["挤"] = "擠", - ["吁"] = "籲", - ["刽"] = "劊", - ["挥"] = "揮", - ["叶"] = "葉", - ["产"] = "產", - ["挦"] = "撏", - ["垄"] = "壟", - ["亩"] = "畝", - ["挨"] = "挨", - ["吃"] = "喫", - ["亲"] = "親", - ["呒"] = "嘸", - ["捝"] = "挩", - ["亵"] = "褻", - ["合"] = "合", - ["捞"] = "撈", - ["亸"] = "嚲", - ["垆"] = "壚", - ["损"] = "損", - ["亿"] = "億", - ["剂"] = "劑", - ["捡"] = "撿", - ["剥"] = "剝", - ["后"] = "後", - ["换"] = "換", - ["仆"] = "僕", - ["垦"] = "墾", - ["捣"] = "搗", - ["劝"] = "勸", - ["伙"] = "夥", - ["据"] = "據", - ["办"] = "辦", - ["垩"] = "堊", - ["仑"] = "侖", - ["务"] = "務", - ["历"] = "歷", - ["仓"] = "倉", - ["劢"] = "勱", - ["垫"] = "墊", - ["仪"] = "儀", - ["动"] = "動", - ["厉"] = "厲", - ["们"] = "們", - ["励"] = "勵", - ["伣"] = "俔", - ["掺"] = "摻", - ["劲"] = "勁", - ["窎"] = "窵", - ["仿"] = "仿", - ["劳"] = "勞", - ["众"] = "衆", - ["困"] = "困", - ["势"] = "勢", - ["囱"] = "囪", - ["揾"] = "搵", - ["勋"] = "勳", - ["围"] = "圍", - ["揿"] = "撳", - ["勚"] = "勩", - ["会"] = "會", - ["搀"] = "攙", - ["匀"] = "勻", - ["国"] = "國", - ["搁"] = "擱", - ["匦"] = "匭", - ["苔"] = "苔", - ["搂"] = "摟", - ["匮"] = "匱", - ["圆"] = "圓", - ["苹"] = "蘋", - ["区"] = "區", - ["圣"] = "聖", - ["范"] = "範", - ["医"] = "醫", - ["伡"] = "俥", - ["茎"] = "莖", - ["千"] = "千", - ["携"] = "攜", - ["茏"] = "蘢", - ["吨"] = "噸", - ["坏"] = "壞", - ["茑"] = "蔦", - ["彨"] = "彲", - ["块"] = "塊", - ["茔"] = "塋", - ["垱"] = "壋", - ["单"] = "單", - ["茕"] = "煢", - ["窃"] = "竊", - ["湾"] = "灣", - ["茧"] = "繭", - ["搄"] = "揯", - ["伪"] = "僞", - ["荆"] = "荊", - ["占"] = "佔", - ["溁"] = "濚", - ["荐"] = "薦", - ["卢"] = "盧", - ["坞"] = "塢", - ["荙"] = "薘", - ["卤"] = "滷", - ["溅"] = "濺", - ["荚"] = "莢", - ["卧"] = "臥", - ["坠"] = "墜", - ["荛"] = "蕘", - ["佣"] = "傭", - ["溇"] = "漊", - ["荜"] = "蓽", - ["却"] = "卻", - ["垅"] = "壠", - ["荝"] = "萴", - ["侠"] = "俠", - ["滚"] = "滾", - ["荞"] = "蕎", - ["同"] = "同", - ["垒"] = "壘", - ["荟"] = "薈", - ["侥"] = "僥", - ["滟"] = "灩", - ["荠"] = "薺", - ["侦"] = "偵", - ["滠"] = "灄", - ["荡"] = "蕩", - ["侧"] = "側", - ["满"] = "滿", - ["荣"] = "榮", - ["侨"] = "僑", - ["滢"] = "瀅", - ["压"] = "壓", - ["𩓋"] = "顂", - ["垯"] = "墶", - ["厌"] = "厭", - ["𩖕"] = "𩓣", - ["滥"] = "濫", - ["厍"] = "厙", - ["𩖖"] = "顃", - ["启"] = "啓", - ["厐"] = "龎", - ["𩖗"] = "䫴", - ["吴"] = "吳", - ["厕"] = "廁", - ["𩙥"] = "颰", - ["滩"] = "灘", - ["厘"] = "釐", - ["𩙦"] = "𩗀", - ["滪"] = "澦", - ["厢"] = "廂", - ["𩙧"] = "䬞", - ["漓"] = "漓", - ["厣"] = "厴", - ["潆"] = "瀠", - ["呕"] = "嘔", - ["厦"] = "廈", - ["潇"] = "瀟", - ["堕"] = "墮", - ["厨"] = "廚", - ["潋"] = "瀲", - ["塆"] = "壪", - ["虾"] = "蝦", - ["潍"] = "濰", - ["员"] = "員", - ["虿"] = "蠆", - ["潜"] = "潛", - ["呙"] = "咼", - ["蚀"] = "蝕", - ["潴"] = "瀦", - ["声"] = "聲", - ["蚁"] = "蟻", - ["澛"] = "瀂", - ["壳"] = "殼", - ["蚂"] = "螞", - ["澜"] = "瀾", - ["壶"] = "壺", - ["蚃"] = "蠁", - ["濑"] = "瀨", - ["壸"] = "壼", - ["蚕"] = "蠶", - ["濒"] = "瀕", - ["处"] = "處", - ["蚝"] = "蠔", - ["咛"] = "嚀", - ["备"] = "備", - ["蚬"] = "蜆", - ["灭"] = "滅", - ["复"] = "復", - ["蛊"] = "蠱", - ["咤"] = "吒", - ["够"] = "夠", - ["蛎"] = "蠣", - ["灵"] = "靈", - ["夫"] = "夫", - ["蛏"] = "蟶", - ["咸"] = "鹹", - ["𪮶"] = "攋", - ["蛮"] = "蠻", - ["灾"] = "災", - ["台"] = "臺", - ["蛰"] = "蟄", - ["灿"] = "燦", - ["响"] = "響", - ["蛱"] = "蛺", - ["炀"] = "煬", - ["哑"] = "啞", - ["蛲"] = "蟯", - ["炉"] = "爐", - ["叹"] = "嘆", - ["蛳"] = "螄", - ["炖"] = "燉", - ["叽"] = "嘰", - ["蛴"] = "蠐", - ["炜"] = "煒", - ["弦"] = "弦", - ["蜕"] = "蛻", - ["弪"] = "弳", - ["𪲛"] = "檵", - ["蜗"] = "蝸", - ["点"] = "點", - ["𪲮"] = "櫠", - ["蜡"] = "蠟", - ["弹"] = "彈", - ["𪳍"] = "欇", - ["蝇"] = "蠅", - ["炽"] = "熾", - ["𪳗"] = "𣜬", - ["蝈"] = "蟈", - ["归"] = "歸", - ["𪴙"] = "欑", - ["蝉"] = "蟬", - ["烂"] = "爛", - ["𪵑"] = "毊", - ["蝎"] = "蠍", - ["录"] = "錄", - ["𪵣"] = "霼", - ["蝼"] = "螻", - ["彟"] = "彠", - ["𪵱"] = "濿", - ["蝾"] = "蠑", - ["烟"] = "煙", - ["𪶄"] = "溡", - ["螀"] = "螿", - ["烦"] = "煩", - ["𪶒"] = "𤄷", - ["螨"] = "蟎", - ["烧"] = "燒", - ["𪶮"] = "𣽏", - ["蟏"] = "蠨", - ["烨"] = "燁", - ["𪷍"] = "㵾", - ["衅"] = "釁", - ["烩"] = "燴", - ["𪷽"] = "灒", - ["衔"] = "銜", - ["烫"] = "燙", - ["𪸕"] = "熂", - ["补"] = "補", - ["烬"] = "燼", - ["𪸩"] = "煇", - ["表"] = "表", - ["热"] = "熱", - ["衬"] = "襯", - ["夹"] = "夾", - ["焕"] = "煥", - ["衮"] = "袞", - ["怀"] = "懷", - ["焖"] = "燜", - ["袄"] = "襖", - ["弯"] = "彎", - ["焘"] = "燾", - ["袅"] = "嫋", - ["伫"] = "佇", - ["煴"] = "熅", - ["袆"] = "褘", - ["忾"] = "愾", - ["熏"] = "燻", - ["袜"] = "襪", - ["当"] = "當", - ["爱"] = "愛", - ["袭"] = "襲", - ["检"] = "檢", - ["爷"] = "爺", - ["袯"] = "襏", - ["棁"] = "梲", - ["妆"] = "妝", - ["装"] = "裝", - ["棂"] = "欞", - ["师"] = "師", - ["裆"] = "襠", - ["椁"] = "槨", - ["祎"] = "禕", - ["裈"] = "褌", - ["椝"] = "槼", - ["帅"] = "帥", - ["裢"] = "褳", - ["椟"] = "櫝", - ["妈"] = "媽", - ["裣"] = "襝", - ["椠"] = "槧", - ["砖"] = "磚", - ["裤"] = "褲", - ["椢"] = "槶", - ["妩"] = "嫵", - ["裥"] = "襉", - ["椤"] = "欏", - ["砀"] = "碭", - ["褛"] = "褸", - ["椫"] = "樿", - ["彻"] = "徹", - ["褴"] = "襤", - ["椭"] = "橢", - ["妪"] = "嫗", - ["襕"] = "襴", - ["椮"] = "槮", - ["矿"] = "礦", - ["见"] = "見", - ["楼"] = "樓", - ["巯"] = "巰", - ["观"] = "觀", - ["榄"] = "欖", - ["御"] = "御", - ["觃"] = "覎", - ["榅"] = "榲", - ["征"] = "徵", - ["规"] = "規", - ["榇"] = "櫬", - ["巩"] = "鞏", - ["觅"] = "覓", - ["榈"] = "櫚", - ["妫"] = "嬀", - ["视"] = "視", - ["榉"] = "櫸", - ["矾"] = "礬", - ["觇"] = "覘", - ["榝"] = "樧", - ["径"] = "徑", - ["览"] = "覽", - ["槚"] = "檟", - ["姗"] = "姍", - ["觉"] = "覺", - ["槛"] = "檻", - ["矶"] = "磯", - ["徕"] = "徠", - ["槟"] = "檳", - ["姜"] = "姜", - ["矫"] = "矯", - ["槠"] = "櫧", - ["宝"] = "寶", - ["实"] = "實", - ["横"] = "橫", - ["宠"] = "寵", - ["审"] = "審", - ["樯"] = "檣", - ["宪"] = "憲", - ["宫"] = "宮", - ["樱"] = "櫻", - ["喂"] = "喂", - ["亚"] = "亞", - ["橥"] = "櫫", - ["疭"] = "瘲", - ["啸"] = "嘯", - ["橱"] = "櫥", - ["夺"] = "奪", - ["崄"] = "嶮", - ["橹"] = "櫓", - ["疟"] = "瘧", - ["厂"] = "廠", - ["橼"] = "櫞", - ["崃"] = "崍", - ["畅"] = "暢", - ["檩"] = "檁", - ["哄"] = "哄", - ["崂"] = "嶗", - ["欢"] = "歡", - ["叠"] = "疊", - ["峰"] = "峯", - ["欤"] = "歟", - ["佛"] = "佛", - ["变"] = "變", - ["欧"] = "歐", - ["峦"] = "巒", - ["呛"] = "嗆", - ["欲"] = "欲", - ["双"] = "雙", - ["歼"] = "殲", - ["峥"] = "崢", - ["咏"] = "詠", - ["殁"] = "歿", - ["伦"] = "倫", - ["峤"] = "嶠", - ["殇"] = "殤", - ["听"] = "聽", - ["仇"] = "仇", - ["残"] = "殘", - ["峣"] = "嶢", - ["搜"] = "搜", - ["殒"] = "殞", - ["价"] = "價", - ["峡"] = "峽", - ["殓"] = "殮", - ["咽"] = "咽", - ["伛"] = "傴", - ["殚"] = "殫", - ["峄"] = "嶧", - ["刹"] = "剎", - ["殡"] = "殯", - ["彦"] = "彥", - ["峃"] = "嶨", - ["殴"] = "毆", - ["仅"] = "僅", - ["伥"] = "倀", - ["毁"] = "毀", - ["岿"] = "巋", - ["呖"] = "嚦", - ["毂"] = "轂", - ["荭"] = "葒", - ["侣"] = "侶", - ["毕"] = "畢", - ["荮"] = "葤", - ["岽"] = "崬", - ["毙"] = "斃", - ["药"] = "藥", - ["牦"] = "犛", - ["毡"] = "氈", - ["莅"] = "蒞", - ["纤"] = "纖", - ["毵"] = "毿", - ["莱"] = "萊", - ["约"] = "約", - ["毶"] = "𣯶", - ["莲"] = "蓮", - ["级"] = "級", - ["氇"] = "氌", - ["莳"] = "蒔", - ["纨"] = "紈", - ["气"] = "氣", - ["莴"] = "萵", - ["纩"] = "纊", - ["氢"] = "氫", - ["莶"] = "薟", - ["烁"] = "爍", - ["氩"] = "氬", - ["获"] = "獲", - ["炼"] = "煉", - ["氲"] = "氳", - ["莸"] = "蕕", - ["联"] = "聯", - ["汇"] = "匯", - ["莹"] = "瑩", - ["聩"] = "聵", - ["汉"] = "漢", - ["莺"] = "鶯", - ["聪"] = "聰", - ["汤"] = "湯", - ["莼"] = "蓴", - ["肃"] = "肅", - ["汹"] = "洶", - ["萚"] = "蘀", - ["肠"] = "腸", - ["沄"] = "澐", - ["萝"] = "蘿", - ["肤"] = "膚", - ["沈"] = "沈", - ["萤"] = "螢", - ["肮"] = "骯", - ["纫"] = "紉", - ["营"] = "營", - ["肴"] = "餚", - ["纬"] = "緯", - ["萦"] = "縈", - ["肾"] = "腎", - ["灶"] = "竈", - ["萧"] = "蕭", - ["肿"] = "腫", - ["纻"] = "紵", - ["萨"] = "薩", - ["胀"] = "脹", - ["灏"] = "灝", - ["葱"] = "蔥", - ["胁"] = "脅", - ["沟"] = "溝", - ["蒀"] = "蒕", - ["胄"] = "胄", - ["揽"] = "攬", - ["蒇"] = "蕆", - ["沨"] = "渢", - ["滗"] = "潷", - ["蒉"] = "蕢", - ["沩"] = "潙", - ["胜"] = "勝", - ["蒋"] = "蔣", - ["沪"] = "滬", - ["胡"] = "胡", - ["蒌"] = "蔞", - ["胧"] = "朧", - ["聋"] = "聾", - ["蒏"] = "醟", - ["胨"] = "腖", - ["溆"] = "漵", - ["蒙"] = "蒙", - ["胪"] = "臚", - ["蓝"] = "藍", - ["枣"] = "棗", - ["胫"] = "脛", - ["蓟"] = "薊", - ["沥"] = "瀝", - ["胶"] = "膠", - ["蓠"] = "蘺", - ["修"] = "修", - ["脉"] = "脈", - ["蓣"] = "蕷", - ["坛"] = "壇", - ["脍"] = "膾", - ["蓥"] = "鎣", - ["瓯"] = "甌", - ["脏"] = "髒", - ["蓦"] = "驀", - ["狮"] = "獅", - ["脐"] = "臍", - ["蔂"] = "虆", - ["胆"] = "膽", - ["脑"] = "腦", - ["蔑"] = "蔑", - ["刾"] = "㓨", - ["蔷"] = "薔", - ["钷"] = "鉕", - ["体"] = "體", - ["蔹"] = "蘞", - ["钸"] = "鈽", - ["挝"] = "撾", - ["脚"] = "腳", - ["钹"] = "鈸", - ["刿"] = "劌", - ["脱"] = "脫", - ["钺"] = "鉞", - ["剑"] = "劍", - ["脶"] = "腡", - ["钻"] = "鑽", - ["脔"] = "臠", - ["脸"] = "臉", - ["钼"] = "鉬", - ["寻"] = "尋", - ["腊"] = "臘", - ["钽"] = "鉭", - ["伟"] = "偉", - ["腌"] = "醃", - ["钾"] = "鉀", - ["优"] = "優", - ["腘"] = "膕", - ["钿"] = "鈿", - ["沧"] = "滄", - ["腭"] = "齶", - ["铀"] = "鈾", - ["湿"] = "溼", - ["腻"] = "膩", - ["铁"] = "鐵", - ["沤"] = "漚", - ["腼"] = "靦", - ["铂"] = "鉑", - ["腽"] = "膃", - ["没"] = "沒", - ["铃"] = "鈴", - ["腾"] = "騰", - ["岘"] = "峴", - ["铄"] = "鑠", - ["膑"] = "臏", - ["岚"] = "嵐", - ["铅"] = "鉛", - ["膻"] = "羶", - ["岛"] = "島", - ["铆"] = "鉚", - ["臜"] = "臢", - ["岩"] = "巖", - ["铇"] = "鉋", - ["致"] = "致", - ["岭"] = "嶺", - ["舆"] = "輿", - ["纥"] = "紇", - ["岳"] = "嶽", - ["舍"] = "舍", - ["纣"] = "紂", - ["舣"] = "艤", - ["铊"] = "鉈", - ["红"] = "紅", - ["舰"] = "艦", - ["铋"] = "鉍", - ["纡"] = "紆", - ["舱"] = "艙", - ["铌"] = "鈮", - ["纠"] = "糾", - ["舻"] = "艫", - ["铍"] = "鈹", - ["局"] = "局", - ["艰"] = "艱", - ["铎"] = "鐸", - ["尽"] = "盡", - ["艳"] = "豔", - ["铏"] = "鉶", - ["尸"] = "屍", - ["艺"] = "藝", - ["铐"] = "銬", - ["尴"] = "尷", - ["节"] = "節", - ["铑"] = "銠", - ["尧"] = "堯", - ["芈"] = "羋", - ["铒"] = "鉺", - ["狱"] = "獄", - ["芗"] = "薌", - ["铓"] = "鋩", - ["瓮"] = "甕", - ["芜"] = "蕪", - ["铔"] = "錏", - ["啰"] = "囉", - ["芦"] = "蘆", - ["铕"] = "銪", - ["啴"] = "嘽", - ["芸"] = "芸", - ["铖"] = "鋮", - ["苁"] = "蓯", - ["崭"] = "嶄", - ["铗"] = "鋏", - ["苇"] = "葦", - ["嵘"] = "嶸", - ["喷"] = "噴", - ["苈"] = "藶", - ["嵚"] = "嶔", - ["喽"] = "嘍", - ["苋"] = "莧", - ["嵝"] = "嶁", - ["喾"] = "嚳", - ["苌"] = "萇", - ["巅"] = "巔", - ["嗫"] = "囁", - ["苍"] = "蒼", - ["巨"] = "巨", - ["嗳"] = "噯", - ["苎"] = "苧", - ["苧"] = "薴", - ["嘘"] = "噓", - ["苏"] = "蘇", - ["忆"] = "憶", - ["嘤"] = "嚶", - ["币"] = "幣", - ["忏"] = "懺", - ["嘱"] = "囑", - ["布"] = "布", - ["志"] = "志", - ["噜"] = "嚕", - ["忧"] = "憂", - ["妇"] = "婦", - ["噪"] = "噪", - ["念"] = "念", - ["嚣"] = "囂", - ["帏"] = "幃", - ["强"] = "強", - ["回"] = "回", - ["帐"] = "帳", - ["团"] = "團", - ["号"] = "號", - ["帘"] = "簾", - ["夸"] = "誇", - ["只"] = "只", - ["帜"] = "幟", - ["咨"] = "諮", - ["叙"] = "敘", - ["带"] = "帶", - ["咝"] = "噝", - ["发"] = "發", - ["帧"] = "幀", - ["咙"] = "嚨", - ["叇"] = "靆", - ["席"] = "席", - ["叆"] = "靉", - ["帮"] = "幫", - ["怆"] = "愴", - ["叁"] = "叄", - ["帱"] = "幬", - ["怜"] = "憐", - ["厮"] = "廝", - ["帻"] = "幘", - ["总"] = "總", - ["呗"] = "唄", - ["帼"] = "幗", - ["怼"] = "懟", - ["埘"] = "塒", - ["幂"] = "冪", - ["怿"] = "懌", - ["垲"] = "塏", - ["干"] = "幹", - ["恋"] = "戀", - ["窍"] = "竅", - ["并"] = "並", - ["恒"] = "恆", - ["垭"] = "埡", - ["幸"] = "幸", - ["恤"] = "恤", - ["广"] = "廣", - ["恳"] = "懇", - ["向"] = "向", - ["庄"] = "莊", - ["恶"] = "惡", - ["卺"] = "巹", - ["庆"] = "慶", - ["恸"] = "慟", - ["佥"] = "僉", - ["床"] = "牀", - ["恹"] = "懨", - ["卫"] = "衛", - ["庐"] = "廬", - ["恺"] = "愷", - ["坟"] = "墳", - ["庑"] = "廡", - ["恻"] = "惻", - ["坜"] = "壢", - ["库"] = "庫", - ["恼"] = "惱", - ["卖"] = "賣", - ["应"] = "應", - ["恽"] = "惲", - ["华"] = "華", - ["庙"] = "廟", - ["悦"] = "悅", - ["场"] = "場", - ["庞"] = "龐", - ["悫"] = "愨", - ["搅"] = "攪", - ["废"] = "廢", - ["悬"] = "懸", - ["囵"] = "圇", - ["庵"] = "庵", - ["悭"] = "慳", - ["庼"] = "廎", - ["䌼"] = "綐", - ["悮"] = "悞", - ["廪"] = "廩", - ["吊"] = "吊", - ["悯"] = "憫", - ["开"] = "開", - ["柽"] = "檉", - ["惊"] = "驚", - ["异"] = "異", - ["柜"] = "櫃", - ["惧"] = "懼", - ["弃"] = "棄", - ["杰"] = "傑", - ["惨"] = "慘", - ["弑"] = "弒", - ["瓒"] = "瓚", - ["惩"] = "懲", - ["张"] = "張", - ["絷"] = "縶", - ["惫"] = "憊", - ["弥"] = "彌", - ["犹"] = "猶", - ["惬"] = "愜", - ["牍"] = "牘", - ["烛"] = "燭", - ["惭"] = "慚", - ["凶"] = "兇", - ["纺"] = "紡", - ["惮"] = "憚", - ["纼"] = "紖", - ["纽"] = "紐", - ["惯"] = "慣", - ["线"] = "線", - ["绀"] = "紺", - ["痉"] = "痙", - ["绂"] = "紱", - ["愠"] = "慍", - ["痒"] = "癢", - ["绅"] = "紳", - ["愤"] = "憤", - ["痖"] = "瘂", - ["绁"] = "紲", - ["愦"] = "憒", - ["痨"] = "癆", - ["㑩"] = "儸", - ["愿"] = "願", - ["痪"] = "瘓", - ["㑈"] = "倲", - ["慑"] = "懾", - ["痫"] = "癇", - ["册"] = "冊", - ["慭"] = "憖", - ["痴"] = "癡", - ["纟"] = "糹", - ["懑"] = "懣", - ["瘅"] = "癉", - ["緼"] = "縕", - ["懒"] = "懶", - ["瘆"] = "瘮", - ["狰"] = "猙", - ["懔"] = "懍", - ["瘗"] = "瘞", - ["疗"] = "療", - ["戆"] = "戇", - ["瘘"] = "瘻", - ["疮"] = "瘡", - ["戋"] = "戔", - ["瘪"] = "癟", - ["聂"] = "聶", - ["戏"] = "戲", - ["瘫"] = "癱", - ["滨"] = "濱", - ["戗"] = "戧", - ["瘾"] = "癮", - ["宾"] = "賓", - ["战"] = "戰", - ["瘿"] = "癭", - ["愈"] = "愈", - ["戚"] = "戚", - ["癞"] = "癩", - ["戬"] = "戩", - ["荤"] = "葷", - ["癣"] = "癬", - ["戯"] = "戱", - ["滤"] = "濾", - ["癫"] = "癲", - ["户"] = "戶", - ["贩"] = "販", - ["皂"] = "皁", - ["才"] = "才", - ["贠"] = "貟", - ["皑"] = "皚", - ["贪"] = "貪", - ["扑"] = "撲", - ["皱"] = "皺", - ["购"] = "購", - ["托"] = "託", - ["皲"] = "皸", - ["贰"] = "貳", - ["贱"] = "賤", - ["盏"] = "盞", - ["𫐓"] = "輮", - ["贴"] = "貼", - ["盐"] = "鹽", - ["𫐔"] = "𨍰", - ["贷"] = "貸", - ["詟"] = "讋", - ["𫐕"] = "轊", - ["贻"] = "貽", - ["誉"] = "譽", - ["𫐖"] = "轇", - ["输"] = "輸", -} diff --git a/scripts/uosc_danmaku/dicts/t2s_chars.lua b/scripts/uosc_danmaku/dicts/t2s_chars.lua deleted file mode 100644 index 5d6e8bd..0000000 --- a/scripts/uosc_danmaku/dicts/t2s_chars.lua +++ /dev/null @@ -1,4115 +0,0 @@ -return { - ["㑮"] = "𫝈", - ["㑯"] = "㑔", - ["㑳"] = "㑇", - ["㑶"] = "㐹", - ["㒓"] = "𠉂", - ["㓄"] = "𪠟", - ["㓨"] = "刾", - ["㔋"] = "𪟎", - ["㖮"] = "𪠵", - ["㗲"] = "𠵾", - ["㗿"] = "𪡛", - ["㘉"] = "𠰱", - ["㘓"] = "𪢌", - ["㘔"] = "𫬐", - ["㘚"] = "㘎", - ["㛝"] = "𫝦", - ["㜄"] = "㚯", - ["㜏"] = "㛣", - ["㜐"] = "𫝧", - ["㜗"] = "𡞋", - ["㜢"] = "𡞱", - ["㜷"] = "𡝠", - ["㞞"] = "𪨊", - ["㟺"] = "𪩇", - ["㠏"] = "㟆", - ["㠣"] = "𫵷", - ["㢗"] = "𪪑", - ["㢝"] = "𢋈", - ["㥮"] = "㤘", - ["㦎"] = "𢛯", - ["㦛"] = "𢗓", - ["㦞"] = "𪫷", - ["㨻"] = "𪮃", - ["㩋"] = "𪮋", - ["㩜"] = "㨫", - ["㩳"] = "㧐", - ["㩵"] = "擜", - ["㪎"] = "𪯋", - ["㯤"] = "𣘐", - ["㰙"] = "𣗙", - ["㵗"] = "𣳆", - ["㵾"] = "𪷍", - ["㶆"] = "𫞛", - ["㷍"] = "𤆢", - ["㷿"] = "𤈷", - ["㸇"] = "𤎺", - ["㹽"] = "𫞣", - ["㺏"] = "𤠋", - ["㺜"] = "𪺻", - ["㻶"] = "𪼋", - ["㿖"] = "𪽮", - ["㿗"] = "𤻊", - ["㿧"] = "𤽯", - ["䀉"] = "𥁢", - ["䀹"] = "𥅴", - ["䁪"] = "𥇢", - ["䁻"] = "䀥", - ["䂎"] = "𥎝", - ["䃮"] = "鿎", - ["䅐"] = "𫀨", - ["䅳"] = "𫀬", - ["䆉"] = "𫁂", - ["䉑"] = "𫁲", - ["䉙"] = "𥬀", - ["䉬"] = "𫂈", - ["䉲"] = "𥮜", - ["䉶"] = "𫁷", - ["䊭"] = "𥺅", - ["䊷"] = "䌶", - ["䊺"] = "𫄚", - ["䋃"] = "𫄜", - ["䋔"] = "𫄞", - ["䋙"] = "䌺", - ["䋚"] = "䌻", - ["䋦"] = "𫄩", - ["䋹"] = "䌿", - ["䋻"] = "䌾", - ["䋼"] = "𫄮", - ["䋿"] = "𦈓", - ["䌈"] = "𦈖", - ["䌋"] = "𦈘", - ["䌖"] = "𦈜", - ["䌝"] = "𦈟", - ["䌟"] = "𦈞", - ["䌥"] = "𦈠", - ["䌰"] = "𦈙", - ["䍤"] = "𫅅", - ["䍦"] = "䍠", - ["䍽"] = "𦍠", - ["䎙"] = "𫅭", - ["䎱"] = "䎬", - ["䓣"] = "𬜯", - ["䕤"] = "𫟕", - ["䕳"] = "𦰴", - ["䖅"] = "𫟑", - ["䗅"] = "𫊪", - ["䗿"] = "𧉞", - ["䙔"] = "𫋲", - ["䙡"] = "䙌", - ["䙱"] = "𧜭", - ["䚩"] = "𫌯", - ["䛄"] = "𫍠", - ["䛳"] = "𫍫", - ["䜀"] = "䜧", - ["䜖"] = "𫟢", - ["䝭"] = "𫎧", - ["䝻"] = "𧹕", - ["䝼"] = "䞍", - ["䞈"] = "𧹑", - ["䞋"] = "𫎪", - ["䞓"] = "𫎭", - ["䟃"] = "𫎺", - ["䟆"] = "𫎳", - ["䟐"] = "𫎱", - ["䠆"] = "𫏃", - ["䠱"] = "𨅛", - ["䡐"] = "𫟤", - ["䡩"] = "𫟥", - ["䡵"] = "𫟦", - ["䢨"] = "𨑹", - ["䤤"] = "𫟺", - ["䥄"] = "𫠀", - ["䥇"] = "䦂", - ["䥑"] = "鿏", - ["䥕"] = "𬭯", - ["䥗"] = "𫔋", - ["䥩"] = "𨱖", - ["䥯"] = "𫔆", - ["䥱"] = "䥾", - ["䦘"] = "𨸄", - ["䦛"] = "䦶", - ["䦟"] = "䦷", - ["䦯"] = "𫔵", - ["䦳"] = "𨷿", - ["䧢"] = "𨸟", - ["䪊"] = "𫖅", - ["䪏"] = "𩏼", - ["䪗"] = "𩐀", - ["䪘"] = "𩏿", - ["䪴"] = "𫖫", - ["䪾"] = "𫖬", - ["䫀"] = "𫖱", - ["䫂"] = "𫖰", - ["䫟"] = "𫖲", - ["䫴"] = "𩖗", - ["䫶"] = "𫖺", - ["䫻"] = "𫗇", - ["䫾"] = "𫠈", - ["䬓"] = "𫗊", - ["䬘"] = "𩙮", - ["䬝"] = "𩙯", - ["䬞"] = "𩙧", - ["䬧"] = "𫗟", - ["䭀"] = "𩠇", - ["䭃"] = "𩠈", - ["䭑"] = "𫗱", - ["䭔"] = "𫗰", - ["䭿"] = "𩧭", - ["䮄"] = "𫠊", - ["䮝"] = "𩧰", - ["䮞"] = "𩨁", - ["䮠"] = "𩧿", - ["䮫"] = "𩨇", - ["䮰"] = "𫘮", - ["䮳"] = "𩨏", - ["䮾"] = "𩧪", - ["䯀"] = "䯅", - ["䯤"] = "𩩈", - ["䰾"] = "鲃", - ["䱀"] = "𫚐", - ["䱁"] = "𫚏", - ["䱙"] = "𩾈", - ["䱧"] = "𫚠", - ["䱬"] = "𩾊", - ["䱰"] = "𩾋", - ["䱷"] = "䲣", - ["䱸"] = "𫠑", - ["䱽"] = "䲝", - ["䲁"] = "鳚", - ["䲅"] = "𫚜", - ["䲖"] = "𩾂", - ["䲘"] = "鳤", - ["䲰"] = "𪉂", - ["䳜"] = "𫛬", - ["䳢"] = "𫛰", - ["䳤"] = "𫛮", - ["䳧"] = "𫛺", - ["䳫"] = "𫛼", - ["䴉"] = "鹮", - ["䴋"] = "𫜅", - ["䴬"] = "𪎈", - ["䴱"] = "𫜒", - ["䴴"] = "𪎋", - ["䴽"] = "𫜔", - ["䵳"] = "𪑅", - ["䵴"] = "𫜙", - ["䶕"] = "𫜨", - ["䶲"] = "𫜳", - ["丟"] = "丢", - ["並"] = "并", - ["乾"] = "干", - ["亂"] = "乱", - ["亙"] = "亘", - ["亞"] = "亚", - ["佇"] = "伫", - ["佈"] = "布", - ["佔"] = "占", - ["併"] = "并", - ["來"] = "来", - ["侖"] = "仑", - ["侶"] = "侣", - ["侷"] = "局", - ["俁"] = "俣", - ["係"] = "系", - ["俓"] = "𠇹", - ["俔"] = "伣", - ["俠"] = "侠", - ["俥"] = "伡", - ["俬"] = "私", - ["倀"] = "伥", - ["倆"] = "俩", - ["倈"] = "俫", - ["倉"] = "仓", - ["個"] = "个", - ["們"] = "们", - ["倖"] = "幸", - ["倫"] = "伦", - ["倲"] = "㑈", - ["偉"] = "伟", - ["偑"] = "㐽", - ["側"] = "侧", - ["偵"] = "侦", - ["偽"] = "伪", - ["傌"] = "㐷", - ["傑"] = "杰", - ["傖"] = "伧", - ["傘"] = "伞", - ["備"] = "备", - ["傢"] = "家", - ["傭"] = "佣", - ["傯"] = "偬", - ["傳"] = "传", - ["傴"] = "伛", - ["債"] = "债", - ["傷"] = "伤", - ["傾"] = "倾", - ["僂"] = "偻", - ["僅"] = "仅", - ["僉"] = "佥", - ["僑"] = "侨", - ["僕"] = "仆", - ["僞"] = "伪", - ["僤"] = "𫢸", - ["僥"] = "侥", - ["僨"] = "偾", - ["僱"] = "雇", - ["價"] = "价", - ["儀"] = "仪", - ["儁"] = "俊", - ["儂"] = "侬", - ["億"] = "亿", - ["儈"] = "侩", - ["儉"] = "俭", - ["儎"] = "傤", - ["儐"] = "傧", - ["儔"] = "俦", - ["儕"] = "侪", - ["儘"] = "尽", - ["償"] = "偿", - ["儣"] = "𠆲", - ["優"] = "优", - ["儭"] = "𠋆", - ["儲"] = "储", - ["儷"] = "俪", - ["儸"] = "㑩", - ["儺"] = "傩", - ["儻"] = "傥", - ["儼"] = "俨", - ["兇"] = "凶", - ["兌"] = "兑", - ["兒"] = "儿", - ["兗"] = "兖", - ["內"] = "内", - ["兩"] = "两", - ["冊"] = "册", - ["冑"] = "胄", - ["冪"] = "幂", - ["凈"] = "净", - ["凍"] = "冻", - ["凙"] = "𪞝", - ["凜"] = "凛", - ["凱"] = "凯", - ["別"] = "别", - ["刪"] = "删", - ["剄"] = "刭", - ["則"] = "则", - ["剋"] = "克", - ["剎"] = "刹", - ["剗"] = "刬", - ["剛"] = "刚", - ["剝"] = "剥", - ["剮"] = "剐", - ["剴"] = "剀", - ["創"] = "创", - ["剷"] = "铲", - ["剾"] = "𠛅", - ["劃"] = "划", - ["劇"] = "剧", - ["劉"] = "刘", - ["劊"] = "刽", - ["劌"] = "刿", - ["劍"] = "剑", - ["劏"] = "㓥", - ["劑"] = "剂", - ["劚"] = "㔉", - ["勁"] = "劲", - ["勑"] = "𠡠", - ["動"] = "动", - ["務"] = "务", - ["勛"] = "勋", - ["勝"] = "胜", - ["勞"] = "劳", - ["勢"] = "势", - ["勣"] = "𪟝", - ["勩"] = "勚", - ["勱"] = "劢", - ["勳"] = "勋", - ["勵"] = "励", - ["勸"] = "劝", - ["勻"] = "匀", - ["匭"] = "匦", - ["匯"] = "汇", - ["匱"] = "匮", - ["區"] = "区", - ["協"] = "协", - ["卹"] = "恤", - ["卻"] = "却", - ["卽"] = "即", - ["厙"] = "厍", - ["厠"] = "厕", - ["厤"] = "历", - ["厭"] = "厌", - ["厲"] = "厉", - ["厴"] = "厣", - ["參"] = "参", - ["叄"] = "叁", - ["叢"] = "丛", - ["吒"] = "咤", - ["吳"] = "吴", - ["吶"] = "呐", - ["呂"] = "吕", - ["咼"] = "呙", - ["員"] = "员", - ["哯"] = "𠯟", - ["唄"] = "呗", - ["唓"] = "𪠳", - ["唸"] = "念", - ["問"] = "问", - ["啓"] = "启", - ["啞"] = "哑", - ["啟"] = "启", - ["啢"] = "唡", - ["喎"] = "㖞", - ["喚"] = "唤", - ["喪"] = "丧", - ["喫"] = "吃", - ["喬"] = "乔", - ["單"] = "单", - ["喲"] = "哟", - ["嗆"] = "呛", - ["嗇"] = "啬", - ["嗊"] = "唝", - ["嗎"] = "吗", - ["嗚"] = "呜", - ["嗩"] = "唢", - ["嗰"] = "𠮶", - ["嗶"] = "哔", - ["嗹"] = "𪡏", - ["嘆"] = "叹", - ["嘍"] = "喽", - ["嘓"] = "啯", - ["嘔"] = "呕", - ["嘖"] = "啧", - ["嘗"] = "尝", - ["嘜"] = "唛", - ["嘩"] = "哗", - ["嘪"] = "𪡃", - ["嘮"] = "唠", - ["嘯"] = "啸", - ["嘰"] = "叽", - ["嘳"] = "𪡞", - ["嘵"] = "哓", - ["嘸"] = "呒", - ["嘺"] = "𪡀", - ["嘽"] = "啴", - ["噁"] = "恶", - ["噅"] = "𠯠", - ["噓"] = "嘘", - ["噚"] = "㖊", - ["噝"] = "咝", - ["噞"] = "𪡋", - ["噠"] = "哒", - ["噥"] = "哝", - ["噦"] = "哕", - ["噯"] = "嗳", - ["噲"] = "哙", - ["噴"] = "喷", - ["噸"] = "吨", - ["噹"] = "当", - ["嚀"] = "咛", - ["嚇"] = "吓", - ["嚌"] = "哜", - ["嚐"] = "尝", - ["嚕"] = "噜", - ["嚙"] = "啮", - ["嚛"] = "𪠸", - ["嚥"] = "咽", - ["嚦"] = "呖", - ["嚧"] = "𠰷", - ["嚨"] = "咙", - ["嚮"] = "向", - ["嚲"] = "亸", - ["嚳"] = "喾", - ["嚴"] = "严", - ["嚶"] = "嘤", - ["嚽"] = "𪢕", - ["囀"] = "啭", - ["囁"] = "嗫", - ["囂"] = "嚣", - ["囃"] = "𠱞", - ["囅"] = "冁", - ["囈"] = "呓", - ["囉"] = "啰", - ["囌"] = "苏", - ["囑"] = "嘱", - ["囒"] = "𪢠", - ["囪"] = "囱", - ["圇"] = "囵", - ["國"] = "国", - ["圍"] = "围", - ["園"] = "园", - ["圓"] = "圆", - ["圖"] = "图", - ["團"] = "团", - ["圞"] = "𪢮", - ["垻"] = "坝", - ["埡"] = "垭", - ["埨"] = "𫭢", - ["埬"] = "𪣆", - ["埰"] = "采", - ["執"] = "执", - ["堅"] = "坚", - ["堊"] = "垩", - ["堖"] = "垴", - ["堚"] = "𪣒", - ["堝"] = "埚", - ["堯"] = "尧", - ["報"] = "报", - ["場"] = "场", - ["塊"] = "块", - ["塋"] = "茔", - ["塏"] = "垲", - ["塒"] = "埘", - ["塗"] = "涂", - ["塚"] = "冢", - ["塢"] = "坞", - ["塤"] = "埙", - ["塵"] = "尘", - ["塸"] = "𫭟", - ["塹"] = "堑", - ["塿"] = "𪣻", - ["墊"] = "垫", - ["墜"] = "坠", - ["墠"] = "𫮃", - ["墮"] = "堕", - ["墰"] = "坛", - ["墲"] = "𪢸", - ["墳"] = "坟", - ["墶"] = "垯", - ["墻"] = "墙", - ["墾"] = "垦", - ["壇"] = "坛", - ["壈"] = "𡒄", - ["壋"] = "垱", - ["壎"] = "埙", - ["壓"] = "压", - ["壗"] = "𡋤", - ["壘"] = "垒", - ["壙"] = "圹", - ["壚"] = "垆", - ["壜"] = "坛", - ["壞"] = "坏", - ["壟"] = "垄", - ["壠"] = "垅", - ["壢"] = "坜", - ["壣"] = "𪤚", - ["壩"] = "坝", - ["壪"] = "塆", - ["壯"] = "壮", - ["壺"] = "壶", - ["壼"] = "壸", - ["壽"] = "寿", - ["夠"] = "够", - ["夢"] = "梦", - ["夥"] = "伙", - ["夾"] = "夹", - ["奐"] = "奂", - ["奧"] = "奥", - ["奩"] = "奁", - ["奪"] = "夺", - ["奬"] = "奖", - ["奮"] = "奋", - ["奼"] = "姹", - ["妝"] = "妆", - ["姍"] = "姗", - ["姦"] = "奸", - ["娙"] = "𫰛", - ["娛"] = "娱", - ["婁"] = "娄", - ["婡"] = "𫝫", - ["婦"] = "妇", - ["婭"] = "娅", - ["媈"] = "𫝨", - ["媧"] = "娲", - ["媯"] = "妫", - ["媰"] = "㛀", - ["媼"] = "媪", - ["媽"] = "妈", - ["嫋"] = "袅", - ["嫗"] = "妪", - ["嫵"] = "妩", - ["嫺"] = "娴", - ["嫻"] = "娴", - ["嫿"] = "婳", - ["嬀"] = "妫", - ["嬃"] = "媭", - ["嬇"] = "𫝬", - ["嬈"] = "娆", - ["嬋"] = "婵", - ["嬌"] = "娇", - ["嬙"] = "嫱", - ["嬡"] = "嫒", - ["嬣"] = "𪥰", - ["嬤"] = "嬷", - ["嬦"] = "𫝩", - ["嬪"] = "嫔", - ["嬰"] = "婴", - ["嬸"] = "婶", - ["嬻"] = "𪥿", - ["孃"] = "娘", - ["孄"] = "𫝮", - ["孆"] = "𫝭", - ["孇"] = "𪥫", - ["孋"] = "㛤", - ["孌"] = "娈", - ["孎"] = "𡠟", - ["孫"] = "孙", - ["學"] = "学", - ["孻"] = "𡥧", - ["孾"] = "𪧀", - ["孿"] = "孪", - ["宮"] = "宫", - ["寀"] = "采", - ["寠"] = "𪧘", - ["寢"] = "寝", - ["實"] = "实", - ["寧"] = "宁", - ["審"] = "审", - ["寫"] = "写", - ["寬"] = "宽", - ["寵"] = "宠", - ["寶"] = "宝", - ["將"] = "将", - ["專"] = "专", - ["尋"] = "寻", - ["對"] = "对", - ["導"] = "导", - ["尷"] = "尴", - ["屆"] = "届", - ["屍"] = "尸", - ["屓"] = "屃", - ["屜"] = "屉", - ["屢"] = "屡", - ["層"] = "层", - ["屨"] = "屦", - ["屩"] = "𪨗", - ["屬"] = "属", - ["岡"] = "冈", - ["峯"] = "峰", - ["峴"] = "岘", - ["島"] = "岛", - ["峽"] = "峡", - ["崍"] = "崃", - ["崑"] = "昆", - ["崗"] = "岗", - ["崙"] = "仑", - ["崢"] = "峥", - ["崬"] = "岽", - ["嵐"] = "岚", - ["嵗"] = "岁", - ["嵼"] = "𡶴", - ["嵽"] = "𫶇", - ["嵾"] = "㟥", - ["嶁"] = "嵝", - ["嶄"] = "崭", - ["嶇"] = "岖", - ["嶈"] = "𡺃", - ["嶔"] = "嵚", - ["嶗"] = "崂", - ["嶘"] = "𡺄", - ["嶠"] = "峤", - ["嶢"] = "峣", - ["嶧"] = "峄", - ["嶨"] = "峃", - ["嶮"] = "崄", - ["嶸"] = "嵘", - ["嶹"] = "𫝵", - ["嶺"] = "岭", - ["嶼"] = "屿", - ["嶽"] = "岳", - ["巊"] = "𪩎", - ["巋"] = "岿", - ["巒"] = "峦", - ["巔"] = "巅", - ["巖"] = "岩", - ["巗"] = "𪨷", - ["巘"] = "𪩘", - ["巰"] = "巯", - ["巹"] = "卺", - ["帥"] = "帅", - ["師"] = "师", - ["帳"] = "帐", - ["帶"] = "带", - ["幀"] = "帧", - ["幃"] = "帏", - ["幓"] = "㡎", - ["幗"] = "帼", - ["幘"] = "帻", - ["幝"] = "𪩷", - ["幟"] = "帜", - ["幣"] = "币", - ["幩"] = "𪩸", - ["幫"] = "帮", - ["幬"] = "帱", - ["幹"] = "干", - ["幾"] = "几", - ["庫"] = "库", - ["廁"] = "厕", - ["廂"] = "厢", - ["廄"] = "厩", - ["廈"] = "厦", - ["廎"] = "庼", - ["廕"] = "荫", - ["廚"] = "厨", - ["廝"] = "厮", - ["廞"] = "𫷷", - ["廟"] = "庙", - ["廠"] = "厂", - ["廡"] = "庑", - ["廢"] = "废", - ["廣"] = "广", - ["廧"] = "𪪞", - ["廩"] = "廪", - ["廬"] = "庐", - ["廳"] = "厅", - ["弒"] = "弑", - ["弔"] = "吊", - ["弳"] = "弪", - ["張"] = "张", - ["強"] = "强", - ["彃"] = "𪪼", - ["彄"] = "𫸩", - ["彆"] = "别", - ["彈"] = "弹", - ["彌"] = "弥", - ["彎"] = "弯", - ["彔"] = "录", - ["彙"] = "汇", - ["彠"] = "彟", - ["彥"] = "彦", - ["彫"] = "雕", - ["彲"] = "彨", - ["彷"] = "彷", - ["彿"] = "佛", - ["後"] = "后", - ["徑"] = "径", - ["從"] = "从", - ["徠"] = "徕", - ["復"] = "复", - ["徵"] = "征", - ["徹"] = "彻", - ["徿"] = "𪫌", - ["恆"] = "恒", - ["恥"] = "耻", - ["悅"] = "悦", - ["悞"] = "悮", - ["悵"] = "怅", - ["悶"] = "闷", - ["悽"] = "凄", - ["惡"] = "恶", - ["惱"] = "恼", - ["惲"] = "恽", - ["惻"] = "恻", - ["愛"] = "爱", - ["愜"] = "惬", - ["愨"] = "悫", - ["愴"] = "怆", - ["愷"] = "恺", - ["愻"] = "𢙏", - ["愾"] = "忾", - ["慄"] = "栗", - ["態"] = "态", - ["慍"] = "愠", - ["慘"] = "惨", - ["慚"] = "惭", - ["慟"] = "恸", - ["慣"] = "惯", - ["慤"] = "悫", - ["慪"] = "怄", - ["慫"] = "怂", - ["慮"] = "虑", - ["慳"] = "悭", - ["慶"] = "庆", - ["慺"] = "㥪", - ["慼"] = "戚", - ["慾"] = "欲", - ["憂"] = "忧", - ["憊"] = "惫", - ["憐"] = "怜", - ["憑"] = "凭", - ["憒"] = "愦", - ["憖"] = "慭", - ["憚"] = "惮", - ["憢"] = "𢙒", - ["憤"] = "愤", - ["憫"] = "悯", - ["憮"] = "怃", - ["憲"] = "宪", - ["憶"] = "忆", - ["憸"] = "𪫺", - ["憹"] = "𢙐", - ["懀"] = "𢙓", - ["懇"] = "恳", - ["應"] = "应", - ["懌"] = "怿", - ["懍"] = "懔", - ["懎"] = "𢠁", - ["懞"] = "蒙", - ["懟"] = "怼", - ["懣"] = "懑", - ["懤"] = "㤽", - ["懨"] = "恹", - ["懲"] = "惩", - ["懶"] = "懒", - ["懷"] = "怀", - ["懸"] = "悬", - ["懺"] = "忏", - ["懼"] = "惧", - ["懾"] = "慑", - ["戀"] = "恋", - ["戇"] = "戆", - ["戔"] = "戋", - ["戧"] = "戗", - ["戩"] = "戬", - ["戰"] = "战", - ["戱"] = "戯", - ["戲"] = "戏", - ["戶"] = "户", - ["拋"] = "抛", - ["挩"] = "捝", - ["挱"] = "挲", - ["挾"] = "挟", - ["捨"] = "舍", - ["捫"] = "扪", - ["捱"] = "挨", - ["捲"] = "卷", - ["掃"] = "扫", - ["掄"] = "抡", - ["掆"] = "㧏", - ["掗"] = "挜", - ["掙"] = "挣", - ["掚"] = "𪭵", - ["掛"] = "挂", - ["採"] = "采", - ["揀"] = "拣", - ["揚"] = "扬", - ["換"] = "换", - ["揮"] = "挥", - ["揯"] = "搄", - ["損"] = "损", - ["搖"] = "摇", - ["搗"] = "捣", - ["搵"] = "揾", - ["搶"] = "抢", - ["摋"] = "𢫬", - ["摐"] = "𪭢", - ["摑"] = "掴", - ["摜"] = "掼", - ["摟"] = "搂", - ["摯"] = "挚", - ["摳"] = "抠", - ["摶"] = "抟", - ["摺"] = "折", - ["摻"] = "掺", - ["撈"] = "捞", - ["撊"] = "𪭾", - ["撏"] = "挦", - ["撐"] = "撑", - ["撓"] = "挠", - ["撝"] = "㧑", - ["撟"] = "挢", - ["撣"] = "掸", - ["撥"] = "拨", - ["撧"] = "𪮖", - ["撫"] = "抚", - ["撲"] = "扑", - ["撳"] = "揿", - ["撻"] = "挞", - ["撾"] = "挝", - ["撿"] = "捡", - ["擁"] = "拥", - ["擄"] = "掳", - ["擇"] = "择", - ["擊"] = "击", - ["擋"] = "挡", - ["擓"] = "㧟", - ["擔"] = "担", - ["據"] = "据", - ["擟"] = "𪭧", - ["擠"] = "挤", - ["擣"] = "捣", - ["擫"] = "𢬍", - ["擬"] = "拟", - ["擯"] = "摈", - ["擰"] = "拧", - ["擱"] = "搁", - ["擲"] = "掷", - ["擴"] = "扩", - ["擷"] = "撷", - ["擺"] = "摆", - ["擻"] = "擞", - ["擼"] = "撸", - ["擽"] = "㧰", - ["擾"] = "扰", - ["攄"] = "摅", - ["攆"] = "撵", - ["攋"] = "𪮶", - ["攏"] = "拢", - ["攔"] = "拦", - ["攖"] = "撄", - ["攙"] = "搀", - ["攛"] = "撺", - ["攜"] = "携", - ["攝"] = "摄", - ["攢"] = "攒", - ["攣"] = "挛", - ["攤"] = "摊", - ["攪"] = "搅", - ["攬"] = "揽", - ["敎"] = "教", - ["敓"] = "敚", - ["敗"] = "败", - ["敘"] = "叙", - ["敵"] = "敌", - ["數"] = "数", - ["斂"] = "敛", - ["斃"] = "毙", - ["斅"] = "𢽾", - ["斆"] = "敩", - ["斕"] = "斓", - ["斬"] = "斩", - ["斷"] = "断", - ["斸"] = "𣃁", - ["於"] = "于", - ["旂"] = "旗", - ["旣"] = "既", - ["昇"] = "升", - ["時"] = "时", - ["晉"] = "晋", - ["晛"] = "𬀪", - ["晝"] = "昼", - ["暈"] = "晕", - ["暉"] = "晖", - ["暐"] = "𬀩", - ["暘"] = "旸", - ["暢"] = "畅", - ["暫"] = "暂", - ["曄"] = "晔", - ["曆"] = "历", - ["曇"] = "昙", - ["曉"] = "晓", - ["曊"] = "𪰶", - ["曏"] = "向", - ["曖"] = "暧", - ["曠"] = "旷", - ["曥"] = "𣆐", - ["曨"] = "昽", - ["曬"] = "晒", - ["書"] = "书", - ["會"] = "会", - ["朥"] = "𦛨", - ["朧"] = "胧", - ["朮"] = "术", - ["東"] = "东", - ["枴"] = "拐", - ["柵"] = "栅", - ["柺"] = "拐", - ["査"] = "查", - ["桱"] = "𣐕", - ["桿"] = "杆", - ["梔"] = "栀", - ["梖"] = "𪱷", - ["梘"] = "枧", - ["梜"] = "𬂩", - ["條"] = "条", - ["梟"] = "枭", - ["梲"] = "棁", - ["棄"] = "弃", - ["棊"] = "棋", - ["棖"] = "枨", - ["棗"] = "枣", - ["棟"] = "栋", - ["棡"] = "㭎", - ["棧"] = "栈", - ["棲"] = "栖", - ["棶"] = "梾", - ["椏"] = "桠", - ["椲"] = "㭏", - ["楇"] = "𣒌", - ["楊"] = "杨", - ["楓"] = "枫", - ["楨"] = "桢", - ["業"] = "业", - ["極"] = "极", - ["榘"] = "矩", - ["榦"] = "干", - ["榪"] = "杩", - ["榮"] = "荣", - ["榲"] = "榅", - ["榿"] = "桤", - ["構"] = "构", - ["槍"] = "枪", - ["槓"] = "杠", - ["槤"] = "梿", - ["槧"] = "椠", - ["槨"] = "椁", - ["槫"] = "𣏢", - ["槮"] = "椮", - ["槳"] = "桨", - ["槶"] = "椢", - ["槼"] = "椝", - ["樁"] = "桩", - ["樂"] = "乐", - ["樅"] = "枞", - ["樑"] = "梁", - ["樓"] = "楼", - ["標"] = "标", - ["樞"] = "枢", - ["樠"] = "𣗊", - ["樢"] = "㭤", - ["樣"] = "样", - ["樤"] = "𣔌", - ["樧"] = "榝", - ["樫"] = "㭴", - ["樳"] = "桪", - ["樸"] = "朴", - ["樹"] = "树", - ["樺"] = "桦", - ["樿"] = "椫", - ["橈"] = "桡", - ["橋"] = "桥", - ["機"] = "机", - ["橢"] = "椭", - ["橫"] = "横", - ["橯"] = "𣓿", - ["檁"] = "檩", - ["檉"] = "柽", - ["檔"] = "档", - ["檜"] = "桧", - ["檟"] = "槚", - ["檢"] = "检", - ["檣"] = "樯", - ["檭"] = "𣘴", - ["檮"] = "梼", - ["檯"] = "台", - ["檳"] = "槟", - ["檵"] = "𪲛", - ["檸"] = "柠", - ["檻"] = "槛", - ["櫃"] = "柜", - ["櫅"] = "𪲎", - ["櫍"] = "𬃊", - ["櫓"] = "橹", - ["櫚"] = "榈", - ["櫛"] = "栉", - ["櫝"] = "椟", - ["櫞"] = "橼", - ["櫟"] = "栎", - ["櫠"] = "𪲮", - ["櫥"] = "橱", - ["櫧"] = "槠", - ["櫨"] = "栌", - ["櫪"] = "枥", - ["櫫"] = "橥", - ["櫬"] = "榇", - ["櫱"] = "蘖", - ["櫳"] = "栊", - ["櫸"] = "榉", - ["櫻"] = "樱", - ["欄"] = "栏", - ["欅"] = "榉", - ["欇"] = "𪳍", - ["權"] = "权", - ["欍"] = "𣐤", - ["欏"] = "椤", - ["欐"] = "𪲔", - ["欑"] = "𪴙", - ["欒"] = "栾", - ["欓"] = "𣗋", - ["欖"] = "榄", - ["欘"] = "𣚚", - ["欞"] = "棂", - ["欽"] = "钦", - ["歎"] = "叹", - ["歐"] = "欧", - ["歟"] = "欤", - ["歡"] = "欢", - ["歲"] = "岁", - ["歷"] = "历", - ["歸"] = "归", - ["歿"] = "殁", - ["殘"] = "残", - ["殞"] = "殒", - ["殢"] = "𣨼", - ["殤"] = "殇", - ["殨"] = "㱮", - ["殫"] = "殚", - ["殭"] = "僵", - ["殮"] = "殓", - ["殯"] = "殡", - ["殰"] = "㱩", - ["殲"] = "歼", - ["殺"] = "杀", - ["殻"] = "壳", - ["殼"] = "壳", - ["毀"] = "毁", - ["毆"] = "殴", - ["毊"] = "𪵑", - ["毿"] = "毵", - ["氂"] = "牦", - ["氈"] = "毡", - ["氌"] = "氇", - ["氣"] = "气", - ["氫"] = "氢", - ["氬"] = "氩", - ["氭"] = "𣱝", - ["氳"] = "氲", - ["氾"] = "泛", - ["汎"] = "泛", - ["汙"] = "污", - ["決"] = "决", - ["沒"] = "没", - ["沖"] = "冲", - ["況"] = "况", - ["泝"] = "溯", - ["洩"] = "泄", - ["洶"] = "汹", - ["浹"] = "浃", - ["浿"] = "𬇙", - ["涇"] = "泾", - ["涗"] = "涚", - ["涼"] = "凉", - ["淒"] = "凄", - ["淚"] = "泪", - ["淥"] = "渌", - ["淨"] = "净", - ["淩"] = "凌", - ["淪"] = "沦", - ["淵"] = "渊", - ["淶"] = "涞", - ["淺"] = "浅", - ["渙"] = "涣", - ["減"] = "减", - ["渢"] = "沨", - ["渦"] = "涡", - ["測"] = "测", - ["渾"] = "浑", - ["湊"] = "凑", - ["湋"] = "𣲗", - ["湞"] = "浈", - ["湧"] = "涌", - ["湯"] = "汤", - ["溈"] = "沩", - ["準"] = "准", - ["溝"] = "沟", - ["溡"] = "𪶄", - ["溫"] = "温", - ["溮"] = "浉", - ["溳"] = "涢", - ["溼"] = "湿", - ["滄"] = "沧", - ["滅"] = "灭", - ["滌"] = "涤", - ["滎"] = "荥", - ["滙"] = "汇", - ["滬"] = "沪", - ["滯"] = "滞", - ["滲"] = "渗", - ["滷"] = "卤", - ["滸"] = "浒", - ["滻"] = "浐", - ["滾"] = "滚", - ["滿"] = "满", - ["漁"] = "渔", - ["漊"] = "溇", - ["漍"] = "𬇹", - ["漚"] = "沤", - ["漢"] = "汉", - ["漣"] = "涟", - ["漬"] = "渍", - ["漲"] = "涨", - ["漵"] = "溆", - ["漸"] = "渐", - ["漿"] = "浆", - ["潁"] = "颍", - ["潑"] = "泼", - ["潔"] = "洁", - ["潕"] = "𣲘", - ["潙"] = "沩", - ["潚"] = "㴋", - ["潛"] = "潜", - ["潣"] = "𫞗", - ["潤"] = "润", - ["潯"] = "浔", - ["潰"] = "溃", - ["潷"] = "滗", - ["潿"] = "涠", - ["澀"] = "涩", - ["澅"] = "𣶩", - ["澆"] = "浇", - ["澇"] = "涝", - ["澐"] = "沄", - ["澗"] = "涧", - ["澠"] = "渑", - ["澤"] = "泽", - ["澦"] = "滪", - ["澩"] = "泶", - ["澫"] = "𬇕", - ["澬"] = "𫞚", - ["澮"] = "浍", - ["澱"] = "淀", - ["澾"] = "㳠", - ["濁"] = "浊", - ["濃"] = "浓", - ["濄"] = "㳡", - ["濆"] = "𣸣", - ["濕"] = "湿", - ["濘"] = "泞", - ["濚"] = "溁", - ["濛"] = "蒙", - ["濜"] = "浕", - ["濟"] = "济", - ["濤"] = "涛", - ["濧"] = "㳔", - ["濫"] = "滥", - ["濰"] = "潍", - ["濱"] = "滨", - ["濺"] = "溅", - ["濼"] = "泺", - ["濾"] = "滤", - ["濿"] = "𪵱", - ["瀂"] = "澛", - ["瀃"] = "𣽷", - ["瀅"] = "滢", - ["瀆"] = "渎", - ["瀇"] = "㲿", - ["瀉"] = "泻", - ["瀋"] = "沈", - ["瀏"] = "浏", - ["瀕"] = "濒", - ["瀘"] = "泸", - ["瀝"] = "沥", - ["瀟"] = "潇", - ["瀠"] = "潆", - ["瀦"] = "潴", - ["瀧"] = "泷", - ["瀨"] = "濑", - ["瀰"] = "弥", - ["瀲"] = "潋", - ["瀾"] = "澜", - ["灃"] = "沣", - ["灄"] = "滠", - ["灍"] = "𫞝", - ["灑"] = "洒", - ["灒"] = "𪷽", - ["灕"] = "漓", - ["灘"] = "滩", - ["灙"] = "𣺼", - ["灝"] = "灏", - ["灡"] = "㳕", - ["灣"] = "湾", - ["灤"] = "滦", - ["灧"] = "滟", - ["灩"] = "滟", - ["災"] = "灾", - ["為"] = "为", - ["烏"] = "乌", - ["烴"] = "烃", - ["無"] = "无", - ["煇"] = "𪸩", - ["煉"] = "炼", - ["煒"] = "炜", - ["煙"] = "烟", - ["煢"] = "茕", - ["煥"] = "焕", - ["煩"] = "烦", - ["煬"] = "炀", - ["煱"] = "㶽", - ["熂"] = "𪸕", - ["熅"] = "煴", - ["熉"] = "𤈶", - ["熌"] = "𤇄", - ["熒"] = "荧", - ["熓"] = "𤆡", - ["熗"] = "炝", - ["熚"] = "𤇹", - ["熡"] = "𤋏", - ["熰"] = "𬉼", - ["熱"] = "热", - ["熲"] = "颎", - ["熾"] = "炽", - ["燀"] = "𬊤", - ["燁"] = "烨", - ["燈"] = "灯", - ["燉"] = "炖", - ["燒"] = "烧", - ["燖"] = "𬊈", - ["燙"] = "烫", - ["燜"] = "焖", - ["營"] = "营", - ["燦"] = "灿", - ["燬"] = "毁", - ["燭"] = "烛", - ["燴"] = "烩", - ["燶"] = "㶶", - ["燻"] = "熏", - ["燼"] = "烬", - ["燾"] = "焘", - ["爃"] = "𫞡", - ["爄"] = "𤇃", - ["爇"] = "𦶟", - ["爍"] = "烁", - ["爐"] = "炉", - ["爖"] = "𤇭", - ["爛"] = "烂", - ["爥"] = "𪹳", - ["爧"] = "𫞠", - ["爭"] = "争", - ["爲"] = "为", - ["爺"] = "爷", - ["爾"] = "尔", - ["牀"] = "床", - ["牆"] = "墙", - ["牘"] = "牍", - ["牴"] = "牴", - ["牽"] = "牵", - ["犖"] = "荦", - ["犛"] = "牦", - ["犞"] = "𪺭", - ["犢"] = "犊", - ["犧"] = "牺", - ["狀"] = "状", - ["狹"] = "狭", - ["狽"] = "狈", - ["猌"] = "𪺽", - ["猙"] = "狰", - ["猶"] = "犹", - ["猻"] = "狲", - ["獁"] = "犸", - ["獃"] = "呆", - ["獄"] = "狱", - ["獅"] = "狮", - ["獊"] = "𪺷", - ["獎"] = "奖", - ["獨"] = "独", - ["獩"] = "𤞃", - ["獪"] = "狯", - ["獫"] = "猃", - ["獮"] = "狝", - ["獰"] = "狞", - ["獱"] = "㺍", - ["獲"] = "获", - ["獵"] = "猎", - ["獷"] = "犷", - ["獸"] = "兽", - ["獺"] = "獭", - ["獻"] = "献", - ["獼"] = "猕", - ["玀"] = "猡", - ["玁"] = "𤞤", - ["珼"] = "𫞥", - ["現"] = "现", - ["琱"] = "雕", - ["琺"] = "珐", - ["琿"] = "珲", - ["瑋"] = "玮", - ["瑒"] = "玚", - ["瑣"] = "琐", - ["瑤"] = "瑶", - ["瑩"] = "莹", - ["瑪"] = "玛", - ["瑲"] = "玱", - ["瑻"] = "𪻲", - ["瑽"] = "𪻐", - ["璉"] = "琏", - ["璊"] = "𫞩", - ["璕"] = "𬍤", - ["璗"] = "𬍡", - ["璝"] = "𪻺", - ["璡"] = "琎", - ["璣"] = "玑", - ["璦"] = "瑷", - ["璫"] = "珰", - ["璯"] = "㻅", - ["環"] = "环", - ["璵"] = "玙", - ["璸"] = "瑸", - ["璼"] = "𫞨", - ["璽"] = "玺", - ["璾"] = "𫞦", - ["璿"] = "璇", - ["瓄"] = "𪻨", - ["瓅"] = "𬍛", - ["瓊"] = "琼", - ["瓏"] = "珑", - ["瓔"] = "璎", - ["瓕"] = "𤦀", - ["瓚"] = "瓒", - ["瓛"] = "𤩽", - ["甌"] = "瓯", - ["甕"] = "瓮", - ["產"] = "产", - ["産"] = "产", - ["甦"] = "苏", - ["甯"] = "宁", - ["畝"] = "亩", - ["畢"] = "毕", - ["畫"] = "画", - ["異"] = "异", - ["畵"] = "画", - ["當"] = "当", - ["畼"] = "𪽈", - ["疇"] = "畴", - ["疊"] = "叠", - ["痙"] = "痉", - ["痠"] = "酸", - ["痮"] = "𪽪", - ["痾"] = "疴", - ["瘂"] = "痖", - ["瘋"] = "疯", - ["瘍"] = "疡", - ["瘓"] = "痪", - ["瘞"] = "瘗", - ["瘡"] = "疮", - ["瘧"] = "疟", - ["瘮"] = "瘆", - ["瘱"] = "𪽷", - ["瘲"] = "疭", - ["瘺"] = "瘘", - ["瘻"] = "瘘", - ["療"] = "疗", - ["癆"] = "痨", - ["癇"] = "痫", - ["癉"] = "瘅", - ["癐"] = "𤶊", - ["癒"] = "愈", - ["癘"] = "疠", - ["癟"] = "瘪", - ["癡"] = "痴", - ["癢"] = "痒", - ["癤"] = "疖", - ["癥"] = "症", - ["癧"] = "疬", - ["癩"] = "癞", - ["癬"] = "癣", - ["癭"] = "瘿", - ["癮"] = "瘾", - ["癰"] = "痈", - ["癱"] = "瘫", - ["癲"] = "癫", - ["發"] = "发", - ["皁"] = "皂", - ["皚"] = "皑", - ["皟"] = "𤾀", - ["皰"] = "疱", - ["皸"] = "皲", - ["皺"] = "皱", - ["盃"] = "杯", - ["盜"] = "盗", - ["盞"] = "盏", - ["盡"] = "尽", - ["監"] = "监", - ["盤"] = "盘", - ["盧"] = "卢", - ["盨"] = "𪾔", - ["盪"] = "荡", - ["眝"] = "𪾣", - ["眞"] = "真", - ["眥"] = "眦", - ["眾"] = "众", - ["睍"] = "𪾢", - ["睏"] = "困", - ["睜"] = "睁", - ["睞"] = "睐", - ["瞘"] = "眍", - ["瞜"] = "䁖", - ["瞞"] = "瞒", - ["瞤"] = "𥆧", - ["瞭"] = "瞭", - ["瞶"] = "瞆", - ["瞼"] = "睑", - ["矇"] = "蒙", - ["矉"] = "𪾸", - ["矑"] = "𪾦", - ["矓"] = "眬", - ["矚"] = "瞩", - ["矯"] = "矫", - ["硃"] = "朱", - ["硜"] = "硁", - ["硤"] = "硖", - ["硨"] = "砗", - ["硯"] = "砚", - ["碕"] = "埼", - ["碙"] = "𥐻", - ["碩"] = "硕", - ["碭"] = "砀", - ["碸"] = "砜", - ["確"] = "确", - ["碼"] = "码", - ["碽"] = "䂵", - ["磑"] = "硙", - ["磚"] = "砖", - ["磠"] = "硵", - ["磣"] = "碜", - ["磧"] = "碛", - ["磯"] = "矶", - ["磽"] = "硗", - ["磾"] = "䃅", - ["礄"] = "硚", - ["礆"] = "硷", - ["礎"] = "础", - ["礐"] = "𬒈", - ["礒"] = "𥐟", - ["礙"] = "碍", - ["礦"] = "矿", - ["礪"] = "砺", - ["礫"] = "砾", - ["礬"] = "矾", - ["礮"] = "𪿫", - ["礱"] = "砻", - ["祇"] = "祇", - ["祕"] = "秘", - ["祿"] = "禄", - ["禍"] = "祸", - ["禎"] = "祯", - ["禕"] = "祎", - ["禡"] = "祃", - ["禦"] = "御", - ["禪"] = "禅", - ["禮"] = "礼", - ["禰"] = "祢", - ["禱"] = "祷", - ["禿"] = "秃", - ["秈"] = "籼", - ["稅"] = "税", - ["稈"] = "秆", - ["稏"] = "䅉", - ["稜"] = "棱", - ["稟"] = "禀", - ["種"] = "种", - ["稱"] = "称", - ["穀"] = "谷", - ["穇"] = "䅟", - ["穌"] = "稣", - ["積"] = "积", - ["穎"] = "颖", - ["穠"] = "秾", - ["穡"] = "穑", - ["穢"] = "秽", - ["穩"] = "稳", - ["穫"] = "获", - ["穭"] = "穞", - ["窩"] = "窝", - ["窪"] = "洼", - ["窮"] = "穷", - ["窯"] = "窑", - ["窵"] = "窎", - ["窶"] = "窭", - ["窺"] = "窥", - ["竄"] = "窜", - ["竅"] = "窍", - ["竇"] = "窦", - ["竈"] = "灶", - ["竊"] = "窃", - ["竚"] = "𥩟", - ["竪"] = "竖", - ["竱"] = "𫁟", - ["競"] = "竞", - ["筆"] = "笔", - ["筍"] = "笋", - ["筧"] = "笕", - ["筴"] = "䇲", - ["箇"] = "个", - ["箋"] = "笺", - ["箏"] = "筝", - ["節"] = "节", - ["範"] = "范", - ["築"] = "筑", - ["篋"] = "箧", - ["篔"] = "筼", - ["篘"] = "𥬠", - ["篠"] = "筿", - ["篢"] = "𬕂", - ["篤"] = "笃", - ["篩"] = "筛", - ["篳"] = "筚", - ["篸"] = "𥮾", - ["簀"] = "箦", - ["簂"] = "𫂆", - ["簍"] = "篓", - ["簑"] = "蓑", - ["簞"] = "箪", - ["簡"] = "简", - ["簢"] = "𫂃", - ["簣"] = "篑", - ["簫"] = "箫", - ["簹"] = "筜", - ["簽"] = "签", - ["簾"] = "帘", - ["籃"] = "篮", - ["籅"] = "𥫣", - ["籋"] = "𥬞", - ["籌"] = "筹", - ["籔"] = "䉤", - ["籙"] = "箓", - ["籛"] = "篯", - ["籜"] = "箨", - ["籟"] = "籁", - ["籠"] = "笼", - ["籤"] = "签", - ["籩"] = "笾", - ["籪"] = "簖", - ["籬"] = "篱", - ["籮"] = "箩", - ["籲"] = "吁", - ["粵"] = "粤", - ["糉"] = "粽", - ["糝"] = "糁", - ["糞"] = "粪", - ["糧"] = "粮", - ["糰"] = "团", - ["糲"] = "粝", - ["糴"] = "籴", - ["糶"] = "粜", - ["糹"] = "纟", - ["糺"] = "𫄙", - ["糾"] = "纠", - ["紀"] = "纪", - ["紂"] = "纣", - ["紃"] = "𬘓", - ["約"] = "约", - ["紅"] = "红", - ["紆"] = "纡", - ["紇"] = "纥", - ["紈"] = "纨", - ["紉"] = "纫", - ["紋"] = "纹", - ["納"] = "纳", - ["紐"] = "纽", - ["紓"] = "纾", - ["純"] = "纯", - ["紕"] = "纰", - ["紖"] = "纼", - ["紗"] = "纱", - ["紘"] = "纮", - ["紙"] = "纸", - ["級"] = "级", - ["紛"] = "纷", - ["紜"] = "纭", - ["紝"] = "纴", - ["紞"] = "𬘘", - ["紟"] = "𫄛", - ["紡"] = "纺", - ["紬"] = "䌷", - ["紮"] = "扎", - ["細"] = "细", - ["紱"] = "绂", - ["紲"] = "绁", - ["紳"] = "绅", - ["紵"] = "纻", - ["紹"] = "绍", - ["紺"] = "绀", - ["紼"] = "绋", - ["紿"] = "绐", - ["絀"] = "绌", - ["絁"] = "𫄟", - ["終"] = "终", - ["絃"] = "弦", - ["組"] = "组", - ["絅"] = "䌹", - ["絆"] = "绊", - ["絍"] = "𫟃", - ["絎"] = "绗", - ["結"] = "结", - ["絕"] = "绝", - ["絙"] = "𫄠", - ["絛"] = "绦", - ["絝"] = "绔", - ["絞"] = "绞", - ["絡"] = "络", - ["絢"] = "绚", - ["絥"] = "𫄢", - ["給"] = "给", - ["絧"] = "𫄡", - ["絨"] = "绒", - ["絪"] = "𬘡", - ["絰"] = "绖", - ["統"] = "统", - ["絲"] = "丝", - ["絳"] = "绛", - ["絶"] = "绝", - ["絹"] = "绢", - ["絺"] = "𫄨", - ["綀"] = "𦈌", - ["綁"] = "绑", - ["綃"] = "绡", - ["綄"] = "𬘫", - ["綆"] = "绠", - ["綇"] = "𦈋", - ["綈"] = "绨", - ["綉"] = "绣", - ["綋"] = "𫟄", - ["綌"] = "绤", - ["綎"] = "𬘩", - ["綏"] = "绥", - ["綐"] = "䌼", - ["綑"] = "捆", - ["經"] = "经", - ["綖"] = "𫄧", - ["綜"] = "综", - ["綝"] = "𬘭", - ["綞"] = "缍", - ["綟"] = "𫄫", - ["綠"] = "绿", - ["綡"] = "𫟅", - ["綢"] = "绸", - ["綣"] = "绻", - ["綧"] = "𬘯", - ["綪"] = "𬘬", - ["綫"] = "线", - ["綬"] = "绶", - ["維"] = "维", - ["綯"] = "绹", - ["綰"] = "绾", - ["綱"] = "纲", - ["網"] = "网", - ["綳"] = "绷", - ["綴"] = "缀", - ["綵"] = "彩", - ["綸"] = "纶", - ["綹"] = "绺", - ["綺"] = "绮", - ["綻"] = "绽", - ["綽"] = "绰", - ["綾"] = "绫", - ["綿"] = "绵", - ["緄"] = "绲", - ["緇"] = "缁", - ["緊"] = "紧", - ["緋"] = "绯", - ["緍"] = "𦈏", - ["緑"] = "绿", - ["緒"] = "绪", - ["緓"] = "绬", - ["緔"] = "绱", - ["緗"] = "缃", - ["緘"] = "缄", - ["緙"] = "缂", - ["線"] = "线", - ["緝"] = "缉", - ["緞"] = "缎", - ["緟"] = "𫟆", - ["締"] = "缔", - ["緡"] = "缗", - ["緣"] = "缘", - ["緤"] = "𫄬", - ["緦"] = "缌", - ["編"] = "编", - ["緩"] = "缓", - ["緬"] = "缅", - ["緮"] = "𫄭", - ["緯"] = "纬", - ["緰"] = "𦈕", - ["緱"] = "缑", - ["緲"] = "缈", - ["練"] = "练", - ["緶"] = "缏", - ["緷"] = "𦈉", - ["緸"] = "𦈑", - ["緹"] = "缇", - ["緻"] = "致", - ["緼"] = "缊", - ["縈"] = "萦", - ["縉"] = "缙", - ["縊"] = "缢", - ["縋"] = "缒", - ["縍"] = "𫄰", - ["縎"] = "𦈔", - ["縐"] = "绉", - ["縑"] = "缣", - ["縕"] = "缊", - ["縗"] = "缞", - ["縛"] = "缚", - ["縝"] = "缜", - ["縞"] = "缟", - ["縟"] = "缛", - ["縣"] = "县", - ["縧"] = "绦", - ["縫"] = "缝", - ["縬"] = "𦈚", - ["縭"] = "缡", - ["縮"] = "缩", - ["縯"] = "𬙂", - ["縰"] = "𫄳", - ["縱"] = "纵", - ["縲"] = "缧", - ["縳"] = "䌸", - ["縴"] = "纤", - ["縵"] = "缦", - ["縶"] = "絷", - ["縷"] = "缕", - ["縸"] = "𫄲", - ["縹"] = "缥", - ["縺"] = "𦈐", - ["總"] = "总", - ["績"] = "绩", - ["繂"] = "𫄴", - ["繃"] = "绷", - ["繅"] = "缫", - ["繆"] = "缪", - ["繈"] = "𫄶", - ["繏"] = "𦈝", - ["繐"] = "𰬸", - ["繒"] = "缯", - ["繓"] = "𦈛", - ["織"] = "织", - ["繕"] = "缮", - ["繚"] = "缭", - ["繞"] = "绕", - ["繟"] = "𦈎", - ["繡"] = "绣", - ["繢"] = "缋", - ["繨"] = "𫄤", - ["繩"] = "绳", - ["繪"] = "绘", - ["繫"] = "系", - ["繬"] = "𫄱", - ["繭"] = "茧", - ["繮"] = "缰", - ["繯"] = "缳", - ["繰"] = "缲", - ["繳"] = "缴", - ["繶"] = "𫄷", - ["繷"] = "𫄣", - ["繸"] = "䍁", - ["繹"] = "绎", - ["繻"] = "𦈡", - ["繼"] = "继", - ["繽"] = "缤", - ["繾"] = "缱", - ["繿"] = "䍀", - ["纁"] = "𫄸", - ["纆"] = "𬙊", - ["纇"] = "颣", - ["纈"] = "缬", - ["纊"] = "纩", - ["續"] = "续", - ["纍"] = "累", - ["纏"] = "缠", - ["纓"] = "缨", - ["纔"] = "才", - ["纕"] = "𬙋", - ["纖"] = "纤", - ["纗"] = "𫄹", - ["纘"] = "缵", - ["纚"] = "𫄥", - ["纜"] = "缆", - ["缽"] = "钵", - ["罃"] = "䓨", - ["罈"] = "坛", - ["罌"] = "罂", - ["罎"] = "坛", - ["罰"] = "罚", - ["罵"] = "骂", - ["罷"] = "罢", - ["羅"] = "罗", - ["羆"] = "罴", - ["羈"] = "羁", - ["羋"] = "芈", - ["羣"] = "群", - ["羥"] = "羟", - ["羨"] = "羡", - ["義"] = "义", - ["羵"] = "𫅗", - ["羶"] = "膻", - ["習"] = "习", - ["翫"] = "玩", - ["翬"] = "翚", - ["翹"] = "翘", - ["翽"] = "翙", - ["耬"] = "耧", - ["耮"] = "耢", - ["聖"] = "圣", - ["聞"] = "闻", - ["聯"] = "联", - ["聰"] = "聪", - ["聲"] = "声", - ["聳"] = "耸", - ["聵"] = "聩", - ["聶"] = "聂", - ["職"] = "职", - ["聹"] = "聍", - ["聻"] = "𫆏", - ["聽"] = "听", - ["聾"] = "聋", - ["肅"] = "肃", - ["脅"] = "胁", - ["脈"] = "脉", - ["脛"] = "胫", - ["脣"] = "唇", - ["脥"] = "𣍰", - ["脩"] = "修", - ["脫"] = "脱", - ["脹"] = "胀", - ["腎"] = "肾", - ["腖"] = "胨", - ["腡"] = "脶", - ["腦"] = "脑", - ["腪"] = "𣍯", - ["腫"] = "肿", - ["腳"] = "脚", - ["腸"] = "肠", - ["膃"] = "腽", - ["膕"] = "腘", - ["膚"] = "肤", - ["膞"] = "䏝", - ["膠"] = "胶", - ["膢"] = "𦝼", - ["膩"] = "腻", - ["膹"] = "𪱥", - ["膽"] = "胆", - ["膾"] = "脍", - ["膿"] = "脓", - ["臉"] = "脸", - ["臍"] = "脐", - ["臏"] = "膑", - ["臗"] = "𣎑", - ["臘"] = "腊", - ["臚"] = "胪", - ["臟"] = "脏", - ["臠"] = "脔", - ["臢"] = "臜", - ["臥"] = "卧", - ["臨"] = "临", - ["臺"] = "台", - ["與"] = "与", - ["興"] = "兴", - ["舉"] = "举", - ["舊"] = "旧", - ["舘"] = "馆", - ["艙"] = "舱", - ["艣"] = "𫇛", - ["艤"] = "舣", - ["艦"] = "舰", - ["艫"] = "舻", - ["艱"] = "艰", - ["艷"] = "艳", - ["芻"] = "刍", - ["苧"] = "苎", - ["茲"] = "兹", - ["荊"] = "荆", - ["莊"] = "庄", - ["莖"] = "茎", - ["莢"] = "荚", - ["莧"] = "苋", - ["菕"] = "𰰨", - ["華"] = "华", - ["菴"] = "庵", - ["菸"] = "烟", - ["萇"] = "苌", - ["萊"] = "莱", - ["萬"] = "万", - ["萴"] = "荝", - ["萵"] = "莴", - ["葉"] = "叶", - ["葒"] = "荭", - ["葝"] = "𫈎", - ["葤"] = "荮", - ["葦"] = "苇", - ["葯"] = "药", - ["葷"] = "荤", - ["蒍"] = "𫇭", - ["蒐"] = "搜", - ["蒓"] = "莼", - ["蒔"] = "莳", - ["蒕"] = "蒀", - ["蒞"] = "莅", - ["蒭"] = "𫇴", - ["蒼"] = "苍", - ["蓀"] = "荪", - ["蓆"] = "席", - ["蓋"] = "盖", - ["蓧"] = "𦰏", - ["蓮"] = "莲", - ["蓯"] = "苁", - ["蓴"] = "莼", - ["蓽"] = "荜", - ["蔄"] = "𬜬", - ["蔔"] = "卜", - ["蔘"] = "参", - ["蔞"] = "蒌", - ["蔣"] = "蒋", - ["蔥"] = "葱", - ["蔦"] = "茑", - ["蔭"] = "荫", - ["蔯"] = "𫈟", - ["蔿"] = "𫇭", - ["蕁"] = "荨", - ["蕆"] = "蒇", - ["蕎"] = "荞", - ["蕒"] = "荬", - ["蕓"] = "芸", - ["蕕"] = "莸", - ["蕘"] = "荛", - ["蕝"] = "𫈵", - ["蕢"] = "蒉", - ["蕩"] = "荡", - ["蕪"] = "芜", - ["蕭"] = "萧", - ["蕳"] = "𫈉", - ["蕷"] = "蓣", - ["蕽"] = "𫇽", - ["薀"] = "蕰", - ["薆"] = "𫉁", - ["薈"] = "荟", - ["薊"] = "蓟", - ["薌"] = "芗", - ["薑"] = "姜", - ["薔"] = "蔷", - ["薘"] = "荙", - ["薟"] = "莶", - ["薦"] = "荐", - ["薩"] = "萨", - ["薳"] = "䓕", - ["薴"] = "苧", - ["薵"] = "䓓", - ["薹"] = "苔", - ["薺"] = "荠", - ["藉"] = "藉", - ["藍"] = "蓝", - ["藎"] = "荩", - ["藝"] = "艺", - ["藥"] = "药", - ["藪"] = "薮", - ["藭"] = "䓖", - ["藴"] = "蕴", - ["藶"] = "苈", - ["藷"] = "𫉄", - ["藹"] = "蔼", - ["藺"] = "蔺", - ["蘀"] = "萚", - ["蘄"] = "蕲", - ["蘆"] = "芦", - ["蘇"] = "苏", - ["蘊"] = "蕴", - ["蘋"] = "苹", - ["蘚"] = "藓", - ["蘞"] = "蔹", - ["蘟"] = "𦻕", - ["蘢"] = "茏", - ["蘭"] = "兰", - ["蘺"] = "蓠", - ["蘿"] = "萝", - ["虆"] = "蔂", - ["虉"] = "𬟁", - ["處"] = "处", - ["虛"] = "虚", - ["虜"] = "虏", - ["號"] = "号", - ["虧"] = "亏", - ["虯"] = "虬", - ["蛺"] = "蛱", - ["蛻"] = "蜕", - ["蜆"] = "蚬", - ["蝀"] = "𬟽", - ["蝕"] = "蚀", - ["蝟"] = "猬", - ["蝦"] = "虾", - ["蝨"] = "虱", - ["蝸"] = "蜗", - ["螄"] = "蛳", - ["螞"] = "蚂", - ["螢"] = "萤", - ["螮"] = "䗖", - ["螻"] = "蝼", - ["螿"] = "螀", - ["蟂"] = "𫋇", - ["蟄"] = "蛰", - ["蟈"] = "蝈", - ["蟎"] = "螨", - ["蟘"] = "𫋌", - ["蟜"] = "𫊸", - ["蟣"] = "虮", - ["蟬"] = "蝉", - ["蟯"] = "蛲", - ["蟲"] = "虫", - ["蟳"] = "𫊻", - ["蟶"] = "蛏", - ["蟻"] = "蚁", - ["蠀"] = "𧏗", - ["蠁"] = "蚃", - ["蠅"] = "蝇", - ["蠆"] = "虿", - ["蠍"] = "蝎", - ["蠐"] = "蛴", - ["蠑"] = "蝾", - ["蠔"] = "蚝", - ["蠙"] = "𧏖", - ["蠟"] = "蜡", - ["蠣"] = "蛎", - ["蠦"] = "𫊮", - ["蠨"] = "蟏", - ["蠱"] = "蛊", - ["蠶"] = "蚕", - ["蠻"] = "蛮", - ["蠾"] = "𧑏", - ["衆"] = "众", - ["衊"] = "蔑", - ["術"] = "术", - ["衕"] = "同", - ["衚"] = "胡", - ["衛"] = "卫", - ["衝"] = "冲", - ["衹"] = "衹", - ["袞"] = "衮", - ["裊"] = "袅", - ["裏"] = "里", - ["補"] = "补", - ["裝"] = "装", - ["裡"] = "里", - ["製"] = "制", - ["複"] = "复", - ["褌"] = "裈", - ["褘"] = "袆", - ["褲"] = "裤", - ["褳"] = "裢", - ["褸"] = "褛", - ["褻"] = "亵", - ["襀"] = "𫌀", - ["襇"] = "裥", - ["襉"] = "裥", - ["襏"] = "袯", - ["襓"] = "𫋹", - ["襖"] = "袄", - ["襗"] = "𫋷", - ["襘"] = "𫋻", - ["襝"] = "裣", - ["襠"] = "裆", - ["襤"] = "褴", - ["襪"] = "袜", - ["襬"] = "摆", - ["襯"] = "衬", - ["襰"] = "𧝝", - ["襲"] = "袭", - ["襴"] = "襕", - ["襵"] = "𫌇", - ["覆"] = "覆", - ["覈"] = "核", - ["見"] = "见", - ["覎"] = "觃", - ["規"] = "规", - ["覓"] = "觅", - ["視"] = "视", - ["覘"] = "觇", - ["覛"] = "𫌪", - ["覡"] = "觋", - ["覥"] = "觍", - ["覦"] = "觎", - ["親"] = "亲", - ["覬"] = "觊", - ["覯"] = "觏", - ["覲"] = "觐", - ["覷"] = "觑", - ["覹"] = "𫌭", - ["覺"] = "觉", - ["覼"] = "𫌨", - ["覽"] = "览", - ["覿"] = "觌", - ["觀"] = "观", - ["觴"] = "觞", - ["觶"] = "觯", - ["觸"] = "触", - ["訁"] = "讠", - ["訂"] = "订", - ["訃"] = "讣", - ["計"] = "计", - ["訊"] = "讯", - ["訌"] = "讧", - ["討"] = "讨", - ["訏"] = "𬣙", - ["訐"] = "讦", - ["訑"] = "𫍙", - ["訒"] = "讱", - ["訓"] = "训", - ["訕"] = "讪", - ["訖"] = "讫", - ["託"] = "托", - ["記"] = "记", - ["訛"] = "讹", - ["訜"] = "𫍛", - ["訝"] = "讶", - ["訞"] = "𫍚", - ["訟"] = "讼", - ["訢"] = "䜣", - ["訣"] = "诀", - ["訥"] = "讷", - ["訨"] = "𫟞", - ["訩"] = "讻", - ["訪"] = "访", - ["設"] = "设", - ["許"] = "许", - ["訴"] = "诉", - ["訶"] = "诃", - ["診"] = "诊", - ["註"] = "注", - ["証"] = "证", - ["詀"] = "𧮪", - ["詁"] = "诂", - ["詆"] = "诋", - ["詊"] = "𫟟", - ["詎"] = "讵", - ["詐"] = "诈", - ["詑"] = "𫍡", - ["詒"] = "诒", - ["詓"] = "𫍜", - ["詔"] = "诏", - ["評"] = "评", - ["詖"] = "诐", - ["詗"] = "诇", - ["詘"] = "诎", - ["詛"] = "诅", - ["詝"] = "𬣞", - ["詞"] = "词", - ["詠"] = "咏", - ["詡"] = "诩", - ["詢"] = "询", - ["詣"] = "诣", - ["試"] = "试", - ["詩"] = "诗", - ["詪"] = "𬣳", - ["詫"] = "诧", - ["詬"] = "诟", - ["詭"] = "诡", - ["詮"] = "诠", - ["詰"] = "诘", - ["話"] = "话", - ["該"] = "该", - ["詳"] = "详", - ["詵"] = "诜", - ["詷"] = "𫍣", - ["詼"] = "诙", - ["詿"] = "诖", - ["誂"] = "𫍥", - ["誄"] = "诔", - ["誅"] = "诛", - ["誆"] = "诓", - ["誇"] = "夸", - ["誋"] = "𫍪", - ["誌"] = "志", - ["認"] = "认", - ["誑"] = "诳", - ["誒"] = "诶", - ["誕"] = "诞", - ["誘"] = "诱", - ["誚"] = "诮", - ["語"] = "语", - ["誠"] = "诚", - ["誡"] = "诫", - ["誣"] = "诬", - ["誤"] = "误", - ["誥"] = "诰", - ["誦"] = "诵", - ["誨"] = "诲", - ["說"] = "说", - ["誫"] = "𫍨", - ["説"] = "说", - ["誰"] = "谁", - ["課"] = "课", - ["誳"] = "𫍮", - ["誴"] = "𫟡", - ["誶"] = "谇", - ["誷"] = "𫍬", - ["誹"] = "诽", - ["誺"] = "𫍧", - ["誼"] = "谊", - ["誾"] = "訚", - ["調"] = "调", - ["諂"] = "谄", - ["諄"] = "谆", - ["談"] = "谈", - ["諉"] = "诿", - ["請"] = "请", - ["諍"] = "诤", - ["諏"] = "诹", - ["諑"] = "诼", - ["諒"] = "谅", - ["諓"] = "𬣡", - ["論"] = "论", - ["諗"] = "谂", - ["諛"] = "谀", - ["諜"] = "谍", - ["諝"] = "谞", - ["諞"] = "谝", - ["諟"] = "𬤊", - ["諡"] = "谥", - ["諢"] = "诨", - ["諣"] = "𫍩", - ["諤"] = "谔", - ["諥"] = "𫍳", - ["諦"] = "谛", - ["諧"] = "谐", - ["諫"] = "谏", - ["諭"] = "谕", - ["諮"] = "咨", - ["諯"] = "𫍱", - ["諰"] = "𫍰", - ["諱"] = "讳", - ["諲"] = "𬤇", - ["諳"] = "谙", - ["諴"] = "𫍯", - ["諶"] = "谌", - ["諷"] = "讽", - ["諸"] = "诸", - ["諺"] = "谚", - ["諼"] = "谖", - ["諾"] = "诺", - ["謀"] = "谋", - ["謁"] = "谒", - ["謂"] = "谓", - ["謄"] = "誊", - ["謅"] = "诌", - ["謆"] = "𫍸", - ["謉"] = "𫍷", - ["謊"] = "谎", - ["謎"] = "谜", - ["謏"] = "𫍲", - ["謐"] = "谧", - ["謔"] = "谑", - ["謖"] = "谡", - ["謗"] = "谤", - ["謙"] = "谦", - ["謚"] = "谥", - ["講"] = "讲", - ["謝"] = "谢", - ["謠"] = "谣", - ["謡"] = "谣", - ["謨"] = "谟", - ["謫"] = "谪", - ["謬"] = "谬", - ["謭"] = "谫", - ["謯"] = "𫍹", - ["謱"] = "𫍴", - ["謳"] = "讴", - ["謸"] = "𫍵", - ["謹"] = "谨", - ["謾"] = "谩", - ["譁"] = "哗", - ["譂"] = "𫟠", - ["譅"] = "𰶎", - ["譆"] = "𫍻", - ["證"] = "证", - ["譊"] = "𫍢", - ["譎"] = "谲", - ["譏"] = "讥", - ["譑"] = "𫍤", - ["譓"] = "𬤝", - ["譖"] = "谮", - ["識"] = "识", - ["譙"] = "谯", - ["譚"] = "谭", - ["譜"] = "谱", - ["譞"] = "𫍽", - ["譟"] = "噪", - ["譨"] = "𫍦", - ["譫"] = "谵", - ["譭"] = "毁", - ["譯"] = "译", - ["議"] = "议", - ["譴"] = "谴", - ["護"] = "护", - ["譸"] = "诪", - ["譽"] = "誉", - ["譾"] = "谫", - ["讀"] = "读", - ["讅"] = "谉", - ["變"] = "变", - ["讋"] = "詟", - ["讌"] = "䜩", - ["讎"] = "雠", - ["讒"] = "谗", - ["讓"] = "让", - ["讕"] = "谰", - ["讖"] = "谶", - ["讚"] = "赞", - ["讜"] = "谠", - ["讞"] = "谳", - ["豈"] = "岂", - ["豎"] = "竖", - ["豐"] = "丰", - ["豔"] = "艳", - ["豬"] = "猪", - ["豵"] = "𫎆", - ["豶"] = "豮", - ["貓"] = "猫", - ["貗"] = "𫎌", - ["貙"] = "䝙", - ["貝"] = "贝", - ["貞"] = "贞", - ["貟"] = "贠", - ["負"] = "负", - ["財"] = "财", - ["貢"] = "贡", - ["貧"] = "贫", - ["貨"] = "货", - ["販"] = "贩", - ["貪"] = "贪", - ["貫"] = "贯", - ["責"] = "责", - ["貯"] = "贮", - ["貰"] = "贳", - ["貲"] = "赀", - ["貳"] = "贰", - ["貴"] = "贵", - ["貶"] = "贬", - ["買"] = "买", - ["貸"] = "贷", - ["貺"] = "贶", - ["費"] = "费", - ["貼"] = "贴", - ["貽"] = "贻", - ["貿"] = "贸", - ["賀"] = "贺", - ["賁"] = "贲", - ["賂"] = "赂", - ["賃"] = "赁", - ["賄"] = "贿", - ["賅"] = "赅", - ["資"] = "资", - ["賈"] = "贾", - ["賊"] = "贼", - ["賑"] = "赈", - ["賒"] = "赊", - ["賓"] = "宾", - ["賕"] = "赇", - ["賙"] = "赒", - ["賚"] = "赉", - ["賜"] = "赐", - ["賝"] = "𫎩", - ["賞"] = "赏", - ["賟"] = "𧹖", - ["賠"] = "赔", - ["賡"] = "赓", - ["賢"] = "贤", - ["賣"] = "卖", - ["賤"] = "贱", - ["賦"] = "赋", - ["賧"] = "赕", - ["質"] = "质", - ["賫"] = "赍", - ["賬"] = "账", - ["賭"] = "赌", - ["賰"] = "䞐", - ["賴"] = "赖", - ["賵"] = "赗", - ["賺"] = "赚", - ["賻"] = "赙", - ["購"] = "购", - ["賽"] = "赛", - ["賾"] = "赜", - ["贃"] = "𧹗", - ["贄"] = "贽", - ["贅"] = "赘", - ["贇"] = "赟", - ["贈"] = "赠", - ["贉"] = "𫎫", - ["贊"] = "赞", - ["贋"] = "赝", - ["贍"] = "赡", - ["贏"] = "赢", - ["贐"] = "赆", - ["贑"] = "𫎬", - ["贓"] = "赃", - ["贔"] = "赑", - ["贖"] = "赎", - ["贗"] = "赝", - ["贚"] = "𫎦", - ["贛"] = "赣", - ["贜"] = "赃", - ["赬"] = "赪", - ["趕"] = "赶", - ["趙"] = "赵", - ["趨"] = "趋", - ["趲"] = "趱", - ["跡"] = "迹", - ["踐"] = "践", - ["踰"] = "逾", - ["踴"] = "踊", - ["蹌"] = "跄", - ["蹔"] = "𫏐", - ["蹕"] = "跸", - ["蹟"] = "迹", - ["蹠"] = "跖", - ["蹣"] = "蹒", - ["蹤"] = "踪", - ["蹳"] = "𫏆", - ["蹺"] = "跷", - ["蹻"] = "𫏋", - ["躂"] = "跶", - ["躉"] = "趸", - ["躊"] = "踌", - ["躋"] = "跻", - ["躍"] = "跃", - ["躎"] = "䟢", - ["躑"] = "踯", - ["躒"] = "跞", - ["躓"] = "踬", - ["躕"] = "蹰", - ["躘"] = "𨀁", - ["躚"] = "跹", - ["躝"] = "𨅬", - ["躡"] = "蹑", - ["躥"] = "蹿", - ["躦"] = "躜", - ["躪"] = "躏", - ["軀"] = "躯", - ["軉"] = "𨉗", - ["車"] = "车", - ["軋"] = "轧", - ["軌"] = "轨", - ["軍"] = "军", - ["軏"] = "𫐄", - ["軑"] = "轪", - ["軒"] = "轩", - ["軔"] = "轫", - ["軕"] = "𫐅", - ["軗"] = "𨐅", - ["軛"] = "轭", - ["軜"] = "𫐇", - ["軝"] = "𬨂", - ["軟"] = "软", - ["軤"] = "轷", - ["軨"] = "𫐉", - ["軫"] = "轸", - ["軬"] = "𫐊", - ["軲"] = "轱", - ["軷"] = "𫐈", - ["軸"] = "轴", - ["軹"] = "轵", - ["軺"] = "轺", - ["軻"] = "轲", - ["軼"] = "轶", - ["軾"] = "轼", - ["軿"] = "𫐌", - ["較"] = "较", - ["輄"] = "𨐈", - ["輅"] = "辂", - ["輇"] = "辁", - ["輈"] = "辀", - ["載"] = "载", - ["輊"] = "轾", - ["輋"] = "𪨶", - ["輒"] = "辄", - ["輓"] = "挽", - ["輔"] = "辅", - ["輕"] = "轻", - ["輖"] = "𫐏", - ["輗"] = "𫐐", - ["輛"] = "辆", - ["輜"] = "辎", - ["輝"] = "辉", - ["輞"] = "辋", - ["輟"] = "辍", - ["輢"] = "𫐎", - ["輥"] = "辊", - ["輦"] = "辇", - ["輨"] = "𫐑", - ["輩"] = "辈", - ["輪"] = "轮", - ["輬"] = "辌", - ["輮"] = "𫐓", - ["輯"] = "辑", - ["輳"] = "辏", - ["輶"] = "𬨎", - ["輷"] = "𫐒", - ["輸"] = "输", - ["輻"] = "辐", - ["輼"] = "辒", - ["輾"] = "辗", - ["輿"] = "舆", - ["轀"] = "辒", - ["轂"] = "毂", - ["轄"] = "辖", - ["轅"] = "辕", - ["轆"] = "辘", - ["轇"] = "𫐖", - ["轉"] = "转", - ["轊"] = "𫐕", - ["轍"] = "辙", - ["轎"] = "轿", - ["轐"] = "𫐗", - ["轔"] = "辚", - ["轗"] = "𫐘", - ["轟"] = "轰", - ["轠"] = "𫐙", - ["轡"] = "辔", - ["轢"] = "轹", - ["轣"] = "𫐆", - ["轤"] = "轳", - ["辦"] = "办", - ["辭"] = "辞", - ["辮"] = "辫", - ["辯"] = "辩", - ["農"] = "农", - ["迴"] = "回", - ["逕"] = "迳", - ["這"] = "这", - ["連"] = "连", - ["週"] = "周", - ["進"] = "进", - ["遊"] = "游", - ["運"] = "运", - ["過"] = "过", - ["達"] = "达", - ["違"] = "违", - ["遙"] = "遥", - ["遜"] = "逊", - ["遞"] = "递", - ["遠"] = "远", - ["遡"] = "溯", - ["適"] = "适", - ["遱"] = "𫐷", - ["遲"] = "迟", - ["遷"] = "迁", - ["選"] = "选", - ["遺"] = "遗", - ["遼"] = "辽", - ["邁"] = "迈", - ["還"] = "还", - ["邇"] = "迩", - ["邊"] = "边", - ["邏"] = "逻", - ["邐"] = "逦", - ["郟"] = "郏", - ["郵"] = "邮", - ["鄆"] = "郓", - ["鄉"] = "乡", - ["鄒"] = "邹", - ["鄔"] = "邬", - ["鄖"] = "郧", - ["鄟"] = "𫑘", - ["鄧"] = "邓", - ["鄩"] = "𬩽", - ["鄭"] = "郑", - ["鄰"] = "邻", - ["鄲"] = "郸", - ["鄳"] = "𫑡", - ["鄴"] = "邺", - ["鄶"] = "郐", - ["鄺"] = "邝", - ["酇"] = "酂", - ["酈"] = "郦", - ["醃"] = "腌", - ["醖"] = "酝", - ["醜"] = "丑", - ["醞"] = "酝", - ["醟"] = "蒏", - ["醣"] = "糖", - ["醫"] = "医", - ["醬"] = "酱", - ["醱"] = "酦", - ["醲"] = "𬪩", - ["醶"] = "𫑷", - ["釀"] = "酿", - ["釁"] = "衅", - ["釃"] = "酾", - ["釅"] = "酽", - ["釋"] = "释", - ["釐"] = "厘", - ["釒"] = "钅", - ["釓"] = "钆", - ["釔"] = "钇", - ["釕"] = "钌", - ["釗"] = "钊", - ["釘"] = "钉", - ["釙"] = "钋", - ["釚"] = "𫟲", - ["針"] = "针", - ["釟"] = "𫓥", - ["釣"] = "钓", - ["釤"] = "钐", - ["釦"] = "扣", - ["釧"] = "钏", - ["釨"] = "𫓦", - ["釩"] = "钒", - ["釲"] = "𫟳", - ["釳"] = "𨰿", - ["釴"] = "𬬩", - ["釵"] = "钗", - ["釷"] = "钍", - ["釹"] = "钕", - ["釺"] = "钎", - ["釾"] = "䥺", - ["釿"] = "𬬱", - ["鈀"] = "钯", - ["鈁"] = "钫", - ["鈃"] = "钘", - ["鈄"] = "钭", - ["鈅"] = "钥", - ["鈆"] = "𫓪", - ["鈇"] = "𫓧", - ["鈈"] = "钚", - ["鈉"] = "钠", - ["鈋"] = "𨱂", - ["鈍"] = "钝", - ["鈎"] = "钩", - ["鈐"] = "钤", - ["鈑"] = "钣", - ["鈒"] = "钑", - ["鈔"] = "钞", - ["鈕"] = "钮", - ["鈖"] = "𫟴", - ["鈗"] = "𫟵", - ["鈛"] = "𫓨", - ["鈞"] = "钧", - ["鈠"] = "𨱁", - ["鈡"] = "钟", - ["鈣"] = "钙", - ["鈥"] = "钬", - ["鈦"] = "钛", - ["鈧"] = "钪", - ["鈮"] = "铌", - ["鈯"] = "𨱄", - ["鈰"] = "铈", - ["鈲"] = "𨱃", - ["鈳"] = "钶", - ["鈴"] = "铃", - ["鈷"] = "钴", - ["鈸"] = "钹", - ["鈹"] = "铍", - ["鈺"] = "钰", - ["鈽"] = "钸", - ["鈾"] = "铀", - ["鈿"] = "钿", - ["鉀"] = "钾", - ["鉁"] = "𨱅", - ["鉅"] = "巨", - ["鉆"] = "钻", - ["鉈"] = "铊", - ["鉉"] = "铉", - ["鉊"] = "𬬿", - ["鉋"] = "铇", - ["鉍"] = "铋", - ["鉑"] = "铂", - ["鉔"] = "𫓬", - ["鉕"] = "钷", - ["鉗"] = "钳", - ["鉚"] = "铆", - ["鉛"] = "铅", - ["鉝"] = "𫟷", - ["鉞"] = "钺", - ["鉠"] = "𫓭", - ["鉢"] = "钵", - ["鉤"] = "钩", - ["鉥"] = "𬬸", - ["鉦"] = "钲", - ["鉧"] = "𬭁", - ["鉬"] = "钼", - ["鉭"] = "钽", - ["鉮"] = "𬬹", - ["鉳"] = "锫", - ["鉶"] = "铏", - ["鉷"] = "𫟹", - ["鉸"] = "铰", - ["鉺"] = "铒", - ["鉻"] = "铬", - ["鉽"] = "𫟸", - ["鉾"] = "𫓴", - ["鉿"] = "铪", - ["銀"] = "银", - ["銁"] = "𫓲", - ["銂"] = "𫟻", - ["銃"] = "铳", - ["銅"] = "铜", - ["銈"] = "𫓯", - ["銊"] = "𫓰", - ["銍"] = "铚", - ["銏"] = "𫟶", - ["銑"] = "铣", - ["銓"] = "铨", - ["銖"] = "铢", - ["銘"] = "铭", - ["銚"] = "铫", - ["銛"] = "铦", - ["銜"] = "衔", - ["銠"] = "铑", - ["銣"] = "铷", - ["銥"] = "铱", - ["銦"] = "铟", - ["銨"] = "铵", - ["銩"] = "铥", - ["銪"] = "铕", - ["銫"] = "铯", - ["銬"] = "铐", - ["銱"] = "铞", - ["銳"] = "锐", - ["銶"] = "𨱇", - ["銷"] = "销", - ["銹"] = "锈", - ["銻"] = "锑", - ["銼"] = "锉", - ["鋁"] = "铝", - ["鋂"] = "𰾄", - ["鋃"] = "锒", - ["鋅"] = "锌", - ["鋇"] = "钡", - ["鋉"] = "𨱈", - ["鋌"] = "铤", - ["鋏"] = "铗", - ["鋐"] = "𬭎", - ["鋒"] = "锋", - ["鋗"] = "𫓶", - ["鋙"] = "铻", - ["鋝"] = "锊", - ["鋟"] = "锓", - ["鋠"] = "𫓵", - ["鋣"] = "铘", - ["鋤"] = "锄", - ["鋥"] = "锃", - ["鋦"] = "锔", - ["鋨"] = "锇", - ["鋩"] = "铓", - ["鋪"] = "铺", - ["鋭"] = "锐", - ["鋮"] = "铖", - ["鋯"] = "锆", - ["鋰"] = "锂", - ["鋱"] = "铽", - ["鋶"] = "锍", - ["鋸"] = "锯", - ["鋹"] = "𬬮", - ["鋼"] = "钢", - ["錀"] = "𬬭", - ["錁"] = "锞", - ["錂"] = "𨱋", - ["錄"] = "录", - ["錆"] = "锖", - ["錇"] = "锫", - ["錈"] = "锩", - ["錏"] = "铔", - ["錐"] = "锥", - ["錒"] = "锕", - ["錕"] = "锟", - ["錘"] = "锤", - ["錙"] = "锱", - ["錚"] = "铮", - ["錛"] = "锛", - ["錜"] = "𫓻", - ["錝"] = "𫓽", - ["錞"] = "𬭚", - ["錟"] = "锬", - ["錠"] = "锭", - ["錡"] = "锜", - ["錢"] = "钱", - ["錤"] = "𫓹", - ["錥"] = "𫓾", - ["錦"] = "锦", - ["錨"] = "锚", - ["錩"] = "锠", - ["錫"] = "锡", - ["錮"] = "锢", - ["錯"] = "错", - ["録"] = "录", - ["錳"] = "锰", - ["錶"] = "表", - ["錸"] = "铼", - ["錼"] = "镎", - ["錽"] = "𫓸", - ["鍀"] = "锝", - ["鍁"] = "锨", - ["鍃"] = "锪", - ["鍄"] = "𨱉", - ["鍅"] = "钫", - ["鍆"] = "钔", - ["鍇"] = "锴", - ["鍈"] = "锳", - ["鍉"] = "𫔂", - ["鍊"] = "炼", - ["鍋"] = "锅", - ["鍍"] = "镀", - ["鍒"] = "𫔄", - ["鍔"] = "锷", - ["鍘"] = "铡", - ["鍚"] = "钖", - ["鍛"] = "锻", - ["鍠"] = "锽", - ["鍤"] = "锸", - ["鍥"] = "锲", - ["鍩"] = "锘", - ["鍬"] = "锹", - ["鍭"] = "𬭤", - ["鍮"] = "𨱎", - ["鍰"] = "锾", - ["鍵"] = "键", - ["鍶"] = "锶", - ["鍺"] = "锗", - ["鍼"] = "针", - ["鍾"] = "钟", - ["鎂"] = "镁", - ["鎄"] = "锿", - ["鎇"] = "镅", - ["鎈"] = "𫟿", - ["鎊"] = "镑", - ["鎌"] = "镰", - ["鎍"] = "𫔅", - ["鎓"] = "𬭩", - ["鎔"] = "镕", - ["鎖"] = "锁", - ["鎘"] = "镉", - ["鎙"] = "𫔈", - ["鎚"] = "锤", - ["鎛"] = "镈", - ["鎝"] = "𨱏", - ["鎞"] = "𫔇", - ["鎡"] = "镃", - ["鎢"] = "钨", - ["鎣"] = "蓥", - ["鎦"] = "镏", - ["鎧"] = "铠", - ["鎩"] = "铩", - ["鎪"] = "锼", - ["鎬"] = "镐", - ["鎭"] = "镇", - ["鎮"] = "镇", - ["鎯"] = "𨱍", - ["鎰"] = "镒", - ["鎲"] = "镋", - ["鎳"] = "镍", - ["鎵"] = "镓", - ["鎶"] = "鿔", - ["鎷"] = "𨰾", - ["鎸"] = "镌", - ["鎿"] = "镎", - ["鏃"] = "镞", - ["鏆"] = "𨱌", - ["鏇"] = "旋", - ["鏈"] = "链", - ["鏉"] = "𨱒", - ["鏌"] = "镆", - ["鏍"] = "镙", - ["鏏"] = "𬭬", - ["鏐"] = "镠", - ["鏑"] = "镝", - ["鏗"] = "铿", - ["鏘"] = "锵", - ["鏚"] = "𬭭", - ["鏜"] = "镗", - ["鏝"] = "镘", - ["鏞"] = "镛", - ["鏟"] = "铲", - ["鏡"] = "镜", - ["鏢"] = "镖", - ["鏤"] = "镂", - ["鏥"] = "𫔊", - ["鏦"] = "𫓩", - ["鏨"] = "錾", - ["鏰"] = "镚", - ["鏵"] = "铧", - ["鏷"] = "镤", - ["鏹"] = "镪", - ["鏺"] = "䥽", - ["鏻"] = "𬭸", - ["鏽"] = "锈", - ["鏾"] = "𫔌", - ["鐃"] = "铙", - ["鐄"] = "𨱑", - ["鐇"] = "𫔍", - ["鐈"] = "𫓱", - ["鐋"] = "铴", - ["鐍"] = "𫔎", - ["鐎"] = "𨱓", - ["鐏"] = "𨱔", - ["鐐"] = "镣", - ["鐒"] = "铹", - ["鐓"] = "镦", - ["鐔"] = "镡", - ["鐘"] = "钟", - ["鐙"] = "镫", - ["鐝"] = "镢", - ["鐠"] = "镨", - ["鐥"] = "䦅", - ["鐦"] = "锎", - ["鐧"] = "锏", - ["鐨"] = "镄", - ["鐩"] = "𬭼", - ["鐪"] = "𫓺", - ["鐫"] = "镌", - ["鐮"] = "镰", - ["鐯"] = "䦃", - ["鐲"] = "镯", - ["鐳"] = "镭", - ["鐵"] = "铁", - ["鐶"] = "镮", - ["鐸"] = "铎", - ["鐺"] = "铛", - ["鐼"] = "𫔁", - ["鐽"] = "𫟼", - ["鐿"] = "镱", - ["鑀"] = "𰾭", - ["鑄"] = "铸", - ["鑉"] = "𫠁", - ["鑊"] = "镬", - ["鑌"] = "镔", - ["鑑"] = "鉴", - ["鑒"] = "鉴", - ["鑔"] = "镲", - ["鑕"] = "锧", - ["鑞"] = "镴", - ["鑠"] = "铄", - ["鑣"] = "镳", - ["鑥"] = "镥", - ["鑪"] = "𬬻", - ["鑭"] = "镧", - ["鑰"] = "钥", - ["鑱"] = "镵", - ["鑲"] = "镶", - ["鑴"] = "𫔔", - ["鑷"] = "镊", - ["鑹"] = "镩", - ["鑼"] = "锣", - ["鑽"] = "钻", - ["鑾"] = "銮", - ["鑿"] = "凿", - ["钁"] = "镢", - ["钂"] = "镋", - ["長"] = "长", - ["門"] = "门", - ["閂"] = "闩", - ["閃"] = "闪", - ["閆"] = "闫", - ["閈"] = "闬", - ["閉"] = "闭", - ["開"] = "开", - ["閌"] = "闶", - ["閍"] = "𨸂", - ["閎"] = "闳", - ["閏"] = "闰", - ["閐"] = "𨸃", - ["閑"] = "闲", - ["閒"] = "闲", - ["間"] = "间", - ["閔"] = "闵", - ["閗"] = "𫔯", - ["閘"] = "闸", - ["閝"] = "𫠂", - ["閞"] = "𫔰", - ["閡"] = "阂", - ["閣"] = "阁", - ["閤"] = "合", - ["閥"] = "阀", - ["閨"] = "闺", - ["閩"] = "闽", - ["閫"] = "阃", - ["閬"] = "阆", - ["閭"] = "闾", - ["閱"] = "阅", - ["閲"] = "阅", - ["閵"] = "𫔴", - ["閶"] = "阊", - ["閹"] = "阉", - ["閻"] = "阎", - ["閼"] = "阏", - ["閽"] = "阍", - ["閾"] = "阈", - ["閿"] = "阌", - ["闃"] = "阒", - ["闆"] = "板", - ["闇"] = "暗", - ["闈"] = "闱", - ["闉"] = "𬮱", - ["闊"] = "阔", - ["闋"] = "阕", - ["闌"] = "阑", - ["闍"] = "阇", - ["闐"] = "阗", - ["闑"] = "𫔶", - ["闒"] = "阘", - ["闓"] = "闿", - ["闔"] = "阖", - ["闕"] = "阙", - ["闖"] = "闯", - ["關"] = "关", - ["闞"] = "阚", - ["闠"] = "阓", - ["闡"] = "阐", - ["闢"] = "辟", - ["闤"] = "阛", - ["闥"] = "闼", - ["阪"] = "阪", - ["陘"] = "陉", - ["陝"] = "陕", - ["陞"] = "升", - ["陣"] = "阵", - ["陰"] = "阴", - ["陳"] = "陈", - ["陸"] = "陆", - ["陽"] = "阳", - ["隉"] = "陧", - ["隊"] = "队", - ["階"] = "阶", - ["隑"] = "𬮿", - ["隕"] = "陨", - ["際"] = "际", - ["隤"] = "𬯎", - ["隨"] = "随", - ["險"] = "险", - ["隮"] = "𬯀", - ["隯"] = "陦", - ["隱"] = "隐", - ["隴"] = "陇", - ["隸"] = "隶", - ["隻"] = "只", - ["雋"] = "隽", - ["雖"] = "虽", - ["雙"] = "双", - ["雛"] = "雏", - ["雜"] = "杂", - ["雞"] = "鸡", - ["離"] = "离", - ["難"] = "难", - ["雲"] = "云", - ["電"] = "电", - ["霑"] = "沾", - ["霢"] = "霡", - ["霣"] = "𫕥", - ["霧"] = "雾", - ["霼"] = "𪵣", - ["霽"] = "霁", - ["靂"] = "雳", - ["靄"] = "霭", - ["靆"] = "叇", - ["靈"] = "灵", - ["靉"] = "叆", - ["靚"] = "靓", - ["靜"] = "静", - ["靝"] = "靔", - ["靦"] = "腼", - ["靧"] = "𫖃", - ["靨"] = "靥", - ["鞏"] = "巩", - ["鞝"] = "绱", - ["鞦"] = "秋", - ["鞽"] = "鞒", - ["鞾"] = "𫖇", - ["韁"] = "缰", - ["韃"] = "鞑", - ["韆"] = "千", - ["韉"] = "鞯", - ["韋"] = "韦", - ["韌"] = "韧", - ["韍"] = "韨", - ["韓"] = "韩", - ["韙"] = "韪", - ["韚"] = "𫠅", - ["韛"] = "𫖔", - ["韜"] = "韬", - ["韝"] = "鞲", - ["韞"] = "韫", - ["韠"] = "𫖒", - ["韻"] = "韵", - ["響"] = "响", - ["頁"] = "页", - ["頂"] = "顶", - ["頃"] = "顷", - ["項"] = "项", - ["順"] = "顺", - ["頇"] = "顸", - ["須"] = "须", - ["頊"] = "顼", - ["頌"] = "颂", - ["頍"] = "𫠆", - ["頎"] = "颀", - ["頏"] = "颃", - ["預"] = "预", - ["頑"] = "顽", - ["頒"] = "颁", - ["頓"] = "顿", - ["頔"] = "𬱖", - ["頗"] = "颇", - ["領"] = "领", - ["頜"] = "颌", - ["頠"] = "𬱟", - ["頡"] = "颉", - ["頤"] = "颐", - ["頦"] = "颏", - ["頫"] = "𫖯", - ["頭"] = "头", - ["頮"] = "颒", - ["頰"] = "颊", - ["頲"] = "颋", - ["頴"] = "颕", - ["頵"] = "𫖳", - ["頷"] = "颔", - ["頸"] = "颈", - ["頹"] = "颓", - ["頻"] = "频", - ["頽"] = "颓", - ["顂"] = "𩓋", - ["顃"] = "𩖖", - ["顅"] = "𫖶", - ["顆"] = "颗", - ["題"] = "题", - ["額"] = "额", - ["顎"] = "颚", - ["顏"] = "颜", - ["顒"] = "颙", - ["顓"] = "颛", - ["顔"] = "颜", - ["顗"] = "𫖮", - ["願"] = "愿", - ["顙"] = "颡", - ["顛"] = "颠", - ["類"] = "类", - ["顢"] = "颟", - ["顣"] = "𫖹", - ["顥"] = "颢", - ["顧"] = "顾", - ["顫"] = "颤", - ["顬"] = "颥", - ["顯"] = "显", - ["顰"] = "颦", - ["顱"] = "颅", - ["顳"] = "颞", - ["顴"] = "颧", - ["風"] = "风", - ["颭"] = "飐", - ["颮"] = "飑", - ["颯"] = "飒", - ["颰"] = "𩙥", - ["颱"] = "台", - ["颳"] = "刮", - ["颶"] = "飓", - ["颷"] = "𩙪", - ["颸"] = "飔", - ["颺"] = "飏", - ["颻"] = "飖", - ["颼"] = "飕", - ["颾"] = "𩙫", - ["飀"] = "飗", - ["飄"] = "飘", - ["飆"] = "飙", - ["飈"] = "飚", - ["飋"] = "𫗋", - ["飛"] = "飞", - ["飠"] = "饣", - ["飢"] = "饥", - ["飣"] = "饤", - ["飥"] = "饦", - ["飦"] = "𫗞", - ["飩"] = "饨", - ["飪"] = "饪", - ["飫"] = "饫", - ["飭"] = "饬", - ["飯"] = "饭", - ["飱"] = "飧", - ["飲"] = "饮", - ["飴"] = "饴", - ["飵"] = "𫗢", - ["飶"] = "𫗣", - ["飼"] = "饲", - ["飽"] = "饱", - ["飾"] = "饰", - ["飿"] = "饳", - ["餃"] = "饺", - ["餄"] = "饸", - ["餅"] = "饼", - ["餈"] = "糍", - ["餉"] = "饷", - ["養"] = "养", - ["餌"] = "饵", - ["餎"] = "饹", - ["餏"] = "饻", - ["餑"] = "饽", - ["餒"] = "馁", - ["餓"] = "饿", - ["餔"] = "𫗦", - ["餕"] = "馂", - ["餖"] = "饾", - ["餗"] = "𫗧", - ["餘"] = "余", - ["餚"] = "肴", - ["餛"] = "馄", - ["餜"] = "馃", - ["餞"] = "饯", - ["餡"] = "馅", - ["餦"] = "𫗠", - ["餧"] = "𫗪", - ["館"] = "馆", - ["餪"] = "𫗬", - ["餫"] = "𫗥", - ["餬"] = "糊", - ["餭"] = "𫗮", - ["餱"] = "糇", - ["餳"] = "饧", - ["餵"] = "喂", - ["餶"] = "馉", - ["餷"] = "馇", - ["餸"] = "𩠌", - ["餺"] = "馎", - ["餼"] = "饩", - ["餾"] = "馏", - ["餿"] = "馊", - ["饁"] = "馌", - ["饃"] = "馍", - ["饅"] = "馒", - ["饈"] = "馐", - ["饉"] = "馑", - ["饊"] = "馓", - ["饋"] = "馈", - ["饌"] = "馔", - ["饑"] = "饥", - ["饒"] = "饶", - ["饗"] = "飨", - ["饘"] = "𫗴", - ["饜"] = "餍", - ["饞"] = "馋", - ["饟"] = "𫗵", - ["饠"] = "𫗩", - ["饢"] = "馕", - ["馬"] = "马", - ["馭"] = "驭", - ["馮"] = "冯", - ["馯"] = "𫘛", - ["馱"] = "驮", - ["馳"] = "驰", - ["馴"] = "驯", - ["馹"] = "驲", - ["馼"] = "𫘜", - ["駁"] = "驳", - ["駃"] = "𫘝", - ["駉"] = "𬳶", - ["駊"] = "𫘟", - ["駎"] = "𩧨", - ["駐"] = "驻", - ["駑"] = "驽", - ["駒"] = "驹", - ["駓"] = "𬳵", - ["駔"] = "驵", - ["駕"] = "驾", - ["駘"] = "骀", - ["駙"] = "驸", - ["駚"] = "𩧫", - ["駛"] = "驶", - ["駝"] = "驼", - ["駞"] = "𫘞", - ["駟"] = "驷", - ["駡"] = "骂", - ["駢"] = "骈", - ["駤"] = "𫘠", - ["駧"] = "𩧲", - ["駩"] = "𩧴", - ["駪"] = "𬳽", - ["駫"] = "𫘡", - ["駭"] = "骇", - ["駰"] = "骃", - ["駱"] = "骆", - ["駶"] = "𩧺", - ["駸"] = "骎", - ["駻"] = "𫘣", - ["駼"] = "𬳿", - ["駿"] = "骏", - ["騁"] = "骋", - ["騂"] = "骍", - ["騃"] = "𫘤", - ["騄"] = "𫘧", - ["騅"] = "骓", - ["騉"] = "𫘥", - ["騊"] = "𫘦", - ["騌"] = "骔", - ["騍"] = "骒", - ["騎"] = "骑", - ["騏"] = "骐", - ["騑"] = "𬴂", - ["騔"] = "𩨀", - ["騖"] = "骛", - ["騙"] = "骗", - ["騚"] = "𩨊", - ["騜"] = "𫘩", - ["騝"] = "𩨃", - ["騞"] = "𬴃", - ["騟"] = "𩨈", - ["騠"] = "𫘨", - ["騤"] = "骙", - ["騧"] = "䯄", - ["騪"] = "𩨄", - ["騫"] = "骞", - ["騭"] = "骘", - ["騮"] = "骝", - ["騰"] = "腾", - ["騱"] = "𫘬", - ["騴"] = "𫘫", - ["騵"] = "𫘪", - ["騶"] = "驺", - ["騷"] = "骚", - ["騸"] = "骟", - ["騻"] = "𫘭", - ["騼"] = "𫠋", - ["騾"] = "骡", - ["驀"] = "蓦", - ["驁"] = "骜", - ["驂"] = "骖", - ["驃"] = "骠", - ["驄"] = "骢", - ["驅"] = "驱", - ["驊"] = "骅", - ["驋"] = "𩧯", - ["驌"] = "骕", - ["驍"] = "骁", - ["驎"] = "𬴊", - ["驏"] = "骣", - ["驓"] = "𫘯", - ["驕"] = "骄", - ["驗"] = "验", - ["驙"] = "𫘰", - ["驚"] = "惊", - ["驛"] = "驿", - ["驟"] = "骤", - ["驢"] = "驴", - ["驤"] = "骧", - ["驥"] = "骥", - ["驦"] = "骦", - ["驨"] = "𫘱", - ["驪"] = "骊", - ["驫"] = "骉", - ["骯"] = "肮", - ["髏"] = "髅", - ["髒"] = "脏", - ["體"] = "体", - ["髕"] = "髌", - ["髖"] = "髋", - ["髮"] = "发", - ["鬆"] = "松", - ["鬍"] = "胡", - ["鬖"] = "𩭹", - ["鬚"] = "须", - ["鬠"] = "𫘽", - ["鬢"] = "鬓", - ["鬥"] = "斗", - ["鬧"] = "闹", - ["鬨"] = "哄", - ["鬩"] = "阋", - ["鬮"] = "阄", - ["鬱"] = "郁", - ["鬹"] = "鬶", - ["魎"] = "魉", - ["魘"] = "魇", - ["魚"] = "鱼", - ["魛"] = "鱽", - ["魟"] = "𫚉", - ["魢"] = "鱾", - ["魥"] = "𩽹", - ["魦"] = "𫚌", - ["魨"] = "鲀", - ["魯"] = "鲁", - ["魴"] = "鲂", - ["魵"] = "𫚍", - ["魷"] = "鱿", - ["魺"] = "鲄", - ["魽"] = "𫠐", - ["鮀"] = "𬶍", - ["鮁"] = "鲅", - ["鮃"] = "鲆", - ["鮄"] = "𫚒", - ["鮅"] = "𫚑", - ["鮆"] = "𫚖", - ["鮈"] = "𬶋", - ["鮊"] = "鲌", - ["鮋"] = "鲉", - ["鮍"] = "鲏", - ["鮎"] = "鲇", - ["鮐"] = "鲐", - ["鮑"] = "鲍", - ["鮒"] = "鲋", - ["鮓"] = "鲊", - ["鮚"] = "鲒", - ["鮜"] = "鲘", - ["鮝"] = "鲞", - ["鮞"] = "鲕", - ["鮟"] = "𩽾", - ["鮠"] = "𬶏", - ["鮡"] = "𬶐", - ["鮣"] = "䲟", - ["鮤"] = "𫚓", - ["鮦"] = "鲖", - ["鮪"] = "鲔", - ["鮫"] = "鲛", - ["鮭"] = "鲑", - ["鮮"] = "鲜", - ["鮯"] = "𫚗", - ["鮰"] = "𫚔", - ["鮳"] = "鲓", - ["鮵"] = "𫚛", - ["鮶"] = "鲪", - ["鮸"] = "𩾃", - ["鮺"] = "鲝", - ["鮿"] = "𫚚", - ["鯀"] = "鲧", - ["鯁"] = "鲠", - ["鯄"] = "𩾁", - ["鯆"] = "𫚙", - ["鯇"] = "鲩", - ["鯉"] = "鲤", - ["鯊"] = "鲨", - ["鯒"] = "鲬", - ["鯔"] = "鲻", - ["鯕"] = "鲯", - ["鯖"] = "鲭", - ["鯗"] = "鲞", - ["鯛"] = "鲷", - ["鯝"] = "鲴", - ["鯞"] = "𫚡", - ["鯡"] = "鲱", - ["鯢"] = "鲵", - ["鯤"] = "鲲", - ["鯧"] = "鲳", - ["鯨"] = "鲸", - ["鯪"] = "鲮", - ["鯫"] = "鲰", - ["鯬"] = "𫚞", - ["鯰"] = "鲶", - ["鯱"] = "𩾇", - ["鯴"] = "鲺", - ["鯶"] = "𩽼", - ["鯷"] = "鳀", - ["鯻"] = "𬶟", - ["鯽"] = "鲫", - ["鯾"] = "𫚣", - ["鯿"] = "鳊", - ["鰁"] = "鳈", - ["鰂"] = "鲗", - ["鰃"] = "鳂", - ["鰆"] = "䲠", - ["鰈"] = "鲽", - ["鰉"] = "鳇", - ["鰊"] = "𬶠", - ["鰋"] = "𫚢", - ["鰌"] = "䲡", - ["鰍"] = "鳅", - ["鰏"] = "鲾", - ["鰐"] = "鳄", - ["鰑"] = "𫚊", - ["鰒"] = "鳆", - ["鰓"] = "鳃", - ["鰕"] = "𫚥", - ["鰛"] = "鳁", - ["鰜"] = "鳒", - ["鰟"] = "鳑", - ["鰠"] = "鳋", - ["鰣"] = "鲥", - ["鰤"] = "𫚕", - ["鰥"] = "鳏", - ["鰦"] = "𫚤", - ["鰧"] = "䲢", - ["鰨"] = "鳎", - ["鰩"] = "鳐", - ["鰫"] = "𫚦", - ["鰭"] = "鳍", - ["鰮"] = "鳁", - ["鰱"] = "鲢", - ["鰲"] = "鳌", - ["鰳"] = "鳓", - ["鰵"] = "鳘", - ["鰶"] = "𬶭", - ["鰷"] = "鲦", - ["鰹"] = "鲣", - ["鰺"] = "鲹", - ["鰻"] = "鳗", - ["鰼"] = "鳛", - ["鰽"] = "𫚧", - ["鰾"] = "鳔", - ["鱀"] = "𬶨", - ["鱂"] = "鳉", - ["鱄"] = "𫚋", - ["鱅"] = "鳙", - ["鱆"] = "𫠒", - ["鱇"] = "𩾌", - ["鱈"] = "鳕", - ["鱉"] = "鳖", - ["鱊"] = "𫚪", - ["鱒"] = "鳟", - ["鱔"] = "鳝", - ["鱖"] = "鳜", - ["鱗"] = "鳞", - ["鱘"] = "鲟", - ["鱚"] = "𬶮", - ["鱝"] = "鲼", - ["鱟"] = "鲎", - ["鱠"] = "鲙", - ["鱢"] = "𫚫", - ["鱣"] = "鳣", - ["鱤"] = "鳡", - ["鱧"] = "鳢", - ["鱨"] = "鲿", - ["鱭"] = "鲚", - ["鱮"] = "𫚈", - ["鱯"] = "鳠", - ["鱲"] = "𫚭", - ["鱷"] = "鳄", - ["鱸"] = "鲈", - ["鱺"] = "鲡", - ["鳥"] = "鸟", - ["鳧"] = "凫", - ["鳩"] = "鸠", - ["鳬"] = "凫", - ["鳲"] = "鸤", - ["鳳"] = "凤", - ["鳴"] = "鸣", - ["鳶"] = "鸢", - ["鳷"] = "𫛛", - ["鳼"] = "𪉃", - ["鳽"] = "𫛚", - ["鳾"] = "䴓", - ["鴀"] = "𫛜", - ["鴃"] = "𫛞", - ["鴅"] = "𫛝", - ["鴆"] = "鸩", - ["鴇"] = "鸨", - ["鴉"] = "鸦", - ["鴐"] = "𫛤", - ["鴒"] = "鸰", - ["鴔"] = "𫛡", - ["鴕"] = "鸵", - ["鴗"] = "𫁡", - ["鴛"] = "鸳", - ["鴜"] = "𪉈", - ["鴝"] = "鸲", - ["鴞"] = "鸮", - ["鴟"] = "鸱", - ["鴣"] = "鸪", - ["鴥"] = "𫛣", - ["鴦"] = "鸯", - ["鴨"] = "鸭", - ["鴮"] = "𫛦", - ["鴯"] = "鸸", - ["鴰"] = "鸹", - ["鴲"] = "𪉆", - ["鴳"] = "𫛩", - ["鴴"] = "鸻", - ["鴷"] = "䴕", - ["鴻"] = "鸿", - ["鴽"] = "𫛪", - ["鴿"] = "鸽", - ["鵁"] = "䴔", - ["鵂"] = "鸺", - ["鵃"] = "鸼", - ["鵊"] = "𫛥", - ["鵏"] = "𬷕", - ["鵐"] = "鹀", - ["鵑"] = "鹃", - ["鵒"] = "鹆", - ["鵓"] = "鹁", - ["鵚"] = "𪉍", - ["鵜"] = "鹈", - ["鵝"] = "鹅", - ["鵟"] = "𫛭", - ["鵠"] = "鹄", - ["鵡"] = "鹉", - ["鵧"] = "𫛨", - ["鵩"] = "𫛳", - ["鵪"] = "鹌", - ["鵫"] = "𫛱", - ["鵬"] = "鹏", - ["鵮"] = "鹐", - ["鵯"] = "鹎", - ["鵰"] = "雕", - ["鵲"] = "鹊", - ["鵷"] = "鹓", - ["鵾"] = "鹍", - ["鶄"] = "䴖", - ["鶇"] = "鸫", - ["鶉"] = "鹑", - ["鶊"] = "鹒", - ["鶌"] = "𫛵", - ["鶒"] = "𫛶", - ["鶓"] = "鹋", - ["鶖"] = "鹙", - ["鶗"] = "𫛸", - ["鶘"] = "鹕", - ["鶚"] = "鹗", - ["鶠"] = "𬸘", - ["鶡"] = "鹖", - ["鶥"] = "鹛", - ["鶦"] = "𫛷", - ["鶩"] = "鹜", - ["鶪"] = "䴗", - ["鶬"] = "鸧", - ["鶭"] = "𫛯", - ["鶯"] = "莺", - ["鶰"] = "𫛫", - ["鶱"] = "𬸣", - ["鶲"] = "鹟", - ["鶴"] = "鹤", - ["鶹"] = "鹠", - ["鶺"] = "鹡", - ["鶻"] = "鹘", - ["鶼"] = "鹣", - ["鶿"] = "鹚", - ["鷀"] = "鹚", - ["鷁"] = "鹢", - ["鷂"] = "鹞", - ["鷄"] = "鸡", - ["鷅"] = "𫛽", - ["鷉"] = "䴘", - ["鷊"] = "鹝", - ["鷐"] = "𫜀", - ["鷓"] = "鹧", - ["鷔"] = "𪉑", - ["鷖"] = "鹥", - ["鷗"] = "鸥", - ["鷙"] = "鸷", - ["鷚"] = "鹨", - ["鷟"] = "𬸦", - ["鷣"] = "𫜃", - ["鷤"] = "𫛴", - ["鷥"] = "鸶", - ["鷦"] = "鹪", - ["鷨"] = "𪉊", - ["鷩"] = "𫜁", - ["鷫"] = "鹔", - ["鷭"] = "𬸪", - ["鷯"] = "鹩", - ["鷲"] = "鹫", - ["鷳"] = "鹇", - ["鷴"] = "鹇", - ["鷷"] = "𫜄", - ["鷸"] = "鹬", - ["鷹"] = "鹰", - ["鷺"] = "鹭", - ["鷽"] = "鸴", - ["鷿"] = "𬸯", - ["鸂"] = "㶉", - ["鸇"] = "鹯", - ["鸊"] = "䴙", - ["鸋"] = "𫛢", - ["鸌"] = "鹱", - ["鸏"] = "鹲", - ["鸑"] = "𬸚", - ["鸕"] = "鸬", - ["鸗"] = "𫛟", - ["鸘"] = "鹴", - ["鸚"] = "鹦", - ["鸛"] = "鹳", - ["鸝"] = "鹂", - ["鸞"] = "鸾", - ["鹵"] = "卤", - ["鹹"] = "咸", - ["鹺"] = "鹾", - ["鹼"] = "碱", - ["鹽"] = "盐", - ["麗"] = "丽", - ["麥"] = "麦", - ["麨"] = "𪎊", - ["麩"] = "麸", - ["麪"] = "面", - ["麫"] = "面", - ["麬"] = "𤿲", - ["麯"] = "曲", - ["麲"] = "𪎉", - ["麳"] = "𪎌", - ["麴"] = "曲", - ["麵"] = "面", - ["麷"] = "𫜑", - ["麼"] = "么", - ["麽"] = "么", - ["黃"] = "黄", - ["黌"] = "黉", - ["點"] = "点", - ["黨"] = "党", - ["黲"] = "黪", - ["黴"] = "霉", - ["黶"] = "黡", - ["黷"] = "黩", - ["黽"] = "黾", - ["黿"] = "鼋", - ["鼂"] = "鼌", - ["鼉"] = "鼍", - ["鼕"] = "冬", - ["鼴"] = "鼹", - ["齊"] = "齐", - ["齋"] = "斋", - ["齎"] = "赍", - ["齏"] = "齑", - ["齒"] = "齿", - ["齔"] = "龀", - ["齕"] = "龁", - ["齗"] = "龂", - ["齘"] = "𬹼", - ["齙"] = "龅", - ["齜"] = "龇", - ["齟"] = "龃", - ["齠"] = "龆", - ["齡"] = "龄", - ["齣"] = "出", - ["齦"] = "龈", - ["齧"] = "啮", - ["齩"] = "𫜪", - ["齪"] = "龊", - ["齬"] = "龉", - ["齭"] = "𫜭", - ["齮"] = "𬺈", - ["齯"] = "𫠜", - ["齰"] = "𫜬", - ["齲"] = "龋", - ["齴"] = "𫜮", - ["齶"] = "腭", - ["齷"] = "龌", - ["齼"] = "𬺓", - ["齾"] = "𫜰", - ["龍"] = "龙", - ["龎"] = "厐", - ["龐"] = "庞", - ["龑"] = "䶮", - ["龓"] = "𫜲", - ["龔"] = "龚", - ["龕"] = "龛", - ["龜"] = "龟", - ["龭"] = "𩨎", - ["龯"] = "𨱆", - ["鿁"] = "䜤", - ["鿓"] = "鿒", - ["𠁞"] = "𠀾", - ["𠌥"] = "𠆿", - ["𠏢"] = "𠉗", - ["𠐊"] = "𫝋", - ["𠗣"] = "㓆", - ["𠞆"] = "𠛆", - ["𠠎"] = "𠚳", - ["𠬙"] = "𪠡", - ["𠽃"] = "𪠺", - ["𠿕"] = "𪜎", - ["𡂡"] = "𪢒", - ["𡃄"] = "𪡺", - ["𡃕"] = "𠴛", - ["𡃤"] = "𪢐", - ["𡄔"] = "𠴢", - ["𡄣"] = "𠵸", - ["𡅏"] = "𠲥", - ["𡅯"] = "𪢖", - ["𡑍"] = "𫭼", - ["𡑭"] = "𡋗", - ["𡓁"] = "𪤄", - ["𡓾"] = "𡋀", - ["𡔖"] = "𡍣", - ["𡞵"] = "㛟", - ["𡟫"] = "𫝪", - ["𡠹"] = "㛿", - ["𡢃"] = "㛠", - ["𡮉"] = "𡭜", - ["𡮣"] = "𡭬", - ["𡳳"] = "𡳃", - ["𡸗"] = "𪨩", - ["𡹬"] = "𪨹", - ["𡻕"] = "岁", - ["𡽗"] = "𡸃", - ["𡾱"] = "㟜", - ["𡿖"] = "𪩛", - ["𢍰"] = "𪪴", - ["𢠼"] = "𢙑", - ["𢣐"] = "𪬚", - ["𢣚"] = "𢘝", - ["𢣭"] = "𢘞", - ["𢤩"] = "𪫡", - ["𢤱"] = "𢘙", - ["𢤿"] = "𪬯", - ["𢯷"] = "𪭝", - ["𢶒"] = "𪭯", - ["𢶫"] = "𢫞", - ["𢷮"] = "𢫊", - ["𢹿"] = "𢬦", - ["𢺳"] = "𪮳", - ["𣈶"] = "暅", - ["𣋋"] = "𣈣", - ["𣍐"] = "𫧃", - ["𣙎"] = "㭣", - ["𣜬"] = "𪳗", - ["𣝕"] = "𣘷", - ["𣞻"] = "𣘓", - ["𣠩"] = "𣞎", - ["𣠲"] = "𣑶", - ["𣯩"] = "𣯣", - ["𣯴"] = "𣭤", - ["𣯶"] = "毶", - ["𣽏"] = "𪶮", - ["𣾷"] = "㳢", - ["𣿉"] = "𣶫", - ["𤁣"] = "𣺽", - ["𤄷"] = "𪶒", - ["𤅶"] = "𣷷", - ["𤑳"] = "𤎻", - ["𤑹"] = "𪹀", - ["𤒎"] = "𤊀", - ["𤒻"] = "𪹹", - ["𤓌"] = "𪹠", - ["𤓎"] = "𤎺", - ["𤓩"] = "𤊰", - ["𤘀"] = "𪺣", - ["𤛮"] = "𤙯", - ["𤛱"] = "𫞢", - ["𤜆"] = "𪺪", - ["𤠮"] = "𪺸", - ["𤢟"] = "𤝢", - ["𤢻"] = "𢢐", - ["𤩂"] = "𫞧", - ["𤪺"] = "㻘", - ["𤫩"] = "㻏", - ["𤬅"] = "𪼴", - ["𤳷"] = "𪽝", - ["𤳸"] = "𤳄", - ["𤷃"] = "𪽭", - ["𤸫"] = "𤶧", - ["𤺔"] = "𪽴", - ["𥊝"] = "𥅿", - ["𥌃"] = "𥅘", - ["𥏝"] = "𪿊", - ["𥕥"] = "𥐰", - ["𥖅"] = "𥐯", - ["𥖲"] = "𪿞", - ["𥗇"] = "𪿵", - ["𥗽"] = "𬒗", - ["𥜐"] = "𫀓", - ["𥜰"] = "𫀌", - ["𥞵"] = "𥞦", - ["𥢢"] = "䅪", - ["𥢶"] = "𫞷", - ["𥢷"] = "𫀮", - ["𥨐"] = "𥧂", - ["𥪂"] = "𥩺", - ["𥯤"] = "𫁳", - ["𥴨"] = "𫂖", - ["𥴼"] = "𫁺", - ["𥵃"] = "𥱔", - ["𥵊"] = "𥭉", - ["𥶽"] = "𫁱", - ["𥸠"] = "𥮋", - ["𥻦"] = "𫂿", - ["𥼽"] = "𥹥", - ["𥽖"] = "𥺇", - ["𥾯"] = "𫄝", - ["𥿊"] = "𦈈", - ["𦀖"] = "𫄦", - ["𦂅"] = "𦈒", - ["𦃄"] = "𦈗", - ["𦃩"] = "𫄯", - ["𦅇"] = "𫄪", - ["𦅈"] = "𫄵", - ["𦆲"] = "𫟇", - ["𦒀"] = "𫅥", - ["𦔖"] = "𫅼", - ["𦘧"] = "𡳒", - ["𦟼"] = "𫆝", - ["𦠅"] = "𫞅", - ["𦡝"] = "𫆫", - ["𦢈"] = "𣍨", - ["𦣎"] = "𦟗", - ["𦧺"] = "𫇘", - ["𦪙"] = "䑽", - ["𦪽"] = "𦨩", - ["𦱌"] = "𫇪", - ["𦾟"] = "𦶻", - ["𧎈"] = "𧌥", - ["𧒯"] = "𫊹", - ["𧔥"] = "𧒭", - ["𧕟"] = "𧉐", - ["𧜗"] = "䘞", - ["𧜵"] = "䙊", - ["𧝞"] = "䘛", - ["𧞫"] = "𫌋", - ["𧟀"] = "𧝧", - ["𧡴"] = "𫌫", - ["𧢄"] = "𫌬", - ["𧦝"] = "𫍞", - ["𧦧"] = "𫍟", - ["𧩕"] = "𫍭", - ["𧩙"] = "䜥", - ["𧩼"] = "𫍶", - ["𧫝"] = "𫍺", - ["𧬤"] = "𫍼", - ["𧭈"] = "𫍾", - ["𧭹"] = "𫍐", - ["𧳟"] = "𧳕", - ["𧵳"] = "䞌", - ["𧶔"] = "𧹓", - ["𧶧"] = "䞎", - ["𧷎"] = "𪠀", - ["𧸘"] = "𫎨", - ["𧹈"] = "𪥠", - ["𧽯"] = "𫎸", - ["𨂐"] = "𫏌", - ["𨄣"] = "𨀱", - ["𨅍"] = "𨁴", - ["𨆪"] = "𫏕", - ["𨇁"] = "𧿈", - ["𨇞"] = "𨅫", - ["𨇤"] = "𫏨", - ["𨇰"] = "𫏞", - ["𨇽"] = "𫏑", - ["𨈊"] = "𨂺", - ["𨈌"] = "𨄄", - ["𨊰"] = "䢀", - ["𨊸"] = "䢁", - ["𨊻"] = "𨐆", - ["𨋢"] = "䢂", - ["𨌈"] = "𫐍", - ["𨍰"] = "𫐔", - ["𨎌"] = "𫐋", - ["𨎮"] = "𨐉", - ["𨏠"] = "𨐇", - ["𨏥"] = "𨐊", - ["𨞺"] = "𫟫", - ["𨟊"] = "𫟬", - ["𨢿"] = "𨡙", - ["𨣈"] = "𨡺", - ["𨣞"] = "𨟳", - ["𨣧"] = "𨠨", - ["𨤻"] = "𨤰", - ["𨥛"] = "𨱀", - ["𨥟"] = "𫓫", - ["𨦫"] = "䦀", - ["𨧀"] = "𬭊", - ["𨧜"] = "䦁", - ["𨧰"] = "𫟽", - ["𨧱"] = "𨱊", - ["𨨏"] = "𬭛", - ["𨨛"] = "𫓼", - ["𨨢"] = "𫓿", - ["𨩰"] = "𫟾", - ["𨪕"] = "𫓮", - ["𨫒"] = "𨱐", - ["𨬖"] = "𫔏", - ["𨭆"] = "𬭶", - ["𨭎"] = "𬭳", - ["𨭖"] = "𫔑", - ["𨭸"] = "𫔐", - ["𨮂"] = "𨱕", - ["𨮳"] = "𫔒", - ["𨯅"] = "䥿", - ["𨯟"] = "𫔓", - ["𨰃"] = "𫔉", - ["𨰋"] = "𫓳", - ["𨰥"] = "𫔕", - ["𨰲"] = "𫔃", - ["𨲳"] = "𫔖", - ["𨳑"] = "𨸁", - ["𨳕"] = "𨸀", - ["𨴗"] = "𨸅", - ["𨴹"] = "𫔲", - ["𨵩"] = "𨸆", - ["𨵸"] = "𨸇", - ["𨶀"] = "𨸉", - ["𨶏"] = "𨸊", - ["𨶮"] = "𨸌", - ["𨶲"] = "𨸋", - ["𨷲"] = "𨸎", - ["𨼳"] = "𫔽", - ["𨽏"] = "𨸘", - ["𩀨"] = "𫕚", - ["𩅙"] = "𫕨", - ["𩎖"] = "𫖑", - ["𩎢"] = "𩏾", - ["𩏂"] = "𫖓", - ["𩏠"] = "𫖖", - ["𩏪"] = "𩏽", - ["𩏷"] = "𫃗", - ["𩑔"] = "𫖪", - ["𩒎"] = "𫖭", - ["𩓣"] = "𩖕", - ["𩓥"] = "𫖵", - ["𩔑"] = "𫖷", - ["𩔳"] = "𫖴", - ["𩖰"] = "𫠇", - ["𩗀"] = "𩙦", - ["𩗓"] = "𫗈", - ["𩗴"] = "𫗉", - ["𩘀"] = "𩙩", - ["𩘝"] = "𩙭", - ["𩘹"] = "𩙨", - ["𩘺"] = "𩙬", - ["𩙈"] = "𩙰", - ["𩚛"] = "𩟿", - ["𩚥"] = "𩠀", - ["𩚩"] = "𫗡", - ["𩚵"] = "𩠁", - ["𩛆"] = "𩠂", - ["𩛌"] = "𫗤", - ["𩛡"] = "𫗨", - ["𩛩"] = "𩠃", - ["𩜇"] = "𩠉", - ["𩜦"] = "𩠆", - ["𩜵"] = "𩠊", - ["𩝔"] = "𩠋", - ["𩝽"] = "𫗳", - ["𩞄"] = "𩠎", - ["𩞦"] = "𩠏", - ["𩞯"] = "䭪", - ["𩟐"] = "𩠅", - ["𩟗"] = "𫗚", - ["𩠴"] = "𩠠", - ["𩡣"] = "𩡖", - ["𩡺"] = "𩧦", - ["𩢡"] = "𩧬", - ["𩢴"] = "𩧵", - ["𩢸"] = "𩧳", - ["𩢾"] = "𩧮", - ["𩣏"] = "𩧶", - ["𩣑"] = "䯃", - ["𩣫"] = "𩧸", - ["𩣵"] = "𩧻", - ["𩣺"] = "𩧼", - ["𩤊"] = "𩧩", - ["𩤙"] = "𩨆", - ["𩤲"] = "𩨉", - ["𩤸"] = "𩨅", - ["𩥄"] = "𩨋", - ["𩥇"] = "𩨍", - ["𩥉"] = "𩧱", - ["𩥑"] = "𩨌", - ["𩦠"] = "𫠌", - ["𩧆"] = "𩨐", - ["𩭙"] = "𩬣", - ["𩯁"] = "𫙂", - ["𩯳"] = "𩯒", - ["𩰀"] = "𩬤", - ["𩰹"] = "𩰰", - ["𩳤"] = "𩲒", - ["𩴵"] = "𩴌", - ["𩵦"] = "𫠏", - ["𩵩"] = "𩽺", - ["𩵹"] = "𩽻", - ["𩶁"] = "𫚎", - ["𩶘"] = "䲞", - ["𩶰"] = "𩽿", - ["𩶱"] = "𩽽", - ["𩷰"] = "𩾄", - ["𩸃"] = "𩾅", - ["𩸄"] = "𫚝", - ["𩸡"] = "𫚟", - ["𩸦"] = "𩾆", - ["𩻗"] = "𫚨", - ["𩻬"] = "𫚩", - ["𩻮"] = "𫚘", - ["𩼶"] = "𫚬", - ["𩽇"] = "𩾎", - ["𩿅"] = "𫠖", - ["𩿤"] = "𫛠", - ["𩿪"] = "𪉄", - ["𪀖"] = "𫛧", - ["𪀦"] = "𪉅", - ["𪀾"] = "𪉋", - ["𪁈"] = "𪉉", - ["𪁖"] = "𪉌", - ["𪂆"] = "𪉎", - ["𪃍"] = "𪉐", - ["𪃏"] = "𪉏", - ["𪃒"] = "𫛻", - ["𪃧"] = "𫛹", - ["𪄆"] = "𪉔", - ["𪄕"] = "𪉒", - ["𪅂"] = "𫜂", - ["𪆷"] = "𫛾", - ["𪇳"] = "𪉕", - ["𪈼"] = "𱊜", - ["𪉸"] = "𫜊", - ["𪋿"] = "𫧮", - ["𪌭"] = "𫜓", - ["𪍠"] = "𫜕", - ["𪓰"] = "𫜟", - ["𪔵"] = "𪔭", - ["𪘀"] = "𪚏", - ["𪘯"] = "𪚐", - ["𪙏"] = "𫜯", - ["𪟖"] = "𠛾", - ["𪷓"] = "𣶭", - ["𫒡"] = "𫓷", - ["𫜦"] = "𫜫", -} diff --git a/scripts/uosc_danmaku/main.lua b/scripts/uosc_danmaku/main.lua deleted file mode 100644 index a22311d..0000000 --- a/scripts/uosc_danmaku/main.lua +++ /dev/null @@ -1,929 +0,0 @@ -VERSION = "2.0.0" - -mp.commandv('script-message', 'uosc_danmaku-version', VERSION) - -local msg = require('mp.msg') -local utils = require("mp.utils") - -AES = require("modules/aes") -Base64 = require("modules/base64") -MD5 = require("modules/md5") -Sha256 = require("modules/hash") - -require("modules/options") -require("modules/utils") -require("modules/parse") -require("modules/guess") -require('modules/render') -require('modules/menu') -require("modules/update") - -require("apis/dandanplay") -require('apis/extra') - -DANMAKU_PATH = os.getenv("TEMP") or "/tmp/" -HISTORY_PATH = mp.command_native({"expand-path", options.history_path}) -PID = utils.getpid() -DANMAKU = {sources = {}, count = 1} -DELAYS = {} -ENABLED, COMMENTS, DELAY = false, nil, 0 -DELAY_PROPERTY = string.format("user-data/%s/danmaku-delay", mp.get_script_name()) -mp.set_property_native(DELAY_PROPERTY, 0) - -KEY = table_to_zero_indexed({ - 0x00,0x01,0x02,0x03,0x04, - 0x05,0x06,0x07,0x08,0x09, - 0x0a,0x0b,0x0c,0x0d,0x0e, - 0x0f,0x10,0x11,0x12,0x13, - 0x14,0x15,0x16,0x17,0x18, - 0x19,0x1a,0x1b,0x1c,0x1d, - 0x1e,0x1f -}) - -PLATFORM = (function() - local platform = mp.get_property_native("platform") - if platform then - if itable_index_of({ "windows", "darwin" }, platform) then - return platform - end - else - if os.getenv("windir") ~= nil then - return "windows" - end - local homedir = os.getenv("HOME") - if homedir ~= nil and string.sub(homedir, 1, 6) == "/Users" then - return "darwin" - end - end - return "linux" -end)() - -function get_danmaku_visibility() - local history_json = read_file(HISTORY_PATH) - local history - if history_json ~= nil then - history = utils.parse_json(history_json) or {} - local flag = history["show_danmaku"] - if flag == nil then - history["show_danmaku"] = false - write_json_file(HISTORY_PATH, history) - else - return flag - end - else - history = {} - history["show_danmaku"] = false - write_json_file(HISTORY_PATH, history) - end - return false -end - -function set_danmaku_visibility(flag) - local history = {} - local history_json = read_file(HISTORY_PATH) - if history_json ~= nil then - history = utils.parse_json(history_json) or {} - end - history["show_danmaku"] = flag - write_json_file(HISTORY_PATH, history) -end - -function set_danmaku_button() - if get_danmaku_visibility() then - mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") - end -end - -function show_loaded(init) - if DANMAKU.anime and DANMAKU.episode then - show_message("匹配内容:" .. DANMAKU.anime .. "-" .. DANMAKU.episode .. "\\N弹幕加载成功,共计" .. #COMMENTS .. "条弹幕", 3) - if init then - msg.info(DANMAKU.anime .. "-" .. DANMAKU.episode .. " 弹幕加载成功,共计" .. #COMMENTS .. "条弹幕") - end - else - show_message("弹幕加载成功,共计" .. #COMMENTS .. "条弹幕", 3) - end -end - -local function get_cid() - local cid, danmaku_id = nil, nil - local tracks = mp.get_property_native("track-list") - for _, track in ipairs(tracks) do - if track["lang"] == "danmaku" then - cid = track["external-filename"]:match("/(%d-)%.xml$") - danmaku_id = track["id"] - break - end - end - return cid, danmaku_id -end - -local function extract_between_colons(input_string) - local start_index = 0 - local end_index = 0 - local count = 0 - for i = 1, #input_string do - if input_string:sub(i, i) == ":" then - count = count + 1 - if count == 2 then - start_index = i - elseif count == 3 then - end_index = i - break - end - end - end - if start_index > 0 and end_index > 0 then - return input_string:sub(start_index + 1, end_index - 1) - else - return nil - end -end - -local function hex_to_int_color(hex_color) - -- 移除颜色代码中的'#'字符 - hex_color = hex_color:sub(2) -- 只保留颜色代码部分 - - -- 提取R, G, B的十六进制值并转为整数 - local r = tonumber(hex_color:sub(1, 2), 16) - local g = tonumber(hex_color:sub(3, 4), 16) - local b = tonumber(hex_color:sub(5, 6), 16) - - -- 计算32位整数值 - local color_int = (r * 256 * 256) + (g * 256) + b - - return color_int -end - -local function get_type_from_position(position) - if position == 0 then - return 1 - end - if position == 1 then - return 4 - end - return 5 -end - --- 获取指定时间的延迟 --- 返回该时间点之前所有延迟段的总和 -function get_delay_for_time(delay_segments, time) - if not delay_segments or #delay_segments == 0 then return 0 end - - table.sort(delay_segments, function(a, b) return a.start < b.start end) - - local applied_delay = 0 - for i = 1, #delay_segments do - local seg = delay_segments[i] - local delay = tonumber(seg.delay) - if time >= seg.start and delay then - applied_delay = applied_delay + delay - else - break - end - end - return applied_delay -end - -local function merge_delay_segments(segments) - if not segments or #segments == 0 then return {} end - - local NEAREST_THRESHOLD = 10 -- 最邻近段合并阈值 - local MERGE_THRESHOLD = 30 -- 跨段合并阈值 - local EPSILON = 1e-6 -- 判断接近 0 的阈值 - - table.sort(segments, function(a, b) return a.start < b.start end) - - local partially_merged = {} - local i = 1 - while i <= #segments do - local cur = segments[i] - local next_seg = segments[i + 1] - - if next_seg and (next_seg.start - cur.start) <= NEAREST_THRESHOLD then - local combined_delay = tonumber(cur.delay) + tonumber(next_seg.delay) - if math.abs(combined_delay) > EPSILON then - table.insert(partially_merged, { - start = cur.start, - delay = combined_delay - }) - end - i = i + 2 - else - if math.abs(tonumber(cur.delay)) > EPSILON then - table.insert(partially_merged, cur) - end - i = i + 1 - end - end - - local merged = {} - for _, seg in ipairs(partially_merged) do - local merged_flag = false - for idx, m in ipairs(merged) do - if math.abs(seg.start - m.start) <= MERGE_THRESHOLD then - m.delay = tonumber(m.delay) + tonumber(seg.delay) - if math.abs(m.delay) <= EPSILON then - table.remove(merged, idx) - end - merged_flag = true - break - end - end - if not merged_flag then - if math.abs(tonumber(seg.delay)) > EPSILON then - table.insert(merged, { - start = seg.start, - delay = seg.delay - }) - end - end - end - - table.sort(merged, function(a, b) return a.start < b.start end) - return merged -end - -local function set_danmaku_delay(dly, time) - for url, source in pairs(DANMAKU.sources) do - if source.fname and not source.blocked then - source.delay_segments = source.delay_segments or {} - if dly == 0 then - source.delay_segments = {} - elseif time then - table.insert(source.delay_segments, {start = time, delay = dly}) - else - table.insert(source.delay_segments, {start = 0, delay = dly}) - end - - source.delay = nil - table.sort(source.delay_segments, function(a, b) return a.start < b.start end) - add_source_to_history(url, source) - end - end - - if time then - table.insert(DELAYS, {start = time, delay = dly}) - else - table.insert(DELAYS, {start = 0, delay = dly}) - end - - if dly == 0 then - DELAY = 0 - DELAYS = {} - else - DELAY = DELAY + dly - end - - DELAYS = merge_delay_segments(DELAYS) - - if ENABLED and COMMENTS ~= nil then - render() - end - - show_message('设置弹幕延迟: ' .. string.format("%.1f", DELAY + 1e-10) .. ' s') - mp.set_property_native(DELAY_PROPERTY, DELAY) -end - -local function clear_source() - local path = mp.get_property("path") - local history_json = read_file(HISTORY_PATH) - - if not path or not history_json then return end - - local history = utils.parse_json(history_json) or {} - if history[path] == nil then return end - - history[path] = nil - write_json_file(HISTORY_PATH, history) - - for url, source in pairs(DANMAKU.sources) do - if source.from == "user_custom" then - if source.fname and file_exists(source.fname) then - os.remove(source.fname) - end - DANMAKU.sources[url] = nil - end - end - - load_danmaku(false) - - show_message("已重置当前视频所有弹幕源更改", 3) - msg.verbose("已重置当前视频所有弹幕源更改") -end - -function write_history(episodeid) - local history = {} - local path = mp.get_property("path") - local dir = get_parent_directory(path) - local fname = mp.get_property('filename/no-ext') - local episodeNumber = 0 - if episodeid then - episodeNumber = tonumber(episodeid) % 1000 - elseif DANMAKU.extra then - episodeNumber = DANMAKU.extra.episodenum - end - - if is_protocol(path) then - local title, season_num, episod_num = parse_title() - if title and episod_num then - if season_num then - dir = title .." Season".. season_num - else - dir = title - end - fname = url_decode(mp.get_property("media-title")) - episodeNumber = episod_num - end - end - - if dir ~= nil then - local history_json = read_file(HISTORY_PATH) - if history_json ~= nil then - history = utils.parse_json(history_json) or {} - end - history[dir] = {} - history[dir].fname = fname - history[dir].source = DANMAKU.source - history[dir].animeTitle = DANMAKU.anime - history[dir].episodeTitle = DANMAKU.episode - history[dir].episodeNumber = episodeNumber - if episodeid then - history[dir].episodeId = episodeid - elseif DANMAKU.extra then - history[dir].extra = DANMAKU.extra - end - write_json_file(HISTORY_PATH, history) - end -end - -function remove_source_from_history(rm_source) - local history_json = read_file(HISTORY_PATH) - local path = mp.get_property("path") - - if is_protocol(path) then - path = remove_query(path) - end - - if history_json then - local history = utils.parse_json(history_json) or {} - - if history[path] ~= nil and history[path]["sources"] ~= nil then - for source in pairs(history[path]["sources"]) do - if source == rm_source then - history[path]["sources"][source] = nil - break - end - end - end - - write_json_file(HISTORY_PATH, history) - end -end - -function add_source_to_history(add_url, add_source) - local history_json = read_file(HISTORY_PATH) - local path = mp.get_property("path") - - if is_protocol(path) then - path = remove_query(path) - end - - local history = {} - if history_json then - history = utils.parse_json(history_json) or {} - end - - history[path] = history[path] or {} - history[path]["sources"] = history[path]["sources"] or {} - history[path]["sources"][add_url] = history[path]["sources"][add_url] or {} - - local record = history[path]["sources"][add_url] - record.from = add_source.from or "user_custom" - record.blocked = add_source.blocked or false - - local delay_segments = shallow_copy(add_source.delay_segments or {}) - if #delay_segments > 0 then - record.delay_segments = merge_delay_segments(delay_segments) - if #record.delay_segments == 0 then - record.delay_segments = nil - end - else - record.delay_segments = nil - end - - record.delay = nil - write_json_file(HISTORY_PATH, history) -end - -function read_danmaku_source_record(path) - if is_protocol(path) then - path = remove_query(path) - end - - local history_json = read_file(HISTORY_PATH) - if not history_json then return end - - local history = utils.parse_json(history_json) or {} - local record = history[path] - if not record or not record.sources then return end - - local sources = record.sources - local upgraded_sources = {} - - if is_nested_table(sources) then - for source, data in pairs(sources) do - local from = data.from or "user_custom" - local blocked = data.blocked or false - local delay_segments = shallow_copy(data.delay_segments or {}) - if data.delay ~= nil then - for i = #delay_segments, 1, -1 do - if delay_segments[i].start == 0 then - table.remove(delay_segments, i) - end - end - table.insert(delay_segments, 1, { start = 0, delay = tonumber(data.delay) }) - end - if #delay_segments > 0 then - delay_segments = merge_delay_segments(delay_segments) - else - delay_segments = nil - end - - DANMAKU.sources[source] = { - from = from, - blocked = blocked, - delay_segments = delay_segments, - from_history = true, - } - end - else - for _, raw in ipairs(sources) do - local source = raw - local blocked = false - local from = raw:match("<(.-)>") - local delay = raw:match("{{(.-)}}") - - source = source:gsub("<.->", ""):gsub("{{.-}}", "") - - if source:match("^%-") then - source = source:sub(2) - blocked = true - from = from or "api_server" - end - - local delay_segments = nil - if delay ~= nil then - delay_segments = { - { start = 0, delay = tonumber(delay) } - } - end - - DANMAKU.sources[source] = { - from = from or "user_custom", - blocked = blocked, - delay_segments = delay_segments, - from_history = true, - } - - upgraded_sources[source] = shallow_copy(DANMAKU.sources[source]) - end - - if next(upgraded_sources) then - record.sources = upgraded_sources - write_json_file(HISTORY_PATH, history) - end - end -end - --- 收集现有的弹幕文件和延迟记录 -local function collect_danmaku_sources() - local danmaku_input = {} - local delays = {} - - for _, source in pairs(DANMAKU.sources) do - if not source.blocked and source.fname then - if not file_exists(source.fname) then - show_message("未找到弹幕文件", 3) - msg.info("未找到弹幕文件") - return - end - table.insert(danmaku_input, source.fname) - - if source.delay_segments and #source.delay_segments > 0 then - table.insert(delays, source.delay_segments) - end - end - end - - return danmaku_input, delays -end - --- 视频播放时保存弹幕 -function save_danmaku(not_forced) - local danmaku_input, delays = collect_danmaku_sources() - if #danmaku_input == 0 then - show_message("弹幕内容为空,无法保存", 3) - msg.verbose("弹幕内容为空,无法保存") - COMMENTS = {} - return - end - - local path = mp.get_property("path") - local dir = get_parent_directory(path) or "" - local filename = mp.get_property('filename/no-ext') - local danmaku_out = utils.join_path(dir, filename .. ".xml") - -- 排除网络播放场景 - if not path or is_protocol(path) or (not file_exists(danmaku_out) - and not is_writable(danmaku_out)) then - show_message("此弹幕文件不支持保存至本地") - msg.warn("此弹幕文件不支持保存至本地") - else - if not_forced and file_exists(danmaku_out) then - show_message("已存在同名弹幕文件:" .. danmaku_out) - msg.info("已存在同名弹幕文件:" .. danmaku_out) - return - else - convert_danmaku_to_xml(danmaku_input, danmaku_out, delays) - end - end -end - --- 加载弹幕 -function load_danmaku(from_menu, no_osd) - if not ENABLED then return end - local temp_file = "danmaku-" .. PID .. ".ass" - local danmaku_file = utils.join_path(DANMAKU_PATH, temp_file) - local danmaku_input, delays = collect_danmaku_sources() - -- 如果没有弹幕文件,退出加载 - if #danmaku_input == 0 then - show_message("该集弹幕内容为空,结束加载", 3) - msg.verbose("该集弹幕内容为空,结束加载") - COMMENTS = {} - return - end - - convert_danmaku_format(danmaku_input, danmaku_file, delays) - parse_danmaku(danmaku_file, from_menu, no_osd) -end - --- 为 bilibli 网站的视频播放加载弹幕 -function load_danmaku_for_bilibili(path) - local cid, danmaku_id = get_cid() - if danmaku_id ~= nil then - mp.commandv('sub-remove', danmaku_id) - end - - if cid == nil then - cid = mp.get_opt('cid') - if not cid then - local patterns = { - "bilivideo%.c[nom]+.*/resource/(%d+)%D+.*", - "bilivideo%.c[nom]+.*/(%d+)-%d+-%d+%..*%?", - } - local urls = { - path, - mp.get_property("stream-open-filename", ''), - } - - for _, pattern in ipairs(patterns) do - for _, url in ipairs(urls) do - if url:find(pattern) then - cid = url:match(pattern) - break - end - end - end - end - end - if cid == nil and path:match("/video/BV.-") then - if path:match("video/BV.-/.*") then - path = path:gsub("/[^/]+$", "") - end - add_danmaku_source_online(path, true) - return - end - if cid ~= nil then - local url = "https://comment.bilibili.com/" .. cid .. ".xml" - local temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".xml" - local danmaku_xml = utils.join_path(DANMAKU_PATH, temp_file) - DANMAKU.count = DANMAKU.count + 1 - local arg = { - "curl", - "-L", - "-s", - "--compressed", - "--user-agent", - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0", - "--output", - danmaku_xml, - url, - } - - call_cmd_async(arg, function(error) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - msg.error(error) - return - end - if file_exists(danmaku_xml) then - save_danmaku_downloaded(path, danmaku_xml) - load_danmaku(true) - end - end) - end -end - --- 为 bahamut 网站的视频播放加载弹幕 -function load_danmaku_for_bahamut(path) - local path = path:gsub('%%(%x%x)', hex_to_char) - local sn = extract_between_colons(path) - if sn == nil then - return - end - local url = "https://ani.gamer.com.tw/ajax/danmuGet.php" - local temp_file = "bahamut-" .. PID .. ".json" - local danmaku_json = utils.join_path(DANMAKU_PATH, temp_file) - local arg = { - "curl", - "-X", - "POST", - "-d", - "sn=" .. sn, - "-L", - "-s", - "--user-agent", - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", - "--header", - "Origin: https://ani.gamer.com.tw", - "--header", - "Content-Type: application/x-www-form-urlencoded;charset=utf-8", - "--header", - "Accept: application/json", - "--header", - "Authority: ani.gamer.com.tw", - "--output", - danmaku_json, - url, - } - - if options.proxy ~= "" then - table.insert(arg, '-x') - table.insert(arg, options.proxy) - end - - call_cmd_async(arg, function(error) - async_running = false - if error then - show_message("HTTP 请求失败,打开控制台查看详情", 5) - msg.error(error) - return - end - if not file_exists(danmaku_json) then - url = "https://ani.gamer.com.tw/animeVideo.php?sn=" .. sn - ENABLED = true - add_danmaku_source_online(url, true) - return - end - - local comments_json = read_file(danmaku_json) - local comments = utils.parse_json(comments_json) - if not comments then - return - end - - temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".json" - local json_filename = utils.join_path(DANMAKU_PATH, temp_file) - DANMAKU.count = DANMAKU.count + 1 - local json_file = io.open(json_filename, "w") - - if json_file then - json_file:write("[\n") - for _, comment in ipairs(comments) do - local m = comment["text"] - local color = hex_to_int_color(comment["color"]) - local mode = get_type_from_position(comment["position"]) - local time = tonumber(comment["time"]) / 10 - local c = time .. "," .. color .. "," .. mode .. ",25,,," - - -- Write the JSON object as a single line, no spaces or extra formatting - local json_entry = string.format('{"c":"%s","m":"%s"},\n', c, m) - json_file:write(json_entry) - end - json_file:write("]") - json_file:close() - end - - if file_exists(json_filename) then - save_danmaku_downloaded( - "https://ani.gamer.com.tw/animeVideo.php?sn=" .. sn, - json_filename) - load_danmaku(true) - end - end) -end - -function load_danmaku_for_url(path) - if path:find('bilibili.com') or path:find('bilivideo.c[nom]+') then - load_danmaku_for_bilibili(path) - return - end - - if path:find('bahamut.akamaized.net') then - load_danmaku_for_bahamut(path) - return - end - - local title, season_num, episod_num = parse_title() - local filename = url_decode(mp.get_property("media-title")) - local episod_number = nil - if title and episod_num then - if season_num then - dir = title .." Season".. season_num - episod_number = episod_num - else - dir = title - end - auto_load_danmaku(path, dir, filename, episod_number) - addon_danmaku(dir, false) - return - end - get_danmaku_with_hash(filename, path) - addon_danmaku() -end - --- 自动加载上次匹配的弹幕 -function auto_load_danmaku(path, dir, filename, number) - if dir ~= nil then - local history_json = read_file(HISTORY_PATH) - if history_json ~= nil then - local history = utils.parse_json(history_json) or {} - -- 1.判断父文件名是否存在 - local history_dir = history[dir] - if history_dir ~= nil then - --2.如果存在,则获取number和id - DANMAKU.anime = history_dir.animeTitle - local episode_number = history_dir.episodeTitle and history_dir.episodeTitle:match("%d+") - local history_number = history_dir.episodeNumber - local history_id = history_dir.episodeId - local history_fname = history_dir.fname - local history_extra = history_dir.extra - local playing_number = nil - - if history_fname then - if filename ~= history_fname then - if number then - playing_number = number - else - history_number, playing_number = get_episode_number(filename, history_fname) - end - else - playing_number = history_number - end - else - playing_number = get_episode_number(filename) - end - if playing_number ~= nil then - local x = playing_number - history_number --获取集数差值 - DANMAKU.episode = episode_number and string.format("第%s话", episode_number + x) or history_dir.episodeTitle - show_message("自动加载上次匹配的弹幕", 3) - msg.verbose("自动加载上次匹配的弹幕") - if history_id then - local tmp_id = tostring(x + history_id) - set_episode_id(tmp_id) - elseif history_extra then - local episodenum = history_extra.episodenum + x - get_details(history_extra.class, history_extra.id, history_extra.site, - history_extra.title, history_extra.year, history_extra.number, episodenum) - end - else - get_danmaku_with_hash(filename, path) - end - else - get_danmaku_with_hash(filename, path) - end - else - get_danmaku_with_hash(filename, path) - end - end -end - -function init(path) - if not path then return end - local dir = get_parent_directory(path) - local filename = mp.get_property('filename/no-ext') - local video = mp.get_property_native("current-tracks/video") - local duration = mp.get_property_number("duration", 0) - if not video or video["image"] or video["albumart"] or duration < 60 then - msg.info("不支持的播放内容(非视频)") - return - end - if is_protocol(path) then - load_danmaku_for_url(path) - end - if dir and filename then - local danmaku_xml = utils.join_path(dir, filename .. ".xml") - if file_exists(danmaku_xml) then - add_danmaku_source_local(danmaku_xml, true) - else - auto_load_danmaku(path, dir, filename) - addon_danmaku(dir, true) - end - end -end - -mp.register_event("file-loaded", function() - local path = mp.get_property("path") - local dir = get_parent_directory(path) - local filename = mp.get_property('filename/no-ext') - local video = mp.get_property_native("current-tracks/video") - local fps = mp.get_property_number("container-fps", 0) - local duration = mp.get_property_number("duration", 0) - if not video or video["image"] or video["albumart"] or fps < 23 or duration < 60 then - return - end - - read_danmaku_source_record(path) - - if not get_danmaku_visibility() then - return - end - - if options.autoload_for_url and is_protocol(path) then - ENABLED = true - load_danmaku_for_url(path) - end - - if filename == nil or dir == nil then - return - end - local danmaku_xml = utils.join_path(dir, filename .. ".xml") - if options.autoload_local_danmaku then - if file_exists(danmaku_xml) then - ENABLED = true - add_danmaku_source_local(danmaku_xml) - return - end - end - - if options.auto_load then - ENABLED = true - auto_load_danmaku(path, dir, filename) - addon_danmaku(dir, false) - return - end - - if ENABLED and COMMENTS == nil and not async_running then - init(path) - end -end) - --------------- 键位绑定 -------------- -mp.add_key_binding(options.open_search_danmaku_menu_key, "open_search_danmaku_menu", function() - mp.commandv("script-message", "open_search_danmaku_menu") -end) -mp.add_key_binding(options.show_danmaku_keyboard_key, "show_danmaku_keyboard", function() - mp.commandv("script-message", "show_danmaku_keyboard") -end) - -mp.register_script_message("danmaku-delay", function(...) - local commands = {...} - local delay_str, time_str = commands[1], commands[2] - local dly = tonumber(delay_str) - local time = time_str and tonumber(time_str) - if type(dly) ~= "number" then - show_message("参数错误:缺少有效的延迟秒数", 3) - return - end - set_danmaku_delay(dly, time) -end) - -mp.register_script_message("show_danmaku_keyboard", function() - ENABLED = not ENABLED - if ENABLED then - mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") - set_danmaku_visibility(true) - if COMMENTS == nil then - show_message("加载弹幕初始化...", 3) - local path = mp.get_property("path") - init(path) - else - show_loaded() - show_danmaku_func() - end - else - show_message("关闭弹幕", 2) - mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "off") - set_danmaku_visibility(false) - hide_danmaku_func() - end -end) - -mp.register_script_message("check-update", check_for_update) -mp.register_script_message("clear-source", clear_source) -mp.register_script_message("immediately_save_danmaku", save_danmaku) -mp.register_script_message("open_source_delay_menu", danmaku_delay_setup) -mp.register_script_message("open_search_danmaku_menu", open_input_menu) -mp.register_script_message("open_add_source_menu", open_add_menu) -mp.register_script_message("open_add_total_menu", open_add_total_menu) diff --git a/scripts/uosc_danmaku/modules/aes.lua b/scripts/uosc_danmaku/modules/aes.lua deleted file mode 100644 index 3dd3d3b..0000000 --- a/scripts/uosc_danmaku/modules/aes.lua +++ /dev/null @@ -1,491 +0,0 @@ --- modified from https://github.com/idiomic/Lua_AES ---[[ - Copyright 2019 Tyler Richard Hoyer - Copyright 2025 dyphire - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -]] - -local unpack = unpack or table.unpack - -local GF8x2 = { - [0]=0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e, - 0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e, - 0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e, - 0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e, - 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, - 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe, - 0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde, - 0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe, - 0x1b,0x19,0x1f,0x1d,0x13,0x11,0x17,0x15,0x0b,0x09,0x0f,0x0d,0x03,0x01,0x07,0x05, - 0x3b,0x39,0x3f,0x3d,0x33,0x31,0x37,0x35,0x2b,0x29,0x2f,0x2d,0x23,0x21,0x27,0x25, - 0x5b,0x59,0x5f,0x5d,0x53,0x51,0x57,0x55,0x4b,0x49,0x4f,0x4d,0x43,0x41,0x47,0x45, - 0x7b,0x79,0x7f,0x7d,0x73,0x71,0x77,0x75,0x6b,0x69,0x6f,0x6d,0x63,0x61,0x67,0x65, - 0x9b,0x99,0x9f,0x9d,0x93,0x91,0x97,0x95,0x8b,0x89,0x8f,0x8d,0x83,0x81,0x87,0x85, - 0xbb,0xb9,0xbf,0xbd,0xb3,0xb1,0xb7,0xb5,0xab,0xa9,0xaf,0xad,0xa3,0xa1,0xa7,0xa5, - 0xdb,0xd9,0xdf,0xdd,0xd3,0xd1,0xd7,0xd5,0xcb,0xc9,0xcf,0xcd,0xc3,0xc1,0xc7,0xc5, - 0xfb,0xf9,0xff,0xfd,0xf3,0xf1,0xf7,0xf5,0xeb,0xe9,0xef,0xed,0xe3,0xe1,0xe7,0xe5 - } - -local GF8x3 = { - [0]=0x00,0x03,0x06,0x05,0x0c,0x0f,0x0a,0x09,0x18,0x1b,0x1e,0x1d,0x14,0x17,0x12,0x11, - 0x30,0x33,0x36,0x35,0x3c,0x3f,0x3a,0x39,0x28,0x2b,0x2e,0x2d,0x24,0x27,0x22,0x21, - 0x60,0x63,0x66,0x65,0x6c,0x6f,0x6a,0x69,0x78,0x7b,0x7e,0x7d,0x74,0x77,0x72,0x71, - 0x50,0x53,0x56,0x55,0x5c,0x5f,0x5a,0x59,0x48,0x4b,0x4e,0x4d,0x44,0x47,0x42,0x41, - 0xc0,0xc3,0xc6,0xc5,0xcc,0xcf,0xca,0xc9,0xd8,0xdb,0xde,0xdd,0xd4,0xd7,0xd2,0xd1, - 0xf0,0xf3,0xf6,0xf5,0xfc,0xff,0xfa,0xf9,0xe8,0xeb,0xee,0xed,0xe4,0xe7,0xe2,0xe1, - 0xa0,0xa3,0xa6,0xa5,0xac,0xaf,0xaa,0xa9,0xb8,0xbb,0xbe,0xbd,0xb4,0xb7,0xb2,0xb1, - 0x90,0x93,0x96,0x95,0x9c,0x9f,0x9a,0x99,0x88,0x8b,0x8e,0x8d,0x84,0x87,0x82,0x81, - 0x9b,0x98,0x9d,0x9e,0x97,0x94,0x91,0x92,0x83,0x80,0x85,0x86,0x8f,0x8c,0x89,0x8a, - 0xab,0xa8,0xad,0xae,0xa7,0xa4,0xa1,0xa2,0xb3,0xb0,0xb5,0xb6,0xbf,0xbc,0xb9,0xba, - 0xfb,0xf8,0xfd,0xfe,0xf7,0xf4,0xf1,0xf2,0xe3,0xe0,0xe5,0xe6,0xef,0xec,0xe9,0xea, - 0xcb,0xc8,0xcd,0xce,0xc7,0xc4,0xc1,0xc2,0xd3,0xd0,0xd5,0xd6,0xdf,0xdc,0xd9,0xda, - 0x5b,0x58,0x5d,0x5e,0x57,0x54,0x51,0x52,0x43,0x40,0x45,0x46,0x4f,0x4c,0x49,0x4a, - 0x6b,0x68,0x6d,0x6e,0x67,0x64,0x61,0x62,0x73,0x70,0x75,0x76,0x7f,0x7c,0x79,0x7a, - 0x3b,0x38,0x3d,0x3e,0x37,0x34,0x31,0x32,0x23,0x20,0x25,0x26,0x2f,0x2c,0x29,0x2a, - 0x0b,0x08,0x0d,0x0e,0x07,0x04,0x01,0x02,0x13,0x10,0x15,0x16,0x1f,0x1c,0x19,0x1a -} - -local GF8x9 = { - [0]=0x00,0x09,0x12,0x1b,0x24,0x2d,0x36,0x3f,0x48,0x41,0x5a,0x53,0x6c,0x65,0x7e,0x77, - 0x90,0x99,0x82,0x8b,0xb4,0xbd,0xa6,0xaf,0xd8,0xd1,0xca,0xc3,0xfc,0xf5,0xee,0xe7, - 0x3b,0x32,0x29,0x20,0x1f,0x16,0x0d,0x04,0x73,0x7a,0x61,0x68,0x57,0x5e,0x45,0x4c, - 0xab,0xa2,0xb9,0xb0,0x8f,0x86,0x9d,0x94,0xe3,0xea,0xf1,0xf8,0xc7,0xce,0xd5,0xdc, - 0x76,0x7f,0x64,0x6d,0x52,0x5b,0x40,0x49,0x3e,0x37,0x2c,0x25,0x1a,0x13,0x08,0x01, - 0xe6,0xef,0xf4,0xfd,0xc2,0xcb,0xd0,0xd9,0xae,0xa7,0xbc,0xb5,0x8a,0x83,0x98,0x91, - 0x4d,0x44,0x5f,0x56,0x69,0x60,0x7b,0x72,0x05,0x0c,0x17,0x1e,0x21,0x28,0x33,0x3a, - 0xdd,0xd4,0xcf,0xc6,0xf9,0xf0,0xeb,0xe2,0x95,0x9c,0x87,0x8e,0xb1,0xb8,0xa3,0xaa, - 0xec,0xe5,0xfe,0xf7,0xc8,0xc1,0xda,0xd3,0xa4,0xad,0xb6,0xbf,0x80,0x89,0x92,0x9b, - 0x7c,0x75,0x6e,0x67,0x58,0x51,0x4a,0x43,0x34,0x3d,0x26,0x2f,0x10,0x19,0x02,0x0b, - 0xd7,0xde,0xc5,0xcc,0xf3,0xfa,0xe1,0xe8,0x9f,0x96,0x8d,0x84,0xbb,0xb2,0xa9,0xa0, - 0x47,0x4e,0x55,0x5c,0x63,0x6a,0x71,0x78,0x0f,0x06,0x1d,0x14,0x2b,0x22,0x39,0x30, - 0x9a,0x93,0x88,0x81,0xbe,0xb7,0xac,0xa5,0xd2,0xdb,0xc0,0xc9,0xf6,0xff,0xe4,0xed, - 0x0a,0x03,0x18,0x11,0x2e,0x27,0x3c,0x35,0x42,0x4b,0x50,0x59,0x66,0x6f,0x74,0x7d, - 0xa1,0xa8,0xb3,0xba,0x85,0x8c,0x97,0x9e,0xe9,0xe0,0xfb,0xf2,0xcd,0xc4,0xdf,0xd6, - 0x31,0x38,0x23,0x2a,0x15,0x1c,0x07,0x0e,0x79,0x70,0x6b,0x62,0x5d,0x54,0x4f,0x46 -} - -local GF8x11 = { - [0]=0x00,0x0b,0x16,0x1d,0x2c,0x27,0x3a,0x31,0x58,0x53,0x4e,0x45,0x74,0x7f,0x62,0x69, - 0xb0,0xbb,0xa6,0xad,0x9c,0x97,0x8a,0x81,0xe8,0xe3,0xfe,0xf5,0xc4,0xcf,0xd2,0xd9, - 0x7b,0x70,0x6d,0x66,0x57,0x5c,0x41,0x4a,0x23,0x28,0x35,0x3e,0x0f,0x04,0x19,0x12, - 0xcb,0xc0,0xdd,0xd6,0xe7,0xec,0xf1,0xfa,0x93,0x98,0x85,0x8e,0xbf,0xb4,0xa9,0xa2, - 0xf6,0xfd,0xe0,0xeb,0xda,0xd1,0xcc,0xc7,0xae,0xa5,0xb8,0xb3,0x82,0x89,0x94,0x9f, - 0x46,0x4d,0x50,0x5b,0x6a,0x61,0x7c,0x77,0x1e,0x15,0x08,0x03,0x32,0x39,0x24,0x2f, - 0x8d,0x86,0x9b,0x90,0xa1,0xaa,0xb7,0xbc,0xd5,0xde,0xc3,0xc8,0xf9,0xf2,0xef,0xe4, - 0x3d,0x36,0x2b,0x20,0x11,0x1a,0x07,0x0c,0x65,0x6e,0x73,0x78,0x49,0x42,0x5f,0x54, - 0xf7,0xfc,0xe1,0xea,0xdb,0xd0,0xcd,0xc6,0xaf,0xa4,0xb9,0xb2,0x83,0x88,0x95,0x9e, - 0x47,0x4c,0x51,0x5a,0x6b,0x60,0x7d,0x76,0x1f,0x14,0x09,0x02,0x33,0x38,0x25,0x2e, - 0x8c,0x87,0x9a,0x91,0xa0,0xab,0xb6,0xbd,0xd4,0xdf,0xc2,0xc9,0xf8,0xf3,0xee,0xe5, - 0x3c,0x37,0x2a,0x21,0x10,0x1b,0x06,0x0d,0x64,0x6f,0x72,0x79,0x48,0x43,0x5e,0x55, - 0x01,0x0a,0x17,0x1c,0x2d,0x26,0x3b,0x30,0x59,0x52,0x4f,0x44,0x75,0x7e,0x63,0x68, - 0xb1,0xba,0xa7,0xac,0x9d,0x96,0x8b,0x80,0xe9,0xe2,0xff,0xf4,0xc5,0xce,0xd3,0xd8, - 0x7a,0x71,0x6c,0x67,0x56,0x5d,0x40,0x4b,0x22,0x29,0x34,0x3f,0x0e,0x05,0x18,0x13, - 0xca,0xc1,0xdc,0xd7,0xe6,0xed,0xf0,0xfb,0x92,0x99,0x84,0x8f,0xbe,0xb5,0xa8,0xa3 -} - -local GF8x13 = { - [0]=0x00,0x0d,0x1a,0x17,0x34,0x39,0x2e,0x23,0x68,0x65,0x72,0x7f,0x5c,0x51,0x46,0x4b, - 0xd0,0xdd,0xca,0xc7,0xe4,0xe9,0xfe,0xf3,0xb8,0xb5,0xa2,0xaf,0x8c,0x81,0x96,0x9b, - 0xbb,0xb6,0xa1,0xac,0x8f,0x82,0x95,0x98,0xd3,0xde,0xc9,0xc4,0xe7,0xea,0xfd,0xf0, - 0x6b,0x66,0x71,0x7c,0x5f,0x52,0x45,0x48,0x03,0x0e,0x19,0x14,0x37,0x3a,0x2d,0x20, - 0x6d,0x60,0x77,0x7a,0x59,0x54,0x43,0x4e,0x05,0x08,0x1f,0x12,0x31,0x3c,0x2b,0x26, - 0xbd,0xb0,0xa7,0xaa,0x89,0x84,0x93,0x9e,0xd5,0xd8,0xcf,0xc2,0xe1,0xec,0xfb,0xf6, - 0xd6,0xdb,0xcc,0xc1,0xe2,0xef,0xf8,0xf5,0xbe,0xb3,0xa4,0xa9,0x8a,0x87,0x90,0x9d, - 0x06,0x0b,0x1c,0x11,0x32,0x3f,0x28,0x25,0x6e,0x63,0x74,0x79,0x5a,0x57,0x40,0x4d, - 0xda,0xd7,0xc0,0xcd,0xee,0xe3,0xf4,0xf9,0xb2,0xbf,0xa8,0xa5,0x86,0x8b,0x9c,0x91, - 0x0a,0x07,0x10,0x1d,0x3e,0x33,0x24,0x29,0x62,0x6f,0x78,0x75,0x56,0x5b,0x4c,0x41, - 0x61,0x6c,0x7b,0x76,0x55,0x58,0x4f,0x42,0x09,0x04,0x13,0x1e,0x3d,0x30,0x27,0x2a, - 0xb1,0xbc,0xab,0xa6,0x85,0x88,0x9f,0x92,0xd9,0xd4,0xc3,0xce,0xed,0xe0,0xf7,0xfa, - 0xb7,0xba,0xad,0xa0,0x83,0x8e,0x99,0x94,0xdf,0xd2,0xc5,0xc8,0xeb,0xe6,0xf1,0xfc, - 0x67,0x6a,0x7d,0x70,0x53,0x5e,0x49,0x44,0x0f,0x02,0x15,0x18,0x3b,0x36,0x21,0x2c, - 0x0c,0x01,0x16,0x1b,0x38,0x35,0x22,0x2f,0x64,0x69,0x7e,0x73,0x50,0x5d,0x4a,0x47, - 0xdc,0xd1,0xc6,0xcb,0xe8,0xe5,0xf2,0xff,0xb4,0xb9,0xae,0xa3,0x80,0x8d,0x9a,0x97 -} - -local GF8x14 = { - [0]=0x00,0x0e,0x1c,0x12,0x38,0x36,0x24,0x2a,0x70,0x7e,0x6c,0x62,0x48,0x46,0x54,0x5a, - 0xe0,0xee,0xfc,0xf2,0xd8,0xd6,0xc4,0xca,0x90,0x9e,0x8c,0x82,0xa8,0xa6,0xb4,0xba, - 0xdb,0xd5,0xc7,0xc9,0xe3,0xed,0xff,0xf1,0xab,0xa5,0xb7,0xb9,0x93,0x9d,0x8f,0x81, - 0x3b,0x35,0x27,0x29,0x03,0x0d,0x1f,0x11,0x4b,0x45,0x57,0x59,0x73,0x7d,0x6f,0x61, - 0xad,0xa3,0xb1,0xbf,0x95,0x9b,0x89,0x87,0xdd,0xd3,0xc1,0xcf,0xe5,0xeb,0xf9,0xf7, - 0x4d,0x43,0x51,0x5f,0x75,0x7b,0x69,0x67,0x3d,0x33,0x21,0x2f,0x05,0x0b,0x19,0x17, - 0x76,0x78,0x6a,0x64,0x4e,0x40,0x52,0x5c,0x06,0x08,0x1a,0x14,0x3e,0x30,0x22,0x2c, - 0x96,0x98,0x8a,0x84,0xae,0xa0,0xb2,0xbc,0xe6,0xe8,0xfa,0xf4,0xde,0xd0,0xc2,0xcc, - 0x41,0x4f,0x5d,0x53,0x79,0x77,0x65,0x6b,0x31,0x3f,0x2d,0x23,0x09,0x07,0x15,0x1b, - 0xa1,0xaf,0xbd,0xb3,0x99,0x97,0x85,0x8b,0xd1,0xdf,0xcd,0xc3,0xe9,0xe7,0xf5,0xfb, - 0x9a,0x94,0x86,0x88,0xa2,0xac,0xbe,0xb0,0xea,0xe4,0xf6,0xf8,0xd2,0xdc,0xce,0xc0, - 0x7a,0x74,0x66,0x68,0x42,0x4c,0x5e,0x50,0x0a,0x04,0x16,0x18,0x32,0x3c,0x2e,0x20, - 0xec,0xe2,0xf0,0xfe,0xd4,0xda,0xc8,0xc6,0x9c,0x92,0x80,0x8e,0xa4,0xaa,0xb8,0xb6, - 0x0c,0x02,0x10,0x1e,0x34,0x3a,0x28,0x26,0x7c,0x72,0x60,0x6e,0x44,0x4a,0x58,0x56, - 0x37,0x39,0x2b,0x25,0x0f,0x01,0x13,0x1d,0x47,0x49,0x5b,0x55,0x7f,0x71,0x63,0x6d, - 0xd7,0xd9,0xcb,0xc5,0xef,0xe1,0xf3,0xfd,0xa7,0xa9,0xbb,0xb5,0x9f,0x91,0x83,0x8d -} - -local s = { - [0]=0x63,0x7C,0x77,0x7B,0xF2,0x6B,0x6F,0xC5,0x30,0x01,0x67,0x2B,0xFE,0xD7,0xAB,0x76, - 0xCA,0x82,0xC9,0x7D,0xFA,0x59,0x47,0xF0,0xAD,0xD4,0xA2,0xAF,0x9C,0xA4,0x72,0xC0, - 0xB7,0xFD,0x93,0x26,0x36,0x3F,0xF7,0xCC,0x34,0xA5,0xE5,0xF1,0x71,0xD8,0x31,0x15, - 0x04,0xC7,0x23,0xC3,0x18,0x96,0x05,0x9A,0x07,0x12,0x80,0xE2,0xEB,0x27,0xB2,0x75, - 0x09,0x83,0x2C,0x1A,0x1B,0x6E,0x5A,0xA0,0x52,0x3B,0xD6,0xB3,0x29,0xE3,0x2F,0x84, - 0x53,0xD1,0x00,0xED,0x20,0xFC,0xB1,0x5B,0x6A,0xCB,0xBE,0x39,0x4A,0x4C,0x58,0xCF, - 0xD0,0xEF,0xAA,0xFB,0x43,0x4D,0x33,0x85,0x45,0xF9,0x02,0x7F,0x50,0x3C,0x9F,0xA8, - 0x51,0xA3,0x40,0x8F,0x92,0x9D,0x38,0xF5,0xBC,0xB6,0xDA,0x21,0x10,0xFF,0xF3,0xD2, - 0xCD,0x0C,0x13,0xEC,0x5F,0x97,0x44,0x17,0xC4,0xA7,0x7E,0x3D,0x64,0x5D,0x19,0x73, - 0x60,0x81,0x4F,0xDC,0x22,0x2A,0x90,0x88,0x46,0xEE,0xB8,0x14,0xDE,0x5E,0x0B,0xDB, - 0xE0,0x32,0x3A,0x0A,0x49,0x06,0x24,0x5C,0xC2,0xD3,0xAC,0x62,0x91,0x95,0xE4,0x79, - 0xE7,0xC8,0x37,0x6D,0x8D,0xD5,0x4E,0xA9,0x6C,0x56,0xF4,0xEA,0x65,0x7A,0xAE,0x08, - 0xBA,0x78,0x25,0x2E,0x1C,0xA6,0xB4,0xC6,0xE8,0xDD,0x74,0x1F,0x4B,0xBD,0x8B,0x8A, - 0x70,0x3E,0xB5,0x66,0x48,0x03,0xF6,0x0E,0x61,0x35,0x57,0xB9,0x86,0xC1,0x1D,0x9E, - 0xE1,0xF8,0x98,0x11,0x69,0xD9,0x8E,0x94,0x9B,0x1E,0x87,0xE9,0xCE,0x55,0x28,0xDF, - 0x8C,0xA1,0x89,0x0D,0xBF,0xE6,0x42,0x68,0x41,0x99,0x2D,0x0F,0xB0,0x54,0xBB,0x16 -} - -local si = { - [0]=0x52,0x09,0x6A,0xD5,0x30,0x36,0xA5,0x38,0xBF,0x40,0xA3,0x9E,0x81,0xF3,0xD7,0xFB, - 0x7C,0xE3,0x39,0x82,0x9B,0x2F,0xFF,0x87,0x34,0x8E,0x43,0x44,0xC4,0xDE,0xE9,0xCB, - 0x54,0x7B,0x94,0x32,0xA6,0xC2,0x23,0x3D,0xEE,0x4C,0x95,0x0B,0x42,0xFA,0xC3,0x4E, - 0x08,0x2E,0xA1,0x66,0x28,0xD9,0x24,0xB2,0x76,0x5B,0xA2,0x49,0x6D,0x8B,0xD1,0x25, - 0x72,0xF8,0xF6,0x64,0x86,0x68,0x98,0x16,0xD4,0xA4,0x5C,0xCC,0x5D,0x65,0xB6,0x92, - 0x6C,0x70,0x48,0x50,0xFD,0xED,0xB9,0xDA,0x5E,0x15,0x46,0x57,0xA7,0x8D,0x9D,0x84, - 0x90,0xD8,0xAB,0x00,0x8C,0xBC,0xD3,0x0A,0xF7,0xE4,0x58,0x05,0xB8,0xB3,0x45,0x06, - 0xD0,0x2C,0x1E,0x8F,0xCA,0x3F,0x0F,0x02,0xC1,0xAF,0xBD,0x03,0x01,0x13,0x8A,0x6B, - 0x3A,0x91,0x11,0x41,0x4F,0x67,0xDC,0xEA,0x97,0xF2,0xCF,0xCE,0xF0,0xB4,0xE6,0x73, - 0x96,0xAC,0x74,0x22,0xE7,0xAD,0x35,0x85,0xE2,0xF9,0x37,0xE8,0x1C,0x75,0xDF,0x6E, - 0x47,0xF1,0x1A,0x71,0x1D,0x29,0xC5,0x89,0x6F,0xB7,0x62,0x0E,0xAA,0x18,0xBE,0x1B, - 0xFC,0x56,0x3E,0x4B,0xC6,0xD2,0x79,0x20,0x9A,0xDB,0xC0,0xFE,0x78,0xCD,0x5A,0xF4, - 0x1F,0xDD,0xA8,0x33,0x88,0x07,0xC7,0x31,0xB1,0x12,0x10,0x59,0x27,0x80,0xEC,0x5F, - 0x60,0x51,0x7F,0xA9,0x19,0xB5,0x4A,0x0D,0x2D,0xE5,0x7A,0x9F,0x93,0xC9,0x9C,0xEF, - 0xA0,0xE0,0x3B,0x4D,0xAE,0x2A,0xF5,0xB0,0xC8,0xEB,0xBB,0x3C,0x83,0x53,0x99,0x61, - 0x17,0x2B,0x04,0x7E,0xBA,0x77,0xD6,0x26,0xE1,0x69,0x14,0x63,0x55,0x21,0x0C,0x7D -} - -local rcon = { - 0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a, - 0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39, - 0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a, - 0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8, - 0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef, - 0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc, - 0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b, - 0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3, - 0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94, - 0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20, - 0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35, - 0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f, - 0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04, - 0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63, - 0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd, - 0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d -} - -local xor4 = { - [0]=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14, - 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13, - 3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12, - 4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11, - 5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10, - 6,7,4,5,2,3,0,1,14,15,12,13,10,11,8,9, - 7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8, - 8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7, - 9,8,11,10,13,12,15,14,1,0,3,2,5,4,7,6, - 10,11,8,9,14,15,12,13,2,3,0,1,6,7,4,5, - 11,10,9,8,15,14,13,12,3,2,1,0,7,6,5,4, - 12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3, - 13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2, - 14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1, - 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0, -} - -local function xor8(a, b) - local al = a % 16 - local bl = b % 16 - return 16 * xor4[a - al + (b - bl) / 16] + xor4[16 * al + bl] -end - -local function xor_blocks_8(a, b) - local res = {} - for i = 1, 16 do - res[i] = xor8(a[i], b[i]) - end - return res -end - -local function addRoundKey(state, key) - for i, byte in next, state do - state[i] = xor8(byte, key[i]) - end -end - -local function subBytes(state, s_box) - for i, byte in next, state do - state[i] = s_box[byte] - end -end - -local function shiftRows(state) - state[2], state[6], state[10], state[14] = - state[6], state[10], state[14], state[2] - - state[3], state[7], state[11], state[15] = - state[11], state[15], state[3], state[7] - - state[4], state[8], state[12], state[16] = - state[16], state[4], state[8], state[12] -end - -local function inv_shiftRows(state) - state[2], state[6], state[10], state[14] = - state[14], state[2], state[6], state[10] - - state[3], state[7], state[11], state[15] = - state[11], state[15], state[3], state[7] - - state[4], state[8], state[12], state[16] = - state[8], state[12], state[16], state[4] -end - -local function mixColumns(state) - for i = 0, 3 do - local cur = i*4+1 - local a, b, c, d = state[cur], state[cur + 1], state[cur + 2], state[cur + 3] - state[cur + 0] = xor8(xor8(xor8(GF8x2[a], GF8x3[b]), c), d) - state[cur + 1] = xor8(xor8(xor8(a, GF8x2[b]), GF8x3[c]), d) - state[cur + 2] = xor8(xor8(xor8(a, b), GF8x2[c]), GF8x3[d]) - state[cur + 3] = xor8(xor8(xor8(GF8x3[a], b), c), GF8x2[d]) - end -end - -local function inv_mixColumns(state) -- TODO: fix - for i = 0, 3 do - local cur = i*4+1 - local a, b, c, d = state[cur], state[cur + 1], state[cur + 2], state[cur + 3] - state[cur + 0] = xor8(xor8(xor8(GF8x14[a], GF8x11[b]), GF8x13[c]), GF8x9[d]) - state[cur + 1] = xor8(xor8(xor8(GF8x9[a], GF8x14[b]), GF8x11[c]), GF8x13[d]) - state[cur + 2] = xor8(xor8(xor8(GF8x13[a], GF8x9[b]), GF8x14[c]), GF8x11[d]) - state[cur + 3] = xor8(xor8(xor8(GF8x11[a], GF8x13[b]), GF8x9[c]), GF8x14[d]) - end -end - --- 256-bit key constants -local n = 32 -- number of bytes in the 256-bit encryption key -local b = 240 -- number of bytes in 15 128-bit round keys -local function schedule256(key) - local expanded = {} - for c = 0, n-1 do - expanded[c] = key[c] - end - - local i = 1 - local c = n - local t1, t2, t3, t4 --t - while c < b do - t1 = expanded[c-4] - t2 = expanded[c-3] - t3 = expanded[c-2] - t4 = expanded[c-1] - - if (c % n == 0) then - t1, t2, t3, t4 = xor8(rcon[i+1], s[t2]), s[t3], s[t4], s[t1] - i = i + 1 - end - - if (c % n == 16) then - t1 = s[t1] - t2 = s[t2] - t3 = s[t3] - t4 = s[t4] - end - - t1 = xor8(t1, expanded[c - n]) - expanded[c] = t1 - c = c + 1 - - t2 = xor8(t2, expanded[c - n]) - expanded[c] = t2 - c = c + 1 - - t3 = xor8(t3, expanded[c - n]) - expanded[c] = t3 - c = c + 1 - - t4 = xor8(t4, expanded[c - n]) - expanded[c] = t4 - c = c + 1 - end - - local roundKeys = {} - for round = 0, 14 do - local roundKey = {} - for byte = 0, 15 do - roundKey[byte+1] = expanded[round * 16 + byte] - end - roundKeys[round] = roundKey - end - return roundKeys -end - -local function chunks(text, i) - local first = i * 16 + 1 - if first > #text then - return - end - i = i + 1 - - local chunk = {text:byte(first, first + 15)} - for j = #chunk + 1, 16 do - chunk[j] = 0 - end - - return i, chunk -end - -local function pkcs7_unpad(str) - local len = #str - if len == 0 then return str end - - local pad_len = string.byte(str, len) - if pad_len < 1 or pad_len > 16 then - return nil - end - - for i = len - pad_len + 1, len do - if string.byte(str, i) ~= pad_len then - return nil - end - end - - return string.sub(str, 1, len - pad_len) -end - -local function zero_unpad(str) - local len = #str - while len > 0 and string.byte(str, len) == 0 do - len = len - 1 - end - return string.sub(str, 1, len) -end - -local function unpad(str) - local unpadded = pkcs7_unpad(str) - if unpadded then - return unpadded - else - return zero_unpad(str) - end -end - -local function encrypt(state, roundKeys) - addRoundKey(state, roundKeys[0]) - for round = 1, 13 do - subBytes(state, s) - shiftRows(state) - mixColumns(state) - addRoundKey(state, roundKeys[round]) - end - subBytes(state, s) - shiftRows(state) - addRoundKey(state, roundKeys[14]) -end - -local function decrypt(state, roundKeys) - addRoundKey(state, roundKeys[14]) - inv_shiftRows(state) - subBytes(state, si) - for round = 13, 1, -1 do - addRoundKey(state, roundKeys[round]) - inv_mixColumns(state) - inv_shiftRows(state) - subBytes(state, si) - end - addRoundKey(state, roundKeys[0]) -end - -local function ECB_encrypt(key, originaltext) - local text = {} - local roundKeys = schedule256(key) - local i = 0 - while true do - i, state = chunks(originaltext, i) - if not state then break end - encrypt(state, roundKeys) - text[i] = string.char(unpack(state)) - end - return table.concat(text) -end - -local function ECB_decrypt(key, ciphertext) - local text = {} - local roundKeys = schedule256(key) - local i = 0 - while true do - i, state = chunks(ciphertext, i) - if not state then break end - decrypt(state, roundKeys) - text[i] = string.char(unpack(state)) - end - return unpad(table.concat(text)) -end - -local function CBC_encrypt(key, iv, originaltext) - local roundKeys = schedule256(key) - local text = {} - local prev_block = {unpack(iv)} - local i = 0 - - while true do - i, block = chunks(originaltext, i) - if not block then break end - - local xored = xor_blocks_8(block, prev_block) - encrypt(xored, roundKeys) - text[i] = string.char(unpack(xored)) - prev_block = xored - end - - return table.concat(text) -end - -local function CBC_decrypt(key, iv, ciphertext) - local roundKeys = schedule256(key) - local text = {} - local prev_block = {unpack(iv)} - local i = 0 - - while true do - i, block = chunks(ciphertext, i) - if not block then break end - - local decrypted = {unpack(block)} - - decrypt(decrypted, roundKeys) - local plain_block = xor_blocks_8(decrypted, prev_block) - text[i] = string.char(unpack(plain_block)) - prev_block = block - end - - local result = table.concat(text) - return unpad(result) -end - -return { - ECB = { - encrypt = ECB_encrypt; - decrypt = ECB_decrypt; - }; - CBC = { - encrypt = CBC_encrypt; - decrypt = CBC_decrypt; - }; -} \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/base64.lua b/scripts/uosc_danmaku/modules/base64.lua deleted file mode 100644 index 08be240..0000000 --- a/scripts/uosc_danmaku/modules/base64.lua +++ /dev/null @@ -1,203 +0,0 @@ ---[[ - - base64 -- v1.5.3 public domain Lua base64 encoder/decoder - no warranty implied; use at your own risk - - Needs bit32.extract function. If not present it's implemented using BitOp - or Lua 5.3 native bit operators. For Lua 5.1 fallbacks to pure Lua - implementation inspired by Rici Lake's post: - http://ricilake.blogspot.co.uk/2007/10/iterating-bits-in-lua.html - - author: Ilya Kolbin (iskolbin@gmail.com) - url: github.com/iskolbin/lbase64 - - COMPATIBILITY - - Lua 5.1+, LuaJIT - - LICENSE - - See end of file for license information. - ---]] - - -local base64 = {} - -local extract = _G.bit32 and _G.bit32.extract -- Lua 5.2/Lua 5.3 in compatibility mode -if not extract then - if _G.bit then -- LuaJIT - local shl, shr, band = _G.bit.lshift, _G.bit.rshift, _G.bit.band - extract = function( v, from, width ) - return band( shr( v, from ), shl( 1, width ) - 1 ) - end - elseif _G._VERSION == "Lua 5.1" then - extract = function( v, from, width ) - local w = 0 - local flag = 2^from - for i = 0, width-1 do - local flag2 = flag + flag - if v % flag2 >= flag then - w = w + 2^i - end - flag = flag2 - end - return w - end - else -- Lua 5.3+ - extract = load[[return function( v, from, width ) - return ( v >> from ) & ((1 << width) - 1) - end]]() - end -end - - -function base64.makeencoder( s62, s63, spad ) - local encoder = {} - for b64code, char in pairs{[0]='A','B','C','D','E','F','G','H','I','J', - 'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y', - 'Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n', - 'o','p','q','r','s','t','u','v','w','x','y','z','0','1','2', - '3','4','5','6','7','8','9',s62 or '+',s63 or'/',spad or'='} do - encoder[b64code] = char:byte() - end - return encoder -end - -function base64.makedecoder( s62, s63, spad ) - local decoder = {} - for b64code, charcode in pairs( base64.makeencoder( s62, s63, spad )) do - decoder[charcode] = b64code - end - return decoder -end - -local DEFAULT_ENCODER = base64.makeencoder() -local DEFAULT_DECODER = base64.makedecoder() - -local char, concat = string.char, table.concat - -function base64.encode( str, encoder, usecaching ) - encoder = encoder or DEFAULT_ENCODER - local t, k, n = {}, 1, #str - local lastn = n % 3 - local cache = {} - for i = 1, n-lastn, 3 do - local a, b, c = str:byte( i, i+2 ) - local v = a*0x10000 + b*0x100 + c - local s - if usecaching then - s = cache[v] - if not s then - s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)]) - cache[v] = s - end - else - s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)]) - end - t[k] = s - k = k + 1 - end - if lastn == 2 then - local a, b = str:byte( n-1, n ) - local v = a*0x10000 + b*0x100 - t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[64]) - elseif lastn == 1 then - local v = str:byte( n )*0x10000 - t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[64], encoder[64]) - end - return concat( t ) -end - -function base64.decode( b64, decoder, usecaching, schar1pos, schar2pos ) - decoder = decoder or DEFAULT_DECODER - schar1pos = schar1pos or 62 - schar2pos = schar2pos or 63 - local pattern = '[^%w%+%/%=]' - if decoder then - local s62, s63 - for charcode, b64code in pairs( decoder ) do - if b64code == schar1pos then s62 = charcode - elseif b64code == schar2pos then s63 = charcode - end - end - pattern = ('[^%%w%%%s%%%s%%=]'):format( char(s62), char(s63) ) - end - b64 = b64:gsub( pattern, '' ) - local cache = usecaching and {} - local t, k = {}, 1 - local n = #b64 - local padding = b64:sub(-2) == '==' and 2 or b64:sub(-1) == '=' and 1 or 0 - for i = 1, padding > 0 and n-4 or n, 4 do - local a, b, c, d = b64:byte( i, i+3 ) - local s - if usecaching then - local v0 = a*0x1000000 + b*0x10000 + c*0x100 + d - s = cache[v0] - if not s then - local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d] - s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8)) - cache[v0] = s - end - else - local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d] - s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8)) - end - t[k] = s - k = k + 1 - end - if padding == 1 then - local a, b, c = b64:byte( n-3, n-1 ) - local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 - t[k] = char( extract(v,16,8), extract(v,8,8)) - elseif padding == 2 then - local a, b = b64:byte( n-3, n-2 ) - local v = decoder[a]*0x40000 + decoder[b]*0x1000 - t[k] = char( extract(v,16,8)) - end - return concat( t ) -end - -return base64 - ---[[ ------------------------------------------------------------------------------- -This software is available under 2 licenses -- choose whichever you prefer. ------------------------------------------------------------------------------- -ALTERNATIVE A - MIT License -Copyright (c) 2018 Ilya Kolbin -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ------------------------------------------------------------------------------- -ALTERNATIVE B - Public Domain (www.unlicense.org) -This is free and unencumbered software released into the public domain. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this -software, either in source code form or as a compiled binary, for any purpose, -commercial or non-commercial, and by any means. -In jurisdictions that recognize copyright laws, the author or authors of this -software dedicate any and all copyright interest in the software to the public -domain. We make this dedication for the benefit of the public at large and to -the detriment of our heirs and successors. We intend this dedication to be an -overt act of relinquishment in perpetuity of all present and future rights to -this software under copyright law. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- ---]] \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/guess.lua b/scripts/uosc_danmaku/modules/guess.lua deleted file mode 100644 index e0ff7ea..0000000 --- a/scripts/uosc_danmaku/modules/guess.lua +++ /dev/null @@ -1,157 +0,0 @@ --- Clean up media name -local function clean_name(name) - return name:gsub("^%[.-%]", " ") - :gsub("^%(.-%)", " ") - :gsub("[_%.%[%]]", " ") - :gsub("第%s*%d+%s*季", "") - :gsub("第%s*%d+%s*部", "") - :gsub("第[一二三四五六七八九十]+季", "") - :gsub("第[一二三四五六七八九十]+部", "") - :gsub("^%s*(.-)%s*$", "%1") - :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") -end - --- Formatters for media titles -local formatters = { - { - regex = "^(.-)%s*[_%-%.%s]%s*第%s*(%d+)%s*[季部]+%s*[_%-%.%s]%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*第%s*(%d+)%s*[季部]+%s*[_%-%.%s]%s*[eEpP]+[_%-%.%s]?(%d+[%.v]?%d*)", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*第([一二三四五六七八九十]+)[季部]+%s*[_%-%.%s]%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. chinese_to_number(season) .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*第([一二三四五六七八九十]+)[季部]+%s*[_%-%.%s]%s*[eEpP]+[_%-%.%s]?(%d+[%.v]?%d*)", - format = function(name, season, episode) - return clean_name(name) .. " S" .. chinese_to_number(season) .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[_%.%s]%d%d[_%.%s]%d%d%s*[_%.%s]?(.-)%s*[_%.%s]%d+[pPkKxXbBfF]", - format = function(name, year, subtitle) - local title = clean_name(name) - if subtitle then - title = title .. ": " .. subtitle:gsub("%.", " "):gsub("^%s*(.-)%s*$", "%1") - end - return title .. " (" .. year .. ")" - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", - format = function(name, year, season, episode) - return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[eEpP]+[_%-%.%s]?(%d+%.?%d*)", - format = function(name, year, episode) - return clean_name(name) .. " (" .. year .. ") E" .. episode - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+[%.v]?%d*)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, season, episode, year) - return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d+)[nrdsth]+[_%.%s]%s*[sS]eason[_%.%s]%s*%[(%d+[%.v]?%d*)%]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[^dD][eEpP]+[_%-%.%s]?(%d+[%.v]?%d*)[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, episode, year) - return clean_name(name) .. " (" .. year .. ") E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[^dD][eEpP]+[_%-%.%s]?(%d+%.?%d*)", - format = function(name, episode) - return clean_name(name) .. " E" .. episode - end - }, - { - regex = "^(.-)%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*%[(%d+[%.v]?%d*)%]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*%[(%d+[%.v]?%d*)%(%a+%)%]", - format = function(name, episode) - return clean_name(name) .. " E" .. episode:gsub("v%d+$","") - end - }, - { - regex = "^(.-)%s*[%-#]%s*(%d+%.?%d*)%s*", - format = function(name, episode) - return clean_name(name) .. " E" .. episode - end - }, - { - regex = "^(.-)%s*[%[%(]([OVADSPs]+)[%]%)]", - format = function(name, sp) - return clean_name(name) .. " [" .. sp .. "]" - end - }, - { - regex = "^(.-)%s*[_%-%.%s]%s*(%d?%d)x(%d%d?%d?%d?)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, season, episode) - return clean_name(name) .. " S" .. season .. "E" .. episode - end - }, - { - regex = "^%((%d%d%d%d)%.?%d?%d?%.?%d?%d?%)%s*(.-)%s*[%(%[]", - format = function(year, name) - return clean_name(name) .. " (" .. year .. ")" - end - }, - { - regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", - format = function(name, year) - return clean_name(name) .. " (" .. year .. ")" - end - }, - { - regex = "^%[.-%]%s*%[?(.-)%]?%s*[%(%[]", - format = function(name) - return clean_name(name) - end - }, -} - --- Format filename based on regex patterns -function format_filename(title) - for _, formatter in ipairs(formatters) do - local matches = {title:match(formatter.regex)} - if #matches > 0 then - title = formatter.format(unpack(matches)) - return title - end - end -end diff --git a/scripts/uosc_danmaku/modules/hash.lua b/scripts/uosc_danmaku/modules/hash.lua deleted file mode 100644 index 04029b2..0000000 --- a/scripts/uosc_danmaku/modules/hash.lua +++ /dev/null @@ -1,192 +0,0 @@ ---[[ - - sha256 -- public domain Lua SHA-256 implementation - no warranty implied; use at your own risk - - author: dyphire - - COMPATIBILITY - - Lua 5.1+, LuaJIT - - LICENSE: MIT License - ---]] - -local unpack = unpack or table.unpack - -local function band(a,b) - local res = 0 - local bit = 1 - for i = 0,31 do - local aa = a % 2 - local bb = b % 2 - if aa == 1 and bb == 1 then - res = res + bit - end - a = (a - aa) / 2 - b = (b - bb) / 2 - bit = bit * 2 - end - return res -end - -local function bor(a,b) - local res = 0 - local bit = 1 - for i = 0,31 do - local aa = a % 2 - local bb = b % 2 - if aa == 1 or bb == 1 then - res = res + bit - end - a = (a - aa) / 2 - b = (b - bb) / 2 - bit = bit * 2 - end - return res -end - -local function bxor(a,b) - local res = 0 - local bit = 1 - for i = 0,31 do - local aa = a % 2 - local bb = b % 2 - if (aa + bb) == 1 then - res = res + bit - end - a = (a - aa) / 2 - b = (b - bb) / 2 - bit = bit * 2 - end - return res -end - -local function bnot(a) - return 0xFFFFFFFF - a -end - -local function lshift(a,n) - return (a * 2^n) % 2^32 -end - -local function rshift(a,n) - return math.floor(a / 2^n) % 2^32 -end - -local function bit_ror(x, n) - return bor(rshift(x, n), lshift(x, 32 - n)) -end - -local function sha256(message) - local k = { - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - } - - local function preprocess(msg) - local len = #msg - local bitLen = len * 8 - msg = msg .. "\128" - - local zeroPad = 64 - ((len + 9) % 64) - if zeroPad ~= 64 then - msg = msg .. string.rep("\0", zeroPad) - end - - msg = msg .. string.char( - rshift(bitLen, 56) % 256, - rshift(bitLen, 48) % 256, - rshift(bitLen, 40) % 256, - rshift(bitLen, 32) % 256, - rshift(bitLen, 24) % 256, - rshift(bitLen, 16) % 256, - rshift(bitLen, 8) % 256, - bitLen % 256 - ) - return msg - end - - local function chunkify(msg) - local chunks = {} - for i = 1, #msg, 64 do - table.insert(chunks, msg:sub(i, i + 63)) - end - return chunks - end - - local function processChunk(chunk, hash) - local w = {} - - for i = 1, 64 do - if i <= 16 then - w[i] = lshift(string.byte(chunk, (i - 1) * 4 + 1), 24) + - lshift(string.byte(chunk, (i - 1) * 4 + 2), 16) + - lshift(string.byte(chunk, (i - 1) * 4 + 3), 8) + - string.byte(chunk, (i - 1) * 4 + 4) - else - local s0 = bxor(bxor(bit_ror(w[i - 15], 7), bit_ror(w[i - 15], 18)), rshift(w[i - 15], 3)) - local s1 = bxor(bxor(bit_ror(w[i - 2], 17), bit_ror(w[i - 2], 19)), rshift(w[i - 2], 10)) - w[i] = (w[i - 16] + s0 + w[i - 7] + s1) % 2^32 - end - end - - local a, b, c, d, e, f, g, h = unpack(hash) - - for i = 1, 64 do - local s1 = bxor(bxor(bit_ror(e, 6), bit_ror(e, 11)), bit_ror(e, 25)) - local ch = bxor(band(e, f), band(bnot(e), g)) - local temp1 = (h + s1 + ch + k[i] + w[i]) % 2^32 - local s0 = bxor(bxor(bit_ror(a, 2), bit_ror(a, 13)), bit_ror(a, 22)) - local maj = bxor(bxor(band(a, b), band(a, c)), band(b, c)) - local temp2 = (s0 + maj) % 2^32 - - h = g - g = f - f = e - e = (d + temp1) % 2^32 - d = c - c = b - b = a - a = (temp1 + temp2) % 2^32 - end - - return - (hash[1] + a) % 2^32, - (hash[2] + b) % 2^32, - (hash[3] + c) % 2^32, - (hash[4] + d) % 2^32, - (hash[5] + e) % 2^32, - (hash[6] + f) % 2^32, - (hash[7] + g) % 2^32, - (hash[8] + h) % 2^32 - end - - message = preprocess(message) - local chunks = chunkify(message) - - local hash = { - 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 - } - - for _, chunk in ipairs(chunks) do - hash = {processChunk(chunk, hash)} - end - - local result = "" - for _, h in ipairs(hash) do - result = result .. string.format("%08x", h) - end - - return result -end - -return sha256 diff --git a/scripts/uosc_danmaku/modules/md5.lua b/scripts/uosc_danmaku/modules/md5.lua deleted file mode 100644 index f2b1d8c..0000000 --- a/scripts/uosc_danmaku/modules/md5.lua +++ /dev/null @@ -1,164 +0,0 @@ --- taken from https://github.com/rkscv/danmaku/blob/main/danmaku.lua --- modified from https://bitop.luajit.org/download.html (LuaBitOp-1.0.2 / md5test.lua) --- and https://github.com/kikito/md5.lua/blob/master/md5.lua --- SPDX-License-Identifier:MIT - -local byte, char, sub, rep = string.byte, string.char, string.sub, string.rep - -local tobit, tohex, bnot, bor, band, bxor, lshift, rshift, rol, bswap -if _G.bit then --LuaJIT - tobit, tohex = _G.bit.tobit or _G.bit.cast, _G.bit.tohex - bnot, bor, band, bxor, lshift, rshift = _G.bit.bnot, _G.bit.bor, _G.bit.band, _G.bit.bxor, _G.bit.lshift, _G.bit.rshift - rol, bswap = _G.bit.rol, _G.bit.bswap -elseif _G.bit32 then --Lua 5.2 - local bit32_bnot = _G.bit32.bnot - tobit = function(a) return a <= 0x7fffffff and a or -(_G.bit32.bnot(a) + 1) end - bnot = function(a) return tobit(bit32_bnot(tobit(a))) end - bor, band, bxor, lshift, rshift, rol = _G.bit32.bor, _G.bit32.band, _G.bit32.bxor, _G.bit32.lshift, _G.bit32.rshift, _G.bit32.lrotate -else - return nil -end -if not tohex then - tohex = function(a) return string.sub(string.format('%08x', a), -8) end -end -if not bswap then - bswap = function(a) - return bor(rshift(a, 24), band(rshift(a, 8), 0xff00), lshift(band(a, 0xff00), 8), lshift(a, 24)) - end -end - -local function tr_f(a, b, c, d, x, s) return rol(bxor(d, band(b, bxor(c, d))) + a + x, s) + b end -local function tr_g(a, b, c, d, x, s) return rol(bxor(c, band(d, bxor(b, c))) + a + x, s) + b end -local function tr_h(a, b, c, d, x, s) return rol(bxor(b, c, d) + a + x, s) + b end -local function tr_i(a, b, c, d, x, s) return rol(bxor(c, bor(b, bnot(d))) + a + x, s) + b end - -local function transform(x, a1, b1, c1, d1) - local a, b, c, d = a1, b1, c1, d1 - - a = tr_f(a, b, c, d, x[1] + 0xd76aa478, 7) - d = tr_f(d, a, b, c, x[2] + 0xe8c7b756, 12) - c = tr_f(c, d, a, b, x[3] + 0x242070db, 17) - b = tr_f(b, c, d, a, x[4] + 0xc1bdceee, 22) - a = tr_f(a, b, c, d, x[5] + 0xf57c0faf, 7) - d = tr_f(d, a, b, c, x[6] + 0x4787c62a, 12) - c = tr_f(c, d, a, b, x[7] + 0xa8304613, 17) - b = tr_f(b, c, d, a, x[8] + 0xfd469501, 22) - a = tr_f(a, b, c, d, x[9] + 0x698098d8, 7) - d = tr_f(d, a, b, c, x[10] + 0x8b44f7af, 12) - c = tr_f(c, d, a, b, x[11] + 0xffff5bb1, 17) - b = tr_f(b, c, d, a, x[12] + 0x895cd7be, 22) - a = tr_f(a, b, c, d, x[13] + 0x6b901122, 7) - d = tr_f(d, a, b, c, x[14] + 0xfd987193, 12) - c = tr_f(c, d, a, b, x[15] + 0xa679438e, 17) - b = tr_f(b, c, d, a, x[16] + 0x49b40821, 22) - - a = tr_g(a, b, c, d, x[2] + 0xf61e2562, 5) - d = tr_g(d, a, b, c, x[7] + 0xc040b340, 9) - c = tr_g(c, d, a, b, x[12] + 0x265e5a51, 14) - b = tr_g(b, c, d, a, x[1] + 0xe9b6c7aa, 20) - a = tr_g(a, b, c, d, x[6] + 0xd62f105d, 5) - d = tr_g(d, a, b, c, x[11] + 0x02441453, 9) - c = tr_g(c, d, a, b, x[16] + 0xd8a1e681, 14) - b = tr_g(b, c, d, a, x[5] + 0xe7d3fbc8, 20) - a = tr_g(a, b, c, d, x[10] + 0x21e1cde6, 5) - d = tr_g(d, a, b, c, x[15] + 0xc33707d6, 9) - c = tr_g(c, d, a, b, x[4] + 0xf4d50d87, 14) - b = tr_g(b, c, d, a, x[9] + 0x455a14ed, 20) - a = tr_g(a, b, c, d, x[14] + 0xa9e3e905, 5) - d = tr_g(d, a, b, c, x[3] + 0xfcefa3f8, 9) - c = tr_g(c, d, a, b, x[8] + 0x676f02d9, 14) - b = tr_g(b, c, d, a, x[13] + 0x8d2a4c8a, 20) - - a = tr_h(a, b, c, d, x[6] + 0xfffa3942, 4) - d = tr_h(d, a, b, c, x[9] + 0x8771f681, 11) - c = tr_h(c, d, a, b, x[12] + 0x6d9d6122, 16) - b = tr_h(b, c, d, a, x[15] + 0xfde5380c, 23) - a = tr_h(a, b, c, d, x[2] + 0xa4beea44, 4) - d = tr_h(d, a, b, c, x[5] + 0x4bdecfa9, 11) - c = tr_h(c, d, a, b, x[8] + 0xf6bb4b60, 16) - b = tr_h(b, c, d, a, x[11] + 0xbebfbc70, 23) - a = tr_h(a, b, c, d, x[14] + 0x289b7ec6, 4) - d = tr_h(d, a, b, c, x[1] + 0xeaa127fa, 11) - c = tr_h(c, d, a, b, x[4] + 0xd4ef3085, 16) - b = tr_h(b, c, d, a, x[7] + 0x04881d05, 23) - a = tr_h(a, b, c, d, x[10] + 0xd9d4d039, 4) - d = tr_h(d, a, b, c, x[13] + 0xe6db99e5, 11) - c = tr_h(c, d, a, b, x[16] + 0x1fa27cf8, 16) - b = tr_h(b, c, d, a, x[3] + 0xc4ac5665, 23) - - a = tr_i(a, b, c, d, x[1] + 0xf4292244, 6) - d = tr_i(d, a, b, c, x[8] + 0x432aff97, 10) - c = tr_i(c, d, a, b, x[15] + 0xab9423a7, 15) - b = tr_i(b, c, d, a, x[6] + 0xfc93a039, 21) - a = tr_i(a, b, c, d, x[13] + 0x655b59c3, 6) - d = tr_i(d, a, b, c, x[4] + 0x8f0ccc92, 10) - c = tr_i(c, d, a, b, x[11] + 0xffeff47d, 15) - b = tr_i(b, c, d, a, x[2] + 0x85845dd1, 21) - a = tr_i(a, b, c, d, x[9] + 0x6fa87e4f, 6) - d = tr_i(d, a, b, c, x[16] + 0xfe2ce6e0, 10) - c = tr_i(c, d, a, b, x[7] + 0xa3014314, 15) - b = tr_i(b, c, d, a, x[14] + 0x4e0811a1, 21) - a = tr_i(a, b, c, d, x[5] + 0xf7537e82, 6) - d = tr_i(d, a, b, c, x[12] + 0xbd3af235, 10) - c = tr_i(c, d, a, b, x[3] + 0x2ad7d2bb, 15) - b = tr_i(b, c, d, a, x[10] + 0xeb86d391, 21) - - return tobit(a + a1), tobit(b + b1), tobit(c + c1), tobit(d + d1) -end - -local function md5_update(self, s) - local m, len = s, #s - if len % 4 ~= 0 then - m = m .. '\128' .. rep('\0', 63 - band(len + 8, 63)) .. - char(band(lshift(len, 3), 255), band(rshift(len, 5), 255), band(rshift(len, 13), 255), - band(rshift(len, 21), 255)) .. '\0\0\0\0' - end - local a, b, c, d = self.a, self.b, self.c, self.d - local x, k = self.x, self.k - for i = 1, #m, 4 do - local m0, m1, m2, m3 = byte(m, i, i + 3) - x[k] = bor(m0, lshift(m1, 8), lshift(m2, 16), lshift(m3, 24)) - if k == 16 then - a, b, c, d = transform(x, a, b, c, d) - k = 1 - else - k = k + 1 - end - end - self.a, self.b, self.c, self.d, self.k = a, b, c, d, k - self.len = self.len + len - return self -end - -local function md5_finish(self) - local len = self.len - if len % 4 == 0 then - local s = '\128' .. rep('\0', 63 - band(len + 8, 63)) .. - char(band(lshift(len, 3), 255), band(rshift(len, 5), 255), band(rshift(len, 13), 255), - band(rshift(len, 21), 255)) .. '\0\0\0\0' - md5_update(self, s) - end - return tohex(bswap(self.a)) .. tohex(bswap(self.b)) .. tohex(bswap(self.c)) .. tohex(bswap(self.d)) -end - -local md5 = {} - -function md5.new() - return { - a = 0x67452301, - b = 0xefcdab89, - c = 0x98badcfe, - d = 0x10325476, - x = {}, - k = 1, - len = 0, - update = md5_update, - finish = md5_finish, - } -end - -function md5.sum(s) - return md5.new():update(s):finish() -end - -return md5 \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/menu.lua b/scripts/uosc_danmaku/modules/menu.lua deleted file mode 100644 index 820bcbf..0000000 --- a/scripts/uosc_danmaku/modules/menu.lua +++ /dev/null @@ -1,806 +0,0 @@ -local msg = require('mp.msg') -local utils = require("mp.utils") - -input_loaded, input = pcall(require, "mp.input") -uosc_available = false - --- 打开番剧数据匹配菜单 -function get_animes(query) - local encoded_query = url_encode(query) - local url = options.api_server .. "/api/v2/search/anime" - local params = "keyword=" .. encoded_query - local full_url = url .. "?" .. params - local items = {} - - local message = "加载数据中..." - local menu_type = "menu_anime" - local menu_title = "在此处输入番剧名称" - local footnote = "使用enter或ctrl+enter进行搜索" - local menu_cmd = { "script-message-to", mp.get_script_name(), "search-anime-event" } - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) - else - show_message(message, 30) - end - msg.verbose("尝试获取番剧数据:" .. full_url) - - local args = make_danmaku_request_args("GET", full_url) - - if args == nil then - return - end - - local res = mp.command_native({ name = 'subprocess', capture_stdout = true, capture_stderr = true, args = args }) - - if not res.status or res.status ~= 0 then - local message = "获取数据失败" - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) - else - show_message(message, 3) - end - msg.error("HTTP 请求失败:" .. res.stderr) - end - - local response = utils.parse_json(res.stdout) - - if not response or not response.animes then - local message = "无结果" - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) - else - show_message(message, 3) - end - msg.info("无结果") - return - end - - for _, anime in ipairs(response.animes) do - table.insert(items, { - title = anime.animeTitle, - hint = anime.typeDescription, - value = { - "script-message-to", - mp.get_script_name(), - "search-episodes-event", - anime.animeTitle, anime.bangumiId, - }, - }) - end - - if uosc_available then - update_menu_uosc(menu_type, menu_title, items, footnote, menu_cmd, query) - elseif input_loaded then - show_message("", 0) - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end -end - -function get_episodes(animeTitle, bangumiId) - local url = options.api_server .. "/api/v2/bangumi/" .. bangumiId - local items = {} - - local message = "加载数据中..." - local menu_type = "menu_episodes" - local menu_title = "剧集信息" - local footnote = "使用 / 打开筛选" - - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 30) - end - - local args = make_danmaku_request_args("GET", url) - - if args == nil then - return - end - - local res = mp.command_native({ name = 'subprocess', capture_stdout = true, capture_stderr = true, args = args }) - - if not res.status or res.status ~= 0 then - local message = "获取数据失败" - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - msg.error("HTTP 请求失败:" .. res.stderr) - end - - local response = utils.parse_json(res.stdout) - - if not response or not response.bangumi or not response.bangumi.episodes then - local message = "无结果" - if uosc_available then - update_menu_uosc(menu_type, menu_title, message, footnote) - else - show_message(message, 3) - end - msg.info("无结果") - return - end - - for _, episode in ipairs(response.bangumi.episodes) do - table.insert(items, { - title = episode.episodeTitle, - hint = episode.episodeNumber, - value = { "script-message-to", mp.get_script_name(), "load-danmaku", - animeTitle, episode.episodeTitle, episode.episodeId }, - keep_open = false, - selectable = true, - }) - end - - if uosc_available then - update_menu_uosc(menu_type, menu_title, items, footnote) - elseif input_loaded then - mp.add_timeout(0.1, function() - open_menu_select(items) - end) - end -end - -function update_menu_uosc(menu_type, menu_title, menu_item, menu_footnote, menu_cmd, query) - local items = {} - if type(menu_item) == "string" then - table.insert(items, { - title = menu_item, - value = "", - italic = true, - keep_open = true, - selectable = false, - align = "center", - }) - else - items = menu_item - end - - local menu_props = { - type = menu_type, - title = menu_title, - search_style = menu_cmd and "palette" or "on_demand", - search_debounce = menu_cmd and "submit" or 0, - on_search = menu_cmd, - footnote = menu_footnote, - search_suggestion = query, - items = items, - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -function open_menu_select(menu_items, is_time) - local item_titles, item_values = {}, {} - for i, v in ipairs(menu_items) do - item_titles[i] = is_time and "[" .. v.hint .. "] " .. v.title or - (v.hint and v.title .. " (" .. v.hint .. ")" or v.title) - item_values[i] = v.value - end - mp.commandv('script-message-to', 'console', 'disable') - input.select({ - prompt = '筛选:', - items = item_titles, - submit = function(id) - mp.commandv(unpack(item_values[id])) - end, - }) -end - --- 打开弹幕输入搜索菜单 -function open_input_menu_get() - mp.commandv('script-message-to', 'console', 'disable') - local title = parse_title() - input.get({ - prompt = '番剧名称:', - default_text = title, - cursor_position = title and #title + 1, - submit = function(text) - input.terminate() - mp.commandv("script-message-to", mp.get_script_name(), "search-anime-event", text) - end - }) -end - -function open_input_menu_uosc() - local items = {} - - if DANMAKU.anime and DANMAKU.episode then - local episode = DANMAKU.episode:gsub("%s.-$","") - episode = episode:match("^(第.*[话回集]+)%s*") or episode - items[#items + 1] = { - title = string.format("已关联弹幕:%s-%s", DANMAKU.anime, episode), - bold = true, - italic = true, - keep_open = true, - selectable = false, - } - end - - items[#items + 1] = { - hint = " 追加|ds或|dy或|dm可搜索电视剧|电影|国漫", - keep_open = true, - selectable = false, - } - - local menu_props = { - type = "menu_danmaku", - title = "在此处输入番剧名称", - search_style = "palette", - search_debounce = "submit", - search_suggestion = parse_title(), - on_search = { "script-message-to", mp.get_script_name(), "search-anime-event" }, - footnote = "使用enter或ctrl+enter进行搜索", - items = items - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -function open_input_menu() - if uosc_available then - open_input_menu_uosc() - elseif input_loaded then - open_input_menu_get() - end -end - --- 打开弹幕源添加管理菜单 -function open_add_menu_get() - mp.commandv('script-message-to', 'console', 'disable') - input.get({ - prompt = 'Input url:', - submit = function(text) - input.terminate() - mp.commandv("script-message-to", mp.get_script_name(), "add-source-event", text) - end - }) -end - -function open_add_menu_uosc() - local sources = {} - for url, source in pairs(DANMAKU.sources) do - if source.fname then - local item = {title = url, value = url, keep_open = true,} - if source.from == "api_server" then - if source.blocked then - item.hint = "来源:弹幕服务器(已屏蔽)" - item.actions = {{icon = "check", name = "unblock"},} - else - item.hint = "来源:弹幕服务器(未屏蔽)" - item.actions = {{icon = "not_interested", name = "block"},} - end - else - item.hint = "来源:用户添加" - item.actions = {{icon = "delete", name = "delete"},} - end - table.insert(sources, item) - end - end - local menu_props = { - type = "menu_source", - title = "在此输入源地址url", - search_style = "palette", - search_debounce = "submit", - on_search = { "script-message-to", mp.get_script_name(), "add-source-event" }, - footnote = "使用enter或ctrl+enter进行添加", - items = sources, - item_actions_place = "outside", - callback = {mp.get_script_name(), 'setup-danmaku-source'}, - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -function open_add_menu() - if uosc_available then - open_add_menu_uosc() - elseif input_loaded then - open_add_menu_get() - end -end - --- 打开弹幕内容菜单 -function open_content_menu(pos) - local items = {} - local time_pos = pos or mp.get_property_native("time-pos") - local duration = mp.get_property_number("duration", 0) - - if COMMENTS ~= nil then - for _, event in ipairs(COMMENTS) do - local text = event.clean_text:gsub("^m%s[mbl%s%-%d%.]+$", ""):gsub("^%s*(.-)%s*$", "%1") - local delay = get_delay_for_time(DELAYS, event.start_time) - local start_time = event.start_time + delay - local end_time = event.end_time + delay - if text and text ~= "" and start_time >= 0 and start_time <= duration then - table.insert(items, { - title = abbr_str(text, 60), - hint = seconds_to_time(start_time), - value = { "seek", start_time, "absolute" }, - active = time_pos >= start_time and time_pos <= end_time, - }) - end - end - end - - local menu_props = { - type = "menu_content", - title = "弹幕内容", - footnote = "使用 / 打开搜索", - items = items - } - local json_props = utils.format_json(menu_props) - - if uosc_available then - mp.commandv("script-message-to", "uosc", "open-menu", json_props) - elseif input_loaded then - open_menu_select(items, true) - end -end - -local menu_items_config = { - bold = { title = "粗体", hint = options.bold, original = options.bold, - footnote = "true / false", }, - fontsize = { title = "大小", hint = options.fontsize, original = options.fontsize, - scope = { min = 0, max = math.huge }, footnote = "请输入整数(>=0)", }, - outline = { title = "描边", hint = options.outline, original = options.outline, - scope = { min = 0.0, max = 4.0 }, footnote = "输入范围:(0.0-4.0)" }, - shadow = { title = "阴影", hint = options.shadow, original = options.shadow, - scope = { min = 0, max = math.huge }, footnote = "请输入整数(>=0)", }, - scrolltime = { title = "速度", hint = options.scrolltime, original = options.scrolltime, - scope = { min = 1, max = math.huge }, footnote = "请输入整数(>=1)", }, - opacity = { title = "透明度", hint = options.opacity, original = options.opacity, - scope = { min = 0, max = 1 }, footnote = "输入范围:0(完全透明)到1(不透明)", }, - displayarea = { title = "弹幕显示范围", hint = options.displayarea, original = options.displayarea, - scope = { min = 0.0, max = 1.0 }, footnote = "显示范围(0.0-1.0)", }, -} --- 创建一个包含键顺序的表,这是样式菜单的排布顺序 -local ordered_keys = {"bold", "fontsize", "outline", "shadow", "scrolltime", "opacity", "displayarea"} - --- 设置弹幕样式菜单 -function add_danmaku_setup(actived, status) - if not uosc_available then - show_message("无uosc UI框架,不支持使用该功能", 2) - return - end - - local items = {} - for _, key in ipairs(ordered_keys) do - local config = menu_items_config[key] - local item_config = { - title = config.title, - hint = "目前:" .. tostring(config.hint), - active = key == actived, - keep_open = true, - selectable = true, - } - if config.hint ~= config.original then - local original_str = tostring(config.original) - item_config.actions = {{icon = "refresh", name = key, label = "恢复默认配置 < " .. original_str .. " >"}} - end - table.insert(items, item_config) - end - - local menu_props = { - type = "menu_style", - title = "弹幕样式", - search_style = "disabled", - footnote = "样式更改仅在本次播放生效", - item_actions_place = "outside", - items = items, - callback = { mp.get_script_name(), 'setup-danmaku-style'}, - } - - local actions = "open-menu" - if status ~= nil then - -- msg.info(status) - if status == "updata" then - -- "updata" 模式会保留输入框文字 - menu_props.title = " " .. menu_items_config[actived]["footnote"] - actions = "update-menu" - elseif status == "refresh" then - -- "refresh" 模式会清除输入框文字 - menu_props.title = " " .. menu_items_config[actived]["footnote"] - elseif status == "error" then - menu_props.title = "输入非数字字符或范围出错" - -- 创建一个定时器,在1秒后触发回调函数,删除搜索栏错误信息 - mp.add_timeout(1.0, function() add_danmaku_setup(actived, "updata") end) - end - menu_props.search_style = "palette" - menu_props.search_debounce = "submit" - menu_props.footnote = menu_items_config[actived]["footnote"] or "" - menu_props.on_search = { "script-message-to", mp.get_script_name(), "setup-danmaku-style", actived } - end - - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", actions, json_props) -end - --- 设置弹幕源延迟菜单 -function danmaku_delay_setup(source_url) - if not uosc_available then - show_message("无uosc UI框架,不支持使用该功能", 2) - return - end - - local sources = {} - for url, source in pairs(DANMAKU.sources) do - if source.fname and not source.blocked then - local delay = 0 - if source.delay_segments then - for _, seg in ipairs(source.delay_segments) do - if seg.start == 0 then - delay = seg.delay or 0 - break - end - end - end - local item = {title = url, value = url, keep_open = true,} - item.hint = "当前弹幕源延迟:" .. string.format("%.1f", delay + 1e-10) .. "秒" - item.active = url == source_url - table.insert(sources, item) - end - end - - local menu_props = { - type = "menu_delay", - title = "弹幕源延迟设置", - search_style = "disabled", - items = sources, - callback = {mp.get_script_name(), 'setup-source-delay'}, - } - if source_url ~= nil then - menu_props.title = "请输入数字,单位(秒)/ 或者按照形如\"14m15s\"的格式输入分钟数加秒数" - menu_props.search_style = "palette" - menu_props.search_debounce = "submit" - menu_props.on_search = { "script-message-to", mp.get_script_name(), "setup-source-delay", source_url } - end - - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - - --- 总集合弹幕菜单 -function open_add_total_menu_uosc() - local items = {} - local total_menu_items_config = { - { title = "弹幕搜索", action = "open_search_danmaku_menu" }, - { title = "从源添加弹幕", action = "open_add_source_menu" }, - { title = "弹幕源延迟设置", action = "open_source_delay_menu" }, - { title = "弹幕样式", action = "open_setup_danmaku_menu" }, - { title = "弹幕内容", action = "open_content_danmaku_menu" }, - } - - - if DANMAKU.anime and DANMAKU.episode then - local episode = DANMAKU.episode:gsub("%s.-$","") - episode = episode:match("^(第.*[话回集]+)%s*") or episode - items[#items + 1] = { - title = string.format("已关联弹幕:%s-%s", DANMAKU.anime, episode), - bold = true, - italic = true, - keep_open = true, - selectable = false, - } - end - - for _, config in ipairs(total_menu_items_config) do - table.insert(items, { - title = config.title, - value = { "script-message-to", mp.get_script_name(), config.action }, - keep_open = false, - selectable = true, - }) - end - - local menu_props = { - type = "menu_total", - title = "弹幕设置", - search_style = "disabled", - items = items, - } - local json_props = utils.format_json(menu_props) - mp.commandv("script-message-to", "uosc", "open-menu", json_props) -end - -function open_add_total_menu_select() - local item_titles, item_values = {}, {} - local total_menu_items_config = { - { title = "弹幕搜索", action = "open_search_danmaku_menu" }, - { title = "从源添加弹幕", action = "open_add_source_menu" }, - { title = "弹幕内容", action = "open_content_danmaku_menu" }, - } - for i, config in ipairs(total_menu_items_config) do - item_titles[i] = config.title - item_values[i] = { "script-message-to", mp.get_script_name(), config.action } - end - - mp.commandv('script-message-to', 'console', 'disable') - input.select({ - prompt = '选择:', - items = item_titles, - submit = function(id) - mp.commandv(unpack(item_values[id])) - end, - }) -end - -function open_add_total_menu() - if uosc_available then - open_add_total_menu_uosc() - elseif input_loaded then - open_add_total_menu_select() - end -end - --- 添加 uosc 菜单栏按钮 -mp.commandv( - "script-message-to", - "uosc", - "set-button", - "danmaku", - utils.format_json({ - icon = "search", - tooltip = "弹幕搜索", - command = "script-message open_search_danmaku_menu", - }) -) - -mp.commandv( - "script-message-to", - "uosc", - "set-button", - "danmaku_source", - utils.format_json({ - icon = "add_box", - tooltip = "从源添加弹幕", - command = "script-message open_add_source_menu", - }) -) - -mp.commandv( - "script-message-to", - "uosc", - "set-button", - "danmaku_styles", - utils.format_json({ - icon = "palette", - tooltip = "弹幕样式", - command = "script-message open_setup_danmaku_menu", - }) -) - -mp.commandv( - "script-message-to", - "uosc", - "set-button", - "danmaku_delay", - utils.format_json({ - icon = "more_time", - tooltip = "弹幕源延迟设置", - command = "script-message open_source_delay_menu", - }) -) - -mp.commandv( - "script-message-to", - "uosc", - "set-button", - "danmaku_menu", - utils.format_json({ - icon = "grid_view", - tooltip = "弹幕设置", - command = "script-message open_add_total_menu", - }) -) - - -mp.register_script_message('uosc-version', function() - uosc_available = true -end) - -mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "off") -mp.register_script_message("set", function(prop, value) - if prop ~= "show_danmaku" then - return - end - - if value == "on" then - ENABLED = true - set_danmaku_visibility(true) - if COMMENTS == nil then - local path = mp.get_property("path") - init(path) - else - show_loaded() - show_danmaku_func() - end - else - show_message("关闭弹幕", 2) - ENABLED = false - set_danmaku_visibility(false) - hide_danmaku_func() - end - - mp.commandv("script-message-to", "uosc", "set", "show_danmaku", value) -end) - --- 注册函数给 uosc 按钮使用 -mp.register_script_message("search-anime-event", function(query) - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_danmaku") - end - local name, class = query:match("^(.-)%s*|%s*(.-)%s*$") - if name and class then - query_extra(name, class) - else - get_animes(query) - end -end) -mp.register_script_message("search-episodes-event", function(animeTitle, bangumiId) - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_anime") - end - get_episodes(animeTitle, bangumiId) -end) - --- Register script message to show the input menu -mp.register_script_message("load-danmaku", function(animeTitle, episodeTitle, episodeId) - ENABLED = true - DANMAKU.anime = animeTitle - DANMAKU.episode = episodeTitle - set_episode_id(episodeId, true) -end) - -mp.register_script_message("add-source-event", function(query) - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") - end - ENABLED = true - add_danmaku_source(query, true) -end) - -mp.register_script_message("open_setup_danmaku_menu", function() - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_total") - end - add_danmaku_setup() -end) -mp.register_script_message("open_content_danmaku_menu", function() - if uosc_available then - mp.commandv("script-message-to", "uosc", "close-menu", "menu_total") - end - open_content_menu() -end) - -mp.register_script_message("setup-danmaku-style", function(query, text) - local event = utils.parse_json(query) - if event ~= nil then - -- item点击 或 图标点击 - if event.type == "activate" then - if not event.action then - if ordered_keys[event.index] == "bold" then - options.bold = not options.bold - menu_items_config.bold.hint = options.bold and "true" or "false" - end - -- "updata" 模式会保留输入框文字 - add_danmaku_setup(ordered_keys[event.index], "updata") - return - else - -- msg.info("event.action:" .. event.action) - options[event.action] = menu_items_config[event.action]["original"] - menu_items_config[event.action]["hint"] = options[event.action] - add_danmaku_setup(event.action, "updata") - if event.action == "fontsize" or event.action == "scrolltime" then - load_danmaku(true) - end - end - end - else - -- 数值输入 - if text == nil or text == "" then - return - end - local newText, _ = text:gsub("%s", "") -- 移除所有空白字符 - if tonumber(newText) ~= nil and menu_items_config[query]["scope"] ~= nil then - local num = tonumber(newText) - local min_num = menu_items_config[query]["scope"]["min"] - local max_num = menu_items_config[query]["scope"]["max"] - if num and min_num <= num and num <= max_num then - if string.match(menu_items_config[query]["footnote"], "整数") then - -- 输入范围为整数时向下取整 - num = tostring(math.floor(num)) - end - options[query] = tostring(num) - menu_items_config[query]["hint"] = options[query] - -- "refresh" 模式会清除输入框文字 - add_danmaku_setup(query, "refresh") - if query == "fontsize" or query == "scrolltime" then - load_danmaku(true, true) - end - return - end - end - add_danmaku_setup(query, "error") - end -end) - -mp.register_script_message('setup-danmaku-source', function(json) - local event = utils.parse_json(json) - if event.type == 'activate' then - - if event.action == "delete" then - local rm = DANMAKU.sources[event.value]["fname"] - if rm and file_exists(rm) and DANMAKU.sources[event.value]["from"] ~= "user_local" then - os.remove(rm) - end - DANMAKU.sources[event.value] = nil - remove_source_from_history(event.value) - mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") - open_add_menu_uosc() - load_danmaku(true) - end - - if event.action == "block" then - DANMAKU.sources[event.value]["blocked"] = true - add_source_to_history(event.value, DANMAKU.sources[event.value]) - mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") - open_add_menu_uosc() - load_danmaku(true) - end - - if event.action == "unblock" then - DANMAKU.sources[event.value]["blocked"] = false - add_source_to_history(event.value, DANMAKU.sources[event.value]) - mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") - open_add_menu_uosc() - load_danmaku(true) - end - end -end) - -mp.register_script_message("setup-source-delay", function(query, text) - local event = utils.parse_json(query) - if event ~= nil then - -- item点击 - if event.type == "activate" then - danmaku_delay_setup(event.value) - end - else - -- 数值输入 - if text == nil or text == "" then - return - end - local newText, _ = text:gsub("%s", "") -- 移除所有空白字符 - local num = tonumber(newText) - local delay_segments = shallow_copy(DANMAKU.sources[query]["delay_segments"] or {}) - for i = #delay_segments, 1, -1 do - if delay_segments[i].start == 0 then - table.remove(delay_segments, i) - end - end - if num ~= nil then - table.insert(delay_segments, 1, { start = 0, delay = tonumber(num) }) - DANMAKU.sources[query]["delay_segments"] = delay_segments - add_source_to_history(query, DANMAKU.sources[query]) - mp.commandv("script-message-to", "uosc", "close-menu", "menu_delay") - danmaku_delay_setup(query) - load_danmaku(true, true) - elseif newText:match("^%-?%d+m%d+s$") then - local minutes, seconds = string.match(newText, "^(%-?%d+)m(%d+)s$") - minutes = tonumber(minutes) - seconds = tonumber(seconds) - if minutes < 0 then seconds = -seconds end - table.insert(delay_segments, 1, { start = 0, delay = 60 * minutes + seconds }) - DANMAKU.sources[query]["delay_segments"] = delay_segments - add_source_to_history(query, DANMAKU.sources[query]) - mp.commandv("script-message-to", "uosc", "close-menu", "menu_delay") - danmaku_delay_setup(query) - load_danmaku(true, true) - end - end -end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/options.lua b/scripts/uosc_danmaku/modules/options.lua deleted file mode 100644 index 5168d26..0000000 --- a/scripts/uosc_danmaku/modules/options.lua +++ /dev/null @@ -1,76 +0,0 @@ -local opt = require("mp.options") - --- 选项 -options = { - -- 指定弹幕服务器地址,自定义服务需兼容 dandanplay 的 api - api_server = "https://api.dandanplay.net", - -- 指定 b 站和爱腾优的弹幕获取的兜底服务器地址,主要用于获取非动画弹幕 - -- 服务器可以自托管:https://github.com/lyz05/danmaku - fallback_server = "https://fc.lyz05.cn", - -- 设置 tmdb 的 API Key,用于获取非动画条目的中文信息(当搜索内容非中文时) - -- 可以在 https://www.themoviedb.org 注册后去个人账号设置界面获取 - -- 注意:自定义此参数时还需要对获取到的 API Key 进行 base64 编码 - tmdb_api_key = "NmJmYjIxOTZkNzIyN2UyMTIzMGM3Y2YzZjQ4MDNkZGM=", - load_more_danmaku = false, - auto_load = false, - autoload_local_danmaku = false, - autoload_for_url = false, - save_danmaku = false, - user_agent = "mpv_danmaku/1.0", - proxy = "", - -- 使用 fps 视频滤镜,大幅提升弹幕平滑度。默认禁用 - vf_fps = false, - -- 设置要使用的 fps 滤镜参数 - fps = "60/1.001", - -- 指定合并重复弹幕的时间间隔的容差值,单位为秒。默认值: -1,表示禁用 - merge_tolerance = -1, - -- 指定弹幕关联历史记录文件的路径,支持绝对路径和相对路径 - history_path = "~~/danmaku-history.json", - open_search_danmaku_menu_key = "Ctrl+d", - show_danmaku_keyboard_key = "j", - -- 中文简繁转换。0-不转换,1-转换为简体,2-转换为繁体 - chConvert = 0, - --滚动弹幕的显示时间 - scrolltime = 15, - --固定弹幕的显示时间 - fixtime = 5, - --字体 - fontname = "sans-serif", - --字体大小 - fontsize = 50, - --字体阴影 - shadow = 0, - --字体粗体 - bold = true, - -- 透明度:0(完全透明)到 1(不透明) - opacity = 0.7, - --全部弹幕的显示范围(0.0-1.0) - displayarea = 0.85, - --描边 0-4 - outline = 1.0, - -- 限制屏幕中同时显示的最大弹幕数量,0 表示不限制 - max_screen_danmaku = 0, - --指定弹幕屏蔽词文件路径(black.txt),支持绝对路径和相对路径。文件内容以换行分隔 - --支持 lua 的正则表达式写法 - blacklist_path = "", - --指定脚本相关消息显示的消息的对齐方式 - message_anlignment = 7, - --指定脚本相关消息显示的消息的x轴坐标 - message_x = 30, - --指定脚本相关消息显示的消息的y轴坐标 - message_y = 30, - -- 自定义标题解析中的额外替换规则,内容格式为 JSON 字符串,替换模式为 lua 的 string.gsub 函数 - --! 注意:由于 mpv 的 lua 版本限制,自定义规则只支持形如 %n 的捕获组写法,即示例用法,不支持直接替换字符的写法 - title_replace = [[ - [{ - "rules": [{ "^〔(.-)〕": "%1"},{ "^.*《(.-)》": "%1" }], - }] - ]], - -- 指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录。支持绝对路径和相对路径,多个路径用逗号分隔 - -- 示例:["X:", "Z:", "F:/Download/", "Download"] - excluded_path = [[ - [] - ]], -} - -opt.read_options(options, mp.get_script_name(), function() end) diff --git a/scripts/uosc_danmaku/modules/parse.lua b/scripts/uosc_danmaku/modules/parse.lua deleted file mode 100644 index 5675f56..0000000 --- a/scripts/uosc_danmaku/modules/parse.lua +++ /dev/null @@ -1,655 +0,0 @@ -local msg = require 'mp.msg' -local utils = require 'mp.utils' -local s2t = require("dicts/s2t_chars") -local t2s = require("dicts/t2s_chars") - -local function ass_escape(text) - return text:gsub("\\", "\\\\") - :gsub("{", "\\{") - :gsub("}", "\\}") - :gsub("\n", "\\N") -end - -local function xml_unescape(str) - return str:gsub(""", "\"") - :gsub("'", "'") - :gsub(">", ">") - :gsub("<", "<") - :gsub("&", "&") -end - -local function decode_html_entities(text) - return text:gsub("&#x([%x]+);", function(hex) - local codepoint = tonumber(hex, 16) - return unicode_to_utf8(codepoint) - end):gsub("&#(%d+);", function(dec) - local codepoint = tonumber(dec, 10) - return unicode_to_utf8(codepoint) - end) -end - --- 加载黑名单模式 -local function load_blacklist_patterns(filepath) - local patterns = {} - if not file_exists(filepath) then - return patterns - end - local file = io.open(filepath, "r") - if not file then - msg.error("无法打开黑名单文件: " .. filepath) - return patterns - end - - for line in file:lines() do - line = line:match("^%s*(.-)%s*$") - if line ~= "" then - table.insert(patterns, line) - end - end - - file:close() - return patterns -end - -local blacklist_file = mp.command_native({ "expand-path", options.blacklist_path }) -local black_patterns = load_blacklist_patterns(blacklist_file) - --- 检查字符串是否在黑名单中 -function is_blacklisted(str, patterns) - for _, pattern in ipairs(patterns) do - local ok, result = pcall(function() - return str:match(pattern) - end) - - if ok and result then - return true, pattern - elseif not ok then - -- msg.debug("黑名单规则错误,跳过: " .. pattern .. ",错误信息:" .. result) - end - end - return false -end - --- 简繁转换 -local function convert(text, dict) - return text:gsub("[%z\1-\127\194-\244][\128-\191]*", function(c) - return dict[c] or c - end) -end - -local function ch_convert(str) - if options.chConvert == 1 then - return convert(str, t2s) - elseif options.chConvert == 2 then - return convert(str, s2t) - end - return str -end - -local ch_convert_cache = {} -local ch_cache_keys = {} -local ch_cache_max = 5000 - -local function ch_convert_cached(text) - if type(text) ~= "string" or text == "" then return text end - local cached = ch_convert_cache[text] - if cached ~= nil then return cached end - - local converted = ch_convert(text) - ch_convert_cache[text] = converted - ch_cache_keys[#ch_cache_keys+1] = text - - if #ch_cache_keys > ch_cache_max then - local old_key = table.remove(ch_cache_keys, 1) - ch_convert_cache[old_key] = nil - end - - return converted -end - --- 合并重复弹幕 -local function merge_duplicate_danmaku(danmakus, threshold) - if not threshold or tonumber(threshold) < 0 then return danmakus end - - local groups = {} - - for _, d in ipairs(danmakus) do - local key = d.type .. "|" .. d.color .. "|" .. d.text - if not groups[key] then groups[key] = {} end - table.insert(groups[key], d) - end - - local merged = {} - - for _, group in pairs(groups) do - table.sort(group, function(a, b) return a.time < b.time end) - - local i = 1 - while i <= #group do - local base = group[i] - local times = { base.time } - local count = 1 - local j = i + 1 - - while j <= #group and math.abs(group[j].time - base.time) <= threshold do - table.insert(times, group[j].time) - count = count + 1 - j = j + 1 - end - - local same_time = true - for k = 2, #times do - if times[k] ~= times[1] then - same_time = false - break - end - end - - local danmaku = { - time = base.time, - type = base.type, - size = base.size, - color = base.color, - text = base.text, - } - if count > 2 or not same_time then - danmaku.text = danmaku.text .. string.format("x%d", count) - end - - table.insert(merged, danmaku) - i = j - end - end - - table.sort(merged, function(a, b) return a.time < b.time end) - return merged -end - --- 限制每屏弹幕条数 -local function limit_danmaku(danmakus, limit) - if not limit or limit <= 0 then - return danmakus - end - - local window = {} - for _, d in ipairs(danmakus) do - for i = #window, 1, -1 do - if window[i].end_time <= d.start_time then - table.remove(window, i) - end - end - - if #window < limit then - table.insert(window, d) - else - local max_idx = 1 - for i = 2, #window do - if window[i].end_time > window[max_idx].end_time then - max_idx = i - end - end - if window[max_idx].end_time > d.end_time then - window[max_idx].drop = true - window[max_idx] = d - else - d.drop = true - end - end - end - - local result = {} - for _, d in ipairs(danmakus) do - if not d.drop then - table.insert(result, d) - end - end - return result -end - --- 解析 XML 弹幕 -local function parse_xml_danmaku(xml_string, delay_segments) - local danmakus = {} - for p_attr, text in xml_string:gmatch('([^<]+)') do - local params = {} - local i = 1 - for val in p_attr:gmatch("([^,]+)") do - params[i] = tonumber(val) - i = i + 1 - end - - if params[1] and params[2] and params[3] and params[4] then - local base_time = params[1] - local delay = get_delay_for_time(delay_segments, base_time) - table.insert(danmakus, { - time = base_time + delay, - type = params[2] or 1, - size = params[3] or 25, - color = params[4] or 0xFFFFFF, - text = xml_unescape(text) - }) - end - end - - table.sort(danmakus, function(a, b) return a.time < b.time end) - return danmakus -end - --- 解析 JSON 弹幕 -local function parse_json_danmaku(json_string, delay_segments) - local danmakus = {} - if json_string:sub(1, 3) == "\239\187\191" then - json_string = json_string:sub(4) - end - - local json = utils.parse_json(json_string) - if not json or type(json) ~= "table" then - msg.info("JSON 解析失败") - return danmakus - end - - for _, entry in ipairs(json) do - local c = entry.c - local text = entry.m or "" - if type(c) == "string" then - local params = {} - local i = 1 - for val in c:gmatch("([^,]+)") do - params[i] = tonumber(val) - i = i + 1 - end - - if params[1] and params[2] and params[3] and params[4] then - local base_time = params[1] - local delay = get_delay_for_time(delay_segments, base_time) - table.insert(danmakus, { - time = base_time + delay, - color = params[2] or 0xFFFFFF, - type = params[3] or 1, - size = params[4] or 25, - text = text - }) - end - end - end - - table.sort(danmakus, function(a, b) return a.time < b.time end) - return danmakus -end - --- 解析弹幕文件 -function parse_danmaku_files(danmaku_input, delays) - local DANMAKU_PATHs = {} - if type(danmaku_input) == "string" then - DANMAKU_PATHs = { danmaku_input } - else - for i, input in ipairs(danmaku_input) do - DANMAKU_PATHs[#DANMAKU_PATHs + 1] = input - end - end - - local all_danmaku = {} - - for i, DANMAKU_PATH in ipairs(DANMAKU_PATHs) do - if file_exists(DANMAKU_PATH) then - local content = read_file(DANMAKU_PATH) - if content then - local parsed = {} - local delay_segments = delays and delays[i] or {} - if DANMAKU_PATH:match("%.xml$") then - parsed = parse_xml_danmaku(content, delay_segments) - elseif DANMAKU_PATH:match("%.json$") then - parsed = parse_json_danmaku(content, delay_segments) - end - - for _, d in ipairs(parsed) do - local matched, pattern = is_blacklisted(d.text, black_patterns) - if not matched then - d.text = ch_convert_cached(d.text) - table.insert(all_danmaku, d) - else - -- msg.debug("命中黑名单: " .. pattern) - end - end - else - msg.info("无法读取文件内容: " .. DANMAKU_PATH) - end - else - msg.info("文件不存在: " .. DANMAKU_PATH) - end - end - - if #all_danmaku == 0 then - msg.info("未能解析任何弹幕") - return nil - end - - if options.max_screen_danmaku > 0 and options.merge_tolerance <= 0 then - options.merge_tolerance = options.scrolltime - end - - -- 按时间排序 - table.sort(all_danmaku, function(a, b) - return a.time < b.time - end) - - all_danmaku = merge_duplicate_danmaku(all_danmaku, options.merge_tolerance) - - return all_danmaku -end - ---# 弹幕数组与布局算法 (Danmaku Array & Layout Algorithms) -local DanmakuArray = {} -DanmakuArray.__index = DanmakuArray - -function DanmakuArray:new(res_x, res_y, font_size) - local obj = { - solution_y = res_y, - font_size = font_size, - rows = math.floor(res_y / font_size), - time_length_array = {} - } - for i = 1, obj.rows do - obj.time_length_array[i] = { time = -1, length = 0 } - end - setmetatable(obj, self) - return obj -end - -function DanmakuArray:set_time_length(row, time, length) - if row > 0 and row <= self.rows then - self.time_length_array[row] = { time = time, length = length } - end -end - -function DanmakuArray:get_time(row) - if row > 0 and row <= self.rows then - return self.time_length_array[row].time - end - return -1 -end - -function DanmakuArray:get_length(row) - if row > 0 and row <= self.rows then - return self.time_length_array[row].length - end - return 0 -end - --- 滚动弹幕 Y 坐标算法 -function get_position_y(font_size, appear_time, text_length, resolution_x, roll_time, array) - local velocity = (text_length + resolution_x) / roll_time - local best_row = 0 - local best_bias = -math.huge - - for i = 1, array.rows do - local previous_appear_time = array:get_time(i) - if array:get_time(i) < 0 then - array:set_time_length(i, appear_time, text_length) - return 1 + (i - 1) * font_size - end - - local previous_length = array:get_length(i) - local previous_velocity = (previous_length + resolution_x) / roll_time - local delta_velocity = velocity - previous_velocity - local delta_x = (appear_time - previous_appear_time) * previous_velocity - (previous_length + text_length) / 2 - - if delta_x >= 0 then - if delta_velocity <= 0 then - array:set_time_length(i, appear_time, text_length) - return 1 + (i - 1) * font_size - end - - local delta_time = delta_x / delta_velocity - local bias = appear_time - previous_appear_time - delta_time - -- 判断:追及点是否在屏幕之外 - local t_catch = previous_appear_time + delta_time - local distance_prev = previous_velocity * (t_catch - previous_appear_time) - if distance_prev > resolution_x then - -- 追及发生在屏幕之外,允许放置 - array:set_time_length(i, appear_time, text_length) - return 1 + (i - 1) * font_size - end - if bias > 0 then - array:set_time_length(i, appear_time, text_length) - return 1 + (i - 1) * font_size - elseif bias > best_bias then - best_bias = bias - best_row = i - end - end - end - -- 所有行都被占用,放弃渲染 - return nil -end - --- 固定弹幕 Y 坐标算法 -function get_fixed_y(font_size, appear_time, fixtime, array, from_top) - local best_row = 0 - local best_bias = -1 - local row_start, row_end, row_step - if from_top then - row_start, row_end, row_step = 1, array.rows, 1 - else - row_start, row_end, row_step = array.rows, 1, -1 - end - - for i = row_start, row_end, row_step do - local previous_appear_time = array:get_time(i) - if previous_appear_time < 0 then - array:set_time_length(i, appear_time, 0) - return (i - 1) * font_size + 1 - else - local delta_time = appear_time - previous_appear_time - if delta_time > fixtime then - array:set_time_length(i, appear_time, 0) - return (i - 1) * font_size + 1 - elseif delta_time > best_bias then - best_bias = delta_time - best_row = i - end - end - end - -- 所有行都被占用,放弃渲染 - return nil -end - --- 将弹幕转换为 ASS 格式 -function convert_danmaku_to_ass(all_danmaku, danmaku_file) - if #all_danmaku == 0 then - msg.info("弹幕文件为空或解析失败") - return false - end - msg.info("已解析 " .. #all_danmaku .. " 条弹幕") - - local alpha = string.format("%02X", (1 - tonumber(options.opacity)) * 255) - local bold = options.bold and "1" or "0" - local fontsize = tonumber(options.fontsize) or 50 - local scrolltime = tonumber(options.scrolltime) or 15 - local fixtime = tonumber(options.fixtime) or 5 - local outline = tonumber(options.outline) or 1.0 - local shadow = tonumber(options.shadow) or 0.0 - - local res_x = 1920 - local res_y = 1080 - - local roll_array = DanmakuArray:new(res_x, res_y, fontsize) - local top_array = DanmakuArray:new(res_x, res_y, fontsize) - - local ass_header = string.format([[ -[Script Info] -Title: DanmakuConvert for mpv -ScriptType: v4.00+ -Collisions: Normal -PlayResX: %d -PlayResY: %d -Timer: 100.0000 -WrapStyle: 2 -ScaledBorderAndShadow: yes - -[V4+ Styles] -Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding -Style: R2L,%s,%d,&H%sFFFFFF,&H00FFFFFF,&H00000000,&H%s000000,%d,0,0,0,100,100,0,0,1,%.1f,%.1f,7,0,0,0,1 -Style: TOP,%s,%d,&H%sFFFFFF,&H00FFFFFF,&H00000000,&H%s000000,%d,0,0,0,100,100,0,0,1,%.1f,%.1f,8,0,0,0,1 -Style: BTM,%s,%d,&H%sFFFFFF,&H00FFFFFF,&H00000000,&H%s000000,%d,0,0,0,100,100,0,0,1,%.1f,%.1f,2,0,0,0,1 - -[Events] -Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text -]], res_x, res_y, options.fontname, fontsize, alpha, alpha, bold, outline, shadow, - options.fontname, fontsize, alpha, alpha, bold, outline, shadow, - options.fontname, fontsize, alpha, alpha, bold, outline, shadow) - - -- 预处理弹幕,先计算时间段以便进行数量限制 - local pre_events = {} - for _, d in ipairs(all_danmaku) do - local time = d.type == 1 and math.floor(d.time + 0.5) or d.time - local appear_time = time - local danmaku_type = d.type - - local end_time = nil - if danmaku_type >= 1 and danmaku_type <= 3 then - end_time = appear_time + scrolltime - elseif danmaku_type == 5 or danmaku_type == 4 then - end_time = appear_time + fixtime - end - - if end_time then - table.insert(pre_events, {start_time = appear_time, end_time = end_time, danmaku = d}) - end - end - - if options.max_screen_danmaku > 0 then - pre_events = limit_danmaku(pre_events, options.max_screen_danmaku) - end - - local ass_events = {} - for _, ev in ipairs(pre_events) do - local d = ev.danmaku - local appear_time = ev.start_time - local danmaku_type = d.type - local text = ass_escape(decode_html_entities(d.text)) - :gsub("x(%d+)$", "{\\b1\\i1}x%1") - - -- 颜色从十进制转为 BGR Hex - local color = math.max(0, math.min(d.color or 0xFFFFFF, 0xFFFFFF)) - local color_hex = string.format("%06X", color) - local r = string.sub(color_hex, 1, 2) - local g = string.sub(color_hex, 3, 4) - local b = string.sub(color_hex, 5, 6) - local color_text = string.format("{\\c&H%s%s%s&}", b, g, r) - - local start_time_str = seconds_to_time(appear_time) - local layer, end_time_str, style, effect - - -- 滚动弹幕 (类型 1, 2, 3) - if danmaku_type >= 1 and danmaku_type <= 3 then - layer = 0 - end_time_str = seconds_to_time(ev.end_time) - style = "R2L" - local text_length = get_str_width(text, fontsize) - local x1 = res_x + text_length / 2 - local x2 = -text_length / 2 - local y = get_position_y(fontsize, appear_time, text_length, res_x, scrolltime, roll_array) - if y then - effect = string.format("{\\move(%d, %d, %d, %d)}", x1, y, x2, y) - end - - -- 顶部弹幕 (类型 5) - elseif danmaku_type == 5 then - layer = 1 - end_time_str = seconds_to_time(ev.end_time) - style = "TOP" - local x = res_x / 2 - local y = get_fixed_y(fontsize, appear_time, fixtime, top_array, true) - if y then - effect = string.format("{\\pos(%d, %d)}", x, y) - end - - -- 底部弹幕 (类型 4) - elseif danmaku_type == 4 then - layer = 1 - end_time_str = seconds_to_time(ev.end_time) - style = "BTM" - local x = res_x / 2 - local y = get_fixed_y(fontsize, appear_time, fixtime, top_array, false) - if y then - effect = string.format("{\\pos(%d, %d)}", x, y) - end - end - - if style then - local line = nil - if effect then - line = string.format("Dialogue: %d,%s,%s,%s,,0,0,0,,%s%s%s", layer, start_time_str, end_time_str, style, effect, color_text, text) - else - line = string.format("Comment: %d,%s,%s,%s,,0,0,0,,%s%s", layer, start_time_str, end_time_str, style, color_text, text) - end - table.insert(ass_events, line) - end - end - - local final_ass = ass_header .. table.concat(ass_events, "\n") - - local ass_file = io.open(danmaku_file, "w") - if not ass_file then - msg.info("错误: 无法写入 ASS 弹幕文件") - return false - end - ass_file:write(final_ass) - ass_file:close() - - msg.debug("已成功转换并写入 ASS:" .. danmaku_file) - return true -end - --- 将弹幕转换为 XML 格式 -function convert_danmaku_to_xml(danmaku_input, danmaku_out, delays) - local all_danmaku = parse_danmaku_files(danmaku_input, delays) - if not all_danmaku then - show_message("转换 XML 弹幕失败", 3) - msg.info("转换 XML 弹幕失败") - return - end - - -- 拼接为 XML 内容 - local xml = { '\n' } - for _, d in ipairs(all_danmaku) do - local time = d.time - local type = d.type or 1 - local size = d.size or 25 - local color = d.color or 0xFFFFFF - local text = d.text or "" - - text = text:gsub("&", "&") - :gsub("<", "<") - :gsub(">", ">") - :gsub("\"", """) - :gsub("'", "'") - - table.insert(xml, string.format('%s\n', time, type, size, color, text)) - end - table.insert(xml, '') - - -- 写入 XML 文件 - local file = io.open(danmaku_out, "w") - if not file then - show_message("无法写入目标 XML 文件", 3) - msg.info("无法写入目标 XML 文件: " .. danmaku_out) - return false - end - file:write(table.concat(xml)) - file:close() - show_message("转换 XML 弹幕成功: " .. danmaku_out, 3) - msg.info("转换 XML 弹幕成功: " .. danmaku_out) - return true -end - --- 解析和转换弹幕 -function convert_danmaku_format(danmaku_input, danmaku_file, delays) - local all_danmaku = parse_danmaku_files(danmaku_input, delays) - if all_danmaku then - convert_danmaku_to_ass(all_danmaku, danmaku_file) - else - msg.info("未能解析对应的 .xml 或 .json 弹幕文件") - return false - end -end diff --git a/scripts/uosc_danmaku/modules/render.lua b/scripts/uosc_danmaku/modules/render.lua deleted file mode 100644 index ffae9ed..0000000 --- a/scripts/uosc_danmaku/modules/render.lua +++ /dev/null @@ -1,296 +0,0 @@ --- modified from https://github.com/rkscv/danmaku/blob/main/danmaku.lua -local msg = require('mp.msg') -local utils = require("mp.utils") - -local INTERVAL = options.vf_fps and 0.01 or 0.001 -local osd_width, osd_height, pause = 0, 0, true - --- 提取 \move 参数 (x1, y1, x2, y2) 并返回 -local function parse_move_tag(text) - -- 匹配包括小数和负数在内的坐标值 - local x1, y1, x2, y2 = text:match("\\move%((%-?[%d%.]+),%s*(%-?[%d%.]+),%s*(%-?[%d%.]+),%s*(%-?[%d%.]+).*%)") - if x1 and y1 and x2 and y2 then - return tonumber(x1), tonumber(y1), tonumber(x2), tonumber(y2) - end - return nil -end - -local function parse_comment(event, pos, height, delay) - local x1, y1, x2, y2 = parse_move_tag(event.text) - local displayarea = tonumber(height * options.displayarea) - if not x1 then - local current_x, current_y = event.text:match("\\pos%((%-?[%d%.]+),%s*(%-?[%d%.]+).*%)") - if not current_y or tonumber(current_y) > displayarea then return end - if event.style ~= "SP" and event.style ~= "MSG" then - return string.format("{\\an8}%s", event.text) - else - return string.format("{\\an7}%s", event.text) - end - end - - -- 计算移动的时间范围 - local duration = event.end_time - event.start_time --mean: options.scrolltime - local progress = (pos - event.start_time - delay) / duration -- 移动进度 [0, 1] - - -- 计算当前坐标 - local current_x = tonumber(x1 + (x2 - x1) * progress) - local current_y = tonumber(y1 + (y2 - y1) * progress) - - -- 移除 \move 标签并应用当前坐标 - local clean_text = event.text:gsub("\\move%(.-%)", "") - if current_y > displayarea then return end - if event.style ~= "SP" and event.style ~= "MSG" then - return string.format("{\\pos(%.1f,%.1f)\\an8}%s", current_x, current_y, clean_text) - else - return string.format("{\\pos(%.1f,%.1f)\\an7}%s", current_x, current_y, clean_text) - end -end - --- 从 ASS 文件中解析样式和事件 -local function parse_ass_events(ass_path, callback) - local ass_file = io.open(ass_path, "r") - if not ass_file then - callback("无法打开 ASS 文件") - return - end - - local events = {} - local time_tolerance = options.merge_tolerance - - for line in ass_file:lines() do - if line:match("^Dialogue:") then - local start_time, end_time, style, text = line:match("Dialogue:%s*[^,]*,%s*([^,]*),%s*([^,]*),%s*([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,(.*)") - - if start_time and end_time and text then - local event = { - start_time = time_to_seconds(start_time), - end_time = time_to_seconds(end_time), - style = style, - text = text:gsub("%s+$", ""), - clean_text = text:gsub("\\h+", " "):gsub("{[\\=].-}", ""):gsub("^%s*(.-)%s*$", "%1"), - pos = text:match("\\pos"), - move = text:match("\\move"), - } - - table.insert(events, event) - end - end - end - - table.sort(events, function(a, b) - return a.start_time < b.start_time - end) - - ass_file:close() - callback(nil, events) -end - -local overlay = mp.create_osd_overlay('ass-events') - -function render() - if COMMENTS == nil then return end - - local pos, err = mp.get_property_number('time-pos') - if err ~= nil then - return msg.error(err) - end - - local delay = get_delay_for_time(DELAYS, pos) - - local fontname = options.fontname - local fontsize = options.fontsize - local alpha = string.format("%02X", (1 - tonumber(options.opacity)) * 255) - - local width, height = 1920, 1080 - local ratio = osd_width / osd_height - if width / height < ratio then - height = width / ratio - fontsize = options.fontsize - ratio * 2 - end - - local ass_events = {} - - for _, event in ipairs(COMMENTS) do - if pos >= event.start_time + delay and pos <= event.end_time + delay then - local text = parse_comment(event, pos, height, delay) - if text then - text = text:gsub("&#%d+;","") - end - - if text and text:match("\\fs%d+") then - text = text:gsub("\\fs(%d+)", function(size) - return string.format("\\fs%d", size * 1.5) - end) - end - - -- 构建 ASS 字符串 - local ass_text = text and string.format("{\\rDefault\\fn%s\\fs%d\\c&HFFFFFF&\\alpha&H%s\\bord%s\\shad%s\\b%s\\q2}%s", - fontname, fontsize, alpha, options.outline, options.shadow, options.bold and "1" or "0", text) - - table.insert(ass_events, ass_text) - end - end - - overlay.res_x = width - overlay.res_y = height - overlay.data = table.concat(ass_events, '\n') - overlay:update() -end - -local timer = mp.add_periodic_timer(INTERVAL, render, true) - -function parse_danmaku(ass_file_path, from_menu, no_osd) - parse_ass_events(ass_file_path, function(err, events) - COMMENTS = events - if err then - msg.error("ASS 解析错误: " .. err) - return - end - - if ENABLED and (from_menu or get_danmaku_visibility()) then - if not no_osd then - show_loaded(true) - end - mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") - show_danmaku_func() - else - show_message("") - hide_danmaku_func() - end - end) -end - -local function filter_state(label, name) - local filters = mp.get_property_native("vf") - for _, filter in pairs(filters) do - if filter.label == label or filter.name == name - or filter.params[name] ~= nil then - return true - end - end - return false -end - -function show_danmaku_func() - render() - if not pause then - timer:resume() - end - if options.vf_fps then - local display_fps = mp.get_property_number('display-fps') - local video_fps = mp.get_property_number('estimated-vf-fps') - if (display_fps and display_fps < 58) or (video_fps and video_fps > 58) then - return - end - if not filter_state("danmaku", "fps") then - mp.commandv("vf", "append", string.format("@danmaku:fps=fps=%s", options.fps)) - end - end -end - -function hide_danmaku_func() - timer:kill() - overlay:remove() - if filter_state("danmaku") then - mp.commandv("vf", "remove", "@danmaku") - end -end - -local message_overlay = mp.create_osd_overlay('ass-events') -local message_timer = mp.add_timeout(3, function() - message_overlay:remove() -end, true) - -function show_message(text, time) - message_timer.timeout = time or 3 - message_timer:kill() - message_overlay:remove() - local message = string.format("{\\an%d\\pos(%d,%d)}%s", options.message_anlignment, - options.message_x, options.message_y, text) - local width, height = 1920, 1080 - local ratio = osd_width / osd_height - if width / height < ratio then - height = width / ratio - end - message_overlay.res_x = width - message_overlay.res_y = height - message_overlay.data = message - message_overlay:update() - message_timer:resume() -end - -mp.observe_property('osd-width', 'number', function(_, value) osd_width = value or osd_width end) -mp.observe_property('osd-height', 'number', function(_, value) osd_height = value or osd_height end) -mp.observe_property('display-fps', 'number', function(_, value) - if value ~= nil then - local interval = 1 / value / 10 - if interval > INTERVAL then - timer:kill() - timer = mp.add_periodic_timer(interval, render, true) - if ENABLED then - timer:resume() - end - else - timer:kill() - timer = mp.add_periodic_timer(INTERVAL, render, true) - if ENABLED then - timer:resume() - end - end - end -end) -mp.observe_property('pause', 'bool', function(_, value) - if value ~= nil then - pause = value - end - if ENABLED then - if pause then - timer:kill() - elseif COMMENTS ~= nil then - timer:resume() - end - end -end) - -mp.register_event('playback-restart', function(event) - if event.error then - return msg.error(event.error) - end - if ENABLED and COMMENTS ~= nil then - render() - end -end) - -mp.add_hook("on_unload", 50, function() - COMMENTS, DELAY = nil, 0 - timer:kill() - overlay:remove() - mp.set_property_native(DELAY_PROPERTY, 0) - if filter_state("danmaku") then - mp.commandv("vf", "remove", "@danmaku") - end - - local files_to_remove = { - file1 = utils.join_path(DANMAKU_PATH, "danmaku-" .. PID .. ".json"), - file2 = utils.join_path(DANMAKU_PATH, "danmaku-" .. PID .. ".ass"), - file3 = utils.join_path(DANMAKU_PATH, "temp-" .. PID .. ".mp4"), - file4 = utils.join_path(DANMAKU_PATH, "bahamut-" .. PID .. ".json") - } - - if options.save_danmaku and file_exists(files_to_remove.file2) then - save_danmaku(true) - end - - for _, file in pairs(files_to_remove) do - if file_exists(file) then - os.remove(file) - end - end - - for _, source in pairs(DANMAKU.sources) do - if source.fname and source.from and source.from ~= "user_local" and file_exists(source.fname) then - os.remove(source.fname) - end - end - DANMAKU = {sources = {}, count = 1} -end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/update.lua b/scripts/uosc_danmaku/modules/update.lua deleted file mode 100644 index 9119b2a..0000000 --- a/scripts/uosc_danmaku/modules/update.lua +++ /dev/null @@ -1,53 +0,0 @@ -local msg = require('mp.msg') -local utils = require("mp.utils") - -local repo = "Tony15246/uosc_danmaku" - -local local_version = VERSION or "0.0.0" - -local function version_greater(v1, v2) - local function parse(ver) - local a, b, c = ver:match("v?(%d+)%.(%d+)%.(%d+)") - return tonumber(a), tonumber(b), tonumber(c) - end - local a1, a2, a3 = parse(v1) - local b1, b2, b3 = parse(v2) - if a1 ~= b1 then return a1 > b1 end - if a2 ~= b2 then return a2 > b2 end - return a3 > b3 -end - -local function get_latest_release(repo) - local url = "https://api.github.com/repos/" .. repo .. "/releases/latest" - local cmd = { "curl", "-sL", url } - local res = mp.command_native({ - name = "subprocess", - args = cmd, - capture_stdout = true, - capture_stderr = true, - playback_only = false, - }) - if not res or res.status ~= 0 then return nil end - local tag = res.stdout:match([["tag_name"%s*:%s*"([^"]+)"]]) - return tag -end - --- 仅检查并提示新版本,不自动下载/覆盖(避免 rm -rf 破坏配置) -function check_for_update() - local latest_version = get_latest_release(repo) - if not latest_version then - show_message("无法获取最新版本信息") - msg.warn("无法获取最新版本信息") - return - end - - if not version_greater(latest_version, local_version) then - show_message("uosc_danmaku 已是最新版本 (" .. local_version .. ")") - msg.info("uosc_danmaku 已是最新版本 (" .. local_version .. ")") - return - end - - local update_url = "https://github.com/" .. repo .. "/releases/tag/" .. latest_version - show_message("uosc_danmaku 有新版本: " .. latest_version .. " (当前: " .. local_version .. ")\n请手动更新: " .. update_url) - msg.info("uosc_danmaku 新版本: " .. latest_version .. " 下载地址: " .. update_url) -end diff --git a/scripts/uosc_danmaku/modules/utils.lua b/scripts/uosc_danmaku/modules/utils.lua deleted file mode 100644 index bd291a8..0000000 --- a/scripts/uosc_danmaku/modules/utils.lua +++ /dev/null @@ -1,664 +0,0 @@ -local utils = require("mp.utils") - --- from http://lua-users.org/wiki/LuaUnicode -local UTF8_PATTERN = '[%z\1-\127\194-\244][\128-\191]*' - --- return a substring based on utf8 characters --- like string.sub, but negative index is not supported -function utf8_sub(s, i, j) - if i > j then - return s - end - local t, idx = {}, 1 - for char in s:gmatch(UTF8_PATTERN) do - if idx >= i and idx <= j then - t[#t + 1] = char - end - idx = idx + 1 - end - return table.concat(t) -end - -function utf8_len(s) - local count = 0 - for _ in s:gmatch(UTF8_PATTERN) do - count = count + 1 - end - return count -end - -function utf8_iter(s) - local iter = s:gmatch(UTF8_PATTERN) - return function() - return iter() - end -end - -function utf8_to_table(s) - local t = {} - for ch in utf8_iter(s) do - t[#t + 1] = ch - end - return t -end - --- abbreviate string if it's too long -function abbr_str(str, length) - if not str or str == '' then return '' end - local str_clip = utf8_sub(str, 1, length) - if str ~= str_clip then - return str_clip .. '...' - end - return str -end - -function get_str_width(text, font_size) - local width = 0 - for i = 1, #text do - local byte = string.byte(text, i) - if byte > 127 then - width = width + 2 - else - width = width + 1 - end - end - - local unicode_width = 0 - local i = 1 - while i <= #text do - local byte = string.byte(text, i) - local char_len - if byte < 128 then char_len = 1; unicode_width = unicode_width + 1 - elseif byte >= 192 and byte < 224 then char_len = 2; unicode_width = unicode_width + 2 - elseif byte >= 224 and byte < 240 then char_len = 3; unicode_width = unicode_width + 2 - elseif byte >= 240 and byte < 248 then char_len = 4; unicode_width = unicode_width + 2 - else char_len = 1; unicode_width = unicode_width + 1 - end - i = i + char_len - end - return unicode_width * (font_size / 2) -end - -function unicode_to_utf8(unicode) - if unicode < 0x80 then - return string.char(unicode) - else - local byte_count - if unicode < 0x800 then - byte_count = 2 - elseif unicode < 0x10000 then - byte_count = 3 - elseif unicode < 0x110000 then - byte_count = 4 - else - return - end - - local res = {} - local shift = 2 ^ 6 - local after_shift = unicode - for _ = byte_count, 2, -1 do - local before_shift = after_shift - after_shift = math.floor(before_shift / shift) - table.insert(res, 1, before_shift - after_shift * shift + 0x80) - end - shift = 2 ^ (8 - byte_count) - table.insert(res, 1, after_shift + math.floor(0xFF / shift) * shift) - ---@diagnostic disable-next-line: deprecated - return string.char(unpack(res)) - end -end - -function jaro(s1, s2) - local match_window = math.floor(math.max(#s1, #s2) / 2.0) - 1 - local matches1 = {} - local matches2 = {} - - local m = 0; - local t = 0; - - for i = 0, #s1, 1 do - local start = math.max(0, i - match_window) - local final = math.min(i + match_window + 1, #s2) - - for k = start, final, 1 do - if not (matches2[k] or s1[i] ~= s2[k]) then - matches1[i] = true - matches2[k] = true - m = m + 1 - break - end - end - end - - if m == 0 then - return 0.0 - end - - local k = 0 - for i = 0, #s1, 1 do - if matches1[i] then - while not matches2[k] do - k = k + 1 - end - - if s1[i] ~= s2[k] then - t = t + 1 - end - - k = k + 1 - end - end - - t = t / 2.0 - - return (m / #s1 + m / #s2 + (m - t) / m) / 3.0 -end - -function jaro_winkler(s1, s2) - if #s1 + #s2 == 0 then - return 0.0 - end - - if s1 == s2 then - return 1.0 - end - - s1 = utf8_to_table(s1) - s2 = utf8_to_table(s2) - - local d = jaro(s1, s2) - local p = 0.1 - local l = 0; - while (s1[l] == s2[l] and l < 4) do - l = l + 1 - end - - return d + l * p * (1 - d) -end - --- 从时间字符串转换为秒数 -function time_to_seconds(time_str) - local h, m, s = time_str:match("(%d+):(%d+):([%d%.]+)") - return tonumber(h) * 3600 + tonumber(m) * 60 + tonumber(s) -end - --- 从秒数转换为时间字符串 -function seconds_to_time(seconds) - local hours = math.floor(seconds / 3600) - local minutes = math.floor((seconds % 3600) / 60) - local secs = math.floor(seconds % 60) - local centiseconds = math.floor((seconds - math.floor(seconds)) * 100) - return string.format("%d:%02d:%02d.%02d", hours, minutes, secs, centiseconds) -end - -function is_chinese(str) - return string.match(str, "[\228-\233][\128-\191]") ~= nil -end - -function is_protocol(path) - return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) -end - -function hex_to_bin(hexstr) - return (hexstr:gsub('..', function (cc) - return string.char(tonumber(cc, 16)) - end)) -end - -function hex_to_char(x) - return string.char(tonumber(x, 16)) -end - --- url编码转换 -function url_encode(str) - -- 将非安全字符转换为百分号编码 - if str then - str = str:gsub("([^%w%-%.%_%~])", function(c) - return string.format("%%%02X", string.byte(c)) - end) - end - return str -end - --- url解码转换 -function url_decode(str) - if str ~= nil then - str = str:gsub('^%a[%a%d-_]+://', '') - :gsub('^%a[%a%d-_]+:\\?', '') - :gsub('%%(%x%x)', hex_to_char) - if str:find('://localhost:?') then - str = str:gsub('^.*/', '') - end - str = str:gsub('%?.+', '') - :gsub('%+', ' ') - return str - end -end - --- Utility function to split a string by a delimiter -function split(str, delim) - local result = {} - for match in (str .. delim):gmatch("(.-)" .. delim) do - table.insert(result, match) - end - return result -end - -function table_to_zero_indexed(tbl) - for i = #tbl, 1, -1 do - tbl[i - 1] = tbl[i] - end - tbl[#tbl] = nil - return tbl -end - -function itable_index_of(itable, value) - for index = 1, #itable do - if itable[index] == value then - return index - end - end -end - -function is_nested_table(t) - if type(t) ~= "table" then - return false - end - for _, v in pairs(t) do - if type(v) == "table" then - return true - end - end - return false -end - -function shallow_copy(original) - if type(original) ~= "table" then - return original - end - local copy = {} - for k, v in pairs(original) do - copy[k] = v - end - return copy -end - -function deep_copy(obj, seen) - if type(obj) ~= "table" then - return obj - end - if seen and seen[obj] then - return seen[obj] - end - local s = seen or {} - local copy = {} - s[obj] = copy - for k, v in pairs(obj) do - copy[deep_copy(k, s)] = deep_copy(v, s) - end - setmetatable(copy, getmetatable(obj)) - return copy -end - -function remove_query(url) - local qpos = string.find(url, "?", 1, true) - if qpos then - return string.sub(url, 1, qpos - 1) - else - return url - end -end - -function file_exists(path) - if path then - local meta = utils.file_info(path) - return meta and meta.is_file - end - return false -end - -function is_writable(path) - local file = io.open(path, "w") - if file then - file:close() - os.remove(path) - return true - end - return false -end - -function contains_any(tab, val) - for _, element in pairs(tab) do - if string.find(val, element) then - return true - end - end - return false -end - ---读history 和 写history -function read_file(file_path) - local file = io.open(file_path, "r") -- 打开文件,"r"表示只读模式 - if not file then - return nil - end - local content = file:read("*all") -- 读取文件所有内容 - file:close() -- 关闭文件 - return content -end - --- 应用额外的自定义标题替换规则 -function title_replace(title) - local title_replace = utils.parse_json(options.title_replace) - if not title_replace then - return title - end - for _, v in pairs(title_replace) do - for _, indexrules in pairs(v['rules']) do - for rule, override in pairs(indexrules) do - title = title:gsub(rule, override) - :gsub("[_%.]", " ") - :gsub("^%s*(.-)%s*$", "%1") - :gsub("[@#%.%+%-%%&*_=,/~`]+$", "") - end - end - end - return title -end - -function write_json_file(file_path, data) - local file = io.open(file_path, "w") - if not file then - return - end - file:write(utils.format_json(data)) -- 将 Lua 表转换为 JSON 并写入 - file:close() -end - --- 拆分字符串中的字符和数字 -local function split_by_numbers(filename) - local parts = {} - local pattern = "([^%d]*)(%d+)([^%d]*)" - for pre, num, post in string.gmatch(filename, pattern) do - table.insert(parts, {pre = pre, num = tonumber(num), post = post}) - end - return parts -end - --- 识别并匹配前后剧集 -local function compare_filenames(fname1, fname2) - local parts1 = split_by_numbers(fname1) - local parts2 = split_by_numbers(fname2) - - local min_len = math.min(#parts1, #parts2) - - -- 逐个部分进行比较 - for i = 1, min_len do - local part1 = parts1[i] - local part2 = parts2[i] - - -- 比较数字前的字符是否相同 - if part1.pre ~= part2.pre then - return false - end - - -- 比较数字部分 - if part1.num ~= part2.num then - return part1.num, part2.num - end - - -- 比较数字后的字符是否相同 - if part1.post ~= part2.post then - return false - end - end - - return false -end - --- 规范化路径 -function normalize(path) - if normalize_path ~= nil then - if normalize_path then - path = mp.command_native({"normalize-path", path}) - else - local directory = mp.get_property("working-directory", "") - path = utils.join_path(directory, path:gsub('^%.[\\/]','')) - if PLATFORM == "windows" then path = path:gsub("\\", "/") end - end - return path - end - - normalize_path = false - - local commands = mp.get_property_native("command-list", {}) - for _, command in ipairs(commands) do - if command.name == "normalize-path" then - normalize_path = true - break - end - end - return normalize(path) -end - --- 获取父目录路径 -function get_parent_directory(path) - local dir = nil - if path and not is_protocol(path) then - path = normalize(path) - dir = utils.split_path(path) - end - return dir -end - --- 获取播放文件标题信息 -function parse_title() - local path = mp.get_property("path") - local filename = mp.get_property("filename/no-ext") - - if not filename then - return - end - local thin_space = string.char(0xE2, 0x80, 0x89) - filename = filename:gsub(thin_space, " ") - local media_title, season, episode = nil, nil, nil - if path and not is_protocol(path) then - local title = format_filename(filename) - if title then - media_title, season, episode = title:match("^(.-)%s*[sS](%d+)[eE](%d+)") - if season then - return title_replace(media_title), season, episode - else - media_title, episode = title:match("^(.-)%s*[eE](%d+)") - if episode then - return title_replace(media_title), season, episode - end - end - return title_replace(title) - end - - local directory = get_parent_directory(path) - local dir, title = utils.split_path(directory:sub(1, -2)) - if title:lower():match("^%s*seasons?%s*%d+%s*$") or title:lower():match("^%s*specials?%s*$") or title:match("^%s*SPs?%s*$") - or title:match("^%s*O[VAD]+s?%s*$") or title:match("^%s*第.-[季部]+%s*$") then - directory, title = utils.split_path(dir:sub(1, -2)) - end - title = title - :gsub(thin_space, " ") - :gsub("%[.-%]", "") - :gsub("^%s*%(%d+.?%d*.?%d*%)", "") - :gsub("%(%d+.?%d*.?%d*%)%s*$", "") - :gsub("[%._]", " ") - :gsub("^%s*(.-)%s*$", "%1") - return title_replace(title) - end - - local title = mp.get_property("media-title") - if title then - title = title:gsub(thin_space, " ") - local ftitle = url_decode(title) - local name, class = ftitle:match("^(.-)%s*|%s*(.-)%s*$") - if name then ftitle = name end - local format_title = format_filename(ftitle) - if format_title then - media_title, season, episode = format_title:match("^(.-)%s*[sS](%d+)[eE](%d+)") - if season then - title = media_title - else - media_title, episode = format_title:match("^(.-)%s*[eE](%d+)") - if episode then - season = 1 - title = media_title - else - title = format_title - end - end - end - end - - return title_replace(title), season, episode -end - --- 获取当前文件名所包含的集数 -function get_episode_number(filename, fname) - -- 尝试对比记录文件名来获取当前集数 - if fname then - local episode_num1, episode_num2 = compare_filenames(fname, filename) - if episode_num1 and episode_num2 then - return episode_num1, episode_num2 - else - return nil, nil - end - end - - local thin_space = string.char(0xE2, 0x80, 0x89) - filename = filename:gsub(thin_space, " ") - - local title = format_filename(filename) - if title then - local media_title, season, episode = title:match("^(.-)%s*[sS](%d+)[eE](%d+)") - if season then - return tonumber(episode) - else - local media_title, episode = title:match("^(.-)%s*[eE](%d+)") - if episode then - return tonumber(episode) - end - end - end - return nil -end - -local CHINESE_NUM_MAP = { - ["零"] = 0, ["一"] = 1, ["二"] = 2, ["三"] = 3, ["四"] = 4, - ["五"] = 5, ["六"] = 6, ["七"] = 7, ["八"] = 8, ["九"] = 9, - ["十"] = 10, ["百"] = 100, ["千"] = 1000, ["万"] = 10000, -} - -function chinese_to_number(cn) - local total = 0 - local num = 0 - local unit = 1 - - local chars = {} - for uchar in cn:gmatch(UTF8_PATTERN) do - table.insert(chars, 1, uchar) - end - - for _, char in ipairs(chars) do - local val = CHINESE_NUM_MAP[char] - if val then - if val >= 10 then - if num == 0 then - num = 1 - end - unit = val - else - total = total + val * unit - unit = 1 - num = 0 - end - end - end - - if unit > 1 then - total = total + num * unit - end - - if total > 0 then - return total - else - return num - end -end - -local CHINESE_NUM = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"} -local CHINESE_UNIT = {"", "十", "百", "千"} -local CHINESE_BIG_UNIT = {"", "万", "亿"} - -function number_to_chinese(num) - if num == 0 then return "零" end - - local str = tostring(num) - local len = #str - local result = "" - local zero_flag = false - - for i = 1, len do - local digit = tonumber(str:sub(i, i)) - local pos = len - i + 1 - local small_unit_index = (pos - 1) % 4 + 1 - local small_unit = CHINESE_UNIT[small_unit_index] - - if digit == 0 then - zero_flag = true - else - if zero_flag then - result = result .. "零" - zero_flag = false - end - if digit == 1 and small_unit_index == 2 and i == 1 then - result = result .. small_unit - else - result = result .. CHINESE_NUM[digit + 1] .. small_unit - end - end - - if pos % 4 == 1 and pos > 1 then - local big_unit_index = math.floor((pos - 1) / 4) - result = result .. CHINESE_BIG_UNIT[big_unit_index + 1] - end - end - - result = result:gsub("零+$", "") - - return result -end - --- 异步执行命令 --- 同时返回 abort 函数,用于取消异步命令 -function call_cmd_async(args, callback) - async_running = true - local abort_signal = mp.command_native_async({ - name = 'subprocess', - capture_stderr = true, - capture_stdout = true, - playback_only = false, - args = args, - }, function(success, result, error) - if not success or not result or result.status ~= 0 then - local exit_code = (result and result.status or 'unknown') - local message = error or (result and result.stdout .. result.stderr) or '' - callback('Calling failed. Exit code: ' .. exit_code .. ' Error: ' .. message, {}) - return - end - - local json = result and type(result.stdout) == 'string' and result.stdout or '' - return callback(nil, json) - end) - - return function() - mp.abort_async_command(abort_signal) - end -end \ No newline at end of file diff --git a/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md b/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 2871113..0000000 --- a/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. Windows 10] - - Version [e.g. v2.1] - - GPU/Version (If applicable)(If using Linux, specify Mesa, nouveau, or otherwise) [e.g. GTX 1080/510.60.02] - - Media Player and Version (If applicable) [e.g. MPV v0.30] - - Browser (If applicable) [e.g. chrome, safari] - -**Additional context** -Add any other context about the problem here. \ No newline at end of file diff --git a/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md b/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 24473de..0000000 --- a/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/shaders/Anime4K/CODE_OF_CONDUCT.md b/shaders/Anime4K/CODE_OF_CONDUCT.md deleted file mode 100644 index f8988dc..0000000 --- a/shaders/Anime4K/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at anime4k.upscale@gmail.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq \ No newline at end of file diff --git a/shaders/Anime4K/README.md b/shaders/Anime4K/README.md deleted file mode 100644 index 5f79622..0000000 --- a/shaders/Anime4K/README.md +++ /dev/null @@ -1,106 +0,0 @@ -# Anime4K - -Anime4K is a set of open-source, high-quality real-time anime upscaling/denoising algorithms that can be implemented in any programming language. - -The simplicity and speed of Anime4K allows the user to watch upscaled anime in real time, as we believe in preserving original content and promoting freedom of choice for all anime fans. Re-encoding anime into 4K should be avoided as it is non-reversible, potentially damages original content by introducing artifacts, takes up to O(n2) more disk space and more importantly, does so without any meaningful decrease in entropy (lost information is lost). - -***Disclaimer: All art assets used are for demonstration and educational purposes. All rights are reserved to their original owners. If you (as a person or a company) own the art and do not wish it to be associated with this project, please contact us at anime4k.upscale@gmail.com and we will gladly take it down.*** - -## Foreword -Anime4K is optimized for **native 1080p anime encoded with h.264, h.265 or VC-1**. - -Even if it might work, it is **not** optimized for downscaled 720p, 480p or standard definition anime (eg. DVDs). Older anime (especially pre-digital era production) have artifacts that are very difficult to remove, such as bad deinterlacing, camera blur during production, severe ringing, film grain, older MPEG compression artifacts, etc. - -This is also not replacement for SRGANs, as they perform much better on low-resolution images or images with lots of degradation (albeit not in real time). - -What Anime4K does provide is a way to upscale, in real time, 1080p anime for 4K screens while providing a similar *effect* to SRGANs and being much better than waifu2x (See [comparisons](https://github.com/bloc97/Anime4K/tree/master/results/Comparisons/Screenshots)). - -Currently, research is being done on better real-time upscaling for lower resolution or older content. - -## **Installation Instructions** - - ### Windows - - [(GLSL/MPV)](md/GLSL_Instructions_Windows_MPV.md) - - [(GLSL/Plex)](md/GLSL_Instructions_Windows_Plex.md) - - ### Linux - - [(GLSL/MPV)](md/GLSL_Instructions_Linux.md) - - [(GLSL/Plex)](md/GLSL_Instructions_Linux_Plex.md) - - ### Mac - - [(GLSL/MPV)](md/GLSL_Instructions_Mac_MPV.md) - - [(GLSL/IINA)](md/GLSL_Instructions_Mac_IINA.md) - - [(GLSL/Plex)](md/GLSL_Instructions_Mac_Plex.md) - -## v4.1 Low resolution experiment -Results from the [experimental SRGAN shaders](https://github.com/bloc97/Anime4K/commit/5f9294d847e724b67f941d1742e3565a0a106291) for 360p -> 4K: (zoom in to view details) - -The images are sorted by algorithm speed, bicubic being the fastest. [FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow) and Anime4K are real-time while [waifu2x](https://github.com/nagadomi/waifu2x) and [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) are not. -![Comparison](results/Comparisons/Cropped_Screenshots/Magia_360p_4K.png?raw=true) -![Comparison](results/Comparisons/Cropped_Screenshots/Higurashi_360p_4K.png?raw=true) - -## v4 - -We introduce a line reconstruction algorithm that aims to tackle the distribution shift problem seen in 1080p anime. In the wild anime exhibit a surprising amount of variance caused by low quality compositing due to budget and time constraints that traditional super-resolution algorithms cannot handle. GANs can implicitly encode this distribution shift but are slow to use and hard to train. Our algorithm explicitly corrects this distribution shift and allows traditional "MSE" SR algorithms to work with a wide variety of anime. - -Source: https://fancaps.net/anime/picture.php?/14728493 | [Mode](md/GLSL_Instructions_Advanced.md#modes): `B` -![Comparison](results/Comparisons/Cropped_Screenshots/Maxed.png?raw=true) - -Source: https://fancaps.net/anime/picture.php?/13365760 | [Mode](md/GLSL_Instructions_Advanced.md#modes): `A` -![Comparison](results/Comparisons/Cropped_Screenshots/Slime.png?raw=true) - -Performance numbers are obtained using a Vega64 GPU and are tested using `UL` shader variants. The fast version is for `M` variants. -*Note that CUDA accelerated SRGANs/Waifu2x using tensor cores can be much faster and close to realtime (~80ms), but their large size severely hampers non-CUDA implementations.* - -## v3 -The monolithic Anime4K shader is broken into modular components, allowing customization for specific types of anime and/or personal taste. -What's new: - - A complete overhaul of the algorithm(s) for speed, quality and efficiency. - - Real-time, high quality line art CNN upscalers. *(6 variants)* - - Line art deblurring shaders. *("blind deconvolution" and DTD shader)* - - Denoising algorithms. *(Bilateral Mode and CNN variants)* - - Blind resampling artifact reduction algorithms. *(For badly resampled anime.)* - - Experimental line darkening and line thinning algorithm. *(For perceptual quality. We perceive thinner/darker lines as perceptually higher quality, even if it might not be the case.)* - -[More information about each shader (OUTDATED)](https://github.com/bloc97/Anime4K/wiki). - -## Visits - -

    - -

    - -Counting since `2021-09-19T16:02:06Z` (ISO 8601) - -## Projects that use Anime4K - - https://github.com/Blinue/Magpie (An all-purpose GUI upscaler for Windows 10/11) - - https://github.com/imxieyi/Anime4KMetal (Anime4K for Apple platforms based on Metal) - - https://github.com/mikigal/Anime4K-GUI (GUI application based on Anime4K which allows to save upscaled video to disk) - - https://colab.research.google.com/drive/11xAn4fyAUJPZOjrxwnL2ipl_1DGGegkB (Anime4K Re-Implemented in PyTorch) - -*Note that the following might be using an outdated version of Anime4K. There have been significant quality improvements since v3.* - - https://github.com/yeataro/TD-Anime4K (Anime4K for TouchDesigner) - - https://github.com/keijiro/UnityAnime4K (Anime4K for Unity) - - https://github.com/net2cn/Anime4KSharp (Anime4K Re-Implemented in C#) - - https://github.com/andraantariksa/Anime4K-rs (Anime4K Re-Implemented in Rust) - - https://github.com/TianZerL/Anime4KCPP (Anime4K & more algorithms implemented in C++) - - https://github.com/k4yt3x/video2x (Anime Video Upscaling Pipeline) - - https://github.com/Anime4KWebBoost/Anime4K-WebGPU (Anime4K for WebGPU) - -## Acknowledgements -| OpenCV | TensorFlow | Keras | Torch | mpv | MPC | -|:---:|:---:|:---:|:---:|:---:|:---:| -|![OpenCV](https://github.com/opencv.png)|![TensorFlow](https://github.com/tensorflow.png)|![Keras](https://github.com/keras-team.png)|![Torch](https://github.com/torch.png)|![mpv](https://github.com/mpv-player.png)|![MPC](https://github.com/mpc-hc.png)| - -Many thanks to the [OpenCV](https://github.com/opencv/opencv), [TensorFlow](https://github.com/tensorflow/tensorflow), [Keras](https://github.com/keras-team/keras) and [Torch](https://github.com/torch/torch7) groups and contributors. This project would not have been possible without the existence of high quality, open source machine learning libraries. - -I would also want to specially thank the creators of [VDSR](https://cv.snu.ac.kr/research/VDSR/) and [FSRCNN](http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html), in addition to the open source projects [waifu2x](https://github.com/nagadomi/waifu2x) and [FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow) for sparking my interest in creating this project. I am also extending my gratitude to the contributors of [mpv](https://github.com/mpv-player/mpv) and [MPC-HC](https://mpc-hc.org/)/[BE](https://sourceforge.net/projects/mpcbe/) for their efforts on creating excellent media players with endless customization options. -Furthermore, I want to thank the people who contributed to this project in any form, be it by reporting bugs, submitting suggestions, helping others' issues or submitting code. I will forever hold you in high regard. - -I also wish to express my sincere gratitude to the people of [Université de Montréal](https://www.umontreal.ca/), [DIRO](https://diro.umontreal.ca/accueil/), [LIGUM](http://www.ligum.umontreal.ca/) and [MILA](https://mila.quebec/en/) for providing so many opportunities to students (including me), providing the necessary infrastructure and fostering an excellent learning environment. - -I would also like to thank the greater open source community, in which the assortment of concrete examples and code were of great help. - -Finally, but not least, infinite thanks to my family, friends and professors for providing financial, technical, social support and expertise for my ongoing learning journey during these hard times. Your help has been beyond description, really. - -*This list is not final, as the project is far from done. Any future acknowledgements will be promptly added.* \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl deleted file mode 100644 index d2de081..0000000 --- a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl +++ /dev/null @@ -1,152 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Deblur-DoG-(HQ)-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Deblur-DoG-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE MMKERNEL -//!COMPONENTS 3 - -#define L_tex LINELUMA_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a = L_tex(pos - d).x; - float b = L_tex(pos).x; - float c = L_tex(pos + d).x; - - return vec2(min3v(a, b, c), max3v(a, b, c)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0.0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0.0)), 0.0); -} - - -//!DESC Anime4K-v3.2-Deblur-DoG-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND MMKERNEL -//!SAVE MMKERNEL -//!COMPONENTS 3 - -#define L_tex MMKERNEL_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a0 = L_tex(pos - d).y; - float b0 = L_tex(pos).y; - float c0 = L_tex(pos + d).y; - - float a1 = L_tex(pos - d).z; - float b1 = L_tex(pos).z; - float c1 = L_tex(pos + d).z; - - return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(0.0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0.0, HOOKED_pt.y)), 0.0); -} - -//!DESC Anime4K-v3.2-Deblur-DoG-Apply -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!BIND MMKERNEL - -#define STRENGTH 0.6 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. -#define BLUR_CURVE 0.6 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; -#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. -#define NOISE_THRESHOLD 0.001 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. - -#define L_tex LINELUMA_tex - -vec4 hook() { - float c = (L_tex(HOOKED_pos).x - MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; - - float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; - - float c_t = abs(c); - if (c_t > NOISE_THRESHOLD) { - c_t = (c_t - NOISE_THRESHOLD) / t_range; - c_t = pow(c_t, BLUR_CURVE); - c_t = c_t * t_range + NOISE_THRESHOLD; - c_t = c_t * sign(c); - } else { - c_t = c; - } - - float cc = clamp(c_t + L_tex(HOOKED_pos).x, MMKERNEL_tex(HOOKED_pos).y, MMKERNEL_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; - - //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + cc; -} - - diff --git a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl deleted file mode 100644 index 9c12cd7..0000000 --- a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl +++ /dev/null @@ -1,287 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Deblur-Original-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LINELUMA_tex(HOOKED_pos).x; - float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -/* --------------------- SETTINGS --------------------- */ - -//Strength of edge refinement, good values are between 0.2 and 4 -#define REFINE_STRENGTH 1.0 - - -/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ - -//Bias of the refinement function, good values are between 0 and 1 -#define REFINE_BIAS 0.0 - -//Polynomial fit obtained by minimizing MSE error on image -#define P5 ( 11.68129591) -#define P4 (-42.46906057) -#define P3 ( 60.28286266) -#define P2 (-41.84451327) -#define P1 ( 14.05517353) -#define P0 (-1.081521930) - -/* ----------------- END OF SETTINGS ----------------- */ - -float power_function(float x) { - float x2 = x * x; - float x3 = x2 * x; - float x4 = x2 * x2; - float x5 = x2 * x3; - - return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; -} - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAD_tex(HOOKED_pos).x; - float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - - float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAD_tex(HOOKED_pos).y; - float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - //Computes the luminance's gradient - float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); - - float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); - - return vec4(sobel_norm, dval, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LUMAD_tex(HOOKED_pos).x; - float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAMM_tex(HOOKED_pos).x; - float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAMM_tex(HOOKED_pos).y; - float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - float norm = sqrt(xgrad * xgrad + ygrad * ygrad); - if (norm <= 0.001) { - xgrad = 0.0; - ygrad = 0.0; - norm = 1.0; - } - - return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Deblur-Original-Apply -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!SAVE RESAMPLED - - -vec4 hook() { - vec2 d = HOOKED_pt; - - float dval = LUMAD_tex(HOOKED_pos).y; - if (dval < 0.1) { - return HOOKED_tex(HOOKED_pos); - } - - vec4 dc = LUMAMM_tex(HOOKED_pos); - if (abs(dc.x + dc.y) <= 0.0001) { - return HOOKED_tex(HOOKED_pos); - } - - float xpos = -sign(dc.x); - float ypos = -sign(dc.y); - - vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); - vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); - - float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); - - vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; - - return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); - -} - -//!DESC Anime4K-v3.2-Deblur-Original-Resample -//!HOOK MAIN -//!BIND HOOKED -//!BIND RESAMPLED - -vec4 hook() { - return RESAMPLED_tex(HOOKED_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl b/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl deleted file mode 100644 index bb43c63..0000000 --- a/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl +++ /dev/null @@ -1,67 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Denoise-Bilateral-Mean -//!HOOK MAIN -//!BIND HOOKED - -#define INTENSITY_SIGMA 0.1 //Intensity window size, higher is stronger denoise, must be a positive real number -#define SPATIAL_SIGMA 1.0 //Spatial window size, higher is stronger denoise, must be a positive real number. - -#define INTENSITY_POWER_CURVE 1.0 //Intensity window power curve. Setting it to 0 will make the intensity window treat all intensities equally, while increasing it will make the window narrower in darker intensities and wider in brighter intensities. - -#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. -#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). -#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. - -#define GETOFFSET(i) vec2((i % KERNELSIZE) - KERNELHALFSIZE, (i / KERNELSIZE) - KERNELHALFSIZE) - -vec4 gaussian_vec(vec4 x, vec4 s, vec4 m) { - vec4 scaled = (x - m) / s; - return exp(-0.5 * scaled * scaled); -} - -float gaussian(float x, float s, float m) { - float scaled = (x - m) / s; - return exp(-0.5 * scaled * scaled); -} - -vec4 hook() { - vec4 sum = vec4(0.0); - vec4 n = vec4(0.0); - - vec4 vc = HOOKED_tex(HOOKED_pos); - - vec4 is = pow(vc + 0.0001, vec4(INTENSITY_POWER_CURVE)) * INTENSITY_SIGMA; - float ss = SPATIAL_SIGMA; - - for (int i=0; i v[i].x) { - w_above += w[j]; - } else if (v[j].x < v[i].x) { - w_below += w[j]; - } - } - - if ((n - w_above) / n >= 0.5 && w_below / n <= 0.5) { - return v[i]; - } - } -} - -vec4 hook() { - vec4 histogram_v[KERNELLEN]; - float histogram_l[KERNELLEN]; - float histogram_w[KERNELLEN]; - float n = 0.0; - - float vc = LINELUMA_tex(HOOKED_pos).x; - - float is = pow(vc + 0.0001, INTENSITY_POWER_CURVE) * INTENSITY_SIGMA; - float ss = SPATIAL_SIGMA; - - for (int i=0; i 0.0) { - float histogram_wn[KERNELLEN]; - n = 0.0; - - for (int i=0; i= maxw) { - maxw = w[i]; - maxv = v[i]; - } - } - - return maxv; -} - -vec4 hook() { - vec4 histogram_v[KERNELLEN]; - float histogram_l[KERNELLEN]; - float histogram_w[KERNELLEN]; - float histogram_wn[KERNELLEN]; - - float vc = LINELUMA_tex(HOOKED_pos).x; - - float is = pow(vc + 0.0001, INTENSITY_POWER_CURVE) * INTENSITY_SIGMA; - float ss = SPATIAL_SIGMA; - - for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + (LINEKERNEL_tex(HOOKED_pos).x * STRENGTH); -} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl deleted file mode 100644 index 9a906aa..0000000 --- a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl +++ /dev/null @@ -1,197 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Difference-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LINEKERNEL -//!COMPONENTS 1 - -#define SPATIAL_SIGMA (1.0 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. - -#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. -#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). -#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. - -float gaussian(float x, float s, float m) { - float scaled = (x - m) / s; - return exp(-0.5 * scaled * scaled); -} - -float comp_gaussian_x() { - - float g = 0.0; - float gn = 0.0; - - for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + (comp_gaussian_y() * STRENGTH); -} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl deleted file mode 100644 index ca0a2d4..0000000 --- a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl +++ /dev/null @@ -1,217 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!WIDTH HOOKED.w 2 / -//!HEIGHT HOOKED.h 2 / -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Darken-DoG-(VeryFast)-Gaussian-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LINEKERNEL -//!WIDTH HOOKED.w 4 / -//!HEIGHT HOOKED.h 4 / -//!COMPONENTS 1 - -#define SPATIAL_SIGMA (0.5 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. - -#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. -#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). -#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. - -float gaussian(float x, float s, float m) { - float scaled = (x - m) / s; - return exp(-0.5 * scaled * scaled); -} - -float comp_gaussian_x() { - - float g = 0.0; - float gn = 0.0; - - for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + (LINEKERNEL_tex(HOOKED_pos).x * STRENGTH); -} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl deleted file mode 100644 index da2e1a5..0000000 --- a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl +++ /dev/null @@ -1,234 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Thin-(Fast)-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Thin-(Fast)-Sobel-X -//!HOOK MAIN -//!BIND LINELUMA -//!SAVE LINESOBEL -//!WIDTH HOOKED.w 2 / -//!HEIGHT HOOKED.h 2 / -//!COMPONENTS 2 - -vec4 hook() { - float l = LINELUMA_texOff(vec2(-1.0, 0.0)).x; - float c = LINELUMA_tex(LINELUMA_pos).x; - float r = LINELUMA_texOff(vec2(1.0, 0.0)).x; - - float xgrad = (-l + r); - float ygrad = (l + c + c + r); - - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Thin-(Fast)-Sobel-Y -//!HOOK MAIN -//!BIND LINESOBEL -//!SAVE LINESOBEL -//!WIDTH HOOKED.w 2 / -//!HEIGHT HOOKED.h 2 / -//!COMPONENTS 1 - -vec4 hook() { - float tx = LINESOBEL_texOff(vec2(0.0, -0.5)).x; - float cx = LINESOBEL_tex(LINESOBEL_pos).x; - float bx = LINESOBEL_texOff(vec2(0.0, 0.5)).x; - - float ty = LINESOBEL_texOff(vec2(0.0, -0.5)).y; - float by = LINESOBEL_texOff(vec2(0.0, 0.5)).y; - - float xgrad = (tx + cx + cx + bx) / 8.0; - - float ygrad = (-ty + by) / 8.0; - - //Computes the luminance's gradient - float norm = sqrt(xgrad * xgrad + ygrad * ygrad); - return vec4(pow(norm, 0.7)); -} - - -//!DESC Anime4K-v3.2-Thin-(Fast)-Gaussian-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINESOBEL -//!SAVE LINESOBEL -//!WIDTH HOOKED.w 2 / -//!HEIGHT HOOKED.h 2 / -//!COMPONENTS 1 - -#define SPATIAL_SIGMA (1.0 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. - -#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. -#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). -#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. - -float gaussian(float x, float s, float m) { - float scaled = (x - m) / s; - return exp(-0.5 * scaled * scaled); -} - -float comp_gaussian_x() { - - float g = 0.0; - float gn = 0.0; - - for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) - (current_luma - new_luma); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl deleted file mode 100644 index 20b3102..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl +++ /dev/null @@ -1,429 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.27899465, -0.14974926, 0.6271667, -0.04888494, 0.2164516, -0.47826648, 0.09537477, 0.16404815, -0.009546488, -0.24541017, -0.20505093, -0.11507772, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.22372562, 0.046120282, 0.44437107, 0.54215515, -0.10638798, -0.010795577, 0.19478157, 0.5756847, 0.24542068, 0.11135218, -0.27672207, 0.09624475, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.1703517, -0.17810228, -0.34460765, -0.40586865, 0.2102622, 0.08207581, 0.17641851, 0.23701222, -0.32159516, -0.017147528, 0.41743183, 0.19025058, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.4708481, -0.1587934, -0.15760423, -0.11388875, -0.36032093, -0.044305246, 0.19414884, 0.31109568, -0.09320259, -0.23072109, 0.0242641, 0.040976923, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.00951417, 0.2746557, -0.49743456, 0.14564055, 0.15047263, 0.08832856, -0.24360974, -0.3517844, -0.12219134, 0.12957081, 0.2876983, 0.13303527, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.12760738, 0.16703783, 0.04391735, 0.34657615, -0.26698044, -0.096000046, -0.46030682, -0.38363042, 0.3510441, 0.2620507, -0.30533043, -0.32785, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.63138646, -0.12703805, 0.38107973, -0.09134196, -0.04012397, -0.1390924, 0.07578805, -0.09274019, -0.045394078, 0.18203364, 0.16900069, 0.13399005, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.13648264, -0.13971807, -0.32322997, -0.08377875, 0.40967095, 0.19853555, -0.26386982, -0.50860924, -0.00555831, 0.06922444, 0.034828495, -0.08413197, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.21196735, 0.24934316, -0.27111465, -0.19941513, -0.30186844, 0.44828892, 0.35906994, -0.35723612, -0.074009515, -0.34400147, -0.22145566, -0.15622428, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.44569078, -0.084358215, -0.014156722, -0.0353374); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.1953752, -0.09707663, 0.43315637, 0.3862221, 0.2346731, 0.085327715, 0.36244828, 0.06630519, -0.05342483, 0.112148136, 0.07938104, 0.14795923, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.25197014, 0.032906674, 0.3392793, 0.18099307, -0.36539522, 0.10986396, 0.5440999, 0.41803896, -0.4117931, 0.46616048, 0.0827279, 0.040264074, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.060543116, 0.34531194, -0.3202978, 0.32803985, -0.08720925, 0.63656414, -0.052656054, -0.076137036, 0.15297869, -0.11485237, -0.21027736, -0.24086118, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.2044052, 0.111065395, -0.36082193, -0.39179638, 0.19812255, -0.3797384, 0.03176089, -0.35085422, 0.31697252, -0.31267545, -0.068170965, -0.06266394, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.0055682547, 0.24352197, 0.08972456, -0.4340704, -0.25253078, -0.4218859, 0.08408476, -0.5052765, 0.005511427, -0.36491954, 0.3825727, 0.01774532, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.13323675, -0.6641518, -0.38277033, 0.67553586, -0.5879293, -0.1286407, 0.1355451, 0.19463064, -0.09206729, 0.41892347, 0.16736335, -0.017109495, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.0627963, 0.29361042, 0.23339616, -0.42217752, 0.21872504, -0.21531922, -0.5016595, 0.20158494, 0.2814043, -0.1474019, 0.08778552, 0.28085083, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.009900911, -0.42754972, 0.02737237, -0.17740859, 0.541632, -0.28397697, -0.36375052, -0.172693, 0.1506882, 0.15196925, -0.30358136, -0.29542333, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.3690586, 0.19382606, -0.040331036, -0.14121497, 0.121049926, 0.54470515, -0.23628974, 0.20663929, -0.34591553, -0.14778244, -0.23809184, 0.12616424, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.009787335, 0.051148742, -0.007458707, -0.016416457); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.028458824, 0.10831271, 0.017246738, 0.42066097, 0.035127334, 0.14161696, 0.3893337, 0.18358134, -0.26446894, -0.053199783, 0.053528484, -0.3486933, -0.10270838, -0.3593573, 0.049874853, 0.08600247) * go_0(-1.0, -1.0); - result += mat4(-0.15829772, -0.31038332, 0.0423391, -0.11978196, -0.29878524, 0.10245719, 0.004307728, 0.052934717, -0.049366333, -0.03277819, -0.062031534, -0.004734159, 0.029009456, -0.18138678, 0.17342477, -0.1632741) * go_0(-1.0, 0.0); - result += mat4(-0.14941882, -0.3337916, -0.07740701, -0.8221198, -0.014216013, -0.34028724, 0.06367363, -0.19704603, -0.20317195, 0.17806017, -0.14011545, 0.05067841, 0.08515265, 0.092163175, -0.036603887, -0.2528259) * go_0(-1.0, 1.0); - result += mat4(0.044333473, 0.10871938, -0.12288588, 0.0077913217, 0.013970764, -0.21189599, -0.0757029, 0.055366833, 0.04531751, -0.20269018, 0.038650505, -0.09677452, 0.0565207, 0.073703125, -0.10746413, 0.22798601) * go_0(0.0, -1.0); - result += mat4(0.33476707, 0.22631067, 0.10190012, 0.25268495, -0.14572862, -0.21331434, 0.024614803, -0.26254398, 0.18070522, 0.34974626, 0.028480766, -0.07855834, 0.16165797, 0.28470036, 0.23497322, -0.15804033) * go_0(0.0, 0.0); - result += mat4(-0.09853942, -0.21105993, 0.27787793, 0.24688315, -0.16078049, 0.08541815, 0.16101131, -0.0005086922, -0.13042259, 0.0253011, -0.05298311, 0.16506846, -0.099300735, 0.07577514, 0.041623414, -0.18045023) * go_0(0.0, 1.0); - result += mat4(-0.015007392, 0.0720429, -0.018456718, 0.012792885, 0.2049891, -0.061911974, -0.10679284, 0.2530616, -0.1651912, 0.1125125, 0.55918777, 0.1414716, 0.025189033, 0.061680123, -0.13096866, -0.035809774) * go_0(1.0, -1.0); - result += mat4(0.037606955, 0.05987735, -0.09903669, 0.09681222, 0.31857902, -0.058445334, 0.10280441, -0.0018247474, 0.051491242, 0.12321206, 0.14069863, -0.013259678, -0.198442, 0.093920216, -0.015952505, -0.3040559) * go_0(1.0, 0.0); - result += mat4(0.044491854, 0.079992026, -0.07424999, 0.064774506, 0.36708844, -0.14958903, -0.060033463, -0.5950615, -0.101501055, -0.05275797, -0.0099711865, 0.075409986, -0.19508216, -0.088995665, -0.025926083, 0.023040347) * go_0(1.0, 1.0); - result += mat4(-0.00168658, 0.1879708, -0.08964568, 0.124567054, -0.027147152, 0.0013266837, 0.043110568, -0.16238526, 0.18404783, -0.088930264, -0.0841814, -0.06812457, -0.022954177, 0.15315148, 0.00096489635, 0.21262483) * go_1(-1.0, -1.0); - result += mat4(0.03728663, 0.16259944, 0.2534931, -0.10620075, -0.032217886, -0.043085426, -0.37875995, 0.16151664, -0.15136409, -0.21990341, 0.0043716, 0.1293011, 0.20516208, 0.32518774, -0.15583529, 0.20054214) * go_1(-1.0, 0.0); - result += mat4(0.05088376, -0.21300486, 0.30702966, 0.09044539, 0.020740725, 0.028916309, 0.14391874, 0.15526149, 0.011289051, -0.24014536, -0.2176207, 0.09995701, 0.06747376, -0.3315815, 0.07900332, -0.26542482) * go_1(-1.0, 1.0); - result += mat4(0.15973654, 0.2114867, -0.19423203, -0.1529657, -0.24198112, -0.10985252, 0.056409992, 0.111373484, 0.05717073, 0.019566689, -0.12794583, 0.006978016, -0.2708247, 0.2845983, -0.048893075, -0.09198705) * go_1(0.0, -1.0); - result += mat4(0.07690064, 0.038431194, 0.1205243, 0.1320201, -0.122893825, -0.022761922, -0.10097431, 0.022808496, -0.0431315, 0.19884229, -0.053464055, -0.08487898, 0.049651224, 0.3001686, -0.05545239, 0.48026356) * go_1(0.0, 0.0); - result += mat4(0.04079296, 0.052179057, 0.08785134, 0.17674746, 0.06027275, -0.083381295, -0.29543424, -0.10703248, 0.14123397, 0.12711276, 0.08260646, 0.23608543, 0.10914477, -0.22596069, -0.15743312, 0.103631504) * go_1(0.0, 1.0); - result += mat4(0.038997833, -0.14136268, -0.31973416, 0.11666723, -0.20137171, 0.0115205245, 0.22825807, -0.14853193, 0.25628343, 0.06598252, -0.003479285, -0.12315031, -0.07446986, 0.29977, 0.08878428, 0.15130284) * go_1(1.0, -1.0); - result += mat4(-0.04147214, -0.050535224, -0.21205503, -0.07425368, -0.06448227, -0.086743675, 0.029389668, -0.07494379, -0.17228132, -0.18035689, -0.09757749, 0.13929781, 0.21867155, 0.02585289, 0.13752261, 0.17800835) * go_1(1.0, 0.0); - result += mat4(0.20552272, -0.03113836, -0.201244, -0.07602455, 0.08278268, -0.17029381, -0.0008433311, -0.11591232, 0.087584734, -0.026447749, 0.09185437, 0.15650395, 0.29423076, 0.016036067, -0.17132477, 0.09271113) * go_1(1.0, 1.0); - result += mat4(0.09120441, 0.1345777, 0.0468555, 0.2635145, 0.04248785, -0.14849417, -0.013588658, -0.12794739, -0.0109574385, -0.15350367, 0.1872175, -0.17311442, 0.2740676, 0.1931403, 0.049231507, -0.17728893) * go_2(-1.0, -1.0); - result += mat4(0.0265621, 0.10291274, -0.0884961, -0.086093664, 0.25218308, -0.027579704, 0.044006765, -0.05947863, -0.17352693, -0.16788955, -0.1829588, -0.19120377, -0.19486824, 0.035516337, -0.04287895, -0.059360266) * go_2(-1.0, 0.0); - result += mat4(-0.0077623413, 0.061803013, -0.14371866, -0.2929254, -0.014011599, 0.23037176, 0.09881457, -0.018942501, 0.14976685, -0.0017081804, -0.0420665, 0.075949386, -0.015102705, -0.07807527, 0.053166322, 0.21431307) * go_2(-1.0, 1.0); - result += mat4(0.15482867, -0.13303289, 0.05441111, 0.20482185, -0.08669985, -0.26125848, 0.085498355, 0.06895137, -0.11653363, -0.022335036, -0.019448604, -0.19071092, 0.002487127, -0.053429328, 0.07700748, -0.15176988) * go_2(0.0, -1.0); - result += mat4(0.058373976, -0.18893883, 0.063239604, -0.16802256, 0.1348292, -0.037208326, 0.121938735, 0.123416096, -0.14086236, -0.08550504, 0.18930112, -0.07056712, -0.2190568, -0.01693728, -0.110385895, -0.10306489) * go_2(0.0, 0.0); - result += mat4(-0.21300407, -0.049379632, 0.13865358, 0.0037872058, 0.008286501, -0.12187443, -0.11094277, 0.021951213, -0.10365199, 0.15844372, 0.068476856, -0.09683496, -0.039589003, -0.027428184, 0.022865763, 0.067510754) * go_2(0.0, 1.0); - result += mat4(0.05690448, -0.09136643, -0.17356895, -0.18716863, 0.07831065, 0.015976364, -0.06423979, -0.01891357, 0.16295952, 0.17686251, -0.26599383, -0.11806091, -0.0968358, 0.024937721, -0.10509048, -0.097365916) * go_2(1.0, -1.0); - result += mat4(-0.06446155, 0.05177888, -0.019579697, 0.046922565, 0.20326103, -0.04118929, 0.07845964, 0.15494241, -0.033653136, 0.13276093, -0.061998203, -0.049391422, 0.0154429395, -0.12517625, -0.022282483, 0.14295246) * go_2(1.0, 0.0); - result += mat4(-0.102786146, 0.028481564, 0.12239765, 0.010855834, 0.17208168, -0.24589455, -0.045410756, 0.17422688, -0.051487174, 0.14276022, 0.26189017, -0.0027747392, 0.15695319, 0.13917996, 0.07303566, -0.055219136) * go_2(1.0, 1.0); - result += mat4(0.014127897, -0.13218386, -0.4342469, -0.10977742, 0.12229517, -0.32898104, -0.21103851, 0.06275854, -0.22651868, 0.111792624, 0.020457482, -0.048701756, 0.124154285, 0.016944582, -0.14404331, 0.054385293) * go_3(-1.0, -1.0); - result += mat4(0.09574338, 0.04884873, -0.12329247, 0.3191857, -0.28155354, 0.03411368, -0.017508674, -0.28257895, 0.06535372, 0.40051946, -0.24508828, 0.05891001, 0.08769791, -0.011710461, 0.10430247, 0.096506774) * go_3(-1.0, 0.0); - result += mat4(0.036757194, 0.1374388, -0.14553823, 0.11012423, 0.19377777, -0.053538468, -0.32605696, 0.07757925, 0.054016564, 0.2677718, 0.26038665, 0.029049544, 0.015482294, -0.08899067, 0.26156536, 0.26035222) * go_3(-1.0, 1.0); - result += mat4(-0.19651565, 0.30669728, -0.03192298, 0.090777226, 0.34684682, -0.040679373, -0.0006501724, -0.069249466, 0.07256215, -0.018623354, -0.021843085, 0.026858928, 0.24001615, -0.007573629, -0.25308976, -0.08101683) * go_3(0.0, -1.0); - result += mat4(-0.19491735, 0.29386947, -0.16541481, -0.12270087, 0.1478019, 0.11557711, 0.09745131, -0.037188005, 0.051415507, -0.009313462, 0.17577961, 0.30678266, 0.052763764, 0.06731275, 0.038889345, 0.01219997) * go_3(0.0, 0.0); - result += mat4(0.21972072, -0.16669928, -0.0471254, 0.07962133, -0.24501611, 0.10681031, -0.10724696, 0.046246808, -0.13467999, 0.019233517, -0.2220906, 0.11756837, 0.07995422, -0.091647364, 0.0524831, 0.2427797) * go_3(0.0, 1.0); - result += mat4(-0.018560572, 0.28909272, 0.27052113, -0.16862495, -0.04259962, -0.2526796, 0.24546415, 0.13772464, 0.019554865, 0.052288387, 0.22942105, 0.14541095, 0.29822263, -0.10352501, -0.17112546, -0.22842947) * go_3(1.0, -1.0); - result += mat4(-0.052647978, 0.17638408, 0.2265538, -0.028214354, -0.13620298, 0.14337336, 0.057785455, 0.14105307, 0.03873432, 0.13013794, 0.24192083, -0.104368195, -0.18878175, 0.11648163, 0.0049888026, -0.17706485) * go_3(1.0, 0.0); - result += mat4(0.003658791, 0.057943232, -0.013143919, 0.08626453, -0.26248586, 0.29328227, 0.18253878, 0.05693778, -0.082900435, -0.034102313, -0.05913703, -0.11045182, -0.06499875, 0.15446658, -0.08087537, 0.18904833) * go_3(1.0, 1.0); - result += vec4(-0.02852779, 0.027645616, 0.06510905, 0.029781172); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06138475, 0.120526604, 0.22381006, 0.12570442, 0.1439015, -0.5261169, 0.25294203, 0.04825834, 0.06993285, 0.1210301, -0.10087704, 0.038996983, 0.095201865, 0.50708395, 0.17403544, -0.17137507) * go_0(-1.0, -1.0); - result += mat4(0.09580414, -0.17387998, 0.10757996, 0.15188572, -0.02090535, 0.2655171, -0.38653868, -0.014376933, -0.03217946, -0.12866813, -0.049665075, -0.048535764, -0.115907624, 0.032473654, 0.36145476, 0.3830508) * go_0(-1.0, 0.0); - result += mat4(-0.19303346, -0.30462784, -0.21706793, -0.0123182135, -0.063043006, -0.10658377, 0.08729471, -0.27184415, 0.037174225, 0.13507952, -0.06391928, -0.035610817, 0.17105488, 0.07546837, 0.36270198, 0.13315013) * go_0(-1.0, 1.0); - result += mat4(-0.1559421, 0.03859168, 0.058586795, 0.1457787, -0.008261901, 0.17584307, 0.07892688, 0.16024348, 0.20574443, -0.09199424, -0.2572033, -0.06435325, -0.045140598, 0.026080446, 0.30986732, -0.02853244) * go_0(0.0, -1.0); - result += mat4(0.06647865, -0.13637248, -0.2077229, -0.18015774, 0.22215, 0.0282581, -0.124256276, -0.18235172, -0.10444975, 0.039713558, 0.031975772, -0.14737205, 0.1533982, 0.115156986, 0.14176169, -0.12018837) * go_0(0.0, 0.0); - result += mat4(-0.24000446, 0.08672003, -0.209317, 0.1853504, 0.19062491, -0.04505737, -0.097432695, -0.12218054, -0.20497306, 0.0068228757, -0.07930878, -0.045916412, -0.09002585, -0.019980771, -0.13450326, 0.08838858) * go_0(0.0, 1.0); - result += mat4(-0.005804602, 0.05149589, 0.18930501, -0.07475797, -0.3263357, -0.048428953, -0.0062948675, -0.12957661, 0.034840938, -0.12834811, -0.19660017, 0.13469964, -0.049774483, -0.07062978, 0.18116258, -0.2945365) * go_0(1.0, -1.0); - result += mat4(0.021823233, 0.17687339, 0.035116684, -0.14888434, 0.101564035, -0.058118407, 0.035971403, 0.304605, -0.08054271, 0.07140431, -0.24807848, -0.014870848, 0.005698307, 0.0925754, -0.16337888, -0.072692335) * go_0(1.0, 0.0); - result += mat4(0.15357393, 0.05702486, 0.1838928, -0.052683312, 0.26516896, 0.08939279, 0.040435348, 0.035939544, 0.21697883, -0.011976994, -0.10517768, 0.1004424, -0.073649734, -0.063365534, 0.07981437, -0.13724971) * go_0(1.0, 1.0); - result += mat4(0.06887319, -0.031427335, -0.05686962, 0.031254467, -0.0530729, -0.27738956, -0.22601964, -0.16733547, -0.15481988, -0.22141118, -0.19417213, 0.052291542, 0.0665599, 0.13679637, -0.09932399, -0.021917146) * go_1(-1.0, -1.0); - result += mat4(0.0043880343, -0.03320605, -0.09556491, 0.064986005, -0.05736109, -0.015415265, -0.12861155, 0.07442758, 0.09653438, -0.30665413, 0.12456121, -0.015494559, -0.04347404, -0.26863584, -0.12057121, -0.12873033) * go_1(-1.0, 0.0); - result += mat4(0.43038133, 0.117590204, -0.012805269, 0.06656798, -0.08742217, -0.077595286, 0.01795713, -0.010100221, -0.17349729, -0.02995379, 0.01733494, 0.012438303, -0.062275372, 0.18847479, -0.014758355, -0.13591917) * go_1(-1.0, 1.0); - result += mat4(-0.20219825, 0.33157164, -0.036087956, 0.078742586, 0.10264473, 0.13553555, 0.057454523, 0.09034125, 0.04169048, 0.031988595, -0.20171835, -0.018051006, 0.09925883, -0.15372548, -0.14060175, -0.012530946) * go_1(0.0, -1.0); - result += mat4(-0.20762882, -0.23219623, 0.044476848, -0.080212615, 0.027042268, 0.068265386, -0.053666174, 0.051648133, 0.012678151, -0.09496996, -0.073195405, 0.23230731, 0.026435647, 0.040384647, -0.15589063, -0.17085052) * go_1(0.0, 0.0); - result += mat4(0.06897319, -0.06360793, -0.12517554, -0.106191345, -0.22830063, -0.12295911, 0.20943281, 0.11263121, -0.05995797, -0.04077969, 0.029862454, 0.12051529, -0.008890125, 0.005834341, -0.038162317, 0.05707114) * go_1(0.0, 1.0); - result += mat4(0.091504954, -0.054357428, 0.18441072, 0.16866787, 0.14714013, 0.14976494, 0.119183995, 0.11771104, -0.17375562, 0.024148121, 0.08745399, 0.175893, 0.12345911, 0.120711684, -0.23350039, -0.035989728) * go_1(1.0, -1.0); - result += mat4(-0.30777606, 0.028484846, 0.19993277, -0.12934783, 0.049725976, 0.02831735, 0.09492996, 0.28220424, 0.26913685, 0.005740985, 0.025957806, 0.047272105, 0.014296343, 0.15206927, 0.035486884, 0.09940966) * go_1(1.0, 0.0); - result += mat4(-0.11630714, -0.034275923, 0.26804927, 0.1088897, -0.21128473, -0.043662123, 0.24287297, 0.1738188, 0.04961249, -0.03669543, -0.11308307, 0.007536927, -0.0021338738, -0.095983095, 0.12524886, 0.091356605) * go_1(1.0, 1.0); - result += mat4(0.21231711, 0.19442785, 0.047695257, -0.058896706, -0.268304, -0.377306, 0.21314003, -0.09257493, -0.12023363, 0.20652951, -0.027571363, 0.36026677, -0.11473893, 0.22179964, -0.21924159, 0.14666505) * go_2(-1.0, -1.0); - result += mat4(0.04660883, -0.22199874, -0.2171105, 0.32090327, -0.11054424, -0.2047386, 0.18756013, 0.08749142, -0.16950387, 0.2577728, 0.048406947, 0.1380687, 0.1014651, -0.09075356, -0.21746674, -0.2651618) * go_2(-1.0, 0.0); - result += mat4(-0.1928378, 0.11190454, 0.32514498, 0.32336533, 0.100953236, -0.008598421, 0.02124068, 0.0043789423, -0.046625864, -0.051161833, 0.13504188, -0.049233675, -0.10984389, -0.040151004, -0.08592605, 0.13862692) * go_2(-1.0, 1.0); - result += mat4(0.057035644, -0.086490445, 0.17654544, -0.096670695, 0.13528337, -0.10338058, -0.08174943, -0.11349738, 0.088931166, 0.19410637, 0.19873992, 0.01418258, 0.066797465, 0.09427754, -0.17926928, -0.12299086) * go_2(0.0, -1.0); - result += mat4(-0.010706926, 0.040176257, -0.12350328, -0.11089934, 0.08166401, 0.103450865, -0.062155697, -0.10264778, 0.09370084, -0.022440543, 0.036917962, -0.20901524, -0.13244434, -0.18850644, -0.069766395, -0.042853933) * go_2(0.0, 0.0); - result += mat4(0.0064649805, 0.09057663, 0.042877126, -0.22078879, -0.21635285, -0.0064749196, 0.04875745, -1.3261495e-05, 0.26282236, -0.057637256, -0.037890673, 0.0102023715, 0.0797657, 0.050011456, 0.07423098, -0.055722862) * go_2(0.0, 1.0); - result += mat4(-0.21198633, -0.16919948, -0.12337323, -0.06970269, 0.12338858, -0.037561033, -0.013671757, 0.12396114, -0.046889607, -0.005447934, -0.043364853, -0.2882593, -0.069868185, -0.014526121, -0.14131337, 0.12157274) * go_2(1.0, -1.0); - result += mat4(-0.07510719, 0.024486735, 0.056790795, 0.12515159, -0.034031168, 0.025101706, -0.05993126, -0.053233545, -0.014431461, -0.12288865, 0.11686025, -0.22278062, -0.07422713, 0.0011266146, -0.06630191, 0.077075236) * go_2(1.0, 0.0); - result += mat4(0.15784621, -0.0009692987, 0.057809148, -0.17506301, -0.0764334, 0.036327295, -0.107915476, 0.41731307, 0.005342607, -0.17614163, 0.017190281, -0.17021762, 0.09241874, -0.02230073, 0.015017511, 0.1081785) * go_2(1.0, 1.0); - result += mat4(-0.04213655, 0.07620985, -0.24124615, -0.0389524, -0.0071511404, 0.026105708, 0.35026863, 0.0391313, 0.17119752, -0.1083619, -0.011338781, -0.13909689, 0.019918554, -0.21432641, 0.045009304, -0.2289899) * go_3(-1.0, -1.0); - result += mat4(-0.003247703, 0.13921799, 0.23126572, -0.11244338, -0.16778667, 0.05676625, 0.17198953, 0.2891844, -0.06569662, 0.18568343, -0.13698709, 0.014525318, 0.09470385, 0.20842068, 0.22716486, -0.044944298) * go_3(-1.0, 0.0); - result += mat4(-0.036239535, 0.21613471, 0.0571368, 0.0133618545, -0.15562424, -0.030107146, -0.0881642, -0.3056589, 0.17654738, -0.16532254, -0.19526796, -0.09598035, 0.29869553, -0.19921502, -0.10570262, 0.12562469) * go_3(-1.0, 1.0); - result += mat4(0.139326, -0.18395935, -0.14525263, -0.1019923, 0.019128725, 0.06724899, 0.18320693, -0.15844813, -0.063348524, 0.034003522, 0.1160608, 0.16281077, -0.20621236, 0.20389429, 0.008165468, -0.3147023) * go_3(0.0, -1.0); - result += mat4(0.0031874597, -0.17282559, -0.19517206, -0.057723213, 0.014905972, -0.115991496, -0.17772576, 0.10005784, -0.34928575, -0.41152355, 0.15671544, 0.16953272, -0.06541263, 0.09083862, 0.12386179, -0.17146301) * go_3(0.0, 0.0); - result += mat4(0.024222312, 0.06139789, 0.13585247, 0.048212904, -0.038439997, 0.04822463, -0.31542218, 0.12828648, -0.1334096, -0.10939595, -0.20957507, 0.14276013, 0.09314227, -0.018837357, -0.09913242, -0.0690483) * go_3(0.0, 1.0); - result += mat4(-0.059516154, 0.03142432, -0.08262814, 0.12844399, 0.35043675, -0.17421962, 0.034954365, -0.0052628545, 0.10024693, -0.044191923, 0.18297553, -0.045441866, -0.22365399, -0.011058562, 0.1576469, -0.22479026) * go_3(1.0, -1.0); - result += mat4(0.11010148, -0.109644935, -0.06213465, 0.06469803, -0.12474922, 0.20629437, -0.03891448, -0.032074396, -0.21814698, -0.2983182, 0.16088112, 0.02542415, -0.019019049, -0.11332389, 0.04115874, -0.15403947) * go_3(1.0, 0.0); - result += mat4(-0.07334427, 0.065546006, -0.059299644, 0.1712592, 0.10194824, -0.0076101148, -0.26384652, -0.012047153, -0.069830835, 0.2215555, 0.41080138, 0.051534526, 0.15190491, 0.12348823, -0.16904834, -0.20517784) * go_3(1.0, 1.0); - result += vec4(0.019262059, 0.043436494, -0.124304086, -0.014933208); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.20542079, 0.26111016, 0.0036034626, -0.16608916, 0.03036114, 0.04244865, -0.20747331, 0.06865131, -0.13495351, 0.14393657, 0.050192088, 0.13718198, -0.09928467, 0.0038359873, -0.026470508, 0.012319453) * go_0(-1.0, -1.0); - result += mat4(0.019964145, 0.038375776, 0.003130048, -0.07945381, 0.06856654, -0.08331041, -0.049974114, -0.011174098, 0.030265702, -0.12478692, -0.009842687, 0.028310193, -0.29398966, -0.14264, -0.08436449, 0.18336426) * go_0(-1.0, 0.0); - result += mat4(0.07453813, 0.018200234, -0.1406476, 0.027974837, -0.19164173, -0.15623717, -0.057000756, 0.029960351, 0.27373666, -0.08550347, -0.05088059, -0.10246706, 0.033324502, -0.086211175, -0.010092321, -0.11165423) * go_0(-1.0, 1.0); - result += mat4(-0.17666292, 0.26951888, 0.24166632, -0.118283056, -0.1336137, 0.13550404, -0.19008428, 0.0041048722, 0.09373522, -0.032812368, -0.018434448, -0.008766052, 0.10959183, 0.0164411, -0.17436402, 0.11861692) * go_0(0.0, -1.0); - result += mat4(0.059816767, 0.0632236, -0.18595679, -0.10951594, 0.11052112, -0.0630564, 0.32736167, 0.016436215, 0.036759567, -0.10445141, -0.16695334, -0.09536692, 0.34936142, -0.091659166, 0.25245044, 0.064123355) * go_0(0.0, 0.0); - result += mat4(0.23698406, -0.030446773, 0.20418753, 0.030977655, 0.10176531, -0.091048814, 0.06913646, 0.070524976, 0.20899844, -0.026074586, 0.031215316, -0.14815283, -0.22031465, 0.09148875, -0.058892634, -0.042353395) * go_0(0.0, 1.0); - result += mat4(-0.022295577, 0.23975989, -0.03795945, -0.13689965, -0.05808369, -0.005154714, 0.02775734, -0.06821517, 0.14538866, -0.13725305, 0.079675056, 0.015865099, -0.1457713, -0.043883465, -0.11575635, 0.092833005) * go_0(1.0, -1.0); - result += mat4(0.008460874, 0.09447306, 0.14322506, -0.0063166656, 0.04562443, 0.12490515, 0.19263941, 0.07084753, 0.16193573, 0.03871189, 0.0042382013, -0.026311405, -0.042831287, 0.047627136, -0.18002886, 0.03910702) * go_0(1.0, 0.0); - result += mat4(0.08485893, 0.099010445, 0.1808653, 0.098906465, -0.2406554, 0.11303921, 0.03609519, 0.102015704, 0.018253349, 0.018407846, 0.04515686, -0.1044267, 0.12692702, -0.22019249, 0.17978671, -0.11714096) * go_0(1.0, 1.0); - result += mat4(0.37482956, 0.037982, -0.2527836, -0.07246249, -0.3257375, 0.026353687, -0.42709586, 0.15230247, 0.19455267, -0.20558092, 0.040543195, 0.30100232, 0.1208413, -0.022922885, -0.0527519, -0.2754452) * go_1(-1.0, -1.0); - result += mat4(-0.39697862, 0.59894156, -0.14519346, -0.21375597, -0.042094186, -0.11699173, -0.3065778, 0.045603614, -0.2315796, 0.1926384, 0.19640557, 0.023360144, 0.11569712, 0.080500975, -0.24562629, -0.11990825) * go_1(-1.0, 0.0); - result += mat4(0.030446287, -0.2191283, -0.020313436, 0.12092218, -0.04726904, -0.06145154, -0.10886858, -0.016195009, 0.074864194, 0.048508577, -0.024673669, 0.10286324, 0.23434684, -0.1291551, -0.04299077, -0.12459363) * go_1(-1.0, 1.0); - result += mat4(0.064445384, 0.16708861, 0.10306973, -0.13419592, -0.15216815, 0.12578042, -0.575184, -0.46423253, 0.42238462, -0.4330836, -0.26651257, 0.57413465, -0.10399166, 0.1914047, 0.15641387, 0.07064538) * go_1(0.0, -1.0); - result += mat4(0.04809328, -0.12349369, 0.1853755, -0.013703159, -0.12840022, 0.022170544, -0.26412117, -0.30681273, -0.31553897, -0.07833276, -0.17104533, 0.03156802, 0.029389234, -0.017229239, -0.052230056, -0.04573632) * go_1(0.0, 0.0); - result += mat4(-0.1380467, 0.31759852, 0.06532168, 0.19637011, 0.24012493, -0.04863545, -0.21709125, -0.21216264, 0.16879074, 0.10763089, 0.22363038, -0.14004646, 0.19021708, -0.099481724, -0.0073404606, 0.04956918) * go_1(0.0, 1.0); - result += mat4(-0.068974994, 0.5005385, -0.12780246, 0.05813948, 0.035919234, 0.039779782, 0.0028248294, -0.21344285, 0.17026006, -0.17971572, -0.20932221, -0.0862113, -0.0074473396, 0.119821966, 0.28552157, -0.027787263) * go_1(1.0, -1.0); - result += mat4(0.20083936, -0.08729008, -0.01474545, 0.061849594, 0.09285405, 0.074680895, -0.11493401, -0.35524356, 0.098670855, -0.31036818, 0.01269914, -0.06409305, -0.13034628, 0.07905559, 0.0018419055, -0.047743056) * go_1(1.0, 0.0); - result += mat4(-0.0008763842, 0.16266613, -0.13819253, 0.04136551, 0.11757835, -0.01075886, 0.13635348, 0.14200751, -0.036117654, -0.016920915, -0.003860492, -0.14361666, 0.18442062, -0.0119510535, 0.1574026, 0.11443297) * go_1(1.0, 1.0); - result += mat4(-0.26120907, 0.0040505654, -0.01111041, -0.028482055, 0.094762795, -0.27338502, 0.18852817, -0.15605745, -0.012533703, 0.17356302, -0.2594928, -0.04016552, 0.060918808, -0.10248847, 0.12710676, 0.1503744) * go_2(-1.0, -1.0); - result += mat4(0.24577981, -0.047384363, -0.13740875, 0.058981817, 0.09629815, -0.042157363, 0.17206886, 0.06895825, -0.13252918, 0.0941419, -0.048901185, 0.052710008, -0.104840726, 0.11820465, 0.17454259, 0.05037063) * go_2(-1.0, 0.0); - result += mat4(-0.2239817, 0.4553206, -0.017824922, -0.050273463, -0.21029685, -0.032555267, -0.08916583, 0.10736202, 0.18478145, -0.09538145, 0.052327603, 0.12728482, -0.11439347, 0.17596558, 0.054506473, -0.017638389) * go_2(-1.0, 1.0); - result += mat4(-0.072854675, 0.015542916, -0.1950096, 0.06664522, 0.1548192, -0.22573462, -0.20828351, 0.16661869, 0.033900462, 0.23870395, 0.11434291, 0.21813981, 0.12673119, 0.08014363, 0.022457503, 0.20910633) * go_2(0.0, -1.0); - result += mat4(0.2652937, 0.17511544, -0.10850216, 0.081340194, -0.21500582, -0.036195952, -0.04102979, -0.15212043, -0.29559842, 0.25977176, 0.24641588, 0.13869548, -0.41371983, -0.14120851, 0.109116435, 0.22358306) * go_2(0.0, 0.0); - result += mat4(-0.108154014, 0.35006878, -0.055340957, -0.23728919, -0.24589789, -0.06516491, -0.03474703, -0.047869515, -0.0045436365, -0.17755373, -0.039802775, 0.21740748, -0.033278447, -0.10501602, -0.089266, -0.04061338) * go_2(0.0, 1.0); - result += mat4(0.028205335, 0.003054092, 0.14546792, -0.10006339, -0.052365907, -0.13063054, -0.08356806, 0.20927623, 0.05030947, 0.21224388, 0.45320153, 0.0051093665, 0.0021801728, -0.12858267, -0.10686808, 0.21674173) * go_2(1.0, -1.0); - result += mat4(0.10200768, 0.13099737, 0.13514566, -0.17343043, -0.22834082, 0.055208363, -0.20808199, -0.0015957861, -0.13871242, -0.06423964, 0.3320781, 0.051521134, -0.11108624, -0.17557982, -0.12519105, 0.067071475) * go_2(1.0, 0.0); - result += mat4(0.20798117, -0.046690967, 0.17071529, -0.29893485, -0.06927812, 0.072701424, -0.30537283, -0.16406195, 0.10575524, -0.063635424, -0.044293836, 0.08667325, -0.16368344, 0.2196707, -0.29370767, 0.16401167) * go_2(1.0, 1.0); - result += mat4(-0.04009042, -0.034136664, 0.15880232, -0.058544576, -0.09724303, 0.13140567, -0.15769257, 0.05637733, -0.061678827, -0.19032978, 0.11843628, -0.25161943, -0.12645799, -0.27027693, -0.19899485, 0.2231074) * go_3(-1.0, -1.0); - result += mat4(0.07176237, -0.12067612, -0.070081174, 0.10180745, -0.1705716, -0.039632697, -0.22599341, -0.12012279, 0.24187793, 0.015815722, -0.03722175, 0.098794326, 0.19674404, -0.040387046, 0.03916034, 0.013947429) * go_3(-1.0, 0.0); - result += mat4(-0.06389604, 0.04532417, -0.20961155, -0.22151196, 0.08498287, -0.0912261, -0.17840882, -0.13550358, -0.17497064, 0.12473174, 0.025784912, -0.060957976, -0.17787372, 0.21546759, -0.081276976, -0.0057096705) * go_3(-1.0, 1.0); - result += mat4(-0.09308164, -0.036254935, 0.07291895, -0.010599356, -0.07466555, 0.18080021, -0.012473155, 0.24264692, 0.043592792, -0.15068708, 0.19074705, -0.1608174, 0.07106228, -0.15757518, -0.19600157, 0.21481107) * go_3(0.0, -1.0); - result += mat4(0.10340095, 0.14977756, -0.18035571, -0.00454613, -0.018766372, -0.0006462305, 0.12609644, -0.022229725, -0.11288012, -0.10881946, 0.016426437, 0.047212575, -0.015592831, 0.088430114, -0.019637503, -0.15445113) * go_3(0.0, 0.0); - result += mat4(0.13125896, -0.05610665, 0.04579115, -0.20584439, 0.016590014, -0.14247346, -0.045108374, -0.07701804, 0.059466217, 0.10401916, -0.114898264, 0.15725806, 0.02189435, 0.016297683, -0.11828137, -0.07996226) * go_3(0.0, 1.0); - result += mat4(-0.038534615, 0.046327326, 0.04947746, 0.07890686, -0.08618927, 0.1135833, -0.008643036, -0.019718027, -0.08664565, 0.068627, -0.06325347, 0.04222515, 0.120940305, -0.106959745, 0.022951378, 0.14290553) * go_3(1.0, -1.0); - result += mat4(0.06408585, 0.19215317, 0.05731193, 0.09329293, 0.26087278, -0.124888204, -0.15473562, -0.037721, -0.12800066, 0.12517492, -0.06680967, 0.09497935, 0.23841377, 0.1347636, 0.17279463, 0.0038290594) * go_3(1.0, 0.0); - result += mat4(0.08006353, -0.07942165, 0.14611697, 0.053477652, 0.13953096, -0.14270853, -0.009859328, -0.21148224, 0.11157642, -0.12486184, -0.0709194, 0.16277598, -0.08118929, -0.04684391, 0.049433514, -0.28911993) * go_3(1.0, 1.0); - result += vec4(-0.15367588, -0.07928099, 0.063567765, 0.108769014); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.13100185, 0.028466834, 0.21762301, 0.07392093, -0.00046575023, -0.08175499, -0.07715949, 0.056365166, -0.028316915, -0.037371337, -0.16343145, -0.078509934, -0.178982, 0.06893543, -0.12027178, 0.06993414) * go_0(-1.0, -1.0); - result += mat4(0.07834248, 0.046873976, 0.23983683, -0.06646688, -0.04749886, -0.101967975, -0.082395144, -0.015339724, -0.07693013, 0.016892025, -0.08877053, 0.14534354, -0.30249342, -0.08455913, 0.09002741, -0.12472986) * go_0(-1.0, 0.0); - result += mat4(-0.039911453, 0.11150177, -0.009199328, 0.043733858, -0.013332275, -0.119128324, -0.09285867, 0.007959111, 0.23202884, 0.06459362, 0.071042486, 0.09901959, -0.046906233, -0.07916646, -0.07528521, 0.05652529) * go_0(-1.0, 1.0); - result += mat4(0.12189273, -0.07608036, -0.09632985, -0.03643418, -0.1058494, -0.045247663, 0.016788295, 0.046447262, 0.08731556, -0.07916306, -0.17591585, 0.070336945, 0.0825902, 0.21166702, -0.14786263, 0.012765127) * go_0(0.0, -1.0); - result += mat4(-0.15099311, -0.082614996, -0.010447922, -0.2116295, 0.22785337, -0.0015175309, 0.21255092, 0.058660604, -0.022553608, -0.120723926, 0.0561124, 0.018720774, 0.0862727, -0.02351105, 0.037588555, -0.013596472) * go_0(0.0, 0.0); - result += mat4(-0.17424586, -0.091873385, 0.20892383, 0.3079469, -0.08027999, -0.07241797, 0.035928074, -0.031040983, -0.03548984, -0.047187436, 0.17053668, 0.39115313, 0.061380606, 0.13889132, -0.041030813, -0.022435248) * go_0(0.0, 1.0); - result += mat4(-0.0037971158, -0.19398233, -0.041492697, -0.08632908, 0.05087685, 0.114212446, 0.09395637, -0.12073027, 0.18993643, -0.025265925, -0.17716514, -0.062493253, 0.078527555, -0.13106133, 0.09158833, -0.08067098) * go_0(1.0, -1.0); - result += mat4(0.11454478, -0.053314645, 0.02932442, -0.052710265, 0.10180192, -0.05165681, 0.1415095, -0.0886421, 0.25377235, -0.16350931, -0.07908212, 0.081858, 0.13214986, 0.056609593, -0.029691117, -0.1963397) * go_0(1.0, 0.0); - result += mat4(0.13833676, 0.024542026, -0.07700002, -0.016948726, -0.13303484, -0.0951515, -0.031009076, 0.055997517, -0.037423257, -0.1693348, 0.015715523, 0.053379383, 0.12330872, -0.15478514, 0.14523397, 0.18046756) * go_0(1.0, 1.0); - result += mat4(0.20786218, 0.14361653, 0.49472246, 0.09881262, -0.34138504, -0.0025990994, -0.43033788, -0.00039400125, -0.002008598, 0.23800024, 0.04231959, 0.028620182, 0.13962908, 0.089462794, -0.14335507, 0.008409915) * go_1(-1.0, -1.0); - result += mat4(-0.12720335, -0.3409636, -0.023997113, 0.026997993, -0.20555046, -0.027020821, -0.235406, 0.09561914, 0.44234744, -0.07148167, 0.00064560794, -0.1726457, -0.014688707, 0.21288827, 0.17666213, -0.11264844) * go_1(-1.0, 0.0); - result += mat4(-0.38011166, 0.014146791, 0.03394759, 0.08368928, -0.14633556, 0.11139822, -0.25683075, 0.07368074, -0.25248998, 0.12499596, -0.004184047, 0.192279, -0.048109, -0.006033096, 0.028591031, 0.15288617) * go_1(-1.0, 1.0); - result += mat4(0.10880278, -0.02255051, 0.21004406, -0.034776326, 0.10378925, -0.22322227, -0.11731474, -0.11443079, -0.30380723, 0.3183636, 0.18248428, -0.10215758, -0.049251713, 0.12848853, 0.012738647, 0.03222829) * go_1(0.0, -1.0); - result += mat4(0.54890627, 0.20614935, -0.019661043, -0.07782363, -0.07293127, -0.004283575, -0.036939718, 0.19752185, -0.41021585, -0.050092876, 0.023610009, -0.23783271, 0.11343489, 0.21473971, -0.06997083, -0.10420534) * go_1(0.0, 0.0); - result += mat4(-0.08103626, 0.091647685, -0.17259495, -0.24478562, 0.08222839, 0.12299736, -0.12480139, 0.08303869, 0.069200024, 0.0005504728, 0.01590888, -0.029884247, 0.029297108, 0.17425247, 0.055239804, -0.06290667) * go_1(0.0, 1.0); - result += mat4(-0.25949356, -0.049375266, -0.19764636, 0.04848412, 0.14846909, 0.07249825, -0.038826656, -0.15756363, -0.1748046, 0.1839563, -0.015786756, 0.012645979, 0.09585216, 0.07619667, 0.010932837, 0.06530666) * go_1(1.0, -1.0); - result += mat4(-0.0592303, 0.34068975, -0.0043445593, 0.25165552, 0.22237164, 0.041179545, -0.046396293, 0.22462137, 0.034741532, 0.06565189, 0.13475078, 0.08480505, 0.1708352, 0.057039484, 0.037506044, -0.34036627) * go_1(1.0, 0.0); - result += mat4(-0.10844713, 0.113506734, -0.14367405, 0.111787796, 0.031758603, -0.06955974, -0.068098925, 0.14282043, 0.094929375, 0.18194464, -0.045276128, -0.0032632013, 0.007969798, -0.0590313, 0.05033309, 0.06328967) * go_1(1.0, 1.0); - result += mat4(-0.08094655, -0.08266014, -0.31147677, -0.062742665, -0.017061448, 0.26350877, 0.10840224, -0.16414656, 0.25499284, -0.3347594, 0.25973678, 0.15623575, 0.022350369, -0.08235582, 0.29226762, -0.14951667) * go_2(-1.0, -1.0); - result += mat4(0.16715927, 0.31846005, -0.007528655, -0.04655408, 0.07248268, -0.1295353, 0.119970314, 0.00721155, 0.19906871, 0.06366751, -0.055744495, 0.11151067, 0.09488815, -0.09006814, -0.1341, -0.12335882) * go_2(-1.0, 0.0); - result += mat4(-0.18715191, -0.06641214, -0.24086717, -0.13160741, -0.20222618, -0.08882262, 0.09281967, -0.14381158, 0.31153843, 0.10280565, -0.06487702, -0.0030142434, 0.12800919, 0.059373695, 0.108098336, -0.025091475) * go_2(-1.0, 1.0); - result += mat4(-0.26941344, -0.010607985, -0.059500597, -0.087650314, 0.057776485, 0.032416668, -0.0014182271, -0.053006213, 0.198899, -0.12861459, 0.1999814, 0.053311568, 0.0801663, -0.2101018, 0.110617965, -0.02017489) * go_2(0.0, -1.0); - result += mat4(-0.0888614, -0.07155236, -0.019973263, -0.12744384, -0.17749546, 0.041163083, 0.07273392, -0.09820898, -0.14922594, -0.11169263, -0.069319114, -0.04354858, 0.18076904, 0.084879614, -0.04125808, 0.068733074) * go_2(0.0, 0.0); - result += mat4(0.025723739, -0.3071993, -0.26200652, -0.24551399, 0.040670983, 0.29252282, -0.14551005, 0.111219764, -0.21262506, -0.026296655, 0.16694368, 0.0041154358, 0.03154805, 0.07315552, 0.13088223, -0.10842478) * go_2(0.0, 1.0); - result += mat4(0.070245974, 0.110039465, 0.19028768, -0.042884093, -0.09198143, 0.07932312, 0.09101255, 0.046001278, 0.18428285, -0.026307642, 0.099789225, -0.12612925, -0.40322223, 0.18879798, 0.010587032, 0.055332247) * go_2(1.0, -1.0); - result += mat4(-0.057069883, -0.032890134, -0.0513947, -0.074211985, -0.19471937, 0.18182398, -0.2119559, 0.2439066, -0.14167733, 0.25903046, 0.18162172, -0.007826057, -0.06429918, 0.02668084, 0.077179454, 0.023550559) * go_2(1.0, 0.0); - result += mat4(0.14551505, 0.11689716, 0.28027633, -0.18079606, 0.016579725, 0.03988999, 0.074107096, -0.15190484, -0.060423456, 0.39282638, -0.005255287, 0.09286323, -0.1003253, -0.0412654, -0.117815144, -0.22671913) * go_2(1.0, 1.0); - result += mat4(-0.26655, 0.02524124, -0.15780295, 0.010378331, 0.038483843, -0.18752888, 0.12708266, 0.020122316, -0.13007571, 0.11942783, 0.1515452, 0.068273015, -0.11957963, -0.061313108, 0.18422426, -0.16399868) * go_3(-1.0, -1.0); - result += mat4(-0.17614686, 0.12740774, -0.12034426, 0.00811552, -0.027063683, 0.004154653, -0.1892024, -0.051516473, -0.15957421, 0.103997365, 0.12231665, -0.082051665, 0.1611069, -0.017016938, 0.03224853, 0.16816284) * go_3(-1.0, 0.0); - result += mat4(-0.15254295, -0.011885901, -0.03317691, 0.076534435, -0.060000043, 0.020979656, -0.11068878, 0.17345367, 0.033083163, -0.016063845, -0.03998401, -0.14917895, 0.05829016, 0.055933036, 0.0152959, -0.11680771) * go_3(-1.0, 1.0); - result += mat4(-0.22236426, 0.093723886, 0.004360134, 0.05051143, 0.017353376, -0.0092351325, -0.16306834, 0.031693168, 0.20352198, 0.060595278, 0.08691345, 0.25801733, -0.09962889, -0.014900563, -0.15118423, -0.096163675) * go_3(0.0, -1.0); - result += mat4(-0.19981825, -0.21788603, 0.20982541, -0.113621205, 0.005621798, 0.0943901, -0.17422888, -0.18507147, 0.30247143, 0.06899553, -0.16009268, 0.067299575, -0.21744101, -0.015869575, 0.095568515, -0.036854178) * go_3(0.0, 0.0); - result += mat4(0.06810536, 0.11014666, 0.24017857, 0.12042336, -0.12038678, 0.015001737, -0.17134188, 0.10343175, 0.09067457, 0.11136803, 0.024367718, -0.13199149, -0.37008765, 0.07137436, 0.122724056, 0.06668219) * go_3(0.0, 1.0); - result += mat4(0.28085753, -0.14428541, 0.08978648, 0.05202615, -0.15860316, -0.06101108, -0.18904316, 0.104275696, 0.06810539, -0.07249347, -0.10909362, 0.019484319, -0.025948122, 0.0910616, -0.17025243, -0.035804044) * go_3(1.0, -1.0); - result += mat4(0.10040864, -0.27650854, -0.029030709, -0.0531634, 0.050312318, 0.14849235, -0.059385244, -0.13935417, -0.16425262, -0.14445016, -0.22415695, 0.04330054, 0.0024454365, -0.009127519, -0.24255885, -0.06303984) * go_3(1.0, 0.0); - result += mat4(0.054911103, -0.2811866, -0.049883213, 0.09221324, 0.041680478, 0.1959676, -0.15021674, -0.006908881, -0.15814131, -0.15958795, 0.15639575, -0.10088554, -0.22732499, -0.082894124, 0.06674789, -0.10491449) * go_3(1.0, 1.0); - result += vec4(-0.038157728, 0.01904009, 0.07848918, -0.04052424); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.044146776, -0.026106803, -0.15219912, -0.15929134, 0.02972265, -0.05223942, 0.06760582, 0.04324784, -0.13192074, 0.12351806, 0.0855665, -0.11861024, 0.097702436, 0.10298012, -0.03555207, 0.06544868) * go_0(-1.0, -1.0); - result += mat4(0.05458123, 0.014500078, 0.048824716, 0.14172198, 0.057214983, -0.06896361, -0.052671798, 0.10043398, -0.029938918, -0.013474177, 0.10448471, 0.29896173, -0.0037866347, -0.06600103, -0.19298725, -0.119502924) * go_0(-1.0, 0.0); - result += mat4(-0.07483799, 0.0757225, -0.07432271, -0.02994328, -0.047863305, -0.08091319, -0.13640103, -0.16553412, 0.019309495, 0.13153689, 0.14757608, 0.041081686, 0.1447018, -0.09976335, -0.06094595, -0.019380448) * go_0(-1.0, 1.0); - result += mat4(-0.116722435, 0.018069802, 0.082960755, 0.25008422, -0.10093022, 0.15039717, 0.16740529, 0.08372216, -0.17313154, 0.072606385, 0.1134366, 0.09108986, -0.025453486, -0.0014705429, 0.073060215, -0.0786531) * go_0(0.0, -1.0); - result += mat4(-0.22601452, 0.5512376, -0.11920107, -0.12763597, -0.008671738, -0.058479775, -0.268992, -0.06614402, -0.26501563, -0.030529302, -0.04196243, 0.13161187, 0.1170102, -0.25060177, 0.060350843, -0.1524947) * go_0(0.0, 0.0); - result += mat4(-0.1648866, 0.05652559, -0.040925294, -0.11008188, 0.21542753, -0.116541564, -0.08021358, -0.13785587, -0.05141525, -0.039133884, -0.1124311, 0.17472316, -0.22469969, 0.09842997, 0.10967242, -0.020226078) * go_0(0.0, 1.0); - result += mat4(-0.12250246, 0.10348344, -0.018174428, 0.037790317, 0.07088387, 0.27629474, 0.049727917, -0.0011699499, -0.1497167, 0.048863184, 0.00309108, 0.12177124, 0.022598455, 0.08864282, -0.048928354, 0.088068075) * go_0(1.0, -1.0); - result += mat4(0.043115202, 0.24277024, 0.17749861, 0.10550521, 0.008603091, -0.36454508, 0.09997063, 0.11979698, -0.15786794, -0.008746184, 0.06689776, -0.20002088, 0.04094072, 0.042499837, -0.05387774, -0.10426778) * go_0(1.0, 0.0); - result += mat4(0.06600674, 0.07645438, 0.015209062, 0.23262201, -0.08001964, -0.09341582, 0.008619914, 0.093308866, -0.124739006, -0.007209568, -0.06492457, 0.22863889, 0.17875427, 0.0779068, -0.09997953, -0.021379821) * go_0(1.0, 1.0); - result += mat4(-0.043263335, 0.1548246, 0.09254137, 0.16256322, 0.13361873, -0.10850825, 0.09901608, -0.0753444, -0.02345517, 0.030159235, -0.0043304237, 0.19805421, -0.11997134, 0.0948639, -0.09261292, 0.1167355) * go_1(-1.0, -1.0); - result += mat4(0.1042119, -0.08793884, -0.15884337, -0.08414226, -0.02642236, -0.032897346, -0.07664125, 0.064429455, 0.04868224, 0.04438529, -0.083366744, -0.06398503, -0.2364328, -0.039592575, -0.15421078, 0.17369357) * go_1(-1.0, 0.0); - result += mat4(0.20374978, -0.09289948, -0.25493136, 0.028119517, 0.053481918, -0.062769525, -0.052148513, -0.20336467, -0.07322327, 0.071623735, -0.05846495, 0.23537324, 0.030998409, -0.0572314, -0.30425155, 0.17616381) * go_1(-1.0, 1.0); - result += mat4(-0.008999034, 0.19063166, -0.16384077, 0.08840229, 0.005153292, 0.17091888, 0.05193965, -0.09363918, 0.07379054, 0.0416411, 0.007373337, -0.002444226, 0.090993404, -0.17546643, -0.14595066, 0.19029109) * go_1(0.0, -1.0); - result += mat4(-0.07473051, 0.022953797, 0.3694185, -0.000816042, 0.014621785, -0.029232977, -0.0163784, 0.30796757, 0.024686797, -0.0376939, 0.106044516, 0.10191429, -0.11145659, -0.23659907, 0.11254082, 0.078495234) * go_1(0.0, 0.0); - result += mat4(0.05722472, 0.014075986, 0.077577166, -0.1319451, 0.0063364087, 0.07042797, 0.013867829, -0.01543331, -0.069067486, -0.07245758, 0.059568863, 0.06195517, -0.25257275, -0.19943956, -0.19534364, -0.1566254) * go_1(0.0, 1.0); - result += mat4(0.10666801, 0.19854072, -0.14524002, 0.21727695, 0.07621112, 0.103370175, 0.003522481, -0.03526533, 0.09204845, 0.04930996, -0.009533781, 0.071561396, 0.007946626, -0.09155877, -0.18856467, 0.11516717) * go_1(1.0, -1.0); - result += mat4(0.15758498, 0.25284624, -0.03834856, -0.16141246, -0.09860034, -0.35015398, 0.08133997, 0.05046502, 0.20083027, -0.0026045898, -0.23627196, 0.07382544, 0.11064689, -0.0707055, -0.18984218, -0.09250848) * go_1(1.0, 0.0); - result += mat4(0.05949194, 0.00070572464, 0.10784266, -0.008810496, 0.06522392, -0.0023800225, -0.01614215, -0.015862722, 0.08078033, 0.10827174, 0.11440369, 0.014041329, 0.053579852, -0.11658711, -0.052344058, -0.03857412) * go_1(1.0, 1.0); - result += mat4(-0.054652497, 0.072690494, 0.11310003, 0.09839347, -0.08197539, 0.089851685, 0.039466213, -0.059131484, 0.03934494, -0.09728057, 0.07211633, 0.14545459, -0.08371904, -0.02848036, -0.020263305, -0.12366355) * go_2(-1.0, -1.0); - result += mat4(-0.13024135, 0.10256835, -0.088607304, -0.08425782, -0.067031406, -0.03591957, 0.034701034, -0.0573039, -0.048706584, 0.10135636, -0.13818035, -0.09554917, 0.1541496, -0.09246093, 0.11827978, -0.02703279) * go_2(-1.0, 0.0); - result += mat4(-0.057035744, 0.063911796, 0.12805207, 0.13411741, 0.00924603, -0.03657417, 0.08100167, -0.031264946, -0.03189199, -0.049402498, -0.046219792, 0.12624107, 0.2809697, -0.1264563, 0.02382632, -0.16174819) * go_2(-1.0, 1.0); - result += mat4(0.032658063, 0.029207656, -0.020362824, -0.18823773, -0.20003095, 0.09240136, 0.004393565, 0.28016117, -0.17617643, 0.21443488, -0.06436653, 0.09426579, -0.012660543, -0.038343526, -0.087761596, -0.06952474) * go_2(0.0, -1.0); - result += mat4(0.013616554, -0.16468868, 0.1281466, 0.08476041, -0.0138902385, -0.04434069, 0.12031286, -0.07590152, -0.12818764, 0.1970344, 0.042898823, 0.018936606, 0.019264435, -0.13713486, -0.027062744, 0.26364017) * go_2(0.0, 0.0); - result += mat4(-0.03121837, -0.040610187, 0.0023387137, 0.11021297, 0.04006531, 0.089258075, 0.038287688, 0.19519399, 0.0590789, -0.0127886515, 0.16618161, -0.11148632, -0.10438067, 0.088400334, 0.115820415, 0.23558354) * go_2(0.0, 1.0); - result += mat4(-0.14781238, -0.020881698, 0.040218577, 0.090248026, -0.04531296, 0.121813886, -0.12156261, -0.02640371, 0.019912932, 0.029554896, -0.032324113, 0.060553055, -0.14531589, -0.20826598, 0.1945815, -0.18510781) * go_2(1.0, -1.0); - result += mat4(-0.24151343, 0.08096261, -0.08314715, 0.121899664, -0.21133694, 0.25925165, 0.037419003, 0.0027491911, 0.07981589, -0.06247693, -0.07793235, -0.050702088, -0.21040778, -0.051243544, 0.021130228, -0.16032514) * go_2(1.0, 0.0); - result += mat4(-0.1940846, 0.005878943, 0.09001744, 0.00996283, -0.01720877, 0.11209827, -0.045714185, 0.017633213, 0.11248759, -0.070436165, 0.059041988, -0.117122024, -0.15776572, 0.041433014, 0.06852976, -0.32530108) * go_2(1.0, 1.0); - result += mat4(-0.018681401, 0.07524977, -0.09961975, -0.025000824, -0.14728728, 0.17958179, 0.05077947, 0.09839162, -0.24664684, 0.2350485, 0.043190528, 0.123329654, 0.031106282, -0.024857467, 0.026871338, 0.03363785) * go_3(-1.0, -1.0); - result += mat4(0.090937026, 0.113483965, 0.10115868, 0.09630846, 0.040868916, -0.14394417, 0.13920946, -0.09652194, -0.21267591, 0.079470165, 0.35935298, -0.029055713, 0.0462934, 0.02001686, 0.01959559, 0.0067710667) * go_3(-1.0, 0.0); - result += mat4(0.025194263, 0.087321565, -0.008157793, -0.12381555, 0.07437093, -0.024633797, -0.13163073, 0.053631987, -0.16161191, -0.33736497, -0.16600001, -0.16064753, -0.01877911, 0.006173125, -0.21867354, -0.11551306) * go_3(-1.0, 1.0); - result += mat4(0.016227739, 0.041133694, 0.12241288, 0.1840938, 0.16001828, -0.07284954, -0.0840258, 0.10275262, 0.059712093, 0.18617383, -0.004344732, 0.04759032, -0.112888224, 0.025455667, 0.06032809, -0.24498977) * go_3(0.0, -1.0); - result += mat4(0.07140021, 0.24720372, -0.12715518, 0.13462298, 0.07784012, 0.04233614, 0.030195842, -0.095302135, 0.1719011, -0.16173883, 0.082427144, -0.03078554, -0.115330435, 0.2787821, -0.15274885, -0.016630588) * go_3(0.0, 0.0); - result += mat4(0.08701172, 0.021434337, -0.15877618, 0.22535062, 0.014872742, -0.0068805423, -0.051181257, -0.38192979, 0.20793833, -0.2901109, -0.057449028, -0.044476006, -0.08431449, -0.05297424, -0.05526057, -0.06096434) * go_3(0.0, 1.0); - result += mat4(0.12446916, -0.010789559, 0.18910398, -0.14184885, -0.040306002, 0.062063884, 0.14885572, 0.0050085005, 0.07284438, 0.03938155, 0.27486423, -0.079940364, -0.10640366, -0.11455711, 0.018501248, -0.05743762) * go_3(1.0, -1.0); - result += mat4(0.26359692, 0.014875724, 0.043625355, 0.0974379, 0.09281598, 0.2449208, -0.07954478, -0.20232148, 0.025533125, -0.29744807, 0.1810463, -0.09866862, -0.16949633, -0.097010635, 0.04885873, 0.08639066) * go_3(1.0, 0.0); - result += mat4(0.10937537, 0.024320884, -0.084123306, 0.045726787, 0.08169718, 0.038608517, 0.2250605, -0.031330425, -0.008280292, -0.026776202, -0.14776887, 0.3436263, -0.16302314, -0.15479733, -0.10982676, 0.12014077) * go_3(1.0, 1.0); - result += vec4(0.046519246, -0.00879819, -0.044789877, -0.07887647); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10340159, 0.03126175, 0.008010763, -0.014703102, 0.06388945, 0.08303292, -0.052860666, 0.1492984, 0.06422952, -0.029731093, -0.021047806, 0.0012385565, 0.025289888, 0.08642119, 0.06883434, 0.023763692) * go_0(-1.0, -1.0); - result += mat4(0.0748618, -0.048646145, 0.07845818, -0.24385995, 0.077536225, -0.29863936, 0.24418406, 0.07232939, -0.0054087904, 0.05985848, -0.017639449, 0.12629768, 0.108363576, 0.09904134, -0.00050070864, -0.11790627) * go_0(-1.0, 0.0); - result += mat4(0.05239057, 0.15894121, -0.07164557, -0.32539955, 0.046355467, -0.1368222, 0.10285978, 0.0981996, 0.04779384, -0.19793929, 0.06193576, -0.061980426, 0.12222037, 0.06162786, 0.12215435, 0.045095358) * go_0(-1.0, 1.0); - result += mat4(0.11633697, -0.07783625, 0.038284954, -0.1077604, 0.050120354, -0.039917693, -0.05126379, 0.020723915, 0.06922371, 0.07441101, 0.04355437, -0.0009652994, -0.040668465, 0.11270888, -0.056610428, 0.018002095) * go_0(0.0, -1.0); - result += mat4(0.1991713, -0.12291669, 0.007297408, -0.22448927, 0.0118651325, -0.15347931, -0.02881685, -0.13971193, -0.0597255, -0.056213673, -0.16497411, -0.087855674, -0.09711957, 0.19384801, -0.09268538, 0.0010212396) * go_0(0.0, 0.0); - result += mat4(0.13538352, 0.20081995, 0.05765413, 0.08507135, -0.11396954, -0.06537804, 0.1840262, 0.13141033, 0.07317906, 0.053597126, 0.14733106, -0.027857138, -0.008961551, -0.030892484, -0.10815004, 0.07787356) * go_0(0.0, 1.0); - result += mat4(0.14028777, 0.20683727, -0.1973804, -0.14879352, 0.08193435, 0.06776529, 0.15067616, -0.005689123, 0.091099024, -0.04523496, -0.025365459, 0.046144743, 0.073163316, -0.050716147, 0.03645591, 0.08450625) * go_0(1.0, -1.0); - result += mat4(0.05377605, 0.29956514, -0.05203467, -0.12395672, -0.07375765, 0.07590657, -0.1648796, 0.016921869, -0.15838358, -0.18164106, 0.048942942, 0.08723644, -0.05655316, 0.06374977, 0.03486325, -0.17268877) * go_0(1.0, 0.0); - result += mat4(0.067100935, 0.116894506, -0.12316177, -0.28647798, 0.15253417, -0.043991808, -0.07732363, 0.12502535, 0.027790325, -0.13292582, 0.06508008, 0.033653572, 0.100093335, 0.044676002, 0.1450233, 0.108926095) * go_0(1.0, 1.0); - result += mat4(-0.25443476, 0.0075249635, 0.09893316, 0.13884877, -0.009865199, 0.028503535, 0.04932893, -0.021844162, 0.09569463, 0.042022802, -0.0056093778, -0.044183288, 0.012850613, 0.08729362, 0.088493116, -0.035626948) * go_1(-1.0, -1.0); - result += mat4(-0.28942817, -0.2278143, -0.124107786, 0.18914355, -0.13334653, -0.061389446, 0.09170535, 0.1529043, 0.070113055, 0.052939575, -0.027512128, 0.043993592, 0.058714498, 0.0618404, 0.07549026, 0.27376285) * go_1(-1.0, 0.0); - result += mat4(-0.17169511, 0.18338326, 0.09645834, -0.19721629, -0.062608786, -0.06097738, -0.052246977, 0.11313908, -0.002827855, -0.08297087, 0.2045053, 0.027751451, 0.05598507, 0.08318512, -0.020142859, -0.07377832) * go_1(-1.0, 1.0); - result += mat4(0.024627045, -0.065384455, -0.04648491, -0.32704023, -0.16444866, -0.0068647224, -0.20919928, -0.18135908, 0.05522183, -0.12074867, 0.04628794, 0.025948782, 0.058282085, 0.16593929, -0.1396821, -0.36740735) * go_1(0.0, -1.0); - result += mat4(0.16715747, -0.03793736, 0.08576081, 0.23338848, 0.051240716, 0.090182334, -0.046501555, -0.0894777, -0.06944291, -0.05119481, -0.15820025, -0.17854515, 0.3914519, -0.0677236, 0.076883785, -0.16959) * go_1(0.0, 0.0); - result += mat4(-0.16410258, 0.11443157, 0.048126943, 0.17386216, -0.09785154, 0.14995028, 0.093302995, 0.09777354, 0.016656177, -0.16498508, -0.16739717, 0.11313578, 0.001371565, -0.031823646, -0.02444281, 0.13747996) * go_1(0.0, 1.0); - result += mat4(0.023110714, -0.04154956, -0.030491728, -0.4158937, -0.007988987, 0.0035799788, 0.16974539, -0.014700064, -0.017114861, -0.018651277, 0.00242705, -0.011389802, -0.17292719, -0.03441201, 0.057909735, 0.17829509) * go_1(1.0, -1.0); - result += mat4(0.014969421, 0.21926679, 0.14203273, -0.15120554, -0.094369836, 0.083293505, -0.080706924, 0.16517772, -0.053518526, 0.11042086, 0.02499214, -0.05298825, -0.017418144, -0.024013298, -0.07151083, -0.22398451) * go_1(1.0, 0.0); - result += mat4(0.052312143, -0.09576563, -0.073171586, 0.13949135, -0.019157652, -0.019879084, 0.083495006, -0.14749153, 0.05605271, -0.07413262, -0.09352249, 0.0042679785, -0.069604576, -0.16840592, 0.103903025, 0.2889917) * go_1(1.0, 1.0); - result += mat4(0.059331086, -0.033961378, 0.0041064387, -0.08705166, 0.051230803, -0.018020583, -0.12681223, -0.23725896, 0.059449084, -0.052372735, -0.05540911, 0.10343921, 0.024327401, 0.012832041, -0.022239655, -0.13162766) * go_2(-1.0, -1.0); - result += mat4(-0.00208763, 0.06829585, -0.050976753, -0.05621949, -0.005976271, 0.009429676, -0.04865572, -0.09551031, -0.075597085, -0.026020885, 0.03421109, -0.1937313, -0.22840965, -0.15389588, -0.111958645, 0.10905485) * go_2(-1.0, 0.0); - result += mat4(0.081813, -0.065287165, -0.045189142, -0.047831066, 0.08934535, 0.09954615, -0.07451004, 0.033529207, 0.1303318, -0.08212296, -0.07734046, -0.014592582, -0.3092255, 0.045021445, -0.1223635, -0.026269957) * go_2(-1.0, 1.0); - result += mat4(-0.113570146, 0.036414642, 0.015502351, 0.15432163, 0.008468439, -0.029858474, 0.03321966, -0.14513937, 0.105439186, 0.17247854, -0.040744863, -0.054444846, -0.121361785, 0.04879374, -0.23203504, 0.0054753935) * go_2(0.0, -1.0); - result += mat4(-0.015762426, 0.27844664, -0.023570599, 0.004403549, 0.04703402, 0.11293326, -0.22021124, -0.022294452, 0.0109151825, 0.051353704, 0.01387703, -0.25460902, -0.1720017, -0.41253135, 0.13271171, 0.24472673) * go_2(0.0, 0.0); - result += mat4(-0.06729634, -0.08928969, 0.044666067, -0.080033734, -0.010024118, 0.09617992, -0.03422752, -0.24341615, 0.0026236945, -0.17291804, -0.18756893, -0.011092629, -0.0758896, -0.11379615, 0.2614097, 0.2968493) * go_2(0.0, 1.0); - result += mat4(0.037218813, -0.08741755, -0.047161646, -0.075184174, 0.07814149, -0.117306635, 0.27880162, -0.20831196, 0.11074332, 0.007141896, -0.061060436, -0.07465655, -0.06771369, 0.08425538, -0.13826483, 0.1951752) * go_2(1.0, -1.0); - result += mat4(-0.09369145, 0.05128452, -0.0045741517, -0.08464627, 0.072324485, -0.103766605, 0.04346825, -0.084247194, 0.18332602, 0.24476874, -0.23600607, -0.105699316, 0.0018734589, -0.22071646, 0.2122217, -0.1247409) * go_2(1.0, 0.0); - result += mat4(0.024415143, -0.1883563, -0.08757719, 0.038815416, 0.06804177, 0.072834484, 0.062976, -0.043060035, 0.008934872, -0.065206386, -0.02180933, 0.18650985, 0.15305461, -0.043311838, -0.13565755, -0.15254296) * go_2(1.0, 1.0); - result += mat4(0.027255, 0.13145106, 0.08066033, 0.05240541, -0.093578346, -0.043811, -0.03499714, 0.08510107, -0.01451532, 0.20293784, -0.15014489, 0.010262514, -0.05686128, -0.032981467, 0.009303513, -0.14119668) * go_3(-1.0, -1.0); - result += mat4(0.056040764, 0.1030456, 0.19483311, -0.035117295, -0.045012027, 0.036512565, -0.073540024, 0.07976307, 0.048326198, -0.08448881, 0.009611186, 0.21209192, 0.058837466, 0.21072935, -0.18430287, -0.022488063) * go_3(-1.0, 0.0); - result += mat4(-0.047507305, -0.0024985473, 0.16436942, 0.11034998, -0.07350365, -0.04659239, 0.055649634, -0.24239732, 0.0874119, 0.0491421, -0.20165893, -0.16950199, -0.06907221, -0.02995977, -0.076965876, -0.019354858) * go_3(-1.0, 1.0); - result += mat4(0.16029131, 0.13571973, -0.0066582616, -0.12420045, 0.09299235, 0.10025083, 0.17720564, 0.09894699, 0.25251085, -0.06967862, 0.09031549, 0.014147361, 0.10027847, -0.1572137, 0.075934134, 0.041270934) * go_3(0.0, -1.0); - result += mat4(-0.05063072, -0.049268696, -0.018284608, -0.13692653, -0.20619605, -0.3068155, 0.17608485, 0.09949, 0.28783736, -0.22305936, 0.12421118, 0.22138284, -0.14137621, -0.033278886, -0.08361161, -0.030769518) * go_3(0.0, 0.0); - result += mat4(0.108629055, 0.0015808924, 0.20601004, -0.026752226, -0.1501807, 0.029018851, 0.21033502, -0.027005566, 0.0030185424, 0.23096606, 0.03001235, -0.37719792, -0.015479773, 0.3498214, -0.25188166, -0.09796651) * go_3(0.0, 1.0); - result += mat4(-0.17263511, 0.09929037, -0.057462707, 0.03969186, -0.09580756, -0.02628204, -0.18671957, -0.114821374, -0.032703403, -0.04550097, -0.17387073, -0.06422339, 0.029069535, 0.077399485, -0.09688172, -0.04977373) * go_3(1.0, -1.0); - result += mat4(-0.08245095, 0.025046779, 0.15254857, -0.20083354, -0.21334353, 0.13298917, 0.019746812, 0.037977856, -0.18857501, 0.16555329, 0.08286123, -0.07782444, 0.01507326, 0.11679941, 0.029952176, 0.20679134) * go_3(1.0, 0.0); - result += mat4(-0.08486794, 0.010211643, 0.22983155, -0.16577461, -0.12877122, 0.0017102316, -0.079031415, -0.08309121, -0.062880024, 0.17439415, 0.2649001, -0.46177015, 0.08025148, -0.06425451, 0.028244738, -0.047507387) * go_3(1.0, 1.0); - result += vec4(-0.031883862, -0.0151373055, -0.026020631, 0.062551804); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-3x3x3x16 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE MAIN -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.012102164, 0.01385959, 0.018815203, 0.0, -0.017435113, -0.04530735, -0.051318135, 0.0, 0.01267727, 0.01400136, 0.017735276, 0.0, 0.012681183, 0.035241637, 0.03990959, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.16069227, 0.098007366, 0.076831706, 0.0, 0.081593364, 0.017831434, 0.010174303, 0.0, 0.014732323, 0.02229113, 0.029828338, 0.0, 0.0048171813, 0.051809076, 0.055740006, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.0347963, -0.014327445, -0.024176419, 0.0, 0.003463003, -0.050532356, -0.06565927, 0.0, 0.082851514, 0.10950989, 0.12022889, 0.0, -0.038950548, -0.015094648, -0.0119305095, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.11845135, -0.08067485, -0.06981454, 0.0, 0.00058037776, 0.01160575, 0.014900963, 0.0, -0.0374349, -0.052966926, -0.044557698, 0.0, 0.017439643, 0.005496974, -0.0024181441, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.1084345, -0.18271221, -0.18795776, 0.0, 0.110637866, 0.08913364, 0.09161146, 0.0, -0.19889367, -0.17172937, -0.1600661, 0.0, -0.03789556, -0.028977778, -0.029903485, 0.0) * go_0(0.0, 0.0); - result += mat4(0.017774954, -0.048732057, -0.061161697, 0.0, 0.022389695, -0.013317256, -0.019972157, 0.0, 0.051979035, 0.08774837, 0.09633588, 0.0, -0.047462203, -0.033091765, -0.028352588, 0.0) * go_0(0.0, 1.0); - result += mat4(0.022178177, 0.05031684, 0.05802219, 0.0, -0.027539665, -0.020904189, -0.01800042, 0.0, 0.0019531948, 0.00019749763, -0.0013961957, 0.0, 0.024253767, -0.00058503833, 0.0006474611, 0.0) * go_0(1.0, -1.0); - result += mat4(0.06707921, 0.0817431, 0.07561426, 0.0, -0.04157211, -0.006174012, -0.003754037, 0.0, 0.0031168605, 0.02320992, 0.026471246, 0.0, 0.0029530525, -0.004939263, -0.0070194793, 0.0) * go_0(1.0, 0.0); - result += mat4(0.03383418, 0.042321067, 0.04266926, 0.0, -0.043634403, -0.0182769, -0.011314871, 0.0, -0.050008457, -0.003527757, 0.0035165092, 0.0, -0.00016610099, 0.019936454, 0.022199173, 0.0) * go_0(1.0, 1.0); - result += mat4(-0.055203374, -0.03910439, -0.03778927, 0.0, 0.027640847, 0.019469904, 0.0277834, 0.0, -0.026225597, 0.04481541, 0.047454204, 0.0, 0.031545334, 0.019874612, 0.011878432, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.016088601, -0.045959134, -0.048793618, 0.0, -0.009834776, 0.0077799167, 0.00873151, 0.0, 0.031265914, 0.09698676, 0.10005417, 0.0, 0.039120086, 0.0005542848, -0.0049420255, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.028432969, -0.014792921, -0.026881924, 0.0, -0.00586326, 0.013427183, 0.018215714, 0.0, -0.013559131, 0.017704675, 0.024854776, 0.0, -0.09087544, -0.104627624, -0.0921747, 0.0) * go_1(-1.0, 1.0); - result += mat4(-0.022899037, 0.026374351, 0.03145993, 0.0, -0.008008749, -0.0013132087, -0.003957525, 0.0, -0.02490554, 0.0020362549, 0.006453752, 0.0, 0.031494617, 0.049864545, 0.04702567, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.12318068, -0.121377476, -0.11615006, 0.0, -0.1321696, -0.078085914, -0.07868927, 0.0, -0.072339885, 0.0012095685, 0.010923645, 0.0, 0.10844834, 0.10038668, 0.09919817, 0.0) * go_1(0.0, 0.0); - result += mat4(0.058991943, 0.018824834, 0.01659209, 0.0, -0.041878223, 0.013176531, 0.023566704, 0.0, -0.010507848, 0.02042605, 0.028884022, 0.0, -0.1193022, -0.10676289, -0.096668206, 0.0) * go_1(0.0, 1.0); - result += mat4(0.023510003, 0.06057355, 0.052194174, 0.0, 0.02304783, 0.031745855, 0.025863871, 0.0, -0.01060811, -0.043136407, -0.03569961, 0.0, -0.022243036, 0.014206766, 0.0032128936, 0.0) * go_1(1.0, -1.0); - result += mat4(0.025120225, 0.07386707, 0.07916389, 0.0, -0.020202598, 0.010854587, 0.009825397, 0.0, -0.043466344, -0.049230598, -0.038344223, 0.0, 0.006438127, 0.041072655, 0.036958262, 0.0) * go_1(1.0, 0.0); - result += mat4(0.027640026, 0.04239058, 0.055017423, 0.0, -0.002110394, 0.040088017, 0.045239322, 0.0, -0.020238828, -0.01711292, -0.014726791, 0.0, -0.029621653, -0.007380026, -0.002073584, 0.0) * go_1(1.0, 1.0); - result += mat4(0.008071638, 0.0034274645, -0.0016181463, 0.0, 0.044838928, 0.06936641, 0.072150804, 0.0, 0.0006324625, -0.02223834, -0.021122342, 0.0, 0.043963037, 0.047561962, 0.026419055, 0.0) * go_2(-1.0, -1.0); - result += mat4(-0.06605246, -0.011649812, -0.0022502556, 0.0, -0.09256232, -0.06281528, -0.055003755, 0.0, 0.032296494, -0.011113339, -0.015790787, 0.0, 0.05214882, 0.022887057, 0.013746634, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.03587372, 0.018986767, 0.03229596, 0.0, 0.008917248, 0.050303612, 0.06147115, 0.0, 0.01872278, -0.011048741, -0.017369485, 0.0, 0.030770298, 0.0063107815, 0.003187433, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.087662674, 0.048391398, 0.042332277, 0.0, 0.0043635606, 0.02438183, 0.020213395, 0.0, -0.023863237, -0.0051179314, -0.0060627074, 0.0, 0.06292237, 0.05821987, 0.051667042, 0.0) * go_2(0.0, -1.0); - result += mat4(-0.048478693, 0.008368922, 0.016874269, 0.0, -0.19261299, -0.1848583, -0.18258469, 0.0, 0.112302095, 0.061518673, 0.058282077, 0.0, 0.024626324, 0.0058449907, 0.006936535, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.04468695, 0.0099176075, 0.025094027, 0.0, 0.05447911, 0.08220857, 0.08161316, 0.0, -0.0007933787, -0.03090106, -0.040217776, 0.0, -0.028044306, -0.050590593, -0.05027328, 0.0) * go_2(0.0, 1.0); - result += mat4(0.029733973, -0.0129855955, -0.019776886, 0.0, 0.01860655, 0.017793713, 0.020113358, 0.0, -0.023667783, -0.0013290358, -0.004159268, 0.0, -0.01960303, -0.012806444, -0.016549494, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.00952229, -0.007181503, -0.0061082463, 0.0, 0.04292393, 0.01510459, 0.0062862537, 0.0, -0.016540393, -0.023619318, -0.02633423, 0.0, -0.06652295, -0.06933143, -0.063913494, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.015281855, -0.012470513, -0.008184894, 0.0, 0.045862548, 0.023707546, 0.014719574, 0.0, 0.032412887, -0.0038218168, -0.0065955487, 0.0, -0.027728679, -0.04009727, -0.018856067, 0.0) * go_2(1.0, 1.0); - result += mat4(0.042844415, 0.00673587, 0.0038338478, 0.0, -0.031152235, -0.06649269, -0.065986395, 0.0, 0.005666899, -0.015819343, -0.012795757, 0.0, -0.0007617308, 0.021531299, 0.026071105, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.118266046, -0.07211513, -0.058381762, 0.0, 0.02361942, 0.012819485, 0.010511434, 0.0, 0.077196896, 0.003424893, 0.001927401, 0.0, -0.03160996, -0.0034473129, -0.00444674, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.06548674, -0.018152835, 0.0034779215, 0.0, -0.006173449, 0.008357867, -0.0033986098, 0.0, 0.021622533, -0.03722321, -0.045832597, 0.0, -0.011835129, 0.0109178, 0.010480887, 0.0) * go_3(-1.0, 1.0); - result += mat4(0.041682176, -0.008985459, -0.018538723, 0.0, -0.054624356, -0.09495616, -0.090484254, 0.0, -0.0060466817, -0.017551763, -0.014151624, 0.0, -0.015683241, -0.012590141, -0.014278323, 0.0) * go_3(0.0, -1.0); - result += mat4(0.073194094, 0.055347454, 0.060976587, 0.0, 0.18175459, 0.13776664, 0.13139476, 0.0, 0.14047755, 0.061971992, 0.056503728, 0.0, 0.0068531767, -0.011873265, -0.016871026, 0.0) * go_3(0.0, 0.0); - result += mat4(-0.041848205, -0.009582, -0.0076929387, 0.0, 0.044274334, 0.04011985, 0.03085897, 0.0, 0.009403278, -0.03346772, -0.04463548, 0.0, 0.04548978, 0.014613167, 0.0055232802, 0.0) * go_3(0.0, 1.0); - result += mat4(0.019901669, -0.0011372451, -0.007423424, 0.0, -0.053240675, -0.07105105, -0.07122227, 0.0, -0.01892976, -0.019795185, -0.019204788, 0.0, 0.01228504, -0.005040437, -0.0010069044, 0.0) * go_3(1.0, -1.0); - result += mat4(0.032843515, 0.014947385, 0.007550199, 0.0, -0.0006476342, -0.020907652, -0.030297596, 0.0, -0.015617971, -0.029182931, -0.038677275, 0.0, 0.037908908, -0.018132487, -0.020226713, 0.0) * go_3(1.0, 0.0); - result += mat4(0.03232915, 0.02915194, 0.014929652, 0.0, 0.016676396, 0.004807404, -0.0008906752, 0.0, 0.0076904814, 0.00541351, -0.0048240838, 0.0, 0.03459369, -0.012969539, -0.024712864, 0.0) * go_3(1.0, 1.0); - result += vec4(-0.0096404655, 0.0022038757, 0.0035988842, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl deleted file mode 100644 index 293c4d0..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl +++ /dev/null @@ -1,275 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.09991986, 0.13782342, -0.031251684, -0.06356843, -0.3437488, 0.05450952, 0.34347802, 0.46335372, 0.08607224, 0.044988394, 0.137179, 0.17976908, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.024212424, -0.09278509, -0.00040907756, 0.34552294, -0.13254678, 0.113105185, 0.005667946, -0.00036919137, -0.06375679, 0.009184115, 0.115518734, -0.115506776, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.14101827, 0.023523493, 0.044094566, -0.019271746, -0.44348842, -0.08818877, -0.4026149, -0.21995795, -0.15880394, -0.013732858, -0.020751135, 0.012719151, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.013001821, -0.34503505, 0.39219138, 0.18792126, 0.24760444, -0.016173402, 0.10154511, 0.15453082, -0.058132876, 0.016784398, -0.05808539, -0.11039915, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.37024534, 0.041440863, -0.3374568, -0.44994286, 0.19555596, 0.20855539, -0.27974075, -0.5372628, 0.21228147, -0.0295346, -0.56700057, 0.030042822, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.12940632, 0.057526, 0.090682045, -0.06985033, -0.13704006, -0.047685407, 0.44615674, -0.48056605, -0.06166251, -0.01883519, 0.2032237, -0.113287605, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.010856669, -0.35820737, 0.16757219, 0.082619876, -0.03967303, 0.038705572, 0.32652855, -0.012030017, 0.015120559, -0.15314877, 0.23442009, 0.09767922, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.046272673, -0.17752305, 0.082018286, -0.2512824, 0.58619463, -0.060903464, -0.022793597, 0.077803515, -0.17025311, 0.05136993, 0.029383298, -0.15475409, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.11212024, 0.13378005, -0.2027488, 0.08056421, -0.11176219, -0.048429377, -0.08396386, 0.10507829, 0.13326839, 0.0430627, 0.051362377, 0.06482755, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.061233472, 0.39222646, 0.029704979, 0.02586828); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.16410656, -0.40521824, 0.13121907, -0.02314597, 0.105412476, -0.060401272, -0.043063477, -0.13933973, 0.12558138, -0.020861467, 0.030370515, 0.13178016, -0.14220351, 0.20736893, 0.003321564, -0.29241714) * go_0(-1.0, -1.0); - result += mat4(0.18517321, 0.29162985, -0.26783395, 0.039760686, 0.025527012, -0.067319244, 0.055004176, 0.048916563, 0.12750523, -0.091435954, 0.13818842, 0.36704224, 0.0839921, 0.10186618, -0.17237376, 0.13282418) * go_0(-1.0, 0.0); - result += mat4(-0.1657887, 0.0131325135, -0.17222486, 0.091398895, -0.12756164, -0.08437298, -0.29052997, 0.3269337, 0.15870757, -0.013529402, -0.0581753, 0.11802371, 0.07099966, -0.024063632, 0.31834844, -0.11183859) * go_0(-1.0, 1.0); - result += mat4(0.46036887, -0.07654623, 0.22923063, 0.17463821, 0.10555414, -0.117430426, 0.12406777, -0.011399492, 0.028316498, 0.13684341, 0.009664087, 0.2022659, 0.04953974, -0.31342217, -0.6103131, -0.13605757) * go_0(0.0, -1.0); - result += mat4(0.03406955, -0.39819366, 0.61176, -0.46809456, -0.029321073, 0.46619493, 0.36700186, 0.02288561, 0.11464085, -0.10931452, -0.09154022, 0.07334147, -0.5609916, 0.31826234, -0.011012659, -0.46719545) * go_0(0.0, 0.0); - result += mat4(-0.056855045, 0.27037027, -0.09269696, -0.563572, -0.06816116, -0.22986612, 0.08693167, -0.16246101, 0.09954046, -0.05374176, 0.0071916827, -0.1788692, 0.3825241, -0.1609887, 0.055204768, 0.10213068) * go_0(0.0, 1.0); - result += mat4(0.0646626, 0.102358796, -0.45055822, 0.20557903, -0.23337309, 0.12633002, -0.19299199, -0.15085731, -0.13473304, 0.053790465, -0.10061193, -0.13393497, -0.04264752, -0.029740738, -0.07865285, 0.20883279) * go_0(1.0, -1.0); - result += mat4(0.010471527, -0.033218473, -0.46157447, 0.004866583, 0.23226471, -0.059343327, -0.1439596, 0.13619648, 0.013839963, 0.15930325, 0.043742355, 0.17467323, 0.33772305, 0.40261495, -0.08351293, 0.18129359) * go_0(1.0, 0.0); - result += mat4(-0.12493434, -0.1875134, -0.074943796, -0.0031701606, -0.037142616, 0.1667002, 0.16665547, -0.011248127, 0.0071619414, 0.0034872112, 0.120318964, -0.09625579, 0.14917047, -0.16310586, 0.07231737, 0.30447328) * go_0(1.0, 1.0); - result += mat4(0.093798615, 0.17074613, -0.08780678, -0.012520207, 0.118534856, 0.027508778, -0.2778478, -0.19509242, -0.34137097, 0.32000312, -0.22027159, 0.337515, 0.16220862, 0.108993016, 0.14070526, 0.12784284) * go_1(-1.0, -1.0); - result += mat4(-0.14325632, -0.1467453, -0.27502358, 0.09370837, 0.11821083, -0.012266484, -0.2100548, 0.4707502, -0.06766648, 0.58165014, -0.2512279, -0.33783755, 0.1318925, -0.04346277, 0.15454485, 0.044500057) * go_1(-1.0, 0.0); - result += mat4(-0.05683207, 0.0051946463, -0.108000524, 0.10133204, -0.50763863, 0.007308442, 0.8542404, 0.28387356, 0.022709515, 0.294523, -0.3822472, 0.66166407, 0.01404485, 0.031282708, -0.26756814, -0.123147786) * go_1(-1.0, 1.0); - result += mat4(-0.36455178, 0.3470555, -0.045303088, -0.03170764, -0.15802494, -0.0019141496, -0.25939587, -0.23875342, 0.130428, 0.03954273, -0.17985536, 0.105145946, 0.15804817, 0.12551713, 0.28371975, -0.085748516) * go_1(0.0, -1.0); - result += mat4(0.0060625463, 0.2443924, -0.017692259, -0.20214005, -0.09584515, -0.012805372, -0.13942227, 0.16143198, 0.12942013, 0.41785547, 0.046071563, 0.7030026, 0.10499644, -0.20566013, -0.031321276, 0.27830327) * go_1(0.0, 0.0); - result += mat4(-0.081274964, -0.14562319, 0.27200526, -0.20491314, 0.012910989, 0.024201397, 0.04816258, 0.21297328, -0.22015952, -0.44160756, -0.056035373, 0.33824417, -0.31645304, 0.15469243, 0.053187452, -0.20989445) * go_1(0.0, 1.0); - result += mat4(-0.046550367, 0.033185404, 0.33337244, 0.12853645, 0.23520172, -0.05909214, 0.0861368, 0.10706329, -0.07058717, -0.11759937, -0.18594047, 0.080006264, -0.055425353, -0.12506317, 0.15729053, -0.0915004) * go_1(1.0, -1.0); - result += mat4(0.042516407, 0.14844789, 0.16533111, 0.13502933, -0.0655417, -0.057256397, 0.076713726, -0.23448966, 0.12855926, 0.014219275, 0.051761385, 0.053433083, -0.2446715, -0.4008074, 0.19603717, -0.1796951) * go_1(1.0, 0.0); - result += mat4(0.14777803, 0.15524907, 0.043158617, -0.06996876, 0.19210646, -0.2144364, -0.47020787, -0.4207906, -0.18074386, -0.2163903, 0.0030754965, 0.36799973, -0.3837698, -0.0022661497, -0.37276733, -0.28934997) * go_1(1.0, 1.0); - result += vec4(-0.018297346, -0.080951825, -0.062163066, -0.08050014); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.31543177, 0.23095237, -0.06692611, -0.5867763, 0.003622504, 0.17948842, -0.14627707, 0.1745016, -0.052964583, -0.15551159, 0.05644786, -0.012665164, 0.13107763, 0.11369179, -0.09452995, -0.11973403) * go_0(-1.0, -1.0); - result += mat4(-0.2694661, -0.115382135, 0.3073268, -0.067228466, -0.25511482, -0.13922207, 0.36758214, -0.18821828, -0.022617863, 0.20333402, -0.11125889, 0.3552245, -0.013346653, -0.099095374, -0.25100616, 0.35521755) * go_0(-1.0, 0.0); - result += mat4(0.011012409, -0.13675085, 0.25642, -0.34851208, -0.23184675, 0.18012202, 0.57654136, 0.103173524, -0.16461405, 0.038177088, 0.1234096, 0.013202029, -0.19033363, 0.07469178, -0.017948546, 0.15287702) * go_0(-1.0, 1.0); - result += mat4(-0.05340533, 0.23797482, 0.20351392, -0.05333351, -0.12181174, -0.23363493, -0.20696607, 0.109941036, -0.11519453, 0.13842066, -0.10687832, 0.29040006, 0.022218632, 0.031238724, 0.2685182, 0.15300068) * go_0(0.0, -1.0); - result += mat4(0.22985318, -0.3103802, -0.22916415, 0.25238806, -0.11690287, -0.1947488, 0.118020535, 0.07814263, -0.06335474, -0.007870727, 0.076106325, 0.094677486, -0.16776285, -0.006570437, -0.29589584, 0.41413507) * go_0(0.0, 0.0); - result += mat4(0.43607962, -0.36456433, -0.123776875, -0.16634953, -0.091190875, 0.13035081, 0.28627968, 0.27249968, 0.12356344, -0.008616177, 0.09599816, -0.006144557, -0.23490307, 0.3013123, 0.14153156, 0.21837278) * go_0(0.0, 1.0); - result += mat4(0.060364585, 0.37860224, 0.039182413, -0.22805426, -0.089910224, -0.06817697, -0.2684275, -0.12528503, 0.036934495, -0.07826616, 0.06559976, -0.08253646, 0.13489649, 0.06237663, 0.126376, 0.21194184) * go_0(1.0, -1.0); - result += mat4(-0.12534817, 0.21225189, -0.27818045, -0.3070443, -0.006957577, -0.025105853, 0.12100924, -0.06916452, 0.23081483, 0.1802756, -0.18995638, 0.16603014, -0.2904096, -0.25292823, -0.21834068, 0.13719653) * go_0(1.0, 0.0); - result += mat4(0.017209655, 0.10757137, 0.21414296, -0.30885983, 0.10467716, -0.2184891, 0.100061476, -0.1527528, 0.2100472, -0.25768545, -0.22329919, -0.29153427, -0.06983842, -0.103854865, -0.051384352, 0.14629121) * go_0(1.0, 1.0); - result += mat4(0.0059623295, -0.26060802, 0.32115817, 0.021025505, 0.09783085, -0.15865178, 0.1473021, -0.24977303, -0.033508282, 0.17480391, -0.091310136, 0.09870876, 0.10504043, -0.06105686, 0.013493489, -0.11278855) * go_1(-1.0, -1.0); - result += mat4(0.14875248, -0.14859414, 0.19377062, -0.17456068, 0.101288855, -0.1113682, -0.48944646, 0.1018565, -0.037392337, 0.08539691, 0.1751306, -0.15428723, -0.059375558, 0.027663672, 0.051804014, -0.049813222) * go_1(-1.0, 0.0); - result += mat4(0.118846565, -0.19869871, -0.037388258, 0.08456728, -0.11662527, -0.43818352, -0.093285345, 0.038507205, -0.051991668, 0.21008292, 0.10792365, 0.2020924, 0.057021596, 0.09460527, 0.0016551288, -0.0015957063) * go_1(-1.0, 1.0); - result += mat4(0.11062174, -0.2639232, -0.060295466, -0.3217331, -0.050545212, 0.30989558, 0.30906132, 0.030323273, 0.028986752, 0.037429404, 0.20855664, -0.19848943, 0.034687653, -0.09599135, -0.06250494, -0.13215867) * go_1(0.0, -1.0); - result += mat4(-0.010391146, 0.07657845, 0.44491258, 0.0435906, 0.0075931503, 0.42632654, 0.47022533, 0.34737435, -0.15452717, -0.14613411, -0.45231065, 0.12094409, 0.0067911847, 0.057501152, 0.09876979, 0.044946447) * go_1(0.0, 0.0); - result += mat4(-0.15607435, 0.2293058, -0.09520331, 0.012836732, -0.15282455, 0.26437718, -0.1685477, -0.13211122, -0.055801593, -0.016778728, -0.34478986, -0.23228309, 0.12300962, -0.13235827, -0.13987203, -0.16550972) * go_1(0.0, 1.0); - result += mat4(0.13161735, -0.09039346, -0.033475474, -0.23686698, 0.1514885, 0.20977421, 0.031431954, -0.0049226107, 0.090661936, 0.15288061, -0.03316583, 0.09646573, -0.32651708, 0.18825398, -0.15777239, 0.17572704) * go_1(1.0, -1.0); - result += mat4(0.112157226, -0.08712878, 0.23453182, 0.1043877, -0.14686783, 0.28682423, -0.086443506, 0.059457052, -0.31530112, -0.2700583, -0.06028952, -0.070416875, 0.18053482, 0.16653341, 0.25215197, 0.061915852) * go_1(1.0, 0.0); - result += mat4(-0.20122242, 0.076313145, -0.0988483, 0.094337784, -0.35436687, 0.3762327, -0.07809558, 0.3055848, 0.10425242, -0.17087407, 0.030301496, -0.13911743, 0.01630275, 0.24247427, -0.006474477, 0.03842641) * go_1(1.0, 1.0); - result += vec4(-0.008952847, -0.0058945753, -0.08097229, 0.020968592); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2237721, -0.0064096362, -0.31808427, 0.73477733, 0.015353088, 0.23983319, 0.14967978, -0.34920225, -0.07456269, 0.093151815, -0.14331086, -0.24586205, -0.14183366, 0.06401045, -0.22044073, 0.29932275) * go_0(-1.0, -1.0); - result += mat4(-0.07968509, -0.3349146, 0.16529128, 0.08443499, 0.4095855, -0.17120704, 0.17425705, 0.15298946, 0.2981273, 0.2212369, 0.10392389, -0.28775454, -0.065247655, -0.15255849, 0.13094437, 0.18685219) * go_0(-1.0, 0.0); - result += mat4(0.015706737, -0.17755036, 0.2622526, 0.112057306, -0.15876788, -0.38466996, -0.33700845, -0.031711742, -0.023320962, -0.3145249, -0.21223734, -0.1314596, -0.1888095, -0.046370104, 0.09000896, -0.0046378844) * go_0(-1.0, 1.0); - result += mat4(-0.31127506, 0.31304324, -0.03965752, 0.03649018, -0.029851055, 0.05801377, 0.00040150844, -0.04422069, 0.18019931, 0.14415511, -0.09845236, 0.21895434, -0.013932474, -0.046454947, -0.3403935, -0.006705289) * go_0(0.0, -1.0); - result += mat4(-0.34878647, -0.5129283, 0.060250953, -0.16354133, 0.20644619, 0.08732273, -0.24118888, 0.24455065, 0.24449423, 0.44103387, 0.22455928, 0.25738943, -0.26914698, -0.21309987, 0.08386486, 0.021484816) * go_0(0.0, 0.0); - result += mat4(-0.057454903, -0.4121922, 0.022661546, 0.37178272, 0.03331408, 0.05044008, 0.04324371, 0.20727943, 0.2432641, 0.076906696, -0.20858039, 0.012439015, -0.19335061, 0.09217451, 0.1968369, -0.19435833) * go_0(0.0, 1.0); - result += mat4(-0.16960496, 0.24616167, 0.37977478, 0.14324574, -0.011531225, -0.11312143, -0.18141079, -0.23843932, 0.0086012175, -0.3564491, -0.12639481, 0.009799298, -0.29120612, 0.23756824, 0.18035695, -0.087133996) * go_0(1.0, -1.0); - result += mat4(-0.10081239, 0.29191494, 0.10434693, 0.08970636, 0.008997759, 0.104756236, 0.039641086, 0.02323888, -0.11627765, 0.023693223, -0.30801758, -0.120208986, 0.05086147, 0.18498175, 0.15595439, -0.09877306) * go_0(1.0, 0.0); - result += mat4(0.101321675, -0.2929976, 0.38810417, 0.5605376, -0.04073937, 0.030110704, -0.18147062, -0.09833952, 0.01927733, 0.15335669, -0.15384074, -0.110595055, -0.054297395, -0.077522054, 0.07918369, -0.068480626) * go_0(1.0, 1.0); - result += mat4(0.23263514, -0.11719232, 0.2903209, -0.007503795, -0.020222448, -0.17790157, -0.15600762, -0.08741775, 0.12529704, 0.25548857, -0.04585447, -0.10255033, 0.18350503, -0.29593533, 0.0868933, 0.027004737) * go_1(-1.0, -1.0); - result += mat4(-0.14958654, -0.006238835, -0.2928948, 0.1988557, -0.17057803, 0.12524141, 0.13978264, -0.019280292, 0.05967142, -0.07790818, -0.5893818, -0.022845713, -0.08596779, 0.07875358, -0.03316667, -0.4369282) * go_1(-1.0, 0.0); - result += mat4(0.19195688, -0.060883682, -0.25897828, 0.07063324, 0.090833396, 0.003422883, 0.109534174, 0.031180874, -0.05017118, 0.022862168, -0.270113, -0.057831235, 0.53920543, -0.10252776, -0.091807485, 0.004294343) * go_1(-1.0, 1.0); - result += mat4(-0.18494242, -0.119284816, 0.3821897, 0.07777979, 0.15568028, -0.2854859, -0.22441281, -0.049155876, -0.15292497, 0.21895619, -0.095677756, 0.15210424, 0.001643022, -0.026176987, 0.048463076, -0.4824009) * go_1(0.0, -1.0); - result += mat4(0.007215129, 0.17074333, 0.053930074, -0.027014816, -0.17180431, -0.15163863, -0.0012122132, -0.18934256, -0.08294297, -0.24580221, -0.46552867, -0.27923223, 0.4092668, 0.06288688, -0.1602188, -0.0030876845) * go_1(0.0, 0.0); - result += mat4(0.111870885, 0.03317145, 0.14155298, 0.20328505, -0.05104131, 0.13979794, 0.018966835, -0.07238511, 0.05493792, -0.14975783, -0.10293237, -0.21985306, 0.49054706, 0.18288186, -0.26925826, 0.35845932) * go_1(0.0, 1.0); - result += mat4(0.3747799, -0.096748486, -0.17139742, 0.25289854, -0.17421168, -0.018461818, 0.09747162, 0.01660535, -0.20580359, 0.56189656, 0.17151354, -0.26347768, 0.28350568, -0.21486014, -0.44330928, -0.008981037) * go_1(1.0, -1.0); - result += mat4(0.10169985, -0.18244018, 0.04760736, 0.41017643, -0.09468786, -0.024218475, 0.103733875, -0.22540338, 0.10630112, 0.3677178, -0.104170956, 0.057317447, 0.21764882, 0.0789158, -0.22041337, 0.15065216) * go_1(1.0, 0.0); - result += mat4(0.11633995, -0.008195114, -0.14501533, 0.07168025, 0.058413275, 0.055995367, 0.09362145, -0.13827963, 0.13760869, 0.040319785, 0.038895044, 0.2675253, -0.087339684, 0.1412073, -0.17166458, -0.2312994) * go_1(1.0, 1.0); - result += vec4(-0.059377354, -0.02055341, 0.07234869, -0.015452986); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.29012984, -0.13150147, 0.31015614, 0.05992291, -0.050289866, 0.14845313, -0.09608898, 0.27913308, 0.060307387, -0.04160452, 0.035932682, -0.08137563, -0.07999419, 0.11818284, -0.27512288, 0.21948813) * go_0(-1.0, -1.0); - result += mat4(0.12916058, -0.21759962, -0.33868533, 0.021636661, 0.053470243, 0.1412425, 0.043395396, -0.26751056, -0.01689101, -0.2623835, 0.010809152, 0.062962815, -0.20692012, -0.1677863, -0.23313859, -0.17402615) * go_0(-1.0, 0.0); - result += mat4(-0.08204112, -0.23672083, -0.0064437394, -0.13200696, -0.056692924, -0.02708657, 0.12536962, 0.004428919, 0.14137582, 0.15404348, -0.105753876, 0.047957454, 0.15734316, 0.16562423, -0.010160829, -0.06602983) * go_0(-1.0, 1.0); - result += mat4(0.025653997, -0.10877775, -0.31258908, 0.18841636, -0.36005193, 0.1816357, -0.34537643, -0.0741087, 0.4663994, 0.0065186517, 0.08109033, 0.2976773, -0.35774228, -0.041366056, -0.37852773, 0.050565656) * go_0(0.0, -1.0); - result += mat4(0.04392313, 0.11316681, -0.14421389, 0.17985669, -0.1651274, -0.5656209, -0.124100484, 0.42774054, -0.1153939, 0.16829851, 0.2025612, 0.054007456, -0.06868256, -0.56935954, -0.12227961, 0.17688861) * go_0(0.0, 0.0); - result += mat4(0.34041, 0.499, 0.15234196, 0.21353458, -0.2732667, -0.049950935, 0.03550811, -0.21051687, 0.2609023, 0.016438454, -0.29874632, 0.37994128, 0.049288407, -0.31126305, 0.029235512, -0.012256015) * go_0(0.0, 1.0); - result += mat4(-0.0046853204, 0.15391374, -0.040689662, 0.20186873, -0.08137621, 0.35905558, 0.23733845, 0.21794793, -0.066420384, 0.029600656, -0.31421044, -0.050773863, -0.06260773, 0.04634221, -0.10948491, -0.045498934) * go_0(1.0, -1.0); - result += mat4(-0.082953, -0.025837064, -0.09928303, -0.14300232, 0.275064, 0.07793617, 0.22240888, 0.06637834, -0.4382666, -0.2932182, -0.27243167, -0.14221182, 0.5695728, 0.20719238, 0.5575927, 0.40816882) * go_0(1.0, 0.0); - result += mat4(-0.18510929, -0.15052167, 0.25277212, 0.06804461, 0.016387, 0.20310035, 0.2903229, -0.0615877, -0.28987274, -0.11942605, 0.013498961, 0.3184152, 0.29543474, -0.042830903, -0.018111207, -0.13263674) * go_0(1.0, 1.0); - result += mat4(0.25749087, 0.0053866603, -0.09391162, -0.06129529, -0.094091184, -0.07419633, 0.0013858611, 0.012000353, -0.062903, -0.0204224, -0.12113313, 0.017942557, -0.073379934, 0.052201986, 0.35864577, 0.023564404) * go_1(-1.0, -1.0); - result += mat4(0.100115694, 0.19451359, 0.23252094, 0.19506809, -0.12470779, 0.0027281935, -0.17488572, -0.018721964, -0.15159339, 0.18457152, 0.057712987, -0.08191495, 0.19735703, 0.07326743, -0.28563106, 0.01642815) * go_1(-1.0, 0.0); - result += mat4(0.068062514, 0.28356665, 0.07377898, 0.42776972, 0.28725025, -0.13045293, -0.17525704, -0.05885591, -0.16676305, -0.2555945, -0.10078422, -0.053032875, 0.084470876, 0.06460686, 0.13824362, -0.05231353) * go_1(-1.0, 1.0); - result += mat4(0.22637829, -0.028969254, 0.1968254, -0.13331996, 0.038017053, -0.008854481, -0.2031639, 0.09237089, -0.3821112, 0.1108527, -0.11029933, -0.24542028, 0.22416145, -0.031492114, -0.19144306, -0.0996271) * go_1(0.0, -1.0); - result += mat4(0.10776744, 0.16363445, 0.14656505, -0.3737814, -0.06642015, 0.5616549, -0.008412252, -0.37266847, 0.12506576, -0.15329036, 0.037538245, -0.10810259, 0.01706349, 0.1813702, 0.035651788, -0.012786579) * go_1(0.0, 0.0); - result += mat4(-0.4023338, -0.2098614, -0.18285121, -0.02727653, 0.26107362, 0.041306913, -0.036515504, -0.045217298, -0.39958602, -0.21229339, -0.021053292, -0.13427502, 0.36178818, 0.20934913, 0.1500852, 0.2634554) * go_1(0.0, 1.0); - result += mat4(0.07794611, -0.25937587, -0.06822529, -0.056336135, 0.094220124, 0.21588847, -0.0455218, -0.10968329, -0.08068449, -0.31366697, 0.07799637, 0.24252681, 0.23963861, 0.13715535, 0.010329345, 0.09094301) * go_1(1.0, -1.0); - result += mat4(-0.20975718, -0.12550138, 0.14453574, -0.0020878632, -0.07153068, 0.3249998, -0.056577377, 0.18166828, 0.37204072, 0.17018336, 0.3752895, 0.32178587, 0.2571982, -0.27258632, -0.25971004, -0.40536007) * go_1(1.0, 0.0); - result += mat4(-0.3243907, -0.06300621, -0.09398436, -0.19549188, 0.14906861, 0.061537784, -0.055284478, 0.11281728, 0.12964857, 0.09979093, -0.1810159, -0.4104283, 0.05807971, -0.056371246, 0.08072554, 0.18479007) * go_1(1.0, 1.0); - result += vec4(-0.048888464, -0.0561434, 0.030690912, -0.030496685); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.15332128, 0.027258258, 0.14900503, -0.15982795, 0.17021236, -0.51046044, -0.15287271, -0.058167327, 0.51826185, -0.34817994, 0.004513167, 0.05395769, 0.1990321, -0.049979225, 0.11391989, -0.16062729) * go_0(-1.0, -1.0); - result += mat4(0.033682905, 0.019728886, 0.19931756, 0.17381927, 0.2585768, -0.2124572, -0.014632459, 0.39779893, -0.1146207, -0.2396625, 0.08960277, 0.38345298, 0.25497693, 0.11692859, -0.14207517, 0.12667973) * go_0(-1.0, 0.0); - result += mat4(-0.14911255, 0.08910706, 0.16136818, 0.03914566, 0.24204038, -0.03607149, -0.4571109, 0.10802461, -0.0021356856, 0.00885878, 0.22297303, 0.2367231, 0.045177583, 0.11120606, -0.009971904, -0.059262395) * go_0(-1.0, 1.0); - result += mat4(0.24565999, -0.2261384, 0.47373205, 0.024613412, -0.10923052, 0.039027315, -0.42707404, -0.3783373, 0.3544573, -0.5468578, -0.27599156, -0.09455918, 0.18760219, -0.19082001, 0.030565469, 0.20589156) * go_0(0.0, -1.0); - result += mat4(0.1973198, -0.03433863, 0.059960485, 0.045642868, 0.1819595, -0.14460869, 0.1286175, 0.2067575, -0.042632047, -0.11842967, -0.11224446, -0.18764776, -0.19563004, 0.027425969, 0.24056377, 0.5949649) * go_0(0.0, 0.0); - result += mat4(0.055027682, 0.16331595, -0.2608588, 0.12545955, 0.4588985, 0.03642909, 0.22187738, 0.45190734, -0.001210133, -0.057651415, -0.061199043, 0.11935476, -0.049561135, 0.27509886, 0.13778673, -0.124914035) * go_0(0.0, 1.0); - result += mat4(-0.02257459, 0.27705106, 0.044165276, -0.26521233, 0.05982374, -0.2824302, 0.3171142, 0.08430561, -0.10155528, 0.16182268, -0.09183147, -0.19447176, 0.3295707, -0.50616395, -0.036964044, 0.23166709) * go_0(1.0, -1.0); - result += mat4(-0.0232342, 0.07299799, -0.18038079, -0.13672702, -0.108305976, 0.15024792, -0.19531927, 0.0870979, -0.26488534, 0.19481428, 0.10737945, -0.14573483, -0.33094683, 0.24155116, -0.09850332, 0.2797003) * go_0(1.0, 0.0); - result += mat4(-0.24089853, 0.19506595, 0.4799156, -0.058313113, 0.36212957, -0.44844806, 0.23864488, 0.15477742, -0.07795971, -0.0033861927, -0.11216164, 0.033454563, -0.25893036, 0.23793478, -0.15769425, -0.00033481256) * go_0(1.0, 1.0); - result += mat4(0.05772507, -0.1640253, -0.13499664, -0.20460358, -0.024399966, 0.14966168, -0.090857334, -0.039677754, 0.00036956606, -0.24236615, -0.053542696, -0.0049544116, 0.026651502, 0.39019194, -0.2742246, -0.061242323) * go_1(-1.0, -1.0); - result += mat4(-0.016323274, -0.036179908, 0.029965919, 0.11151491, -0.00016685206, -0.29573023, 0.17996423, -0.20145437, 0.1324275, -0.18442132, -0.24618152, 0.061780427, -0.02770517, 0.28452995, 0.39804098, -0.1174389) * go_1(-1.0, 0.0); - result += mat4(-0.025068847, -0.053328387, -0.27053785, 0.26866457, -0.09866204, 0.057677213, 0.01850112, -0.18014707, -0.13319959, -0.14411181, -0.26355243, -0.022209354, -0.05062645, -0.036771543, 0.13294417, -0.18458557) * go_1(-1.0, 1.0); - result += mat4(-0.046194963, 0.038230438, -0.08993043, -0.07236354, 0.11031123, -0.16504908, -0.09517036, -0.16459833, -0.5279925, 0.12686682, -0.05726125, 0.055361677, 0.31593755, 0.027328093, 0.001839602, 0.30581662) * go_1(0.0, -1.0); - result += mat4(0.08608678, 0.03168437, 0.007713377, -0.26140293, -0.1268983, 0.13395861, -0.069848835, -0.24080403, 0.018839337, -0.049821075, -0.21461345, -0.14168301, -0.0872339, 0.47096667, 0.022512507, 0.14860632) * go_1(0.0, 0.0); - result += mat4(0.06293673, 0.22462969, 0.045494985, 0.021673543, 0.18227446, -0.2956555, 0.08010543, -0.01919729, -0.012190269, 0.241983, -0.046537094, -0.40094566, -0.3853647, 0.1081711, -0.16926058, 0.16138376) * go_1(0.0, 1.0); - result += mat4(-0.14854589, -0.17625804, -0.10849075, 0.221543, 0.099971965, 0.13901573, 0.29464146, 0.020068526, 0.054358527, -0.10351705, -0.0062914286, 0.24127026, -0.16914125, 0.12729423, -0.18377453, -0.6452375) * go_1(1.0, -1.0); - result += mat4(0.12603393, -0.10986093, 0.2314103, 0.16915044, -0.13619255, -0.09349073, 0.20594226, -0.34507084, 0.19077192, 0.052500796, 0.07185645, 0.029082738, -0.015576321, 0.08254907, -0.5501743, -0.38495848) * go_1(1.0, 0.0); - result += mat4(0.09300796, -0.079218306, 0.46825135, -0.08735625, 0.06321122, 0.16234867, 0.042932414, -0.013057422, 0.09697148, 0.23457524, 0.19417483, -0.16804664, 0.18379296, 0.17770062, -0.050235, -0.059676602) * go_1(1.0, 1.0); - result += vec4(0.011169491, 0.032399546, 0.138099, 0.023857072); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.22753362, -0.08612073, 0.33140692, 0.08699529, -0.18788953, -0.056579117, -0.12905197, -0.06694621, 0.054559365, 0.15031597, -0.13430363, 0.021646025, 0.14884405, -0.0694291, 0.26149413, 0.11270503) * go_0(-1.0, -1.0); - result += mat4(0.17876762, -0.09637848, 0.11285323, 0.2004893, 0.1317187, -0.036162686, 0.17958368, -0.069625, 0.28760737, -0.12505141, 0.12760694, 0.047717955, -0.16811855, -0.16340709, 0.13278298, -0.08403954) * go_0(-1.0, 0.0); - result += mat4(-0.21917523, 0.079711854, -0.28642535, 0.2822416, 0.03001489, -0.014772918, -0.3487396, 0.10597145, -0.013841082, 0.17034237, 0.10810282, -0.08089695, -0.22184245, -0.59067357, 0.44113398, 0.13045649) * go_0(-1.0, 1.0); - result += mat4(-0.29906932, 0.013923749, 0.2031124, -0.11846688, -0.13953634, 0.08003455, -0.10164494, -0.21218559, 0.10563715, 0.31033117, -0.075903505, 0.047310907, -0.37824214, -0.14506383, 0.11866701, -0.21384487) * go_0(0.0, -1.0); - result += mat4(-0.1353849, 0.19258606, 0.063908584, -0.2043788, 0.27244982, 0.1665306, -0.29357895, -0.22441709, 0.18514316, -0.17840464, 0.20986097, 0.14351055, -0.057732623, 0.42166704, -0.23182064, -0.4957248) * go_0(0.0, 0.0); - result += mat4(-0.34830126, 0.109066755, -0.28285867, -0.048280068, -0.12290918, 0.04291651, -0.047484186, -0.03702595, 0.23047262, 0.09398974, 0.022467108, 0.08271034, 0.3066665, -0.54077, 0.057771873, 0.23194093) * go_0(0.0, 1.0); - result += mat4(-0.17731948, -0.3175927, 0.1452728, 0.09396786, -0.16433562, -0.01833653, -0.22345604, -0.04161193, -0.14827462, 0.18544114, -0.15544125, -0.06179007, 0.16989979, -0.20985202, 0.16391534, -0.09447268) * go_0(1.0, -1.0); - result += mat4(-0.053878862, -0.21034616, 0.023831524, 0.19772215, 0.31647214, 0.0126534775, -0.19130844, -0.049282108, -0.21446131, 0.067189045, 0.09117449, -0.25548774, 0.12109098, 0.22009392, -0.3924665, -0.13340388) * go_0(1.0, 0.0); - result += mat4(-0.16096684, -0.18495405, 0.10410178, 0.0015673033, -0.00183498, -0.044303037, -0.062745355, -0.090802394, 0.043269135, 0.06924481, -0.21367405, -0.14619029, 0.11555763, -0.20292862, 0.5799557, 0.14739846) * go_0(1.0, 1.0); - result += mat4(-0.21030277, -0.09578802, 0.013482288, -0.21484336, 0.12995781, 0.40431052, -0.3347856, -0.18183486, 0.15550353, -0.04402301, 0.4603779, 0.14874357, -0.07694621, -0.053523075, -0.19607326, -0.10850742) * go_1(-1.0, -1.0); - result += mat4(-0.2347211, 0.2697403, -0.0634794, -0.17925987, 0.17231455, 0.24999185, -0.5208536, -0.10491828, -0.233575, 0.52950364, 0.0038063182, -0.1380038, 0.022935199, 0.19369157, 0.14586553, 0.1938704) * go_1(-1.0, 0.0); - result += mat4(-0.10245223, 0.34150192, 0.25862157, -0.20165509, 0.5597771, 0.114510864, -0.122526556, -0.04010975, 0.1704679, -0.23335956, -0.16771887, -0.03783455, -0.056995615, 0.24153493, -0.08082429, -0.24210933) * go_1(-1.0, 1.0); - result += mat4(-0.103466526, 0.15278348, -0.30526164, -0.080755696, 0.103505425, 0.15862796, 0.14696524, -0.008358076, -0.09180311, -0.12505089, 0.28052542, -0.13551563, 0.07528779, -0.09636086, -0.10369617, 0.23656134) * go_1(0.0, -1.0); - result += mat4(-0.25752836, 0.099439755, -0.30716348, 0.035077725, 0.023509016, 0.23106368, 0.05277125, 0.34910464, 0.088015385, 0.26995596, 0.1390645, -0.40671825, 0.18096298, -0.100688554, 0.5492049, 0.2482101) * go_1(0.0, 0.0); - result += mat4(0.41411775, -0.107200556, -0.13813478, 0.13768874, 0.27137747, 0.06313619, -0.08522967, 0.03218302, -0.03166121, -0.3415683, -0.52242, -0.1741813, -0.36956537, 0.179129, -0.09742935, -0.11696616) * go_1(0.0, 1.0); - result += mat4(-0.07975504, 0.17964838, 0.37122533, 0.16064765, 0.14309953, 0.29473078, 0.0926391, -0.22333665, 0.34612748, -0.3387473, 0.0077308523, -0.07239449, 0.18522519, -0.21297298, 0.11493978, 0.16117814) * go_1(1.0, -1.0); - result += mat4(-0.17402779, 0.10023144, 0.11712206, 0.031971734, 0.18713303, 0.08736295, 0.013007052, -0.06943139, -0.20102951, -0.010721135, -0.2562522, 0.34877458, -0.13732676, -0.40258047, 0.25824392, 0.15720639) * go_1(1.0, 0.0); - result += mat4(0.044494305, 0.3296108, 0.0017603852, 0.09362289, 0.38839245, 0.40015858, -0.13395199, -0.044521853, -0.56266373, 0.251378, 0.5005789, -0.13106057, -0.18491416, -0.046887, 0.067797676, -0.14694957) * go_1(1.0, 1.0); - result += vec4(0.013687534, -0.08185164, -0.04755438, 0.290178); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-3x1x1x56 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_tf -//!BIND conv2d_1_tf -//!BIND conv2d_2_tf -//!BIND conv2d_3_tf -//!BIND conv2d_4_tf -//!BIND conv2d_5_tf -//!BIND conv2d_6_tf -//!SAVE MAIN -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08837163, -0.065234736, -0.034704313, 0.0, 0.021405501, 0.013663729, 0.019249594, 0.0, 0.05328863, 0.03580334, 0.046457592, 0.0, -0.12216048, 0.022547891, 0.016400825, 0.0) * g_0; - result += mat4(0.061996464, 0.05631466, 0.06808407, 0.0, -0.005013109, -0.0044589997, -0.032367796, 0.0, 0.016481603, 0.13721058, 0.14924648, 0.0, 0.020035887, -0.07250003, -0.08034037, 0.0) * g_1; - result += mat4(0.24078514, 0.081361525, 0.053420708, 0.0, -0.009353794, -0.051077116, -0.058007747, 0.0, -0.14071098, 0.01035966, 0.005308949, 0.0, -0.1489842, -0.06711817, -0.05552926, 0.0) * g_2; - result += mat4(-0.13002375, 0.012733757, 0.017821986, 0.0, 0.17767483, 0.20204604, 0.1751779, 0.0, 0.12804912, 0.07381453, 0.05655911, 0.0, 0.17044514, 0.07301451, 0.06523978, 0.0) * g_3; - result += mat4(-0.1170986, -0.05130371, -0.027939914, 0.0, -0.16645707, -0.121526904, -0.09471366, 0.0, -0.04143118, 0.026693767, 0.034615446, 0.0, -0.084318705, -0.064990036, -0.054324172, 0.0) * g_4; - result += mat4(0.12094524, 0.09518409, 0.07387219, 0.0, 0.062216382, 0.053228356, 0.031372335, 0.0, 0.072797105, 0.026258165, 0.009804673, 0.0, 0.120719045, 0.073281154, 0.056623302, 0.0) * g_5; - result += mat4(-0.11141495, -0.11566289, -0.10398725, 0.0, -0.0651895, -0.06820691, -0.054204144, 0.0, -0.032746475, -0.008849683, -0.007610222, 0.0, -0.024655705, -0.048778858, -0.041144755, 0.0) * g_6; - result += mat4(0.058090195, 0.07538767, 0.059722915, 0.0, 0.044788487, 0.04212742, 0.027502589, 0.0, 0.04892866, 0.015416752, 0.008312418, 0.0, -0.011864114, -0.0074752793, -0.0060824654, 0.0) * g_7; - result += mat4(0.043446552, 0.061971307, 0.05758086, 0.0, -0.06379154, -0.053758245, -0.047204215, 0.0, 0.016307736, 0.03423424, 0.030179083, 0.0, 0.041445345, 0.03843772, 0.033059113, 0.0) * g_8; - result += mat4(-0.003803544, 0.0008906116, -0.00059585314, 0.0, 0.102071285, 0.11485224, 0.10007254, 0.0, -0.074306004, -0.08803551, -0.07972321, 0.0, -0.030704215, -0.021514274, -0.009049376, 0.0) * g_9; - result += mat4(0.0066058086, 0.0011408008, 0.0016199006, 0.0, -0.03916473, -0.042929266, -0.04018418, 0.0, -0.03153446, -0.039413508, -0.034767237, 0.0, 0.113516055, 0.12577052, 0.113335624, 0.0) * g_10; - result += mat4(0.02655948, 0.041905303, 0.03861737, 0.0, 0.048471425, 0.049788587, 0.050447535, 0.0, 0.12092813, 0.13564217, 0.12613249, 0.0, -0.0023508538, 0.0012828974, 0.0028730957, 0.0) * g_11; - result += mat4(0.0084758485, 0.008800083, 0.008206044, 0.0, -0.056123603, -0.06610845, -0.060320783, 0.0, -0.081793964, -0.101638645, -0.096699014, 0.0, -0.04402356, -0.04177539, -0.03829645, 0.0) * g_12; - result += mat4(0.10676299, 0.118409514, 0.10618478, 0.0, -0.05880252, -0.06488367, -0.06432695, 0.0, 0.019221924, 0.017602798, 0.017413978, 0.0, -0.07512528, -0.080483615, -0.066218294, 0.0) * g_13; - result += vec4(-0.010478934, -0.008364784, -0.010246552, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl deleted file mode 100644 index 58ccc1f..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl +++ /dev/null @@ -1,137 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.19288683, -0.21397883, 0.111997396, -0.04791413, -0.26682988, -0.06144587, -0.03601853, -0.16693151, 0.038494494, -0.16651472, 0.147657, -0.083003886, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.14286195, 0.08746566, -0.40107322, 0.12390977, -0.33392772, -0.18703035, -0.21326795, 0.04780781, -0.15155545, -0.0010025925, -0.1554875, -0.10676251, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.28095165, 0.022872915, -0.21342312, -0.29982176, 0.025937587, -0.055012174, -0.33779636, 0.0015666655, 0.076416336, 0.06656033, -0.1557806, 0.1078894, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.31584853, 0.07527119, 0.30713862, -0.34014285, -0.50103146, -0.07217874, 0.512807, -0.09597398, -0.32097813, -0.051580857, -0.022466356, 0.01148551, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.026032459, -0.04193211, 0.37703893, -0.031916667, -0.27421117, 1.0906446, -0.049654085, -0.19814016, 0.07819544, 0.06003738, 0.1405805, -0.0064135445, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.041450135, 0.11319654, -0.23237701, 0.08443178, 0.53344345, 0.30857387, -0.057264958, -0.1575803, 0.2325609, -0.027797326, -0.04544767, -0.18720597, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.2531829, -0.074966915, -0.27800754, -0.3146097, 0.20126024, -0.5380133, -0.15082566, -0.19021043, 0.29951036, 0.17123336, -0.01681872, -0.12574998, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.25203633, 0.19882993, 0.14906439, 0.13593598, 0.40712556, 0.084902965, 0.42969635, 0.2961132, -0.057267334, -0.030388135, 8.8084314e-05, 0.0210724, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.13459359, -0.12199573, 0.12591946, 0.24736497, 0.2033463, -0.09388599, -0.094370656, 0.1071285, -0.18479438, -0.066625565, 0.08279283, 0.20130983, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.011108127, -0.07481861, 0.07640154, 0.4964964); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.056432575, 0.0028165397, -0.026325442, -0.14802271, 0.16885762, -0.062179096, -0.2332292, 0.17513658, -0.08011296, 0.02947316, 0.014771492, -0.17946689, 0.026012989, -0.09823925, 0.036625937, -0.06924322) * go_0(-1.0, -1.0); - result += mat4(-0.13571467, 0.09831142, 0.12911566, 0.06305893, -0.07188695, -0.20161287, 0.3858435, -0.21069056, -0.12294444, -0.1404628, -0.022659872, 0.23008968, 0.10969853, 0.17640765, 0.39796907, 0.20413099) * go_0(-1.0, 0.0); - result += mat4(-0.0061665224, 0.055102807, -0.0059629944, -0.021429887, 0.061626043, 0.16898955, -0.21215646, 0.16510476, 0.2238265, 0.19429931, 0.09874656, 0.06828208, -0.122404456, -0.00026717107, -0.28203064, -0.29979932) * go_0(-1.0, 1.0); - result += mat4(-0.22735378, 0.14538136, 0.11549746, 0.194148, -0.09841722, -0.0661309, 0.348576, -0.017375294, -0.044078812, 0.1298332, 0.04793373, -0.30687734, 0.08353025, 0.083519086, 0.10766399, 0.31796935) * go_0(0.0, -1.0); - result += mat4(0.048365135, -0.17566709, -0.33212858, -0.052667376, -0.26443407, -0.010216014, 0.1573303, 0.05725314, 0.08140953, -0.09664591, 0.076109104, -0.026773714, 0.07732627, 0.10188082, -0.28266954, -0.16230233) * go_0(0.0, 0.0); - result += mat4(0.29931107, 0.117944, -0.10414009, 0.12795551, 0.12576093, 0.17082554, -0.15803693, 0.13430743, -0.025801308, -0.10797019, 0.0721032, 0.2825884, -0.11025257, 0.12798019, 0.081827976, -0.050441865) * go_0(0.0, 1.0); - result += mat4(-0.11827391, 0.08306765, -0.3430314, 0.07898041, -0.023839617, -0.019507334, 0.23176382, -0.40992323, 0.09411734, 0.38415068, -0.25845516, -0.29984522, 0.1470966, -0.0684779, -0.07071314, -0.026773235) * go_0(1.0, -1.0); - result += mat4(0.19091596, 0.082110435, -0.5266589, -0.1744098, -0.015838385, -0.046316292, 0.023171103, -0.03731331, 0.2642396, 0.31824252, -0.041754793, -0.09525519, -0.14696182, 0.052168854, 0.039857205, -0.027555354) * go_0(1.0, 0.0); - result += mat4(0.15207373, 0.09845733, 0.0142631065, 0.096375965, 0.06089903, 0.17902578, -0.42391995, 0.22475442, 0.016356342, -0.06277531, -0.12173141, -0.18635495, -0.0013459618, 0.15725887, 0.019310836, 0.20293565) * go_0(1.0, 1.0); - result += mat4(-0.18395247, 0.30672902, 0.09034339, 0.1821889, -0.0419004, -0.2169228, -0.14052129, 0.11006559, 0.1709272, 0.51062274, 0.13758625, -0.2242552, -0.030382963, 0.3357568, -0.26491287, 0.02501938) * go_1(-1.0, -1.0); - result += mat4(0.040511727, 0.12523083, -0.27318433, 0.08388512, 0.25354835, 0.3404216, -0.2632471, -0.17784123, 0.2732347, 0.4468553, 0.084667034, -0.1856242, 0.034099877, -0.00954992, -0.32751867, -0.062207516) * go_1(-1.0, 0.0); - result += mat4(0.17564747, 0.11645554, -0.16362113, 0.105654195, -0.2762563, -0.1413764, 0.23264363, -0.14000498, 0.095402054, 0.0715738, -0.19346157, -0.028285999, 0.009799127, 0.04059529, 0.19688335, 0.1282381) * go_1(-1.0, 1.0); - result += mat4(0.23575781, -0.11446148, -0.20504695, 0.035568226, 0.36890212, -0.85968876, -0.18545328, 0.33796397, -0.30916876, -0.10445518, -0.3046253, 0.33271998, -0.06263589, -0.2160114, -0.16383372, -0.31173357) * go_1(0.0, -1.0); - result += mat4(0.20469664, 0.4039374, -0.070057206, 0.030353077, 0.39843914, -0.15490077, -0.24476516, 0.38238233, -0.21809858, 0.23496576, -0.051794037, 0.033664484, -0.14411364, -0.2515329, 0.124655396, -0.05818785) * go_1(0.0, 0.0); - result += mat4(-0.09065731, -0.16787091, 0.013269188, 0.23687351, -0.41504318, -0.048163068, 0.31760025, -0.33648986, 0.29752317, 0.2926866, 0.14408836, -0.33382463, -0.15873958, -0.121961035, 0.11797893, 0.09000567) * go_1(0.0, 1.0); - result += mat4(0.13356976, 0.013763947, 0.012169505, -0.109594524, 0.03417223, 0.7031121, 0.65146804, 0.5250268, -0.50132495, -0.419648, 0.2940041, 0.83051753, -0.17595838, 0.1633008, -0.018587278, 0.079596795) * go_1(1.0, -1.0); - result += mat4(0.07570128, -0.1581438, 0.03904949, 0.14890033, -0.054611947, 0.17469402, -0.44252598, 0.036181703, -0.4981031, -0.37507218, -0.18466389, 0.2645845, 0.25189674, -0.025896115, 0.034307647, -0.020462232) * go_1(1.0, 0.0); - result += mat4(-0.11645865, 0.02296537, 0.040909223, 0.015069485, 0.062284566, -0.22526766, 0.09241534, -0.32623053, 0.18208642, 0.3954284, 0.2884468, -0.25137675, -0.037232924, -0.10185309, -0.17956531, 0.018966453) * go_1(1.0, 1.0); - result += vec4(-0.16371979, -0.024620198, -0.035754893, 0.04176776); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.01921286, -0.26684764, -0.12663573, 0.31641877, -0.25313398, 0.12264074, 0.58750325, -0.14084283, 0.5837018, -0.042300556, -0.20435576, -0.009954825, 0.060783498, 0.05540401, 0.2205112, -0.06578902) * go_0(-1.0, -1.0); - result += mat4(-0.21930243, -0.03774968, 0.22615197, 0.18338196, 0.011201461, -0.271034, 0.00573116, -0.12248194, 0.47990513, 0.2982416, -0.1087603, -0.050099242, -0.07620939, -0.07148229, 0.03691984, -0.16796488) * go_0(-1.0, 0.0); - result += mat4(-0.14962853, -0.053769328, 0.02387081, 0.22002189, 0.052237745, -0.26160842, -0.08603077, 0.012542448, 0.08119985, 0.075785555, -0.33437458, -0.43373227, -0.13206963, -0.08759176, -0.03288923, -0.09799959) * go_0(-1.0, 1.0); - result += mat4(-0.1305593, -0.5974288, 0.06058367, 0.08406488, 0.013692483, 0.06646377, 0.16469325, 0.08990975, 0.42217395, -0.11289523, -0.06165009, 0.48556912, -0.15702641, -0.19922857, -0.0035429662, -0.0022089656) * go_0(0.0, -1.0); - result += mat4(-0.1964807, 0.038099788, 0.21587034, 0.039734077, -0.07063389, 0.11604167, -0.24558097, -0.08900199, -0.7684516, -0.1037487, -0.09380674, 0.33144563, -0.16653742, 0.0028585843, -0.33774406, -0.0528696) * go_0(0.0, 0.0); - result += mat4(-0.27298656, -0.05665099, 0.09661685, 0.19780266, 0.1025106, -0.22055034, -0.21218458, -0.040628925, 0.0095010325, 0.13118382, -0.42582452, -0.22197723, 0.21006055, -0.06189587, -0.15285942, -0.09526762) * go_0(0.0, 1.0); - result += mat4(-0.14494462, -0.046788953, 0.065877035, 0.09911713, 0.35096622, 0.16682479, 0.028363144, 0.36037162, 0.29413632, 0.28212717, -0.025364442, -0.3406269, 0.047262143, -0.11892685, -0.008032766, 0.29743317) * go_0(1.0, -1.0); - result += mat4(-0.15191558, -0.36980554, 0.14555687, 0.0043930537, -0.012661432, 0.15737776, -0.115250416, 0.10324491, 0.24491951, -0.15575431, -0.27802598, 0.21959937, 0.18063772, 0.4455559, -0.09693302, 0.33382267) * go_0(1.0, 0.0); - result += mat4(0.2717801, 0.13452889, 0.14105384, 0.16324317, -0.40111846, 0.1154301, -0.0076733204, -0.09697362, 0.44306824, -0.02831414, -0.2153124, -0.12075326, 0.060776163, 0.30347148, -0.0036976219, -0.12070682) * go_0(1.0, 1.0); - result += mat4(-0.39780128, -0.29875937, -0.12952097, 0.080333896, 0.07520163, 0.021689568, -0.23121156, -0.038140096, -0.1593877, 0.017156163, -0.06038025, 0.009244022, -0.13917233, 0.30957314, 0.243109, -0.104947075) * go_1(-1.0, -1.0); - result += mat4(-0.07965157, 0.06776501, -0.13288979, 0.005851189, -0.08768168, -0.03689969, 0.12034646, 0.22441491, 0.14453568, -0.17648841, -0.3378289, -0.018329712, 0.11722939, -0.34161824, 0.08424494, -0.01400687) * go_1(-1.0, 0.0); - result += mat4(0.08153887, 0.07222914, -0.14663404, -0.038526025, -0.07385973, 0.18440577, 0.35890242, 0.17084727, 0.26345527, 0.15280858, -0.007446105, -0.024403179, -0.30336383, -0.22978698, 0.11612946, -0.23614909) * go_1(-1.0, 1.0); - result += mat4(-0.07447396, 0.09023449, -0.13798, -0.086943336, -0.30787337, 0.15087669, 0.14418626, -0.03371195, 0.048989657, -0.13075387, -0.13458036, -0.059836224, 0.06495196, 0.269715, 0.3674355, 0.38956037) * go_1(0.0, -1.0); - result += mat4(0.34981915, -0.048779126, 0.31717536, 0.38080826, -0.20149232, -0.82969636, -0.10167862, 0.6382858, 0.25976858, 0.4370118, -0.04724865, -0.10014156, 0.19380626, -0.080370255, 0.09578106, -0.035166856) * go_1(0.0, 0.0); - result += mat4(-0.026443917, 0.4132611, 0.01822534, 0.12742202, -0.26652107, -0.2996705, 0.30905882, 0.07989903, 0.38249823, 0.21486135, 0.025314959, -0.14717339, -0.13344015, -0.32088286, -0.2833883, -0.30973712) * go_1(0.0, 1.0); - result += mat4(0.021517841, 0.006556378, 0.2025686, -0.12044382, -0.38583103, -0.0027515136, -0.06556736, -0.097090125, 0.04676486, -0.11954886, -0.051612873, 0.07831412, -0.18823163, -0.16542958, 0.04245155, 0.6437998) * go_1(1.0, -1.0); - result += mat4(-0.39475346, -0.2936861, 0.26768062, -0.28151843, 0.21935691, 0.2101108, -0.15455097, 0.19548604, 0.09188909, -0.020147726, 0.103328265, -0.12574542, -0.34167948, 0.07523185, -0.17669058, 0.62446547) * go_1(1.0, 0.0); - result += mat4(-0.37661025, -0.29630858, 0.05451026, 0.1611643, 0.14079669, -0.2170294, -0.038716137, 0.13514164, -0.21235192, -0.07860726, -0.005749412, 0.025625167, -0.13297133, 0.33012658, -0.27434957, -0.18416783) * go_1(1.0, 1.0); - result += vec4(-0.0036821906, -0.050239526, -0.01355402, 0.00048220603); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-3x3x3x8 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_2_tf -//!SAVE MAIN -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.15873, 0.17989138, 0.14648493, 0.0, -0.017379675, -0.017363746, -0.019855022, 0.0, 0.009670625, 0.0070157526, 0.0075994316, 0.0, 0.025388412, 0.027231036, 0.024052646, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.048195973, 0.041760173, 0.037366055, 0.0, -0.115950756, -0.12887983, -0.12535639, 0.0, 0.032125086, 0.03397254, 0.032950625, 0.0, 0.01223746, 0.020822672, 0.0161561, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.0890567, 0.094453335, 0.09014035, 0.0, 0.016081346, 0.017434116, 0.020783134, 0.0, -0.011775135, -0.010094134, -0.018522855, 0.0, 0.072103254, 0.07940666, 0.065876864, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.04841196, -0.06963968, -0.056574684, 0.0, 0.10912542, 0.11813441, 0.10643838, 0.0, -0.013013885, -0.01562045, -0.013802797, 0.0, 0.037505716, 0.04352026, 0.04645123, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.3472869, -0.36243078, -0.33530185, 0.0, 0.23654196, 0.2305048, 0.22150646, 0.0, -0.045226905, -0.041799217, -0.042511635, 0.0, -0.10267792, -0.1123385, -0.10845448, 0.0) * go_0(0.0, 0.0); - result += mat4(0.011987401, 0.012285043, 0.007813165, 0.0, -0.15911353, -0.17523928, -0.1535267, 0.0, 0.15675929, 0.16531634, 0.15948962, 0.0, -0.09240023, -0.09513292, -0.084187366, 0.0) * go_0(0.0, 1.0); - result += mat4(0.069052905, 0.07278333, 0.0756627, 0.0, -0.012180326, -0.018794727, -0.031050753, 0.0, -0.044663202, -0.04362803, -0.038904265, 0.0, -0.008540197, -0.011201734, -0.01556625, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.08261173, -0.09042543, -0.07589266, 0.0, 0.043515377, 0.045066774, 0.04037769, 0.0, -0.06262993, -0.07469342, -0.058593787, 0.0, 0.026696987, 0.028740842, 0.037405368, 0.0) * go_0(1.0, 0.0); - result += mat4(0.07975598, 0.09597654, 0.08997132, 0.0, -0.07844719, -0.07880916, -0.06835411, 0.0, 0.05668995, 0.050163813, 0.053357534, 0.0, -0.020040333, -0.019867316, -0.01907621, 0.0) * go_0(1.0, 1.0); - result += mat4(-0.017078733, -0.017393313, -0.008266595, 0.0, -0.0033478448, -0.0027439648, -0.0042334674, 0.0, -0.06354017, -0.062058125, -0.04652064, 0.0, -0.010787706, -0.0062706997, -0.007573461, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.019895451, -0.016341688, -0.008712399, 0.0, 0.026231976, 0.023955572, 0.0216376, 0.0, -0.061950512, -0.05481285, -0.05261985, 0.0, -0.018804235, -0.016235247, -0.0131616965, 0.0) * go_1(-1.0, 0.0); - result += mat4(-0.055628926, -0.063315354, -0.057192408, 0.0, -0.0256364, -0.028660972, -0.02937357, 0.0, -0.017604912, -0.020851422, -0.016070362, 0.0, -0.0870202, -0.0832279, -0.07525406, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.062738225, 0.07106593, 0.061644047, 0.0, -0.06068257, -0.06983662, -0.066070385, 0.0, 0.024919355, 0.03227179, 0.028569462, 0.0, -0.07866227, -0.098967604, -0.092128105, 0.0) * go_1(0.0, -1.0); - result += mat4(0.040397774, 0.047241107, 0.03962998, 0.0, -0.09112752, -0.10057507, -0.09301817, 0.0, 0.10833967, 0.101835825, 0.10027467, 0.0, 0.27189335, 0.27433604, 0.26781923, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.044211388, -0.042373534, -0.03658007, 0.0, 0.113148406, 0.12423258, 0.107804194, 0.0, -0.17081551, -0.18562958, -0.17475435, 0.0, 0.09636739, 0.10763415, 0.093332425, 0.0) * go_1(0.0, 1.0); - result += mat4(-0.03798545, -0.047811143, -0.050768293, 0.0, 0.018775463, 0.026812987, 0.03452908, 0.0, 0.0055677597, 0.0039081173, -0.0017878668, 0.0, -0.10728597, -0.12618187, -0.109045394, 0.0) * go_1(1.0, -1.0); - result += mat4(0.06359783, 0.064184755, 0.04934199, 0.0, -0.009819327, -0.006616115, -0.007431496, 0.0, 0.025055679, 0.024787048, 0.017360551, 0.0, -0.047140837, -0.061695747, -0.06440822, 0.0) * go_1(1.0, 0.0); - result += mat4(0.060199022, 0.06482763, 0.059514645, 0.0, 0.026998974, 0.028776823, 0.024897143, 0.0, 0.17968474, 0.19337215, 0.16760105, 0.0, 0.0075838566, 0.010503482, 0.011993149, 0.0) * go_1(1.0, 1.0); - result += vec4(-0.0052927984, -0.0060193934, -0.0048643993, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl deleted file mode 100644 index 7968c0e..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl +++ /dev/null @@ -1,429 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.2676983, -0.1694746, 0.7231928, -0.050193843, 0.1850188, -0.4749505, 0.07632266, 0.17824799, 0.026348969, -0.213702, -0.16420218, -0.066780016, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.09888135, -0.079641104, 0.51160043, 0.53629893, -0.1368544, -0.07092336, 0.18622977, 0.6388427, 0.19499005, 0.06811229, -0.31991923, 0.088302985, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.06487055, -0.1591197, -0.29304126, -0.428903, 0.1966732, 0.11229865, 0.089009434, 0.23463708, -0.22231965, -0.008649182, 0.3317394, 0.10976113, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.40386826, -0.09486362, -0.058931742, -0.1341693, -0.28993917, -0.09050739, 0.28094417, 0.31630108, -0.02661985, -0.24368657, 0.096867286, 0.05391612, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.05631564, 0.34576723, -0.5587978, 0.16213721, 0.12679785, 0.18991663, -0.24762277, -0.33682153, -0.22863568, 0.20517963, 0.20418519, 0.12087338, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.17579688, 0.18395603, -0.014987654, 0.30243605, -0.12778279, -0.07003458, -0.5353068, -0.39372426, 0.2676877, 0.255503, -0.29737592, -0.30513638, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.799834, -0.023603538, 0.19820727, -0.11204286, -0.1566225, -0.1937577, -0.030266436, -0.10107911, 0.023661222, 0.16879195, 0.046644643, 0.09485681, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.014675849, -0.110290475, -0.28381273, -0.06814732, 0.2067597, 0.20925248, -0.24068354, -0.5096708, -0.09384791, 0.10593733, 0.0672362, -0.06924161, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.05908883, 0.099426664, -0.20916614, -0.17044452, -0.091960385, 0.3218613, 0.41635308, -0.36125022, -0.012630896, -0.37540653, 0.018497325, -0.10067442, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.55533427, -0.05231614, -0.032685343, -0.027457517); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.09844753, -0.19389127, 0.029695928, 0.3805915, 0.1353029, 0.027786473, 0.15621242, 0.09383762, -0.1097243, 0.021245124, -0.016402386, 0.09129394, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.3038283, 0.03778846, 0.1898852, 0.23949303, -0.34829387, 0.20485392, 0.60560244, 0.4089768, -0.260066, 0.42611003, 0.19227165, 0.03948586, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.033990905, 0.17583308, -0.2235879, 0.47376296, -0.1001787, 0.72851896, -0.056391567, -0.056544185, 0.0966166, -0.016663829, -0.15151545, -0.14227313, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.16544957, 0.05889452, -0.3277256, -0.42792717, 0.32491356, -0.39113912, 0.16600312, -0.3097514, 0.27907088, -0.22553465, 0.048548058, -0.08310438, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.03992136, 0.17895368, 0.16562924, -0.536188, -0.25868654, -0.4869832, 0.2591772, -0.5191932, 0.020162001, -0.41568524, 0.4776641, 0.019298514, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.14911795, -0.5984171, -0.18241958, 0.5472136, -0.69194865, 0.033839397, 0.13408412, 0.09503547, -0.21318413, 0.53743845, 0.080091774, -0.1369053, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.038978565, 0.40742934, 0.20107205, -0.3550106, 0.227634, -0.16101603, -0.45037574, 0.23192371, 0.17923234, -0.13692904, 0.10395048, 0.3124129, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.059144646, -0.22531863, -0.024704054, -0.20749553, 0.58086175, -0.32206532, -0.5130457, -0.14057957, 0.24317528, 0.088735096, -0.44098017, -0.16980846, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.30321437, 0.17502202, 0.1910563, -0.10118702, 0.1465326, 0.3852395, -0.31210947, 0.18236226, -0.23306467, -0.28551704, -0.2982589, 0.072740674, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.029685514, 0.066621915, 0.03600017, -0.03497038); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.20989326, 0.020975577, -0.005522964, -0.10013134, 0.013517254, -0.03347422, 0.40903455, 0.013940953, 0.01066957, 0.2569982, -0.018764338, -0.37931216, -0.20921241, -0.3565134, 0.1776639, 0.081515394) * go_0(-1.0, -1.0); - result += mat4(-0.2555968, -0.05024504, 0.046776827, 0.38626888, -0.21787676, 0.0013136056, -0.13391882, 0.00022813173, -0.042842478, -0.10413157, -0.008385445, -0.11843704, 0.062092766, -0.40029097, 0.31873867, -0.19030346) * go_0(-1.0, 0.0); - result += mat4(-0.19435422, -0.56006145, 0.050693467, -0.8857939, -0.0677575, -0.30498, 0.012069988, 0.026757652, -0.16890685, 0.04575225, -0.08477036, -0.018015383, 0.0002810964, 0.0772843, 0.00017034424, -0.228497) * go_0(-1.0, 1.0); - result += mat4(0.092564344, 0.061863884, -0.13135873, 0.10290956, 0.1670116, -0.08312144, -0.020718448, 0.06729496, -0.06338295, -0.09972319, 0.18505506, -0.2622095, 0.045575716, 0.12836345, -0.22356766, 0.28924033) * go_0(0.0, -1.0); - result += mat4(0.23605964, 0.46831363, 0.21037713, 0.3901851, -0.122640595, -0.29213053, 0.14194407, -0.3353137, 0.07847812, 0.3094049, -0.050705243, -0.23498294, 0.24583417, 0.3703223, 0.1121086, 0.20645288) * go_0(0.0, 0.0); - result += mat4(-0.08616125, -0.13809866, 0.27488732, 0.19573413, -0.20682202, 0.01106275, -0.018731792, 0.048580807, -0.097444884, -0.03766069, -0.12636039, 0.3133589, -0.12802023, 0.1988174, 0.19551867, -0.2720954) * go_0(0.0, 1.0); - result += mat4(0.03484159, 0.05830728, 0.028816089, 0.27173883, 0.15579484, -0.07751753, -0.033748254, 0.22559631, -0.35857964, 0.1043378, 0.5031367, 0.031042032, 0.071555324, -0.24148308, -0.24156207, 0.104249395) * go_0(1.0, -1.0); - result += mat4(0.04002337, -0.17350379, -0.1802324, -0.23008482, 0.2917599, 0.1801853, 0.041955303, 0.015545025, 0.069034904, 0.19370675, 0.097300164, 0.11832116, -0.23043779, 0.33832225, -0.029885143, -0.022836795) * go_0(1.0, 0.0); - result += mat4(0.040476788, 0.3176767, -0.2372066, 0.24106048, 0.28147677, -0.06513699, -0.22784042, -0.46840426, -0.23415963, -0.067057185, -0.013863767, 0.30710638, 0.06337683, -0.1774192, 0.05082387, -0.02581459) * go_0(1.0, 1.0); - result += mat4(-0.13767451, 0.26832962, 0.018361554, 0.2665501, -0.22070843, 0.10799693, 0.09780551, 0.042999722, 0.3302224, 0.10916339, -0.22705203, 0.040675506, -0.049211837, 0.19487813, 0.051528033, 0.20227027) * go_1(-1.0, -1.0); - result += mat4(0.1279485, 0.14895418, 0.40570346, -0.008809808, 0.09898892, 0.035774715, -0.28405192, 0.26836014, -0.096799396, -0.12336552, -0.24413097, 0.12693845, 0.12410443, 0.27200332, -0.18279982, -0.032115027) * go_1(-1.0, 0.0); - result += mat4(0.14698029, -0.31720948, 0.24974433, 0.14444488, 0.09503049, -0.02618792, 0.15163966, 0.22923012, -0.004227005, -0.2564904, -0.06648419, -0.07868524, -0.14852846, -0.3513046, -0.1374295, -0.09808154) * go_1(-1.0, 1.0); - result += mat4(0.1275583, 0.1875862, -0.15939887, -0.1029876, -0.25886494, -0.07434281, -0.018779758, -0.008408217, 0.06420735, 0.0025367932, 0.073679835, 0.1369152, -0.2256255, 0.26216295, -0.052095387, 0.04673847) * go_1(0.0, -1.0); - result += mat4(0.1147465, 0.14129257, -0.036377613, 0.041968875, 0.031286925, -0.00013609273, -0.248227, 0.10412182, -0.00039004904, 0.01673792, 0.056068443, -0.16470632, -0.042392768, 0.23993582, -0.22915693, 0.36430097) * go_1(0.0, 0.0); - result += mat4(0.23650797, 0.12200628, 0.057768486, 0.23353462, 0.04389849, -0.11567954, -0.12633252, -0.1884369, -0.10636852, -0.115114085, -0.0022040834, 0.041720822, 0.20775628, -0.1127031, -0.060805347, -0.10988217) * go_1(0.0, 1.0); - result += mat4(0.0401325, -0.271267, -0.3003843, 0.010670003, -0.12597936, -0.059235968, 0.08256807, -0.22041298, 0.14655456, 0.07416407, -0.03940599, -0.25057787, -0.043001004, 0.2124355, 0.19165096, 0.077120975) * go_1(1.0, -1.0); - result += mat4(0.01693656, -0.057261657, -0.13366276, -0.15589137, -0.07157646, -0.12266521, 0.24651442, -0.079142615, -0.113005005, -0.15769142, -0.017285366, 0.08821278, 0.28891653, 0.06013908, 0.0038421913, 0.106700204) * go_1(1.0, 0.0); - result += mat4(0.16187043, -0.059908718, -0.050456535, -0.027998367, 0.12749411, -0.07558445, 0.05249467, 0.02001542, 0.03188715, 0.056223337, 0.06117334, 0.022764465, 0.1051409, 0.0011876151, -0.07030176, -0.015487096) * go_1(1.0, 1.0); - result += mat4(0.047084607, 0.06401777, 0.15585798, 0.16639893, 0.025441, -0.020858578, -0.07795479, -0.0045188745, -0.09186016, -0.16865493, 0.02187216, 0.02241868, 0.3175809, 0.25483596, 0.046578035, -0.09617824) * go_2(-1.0, -1.0); - result += mat4(0.08622112, 0.124111585, -0.15246506, -0.072898194, 0.26907462, -0.15550381, 0.036907334, -0.16388376, -0.10869113, 0.113909826, -0.118678264, 0.013610441, -0.1307433, 0.044969033, -0.053201765, -0.058903012) * go_2(-1.0, 0.0); - result += mat4(0.036120024, -0.011461657, -0.10083318, -0.334466, 0.016460553, 0.1781498, 0.15133101, -0.0010224655, 0.10511601, 0.12667589, 0.15001541, 0.14479756, -0.046095166, -0.15012313, -0.009395591, 0.019260757) * go_2(-1.0, 1.0); - result += mat4(0.04500625, -0.037348565, -0.10475762, 0.113254204, -0.17360263, -0.18522957, 0.014305901, 0.07039716, -0.11408359, 0.057783633, -0.028000865, -0.25506407, -0.058175903, 0.0040344223, 0.11234911, -0.07254186) * go_2(0.0, -1.0); - result += mat4(0.05607878, -0.07737156, 0.01586671, -0.21907675, 0.1729392, -0.09273287, 0.14671144, 0.21306099, -0.1374591, -0.09428349, 0.28138107, 0.08421483, -0.30330884, -0.039166123, -0.18316704, -0.27840406) * go_2(0.0, 0.0); - result += mat4(-0.15336679, -0.05767407, 0.13347702, 0.10092905, 0.09895612, -0.0839073, -0.16025528, -0.087642424, -0.101612955, 0.4119443, 0.031125817, -0.110090934, 0.056127027, -0.04000313, -0.042920932, 0.08100733) * go_2(0.0, 1.0); - result += mat4(-0.113653034, -0.10163741, -0.058498476, -0.12347642, -0.20110545, -0.006300695, -0.1328342, -0.0071486877, 0.18334186, 0.15882389, -0.120586954, -0.04277906, -0.13593355, 0.11897087, 0.030404912, -0.23374279) * go_2(1.0, -1.0); - result += mat4(0.044901595, -0.00010039519, -0.14989527, 0.025639903, 0.23985633, 0.0114784185, 0.056620862, -0.0599113, 0.017398749, 0.3567445, 0.10223932, -0.12609181, 0.0074833618, -0.16702464, -0.033638544, 0.062087793) * go_2(1.0, 0.0); - result += mat4(-0.0302778, -0.009963125, 0.29761076, 0.08238972, 0.26467612, -0.19331805, -0.09930472, 0.23798122, 0.03599952, 0.24224155, 0.3041322, -0.054690234, 0.05582198, 0.0012778769, 0.041249134, -0.014496484) * go_2(1.0, 1.0); - result += mat4(-0.033623356, -0.18683043, -0.48352727, -0.09534184, 0.16657802, -0.31149274, -0.25840783, -0.16902964, -0.40347067, 0.046952717, 0.15677738, -0.14079048, 0.0444492, -0.012346084, -0.16768047, -0.07540055) * go_3(-1.0, -1.0); - result += mat4(0.2678487, 0.113161474, -0.19962314, 0.23060325, -0.28154588, -0.06956369, 0.08050926, -0.25503877, 0.12565655, 0.5497286, -0.18335307, -0.044097837, 0.058234677, 0.049816858, -0.021038791, 0.14644346) * go_3(-1.0, 0.0); - result += mat4(-0.008438418, 0.080761805, 0.06993718, 0.08508105, 0.11905285, 0.016726421, -0.16668561, 0.026911844, 0.041182615, 0.2760306, 0.18553418, 0.25386074, 0.11789433, 0.094213605, 0.15487063, 0.15375367) * go_3(-1.0, 1.0); - result += mat4(-0.10329284, 0.16198465, -0.0681889, -0.006294233, 0.4592297, -0.12816279, 0.19529971, 0.109294996, 0.043646853, 0.084326275, 0.0635968, -0.11471805, 0.44923568, -0.01125437, -0.19251052, -0.08885202) * go_3(0.0, -1.0); - result += mat4(-0.108986676, 0.40908077, -0.31152573, -0.13468693, -0.10438951, -0.086357035, 0.13880713, -0.288345, 0.17497768, -0.08021166, 0.07815909, 0.17337689, 0.02700953, -0.016387407, 0.0053377734, 0.109923586) * go_3(0.0, 0.0); - result += mat4(0.13881513, -0.21179448, -0.104762904, 0.019093828, -0.3383386, 0.14453639, -0.28122503, 0.19449967, -0.035691183, 0.21306588, -0.046144057, 0.17898172, -0.0035024916, -0.054061864, -0.03985455, 0.3264588) * go_3(0.0, 1.0); - result += mat4(0.02336507, 0.20597245, 0.03627631, 0.04278966, -0.042182084, -0.26431814, 0.122881256, 0.34909293, -0.17958918, 0.050698034, 0.336547, 0.21614759, 0.19511287, -0.20311548, -0.13249207, -0.24043573) * go_3(1.0, -1.0); - result += mat4(-0.025547924, 0.020525696, 0.375233, -0.02528368, -0.044973124, 0.13667387, -0.08506365, 0.34317508, 0.14618309, 0.108213425, 0.15557359, -0.05340479, -0.27103037, 0.12428249, -0.085362, -0.009073445) * go_3(1.0, 0.0); - result += mat4(-0.09518274, 0.036228243, -0.2145168, 0.090918355, -0.20793489, 0.19843313, 0.06701371, -0.11499378, -0.033398125, -0.020169621, 0.057314273, 0.0027613493, -0.11993404, 0.12495525, -0.0151242195, 0.1896457) * go_3(1.0, 1.0); - result += vec4(-0.045150407, -0.034128085, 0.10230384, 0.074793644); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10541986, -0.27021417, 0.30589217, -0.06793019, 0.0712113, -0.5818028, -0.09057832, 0.009519015, -0.07754299, 0.009050975, -0.08283811, -0.078837596, -0.008200866, 0.53291875, 0.22918138, 0.09433025) * go_0(-1.0, -1.0); - result += mat4(0.35867104, 0.17056245, 0.28573632, 0.45787787, 0.054377224, 0.30656826, -0.13864343, 0.13956884, -0.052365527, -0.17660435, -0.14363506, -0.11313267, -0.15472592, -0.011637987, 0.3057005, 0.40122506) * go_0(-1.0, 0.0); - result += mat4(-0.42738816, -0.13046122, -0.4223082, 0.32663476, -0.14648326, 0.056164477, 0.09366789, -0.046335716, 0.00401621, -0.008206323, -0.075975314, 0.046879925, 0.04891574, 0.08912198, 0.32541895, 0.014354832) * go_0(-1.0, 1.0); - result += mat4(0.105501, -0.06999185, -0.023181506, 0.13587391, -0.10643463, 0.061667755, 0.24508677, 0.33984032, -0.1698376, -0.05051473, -0.29430416, -0.06635265, -0.031917162, 0.046488285, 0.17973569, -0.025048103) * go_0(0.0, -1.0); - result += mat4(-0.07685088, -0.035609607, 0.07060013, -0.19892506, 0.17084605, -0.19758354, -0.29233304, -0.19821644, -0.047398012, 0.12004138, 0.1643941, 0.043807004, 0.2513805, 0.13687916, 0.23235638, 0.00979058) * go_0(0.0, 0.0); - result += mat4(-0.2601253, -0.0010056786, -0.46147683, -0.117661044, -0.042538162, -0.012710203, -0.034079336, -0.08661733, -0.03908205, 0.104053, -0.045735247, -0.07916684, -0.021913078, -0.0035067864, -0.10581172, 0.11498716) * go_0(0.0, 1.0); - result += mat4(0.0421786, 0.0099540735, -0.020447837, -0.27269018, -0.084229656, 0.04271779, 0.036794372, -0.18072419, 0.07743771, -0.109369494, -0.07608079, 0.2973058, -0.1602913, -0.10049883, 0.033048846, -0.3780618) * go_0(1.0, -1.0); - result += mat4(-0.38231418, 0.106174126, 0.07344471, -0.1979349, 0.093251124, -0.07658309, 0.08417288, 0.2981472, -0.047867708, 0.0097399205, -0.11213339, 0.1746439, 0.10045314, -0.030283177, 0.004107288, -0.16744147) * go_0(1.0, 0.0); - result += mat4(0.43939134, 0.14499938, 0.20161533, -0.0067911143, 0.098075844, 0.22099596, 0.099283025, -0.017734041, 0.112658866, -0.12010951, -0.13342896, 0.053806942, 0.017880073, 0.028821323, 0.0082069365, -0.053472634) * go_0(1.0, 1.0); - result += mat4(0.2429229, 0.012143042, -0.029962441, 0.017843649, 0.11972611, -0.07733264, -0.37523645, -0.19887479, -0.18222691, -0.31171882, -0.20578085, 0.040127717, 0.0842879, 0.12601142, -0.07302166, -0.033017557) * go_1(-1.0, -1.0); - result += mat4(0.09666541, -0.053779975, -0.045221806, -0.06923458, -0.046158988, -0.12819108, -0.32956856, -0.15813568, 0.12464106, -0.42395857, 0.078095086, -0.12961964, -0.15057011, -0.041440632, 0.04221429, 0.08509352) * go_1(-1.0, 0.0); - result += mat4(0.2505401, 0.023106987, -0.0001688444, -0.11545978, 0.044663083, -0.011316191, -0.024175104, 0.033631656, -0.13285598, -0.026969459, 0.02669494, 0.082885765, -0.036615327, 0.06434473, -0.059197906, -0.1100841) * go_1(-1.0, 1.0); - result += mat4(-0.12549014, 0.25078717, -0.06146062, 0.1406611, 0.13844866, 0.012716272, 0.07641059, 0.04245357, -0.09028008, -0.15924782, -0.14551707, -0.09782215, 0.05188703, -0.12323306, -0.20053494, -0.20062317) * go_1(0.0, -1.0); - result += mat4(-0.26341316, -0.16508758, 0.036919586, -0.17812039, -0.3016191, 0.06403582, 0.12948476, 0.110633194, 0.14551535, -0.09222706, -0.30942333, 0.20120445, 0.059902433, -0.17293817, -0.07280857, -0.36021966) * go_1(0.0, 0.0); - result += mat4(0.11032128, -0.024297172, -0.110301405, -0.09563319, -0.23266938, -0.009982061, 0.18834652, 0.0987435, -0.13652846, -0.025019212, 0.07672643, 0.017108513, -0.043844085, 0.02440773, -0.029404791, 0.034692347) * go_1(0.0, 1.0); - result += mat4(-0.048525557, -0.043118346, 0.12048513, 0.030609682, 0.16658829, 0.19444555, 0.113910906, 0.31148425, -0.1755198, -0.038910154, 0.084356636, 0.12969102, 0.01661835, 0.28915378, -0.032290917, -0.12997934) * go_1(1.0, -1.0); - result += mat4(-0.24347968, 0.032619976, 0.16692804, -0.046297006, 0.0901479, 0.060802385, 0.21347383, 0.29304698, 0.16361152, 0.19639444, 0.0054137907, 0.049575172, 0.20710163, 0.076565325, 0.34911337, 0.35831028) * go_1(1.0, 0.0); - result += mat4(-0.092651226, 0.045491215, 0.11757575, 0.11756375, -0.27768722, 0.010231745, 0.21116765, 0.024840422, 0.0051228474, -0.04532887, -0.013311027, 0.121157385, -0.1053527, -0.00010417442, -0.035180032, 0.2051271) * go_1(1.0, 1.0); - result += mat4(-0.055320628, 0.14249797, -0.13782813, -0.05412119, -0.043079898, -0.18216185, 0.13923723, -0.11468015, -0.09394785, 0.12044827, -0.05177875, 0.1349153, -0.03233552, 0.16400962, -0.11219184, 0.09460802) * go_2(-1.0, -1.0); - result += mat4(-0.018258873, -0.23629102, -0.140925, 0.10609654, 0.024990926, -0.31095183, 0.21505022, 0.0007466126, -0.062110204, 0.24764718, 0.0018352414, 0.03383791, -0.05727847, -0.006963949, -0.23087887, -0.2521535) * go_2(-1.0, 0.0); - result += mat4(-0.08928898, 0.21107556, 0.27720314, 0.3170095, 0.1569246, -0.07950364, -0.035353288, 0.0851358, 0.034223706, -0.1124521, 0.068468235, -0.1876728, -0.09508409, -0.03837469, -0.19909252, 0.09844746) * go_2(-1.0, 1.0); - result += mat4(0.04326774, -0.063746035, 0.13767312, 0.048762802, 0.14155331, -0.21800575, -0.22868122, -0.10928361, 0.15166105, 0.086240664, 0.110339195, -0.0039928076, 0.114750795, 0.19737157, -0.09005264, -0.10637459) * go_2(0.0, -1.0); - result += mat4(0.023298614, 0.07140441, 0.029475417, -0.14667986, -0.017949682, 0.007795148, -0.044714145, -0.13990426, 0.03870307, -0.067750655, -0.11831945, -0.14363948, 0.00049597165, -0.18959905, -0.20256434, 0.040964015) * go_2(0.0, 0.0); - result += mat4(0.18983524, 0.07018097, 0.015068278, -0.17990883, -0.12528846, -0.020557154, 0.0106482245, 0.08105856, 0.02577546, -0.25885943, 0.0061467723, -0.058998212, 0.045207195, 0.019213859, -0.021913687, -0.10641617) * go_2(0.0, 1.0); - result += mat4(-0.005021213, -0.030781588, -0.08722711, 0.045172613, 0.13006134, 0.03640675, -0.18160394, 0.10903534, 0.1283007, 0.053212877, 0.15160874, -0.30678773, 0.0611477, 0.060609598, -0.21533446, 0.2817914) * go_2(1.0, -1.0); - result += mat4(-0.06942382, -0.08785516, -0.018080644, 0.12124481, -0.0988795, 0.021093542, 0.015752183, 0.057520576, -0.1873821, -0.15041956, 0.12230656, -0.23798561, -0.16819417, 0.07222907, -0.01441512, 0.06420038) * go_2(1.0, 0.0); - result += mat4(-0.0350732, -0.054145966, 0.008372502, -0.16092199, -0.0671371, 0.057495046, -0.08276416, 0.34617814, 0.11239629, -0.19681981, 0.16116115, 0.046944335, 0.09723501, -0.12488112, -0.031532682, 0.013095191) * go_2(1.0, 1.0); - result += mat4(-0.2309171, 0.10420613, -0.12122516, -0.04000454, -0.20740104, -0.010152015, 0.26092738, 0.13527256, 0.08665683, -0.18393658, -0.030344693, -0.10654187, 0.07108977, -0.28212613, 0.024101965, -0.22189055) * go_3(-1.0, -1.0); - result += mat4(0.06602971, 0.050674047, 0.33251405, -0.07886978, -0.13822217, -0.014285523, 0.22478761, 0.22517748, -0.1175651, 0.11234997, -0.17835312, 0.010875831, 0.20007257, 0.21565825, 0.30876723, -0.029953295) * go_3(-1.0, 0.0); - result += mat4(0.3083618, 0.12779777, 0.112711206, 0.001815444, -0.123584166, 0.03232661, -0.060439207, -0.13411477, 0.30604517, -0.19359338, -0.115064435, -0.03826723, 0.16092177, -0.07926006, -0.27355558, 0.077829085) * go_3(-1.0, 1.0); - result += mat4(-0.020265967, -0.27894706, -0.105033666, -0.10975655, 0.20102961, 0.024541473, 0.21834314, -0.21726306, -0.01132585, -0.16459125, 0.21980706, 0.039996378, -0.15850788, 0.16646145, 0.10387183, -0.35103965) * go_3(0.0, -1.0); - result += mat4(-0.038195442, 0.02967505, -0.22234862, -0.040221542, 0.06056814, 0.14282827, -0.26034078, 0.32477978, -0.45779508, -0.3667849, 0.22392158, 0.09866475, -0.096611015, 0.12282537, 0.080877006, -0.038721707) * go_3(0.0, 0.0); - result += mat4(0.12205649, 0.052729234, 0.09086409, 0.13457046, -0.24082763, -0.008418334, -0.24735104, 0.13281673, 0.049058694, 0.046168383, -0.049963474, 0.09272115, 0.12703685, 0.020337742, -0.20470645, -0.07379872) * go_3(0.0, 1.0); - result += mat4(0.02244616, 0.058318693, -0.05570221, -0.02717316, 0.14189804, -0.0016504574, 0.018723257, -0.05787106, 0.055331856, 0.0030448188, 0.01664426, 0.080254346, -0.15860988, -0.10147442, 0.115529425, -0.12332509) * go_3(1.0, -1.0); - result += mat4(0.16019078, -0.20631735, -0.018190302, 0.0647328, -0.04840569, 0.083106056, -0.13247506, -0.2112572, -0.10423932, -0.12388437, 0.1951962, 0.15236832, -0.075027406, -0.12183809, -0.07161853, -0.24558437) * go_3(1.0, 0.0); - result += mat4(-0.06832158, 0.06699966, -0.17887384, 0.025053928, 0.22054252, -0.03332688, -0.089027286, -0.0743864, -0.019737093, 0.1890527, 0.3194981, -0.014847898, 0.0616053, -0.046331815, -0.013838972, -0.19598661) * go_3(1.0, 1.0); - result += vec4(0.0031252617, 0.028414045, -0.018389644, 0.011216021); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1156422, 0.13656664, 0.23103227, -0.09881847, -0.13118152, 0.063764885, -0.1902535, 0.12580052, -0.057555363, 0.0015611092, 0.009383415, 0.0028447553, -0.12577637, 0.06707094, 0.05323591, 0.087465174) * go_0(-1.0, -1.0); - result += mat4(0.023715734, 0.15901619, 0.010465818, -0.05401794, 0.12822664, -0.079860024, -0.107430205, -0.09094713, 0.11440009, -0.069189526, 0.1377121, -0.02780827, -0.2594948, -0.008447683, -0.052618783, 0.0995311) * go_0(-1.0, 0.0); - result += mat4(0.014655754, 0.0976315, -0.10425098, 0.06731683, -0.07336922, -0.09931748, -0.074338034, 0.014602733, 0.0761052, -0.14147633, 0.057346404, -0.10485628, 0.008160006, -0.14553718, -0.14069714, -0.106754564) * go_0(-1.0, 1.0); - result += mat4(-0.18000032, 0.2654082, 0.07008131, -0.21326934, -0.11475177, 0.110427424, -0.09757059, -0.068473235, 0.14004572, -0.1257574, -0.18653339, -0.0546973, -0.04573617, 0.0062926346, -0.111400455, 0.20940857) * go_0(0.0, -1.0); - result += mat4(-0.018083753, 0.2091146, -0.12149297, -0.20310159, 0.19642518, 0.008668434, 0.30470127, 0.080623224, -0.04213514, 0.114459425, -0.20325947, 0.024065504, 0.4724302, -0.12169043, 0.22899939, 0.16189654) * go_0(0.0, 0.0); - result += mat4(0.22153069, -0.13286535, 0.21529129, 0.059222966, -0.010648649, -0.07542803, 0.12650701, 0.107978106, -0.0122471545, -0.12456761, -0.05047403, 0.052241012, -0.18476847, 0.023691572, 0.16347644, -0.10157776) * go_0(0.0, 1.0); - result += mat4(0.053245157, 0.23913434, -0.06288426, -0.15678102, -0.09103809, -0.070054255, -0.021768395, 0.012513, 0.105658144, -0.2088671, -0.03485171, -0.07802848, -0.08754643, 0.0675039, -0.10190519, 0.03442446) * go_0(1.0, -1.0); - result += mat4(-0.028817, 0.11284706, 0.13998732, -0.015143216, -0.03416565, 0.09102063, 0.11161235, 0.08467392, 0.16325544, 0.14942992, -0.12313727, -0.06640328, -0.0750008, -0.018136598, -0.23112826, -0.006661416) * go_0(1.0, 0.0); - result += mat4(0.017297093, 0.07989559, 0.13549612, 0.07035857, -0.25493076, 0.061273754, 0.052633338, 0.0782014, -0.17994808, -0.14367908, 0.098241016, -0.07993234, -0.010386358, -0.102339104, 0.023344131, -0.08682215) * go_0(1.0, 1.0); - result += mat4(0.36794287, -0.048137277, -0.3692417, 0.07832, -0.023172008, 0.02877666, -0.23517531, 0.1448923, 0.09313475, -0.27063283, 0.028388552, 0.17988816, 0.1006075, 0.028261969, -0.10012888, -0.10348935) * go_1(-1.0, -1.0); - result += mat4(-0.06629671, 0.35957095, -0.21791938, -0.12429962, 0.054654542, 0.05988639, -0.32374984, 0.009501225, -0.26171863, 0.042992886, 0.29698196, 0.08521328, 0.15199377, 0.16362138, -0.18785295, -0.049852755) * go_1(-1.0, 0.0); - result += mat4(0.15766738, -0.04841046, 0.14447841, 0.17353393, -0.008089345, 0.04590437, -0.043384884, 0.002877719, 0.08845935, 0.039423246, -0.14808795, -0.03975318, 0.2653877, -0.20700884, 0.07218189, -0.10878484) * go_1(-1.0, 1.0); - result += mat4(0.11222389, 0.2779044, 0.0847275, -0.16267867, 0.17030342, 0.05503266, -0.22644295, -0.23563059, 0.41185054, -0.43625602, -0.18901125, 0.6115694, -0.084791176, -0.01684559, 0.19077617, -0.07168747) * go_1(0.0, -1.0); - result += mat4(0.015268929, -0.14208716, 0.15536898, -0.11922906, -0.021667667, -0.078210905, 0.023766499, -0.18069603, -0.06938558, -0.023576038, -0.2990819, 0.11863158, -0.05013765, 0.061508566, -0.085189775, 0.07901883) * go_1(0.0, 0.0); - result += mat4(0.13318339, 0.29247984, 0.14075997, 0.08248716, 0.3436642, -0.099461004, -0.17356718, -0.029998098, 0.11614284, 0.20115575, 0.04850254, -0.109567694, -0.090151444, 0.06976889, 0.12614332, 0.097242) * go_1(0.0, 1.0); - result += mat4(0.102283016, 0.2969136, -0.059127506, 0.06053867, 0.102346785, 0.061365493, -0.09023823, -0.14396398, 0.04298546, -0.10845686, -0.16071963, 0.05240062, 0.00294458, 0.01617549, 0.30480185, -0.0020818028) * go_1(1.0, -1.0); - result += mat4(0.022530032, -0.04770017, 0.16849731, 0.2684958, -0.20493472, 0.26375678, -0.08210537, 0.11594341, 0.12630959, -0.33804628, -0.066290505, -0.21235433, -0.11481554, 0.045285236, 0.009036264, -0.009541344) * go_1(1.0, 0.0); - result += mat4(0.22221607, 0.19683546, 0.088301376, 0.07007941, 0.42560205, -0.2515224, 0.10263357, 0.17257528, -0.025208276, 0.09696816, 0.07462843, -0.1663459, 0.14332424, -0.04554422, 0.1857485, 0.19819035) * go_1(1.0, 1.0); - result += mat4(-0.33422568, 0.22908518, -0.052035328, 0.0022050992, 0.22068155, -0.31737608, 0.11867548, -0.1062603, 0.21229419, 0.0637268, 0.06284452, 0.075321406, -0.0017977909, -0.24026957, 0.08011851, -0.016301792) * go_2(-1.0, -1.0); - result += mat4(0.18647133, -0.042395514, -0.21644959, 0.020428998, -0.19073069, 0.037881456, 0.15364948, 0.13242447, -0.30524725, 0.056054097, -0.03914103, 0.030670341, -0.0010289366, -0.03421297, 0.34305614, 0.078916825) * go_2(-1.0, 0.0); - result += mat4(-0.061559163, 0.33350998, -0.040633813, -0.1973531, -0.17371178, 0.020277103, -0.024941592, 0.06309346, 0.10086231, -0.07366512, 0.16570221, 0.20248237, -0.23286462, 0.2155677, 0.15136743, 0.05190251) * go_2(-1.0, 1.0); - result += mat4(-0.089644894, 0.13512145, -0.09810823, 0.1616594, 0.16190928, -0.35417703, -0.05601066, 0.20318456, 0.17348176, 0.074274324, 0.029394915, 0.15095772, 0.12337869, 0.029932164, 0.04123706, -0.049648866) * go_2(0.0, -1.0); - result += mat4(0.46952993, 0.14834478, -0.11927866, 0.07611556, -0.2967575, -0.030506441, -0.1524667, -0.16106017, -0.38649827, 0.18501776, 0.07677004, -0.0828538, -0.43983704, -0.15083657, -0.118309684, 0.13656397) * go_2(0.0, 0.0); - result += mat4(-0.04939808, 0.53252345, 0.12711428, -0.38512766, -0.20486577, 0.031688303, -0.18231112, -0.019054607, -0.034855623, -0.05244254, -0.1425771, 0.0892418, 0.046889585, 0.1430025, -0.12742822, 0.092776656) * go_2(0.0, 1.0); - result += mat4(-0.105744444, -0.10247078, -0.02144931, -0.09396661, -0.03536793, -0.027341979, -0.103435315, 0.12214116, -0.13862023, 0.037751865, 0.40586975, 0.023863355, -0.12592442, -0.0762698, 0.008515978, 0.1552095) * go_2(1.0, -1.0); - result += mat4(0.018858416, 0.053681094, 0.16911085, -0.29219922, -0.182029, 0.02297272, -0.30588147, -0.18948974, -0.05744442, 0.0065371646, 0.16328862, -0.051437955, 0.13113242, -0.07573973, -0.047258016, 0.0882382) * go_2(1.0, 0.0); - result += mat4(-0.021155104, 0.07440132, -0.06681412, -0.20775446, 0.053573515, 0.007910367, -0.26769453, -0.15753269, 0.24886242, -0.004493456, 0.023437606, 0.13257046, 0.104298666, 0.14052817, -0.29093856, 0.006735399) * go_2(1.0, 1.0); - result += mat4(-0.1299053, 0.21084401, 0.07395335, 0.025556391, -0.012464804, 0.090624444, -0.1041891, 0.03487812, -0.012958428, -0.22729388, 0.06259986, -0.1693054, -0.12679845, -0.15950051, -0.13191415, 0.1125045) * go_3(-1.0, -1.0); - result += mat4(0.1916771, -0.02030791, -0.2001191, 0.01943065, -0.18369348, -0.054252382, -0.11485618, -0.16434757, 0.0587951, 0.15208498, -0.1752913, 0.03718008, -0.07597363, -0.21144252, -0.049415894, -0.010295923) * go_3(-1.0, 0.0); - result += mat4(-0.044603452, 0.019383559, -0.24661145, -0.12994917, 0.12697428, -0.13032277, -0.15293793, -0.03483303, -0.104321085, 0.04012559, 0.037243072, 0.079595305, -0.12313407, 0.118987724, 0.038709577, 0.09531991) * go_3(-1.0, 1.0); - result += mat4(-0.021859067, 0.009060085, 0.19879933, 0.21082644, -0.07705756, 0.10045584, -0.075999945, 0.15191688, -0.12042984, -0.11578441, 0.29679164, -0.23787339, 0.1087794, -0.1419117, -0.22779143, 0.12054577) * go_3(0.0, -1.0); - result += mat4(0.16636065, 0.21066229, -0.06262401, 0.051833395, 0.05992027, 0.014294402, -0.13363211, -0.11139326, -0.026526988, -0.2071816, -0.03000262, -0.08924753, 0.0979992, -0.08312352, -0.016549548, -0.034920745) * go_3(0.0, 0.0); - result += mat4(0.099836424, -0.19452114, 0.07249264, -0.025459828, 0.12210845, -0.15024027, -0.06490785, -0.080187015, -0.009426102, 0.15876383, -0.19070506, 0.12257102, 0.04862195, 0.0707773, -0.24345201, -0.103591055) * go_3(0.0, 1.0); - result += mat4(-0.039747223, 0.07834283, 0.13246708, -0.021774938, -0.05476214, 0.07021812, 0.0134778535, 0.003289531, 0.11907656, 0.04191671, 0.04860092, -0.041503876, -0.040156245, -0.21329322, 0.2024782, 0.067827046) * go_3(1.0, -1.0); - result += mat4(-0.036722995, 0.12776081, 0.14014143, 0.09107308, 0.18742307, -0.099873625, -0.13149267, -0.18590397, -0.067778006, 0.16363877, -0.007999648, 0.13500053, 0.23733437, 0.16123019, 0.23561893, 0.0365712) * go_3(1.0, 0.0); - result += mat4(0.023911275, -0.03754323, 0.17444386, 0.08616114, 0.21406639, -0.15029684, 0.09355591, -0.2486941, 0.11913366, -0.16174106, -0.10907662, 0.107935205, -0.20745984, -0.06180981, -0.019558005, -0.24215329) * go_3(1.0, 1.0); - result += vec4(-0.16255508, -0.041602854, 0.09628627, 0.12747966); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.14002717, 0.058876935, 0.20110254, 0.08939276, 0.03416418, 0.0011943586, 0.042772148, -0.00071322336, -0.115944035, 0.04220234, -0.34941152, -0.01974448, -0.0860279, 0.062355816, -0.023853427, 0.02757322) * go_0(-1.0, -1.0); - result += mat4(0.07400734, 0.19251242, 0.22637455, -0.12530822, -0.17724502, -0.022523593, -0.15113536, 0.065425, 0.101782374, -0.014717139, -0.098752305, 0.080687046, -0.1023507, 0.019614108, 0.01754361, 0.017383952) * go_0(-1.0, 0.0); - result += mat4(-0.044900224, -0.04213899, 0.0073328684, 0.16705592, -0.051043745, -0.115500204, -0.07567362, 0.07818187, 0.26050508, 0.20679274, 0.04177571, 0.059024576, -0.12510507, -0.051585447, -0.007354538, 0.041514263) * go_0(-1.0, 1.0); - result += mat4(0.19596866, -0.085393354, 0.03522195, 0.070734546, -0.10047298, 0.033123884, -0.030003218, -0.060309574, 0.11121212, 0.038920198, -0.09097313, 0.020515997, 0.082481235, 0.08472773, -0.007372676, 0.020294813) * go_0(0.0, -1.0); - result += mat4(-0.08415041, -0.2041298, -0.0834695, -0.18762465, 0.26823425, -0.029255247, 0.21203867, 0.01842292, 0.17127061, -0.14378369, 0.18486983, 0.040807612, 0.053938765, -0.0033184371, 0.021192972, -0.28285155) * go_0(0.0, 0.0); - result += mat4(-0.071444504, -0.16073905, 0.03151272, 0.31961456, -0.09696413, -0.14652419, 0.012872177, 0.036853626, 0.055909842, 0.023814479, 0.12539348, 0.40904784, 0.065472044, -0.04875745, -0.012401859, 0.055437304) * go_0(0.0, 1.0); - result += mat4(-0.020927057, -0.23479983, -0.073076054, -0.019441728, 0.08953939, 0.00085565075, 0.061437223, -0.0912304, 0.088546015, -0.009464413, -0.21220255, -0.13741408, 0.049379412, -0.059064344, 0.019205336, -0.11340151) * go_0(1.0, -1.0); - result += mat4(0.091714375, -0.17525947, 0.10243093, 0.037679292, 0.062438603, -0.05920895, -0.041936304, -0.030830177, 0.15641114, -0.13261372, -0.021079037, -0.036029477, 0.051840104, 0.07784452, 0.024798041, -0.079719625) * go_0(1.0, 0.0); - result += mat4(0.09153048, 0.09966556, -0.10249195, 0.062159285, -0.041912418, -0.22329834, 0.06683857, -0.07287391, -0.1276734, -0.108105786, -0.076660454, -0.07083524, 0.115786545, 0.043516885, 0.032041304, 0.058955755) * go_0(1.0, 1.0); - result += mat4(0.13925591, 0.18807505, 0.19418481, 0.13057134, -0.18483852, 0.07704087, -0.25748852, -0.008577424, 0.0165214, 0.03893396, 0.081021786, -0.19419926, 0.21641012, 0.047428373, -0.08350786, -0.14157358) * go_1(-1.0, -1.0); - result += mat4(-0.06301399, -0.10051874, 0.050919298, -0.011019032, -0.09310829, -0.09138247, -0.16847654, 0.059362046, 0.09107295, 0.06165534, -0.14288484, -0.09833287, 0.116363674, 0.20607105, 0.28841344, -0.09095499) * go_1(-1.0, 0.0); - result += mat4(-0.21624683, -0.01876206, 0.008987255, 0.17512046, -0.07461909, 0.124108806, -0.054439757, 0.0063252384, -0.24328436, 0.12330878, -0.09306248, -0.046553027, 0.07773235, 0.08965016, 0.0025699693, 0.06252218) * go_1(-1.0, 1.0); - result += mat4(0.17797774, -0.0768457, -0.06500614, 0.010914941, 0.052788664, 0.10169022, -0.11962388, -0.10176263, -0.52695477, 0.10339165, 0.12893896, 0.016989866, -0.070845306, 0.011061218, -0.033032518, 0.13843493) * go_1(0.0, -1.0); - result += mat4(0.4498575, 0.3626344, -0.18857695, 0.12901132, 0.050753895, 0.03323978, -0.15807427, 0.050633483, -0.35924155, 0.13558777, 0.07132256, -0.20883714, 0.23128356, 0.2943383, 0.011521201, -0.21517687) * go_1(0.0, 0.0); - result += mat4(-0.007034323, -0.08821435, -0.1275898, -0.15626103, 0.1458542, 0.26724494, -0.118883595, -0.0062981425, 0.07331739, -0.061295208, -0.008509335, -0.012484612, -0.010828551, -0.11301564, -0.078878716, -0.07692456) * go_1(0.0, 1.0); - result += mat4(-0.17712432, 0.020956295, 0.118008055, 0.09609794, 0.22146885, 0.20994097, -0.11431106, -0.10710715, -0.15350081, 0.118692145, -0.028190786, 0.021440385, 0.053412, -0.06350743, -0.03998433, 0.061913643) * go_1(1.0, -1.0); - result += mat4(-0.07220576, 0.21927893, 0.029267995, 0.107059665, 0.114823125, -0.115261756, -0.18801664, 0.04473252, -0.055653024, 0.11297751, 0.15545851, -0.012991604, 0.1803409, 0.1982345, -0.07486266, -0.09845943) * go_1(1.0, 0.0); - result += mat4(-0.0855076, 0.014239223, 0.15630183, 0.21274531, -0.24398185, -0.039692834, -0.167163, 0.09103569, 0.029505143, 0.0986762, 0.015726546, 0.015572646, 0.16977786, -0.08617271, 0.13340445, -0.14292516) * go_1(1.0, 1.0); - result += mat4(-0.07120758, -0.1391182, -0.12895927, -0.05497231, 0.017502422, 0.21387358, 0.11369438, -0.09802215, 0.23512627, -0.18750496, 0.3741736, 0.07218814, 0.050294157, -0.03545248, 0.1803603, -0.05216715) * go_2(-1.0, -1.0); - result += mat4(-0.031216163, 0.26304567, -0.22097221, 0.0057130447, 0.05476227, 0.048769098, 0.11701435, -0.08043882, 0.121324, -0.07633719, 0.019091062, 0.1056272, 0.19340484, -0.11655276, -0.06859909, -0.20875669) * go_2(-1.0, 0.0); - result += mat4(-0.1303287, 0.23683752, -0.14536002, -0.12238158, -0.024545986, -0.09032069, 0.03192402, -0.22449107, 0.2297885, 0.02040227, 0.00034511733, -0.0878228, 0.184152, -0.070972465, -0.010276752, -0.1974931) * go_2(-1.0, 1.0); - result += mat4(-0.345411, -0.088238314, -0.020721637, -0.19773935, -0.08967216, 0.11257784, 0.11590796, 0.047473334, 0.20315827, 0.08028863, -0.053076692, 0.04220213, 0.0463197, -0.11993164, 0.17273119, -0.10105775) * go_2(0.0, -1.0); - result += mat4(0.01774352, -0.029116748, -0.070671946, 0.03868912, -0.23905252, 0.122819565, -0.13782008, -0.11386684, -0.15104173, 0.06922476, -0.40653947, -0.041311335, 0.03382718, 0.17504995, 0.19865142, 0.20958701) * go_2(0.0, 0.0); - result += mat4(0.019477593, -0.13480781, -0.15261935, -0.29111782, -0.009433358, 0.07510615, -0.07673836, -0.092863046, -0.15928364, -0.18979515, 0.23357031, -0.096665405, 0.017931713, 0.15517262, -0.045679327, -0.13043073) * go_2(0.0, 1.0); - result += mat4(0.009786184, 0.23618346, 0.08964326, -0.07550377, -0.21214269, 0.008612741, 0.012998613, 0.08797401, 0.16580902, 0.018369747, 0.31754863, 0.094271086, -0.3186572, 0.013351233, -0.04407326, 0.0920314) * go_2(1.0, -1.0); - result += mat4(-0.025626086, 0.09697167, -0.013395247, -0.080764554, -0.19025484, 0.25081167, -0.008351234, 0.009649054, -0.045282297, 0.02762338, 0.09182815, -0.015618593, -0.24248622, -0.0027028685, -0.026439957, 0.06903493) * go_2(1.0, 0.0); - result += mat4(0.15144084, 0.09893225, 0.18078536, -0.40492618, 0.006812688, 0.20841157, -0.052535042, -0.03471349, 0.07722477, 0.18913163, 0.06806257, 0.13268931, -0.23726766, -0.06573527, -0.07974115, 0.00016083609) * go_2(1.0, 1.0); - result += mat4(-0.22123417, 0.043395992, -0.075050056, 0.040263254, 0.05219495, -0.10119571, 0.06624045, 0.006088249, -0.02443482, 0.22211014, 0.11706287, 0.09821594, -0.26269525, -0.045644283, 0.1594094, 0.05119857) * go_3(-1.0, -1.0); - result += mat4(-0.1359838, 0.085772105, -0.14989698, 0.22662053, -0.13730896, 0.13598563, -0.22069088, -0.049138095, -0.11819638, 0.00615722, 0.22080155, -0.18276499, 0.13765272, 0.026108319, -0.16875726, -0.04851573) * go_3(-1.0, 0.0); - result += mat4(-0.23633143, -0.04675013, 0.13207665, 0.17955893, -0.057579413, -0.007248268, -0.11771674, 0.053317282, 0.06935881, -0.07843104, -0.051989514, -0.101527795, 0.030873962, 0.05374762, 0.15865721, -0.11873757) * go_3(-1.0, 1.0); - result += mat4(-0.17574823, 0.116152145, 0.038584445, 0.06896235, 0.045519844, -0.003343947, -0.18241419, -0.0559283, 0.1285456, -0.06100108, 0.072168864, 0.2383614, 0.06786445, -0.110831186, 0.0017635048, -0.11216164) * go_3(0.0, -1.0); - result += mat4(-0.22214325, -0.16752025, 0.39590892, 0.0366774, -0.09062008, 0.04298391, -0.2098661, -0.007913526, 0.27807632, -0.0072328355, -0.123739436, 0.017585058, -0.0792693, -0.012500297, -0.0028807693, -0.0010119011) * go_3(0.0, 0.0); - result += mat4(0.014059116, 0.19940482, 0.16831028, 0.16160843, -0.23937507, -0.0070899655, 0.05102661, 0.14583974, 0.04344956, 0.21863829, 0.014209773, -0.063842624, -0.19981036, 0.09243793, 0.24139273, 0.11667779) * go_3(0.0, 1.0); - result += mat4(0.16715737, -0.09880053, 0.00053459726, -0.08722921, -0.050105397, -0.01993378, -0.15830508, -0.028736366, -0.03423738, -0.13328381, -0.1851269, 0.012596559, 0.16408625, 0.10486815, -0.011303046, -0.025475042) * go_3(1.0, -1.0); - result += mat4(0.118060954, -0.24267668, -0.0098548755, -0.04774737, -8.479728e-05, 0.11292645, -0.05507332, -0.20990159, -0.16743746, -0.17963362, -0.14095132, 0.19843975, -0.032164577, -0.21628135, -0.12668937, -0.008645119) * go_3(1.0, 0.0); - result += mat4(0.11424831, -0.19821498, 0.016948126, 0.0033053497, 0.24253003, 0.24522384, -0.13992928, 0.08576702, -0.15157521, -0.08158828, 0.07676344, -0.08844756, -0.02293248, -0.052961793, 0.08597288, -0.07834255) * go_3(1.0, 1.0); - result += vec4(-0.07366732, -0.06278686, 0.11547288, -0.04786791); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.012843345, 0.047590222, 0.0052741203, 0.017328946, 0.06774971, -0.028615275, 0.030839639, 0.053735327, -0.093057916, 0.08288735, 0.02991863, -0.040167376, 0.11699043, 0.062987246, 0.038180597, 0.11130321) * go_0(-1.0, -1.0); - result += mat4(0.047898952, 0.013089616, 0.13206771, 0.053474475, -0.24849094, -0.13717765, -0.14899106, 0.032647215, -0.111574546, -0.017941473, 0.017136412, -0.04121033, 0.04825172, -0.07243479, -0.30205736, -0.009043054) * go_0(-1.0, 0.0); - result += mat4(-0.006104078, -0.056147296, -0.05430816, -0.012150009, -0.12583707, -0.06810525, -0.18965304, -0.03767409, 0.038220566, 0.12901759, 0.14772348, -0.011318772, 0.10613474, -0.011039028, -0.017407915, -0.035597485) * go_0(-1.0, 1.0); - result += mat4(0.070510425, 0.07079898, 0.063229784, 0.12203576, -0.08330366, 0.14733653, 0.1879776, 0.038365003, -0.112844236, 0.039776023, 0.1109856, -0.013311713, -0.039772045, 0.055393253, 0.13704132, -0.017909162) * go_0(0.0, -1.0); - result += mat4(0.01609076, 0.29408732, -0.27179766, 0.06092111, 0.22690177, -0.16917813, -0.3125674, -0.059012905, -0.095299855, -0.07046006, -0.03500062, 0.14539354, -0.031449903, -0.020992422, 0.11367832, -0.16279401) * go_0(0.0, 0.0); - result += mat4(-0.014307108, 0.066424, -0.10264224, 0.03198627, 0.1848716, 0.0827183, 0.055873994, -0.08671376, -0.09059771, -0.0033756928, 0.015373264, 0.1482131, -0.22886358, 0.14303732, 0.060101535, -0.056595195) * go_0(0.0, 1.0); - result += mat4(-0.085188106, 0.07173675, 0.112149395, 0.12051379, -0.008070544, 0.17174324, 0.09781431, 0.15725529, -0.11921908, -0.026167218, 0.0726004, 0.1150364, 0.07129521, 0.08404156, -0.06052682, -0.024796983) * go_0(1.0, -1.0); - result += mat4(-0.118749954, 0.21372789, 0.1825785, 0.12766796, -0.20407347, -0.31983793, 0.06569954, 0.061804183, -0.1381503, -0.2288562, 0.010778781, 0.046662748, 0.09632992, -0.0007208436, 0.042766806, -0.008586152) * go_0(1.0, 0.0); - result += mat4(-0.08471548, 0.11370638, 0.044628102, 0.21962023, -0.1537214, 0.018495824, -0.10132307, 0.055931155, -0.19381963, -0.029650096, -0.12020838, 0.14787269, 0.10709368, 0.091088474, -0.08593706, 0.02723246) * go_0(1.0, 1.0); - result += mat4(0.023070067, 0.047927327, -0.0039206124, 0.044357426, 0.078707196, -0.02090998, 0.061532218, -0.01990171, -0.0010075673, -0.02985451, -0.013571645, 0.072454736, -0.08910195, 0.08069201, 0.021186491, -0.015898732) * go_1(-1.0, -1.0); - result += mat4(0.19465011, -0.099643335, -0.13729279, -0.01785864, 0.07081408, -0.03980578, -0.055030484, -0.007838133, 0.02866604, 0.047467582, 0.0021829177, -0.0085278815, -0.14039196, 0.14613628, -0.08654854, 0.091417976) * go_1(-1.0, 0.0); - result += mat4(0.2008973, -0.055368304, -0.11570937, -0.020534834, 0.029072378, 0.057559345, -0.12295086, -0.093348056, -0.032486536, -0.024021279, -0.03250597, 0.03629745, -0.08590457, -0.037932087, -0.21787491, 0.06611054) * go_1(-1.0, 1.0); - result += mat4(0.0013978226, 0.12190444, -0.1388371, 0.053365257, 0.06383916, -0.16512986, 0.020202242, -0.05118216, -0.022544125, 0.022348702, -0.04619122, -0.007816115, 0.16181955, -0.087810166, -0.017245274, 0.2592078) * go_1(0.0, -1.0); - result += mat4(-0.29257166, 0.18668509, 0.39435357, -0.015695287, 0.052169085, 0.08033462, -0.06759564, 0.15172167, -0.07392426, 0.08598093, -0.099814445, 0.16442427, -0.23507537, 0.00095621345, 0.09456823, 0.35083038) * go_1(0.0, 0.0); - result += mat4(0.09508197, -0.10668374, 0.07861556, -0.18495509, -0.012995353, 0.10549121, 0.20355113, 0.02486487, -0.0010891877, 0.0013024746, 0.040683478, 0.09813279, -0.25718254, -0.080950156, -0.20833632, -0.011176342) * go_1(0.0, 1.0); - result += mat4(0.04636551, 0.01815646, -0.061344985, 0.16105172, 0.018154364, 0.08175996, 0.02177905, 0.05214974, 0.056760095, 0.056198932, -0.01944339, 0.10342066, 0.037774805, -0.098509185, -0.050058816, 0.22327778) * go_1(1.0, -1.0); - result += mat4(0.3342538, 0.24596402, -0.05070882, -0.1629279, -0.0605624, -0.31846803, -0.030116247, 0.14499578, 0.23033214, 0.100796476, -0.11549748, 0.13272488, 0.09768287, -0.08599002, -0.18570031, -0.095745035) * go_1(1.0, 0.0); - result += mat4(0.017806288, 0.03143078, 0.1363342, -0.018307902, 0.036575943, -0.04645106, -0.13187204, -0.019356936, 0.08177283, 0.14059572, -0.026990665, -0.025628868, 0.089009784, -0.054094527, -0.10889895, -0.08352851) * go_1(1.0, 1.0); - result += mat4(-0.10441912, 0.06942166, 0.021075722, 0.022823252, 0.14455585, -0.10067584, -0.006786432, -0.15945506, 0.051149122, -0.051351603, -0.012551037, 0.017784216, -0.030743994, 0.06534117, -0.05894921, -0.007193482) * go_2(-1.0, -1.0); - result += mat4(-0.105177015, 0.12079406, -0.021824203, 0.0051873215, 0.09426312, 0.0872351, 0.042457238, -0.027718134, -0.04744092, -0.036118995, -0.088347785, 0.025714433, -0.0033455554, 0.0052299164, 0.14114419, -0.23041077) * go_2(-1.0, 0.0); - result += mat4(-0.10924918, 0.07170065, 0.15847342, 0.045235954, 0.01170718, 0.09113452, 0.155801, 0.012455027, 0.0091770645, -0.071032606, -0.06911904, -0.0078831315, 0.27796802, -0.08136213, 0.20615137, -0.22055252) * go_2(-1.0, 1.0); - result += mat4(0.02993543, -0.011065637, 0.015992155, -0.106134124, -0.26578894, 0.16489314, 0.0020848098, 0.12432517, -0.14845847, 0.11076599, -0.015617476, 0.12498255, 0.009672752, -0.013014179, 0.10577515, 0.02908296) * go_2(0.0, -1.0); - result += mat4(-0.0728776, -0.14159116, 0.105368264, -0.016262107, -0.14621304, -0.0007887494, 0.14413477, 0.11337385, -0.1769697, -0.1076886, 0.08036942, 0.10428512, 0.10336065, -0.15257628, 0.05553209, 0.12439473) * go_2(0.0, 0.0); - result += mat4(-0.067323305, 0.23115864, 0.0817162, 0.13127932, 0.02427729, 0.01246805, 0.021550559, 0.066352196, -0.014213087, -0.022559473, 0.058270242, -0.069260366, -0.1949913, 0.27712336, -0.020843407, 0.16199547) * go_2(0.0, 1.0); - result += mat4(-0.06066066, 0.009365795, -0.005817299, 0.016661849, 0.032292802, 0.10364246, -0.105340734, -0.040422246, 0.0028520338, 0.10786728, 0.041312158, 0.0634878, -0.10283239, -0.13716424, 0.2013461, -0.14106691) * go_2(1.0, -1.0); - result += mat4(-0.14796652, 0.042259417, -0.08663438, 0.09733461, -0.044074174, 0.24739462, 0.04777009, -0.026686348, 0.0027458945, 0.043400105, -0.11496284, 0.08113486, -0.33933377, 0.046819236, -0.12803015, 0.006137677) * go_2(1.0, 0.0); - result += mat4(-0.07903079, -0.009489394, 0.018812884, -0.031424083, 0.14344518, 0.08629371, 0.123602144, 0.045581687, 0.102321856, 0.07221763, 0.14465447, -0.23171869, -0.1145046, -0.088674895, -0.08679749, -0.20322132) * go_2(1.0, 1.0); - result += mat4(-0.09741677, 0.0010184142, -0.06932825, 0.044964395, 0.03060611, 0.11817057, 0.04148144, 0.000755089, 0.018646225, -0.1362759, 0.045627713, -0.01720389, -0.013920286, 0.0041473205, 0.023480741, -0.00036270308) * go_3(-1.0, -1.0); - result += mat4(-0.047821313, 0.15457056, 0.081069574, -0.061125267, -0.003727664, -0.03735384, -0.00673114, -0.0585745, -0.14427665, 0.21584798, 0.17612408, 0.03723236, 0.09688153, 0.0071055717, 0.0704578, -0.008490558) * go_3(-1.0, 0.0); - result += mat4(0.005648931, -0.021415008, 0.07515239, 0.024656001, 0.14356652, -0.09023091, -0.092833556, -0.11933706, -0.17543222, -0.31645912, -0.14794292, -0.10830711, 0.046658885, -0.13449514, -0.032724228, -0.07927336) * go_3(-1.0, 1.0); - result += mat4(-0.012330256, 0.030906612, 0.009849825, 0.16186711, 0.105316125, 0.1066287, 0.007410255, 0.08471377, -0.06755245, 0.2835302, 0.06922882, 0.18501134, -0.10781668, -0.021025939, -0.057754997, -0.19532007) * go_3(0.0, -1.0); - result += mat4(0.09254016, 0.21572222, -0.250398, -0.017990865, 0.10726608, -0.13617107, 0.06726572, -0.17355372, 0.07552837, -0.01980061, 0.10523871, -0.062427603, -0.1769102, 0.35534126, -0.22155605, -0.13921477) * go_3(0.0, 0.0); - result += mat4(0.0054315915, 0.028563919, -0.030617325, 0.12851912, 0.0020591016, -0.07287573, -0.15371658, -0.3468236, 0.042036943, -0.19993319, -0.1311562, -0.11087494, -0.033534657, -0.049439076, 0.07299748, 0.049393892) * go_3(0.0, 1.0); - result += mat4(0.04817828, 0.009956909, 0.08608736, -0.04149299, 0.07101367, -0.03388178, 0.08030968, -0.032450564, 0.14994971, -0.006995002, 0.13461865, -0.061656967, -0.044900555, -0.05698395, 0.07130313, -0.17835349) * go_3(1.0, -1.0); - result += mat4(0.09259944, -0.1760367, -0.05008204, 0.12799591, 0.10526596, 0.25768888, 0.11187724, -0.06537007, 0.11869906, -0.30243787, 0.1930932, -0.13290296, 0.017331708, 0.04682896, 0.02930385, 0.15250616) * go_3(1.0, 0.0); - result += mat4(-0.01343636, -0.015147329, -0.12101166, 0.04787181, 0.088516094, -0.0716172, 0.012281597, -0.01175244, -0.036102388, -0.16996604, 0.0068835146, 0.16938321, -0.019361602, -0.07008898, -0.111906745, -0.008676077) * go_3(1.0, 1.0); - result += vec4(0.03128986, -0.070663765, -0.056307543, -0.043389197); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.010251427, -0.045750465, 0.016315231, -0.008768869, 0.017431414, 0.080067836, 0.025827147, 0.10838066, 0.0024869177, -0.034495536, 0.09772538, 0.07213915, 0.016637174, 0.040788822, -0.022752339, 0.10970543) * go_0(-1.0, -1.0); - result += mat4(0.11526194, 0.09676918, -0.04237834, -0.2271947, 0.12261753, -0.24500768, 0.10468346, 0.13780572, -0.009849901, 0.023189532, 0.0011982447, 0.04185303, 0.045187697, 0.06505389, 0.096869685, -0.1784324) * go_0(-1.0, 0.0); - result += mat4(0.04672689, 0.13536161, -0.1818021, -0.20668268, 0.07533596, -0.032177944, -0.024819814, 0.036118865, 0.012960037, -0.04256549, 0.03154665, 0.10697645, 0.0455828, 0.15624708, 0.0880299, -0.044446476) * go_0(-1.0, 1.0); - result += mat4(-0.03187084, -0.04798656, 0.05435525, -0.060023244, -0.02988392, -0.13252808, -0.13699181, -0.013882888, 0.052836955, -0.051288467, -0.048392758, -0.02818318, -0.045959223, -0.0385304, -0.113381095, 0.048340388) * go_0(0.0, -1.0); - result += mat4(0.06799445, -0.32721373, 0.09433875, -0.24025385, 0.0029125893, -0.029136823, 0.01100064, -0.12017942, -0.12278812, -0.0646935, 0.009398038, -0.021518359, 0.008572816, 0.15084247, -0.22798048, -0.027803216) * go_0(0.0, 0.0); - result += mat4(0.14571115, 0.24804439, 0.13177192, -0.1820655, -0.0030899157, -0.11837261, 0.14447895, 0.11825037, 0.083688706, 0.13209106, 0.051847935, -0.27009267, -0.030820336, 0.15591313, 0.00807933, 0.08577916) * go_0(0.0, 1.0); - result += mat4(0.07043623, -0.006127145, -0.16473344, -0.091646075, 0.12019198, 0.02408659, 0.038805984, 0.043282606, 0.09853516, -0.03085117, -0.13666795, 0.057578508, 0.023477113, -0.050639734, 0.05486259, 0.10117338) * go_0(1.0, -1.0); - result += mat4(0.07739963, 0.019718317, -0.17859067, -0.107660785, 0.07235146, -0.08198499, -0.13072458, 0.0808431, -0.09421921, -0.024668563, 0.058651946, 0.058679227, -0.041750733, 0.07785575, 0.0375434, -0.11090677) * go_0(1.0, 0.0); - result += mat4(0.13032761, 0.2291367, -0.1677081, -0.22246332, 0.03946319, 0.0063910848, 0.09128152, 0.0013804171, -0.034065075, -0.058277655, 0.052419346, -0.030012188, 0.018556409, -0.07521306, 0.12746032, 0.0899423) * go_0(1.0, 1.0); - result += mat4(-0.14820024, 0.03316697, 0.074021704, 0.0349015, -0.028731624, -0.03655249, 0.041885335, 0.025598902, -0.007544352, -0.058063164, 0.030487465, -0.073317364, -0.033130456, -0.17607957, 0.0020156964, 0.15351814) * go_1(-1.0, -1.0); - result += mat4(-0.33111712, 0.11070417, -0.11759775, 0.12881225, -0.10840586, -0.114877716, 0.026571346, 0.01617625, 0.0028098845, 0.07325011, -0.008114658, 0.11581408, 0.0040087802, 0.15237121, 0.10423624, 0.010486565) * go_1(-1.0, 0.0); - result += mat4(-0.14014785, 0.03670812, 0.041663505, -0.25026393, -0.05651376, -0.009220771, 0.18786587, 0.11221872, -0.0045316, -0.0781469, 0.09609792, -0.077175744, 0.15113525, 0.14979461, -0.003579166, -0.097722545) * go_1(-1.0, 1.0); - result += mat4(0.005191016, -0.05746076, 0.14736177, -0.37837118, -0.116905205, 0.035447106, -0.1389216, -0.06583864, 0.08867301, -0.027591052, 0.020395119, -0.067704394, -0.078146204, 0.21156693, -0.24100207, -0.34081197) * go_1(0.0, -1.0); - result += mat4(0.3395633, -0.16366479, -0.16501908, 0.19205959, -0.1203106, 0.1201394, 0.059141878, 0.024588805, 0.0106182005, -0.007498128, -0.13781549, -0.031079333, 0.45373476, -0.019419974, -0.029461615, -0.109356895) * go_1(0.0, 0.0); - result += mat4(-0.20302778, 0.023634301, 0.0037064455, 0.23106048, -0.14157735, 0.115462445, -0.10275177, -0.05708588, 0.0066573587, -0.14406916, -0.029837208, 0.056612004, -0.036978997, 0.07784742, -0.009329581, 0.11628078) * go_1(0.0, 1.0); - result += mat4(-0.050052032, 0.061341796, -0.108812004, -0.27657855, 0.07106667, -0.062498234, 0.08073948, 0.18898413, -0.005880379, -0.031624768, 0.0334547, 0.10361753, -0.18414119, -0.070826136, 0.027453694, 0.022999335) * go_1(1.0, -1.0); - result += mat4(0.014818375, 0.17337285, 0.10936815, -0.030657725, -0.08041041, 0.022390872, 0.0053962595, 0.090021096, 0.05470518, 0.014654071, 0.06899392, -0.03431451, 0.05177294, -0.13493995, -0.055468578, -0.19131596) * go_1(1.0, 0.0); - result += mat4(0.08200318, -0.10802187, -0.075451784, 0.006642357, -0.041665014, -0.05528946, 0.1799087, -0.07113583, -0.016218789, -0.12353001, -0.034801062, 0.06995437, 0.013318846, -0.16708943, 0.17779571, 0.20705931) * go_1(1.0, 1.0); - result += mat4(0.10754426, -0.03437161, -0.089123115, -0.12592112, -0.09719291, 0.042339396, -0.02457928, -0.10472151, -0.031175358, -0.06077806, -0.025603233, 0.0030798917, 0.0302328, -0.011108347, -0.08815118, -0.11247357) * go_2(-1.0, -1.0); - result += mat4(-0.03634052, -0.0752815, -0.032257803, -0.020932812, -0.01030603, 0.05347118, -0.013455479, -0.1528448, 0.11631174, 0.017359301, 0.0053947037, -0.10187295, -0.034056764, -0.06371101, 0.10579902, 0.06297638) * go_2(-1.0, 0.0); - result += mat4(0.0026892002, -0.09832557, 0.07002896, 0.17336288, 0.017382741, 0.0868499, 0.024310237, 0.1024202, 0.016445315, -0.096997134, -0.05655256, -0.03888035, -0.23449722, 0.004868548, -0.046150357, 0.16268611) * go_2(-1.0, 1.0); - result += mat4(-0.08197917, 0.06499742, 0.044401966, 0.119590975, 0.17058893, 0.003096477, 0.073047325, -0.2325016, 0.20562899, 0.06886438, -0.10150125, -0.09421983, -0.026852611, 0.11638924, -0.2897435, 0.10056706) * go_2(0.0, -1.0); - result += mat4(0.05599001, 0.20881969, 0.057560008, 0.03211348, 0.07353149, 0.10849278, -0.04358825, -0.07277266, 0.19414866, 0.084341206, -0.054937962, -0.19548011, -0.1875029, -0.13233592, 0.247698, 0.054934226) * go_2(0.0, 0.0); - result += mat4(0.006909254, -0.043635696, -0.0420242, 0.0029297285, -0.011208758, 0.10583326, -0.039475866, -0.091568366, -0.11034183, -0.2710617, -0.15182555, 0.27160573, 0.029486256, -0.17993683, 0.10480137, -0.031949393) * go_2(0.0, 1.0); - result += mat4(0.012359864, -0.024621721, -0.066488825, -0.041012418, 0.0008418082, -0.034133818, 0.1275645, -0.22584224, 0.04127642, 0.021086683, -0.055507325, 0.017740795, -0.10207868, -0.02459281, -0.16278388, 0.2084072) * go_2(1.0, -1.0); - result += mat4(0.07907339, -0.08811312, -0.043821383, -0.12781687, -0.014701197, -0.08600121, -0.07344954, -0.06233793, 0.13561183, 0.17435691, -0.25248256, -0.18915577, 0.11731138, -0.076414265, 0.011668736, -0.24489906) * go_2(1.0, 0.0); - result += mat4(0.015452916, -0.1093781, -0.031768844, -0.049816687, 0.087654404, 0.083113015, -0.11759004, -0.02852037, 0.0119902035, -0.12981133, -0.043321397, 0.30873615, 0.16349368, 0.0475539, -0.12394514, 0.012860273) * go_2(1.0, 1.0); - result += mat4(0.024975974, 0.14167881, -0.03849521, 0.092395015, -0.14491238, -0.024630755, 0.1262065, 0.22724074, -0.088403955, 0.069909796, -0.1582284, -0.06366643, 0.03808985, 0.055002328, 0.046191234, -0.15073699) * go_3(-1.0, -1.0); - result += mat4(0.040616892, -0.05149903, 0.07913543, -0.12622666, 0.012306014, -0.0072504813, 0.09324519, 0.013837971, 0.033986375, 0.09466625, -0.11271816, 0.06514161, 0.008318977, 0.2319992, -0.23813216, -0.064383216) * go_3(-1.0, 0.0); - result += mat4(0.0058016274, 0.07342614, -0.02532061, 0.046294674, -0.14704724, -0.09635743, 0.011660911, -0.028665043, 0.07488793, 0.049912058, -0.23186599, -0.12174707, -0.078130014, -0.17273565, 0.009148666, 0.042669322) * go_3(-1.0, 1.0); - result += mat4(0.02457923, 0.06036786, -0.08706319, 0.011597113, 0.0027447701, 0.12410346, 0.07509643, 0.23769653, 0.055913534, -0.030516708, 0.090205066, 0.005610863, -0.0037265806, -0.06458783, 0.08390646, 0.03704848) * go_3(0.0, -1.0); - result += mat4(-0.24644387, 0.09733959, 0.15941189, -0.039000493, -0.34143484, -0.10905996, 0.123846896, -0.025850125, 0.22231472, -0.074195, 0.17869541, 0.007901206, -0.07893139, -0.0031443893, -0.2252749, 0.020515904) * go_3(0.0, 0.0); - result += mat4(0.046822242, 0.19209228, 0.10584968, -0.20782734, 0.020917192, 0.064485386, 0.022432446, 0.0021164739, 0.053817958, 0.2291973, 0.15079306, -0.18283905, 0.090974085, 0.24965459, -0.11586238, -0.1068585) * go_3(0.0, 1.0); - result += mat4(-0.018472567, -0.09019175, -0.0014198436, 0.11438912, -0.18806975, 0.017498987, 0.06471353, -0.11078878, -0.09412236, -0.11218875, 0.077031404, -0.18779173, -0.025784107, -0.031477705, -0.10906885, 0.074243516) * go_3(1.0, -1.0); - result += mat4(-0.06388332, 0.0813248, 0.1583895, -0.17604364, 0.02474024, 0.09227594, -0.07166613, -0.046409506, -0.20977338, 0.058364637, -0.014288648, 0.23180534, -0.03359222, 0.03962627, -0.011652336, 0.08433068) * go_3(1.0, 0.0); - result += mat4(-0.05829235, -0.026256828, 0.051615473, -0.082805336, 0.06738748, -0.093329325, -0.03197624, 0.067339435, -0.06104219, 0.119381785, 0.10763423, -0.31583574, 0.003745323, 0.14953502, -0.009772352, -0.05511591) * go_3(1.0, 1.0); - result += vec4(-0.014193535, -0.035853464, -0.0019574068, 0.035060503); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-3x3x3x16 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE MAIN -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.01858372, 0.017144108, 0.02794388, 0.0, 0.0129101565, -0.0073674284, -0.011766938, 0.0, 0.01970984, 0.01209068, 0.009530311, 0.0, -0.009190449, -0.006996753, -0.0038750458, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.15856947, 0.10162126, 0.08489005, 0.0, 0.038381726, -0.017771017, -0.03226132, 0.0, -0.011787879, -0.0152445, -0.007564454, 0.0, 0.055921376, 0.08389841, 0.08452836, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.026705442, -0.0070655374, -0.018199183, 0.0, 0.016254421, -0.025398912, -0.03461042, 0.0, 0.03950644, 0.06586101, 0.0707467, 0.0, -0.03793455, -0.04957139, -0.04777402, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.115341224, -0.04463122, -0.016549354, 0.0, -0.059433736, -0.04303295, -0.042805545, 0.0, 0.010830498, -0.011057443, -0.0141014, 0.0, 0.067396216, 0.06553637, 0.06705378, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.12767975, -0.19935511, -0.20109995, 0.0, 0.11554901, 0.11426503, 0.11161185, 0.0, -0.22092125, -0.22041021, -0.2142712, 0.0, -0.06326996, -0.061314825, -0.059039716, 0.0) * go_0(0.0, 0.0); - result += mat4(0.007717391, -0.046238754, -0.056983955, 0.0, 0.021419598, 0.0036924274, -0.00033630748, 0.0, 0.053556852, 0.0824714, 0.08295022, 0.0, -0.09881205, -0.043157153, -0.040801782, 0.0) * go_0(0.0, 1.0); - result += mat4(0.0052828738, 0.049702674, 0.056108, 0.0, 0.009478552, 0.010345037, 0.0094180945, 0.0, -0.010412882, 0.0006965096, 0.0021917222, 0.0, -0.010701383, -0.023212843, -0.024252625, 0.0) * go_0(1.0, -1.0); - result += mat4(0.07542127, 0.0739301, 0.06642962, 0.0, -0.08054489, -0.037553925, -0.026762033, 0.0, 0.09727509, 0.102272816, 0.097533874, 0.0, 0.01325714, -0.004582272, -0.006647532, 0.0) * go_0(1.0, 0.0); - result += mat4(0.03005975, 0.017012767, 0.007840201, 0.0, -0.028650383, -0.0019064787, 0.01083078, 0.0, -0.071352504, -0.019919744, -0.008299795, 0.0, 0.023253804, 0.042413715, 0.04681489, 0.0) * go_0(1.0, 1.0); - result += mat4(-0.052201163, -0.021727808, -0.020888992, 0.0, 0.008365179, -0.016546093, -0.0111018475, 0.0, -0.06236095, -0.019278256, -0.021443967, 0.0, 0.0029381379, -0.0033039588, -0.006425339, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.02397296, -0.041659098, -0.050882675, 0.0, -0.013487, 0.0067506596, 0.005435185, 0.0, 0.066447854, 0.13331215, 0.13754861, 0.0, 0.028300207, -0.0048033795, -0.010058485, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.08140248, 0.018564016, 0.0036607496, 0.0, -0.0112075955, 0.0022339798, 0.0045722146, 0.0, -0.045716517, -0.0076076477, -0.0016939791, 0.0, -0.030486025, -0.07539711, -0.07185734, 0.0) * go_1(-1.0, 1.0); - result += mat4(-0.0155724995, 0.048904862, 0.059412133, 0.0, -0.013894624, -0.0061430936, -0.011662488, 0.0, -0.0052947477, -0.0176474, -0.018611705, 0.0, 0.022075793, 0.031703226, 0.026735537, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.18287502, -0.18703277, -0.18331653, 0.0, -0.08616293, -0.011741755, -0.009296464, 0.0, -0.054274965, 0.016794622, 0.022522328, 0.0, 0.06965258, 0.08260611, 0.08285337, 0.0) * go_1(0.0, 0.0); - result += mat4(0.08107809, 0.0336241, 0.025449684, 0.0, -0.031931, 0.01179566, 0.019694995, 0.0, 0.025930194, 0.042288166, 0.04673656, 0.0, -0.14357394, -0.11003491, -0.094090074, 0.0) * go_1(0.0, 1.0); - result += mat4(0.007188181, 0.050626095, 0.050705966, 0.0, -0.008030409, -0.018670242, -0.019766346, 0.0, 0.014874803, -0.03657919, -0.034044486, 0.0, -0.011178416, -0.004358302, -0.013611815, 0.0) * go_1(1.0, -1.0); - result += mat4(0.07987872, 0.11399873, 0.12089382, 0.0, -0.01514355, 0.0068139364, 0.010206274, 0.0, -0.0005701044, -0.011158322, 0.006484812, 0.0, 0.002018227, 0.043359682, 0.042987905, 0.0) * go_1(1.0, 0.0); - result += mat4(0.0017806455, -0.0015697709, -0.0018252691, 0.0, 0.0058658062, 0.021681193, 0.028615465, 0.0, -0.054827355, -0.04541651, -0.027485048, 0.0, -0.017649114, 0.017717479, 0.027309911, 0.0) * go_1(1.0, 1.0); - result += mat4(0.02555098, -0.0028983613, -0.005134733, 0.0, -0.0029332284, 0.015552135, 0.022189403, 0.0, -0.019786593, -0.0031676649, -0.0014604586, 0.0, 0.06648065, 0.0672302, 0.04586375, 0.0) * go_2(-1.0, -1.0); - result += mat4(-0.06674696, 0.002328631, 0.014039355, 0.0, -0.03636718, 0.014560653, 0.028076636, 0.0, 0.042305287, 0.015249338, 0.0136925895, 0.0, 0.033586804, 0.00701501, -0.011588751, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.039022632, 0.015240631, 0.02699061, 0.0, -0.02614261, 0.0051843156, 0.012590042, 0.0, 0.015304643, -0.022641543, -0.030434309, 0.0, 0.016862666, 0.020819275, 0.022333218, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.08056982, 0.026592938, 0.009744146, 0.0, 0.08762212, 0.10150359, 0.09662005, 0.0, -0.044551965, -0.016349116, -0.014629014, 0.0, -0.014341297, -0.030914815, -0.038747486, 0.0) * go_2(0.0, -1.0); - result += mat4(-0.048734166, 0.019775594, 0.03124684, 0.0, -0.2345022, -0.23639877, -0.22958128, 0.0, 0.12412277, 0.10245112, 0.10389806, 0.0, -0.0030797734, -0.01989389, -0.02020691, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.0133485105, 0.029644802, 0.041630358, 0.0, 0.041081797, 0.059993293, 0.060033485, 0.0, -0.02155099, -0.035306025, -0.03838472, 0.0, 0.017466968, -0.01866363, -0.004764589, 0.0) * go_2(0.0, 1.0); - result += mat4(0.0030783121, -0.04064586, -0.04504904, 0.0, -0.023528632, -0.029308239, -0.022441925, 0.0, 0.020095564, 0.018979732, 0.015117934, 0.0, 0.008429918, 0.021180628, 0.020137152, 0.0) * go_2(1.0, -1.0); - result += mat4(0.0012200709, 0.013313984, 0.014122978, 0.0, 0.08750284, 0.038747437, 0.027102578, 0.0, -0.09627132, -0.09706183, -0.09405641, 0.0, -0.05180081, -0.03555434, -0.021694236, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.022396728, -0.018316073, -0.01250564, 0.0, 0.045423746, 0.025315331, 0.010639915, 0.0, 0.05618814, 0.022210265, 0.014195103, 0.0, -0.014828652, -0.010245087, 0.0020570823, 0.0) * go_2(1.0, 1.0); - result += mat4(0.046651457, 0.001333767, -0.003572458, 0.0, -0.0077845114, -0.012861641, -0.015116351, 0.0, 0.01338984, 0.029198132, 0.026183384, 0.0, 0.0014878022, 0.020025207, 0.024829973, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.09506711, -0.06541528, -0.051106647, 0.0, 0.02552611, 0.01181497, 0.0020236392, 0.0, 0.03234602, -0.03153924, -0.035502207, 0.0, -0.034516744, 0.00018784113, 0.0085376045, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.05945615, -0.0046793907, 0.011128929, 0.0, -0.0061961384, -0.0040663416, -0.010319631, 0.0, 0.044197917, -0.033448357, -0.04109943, 0.0, -0.04109929, 0.006773195, 0.016976412, 0.0) * go_3(-1.0, 1.0); - result += mat4(0.02855516, -0.033051047, -0.04864978, 0.0, -0.06393814, -0.082921155, -0.0730681, 0.0, -0.058905125, -0.038639963, -0.027698845, 0.0, -0.013616608, -0.007876684, -0.006182652, 0.0) * go_3(0.0, -1.0); - result += mat4(0.15423118, 0.14667909, 0.14534634, 0.0, 0.1485341, 0.096721016, 0.0820024, 0.0, 0.1263968, 0.088775866, 0.083860956, 0.0, 0.04213644, 0.020989005, 0.010447147, 0.0) * go_3(0.0, 0.0); - result += mat4(-0.068275765, -0.018390667, -0.011452603, 0.0, 0.03738383, 0.019398715, 0.005998161, 0.0, -0.0011161854, -0.039955888, -0.04444185, 0.0, 0.052985556, 0.017621813, 0.009551621, 0.0) * go_3(0.0, 1.0); - result += mat4(0.01387326, -0.0033411914, -0.009420935, 0.0, -0.034494568, -0.019219222, -0.009562797, 0.0, 0.0074023325, 0.022065453, 0.027121471, 0.0, 0.00019609048, -0.0042242454, 2.0403608e-05, 0.0) * go_3(1.0, -1.0); - result += mat4(-0.015793918, -0.024342488, -0.037188973, 0.0, 0.004534637, -0.025236975, -0.028567247, 0.0, -0.055682972, -0.054670315, -0.06584981, 0.0, 0.043045517, -0.0075941198, -0.014196169, 0.0) * go_3(1.0, 0.0); - result += mat4(0.0132598495, 0.01775289, 0.017206183, 0.0, 0.010604703, -0.007352816, -0.017301153, 0.0, 0.030967329, 0.027615465, 0.0145311365, 0.0, 0.008636854, -0.033379406, -0.042725433, 0.0) * go_3(1.0, 1.0); - result += vec4(-0.0056639817, -0.0017339308, -0.0011913306, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl deleted file mode 100644 index b03fbf7..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl +++ /dev/null @@ -1,275 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.073079124, 0.11507942, 0.028201895, -0.021776304, -0.25251916, -0.08662003, 0.38814726, 0.4146095, 0.06326891, 0.01635252, 0.06423356, 0.13488062, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.059791833, -0.03105604, 0.041643705, 0.35197195, -0.17314838, 0.067622855, -0.032012507, 0.09691628, -0.11094062, 0.007625051, 0.094762206, -0.05824145, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.120281175, 0.027440755, -0.026316144, -0.025291128, -0.41698205, -0.05966847, -0.28400028, -0.06946398, -0.10906026, -0.015854035, -0.028724853, -0.06626416, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.068752654, -0.12652585, 0.38200122, 0.17978846, 0.2749825, 0.015504972, 0.21765926, 0.2246602, -0.062151223, 0.07457783, 0.13588274, -0.037328478, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.3718559, 0.025637252, -0.4048626, -0.41484925, 0.24768798, 0.09984098, -0.5663632, -0.6659978, 0.212067, -0.08328392, -0.5277322, -0.016879432, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.11072714, -0.010321538, 0.11265787, 0.0055236337, -0.13345073, 0.004847663, 0.3744461, -0.4038564, -0.09893075, 0.031325124, 0.2883957, -0.04268903, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.10444391, -0.60588187, 0.02543334, 0.10911738, -0.10860678, 0.15701362, 0.29235297, 0.045803998, 0.076250754, -0.10799697, 0.08841044, 0.08145623, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.04246739, -0.1225759, 0.11280305, -0.12079673, 0.5289142, -0.011892906, -0.0800465, 0.05915611, -0.126204, 0.08239301, -0.0092391195, -0.07672885, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.11922264, 0.14036109, -0.09491126, 0.05112697, -0.12543046, -0.08662423, -0.041537095, 0.048038274, 0.11672854, -0.006516173, -0.023524825, 0.030505095, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.07697861, 0.41154122, 0.042374082, -0.087270625); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09419103, -0.1178418, 0.09523275, 0.24648252, 0.03595256, -0.05417468, -0.029167585, -0.012279932, 0.08852021, -0.12534834, 0.0604663, 0.050634373, -0.19536541, 0.21548285, 0.040379744, -0.28046605) * go_0(-1.0, -1.0); - result += mat4(-0.13783203, 0.17191975, 0.06956328, 0.005270252, -0.029844455, -0.17657366, 0.03439078, 0.048861686, 0.12017991, -0.087307535, 0.11815637, 0.31309614, 0.08440897, 0.09969244, -0.06220224, 0.2633136) * go_0(-1.0, 0.0); - result += mat4(0.098606475, -0.05856224, -0.01163882, -0.020945825, -0.08988821, 0.18520717, 0.011407763, 0.20973705, 0.21017794, 0.038311377, -0.018910313, 0.053878684, -0.08751144, -0.0081623215, 0.29060364, 0.14363094) * go_0(-1.0, 1.0); - result += mat4(0.13354321, -0.38046083, 0.14157647, 0.10190452, -0.045502663, 0.0053245644, -0.10817685, -0.048371315, 0.16157807, 0.2086147, 0.07632662, 0.24636099, -0.0053555835, -0.19587666, -0.46687222, 0.002362032) * go_0(0.0, -1.0); - result += mat4(0.28275147, -0.1468291, 0.24075283, -0.35119128, 0.18727398, 0.3833064, 0.08667899, 0.15021381, -0.092296466, -0.25686404, -0.116076745, 0.2231862, -0.27637103, 0.12317917, -0.0341737, -0.40077657) * go_0(0.0, 0.0); - result += mat4(-0.007041629, 0.18089123, -0.21195571, -0.12346183, -0.06088577, -0.30784377, 0.0048495876, 0.06013008, 0.07200418, -0.0076884073, 0.02632822, -0.0011575016, 0.21025613, -0.2573419, -0.06994815, 0.32497165) * go_0(0.0, 1.0); - result += mat4(0.0016823286, -0.014366541, -0.5049525, 0.048534572, -0.0057915323, -0.0030526456, -0.028976317, -0.16376147, -0.15560333, -0.053708192, -0.055678204, -0.13087665, 0.0048869387, 0.027514834, 0.017380254, -0.06743363) * go_0(1.0, -1.0); - result += mat4(0.044514824, -0.1754644, -0.26664957, 0.1486667, 0.114894986, 0.061640915, -0.13305616, 0.06450565, 0.03552732, 0.2835473, 0.13800526, 0.005875215, 0.15751484, 0.41759813, -0.19406971, 0.071032055) * go_0(1.0, 0.0); - result += mat4(-0.18419577, -0.05527526, 0.017057603, -0.1146602, 0.15775396, -0.01188916, 0.09368113, 0.05765405, 0.064170234, -0.017833546, 0.12100514, -0.06250493, 0.2421206, 0.15719843, 0.23718071, 0.023142194) * go_0(1.0, 1.0); - result += mat4(0.079226464, 0.07877355, -0.022315226, -0.13507473, 0.14683898, 0.028739132, -0.24479519, -0.280197, -0.13223173, 0.21732429, -0.1546993, 0.045442928, 0.163642, -0.07062695, 0.03805918, 0.060860883) * go_1(-1.0, -1.0); - result += mat4(0.095216066, -0.16650215, -0.34863555, -0.025274571, 0.3064775, -0.034196265, -0.25773287, 0.19570488, -0.005434017, 0.26308087, 0.009404902, -0.24736062, 0.05558232, -0.014217521, 0.03667355, -0.15134114) * go_1(-1.0, 0.0); - result += mat4(-0.074846864, 0.010901994, 0.035149742, 0.12106729, -0.36042807, -0.011231913, 1.4317516, 0.6400351, 0.105860665, -0.11587906, -0.11065066, 0.19126756, 0.14132085, 0.021570992, -0.3618735, -0.081163004) * go_1(-1.0, 1.0); - result += mat4(-0.06937371, 0.3815214, 0.026842717, -0.04051589, -0.09472515, -0.027198657, -0.16502109, 0.114273794, -0.15207845, -0.15054241, -0.25099036, -0.10871029, 0.14311226, 0.07640166, 0.47051275, 0.0447809) * go_1(0.0, -1.0); - result += mat4(-0.25960425, 0.11150338, -0.042022616, -0.006633396, -0.29595324, -0.0149574205, 0.09806478, 0.03635802, 0.26789796, 0.41416678, 0.05145585, 0.61168057, 0.019582301, -0.118703716, 0.13974573, 0.04498941) * go_1(0.0, 0.0); - result += mat4(-0.04119621, -0.15503803, 0.33170196, -0.1158483, -0.06258357, 0.2574262, -0.07890287, -0.6929032, 0.004379942, 0.097908296, 0.009286624, 0.27194506, -0.2476702, 0.13828708, 0.05071857, -0.43693772) * go_1(0.0, 1.0); - result += mat4(-0.010842703, 0.13108006, 0.30126816, 0.20221521, 0.018797455, 0.0614624, 0.11102966, 0.019204421, 0.09975456, 0.04676902, -0.044540443, 0.118877, -0.04871634, -0.089208096, 0.027455999, 0.029557817) * go_1(1.0, -1.0); - result += mat4(-0.10421777, 0.3135469, 0.14557797, 0.0497297, 0.0034963787, -0.20342828, 0.08332032, -0.09004643, 0.06574797, -0.14168271, -0.08754358, 0.30385306, -0.3374016, -0.4360316, 0.15854433, -0.24081887) * go_1(1.0, 0.0); - result += mat4(0.1407836, 0.09678823, -0.02240152, -0.013985894, 0.012281648, -0.24124922, -0.46433777, -0.25915003, 0.042200714, -0.21701157, -0.016618999, 0.13135725, -0.34656256, -0.034729004, -0.29246503, -0.13514486) * go_1(1.0, 1.0); - result += vec4(-0.08458621, -0.023144595, -0.057707336, -0.081382714); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.27743992, 0.04277345, 0.019331178, -0.7335445, 0.006292013, 0.19800001, -0.0025032016, 0.16098699, -0.03186617, -0.060173523, 0.08878855, -0.10669283, 0.130609, -0.068515256, -0.03571823, -0.13751523) * go_0(-1.0, -1.0); - result += mat4(-0.2430821, -0.08233978, 0.082374334, 0.04843392, -0.18989052, -0.041925047, 0.40021122, -0.317836, -0.13517766, 0.032255337, -0.0746507, 0.22114721, -0.045706213, -0.12841983, -0.27830583, 0.05763077) * go_0(-1.0, 0.0); - result += mat4(-0.08436965, -0.04967552, -0.16798134, -0.1539139, -0.17429228, -0.10166739, 0.35864773, 0.12873615, -0.07667423, 0.04985163, 0.13391761, -0.054322604, 0.085659124, -0.078792974, 0.06481059, 0.058667548) * go_0(-1.0, 1.0); - result += mat4(-0.17568155, 0.56705236, 0.056562193, -0.020951264, 0.005879628, -0.2502103, -0.19619654, 0.019490348, -0.14527243, 0.16983634, 0.049245857, 0.18316677, 0.055053137, 0.10699275, 0.0016993808, 0.20105995) * go_0(0.0, -1.0); - result += mat4(0.36284775, -0.05856962, -0.42545465, 0.31931567, -0.15698905, -0.28837132, -0.028697362, -0.024917847, 0.04317283, 0.024557106, -0.052158598, 0.38654143, -0.1782944, 0.43094924, -0.11738149, 0.21554618) * go_0(0.0, 0.0); - result += mat4(0.22645079, -0.20319854, 0.20733371, -0.18697177, -0.05167819, -0.12845007, 0.5543688, 0.2453291, 0.08027872, -0.0628224, -0.06593836, -0.05795855, -0.24527508, 0.23632833, -0.043366548, 0.14135826) * go_0(0.0, 1.0); - result += mat4(0.08384414, 0.20807321, 0.030559694, -0.13640808, -0.07641805, -0.10919174, -0.19799095, -0.12955745, 0.093737304, -0.17856954, 0.035103753, -0.044699315, -0.07255943, -0.02331535, 0.2059249, 0.3058302) * go_0(1.0, -1.0); - result += mat4(0.022345139, 0.16286038, -0.27228013, -0.41105714, -0.0014384583, 0.089546144, -0.08296848, -0.0050463285, 0.07038578, -0.030679917, 0.031246305, 0.36761853, -0.34799108, -0.0405689, -0.19182852, 0.015853593) * go_0(1.0, 0.0); - result += mat4(0.1021783, -0.11396049, -0.08733628, -0.017449526, 0.042015605, -0.14808236, 0.10072531, -0.07403295, 0.15276712, -0.07807765, -0.10013386, -0.26110634, -0.04858846, 0.066066965, 0.13598624, 0.21687816) * go_0(1.0, 1.0); - result += mat4(0.07041569, -0.17775945, 0.15697548, -0.15425202, -0.06569677, -0.033233996, 0.22596005, -0.026170855, -0.20729817, 0.1316505, -0.058410037, 0.22166035, 0.09107114, -0.13078825, -0.05639485, -0.02716142) * go_1(-1.0, -1.0); - result += mat4(0.057966787, -0.15311252, 0.095924966, -0.055951685, 0.082777694, -0.08471956, -0.39918202, 0.10599212, 0.102710955, 0.21808124, 0.12083635, -0.38835892, 0.031709857, 0.13955092, 0.12647778, 0.011549966) * go_1(-1.0, 0.0); - result += mat4(0.09810508, -0.119743295, 0.06166254, 0.13595435, 0.036198203, -0.028710455, -0.40789905, -0.034894038, -0.12622337, 0.14379597, 0.039958883, 0.19636424, 0.047094557, -0.07987105, -0.04905092, -0.07875785) * go_1(-1.0, 1.0); - result += mat4(0.34118712, -0.2833933, -0.045028314, -0.40670308, -0.01961924, 0.37131935, 0.29099533, -0.19843055, 0.18604252, -0.0037280058, 0.1091072, -0.40579233, 0.11422739, -0.16490164, -0.0022396361, -0.21486944) * go_1(0.0, -1.0); - result += mat4(0.0010853866, 0.2223109, 0.2416471, -0.33326814, 0.2549397, 0.6442047, 0.18411863, -0.19081281, -0.43552014, -0.1793875, -0.58699155, -0.01900168, -0.26955804, -0.071371995, 0.07599079, 0.27434483) * go_1(0.0, 0.0); - result += mat4(-0.19644544, 0.14383379, -0.2599538, 0.001666124, -0.16369823, 0.009537702, -0.3690974, -0.048157427, -0.2040159, 0.01522431, -0.11007749, -0.07012568, 0.17536888, -0.012183123, -0.17366478, -0.15090804) * go_1(0.0, 1.0); - result += mat4(0.0855136, 0.06863859, -0.17249937, -0.12850079, 0.15325847, 0.22742507, 0.22535504, 0.24032994, -0.109522276, 0.24135293, -0.17784368, 0.08172238, -0.16143093, 0.1358853, -0.09399085, 0.012180792) * go_1(1.0, -1.0); - result += mat4(-0.04346881, 0.13367178, 0.10387612, 0.04705543, -0.10315795, 0.5816371, -0.090529, -0.017955385, -0.09032907, -0.52505773, 0.10958755, -0.26151448, 0.17246644, 0.011886279, 0.3566306, 0.32170597) * go_1(1.0, 0.0); - result += mat4(-0.27853554, 0.1558035, 0.070289604, 0.17052644, -0.31982365, 0.29085326, -0.09494764, 0.2270542, 0.10514691, -0.24606484, -0.02049181, 0.126686, 0.16719124, 0.013080999, -0.08577963, -0.07057233) * go_1(1.0, 1.0); - result += vec4(0.0061747693, -0.029145364, -0.026801255, 0.027419873); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07447851, -0.07888509, -0.28236163, 0.2479792, -0.065199964, 0.24733023, 0.099619575, -0.26430824, -0.03523585, -0.03547245, -0.10619345, -0.25326422, -0.116270036, -0.065133184, -0.30401528, 0.01563764) * go_0(-1.0, -1.0); - result += mat4(-0.19106275, -0.26104823, -0.14457102, -0.17298317, 0.24148639, -0.10950928, 0.062851585, 0.042540826, 0.13287601, 0.06975747, 0.15848075, -0.3854902, -0.13132331, -0.16468687, -0.029844414, 0.27754608) * go_0(-1.0, 0.0); - result += mat4(0.015378025, -0.14203559, 0.08058816, 0.32896644, -0.074871175, -0.26611313, -0.18830848, 0.091641426, -0.16522385, -0.23424402, -0.12279703, -0.13343342, -0.2509982, -0.0554576, 0.07286022, -0.028823337) * go_0(-1.0, 1.0); - result += mat4(-0.13543738, 0.049395677, -0.015148539, 0.13301241, -0.12827122, -0.012590744, 0.012936948, 0.008271658, 0.12442749, 0.3497426, -0.16126058, -0.2670464, -0.010479037, 0.07037434, -0.15527055, 0.13205245) * go_0(0.0, -1.0); - result += mat4(-0.09535385, -0.3931354, 0.24716614, -0.21284536, 0.14652656, 0.38149378, -0.09607391, 0.06350967, 0.48615915, 0.32634613, 0.146291, 0.2566475, -0.40927815, -0.05268087, -0.04110691, -0.0068722935) * go_0(0.0, 0.0); - result += mat4(0.089152284, -0.01860622, 0.016856732, 0.31244752, 0.022529159, -0.0071319416, -0.09786801, -0.13005258, 0.1524636, 0.21627748, -0.07395979, -0.087633945, -0.38435504, -0.08842507, -0.0058702417, -0.32936293) * go_0(0.0, 1.0); - result += mat4(0.0816838, 0.0012210817, 0.28217188, 0.36141106, 0.0014665248, -0.0636269, 0.042035818, -0.056671552, -0.032501306, -0.22908778, -0.2067977, -0.004497514, -0.23052917, 0.26728114, 0.15353456, -0.17732324) * go_0(1.0, -1.0); - result += mat4(-0.17229734, 0.0818218, -0.10076918, 0.030027041, -0.14819005, -0.085340135, 0.050100215, 0.05683199, -0.12653661, -0.036583595, -0.32319903, -0.15273796, -0.15346588, 0.20005536, 0.23097478, -0.19834782) * go_0(1.0, 0.0); - result += mat4(0.055430107, -0.2886931, 0.361814, 0.33160287, -0.084407054, 0.06254009, -0.02332793, -0.018134018, -0.014879812, 0.112346604, -0.20686437, -0.23408228, -0.01091196, -0.062669374, 0.085567676, 0.23738655) * go_0(1.0, 1.0); - result += mat4(0.080383554, -0.1172084, 0.19703126, 0.27777427, -0.07559937, -0.25445858, 0.3450109, -0.071967736, 0.2034805, 0.33716002, 0.15314537, -0.22953224, 0.113631405, -0.0058444734, 0.2890972, 0.06557255) * go_1(-1.0, -1.0); - result += mat4(-0.17646056, -0.025448758, -0.14952567, 0.017148364, -0.15238142, 0.1435677, 0.20273875, 0.22255951, -0.011660059, -0.003515217, -0.17305166, -0.13478355, -0.06558679, -0.032662887, -0.20914736, -0.5397283) * go_1(-1.0, 0.0); - result += mat4(0.1679393, -0.109410115, -0.117427185, 0.14982319, -0.06457877, -0.06607065, 0.0018200208, -0.0118605625, 0.046539318, -0.020642165, -0.14413542, -0.09530688, 0.22196163, -0.2187166, -0.10759705, 0.013234591) * go_1(-1.0, 1.0); - result += mat4(-0.13220267, -0.12540027, 0.26163217, 0.12791659, 0.16204996, -0.4023048, -0.13485721, -0.10187536, 0.059764992, 0.048170995, -0.25281772, 0.2090587, -0.06542371, -0.10791867, -0.21286209, -0.309109) * go_1(0.0, -1.0); - result += mat4(0.16233061, 0.120428756, -0.11460241, 0.24531102, -0.2670459, -0.24195078, -0.20964348, -0.12930301, -0.2343609, -0.22543164, -0.28909695, -0.33560297, 0.6009884, 0.39171818, -0.1276308, -0.020736236) * go_1(0.0, 0.0); - result += mat4(0.40162864, 0.045881115, 0.032667033, 0.31454235, -0.17351128, -0.009387306, 0.17341217, 0.30810982, -0.025815086, -0.10390133, 0.012544771, 0.036918722, 0.34386298, 0.23177734, -0.046727546, 0.20098232) * go_1(0.0, 1.0); - result += mat4(0.11541034, -0.11647824, -0.12874861, 0.004921287, -0.13921295, -0.25733355, -0.1112383, -0.033295818, 0.0035326157, 0.3782048, 0.055785846, -0.1547331, 0.17358719, -0.2789715, -0.13400431, 0.1583795) * go_1(1.0, -1.0); - result += mat4(0.4130191, -0.33944547, -0.064674884, 0.39617148, -0.11483455, -0.022601767, 0.1129301, -0.09713594, 0.14681247, 0.34442267, 0.08721343, -0.08309499, 0.088704996, -0.20943391, -0.2891408, 0.1709401) * go_1(1.0, 0.0); - result += mat4(0.19503653, 0.17490312, -0.23491044, -0.028934423, 0.04479765, -0.0334551, 0.0602648, 0.0019939998, 0.23314747, 0.21557438, 0.07273092, 0.15467109, -0.11194509, 0.0736583, -0.17628083, -0.3851578) * go_1(1.0, 1.0); - result += vec4(0.022887055, 0.01521631, 0.17967467, -0.0131908795); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10233342, -0.30233157, 0.24238978, -0.007108631, 0.14248851, 0.08486557, 0.0028373515, 0.122387215, 0.10996857, -0.17286511, 0.19819227, 0.07023527, 0.07579955, -0.16861476, -0.210025, 0.12760942) * go_0(-1.0, -1.0); - result += mat4(0.091181986, -0.41497424, -0.27567792, -0.09938067, -0.12210428, 0.20617811, -0.017644284, -0.22552875, 0.049019493, -0.18990634, 0.11057753, -0.043193225, -0.15278774, -0.18331046, -0.1837594, 0.029758787) * go_0(-1.0, 0.0); - result += mat4(-0.1757096, -0.199691, -0.034743477, -0.15369363, -0.1701244, -0.0459655, 0.10508695, -0.09795581, 0.13464944, 0.37202564, 0.14706515, 0.23416734, 0.08302458, 0.20696343, -0.13935481, 0.03092827) * go_0(-1.0, 1.0); - result += mat4(-0.49887478, 0.24046332, -0.029459715, 0.17374687, -0.15019977, 0.31086043, -0.28297687, -0.22239804, 0.12314376, 0.11594825, 0.17682782, 0.09753434, -0.26263535, -0.12739435, -0.57744014, 0.087381124) * go_0(0.0, -1.0); - result += mat4(0.08101439, -0.16185337, 0.112901986, 0.24439482, -0.44051018, -0.70680356, -0.23015513, 0.63106006, -0.08817581, -0.057614524, 0.15352182, -0.049620207, 0.17742544, -0.49583626, -0.3844133, 0.18385352) * go_0(0.0, 0.0); - result += mat4(0.17149475, 0.31255633, 0.19286609, 0.21052869, -0.11856372, -0.032373343, 0.06503625, -0.31664965, 0.040755365, -0.027614031, -0.33330554, 0.40148625, 0.056921627, -0.27068445, 0.047014963, 0.103712596) * go_0(0.0, 1.0); - result += mat4(-0.09326643, 0.13677256, 0.06390537, 0.08080093, -0.10685094, 0.124757454, 0.14696303, 0.10871933, -0.10971212, 0.01655797, -0.11052674, -0.17361104, 0.015513338, -0.1917502, -0.26384255, -0.022672707) * go_0(1.0, -1.0); - result += mat4(0.032367155, -0.087523445, -0.06951093, -0.08128242, 0.2627859, 0.14933161, 0.3114999, -0.007791172, -0.4146471, -0.2530298, -0.43175155, -0.06878434, 0.5724947, 0.25498095, 0.4838959, 0.15076154) * go_0(1.0, 0.0); - result += mat4(-0.13427481, -0.10134261, 0.087439895, 0.015921364, 0.15421022, 0.20205952, 0.22928835, -0.07339068, -0.33318612, -0.17467582, -0.04758165, 0.11858059, 0.17408857, -0.099393494, -0.06389948, -0.06494366) * go_0(1.0, 1.0); - result += mat4(0.15349221, 0.08508258, -0.09294437, -0.03204993, -0.22561033, -0.15088828, -0.020105945, 0.10041996, -0.024723593, 0.06610271, -0.24423431, -0.050512858, -0.100530736, 0.16394953, 0.16365045, -0.012055956) * go_1(-1.0, -1.0); - result += mat4(0.16342951, 0.23113559, 0.21289586, 0.28391558, 0.052211206, -0.17983536, -0.008415342, 0.08977486, -0.054481823, 0.17506577, -0.14162593, -0.070448756, 0.093877845, 0.05161232, -0.25006327, 0.007014646) * go_1(-1.0, 0.0); - result += mat4(0.104965575, 0.20048036, 0.024134496, 0.5442797, 0.19958296, -0.05165447, 0.076928124, 0.030868227, -0.0563495, -0.19757621, 0.10801544, -0.24202053, 0.0067657093, -0.17784451, -0.03134409, -0.06741009) * go_1(-1.0, 1.0); - result += mat4(0.33347723, -0.12338564, 0.23495969, -0.23091966, 0.059872203, 0.028045453, -0.06781438, 0.111325614, -0.21861015, -0.030451605, -0.04267672, -0.0039260075, 0.0911101, 0.054191053, -0.08498816, 0.04810343) * go_1(0.0, -1.0); - result += mat4(-0.05028896, 0.21515386, 0.16005337, -0.32279232, 0.19178568, 0.779363, -0.12682606, -0.4378189, 0.37980273, 0.063021325, 0.19370794, -0.05618088, -0.00088428083, 0.29736623, 0.24649377, -0.0021625878) * go_1(0.0, 0.0); - result += mat4(-0.45007992, -0.16040307, -0.1714593, -0.16251564, 0.070867635, 0.21317895, -0.070962, 0.17147541, -0.27786884, -0.33259448, -0.022767346, -0.17967366, 0.21208113, 0.19740848, 0.16877973, 0.09630738) * go_1(0.0, 1.0); - result += mat4(0.09235827, -0.35231477, -0.093315996, -0.035850406, -0.08311695, 0.054329164, 0.17788444, -0.020736141, -0.03739786, -0.1678283, 0.12676615, 0.17182353, 0.17408027, 0.07699043, 0.095501214, 0.0069830767) * go_1(1.0, -1.0); - result += mat4(-0.16631392, -0.16925642, -0.17081848, 0.017719474, -0.20530944, 0.19215193, -0.039511178, -0.08296625, 0.2240653, 0.100644305, 0.2901835, 0.32166973, -0.10026419, -0.14864013, -0.19926691, -0.11607018) * go_1(1.0, 0.0); - result += mat4(-0.13750182, 0.07445518, -0.033964884, -0.085812084, -0.03903257, -0.054933593, 0.06765632, 0.064338475, 0.27182797, 0.07721309, -0.0334218, -0.19344835, -0.14405386, 0.046106674, 0.16596143, 0.0879945) * go_1(1.0, 1.0); - result += vec4(0.049844168, 0.02670437, 0.050967637, -0.10779561); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.034357008, 0.00082413113, -0.13382089, -0.05066409, 0.26684088, -0.31363875, 0.073608615, 0.20824149, 0.21509308, -0.07118628, 0.11287014, -0.09817389, 0.16107765, 0.17146803, -0.13836654, -0.05962866) * go_0(-1.0, -1.0); - result += mat4(0.029981667, 0.08738892, 0.17735903, 0.15817277, 0.041752994, -0.20031185, 0.064203605, 0.48786053, -0.0033609737, -0.42522693, 0.058846988, 0.22180536, 0.17181319, 0.13097888, -0.059532285, 0.062227458) * go_0(-1.0, 0.0); - result += mat4(0.13188283, 0.07971828, 0.28278515, 0.038570832, -0.12815465, 0.29860008, -0.2785862, -0.07612298, -0.14369671, 0.12457525, 0.11982623, -0.018675303, 0.14936846, 0.1284789, -0.0042489986, 0.042810377) * go_0(-1.0, 1.0); - result += mat4(0.2892425, -0.20834558, 0.07358541, -0.11190968, -0.16300741, 0.15674856, -0.04297203, -0.29218298, -0.036296643, -0.052267153, -0.22889943, -0.21203549, -0.03553075, -0.20343691, -0.07413655, -0.092966415) * go_0(0.0, -1.0); - result += mat4(0.2484468, -0.23412868, -0.070199326, 0.2061922, 0.5047224, -0.48216155, -0.5792768, 0.610787, 0.023935676, -0.040435325, -0.1238493, -0.09576053, -0.26183444, 0.14510648, 0.5365255, 0.5499143) * go_0(0.0, 0.0); - result += mat4(-0.058255754, 0.08133753, -0.18663554, 0.26190025, 0.26006857, -0.007619795, 0.14585225, 0.073580734, -0.0396066, 0.2821596, 0.31778112, -0.029853562, -0.19703479, 0.17809318, 0.21089044, -0.106730856) * go_0(0.0, 1.0); - result += mat4(0.20549655, -0.05962688, 0.1432124, 0.013446325, -0.19064854, 0.061387196, 0.1792527, 0.0010619498, -0.1456842, 0.18950678, -0.13990986, -0.37644413, -0.083257, -0.2937246, 0.032096215, 0.14719158) * go_0(1.0, -1.0); - result += mat4(-0.26601696, 0.4242341, -0.073702715, -0.3221337, 0.026037043, -0.0117916465, -0.024286825, 0.23183465, -0.030869482, -0.045915652, -0.040611852, 0.11372697, -0.25404635, 0.21859063, 0.13869432, 0.19651218) * go_0(1.0, 0.0); - result += mat4(-0.028276298, -0.11217159, 0.27144867, -0.010531775, 0.11032058, -0.09957206, 0.12570262, 0.14724332, 0.08758557, -0.11042305, 0.025948172, -0.010910802, -0.029466914, -0.041135952, -0.017091949, 0.05501236) * go_0(1.0, 1.0); - result += mat4(-0.12688768, -0.19051413, 0.052141912, -0.13618521, -0.16320245, -0.1601866, 0.16207355, -0.023218745, 0.2103894, -0.06212745, -0.07042835, 0.0996637, -0.1763831, 0.13890013, -0.12125462, -0.105104685) * go_1(-1.0, -1.0); - result += mat4(0.10485512, -0.49283037, -0.504295, 0.009089699, -0.17389494, -0.12835866, 0.14188384, -0.22946316, 0.006298799, -0.0348454, -0.0852419, 0.17956656, -0.08088888, 0.35675287, 0.16014415, -0.055372503) * go_1(-1.0, 0.0); - result += mat4(-0.17157564, 0.1557075, -0.17681694, 0.14834762, -0.13708206, 0.101721555, 0.17070566, -0.22522852, 0.08100986, -0.23204406, -0.38926315, -0.13165781, 0.1040296, -0.045591615, 0.15745829, -0.10410621) * go_1(-1.0, 1.0); - result += mat4(-0.20517144, 0.35896194, -0.0010962893, -0.18043008, -0.016253468, 0.035292216, 0.06781499, 0.015984116, -0.20261237, -0.28905126, 0.007414641, 0.008870292, 0.52166605, -0.0996688, -0.23151648, 0.2811893) * go_1(0.0, -1.0); - result += mat4(0.013482173, -0.04891998, -0.06094191, -0.14416319, -0.00087873987, 0.11979091, 0.06457245, -0.2305623, -0.1476981, 0.2634587, -0.058895197, -0.07394766, -0.27173743, 0.7530214, 0.037599873, 0.22086331) * go_1(0.0, 0.0); - result += mat4(-0.10357755, 0.23899554, 0.034912035, -0.14336212, -0.019786308, -0.085470654, -0.03096524, 0.108783185, 0.28971127, 0.24527478, -0.19110362, -0.49510127, -0.15574701, 0.10968643, -0.13727877, 0.04502924) * go_1(0.0, 1.0); - result += mat4(-0.10808282, -0.079148844, -0.3244773, -0.2210664, -0.0062175165, 0.1303082, 0.012592612, -0.38039228, 0.26899642, -0.16624425, -0.04438198, 0.42067865, -0.13381268, 0.03408099, -0.2999706, -0.3817641) * go_1(1.0, -1.0); - result += mat4(0.030872926, -0.26852018, -0.14650428, 0.16869825, -0.19185568, -0.06341456, 0.12261606, -0.26597574, 0.44865233, 0.21416639, 0.40359476, 0.12814924, 0.2542566, -0.23348318, -0.43142912, -0.35113996) * go_1(1.0, 0.0); - result += mat4(-0.03364283, 0.11002299, 0.3311268, -0.14580412, -0.10348537, 0.13331696, -0.0793144, -0.04116661, 0.040704627, -0.14875266, -0.09259674, -0.062087066, 0.063962296, 0.18420577, -0.085616685, -0.16555141) * go_1(1.0, 1.0); - result += vec4(-0.037546165, -0.015675364, 0.13989694, 0.027605768); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.35835463, 0.038305778, -0.10198824, -0.021951782, 0.02142098, -0.072417736, -0.2577152, 0.054713376, 0.075116105, -0.21191697, -0.1213158, -0.105036296, 0.12030758, -0.17591658, 0.1726511, 0.17754573) * go_0(-1.0, -1.0); - result += mat4(0.32325825, 0.19869742, 0.333873, 0.39670366, 0.20716824, 0.09557955, 0.120742686, -0.2271023, 0.37509173, -0.031341635, 0.10247365, 0.031520665, -0.092765376, -0.13535516, 0.8333728, 0.05886494) * go_0(-1.0, 0.0); - result += mat4(-0.17573749, 0.16768494, 0.021141645, 0.19668253, 0.21080776, 0.31503728, -0.26834, 0.19103156, 0.21946241, 0.14559007, -0.09761235, -0.23565038, -0.49393657, -0.5332298, 0.09806347, 0.054431103) * go_0(-1.0, 1.0); - result += mat4(-0.042109374, -0.05564321, 0.27586877, 0.010382545, 0.007322007, 0.13193823, -0.18262729, 0.06399193, 0.14174329, 0.3898842, -0.10398105, 0.01846146, -0.24542394, -0.13020967, -0.16491668, -0.03544872) * go_0(0.0, -1.0); - result += mat4(-0.15291597, 0.1566557, 0.14745249, -0.23258151, 0.17843612, 0.15885495, -0.691466, -0.41177312, 0.40330106, -0.07991953, 0.2832403, 0.10656986, -0.19571523, 0.3670614, -0.62296015, -0.5666968) * go_0(0.0, 0.0); - result += mat4(-0.17513512, 0.011393021, -0.44352317, -0.059153114, -0.2227142, -0.033094753, 0.09624524, 0.051315393, 0.2632246, 0.09945105, 0.042561427, -0.1234722, 0.23755905, -0.506999, 0.114180565, 0.27887583) * go_0(0.0, 1.0); - result += mat4(-0.459564, -0.120326266, 0.17507194, 0.06701153, -0.14124362, -0.36653697, -0.2856802, -0.22955593, -0.08515889, 0.18788262, 0.23427077, 0.021544341, 0.31996533, -0.2668834, 0.08469808, -0.01347926) * go_0(1.0, -1.0); - result += mat4(-0.14092083, -0.31244513, -0.044023518, 0.013948701, 0.33119613, -0.011959397, -0.1494438, -0.111066826, -0.11994278, 0.116068155, -0.13032633, -0.037004936, 0.13851176, -0.006655432, -0.39841232, -0.079951204) * go_0(1.0, 0.0); - result += mat4(-0.08959123, 0.18297827, -0.0763483, 0.11364159, -0.04361797, -0.029816678, -0.19314721, -0.03484794, 0.044681285, 0.04669291, -0.30017474, -0.07453036, 0.090825416, -0.27414632, 0.36355078, 0.15742934) * go_0(1.0, 1.0); - result += mat4(0.18470702, 0.113800436, -0.18546791, 0.044184085, 0.12490399, 0.1826781, -0.01313173, -0.19048993, -0.026458051, -0.1693334, 0.21958382, 0.030458853, -0.059242606, 0.039351143, -0.061676584, -0.06904634) * go_1(-1.0, -1.0); - result += mat4(-0.114877924, -0.03781683, -0.19207929, 0.007679428, 0.2409049, 0.2965285, -0.38395065, 0.11604976, -0.22588749, 0.48505852, 0.09866521, -0.2585994, -0.011380872, -0.018334057, -0.047188547, 0.3038583) * go_1(-1.0, 0.0); - result += mat4(-0.2783936, -0.17609318, 0.4904369, -0.31848624, 0.39725313, 0.082951784, -0.15595853, -0.007526218, 0.2355193, -0.30003366, -0.27686292, 0.120900005, -0.1223885, 0.40760317, 0.0013726618, -0.24877374) * go_1(-1.0, 1.0); - result += mat4(0.1580051, -0.044973504, 0.00053594523, -0.057797022, 0.18895927, 0.23527777, -0.18095906, -0.076961614, 0.2544444, -0.05932328, 0.13717431, -0.024487074, 0.33157274, -0.09072586, -0.004386734, -0.05180953) * go_1(0.0, -1.0); - result += mat4(-0.21685815, 0.061656334, -0.066127226, 0.24831405, 0.26001146, 0.046466008, -0.047196623, 0.13538954, -0.06449239, 0.45951647, -0.13132116, -0.7079741, -0.06683439, -0.47628635, 0.42461708, 0.6475073) * go_1(0.0, 0.0); - result += mat4(0.2590011, -0.26020283, 0.0005333198, 0.01555692, 0.37920526, 0.29205114, -0.20281325, -0.1455974, 0.056119893, 0.022032745, -0.30095813, 0.48154855, -0.35761952, 0.07582935, 0.12462687, 0.068093665) * go_1(0.0, 1.0); - result += mat4(0.20434918, 0.26690874, 0.028224666, 0.042565826, 0.037406113, 0.5059272, -0.0047208676, 0.0019095197, 0.16626422, -0.23407575, -0.072687164, 0.00063299487, -0.10172441, -0.11645544, 0.008715937, -0.012423992) * go_1(1.0, -1.0); - result += mat4(0.08269191, 0.116322584, -0.08155921, -0.04790326, 0.09546776, 0.3632936, -0.08139031, -0.10399187, 0.06618616, -0.26862565, 0.25058737, 0.0410593, -0.07191658, -0.20559746, 0.21857823, 0.12776822) * go_1(1.0, 0.0); - result += mat4(0.54989135, 0.38051483, 0.015739547, -0.0068143173, 0.26107135, 0.2585036, -0.12345306, -0.13934542, -0.19018838, 0.2730626, 0.42644337, 0.16693048, -0.15189888, 0.023638237, 0.11272267, 0.039560657) * go_1(1.0, 1.0); - result += vec4(-0.20554838, -0.10647836, -0.02824578, 0.08658529); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-3x1x1x56 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_tf -//!BIND conv2d_1_tf -//!BIND conv2d_2_tf -//!BIND conv2d_3_tf -//!BIND conv2d_4_tf -//!BIND conv2d_5_tf -//!BIND conv2d_6_tf -//!SAVE MAIN -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.030150581, -0.002168429, 0.014918388, 0.0, 0.020940892, 0.04591048, 0.049137186, 0.0, 0.111167125, 0.05311203, 0.0625381, 0.0, 0.020043287, 0.04785493, 0.040921766, 0.0) * g_0; - result += mat4(0.04158565, -0.008488135, 0.0020472286, 0.0, 0.049123142, -0.055042226, -0.06489915, 0.0, 0.09238876, 0.10387972, 0.09576964, 0.0, -0.054776173, -0.098954335, -0.09018853, 0.0) * g_1; - result += mat4(0.2081418, 0.08273068, 0.040325668, 0.0, -0.09937802, -0.13162258, -0.13989717, 0.0, -0.13983749, 0.01309777, 0.0023888077, 0.0, -0.18937743, -0.07021057, -0.047152344, 0.0) * g_2; - result += mat4(-0.09646629, 0.080605574, 0.10463501, 0.0, 0.22579835, 0.24077554, 0.22600271, 0.0, 0.049726978, 0.015292378, -0.0047161994, 0.0, 0.16281025, 0.048491795, 0.038338162, 0.0) * g_3; - result += mat4(-0.09772107, -0.043998875, -0.054745924, 0.0, -0.1257736, -0.13175423, -0.10889618, 0.0, -0.015900036, 0.07074481, 0.08210496, 0.0, -0.11321135, -0.12526917, -0.105605066, 0.0) * g_4; - result += mat4(0.14187162, 0.14032297, 0.13016908, 0.0, 0.018954534, 0.016011704, 0.010169183, 0.0, 0.04762765, -0.044460997, -0.06499567, 0.0, 0.11133751, 0.09464176, 0.08865274, 0.0) * g_5; - result += mat4(-0.16567162, -0.1744712, -0.1637222, 0.0, -0.02412003, 0.0074480795, 0.007903436, 0.0, -0.06161098, -0.046788957, -0.03971239, 0.0, 0.030736001, 0.036460854, 0.03660504, 0.0) * g_6; - result += mat4(0.084027, 0.10024112, 0.08152756, 0.0, 0.005087354, -0.026047802, -0.027264625, 0.0, 0.10519243, 0.08977278, 0.077558964, 0.0, -0.052826345, -0.06602686, -0.055083472, 0.0) * g_7; - result += mat4(0.007862721, 0.009936555, 0.012004831, 0.0, -0.042322706, -0.061728776, -0.05359773, 0.0, 0.030532641, 0.045623366, 0.04214089, 0.0, 0.030569768, 0.011892851, 0.0074041556, 0.0) * g_8; - result += mat4(0.03948997, 0.043119986, 0.039943404, 0.0, 0.0526772, 0.06820589, 0.058139592, 0.0, -0.062081397, -0.06755701, -0.054816127, 0.0, -0.004076369, 0.0061744447, 0.016273081, 0.0) * g_9; - result += mat4(0.0071622543, 0.004829105, -0.002032197, 0.0, -0.048541367, -0.059043564, -0.05662218, 0.0, 0.0015553127, 0.009178359, 0.009577062, 0.0, 0.114169896, 0.1349016, 0.11432262, 0.0) * g_10; - result += mat4(0.019324556, 0.028323999, 0.027396113, 0.0, 0.016746879, 0.01608199, 0.026891617, 0.0, 0.12068619, 0.13617857, 0.113496214, 0.0, -0.013930715, -0.014250072, -0.00824306, 0.0) * g_11; - result += mat4(-0.0024534757, -0.0064973077, -0.007905654, 0.0, -0.019158727, -0.024820521, -0.020509848, 0.0, -0.09608131, -0.11177871, -0.10503465, 0.0, -0.011210447, -0.010875943, -0.015295865, 0.0) * g_12; - result += mat4(0.09681486, 0.113604136, 0.10416855, 0.0, -0.08199983, -0.09013433, -0.08562243, 0.0, 0.041304465, 0.048315883, 0.042945288, 0.0, -0.09863276, -0.117853515, -0.09870226, 0.0) * g_13; - result += vec4(-0.0039074384, -0.0085585555, -0.0132283475, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl deleted file mode 100644 index 0b65e89..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl +++ /dev/null @@ -1,137 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.10922428, -0.16249932, 0.15452726, -0.15669551, 0.053448875, -0.16528402, 0.01697721, -0.049275912, 0.20947173, -0.10576949, 0.19738325, -0.025417482, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.3285196, 0.15909512, -0.5273671, 0.23778777, -0.40508887, -0.0609677, -0.4188177, 0.11137456, -0.24131267, 0.10453423, -0.36216277, 0.053446792, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.23072472, -0.082083695, -0.0041477727, -0.09136237, 0.11958912, -0.312698, -0.15842685, -0.013882424, 0.10933724, 0.017880991, -0.022167003, 0.014662608, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.2789985, 0.054727737, 0.22577816, -0.49625716, -0.48472273, -0.011525487, 0.5354349, -0.08814955, -0.27021924, -0.044563178, 0.008232271, -0.13480483, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.18203105, 0.09277001, 0.27071548, -0.17773713, -0.4335171, 1.2275106, -0.07663438, -0.29020032, 0.011992759, 0.060106967, 0.11002492, -0.046098012, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.08363418, 0.063420765, -0.10278259, 0.09357691, 0.38670546, 0.13577081, 0.048631024, -0.024960777, 0.0846784, -0.057097007, 0.06049236, 0.042082917, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.12315548, -0.056513585, -0.09826642, -0.17079762, 0.06479095, -0.36984903, -0.12512982, 0.042867575, 0.08360464, 0.12835538, -0.005067881, 0.02542005, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.18997705, 0.086363226, -0.0007131526, 0.19858918, 0.39745626, -0.0090341605, 0.27864447, 0.20052041, 0.010576528, -0.089242525, -0.025109483, -0.030768145, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.05427315, -0.060894873, 0.06548642, 0.095537595, 0.29116166, -0.16159569, -0.13293959, -0.112566955, 0.0059667625, 0.016041303, 0.03831561, 0.09869594, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0113532655, -0.06449327, 0.035503868, 0.5683031); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.027102098, 0.2640691, 0.1169015, 0.030902913, 0.15404584, 0.1361459, -0.38066056, 0.096569136, -0.111836195, -0.0051853824, -0.0996669, -0.23538585, -0.07060754, -0.18889332, -0.10793357, -0.15154232) * go_0(-1.0, -1.0); - result += mat4(0.1378689, 0.21024452, 0.010976513, 0.0179521, -0.05993059, -0.28364083, 0.24486947, 0.21347582, -0.12522404, -0.16091396, 0.15499291, 0.08353191, -0.03342411, -0.08964405, 0.25111282, -0.07550899) * go_0(-1.0, 0.0); - result += mat4(-0.06398718, 0.05763278, 0.021394925, 0.14780094, -0.033050716, 0.03346528, -0.0846797, 0.0125302235, 0.18018652, 0.24586707, 0.050538495, 0.09879243, -0.100035876, 0.043505374, 0.042692907, -0.08768257) * go_0(-1.0, 1.0); - result += mat4(-0.11572878, 0.0545887, 0.16437739, 0.2775331, 0.10323911, -0.18938646, -0.17097469, -0.188723, 0.085762165, 0.14605838, -0.15568069, -0.16947642, 0.09042493, -0.087587915, -0.041969277, 0.27252352) * go_0(0.0, -1.0); - result += mat4(0.21475963, -0.018211678, -0.5711054, -0.09235345, -0.20367791, -0.23041399, 0.16346097, 0.007901888, 0.12542121, 0.16807431, 0.09862575, 0.16968751, 0.28490388, 0.40945014, -0.22364445, 0.14460565) * go_0(0.0, 0.0); - result += mat4(0.27512726, 0.14046481, -0.17684339, 0.102218024, -0.10503195, 0.3080809, 0.03681373, 0.2668656, -0.093752496, -0.07476867, 0.19900662, 0.06028286, -0.19815882, -0.0584525, 0.027984729, -0.02143819) * go_0(0.0, 1.0); - result += mat4(-0.16829525, -0.06818115, 0.0006509334, 0.01163159, 0.18918815, -0.10731989, -0.008126929, -0.47991323, -0.11022971, 0.19150843, 0.05272113, -0.34417602, 0.022882428, 0.1774031, 0.062597334, -0.09915319) * go_0(1.0, -1.0); - result += mat4(0.32131585, 0.05668815, -0.34203658, 0.05542482, -0.008077225, 0.009148517, 0.10953332, -0.050969962, 0.09904077, 0.46938205, -0.5148919, -0.22275375, -0.10536104, -0.23662373, 0.002147416, -0.14256701) * go_0(1.0, 0.0); - result += mat4(-0.19335353, -0.103732094, 0.17156832, 0.0059756916, -0.118641876, 0.14529023, -0.18662338, 0.0447326, 0.026719248, 0.042491894, 0.026437795, 0.05601309, 0.08645617, 0.08365193, -0.039582565, 0.16612953) * go_0(1.0, 1.0); - result += mat4(-0.014315469, 0.012588422, 0.037587024, 0.08707526, -0.08064868, -0.28149533, 0.27326405, 0.21468583, -0.04278333, 0.29369017, 0.18653142, 0.035729136, 0.079363555, 0.30725953, 0.0147137, 0.08527481) * go_1(-1.0, -1.0); - result += mat4(0.06659263, 0.03452449, -0.33752796, 0.0066543026, 0.48697233, 0.019602561, -0.32033685, -0.20538871, 0.3089118, 0.4315903, -0.13524854, -0.10791581, 0.3315688, 0.13135147, -0.26904663, 0.142365) * go_1(-1.0, 0.0); - result += mat4(0.13619833, 0.045271892, -0.029841429, 0.010704955, -0.29257727, -0.10563375, 0.35345638, -0.06734038, -0.043791633, -0.0056891907, -0.078411415, 0.075443126, -0.05746597, -0.19959894, -0.12797245, 0.18837726) * go_1(-1.0, 1.0); - result += mat4(0.25673476, 0.120482095, -0.23827696, -0.13557845, 0.300447, -0.3008584, -0.13834439, 0.5459493, -0.26155484, 0.06905137, 0.16247983, 0.039960653, -0.023218757, 0.07977591, -0.11354706, -0.25831422) * go_1(0.0, -1.0); - result += mat4(0.0842605, 0.282916, 0.14062001, 0.06356874, 0.55912817, 0.1743876, -0.30324093, 0.052068707, -0.20756413, 0.27321506, -0.26560605, -0.27695876, -0.3927334, -0.5439608, 0.39293098, -0.001130203) * go_1(0.0, 0.0); - result += mat4(-0.021890296, -0.12703396, 0.06660714, -0.03164527, 0.0018722567, -0.26552317, 0.06978973, -0.24030049, 0.46008193, 0.5595346, 0.081981994, -0.038414747, -0.010446991, -0.56102365, -0.079274766, -0.01851302) * go_1(0.0, 1.0); - result += mat4(0.052988984, 0.030581746, -0.06868741, 0.21545182, -0.5706256, -0.0034910638, 0.48361364, 0.9020033, -0.02242781, -0.13256042, 0.08997955, 0.21001706, -0.059571438, -0.040119104, -0.05029196, -0.127414) * go_1(1.0, -1.0); - result += mat4(-0.08275339, -0.05999088, 0.11068767, 0.014646892, -0.041986465, 0.1028236, -0.17218924, 0.026559748, -0.17412743, -0.38364175, 0.17410514, 0.13038695, 0.23155633, 0.2655843, 0.045085523, 0.13005458) * go_1(1.0, 0.0); - result += mat4(-0.013383197, -0.064526096, 0.049046878, 0.015992291, 0.123987064, 0.0104690585, 0.07065378, -0.009824511, -0.036109775, 0.13384768, 0.29676288, -0.39475223, -0.009368096, -0.05666906, -0.09132696, -0.082638375) * go_1(1.0, 1.0); - result += vec4(-0.106538564, -0.065693766, -0.03790106, 0.04776706); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.024004154, -0.26474997, -0.5256586, 0.051624652, -0.16621786, 0.2964122, 0.6044247, -0.14335106, 0.17002718, -0.2679876, -0.30162668, 0.1273794, -0.17601459, -0.1782376, 0.104725115, -0.16351137) * go_0(-1.0, -1.0); - result += mat4(-0.121676154, 0.047741555, -0.06738679, -0.056402843, 0.004424971, -0.35099635, -0.073440626, 0.039784692, 0.15204315, -0.1165704, 0.11231046, -0.27369732, 0.33737272, -0.11880767, 0.09637475, -0.14709689) * go_0(-1.0, 0.0); - result += mat4(-0.017987821, -0.08798823, -0.062515825, -0.046803873, -0.05871703, 0.27013004, 0.19397618, -0.052147817, 0.003271283, -0.0029015478, -0.07390092, -0.09348337, -0.1574738, 0.06750957, -0.07661155, 0.054327156) * go_0(-1.0, 1.0); - result += mat4(-0.15215784, -0.72508365, -0.3202069, 0.20295432, -0.19125701, 0.021401431, -0.051837035, -0.025939213, 0.25565025, -0.12872623, 0.13169816, 0.27377388, -0.008718429, -0.05864064, 0.028844763, 0.1144993) * go_0(0.0, -1.0); - result += mat4(-0.30012092, -0.1322455, -0.11868545, 0.09857058, 0.082795605, -0.075334676, -0.3752773, -0.02918163, -0.67764, -0.38598236, -0.21023573, 0.38274166, -0.07398165, -0.07213789, -0.28427607, 0.1266569) * go_0(0.0, 0.0); - result += mat4(-0.37507388, 0.18809201, -0.21982779, 0.27208912, 0.022066567, -0.27627763, 0.12345216, -0.30041683, 0.017002959, -0.091398515, -0.25207692, -0.29253414, -0.08231422, -0.14665812, -0.07868529, -0.24562219) * go_0(0.0, 1.0); - result += mat4(0.08686712, 0.080837384, 0.20736577, 0.008233064, 0.14957365, 0.21801959, -0.04870689, 0.42149112, 0.27255878, 0.33320278, -0.08467146, 0.10381615, 0.055278245, 0.085710146, 0.009097151, 0.29092705) * go_0(1.0, -1.0); - result += mat4(0.0012207404, -0.023874281, -0.027035477, 0.005157451, 0.19330226, 0.33711615, -0.16495204, 0.549021, 0.44879642, 0.1978837, -0.20492741, 0.28099406, 0.2631811, 0.40786585, -0.055340275, 0.2575511) * go_0(1.0, 0.0); - result += mat4(0.29127392, -0.06287165, 0.12715077, 0.14784902, -0.3183704, 0.42057636, -0.11483724, -0.3019506, 0.010730576, 0.29091576, -0.046116166, -0.23528357, -0.0037143505, 0.1191774, -0.06084074, 0.011641706) * go_0(1.0, 1.0); - result += mat4(-0.2579205, 0.036545023, 0.11691888, 0.04996418, 0.21318026, 0.21370813, -0.14114271, 0.031217605, -0.06979331, -0.0690704, 0.04618086, 0.025164584, -0.10994228, 0.109930746, 0.103678934, 0.12193115) * go_1(-1.0, -1.0); - result += mat4(-0.19843774, -0.11237926, 0.007291354, 0.16480611, -0.15669724, 0.46283355, 0.077065215, 0.112273656, 0.17143534, -0.19934891, -0.25481275, 0.034591813, -0.27032652, -0.2702769, 0.04816228, -0.031614583) * go_1(-1.0, 0.0); - result += mat4(-0.16307239, -0.11295217, 0.05861256, 0.14225823, -0.015648091, 0.11741865, 0.113366075, 0.023935538, 0.19560932, -0.10553561, -0.042583376, -0.048160724, -0.3116519, 0.13957061, -0.0044852323, -0.015472912) * go_1(-1.0, 1.0); - result += mat4(-0.15629178, 0.06463271, -0.13176678, 0.025518289, -0.021733627, 0.22236359, 0.019508492, -0.11629477, 0.10801276, -0.021957984, -0.11272639, -0.03615053, -0.121420704, 0.2520835, 0.043395765, 0.1699031) * go_1(0.0, -1.0); - result += mat4(0.2886654, 0.21755892, 0.21757497, 0.08442575, -0.109903164, -0.67295986, 0.22886126, -0.027185453, 0.3761606, 0.23199768, 0.05908783, -0.1496158, 0.10832971, -0.3530352, 0.20234483, -0.07615918) * go_1(0.0, 0.0); - result += mat4(0.11043024, 0.18943349, 0.42394367, 0.029350199, -0.15085667, 0.020204183, -0.081609115, 0.07907012, 0.33805525, 0.0066280114, 0.0018284445, 0.022983696, 0.004984607, 0.0429299, -0.14568979, -0.29143327) * go_1(0.0, 1.0); - result += mat4(-0.16376027, -0.20387048, 0.06522074, 0.17484841, -0.13885716, -0.04380927, -0.03535832, -0.16978237, -0.004799155, -0.25407305, -0.039976966, -0.011992087, -0.22535577, -0.09583549, 0.0334331, 0.016292758) * go_1(1.0, -1.0); - result += mat4(-0.38688713, -0.20232083, 0.23887886, -0.10438324, -0.24170811, -0.074868314, 0.03977399, -0.22810821, -0.08257971, -0.11902456, 0.106009185, -0.078289054, -0.11932821, 0.024207884, 0.10070917, 0.79348284) * go_1(1.0, 0.0); - result += mat4(-0.4018743, 0.050456528, 0.035341598, -0.03788609, 0.12964934, -0.44461823, 0.029031694, 0.29604837, -0.102386944, -0.13805065, 0.0055692918, 0.14659804, -0.22499937, 0.14680648, -0.3443954, -0.06994176) * go_1(1.0, 1.0); - result += vec4(-0.0063428865, 0.0057986965, -0.12526293, -0.059240736); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-3x3x3x8 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_2_tf -//!SAVE MAIN -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.08631539, 0.09499331, 0.065609254, 0.0, -0.023760278, -0.027293118, -0.022839671, 0.0, -0.012447854, -0.008565141, -0.012041815, 0.0, -0.033292875, -0.031266093, -0.02874347, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.08709062, 0.09760889, 0.08988583, 0.0, -0.09099671, -0.102120616, -0.098076016, 0.0, 0.057814583, 0.06999608, 0.05961344, 0.0, 0.12246188, 0.1319784, 0.12254915, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.07694916, 0.0822054, 0.07549296, 0.0, -0.046808865, -0.051509347, -0.035890795, 0.0, 0.01599848, 0.014677793, 0.0086143715, 0.0, 0.033142705, 0.0426565, 0.035911378, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.0008269902, 0.0009082343, 0.014101725, 0.0, 0.0006387551, 0.005079344, -0.013034868, 0.0, 0.013909732, 0.011026747, 0.012485332, 0.0, 0.027028518, 0.022164145, 0.03183532, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.33575395, -0.36700967, -0.34140685, 0.0, 0.35850254, 0.37535715, 0.34613726, 0.0, -0.12680013, -0.1256115, -0.112494245, 0.0, -0.061541136, -0.059120018, -0.06552594, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.047570463, -0.050335366, -0.04665491, 0.0, -0.110970475, -0.12363716, -0.11072252, 0.0, 0.041563414, 0.059771337, 0.045290247, 0.0, -0.17999935, -0.19700716, -0.17459513, 0.0) * go_0(0.0, 1.0); - result += mat4(0.078488424, 0.07483357, 0.08347933, 0.0, -0.0063715233, 0.00035415235, -0.010886946, 0.0, 0.031237155, 0.02512343, 0.034399323, 0.0, -0.023146842, -0.026732154, -0.027644241, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.05906883, -0.06784104, -0.04506148, 0.0, -0.003939601, -0.0011749315, -0.006256036, 0.0, -0.1662408, -0.16871658, -0.16598499, 0.0, 0.051277652, 0.04837499, 0.05120855, 0.0) * go_0(1.0, 0.0); - result += mat4(0.08158806, 0.08674548, 0.07437206, 0.0, -0.05765347, -0.06196418, -0.057311118, 0.0, 0.26747537, 0.2668808, 0.2389857, 0.0, -0.010376844, -0.01690028, -0.008414153, 0.0) * go_0(1.0, 1.0); - result += mat4(0.030539425, 0.02415435, 0.039969034, 0.0, 0.006491679, 0.014436586, 0.005435709, 0.0, -0.0058292216, -0.013982021, -0.011243379, 0.0, 0.025942149, 0.015361476, 0.019134998, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.06322247, -0.07146787, -0.06673042, 0.0, 0.028702464, 0.039047733, 0.039646607, 0.0, -0.072553575, -0.08046175, -0.07027197, 0.0, -0.1447189, -0.1539398, -0.1466465, 0.0) * go_1(-1.0, 0.0); - result += mat4(-0.046430312, -0.054549117, -0.048076343, 0.0, 0.032971155, 0.02980819, 0.029172963, 0.0, -0.017612953, -0.015100736, -0.01202649, 0.0, -0.026717246, -0.028401854, -0.034548033, 0.0) * go_1(-1.0, 1.0); - result += mat4(-0.0020459262, -0.0008748501, -0.012601956, 0.0, 0.0054226154, 0.008867029, 0.018921215, 0.0, -0.0021330053, -0.0036601655, -0.0022091097, 0.0, -0.08636891, -0.10203159, -0.09741449, 0.0) * go_1(0.0, -1.0); - result += mat4(0.07306159, 0.08245483, 0.06548199, 0.0, -0.1933229, -0.20326294, -0.19189309, 0.0, 0.107496604, 0.11584994, 0.10907522, 0.0, 0.30877885, 0.31297725, 0.30890995, 0.0) * go_1(0.0, 0.0); - result += mat4(0.03192904, 0.035112645, 0.033732817, 0.0, 0.074100636, 0.08349646, 0.06659352, 0.0, -0.1136165, -0.12470947, -0.11192198, 0.0, 0.14465587, 0.16328491, 0.13984151, 0.0) * go_1(0.0, 1.0); - result += mat4(-0.05098033, -0.053096622, -0.05533725, 0.0, 0.0045651463, -0.007682458, 0.0026934785, 0.0, -0.021199327, -0.016210148, -0.030939564, 0.0, -0.031621892, -0.046702545, -0.02647333, 0.0) * go_1(1.0, -1.0); - result += mat4(0.055801813, 0.06430485, 0.05052402, 0.0, 0.0241233, 0.013879883, 0.017344628, 0.0, 0.08707151, 0.10031039, 0.095042154, 0.0, -0.109053336, -0.11414017, -0.111838564, 0.0) * go_1(1.0, 0.0); - result += mat4(0.030582374, 0.03604719, 0.040417343, 0.0, 0.038665913, 0.036998056, 0.030004544, 0.0, 0.09209076, 0.10010001, 0.08389406, 0.0, -0.014655714, -0.0074866647, -0.012227013, 0.0) * go_1(1.0, 1.0); - result += vec4(-0.008303841, -0.008251826, -0.0069884053, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl deleted file mode 100644 index 7088e7c..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl +++ /dev/null @@ -1,1704 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.23234928, -0.070085905, 0.0040122913, 0.21575761, -0.25936925, -0.20185155, 0.022299573, 0.2812235, -0.11045535, -0.11106335, -0.12113332, -0.49919847, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.48585954, -0.058959674, 0.11114158, -0.1971666, -0.24872562, 0.2667282, -0.107163996, 0.12475151, -0.027792914, -0.06700173, -0.10966316, 0.09399147, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.16666615, -0.15644506, 0.048309084, 0.19122206, -0.1522582, 0.15417537, -0.23017146, 0.09460856, 0.074704535, 0.2168164, 0.2077189, -0.29264635, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.3167284, -0.20522436, -0.050071932, -0.036290437, 0.20206359, 0.012589764, -0.1251284, -0.2911492, -0.0006390347, -0.09853893, 0.14406726, 0.33612582, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.13786903, 0.51342535, -0.44004235, -0.23918492, 0.5614157, 0.011565876, 0.5419984, -0.15937872, -0.075360805, 0.018496322, 0.12582661, 0.40117717, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.19644158, 0.12697817, 0.15092115, 0.1963961, -0.03395398, -0.17465135, -0.04086773, 0.09187623, 0.18238129, -0.0063141263, -0.26402372, -0.28761682, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.010849395, 0.15082607, 0.095264904, -0.038952388, -0.1121466, 0.21590506, 0.029462064, -0.65400773, 0.18295552, 0.2425088, 0.121624336, 0.7189011, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.17197245, -0.04397748, 0.18232836, -0.04471754, 0.071163684, -0.20590816, 0.39706057, -0.5452873, -0.11754515, 0.006909551, 0.018450081, 0.5686299, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.077441245, -0.25645187, -0.19979256, -0.010363122, -0.04312338, -0.08810754, -0.059999906, 0.38630447, -0.11017497, -0.16309647, 0.026156282, -0.35432625, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.03509807, 0.029998481, -0.08691994, -0.017055636); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.34123975, 0.06927292, 0.12252625, 0.1038146, 0.15979475, 0.24436772, -0.016088272, -0.22664197, 0.16932374, 0.10719134, -0.16895153, 0.100098394, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.11094869, -0.1379463, -0.53625333, -0.42690855, 0.12101115, -0.004709155, 0.6293494, 0.4763549, 0.030926082, -0.20099613, 0.39174548, 0.31219363, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.08731028, -0.010540878, 0.0757335, -0.1466203, -0.23115048, -0.17813745, 0.17698573, 0.18787299, 0.16219892, 0.10475756, -0.23984352, 0.025724094, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.27665043, 0.4118298, -0.08762915, -0.07885308, 0.05053698, 0.28148478, -0.005842398, 0.15139125, -0.3791668, 0.24871133, 0.18160823, -0.10384939, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.3206045, -0.22038852, -0.3038138, -0.0482595, -0.26852164, -0.23278148, 0.30639926, 0.2578657, -0.3874695, 0.06441954, 0.00026220892, 0.04361178, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.17908047, -0.0900835, 0.00652168, -0.038639892, 0.1520494, -0.13204975, -0.020355739, 0.26766944, 0.021308672, -0.31918222, 0.050667368, 0.10367864, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.112388864, 0.053321466, 0.2691917, 0.26902813, 0.010105532, 0.24898581, -0.13757521, -0.10214595, 0.23615286, -0.09560994, -0.15046176, -0.08853913, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.36796987, -0.2124952, -0.07535088, 0.13065732, -0.21852261, 0.06934692, -0.013749303, -0.44900006, 0.3352218, 0.090437174, 0.08993535, -0.3050165, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.11873657, 0.13483031, 0.22352207, 0.23666611, 0.18977334, -0.32066482, -0.31396368, -0.5615055, -0.14588253, 0.0121516865, 0.0614425, -0.079611346, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.6537504, 0.07195351, -0.38729003, -0.0374416); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.16112354, 0.3756035, 0.09619928, 0.17283864, 0.054338567, -0.061197184, -0.10173672, -0.032733057, -0.111913994, -0.28940153, -0.062114924, 0.20520677, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.3500745, 0.467141, -0.101748556, 0.43384346, 0.06712478, -0.43235737, 0.014446082, -0.12634972, -0.07507498, 0.025314584, 0.22664048, 0.22121347, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.089320965, 0.319314, -0.06869195, -0.2465581, 0.449762, -0.38919032, 0.1562217, 0.05368933, 0.20758076, 0.0659555, -0.109858744, -0.114917934, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.07451217, 0.2239877, -0.009071173, 0.21869898, 0.042301223, 0.13635477, -0.20052543, 0.26130545, -0.051627826, -0.3429969, 0.093028575, -0.35710186, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.16129561, -0.31247056, -0.123016216, 0.2122524, -0.2972285, 0.2718142, -0.17284301, 0.44368207, -0.032497104, 0.18240568, -0.28283152, -0.10045272, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.15945031, -0.6797371, 0.3974546, 0.24741851, -0.1340806, 0.41666976, 0.27850744, -0.21406768, 0.096567124, 0.23366652, 0.15648519, -0.07626781, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.053246673, 0.14282355, -0.114118166, -0.3172004, -0.18055372, -0.3400759, -0.19622837, 0.076828666, 0.29225305, 0.14866155, 0.07959014, -0.041400358, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.25331625, -0.14193451, 0.04879846, -0.077393495, 0.0104558095, 0.37905747, -0.07880302, -0.09453499, -0.1426901, -0.19738746, -0.28036812, 0.03675319, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.08954212, -0.47161737, -0.12388452, -0.08005436, 0.04682568, 0.048485547, 0.31411946, -0.31375095, -0.22892538, 0.16906887, 0.16802602, 0.18711087, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.04453386, 0.06632044, 0.061607827, -0.19856223); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09962672, -0.09808486, 0.14167309, 0.050132442, 0.10861549, -0.03472704, -0.13705672, -0.029933043, 0.09841877, 0.07278074, -0.017292077, -0.027848938, 0.07552298, 0.076578915, -0.023463586, 0.052939452) * go_0(-1.0, -1.0); - result += mat4(0.0010984733, -0.17330085, -0.08229318, -0.2175911, 0.08144593, 0.059445348, -0.15086831, -0.10372944, 0.117648594, -0.12558225, -0.11103407, -0.0701386, -0.05065664, -0.07396901, -0.11938091, 0.039866682) * go_0(-1.0, 0.0); - result += mat4(0.15428792, 0.23440446, 0.21962269, 0.2650896, -0.03476033, 0.15719226, -0.12486064, 0.2167058, -0.023046771, -0.20562397, 0.10107006, -0.01569021, 0.16730824, -0.01259593, 0.053364236, -0.04500823) * go_0(-1.0, 1.0); - result += mat4(0.030429626, -0.13110232, 0.057990804, 0.011675255, -0.05295247, -0.15326303, 0.22707884, -0.07973966, 0.0439027, -0.13198115, 0.07837125, -0.07131822, 0.05269012, -0.2104038, 0.048907652, -0.020645073) * go_0(0.0, -1.0); - result += mat4(0.0031781355, -0.021097122, -0.26952672, -0.3207644, 0.08375256, -0.14136748, 0.18542029, 0.15215854, 0.091964215, 0.26967737, 0.0587766, -0.07700872, 0.16575423, 0.35469708, -0.0051588053, -0.0006740279) * go_0(0.0, 0.0); - result += mat4(-0.08884001, 0.14041351, 0.17474355, 0.4161406, 0.023943432, 0.003970282, 0.29985484, 0.10266973, -0.25273883, -0.14029191, 0.11345857, 0.31820163, -0.38953283, 0.2583901, 0.009964725, 0.058217626) * go_0(0.0, 1.0); - result += mat4(-0.2032424, -0.07082582, 0.1580928, -0.048965808, 0.2141858, -0.041104354, -0.034682848, -0.15914723, 0.04790725, -0.024282899, 0.07099358, 0.16498338, -0.112657525, -0.0616071, -0.008030092, -0.016227499) * go_0(1.0, -1.0); - result += mat4(0.061936792, 0.21455337, 0.48054412, -0.04828425, 0.010028972, 0.11099989, 0.095458575, -0.19660684, 0.0425463, 0.11828354, -0.124904655, -0.17428195, 0.011525431, -0.124187276, -0.04230918, -0.035113487) * go_0(1.0, 0.0); - result += mat4(0.31514692, 0.08103313, 0.11659174, 0.08965401, -0.1970772, 0.14856051, -0.1938787, -0.16033082, -0.18799798, 0.030507786, -0.16664562, -0.13656873, 0.17780142, -0.25997472, 0.026064966, 0.011898) * go_0(1.0, 1.0); - result += mat4(-0.057235047, -0.27046695, -0.010699785, 0.049249526, 0.047039963, -0.077151395, -0.14362605, 0.06164646, 0.114476524, -0.17911421, -0.08053587, 0.11165565, -0.09624257, 0.025738657, -0.103865884, -0.03431851) * go_1(-1.0, -1.0); - result += mat4(0.14757289, -0.011688203, 0.13329901, -0.117047496, 0.0012821602, 0.1926134, -0.20751058, -0.07072285, 0.010413468, 0.056632243, 0.115734495, -0.02967846, -0.03047392, -0.21189988, -0.0011950757, -0.19957498) * go_1(-1.0, 0.0); - result += mat4(-0.08746177, -0.12079578, 0.04276918, -0.005454131, 0.11490783, -0.12847133, -0.09437031, -0.30269814, -0.21966903, -0.19212759, 0.02010421, -0.041956432, 0.10274604, -0.29135153, -0.05896102, -0.23609753) * go_1(-1.0, 1.0); - result += mat4(0.041169632, -0.1239918, 0.11654365, 0.12085256, -0.16491309, 0.16958053, 0.08106695, 0.017548209, 0.005812545, 0.18601535, -0.26115587, 0.06350569, -0.05120703, 0.288068, -0.10665016, 0.14517978) * go_1(0.0, -1.0); - result += mat4(-0.031448353, 0.10505269, -0.11342215, 0.066149935, -0.11060372, 0.023158634, 0.112362646, -0.12653005, 0.10593459, 0.16429284, 0.105653964, 0.057039205, 0.43216446, 0.40089405, -0.13454677, 0.10088736) * go_1(0.0, 0.0); - result += mat4(0.006024284, -0.085603446, -0.03500259, -0.12583484, 0.037410516, -0.162403, -0.16079305, -0.40704638, -0.02878602, -0.05373755, 0.22466864, -0.18264142, 0.006703932, -0.2611284, 0.12246666, -0.09028182) * go_1(0.0, 1.0); - result += mat4(-0.060709704, -0.10833455, 0.057897534, 0.13747421, 0.023012483, 0.037656587, 0.14315368, -0.016442677, 0.047911663, -0.0069572264, 0.044352237, 0.3486672, -0.21061146, 0.09642802, 0.05590367, -0.060553044) * go_1(1.0, -1.0); - result += mat4(0.04283378, 0.24103515, -0.13148557, 0.010205976, -0.043310534, 0.10729743, 0.038866118, 0.18446185, -0.01657694, 0.1901015, 0.07020068, 0.12353552, 0.038972974, 0.23214848, -0.25911716, -0.019023877) * go_1(1.0, 0.0); - result += mat4(0.12810664, 0.2588679, -0.01086673, -0.028045006, 0.19610372, -0.096308656, 0.0042522033, 0.13961965, 0.11584688, 0.04171374, -0.22028726, -0.24815048, 0.18253902, -0.2803496, 0.04638075, 0.036636963) * go_1(1.0, 1.0); - result += mat4(-0.063880704, -0.1977201, -0.053342164, -0.066917926, -0.11009935, 0.17052847, 0.04694616, 0.07041865, 0.0104053635, 0.17147705, 0.14641339, 0.02914492, 0.02223927, -0.15581869, 0.0073570404, -0.092718706) * go_2(-1.0, -1.0); - result += mat4(-0.11074706, 0.09035497, 0.041304804, -0.05657743, 0.02258131, 0.15751973, -0.08892718, 0.09498991, -0.062650494, 0.1528085, 0.08637203, 0.015458079, 0.080385685, 0.0014520894, -0.1777884, -0.022080136) * go_2(-1.0, 0.0); - result += mat4(-0.12261772, 0.14604463, -0.30844545, -0.038277622, -0.03465457, -0.14419939, 0.08843366, -0.24528691, 0.08627054, 0.022934042, 0.065465, 0.08992177, 0.13908626, 0.29170883, 0.18499602, 0.44779378) * go_2(-1.0, 1.0); - result += mat4(0.2403803, -0.034265775, 0.061548065, -0.2871231, 0.06244344, 0.55960923, 0.10674182, -0.099105835, 0.067223154, -0.016005594, -0.18609367, 0.068283536, 0.16862819, -0.35648894, 0.15355636, -0.21434662) * go_2(0.0, -1.0); - result += mat4(-0.1928663, -0.08712358, 0.010059887, 0.041675188, 0.028285503, 0.27573827, -0.13980475, 0.020420022, 0.08173396, -0.18047802, 0.14453442, 0.1705434, 0.032467145, -0.25624174, -0.091417946, -0.1830734) * go_2(0.0, 0.0); - result += mat4(-0.07378673, 0.0082734935, -0.0031403562, -0.09405621, -0.04572997, -0.47891915, 0.022257643, -0.18141934, -0.15467338, -0.080856316, 0.22424543, 0.1328784, -0.011105831, 0.012753231, -0.18666203, 0.29024994) * go_2(0.0, 1.0); - result += mat4(-0.014239724, 0.17424577, 0.04347437, -0.07241822, -0.0043192226, -0.15224636, -0.12850569, -0.07176244, -0.024936391, 0.1081912, -0.0634437, -0.17714879, 0.06807449, 0.036505345, 0.1765435, -0.06827722) * go_2(1.0, -1.0); - result += mat4(-0.10896065, -0.113828, -0.044186924, 0.083636716, 0.00946172, -0.096768014, 0.1477472, 0.28581375, 0.09928998, -0.03573682, -0.0877059, -0.07456346, -0.094931394, -0.29481927, 0.035076067, -0.030719504) * go_2(1.0, 0.0); - result += mat4(0.06879136, -0.0013524323, -0.015930668, 0.011338774, 0.27078402, -0.036486305, 0.07307458, -0.03654178, -0.1821915, -0.19957519, 0.047258675, -0.012780178, -0.23570615, 0.23241185, -0.049822707, -0.004932543) * go_2(1.0, 1.0); - result += mat4(0.059442203, 0.123758584, -0.0120902015, -0.035207815, -0.3852069, 0.02184997, 0.17941254, -0.060605425, -0.071601346, -0.07984123, -0.043631997, 0.050046816, 0.100848526, -0.1991431, 0.012486262, -0.12679099) * go_3(-1.0, -1.0); - result += mat4(-0.10241958, 0.14548102, 0.17390133, 0.11916023, -0.124270104, -0.016538827, 0.14511214, -0.11671281, -0.21087177, -0.06974753, 0.012906925, 0.13859452, -0.08547768, 0.1567956, -0.2022433, 0.038497575) * go_3(-1.0, 0.0); - result += mat4(0.07510719, -0.12558976, 0.27779973, 0.07905847, -0.005560809, -0.13164681, 0.0026637863, -0.42023313, 0.30791378, 0.0674288, 0.16762452, 0.03776929, 0.054378655, 0.12892224, 0.14568421, 0.057358757) * go_3(-1.0, 1.0); - result += mat4(-0.055342264, 0.17539698, -0.07691367, -0.016426053, -0.10654331, 0.12799862, 0.08000128, -0.026672266, -0.09276648, 0.08326771, -0.07549073, 0.09110558, 0.025476933, 0.23758717, -0.08576679, 0.05389538) * go_3(0.0, -1.0); - result += mat4(0.13494995, -0.058528826, 0.0859778, 0.36369404, 0.20959967, 0.04463818, -0.10268673, -0.17128421, 0.12091434, -0.23517689, -0.006012021, -0.13097133, 0.07197561, -0.16344362, 0.10873641, 0.08921942) * go_3(0.0, 0.0); - result += mat4(0.021762112, -0.003690478, 0.36574113, 0.008322902, 0.19321395, 0.04774496, -0.22579306, -0.19404013, 0.06938985, 0.15104407, -0.046889, -0.117904656, -0.14408903, -0.18670367, 0.16157444, -0.103656925) * go_3(0.0, 1.0); - result += mat4(0.10242334, -0.055725146, -0.21333602, 0.010575543, -0.23961566, 0.0044566356, 0.39897293, 0.08584577, -0.23019423, 0.2032861, -0.18542935, -0.1764838, -0.13681203, -0.07769402, 0.03816189, 0.007777049) * go_3(1.0, -1.0); - result += mat4(-0.028709, -0.16470426, -0.212036, 0.03143696, 0.27199176, -0.17678891, 0.23327425, 0.12954381, -0.020772377, -0.17467533, 0.13100848, 0.2351719, 0.097517245, 0.050158583, -0.002071869, 0.04241593) * go_3(1.0, 0.0); - result += mat4(0.07411962, -0.08748965, 0.07468962, -0.22070734, 0.40794817, -0.088459395, 0.32936516, -0.032707095, 0.37608266, 0.027920008, 0.07734025, 0.08530036, 0.10898109, 0.22703189, -0.20785971, -0.06495064) * go_3(1.0, 1.0); - result += mat4(0.29293463, 0.16721301, -0.12183638, -0.03948546, 0.01529436, 0.078094184, -0.025749328, -0.006153496, -0.094414495, 0.22237025, 0.028131692, -0.060007866, 0.034187492, -0.116286926, 0.06509088, -0.048549082) * go_4(-1.0, -1.0); - result += mat4(0.008423889, -0.3957667, -0.049811136, 0.14082848, 0.09263845, -0.16698493, -0.025629787, 0.015054379, 0.028197043, 0.068465285, -0.08725762, 0.036668878, -0.062005505, 0.0764588, -0.054699335, -0.003840703) * go_4(-1.0, 0.0); - result += mat4(0.043419074, -0.20948833, -0.14390363, -0.17659377, -0.065787576, 0.06486438, -0.19382884, 0.08338218, 0.13709012, 0.21116447, -0.24534407, 0.20671941, -0.13327736, 0.2553412, -0.03380571, 0.2106275) * go_4(-1.0, 1.0); - result += mat4(0.32056695, -0.28739846, -0.008697179, -0.3094155, -0.12655911, -0.22508456, 0.046275456, -0.13609526, -0.056746602, -0.13714787, 0.006273007, -0.15033242, 0.19861896, -0.19801322, 0.008556289, 0.053491425) * go_4(0.0, -1.0); - result += mat4(0.018890936, -0.7917244, -0.014075563, -0.1700778, -0.039983913, 0.028458029, -0.1522347, -0.08251537, -0.013377933, -0.3029727, 0.1349085, -0.16240561, -0.20748827, -0.46068287, 0.00913134, 0.030452987) * go_4(0.0, 0.0); - result += mat4(-0.05005734, -0.2148053, 0.032070015, 0.14438215, 0.31232053, 0.1401732, -0.26635718, 0.19424468, 0.07584618, 0.10555894, 0.01795741, 0.31067818, 0.054555204, 0.2563484, -0.14635237, -0.10759128) * go_4(0.0, 1.0); - result += mat4(0.23083898, -0.32226348, 0.19888338, -0.38176686, 0.050134797, -0.0015203251, 0.112237535, 0.14811106, 0.2174096, -0.24344379, -0.13310412, -0.42385107, 0.050850198, -0.27200532, -0.052719057, 0.009228699) * go_4(1.0, -1.0); - result += mat4(-0.053870313, -0.47212356, 0.085255414, -0.014404558, -0.06817252, -0.0973503, 0.1635136, -0.0033316084, -0.037195005, -0.48788953, 0.08273281, -0.097501226, 0.0600793, -0.21372889, 0.03384461, 0.017936382) * go_4(1.0, 0.0); - result += mat4(-0.3313351, -0.45776972, 0.0009931794, 0.11343333, 0.033024788, 0.046712194, 0.04782013, 0.064249486, -0.22282073, 0.12655938, 0.19051406, 0.31040603, -0.07731221, 0.17658137, -0.103276245, -0.06792484) * go_4(1.0, 1.0); - result += mat4(0.14607549, 0.1872639, -0.093263544, 0.09774117, -0.11698756, -0.067545414, 0.0023156274, -0.18209848, 0.03853313, -0.2223309, 0.12031081, 0.042545635, -0.034479424, 0.124472, 0.06731187, 0.12712644) * go_5(-1.0, -1.0); - result += mat4(-0.07627082, -0.17452952, -0.33548403, -0.18450926, 0.18033943, -0.12326704, 0.019632008, 0.07248642, -0.16483006, -0.18913946, 0.19646043, 0.40187582, -0.13083674, 0.08671764, 0.15356278, 0.0077914116) * go_5(-1.0, 0.0); - result += mat4(-0.13629752, -0.13993968, 0.2731425, -0.041057866, -0.118738905, 0.21209033, -0.051054828, 0.31168184, -0.16392295, 0.010364939, 0.0857728, 0.024030814, -0.07311749, -0.24349305, -0.20305401, -0.43344042) * go_5(-1.0, 1.0); - result += mat4(0.14196202, -0.04678858, 0.0077786436, 0.072588876, 0.048406214, -0.812405, 0.08031392, -0.1540258, 0.11032359, -0.06004812, -0.32815942, 0.09877014, -0.16591738, 0.4435054, -0.20656855, 0.22537513) * go_5(0.0, -1.0); - result += mat4(0.09432511, 0.19597436, -0.08628448, -0.21871169, -0.16537306, -0.32272846, 0.13009092, 0.010715842, 0.26118267, 0.22872354, 0.19176646, 0.107038476, 0.1611875, 0.08846044, 0.15163514, 0.008047941) * go_5(0.0, 0.0); - result += mat4(-0.07396799, -0.03825365, 0.093083926, 0.051318448, 0.2838576, 0.5694332, -0.10403076, 0.19238624, 0.11968883, 0.11856581, -0.119746156, -0.082536116, 0.076429665, -0.02471431, 0.11962365, -0.17637646) * go_5(0.0, 1.0); - result += mat4(0.07824961, -0.16634372, 0.027028812, -0.074860476, -0.14161688, 0.23795755, 0.02944209, 0.17723913, -0.30600172, -0.23468062, -0.12452985, -0.020646518, -0.0397737, 0.021050548, -0.17934813, 0.13230623) * go_5(1.0, -1.0); - result += mat4(0.0424831, 0.106492884, -0.03483414, -0.017710585, 0.22700353, 0.20349082, -0.10986577, -0.3389828, -0.21730238, -0.00039746048, 0.07059067, 0.102562755, 0.30204043, 0.21475948, -0.0162173, -0.017118886) * go_5(1.0, 0.0); - result += mat4(-0.22430925, -0.014225937, 0.094149694, -0.018336432, 0.17596604, 0.14860786, 0.05728594, 0.04178837, 0.1751472, 0.23511195, 0.020594316, 0.11539313, 0.12581828, -0.15684246, 0.02905791, -0.11784082) * go_5(1.0, 1.0); - result += vec4(-0.17880301, 0.20980668, -0.013683405, -0.015587634); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.02899521, -0.05649066, -0.026947228, 0.048783254, -0.14916636, 0.24028979, 0.044600923, -0.045931537, -0.1705095, -0.27147427, 0.16703783, 0.058726057, 0.0032612043, 0.083603844, -0.25704128, 0.13329254) * go_0(-1.0, -1.0); - result += mat4(-0.1979236, -0.01025661, -0.019716073, 0.108358726, 0.043820046, 0.1919281, -0.21771714, -0.1133059, -0.061171446, -0.0882054, -0.120655626, -0.11155759, -0.07786948, 0.011810883, 0.14344923, -0.26561305) * go_0(-1.0, 0.0); - result += mat4(0.1894701, 0.0239954, -0.119104624, 0.0081936605, -0.090172075, 0.16750605, 0.07118662, -0.068179235, 0.11522273, 0.02271562, 0.09519474, -0.28372973, 0.0015472358, 0.026579062, 0.117233984, -0.4856576) * go_0(-1.0, 1.0); - result += mat4(-0.14819643, -0.31534502, -0.13870765, -0.01054195, -0.19450842, 0.10115552, 0.15510698, 0.003614742, -0.07340832, -0.20358734, -0.12068221, 0.1708203, -0.04059514, 0.05221531, 0.1185381, 0.0068877796) * go_0(0.0, -1.0); - result += mat4(-0.2649358, 0.2787165, 0.026068278, 0.05054382, 0.042817205, -0.13016234, 0.0052052587, 0.0671692, 0.10290017, 0.06727616, -0.025898565, -0.03125075, 0.1502351, -0.17578806, -0.07915442, -0.20580369) * go_0(0.0, 0.0); - result += mat4(0.01980342, 0.07163837, -0.10456945, 0.06892928, -0.00022086082, -0.122014746, -0.11635255, -0.050526325, 0.11869723, 0.07118713, 0.10652823, -0.21519308, -0.048316743, -0.09710376, 0.006049279, -0.15725243) * go_0(0.0, 1.0); - result += mat4(0.17198269, -0.04094963, -0.16597614, -0.022672966, -0.021484226, -0.07138965, 0.067678355, 0.010858899, -0.13862544, 0.06384301, -0.03991444, 0.22539167, -0.005830964, -0.093598455, 0.10466667, 0.19629909) * go_0(1.0, -1.0); - result += mat4(0.040208396, -0.0077782017, 0.026934639, -0.08231454, 0.122154236, -0.20185019, -0.04921797, 0.113472804, 0.025262907, 0.30940935, -0.0067619407, 0.011076865, -0.037738938, 0.22040449, -0.091454595, 0.08720387) * go_0(1.0, 0.0); - result += mat4(-0.19777842, 0.15188776, -0.112971924, 0.06551624, 0.21511264, -0.12696353, 0.05734954, 0.038562097, 0.09721514, 0.12184754, 0.098125674, 0.093547106, 0.04148773, -0.007749207, -0.097304046, 0.11741999) * go_0(1.0, 1.0); - result += mat4(-0.05388486, -0.15493694, -0.11779907, -0.063636035, 0.1683663, -0.19863462, 0.079785384, 0.002344284, 0.07419801, -0.18906172, 0.042702213, -0.106039785, -0.11761329, -0.34240028, 0.20399906, 0.19486815) * go_1(-1.0, -1.0); - result += mat4(-0.0214746, 0.024925156, 0.071194954, 0.06452649, -0.10890589, -0.08571906, 0.13291912, -0.0013396982, 0.01863436, -0.20824501, 0.054323934, -0.23967488, 0.07283552, -0.28291726, 0.23057762, 0.121263705) * go_1(-1.0, 0.0); - result += mat4(0.05597139, 0.07066334, 0.06768875, 0.01599472, -0.00039986568, -0.0053987154, 0.040123407, -0.100022465, -0.013812261, 0.050008554, 0.18786328, 0.0004141, 0.09763033, -0.2487105, 0.11663139, 0.05165497) * go_1(-1.0, 1.0); - result += mat4(0.17904039, -0.31834564, -0.0737966, -0.061444905, -0.2252082, 0.00895136, 0.11486605, -0.0037112157, -0.07636511, -0.3503888, -0.04990528, -0.030310752, 0.068686, -0.3136087, -0.004038447, 0.12475536) * go_1(0.0, -1.0); - result += mat4(0.011218902, 0.16498409, -0.19213067, -0.3376179, -0.40268928, 0.009434513, -0.10950616, 0.1186675, -0.11379568, 0.23032996, -0.26904815, 0.30311096, 0.017041026, 0.39546305, -0.2145057, 0.20220405) * go_1(0.0, 0.0); - result += mat4(-0.116564326, 0.16520524, 0.25099444, -0.044852093, 0.04109138, -0.104986876, 0.09234278, -0.077715285, 0.046688464, 0.4072821, 0.021245886, -0.054421954, -0.12993707, 0.13713494, -0.12306372, 0.0076773493) * go_1(0.0, 1.0); - result += mat4(0.0022927783, -0.16100088, 0.0092022745, 0.043600008, -0.012064794, 0.14346212, 0.056605842, 0.04922658, 0.21234164, -0.36939904, -0.35937238, -0.0076974165, -0.033846013, -0.197686, 0.045169946, 0.05321761) * go_1(1.0, -1.0); - result += mat4(-0.12022473, 0.027450195, -0.070633, 0.010465206, -0.23977374, 0.008031643, -0.07748358, -0.12202592, -0.21730833, 0.0059398045, 0.40769234, -1.1242622, -0.06625515, 0.3264613, -0.07954283, 0.09583801) * go_1(1.0, 0.0); - result += mat4(0.008234909, 0.18505827, -0.1273086, 0.23858553, -0.00791922, 0.0122221485, -0.11842601, -0.038017634, 0.03933724, 0.2956, -0.01691444, 0.17929354, 0.015529619, 0.19893076, -0.16288021, 0.05490817) * go_1(1.0, 1.0); - result += mat4(-0.011399029, 0.10798575, 0.046656217, 0.032565042, 0.0119628515, -0.0011125325, 0.31439918, 0.09300187, -0.010849873, -0.060744617, 0.18471423, 0.15607913, -0.045522973, 0.16699308, -0.0722109, -0.024475403) * go_2(-1.0, -1.0); - result += mat4(-0.082331106, -0.07089719, 0.1347553, -0.19314262, 0.0032955715, -0.24533619, 0.013174161, 0.15500104, 0.029693194, 0.040375546, -0.0059178416, 0.1092399, -0.112020314, 0.1500148, -0.22925867, -0.019879973) * go_2(-1.0, 0.0); - result += mat4(0.1417249, 0.11215587, -0.26791674, 0.14707097, 0.040649403, -0.016661948, 0.15412898, -0.080876425, 0.035228007, 0.047104783, 0.06574109, -0.029853644, 0.05876159, 0.22823593, -0.19034219, 0.03162234) * go_2(-1.0, 1.0); - result += mat4(0.2600437, 0.044771086, 0.014325027, 0.163108, 0.060724687, 0.09108473, -0.20747156, 0.0039435104, 0.18791565, -0.11700223, -0.0055135386, -0.024981469, -0.19696075, 0.11015166, -0.004077458, 0.011203278) * go_2(0.0, -1.0); - result += mat4(-0.05348392, 0.11058947, -0.11913848, 0.06359096, -0.13427798, -0.096259184, -0.122564375, 0.16873421, -0.021777656, 0.026404127, -0.19412898, -0.04525696, -0.089521095, -0.04556723, -0.14436369, 0.030330338) * go_2(0.0, 0.0); - result += mat4(-0.077864684, -0.0033614987, -0.053482026, -0.15834975, -0.12657848, 0.16701786, 0.040268235, -0.14463072, 0.01926974, -0.15924485, -0.011547801, -0.18185836, 0.030286407, -0.29259017, -0.0077412864, 0.037985537) * go_2(0.0, 1.0); - result += mat4(0.07485037, 0.19659927, 0.020025307, 0.10442409, -0.19772562, 0.4431493, -0.06422206, -0.045304112, -0.094377324, -0.04861216, 0.0023215367, 0.16513753, -0.1303532, -0.068101294, 0.017007684, 0.097332835) * go_2(1.0, -1.0); - result += mat4(-0.004584652, -0.2661271, 0.0063034855, 0.041456066, 0.11529073, 0.19888161, -0.24943323, -0.054349367, -0.010328835, 0.22214927, -0.20700802, -0.05599532, 0.24972723, -0.08987443, 0.20708983, -0.13030328) * go_2(1.0, 0.0); - result += mat4(0.10159776, 0.047147173, 0.1411316, -0.18355304, 0.07658331, -0.037969157, -0.074841976, 0.09781788, 0.06575143, 0.03210521, 0.058850992, -0.19939986, 0.11218086, -0.10744168, 0.14622156, 0.12941957) * go_2(1.0, 1.0); - result += mat4(0.13577162, 0.10681536, 0.08791653, -0.060445737, -0.19715475, -0.13252279, -0.036850456, -0.009957216, 0.1860376, 0.3743373, -0.14414039, 0.044343796, -0.05038453, -0.034720805, 0.17924316, 0.012001023) * go_3(-1.0, -1.0); - result += mat4(0.007108988, -0.09904293, -0.112725444, 0.031813867, -0.044795662, -0.14910372, 0.1680855, 0.32826513, 0.13105088, 0.11438789, -0.08039976, -1.1030464, 0.020364072, 0.19394659, 0.016075639, -0.22101837) * go_3(-1.0, 0.0); - result += mat4(-0.100025505, -0.06350414, 0.06775572, -0.07832278, 0.093700364, -0.15951614, 0.36111444, -0.20566626, -0.1011544, -0.047608454, -0.07719231, -0.71597475, 0.0048773736, 0.012542508, -0.26781914, -0.3445289) * go_3(-1.0, 1.0); - result += mat4(-0.050355583, 0.3859359, 0.08021888, 0.0031537602, 0.18742213, -0.30617613, -0.27419865, 0.18862267, -0.0011417761, 0.19679208, 0.06357993, -0.11287149, 0.11817958, -0.040369175, -0.055818953, 0.114691235) * go_3(0.0, -1.0); - result += mat4(-0.24919917, -0.1840669, -0.47709405, 0.020121656, -0.09533757, 0.23901173, -0.08210879, -0.22835779, 0.023564098, -0.1592999, 0.005221987, -0.54973453, -0.039800424, 0.19367874, -0.10306205, -0.21813862) * go_3(0.0, 0.0); - result += mat4(0.13417694, -0.06470136, -0.07049462, -0.052072115, -0.017625665, 0.108188346, 0.13198936, 0.1975063, -0.22973076, -0.28760132, -0.12961891, -0.08713851, -0.028337657, -0.35775787, 0.33782268, -0.282777) * go_3(0.0, 1.0); - result += mat4(-0.0796041, 0.16454107, -0.026372116, 0.0788071, 0.044841573, 0.15395795, -0.011288428, -0.03305742, 0.15754524, -0.0043833177, 0.12766863, -0.11310043, -0.023906957, 0.03451837, -0.083479226, 0.03029468) * go_3(1.0, -1.0); - result += mat4(-0.38791308, -0.120497175, -0.39432266, -0.016802365, 0.031366616, 0.20532085, -0.032990657, -0.004515397, -0.1540265, -0.2327063, 0.088945866, 0.11997355, 0.02506493, -0.11495644, 0.0847286, 0.0048163645) * go_3(1.0, 0.0); - result += mat4(-0.03319572, -0.26717946, -0.13605991, -0.10878451, 0.19831704, 0.04036457, -0.056414742, 0.15083815, -0.1640081, -0.25487527, -0.096472785, 0.05001906, -0.01256949, 0.07090488, -0.0888089, 0.24414414) * go_3(1.0, 1.0); - result += mat4(-0.10947188, 0.07678741, -0.03716733, 0.10074092, -0.09684673, 0.19135101, 0.06687582, -0.03416071, -0.02605864, 0.18258773, 0.029176971, 0.14626507, 0.16892125, 0.26836056, -0.16163802, 0.0044406173) * go_4(-1.0, -1.0); - result += mat4(0.07490834, -0.16595219, 0.06855593, -0.31601232, 0.2051958, 0.12370633, 0.053092375, -0.09280303, -0.041799355, -0.02180234, -0.0647632, 0.12765023, -0.02619668, 0.35134858, 0.025718898, -0.03524767) * go_4(-1.0, 0.0); - result += mat4(0.051487356, -0.10184706, -0.058444723, 0.23035292, -0.03384644, -0.02926101, 0.24579355, 0.11463481, 0.00077921426, 0.0036189032, -0.04137187, 0.039233316, -0.11595721, 0.012141703, -0.19241674, 0.18287377) * go_4(-1.0, 1.0); - result += mat4(-0.0331477, 0.11774921, 0.1500689, 0.21751022, -0.0391579, -0.026443282, -0.23405433, 0.10924835, 0.010694821, 0.46834385, -0.06344277, -0.027459502, 0.02805852, 0.063863516, -0.052119188, -0.010459627) * go_4(0.0, -1.0); - result += mat4(-0.19480526, -0.08907801, 0.13466452, -0.58980346, -0.18432151, 0.0025959515, -0.093561575, 0.21850146, -0.025087524, -0.112469815, 0.06425045, -0.017907271, 0.06015287, 0.23375069, 0.046780836, -0.124416254) * go_4(0.0, 0.0); - result += mat4(0.20069234, 0.073735476, -0.20799713, 0.11896709, -0.08604335, -0.030489137, -0.19158117, 0.07545736, 0.1417471, -0.2885722, -0.04138416, 0.16751918, -0.039241627, -0.29653955, 0.06402645, 0.08477943) * go_4(0.0, 1.0); - result += mat4(0.13838394, 0.17045505, 0.18386857, -0.06769848, 0.019191446, -0.10590481, 0.14499927, 0.005293376, -0.022189254, 0.45613396, 0.31436417, -0.23309496, 0.085356414, -0.12509619, -0.32398435, -0.06535322) * go_4(1.0, -1.0); - result += mat4(0.20557566, 0.23378044, 0.16096559, 0.3109223, -0.13988405, -0.056287576, 0.15235564, 0.14485452, 0.025657065, -0.19962808, 0.12487959, -0.53206867, 0.17598459, 0.0012244214, -0.09263318, -0.048799008) * go_4(1.0, 0.0); - result += mat4(0.031034216, -0.43335876, 0.15115865, -0.22912477, 0.039661117, -0.066167325, -0.0039048253, 0.108036794, -0.07157209, -0.42531285, -0.22807248, -0.070778824, -0.1216781, -0.20621637, 0.09195537, -0.0026917474) * go_4(1.0, 1.0); - result += mat4(0.11940706, -0.13485508, 0.026604721, -0.100989655, -0.14618637, 0.45079112, -0.111106694, 0.23393573, 0.21399105, 0.049563177, -0.10910516, -0.21594371, 0.030558927, -0.17320083, 0.012688248, 0.02913788) * go_5(-1.0, -1.0); - result += mat4(0.052507173, 0.13555464, 0.15568505, -0.13439007, 0.15468787, 0.20109199, 0.09981344, -0.022377115, 0.16711195, 0.1921043, -0.0457788, 0.11962697, 0.12201352, -0.15822104, 0.14560209, 0.11319004) * go_5(-1.0, 0.0); - result += mat4(-0.10677749, -0.037526496, 0.05529873, 0.0014219015, -0.07003492, 0.11616926, -0.2047762, 0.053331498, -0.029710975, 0.099788256, 0.016773999, -0.05440333, -0.07308938, -0.1613098, 0.11157061, -0.06163726) * go_5(-1.0, 1.0); - result += mat4(0.084668584, -0.024195379, 0.10567495, 0.018839711, 0.20675091, 0.064051956, 0.16356891, 0.0763972, 0.04519446, 0.04648411, -0.26651385, -0.32033405, 0.19019292, -0.03760131, 0.057477303, 0.039011493) * go_5(0.0, -1.0); - result += mat4(0.10785335, -0.005846821, 0.106043994, -0.029447608, -0.17944743, -0.055760577, -0.061553795, -0.0897441, 0.30305168, -0.07138199, -0.038286258, 0.31980807, 0.08745091, 0.08931471, 0.19994807, -0.19448686) * go_5(0.0, 0.0); - result += mat4(0.05872038, 0.019705178, -0.057756446, 0.032349724, 0.1162347, -0.1494079, 0.04883473, 0.06775521, 0.06246929, 0.18094592, 0.019297523, 0.22078563, -0.10864955, 0.024548724, -0.09518366, -0.049131762) * go_5(0.0, 1.0); - result += mat4(0.083531916, -0.22589867, 0.15678734, -0.15247858, 0.037808564, -0.3915128, 0.023039397, -0.11101649, -0.024950527, 0.15221989, 0.02177459, -0.0052792793, -0.006660954, 0.103587925, -0.069532864, -0.036814045) * go_5(1.0, -1.0); - result += mat4(0.042244066, 0.08479697, -0.057882927, 0.036821585, -0.12734346, -0.30277002, 0.17587237, 0.08462706, 0.03041879, -0.07751665, 0.41255432, -0.15170433, -0.094225794, 0.09409663, -0.03903985, -0.17728558) * go_5(1.0, 0.0); - result += mat4(-0.07648597, -0.021105368, -0.13569473, 0.11226781, 0.0024825619, 0.10949022, -0.033650707, -0.01084071, -0.27865705, -0.050442215, -0.026282378, 0.07449441, -0.033618845, 0.20228988, 0.10323669, -0.2785842) * go_5(1.0, 1.0); - result += vec4(0.07964101, -0.050712653, 0.11978818, 0.122745104); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.043845546, -0.051818844, 0.15098971, -0.029770624, 0.105532385, -0.017158495, 0.007995025, 0.01310204, 0.046253394, 0.054963812, -0.07156648, -0.026536593, -0.034585387, -0.03867656, -0.026378985, -0.0503513) * go_0(-1.0, -1.0); - result += mat4(0.19067752, 0.077902906, 0.07043644, 0.093124524, -0.088099405, 0.05687826, 0.07339772, 0.25220734, -0.024105951, 0.047068372, -0.15396254, 0.0024811088, 0.05398644, 0.114431, 0.104937814, -0.084533244) * go_0(-1.0, 0.0); - result += mat4(-0.06216834, -0.09104735, 0.030077647, -0.109212935, -0.03391817, 0.14209917, 0.06807519, 0.086794056, 0.13323791, -0.16663639, 0.18892457, 0.18872325, 0.098952405, -0.009112314, 0.16958214, 0.14279945) * go_0(-1.0, 1.0); - result += mat4(-0.07209618, 0.10666213, 0.10406824, -0.10080884, -0.061229795, -0.070260175, 0.0544128, -0.16189453, -0.07493434, 0.25146472, -0.10089679, -0.16500695, -0.05206539, -0.10650778, 0.08510133, -0.12274426) * go_0(0.0, -1.0); - result += mat4(0.06154247, -0.2779647, -0.39013094, 0.19112335, 0.21914953, 0.174526, -0.2582261, 0.028989773, 0.12516306, 0.024158027, -0.06397669, -0.027443565, 0.01338054, 0.11226658, -0.18691953, 0.03941122) * go_0(0.0, 0.0); - result += mat4(0.06017567, 0.064941615, -0.16408192, 0.14018805, -0.022913788, -0.005578652, 0.056423694, -0.12357743, 0.053335212, -0.10533416, 0.0336598, 0.13383694, 0.13861552, 0.13800743, 0.048778858, 0.20749462) * go_0(0.0, 1.0); - result += mat4(-0.19730464, -0.07471736, -0.08532417, 0.22114716, -0.0655994, 0.014833043, 0.069433905, 0.0126395365, -0.115397535, 0.16183057, -0.0020461925, -0.08379374, 0.066027366, 0.046908997, -0.04298647, -0.039427415) * go_0(1.0, -1.0); - result += mat4(-0.40682083, -0.051349834, -0.058064308, -0.59165514, 0.07769667, -0.0061552664, 0.09866719, 0.09064238, -0.10091702, -0.08237763, -0.0896345, -0.06889367, 0.029332574, -0.067278475, 0.032268777, 0.08217916) * go_0(1.0, 0.0); - result += mat4(-0.16198236, 0.14663215, -0.19844484, 0.12605388, 0.11090156, 0.017791988, -0.058779463, 0.041371945, -0.22293547, -0.015482557, 0.2293464, 0.094193965, -0.26855227, -0.21347573, -0.09075141, -0.13876276) * go_0(1.0, 1.0); - result += mat4(-0.06498589, 0.100892216, -0.13253035, 0.15685925, 0.16823533, 0.16493973, 0.07777784, -0.07706127, 0.050116807, -0.01523585, -0.01661001, 0.020355182, 0.103539385, -0.17436443, 0.15487072, -0.037921157) * go_1(-1.0, -1.0); - result += mat4(0.03836789, -0.15199225, 0.11784638, -0.04646745, 0.044564333, 0.22369106, 0.14419034, -0.010723647, -0.0027908115, -0.15769437, 0.14674728, 0.21630915, -0.15577918, 0.083906, -0.076731354, 0.09644861) * go_1(-1.0, 0.0); - result += mat4(0.057972, -0.085704334, -0.044770416, -0.08455327, -0.096369885, 0.17715664, 0.0931527, 0.08611585, 0.082069114, -0.21235153, 0.056143392, -0.09681458, -0.15192977, -0.11773526, 0.085406475, -0.054963436) * go_1(-1.0, 1.0); - result += mat4(0.04377759, 0.14948493, 0.14370604, 0.121995315, -0.034767535, -0.19136979, 0.20502615, -0.19230005, -0.010331832, 0.24712276, 0.08443175, -0.02108672, -0.05402554, -0.073491514, -0.01772348, -0.04717817) * go_1(0.0, -1.0); - result += mat4(-0.0859936, 0.12129631, 0.4917177, 0.014785702, -0.017697783, 0.20519169, 0.193045, -0.32276052, 0.052729923, 0.20259547, -0.23248449, 0.027868863, 0.06924204, -0.0680142, -0.1510381, -0.0858641) * go_1(0.0, 0.0); - result += mat4(0.0042993063, -0.001888591, -0.19050622, -0.1974649, 0.0028959673, -0.056935344, -0.15306468, -0.037034288, -0.005013645, -0.49978206, -0.2860419, -0.24230668, -0.21625051, 0.124884024, -0.018598353, 0.018011522) * go_1(0.0, 1.0); - result += mat4(-0.00059534056, 0.09819056, -0.10073479, -0.0036862926, 0.018240096, -0.068672635, -0.040024363, -0.002400606, 0.12492032, 0.6830032, -0.103963815, -0.20350884, -0.0731358, 0.122847795, -0.04129241, 0.027231846) * go_1(1.0, -1.0); - result += mat4(0.14632931, 0.056954373, 0.10602974, 0.06899008, 0.028749242, 0.16360262, -0.2776957, -0.13795078, 0.2955775, 0.07387963, 0.18735075, 0.37977517, -0.0032196203, -0.0368105, 0.0007467509, -0.048191283) * go_1(1.0, 0.0); - result += mat4(-0.08740623, -0.14123341, -0.16725405, -0.035077587, 0.16800366, 0.10287269, -0.02063956, -0.02751512, -0.22882652, -0.19836405, -0.07881451, -0.036120445, -0.03052641, -0.19137034, 0.02006256, -0.0003630293) * go_1(1.0, 1.0); - result += mat4(0.21042292, 0.07082529, 0.10551431, -0.17735177, 0.1211633, -0.07301316, 0.08914643, 0.027641036, 0.0716893, 0.009513582, 0.06489754, -0.11262447, -0.006487075, 0.042482372, 0.040942963, 0.026485842) * go_2(-1.0, -1.0); - result += mat4(0.07677389, 0.017061912, 0.080698825, -0.02926673, 0.030129844, 0.08797221, -0.042393677, 0.040378265, 0.14051779, -0.01150974, -0.09838748, -0.084651664, 0.13157506, 0.15760668, 0.13706487, 0.017946318) * go_2(-1.0, 0.0); - result += mat4(0.21381795, 0.108781934, 0.12417435, 0.04925163, 0.05298279, -0.1352583, 0.085234426, -0.03526282, -0.024876006, 0.0025064421, 0.07016869, 0.084552824, 0.064173326, -0.05621783, 0.0711457, -0.025467668) * go_2(-1.0, 1.0); - result += mat4(-0.05810587, 0.0134641845, -0.038737856, 0.07663204, 0.121298246, -0.13257936, 0.004325269, -0.036193457, -0.29106387, -0.106322676, -0.23442906, 0.2862568, -0.18702938, 0.0030504123, -0.037212595, -0.2611213) * go_2(0.0, -1.0); - result += mat4(0.024120133, 0.07321953, 0.038489927, -0.04196367, -0.07796083, 0.33956012, -0.13922311, -0.05377065, -0.070829384, -0.10083194, 0.239536, -0.05901714, 0.26581895, -0.3095538, -0.2922295, 0.052582845) * go_2(0.0, 0.0); - result += mat4(0.02742305, -0.018496662, -0.094728574, 0.06404221, -0.041348618, -0.25715774, -0.1643205, 0.13505833, 0.043563902, -0.12633435, -0.101704225, -0.06851076, -0.10801949, -0.07229803, -0.042177804, 0.15722917) * go_2(0.0, 1.0); - result += mat4(-0.1890737, 0.086372465, 0.19611897, 0.11635388, -0.27176055, 0.113715895, -0.090014786, 0.028875142, -0.054593917, 0.030705186, 0.1435633, 0.061870232, -0.11143878, 0.09881344, 0.097813986, -0.21929547) * go_2(1.0, -1.0); - result += mat4(0.04700684, 0.042240005, -0.27370077, -0.10867852, -0.06256984, -0.08165931, 0.14414817, -0.046392858, 0.06402001, -0.18298607, -0.20697436, -0.035047896, 0.104348354, 0.21140936, 0.08119135, 0.11215284) * go_2(1.0, 0.0); - result += mat4(-0.15503405, -0.0058879172, 0.06903078, 0.10739542, -0.047215104, 0.05061763, -0.1265464, -0.13796777, 0.050830897, -0.06356833, 0.10470089, 0.061785046, -0.054734606, 0.069204785, 0.22219127, 0.14431196) * go_2(1.0, 1.0); - result += mat4(0.0035822908, -0.041718304, -0.06449883, 0.107891634, 0.11240286, 0.2773934, 0.018296933, 0.17229447, -0.038918763, -0.015615794, 0.013606009, -0.15145436, -0.038385842, -0.075797774, 0.074630134, -0.115841195) * go_3(-1.0, -1.0); - result += mat4(-0.35196853, -0.055269916, -0.10619746, 0.036240876, 0.027898792, 0.16981332, -0.08743389, -0.11659183, 0.21521945, 0.14624144, 0.3709361, 0.35440952, 0.05083335, -0.027957644, -0.14189775, 0.041765563) * go_3(-1.0, 0.0); - result += mat4(-0.012040415, 0.03733818, 0.0028794291, 0.085560195, -0.003578092, -2.0037096e-05, 0.018441873, -0.048575614, 0.16403939, 0.26586646, -0.23535033, -0.195904, 0.09343384, 0.16844647, 0.090654954, 0.20447001) * go_3(-1.0, 1.0); - result += mat4(-0.039211, 0.023288574, -0.11278111, 0.24733941, 0.030935412, 0.028505033, -0.054287612, 0.1626191, -0.013604053, -0.40332177, -0.12607175, 0.062430628, 0.020255104, -0.034459837, -0.02045024, 0.13066867) * go_3(0.0, -1.0); - result += mat4(-0.109611966, 0.036982346, 0.24648234, -0.10601368, -0.046704277, 0.09159354, -0.051051375, 0.27708438, -0.27565628, 0.3181145, 0.0352402, 0.11326822, 0.08464163, 0.0037447016, -0.11625815, -0.27881616) * go_3(0.0, 0.0); - result += mat4(-0.17009212, -0.14643735, 0.05730069, -0.19120802, 0.06845526, 0.10674906, -0.28353846, -0.12647904, 0.015396511, 0.097950876, 0.009746547, 0.031028407, -0.05640266, -0.04813061, 0.1215167, 0.013483247) * go_3(0.0, 1.0); - result += mat4(-0.015532973, 0.06836607, -0.15256128, 0.016466603, 0.22348233, 0.13754332, -0.032162182, 0.33556822, 0.17382346, -0.2763521, 0.060414087, 0.0027655934, 0.031628147, 0.08716705, 0.015910214, 0.0672223) * go_3(1.0, -1.0); - result += mat4(0.4342632, -0.067446776, -0.36212516, 0.027729288, 0.18695018, -0.026150677, -0.048804305, 0.03894249, 0.08076834, -0.024184678, -0.039985072, 0.019538054, -0.12608467, -0.114978395, 0.08024422, -0.009467871) * go_3(1.0, 0.0); - result += mat4(-0.12950122, -0.04900754, 0.007479547, 0.005553716, -0.011067856, 0.15695909, 0.15179226, 0.13305564, 0.109665506, -0.071129486, -0.29301268, -0.19721518, -0.014072068, 0.110164836, -0.10445084, -0.07427861) * go_3(1.0, 1.0); - result += mat4(0.056494176, 0.10441701, 0.1473454, -0.10962488, -0.024387872, -0.10661404, 0.023665238, -0.014857965, -0.11904774, 0.028333792, -0.018734593, 0.041431252, -0.051380955, 0.08761405, 0.025005583, 0.27504325) * go_4(-1.0, -1.0); - result += mat4(0.12111209, 0.09115707, -0.12130387, 0.037170578, 0.17773823, 0.11543872, -0.0981619, -0.009393771, -0.072751574, 0.12490967, -0.050705448, -0.21641576, -0.0032860835, -0.017348124, -0.039524093, -0.22634275) * go_4(-1.0, 0.0); - result += mat4(-0.026149368, -0.0345828, 0.024678709, 0.073074006, 0.075326554, 0.07688483, -0.06151585, -0.0006315397, -0.11916223, 0.09640916, -0.03452899, 0.0711575, 0.10298667, 0.14983572, -0.029672628, 0.060187414) * go_4(-1.0, 1.0); - result += mat4(0.061185572, 0.025581252, 0.05371412, -0.30638546, 0.064506106, 0.22312112, -0.12822428, 0.050079864, 0.007665535, -0.270618, -0.1205649, 0.066014335, -0.10095298, 0.14537272, 0.07578119, -0.102102645) * go_4(0.0, -1.0); - result += mat4(0.24163178, -0.14042771, -0.28968832, 0.32306322, -0.08210339, -0.089168124, -0.029958146, 0.23500884, -0.045208763, -0.076190665, -0.048189905, -0.062144633, -0.2209541, -0.118137404, -0.10013809, -0.2633339) * go_4(0.0, 0.0); - result += mat4(-0.043336965, -0.14818442, 0.3353549, 0.37338758, -0.097953044, 0.08346902, 0.2809552, -0.15042788, 0.052860767, 0.3296333, 0.1520426, 0.013095576, 0.06748028, -0.18191148, 0.1262768, 0.1454165) * go_4(0.0, 1.0); - result += mat4(0.020386793, -0.05559494, 0.0923228, -0.101281434, 0.07294861, -0.013454893, 0.14446425, -0.18820941, 0.03512501, -0.3100584, 0.07824563, 0.039452225, -0.31067702, -0.0059947846, -0.022850258, -0.03394584) * go_4(1.0, -1.0); - result += mat4(-0.2551513, 0.07006202, 0.10514115, -0.07164224, -0.15870212, 0.058055036, 0.05213708, -0.14221531, 0.18606052, 0.121992745, 0.005545236, 0.20166458, -0.51196563, 0.13145791, -0.07664502, -0.102140725) * go_4(1.0, 0.0); - result += mat4(0.013922251, -0.055376403, 0.32802138, 0.13208407, 0.013657613, 0.10752059, 0.036252435, 0.1592283, 0.013641419, 0.09172557, -0.047022454, -0.06487285, -0.010537236, 0.043602772, -0.018355483, 0.061706495) * go_4(1.0, 1.0); - result += mat4(0.034295138, 0.0290897, -0.055937063, 0.030905105, -0.049568217, 0.23283507, -0.09925937, 0.06541922, -0.19225466, -0.37406424, -0.0044630794, 0.12548251, -0.003204782, -0.033718586, -0.12822233, -0.06512161) * go_5(-1.0, -1.0); - result += mat4(0.04231634, 0.033866994, -0.060438603, 0.053806484, -0.043768402, -0.09377961, 0.053774644, -0.05314562, 0.08742594, -0.3595988, 0.05714237, -0.026023258, -0.14470316, -0.17429292, -0.05919939, -0.05714775) * go_5(-1.0, 0.0); - result += mat4(-0.035541177, -0.15197758, -0.03248727, 0.055882126, 0.03910343, 0.14273937, -0.16545315, -0.019183658, 0.067014545, -0.010861471, -0.23015557, -0.3174752, -0.0895981, 0.05603517, -0.10421314, 0.03543782) * go_5(-1.0, 1.0); - result += mat4(0.052712325, 0.15568605, 0.13511989, -0.035405457, 0.09660214, 0.0010066679, 0.0041616405, 0.3261607, -0.07167953, -0.3432988, 0.37812582, 0.08591545, 0.17927478, -0.08654189, 0.076707125, 0.14279753) * go_5(0.0, -1.0); - result += mat4(-0.056844193, 0.16529651, -0.06650483, -0.08292316, -0.02760633, -0.22888668, -0.19214903, -0.08840017, -0.23843671, -0.6793711, -0.33102167, 0.0064898706, -0.29774654, 0.37099698, 0.42785385, 0.025804019) * go_5(0.0, 0.0); - result += mat4(-0.11744241, -0.057497155, 0.18884729, 0.024753813, -0.0062507484, 0.33419883, 0.120441675, -0.25218838, -0.042276263, 0.08504629, -0.033582047, 0.07008096, -0.058578875, 0.0392345, 0.11335631, -0.15865934) * go_5(0.0, 1.0); - result += mat4(-0.04641351, -0.0370654, -0.08322972, -0.11589779, 0.09985797, -0.0747252, 0.0050210473, -0.0737313, 0.34289247, -0.08783692, 0.13673791, 0.05667411, 0.058139045, -0.17664829, -0.16574872, 0.020792067) * go_5(1.0, -1.0); - result += mat4(-0.17315285, 0.061304655, 0.23295666, 0.004587563, 0.025884068, -0.20429865, -0.17807725, 0.04610146, -0.16748384, 0.03548062, 0.36901402, 0.040421892, 0.0732819, -0.06323222, 0.17438933, 0.10541013) * go_5(1.0, 0.0); - result += mat4(0.11953197, -0.041181084, -0.05777039, -0.0713763, -0.07250408, 0.00030710385, -0.12310962, 0.05047857, 0.07764678, 0.048569802, -0.07179031, -0.13407484, 0.18644087, -0.08796725, 0.09215986, 0.03264275) * go_5(1.0, 1.0); - result += vec4(0.08639024, -0.11024204, -0.0076959864, 0.053946566); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2369839, -0.0792359, -0.12919348, 0.002247716, 0.04581234, 0.119436085, -0.039395507, -0.035233624, -0.031238249, 0.068567455, 0.021003028, -0.07353918, -0.12103854, -0.21112324, -0.0063801156, -0.04487009) * go_0(-1.0, -1.0); - result += mat4(0.0683294, 0.062320776, -0.024078269, 0.08904798, 0.026528858, -0.041699078, -0.07854327, -0.14078824, 0.060052495, -0.12898798, -0.010206991, -0.10815312, -0.07348112, -0.09190296, 0.16384035, 0.11615318) * go_0(-1.0, 0.0); - result += mat4(0.073954284, 0.11315491, -0.08271167, 0.012718058, -0.079351336, -0.12847738, 0.16898601, 0.057100534, -0.007783043, -0.046511702, -0.031176837, 0.09832856, 0.04629018, -0.11481637, 0.27974957, -0.008512578) * go_0(-1.0, 1.0); - result += mat4(-0.11174049, -0.06978879, -0.0026527392, 0.09206777, -0.052967362, 0.04242691, -0.028125865, -0.006913773, -0.105203055, 0.012300771, 0.073976465, 0.0597795, 0.12224533, -0.15938343, -0.04735274, -0.13670483) * go_0(0.0, -1.0); - result += mat4(0.069210574, -0.18154296, -0.179752, 0.030308926, 0.21821375, -0.17105243, 0.002948972, 0.1510472, -0.07507222, 0.05799302, 0.22358851, -0.1593742, -0.14097035, -0.14883585, -0.10766054, -0.04192339) * go_0(0.0, 0.0); - result += mat4(0.04092946, -0.056620143, -0.08841022, 0.0820261, 0.12114886, -0.046587184, -0.24642876, 0.20291825, -0.021399742, 0.075130075, 0.08025963, -0.0004831952, -0.20216052, 0.063063756, -0.14950794, -0.016591785) * go_0(0.0, 1.0); - result += mat4(0.001037612, -0.12479094, -0.064145386, 0.03701432, -0.09794906, -0.02047066, -0.0064438935, 0.054445606, 0.017312052, -0.010994496, -0.043534316, -0.03507283, -0.2881326, 0.056422662, 0.45392624, -0.14301568) * go_0(1.0, -1.0); - result += mat4(0.02659516, -0.12523884, -0.045878954, 0.0401728, -0.026269691, 0.23919468, -0.05373766, 0.22576872, 0.15472023, -0.06473123, -0.16314703, -0.007313837, 0.06282956, -0.12448595, 0.32412103, -0.1669555) * go_0(1.0, 0.0); - result += mat4(0.10851828, -0.0019357264, -0.042929318, 0.087208286, 0.08521072, -0.015302626, -0.045136105, -0.07599174, -0.020620871, -0.08058013, 0.04687409, 0.07679515, 0.02748689, -0.04049585, 0.031744577, -0.08941878) * go_0(1.0, 1.0); - result += mat4(-0.053986546, 0.2688435, -0.057546657, -0.11350552, -0.081904754, -0.09276461, -0.13561548, -0.11588968, 0.04355686, -0.29325503, -0.018699612, -0.06769227, -0.015948739, 0.04491891, -0.046178948, 0.02711675) * go_1(-1.0, -1.0); - result += mat4(-0.18972659, 0.27545497, -0.034131754, -0.09609413, 0.068409085, 0.13449967, -0.13105616, 0.028345212, -0.035266094, -0.065575354, -0.031779382, -0.14933869, 0.05228527, 0.09356076, -0.047118377, -0.020071832) * go_1(-1.0, 0.0); - result += mat4(-0.17382587, 0.15029867, -0.00600536, -0.035180923, 0.025643297, 0.010418448, 0.14726849, -0.05890341, -0.053652834, 0.048409678, 0.2806725, -0.08192519, -0.06738357, 0.07469718, 0.06771393, -0.042583536) * go_1(-1.0, 1.0); - result += mat4(0.011517158, 0.09972045, 0.06578792, -0.12352661, 0.05922438, -0.16663863, -0.006771989, -0.038835894, -0.02194692, -0.13857606, 0.023138417, -0.05360372, 0.014272163, 0.08904743, -0.04252727, 0.103002235) * go_1(0.0, -1.0); - result += mat4(-0.008667266, 0.19219917, -0.07475974, -0.2816411, -0.33488217, 0.039849013, 0.017313587, 0.08000436, 0.15055846, 0.015432909, 0.32798117, 0.009342251, -0.23739037, -0.28346112, -0.030122897, -0.18473577) * go_1(0.0, 0.0); - result += mat4(0.22614895, 0.13032585, -0.2176673, -0.3387019, 0.019557813, 0.17496689, 0.030887462, 0.17172079, -0.10533174, 0.0032622286, -0.13369057, -0.039323095, -0.0008841287, 0.121519946, 0.067216426, 0.03257707) * go_1(0.0, 1.0); - result += mat4(-0.0429636, 0.13093638, 0.12012435, -0.034646116, 0.0488735, 0.08784733, 0.03349143, -0.09357028, -0.06089799, 0.022837836, 0.16202758, 0.096765295, 0.009665008, -0.10780318, -0.07340907, 0.018662468) * go_1(1.0, -1.0); - result += mat4(0.0484555, 0.05852715, -0.11502228, -0.2250242, 0.00487918, -0.018516708, -0.024522817, -0.09146677, 0.0006642944, 0.17241697, 0.38606182, -0.23263825, 0.110663734, 0.11034593, -0.0056327246, 0.051475164) * go_1(1.0, 0.0); - result += mat4(-0.014929107, 0.09463201, 0.009869103, -0.17499818, 0.028962199, 0.23815866, 0.060768303, 0.13828199, 0.12261715, 0.096965745, -0.024608571, -0.24542965, 0.025484774, -0.0014874635, -0.009807938, 0.0007101552) * go_1(1.0, 1.0); - result += mat4(-0.101674154, 0.032412667, -0.10450873, -0.00022480187, 0.024635756, -0.1357198, -0.05327909, -0.036563605, 0.07561588, 0.009124707, -0.13368087, 0.042969264, -0.043317486, -0.1518712, -0.008810181, 0.030755859) * go_2(-1.0, -1.0); - result += mat4(0.1406038, 0.036187246, -0.06288465, 0.013666562, -0.22509198, 0.054938264, 0.03374708, 0.036942195, -0.054834712, 0.08038173, -0.012174669, -0.05048155, 0.04105839, -0.13010618, 0.029987235, 0.029830217) * go_2(-1.0, 0.0); - result += mat4(0.13428736, -0.145587, -0.09359362, 0.08647307, -0.1721466, 0.14161868, 0.06169795, -0.020108147, -0.082708314, -0.0009893128, 0.061197698, 0.015552345, 0.19280085, 0.045152925, -0.13817257, 0.08140578) * go_2(-1.0, 1.0); - result += mat4(0.11750963, 0.0146443285, -0.026884248, -0.0006429066, -0.008400631, -0.043018907, -0.07913679, -0.14783737, -0.032443974, -0.08028971, -0.08927282, 0.00809941, 0.0124223465, 0.041715536, -0.06587267, 0.13605455) * go_2(0.0, -1.0); - result += mat4(0.29818505, 0.20918716, -0.13256323, 0.23988591, -0.38704476, -0.05851411, -0.004705456, 0.10221165, -0.08329328, 0.12643409, -0.23133238, 0.036488805, 0.21748522, -0.095220506, -0.012000105, -0.0032247186) * go_2(0.0, 0.0); - result += mat4(-0.119828835, -0.016386732, 0.06939514, 0.08491721, -0.017447483, -0.10812376, -0.015384033, -0.0137153845, -0.14978316, 0.032878425, 0.120704606, 0.07987688, 0.10143365, 0.16894275, -0.09816831, -0.029983638) * go_2(0.0, 1.0); - result += mat4(0.004197231, -0.004475635, 0.02442438, -0.08062267, -0.13645843, -0.063362874, -0.13470308, -4.8972346e-05, 0.04937739, 0.025885701, -0.0626489, 0.06272147, 0.040682197, -0.037275683, -0.07711889, -0.03401893) * go_2(1.0, -1.0); - result += mat4(-0.07601782, -0.044119228, 0.12799697, -0.04923261, -0.07554412, -0.13866402, -0.039769165, 0.0750738, 0.028331043, 0.22329865, -0.078985184, 0.21741354, 0.08896384, 0.02745735, -0.11954973, -0.030984413) * go_2(1.0, 0.0); - result += mat4(0.088372685, -0.04094657, 0.030890986, 0.011887401, 0.101060346, 0.036795005, -0.02541599, 0.11929074, 0.0042294776, -0.09067195, -0.13775113, 0.051152255, -0.011856665, -0.01186073, -0.014405341, -0.06443953) * go_2(1.0, 1.0); - result += mat4(0.1990754, -0.13920973, -0.24694741, 0.20978624, 0.00096705626, -0.09906306, -0.031113537, 0.09064841, -0.005332781, 0.06942478, 0.027275847, 0.14482562, 0.10915609, 0.15485178, 0.09100627, 0.08800073) * go_3(-1.0, -1.0); - result += mat4(0.067276604, -0.15296488, -0.10655601, 0.1007172, 0.06399946, 0.11820019, -0.012255674, -0.04701397, 0.005157013, 0.14800015, -0.005829729, 0.058462787, -0.0034304103, -0.0022002284, 0.088455915, -0.09076621) * go_3(-1.0, 0.0); - result += mat4(-0.0045863236, -0.13443832, -0.02036122, 0.067712225, -0.09286585, 0.15505461, -0.03191861, 0.062198598, -0.014097363, -0.06486533, -0.013725968, 0.09863627, 0.004106804, -0.11001409, -0.1489799, 0.012900801) * go_3(-1.0, 1.0); - result += mat4(0.11722181, 0.024655748, 0.028080126, 0.034889475, -0.02211666, 0.10347594, 0.19828199, -0.052708372, -0.23978107, 0.11193546, 0.015817301, -0.060378563, 0.05506628, 0.017437497, 0.17592382, 0.1566574) * go_3(0.0, -1.0); - result += mat4(0.011318326, -0.19983633, 0.0542877, -0.08868874, 0.059281945, -0.08321469, -0.45549735, 0.41699305, 0.18566287, -0.22530322, -0.08444872, -0.04485004, -0.13312897, 0.025137378, 0.4283649, -0.22263475) * go_3(0.0, 0.0); - result += mat4(0.10148392, 0.12450337, -0.032773893, 0.03742288, 0.0059106606, -0.17406113, -0.083701774, -0.010221676, 0.16314605, -0.22251254, -0.13263722, 0.09496533, -0.0020611945, 0.10998006, 0.23540293, 0.12287761) * go_3(0.0, 1.0); - result += mat4(-0.01097223, 0.043488838, 0.028565591, 0.057649106, 0.04069052, -0.015125962, -0.033889383, -0.039301567, -0.28547964, 0.16771436, 0.064779356, 0.17768629, 0.0977948, -0.12978803, 0.1248975, 0.076509014) * go_3(1.0, -1.0); - result += mat4(-0.014799843, -0.11454738, 0.0072981194, 0.06956252, -0.119126685, -0.054390237, 0.20148608, 0.055611208, -0.33772695, 0.02875631, 0.15688069, 0.07648471, 0.17330919, -0.10749096, -0.00058184325, -0.16302843) * go_3(1.0, 0.0); - result += mat4(0.025022479, -0.0510169, -0.054967374, -0.18119891, 0.072380155, 0.13645615, -0.029061519, -0.09392558, 0.0020073708, 0.10373002, 0.08769151, 0.1467629, -0.032814845, -0.22622965, 0.062578805, 0.15869768) * go_3(1.0, 1.0); - result += mat4(0.08132352, -0.057824034, -0.049706902, -0.021799462, 0.027207939, 0.055137623, 0.13588108, -0.06595749, -0.10212913, 0.03328737, 0.07568671, 0.04425169, -0.056393128, 0.08096936, 0.049417946, -0.03110039) * go_4(-1.0, -1.0); - result += mat4(0.16936453, -0.03750322, -0.041140877, -0.08652042, -0.029363338, -0.07450129, 0.102560416, -0.23950958, -0.13059175, 0.21066219, 0.10126263, 0.043688625, 0.12293311, -0.02102107, -0.01415126, -0.08114574) * go_4(-1.0, 0.0); - result += mat4(0.13357115, 0.25130415, -0.008012242, -0.022129368, -0.04116201, 0.19364384, -0.0755634, -0.021590892, 0.014902855, -0.16364469, -0.15113516, 0.021274269, 0.002715793, -0.082595, -0.023225293, -0.0023291293) * go_4(-1.0, 1.0); - result += mat4(-0.047352426, 0.047768887, -0.027633572, -0.048747484, 0.002366812, 0.2123351, -0.03785716, -0.06169537, 0.05152527, -0.097918324, -0.09970387, -0.10696893, 0.14201112, 0.048251197, 0.020989964, -0.12759319) * go_4(0.0, -1.0); - result += mat4(-0.11691897, 0.11003735, 0.1787839, 0.035897207, -0.068546794, 0.18663177, -0.11768889, 0.0046620993, -0.076647416, -0.008958245, 0.055827506, -0.095377706, 0.051213227, -0.2821711, 0.013320494, 0.1563779) * go_4(0.0, 0.0); - result += mat4(-0.08324576, 0.3131121, 0.21894962, 0.013974257, -0.05526049, 0.032233212, 0.05284564, -0.2475858, 0.13031252, -0.08124232, -0.010205146, -0.057937223, 0.11874465, -0.013862318, 0.0052336063, 0.04949605) * go_4(0.0, 1.0); - result += mat4(0.14994349, -0.03296414, -0.23602034, -0.0033256228, 0.008873702, -0.010388283, -0.035780232, 0.011833461, 0.117081955, -0.038984414, 0.074017905, 0.033703547, -0.024258457, 0.09559132, 0.02495569, -0.040010694) * go_4(1.0, -1.0); - result += mat4(-0.0048430585, 0.17926253, 0.008713498, 0.10879202, 0.019645652, 0.029483858, -0.047485687, -0.042396937, -0.029273199, -0.2432983, -0.1250007, -0.024952445, -0.060036886, 0.014986906, -0.014428253, 0.03334825) * go_4(1.0, 0.0); - result += mat4(0.11731086, 0.20593153, -0.10197385, -0.011249018, -0.10738923, -0.074847564, -0.006172099, -0.18687822, -0.097578146, -0.07579803, 0.05764291, 0.10152833, -0.14840044, 0.035003513, 0.023365693, 0.04386252) * go_4(1.0, 1.0); - result += mat4(0.2394935, -0.151495, -0.004142306, -0.084381334, -0.06817076, 0.04995128, 0.07523575, -0.019087847, 0.04900443, 0.03855287, -0.047666, -0.010728584, -0.041862275, 0.0092430115, 0.18933049, 0.001247498) * go_5(-1.0, -1.0); - result += mat4(-0.26478, -0.108964734, 0.07654512, -0.18083075, 0.087697916, -0.1985272, 0.12003646, 0.088157, -0.11911801, 0.10562385, 0.08664133, 0.04456427, -0.105021, 0.18528733, 0.034151975, -0.15520982) * go_5(-1.0, 0.0); - result += mat4(0.017519012, -0.012286436, 0.10177459, 0.038459957, -0.22457904, -0.05511256, 0.15413229, 0.1507701, 0.08257404, 0.034750186, -0.15717988, -0.030795097, -0.07657355, -0.33403704, -0.0053621423, -0.06624692) * go_5(-1.0, 1.0); - result += mat4(0.10030682, -0.052044563, -0.049402863, 0.09053447, -0.13081445, 0.0141896, 0.042153686, -0.010219266, -0.06850381, 0.03529716, 0.16374019, 0.06750858, 0.09204821, 0.053093266, -0.024561154, 0.018893644) * go_5(0.0, -1.0); - result += mat4(-0.21870598, 0.32735768, -0.037454635, -0.062546894, 0.048824597, 0.006229873, 0.0879531, 0.0010694796, 0.1268415, -0.3329151, 0.18059574, 0.027663317, 0.06451952, 0.2059446, -0.14739716, 0.0425968) * go_5(0.0, 0.0); - result += mat4(-0.02567249, 0.18261379, 0.0078112325, 0.13831526, 0.022516627, 0.18176961, 0.022643182, 0.06482983, 0.32458714, 0.1415256, -0.40462464, -0.24058491, -0.1555331, -0.058481682, 0.08041805, 0.068204984) * go_5(0.0, 1.0); - result += mat4(0.08099861, -0.042113766, -0.012603856, -0.027247382, -0.09505534, 0.013861726, 0.16544205, -0.034136306, 0.013128467, 0.022156378, 0.021391893, -0.087280534, -0.18957394, -0.072840415, 0.1942784, -0.04479766) * go_5(1.0, -1.0); - result += mat4(0.13244309, 0.23072438, -0.10388544, 0.055465538, -0.06797261, 0.0813476, 0.03605633, -0.002648387, 0.04333517, 0.1233629, 0.004186724, -0.068296656, -0.076496966, -0.13608767, 0.13116132, -0.067895085) * go_5(1.0, 0.0); - result += mat4(-0.05193536, -0.057465453, 0.05165806, -0.092361026, -0.21779, -0.08789043, 0.056987524, -0.06524499, 0.02767333, 0.19836798, 0.104195744, -0.091015235, -0.10806183, -0.24305776, 0.12348048, 0.17889297) * go_5(1.0, 1.0); - result += vec4(0.0026275632, -0.111531265, -0.027438803, 0.048715387); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0007129529, -0.23268181, -0.055581614, -0.19489531, -0.119524784, 0.16052821, 0.08242202, 0.1274113, 0.06528547, 0.11359341, -0.13980822, -0.04566708, -0.03624654, -0.08533644, -0.14554873, -0.14973463) * go_0(-1.0, -1.0); - result += mat4(-0.010712782, 0.09223229, -0.06977767, 0.031998634, 0.2417462, -0.08404255, -0.067694396, -0.031915385, -0.08493046, -0.12639172, -0.12919787, 0.009066012, 0.027782273, -0.2951646, -0.1300083, -0.0673188) * go_0(-1.0, 0.0); - result += mat4(0.1325964, -0.051963683, 0.13291354, 0.02579481, -0.103561625, -0.041789595, 0.040783167, 0.047240548, -0.06668069, 0.020328876, 0.08887853, -0.02963949, -0.11168412, 0.1557154, -0.076105356, -0.1504038) * go_0(-1.0, 1.0); - result += mat4(-0.10317256, 0.07854648, 0.16037096, -0.0379184, 0.13046049, -0.024218671, 0.0822899, 0.08198137, 0.0012042717, -0.25853133, 0.046963938, -0.009453239, 0.09634527, -0.009770066, -0.12853295, -0.041695565) * go_0(0.0, -1.0); - result += mat4(0.11125126, 0.09055589, 0.014031054, -0.02255056, -0.10394986, 0.10815357, -0.15813628, -0.01853368, 0.012419031, 0.0020822953, -0.010447686, -0.026241936, -0.03541712, 0.076329805, 0.20895265, 0.003645337) * go_0(0.0, 0.0); - result += mat4(-0.12773241, -0.09765568, -0.14337096, -0.065751396, -0.0084745465, -0.052546956, -0.08200752, -0.08708897, -0.032195702, -0.036496297, 0.17860867, -0.068227254, 0.13200605, -0.13811241, -0.050324995, 0.16204447) * go_0(0.0, 1.0); - result += mat4(-0.014216644, 0.057588127, -0.044320818, 0.062128264, -0.020399947, -0.05649115, -0.11319402, -0.038921937, 0.036813796, 0.5067311, 0.22060235, -0.0055661057, 0.23151882, 0.0050073536, 0.12176585, 0.0038464004) * go_0(1.0, -1.0); - result += mat4(-0.0759528, 0.07477981, -0.06292785, -0.050053917, -0.06312128, -0.21425541, 0.0067035304, -0.06986801, 0.10586866, -0.12749328, -0.097493485, -0.003508852, 0.111684315, 0.18951331, -0.012068376, 0.036257178) * go_0(1.0, 0.0); - result += mat4(-0.15544677, 0.047360703, -0.059747778, 0.0026973744, -0.00072011014, 0.15553303, 0.10704341, -0.02808549, -0.09962682, -0.044461366, -0.014757942, -0.06257519, 0.13504705, 0.030818086, -0.047969542, -0.12272446) * go_0(1.0, 1.0); - result += mat4(0.02756638, 0.03870099, -0.078585416, -0.049957782, -0.16714093, -0.020673685, -0.0029932198, 0.08303188, 0.09362902, -0.32569888, -0.02152779, -0.039258134, -0.0024254394, -0.05215952, 0.103006296, -0.05561939) * go_1(-1.0, -1.0); - result += mat4(0.11232395, -0.4204378, -0.02948307, 0.058709357, 0.10122942, -0.01815637, 0.029027436, 0.045725007, -0.0019202912, -0.20451765, -0.06804741, -0.018427953, 0.026046682, -0.02693389, -0.1603317, -0.11198625) * go_1(-1.0, 0.0); - result += mat4(0.24319492, 0.114851095, -0.13692874, 0.07721465, 0.020316923, -0.08134961, 0.07356765, -0.054053787, -0.01942671, 0.22095704, 0.00965335, 0.018760502, 0.015964821, 0.086102456, 0.01024545, 0.043060217) * go_1(-1.0, 1.0); - result += mat4(0.3332833, -0.03617076, -0.06354161, 0.095067084, 0.20085002, -0.07980238, 0.042980768, 0.016795967, -0.09440837, -0.18057466, -0.062128007, -0.22770254, 0.03636945, 0.0749142, 0.0034359195, -0.024630694) * go_1(0.0, -1.0); - result += mat4(0.18430449, -0.036511928, -0.053284973, 0.023835842, 0.23871118, 0.05792267, -0.0846795, -0.20196451, 0.03506874, 0.22829485, -0.28377455, -0.11413547, -0.10833865, 0.09104711, -0.13071612, 0.17202353) * go_1(0.0, 0.0); - result += mat4(0.19165954, 0.22479524, -0.19884257, 0.08072162, -0.07574742, 0.13766298, -0.25755826, 0.084687516, -0.080061525, 0.25205615, -0.12677447, 0.08576974, 0.02831567, -0.009467821, 0.1970242, 0.20168954) * go_1(0.0, 1.0); - result += mat4(0.0927734, 0.17610501, 0.14182864, 0.18800513, 0.05701441, 0.15469678, 0.11420199, -0.15377665, -0.08189125, -0.30660027, 0.033272292, -0.11340498, -0.08969095, 0.016946664, 0.03424574, -0.007572548) * go_1(1.0, -1.0); - result += mat4(0.23636094, 0.15679167, 0.070221, 0.11989854, -0.18536362, 0.06250143, -0.086411804, 0.0099315215, -0.13320905, 0.2642356, 0.22141577, -0.009068583, -0.06783877, 0.16432028, 0.06672474, -0.051250096) * go_1(1.0, 0.0); - result += mat4(-0.22000717, 0.15731241, 0.13043061, -0.042806733, 0.0031978998, 0.0668276, 0.08608138, 0.10850058, 0.22485662, -0.121448815, -0.014875905, -0.082832925, 0.056386247, -0.29444495, -0.05680645, -0.015010734) * go_1(1.0, 1.0); - result += mat4(0.014549664, -0.0069613485, 0.11311649, 0.05610812, 0.04279884, -0.1020982, -0.03904751, -0.17636296, -0.05201923, 0.14244251, -0.059024896, -0.09463292, -0.09491209, -0.022265568, -0.0002296264, 0.03899329) * go_2(-1.0, -1.0); - result += mat4(0.048777632, 0.052673753, 0.13282603, 0.1795813, -0.028372066, 0.10603009, -0.4148765, -0.02000411, 0.053786337, -0.11523432, -0.31676108, -0.03830518, 0.022093901, 0.013758008, 0.106954776, -0.028646056) * go_2(-1.0, 0.0); - result += mat4(-0.06699817, -0.1724271, -0.036506936, 0.1153328, 0.015884517, -0.008503094, 0.028359545, -0.012168917, 0.030682955, 0.03541267, -0.03814948, -0.01124931, -0.05933562, -0.014424095, 0.027945189, -0.08810283) * go_2(-1.0, 1.0); - result += mat4(0.013294456, 0.19495966, 0.067234084, 0.15800472, 0.051711556, 0.17711255, 0.1140798, 0.10137737, -0.039499275, -0.04602223, -0.07446666, 0.0012073858, -0.08343905, -0.049277645, -0.078486815, -0.14566717) * go_2(0.0, -1.0); - result += mat4(-0.09936533, 0.039390396, 0.13288753, 0.1920324, 0.13764949, -0.05153866, 0.06799814, 0.22350872, 0.27779356, -0.02206339, 0.19484605, -0.07821554, -0.07797821, 0.12577902, -0.084113464, 0.02873002) * go_2(0.0, 0.0); - result += mat4(-0.10784442, -0.25804177, 0.1306632, 0.0046842564, 0.13917917, -0.03910364, 0.06410272, 0.019373003, -0.03459362, 0.080056466, 0.12915988, 0.14360592, 0.19040298, -0.0023102893, -0.04890759, -0.22537242) * go_2(0.0, 1.0); - result += mat4(0.056570116, 0.13121127, -0.069638334, 0.11919738, -0.04740792, -0.16621193, -0.118925, 0.044869807, -0.010641902, -0.051522024, -0.057623643, 0.017528418, -0.07562933, 0.058253985, 0.05989836, 0.032996327) * go_2(1.0, -1.0); - result += mat4(0.091301516, 0.08428476, -0.16445327, 0.11784904, -0.07030389, 0.022161584, -0.02548798, -0.08254805, -0.04188322, 0.24900444, 0.078174226, 0.20630752, -0.05519587, -0.10978986, 0.015350538, -0.12161702) * go_2(1.0, 0.0); - result += mat4(-0.095735274, -0.10423386, -0.036254395, 0.10522458, -0.022615599, 0.085539706, -0.096113354, -0.23468721, 0.050746538, -0.31889522, -0.061264757, 0.11150476, -0.007024875, -0.11553085, -0.019223234, -0.23692535) * go_2(1.0, 1.0); - result += mat4(-0.08454392, 0.21670897, -0.15095642, -0.060052566, 0.045126446, -0.030535553, -0.057765372, -0.027783932, -0.20350753, -0.2959993, 0.28601378, 0.028859718, 0.071787685, -0.027895963, -0.04723786, -0.10217129) * go_3(-1.0, -1.0); - result += mat4(-0.012522398, -0.23370479, -0.019732006, -0.052036785, -0.33242345, 0.02026433, 0.26734874, 0.044760924, -0.09205539, 0.0888652, 0.27825877, -0.08912795, 0.019177845, 0.123587854, -0.10933388, -0.046620987) * go_3(-1.0, 0.0); - result += mat4(-0.059484433, 0.107038036, -0.021947065, 0.03293247, 0.16987476, -0.02623603, -0.019537413, -0.02559007, -0.010399871, -0.028635733, -0.10141786, -0.10065662, -0.09635094, -0.107081525, 0.0060942136, 0.00018589811) * go_3(-1.0, 1.0); - result += mat4(0.063847266, -0.07454534, -0.1174812, -0.14199455, -0.044613797, -0.081642054, 0.035214093, 0.009284773, -0.00707006, 0.28477952, -0.03298465, 0.074021146, -0.04033067, 0.17765698, 0.1553138, 0.08380522) * go_3(0.0, -1.0); - result += mat4(0.17025755, -0.118484, -0.21803714, -0.28715235, -0.13095933, -0.058834057, -0.18294802, 0.043152038, -0.058910713, 0.028670516, -0.0010361333, -0.025163988, 0.15223087, -0.016097538, -0.09638604, -0.01772858) * go_3(0.0, 0.0); - result += mat4(0.062441614, -0.016123693, 0.07818185, 0.022483543, -0.029692583, 0.035550565, -0.12624146, -0.04230702, -0.061506867, -0.014386596, 0.0115612615, 0.068888955, 0.067702614, 0.07322066, 0.024701316, -0.04806952) * go_3(0.0, 1.0); - result += mat4(0.026700316, -0.16510022, 0.050885063, -0.1332475, 0.019049475, -0.008760977, 0.04359399, 0.042262577, -0.05225198, -0.603255, -0.11838725, -0.017602438, -0.23949145, 0.07854026, -0.21954034, -0.07048147) * go_3(1.0, -1.0); - result += mat4(0.18560836, 0.18485062, -0.008109583, -0.0061953044, 0.067029685, 0.1231515, 0.00463641, -0.031592768, -0.24861142, -0.012609046, 0.14307153, -0.072264954, -0.0067704953, -0.18041459, 0.17362577, -0.06497389) * go_3(1.0, 0.0); - result += mat4(0.10974998, 0.06757753, 0.0377915, 0.057072945, 0.11128115, 0.0013228649, -0.044957817, -0.020252109, 0.06231163, -0.14761455, -0.027373059, -0.10220075, -0.22065234, -0.09441151, 0.052624665, 0.11956694) * go_3(1.0, 1.0); - result += mat4(0.11292619, -0.10152602, 0.10526179, 0.06337831, 0.116172016, 0.16123155, -0.055104487, 0.13740757, -0.08778325, -0.028898785, -0.019357817, -0.08015077, -0.0066665406, -0.009120153, 0.051283117, 0.04456564) * go_4(-1.0, -1.0); - result += mat4(0.19621657, 0.26922694, 0.03988996, 0.032870032, 0.057292562, 0.024405524, -0.11551687, -0.047686152, 0.13039996, 0.056989953, -0.065783806, 0.00033558672, -0.065978706, -0.00902148, 0.1314761, 0.064695716) * go_4(-1.0, 0.0); - result += mat4(0.20266968, 0.11562562, 0.0044746934, 0.052361086, 0.0009612361, 0.01889979, -0.045194417, 0.085848965, -0.05785333, 0.07915189, 0.09685515, 0.016877603, 0.00037991733, 0.0003345007, -0.03782238, -0.0066707213) * go_4(-1.0, 1.0); - result += mat4(-0.12730233, 0.037978236, 0.13999923, 0.033807464, -0.038275905, 0.012305192, 0.06438087, 0.08611617, 0.07200057, 0.13013837, 0.07331905, -0.0010762423, -0.038951423, -0.027457712, 0.014879732, 0.07803083) * go_4(0.0, -1.0); - result += mat4(0.12269098, -0.01707025, 0.099231675, 0.16366597, -0.0075668246, -0.12552746, 0.27712014, 0.22933815, 0.14837137, -0.07610271, 0.11374453, 0.026816925, 0.1011783, -0.043783583, -0.18852726, -0.2007988) * go_4(0.0, 0.0); - result += mat4(0.118183166, -0.45110446, -0.04326608, 0.10598517, 0.09142483, 0.004518412, 0.10789324, 0.18913233, -0.029293153, -0.10852763, 0.15762898, -0.021000696, 0.042484812, 0.030249448, -0.09806746, -0.15705605) * go_4(0.0, 1.0); - result += mat4(0.026257282, -0.017269222, -0.111170195, 0.12946244, 0.015408065, -0.14137042, -0.035408627, 0.073995374, 0.006271072, 0.14994001, -0.01258022, 0.019418288, 0.118502036, 0.035291567, 0.039203968, 0.018011976) * go_4(1.0, -1.0); - result += mat4(-0.11994321, 0.037343338, 0.034031454, -0.0947803, 0.2207995, 0.043690477, 0.06692838, 0.18297808, 0.03876948, -0.20762676, -0.13309777, 0.036189202, 0.0058699325, -0.1331377, -0.035574175, -0.091714606) * go_4(1.0, 0.0); - result += mat4(0.16173537, 0.030811697, -0.07565782, 0.17767896, 0.1574808, -0.0071866834, -0.031369448, 0.11762595, -0.304427, 0.04666128, 0.19467019, 0.13271074, -0.066108644, 0.17788546, 0.09988941, 0.0071199923) * go_4(1.0, 1.0); - result += mat4(-0.07895499, 0.024530848, 0.07610484, 0.14991722, -0.071451046, 0.07360262, -0.10922367, 0.16261177, 0.14607567, -0.29037732, 0.19056098, 0.0017480691, 0.09447392, -0.097536966, -0.15283571, -0.2116911) * go_5(-1.0, -1.0); - result += mat4(-0.090664506, 0.0026753773, -0.19803517, -0.0035921792, 0.08019641, -0.34822193, 0.03115303, -0.11561995, 0.047316786, 0.08521655, 0.30527622, -0.03627345, -0.10390178, 0.13096002, -0.11939941, 0.076553464) * go_5(-1.0, 0.0); - result += mat4(-0.018057704, -0.012385826, -0.048699293, 0.057409126, 0.018623013, -0.13720913, -0.08693412, -0.035308264, 0.0048156027, 0.04298599, 0.20682096, 0.07020018, -0.19156799, -0.099447116, 0.11187527, -0.034651503) * go_5(-1.0, 1.0); - result += mat4(-0.19674721, -6.47493e-05, -0.14616148, -0.16328155, -0.15329379, -0.13080211, -0.095063426, 0.10239187, 0.29591182, 0.061356615, 0.19931474, -0.062333517, 0.111954294, -0.024125673, 0.1727124, -0.100813806) * go_5(0.0, -1.0); - result += mat4(0.005782909, -0.048647407, 0.20534706, 0.04177472, -0.266937, 0.43962362, 0.03461612, 0.13415751, -0.21391335, -0.023739172, -0.382901, 0.1677018, 0.28375793, -0.10282615, -0.034843605, 0.00698951) * go_5(0.0, 0.0); - result += mat4(-0.0019446284, 0.07665739, 0.13404883, 0.1467204, -0.0588129, 0.19369206, -0.050641898, 0.018204086, 0.21603708, -0.22462276, -0.07930267, -0.2749562, 0.016131664, 0.2697215, -0.14661922, -0.026748048) * go_5(0.0, 1.0); - result += mat4(-0.15208562, -0.025413433, -0.031909585, 0.010184482, 0.09441715, 0.045736533, 0.0015301697, 0.055179585, 0.03623536, 0.08788274, 0.090822086, -0.041574936, -0.05593542, 0.013202262, -0.08831654, -0.117966585) * go_5(1.0, -1.0); - result += mat4(-0.06767938, 0.036391854, 0.024670534, 0.065553516, 0.124412306, -0.18261679, -0.11035609, -0.021725666, 0.06963895, -0.18845208, 0.05664083, -0.28461877, 0.12621799, -0.024473144, 0.060711104, 0.06137061) * go_5(1.0, 0.0); - result += mat4(0.030836413, -0.28885397, -0.0082618, -0.040858608, 0.121351525, -0.1581085, 0.04491976, 0.15929738, 0.011640548, 0.17567058, 0.18560362, -0.18308444, -0.091114745, -0.03191929, -0.0424641, 0.10603501) * go_5(1.0, 1.0); - result += vec4(-0.0980025, 0.0163943, 0.07015813, -0.04460826); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf2 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.044858746, 0.112747766, 0.11743049, -0.04397981, -0.15657529, -0.08594472, -0.077046685, 0.040047225, -0.16525316, 0.118806966, -0.06923664, -0.068862945, 0.13853838, 0.21202816, 0.03315427, 0.02810617) * go_0(-1.0, -1.0); - result += mat4(-0.08981965, 0.009795084, -0.17461349, 0.1293042, 0.13288464, -0.011990358, 0.045853514, 0.005478685, -0.039259993, 0.014204771, 0.049636167, -0.031643927, -0.081734784, 0.06592399, -0.075981714, -0.02715899) * go_0(-1.0, 0.0); - result += mat4(0.110248916, 0.0064891353, 0.022578653, -0.029814541, 0.12611644, -0.1477485, 0.013158434, -0.029419534, -0.049103256, 0.11351519, -0.07094292, 0.15175463, 0.023724427, -0.04979516, 0.01999463, -0.04911801) * go_0(-1.0, 1.0); - result += mat4(-0.072089985, 0.04007664, -0.024550471, -0.0041285334, -0.018247912, 0.046173554, -0.07198727, 0.017499885, -0.001033623, -0.19433345, 0.07760378, 0.049773693, -0.17062156, -0.02818212, 0.34907836, 0.0050598015) * go_0(0.0, -1.0); - result += mat4(-0.06617895, -0.029447488, -0.08041051, 0.10391866, -0.3511068, 0.24072146, -0.07714093, -0.19329752, -0.090364814, -0.114312, -0.14665945, 0.14689237, 0.20671985, 0.015588815, -0.119754635, -0.056320462) * go_0(0.0, 0.0); - result += mat4(-0.027388249, 0.104699664, -0.27179572, -0.02907286, 0.07357054, -0.0068755792, -0.13605821, 0.06462062, -0.093615666, -0.032704853, 0.038318764, -0.076435864, -0.0055633793, 0.046742633, 0.093529075, 0.18353659) * go_0(0.0, 1.0); - result += mat4(0.06082767, 0.085872404, -0.093700096, 0.061194196, 0.06258653, 0.058643147, -0.07235859, -0.092823185, -0.010440827, 0.11255041, 0.0090868175, -0.007858298, 0.148384, -0.05526942, 0.19361623, 0.004099247) * go_0(1.0, -1.0); - result += mat4(-0.06093948, -0.038310055, -0.082474135, -0.010680022, 0.0012025833, -0.092099264, 0.013127829, 0.027141726, 0.09983758, 0.03275215, 0.07185623, -0.19180898, -0.044681955, -0.024202297, -0.3165539, 0.0010588729) * go_0(1.0, 0.0); - result += mat4(-0.060221963, -0.026948337, -0.06574486, 0.011485259, -0.06550075, 0.040276073, 0.025496457, -0.19623038, -0.065990366, -0.025713596, -0.040418267, -0.08788943, 0.076047935, -0.056114316, 0.15456654, -0.07788768) * go_0(1.0, 1.0); - result += mat4(-0.067551315, 0.14745092, -0.054396585, 0.040545028, -0.17049932, 0.07036919, -0.13004121, -0.012877571, -0.09034833, 0.013381427, -0.07020307, 0.13269025, 0.04836113, 0.008816658, 0.06908017, 0.13488075) * go_1(-1.0, -1.0); - result += mat4(0.15872127, 0.046130676, 0.059947554, -0.01181087, 0.00031724942, -0.048350845, -0.009036753, -0.11157358, -0.07300833, 0.09947689, 0.20575939, -0.3546566, -0.059859008, 0.029647622, 0.13094904, -0.03154742) * go_1(-1.0, 0.0); - result += mat4(0.08560438, 0.1965193, -0.044979937, -0.13631731, 0.16646172, 0.09958199, 0.0074020037, 0.10672716, 0.15015182, 0.041704617, 0.063770875, 0.19410326, 0.008813034, 0.16075528, 0.08517037, 0.28283635) * go_1(-1.0, 1.0); - result += mat4(0.12114333, -0.08197629, 0.026583742, -0.060136575, 0.07713845, -0.004285971, 0.16490252, 0.26541123, 0.13636889, 0.14296104, -0.045894254, -0.007115691, 0.037731793, -0.014873664, -0.00571577, -0.009701031) * go_1(0.0, -1.0); - result += mat4(0.2608233, -0.014971803, 0.15469527, 0.18899868, 0.06325761, 0.05273965, -0.021072507, 0.039343588, 0.049740855, 0.30912283, 0.1328661, 0.21406676, 0.013830919, -0.2128574, -0.020829424, 0.22456568) * go_1(0.0, 0.0); - result += mat4(0.0642146, -0.14275537, 0.032388665, -0.12502304, 0.31260416, -0.026139492, 0.11060444, 0.014260357, -0.06373526, 0.15441616, -0.14077063, -0.03819972, 0.023418859, -0.065061435, 0.068000436, -0.10781963) * go_1(0.0, 1.0); - result += mat4(0.039874375, -0.03544748, -0.09499391, -0.021817759, 0.2049574, 0.08219808, 0.044527993, -0.12810238, -0.07313955, -0.3041692, 0.074703164, 0.034242906, -0.08850236, 0.06280731, 0.07377995, 0.10382322) * go_1(1.0, -1.0); - result += mat4(0.04350059, 0.21734618, 0.08675183, -0.055069674, 0.16317086, -0.000833345, -0.061599948, 0.025430895, -0.05566867, -0.07084767, -0.20808282, -0.08088132, -0.08246971, 0.019896548, 0.0011203124, -0.016212555) * go_1(1.0, 0.0); - result += mat4(0.009271706, 0.10609657, 0.046975497, 0.016255897, -0.03132032, -0.026223281, -0.04218519, -0.089583725, 0.0011256885, -0.096725605, 0.13508168, 0.0070396424, 0.071279675, -0.009885292, 0.023429802, 0.04919291) * go_1(1.0, 1.0); - result += mat4(-0.043223884, 0.18723601, 0.059270866, -0.038768277, -0.03307238, 0.045570783, -0.01494598, 0.12532744, -0.0633282, -0.009204529, -0.032864776, -0.012969925, -0.03190685, 0.048798896, 0.033872727, 0.059553478) * go_2(-1.0, -1.0); - result += mat4(0.087938786, -0.24108681, 0.14970978, -0.13961543, 0.0891246, 0.015723674, 0.05370719, -0.11110716, -0.00214365, 0.12866165, 0.108206935, 0.027394261, -0.15103427, -0.14690042, 0.035489313, -0.15238154) * go_2(-1.0, 0.0); - result += mat4(-0.0800077, -0.23219119, -0.08327999, -0.022596871, -0.021897404, 0.15777653, 0.017139765, 0.28121725, 0.024720678, 0.0976178, 0.078697845, 0.050298456, 0.0918896, -0.1709005, 0.001258526, -0.16952778) * go_2(-1.0, 1.0); - result += mat4(0.1855042, -0.1221885, 0.02704022, 0.00095695246, -0.014720871, -0.011397964, 0.009077131, -0.0658526, 0.0753248, -0.018622542, 0.21117687, 0.009595839, -0.014185466, -0.12340562, 0.20756626, 0.1002926) * go_2(0.0, -1.0); - result += mat4(0.03998379, -0.14931168, 0.43595135, -0.18249772, -0.014348168, 0.17039725, -0.54961896, 0.23570935, -0.0961725, -0.08736501, -0.48726758, -0.11515001, -0.03716486, -0.17436725, 0.3894316, -0.012835015) * go_2(0.0, 0.0); - result += mat4(-0.15397331, 0.021657735, -0.054806687, 0.1541452, -0.12548985, 0.0934218, 0.20914574, 0.14777465, -0.0670766, 0.11853072, -0.012987691, -0.020369543, 0.09420477, -0.17689225, 0.109701715, -0.046027176) * go_2(0.0, 1.0); - result += mat4(-0.02231296, 0.14284018, -0.14968887, 0.13387628, 0.06886712, -0.11273641, 0.03278117, -0.13931367, -0.07073904, -0.05791193, 0.0074532703, 0.057605404, -0.007830725, 0.16091831, -0.16650262, 0.1647855) * go_2(1.0, -1.0); - result += mat4(-0.057878133, -0.12752692, -0.12909345, 0.07441648, 0.027899493, -0.018735388, -0.07586787, -0.048344534, -0.11736236, 0.015326167, -0.103591904, -0.17694342, -0.049772773, 0.015765708, -0.1248672, 0.26354307) * go_2(1.0, 0.0); - result += mat4(-0.18220314, 0.0046032136, -0.2081131, 0.03723796, 0.08844814, -0.01369978, 0.053207412, -0.08312182, -0.062071536, -0.067955784, 0.004774782, -0.06925075, -0.059406135, 0.06784051, -0.09814774, -0.11124358) * go_2(1.0, 1.0); - result += mat4(-0.27883962, 0.12152088, -0.24405631, 0.0027260163, 0.19775666, 0.058938242, -0.05956473, -0.10816854, -0.0071739377, -0.4144036, 0.068261996, -0.2445757, -0.23093198, -0.17691095, 0.038170703, -0.013878705) * go_3(-1.0, -1.0); - result += mat4(0.063041806, 0.2538589, -0.11473429, 0.01619935, -0.08354722, -0.04798535, 0.02354034, 0.033864528, -0.055874173, -0.16368376, -0.02903178, -0.12477576, 0.02629324, 0.034359895, 0.08272036, 0.06732605) * go_3(-1.0, 0.0); - result += mat4(-0.15553482, 0.0060790586, -0.05535005, 0.0132087935, -0.03520144, 0.023434987, 0.031604007, -0.09385124, -0.15015934, -0.13401696, -0.005520488, -0.08600875, -0.04346026, -0.07434181, -0.05771243, 0.03339138) * go_3(-1.0, 1.0); - result += mat4(-0.13035898, -0.06444063, -0.12604833, -0.1291162, 0.0002854935, 0.0011192479, 0.03285, -0.0718767, -0.0048345756, 0.23910385, -0.13370244, -0.27723455, 0.2173459, -0.09477723, -0.2785804, -0.089392334) * go_3(0.0, -1.0); - result += mat4(0.19831544, -0.04623001, 0.11013904, 0.07203301, 0.006143421, -0.059177686, -0.5040003, 0.12711781, 0.18126795, 0.13216637, 0.15124142, 0.0053686183, 0.090513304, 0.10542994, 0.34392425, 0.016424375) * go_3(0.0, 0.0); - result += mat4(-0.16124019, 0.09191821, -0.04369587, -0.21306747, -0.16233422, 0.031122763, -0.012612568, -0.016409902, -0.09023912, 0.013649212, -0.16627215, -0.05366447, 0.10274318, 0.086314775, 0.08027116, 0.08462481) * go_3(0.0, 1.0); - result += mat4(-0.14453822, 0.024520764, -0.0071830307, -0.13206398, -0.072472885, -0.10329967, 0.1636545, 0.016468262, -0.013051184, -0.12824146, 0.03824098, -0.22003986, -0.10416448, 0.0039071296, -0.34092218, 0.10734566) * go_3(1.0, -1.0); - result += mat4(-0.072179504, 0.006203091, -0.018925803, -0.1199396, -0.084528126, 0.094925165, -0.11961369, -0.054626215, -0.117074564, -0.04484073, 0.040342934, 0.13213676, -0.0064397864, 0.10155662, 0.20097142, -0.2804305) * go_3(1.0, 0.0); - result += mat4(0.087270446, 0.078806184, -0.05655386, 0.06486903, 0.034370087, 0.0036874234, 0.003311713, -0.10504396, 0.028166316, -0.22845218, 0.017909897, -0.2130404, -0.050013334, -0.117276974, -0.06318294, -0.0037857178) * go_3(1.0, 1.0); - result += mat4(0.08871242, 0.075167455, -0.039373945, 0.00051754323, 0.07687967, -0.06586344, -0.15153599, 0.0018507856, -0.017242108, -0.054329462, 0.051372115, 0.0033961546, 0.06248249, -0.06631481, 0.05806025, -0.021996895) * go_4(-1.0, -1.0); - result += mat4(0.09424522, 0.073743, -0.0017127816, 0.0033512171, -0.11385974, 0.014514997, -0.0068160114, 0.12540759, 0.106560245, -0.049447417, 0.111991346, -0.06375654, -0.011610938, -0.024543937, -0.12136444, 0.1091816) * go_4(-1.0, 0.0); - result += mat4(0.2360247, 0.051082112, 0.063963845, -0.19552353, -0.12502095, -0.043954436, -0.029264912, -0.107425205, -0.104991466, 0.1546093, -0.019506395, 0.102938086, -0.054183662, 0.010583785, -0.080395944, -0.08370572) * go_4(-1.0, 1.0); - result += mat4(0.15028444, 0.031050628, 0.04759701, -0.076938786, -0.09843708, 0.013380048, -0.07036618, -0.18517768, -0.24299946, 0.0074256407, 0.12335329, 0.008296356, -0.14130129, 0.089567006, -0.066212654, -0.019249886) * go_4(0.0, -1.0); - result += mat4(0.21793036, 0.046704203, -0.26442486, 0.036775246, 0.011823214, 0.035270307, 0.27286708, -0.041062694, 0.1929, -0.18686813, 0.033577543, -0.23847485, -0.04342215, 0.20992972, -0.31331903, -0.3476763) * go_4(0.0, 0.0); - result += mat4(0.2605603, 0.045636464, 0.078897774, -0.02860065, -0.17690817, -0.022998778, -0.078985356, -0.08182311, -0.02665034, 0.051768366, 0.14886487, 0.08579571, 0.13346, -0.10001264, 0.04904008, 0.14541489) * go_4(0.0, 1.0); - result += mat4(0.106186725, -0.0063438504, 0.07265258, -0.036121733, -0.13984898, 0.003038981, -0.016125364, 0.13680565, -0.057302903, -0.12963718, -0.0030335293, -0.021742221, -0.006363557, -0.101099625, 0.095220365, 0.033486642) * go_4(1.0, -1.0); - result += mat4(0.094589375, -0.044164203, -0.15519938, -0.02010285, -0.094102144, -0.06617603, -0.06663444, -0.036653996, -0.018485812, 0.04307366, 0.23020254, 0.17289902, 0.11927716, 0.059777882, 0.16321822, -0.17249192) * go_4(1.0, 0.0); - result += mat4(0.17176881, -0.05145481, 0.058537252, 0.07365525, 0.17615119, -0.0008998237, 0.20070761, 0.08091997, -0.22727549, 0.040356588, -0.19447488, 0.019409144, -0.094837844, 0.029385263, 0.06778661, 0.15896504) * go_4(1.0, 1.0); - result += mat4(-0.11452088, -0.024284642, -0.04490299, -0.020004421, 0.050837193, -0.19884948, 0.0027391468, -0.04909611, 0.10565033, 0.046887845, 0.15566911, -0.04677708, -0.1617592, -0.1090753, 0.021104805, 0.12100669) * go_5(-1.0, -1.0); - result += mat4(0.0796837, 0.2143031, 0.15130435, 0.11013741, 0.02859385, -0.23182273, -0.01307099, 0.17366518, 0.067062154, -0.13214251, -0.0359161, -0.22044878, -0.065245375, -0.12085723, -0.0058068414, -0.05868892) * go_5(-1.0, 0.0); - result += mat4(0.05886354, 0.04594631, 0.0035692437, 0.0043173125, -0.0058938325, -0.12315084, 0.009706764, 0.029205475, 0.02275545, -0.030235367, -0.010946894, -0.1160915, -0.24663799, 0.021396592, -0.08312792, 0.035279196) * go_5(-1.0, 1.0); - result += mat4(-0.18054669, -0.03518381, 0.048470423, -0.0056507597, 0.03240578, 0.12688184, -0.09667544, 0.04029143, 0.03038166, 0.10955508, -0.2918326, -0.08950494, -0.06969353, 0.20913015, 0.13051425, -0.12262561) * go_5(0.0, -1.0); - result += mat4(0.11774238, 0.107279345, 0.09160909, -0.12901367, -0.063854314, 0.012220096, 0.1428603, -0.03274951, -0.16071229, 0.16923961, 0.09850307, 0.3375513, 0.17089152, 0.1066977, -0.11292511, 0.07839456) * go_5(0.0, 0.0); - result += mat4(0.06309776, -0.062669575, 0.12810674, -0.22764897, 0.05594526, -0.3354947, -0.271324, -0.1370599, 0.0019311982, -0.20568445, 0.14663076, -0.10399025, -0.11092913, 0.13635515, -0.046688963, 0.18119682) * go_5(0.0, 1.0); - result += mat4(0.06247405, -0.070577376, -0.049723163, 0.20372438, 0.059769955, -0.15753393, 0.08755224, -0.16705483, 0.043191068, 0.13503598, -0.06549854, -0.08262152, -0.036690235, -0.017480936, 0.0087178415, 0.124511525) * go_5(1.0, -1.0); - result += mat4(-0.103790514, -0.062080752, -0.04171218, -0.22629078, 0.058754075, 0.010274649, 0.012631916, 0.0884306, 0.10843063, 0.11566254, 0.16639906, -0.05603101, 0.03344291, -0.009285547, 0.22062606, -0.18537858) * go_5(1.0, 0.0); - result += mat4(-0.010970425, 0.06433602, -0.010908282, 0.21255766, -0.124487005, -0.18626499, 0.017554395, 0.022440141, -0.043080032, 0.13329363, -0.019777333, -0.13920292, -0.057512637, -0.07950961, 0.0008059128, 0.08286962) * go_5(1.0, 1.0); - result += vec4(0.038618144, 0.034658056, 0.04403221, 0.22010419); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.19656715, 0.073294915, -0.019779518, 0.021025823, 0.15261759, 0.04309221, -0.1493544, 0.049283743, -0.0905334, 0.1813188, -0.0016973419, 0.15697837, 0.13670535, -0.11242918, -0.013915669, -0.13730156) * go_0(-1.0, -1.0); - result += mat4(0.04107699, 0.17384163, -0.096351616, 0.04331655, -0.23204431, 0.25804806, -0.04034741, 0.17473252, 0.2747926, -0.04826532, 0.06581498, -0.01747519, 0.16690566, 0.18259898, 0.051713206, -0.11371784) * go_0(-1.0, 0.0); - result += mat4(0.09295699, -0.02639465, -0.07067535, -0.055101186, 0.049066454, -0.1348934, -0.010201892, 0.076446265, -0.17203535, 0.094379045, -0.05279342, -0.06568022, 0.019863818, 0.048707128, -0.001194968, 0.08657796) * go_0(-1.0, 1.0); - result += mat4(0.075812176, -0.14860412, -0.07091005, 0.027131502, -0.037916575, -0.08786051, 0.12747246, 0.07358627, -0.17530513, 0.01687204, -0.02315926, -0.0475825, 0.10233608, 0.11752665, -0.066707715, -0.02696408) * go_0(0.0, -1.0); - result += mat4(-0.16265862, 0.07163909, 0.029001605, 0.023125717, -0.45108593, 0.31734392, 0.18262424, -0.16254611, -0.13591787, -0.34079695, 0.15933561, -0.11768856, -0.20831986, -0.2617357, -0.06293675, -0.21008867) * go_0(0.0, 0.0); - result += mat4(0.03834222, 0.11669165, -0.14289354, 0.19205377, 0.034326866, 0.11611292, -0.35397327, -0.22060747, -0.004148329, 0.16584732, 0.021622034, -0.026690945, -0.002915367, -0.0025648596, 0.098647386, 0.010004625) * go_0(0.0, 1.0); - result += mat4(0.12951577, -0.12372639, 0.050420888, -0.059468318, 0.06579213, -0.20325322, -0.1699444, 0.019064313, -0.035931777, -0.020957012, 0.0027909358, 0.007493282, 0.0004133846, 0.034073114, -0.038953777, 0.065847114) * go_0(1.0, -1.0); - result += mat4(0.044652946, 0.04014948, -0.11211438, -0.009610841, 0.04416661, 0.007001935, 0.23747365, 0.051566597, 0.08833828, 0.08240841, 0.11842664, -0.053376306, -0.24712811, 0.086317725, 0.0038018306, 0.058020968) * go_0(1.0, 0.0); - result += mat4(-0.14782053, -0.02475428, -0.17784445, -0.024647312, 0.1743018, 0.06606081, 0.056824066, 0.14064185, 0.06063915, -0.04583706, 0.101063475, -0.043567337, -0.07165717, 0.03192861, 0.056516238, -0.011080173) * go_0(1.0, 1.0); - result += mat4(0.15754054, -0.022155577, -0.08209624, -0.0014304873, -0.29201108, 0.08677429, 0.2264655, 0.047244307, -0.048876513, -0.0927597, -0.045443505, 0.20207925, -0.12566972, 0.1404151, -0.024384655, -0.032324787) * go_1(-1.0, -1.0); - result += mat4(-0.2863662, 0.08409054, 0.060920034, -0.05120718, 0.20190823, -0.05651237, 0.16887607, 0.0733604, -0.14424925, -0.06001526, 0.030432044, 0.14361487, 0.02771769, 0.030591695, -0.029078443, -0.048318565) * go_1(-1.0, 0.0); - result += mat4(0.00791873, -0.09765571, 0.00042280424, 0.09341729, -0.22752157, 0.23591608, 0.0051302435, -0.077698976, 0.10737567, -0.23836324, -0.067966945, 0.2257328, -0.004849654, -0.036767352, 0.13280262, -0.07600507) * go_1(-1.0, 1.0); - result += mat4(0.05473653, -0.1915318, -0.00626306, -0.13441068, 0.088244185, -0.31077763, -0.010066507, -0.091302134, 0.11164262, 0.12096589, -0.0605778, 0.1308392, -0.010200418, -0.024670156, 0.09293591, 0.028182708) * go_1(0.0, -1.0); - result += mat4(0.053266037, 0.29016244, 0.19542074, -0.20729323, 0.1344162, -0.21329224, 0.20277289, -0.08846336, -0.114185594, 0.206921, -0.0006008467, 0.0205045, -0.282864, -0.22293371, -0.17658198, 0.20596933) * go_1(0.0, 0.0); - result += mat4(-0.03932726, 0.080170035, -0.07711416, -0.29913354, -0.06824731, -0.061843343, -0.13042153, -0.19094346, -0.11703233, 0.06704312, -0.049862698, 0.1466207, -0.0011674183, 0.080236584, -0.06675328, 0.13961533) * go_1(0.0, 1.0); - result += mat4(-0.022837833, 0.0019198474, 0.0236172, 0.07043625, 0.12661463, 0.001672872, 0.06307569, -0.13343741, 0.17860405, -0.19384168, 0.079231955, 0.032781634, -0.15199795, 0.13594992, 0.070164844, -0.060025793) * go_1(1.0, -1.0); - result += mat4(-0.12844789, -0.025733668, 0.020556241, -0.12541436, 0.14400893, -0.03860052, 0.059304774, -0.1786852, -0.18367065, -0.2374019, 0.1148333, -0.1065858, 0.119285814, 0.016301462, 0.028108267, 0.04623708) * go_1(1.0, 0.0); - result += mat4(-0.12543629, 0.011575056, -0.037424013, 0.09024941, -0.029061148, -0.08703052, -0.0024641235, -0.105915934, -0.044543535, 0.06887956, -0.04743747, -0.05494799, 0.031339128, -0.034284074, -0.121141724, 0.053843208) * go_1(1.0, 1.0); - result += mat4(-0.2666571, 0.09093467, -0.012503428, -0.035125565, 0.032127958, -0.042863887, -0.08649192, -0.015927156, 0.08400246, 0.01662268, 0.034715075, -0.00908548, 0.045443024, -0.06893885, -0.074183375, -0.00844849) * go_2(-1.0, -1.0); - result += mat4(0.18397407, -0.10994183, 0.086410955, -0.008634828, -0.02632997, 0.019804388, 0.048724968, 0.18321893, -0.017287457, 0.18407986, -0.08789994, 0.23315573, 0.17696501, 0.021334525, -0.01854696, -0.19259432) * go_2(-1.0, 0.0); - result += mat4(-0.17279425, 0.040277172, 0.045758635, 0.112192474, -0.1307268, -0.08761701, -0.17986964, 0.08374649, -0.14858364, 0.09763281, -0.08468596, 0.07319079, 0.035000093, 0.15952845, 0.07624351, -0.06327825) * go_2(-1.0, 1.0); - result += mat4(0.08170692, -0.08774166, -0.06705707, 0.0831711, -0.08875457, 0.2449888, -0.14047605, 0.121503554, 0.12618999, 0.02661774, 0.074408755, 0.008565884, 0.0066377656, 0.07707615, 0.0047538104, -0.09728628) * go_2(0.0, -1.0); - result += mat4(-0.07823108, 0.26807916, -0.1287439, 0.122834176, -0.19714594, -0.4942738, 0.10632799, 0.15897664, -0.49854252, -0.53525513, -0.022803375, 0.009074036, 0.11774684, 0.031480465, -0.09894373, -0.021954348) * go_2(0.0, 0.0); - result += mat4(0.12955268, -0.19441509, 0.09120095, 0.011785061, 0.051540542, 0.04758044, 0.04755938, 0.038364667, 0.13298763, 0.10289183, 0.020991595, -0.081097506, 0.034405325, -0.11437959, -0.12480481, -0.065397635) * go_2(0.0, 1.0); - result += mat4(0.014650886, -0.013576367, 0.07512687, -0.12763637, -0.08968091, 0.10528254, -0.0038084937, 0.15035029, -0.012962306, 0.05691601, 0.0812368, -0.03788991, -0.023433529, -0.06713006, -0.11560342, -0.016785484) * go_2(1.0, -1.0); - result += mat4(-0.08841537, -0.06776095, -0.047271274, 0.019514252, -0.015769644, 0.13348323, -0.10441001, 0.11785519, 0.12106464, 0.12203113, 0.12842509, -0.060258504, -0.05513583, -0.11723075, 0.16473113, 0.011207402) * go_2(1.0, 0.0); - result += mat4(0.09194844, 0.090906195, 0.0073818006, -0.2054332, 0.10706456, -0.077387035, -0.10359331, -0.027400512, 0.03793532, -0.14690651, -0.093249865, 0.050878726, -0.050666083, -0.048249774, -0.029831426, -0.005122034) * go_2(1.0, 1.0); - result += mat4(-0.020260984, 0.03831684, 0.03624668, 0.05309828, 0.21425313, 0.04278761, -0.05036095, -0.11595718, -0.040695038, -0.053862657, 0.04097228, -0.14234553, 0.14645652, 0.0005556175, 0.037454158, -0.0834163) * go_3(-1.0, -1.0); - result += mat4(-0.06560231, 0.035083, 0.00515858, -0.078715794, 0.18701494, -0.13166098, 0.039057065, -0.0039464743, -0.060099427, -0.0197617, -0.03425236, -0.034474097, -0.13463692, -0.14687043, -0.07386183, 0.15877718) * go_3(-1.0, 0.0); - result += mat4(-0.17528099, 0.26496586, -0.026784442, 0.02301352, -0.19334768, 0.058255307, 0.084549166, 0.05813938, 0.14634804, 0.021594442, 0.09401384, 0.048137084, -0.027516525, 0.03725506, -0.03902931, -0.05822093) * go_3(-1.0, 1.0); - result += mat4(-0.08095242, -0.0700387, 0.1565957, -0.12318027, 0.0009593411, 0.083975986, -0.1672044, 0.07669263, 0.15444267, -0.2405765, -0.0999547, -0.0113806585, -0.086394556, -0.068187304, 0.022804303, 0.033642158) * go_3(0.0, -1.0); - result += mat4(0.1742647, -0.1139802, 0.03773566, 0.24217185, 0.14553599, -0.13462967, -0.15343545, -0.07004845, 0.09719264, 0.40018603, 0.012584803, 0.20194948, 0.23837751, 0.14372137, 0.018450642, 0.19864424) * go_3(0.0, 0.0); - result += mat4(-0.01977227, -0.01629232, -0.11582299, 0.07435107, 0.04089713, -0.013857991, 0.22446491, 0.016065463, -0.042079967, 0.0170577, 0.040578466, -0.038618524, -0.05470756, -0.115140095, -0.065542445, 0.14684047) * go_3(0.0, 1.0); - result += mat4(-0.037176184, 0.090253, 0.14125483, -0.08512404, -0.051651485, 0.099631414, 0.10343597, -0.0061565666, 0.041628633, 0.09307784, -0.090136886, -0.009559773, -0.03024448, -0.031733215, -0.07797126, 0.055322547) * go_3(1.0, -1.0); - result += mat4(-0.1050144, -0.03270817, 0.26327172, -0.28404585, -0.03861458, 0.048381314, -0.15304287, -0.0042754454, -0.10290137, -0.24198222, -0.12365528, 0.095550224, 0.15594007, -0.02852183, 0.021433152, 0.007750503) * go_3(1.0, 0.0); - result += mat4(0.14963464, 0.036146436, 0.06857592, -0.03860567, 0.014884097, 0.07543522, 0.024485901, 0.035711233, -0.003450604, -0.0597103, 0.024015842, -0.001213529, -0.058722682, 0.01725032, -0.12181248, -0.008058613) * go_3(1.0, 1.0); - result += mat4(0.071817815, 0.041531287, 0.014643306, 0.16291411, 0.26480407, -0.17182025, -0.010588466, 0.105062984, 0.030210229, -0.04829373, -0.036531925, 0.047632486, -0.2479769, 0.045298517, 0.13192376, 0.033759) * go_4(-1.0, -1.0); - result += mat4(0.08769319, -0.0032485086, 0.022313096, 0.17629139, -0.29785547, 0.17973061, 0.033340637, 0.15138951, 0.016324213, -0.052774195, 0.03140277, 0.049657557, -0.1042336, -0.048986793, 0.11604845, 0.027282678) * go_4(-1.0, 0.0); - result += mat4(0.06349052, 0.020287551, 0.041792236, -0.064779855, -0.19809574, 0.1296112, -0.31961703, -0.10329236, -0.06304219, 0.1266601, 0.047558576, -0.01599766, -0.0840006, 0.110553645, -0.17114124, -0.092702754) * go_4(-1.0, 1.0); - result += mat4(-0.07258822, 0.33649316, 0.03007162, 0.122297324, -0.0035460228, -0.031201044, 0.12168557, -0.029285375, -0.0809431, -0.12167306, 0.07364419, 0.028837958, -0.0045297747, -0.0601046, 0.01811243, -0.09054316) * go_4(0.0, -1.0); - result += mat4(-0.25255457, -0.22574474, -0.34320608, 0.11290973, -0.26090237, 0.040196825, 0.13508338, 0.029482007, -0.10183512, -0.08112251, -0.11552506, 0.19293801, 0.3495816, 0.18543391, 0.06588066, -0.04709665) * go_4(0.0, 0.0); - result += mat4(0.084513545, -0.15674965, -0.0008406949, 0.090281285, 0.2712172, -0.116089135, -0.015765252, -0.117886744, 0.09920849, 0.029833876, -0.095729664, -0.027886158, 0.075155556, -0.046650156, -0.0065415367, -0.010066504) * go_4(0.0, 1.0); - result += mat4(0.045017265, -0.032798514, 0.015228568, -0.10716174, 0.12533835, -0.18279125, 0.04248092, -0.19403161, -0.037150033, 0.051052798, 0.064987876, -0.0012054371, 0.17646495, -0.08559015, -0.030268986, -0.0110990135) * go_4(1.0, -1.0); - result += mat4(0.2270626, 0.07908034, 0.10131884, -0.04477681, 0.012331784, -0.0066530495, 0.11152835, -0.011538218, 0.18025607, 0.28347188, -0.061317418, 0.140885, -0.12165267, -0.015358079, -0.1509724, 0.10532319) * go_4(1.0, 0.0); - result += mat4(0.090888165, 0.051266413, 0.00032922614, 0.10080883, 0.25410557, 0.01401413, -0.08648295, -0.18689357, 0.06347326, -0.12212378, -0.047608927, 0.19060975, 0.030654645, -0.0008587347, 0.056551795, -0.075159475) * go_4(1.0, 1.0); - result += mat4(0.18279178, -0.043672565, -0.045675628, 0.08589114, -0.09798812, 0.13952787, 0.020468095, 0.019159447, -0.037739623, -0.031772856, 0.05684188, -0.0027250764, 0.15689476, -0.048730828, 0.07862422, -0.050529804) * go_5(-1.0, -1.0); - result += mat4(-0.16031522, 0.032964543, -0.04876928, 0.02347113, -0.15290083, -0.2451878, 0.052881993, -0.08540753, -0.07177217, -0.15992549, 0.0651776, -0.08932986, 0.1767438, 0.056059174, -0.0576956, -0.09165988) * go_5(-1.0, 0.0); - result += mat4(0.13147484, -0.0570967, -0.11560189, 0.05509382, -0.0150885545, 0.09640748, 0.014165965, 0.20704748, 0.030164357, -0.1082378, 0.024942307, -0.08219035, 0.124670975, -0.052641235, -0.0226715, -0.027526885) * go_5(-1.0, 1.0); - result += mat4(-0.23702182, 0.23504741, -0.0055127465, -0.05391814, -0.033541497, -0.004652474, 0.018886803, -0.03751877, -0.17091194, 0.023785884, 0.04066812, -0.060029395, -0.041414294, 0.01717907, -0.03250043, 0.06307296) * go_5(0.0, -1.0); - result += mat4(0.13159078, -0.21431974, 0.18132871, -0.057554632, 0.21089126, 0.2748356, 0.09672305, -0.06376276, 0.533338, 0.44528118, 0.005919547, -0.04472009, 0.057801563, 0.089425854, 0.00619256, -0.1724294) * go_5(0.0, 0.0); - result += mat4(0.092838384, 0.10023682, 0.024242302, -0.17375132, 0.078034006, -0.19451837, -0.15501493, -0.13293402, -0.18569629, -0.19058825, -0.00096012745, 0.046021726, 0.10088386, 0.08519642, 0.13217524, 0.13243376) * go_5(0.0, 1.0); - result += mat4(-0.027395649, 0.023635123, -0.010267926, 0.17099325, 0.12437585, -0.1249303, -0.06419651, -0.021422816, 0.17196923, -0.22701795, 0.015808482, -0.14445387, -0.05460773, -0.003828314, -0.18222629, -0.048698075) * go_5(1.0, -1.0); - result += mat4(-0.013598317, 0.122526735, -0.02577042, 0.08744144, -0.08979224, 0.1286411, -0.05883814, -0.12919591, -0.050816238, -0.15597601, -0.115631886, -0.12070838, 0.11360469, -0.02584839, -0.1560333, 0.011274217) * go_5(1.0, 0.0); - result += mat4(0.080101736, -0.1330538, 0.021211144, 0.1438211, 0.01772601, 0.11148414, 0.13287805, 0.15081206, -0.012008585, 0.06793454, 0.03773184, -0.032694455, 0.10249589, 0.026878785, -0.12141799, -0.09203301) * go_5(1.0, 1.0); - result += vec4(-0.034046266, 0.030718531, 0.029500093, -0.007484251); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07053637, -0.13757081, 0.083475806, 0.047742493, 0.17072907, 0.03391062, -0.06359729, -0.087144814, 0.13410439, 0.0766006, -0.07466357, 0.020072024, 0.070759356, -0.07371517, -0.002268697, -0.01926168) * go_0(-1.0, -1.0); - result += mat4(0.044688217, 0.11774826, -0.042388003, -0.07989108, -0.1972503, 0.050274227, 0.016185008, -0.058738116, -0.19790363, -0.05735989, -0.047189124, -0.14251053, 0.020062871, 0.03521658, 0.08752947, -0.23372267) * go_0(-1.0, 0.0); - result += mat4(0.25029907, -0.045921884, 0.09080718, 0.016080718, -0.084881, -0.11112135, 0.06381888, -0.11366214, -0.09134574, 0.078322254, 0.08380223, -0.04663652, 0.079209715, 0.019024234, -0.13660747, 0.014792784) * go_0(-1.0, 1.0); - result += mat4(-0.32267445, -0.14074866, -0.07469012, -0.16251983, 0.03330349, 0.11198752, 0.031585973, 0.022867791, 0.018227417, -0.20173706, 0.06353359, 0.20548727, -0.028305814, 0.100267045, 0.10572279, 0.026997928) * go_0(0.0, -1.0); - result += mat4(-0.098945044, 0.05311362, -0.19431336, -0.04678114, -0.4157369, -0.042450808, -0.044422694, 0.12376175, -0.23616472, 0.28038284, 0.14551993, 0.09350881, -0.16741902, -0.038471445, 0.01986414, -0.17471582) * go_0(0.0, 0.0); - result += mat4(0.14448655, -0.019295415, -0.10982297, -0.06357956, 0.2369261, 0.032228198, -0.11679823, -0.05587635, 0.04871467, -0.0137740765, -0.07519058, -0.18964961, -0.026393183, -0.01974549, 0.06976226, -0.016081909) * go_0(0.0, 1.0); - result += mat4(-0.0137074115, -0.079286255, -0.12312942, -0.018789625, -0.013921108, -0.0020071631, -0.054753337, 0.017963797, 0.2555907, 0.032142516, -0.24176246, 0.16440704, -0.017065119, 0.051031727, -0.1010096, -0.034884788) * go_0(1.0, -1.0); - result += mat4(-0.060335524, 0.074403755, -0.03940425, -0.06947243, 0.063064545, 0.0003786891, 0.042550083, 0.014553617, -0.18506478, 0.14322414, 0.09673403, 0.19324619, 0.13711761, 0.14422627, -0.26975414, 0.1770873) * go_0(1.0, 0.0); - result += mat4(0.0749963, -0.0043254187, 0.007601493, 0.044143427, 0.07984297, -0.13162711, -0.0021585606, -0.009246663, 0.20984007, -0.046367027, -0.09268187, 0.14495128, -0.12562644, 0.1836961, -0.009291084, 0.09893831) * go_0(1.0, 1.0); - result += mat4(-0.04764635, 0.0771012, -0.06254785, 0.049306013, -0.1309074, -0.16724089, 0.064103976, 0.029477306, -0.15803875, -0.018528668, 0.008828626, -0.06195826, -0.06321009, -0.08585472, 0.062971294, -0.09935699) * go_1(-1.0, -1.0); - result += mat4(0.09090366, 0.035622045, -0.07656447, 0.047136262, -0.12315156, -0.06781894, -0.16850029, -0.08679722, 0.031337507, -0.034778163, -0.0034067088, 0.060668938, 0.025843577, -0.13783671, 0.07269251, -0.016900677) * go_1(-1.0, 0.0); - result += mat4(0.0440054, 0.0036595238, 0.008771493, 0.030218529, -0.027555777, -0.06657435, -0.055236634, -0.033271316, -0.13821629, 0.03597882, -0.05062761, -0.053709738, -0.0017135427, -0.030783407, 0.08677211, -0.07123904) * go_1(-1.0, 1.0); - result += mat4(0.04535665, 0.10784165, 0.06629595, -0.08122243, -0.039657716, -0.18704408, 0.1423137, -0.042863034, -0.0742858, 0.18767954, 0.0049358946, -0.03671723, -0.26857832, -0.27597806, -0.15875868, -0.06401874) * go_1(0.0, -1.0); - result += mat4(-0.11346384, -0.02552838, 0.15989058, 0.135453, 0.11406132, -0.14827615, -0.034574773, 0.098348685, -0.11900814, -0.017299704, -0.0073399683, 0.28204438, 0.101091795, -0.05411511, -0.25915098, -0.18966594) * go_1(0.0, 0.0); - result += mat4(0.00533059, 0.02730481, -0.037623204, 0.0683161, -0.001293424, 0.048477355, -0.031527296, -0.06233651, -0.08181692, 0.15782121, -0.022148566, 0.023771856, 0.08038705, 0.20726775, -0.049652047, 0.013319854) * go_1(0.0, 1.0); - result += mat4(0.10297071, -0.004163597, -0.054161496, -0.047678668, 0.17382064, -0.07822223, -0.015010763, -0.04397959, 0.016814355, 0.029943537, -0.054495964, 0.025957715, -0.0020466947, -0.05330402, 0.1510799, 0.020855682) * go_1(1.0, -1.0); - result += mat4(-0.068892024, 0.06622253, -0.03464551, 0.058187455, 0.0040488504, 0.04686992, -0.031023791, -0.0217168, 0.27100065, 0.05667408, -0.1947591, 0.016222548, 0.15030278, 0.037999425, 0.18916538, 0.031360295) * go_1(1.0, 0.0); - result += mat4(0.0033874374, 0.16642143, -0.05115266, 0.033188976, 0.15715985, -0.016430153, 0.061355177, -0.03946156, 0.097530834, 0.09636378, -0.0040456597, 0.03355033, 0.08691396, -0.059714377, -2.6330366e-05, 0.07581963) * go_1(1.0, 1.0); - result += mat4(0.009388512, -0.11915495, -0.013311355, 0.037321404, -0.055611674, -0.03687238, 0.04141501, -0.05869542, 0.07016199, 0.09323767, 0.04217543, 0.06623439, 0.03210602, -0.05782674, -0.11002717, -0.0072197197) * go_2(-1.0, -1.0); - result += mat4(0.10509906, 0.09556673, 0.12621118, 0.05654386, -0.059508096, 0.05438697, 0.07796531, 0.013211419, 0.117890954, 0.06040751, -0.0016234997, 0.081311926, -0.13193677, 0.06996361, -0.13694339, -0.17900036) * go_2(-1.0, 0.0); - result += mat4(-0.053371694, -0.06806307, -0.1518878, 0.033526573, 0.046281144, -0.046205673, -0.034051836, 0.030009115, 0.126423, -0.016593177, -0.039357234, 0.10646578, -0.049523186, 0.031685475, 0.020842545, -0.12438032) * go_2(-1.0, 1.0); - result += mat4(0.13840649, 0.09017664, -0.049517624, 0.16685495, -0.08715648, 0.10113574, 0.018099392, 0.060909674, -0.0058692712, 0.045747917, -0.027853733, 0.05472168, 0.11535146, 0.18636864, 0.0723617, -0.014345535) * go_2(0.0, -1.0); - result += mat4(0.2979883, -0.30398092, -0.00448704, 0.034454245, 0.06174734, -0.012045507, 0.23352385, 0.09975292, 0.17575547, -0.013523325, -0.23254701, 0.13217497, -0.20258605, 0.07145199, 0.08916167, -0.16669402) * go_2(0.0, 0.0); - result += mat4(-0.1606433, 0.014213267, 0.046263646, 0.014771279, 0.041478187, -0.023410609, 0.14462134, 0.0359066, -0.14913698, -0.28093338, -0.098434776, 0.14168552, -0.017470809, -0.10474789, -0.019634444, -0.09452941) * go_2(0.0, 1.0); - result += mat4(-0.024310801, 0.039855056, -0.0277722, -0.0049349763, -0.075620376, 0.14836049, 0.16639285, -0.11209939, -0.06530567, -0.059602138, -0.090105936, -0.024020225, 0.03793827, -0.08396542, 0.03918101, 0.031654693) * go_2(1.0, -1.0); - result += mat4(-0.0019075832, -0.06279881, 0.019373834, -0.022848947, -0.19700366, -0.07276809, 0.10826095, 0.030095315, -0.18057819, -0.06393351, -0.023836957, 0.0065463074, 0.13035376, -0.06434109, 0.09293361, 0.03301868) * go_2(1.0, 0.0); - result += mat4(0.013273036, -0.016674511, 0.13465153, -0.10852922, 0.026329456, 0.13648263, 0.09414527, 0.0012146169, -0.04237767, -0.085370585, 0.05478497, -0.009154848, 0.06731204, -0.034912866, 0.022870043, 0.038516387) * go_2(1.0, 1.0); - result += mat4(-0.12806587, 0.108848855, 0.054954138, -0.04903305, 0.06644907, 0.18971404, -0.07503066, -0.04593073, -0.061711293, 0.014664125, 0.11856841, 0.045254968, -0.15008299, -0.074398935, 0.04106602, -0.24396381) * go_3(-1.0, -1.0); - result += mat4(0.038917247, -0.04640616, -0.08809665, 0.11144138, 0.22032888, -0.050760582, -0.014760546, 0.11236783, -0.059079073, 0.06937314, -0.031159066, -0.07186243, -0.20771858, 0.006415583, -0.07267114, 0.056808673) * go_3(-1.0, 0.0); - result += mat4(-0.00423516, 0.099120915, -0.059658743, 0.07284239, -0.062910534, 0.0818146, -0.04679385, 0.18365376, -0.09501989, -0.01619849, -0.060537007, -0.053941406, 0.01753884, 0.030266201, 0.03675036, 0.0021925808) * go_3(-1.0, 1.0); - result += mat4(0.046608146, -0.02341816, 0.07648551, 0.052848052, 0.0039356127, 0.036476433, 0.10236195, -0.032545663, 0.24973582, 0.037997168, 0.058406867, 0.07901572, -0.18169855, -0.005032321, -0.035923317, -0.14367534) * go_3(0.0, -1.0); - result += mat4(0.16122861, -0.040731397, 0.106095225, 0.0036572781, 0.028426658, 0.20103998, -0.06638636, -0.022662058, 0.050278876, -0.163471, -0.21357286, -0.1825406, -0.050869223, -0.040973462, -0.057061654, 0.2810217) * go_3(0.0, 0.0); - result += mat4(0.18768045, -0.040844023, -0.057449356, 0.12673363, -0.059018314, -0.030971631, 0.08158004, 0.06946996, -0.23750862, -0.00860647, -0.1003966, 0.034669064, 0.24486068, 0.07178945, -0.018041046, 0.15238568) * go_3(0.0, 1.0); - result += mat4(-0.2525261, -0.054517742, -0.23935242, -0.101572365, -0.030042917, 0.036003232, -0.122569695, -0.03556264, 0.06506395, -0.062265877, -0.1060633, 0.014838352, 0.108411096, -0.066448584, 0.0512793, 0.09429625) * go_3(1.0, -1.0); - result += mat4(-0.13627818, -0.10708255, -0.19644266, -0.037392955, -0.045197092, 0.19481973, 0.13070573, -0.060230445, 0.33588138, -0.034298502, -0.11659601, 0.12985578, 0.13320427, -0.11824594, 0.026382592, -0.053538818) * go_3(1.0, 0.0); - result += mat4(0.048666447, -0.017627062, 0.15464988, -0.045204308, -0.011256204, 0.13558346, -0.11524339, -0.09390041, -0.13328557, 0.0208915, 0.14780544, -0.076561615, 0.16454418, -0.06894578, 0.05620349, 0.023376953) * go_3(1.0, 1.0); - result += mat4(-0.15081851, 0.114050105, -0.20110038, -0.20664425, 0.024320586, 0.07185712, -0.07764587, -0.071572, 0.05626064, -0.033045493, 0.001562899, 0.025873706, -0.124655195, 0.008215636, 0.15243639, -0.004112266) * go_4(-1.0, -1.0); - result += mat4(-0.3066088, 0.03357835, 0.10992364, -0.06900282, -0.018690787, 0.06104214, -0.0041348864, 0.06407149, -0.03204788, 0.014121594, 0.08106938, -0.054475598, -0.265469, -0.14616208, -0.00401253, -0.03055698) * go_4(-1.0, 0.0); - result += mat4(-0.04365304, -0.03965277, -0.03783723, -0.064608894, -0.020902721, -0.14974843, -0.009566472, -0.05167228, 0.05844501, -0.06657627, 0.07489639, -0.033589855, -0.12991743, 0.06972872, -0.06635165, -0.012207249) * go_4(-1.0, 1.0); - result += mat4(-0.18625839, 0.054298103, -0.01828512, -0.11457061, -0.010832592, -0.058104735, -0.19629207, 0.04157041, -0.009692541, -0.14516611, -0.05172281, 0.049974106, 0.056659166, 0.04280708, 0.04385243, 0.010063984) * go_4(0.0, -1.0); - result += mat4(0.30084208, -0.06846901, -0.026888005, -0.13171686, 0.14192836, 0.04704836, 0.121805556, 0.044525314, 0.083052106, -0.08510613, -0.12172583, -0.30419388, -0.0878148, -0.16297778, 0.2601781, 0.07285239) * go_4(0.0, 0.0); - result += mat4(0.17655143, 0.030515455, 0.19467549, 0.06786994, 0.12391486, -0.07981, 0.032166053, 0.025423106, 0.03408094, -0.13683012, -0.1334616, -0.06392358, 0.19483057, -0.26500967, -0.09117511, 0.065103196) * go_4(0.0, 1.0); - result += mat4(-0.09752205, 0.052617133, 0.093155235, 0.036831614, 0.0069967005, -0.010922277, 0.03564152, -0.032540992, 0.08338763, -0.09178083, 0.044856872, -0.03585517, -0.03322978, 0.046807107, -0.08056567, -0.011965988) * go_4(1.0, -1.0); - result += mat4(0.18745014, -0.036378495, -0.05438124, -0.07421527, 0.19114059, 0.06546488, -0.011771215, 0.023253547, -0.21524692, -0.18299192, 0.16316402, -0.07972637, 0.05902257, -0.073275164, 0.034378335, -0.03623065) * go_4(1.0, 0.0); - result += mat4(0.11460803, -0.08311417, -0.013590335, 0.03570915, 0.089230955, 0.089890435, 0.020723056, -0.042275555, -0.0369812, -0.26617813, 0.046739977, -0.12200707, 0.14000617, -0.12750666, 0.118415974, -0.07106497) * go_4(1.0, 1.0); - result += mat4(-0.0142673105, 0.2708808, 0.035017774, 0.06703521, 0.029961549, 0.14673132, 0.063695125, -0.02033868, -0.06468242, -0.026121365, -0.0026516293, -0.027388861, -0.08078243, 0.087715834, 0.022955768, -0.02319636) * go_5(-1.0, -1.0); - result += mat4(0.1718002, -0.11518721, -0.0025345646, 0.1238703, -0.18476513, -0.21286273, 0.20789471, 0.01770004, -0.061133858, -0.0626756, 0.055727385, -0.008457355, 0.118455775, 0.10262385, -0.006697552, 0.014359785) * go_5(-1.0, 0.0); - result += mat4(0.09120904, 0.07372497, 0.11044388, -0.03926499, -0.03780375, 0.089837864, -0.09430582, -0.08950114, -0.14755902, -0.03831562, 0.023441203, -0.01944005, 0.04238117, 0.03447587, -0.06003528, 0.044492997) * go_5(-1.0, 1.0); - result += mat4(0.11524887, -0.039266784, 0.066004194, 0.0054254015, 0.05427426, -0.09622213, -0.10315417, -0.050567277, -0.07576602, -0.12929544, -0.047569484, -0.0073220725, -0.19992967, -0.09847938, -0.010317084, -0.06364932) * go_5(0.0, -1.0); - result += mat4(-0.16610023, 0.2372482, -0.08908623, -0.0074210903, -0.30944943, -0.13369739, -0.14367966, -0.088355504, -0.17537226, -0.027992815, 0.2002623, -0.077625655, 0.43252298, 0.070107736, 0.12366656, 0.04695458) * go_5(0.0, 0.0); - result += mat4(-0.16442165, -0.115128726, -0.07232464, -0.06728961, -0.28723717, 0.17190668, -0.08351212, -0.0021862125, 0.121666215, 0.21980163, 0.041315466, -0.062825136, 0.19541566, 0.11147719, 0.024110844, 0.03695252) * go_5(0.0, 1.0); - result += mat4(0.1264344, -0.043413147, -0.0045117373, 0.11031058, 0.14368063, 0.0709618, -0.060608998, 0.12688136, -0.0067742122, -0.036186397, 0.0893928, 0.0054127555, -0.09240343, 0.00012509787, 0.22235379, -0.010589687) * go_5(1.0, -1.0); - result += mat4(-0.27677822, -0.026975723, 0.1144896, -0.02925077, 0.31745398, 0.030609636, -0.058644157, -0.080246314, 0.16578154, 0.040172495, 0.1331117, -0.02078141, -0.04805901, 0.04640852, 0.10614158, 0.012697342) * go_5(1.0, 0.0); - result += mat4(-0.11755322, 0.09768716, 0.0012669004, -0.110562816, 0.06637665, 0.02764571, -0.12623487, -0.023209875, 0.12958577, -0.007275613, 0.010377832, -0.0105528, -0.14058565, -0.030191245, 0.025604937, -0.013748175) * go_5(1.0, 1.0); - result += vec4(-0.03760731, -0.0242485, -0.021933366, 0.027489811); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.027916895, -0.12058145, -0.083479345, -0.026083047, 0.014759637, -0.07421897, -0.017896682, 0.086924285, -0.05399337, 0.07368837, -0.26842278, 0.09718693, -0.014846767, -0.002766841, 0.06403607, 0.0669811) * go_0(-1.0, -1.0); - result += mat4(-0.021020316, -0.21434662, 0.06523966, 0.11869478, -0.21215962, -0.042433035, -0.10847877, -0.10532955, -0.18938127, 0.05224748, 0.02170683, -0.09415175, -0.08846007, -0.18066676, -0.108328596, 0.09838168) * go_0(-1.0, 0.0); - result += mat4(-0.0014482798, -0.08546761, 0.053286448, -0.022678297, -0.009113084, -0.09750778, 0.10262376, -0.003133292, 0.026831077, 0.03348051, -0.031860266, 0.053811714, -0.05097466, 0.040436964, -0.063929394, -0.12586603) * go_0(-1.0, 1.0); - result += mat4(0.015445512, 0.029696425, -0.15537772, -0.057669863, -0.058116574, 0.188642, -0.289381, -0.03078714, -0.010385, 0.014184904, 0.16890535, -0.02512565, 0.116905816, 0.043889366, -0.027181825, 0.015912583) * go_0(0.0, -1.0); - result += mat4(0.0659837, 0.09219005, -0.085082754, 0.051408056, 0.11564603, 0.038757283, -0.0004551866, 0.06365286, 0.09702758, 0.10664935, 0.34716737, 0.14471847, 0.28146356, -0.00765224, 0.1772403, 0.22182499) * go_0(0.0, 0.0); - result += mat4(-0.08183167, 0.05762959, -0.043376535, -0.16858399, 0.02308398, -0.055296358, 0.07663533, 0.106998175, -0.10704135, -0.02596522, 0.013459359, -0.044283163, 0.07874813, 0.022484714, 0.30442455, 0.071259074) * go_0(0.0, 1.0); - result += mat4(-0.0022170176, 0.022313403, 0.122714184, -0.026881142, 0.08282965, -0.06490924, 0.18938759, 0.0677223, 0.1294088, 0.059372786, -0.110964485, 0.010619735, -0.09610158, -0.022745904, -0.019792024, -0.0034128428) * go_0(1.0, -1.0); - result += mat4(-0.041866794, -0.13008577, 0.110913865, -0.016430711, 0.13772298, 0.06592027, -0.0034176896, -0.032333232, -0.0071776314, 0.031079333, -0.10468204, 0.026052983, -0.025571326, 0.048804965, 0.045641564, -0.035233505) * go_0(1.0, 0.0); - result += mat4(0.035716273, -0.100303516, -0.031205915, -0.031608257, 0.09185616, 0.020499555, -0.16786079, -0.12639952, -0.023970092, 0.08524624, -0.06759015, -0.12429372, -0.0127442675, 0.112773865, -0.26975212, -0.007704992) * go_0(1.0, 1.0); - result += mat4(-0.022916801, -0.09817618, 0.20416892, 0.12702931, -0.012764869, -0.038772803, -0.27769282, -0.034622744, -0.13437684, 0.02120745, -0.1548114, 0.006228885, 0.22984603, -0.2432492, 0.10387287, -0.059412073) * go_1(-1.0, -1.0); - result += mat4(0.2363932, -0.11194499, -0.064652696, 0.07116429, -0.14603911, 0.18921274, -0.013249935, 0.13604592, 0.07306857, 0.08511469, -0.061648175, 0.052819334, 0.2016978, -0.13642034, -0.014157929, 0.072210535) * go_1(-1.0, 0.0); - result += mat4(-0.18656836, 0.17888299, 0.003892404, -0.048626274, -0.11190575, 0.09419825, 0.1276045, -0.012969808, -0.14728911, 0.17536093, 0.050294712, 0.19381198, -0.06558784, -0.09776518, -0.11414383, -0.1866525) * go_1(-1.0, 1.0); - result += mat4(0.15634118, 0.19272068, -0.05068886, -0.030995008, -0.035177864, 0.07032768, 0.116517685, -0.09072261, -0.10217943, -0.09160873, -0.062906645, 0.12504682, -0.09060218, 0.014820002, 0.03459818, -0.108051665) * go_1(0.0, -1.0); - result += mat4(-0.018596219, -0.017673533, -0.006066184, -0.064746305, -0.11017345, -0.09556466, 0.21868086, -0.027287072, -0.11609723, -0.11342597, 0.1788956, 0.035506073, -0.096203305, -0.037712112, 0.14055523, 0.16230235) * go_1(0.0, 0.0); - result += mat4(0.0056694653, -0.045156818, 0.10069355, -0.07291589, -0.048202783, -0.12425812, 0.15425333, -0.052708663, -0.17621729, 0.06338879, 0.1205465, 0.1754123, -0.028028619, 0.11745275, -0.120209925, 0.031073835) * go_1(0.0, 1.0); - result += mat4(-0.058996305, 0.042816967, -0.002514556, -0.0055761277, -0.05223201, -0.17414387, 0.13102455, 0.02741174, -0.0785701, 0.080076955, -0.058584027, 0.034780204, -0.0276381, 0.055405296, -0.09418891, 0.0013168643) * go_1(1.0, -1.0); - result += mat4(-0.03179422, -0.080134, 0.055742502, -0.14085148, -0.0010870491, 0.006537003, -0.0013490077, -0.086607024, 0.057871595, -0.07872675, 0.22251247, -0.052358106, -0.1307614, -0.22731845, -0.06979484, 0.00849211) * go_1(1.0, 0.0); - result += mat4(0.14046812, 0.04020691, -0.032090276, -0.09295882, -0.11624229, -0.10551015, 0.08762072, -0.07726716, -0.1498316, -0.17169969, -0.04618553, 0.14997219, -0.012493408, -0.06838468, 0.10913737, 0.018050432) * go_1(1.0, 1.0); - result += mat4(0.033775266, -0.07618233, 0.11493082, -0.026212664, -0.04540022, 0.026137805, -0.13465577, 0.15029386, 0.07141062, 0.09716221, -0.025410062, 0.032656677, 0.037815653, -0.040112175, 0.11637884, 0.11825522) * go_2(-1.0, -1.0); - result += mat4(0.14827983, -0.081768006, -0.05624141, -0.0044099363, 0.032463025, 0.10766071, -0.061944928, -0.15250987, -0.14692347, 0.1010062, 0.1384647, 0.079083905, -0.11822245, -0.054733507, 0.06650751, 0.04349182) * go_2(-1.0, 0.0); - result += mat4(-0.0189154, -0.033869926, -0.008463885, -0.1524785, -0.017154029, -0.021163551, 0.045354687, 0.056154214, 0.0996, 0.18220654, -0.02275312, -0.051522568, -0.015781462, -0.14436358, -0.13036303, -0.08281256) * go_2(-1.0, 1.0); - result += mat4(0.060433608, 0.025449814, 0.03162007, -0.13456888, -0.02134081, -0.15663207, 0.17289546, 0.0011385656, 0.059484057, 0.052233964, -0.03541694, 0.113927364, -0.0010070644, -0.005570618, 0.12790091, 0.16491406) * go_2(0.0, -1.0); - result += mat4(-0.033132974, -0.098377176, -0.12513644, 0.08796082, -0.0028096333, 0.09346144, -0.18109433, 0.17953019, 0.10331962, -0.111182235, -0.11015705, -0.15538633, -0.015985087, 0.06262592, 0.11767445, 0.04020116) * go_2(0.0, 0.0); - result += mat4(-0.10818913, -0.10614671, -0.0061792796, 0.07901479, -0.0018810411, 0.0026243017, 0.15281977, 0.1715038, -0.017927805, 0.07613347, 0.033450123, -0.23979095, 0.028044673, 0.060702097, 0.019822879, -0.14792976) * go_2(0.0, 1.0); - result += mat4(-0.008551052, -0.03843347, 0.0472157, -0.010416428, -0.01928176, -0.0063839755, 0.03508731, 0.24043478, 0.033645283, -0.11676803, -0.06743783, -0.034164682, -0.014925681, -0.030447507, -0.111160316, -0.034867767) * go_2(1.0, -1.0); - result += mat4(-0.102300785, 0.114739686, -0.007856566, -0.12389364, -0.18574199, 0.06441196, -0.1979763, -0.016671708, -0.09252569, 0.0037067563, -0.0609829, 0.028997343, 0.047285903, -0.018309064, -0.027229104, 0.06743576) * go_2(1.0, 0.0); - result += mat4(-0.055446856, -0.06821513, -0.0059853215, -0.13260886, 0.083104685, -0.11773866, 0.007317027, -0.039318476, -0.0042170533, 0.0121953655, -0.010792958, -0.010249791, 0.007397987, 0.0047044945, 0.049882278, 0.0047567203) * go_2(1.0, 1.0); - result += mat4(0.03465105, 0.062134508, -0.043116115, -0.017247844, -0.04502861, -0.10212199, 0.16550505, 0.016599817, 0.08857375, -0.03961283, 0.13870746, -0.082080655, -0.08469554, -0.18640712, -0.014425766, 0.034508247) * go_3(-1.0, -1.0); - result += mat4(-0.12399076, 0.22634715, -0.13730592, 0.04840304, 0.09450334, -0.065218486, 0.0068855314, -0.049165834, -0.011287574, -0.10739019, -0.00023772087, 0.09688784, 0.10983027, -0.011201701, 0.14466487, -0.21600902) * go_3(-1.0, 0.0); - result += mat4(-0.05468909, 0.050734483, 0.046412308, -0.09749245, 0.05704707, 0.22612362, -0.15571213, 0.06998293, 0.017409045, -0.13634662, -0.020574553, -0.073725305, 0.04699205, -0.08355112, 0.08512415, 0.15568486) * go_3(-1.0, 1.0); - result += mat4(0.10635322, 0.07337078, -0.07432055, 0.004248984, 0.027724393, -0.040500402, 0.196942, 0.041983824, 0.083976634, 0.10290795, -0.3009756, 0.082270764, -0.15817869, -0.027697606, -0.029153766, 0.08529106) * go_3(0.0, -1.0); - result += mat4(0.14958759, 0.13267447, 0.22206177, -0.17663805, -0.10765967, -0.03566466, 0.04633988, -0.03062237, -0.20792471, -0.002921972, -0.15749575, -0.22428021, -0.23200673, 0.14563684, -0.160325, -0.266424) * go_3(0.0, 0.0); - result += mat4(-0.13190623, 0.041341502, -0.12777801, -0.055840913, -0.112986885, -0.0021044768, -0.12469129, -0.11046474, -0.03600098, -0.011692557, -0.02686337, -0.17009224, -0.0820219, -0.029119916, -0.111095175, 0.15297051) * go_3(0.0, 1.0); - result += mat4(0.14414293, 0.02744959, -0.102789834, 0.006705362, -0.030359348, 0.083485864, -0.12009053, -0.02636556, 0.08503298, -0.10867725, 0.09814758, -0.14605886, 0.16700824, -0.0866019, 0.008852153, -0.21706365) * go_3(1.0, -1.0); - result += mat4(-0.011756063, 0.008039321, 0.03698028, -0.10509595, -0.099564835, 0.009903015, -0.08965568, 0.06633642, 0.10181769, 0.08294756, 0.025898153, -0.098384134, 0.066339396, -0.02191258, 0.03265874, 0.1477094) * go_3(1.0, 0.0); - result += mat4(-0.22950448, -0.07607528, 0.016735366, 0.083834045, -0.005080134, 0.09744342, -0.105208844, 0.043603517, 0.005231004, -0.023469515, 0.08517984, 0.14299476, 0.0062482157, -0.09623864, 0.097964756, 0.11196982) * go_3(1.0, 1.0); - result += mat4(-0.31986436, 0.02033341, -0.067986034, 0.12729374, -0.0048481217, 0.05469139, 0.16248406, 0.09194327, 0.024411261, 0.051379394, 0.00034975683, -0.021101091, 0.00954231, 0.02220226, -0.32092375, -0.039599743) * go_4(-1.0, -1.0); - result += mat4(-0.23243247, 0.102910504, 0.08704054, -0.16638695, -0.04414702, 0.10768372, 0.06244856, -0.053088184, -0.07190515, 0.025491035, -0.0073894467, -0.06960583, 0.04625048, 0.09757096, -0.014015539, -0.2686573) * go_4(-1.0, 0.0); - result += mat4(0.09618109, -0.04002844, 0.10706359, 0.0021603133, -0.10353008, -0.051047757, 0.22455198, -0.034693047, 0.0572685, -0.055035133, 0.004646706, 0.097952425, 0.14423034, 0.03551641, 0.17294352, 0.18931827) * go_4(-1.0, 1.0); - result += mat4(-0.103451714, -0.14722984, 0.075681895, 0.05237415, -0.11553789, -0.04747042, 0.06682777, -0.094138026, 0.17443697, 0.022166768, -0.033095736, -0.060237505, 0.12380581, -0.0075241313, -0.07084953, -0.036764625) * go_4(0.0, -1.0); - result += mat4(-0.035672948, -0.06520371, -0.09139108, 0.04217135, -0.117305085, 0.07602235, -0.15833357, 0.056191333, -0.11441557, 0.037268326, -0.028076539, -0.12540102, 0.016748995, 0.034004167, -0.1824477, -0.16126373) * go_4(0.0, 0.0); - result += mat4(0.06134336, -0.11747715, -0.08211664, 0.08370146, -0.12180083, 0.19250062, -0.054975577, 0.020182844, 0.08444608, -0.06466239, 0.015815528, -0.031805765, -0.0028007699, 0.08060802, 0.15744543, -0.12746236) * go_4(0.0, 1.0); - result += mat4(0.043641105, -0.07119625, -0.042450625, 0.05739444, 0.018069813, 0.029118251, 0.0061236136, 0.07221804, -0.011486244, -0.041661404, 0.2197789, -0.020237818, 0.15324089, -0.02419463, 0.095150515, -0.048418492) * go_4(1.0, -1.0); - result += mat4(0.010760071, 0.079417765, -0.038494457, 0.0804348, -0.03777174, -0.2785645, -0.0018691403, -0.009908184, -0.2519993, -0.021114716, -0.075966366, -0.11307284, 0.042725798, 0.02793535, 0.08475073, 0.00719373) * go_4(1.0, 0.0); - result += mat4(-0.06026802, -0.1285141, -0.015326734, -0.092160225, -0.03740965, -0.10725952, 0.11102985, -0.05550745, 0.07659162, -0.115331456, 0.003444734, -0.054064468, -0.08475641, -0.08501742, -0.24890389, 0.07931074) * go_4(1.0, 1.0); - result += mat4(0.16370693, 0.14513049, -0.13996753, -0.061734002, -0.030769601, 0.057222515, 0.050910987, -0.04650852, -0.054636024, -0.021683916, -0.17012738, 0.020975761, -0.1575395, 0.23097757, -0.20053351, -0.03677814) * go_5(-1.0, -1.0); - result += mat4(0.08665788, 0.11735751, -0.017768439, 0.0068110893, 0.2169534, 0.04611748, -0.05265798, -0.14298616, 0.030219741, 0.0361948, -0.17905854, -0.072263926, -0.12066245, -0.043840945, -0.075282134, 0.062113304) * go_5(-1.0, 0.0); - result += mat4(-0.07236986, 0.12181904, -0.010601836, 0.14551845, -0.073809735, 0.15977979, -0.018897848, 0.036385477, 0.0025911513, 0.026647402, 0.07882444, 0.028249063, 0.009689747, -0.03413688, -0.032440297, 0.060033906) * go_5(-1.0, 1.0); - result += mat4(0.0063548526, -0.05827531, -0.0863922, 0.09530562, -0.007424638, 0.2742968, -0.44429728, 0.1693316, 0.00851462, 0.018132828, -0.014929005, -0.08181229, -0.12771043, -0.15851092, -0.08833768, -0.05561009) * go_5(0.0, -1.0); - result += mat4(-0.17187662, -0.020507278, -0.00087365095, -0.17611316, -0.13882494, 0.07799683, 0.06299509, -0.33718416, -0.19870155, 0.055342596, 0.1495889, 0.13743624, -0.16251567, -0.02317984, -0.3027063, 0.07310683) * go_5(0.0, 0.0); - result += mat4(0.07612367, -0.06315094, 0.086967595, -0.17633231, 0.010166444, 0.109485, -0.06876594, 0.19186738, 0.12188993, -0.010759893, 0.0059104343, 0.21518311, -0.14552301, -0.04969499, 0.013590615, -0.0688024) * go_5(0.0, 1.0); - result += mat4(-0.0505275, 0.05859463, -0.08945146, -0.0057924157, 0.058152966, -0.024229135, 0.031221801, -0.15067945, -0.018535225, 0.13843696, 0.041234065, 0.051733483, -0.10050763, 0.10705917, -0.022969715, 0.03912073) * go_5(1.0, -1.0); - result += mat4(-0.009000505, -0.11456071, 0.0340094, 0.12444861, 0.07345543, -0.1419509, 0.092182405, 0.056249533, 0.063071616, -0.010534381, 0.056680985, 0.025993576, -0.13020347, 0.066157125, 0.0073951716, -0.027919816) * go_5(1.0, 0.0); - result += mat4(0.11827389, 0.111768976, 0.024734994, -0.008209825, -0.11939657, 0.049890216, -0.14757815, -0.0018939807, -0.108214505, -0.13791578, 0.06980697, -0.035102874, 0.0068360427, 0.15766092, -0.0094464505, 0.02528075) * go_5(1.0, 1.0); - result += vec4(0.15827118, -0.013269078, -0.026832024, -0.007341773); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0858087, -0.091669075, -0.029618878, -0.006829049, 0.05929614, -0.10007056, -0.07165286, -0.044839766, 0.16440393, -0.013165904, 0.16345644, -0.040166497, -0.08533438, 0.033274904, 0.023744298, 0.00462745) * go_0(-1.0, -1.0); - result += mat4(-0.012197617, -0.17494427, -0.044840526, 0.09467358, 0.0670941, 0.04051791, 0.031950857, 0.043632418, 0.27560753, -0.18038619, -0.016762096, -0.18554263, -0.07514284, -0.12060545, -0.06567658, 0.095817134) * go_0(-1.0, 0.0); - result += mat4(-0.006523474, -0.08222627, -0.0071327686, 0.0019292525, 0.10427757, -0.12537085, 0.04317682, -0.073334634, 0.05154215, -0.091944076, -0.02118822, -0.056948982, -0.13910337, 0.03694039, -0.057772428, -0.04310826) * go_0(-1.0, 1.0); - result += mat4(0.06324951, -0.22648853, -0.07255338, 0.017026639, -0.008103722, -0.21415114, -0.26123968, -0.12380067, -0.122654535, -0.072686374, -0.106361255, -0.085339114, -0.032308288, 0.15890516, 0.06622756, -0.023396786) * go_0(0.0, -1.0); - result += mat4(-0.042859413, -0.09672486, -0.25197455, -0.09964709, 0.29545367, -0.031414457, -0.09069656, -0.1515025, 0.0027435324, -0.22244011, -0.028398262, 0.023005402, -0.01898338, -0.044614386, -0.15384883, -0.03421089) * go_0(0.0, 0.0); - result += mat4(0.02024483, -0.0024315433, -0.12607838, -0.06749624, 0.18010019, -0.13433436, 0.023777714, -0.000595795, 0.06660958, 0.0047493204, -0.008804406, -0.01993787, -0.16380167, -0.116379924, -0.08225346, -0.15736714) * go_0(0.0, 1.0); - result += mat4(0.04966525, -0.18904372, 0.0033124757, 0.007581284, 0.04973636, -0.054151382, -0.0019207672, 0.035237975, 0.050646428, 0.054101888, 0.10167154, -0.06646531, -0.1516706, 0.0069144946, -0.11062034, 0.00401821) * go_0(1.0, -1.0); - result += mat4(0.042625226, -0.13069777, -0.16180645, -0.023299642, 0.026805617, -0.05658099, 0.043719705, 0.1092636, 0.12341378, 0.042006955, 0.18066125, 0.16378504, 0.11135436, 0.08376113, 0.031495962, 0.04347884) * go_0(1.0, 0.0); - result += mat4(-0.006632579, -0.08609527, -0.08015572, -0.09973007, 0.0060661826, -0.0025273473, 0.027333017, 0.19469416, 0.115743786, -0.048629977, 0.07540239, 0.060625635, 0.11000561, -0.0005722454, -0.17226484, -0.27114823) * go_0(1.0, 1.0); - result += mat4(0.055690464, -0.02658434, 0.07268652, 0.10016923, -0.16319957, 0.17007092, 0.21633402, 0.20618637, -0.113490485, 0.02199878, 0.0055137747, 0.12215447, -0.09464513, 0.045647286, -0.14000376, 0.073245205) * go_1(-1.0, -1.0); - result += mat4(-0.23644187, 0.079229124, 0.15172592, -0.13774072, -0.026849356, -0.021209542, -0.027881218, 0.033904858, 0.038394954, -0.087262556, -0.08262074, -0.031362742, -0.043572012, -0.025324758, -0.030077327, 0.005004752) * go_1(-1.0, 0.0); - result += mat4(0.09973582, 0.010234953, -0.08513304, -0.03290182, -0.06016728, -0.14835075, -0.049367975, -0.109585285, 0.1308012, -0.05561698, 0.02354898, 0.013404379, 0.076999895, 0.0965049, -0.08259544, 0.08366891) * go_1(-1.0, 1.0); - result += mat4(-0.14182909, 0.08395952, 0.08790292, -0.10685734, 0.20583102, 0.04878629, 0.33621716, 0.022593737, 0.11261521, 0.21141209, 0.20565145, 0.10242992, 0.024171967, 0.0531655, 0.049630456, -0.026225826) * go_1(0.0, -1.0); - result += mat4(-0.24823152, -0.004493935, -0.098093554, 0.024939846, -0.18618853, 0.23347515, 0.3677701, 0.116543904, -0.0123427, -0.023756992, -0.047602683, -0.17058952, 0.255566, -0.16041403, -0.12076221, -0.16564348) * go_1(0.0, 0.0); - result += mat4(-0.013236432, 0.076761626, 0.081881255, 0.09071596, -0.11729648, -0.006444196, 0.10923074, 0.13791469, -0.043651752, -0.18294181, -0.040916644, 0.097785, -0.0028955766, -0.0027983326, 0.073921174, -0.10227346) * go_1(0.0, 1.0); - result += mat4(-0.0018851581, 0.042510424, -0.049210977, 0.054145046, 0.062141296, -0.05751743, -0.1545065, -0.07428518, -0.0012378759, 0.0046147997, 0.05624973, 0.026027879, 0.014657843, 0.03690237, 0.020237725, 0.028257368) * go_1(1.0, -1.0); - result += mat4(-0.0131197, -0.068101935, 0.1810527, -0.16003254, -0.031678617, 0.02635583, 0.028078066, -0.061150465, 0.011311746, -0.13556738, 0.010152058, -0.27962342, -0.06454591, 0.20071113, -0.17109145, 0.24637976) * go_1(1.0, 0.0); - result += mat4(0.010061335, -0.001633492, 0.015894579, 0.11813777, -0.0085875485, 0.16046463, -0.03870673, -0.1573532, 0.007046577, -0.032677893, -0.03055368, 0.16372435, -0.023844553, 0.0414419, 0.024983952, 0.118105516) * go_1(1.0, 1.0); - result += mat4(-0.015675241, 0.06467378, -0.06385561, 0.23119383, 0.19577031, 0.09614502, 0.14291568, 0.0646477, -0.04580087, -0.054257967, 0.0035926772, -0.084984995, 0.07729014, -0.12703735, 0.021946913, -0.13898507) * go_2(-1.0, -1.0); - result += mat4(0.04983293, -0.1356944, 0.06499119, 0.18219076, -0.0012843006, 0.017029244, 0.072508365, -0.109151654, 0.20020588, -0.01626167, -0.046852995, -0.15508164, 0.17773204, -0.11779289, 0.16009867, -0.20663622) * go_2(-1.0, 0.0); - result += mat4(-0.29108632, -0.10655777, 0.044198614, -0.04410373, -0.04469665, 0.026585957, -0.03942788, 0.15000731, 0.09523267, -0.13746834, 0.04037757, -0.100768045, 0.13844049, 0.015964666, 0.050790466, -0.0692099) * go_2(-1.0, 1.0); - result += mat4(-0.06911559, 0.012809353, -0.12680744, -0.048866037, 0.055650793, -0.0578033, -0.098106444, 0.074231684, 0.07584408, -0.06642763, -0.12730137, -0.19599968, 0.057783168, 0.2112361, 0.2594585, -0.005996189) * go_2(0.0, -1.0); - result += mat4(0.14301813, -0.11221026, -0.13259968, -0.094263665, -0.07149053, -0.048891526, -0.032946635, -0.10009779, 0.27363536, 0.14980642, -0.02908678, 0.0047521754, 0.3446896, 0.026126916, 0.36222085, 0.18175994) * go_2(0.0, 0.0); - result += mat4(-0.14227025, -0.043589745, -0.026543979, -0.16103217, -0.15027285, 0.039540008, -0.006172108, -0.10215637, 0.054667268, -0.056833044, -0.041795656, -0.13694401, 0.10057133, -0.13033262, 0.10366755, -0.022725947) * go_2(0.0, 1.0); - result += mat4(0.09428237, 0.013572218, 0.08937405, 0.07288141, -0.11737223, 0.23257263, -0.04531822, 0.13323838, -0.06946843, 0.09392816, 1.8482398e-05, 0.099077396, 0.035169534, -0.25623903, -0.018828487, -0.06300839) * go_2(1.0, -1.0); - result += mat4(-0.026215252, 0.03051006, 0.07113607, -0.12154545, 0.0040449486, -0.123852775, -0.08525913, -0.1901913, 0.017407645, 0.16107552, -0.12645124, -0.017211819, -0.07441704, -0.005858128, -0.011531684, 0.32415336) * go_2(1.0, 0.0); - result += mat4(-0.17503254, -0.0015612559, 0.10169017, 0.019084195, 0.021156454, -0.310495, 0.04608056, 0.10953508, 0.19300106, -0.22451214, 0.03351187, -0.23461004, 0.072505705, 0.015136174, 0.04027726, 0.07976788) * go_2(1.0, 1.0); - result += mat4(0.063301176, -0.05981131, 0.08261184, -0.14083353, -0.03195537, 0.0578306, 0.02804363, -0.20032683, -0.05517824, -0.0757025, -0.19914438, -0.042908937, -0.030248174, -0.25152618, 0.050725143, 0.1369699) * go_3(-1.0, -1.0); - result += mat4(0.1003561, 0.0734191, 0.09896423, -0.08019514, 0.014390224, -0.00054874463, 0.037597846, -0.09500772, 0.09027194, 0.101415, -0.040434603, 0.08962564, -0.22431703, -0.07749036, 0.0013332567, 0.09083244) * go_3(-1.0, 0.0); - result += mat4(0.008767293, 0.024598125, -0.006601763, -0.028163001, -0.024962863, 0.08638626, -0.028004736, -0.08388235, 0.022387464, 0.070822835, -0.022390194, 0.035980027, -0.043976255, -0.13879846, -0.0064368118, 0.1285523) * go_3(-1.0, 1.0); - result += mat4(0.04603082, 0.12994967, 0.081791796, 0.09700837, 0.023545785, 0.06551075, 0.12287056, -0.22250815, -0.16573791, -0.047054622, 0.07907622, -0.031006414, 0.06890266, -0.123863325, 0.067868486, 0.18396272) * go_3(0.0, -1.0); - result += mat4(0.16980824, 0.015854107, 0.17575637, 0.15477645, -0.09076066, -0.05120928, 0.03070066, 0.11817304, 0.06490148, -0.012875289, 0.006170174, 0.11815885, 0.041828565, -0.17298366, -0.014634091, 0.124265894) * go_3(0.0, 0.0); - result += mat4(0.06368938, -0.032462507, 0.04960355, -0.04891845, -0.0038693375, 0.12922424, 0.0047689294, -0.08684701, 0.095224895, 0.0020490738, -0.046015333, -0.18551406, 0.07551751, -0.071112834, 0.02344341, 0.04623062) * go_3(0.0, 1.0); - result += mat4(-0.056204665, 0.013370383, -0.0043938635, 0.000645203, -0.09654348, 0.02182419, 0.0059207743, -0.13559262, 0.06930852, 0.008161434, 0.016864823, 0.11678153, 0.0039051562, -0.07914336, 0.04955842, 0.017483408) * go_3(1.0, -1.0); - result += mat4(0.010976288, 0.10715081, 0.09279967, 0.020898886, 0.013906253, 0.09519829, -0.033453338, 0.06451083, -0.043613426, -0.009969589, -0.11931571, 0.03572111, 0.0051956573, -0.0647261, -0.07640106, 0.14315592) * go_3(1.0, 0.0); - result += mat4(0.051365715, 0.05332849, 0.028890109, -0.047791258, 0.088561386, 0.07254739, -0.04627223, -0.066297226, -0.106467545, -0.061747868, -0.04026904, 0.0245163, 0.104035124, 0.0005123147, 0.09572231, 0.23461665) * go_3(1.0, 1.0); - result += mat4(0.025117617, -0.051919132, -0.10238518, 0.0087314, -0.24502674, 0.24725929, 0.020510906, -0.11374982, -0.08788345, 0.14287415, -0.05371828, -0.09765232, 0.089326784, 0.059355933, 0.003667818, 0.007658546) * go_4(-1.0, -1.0); - result += mat4(0.032038644, -0.064910114, -0.041199267, 0.07735183, 0.023076316, 0.2316058, 0.14530785, 0.01587883, 0.17309736, 0.034302652, 0.078950614, 0.07103009, 0.042525988, 0.026763001, 0.03962311, -0.017174084) * go_4(-1.0, 0.0); - result += mat4(-0.045589544, 0.09957158, 0.0106373755, 0.029290373, -0.012066452, 0.107432865, -0.10563313, 0.08964528, 0.081136055, 0.16387793, -0.037766423, 0.083933, -0.0100631835, -0.041015863, 0.020540452, -0.01647507) * go_4(-1.0, 1.0); - result += mat4(0.12199317, -0.078802, -0.14587677, -0.05266387, -0.2739342, -0.07832318, -0.02654562, -0.19134043, -0.15542388, 0.10411293, 0.0068920734, -0.18878813, 0.032211393, 0.15987061, -0.12149388, 0.09021272) * go_4(0.0, -1.0); - result += mat4(0.017827235, 0.021951806, 0.12995765, -0.1925006, 0.43689772, -0.067384414, -0.12091599, -0.20399235, 0.11603679, 0.26069987, 0.09115632, 0.29782417, -0.37195182, 0.17822702, 0.26410392, 0.22584216) * go_4(0.0, 0.0); - result += mat4(0.00091769337, -0.10308406, -0.03788696, 0.009829855, 0.07434385, -0.055530947, -0.119265415, 0.03404489, 0.13412294, 0.19281757, -0.21274371, -0.09527358, 0.022169666, 0.06841656, -0.09664997, 0.02376001) * go_4(0.0, 1.0); - result += mat4(0.02522274, -0.07492225, 0.108729765, -0.084396936, -0.1450858, -0.084260635, 0.036976974, 0.07395254, 0.102778085, -0.04220765, 0.015409228, -0.09215815, 0.033722915, 0.09410213, 0.06759963, 0.03639959) * go_4(1.0, -1.0); - result += mat4(-0.0129304, 0.049982294, -0.16211604, 0.15442637, -0.00069647084, 0.026756465, -0.06687889, 0.25361556, -0.022950223, 0.123774804, -0.018783078, 0.23009071, 0.08808236, -0.02500049, 0.058831975, -0.059854023) * go_4(1.0, 0.0); - result += mat4(0.0282501, -0.06622134, -0.03940754, -0.057764836, 0.023595478, 0.12694593, -0.0038103263, 0.1507626, 0.03539641, 0.04670363, -0.07688535, -0.04822336, 0.054404292, -0.07222161, -0.09880846, -0.09190709) * go_4(1.0, 1.0); - result += mat4(0.028638069, 0.032332644, 0.10077746, -0.13334957, -0.068841085, -0.11133997, 0.03466411, -0.10885937, 0.050528128, -0.09258964, -0.07510585, -0.031298082, 0.074979246, 0.02487803, 0.05295848, 0.032633457) * go_5(-1.0, -1.0); - result += mat4(-0.07998351, 0.05691501, 0.036540154, 0.00094257767, -0.15473618, -0.06821505, -0.021972192, 0.22512725, -0.028976573, -0.016970608, -0.07117851, 0.0005293328, 0.18183869, 0.06063047, 0.016248764, 0.10007656) * go_5(-1.0, 0.0); - result += mat4(0.07268518, -0.09155798, -0.002566672, -0.018126441, -0.16046503, 0.048856504, -0.011080104, 0.036383335, 0.08598702, 0.19642924, -0.049759824, 0.07246208, 0.13074261, -0.058662284, 0.03459059, -0.04198155) * go_5(-1.0, 1.0); - result += mat4(0.12882999, -0.021765677, 0.21212584, -0.099195495, -0.105583504, 0.17039305, 0.06333295, 0.090153314, -0.038552936, 0.033885363, 0.04958857, -0.024823477, -0.06625663, -0.013032451, -0.22981462, 0.12724645) * go_5(0.0, -1.0); - result += mat4(-0.2467723, 0.09133717, 0.08810061, 0.07691946, -0.20903678, 0.08403025, 0.010679062, -0.03956549, -0.011411588, -0.022170769, -0.06298385, -0.10067764, 0.03551502, -0.0736268, -0.109931275, -0.15795651) * go_5(0.0, 0.0); - result += mat4(0.050697595, -0.012465872, -0.068512246, 0.1556296, -0.17526908, -0.06572342, -0.018147333, 0.026501164, -0.049490303, 0.061885685, 0.02423367, 0.027439872, 0.37354204, -0.09908201, -0.10852779, -0.047961403) * go_5(0.0, 1.0); - result += mat4(-0.1904858, -0.08803705, -0.15687172, -0.14420407, 0.058089714, 0.103457965, 0.048995994, 0.057829436, -0.05192929, 0.019802462, -0.04511639, -0.0038435445, 0.2194401, -0.043761376, 0.1312272, 0.054326482) * go_5(1.0, -1.0); - result += mat4(-0.07349653, -0.121248744, 0.057792176, 0.099129215, -0.20087934, -0.031952746, -0.09673813, -0.031076657, -0.03237994, -0.020143004, -0.12516364, 0.007846103, 0.17188387, -0.2825958, 0.07352815, -0.021273587) * go_5(1.0, 0.0); - result += mat4(0.14606737, 0.04232884, -0.04508154, 0.11619671, -0.14093883, 0.022675866, 0.004869404, -0.1476083, -0.15496063, -0.11994992, -0.07718659, 0.0023026431, 0.012474549, 0.107636444, -0.08887454, 0.23727296) * go_5(1.0, 1.0); - result += vec4(-0.112874866, 0.058437236, -0.011864247, -0.050339766); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.016881438, -0.044336118, 0.11502204, -0.10677853, 0.08977789, -0.059579305, 0.109261245, 0.10357805, 0.3364402, 0.14823961, 0.06096494, 0.15078168, -0.11029799, 0.074738294, 0.012435908, -0.0106727) * go_0(-1.0, -1.0); - result += mat4(-0.109714404, 0.008750308, 0.1948044, -0.1396421, 0.04144051, -0.12435535, 0.07815825, 0.019051697, -0.07954506, -0.0965191, -0.2027906, 0.17172056, -0.26384082, 0.13519175, 0.04667002, 0.021707565) * go_0(-1.0, 0.0); - result += mat4(0.07089612, 0.007484666, 0.104900375, 0.04954983, -0.06030455, -0.12300262, 0.05197505, -0.041572303, 0.009151977, 0.0799586, -0.04780254, -0.13600186, 0.18708369, 0.047879692, 0.040363688, 0.042251408) * go_0(-1.0, 1.0); - result += mat4(0.063153245, 0.0050982186, 0.17556845, -0.06571311, -0.03749878, 0.014326615, -0.11032866, -0.27065897, -0.10525074, 0.13344456, -0.16412602, 0.049715474, 0.061313376, -0.24646369, 0.14604661, -0.09024816) * go_0(0.0, -1.0); - result += mat4(-0.026787708, 0.09889526, -0.050714437, -0.18990894, -0.087063104, -0.12555519, -0.0064119035, -0.0066881417, 0.09163732, -0.13423459, -0.05758272, -0.11314744, -0.025565878, 0.078317784, -0.14494383, -0.14658383) * go_0(0.0, 0.0); - result += mat4(0.0110544115, 0.06727031, -0.099965416, 0.059974622, -0.15135513, -0.038787033, 0.07673858, 0.017850239, 0.02383772, -0.1985737, 0.094468035, -0.097836666, 0.19387084, 0.06476367, -0.15316796, 0.023932178) * go_0(0.0, 1.0); - result += mat4(0.009757702, 0.14015986, -0.10496543, -0.044595003, -0.024084711, 0.012144018, 0.0981338, -0.012515983, 0.0060429554, -0.07067267, 0.12682167, -0.11384025, -0.045077007, 0.035177663, -0.06615891, 0.045473646) * go_0(1.0, -1.0); - result += mat4(-0.111679845, 0.026028167, 0.04201027, -0.16000839, 0.037475422, 0.038049795, -0.16249935, 0.02239824, -0.018402468, 0.012291931, -0.07117686, -0.09280776, 0.20392933, -0.02732328, 0.045456327, -0.078981794) * go_0(1.0, 0.0); - result += mat4(0.03066143, -0.0739708, -0.13922189, -0.12682499, -0.1299339, -0.09163088, -0.07340559, -0.050614927, -0.03902327, 0.09319906, 0.23746358, -0.12093768, -0.0071099317, -0.060775675, 0.15018946, -0.013342442) * go_0(1.0, 1.0); - result += mat4(0.07596372, 0.20584284, -0.02217273, 0.2564209, 0.11423146, 0.0098925475, -0.19662452, -0.1313871, 0.08574315, 0.0067099673, -0.08959511, -0.13870555, -0.08032657, 0.013044774, 0.059738085, -0.06106972) * go_1(-1.0, -1.0); - result += mat4(-0.017293025, 0.15636088, -0.10619794, 0.108079255, -0.1168585, 0.09589374, -0.08682874, -0.08116015, 0.005083832, -0.15325624, -0.022297598, 0.23929761, -0.024037527, -0.006906145, -0.17204066, 0.003067951) * go_1(-1.0, 0.0); - result += mat4(0.036887415, 0.0059498777, -0.04959398, -0.12104261, 0.018237587, 0.07747393, -0.038457148, 0.01900929, 0.06142847, -0.03194083, -0.008666936, -0.13599987, 0.031248135, -0.04247948, 0.10167268, 0.13608082) * go_1(-1.0, 1.0); - result += mat4(-0.13198346, 0.1674333, -0.06218637, -0.06692618, 0.12682024, -0.12734371, -0.08660555, 0.22860871, 0.32062, -0.001097262, 0.13959797, -0.0044754874, 0.081532046, -0.026494987, -0.0123374695, 0.026149286) * go_1(0.0, -1.0); - result += mat4(-0.104755685, -0.010431212, -0.031997994, 0.027816107, 0.028212348, 0.06372256, -0.14536087, 0.09018213, 0.01694147, -0.046755623, 0.04764776, 0.057815794, 0.062553786, -0.09214233, 0.040526126, 0.007556779) * go_1(0.0, 0.0); - result += mat4(-0.08911158, 0.07110132, 0.056163214, 0.038952623, 0.10865385, 0.006793654, -0.06653261, 0.18222512, 0.029801054, -0.0811567, 0.12070828, 0.054755576, 0.028518738, -0.016029958, 0.03218924, -0.009337529) * go_1(0.0, 1.0); - result += mat4(0.086197704, -0.015495907, 0.048072338, -0.07199852, 0.082511336, 0.20892009, 0.059752844, 0.105095305, 0.09896605, 0.11799976, 0.061295632, 0.06601205, 0.013666139, -0.015312437, -0.18342482, 0.023882518) * go_1(1.0, -1.0); - result += mat4(-0.013824049, 0.05503347, -0.16911599, 0.008002769, -0.13950597, 0.027708618, 0.25653768, -0.08508614, 0.18204638, -0.06386117, -0.20115016, -0.14755486, 0.05260717, 0.15443258, 0.25847095, -0.10009257) * go_1(1.0, 0.0); - result += mat4(-0.059717122, -0.03435186, -0.10407675, -0.064839795, -0.044192888, -0.036913253, 0.03681877, 0.03697244, -0.09967689, 0.09231582, -0.33624214, -0.023151914, -0.1287868, 0.025817866, 0.053143233, -0.05608657) * go_1(1.0, 1.0); - result += mat4(-0.014672332, 0.06483223, 0.04254691, -0.112299606, 0.23128588, -0.1651168, 0.050003413, 0.04894729, 0.2544582, -0.13577309, -0.0006000951, 0.06801677, 0.09296969, 0.061753552, 0.20265704, 0.257177) * go_2(-1.0, -1.0); - result += mat4(-0.14275837, 0.17531338, 0.04749905, -0.0758535, -0.015062751, 0.046983913, -0.1333634, 0.068564706, -0.09043316, -0.31197232, 0.025262894, 0.042436298, -0.0040407367, -0.22480483, 0.041938446, 0.024641208) * go_2(-1.0, 0.0); - result += mat4(0.14420901, 0.114887774, -0.11488812, -0.0597554, -0.054847293, 0.05547183, 0.03265681, -0.26890585, 0.03439455, -0.255012, 0.17280143, -0.15793064, -0.078898564, -0.12406215, -0.062780574, 0.10172549) * go_2(-1.0, 1.0); - result += mat4(-0.094646096, -0.17374977, -0.0074399756, -0.34635502, 0.07774559, 0.15205993, -0.03449227, -0.06186042, 0.22554572, 0.05784444, 0.12953205, 0.30743182, 0.0064037675, -0.04768125, -0.024676334, -0.038768534) * go_2(0.0, -1.0); - result += mat4(-0.016888129, -0.01739885, -0.100029364, -0.18185234, -0.25301012, -0.057780884, 0.1565648, 0.03068169, -0.11813698, -0.03959661, 0.0833061, 0.15282218, 0.0071316576, -0.07718743, -0.10895751, -0.06739941) * go_2(0.0, 0.0); - result += mat4(0.06317689, 0.18067697, 0.15456977, 0.15414707, -0.17297679, 0.024572203, 0.1171789, 0.07393219, -0.18743253, -0.08222157, 0.11114712, -0.17883265, -0.04287185, -0.09453442, 0.12694365, -0.027343085) * go_2(0.0, 1.0); - result += mat4(-0.06716255, -0.21199013, -0.12669027, 0.21503277, 0.0019133248, 0.0634854, 0.1330296, -0.061205685, 0.29359, 0.17710103, -0.024374757, -0.09792164, -0.18657605, 0.081899285, 0.12585995, 0.025425494) * go_2(1.0, -1.0); - result += mat4(-0.05250748, 0.030909589, 0.1902117, 0.25473362, -0.09742609, 0.053520087, -0.03211081, -0.057595085, 0.12961125, 0.0023426781, -0.013836333, -0.09925751, -0.06785708, 0.08647871, -0.27276617, -0.10692432) * go_2(1.0, 0.0); - result += mat4(0.10256342, -0.0012406971, -0.043700144, 0.18606174, 0.019327404, 0.11292357, -0.15260164, 0.17126434, -0.18879685, -0.16486076, -0.011073295, -0.12524827, -0.008579242, -0.059638925, 0.084539056, -0.117018394) * go_2(1.0, 1.0); - result += mat4(-0.005224277, -0.004213279, -0.0032532548, 0.07730248, 0.09291174, -0.073571384, -0.026436254, 0.03482603, -0.19962324, -0.2610976, 0.020305693, -0.10154568, -0.36644712, 0.051274676, 0.014252039, 0.13887805) * go_3(-1.0, -1.0); - result += mat4(-0.027320823, -0.046729945, -0.026784837, 0.16669074, -0.060943272, 0.033377934, -0.14505643, -0.020337462, 0.16624433, -0.04587067, 0.097641915, 0.081230365, -0.007829853, 0.12665996, -0.14892018, -0.24456674) * go_3(-1.0, 0.0); - result += mat4(-0.08478914, -0.03012501, -0.10310597, -0.11331812, -0.0031645342, 0.14941333, 0.062353395, -0.024058735, -0.0594801, -0.23192395, -0.16746534, 0.06564879, -0.12253713, 0.17433378, -0.0781637, -0.02427467) * go_3(-1.0, 1.0); - result += mat4(-0.02302574, 0.04423824, -0.08400403, 0.09036313, -0.014492948, 0.11002858, 0.18625931, 0.32704633, 0.05124957, -0.068088494, 0.12289486, -0.014215405, -0.13288727, 0.040543802, -0.20918661, 0.073871054) * go_3(0.0, -1.0); - result += mat4(0.017605199, 0.019553222, -0.08225654, 0.20643222, -0.00022603406, 0.08176717, 0.12868896, 0.124581024, -0.030760515, 0.095257014, -0.22808774, -0.034270126, 0.15100974, -0.3296213, 0.18732856, 0.1324247) * go_3(0.0, 0.0); - result += mat4(-0.0529032, -0.026973793, -0.05097176, -0.11297454, 0.020022966, -0.018701904, -0.04847294, -0.15029453, -0.06363558, 0.09747056, 0.07460071, -0.03857069, -0.21553952, -0.11073493, -0.213246, 0.0711861) * go_3(0.0, 1.0); - result += mat4(-0.03162221, 0.001236578, 0.123811916, 0.033390332, -0.037370905, 0.19355269, -0.17827089, 0.014296732, -0.16348897, -0.1319003, -0.16828157, 0.025803383, 0.059980027, 0.110682875, 0.0740905, 0.062085215) * go_3(1.0, -1.0); - result += mat4(0.045581415, 0.045279585, 0.057199746, -0.02156781, 0.006849691, 0.088090494, 0.0050983853, -0.13634379, -0.027394824, -0.095449656, 0.24879529, -0.096120596, 0.1353526, 0.120924726, -0.18323645, -0.021366404) * go_3(1.0, 0.0); - result += mat4(-0.09347594, -0.033151172, 0.08154851, -0.043524023, -0.11946553, 0.034201168, 0.29714793, -0.11766968, 0.07862629, -0.022385478, 0.007981411, 0.072274946, -0.07020759, -0.08967969, -0.01748178, -0.050568584) * go_3(1.0, 1.0); - result += mat4(-0.06815112, -0.08195707, -0.018364457, -0.1291466, -0.07578508, -0.026269661, -0.024130398, 0.345771, 0.061061617, 0.00024922745, 0.121253625, 0.1679367, -0.075497314, 0.018176561, -0.016344557, 0.0036648472) * go_4(-1.0, -1.0); - result += mat4(0.04763461, -0.0020346593, -0.02060361, 0.027356124, 0.12256149, -0.10517474, 0.05206596, 0.48938727, 0.24554996, 0.035649568, -0.0020840873, -0.13338771, 0.055847157, 0.08685442, -0.0049057365, 0.119682014) * go_4(-1.0, 0.0); - result += mat4(-0.0009415129, 0.023808502, 0.011839588, 0.1557796, -0.046566915, -0.16340078, 0.057526406, 0.051289674, 0.009036062, -0.033471756, 0.04899847, 0.08597252, 0.009778078, 0.15277503, -0.02124232, -0.13266967) * go_4(-1.0, 1.0); - result += mat4(0.044579845, -0.057439465, -0.0058995294, -0.016733315, -0.026765248, 0.22384825, 0.10160812, -0.24921204, 0.1505643, 0.10299508, -0.022949796, 0.023317415, -0.11803905, -0.010997904, -0.0165606, 0.10949375) * go_4(0.0, -1.0); - result += mat4(-0.024293665, 0.080889955, 0.065993495, -0.08183072, 0.15339898, -0.10386374, -0.0075264974, -0.45434427, 0.16638929, 0.18546598, -0.15133487, -0.04405705, -0.11456945, 0.023287205, 0.01540089, 0.07659333) * go_4(0.0, 0.0); - result += mat4(0.05337434, -0.07030085, -0.016662175, -0.025540289, -0.20320894, -0.22829315, 0.0023119978, -0.13647676, 0.14624248, 0.057653934, -0.23686588, -0.22728209, -0.04211661, -0.009623881, -0.013481165, -0.050968897) * go_4(0.0, 1.0); - result += mat4(-0.10351371, -0.030414786, -0.021908734, 0.10631468, 0.1558724, -0.030323582, -0.12572181, 0.14325237, 0.16137493, 0.053329308, -0.07966373, -0.14599875, 0.06742195, -0.03502627, 0.093494855, -0.016484367) * go_4(1.0, -1.0); - result += mat4(-0.010210213, -0.07126592, 0.08901449, -0.001978569, -0.0020932974, 0.05631864, -0.07674242, 0.07440119, -0.10262469, 0.06294099, 0.2640596, -0.068250656, 0.039236706, -0.05372906, -0.24834888, -0.027236471) * go_4(1.0, 0.0); - result += mat4(0.053275097, 0.12541588, 0.057327554, 0.1483746, -0.019743394, -0.004537443, -0.002553759, 0.051015604, 0.15611948, 0.0062136482, 0.15442398, -0.17060183, 0.072183914, 0.030539684, 0.122384906, 0.13613632) * go_4(1.0, 1.0); - result += mat4(-0.081967466, -0.045659952, 0.053518385, 0.038269065, -0.20554744, 0.1022743, -0.16302924, 0.11628324, 0.08677866, -0.016249105, 0.0030073056, 0.029243115, 0.09487045, -0.08571386, -0.108643636, 0.023155121) * go_5(-1.0, -1.0); - result += mat4(0.13383357, -0.14805956, -0.0026678462, 0.096683614, -0.19977921, 0.06789931, 0.11313261, -0.08059509, 0.11312805, 0.02279778, -0.028791273, 0.00220455, 0.1280279, -0.0031435476, 0.027489156, 0.22506006) * go_5(-1.0, 0.0); - result += mat4(-0.17668596, 0.056276754, 0.06092557, 0.06512077, 0.28657347, -0.16558819, -0.032547206, 0.060506567, 0.042512514, 0.012298008, -0.0840555, -0.003036976, -0.065048106, 0.01438789, -0.022174913, -0.04558888) * go_5(-1.0, 1.0); - result += mat4(0.09863285, 0.20795937, 0.022519527, 0.18537116, 0.0392277, -0.0321246, -0.026941739, -0.113379315, -0.066700965, -0.03651247, 0.0571846, -0.030824896, 0.096933104, 0.15837808, -0.0047979183, 0.27915525) * go_5(0.0, -1.0); - result += mat4(0.102253675, 0.009542945, -0.005872879, 0.16511136, 0.011185962, 0.06349425, 0.015944714, -0.070249364, 0.17597549, -0.0073095546, 0.06678522, -0.048394345, 0.07822778, 0.1582912, 0.029773576, 0.1454936) * go_5(0.0, 0.0); - result += mat4(-0.064127095, -0.13314691, -0.15525493, -0.12851773, 0.32410213, 0.11451161, -0.16337484, 0.22651163, 0.0670393, -0.010159622, 0.061997004, -0.0028491814, -0.12702557, -0.02556835, -0.030351989, -0.101927444) * go_5(0.0, 1.0); - result += mat4(-0.10687288, 0.013433122, 0.035762146, -0.07343635, -0.057016056, -0.041276235, -0.08300978, 0.0058231223, 0.014210706, 0.24323368, 0.010536771, 0.037272993, 0.14479576, 0.0013622575, 0.0004501183, 0.17661947) * go_5(1.0, -1.0); - result += mat4(0.056699157, -0.009144585, -0.20287608, -0.17288777, -0.031525977, -0.014541391, 0.09615033, -0.020868845, -0.06501473, -0.015121819, 0.20430197, -0.04346306, -0.12766391, 0.093933746, -0.027732635, 0.11136926) * go_5(1.0, 0.0); - result += mat4(-0.08438437, -0.1183074, -0.12171084, -0.016565872, 0.011952218, -0.058289453, 0.13479574, -0.0013566733, 0.20290127, 0.03338366, -0.1634658, 0.11389365, -0.060460836, 0.05049821, -0.14498705, 0.016767675) * go_5(1.0, 1.0); - result += vec4(-0.051753327, -0.07172183, 0.021211471, -0.050325148); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.20980129, 0.023968311, 0.12840137, 0.10842146, 0.011306613, 0.05415782, 0.039082862, 0.16055544, -0.019953849, -0.038693313, 0.043451615, 0.29995796, -0.04229376, -0.052874412, -0.043818697, 0.12305407) * go_0(-1.0, -1.0); - result += mat4(-0.05386288, 0.060217176, 0.115249164, -0.06499263, -0.24467815, -0.038295876, 0.1099765, 0.011418658, -0.037247434, 0.022481795, -0.022084411, 0.08719741, 0.112991996, 0.0038797192, 0.0007742727, -0.12125326) * go_0(-1.0, 0.0); - result += mat4(0.14591883, 0.0059707207, 0.10084995, 0.11218308, -0.06853006, 0.056708243, 0.03836111, 0.097718365, -0.03493398, -0.025623012, -0.05587737, -0.08457079, 0.028527644, -0.12509371, 0.10159183, -0.1373413) * go_0(-1.0, 1.0); - result += mat4(-0.070879295, 0.12866656, 0.0061003384, 0.2756249, -0.110929534, 0.08008204, 0.103428364, 0.0680596, 0.25671995, -0.20484821, 0.07494457, -0.30119568, -0.0037036634, 0.089072324, 0.08692298, 0.070883) * go_0(0.0, -1.0); - result += mat4(-0.010380239, -0.09510446, -0.082714744, -0.17768058, 0.07806542, 0.031258516, 0.22199117, -0.2503904, -0.35995534, 0.22030926, 0.31575105, 0.00959926, -0.01777953, 0.0140022775, 0.03752933, 0.09948206) * go_0(0.0, 0.0); - result += mat4(-0.041341938, -0.07633474, -0.0198307, -0.0010591226, -0.00981418, 0.054734066, 0.07465484, 0.18272892, -0.081466086, -0.016789936, 0.01381776, 0.19449398, -0.16821295, -0.17434129, -0.03367363, -0.29107878) * go_0(0.0, 1.0); - result += mat4(0.03371505, 0.0015008952, 0.038456205, 0.08681006, 0.06587572, 0.080483936, -0.046148404, 0.00034004613, -0.049788523, -0.014699005, 0.12648652, -0.08964094, -0.04100757, -0.0022513492, -0.045995962, -0.033430565) * go_0(1.0, -1.0); - result += mat4(-0.077466115, 0.055482663, 0.06427869, -0.014551742, -0.03726866, -0.050230574, 0.13511398, -0.14205348, -0.03461195, 0.031386618, 0.0590859, 0.032402404, -0.015786028, 0.086712435, 0.0989059, 0.031410974) * go_0(1.0, 0.0); - result += mat4(-0.034690183, -0.038256433, -0.011660002, 0.0063596303, 0.038892817, 0.11872877, 0.0003016667, 0.08520122, 0.0941757, 0.073596634, 0.08374554, 0.046010435, 0.0181265, -0.15729031, 0.11088375, -0.032952093) * go_0(1.0, 1.0); - result += mat4(-0.026296677, 0.15765159, -0.012793888, 0.0082718665, 0.12780726, -0.0118969055, -0.089828335, -0.24008913, 0.19047114, 0.03790669, 0.10990294, -0.14094876, 0.031807188, 0.044609103, -0.1013979, 0.008491038) * go_1(-1.0, -1.0); - result += mat4(0.053833764, 0.26152018, -0.04398908, -0.060880598, -0.028556267, -0.04798034, 0.006057095, -0.19898368, -0.24473669, 0.0472649, 0.15300584, 0.028983278, 0.028763462, -0.017422339, 0.03820097, 0.083550654) * go_1(-1.0, 0.0); - result += mat4(0.0082439445, -0.0012358675, -0.013711661, 0.07154783, 0.07983732, -0.015840268, 0.034440894, -0.04973906, -0.18109304, 0.05403726, -0.03891083, -0.016710335, 0.10012702, 0.02470262, 0.0085716015, -0.0851344) * go_1(-1.0, 1.0); - result += mat4(0.04101796, 0.060623523, 0.011851002, -0.028376777, -0.025862841, -0.042955548, -0.1211269, -0.13360673, 0.0071736956, -0.18880656, 0.276794, -0.011204949, 0.020503378, 0.0110537205, 0.10886233, -0.003678301) * go_1(0.0, -1.0); - result += mat4(-0.14220405, -0.15436499, -0.13759659, -0.03390728, 0.21921699, -0.003154918, -0.101451315, 0.043704413, -0.12738566, 0.19500181, 0.45843616, 0.065685, -0.20168468, 0.12985173, -0.02569477, 0.17067434) * go_1(0.0, 0.0); - result += mat4(0.032667797, 0.16730979, 0.004677948, -9.4643896e-05, -0.014588183, -0.057854652, 0.013125396, 0.096397184, -0.054806076, 0.010901007, 0.0968573, -0.23783323, 0.08697233, 0.008680743, -0.035573848, -0.004963115) * go_1(0.0, 1.0); - result += mat4(-0.00958006, 0.03317287, -0.01340794, -0.018926572, -0.05369498, -0.03341796, 0.030888261, -0.0010606453, 0.039325304, -0.16673934, 0.06557901, -0.08155623, -0.02527372, -0.17023365, 0.015217776, -0.040017188) * go_1(1.0, -1.0); - result += mat4(-0.015815312, -0.042971406, 0.067791514, -0.08905113, -0.09565908, 0.04346861, -0.06728161, 0.15545414, 0.18861936, -0.031062441, 0.23719235, 0.037903327, 0.07448, 0.035912767, -0.011007527, -0.01686951) * go_1(1.0, 0.0); - result += mat4(0.0177658, 0.058648083, -0.028266283, 0.074122384, -0.114152886, -0.1088884, -0.00045867384, 0.12350585, -0.028705545, 0.07543727, 0.019930601, 0.05765993, 0.030875817, -0.01684014, 0.03873862, -0.29210237) * go_1(1.0, 1.0); - result += mat4(0.13872401, 0.0026290037, 0.120320186, -0.096298255, -0.22042315, -0.024083365, 0.021574842, -0.120338276, -0.030302105, 0.0030427484, -0.048579045, 0.11119769, 0.17029862, -0.03042154, -0.008851885, -0.04858139) * go_2(-1.0, -1.0); - result += mat4(0.08693055, 0.0035178792, 0.0072182836, -0.21177882, -0.12236571, -0.041778523, -0.07611475, 0.1860772, -0.07140713, 0.079063386, 0.16111141, 0.10981697, -0.11631706, 0.00499998, 0.03531511, 0.112886176) * go_2(-1.0, 0.0); - result += mat4(0.31241155, -0.155902, 0.026360337, 0.11567123, -0.01410306, 0.043105874, 0.06448718, -0.15669721, -0.10699524, 0.14620166, -0.022471936, 0.16952698, -0.0043298705, 0.012148871, -0.06097046, 0.13138528) * go_2(-1.0, 1.0); - result += mat4(0.04631855, 0.16682167, -0.08682791, 0.031910088, -0.10863085, -0.05405996, 0.20847258, -0.25902548, -0.21886107, -0.016768524, 0.018900516, 0.016220776, 0.086765796, -0.086313486, 0.061806828, -0.042748976) * go_2(0.0, -1.0); - result += mat4(-0.22026716, -0.060322747, 0.055743527, -0.20811775, 0.15368998, -0.05755373, -0.1723089, 0.053601813, 0.3936026, -0.13520636, 0.13089643, -0.09859593, -0.08306327, 0.12936836, 0.1387318, 0.0221951) * go_2(0.0, 0.0); - result += mat4(0.14327681, -0.19199587, 0.02808416, -0.13307315, 0.12417994, -0.06954055, -0.11516412, -0.16203047, 0.085192114, 0.020538192, -0.10626918, 0.13578235, -0.042099748, 0.17358838, 0.040398534, 0.14976105) * go_2(0.0, 1.0); - result += mat4(-0.053998414, 0.12475386, -0.17873338, -0.06543859, 0.007933435, -0.07924536, -0.00051635655, -0.0015982009, 0.0397255, -0.16369022, 0.03679988, 0.100230515, -0.03289991, 0.043998964, 0.058887206, -0.09575534) * go_2(1.0, -1.0); - result += mat4(-0.0027977703, 0.17769088, -0.104156405, -0.1011918, -0.042667318, 0.19569083, 0.0944246, 0.05381444, 0.27140749, -0.12598918, 0.40728518, -0.16019246, 0.07478889, 0.07995141, -0.055247143, -0.015301875) * go_2(1.0, 0.0); - result += mat4(-0.10702615, 0.08362206, -0.12840238, 0.23424083, -0.11492997, 0.14988491, -0.058391277, -0.012141015, 0.15102027, 0.14370169, 0.04101889, 0.18302867, 0.11423182, 0.026963422, 0.02742905, 0.05555466) * go_2(1.0, 1.0); - result += mat4(0.0170646, -0.040626798, -0.086295746, -0.08303102, 0.07351082, -0.10439346, -0.09158801, 0.143845, 0.016958551, 0.21520329, 0.041720334, -0.11638024, 0.087674506, 0.12561873, -0.21283507, -0.23356001) * go_3(-1.0, -1.0); - result += mat4(-0.011983947, 0.026985325, -0.10494964, 0.045505363, 0.06308739, -0.0132794585, -0.19216236, 0.0044559645, -0.21042153, 0.026115706, -0.08442747, 0.08834091, 0.13262731, -0.06231853, -0.20550017, 0.03952042) * go_3(-1.0, 0.0); - result += mat4(-0.13586617, -0.0021369287, -0.121751934, -0.019784765, 0.03198282, -0.17328545, -0.10135551, -0.0024194748, -0.04619262, 0.21542613, -0.09846654, 0.081278816, 0.16300274, 0.01612674, -0.0033168197, -0.0257739) * go_3(-1.0, 1.0); - result += mat4(0.1674388, 0.01902311, 0.007676536, -0.12779048, 0.18292421, -0.22342151, -0.05965652, 0.14477763, -0.09779103, 0.14098361, -0.16848993, 0.19790487, 0.006252736, 0.22206211, -0.15818825, 0.08966031) * go_3(0.0, -1.0); - result += mat4(0.17080314, 0.069508895, -0.038767304, 0.18950053, -0.08592572, -0.20979418, -0.21214612, 0.3330128, 0.30952567, -0.107134975, -0.16258, 0.022875668, -0.02457244, -0.12532432, -0.24953507, 0.059734188) * go_3(0.0, 0.0); - result += mat4(-0.0018491185, 0.033706773, -0.1065624, 0.025152596, -0.016163057, -0.041699793, -0.12381229, -0.025942512, 0.13162622, 0.03565028, 0.029629026, -0.018657705, -0.1921952, 0.101777196, -0.06653633, 0.079698876) * go_3(0.0, 1.0); - result += mat4(-0.040848907, 0.013372185, -0.061049856, -0.05829793, 0.03286879, -0.23536444, -0.056496553, 0.10049081, 0.0040958193, 0.1146177, 0.05323595, -0.040001456, -0.07206396, 0.052719124, -0.11720367, 0.12925144) * go_3(1.0, -1.0); - result += mat4(0.08204122, -0.04806825, 0.03865589, -0.016993582, 0.004172861, -0.025698105, -0.01519582, 0.1425758, 0.02170024, 0.105864905, -0.03567325, -0.016229391, 0.22955607, -0.043812234, 0.045955688, 0.07391785) * go_3(1.0, 0.0); - result += mat4(0.025563411, 0.016936684, 0.054015722, -0.03440089, 0.0448358, 0.012403107, 0.011840847, -0.10125541, 0.03623299, -0.005010518, -0.043322872, -0.17361045, 0.015130423, 0.1813893, 0.0017346571, 0.07948043) * go_3(1.0, 1.0); - result += mat4(-0.027647035, -0.0092600705, -0.05360344, -0.03877652, 0.028799497, 0.002088597, -0.13616459, 0.14142619, -0.26286268, -0.10349014, -0.066500075, 0.009223449, 0.08260629, -0.037491266, 0.019173276, -0.022004724) * go_4(-1.0, -1.0); - result += mat4(0.004824502, -0.114328325, -0.0023743433, 0.027862813, -0.019098494, 0.050463524, -0.11528185, 0.22641957, -0.025532806, 0.007936803, -0.064679936, -0.055090822, 0.07407797, 0.052605998, -0.043648902, -0.16713037) * go_4(-1.0, 0.0); - result += mat4(0.078680634, 0.020991815, 0.008421187, 0.010790185, 0.032945324, 0.13025786, -0.14650385, 0.053448163, -0.0028072142, 0.039515216, 0.1282605, -0.029288173, -0.029804084, -0.13323198, -0.054916043, 0.056681957) * go_4(-1.0, 1.0); - result += mat4(-0.09560204, -0.0669099, 0.005074813, 0.09496971, 0.027659275, -0.2191003, 0.29730386, -0.022740293, -0.025892505, -0.1871456, 0.028785622, -0.12673095, 0.0664705, -0.08389141, -0.089651205, -0.15402664) * go_4(0.0, -1.0); - result += mat4(0.0063571655, 0.15680969, 0.061591282, 0.03752913, -0.041436892, 0.075064555, 0.20300192, 0.031942736, 0.0804296, -0.22194067, -0.20516422, 0.07361, -0.15353987, 0.25465, 0.008901653, 0.10683235) * go_4(0.0, 0.0); - result += mat4(-0.006734436, -0.14774522, -0.031374577, -0.1032655, 0.11299578, 0.1205544, 0.11802791, -0.0612094, 0.03863345, 0.09838008, 0.037064772, 0.029507324, -0.051219307, -0.055263996, 0.02356915, -0.16056564) * go_4(0.0, 1.0); - result += mat4(-0.06996934, -0.015304054, -0.009411581, 0.030309107, 0.10674073, -0.020733232, -0.115811616, 0.031903993, -0.049218595, -0.067377076, 0.26841155, -0.06866156, -0.09156055, -0.10751758, -0.022639344, -0.18830526) * go_4(1.0, -1.0); - result += mat4(0.020456642, -0.035503354, -0.09457199, 0.05264921, 0.24155058, 0.12630259, -0.045381807, -0.12230558, -0.03225022, 0.04103188, -0.13622516, -0.0040657576, 0.023767322, -0.051124092, 0.09194598, -0.03766687) * go_4(1.0, 0.0); - result += mat4(-0.016005656, -0.05218363, 0.029727828, -0.1604237, -0.009916855, -0.024033275, -0.14342757, 0.083073266, 0.057055146, -0.013757824, 0.15497124, -0.17284107, 0.05109579, 0.013304962, -0.06706223, 0.06251818) * go_4(1.0, 1.0); - result += mat4(0.06668304, 0.009187671, -0.047118776, 0.07131393, -0.17141497, -0.015085916, 0.004049452, -0.035744824, 0.032192133, 0.15326595, 0.044383276, 0.14035697, -0.090966456, 0.14161377, -0.015315352, 0.11275578) * go_5(-1.0, -1.0); - result += mat4(-0.13508414, 0.0785333, 0.009038879, 0.1607147, 0.22703816, 0.033339903, -0.03727777, -0.31905726, -0.069729164, 0.036481526, -0.025714623, 0.0851529, -0.12554394, 0.105045296, 0.059951913, -0.0604455) * go_5(-1.0, 0.0); - result += mat4(-0.20849659, 0.088841915, -0.1109168, -0.08992707, 0.31967592, 0.005481088, 0.22387522, 0.02098377, -0.0497405, -0.025430094, -0.0043220813, 0.060257867, -0.21568587, 0.067227446, -0.057946377, 0.06617755) * go_5(-1.0, 1.0); - result += mat4(0.076282814, -0.20857447, 0.056654572, -0.014142213, 0.029527945, -0.07234652, -0.094661996, 0.22620171, 0.042960577, 0.013866398, 0.036293183, 0.14942285, 0.076137245, -0.002794117, -0.1168563, -0.0146170305) * go_5(0.0, -1.0); - result += mat4(0.10552861, -0.15840133, -0.03899879, 0.23962662, 0.04375998, 0.1696087, 0.037471466, -0.2348845, -0.04425561, -0.09243792, -0.12540625, 0.013209438, 0.20652635, 0.28815508, -0.14443508, -0.045806926) * go_5(0.0, 0.0); - result += mat4(-0.18040875, 0.101635806, 0.022794934, 0.01974664, 0.24168968, -0.09383824, -0.05368557, 0.095760964, -0.03084522, 0.03096591, -0.025146073, -0.15247615, -0.07991138, 0.041957334, 0.13305306, 0.10435218) * go_5(0.0, 1.0); - result += mat4(-0.12386387, -0.07711658, -0.010701461, -0.15226945, 0.13125682, -0.05067199, 0.05759467, 0.06512925, -0.087202296, -0.09307128, 0.074678324, -0.118310176, 0.013819953, 0.078637935, 0.060606144, 0.024220081) * go_5(1.0, -1.0); - result += mat4(0.034386832, -0.18846357, -0.039673664, 0.113117084, -0.045039542, -0.10561991, -0.073102295, -0.3002364, 0.03678976, 0.12222279, -0.115726635, 0.07686326, 0.040241316, 0.1602316, 0.09017754, -0.115864284) * go_5(1.0, 0.0); - result += mat4(0.052414972, 0.033908065, 0.08952466, -0.17085709, 0.006635481, -0.040943716, -0.21519491, 0.04866619, -0.04725049, -0.05258961, -0.014845829, -0.26571122, 0.07195377, 0.20871797, -0.068733044, 0.15962349) * go_5(1.0, 1.0); - result += vec4(-0.07961375, -0.07668534, 0.030482467, 0.035888318); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09584929, -0.095243275, 0.08022671, 0.075294726, 0.18445255, -0.082423694, -0.097833045, -0.021506732, -0.21379599, -0.023127496, -0.18897046, 0.023956126, -0.060177475, 0.027762169, 0.19984011, -0.20838684) * go_0(-1.0, -1.0); - result += mat4(0.012249506, -0.12688737, -0.12119437, 0.10179773, -0.09664198, -0.0030920326, -0.030286502, -0.20217018, 0.34590152, -0.05034654, 0.049923953, -0.043337423, 0.25000378, -0.028680135, 0.16001691, -0.066234544) * go_0(-1.0, 0.0); - result += mat4(-0.08372182, -0.089819506, -0.013704554, 0.04556739, -0.114813834, -0.06466441, 0.03785733, -0.0062836753, 0.047535792, 0.06347279, -0.007735239, 0.049881376, 0.20055495, 0.047256388, -0.09947006, 0.0025243685) * go_0(-1.0, 1.0); - result += mat4(0.3671971, -0.05361603, -0.12586144, 0.12522058, 0.13843551, -0.06033578, 0.22667646, -0.08870703, 0.01452431, 0.17809536, 0.13784996, 0.15395631, 0.0001755052, 0.30571333, -0.14230241, -0.22773817) * go_0(0.0, -1.0); - result += mat4(-0.27697307, 0.19896318, -0.055979818, -0.27574858, 0.06590851, -0.083754696, 0.26534772, 0.04968563, 0.028200507, 0.11523887, 0.07717626, -0.037011877, 0.013540311, -0.015524421, 0.20788544, 0.16297664) * go_0(0.0, 0.0); - result += mat4(-0.13144116, -0.14546596, 0.10977632, 0.010728187, 0.025761489, -0.018065382, 0.06367839, 0.14230403, 0.12607081, -0.0124253975, 0.31784698, -0.017743418, -0.022748945, 0.05433257, 0.0031092372, -0.031199085) * go_0(0.0, 1.0); - result += mat4(0.21655789, 0.011040414, 0.06492884, 0.0706221, 0.09610853, 0.057776507, 0.009683445, -0.060912937, 0.021881321, -0.19671698, -0.0130090965, -0.013112566, -0.085476145, 0.038455218, -0.0014731084, -0.0831875) * go_0(1.0, -1.0); - result += mat4(0.37602007, 0.0823336, 0.24707538, -0.09009795, -0.017044, -0.12772176, -0.17441119, -0.042144842, 0.09458421, 0.28926283, 0.06927162, -0.06356304, 0.2206176, 0.1834394, -0.055222265, -0.13328971) * go_0(1.0, 0.0); - result += mat4(-0.12759925, -0.1872996, 0.12348925, 0.09169479, 0.2032652, 0.021332331, -0.02606638, -0.30383334, 0.11312311, -0.12563488, 0.07815656, 0.033551723, 0.073155805, 0.022491606, -0.004879681, -0.020566663) * go_0(1.0, 1.0); - result += mat4(-0.0074200626, -0.045258366, -0.11789159, 0.15158547, 0.021973789, 0.013558428, -0.06303165, -0.014261419, -0.005217678, -0.08988565, -0.032385588, -0.16513458, -0.00094591687, 0.105432004, 0.008511094, 0.064075306) * go_1(-1.0, -1.0); - result += mat4(-0.11356488, 0.033568926, -0.0035593451, -0.1380603, -0.09776493, 0.16050343, 0.14889094, -0.20236592, -0.13227837, -0.3369538, -0.08290829, -0.102781296, -0.0008081758, 0.25186548, 0.045406237, -0.08264705) * go_1(-1.0, 0.0); - result += mat4(0.012680731, 0.045382235, -0.099822015, 0.052455686, -0.017731141, 0.2148587, -0.025351917, 0.031683072, -0.25334007, 0.0181896, -0.0813112, -0.12272559, 0.04371032, 0.065688565, -0.020920211, 0.23614638) * go_1(-1.0, 1.0); - result += mat4(0.07416445, -0.1632982, 0.019079927, 0.033240702, 0.13220134, -0.09758509, -0.09742767, 0.0003053599, 0.110648625, -0.06813206, 0.10455032, -0.037899535, -0.03261096, 0.06280864, -0.17577846, -0.279448) * go_1(0.0, -1.0); - result += mat4(0.032076143, 0.00038162203, 0.01970988, -0.040755652, 0.14594907, -0.29632306, 0.18186367, 0.06210379, 0.089618064, -0.20777738, -0.11941431, -0.047921117, 0.069467194, -0.061959818, -0.097263746, 0.20329393) * go_1(0.0, 0.0); - result += mat4(0.13389389, 0.053396456, 0.15672714, 0.1585184, 0.019925753, 0.08114361, 0.1381434, 0.06507304, -0.021846443, -0.040439755, 0.028436588, -0.1502027, -0.01547767, -0.09032624, 0.1101168, -0.044395007) * go_1(0.0, 1.0); - result += mat4(-0.08236856, 0.25564417, 0.15329555, 0.054097474, 0.12049528, -0.076263994, -0.19988477, 0.01916389, 0.097000316, -0.15214846, 0.1360054, -0.0007913522, -0.22950296, 0.0919526, -0.0045635877, 0.16661373) * go_1(1.0, -1.0); - result += mat4(-0.19546251, 0.008113141, -0.08576472, 0.23981415, 0.037918933, -0.106971025, -0.19296011, 0.064365655, -0.1451187, 0.03483461, 0.03271891, -0.001744038, -0.24933495, 0.0021132312, -0.15542698, 0.041852806) * go_1(1.0, 0.0); - result += mat4(0.07619386, 0.17014128, 0.05875971, 0.056373183, 0.077981666, -0.034455027, -0.09977959, 0.019308453, -0.097891875, -0.011260777, 0.009704571, -0.091228284, 0.072402045, 0.1679339, -0.021336546, -0.078355595) * go_1(1.0, 1.0); - result += mat4(-0.10250763, 0.07651088, -0.0131817255, 0.035391405, 0.1545587, -0.005520408, 0.18242277, 0.034118786, -0.0512669, 0.09563292, -0.0063671293, 0.017505696, 0.038793128, -0.23837951, 0.047975145, 0.17773068) * go_2(-1.0, -1.0); - result += mat4(-0.0031853304, 0.1552162, 0.16779172, -0.06020084, -0.19057243, -0.13034964, -0.028302211, -0.1005563, -0.025626518, 0.087223954, 0.19338006, -0.06066401, -0.2122666, 0.001640063, 0.033021607, 0.06684525) * go_2(-1.0, 0.0); - result += mat4(0.10043514, 0.033739183, 0.01542628, -0.07931681, 0.032161597, 0.16379037, 0.050983094, -0.030686958, 0.19189216, -0.15878248, 0.01945422, -0.02624594, -0.10871623, -0.06925224, 0.020812772, 0.07386481) * go_2(-1.0, 1.0); - result += mat4(0.012129095, -0.029043682, -0.054882783, -0.04798959, 0.12916534, -0.012814343, 0.06516883, -0.054208606, 0.2625884, 0.008694777, -0.16992761, -0.041635927, 0.10295491, -0.04496253, 0.14063339, 0.15155916) * go_2(0.0, -1.0); - result += mat4(-0.09972329, -0.2031706, 0.15199123, 0.136278, -0.030424237, 0.01253304, -0.22483149, -0.04429611, -0.0058194255, 0.32650772, -0.13599585, -0.15167284, 0.13211648, 0.06883629, 0.13449487, 0.1419326) * go_2(0.0, 0.0); - result += mat4(0.16303232, -0.12681945, -0.24028221, -0.018534243, 0.048438597, 0.02196457, -0.26033646, 0.11363536, -0.23852448, -0.2250161, 0.054867614, -0.042418674, 0.036863618, 0.16061254, -0.103400566, -0.054900676) * go_2(0.0, 1.0); - result += mat4(0.0018444043, 0.047589947, 0.15244149, 0.026401952, -0.16383879, 0.2288589, -0.067270175, 0.035644963, -0.046972964, -0.079998486, -0.07510886, 0.086569756, 0.088215984, -0.08220123, 0.006012456, -0.081925176) * go_2(1.0, -1.0); - result += mat4(-0.20731804, -0.105194375, 0.1735274, -0.13702598, -0.08078456, -0.08891678, -0.20113394, 0.20032553, 0.23738097, -0.06555696, 0.0073099127, -0.24053259, -0.19441254, 0.044497594, -0.085050255, -0.45097253) * go_2(1.0, 0.0); - result += mat4(-0.015630659, 0.096795596, -0.05207522, -0.021776563, -0.052400976, 0.0060831443, 0.19417833, 0.14141484, -0.031068498, -0.031282816, -0.0053475797, 0.16884208, -0.049706176, -0.117957756, -0.122313395, -0.22831066) * go_2(1.0, 1.0); - result += mat4(-0.13027157, 0.11083156, -0.05295985, -0.13405156, -0.25512117, 0.007962338, -0.19477697, -0.043301556, 0.10253565, -0.12592895, 0.05690188, -0.03008582, -0.08713882, -0.05253795, -0.05898243, 0.07648529) * go_3(-1.0, -1.0); - result += mat4(-0.028103404, 0.107655846, 0.06792543, 0.038461875, -0.17316198, 0.045686997, -0.1318844, 0.1923057, -0.10082274, 0.023855874, 0.014650556, 0.07000885, 0.03179704, -0.17100379, 0.060464893, -0.05120159) * go_3(-1.0, 0.0); - result += mat4(-0.008488711, 0.10152624, -0.08714461, -0.054719266, -0.0132024065, 0.06630249, -0.0070151696, -0.076831385, 0.15455176, 0.065892935, 0.06491651, 0.07013989, -0.016401365, 0.1033902, -0.026735194, 0.09976299) * go_3(-1.0, 1.0); - result += mat4(-0.062281746, 0.11808364, 0.064350896, -0.077770054, -0.10968356, 0.08668185, -0.14066383, 0.020038921, 0.21482739, 0.01405822, -0.05047993, -0.098990895, 0.113971226, -0.07471277, 0.14986148, 0.087345585) * go_3(0.0, -1.0); - result += mat4(-0.06364801, -0.17296022, -0.17889057, 0.20986524, -0.022308208, -0.13067317, -0.1608613, 0.005560176, 0.18469712, 0.08284309, -0.16637094, -0.1101153, 0.0047913613, 0.085900925, -0.19173592, -0.336121) * go_3(0.0, 0.0); - result += mat4(0.32434624, -0.11097179, -0.2576656, -0.035399284, 0.12601346, 0.12047275, -0.08445279, -0.22353333, 0.275204, -0.028347714, -0.1910839, -0.105464876, -0.17244552, 0.10430915, 0.07988085, -0.024917416) * go_3(0.0, 1.0); - result += mat4(-0.38803256, 0.12614547, 0.113965005, -0.05710032, -0.2639457, 0.015134661, 0.018303871, 0.060708337, 0.18753609, 0.025863146, 0.09349249, -0.034619175, 0.078573935, 0.034479834, 0.03612244, -0.08949277) * go_3(1.0, -1.0); - result += mat4(-0.16215962, -0.030498799, -0.10899874, -0.03440776, -0.015821088, 0.029496742, 0.13228656, -0.16718344, -0.14563835, -0.17501803, -0.004510379, 0.020998359, 0.06548722, -0.13759966, 0.07444127, 0.10629099) * go_3(1.0, 0.0); - result += mat4(0.0698536, 0.23689122, -0.0060213935, -0.0015028039, 0.039947093, 0.11350835, 0.19953221, 0.08415087, 0.22800536, 0.06906256, -0.06636992, -0.24212533, -0.0023316562, 0.011869679, 0.25965255, -0.012204548) * go_3(1.0, 1.0); - result += mat4(-0.000661378, 0.10967955, 0.058565635, -0.15265211, 0.14624023, -0.03375811, 0.05981829, -0.022552123, 0.070834555, -0.022453807, 0.019191928, 0.08326683, 0.0777132, 0.08895826, 0.023328163, 0.053312927) * go_4(-1.0, -1.0); - result += mat4(0.043799512, 0.12866509, -0.046365067, 0.24239258, -0.11673964, -0.025937054, -0.12636824, 0.100062154, -0.10018257, 0.19266897, 0.06142848, -0.14361443, -0.021221312, -0.30052304, -0.20469959, 0.14677355) * go_4(-1.0, 0.0); - result += mat4(-0.015183433, -0.19820379, -0.15852103, 0.054332163, 0.0071695223, 0.084583715, 0.24957466, -0.051836044, -0.1983422, -0.08417326, 0.08057586, -0.0437153, -0.01875922, -0.09707154, -0.15741958, -0.017708866) * go_4(-1.0, 1.0); - result += mat4(-0.29747635, 0.07556405, -0.024965616, -0.035462193, 0.00015182442, 0.039648414, -0.021202678, 0.048798855, -0.057369143, -0.1613142, 0.023689339, -0.04995168, 0.02980912, -0.052541643, -0.037693493, 0.089918755) * go_4(0.0, -1.0); - result += mat4(0.13534155, -0.09769345, -0.072239734, 0.06396828, -0.067685336, 0.09630334, -0.060928572, 0.04446791, -0.08296695, 0.09350221, 0.34450835, -0.13325562, 0.017068733, 0.19159698, -0.0142695615, -0.0692556) * go_4(0.0, 0.0); - result += mat4(0.006079359, 0.12826636, -0.12040495, 0.08986504, 0.07011883, -0.1098471, 0.14756078, -0.29749495, -0.13352399, -0.19821455, 0.088539004, 0.03831198, -0.2940772, 0.19943683, -0.083427206, 0.22637546) * go_4(0.0, 1.0); - result += mat4(-0.35546607, 0.064483844, -0.19232833, -0.06884708, -0.2744395, 0.015903095, -0.18404284, 0.18437761, -0.072399296, -0.11778013, -0.109648645, 0.038300544, -0.016273083, -0.022765087, -0.18801431, 0.023174742) * go_4(1.0, -1.0); - result += mat4(-0.047155075, -0.013470263, -0.2142679, -0.07784448, -0.17944333, -0.04802458, -0.059323605, 0.06443357, -0.023670893, -0.32168958, -0.047240417, -0.04732927, 0.22192943, -0.12674028, 0.038099587, 0.047584143) * go_4(1.0, 0.0); - result += mat4(-0.036675204, -0.2955229, -0.2730817, -0.021219578, -0.22891581, 0.1896148, 0.1885584, 0.020979041, -0.115823194, -0.07042675, -0.042149916, 0.04921666, -0.0054005245, -0.12240402, -0.0031619132, 0.09292424) * go_4(1.0, 1.0); - result += mat4(-0.121177875, 0.022185382, -0.13757537, 0.110018514, 0.04366351, 0.07803729, -0.028073097, -0.070835054, -0.117744304, 0.010936038, 0.0039909417, 0.15176865, 0.14082533, -0.028780727, -0.09623105, -0.17158796) * go_5(-1.0, -1.0); - result += mat4(0.04708067, 0.09987003, -0.0011556224, -0.14066035, 0.18528107, 0.2334141, 0.031397898, 0.05785171, 0.056908704, 0.07767457, 0.10462482, 0.04132479, 0.0121364035, 0.009938317, -0.08584528, -0.067361355) * go_5(-1.0, 0.0); - result += mat4(-0.05410052, -0.0714775, -0.16306542, 0.090159744, -0.161323, -0.047408808, -0.06715019, 0.09986001, 0.2831126, 0.00576967, 0.040771786, -0.08548527, -0.09100255, 0.13035326, 0.012434338, -0.014341014) * go_5(-1.0, 1.0); - result += mat4(-0.1663156, 0.10254592, -0.050546184, 0.11586232, -0.16458654, -0.03840253, 0.20078611, -0.07851566, 0.15138014, -0.112647966, -0.01826464, 0.12073245, -0.08315027, -0.050763886, -0.15038362, -0.1131053) * go_5(0.0, -1.0); - result += mat4(0.01002309, 0.08847059, -0.20151149, -0.0035132666, -0.23968504, -0.03516418, 0.29592118, 0.064261466, 0.45611492, -0.10594028, 0.110738106, -0.096258715, -0.05207964, -0.05561078, -0.11650712, -0.3685437) * go_5(0.0, 0.0); - result += mat4(0.20816466, -0.05811231, -0.061693646, 0.07572569, 0.14781217, -0.0070261173, -0.025654003, 0.054483656, 0.057109646, 0.19076158, 0.04684541, 0.1116435, -0.09888648, -0.031974472, 0.19365066, 0.021925794) * go_5(0.0, 1.0); - result += mat4(0.03929964, 0.07849196, -0.09844016, 0.07695297, 0.14535576, -0.2121029, -0.08024618, -0.012246682, 0.34951916, -0.09691296, 0.03363421, 0.058434267, 0.003874065, 0.14535636, -0.028760154, 0.124139) * go_5(1.0, -1.0); - result += mat4(-0.0932687, 0.092196085, -0.31407887, 0.1343263, -0.27295715, 0.14278416, 0.08114481, -0.12019184, 0.11957917, -0.113183275, 0.039373737, 0.46590427, 0.13638581, -0.043146584, 0.072187565, 0.25355667) * go_5(1.0, 0.0); - result += mat4(0.123297654, 0.13584657, 0.07648451, -0.13606457, -0.16890481, 0.01590599, -0.21695235, -0.0694265, -0.2649162, 0.02908455, 0.21927917, 0.010575717, 0.0485126, 0.039509103, 0.28077808, 0.081715904) * go_5(1.0, 1.0); - result += vec4(0.04207974, -0.22892998, 0.061954536, 0.076551735); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.017371856, 0.031500984, -0.07871794, 0.07516421, -0.047120046, -0.1499491, 0.03412159, -0.11797919, 0.24790019, -0.19525756, -0.05562878, 0.0328997, 0.21224782, -0.15311961, -0.18679233, -0.021687083) * go_0(-1.0, -1.0); - result += mat4(-0.025990961, 0.12443172, 0.0647746, -0.05208365, 0.05024424, -0.15237884, -0.12913004, -0.03974524, 0.1453159, 0.105298564, -0.17882426, 0.15200019, -0.024576407, 0.024749285, -0.114573665, 0.12468399) * go_0(-1.0, 0.0); - result += mat4(0.07534002, -0.018443566, -0.07744656, -0.049855288, 0.030816372, -0.011974315, 0.05701086, 0.083947234, -0.16585147, -0.09379088, -0.090112925, -0.110042654, -0.105956376, 0.014653304, 0.041867986, 0.24255139) * go_0(-1.0, 1.0); - result += mat4(0.0044792104, -0.029270872, 0.07648775, 0.049905814, 0.014173815, -0.16794622, -0.09707847, 0.12383384, 0.06794641, -0.07997065, -0.51078653, 0.034911633, 0.13010858, -0.23383191, 0.07255915, -0.06692129) * go_0(0.0, -1.0); - result += mat4(0.21879609, -0.017210754, -0.015485283, 0.083878465, -0.26080847, 0.36907044, 0.23289536, -0.038870774, 0.06501928, 0.14246589, -0.08897723, 0.10715434, 0.3482729, 0.16240129, -0.013726439, -0.005958744) * go_0(0.0, 0.0); - result += mat4(-0.11399226, 0.18352379, 0.14817153, -0.20127603, 0.014963564, 0.1103272, -0.07205868, 0.08848388, 0.14840026, 0.018574262, -0.07972405, 0.02918892, 0.18851598, 0.074035265, -0.010895981, -0.034228772) * go_0(0.0, 1.0); - result += mat4(-0.12840563, 0.13339421, -0.042844173, 0.17029236, 0.27274412, -0.05954642, -0.07974038, -0.14359044, -0.12972996, -0.14160097, -0.22879072, 0.17341535, -0.047784876, -0.0024098, -0.066806085, 0.1451525) * go_0(1.0, -1.0); - result += mat4(0.019089594, 0.14139606, -0.16583538, 0.038803227, -0.014393993, -0.06451304, -0.0133141065, -0.22717497, -0.07594741, 0.16408369, -0.0074125547, 0.06459095, -0.13577539, -0.123973124, -0.21311697, 0.06648542) * go_0(1.0, 0.0); - result += mat4(0.2023118, 0.014515263, -0.032675546, 0.01735652, 0.16447331, -0.016542327, -0.17865558, 0.07834224, 0.016872171, -0.12725283, -0.021913532, -0.03262319, -0.11567316, -0.009686028, 0.01897474, -0.00264971) * go_0(1.0, 1.0); - result += mat4(0.02156143, 0.06127393, 0.08751492, -0.0027723024, 0.061267495, 0.22953646, 0.26134068, 0.23994948, -0.05292228, 0.11692952, 0.1014853, -0.013061857, -0.13198215, -0.08740625, 0.08896114, 0.11902029) * go_1(-1.0, -1.0); - result += mat4(0.017173437, -0.00088511547, 0.07882701, 0.059980858, -0.06255887, -0.07106743, -0.070686355, -0.111458905, -0.102210574, 0.082739465, 0.25598842, 0.010992033, -0.06413811, -0.03738569, 0.009392029, -0.047789197) * go_1(-1.0, 0.0); - result += mat4(-0.23666115, 0.07702853, 0.15348057, 0.081954665, -0.028320765, -0.15108013, -0.06386237, -0.03937426, -0.070428774, 0.046394363, 0.097939745, -0.08086774, 0.06996333, -0.048788365, 0.07915947, 0.05624496) * go_1(-1.0, 1.0); - result += mat4(-0.14345141, 0.048822183, -0.2908337, 0.013937969, -0.019703582, -0.41485405, 0.431834, 0.05884408, -0.3067431, 0.10988645, -0.014010137, 0.06143512, 0.24215294, -0.17129561, 0.11282655, 0.19824891) * go_1(0.0, -1.0); - result += mat4(-0.07530577, -0.015041713, -0.11711949, 0.060197067, 0.15375182, 0.5235449, -0.15465264, 0.055295702, -0.12753716, 0.04075088, 0.06649801, -0.08592669, -0.034694944, 0.18401965, -0.031681508, 0.086950384) * go_1(0.0, 0.0); - result += mat4(0.23155743, -0.012697523, -0.19502366, -0.09216853, -0.050312944, -0.003234684, -0.07824935, 0.09000848, -0.1604727, 0.16866255, -0.07226818, -0.04688219, 0.18855634, 0.07053166, 0.06875359, -0.082133405) * go_1(0.0, 1.0); - result += mat4(0.097153, 0.17410621, -0.07209523, 0.031690594, -0.18697138, -0.31457213, 0.12693302, 0.09791562, -0.056750435, 0.17457159, -0.014368028, 0.11140081, 0.14797364, -0.11987443, 0.010138102, -0.24108526) * go_1(1.0, -1.0); - result += mat4(0.08502398, 0.25199497, 0.033161916, 0.11686169, -0.000555042, -0.13222077, 0.019214375, -0.0740864, 0.05422655, -0.0689195, 0.07171115, -0.0063085253, -0.11293817, 0.28714395, 0.08302453, -0.297302) * go_1(1.0, 0.0); - result += mat4(0.0018131305, -0.23274079, 0.28795394, 0.10479223, 0.017336998, 0.10140653, -0.01703538, 0.0018864989, -0.19448972, 0.06781925, 0.0072297496, 0.054331925, -0.056745283, 0.0031926096, 0.08508613, -0.076465875) * go_1(1.0, 1.0); - result += mat4(-0.06579661, -0.074197, -0.07872732, -0.04833768, 0.07948355, 0.10680971, -0.038892176, 0.0026479303, -0.05120215, -0.005223787, 0.013828104, 0.033628467, -0.251052, -0.053964466, -0.04151976, -0.12170088) * go_2(-1.0, -1.0); - result += mat4(0.02224381, -0.11401214, 0.049397755, 0.1178245, 0.124475546, -0.014129338, -0.08712223, -0.110995345, 0.027189068, 0.14115846, 0.008039289, -0.077303566, 0.13120183, 0.088576116, 0.19419082, -0.19265574) * go_2(-1.0, 0.0); - result += mat4(-0.302041, -0.09488605, 0.10128198, 0.25093108, -0.05749319, -0.1325287, -0.07048078, 0.25168943, 0.24393974, 0.26709494, -0.005166187, -0.0858236, 0.098031975, -0.046012603, -0.025616428, -0.038455524) * go_2(-1.0, 1.0); - result += mat4(0.15295, -0.058367014, -0.09462144, -0.004685292, 0.061874785, 0.17379992, 0.10421289, -0.102156416, 0.07116128, 0.09785571, -0.08606482, 0.1615783, -0.10226774, -0.15573122, -0.17567602, 0.12711914) * go_2(0.0, -1.0); - result += mat4(-0.08792466, 0.32314366, -0.040461652, -0.1960407, -0.11285709, -0.14666572, -0.070970505, 0.04230559, -0.05408487, -0.2794681, -0.4155402, 0.26639655, 0.13980015, 0.12434661, -0.02678858, 0.056679014) * go_2(0.0, 0.0); - result += mat4(-0.124382794, 0.018727468, 0.20523487, -0.070906, -0.030757494, -0.10337054, 0.067943715, -0.039035156, 0.035588995, 0.14607283, -0.085760534, 0.19209209, 0.13216998, 0.16539834, 0.010052314, -0.022481022) * go_2(0.0, 1.0); - result += mat4(0.021054843, -0.15636541, 0.011583453, -0.10839945, -0.05794076, -0.053845506, 0.0063711316, 0.09400282, 0.11037196, -0.11023954, 0.07765479, 0.0063296715, -0.100950494, 0.20135373, 0.048100784, 0.1047337) * go_2(1.0, -1.0); - result += mat4(0.019294975, 0.10017591, -0.022420274, -0.024994979, 0.033118278, -0.0335541, -0.099411234, -0.051065058, 0.04019899, -0.09789642, -0.21099539, -0.051657237, 0.0537393, 0.22397718, -0.09253929, 0.0056816903) * go_2(1.0, 0.0); - result += mat4(0.13451837, -0.31405422, -0.02294345, -0.09470789, 0.011980906, -0.29736918, 0.04785323, 0.008854729, 0.0064198305, 0.1608248, -0.0063040988, 0.015922181, 0.058713753, 0.19405961, -0.0074991966, -0.056430623) * go_2(1.0, 1.0); - result += mat4(-0.030276824, 0.051418643, -0.033852484, -0.04178643, -0.09626818, 0.06430078, 0.18420494, 0.21067473, -0.20206925, 0.039089408, -0.20179388, 0.04502135, -0.079114124, -0.18990965, 0.03482791, -0.20353125) * go_3(-1.0, -1.0); - result += mat4(0.12883389, 0.01503085, 0.07740192, -0.021361377, -0.021194257, -0.2965198, 0.038358267, 0.08110664, -0.122530565, 0.002974726, -0.11742695, -0.05976367, 0.011006546, -0.0676137, 0.109357566, -0.09688377) * go_3(-1.0, 0.0); - result += mat4(-0.22074296, 0.019343395, 0.17098527, 0.21736804, -0.15512446, 0.1447234, -0.1344856, 0.051509894, -0.021283794, -0.017791564, -0.023386735, 0.15375026, 0.05583616, -0.22131743, 0.010143341, -0.113710396) * go_3(-1.0, 1.0); - result += mat4(0.12376125, 0.086540736, -0.07823014, -0.11477249, 0.071970075, 0.04002691, 0.09260781, -0.16808367, -0.07891094, -0.28984514, -0.0030400122, 0.20933042, -0.09442383, 0.27100945, 0.03393376, -0.025617108) * go_3(0.0, -1.0); - result += mat4(-0.041222293, 0.012311568, 0.13222927, 0.15650855, 0.024765523, -0.055989124, -0.02946687, -0.0066036643, -0.12604281, -0.16414027, -0.22830643, 0.0840456, -0.19442934, -0.00939128, -0.005971656, 0.027085181) * go_3(0.0, 0.0); - result += mat4(-0.23906162, -0.04003579, 0.16445775, 0.2578306, -0.08858488, -0.0009076812, 0.05893361, -0.07622802, 0.07551978, 0.16221073, -0.08075802, -0.066482686, -0.082238205, -0.07318114, -0.02384466, -0.008769857) * go_3(0.0, 1.0); - result += mat4(0.034418013, -0.04310424, 0.06940784, -0.040061995, -0.196672, 0.059436113, 0.18781166, -0.087357335, 0.17683987, -0.11832282, 0.0704508, -0.080166645, -0.10043135, 0.029797623, 0.045275707, -0.00091474655) * go_3(1.0, -1.0); - result += mat4(-0.13774432, 0.039946273, 0.010250749, -0.064292066, -0.033921324, 0.086792484, -0.06556751, 0.16063036, 0.040354285, -0.005781792, -0.06043568, 0.0456958, 0.057671502, -0.09200769, 0.05852994, -0.038263924) * go_3(1.0, 0.0); - result += mat4(0.0722641, -0.15417133, 0.0428391, -0.11669595, -0.15181269, -0.14444157, -0.05888602, -0.04931457, -0.024105387, 0.04452374, -0.19607021, 0.040299945, 0.023721624, 0.009294535, -0.12308105, -0.032013766) * go_3(1.0, 1.0); - result += mat4(0.13982506, 0.008242153, 0.007985137, -0.028785944, -0.045674372, 0.03811196, -0.006431167, 0.042959616, -0.14530565, -0.13717386, 0.15736887, -0.070945315, 0.16792078, -0.057526443, 0.11027599, -0.062423922) * go_4(-1.0, -1.0); - result += mat4(0.33995095, -0.06725867, 0.25568435, -0.1156066, 0.0073083406, 0.09118932, -0.036027674, 0.14834408, 0.0076618423, 0.048706416, -0.11109869, 0.014119505, -0.16117008, 0.055889986, 0.021106627, 0.0494479) * go_4(-1.0, 0.0); - result += mat4(0.058088336, -0.05898053, 0.28952774, 0.06457457, 0.06820624, 0.031307437, 0.040132232, -0.12814572, 0.034467205, 0.16643257, 0.13826352, -0.050465748, -0.082429856, 0.028516805, 0.10005895, -0.17591912) * go_4(-1.0, 1.0); - result += mat4(0.17962062, 0.050080433, 0.115288205, 0.07467281, 0.07438551, 0.111036986, -0.09742873, -0.23408481, -0.09974166, -0.12665741, -0.04540029, -0.03346997, 0.089152135, 0.082195945, 0.28275734, -0.24630727) * go_4(0.0, -1.0); - result += mat4(0.11799736, -0.06625111, 0.091244, -0.13702978, 0.055218194, -0.031087862, 0.06133677, -0.27246916, -0.15978532, 0.19715077, 0.051257942, 0.036602553, 0.054990616, -0.25717, 0.12677813, -0.0406006) * go_4(0.0, 0.0); - result += mat4(-0.043816347, -0.3335301, 0.19126506, -0.01086813, 0.075816035, 0.15178275, -0.07246076, -0.19391762, 0.07836278, 0.12452172, 0.09029487, -0.034167152, -0.061805293, -0.08850912, 0.08531079, 0.14093879) * go_4(0.0, 1.0); - result += mat4(0.120683454, 0.02466898, 0.19501889, -0.047962803, 0.2524244, -0.04647245, 0.23329985, -0.437865, -0.11040008, 0.05536788, 0.094667554, -0.029751923, -0.04589413, -0.24310234, 0.27122453, 0.010039841) * go_4(1.0, -1.0); - result += mat4(-0.17811799, -0.05787477, 0.10678799, -0.28424516, -0.11051176, -0.0372708, 0.20203365, 0.10050222, -0.1243157, 0.20707713, 0.14385784, 0.025799723, 0.028424745, -0.06201256, -0.1112155, 0.17677756) * go_4(1.0, 0.0); - result += mat4(-0.06334935, 0.14396226, -0.121362604, -0.30631876, -0.17723008, -0.041447658, 0.03672539, 0.1550316, 0.113435954, 0.13270019, 0.04389676, 0.016865736, 0.0027031328, 0.107943274, -0.08071779, -0.007290789) * go_4(1.0, 1.0); - result += mat4(-0.0327075, -0.02185086, -0.00093145896, -0.009849336, -0.06994606, -0.009004001, -0.2962301, -0.093587525, 0.055827085, 0.15590863, -0.1348263, -0.030768193, 0.1539244, 0.056906786, -0.046778735, 0.1293399) * go_5(-1.0, -1.0); - result += mat4(0.060477, 0.10025322, 0.034794286, -0.15556674, -0.046868246, -0.06774045, -0.0046042744, -0.028093262, -0.14673153, 0.0014603435, -0.17085737, 0.09433877, 0.06585415, -0.17430365, -0.09225927, 0.18637276) * go_5(-1.0, 0.0); - result += mat4(-0.0829445, -0.046446815, 0.01044717, -0.08179017, -0.106227055, -0.07285646, -0.118698135, -0.08691134, -0.19350386, 0.18079466, -0.0896787, -0.0054066014, 0.044900116, -0.07164249, 0.03728663, -0.071337156) * go_5(-1.0, 1.0); - result += mat4(-0.091456026, 0.0829187, 0.2184223, 0.12404674, 0.0535281, -0.0046089985, -0.1367499, 0.14318149, -0.13627648, 0.008214974, -0.035714064, -0.11221228, -0.0848333, 0.054274652, 0.12799235, -0.12235648) * go_5(0.0, -1.0); - result += mat4(0.015441998, -0.16407311, 0.29637286, 0.15780787, 0.100573234, -0.023377284, 0.19050701, 0.14114772, 0.1021301, 0.30314055, 0.08799963, 0.11630563, -0.28035656, 0.10020031, -0.009994972, -0.16998753) * go_5(0.0, 0.0); - result += mat4(-0.053246386, 0.15038243, -0.020114498, 0.019207323, -0.4546607, 0.048940018, 0.122429796, 0.14951369, 0.09936216, -0.13126904, -0.15678225, 0.101906285, 0.017061174, -0.17944153, -0.12741113, -0.13633935) * go_5(0.0, 1.0); - result += mat4(0.11258541, -0.056183632, -0.10542277, 0.048327565, -0.10695888, 0.021128727, -0.0025440033, -0.14460813, -0.2421658, 0.04799532, -0.025316745, 0.111919515, 0.133215, -0.23335934, -0.037506737, -0.12447751) * go_5(1.0, -1.0); - result += mat4(0.035608087, -0.17302564, 0.07696709, -0.18077038, -0.02534479, 0.035865046, 0.15503906, -0.07042084, 0.37430316, 0.2688597, 0.23763078, 0.26458314, 0.22778325, 0.13661247, 0.032626268, 0.10627844) * go_5(1.0, 0.0); - result += mat4(-0.14816584, 0.08924656, -0.02333901, 0.0735485, -0.17011848, -0.059921533, 0.045324218, 0.026974149, 0.15702479, 0.0067652813, 0.08584165, 0.09428486, 0.035495974, -0.07220769, -0.0524813, -0.008241412) * go_5(1.0, 1.0); - result += vec4(0.0076388572, -0.16117841, -0.21034169, -0.019341651); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.051828694, -0.14444938, -0.06172656, -0.092529796, 0.0032331774, 0.0505327, -0.092972204, 0.054304235, 0.04113735, 0.05488947, 0.27173808, 0.008734756, -0.037090253, 0.11106639, 0.1864697, -0.1308939) * go_0(-1.0, -1.0); - result += mat4(-0.0292121, 0.09739149, -0.057740077, -0.043211482, 0.00057832256, 0.122456014, 0.14004166, -0.22281875, -0.00958859, 0.012818551, 0.21724443, 0.038053658, 0.11917748, -0.0147661995, 0.15326285, -0.007842389) * go_0(-1.0, 0.0); - result += mat4(0.028475946, -0.044710767, 0.120977476, 0.024894554, 0.034071486, 0.002889187, 0.0886379, -0.13210039, 0.0254021, -0.10800576, -0.0154256895, 0.07889771, -0.026208088, -0.1735971, 0.12414827, 0.06541947) * go_0(-1.0, 1.0); - result += mat4(0.15367964, -0.016319191, -0.087988645, 0.21592557, -0.13575394, 0.07606312, 0.17890929, 0.06405638, -0.15215087, -0.31830072, -0.070441514, -9.058544e-06, 0.15286519, -0.07961882, 0.0051650982, 0.05743661) * go_0(0.0, -1.0); - result += mat4(0.14879431, 0.09249706, -0.08179524, 0.08862426, -0.04546735, 0.052125804, 0.10511877, -0.036810514, 0.19695859, 0.06919595, -0.041425765, 0.05109113, 0.16108315, -0.0006357406, -0.036482725, -0.000831584) * go_0(0.0, 0.0); - result += mat4(-0.14299406, 0.24442554, 0.08385988, -0.0018431129, 0.025425488, 0.043124236, -0.19599897, 0.2500142, 0.084921256, -0.064991206, -0.04332563, -0.20997004, -0.06825186, 0.11137002, -0.08090301, -0.06958994) * go_0(0.0, 1.0); - result += mat4(-0.17347668, -0.09592853, -0.051422764, -0.15347266, 0.19709691, 0.012748645, 0.11250177, 0.020625748, -0.12617995, -0.09576706, 0.121928014, -0.052528545, 0.06992809, -0.060379576, -0.13869223, -0.05584254) * go_0(1.0, -1.0); - result += mat4(0.040104184, -0.12147194, -0.04430197, 0.13594869, 0.09909328, 0.12928483, -0.2334865, 0.11032421, 0.064912125, -0.010493585, 0.06800239, 0.18326257, 0.019329162, -0.09916547, -0.11674449, 0.03267864) * go_0(1.0, 0.0); - result += mat4(-0.07757802, -0.018029094, 0.029337326, 0.29172876, -0.03394624, 0.02624461, -0.2849472, -0.27765557, -0.04780892, -0.019495687, -0.11718942, -0.03025127, -0.008503852, -0.076533996, -0.02296907, 0.068641014) * go_0(1.0, 1.0); - result += mat4(0.13043757, -0.06434652, -0.0690028, -0.033568893, 0.17211302, -0.029193658, 0.12456035, -0.11193319, -0.0035818655, -0.2563802, -0.12287091, 0.10766433, -0.04711406, -0.08852275, 0.0153720435, -0.14872602) * go_1(-1.0, -1.0); - result += mat4(-0.080712505, 0.11759175, -0.11220247, 0.10730683, 0.06418219, 0.00800814, -0.028890526, 0.1441286, 0.03056378, -0.0035148377, -0.120093554, 0.043768104, 0.07286328, -0.021130785, 0.09223498, 0.20331676) * go_1(-1.0, 0.0); - result += mat4(-0.09102653, -0.10116414, 0.15046883, 0.28877532, -0.011975523, -0.0068613496, -0.09103339, 0.11455707, 0.007323278, 0.08825653, -0.054251585, -0.14907618, -0.00018906803, -0.08488728, 0.036797076, -0.12455349) * go_1(-1.0, 1.0); - result += mat4(0.04010406, 0.024046177, -0.20183066, -0.06970149, -0.10715107, -0.077962436, 0.32845956, -0.2622872, -0.15997723, -0.07157501, -0.09492247, -0.00996072, -0.067652985, -0.16896474, 0.06192714, 0.019690538) * go_1(0.0, -1.0); - result += mat4(-0.10179747, -0.10023532, -0.10475995, -0.15501128, 0.017811656, 0.027858434, -0.11646674, 0.08104398, -0.12454491, 0.032985296, -0.09229711, 0.0909355, 0.0021391874, -0.051617827, -0.11611242, 0.036069512) * go_1(0.0, 0.0); - result += mat4(-0.14753185, -0.020901026, -0.0029391565, -0.14624536, -0.09374949, -0.049715783, 0.1951781, 0.22286539, -0.013287656, 0.0830378, -0.2975549, -0.13074464, -0.010272348, 0.032849077, -0.097859964, -0.1562913) * go_1(0.0, 1.0); - result += mat4(0.14641422, 0.13483211, -0.0438145, 0.08620407, 0.11926978, -0.15772878, 0.17547028, 0.15418763, 0.0097786365, 0.016791794, 0.057482373, -0.0716323, -0.061063405, 0.13135311, 0.1040161, 0.1688627) * go_1(1.0, -1.0); - result += mat4(0.11255645, 0.08840791, 0.07584055, -0.09523696, -0.1154477, -0.085963145, -0.075319275, -0.05898237, -0.14236066, 0.058508113, 0.078278095, 0.07180024, 0.19020182, 0.027219167, -0.11044013, -0.1411698) * go_1(1.0, 0.0); - result += mat4(0.1250712, -0.09155498, 0.11040472, -0.28928515, 0.06875818, -0.07716765, 0.07982134, 0.22709553, 0.08608979, 0.02659528, -0.050615177, -0.054662008, -0.016789312, 0.095084675, -0.20973809, -0.14231291) * go_1(1.0, 1.0); - result += mat4(0.009871057, 0.07234809, -0.061542578, -0.2561031, 0.17938578, 0.059759673, -0.0533506, -0.15160522, -0.06667153, 0.022478178, -0.078531526, 0.01727445, 0.032124806, -0.09959757, -0.08871009, -0.0010295251) * go_2(-1.0, -1.0); - result += mat4(-0.07400921, 0.009798935, 0.06958411, -0.14588043, 0.045884695, 0.029824348, -0.08622057, -0.03112675, -0.050385453, 0.12655865, -0.06863022, -0.21982339, -0.06292096, -0.014440884, 0.06755428, -0.114989646) * go_2(-1.0, 0.0); - result += mat4(0.054011043, -0.26510096, 0.21961565, 0.05448362, 0.06296498, -0.07182228, -0.09567859, -0.024238275, 0.005022228, 0.1626434, 0.00019249211, 0.073934935, 0.02381926, 0.025067188, -0.10400833, -0.10235642) * go_2(-1.0, 1.0); - result += mat4(0.019573225, 0.016258147, 0.014888165, -0.09950712, 0.052801423, 0.18720426, 0.13194256, -0.030186977, -0.052970573, -0.20545387, 0.0477203, 0.12807603, 0.106122404, 0.013091209, 0.037285265, -0.17009702) * go_2(0.0, -1.0); - result += mat4(-0.052872628, 0.0067698397, -0.04057391, -0.10654882, -0.08066677, -0.11518657, 0.063243456, 0.108404346, 0.006817193, -0.08499581, -0.16265164, -0.019080937, 0.27572608, -0.02719708, -0.10466762, 0.006535063) * go_2(0.0, 0.0); - result += mat4(-0.004304222, -0.23885699, 0.0007060991, -0.011653924, -0.058662247, -0.10310051, 0.19861554, -0.124969624, 0.08919569, 0.062485468, -0.07952577, 0.06357056, 0.13038754, -0.10383543, -0.12508194, 0.07526947) * go_2(0.0, 1.0); - result += mat4(0.034628194, -0.1459473, -0.12843482, -0.16211623, 0.18986839, -0.021202087, 0.030887406, 0.16012087, -0.07651755, 0.25390217, 0.100328274, -0.18489215, -0.11211924, -0.18655026, -0.12336867, 0.03715863) * go_2(1.0, -1.0); - result += mat4(0.24926607, -0.12733914, -0.16163528, -0.18980862, 0.026140725, 0.030769283, -0.08602958, -0.011363779, -0.18870075, -0.08782851, -0.019595576, 0.15859611, 0.14101227, -0.23768859, -0.11449071, -0.21400326) * go_2(1.0, 0.0); - result += mat4(-0.014345643, 0.03152331, 0.14303848, 0.068378784, -0.023709042, 0.009476213, 0.03332845, -0.043729182, -0.16312705, 0.18575506, 0.045167383, 0.089232035, 0.12431053, -0.019391764, -0.09807002, -0.19098805) * go_2(1.0, 1.0); - result += mat4(-0.0027074527, 0.08881943, 0.021618785, 0.17202215, -0.023361688, -0.12384613, 0.1257001, 0.034937408, 0.050526705, -0.21945108, -0.23475797, 0.1385765, 0.03910722, 0.08761758, -0.06185295, 0.16879226) * go_3(-1.0, -1.0); - result += mat4(0.01759655, 0.07489585, 0.06413278, -0.16355684, 0.021823732, -0.19263723, -0.021956496, 0.07322703, 0.106124505, 0.17441194, 0.016513938, -0.09815339, -0.12467256, -0.036076445, -0.09139147, -0.09947436) * go_3(-1.0, 0.0); - result += mat4(-0.027052518, -0.059014272, 0.14797378, 0.21370119, 0.033306625, 0.070152596, 0.0052737673, 0.28024423, 0.040666968, -0.069734804, 0.07771406, 0.1577554, 0.03728327, -0.01140819, 0.056443825, -0.08787925) * go_3(-1.0, 1.0); - result += mat4(-0.24540152, 0.0015005039, 0.020643666, -0.3483438, -0.11493903, -0.13617486, -0.0063642715, -0.10733139, 0.12702248, 0.20147271, 0.031689152, 0.07603208, 0.15610643, 0.16600998, -0.041932072, -0.087021336) * go_3(0.0, -1.0); - result += mat4(0.15945607, -0.019792518, 0.16893104, 0.047684517, -0.08704263, 0.019054385, -0.13532451, 0.07722914, 0.06000842, -0.053279165, -0.041631456, 0.021691417, -0.05814861, 0.0014272713, -0.2269319, 0.0764104) * go_3(0.0, 0.0); - result += mat4(-0.084321365, -0.2361291, -0.1518955, -0.15901338, -0.06990816, -0.024734944, 0.06835628, -0.21718912, -0.12289749, -0.025446652, -0.15737066, -0.010520588, 0.12629907, -0.06181239, -0.0011575993, -0.004076976) * go_3(0.0, 1.0); - result += mat4(0.012631871, 0.023027385, 0.0036474608, 0.02950606, -0.13008296, 0.098362945, 0.04146146, 0.17968152, -0.15123938, 0.09731617, -0.014078934, 0.05166318, -0.009141391, 0.08204638, 0.07045137, -0.030674614) * go_3(1.0, -1.0); - result += mat4(0.109709226, -0.02842136, -0.07762395, -0.010807984, -0.17060421, 0.0826962, 0.03507386, -0.12764347, 0.12828389, -0.051255893, -0.124972954, -0.16426642, -0.15884088, 0.07268723, -0.0030184009, -0.009351197) * go_3(1.0, 0.0); - result += mat4(-0.05924065, 0.109954804, -0.015081119, -0.30813795, 0.049611736, -0.09356052, 0.14393319, 0.2197319, 0.04127852, -0.083522744, -0.20068535, -0.1432542, 0.061216276, 0.040896352, -0.0010942877, 0.1074572) * go_3(1.0, 1.0); - result += mat4(-0.043747675, -0.09601221, -0.029208777, -0.3020336, -0.18261817, -0.076463126, 0.02404145, 0.021356242, -0.115703, 0.18811412, 0.01355199, -0.18233287, -0.164117, 0.10521931, 0.033724364, 0.045072973) * go_4(-1.0, -1.0); - result += mat4(-0.14719059, -0.12931113, 0.15695307, -0.16798888, 0.062653124, -0.12612487, -0.12454781, -0.084084496, 0.023468291, 0.027891247, 0.0042489907, -0.1077923, -0.005104954, -0.121897295, 0.08160336, 0.23735033) * go_4(-1.0, 0.0); - result += mat4(-0.06651707, -0.15773214, -0.016145034, -0.1297115, -0.05631942, 0.19243148, -0.08536315, -0.2202384, 0.024619251, 0.09842469, -0.060476214, 0.1606162, -0.06982684, 0.27481422, -0.0032873556, -0.055477414) * go_4(-1.0, 1.0); - result += mat4(0.013625612, -0.11602345, 0.13228852, -0.01016997, -0.113034405, 0.12990026, 0.008144483, 0.28583318, 0.0018612862, 0.19464394, 0.06077795, -0.05083094, -0.1419072, 0.30847812, 0.16012973, -0.043837596) * go_4(0.0, -1.0); - result += mat4(0.25535858, 0.047635876, 0.20499952, 0.14458135, -0.2067339, 0.18970652, 0.18168713, 0.089201, -0.1371205, 0.09543299, -0.048719935, -0.21094483, 0.06297616, -0.14864779, 0.24678773, 0.023468606) * go_4(0.0, 0.0); - result += mat4(-0.024188349, 0.049452, 0.119040206, 0.19403425, 0.15611161, 0.20774378, -0.10905696, -0.16743217, -0.067075364, 0.02012775, 0.031936057, 0.16447093, -0.14523768, 0.12793602, 0.21358742, 0.1580285) * go_4(0.0, 1.0); - result += mat4(0.12834404, -0.23567453, 0.0594437, 0.1590165, 0.04364869, 0.092662945, 0.19947445, 0.13371125, -0.030953676, 0.072429836, 0.00064696936, 0.05223404, -0.18505633, -0.038344953, 0.1609896, -0.027951878) * go_4(1.0, -1.0); - result += mat4(0.1615281, 0.02925065, -0.110526, 0.002472878, 0.15692636, 0.17720695, 0.08651831, -0.2926173, 0.039506726, 0.08039181, -0.125379, -0.112809196, -0.018160323, -0.15315212, 0.05300267, -0.12539586) * go_4(1.0, 0.0); - result += mat4(0.045024972, -0.026277857, -0.13403505, -0.082753636, -0.014246987, 0.08158673, -0.17446561, -0.12912557, -0.03281638, 0.12861331, -0.048045747, 0.008813668, 0.13716908, -0.1772549, 0.12983966, 0.28312683) * go_4(1.0, 1.0); - result += mat4(0.06964638, 0.0047901543, 0.09235384, 0.24047932, -0.0034995198, 0.1894994, 0.044509877, 0.08263613, 0.22042292, 0.0068810997, -0.08542091, 0.13489819, -0.017957956, -0.049517035, 0.11637685, -0.070710674) * go_5(-1.0, -1.0); - result += mat4(0.005409427, 0.2764383, 0.100069076, 0.0025022945, 0.042582463, -0.07622942, 0.1427979, 0.12527353, 0.07857632, 0.110723145, -0.091726854, 0.18400952, 0.08911038, -0.11033729, 0.025358237, -0.011007877) * go_5(-1.0, 0.0); - result += mat4(0.041533705, -0.038725346, 0.09127384, 0.10426011, -0.02070303, 0.0878809, 0.15809457, -0.009334662, -0.049823076, 0.11527338, -0.06646191, 0.03342348, 0.07330054, 0.011010275, 0.16572441, 0.059434716) * go_5(-1.0, 1.0); - result += mat4(0.01884174, 0.024791235, 0.063296616, -0.042403292, -0.12980534, -0.019906277, -0.18554951, -0.09545456, 0.17291631, 0.22148399, -0.093014, -0.07421902, -0.15626103, -0.13463756, -0.08697246, 0.18189901) * go_5(0.0, -1.0); - result += mat4(-0.027780509, 0.061554506, 0.18972316, 0.017942533, -0.012191195, 0.047828108, 0.102957085, -0.15932114, -0.13597767, 0.2235027, 0.13829249, 0.11061467, -0.20257929, -0.062691554, 0.06993067, 0.018168231) * go_5(0.0, 0.0); - result += mat4(0.0038817637, 0.053267647, -0.1002687, -0.1239985, 0.04858564, 0.059892915, -0.10344583, 0.24931516, -0.02322075, -0.07354648, 0.20486975, 0.0147269, 0.09117062, 0.0001810227, 0.0011455072, -0.1166342) * go_5(0.0, 1.0); - result += mat4(0.026433034, -0.010127757, 0.1411767, 0.12108788, -0.16191758, -0.06574798, -0.027283505, 0.052705772, -0.09186127, -0.05113535, -0.008512441, 0.06438505, 0.07150241, 0.096780665, 0.14615399, 0.043888208) * go_5(1.0, -1.0); - result += mat4(-0.07171402, 0.053826947, 0.1817855, 0.15776771, 0.020122573, 0.014001945, 0.107657574, 0.06755519, -0.16229364, 0.025698826, 0.19443901, -0.18386869, -0.112747826, 0.19832937, 0.032073986, 0.07755969) * go_5(1.0, 0.0); - result += mat4(-0.0017903978, 0.017006857, -0.154056, -0.12544118, -0.17143774, 0.11694203, 0.046639796, -0.13699242, 0.1032892, -0.16337542, 0.20032221, 0.30423567, -0.09217524, 0.03736137, 0.06391171, 0.18111771) * go_5(1.0, 1.0); - result += vec4(0.11033049, -0.073737, -0.013228117, 0.01553484); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0041438183, 0.087629646, 0.02373779, -0.008705929, -0.06460613, -0.079614826, 0.20589171, -0.21300887, 0.06673036, -0.14301205, 0.0005478004, 0.10480311, 0.16944528, -0.023095177, -0.04593122, 0.031710908) * go_0(-1.0, -1.0); - result += mat4(0.24273445, 0.1350743, -0.050578117, -0.006424492, 0.024859063, 0.017022807, -0.054993033, -0.13135757, -0.11061301, 0.0006009131, -0.012896671, -0.029120278, -0.09564777, -0.15695906, -0.008574818, 0.0022726357) * go_0(-1.0, 0.0); - result += mat4(-0.11845177, 0.044411838, -0.02478517, -0.016679568, 0.2842885, 0.05566886, -0.020992488, 0.33000243, -0.045738284, -0.08624307, -0.0029711786, 0.06983461, 0.16860297, -0.08496602, 0.0026587378, 0.1191108) * go_0(-1.0, 1.0); - result += mat4(0.08942806, -0.13266312, 0.050555114, 0.044336855, 0.04668655, -0.17912517, 0.09872363, -0.05689603, -0.04764076, 0.09976931, 0.026714336, -0.12177113, 0.10121553, 0.19926491, -0.013922513, -0.062807985) * go_0(0.0, -1.0); - result += mat4(-0.11948707, -0.19019963, -0.09910906, 0.015228854, 0.19573943, 0.18543078, 0.37633705, 0.0899833, -0.058247276, -0.06500262, -0.0968551, 0.3980007, -0.13930885, 0.031145731, 0.18868047, 0.20646492) * go_0(0.0, 0.0); - result += mat4(-0.27454132, 0.037422657, 0.060829625, -0.15062498, 0.22120185, -0.020640798, -0.15796806, 0.30988604, 0.117011115, -0.11581356, -0.105670854, 0.34526885, 0.09709533, -0.1335589, -0.061150175, -0.023490202) * go_0(0.0, 1.0); - result += mat4(-0.0064297495, 0.053259544, 0.061699186, -0.1023013, 0.13206881, 0.08598005, 0.042804673, -0.036392808, -0.022715596, 0.3187674, -0.043576453, 0.089301124, 0.010875903, -0.045669887, 0.13546628, -0.041321605) * go_0(1.0, -1.0); - result += mat4(0.033168443, 0.07130571, -0.06795218, -0.094012216, 0.09050034, -0.16879193, 0.18427128, 0.19835915, 0.014528693, 0.22958101, -0.012955512, 0.14033306, 0.10309811, 0.03351618, -0.100021325, -0.026367364) * go_0(1.0, 0.0); - result += mat4(-0.40170196, -0.10989097, 0.06447425, -0.19903958, 0.030508196, -0.09201532, -0.1493947, -0.0039443234, 0.16646437, -0.004893318, 0.030999044, 0.22652404, -0.1360666, -0.14109057, -0.124136284, -0.07020125) * go_0(1.0, 1.0); - result += mat4(-0.35415915, 0.078341804, -0.20908163, -0.032414813, -0.17489177, -0.10121671, -0.0123754265, -0.0074867755, 0.20203647, 0.2981116, 0.4581744, -0.10773967, -0.14040758, -0.1311706, 0.2421585, -0.05221277) * go_1(-1.0, -1.0); - result += mat4(0.32388586, 0.121117495, 0.17030708, -0.09672408, 0.10174964, -0.089880064, -0.053550195, 0.07492085, 0.36688468, 0.39096692, 0.27509093, -0.09113504, 0.18473786, -0.030729344, -0.022813018, -0.07951988) * go_1(-1.0, 0.0); - result += mat4(-0.10802985, -0.09921729, -0.083578154, 0.09941307, 0.15204535, 0.0048476397, 0.037141923, 0.072919704, -0.039613035, 0.0011554313, 0.029029889, -0.115339264, -0.2606713, 0.017305905, -0.032651994, -0.1710926) * go_1(-1.0, 1.0); - result += mat4(-0.09530024, 0.08035671, -0.094462946, 0.04531403, 0.116854094, -0.039871104, 0.101754196, 0.07071469, -0.09344735, 0.2224399, 0.31438616, -0.1031509, -0.087050706, 0.023629284, 0.30222768, 0.087091036) * go_1(0.0, -1.0); - result += mat4(0.32540318, -0.123871066, 0.09114808, 0.20059493, 0.13602751, -0.294147, 0.028020037, 0.10215196, 0.14379483, -0.08321783, -0.06476323, 0.039079703, 0.11145182, 0.047562934, -0.0320396, 0.17505427) * go_1(0.0, 0.0); - result += mat4(0.117524795, 0.063353635, -0.08187684, -0.02796676, 0.11098208, -0.02517451, 0.052513797, -0.18859608, -0.25639486, 0.17382553, 0.053182043, -0.09802817, -0.08900308, 0.021651518, -0.07654097, -0.111615546) * go_1(0.0, 1.0); - result += mat4(-0.12933804, 0.0012732261, -0.045028616, 0.06224205, -0.00047467486, -0.26893324, 0.14208493, 0.027069936, 0.16365767, 0.30192706, 0.23923144, -0.105405785, -0.0021433597, 0.14549361, 0.05767389, -0.10113342) * go_1(1.0, -1.0); - result += mat4(-0.07045147, 0.13409013, 0.023928098, 0.045560613, 0.103115976, -0.066133045, 0.12823656, -0.01629772, 0.13711633, 0.27451962, 0.12717873, -0.084038205, 0.12807854, 0.110353716, -0.06848678, 0.056276537) * go_1(1.0, 0.0); - result += mat4(0.16927746, 0.111806795, 0.023252549, -0.12235242, 0.15292254, 0.061406262, 0.06284062, -0.11671832, -0.02885994, 0.12882869, -0.048748255, -0.14202079, -0.08404155, 0.03453428, -0.060811, 0.18254602) * go_1(1.0, 1.0); - result += mat4(-0.011917425, 0.023498498, 0.0072831116, -0.05328629, 0.3426947, 0.08741361, 0.35501662, 0.045255594, 0.08008512, -0.002467051, -0.053357143, -0.05487847, 0.15113881, -0.050046794, -0.036305785, 0.06071048) * go_2(-1.0, -1.0); - result += mat4(-0.012859317, 0.06900528, -0.08498363, -0.08625659, -0.094864994, -0.04425656, -0.0071134693, 0.07542594, -0.08952303, -0.14963494, 0.115062006, 0.073727705, -0.06841927, 0.030572297, -0.060809616, -0.14095046) * go_2(-1.0, 0.0); - result += mat4(0.29680476, -0.070317306, -0.056082696, 0.27471995, 0.109471574, -0.012238972, 0.16928561, -0.12685184, -0.100722544, 0.116650775, 0.054211635, -0.06463175, -0.13047734, -0.070404656, -0.08516014, -0.11477897) * go_2(-1.0, 1.0); - result += mat4(0.058439, -0.1555504, -0.096580744, -0.024473842, 0.090628244, 0.04928509, 0.02740108, 0.0077335024, 0.026813101, 0.065165296, -0.059121966, 0.08125537, 0.16700324, -0.16615666, -0.14588222, 0.00048067764) * go_2(0.0, -1.0); - result += mat4(-0.053213652, -0.16659884, -0.09036764, 0.010975479, -0.11077762, 0.11982606, 0.02579046, -0.13114569, 0.17622563, 0.023344778, 0.080385335, -0.08998645, -0.18493009, -0.048734408, 0.010119995, 0.12936613) * go_2(0.0, 0.0); - result += mat4(-0.08402194, -0.16797844, -0.01022614, 0.09084325, 0.24871092, 0.13302508, -0.1210408, -0.04133277, -0.08691682, 0.02221635, 0.12621205, -0.15186077, 0.19762659, -0.10951936, -0.19129583, 0.21391307) * go_2(0.0, 1.0); - result += mat4(-0.1687245, 0.16445398, -0.06853974, -0.086989194, -0.14615493, -0.009716202, -0.088772245, 0.13583103, -0.08530893, -0.09424376, -0.12971476, -0.02487141, -0.1094553, -0.04473294, -0.27410263, 0.043002244) * go_2(1.0, -1.0); - result += mat4(0.03290918, -0.006952538, -0.12306263, 0.027640607, -0.025346387, -0.09620494, 0.116112545, 0.10227404, 0.03813908, 0.16176395, 0.47203362, 0.047157902, -0.10830938, -0.0019050312, 0.3620803, -0.069925636) * go_2(1.0, 0.0); - result += mat4(0.0020446004, 0.16054538, 0.12809694, 0.0069585256, 0.11748204, -0.011759154, -0.12903488, 0.29380128, 0.21712495, 0.068177566, 0.059223883, 0.10227324, 0.3817376, -0.11270308, 0.0073445877, 0.21012813) * go_2(1.0, 1.0); - result += mat4(-0.199299, -0.040114038, -0.15849929, 0.0057354206, 0.19681698, -0.107773945, -0.04031948, 0.12012136, -0.22728048, 0.045971204, -0.12776788, 0.025411135, -0.2745491, -0.113476306, -0.015801609, 0.008725868) * go_3(-1.0, -1.0); - result += mat4(-0.28201059, -0.069104806, 0.015983578, -0.103806704, 0.121411614, -0.09251776, -0.08143648, 0.21460037, -0.07785157, 0.101122744, 0.013448072, -0.023710037, -0.0358346, 0.1328456, -0.02043331, -0.06159447) * go_3(-1.0, 0.0); - result += mat4(0.06781508, -0.072408475, 0.083291575, 0.040496554, 0.04679973, 0.12705597, 0.06562132, -0.04938638, 0.21427007, -0.004967686, -0.08138591, 0.033386033, -0.048481766, 0.076613255, 0.21033032, -0.05062305) * go_3(-1.0, 1.0); - result += mat4(-0.21217471, 0.13806537, 0.04606568, -0.13743265, 0.1806969, -0.085699804, -0.06342818, 0.1660658, -0.0026293355, -0.02128403, -0.0046605268, 0.008235694, -0.1171583, -0.24562967, -0.28818226, 0.12968758) * go_3(0.0, -1.0); - result += mat4(0.17914222, 0.12522437, -0.14189677, -5.616129e-05, 0.21868588, -0.24404518, -0.12704019, 0.25512457, 0.11127853, 0.043490496, -0.0034969563, -0.1935092, -0.12618113, 0.15022264, 0.10067992, -0.15296605) * go_3(0.0, 0.0); - result += mat4(0.059839483, -0.07332882, -0.0026434374, 0.22739156, 0.04557501, -0.03867732, 0.21676865, -0.058800567, 0.006406612, -0.011612252, 0.009007284, 0.059830897, 0.1614946, -0.07674529, -0.0385602, 0.39797354) * go_3(0.0, 1.0); - result += mat4(-0.1981268, -0.1361051, -0.06161995, -0.002189435, -0.0014002474, 0.126129, 0.023376467, 0.09703216, 0.10666224, -0.23168142, -0.018159337, 0.042339746, 0.12584367, -0.011922057, 0.10902402, 0.15436263) * go_3(1.0, -1.0); - result += mat4(0.0027595635, -0.10197207, -0.034429558, 0.06667168, 0.33573776, -0.099396594, -0.07997797, 0.08387646, 0.0951511, -0.16234699, -0.14867416, 0.00735437, -0.09362014, 0.0664804, 0.27731436, 0.37119982) * go_3(1.0, 0.0); - result += mat4(0.2548695, 0.028097544, -0.0022558135, 0.026973823, 0.1884029, -0.07246545, 0.21642277, 0.026800772, -0.19520886, -0.0009553605, 0.0062482627, -0.16592918, 0.48447585, 0.086303264, -0.05490935, 0.378503) * go_3(1.0, 1.0); - result += mat4(0.1574428, 0.035142746, 0.079227954, 0.100714244, 0.11136245, 0.11895534, 0.009833678, -0.001039115, -0.069387674, -0.010426503, -0.10678969, 0.101909705, -0.031729374, 0.15894724, -0.23622003, -0.011815657) * go_4(-1.0, -1.0); - result += mat4(-0.17458418, -0.120001495, 0.09203402, -0.002166517, 0.0031753816, 0.12831944, 0.16465144, -0.06330301, -0.24267045, -0.12281286, 0.052246343, 0.02494283, -0.18964235, 0.058346782, 0.0025673895, -0.01121613) * go_4(-1.0, 0.0); - result += mat4(0.115957834, -0.060228895, 0.009079297, -0.040949136, 0.014297083, 0.036444042, 0.12076215, -0.1402084, 0.09574682, -0.06670408, 0.029599207, 0.04741757, 0.01102373, -0.05027519, 0.13449037, -0.099299684) * go_4(-1.0, 1.0); - result += mat4(-0.029986456, -0.045808725, -0.05172542, -0.10101369, 0.03663162, 0.039696075, -0.08842631, -0.117827855, 0.1347963, -0.007392197, -0.05730133, -0.04402969, 0.13403495, 0.28114837, 0.17730127, -0.07764935) * go_4(0.0, -1.0); - result += mat4(-0.34972468, 0.006863505, -0.068723604, -0.30767044, 0.12904535, 0.0763381, -0.037620995, 0.028365362, -0.08700267, 0.2257665, 0.14819853, -0.16082688, 0.0929386, -0.0062676766, 0.17218679, -0.16327891) * go_4(0.0, 0.0); - result += mat4(-0.17909175, -0.09134105, -0.0057606776, -0.083825834, 0.1443505, 0.1877781, 0.02841784, 0.1146964, 0.3169764, 0.018749984, 0.19640554, -0.0014817682, -0.27608246, -0.080467306, -0.13688186, -0.06578604) * go_4(0.0, 1.0); - result += mat4(0.02515703, -0.03203328, 0.06439871, -0.06689986, -0.004256959, 0.17631707, 0.042148568, -0.088977, 0.07314368, -0.18564323, -0.11051338, -0.032011528, 0.3711881, 0.495717, 0.21411352, -0.0066381986) * go_4(1.0, -1.0); - result += mat4(-0.05550901, 0.06970293, -0.06802052, -0.022730853, 0.0143414615, 0.096654266, -0.045230158, 0.03669965, -0.08298829, -0.1573773, 0.12953721, -0.042050414, 0.04308049, 0.11458007, 0.0072063627, -0.18453878) * go_4(1.0, 0.0); - result += mat4(-0.16849747, 0.051144414, 0.020992253, -0.09341655, 0.05105659, 0.042700652, -0.06062117, 0.13699457, 0.2397991, -0.009917461, -0.059426248, 0.09855892, -0.28842947, 0.1404379, -0.022812406, -0.23883702) * go_4(1.0, 1.0); - result += mat4(0.10231295, -0.05687462, 0.05454633, 0.1353426, 0.1760176, -0.11181645, -0.31677356, 0.06983046, 0.13605112, 0.17754814, 0.3348445, -0.1652707, -0.061019715, 0.1773025, -0.30495015, 0.11278704) * go_5(-1.0, -1.0); - result += mat4(0.13603285, 0.10336861, -0.023782251, 0.13608527, -0.4052799, 0.14841305, -0.25663885, -0.012108956, 0.28822663, 0.04447834, -0.05276655, -0.18212605, -0.20188917, 0.10997185, 0.06183931, -0.055857945) * go_5(-1.0, 0.0); - result += mat4(-0.2237108, 0.24488361, 0.18851626, -0.07019121, -0.021184865, -0.0499757, 0.026765132, -0.09804875, -0.011333142, -0.108678274, 0.040759776, -0.037615996, 0.14195605, -0.17333975, 0.09601836, 0.14565407) * go_5(-1.0, 1.0); - result += mat4(0.12259593, 0.27562442, 0.24215461, 0.14960998, 0.08186383, -0.010550085, -0.019250091, -0.014648717, 0.14972208, 0.14603175, 0.10073407, -0.1225431, 0.1675907, 0.038280413, -0.06087625, 0.0130648045) * go_5(0.0, -1.0); - result += mat4(0.30968392, 0.11772451, -0.08816913, 0.12534001, -0.050786596, -0.21509898, -0.04253493, -0.04734682, 0.13719988, -0.09571686, -0.3094301, -0.08568065, -0.10093176, 0.024763435, 0.18954168, -0.227629) * go_5(0.0, 0.0); - result += mat4(-0.22520582, 0.18443918, 0.14025666, -0.18477283, -0.12125983, 0.010999684, -0.0024025543, 0.24120031, -0.13416757, 0.01567192, -0.013440386, 0.17282273, 0.16098748, -0.02793626, 0.15618294, -0.0131627675) * go_5(0.0, 1.0); - result += mat4(0.23410907, 0.019564115, -0.0076426617, -0.09377979, -0.47939178, -0.06636784, -0.0011904492, -0.09345677, -0.14794281, 0.25343522, -0.21156238, -0.01817268, 0.12250443, -0.0032213917, -0.19294205, 0.026571818) * go_5(1.0, -1.0); - result += mat4(-0.066518046, -0.011708588, -0.007350381, -0.16976248, 0.09265956, 0.08236158, 0.12594578, 0.021188073, -0.2299054, -0.12767331, -0.098674, 0.035027504, -0.1722649, -0.15037538, 0.037455063, -0.027518287) * go_5(1.0, 0.0); - result += mat4(-0.040520877, -0.17789118, 0.0535865, -0.15534161, 0.09352957, 0.11459578, -0.15315403, 0.04562035, -0.0015360791, 0.047871828, -0.021276174, 0.35346803, -0.10936083, 0.057735037, -0.089098595, 0.0057320776) * go_5(1.0, 1.0); - result += vec4(-0.12162919, -0.00032382424, 0.025486631, -0.09447538); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.024318032, 0.062261496, 0.028226431, 0.063416876, -0.122350864, -0.0113668, 0.061698295, -0.22892742, -0.21282825, -0.30799037, -0.020646222, -0.21302511, 0.050188534, -0.03943688, -0.078553416, 0.010918215) * go_0(-1.0, -1.0); - result += mat4(-0.0064165345, 0.082449056, -0.03667216, 0.026472934, -0.021514278, 0.17880541, 0.39611253, -0.17107382, 0.06770686, -0.053641487, 0.002025645, 0.09812659, -0.07990987, -0.08550891, 0.00025631645, -0.10817648) * go_0(-1.0, 0.0); - result += mat4(-0.11507329, -0.06074527, 0.007052484, 0.015466066, 0.0675046, 0.28604895, -0.020563968, 0.04284168, -0.10729741, -0.103069924, 0.028218608, 0.2833194, 0.11628834, -0.06599205, -0.10394839, 0.13991328) * go_0(-1.0, 1.0); - result += mat4(0.14225487, 0.08203055, 0.027650036, 0.1459416, -0.013772616, 0.23131026, 0.044769842, 0.27454084, -0.047555555, 0.05384277, -0.09042822, -0.16309428, 0.040359538, 0.19854581, -0.026278, 0.1577506) * go_0(0.0, -1.0); - result += mat4(-0.0091988975, -0.05603158, 0.08112747, 0.014755933, -0.50124913, 0.26424783, 0.1621611, -0.3766593, 0.15138763, 0.08449643, -0.16496105, 0.42882624, -0.010958174, 0.09773749, 0.22436622, -0.09687365) * go_0(0.0, 0.0); - result += mat4(-0.019358287, 0.025669195, 0.290994, 0.02750369, 0.28040195, 0.24038815, 0.08250993, 0.021609074, -0.040725835, -0.19103482, -0.10284562, 0.022636155, 0.050841074, 0.0030245516, -0.23331137, 0.15245193) * go_0(0.0, 1.0); - result += mat4(0.0992156, -0.09854949, 0.075423576, 0.008634914, 0.062402267, -0.22020867, -0.07628636, -0.055416584, -0.10278129, 0.117922865, 0.13292609, -0.011894427, 0.16825698, -0.036205966, 0.1424532, 0.10553304) * go_0(1.0, -1.0); - result += mat4(0.19908716, -0.12244845, 0.01669312, -0.01248478, -0.009518143, -0.08615178, 0.39116043, -0.52616054, 0.11156954, -0.115720086, -0.07697886, 0.23553406, 0.017087052, 0.016129963, 0.24723524, -0.11207272) * go_0(1.0, 0.0); - result += mat4(0.033391032, -0.1495619, -0.09304159, 0.30421168, 0.13344899, -0.31858364, -0.081601165, 0.13551356, 0.032184854, 0.016566517, -0.16247925, 0.034869343, 0.04001544, -0.08231552, -0.18482871, 0.19266751) * go_0(1.0, 1.0); - result += mat4(0.21768865, 0.012509539, -0.16523208, 0.22101055, -0.017112812, 0.12730962, -0.066268146, -0.05613703, 0.021577986, 0.24617495, 0.15244165, -0.08514145, -0.10427943, 0.17322995, 0.25568137, -0.015480765) * go_1(-1.0, -1.0); - result += mat4(0.07753385, 0.021704786, 0.23479357, -0.21051238, -0.009220801, 0.20936434, -0.077434614, -0.09195854, -0.34075132, 0.17316882, 0.11968564, -0.021970788, 0.15152359, 0.28213486, 0.07805407, 0.099207774) * go_1(-1.0, 0.0); - result += mat4(0.054490507, 0.07500978, -0.08916167, 0.22030471, 0.07036594, 0.1673276, 0.01864345, 0.0027516915, -0.39270175, -0.03433242, -0.17433889, -0.18174602, 0.044357035, -0.04678205, 0.11330789, 0.047382314) * go_1(-1.0, 1.0); - result += mat4(0.07965972, -0.2201543, 0.18386759, -0.080045894, 0.04141404, -0.027790288, 0.032212794, -0.021278335, -0.070643224, 0.05221597, -0.06377366, 0.065172255, -0.18978727, 0.092385, -0.17461243, 0.2500567) * go_1(0.0, -1.0); - result += mat4(-0.048105214, 0.43421936, -0.11871231, -0.12232125, 0.06071036, -0.07797472, -0.13819577, -0.14363539, -0.003262046, 0.05031809, -0.103945084, -0.22375908, -0.36861306, 0.25518808, 0.04773121, -0.22608627) * go_1(0.0, 0.0); - result += mat4(-0.094031096, -0.011887294, -0.08532428, 0.112617865, 0.06823757, 0.21326852, 0.109153405, -0.3117106, -0.22819358, 0.123445965, -0.066512406, -0.21115267, -0.080148704, 0.12793726, -0.20465335, -0.104592934) * go_1(0.0, 1.0); - result += mat4(0.045067977, -0.2181705, -0.0677207, 0.13714351, -0.098488234, 0.19015153, -0.09273758, -0.0746141, 0.032907944, -0.006554721, 0.045943078, -0.2017389, -0.07914341, -0.085856505, -0.22186919, -0.049897686) * go_1(1.0, -1.0); - result += mat4(-0.10116989, -0.10004126, 0.09973816, -0.056045264, -0.18085082, 0.105252974, 0.11094914, -0.27471054, 0.20055285, -0.15355913, -0.080244385, -0.07118461, 0.02517136, -0.09862167, 0.22725868, -0.06279268) * go_1(1.0, 0.0); - result += mat4(0.10015747, -0.22263162, -0.014078088, -0.08387323, 0.005140913, 0.03506062, 0.18977262, -0.1479168, -0.03378466, -0.15656684, -0.061233502, -0.21884726, -0.24339373, -0.06372294, 0.12688471, -0.10735916) * go_1(1.0, 1.0); - result += mat4(0.033982676, 0.05078853, -0.1282201, -0.0035882539, 0.08219379, -0.0116551975, 0.22077334, 0.04950106, -0.08306263, -0.03258243, -0.09699666, 0.09209884, 0.24061108, -0.040557686, 0.070444405, 0.28183722) * go_2(-1.0, -1.0); - result += mat4(-0.17872535, -0.13406444, -0.034040287, 0.03047437, -0.06435232, -0.24566554, 0.0670411, -0.024581233, -0.107877605, 0.08638364, -0.25626892, 0.044232026, 0.060273834, -0.16846469, 0.43043453, -0.1603817) * go_2(-1.0, 0.0); - result += mat4(-0.22682182, 0.15527044, -0.08887372, -0.043433297, 0.028202614, -0.1919475, 0.2581379, -0.28678998, 0.040917493, -0.023046691, 0.20005395, -0.103288084, 0.009493088, -0.018459544, 0.081757404, 0.054610446) * go_2(-1.0, 1.0); - result += mat4(-0.022377692, 0.008678131, -0.1065251, 0.2628791, -0.009904344, 0.10677991, -0.040256146, -0.116764925, 0.03182517, 0.11810951, -0.052380614, 0.30170968, 0.2569954, -0.17379415, -0.007437352, -0.13248402) * go_2(0.0, -1.0); - result += mat4(0.1602437, -0.097451374, -0.010258972, 0.12651087, -0.0061891475, 0.078265965, 0.08754248, -0.14903383, -0.07830899, -0.08898991, -0.058010247, 0.23148704, -0.3695693, 0.18824111, -0.07988307, -0.05880814) * go_2(0.0, 0.0); - result += mat4(-0.22253856, 0.26592886, -0.03350701, -0.14712897, -0.12118757, 0.19663027, 0.031479847, -0.1554313, -0.028078854, 0.47659087, 0.12390117, -0.11238944, 0.037422795, -0.049916733, -0.2926893, 0.16435196) * go_2(0.0, 1.0); - result += mat4(0.075061694, -0.24045657, -0.047069702, -0.09982952, 0.2340634, -0.33556157, -0.037818547, 0.15286541, 0.14214562, 0.02267143, 0.09929496, -0.055981826, 0.21834296, -0.19831084, -0.16977312, 0.08182871) * go_2(1.0, -1.0); - result += mat4(0.01741376, 0.08985922, 0.16625583, -0.097267725, 0.17712043, -0.068722576, 0.07060928, 0.09168345, -0.16337997, -0.038742293, -0.04963981, 0.15612502, 0.11807448, -0.08807022, 0.101155974, -0.5563793) * go_2(1.0, 0.0); - result += mat4(-0.27598697, -0.062920116, -0.08726363, -0.12058882, -0.07664108, -0.032059796, -0.25070706, 0.030094638, -0.1160773, 0.19200212, 0.18899699, -0.18259315, 0.24458873, 0.12005026, -0.4616454, 0.27545306) * go_2(1.0, 1.0); - result += mat4(0.15272795, -0.23518732, 0.030445633, 0.088528365, 0.055305615, -0.12609963, 0.15926869, -0.22551426, 0.040562432, 0.124508515, 0.124815956, -0.0953939, 0.14920413, 0.14798881, -0.14428794, 0.37141335) * go_3(-1.0, -1.0); - result += mat4(0.12783955, -0.0540082, 0.014302729, 0.1365942, 0.10768764, -0.16831467, -0.079203665, 0.1425581, 0.019629346, -0.1027023, 0.15957874, -0.29757223, 0.26533285, -0.15765496, 0.35999995, 0.025803005) * go_3(-1.0, 0.0); - result += mat4(0.29036346, 0.26730424, 0.12511441, -0.061552685, -0.16372615, -0.026372833, 0.14069465, -0.24948902, 0.028215056, 0.254545, -0.19650677, 0.09530049, 0.055034224, -0.009660105, 0.39131105, -0.11131454) * go_3(-1.0, 1.0); - result += mat4(-0.0675603, -0.24606612, 0.0658764, -0.04487242, -0.0043948023, 0.04578745, 0.065714814, -0.12173881, 0.06062957, -0.04769831, 0.017330103, -0.074727364, -0.25047338, -0.30126756, -0.0830633, 0.019802446) * go_3(0.0, -1.0); - result += mat4(0.19933821, 0.08052119, -0.058912043, 0.31624097, 0.18705179, 0.023470681, -0.03783429, -0.04163007, -0.09845593, -0.12975362, 0.2510535, -0.32808807, -0.23654252, 0.3028382, -0.19675751, -0.030597644) * go_3(0.0, 0.0); - result += mat4(0.09338011, -0.0415115, -0.22497573, -0.0028536345, -0.19024974, -0.1604205, 0.115466096, -0.2525424, -0.063761264, -0.20588842, 0.08622651, -0.00097166066, 0.10169425, 0.252253, -0.06758796, 0.23335451) * go_3(0.0, 1.0); - result += mat4(-0.04426442, 0.1095582, -0.085856594, 0.13048999, -0.12778096, 0.2613617, -0.045577575, -0.1526907, 0.1257047, -0.111831486, -0.059892397, 0.15280181, -0.12673315, -0.05033893, -0.2930266, -0.46015793) * go_3(1.0, -1.0); - result += mat4(-0.11951625, 0.03414521, -0.11969193, 0.1869847, 0.111495204, 0.080608666, -0.20057446, 0.10785576, -0.049578592, 0.016259808, 0.0058614444, -0.045524042, 0.0319529, 0.05456559, 0.007678947, 0.33595043) * go_3(1.0, 0.0); - result += mat4(0.10240467, 0.18299319, 0.05753473, -0.02340504, -0.16686855, 0.21292439, 0.11702374, -0.30564633, -0.024081768, -0.088019624, 0.22313595, -0.06672843, 0.055274762, 0.13347326, -0.030782074, -0.35677573) * go_3(1.0, 1.0); - result += mat4(-0.075412944, -0.11053347, 0.07465402, -0.014327975, -0.13390768, 0.009061153, 0.027920425, -0.005080267, -0.04721174, -0.06812053, -0.08845801, 0.109399185, -0.04021429, 0.03812722, -0.25037023, -0.019478017) * go_4(-1.0, -1.0); - result += mat4(-0.07806179, 0.00493842, -0.02926109, -0.017333046, -0.125423, -0.1364203, 0.09466317, -0.26578787, 0.14311473, -0.0638623, 0.11139706, -0.08727186, -0.06821389, -0.19687861, 0.14772336, -0.10641787) * go_4(-1.0, 0.0); - result += mat4(0.027460072, 0.15687883, -0.17656918, 0.037287217, -0.06293563, -0.03923116, 0.037919715, -0.16810033, 0.26675344, -0.06076212, 0.104115106, 0.0798128, -0.023851654, 0.033833887, -0.030991107, 0.20160522) * go_4(-1.0, 1.0); - result += mat4(-0.058332916, -0.09243659, -0.24664097, -0.13549158, -0.1218952, 0.15865086, -0.1388978, -0.25030297, 0.045538265, 0.04120175, -0.031994786, -0.13400851, 0.007142682, 0.16071808, 0.04225278, 0.20399003) * go_4(0.0, -1.0); - result += mat4(-0.09599313, -0.15977086, -0.02840129, 0.1264139, -0.0144603, -0.00054464, 0.025552921, -0.09051482, -0.06592454, -0.026247922, -0.06352208, -0.021571407, -0.04439837, -0.07514258, 0.0026004864, 0.23430851) * go_4(0.0, 0.0); - result += mat4(0.09127431, -0.21962664, 0.029265152, -0.3099013, -0.09579088, 0.023516538, -0.08382231, 0.05348487, 0.17067212, -0.16390987, 0.03691037, 0.01566425, 0.18072702, 0.10966007, 0.22929187, 0.23833585) * go_4(0.0, 1.0); - result += mat4(0.083102494, 0.18586425, 0.09552713, -0.22502401, 0.10707524, -0.041579556, -0.040507507, -0.07875607, 0.13548316, 0.065970294, -0.09524086, 0.12988009, -0.19841906, -0.016670253, 0.2779514, 0.0039394014) * go_4(1.0, -1.0); - result += mat4(-0.056897737, -0.022942321, -0.089304574, 0.01799863, -0.031229522, 0.08292495, -0.040067356, -0.09749493, -0.2211719, 0.110088974, 0.05465516, -0.12767765, -0.06458067, -0.17160612, -0.09046756, -0.09943958) * go_4(1.0, 0.0); - result += mat4(-0.20148912, 0.017609052, 0.2321357, -0.07018911, -0.1311024, 0.007025396, -0.3018123, 0.059590653, 0.02093451, 0.2801181, 0.047305427, -0.04511682, 0.02409926, -0.1167535, -0.051785782, -0.022035388) * go_4(1.0, 1.0); - result += mat4(-0.050354917, -0.070848934, 0.05680098, -0.15274279, 0.017402016, 0.36217922, -0.5604259, 0.07027285, 0.013515239, -0.024368018, 0.15436645, -0.20279783, -0.009300287, 0.07763277, -0.12982416, 0.018808186) * go_5(-1.0, -1.0); - result += mat4(0.06595005, 0.34867665, -0.1158312, -0.11764399, -0.36079824, -0.03821222, -0.019823037, -0.44939035, -0.16058454, 0.0022173142, -0.067403175, 0.094619855, -0.054194376, -0.15860401, 0.031142738, -0.020085743) * go_5(-1.0, 0.0); - result += mat4(0.15504256, -0.22207503, -0.037738267, -0.024344966, 0.22112809, -0.084620684, 0.31442386, -0.17054078, -0.14580488, -0.1475954, 0.014907614, -0.009613608, -0.120833494, 0.024163049, 0.055504505, 0.12984537) * go_5(-1.0, 1.0); - result += mat4(0.03553467, -0.047465023, 0.127075, -0.17350323, 0.17346224, -0.15783796, 0.15583144, 0.01985312, 0.019021586, -0.03840401, 0.19470496, -0.007293492, -0.17917366, -0.15722491, -0.26070598, -0.2573391) * go_5(0.0, -1.0); - result += mat4(-0.0953191, 0.09084944, 0.25338924, 0.23829061, 0.08905475, -0.02061248, -0.012651722, 0.11955581, 0.239715, -0.2795726, 0.06275163, -0.15498403, -0.042101745, -0.16694753, -0.049197655, 0.06470607) * go_5(0.0, 0.0); - result += mat4(0.07657325, -0.35392562, -0.055532675, -0.18168893, 0.08006482, 0.12548354, -0.17169037, 0.41884392, 0.047854125, -0.13949591, -0.34051692, 0.18265511, 0.082268566, 0.24420416, -0.049996477, -0.018989688) * go_5(0.0, 1.0); - result += mat4(-0.16161917, 0.16816078, 0.018195407, 0.16679527, -0.3412548, 0.14028408, 0.17574453, -0.06049301, -0.01611411, -0.046527516, -0.044087164, 0.25788495, 0.13769192, -0.016161619, 0.041910134, 0.042887107) * go_5(1.0, -1.0); - result += mat4(0.07837116, -0.22945437, -0.05715237, 0.062118188, -0.07539828, 0.22634326, -0.19471732, 0.31986186, 0.15694539, 0.1633341, -0.03029404, 0.056681212, -0.029835409, -0.13129339, 0.19710875, 0.13151285) * go_5(1.0, 0.0); - result += mat4(0.017191496, 0.33163047, -0.026875576, 0.19212759, 0.27074674, 0.17707312, -0.13339694, 0.10855495, -0.18034323, 0.43113244, -0.33985507, 0.316351, 0.0358167, 0.023788683, 0.13152061, -0.019543748) * go_5(1.0, 1.0); - result += vec4(0.091157734, 0.06337161, 0.09025765, 0.07787731); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10152706, 0.13643685, 0.050397865, 0.10665431, 0.026328163, 0.1460299, 0.2569912, -0.19533697, 0.03801618, 0.0003496284, 0.18598852, -0.22565664, 0.05281963, -0.034972392, -0.14308542, 0.030370854) * go_0(-1.0, -1.0); - result += mat4(-0.004119863, 0.057859607, -0.2119656, 0.14261195, -0.16826284, -0.25717396, -0.041528255, -0.119776234, -0.1013885, 0.16835499, 0.27712375, 0.11540263, 0.13435264, -0.15992326, -0.011525119, -0.052719552) * go_0(-1.0, 0.0); - result += mat4(0.015662286, 0.039283197, 0.1298957, 0.14770529, 0.16800109, -0.26307538, -0.043486428, -0.088268735, -0.091123246, -0.02737689, 0.1340816, 0.20996217, 0.108091205, 0.030314112, 0.054512065, 0.012642684) * go_0(-1.0, 1.0); - result += mat4(0.06709217, -0.05501374, 0.081222005, 0.089457735, 0.18656515, -0.3077529, 0.047672454, 0.024508892, -0.1351014, -0.39228433, -0.10557932, -0.04361972, -0.11915583, -0.009581473, 0.0063169855, -0.03613457) * go_0(0.0, -1.0); - result += mat4(-0.1854358, -0.17342652, -0.194473, 0.3151401, -0.051769286, -0.3236325, 0.16018392, -0.057727765, 0.16584621, -0.017418258, -0.3128051, 0.07975532, 0.18611333, 0.026310056, 0.02726216, 0.0067486716) * go_0(0.0, 0.0); - result += mat4(-0.110896066, -0.00702464, -0.20931682, 0.24850254, 0.03269825, -0.18380491, 0.032377258, 0.19312768, -0.22545849, 0.20047729, -0.21857505, 0.04958539, -0.012481836, 0.09664499, -0.14021717, -0.011379809) * go_0(0.0, 1.0); - result += mat4(0.029377487, -0.03222012, -0.047782637, 0.15043634, -0.028922928, 0.14329837, 0.070593685, 0.17937078, -0.098229684, -0.017268147, 0.023314565, -0.0373697, 0.086789444, -0.041083477, -0.14991397, 0.1569613) * go_0(1.0, -1.0); - result += mat4(-0.15204531, 0.038198274, -0.04654972, -0.023292607, 0.043118156, -0.1646481, -0.19841586, 0.0921996, -0.020243818, -0.006126642, 0.0073893177, -0.2155937, -0.051742166, -0.12905034, 0.026826771, -0.14480315) * go_0(1.0, 0.0); - result += mat4(0.10036964, 0.1710007, -0.07876652, 0.22185723, -0.07879332, -0.009758965, -0.07071612, 0.091213554, -0.112285696, 0.03389832, -0.028804176, -0.030022187, -0.1688445, 0.11049307, -0.054812532, 0.093897834) * go_0(1.0, 1.0); - result += mat4(-0.12732436, 0.085322656, -0.100760445, 0.18453589, -0.06775451, 0.10935976, 0.17619863, -0.1605919, 0.09963296, -0.15262389, 0.09841437, -0.19519499, -0.07014624, 0.25242952, -0.05024359, 0.087294735) * go_1(-1.0, -1.0); - result += mat4(0.015800908, -0.14473227, -0.2478373, 0.053460408, -0.14864206, -0.043255955, 0.11067259, 0.0014784707, 0.12921435, -0.03185401, 0.116656736, -0.03951376, 0.06561661, -0.04718704, -0.10218965, 0.11587745) * go_1(-1.0, 0.0); - result += mat4(0.07117372, 0.0109037515, -0.23872098, 0.07710495, 0.0921179, -0.1644194, -0.13181047, -0.057200883, 0.14430603, 0.10133447, 0.28212273, 0.09411812, -0.048196144, 0.0436184, -0.13561143, 0.3184622) * go_1(-1.0, 1.0); - result += mat4(-0.18523192, 0.21471006, -0.0448867, 0.014551903, 0.009904246, -0.15023962, 0.004197992, -0.17210527, 0.194157, -0.08507272, 0.20821328, 0.053412434, 0.3099377, 0.119032666, -0.18388903, -0.19600375) * go_1(0.0, -1.0); - result += mat4(0.2807314, 0.2189851, 0.25916493, 0.060228985, -0.0049263136, -0.074992225, -0.15787919, -0.054917946, 0.12066998, -0.21063392, 0.14343189, -0.033192027, -0.010535234, 0.14374483, 0.1522993, -0.07717713) * go_1(0.0, 0.0); - result += mat4(-0.043371633, 0.13011403, -0.0015406794, -0.0128029715, 0.17256962, -0.04676938, 0.15432738, -0.07865593, 0.13326003, -0.20808597, -8.7830034e-05, 0.19136547, -0.1985925, -0.013042362, -0.22718841, -0.06583816) * go_1(0.0, 1.0); - result += mat4(-0.11845248, 0.027589038, 0.10232536, 0.089354545, 0.18008573, 0.061147142, 0.04159389, -0.12027304, 0.1662144, -0.19675921, 0.12992287, -0.10149212, 0.10550842, -0.006124143, 0.19946195, -0.1462058) * go_1(1.0, -1.0); - result += mat4(0.01296488, -0.09644271, -0.05817923, -0.0954995, 0.025634903, -0.10628822, -0.05637768, -0.284114, 0.17925075, 0.01273799, 0.309424, -0.036070596, -0.17971297, -0.35284916, 0.028788334, -0.040968318) * go_1(1.0, 0.0); - result += mat4(-0.14511016, -0.036098864, -0.029634831, -0.081007525, 0.17456302, -0.3121309, -0.005653063, -0.13220096, 0.07959643, 0.13494255, 0.16009367, 0.022134677, -0.06916521, -0.068016514, -0.07418041, -0.106386214) * go_1(1.0, 1.0); - result += mat4(0.0038909556, 0.10399398, -0.047585238, 0.020263152, 0.22357577, 0.20275299, -0.20587234, -0.14618087, -0.06699123, 0.05799765, -0.057206634, 0.070337296, 0.26828194, -0.110529095, -0.039317895, 0.1000372) * go_2(-1.0, -1.0); - result += mat4(-0.12016816, -0.1746712, -0.15243006, 0.09121186, 0.17119732, 0.09372113, -0.011121283, 0.01683138, 0.04647735, 0.26708847, -0.045210358, -0.05229348, 0.13961853, -0.23234563, 0.11518522, 0.025384203) * go_2(-1.0, 0.0); - result += mat4(0.24803765, -0.12064236, 0.16222163, 0.10242684, 0.35362238, -0.0025835831, 0.10871223, -0.14052986, 0.086918466, 0.003965692, -0.052900802, -0.09219091, -0.097256884, 0.027730078, -0.018556952, 0.029902605) * go_2(-1.0, 1.0); - result += mat4(-0.07853819, -0.33072472, -0.01923759, -0.022614414, 0.037449032, 0.0057582236, 0.035095196, -0.10516724, 0.021059662, -0.1803607, -0.072927505, -0.032927528, 0.10600866, 0.2115304, -0.038914077, 0.026641702) * go_2(0.0, -1.0); - result += mat4(-0.046708018, -0.30087915, 0.23972215, 0.051118676, -0.09175249, 0.061564893, -0.0606459, 0.10725062, 0.16634792, 0.15181623, -0.14776988, -0.089753665, 0.09396779, 0.3047946, 0.20602426, -0.10614584) * go_2(0.0, 0.0); - result += mat4(0.16031305, -0.010385087, 0.12137829, 0.013936002, -0.09272479, -0.0462326, 0.14647374, -0.1364509, 0.1020013, 0.07280318, -0.035455197, -0.0074932426, 0.06966262, 0.43025437, 0.14413132, -0.020879302) * go_2(0.0, 1.0); - result += mat4(-0.048381433, 0.055672538, 0.17734092, 0.057804573, -0.064207256, -0.081648245, -0.19108449, -0.027356787, 0.22855555, 0.026296774, 0.051670585, 0.1469678, 0.14372535, -0.019550381, 0.0711832, -0.23015371) * go_2(1.0, -1.0); - result += mat4(0.10270051, 0.03306284, 0.18660016, -0.08794835, 0.022104584, 0.14556691, -0.18290472, -0.004233608, 0.31982687, -0.019705234, -0.18947408, -0.014298402, 0.13134713, -0.22212905, -0.22175267, -0.083559796) * go_2(1.0, 0.0); - result += mat4(0.09405076, -0.094762795, 0.00039714025, -0.033925287, -0.040082168, 0.18154381, -0.091368884, -0.002279935, 0.18112488, -0.16065024, -0.07302534, -0.054364413, -0.027507186, 0.056911435, -0.25985143, 0.19071229) * go_2(1.0, 1.0); - result += mat4(-0.08038882, -0.23933147, 0.091805875, 0.06882283, 0.030006107, -0.19613835, -0.19390447, -0.06947256, -0.15933713, -0.12136816, 0.10496873, 0.20988281, -0.06429982, 0.13831986, -0.12110751, -0.013753183) * go_3(-1.0, -1.0); - result += mat4(-0.03526272, 0.09196733, 0.22100714, -0.034608632, 0.11271489, 0.19354948, -0.08702665, 0.0818318, -0.23144986, -0.39077505, 0.068490066, -0.07049248, -0.15327029, -0.13464752, -0.23453039, -0.007664983) * go_3(-1.0, 0.0); - result += mat4(-0.071974635, -0.09427919, -0.14303383, -0.15694854, -0.0536355, 0.072341934, 0.0919402, -0.032855745, 0.061292388, 0.09840731, 0.035950005, -0.064508714, -0.121800035, -0.18790516, -0.098817684, -0.032492902) * go_3(-1.0, 1.0); - result += mat4(-0.006014576, 0.056944408, -0.04101546, -0.07834956, 0.048266124, 0.013926315, 0.041723326, -0.323333, -0.41566008, 0.3228979, 0.004536671, 0.31018063, -0.32762045, 0.23986395, 0.0941997, 0.32134023) * go_3(0.0, -1.0); - result += mat4(-0.07315801, -0.04973393, -0.022297578, -0.0803329, -0.006434735, 0.010591334, 0.036642008, 0.099703625, -0.30428717, -0.13702157, 0.05784328, -0.08263622, -0.16771519, 0.012717832, 0.16369238, 0.082922) * go_3(0.0, 0.0); - result += mat4(0.0001620341, 0.13469625, 0.022239598, -0.045452654, -0.012625867, -0.016001742, -0.13125779, 0.035808936, -0.06057855, -0.23169748, -0.031564385, 0.0035062286, 0.08688842, 0.043959387, 0.045130596, -0.082511395) * go_3(0.0, 1.0); - result += mat4(-0.083551735, -0.0062169307, -0.071006864, 0.08302828, 0.041814975, -0.17135905, -0.051279463, -0.23531726, -0.07600026, -0.016305951, -0.12496258, 1.6274626e-05, -0.056098733, 0.05471391, -0.16807914, 0.043552015) * go_3(1.0, -1.0); - result += mat4(0.10614594, 0.055918783, -0.04306798, 0.12271233, -0.053095255, -0.041611873, 0.0658641, -0.17270197, -0.17228878, 0.04906801, 0.025378078, 0.03993686, 0.26168197, -0.0664166, -0.24114749, 0.122338526) * go_3(1.0, 0.0); - result += mat4(-0.028463805, -0.06832796, -0.042678714, -0.09115425, 0.112060644, -0.11552275, -0.13850841, -0.21241449, -0.025949117, -0.25152782, 0.118504696, -0.0032011967, -0.004659375, 0.14416796, 0.10196362, -0.25900578) * go_3(1.0, 1.0); - result += mat4(-0.014083873, -0.14722492, -0.04869616, -0.0060440497, -0.06496493, -0.080328904, 0.0021304504, -0.071984075, 0.037136473, -0.06741335, 0.047950987, 0.13102819, -0.084352426, 0.021756288, 0.14978755, -0.07930937) * go_4(-1.0, -1.0); - result += mat4(-0.043805413, 0.11554947, 0.08058495, -0.029509902, 0.07255308, -0.11107158, 0.19269472, -0.06936789, -0.056554012, -0.13389792, 0.05822567, -0.080038816, -0.11012767, -0.2594496, 0.013091632, -0.016040247) * go_4(-1.0, 0.0); - result += mat4(0.11076819, 0.29110146, 0.010078737, -0.07397723, 0.017001567, -0.0600932, 0.120115615, -0.1516764, -0.046932317, -0.1531205, -0.041367747, 0.03022747, 0.028425755, -0.09993652, 0.105394356, -0.097724885) * go_4(-1.0, 1.0); - result += mat4(-0.16120721, 0.12060183, -0.051696084, 0.13536309, -0.0629108, 0.20782739, 0.08011087, 0.16132146, -0.17330962, 0.075349055, -0.13367563, 0.0834821, 0.13859299, -0.24726664, 0.1219966, 0.008662899) * go_4(0.0, -1.0); - result += mat4(-0.06673648, -0.059848122, -0.079399005, 0.07430188, 0.039565083, -0.02646128, 0.06627121, -0.15686277, -0.08100342, 0.211192, 0.11364034, -0.056452975, 0.003068278, -0.09815622, -0.2720423, -0.060945407) * go_4(0.0, 0.0); - result += mat4(0.10425103, -0.11963076, -0.15664895, -0.008325704, 0.030473476, -0.059397645, 0.08696136, -0.105832994, 0.15845199, -0.0155479815, 0.21866821, -0.24220671, -0.07413551, 0.18748072, 0.15781933, 0.09678578) * go_4(0.0, 1.0); - result += mat4(-0.105755776, 0.05295692, -0.065712206, -0.055599883, -0.024171222, -0.10882413, -0.019153712, -0.0797682, -0.05841592, 0.027539523, 0.018220939, 0.025832783, 0.10254366, 0.027248384, 0.17515337, 0.13366127) * go_4(1.0, -1.0); - result += mat4(0.14450707, 0.16593692, 0.10250131, 0.022199351, 0.00025016058, 0.02208959, -0.015518909, 0.03897976, 0.066313244, -0.08834062, -0.06497536, 0.21156809, -0.028999787, 0.1924942, 0.27274308, -0.19622537) * go_4(1.0, 0.0); - result += mat4(0.06670714, 0.032708794, 0.08869534, -0.1733506, 0.0076623727, 0.12130858, 0.010788659, -0.046009142, 0.09683414, -0.2074643, 0.08545223, 0.0447272, 0.12027344, 0.20864709, 0.17474543, 0.13670264) * go_4(1.0, 1.0); - result += mat4(0.021432638, -0.24760821, 0.12410156, -0.11143068, 0.1870739, 0.0740915, 0.11552895, -0.061147105, -0.037998777, -0.1789209, 0.02577988, -0.1907707, 0.16632228, 0.029018525, 0.016788188, 0.16683672) * go_5(-1.0, -1.0); - result += mat4(0.1736272, 0.052254014, -0.010544911, -0.25163132, -0.021734655, -0.23477079, 0.30037084, -0.024889933, 0.16576701, 0.11785999, -0.19426535, 0.012973521, -0.31330642, -0.12940904, 0.1407924, -0.104257464) * go_5(-1.0, 0.0); - result += mat4(-0.10720734, -0.22007015, 0.06929706, 0.1128352, 0.08878798, -0.74968565, 0.05292707, -0.2015415, -0.22024418, 0.12937216, 0.0077955252, 0.10120546, -0.051692892, -0.4005671, 0.019636473, -0.020149691) * go_5(-1.0, 1.0); - result += mat4(0.43247837, -0.18930417, -0.013568917, -0.079419196, 0.18672904, -0.35622415, 0.25079453, -0.1175358, 0.26581118, 0.008579299, 0.18397655, -0.29648697, -0.15222591, 0.32292458, -0.011576255, -0.030688757) * go_5(0.0, -1.0); - result += mat4(0.10460517, 0.22705384, -0.11461504, -0.34884137, 0.06710358, 0.07710169, -0.22747318, -0.03428357, -0.12087394, -0.18585229, 0.053487252, -0.15423988, -0.24636437, 0.42574164, -0.20994124, -0.13236474) * go_5(0.0, 0.0); - result += mat4(-0.15691194, -0.08720117, -0.052925915, -0.16245657, -0.16402285, 0.3253476, 0.1616336, 0.072358444, -0.19095042, 0.21235181, 0.033952657, -0.021103038, 0.1247694, 0.228517, 0.032327496, -0.21903606) * go_5(0.0, 1.0); - result += mat4(-0.14174855, -0.06494216, 0.13284135, -0.08129453, 0.16482054, 0.110014215, 0.15709473, -0.010275839, -0.22032334, -0.10103909, -0.11650554, -0.17561941, 0.085149735, -0.40727508, 0.12032625, -0.02078777) * go_5(1.0, -1.0); - result += mat4(-0.27078578, -0.08153653, 0.1757881, 0.11317136, 0.27882257, -0.24042514, -0.08648888, -0.045675088, -0.10128582, -0.04766186, 0.06836051, 0.15924035, 0.04440567, -0.099891834, -0.08893405, 0.05721548) * go_5(1.0, 0.0); - result += mat4(0.15327021, 0.13603994, 0.17330587, 0.05625383, -0.11157126, -0.08179826, 0.05035325, -0.012668053, 0.04673393, 0.29881957, 0.019924281, -0.06682304, -0.034375366, -0.11446407, 0.055847015, 0.104117975) * go_5(1.0, 1.0); - result += vec4(0.013481283, -0.0006846239, 0.017479934, 0.13998064); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.013182829, 0.053091962, 0.06549412, 0.09314398, 0.12759157, 0.19831958, -0.0066986284, 0.008724786, -0.008788724, -0.18448268, -0.08061004, -0.122672, 0.039246775, 0.114899494, 0.0053096768, -0.45705518) * go_0(-1.0, -1.0); - result += mat4(-0.15435986, 0.12775438, 0.033445876, 0.13065258, -0.034713954, 0.011218427, -0.056961175, -0.028291933, 0.014069658, -0.12902507, 0.09579773, -0.24455607, 0.14417914, 0.05937612, 0.2243551, -0.3940324) * go_0(-1.0, 0.0); - result += mat4(0.019673724, 0.20209175, 0.0864056, 0.062125377, -0.032693543, -0.07866025, 0.049098648, 0.09967038, 0.071991436, -0.035584584, 0.08620264, -0.3146151, 0.0016364265, -0.1282453, 0.113696136, -0.09162608) * go_0(-1.0, 1.0); - result += mat4(-0.086494565, -0.031322442, -0.0010425163, 0.0043439222, -0.2207718, -0.114754595, -0.04754309, 0.038829442, 0.28012696, 0.01416326, -0.006575263, 0.09800945, 0.20944737, 0.12320554, -0.27976176, 0.042036757) * go_0(0.0, -1.0); - result += mat4(-0.0043551656, -0.034230676, 0.047720857, -0.0913431, 0.25977305, 0.21515612, 0.18708718, -0.004843006, 0.29522216, 0.03641434, -0.096512936, -0.07962972, -0.07454651, -0.2631387, -0.3370317, 0.40316954) * go_0(0.0, 0.0); - result += mat4(0.07995683, -0.17652078, 0.0023912708, -0.02042794, 0.17486735, -0.22842996, -0.06893651, -0.19074234, 0.10076771, 0.11205654, 0.001572062, 0.024552155, -0.00011488878, -0.12493254, -0.29600865, 0.07090882) * go_0(0.0, 1.0); - result += mat4(0.017154403, 0.13125315, 0.11503914, 0.105513334, -0.11673632, -0.034176424, -0.030536361, -0.002248858, -0.11892652, -0.08516513, 0.06950209, 0.17622153, 0.06246307, -0.07698598, 0.2093879, -0.058301486) * go_0(1.0, -1.0); - result += mat4(0.10316161, 0.0072260876, 0.07716615, -0.13834251, -0.010482067, 0.15220478, 0.09262941, 0.08135313, 0.14277095, -0.15209594, -0.15694623, 0.0658977, 0.16643007, -0.04802777, 0.039331965, 0.10639549) * go_0(1.0, 0.0); - result += mat4(0.003941457, 0.096958525, 0.08078122, -0.123746514, 0.05798335, -0.044676617, -0.3084394, 0.1140151, 0.010672668, -0.025900228, -0.06911797, 0.05360162, 0.15696998, 0.07253946, 0.06035546, 0.1159507) * go_0(1.0, 1.0); - result += mat4(0.229298, 0.064096935, 0.16048844, 0.012671015, 0.024478769, 0.063737154, -0.004687863, 0.19364266, -0.19646022, 0.2893255, 0.026786007, 0.069286734, 0.07800188, -0.053994164, 0.052960467, 0.1745522) * go_1(-1.0, -1.0); - result += mat4(0.015469714, -0.12314818, 0.5338478, -0.11723986, -0.008365538, -0.10995339, -0.15134127, -0.07830025, 0.07128518, 0.009086638, -0.116382964, -0.16219214, 0.026113646, 0.29649207, -0.33176404, 0.009099685) * go_1(-1.0, 0.0); - result += mat4(-0.09291687, 0.09429629, 0.47023576, 0.30382136, 0.022938905, -0.053612467, 0.03914971, 0.07205734, 0.11292842, -0.022005484, 0.17894705, -0.008363797, -0.1682453, 0.0409644, -0.017597, -0.14894786) * go_1(-1.0, 1.0); - result += mat4(-0.22093011, 0.050382294, -0.07031792, 0.1064123, 0.09168859, -0.054715537, 0.07824245, 0.0675236, -0.11675646, 0.12587738, 0.33370635, -0.14830373, -0.4392533, -0.23865284, 0.071248956, -0.026170105) * go_1(0.0, -1.0); - result += mat4(-0.048300147, 0.08008235, 0.11813505, -0.09183442, -0.06377392, 0.14087953, 0.07831149, 0.044931732, -0.21497081, 0.026584432, 0.013495652, -0.14503439, 0.007470514, 0.14160597, -0.016141815, -0.31155616) * go_1(0.0, 0.0); - result += mat4(-0.41951287, 0.24024096, 0.19465575, -0.041104067, 0.09810697, 0.14586213, 0.13903797, -0.053057924, -0.14113568, -0.09644958, -0.09866805, -0.07899498, -0.172797, -0.08095462, -0.13160881, -0.0089402525) * go_1(0.0, 1.0); - result += mat4(-0.0807202, -0.37737992, -0.12689668, 0.079181, 0.01577318, -0.11053014, -0.12669973, 0.0071108835, -0.20729698, 0.046471246, -0.12194573, 0.2870874, -0.22770974, 0.09006065, 0.23021267, 0.3112802) * go_1(1.0, -1.0); - result += mat4(-0.17971495, 0.036312122, -0.03444156, 0.041823655, -0.09082372, 0.08112007, 0.049061, -0.0055645844, 0.013843324, -0.01969895, -0.13960351, -0.047275152, -0.043000307, 0.27807096, 0.22880352, 0.106376074) * go_1(1.0, 0.0); - result += mat4(-0.17075665, 0.006126272, -0.2546894, 0.11954845, -0.19607663, 0.048538323, -0.065129414, 0.014257998, 0.038192738, -0.037847996, -0.020429965, 0.025860488, 0.028515143, 0.06738391, 0.072110705, -0.033284377) * go_1(1.0, 1.0); - result += mat4(0.044568866, 0.062475223, -0.0983384, 0.009866407, -0.35514477, -0.030211627, 0.22333166, 0.32969475, -0.109626986, -0.034606833, -0.0576798, -0.17654708, -0.08829175, -0.16896097, -0.1001105, -0.12807782) * go_2(-1.0, -1.0); - result += mat4(0.3260804, -0.13558061, 0.04645619, -0.07019992, -0.29856443, 0.053042114, 0.061772786, -0.13687392, -0.16278408, -0.034854803, -0.012278255, -0.098236114, -0.19714803, -0.1252398, 0.52471006, -0.00438923) * go_2(-1.0, 0.0); - result += mat4(-0.23780306, 0.0058732736, -0.14263488, 0.014209727, 0.3014817, -0.19334342, 0.14975117, -0.4833427, 0.06679691, -0.068613395, -0.11530229, -0.27387938, 0.060538717, 0.2566434, 0.089476675, 0.20292005) * go_2(-1.0, 1.0); - result += mat4(-0.08988664, 0.09974201, -0.06231258, -0.14937639, 0.3109973, -0.062920496, 0.38651597, 0.32825765, -0.019837346, 0.1774624, 0.0721711, 0.01380091, 0.33275485, -0.024928985, -0.07132799, -0.10537747) * go_2(0.0, -1.0); - result += mat4(-0.09355771, -0.018917486, 0.062002532, -0.06821075, 0.0852235, -0.043880213, 0.023216404, -0.034589138, 0.009775594, 0.020386059, -0.19563444, 0.34160665, -0.19108588, -0.36282206, 0.12477205, -0.1635429) * go_2(0.0, 0.0); - result += mat4(0.0660281, -0.004066676, 0.051605884, -0.20489341, 0.45396295, 0.048399396, 0.32993752, 0.5071012, 0.1316449, -0.028571565, -0.1418205, -0.06860564, 0.00832686, 0.10344168, -0.0033388403, -0.21189667) * go_2(0.0, 1.0); - result += mat4(0.03121781, 0.06918902, 0.0073941397, -0.039547186, -0.13978334, 0.36066145, 0.105322905, 0.048246022, -0.064950965, 0.04503515, 0.13340174, -0.30344757, 0.08683505, -0.046188712, -0.17417784, 0.09081479) * go_2(1.0, -1.0); - result += mat4(-0.16948071, 0.0040395157, 0.035707664, -0.079912804, 0.038716394, -0.17475441, -0.36299637, 0.03968082, 0.049196135, -0.1715365, -0.071639955, -0.016410451, 0.09188755, -0.2558949, -0.16094652, 0.07996079) * go_2(1.0, 0.0); - result += mat4(-0.21382907, 0.05636966, -0.06199946, -0.21989174, -0.18922164, 0.37826148, -0.0141571835, 0.024448203, 0.0884536, 0.12374937, 0.18420288, 0.0967765, -0.06720011, 0.069881, -0.0042892518, -0.19172947) * go_2(1.0, 1.0); - result += mat4(-0.08187655, -0.489484, -0.27973574, -0.009521738, 0.18314825, -0.35783502, 0.056075446, 0.1687472, 0.3308614, -0.23036483, 0.0055736783, 0.18089417, -0.01648603, -0.21509576, -0.05315817, 0.2311331) * go_3(-1.0, -1.0); - result += mat4(0.10545252, -0.16682841, 0.46201918, 0.41049242, 0.2867931, -0.10737721, 0.37278366, -0.15247364, 0.32457805, -0.13211884, 0.0282094, 0.32339963, -0.20642634, -0.07769656, -0.11572602, -0.0078001227) * go_3(-1.0, 0.0); - result += mat4(0.049419798, -0.16918461, -0.07071865, -0.23344457, -0.06583399, 0.21428098, 0.13742666, -0.24406539, -0.3166922, 0.04145341, 0.12750438, 0.7016666, -0.072237894, 0.060902767, 0.024233112, 0.1978945) * go_3(-1.0, 1.0); - result += mat4(0.21362431, -0.22586554, -0.13855393, 0.03641023, -0.18417473, 0.13428141, 0.019632103, 0.18459935, -0.25052726, -0.06585735, 0.06470142, -0.1343166, -0.1102426, 0.12908545, -0.03501417, -0.2672359) * go_3(0.0, -1.0); - result += mat4(0.098094426, -0.40027153, 0.05030102, 0.29116127, -0.07573088, -0.0358284, -0.2436342, 0.00352126, -0.114547156, -0.013960078, -0.20433213, -0.021052646, -0.22285037, 0.028262915, 0.08860262, -0.30081618) * go_3(0.0, 0.0); - result += mat4(-0.01646094, 0.24261765, 0.33677813, -0.060467284, -0.19734232, 0.1702455, -0.1304959, -0.20504838, -0.3379331, 0.26765183, -0.26516193, 0.27015924, -0.08003835, 0.3141519, 0.29280853, -0.052082997) * go_3(0.0, 1.0); - result += mat4(0.12277012, -0.46426025, 0.015877785, 0.028895028, -0.12974375, -0.075910136, 0.300476, 0.16338159, -0.012315035, 0.05539739, 0.019287715, -0.2627638, -0.10653122, 0.15327309, 0.116874225, 0.17951632) * go_3(1.0, -1.0); - result += mat4(0.29410085, -0.17102611, 0.035222203, 0.538198, -0.082762614, -0.13113698, 0.23784018, 0.10809719, 0.10368062, -0.26618072, 0.017677844, -0.5524849, 0.20205925, -0.25295278, -0.08522028, -0.35101673) * go_3(1.0, 0.0); - result += mat4(-0.24038099, 0.047679562, 0.16125403, 0.12115515, 0.25935376, -0.12338007, 0.28222737, -0.1517331, 0.102381065, 0.02018978, 0.103473715, 0.008457937, 0.075750284, 0.030453209, 0.103425525, -0.11869024) * go_3(1.0, 1.0); - result += mat4(0.027691573, 0.033041246, -0.053919036, 0.021841308, 0.22477351, -0.012002719, -0.088659704, -0.19888699, -0.14622316, 0.07693778, 0.06058014, 0.072771885, -0.09090909, -0.009634639, -0.04093643, -0.0016425458) * go_4(-1.0, -1.0); - result += mat4(0.121816635, 0.06796998, -0.00956044, 0.060272712, 0.0929867, -0.104182824, 0.068678245, -0.0025653015, 0.29900813, -0.121311836, -0.18685773, 0.047214147, -0.002424332, -0.071621366, 0.09782575, 0.069204815) * go_4(-1.0, 0.0); - result += mat4(-0.115039505, -0.013585092, -0.062492177, 0.019942736, -0.22608118, 0.10974841, 0.121345155, 0.048270512, 0.036711007, -0.1555631, 0.3113601, 0.20424883, 0.036948208, 0.023162413, 0.093668364, 0.091156565) * go_4(-1.0, 1.0); - result += mat4(-0.0239057, -0.0074546733, -0.072916195, -0.15032186, 0.11206848, 0.076949894, -0.0719725, 0.057246305, -0.12505415, 0.17029393, 0.059913885, 0.10695817, 0.11587671, 0.009000426, -0.0065819114, 0.112660386) * go_4(0.0, -1.0); - result += mat4(-0.22613746, 0.010249483, 0.31479695, -0.15589239, 0.21750645, -0.16260515, 0.03900687, 0.31478724, 0.24153055, -0.13562167, -0.13101026, -0.30842167, -0.09156883, -0.08611807, 0.0021150038, 0.19845119) * go_4(0.0, 0.0); - result += mat4(-0.09328654, 0.065565474, 0.053929932, -0.0614148, 0.10553007, -0.16130202, -0.14184211, -0.0015263067, -0.015361093, -0.20926285, -0.23366193, -0.06125057, -0.071300104, 0.01055638, -0.05240934, 0.06743602) * go_4(0.0, 1.0); - result += mat4(-0.05055375, 0.085141584, -0.025911124, -0.035443313, -0.1763071, 0.085818924, 0.19284901, -0.006149421, -0.0160643, 0.11941451, 0.20142859, -0.047862962, 0.049561072, 0.06118226, -0.117986836, -0.10885573) * go_4(1.0, -1.0); - result += mat4(0.0026763107, -0.13232177, 0.040220898, 0.056682535, -0.03708343, 0.22508788, 0.14923818, -0.106249794, 0.035745993, -0.18804651, -0.3110593, -0.20087922, -0.14625967, -0.0653864, -0.061015815, -0.04066649) * go_4(1.0, 0.0); - result += mat4(0.111738384, -0.104334466, 0.029024106, -0.09726162, 0.2414019, -0.029426873, 0.09094325, 0.027416501, 0.30706093, -0.09682458, -0.19449362, -0.014534671, 0.15952238, -0.033171862, -0.10819316, -0.10238822) * go_4(1.0, 1.0); - result += mat4(0.56843907, -0.18652008, -0.07477079, -0.09572682, 0.004717268, -0.19569749, 0.012557746, -0.16934179, 0.20934415, -0.13695319, -0.085793145, 0.16430594, 0.1280811, -0.035566512, 0.17796053, 0.034620196) * go_5(-1.0, -1.0); - result += mat4(0.10944063, 0.056659624, -0.10928797, -0.48222318, -0.03679725, 0.12002146, 0.06371042, -0.024989901, -0.19508527, 0.35469803, -0.034514666, 0.05471589, -0.008078808, 0.086663045, -0.06641959, 0.14787014) * go_5(-1.0, 0.0); - result += mat4(-0.08401734, 0.065710895, -0.03586741, -0.09523177, -0.11976769, -0.00039887297, -0.11169928, 0.11623861, 0.06338808, 0.1087186, 0.26752025, 0.27731213, 0.042043414, -0.040737793, -0.13757998, 0.03160253) * go_5(-1.0, 1.0); - result += mat4(0.03308292, 0.11817877, 0.04941428, 0.053257942, 0.20836346, -0.3157687, -0.15115938, 0.017689008, -0.08777182, 0.075874984, -0.11381275, 0.15768103, -0.25251803, 0.024785532, -0.1119765, -0.08488973) * go_5(0.0, -1.0); - result += mat4(0.14967972, 0.08358996, -0.12477746, 0.18376626, -0.11429529, 0.18852599, 0.12402519, 0.13575697, -0.17223327, -0.18583423, 0.08749376, 0.14127673, 0.04728666, 0.13141015, -0.1578823, 0.064156786) * go_5(0.0, 0.0); - result += mat4(-0.18258065, 0.05539021, -0.08642571, 0.22043483, -0.03830304, 0.10055482, -0.050123304, 0.12830205, -0.4921733, 0.2718683, 0.11772524, -0.07781355, -0.0075595984, 0.060227167, 0.1285977, 0.2978205) * go_5(0.0, 1.0); - result += mat4(0.19988084, -0.36680242, -0.0095746415, 0.091812566, 0.3152317, -0.075949475, -0.04308324, 0.049759876, 0.02971871, 0.18617181, 0.19829167, 0.17954859, 0.015149219, -0.15809381, 0.10850363, 0.017803097) * go_5(1.0, -1.0); - result += mat4(0.056506306, 0.15181234, -0.1497428, 0.01186181, 0.02351036, 0.01086669, -0.031891935, 0.01414558, 0.27038968, -0.2806401, -0.14722337, 0.080689445, 0.07039954, -0.054969363, -0.016640754, 0.020795437) * go_5(1.0, 0.0); - result += mat4(-0.237999, 0.13528651, 0.005025065, -0.01291728, -0.22655746, 0.022678101, 0.07165532, 0.0073296893, 0.084639646, -0.06724732, -0.13105223, 0.10164715, -0.15071161, 0.08882156, -0.016988168, -0.013606533) * go_5(1.0, 1.0); - result += vec4(0.20634188, -0.10455712, -0.031700566, -0.13400781); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1606533, 0.1120602, 0.427334, -0.056228757, -0.026887462, 0.0858575, 0.0052684247, 0.1645524, 0.021588106, -0.08577256, -0.03301297, -0.087385215, 0.17341405, 0.26737398, 0.04566977, 0.047820427) * go_0(-1.0, -1.0); - result += mat4(0.21000437, 0.05300574, 0.060565695, -0.086724475, 0.09684198, 0.12685667, -0.10724282, -0.11021523, 0.048485592, -0.0054517, 0.081800036, -0.099787444, -0.12168391, 0.07623567, 0.09177046, 0.15815327) * go_0(-1.0, 0.0); - result += mat4(0.14400747, 0.13797458, 0.11044521, 0.077145234, 0.14364728, 0.10041894, 0.0948857, 0.08613703, 0.030833652, 0.102926254, 0.029892365, -0.09385337, 0.07609406, -0.038274735, 0.22529188, -0.0905732) * go_0(-1.0, 1.0); - result += mat4(-0.13334684, -0.083001845, -0.06109816, 0.067442395, 9.6367134e-05, -0.10395697, 0.047389086, 0.07404194, -0.11931296, -0.029852618, -0.08998846, 0.16543494, 0.19911745, -0.014106389, -0.020616226, 0.011981892) * go_0(0.0, -1.0); - result += mat4(-0.20999044, 0.20443644, -0.08602043, -0.06026268, 0.0016786976, -0.15406793, 0.25403517, 0.0038395252, -0.16244787, -0.19482566, -0.113314606, 0.007111468, -0.026472634, 0.08177431, 0.13382603, -0.01771927) * go_0(0.0, 0.0); - result += mat4(-0.14934808, -0.022533301, -0.14221415, -0.096389346, 0.11613694, 0.21117163, 0.22294325, -0.029256172, -0.072161585, -0.09670809, -0.24253419, 0.10479088, 0.20190297, -0.08443066, 0.08334989, 0.2928627) * go_0(0.0, 1.0); - result += mat4(0.030550636, 0.095876954, -0.040062953, 0.024307664, 0.17360783, -0.035755854, -0.20959523, 0.069054864, -0.1061238, -0.26194566, 0.2781827, -0.118610375, -0.09682604, -0.076366246, -0.05720086, -0.08075027) * go_0(1.0, -1.0); - result += mat4(0.15727855, 0.21407695, 0.009924877, -0.0027381582, 0.16699612, 0.017624786, -0.13224785, 0.008606034, -0.05968717, -0.009152095, -0.084314294, -0.14502133, -0.13212982, 0.2531764, -0.09840475, 0.020581203) * go_0(1.0, 0.0); - result += mat4(0.06285324, 0.019129366, 0.15062185, -0.0018203754, 0.025869751, 0.09390758, 0.027623225, 0.09279268, 0.12548098, -0.05622771, 0.024048142, -0.011120709, 0.039858714, 0.022324169, -0.061184626, 0.15133153) * go_0(1.0, 1.0); - result += mat4(0.25750592, -0.0633985, 0.05274334, 0.05652166, -0.13369319, -0.19132645, -0.11266925, 0.05310033, -0.10603932, -0.18876615, -0.23720984, 0.23625968, -0.1460642, -0.16662763, -0.31894067, 0.00010953036) * go_1(-1.0, -1.0); - result += mat4(0.021643812, 0.27677965, -0.18880053, -0.085671276, -0.12699273, 0.07259516, -0.09705578, 0.0103639, -0.10424065, 0.2421007, -0.15788709, -0.03597044, -0.03210864, -0.009501378, -0.29830885, 0.18951061) * go_1(-1.0, 0.0); - result += mat4(-0.023235895, -0.15663858, -0.097848825, -0.030312262, -0.36207277, -0.044624195, -0.24912846, 0.001322196, -0.012719531, -0.061012562, 0.02297421, -0.083919466, 0.023231668, 0.17829593, -0.20094186, 0.062941045) * go_1(-1.0, 1.0); - result += mat4(0.031992577, -0.33281925, 0.24781865, 0.10445937, -0.043928526, -0.0048965504, 0.025098981, -0.02432072, -0.06936203, 0.06697805, -0.03503784, 0.04098378, 0.11242077, -0.47939962, -0.36156863, 0.10633177) * go_1(0.0, -1.0); - result += mat4(-0.360187, 0.15471298, 0.19546136, -0.19344117, 0.19245885, 0.10948706, -0.25480017, -0.117233664, 0.07698171, 0.00455522, 0.016817722, -0.21183428, -0.3989548, -0.0053129625, 0.32735184, -0.25722015) * go_1(0.0, 0.0); - result += mat4(-0.19386199, -0.104854785, 0.2354883, 0.07680881, -0.08103157, 0.19879752, -0.20958872, 0.03404414, 0.2462412, -0.025986584, 0.15228593, 0.082260065, 0.05948899, 0.018289726, 0.26004076, 0.29258958) * go_1(0.0, 1.0); - result += mat4(0.43535206, -0.1665342, -0.078847095, -0.09834152, 0.3344753, 0.14931677, 0.26555872, -0.050443217, 0.1165338, -0.018918963, -0.18268648, -0.08987844, -0.15032545, -0.41353035, 0.04693913, 0.12682211) * go_1(1.0, -1.0); - result += mat4(-0.101665966, -0.2346043, -0.13883743, 0.09837179, 0.11640853, -0.11128404, 0.1264696, 0.13364471, -0.0010915099, 0.32518107, 0.015125061, 0.0014352624, -0.32198808, 0.14844672, 0.045113582, 0.22434932) * go_1(1.0, 0.0); - result += mat4(0.04287463, -0.031287823, 0.07444511, 0.215022, -0.051081534, 0.09054911, 0.094913155, -0.16440862, 0.025819149, -0.035652477, 0.11303366, 0.072897494, 0.15771803, -0.026064822, -0.27329972, 0.3400305) * go_1(1.0, 1.0); - result += mat4(0.15108323, 0.099104606, -0.18490814, 0.282546, -0.39287362, 0.020549994, 0.03981046, -0.38331905, -0.028022572, 0.07132567, 0.054721024, -0.0544467, 0.30145043, 0.07482834, -0.030623315, -0.14339122) * go_2(-1.0, -1.0); - result += mat4(-0.19015107, 0.084599644, -0.08060123, -0.13798787, 0.11629986, 0.1486292, 0.22505176, 0.120357476, 0.09555313, -0.012545042, 0.14008446, 0.09553097, -0.13701685, 0.13754234, 0.08133829, 0.0583218) * go_2(-1.0, 0.0); - result += mat4(-0.011506865, -0.12886223, 0.32145864, -0.0046038935, -0.15737815, 0.31331423, 0.014334723, 0.13329573, 0.059868217, 0.044668417, 0.41486976, -0.115652, 0.07570654, 0.119870186, -0.04211968, 0.13550858) * go_2(-1.0, 1.0); - result += mat4(-0.06290216, -0.09683136, 0.17791402, -0.06173693, -0.5663153, 0.6814847, -0.30665252, -0.015765276, -0.35518414, 0.014619069, 0.0059011583, -0.011811011, -0.12891632, -0.09697547, 0.0122915255, -0.035630453) * go_2(0.0, -1.0); - result += mat4(0.36552843, -0.02239533, 0.31511658, 0.07742532, 0.38120705, -0.34059232, -0.1941228, -0.009505623, -0.057844408, -0.08539643, -0.15442915, 0.047755927, -0.10766272, 0.19164445, -0.04577609, -0.02152571) * go_2(0.0, 0.0); - result += mat4(0.25128686, 0.008428173, -0.2337189, -0.07352831, 0.4192482, 0.03234093, -0.107415706, -0.59545743, 0.08484682, 0.10139428, 0.032704517, -0.03676146, 0.0709341, -0.08012427, -0.17445756, -0.051028527) * go_2(0.0, 1.0); - result += mat4(-0.13946229, 0.14634825, -0.29945642, 0.054991852, -0.19391525, 0.18525685, -0.01332443, 0.19226684, -0.25809357, -0.16726302, -0.08535996, 0.04962988, -0.21382174, -0.27475968, 0.14896728, -0.07398321) * go_2(1.0, -1.0); - result += mat4(0.012350131, -0.15466039, 0.2637539, -0.004446026, -0.23348337, 0.31829268, 0.30077904, -0.26715708, -0.2248632, 0.026697354, -0.13744812, -0.11420962, 0.12333178, 0.20206316, 0.14819679, 0.11332464) * go_2(1.0, 0.0); - result += mat4(-0.1398207, -0.08409686, 0.28911248, -0.17092308, -0.3288522, -0.33649427, 0.08738124, 0.07093669, 0.042545132, 0.056477334, -0.043472584, 0.11007758, -0.001716612, -0.10464193, 0.03468551, 0.18904419) * go_2(1.0, 1.0); - result += mat4(-0.22511648, -0.21305616, -0.20453261, -0.039165854, 0.12624744, -0.24751776, -0.071244866, -0.013594594, 0.050315578, -0.07449747, -0.2612381, 0.16027644, -0.16809192, -0.124898806, -0.038302764, -0.17824896) * go_3(-1.0, -1.0); - result += mat4(-0.011263025, -0.13628832, -0.018516185, -0.02475848, 0.09929525, 0.039110962, -0.12850322, -0.1350285, -0.35264796, -0.021238754, -0.11728184, -0.1417785, 0.2576594, 0.08627893, 0.11525315, -0.12663105) * go_3(-1.0, 0.0); - result += mat4(0.098808385, 0.11969382, -0.09717777, 0.15366855, 0.05112679, -0.0064458046, 0.17321971, -0.11823168, -0.010137996, -0.35834765, 0.22273073, 0.20014246, -0.077788174, -0.10495039, -0.17693104, -0.069975644) * go_3(-1.0, 1.0); - result += mat4(0.058652826, -0.12872136, 0.3963312, -0.15295003, -0.05818842, -0.4533677, 0.20178635, 0.24527496, 0.25999078, -0.37886587, 0.19364087, 0.18344274, 0.22268198, -0.14165895, 0.48145312, -0.23087662) * go_3(0.0, -1.0); - result += mat4(0.11743857, -0.081544854, -0.19755375, -0.12016749, -0.28253412, -0.04377212, 0.15896732, -0.14978753, -0.25513977, 0.0025451197, 0.41349715, -0.28266567, -0.25201386, 0.54169023, 0.21759638, 0.09750061) * go_3(0.0, 0.0); - result += mat4(0.2587435, 0.18573955, -0.23956883, 0.021557074, 0.020746572, 0.020505207, 0.08808335, 0.19680786, -0.061584104, -0.24666953, 0.054818455, 0.10405006, -0.24831708, -0.13658181, -0.0833388, 0.24120714) * go_3(0.0, 1.0); - result += mat4(-0.29441085, 0.03656414, -0.2596772, -0.057041578, 0.1569663, -0.09881767, 0.08505022, -0.01768552, -0.051293768, -0.099874936, -0.05937486, -0.06985686, 0.055836957, 0.12361765, 0.00034758533, -0.16590339) * go_3(1.0, -1.0); - result += mat4(0.08935089, -0.34096143, -0.06724781, 0.057755265, -0.07378229, 0.19852296, -0.101910785, -0.35927492, -0.27025247, 0.077470385, -0.26122475, 0.1062427, 0.34269986, 0.022384735, -0.19875982, -0.046883546) * go_3(1.0, 0.0); - result += mat4(-0.023113059, 0.023807336, 0.04232145, 0.12731242, 0.079464786, 0.10940335, -0.1920892, 0.069054574, -0.046453483, -0.1463778, 0.050447907, 0.37861434, 0.19577271, -0.08457038, 0.055992957, 0.0051751668) * go_3(1.0, 1.0); - result += mat4(-0.0143063385, -0.031832237, -0.081230044, 0.15558316, 0.24739249, 0.06730676, 0.022930989, -0.060339663, 0.16502666, 0.0032860334, 0.13078189, -0.13917513, 0.083792515, 0.038169254, 0.26199514, -0.20886219) * go_4(-1.0, -1.0); - result += mat4(-0.07898116, -0.001202372, -0.1436358, -0.013730994, -0.011920493, 0.067917384, -0.032699063, -0.04563186, 0.16329978, 0.13089089, -0.29516026, -0.17357638, 0.02513132, -0.14417541, -0.0026529275, 0.028195161) * go_4(-1.0, 0.0); - result += mat4(0.1278416, -0.0652329, -0.080299005, -0.054219954, 0.15680717, -0.13077177, 0.25564823, 0.10533668, -0.10988264, 0.3860151, -0.18009946, -0.47674116, -0.10072908, 0.041740764, 0.1123633, -0.04076864) * go_4(-1.0, 1.0); - result += mat4(0.20640877, -0.24586456, -0.10259232, 0.111054115, -0.18076079, -0.22535121, -0.29812837, 0.12035098, 0.027053986, -0.10918923, -0.3172506, 0.11992493, -0.006251823, 0.2550944, -0.15903941, -0.12368186) * go_4(0.0, -1.0); - result += mat4(-0.36056486, 0.25076455, 0.13362978, -0.033405777, -0.32817405, 0.0695707, 0.01829935, -0.08318219, -0.28797764, 0.16128948, 0.14374499, -0.025840933, 0.078341916, 0.13052103, -0.100241534, 0.10946945) * go_4(0.0, 0.0); - result += mat4(-0.07073338, -0.112097755, 0.22497103, 0.13549447, -0.13218129, -0.22181363, -0.13737568, 0.06865537, -0.45603344, -0.35373682, 0.37757057, 0.1678293, -0.029289875, -0.13187636, 0.12758663, 0.04016698) * go_4(0.0, 1.0); - result += mat4(0.040351316, -0.05093577, -0.08653635, -0.007213745, -0.3845516, -0.029778607, -0.47889423, 0.12643112, -0.11173547, 0.043787614, 0.2647412, -0.0109354155, -0.0064909635, 0.106970474, 0.11885388, 0.07061224) * go_4(1.0, -1.0); - result += mat4(0.066118404, 0.1848857, -0.07987121, -0.044921577, -0.0753153, -0.060784195, -0.33154643, 0.116313264, 0.11995535, -0.071781196, -0.24509782, -0.0037734907, 0.037864428, -0.07115049, 0.10189698, 0.13620937) * go_4(1.0, 0.0); - result += mat4(0.15173467, 0.117787406, -0.07836817, -0.06667758, -0.05646272, 0.33135724, -0.37163886, -0.315246, 0.22709703, 0.10267156, -0.07729526, -0.015280573, -0.015122008, 0.03244177, 0.17766209, -0.04914632) * go_4(1.0, 1.0); - result += mat4(-0.07482478, -0.13012838, -0.15759332, 0.015014935, 0.35088012, 0.007073843, 0.24014178, -0.14308095, 0.12774545, 0.18122073, -0.2547015, 0.13359042, -0.0800425, 0.14722595, -0.24495813, -0.013143742) * go_5(-1.0, -1.0); - result += mat4(-0.15018739, 0.075401075, -0.056287423, -0.21596402, -0.106415406, -0.09301949, 0.124646366, -0.07675658, 0.39950943, -0.36134976, -0.20888598, 0.11607109, 0.107587025, -0.1626161, -0.29592493, 0.01726878) * go_5(-1.0, 0.0); - result += mat4(0.042367462, 0.05787438, -0.091712154, 0.26943466, 0.018607875, -0.06306163, -0.044719845, 0.12169627, -0.0043602907, -0.11714036, -0.41751066, -0.11060246, 0.14270274, 0.105742574, 0.162418, -0.016003838) * go_5(-1.0, 1.0); - result += mat4(-0.059574872, -0.16347532, 0.24761298, 0.0098720435, 0.22380106, -0.06946215, -0.011973621, -0.09775447, -0.108043805, -0.18910232, 0.36019576, -0.21156572, 0.008830671, -0.05479997, 0.31133842, 0.037727185) * go_5(0.0, -1.0); - result += mat4(-0.1920284, 0.17142658, 0.05467186, -0.0761654, -0.25932217, -0.16042638, 0.2197324, 0.12581502, -0.48400918, 0.5538232, 0.41044307, -0.17291741, -0.18633147, -0.0820574, 0.038112838, -0.18555504) * go_5(0.0, 0.0); - result += mat4(0.13163397, 0.09845959, -0.21711256, 0.26999414, -0.053519428, -0.029779429, -0.15492497, 0.0993045, -0.16189748, -0.4925058, 0.034618095, 0.085681, 0.16100337, 0.078292616, -0.40945208, -0.15787469) * go_5(0.0, 1.0); - result += mat4(0.20844188, 0.07127721, 0.032387372, 0.033018872, 0.15301323, -0.055671003, 0.25810188, -0.07723897, 0.17080788, 0.12247039, -0.16662452, -0.06526193, 0.1584067, 0.14825343, 0.16793022, -0.055639073) * go_5(1.0, -1.0); - result += mat4(0.31691772, 0.03877285, -0.31999993, 0.15607259, -0.014967208, 0.17467377, -0.021213053, 0.05274054, 0.09042282, 0.3026185, -0.19465268, -0.15643322, -0.28652924, -0.12624627, -0.123150274, -0.06579748) * go_5(1.0, 0.0); - result += mat4(-0.12737115, 0.21119869, 0.021830728, 0.25310937, 0.056086678, -0.10591854, -0.09623413, 0.09552772, 0.0077543957, -0.38552082, 0.105930105, 0.21966095, 0.03846968, -0.18900576, 0.13454477, 0.01323755) * go_5(1.0, 1.0); - result += vec4(0.15939143, -0.031111173, 0.011407361, 0.04436536); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009852172, 0.067582026, -0.004946671, 0.10223505, -0.10428496, -0.025925757, -0.1812229, -0.086897664, -0.007505929, 0.11395492, -0.046959464, -0.040778246, -0.05989385, 0.2917696, 0.21723987, 0.104860075) * go_0(-1.0, -1.0); - result += mat4(0.014223285, 0.23677638, 0.18793987, 0.1604355, -0.13773453, -0.035079855, 0.1325962, -0.01843488, 0.013658427, -0.039640892, -0.049931083, -0.17938142, -0.20694439, 0.13461684, 0.15713528, 0.061465815) * go_0(-1.0, 0.0); - result += mat4(-0.045403525, 0.24799547, 0.073604435, 0.21103963, 0.18720928, -0.06703258, -0.20043622, -0.067137614, -0.19021615, -0.020830747, -0.120527774, 0.20456503, 0.07813807, -0.03798654, 0.04036844, -0.0033802337) * go_0(-1.0, 1.0); - result += mat4(0.10385739, -0.06095687, 0.03991638, -0.119761765, 0.14859357, -0.2436967, -0.033547442, 0.06643773, 0.08074919, 0.00819047, 0.046388235, 0.113080844, 0.093403086, -0.25158677, -0.25340363, 0.043133873) * go_0(0.0, -1.0); - result += mat4(0.13219471, -0.01887069, -0.26465404, 0.012883369, -0.15132889, -0.08190286, 0.1886762, -0.121109776, -0.086888224, -0.13945712, 0.10484367, -0.014462356, -0.04274967, -0.27132213, 0.035799675, 0.18913607) * go_0(0.0, 0.0); - result += mat4(-0.09799585, -0.092021905, 0.042374767, -0.040835217, 0.2207681, 0.19816661, 0.2233777, -0.09462879, 0.174727, 0.067035824, 0.25794062, 0.03356712, 0.09257895, 0.03864686, 0.061125953, -0.10119902) * go_0(0.0, 1.0); - result += mat4(-0.06601051, 0.011512823, -0.13370325, 0.0033915695, 0.0060606156, -0.049539644, -0.1075017, -0.17912976, -0.042368136, -0.011520146, 0.06601078, 0.09978972, -0.0129192965, -0.21929637, -0.018458387, -0.010336992) * go_0(1.0, -1.0); - result += mat4(0.09475364, -0.005993277, 0.09861265, -0.03103845, -0.09583529, 0.058791347, 0.3326168, -0.11607132, -0.028693356, 0.11996273, -0.085005276, -0.029005809, -0.29191923, 0.06689837, 0.10442381, -0.024532465) * go_0(1.0, 0.0); - result += mat4(0.0053415983, 0.06602273, 0.2246564, 0.031501666, -0.14868876, -0.0093808025, -0.34579018, -0.030635692, 0.092459954, -0.039631926, -0.0085174255, 0.022645477, 0.07514861, 0.060552113, 0.06597399, 0.0397574) * go_0(1.0, 1.0); - result += mat4(0.0511157, 0.035152495, -0.19926861, -0.063245155, 0.13407591, -0.1288526, 0.23185496, -0.13392815, -0.09297701, -0.2809779, 0.07520502, 0.022971572, -0.08222417, 0.27030075, -0.10483476, 0.16590133) * go_1(-1.0, -1.0); - result += mat4(-0.30276665, 0.17359875, -0.06072175, -0.036741048, 0.12927541, -0.11135696, -0.1655047, -0.05786224, -0.10111195, 0.03949635, -0.11618777, -0.0020339678, -0.16504388, 0.21188384, -0.24663985, -0.16005285) * go_1(-1.0, 0.0); - result += mat4(-0.18182081, -0.05039593, -0.004631986, -0.03583777, 0.025373073, -0.33103603, -0.12213051, -0.10148533, -0.091509394, -0.13529696, 0.08307632, -0.0025659746, -0.5024331, 0.14926323, 0.05118105, -0.26585025) * go_1(-1.0, 1.0); - result += mat4(0.17135173, -0.23068328, 0.16332187, 0.06196188, 0.0034444374, 0.044823382, 0.010302396, 0.06775431, 0.024591392, -0.054694094, -0.048208185, -0.055681854, 0.08873465, -0.14074552, -0.027211398, 0.23973261) * go_1(0.0, -1.0); - result += mat4(-0.12319059, -0.11429906, -0.36435902, 0.19346023, -0.030743172, 0.383669, 0.009289978, 0.0010576686, 0.17045438, -0.007082544, 0.16374406, 0.32419837, 0.15915118, -0.1356684, -0.13062716, -0.15574396) * go_1(0.0, 0.0); - result += mat4(-0.19135374, -0.2005694, -0.0020886995, 0.01221146, -0.40867472, -0.081229836, -0.16124476, 0.08071337, 0.09998693, -0.061099563, 0.13301264, -0.043883327, 0.11045742, -0.2383618, 0.18627192, -0.35225677) * go_1(0.0, 1.0); - result += mat4(0.37673324, 0.34416032, -0.103333436, 0.13149537, 0.006451586, 0.094312094, 0.08832807, 0.09592083, -0.116452016, 0.1066464, -0.115603626, -0.13193515, -0.13174447, -0.18561727, 0.13020653, -0.13364927) * go_1(1.0, -1.0); - result += mat4(-0.1834991, 0.11584597, -0.04156077, -0.12755936, 0.09659385, 0.08903952, 0.31892854, -0.01448324, -0.008864266, -0.039691996, -0.08322731, 0.095220886, -0.090739064, 0.092071235, -0.2817547, -0.29630283) * go_1(1.0, 0.0); - result += mat4(-0.24098976, 0.101338394, -0.28956947, 0.07237588, -0.10666849, 0.13332452, -0.20815872, -0.00023775037, -0.04327956, 0.0029107686, -0.008416182, 0.097931474, -0.37501606, -0.018609088, -0.10432809, -0.034832) * go_1(1.0, 1.0); - result += mat4(-0.08794669, 0.028736163, -0.17888173, -0.06455644, 0.23870508, -0.23358688, 0.072483465, -0.0085282335, -0.12771352, 0.0380899, -0.25210154, -0.010397481, -0.034966666, 0.08883341, -0.22751594, -0.18751557) * go_2(-1.0, -1.0); - result += mat4(-0.04474889, 0.098189436, -0.10426362, -0.35184658, 0.043526888, -0.36088315, 0.13278794, 0.39718434, 0.0091220355, 0.0041375947, 0.17093311, 0.21236257, -0.10007804, -0.020010212, 0.111889765, 0.17784196) * go_2(-1.0, 0.0); - result += mat4(0.1536085, -0.026586162, 0.12273445, -0.0801658, 0.20678692, -0.11288633, -0.21298888, 0.4272659, -0.027916932, 0.13641946, 0.08454202, 0.15072668, -0.36861306, 0.09071778, -0.23418477, 0.3515129) * go_2(-1.0, 1.0); - result += mat4(-0.035221044, -0.05102627, 0.09558761, -0.008040629, -0.028807933, 0.303477, -0.20610638, -0.044902515, -0.19755092, -0.030813612, -0.17718953, -0.17694841, 0.03633824, 0.13118435, 0.029816214, -0.25406656) * go_2(0.0, -1.0); - result += mat4(-0.14495026, 0.12816216, 0.16447757, 0.031679, -0.044026595, 0.19292583, 0.33260253, 0.10592396, 0.035314452, 0.027002327, 0.06259657, 0.20517996, 0.47153056, 0.33924934, 0.20535454, -0.25056842) * go_2(0.0, 0.0); - result += mat4(-0.18414135, 0.19427143, -0.081241705, -0.01675198, -0.006523895, -0.07718575, -0.09325943, -0.08737854, -0.028951872, -0.17328268, -0.08241532, -0.08835567, -0.21019256, 0.16430716, 0.06124939, 0.035649084) * go_2(0.0, 1.0); - result += mat4(0.016590597, -0.0022054093, -0.1470956, -0.08206723, -0.10903706, 0.0064417794, -0.18528567, -0.34366733, -0.06885517, 0.16456494, -0.018355783, 0.17814603, -0.07158972, -0.28178605, -0.20745122, -0.099933885) * go_2(1.0, -1.0); - result += mat4(0.0065370193, -0.3044895, 0.055263646, 0.075996794, 0.024025463, -0.20411102, -0.01592019, -0.18464315, -0.08999649, -0.048265222, -0.08978591, -0.09877855, 0.4285961, -0.32419163, -0.10149259, -0.112745434) * go_2(1.0, 0.0); - result += mat4(0.06848249, -0.11997486, 0.05998702, -0.024274347, 0.31168294, -0.017959671, 0.34084293, -0.34249943, 0.11690563, -0.11239628, 0.2128415, 0.017396145, -0.14399542, -0.13887884, 0.041329246, -0.099762276) * go_2(1.0, 1.0); - result += mat4(0.11233947, 0.22560616, -0.14853792, 0.0025890833, -0.09261338, 0.026878078, -0.13337374, 0.14549397, 0.105454646, 0.20769532, 0.086635984, 0.05085061, 0.16791524, -0.031017043, 0.043081395, 0.18300867) * go_3(-1.0, -1.0); - result += mat4(0.21579266, -0.29286692, -0.05484676, 0.050306555, -0.1338697, 0.173389, -0.31768104, 0.051908243, 0.03826524, 0.48232502, 0.247302, 0.3487058, 0.28926015, 0.09935225, -0.18840632, 0.08882374) * go_3(-1.0, 0.0); - result += mat4(-0.13517806, -0.40837446, -0.14227843, -0.27239424, -0.3059563, 0.063552625, 0.2631879, 0.56351787, 0.22826865, -0.065214194, 0.22837348, -0.4106273, -0.05822978, 0.13954113, 0.13192196, 0.031006072) * go_3(-1.0, 1.0); - result += mat4(0.14163558, -0.13529845, 0.063847534, 0.066068165, 0.041967303, 0.21868911, 0.22319448, 0.00028246938, 0.07615932, -0.3879002, 0.039115347, -0.08572038, -0.24845092, 0.13100919, 0.253391, 0.22104543) * go_3(0.0, -1.0); - result += mat4(0.15111032, 0.18182786, 0.22756334, -0.008264583, -0.14041592, -0.5454497, -0.5890025, -0.010277932, 0.17194566, -0.14571565, -0.15525545, 0.17403725, 0.09960832, -0.016455285, -0.3584658, 0.3162123) * go_3(0.0, 0.0); - result += mat4(-0.21418694, 0.20062631, -0.0948598, -0.09684068, 0.13923916, -0.09331503, -0.0857385, 0.21380557, 0.020379147, 0.21428087, 0.07388917, 0.089147344, -0.20121545, -0.023731146, 0.3213483, 0.17458193) * go_3(0.0, 1.0); - result += mat4(0.10643249, -0.00972507, 0.022902627, 0.29897237, 0.3299111, 0.085025065, 0.21370107, 0.20150943, -0.30700487, -0.1884155, 0.2567519, 0.00021575678, -0.23836862, 0.35121775, 0.13285181, -0.08186422) * go_3(1.0, -1.0); - result += mat4(0.2257978, -0.044991307, -0.19195051, -0.067948796, -0.119921125, 0.0917341, -0.12133957, -0.0779332, -0.30272362, 0.29493997, -0.1241099, 0.57692826, -0.07721382, 0.23687507, -0.34731215, 0.25507957) * go_3(1.0, 0.0); - result += mat4(0.45565096, -0.15130155, -0.10940018, -0.44904032, -0.15766421, 0.20778829, 0.21851856, 0.1678922, -0.08152111, 0.1772852, -0.2632565, 0.20217079, -0.014408843, 0.021441357, 0.001290681, 0.036566503) * go_3(1.0, 1.0); - result += mat4(-0.1125441, 0.019155068, 0.17547919, 0.010120996, -0.13596916, 0.06777857, -0.18246579, -0.07407904, 0.052627467, -0.12339828, 0.09181331, -0.039406203, 0.06598462, -0.20432016, 0.081749015, 0.016382169) * go_4(-1.0, -1.0); - result += mat4(-0.036727224, 0.05656203, 0.03722875, -0.19623469, -0.12215404, 0.15154731, 0.14583679, 0.13441144, -0.053393483, 0.3686272, -0.55303735, -0.18231596, -0.077573985, -0.17017044, 0.007368884, 0.06776619) * go_4(-1.0, 0.0); - result += mat4(-0.14654772, 0.0642838, 0.21146652, 0.1479552, 0.056684785, 0.08816999, 0.122986056, 0.025765898, 0.03539519, 0.2605786, 0.13069612, 0.2733717, 0.17476462, 0.04350784, -0.11019324, -0.085290305) * go_4(-1.0, 1.0); - result += mat4(0.070716664, -0.034127012, -0.17524591, -0.01733187, -0.0786243, -0.27215844, 0.14767595, -0.028927185, -0.268044, 0.17461409, 0.18505631, -0.07551577, -0.17443672, 0.33642206, -0.10371784, -0.09501668) * go_4(0.0, -1.0); - result += mat4(0.41137508, 0.0039632237, -0.46695748, -0.14406478, -0.03359041, -0.26271477, -0.16481699, -0.23792827, -0.004218498, -0.082102485, -0.5725909, -0.19159988, -0.02892404, 0.018914402, 0.12181954, -0.045662787) * go_4(0.0, 0.0); - result += mat4(0.059361387, -0.06857852, 0.29324803, 0.018895477, 0.5373943, -0.27193475, 0.19632731, 0.07846825, 0.46329513, -0.2541983, 0.3154752, 0.034318704, 0.07056785, 0.09071147, 0.018257828, 0.051888023) * go_4(0.0, 1.0); - result += mat4(-0.01574486, 0.025618032, 0.013175459, -0.05611416, 0.1575709, -0.26184332, 0.14741376, -0.09205734, 0.15314968, -0.033463627, 0.27498275, -0.036637545, 0.07326095, -0.02758785, -0.008260478, -0.033497095) * go_4(1.0, -1.0); - result += mat4(-0.043722082, -0.0053890822, -0.006806792, 0.078156926, 0.28195116, -0.19398853, -0.08171706, -0.13839847, -0.2289849, 0.13469638, -0.3921867, -0.12275613, -0.07401059, -0.08434314, 0.080387615, -0.023079267) * go_4(1.0, 0.0); - result += mat4(-0.18200518, 0.15944996, -0.023199113, 0.03136635, 0.0124006495, -0.30606514, -0.008949306, -0.051349495, -0.039797418, 0.06404064, 0.089617595, 0.08849374, 0.07658024, 0.089631304, -0.021066017, 0.033190813) * go_4(1.0, 1.0); - result += mat4(-0.00024305849, -0.005267714, -0.110663235, -0.1235196, 0.012671297, 0.09886661, 0.2275749, 0.060427323, -0.08923832, 0.06393884, 0.08300952, 0.1602908, 0.08163518, 0.2060279, 0.079629295, 0.09073638) * go_5(-1.0, -1.0); - result += mat4(0.09152832, -0.13788883, -0.0003542848, -0.41267133, 0.06780486, 0.14365548, 0.093432106, -0.14731646, 0.06173505, -0.07698671, 0.13692452, 0.07682172, 0.019543113, -0.07077461, 0.018755287, -0.01956884) * go_5(-1.0, 0.0); - result += mat4(-0.025053086, -0.25834808, 0.27484947, 0.0542093, 0.04252427, 0.11526509, -0.12203397, -0.11198108, -0.122830786, 0.01729993, -0.26451054, 0.08480724, 0.27700573, -0.108406745, 0.21402664, -0.19032313) * go_5(-1.0, 1.0); - result += mat4(-0.01717388, -0.21526851, -0.100241624, -0.33087742, 0.059813473, 0.11764993, 0.046627797, 0.10824857, -0.033078045, -0.07022686, 0.05082029, -0.18696983, 0.06715326, -0.24360675, -0.028528497, 0.03166471) * go_5(0.0, -1.0); - result += mat4(0.18515922, -0.19291987, -0.18511395, -0.16356386, 0.10254811, -0.14086638, -0.05160376, -0.07413514, -0.17066383, -0.1579425, -0.102077566, -0.0865959, -0.06315448, -0.12120578, -0.24788655, 0.045280393) * go_5(0.0, 0.0); - result += mat4(-0.23578815, 0.17898968, -0.076395154, -0.068680935, -0.19281612, 0.0008040003, -0.13505532, -0.010227741, 0.35332572, 0.10865026, 0.14042157, -0.07081392, -0.16093336, 0.02813831, -0.1142879, 0.07591385) * go_5(0.0, 1.0); - result += mat4(-0.10260084, 0.25031334, 0.030233473, 0.18198064, 0.06648322, -0.06662831, 0.29892904, 0.10685262, -0.099214576, 0.20269664, 0.14236231, -0.26043925, 0.17721854, 0.105084695, 0.11604949, 0.07190215) * go_5(1.0, -1.0); - result += mat4(-0.006627316, -0.075635955, 0.37108654, -0.0919607, -0.12985592, 0.112184614, -0.16726716, -0.03870482, 0.01480095, 0.2044233, -0.051372997, 0.21520257, -0.08743421, 0.13153918, -0.15077852, 0.12159706) * go_5(1.0, 0.0); - result += mat4(0.009482551, 0.12501961, 0.38921976, -0.1280031, -0.103060484, -0.027821409, 0.0720024, -0.027280543, 0.056729473, 0.048927493, -0.035154913, -0.08341783, 0.23103711, 0.046025522, 0.17039533, -0.014161812) * go_5(1.0, 1.0); - result += vec4(-0.09157235, -0.025660357, 0.076311104, -0.13737188); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-3x1x1x120 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_7_tf -//!BIND conv2d_7_tf1 -//!BIND conv2d_7_tf2 -//!SAVE MAIN -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_19 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.053345524, 0.066197485, 0.07259881, 0.0, 0.05303127, 0.06742834, 0.07375377, 0.0, 0.094053976, -7.700613e-05, -0.02473139, 0.0, 0.005308593, 0.03030767, 0.039729137, 0.0) * g_0; - result += mat4(-0.108758785, 0.037586506, 0.065435104, 0.0, 0.027483977, -0.05654698, -0.076396726, 0.0, 0.105040714, 0.05024414, 0.021126145, 0.0, -0.0674868, -0.0055504893, 0.02190656, 0.0) * g_1; - result += mat4(-0.053890713, 0.0071396744, 0.016984116, 0.0, -0.045092918, 0.025137635, 0.041979324, 0.0, -0.03408237, 0.0019260172, 0.005701325, 0.0, -0.02040999, -0.01315308, -0.00639404, 0.0) * g_2; - result += mat4(-0.073155664, -0.06887698, -0.072435565, 0.0, -0.08694837, -0.05531286, -0.055365037, 0.0, -0.06690585, -0.00129934, 0.013128711, 0.0, -0.045931015, 0.017999481, 0.021670034, 0.0) * g_3; - result += mat4(0.14758188, -0.052864034, -0.06617946, 0.0, -0.025215192, 0.005785653, 0.02022865, 0.0, -0.07359226, -0.034944568, -0.01911832, 0.0, -0.059109453, 0.0018033485, -0.022261323, 0.0) * g_4; - result += mat4(0.079963796, 0.018210623, -0.0025736517, 0.0, 0.06693135, -0.038985185, -0.04726813, 0.0, -0.03559407, -0.0083629545, -0.005753532, 0.0, 0.043954816, -0.022223696, -0.039470144, 0.0) * g_5; - result += mat4(0.060458526, -0.0033674864, -0.006985535, 0.0, -0.013925546, 0.051077038, 0.053856038, 0.0, -0.033647064, 0.043235198, 0.05311577, 0.0, 0.0391791, -0.044376004, -0.054064214, 0.0) * g_6; - result += mat4(0.0069859014, -0.0050665336, -0.010343517, 0.0, -0.027551029, 0.049856182, 0.058316905, 0.0, 0.0121670095, -0.013107907, -0.0151846, 0.0, 0.007648614, -0.0051277154, -0.0053846613, 0.0) * g_7; - result += mat4(0.06848036, 0.026777437, 0.024801696, 0.0, -0.08711668, 0.049429595, 0.067019165, 0.0, -0.09006778, -0.042166695, -0.02230536, 0.0, -0.048024856, -0.020088708, -0.009932858, 0.0) * g_8; - result += mat4(-0.05171447, 0.0029948682, 0.014913949, 0.0, 0.02287364, -0.042476606, -0.052956346, 0.0, 0.02762833, -0.044026252, -0.056759696, 0.0, -0.0519502, 0.047626793, 0.06422155, 0.0) * g_9; - result += mat4(-0.0031128856, 0.013134638, 0.021534251, 0.0, 0.049189907, -0.039677586, -0.057255603, 0.0, -0.009908353, -0.0013683038, 0.0028079485, 0.0, 0.0002268831, 0.012356764, 0.009817244, 0.0) * g_10; - result += mat4(-0.04058634, -0.01822148, -0.014306331, 0.0, 0.107378654, -0.04138371, -0.058573496, 0.0, 0.03701269, -0.009420217, -0.02310707, 0.0, 0.039931968, 0.001769326, -0.007929419, 0.0) * g_11; - result += mat4(0.027129134, 0.01044246, 0.008198051, 0.0, -0.019978391, 0.014817045, 0.014294805, 0.0, -0.009071333, -0.018233696, -0.020756468, 0.0, -0.016967475, -0.010472854, -0.0066578956, 0.0) * g_12; - result += mat4(0.012473992, -0.019771596, -0.02515739, 0.0, -0.008238026, 0.026189122, 0.034326296, 0.0, 0.01735337, -0.021417223, -0.027291182, 0.0, 0.01815212, -0.012736875, -0.021111157, 0.0) * g_13; - result += mat4(0.022218483, -0.023485998, -0.03540812, 0.0, 0.016531168, -0.0033816632, -0.010179393, 0.0, -0.03181473, -0.0072774286, 0.0014077872, 0.0, -0.0025735856, -0.015998563, -0.016743565, 0.0) * g_14; - result += mat4(-0.01740865, 2.3718083e-05, 0.0032518203, 0.0, 0.009272118, -0.01676428, -0.019791994, 0.0, 0.013665012, 0.02245221, 0.022923533, 0.0, 0.020898446, 0.012111701, 0.009756352, 0.0) * g_15; - result += mat4(-0.0043926076, 0.019400991, 0.022581568, 0.0, 0.003538965, -0.031301565, -0.0345112, 0.0, -0.02405352, 0.006159623, 0.016130725, 0.0, -0.0097925, 0.01677507, 0.027652735, 0.0) * g_16; - result += mat4(-0.03267886, 0.014923966, 0.027258545, 0.0, -0.033668566, -0.010421195, -0.0026646685, 0.0, 0.015094835, -0.0023233194, -0.015871005, 0.0, -0.01258443, 0.00507582, 0.0053544766, 0.0) * g_17; - result += mat4(0.012708346, 0.014336439, 0.012533707, 0.0, -0.0019346073, -0.0070978077, -0.009478742, 0.0, -0.011659758, -0.009855903, -0.008657096, 0.0, 0.0098037105, 0.010785594, 0.008409619, 0.0) * g_18; - result += mat4(0.0056228717, 0.013483413, 0.008108323, 0.0, -0.0013697809, 0.0026797573, 0.0037666177, 0.0, 0.0130932415, 0.019868238, 0.01968549, 0.0, 0.011160769, 0.012374028, 0.012855804, 0.0) * g_19; - result += mat4(0.0011662204, 0.00025071716, 0.0022244148, 0.0, -0.017808594, -0.013589306, -0.01396329, 0.0, -0.008117086, -0.0068251803, -0.004963602, 0.0, -0.0069141523, -0.009125296, -0.008327947, 0.0) * g_20; - result += mat4(-0.027597412, -0.02631107, -0.022816146, 0.0, 0.009350171, 0.013661565, 0.015324706, 0.0, 0.032538984, 0.02918167, 0.026186563, 0.0, 0.018760988, 0.024502547, 0.023201061, 0.0) * g_21; - result += mat4(0.013216693, 0.00991115, 0.01178417, 0.0, 0.0076343333, 0.004714098, 0.0074490295, 0.0, -0.0064893183, -0.014818341, -0.01199717, 0.0, -0.008334491, -0.009955103, -0.011240684, 0.0) * g_22; - result += mat4(-0.013846397, -0.012687341, -0.015767701, 0.0, -0.0019117722, -0.0072347773, -0.0074835457, 0.0, 0.013531867, 0.014263165, 0.012797156, 0.0, 0.008260445, 0.0070536416, 0.0065693366, 0.0) * g_23; - result += mat4(0.0017003485, 0.0021871394, 0.0003407296, 0.0, 0.0054420815, 0.00801073, 0.008788295, 0.0, -0.012685104, -0.0150940735, -0.017530257, 0.0, -0.030698642, -0.030817484, -0.028548386, 0.0) * g_24; - result += mat4(-0.008882145, -0.008943836, -0.007986094, 0.0, -0.010494911, -0.011511255, -0.00892924, 0.0, 0.014072905, 0.014985031, 0.011853883, 0.0, -0.015823284, -0.017817877, -0.01684662, 0.0) * g_25; - result += mat4(0.012270136, 0.011127063, 0.010729208, 0.0, 0.00027298275, 0.001011805, 0.001318525, 0.0, 0.0029811305, 0.0029161042, 0.0060088155, 0.0, 0.00021241597, -0.0013439909, 0.0013205905, 0.0) * g_26; - result += mat4(-0.03467924, -0.035764243, -0.03348244, 0.0, 0.023858175, 0.02580526, 0.026217844, 0.0, -0.016814101, -0.016412167, -0.012021982, 0.0, -0.0007905926, -0.0019904284, -0.0015143935, 0.0) * g_27; - result += mat4(0.046779703, 0.04961137, 0.046104047, 0.0, -0.023665644, -0.022809561, -0.02236428, 0.0, -0.054706786, -0.056090504, -0.052543454, 0.0, -0.015520943, -0.01587306, -0.0142722875, 0.0) * g_28; - result += mat4(0.020273875, 0.020399818, 0.021745082, 0.0, 0.037485637, 0.039574977, 0.03556703, 0.0, 0.036673885, 0.04102765, 0.033708427, 0.0, 0.024422405, 0.027724478, 0.0252598, 0.0) * g_29; - result += vec4(-0.0036656514, 0.006677459, 0.007698717, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl deleted file mode 100644 index f78e294..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl +++ /dev/null @@ -1,873 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.14361712, -0.16690509, 0.37253398, -0.45202538, -0.21331833, -0.32675815, -0.33971128, 0.20261937, -0.20606318, -0.215143, -0.079716705, 0.15640882, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.17360486, -0.3435545, 0.08199117, 0.56259036, -0.120246716, 0.24312893, -0.021436244, -0.11864853, 0.19452724, 0.106943935, -0.077393375, -0.3503661, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.072465785, 0.2772823, 0.25493625, 0.3098145, -0.115831695, 0.072458096, -0.014782132, -0.15310249, 0.12178311, -0.015555423, -0.2229811, 0.16469522, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.18652022, -0.30702665, -0.59921896, 0.079824045, 0.4426619, 0.049343713, 0.44902903, -0.2711445, 0.20470268, -0.029203767, 0.29092675, 0.15562426, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.21041247, 0.48450592, -0.110547826, 0.3842122, 0.5303875, -0.26512837, 0.19846216, 0.045673862, 0.12773214, -0.05117536, -0.03510946, -0.30123934, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.3186735, 0.052702922, -0.12499774, 0.055628903, -0.16476867, 0.12642322, -0.18314636, 0.018323101, -0.3609603, 0.25649396, 0.3185421, -0.0057759956, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.16603558, -0.09259665, -0.28760567, -0.14319661, 0.12511417, -0.12551902, -0.00070228375, 0.20914114, -0.22466865, 0.1064727, 0.32598525, -0.08596318, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.03163653, 0.026722813, -0.4361858, -0.21164834, 0.4176763, 0.08203146, 0.35289326, -0.06128859, 0.20506798, -0.07098943, 0.1807802, 0.2658414, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.09821681, 0.058886815, 0.39192092, -0.06791861, -0.15682612, 0.09503328, -0.23400265, 0.026475023, -0.08800713, -0.043749645, -0.18024494, -0.08045564, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.040999945, 0.075765304, -0.0911532, -0.10705836); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.16406488, -0.2506693, -0.15592022, -0.05529256, -0.3997277, -0.229681, -0.07762124, 0.1843808, 0.07895815, 0.14437248, 0.219114, -0.048090722, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.2150676, 0.09080163, 0.19598733, -0.40578827, -0.33846557, -0.02518622, 0.037079208, 0.20188439, -0.013777575, -0.2369007, -0.30985412, 0.0411912, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.119948365, 0.23014452, -0.14962277, -0.096262485, 0.09625151, 0.2025487, 0.03933539, 0.12268028, -0.24373281, 0.19730613, 0.11634144, 0.12293635, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.08030697, -0.40114692, 0.21532272, 0.20222071, 0.073098, -0.004463858, 0.02820587, -0.18861918, -0.20994501, -0.12444653, -0.23178193, -0.13965288, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.14150894, 0.14563078, 0.697704, 0.20918849, 0.26776335, -0.34291518, 0.06394055, 0.17925078, 0.4165139, -0.042595536, 0.105312675, 0.231854, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.024318576, 0.16668217, 0.0729521, -0.7071404, 0.3121693, 0.37295797, -0.015632952, 0.33763757, 0.00706697, 0.10836652, -0.11132417, 0.292844, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.14489831, 0.0027769986, -0.24509215, 0.5557927, -0.1104541, 0.005070684, -0.020032275, -0.5642205, 0.16048644, 0.07248175, 0.20387374, -0.38145426, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.33140838, -0.007438425, 0.26074782, 0.15947102, 0.219755, -0.14690271, -0.07412696, -0.24176367, -0.2230114, 0.027256912, -0.11255796, -0.05882673, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.19712369, 0.003842208, -0.10893768, 0.09047115, -0.10260409, 0.18662766, 0.009733428, 0.0039940844, -0.006444674, -0.15196493, 0.06641555, -0.06169452, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.029148052, -0.03215124, -0.6175828, 0.057135154); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.05195995, 0.15220909, -0.24354807, -0.109075695, 0.020483498, -0.14830725, 0.0018816335, -0.0072673927, 0.0649385, 0.046050787, -0.10789607, -0.046609525, -0.11455093, -0.009358115, 0.11280759, 0.18053898) * go_0(-1.0, -1.0); - result += mat4(-0.08619698, 0.091353096, -0.16379662, 0.07822936, 0.072919995, 0.1482446, 0.17846228, 0.04639898, -0.18998149, 0.1653338, -0.44187957, -0.010017503, -0.069953404, 0.08784785, -0.16391355, 0.35095468) * go_0(-1.0, 0.0); - result += mat4(0.088297926, 0.27259287, 0.013088447, 0.023461785, 0.10037149, -0.017414214, 0.08559885, -0.10822335, 0.10591637, 0.17240539, 0.15749931, 0.026641782, 0.11889612, -0.018095117, -0.08736018, 0.09934933) * go_0(-1.0, 1.0); - result += mat4(0.21426749, 0.0800268, -0.19816414, 0.07693414, 0.026270509, -0.11724047, 0.026078718, 0.13080709, 0.12207936, 0.056103867, -0.323923, -0.111454345, 0.059245165, 0.07257926, 0.032195322, 0.27225617) * go_0(0.0, -1.0); - result += mat4(-0.20130268, 0.026809234, -0.0020803472, -0.04394057, -0.1982125, -0.033678252, -0.12881789, 0.0025656687, 0.14193355, -0.2541802, -0.13239717, -0.05983356, -0.029376393, 0.33187667, 0.14438996, -0.21993925) * go_0(0.0, 0.0); - result += mat4(-0.12772562, 0.022498213, 0.24753313, 0.07440761, -0.17564529, 0.09971503, -0.013372, 0.09459552, -0.21597451, -0.40116546, 0.23446435, 0.1515452, 0.050813515, 0.19662157, -0.10604596, -0.24638489) * go_0(0.0, 1.0); - result += mat4(0.23866327, -0.2706382, -0.07480157, 0.03789501, 0.117716484, -0.095995456, -0.0435066, 0.013025061, -0.029759895, -0.036287807, 0.08570493, 0.030151363, 0.18863682, -0.27228612, 0.020479294, -0.07058746) * go_0(1.0, -1.0); - result += mat4(0.0026758043, -0.20750894, 0.2802277, -0.07761428, -0.012089615, -0.112726666, -0.03867965, -0.085082226, 0.034227375, 0.19662802, 0.26272395, 0.036822405, -0.23040786, -0.20173554, 0.07110236, -0.26939383) * go_0(1.0, 0.0); - result += mat4(-0.14012688, -0.067249745, 0.14726773, -0.0070919944, 0.19275497, 0.04460783, 0.18776374, -0.019941995, -0.076159865, 0.002261728, 0.238768, 0.039375026, 0.13200568, -0.023286859, 0.034387972, -0.01827453) * go_0(1.0, 1.0); - result += mat4(-0.0107542025, -0.13001555, 0.06596806, -0.03370635, -0.024291076, 0.10367739, -0.03396605, 0.041960735, 0.16230568, 0.024845246, -0.016806586, 0.22547007, -0.025378102, 0.064547986, -0.2113137, 0.042272836) * go_1(-1.0, -1.0); - result += mat4(-0.2219356, -0.049535394, 0.10289468, 0.14175911, 0.013058568, -0.15909089, -0.02546921, 0.11721571, 0.13020545, 0.39660174, -0.07601573, -0.16366366, -0.023935124, 0.06681424, -0.26143414, -0.07485668) * go_1(-1.0, 0.0); - result += mat4(0.1405031, -0.0645044, -0.15865614, 0.1829069, -0.22526503, 0.08991175, 0.041972812, -0.012462953, 0.3022753, 0.19457603, 0.022607598, -0.25460255, 0.028327515, 0.14420614, -0.077984214, 0.09278112) * go_1(-1.0, 1.0); - result += mat4(0.13224132, 0.13115089, -0.188987, -0.19428022, -0.080641985, 0.20909777, 0.067079, -0.19832124, 0.13150498, 0.04450851, -0.2770351, -0.010381239, 0.32295567, 0.04445836, 0.030657565, 0.020271502) * go_1(0.0, -1.0); - result += mat4(-0.08188993, 0.039709873, 0.16059989, -0.13279189, 0.11389818, -0.071865685, 0.09312801, -0.08816363, -0.65844774, -0.6854379, 0.21431407, 0.597198, -0.3734657, -0.116027676, 0.015932929, -0.0653176) * go_1(0.0, 0.0); - result += mat4(0.24136105, 0.21444799, -0.14235207, 0.08445492, 0.017335927, -0.49877876, -0.06224622, 0.1571534, 0.035594277, 0.059829034, 0.087631516, -0.17090686, -0.005452869, 0.13786094, 0.27586326, 0.046760406) * go_1(0.0, 1.0); - result += mat4(0.095078, 0.30310658, 0.010268592, 0.18540539, -0.20722823, -0.0005848572, -0.06464327, -0.111019135, -0.07837157, -0.12183798, -0.09187498, -0.3368629, -0.08216629, -0.20095807, 0.009563313, 0.024838416) * go_1(1.0, -1.0); - result += mat4(0.28712475, 0.0641969, -0.034764312, 0.13600683, -0.09211094, 0.009699817, -0.001104855, -0.026146285, 0.33425868, -0.16132632, 0.18051304, -0.104004376, 0.20768233, 0.0888418, 0.050057285, -0.020228952) * go_1(1.0, 0.0); - result += mat4(0.11642946, -0.021900529, -0.08910504, 0.15492517, -0.19726521, 0.1434987, -0.24708387, 0.006737377, 0.11353539, -0.15897587, -0.029491093, 0.06002862, -0.09640613, -0.11342702, 0.21375169, 0.0062719737) * go_1(1.0, 1.0); - result += mat4(-0.15513068, -0.3151456, 0.20799752, -0.07449935, -0.09226967, 0.112302735, -0.16211908, -0.37986508, -0.27418482, -0.10445544, 0.21112369, -0.06780466, -0.062341, 0.07758948, -0.012719117, -0.16481343) * go_2(-1.0, -1.0); - result += mat4(0.16382848, 0.14490448, -0.012869055, 0.1804095, -0.05304844, -0.14624795, -0.14816979, -0.17435774, 0.25356865, 0.11435022, 0.19412366, 0.19499794, -0.10189348, 0.023880519, 0.16822465, -0.17454338) * go_2(-1.0, 0.0); - result += mat4(0.04854064, 0.11944563, 0.022984248, -0.0852543, -0.0077684796, -0.044182744, -0.02888099, 0.27452356, -0.07887827, -0.15155658, -0.12841311, -0.21202831, -0.18533322, -0.05852455, 0.0761054, -0.22115342) * go_2(-1.0, 1.0); - result += mat4(-0.21520375, 0.11415518, 0.18909843, -0.16420493, -0.20909967, -0.3257246, 0.29332343, -0.029541709, -0.1679851, 0.14073059, 0.32720464, 0.13311239, -0.0021121972, -0.08773544, -0.045532625, 0.36960867) * go_2(0.0, -1.0); - result += mat4(0.58407414, -0.23632582, -0.16739567, 0.264173, 0.09584864, 0.18455075, 0.20051196, -0.04616608, 0.13441175, -0.0055764276, -0.08625195, 0.097847305, 0.19565724, -0.12183587, -0.11488796, 0.2520169) * go_2(0.0, 0.0); - result += mat4(0.01584208, -0.31471413, 0.017104283, 0.0682452, 0.18728764, 0.042960413, 0.06437809, -0.14483811, 0.13882554, 0.016576322, -0.029599546, 0.034904055, -0.20939542, -0.10213055, 0.08821727, 0.0030552552) * go_2(0.0, 1.0); - result += mat4(-0.2973797, 0.15791039, 0.10811437, -0.07947077, -0.26328024, -0.061920475, 0.12498813, 0.100570425, -0.018922925, 0.002256239, -0.094379805, -0.032315314, 0.48677605, -0.04879864, 0.028028104, -0.14557233) * go_2(1.0, -1.0); - result += mat4(0.016148027, 0.13884154, -0.19554809, -0.006344376, -0.013450252, 0.2581758, 0.10643088, 0.23465036, -0.078438915, -0.099644944, -0.1442203, -0.2285087, 0.33528957, -0.17052084, -0.26595074, 0.14794162) * go_2(1.0, 0.0); - result += mat4(0.041404825, -0.0813985, -0.19863169, -0.008302881, 0.023570588, -0.043578386, -0.20971186, 0.14654282, 0.048436746, 0.11266723, -0.25812748, -0.03340969, -0.18430679, -0.046258014, -0.007674466, -0.037139155) * go_2(1.0, 1.0); - result += mat4(-0.060693484, -0.08285047, 0.06638212, 0.18479855, 0.11099276, -0.14470962, 0.16915078, 0.32247669, -0.10845523, 0.0027510398, -0.014941873, -0.15779859, 0.051481526, -0.14748912, 0.12125527, -0.059839584) * go_3(-1.0, -1.0); - result += mat4(0.27571446, 0.01663349, -0.057985745, -0.089736536, -0.09541078, 0.18101417, 0.084854685, 0.11060913, 0.05631825, 0.066835634, -0.02837782, -0.049748126, -0.050051138, -0.05126488, 0.27121767, 0.06331115) * go_3(-1.0, 0.0); - result += mat4(-0.13630085, -0.03787764, 0.13351586, -0.024081819, 0.10403757, -0.0034796793, -0.04838045, -0.064052396, -0.34672704, -0.06271465, -0.024577484, -0.13450806, -0.013759927, 0.11706738, 0.07913658, -0.016639082) * go_3(-1.0, 1.0); - result += mat4(-0.023730129, 0.020174952, 0.048988737, -0.013395666, 0.0073305597, 0.059409764, -0.27721968, 0.13349204, -0.022947624, 0.112007216, -0.008175606, -0.14903043, -0.35755506, -0.02145208, -0.021762518, -0.17889674) * go_3(0.0, -1.0); - result += mat4(0.19315337, 0.16287236, -0.07667863, -0.020898499, -0.021058874, -0.20849414, -0.3571716, -0.13001479, 0.44977963, 0.016706442, -0.03471178, 0.35189477, 0.3050666, -0.019236205, 0.16278796, 0.3093703) * go_3(0.0, 0.0); - result += mat4(-0.1507458, -0.13747548, -0.05822537, 0.16035356, -0.08386089, -0.03476887, -0.0022021863, -0.032772254, 0.17572841, 0.004200287, 0.045312192, 0.27265742, -0.037853006, -0.056344658, -0.3095155, 0.15215549) * go_3(0.0, 1.0); - result += mat4(0.11428048, -0.19523771, 0.016499955, -0.03625986, 0.15670861, -0.077859454, -0.059640404, 0.023970904, -0.009806148, 0.0904747, -0.006978744, 0.15938658, 0.030886533, 0.13507655, -0.002613293, -0.1335748) * go_3(1.0, -1.0); - result += mat4(-0.20070468, 0.06281564, -0.026250493, -0.042895693, -0.06574456, 0.10412931, 0.12061968, -0.0750467, -0.10865931, -0.05715226, -0.022071969, 0.02608941, -0.21416737, -0.18582128, -0.091236554, -0.044943426) * go_3(1.0, 0.0); - result += mat4(-0.057988428, 0.21430638, -0.17991407, -0.051662743, 0.060244065, -0.021494022, -0.018070806, -0.09278776, -0.011404125, 0.064091586, 0.12852973, -0.16610947, 0.08740408, 0.045517463, -0.27932477, 0.11050971) * go_3(1.0, 1.0); - result += vec4(0.012687187, -0.11876551, -0.041985378, -0.10110911); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.07579397, 0.008718031, 0.03874428, -0.022123579, 0.064964466, -0.27502275, -0.0053009577, 0.11669645, 0.007708085, 0.009340055, -0.13001843, -0.03758108, -0.07045759, -0.08749642, -0.21329811, 0.13205966) * go_0(-1.0, -1.0); - result += mat4(-0.14087188, -0.12068241, 0.046639618, 0.05115712, 0.108357444, -0.05040456, 0.03280633, 0.09336891, -0.055509757, -0.036777936, 0.043575723, -0.041975956, -0.17782387, -0.12977566, -0.0736514, 0.17304243) * go_0(-1.0, 0.0); - result += mat4(-0.2638534, 0.0385968, 0.14743716, 0.18057759, -0.036564615, 0.107838504, 0.08324167, 0.13403444, -0.41366392, 0.072824344, -0.013165103, 0.06114856, -0.040475495, -0.14222278, 0.10455181, 0.0021660402) * go_0(-1.0, 1.0); - result += mat4(0.30221993, -0.06315301, 0.057081617, -0.020285107, 0.053984016, 0.13086873, -0.30863532, 0.028010197, 0.0070908144, 0.19940577, -0.013766302, -0.039389495, 0.28064504, 0.05970737, 0.074613005, -0.10217121) * go_0(0.0, -1.0); - result += mat4(0.042094592, -0.1725651, 0.3514404, 0.008126955, 0.08739713, 0.081543595, -0.12912413, 0.0854203, 0.28885832, 0.107783586, 0.22996111, 0.13907135, 0.071920335, -0.15172984, 0.07151959, 0.1406894) * go_0(0.0, 0.0); - result += mat4(-0.1072496, 0.03934067, 0.20014063, 0.051399443, -0.29610988, 0.18659018, -0.17761967, 0.08701774, -0.17493258, -0.08035252, 0.03155133, -0.13986085, 0.023490375, 0.083998375, 0.014006612, 0.03860323) * go_0(0.0, 1.0); - result += mat4(0.09324427, 0.10990628, -0.18758917, 0.0054821614, -0.09425237, 0.1192338, -0.063183226, -0.15047066, 0.15664004, 0.037881903, -0.06762073, 0.09622682, 0.028449943, -0.25338468, -0.18897526, -0.18360007) * go_0(1.0, -1.0); - result += mat4(0.030310342, 0.2083269, -0.04938559, -0.009608655, 0.019751158, 0.12257741, 0.090964966, -0.09864261, 0.058817703, -0.053385522, 0.15931179, -0.10585003, 0.06986225, 0.3435001, -0.33307528, -0.14035752) * go_0(1.0, 0.0); - result += mat4(0.13506691, -0.00015406386, -0.15279713, -0.2290177, 0.019568326, 0.41041428, 0.10566904, -0.08350839, 0.19839814, -0.31052053, -0.04471875, 0.07629561, -0.117245845, 0.19819061, 0.1683647, 0.11896638) * go_0(1.0, 1.0); - result += mat4(0.06920538, 0.2656798, -0.06529862, -0.1695985, -0.21614018, 0.17208195, 0.123307765, -0.061470803, 0.07827313, -0.18543327, 0.0937214, 0.098630935, -0.17667519, -0.01978596, -0.09126346, -0.034487445) * go_1(-1.0, -1.0); - result += mat4(0.030779282, -0.24423946, -0.08623178, 0.1490136, 0.029337894, 0.17548573, -0.05990294, -0.29123273, -0.10020608, -0.3527181, -0.105286725, 0.27502912, -0.25686985, 0.18521136, -0.110095225, -0.07999611) * go_1(-1.0, 0.0); - result += mat4(-0.03266192, 0.045139533, -0.03275437, -0.13748369, 0.15633966, 0.089048125, -0.07592367, -0.09013536, -0.18907873, 0.08265683, -0.069233745, 0.27151683, -0.0647864, -0.15308899, 0.021954, 0.05528693) * go_1(-1.0, 1.0); - result += mat4(0.10284642, -0.14667438, 0.18669777, 0.053000864, -0.12383836, -0.037600834, 0.29438737, 0.04739594, 0.07846367, -0.11676573, -0.048153553, -0.34298027, 0.028358897, 0.119508564, 0.08012271, -0.019992562) * go_1(0.0, -1.0); - result += mat4(-0.22123314, -0.2223458, 0.002969434, -0.07143056, 0.027859585, 0.010600199, 0.056626067, 0.15160584, -0.16350581, -0.044484995, -0.1805076, 0.33351076, 0.073631234, 0.0167081, 0.15704727, 0.107799366) * go_1(0.0, 0.0); - result += mat4(-0.006882137, 0.19744347, 0.041128602, 0.17459555, 0.10376277, -0.12519689, 0.0993647, -0.13044195, 0.10485074, 0.1712284, 0.13369127, 0.24649777, -0.038975652, -0.24550107, 0.19567624, -0.09961197) * go_1(0.0, 1.0); - result += mat4(0.24763626, -0.0902329, 0.21201743, 0.078442305, 0.013261817, -0.019013328, -0.07576136, 0.14993069, -0.24216306, -0.05666454, -0.064632, -0.38150248, 0.14649945, -0.020437164, -0.13821694, -0.026110074) * go_1(1.0, -1.0); - result += mat4(0.21790951, -0.08288076, 0.011415891, -0.1446542, -0.15910968, -0.21221179, -0.06154624, -0.028623452, 0.10872824, 0.17089185, 0.26339474, -0.42544034, 0.095593184, 0.20962211, 0.0034138034, 0.024243662) * go_1(1.0, 0.0); - result += mat4(-0.050784085, 0.06333505, 0.041011192, 0.17474842, 0.14517011, -0.4340653, -0.10313813, 0.12524489, 0.18353751, 0.4589042, -0.037463415, 0.07841999, -0.114173576, -0.10669665, 0.029463472, -0.14393249) * go_1(1.0, 1.0); - result += mat4(0.12771326, -0.06622126, 0.08327681, -0.15113758, -0.114005744, 0.059280578, 0.04071302, -0.11074485, -0.23312584, -0.032968838, 0.13736604, -0.15776984, 0.067029156, 0.0580463, 0.20655325, -0.2112593) * go_2(-1.0, -1.0); - result += mat4(0.16148107, 0.02879793, -0.24918973, 0.009605728, -0.102177374, 0.050518002, -0.00015101423, -0.046602443, 0.5081422, -0.044740383, -0.06243097, 0.076031074, 0.1157983, 0.03965003, 0.109161526, -0.36589798) * go_2(-1.0, 0.0); - result += mat4(-0.018941574, 0.000912917, -0.2585099, 0.13668273, 0.062664494, -0.09246434, -0.14594543, -0.11160076, 0.015663203, -0.02447256, -0.070794076, 0.11807077, 0.12931514, 0.14109722, -0.07506544, -0.012781477) * go_2(-1.0, 1.0); - result += mat4(-0.48816162, 0.16294348, 0.011336221, 0.107038386, -0.01978858, 0.039453425, 0.112853855, 0.007536018, -0.005471479, -0.11315905, 0.032013394, 0.11523904, -0.2504089, 0.04803124, -0.09689627, 0.24372064) * go_2(0.0, -1.0); - result += mat4(0.61343086, 0.09531598, -0.24803302, 0.23788263, 0.13495958, 0.24733612, 0.1575427, -0.06863399, 0.2341275, -0.15821049, -0.165848, 0.0290172, -0.010136783, 0.04415787, -0.2619951, 0.09987892) * go_2(0.0, 0.0); - result += mat4(0.19411229, 0.24528526, -0.250216, -0.33602244, 0.17639299, -0.052413136, 0.122578874, 0.028618507, 0.25713214, 0.22033587, -0.19680484, 0.028938502, -0.083384775, -0.06476429, 0.036840588, -0.14297847) * go_2(0.0, 1.0); - result += mat4(-0.2897587, -0.12176407, 0.19259763, -0.106649496, -0.026704982, -0.036201328, -0.06753124, 0.37967134, -0.20092241, 0.006229027, 0.12085137, -0.09810282, -0.1501556, -0.0099991355, 0.25044358, 0.08538966) * go_2(1.0, -1.0); - result += mat4(-0.11304407, -0.24147832, 0.21644448, -0.035938095, -0.036439262, -0.042730987, -0.04384442, 0.10325233, -0.32405272, -0.11873838, -0.15075137, -0.036929503, -0.10808143, 0.25799102, 0.13749036, 0.5451476) * go_2(1.0, 0.0); - result += mat4(-0.24142508, -0.04895773, 0.09022442, 0.2821465, -0.06298706, -0.1807906, 0.02960867, 0.22310257, -0.1915311, 0.2900501, 0.1670845, -0.080343634, 0.25779882, -0.27144584, -0.23575482, -0.14724477) * go_2(1.0, 1.0); - result += mat4(0.020742219, -0.10571064, -0.0010137435, 0.14439318, 0.32805952, -0.027505733, -0.07111945, 0.07043296, -0.09525604, 0.03175366, -0.14633068, -0.15810682, 0.18050082, 0.08191363, 0.07047039, 0.0018573351) * go_3(-1.0, -1.0); - result += mat4(-0.023874652, 0.14996628, 0.11298528, -0.1508891, -0.052415725, -0.02570088, 0.0055150646, 0.16365297, -0.046594325, 0.18095094, 0.09934885, -0.066233225, 0.2404304, -0.112728044, 0.14004207, 0.11369578) * go_3(-1.0, 0.0); - result += mat4(0.14799033, 0.025304591, 0.031008242, 0.03795376, -0.15800071, -0.043169834, 0.10797239, 0.17129694, 0.09674189, -0.11010672, 0.07283912, -0.11063907, 0.108249694, 0.025199141, 0.09162024, -0.1827302) * go_3(-1.0, 1.0); - result += mat4(-0.08983324, 0.07823903, -0.137839, 0.11909572, 0.11996334, -0.05947995, -0.25459376, -0.18159851, 0.044489045, 0.052461334, 0.13674203, 0.12579007, -0.33665392, -0.07313439, -0.013640538, -0.010538632) * go_3(0.0, -1.0); - result += mat4(0.0884388, -0.10034604, 0.047238693, 0.12025125, -0.16648497, -0.20305477, 0.08240087, -0.17453992, 0.19033237, 0.28438845, -0.32885036, 0.14011146, -0.13389368, -0.012868356, -0.15273216, -0.19119217) * go_3(0.0, 0.0); - result += mat4(0.09196779, -0.13800567, 0.08842335, -0.18658079, 0.17512907, 0.021311145, -0.06347847, -0.13827331, -0.10689703, -0.1707886, -0.15724367, -0.167876, 0.22493233, 0.3070637, -0.035266686, -0.0068385694) * go_3(0.0, 1.0); - result += mat4(-0.2739973, 0.07336105, -0.196827, 0.060224827, 0.05752693, -0.014346674, 0.025412507, -0.27530053, 0.27755278, -0.07631679, -0.053861864, 0.113329165, -0.31025892, -0.012681806, 0.06228483, -0.054306302) * go_3(1.0, -1.0); - result += mat4(-0.16827694, 0.16333361, 0.068389125, 0.24560109, 0.11659498, 0.052896734, -0.020310031, -0.17830387, -0.07551057, -0.01822214, -0.037451357, 0.24607496, -0.2033962, -0.11107965, 0.05005381, 0.13685274) * go_3(1.0, 0.0); - result += mat4(0.13665263, -0.24541081, 0.0012457973, -0.012630116, -0.09559698, 0.17756529, -0.039300505, -0.044217475, -0.22984356, -0.2294885, 0.104534455, -0.04131095, 0.084843494, 0.038027752, -0.106351435, 0.18853655) * go_3(1.0, 1.0); - result += vec4(0.010324113, -0.01262194, 0.0762259, -0.014071781); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06961854, 0.06914646, 0.120440066, -0.04889646, -0.012870159, 0.01994181, 0.052958567, -0.14740478, -0.0027199117, -0.004924673, 0.10131955, -0.11496505, -0.06742836, 0.08287776, 0.11206167, -0.021625644) * go_0(-1.0, -1.0); - result += mat4(-0.025003597, 0.05389498, 0.14938618, 0.12255602, 0.050963886, 0.16300994, 0.17633909, 0.03229484, 0.2092038, 0.13367431, -0.09538967, 0.1636076, -0.022082182, 0.10898033, 0.0422286, -0.062253885) * go_0(-1.0, 0.0); - result += mat4(-0.0018258828, 0.08333001, 0.002765037, -0.022241322, 0.1628206, 0.14671557, 0.3001151, 0.030986495, 0.05225914, -0.04880372, 0.15963705, 0.17972782, 0.055128947, 0.114626616, 0.03460699, -0.07679627) * go_0(-1.0, 1.0); - result += mat4(-0.08866054, 0.0882386, 0.13833097, -0.079257324, -0.03060485, 0.049487974, 0.092268504, -0.17009564, 0.021603461, 0.20750603, 0.18884364, -0.10977116, 0.31758478, 0.053426504, 0.093257, 0.14912026) * go_0(0.0, -1.0); - result += mat4(0.13069148, 0.21368778, -0.4405162, -0.009193694, 0.090230525, -0.15897161, -0.005089127, -0.06011075, -0.27336648, -0.021869129, -0.2084852, -0.0850094, -0.10896211, 0.27229342, -0.044210993, -0.03346366) * go_0(0.0, 0.0); - result += mat4(0.05807779, 0.08506817, 0.23984064, 0.12547795, 0.036945213, 0.039088245, -0.10716132, -0.15966031, 0.13548918, 0.07746645, -0.248966, -0.15717135, -0.059498273, 0.0088413125, -0.02828682, -0.021795277) * go_0(0.0, 1.0); - result += mat4(0.013289853, 0.007272393, 0.06875863, -0.053158432, -0.03578172, 0.20148727, 0.1961931, -0.16910668, 0.03259818, 0.054221123, -0.0326064, 0.06493197, 0.053533003, -0.11878436, 0.14398894, -0.17543368) * go_0(1.0, -1.0); - result += mat4(-0.17906332, 0.1111989, 0.047910325, 0.11560207, 0.09790123, -0.2023765, 0.04265116, 0.0075303926, 0.012974969, -0.0853146, -0.04037416, 0.14489946, -0.0716403, -0.055603035, -0.30376709, -0.011667526) * go_0(1.0, 0.0); - result += mat4(-0.053314358, -0.012657763, 0.0077033425, 0.12168191, 0.016371705, 0.11979062, -0.08494259, -0.009617431, 0.1303907, 0.043279216, -0.17285421, 0.15823162, -0.030746695, 0.121796146, 0.13097613, 0.0024783302) * go_0(1.0, 1.0); - result += mat4(-0.11677548, -0.06592395, -0.022185773, 0.0031006308, -0.00906918, -0.0006412884, -0.00083743286, 0.083697535, -0.060518038, 0.14058606, 0.122444086, 0.17866874, 0.02376487, -0.06369968, -0.026537767, 0.21466877) * go_1(-1.0, -1.0); - result += mat4(0.12340551, -0.015656117, 0.051990572, 0.04361656, -0.05291406, 0.10119005, 0.17603071, 0.10464767, 0.03288951, 0.091776796, -0.17373918, -0.12871055, 0.10205503, -0.17783496, -0.17020486, -0.09781929) * go_1(-1.0, 0.0); - result += mat4(-0.01845568, -0.008877597, 0.14279746, 0.031775143, 0.041680444, 0.08784194, 0.044564564, -0.0011678484, -0.010219994, 0.10472676, 0.046920944, -0.110975444, -0.1197329, -0.11303071, -0.14893234, -0.091113724) * go_1(-1.0, 1.0); - result += mat4(-0.03856561, -0.12173735, 0.040876064, 0.13847597, -0.14995924, -0.13332345, 0.18687452, -0.22562599, 0.08920785, -0.0017916666, 0.019448435, 0.2306492, -0.054546747, -0.1465318, -0.10628867, -0.0073827514) * go_1(0.0, -1.0); - result += mat4(0.12689775, 0.11765595, 0.13039489, 0.06940679, 0.2672624, -0.03880143, -0.11693099, -0.05516293, -0.09665274, -0.2583138, 0.22954193, -0.19324702, -0.39629623, -0.35457405, 0.10052407, -0.19756024) * go_1(0.0, 0.0); - result += mat4(-0.06307673, -0.096393906, -0.0075868783, -0.25133502, 0.03436604, -0.008201423, 0.06386583, 0.106548436, 0.014626536, 0.03485315, -0.043418273, -0.1141408, 0.005102567, -0.11701804, -0.01645601, -0.057083) * go_1(0.0, 1.0); - result += mat4(-0.019062268, 0.020416953, -0.08854219, -0.037497565, 0.09449262, -0.09127615, -0.063330196, 0.08736769, -0.12394077, -0.17950213, -0.11101161, 0.16013645, -0.09370585, 0.0047447495, -0.04288296, 0.00314098) * go_1(1.0, -1.0); - result += mat4(-0.08263743, -0.14441489, -0.14886282, -0.05694989, 0.4254853, 0.10864832, 0.26322174, -0.042006254, 0.24269578, -0.053833783, -0.11558995, -0.066605136, -0.064816564, -0.25914803, -0.017624624, 0.0402331) * go_1(1.0, 0.0); - result += mat4(-0.100058846, -0.030422715, -0.19600148, -0.13322774, 0.1796998, 0.087852575, 0.07324559, -0.0047889417, 0.007248384, 0.08930289, 0.09643387, -0.0060126656, 0.16357517, -0.06628222, 0.030618697, 0.097391844) * go_1(1.0, 1.0); - result += mat4(0.09539377, -0.10802722, -0.014952347, 0.1683223, -0.03919409, 0.041155327, -0.012186347, -0.030456683, -0.015024977, 0.061710294, 0.00049987395, 0.27338788, 0.04845922, -0.014114694, -0.06371904, 0.008664) * go_2(-1.0, -1.0); - result += mat4(0.063082814, -0.02755945, -0.15663072, -0.053271208, 0.070173115, 0.038125586, -0.11840675, -0.016337764, -0.07963128, -0.06404943, 0.23033784, -0.007848355, -0.04434174, -0.092422634, -0.013985954, -0.038096108) * go_2(-1.0, 0.0); - result += mat4(0.037121523, -0.020622304, 0.086708754, 0.045878958, -0.13188364, -0.022858748, -0.22411314, -0.08116162, 0.048863005, 0.039260563, -0.04934298, 0.11015131, 0.028177079, 0.025245499, 0.1067935, 0.15324049) * go_2(-1.0, 1.0); - result += mat4(0.068235874, -0.14401375, -0.032677606, 0.02996807, -0.11290208, 0.114133574, -0.09627152, 0.053930115, 0.14560424, -0.15935057, -0.13495773, 0.29710987, -0.23231608, 0.14334352, 0.070753984, -0.08189047) * go_2(0.0, -1.0); - result += mat4(-0.22378983, -0.09858718, 0.30114698, -0.0048736916, 0.02198528, 0.21444769, -0.11228022, -0.14812283, 0.092372194, 0.1598949, 0.2534843, 0.4932573, -0.16642319, 0.12972073, -0.04147445, -0.09365905) * go_2(0.0, 0.0); - result += mat4(-0.132199, -0.0798279, -0.18289213, -0.15133642, -0.033057958, 0.007495456, 0.070398286, 0.049111973, -0.03361502, 0.032059964, 0.003850814, 0.22922683, 0.20279214, -0.07350396, 0.27681342, 0.11891455) * go_2(0.0, 1.0); - result += mat4(-0.095355205, -0.08533997, -0.043466177, 0.03183743, 0.0048090555, -0.07969942, -0.044769235, 0.15350139, 0.06485437, -0.027922742, 0.0850892, 0.00069019396, 0.035737295, 0.20380683, 0.03413393, 0.025630401) * go_2(1.0, -1.0); - result += mat4(0.26616514, -0.024066277, 0.09220501, 0.09643391, -0.014585791, 0.22894275, -0.053128377, -0.08719867, -0.08819027, 0.01932318, -0.113633566, -0.15435793, 0.10542983, 0.029819246, 0.33675614, -0.059085276) * go_2(1.0, 0.0); - result += mat4(-0.031325538, 0.040770013, -0.049561024, -0.2095101, -0.09537227, -0.075998954, -0.04323478, -0.05470401, -0.110066876, 0.059249427, -0.042351052, -0.047700178, 0.21932366, -0.12850443, 0.035361454, 0.013699006) * go_2(1.0, 1.0); - result += mat4(-0.08417607, 0.113477044, 0.03574209, 0.007835156, 0.2021717, 0.030678429, 0.19313626, -0.03506592, 0.04233059, -0.08540689, -0.07128929, -0.13245375, -0.08918939, -0.042622462, 0.19011301, -0.18228586) * go_3(-1.0, -1.0); - result += mat4(-0.19981891, -0.16255717, 0.042949058, -0.06921157, 0.279451, -0.11536949, -0.13747527, -0.10020231, -0.013784027, -0.06727259, 0.3556115, 0.08460814, -0.15348805, -0.07692103, -0.018658075, 0.0037634284) * go_3(-1.0, 0.0); - result += mat4(-0.09063814, -0.036312047, 0.13528036, 0.0070792423, 0.11834377, 0.02331524, 0.09386154, 0.07144935, 0.033078104, -0.1397121, 0.09283168, 0.2118868, -0.06313442, 0.032146804, 0.0060367053, 0.005822348) * go_3(-1.0, 1.0); - result += mat4(0.035949346, 0.06469895, -0.0051385965, -0.078584194, 0.43195483, 0.0045206803, -0.24012396, 0.21436183, -0.013394304, -0.04198491, 0.06645506, -0.23869638, -0.02311661, 0.06589808, 0.16800866, -0.21120183) * go_3(0.0, -1.0); - result += mat4(-0.24937367, -0.042277586, 0.08117994, 0.3105402, -0.26087892, -0.10325264, -0.08689298, 0.0064907144, 0.031937066, 0.09783758, -0.9514562, -0.104631096, 0.27990052, 0.36389935, 0.057687905, 0.14072314) * go_3(0.0, 0.0); - result += mat4(-0.19865227, 0.09398578, 0.06911146, 0.13077813, 0.024283953, -0.0036808057, -0.036725305, -0.024085987, 0.061556816, 0.0029027078, 0.24621862, 0.112107046, 0.068239614, 0.052718107, 0.20803368, 0.065064415) * go_3(0.0, 1.0); - result += mat4(-0.055511028, -0.08662344, -0.074801624, -0.021917107, 0.18730342, 0.047116343, 0.14872652, 0.10580926, 0.16962165, 0.16628978, 0.17343876, -0.1697205, 0.047853447, -0.22705628, 0.031780355, -0.09273609) * go_3(1.0, -1.0); - result += mat4(-0.17306295, -0.067308225, -0.17174196, -0.13221754, -0.24622467, 0.029901514, -0.12799668, -0.04145667, -0.14546, 0.013308366, 0.028113116, 0.1678875, 0.07922657, -0.015584258, 0.17059629, 0.07330948) * go_3(1.0, 0.0); - result += mat4(-0.09916512, 0.0623665, -0.022458963, 0.061962493, 0.18569344, -0.06590287, 0.111395456, 0.08477448, -0.03609452, 0.024279302, -0.083497405, 0.06459743, -0.22963138, -0.12262581, 0.006980887, -0.06653474) * go_3(1.0, 1.0); - result += vec4(-0.023354841, 0.0019475977, -0.0705355, -0.08216019); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13703531, 0.06135254, -0.05032855, 0.0039429665, -0.05997914, 0.03737832, -0.09703001, -0.08112204, -0.096779875, 0.086732335, 0.03021232, -0.14636067, 0.079296306, 0.006656948, 0.08904937, 0.06196539) * go_0(-1.0, -1.0); - result += mat4(-0.26374274, 0.16698441, -0.08554561, 0.03734819, -0.08525629, 0.12257442, 0.015473835, 0.13266069, 0.008439022, -0.05002345, 0.03232084, 0.17349075, 0.014541135, -0.10353582, 0.13339484, -0.13474584) * go_0(-1.0, 0.0); - result += mat4(0.05637785, -0.049726896, 0.06597188, 0.0058668824, -0.10623723, 0.13441847, 0.015975956, -0.07811197, 0.05975957, -0.062021587, -0.06533749, 0.083735935, 0.02666556, 0.029904561, -0.0102926055, -0.10931666) * go_0(-1.0, 1.0); - result += mat4(-0.22616413, 0.042830274, -0.116208926, -0.053796053, -0.1112898, 0.20703097, -0.34109348, -0.065111674, -0.17255561, 0.16784647, 0.00193431, -0.043237597, -0.02353095, -0.1302526, 0.05119598, 0.01403269) * go_0(0.0, -1.0); - result += mat4(0.086109385, -0.053006437, -0.24992542, 0.007938272, -0.0027849772, 0.09198081, -0.17596659, 0.030577915, -0.31807357, -0.29618275, 0.0056317504, 0.3662508, 0.16753437, -0.12481447, -0.057597708, -0.14973637) * go_0(0.0, 0.0); - result += mat4(-0.14585754, 0.027715279, -0.039035518, 0.11505972, 0.0038059987, -0.20368981, -0.014822689, 0.094012834, -0.20693347, -0.37216228, -0.12690443, 0.2727411, -0.15475404, -0.01948714, -0.12414737, 0.10378582) * go_0(0.0, 1.0); - result += mat4(-0.11750072, 0.051394574, -0.011073509, -0.1100907, -0.1389209, -0.10706716, 0.0017484069, -0.059556484, -0.20038931, 0.24976069, -0.011129469, -0.080446415, 0.19259459, -0.14515446, -0.07275811, 0.039244935) * go_0(1.0, -1.0); - result += mat4(-0.101780266, 0.003889027, 0.010705813, 0.011088775, -0.20406786, -0.009807119, 0.23070864, -0.030722639, -0.012015954, 0.025211284, -0.29246482, 0.04907962, -0.10485314, 0.21213223, 0.15788344, -0.014188987) * go_0(1.0, 0.0); - result += mat4(0.1546438, -0.15895118, 0.010730076, 0.034053337, -0.018741185, -0.008467293, 0.13143812, 0.022905342, -0.27543658, 0.3054419, 0.07025048, 0.29454592, -0.0032350307, 0.01671764, 0.081928045, -0.10051137) * go_0(1.0, 1.0); - result += mat4(-0.014834404, 0.07487839, -0.16554666, -0.04127725, 0.15239598, -0.017607473, 0.09927426, 0.15027349, -0.2073968, 0.041613225, -0.10290223, -0.12565911, 0.022021815, -0.07609557, -0.16338238, 0.04468512) * go_1(-1.0, -1.0); - result += mat4(0.01768976, 0.0637369, 0.006542782, -0.0022799321, -0.14728844, -0.058199093, -0.029928437, 0.079634584, 0.095769696, -0.13526416, 0.20718366, -0.10116214, 0.1688786, -0.08906526, 0.020397741, 0.06541649) * go_1(-1.0, 0.0); - result += mat4(-0.033067044, 0.10095467, -0.13792777, 0.022673525, -0.012797848, -0.11222105, 0.11443862, 0.04893716, 0.11389547, -0.07337629, 0.21447009, -0.032212257, 0.23070163, -0.18156143, 0.14542435, -0.10207653) * go_1(-1.0, 1.0); - result += mat4(-0.22985588, 0.012290226, 0.018557416, -0.064000085, 0.012936774, -0.104329854, -0.0719669, 0.24160251, 0.03716294, -0.093069404, -0.12110873, 0.013251573, -0.12731232, -0.1995954, -0.07679729, 0.06823493) * go_1(0.0, -1.0); - result += mat4(-0.23359679, -0.052702624, -0.08710696, 0.19826421, 0.12880315, 0.19875911, -0.20581602, 0.32980308, -0.14479029, 0.099422045, 0.44737315, 0.13044962, 0.12935589, -0.13621494, 0.14902137, 0.09162335) * go_1(0.0, 0.0); - result += mat4(0.10801082, -0.22644557, 0.035719793, -0.12396268, 0.2906566, 0.119107775, -0.15470679, 0.17997102, -0.12866725, -0.12695445, -0.06832712, 0.017622665, 0.08215481, 0.065239124, -0.1256659, -0.06811625) * go_1(0.0, 1.0); - result += mat4(-0.097956754, 0.09383762, -0.19813508, 0.0035260199, -0.14278924, 0.0660843, 0.19110036, 0.11025648, 0.15489757, 0.011157471, -0.16014035, -0.050144047, 0.0032884583, 0.061513808, -0.03385016, -0.08534137) * go_1(1.0, -1.0); - result += mat4(0.09499595, 0.04162155, -0.26091605, -0.18066265, -0.21523187, -0.036668014, 0.09586408, 0.059850723, -0.10890033, 0.28857672, -0.32993382, 0.05107536, 0.012024929, -0.27968574, 0.15081042, -0.07215633) * go_1(1.0, 0.0); - result += mat4(0.15673614, -0.064684846, -0.13838115, 0.1264376, -0.23772664, 0.11594999, 0.0898036, -0.092647165, 0.26081505, 0.05110054, -0.017965768, 0.06740709, -0.24977967, 0.05645255, -0.08204664, 0.0435078) * go_1(1.0, 1.0); - result += mat4(0.02560865, -0.1613835, 0.05876215, 0.101586774, -0.00058163394, 0.0013674656, 0.039857507, -0.002919488, 0.05573127, -0.04311352, 0.05305971, 0.10097247, 0.036392104, -0.025071293, 0.029137935, -0.08593101) * go_2(-1.0, -1.0); - result += mat4(0.12406646, -0.21399136, 0.05611706, 0.021867402, -0.037916705, 0.05941278, 0.11277805, -0.12387807, 0.008577062, -0.045022104, 0.16465645, -0.07607619, 0.035939474, 0.07221297, -0.13557361, 0.07806311) * go_2(-1.0, 0.0); - result += mat4(-0.19589397, 0.011909766, -0.01258029, -0.065313555, 0.07366803, -0.0812486, 0.115863465, 0.019752543, -0.15854625, 0.11246406, 0.007201303, 0.0008530298, -0.0287012, -0.036224626, 0.059641607, 0.09416462) * go_2(-1.0, 1.0); - result += mat4(0.20361906, -0.20671111, -0.1126041, 0.049152024, 0.17586707, 0.10047246, 0.13149028, -0.16302691, -0.08559989, -0.17756243, -0.0061752857, 0.124775924, 0.020011704, 0.17147969, -0.0003063916, -0.015890911) * go_2(0.0, -1.0); - result += mat4(0.11051906, 0.13774526, 0.29333818, -0.029932505, -0.07021508, 0.046212852, 0.11793092, -0.081830084, -0.18609521, -0.108229816, -0.044969153, -0.041069634, -0.13936938, 0.11356429, 0.19260931, 0.093210496) * go_2(0.0, 0.0); - result += mat4(0.010555152, -0.15726428, -0.13187453, -0.12396212, 0.17309372, 0.100884624, 0.11547714, -0.030650318, -0.21877939, -0.0015167049, -0.090150684, 0.029793834, 0.1465573, -0.038805004, -0.033211514, -0.04926991) * go_2(0.0, 1.0); - result += mat4(0.10250675, -0.030922988, -0.008545946, 0.024706079, 0.105154864, -0.06838902, -0.12627976, 0.032457255, 0.21747419, -0.12865087, -0.056018118, 0.07152061, -0.11214344, -0.029831404, 0.044855718, -0.04316971) * go_2(1.0, -1.0); - result += mat4(0.12806997, 0.12385188, -0.06831653, -0.015933594, 0.08645126, 0.013043054, -0.19599608, -0.060719345, -0.23076192, 0.19181651, 0.1292978, 0.036317572, -0.061692618, -0.25434494, -0.10012762, 0.06366783) * go_2(1.0, 0.0); - result += mat4(-0.11098094, 0.034632366, -0.053560194, 0.08499573, 0.20842391, -0.020262053, -0.023394845, 0.048971336, 0.10436084, 0.12614205, 0.035942093, -0.07592917, -0.07455495, -0.012119416, -0.011834865, 0.21032205) * go_2(1.0, 1.0); - result += mat4(-0.00055114913, -0.06662242, -0.009248925, -0.0024843027, -0.22993802, -0.04828541, -0.08667693, -0.093717255, 0.14400347, 0.030130679, -0.01590651, 0.10399553, 0.14478837, -0.11228224, -0.039653912, -0.042144097) * go_3(-1.0, -1.0); - result += mat4(-0.011044514, -0.09870122, -0.24879128, 0.111903004, 0.092567004, 0.06100228, 0.0053522107, 0.065252475, -0.18228072, 0.25602147, -0.2863954, 0.103064165, 0.052214783, -0.017557586, -0.07434391, 0.021111684) * go_3(-1.0, 0.0); - result += mat4(0.04537496, -0.024985183, -0.15247425, -0.0009907635, -0.09677889, 0.09858206, -0.030702371, 0.03539458, -0.029408665, 0.24335481, -0.1918429, 0.08056781, 0.1548214, 0.2850923, -0.15131058, -0.052048493) * go_3(-1.0, 1.0); - result += mat4(0.055409238, -0.13090813, -0.016612396, -0.019183576, -0.18499215, -0.013184845, 0.038750056, 0.10953814, -0.18437819, 0.19183092, -0.09780726, -0.046532292, -0.10841146, -0.17717329, -0.1731886, -0.06741823) * go_3(0.0, -1.0); - result += mat4(0.27919188, -0.14904179, 0.22850563, -0.17785722, -0.32835802, -0.19134615, 0.32093298, 0.24667856, 0.51687604, -0.59745705, 0.23057328, -0.41411245, -0.4234339, -0.03083826, -0.13972719, 0.1729651) * go_3(0.0, 0.0); - result += mat4(0.042352367, -0.109207705, -0.31047532, 0.08896513, -0.2187999, -0.117951825, 0.060705405, -0.10287316, 0.013815159, -0.023699438, -0.053614594, 0.09065406, -0.15286967, -0.101803675, 0.019537682, 0.12476822) * go_3(0.0, 1.0); - result += mat4(0.0016159728, 0.04094818, 0.012745902, -0.051958837, 0.014557628, 0.00061195926, -0.11669799, 0.08763203, -0.27820277, 0.17871988, 0.10634548, 0.05234229, 0.03827577, -0.3117398, 0.027675012, 0.0655132) * go_3(1.0, -1.0); - result += mat4(-0.0025006514, -0.1457415, 0.053443488, -0.0050932285, 0.01582735, 0.18783967, -0.066718, -0.15485887, -0.039741408, -0.21280284, 0.1502977, 0.09507925, 0.17178543, -0.014238171, -0.35757875, 0.026410697) * go_3(1.0, 0.0); - result += mat4(-0.19434428, -0.079038315, -0.017264817, -0.04004242, 0.0063378955, 0.027904915, 0.02571677, 0.09895997, -0.036605608, -0.19889063, 0.015920812, -0.014095519, 0.4363826, -0.14143194, 0.015463533, -0.1656284) * go_3(1.0, 1.0); - result += vec4(0.08523788, 0.052322272, 0.08955637, -0.06945023); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.048841953, -0.010713874, 0.09238948, -0.0789676, -0.093295254, 0.063662216, -0.023454266, -0.06739832, 0.027439933, 0.007399632, -0.03550259, -0.013834889, 0.17168441, 0.06177229, 0.023950668, 0.14574073) * go_0(-1.0, -1.0); - result += mat4(0.117296845, -0.07858486, -0.02099164, -0.024150673, -0.11662526, -0.26440877, -0.05449493, -0.13366842, -0.06870016, 0.12457937, 0.25052628, 0.013982828, 0.15127566, -0.031653196, -0.13851896, 0.04148151) * go_0(-1.0, 0.0); - result += mat4(0.024360385, -0.31051615, 0.012448293, -0.11265428, 0.06123606, -0.0701936, 0.033618104, -0.064061284, -0.06969811, -0.108838804, 0.014163671, 0.02596177, 0.20071186, -0.0028744373, 0.13663651, -0.05592813) * go_0(-1.0, 1.0); - result += mat4(0.13492568, -0.0726796, 0.13431883, -0.085713945, 0.056370113, 0.115660414, -0.14475793, 0.0044200714, 0.027387753, 0.045452334, 0.28178552, 0.017371183, 0.17304336, 0.0582999, 0.14465337, 0.046005037) * go_0(0.0, -1.0); - result += mat4(0.064034574, 0.041531377, 0.08218889, -0.44529077, -0.010563538, -0.14926371, 0.051012456, 0.08209141, 0.24089444, -0.225398, -0.22259372, -0.26353076, -0.1687418, -0.11501685, -0.016655196, -0.09882357) * go_0(0.0, 0.0); - result += mat4(-0.019985389, -0.19189276, -0.104917, -0.11139956, -0.08406414, 0.031484302, -0.082132496, 0.025829919, 0.07512055, 0.31116992, 0.061163265, -0.074850895, -0.091695994, -0.26492774, -0.06617365, 0.06590624) * go_0(0.0, 1.0); - result += mat4(0.1326703, 0.13008863, -0.1659525, -0.058325157, -0.047528613, 0.06777741, 0.06953616, 0.010587038, 0.031675722, -0.08119788, -0.11269768, -0.06225964, -0.26593694, 0.03627298, 0.12866129, 0.17876588) * go_0(1.0, -1.0); - result += mat4(-0.29016155, -0.12549841, -0.050858997, -0.088932805, 0.002237332, 0.01287246, 0.30138868, -0.071756564, -0.061206467, -0.11114371, -0.25731218, -0.11551616, -0.069513, -0.004583348, -0.10647163, 0.01981785) * go_0(1.0, 0.0); - result += mat4(0.16387528, 0.03450354, 0.03422023, -0.014030813, 0.13418834, -0.010909722, -0.00447121, -0.03082622, -0.23983373, -0.020655053, -0.054034587, -0.07133469, 0.21171515, 0.06268651, -0.1738516, -0.15001713) * go_0(1.0, 1.0); - result += mat4(0.040721033, -0.037582736, -0.13819644, -0.123978324, 0.1650318, 0.033942625, 0.17534302, 0.06452234, 0.18384823, 0.0048657497, 0.20220642, -0.0025760103, 0.011163899, 0.027265374, -0.051284578, 0.19202651) * go_1(-1.0, -1.0); - result += mat4(-0.057493486, -0.031516504, 0.10835143, -0.040618125, -0.07762303, -0.06787725, 0.025559613, -0.0055560498, -0.0017830619, 0.020185964, -0.06656476, -0.008523214, 0.32331157, -0.21633361, 0.15338033, -0.104042485) * go_1(-1.0, 0.0); - result += mat4(-0.18544987, -0.090446, -0.26797467, -0.082941435, -0.15003708, -0.11446041, -0.0394892, 1.1379096e-05, 0.04978554, 0.3350256, 0.032780237, 0.034625802, 0.0596261, 0.045886245, 0.009002243, 0.04746998) * go_1(-1.0, 1.0); - result += mat4(-0.17104147, 0.0054165213, 0.09161088, -0.0673989, -0.119282715, -0.09094731, 0.47243354, 0.09914267, -0.13958418, -0.0050379517, 0.14352496, 0.18380567, -0.16128838, 0.08766813, 0.013876981, -0.09808636) * go_1(0.0, -1.0); - result += mat4(0.09617889, 0.045525175, -0.2550057, -0.02874332, 0.2743444, -0.20102581, 0.008461914, 0.16626629, -0.13309516, -0.19307104, 0.15780488, 0.15518525, -0.2790243, 0.056782067, 0.16836968, 0.17771688) * go_1(0.0, 0.0); - result += mat4(-0.10694667, 0.14490083, -0.037976455, 0.013456577, -0.1166783, 0.060722847, 0.07323464, -0.013812333, 0.03234213, 0.50859296, -0.20670377, -0.019631205, -0.022543924, 0.21776745, -0.093769215, 0.12193299) * go_1(0.0, 1.0); - result += mat4(-0.15260598, -0.04798592, -0.02370747, -0.005714705, 0.030857049, -0.16643822, 0.23971851, 0.08117996, -0.069645695, -0.06674784, 0.033509918, 0.06333286, 0.14010383, 0.02218942, -0.036704093, 0.043163314) * go_1(1.0, -1.0); - result += mat4(0.14653306, 0.002759894, 0.10548246, 0.24976018, 0.3212893, -0.07108953, 0.14068738, 0.29437128, -0.020556152, -0.17813908, 0.1989112, 0.12182122, -0.19231579, 0.06547012, -0.032785345, 0.089717634) * go_1(1.0, 0.0); - result += mat4(-0.23632105, -0.027022298, 0.00586518, 0.01836479, -0.2854795, -0.035417695, -0.07586866, 0.0715673, 0.17984483, 0.11210451, 0.032767817, 0.097993985, -0.010899036, 0.15933803, 0.05454052, 0.06768528) * go_1(1.0, 1.0); - result += mat4(-0.017289463, -0.058823984, 0.0807603, 0.32464716, 0.2756627, 0.036061637, -0.034578573, -0.08811335, 0.031841308, 0.11359879, 0.07553143, -0.028648997, 0.057192322, 0.07769366, -0.1998847, -0.06258051) * go_2(-1.0, -1.0); - result += mat4(0.0422091, 0.046305113, 0.028377453, -0.031071126, 0.06866086, 0.1538135, -0.009288249, -0.25543538, 0.07067607, -0.114061736, -0.024740022, -0.11824987, -0.17426041, 0.0028396242, 0.12849464, 0.057790644) * go_2(-1.0, 0.0); - result += mat4(0.057328146, 0.030677445, 0.07496485, 0.07847613, -0.22358766, -0.15659446, -0.18270054, -0.21316889, 0.084770195, 0.013863274, -0.001335942, -0.04027535, -0.15230416, -0.048156176, -0.04614562, 0.089494966) * go_2(-1.0, 1.0); - result += mat4(-0.117369525, 0.026577681, -0.1941765, 0.14904885, -0.16210394, -0.19549404, 0.19999947, 0.37138188, 0.14809363, -0.05078633, -0.092692114, -0.08533522, 0.12769112, 0.017061725, 0.104464866, -0.026744602) * go_2(0.0, -1.0); - result += mat4(0.0880251, -0.005333869, -0.10327546, 0.30419552, 0.107773595, 0.02335926, -0.19014318, 0.19670166, -0.09443473, 0.10621109, 0.36843884, 0.13197622, 0.24537645, 0.4032842, 0.21791221, 0.08400414) * go_2(0.0, 0.0); - result += mat4(0.06408587, 0.15366535, 0.042582024, 0.15629277, 0.028716238, -0.013479061, -0.23052843, -0.2992272, -0.050045617, -0.27255702, -0.038093377, 0.0031149297, -0.05625518, 0.52598304, -0.0845234, -0.09116851) * go_2(0.0, 1.0); - result += mat4(0.02294159, -0.011902539, 0.00079296535, 0.030631313, 0.02114366, 0.082455896, 0.09450867, -0.08027284, 0.042443607, 0.15427661, 0.11882799, -0.040319934, 0.23706424, -0.107808165, -0.1730313, -0.06340064) * go_2(1.0, -1.0); - result += mat4(0.2645207, 0.002157867, -0.095794424, 0.1141035, 0.08255855, -0.06977906, -0.04348005, 0.27864936, -0.1197219, 0.015997604, 0.09500464, -0.0010631803, 0.07198933, -0.053128377, 0.02176274, -0.001298847) * go_2(1.0, 0.0); - result += mat4(-0.045475803, 0.03626341, -0.00891833, 0.17907676, -0.2810277, 0.13725498, -0.02413441, -0.08605496, 0.08306595, -0.012227401, -0.0070282067, -0.019027572, -0.13443586, -0.041331865, 0.029120144, -0.00490357) * go_2(1.0, 1.0); - result += mat4(-0.13398282, 0.06475972, 0.2528711, 0.02553969, -0.13428321, -0.03931247, 0.11360386, -0.18912545, -0.3725821, -0.018747944, -0.20893294, -0.012743096, 0.07444533, -0.15381604, 0.29776138, 0.10601149) * go_3(-1.0, -1.0); - result += mat4(-0.21793252, 0.07817356, -0.109576665, 0.19185133, -0.072846025, 0.04960289, -0.07506936, 0.12839878, -0.0061091883, 0.093669325, 0.009295678, 0.03780657, -0.10901407, 0.1375137, -0.0745914, 0.1468883) * go_3(-1.0, 0.0); - result += mat4(0.10739044, 0.30611086, 0.1585515, 0.07903283, 0.05612715, -0.0061900485, 0.13646163, 0.15230569, 0.036846787, -0.15846778, -0.18765065, 0.06611226, -0.07209187, 0.056037188, 0.04302953, -0.03887873) * go_3(-1.0, 1.0); - result += mat4(0.05618538, -0.072312586, -0.018046018, 0.049542785, -0.033638306, -0.035169322, -0.25882784, -0.036425237, 0.43763217, -0.07049093, 0.08085481, 0.013634128, -0.2701461, -0.13007875, 0.09603447, 0.2479431) * go_3(0.0, -1.0); - result += mat4(-0.02283992, -0.24593964, 0.04616348, 0.023422526, -0.20994014, 0.064769074, -0.07680045, -0.30547765, 0.1518723, 0.31953967, -0.12841515, -0.19525428, -0.0076093865, -0.112106465, -0.04573789, -0.04834478) * go_3(0.0, 0.0); - result += mat4(-0.008045419, -0.20285496, 0.15290824, 0.036240693, 0.11959966, -0.15712506, 0.096806675, 0.008780234, -0.19716795, -0.3824029, 0.1376541, 0.13325086, -0.103316806, -0.31788048, -0.071698256, -0.25901568) * go_3(0.0, 1.0); - result += mat4(0.13714787, 0.020738773, 0.13716534, 0.12359137, -0.038154524, 0.053202964, -0.12023912, 0.09011213, -0.012448548, -0.026505312, -0.11293235, 0.10613704, -0.39916727, 0.041521315, 0.10659441, 0.027749784) * go_3(1.0, -1.0); - result += mat4(-0.26475835, 0.044597875, -0.31229413, -0.17121075, -0.21795374, -0.009583571, -0.13428004, -0.30734754, -0.017038794, 0.113667324, -0.1516075, 0.06525228, -0.13789397, -0.05770066, -0.016166758, -0.29457557) * go_3(1.0, 0.0); - result += mat4(0.054183286, 0.022085225, 0.086794585, 0.10968018, 0.1276148, 0.05739452, 0.08860957, -0.08131373, -0.081570424, -0.107991874, -0.03724999, 0.000843539, 0.20231429, -0.123543546, -0.19073018, -0.28328305) * go_3(1.0, 1.0); - result += vec4(0.013646388, -0.021442367, 0.0045393505, -0.037433166); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13948695, 0.016643738, 0.08168136, 0.02315663, 0.017184775, 0.11487715, 0.05770107, 0.010102888, 0.04955321, -0.045132335, -0.05731744, -0.05798246, 0.2245112, 0.17406365, 0.08979801, -0.10607952) * go_0(-1.0, -1.0); - result += mat4(0.2812785, 0.022830509, 0.15164222, 0.13460225, 0.22263442, 0.2558749, -0.122489706, 0.10409658, 0.023308244, -0.19583783, -0.007824269, 0.06256542, 0.11161938, 0.14878923, 0.30865005, 0.08962341) * go_0(-1.0, 0.0); - result += mat4(-0.20843887, 0.012371968, -0.008279775, -0.042467568, -0.13022369, 0.056743186, -0.018389069, 0.13964763, -0.03361555, -0.053087234, 0.012521351, 0.0209293, 0.015771557, 0.11718523, 0.010176676, 0.021708367) * go_0(-1.0, 1.0); - result += mat4(-0.14373007, -0.114338934, -0.09077395, -0.11040866, 0.055298284, 0.022516333, 0.18901019, -0.05640152, -0.1413198, -0.08748339, -0.029985962, 0.00712751, -0.071436934, -0.18909407, 0.173448, 0.053675048) * go_0(0.0, -1.0); - result += mat4(-0.023129769, 0.42883545, -0.18110612, 0.24296297, -0.02441117, 0.18108079, -0.12298153, -0.19192219, -0.14139178, -0.069563635, 0.1524624, -0.17755614, -0.248875, 0.015161957, -0.16541803, -0.17773613) * go_0(0.0, 0.0); - result += mat4(-0.065477535, -0.113195814, -0.08284894, 0.11679537, 0.028445985, -0.026559185, -0.007267581, 0.14052133, 0.14847197, -0.040276285, -0.038166475, -0.030452784, -0.15184602, -0.22223297, 0.113732725, 0.11163395) * go_0(0.0, 1.0); - result += mat4(0.04990171, 0.08493333, 0.08668171, 0.14610586, -0.010766879, -0.05690133, 0.10706113, 0.13667485, 0.044783257, 0.029695645, -0.101674624, -0.02023205, 0.031889528, 0.14293797, 0.08712652, 0.08716896) * go_0(1.0, -1.0); - result += mat4(-0.21387868, -0.21650635, 0.2743992, -0.048781313, -0.027735803, -0.1543507, 0.11343657, -0.18251626, 0.15225998, 0.13158897, -0.41056108, 0.102582805, -0.09181491, -0.0042975787, 0.056065407, -0.16961528) * go_0(1.0, 0.0); - result += mat4(0.08966051, 0.09331515, -0.085415326, -0.022695992, 0.009771476, -0.07143986, 0.0590329, 0.07347928, -0.09033658, -0.06805735, -0.20129825, 0.017873045, 0.16908158, 0.014213783, 0.112663984, 0.10048714) * go_0(1.0, 1.0); - result += mat4(0.115590535, 0.08364541, 0.00864431, -0.094349444, -0.11073411, 0.05337711, 0.055587426, 0.12131219, -0.04710173, -0.046455074, 0.110379905, 0.25445566, 0.15154606, 0.04483541, 0.08708686, 0.113456205) * go_1(-1.0, -1.0); - result += mat4(-0.014296297, 0.24858733, 0.05035193, -0.09225393, 0.034625243, 0.06219943, 0.19825043, 0.04673499, -0.4083363, -0.39954248, -0.08299408, 0.048756655, 0.09862206, 0.01588621, 0.0070629907, 0.04173666) * go_1(-1.0, 0.0); - result += mat4(0.17356622, 0.1484559, -0.10054033, 0.013332302, 0.15200937, 0.08985606, -0.031668343, -0.026007611, -0.16339104, 0.054744486, 0.07386605, -0.033910174, -0.0018002358, -0.02968911, 0.054931052, 0.09970459) * go_1(-1.0, 1.0); - result += mat4(-0.07330346, 0.05938635, 0.01911963, -0.09856661, -0.081916444, -0.046957035, -0.043849826, 0.09572135, -0.13621825, 0.034347896, -0.21189907, 0.10592239, -0.060592845, 0.09957844, 0.050621815, -0.07447668) * go_1(0.0, -1.0); - result += mat4(0.044731334, -0.13406886, -0.04138754, -0.06764551, -0.018899845, 0.35320804, -0.10959127, 0.17435175, -0.17941645, -0.30889434, 0.10573405, 0.0319751, -0.15677677, 0.08164649, 0.16559398, -0.08152387) * go_1(0.0, 0.0); - result += mat4(0.057760764, -0.12145107, 0.06889264, -0.30627275, 0.011501002, -0.080296256, -0.18067095, 0.10592384, 0.12884894, -0.18973115, 0.18740658, 0.28362688, 0.12934786, -0.010292026, 0.0559999, 0.079962276) * go_1(0.0, 1.0); - result += mat4(0.048659086, -0.006250348, -0.041242067, -0.12078197, -0.07152629, 0.05699244, 0.0011704164, -0.023007339, 0.07814492, 0.02546712, -0.08957218, -0.036925297, -0.03383498, 0.12583385, 0.12207602, 0.03910942) * go_1(1.0, -1.0); - result += mat4(0.26151723, 0.23277281, -0.021892069, 0.052827276, 0.18268764, 0.28595275, -0.20529993, 0.19892794, 0.0038986763, 0.114547804, -0.020574905, 0.02405073, 0.11713121, 0.04491106, -0.07557327, 0.014374293) * go_1(1.0, 0.0); - result += mat4(-0.14276731, -0.06600894, -0.029757235, -0.099975966, 0.023050314, -0.07662015, -0.11542214, 0.087981045, 0.070319094, 0.12462511, 0.008152087, 0.12613884, -0.07071591, 0.0063393894, 0.08699723, -0.0242523) * go_1(1.0, 1.0); - result += mat4(0.035586607, -0.26826563, -0.10145326, -0.002177148, 0.022144236, -0.117452875, 0.021346297, 0.051908135, -0.022425706, 0.067299, 0.09406446, 0.078294896, 0.014900606, -0.05468236, 0.07241715, 0.061000507) * go_2(-1.0, -1.0); - result += mat4(-0.184133, 0.06229474, -0.13819578, -0.025011744, -0.01868356, -0.18940887, 0.092631504, -0.092806384, 0.0035951615, 0.11777577, 0.028149817, 0.0049419673, 0.22230826, 0.06337655, -0.20004818, -0.20937593) * go_2(-1.0, 0.0); - result += mat4(0.13852163, -0.094492316, -0.040309057, 0.10771662, 0.18963522, 0.08687606, -0.20030232, -0.082126215, 0.012181411, 0.044306785, -0.036970526, 0.04403363, 0.07911973, 0.0021176056, 0.26944208, -0.06657045) * go_2(-1.0, 1.0); - result += mat4(0.027229607, 0.12410596, 0.04348171, 0.0019921176, 0.088246435, -0.02828269, -0.26499373, -0.12566662, 0.025947344, -0.0078000715, 0.058063716, -0.0032702687, 0.0059978673, -0.04860002, 0.027650384, -0.23394564) * go_2(0.0, -1.0); - result += mat4(0.07892762, -0.13300626, 0.46678603, -0.033239357, -0.12306804, -0.079602, 0.20534003, 0.23873802, -0.035643574, 0.059950788, -0.26559883, 0.12206408, 0.25408483, 0.029933078, 0.32081822, 0.033947676) * go_2(0.0, 0.0); - result += mat4(-0.06847802, -0.017930118, -0.12299636, -0.12987946, 0.09267518, -0.0009083275, -0.035390552, -0.15379669, -0.1132433, -0.036670692, -0.08342377, 0.015636675, 0.022590527, 0.10533322, 0.0389949, -0.059033744) * go_2(0.0, 1.0); - result += mat4(-0.041753534, -0.014428097, 0.06999257, -3.546234e-05, -0.033465035, -0.040709455, 0.13118082, -0.21016484, -0.07846085, -0.030885663, 0.06934681, 0.12725256, -0.023784902, -0.13373604, -0.015261479, 0.05234782) * go_2(1.0, -1.0); - result += mat4(0.13798563, 0.12757827, -0.26978776, 0.102494285, 0.13285922, 0.35432795, -0.11997128, 0.17108068, -0.12235328, -0.24582328, 0.26962712, -0.086760186, 0.010127441, 0.08048835, 0.047505867, 0.19991067) * go_2(1.0, 0.0); - result += mat4(0.03584222, -0.13433793, -0.044629525, -0.0010440781, -0.0033084434, -0.026725832, -0.05386642, -0.13612603, 0.10066015, 0.10499841, 0.031767137, -0.04550841, -0.09391546, 0.1454157, -0.26962402, 0.21015608) * go_2(1.0, 1.0); - result += mat4(-0.21956864, -0.13502425, -0.02126954, 0.059263993, -0.13461533, -0.04001395, -0.0924258, -0.069165014, 0.22019973, 0.003270619, 0.022072528, -0.14173602, 0.0028843523, -0.13784003, -0.061057515, -0.0049253837) * go_3(-1.0, -1.0); - result += mat4(-0.0011410525, -0.16098002, -0.12883134, 0.018262507, 0.001481578, 0.19514659, -0.13703239, 0.096059754, 0.34194204, 0.13983466, 0.14021507, 0.011405113, -0.11303146, -0.17050214, -0.06992079, -0.05566986) * go_3(-1.0, 0.0); - result += mat4(-0.12307941, -0.02192472, 0.13193923, -0.061640862, -0.16841564, -0.0822524, 0.10141759, 0.02139286, 0.1599039, -0.050632223, 0.16702358, 0.111514546, 0.02397393, 0.037606515, 0.017971672, -0.048641708) * go_3(-1.0, 1.0); - result += mat4(-0.02697617, -0.08579184, -0.28045088, 0.05262136, -0.059576314, 0.107535526, -0.06188862, 0.0010509328, -0.18178311, -0.17288832, 0.20703638, 0.083048366, 0.03859681, -0.07548898, 0.011605782, -0.021842534) * go_3(0.0, -1.0); - result += mat4(0.13198483, 0.37200937, -0.0896539, 0.12450637, 0.037202634, 0.035985112, 0.16579124, -0.08967905, -0.24341385, 0.32482424, -0.3037812, -0.007154969, -0.007152382, -0.017435173, 0.12662841, -0.090513505) * go_3(0.0, 0.0); - result += mat4(-0.014726027, 0.08394915, -0.02100581, 0.24882795, -0.023793869, -0.006450114, 0.17093314, -0.06994153, -0.08689907, 0.113542505, -0.053211495, -0.1780173, 0.030043352, 0.2500714, -0.026940798, -0.0069258413) * go_3(0.0, 1.0); - result += mat4(0.037078895, -0.03033529, -0.066851325, 0.14718252, 0.066372745, 0.028897487, -0.036055963, 0.035399746, 0.06733992, 0.21021596, -0.18314466, -0.027192699, 0.020213274, -0.17751546, -0.050674338, -0.09382659) * go_3(1.0, -1.0); - result += mat4(-0.14761917, -0.22166072, 0.033172436, -0.21982265, -0.09172891, -0.20794454, 0.1738752, -0.13685037, 0.10981111, -0.23169234, 0.053787973, 0.12001196, -0.038242023, -0.047124114, 0.22503005, 0.1015142) * go_3(1.0, 0.0); - result += mat4(0.021231879, -0.015423476, 0.058986407, 0.032002006, -0.029305007, 0.008933183, 0.10777483, -0.112574644, -0.023935415, -0.06604598, 0.053859934, -0.08354717, 0.13703763, -0.078382134, 0.12914242, -0.022056468) * go_3(1.0, 1.0); - result += vec4(-0.002022359, -0.007333954, -0.038140967, -0.03819673); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.050738923, 0.15003614, -0.18880141, 0.16791905, 0.16549185, -0.26726744, -0.12813666, -0.021510791, 0.070805945, 0.043350577, 0.0035756908, 0.11776675, -0.01824196, 0.12618026, 0.07424072, 0.032886628) * go_0(-1.0, -1.0); - result += mat4(-0.11678059, 0.0565686, 0.04392921, -0.27621672, 0.2116695, 0.038044345, -0.015018062, -0.028636303, 0.049744565, -0.12935996, 0.027176194, -0.13208814, -0.21195693, 0.08980974, 0.013893243, -0.018403184) * go_0(-1.0, 0.0); - result += mat4(0.3214697, -0.03143518, 0.19927292, 0.12566878, 0.16190828, 0.11784847, 0.09943727, 0.11755882, 0.017959306, -0.064603634, -0.14054321, -0.11917774, 0.0056958874, 0.06461699, 0.104604125, 0.021947173) * go_0(-1.0, 1.0); - result += mat4(-0.24738057, -0.034892898, -0.03364674, 0.017340986, 0.02933764, -0.08090866, -0.034651175, -0.17391174, 0.08536477, -0.17446008, 0.22706915, -0.10555482, 0.0877744, 0.0681237, -0.035909466, -0.10355238) * go_0(0.0, -1.0); - result += mat4(-0.090646185, -0.12971672, -0.14531808, -0.060838025, 0.24902023, 0.1310588, 0.18602785, 0.21283495, -0.32160765, -0.070119165, -0.10350057, 0.19260244, -0.2610542, -0.3030521, 0.08432348, -0.22286619) * go_0(0.0, 0.0); - result += mat4(0.28333843, -0.053968847, 0.08344997, 0.19987041, 0.22163449, 0.22161576, 0.0030572868, 0.10848695, -0.20529847, 0.08406883, -0.07130339, 0.09987656, 0.29774663, -0.08768785, 0.15567012, -0.010313759) * go_0(0.0, 1.0); - result += mat4(-0.1260916, -0.071901485, -0.30566844, 0.19393384, -0.05133266, 0.07868844, -0.24817581, 0.055521224, 0.23277187, 0.16324161, 0.07110341, -0.042626668, 0.052509766, -0.014292625, -0.019677468, 0.041733738) * go_0(1.0, -1.0); - result += mat4(-0.04264262, -0.06528029, 0.0013520801, -0.02140956, 0.27304867, -0.029477939, -0.1859993, 0.01418354, 0.07256604, 0.14302284, 0.03309569, -0.15932149, 0.01500576, -0.053860538, 0.1131707, -0.06272606) * go_0(1.0, 0.0); - result += mat4(-0.0400483, -0.030188695, -0.108427785, 0.057873204, 0.42774406, -0.11353873, 0.110134825, 0.052191462, 0.00087113964, 0.040683694, 0.100507155, -0.16746339, -0.26971558, 0.06506685, -0.20950548, 0.040783025) * go_0(1.0, 1.0); - result += mat4(0.11394146, -0.10693933, 0.2377026, -0.03783948, -0.16496852, 0.046675198, -0.23396324, 0.05696911, -0.02770668, 0.12922443, -0.093586415, 0.102305606, 0.0040032533, -0.038440734, -0.0035825048, -0.22108772) * go_1(-1.0, -1.0); - result += mat4(0.17577791, -0.024538597, -0.19877498, -0.14544973, 0.16614193, -0.3279891, 0.14678721, -0.16355143, -0.012954231, 0.20982395, 0.044255227, 0.087878115, 0.11289659, -0.26981032, -0.10789584, 0.24094439) * go_1(-1.0, 0.0); - result += mat4(0.0041394173, -0.0937936, 0.15251775, 0.1026978, -0.01999847, -0.02865502, 0.16765144, -0.17490439, -0.016996933, 0.03891808, -0.01858217, -0.106255606, 0.027496144, -0.14120618, 0.023483312, -0.08291959) * go_1(-1.0, 1.0); - result += mat4(0.060642462, -0.2957824, 0.33968493, -0.04501478, -0.14999421, -0.0067213452, -0.018236576, 0.01627547, -0.07771579, 0.0124932695, -0.11797959, -0.090979554, 0.0096479915, 0.021336472, -0.07794724, 0.030138575) * go_1(0.0, -1.0); - result += mat4(-0.091704845, -0.20800348, -0.22158638, 0.048748583, 0.15139692, -0.2832814, 0.09610812, 0.41077513, 0.0007106381, -0.14465855, 0.0056652213, 0.031696238, -0.03384328, 0.1940933, 0.19262145, 0.014331562) * go_1(0.0, 0.0); - result += mat4(-0.16637586, -0.22008398, 0.102937706, 0.15260033, 0.039856806, -0.21082906, -0.19694057, 0.0712475, 0.015049883, 0.17320138, 0.06505415, -0.020279367, -0.018576574, 0.201407, -0.08108244, 0.04151909) * go_1(0.0, 1.0); - result += mat4(-0.12496581, 0.107817784, 0.10645319, 0.035113968, 0.0166165, 0.1316661, -0.045253787, -0.03863719, 0.09126881, 0.07553792, -0.029150097, -0.07629157, -0.17978054, -0.27080613, -0.028408276, -0.15366451) * go_1(1.0, -1.0); - result += mat4(0.081859134, -0.11599677, 0.027383117, 0.092724435, 0.059302155, 0.10008954, -0.12217131, 0.07471211, -0.20396213, -0.040741358, 0.118772194, -0.21725504, 0.099645875, 0.09691941, -0.07696025, -0.016445495) * go_1(1.0, 0.0); - result += mat4(-0.18712623, -0.14458412, 0.03693652, 0.014525352, -0.09607279, -0.19400409, 0.032149505, 0.07106094, 0.051436905, -0.07765334, 0.017043818, 0.17777587, 0.05274306, 0.0062209824, -0.080005355, 0.026041988) * go_1(1.0, 1.0); - result += mat4(-0.090594456, -0.041637532, 0.10346829, -0.09393943, 0.027663473, 0.20729685, -0.011156861, 0.021863503, 0.04781304, -0.039483577, -0.092933334, -0.25187445, 0.033062164, 0.010756357, -0.13035728, -0.008321023) * go_2(-1.0, -1.0); - result += mat4(0.07772912, 0.010776647, -0.018709056, 0.25634038, 0.00906326, 0.21411708, 0.122652486, 0.07725616, 0.15266491, 0.1274286, 0.10400329, 0.20354506, 0.013765407, -0.039089683, 0.25870228, -0.08919069) * go_2(-1.0, 0.0); - result += mat4(-0.14971368, 0.06935879, -0.089983195, 0.01406992, 0.16989979, -0.037809014, 0.07157283, -0.050660506, -0.032826405, 0.033794664, -0.0051332368, 0.089349195, 0.06263488, -0.07048108, 0.07263597, -0.11618368) * go_2(-1.0, 1.0); - result += mat4(0.013391823, -0.07888697, -0.13984044, -0.01241464, -0.06475807, 0.06978077, -0.20329754, 0.16602662, 0.013664227, 0.12317301, -0.10240692, -0.0657491, -0.31402445, -0.14472555, 0.1739024, 0.0005437834) * go_2(0.0, -1.0); - result += mat4(0.16330495, 0.02644609, 0.23837087, -0.07734767, 0.12377497, -0.18478604, 0.35040903, -0.05262452, 0.049074646, -0.0077528385, 0.15370984, -0.22888668, 0.3603141, 0.29372314, -0.4432887, 0.20702155) * go_2(0.0, 0.0); - result += mat4(-0.18785694, 0.21085343, -0.111042105, 0.0478716, -0.08214944, -0.0922987, 0.29570273, 0.025100114, 0.25403878, 0.01271447, 0.21851794, -0.1434596, -0.21153769, 0.023305666, -0.10386609, 0.043919638) * go_2(0.0, 1.0); - result += mat4(-0.117247805, 0.013329102, 0.0313911, -0.08055777, -0.0053445757, -0.2886372, 0.07938673, -0.06659165, 0.20798062, 0.030106818, -0.04811631, 0.036332276, -0.057687126, 0.03813657, 0.035860628, -0.11273985) * go_2(1.0, -1.0); - result += mat4(-0.0031557097, 0.027456097, -0.14444692, 0.08411739, 0.13466308, -0.13212901, -0.0034804344, 0.1464661, -0.21033211, 0.05913627, 0.10233881, 0.009844489, -0.15369488, -0.018978333, -0.07518442, -0.010549853) * go_2(1.0, 0.0); - result += mat4(0.112989105, -0.011166866, -0.08277204, 0.046827227, -0.08067428, 0.13465053, -0.1656419, 0.07280515, 0.037523627, -0.050147127, -0.17731906, 0.1067486, 0.119732924, -0.102017604, 0.31421226, -0.14060387) * go_2(1.0, 1.0); - result += mat4(-0.1106223, 0.09229271, -0.09355422, -0.02413533, -0.096457504, -0.13282233, 0.022983741, -0.13534859, -0.0056585902, -0.07214356, 0.14617127, -0.13723095, 0.058078192, -0.1038417, -0.10452195, -0.18855028) * go_3(-1.0, -1.0); - result += mat4(0.16357008, 0.080841675, 0.1663936, 0.20815827, 0.03813903, 0.34158087, -0.012987109, 0.39152008, -0.027927356, -0.14332302, -0.012866622, -0.016149148, -0.08733816, 0.1960951, 0.19572765, -0.2710826) * go_3(-1.0, 0.0); - result += mat4(0.024827998, 0.24175219, 0.030659903, -0.22227505, 0.026898654, 0.009930298, 0.088392995, 0.32644793, -0.10351868, -0.08717382, 0.22931585, 0.05197704, 0.06534648, 0.13636068, 0.062107667, 0.024806283) * go_3(-1.0, 1.0); - result += mat4(-0.18550465, 0.062058095, -0.08620093, 0.20158216, -0.1460996, 0.14275469, -0.28057688, -0.11685651, -0.09627509, 0.09029933, 0.03669734, 0.1257313, -0.07974307, 0.020742215, -0.0039170664, 0.11340528) * go_3(0.0, -1.0); - result += mat4(0.15225565, 0.171972, 0.13573253, 0.0056740018, -0.1667786, 0.06028638, -0.1255049, -0.23327217, -0.139949, 0.029957669, -0.16713464, 0.046236664, -0.05070503, 0.18714412, -0.20076098, 0.1672637) * go_3(0.0, 0.0); - result += mat4(0.18468563, 0.07733334, 0.14463845, -0.10712052, 0.36213547, 0.29404843, 0.2110929, 0.14646721, -0.059985258, -0.2709805, 0.073061034, -0.039072156, 0.015898943, -0.17166951, 0.20194982, -0.04723745) * go_3(0.0, 1.0); - result += mat4(-0.26353067, 0.050225407, -0.42643914, 0.06601958, -0.10513071, -0.1654714, 0.0593609, 0.027410276, -0.19465327, -0.13865606, 0.05579213, 0.07982532, -0.20893136, -0.008150932, 0.053529713, -0.0317475) * go_3(1.0, -1.0); - result += mat4(-0.012075693, -0.27574313, 0.22184552, -0.117393926, -0.49310133, -0.13997443, -0.079180904, -0.053438634, -0.07552426, -0.045796394, -0.037434675, 0.24076645, -0.04395852, 0.10325762, -0.19867313, -0.070216134) * go_3(1.0, 0.0); - result += mat4(-0.026107877, -0.030023552, -0.047810435, 0.20572239, 0.061861858, 0.1776161, -0.306099, 0.16332485, -0.1843373, 0.06758581, -0.23902373, -0.10575018, 0.03990962, -0.046113137, 0.14876197, -0.21280771) * go_3(1.0, 1.0); - result += vec4(-0.009669773, 0.036289547, -0.050454646, 0.051479716); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14542116, -0.15827142, -0.20811677, -0.103433, 0.19787271, 0.33990738, 0.17085013, -0.059132278, 0.013047369, -0.1687924, 0.06732661, -0.050968684, 0.09197164, -0.041265316, -0.108277336, -0.014430892) * go_0(-1.0, -1.0); - result += mat4(-0.022837132, 0.20440012, -0.14266612, 0.019944299, 0.069084294, 0.3171199, -0.1521742, -0.35806596, 0.13581008, -0.13811131, 0.12219503, 0.17329764, -0.15100783, 0.0862648, 0.118227705, 0.18736814) * go_0(-1.0, 0.0); - result += mat4(0.013604392, 0.11496102, -0.18734755, -0.047555517, 0.05297245, 0.006461213, 0.06247472, -0.0202791, 0.02329791, 0.11530998, -0.148774, 0.0965498, 0.1487269, 0.061629567, -0.22488646, -0.005393787) * go_0(-1.0, 1.0); - result += mat4(-0.29286116, 0.11958281, -0.11193505, -0.17139061, -0.035151243, -0.2635945, 0.0002499315, -0.16346519, 0.23779829, 0.04454211, 0.21293561, 0.25617847, 0.12194803, -0.0017443774, -0.009216221, -0.034387548) * go_0(0.0, -1.0); - result += mat4(0.28791443, -0.25421545, -0.058626153, -0.1520494, -0.16808414, -0.39723453, -0.13199537, 0.056999452, -0.048155293, 0.38699663, -0.114719056, 0.001293743, -0.0959443, -0.08189709, 0.26921842, 0.061219636) * go_0(0.0, 0.0); - result += mat4(0.00781977, -0.07103863, -0.21942843, 0.2419546, 0.20016691, -0.28697264, -0.034715973, -0.03381459, -0.028126812, 0.046806023, -0.14423183, -0.13472253, 0.009225362, -0.086190686, 0.0041205613, 0.08953202) * go_0(0.0, 1.0); - result += mat4(-0.04926224, -0.099740155, -0.088695474, 0.09950333, -0.06495916, 0.20126842, -0.0062843356, -0.034764495, -0.10808971, -0.19946553, 0.075991094, 0.14746219, 0.08247818, 0.07382381, -0.056908615, -0.026823666) * go_0(1.0, -1.0); - result += mat4(-0.04837408, 0.12605472, -0.23957102, -0.14252385, -0.046534102, -0.07511751, -0.21040416, 0.2064639, -0.006026243, -0.25005546, -0.063780144, 0.076840036, -0.07484346, 0.017368162, 0.04657373, -0.022188455) * go_0(1.0, 0.0); - result += mat4(0.04545079, -0.002226373, -0.11695467, 0.12954631, 0.054903183, 0.15162702, -0.19222596, 0.05351421, -0.079599276, -0.036238387, 0.1362261, 0.037431743, -0.0015106505, 0.18739921, 0.122365154, -0.05871144) * go_0(1.0, 1.0); - result += mat4(-0.005558987, -0.13553315, -0.006372213, 0.06633917, -0.22141413, -0.15780807, 0.057122614, -0.057320844, -0.06306763, 0.19112623, -0.041758966, 0.03555483, -0.005718873, 0.009167371, 0.050909385, -0.14599234) * go_1(-1.0, -1.0); - result += mat4(0.18175003, 0.10442485, 0.052994236, -0.4001252, -0.08328538, 0.06380226, -0.055015627, 0.010929493, -0.22888647, -0.033181675, -0.07570874, 0.07933599, -0.07894686, 0.12202901, 0.13679314, -0.054344065) * go_1(-1.0, 0.0); - result += mat4(0.030145945, -0.06121175, -0.08550973, 0.10082535, 0.07198805, 0.21414264, -0.25636044, 0.028803539, 0.043738026, -0.0367658, 0.27998537, -0.06274612, -0.22862338, 0.002624325, 0.28519824, 0.18540645) * go_1(-1.0, 1.0); - result += mat4(-0.012136538, -0.07059324, 0.018098673, 0.12078888, -0.087637, 0.041642863, 0.034997553, -0.16741107, 0.04701011, -0.004160269, 0.122639626, 0.0043271836, 0.011551197, -0.16421974, -0.102481335, 0.014233497) * go_1(0.0, -1.0); - result += mat4(-0.37945676, 0.25232047, -0.03707734, -0.1985225, -0.11536396, 0.22039749, -0.21809638, -0.10596801, -0.17211124, -0.2035486, 0.011822896, 0.27510995, -0.105182275, 0.022503568, -0.0063389307, -0.071560584) * go_1(0.0, 0.0); - result += mat4(-0.16101715, -0.034247126, 0.16626042, 0.031131435, 0.03048031, -0.105447404, -0.05728527, -0.14518815, -0.019103229, -0.15152888, -0.119154684, 0.028724093, 0.05836196, -0.35943082, -0.016481897, -0.0437348) * go_1(0.0, 1.0); - result += mat4(-0.07719413, -0.33214888, -0.0541927, 0.16506542, -0.032792456, 0.016834807, 0.1724155, 0.073768586, 0.002303886, -0.001382793, -0.0562648, -0.10167158, -0.19101655, 0.052783452, -0.1422853, 0.09653729) * go_1(1.0, -1.0); - result += mat4(-0.30030164, 0.11637444, -0.23238538, -0.27238008, -0.077208534, -0.027645003, 0.10369907, 0.20162316, -0.14428844, 0.1766293, 0.024419712, 0.11301171, 0.07772854, 0.18613201, 0.20721672, -0.1751799) * go_1(1.0, 0.0); - result += mat4(-0.1026615, -0.12484944, 0.15386428, 0.038676128, -0.119472496, -0.032417197, -0.14208497, -0.05254358, -0.0035079278, -0.011276316, 0.043117497, -0.010022288, 0.031624593, 0.014969992, -0.031410277, 0.15284787) * go_1(1.0, 1.0); - result += mat4(0.018149922, -0.05906194, 0.054767277, 0.008161979, -0.076949194, 0.040888708, -0.006419542, -0.12897012, -0.0028229658, 0.20937827, 0.02741711, -0.04013348, -0.12731804, 0.008064522, 0.002870103, 0.027690327) * go_2(-1.0, -1.0); - result += mat4(0.023197446, -0.08888926, 0.15531142, 0.13745947, 0.054352283, -0.121785395, 0.16237587, 0.023567237, -0.36160588, 0.30499592, -0.033180915, -0.1515843, 0.04251452, -0.17903805, 0.03235283, -0.08062386) * go_2(-1.0, 0.0); - result += mat4(-0.0072868476, -0.2010616, 0.13061914, 0.12846659, 0.11725315, 0.14589547, -0.05373261, -0.081606135, -0.07010131, -0.025378224, 0.10265872, 0.18658938, -0.12165338, 0.036297683, 0.03925332, 0.16576236) * go_2(-1.0, 1.0); - result += mat4(0.10300252, -0.11548347, -0.08691649, -0.014866044, -0.3213804, 0.47206497, -0.16032113, 0.026284516, 0.046302956, -0.052474245, -0.025335522, -0.10957576, -0.16872157, 0.19049212, -0.023881195, 0.061396897) * go_2(0.0, -1.0); - result += mat4(-0.16202278, 0.52128345, -0.2601511, 0.06116799, -0.21123995, 0.39389637, -0.350544, -0.16157438, -0.02823116, -0.39056876, -0.14267299, 0.03262984, 0.342303, -0.20556125, -0.0019219286, -0.1824844) * go_2(0.0, 0.0); - result += mat4(0.23399737, -0.0912646, 0.11152403, -0.20945886, -0.053451832, -0.09786892, -0.059099484, 0.18103573, -0.117154315, -0.18342866, 0.12650815, 0.0067340015, -0.037984423, 0.17667364, 0.071636364, -0.011689163) * go_2(0.0, 1.0); - result += mat4(-0.099510275, -0.0925438, -0.009136904, -0.03774997, -0.13348748, 0.3605135, -0.078298144, -0.14712195, 0.22566219, 0.18659295, 0.05614545, 0.10792911, -0.12477693, -0.03587624, 0.08050775, -0.054740936) * go_2(1.0, -1.0); - result += mat4(0.10312337, -0.063681684, 0.16496794, 0.09038492, -0.08903926, 0.41163155, -0.013669214, -0.21472235, -0.054991595, 0.0033639956, 0.18160143, 0.17240305, -0.039428882, 0.17087695, -0.1729076, 0.09871825) * go_2(1.0, 0.0); - result += mat4(-0.13123736, 0.0802573, 0.077981554, -0.101768315, 0.089998, -0.13781744, 0.122858986, 0.054121554, -0.02640825, 0.13577555, -0.037485655, -0.04179625, 0.000106130996, -0.100183845, 0.00046665114, 0.21791616) * go_2(1.0, 1.0); - result += mat4(0.011894387, -0.030088445, 0.025817253, 0.08193235, 0.109322436, 0.10855583, -0.19661167, -0.09405307, 0.2073779, -0.33972177, 0.048635002, -0.14883177, 0.056954246, 0.3953476, 0.18765114, -0.014010224) * go_3(-1.0, -1.0); - result += mat4(-0.22594279, -0.014942035, -0.1519647, 0.25367293, 0.16330296, 0.03317176, -0.32148597, -0.46503916, 0.19944623, -0.26229686, 0.019909514, -0.059794176, 0.12912126, 0.044948537, -0.08649492, 0.08024645) * go_3(-1.0, 0.0); - result += mat4(-0.022943841, -0.068013534, 0.11032515, 0.011685601, 0.020096298, -0.3285243, 0.08196111, -0.089537136, -0.03976742, -0.1315977, -0.36306036, 0.24678081, 0.22115967, -0.017472323, -0.19451386, -0.035218123) * go_3(-1.0, 1.0); - result += mat4(-0.020891193, -0.12721714, -0.15030408, 0.026523203, -0.12413139, -0.11235275, -0.21476477, -0.11326953, 0.028815055, -0.18552732, -0.0076828003, -0.14679903, 0.020509586, -0.18695217, 0.06696879, 0.103938386) * go_3(0.0, -1.0); - result += mat4(0.057521313, 0.28509304, -0.2525733, 0.16745082, -0.26614547, 0.18545172, -0.27140215, 0.018639714, 0.19730581, 0.1659491, -0.058363054, -0.4048628, 0.024913948, -0.44124457, 0.13872208, -0.0371103) * go_3(0.0, 0.0); - result += mat4(0.100904405, 0.06700356, -0.035322092, 0.21781014, 0.018047005, -0.21737386, -0.3734802, 0.13506944, 0.012760691, 0.06620756, -0.0253398, 0.0030280363, -0.044015452, -0.055860534, -0.3547194, -0.04230283) * go_3(0.0, 1.0); - result += mat4(-0.19012743, -0.34408915, 0.18940191, 0.13152952, 0.107553795, -0.00694412, -0.07930157, -0.30964044, 0.034710668, -0.031806916, 0.019838978, 0.017044948, 0.110688254, -0.0029772928, 0.09414367, -0.10760175) * go_3(1.0, -1.0); - result += mat4(-0.05745392, 0.29022983, 0.014998233, 0.27365527, 0.08169933, 0.0734232, -0.09404464, -0.26870936, 0.21171738, -0.19529793, -0.064401075, -0.18972695, -0.08024953, -0.027122354, -0.11661348, 0.010131282) * go_3(1.0, 0.0); - result += mat4(0.07599435, -0.06851123, 0.06258365, 0.10296892, 0.15556085, -0.041609086, -0.11303363, 0.07082365, 0.013949174, -0.087201476, -0.0855705, -0.12979257, 0.04048528, 0.4211556, 0.04118289, -0.22093314) * go_3(1.0, 1.0); - result += vec4(0.07789114, 0.0024746545, 0.1891165, -0.0023716448); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10883355, -0.14958352, 0.026701333, 0.090302855, 0.033934478, 0.120340124, 0.027125617, -0.16792692, -0.075757094, 0.28692973, 0.013230067, -0.040618937, 0.087148145, -0.05985753, -0.06352023, -0.05775848) * go_0(-1.0, -1.0); - result += mat4(-0.18206549, -0.10363482, 0.097648725, -0.08801144, 0.31633568, 0.058347676, -0.009121898, 0.02594872, 0.14757825, 0.4730546, -0.008518203, -0.3090668, -0.004052835, -0.14166127, -0.010156037, 0.21191326) * go_0(-1.0, 0.0); - result += mat4(0.05735183, 0.039180398, -0.12357178, 0.04830351, 0.120369986, -0.052775342, 0.005902798, 0.07695394, 0.00602021, 0.16758691, 0.10287989, -0.1718468, -0.1319741, 0.16932078, -0.2055026, -0.31820264) * go_0(-1.0, 1.0); - result += mat4(0.05427556, -0.28392607, 0.08579091, -0.0015861926, 0.062348455, -0.27778792, -0.07450379, 0.01616914, -0.012357131, -0.056992117, -0.1896176, 0.018156245, 0.06499259, -0.076558664, 0.10341699, -0.08993959) * go_0(0.0, -1.0); - result += mat4(-0.05741742, -0.05414434, 0.18006511, 0.09840777, -0.11849741, 0.40419933, 0.21349974, 0.40268886, 0.23218039, -0.0680356, -0.3130592, -0.21271054, 0.13776754, 0.19114101, 0.17373541, 0.43457666) * go_0(0.0, 0.0); - result += mat4(-0.060757063, 0.11339545, -0.042958036, -0.06483378, -0.06681766, -0.056395415, 0.037868995, 0.033861663, -0.1041215, 0.0046828864, 0.14360638, 0.087886184, -0.26808187, 0.19876598, -0.05276215, -0.07073776) * go_0(0.0, 1.0); - result += mat4(-0.24029991, -0.14217372, -0.011767948, 0.011623913, 0.33820602, -0.24501325, -0.11444902, 0.14536968, 0.16780593, 0.0065867775, -0.074971735, 0.021472024, -0.10853042, 0.09527126, 0.009436061, -0.09688826) * go_0(1.0, -1.0); - result += mat4(-0.31893802, -0.0016892607, -0.105592966, -0.116694786, -0.007851739, 0.1429722, 0.0741952, 0.050125953, 0.07185179, 0.1900389, 0.030889044, 0.15422693, 0.12550323, 0.3556344, 0.108276874, -0.099125646) * go_0(1.0, 0.0); - result += mat4(-0.33620578, -0.11113713, -0.15881014, 0.028243937, -0.12028756, -0.028566968, -0.002682634, -0.15635195, -0.06869284, -0.03309234, 0.03086361, 0.050773233, -0.08939835, 0.15237434, -0.024076303, -0.13092752) * go_0(1.0, 1.0); - result += mat4(-0.31200737, 0.32207087, -0.068700634, -0.39202076, 0.0676771, 0.083766654, -0.05696634, 0.03088338, 0.046761762, 0.09732023, 0.030844063, -0.03369749, -0.12664944, -0.029924957, 0.10551989, 0.086157694) * go_1(-1.0, -1.0); - result += mat4(-0.1919761, 0.17179352, -0.025805056, -0.05570367, -0.16736336, 0.07430868, -0.13228212, 0.10702857, -0.09723214, 0.1884809, 0.09422538, -0.16902041, -0.1964137, 0.17877853, 0.17453954, -0.11339361) * go_1(-1.0, 0.0); - result += mat4(0.11865004, 0.013131073, 0.17317963, -0.2077911, -0.1116894, 0.09672745, -0.023348883, -0.1176519, 0.15893579, 0.22941695, 0.18798698, 0.059098385, 0.09498779, 0.10118143, 0.08737761, -0.016268898) * go_1(-1.0, 1.0); - result += mat4(-0.025380889, 0.17163627, -0.014800655, 0.12669696, 0.050048903, -0.06513837, 0.020915661, 0.2144372, -0.17799327, 0.0068409992, 0.06751171, -0.16618991, 0.14637277, 0.010591964, -0.15909241, 0.02660789) * go_1(0.0, -1.0); - result += mat4(0.3178319, 0.15036377, -0.03386948, 0.13883169, -0.33842105, 0.061425313, -0.04195804, 0.22558802, 0.2250625, 0.060225345, -0.08467863, 0.0014776831, 0.080328, 0.03221249, 0.20838667, 0.11489719) * go_1(0.0, 0.0); - result += mat4(-0.0013924981, 0.28233197, -0.17997956, -0.10959627, -0.16253087, 0.016549526, -0.1571556, 0.017017027, -0.14697123, 0.0869202, 0.2104898, -0.15658243, 0.13424201, -0.022636503, -0.09512045, 0.0927298) * go_1(0.0, 1.0); - result += mat4(-0.038486905, -0.19215351, -0.2446516, -0.02958912, 0.06899297, 0.028667469, -0.05537665, 0.066711955, -0.0017354499, -0.07466053, 0.028587297, -0.042017035, 0.023596823, 0.0067433366, -0.14685915, 0.13400853) * go_1(1.0, -1.0); - result += mat4(0.0573442, 0.1424536, 0.19606829, 0.07141616, -0.032276712, 0.20030099, 0.16644277, 0.10393295, 0.27240822, 0.0071844175, -0.023368603, -0.14067268, -0.20310283, 0.039528254, 0.103837095, 0.08236034) * go_1(1.0, 0.0); - result += mat4(0.15616669, 0.3495403, -0.05678421, -0.069600284, -0.07361787, 0.079501756, 0.009530261, -0.032385882, 0.029831208, -0.095407076, 0.010261287, 0.15250465, -0.04868275, 0.058579214, 0.03779718, -0.10810775) * go_1(1.0, 1.0); - result += mat4(0.06492073, 0.018667994, -0.004712761, -0.032692235, 0.04027288, -0.114499666, -0.04327484, 0.13778907, -0.09373396, -0.08822919, 0.04796151, -0.057756703, -0.26161298, 0.07182931, 0.12998815, -0.14389744) * go_2(-1.0, -1.0); - result += mat4(0.19001032, 0.13091461, -0.2551175, 0.013365716, -0.031779066, 0.002531366, -0.13807543, -0.14165778, -0.2701911, -0.0890182, 0.34704998, -0.008494185, 0.16179956, -0.060182545, 0.060827415, -0.17249492) * go_2(-1.0, 0.0); - result += mat4(0.10665868, 0.15999752, -0.042796712, -0.14010513, -0.014244899, 0.017433831, 0.053657144, -0.0965679, 0.23623326, 0.0690172, 0.1290121, -0.025523739, 0.122357905, -0.18172716, 0.02829383, 0.10042929) * go_2(-1.0, 1.0); - result += mat4(-0.09273112, 0.09466892, -0.009225705, 0.16772579, 0.0813042, -0.16461512, 0.038097944, 0.19834967, -0.033650465, -0.12888893, 0.1414859, -0.021587005, -0.0047441716, 0.08880282, 0.020621201, 0.065779164) * go_2(0.0, -1.0); - result += mat4(0.0051817205, 0.20322648, -0.077459775, 0.07461627, 0.1817634, -0.5371515, -0.29336745, -0.57652086, 0.035826538, 0.41058993, 0.21512514, -0.041881148, -0.2490056, -0.07172767, 0.20821427, -0.69866294) * go_2(0.0, 0.0); - result += mat4(0.18961228, 0.027452804, -0.0075194626, -0.029665018, 0.28770384, -0.099777386, -0.12160496, 0.07690297, 0.30273837, 0.026466522, 0.18100439, -0.09078488, 0.2035407, -0.062081084, 0.06744994, -0.07512911) * go_2(0.0, 1.0); - result += mat4(0.008473044, 0.07501521, -0.11242355, -0.039451122, -0.21818535, -0.07779562, 0.13194147, 0.084983595, 0.0770609, -0.034488454, 0.08823556, -0.07168295, 0.041894365, 0.0789253, 0.06191209, 0.013991105) * go_2(1.0, -1.0); - result += mat4(0.10582237, 0.1514222, 0.10751824, 0.08231926, 0.23913008, -0.2673503, 0.036170945, 0.31463087, 0.026397424, -0.26629624, -0.07428361, -0.077513516, 0.0768238, -0.026638538, 0.12589583, -0.11521212) * go_2(1.0, 0.0); - result += mat4(0.30389515, 0.18963532, 0.023015842, -0.10240883, 0.045651495, -0.036785256, -0.13346411, 0.16431254, -0.030950911, -0.03381929, 0.09413111, 0.03924852, 0.11044091, -0.10149653, 0.14114548, 0.07801978) * go_2(1.0, 1.0); - result += mat4(0.029622428, 0.14528686, -0.034057826, 0.010664312, 0.059213262, -0.29354423, -0.08448559, 0.10569036, -0.02988314, -0.016480735, 0.042203777, -0.028342744, 0.36807576, 0.09301971, 0.123721026, 0.07806503) * go_3(-1.0, -1.0); - result += mat4(0.04849538, -0.09201287, 0.10069803, -0.031749677, 0.18774022, -0.27789372, 0.05288653, 0.08097265, 0.006918896, -0.060978457, -0.113319606, 0.008844536, 0.021804892, -0.0011744015, -0.35720357, -0.24996938) * go_3(-1.0, 0.0); - result += mat4(-0.07147501, -0.09339197, 0.16154395, 0.3372506, -0.0004858638, -0.056553435, -0.12463908, -0.0047342298, -0.009141984, -0.13796125, -0.14035304, -0.104403175, -0.07054226, 0.12142519, -0.24971877, -0.1914648) * go_3(-1.0, 1.0); - result += mat4(-0.008194284, -0.027617034, 0.004994261, -0.07672895, 0.25697777, -0.18313397, 0.03266311, -0.029157834, 0.010476624, 0.12394092, -0.059660904, 0.08561672, -0.0008583816, -0.044442356, 0.28336492, 0.065344445) * go_3(0.0, -1.0); - result += mat4(-0.3570137, -0.06802815, -0.10298613, -0.21256869, 0.3025278, -0.263425, 0.13547331, 0.038517762, 0.14951234, -0.16869017, 0.03293678, 0.21897063, -0.14688788, 0.21619378, -0.27550143, 0.048003722) * go_3(0.0, 0.0); - result += mat4(0.15607022, -0.111073844, 0.2733694, 0.05423378, 0.25116092, -0.17350473, 0.13460433, 0.09602139, 0.17372625, -0.0024815476, -0.30154657, 0.0062206364, -0.0051755225, 0.04985103, -0.06310478, -0.30450678) * go_3(0.0, 1.0); - result += mat4(0.057571005, -0.019051064, 0.054884393, 0.03993782, 2.6782007e-05, -0.05726912, 0.067192145, -0.08955987, -0.11937056, 0.15837386, -0.011670469, -0.06299701, -0.014917928, 0.23921679, 0.0054613873, -0.23099245) * go_3(1.0, -1.0); - result += mat4(-0.035849575, -0.06785954, -0.15053692, 0.011964653, 0.1975448, -0.1633047, -0.024539666, 0.03170174, -0.12585635, -0.021171011, 0.15862562, 0.10296358, 0.3114039, 0.10010659, -0.09519227, -0.12945092) * go_3(1.0, 0.0); - result += mat4(0.044433746, -0.058466546, -0.13258536, -0.033972915, 0.0037206819, -0.057343487, 0.13798106, 0.044445634, -0.22623023, 0.2408462, 0.048287082, -0.30717465, -0.13402344, 0.20024839, -0.026932377, -0.034217034) * go_3(1.0, 1.0); - result += vec4(-0.05988374, -0.23198523, -0.058251306, -0.038808554); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.045249436, -0.040327657, -0.2667367, 0.0913868, 0.14961123, 0.07253207, 0.29162952, -0.11320944, 0.017569833, 0.012350104, 0.22532712, 0.025312115, -0.12193993, 0.037391737, 0.03220835, 0.12102545) * go_0(-1.0, -1.0); - result += mat4(-0.020587588, -0.07043244, -0.28093454, 0.18336722, 0.08153308, -0.05914772, -0.15255487, 0.079236075, -0.4269835, -0.11470208, -0.19043571, 0.2723162, 0.0066251885, -0.17115718, 0.022036036, 0.07349558) * go_0(-1.0, 0.0); - result += mat4(-0.09441315, 0.042170826, 0.071251415, -0.13891962, 0.10236482, 0.05356262, 0.0291025, 0.063867815, -0.14530063, -0.08727925, -0.0048300857, 0.06766869, -0.3481536, -0.10943503, 0.014951926, 0.11993114) * go_0(-1.0, 1.0); - result += mat4(0.13420522, 0.095721036, -0.1756104, -0.09906728, 0.09808904, -0.27402034, -0.102161326, 0.40162942, 0.13465238, 0.20237032, 0.3192343, -0.061512157, -0.20711629, -0.09659007, 0.06838548, 0.30256763) * go_0(0.0, -1.0); - result += mat4(0.025805298, -0.0322599, 0.23653145, -0.2760735, 0.11291006, -0.10836205, 0.20742846, 0.06974535, -0.4191803, -0.10882523, 0.038603242, 0.22662747, -0.08845715, -0.26151156, -0.16670766, 0.008536192) * go_0(0.0, 0.0); - result += mat4(-0.085842185, -0.21239999, -0.032774646, 0.088163696, 0.038300447, -0.09510875, 0.10113864, -0.14712982, 0.14264707, -0.10895432, 0.03051617, -0.06791873, -0.35589013, -0.12884575, -0.09460007, -0.0879575) * go_0(0.0, 1.0); - result += mat4(0.19235751, -0.109611385, -0.037397474, -0.26632717, 0.07878826, 0.19749992, 0.0035685285, 0.11793927, 0.019899402, 0.085741036, 0.08433813, -0.018344546, -0.0901484, 0.08221562, 0.12735383, 0.12801875) * go_0(1.0, -1.0); - result += mat4(0.19123435, 0.007882246, -0.018564796, -0.09904253, 0.28052533, 0.6360808, 0.25001726, -0.30590564, 0.07646281, -0.34298185, -0.33293694, -0.036753535, 0.18719083, 0.22131144, -0.1420962, -0.0014709529) * go_0(1.0, 0.0); - result += mat4(0.23060241, -0.14145076, -0.113213465, 0.037221998, 0.22163334, 0.18520229, 0.2961799, -0.063605964, 0.022606356, 0.043340076, -0.3233993, -0.075055614, -0.0038865958, 0.19558622, -0.018503085, -0.22932632) * go_0(1.0, 1.0); - result += mat4(0.11712158, -0.03590364, 0.38039652, -0.019910801, 0.13338004, -0.07078425, 0.09404417, -0.27607328, -0.02205519, -0.013522961, 0.2924021, -0.16088538, -0.034280356, -0.063614614, -0.061583273, -0.22479968) * go_1(-1.0, -1.0); - result += mat4(-0.05624079, 0.32659104, 0.47335497, -0.14091404, 0.14739423, -0.07122778, -0.009384643, -0.058900848, 0.06260307, -0.17574102, 0.3538743, 0.2842822, -0.18150197, 0.26806462, 0.24673693, 0.19710627) * go_1(-1.0, 0.0); - result += mat4(-0.24837571, -0.01663848, -0.13093965, 0.30109972, -0.09680959, 0.074526474, 0.024111765, -0.012781737, -0.08591349, -0.100348584, 0.02363011, -0.02687084, -0.27630556, 0.14074354, -0.016993485, 0.084373675) * go_1(-1.0, 1.0); - result += mat4(0.1543391, -0.2008408, -0.21885285, 0.2320177, 0.06669948, -0.05171086, -0.25833863, -0.14085051, -0.035878573, -0.1632403, 0.09782713, 0.22973235, -0.14022017, -0.018347954, -0.29652777, 0.10912002) * go_1(0.0, -1.0); - result += mat4(-0.050962634, -0.040519282, -0.04381614, 0.084133334, 0.21222316, -0.091010064, 0.13157965, -0.21375372, -0.021148674, -0.044127557, -0.11400533, 0.097688414, 0.31571037, -0.05167655, 0.27606225, 0.12169133) * go_1(0.0, 0.0); - result += mat4(-0.1329087, 0.14291021, 0.043337896, -0.25970098, -0.11379552, -0.040157612, 0.08379851, -0.24104865, 0.1593102, -0.031879216, -0.004603848, -0.019003935, -0.24769545, -0.17577063, 0.16019398, 0.04640235) * go_1(0.0, 1.0); - result += mat4(-0.11615644, 0.12189521, 0.12919527, -0.104224406, -0.10143574, 0.14024515, -0.02759362, -0.1467619, 0.09028311, -0.06510291, 0.061612967, 0.10227729, -0.08785846, 0.06464871, -0.05048917, 0.09055746) * go_1(1.0, -1.0); - result += mat4(0.34443164, 0.013906371, -0.0595573, 0.09354196, 0.12184454, -0.02698316, -0.06208632, -0.11266858, 0.004904335, -0.33987018, -0.2494041, 0.127125, 0.040493876, 0.0280356, -0.037431944, 0.05823802) * go_1(1.0, 0.0); - result += mat4(-0.1762869, -0.20683959, -0.37788594, -0.1244979, -0.17202286, -0.038234763, 0.015924744, -0.014006752, 0.07097758, -0.25219876, -0.3164728, 0.022413896, -0.41423917, -0.03191542, 0.009464804, 0.0770316) * go_1(1.0, 1.0); - result += mat4(0.12442388, 0.031095076, 0.18799834, -0.18449762, -0.11995044, 0.11634828, -0.0055850362, 0.08558657, -0.025694892, -0.2854381, -0.32876188, 0.14690274, -0.1835963, -0.1786755, -0.44678628, 0.1678422) * go_2(-1.0, -1.0); - result += mat4(0.031241562, -0.1265462, 0.081369035, -0.1184643, 0.0010021052, -0.10810683, -0.039572187, 0.13850863, -0.010703417, -0.057981443, 0.30309856, 0.13869847, -0.16935349, 0.16969836, 0.045642667, 0.26460654) * go_2(-1.0, 0.0); - result += mat4(0.28779998, 0.04767888, -0.011856489, 0.114210494, 0.034624737, 0.19084676, -0.02740287, 0.035041407, -0.049002927, 0.10928203, 0.17362499, -0.1280889, 0.00077811617, -0.17594084, -0.18379052, 0.22303762) * go_2(-1.0, 1.0); - result += mat4(0.0008487252, -0.060438234, 0.109334275, -0.18768874, 0.13844973, 0.09226474, 0.18361697, -0.19385563, -0.29241335, -0.1033556, -0.3289991, 0.10027422, -0.09454755, -0.22817631, -0.2964217, -0.19499257) * go_2(0.0, -1.0); - result += mat4(-0.057920385, 0.06342629, -0.048577324, 0.15952215, -0.061343953, 0.16471362, 0.1501856, 0.027373426, 0.01837245, -0.0732048, 0.09776471, 0.14817989, -0.112215854, 0.109101914, 0.058316242, 0.29969788) * go_2(0.0, 0.0); - result += mat4(-0.12411656, -0.033170763, -0.08715826, 0.110862456, 0.1871076, 0.14550175, 0.23373431, 0.19281025, -0.37016305, -0.11924462, 0.026793748, 0.092801645, 0.04318573, 0.20969667, -0.39267823, 0.1938874) * go_2(0.0, 1.0); - result += mat4(-0.15932916, 0.22217506, 0.007901788, -0.04037383, 0.09095982, -0.043115042, 0.098845564, -0.073432215, -0.14535685, 0.11504512, -0.07950504, -0.010718905, -0.050012022, -0.13089752, -0.3323894, -0.005423676) * go_2(1.0, -1.0); - result += mat4(0.007320675, 0.21108273, 0.20758918, -0.04005568, -0.13234317, -0.15708306, 0.41804615, -0.09720499, -0.09623786, 0.2441289, 0.33276868, 0.17716111, -0.45670444, -0.026252905, -0.01958701, 0.24028622) * go_2(1.0, 0.0); - result += mat4(-0.14936383, -0.023504466, -0.028479185, -0.053541556, -0.060263615, -0.087681144, 0.2435555, 0.08470686, -0.17713271, -0.2303349, 0.09337386, 0.039068084, -0.16263027, 0.034289114, 0.16604292, 0.10550447) * go_2(1.0, 1.0); - result += mat4(-0.16556105, 0.12211341, -0.0036831333, 0.13802956, 0.065256506, 0.03395266, -0.2296282, 0.21284704, 0.017770419, -0.1722762, -0.1741687, 0.10708671, 0.331979, 0.11924846, -0.09410989, -0.123036265) * go_3(-1.0, -1.0); - result += mat4(-0.096586555, -0.30475244, -0.24065268, 0.053860847, 0.19413544, 0.05542323, -0.06327867, 0.012265184, -0.08913778, 0.13779551, -0.099127166, 0.007493773, -0.07125554, -0.0011684593, -0.003005287, -0.094847135) * go_3(-1.0, 0.0); - result += mat4(0.21711998, -0.13086027, 0.07825239, -0.21121782, 0.055840425, -0.0019166623, -0.05480048, 0.019817038, 0.007626905, 0.14126389, 0.04515749, -0.029315706, 0.18555732, -0.114861906, -0.21993469, 0.031716693) * go_3(-1.0, 1.0); - result += mat4(-0.06716353, -0.11964145, 0.09711908, -0.061763637, -0.0948045, 0.14189975, 0.2810092, 0.2505306, 0.08872909, 0.086749084, -0.17528322, -0.048835423, 0.124959685, -0.12602286, 0.065660164, -0.06783225) * go_3(0.0, -1.0); - result += mat4(-0.23066516, -0.0068310793, -0.0021060852, 0.09136854, 0.09919007, 0.2259628, -0.026603302, 0.1367709, -0.07940821, 0.14962214, 0.00652088, -0.3114987, -0.18900892, -0.20450105, 0.09329685, -0.19482759) * go_3(0.0, 0.0); - result += mat4(0.095197074, 0.06346413, -0.05207484, -0.086378016, 0.19733003, 0.1448027, -0.02410627, 0.024829205, -0.20296144, -0.09551166, 0.022987023, 0.09035918, -0.15824226, 0.1350293, -0.06641893, 0.11739518) * go_3(0.0, 1.0); - result += mat4(0.08381447, -0.13171835, -0.030271608, 0.14649504, 0.0007350431, 0.15303299, -0.001797464, 0.30294403, -0.07635094, -0.102541, -0.12176348, 0.053775523, 0.08070882, -0.035387367, -0.09521456, 0.22530125) * go_3(1.0, -1.0); - result += mat4(-0.04650126, 0.12029137, 0.009236626, -0.1371486, -0.119391896, 0.20490645, 0.17123316, -0.015455403, 0.05842872, 0.14354227, 0.37586045, 0.054906923, 0.062954046, 0.07285954, 0.12260665, -0.08675996) * go_3(1.0, 0.0); - result += mat4(0.22510684, -0.010087092, 0.005660375, 0.05069907, 0.10297958, 0.1411009, 0.09538159, 0.00922383, -0.31313825, -0.06449414, 0.109746836, 0.30148697, 0.35861742, -0.045380104, 0.09908991, -0.1933117) * go_3(1.0, 1.0); - result += vec4(0.012253057, 0.13434875, -0.10318777, -0.074252345); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.04279202, -0.01698567, 0.18318103, -0.18172316, 0.04757184, 0.07232096, -0.054900512, 0.11956132, 0.048900753, 0.0006714882, -0.09200336, 0.16104606, 0.38940707, 0.2754208, -0.12735553, -0.30017206) * go_0(-1.0, -1.0); - result += mat4(0.2469705, 0.103162065, 0.10321547, -0.1292231, 0.3013039, -0.018333653, -0.19897339, 0.122247696, 0.14719778, 0.003909129, -0.19585025, 0.03670547, -0.2132921, 0.33642963, 0.17569672, 0.07414473) * go_0(-1.0, 0.0); - result += mat4(0.015335451, 0.15161209, 0.0447609, -0.042884503, 0.14257035, 0.07775234, -0.2064044, 0.03842874, -0.1660166, -0.19817057, -0.10740875, -0.123968095, 0.14156081, -0.2197906, -0.08622206, 0.4185408) * go_0(-1.0, 1.0); - result += mat4(-0.33392438, -0.12483512, -0.062084857, 0.16336447, 0.09862199, 0.1659862, 0.034751434, -0.11968266, -0.017155796, 0.21001562, -0.053017724, 0.10386376, 0.07066254, 0.50014263, 0.31065208, -0.026068505) * go_0(0.0, -1.0); - result += mat4(-0.34320992, -0.030056434, -0.24118581, -0.024320357, 0.327435, -0.036838267, -0.19433706, 0.24561343, -0.1489437, 0.225435, 0.18421564, 0.021147838, 0.264245, 0.16846146, -0.51724315, 0.039252095) * go_0(0.0, 0.0); - result += mat4(-0.25945047, 0.12058094, 0.2889452, -0.061687145, -0.10309796, -0.19476385, -0.10393912, 0.16837607, -0.05198191, -0.036113493, -0.11847194, 0.16367626, 0.018113747, 0.059499823, 0.0062132217, 0.15846115) * go_0(0.0, 1.0); - result += mat4(0.094601326, 0.053219795, 0.027610637, 0.12041253, 0.21425363, 0.15754686, 0.08518286, -0.00661778, -0.021661628, -0.17554528, -0.014842315, 0.22240937, 0.15908821, -0.20964032, 0.21754523, 0.30307937) * go_0(1.0, -1.0); - result += mat4(0.13757955, 0.06684095, -0.03616685, -0.014618309, 0.04168136, -0.17148526, -0.16317028, 0.14210777, 0.102521434, -0.19108291, -0.14441934, 0.14435884, 0.24228935, -0.10589834, 0.24029285, 0.27317202) * go_0(1.0, 0.0); - result += mat4(-0.16239886, -0.073841535, 0.067964345, -0.11332664, 0.07695667, -0.047180675, -0.08260769, 0.09427637, 0.09471068, 0.012713836, 0.14605078, -0.062490974, -0.11498225, 0.04150893, 0.37402585, 0.21953487) * go_0(1.0, 1.0); - result += mat4(-0.07445113, -0.14220217, 0.09271495, -0.014715529, -0.37606132, -0.14938155, -0.024809113, 0.22279873, -0.011379667, -0.04545505, -0.033382278, 0.08971831, 0.016359061, -0.016230864, 0.052939463, -0.07754285) * go_1(-1.0, -1.0); - result += mat4(0.10961948, 0.09230085, 0.061259165, 0.0015837378, 0.053883027, -0.22557226, 0.018400123, 0.43234614, 0.08967873, 0.06687854, -0.4389578, -0.01658211, -0.040707946, 0.0048945122, 0.1433802, 0.049759727) * go_1(-1.0, 0.0); - result += mat4(-0.027641231, 0.026085567, 0.109188825, -0.19011945, 0.19309571, 0.0084956605, 0.05034047, -0.08674781, -0.008124587, 0.031490494, -0.0744263, 0.084508896, -0.007835403, 0.13120581, 0.0021786217, -0.025225073) * go_1(-1.0, 1.0); - result += mat4(0.020191731, 0.24703082, -0.36845222, 0.0032569442, -0.1497622, 0.05968502, 0.09595371, 0.008410154, 0.119981945, -0.09983294, -0.19541258, -0.111814305, -0.25664008, 0.31031236, -0.23063917, -0.13823026) * go_1(0.0, -1.0); - result += mat4(-0.092747286, 0.23009373, -0.29804415, 0.05036082, 0.031480987, 0.18805481, 0.3676576, 0.06004687, 0.19841099, -0.058367446, -0.44229323, -0.19645047, 0.037667975, 0.12398346, -0.25753063, -0.26919344) * go_1(0.0, 0.0); - result += mat4(-0.019061154, 0.03841801, -0.28433323, 0.38128456, -0.059526864, 0.29960185, 0.014484517, -0.10234412, 0.05444907, -0.12615138, 0.14936689, -0.079120934, 0.028092088, 0.096715964, 0.0037780635, -0.12791039) * go_1(0.0, 1.0); - result += mat4(0.26949528, 0.015951393, 0.15355164, -0.030336212, -0.100286454, -0.052609976, 0.03197625, -0.092190474, 0.06131517, 0.18291938, -0.15216532, -0.026021928, 0.18581273, -0.10659101, 0.14806952, 0.20509768) * go_1(1.0, -1.0); - result += mat4(-0.2205839, 0.11654808, 0.43800604, 0.03188946, 0.13840868, 0.020377772, 0.038510147, 0.03779825, -0.23494276, 0.08624197, 0.036650848, -0.115041405, -0.03776705, -0.32108167, 0.0094707385, 0.37881464) * go_1(1.0, 0.0); - result += mat4(-0.031778246, -0.38020673, 0.16956653, 0.33444092, -0.042172886, -0.03465591, -0.17585713, 0.025507452, 0.07595919, -0.06807453, -0.100295454, -0.019174794, 0.07763043, -0.09321411, -0.05212223, 0.112239085) * go_1(1.0, 1.0); - result += mat4(-0.048172995, -0.012284629, 0.12846173, -0.13459995, 0.25443402, -0.013064909, 0.15480834, 0.14016332, 0.036635883, -0.049085367, 0.0506487, 0.26623604, -0.023176057, 0.012088936, -0.1844897, 0.040488705) * go_2(-1.0, -1.0); - result += mat4(0.2147455, 0.17323543, -0.2943051, -0.053386763, -0.023367947, 0.090753146, -0.011997397, -0.0626111, -0.13558747, -0.035944186, -0.014752113, 0.25506687, 0.055502877, 0.31465453, -0.16283247, -0.08967175) * go_2(-1.0, 0.0); - result += mat4(0.033773236, -0.09510872, -0.09313707, 0.046486538, -0.1699796, -0.11685979, 0.22197925, -0.013884658, 0.12514, -0.12129843, -0.09695589, -0.075202964, -0.12321221, 0.18949097, -0.03694664, -0.2306249) * go_2(-1.0, 1.0); - result += mat4(0.08668444, -0.22983012, -0.30873656, 0.07371376, 0.082137264, -0.014844924, 0.2283955, 0.24782042, 0.31113505, 0.14810014, 0.32804835, -0.12014127, -0.17742543, -0.15872951, -0.080107674, -0.16898526) * go_2(0.0, -1.0); - result += mat4(0.29746926, 0.19479977, 0.13996765, -0.4268552, -0.16478531, 0.0835479, 0.45685142, -0.05510062, -0.1282004, 0.12359051, 0.34026766, -0.26152933, -0.13128015, 0.329812, 0.27172327, -0.06600192) * go_2(0.0, 0.0); - result += mat4(-0.06552484, 0.19600633, 0.12407863, -0.13815112, 0.17426166, 0.040930413, 0.06495108, 0.034157254, -0.029772963, 0.015127817, 0.10718436, -0.13752984, -0.0205358, 0.1884735, 0.104591034, -0.020779913) * go_2(0.0, 1.0); - result += mat4(-0.053475305, -0.13616458, 0.05487909, 0.13256747, -0.10030239, -0.12376705, 0.062755466, 0.03264356, 0.068466686, 0.05019395, -0.034875803, -0.17806669, -0.21720818, 0.25592342, -0.2685692, -0.27576914) * go_2(1.0, -1.0); - result += mat4(-0.04562929, 0.04225299, -0.22311088, -0.09517893, -0.19886662, -0.11944208, 0.11044239, -0.10464355, 0.037634842, 0.124069214, 0.0927385, 0.108838566, -0.088783056, 0.17008123, -0.1007014, -0.23137446) * go_2(1.0, 0.0); - result += mat4(0.10306672, 0.027472405, -0.069015354, -0.14412996, 0.24068132, -0.10624665, -0.25597134, 0.05208812, -0.10230778, 0.006520562, -0.11931577, 0.26738268, -0.09168354, 0.13557245, -0.008878644, -0.22292739) * go_2(1.0, 1.0); - result += mat4(-0.09403718, 0.11993688, -0.036254726, -0.053109076, 0.18422048, 0.25203657, 0.10025996, -0.11272799, -0.22040273, -0.05758331, -0.07059054, -0.054108664, -0.20009018, -0.22061199, 0.057880517, -0.26669186) * go_3(-1.0, -1.0); - result += mat4(-0.08534496, 0.0027822452, -0.01112169, -0.13484463, -0.09446875, -0.057457812, -0.03910888, -0.2816038, -0.096015625, -0.03636662, 0.12532772, 0.092033, 0.038156748, -0.101240925, 0.024886698, -0.086328045) * go_3(-1.0, 0.0); - result += mat4(0.2349796, 0.19884427, -0.0734711, 0.08422328, -0.07201622, 0.020658491, 0.1331021, 0.039766714, 0.19280422, 0.13086005, -0.11339721, -0.14782044, 0.19341573, 0.16767374, -0.03593828, 0.18139753) * go_3(-1.0, 1.0); - result += mat4(-0.040663462, -0.15233721, 0.524604, 0.26603413, 0.07202415, 0.053382196, 0.030758869, -0.06144292, -0.010495834, 0.13868876, -0.020688854, -0.15551737, -0.2958513, -0.32805985, -0.25359175, -0.036683984) * go_3(0.0, -1.0); - result += mat4(-0.06644081, -0.145321, 0.24945419, 0.031560224, 0.17245345, 0.23418438, 0.20341763, -0.2619872, 0.038787205, 0.16488725, 0.0019107185, 0.03820528, 0.04169643, -0.34155026, -0.11183654, 0.028614044) * go_3(0.0, 0.0); - result += mat4(-0.028469078, 0.010781976, 0.05263661, -0.15337946, -0.20491667, -0.13879907, 0.13934538, 0.061196275, 0.056804053, 0.063193604, -0.2389496, 0.037072126, -0.058510017, 0.036215063, 0.3074709, 0.10517675) * go_3(0.0, 1.0); - result += mat4(0.028534278, 0.0022668538, 0.04492863, -0.060705435, 0.06349762, -0.016823182, -0.09148226, 0.03930522, -0.083295114, 0.14799853, -0.08089152, -0.21993661, -0.23298621, 0.05106244, -0.013708201, -0.16311577) * go_3(1.0, -1.0); - result += mat4(0.05885827, 0.122300275, -0.16086812, -0.21892425, -0.07548077, 0.09286181, -0.027564062, -0.028723463, -0.0056181233, 0.23472206, -0.0049285595, -0.45054138, 0.07592325, -0.044704806, 0.019616256, -0.06956836) * go_3(1.0, 0.0); - result += mat4(0.036423888, 0.20839189, -0.16420732, -0.15954947, -0.11311323, -0.24191359, 0.19845375, 0.084540576, -0.20946553, 0.09259613, 0.03234368, -0.056766506, -0.11992363, -0.06882079, -0.020428827, -0.093375795) * go_3(1.0, 1.0); - result += vec4(0.013113342, -0.2905848, -0.029724011, 0.1769613); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.093678355, -0.08574688, 0.007699401, -0.038818456, -0.10667588, 0.043627866, 0.23127791, 0.061317544, -0.32790044, 0.08618836, 0.009400048, -0.17129329, 0.23541448, -0.015561885, -0.11172365, -0.1190039) * go_0(-1.0, -1.0); - result += mat4(-0.0052874424, 0.08136584, -0.12633958, -0.016064916, 0.14033778, 0.07755252, -0.26242834, 0.063312635, 0.06861756, 0.14867078, -0.2561066, 0.33325562, -0.106489345, -0.10068009, -0.039633382, -0.016305668) * go_0(-1.0, 0.0); - result += mat4(-0.27784392, -0.14990395, -0.35981888, -0.2564094, -0.07480205, -0.026457628, 0.1027643, 0.19381845, -0.07160986, -0.15616457, -0.032070953, 0.32998616, 0.15383582, 0.16622585, -0.1435993, -0.02287804) * go_0(-1.0, 1.0); - result += mat4(-0.09360053, 0.58019537, 0.02028909, 0.413114, 0.025173154, -0.030326266, -0.028177274, -0.12964654, -0.25432733, -0.06556034, 0.023097439, -0.09458851, -0.21772051, -0.10324596, -0.36674342, -0.14803977) * go_0(0.0, -1.0); - result += mat4(-0.1227467, 0.20252965, 0.2559927, 0.08719227, 0.030749539, -0.2526622, -0.25694713, -0.2960799, -0.34960067, -0.25393236, -0.28439638, 0.086787805, -0.34202877, 0.21933395, 0.23473133, 0.079260886) * go_0(0.0, 0.0); - result += mat4(-0.00147522, -0.16591258, -0.030617915, 0.10052425, -0.1822102, 0.038774874, -0.04285007, 0.07312042, 0.052175622, -0.33510515, 0.027545406, 0.2995306, -0.08535316, 0.11144203, 0.27999434, -0.09770663) * go_0(0.0, 1.0); - result += mat4(-0.04394928, -0.26842886, -0.08354109, 0.04077001, -0.009221606, 0.0328837, 0.006459338, 0.08984004, -0.13035133, 0.20004508, 0.21950854, -0.12742348, 0.32386312, 0.085903555, -0.29273173, -0.056370437) * go_0(1.0, -1.0); - result += mat4(0.019171638, -0.1824711, -0.10899421, -0.16201603, 0.054712642, -0.020315547, -0.048609916, -0.068621606, -0.055706583, -0.25671515, -0.019494208, 0.08366393, 0.09531471, -0.05988052, -0.024995802, 0.019303525) * go_0(1.0, 0.0); - result += mat4(-0.08694609, 0.26762635, 0.10477892, -0.15392998, -0.059596587, -0.047562487, -0.25932398, -0.054960977, -0.00015596532, 0.07196634, -0.017385524, -0.18826845, -0.017969077, -0.27291682, -0.153906, -0.107691295) * go_0(1.0, 1.0); - result += mat4(0.17340474, -0.1285696, -0.04484238, 0.15782213, -0.06190358, 0.27896214, 0.28475145, -0.042519942, -0.19862229, -0.1354097, 0.14344497, 0.015599392, 0.18698554, 0.035121564, -0.018465763, 0.0010143917) * go_1(-1.0, -1.0); - result += mat4(-0.13428356, -0.06612225, 0.19397905, 0.14209093, 0.1526626, 0.2617573, -0.15316434, 0.35452205, 0.05003259, 0.07679617, -0.008399171, -0.0062716682, 0.11833864, 0.1331285, -0.006803729, 0.22615404) * go_1(-1.0, 0.0); - result += mat4(0.0020632436, -0.173174, -0.15404437, 0.05430569, 0.21100305, 0.39063898, -0.019479724, 0.17396629, -0.061121427, -0.13424753, -0.008459669, -0.04975768, 0.20599939, -0.11374013, -0.21116278, 0.063624285) * go_1(-1.0, 1.0); - result += mat4(-0.0073831948, -0.12009769, -0.16402034, 0.054093774, 0.061061747, -0.009054565, -0.02815144, -0.17071937, -0.22791979, 0.073427565, 0.25161973, 0.1011713, -0.23804636, 0.13810354, 0.09063126, -0.23065178) * go_1(0.0, -1.0); - result += mat4(-0.31885087, 0.21730177, -0.20516786, 0.04075695, -0.2736768, -0.38779113, -0.19445951, -0.14024325, -0.11824961, -0.102919355, -0.17858729, -0.013441498, 0.16320607, -0.27105078, -0.00019549616, 0.024509901) * go_1(0.0, 0.0); - result += mat4(-0.16024838, -0.3132909, -0.15461555, 0.34874174, -0.0051668375, 0.1811257, 0.3384939, 0.16381103, 0.047184363, -0.20424844, -0.1330078, -0.13795874, 0.21890834, -0.08242861, 0.22677775, 0.031102268) * go_1(0.0, 1.0); - result += mat4(0.19408257, 0.016361775, -0.202373, 0.2245766, -0.008954751, -0.047279913, -0.09170596, 0.01567793, -0.0019059096, -0.07785436, 0.0756357, 0.09683383, 0.034215495, -0.030802004, -0.077977195, -0.1101297) * go_1(1.0, -1.0); - result += mat4(-0.1060503, -0.0044663083, -0.14942732, -0.11696249, -0.04550482, 0.11463188, 0.17801443, 0.07229662, -0.14176941, 0.02773344, -0.10770335, -0.08745911, -0.023052111, -0.17474785, 0.016645849, -0.059080444) * go_1(1.0, 0.0); - result += mat4(-0.050500304, -0.14716387, 0.04525464, 0.23543595, 0.08411192, 0.16031684, 0.1659825, -0.03595111, -0.012943453, 0.13354135, -0.051425032, -0.0075654723, 0.11174184, 0.1266808, -0.18799087, 0.10571744) * go_1(1.0, 1.0); - result += mat4(-0.15583408, 0.09837484, 0.19239932, -0.03557196, -0.05406335, 0.096456856, -0.13921897, -0.2212671, 0.28973594, 0.04017474, -0.25423512, 0.1522156, -0.10563249, -0.033190794, 0.101713456, -0.08922746) * go_2(-1.0, -1.0); - result += mat4(-0.0787607, -0.14545321, 0.099762656, -0.2824299, 0.10130184, 0.019948835, -0.1013831, 0.06604923, 0.089561954, 0.28344154, 0.05757009, 0.04981809, -0.15927236, 0.008129835, -0.04280382, 0.10653281) * go_2(-1.0, 0.0); - result += mat4(0.28149363, 0.019583186, 0.25983065, 0.30190885, 0.055435803, -0.01970755, 0.04546505, -0.027456624, 0.43886992, -0.032305803, -0.23557569, 0.12753153, -0.18509789, -0.073295385, 0.0083466545, -0.08271229) * go_2(-1.0, 1.0); - result += mat4(0.016040009, -0.20475672, -0.015803276, 0.18247975, 0.21178837, -0.041543446, -0.24716362, 0.10105528, 0.19479224, -0.06583694, -0.09192672, -0.037776746, 0.09636229, -0.12086331, 0.13989103, 0.014564729) * go_2(0.0, -1.0); - result += mat4(0.19923596, -0.4132588, -0.4254784, -0.33433357, -0.16956097, -0.25086832, 0.23311833, -0.08976422, 0.06432824, -0.0071802614, 0.0033370545, -0.11073493, -0.46609998, -0.09332235, -0.27287352, 0.052513942) * go_2(0.0, 0.0); - result += mat4(-0.06954148, -0.06908355, -0.01875471, -0.35067585, 0.038715206, 0.08843527, 0.28899097, -0.024983376, 0.05879495, 0.110363334, 0.055481512, -0.0046147215, -0.035302363, -0.2722019, -0.0829261, 0.21088009) * go_2(0.0, 1.0); - result += mat4(-0.101971015, -0.18584369, 0.1469676, 0.025965, 0.07205807, 0.08838771, 0.08537094, 0.023344917, -0.106373414, -0.09254277, -0.25996596, 0.24570447, 0.00590166, -0.20074098, -0.05443169, -0.10562662) * go_2(1.0, -1.0); - result += mat4(0.12980327, -0.16834956, -0.1635997, 0.23437372, -0.07374834, 0.0062907683, 0.17292136, 0.0018093853, 0.04122969, -0.025285576, 0.29646805, 0.13402736, -0.040267725, 0.0011441729, -0.18658921, 0.12006417) * go_2(1.0, 0.0); - result += mat4(0.13221453, 0.15109141, 0.07707579, 0.05148666, -0.039716493, 0.12869143, -0.012840577, 0.10953536, -0.05721115, -0.120122276, -0.07632444, 0.32949027, 0.00022400127, 0.22217369, 0.2180494, -0.028773604) * go_2(1.0, 1.0); - result += mat4(-0.08405412, 0.11332542, 0.120847605, 0.00520135, -0.13689686, -0.1459117, -0.029643068, 0.16147274, 0.21844815, -0.036921967, -0.12862785, -0.15930249, -0.11265427, -0.17471205, 0.0026749703, 0.2048758) * go_3(-1.0, -1.0); - result += mat4(-0.03768306, -0.07585988, 0.046583172, -0.35557657, 0.012359812, -0.05498573, 0.19581361, -0.08186999, -0.008727976, -0.16623624, -0.03647879, 0.22760212, 0.048297524, -0.12502927, 0.08636729, -0.26437047) * go_3(-1.0, 0.0); - result += mat4(-0.19518375, 0.17423135, 0.19473018, -0.22721744, -0.25087392, -0.17043075, -0.021999557, -0.27388734, -0.096786864, -0.012226921, 0.16101876, 0.030362492, -0.017619403, -0.2494354, -0.07336028, 0.06842719) * go_3(-1.0, 1.0); - result += mat4(0.13816363, 0.14551367, -0.08497621, 0.15563537, -0.01600614, -0.010629245, 0.007773828, 0.2733634, 0.13066974, -0.2223056, -0.12664202, -0.19242655, -0.13211249, 0.065143794, 0.23912583, 0.19819915) * go_3(0.0, -1.0); - result += mat4(0.001870705, -0.0028601827, 0.14014813, 0.14659253, -0.037523735, 0.3726274, 0.13139205, 0.0112125, -0.16308945, -0.17571904, 0.12799808, -0.032106552, 0.013872656, 0.432307, -0.14197885, 0.24013121) * go_3(0.0, 0.0); - result += mat4(0.117900506, -0.08039036, -0.17504077, -0.08337764, -0.0068703834, -0.07430392, -0.17125578, -0.3470726, -0.20989974, -0.019394008, -0.027336912, 0.18668686, 0.052886557, -0.023217537, 0.004054446, 0.055974416) * go_3(0.0, 1.0); - result += mat4(-0.055653654, 0.08726097, 0.01206228, -0.25783783, -0.08736529, 0.19947968, -0.010166337, 0.36168414, 0.20298903, -0.15769973, -0.21389212, -0.19638214, -0.093130395, -0.067289785, 0.10245741, -0.14167903) * go_3(1.0, -1.0); - result += mat4(0.04559992, -0.102125205, 0.21949212, -0.07308472, -0.15511832, 0.23785073, 0.04275021, 0.085007004, 0.079402514, 0.10851189, -0.151969, -0.29738536, -0.0776658, 0.1113102, -0.18987878, -0.045522977) * go_3(1.0, 0.0); - result += mat4(0.073690206, -0.016468357, 0.122353435, -0.023995928, 0.095143944, 0.23051415, 0.17702249, 0.030164838, -0.09111423, -0.14219609, -0.19734482, -0.24854833, -0.0067356345, -0.1760497, 0.22637916, 0.119141534) * go_3(1.0, 1.0); - result += vec4(0.22705397, -0.029518934, -0.026397338, -0.08183741); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.16737834, 0.35369134, 0.14049083, 0.017871622, 0.0058661173, -0.035960242, -0.039154284, -0.01920433, 0.0729212, -0.03617972, -0.42717552, -0.019914677, -0.30816802, -0.07726792, 0.2088459, -0.09198307) * go_0(-1.0, -1.0); - result += mat4(-0.0991125, 0.11411345, 0.15300295, -0.09510225, 0.014268626, -0.42914182, -0.13365223, -0.19440699, -0.27214321, 0.085696176, 0.1527733, -0.21056797, -0.062475704, -0.023041902, -0.29080424, -0.54386055) * go_0(-1.0, 0.0); - result += mat4(-0.30736786, -0.16801229, 0.07400606, -0.31128535, -0.11047924, 0.16556956, -0.33445996, -0.09190697, -0.06132585, -0.11021996, 0.014628762, -0.45183894, 0.08186993, 0.19378273, 0.113438204, 0.038364496) * go_0(-1.0, 1.0); - result += mat4(0.24129803, 0.29174972, -0.1250327, 0.14254767, 0.0026774528, 0.1742466, -0.021835174, 0.01668921, 0.13646975, 0.313305, -0.23293279, -0.16737306, -0.059818722, 0.06404477, 0.108172625, 0.22065729) * go_0(0.0, -1.0); - result += mat4(-0.3504013, 0.20759478, 0.28683922, 0.2771802, 0.13761812, -0.21180478, -0.17020214, -0.21419087, -0.031916566, -0.040439468, 0.39206958, 0.715565, 0.46198523, 0.05055317, -0.07409331, -0.050633535) * go_0(0.0, 0.0); - result += mat4(0.122958206, 0.0071205017, -0.21314384, -0.22197853, 0.016202174, -0.15960938, -0.14601983, -0.023609173, -0.07586023, 0.099936776, -0.0480375, -0.08681468, -0.14976887, -0.38979456, 0.16078879, -0.12263952) * go_0(0.0, 1.0); - result += mat4(0.1687149, 0.108331114, 0.10112296, 0.01738403, -0.06773097, -0.19410455, -0.09728116, 0.0013846151, -0.038603816, -0.05495021, 0.2453317, -0.40052003, -0.022453755, 0.045039784, 0.0474246, -0.2665161) * go_0(1.0, -1.0); - result += mat4(0.06805519, -0.052276067, 0.052459523, -0.0033053474, 0.13439268, -0.06845637, -0.20462433, -0.09088968, -0.00096404477, -0.35103628, 0.15096465, 0.3285226, 0.018747555, -0.06623108, 0.1754265, 0.3211156) * go_0(1.0, 0.0); - result += mat4(-0.04583627, 0.122267574, -0.44002235, -0.20039988, 0.039372742, -0.16505809, -0.26659602, 0.12207268, 0.03337428, 0.23131758, -0.009866899, 0.010381569, 0.29676, -0.020599596, 0.17816995, 0.32852224) * go_0(1.0, 1.0); - result += mat4(0.09469788, -0.12531966, -0.11786524, -0.3115985, -0.2213199, -0.012536277, -0.13176842, 0.14986996, 0.12069894, 0.2744789, 0.21674646, 0.46060535, -0.4101697, -0.55295914, 0.29993954, 0.114459395) * go_1(-1.0, -1.0); - result += mat4(0.18347421, -0.29010707, 0.29127017, 0.087738656, 0.17509815, 0.03982794, 0.1731455, 0.38041735, 0.110374, -0.25045586, 0.36446962, 0.016104888, -0.012112869, 0.10154983, -0.45384112, -0.11416608) * go_1(-1.0, 0.0); - result += mat4(-0.033837743, -0.020894403, -0.287127, -0.21196121, -0.03255823, 0.2599821, -0.38386443, 0.30563655, 0.39044768, -0.112917066, -0.021323297, 0.12623324, 0.06885038, -0.20750642, 0.07642818, -0.103580445) * go_1(-1.0, 1.0); - result += mat4(0.1723114, -0.3726216, -0.21184283, 0.1761503, -0.24993578, -0.31068864, 0.19998416, -0.23127908, -0.052656204, -0.04243976, 0.4397144, 0.01863219, -0.04796025, -0.11009142, -0.0073631364, 0.2716381) * go_1(0.0, -1.0); - result += mat4(0.04202001, 0.27142277, -0.027491128, 0.27428457, -0.11009916, 0.39839938, -0.7223327, -0.124673314, 0.08123618, -0.11884722, -0.20375855, -0.7179687, 0.30648115, -0.28195357, -0.3350774, -0.29778734) * go_1(0.0, 0.0); - result += mat4(0.071278594, -0.09155223, 0.06417857, 0.08250104, -0.45117077, -0.023316784, 0.38917172, -0.19110887, -0.09265943, -0.2643835, -0.09707039, -0.33238646, -0.0818088, 0.17623149, -0.28457013, 0.13986786) * go_1(0.0, 1.0); - result += mat4(0.019971045, -0.046649583, -0.03036858, 0.07944429, 0.26344573, 0.054998036, 0.07139812, 0.21139374, 0.08021858, -0.025791258, -0.0423707, 0.25174072, -0.021300986, 0.13209766, 0.19120613, 0.3840775) * go_1(1.0, -1.0); - result += mat4(-0.11456406, -0.33503455, 0.21409267, -0.056933913, -0.12204284, -0.37379473, 0.33474764, 0.38634798, 0.12618992, 0.1353635, -0.22651522, -0.3160159, 0.18621005, 0.024818055, -0.11935204, 0.014005666) * go_1(1.0, 0.0); - result += mat4(0.1501391, 0.0014716414, -0.22049955, -0.10928345, -0.07085164, -0.08778668, 0.19251469, -0.4932493, 0.071784936, -0.06903646, -0.060333923, 0.020552203, -0.33637995, -0.22848415, 0.21518159, 0.23815839) * go_1(1.0, 1.0); - result += mat4(-0.04230713, -0.19312756, -0.0613665, 0.058912925, -0.17639293, -0.029920885, -0.027867602, -0.16602923, 0.10262268, -0.0743682, 0.15286638, 0.08042581, -0.042299524, 0.0022034592, 0.15304253, 0.049871147) * go_2(-1.0, -1.0); - result += mat4(0.004346093, -0.07895582, 0.02089975, 0.13429636, -0.1020282, 0.5270822, 0.017983409, 0.1531299, -0.02891241, -0.07050933, -0.18729019, 0.13855362, -0.11538968, 0.20733222, 0.1546878, 0.11550679) * go_2(-1.0, 0.0); - result += mat4(0.21800312, 0.20944421, -0.1817274, 0.022868395, -0.019241469, 0.038916696, 0.088702604, 0.1467791, 0.0048542274, 0.10344671, -0.0107803065, 0.23302868, 0.049728952, -0.016042534, -0.08694045, -0.0028224774) * go_2(-1.0, 1.0); - result += mat4(-0.1570157, 0.08688841, 0.03926086, -0.040503077, -0.052700017, -0.1432353, -0.04516745, -0.09649034, -0.053716175, 0.07059194, -0.07360609, 0.26307717, 0.121471435, -0.13640986, -0.1113535, -0.38560814) * go_2(0.0, -1.0); - result += mat4(-0.014722592, -0.39773384, 0.28259715, -0.10905738, 0.07889424, 0.1415529, -0.15419348, -0.2064834, -0.15126482, -0.28288555, -0.0014232624, -0.26178944, -0.025823193, 0.008017357, -0.08547297, 0.26373458) * go_2(0.0, 0.0); - result += mat4(0.2978961, -0.020236012, -0.101216674, 0.15498216, -0.0069343713, -0.088363856, 0.20511419, 0.23958007, 0.045810107, -0.19189738, -0.14137349, 0.04177724, -0.1394684, 0.0071990825, 0.06991723, -0.21052721) * go_2(0.0, 1.0); - result += mat4(-0.05615232, 0.22506002, -0.12479586, -0.0070057763, 0.092545755, 0.096306436, 0.041890718, 0.1226944, -0.07541768, -0.08369033, -0.15144373, 0.09310172, 0.28388003, 0.09935607, 0.11299509, 0.0014283776) * go_2(1.0, -1.0); - result += mat4(-0.005848455, 0.117699094, 0.23539856, 0.11006195, 0.10962903, 0.28139547, 0.18785141, -0.11635996, 0.057289902, 0.2370178, -0.29825503, -0.13706475, -0.3869794, 0.024066223, 0.36742347, 0.35919484) * go_2(1.0, 0.0); - result += mat4(0.13744523, 0.09239356, 0.01173183, 0.119055405, -0.07841836, 0.0668925, 0.22598477, -0.016510552, 0.07971727, -0.17154713, 0.03333588, -0.13790733, 0.15421963, 0.2895701, -0.28440917, 0.015132756) * go_2(1.0, 1.0); - result += mat4(-0.054354303, 0.36663428, 0.02634933, 0.18688667, 0.0607547, 0.17321853, 0.086784445, -0.023283, 0.0027200899, 0.026914112, -0.07438439, 0.27042162, 0.09985293, 0.012430832, -0.20694605, -0.20363812) * go_3(-1.0, -1.0); - result += mat4(-0.42759168, 0.15540305, -0.18979609, 0.0073875943, 0.034251947, -0.34551802, 0.53327596, 0.17446762, -0.25879666, 0.2780996, 0.11094055, 0.17597, 0.13790102, 0.2615357, 0.09666047, 0.36155468) * go_3(-1.0, 0.0); - result += mat4(0.052614138, -0.1880028, 0.361331, 0.07957976, 0.12552904, -0.0042941784, 0.096562445, -0.041199915, 0.07412456, 0.16379668, 0.05464284, 0.050022952, -0.028281605, 0.09332573, 0.21379845, 0.21396561) * go_3(-1.0, 1.0); - result += mat4(-0.07546953, 0.16393837, -0.3060623, -0.64610606, -0.013715101, 0.18005042, 0.045286633, -0.21057944, -0.12779316, -0.10310629, 0.14360385, 0.011625261, 0.05597252, 0.023864657, -0.00018915108, -0.24224915) * go_3(0.0, -1.0); - result += mat4(-0.08550672, 0.2438917, -0.30383766, -0.2463794, 0.13835424, -0.079946786, -0.060197506, 0.051599402, -0.24983203, -0.06691107, -0.0041784844, 0.07539119, -0.030340329, -0.23565106, -0.17968354, -0.10262371) * go_3(0.0, 0.0); - result += mat4(0.19315718, -0.045718513, 0.120446794, -0.225136, 0.22922774, -0.046026126, 0.11448238, 0.114267804, -0.22327735, -0.03368635, 0.29763463, 0.03673529, -0.0583939, -0.092253424, 0.045279544, 0.04475646) * go_3(0.0, 1.0); - result += mat4(-0.062286656, -0.06241419, -0.23600577, -0.24818502, -0.058666106, 0.17710151, -0.1751668, 0.05758226, 0.18278669, 0.033297777, 0.046349872, 0.09178792, -0.0745512, 0.20019765, 0.037281513, 0.22204825) * go_3(1.0, -1.0); - result += mat4(-0.24708512, -0.1318695, -0.24966322, -0.31206796, 0.079176836, 0.11837155, -0.12882641, -0.01013533, -0.009065797, 0.0789075, 0.016151598, 0.00020127615, 0.1450729, 0.10825556, 0.09322918, 0.07283566) * go_3(1.0, 0.0); - result += mat4(0.2604332, 0.25550258, 0.07709474, 0.28426003, 0.10387355, 0.09152259, 0.18742633, -0.0073229484, -0.20327723, -0.26013616, 0.055792782, -0.1713302, 0.14862068, 0.06698207, 0.17608787, -0.11622757) * go_3(1.0, 1.0); - result += vec4(-0.20551574, 0.073114716, -0.21843387, -0.28057778); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_7_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.18413043, -0.12355504, 0.2708789, 0.17259507, -0.069752574, 0.12640886, 0.01075919, -0.028221423, -0.020598855, -0.17259665, 0.16907778, -0.10040477, 0.017177016, 0.0176426, 0.23724149, 0.14657862) * go_0(-1.0, -1.0); - result += mat4(0.16921899, -0.33950835, 0.37508205, 0.09996622, 0.13377811, -0.036743056, -0.11633877, -0.23046862, -0.009307903, 0.027441062, 0.054166224, 0.011627087, -0.22831611, 0.043198805, -0.12695734, 0.0062862337) * go_0(-1.0, 0.0); - result += mat4(0.17216596, -0.15588646, -0.14179194, 0.12487524, 0.10507964, 0.124544986, -0.0046104924, -0.116668865, -0.006100901, -0.022074439, 0.03376759, 0.10498887, 0.109659016, -0.03567928, 0.29972833, -0.045950003) * go_0(-1.0, 1.0); - result += mat4(-0.29127, 0.21912472, 0.16494286, 0.027708547, 0.043136686, 0.04409876, -0.07686145, -0.13180132, -0.16630307, 0.15650205, -0.005864527, 0.03916553, 0.15750135, 0.1705246, 0.21626697, 0.06906506) * go_0(0.0, -1.0); - result += mat4(0.055395894, 0.28228188, 0.114794776, 0.020619212, -0.031812593, 0.11964309, -0.24317431, -0.36277202, 0.54564184, -0.032843567, -0.118973784, -0.40999004, -0.118530475, 0.09256661, 0.06583871, -0.36627474) * go_0(0.0, 0.0); - result += mat4(0.17914769, 0.33976436, -0.11220768, 0.1325754, 0.40586957, 0.3064959, -0.19086123, 0.014164092, -0.17376979, -0.0037554938, 0.11771888, 0.44933778, -0.15937245, -0.10635065, 0.084963776, 0.14630255) * go_0(0.0, 1.0); - result += mat4(-0.3723194, 0.21509883, 0.020062352, 0.094394304, 0.030794155, -0.11394617, -0.09103134, -0.0042343247, -0.28981096, -0.061873477, -0.17772584, 0.36440176, 0.007828069, -0.012121627, 0.25862312, 0.24646287) * go_0(1.0, -1.0); - result += mat4(0.10368119, -0.06185447, -0.022830853, 0.10918094, 0.18888599, -0.09235343, -0.055134308, -0.2210923, 0.15334128, -0.3084707, 0.31606838, 0.39931116, 0.29489174, -0.24794856, -0.4799932, -0.2617589) * go_0(1.0, 0.0); - result += mat4(0.32550937, -0.17103608, 0.3257806, -0.23358762, 0.20370598, 0.13325407, -0.020303056, -0.105462655, -0.22264756, -0.034177396, 0.36885822, 0.20504399, 0.36375418, -0.26149705, 0.022433946, 0.15646128) * go_0(1.0, 1.0); - result += mat4(0.007481421, 0.005642636, -0.170087, -0.08915849, 0.6329519, 0.06880098, -0.20856442, -0.1801066, -0.1342754, 0.13643123, 0.26994216, -0.27503812, 0.018052012, 0.058687408, -0.19784917, 0.021157453) * go_1(-1.0, -1.0); - result += mat4(-0.1486918, 0.12212738, -0.03104796, 0.08664756, 0.3464865, 0.27309546, -0.022896903, -0.32080007, -0.28113958, 0.74847424, -0.33735126, -0.04616876, -0.23119605, 0.4214322, -0.16457441, 0.09162191) * go_1(-1.0, 0.0); - result += mat4(0.15863913, 0.1303683, -0.06339421, 0.06328312, -0.3100047, -0.33906308, 0.13805804, -0.14923394, 0.4997829, -0.14977637, 0.02265068, -0.04585939, 0.29802153, 0.3767994, -0.031849556, -0.051892217) * go_1(-1.0, 1.0); - result += mat4(-0.04541847, -0.13645087, 0.14119779, 0.06409465, -0.29877988, -0.0009743694, 0.028256422, 0.14978185, -0.13014801, -0.24171488, -0.10782599, 0.010709664, 0.21880737, -0.34132662, 0.22972895, -0.07159475) * go_1(0.0, -1.0); - result += mat4(-0.1510528, 0.115773134, 0.036761034, -0.284284, -0.35684052, 0.16348189, -0.105475456, 0.08259931, -0.6489164, -0.033928663, -0.04243186, 0.25324553, -0.31829014, 0.066608824, -0.11131264, 0.51919967) * go_1(0.0, 0.0); - result += mat4(-0.06517726, 0.1933327, 0.044391852, -0.013346896, -0.3033368, 0.106350735, -0.1351003, -0.13414839, 0.11720078, -0.24844061, -0.2900742, -0.047861837, 0.42789885, -0.47915378, -0.09643217, -0.22915216) * go_1(0.0, 1.0); - result += mat4(0.109821886, 0.31451595, 0.13300805, -0.08792569, -0.023928089, -0.038061168, 0.17821129, 0.003772247, 0.14684688, -0.12646271, 0.16072205, 0.011095222, 0.09209181, 0.005167038, -0.08823252, 0.079890974) * go_1(1.0, -1.0); - result += mat4(-0.20074554, 0.39979288, -0.007316405, -0.047838025, 0.10849111, -0.22469573, -0.059183244, -0.13663793, 0.07881898, 0.105663374, -0.3152222, 0.08104766, -0.22965154, 0.118780024, -0.07886757, 0.073527716) * go_1(1.0, 0.0); - result += mat4(0.1304303, 0.023158893, -0.081089824, -0.15955788, 0.42183343, -0.12898655, -0.14028409, 0.011985, 0.3977131, -0.313598, -0.148818, -0.048350018, -0.13534498, -0.12760727, -0.014968193, 0.06646305) * go_1(1.0, 1.0); - result += mat4(0.18085147, -0.11859402, 0.117530234, -0.10420847, 0.1848264, -0.12192718, -0.18729533, -0.10098887, 0.011134682, -0.23658146, 0.12963286, 0.117404245, 0.054487415, -0.030003065, -0.32175776, -0.08044254) * go_2(-1.0, -1.0); - result += mat4(-0.07251758, 0.073430285, -0.22191651, 0.030512359, -0.029650904, -0.15816379, 0.0418705, 0.04776615, -0.014070836, -0.14669086, -0.009874937, -0.015444495, -0.2747725, -0.061624944, -0.11261252, 0.14757589) * go_2(-1.0, 0.0); - result += mat4(-0.09274913, 0.046194065, 0.05642919, -0.07803342, 0.23578037, 0.01224276, 0.015608659, 0.05847865, -0.091819406, -0.14424564, -0.034869857, 0.019276984, -0.031180726, -0.21905676, 0.100375675, -0.13659117) * go_2(-1.0, 1.0); - result += mat4(-0.072157644, -0.13294607, 0.24301524, 0.048643183, -0.04338094, -0.0021709928, -0.06530963, -0.22672611, 0.07479903, 0.08388352, -0.07460508, -0.14517406, -0.072923675, -0.26912874, -0.2769797, 0.054033212) * go_2(0.0, -1.0); - result += mat4(-0.5648679, -0.28059873, -0.039906785, -0.39112374, -0.3841447, -0.20383365, 0.12607281, 0.16049421, -0.34394273, -0.022326993, 0.16646549, -0.23433913, 0.071224056, 0.048073303, 0.122035526, 0.14941359) * go_2(0.0, 0.0); - result += mat4(-0.11803124, 0.114169255, 0.018188128, 0.0053847185, -0.07537228, -0.048262373, 0.073838905, -0.041833423, 0.044405136, -0.03813592, 0.076818384, -0.06015139, -0.085042655, -0.14306667, -0.21477652, 0.31548396) * go_2(0.0, 1.0); - result += mat4(0.19307283, -0.014985916, -0.14332882, -0.05549754, 0.14551677, 0.11406769, 0.2744144, -0.031179624, 0.17578745, -0.11309805, 0.010072839, -0.07453384, -0.23163621, 0.19061968, 0.11016298, 0.108093746) * go_2(1.0, -1.0); - result += mat4(0.23180474, -0.12522835, -0.03218773, -0.0031955864, -0.14057393, 0.07269213, -0.20883523, 0.09332164, -0.16037942, 0.25845763, -0.002303125, -0.014625506, 0.17063208, -0.11648214, 0.13988028, -0.024688654) * go_2(1.0, 0.0); - result += mat4(0.043369994, 0.12473897, 0.108142346, 0.10268199, 0.16159926, -0.17804666, -0.007889351, 0.07232418, 0.26326916, 0.0474316, -0.41637155, -0.11879895, 0.14051722, 0.08747377, 0.1162202, -0.06443569) * go_2(1.0, 1.0); - result += mat4(0.0041097966, 0.109841965, 0.097240336, 0.08123332, -0.081065506, 0.12650634, 0.23450434, 0.09631333, 0.21942414, -0.108897425, -0.033703003, 0.047280088, -0.017764917, -0.058596086, -0.15305139, 0.09055131) * go_3(-1.0, -1.0); - result += mat4(0.26824722, 0.014116421, 0.11844865, -0.156046, 0.057152968, 0.21287468, -0.3243975, -0.18181354, -0.07131152, -0.17860547, 0.18918999, 0.15399154, 0.20270234, 0.11524436, 0.05146645, -0.18196748) * go_3(-1.0, 0.0); - result += mat4(-0.2745638, -0.026905773, 0.045458756, 0.22942849, -0.21052304, 0.20649272, -0.03713028, 0.33655703, -0.12467089, -0.015030098, 0.15504798, -0.05647672, 0.18751477, 0.08505986, 0.04756538, -0.058810517) * go_3(-1.0, 1.0); - result += mat4(0.1737789, 0.06552432, -0.34797582, -0.05370679, -0.036056817, 0.085242435, -0.12802805, 0.03710984, -0.09883285, 0.08946925, -0.0446528, 0.07734006, -0.10973603, 0.262812, 0.14010249, -0.1543792) * go_3(0.0, -1.0); - result += mat4(0.316673, -0.16414417, -0.23147403, -0.3080756, -0.056620106, -0.11389848, 0.0948114, 0.13236332, -0.40048537, -0.090742044, 0.12090404, 0.024549136, -0.19124876, -0.3007761, 0.16159211, -0.28620452) * go_3(0.0, 0.0); - result += mat4(0.032962102, -0.05481415, -0.1185786, 0.18153866, -0.2105442, -0.03802839, 0.14060515, 0.072460145, -0.1523761, -0.11426362, 0.02610123, -0.053477813, -0.20768824, 0.04533907, 0.14381588, -0.041578818) * go_3(0.0, 1.0); - result += mat4(-0.021694858, -0.028784249, -0.09928565, 0.07335764, 0.1315628, 0.11288982, 0.078681685, -0.1229723, -0.09618894, -0.07387309, 0.04340066, -0.036534667, 0.37295115, -0.08176548, -0.16579813, -0.13485877) * go_3(1.0, -1.0); - result += mat4(0.45979, -0.289226, -0.15456465, 0.0117592, 0.22803205, 0.15497394, -0.38995707, 0.005227681, -0.20515667, 0.17184737, -0.069968715, -0.24724679, -0.048521046, 0.013277072, 0.049562644, -0.05522196) * go_3(1.0, 0.0); - result += mat4(0.14561136, -0.18995416, 0.18104567, 0.063063085, -0.09728072, 0.018328888, -0.17258182, 0.069259025, 0.15187183, 0.16760696, -0.14086077, 0.013297849, -0.07579904, -0.09294852, -0.24227127, -0.048749007) * go_3(1.0, 1.0); - result += vec4(0.31939298, 0.03303962, -0.010749771, 0.084496394); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-3x1x1x112 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_7_tf -//!BIND conv2d_7_tf1 -//!SAVE MAIN -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -#define g_0 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_1 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_9 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_17 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_21 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.121882804, 0.055417646, 0.037575886, 0.0, 0.040015355, 0.10440659, 0.120197006, 0.0, 0.008896276, 0.07269119, 0.09253319, 0.0, 0.009000448, -0.033739295, -0.059260685, 0.0) * g_0; - result += mat4(-0.048027042, 0.09210703, 0.123745404, 0.0, -0.007914943, 0.05483587, 0.054822505, 0.0, -0.005998682, 0.005822986, 0.009868176, 0.0, -0.05866792, -0.04236153, -0.022935968, 0.0) * g_1; - result += mat4(-0.091270015, -0.033997003, -0.012321896, 0.0, -0.037983265, -0.078790314, -0.085029654, 0.0, 0.10656225, 0.0008334142, -0.0041227583, 0.0, 0.077364065, 0.033960085, 0.029391684, 0.0) * g_2; - result += mat4(0.15057671, -0.037442014, -0.037083894, 0.0, 0.015493511, -0.016119987, -0.027061606, 0.0, -0.012329675, 0.0060544596, -0.019787522, 0.0, 0.12182345, 0.11346318, 0.08640806, 0.0) * g_3; - result += mat4(0.19254518, 0.009179287, 0.023821035, 0.0, 0.020269603, 0.025629226, 0.040180814, 0.0, -0.025135614, -0.07785793, -0.099851295, 0.0, -0.122886, 0.03322616, 0.0509256, 0.0) * g_4; - result += mat4(0.060054794, 0.053996198, 0.047226787, 0.0, 0.038959846, -0.025839888, -0.030583512, 0.0, -0.034999896, 0.011966571, -0.011057454, 0.0, 0.05765179, -0.041760337, -0.0694113, 0.0) * g_5; - result += mat4(-0.20393562, -0.0055942894, -0.02089636, 0.0, 0.14781304, -0.01954523, -0.0746086, 0.0, 0.071556985, 0.07512172, 0.067927115, 0.0, 0.084076844, -0.0561336, -0.06856403, 0.0) * g_6; - result += mat4(-0.039552618, -0.04448951, -0.04170605, 0.0, -0.00886809, 0.06708884, 0.07120977, 0.0, 0.04834384, -0.10599933, -0.11024835, 0.0, -0.015948117, 0.084044695, 0.10778199, 0.0) * g_7; - result += mat4(0.050153337, 0.012563414, 0.014994658, 0.0, 0.10498867, 0.07151875, 0.06761489, 0.0, 0.061650798, -0.035183728, -0.050987806, 0.0, 0.0017240314, 0.041055307, 0.020366805, 0.0) * g_8; - result += mat4(0.110105395, -0.044468552, -0.072567016, 0.0, -0.049364448, -0.015713394, -0.021540897, 0.0, -0.01636263, -0.084110685, -0.08281401, 0.0, -0.08940374, 0.047863875, 0.051104594, 0.0) * g_9; - result += mat4(-0.081597924, 0.002422661, 0.01143175, 0.0, -0.07504751, -0.09938017, -0.1063178, 0.0, -0.10390281, 0.0262197, 0.060155805, 0.0, -0.24289346, -0.0054961476, 0.045964316, 0.0) * g_10; - result += mat4(-0.1829316, 0.047622137, 0.07963877, 0.0, 0.048703995, -0.0026299425, -0.003712008, 0.0, 0.029338706, 0.096882835, 0.102083966, 0.0, 0.078538164, -0.07247937, -0.06820231, 0.0) * g_11; - result += mat4(-0.02302231, -0.035528302, -0.030674051, 0.0, 0.029780716, 0.031591274, 0.045867007, 0.0, 0.01335752, 0.037001595, 0.04351411, 0.0, -0.11126892, 0.038589563, 0.06444906, 0.0) * g_12; - result += mat4(0.0047764573, -0.063372664, -0.065609895, 0.0, 0.0478139, 0.025694113, 0.025097322, 0.0, -0.1019169, 0.029989049, 0.050038517, 0.0, 0.07504127, -0.017047737, -0.026222635, 0.0) * g_13; - result += mat4(0.0024485083, 0.00640911, 0.008171829, 0.0, -0.014622121, -0.06078096, -0.0800138, 0.0, -0.0062360805, -0.014344496, -0.021332184, 0.0, 0.117842786, -0.103745885, -0.13756834, 0.0) * g_14; - result += mat4(-0.01942775, 0.08720701, 0.104858086, 0.0, -0.05545872, -0.041375194, -0.035368554, 0.0, 0.080331706, -0.021207837, -0.043905254, 0.0, -0.12515299, 3.445463e-05, 0.018742712, 0.0) * g_15; - result += mat4(0.013106969, 0.010379314, 0.012753471, 0.0, 0.07086715, -0.020893, -0.03968904, 0.0, -0.06114372, 0.029510446, 0.035070244, 0.0, 0.11180839, -0.087067656, -0.124039896, 0.0) * g_16; - result += mat4(-0.056521703, -0.001166792, -2.3704073e-05, 0.0, 0.011961608, 0.01848977, 0.019861937, 0.0, 0.012167056, 0.018613879, 0.020505793, 0.0, 0.009734187, -0.0308419, -0.035206888, 0.0) * g_17; - result += mat4(0.0048758825, 0.018046578, 0.014597015, 0.0, -0.061724614, 0.040989272, 0.05644141, 0.0, 0.070315465, 0.008318584, 0.0028647361, 0.0, -0.11316492, 0.043919202, 0.07653594, 0.0) * g_18; - result += mat4(0.031487904, -0.010548384, -0.009984509, 0.0, -0.0022647562, 0.0043304027, 0.0029451603, 0.0, -0.0063251094, -0.013420807, -0.011919729, 0.0, -0.022760967, 0.019141173, 0.01782793, 0.0) * g_19; - result += mat4(0.023055293, 0.028219413, 0.024810018, 0.0, 0.031653803, 0.050207954, 0.04504577, 0.0, 0.03877294, 0.0280465, 0.025589157, 0.0, 0.0019387804, 0.023891818, 0.016049948, 0.0) * g_20; - result += mat4(0.006562233, 0.03880659, 0.037682824, 0.0, -0.021441424, -0.011277022, -0.012471097, 0.0, -0.030526241, -0.013880651, -0.014213582, 0.0, 0.0075785257, -0.0017350517, -0.0024610942, 0.0) * g_21; - result += mat4(0.015097556, 0.020325955, 0.015611413, 0.0, -0.014755199, -0.034323387, -0.032325987, 0.0, -0.008603291, 0.010346807, 0.011044969, 0.0, -0.004739154, -0.026397636, -0.01995132, 0.0) * g_22; - result += mat4(0.0097906375, -0.015094543, -0.016887931, 0.0, -0.0007786067, -0.0069163437, -0.008449091, 0.0, 0.025534432, 0.018064791, 0.017047096, 0.0, 0.00055667467, 0.001493328, 0.003636564, 0.0) * g_23; - result += mat4(-0.042251963, -0.042396102, -0.040224236, 0.0, -0.004492444, -0.0069470624, -0.0065821502, 0.0, 0.062203273, 0.06213223, 0.053592753, 0.0, 0.06424337, 0.07964681, 0.07316769, 0.0) * g_24; - result += mat4(0.026366957, 0.02789826, 0.027239393, 0.0, -0.006712127, -0.0035723334, -0.0032348586, 0.0, -0.04960562, -0.062758155, -0.058574595, 0.0, -0.02896146, -0.020999067, -0.021301663, 0.0) * g_25; - result += mat4(-0.013106142, -0.017057793, -0.014653614, 0.0, -0.04254173, -0.043040022, -0.041918345, 0.0, -0.011146975, -0.0043820064, -0.003768677, 0.0, -0.0027743059, -0.0114479, -0.0082087545, 0.0) * g_26; - result += mat4(-0.10087762, -0.10447133, -0.1005168, 0.0, -0.04165659, -0.04558967, -0.040086865, 0.0, 0.0016493691, 0.0055392827, 0.0070476984, 0.0, -0.018665023, -0.035552308, -0.03375731, 0.0) * g_27; - result += vec4(0.018580848, -0.022256816, -0.0266178, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl deleted file mode 100644 index 517fda5..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl +++ /dev/null @@ -1,1704 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.28293434, -0.10095658, -0.013867814, 0.08509398, -0.31489053, -0.26828897, 0.01152665, 0.18905516, -0.23013242, -0.18878274, -0.17923735, -0.32707638, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.3519405, -0.12639853, 0.0981044, -0.23800656, -0.1666394, 0.2548722, -0.09458217, 0.17642984, -0.0016840132, -0.12355663, -0.13711694, 0.25234836, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.14581299, -0.060752276, 0.06813433, 0.32616982, -0.29410994, 0.28217724, -0.2221963, -0.051627193, 0.10754401, 0.31993762, 0.25542948, -0.4268778, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.2716687, -0.13160354, -0.056812827, -0.00881874, 0.3249303, 0.05037425, -0.117648534, -0.26370025, 0.032854702, -0.14214379, 0.10036965, 0.17808898, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.004323515, 0.37651265, -0.39865002, -0.18153298, 0.5224921, -0.11810103, 0.56151056, -0.063698344, -0.17272837, -0.053013492, 0.062254835, 0.28695017, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.2776938, 0.22578415, 0.110299006, 0.27424663, 0.012712999, -0.22353122, -0.0010140019, 0.08163494, 0.3611274, 0.014346184, -0.26426178, -0.26777005, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.09010997, 0.19958799, 0.22421049, 0.054506898, -0.11822318, 0.23656984, 0.11197124, -0.4646639, 0.17118955, 0.33748102, 0.20479581, 0.6810799, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.2121316, -0.08664465, 0.2507115, -0.223455, 0.22042283, -0.20352642, 0.42714027, -0.5048447, -0.10270271, 0.11400399, -0.019575266, 0.40490857, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.091496244, -0.24679382, -0.3801941, -0.08482344, -0.17183328, -0.09308921, -0.059639163, 0.3321586, -0.19797249, -0.17941834, 0.015049101, -0.13793056, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.02313247, 0.016216148, -0.053347506, -0.023317637); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.44157687, 0.1715858, -0.11000502, 0.062367063, 0.21790773, 0.15507151, 0.14760862, -0.2598815, 0.14098467, 0.14019097, -0.26298222, 0.10975315, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.15774319, -0.16769339, -0.49734345, -0.3935963, 0.115124024, -0.08045373, 0.55867237, 0.48593813, 0.058544844, -0.2705686, 0.3303555, 0.4181385, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.16588609, -0.013389144, 0.06600297, -0.09309111, -0.36321074, -0.13877828, 0.4099233, 0.20805255, 0.31892648, 0.16856939, -0.23898357, 0.11751563, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.39999864, 0.46407622, -0.12249342, -0.09798957, 0.122675434, 0.18265116, 0.030651823, 0.14682484, -0.42969155, 0.2486042, 0.13566706, -0.13458017, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.12757893, -0.19025628, -0.16728874, -0.10162156, -0.1577721, -0.174548, 0.29329458, 0.17963637, -0.43279588, 0.088979766, 0.06334896, -0.047701746, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.14359929, -0.12800618, -0.15429202, 0.034745168, 0.15794043, -0.086441815, -0.06520017, 0.26176664, -0.022253495, -0.34480432, -0.009120493, 0.08706416, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.1994137, 0.070990525, 0.3388379, 0.37502727, -0.116911314, 0.2160554, -0.1831974, -0.04184975, 0.2545874, -0.083908126, -0.19057468, -0.13382773, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.46475947, -0.23414738, -0.036689937, 0.018558737, -0.32609373, 0.15265512, -0.055894423, -0.3676328, 0.24501368, 0.12390915, 0.13458043, -0.30162823, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.12621075, 0.046852987, 0.17333286, 0.18997045, 0.3245911, -0.28809196, -0.3660882, -0.5916272, -0.11456223, -0.030912774, 0.17037971, -0.12640971, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.42778614, 0.054881692, -0.23388587, -0.031204376); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.18228084, 0.25933146, 0.1764313, 0.23183075, -0.061067093, 0.34710985, -0.1785006, -0.06471029, -0.23235676, -0.43409523, -0.06639704, 0.30396065, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.31676784, 0.21897513, 0.06466065, 0.42289257, 0.12306216, -0.3928633, 0.09720577, -0.10426061, -0.030383142, 0.03775265, 0.34221298, 0.3827705, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.13229136, 0.37214845, -0.07046923, -0.17644346, 0.5591967, -0.5409525, 0.08944645, -0.047717415, 0.3754216, 0.2979604, -0.14149979, -0.1743562, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.07603316, 0.10389099, 0.07042061, 0.24759614, 0.05822713, 0.29799607, -0.21219468, 0.3884128, -0.010661014, -0.5209726, 0.20311587, -0.39393, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.17486575, -0.22572622, -0.13514778, 0.12839775, -0.25754005, 0.13090849, -0.16364887, 0.37675568, -0.05928962, 0.049174402, -0.37935108, -0.14333783, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.15858985, -0.47485206, 0.4509964, 0.3877553, -0.04848657, 0.22396515, 0.33325925, -0.20703658, 0.14929648, 0.25580746, 0.2795224, -0.0158565, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.030926622, 0.16219522, -0.26666775, -0.27920142, -0.2693319, -0.29130983, -0.2795281, 0.22597994, 0.32512712, 0.16784063, -0.0113234315, -0.10118217, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.32426193, 0.0072339224, 0.08070994, -0.07735796, -0.09247539, 0.23327915, 0.09039661, -0.11836084, -0.2726992, -0.16031814, -0.28027415, -0.029263943, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.20109104, -0.43383566, -0.33850962, -0.13422257, 0.040343326, -0.0819253, 0.26943803, -0.46652415, -0.3474102, 0.41198114, 0.14404535, 0.076806836, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.032911904, -0.0050934837, 0.021853646, -0.17256187); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.08648221, 0.012940912, 0.0694797, 0.021795172, 0.19547985, 0.019256733, -0.099714816, 0.08773751, 0.06443286, 0.08462334, 0.02924696, -0.07673487, 0.061156925, 0.12037308, -0.04778231, 0.010492923) * go_0(-1.0, -1.0); - result += mat4(0.00033161003, -0.19050376, -0.14713565, -0.20729654, -0.122199036, 0.0044957534, 0.19240627, -0.1515226, 0.05051369, -0.08790857, -0.05331543, -0.13356556, -0.019020412, 0.06989371, -0.07270814, 0.06541199) * go_0(-1.0, 0.0); - result += mat4(0.086689815, 0.08965917, 0.38167384, 0.31010604, 0.04204608, 0.095588356, -0.22810745, 0.112243816, 0.016992478, -0.16491304, -0.08901814, -0.038421903, -0.00041658967, -0.03551529, 0.097966395, -0.06240607) * go_0(-1.0, 1.0); - result += mat4(0.13955353, -0.27422932, 0.14655617, -0.07651906, -0.07335902, -0.05214342, 0.35741827, 0.043639295, 0.041774176, -0.08277867, -0.028840896, -0.14434154, 0.029840615, -0.1444494, 0.0417388, -0.05095746) * go_0(0.0, -1.0); - result += mat4(-0.06985613, 0.036354948, -0.22372876, -0.268865, -0.07852222, -0.20930836, 0.06419149, 0.19363879, -0.00020227236, 0.04876036, 0.16503128, -0.05324255, 0.06806321, 0.2646995, -0.04032264, 0.06421368) * go_0(0.0, 0.0); - result += mat4(-0.16930926, 0.10122267, 0.0043684123, 0.14429477, -0.026909696, 0.028725943, 0.20114274, 0.09308162, -0.21070556, -0.13116634, 0.12419461, 0.29118228, -0.052020956, 0.18702126, 0.049802206, 0.09010561) * go_0(0.0, 1.0); - result += mat4(0.08972355, -0.076947, 0.2612936, 0.1700236, 0.21013896, -0.033608798, -0.16835962, -0.17834496, 0.050899435, -0.031109938, 0.066931866, 0.20528825, -0.024127234, -0.23103325, -0.14034404, 0.036399297) * go_0(1.0, -1.0); - result += mat4(0.058897257, 0.24295428, 0.5273254, -0.075384885, -0.03951092, 0.01945271, 0.2180824, -0.10192471, 0.04884028, 0.10811269, -0.056086104, -0.0177891, -0.15046783, -0.02886977, 0.012827891, -0.06317297) * go_0(1.0, 0.0); - result += mat4(0.08919534, 0.0142748635, 0.010994716, -0.116783954, -0.04848956, 0.12802334, -0.42647192, -0.047026183, -0.105416335, 0.014229579, -0.16081032, -0.1652654, 0.04367904, -0.21464449, 0.019457433, -0.053815585) * go_0(1.0, 1.0); - result += mat4(-0.033339895, -0.30358142, 0.03728797, -0.019257398, 0.041582108, -0.042878296, -0.16212925, 0.015385118, 0.1854467, -0.14912623, -0.10073306, 0.029578004, 0.0026831278, -0.1968894, -0.1447477, 0.013980874) * go_1(-1.0, -1.0); - result += mat4(0.097215526, -0.27501073, 0.14077966, 0.07402363, 0.14528856, 0.26862413, -0.23837885, -0.19667485, 0.052117366, 0.012212545, 0.1311111, -0.05480854, 0.02206756, -0.09732581, -0.095444106, -0.12949228) * go_1(-1.0, 0.0); - result += mat4(-0.0737551, -0.35384682, 0.13346575, -0.12573321, 0.12401249, -0.19727409, -0.022039715, -0.36438647, -0.17826872, -0.097721264, 0.10780637, -0.06372213, 0.078226656, -0.2319627, 0.06871096, -0.35198233) * go_1(-1.0, 1.0); - result += mat4(0.016558306, -0.10755727, 0.07563601, 0.10631563, 0.006885377, 0.1507541, 0.028258704, 0.1609311, -0.026250815, 0.033572774, -0.0988431, 0.19565049, 0.024507977, 0.16839874, -0.19923483, 0.08130833) * go_1(0.0, -1.0); - result += mat4(-0.061187252, 0.09036177, -0.12626763, 0.036544666, 0.10568191, 0.087079406, 0.08745061, -0.10461285, 0.15552549, 0.25184712, -0.026420163, 0.028266618, 0.2387882, 0.20997152, -0.08588654, 0.19732232) * go_1(0.0, 0.0); - result += mat4(-0.057315756, 0.04398266, -0.203559, -0.10253955, -0.0009475058, -0.0786754, -0.051641934, -0.4047696, -0.057758473, -0.04819636, 0.053755116, -0.13864025, -0.165071, -0.14622927, 0.16270354, -0.11281594) * go_1(0.0, 1.0); - result += mat4(-0.023654325, 0.113905154, 0.0714336, 0.11184515, 0.12235184, 0.081852525, 0.2880535, 0.1926254, -0.01012154, 0.08924707, -0.06123374, 0.33078554, -0.14329071, 0.043857813, -0.09043615, 0.029145587) * go_1(1.0, -1.0); - result += mat4(0.023949241, 0.10680816, -0.07771331, 0.0008638595, 0.00088304427, 0.00707631, -0.029150054, 0.20421802, -0.051493708, 0.3196773, -0.0046316544, -0.08402997, -0.0020283381, 0.092219375, -0.21898057, 0.043405924) * go_1(1.0, 0.0); - result += mat4(0.10192696, 0.22852643, 0.024926228, 0.004321374, 0.1759848, -0.05959089, 0.03108929, -0.04175589, -0.032808244, -0.002723809, 0.11427024, -0.11884058, 0.085039005, -0.11861457, -0.041716687, 0.0049884217) * go_1(1.0, 1.0); - result += mat4(-0.08531041, 0.031572983, -0.010317835, -0.058514126, -0.028372116, 0.3587181, 0.07155074, -0.018486004, 0.11271158, 0.12346037, 0.14474016, -0.091422975, 0.046279423, -0.19440787, -0.040767148, -0.11089926) * go_2(-1.0, -1.0); - result += mat4(-0.118612625, 0.036904, 0.040823236, 0.0006029242, -0.055478334, 0.065328576, -0.26563334, 0.14299026, 0.039150115, 0.17624554, 0.085402936, -0.007749703, 0.045554906, -0.051315133, -0.0989155, 0.023874454) * go_2(-1.0, 0.0); - result += mat4(-0.08904957, 0.13246936, -0.1362266, 0.075549126, 0.015976984, -0.078003414, 0.27895245, -0.1714908, 0.05061789, 0.05510105, -0.011142018, 0.13279557, 0.122630805, 0.12880847, 0.2334916, 0.450533) * go_2(-1.0, 1.0); - result += mat4(0.13635479, 0.12008325, 0.13332775, -0.1923403, 0.061475966, 0.12471921, 0.1438346, -0.30003113, 0.16227812, -0.011259031, -0.15664785, 0.082009956, 0.15664162, -0.14316271, 0.10871211, -0.23067066) * go_2(0.0, -1.0); - result += mat4(-0.17403863, -0.100490384, -0.056628566, 0.056505267, 0.03132433, 0.02990612, -0.023741463, -0.2221617, -0.023024872, -0.17946845, -0.014884968, 0.09488175, -0.08467482, -0.18569513, -0.08882533, -0.096383005) * go_2(0.0, 0.0); - result += mat4(0.036448594, 0.008876679, 0.082974724, -0.07486944, -0.1466638, -0.17435108, -0.08396226, 0.05346215, -0.13232903, -0.07391497, 0.19908291, 0.059030067, -0.017662045, 0.020650625, -0.20734224, 0.20043914) * go_2(0.0, 1.0); - result += mat4(-0.03861711, 0.06406407, 0.05915599, -0.0029750194, 0.046107147, -0.23294666, 0.019285874, 0.11214502, -0.05762434, -0.043726444, 0.010243058, -0.013164875, 0.033796065, -0.027231356, 0.18135343, -0.06158567) * go_2(1.0, -1.0); - result += mat4(-0.0061139134, 0.08773726, 0.05263668, -0.017488463, -0.021532185, -0.06330985, 0.03339514, 0.29500782, 0.19531941, -0.0625388, -0.0988155, 0.029160276, -0.14122078, -0.18272889, 0.035498794, -0.09119196) * go_2(1.0, 0.0); - result += mat4(0.21229745, -0.13745296, -0.02434639, 0.018458553, 0.1591066, 0.057361145, -0.034690984, -0.06146371, -0.2245296, -0.14576864, 0.053850707, -0.08887415, -0.17651638, 0.14863127, -0.07008009, 0.009406358) * go_2(1.0, 1.0); - result += mat4(-0.09558068, 0.08203744, 0.09736194, -0.08479601, -0.07671097, -0.13729817, 0.15081742, -0.107025385, -0.13094948, -0.11489214, 0.08040859, 0.18286897, -0.06001431, -0.16890974, -0.034702767, 0.06418509) * go_3(-1.0, -1.0); - result += mat4(-0.057768498, 0.121774144, 0.09370627, 0.04913383, 0.07690142, 0.0735232, 0.22072591, 0.023539443, 0.05777623, 0.32322824, 0.3281115, 0.08541682, 0.027571213, 0.08204197, -0.036617927, -0.11496138) * go_3(-1.0, 0.0); - result += mat4(0.10667931, 0.060036145, 0.17550562, 0.0036066761, -0.1475781, -0.0125017725, 0.1585272, -0.30022824, 0.020694837, 0.041336745, 0.34374732, 0.11649956, 0.0702352, 0.10661717, -0.018115027, 0.066765435) * go_3(-1.0, 1.0); - result += mat4(-0.031910367, 0.08394783, -0.12302906, 0.080788575, 0.056613773, 0.13485114, 0.14046827, -0.0015214924, -0.27299604, 0.043092493, 0.0110908365, 0.0120844785, 0.13837345, 0.14274547, -0.07037318, 0.073410094) * go_3(0.0, -1.0); - result += mat4(0.11933822, -0.019749384, -0.14604573, 0.23067194, 0.07458434, 0.19018115, -0.09794594, -0.028165665, 0.34246337, -0.15636346, 0.2909177, 0.049812693, 0.002857417, -0.15300918, 0.28885588, -0.017372042) * go_3(0.0, 0.0); - result += mat4(0.017289294, -0.034632802, 0.21390542, -0.010042412, -0.041615892, -0.08253338, -0.30123362, -0.19299945, 0.25370637, 0.093409844, -0.09362771, -0.17982802, -0.031628486, -0.09360746, 0.13314822, -0.034462616) * go_3(0.0, 1.0); - result += mat4(0.106429726, 0.016680025, -0.0529926, -0.17085713, -0.22584449, -0.07722329, 0.30886117, 0.10528744, 0.010045352, 0.099818386, -0.1433606, -0.24887395, -0.04677741, 0.113051936, -0.062035765, -0.03359467) * go_3(1.0, -1.0); - result += mat4(-0.10257249, -0.16084161, -0.058020744, 0.096825816, 0.19502446, -0.12214713, 0.078723475, 0.124732524, -0.15987179, -0.110849984, 0.1198203, 0.018647604, 0.114340924, -0.027776286, -0.07801131, 0.022275787) * go_3(1.0, 0.0); - result += mat4(0.20298952, -0.069290765, 0.018832127, -0.17501442, 0.32367796, -0.20510589, 0.15283914, 0.16110845, 0.23468657, 0.12490908, 0.0031354423, 0.33064207, -0.089915626, 0.16466871, -0.2302326, 0.008596628) * go_3(1.0, 1.0); - result += mat4(0.07267445, 0.13096274, -0.22805755, -0.03723183, 0.055223588, -0.005618507, -0.022076515, -0.07149474, -0.121041514, 0.22917031, 0.066897914, -0.07756685, 0.024709817, 0.009276744, 0.014564059, 0.057168677) * go_4(-1.0, -1.0); - result += mat4(0.12088462, -0.21629183, -0.01628627, 0.13085558, 0.09959188, -0.26857927, 0.099242754, -0.014361698, -0.06972168, 0.01484912, -0.14507025, 0.036060054, 0.010170308, -0.038049888, -0.009749429, 0.02627631) * go_4(-1.0, 0.0); - result += mat4(0.014381424, -0.08200522, 0.016342247, -0.05138454, -0.048430134, 0.14594877, -0.3555319, 0.031946313, 0.10650339, 0.18046476, -0.24730566, 0.1373742, -0.119868465, 0.09006262, -0.043326948, 0.14803706) * go_4(-1.0, 1.0); - result += mat4(0.041357175, 0.018529125, -0.10729679, -0.048498925, -0.10630771, -0.1541114, -0.033143718, -0.22726057, -0.07868649, -0.13653874, 0.17372914, -0.12425049, 0.20172423, -0.13046068, 0.043416902, 0.022640392) * go_4(0.0, -1.0); - result += mat4(0.0996741, -0.2517156, 0.19852571, -0.0021035601, 0.10721118, -0.05211148, -0.19747794, -0.09467657, -0.023530629, -0.3026388, 0.18776762, -0.083951, -0.23070371, -0.29687774, 0.19042933, 0.082099915) * go_4(0.0, 0.0); - result += mat4(-0.14246128, -0.11360154, 0.042512555, 0.050347224, 0.15101464, 0.096761174, -0.09809747, 0.18949512, 0.08265103, 0.10818854, -0.06522224, 0.20080575, 0.04467876, 0.16536511, -0.17993684, 0.00630444) * go_4(0.0, 1.0); - result += mat4(-0.06804489, -0.08932311, 0.11452633, -0.1371827, -0.038583722, -0.044566132, 0.11590918, 0.06928946, 0.09499521, -0.28891554, -0.039033752, -0.24065344, -0.008447823, -0.22869939, -0.1481265, -0.14827704) * go_4(1.0, -1.0); - result += mat4(-0.040538706, -0.16607454, 0.066053875, -0.13771453, -0.26502058, -0.090013534, 0.10899838, 0.035818875, -0.025965845, -0.38602746, 0.11832495, -0.05114795, -0.0024577992, -0.131609, 0.031598363, 0.03701916) * go_4(1.0, 0.0); - result += mat4(-0.058901474, -0.32447273, -0.009171959, 0.0660178, -0.060969505, 0.032002755, 0.1673554, 0.08129589, -0.027818324, 0.11499822, 0.047595307, 0.1351946, -0.10076986, 0.109632365, -0.15808961, -0.082471184) * go_4(1.0, 1.0); - result += mat4(0.11876087, 0.01871506, -0.15440665, 0.030330261, 0.0027066949, -0.14246738, 0.07165973, 0.01423915, -0.06284659, -0.21748444, -0.09141415, 0.0077323355, 0.0007271684, 0.1327971, 0.021298295, 0.029493187) * go_5(-1.0, -1.0); - result += mat4(-0.10310914, -0.07170663, -0.2685449, -0.15668112, 0.10965974, -0.027063346, 0.15944144, -0.16771634, -0.08454698, -0.12480185, 0.17647612, 0.17139068, -0.09694541, 0.14676706, 0.1353608, 0.11373892) * go_5(-1.0, 0.0); - result += mat4(-0.0808586, -0.02986483, 0.23335268, -0.05220655, -0.21456684, 0.089947656, -0.2306551, 0.23438993, -0.26377395, -0.00432009, -0.002377239, -0.0024554976, -0.11019007, -0.0772975, -0.119338326, -0.42517295) * go_5(-1.0, 1.0); - result += mat4(0.10294163, -0.024664093, 0.019653833, 0.034689307, 0.05632113, -0.31289428, -0.08254052, 0.13217352, 0.15772913, -0.09128828, -0.012524978, -0.06561359, -0.13107683, 0.23463258, -0.18762761, 0.22209615) * go_5(0.0, -1.0); - result += mat4(0.06301127, 0.12489633, 0.025658585, -0.09527329, 0.009095258, -0.2463554, -0.0047031543, 0.119088694, 0.14065374, 0.19576642, 0.26679346, 0.03845879, 0.13757762, 0.10764672, -0.046270162, -0.11690896) * go_5(0.0, 0.0); - result += mat4(-0.04519331, 0.002319274, -0.0704514, 0.029526047, 0.13251334, 0.2868927, -0.06838931, 0.11092056, 0.15345666, 0.16911614, 0.06869024, -0.03073747, 0.065442406, 0.018865792, 0.081815384, -0.20803072) * go_5(0.0, 1.0); - result += mat4(0.06323602, -0.010242011, 0.10209268, -0.04929, -0.006704608, 0.30939466, 0.1744392, -0.10929571, -0.493058, -0.13673118, -0.12486283, -0.41315997, -0.036514506, 0.0937269, -0.16995876, 0.15627468) * go_5(1.0, -1.0); - result += mat4(-0.13764359, -0.028645532, 0.006338959, 0.058005866, 0.08327983, 0.17576805, 0.17758359, -0.16738725, -0.26176876, 0.07402525, -0.02212828, 0.16919926, 0.3348425, 0.032946147, 0.09707724, 0.10009711) * go_5(1.0, 0.0); - result += mat4(-0.2091657, 0.068191156, 0.09357867, -0.05217846, -0.1104997, 0.05062617, 0.016883407, -0.053662494, 0.24314725, 0.19810323, -0.065943204, 0.25030002, 0.08373754, -0.16690144, 0.03141188, -0.101124324) * go_5(1.0, 1.0); - result += vec4(-0.08736043, 0.2861529, -0.005863071, -0.004482026); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04347682, -0.042527717, 0.057372455, 0.25276724, -0.057298373, 0.16023909, 0.21286428, -0.022668337, -0.21247427, -0.14335708, 0.19040126, 0.08368367, 0.0033008587, 0.03252031, -0.1777948, -0.082336985) * go_0(-1.0, -1.0); - result += mat4(-0.12568378, -0.08425814, 0.004957988, -0.12844385, 0.055799566, 0.21515216, -0.20364483, -0.05265174, -0.011742827, -0.053792574, -0.15443824, 0.007910115, -0.045762774, 0.03763922, 0.014743974, -0.07495264) * go_0(-1.0, 0.0); - result += mat4(0.095623426, 0.118021496, -0.3646953, 0.22952312, -0.06988015, 0.07823983, 0.10331074, 0.18235193, 0.10575183, 0.017832384, 0.099051595, -0.16202737, -0.065919116, -0.027154202, 0.19286686, -0.41187564) * go_0(-1.0, 1.0); - result += mat4(-0.18027067, -0.15459284, -0.5194294, 0.15895993, -0.19545266, 0.11350413, 0.08665067, 0.053280413, -0.07407145, -0.04798788, -0.13345626, 0.1258462, 0.047066033, -0.040642574, 0.08591159, -0.10039696) * go_0(0.0, -1.0); - result += mat4(-0.080157764, 0.22366004, 0.17739227, 0.033781976, -0.045201484, -0.047641475, -0.07896631, -0.08679443, 0.10642969, 0.06992287, 0.041175313, -0.16435929, 0.15798622, -0.004883945, 0.08247824, -0.056977544) * go_0(0.0, 0.0); - result += mat4(-0.05262759, 0.015417186, 0.108641304, 0.005705979, -0.013303744, -0.016400715, -0.24967128, -0.13471037, 0.07906222, 0.07200451, 0.12428817, -0.05694691, -0.022635266, -0.08490837, -0.01682493, 0.08025121) * go_0(0.0, 1.0); - result += mat4(0.4013514, -0.09885115, -0.13964225, 0.0066076894, 0.035656366, -0.061563164, 0.005582264, 0.03445424, -0.0898461, 0.07694695, -0.06430643, 0.26156837, -0.045181878, -0.16155554, -0.008806556, 0.023297746) * go_0(1.0, -1.0); - result += mat4(0.014314168, 0.03040408, 0.079562426, 0.104040965, 0.15035652, -0.11237077, -0.04587703, 0.0664186, 0.011188344, 0.27792045, 0.03491885, 0.047752786, -0.02133782, 0.19199622, 0.03265004, 0.112835735) * go_0(1.0, 0.0); - result += mat4(-0.22900657, 0.19636537, 0.024062308, 0.004805258, 0.19197865, -0.26876372, 0.22812407, -0.13273205, 0.1163973, -0.016603881, 0.11751584, 0.07571751, -0.016665185, -0.020726109, -0.15382238, -0.05721929) * go_0(1.0, 1.0); - result += mat4(0.047688257, -0.04328092, 0.00020037305, -0.0030449564, 0.21016575, -0.3156827, 0.109759815, -0.012477153, -0.037765514, -0.19186607, 0.11098016, -0.122981705, 0.030443244, -0.27449754, 0.12108516, 0.14917934) * go_1(-1.0, -1.0); - result += mat4(-0.015644934, 0.017102094, 0.068102054, 0.11661995, -0.13552219, 0.030102659, 0.14208834, 0.034298997, 0.06434777, -0.16380474, -0.10679716, -0.052865673, 0.03549326, -0.116048254, 0.16329505, 0.19959521) * go_1(-1.0, 0.0); - result += mat4(-0.007844256, -0.033616025, 0.040885374, 0.0077286726, -0.057888485, 0.05796843, 0.0665138, -0.189592, -0.02662338, 0.022530284, 0.08647752, 0.054335136, 0.031057479, 0.03635868, 0.0933932, 0.064375274) * go_1(-1.0, 1.0); - result += mat4(0.15531783, -0.21395409, -0.124851726, 0.049151056, -0.17787859, 0.07594992, 0.048780512, 0.0029584337, 0.013994473, -0.34576252, -0.05831177, 0.030209891, 0.009173122, -0.32105917, 0.026620382, 0.27054143) * go_1(0.0, -1.0); - result += mat4(0.031326182, 0.11699003, -0.1819442, -0.30510914, -0.21830374, 0.06375399, -0.11343298, 0.20248312, -0.032249533, 0.1300983, -0.23744828, -0.03899525, 0.095936954, 0.075583026, -0.18192224, 0.016086053) * go_1(0.0, 0.0); - result += mat4(-0.24321534, 0.1016422, 0.084550686, -0.007922614, -0.16052304, -0.09632171, 0.09476528, 0.03964334, -0.00061841257, 0.11085015, 0.16789092, 0.058375813, -0.021924267, 0.26049414, -0.04622306, 0.03622448) * go_1(0.0, 1.0); - result += mat4(0.05655466, -0.10016316, -0.026551498, 0.12944251, 0.06387257, 0.08759442, -0.040214762, -0.05403373, -0.001911277, -0.045361456, -0.29783988, -0.11533991, 0.07864674, -0.03580795, 0.09282203, 0.18479614) * go_1(1.0, -1.0); - result += mat4(-0.019557253, -0.01953009, 0.1073159, -0.077327915, -0.3287939, 0.08561906, -0.16314861, -0.14830309, -0.031493217, -0.050918207, 0.13767132, -0.25257835, 0.029513458, 0.1548974, -0.048502877, 0.0022710229) * go_1(1.0, 0.0); - result += mat4(0.0022606663, 0.048681643, -0.06014017, 0.23443368, -0.086114794, 0.017463014, -0.073657446, -0.0013138334, -0.053271778, 0.29075313, 0.07355574, 0.14009497, -0.15303768, 0.21335968, -0.17516625, 0.03268628) * go_1(1.0, 1.0); - result += mat4(-0.012742161, -0.041635115, 0.168062, -0.028525194, -0.030566072, -0.027266532, 0.0359287, -0.07139233, 0.061290823, -0.04036332, 0.04897623, 0.13846754, 0.039383594, 0.12339301, -0.026180696, -0.0051744552) * go_2(-1.0, -1.0); - result += mat4(-0.03748404, -0.026544569, 0.11102617, -0.22780292, 0.06731992, -0.15827416, 0.09802122, 0.11640033, 0.00039111794, 0.072100006, -0.053455148, 0.06592366, -0.09381082, 0.13634324, -0.08554314, 0.016439624) * go_2(-1.0, 0.0); - result += mat4(0.10113021, 0.08261971, -0.16603, -0.009958334, 0.03756299, -0.004461027, 0.08559942, -0.012674885, -0.03848595, 0.002108679, 0.021565402, -0.046234082, 0.04603834, 0.09276165, -0.29686695, -0.015194743) * go_2(-1.0, 1.0); - result += mat4(0.053909358, 0.0835715, -0.116176985, 0.22114189, 0.17204702, -0.17098549, -0.08065474, -0.015051904, 0.14268506, -0.117853105, -0.0038547963, -0.099558994, -0.12031682, 0.11549271, 0.0201697, 0.093561895) * go_2(0.0, -1.0); - result += mat4(-0.056914307, 0.18547982, -0.09208387, -0.00943169, -0.024476565, 0.020612689, 0.04417863, 0.14231037, -0.05794176, 0.19624077, -0.10561953, -0.1312564, -0.09621997, -0.055228855, -0.06481115, 0.07939849) * go_2(0.0, 0.0); - result += mat4(-0.09013716, -0.12869088, -0.14419042, -0.021643816, -0.123301044, 0.1077149, -0.058566347, 0.010407963, 0.009403472, -0.07660888, 0.09947006, -0.07434618, -0.014246012, -0.24914171, 0.0034662948, -0.05013118) * go_2(0.0, 1.0); - result += mat4(-0.070962735, 0.06716404, -0.15136454, 0.02027541, -0.107001044, 0.50334495, -0.039790098, 0.08286825, -0.0010944081, 0.1031829, -0.011431386, -0.08257687, -0.18531963, -0.14856398, 0.024649108, 0.047142852) * go_2(1.0, -1.0); - result += mat4(0.049574193, 0.07180735, 0.047850125, -0.051012892, -0.00040669146, 0.4140869, -0.088046245, -0.036824025, -0.03582775, 0.26769164, -0.06151275, -0.09666011, 0.2566442, -0.09799407, 0.097338095, -0.026725585) * go_2(1.0, 0.0); - result += mat4(0.1490444, -0.06516709, 0.10439169, -0.034240134, -0.041965652, -0.2079741, -0.09079767, 0.15088585, 0.022063766, -0.07552733, 0.0012785956, -0.16747397, 0.10525993, -0.09890853, 0.10660105, 0.21784192) * go_2(1.0, 1.0); - result += mat4(0.07042895, 0.16030453, 0.0030912263, -0.027933247, -0.3086125, -0.28822276, -0.400802, 0.2096595, 0.08857404, 0.34754908, -0.15951826, -0.35737038, -0.038460553, 0.007917597, 0.2774085, -0.08004489) * go_3(-1.0, -1.0); - result += mat4(-0.038472448, -0.0174679, -0.107170366, -0.037775494, -0.054595813, -0.21341673, 0.21892805, 0.12125601, 0.058354914, -0.35335168, -0.21329384, -1.0650489, 0.059367847, -0.02849481, 0.001276761, -0.30784246) * go_3(-1.0, 0.0); - result += mat4(-0.050561953, 0.0007092989, -0.13955325, -0.07106547, 0.12613517, -0.0822321, 0.14023048, -0.20781253, 0.0041748453, 0.157751, -0.14171253, -0.9330524, -0.0035482922, -0.17769572, -0.1528532, -0.32141888) * go_3(-1.0, 1.0); - result += mat4(-0.040014382, 0.24272937, 0.12577556, -0.10304328, 0.12054429, -0.14819793, -0.46691173, 0.12551397, 0.21042542, 0.040414993, 0.2664476, -0.0624471, -0.10776527, 0.03234498, -0.14870068, -0.05700082) * go_3(0.0, -1.0); - result += mat4(-0.15521951, -0.099391945, -0.31356367, -0.006449893, 0.059501357, 0.16860132, 0.2637131, -0.035344128, -0.20164591, -0.0771766, 0.22611247, -0.40267792, -0.060890198, 0.060215253, 0.093219444, -0.3483) * go_3(0.0, 0.0); - result += mat4(0.03416117, -0.1827499, -0.15668888, -0.10794011, -0.075220324, 0.12177839, -0.07486823, 0.21677534, -0.039297394, -0.14563735, 0.05120258, -0.00035666916, 0.12478138, 0.04741504, 0.2288785, -0.17462626) * go_3(0.0, 1.0); - result += mat4(-0.02980817, 0.087366745, 0.043035574, 0.040445086, 0.07882225, 0.030239558, -0.117186725, 0.19092828, -0.037465222, -0.10581845, -0.055081632, -0.15845117, 0.07946355, 0.14760616, -0.022140944, 0.11649563) * go_3(1.0, -1.0); - result += mat4(-0.19723393, 0.024121622, -0.27199838, 0.07334678, -0.07288629, 0.17650653, -0.22066317, -0.13322048, 0.0069257803, -0.24415702, 0.09925061, 0.33271804, 0.0033860113, -0.18174358, -0.13197216, -0.018403139) * go_3(1.0, 0.0); - result += mat4(-0.093481295, -0.28051332, -0.032411367, -0.14152545, 0.18546024, 0.26412115, 0.07146612, 0.036084935, -0.27073604, -0.010888752, -0.13251275, 0.052145492, -0.0332615, 0.06561024, -0.12152722, 0.25903332) * go_3(1.0, 1.0); - result += mat4(-0.14281613, 0.07859564, 0.0066864006, -0.15937181, -0.12278831, 0.311999, 0.025959859, 0.02308115, -0.03229773, 0.2645761, -0.13995989, 0.10817364, 0.07908819, 0.42388916, -0.17739546, 0.10429196) * go_4(-1.0, -1.0); - result += mat4(0.2201895, -0.2196956, 0.14305998, -0.3301203, 0.16685095, 0.09164033, 0.031294953, -0.05854433, -0.06691493, 0.1518185, 0.038523998, 0.05256842, -0.047954578, 0.1683237, 0.0048684916, -0.10664451) * go_4(-1.0, 0.0); - result += mat4(-0.026817175, -0.029176721, 0.24391933, 0.017680334, 0.15134846, -0.15139282, 0.29651865, 0.12128057, 0.044055674, 0.023059618, -0.054705862, -0.025505943, -0.019943522, -0.032058105, -0.30078474, 0.28300348) * go_4(-1.0, 1.0); - result += mat4(-0.15246257, 0.16519837, 0.030530507, 0.0019738604, -0.09898821, -0.10236442, -0.15473707, 0.1960111, 0.08083462, 0.1931143, 0.053789698, 0.063627414, -0.10000871, 0.1890801, -0.039166793, -0.035554815) * go_4(0.0, -1.0); - result += mat4(-0.008138058, -0.090632096, 0.09218409, -0.1870409, 0.006966406, -0.036867052, -0.1109265, 0.15594107, -0.06334745, -0.025499493, 0.16426682, 0.024393357, 0.0060975226, 0.08250694, -0.022282967, -0.09879987) * go_4(0.0, 0.0); - result += mat4(0.06807879, 0.127161, -0.20435798, -0.11276813, -0.035021268, -0.019755092, -0.17415504, 0.060618974, 0.12325889, -0.12290322, -0.05086793, 0.14947659, 0.023935383, -0.032783996, -0.029157335, -0.006670329) * go_4(0.0, 1.0); - result += mat4(-0.14423427, 0.07715571, 0.06842541, -0.24895051, -0.06428334, -0.07863047, 0.23238844, 5.274231e-05, 0.048996497, 0.17647398, 0.413201, -0.31975266, -0.030216858, 0.04867342, -0.30262446, -0.15375552) * go_4(1.0, -1.0); - result += mat4(0.23534048, 0.092139505, 0.012503786, 0.116008915, -0.0898572, -0.17778875, 0.16141091, 0.3644637, 0.043014687, -0.031378243, 0.11754703, -0.38509452, 0.1001422, 0.036844354, -0.0051652407, 0.036642574) * go_4(1.0, 0.0); - result += mat4(0.08065526, -0.14093323, -0.027013494, -0.112644374, -0.019306205, -0.10695108, -0.21220952, -0.039872676, -0.09730943, -0.47728395, -0.28284085, -0.07133749, -0.04755162, -0.14241156, -0.01632541, -0.009647049) * go_4(1.0, 1.0); - result += mat4(0.07490686, -0.06242466, 0.15567005, -0.16337247, -0.2887383, 0.2881797, -0.121348776, 0.060069725, -0.03536951, -0.24556357, -0.35177758, -0.11175104, -0.0073047564, -0.06645475, 0.014323825, 0.058212377) * go_5(-1.0, -1.0); - result += mat4(0.03256386, -0.05097925, 0.27179804, -0.09543428, 0.161455, 0.023938831, 0.10773267, -0.10486564, 0.076764554, 0.06358945, -0.18258472, 0.08324786, 0.06467844, -0.20269682, 0.046431858, -0.08359799) * go_5(-1.0, 0.0); - result += mat4(-0.086718775, 0.029116197, -0.020623617, -0.010007143, -0.0062927944, 0.028177656, -0.07210879, 0.06786677, 0.023476062, 0.17860489, -0.06256401, 0.061757386, -0.046495005, -0.055532746, 0.15595034, 0.12336579) * go_5(-1.0, 1.0); - result += mat4(0.08569872, -0.03291618, 0.18875046, -0.080043204, 0.19672358, 0.0756269, 0.02688733, 0.16277955, -0.060868777, -0.037449554, 0.020366343, -0.28260133, 0.30251002, -0.08898951, 0.002503838, -0.031098645) * go_5(0.0, -1.0); - result += mat4(0.09120409, -0.04983847, 0.07688438, 0.008763123, -0.09732479, 0.21332602, -0.13068666, -0.030675085, 0.31382635, 0.0012199014, -0.18128653, 0.30740625, -0.100602135, 0.08708379, 0.112137444, -0.03682313) * go_5(0.0, 0.0); - result += mat4(0.0709511, -0.04224951, -0.05609049, -0.0006408909, -0.030565612, -0.012263292, -0.009747451, -0.07244236, 0.054749947, -0.01405017, 0.009567654, -0.074202195, -0.06860078, 0.13089342, -0.06874847, -0.03219275) * go_5(0.0, 1.0); - result += mat4(0.1576853, -0.2683739, -0.025735255, -0.06460345, 0.075857066, -0.59675205, 0.11202596, 0.14385986, -0.06844365, -0.23115703, 0.12929395, -0.12881753, 0.009042129, 0.105781116, -0.055749435, -0.081277415) * go_5(1.0, -1.0); - result += mat4(0.13527077, -0.03984972, 0.018804315, 0.12699783, -0.17789197, -0.30242765, 0.09397843, 0.090828404, -0.059823766, 0.044621762, 0.25259614, -0.19707985, -0.13368398, 0.20000716, -0.009788325, -0.20149179) * go_5(1.0, 0.0); - result += mat4(-0.041884087, -0.059512906, -0.0896845, 0.06103581, 0.110947184, 0.10910047, -0.0047273464, 0.079314105, -0.121069044, 0.10926088, 0.13192393, 0.13567427, 0.109372094, 0.06015443, 0.100631915, -0.224153) * go_5(1.0, 1.0); - result += vec4(0.022030555, -0.05006568, 0.014002339, 0.023597209); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09202538, -0.081250995, 0.13399354, -0.09287109, 0.075870514, -0.046435528, 0.06888035, 0.07559372, 0.047911238, 0.1541559, 0.016089845, -0.020714905, 0.034469247, 0.09413617, -0.06726056, 0.04964387) * go_0(-1.0, -1.0); - result += mat4(0.22596729, 0.02889021, -0.048012562, 0.14605793, -0.086510226, 0.09049988, -0.0024043226, 0.07370351, -0.02844908, 0.056516882, -0.12932102, -0.080092, -0.014557861, 0.2417015, 0.24414025, -0.08637478) * go_0(-1.0, 0.0); - result += mat4(-0.08709868, -0.15894723, 0.051107977, -0.007953947, -0.005816434, 0.15406336, -0.08382943, 0.06931645, 0.10049424, -0.10653088, 0.2009932, 0.15972902, 0.02209797, -0.008090025, 0.058555678, 0.044184227) * go_0(-1.0, 1.0); - result += mat4(-0.14687128, 0.08516212, -0.090116605, -0.053017177, -0.09254908, -0.043845087, -0.02666236, -0.12203544, -0.043807525, 0.14893356, -0.11529748, -0.06253818, -0.010695381, -0.10081673, -0.0314329, -0.044264063) * go_0(0.0, -1.0); - result += mat4(0.021610646, -0.16695172, -0.31326374, 0.05392923, 0.12519042, 0.12159836, -0.07893999, -0.10245254, 0.10427483, -0.042931017, -0.18065664, 0.01107328, 0.110220656, -0.06329314, -0.044132728, -0.004572783) * go_0(0.0, 0.0); - result += mat4(0.01665856, 0.121704906, -0.2353256, 0.16223833, 0.04024997, -0.01792505, 0.14950873, -0.06683434, 0.004776299, 0.011929818, 0.07254882, 0.03820532, 0.31055966, 0.08748786, 0.0073042163, 0.2684048) * go_0(0.0, 1.0); - result += mat4(-0.23074506, -0.06215829, 0.053791784, 0.22733828, -0.11443747, -0.15169612, 0.040388454, -0.007505497, 0.005672369, 0.0026797412, -0.001197972, 0.007488197, -0.0024618902, 0.10131061, -0.07500523, -0.013001146) * go_0(1.0, -1.0); - result += mat4(-0.0776098, -0.060467657, 0.063401155, -0.3178554, 0.046797205, -0.10740315, 0.02085142, 0.101416804, -0.1198098, -0.02295822, 0.039581314, -0.048711125, -0.06259446, -0.11206371, -0.0053890026, -0.070524804) * go_0(1.0, 0.0); - result += mat4(-0.12901165, 0.21051991, -0.1142095, 0.22749256, -0.023643937, -0.046942696, -0.060973406, -0.057919096, -0.22156318, -0.051061176, 0.0916328, 0.012217941, -0.17102586, -0.18390712, 0.006507473, -0.029991195) * go_0(1.0, 1.0); - result += mat4(-0.2522444, -0.03696223, -0.18561353, 0.13687257, 0.073648125, 0.13678576, 0.16931336, 0.00949838, -0.038437508, -0.059626862, 0.05821261, -0.07623236, -0.08685592, -0.17067757, 0.174131, -0.025060346) * go_1(-1.0, -1.0); - result += mat4(0.104338415, -0.096368395, -0.029887693, 0.032492615, 0.041827764, 0.24553889, 0.099045165, 0.059192423, 0.023159435, -0.043454442, 0.10354106, 0.17867453, -0.1752651, 0.16507833, -0.09264873, 0.038281262) * go_1(-1.0, 0.0); - result += mat4(0.06404952, 0.014349881, -0.08079635, -0.18684097, -0.021107968, 0.1474591, 0.02128032, 0.052345317, 0.19520657, -0.18109623, 0.12578261, 0.034501765, -0.1369868, -0.05843081, 0.16561405, -0.06775279) * go_1(-1.0, 1.0); - result += mat4(0.08673276, 0.14922544, 0.12579706, 0.12474029, -0.06912261, -0.104719676, 0.27239847, -0.13122962, -0.05688415, 0.1428628, 0.00895786, -0.032757584, 0.019906566, -0.17429581, -0.10528849, 0.13250664) * go_1(0.0, -1.0); - result += mat4(0.1025883, 0.16903317, 0.24479683, 0.08272392, -0.12168113, 0.09135378, 0.06919754, -0.24658537, 0.014526622, 0.08442609, -0.30363482, -0.03433778, 0.037446275, 0.030086113, -0.07519447, -0.068841174) * go_1(0.0, 0.0); - result += mat4(0.024311058, -0.08233637, -0.16022089, -0.1597245, 0.050970588, -0.10577119, -0.1112992, -0.052199256, -0.0849103, -0.3776085, -0.21930903, -0.20542654, -0.01871536, 0.10911211, 0.07675561, -0.024964388) * go_1(0.0, 1.0); - result += mat4(0.12411877, -0.00519536, 0.0480481, -0.10641975, -0.0010129698, -0.049957395, 0.0066010677, -0.07925235, 0.1930976, 0.5361102, -0.056495357, -0.05665149, -0.1270014, 0.041294765, -0.15627688, 0.018746065) * go_1(1.0, -1.0); - result += mat4(0.13720295, 0.085025266, 0.05471863, 0.038614765, -0.06960719, 0.16281144, -0.21186842, -0.1941425, 0.095628515, 0.084828205, 0.02530074, 0.11415585, 0.10537103, -0.0586968, 0.019073522, -0.055825945) * go_1(1.0, 0.0); - result += mat4(-0.21141429, 0.01108361, -0.14758278, 0.08792016, -0.0016714301, -0.0030396983, -0.12766738, -0.08827425, -0.07848207, -0.13752016, 0.013766901, 0.09635439, -0.079080686, -0.14922711, 0.06670641, -0.080326416) * go_1(1.0, 1.0); - result += mat4(0.20643076, -0.00499668, 0.23666923, -0.17106888, 0.12709226, 0.00981184, 0.028967496, 0.016210513, 0.12393452, 0.0043048155, 0.05266705, -0.094970286, 0.005504978, -0.050391, 0.10117381, 0.09549521) * go_2(-1.0, -1.0); - result += mat4(0.04931849, -0.0065390305, 0.08863048, -0.0947855, 0.15617795, -0.17475569, 0.10392811, 0.035971895, 0.03656791, -0.12339292, 0.010653483, 0.08514984, 0.15630373, 0.15763232, -0.012078789, -0.026336702) * go_2(-1.0, 0.0); - result += mat4(0.13140163, 0.07304222, 0.03644733, 0.09648337, -0.017975705, -0.072331324, 0.0029975558, -0.021666657, -0.020042133, 0.044821594, 0.037660487, 0.09642576, 0.06416202, 0.014092053, -0.043693382, -0.051554378) * go_2(-1.0, 1.0); - result += mat4(-0.23793697, -0.0014973939, -0.08946259, 0.067851745, -0.019646896, -0.19535433, 0.10289966, 0.0010244731, -0.20782173, 0.0020514326, -0.16879739, 0.17888409, -0.124513365, -0.07472942, -0.0588901, -0.2092017) * go_2(0.0, -1.0); - result += mat4(0.060483094, 0.059208773, 0.08345, 0.0010649676, -0.23659356, 0.3603475, 0.0053207604, -0.03345199, 0.020284697, -0.01113311, 0.11211144, 0.053414755, 0.1895607, -0.15760773, -0.23431808, 0.043709636) * go_2(0.0, 0.0); - result += mat4(0.080154695, -0.064768635, -0.12550141, -0.08824165, -0.07509624, -0.0713246, -0.22137038, 0.0921876, -0.025354594, -0.24898566, -0.028864942, -0.16679515, -0.08982522, 0.029950809, -0.06993633, 0.12565832) * go_2(0.0, 1.0); - result += mat4(-0.20841017, 0.06321075, -0.04099131, 0.07732559, -0.08110228, 0.20876545, -0.11388175, 0.27826598, -0.15344119, 0.09446656, 0.2735643, 0.079110265, -0.043845385, 0.029875547, 0.12783948, -0.10298459) * go_2(1.0, -1.0); - result += mat4(0.08580364, -0.08134692, -0.085382804, -0.09634259, -0.07509618, -0.12689087, 0.05720452, -0.1819075, 0.11217614, -0.16592574, -0.101749554, -0.018963661, 0.14723873, 0.12904182, -0.052782595, 0.05793788) * go_2(1.0, 0.0); - result += mat4(-0.0056530046, 0.05674741, 0.014994733, 0.11958239, 0.16446747, -0.049534798, -0.016570516, -0.21063349, -0.07496503, 0.0055008507, 0.11419655, 0.048011355, -0.04684853, 0.042691138, 0.09421025, 0.12923399) * go_2(1.0, 1.0); - result += mat4(-0.083864704, 0.07605092, -0.047560036, 0.16445905, -0.029962407, 0.18134072, -0.22724763, 0.023675185, -0.03332916, -0.04249084, 0.15973917, 0.007322849, -0.087714255, -0.153021, 0.030236037, -0.100231044) * go_3(-1.0, -1.0); - result += mat4(-0.17441258, -0.028744312, 0.05915575, -0.11824928, -0.04179886, -0.14449957, 0.04891911, -0.21351086, 0.3303812, 0.07433166, 0.503379, 0.2470829, 0.1322803, -0.04928455, -0.15583721, 0.106110215) * go_3(-1.0, 0.0); - result += mat4(-0.08065278, -0.00050983805, 0.027161239, 0.12555373, 0.017745659, 0.0479513, 0.10691591, -0.13202804, 0.38873398, 0.046141643, 0.07307728, 0.13692193, 0.18681903, 0.11005239, 0.15744549, 0.21892804) * go_3(-1.0, 1.0); - result += mat4(0.03978365, -0.023494922, -0.039753728, 0.27451408, 0.02140033, -0.013376269, 0.028383363, 0.059702866, -0.0071658283, -0.13848262, -0.1019017, -0.16829433, -0.018539641, 0.013991451, 0.099338084, -0.05775615) * go_3(0.0, -1.0); - result += mat4(-0.065350726, 0.11001335, 0.11902446, -0.21104746, 0.095098086, 0.02739781, -0.26015705, 0.22157612, -0.15288728, 0.2722011, 0.27105704, -0.24145271, -0.051725585, 0.06605028, -0.012332871, -0.17540309) * go_3(0.0, 0.0); - result += mat4(-0.2189158, -0.05287219, -0.04915249, -0.05357751, -0.12871711, -0.0061132344, -0.1406079, -0.18074436, -0.14702965, -0.22242828, 0.08177444, 0.3396842, -0.2632696, -0.06403873, -0.008123073, -0.030273361) * go_3(0.0, 1.0); - result += mat4(0.11255844, -0.057998642, -0.07679987, 0.049385145, 0.13984528, -0.07007145, 0.11060764, 0.12331489, -0.05268373, -0.15397486, 0.054913905, -0.1393604, 0.020389834, -0.17137636, 0.067205, 0.084197655) * go_3(1.0, -1.0); - result += mat4(0.27258077, -0.10924528, -0.1159478, 0.05647175, 0.13014089, 0.12746723, 0.0045503005, 0.07131271, 0.081193194, 0.018001271, -0.056847095, 0.19587554, -0.018607333, 0.1416207, -0.03856229, -0.0888815) * go_3(1.0, 0.0); - result += mat4(0.0946241, 0.059010573, 0.013680293, -0.042248886, -0.2995221, -0.095081195, 0.06510416, 0.043059137, 0.10425443, -0.1222804, -0.16180466, -0.3628854, -0.01679748, 0.112195894, -0.004974211, -0.055885002) * go_3(1.0, 1.0); - result += mat4(0.11798436, 0.1390635, 0.142733, -0.16162498, 0.034902234, -0.13497733, 0.097894885, 0.10681201, -0.047284793, 0.015005336, -0.09031815, 0.12383599, -0.091548845, -0.013705567, 0.049403854, 0.18155518) * go_4(-1.0, -1.0); - result += mat4(0.1806166, 0.08396095, -0.17600271, -0.029499372, 0.17163202, 0.18944095, -0.1755662, -0.008431973, -0.057935216, 0.1584788, -0.059633583, -0.1950766, -0.03091734, -0.045874756, -0.0051801866, -0.20533004) * go_4(-1.0, 0.0); - result += mat4(0.004201836, -0.15968263, 0.015041736, 0.17407048, -0.03530788, 0.09062685, 0.050316375, -0.058444653, -0.12015508, 0.11712405, -0.031137828, -0.049205493, 0.05515115, 0.06733773, 0.03607973, 0.05056488) * go_4(-1.0, 1.0); - result += mat4(0.006330765, -0.17457847, -0.021863922, -0.16448942, 0.059458453, 0.1486118, -0.22728927, 0.0058831032, -0.00180954, -0.34799471, -0.017039202, 0.03939159, -0.033589013, 0.32948977, 0.087067194, -0.113632225) * go_4(0.0, -1.0); - result += mat4(0.042377464, -0.030939378, -0.08917448, 0.2585585, -0.28696018, -0.04419827, 0.0057377038, 0.08444518, -0.009464956, -0.03967168, 0.05095106, -0.04785119, -0.05805417, -0.07269471, -0.18795604, -0.23612237) * go_4(0.0, 0.0); - result += mat4(-0.026615486, 0.1219551, 0.17111751, 0.12014681, -0.10403522, 0.13139823, 0.28612077, -0.17874514, 0.030061528, 0.31433544, 0.16948178, 0.10126, 0.0582159, -0.13620348, -0.026327167, 0.11529438) * go_4(0.0, 1.0); - result += mat4(-0.10999408, -0.1642254, -0.09659326, -0.085699454, 0.05962901, -0.07562989, 0.042366143, -0.1533413, -0.09869005, -0.21281542, 0.020441674, 0.17866766, -0.26933256, 0.049314983, 0.10039448, -0.13316467) * go_4(1.0, -1.0); - result += mat4(-0.22610307, -0.0013520997, 0.16817398, 0.037943725, -0.067527935, -0.15105802, -0.0973126, -0.05843863, 0.19214404, 0.092337616, -0.024034662, -0.007926626, -0.32222804, 0.082673185, 0.069847725, 0.027493093) * go_4(1.0, 0.0); - result += mat4(0.0014049035, -0.058899652, 0.060463455, -0.052001078, 0.19716045, 0.12879235, -0.026990427, 0.23919769, 0.0034248075, -0.0157977, -0.06720619, -0.013757762, -0.101808615, 0.029667001, 0.07381132, 0.092393965) * go_4(1.0, 1.0); - result += mat4(0.053514812, 0.14120969, -0.056737684, 0.017708244, -0.05407678, 0.103361025, -0.0924985, 0.053643283, -0.28559983, -0.12866977, -0.06750911, 0.027970003, 0.06481888, 0.06773354, -0.07627304, -0.07058017) * go_5(-1.0, -1.0); - result += mat4(0.10564813, 0.1891429, -0.085196435, 0.0073824013, 0.0039014777, 0.14679071, 0.09327677, -0.030248597, 0.18063113, -0.3115451, 0.06560229, -0.03190648, -0.1619295, -0.112393744, -0.10004008, 0.0023948452) * go_5(-1.0, 0.0); - result += mat4(-0.033827845, -0.12089327, 0.042195093, 0.025078757, -0.044261515, 0.09103579, -0.19070679, -0.1600237, 0.13683122, -0.072529055, 0.062436976, -0.29964364, -0.114442796, -0.047068417, -0.07223064, 0.05781626) * go_5(-1.0, 1.0); - result += mat4(-0.04086473, 0.029395554, 0.05157983, 0.013322953, -0.001428512, -0.103283875, 0.15795463, 0.21691218, 0.23493949, -0.18836173, 0.28818855, -0.07839693, -0.043874815, -0.011829423, 0.0825803, 0.18832965) * go_5(0.0, -1.0); - result += mat4(0.087384604, 0.2075869, 0.012306303, -0.06356627, -0.019742407, -0.256092, -0.089735925, 0.026248232, -0.22160976, -0.4420786, 0.033200428, -0.1376953, -0.3315224, 0.17343274, 0.3179911, 0.012785637) * go_5(0.0, 0.0); - result += mat4(-0.14358811, 0.052979786, 0.13841373, 0.07362653, 0.050186664, 0.11735455, 0.0032370305, -0.16536471, -0.005521641, 0.1040989, -0.07086791, 0.13729815, 0.0840539, 0.06547088, 0.22857827, -0.2079967) * go_5(0.0, 1.0); - result += mat4(-0.11850976, -0.026047882, 0.00785038, -0.19955018, 0.040088244, -0.10139797, 0.08621738, -0.26192454, 0.3888625, 0.33236128, 0.1412189, 0.10097289, 0.07574426, -0.15459102, -0.1557534, 0.03405655) * go_5(1.0, -1.0); - result += mat4(-0.15693793, -0.03326048, 0.110803954, 0.07044277, 0.1380442, -0.029729376, -0.26033366, 0.040598683, -0.23744181, 0.043091178, 0.18325818, 0.05989088, 0.099216335, -0.012825024, 0.20831011, -0.08420897) * go_5(1.0, 0.0); - result += mat4(0.031240137, -0.034582928, 0.0022927374, -0.06525183, -0.15711913, -0.04604516, 0.0605175, 0.15128267, 0.072712876, -0.015489105, -0.20996843, -0.24177326, 0.053063773, -0.08747667, 0.24771367, 0.1244199) * go_5(1.0, 1.0); - result += vec4(0.07754665, -0.09230884, 0.019135362, 0.035482828); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.15677336, 0.18937011, -0.15614599, 0.15203404, 0.098624565, 0.023782162, -0.045496363, -0.014783688, 0.07303875, -0.075132, -0.019847363, -0.088889055, -0.11558432, -0.08860719, 0.16452459, -0.018188732) * go_0(-1.0, -1.0); - result += mat4(0.026749048, -0.0376324, -0.0994071, -0.00093872234, 0.014682955, 0.008369919, -0.046362195, -0.21044572, -0.013911088, -0.117338374, 0.14585997, -0.11355687, 0.04094843, -0.11326298, 0.08555518, 0.076577775) * go_0(-1.0, 0.0); - result += mat4(0.04918652, 0.10098061, -0.097193845, 0.011482707, -0.015221698, -0.06306758, 0.09985586, -0.0011515089, -0.09592504, 0.11805872, -0.053774815, 0.093555175, 0.11237289, -0.20694147, 0.255737, 0.0149322525) * go_0(-1.0, 1.0); - result += mat4(0.06269537, -0.28116295, 0.1405942, 0.00218229, -0.012810465, 0.11574089, 0.060055815, -0.14248852, 0.03755387, 0.03748404, 0.04481931, 0.086039774, -0.0707909, -0.053917676, -0.009349141, -0.06623982) * go_0(0.0, -1.0); - result += mat4(-0.002837983, -0.0649247, -0.14890024, 0.0011222209, 0.12083026, -0.16136795, -0.04910086, 0.060653802, 0.020444075, 0.0024171378, 0.06839313, -0.21157807, -0.1678213, -0.27503422, 0.0063047423, 0.03292154) * go_0(0.0, 0.0); - result += mat4(0.14229529, -0.002042125, -0.022892606, 0.08743759, 0.035437252, -0.12997083, -0.1851374, 0.33951423, -0.037205234, 0.03710803, 0.018455725, -0.052581675, -0.16795224, -0.14008522, 0.011014682, 0.07038518) * go_0(0.0, 1.0); - result += mat4(0.105874196, -0.21320704, -0.08445409, 0.052140422, -0.13498448, -0.0737051, -0.027274717, -0.06932614, -0.017584193, -0.13111684, -0.049095873, 0.08269069, -0.017520722, -0.08716905, 0.25897968, -0.1412353) * go_0(1.0, -1.0); - result += mat4(-0.016677873, -0.024665434, -0.11711789, 0.16085778, 0.017375777, 0.15644072, 0.11040864, 0.23371918, 0.10210983, 0.0039968346, -0.007850634, -0.026810693, 0.08863099, 0.094195805, 0.10420045, -0.19671428) * go_0(1.0, 0.0); - result += mat4(-0.016842589, -0.15904509, -0.038347725, 0.1279937, -0.00045717083, 0.13132372, -0.13027431, -0.058826704, -0.0029436084, 0.008283112, 0.10262298, -0.05013397, -0.02922706, 0.14453132, 0.18946488, -0.0966266) * go_0(1.0, 1.0); - result += mat4(-0.00050655927, 0.2318558, 0.025141997, -0.058849655, 0.05127902, -0.056867033, -0.06191942, -0.028451841, 0.038166817, -0.14328304, 0.06050816, -0.12157533, 0.058556214, -0.13964172, 0.026282474, 0.03329027) * go_1(-1.0, -1.0); - result += mat4(-0.06520211, 0.21877246, 0.017677024, -0.053116243, -0.018621214, -0.0063418522, -0.10306368, -0.07627847, -0.0035643768, -0.05579889, 0.07386847, -0.0084178485, 0.005625732, 0.10204069, -0.08501438, -0.013451101) * go_1(-1.0, 0.0); - result += mat4(-0.067369066, 0.17327416, 0.062035594, -0.1340041, 0.10289677, -0.0868232, 0.023330351, -0.072417624, -0.12027732, 0.11592929, 0.05090798, -0.06895359, -0.04391116, 0.18919718, 0.064172365, -0.051173057) * go_1(-1.0, 1.0); - result += mat4(-0.022913774, -0.021000199, -0.01890946, -0.079307556, -0.16522343, -0.3152304, -0.21007383, 0.01858985, 0.003152245, -0.009094366, -0.023845399, -0.06635666, 0.041294664, 0.12883614, -0.06389087, 0.005710572) * go_1(0.0, -1.0); - result += mat4(0.032583844, 0.16247992, 0.06764235, -0.2240413, -0.15760922, 0.20196813, 0.13201368, 0.106440805, -0.070570394, -0.19261852, 0.28010008, -0.0048360736, -0.14080645, -0.02105434, 0.023814693, -0.13861166) * go_1(0.0, 0.0); - result += mat4(0.071627796, 0.20605852, -0.2676727, -0.39509574, 0.22782667, 0.13424493, 0.08930976, 0.13314968, 0.045536704, -0.06271722, 0.01703984, 0.13352728, -0.07089344, 0.14776441, 0.11804898, -0.027061034) * go_1(0.0, 1.0); - result += mat4(-0.011638248, -0.016760292, 0.0593982, -0.100421235, 0.030956578, 0.13813019, 0.022237146, -0.091211095, 0.010232882, 0.0010010025, 0.16789608, -0.030847551, 0.027778173, -0.005418129, -0.16441783, 0.07580936) * go_1(1.0, -1.0); - result += mat4(0.08137598, -0.008976606, 0.00023393384, -0.19671111, -0.0068668523, 0.097364455, -0.0026000517, -0.11201763, 0.047109667, -0.043774106, 0.12344897, -0.13232613, 0.026984906, -0.13614078, 0.06604853, 0.10752554) * go_1(1.0, 0.0); - result += mat4(0.00047561026, 0.12248177, 0.05146918, -0.3956014, -0.12263068, 0.22729336, 0.03597535, 0.09500604, 0.06894016, 0.061162107, 0.13561803, -0.047466908, -0.0013999783, -0.068306796, -0.031758398, -0.046261873) * go_1(1.0, 1.0); - result += mat4(0.12310386, -0.046108138, -0.08357388, 0.02034243, 0.0024922634, 0.029359696, -0.04329755, -0.034257423, 0.08229037, -0.11810178, -0.1079754, 0.13327998, -0.09608102, -0.26294786, -0.056677792, -0.1958781) * go_2(-1.0, -1.0); - result += mat4(0.007982684, 0.020604203, -0.12702446, -0.02264998, -0.034644246, -0.00025684707, 0.037761245, -0.0041598473, -0.047972955, 0.039201785, -0.016598722, -0.044081174, 0.11861525, 0.01239671, -0.12192053, 0.08865015) * go_2(-1.0, 0.0); - result += mat4(-0.0018564354, -0.07618631, -0.09212719, 0.092056714, -0.16783315, 0.08645543, 0.24669226, -0.023520375, -0.04045034, -0.0023428998, -0.01612943, 0.014919031, 0.16028026, -0.020104371, -0.16949941, 0.18713622) * go_2(-1.0, 1.0); - result += mat4(0.19490379, -0.07592651, -0.200843, 0.07704469, -0.02736559, -0.054601975, -0.07240532, -0.03120134, -0.038438305, -0.12783389, -0.057655185, -0.009752765, 0.07110615, 0.033978693, -0.023724876, 0.11998657) * go_2(0.0, -1.0); - result += mat4(0.18834178, 0.23053586, -0.14430945, 0.32287082, -0.32185385, -0.15306619, -0.1573794, 0.005030648, 0.06912159, 0.009656687, -0.20743106, 0.03814172, 0.104378454, -0.07221508, -0.11348173, -0.019581677) * go_2(0.0, 0.0); - result += mat4(-0.017694198, 0.028853144, 0.1263284, 0.1820403, -0.05317991, -0.057951134, -0.04575081, 0.05769411, -0.11807033, 0.06413361, 0.06063185, 0.19433405, 0.0032539407, 0.021501997, -0.14744627, -0.095206425) * go_2(0.0, 1.0); - result += mat4(-0.0463219, -0.13988416, 0.07200895, -0.13444373, -0.2447483, -0.024709478, -0.08591721, -0.09281996, -0.046719797, -0.11321926, -0.061532497, -0.0044461554, -0.03174407, -0.0056026108, 0.0056006387, 0.08828445) * go_2(1.0, -1.0); - result += mat4(0.060374547, 0.062058832, -0.0390557, -0.047456663, -0.2227052, -0.03193117, -0.025358196, 0.08565629, 0.03657194, 0.13427348, -0.09266081, 0.23655434, 0.024580589, 0.01999063, -0.038653534, -0.023600115) * go_2(1.0, 0.0); - result += mat4(-0.0522313, 0.079263784, 0.10858985, -0.031472187, 0.072964184, -0.065342486, -0.03705779, 0.12809205, 0.09141905, 0.042783994, -0.028724866, -0.08221137, 0.13597457, 0.029334683, -0.12261823, -0.0052482346) * go_2(1.0, 1.0); - result += mat4(0.018523648, -0.21706165, -0.14580801, 0.038885653, -0.030849187, -0.06640324, 0.0011639405, 0.097421385, -0.10876752, 0.14631185, 0.014579094, 0.13907033, 0.1310694, -0.1287285, 0.03553917, 0.025316685) * go_3(-1.0, -1.0); - result += mat4(0.22148734, 0.01278849, -0.1596892, 0.17187239, -0.04219283, -0.064526156, 0.011610614, -0.0094766095, 0.028804665, 0.16347663, -0.09309108, 0.07097134, -0.014338763, 0.051742412, 0.059907336, -0.17768253) * go_3(-1.0, 0.0); - result += mat4(-0.06295463, -0.118564956, -0.016017804, 0.050398786, -0.07136999, 0.25657415, -0.035830878, -0.084443375, 0.12151532, -0.089734256, -0.064030536, 0.048108097, -0.01340212, -0.16572993, -0.093480445, 0.088874646) * go_3(-1.0, 1.0); - result += mat4(-0.059600584, -0.0052702287, 0.029479535, 0.20121074, -0.07113247, 0.1561413, 0.25110185, -0.060266465, -0.34369025, 0.14528714, 0.060928173, 0.008688357, 0.034280702, -0.004796254, 0.15269074, 0.056567237) * go_3(0.0, -1.0); - result += mat4(0.05273782, -0.10539872, -0.07192354, -0.083380386, 0.097994, -0.20134969, -0.5062206, 0.30952695, -0.041553877, -0.055801403, -0.037597038, -0.13394146, 0.027271803, 0.17738731, 0.3336375, -0.0035211574) * go_3(0.0, 0.0); - result += mat4(0.009962762, 0.11503034, 0.027571376, -0.018972939, 0.057955634, -0.039739445, -0.0676937, 0.09477686, 0.17910802, -0.28064108, -0.12184129, -0.028407406, 0.056930028, 0.024252843, 0.08959171, -0.027298026) * go_3(0.0, 1.0); - result += mat4(-0.010729545, -0.048747167, 0.03880723, -0.006755044, -0.011909068, 0.008659933, 0.0800407, -0.040333465, -0.25750905, 0.29087406, 0.04864783, 0.118413374, -0.03514928, -0.17206238, 0.2095635, 0.039926212) * go_3(1.0, -1.0); - result += mat4(0.0073815766, -0.030507097, 0.13367772, 0.04863103, -0.067190245, 0.039960794, -0.013012274, 0.15617093, -0.33983988, -0.05671963, 0.22061184, -0.03684452, 0.06304772, -0.08322253, 0.1117871, -0.2006011) * go_3(1.0, 0.0); - result += mat4(0.119437724, -0.009319272, -0.07218167, -0.20269917, 0.10248017, -0.009564983, -0.016272334, -0.042979773, 0.11264571, -0.15697405, 0.015802475, 0.11154868, -0.073011585, -0.07225136, 0.15061282, 0.027214698) * go_3(1.0, 1.0); - result += mat4(0.03921657, -0.0154446345, -0.01855873, -0.15813923, 0.11489257, -0.10245685, 0.090572976, -0.072605945, -0.069270656, 0.05171411, 0.045471992, -0.028802622, -0.19419885, 0.18310049, 0.06882923, -0.0005851153) * go_4(-1.0, -1.0); - result += mat4(0.04575681, -0.020910552, 0.051311508, -0.0004904971, 0.04239284, 0.024153773, 0.030940467, -0.107036866, -0.099398546, 0.30524835, 0.03902779, -0.05217122, 0.14969619, 0.084496036, -0.14226931, -0.07463564) * go_4(-1.0, 0.0); - result += mat4(0.05297294, 0.15384737, -0.0069473814, 0.055046722, 0.11697162, 0.2424236, 0.021053674, -0.004738062, 0.014129249, -0.2909751, -0.048418947, 0.014277387, 0.053296436, -0.12475984, 0.07531274, -0.022512587) * go_4(-1.0, 1.0); - result += mat4(-0.04752641, 0.0006545224, -0.00589135, -0.026285272, -0.043745905, 0.24044664, 0.027723765, -0.023630425, 0.00869218, 0.028710615, -0.013863237, 0.0809765, 0.06708566, 0.013517718, 0.0012386752, -0.022743834) * go_4(0.0, -1.0); - result += mat4(-0.12600644, 0.0116939265, 0.0491542, 0.06871389, -0.2096317, 0.050711762, -0.0455067, -0.11994795, -0.05030036, 0.20621927, 0.10951404, -0.05465143, 0.09614336, -0.22954291, 0.15239881, 0.04559428) * go_4(0.0, 0.0); - result += mat4(0.020940155, 0.16499193, 0.17525958, -0.051628407, -0.3068143, -0.14576466, 0.00672593, -0.1308778, 0.00072586804, -0.067010164, -0.093788825, 0.005219908, -0.020126363, -0.083521724, -0.0650657, 0.01836861) * go_4(0.0, 1.0); - result += mat4(0.072675996, 0.10010303, -0.1263988, -0.13888146, 0.13648619, 0.09535094, -0.0038582503, 0.10240531, -0.0014882578, -0.21053605, 0.16676606, -0.024605514, -0.06614438, 0.09575527, 0.116414934, -0.18538997) * go_4(1.0, -1.0); - result += mat4(-0.013467567, 0.11274834, 0.07675635, -0.054812886, -0.024862224, 0.044424616, -0.12858495, -0.120611496, -0.1295857, -0.029304063, -0.06629468, -0.22211547, 0.12577437, -0.015624684, -0.10307795, 0.09404936) * go_4(1.0, 0.0); - result += mat4(0.11430831, 0.11486887, -0.06219608, -0.018371167, 0.091516815, 0.0041821343, -0.043150745, -0.11775014, 0.07794832, -0.01944774, -0.031383686, 0.077408955, -0.124252975, 0.062118705, 0.009199536, 0.06538969) * go_4(1.0, 1.0); - result += mat4(0.22154011, -0.098727904, -0.08378975, -0.04167056, 0.019208338, -0.02245709, 0.13298267, -0.104098395, 0.053671844, 0.12845491, -0.003814564, 0.0665341, -0.07084713, 0.26803628, 0.09472736, 0.16825765) * go_5(-1.0, -1.0); - result += mat4(-0.21349828, -0.14917591, 0.12592548, -0.12721801, 0.086323306, -0.15409322, 0.07365807, 0.00620922, -0.0280901, 0.0957864, 0.10711525, 0.1165179, -0.08383744, 0.14757137, 0.024865197, -0.17536579) * go_5(-1.0, 0.0); - result += mat4(-0.044920437, -0.00016428503, 0.035227478, -0.026525848, -0.17628764, 0.044141084, 0.025941433, 0.18698089, 0.0069334265, 0.097304195, -0.08945912, -0.007168394, -0.054236215, -0.2604089, -0.14738831, -0.074961744) * go_5(-1.0, 1.0); - result += mat4(-0.043119818, -0.012245711, 0.030121213, -0.0032237277, -0.033457555, 0.052158665, 0.046546284, -0.0047129868, -0.08133807, 0.037123546, 0.08634659, 0.120436855, -0.02609943, 0.11368193, -0.06750012, 0.0007624448) * go_5(0.0, -1.0); - result += mat4(-0.20511842, 0.1999221, 0.099944666, -0.14691514, 0.012555328, -0.22190604, 0.12456348, 0.05391116, 0.031001683, -0.33920962, 0.13921735, 0.101068705, 0.28788915, 0.13809694, -0.10081831, -0.05679542) * go_5(0.0, 0.0); - result += mat4(-0.019705083, 0.08693377, 0.06884471, 0.032386675, 0.10256849, 0.22142375, 0.07398588, 0.03336761, 0.19134827, 0.12654771, -0.39008364, -0.29602188, -0.04149512, 0.018968705, 0.080247656, 0.0480814) * go_5(0.0, 1.0); - result += mat4(0.09539717, -0.10946926, -0.048939522, 0.030059233, -0.17243776, 0.021580435, 0.15642153, -0.10282692, -0.020257011, 0.060849674, 0.040640093, 0.05628088, -0.11358645, -0.16440971, 0.1787329, -0.02685428) * go_5(1.0, -1.0); - result += mat4(0.14034219, 0.21827984, -0.16170599, 0.03681219, -0.051667843, 0.019152328, 0.033406716, -0.025032328, 0.13413768, -0.09349573, 0.10037219, -0.0105256345, -0.17372406, -0.07619186, 0.068273135, 0.088958755) * go_5(1.0, 0.0); - result += mat4(-0.015460073, -0.04781314, -0.008159705, 0.117226824, -0.20293492, 0.019126927, 0.1074034, -0.10307512, 0.1356002, 0.108166546, -0.1275016, -0.023100886, -0.09334954, -0.14509954, 0.1668647, 0.13371155) * go_5(1.0, 1.0); - result += vec4(0.004647682, -0.04675001, -0.041206088, 0.07870823); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0116784945, -0.25090152, -0.17868316, 0.036498535, 0.015182224, 0.2023079, 0.011117134, 0.15237965, -0.015316299, 0.088544175, -0.06572522, -0.08057326, -0.22271864, -0.30610234, -0.12208543, -0.22944431) * go_0(-1.0, -1.0); - result += mat4(-0.11143165, -0.077543005, -0.061455075, -0.037597977, -0.0023224957, -0.10979736, -0.034990564, -0.008420816, -0.094636045, -0.030254573, -0.06455877, -0.020989688, 0.018324712, -0.3669934, -0.350233, 0.037510827) * go_0(-1.0, 0.0); - result += mat4(0.104956195, 0.015602951, -0.051957965, 0.13510315, 0.010418954, -0.054195777, 0.018231759, 0.045083612, 0.09856977, -0.10220956, -0.029939203, 0.01315078, -0.29208857, 0.0017958464, 0.08760539, -0.09646556) * go_0(-1.0, 1.0); - result += mat4(0.046938017, 0.08242743, 0.13486576, -0.087577604, 0.1157099, 0.101392664, 0.14847688, 0.037801757, 0.018798033, -0.25906846, 0.097656235, -0.009259822, 0.10044328, 0.33434513, -0.15681681, -0.07497045) * go_0(0.0, -1.0); - result += mat4(0.113606565, 0.15215175, 0.056206945, 0.03135906, -0.06457102, 0.028175417, -0.06261949, -0.015601963, -0.048961632, 0.07163545, 0.0147160115, 0.037389677, 0.092339285, 0.26372424, 0.1122662, -0.058904216) * go_0(0.0, 0.0); - result += mat4(-0.21457312, 0.1408831, -0.08713026, -0.06950515, 0.006483218, 0.028784987, -0.02613041, -0.06227427, 0.024932534, -0.02103815, 0.080908604, 0.078669965, 0.19956729, -0.035375793, -0.046653055, 0.07523847) * go_0(0.0, 1.0); - result += mat4(-0.11979529, -0.15300119, -0.06692378, 0.0982862, -0.05148871, -0.16330053, -0.045053672, 0.022939514, -0.013373179, 0.38319084, 0.11172139, -0.07044107, 0.09208871, -0.07254955, -0.03284103, 0.05421524) * go_0(1.0, -1.0); - result += mat4(-0.09024579, 0.022398917, -0.084611446, 0.1254619, -0.0028836168, -0.092541836, -0.06697658, -0.09709128, 0.10234711, -0.1247404, 0.031691026, 0.0087786, -0.09046125, 0.059536055, 0.2076767, 0.15046969) * go_0(1.0, 0.0); - result += mat4(-0.18603326, 0.0022851937, -0.10218833, 0.18102962, 0.030617537, -0.005931309, -0.06299933, -0.13356128, -0.03377612, -0.009710565, -0.10352098, -0.20960933, 0.10586698, 0.018833099, 0.16208176, -0.048466753) * go_0(1.0, 1.0); - result += mat4(-0.004165509, -0.112526424, -0.1481008, -0.09386717, 0.017359056, -0.16117403, 0.065114655, 0.15273894, 0.0850914, -0.6033039, -0.102531776, -0.09553129, 0.06812466, -0.17199127, 0.009345428, -0.117129266) * go_1(-1.0, -1.0); - result += mat4(0.19360402, -0.2172338, -0.025270093, 0.041762922, -0.06813442, -0.1315374, -0.03864256, -0.083543435, -0.14600715, -0.10248121, -0.039856248, 0.034162194, -0.06736031, 0.07872902, -0.06577812, -0.07003804) * go_1(-1.0, 0.0); - result += mat4(0.2596632, -0.06779467, -0.061247632, 0.09280383, 0.15697475, -0.06379218, 0.117600165, 0.19564915, -0.043823496, 0.2113048, 0.1236739, 0.05126704, 0.0036669953, 0.059754487, -0.031676155, 0.07585315) * go_1(-1.0, 1.0); - result += mat4(0.2750924, 0.07154958, -0.043717247, 0.11531165, 0.07236982, 0.112787254, 0.024018776, -0.0073595895, 0.037517104, -0.06963889, -0.13254988, -0.1347438, 0.08744426, 0.036659624, -0.010376286, -0.0011054546) * go_1(0.0, -1.0); - result += mat4(0.21909392, -0.15014122, -0.1724268, -0.11459151, 0.07886104, -0.039391857, -0.086656936, -0.18109863, 0.13549148, 0.24947289, -0.11073447, -0.012388639, -0.06299071, 0.094953805, -0.018513478, 0.11858225) * go_1(0.0, 0.0); - result += mat4(0.14019133, 0.289657, -0.13005698, 0.08418524, -0.15852125, 0.2049765, -0.18946235, -0.03330375, 0.057983503, 0.17226145, -0.16830897, -0.047264732, 0.027640691, -0.010081246, 0.14454436, 0.081710726) * go_1(0.0, 1.0); - result += mat4(0.1674246, 0.28778687, 0.19290589, 0.086525135, 0.09838388, 0.1437797, 0.18871532, -0.31380877, -0.13105413, -0.15920939, -0.049839422, 0.025027066, -0.042670842, -0.07288023, -0.03385935, 0.03853164) * go_1(1.0, -1.0); - result += mat4(0.26396382, -0.09383774, 0.10738164, 0.058519054, 0.01883401, 0.023963995, -0.09510717, 0.25038752, 0.004994643, 0.26613802, 0.11163109, -0.09746982, -0.08012294, 0.092731714, 0.024274494, 0.040725235) * go_1(1.0, 0.0); - result += mat4(0.024282128, 0.07086445, 0.04124535, -0.04565769, -0.043728314, -0.15438943, 0.06610379, 0.07666126, -0.046235953, 0.04901646, -0.045347054, -0.0908177, 0.03715751, -0.09512116, 0.024934331, 0.019330366) * go_1(1.0, 1.0); - result += mat4(-0.0610446, -0.00039494174, 0.11040924, 0.09711379, -0.033694427, 0.042628422, 0.04497454, -0.08639888, -0.006714255, -0.1956921, -0.07696048, -0.1440855, -0.036684107, 0.08872227, -0.014518533, -0.081829615) * go_2(-1.0, -1.0); - result += mat4(0.03242377, 0.2742694, 0.15646815, 0.12491848, -0.097658925, 0.04652564, -0.20971832, -0.22238888, -0.045453016, -0.10306553, -0.14868681, -0.03697577, 0.037367497, 0.106009305, 0.0006840817, -0.06331295) * go_2(-1.0, 0.0); - result += mat4(-0.09252423, -0.260707, 0.060529877, 0.1422387, 0.13040084, 0.060533516, -0.15988415, 0.093058884, -0.063219644, 0.16596133, -0.0858158, 0.0010563346, -0.05912638, -0.14902595, -0.0055698613, -0.19287406) * go_2(-1.0, 1.0); - result += mat4(0.050616026, 0.027293183, 0.1349355, 0.06430556, -0.0017233352, 0.05913591, 0.111860454, 0.05829484, -0.036098555, 0.065207146, -0.049812254, -0.14549483, -0.12424656, 0.1472102, 0.031858474, 0.017159335) * go_2(0.0, -1.0); - result += mat4(0.018377563, 0.13093959, 0.15379103, 0.12314944, 0.040771928, -0.066829674, -0.05734121, 0.105038896, 0.29102528, -0.015173645, -0.004220056, -0.13141808, -0.20211789, 0.16278313, 0.09339586, -0.06485214) * go_2(0.0, 0.0); - result += mat4(-0.000521399, -0.3693901, 0.17483166, 0.16742888, -0.06343791, 0.042411476, 0.13772172, 0.064281724, -0.034507953, 0.03691756, 0.13490774, 0.10946845, 0.12370677, -0.03205938, -0.02645649, -0.15375873) * go_2(0.0, 1.0); - result += mat4(0.023370143, 0.11848177, 0.005112462, 0.026092546, 0.034971926, -0.08103188, -0.20400497, 0.06226299, -0.060475063, 0.035214186, -0.13627078, 0.045491677, -0.07321337, -0.10956125, 0.056908336, -0.0032308386) * go_2(1.0, -1.0); - result += mat4(0.076967224, 0.117254384, 0.03186256, 0.2218116, 0.05217254, -0.13943173, 0.058474854, 0.13177274, -0.019476373, 0.14138101, -0.012791203, 0.12705484, -0.013589421, -0.10622012, -0.0021916716, 0.015177393) * go_2(1.0, 0.0); - result += mat4(-0.061352234, -0.032728117, -0.16315818, 0.08222588, 0.013996033, 0.057500184, -0.11674498, -0.10170402, -0.03012877, -0.14447689, 0.032117244, 0.11841102, -0.0070680035, -0.15353645, 0.14097273, -0.12609388) * go_2(1.0, 1.0); - result += mat4(-0.1366668, 0.022588843, -0.06960645, -0.019482136, 0.008831277, 0.005849642, -0.042811397, -0.10104664, -0.21647254, -0.055100426, 0.10582604, 0.091224626, 0.16348936, -0.04480947, -0.08394584, 0.14027816) * go_3(-1.0, -1.0); - result += mat4(-0.05215042, -0.22153285, -0.07402603, -0.1395589, -0.26351386, 0.060670085, 0.12676051, 0.0018233472, 0.09564221, -0.14353068, 0.23205271, -0.026433198, -0.04914892, 0.09260728, 0.016136972, -0.037016835) * go_3(-1.0, 0.0); - result += mat4(-0.09228144, 0.028619789, -0.011197684, 0.043782573, 0.061469227, 0.019487167, 0.046048775, -0.060745444, -0.24178508, -0.11117579, 0.1313642, -0.20273723, 0.081280276, -0.015113924, -0.008701512, 0.038079187) * go_3(-1.0, 1.0); - result += mat4(-0.092076614, -0.14906341, -0.013150191, -0.1445046, 0.023577487, -0.088496424, -0.03039066, -0.028063597, 0.033408202, 0.105900854, -0.098281376, 0.09988187, -0.04934366, 0.1647861, 0.15974896, 0.0484809) * go_3(0.0, -1.0); - result += mat4(0.043313354, -0.079856, -0.29574707, -0.23970212, -0.23463657, -0.061711017, -0.12481534, 0.21037807, -0.010700073, 0.14672308, 0.15071099, -0.03755617, 0.072450034, 0.083081506, -0.001196162, -0.055120632) * go_3(0.0, 0.0); - result += mat4(0.20737736, 0.008907195, -0.11623631, -0.038137514, 0.037122898, -0.10322798, -0.065684326, -0.010471773, -0.12765402, -0.117699586, -0.012870391, 0.071912766, -0.03260932, 0.12864828, -0.035069928, -0.08712889) * go_3(0.0, 1.0); - result += mat4(-0.05578123, 0.056912176, 0.01512389, -0.14807466, -0.012101421, 0.10860546, 0.034598228, 0.07160875, 0.15761101, -0.4777804, -0.24159615, -0.006523453, -0.28167522, -0.14714232, -0.1693888, -0.111417554) * go_3(1.0, -1.0); - result += mat4(0.25981572, 0.1301148, -0.01769167, -0.10818973, 0.16135831, 0.024396034, -0.06722463, -0.032221332, -0.12383674, 0.038760092, 0.052030306, 0.077312715, -0.007761604, -0.12031171, 0.018808518, -0.103885494) * go_3(1.0, 0.0); - result += mat4(0.048577465, 0.025990447, -0.07106119, 0.15832591, 0.019197416, 0.044232063, -0.030652093, 0.011447957, 0.18041368, -0.28076535, 0.022676598, -0.15350787, -0.1514482, -0.2362105, 0.14161605, 0.030001758) * go_3(1.0, 1.0); - result += mat4(0.2541123, 0.050012548, 0.1707829, 0.025630053, 0.078972176, 0.17645672, -0.020095231, 0.03378738, -0.1328695, 0.04409738, -0.23381121, -0.013347802, -0.049448222, 0.07035769, 0.105488785, 0.08659344) * go_4(-1.0, -1.0); - result += mat4(0.10455444, 0.28242826, 0.16516706, -0.046555575, 0.13230863, 0.07463435, -0.14748469, 0.11881527, 0.2279376, 0.14795774, 0.21520549, -0.05650647, 0.11728158, 0.048864357, 0.040869843, 0.1442246) * go_4(-1.0, 0.0); - result += mat4(0.21203394, -0.06565692, 0.03824069, 0.011281014, -0.033808656, 0.12499576, -0.13186213, -0.043884885, 0.017813649, 0.18413112, 0.046354674, -0.05213395, -0.051737677, -0.07141214, 0.03402196, -0.06220277) * go_4(-1.0, 1.0); - result += mat4(0.05735565, -0.12864622, 0.051514987, 0.03940558, -0.08701596, -0.1948226, 0.034218855, -0.03742723, 0.15607446, 0.0327541, 0.04040029, 0.0028771486, -0.08412264, -0.016660625, -0.058885157, 0.09373861) * go_4(0.0, -1.0); - result += mat4(0.069591254, 0.018901952, 0.008289076, 0.08653302, -0.009072406, -0.11095817, 0.20987292, 0.016384758, 0.05693833, -0.118542574, 0.11310585, 0.073924355, 0.10250452, -0.043420166, -0.07558694, -0.10898524) * go_4(0.0, 0.0); - result += mat4(-0.030319573, -0.3339516, -0.0689396, 0.01270701, 0.2504168, -0.08088952, 0.048351087, 0.013527536, -0.04373888, -0.27049688, 0.052563794, 0.010002367, 0.038096514, 0.0740455, -0.17847466, -0.1106183) * go_4(0.0, 1.0); - result += mat4(-0.041473575, 0.036192052, -0.20958827, 0.09255741, 0.043088675, -0.07332803, -0.1566315, 0.19757885, 0.04752265, 0.14642613, 0.021630943, -0.105035484, 0.015669389, 0.015701298, 0.124771506, 0.028875854) * go_4(1.0, -1.0); - result += mat4(-0.0017878636, 0.06815434, 0.03952396, 0.0008930589, 0.10052908, -0.010179957, 0.090537265, 0.26063922, -0.027913721, -0.27610707, -0.0935186, 0.103001356, -0.013015698, -0.13290603, -0.036786307, -0.120041944) * go_4(1.0, 0.0); - result += mat4(0.008112194, 0.101246096, 0.10216113, 0.012162128, 0.16638301, 0.03442679, -0.013482703, 0.22639573, -0.106342115, 0.16007386, 0.1562559, 0.031520694, -0.04781568, 0.061812893, 0.063238494, -0.112484284) * go_4(1.0, 1.0); - result += mat4(-0.07636386, 0.02620731, -0.04784259, -0.0068134456, -0.098476306, -0.25026417, -0.26229498, 0.07999187, 0.08054805, -0.13999973, 0.038135037, -0.017274393, -0.07507948, -0.19170132, -0.111937724, -0.07482982) * go_5(-1.0, -1.0); - result += mat4(-0.102867655, 0.041831665, -0.26580745, 0.072875075, 0.122495115, -0.24738726, 0.01103763, 0.010455935, 0.10415628, 0.071636476, 0.24413374, 0.036024485, -0.14325532, -0.028743692, 0.09872556, 0.019074876) * go_5(-1.0, 0.0); - result += mat4(-0.08356808, 0.031134086, -0.0018714333, 0.052166995, -0.050258227, 0.015659487, -0.010771479, -0.094513185, 0.120308846, -0.16520835, 0.24742663, 0.0097768335, -0.26430902, 0.00096495246, -0.010277926, -0.03203841) * go_5(-1.0, 1.0); - result += mat4(-0.08886612, 0.045868922, -0.23351108, -0.11945227, -0.08114231, 0.1866038, -0.014666174, 0.10560594, 0.23003237, -0.031111564, 0.08909732, -0.004926665, 0.14808343, 0.012070922, 0.26077467, -0.13846008) * go_5(0.0, -1.0); - result += mat4(0.02067818, 0.010505095, 0.1236986, 0.004310499, -0.23058774, 0.4539795, -0.1107521, 0.2687594, -0.088774115, 0.08556259, -0.28480148, 0.16472621, 0.22381066, 0.04922506, 0.03720699, -0.019955777) * go_5(0.0, 0.0); - result += mat4(0.02878623, 0.08478639, 0.2798358, 0.08889886, 0.094446555, 0.022878725, 0.04060367, 0.008747965, 0.074154414, -0.36745515, -0.22710432, -0.17041051, 0.16977836, 0.18033457, -0.1422643, -0.06097858) * go_5(0.0, 1.0); - result += mat4(-0.1882957, 0.07039768, 0.012633585, 0.0782871, 0.03383675, -0.07504364, -0.006248557, -0.0551174, 0.075581536, 0.091343425, 0.07753647, -0.0019186279, -0.016886314, 0.16758795, -0.060557626, -0.16569303) * go_5(1.0, -1.0); - result += mat4(-0.13320294, -0.055567943, 0.05735829, 0.12787667, 0.04922832, -0.012577599, -0.13878204, -0.014323274, 0.06648109, -0.026210563, 0.019616883, -0.27789673, 0.051355522, -0.13060455, 0.039109703, 0.036932684) * go_5(1.0, 0.0); - result += mat4(-0.10139845, -0.22758122, 0.044597298, 0.07907936, -0.025654264, -0.10633203, 0.04071873, 0.22363085, 0.12398309, 0.36964926, 0.21903247, -0.3217227, 0.030226095, 0.07867376, 0.045920413, 0.102684624) * go_5(1.0, 1.0); - result += vec4(-0.06939391, 0.017302405, 0.023963664, -0.011060264); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf2 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12172707, 0.08510432, 0.016999101, -0.03837886, -0.071940385, -0.028869554, -0.073142946, -0.018426571, -0.16583674, 0.02999741, -0.045404267, 0.07544135, -0.015742308, 0.051709145, 0.07165505, 0.15298915) * go_0(-1.0, -1.0); - result += mat4(-0.18608806, -0.08503095, -0.05690552, 0.20230335, 0.03255425, -0.07374758, 0.02050966, -0.0322938, 0.029025763, 0.045261286, 0.040862788, 0.0007141505, -0.040648397, -0.09871272, 0.06639088, -0.10357326) * go_0(-1.0, 0.0); - result += mat4(0.1160622, -0.021342635, -0.039825406, -0.19480887, 0.13462403, -0.06567422, 0.04279539, -0.012501501, -0.06882412, 0.24730788, -0.11261373, 0.15826169, -0.1942516, -0.011018759, -0.006282914, 0.15791936) * go_0(-1.0, 1.0); - result += mat4(-0.24771467, -0.029817501, -0.0072410326, 0.0049591805, 0.002406374, 0.06705227, 0.0746882, -0.021962378, 0.02235974, -0.09111428, 0.046035543, -0.05091351, 0.12882613, -0.0052345973, 0.20476472, -0.035007346) * go_0(0.0, -1.0); - result += mat4(0.07206948, 0.007837054, 0.004716684, 0.032783184, -0.1640229, 0.09656901, -0.024538686, -0.13850725, 0.0020381159, -0.119971916, -0.03598378, 0.098396435, 0.11248338, 0.013638009, -0.13411912, -0.091735974) * go_0(0.0, 0.0); - result += mat4(0.012680958, 0.0073848446, -0.15104567, -0.086190425, 0.017306415, -0.12165865, -0.030102974, -0.06412363, -0.048320986, 0.066044435, -0.037102707, -0.05550032, -0.022057295, -0.016380537, -0.023064991, 0.04324733) * go_0(0.0, 1.0); - result += mat4(0.014645644, 0.029250145, -0.19020447, 0.06094981, 0.06021305, 0.033002753, -0.08270684, -0.13078806, -0.078915745, 0.03234919, 0.0033177685, 0.025673114, -0.10040817, -0.11726593, 0.26478398, -0.021515043) * go_0(1.0, -1.0); - result += mat4(-0.03930199, -0.007856709, -0.010699159, -0.03138408, -0.25258276, -0.051078923, -0.17284779, 0.115362965, 0.20981595, -0.12642711, -0.07527823, -0.21674243, -0.05171349, -0.032929346, -0.11959963, 0.021577986) * go_0(1.0, 0.0); - result += mat4(-0.12679584, -0.00971076, -0.2065375, -0.10207124, 0.1189984, 0.13061368, 0.048184898, 0.009846873, 0.08049477, -0.052818604, 0.024915429, -0.089877605, 0.028596658, -0.049394336, 0.15412825, -0.25427133) * go_0(1.0, 1.0); - result += mat4(-0.042340282, 0.15739791, -0.0058195787, 0.11638454, -0.29605922, 0.04940588, -0.12277728, 0.06556332, -0.15141304, -0.007342225, -0.015176599, 0.19668026, -0.029852653, 0.1131092, 0.06274694, 0.19488528) * go_1(-1.0, -1.0); - result += mat4(0.17317021, 0.12034029, 0.023154281, -0.035767153, 0.023895182, 0.08562897, 0.010849429, 0.15511833, -0.071655706, 0.06762927, 0.110938646, -0.11194944, 0.088547744, 0.01826857, 0.10635028, 0.00079735904) * go_1(-1.0, 0.0); - result += mat4(0.1724684, 0.072277844, -0.07157608, 0.014533819, 0.21083286, -0.10260293, -0.042641845, -0.022131564, 0.15609416, -0.012785209, 0.1689822, 0.08156936, -0.05814626, 0.12873544, 0.013016528, 0.07162671) * go_1(-1.0, 1.0); - result += mat4(0.10265145, -0.15034834, -0.020390334, 0.051008113, 0.13483785, -0.036995072, 0.10197256, 0.07332627, 0.24034818, 0.041877862, 0.101294585, -0.038894523, -0.036132984, -0.09265928, -0.056219723, -0.02888855) * go_1(0.0, -1.0); - result += mat4(0.2652024, -0.01230703, 0.23594856, 0.0742723, 0.09739247, 0.0483161, 0.023852533, 0.17482124, -0.09551598, 0.07907358, 0.09280555, 0.27893403, -0.016893778, -0.15504459, 0.07111864, 0.17860727) * go_1(0.0, 0.0); - result += mat4(0.009993413, -0.034769267, 0.06733924, -0.026964549, 0.30227652, 0.0139632225, 0.049200308, -0.07578955, 0.061411507, 0.1924837, -0.008919774, -0.02543576, 0.08537961, 0.01291466, 0.07587885, -0.19892685) * go_1(0.0, 1.0); - result += mat4(0.079757795, -0.021056721, -0.119849935, -0.1829519, 0.25801504, 0.08255822, 0.09422877, -0.26859275, -0.17237917, 0.030880162, -0.073090166, 0.045552216, -0.15178613, 0.046667624, 0.05506945, 0.120318785) * go_1(1.0, -1.0); - result += mat4(0.13899504, 0.2106589, 0.09166694, -0.06926149, 0.13418478, 0.017007234, 0.027100448, -0.062565625, -0.021934774, 0.067251615, -0.10328445, 0.033577222, -0.050557505, -0.035202354, -0.062489368, -0.02470738) * go_1(1.0, 0.0); - result += mat4(0.15340589, 0.11806747, 0.20874004, 0.048173226, -0.05472843, 0.084544346, -0.043854542, -0.07571899, 0.036645986, 0.05016359, -0.074323095, -0.2529282, 0.13572234, -0.008771343, 0.11274458, 0.18037859) * go_1(1.0, 1.0); - result += mat4(0.021645557, 0.08299124, -0.051362146, 0.09342637, 0.0665058, 0.09216755, -0.0164684, 0.07281118, -0.0053016874, 0.032470454, 0.004089323, 0.009884544, -0.0046753073, -0.037279285, 0.12613527, 0.022236153) * go_2(-1.0, -1.0); - result += mat4(-0.06745298, -0.15038055, 0.11176774, -0.06209666, 0.017843692, 0.09113945, 0.10990877, -0.021071523, -0.111020654, 0.066645324, 0.04690986, -0.011084726, -0.15171939, 0.084783286, 0.24798997, -0.042696327) * go_2(-1.0, 0.0); - result += mat4(-0.05915715, -0.22595185, 0.061333664, -0.0924661, -0.013238295, 0.12872066, 0.076126665, 0.18921073, 0.01155994, 0.092524104, 0.07423282, 0.09467482, 0.070056126, -0.06073076, 0.030242696, -7.544676e-05) * go_2(-1.0, 1.0); - result += mat4(0.110107556, 0.0036358358, -0.013859793, 0.008409858, -0.021337144, -0.2092404, 0.054274913, 0.013595842, 0.058993395, 0.029181428, 0.15061715, -0.046964824, 0.044353873, -0.036482453, 0.22763032, -0.018364066) * go_2(0.0, -1.0); - result += mat4(0.20778932, -0.049483854, 0.24778971, -0.3266631, -0.11545233, -0.093305275, -0.4550674, 0.2352049, 0.0052719507, -0.045975342, -0.35826904, -0.058102172, -0.096291795, -0.11218896, 0.23879842, -0.03641578) * go_2(0.0, 0.0); - result += mat4(-0.109331824, 0.00814177, -0.08803353, 0.06688425, -0.09283131, 0.031705324, 0.040918272, 0.18237656, -0.07152109, 0.12277652, -0.059865803, -0.06869673, 0.11195339, -0.1325457, 0.1912906, -0.08553347) * go_2(0.0, 1.0); - result += mat4(-0.10984097, 0.15747224, -0.019459615, 0.24969575, -0.01159421, -0.027474519, -0.004108195, -0.062133413, -0.06384389, -0.08368246, 0.0023778875, 0.13171864, -0.05652675, 0.14332311, -0.15735596, 0.20150533) * go_2(1.0, -1.0); - result += mat4(0.078031205, -0.12403856, 0.04191835, -0.16050112, 0.11339027, 0.074540265, -0.15324953, -0.093895815, -0.0614043, -0.013293006, -0.12348063, 0.026803058, -0.1773178, -0.083579265, -0.054864556, 0.296814) * go_2(1.0, 0.0); - result += mat4(-0.053263642, -0.048648115, -0.010281689, 0.20099847, 0.190146, -0.0023872026, -0.010445226, -0.04350378, -0.017980015, -0.04147092, -0.08261166, -0.031094978, -0.046422567, 0.120881446, -0.054973155, -0.058380593) * go_2(1.0, 1.0); - result += mat4(-0.16745642, 0.07924586, -0.16717474, 0.06620602, 0.16495655, 0.0293633, 0.07890249, -0.30954084, 0.03467237, -0.20190205, 0.0014116743, -0.32280523, -0.14156029, -0.06447037, -0.21021147, 0.0687274) * go_3(-1.0, -1.0); - result += mat4(-0.04360317, 0.14327015, -0.06630513, -0.09011326, -0.0919624, -0.09085504, 0.024597472, 0.23315085, 0.039139662, -0.17370877, 0.048785537, -0.10094988, 0.010336257, -0.016844554, -0.05375775, -0.041789643) * go_3(-1.0, 0.0); - result += mat4(-0.04296336, -0.093379766, 0.005651271, -0.090673715, 0.021506978, -0.08289978, 0.16281237, -0.0939677, -0.10273288, -0.22043118, 0.062697254, -0.027947478, -0.08711271, 0.0077892793, -0.10296665, 0.049631704) * go_3(-1.0, 1.0); - result += mat4(-0.09388834, -0.02609863, -0.043841925, -0.020223266, -0.023729876, 0.07854283, -0.19361661, -0.02297985, -0.003995974, 0.03295993, -0.07480908, -0.03279157, 0.20216386, -0.06685853, -0.22405225, -0.22138701) * go_3(0.0, -1.0); - result += mat4(-0.041702025, 0.03686083, 0.051558632, 0.08093031, 0.0004725686, 0.0050831046, -0.31346506, 0.24020754, -0.012426937, 0.24121699, 0.0522848, 0.0524269, 0.0041041574, 0.20183508, 0.30658904, -0.099001035) * go_3(0.0, 0.0); - result += mat4(0.0057143304, 0.07863334, 0.030834159, -0.20045337, -0.14132334, -0.019685036, -0.041891463, 0.04859716, -0.19865768, -0.16805026, -0.21894583, 0.08326542, 0.1381732, 0.06524222, 0.14627486, 0.105718866) * go_3(0.0, 1.0); - result += mat4(-0.06811638, -0.07022535, -0.08053529, -0.019539276, -0.0013508294, -0.067808755, 0.14990425, -0.020371182, 0.2161962, 0.012578056, -0.07941276, -0.29615018, -0.11092915, 0.10959083, -0.38344857, -0.04684961) * go_3(1.0, -1.0); - result += mat4(0.05912716, -0.007058617, 0.0053731226, -0.20157285, -0.0039983774, 0.1626744, -0.15158534, -0.0880334, -0.095339596, -0.102986366, 0.16870484, 0.37301186, 0.046958193, -0.018308617, 0.2801249, -0.1583765) * go_3(1.0, 0.0); - result += mat4(0.03710428, 0.12427524, -0.15491271, 0.0521613, -0.104145944, -0.11358381, -0.11450005, -0.03948202, -0.022532975, 0.013648349, -0.05297846, -0.05551, 0.012648896, 0.013729304, 0.004389595, 0.033111174) * go_3(1.0, 1.0); - result += mat4(0.092548154, 0.12822087, 0.03935411, -0.03887123, 0.18817197, -0.010538254, -0.13670439, -0.073919185, 0.020497803, 0.030874884, 0.023953672, 0.0029225757, 0.1144403, -0.08691024, 0.05340699, -0.10702303) * go_4(-1.0, -1.0); - result += mat4(0.1613281, 0.05971506, 0.042405322, 0.005931725, -0.09373433, -0.06380234, -0.064201795, -0.014180793, 0.0671638, -0.01367733, 0.14260428, -0.11077721, -0.045686133, 0.056600757, -0.15297161, -0.005997308) * go_4(-1.0, 0.0); - result += mat4(0.24641256, 0.06483951, 0.060505014, -0.009762036, -0.04572455, 0.03593092, 0.03415938, -0.14721255, -0.107680336, 0.09697482, 0.016876915, 0.18656448, 0.016999245, -0.08490942, -0.040251363, -0.074220374) * go_4(-1.0, 1.0); - result += mat4(0.25207043, 0.11133333, 0.13421617, -0.10310646, -0.22712758, 0.11617119, 0.06397493, -0.011858522, -0.115762815, -0.050787542, 0.06386407, -0.1579078, -0.12903711, 0.084837236, 0.07354705, 0.02250288) * go_4(0.0, -1.0); - result += mat4(0.14158289, 0.07666087, -0.20075443, -0.010602763, -0.02820616, 0.0944957, 0.15453936, -0.15856305, 0.1749605, -0.12841891, -0.017792901, -0.10751241, -0.059640024, 0.13478336, -0.35048804, -0.20975049) * go_4(0.0, 0.0); - result += mat4(0.18300997, 0.0895379, 0.084789746, 0.092567876, -0.16524926, 0.1414963, -0.15058212, 0.13400394, -0.113864176, -0.05660036, -0.0001961134, 0.14347304, 0.16637255, -0.18054125, 0.009827294, 0.21254125) * go_4(0.0, 1.0); - result += mat4(0.11330536, 0.020117162, 0.049111363, 0.059246156, -0.17288256, -0.07703511, -0.064532675, 0.10420442, 0.100950584, -0.11876045, 0.013643637, -0.060119864, 0.16402918, -0.0701684, 0.10797075, 0.15408994) * go_4(1.0, -1.0); - result += mat4(0.034557853, -0.09076456, -0.06957025, 0.11215256, 0.09526117, -0.0033204784, -0.11551807, -0.03458551, -0.025462642, 0.0434891, 0.3050603, 0.053797644, 0.10751034, 0.060085565, 0.15370789, -0.2315563) * go_4(1.0, 0.0); - result += mat4(-0.046833776, -0.006102459, 0.1123578, 0.24187551, 0.03283197, -0.11041104, 0.20806998, 0.008368949, -0.1924367, 0.03361783, -0.045319956, -0.08859883, -0.2011492, 0.0912345, 0.048245467, -0.005335901) * go_4(1.0, 1.0); - result += mat4(-0.18253306, -0.0011128648, -0.044692483, -0.057080504, -0.05725425, -0.19065356, -0.03155062, 0.06648306, -0.014216424, -0.0038765708, -0.017490484, -0.15456702, -0.010514629, -0.08982491, 0.10435141, 0.030280044) * go_5(-1.0, -1.0); - result += mat4(0.01791952, 0.1946834, 0.16822097, 0.18846266, -0.075084575, -0.10975577, -0.12906383, 0.20190994, 0.10143081, -0.2725471, -0.035883784, -0.22165625, -0.15959083, -0.34200552, 0.15872408, -0.021841785) * go_5(-1.0, 0.0); - result += mat4(0.029525736, 0.04896955, -0.011629367, 0.011558814, 0.00933636, -0.12728998, 0.0053133606, 0.019774856, 0.099030845, -0.27376446, -0.08325353, -0.20274483, -0.26426545, -0.17067485, -0.14366214, -0.21118636) * go_5(-1.0, 1.0); - result += mat4(-0.009527981, -0.033085525, -0.00047734487, -0.040472545, 0.071459636, 0.0954099, -0.060635693, 0.036283012, 0.1324083, 0.050335824, -0.2460094, -0.04979816, -0.09456389, 0.09053007, 0.11540641, -0.21168198) * go_5(0.0, -1.0); - result += mat4(0.004067291, 0.1497142, 0.100381024, 0.083456755, 0.10807039, -0.05651095, 0.021606952, -0.005951023, -0.067543074, 0.21499002, -0.021271145, 0.20417792, 0.05860774, 0.20977509, -0.10931411, 0.16582364) * go_5(0.0, 0.0); - result += mat4(-0.05491801, 0.0055349297, 0.03950427, 0.007250093, -0.062947564, -0.14126986, -0.06730335, -0.034683496, -0.03981397, -0.21181524, 0.21769942, -0.103150204, -0.17016284, 0.048786215, -0.014319224, 0.17676318) * go_5(0.0, 1.0); - result += mat4(-0.14126709, -0.032334052, 0.05638739, 0.11381126, 0.30596843, -0.12634167, 0.23541147, 0.08096712, 0.09152563, 0.18567194, -0.25563926, -0.21220013, -0.10782045, -0.044764172, 0.14415121, 0.10968688) * go_5(1.0, -1.0); - result += mat4(-0.034708634, -0.037528913, -0.0846457, -0.24652602, -0.09284069, -0.103932016, 0.09996971, 0.04605858, 0.06597961, 0.06697364, -0.028432503, -0.032057744, 0.052634656, 0.02281619, 0.17896608, -0.1521084) * go_5(1.0, 0.0); - result += mat4(-0.0043455027, -0.07276675, 0.03043292, 0.07712516, -0.20799218, -0.25933886, -0.11458076, -0.0025673904, 0.08385744, 0.33315855, -0.035151098, -0.19899674, -0.005009251, 0.056176793, 0.045722242, 0.17721124) * go_5(1.0, 1.0); - result += vec4(-0.020202361, -0.0016936217, 0.023388062, 0.10373034); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2582688, 0.116867825, 0.009512264, -0.0022509228, 0.13270317, 0.019233711, 0.014508687, 0.01733284, -0.121534936, 0.2637504, -0.16833198, 0.08360115, 0.09262769, -0.09723933, -0.08402722, -0.06326682) * go_0(-1.0, -1.0); - result += mat4(0.32656944, 0.035490595, 0.014057071, 0.08615446, -0.001598092, 0.16362181, -0.10130158, 0.16792357, 0.03340437, 0.037359558, 0.09397945, 0.11016778, 0.08567979, 0.31809476, 0.085573055, -0.15427281) * go_0(-1.0, 0.0); - result += mat4(0.16257697, -0.03590016, -0.19049743, -0.13342945, 0.013655946, -0.11739747, -0.008941973, 0.015134444, -0.17258401, 0.17935902, 0.06434015, -0.06638789, 0.17013264, -0.171608, 0.07526482, 0.29814368) * go_0(-1.0, 1.0); - result += mat4(-0.14037174, -0.060715932, 0.012513121, 0.05294183, -0.05479372, -0.13937469, 0.01836811, -0.133735, -0.29546124, -0.14349708, 0.14202882, -0.03247825, -0.054209106, 0.002391278, -0.024334526, -0.10866433) * go_0(0.0, -1.0); - result += mat4(-0.098666176, 0.009357217, 0.14404769, -0.03864725, -0.21861532, 0.24275939, 0.3084927, -0.17814654, -0.06785066, -0.20976599, -0.010328756, -0.0075252843, -0.1265569, -0.3896638, -0.07620251, -0.17581807) * go_0(0.0, 0.0); - result += mat4(-0.028447198, 0.088148355, -0.11362386, 0.032440383, -0.017401151, 0.2062452, -0.1613577, -0.07957526, 0.31136703, -0.06775296, -0.019393584, -0.063142054, -0.12292114, 0.010548703, 0.03203177, -0.053964596) * go_0(0.0, 1.0); - result += mat4(0.108504035, -0.20656614, -0.04412517, -0.047383796, 0.038306333, -0.20189808, -0.07821153, -0.0229348, 0.10628414, -0.015934726, -0.08728048, -0.17359804, 0.17790003, 0.085666224, -0.11872538, -0.007298351) * go_0(1.0, -1.0); - result += mat4(0.024346102, -0.0066076764, -0.011155871, -0.057157155, -0.04878886, 0.121565156, 0.094774745, -0.021847744, 0.04866778, 0.07184023, 0.26012063, -0.07480458, -0.29240155, 0.12562081, 0.01449463, -0.028680477) * go_0(1.0, 0.0); - result += mat4(-0.12557116, 0.034923933, -0.095903516, -0.03958003, 0.26028237, -0.017168928, -0.13332075, 0.15662631, 0.065815985, -0.035664845, 0.045483954, -0.015463682, -0.093050554, 0.17345443, 0.069853716, 0.012629484) * go_0(1.0, 1.0); - result += mat4(-0.06156731, 0.07782055, -0.10174533, -0.020296015, -0.11969389, -0.060097698, 0.13305716, 0.16102178, 0.024139002, -0.02605331, -0.07594407, 0.19671421, -0.12202574, 0.14988048, 0.015957702, -0.04196926) * go_1(-1.0, -1.0); - result += mat4(-0.34706548, 0.043015823, 0.13185433, 0.10132207, 0.007556987, -0.043371882, -0.08854469, 0.1748955, -0.1481482, 0.031284038, 0.120617144, 0.21384451, -0.08435913, -0.049537454, 0.049118094, 0.01525446) * go_1(-1.0, 0.0); - result += mat4(0.09368386, -0.057292625, -0.17107973, 0.102038346, -0.21283975, 0.29275435, -0.039638165, -0.14761256, -0.0026279686, -0.1902631, -0.14120182, 0.26573882, 0.0017522989, -0.06337007, 0.14134108, -0.015992256) * go_1(-1.0, 1.0); - result += mat4(0.04090445, -0.15472308, 0.0086197965, -0.08812333, 0.079468906, -0.16199878, 0.15031399, -0.03220131, -0.08283918, 0.18892156, -0.11201425, 0.143803, 0.027449837, -0.15672483, -0.09222757, -0.0074415365) * go_1(0.0, -1.0); - result += mat4(0.10325783, 0.01752857, 0.10529392, -0.04568797, 0.017125184, -0.18414256, 0.109236374, -0.05950773, -0.07963555, 0.22193272, 0.009846993, -0.028046092, -0.28534588, -0.040712982, -0.018419487, 0.040993705) * go_1(0.0, 0.0); - result += mat4(-0.07601499, 0.14913873, -0.11738921, -0.21686155, -0.09468833, -0.10593258, -0.13899745, -0.08376532, -0.21147677, 0.0016611695, -0.12994987, 0.06078483, 0.007183634, 0.22829083, 0.054238643, 0.025317933) * go_1(0.0, 1.0); - result += mat4(-0.020357948, -0.06775977, 0.04134854, -0.19611607, 0.21193837, 0.19103523, 0.1623303, -0.07516307, 0.09373488, -0.18499903, 0.122855246, 0.06162072, -0.06930552, 0.040520284, 0.066090606, 0.06882486) * go_1(1.0, -1.0); - result += mat4(0.07091698, 0.027023822, 0.014318926, -0.096747, 0.2213003, -0.26515988, 0.027153777, -0.06498218, -0.1544758, -0.072314575, 0.060353238, 0.0008735325, 0.10359162, -0.040275127, 0.03365087, 0.067658685) * go_1(1.0, 0.0); - result += mat4(-0.010807538, -0.032808676, 0.0016953531, -0.07662512, 0.0726062, -0.018007128, -0.10622275, -0.25853804, 0.059124377, 0.1262254, -0.093686275, 0.013412181, 0.17268743, -0.0634091, -0.2380408, 0.061805595) * go_1(1.0, 1.0); - result += mat4(0.0589103, -0.13791196, -0.054214116, -0.10432153, -0.009462091, -0.06466445, -0.10792851, 0.0046791825, 0.034062322, 0.0810174, 0.112342946, 0.14306374, 0.0536091, -0.056520145, -0.14358906, 0.1730281) * go_2(-1.0, -1.0); - result += mat4(0.102546036, -0.0005907261, 0.06815491, 0.054100085, 0.012063651, 0.13010375, 0.076584436, 0.10106609, 0.07464082, 0.12651648, -0.13567902, 0.12329812, 0.036417592, -0.030062713, -0.07439, -0.06734716) * go_2(-1.0, 0.0); - result += mat4(-0.06956145, -0.0320128, 0.0069283135, 0.0010382348, -0.15168677, -0.07246775, -0.1870489, 0.081376776, -0.12240719, 0.040261835, -0.114711486, 0.11216043, 0.039739948, 0.064421944, -0.11448801, -0.11656052) * go_2(-1.0, 1.0); - result += mat4(-0.029262811, 0.07973898, 0.014937532, 0.17416446, -0.13320738, 0.09951435, -0.09681337, 0.24465284, 0.0027678797, 0.054772142, 0.11334623, -0.062660255, 0.06494805, -0.014957246, -0.016339006, 0.0065059843) * go_2(0.0, -1.0); - result += mat4(-0.19118161, 0.24356417, -0.17327957, 0.06050448, -0.097790115, -0.38453653, 0.045624297, 0.04574299, -0.15803054, -0.5270604, -0.04556698, -0.13112716, -0.026057608, 0.13840397, -0.04413626, -0.06273916) * go_2(0.0, 0.0); - result += mat4(0.029510414, -0.005691187, 0.05228498, 0.028585492, 0.18082422, -0.032805815, 0.007563971, 0.08991763, 0.105824, 0.02457178, 0.055056915, -0.060770642, -0.011407322, -0.11525285, -0.04518266, -0.04449915) * go_2(0.0, 1.0); - result += mat4(0.14025277, -0.18081227, 0.014395497, -0.09138814, -0.09448127, 0.2532618, 0.08094696, 0.050620202, 0.040627994, 0.17808948, 0.0933771, -0.04734779, -0.025526097, 0.0038422223, 0.05230542, -0.101145774) * go_2(1.0, -1.0); - result += mat4(-0.07215562, -0.058965042, 0.038303573, 0.0009963732, -0.059399143, 0.15957262, 0.035185594, 0.0719169, 0.08515627, 0.09775558, 0.13178122, -0.0837824, 0.014349278, 0.038491696, 0.071876876, 0.0345376) * go_2(1.0, 0.0); - result += mat4(0.040965024, -0.030738113, -0.05919069, -0.14155431, 0.09109957, -0.099060595, -0.10192779, 0.033825647, 0.11551892, -0.04282345, 0.020072978, 0.035168435, 0.10797329, -0.0584945, -0.024158757, -0.03585887) * go_2(1.0, 1.0); - result += mat4(0.11656172, -0.03488785, 0.090906724, -0.0032958854, 0.11268224, 0.070826046, 0.008982598, -0.14222313, 0.0025792273, -0.07585458, -0.021171344, -0.10144507, 0.24918565, 0.004032981, 0.032430686, -0.012328044) * go_3(-1.0, -1.0); - result += mat4(-0.22021858, 0.06875914, 0.004574366, -0.0694593, 0.11509186, -0.25873652, -0.08872615, -0.024206636, 0.15076822, -0.14054653, -0.045519873, -0.04547437, -0.22077747, -0.054121707, 0.049612578, 0.10545096) * go_3(-1.0, 0.0); - result += mat4(-0.069911204, 0.078573205, -0.073091984, 0.015637126, -0.23398215, 0.12185918, 0.08496631, -0.063231654, 0.14004779, 0.07965737, 0.14457273, -0.057528477, -0.0971965, 0.10445598, -0.054162677, -0.11529022) * go_3(-1.0, 1.0); - result += mat4(-0.12595661, 0.16308525, 0.09465576, -0.05046868, 0.1799443, 0.115778774, -0.13534002, 0.09609113, 0.107355125, -0.07263705, -0.04365324, 0.10355821, -0.023942605, 0.026093582, 0.009621531, 0.06096017) * go_3(0.0, -1.0); - result += mat4(0.1272364, -0.07220049, 0.041847665, 0.17912698, -0.03009012, 0.06394436, -0.03263169, -0.04573203, -0.07620046, 0.42576316, 0.042653862, 0.13744949, 0.23633486, 0.10078774, -0.121353894, 0.12101121) * go_3(0.0, 0.0); - result += mat4(0.03558598, -0.1297437, -0.05971473, 0.17683595, 0.1725135, 0.052228056, 0.08043958, -0.09891566, 0.03620246, -0.07612062, 0.0671727, 0.037559096, -0.14037324, 0.021277385, -0.04257818, 0.17619017) * go_3(0.0, 1.0); - result += mat4(-0.11092632, -0.00013030393, 0.12967736, -0.22887622, -0.08721344, 0.054407217, 0.07632402, -0.08394438, -0.071129434, 0.11594225, -0.058196247, 0.020942273, -0.123769015, -0.114318974, 0.03252267, 0.07218774) * go_3(1.0, -1.0); - result += mat4(-0.11842664, -0.044281907, 0.07725646, -0.09330976, -0.028858917, -0.10954367, 0.04575166, -0.026068112, -0.06559436, -0.2284913, -0.19561197, -0.0016185943, 0.11867088, -0.038570896, 0.08526274, 0.019519364) * go_3(1.0, 0.0); - result += mat4(0.0822196, -0.0037142867, 0.08382291, -0.013849318, -0.13749887, 0.044966772, 0.04564233, -0.00618037, -0.052107867, 0.033819627, -0.03494537, 0.024765901, -0.10504158, -0.028348709, -0.0089757275, 0.030026745) * go_3(1.0, 1.0); - result += mat4(0.053351242, 0.056979094, -0.060212657, 0.14301975, 0.17891912, -0.032538075, 0.011639607, 0.035919394, 0.04533616, -0.12939154, -0.041703038, 0.0071665174, -0.19303554, 0.018363694, 0.08923668, 0.020215489) * go_4(-1.0, -1.0); - result += mat4(0.038452573, 0.1614918, -0.022068001, 0.0030016324, -0.2680856, 0.21928017, 0.085351996, 0.049881425, 0.058913168, -0.044736963, 0.016097903, 0.21123125, 0.079624146, -0.16535924, 0.06877731, 0.1305827) * go_4(-1.0, 0.0); - result += mat4(0.05783186, -0.219528, 0.0816723, 1.3595931e-05, -0.02902699, -0.12913156, -0.40516803, -0.028480045, 0.12000909, 0.081304125, 0.053406257, -0.08878543, 0.02251961, 0.12547138, -0.20464425, -0.05598181) * go_4(-1.0, 1.0); - result += mat4(-0.15702735, 0.21000047, 0.08434562, 0.27938238, -0.03068116, -0.004006084, 0.19768693, 0.066732645, -0.055060755, -0.16314429, 0.028655436, 0.021063909, -0.028578848, -0.008238495, 0.12807982, -0.0071345936) * go_4(0.0, -1.0); - result += mat4(-0.17309058, -0.18169925, -0.14182782, 0.107684694, -0.1117235, 0.19443877, 0.101682656, 0.030993309, -0.12313995, -0.048883304, -0.11149261, 0.12847972, 0.28405818, 0.20219465, 0.015797788, 0.123306856) * go_4(0.0, 0.0); - result += mat4(-0.07962997, 0.06323938, 0.045708194, 0.0020409136, -0.0022456956, 0.010837137, 0.014872806, -0.060870074, 0.13772255, 0.005320253, 0.05848208, 0.14984395, -0.037590872, -0.07464743, -0.16873243, 0.019905593) * go_4(0.0, 1.0); - result += mat4(0.13775061, 0.032707028, 0.13456069, 0.05904891, 0.046821773, -0.22715594, 0.056300808, -0.15724476, -0.07337338, 0.19666758, -0.013393664, 0.04086994, 0.12254266, -0.08695188, -0.11076954, -0.15678991) * go_4(1.0, -1.0); - result += mat4(0.07177161, 0.01181348, -0.07497793, -0.085427515, 0.039396375, -0.0035293372, 0.20881353, -0.057439566, 0.15257393, 0.16040947, -0.027684899, 0.16330487, -0.054777898, 0.07572324, -0.03833461, -0.017093522) * go_4(1.0, 0.0); - result += mat4(0.000963837, -0.00780663, -0.023343472, 0.18377425, 0.32722053, -0.08156815, -0.11247523, -0.12714005, 0.18326895, -0.16434003, 0.052783884, 0.2168339, 0.03372009, 0.024008008, -0.1949321, -0.11585071) * go_4(1.0, 1.0); - result += mat4(0.07887302, -0.043003492, -0.16841368, 0.023287356, -0.15838705, 0.21706697, 0.16976407, 0.11461476, -0.062454503, 0.08966307, 0.10723603, -0.029792916, -0.03903073, -0.06255455, 0.025979951, -0.09530182) * go_5(-1.0, -1.0); - result += mat4(-0.0917689, 0.12646815, -0.11529587, 0.06925059, -0.18619959, -0.05243984, 0.16720963, -0.07121025, -0.04476961, 0.0074207215, 0.16076323, -0.14866208, 0.042807475, -0.08767046, -0.005694572, -0.11727041) * go_5(-1.0, 0.0); - result += mat4(-0.0062040854, -0.00097002264, -0.058491956, -0.035364915, 0.040115915, -0.10968144, 0.046607487, 0.23429875, -0.11210956, 0.034507494, -0.07195393, -0.16490693, 0.047223017, -0.044811487, -0.11060463, -0.14174072) * go_5(-1.0, 1.0); - result += mat4(-0.14469296, 0.0862561, 0.027785733, 0.005940194, -0.0062618204, -0.015266768, -0.067160904, -0.17241345, -0.060631767, 0.024863401, 0.056833714, -0.063885145, -0.14061876, -0.042549785, 0.036430426, 0.14348027) * go_5(0.0, -1.0); - result += mat4(0.3022943, -0.19899924, 0.19672908, -0.09840718, 0.14039348, 0.105976574, -0.14415087, -0.06547584, 0.3070416, 0.40989116, 0.009514016, 0.018336622, 0.08806178, 0.07710675, -0.03551256, -0.04064369) * go_5(0.0, 0.0); - result += mat4(0.16016869, -0.12516344, -0.011240568, -0.1443897, -0.009084668, -0.1618983, 0.06672594, -0.30417737, -0.09547601, -0.09057253, 0.08657728, 0.036226142, -0.0022018533, 0.12780087, 0.0029589643, 0.12111095) * go_5(0.0, 1.0); - result += mat4(-0.1765741, 0.03653064, -0.03139237, 0.057462048, 0.16041194, -0.2303424, -0.11946362, -0.1788824, 0.098096356, -0.18419504, 0.021373387, -0.1157983, 0.079671614, -0.03361971, 0.06394305, -0.0101026185) * go_5(1.0, -1.0); - result += mat4(-0.01576709, 0.11476761, -0.041474868, 0.13242105, -0.056526344, 0.024517184, -0.21629438, -0.010624098, -0.0053918827, -0.19187245, -0.12927179, -0.08489797, 0.055730473, -0.043147404, -0.03800261, 0.048107833) * go_5(1.0, 0.0); - result += mat4(-0.0014053301, -0.046847776, 0.004571536, 0.18300104, -0.053145096, 0.057801194, 0.2322556, 0.22864385, 0.0040904162, -0.037985127, 0.041369, -0.065972395, 0.16685532, -0.091719486, -0.1425869, -0.10230388) * go_5(1.0, 1.0); - result += vec4(0.00803133, -0.020707153, 0.0056995153, -0.052884795); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12893085, -0.12928686, 0.12365234, -0.021265296, 0.15424967, -0.0063038417, -0.027432516, -0.10297197, 0.118751466, -0.058228746, -0.10025376, 0.0027489034, 0.0073948866, 0.040659092, 0.08120041, -0.12702137) * go_0(-1.0, -1.0); - result += mat4(-0.02242042, 0.114516795, -0.042158883, -0.14150862, -0.18976203, 0.109531336, 0.03548168, -0.1681465, -0.13782959, 0.07437085, -0.045712702, -0.09431652, -0.0029079607, 0.05180383, 0.07098421, -0.2149384) * go_0(-1.0, 0.0); - result += mat4(0.3218102, 0.0013506162, 0.12795919, -0.10901241, -0.08859676, -0.06861104, -0.014102381, 0.0051467894, -0.16305672, 0.022653125, -0.019810826, -0.05701206, 0.1842382, -0.074959196, -0.07368022, -0.046023685) * go_0(-1.0, 1.0); - result += mat4(-0.099247254, -0.2161521, -0.095611826, -0.0179061, -0.0067561218, 3.99846e-05, 0.01254028, -0.056954045, -0.0075805853, -0.082335606, -0.053469665, 0.25761604, -0.049429264, -0.08763215, 0.051362507, -0.030518934) * go_0(0.0, -1.0); - result += mat4(0.13518652, 0.05463841, -0.07654066, 0.023629244, -0.23324661, 0.04781438, -0.20902736, 0.10330495, -0.16452856, 0.235407, -0.022236459, 0.036046103, -0.08613043, -0.012954787, 0.043111194, 0.021807853) * go_0(0.0, 0.0); - result += mat4(0.11316856, -0.027803158, -0.026492868, -0.0030439082, 0.063926555, -0.09612654, -0.22492981, -0.13748476, 0.06954571, -0.008035041, -0.04846681, -0.23352449, -0.06676289, 0.13268302, 0.037954323, -0.0342029) * go_0(0.0, 1.0); - result += mat4(-0.18148762, -0.06975972, -0.21924862, -0.03831989, 0.09057307, -0.06784279, 0.05716139, 0.032582354, 0.32728904, 0.03561464, -0.06930132, 0.13582717, -0.04723415, 0.053298444, -0.1580453, 0.029922115) * go_0(1.0, -1.0); - result += mat4(-0.13381054, 0.06294187, 0.04273711, -0.089835554, -0.042215306, 0.04515037, -0.01970211, 0.07447383, -0.12915656, 0.087721184, 0.122159, 0.17817122, 0.05233303, 0.053456925, -0.22769327, 0.17450784) * go_0(1.0, 0.0); - result += mat4(0.062324032, 0.056449406, 0.070776984, 0.070366256, 0.15072031, -0.20342071, 0.118405774, -0.11357599, 0.23603258, -0.17724364, 0.028237892, 0.07491812, 0.015638597, 0.20543055, -0.05863285, 0.06565301) * go_0(1.0, 1.0); - result += mat4(-0.07647028, 0.2292153, 0.019423103, -0.06965646, -0.107311614, -0.19989595, -0.06673964, -0.027954143, 0.0017375473, -0.048038438, 0.052211836, -0.042501964, -0.1372413, -0.2437919, -0.15933524, -0.07229055) * go_1(-1.0, -1.0); - result += mat4(-0.023719285, 0.05654754, 0.09026341, 0.020072227, -0.12716366, -0.013687293, -0.1312343, -0.06847118, 0.016806766, -0.10526531, -0.011248162, 0.12535807, -0.12538499, -0.042496204, -0.076355785, -0.0017766576) * go_1(-1.0, 0.0); - result += mat4(0.039450683, -0.049502935, -0.009162741, 0.015372251, -0.14449993, -0.06564991, -0.093242005, -0.018039258, -0.2410318, 0.020259766, -0.040783074, -0.05092842, -0.023994599, -0.037968505, 0.052206438, -0.10967312) * go_1(-1.0, 1.0); - result += mat4(0.13721816, -0.1571525, 0.09432105, 0.023277072, -0.073701076, -0.13941942, -0.02705892, 0.06508469, -0.17687775, -0.07433723, -0.11237514, -0.015321937, -0.31670073, -0.09665636, -0.11843665, -0.030077526) * go_1(0.0, -1.0); - result += mat4(-0.09092922, 0.088340946, 0.1001261, 0.05962185, 0.07731374, -0.09623944, -0.03218285, 0.04484794, -0.10394964, 0.111483194, -0.07343945, 0.15182221, 0.27208853, 0.024986237, -0.058641106, -0.039870527) * go_1(0.0, 0.0); - result += mat4(0.03685333, -0.014777545, -0.0064948527, 0.060336027, -0.04251398, -0.004589828, -0.025893224, -0.075040996, 0.007964778, 0.22512783, -0.033568367, 0.052608117, 0.2143682, 0.21318182, -0.06253117, -0.055562623) * go_1(0.0, 1.0); - result += mat4(0.07906376, -0.015447189, -0.045265637, 0.066810004, 0.07202818, -0.07874254, -0.071680374, 0.009017687, 0.07042464, 0.016754108, 0.017237889, 0.0106343115, -0.042138606, -0.11085673, 0.14738452, -0.10718694) * go_1(1.0, -1.0); - result += mat4(-0.07745664, 0.16073377, -0.01899363, 0.07030874, 0.058903817, -0.065876774, 0.020186676, 0.09385477, 0.14517148, 0.053237557, -0.16942556, -0.04716224, 0.13748227, 0.17071299, 0.12176032, 0.07409275) * go_1(1.0, 0.0); - result += mat4(0.09208682, 0.029487375, -0.057159107, 0.025398627, 0.12468226, 0.034707896, 0.010541767, -0.032418035, 0.11508723, 0.050812677, -0.08127881, 0.0052238777, 0.15403835, -0.17993934, 0.071115926, 0.0059663) * go_1(1.0, 1.0); - result += mat4(-0.053597223, -0.00758354, -0.011711322, 0.12876037, -0.022196915, 0.045487616, 0.02135921, 0.010447794, 0.063635394, 0.09686383, -0.05077074, 0.072695896, -0.02443565, -0.045984466, -0.025993166, -0.08304488) * go_2(-1.0, -1.0); - result += mat4(0.1321831, 0.017644621, 0.16513684, 0.0659792, 0.09676037, -0.07867503, 0.04669573, -0.04401741, 0.23034973, 0.10561144, -0.1184282, 0.13691261, -0.18894893, 0.21760973, 0.08807475, -0.19776659) * go_2(-1.0, 0.0); - result += mat4(-0.053137053, -0.07991928, -0.09902317, 0.017081713, -0.021857716, 0.011578801, -0.0009752623, 0.043588534, 0.11997389, 0.0027668865, -0.09973271, 0.065404624, -0.07151649, -0.017840967, -0.0188252, -0.14957094) * go_2(-1.0, 1.0); - result += mat4(0.13721272, 0.04459704, -0.0069692475, 0.07410797, -0.13855937, 0.021286163, -0.04160423, -0.05980007, 0.027626112, 0.092742406, -0.032267787, -0.00358655, 0.12470872, 0.09738248, 0.06565896, -0.1076945) * go_2(0.0, -1.0); - result += mat4(0.12965658, -0.110055126, -0.08762725, 0.031792786, 0.11524638, -0.09530289, 0.07955128, 0.0049232226, 0.07190261, -0.010207877, -0.26513076, 0.045152593, -0.16932993, 0.091321826, 0.11550899, -0.100929074) * go_2(0.0, 0.0); - result += mat4(-0.1674921, 0.0907835, -0.033396322, -0.03168371, 0.013580539, 0.047018647, 0.028963672, 0.04756761, -0.08714202, -0.2602012, -0.12279786, 0.18663418, -0.07781514, -0.013219039, 0.006731288, 0.005795019) * go_2(0.0, 1.0); - result += mat4(0.01206949, -0.047031406, -0.060451232, 0.027200127, -0.1178311, 0.14014901, 0.25840858, -0.14889579, -0.11640469, -0.01811908, -0.09255012, -0.08351582, 0.086520575, -0.021090247, 0.08717082, 0.043429427) * go_2(1.0, -1.0); - result += mat4(0.020278929, -0.15339202, 0.041678756, 0.07180138, -0.0635027, -0.088976234, -0.04092133, 0.07997308, -0.134963, -0.015960857, -0.060887713, -0.07916197, 0.20483045, -0.12640053, 0.10478231, 0.04803776) * go_2(1.0, 0.0); - result += mat4(-0.03549656, 0.033666074, 0.20228225, -0.096664, -0.00096604426, 0.20793179, 0.09613217, -0.053552672, 0.051677585, -0.018252494, 0.07543575, 0.006295734, 0.046456967, -0.16520908, 0.0120992735, -0.015491354) * go_2(1.0, 1.0); - result += mat4(0.09486195, 0.0862073, 0.04189838, 0.0026638226, 0.09820532, 0.1007168, -0.022186898, -0.05491984, -0.13535279, 0.046514615, 0.09563633, 0.021364952, -0.23145446, 0.05070801, -0.022965223, -0.18874952) * go_3(-1.0, -1.0); - result += mat4(0.05885208, -0.022751214, -0.015712557, 0.157172, 0.05131988, -0.09524327, -0.045114886, 0.05928359, -0.001745961, -0.035245676, -0.010552595, -0.06321781, -0.15489094, 0.017822266, -0.06018634, 0.06429225) * go_3(-1.0, 0.0); - result += mat4(0.1243866, 0.014742004, -0.07896682, 0.2792386, -0.08055696, -0.0067778644, 0.0407617, 0.1389886, -0.02221008, 0.07494927, -0.11067403, 0.026464086, -0.009520921, 0.015791653, 0.021943323, 0.12500213) * go_3(-1.0, 1.0); - result += mat4(-0.08929889, 0.09244356, 0.130978, -0.03720041, 0.07869226, 0.13067861, 0.104627624, -0.01922214, 0.03561331, -0.031736456, 0.15136853, 0.0128885005, -0.16457924, -0.028147755, 0.13005957, -0.07908654) * go_3(0.0, -1.0); - result += mat4(-0.020705838, 0.0936515, -0.026146421, 0.030703338, 0.032063864, 0.14091234, -0.021708539, -0.056303035, -0.007502981, -0.1276548, -0.15350288, -0.04722333, -0.049264792, -0.016106946, 0.035777904, 0.10648118) * go_3(0.0, 0.0); - result += mat4(0.16387826, -0.059457906, 0.009808255, 0.030755969, 0.05709708, 0.0025975339, 0.021356652, -0.023887865, -0.15327913, -0.03702513, -0.041953377, 0.0049483287, 0.1434395, 0.08557114, -0.07722993, 0.22481233) * go_3(0.0, 1.0); - result += mat4(-0.20757784, -0.05194353, -0.17085314, -0.12557504, -0.056353815, 0.06583933, 0.005532102, -0.0040489454, 0.23847903, -0.08254601, -0.20940065, 0.1251241, 0.14838001, -0.12861559, -0.04664337, 0.07232125) * go_3(1.0, -1.0); - result += mat4(-0.010124613, -0.07096996, -0.1366236, 0.0018079067, -0.041023795, 0.12729517, 0.24600507, -0.07845422, 0.31226948, -0.023518091, -0.0023672595, 0.058046557, 0.1718256, -0.05916957, 0.0067618093, 0.08826252) * go_3(1.0, 0.0); - result += mat4(-0.0013852714, -0.02530485, 0.12499248, -0.047640886, 0.06515882, 0.009700978, -0.005210036, -0.0332508, -0.135034, 0.07050036, 0.06152617, 0.02243357, 0.20835938, 0.041327897, 0.047491845, -0.017284496) * go_3(1.0, 1.0); - result += mat4(-0.2511675, 0.2016235, -0.22534974, -0.29850873, -0.014898309, 0.034321953, -0.14487329, 0.029454721, 0.05068056, -0.09661999, 0.00070758525, 0.06925706, -0.19870853, -0.0871149, 0.13158658, -0.09995704) * go_4(-1.0, -1.0); - result += mat4(-0.22352318, -0.073506966, -0.11625505, 0.0049028546, 0.029848805, -0.06952766, -0.043236732, 0.13255614, 0.093998544, 0.17581578, -0.0004033081, -0.12263665, -0.17329359, -0.11587317, 0.059647266, -0.02954624) * go_4(-1.0, 0.0); - result += mat4(-0.057583325, 0.056015383, 0.11960743, 0.033696633, -0.14805156, -0.10933173, -0.08482661, 0.07473009, 0.040999115, -0.0995941, -0.005304712, 0.04729056, -0.09739792, 0.07000572, -0.12560466, 0.023240168) * go_4(-1.0, 1.0); - result += mat4(-0.1967497, 0.093729794, -0.05857918, -0.12817049, -0.034558292, 0.016039368, -0.12012142, -0.017481307, 0.0391479, -0.10992257, 0.015143992, 0.01391454, 0.051010676, 0.012996939, 0.041216355, 0.08623047) * go_4(0.0, -1.0); - result += mat4(0.21069938, -0.066038206, -0.015458416, -0.097732425, 0.051942978, -0.03459923, -0.05756448, 0.14080645, 0.055423364, -0.06490901, -0.07402898, -0.16263707, -0.07290088, -0.058713708, 0.06723124, 0.069584474) * go_4(0.0, 0.0); - result += mat4(0.09618103, 0.055036288, 0.09001422, 0.027986465, -0.018399306, -0.07295329, 0.06687392, 0.06653489, -0.06524778, -0.11760177, -0.004764932, -0.10559294, 0.16195896, -0.22127731, -0.0060094665, -0.0073161777) * go_4(0.0, 1.0); - result += mat4(-0.006081162, 0.09074974, 0.1387847, -0.012516454, 0.040442165, 0.024901407, 0.019887343, -0.012545043, 0.040630046, 0.06390039, -0.088361576, -0.07775115, -0.016567666, -0.048221476, 0.00507668, 0.00015517596) * go_4(1.0, -1.0); - result += mat4(0.27623588, -0.29454315, -0.09558771, 0.016047282, 0.12541397, 0.06766668, 0.012096932, -0.051367834, -0.20859776, -0.20424904, 0.1920475, -0.12987578, 0.08319857, -0.05495395, 0.043287907, -0.027431363) * go_4(1.0, 0.0); - result += mat4(0.1666435, -0.10736637, -0.039772738, 0.06555994, 0.06329126, -0.004524732, 0.027252503, -0.018687485, -0.0827318, -0.17353283, -0.17264223, 0.0050896755, 0.08507919, -0.19379872, 0.14229794, -0.0837528) * go_4(1.0, 1.0); - result += mat4(0.10103022, 0.2500691, 0.11863092, 0.04184915, 0.07104669, 0.11822421, 0.040399753, -0.05503637, -0.03777729, -0.0552892, -0.0367129, -0.07652974, -0.06387571, 0.09680754, 0.030113626, 0.07385613) * go_5(-1.0, -1.0); - result += mat4(0.21662953, -0.047714498, -0.100133225, 0.14122888, -0.053247962, -0.13878773, 0.043139406, 0.10316825, -0.050836936, -0.1023108, 0.07342308, -0.013418398, 0.1517183, -0.038232815, 0.16094449, 0.18475303) * go_5(-1.0, 0.0); - result += mat4(0.10745382, 0.14385694, 0.16242811, -0.022071859, -0.06788635, 0.09044915, -0.09642871, -0.032185104, -0.15011486, 0.06751199, -0.0030307414, 0.045759566, 0.17598514, 0.069681115, 0.18387364, 0.15741494) * go_5(-1.0, 1.0); - result += mat4(0.0355877, -0.01989782, -0.021107944, 0.1195755, 0.04636706, 0.15067361, -0.03446434, 0.091468826, -0.054333266, -0.091928974, 0.077975504, 0.051997006, -0.2611878, 0.012728117, 0.038493883, 0.062820844) * go_5(0.0, -1.0); - result += mat4(-0.09769422, 0.0486323, -0.09317317, -0.09185559, -0.30752286, -0.11381268, -0.053577766, -0.17922285, -0.14485466, 0.10500625, 0.22108263, -0.12928547, 0.33743355, 0.13309081, 0.13873322, 0.05503852) * go_5(0.0, 0.0); - result += mat4(-0.19131194, -0.10878378, -0.04047478, -0.024106042, -0.25611252, 0.10455126, -0.0774767, -0.005242356, 0.14342257, 0.096795335, 0.11119688, -0.06816075, 0.045405596, 0.11205132, 0.22008072, 0.010171907) * go_5(0.0, 1.0); - result += mat4(0.03641146, 0.025730135, 0.088947766, 0.09581084, 0.18514295, 0.05196274, -0.09955554, 0.043848306, 0.09665611, -0.05949442, -0.037989084, 0.043330964, -0.046047594, 0.090160884, 0.06574573, -0.018593606) * go_5(1.0, -1.0); - result += mat4(-0.26031247, -0.05067085, -0.07451936, -0.01263683, 0.13966191, -0.25842324, -0.115060754, -0.08976801, 0.028517777, 0.045588367, 0.2297454, 0.023451945, -0.13475016, 0.048971854, 0.04935944, -0.10817461) * go_5(1.0, 0.0); - result += mat4(-0.044189412, 0.12302195, 0.05076291, -0.072933994, 0.22576593, 0.12513146, -0.020687684, -0.0017186786, 0.056137685, 0.07280331, -0.0060697175, 0.017558591, -0.19459185, -0.08931442, 0.03579924, -0.00051510497) * go_5(1.0, 1.0); - result += vec4(-0.088215575, 0.02001751, -0.0013112888, -0.0031276105); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.055708, -0.15470836, -0.18314275, -0.018972168, 0.0008025653, -0.04802735, 0.0037216125, -0.008888557, -0.044309124, 0.1032128, -0.09535111, 0.1075431, -0.061698865, -0.136952, -0.08298975, -0.03202739) * go_0(-1.0, -1.0); - result += mat4(0.047130957, -0.13275343, 0.10046242, 0.14484632, -0.18798989, -0.01724291, -0.095696434, -0.06524662, -0.12395302, -0.057923865, 0.013821919, -0.19095008, -0.10312008, -0.067719445, 0.03039217, 0.002102062) * go_0(-1.0, 0.0); - result += mat4(0.07914871, 0.03840256, -0.11512143, -0.19842817, -0.17087726, -0.117287606, 0.26407588, -0.028159037, -0.16280699, -0.1019244, 0.026774779, -0.06759367, 0.0024644772, 0.033856, -0.007847236, 0.028765628) * go_0(-1.0, 1.0); - result += mat4(-0.07034455, 0.076142974, -0.22090098, -0.0905723, -0.06417895, 0.119223125, -0.26432338, -0.04371924, 0.16288432, 0.026691884, -0.017952124, 0.08947346, -0.1286289, -0.01910609, 0.04351911, 0.0340226) * go_0(0.0, -1.0); - result += mat4(0.14330725, 0.090986304, -0.1424256, 0.054584663, 0.043702085, -0.08414303, 0.001994348, -0.022233546, 0.03748274, 0.12121618, 0.26035795, 0.13496856, 0.3061306, 0.019047879, -0.043746773, 0.18116328) * go_0(0.0, 0.0); - result += mat4(-0.051031455, 0.0696392, 0.04753365, -0.20600007, 0.08226225, -0.055646114, 0.15932508, 0.0419586, -0.11326543, 0.027461074, -0.041595474, -0.10200617, 0.004414234, -0.085846625, 0.1470303, 0.15096648) * go_0(0.0, 1.0); - result += mat4(0.101050586, 0.15982646, 0.008072791, -0.11342946, 0.08270196, 0.08548463, 0.042926773, 0.06380147, 0.11114159, 0.07615307, -0.01628438, -0.082144625, 0.029875848, -0.020052845, 0.014533401, -0.027843053) * go_0(1.0, -1.0); - result += mat4(-0.0279601, -0.09164763, 0.11475252, 0.04266532, 0.17664109, -0.044317525, 0.038787685, 0.00897195, -0.065523826, 0.013996353, -0.109297335, -0.029989313, -0.025986332, -0.09013683, 0.24884683, 0.06528543) * go_0(1.0, 0.0); - result += mat4(-0.09584907, -0.15118982, -0.015254367, -0.12179126, -0.12146391, 0.15733819, -0.033256296, -0.061760996, -0.036719803, 0.16471127, 0.18006523, -0.056930948, 0.03617248, 0.07113426, -0.069748655, -0.081067815) * go_0(1.0, 1.0); - result += mat4(0.1271724, -0.082678355, 0.07997786, 0.06285082, 0.02332232, 0.05007377, -0.094914205, -0.06553253, -0.10122091, 0.012112823, -0.11796572, 0.021247976, 0.0654767, -0.091576956, 0.08175131, -0.010552305) * go_1(-1.0, -1.0); - result += mat4(0.12505153, -0.037628997, -0.022449989, 0.06686099, -0.25006896, 0.13324498, 0.041733105, 0.2241118, 0.024380242, 0.09950468, 0.078383565, 0.11634127, 0.077024244, -0.07780778, 0.07760342, 0.06282892) * go_1(-1.0, 0.0); - result += mat4(-0.13915282, 0.16686817, 0.030251533, -0.0035493453, -0.13203144, 0.033648454, 0.0024875028, -0.0007983041, -0.105395414, 0.1536483, 0.050240528, 0.11495208, -0.026644144, -0.05793395, -0.12098678, -0.065910175) * go_1(-1.0, 1.0); - result += mat4(0.02292821, 0.030319002, -0.1293214, -0.0096194055, -0.01278381, -0.00087727525, 0.19325659, 0.025518872, -0.05107456, -0.14991362, -0.05873866, 0.12859605, -0.20932005, -0.11987684, -0.051870637, 0.001319446) * go_1(0.0, -1.0); - result += mat4(-0.022754941, 0.043839425, -0.08278873, -0.21222612, 0.0015371124, -0.010085336, 0.09510605, 0.07335702, -0.106798455, -0.12928678, 0.015216733, 0.031399984, -0.07811234, -0.119671986, 0.17570181, 0.029809073) * go_1(0.0, 0.0); - result += mat4(-0.11764911, -0.16164766, 0.08784963, -0.019233093, -0.076887585, -0.058506478, 0.08077385, -0.16966046, -0.24188527, -0.07365656, 0.09544133, 0.19833234, 0.09107925, -0.020520048, -0.05825717, -0.09854415) * go_1(0.0, 1.0); - result += mat4(0.03600886, -0.029253786, 0.048200432, 0.022130603, 0.13826382, -0.13885193, 0.20007242, 0.14829256, -0.017307537, 0.03851602, 0.020379594, 0.07832595, -0.07762187, 0.096413285, -0.079333976, -0.0061714468) * go_1(1.0, -1.0); - result += mat4(0.0413019, -0.07368758, 0.13919644, -0.12122368, -0.029388634, 0.10483587, -0.051654328, 0.015226432, -0.04520832, -0.026331404, 0.20372365, 0.06359042, -0.013045257, -0.10666548, 0.08962036, 0.20432319) * go_1(1.0, 0.0); - result += mat4(0.013157089, -0.034036867, 0.0819, 0.014009891, -0.03467534, -0.12812413, 0.18123335, -0.0781033, -0.2039025, -0.16503748, 0.02498213, 0.023839379, -0.13192852, -0.09351754, -0.045935795, -0.088439226) * go_1(1.0, 1.0); - result += mat4(0.17598471, -0.16652712, 0.04906223, 0.07156945, -0.019004462, -0.07228772, -0.030515088, 0.12137358, 0.049442984, 0.003075852, 0.0820677, 0.09503947, 0.15167919, 0.03480622, 0.055544864, 0.108532205) * go_2(-1.0, -1.0); - result += mat4(0.06424813, 0.0047392054, -0.06604298, 0.065024786, -0.027760155, 0.013289014, -0.05930856, -0.22680816, -0.12812522, 0.046711236, 0.11081086, 0.12093126, 0.08999833, 0.09398781, -0.00391463, -0.013292052) * go_2(-1.0, 0.0); - result += mat4(0.078218855, -0.096875966, -0.1891451, -0.075190805, 0.045807663, 0.038455345, 0.1420045, 0.1738224, 0.06848118, 0.18028922, -0.07149378, -0.16228504, -0.15232347, -0.032611012, -0.07023075, -0.12920822) * go_2(-1.0, 1.0); - result += mat4(0.04663347, 0.0988432, 0.052362353, -0.112998225, -0.20248835, -0.19879234, 0.11022756, 0.10454231, -0.13743615, 0.047722638, 0.06637239, 0.016583467, 0.11989917, 0.0125074675, 0.053077225, -0.006272926) * go_2(0.0, -1.0); - result += mat4(-0.08468045, 0.047544964, 0.04363399, 0.086961746, 0.08489796, 0.12409043, -0.13015386, 0.10092822, 0.14706169, -0.102444105, -0.074901864, -0.11254591, 0.029065747, 0.14046147, 0.07324801, -0.015313643) * go_2(0.0, 0.0); - result += mat4(-0.0032504771, -0.025116406, -0.027151806, 0.04037948, -0.029422142, 0.053333733, 0.050427776, 0.2249123, -0.040938333, 0.05139012, -0.021061108, -0.21729107, 0.020586135, 0.04293995, 0.01888572, -0.15284136) * go_2(0.0, 1.0); - result += mat4(-0.050343722, -0.08038014, 0.033975042, -0.078313686, -0.025870735, -0.10589425, 0.11806239, 0.11905227, -0.030429581, -0.10916684, -0.08828011, -0.032881964, 0.005728985, -0.14882843, -0.058584355, 0.07463933) * go_2(1.0, -1.0); - result += mat4(-0.16999933, -0.027314415, 0.07264002, -0.013310814, -0.12945375, 0.016093813, -0.09084507, -0.12522581, 0.075081155, -0.012983989, 0.11086466, -0.020709865, -0.034555092, -0.13049836, -0.069538176, 0.120410606) * go_2(1.0, 0.0); - result += mat4(-0.041815765, -0.1464541, -0.112602025, -0.17897187, 0.023695359, -0.007984221, -0.09087018, 0.03442271, 0.03562612, -0.022015946, -0.0067399153, 0.038907483, -0.11839428, -0.029512445, 0.032437507, -0.13424557) * go_2(1.0, 1.0); - result += mat4(0.071081854, 0.064600624, 0.06933874, -0.00823228, -0.06739624, -0.05190142, -0.0063528903, -0.0056084343, -0.00883983, -0.1393001, 0.053884078, 0.024325706, 0.05893945, -0.075403966, 0.21418992, 0.099977955) * go_3(-1.0, -1.0); - result += mat4(-0.08398666, 0.06117285, 0.018424282, 0.13809077, -0.07201819, 0.051259644, -0.04685134, -0.017006194, 0.05818578, -0.11379136, -0.07999673, 0.23295905, 0.007356084, -0.020284122, 0.01972096, -0.13002637) * go_3(-1.0, 0.0); - result += mat4(-0.06733669, 0.13325273, -0.0074489512, -0.052333828, 0.10027424, 0.065753184, -0.14192791, 0.09388921, -0.01242138, -0.14718066, -0.014753866, -0.065210566, 0.0699064, 0.06399467, 0.022925656, 0.06504557) * go_3(-1.0, 1.0); - result += mat4(0.101876445, 0.060120665, -0.0039521665, 0.12171173, 0.08321828, -0.008348968, 0.21899523, 0.058748752, 0.05547674, 0.16084124, -0.30695668, -0.10121366, 0.038653154, -0.044442136, -0.13552639, -0.019972218) * go_3(0.0, -1.0); - result += mat4(-0.07638072, 0.050575085, 0.07061123, -0.18657742, -0.012248586, 0.019414622, 0.03041808, 0.033964135, -0.17578666, -0.023182971, -0.08965867, -0.13880058, -0.16309536, 0.17266575, -0.17651099, -0.24348558) * go_3(0.0, 0.0); - result += mat4(-0.14318372, -0.002566858, -0.08960772, -0.025085822, -0.002079447, 0.010120887, -0.09830438, -0.11765062, 0.022343377, -0.025783114, -0.029105041, -0.1690584, 0.054205775, 0.02676286, 0.016028486, 0.120592885) * go_3(0.0, 1.0); - result += mat4(0.14526334, 0.09275921, -0.12105369, -0.038859725, -0.10460921, -0.07294215, -0.15117784, -0.009182169, -0.0074104583, -0.12306472, 0.10073853, -0.08833498, 0.12785646, 0.0477829, -0.03402452, -0.07908741) * go_3(1.0, -1.0); - result += mat4(-0.025889793, 0.014548265, 0.029771648, -0.07727682, 0.041268997, 0.08237273, -0.07722456, -0.036970172, 0.09158823, 0.044813015, -0.019759692, -0.112869464, -0.04357199, -0.07405958, -0.124406114, 0.20240584) * go_3(1.0, 0.0); - result += mat4(-0.08556598, -0.01543713, 0.026491836, 0.018786263, 0.0418143, 0.0678302, -0.11946711, 0.09875955, 0.032350425, 0.007956311, -0.017798368, 0.1994804, -0.027886698, -0.17802258, 0.099619284, -0.011239122) * go_3(1.0, 1.0); - result += mat4(-0.36927477, 0.0397264, 0.14609286, 0.065389656, -0.017865075, 0.113564, 0.14015609, 0.054612216, -0.0342091, -0.030581282, -0.0124170035, 0.03166654, 0.0691441, 0.032685474, -0.16473754, -0.10027306) * go_4(-1.0, -1.0); - result += mat4(-0.027898287, 0.037473463, -0.10177491, -0.15948737, -0.08981485, 0.0764328, -0.06419195, -0.085592985, -0.015740823, -0.052377183, 0.07003385, -0.065375, 0.051523235, 0.04340368, 0.10867685, -0.16211551) * go_4(-1.0, 0.0); - result += mat4(0.007090963, -0.02692243, 0.05383495, 0.14827509, -0.105507806, 0.17903765, 0.13615972, 0.0051062405, 0.08153507, 0.05720539, 0.08144471, 0.0929691, 0.09873174, 0.015049897, 0.23769383, 0.22297786) * go_4(-1.0, 1.0); - result += mat4(-0.08985236, -0.076104425, -0.01007519, 0.034048676, -0.0079994, -0.033355482, 0.16036998, -0.053786088, -0.093155414, 0.05777472, -0.13322827, -0.0813691, 0.24432959, 0.08388064, -0.04998493, -0.021753525) * go_4(0.0, -1.0); - result += mat4(-0.016286949, -0.013190527, 0.053851254, 0.046217382, -0.21881466, 0.07689005, -0.12487547, -0.10310683, -0.02934103, -0.084740095, -0.054879915, -0.06519303, -0.15657778, 0.029417856, -0.13291313, -0.103854224) * go_4(0.0, 0.0); - result += mat4(0.11695019, 0.0132304765, -0.07342763, 0.051626842, -0.115028076, 0.060695976, 0.030592902, 0.07832676, -0.033096768, -0.010105935, -0.0968592, -0.17071666, -0.10127668, -0.026590502, 0.05544078, -0.22503363) * go_4(0.0, 1.0); - result += mat4(0.053587623, 0.013554916, 0.0018153706, 0.0050241053, 0.007109888, 0.049959134, -0.05311281, -0.09651782, -0.15021992, 0.041716605, 0.031055149, -0.04614386, 0.1668338, -0.15733725, 0.05505452, -0.04836756) * go_4(1.0, -1.0); - result += mat4(-0.077188395, -0.058547955, 0.03399098, 0.09912107, -0.03275195, -0.13739568, -0.08232234, 0.06831293, -0.070714585, -0.046675168, -0.11615044, -0.119989395, -0.03131107, -0.09919153, 0.003835856, -0.014355857) * go_4(1.0, 0.0); - result += mat4(-0.036215, 0.018938174, -0.2277618, -0.13956094, -0.07911919, -0.063870676, 0.08332067, 0.061556723, 0.038459476, 0.15356061, 0.007937132, 0.049789228, -0.0977846, -0.06580731, -0.092308916, 0.12081035) * go_4(1.0, 1.0); - result += mat4(0.2513099, 0.2640892, -0.073300436, 0.0054640956, 0.021276288, 0.117054164, -0.10756317, -0.10598032, -0.045152083, 0.08731703, -0.18050396, -0.047249332, -0.073264845, 0.2116926, -0.114557505, -0.037215512) * go_5(-1.0, -1.0); - result += mat4(0.050166927, -0.04862805, 0.12805791, 0.0045228424, 0.056160565, 0.16115089, -0.07979352, -0.13011862, 0.05441418, 0.05797822, -0.13112345, -0.025642958, 0.05028941, -0.03776722, -0.030840462, 0.1557417) * go_5(-1.0, 0.0); - result += mat4(-0.13133498, 0.18729036, 0.09921492, 0.08116472, -0.045803983, 0.26691306, -0.074901216, 0.27606857, -0.008125972, 0.042414363, 0.13946676, 0.08842948, 0.08357318, -0.03671059, -0.16490772, 0.1321214) * go_5(-1.0, 1.0); - result += mat4(-0.065409325, -0.0521094, -0.16489594, 0.13398097, 0.059531994, 0.12008558, -0.3398136, 0.1359767, 0.19906406, -0.07998507, 0.030024389, 0.07742193, -0.17542136, -0.009348887, -0.07117329, 0.03772329) * go_5(0.0, -1.0); - result += mat4(-0.058133047, -0.16653563, -0.0063957074, -0.095268235, -0.17482235, 0.059023783, 0.122984484, -0.34188032, -0.20109126, 0.18325296, 0.14055713, -0.10793852, 0.011646871, -0.061308336, -0.061341055, -0.021440659) * go_5(0.0, 0.0); - result += mat4(0.078113094, -0.09492607, 0.08023962, -0.12604296, 0.109075874, -0.0154309245, 0.06649317, 0.06254269, 0.07463966, -0.073904, 0.05772617, 0.26408893, -0.006501864, -0.07582579, -0.10127933, -0.12402614) * go_5(0.0, 1.0); - result += mat4(-0.042008914, 0.09461804, -0.072341286, 0.080054514, 0.14365824, 0.04930919, -0.099516146, -0.008121477, -0.0093559455, 0.10470606, 0.02927817, 0.021877058, -0.054930143, 0.060183078, -0.0445749, -0.01106447) * go_5(1.0, -1.0); - result += mat4(-0.0011625461, -0.0009088538, -0.023627708, 0.027977956, -0.11017806, -0.26268825, -0.011429036, -0.03145088, 0.020097682, -0.029126195, -0.06067577, 0.069737315, -0.059665915, 0.0012559243, 0.010016551, -0.09414456) * go_5(1.0, 0.0); - result += mat4(0.11869016, 0.20854239, 0.0059952354, -0.05854996, -0.019913383, 0.111083195, -0.110878445, -0.09330779, -0.09355048, -0.023232793, -0.028993065, -0.016969083, -0.046021197, 0.120301165, -0.016181333, 0.121419206) * go_5(1.0, 1.0); - result += vec4(0.13923971, 0.015290389, 0.012198976, 0.04480318); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.027190452, 0.0060910345, -0.008547152, 0.17320672, 0.06733503, -0.08989388, -0.11381129, -0.13119508, 0.17610823, 0.14008744, 0.11026499, -0.21357119, -0.12159518, 0.06601897, -0.034462526, -0.06805842) * go_0(-1.0, -1.0); - result += mat4(0.032029126, -0.17226543, -0.041954145, 0.0048979674, 0.07860925, 0.014572411, 0.028136868, 0.023380699, 0.08869984, 0.066781156, 0.054681987, -0.2045243, -0.08229035, 0.034414835, -0.059059203, 0.123423755) * go_0(-1.0, 0.0); - result += mat4(0.06395383, -0.17036091, -0.09632937, 0.012491044, 0.023212979, 0.0016467012, -0.14969939, -0.0054716296, -0.023756625, -0.17073572, 0.052645937, -0.046952818, -0.16187616, 0.016573654, -0.14689016, 0.01019834) * go_0(-1.0, 1.0); - result += mat4(0.08193712, -0.07631574, -0.034434203, -0.014776324, 0.042278692, -0.1091839, -0.10186231, -0.08016388, -0.036329824, -0.27691782, -0.060328513, -0.21892257, 0.039156485, -0.015808448, 0.063398294, -0.045008957) * go_0(0.0, -1.0); - result += mat4(-0.1413053, -0.04867498, -0.06696859, -0.19319332, 0.06924486, 0.10097274, 0.027635809, -0.25744498, 0.043045916, 0.0080625275, -0.078129664, 0.07637907, 0.08766779, 0.009869328, -0.04087825, -0.107835) * go_0(0.0, 0.0); - result += mat4(0.03251173, -0.088434696, -0.17404701, -0.047607604, 0.19409397, -0.011666368, -0.055492543, -0.06779062, 0.18695107, 0.12933761, 0.009486838, 0.1311912, -0.115678646, -0.15206106, -0.0692949, -0.2093353) * go_0(0.0, 1.0); - result += mat4(-0.024145309, -0.049262546, -0.13907287, 0.079473436, -0.042634737, -0.08339864, 0.10169023, -0.035110317, -0.07373649, -0.013395292, 0.040008895, -0.10978444, -0.11845739, -0.037593327, -0.06392299, -0.16472307) * go_0(1.0, -1.0); - result += mat4(-0.004245749, -0.017990965, -0.16623773, 0.058491312, 0.09169293, 0.095187806, -0.13777736, -0.058859553, 0.12717004, -0.21097647, 0.022213815, -0.060391422, 0.24919353, 0.027743122, -0.046835132, 0.05116896) * go_0(1.0, 0.0); - result += mat4(-0.031152543, -0.006675389, -0.20609254, 0.059274126, 0.057716113, 0.010372987, -0.09142726, 0.21968524, 0.1961135, -0.123708576, 0.16263476, 0.0062686265, 0.014965539, -0.007153107, -0.11750436, -0.1819159) * go_0(1.0, 1.0); - result += mat4(-0.0060456856, 0.19447032, 0.020056425, 0.11960106, -0.32920054, 0.015612619, 0.26585084, 0.10356409, -0.14553185, 0.00058173627, 0.05271928, -0.1452066, -0.060218733, -0.020830099, -0.10317562, 0.052465137) * go_1(-1.0, -1.0); - result += mat4(-0.27812362, 0.058981895, 0.08322605, -0.0032075725, -0.15221997, 0.09520731, 0.04914796, 0.11785509, 0.013318352, -0.10878859, -0.15916938, -0.18263555, -0.05563399, 0.014653972, 0.14075124, -0.057639994) * go_1(-1.0, 0.0); - result += mat4(-0.0041990946, 0.0977939, -0.10445638, 0.020671595, -0.051427394, -0.026315004, -0.17141542, -0.19342242, 0.18054874, -0.15474714, 0.13021101, 0.11164268, 0.09080831, 0.036626425, -0.082300276, 0.04107306) * go_1(-1.0, 1.0); - result += mat4(-0.039793264, 0.14146407, 0.09102857, 0.03839708, 0.3213411, -0.037526935, 0.26050022, 0.05215784, 0.09104371, 0.1189446, 0.1516196, -0.06040828, 0.06444251, 0.03769561, -0.05992374, -0.09555435) * go_1(0.0, -1.0); - result += mat4(-0.3158521, -0.09743379, -0.16136461, 0.12563957, -0.047199205, 0.14175804, 0.26343465, 0.26441336, -0.08041752, 0.12452204, 0.00063982303, -0.13609244, 0.2354998, 0.00049649493, 0.015294863, -0.2654468) * go_1(0.0, 0.0); - result += mat4(-0.08709678, 0.15577738, 0.05169841, 0.07911614, -0.024321338, -0.015250634, -0.021416046, -0.081399545, 0.0089286, -0.2259574, -0.05061959, 0.065474294, -0.030742366, -0.03538435, -0.055524804, 0.15507819) * go_1(0.0, 1.0); - result += mat4(0.045065995, 0.023564292, -0.037309248, 0.06847233, 0.056869928, 0.028326921, -0.17528678, 0.12857448, 0.035632227, -0.032293174, 0.104832776, 0.017997067, -0.114497125, 0.16921379, 0.12497218, 0.036903612) * go_1(1.0, -1.0); - result += mat4(0.075956464, 0.09397675, 0.052031025, -0.105377, -0.12632053, 0.024217378, -0.07852874, 0.11461346, -0.04082505, -0.108691104, -0.04474934, -0.29607844, 0.034042932, 0.12287652, -0.052040536, 0.041936204) * go_1(1.0, 0.0); - result += mat4(-0.038337763, -0.018111536, 0.06151811, 0.05389662, -0.028443024, 0.08706589, -0.073154494, 0.05447222, 0.07653834, -0.19515261, -0.037622564, 0.08052142, -0.045269065, -0.0609327, -0.100833364, 0.10981602) * go_1(1.0, 1.0); - result += mat4(0.094026454, -0.0031063687, -0.21620432, 0.13547292, 0.20105883, -0.025618935, 0.11542153, 0.10962974, 0.113429956, -0.14227262, 0.0060875076, -0.14874603, 0.09162232, -0.053849343, 0.04125156, 0.032826412) * go_2(-1.0, -1.0); - result += mat4(0.013978522, -0.13269992, -0.07810451, 0.070542224, -0.04335991, 0.13381198, -0.027735049, -0.15146035, 0.22838825, -0.064607605, 0.09653002, -0.12548994, 0.13875695, -0.07963269, 0.17691031, -0.09219512) * go_2(-1.0, 0.0); - result += mat4(-0.3725075, -0.10551151, -0.015794966, 0.11881437, 0.032990977, -0.08120358, -0.028089223, 0.07270803, 0.09375988, -0.19002074, 0.042594276, -0.14296396, 0.058286652, 0.027516257, -0.06983339, -0.21678405) * go_2(-1.0, 1.0); - result += mat4(-0.07584593, -0.030345742, -0.102612115, -0.008622554, 0.19179675, -0.007445088, -0.0055725924, 0.045661647, 0.15045294, 0.05527889, -0.16074698, -0.11140143, -0.10332519, 0.0775829, 0.3479224, -0.09605363) * go_2(0.0, -1.0); - result += mat4(0.24224567, -0.10463845, -0.004708288, -0.037463564, -0.174914, -0.12728058, -0.09033664, -0.07400692, -0.14376171, 0.047589123, 0.12197598, 0.10113545, 0.27015212, -0.034403134, 0.1424642, 0.160263) * go_2(0.0, 0.0); - result += mat4(-0.13663313, -0.1106191, 0.011357531, -0.22931215, -0.019929864, -0.10682277, -0.055398542, 0.066238664, -0.085308366, 0.04024022, 0.12161912, 0.08610841, 0.09498895, -0.06681962, 0.13027692, -0.0019338574) * go_2(0.0, 1.0); - result += mat4(-0.03641036, -0.011318962, 0.110239714, 0.11487314, -0.0893917, 0.15007862, 0.027590204, 0.09350642, 0.024954673, 0.12835681, 0.03920746, 0.09515919, -0.1465032, -0.030845147, -0.1298204, -0.13092597) * go_2(1.0, -1.0); - result += mat4(-0.053689882, -0.013590492, 0.14078104, -0.02906744, -0.028918952, -0.05751785, -0.15884842, -0.26478568, 0.13566354, 0.12888497, -0.07389985, -0.10991238, -0.04350177, 0.056619987, -0.007795586, 0.20150684) * go_2(1.0, 0.0); - result += mat4(-0.24407062, 0.21552294, -0.00949639, 0.06383184, -0.021686498, -0.3234789, 0.00095171423, 0.16604368, 0.21007693, -0.23288599, 0.14941412, -0.23804995, -0.041001838, 0.122981116, -0.08457904, 0.31631222) * go_2(1.0, 1.0); - result += mat4(-0.03347639, -0.11116802, -0.024119927, -0.13334364, -0.06425279, 0.034693595, -0.042770308, -0.17312396, -0.067923695, 0.016072923, -0.11040154, -0.17093144, 0.0015578474, -0.29394698, 0.107074894, 0.27303827) * go_3(-1.0, -1.0); - result += mat4(-0.0611658, 0.019790849, 0.06787951, 0.10454345, -0.015665758, 0.0151002975, 0.03526049, -0.103849605, 0.18519226, 0.13797036, -0.061827153, 0.049401954, -0.14499283, -0.019294523, -0.059974186, 0.08248854) * go_3(-1.0, 0.0); - result += mat4(-0.10331019, 0.013611227, 0.06224777, 0.051212363, 0.07831132, 0.10166972, 0.06203761, -0.18489413, 0.15709174, 0.10225166, -0.047563914, 0.07839388, 0.111176215, -0.17445758, -0.025798218, 0.039074145) * go_3(-1.0, 1.0); - result += mat4(-0.0126109915, 0.1351571, -0.036555156, 0.010697993, -0.13778222, 0.03346138, -0.0049093324, -0.15003881, -0.03876987, 0.07914351, 0.047344975, 0.11449459, 0.063460924, -0.08697232, 0.10283146, 0.051968753) * go_3(0.0, -1.0); - result += mat4(0.23186366, -0.06041623, -0.16257766, 0.24217394, -0.023535172, -0.101410136, -0.108250454, 0.107450925, 0.034496274, -0.028800279, 0.021022853, 0.03616355, 0.02028369, -0.08332956, 0.10570706, 0.09971033) * go_3(0.0, 0.0); - result += mat4(0.04147743, 0.015145005, 0.120189026, -0.068185546, 0.046765327, 0.06456099, -0.1020187, 0.021370325, -0.040851895, -0.03208752, 0.048594363, -0.1198498, 0.068069115, 0.041555826, -0.17036118, -0.01932193) * go_3(0.0, 1.0); - result += mat4(0.056585032, 0.08170861, 0.16936389, 0.12775362, -0.06250441, 0.003437123, -0.1626591, -0.044595372, 0.05609032, -0.013985337, 0.12408558, -0.023731874, 0.06669848, 0.015816472, 0.02028663, 0.15866788) * go_3(1.0, -1.0); - result += mat4(0.08446122, 0.18007189, -0.029043732, -0.011163938, -0.07911146, -0.08956735, 0.01947308, -0.14794883, 0.006629651, 0.038349632, -0.00968828, -0.025770634, -0.0773972, 0.005243162, -0.024193848, 0.13965817) * go_3(1.0, 0.0); - result += mat4(0.11081664, 0.014651672, 0.17688385, -0.105908446, 0.10568161, -0.0114132725, -0.07771328, -0.07368131, -0.08784887, 0.000283126, -0.062638454, 0.10225453, 0.03358641, 0.022887172, -0.05419985, 0.13735344) * go_3(1.0, 1.0); - result += mat4(0.10541027, 0.020751795, -0.09398483, -0.005489149, -0.29769272, 0.23499025, -0.006691222, -0.053000394, 0.010389082, 0.17603737, -0.00460357, 0.022672169, 0.184428, -0.05348439, -0.056355994, -0.09495365) * go_4(-1.0, -1.0); - result += mat4(0.0008888126, -0.07352942, -0.115427524, 0.039416842, 0.035075482, 0.064889066, -0.0403974, -0.16294649, 0.15031078, 0.15975513, 0.050580446, 0.17225175, -0.15042374, 0.1044681, -0.020698681, 0.02006514) * go_4(-1.0, 0.0); - result += mat4(-0.04267897, 0.013600698, -0.06688994, 0.06905151, 0.0050800233, 0.074999094, -0.013612523, 0.24658114, 0.09293767, -0.025656242, -0.12935342, -0.053077035, -0.10818674, 0.10712919, 0.10325497, 0.026742944) * go_4(-1.0, 1.0); - result += mat4(0.057898734, -0.079083994, -0.014326936, -0.012377722, -0.081788406, 0.15159677, 0.009859493, -0.17867896, -0.15591973, 0.052071776, 0.08789029, -0.07519902, -0.05066772, -0.062322497, 0.115281776, 0.036021948) * go_4(0.0, -1.0); - result += mat4(0.18813054, 0.08132526, 0.13596503, -0.048313983, 0.38620186, 0.2359013, 0.037454955, -0.1447747, 0.067145094, -0.0005996448, 0.1840271, 0.05323988, -0.23532471, -0.0116497595, 0.2535536, 0.061556816) * go_4(0.0, 0.0); - result += mat4(0.0129419975, -0.17229463, -0.09436541, 0.10180941, 0.11799404, 0.031389806, -0.07010608, 0.0046768254, 0.10469505, 0.17582805, -0.22139175, -0.14195564, -0.02746759, 0.1141511, -0.029968468, 0.07361169) * go_4(0.0, 1.0); - result += mat4(-0.0769514, 0.017098518, 0.082954735, 0.025435448, -0.21867949, -0.07731593, 0.031622138, -0.013084908, 0.053551342, 0.08035211, -0.06418101, -0.14921196, 0.18860011, 0.029326573, -0.0472363, -0.011997928) * go_4(1.0, -1.0); - result += mat4(-0.01178925, -0.07107687, -0.09878797, 0.1556755, -0.055202577, -0.040342607, -0.1087109, 0.22202995, -0.02957374, 0.063299805, -0.0226507, 0.09204488, 0.08155232, -0.022691648, 0.061842438, -0.003388257) * go_4(1.0, 0.0); - result += mat4(-0.0058287196, -0.013047009, -0.15424606, -0.056314673, -0.06388496, 0.0222499, -0.11188726, 0.2635107, -0.05954232, 0.1667741, -0.12295786, -0.15182652, 0.1224556, -0.1186777, -0.011522621, -0.09436076) * go_4(1.0, 1.0); - result += mat4(0.07150499, -0.07419667, 0.16062357, -0.13254762, -0.010069923, 0.09393101, 0.035834856, -0.043301247, 0.059349176, 0.015473052, 0.06563933, -0.013041895, 0.029431, 0.11289305, 0.08899771, 0.16794808) * go_5(-1.0, -1.0); - result += mat4(-0.113425404, 0.14999859, 0.06650979, 0.036482334, 0.018955054, -0.10026139, 0.11925662, 0.114249855, 0.06869671, 0.052254554, -0.004852112, 0.0565278, 0.078193806, 0.05062573, 0.03250799, 0.19846839) * go_5(-1.0, 0.0); - result += mat4(0.021927554, -0.1345216, -0.0016766218, -0.13956897, -0.045278247, -0.0069249924, 0.006003127, 0.07814754, 0.10342034, 0.06784387, -0.069491945, 0.19103162, 0.14311132, -0.022440588, -0.06932795, 0.030535521) * go_5(-1.0, 1.0); - result += mat4(-0.04036147, 0.054757025, 0.017254664, -0.12124264, -0.1816484, 0.15580839, -0.09062968, -0.0048705437, -0.029410018, 0.038827926, 0.057098128, -0.018173074, -0.10805557, -0.14378877, -0.2585165, 0.172119) * go_5(0.0, -1.0); - result += mat4(-0.1310388, 0.18337108, 0.19657819, -0.010367786, -0.04445844, -0.24680386, -0.04328972, -0.0399127, 0.12341645, -0.08352961, 0.011123786, -0.083505794, -0.09089909, 0.060027592, -0.23706149, 0.03521439) * go_5(0.0, 0.0); - result += mat4(0.01557783, 0.010480741, 0.0434283, 0.16624042, -0.15881334, -0.04636994, -0.0038111496, 0.03575316, -0.08781109, 0.12979223, 0.06802427, 0.08255704, 0.37816545, -0.058951244, -0.102753684, 0.1256413) * go_5(0.0, 1.0); - result += mat4(-0.10425998, -0.071307346, -0.11617004, -0.13080333, 0.1492051, 0.054852143, 0.07140254, -0.064901225, 0.0023687668, 0.012650793, -0.1390397, -0.09889024, 0.19282119, -0.04274883, 0.1678261, 0.10092644) * go_5(1.0, -1.0); - result += mat4(0.052412614, -0.016467815, -0.08627941, 0.21175376, -0.037298422, 0.009408156, 0.09253116, 0.22531977, -0.09862147, 0.012014097, -0.00088612316, 0.10639377, 0.21262354, -0.36476177, 0.1831788, -0.18416084) * go_5(1.0, 0.0); - result += mat4(0.10780807, -0.049085826, -0.035806093, 0.089742415, -0.121957704, -0.07614303, 0.1122783, -0.1417334, -0.11307489, -0.099186234, -0.09983688, -0.08203866, 0.18696213, -0.10846918, 0.022843426, 0.17075616) * go_5(1.0, 1.0); - result += vec4(-0.10820368, 0.052109707, 0.02658453, -0.089495786); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06560893, -0.038288042, -0.0021071879, -0.030108955, 0.145761, 0.0029613946, 0.051950503, -0.015247062, 0.44679, 0.114423126, -0.006614156, -0.085114725, -0.17392384, -0.1525023, 0.00087433326, -0.0061209374) * go_0(-1.0, -1.0); - result += mat4(-0.038765047, 0.023672441, 0.07686677, 0.1169065, 0.057648882, -0.04956052, 0.18272647, 0.074001, 0.0148019185, -0.17424357, -0.15635398, -0.11640745, -0.044930972, 0.17733482, -0.118420936, 0.0034517103) * go_0(-1.0, 0.0); - result += mat4(-0.03843906, 0.14669247, -0.0016725688, -0.05404641, -0.010653548, -0.14568646, 0.01552742, 0.0075000613, -0.11138789, 0.12747082, -0.0019283098, 0.15637173, 0.17695609, 0.11176842, 0.037749417, 0.038456965) * go_0(-1.0, 1.0); - result += mat4(0.011113179, -0.033781096, 0.10000893, 0.09236021, 0.05682521, 0.047795758, 0.082160555, -0.06516607, 0.021327825, 0.123461336, 0.16531587, -0.017066834, -0.17193775, 0.0088722, 0.11325116, -0.008696895) * go_0(0.0, -1.0); - result += mat4(-0.1559535, -0.027437076, -0.06791055, 0.0076806503, -0.105000794, -0.013547857, 0.044852357, -0.072031856, 0.03666842, -0.09417821, 0.044465255, -0.021518283, 0.075612575, 0.12548204, 0.0053096185, -0.081135504) * go_0(0.0, 0.0); - result += mat4(-0.032854624, -0.04636654, 0.08900102, -0.006676651, -0.17161772, -0.11203611, -0.08199468, -0.09992361, 0.20184253, -0.1002281, -0.1186801, 0.07690125, 0.10468101, -0.034323484, 0.05079439, 0.05624683) * go_0(0.0, 1.0); - result += mat4(0.098402895, 0.21312171, -0.09616754, -0.0022171456, 0.13993289, 0.020528518, 0.14474267, -0.10080646, -0.1283229, 0.1904186, -0.040573347, -0.14794436, 0.054999832, -0.11960501, -0.061369505, 0.09603712) * go_0(1.0, -1.0); - result += mat4(-0.10725682, 0.06215029, 0.089609645, 0.018108908, 0.021400819, 0.031146, -0.22904995, -0.01076689, -0.105205126, 0.012291847, -0.048588227, -0.049485933, 0.114158444, -0.091215335, -0.027073242, -0.11835295) * go_0(1.0, 0.0); - result += mat4(-0.102791235, -0.029520744, -0.19900851, -0.029541757, -0.031764254, -0.008002707, -0.017105635, -0.07239135, 0.14740342, 0.05648717, 0.077909015, -0.14993371, 0.120271415, -0.10764749, 0.024895139, -0.06620364) * go_0(1.0, 1.0); - result += mat4(0.23614062, 0.17541821, -0.008834044, 0.18276002, 0.0081810225, 0.08408151, -0.13527961, -0.018539876, 0.014361589, -0.027012244, -0.17484863, -0.019362496, -0.037048925, 0.094974704, 0.018246485, 0.109574154) * go_1(-1.0, -1.0); - result += mat4(-0.1533575, 0.19374342, -0.027817149, 0.16140993, -0.06192059, 0.045258347, -0.09625185, -0.026630063, -0.0050361003, 0.020038875, 0.17793919, 0.059639167, 0.079904884, 0.03772698, 0.07656081, 0.21176697) * go_1(-1.0, 0.0); - result += mat4(0.03496418, -0.07980854, -0.022122597, -0.15199453, -0.029270291, 0.02720027, 0.10541389, -0.020044396, 0.031097332, 0.00533792, -0.07936573, 0.0767852, -0.052802965, 0.044324324, 0.1331397, 0.09737042) * go_1(-1.0, 1.0); - result += mat4(-0.09404921, -0.12238693, -0.15260863, -0.037168942, 0.101774864, -0.12818033, -0.19276977, 0.060901154, 0.3669953, -0.08837079, 0.09483071, 0.0039528203, 0.114874505, 0.11380748, -0.0675627, 0.099314205) * go_1(0.0, -1.0); - result += mat4(-0.18921007, 0.11088719, -0.03879293, 0.24393363, 0.024074616, -0.055593442, -0.038904842, 0.093477115, -0.074254654, 0.023504809, 0.0015475574, 0.06922074, -0.02201723, 0.04952918, -0.12691462, -0.04520855) * go_1(0.0, 0.0); - result += mat4(-0.015887981, 0.13304926, -0.006745367, 0.08113083, 0.14956935, -0.115906075, -0.14784655, 0.030012615, 0.031657662, -0.065392576, 0.26881677, 0.060661886, -0.022231037, -0.04828739, 0.09894193, -0.14562485) * go_1(0.0, 1.0); - result += mat4(-0.047161587, -0.017991489, -0.0075016962, -0.034034126, -0.061112147, 0.13156408, 0.16217458, 0.076580904, 0.1459869, 0.11071404, -0.043128885, 0.0338223, 0.21686563, 0.008266244, 0.058333807, 0.02561811) * go_1(1.0, -1.0); - result += mat4(-0.018609803, 0.0234848, 0.040451016, -0.08435358, -0.009784489, -0.008065147, -0.053126886, 0.011366649, -0.084467, -0.1788947, -0.12264094, -0.18014608, 0.059439298, 0.03542411, 0.078848965, -0.13048537) * go_1(1.0, 0.0); - result += mat4(0.078216806, 0.013697004, -0.15663616, -0.049786724, -0.13391373, -0.08318028, 0.06794668, 0.09373982, -0.083461255, 0.061056722, -0.2251907, -0.06139379, -0.20027658, -0.09285312, 0.039336286, 0.09701935) * go_1(1.0, 1.0); - result += mat4(-0.16103904, -0.102670334, 0.0012198326, -0.22724585, 0.23467462, 0.044629287, 0.0045051533, 0.08221795, 0.13965432, -0.025059564, 0.009324332, 0.17598952, 0.10017599, 0.043154277, 0.09106905, 0.004035487) * go_2(-1.0, -1.0); - result += mat4(-0.044398602, -0.02080209, 0.07439402, -0.0837648, -0.09127961, -0.16654146, -0.028559506, 0.063172385, 0.02517883, -0.2839795, -0.011589502, -0.07898659, -0.013581755, -0.18534079, -0.0017158306, 0.105475046) * go_2(-1.0, 0.0); - result += mat4(0.104462, 0.27500334, -0.16876803, -0.067298174, -0.011149543, 0.026384255, -0.10175635, -0.2548854, -0.1283541, -0.16410558, 0.07503598, -0.02121285, -0.0064750114, -0.09670444, 0.08300398, 0.19831792) * go_2(-1.0, 1.0); - result += mat4(-0.009554492, -0.095104635, 0.08615534, -0.10154481, 0.11020224, -0.1011952, 0.061394565, 0.050413556, 0.19796023, 0.11560851, 0.033866078, 0.23405328, -0.0060241343, -0.050427623, -0.18293521, -0.031680096) * go_2(0.0, -1.0); - result += mat4(0.058735132, 0.026442906, -0.23102848, -0.07569987, -0.26244682, -0.20584835, 0.2259608, 0.06885029, 0.035959512, 0.075910114, -0.17818634, 0.053924832, -0.0046540634, -0.02363428, -0.0501489, 0.07347372) * go_2(0.0, 0.0); - result += mat4(-0.0733894, 0.10715639, 0.28019708, 0.100572936, -0.07274408, 0.072782665, -0.056028996, 0.06478587, -0.031222489, 0.043191776, -0.10039772, -0.21392053, -0.04606884, -0.16641788, 0.0065926304, 0.055378567) * go_2(0.0, 1.0); - result += mat4(-0.118616246, -0.13528953, -0.19563872, 0.23483656, 0.02614144, 0.19605434, -0.05274385, -0.08863971, 0.16891058, 0.1366527, 0.09084148, 0.100328505, 0.034491546, 0.08647768, 0.21777217, -0.049174547) * go_2(1.0, -1.0); - result += mat4(0.1357159, -0.012445991, 0.3096013, 0.181176, -0.010390439, 0.14459321, -0.10700577, -0.011389145, 0.09287424, 0.07787938, -0.096365124, 0.017783955, -0.09306514, 0.15694624, -0.14705794, -0.13922045) * go_2(1.0, 0.0); - result += mat4(0.13941582, 0.19728883, -0.151456, 0.10526561, -0.09251345, 0.11684088, 0.1303061, 0.14257613, -0.20296581, 0.00048331724, 0.2851077, -0.20377511, -0.057946853, 0.031233812, -0.15364504, -0.009259494) * go_2(1.0, 1.0); - result += mat4(-0.098066, -0.08288004, -0.06673981, -0.06435033, 0.034342356, 0.015804073, 0.023787297, 0.10401755, -0.19141194, -0.16482951, -0.0056575392, 0.0093797995, -0.28313008, 0.0048112553, -0.017099613, 0.02518723) * go_3(-1.0, -1.0); - result += mat4(-0.030270405, -0.038700357, -0.013410372, -0.004442315, -0.12467148, 0.08281559, -0.1605282, 0.069578275, 0.10012911, 0.01924674, -0.021857055, 0.07991313, 0.00801384, 0.13677774, 0.013247758, 0.03188123) * go_3(-1.0, 0.0); - result += mat4(-0.17157516, -0.08176375, -0.089773096, -0.0405298, -0.085242964, -0.03426719, 0.054874644, 0.066589154, 0.04864499, -0.18212035, -0.11903994, 0.04277644, -0.24286698, 0.14560008, 0.1412366, -0.049351584) * go_3(-1.0, 1.0); - result += mat4(-0.0020793858, 0.13244559, 0.022845006, -0.056293562, 0.025595138, 0.12697968, 0.0062493416, 0.10955782, -0.02731004, -0.04970028, 0.0558574, 0.013929665, -0.030912375, -0.07561133, -0.31270868, 0.027562078) * go_3(0.0, -1.0); - result += mat4(0.072941735, 0.021501537, -0.0630067, -0.10351342, 0.0041823885, 0.13891226, -0.070387594, 0.052334826, -0.003547599, 0.19354597, -0.020180183, -0.037713047, 0.06751014, -0.17405544, -0.020440113, 0.25509283) * go_3(0.0, 0.0); - result += mat4(0.005987273, -0.08264425, -0.019549685, -0.06343352, -0.005718748, 0.05226893, 0.07570872, -0.030717341, -0.18217428, -0.0039694863, 0.1455871, -0.0977504, -0.15671553, -0.006649227, -0.1283491, 0.100330345) * go_3(0.0, 1.0); - result += mat4(-0.057930637, -0.114826396, 0.06898038, -0.13852106, 0.024047598, 0.20633829, -0.12503678, 0.022534683, -0.18774416, -0.31502175, -0.10984795, -0.018557208, 0.17580375, 0.25652558, 0.22530238, -0.0028108188) * go_3(1.0, -1.0); - result += mat4(0.023331782, -0.01088776, -0.0052380436, 0.00686383, 0.026780738, 0.03749848, 0.22947483, -0.103271484, 0.012644287, -0.0142970905, 0.098855376, 0.0055474946, 0.032439362, 0.027143423, -0.14876749, -0.06213873) * go_3(1.0, 0.0); - result += mat4(-0.03750828, 0.010431886, 0.17416674, -0.090744555, -0.17330858, 0.013979898, 0.03489776, -0.13337487, 0.00858403, -0.037750907, -0.17109399, 0.08273273, -0.14204618, -0.009869641, -0.013496473, 0.076338045) * go_3(1.0, 1.0); - result += mat4(-0.043562744, -0.18440323, 0.011339632, -0.14345059, -0.08992258, -0.10230683, -0.10468143, 0.34146136, 0.15978895, -0.0051261852, 0.061601657, 0.09483878, -0.007760578, -0.018336317, 0.044910427, -0.09316569) * go_4(-1.0, -1.0); - result += mat4(0.1253627, -0.12310892, 0.016166732, 0.027448155, 0.13965616, -0.13030767, 0.17542621, 0.061852284, 0.16997853, 0.0056183804, -0.18704928, -0.019231116, -0.08086044, 0.09974395, -0.01429541, 0.03184063) * go_4(-1.0, 0.0); - result += mat4(0.04526007, 0.030035531, 0.03181006, 0.22173904, -0.1355034, -0.1948648, 0.06783468, 0.038674995, -0.046629447, -0.03462297, 0.09421528, 0.048745953, 0.16898066, 0.13283801, -0.14163011, -0.23105736) * go_4(-1.0, 1.0); - result += mat4(0.07269096, -0.06190773, -0.038986176, 0.102121696, 0.14298806, 0.23800415, 0.1370508, 0.0034182875, 0.009464909, 0.073990576, -0.028228868, 0.047769118, -0.11799714, -0.07566264, -0.025975682, 0.06592005) * go_4(0.0, -1.0); - result += mat4(0.1140849, 0.0011444123, 0.13536933, -0.045905575, 0.050907966, -0.065915674, 0.034910467, -0.2681743, 0.10803704, 0.12069119, -0.12347737, -0.06318596, -0.06862493, 0.014980036, 0.22914106, 0.0003237674) * go_4(0.0, 0.0); - result += mat4(-0.09530222, -0.11337397, 0.014516241, 0.0709293, -0.122670494, -0.17343688, -0.09817145, 0.0427696, -0.0035809735, 0.0970125, -0.35413933, -0.13195236, 0.07348421, 0.11037325, 0.056015544, -0.011848703) * go_4(0.0, 1.0); - result += mat4(-0.05069634, -0.032064505, -0.03238415, 0.1735258, 0.25210074, 0.10959535, -0.2741513, 0.13719772, 0.1066583, 0.20128429, -0.008766815, -0.11834798, 0.057237767, 0.017930366, 0.021861222, -0.025086008) * go_4(1.0, -1.0); - result += mat4(-0.000881232, -0.05960106, -0.08985197, 0.14067702, 0.018204128, 0.09699959, -0.05949243, 0.059911992, 0.027270103, 0.06743677, 0.38237867, -0.058599375, -0.047956746, 0.11374969, -0.14632292, -0.005532837) * go_4(1.0, 0.0); - result += mat4(-0.0312775, 0.0031963694, 0.08149806, 0.13988096, -0.0040519754, 0.035389222, 0.0864673, 0.18592173, 0.03735674, -0.054272953, 0.18598364, -0.13443853, 0.085672796, -0.049046505, 0.0057935636, 0.017542645) * go_4(1.0, 1.0); - result += mat4(-0.04916441, 0.015665755, 0.08576695, 0.17165792, -0.13008267, 0.04201376, -0.2670682, 0.119378634, -0.100484766, -0.0887232, 0.049034663, -0.039614394, 0.02695341, -0.04374321, -0.106656834, 0.023938615) * go_5(-1.0, -1.0); - result += mat4(0.03373819, 0.004977311, -0.0040103244, 0.13545765, 0.06599036, -0.09659661, 0.22132197, -0.116552144, 0.100918315, -0.022979576, 0.07052367, 0.04172229, 0.17585796, 0.05118707, -0.08703159, 0.055033304) * go_5(-1.0, 0.0); - result += mat4(-0.18900026, 0.019988917, 0.07693406, 0.28435934, 0.12686001, -0.14701878, -0.09573673, -0.17312722, 0.15025325, 0.12911554, -0.09475629, 0.016428819, 0.082817025, -0.11946521, -0.0013731157, -0.09071587) * go_5(-1.0, 1.0); - result += mat4(0.0797976, 0.11099694, -0.05467964, 0.014629147, -0.09720358, 0.04712591, 0.015981004, -0.05535863, 0.03645818, 0.041274335, 0.10671675, -0.11314873, 0.036964905, 0.17811853, 0.08903187, 0.0095582185) * go_5(0.0, -1.0); - result += mat4(0.11976107, 0.004657432, -0.06258394, -0.022577194, 0.17443101, 0.1387175, 0.059126876, 0.032149844, 0.1430801, 0.002375262, -0.12749809, 0.08837332, 0.06466934, 0.13617098, 0.04582338, 0.068308234) * go_5(0.0, 0.0); - result += mat4(0.022942754, -0.09855706, 0.049297135, 0.096298546, 0.1906194, 0.11273925, -0.22720218, 0.003925555, 0.0028442615, -0.12138431, 0.09074982, -0.030113788, 0.00383381, -0.09112362, -0.27005482, 0.022827866) * go_5(0.0, 1.0); - result += mat4(-0.19426541, 0.009114653, 0.11889596, -0.057239886, -0.03998725, -0.1694043, -0.20197673, 0.041406937, 0.020746358, 0.22414313, -0.1622876, -0.11014813, -0.09325455, -0.08461812, -0.021865716, 0.008194336) * go_5(1.0, -1.0); - result += mat4(0.021359676, -0.022532789, -0.10541426, -0.24901268, 0.030835157, -0.034806997, 0.10264721, -0.006528542, -0.03765987, 0.069545716, 0.25284502, 0.04730265, -0.012214816, -0.053018507, 0.13373806, -0.037745554) * go_5(1.0, 0.0); - result += mat4(-0.09582438, -0.18056035, -0.09869147, 0.11321111, -0.10706152, -0.037460733, 0.121544324, -0.11290087, 0.18490471, -0.06921383, -0.19518846, 0.10960292, -0.06263085, 0.13362981, -0.08682174, -0.053608853) * go_5(1.0, 1.0); - result += vec4(-0.019858388, -0.049763262, 0.034831703, -0.12479427); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1652761, 0.13780159, 0.09095229, -0.043444302, -0.06450598, 0.04212247, 0.069517806, 0.09327406, -0.033491675, -0.14936084, 0.009638944, 0.11837384, 0.02686685, 0.037584316, -0.09761867, -0.026200296) * go_0(-1.0, -1.0); - result += mat4(-0.12561406, 0.12076126, 0.028275209, -0.08543192, -0.099475406, -0.0822321, 0.0920009, 0.06756713, -0.10781483, -0.12923865, 0.032576296, 0.3534597, 0.03224445, -0.015600879, -0.025559058, -0.027278373) * go_0(-1.0, 0.0); - result += mat4(0.07211016, 0.054111533, 0.13363571, -0.010288602, -0.20603329, 0.0047039236, -0.04776343, 0.25487995, -0.10845931, 0.0972547, -0.10519721, -0.0073581343, -0.10403583, -0.06662798, 0.041069936, -0.11237198) * go_0(-1.0, 1.0); - result += mat4(-0.011475162, 0.062792905, 0.091312, 0.30339372, -0.11382581, 0.06737181, 0.07341503, 0.16007973, 0.001011511, -0.11274179, -0.006656744, -0.034754373, 0.08876155, 0.014858809, 0.08583179, 0.010586847) * go_0(0.0, -1.0); - result += mat4(0.095108636, 0.0049300413, -0.15713759, -0.049208567, 0.14641964, -0.1558201, 0.115891516, -0.06733412, -0.07573838, 0.29731378, 0.108890355, 0.043476757, 0.06507369, 0.035861496, -0.03979463, 0.0009747037) * go_0(0.0, 0.0); - result += mat4(0.04926235, -0.037529353, 0.079898834, -0.14147292, -0.08446753, -0.06169593, 0.047313344, 0.26457137, -0.035472378, -0.073560245, 0.14341679, -0.022741733, -0.1525431, -0.01243139, -0.011166588, -0.20521918) * go_0(0.0, 1.0); - result += mat4(-0.016135108, 0.011612018, 0.14412925, -0.02519369, 0.09124221, 0.05163101, -0.13721077, 0.028859738, -0.10101291, -0.14688651, 0.15746878, -0.124548726, -0.04213581, -0.01224665, 0.17707069, 0.012810498) * go_0(1.0, -1.0); - result += mat4(-0.17663126, -0.07370428, 0.043691028, -0.006832302, -0.050157465, -0.030904332, 0.061489057, -0.009296911, 0.03220379, -0.047700413, -0.029812776, 0.16822562, 0.041632306, 0.11511152, 0.09653043, -0.055198412) * go_0(1.0, 0.0); - result += mat4(0.13367188, 0.03333002, 0.008851994, -0.012191224, -0.045508027, 0.08612423, 0.06786381, 0.15179649, -0.031041663, -0.059014346, 0.15675054, -0.08772905, 0.09033015, -0.08435604, 0.07550108, -0.14843665) * go_0(1.0, 1.0); - result += mat4(0.14639384, 0.16561817, -0.03261034, -0.03337392, 0.14970617, -0.11748068, -0.12750028, -0.10566866, 0.16191705, -0.08984127, 0.06803522, 0.008120483, 0.10923837, 0.0364358, -0.13485567, 0.14291629) * go_1(-1.0, -1.0); - result += mat4(-0.02444568, 0.21520157, 0.05191823, 0.17272551, -0.047668163, -0.09192939, -0.020734387, -0.016689759, -0.21506861, -0.038079426, 0.099174924, 0.010456613, -0.20138906, -0.0112631135, 0.08758567, -0.045137912) * go_1(-1.0, 0.0); - result += mat4(0.060797717, 0.03514636, -0.05460338, -0.095668696, -0.08528851, -0.07811166, 0.12541622, -0.036730994, -0.14369172, -0.010652937, 0.0060692867, -0.1785254, 0.14972189, -0.13451393, -0.04655055, 0.16085984) * go_1(-1.0, 1.0); - result += mat4(0.05367569, 0.20912962, 0.018910028, -0.10154244, 0.03168856, 0.06779478, -0.088652916, 0.016729023, 0.10557536, -0.099209085, 0.14797546, -0.18952388, 0.07048445, 0.102708265, -0.14564602, 0.12568687) * go_1(0.0, -1.0); - result += mat4(-0.049337912, -0.12502758, -0.09065302, 0.19880529, 0.26680514, -0.003136209, -0.11733151, -0.11684242, -0.04335924, 0.30764192, 0.2855104, 0.04156867, -0.08121212, 0.23999381, -0.019614706, 0.027516816) * go_1(0.0, 0.0); - result += mat4(-0.04837136, -0.0049304874, 0.006328469, 0.013705871, 0.067017764, -0.03406703, 0.053161882, 0.24689339, -0.02929922, 0.06797918, 0.015713276, -0.17147881, 0.04482974, 0.07526465, 0.019844312, -0.18729854) * go_1(0.0, 1.0); - result += mat4(0.030257802, 0.010643463, -0.11703066, -0.015162744, -0.074236035, 0.01591241, 0.061938114, -0.08404092, 0.111995466, -0.13485448, 0.21688463, -0.110088274, 0.079335205, -0.2474801, -0.03824567, -0.018190503) * go_1(1.0, -1.0); - result += mat4(-0.11581714, -0.004117979, 0.033883266, -0.13720983, 0.029020213, -0.08154189, -0.0020539986, 0.11715364, 0.17582226, 0.0916048, 0.0750543, 0.06601126, 0.038681798, -0.03606899, 0.08065586, 0.0019443193) * go_1(1.0, 0.0); - result += mat4(-0.037615683, 0.12732984, 0.042441927, -0.008004603, 0.11336218, -0.042417236, 0.044717386, -0.13728632, 0.038264424, 0.17234874, -0.02492702, 0.120399185, 0.024329247, 0.024983741, -0.1845697, -0.07284304) * go_1(1.0, 1.0); - result += mat4(0.2704137, 0.15812507, 0.060361683, -0.07266647, -0.15354276, -0.04938148, 0.11895455, -0.12520859, -0.07866695, 0.06199223, 0.02046756, 0.16162948, 0.037545823, -0.08195345, -0.02782581, -0.1247714) * go_2(-1.0, -1.0); - result += mat4(0.058098216, 0.1090351, 0.036994565, -0.14390574, -0.02314059, -0.067219526, -0.08998296, 0.12025692, -0.1035221, 0.05190676, -0.0240437, 0.06639121, -0.039624542, 0.002958745, 0.019561864, 0.12834862) * go_2(-1.0, 0.0); - result += mat4(0.2211613, -0.1103558, -0.0464588, 0.06874506, -0.32631674, 0.11210603, 0.051548798, -0.34436032, -0.11639206, 0.12327613, 0.051884107, -0.03575669, 0.035892785, -0.06696002, -0.15486757, 0.11983755) * go_2(-1.0, 1.0); - result += mat4(0.021447798, 0.010329525, 0.013789607, 0.119596116, -0.05871373, 0.055229582, 0.20033267, 0.03858596, -0.10166856, 0.0006909935, 0.0964782, 0.095391914, 0.013319357, -0.13142642, 0.1100771, 0.050889898) * go_2(0.0, -1.0); - result += mat4(-0.16984001, -0.16002657, -0.060783282, -0.17456883, 0.2011064, -0.14940733, -0.15602681, 0.14061591, 0.18068549, -0.00217099, -0.024712907, 0.037761874, -0.07138531, -0.0016056405, 0.11756802, 0.18380354) * go_2(0.0, 0.0); - result += mat4(0.07733175, -0.17642827, 0.07976922, -0.051280692, 0.16156857, 0.032522928, -0.095040165, -0.0583928, 0.038923588, -0.043146443, -0.10355574, 0.1974055, 0.04354748, 0.09425934, 0.026754672, 0.23734866) * go_2(0.0, 1.0); - result += mat4(-0.13585593, 0.14902504, -0.27107853, 0.13296895, -0.2865579, -0.074112825, 0.1409574, -0.0003253808, 0.1733374, -0.16919981, 0.03372848, 0.21644552, -0.00050592434, -0.037268158, 0.1148079, -0.13287376) * go_2(1.0, -1.0); - result += mat4(0.005142486, 0.0867682, -0.09227092, -0.10524167, 0.07520852, 0.015542765, 0.016817883, -0.0733789, 0.20560083, -0.1119311, 0.17374502, -0.107678846, -0.09381425, 0.14690572, 0.022286026, -0.19862098) * go_2(1.0, 0.0); - result += mat4(-0.20393431, -0.045187343, 0.0095105795, 0.052588273, -0.14538154, 0.18569797, -0.031874318, -0.15881945, -0.08170196, 0.052769475, -0.15122755, 0.090783544, 0.21360469, 0.04577172, 0.05163147, 0.07916663) * go_2(1.0, 1.0); - result += mat4(0.14100257, -0.03398819, -0.052019518, -0.08121586, 0.008056087, -0.0931302, -0.19780545, 0.16904305, -0.13034676, 0.08930879, -0.0112331435, 0.029833045, 0.03981243, 0.12613662, -0.2159093, 0.035136405) * go_3(-1.0, -1.0); - result += mat4(0.09830958, 0.10535925, -0.08584078, -0.04632737, 0.0022527708, -0.031659063, -0.101096116, 0.063173816, -0.06613251, 0.118981436, -0.003423647, -0.105914734, -0.07703021, -0.07204621, -0.0748016, -0.11777416) * go_3(-1.0, 0.0); - result += mat4(0.053663094, 0.07884249, -0.17141959, -0.012647486, 0.08073693, -0.076323204, -0.17775054, 0.10244291, 0.14563464, 0.14345805, -0.18157926, 0.18835878, -0.026068632, 0.023138894, -0.0019046182, -0.00012485609) * go_3(-1.0, 1.0); - result += mat4(0.1348711, -0.04699952, 0.15993118, -0.23344111, 0.026501887, -0.14297141, -0.113242336, 0.080124736, -0.03513346, 0.10361922, -0.0922229, 0.07750678, 0.12542203, 0.12729637, -0.092106655, 0.055520497) * go_3(0.0, -1.0); - result += mat4(0.083170444, -0.06302187, 0.0084091, -0.04599831, -0.035450544, -0.19657601, -0.07282212, 0.1447326, 0.11383889, -0.21189907, -0.045117173, -0.07391879, -0.11269967, -0.08903234, -0.032466423, 0.22887331) * go_3(0.0, 0.0); - result += mat4(0.067729145, 0.06700018, -0.18447827, 0.03988203, 0.05277088, 0.033052627, -0.11088279, -0.02169712, 0.019287307, 0.06812, 0.04875055, 0.111010365, -0.14138764, 0.027063884, -0.05214136, 0.16399074) * go_3(0.0, 1.0); - result += mat4(0.004932597, 0.1045028, -0.16486417, 0.010725656, 0.06950409, -0.121699296, 0.010512686, 0.14147647, 0.019202268, 0.17767008, 0.011134318, 0.063502066, -0.13067701, 0.108099535, -0.114125356, -0.046774942) * go_3(1.0, -1.0); - result += mat4(0.15779556, 0.07332346, 0.063827224, 0.008358174, 0.0496721, -0.030757044, -0.050408855, 0.12898293, 0.023491597, 0.045543656, -0.07800668, 0.037886333, 0.17256846, 0.07125766, 0.029893918, -0.02450649) * go_3(1.0, 0.0); - result += mat4(-0.18544081, -0.033090588, -0.05919492, -0.0003458201, 0.14915435, -0.037259944, 0.011946766, -0.16243212, 0.0882922, 0.093222775, -0.11737426, -0.003943405, 0.019537527, 0.0077801496, 0.1317979, -0.09169945) * go_3(1.0, 1.0); - result += mat4(-0.091774754, 0.012059926, 0.03165443, 0.14858909, 0.3944464, -0.014972357, -0.12189733, 0.26198938, -0.27252647, -0.026880303, -0.06978548, -0.013632001, -0.0032966428, -0.18498091, -0.0004948639, -0.12478541) * go_4(-1.0, -1.0); - result += mat4(-0.02833149, -0.050442036, -0.041132275, -0.07840716, 0.04005613, 0.17621154, -0.13607822, 0.1762098, 0.05282825, 0.0016353457, 0.006173704, -0.067321114, 0.13982886, -0.03623519, -0.087992206, -0.047710747) * go_4(-1.0, 0.0); - result += mat4(0.03881576, -0.08746933, -0.011487434, 0.12498892, -0.0017975342, 0.018888952, -0.18913451, 0.08337154, -0.090970725, 0.117090665, 0.1504768, -0.070024244, -0.019629575, -0.091753945, -0.0092930645, -0.15750532) * go_4(-1.0, 1.0); - result += mat4(0.017022166, -0.12516023, -0.12154394, 0.11974826, -0.09612418, -0.115943454, 0.24888757, 0.06153447, 0.056513205, -0.11116729, 0.029329464, 0.08975961, 0.10630068, -0.1328722, -0.06946471, -0.13333926) * go_4(0.0, -1.0); - result += mat4(-0.034902636, 0.2483038, 0.14978237, -0.07164234, -0.012161076, 0.023050508, 0.06598259, -0.043513447, 0.10375706, -0.20177342, -0.123048, -0.035172284, -0.07363312, 0.18172532, 0.09612206, 0.19234397) * go_4(0.0, 0.0); - result += mat4(0.029563665, -0.029694784, -0.101416424, -0.030606827, -0.070010245, 0.045257732, 0.05966623, 0.09107148, 0.03758803, 0.026623867, -0.071266346, 0.094123766, -0.059981044, 0.09513772, -0.08400028, 0.02511076) * go_4(0.0, 1.0); - result += mat4(-0.037089724, -0.06322222, 0.1061242, 0.008586227, 0.13214453, 0.035300348, -0.15787113, 0.07151468, -0.12539263, -0.09025181, 0.18832791, -0.033440433, -0.06625288, -0.1530654, -0.005935112, -0.18216603) * go_4(1.0, -1.0); - result += mat4(0.027623197, -0.04890818, -0.061262466, 0.015195151, 0.32218042, 0.19153431, -0.08007639, -0.11445247, 0.00393679, -0.06705804, -0.12879996, -0.1423812, -0.06090306, 0.0036856222, 0.0069346135, 0.043838803) * go_4(1.0, 0.0); - result += mat4(-0.016647626, -0.08680245, -0.060714565, -0.06387184, 0.18913822, 0.10105815, -0.026422933, -0.039242256, -0.06503463, -0.03521194, 0.049169898, -0.06533137, -0.03167689, 0.015587601, -0.08370448, -0.021492135) * go_4(1.0, 1.0); - result += mat4(-0.12721944, 0.028729077, 0.10713755, -0.09260985, -0.047840588, 0.022301238, 0.11309327, -0.06745379, -0.004154309, 0.10523564, -0.04239449, -0.017029425, 0.10899646, 0.1546228, -0.07669311, 0.2672058) * go_5(-1.0, -1.0); - result += mat4(-0.056850802, -0.05440277, 0.0018135635, 0.09396988, 0.14010292, 0.08741186, -0.12758048, -0.08599669, -0.018672993, 0.05172455, 0.008185248, 0.111759275, -0.06955318, 0.14772479, 0.008665618, 0.0352044) * go_5(-1.0, 0.0); - result += mat4(-0.059702516, 0.058782764, -0.12532151, -0.096861176, 0.35831934, 0.0013884759, 0.30706376, -0.101967454, 0.095553055, 0.05883552, 0.06424327, 0.054175656, -0.1484007, 0.13297899, -0.01961164, 0.15321216) * go_5(-1.0, 1.0); - result += mat4(0.09578697, -0.20968121, 0.04902802, -0.030943176, -0.009951699, -0.05341875, -0.063387014, -0.0825744, -0.09769999, -0.075733155, 0.14749058, 0.12551898, 0.24074706, 0.16208081, -0.21561289, -0.062474046) * go_5(0.0, -1.0); - result += mat4(0.0017662761, -0.088773146, 0.0043133483, 0.32119426, -0.13667256, 0.043542203, -0.045929775, -0.09663573, -0.136664, -0.19760157, -0.07579348, -0.04397654, 0.15027492, 0.08591492, -0.03781643, -0.1743205) * go_5(0.0, 0.0); - result += mat4(-0.12654322, 0.028860493, 0.12822515, 0.049503203, 0.30117163, -0.03055389, -0.0582901, 0.0019550966, -0.0038878717, 0.0043905065, -0.12589069, -0.22796634, -0.10635117, 0.16903181, 0.16951965, 0.027410017) * go_5(0.0, 1.0); - result += mat4(-0.059951358, -0.20652413, 0.056598257, -0.1811566, 0.2165428, -0.14381465, 0.20429386, 0.025329571, -0.19378977, -0.055971343, -0.0010970832, 0.08035063, 0.077368416, 0.078627735, 0.07322149, -0.14884202) * go_5(1.0, -1.0); - result += mat4(0.041847393, -0.12735637, 0.014505967, 0.10192219, -0.13889207, -0.015992412, -0.17310154, 0.12131598, -0.13452062, -0.00036142246, -0.14270298, 0.14636193, 0.059705302, 0.051249746, 0.015804589, -0.11418885) * go_5(1.0, 0.0); - result += mat4(-0.043562837, -8.029936e-05, -0.007859607, -0.08610097, -0.021267893, -0.011354754, -0.17890069, -0.0485164, -0.1679154, 0.11548207, -0.060171373, -0.24584498, 0.008396757, 0.1078782, 0.12012115, 0.07315681) * go_5(1.0, 1.0); - result += vec4(-0.067701444, -0.05630008, 0.022760866, -0.034229018); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.092447594, -0.10328636, -0.12202365, 0.27040935, 0.052717082, 0.018614411, -0.08485268, -0.07617377, -0.008931799, 0.051284462, 0.051496644, 0.026522819, 0.09565774, 0.18421015, 0.26325333, -0.12989432) * go_0(-1.0, -1.0); - result += mat4(0.03988519, 0.042028125, -0.07100362, 0.03045228, 0.068984345, 0.03516445, 0.05874817, -0.028063854, 0.5054902, -0.16185366, 0.12543231, 0.07206758, 0.31235528, 0.03843813, 0.1501265, -0.08274924) * go_0(-1.0, 0.0); - result += mat4(-0.11169874, -0.06681513, -0.00651678, 0.0010351768, 0.051753096, 0.053674143, 0.11657592, 0.12309117, -0.040198836, -0.007768111, 0.10881242, -0.14587292, 0.17091802, -0.087406136, -0.057882708, 0.0078790905) * go_0(-1.0, 1.0); - result += mat4(0.26830226, -0.01915989, -0.18262567, 0.2194732, 0.13879527, -0.031352315, 0.15241407, 0.0994905, -0.057112038, 0.17008875, 0.037308767, 0.09374541, -0.3188967, 0.01450157, -0.18610804, -0.0793318) * go_0(0.0, -1.0); - result += mat4(0.0060915435, 0.06979378, -0.046237, -0.27248916, 0.09547359, -0.07666023, 0.09364251, 0.026975514, 0.16541278, 0.042641494, -0.02498914, 0.15121445, -0.0013431904, -0.06427887, 0.18217684, 0.26087397) * go_0(0.0, 0.0); - result += mat4(-0.20825194, -0.11043138, 0.02976852, -0.105722494, 0.0008496603, -0.065933526, 0.06687892, 0.025230588, 0.18294227, -0.03581215, 0.14366323, 0.101520695, 0.25154486, 0.055622917, -0.012970234, 0.054395743) * go_0(0.0, 1.0); - result += mat4(0.21373472, -0.030288193, 0.06773853, 0.07427125, -0.0103815105, 0.016129585, 0.038576525, 0.037529152, -0.20739938, -0.05778662, -0.05940614, 0.02449663, 0.23593283, -0.05812938, -0.039888572, -0.057957932) * go_0(1.0, -1.0); - result += mat4(0.387659, 0.1274861, 0.28752464, -0.05272344, -0.014581121, 0.0040657013, -0.06632645, -0.107276425, 0.03762339, 0.2742528, 0.028725976, -0.054044764, -0.04273324, -0.06317463, 0.0060703703, 0.053600952) * go_0(1.0, 0.0); - result += mat4(-0.1596047, -0.1561146, 0.109226674, -0.0052362215, 0.16038993, 0.10755746, -0.030864978, -0.36270598, 0.17078364, 0.09184639, 0.23489448, 0.026559642, 0.04388386, -0.061411064, 0.028113337, -0.045337155) * go_0(1.0, 1.0); - result += mat4(-0.111932576, 0.0021055648, -0.12106931, 0.019196665, 0.033925258, -0.13593148, -0.068236336, 0.107576296, 0.0415075, -0.2336552, -0.052428674, 0.07777366, 0.00816918, 0.2065682, -0.08628869, 0.15342048) * go_1(-1.0, -1.0); - result += mat4(-0.021824878, -0.04840494, -0.116642684, 0.045604706, 0.008168658, -0.04534853, 0.11214711, -0.10829524, -0.043486122, -0.24905528, -0.07315474, 0.14727196, -0.07264179, 0.065202385, -0.0019039236, -0.08028288) * go_1(-1.0, 0.0); - result += mat4(0.08439612, 0.008386524, -0.030988367, 0.09697018, -0.049302116, 0.20326442, -0.018234255, -0.20189443, 0.042629667, -0.1409463, -0.050773926, -0.29503027, -0.07123911, -0.046633366, 0.07981456, 0.10374346) * go_1(-1.0, 1.0); - result += mat4(0.03868367, -0.05526043, -0.106714435, -0.14639367, 0.038107764, 0.069904044, 0.0744559, 0.13862458, 0.09222159, -0.14277418, -0.19073294, -0.03296828, -0.10584655, 0.13311721, -0.24290293, -0.008493607) * go_1(0.0, -1.0); - result += mat4(-0.15074006, 0.094411716, -0.058070287, -0.10475867, 0.127535, 0.047796316, 0.033599593, 0.055493813, 0.17686792, -0.23935609, -0.27880296, -0.12433512, 0.049884334, 0.0651521, 0.009873332, -0.039633323) * go_1(0.0, 0.0); - result += mat4(0.025122408, 0.16321969, -0.06588295, 0.09563756, -0.115063086, -0.061710395, 0.073383145, 0.09976373, 0.09290709, -0.042226892, -0.22798967, -0.14234817, -0.089538574, 0.022935519, 0.09885692, -0.050982323) * go_1(0.0, 1.0); - result += mat4(0.09486296, 0.04397677, 0.04075486, 0.056717344, -0.04711896, 0.04990853, -0.16473778, 0.13175704, 0.12485286, -0.18850122, -0.13122937, -0.102840684, -0.16874318, 0.05348968, -0.017259317, 0.07717163) * go_1(1.0, -1.0); - result += mat4(-0.059502125, -0.13897286, -0.03801125, 0.17431264, 0.11680923, -0.12560965, -0.0911302, -0.19165933, -0.121053115, 0.06541917, -0.06419728, -0.19364956, -0.13833821, 0.03234477, -0.09979964, 0.17789067) * go_1(1.0, 0.0); - result += mat4(0.067596145, 0.25704458, 0.19766523, 0.108859204, 0.09887382, 0.052284334, -0.07278858, 0.122003525, -0.030752266, -0.04871386, -0.05135825, -0.3072661, -0.033045944, -0.098459914, 0.10718348, -0.13164413) * go_1(1.0, 1.0); - result += mat4(0.020737967, 0.24545951, -0.044812705, 0.03566297, 0.095929176, -0.07487561, 0.20496303, 0.037086472, 0.038242895, 0.088189796, 0.021153267, -0.09462902, 0.026548525, -0.21922965, 0.050257247, -0.048741706) * go_2(-1.0, -1.0); - result += mat4(0.040332116, 0.043284092, 0.24138524, -0.02451653, -0.13059705, 0.0343388, -0.07902276, -0.009631078, -0.0848101, 0.010842163, 0.086510465, -0.012446626, 0.005316944, -0.22108673, 0.14004333, 0.15579557) * go_2(-1.0, 0.0); - result += mat4(0.022010755, 0.004139463, -0.017926715, 0.04037725, 0.016520657, 0.009780203, -0.14736284, -0.014491211, 0.057596914, -0.23008622, 0.21133287, -0.053522564, -0.18740861, -0.106346205, 0.10276541, 0.043288257) * go_2(-1.0, 1.0); - result += mat4(0.10575789, 0.019061945, -0.026198203, 0.20347466, 0.07900247, 0.102640145, 0.08666188, -0.05840282, 0.058876745, 0.14216799, -0.11816214, 0.14975895, 0.09833406, -0.1061385, 0.08465644, 0.09426659) * go_2(0.0, -1.0); - result += mat4(-0.13777718, -0.28986838, 0.07906812, 0.059411187, 0.09088133, 0.23517007, -0.20900714, 0.011920497, 0.14009877, 0.19299953, -0.028272772, 0.06418091, 0.118590616, -0.111001015, -0.055573206, 0.085596696) * go_2(0.0, 0.0); - result += mat4(-0.124967046, -0.23403575, -0.085109934, 0.094934925, 0.15895598, 0.08125505, -0.2215677, 0.10778676, -0.12129276, -0.0019275933, 0.14121452, -0.07975474, -0.057002395, -0.052832086, -0.1850646, -0.100982465) * go_2(0.0, 1.0); - result += mat4(0.0710814, 0.20992099, 0.07493418, -0.109678715, -0.18531376, -0.039698873, -0.110102035, 0.16468482, 0.08024999, -0.09387882, -0.13551506, 0.11087316, -0.10608426, -0.13655968, 0.01102362, -0.060193118) * go_2(1.0, -1.0); - result += mat4(-0.015583674, -0.06961451, 0.14489253, -0.27566335, -0.17987481, -0.027696218, -0.23948374, 0.028104413, 0.27821308, 0.08043316, -0.05241405, -0.0027138551, -0.13761862, 0.0038414828, 0.010716796, -0.21286957) * go_2(1.0, 0.0); - result += mat4(-0.22588563, 0.040290482, -0.13179918, -0.15576197, 0.058554877, 0.10720413, 0.11312613, -0.004625868, 0.03558514, -0.023398632, -0.2564193, -0.045098998, -0.0012908503, 0.01255389, -0.018089779, -0.1334803) * go_2(1.0, 1.0); - result += mat4(-0.040578995, 0.14333616, 0.023703935, -0.24532415, -0.017356034, 0.05467018, -0.13556047, -0.051645495, 0.08613384, -0.18583167, 0.023360416, -0.12590869, -0.06778763, -0.06438733, 0.025624113, 0.07671888) * go_3(-1.0, -1.0); - result += mat4(0.042797543, 0.076091446, 0.082091615, 0.014681128, -0.09378036, 0.062476482, 0.026251588, 0.16627216, -0.15255791, 0.17601879, 0.042653207, 0.039376315, 0.029179158, -0.0095602125, 0.0705857, 0.011434591) * go_3(-1.0, 0.0); - result += mat4(0.012922825, 0.13863216, -0.09220861, -0.005267679, 0.12863027, 0.08068719, -0.07179554, -0.13297969, 0.04991335, -0.01473723, -0.028486373, 0.26253343, -0.052293234, -0.16709994, 0.013800583, 0.060783714) * go_3(-1.0, 1.0); - result += mat4(-0.17575453, -0.036046885, 0.17919157, -0.18988807, -0.18178074, -0.058441214, -0.07271548, -0.008791415, 0.18230358, 0.07766667, -0.066274896, -0.15386371, 0.06161233, 0.003612807, 0.20308098, -0.020216005) * go_3(0.0, -1.0); - result += mat4(-0.05010378, 0.018410517, -0.050254025, 0.012066753, -0.12485184, -0.1916662, -0.1278125, 0.06593962, 0.11824467, 0.07994578, 0.05962518, -0.20991555, -0.114382625, 0.07509197, -0.19671203, -0.4580128) * go_3(0.0, 0.0); - result += mat4(0.17728399, -0.15649322, -0.15205286, 0.22968316, 0.037434835, 0.021075314, -0.090972036, -0.17058647, 0.19727467, -0.013115808, -0.08461909, 0.010409278, 0.04355671, 0.08082593, 0.013779581, -0.08425518) * go_3(0.0, 1.0); - result += mat4(-0.31590196, 0.107831545, -0.12198127, 0.00977694, -0.16240558, -0.038805872, 0.037051022, 0.10276969, 0.26788524, -0.072160736, 0.03843579, -0.08990598, -0.04897058, -0.019324914, 0.06016647, -0.015361721) * go_3(1.0, -1.0); - result += mat4(-0.16626236, -0.07336449, -0.11358449, 0.08885961, -0.044137727, 0.057762783, 0.08864482, 0.029383648, -0.08608859, -0.17586444, 0.094455965, -0.054391533, -0.18796252, 0.009314891, -0.014734876, -0.02058656) * go_3(1.0, 0.0); - result += mat4(0.12067889, 0.3618014, -0.17719771, 0.2175122, 0.12890387, 0.20503749, 0.19662304, 0.17338246, 0.1733569, -0.057952117, -0.016951751, -0.057121612, -0.014850513, -0.05018768, 0.20244005, 0.016323887) * go_3(1.0, 1.0); - result += mat4(-0.13357711, 0.12105561, -0.030620668, 0.005170665, 0.044319738, 0.12768681, 0.15325043, 0.027631996, -0.080610365, 0.03741198, -0.017102083, -0.0035679936, -0.2243731, 0.16709204, 0.023224674, 0.11311707) * go_4(-1.0, -1.0); - result += mat4(0.02376095, 0.027235378, -0.009955967, -0.049886744, -0.08411108, 0.10339928, -0.02877354, 0.12704167, -0.13884954, 0.089170545, -0.0039057198, -0.16050623, -0.05318099, -0.10950255, -0.11412448, 0.042694647) * go_4(-1.0, 0.0); - result += mat4(-0.20557326, -0.16362014, -0.090093814, 0.10406815, 0.08791842, 0.013667629, 0.099605836, -0.1062854, -0.07108554, -0.10362472, -0.0647173, 0.12420133, -0.082551, 0.07107792, -0.17423603, -0.048405636) * go_4(-1.0, 1.0); - result += mat4(-0.1954154, -0.027208658, -0.03684051, 0.1338225, -0.084645554, 0.06871324, -0.0778811, 0.025083596, -0.19436808, -0.097009145, -0.036444522, -0.17200048, 0.013402397, -0.23984545, -0.018724974, -0.005078688) * go_4(0.0, -1.0); - result += mat4(0.21297796, 0.023222866, -0.069507584, -0.07308915, -0.18444547, 0.016984317, -0.016325353, 0.11981142, -0.12647548, -0.074321784, 0.27461126, -0.111357704, 0.13917843, -0.035653792, 0.052209657, 0.2077564) * go_4(0.0, 0.0); - result += mat4(-0.13399822, 0.013458072, 0.031183472, 0.24100806, 0.025842719, -0.1878651, 0.14646488, -0.12074156, -0.15135823, -0.18367149, 0.14775206, 0.06404863, 0.06884799, 0.19008774, -0.094522566, 0.087253615) * go_4(0.0, 1.0); - result += mat4(-0.2991564, 0.15301964, -0.028454246, 0.10222737, -0.14888696, -0.021354329, -0.26517984, 0.17276473, 0.021648446, -0.17384106, 0.071495906, -0.16509262, -0.029774027, 0.17916657, -0.036435083, 0.1344122) * go_4(1.0, -1.0); - result += mat4(0.043782394, -0.111460604, -0.094103605, -0.024549566, -0.09227317, 0.009563868, -0.11380084, 0.14710943, 0.1623694, -0.2684087, 0.08932176, -0.025791056, 0.10586864, -0.2849578, -0.049896624, -0.07046415) * go_4(1.0, 0.0); - result += mat4(0.06390326, -0.16954753, -0.24643445, -0.06667138, 0.0153694395, 0.1391578, 0.033687413, -0.18783121, -0.061314933, -0.19441758, -0.033504955, 0.1402065, -0.082206115, 0.16466151, -0.07656087, 0.14898944) * go_4(1.0, 1.0); - result += mat4(-0.1266701, 0.036555164, -0.4070397, -0.085509166, 0.045745134, -0.0494443, -0.07149184, -0.05286605, -0.022561546, -0.091546714, -0.12706481, 0.1923914, 0.26536146, -0.07096412, -0.16030753, -0.21569426) * go_5(-1.0, -1.0); - result += mat4(-0.097307466, 0.15349665, 0.015644126, -0.22425117, 0.21123715, 0.022773454, 0.23383828, -0.07435915, 0.07146555, -0.02743282, 0.14647867, -0.0041729338, 0.12715502, 0.11781688, -0.061080795, 0.0026166402) * go_5(-1.0, 0.0); - result += mat4(-0.010103422, -0.087011784, -0.12507296, -0.009202013, -0.0016642559, 0.12229101, 0.012257156, 0.09069687, 0.17266563, 0.04349975, 0.0065761553, -0.071280204, 0.03610506, 0.18303613, -0.02108923, -0.06867508) * go_5(-1.0, 1.0); - result += mat4(-0.13150483, -0.060967755, 0.0055990918, 0.037484363, -0.02158257, -0.024784425, 0.23109616, -0.120935716, 0.20638125, -0.072126925, 0.062352557, -0.004980783, 0.19314887, 0.13248818, -0.23808232, 0.014506469) * go_5(0.0, -1.0); - result += mat4(0.18638828, -0.065645434, -0.20713033, 0.09149545, -0.24210495, -0.06484725, 0.08750317, 0.1802478, 0.3541541, -0.06987437, -0.1159385, -0.028150197, -0.23300691, -0.09201996, -0.121867135, -0.13276023) * go_5(0.0, 0.0); - result += mat4(0.09099928, -0.039182268, -0.1400286, 0.010247891, -0.010239972, -0.18701951, -0.1772805, 0.01631285, -0.09500139, 0.2590885, -0.09521566, 0.05752499, -0.1184693, 0.04186501, 0.27024126, 0.08569921) * go_5(0.0, 1.0); - result += mat4(-0.0729032, 0.10695013, -0.18894811, 0.06616699, 0.05852647, 0.03802247, 0.024427114, 0.022371208, 0.28009695, -0.022878911, 0.04645292, 0.060003202, 0.1053563, 0.027735699, 0.007826481, 0.14397411) * go_5(1.0, -1.0); - result += mat4(-0.15458257, 0.12910113, -0.11843165, 0.14065553, -0.19225205, 0.059665926, 0.2690873, -0.1308205, 0.071195096, 0.07672256, 0.1497483, 0.21867657, 0.15143347, -0.16467342, -0.13924904, 0.098136105) * go_5(1.0, 0.0); - result += mat4(0.05049889, 0.069295354, 0.017172134, 0.048614368, -0.19597568, -0.029311683, -0.190372, -0.025514813, -0.24531111, -0.041956335, 0.24628574, 0.15919869, 0.051921643, 0.09549575, 0.025514983, 0.13909552) * go_5(1.0, 1.0); - result += vec4(-0.012342477, -0.20862316, 0.08788906, -0.0010707981); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08156944, 0.10573189, 0.012908232, 0.1657589, -0.038043138, -0.2873211, -0.2046161, -0.09311608, 0.3097668, -0.08111585, -0.17932127, -0.02586952, 0.18931806, -0.13793743, -0.13352883, 0.06681123) * go_0(-1.0, -1.0); - result += mat4(0.02374499, 0.14342955, 0.2563405, -0.029666856, 0.17285998, -0.1035698, -0.11706357, 0.11584379, 0.21326663, 0.06683621, -0.11183301, 0.092254475, -0.1014067, 0.03412136, -0.040375732, 0.13439587) * go_0(-1.0, 0.0); - result += mat4(-0.114404246, 0.05252966, 0.00047894646, -0.028747892, 0.0105511965, 0.078781754, 0.029926287, 0.14559107, -0.12780708, -0.08478812, -0.2247857, -0.19385272, -0.13657221, 0.18088628, 0.15612762, 0.037660476) * go_0(-1.0, 1.0); - result += mat4(0.05799563, 0.059148345, -0.09769129, 0.07772796, -0.09202486, -0.06425981, -0.016873274, 0.0030002298, 0.11275395, -0.08546416, -0.2876964, 0.023335997, -0.010972625, -0.032576468, -0.086281575, -0.070443906) * go_0(0.0, -1.0); - result += mat4(0.32762548, -0.06770343, 0.03179402, -0.04613723, -0.06790421, 0.44522998, 0.119118124, -0.11980204, 0.038128957, 0.17468919, 0.076030836, 0.14512211, 0.17252928, -0.047734894, -0.06045679, -0.08920573) * go_0(0.0, 0.0); - result += mat4(-0.015262433, 0.15428601, 0.06972416, -0.16334222, -0.08347724, 0.18573803, -0.11517264, -0.0009774134, -0.16686407, -0.10733252, -0.12523252, 0.050293542, 0.11212284, -0.009658616, -0.058349714, -0.014115335) * go_0(0.0, 1.0); - result += mat4(-0.056932453, 0.18084419, 0.02166639, 0.13523088, 0.011073456, -0.045516286, 0.003297358, -0.057280444, -0.018760536, -0.15718092, -0.11770054, -0.03166016, -0.19774522, 0.0755463, -0.20558798, 0.15830164) * go_0(1.0, -1.0); - result += mat4(0.19655597, 0.03901344, -0.051660974, 0.19494548, 0.034315336, -0.04597924, -0.056954715, -0.19345726, -0.11985197, 0.006047848, 0.12791121, -0.019705713, -0.01501477, 0.117168285, 0.025459006, 0.13246241) * go_0(1.0, 0.0); - result += mat4(-0.0023640324, 0.0349994, 0.009396353, 0.0936661, 0.100842424, -0.114130996, 0.038058087, 0.12808813, -0.054103322, 0.027919596, -0.10685234, -0.07498883, -0.06130471, -0.12066764, 0.0029782685, 0.059720848) * go_0(1.0, 1.0); - result += mat4(-0.098447025, -0.011071975, 0.16054775, -0.08671137, -0.13293275, 0.05532158, 0.14407343, 0.19340874, -0.20346253, 0.11525113, 0.1687311, 0.098785535, 0.03027443, -0.054430522, 0.022521, 0.19343728) * go_1(-1.0, -1.0); - result += mat4(-0.084854074, 0.06853468, 0.06792569, 0.029366238, 0.06035099, -0.05761756, -0.033579275, -0.062136766, 0.1649456, 0.049637973, 0.2630636, -0.02261985, -0.18047638, -0.071598716, 0.14448155, -0.055889398) * go_1(-1.0, 0.0); - result += mat4(-0.024849698, 0.088840574, 0.1503109, -0.004984663, -0.16879597, -0.26041916, -0.3362258, 0.20055196, -0.13901941, 0.042401403, 0.18325137, 0.1716765, -0.016100548, 0.11664664, -0.07838003, -0.16286951) * go_1(-1.0, 1.0); - result += mat4(-0.16242248, 0.22381666, -0.017743299, 0.07717547, 0.048560552, -0.20423977, 0.30301192, 0.00976561, -0.2708939, -0.092156336, 0.038034424, 0.06372939, 0.06721783, -0.023243327, 0.119849995, 0.15898646) * go_1(0.0, -1.0); - result += mat4(0.10859177, -0.05935216, -0.015591001, -0.053253412, 0.071014024, 0.43206415, 0.04865775, 0.069328085, -0.09695977, 0.19359045, 0.016935471, 0.0028954153, -0.08338698, 0.041919734, 0.032975465, 0.11067615) * go_1(0.0, 0.0); - result += mat4(0.32948914, -0.04703423, -0.075494416, -0.06948022, -0.18574949, 0.15096106, 0.0067734853, -0.16238153, -0.21330655, 0.25306207, 0.08089956, 0.08108933, 0.056989696, 0.05212022, 0.15835905, 0.00077813526) * go_1(0.0, 1.0); - result += mat4(-0.011273352, 0.26307768, -0.04307922, 0.21710183, -0.3902529, -0.46155867, 0.015115735, -0.05384065, -0.07163729, 0.0793938, -0.0985122, 0.06594441, 0.09647775, 0.05617775, 0.07099344, -0.16353689) * go_1(1.0, -1.0); - result += mat4(-0.040731885, 0.14055543, -0.07012667, 0.07207971, -0.004641172, -0.06394655, 0.091212526, -0.00019208786, -0.07705868, 0.040352806, -0.07397878, 0.051934645, -0.010726301, 0.23407605, 0.12093579, -0.0406116) * go_1(1.0, 0.0); - result += mat4(0.041406166, -0.22172481, 0.22162893, 0.02442143, 0.10592917, 0.1968317, -0.14774016, 0.011944242, -0.12373062, 0.114184484, -0.090167396, 0.022542128, -0.1554341, 0.1371109, 0.13077694, -0.020479746) * go_1(1.0, 1.0); - result += mat4(0.123823315, -0.3012641, -0.2841784, 0.014021941, 0.10990905, 0.2764256, -0.075963184, -0.10125788, -0.007879674, -0.08643855, -0.038958456, 0.07453782, -0.48677143, -0.03276048, -0.03156215, -0.09289601) * go_2(-1.0, -1.0); - result += mat4(-0.10992206, -0.05435893, 0.11743695, 0.17674956, 0.13509355, -0.17421335, -0.100946076, -0.10648024, 0.14750971, 0.21357685, -0.107157655, -0.017665314, 0.2106041, 0.124202386, 0.24976057, -0.09088304) * go_2(-1.0, 0.0); - result += mat4(-0.26258346, -0.03037757, 0.13096122, 0.13691814, 0.11316644, -0.14852227, 0.008399919, 0.04381969, 0.030872608, 0.45056874, -0.04014858, -0.012530115, 0.21238118, -0.1332986, -0.101533614, 0.077671215) * go_2(-1.0, 1.0); - result += mat4(0.101686284, -0.21485107, -0.109051324, 0.047709018, 0.018496532, 0.030967599, -0.07855083, 0.05204436, 0.0077558183, 0.080045685, -0.09668984, 0.17999001, -0.15804431, -0.042034358, -0.21375516, 0.001163862) * go_2(0.0, -1.0); - result += mat4(-0.14624378, 0.42138338, 0.028315686, -0.20134708, -0.010074609, -0.046433613, -0.050019633, 0.08432513, -0.079346046, -0.27917975, -0.19784799, 0.25092122, 0.21972348, -0.0084989555, 0.11432945, -0.0727637) * go_2(0.0, 0.0); - result += mat4(-0.22297074, 0.20484488, 0.17720158, 0.0022023271, -0.034587737, 0.0004995375, -0.027270092, -0.08549106, -0.07970776, 0.14142907, -0.039514165, 0.08021129, 0.262039, 0.08684183, 0.08106768, -0.088322006) * go_2(0.0, 1.0); - result += mat4(0.19230787, -0.019139988, 0.100881554, 0.0622476, -0.0073597133, -0.007861123, -0.09819001, -0.035048965, 0.1649283, 0.096261285, -0.0899776, -0.03930426, -0.044506907, 0.20075877, -0.049743377, -0.0076403967) * go_2(1.0, -1.0); - result += mat4(0.0043743993, 0.20346396, 0.1655524, -0.025431981, -0.02454905, -0.04476991, 0.020741275, -0.12993908, 0.026805034, -0.0037405565, -0.17931041, 0.09257133, 0.13752705, 0.07889819, -0.037251562, -0.002646608) * go_2(1.0, 0.0); - result += mat4(0.038870014, -0.37619725, 0.046597917, -0.15463144, 0.054383356, -0.2925491, 0.0640225, -0.00486844, -0.0016340262, 0.10840749, 0.0993287, 0.17394166, 0.08594391, -0.030945132, 0.025646068, -0.06640845) * go_2(1.0, 1.0); - result += mat4(-0.01649855, -0.068216905, -0.027988954, -0.12154563, 0.022097806, -0.1290429, 0.10954417, 0.13157494, -0.1745968, -0.04658394, -0.053029858, -0.0759596, -0.04430781, -0.041724976, -0.056713972, -0.14473973) * go_3(-1.0, -1.0); - result += mat4(0.06543556, 0.092009485, -0.08451462, 0.052707452, -0.06780165, -0.088456, -0.025358824, -0.12258837, -0.10129489, -0.059306916, -0.14748581, 0.014620428, -0.038939722, -0.10054172, 0.09494565, -0.07793254) * go_3(-1.0, 0.0); - result += mat4(-0.05932573, 0.013406356, 0.26368266, 0.18454649, -0.03142332, -0.01590683, -0.06236948, 0.11061398, 0.025253339, -0.030919848, 0.064894855, 0.13248478, -0.030221257, -0.0986045, -0.034824356, -0.16913392) * go_3(-1.0, 1.0); - result += mat4(0.0015110603, 0.2025821, 0.004228453, 0.08477586, -0.03797453, -0.04194356, 0.18174535, -0.06626136, -0.13344109, -0.22612168, 0.02602776, 0.016666876, -0.027019914, 0.119900815, -0.06250115, -0.070262626) * go_3(0.0, -1.0); - result += mat4(-0.14976665, 0.03257234, -0.14965177, 0.073865525, 0.062913194, 0.05034122, 0.03676157, -0.018906, 0.04145618, -0.111236595, -0.20951095, -0.060131762, -0.16541055, -0.08913449, 0.044624332, -0.08443667) * go_3(0.0, 0.0); - result += mat4(-0.21176168, -0.015680272, 0.25104785, 0.28819278, 0.068234585, -0.067152865, 0.18975581, -0.024222756, 0.09343949, 0.107427366, -0.08206377, -0.07970111, -0.10268362, -0.02063304, 0.007915588, -0.1344096) * go_3(0.0, 1.0); - result += mat4(0.061288554, -0.017783957, 0.1759008, -0.096834674, -0.17838398, 0.22331426, -0.027759569, -0.0883247, -0.05435304, -0.099557355, 0.026310958, 0.18467775, 0.07900235, -0.017400427, 0.1453773, 0.033763483) * go_3(1.0, -1.0); - result += mat4(-0.06601715, 0.19832757, 0.10341119, 0.015197309, -0.13140027, 0.06353335, -0.033154953, 0.14772332, 0.053612914, -0.018467115, -0.1992033, 0.17353232, 0.16321027, -0.09609656, -0.12580357, -0.052030507) * go_3(1.0, 0.0); - result += mat4(-0.09335505, 0.099851064, 0.12890811, 0.13102262, -0.07580953, -0.11255671, -0.18570407, -0.14529274, -0.05160979, 0.06461672, -0.038672008, -0.00841868, 0.0029629876, -0.13739161, -0.29193023, -0.081763566) * go_3(1.0, 1.0); - result += mat4(0.23590541, 0.009043033, 0.06940084, 0.13891594, -0.010488754, 0.029098868, 0.07929391, -0.07250032, -0.13742201, -0.18533885, 0.2531767, -0.009061109, -0.027644258, 0.10404188, 0.012537389, 0.10293872) * go_4(-1.0, -1.0); - result += mat4(0.19354686, 0.15574348, 0.31874457, 0.024332082, 0.06383042, 0.048204664, -0.073850416, 0.032850295, -0.34514645, -0.054682292, -0.054835007, 0.012525943, -0.031569667, -0.093528986, 0.077636436, 0.080878824) * go_4(-1.0, 0.0); - result += mat4(-0.061584793, 0.003138571, 0.25193092, 0.09340434, 0.17664844, 0.010498078, 0.18399622, -0.23279727, -0.12833218, 0.15312086, -0.10134878, -0.0025951387, 0.07395745, -0.059028395, 0.1285172, 0.13659331) * go_4(-1.0, 1.0); - result += mat4(0.1286127, -0.08862414, 0.123132095, -0.11186987, 0.04064812, 0.1295343, -0.08698302, -0.054833192, -0.06911518, 0.1468998, 0.14806904, 0.0002644252, -0.102448784, 0.0064156754, 0.111383334, -0.07292957) * go_4(0.0, -1.0); - result += mat4(0.05504673, -0.076037504, 0.11776747, -0.07890708, 0.077408485, -0.117229365, 0.0197986, -0.12881358, -0.121706314, 0.008088911, -0.025189465, -0.06471935, 0.111992925, -0.08574453, -0.18029808, 0.057162132) * go_4(0.0, 0.0); - result += mat4(-0.09641628, -0.08636256, 0.07254762, -0.1108583, 0.06322016, 0.04606108, 0.015605975, -0.023462018, 0.077079624, 0.12611854, -0.026314614, -0.021778936, -0.080265954, -0.028592844, 0.1361638, 0.16848429) * go_4(0.0, 1.0); - result += mat4(0.14155127, 0.013242842, 0.04764719, -0.12724996, -0.05762018, 4.4798093e-05, 0.31255975, -0.52083194, -0.18550456, 0.109841965, 0.1860627, 0.11478285, -0.36154944, -0.12439295, 0.3006208, 0.032344274) * go_4(1.0, -1.0); - result += mat4(-0.11564562, -0.034078646, 0.16126357, -0.1936752, -0.2330871, -0.13876866, 0.088089384, -0.021154383, -0.091547124, 0.091753796, 0.18144718, 0.1774146, 0.007724317, 0.097580045, -0.15106232, -0.04128832) * go_4(1.0, 0.0); - result += mat4(0.071651496, 0.18003649, 0.10129018, -0.16904286, -0.2137536, -0.1308051, 0.13850693, 0.04569891, 0.09158717, 0.1749203, -0.032127034, 0.06019649, 0.12735014, -0.19949023, 0.003664079, -0.050514087) * go_4(1.0, 1.0); - result += mat4(-0.009363578, 0.083391, -0.08583937, -0.008416162, -0.024429835, 0.008918877, -0.15991227, -0.035743445, -0.040119864, 0.20200913, -0.09585724, 0.039848186, 0.2914714, -0.13199879, -0.04198891, 0.049873233) * go_5(-1.0, -1.0); - result += mat4(0.14203294, -0.12218405, -0.1336784, -0.011557518, -0.10419894, -0.047520764, 0.012323197, 0.01812075, -0.15906301, 0.057789516, -0.108339556, 0.035662923, 0.008705645, -0.017022535, -0.11589909, 0.030071909) * go_5(-1.0, 0.0); - result += mat4(-0.15126535, 0.116061516, 0.26665378, -0.11970062, -0.192801, 0.021354547, -0.253131, 0.12830788, -0.17019245, 0.06896555, -0.0015308838, -0.0076949615, 0.031619042, -0.14708556, -0.11876281, -0.053292263) * go_5(-1.0, 1.0); - result += mat4(-0.14085393, 0.15730241, 0.10422539, 0.025466066, 0.10541659, -0.0012975787, 0.041553672, 0.059082996, -0.154172, 0.08198402, 0.09771777, -0.068264395, 0.047784068, -0.11348507, 0.004380174, -0.089181446) * go_5(0.0, -1.0); - result += mat4(0.04478754, -0.18557417, 0.13422509, 0.15747893, -0.009310171, -0.0116828615, -0.0116161555, -0.0065923473, -0.028874157, 0.17116025, -0.15008302, 0.0864679, -0.10439667, 0.09480786, -0.14620537, -0.12444) * go_5(0.0, 0.0); - result += mat4(-0.10271061, 0.037290677, 0.16068509, -0.0020577735, -0.26431653, 0.0316218, 0.13216278, 0.039026607, 0.114048995, -0.08055903, -0.25474527, 0.03769183, 0.11541464, -0.13846509, -0.23404308, 0.059910618) * go_5(0.0, 1.0); - result += mat4(0.03207741, -0.057938, -0.083276935, -0.08009412, 0.11193717, -0.07672049, -0.16157848, -0.11298354, -0.17304356, 0.08984146, -0.050554533, 0.15308471, -0.05547862, -0.15691018, 0.07320868, -0.042120814) * go_5(1.0, -1.0); - result += mat4(0.048134506, -0.10295267, 0.051832333, -0.13681562, 0.103027515, -0.06026332, 0.06881206, -0.015670486, 0.28807607, 0.03059088, 0.034055263, 0.017337816, 0.05512398, 0.075067505, -0.036354467, 0.06471895) * go_5(1.0, 0.0); - result += mat4(-0.085566096, 0.014341178, -0.08384431, -0.051138613, -0.13172193, -0.10944131, 0.052603673, 0.10315314, 0.13149905, -0.10674123, -0.007911778, -0.028487006, 0.13898246, -0.018405652, 0.04242993, -0.10391517) * go_5(1.0, 1.0); - result += vec4(0.06731381, -0.14791869, -0.15826754, -0.069372416); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0017213221, -0.15371315, -0.092273064, -0.10798677, 0.009334791, 0.22254497, -0.097098924, 0.029816378, 4.457267e-05, -0.1057864, 0.4134007, 0.14368671, -0.004629636, 0.17854625, 0.2903048, -0.06277739) * go_0(-1.0, -1.0); - result += mat4(-0.046712447, 0.119774394, -0.117091574, 0.09618261, -0.10770648, 0.124485455, 0.075216, -0.28377417, -0.24061379, -0.09114137, 0.23112294, 0.12123567, 0.025058655, 0.093606554, 0.10327309, -0.024526346) * go_0(-1.0, 0.0); - result += mat4(0.019105028, 0.06630737, 0.032209937, 0.09685681, -0.018223759, 0.04791892, -0.008235882, -0.29300943, 0.25300565, -0.2488416, 0.08808891, 0.23057054, 0.07350692, -0.106139764, -0.063049704, -0.059718538) * go_0(-1.0, 1.0); - result += mat4(0.0455073, -0.051755026, -0.11883914, 0.20130287, -0.131154, 0.017220428, 0.12068244, 0.070289314, -0.12415149, -0.22242554, 0.08771896, 0.0035022376, 0.24336605, 0.08416074, 0.028170893, -0.03845105) * go_0(0.0, -1.0); - result += mat4(0.03242001, 0.102102384, -0.17709577, -0.0109795965, 0.08089789, -0.021498924, 0.06255124, -0.042419348, 0.108601704, -0.05202687, -0.12712812, -0.17035247, 0.17001751, -0.045719698, 0.09703396, 0.037530866) * go_0(0.0, 0.0); - result += mat4(-0.09127368, 0.18729141, 0.11323561, 0.12806842, -0.058737166, 0.1974935, -0.1213344, 0.26005578, -0.041523788, -0.0029840702, 0.14748086, -0.10480214, -0.06823255, 0.045274846, 0.078861825, 0.088076524) * go_0(0.0, 1.0); - result += mat4(-0.10629749, -0.023263903, -0.082174115, -0.121970475, 0.21234329, 0.0262291, 0.1745219, 0.07722097, -0.12979622, -0.046668485, -0.0027060192, -0.07948489, -0.1455228, -0.1722979, -0.11220583, -0.15050055) * go_0(1.0, -1.0); - result += mat4(0.04207767, -0.08237373, 0.07580429, -0.02124768, 0.12718296, 0.053528596, -0.09762217, -0.0045613465, -0.04504155, 0.18147692, -0.13206507, 0.118414916, 0.03825585, -0.23475614, -0.06268228, 0.086768724) * go_0(1.0, 0.0); - result += mat4(0.034695115, 0.07061876, 0.04965704, 0.17847943, -0.1437011, 0.15886799, -0.201469, -0.063395016, -0.1750345, 0.11911144, -0.188721, 0.08700757, 0.14036323, -0.08573763, 0.10530263, -0.07726266) * go_0(1.0, 1.0); - result += mat4(0.21503586, -0.18479058, 0.0074815084, 0.09756983, 0.037916277, -0.17987613, 0.11589862, -0.028243838, -0.20950282, 0.026752079, 0.10840585, 0.15400405, 0.08625402, -0.07633785, 0.0017439253, -0.072862245) * go_1(-1.0, -1.0); - result += mat4(0.008905137, 0.106612414, -0.07793345, 0.15220572, -0.0028391609, -0.10614796, -0.17509677, 0.09583197, 0.18518968, 0.005445739, 0.12949161, 0.07129458, 0.06554234, -0.1308029, -0.029664468, 0.010993508) * go_1(-1.0, 0.0); - result += mat4(-0.054151967, -0.21677336, 0.17064962, 0.06138102, -0.06272079, -0.11186543, -0.02262431, 0.27793702, 0.019080682, 0.121934734, -0.08267019, -0.08607981, 0.10281368, -0.015739575, 0.07353178, 0.10465199) * go_1(-1.0, 1.0); - result += mat4(0.11974522, 0.044251468, -0.15450975, -0.075565055, -0.04790616, -0.031326365, 0.27381012, -0.094721034, -0.11900706, -0.06368458, 0.10776822, 0.18564561, 0.089738145, -0.0016327037, 0.18722743, 0.09222095) * go_1(0.0, -1.0); - result += mat4(-0.02468192, -0.16873443, -0.02480979, -0.13937175, -0.13027008, 0.15577625, -0.01477261, 0.07563496, -0.00062903174, 0.071869016, 0.17108877, 0.00066113746, -0.29290298, 0.07078572, -0.054790854, 0.09035019) * go_1(0.0, 0.0); - result += mat4(0.066045515, -0.11800159, -0.0750722, -0.08316888, -0.08140103, -0.107804835, 0.1621138, 0.16997898, -0.04444603, 0.28161287, -0.28550264, -0.17914039, -0.15597315, 0.15387748, -0.047001313, -0.042532828) * go_1(0.0, 1.0); - result += mat4(0.025888437, 0.13297214, -0.07546064, -0.06647902, 0.017062671, -0.2597112, 0.13725336, 0.10858415, -0.1160102, 0.13422437, 0.1592752, 0.15240288, 0.03929169, 0.2020017, 0.07010354, 0.028547695) * go_1(1.0, -1.0); - result += mat4(-0.0703738, 0.13582481, -0.036476467, -0.096972756, -0.12283295, 0.13071987, -0.056827262, -0.023500688, -0.0075902776, 0.06296815, -0.049109932, 0.16880427, 0.29702982, -0.01992682, 0.013997502, -0.070870094) * go_1(1.0, 0.0); - result += mat4(0.108744465, -0.09422798, 0.13146311, -0.250233, 0.016463336, -0.12794453, 0.03931633, 0.17450981, 0.11661872, 0.12163951, -0.1192709, -0.05398837, -0.24910302, 0.19006594, -0.1857664, -0.1205357) * go_1(1.0, 1.0); - result += mat4(-0.054634392, 0.052315067, 0.05044536, -0.05177968, 0.21537638, -0.014019764, -0.06632539, 0.030889641, -0.18629341, -0.04575244, -0.07509494, 0.09061459, -0.0686147, -0.1872925, -0.08178069, -0.17149752) * go_2(-1.0, -1.0); - result += mat4(-0.08697341, 0.15311632, 0.06298225, -0.17094718, -0.0854164, 0.037885193, -0.048915166, -0.010449174, 0.030081013, -0.02462675, -0.105993316, -0.100794375, -0.05364704, -0.120219246, 0.16426747, -0.016683623) * go_2(-1.0, 0.0); - result += mat4(0.1442815, -0.2285766, 0.14395493, -0.01616554, -0.054909255, -0.06734717, 0.044498604, -0.07669548, 0.06888753, 0.2329823, -0.2728349, -0.06917594, 0.049095903, 0.0144689595, -0.08170211, -0.21154584) * go_2(-1.0, 1.0); - result += mat4(-0.0032911033, -0.30628094, 0.01655303, -0.12639484, -0.043794096, 0.12097294, 0.10301277, 0.0323829, -0.20977376, -0.2598986, -0.032757662, 0.062723145, 0.065447785, -0.10534467, -0.061504886, -0.25371954) * go_2(0.0, -1.0); - result += mat4(-0.062172186, -0.12031234, -0.05312447, -0.07274714, -0.044065587, 0.060389437, -0.011823414, 0.08889303, 0.010290733, -0.056499645, -0.012554047, 0.13659821, 0.062492277, -0.1463726, -0.30616954, -0.048617195) * go_2(0.0, 0.0); - result += mat4(-0.05244876, 0.056097146, -0.06787384, 0.09076766, -0.09579352, -0.0066260016, 0.15201993, 0.03254239, 0.021516487, 0.15981875, -0.1432654, 0.17569521, 0.12658277, -0.1530729, -0.14634636, -0.00258191) * go_2(0.0, 1.0); - result += mat4(0.19284594, -0.24125227, -0.06610495, -0.22473419, 0.19109339, 0.20509472, 0.022192668, 0.13134679, -0.16711204, 0.03866372, 0.040778622, 0.004792002, 0.06713585, -0.11313002, -0.0494123, 0.16455573) * go_2(1.0, -1.0); - result += mat4(0.08695826, 0.03544317, -0.22323117, 0.10693563, -0.060470764, 0.14525974, -0.12502834, -0.10161133, -0.29323998, -0.14850102, 0.0802706, 0.14540558, 0.07584563, -0.105335936, -0.10063164, -0.16825674) * go_2(1.0, 0.0); - result += mat4(-0.09106831, -0.054964047, -0.0060697296, 0.1795092, -0.031979155, -0.17847598, 0.02053048, -0.09066955, -0.27984852, 0.11892948, 0.24315885, 0.18758732, 0.16902542, -0.21777025, -0.012130184, -0.060705084) * go_2(1.0, 1.0); - result += mat4(0.059577208, 0.060833983, 0.10868721, 0.11276571, -0.2327309, -0.11088089, 0.20807125, -0.021718912, 0.030323144, -0.10312503, -0.22234069, 0.16634466, 0.19398251, -0.0545838, -0.13059108, 0.017868554) * go_3(-1.0, -1.0); - result += mat4(-0.07514213, 0.10887309, 0.1218314, -0.18563306, -0.008527813, -0.20459747, -0.030698426, 0.0844588, 0.23686919, 0.03104538, 0.08527714, -0.09642553, -0.08534072, 0.06419827, -0.12806654, -0.11365306) * go_3(-1.0, 0.0); - result += mat4(-0.039864887, -0.25141066, 0.13011548, -0.13584746, -0.013512096, -0.17277367, 0.08957357, 0.24380256, -0.033397153, -0.012431397, 0.082527, 0.020838374, 0.016154792, -0.29341805, -0.015195005, 0.022471353) * go_3(-1.0, 1.0); - result += mat4(-0.11212281, 0.08150235, 0.0055854055, -0.28806004, -0.09078987, -0.05241604, -0.09806806, -0.2560824, 0.043018572, 0.013310293, -0.018843893, 0.049140453, 0.17483246, 0.12305487, -0.096557006, 0.0123909665) * go_3(0.0, -1.0); - result += mat4(0.09532439, 0.15352365, 0.20087242, 0.08491758, -0.24605502, 0.16663635, -0.13709177, -0.12777333, 0.02181133, 0.036698326, -0.003161005, 0.05891433, -0.055862445, 0.29106724, -0.17064662, -0.14393678) * go_3(0.0, 0.0); - result += mat4(0.0058135563, -0.22420937, 0.07235329, -0.124738544, 0.08238468, -0.2015809, -0.03386368, -0.17470017, 0.057452828, -0.06164105, -0.13776, -0.09869882, -0.0026272335, -0.20054811, 0.019651942, -0.2600821) * go_3(0.0, 1.0); - result += mat4(-0.17325936, -0.05762174, -0.06450132, 0.050736707, 0.045916766, 0.00402603, -0.08697255, 0.12957326, -0.17539512, 0.087370165, -0.004544662, -0.073203914, -0.010898469, 0.12600337, -0.012520381, 0.034228735) * go_3(1.0, -1.0); - result += mat4(-0.10941816, 0.0907973, -0.0004870752, -0.0067486484, -0.0726075, 0.2144327, -0.055393726, -0.023118004, -0.14722143, -0.15563087, -0.06595914, -0.048578046, -0.030177968, 0.20142747, 0.01779709, 0.01655237) * go_3(1.0, 0.0); - result += mat4(-0.08580983, -0.026037404, -0.077059925, -0.087288134, 0.004400565, -0.011133582, 0.17784919, 0.23502137, 0.047681976, -0.11357638, -0.0896771, 0.0067448434, -0.10454412, 0.17173828, 0.02538007, 0.012261617) * go_3(1.0, 1.0); - result += mat4(-0.1899917, 0.035758197, 0.09290593, -0.321715, 0.0062465663, 0.0014386866, 0.016894078, -0.115979955, -0.0027755008, 0.06348923, 0.03340955, -0.24005453, 0.049253695, -0.038937677, 0.11952727, 0.0399283) * go_4(-1.0, -1.0); - result += mat4(-0.0768814, -0.070920505, 0.32928568, -0.09117129, -0.030737674, -0.10276032, 0.008501685, -0.092094645, -0.119966194, 0.08019844, 0.06642611, -0.061083883, 0.11307649, -0.031231074, -0.032001212, 0.13963008) * go_4(-1.0, 0.0); - result += mat4(-0.07274599, 0.0010301028, 0.045785096, -0.010552021, -0.13573211, 0.271882, -0.22248295, -0.28493458, 0.024056, 0.14095017, 0.065386854, 0.06830046, 0.039510656, -0.09839122, 0.20431511, 0.09510801) * go_4(-1.0, 1.0); - result += mat4(0.015967855, -0.18058023, 0.18704537, 0.18511131, 0.08232382, 0.0142269125, -0.045059025, 0.09668988, 0.062527284, 0.15584159, -0.19181041, -0.09103482, 0.07462716, 0.08690921, -0.006602257, -0.048261993) * go_4(0.0, -1.0); - result += mat4(0.06590294, 0.03255081, 0.27418908, 0.12957683, -0.056972653, -0.13130698, 0.116743594, -0.021665238, -0.049696703, 0.1355714, -0.034948308, 0.013496893, 0.08264742, -0.040836275, 0.066302836, -0.008282482) * go_4(0.0, 0.0); - result += mat4(-0.031672716, 0.062036, 0.0670039, 0.118378155, 0.16932462, 0.19176582, -0.14296779, -0.07521962, 0.08186631, 0.13872068, 0.2050204, 0.23874411, -0.05187021, -0.14518432, 0.17769787, 0.13543007) * go_4(0.0, 1.0); - result += mat4(0.23216663, -0.07822891, 0.19363302, 0.14644198, 0.23314826, 0.16843605, 0.14231025, 0.39938375, 0.012976297, 0.04872197, -0.056092817, -0.06786196, -0.13020758, -0.16039686, -0.08942605, 0.06917485) * go_4(1.0, -1.0); - result += mat4(0.13809198, -0.07787285, -0.0032761474, 0.08901838, 0.06670918, 0.23262213, 0.19812497, -0.29459605, -0.16106832, -0.089955695, 0.018862866, 0.027937569, -0.068481594, 0.0515106, 0.0076716254, -0.020717952) * go_4(1.0, 0.0); - result += mat4(0.15160611, -0.056448795, -0.01282516, -0.060768176, -0.13858989, 0.070536785, -0.036451727, -0.007100553, -0.06416002, 0.1640014, -0.012680492, 0.089894645, 0.089873075, -0.12290447, 0.07415422, 0.051840447) * go_4(1.0, 1.0); - result += mat4(0.049169756, 0.012065099, 0.044702023, 0.41471246, -0.22039439, 0.26710343, 0.03259032, -0.0010071819, 0.122387365, 0.016845915, -0.04162581, 0.16303158, -0.018624788, -0.018498175, 0.119111605, 0.066239804) * go_5(-1.0, -1.0); - result += mat4(0.1304685, -0.015543399, 0.09727904, 0.025493689, 0.11235736, -0.024798019, 0.24016461, 0.05678371, 0.29092878, 0.008495527, -0.08145035, 0.1277052, 0.09728953, -0.064336315, 0.018896975, -0.0052928496) * go_5(-1.0, 0.0); - result += mat4(-0.22020516, 0.17298244, 0.08216116, 0.13081113, -0.058733664, 0.14459507, 0.1042437, 0.10113822, -0.012354008, 0.21633418, 0.059657548, 0.14173268, 0.026709042, -0.10159428, 0.14287837, 0.16256075) * go_5(-1.0, 1.0); - result += mat4(-0.03602925, 0.19763114, 0.14659521, 0.079257175, -0.048765395, -0.04763924, -0.023928326, -0.07900388, 0.13704984, 0.08109074, -0.017959716, 0.0065745655, -0.052421648, -0.03608805, 0.06062624, 0.11137132) * go_5(0.0, -1.0); - result += mat4(0.10591948, 0.0052649123, 0.18899056, 0.0075388527, 0.035225954, -0.062119495, 0.022104654, -0.10452858, 0.03833499, 0.26919907, -0.078174464, 0.0016594962, 0.09164568, -0.05362235, 0.047250915, -0.031277195) * go_5(0.0, 0.0); - result += mat4(0.0244364, -0.06794058, -0.021393122, -0.053156774, 0.15241314, -0.09962311, -0.03456499, -0.016867915, 0.1597494, -0.12681212, -0.010430228, 0.00086353114, 0.027244834, 0.08854933, 0.1284529, -0.05862663) * go_5(0.0, 1.0); - result += mat4(-0.12345045, -0.044616744, -0.04131162, 0.13541003, -0.047810026, -0.12005011, 0.010486988, -0.021923149, 0.11812008, 0.17721419, -0.032736443, -0.15231252, -0.13128845, 0.07795993, 0.047232933, -0.07249807) * go_5(1.0, -1.0); - result += mat4(0.08612666, 0.02928595, 0.24572, 0.1079535, 0.06905186, -0.040503707, 0.08792316, 0.13987797, 0.14096849, -0.026072232, -0.024833977, -0.031660788, -0.07927557, 0.03298344, -0.08978443, 0.112841055) * go_5(1.0, 0.0); - result += mat4(0.15270372, 0.07552049, 0.09564199, -0.13284975, 0.003842602, -0.029099604, 0.0003256477, -0.09769279, 0.12788263, -0.10107807, 0.10767, 0.23706906, -0.059877742, 0.09791839, 0.04538287, 0.16307582) * go_5(1.0, 1.0); - result += vec4(0.07341823, -0.019611815, -0.09007808, -0.022756629); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.053204395, 0.2134829, 0.12336964, -0.10227736, 0.13940702, -0.124413736, 0.3020443, -0.2065515, -0.004734049, 0.037971064, -0.17321284, 0.041885074, 0.077058956, 0.12063891, -0.010338445, 0.06337065) * go_0(-1.0, -1.0); - result += mat4(0.12816934, 0.14948028, -0.09161687, 0.009573578, 0.22003245, 0.044031654, 0.090882175, -0.14265673, 0.06734865, 0.05421324, 0.11106335, -0.020738617, 0.02484326, -0.059336618, -0.009157065, 0.0821956) * go_0(-1.0, 0.0); - result += mat4(-0.02057381, -0.053952582, -0.05662845, 0.043356568, 0.2431925, -0.117109254, -0.03546069, 0.32747653, -0.0656724, -0.10274332, -0.026182862, 0.16777003, -0.038789105, -0.011600223, -0.06111373, -0.045530178) * go_0(-1.0, 1.0); - result += mat4(-0.11627616, -0.2680533, 0.010153158, 0.04263144, -0.046353284, -0.05806104, 0.08532106, 0.02319678, -0.12570818, 0.0359389, 0.020782439, 0.10452313, 0.06330789, -0.0086953, -0.03920925, 0.06789389) * go_0(0.0, -1.0); - result += mat4(-0.08820413, -0.13917038, -0.049961973, 0.10507677, 0.25912637, 0.048801307, 0.13123387, 0.055866715, -0.055367444, 0.1428978, -0.040858068, 0.20058946, 0.0673469, -0.17162299, 0.15529002, 0.41366217) * go_0(0.0, 0.0); - result += mat4(-0.081712715, 0.04338456, -0.0368015, -0.0018422191, 0.16511263, -0.21779254, 0.065223925, 0.4804269, 0.26078546, -0.038037203, -0.2898542, 0.2068737, 0.101655796, -0.12456843, -0.11357212, -0.005879897) * go_0(0.0, 1.0); - result += mat4(-0.074044555, 0.07722422, 0.062057327, -0.039013617, 0.12760206, -0.18111233, -0.01114239, 0.1514668, -0.008963988, 0.23631106, 0.18362597, 0.14166053, -0.046458114, 0.16774492, 0.17774823, -0.008998563) * go_0(1.0, -1.0); - result += mat4(0.09820194, -0.054974817, -0.015640004, -0.037923157, 0.22821093, -0.03986652, -0.0074655996, 0.04587354, 0.05650628, 0.112482674, 0.023865355, 0.24882393, -0.011221855, 0.13942584, 0.003652544, -0.06288897) * go_0(1.0, 0.0); - result += mat4(-0.31229278, -0.10419711, -0.004614452, -0.032103445, -0.00018427879, 0.027711036, 0.028399462, 0.082576215, -0.056645207, 0.038272534, -0.011554511, 0.33454514, -0.21628743, 0.11849716, -0.23067485, -0.087079175) * go_0(1.0, 1.0); - result += mat4(-0.14960206, 0.29916358, -0.36191732, -0.096665345, -0.08732554, -0.10081626, 0.10593716, -0.0143145975, 0.12768494, 0.3251397, 0.23868982, -0.08632128, -0.07138096, -0.029475177, 0.07199368, -0.0016260111) * go_1(-1.0, -1.0); - result += mat4(0.17022541, 0.19862384, 0.0029171365, 0.07225595, 0.08387519, -0.051419877, 0.16522466, -0.04951881, 0.07093068, 0.34544435, 0.08639415, -0.0077871718, 0.07875624, -0.10820802, 0.015711969, 0.1371948) * go_1(-1.0, 0.0); - result += mat4(0.11947513, 0.03204784, -0.22552966, 0.05517582, 0.13209006, -0.06262761, 0.0719108, -0.083935544, -0.17171475, 0.07105399, 0.013485666, -0.13865131, -0.20124301, -0.10171288, -0.17265166, -0.1650513) * go_1(-1.0, 1.0); - result += mat4(-0.038657106, -0.11968214, -0.04953467, 0.03988426, 0.18497725, 0.00012608049, -0.014361117, 0.016538745, 0.053768195, 0.21468902, 0.22507563, 0.13274029, 0.09316226, 0.10554355, 0.13079438, -0.020738615) * go_1(0.0, -1.0); - result += mat4(0.3934315, -0.14415179, 0.022628346, 0.067308314, 0.06434691, -0.09336087, -0.067665786, 0.05017148, -0.06534398, -0.048088152, -0.037155427, 0.1489594, -0.054163337, 0.2329102, -0.105613016, 0.0012456856) * go_1(0.0, 0.0); - result += mat4(0.24050267, -0.0067265374, -0.0153115215, 0.06555275, 0.19129738, 0.0043795216, 0.063948326, -0.13967972, -0.40650475, 0.09109113, 0.07856194, -0.13390535, -0.08199262, 0.17485364, -0.090266995, -0.012882164) * go_1(0.0, 1.0); - result += mat4(-0.387764, -0.15284535, -0.269682, 0.063642666, 0.08651869, -0.23153405, -0.10131002, 0.0043905224, 0.220928, 0.17752749, -0.01569877, -0.0686579, 0.21019012, 0.20529252, 0.06952716, -0.058749653) * go_1(1.0, -1.0); - result += mat4(-0.293644, 0.036391325, -0.07392813, -0.086678274, 0.2078697, -0.11507264, 0.028548734, -0.16409987, 0.17409426, 0.1885014, 0.084329076, -0.15027794, 0.20641033, 0.06187141, -0.03875406, 0.0032009226) * go_1(1.0, 0.0); - result += mat4(0.10790136, 0.1387389, -0.1781791, 0.21425287, 0.12715636, -0.063490026, 0.09555745, -0.10528784, 0.12758408, 0.29311177, 0.0432301, -0.021469813, 0.021922017, 0.082767464, 0.15348153, 0.12735313) * go_1(1.0, 1.0); - result += mat4(0.0062385295, 0.11732651, 0.06049321, -0.07607647, 0.17820913, 0.06216857, 0.05036523, 0.008527562, -0.05745378, 0.065337434, -0.04389796, 0.032172143, -0.08650831, -0.13604137, 0.050570212, 0.011036989) * go_2(-1.0, -1.0); - result += mat4(0.016900355, 0.14422971, -0.106490955, -0.052399695, 0.13446756, 0.07712888, 0.0058913217, 0.07991085, 0.038670607, -0.25514704, 0.12148176, 0.17061579, 0.11421595, 0.022622943, 0.058726758, -0.17090438) * go_2(-1.0, 0.0); - result += mat4(0.055515286, -0.19921277, -0.0012379233, 0.064982586, 0.26003027, -0.026233593, 0.07716586, -0.025661616, -0.11324887, -0.0035626758, 0.017872687, -0.10889948, -0.09775516, 0.07376668, -0.07696171, -0.2438295) * go_2(-1.0, 1.0); - result += mat4(0.032405633, -0.05084789, -0.088054694, -0.10841894, -0.0075752116, 0.13531004, -0.1457409, 0.13204673, 0.0792082, 0.12976237, -0.07244278, -0.11369213, 0.06102383, -0.23130623, 0.0485402, 0.06685668) * go_2(0.0, -1.0); - result += mat4(-0.13683872, -0.053872824, -0.06719165, -0.070855714, 0.019770421, 0.18132222, 0.027324507, -0.04910738, 0.17011392, 0.057926424, 0.0857354, -0.14427422, -0.066373795, 0.09973484, 0.02194641, 0.17209244) * go_2(0.0, 0.0); - result += mat4(-0.07172457, -0.09989123, 0.06346084, 0.007205204, -0.18027657, 0.007516025, -0.0042022206, -0.0091036465, 0.18030393, -0.009558301, 0.12717903, -0.02116024, 0.14172006, 0.012544988, -0.16633627, 0.13234323) * go_2(0.0, 1.0); - result += mat4(-0.026680972, 0.26901576, -0.053663265, 0.0021016174, 0.032445803, 0.037003934, 0.05414299, -0.035497934, -0.10569329, 0.050672166, -0.01144387, 0.05000742, -0.057444472, 0.0010797186, 0.018822541, -0.04636653) * go_2(1.0, -1.0); - result += mat4(0.135361, -0.058395687, -0.033542126, 0.09484118, -0.07793999, 0.013546507, 0.11820586, 0.14490362, -0.016325314, -0.0062904614, 0.12631275, 0.1394393, -0.049356613, -0.02528993, 0.26334915, -0.032557055) * go_2(1.0, 0.0); - result += mat4(0.077839315, -0.052373778, 0.036136296, -0.05023568, -0.07987715, 0.018897712, -0.17742547, 0.18015353, 0.2571155, 0.058656774, 0.013118142, 0.12145675, 0.14177194, 0.099529505, -0.028370513, 0.25136563) * go_2(1.0, 1.0); - result += mat4(0.0747753, -0.15949982, 0.076973855, 0.080785476, 0.25431648, -0.120426156, 0.059631538, 0.13541599, -0.006538664, 0.06348775, -0.15413675, -0.011688718, -0.0877202, -0.07138076, -0.20553613, 0.17151853) * go_3(-1.0, -1.0); - result += mat4(-0.24562076, -0.31801596, 0.2534939, -0.054888077, 0.23713852, -0.23484352, 0.015403321, 0.28927258, 0.02333135, 0.115237035, 0.051989716, -0.0774211, -0.17619006, -0.042421665, -0.17778155, -0.16379887) * go_3(-1.0, 0.0); - result += mat4(-0.15642986, -0.0426825, 0.075349115, -0.13867629, 0.112977736, 0.06540842, 0.0059138774, 0.090976134, 0.102575876, -0.07702354, -0.060852207, -0.07358783, -0.030642396, -0.12437998, 0.19073227, -0.008556629) * go_3(-1.0, 1.0); - result += mat4(-0.009600349, 0.19660307, 0.06310739, -0.091261774, 0.1383758, -0.10920792, 0.01987075, 0.10960847, -0.03973851, -0.05378361, -0.053934645, -0.062070217, 0.017768001, -0.109798394, -0.27830756, 0.14825441) * go_3(0.0, -1.0); - result += mat4(0.2253333, 0.04887524, 0.007540527, -0.21392706, 0.28378952, -0.22518088, -0.09280502, 0.25905597, 0.1558124, -0.06532809, -0.052613363, -0.038770456, -0.09479437, 0.39384437, 0.09516288, -0.29169223) * go_3(0.0, 0.0); - result += mat4(0.023066722, -0.20169239, 0.025786614, 0.12992494, -0.0011414116, -0.0023400988, 0.13305776, -0.017615285, -0.06834794, -0.06084079, -0.10924924, 0.039389268, -0.0040167933, 0.049587116, 0.07590412, 0.31464538) * go_3(0.0, 1.0); - result += mat4(-0.1917511, -0.008846332, 0.0914183, -0.06694468, 0.054535903, 0.19732447, 0.17194839, 0.12368525, -0.11447456, -0.10244315, -0.082908966, -0.103707045, 0.06248975, -0.14130668, -0.068753496, 0.23984621) * go_3(1.0, -1.0); - result += mat4(-0.10043509, 0.036193024, 0.017117409, 0.15630378, 0.29531795, -0.20785378, -0.17022829, 0.010861576, -0.052274987, -0.050172083, -0.09687743, 0.025382213, 0.1061047, -0.019923043, 0.1905993, 0.31907213) * go_3(1.0, 0.0); - result += mat4(-0.023860455, 0.013424604, -0.055340413, -0.006086705, 0.26867437, -0.18745743, 0.11919189, 0.05196282, -0.09836886, -0.10949307, -0.064731866, -0.14198364, 0.46431017, -0.14794265, 0.025133874, 0.38547024) * go_3(1.0, 1.0); - result += mat4(0.06934901, -0.20738873, 0.14471452, 0.03087651, 0.18033424, 0.16282603, -0.050284263, -0.041595727, -0.11747435, -0.04275445, -0.20998137, -0.056565028, -0.050009515, 0.13573733, -0.08438032, -0.07363902) * go_4(-1.0, -1.0); - result += mat4(-0.1109324, -0.08281566, 0.080020756, -0.07565862, 0.16276588, 0.13186535, 0.17810473, 0.051175643, -0.1470848, -0.08119655, 0.22341052, -0.14562707, -0.22091609, 0.08912351, 0.062519215, -0.17822169) * go_4(-1.0, 0.0); - result += mat4(-0.02652961, -0.050731696, 0.06761707, -0.070221156, 0.11255305, 0.15729706, 0.18315557, -0.0030489026, 0.08721225, -0.04417, -0.044907395, -0.0631245, -0.010991895, 0.14397791, -0.016412318, -0.016923137) * go_4(-1.0, 1.0); - result += mat4(-0.12462993, 0.14335859, 0.08130342, -0.16543365, 0.010432147, 0.019978197, -0.017498186, 0.03631899, 0.057306956, -0.06078837, -0.015008236, -0.24389061, -0.10250533, 0.31660014, 0.33440468, -0.12124798) * go_4(0.0, -1.0); - result += mat4(-0.27909592, 0.21149877, 0.050259847, -0.24782999, 0.07350583, -0.03168507, -0.0206597, 0.07860909, -0.07629377, 0.1713701, 0.24176298, -0.25509474, 0.002090829, 0.051905315, 0.25929084, -0.09076089) * go_4(0.0, 0.0); - result += mat4(-0.13923247, -0.083095506, -0.12958083, 0.008588576, 0.068224825, 0.094012275, 0.1395537, 0.0690222, 0.13958463, -0.02742012, 0.13905828, -0.04970139, -0.0629641, -0.15277445, 0.016491361, -0.13742869) * go_4(0.0, 1.0); - result += mat4(-0.0027394858, -0.07178526, 0.07668042, -0.16290356, 0.10704169, 0.27434343, -0.003009555, -0.0124241095, 0.031501733, -0.10345558, -0.12258338, -0.055458266, 0.08220533, 0.16282788, 0.22585614, -0.04099274) * go_4(1.0, -1.0); - result += mat4(-0.18252786, 0.032287426, 0.03831364, 0.03279567, -0.015436468, 0.16594371, -0.022859711, 0.014286839, -0.020073507, -0.06752274, 0.04850366, -0.03098202, 0.055985507, 0.030877378, -0.12457596, 0.012876079) * go_4(1.0, 0.0); - result += mat4(-0.2959125, 0.12508816, -0.05321822, -0.1051829, 0.16586393, 0.07608049, -0.042397983, -0.0069031697, 0.13237686, -0.07125681, 0.021239927, 0.17826323, -0.14433292, 0.013577087, -0.14554563, -0.2040924) * go_4(1.0, 1.0); - result += mat4(0.33643177, -0.09343892, 0.05079197, -0.008774256, -0.002809458, -0.07406135, -0.33292174, 0.026698712, 0.3655136, 0.07260544, 0.3903461, -0.025114482, 0.038028333, 0.104210675, -0.4062275, -0.078964405) * go_5(-1.0, -1.0); - result += mat4(0.19767492, -0.1537188, 0.049587816, 0.23333088, -0.3893781, -0.011501175, -0.1826917, -0.12794746, -0.06709039, 0.015785962, -0.18090555, -0.11386157, -0.12038564, 0.011559484, -0.12779875, -0.14214684) * go_5(-1.0, 0.0); - result += mat4(-0.15774208, 0.24946158, -0.040942013, -0.1251321, -0.3509982, 0.07450445, -0.14480934, -0.20172012, -0.11019966, -0.07905495, -0.1572328, 0.12654895, 0.119401105, -0.12334677, 0.10720092, -0.06545273) * go_5(-1.0, 1.0); - result += mat4(-0.037104636, 0.33563337, 0.20923309, 0.028749982, 0.13854796, -0.13161437, 0.038462456, -0.14479184, 0.15403077, -0.04880203, 0.13780783, 0.06471987, 0.2944117, 0.13432993, -0.31482598, -0.06599348) * go_5(0.0, -1.0); - result += mat4(0.54742974, 0.121937156, -0.07866791, 0.07451098, -0.03663172, -0.1554786, 0.059384037, -0.004000904, -0.04610048, -0.10617931, -0.18522029, 0.03238723, -0.085027255, -0.07754074, 0.22321595, -0.22000736) * go_5(0.0, 0.0); - result += mat4(0.34576082, 0.054670934, -0.006112889, 0.08788217, -0.11128527, 0.016721481, 0.0025457302, 0.10134559, -0.08420967, 0.077211045, 0.04456844, 0.15408081, 0.08043456, -0.03195054, 0.068368874, -0.0011692513) * go_5(0.0, 1.0); - result += mat4(-0.109538294, 0.035212234, -0.068712965, -0.09868468, -0.12186257, 0.122597136, -0.06546314, -0.024811305, -0.018210687, 0.09266877, -0.091002055, -0.05117649, 0.076985, 0.08579534, -0.14370322, -0.08178749) * go_5(1.0, -1.0); - result += mat4(-0.21291538, 0.03441726, -0.01899837, -0.15328759, -0.17070505, 0.151839, 0.15083382, -0.08944362, -0.3224203, 0.012464086, 0.08693216, 0.014108278, -0.13456593, 0.008793197, 0.14650744, -0.04115599) * go_5(1.0, 0.0); - result += mat4(0.12686576, 0.033990897, -0.0039116694, -0.12522134, 0.066877596, 0.09016868, -0.05867825, 0.08331187, -0.018720012, 0.10592668, 0.050558716, 0.35772276, -0.09896201, 0.057353813, -0.106769, 0.028894106) * go_5(1.0, 1.0); - result += vec4(-0.124429956, -0.023968874, -0.009741961, 0.000734556); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.056590553, 0.03216381, -0.0666051, 0.19334152, -0.0050108447, -0.22589503, -0.057469424, -0.09344944, -0.1051364, -0.25752833, -0.035817955, -0.29675537, -0.1419535, -0.11206299, -0.005250591, -0.02839156) * go_0(-1.0, -1.0); - result += mat4(-0.113020144, 0.028738707, 0.052538726, -0.039978653, 0.052219037, 0.057554238, 0.104583465, -0.03326389, 0.12732053, -0.09863676, -0.19774933, 0.10953924, 0.052640375, -0.2623868, -0.055126745, -0.12773202) * go_0(-1.0, 0.0); - result += mat4(-0.17464705, -0.082161404, -0.18110912, 0.07796715, 0.04916518, 0.11231854, -0.086312726, -0.034675486, -0.19010356, 0.032855187, -0.013579661, 0.37123898, -0.014220876, -0.006728799, 0.08287457, -0.1138056) * go_0(-1.0, 1.0); - result += mat4(0.13857616, -0.09273926, 0.13864596, 0.18886924, -0.011879785, 0.32183805, -0.051207457, 0.037754197, -0.09221778, -0.02035246, -0.17649348, 0.020960717, -0.07177013, 0.09179843, 0.080085315, 0.122304566) * go_0(0.0, -1.0); - result += mat4(-0.16989891, -0.08335691, 0.084998704, 0.11291987, -0.3019433, 0.0076751867, 0.093596675, 0.06530408, 0.1206327, 0.091008104, 0.109547265, 0.25353962, 0.036133915, 0.093532056, 0.061501086, 0.0021566728) * go_0(0.0, 0.0); - result += mat4(-0.017881159, -0.13595797, 0.01136082, 0.16003034, 0.10847896, 0.19483434, 0.26643255, -0.13653097, -0.02909977, 0.0048497478, -0.07825304, 0.19495782, 0.051259015, 0.06378301, -0.25297102, 0.12415515) * go_0(0.0, 1.0); - result += mat4(0.1937498, -0.054339543, 0.010112153, 0.1686902, -0.010859902, 0.017609913, 0.13538137, 0.21478494, -0.15561095, 0.03826493, 0.030638125, 0.15134248, 0.02018713, 0.09653892, 0.012655936, 0.12929274) * go_0(1.0, -1.0); - result += mat4(0.10884013, -0.059027947, 0.09222052, 0.08509775, -0.23504566, 0.10800187, 0.35871732, -0.27244377, 0.1780951, -0.09118458, -0.08485235, 0.18791482, 0.12209446, 0.0061277915, -0.011919617, -0.258573) * go_0(1.0, 0.0); - result += mat4(0.08261666, -0.107749484, -0.15589459, 0.23786806, -0.25947818, -0.07595851, 0.19160344, -0.024088206, -0.008799499, -0.17963524, -0.25323853, -0.026271267, 0.108688876, -0.21407057, -0.3583868, 0.09666366) * go_0(1.0, 1.0); - result += mat4(0.13808286, -0.04138869, -0.16940956, 0.3419983, 0.055550236, -0.020949477, -0.0067749163, -0.19835842, 0.030675124, 0.075373225, 0.12566806, -0.04334421, -0.102529705, 0.04508018, 0.23232533, 0.0019694006) * go_1(-1.0, -1.0); - result += mat4(0.15215543, -0.016466457, -0.088040456, 0.17388342, 0.04182113, 0.18802759, 0.064585775, -0.14804406, -0.24339275, 0.17330259, 0.027834702, 0.058299657, -0.031298336, 0.31788856, 0.07080272, 0.24237408) * go_1(-1.0, 0.0); - result += mat4(0.16990338, 0.3701443, 0.12791218, 0.14076602, 0.20176111, 0.0302564, 0.24510148, -0.13427663, -0.38024938, 0.12371078, -0.01582557, -0.3158842, 0.20104642, 0.07178823, -0.1876278, 0.084532306) * go_1(-1.0, 1.0); - result += mat4(0.14377905, -0.058295894, 0.18250984, -0.09202952, 0.049288724, 0.06361697, 0.015274134, -0.009651323, -0.042051505, -0.012071234, 0.1326135, 0.019923072, -0.15128869, 0.25043762, -0.13259046, 0.00053170364) * go_1(0.0, -1.0); - result += mat4(0.094158195, 0.12379144, 0.19022636, 0.18195347, 0.013914745, 0.061979804, 0.02451591, -0.11115476, -0.17788209, 0.13222231, -0.13186376, -0.1616039, -0.24425243, 0.1886775, 0.0112440875, -0.06601394) * go_1(0.0, 0.0); - result += mat4(-0.030136446, 0.2917132, -0.27445439, 0.17572524, 0.041303374, 0.023066396, 0.15800332, -0.2759435, -0.13819514, 0.15358543, -0.20889634, -0.015854366, -0.046221938, -0.029213084, -0.20027846, -0.096412785) * go_1(0.0, 1.0); - result += mat4(0.0125947185, 0.0055787223, -0.09309416, 0.076822944, -0.093398675, 0.2956369, 0.06577939, -0.23052916, -0.07925194, -0.072308525, 0.024827626, -0.060508657, -0.12151571, 0.026541036, -0.12048794, -0.07427358) * go_1(1.0, -1.0); - result += mat4(-0.10964251, -0.17297563, 0.13372806, 0.049176272, -0.05832845, 0.017144928, -0.048461188, -0.15870371, 0.11398971, -0.107922345, 0.13167588, -0.14817321, -0.10338058, -0.31081274, 0.08330581, -0.29687402) * go_1(1.0, 0.0); - result += mat4(0.16665904, -0.2640339, -0.29233927, 0.038875308, -0.05411785, 0.16937009, 0.12490365, -0.124583, -0.07552158, 0.11799862, -0.28171206, -0.00040758983, -0.19385974, -0.06890529, 0.14208162, -0.1088734) * go_1(1.0, 1.0); - result += mat4(0.06168567, 0.08464485, 0.051727522, 0.0080752885, -0.024248002, -0.10022553, 0.16323335, 0.023631554, -0.05933269, -0.062205136, -0.18094447, 0.059799075, 0.21466024, 0.008523474, 0.26693302, 0.23969485) * go_2(-1.0, -1.0); - result += mat4(-0.15529208, -0.011878417, -0.18483245, 0.14569621, 0.063189425, -0.19457999, -0.030479494, -0.06388341, 0.059255358, 0.021795692, -0.18915053, 0.10549042, -0.14347872, 0.035095137, 0.5123671, -0.36842114) * go_2(-1.0, 0.0); - result += mat4(-0.3129531, 0.18427932, 0.08967258, 0.030795548, -0.062971294, 0.13863337, 0.1719862, -0.12454022, -0.13502273, 0.09999501, -0.08539335, -0.009761404, 0.12899344, 0.13241018, 0.07476177, 0.088581234) * go_2(-1.0, 1.0); - result += mat4(0.060355544, -0.20497295, -0.056201037, 0.17441384, -0.07366008, 0.0031770081, 0.10340366, -0.065828614, -0.0135689005, 0.0018236408, -0.061976664, 0.2355626, 0.10771512, 0.077624, 0.13811535, -0.07868492) * go_2(0.0, -1.0); - result += mat4(-0.17156444, -0.026765984, -0.10527619, 0.03830846, 0.09402895, -0.004862654, 0.076368734, -0.14964046, 0.043011688, -0.23503943, -0.0006939608, 0.14159496, -0.044676844, 0.173952, 0.110504664, 0.0019379692) * go_2(0.0, 0.0); - result += mat4(-0.17247017, 0.08168303, 0.17221324, -0.06592961, 0.0044269604, 0.15659723, -0.055933986, -0.042620275, 0.06073025, 0.2532331, 0.10132909, -0.117701456, 0.12096025, 0.10205398, -0.18403697, 0.18307333) * go_2(0.0, 1.0); - result += mat4(0.09575911, -0.05598526, -0.00019075947, -0.09576007, 0.20932649, -0.20390967, 0.039013285, -0.0673076, 0.10174375, -0.029520035, 0.08187042, 0.0113893915, 0.2773657, -0.14660437, -0.052826468, -0.066547535) * go_2(1.0, -1.0); - result += mat4(0.073659964, 0.11016725, 0.03967363, -0.14039496, 0.14510235, -0.023440665, -0.14824589, 0.040890865, -0.17982483, -0.06410239, 0.1368475, 0.06049977, -0.04931566, 0.16838568, 0.032267325, -0.14558685) * go_2(1.0, 0.0); - result += mat4(-0.09795584, 0.042064235, -0.031120127, -0.14744717, 0.027100604, -0.24968515, -0.21389422, 0.04229415, -0.09014897, 0.12878452, 0.25642878, -0.08038266, 0.19971558, 0.11135897, -0.36821046, 0.1422662) * go_2(1.0, 1.0); - result += mat4(0.1094647, -0.016677434, -0.028883765, 0.3192714, 0.09875388, 0.063245736, 0.14410317, 0.032648303, -0.06333742, 0.27168024, 0.022700999, -0.24260196, 0.2008466, 0.0035053317, 0.033708334, 0.08848844) * go_3(-1.0, -1.0); - result += mat4(0.14528061, -0.15028432, -0.12186915, 0.2541439, 0.10196279, -0.08628881, 0.013626965, 0.0865205, -0.06720443, -0.012042523, 0.2745774, -0.15612917, 0.052762404, -0.048645414, 0.2373206, 0.15480334) * go_3(-1.0, 0.0); - result += mat4(0.30316323, 0.13258561, 0.064958744, -0.006462185, -0.18336357, -0.042762443, 0.14428605, 0.0022340214, 0.126048, 0.080833666, 0.009115843, 0.03493862, 0.10809081, -0.16448757, 0.3997175, -0.110012166) * go_3(-1.0, 1.0); - result += mat4(0.02458684, -0.057449866, 0.030437991, 0.12050426, 0.09614844, -0.014490843, 0.028539594, 0.04805738, -0.09334032, -0.025414651, -0.08732445, -0.23192073, -0.17476203, -0.09348745, -0.08307593, -0.23019521) * go_3(0.0, -1.0); - result += mat4(0.35522544, -0.079090506, 0.008817837, 0.2532623, 0.34887648, -0.06478506, -0.08268971, -0.01187354, -0.01297639, -0.1617383, -0.08950093, -0.27147245, -0.18539499, -0.025695372, 0.014795757, 0.070290186) * go_3(0.0, 0.0); - result += mat4(0.10833107, -0.04752071, 0.0257186, 0.045938533, -0.17696926, -0.044409238, 0.013435127, -0.026669621, -0.039547954, -0.24273679, -0.11717763, 0.03446355, 0.20519058, 0.14973645, -0.06620626, 0.27608195) * go_3(0.0, 1.0); - result += mat4(-0.05178539, -0.052307468, -0.031603504, 0.087410286, -0.02714207, 0.19870313, -0.07222196, 0.016593033, 0.1256676, -0.0017593893, -0.09573438, 0.06781198, -0.21133266, 0.17265096, -0.18769167, -0.44435498) * go_3(1.0, -1.0); - result += mat4(0.06497008, -0.036607113, -0.044402726, 0.2149976, 0.13416344, 0.042011082, -0.101590805, -0.020510921, -0.06912339, -0.054973233, -0.044747703, 0.14244531, -0.28504518, 0.3040643, -0.09546776, 0.31751406) * go_3(1.0, 0.0); - result += mat4(-0.084402256, 0.09284107, 0.035581376, -0.0062208944, -0.09883153, 0.10322051, 0.1348337, -0.31998435, -0.012351705, -0.1971895, 0.22683385, -0.12512599, -0.07051629, 0.2452453, 0.083472766, -0.20878734) * go_3(1.0, 1.0); - result += mat4(-0.20292963, 0.044648554, 0.15208347, -0.08012225, -0.12525047, 0.015525035, 0.09556482, -0.11069662, -0.085732915, 0.011575785, -0.025669998, -0.14913903, -0.04931291, 0.012865525, -0.12986338, -0.01954532) * go_4(-1.0, -1.0); - result += mat4(-0.008896974, -0.039155565, 0.027794836, -0.117017545, -0.06935417, -0.026629506, 0.007301185, -0.46567324, 0.037060194, 0.09720974, 0.2845551, -0.3020958, -0.025294555, -0.30916882, 0.18453851, -0.18012975) * go_4(-1.0, 0.0); - result += mat4(0.030631881, -0.008507908, -0.09436097, 0.0311627, -0.20561115, 0.11587156, 0.09280758, -0.085967906, 0.3602613, -0.044544138, 0.1323068, -0.009463272, -0.0025823591, -0.15646757, -0.046626896, 0.16452411) * go_4(-1.0, 1.0); - result += mat4(-0.0077203126, -0.100717455, -0.2011105, -0.14975028, -0.20319125, 0.10198259, -0.04371703, -0.27115488, 0.027433528, -0.09739682, -0.13802922, -0.26861516, -0.048793945, 0.06584455, 0.06585165, -0.008628782) * go_4(0.0, -1.0); - result += mat4(-0.10281875, 0.040024713, -0.2812408, -0.020755077, 0.013610964, -0.032100085, -0.019541265, 0.08268734, -0.03297649, -0.037923373, -0.18825053, 0.07058112, 0.08730599, 0.03063617, 0.02987196, -0.0043262425) * go_4(0.0, 0.0); - result += mat4(-0.040238652, -0.13039924, 0.14888343, 7.490741e-05, -0.2158812, 0.24641772, 0.006157586, -0.04499295, 0.144089, 0.07224167, 0.17486697, -0.035505384, 0.1524877, 0.14747557, 0.17406234, 0.11407642) * go_4(0.0, 1.0); - result += mat4(0.016506152, -0.010222893, 0.13286552, -0.21776699, -0.09772777, 0.1287599, -0.03898535, -0.16048339, 0.16613074, 0.07386897, 0.010006783, -0.109998874, -0.44924134, -0.10780198, 0.20899624, 0.0225183) * go_4(1.0, -1.0); - result += mat4(-0.009322647, 0.037628874, -0.07781525, 0.096469015, -0.13213164, 0.112819366, -0.009472233, -0.2799395, -0.13030471, 0.15054065, -0.06948136, -0.15108407, 0.15611546, -0.033660483, -0.015103015, -0.11582756) * go_4(1.0, 0.0); - result += mat4(-0.1565792, -0.020967469, 0.18913873, -0.16583163, -0.1238118, 0.09852521, -0.22204556, -0.03933885, -0.0059996913, 0.26517454, 0.029015608, -0.0067967405, 0.12023722, 0.020479612, -0.11405568, 0.09855018) * go_4(1.0, 1.0); - result += mat4(-0.100906074, 0.1372623, -0.06694728, 0.24972913, -0.050774068, -0.040847532, -0.2658499, -0.055020068, 0.017677482, -0.10252552, 0.093889, -0.066453, -0.11749236, 0.117650375, -0.009431862, -0.13268448) * go_5(-1.0, -1.0); - result += mat4(0.0062916246, 0.11412136, -0.04665643, -0.05716979, -0.3630308, 0.056478713, 0.13907139, -0.46697688, -0.17572168, -0.032978512, -0.25377706, 0.2386579, 0.08279535, -0.078310356, 0.14829971, -0.22042938) * go_5(-1.0, 0.0); - result += mat4(0.032816015, -0.30565384, -0.16489638, -0.16715215, 0.19837156, 0.2794504, -0.056615926, -0.15358809, -0.040108953, -0.30223787, 0.23217356, 0.0056255152, -0.018384434, 0.151488, 0.1853468, 0.08032189) * go_5(-1.0, 1.0); - result += mat4(0.0664597, -0.20910838, 0.26195124, -0.07578308, 0.13466386, -0.040509395, -0.005630214, -0.10919593, 0.09764661, -0.099661686, 0.105231985, 0.18113208, -0.13830248, -0.16406676, -0.36873665, -0.110502236) * go_5(0.0, -1.0); - result += mat4(-0.009745877, 0.050425317, 0.041368794, 0.34543577, 0.017489558, -0.1383922, 0.02555688, 0.08608152, 0.2675467, -0.14163154, -0.009072096, -0.04938327, 0.02321701, -0.23915094, -0.20346476, 0.02754088) * go_5(0.0, 0.0); - result += mat4(-0.0764608, -0.18401545, 0.18727265, -0.107619025, 0.02815041, 0.14077562, -0.05316665, 0.3057819, 0.033161953, -0.15832557, -0.13877237, 0.1657462, 0.01894343, 0.23329574, -0.14319004, 0.031079128) * go_5(0.0, 1.0); - result += mat4(-0.3142226, 0.09312817, 0.08794322, 0.2222839, -0.06945857, 0.14425695, -0.014134404, 0.005755717, 0.010266066, -0.26988292, 0.04765992, 0.24445806, -0.11784465, 0.028391482, -0.09065907, 0.13896856) * go_5(1.0, -1.0); - result += mat4(-0.17636561, -0.056445003, 0.06597882, 0.020473091, -0.13026594, 0.12097649, -0.060047906, 0.30939278, 0.20875697, 0.074364014, -0.06563088, -0.052628025, -0.07981685, -0.054282684, 0.006551467, 0.08257015) * go_5(1.0, 0.0); - result += mat4(0.1486522, 0.27273872, -0.16233566, 0.08857763, 0.034426562, 0.31791484, -0.11444188, 0.20239855, -0.17699686, 0.40953103, -0.19843663, 0.32758692, -0.017546277, 0.040539514, -0.13233976, 0.054549627) * go_5(1.0, 1.0); - result += vec4(0.0570952, -0.011593155, 0.033286963, 0.00014048154); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.028246857, 0.09429872, 0.034600366, 0.022117741, -0.034094583, -0.1416488, 0.114190586, -0.19039942, -0.03329484, 0.054765828, 0.0518203, -0.20784369, -0.11068853, -0.03985197, -0.040889204, -0.15233918) * go_0(-1.0, -1.0); - result += mat4(0.0034295225, -0.0047144215, -0.13811362, 0.1063775, -0.042283904, -0.11053704, 0.031115215, -0.19094694, -0.07958675, 0.25251713, 0.27887833, 0.032974306, -0.007945948, 0.005038382, -0.018204618, -0.033514593) * go_0(-1.0, 0.0); - result += mat4(-0.021439308, 0.09934385, 0.06221231, 0.20019929, 0.031433582, 0.10136135, 0.03170799, 0.22528099, -0.13307518, 0.0042947256, 0.12888439, 0.057041943, -0.093636274, -0.098759346, -0.0013004189, -0.11623657) * go_0(-1.0, 1.0); - result += mat4(-0.12425962, 0.06631687, 0.03538785, 0.12683366, 0.036875088, -0.388709, 0.021293538, -0.06568616, -0.022915881, -0.17667641, -0.21997124, -0.15674002, 0.12193349, 0.05480543, -0.028813047, -0.092471436) * go_0(0.0, -1.0); - result += mat4(-0.23961155, -0.10273245, -0.08654801, 0.20536228, 0.15906096, -0.28645602, -0.20196053, -0.24955072, 0.030706927, 0.0390173, -0.18619792, 0.042841963, -0.021935288, 0.18055134, 0.056804277, 0.06829802) * go_0(0.0, 0.0); - result += mat4(-0.17750104, 0.060207605, -0.16278192, 0.10637904, 0.09263751, -0.15864064, -0.1921883, 0.15418245, -0.21325666, -0.060680047, -0.17831814, 0.08721947, 0.028428067, 0.110841654, -0.0018111315, -0.14204408) * go_0(0.0, 1.0); - result += mat4(-0.05341328, 0.022792514, 0.12271092, 0.10998399, -0.05194629, -0.0019651174, 0.096098036, 0.05388034, -0.09140511, -0.09375859, -0.033423815, -0.051705707, 0.40354738, -0.09664782, -0.16623749, -0.063937105) * go_0(1.0, -1.0); - result += mat4(-0.036799524, -0.0768793, -0.13867554, 0.0018584719, -0.1217911, -0.24234816, 0.09708973, -0.011562908, -0.04658245, -0.0382149, -0.06386236, -0.18728544, -0.07053968, 0.022178814, -0.011753032, 0.09338199) * go_0(1.0, 0.0); - result += mat4(-0.040192164, -0.042503025, -0.10662553, 0.04789613, -0.14751524, -0.10168207, 0.09263359, -0.042696435, -0.32350782, 0.12660037, -0.004465994, -0.006698753, 0.11897201, -0.046830907, -0.13950327, 0.06639755) * go_0(1.0, 1.0); - result += mat4(-0.35137546, 0.16106302, -0.03942045, 0.20408326, -0.21793413, -0.19028474, 0.03843431, 0.16594443, 0.06715659, -0.12361966, 0.09516593, -0.07226092, -0.0021764247, 0.09041338, -0.042596035, 0.17071731) * go_1(-1.0, -1.0); - result += mat4(-0.1597755, -0.0058896556, -0.14055388, -0.1015749, 0.03897486, -0.14616072, 0.14914623, 0.04983836, 0.19837128, 0.031061351, -0.012111387, -0.14318599, 0.015185477, 0.015783781, 0.0806122, -0.029704068) * go_1(-1.0, 0.0); - result += mat4(-0.039973997, -0.039424386, -0.00023192639, 0.08071814, 0.096021704, -0.20885538, -0.12213241, -0.023790348, 0.09664941, -0.10268222, 0.13096042, -0.05173415, -0.37291482, 0.07015618, -0.33403385, -0.083771) * go_1(-1.0, 1.0); - result += mat4(0.03271248, 0.30518225, -0.07270691, 0.028075088, -0.05705947, -0.15325841, 0.100330696, -0.025110118, -0.076902226, 0.14327222, 0.06624428, 0.13375239, 0.37281695, 0.07052823, -0.14584045, -0.21908635) * go_1(0.0, -1.0); - result += mat4(0.120670766, 0.31895483, 0.025020262, -0.07187204, 0.12886079, -0.044927042, -0.016122498, -0.042634714, 0.13163976, -0.042178337, 0.1995516, 0.0356841, 0.15696648, 0.08892613, 0.21146311, -0.119200125) * go_1(0.0, 0.0); - result += mat4(0.07862659, -0.04457566, 0.026738126, -0.21411496, 0.10438254, -0.18654525, -0.01533368, 0.13947518, 0.10588101, -0.028714191, 0.15771964, 0.121909015, -0.10983157, 0.2185668, -0.068225995, -0.12562555) * go_1(0.0, 1.0); - result += mat4(-0.12062531, 0.0967178, 0.09571875, 0.23502766, 0.09096207, -0.21987092, 0.024857553, -0.048271395, 0.14787363, -0.033102654, 0.13895266, -0.04427544, 0.04914057, 0.048905186, -0.057733577, -0.26991108) * go_1(1.0, -1.0); - result += mat4(-0.06448222, 0.0056067007, 0.06258581, 0.16081811, 0.11269595, -0.120004445, -0.013984294, -0.13933693, -0.07139989, -0.052229576, 0.14940026, 0.023361623, -0.09279362, -0.18860416, 0.08875797, -0.007527515) * go_1(1.0, 0.0); - result += mat4(-0.074545845, 0.030673563, 0.15330285, 0.13776723, 0.10154421, -0.092071116, 0.04683676, -0.06964785, 0.10431926, 0.08699972, 0.23528512, -0.033892516, -0.14641368, 0.117580056, -0.004050138, -0.02582363) * go_1(1.0, 1.0); - result += mat4(0.14190136, 0.077225044, 0.09930474, 0.007267315, 0.092006706, 0.037188467, -0.027249279, -0.054990012, -0.03665177, 0.12651706, -0.100975744, -0.09072935, 0.24675299, 0.06761549, -0.05267532, 0.10347854) * go_2(-1.0, -1.0); - result += mat4(0.10791531, -0.1370413, -0.08286376, 0.03607253, -0.0308955, 0.07522176, 0.018555947, -0.12568206, 0.112782314, 0.28888306, -0.003996075, 0.028732201, 0.25184667, -0.2680978, 0.02647103, -0.046891168) * go_2(-1.0, 0.0); - result += mat4(-0.016372435, 0.010370288, 0.048521012, 0.17552224, 0.12718126, -0.07016058, 0.07195029, -0.020361308, 0.12597205, 0.08013731, -3.848295e-05, 0.0050118286, -0.009566892, -0.20061424, -0.03470485, -0.006634675) * go_2(-1.0, 1.0); - result += mat4(-0.014340514, -0.061068784, 0.073101744, -0.026097663, -0.060043298, 0.03856278, -0.06831028, 0.01917565, 0.0030782523, -0.27292702, 0.009022088, -0.0835327, 0.15536709, 0.19875537, -0.04220971, 0.12280315) * go_2(0.0, -1.0); - result += mat4(-0.05038896, -0.0450083, 0.11035315, 0.017889546, -0.04486168, 0.02630088, 0.076166764, 0.040405206, 0.101371124, 0.013579925, -0.14421356, 0.10385705, -0.040398728, 0.16730694, 0.21123065, 0.08927596) * go_2(0.0, 0.0); - result += mat4(0.14247608, -0.020986153, 0.23048729, 0.016399987, 0.08749712, -0.042591766, 0.10078401, -0.235661, 0.16211063, 0.06193226, -0.074332505, -0.016298788, 0.045263976, 0.15765212, 0.07818007, -0.04620609) * go_2(0.0, 1.0); - result += mat4(0.021306554, -0.09750117, 0.08551645, -0.04607957, 0.023408834, -0.023608467, -0.20876807, -0.059991024, 0.073818475, -0.011034656, 0.021592963, 0.2020669, 0.0658326, -0.037186112, -0.12142336, 0.024981985) * go_2(1.0, -1.0); - result += mat4(0.14970483, -0.034374855, 0.059193425, -0.053641498, -0.012546929, 0.12899692, -0.14678986, 0.010604312, 0.06670342, -0.16510558, 0.008418653, -0.07479036, 0.18447658, -0.048377503, -0.09458383, 0.0069656954) * go_2(1.0, 0.0); - result += mat4(0.058000036, -0.16915704, -0.019119963, -0.045525633, -0.037617203, 0.25589603, -0.25075126, 0.06523698, 0.17653236, -0.061193496, 0.06445885, 0.012287812, 0.102899276, 0.110979825, -0.22975717, 0.1812179) * go_2(1.0, 1.0); - result += mat4(0.06707089, -0.20528378, 0.046027422, 0.09201046, -0.026794929, -0.14959913, -0.1530082, -0.11166134, -0.1543093, -0.018212209, 0.1530343, 0.16413027, -0.041838966, 0.10568013, 0.027219504, -0.045931514) * go_3(-1.0, -1.0); - result += mat4(0.0007681395, 0.027546167, -0.055535425, -0.16842778, 0.031941716, 0.10155229, -0.15778649, 0.20752658, -0.040377192, -0.30390355, -0.023281433, -0.030623253, -0.09503612, -0.17188235, 0.09639771, 0.006249103) * go_3(-1.0, 0.0); - result += mat4(0.06934318, -0.0011609821, -0.1791592, 0.03465803, -0.24253, 0.05893978, 0.13887544, -0.07227747, 0.01218867, 0.029141122, -0.05214466, -0.12778749, -0.1760804, -0.06785066, -0.007493355, 0.14466043) * go_3(-1.0, 1.0); - result += mat4(0.018881964, -0.05313997, 0.026167642, -0.11774113, 0.106899664, -0.04816693, -0.032971296, -0.2197493, -0.30351043, 0.41334164, 0.09371295, 0.117004104, -0.32039383, 0.21075623, 0.059145812, 0.22701162) * go_3(0.0, -1.0); - result += mat4(0.15627995, -0.068059504, -0.025623176, -0.099454194, 0.053013522, -0.1204116, -0.019655226, 0.07376517, -0.25296777, -0.08185056, -0.055070046, -0.0901355, -0.11905481, -0.05469155, -0.017616548, -0.081166655) * go_3(0.0, 0.0); - result += mat4(0.13076767, -0.05530982, -0.050112855, -0.12159198, -0.13501246, -0.003588778, -0.13545947, 0.11865785, -0.05613547, -0.068032116, -0.08055732, 0.21331398, 0.004210958, 0.0020068642, 0.028101314, -0.09094483) * go_3(0.0, 1.0); - result += mat4(-0.06359586, 0.13318597, -0.013024477, 0.108700395, 0.11144461, -0.20727357, -0.024350716, -0.22389533, -0.09566586, -0.0131226955, -0.11817035, 0.09054735, -0.27647895, 0.07672232, -0.047891885, 0.071800984) * go_3(1.0, -1.0); - result += mat4(-0.030071015, 0.1333995, 0.031153332, -0.086189225, -0.0019152679, -0.01622374, 0.040289503, -0.15809211, -0.12741992, 0.10740146, -0.051979292, -0.116695315, 0.320744, 0.0039460426, -0.0836046, -0.09634563) * go_3(1.0, 0.0); - result += mat4(-0.09536935, -0.052188914, 0.047246125, 0.015771315, 0.044488825, -0.08132813, -0.27927315, -0.13175185, 0.024771225, -0.24907906, -0.023289192, -0.04971131, 0.05681843, 0.07283831, 0.064641275, -0.26641592) * go_3(1.0, 1.0); - result += mat4(-0.027925663, -0.1507286, 0.1326965, 0.016842714, 0.008826637, -0.16630088, 0.057058703, -0.18538098, -0.023735443, 0.032016642, 0.12527052, 0.16732964, 0.086843535, 0.035672616, 0.2063971, 0.09174031) * go_4(-1.0, -1.0); - result += mat4(-0.1374101, 0.0033208288, 0.10667102, 0.010594156, 0.046161152, -0.0973723, 0.038522966, 0.021097187, 0.016156282, -0.19751011, 0.28385642, 0.05756371, -0.05513193, -0.2048188, -0.21631682, 0.07647592) * go_4(-1.0, 0.0); - result += mat4(0.17377815, 0.15260585, 0.053718828, 0.05137225, -0.022358606, -0.1206224, 0.18654475, -0.36442846, 0.037749466, -0.1104878, -0.11404351, -0.06023782, 0.20938018, 0.07982189, 0.07250349, -0.07269494) * go_4(-1.0, 1.0); - result += mat4(-0.21727799, 0.060607027, 0.020804053, 0.18055809, 0.065868735, 0.027194923, 0.07823965, -0.0036479903, -0.00017318636, 0.08600115, -0.025587326, 0.07114245, -0.019529548, -0.13423847, 0.13471194, 0.09455981) * go_4(0.0, -1.0); - result += mat4(-0.0054947184, 0.08912019, -0.0287804, 0.06010462, 0.01399159, 0.06061662, -0.11517458, -0.097311266, 0.050931722, 0.22020856, 0.1323814, -0.04628687, -0.11665284, -0.28899986, -0.24807844, -0.26831678) * go_4(0.0, 0.0); - result += mat4(-0.030188283, -0.03878683, -0.017246237, 0.06085806, -0.018588748, 0.022792742, 0.25868282, -0.07614454, 0.13609566, 0.048479818, 0.1144347, -0.11878534, -0.0087716095, -0.10999109, -0.052827284, 0.05120022) * go_4(0.0, 1.0); - result += mat4(0.13541034, 0.01645716, -0.058492333, -0.038296085, 0.100599736, -0.116733365, 0.04200369, -0.025886245, 0.10077625, -0.16246797, -0.17139618, 0.1154542, 0.048264973, 0.28143618, 0.21083501, 0.1901906) * go_4(1.0, -1.0); - result += mat4(0.17519377, 0.11165914, 0.06639653, 0.07394748, -0.007674659, 0.16630298, 0.19389485, -0.095608205, 0.08834474, -0.014449134, -0.1498579, 0.10741625, -0.15439212, 0.067960866, -0.037635356, -0.15552957) * go_4(1.0, 0.0); - result += mat4(-0.06438933, 0.014048397, 0.10090704, -0.113563396, 0.16256817, 0.05490672, 0.07492557, -0.117161274, 0.21595421, -0.043381806, -0.051558085, 0.1740199, 0.2152678, 0.2786416, 0.16830157, 0.2127052) * go_4(1.0, 1.0); - result += mat4(-0.15677509, -0.43225375, 0.060302902, -0.25911507, 0.33240193, -0.042785197, 0.12322616, 0.060724694, 0.19070825, 0.06739152, -0.11829862, -0.29873747, 0.044883754, -0.02737334, 0.35752672, 0.027660733) * go_5(-1.0, -1.0); - result += mat4(-0.031477857, -0.061355617, 0.14307205, -0.27185053, 0.0042110113, -0.17895593, 0.18448347, 0.1663187, -0.027779656, -0.038476624, -0.20109327, 0.0049036117, -0.33461937, -0.11617029, 0.16388293, 0.08732086) * go_5(-1.0, 0.0); - result += mat4(-0.14116575, -0.2656471, 0.11648339, -0.0032394545, 0.1182878, -0.3112847, 0.022472465, 0.01861419, -0.17598355, 0.09062213, -0.078444645, 0.08435301, -0.076718464, -0.27557522, 0.2719488, -0.2709603) * go_5(-1.0, 1.0); - result += mat4(0.27406302, -0.038197294, 0.08674393, -0.1581159, 0.13235791, -0.2564229, 0.1109576, -0.0176378, 0.15548801, -0.0590908, -0.017661547, -0.2397164, -0.13061532, 0.23031203, 0.13042833, -0.1644423) * go_5(0.0, -1.0); - result += mat4(-0.07506608, 0.038386136, -0.079568535, -0.14536263, -0.14519933, 0.049832735, -0.0716522, 0.08434604, -0.12847446, 0.0008543391, -0.14790097, 0.021308336, -0.28987315, 0.2929442, -0.057600517, 0.0779305) * go_5(0.0, 0.0); - result += mat4(-0.026810233, 0.11869411, -0.11281911, -0.14480188, -0.22689806, 0.28260702, 0.08524954, -0.016079135, -0.139977, 0.1590218, 0.24256052, 0.11876038, 0.1039834, 0.10720082, 0.15955658, -0.08241476) * go_5(0.0, 1.0); - result += mat4(-0.0018456473, -0.044888236, 0.2312576, -0.2259125, 0.1552541, -0.10646746, 0.25436193, -0.0140782725, -0.11281806, -0.045578834, 0.089749135, -0.14050213, 0.09813328, -0.5474639, 0.084324725, -0.13670866) * go_5(1.0, -1.0); - result += mat4(-0.18577714, 0.0991832, 0.02898408, 0.04317898, 0.25488335, -0.30257443, 0.0083487155, 0.00078779995, -0.0014885734, -0.116033524, -0.12751958, 0.20800439, -0.13863127, -0.14012383, -0.082795866, 0.07694529) * go_5(1.0, 0.0); - result += mat4(0.124679685, 0.012901697, 0.15855546, -0.031145798, 0.044944238, -0.1519666, -0.015208867, 0.029840399, 0.07195047, 0.17145973, 0.06601934, -0.03358433, 0.16031715, 0.16808309, -0.007914282, -0.19619752) * go_5(1.0, 1.0); - result += vec4(-0.109316595, 0.025873583, 0.05582306, 0.10272255); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.03482331, -0.14944118, 0.046244163, -0.05941585, -0.07728179, 0.06265427, -0.045520462, 0.0871402, 0.0897178, -0.16006349, 0.008391846, -0.16923702, 0.25602654, 0.051176835, 0.011442495, -0.24914353) * go_0(-1.0, -1.0); - result += mat4(-0.114224955, -0.048990358, 0.0317376, 0.19175068, -0.112552375, 0.037553445, -0.095972225, 0.123118624, 0.12175324, 0.030322522, 0.054718968, -0.39031324, 0.28009677, 0.07727779, 0.16123495, -0.2772586) * go_0(-1.0, 0.0); - result += mat4(-0.06794576, 0.2141763, 0.1750928, 0.12166446, -0.13643269, 0.24814922, 0.037389282, 0.0035949312, -0.06241508, 0.041635923, -0.08047354, 0.010511207, 0.11825532, -0.28878912, 0.17174155, -0.25881785) * go_0(-1.0, 1.0); - result += mat4(-0.0143542895, -0.010602584, -0.04226417, -0.04447678, -0.24656619, -0.053967457, -0.16034846, 0.04648599, 0.18855657, -0.20268312, 0.03610814, 0.022015022, -0.056165848, 0.17901546, -0.044555657, -0.089903764) * go_0(0.0, -1.0); - result += mat4(-0.05440948, 0.12527943, -0.08222082, -0.035428505, 0.2267783, 0.08257505, 0.056446668, -0.016560426, 0.17754072, -0.12249645, 0.15439054, -0.03524935, -0.481085, -0.0961953, -0.3649979, 0.17484458) * go_0(0.0, 0.0); - result += mat4(0.04679537, 0.15213947, -0.018560365, -0.027304955, 0.012417035, 0.033497352, -0.09031395, -0.28588498, 0.15779394, -0.014294813, 0.13411845, 0.07399604, 0.05855495, -0.15351114, -0.06195114, -0.033846762) * go_0(0.0, 1.0); - result += mat4(0.023053877, 0.09145102, -0.056014817, -0.103127845, -0.19463558, 0.009014216, 0.045743883, 0.105235375, 0.148088, -0.071407385, 0.1755759, 0.012725914, 0.04554227, -0.10347383, 0.23475589, -0.039336383) * go_0(1.0, -1.0); - result += mat4(0.015826384, -0.042269874, 0.056471203, 0.009655403, 0.020275326, 0.33224702, 0.009298279, 0.17336445, -0.018828178, 0.10215806, 0.049400896, 0.17038062, 0.057019416, 0.07406004, 0.03215971, 0.12004367) * go_0(1.0, 0.0); - result += mat4(-0.04070164, 0.027889524, 0.02177609, -0.16229889, -0.062548086, -0.027596086, -0.12423675, 0.09836905, 0.059131406, -0.047028925, -0.057379283, -0.104133494, 0.14117907, 0.065780245, -0.023410192, 0.061447598) * go_0(1.0, 1.0); - result += mat4(-0.0021021653, 0.077328384, -0.06821109, -0.19499542, -0.20052336, 0.12387703, 0.055179324, 0.19800851, -0.120995775, 0.42741755, 0.091175236, 0.020587375, 0.0042481394, 0.12762432, -0.06114739, 0.32906154) * go_1(-1.0, -1.0); - result += mat4(-0.019685917, -0.040947627, 0.18565354, -0.46952146, -0.05437026, -0.026286738, -0.07812705, -0.006736804, 0.008634472, 0.23204291, -0.11855498, -0.12303054, 0.38381273, 0.52490336, -0.3265505, 0.21160527) * go_1(-1.0, 0.0); - result += mat4(-0.18054116, 0.0051548174, 0.4753756, 0.17605813, -0.073726274, 0.15002227, -0.1850507, 0.0990851, 0.00921903, 0.13224806, 0.2253796, -0.20556282, -0.109973975, 0.046794172, 0.16226935, 0.08110087) * go_1(-1.0, 1.0); - result += mat4(0.010205323, -0.09720397, 0.029996833, -0.10599145, -0.052096535, -0.053859178, -0.07132246, -0.040684257, -0.0064441697, 0.20659602, 0.26825082, 0.05841878, -0.102910444, -0.19080183, 0.0009101689, 0.31210572) * go_1(0.0, -1.0); - result += mat4(-0.10222517, -0.2537438, 0.17752838, -0.08470953, 0.06963046, -0.010764146, -0.033626176, 0.15240349, -0.20436993, -0.100720614, 0.0444932, 0.20770444, 0.031174636, -0.010206393, 0.09037244, -0.55185884) * go_1(0.0, 0.0); - result += mat4(-0.26993337, -0.020421378, 0.18469644, -0.21327373, 0.06911363, 0.014826783, 0.056256857, -0.06809406, -0.083685525, -0.0984942, -0.0171533, -0.22855683, -0.08748469, -0.1396983, -0.11391806, -0.072031595) * go_1(0.0, 1.0); - result += mat4(0.058208484, -0.091674164, 0.12105436, 0.10939658, -0.031674437, -0.05118359, -0.22271338, 0.028467823, -0.17376278, -0.123112075, -0.071464434, 0.17473213, -0.3117644, -0.18276823, 0.07496323, 0.1509144) * go_1(1.0, -1.0); - result += mat4(-0.05188268, 0.15533312, 0.22820903, 0.17042106, -0.089846164, -0.005064528, 0.04796515, 0.026351674, 0.04572985, 0.09318132, -0.038517136, -0.074062705, -0.036520045, 0.10455916, 0.14278695, 0.14136232) * go_1(1.0, 0.0); - result += mat4(-0.14247061, 0.08110525, -0.075231634, 0.31358016, -0.18515967, 0.06256364, -0.0484006, -0.017976558, -0.02657821, -0.028635541, 0.012627999, 0.054765414, -0.0019829564, 0.15433973, -0.14973663, 0.12542003) * go_1(1.0, 1.0); - result += mat4(-0.17475623, 0.073300175, -0.18943344, 0.13311169, -0.026332445, 0.14347847, 0.20637734, 0.19913399, 0.24245638, -0.01550613, -0.09732818, -0.3588367, -0.11411046, -0.15500076, -0.09746209, -0.14517665) * go_2(-1.0, -1.0); - result += mat4(0.17039534, -0.20694748, 0.07940825, -0.29572237, -0.26519805, 0.126274, -0.22870643, 0.064273715, -0.22092016, -0.03348832, -0.08794688, -0.006346166, -0.14190583, -0.16601795, 0.15920593, 0.097251594) * go_2(-1.0, 0.0); - result += mat4(-0.08191819, -0.010720725, -0.10248115, -0.066204295, 0.13338344, 0.1886245, -0.1326061, -0.107134834, -0.06729155, -0.1295641, -0.09283412, -0.1643324, 0.06636283, 0.35525218, 0.0003396009, 0.04252375) * go_2(-1.0, 1.0); - result += mat4(0.018834922, 0.09374041, -0.04844811, -0.086488485, 0.36477897, -0.035175197, 0.10250587, 0.009436049, 0.09109528, 0.25697815, 0.12989257, -0.10460797, 0.13357025, -0.15341914, -0.14009036, -0.27027166) * go_2(0.0, -1.0); - result += mat4(-0.046186987, -0.04721098, -0.10386561, 0.042765476, 0.10490874, -0.14259604, 0.03565186, 0.11228278, -0.1333764, 0.111047596, -0.20885478, 0.19843856, -0.07459371, -0.054204836, 0.0895249, 0.053722855) * go_2(0.0, 0.0); - result += mat4(0.057206515, -0.016081734, 0.04002097, 0.09536414, 0.27507696, 0.009611371, 0.2858957, 0.016278412, 0.091774575, -0.020857088, -0.1354684, -0.046553783, -0.10013868, 0.059088446, 0.1768699, 0.02272152) * go_2(0.0, 1.0); - result += mat4(0.028798534, 0.21127033, 0.01716753, 0.020965017, -0.08091736, -0.15006042, -0.29822782, 0.019595081, -0.029534074, -0.0653482, 0.11786061, -0.047803946, 0.011680036, 0.010721205, -0.2639438, 0.15042429) * go_2(1.0, -1.0); - result += mat4(-0.098251216, 0.050176363, -0.0426328, -0.037756715, -0.20687164, -0.3096553, -0.2210454, -0.03763596, -0.022159807, 0.044400796, 0.09344259, -0.05465652, -0.039273985, -0.096617654, -0.19118373, 0.1643556) * go_2(1.0, 0.0); - result += mat4(-0.11874077, 0.021691876, 0.15513967, -0.012177898, -0.1298149, -0.08811524, 0.017105984, -0.047422726, -0.033107523, 0.0058112773, -0.08017183, -0.020971343, -0.41264817, 0.075800754, 0.1080831, -0.082354255) * go_2(1.0, 1.0); - result += mat4(0.0032239188, -0.28178176, -0.19482347, 0.054150533, 0.40856144, -0.23284851, 0.020973913, -0.09307241, 0.4258893, -0.034946837, -0.043585345, 0.16226469, 0.045328375, 0.03566808, 0.0712809, 0.12283043) * go_3(-1.0, -1.0); - result += mat4(-0.15139721, -0.2489635, 0.2122619, -0.08517609, 0.23784684, -0.070994906, 0.3132446, -0.36519074, -0.048850738, -0.36088645, 0.2145936, 0.19312155, -0.2579365, -0.12489612, -0.075510584, 0.16864875) * go_3(-1.0, 0.0); - result += mat4(0.01884723, -0.2775977, 0.0007072475, 0.30131263, 0.01366198, -0.18196137, 0.38918743, -0.03999786, -0.075060904, -0.12210868, 0.14701048, 0.18474291, -0.023507686, 0.13071437, -0.036284998, 0.26304045) * go_3(-1.0, 1.0); - result += mat4(-0.08185283, -0.09152341, -0.13410091, -0.13518219, 0.10747411, 0.007974842, 0.11000113, 0.19898382, -0.18449086, 0.058887243, -0.02379909, -0.038734827, 0.041931048, 0.081884705, 0.015872778, 0.08416657) * go_3(0.0, -1.0); - result += mat4(0.05272478, -0.06669923, 0.007233672, 0.039665744, 0.021820793, -0.14690521, -0.26392132, 0.007352069, -0.04682333, -0.028595299, -0.34463075, -0.14347489, 0.00084401644, -0.030389901, 0.022279145, 0.14215061) * go_3(0.0, 0.0); - result += mat4(0.17942588, 0.27815622, 0.39199513, 0.17727011, -0.14894293, -0.1705316, 0.038263746, 0.025509953, -0.12031536, 0.15371376, -0.30855826, 0.2394013, -0.20185183, 0.121072985, 0.070580006, -0.12321835) * go_3(0.0, 1.0); - result += mat4(0.043464154, -0.4329999, 0.12176987, 0.1863519, -0.14952634, -0.03741596, 0.3588594, 0.015720207, 0.07319453, 0.04202827, 0.19699398, -0.18537244, -0.040319767, 0.081377335, 0.045191478, -0.070804425) * go_3(1.0, -1.0); - result += mat4(0.14033453, -0.13302796, -0.058896482, 0.14912021, 0.25856513, -0.10442178, 0.3958381, -0.08528721, 0.3291926, -0.0024321752, 0.017541584, -0.31020027, 0.13845283, -0.24636552, -0.07630463, -0.32314765) * go_3(1.0, 0.0); - result += mat4(0.005189076, 0.20132092, 0.069775395, 0.086517565, 0.2727916, -0.079313666, 0.14164488, -0.16358389, -0.103817366, -0.11717267, 0.019068012, 0.016953465, 0.2551057, 0.14430785, 0.00088051375, -0.23318093) * go_3(1.0, 1.0); - result += mat4(-0.008894086, 0.03201216, -0.13398862, 0.06335705, 0.13424714, -0.06514535, -0.19045971, -0.23764557, 0.05714849, -0.30345356, 0.0092409095, 0.16878125, -0.07465451, -0.015541787, 0.033304304, -0.113849334) * go_4(-1.0, -1.0); - result += mat4(0.12612185, -0.0715257, 0.16217476, -0.024476554, 0.10614049, 0.03700835, 0.08482953, -0.08358318, 0.098786205, -0.009351742, -0.15457323, 0.113223985, -0.011500662, -0.13529003, -0.058090385, 0.11290306) * go_4(-1.0, 0.0); - result += mat4(0.050260257, -0.056368183, 0.21489042, 0.14299081, -0.113755986, -0.22816344, 0.27275258, -0.0015117057, 0.14195545, -0.16299947, 0.049762867, 0.22725838, 0.06814647, -0.049368583, -0.08577855, -0.097503126) * go_4(-1.0, 1.0); - result += mat4(-0.0083364155, -0.052837223, -0.0846245, 0.053218696, 0.28152695, 0.19495425, -0.19180301, -0.26389152, -0.12953846, -0.102649055, -0.19722337, -0.15851225, 0.1725756, 0.056898903, 0.01023057, -0.033678) * go_4(0.0, -1.0); - result += mat4(-0.044510186, 0.033060472, 0.26517934, -0.25734264, 0.11998833, -0.05369093, 0.19721112, -0.15774135, 0.061851945, -0.03981009, -0.034191426, -0.23678938, -0.013630672, -0.114661574, 0.096060224, 0.17892191) * go_4(0.0, 0.0); - result += mat4(-0.14728574, -0.031724717, 0.13967156, 0.03676961, -0.09500629, -0.09584641, -0.3221665, 0.14028065, -0.09116274, -0.08160823, -0.03841335, 0.21315134, -0.025303967, -0.081841856, 0.024239374, 0.004911813) * go_4(0.0, 1.0); - result += mat4(-0.16211908, -0.07225985, -0.06955749, 0.025049562, 0.016382609, 0.20329225, 0.23490642, 0.04267578, -0.008350769, 0.0037089891, 0.09515623, -0.06105943, 0.13584909, 0.09705268, -0.062350716, -0.074614085) * go_4(1.0, -1.0); - result += mat4(0.025970146, -0.14939465, -0.08123037, -0.008690572, 0.16139375, 0.052395687, -0.03863909, 0.0953437, -0.103880964, -0.04672169, -0.078161545, 0.04628746, -0.019205566, -0.006394265, -0.009116098, 0.024979865) * go_4(1.0, 0.0); - result += mat4(0.15779239, 0.009630995, -0.06269132, -0.11111548, 0.11478004, -0.0780718, -0.24617292, 0.05763241, 0.02476824, 0.0631411, -0.2777113, -0.010855008, 0.10766442, 0.020561088, -0.029775767, -0.060535327) * go_4(1.0, 1.0); - result += mat4(0.6058991, -0.29998928, -0.09883167, -0.36967963, 0.104703955, -0.1886391, 0.07915164, -0.02375336, 0.041111898, 0.09216705, 0.046296816, 0.24895348, -0.015484279, 0.06852782, 0.04170421, -0.008594877) * go_5(-1.0, -1.0); - result += mat4(-0.29542375, -0.11578118, -0.047219444, -0.10781526, 0.13507344, 0.09601799, 0.08975014, 0.09067836, 0.1565405, 0.082328156, 0.09181261, 0.04524675, -0.08546339, 0.107942745, 0.057727177, 0.15223116) * go_5(-1.0, 0.0); - result += mat4(-0.013349778, 0.15176241, -0.08432594, 0.10960892, 0.081638165, -0.13559791, -0.06557744, 0.01141079, 0.10179259, 0.35195625, 0.23831062, 0.13698545, -0.0073695974, -0.020154724, -0.2515228, 0.030157704) * go_5(-1.0, 1.0); - result += mat4(0.20604958, -0.09164565, 0.049274493, -0.111016676, -0.046125744, -0.22138667, -0.10698992, 0.07003299, 0.09432274, 0.13457412, 0.08988733, 0.16862586, -0.16797546, -0.0130331, -0.009054985, -0.01443074) * go_5(0.0, -1.0); - result += mat4(-0.17840317, -0.079730295, 0.11214133, -0.015679857, 0.07462782, 0.1700189, -0.03588104, -0.055766776, 0.2527381, -0.040385213, 0.18867272, 0.15786001, -0.03973228, -0.053887095, -0.001591716, -0.050709404) * go_5(0.0, 0.0); - result += mat4(0.24581482, 0.09119475, 0.049080588, 0.25806418, -0.005062941, 0.10484669, 0.05778071, 0.23681131, -0.09603774, 0.009163983, 0.19752978, 0.104258336, 0.13455175, -0.0034275826, -0.080408186, 0.10462319) * go_5(0.0, 1.0); - result += mat4(0.07782564, -0.2789083, -0.13887207, -0.019308591, 0.25710207, -0.21921843, 0.0015911289, 0.080053106, -0.014144128, 0.074144535, 0.043883692, 0.2513407, 0.10068346, -0.17853074, 0.20460746, 0.04092755) * go_5(1.0, -1.0); - result += mat4(-0.048100162, 0.042697787, -0.04842476, 0.18837112, 0.051532917, 0.088649124, -0.014739274, -0.023566334, 0.44025096, -0.10545216, -0.19667506, 0.097041525, 0.0008772463, -0.05555525, 0.069248185, 0.1176431) * go_5(1.0, 0.0); - result += mat4(-0.01590801, 0.016883895, -0.09720278, 0.14969985, -0.099172674, -0.04525934, 0.13815412, 0.024430253, 0.0247448, 0.015865842, -0.10956577, 0.22523156, 0.22455531, -0.100728914, -0.053454183, 0.13590883) * go_5(1.0, 1.0); - result += vec4(-0.06673833, 0.01457202, -0.036676105, -0.06303146); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.23879923, 0.040317934, 0.22145784, -0.08336839, -0.16966912, 0.08528278, 0.2684323, 0.17057978, 0.1467542, -0.041414198, 0.03689633, 0.10483362, 0.04390369, 0.2617799, 0.13374175, 0.21909657) * go_0(-1.0, -1.0); - result += mat4(0.013090143, 0.010181773, -0.022144144, -0.038787983, 0.17343685, 0.06579225, 0.036516637, -0.18973681, 0.11963511, 0.111920275, 0.13276073, 0.04570385, -0.009538788, -0.028358553, 0.06043411, 0.14202546) * go_0(-1.0, 0.0); - result += mat4(0.2273523, 0.086418256, 0.058296323, -0.023292154, -0.016248869, 0.08703014, -0.14549017, 0.15725356, 0.26235282, 0.13655783, 0.06703612, -0.0746187, 0.18931058, -0.009649255, 0.27345505, 8.478176e-05) * go_0(-1.0, 1.0); - result += mat4(-0.033401724, -0.064518325, -0.15034138, 0.05246805, 0.058772895, -0.176813, 0.078342214, -0.0020414025, 0.06217457, -0.20738979, -0.16368344, 0.03266785, 0.04921403, 0.112299785, -0.123247504, 0.0994201) * go_0(0.0, -1.0); - result += mat4(-0.2553642, 0.14918567, -0.14866059, -0.03617286, 0.032998353, -0.15592867, 0.087743975, -0.00049046543, -0.32823107, -0.107454315, 0.002674161, -0.01887908, 0.0833454, -0.03806806, -0.14595793, -0.20520253) * go_0(0.0, 0.0); - result += mat4(0.02986423, 0.028604368, -0.011768948, 0.10195398, -0.102379754, 0.1362889, -0.041802816, -0.084387876, -0.008137814, 0.09726054, 0.10758101, 0.09259081, -0.07889878, -0.07312139, 0.17478421, -0.033481717) * go_0(0.0, 1.0); - result += mat4(0.058965955, 0.024142284, 0.22129168, 0.04082889, 0.15887728, 0.103434056, -0.21192761, 0.06533756, 4.1846484e-05, -0.24297993, 0.17849778, -0.115734324, -0.11500629, 0.15694802, 0.04261307, 0.17415777) * go_0(1.0, -1.0); - result += mat4(0.01345909, 0.017319864, -0.0520044, 0.06891368, 0.078165226, -0.07047419, -0.013746107, -0.058885146, -0.10569072, -0.032166608, -0.02835551, -0.09911323, -0.062442902, 0.13147296, 0.1815978, -0.0042537497) * go_0(1.0, 0.0); - result += mat4(0.1606494, 0.05220283, 0.13166267, 0.10574164, -0.19102532, 0.03446111, -0.055919666, 0.057688963, 0.26081654, 0.03648174, 0.03616491, 0.046591155, 0.21643688, 0.052122388, 0.050889883, 0.29552755) * go_0(1.0, 1.0); - result += mat4(-0.024097791, -0.080628626, 0.12568358, 0.12252691, -0.16359662, 0.0051886803, -0.01954068, 0.02195983, -0.18788633, -0.030897139, -0.09377947, 0.15688346, -0.14129396, -0.11748491, -0.3835284, -0.022647042) * go_1(-1.0, -1.0); - result += mat4(0.11930519, 0.24957322, 0.015541883, -0.11232224, -0.058490105, -0.049757216, 0.075522415, 0.09442181, 0.076607205, 0.037432365, -0.08629132, 0.008422209, -0.013450555, 0.10305229, -0.04537291, -0.08230579) * go_1(-1.0, 0.0); - result += mat4(-0.050578903, -0.20879799, -0.04393353, 0.0015126837, -0.23416555, 0.01141535, -0.009691543, 0.06217469, -0.10707423, 0.20022671, 0.15437399, -0.04760398, -0.14287886, 0.2682982, -0.2561911, 0.033707578) * go_1(-1.0, 1.0); - result += mat4(0.11812356, -0.29858422, 0.09146616, 0.052722417, -0.023986591, 0.0933364, 0.14801602, -0.10148, -0.15320316, -0.0028770058, -0.103183694, -0.006425709, 0.021735031, -0.47796893, -0.18304059, 0.084628224) * go_1(0.0, -1.0); - result += mat4(-0.09104168, 0.03286581, 0.04459324, -0.22438659, 0.12870388, -0.1360097, -0.15926069, 0.071017005, 0.074596204, -0.09715285, -0.07479851, -0.20799732, -0.29060403, -0.107118085, 0.25210482, 0.16397184) * go_1(0.0, 0.0); - result += mat4(-0.12460523, 0.16706169, 0.30230346, 0.054767944, -0.116781175, 0.19446343, -0.21735692, -0.026413433, 0.052394047, 0.020679068, -0.15584053, 0.061340448, 0.04663544, 0.27504724, 0.20286065, 0.3490867) * go_1(0.0, 1.0); - result += mat4(0.21607491, -0.21738917, -0.009051781, -0.07276944, 0.3103053, 0.15334722, 0.28409463, -0.17096485, 0.031179685, 0.2009012, -0.26543948, -0.19882691, 0.032035686, -0.35383067, -0.17236927, -0.113232605) * go_1(1.0, -1.0); - result += mat4(-0.11165131, -0.2941282, -0.029304054, 0.106581636, 0.21548472, -0.21285897, -0.043579012, -0.047211695, 0.027249131, 0.28340155, 0.082085736, -0.04485162, -0.24723412, -0.0007002699, 0.19643609, 0.2518287) * go_1(1.0, 0.0); - result += mat4(-0.1854792, -0.008842361, -0.08581101, 0.16760491, -0.10669554, 0.21352866, 0.1252966, -0.04194005, -0.07666296, 0.07259658, 0.10786684, -0.03364238, 0.1547786, -0.018965635, -0.13252488, 0.23715465) * go_1(1.0, 1.0); - result += mat4(0.1451508, 0.10011578, 0.07156718, 0.04740723, -0.19702536, 0.06286184, -0.29180148, -0.30204237, -0.07179627, 0.056043524, 0.27749023, -0.07051612, 0.1010544, -0.008737285, -0.13163415, -0.066848055) * go_2(-1.0, -1.0); - result += mat4(0.07561846, -0.14928432, 0.027951663, -0.07524044, 0.10025779, -0.21305043, 0.008214884, 0.16192347, 0.04002263, -0.10425787, 0.018522112, -0.08742078, 0.039168026, 0.010691633, 0.0025965972, -0.016103525) * go_2(-1.0, 0.0); - result += mat4(-0.045149434, 0.033272427, 0.06018518, -0.068993434, 0.017645787, 0.27027842, -0.25670657, 0.04577214, 0.002479582, -0.051434338, 0.25425145, -0.093131274, 0.09688695, 0.14416668, -0.1216349, 0.0229849) * go_2(-1.0, 1.0); - result += mat4(0.030369451, 0.020748299, 0.034542933, 0.09359397, -0.37202555, 0.2808392, -0.2659807, -0.01941035, -0.22399698, 0.08132304, -0.0014507625, -0.017793491, 0.037623137, -0.029477628, -0.0720025, -0.15816812) * go_2(0.0, -1.0); - result += mat4(0.33115733, -0.013734702, 0.0101467, -0.12268663, 0.43017596, -0.32643738, -0.3273918, 0.1109477, 0.10758731, 0.070155494, -0.24037434, -0.0016639809, -0.06652544, 0.13758285, -0.072496586, -0.10106904) * go_2(0.0, 0.0); - result += mat4(0.19126198, -0.14967397, -0.18345782, -0.08460439, 0.13229868, -0.21144699, -0.058821946, -0.5039749, 0.24892776, 0.20228972, -0.06919527, -0.15942183, 0.12435562, -0.012193792, -0.2627704, 0.13625085) * go_2(0.0, 1.0); - result += mat4(-0.10896958, 0.044015855, -0.0181369, 0.10650041, -0.24092299, 0.18979153, -0.26630878, 0.06806665, -0.17771733, -0.2699458, -0.1144395, 0.014184961, -0.288627, -0.19622655, 0.39838296, -0.11162213) * go_2(1.0, -1.0); - result += mat4(-0.084831044, -0.02721028, 0.109261006, 0.087307416, -0.33783588, 0.08306577, -0.027817784, -0.10534335, -0.15593721, -0.013186225, -0.011052375, 0.10786937, -0.00060474424, 0.00431786, 0.38164118, 0.14728197) * go_2(1.0, 0.0); - result += mat4(-0.26669395, -0.09910907, 0.03960142, -0.21382816, -0.5042419, -0.12542717, 0.07396011, -0.24485987, -0.1770452, -0.00011720843, 0.11425563, 0.07332528, -0.06640686, -0.11683248, 0.003071298, 0.05543171) * go_2(1.0, 1.0); - result += mat4(-0.16784829, -0.031949766, -0.043842897, -0.09577157, 0.16381639, -0.33382246, -0.10782627, 0.07903589, 0.04620696, -0.04180326, -0.09783348, 0.3095548, 0.06762379, 0.021955997, -0.14974354, -0.143973) * go_3(-1.0, -1.0); - result += mat4(-0.14442697, -0.044818707, 0.025801856, 0.08461569, -0.20247138, 0.060513508, -0.1674155, 0.13058512, -0.08026784, -0.3141148, -0.04791329, -0.14586422, 0.16113773, -0.035697844, 0.21863447, -0.099939525) * go_3(-1.0, 0.0); - result += mat4(-0.298011, -0.053686857, -0.31031471, 0.11162896, 0.22341007, -0.052881762, 0.13043529, 0.15810435, -0.37888956, -0.31480342, 0.33116004, 0.06646278, -0.05665705, -0.03861846, 0.083101824, 0.003781792) * go_3(-1.0, 1.0); - result += mat4(-0.08649798, -0.1088245, 0.32511878, -0.16572024, 0.050254185, -0.252013, -0.040132295, 0.17312634, -0.016653338, -0.43009317, 0.5093538, 0.06922151, 0.08760091, -0.14250961, 0.4053319, -0.10107622) * go_3(0.0, -1.0); - result += mat4(0.083406106, -0.16932109, 0.06787343, -0.05178522, -0.20603026, -0.09058593, 0.16128129, -0.22712888, 0.05429396, -0.15098302, 0.3041655, -0.07668127, -0.15419695, 0.4462755, 0.1874267, 0.17312653) * go_3(0.0, 0.0); - result += mat4(0.19148338, 0.052311547, -0.13830717, 0.2996034, 0.05850986, 0.05484371, 0.0361025, 0.20699011, 0.0057291416, -0.12026241, 0.02678267, 0.12696257, -0.019684052, -0.09031823, 0.15297134, 0.13705085) * go_3(0.0, 1.0); - result += mat4(-0.20881316, 0.14526081, -0.41917932, -0.16191165, 0.1262819, -0.23026188, -0.2561112, 0.049415354, -0.1497713, -0.009612483, -0.070241526, -0.039475128, 0.093497746, -0.1318667, -0.105637155, -0.21147394) * go_3(1.0, -1.0); - result += mat4(0.042843655, -0.11218648, 0.013391185, 0.06646476, -0.24418473, -0.037722886, 0.08446243, -0.0018849184, 0.030670485, 0.27686, -0.15015033, 0.21402857, 0.10094001, 0.3145764, -0.17310384, -0.10199286) * go_3(1.0, 0.0); - result += mat4(-0.14084649, 0.0033693435, -0.34370998, 0.1079324, 0.28795156, 0.14933614, 0.10669996, 0.12305359, -0.040551323, -0.07330404, -0.15179317, 0.069975436, 0.2920918, 0.020814283, -0.13944869, 0.09579582) * go_3(1.0, 1.0); - result += mat4(0.10180969, -0.021659529, -0.13541374, 0.0908069, 0.11346961, -0.0011830843, -0.19612141, -0.11018402, 0.12915576, -0.095653616, -0.13800405, -0.18932076, 0.12277476, 0.09764832, 0.114954636, -0.1578187) * go_4(-1.0, -1.0); - result += mat4(-0.07191152, -0.053082727, -0.067936264, 0.045203943, 0.13166252, 0.23256709, -0.288239, -0.08163785, -0.020897634, 0.15756424, -0.17083916, -0.13654962, -0.021136044, -0.14208466, -0.0040715886, 0.03707775) * go_4(-1.0, 0.0); - result += mat4(0.15754776, -0.042640373, -0.033360127, -0.06743833, -0.06533689, -0.16307046, -0.018182967, -0.060084824, -0.087093055, 0.036133945, -0.23553473, -0.40821072, -0.053628575, 0.026669571, 0.19045922, -0.035846557) * go_4(-1.0, 1.0); - result += mat4(0.07448724, 0.067469016, -0.066770956, 0.0030078532, -0.1173964, -0.012352791, -0.19451907, -0.021427047, 0.19994271, -0.0029543424, -0.034913633, 0.13859013, 0.048614684, 0.193721, -0.09548589, -0.026358109) * go_4(0.0, -1.0); - result += mat4(-0.3411652, 0.23141026, 0.10978134, 0.07787867, -0.18412182, 0.15478246, 0.25846902, -0.13144507, -0.28535685, 0.086631864, 0.12785226, 0.0033878016, 0.03504869, -0.034950025, -0.17758164, 0.024054492) * go_4(0.0, 0.0); - result += mat4(-0.019755604, -0.21744813, 0.14325249, 0.21274537, -0.04985571, -0.24407099, -0.02035735, 0.21803972, -0.16886176, -0.05224696, 0.20342873, -0.18543948, 0.0096319495, -0.1624773, 0.14216544, -0.081235185) * go_4(0.0, 1.0); - result += mat4(0.20382723, -0.16942358, -0.15685835, 0.024889609, -0.3226424, -0.10469345, -0.46887016, 0.016228858, -0.1362387, -0.13054538, -0.0783913, -0.06385014, -0.08139782, 0.12035177, 0.21293128, -0.045476373) * go_4(1.0, -1.0); - result += mat4(0.13462923, 0.1384135, -0.055161975, -0.099216595, -0.16864173, -0.15129986, -0.2535725, 0.22653887, -0.11102492, -0.09068262, -0.0044067153, -0.0603752, -0.095367156, -0.056415606, 0.0075126593, -0.009610249) * go_4(1.0, 0.0); - result += mat4(0.1393697, 0.13611916, 0.090671785, 0.08593501, 0.07983876, -0.0068050954, -0.28696343, -0.17570612, -0.075322844, 0.06774856, -0.086022906, 0.09080408, 0.022836372, 0.018536389, 0.042727504, -0.043635663) * go_4(1.0, 1.0); - result += mat4(-0.0050578844, -0.04774735, 0.004759578, 0.09087925, 0.16171533, 0.01599633, 0.08316812, -0.09584462, 0.119889505, 0.003919012, -0.21555036, 0.2426096, -0.12047291, 0.10978759, -0.33754483, 0.15740488) * go_5(-1.0, -1.0); - result += mat4(-0.11716536, 0.08724526, -0.023726968, -0.12922543, -0.05567669, -0.021379862, -0.2031672, -0.023840401, -0.024058433, -0.081542544, -0.19171208, 0.051525865, -0.008789576, -0.16808029, -0.049115162, 0.052190997) * go_5(-1.0, 0.0); - result += mat4(0.13842055, -0.13871577, 0.0954928, 0.19763501, -0.049218517, -0.21299022, -0.14797242, -0.0996971, 0.004526675, -0.107513115, -0.31193256, -0.13720018, 0.01550265, 0.017279146, -0.03583415, 0.053429827) * go_5(-1.0, 1.0); - result += mat4(-0.0723815, 0.034265626, 0.20389315, -0.14053439, 0.18389022, 0.033574764, -0.039723963, -0.14978175, -0.084361784, -0.15831995, 0.49169922, -0.09837507, 0.0017199022, -0.09433373, 0.13506836, -0.06360633) * go_5(0.0, -1.0); - result += mat4(-0.1265364, 0.24196059, 0.21346883, -0.035202276, -0.16924065, -0.039915517, 0.15855956, -0.00046526943, -0.30319792, 0.47292793, 0.19538064, -0.046434846, 0.0041063935, 0.026737224, 0.14377008, -0.086429365) * go_5(0.0, 0.0); - result += mat4(-0.052318633, 0.01695744, 0.073576115, 0.2596724, -0.062066127, -0.051519766, -0.051504273, 0.05866547, -0.08328452, -0.28105405, 0.078826845, 0.18008032, 0.18682955, 0.0076535186, -0.05532054, -0.20601955) * go_5(0.0, 1.0); - result += mat4(0.11029233, 0.16958456, 0.06657061, -0.019656291, 0.11484087, -0.044068743, 0.24364337, -0.0065622316, 0.28941217, 0.18499708, -0.19709894, -0.19475468, 0.03503256, -0.05113357, 0.10653205, 0.01789133) * go_5(1.0, -1.0); - result += mat4(0.23000862, 0.21053173, -0.18862817, 0.17935936, -0.15975583, -0.05371, -0.012876548, 0.16915809, 0.048503194, 0.16087084, 0.013947819, -0.2625692, -0.07422495, 0.12091095, -0.07861796, -0.10306009) * go_5(1.0, 0.0); - result += mat4(0.22752777, 0.25302207, -0.12559423, 0.32303494, 0.048354533, -0.09707823, -0.08385863, 0.14718369, 0.08453127, -0.12578502, 0.2255726, 0.28436616, 0.11673125, -0.109367356, -0.024817433, -0.061155386) * go_5(1.0, 1.0); - result += vec4(0.09436162, 0.053628888, -0.037304673, 0.07278107); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06848254, 0.17351831, 0.08460523, -0.04292461, 0.16476814, 0.12880002, -0.2188432, -0.14287443, -0.03620956, 0.03190214, -0.048488446, 0.13175257, -0.03531708, 0.25060365, -0.06213195, 0.12620556) * go_0(-1.0, -1.0); - result += mat4(-0.002136314, 0.14399742, 0.033703934, 0.04852668, 0.044694893, 0.044961825, -0.049827278, -0.043917865, 0.13977914, -0.08126432, -0.14917606, 0.04644499, -0.14825742, 0.14075856, 0.03092348, -0.093371935) * go_0(-1.0, 0.0); - result += mat4(-0.10156521, 0.17292573, 0.12147806, 0.058286913, 0.036107652, 0.11812006, -0.052188348, -0.018111996, -0.033433035, 0.13158733, 0.11174768, 0.3135695, -0.031843673, 0.14830989, 0.094200954, 0.046325628) * go_0(-1.0, 1.0); - result += mat4(-0.020032655, -0.07413829, 0.08400475, -0.096378304, 0.018955225, 0.022839474, 0.0059678215, -0.1027026, -0.028222635, -0.14191163, 0.1683382, 0.12842403, -0.0019999016, -0.10452298, -0.00084425067, 0.21517049) * go_0(0.0, -1.0); - result += mat4(0.01772144, -0.055037472, -0.26999003, 0.08729775, -0.36895162, 0.011868349, 0.09449699, -0.098540016, -0.12167021, -0.14711088, 0.12771331, -0.23740645, 0.15759817, -0.19454266, 0.16208373, 0.24910314) * go_0(0.0, 0.0); - result += mat4(-0.01581086, 0.055212107, 0.09454114, 0.04507513, 0.06458917, 0.07870699, 0.043557264, -0.057501283, 0.20402664, 0.22241214, 0.04460486, 0.08704935, 0.16451277, -0.13080528, 0.039666496, -0.026260905) * go_0(0.0, 1.0); - result += mat4(0.052181657, 0.027077725, 0.06572071, 0.031183861, 0.10252249, -0.08605668, 0.041842632, -0.103617065, -0.10870241, 0.04929309, -0.036834683, 0.035595864, 0.05496096, -0.067191675, -0.021810448, 0.040137228) * go_0(1.0, -1.0); - result += mat4(0.12943552, 0.027362846, -0.04002257, 0.06176385, 0.03362332, -0.10467882, 0.33771384, -0.002079538, -0.14528175, 0.14312474, 0.02974133, -0.06945553, -0.33208638, -0.1682957, 0.08194348, -0.072072215) * go_0(1.0, 0.0); - result += mat4(-0.10689992, 0.0904542, 0.13820268, 0.13239543, -0.15937562, -0.123537876, -0.33618236, -0.081022464, 0.024027856, 0.26380306, -0.09225592, 0.040485747, -0.01705172, -0.049895052, -0.07952754, 0.030036716) * go_0(1.0, 1.0); - result += mat4(-0.1259129, 0.018831972, -0.1832129, 0.01803401, 0.033666562, -0.17717862, 0.087922215, -0.10147714, 0.045267824, -0.25754488, -0.08662288, 0.10354607, 0.10469745, 0.19675997, -0.20195517, 0.24481302) * go_1(-1.0, -1.0); - result += mat4(-0.094946206, 0.015489291, -0.1777193, 0.037065975, 0.024963535, -0.3277457, -0.08534422, -0.08319194, -0.18495774, -0.09883332, -0.053772286, 0.08554662, -0.1215341, 0.15887743, -0.2965043, -0.11656119) * go_1(-1.0, 0.0); - result += mat4(-0.34576485, -0.14033535, 0.07531725, -0.14229001, 0.08308607, -0.31519765, -0.15306507, -0.072686926, -0.12345635, -0.08589443, 0.015977165, -0.0041419766, -0.49153492, 0.3021553, 0.16130814, -0.17035122) * go_1(-1.0, 1.0); - result += mat4(-0.08059237, -0.18008304, 0.23508278, -0.08894493, 0.11107956, 0.23715645, 0.091440715, -0.033679005, 0.23545177, 0.011845169, 0.0054449392, -0.30073527, 0.2796674, -0.1411897, -0.014096338, 0.115184374) * go_1(0.0, -1.0); - result += mat4(0.19655375, 0.027063202, -0.3324798, 0.29343468, -0.10879405, 0.16780332, -0.019309124, 0.04614956, 0.15054315, 0.19951852, 0.14648122, 0.28885373, 0.037958838, -0.34874088, -0.025065463, -0.19422896) * go_1(0.0, 0.0); - result += mat4(-0.18047136, 0.060818356, -0.13610844, -0.018481744, -0.09979387, 0.0477093, 0.032326147, -0.10137375, -0.059743475, 0.05039489, 0.17306165, -0.005998121, -0.009583858, -0.14829919, 0.24446519, -0.22378124) * go_1(0.0, 1.0); - result += mat4(0.45342392, 0.19783214, -0.042264447, 0.11951815, 0.017209506, 0.119354434, -0.089858785, 0.03950267, -0.19266395, -0.07500372, -0.02151692, -0.008635288, -0.14962971, -0.00780355, 0.18662006, -0.0046807216) * go_1(1.0, -1.0); - result += mat4(-0.13184623, -0.04977233, -0.08034406, -0.08663693, -0.06438305, -0.06699197, 0.15878884, 0.014209137, -0.018352475, -0.12698355, -0.18104841, -0.03212089, -0.31992742, 0.13199449, -0.039823674, -0.18864588) * go_1(1.0, 0.0); - result += mat4(-0.22096959, -0.06594324, -0.093964286, -0.069787376, -0.05717438, 0.18509367, -0.19014412, -0.11233723, -0.043684576, -0.04049064, -0.015180749, 0.04026833, -0.09723803, -0.014410513, -0.14038773, -0.20472965) * go_1(1.0, 1.0); - result += mat4(-0.020113828, 0.06306164, 0.1133604, -0.03264297, -0.019580074, -0.28136805, 0.046105113, -0.104369484, 0.047211405, -0.11510891, -0.2610411, -0.24363835, -0.15579234, 0.13080037, -0.2414289, -0.21552382) * go_2(-1.0, -1.0); - result += mat4(-0.030723298, 0.10005462, -0.046389453, -0.42023477, -0.0900144, -0.3300974, 0.2023873, 0.47113106, -0.10733436, 0.13536386, 0.11873528, 0.075008325, -0.092727005, 0.16694772, -0.12538053, -0.019201787) * go_2(-1.0, 0.0); - result += mat4(-0.020229753, 0.0050342986, -0.09015966, -0.23845413, 0.14204682, -0.24106354, 0.007471734, 0.21428482, -0.059586413, -0.07984075, 0.1474898, -0.12583902, -0.34393194, 0.08484377, -0.40459237, 0.32322514) * go_2(-1.0, 1.0); - result += mat4(-0.11741491, -0.083517544, 0.04531866, -0.048355322, 0.15782192, 0.07919051, -0.34528416, -0.17551522, -0.20325756, -0.13701133, -0.09564707, -0.03711687, 0.030484512, -0.107849605, -0.09412398, -0.28914952) * go_2(0.0, -1.0); - result += mat4(-0.013266804, -0.035421904, 0.081956826, 0.15579522, 0.12775496, 0.1479336, 0.46652517, 0.21593826, -0.23207328, -0.13872643, 0.09056148, 0.1257084, 0.40673763, 0.14669922, 0.14093073, -0.31729355) * go_2(0.0, 0.0); - result += mat4(-0.03632805, 0.06513459, -0.13029967, 0.24914533, 0.08398421, -0.12399063, 0.15374567, 0.003005163, -0.03301567, 0.010896424, -0.10409926, -0.031162843, -0.080630526, 0.313793, -0.04112272, 0.06908576) * go_2(0.0, 1.0); - result += mat4(0.056705862, 0.04045318, -0.13523346, -0.12563162, 0.030291703, -0.22721136, -0.19567032, -0.22538094, -0.078549854, 0.16844983, -0.09419901, 0.1000363, -0.052691363, -0.14642943, -0.17214452, -0.23522456) * go_2(1.0, -1.0); - result += mat4(0.09823313, -0.16931288, 0.2667816, 0.019992903, 0.09905936, -0.14416765, 0.022824166, -0.02994203, 0.05482313, 0.0073759295, -0.087138794, -0.10250613, 0.22704037, -0.33540174, 0.059272785, -0.08828277) * go_2(1.0, 0.0); - result += mat4(0.05405852, 0.0015277737, 0.15057512, 0.008105634, 0.26466554, 0.021303358, 0.21576874, -0.055405084, 0.20417419, -0.1829464, 0.19177821, -0.10549947, -0.10019333, -0.04373452, 0.3086124, -0.030007664) * go_2(1.0, 1.0); - result += mat4(0.18547705, 0.015533089, -0.17023557, -0.14218459, -0.109183766, -0.21892494, -0.08033779, 0.1279889, 0.21425895, 0.31563443, 0.055812337, 0.035239376, 0.04874699, -0.03926052, 0.25620237, 0.05620038) * go_3(-1.0, -1.0); - result += mat4(0.17809738, -0.090085454, 0.086938836, 0.21705364, 0.057283174, 0.022287775, -0.21651776, -0.0027429194, 0.04257827, 0.17341158, 0.32710707, -0.029889492, 0.23903793, -0.038499728, 0.208562, 0.18147011) * go_3(-1.0, 0.0); - result += mat4(-0.02671488, -0.2577291, -0.101831675, -0.043231912, -0.08192727, -0.09351345, 0.10333126, 0.42192927, 0.11358276, 0.17070638, 0.11954223, -0.31113386, 0.21822956, 0.040758308, 0.18557602, -0.04927389) * go_3(-1.0, 1.0); - result += mat4(0.016825153, -0.16034372, 0.13393559, 0.0031862713, -0.07210358, 0.12088922, 0.18472868, 0.19526374, -0.098638535, -0.26882744, 0.01246303, -0.023679085, -0.07282684, 0.10335254, 0.11371582, -0.11949346) * go_3(0.0, -1.0); - result += mat4(-0.0077989995, -0.06316807, -0.037497815, 0.010178734, -0.028329156, -0.109135084, -0.18357074, 0.40579423, -0.05144428, -0.28490487, -0.11653807, 0.22959495, -0.109780535, 0.22878933, -0.29027545, 0.17875119) * go_3(0.0, 0.0); - result += mat4(-0.15628323, -0.07819484, -0.22514449, 0.065008484, -0.0055398177, -0.07419974, 0.09902451, 0.35817552, -0.0862891, -0.2973468, -0.10211232, 0.09778022, -0.08562242, -0.08868644, 0.30707374, 0.16413328) * go_3(0.0, 1.0); - result += mat4(0.004233512, 0.02434783, -0.12356794, 0.13752618, 0.21815947, 0.16979212, 0.3382205, 0.15363333, -0.14368188, 0.10208307, 0.16594398, -0.002474651, -0.25072917, 0.19654895, 0.15537341, -0.011402132) * go_3(1.0, -1.0); - result += mat4(0.1492285, -0.102569796, -0.15423858, 0.03359016, 0.008948687, 0.11137203, -0.0753569, -0.15314926, -0.22925344, 0.1943656, -0.4934053, 0.42356676, -0.10820874, 0.23832525, -0.4461194, 0.19386442) * go_3(1.0, 0.0); - result += mat4(0.30649734, 0.061961878, -0.17697462, -0.29313368, 0.19318691, 0.14972912, -0.04568052, 0.123596475, -0.018475438, 0.33577895, -0.17800568, 0.12502621, 0.032249834, 0.013487416, -0.019249933, 0.004653166) * go_3(1.0, 1.0); - result += mat4(0.11560085, -0.030997908, 0.009219462, 0.05633901, -0.11158907, 0.09791856, -0.111877, -0.020388048, -0.25937706, -0.000673325, 0.106495194, 0.15643579, 0.022090284, -0.11573403, 0.123260945, -0.033783972) * go_4(-1.0, -1.0); - result += mat4(-0.061418246, 0.13925532, 0.070662834, -0.10297572, -0.08535479, 0.31824788, 0.08315885, 0.012375857, 0.04241964, 0.21071856, -0.18567438, -0.26859924, 0.09607365, -0.19106552, 0.1222843, 0.20521446) * go_4(-1.0, 0.0); - result += mat4(-0.1985242, 0.40886146, -0.03295415, 0.25985515, 0.00024564067, 0.22053646, 0.4425157, 0.030073104, 0.15870823, 0.3720021, -0.19778733, -0.11957699, 0.23951907, -0.022089735, 0.026504006, -0.1143626) * go_4(-1.0, 1.0); - result += mat4(0.07811988, 0.06360271, -0.18825488, 0.05489923, -0.316614, -0.2020329, -0.17215219, -0.1163882, 0.028907632, 0.13332835, 0.07710604, 0.15564129, -0.08207378, 0.2586524, -0.15368843, -0.026250634) * go_4(0.0, -1.0); - result += mat4(0.1154507, 0.05374841, -0.35887244, -0.38684267, 0.024906285, -0.051356003, 0.06727699, -0.13258685, -0.04512674, -0.0630682, -0.016046045, -0.3630216, -0.10115332, 0.06723903, 0.10273197, 0.01658071) * go_4(0.0, 0.0); - result += mat4(0.035411883, -0.10390069, 0.28300494, -0.030523226, 0.260309, -0.2897127, 0.17530721, 0.06502907, 0.10852879, 0.0101283565, 0.04377248, -0.14661616, 0.07372457, 0.029455552, -0.024029268, 0.019606834) * go_4(0.0, 1.0); - result += mat4(0.06462741, -0.017584527, 0.05204551, 0.023974337, -0.09858389, -0.12002433, 0.051191356, -0.15688013, 0.1415572, -0.121506944, 0.4219788, -0.14832322, 0.09247079, -0.10846258, -0.030261837, -0.14657071) * go_4(1.0, -1.0); - result += mat4(0.037952326, 0.05012869, 0.022779293, 0.0797289, 0.024931714, -0.050262492, -0.15463822, -0.023215678, 0.045349725, -0.0040035774, 0.22049266, -0.08079404, -0.0113567095, -0.00675084, 0.17475724, 0.025340058) * go_4(1.0, 0.0); - result += mat4(-0.13610172, 0.14658909, 0.067050435, 0.12354151, 0.22096893, -0.06765668, -0.024593432, -0.03552899, 0.06936571, 0.10394856, 0.0048312224, -0.21034646, 0.037834894, -0.06692894, 0.009020093, -0.04065748) * go_4(1.0, 1.0); - result += mat4(-0.08967367, -0.14398253, -0.19402455, -0.14434609, -0.027259551, 0.1226331, 0.012233069, 0.13677149, -0.1507801, 0.14510965, 0.24108039, 0.04916487, 0.042398036, 0.09403761, -0.03958092, 0.17673557) * go_5(-1.0, -1.0); - result += mat4(-0.071569644, -0.19743139, -0.09648773, 0.038397867, 0.12506093, 0.24415006, 0.13810574, -0.23042768, 0.20971183, -0.14231962, 0.0963819, -0.07323753, -0.014360243, -0.099411555, 0.07815387, 0.09009336) * go_5(-1.0, 0.0); - result += mat4(0.14625058, -0.15307125, 0.45122483, 0.10113701, -0.12264418, 0.09390506, -0.25706926, -0.082095854, 0.11812526, 0.14046957, -0.09704567, 0.21640895, 0.20999698, -0.19149756, 0.16977966, 0.034616202) * go_5(-1.0, 1.0); - result += mat4(0.05720225, 0.0428485, -0.057531573, -0.111578174, 0.03538242, 0.033332366, -0.05961152, 0.13383748, -0.05669531, -0.047779217, 0.2760684, -0.23934118, 0.03728129, -0.15390043, 0.09151239, 0.016904302) * go_5(0.0, -1.0); - result += mat4(0.05711261, -0.009796642, 0.1827549, -0.23561665, 0.15747361, -0.15555665, -0.03771464, -0.15358609, 0.124769196, -0.00302323, -0.1930878, -0.3193505, -0.036671866, -0.21477285, -0.0015818535, -0.054916248) * go_5(0.0, 0.0); - result += mat4(-0.04039116, 0.022148842, 0.2527601, -0.08849551, -0.017892385, -0.01728494, -0.12817079, 0.112442665, 0.004877744, 0.08325303, 0.13601741, -0.12387854, -0.033808686, -0.07762037, -0.036944337, -0.016846744) * go_5(0.0, 1.0); - result += mat4(0.025319673, 0.12447582, 0.06369372, 0.20814203, -0.062117852, 0.10390202, -0.030939216, 0.15888922, -0.0873872, 0.04641361, 0.13612288, -0.22024561, 0.15445144, -0.03273631, 0.18931653, 0.03979226) * go_5(1.0, -1.0); - result += mat4(0.01642648, 0.10919636, 0.118298925, -0.052648794, 0.046562076, 0.042576727, -0.119064495, -0.10575594, -0.023527319, 0.27507904, -0.24070077, 0.037794556, 0.026340371, 0.08496194, -0.2165465, -0.10772629) * go_5(1.0, 0.0); - result += mat4(-0.110290796, 0.23385854, 0.16042788, 0.041294437, -0.04052982, -0.030170577, 0.16566783, 0.18245162, -0.125454, 0.15547217, -0.02763223, -0.10694603, 0.12049954, -0.07608294, -0.06768503, 0.022071697) * go_5(1.0, 1.0); - result += vec4(-0.19256988, 0.07561771, 0.007950438, -0.050078563); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-3x1x1x120 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_7_tf -//!BIND conv2d_7_tf1 -//!BIND conv2d_7_tf2 -//!SAVE MAIN -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_19 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.068483055, 0.036389243, 0.04961808, 0.0, 0.05059915, 0.033048775, 0.029426659, 0.0, 0.07465462, -0.012659731, -0.024048671, 0.0, 0.02224484, 0.012289658, 0.008910066, 0.0) * g_0; - result += mat4(-0.10449372, 0.019832065, 0.035194747, 0.0, 0.039656557, -0.028246421, -0.032626413, 0.0, 0.10093569, 0.021039873, -0.0120673925, 0.0, -0.047074273, -0.041248, -0.019464392, 0.0) * g_1; - result += mat4(-0.05256942, 0.0127243735, 0.012813261, 0.0, -0.03551604, 0.040801138, 0.04893271, 0.0, -0.0016839011, -0.018044796, -0.027161835, 0.0, -0.060873054, 0.012360936, 0.020700796, 0.0) * g_2; - result += mat4(-0.116182, -0.04271438, -0.046686683, 0.0, -0.09575506, -0.030078743, -0.024359861, 0.0, -0.04794246, 0.0044337297, 0.013972317, 0.0, -0.023228236, 0.015726948, 0.0070847897, 0.0) * g_3; - result += mat4(0.13986528, -0.016787121, -0.015848925, 0.0, -0.04900687, -0.027417973, -0.027077334, 0.0, -0.047319725, -0.021533312, -0.018427303, 0.0, -0.06136185, -0.0051562944, -0.032072, 0.0) * g_4; - result += mat4(0.070715815, 0.012814227, -0.0003389576, 0.0, 0.012182037, -0.014952754, -0.019349998, 0.0, -0.03254603, 0.012881403, 0.016392775, 0.0, 0.059158217, 0.0055793705, -0.003696545, 0.0) * g_5; - result += mat4(0.022627862, -0.020713277, -0.009454221, 0.0, -0.04352193, 0.058409747, 0.07186154, 0.0, -0.009326966, 0.034919802, 0.04204233, 0.0, 0.025182368, -0.039986387, -0.04990386, 0.0) * g_6; - result += mat4(0.0116241425, -0.039915055, -0.050241623, 0.0, -0.0076204035, 0.050215762, 0.059038218, 0.0, -0.006659752, -0.0054298495, -0.003807067, 0.0, 0.011085346, -0.009443587, -0.009128077, 0.0) * g_7; - result += mat4(0.0453952, 0.004603456, 0.006256434, 0.0, -0.104142666, 0.05726496, 0.069169044, 0.0, -0.10102446, -0.034291938, -0.013720296, 0.0, -0.035107866, -0.008388971, -0.0068969135, 0.0) * g_8; - result += mat4(-0.038070124, -0.015017457, -0.015852718, 0.0, 0.0607464, -0.052079927, -0.07268223, 0.0, 0.008773512, -0.026051786, -0.027285712, 0.0, -0.022916751, 0.048140153, 0.064897746, 0.0) * g_9; - result += mat4(-0.01670857, 0.012646949, 0.03353705, 0.0, 0.038032394, -0.044542246, -0.06310885, 0.0, 0.002600519, -0.00824961, -0.008912322, 0.0, 0.023435717, 0.021788329, 0.008603494, 0.0) * g_10; - result += mat4(-0.02889454, -0.0058613745, -0.010699256, 0.0, 0.12959917, -0.046572708, -0.06832117, 0.0, 0.028117642, 0.020422146, 0.00869695, 0.0, 0.035915125, 0.009355984, 0.005175107, 0.0) * g_11; - result += mat4(0.037913825, -0.0099191405, -0.018130798, 0.0, -0.0065440857, 0.004536478, -0.0019739012, 0.0, -0.014918686, -0.00011652434, 0.0007071924, 0.0, -0.0033633227, -0.018028691, -0.014883887, 0.0) * g_12; - result += mat4(-0.021300001, -0.039009467, -0.043097164, 0.0, -0.008222791, 0.057612088, 0.063239105, 0.0, 0.023676023, -0.0119777955, -0.020785704, 0.0, 0.03422571, -0.009187399, -0.016286165, 0.0) * g_13; - result += mat4(0.031610258, -0.022373654, -0.04004249, 0.0, 0.015456217, -0.014708875, -0.017118618, 0.0, -0.0235428, 0.0103508085, 0.020143243, 0.0, 0.0044788374, -0.017377898, -0.023227183, 0.0) * g_14; - result += mat4(-0.036366682, 0.007874863, 0.016618004, 0.0, 0.0022973057, -0.010600425, -0.012978575, 0.0, 0.0070587453, 0.005480104, 0.0052379463, 0.0, -0.02330911, -0.002091681, -0.0004570695, 0.0) * g_15; - result += mat4(0.0011265673, 0.017461559, 0.01678395, 0.0, 0.019458788, -0.032603145, -0.042017594, 0.0, -0.026735391, 0.007520235, 0.01661426, 0.0, -0.023014631, 0.027602635, 0.040214695, 0.0) * g_16; - result += mat4(-0.05236764, 0.007274719, 0.023289332, 0.0, -0.033428065, 0.0054935357, 0.014490033, 0.0, 0.016193395, -0.012767524, -0.022695007, 0.0, -0.01161452, 0.015592775, 0.017280621, 0.0) * g_17; - result += mat4(0.0075503755, 0.014264192, 0.014350495, 0.0, 0.013990636, -0.0011566521, -0.005510977, 0.0, -0.021975616, -0.013216436, -0.012400287, 0.0, 0.018202957, 0.010433842, 0.007529786, 0.0) * g_18; - result += mat4(0.012649671, 0.016378459, 0.009756208, 0.0, 0.0023225206, -0.0038671023, -0.005242471, 0.0, 0.023699954, 0.015248626, 0.011651197, 0.0, 0.014677953, 0.014319745, 0.012088228, 0.0) * g_19; - result += mat4(-0.0030005479, 0.0052323043, 0.007744717, 0.0, -0.0077438625, -0.00072459516, -0.001971826, 0.0, -0.01263717, -0.009226968, -0.005661945, 0.0, 0.0046659256, 0.0014185858, 0.0038442858, 0.0) * g_20; - result += mat4(-0.0053241113, -0.010728358, -0.013345879, 0.0, -0.000893072, 0.015531841, 0.015812417, 0.0, 0.021348871, 0.015751695, 0.016067913, 0.0, 0.014817982, 0.03233685, 0.031598262, 0.0) * g_21; - result += mat4(0.0038391522, 0.0027406036, 0.0063517806, 0.0, 0.0021543978, 0.0065204683, 0.009420363, 0.0, -0.022383714, -0.012619449, -0.008763167, 0.0, -0.009436604, -0.012201518, -0.0103548, 0.0) * g_22; - result += mat4(-0.005432008, -0.013701671, -0.021388102, 0.0, -0.001045599, -0.0032160715, -0.0036216215, 0.0, 0.031028647, 0.022415614, 0.01880324, 0.0, -0.004328173, -0.004780637, -0.005459752, 0.0) * g_23; - result += mat4(-0.007300146, -0.0076159053, -0.0080059795, 0.0, 0.005996225, 0.0057377047, 0.0059788194, 0.0, -0.021563234, -0.020394823, -0.020401813, 0.0, -0.030919729, -0.03150251, -0.029059272, 0.0) * g_24; - result += mat4(-0.002826552, -0.0042917025, -0.0025527687, 0.0, -0.0074001094, -0.006878869, -0.0062073106, 0.0, 0.010867636, 0.010852139, 0.008577537, 0.0, -0.01606024, -0.0143771265, -0.013291837, 0.0) * g_25; - result += mat4(0.012113326, 0.014259359, 0.011284172, 0.0, -3.851684e-05, -0.003696042, -0.0020337042, 0.0, 0.003427011, 0.006911378, 0.008471347, 0.0, 0.0063997298, 0.004651406, 0.0075980425, 0.0) * g_26; - result += mat4(-0.026621016, -0.027831081, -0.025364956, 0.0, 0.022336917, 0.023742557, 0.023516335, 0.0, -0.01619396, -0.01820708, -0.015288538, 0.0, 0.0045815264, 0.0022230193, 0.0017512285, 0.0) * g_27; - result += mat4(0.043799683, 0.046862658, 0.041910093, 0.0, -0.027854608, -0.02948632, -0.02927831, 0.0, -0.051899213, -0.04971418, -0.04712937, 0.0, -0.017539004, -0.0245854, -0.023040624, 0.0) * g_28; - result += mat4(0.022317344, 0.021462968, 0.02187171, 0.0, 0.0530127, 0.054741293, 0.052202478, 0.0, 0.029963326, 0.0298772, 0.025601966, 0.0, 0.027699472, 0.031187871, 0.02950236, 0.0) * g_29; - result += vec4(-0.0071146404, 0.005606682, 0.010180816, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl deleted file mode 100644 index e6b12ff..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl +++ /dev/null @@ -1,873 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.1690102, -0.2560719, 0.39658326, -0.3679659, -0.27616683, -0.35619372, -0.3748396, 0.08430813, -0.29574734, -0.31511316, -0.09773105, 0.13616018, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.1326393, -0.259433, 0.025070239, 0.58914864, -0.036478516, 0.30723435, 0.007458902, 0.012962684, 0.2493056, 0.13007334, -0.08448256, -0.38414413, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.11539356, 0.35253766, 0.26143202, 0.2760807, -0.09371543, -0.028165473, -0.028452158, -0.27050856, 0.06718067, -0.0056619495, -0.17654495, 0.17288211, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.16145481, -0.3204927, -0.54317135, 0.11830119, 0.49315026, 0.12008072, 0.50857407, -0.30382085, 0.25807253, 0.020755528, 0.29388228, 0.106109895, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.22728722, 0.50484747, -0.07904469, 0.33114597, 0.50306976, -0.22760947, 0.14773269, 0.17628263, 0.14788547, -0.08223464, -0.10880935, -0.3151985, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.3414351, 0.057279214, -0.14419858, 0.09761111, -0.11794496, 0.021717256, -0.22750235, 0.13986664, -0.38932344, 0.28996095, 0.3773904, 0.13175532, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.1376552, -0.19587159, -0.35147396, -0.097646296, 0.1686707, -0.14385861, 0.031198, 0.12383533, -0.23089902, 0.08707301, 0.3362293, -0.100579016, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.056774966, 0.047585852, -0.36395878, -0.20211312, 0.4077735, 0.12631284, 0.39813092, -0.033365678, 0.2307249, -0.09131807, 0.20823865, 0.31084216, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.12456089, 0.09755632, 0.31490886, -0.06579996, -0.13386595, 0.07564795, -0.26605195, -0.075180635, -0.11182657, 0.06757017, -0.14351276, -0.16828312, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.046043985, 0.055581126, -0.08791638, -0.13022089); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.15485518, -0.29363206, -0.22610365, -0.14291525, -0.45240572, -0.18319772, -0.12209436, 0.15031648, 0.09878383, 0.06711082, 0.25763842, -0.084633484, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.10204406, 0.16167697, 0.22371867, -0.37947702, -0.24476196, -0.038824454, 0.060157117, 0.15764871, -0.08072927, -0.2210841, -0.31835055, 0.009979876, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.20506924, 0.21132155, -0.0922578, -0.07430473, 0.14529926, 0.20549752, 0.0077948375, 0.13246094, -0.32353187, 0.21074104, 0.092629515, 0.17590871, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.04125819, -0.44050243, 0.23729716, 0.3218237, 0.12943116, -0.011674174, 0.10390632, 0.027775545, -0.20308031, -0.16904089, -0.2121676, -0.022515794, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.09664124, 0.20127031, 0.60345304, 0.16697013, 0.23093723, -0.38116834, 0.109695725, 0.0007595324, 0.4092646, 0.009624758, 0.11229678, 0.25326383, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.014879592, 0.19204311, 0.07102085, -0.7312604, 0.34860876, 0.3429918, -0.027331594, 0.27636307, 0.1342437, 0.107820466, -0.12645108, 0.21081445, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.12687613, -0.09247973, -0.25973785, 0.4350873, -0.18987224, 0.028678741, -0.0903819, -0.63974863, 0.205591, 0.11308998, 0.18458389, -0.4149041, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.34691808, -0.025498383, 0.3428986, 0.21663484, 0.23404741, -0.1725327, -0.0036315925, -0.13299675, -0.1873967, 0.031331502, -0.08785591, -0.0013278709, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.35846514, 0.048703704, -0.104165934, 0.16529736, -0.15378916, 0.26030356, -0.07134151, 0.03692383, -0.15807101, -0.18885155, 0.044707954, -0.11444462, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.0022791293, -0.024132347, -0.57621074, 0.028573977); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.010346764, 0.07230188, -0.24734616, -0.09937907, 0.02228549, -0.19550583, -0.019540425, -0.1037373, 0.033996485, -0.075554, -0.20228972, 0.07090153, -0.09194035, -0.058972966, 0.1768268, 0.27517542) * go_0(-1.0, -1.0); - result += mat4(0.020078976, 0.12433655, -0.1620775, 0.036401592, 0.079748705, 0.11660013, 0.17917652, -0.017513236, -0.18936846, 0.24478136, -0.45726213, -0.045004416, -0.08295188, 0.067733586, -0.080548316, 0.2744211) * go_0(-1.0, 0.0); - result += mat4(0.024916803, 0.27562472, 0.043771956, -0.012240604, 0.0786355, 0.042651594, 0.16049327, -0.14577515, -0.032735053, 0.17658092, 0.16382934, -0.02337374, 0.11551492, 0.056343183, -0.17930213, 0.14259394) * go_0(-1.0, 1.0); - result += mat4(0.20010485, 0.06747722, -0.19026905, 0.11013709, 0.13062745, -0.044626113, -0.0062261797, 0.2189639, 0.1403497, -0.022713251, -0.19452858, -0.010305412, -0.06407589, 0.09836748, 0.025805516, 0.23430973) * go_0(0.0, -1.0); - result += mat4(-0.14664203, 0.034910418, 0.024714258, -0.066872925, -0.15717538, -0.14179383, -0.14091893, 0.05859166, 0.18919097, -0.18544437, -0.09068573, -0.08615929, -0.051434122, 0.2170678, 0.18409058, -0.17461225) * go_0(0.0, 0.0); - result += mat4(-0.11354446, 0.10745854, 0.2682663, 0.05949201, -0.10695986, 0.1407851, -0.03551388, 0.10691649, -0.17148238, -0.38287184, 0.2074456, 0.11828914, 0.048535194, 0.1464864, -0.18169662, -0.14074169) * go_0(0.0, 1.0); - result += mat4(0.22160622, -0.1513045, -0.053284165, 0.033202525, 0.15574448, -0.043640967, -0.0093824165, -0.0019965349, -0.097964935, -0.08289824, 0.08239996, 0.07868361, 0.05731752, -0.20441617, -0.013016076, -0.253108) * go_0(1.0, -1.0); - result += mat4(-0.031249097, -0.2272863, 0.23573665, 0.03357689, 0.011395065, -0.10885564, -0.06287508, -0.031719524, 0.10331069, 0.17560169, 0.18303394, 0.022961004, -0.17011635, -0.24371737, 0.10678694, -0.3222825) * go_0(1.0, 0.0); - result += mat4(-0.1275465, -0.08844758, 0.10994917, -0.00910273, 0.09393154, 0.03894992, 0.14367905, -0.11811715, -0.09077633, -0.015776094, 0.27427456, -0.13283503, 0.18724327, -0.08139094, 0.04933602, -0.051852766) * go_0(1.0, 1.0); - result += mat4(-0.06764611, -0.27426586, 0.12045272, 0.09410856, -0.14258035, 0.11802992, -0.09093882, 0.0022018093, 0.4590643, 0.046258576, -0.07827223, 0.448011, -0.103631735, -0.016930219, -0.15421398, 0.11045997) * go_1(-1.0, -1.0); - result += mat4(-0.17295076, 0.00151352, 0.14938255, 0.08336512, -0.07496541, -0.07561223, -0.0846474, 0.14979269, -0.09142163, 0.23925088, -0.015199518, -0.37749895, -0.20636298, -0.022585187, -0.20371509, 0.0745308) * go_1(-1.0, 0.0); - result += mat4(0.06458832, -0.009722021, -0.123604394, 0.06548835, -0.3039139, -0.022024399, 0.05297587, -0.0626883, 0.23556642, 0.1516464, -0.07004877, -0.1845364, -0.05918428, 0.19158973, -0.14983447, 0.030489758) * go_1(-1.0, 1.0); - result += mat4(0.36604697, 0.17516142, -0.10853731, -0.22694224, -0.107650936, 0.23013335, 0.094055794, -0.17047717, -0.3006048, -0.08621717, -0.18815655, -0.03570218, 0.09676118, -0.017718751, 0.059138596, 0.073388465) * go_1(0.0, -1.0); - result += mat4(-0.12791575, 0.101956226, 0.13091874, -0.046373338, 0.04955811, -0.04030444, 0.13869923, -0.046699073, -0.42611042, -0.7173929, 0.052184317, 0.6178025, -0.02929954, -0.07638965, -0.15000828, 0.030710017) * go_1(0.0, 0.0); - result += mat4(0.057806686, 0.20842272, -0.20148766, 0.006666912, 0.13356528, -0.45265228, -0.07354092, 0.21447696, 0.019552143, -0.13645506, 0.14643854, -0.0071413796, -0.15487236, -0.002250615, 0.30622452, 0.0033902125) * go_1(0.0, 1.0); - result += mat4(0.06896002, 0.24397352, -0.06479052, 0.20676947, -0.24259068, 0.055320013, -0.09032122, -0.11222854, -0.08982342, -0.114818625, -0.06399291, -0.3024516, -0.06302166, -0.1925528, 0.03458982, 0.028828239) * go_1(1.0, -1.0); - result += mat4(0.09764086, 0.09599894, -0.0073313303, 0.14418933, -0.045712367, 0.12657364, 0.04620374, -0.069778584, 0.30047333, -0.012418192, 0.15516461, -0.18087754, 0.08178273, 0.14262857, -0.01741533, -0.12509112) * go_1(1.0, 0.0); - result += mat4(0.04697884, -0.1506804, 0.031823065, 0.13397239, -0.18396698, 0.10681781, -0.29586303, -0.0039136545, 0.17560847, -0.12486726, -0.018646788, -0.20688744, -0.030614454, -0.0527634, 0.23593572, -0.10542146) * go_1(1.0, 1.0); - result += mat4(-0.19182229, -0.32615846, 0.26283535, -0.1371942, -0.071202695, 0.12056063, -0.11450658, -0.27711076, -0.42096004, 0.0014352369, 0.1559669, -0.14464542, -0.17973948, 0.079166576, -0.12501791, -0.20623216) * go_2(-1.0, -1.0); - result += mat4(0.12469872, 0.32190827, -0.059510354, 0.1393449, -0.12845798, -0.019571869, -0.22630808, -0.14031963, 0.36072046, 0.05858427, 0.19278921, 0.121090546, -0.067538865, -0.018770566, 0.14318037, -0.15561756) * go_2(-1.0, 0.0); - result += mat4(0.024663208, 0.21110268, -0.016415706, 0.060093414, -0.03739678, -0.107412934, -0.077527136, 0.30331334, 0.17196326, -0.15512557, -0.09499732, -0.15748607, -0.16680105, -0.015185634, 0.16114107, -0.21288376) * go_2(-1.0, 1.0); - result += mat4(-0.17739037, -0.1190967, 0.13191372, -0.2527187, -0.14992718, -0.30511454, 0.19145966, 0.002194003, -0.12888977, 0.19152176, 0.27528167, 0.099714965, 0.12865707, -0.12051514, -0.055013947, 0.26231763) * go_2(0.0, -1.0); - result += mat4(0.46433613, -0.11708138, -0.20157282, 0.32022122, 0.079468675, 0.029407484, 0.2559102, -0.15651533, 0.08644574, -0.09747344, -0.07528584, 0.17354868, 0.19167562, -0.17698488, -0.09896657, 0.17093097) * go_2(0.0, 0.0); - result += mat4(0.20283653, -0.33680332, 0.2282385, 0.18832158, 0.20866042, 0.00076752366, 0.16471444, -0.21548858, 0.16193539, 0.17141372, 0.03140222, 0.03913644, -0.030161971, 0.00014570929, 0.08993654, -0.064823024) * go_2(0.0, 1.0); - result += mat4(-0.3075755, 0.19942546, 0.015526995, -0.120868504, -0.254515, -0.07791228, 0.03271691, 0.11794217, 0.11258601, 0.045204375, -0.061196107, -0.115958795, 0.3861869, 0.048215542, 0.07016682, -0.009975758) * go_2(1.0, -1.0); - result += mat4(-0.07623697, 0.16094944, -0.02283455, 0.14112763, -0.051149167, 0.20429814, 0.011314802, 0.18914083, -0.24240434, -0.08784008, -0.16763984, -0.08492233, 0.31062725, -0.11925119, -0.33195966, 0.2060798) * go_2(1.0, 0.0); - result += mat4(-0.016709225, -0.14472668, -0.3677625, -0.09832719, 0.030297454, -0.05775362, -0.1401375, 0.08119674, -0.01795042, 0.05183797, -0.24320887, 0.066842034, -0.22245285, -0.02740993, 0.06316751, 0.053399116) * go_2(1.0, 1.0); - result += mat4(-0.039214406, -0.08876633, 0.045552462, 0.19226661, 0.1355001, -0.13942362, 0.17398876, 0.2914014, -0.191809, 0.037143208, 0.013333581, -0.16632195, 0.113767646, -0.106692605, 0.1589787, 0.030107044) * go_3(-1.0, -1.0); - result += mat4(0.21997562, 0.13855208, -0.05783191, -0.033682413, -0.010961168, 0.10524961, 0.02177416, 0.18289444, 0.043692037, 0.07853899, -0.039936125, -0.1004449, 0.04494073, -0.020680292, 0.17578089, -0.106598996) * go_3(-1.0, 0.0); - result += mat4(0.026852835, -0.16037546, 0.11278316, 0.12656097, -0.006857894, -0.03400118, -0.051564034, 0.00085412664, -0.37556714, -0.05279987, 0.029383834, -0.14246808, -0.056380164, -0.002399925, 0.16025752, 0.036324855) * go_3(-1.0, 1.0); - result += mat4(0.022709966, 0.046350412, 0.03390721, 0.02810572, -0.14394265, 0.04215361, -0.3206118, 0.15034916, -0.0028448137, 0.1682989, -0.042686664, 0.020543462, -0.2786501, -0.007482015, -0.040313292, -0.20745736) * go_3(0.0, -1.0); - result += mat4(0.05417556, 0.18728684, -0.046121832, -0.27939513, 0.05907976, -0.09191223, -0.16625418, -0.26038164, 0.39956605, -0.052594025, -0.0596556, 0.29517552, -0.015181923, -0.0763375, 0.25131205, 0.13038464) * go_3(0.0, 0.0); - result += mat4(-0.036903054, -0.0066989153, -0.062650286, 0.05614359, -0.0064960583, 0.028512698, -0.10906273, -0.010047654, 0.23030473, 0.049983572, 0.10439064, 0.26643834, 0.05041243, 0.09185424, -0.32352915, 0.11295159) * go_3(0.0, 1.0); - result += mat4(0.09724027, -0.34962535, 0.06586686, 0.016635379, 0.13831381, 0.01707076, -0.04690347, 0.022350075, 0.018352794, 0.022000022, 0.070613205, 0.117735535, -0.025971051, 0.18832101, -0.09643588, -0.08512127) * go_3(1.0, -1.0); - result += mat4(-0.17324433, 0.06810613, -0.057295907, -0.05115964, -0.101570815, 0.12491774, 0.08762367, -0.005862404, -0.05342927, -0.031942457, -0.039624047, -0.04298937, -0.1303138, -0.11869282, -0.024832053, 0.070463404) * go_3(1.0, 0.0); - result += mat4(-0.010514842, 0.1376259, -0.11750346, -0.03786737, 0.03459249, 0.015408171, -0.031430878, -0.060825355, -0.072958425, -0.0037895301, 0.041686177, -0.12352204, -0.06261361, 0.054514423, -0.34072715, 0.13860728) * go_3(1.0, 1.0); - result += vec4(0.018166734, -0.11002478, -0.05554318, -0.0988193); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.040142782, 0.0288423, 0.07569487, -0.01490842, 0.14402796, -0.13682005, 0.027765118, 0.03907358, 0.07117706, 0.058157545, -0.23862502, -0.057674367, -0.19220531, 0.0147159435, -0.18028538, 0.0963821) * go_0(-1.0, -1.0); - result += mat4(-0.1676744, -0.11937339, 0.12137117, 0.07119485, 0.14148116, -0.043578617, -0.029261118, -0.0016938087, -0.057269357, -0.080076694, 0.12193026, 0.07326153, -0.056278303, -0.01630716, -0.03792076, 0.1483611) * go_0(-1.0, 0.0); - result += mat4(-0.3021578, 0.011601693, 0.11266048, 0.19086999, -0.0122412145, 0.08431291, 0.11615175, -0.008039614, -0.39987534, 0.07820729, 0.03509667, 0.1963505, -0.08839513, -0.21571854, 0.059425723, -0.06830175) * go_0(-1.0, 1.0); - result += mat4(0.23135209, -0.12452708, 0.0943565, 0.0028859286, -0.09836373, 0.10681712, -0.3535964, 0.08457615, 0.045332734, 0.16579892, -0.03809797, -0.021596594, 0.2937497, -0.028294371, 0.046484597, -0.037604347) * go_0(0.0, -1.0); - result += mat4(0.072675414, -0.16431206, 0.28952035, 0.0076831076, -0.020242939, 0.029483542, -0.092415355, 0.08673106, 0.12109694, 0.14307201, 0.23134442, 0.11731775, 0.09981601, -0.16968462, 0.037470713, 0.14948717) * go_0(0.0, 0.0); - result += mat4(0.0029752052, 0.06526503, 0.1866458, 0.07451277, -0.31836876, 0.17115082, -0.13969697, 0.23844297, -0.03244903, -0.08832665, 0.023691226, -0.18230624, -0.074933805, -0.00044301842, 0.050572682, 0.081511915) * go_0(0.0, 1.0); - result += mat4(0.039502528, 0.051221415, -0.13968123, -0.091212444, -0.016925618, 0.15409444, -0.017455677, -0.11653652, 0.03539446, -0.00087720866, -0.12839639, 0.037198763, 0.03674469, -0.26444665, 0.019721227, -0.13013805) * go_0(1.0, -1.0); - result += mat4(0.039229527, 0.25667152, 0.0032586441, -0.00718359, 0.1617932, 0.10409968, 0.07182867, -0.09810605, 0.07789241, -0.02014911, 0.025767172, -0.14604759, 0.07175764, 0.32513744, -0.20473222, -0.16266066) * go_0(1.0, 0.0); - result += mat4(0.13418433, 0.061813723, -0.13927278, -0.2498272, 0.03468218, 0.29483125, 0.063289374, -0.04726235, 0.1898295, -0.33132064, 0.032045014, 0.02159535, -0.1148363, 0.31306976, 0.06456038, 0.048988886) * go_0(1.0, 1.0); - result += mat4(0.07151646, 0.2799246, -0.107190795, -0.16431166, -0.28007045, 0.07206954, 0.06775463, 0.009758042, 0.07032184, -0.20843789, 0.087045245, 0.1360676, -0.25718534, 0.028249472, -0.12614648, 0.009949602) * go_1(-1.0, -1.0); - result += mat4(0.020241471, -0.23390484, -0.0083223935, 0.08344701, 0.08222297, 0.12026539, -0.08652223, -0.08228822, -0.039576706, -0.24677879, -0.1157289, 0.2590508, -0.23809408, 0.19911982, -0.116798095, -0.035870325) * go_1(-1.0, 0.0); - result += mat4(0.024991842, 0.050509237, -0.024134455, -0.12659028, 0.24089767, 0.122712664, -0.10482493, -0.19403952, -0.19177693, -0.06538376, -0.041478425, 0.32176673, -0.1534002, -0.18680622, 0.06763643, 0.020806564) * go_1(-1.0, 1.0); - result += mat4(0.03437814, -0.28067374, 0.2830681, 0.038812317, -0.021698112, -0.120865285, 0.22695538, -0.045419116, -0.030475847, -0.01977341, -0.1265364, -0.3109814, 0.012255813, 0.053917278, -0.018620957, -0.14599285) * go_1(0.0, -1.0); - result += mat4(-0.016204128, -0.04093018, 0.054571863, 0.02679643, 0.01756274, -0.057685968, 0.16148666, 0.17370272, -0.11065411, 0.06378157, -0.09331551, 0.22985275, 0.057905316, 0.12323568, 0.07748665, 0.09878629) * go_1(0.0, 0.0); - result += mat4(-0.018112244, 0.063234635, -0.013184602, 0.16241394, 0.08877139, 0.02145378, -0.02490027, -0.038920373, 0.13127136, 0.14391647, 0.020553736, 0.14401346, 0.06685973, -0.25398204, 0.10369067, -0.055949755) * go_1(0.0, 1.0); - result += mat4(0.07710333, 0.047412727, 0.13813803, 0.18624061, 0.16907091, -0.039532468, 0.06234584, 0.06408178, -0.054543987, -0.045220226, -0.11093376, -0.37399602, 0.20372874, 0.004580967, -0.07742308, 0.017989937) * go_1(1.0, -1.0); - result += mat4(0.003485311, -0.08897399, -0.013108594, -0.19473282, -0.27081844, -0.16812073, 0.0052992934, -0.055331517, 0.09446357, 0.019280333, 0.16560757, -0.3230032, 0.043096773, 0.059222896, -0.064184934, -0.059852477) * go_1(1.0, 0.0); - result += mat4(0.06794279, -0.034135245, 0.083064295, 0.13506731, 0.13064219, -0.44978833, -0.03513717, 0.08999715, 0.1124541, 0.42208397, -0.0038724816, -0.014332087, -0.13751853, -0.04929869, 0.09134992, -0.17687531) * go_1(1.0, 1.0); - result += mat4(0.100909084, -0.0131197255, 0.082274795, -0.2138443, -0.08515947, -0.021058358, 0.10951775, -0.06349191, -0.29129833, -0.029262653, 0.25235432, -0.11748315, 0.121980384, 0.062347785, 0.10916932, -0.15993518) * go_2(-1.0, -1.0); - result += mat4(0.28893283, -0.05677308, -0.2641288, -0.058937225, -0.16187571, 0.006647366, -0.063294955, 0.04766719, 0.60601914, -0.07831864, -0.15710756, -0.011491797, 0.15587467, -0.08105375, 0.07847514, -0.2803333) * go_2(-1.0, 0.0); - result += mat4(-0.077989794, -0.09871811, -0.3516344, 0.15292728, 0.010889273, 0.0011189661, -0.16118282, -0.018821161, -0.039708678, -0.00060983415, -0.06367813, 0.009148068, 0.03919827, 0.18782744, 0.028040757, -0.10230145) * go_2(-1.0, 1.0); - result += mat4(-0.4079609, 0.18640275, -0.12475227, 0.13891742, 0.25121725, 0.16942379, 0.14409852, 0.087600805, 0.045335658, -0.12683709, -0.0077387216, 0.06563413, -0.19857128, 0.106910795, -0.048285246, 0.10768945) * go_2(0.0, -1.0); - result += mat4(0.5989075, 0.20941062, -0.20086494, 0.13344856, 0.073034994, 0.22358665, 0.101664364, -0.13463663, 0.18816395, -0.061176624, -0.14712185, 0.027320342, -0.09529667, 0.031148786, -0.28744993, 0.18698911) * go_2(0.0, 0.0); - result += mat4(0.14799193, 0.39471942, -0.23340325, -0.4031061, 0.18926248, -0.11091216, 0.118981816, -0.09155061, 0.17049436, 0.19803695, -0.1513267, 0.023817873, 0.0090933135, -0.04134864, 0.060486555, 0.03536634) * go_2(0.0, 1.0); - result += mat4(-0.39094314, 0.01779997, 0.12710269, 0.0067333193, -0.31255835, -0.08206612, -0.048528638, 0.369439, -0.19351655, -0.03420455, 0.15831526, -0.052294146, -0.08481741, 0.0787108, 0.1312136, -0.108919285) * go_2(1.0, -1.0); - result += mat4(-0.16068119, -0.42190582, 0.19383872, -0.018445708, 0.09803051, -0.020769652, -0.022599563, -0.052448895, -0.20645833, -0.031432863, 0.0025441595, 0.03410379, -0.20268854, 0.04481527, 0.05191063, 0.42317194) * go_2(1.0, 0.0); - result += mat4(-0.12786235, -0.23936178, 0.116561726, 0.30756372, -0.09420156, -0.044529166, -0.03585749, 0.1829332, -0.23939075, 0.24030831, 0.019878127, -0.015069802, 0.24300557, -0.22558568, -0.104956664, -0.09393648) * go_2(1.0, 1.0); - result += mat4(-0.04607054, 0.012677649, -0.027597688, 0.1618836, 0.29210827, 0.014221155, -0.13591036, -0.06895336, -0.09559534, 0.07956421, -0.11112994, -0.13325493, 0.24562472, 0.11046177, 0.057847694, 0.0016315983) * go_3(-1.0, -1.0); - result += mat4(-0.03365951, 0.027391057, 0.09653403, -0.14718771, -0.049631152, -0.06467214, -0.058545876, 0.1424002, -0.06320376, 0.181183, 0.10249362, -0.16052136, 0.3013475, -0.04156266, 0.08862033, 0.06888033) * go_3(-1.0, 0.0); - result += mat4(0.10045977, -0.004198456, -0.025856055, 0.05739418, -0.1328637, -0.025975171, 0.06553717, 0.11301186, 0.0704087, -0.083569765, 0.16066101, -0.24453588, 0.25370175, 0.037184533, 0.062386766, -0.20025635) * go_3(-1.0, 1.0); - result += mat4(-0.017958941, 0.06417776, -0.1525265, 0.12451173, 0.14567685, -0.0049682115, -0.23973411, -0.0783304, -0.010629432, 0.08055161, 0.2028341, 0.17640644, -0.20445108, -0.055524793, -0.019326134, 0.081288636) * go_3(0.0, -1.0); - result += mat4(0.007882519, -0.03722546, 0.053249408, 0.00071846246, -0.07053029, -0.21583866, 0.1415364, -0.19486657, 0.20685542, 0.17660026, -0.32156837, 0.1746825, -0.14957622, -0.09224378, -0.098153435, -0.13054638) * go_3(0.0, 0.0); - result += mat4(0.10051427, -0.17398237, 0.09842799, -0.14187703, 0.116901085, -0.1229543, -0.0007776771, -0.20410055, -0.11373484, -0.111150615, -0.1974002, -0.11641459, 0.024105398, 0.24985977, 0.015871854, -0.10724633) * go_3(0.0, 1.0); - result += mat4(-0.18081793, 0.1209351, -0.12867971, -0.019415248, 0.062617876, -0.037130393, -0.07803658, -0.22862352, 0.2586428, -0.030090366, -0.11894069, 0.18087515, -0.40921417, 0.070013195, 0.030540073, 0.035120826) * go_3(1.0, -1.0); - result += mat4(-0.13185939, 0.12992652, 0.08125049, 0.075331174, 0.064219765, 0.056629725, -0.020012032, -0.0855444, -0.044063166, -0.05396545, -0.028002812, 0.21837157, -0.15206428, -0.12681007, 0.14895032, 0.12339962) * go_3(1.0, 0.0); - result += mat4(0.08066341, -0.14773634, -0.0212227, -0.014011867, -0.048505764, 0.075407125, -0.020620076, 0.0003291325, -0.21815202, -0.23136546, 0.10853532, -0.036058456, 0.10952532, -0.052677035, -0.13005799, 0.18398996) * go_3(1.0, 1.0); - result += vec4(0.022609137, -0.028548084, 0.024431901, 0.010504478); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.069641694, 0.104958326, 0.14786446, 0.027633663, -0.004279524, -0.020451711, 0.0883571, -0.016224537, 0.13585235, 0.11078269, 0.20198658, -0.042161036, 0.020466218, 0.20994963, 0.20072585, -0.028024657) * go_0(-1.0, -1.0); - result += mat4(0.050872434, 0.12874635, 0.1298729, 0.115810685, 0.07087254, 0.09885682, 0.23018982, 0.19187538, 0.10953604, 0.0033836907, -0.13325337, 0.09830315, -0.06528767, 0.05096927, -0.016355392, -0.039334368) * go_0(-1.0, 0.0); - result += mat4(0.027010268, 0.018263958, 0.0360758, 0.016791478, 0.2815702, 0.15517488, 0.43415815, 0.044976447, -0.0070842914, -0.12546758, 0.16874593, 0.077622116, 0.02252915, 0.1769774, 0.07181055, -0.15128697) * go_0(-1.0, 1.0); - result += mat4(0.057129618, 0.118046716, 0.07237424, -0.07842637, -0.044214778, -0.12886304, 0.08603301, -0.10416606, -0.15852053, 0.3788151, 0.26181692, -0.09092249, 0.31635332, 0.064212754, 0.21923725, 0.07500004) * go_0(0.0, -1.0); - result += mat4(-0.16981383, 0.044409662, -0.3717617, -0.031610407, 0.03658662, -0.09459229, -0.09449437, -0.014000666, -0.19656453, 0.03934163, -0.16304104, -0.12761801, -0.06235523, 0.16438273, -0.036933117, -0.095564745) * go_0(0.0, 0.0); - result += mat4(0.09725091, 0.034022827, 0.17699842, 0.1079676, -0.13236652, 0.03718181, -0.06968635, -0.23288171, 0.10275666, 0.08464966, -0.37162134, -0.35782215, -0.11023659, 0.2519236, -0.035197742, -0.019324787) * go_0(0.0, 1.0); - result += mat4(-0.09968464, 0.01102193, 0.0073735216, 0.011999313, -0.004998707, 0.09518938, 0.045727003, -0.21544908, 0.006879454, -0.06398254, -0.12584935, -0.06759933, -0.0820037, -0.07775104, 0.021957919, -0.122708224) * go_0(1.0, -1.0); - result += mat4(-0.08869767, 0.031296413, -0.0034280645, 0.13778855, 0.10073061, -0.08393937, -0.032959275, -0.0500518, 0.010908757, -0.09189417, -0.057760105, 0.17652664, -0.08729078, -0.09639096, -0.25654703, 0.055152636) * go_0(1.0, 0.0); - result += mat4(0.0027847723, -0.12885433, 0.038065907, 0.17450769, 0.0864409, 0.04592345, -0.015443841, 0.077010944, 0.08967368, 0.06800111, -0.23636387, 0.35023567, 0.03165923, 0.03132063, 0.17964344, 0.035610788) * go_0(1.0, 1.0); - result += mat4(-0.032017227, -0.0022808525, -0.08470573, 0.05332408, -0.14674746, 0.025374275, -0.018281924, 0.041163016, 0.00096549373, 0.014724006, 0.004913065, 0.18494442, 0.034953076, -0.15731992, -0.13792977, 0.08041999) * go_1(-1.0, -1.0); - result += mat4(0.08305006, 8.6318905e-05, -0.007895379, 0.02731387, -0.061324496, 0.050034665, 0.22662131, -0.013876427, -0.074468784, -0.008136604, -0.23337875, -0.1742574, 0.011753501, -0.11666686, -0.22541048, -0.14549944) * go_1(-1.0, 0.0); - result += mat4(-0.028333234, 0.121047184, 0.06720256, -0.058930036, 0.030258363, 0.07292774, 0.06455556, 0.0019076486, 0.0073987027, 0.17144889, 0.06084024, -0.08762086, -0.114422195, -0.16595861, -0.08706028, -0.10736261) * go_1(-1.0, 1.0); - result += mat4(-0.02519315, -0.14611271, 0.0388848, 0.19481422, -0.05970354, -0.08391417, 0.18982239, -0.10447052, 0.15587378, -0.023997072, 0.0781739, 0.2182389, -0.023886079, -0.1422596, -0.13352804, 0.005008043) * go_1(0.0, -1.0); - result += mat4(0.08842712, -0.100292705, 0.18925671, 0.12198875, 0.061771665, -0.04473232, 0.025053164, 0.039047796, -0.1672479, -0.08934517, 0.33099812, -0.20269585, -0.21640155, -0.22029749, 0.16539703, -0.2442679) * go_1(0.0, 0.0); - result += mat4(-0.16332205, -0.101898365, 0.02919932, -0.11900455, 0.14442924, 0.0916815, 0.037550304, 0.024123482, 0.02042624, 0.033472955, -0.059437107, -0.18735693, -0.013749093, -0.06199881, -0.08685079, 0.04252364) * go_1(0.0, 1.0); - result += mat4(-0.09047013, -0.055188328, -0.09106191, -0.048969727, 0.05114009, -0.12753403, 0.07116141, 0.060749624, -0.074034564, -0.21952136, -0.09479503, 0.2753584, -0.014141759, -0.14883812, -0.0673838, -0.012279045) * go_1(1.0, -1.0); - result += mat4(0.013816464, -0.0747162, -0.19202435, -0.064403646, 0.34980014, 0.04375546, 0.20264609, 0.006684355, 0.11523799, 0.024674915, -0.08697566, -0.04662527, -0.12743855, -0.39463726, 0.0057380227, 0.01286557) * go_1(1.0, 0.0); - result += mat4(-0.08146522, 0.074080914, -0.16856177, -0.183158, 0.19228102, 0.12373886, 0.017574452, -0.01753772, 0.045071773, 0.07725093, 0.023422163, -0.011545186, 0.20751388, -0.10795588, 0.07606346, 0.10282933) * go_1(1.0, 1.0); - result += mat4(0.12512013, -0.102208994, -0.09125398, 0.12043188, -0.066011876, 0.08831903, -0.017038671, -0.005541508, -0.049607087, 0.08654939, -0.02037085, 0.26887566, 0.005012545, 0.01869507, -0.013064982, -0.010649147) * go_2(-1.0, -1.0); - result += mat4(0.006824864, -0.05071593, -0.20786697, -0.07327317, 0.011382597, 0.030494886, -0.04754353, -0.018284699, 0.01305972, -0.036589053, 0.26637617, 0.021887446, -0.026669119, -0.037982125, -0.063445956, -0.009104248) * go_2(-1.0, 0.0); - result += mat4(0.032602567, 0.07094331, 0.052653246, 0.08342047, -0.085082285, -0.14674088, -0.23073354, -0.07915851, 0.0017120204, 0.032407638, -0.039819505, 0.16942178, 0.023192152, -0.0353237, 0.10930186, 0.22939779) * go_2(-1.0, 1.0); - result += mat4(0.0010455973, -0.11821993, -0.12639599, 0.12250084, -0.12756817, 0.11478416, -0.1862587, 0.016819192, 0.02110181, -0.25492984, -0.1766048, 0.22188173, -0.21305011, 0.113442205, 0.04599144, -0.15840286) * go_2(0.0, -1.0); - result += mat4(-0.15086032, -0.17428935, 0.39080557, 0.07576757, 0.121703945, 0.17944208, -0.003140103, -0.11231332, 0.12102969, 0.15310267, 0.17578171, 0.40631834, -0.21299168, 0.024928993, 0.030104794, 0.020753227) * go_2(0.0, 0.0); - result += mat4(-0.098734386, -0.020072265, -0.14308836, -0.08490801, 0.017175158, 0.02250534, 0.04060829, 0.033022214, 0.0046218676, 0.17923212, 0.0112105915, 0.09574084, 0.14819936, -0.14692923, 0.12634254, 0.060762513) * go_2(0.0, 1.0); - result += mat4(0.030521613, -0.097913325, -0.016720278, 0.11273997, 0.013019863, -0.06557118, 0.0405774, 0.0915019, 0.022414956, -0.053254984, 0.18639986, 0.07820968, 0.06498986, 0.058922634, -0.02240318, -0.086019725) * go_2(1.0, -1.0); - result += mat4(0.2058775, 0.01502064, 0.05847032, 0.007249146, 0.086483665, 0.19420148, 0.03892261, -0.013546935, -0.07980237, 0.04347281, -0.10376214, -0.1366535, 0.05285337, 0.07213318, 0.3642818, -0.11331124) * go_2(1.0, 0.0); - result += mat4(-0.025740806, 0.14551482, -0.037410017, -0.17477523, -0.11853099, -0.060820814, -0.102599286, -0.13267937, -0.103053465, -0.014044828, -0.01888072, -0.06499249, 0.22311528, -0.051850274, -0.034120858, 0.044562567) * go_2(1.0, 1.0); - result += mat4(-0.21360217, 0.10093803, -0.0016407765, -0.1473997, 0.26524043, 0.02112132, 0.23173104, -0.013157391, 0.05945182, 0.044635538, 0.06031638, -0.21435826, -0.10147484, 0.069090195, 0.09641844, -0.09581093) * go_3(-1.0, -1.0); - result += mat4(-0.08576515, -0.122861005, 0.049567085, -0.085854456, 0.23809357, -0.024966082, -0.10294079, 0.046241313, 0.008621132, -0.08323767, 0.20277941, 0.163423, -0.07386535, -0.088738985, 0.05274358, -0.025479877) * go_3(-1.0, 0.0); - result += mat4(-0.041135542, -0.008365642, 0.17088248, 0.04025207, 0.13809255, -0.056895368, -0.01582834, 0.07361908, -0.00068995473, -0.09300962, 0.19117641, 0.24832036, -0.06572358, -0.026025, -0.019093119, -0.049720034) * go_3(-1.0, 1.0); - result += mat4(0.024900286, 0.11525501, 0.025882801, 0.037742402, 0.36976853, 0.052211333, -0.15143296, 0.1802276, -0.059080046, 0.017990451, 0.026395092, -0.12689115, -0.07705386, 0.1232379, 0.13273561, -0.12521964) * go_3(0.0, -1.0); - result += mat4(-0.19788785, 0.044887315, 0.07663442, 0.16688696, -0.2842248, -0.15684547, 0.028387763, 0.0063470444, -0.012245601, -0.038382255, -0.8187406, -0.25245667, 0.23014604, 0.22746666, 0.1594356, 0.16469443) * go_3(0.0, 0.0); - result += mat4(-0.12663333, 0.014730006, 0.03765697, 0.15704912, -0.106595434, -0.05317512, -0.081759915, -0.08797109, 0.064620756, -0.06341419, 0.16493447, 0.23102313, 0.068325415, -0.088058695, 0.16885915, 0.036382258) * go_3(0.0, 1.0); - result += mat4(0.035389822, -0.11811836, -0.035656307, -0.0680554, 0.1338908, 0.065852076, 0.023307983, 0.0675308, 0.09690683, 0.18170924, 0.09862692, -0.20964378, -0.08601271, -0.20016764, -0.01879598, -0.14629345) * go_3(1.0, -1.0); - result += mat4(-0.27183273, 0.013525998, -0.14995874, -0.23938845, -0.26218823, -0.0009874097, -0.13385512, -0.10664239, -0.048931994, 0.039898522, 0.047444753, 0.10934722, 0.10969629, 0.123539805, 0.11692802, 0.14172275) * go_3(1.0, 0.0); - result += mat4(-0.1656506, 0.019683002, 0.0221048, 0.12596753, 0.20420644, -0.07930122, 0.04653823, 0.11492255, -0.0050175437, -0.03271697, 0.013389486, 0.034583613, -0.2196601, -0.1615663, -0.013763388, -0.056037936) * go_3(1.0, 1.0); - result += vec4(-0.022956269, 0.029688787, -0.070148066, -0.07163476); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.15104648, 0.05522861, -0.0654341, -0.053517453, -0.08264124, -0.0062249107, -0.20364265, -0.05015117, -0.18837251, 0.030655831, 0.046844713, -0.20673253, -0.14042036, -0.05655449, 0.13994302, 0.011745607) * go_0(-1.0, -1.0); - result += mat4(-0.16517559, 0.1489214, -0.09149559, 0.025003506, -0.124926426, 0.16974348, -0.020857265, 0.08017403, 0.21836148, 0.0025619378, 0.2331612, 0.085599184, -0.030934382, -0.055194855, 0.09527726, -0.10081552) * go_0(-1.0, 0.0); - result += mat4(0.041800212, 0.028859638, 0.09395546, 0.05211183, -0.038541477, 0.021495212, 0.04862346, -0.007864793, 0.038407274, -0.13841268, -0.14963801, 0.26470762, 0.16691841, -0.07262008, 0.034374326, -0.14709206) * go_0(-1.0, 1.0); - result += mat4(0.00094978884, -0.028974704, -0.0900548, -0.08401967, -0.08935931, -0.043606587, -0.14497143, -0.05226239, -0.21516493, 0.19410603, -0.089924194, -0.04335071, -0.012618276, -0.2671613, 0.020422975, -0.037739716) * go_0(0.0, -1.0); - result += mat4(-0.13403237, -0.02524383, -0.03474901, 0.054432765, 0.11946775, 0.107336655, -0.1431715, -0.13370377, 0.015087512, -0.1917613, 0.073493585, 0.2788855, -0.010510839, 0.06891479, -0.06741307, -0.05271205) * go_0(0.0, 0.0); - result += mat4(-0.15432046, 0.04021662, -0.16979513, 0.13660534, -0.10518303, -0.10095502, -0.13092068, 0.022805348, -0.16676381, -0.4273298, 0.020867536, 0.3506733, -0.29459694, -0.055828743, -0.069241956, 0.04106382) * go_0(0.0, 1.0); - result += mat4(-0.08890133, 0.07549666, -0.040735144, -0.1506932, -0.22227979, -0.0762723, -0.17766447, -0.05741318, -0.21885683, 0.2379157, -0.15525854, -0.07306285, 0.15580738, -0.04394069, -0.19175608, 0.018283797) * go_0(1.0, -1.0); - result += mat4(-0.08503275, -0.105500385, -0.114987396, -0.07166016, -0.2147138, 0.09378708, 0.24550334, -0.0834075, -0.033147786, -0.022304727, -0.31062204, 0.027651973, 0.109098755, 0.18889032, 0.1163026, 0.13863255) * go_0(1.0, 0.0); - result += mat4(0.15266588, -0.14901319, 0.033916786, 0.09381096, -0.08196443, -0.16194504, 0.035789456, 0.21234898, -0.48724765, 0.2619442, -0.11215393, 0.25061038, 0.022344576, 0.0116525125, 0.111661114, -0.15242295) * go_0(1.0, 1.0); - result += mat4(0.020475458, 0.0797404, -0.13576819, 0.009681671, 0.030504882, 0.049232908, 0.022025917, 0.16912088, -0.23914136, -0.084663324, 0.020925451, -0.1023938, 0.035916872, -0.07538111, -0.11470242, 0.15238516) * go_1(-1.0, -1.0); - result += mat4(-0.12941381, 0.08509899, -0.029489802, -0.09148447, -0.089406274, -0.116145454, -0.08979843, 0.11908148, 0.15473351, -0.21687616, 0.12607013, -0.08244334, -0.079580925, -0.16613089, -0.09287793, -0.03412643) * go_1(-1.0, 0.0); - result += mat4(-0.023578499, 0.07394217, -0.13069086, -0.1060499, -0.07559958, -0.21839201, 0.1090753, 0.0787872, 0.07677037, -0.25998843, 0.20039314, 0.046882212, 0.31871012, -0.3048051, 0.15118991, -0.00518087) * go_1(-1.0, 1.0); - result += mat4(-0.15338503, -0.11057532, 0.075839415, -0.18592294, -0.0155324, 0.038140323, -0.10498194, 0.09070477, 0.05108992, -0.047939524, -0.091004305, 0.09649005, -0.10967152, -0.051909525, -0.05314551, 0.09661584) * go_1(0.0, -1.0); - result += mat4(-0.14458802, -0.053263694, -0.0010885567, 0.23342133, 0.01918937, 0.12026143, -0.15691495, 0.30480555, -0.08725869, 0.19082253, 0.3594973, 0.016653897, 0.045152336, -0.088590585, 0.0069655925, 0.1392425) * go_1(0.0, 0.0); - result += mat4(0.17944881, -0.17950764, 0.13282645, 0.030974053, 0.32233685, 0.18067117, -0.11472813, 0.097301506, -0.047649745, -0.1053861, -0.081039384, 0.035132434, 0.10204545, 0.085582554, -0.13153993, -0.021741152) * go_1(0.0, 1.0); - result += mat4(-0.15573682, 0.16409989, -0.22574787, -0.03877603, -0.18285516, 0.11638645, 0.18321282, -0.017770218, 0.18230622, 0.16433364, -0.12795393, -0.03805153, 0.14386104, -0.0891527, -0.056928284, -0.10961495) * go_1(1.0, -1.0); - result += mat4(0.257622, 0.052519716, -0.25421762, -0.1887382, -0.083568096, -0.0064690276, -0.029110614, 0.103327505, -0.17006217, 0.2254096, -0.29366904, 0.04302887, -0.10198446, -0.24423616, 0.16781262, -0.005019004) * go_1(1.0, 0.0); - result += mat4(0.103393994, -0.059044626, -0.18192382, 0.0990813, -0.26143607, 0.11036474, 0.04788275, -0.096738026, 0.12825653, 0.13631694, -0.077904984, -0.020790676, -0.25118098, 0.122588515, -0.049440473, -0.10758222) * go_1(1.0, 1.0); - result += mat4(0.06693113, -0.13647175, 0.131139, 0.13143918, 0.081720434, 0.117537096, 0.15387627, -0.008771362, 0.08513583, 0.023794742, -0.0661625, 0.115793936, 0.0023350024, 0.02215075, -0.0494433, -0.013404977) * go_2(-1.0, -1.0); - result += mat4(0.041419264, -0.17622781, 0.028418267, 0.12114493, -0.23587078, 0.08457395, 0.014364018, -0.103271864, -0.051572207, -0.026424447, 0.16755055, -0.10763651, -0.033440586, 0.068594255, -0.050668504, 0.1941505) * go_2(-1.0, 0.0); - result += mat4(-0.2780181, 0.037816502, -0.11516711, -0.09822884, 0.13762361, -0.14317706, 0.14350282, 0.000623895, -0.08601606, 0.08118504, 0.15497385, -0.04721711, -0.008936935, -0.014223618, -0.09641698, -0.013884213) * go_2(-1.0, 1.0); - result += mat4(0.14349665, -0.03144472, -0.057813704, 0.0667044, 0.09026094, 0.051366236, 0.11139983, -0.015782114, -0.18314016, -0.18774192, 0.0014838242, 0.15759028, 0.062388215, 0.13626057, 0.02576217, -0.06317815) * go_2(0.0, -1.0); - result += mat4(0.07151769, 0.14508991, 0.1736844, -0.11487795, -0.07999805, -0.07797908, 0.037923355, -0.059138823, -0.23531209, -0.040207293, -0.068355694, -0.024296658, -0.114820175, 0.19726487, 0.21772414, 0.03659222) * go_2(0.0, 0.0); - result += mat4(0.16858695, -0.12135113, 0.009391182, -0.081519485, 0.13340487, 0.07007004, 0.094124354, 0.035519842, -0.3320139, -0.06624027, -0.14716229, -0.09205287, 0.12664132, -0.05655441, 0.0123263765, 0.04641279) * go_2(0.0, 1.0); - result += mat4(0.19018422, -0.15428329, -0.009354114, 0.04165953, 0.11024837, -0.107493006, -0.05807292, -0.048029456, 0.24319384, -0.10542357, -0.013699952, 0.06228662, -0.06808749, -0.023227982, 0.16528323, -0.05610251) * go_2(1.0, -1.0); - result += mat4(-0.008616222, 0.077674195, -0.08638503, 0.09293109, 0.072474636, 0.05004233, -0.20591061, -0.005301386, -0.15486047, 0.15038474, 0.1262478, 0.021724822, 0.02274613, -0.3088281, -0.08437887, -0.10684698) * go_2(1.0, 0.0); - result += mat4(-0.16960032, 0.09365251, -0.030414175, -0.010766254, 0.18181023, 0.12130318, 0.08913089, -0.06070321, 0.05200306, 0.092584535, 0.17694671, 0.033796314, -0.038107123, -0.04335955, -0.049443472, 0.30465958) * go_2(1.0, 1.0); - result += mat4(0.07661484, -0.009945252, 0.12866217, -0.07592757, -0.21030053, 0.014371748, -0.072458774, -0.04700072, 0.15534303, 0.2007125, -0.15699059, -0.032897495, 0.08110436, -0.11243608, 0.008632577, -0.10153441) * go_3(-1.0, -1.0); - result += mat4(-0.034697928, 0.06928288, -0.2796273, 0.14405379, 0.12248569, 0.036539096, 0.06607706, 0.077684596, -0.16473202, 0.1665916, -0.29977503, 0.21047153, 0.13114224, -0.091579035, -0.045458574, 0.03254245) * go_3(-1.0, 0.0); - result += mat4(0.053284872, 0.053366095, -0.26152626, -0.03123967, -0.031794485, 0.17670582, -0.07450994, 0.017521491, -0.040290453, 0.38342363, -0.25021288, -0.014660264, 0.1621895, 0.25041878, -0.12124821, 0.068036206) * go_3(-1.0, 1.0); - result += mat4(0.11366693, -0.030863572, -0.07411263, 0.12475283, -0.046070684, -0.09033321, 0.013222701, 0.06798592, -0.32814804, 0.057653826, -0.14082801, -0.00217398, -0.22856179, -0.19058353, -0.20992154, -0.03701372) * go_3(0.0, -1.0); - result += mat4(0.20345633, -0.1332355, 0.27152926, -0.13477845, -0.25242096, -0.28281286, 0.31289554, 0.14284514, 0.53362453, -0.46766588, 0.4518293, -0.39291728, -0.3573227, -0.014670052, 0.0051881406, 0.16552156) * go_3(0.0, 0.0); - result += mat4(-0.15017267, -0.07792945, -0.204405, 0.13964304, -0.13642666, -0.10228306, 0.03238279, -0.08689329, -0.072262034, -0.0258388, 0.05689183, 0.055701543, -0.19800112, 0.012217054, -0.033292748, -0.047611095) * go_3(0.0, 1.0); - result += mat4(-0.014704416, -0.12203891, 0.066083655, -0.1409769, 0.0041513643, -0.087383606, -0.17498164, 0.11327789, -0.25947225, -0.0016027623, 0.08202566, 0.042270098, 0.006429511, -0.26576808, -0.08461341, 0.049376782) * go_3(1.0, -1.0); - result += mat4(0.0695189, -0.14753938, 0.09578246, -0.16607563, -0.0105561055, 0.17166016, 0.027422488, -0.14175262, -0.009492696, -0.23449713, 0.018270867, 0.14635146, 0.33451268, 0.030959005, -0.46468422, 0.024256868) * go_3(1.0, 0.0); - result += mat4(-0.16865666, -0.00015881563, -0.054488145, -0.06222717, -0.032101758, 0.06485387, -0.0028512608, 0.046645947, 0.017593225, -0.19447896, -0.024742266, 0.03970127, 0.29845607, -0.16168733, 0.035172883, 0.07924657) * go_3(1.0, 1.0); - result += vec4(0.103826486, 0.045373913, 0.11565896, -0.06568643); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1851775, 0.053705044, 0.033816848, -0.018555025, -0.21204336, -0.01706974, 0.088259794, -0.13126148, 0.10729598, -0.043457437, 0.08634712, 0.09220895, 0.062131613, -0.01995871, 0.05181067, 0.18520063) * go_0(-1.0, -1.0); - result += mat4(0.1662002, -0.14197104, -0.052809287, 0.025287712, -0.08330898, -0.08998097, -0.15642618, -0.14941245, -0.03481203, 0.061857622, 0.26051775, -0.0005498248, 0.086427025, 0.024108192, -0.12418039, 0.022286376) * go_0(-1.0, 0.0); - result += mat4(0.058200672, -0.3073398, 0.17150162, -0.13394679, -0.075118184, -0.14607768, -0.006172172, 0.007731589, -0.21818224, -0.06449433, -0.038958784, 0.037722416, 0.28699976, -0.027563032, 0.23295315, 0.028444216) * go_0(-1.0, 1.0); - result += mat4(0.12871371, 0.0064904913, 0.14985761, -0.10923005, 0.17413563, 0.1599109, -0.08457703, 0.108153716, -0.08871187, -0.06661137, 0.2754416, -0.009667768, 0.39819396, 0.12392097, 0.14145902, 0.0019376524) * go_0(0.0, -1.0); - result += mat4(0.13893189, 0.12715353, 0.015191678, -0.21003054, -0.030412354, -0.01676613, -0.19799289, -0.006130075, 0.37676954, -0.14475077, -0.2065198, -0.30432892, -0.14944535, -0.09121536, -0.107600585, -0.24462196) * go_0(0.0, 0.0); - result += mat4(-0.11653076, -0.0068671284, -0.02249137, -0.17877012, -0.15063138, -0.13514869, 0.107643366, -0.03196477, -0.086422764, 0.3079287, 0.17584166, -0.032449376, -0.06917114, -0.2682637, -0.18978168, -0.037039287) * go_0(0.0, 1.0); - result += mat4(0.12014731, -0.030360512, -0.12954475, -0.110275604, -0.077214256, 0.019689744, 0.22149551, -0.002266716, 0.09697784, -0.124532826, -0.16776511, -0.034212478, -0.36935154, 0.016926935, 0.1363609, 0.20415346) * go_0(1.0, -1.0); - result += mat4(-0.11199535, -0.001692563, -0.09058429, -0.08437503, 0.092625685, 0.06046257, 0.25509837, -0.011657033, -0.17949764, -0.10718947, -0.1180669, -0.24681842, -0.1747311, 0.0014518246, -0.042863015, 0.06103357) * go_0(1.0, 0.0); - result += mat4(0.14979295, -0.037154514, 0.01957725, 0.012282435, 0.09168596, -0.05552286, 0.111671515, 0.0078630615, -0.10319766, -0.06416261, -0.23097566, -0.13931875, 0.2110811, 0.013095802, -0.2306504, -0.025639111) * go_0(1.0, 1.0); - result += mat4(-0.10091975, -0.10095426, -0.023449723, -0.022170888, 0.054953706, -0.13049407, 0.08289061, 0.023241632, 0.08735388, -0.0058387457, 0.17897247, 0.011434436, 0.008181139, -0.0034718404, -0.015372735, -0.07657766) * go_1(-1.0, -1.0); - result += mat4(-0.023442164, 0.07535702, 0.024391165, -0.050532013, 0.044168636, 0.0062343236, -0.019756999, -0.009695123, 0.10102337, 0.0052776975, -0.14944167, -0.060957722, 0.24367364, -0.08069369, 0.12170072, -0.047048368) * go_1(-1.0, 0.0); - result += mat4(-0.18376935, -0.08407229, -0.12943378, 0.0738419, -0.12404976, -0.13367929, 0.11265896, -0.021353, 0.003783386, 0.50088304, 0.14058582, 0.041053623, 0.038247623, -0.014179976, 0.007905778, -0.042492237) * go_1(-1.0, 1.0); - result += mat4(-0.046272535, 0.052449115, 0.17190954, -0.004745371, -0.045572635, -0.09292636, 0.36309823, 0.16673928, -0.099154025, -0.109614775, 0.17803112, 0.19907133, -0.14306267, 0.06898593, 0.11493454, 0.06795014) * go_1(0.0, -1.0); - result += mat4(0.26181114, -0.044014625, -0.21605036, -0.08646438, 0.21038742, -0.084986, 0.0504626, 0.17514943, -0.25218952, -0.18691514, 0.057650108, 0.08653614, -0.101205684, 0.03176334, 0.18569492, 0.17973189) * go_1(0.0, 0.0); - result += mat4(-0.0339215, 0.20112811, -0.12986277, 0.028961731, -0.056813832, 0.04451147, -0.07827432, -0.0860976, 0.096853435, 0.3483546, -0.35758162, -0.11749375, -0.035918653, 0.06140711, -0.08520154, 0.02418808) * go_1(0.0, 1.0); - result += mat4(-0.09643022, -0.10491069, 0.0068604187, 0.023679713, 0.096521445, -0.29323488, 0.33353668, 0.112864286, -0.1172182, -0.07233183, 0.06607239, 0.08589609, 0.055790007, 0.14396138, -0.14191268, 0.00034840964) * go_1(1.0, -1.0); - result += mat4(0.15357164, -0.038462736, 0.08143956, 0.1744909, 0.40503287, -0.114508316, 0.003937322, 0.2536635, -0.042445306, -0.15622465, 0.09155284, 0.010992155, -0.20646071, 0.022801135, 0.08894491, 0.069300614) * go_1(1.0, 0.0); - result += mat4(-0.12663515, 0.023849454, -0.053604446, 0.12082873, -0.247968, -0.020969635, -0.03831894, -0.014617553, 0.22630337, 0.037801865, 0.052950703, 0.04285706, -0.14487264, 0.20786528, -0.08719664, 0.1752347) * go_1(1.0, 1.0); - result += mat4(-0.073527604, -0.050752833, 0.051830504, 0.32868716, 0.17474994, 0.016937364, -0.08792601, -0.024481766, -0.022229593, 0.030706186, 0.09213566, -0.076506205, 0.073404044, 0.10368055, -0.175889, -0.08453031) * go_2(-1.0, -1.0); - result += mat4(-0.06838216, 0.007698341, 0.063972116, -0.015604406, 0.16135305, 0.18044342, 0.024137018, -0.23326185, 0.13235588, -0.009096587, -0.058368143, -0.077040404, 0.0011419816, -0.09246194, 0.061036937, 0.049564146) * go_2(-1.0, 0.0); - result += mat4(0.023225296, -0.00060856267, -0.07775185, 0.016958566, -0.2641349, -0.08263046, -0.15350416, -0.30203494, 0.113956556, -0.010813236, -0.017738314, -0.13689043, -0.10318342, 0.025793184, -0.010336172, 0.09733422) * go_2(-1.0, 1.0); - result += mat4(-0.04462596, 0.052866418, -0.34754288, 0.05540498, -0.24492586, -0.32016864, 0.18145293, 0.24873725, 0.32388234, -0.034801524, -0.1347588, -0.07565546, 0.015183539, 0.05059595, 0.08090056, 0.05930932) * go_2(0.0, -1.0); - result += mat4(0.045346696, -0.052527856, 0.052270077, 0.13417454, 0.05200045, 0.028119288, 0.005115497, 0.22952151, -0.2158375, 0.12241308, 0.3507457, 0.08616576, 0.07592416, 0.28470486, 0.3432788, 0.24857087) * go_2(0.0, 0.0); - result += mat4(0.21311626, 0.052607164, 0.1248861, 0.20193806, 0.045226507, 0.14512901, -0.15103437, -0.17926466, 0.11657411, -0.32711068, -0.16332194, -0.07793982, -0.21802668, 0.5183869, -0.13567342, 0.07823041) * go_2(0.0, 1.0); - result += mat4(0.00796368, 0.048073012, -0.14537893, -0.021708772, 0.036246423, 0.1062395, 0.12605369, 0.007073524, -0.1572743, 0.07439501, 0.089162275, -0.0039608316, 0.332032, -0.05461242, -0.17615359, -0.10240517) * go_2(1.0, -1.0); - result += mat4(0.20636982, -0.0024615112, -0.10625786, 0.024270926, 0.061810836, -0.13585201, -0.16581286, 0.23549418, 0.01928842, 0.07404979, -0.054449487, 0.04096373, 0.046939734, 0.003980803, 0.02111498, 0.064925276) * go_2(1.0, 0.0); - result += mat4(0.10485388, 0.06850885, -0.11292169, 0.16991565, -0.15282536, 0.124175504, -0.050431166, -0.06689582, -0.00059811946, 0.033696912, 0.11055047, 0.033060126, -0.17472714, 0.0048819613, -0.04478706, -0.1344572) * go_2(1.0, 1.0); - result += mat4(-0.20473132, 0.056477875, 0.059559986, 0.115130566, -0.058425788, -0.035971727, 0.08334707, -0.096510135, -0.23206294, 0.10635798, -0.21575621, -0.07063254, 0.03877511, -0.107549034, 0.22248401, 0.21702304) * go_3(-1.0, -1.0); - result += mat4(-0.02557767, 0.09886609, -0.100499466, 0.16687396, -0.084830604, 0.03150401, -0.049512494, 0.05595696, -0.13193256, -0.08585273, 0.14247662, 0.12290477, -0.07168309, 0.14531752, -0.048359327, 0.27716598) * go_3(-1.0, 0.0); - result += mat4(0.13297586, 0.20674329, 0.14469388, 0.08981846, -0.004231366, -0.02819193, 0.15470329, 0.17299837, 0.113062344, -0.22716297, -0.21754944, -0.00083956274, -0.14160508, 0.1808253, 0.11268379, 0.27335623) * go_3(-1.0, 1.0); - result += mat4(0.07497518, -0.06799594, -0.018158078, -0.00038999433, -0.15169668, -0.06928238, -0.33672288, -0.105485775, 0.33106267, 0.06698315, 0.019718744, -0.06810211, -0.35186404, -0.29145968, -0.056863394, 0.21498048) * go_3(0.0, -1.0); - result += mat4(-0.013215512, -0.24763754, 0.20965266, 0.1068435, -0.13234195, 0.053566497, 0.05061848, -0.28645232, 0.15518288, 0.23247199, 0.017553907, -0.25181335, -0.048030723, -0.06663929, -0.111026704, -0.12663394) * go_3(0.0, 0.0); - result += mat4(-0.010501938, -0.17995767, 0.06010859, 0.050185587, 0.108627126, -0.101203434, 0.07558728, 0.060466755, -0.106942676, -0.35854608, 0.16015992, 0.16823332, -0.06543775, -0.37310675, 0.014043972, -0.18328045) * go_3(0.0, 1.0); - result += mat4(0.09712849, 0.013983463, 0.07291423, 0.031715546, 0.030862397, 0.045510456, -0.22066842, 0.063464865, 0.11721659, -0.10596602, -0.20611264, 0.052158818, -0.3961766, -0.03781582, 0.17633812, 0.1316111) * go_3(1.0, -1.0); - result += mat4(-0.25029674, 0.07153423, -0.35125682, -0.18255402, -0.19569087, 0.00432772, -0.0969035, -0.24648514, -0.0040922165, 0.037500706, -0.038137026, 0.056214277, -0.048258524, 0.03567822, -0.05033007, -0.24696785) * go_3(1.0, 0.0); - result += mat4(-0.03465209, -0.012495964, 0.22782089, 0.012034795, 0.2916752, 0.08264436, 0.15387125, -0.1473455, -0.15614432, 0.05536727, -0.027079755, 0.010725311, -0.03325222, -0.089212805, -0.10559839, -0.19647683) * go_3(1.0, 1.0); - result += vec4(0.0001705175, -0.031081453, 0.010100773, -0.027214011); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.026301445, -0.021575214, 0.22165509, 0.059994068, 0.03341161, 0.1831188, 0.20342293, 0.110160105, 0.03908121, 0.020673111, 0.07239561, 0.038754333, 0.15266368, 0.16526422, 0.062376205, -0.09759537) * go_0(-1.0, -1.0); - result += mat4(0.19817191, 0.10267733, 0.17744653, 0.23283184, 0.18810122, 0.2708428, -0.12651879, 0.020756349, 0.039632563, -0.22201295, 0.04873703, 0.09159713, 0.13838065, 0.21169297, 0.30816007, 0.044463675) * go_0(-1.0, 0.0); - result += mat4(-0.27859214, 0.07277634, 0.0021458792, 0.0089682285, -0.069680706, 0.090415835, -0.057762265, 0.18703683, -0.03514389, -0.102816254, -0.036509827, 0.038066104, -0.0168311, 0.094478935, 0.04079697, -0.049064912) * go_0(-1.0, 1.0); - result += mat4(-0.20913245, -0.110538535, -0.08584027, -0.1222067, 0.05414807, -0.045247085, 0.07351766, -0.002078549, -0.1270987, -0.10164512, -0.1857815, 0.08845066, -0.03743333, -0.098948084, 0.21244387, 0.10441866) * go_0(0.0, -1.0); - result += mat4(0.015990427, 0.36396438, -0.24094687, 0.30236533, -0.13271736, 0.06057376, -0.19678196, -0.28577125, -0.25427434, -0.08400598, 0.07284403, -0.18552442, -0.16425897, 0.097259276, -0.32386774, -0.2190484) * go_0(0.0, 0.0); - result += mat4(-0.004581924, -0.13954072, -0.122360416, 0.14132866, -0.08529257, -0.013296556, 0.0848472, 0.09336581, 0.10332182, -0.016313016, 0.07103558, 0.032564916, -0.13478759, -0.20207484, 0.12986964, 0.1219679) * go_0(0.0, 1.0); - result += mat4(0.09817874, -0.10573357, 0.100535244, 0.19608764, -0.13303067, 0.024192972, -0.030689823, 0.02574889, 0.051233094, 0.03489235, -0.18465245, -0.06943822, -0.031604882, 0.1519888, 0.09348508, 0.09187296) * go_0(1.0, -1.0); - result += mat4(-0.21365458, -0.23696984, 0.13097638, -0.09435498, 0.16467983, -0.066370346, 0.1269104, -0.095128186, 0.09954892, 0.12489504, -0.43418056, 0.106512725, -0.17860703, -0.07114084, -0.07630834, -0.26642478) * go_0(1.0, 0.0); - result += mat4(-0.009044342, 0.02711196, -0.14873673, 0.015405045, 0.0071443473, -0.025285944, 0.07409282, 0.06338527, 0.0149676185, 0.011741382, -0.2133069, -0.028912885, 0.19420496, 0.039629057, 0.057636812, 0.15214856) * go_0(1.0, 1.0); - result += mat4(0.07629928, 0.25540486, -0.050925937, -0.18136702, 0.02261603, 0.22343902, 0.003270321, 0.10735731, -0.12541203, -0.10208828, 0.012832783, 0.2591262, 0.08122926, -0.009837677, 0.10308358, 0.19236866) * go_1(-1.0, -1.0); - result += mat4(0.0896358, 0.27571487, 0.04406029, -0.047453407, -0.08587119, 0.16366854, 0.20622262, 0.08347545, -0.3501584, -0.28434548, -0.07592983, 0.09098784, 0.07605388, 0.09677056, 0.0015295541, 0.05102585) * go_1(-1.0, 0.0); - result += mat4(0.18255898, 0.18618028, 0.0017002645, -0.013004655, -0.06436534, 0.13967068, 0.063077755, -0.10632303, -0.20803222, -0.028537111, -0.03144366, -0.08555215, 0.05154303, 0.02431626, 0.15246728, -0.013708507) * go_1(-1.0, 1.0); - result += mat4(-0.020998938, -0.05026291, 0.03700117, 0.00830308, -0.1949294, 0.0026698054, -0.034649856, 0.19784226, -0.083901435, -0.069783084, -0.1504053, 0.16595264, -0.07480141, 0.16067508, 0.06010996, -0.021359695) * go_1(0.0, -1.0); - result += mat4(-0.040828142, -0.20158486, 0.034770954, -0.1894161, 0.11665004, 0.29729164, -0.10584386, 0.13165873, -0.18863006, -0.26719162, -0.047613148, -0.12728356, -0.2033613, 0.10550052, 0.20095508, -0.11275811) * go_1(0.0, 0.0); - result += mat4(-0.0785033, -0.1896073, -0.051492307, -0.1694358, 0.1368308, 0.049355216, -0.05707422, 0.079159185, 0.024578957, -0.0923136, 0.089215435, 0.28670043, 0.027932687, 0.06510816, 0.10810999, 0.05990052) * go_1(0.0, 1.0); - result += mat4(0.08135192, 0.0001326522, -0.16098668, -0.18663193, -0.10280192, 0.078255914, 0.047648013, 0.08326376, 0.055962667, 0.06302574, -0.080121025, -0.031820554, -0.019117938, 0.12515336, 0.09794088, -0.03276838) * go_1(1.0, -1.0); - result += mat4(0.280923, 0.24079335, 0.007883573, 0.06270414, 0.3055441, 0.19291803, -0.16041607, 0.14836526, 0.0013885222, 0.04538063, 0.10742898, -0.064491205, 0.048174977, 4.237692e-05, -0.15194727, 0.024381457) * go_1(1.0, 0.0); - result += mat4(-0.0009164131, -0.031949926, 0.0076425644, -0.036870714, -0.0031292974, 0.017726978, -0.20172147, -0.0770472, 0.26379177, 0.108997814, 0.08069395, 0.2126177, 0.012075376, -0.029457828, 0.062730506, -0.15754452) * go_1(1.0, 1.0); - result += mat4(0.09167904, -0.2657421, -0.03443356, 0.03315832, -0.015365421, -0.1029612, -0.108251, 0.04261033, -0.097120754, -0.05616668, -0.09275983, 0.024902184, 0.050058514, -0.013761632, 0.07555132, -0.0046676896) * go_2(-1.0, -1.0); - result += mat4(-0.10743835, -0.0007361781, -0.042085417, -0.08237517, -0.10094376, -0.24007876, 0.13924706, -0.07526801, 0.01158322, 0.15491122, 0.0069442675, -0.004242352, 0.11429785, 0.02994726, -0.11829945, -0.04108612) * go_2(-1.0, 0.0); - result += mat4(0.073622055, -0.064717196, -0.0025231615, 0.13256475, 0.20159899, 0.047977835, -0.10289233, -0.18419135, -0.00888952, 0.059428576, -0.053062655, -0.02730631, 0.14545685, -0.08686949, 0.17454128, 0.035443828) * go_2(-1.0, 1.0); - result += mat4(-0.010146019, 0.06712568, 0.12614638, 0.023590917, 0.025756737, 0.06603747, -0.17108095, -0.06179699, 0.027241204, -0.13196802, 0.043475866, -0.0397495, 0.05306092, 0.035672903, 0.047219284, -0.16680142) * go_2(0.0, -1.0); - result += mat4(0.079427816, -0.06716479, 0.19028603, -0.19694683, -0.061598092, -0.07471188, 0.21170339, 0.30140215, -0.0023369973, 0.04688297, -0.14154115, 0.19283508, 0.1339858, -0.09116279, 0.15305163, 0.029108394) * go_2(0.0, 0.0); - result += mat4(-0.14902157, -0.03339153, -0.08532003, -0.10736339, 0.08702709, 0.07607574, -0.09955836, -0.016585784, -0.030078214, -0.060374748, -0.2854279, 0.02441719, 0.034877967, 0.2099041, 0.11125731, -0.059071556) * go_2(0.0, 1.0); - result += mat4(-0.08436325, 0.06893047, -0.045362443, -0.02237741, -0.07583875, -0.034830183, -0.024008518, -0.2882329, -0.011109783, 0.101859994, 0.091137715, 0.0020565533, -0.044729806, -0.18168025, 0.069466636, 0.04994174) * go_2(1.0, -1.0); - result += mat4(0.11915174, 0.089596465, -0.18965814, 0.015218237, 0.13500094, 0.19921367, -0.008298205, 0.29650384, -0.049439427, -0.27590424, 0.36169067, -0.030582754, 0.02151196, 0.019915426, 0.04543398, 0.16126189) * go_2(1.0, 0.0); - result += mat4(0.1620274, -0.08264547, 0.082442135, -0.0034478644, 0.09888509, -0.0034957859, -0.107241705, -0.17729597, -0.05138647, 0.02052103, -0.019507123, 0.037574988, -0.1694345, 0.17871588, -0.22510391, 0.019049853) * go_2(1.0, 1.0); - result += mat4(-0.10962245, -0.1329873, -0.060855392, 0.025941676, -0.19536193, -0.120365486, -0.04313703, -0.052912965, 0.20854498, 0.08341353, 0.008687068, -0.20432276, 0.15677948, -0.19000018, 0.01821201, -0.041512605) * go_3(-1.0, -1.0); - result += mat4(0.012287526, -0.14180368, -0.098788455, 0.025949089, 0.09442778, 0.2247651, -0.12453263, 0.10435483, 0.274603, 0.06133054, 0.10506106, 0.14727746, -0.048299775, -0.082819685, 0.07319359, -0.047460355) * go_3(-1.0, 0.0); - result += mat4(-0.070726536, -0.034744017, 0.07521428, 0.070649154, -0.05958955, -0.100232825, -0.010651838, 0.045392875, 0.2930271, -0.04952355, 0.3112155, 0.117203265, 0.025166962, 0.11176862, 0.06716659, 0.07175864) * go_3(-1.0, 1.0); - result += mat4(-0.011560962, -0.14032063, -0.17424704, 0.07652749, -0.04220116, 0.052874275, -0.00225693, -0.031843517, -0.07520102, -0.13775803, 0.2449317, 0.069658786, 0.052280303, -0.105218224, 0.03574522, -0.020500354) * go_3(0.0, -1.0); - result += mat4(0.08793712, 0.26712346, 0.08315631, 0.23813692, -0.04439029, 0.031587064, 0.09561177, -0.13380238, -0.24982157, 0.31701845, -0.3875432, 0.10487225, 0.09201869, -0.037252493, -0.006935219, -0.14650282) * go_3(0.0, 0.0); - result += mat4(0.077635325, 0.13732299, -0.071563005, 0.096517466, -0.15051986, -0.111744404, 0.03996857, -0.052670125, -0.1819665, 0.054554947, -0.13774712, -0.20061246, -0.0023742192, 0.15647805, -0.024121126, 0.075497724) * go_3(0.0, 1.0); - result += mat4(0.0073632775, -0.06535298, 0.039895996, 0.20666869, 0.13625242, 0.04823007, -0.07135618, 0.04787906, 0.01383074, 0.15382123, -0.15519714, 0.056721795, 0.061946746, -0.0586851, 0.028934354, -0.02264129) * go_3(1.0, -1.0); - result += mat4(-0.19791882, -0.111910924, -0.010451344, -0.30566537, -0.1416239, -0.14523096, 0.116883226, -0.18241516, 0.2680614, -0.18487626, 0.17472346, 0.08346682, -0.14510359, -0.029229192, -0.005879142, 0.050247498) * go_3(1.0, 0.0); - result += mat4(0.030153519, -0.092469186, -0.022912916, 0.10200855, -0.04237032, -0.05917764, 0.10479645, -0.05619482, -0.18949397, -0.019547248, 0.013868889, -0.1524476, 0.14048979, -0.032521486, 0.1322921, 0.070972025) * go_3(1.0, 1.0); - result += vec4(0.012053958, -4.6962363e-05, 0.0020099226, -0.033494607); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06738501, 0.034009207, -0.21538448, 0.14296548, 0.12896985, -0.23526315, -0.08848608, 0.019602662, 0.14937137, 0.11353096, 0.11884168, -0.016765572, 0.030985225, 0.046430565, 0.06614828, -0.19202724) * go_0(-1.0, -1.0); - result += mat4(-0.10326068, 0.11014975, 0.17069744, -0.21474148, 0.16761585, 0.13434832, -0.101021074, 0.006307025, 0.07478008, -0.1060066, 0.035315692, 0.033488914, -0.24906659, 0.06269967, 0.11120735, -0.040928528) * go_0(-1.0, 0.0); - result += mat4(0.09334615, 0.057705753, 0.12213245, -0.06402275, 0.30694544, 0.034585163, 0.20345578, 0.07489286, 0.07483618, -0.14240396, 0.034846418, -0.03811241, 0.010882573, 0.13204294, 0.017563924, -0.047203008) * go_0(-1.0, 1.0); - result += mat4(-0.21673942, -0.024010994, -0.10238504, -0.041160326, 0.06838163, -0.20950818, 0.06526309, -0.079094924, 0.02208821, -0.28130978, 0.086275116, -0.089067616, 0.12133826, -0.062600106, -0.020521903, -0.07654401) * go_0(0.0, -1.0); - result += mat4(-0.03055029, -0.15683146, -0.20331301, -0.06252028, 0.13350682, 0.20338707, 0.038425338, 0.1581342, -0.27322498, -0.14999662, -0.16681097, 0.0971585, -0.20014858, -0.081635274, -0.0781877, -0.20625232) * go_0(0.0, 0.0); - result += mat4(0.38375977, -0.019825654, 0.1886721, 0.22616312, 0.3402173, 0.1825304, -0.05531195, 0.30973226, -0.2676023, 0.14413352, 0.021706983, 0.01732799, 0.23466855, -0.13805965, 0.22570935, 0.018103868) * go_0(0.0, 1.0); - result += mat4(-0.15169825, 0.0270689, -0.2503316, 0.17289825, -0.16437647, 0.039233048, -0.35572487, -0.048393793, 0.19270042, 0.24260359, 0.12041881, -0.0009793913, 0.11656858, 0.11007414, -0.0757491, 0.047933612) * go_0(1.0, -1.0); - result += mat4(-0.18657999, -0.11252566, -0.05237504, -0.07368097, 0.13882741, -0.13710637, -0.006996468, -0.062354874, 0.23452504, 0.15333645, -0.0022776406, -0.17910439, 0.03629509, -0.16264829, -0.010011833, -0.15313338) * go_0(1.0, 0.0); - result += mat4(-0.060544558, -0.04913478, -0.061717357, 0.02323648, 0.28739056, -0.07434013, 0.19110644, 0.100050166, 0.0073363045, 0.08185653, -0.024797903, -0.14424153, -0.20838726, 0.16154376, -0.048517212, -0.025453888) * go_0(1.0, 1.0); - result += mat4(0.14975396, -0.13142908, 0.36210674, -0.054021083, -0.10632155, 0.045697935, -0.18946633, 0.02228141, -0.08919603, 0.09800842, -0.17634438, 0.09512711, -0.03425503, -0.12298555, -0.05354435, -0.17112055) * go_1(-1.0, -1.0); - result += mat4(0.09958265, -0.057276618, -0.16262266, -0.06415915, 0.14579074, -0.36784375, 0.08034197, -0.04537706, 0.005460582, 0.22313322, 0.07382161, 0.014990379, 0.044636846, -0.2811128, -0.22621547, -0.06044004) * go_1(-1.0, 0.0); - result += mat4(0.10569276, -0.03738662, 0.16100396, 0.058593616, -0.048862137, -0.08796426, 0.20101094, -0.11039573, 0.17196764, -0.04601554, 0.008571281, -0.073729075, 0.051433694, -0.051276565, 0.087334655, -0.0360379) * go_1(-1.0, 1.0); - result += mat4(0.011119538, -0.28781965, 0.28637868, -0.1742508, -0.07121849, 0.10379717, 0.012615981, -0.029563965, -0.18678424, 0.05291095, 0.039143506, -0.028248642, -0.014103922, 0.029155696, 0.10433492, 0.16305852) * go_1(0.0, -1.0); - result += mat4(-0.2231037, -0.13697462, -0.29124337, 0.08519773, 0.15893684, -0.17763218, 0.06950923, 0.34361118, -0.024844287, 0.044008408, -0.033844844, -0.086971916, -0.07884748, 0.2543499, 0.056884114, 0.10068364) * go_1(0.0, 0.0); - result += mat4(-0.07710048, -0.23218372, 0.04346047, 0.21769643, 0.06473219, -0.18066105, -0.2511205, 0.15309611, 0.04535977, 0.16450433, 0.10846344, 0.0016952346, -0.010874939, 0.28966382, -0.121990964, 0.12956186) * go_1(0.0, 1.0); - result += mat4(-0.007910202, 0.17766511, 0.14364475, 0.1016258, 0.0051045395, 0.18691733, 0.005813767, -0.0070582186, 0.019418601, -0.1604435, 0.016088275, -0.18265302, -0.15719391, -0.17369832, -0.036745597, -0.19647408) * go_1(1.0, -1.0); - result += mat4(0.08938396, -0.0073808245, 0.11225727, -0.012303106, 0.096785046, 0.030483445, 0.027719889, -0.052584838, -0.14887555, -0.03422243, 0.12646855, -0.1722482, 0.010239037, 0.06406088, -0.20053658, 0.01964698) * go_1(1.0, 0.0); - result += mat4(-0.120734036, -0.12450362, -0.06582111, 0.1639675, -0.19787048, -0.08049789, -0.014257596, 0.058436662, -0.0009387449, -0.08698089, -0.017400503, 0.06295286, 0.09890349, -0.057190523, -0.103520766, -0.04207548) * go_1(1.0, 1.0); - result += mat4(-0.0118413875, -0.031288836, 0.09749554, -0.012266401, -0.07998591, 0.22615653, -0.06207416, 0.03257896, -0.076378696, -0.079426095, -0.13968349, -0.15423697, -0.1091681, -0.02893125, -0.032659534, -0.063735925) * go_2(-1.0, -1.0); - result += mat4(0.119372696, 0.013176554, -0.029381052, 0.21919228, 0.045041792, 0.24844484, 0.26363325, 0.08480674, 0.087083444, 0.11984778, -0.088715754, 0.06421046, 0.05225977, -0.05140334, -0.055052705, -0.049854077) * go_2(-1.0, 0.0); - result += mat4(0.0035781674, 0.0861361, -0.07675145, -0.056479637, 0.16973391, -0.12113791, 0.10729832, -0.03773517, 0.058618728, 0.12148276, 0.17260705, -0.06968724, 0.076358154, -0.15307103, 0.17700425, -0.13467014) * go_2(-1.0, 1.0); - result += mat4(-0.02752418, -0.06366472, -0.025610954, 0.0013539721, -0.06465272, 0.0806373, -0.07336035, 0.10114861, 0.0041146413, 0.15878421, -0.044668555, -0.12150811, -0.1071482, -0.05086587, 0.18589285, 0.05065092) * go_2(0.0, -1.0); - result += mat4(0.07200056, 0.021739854, 0.29476613, -0.08475931, 0.15018553, -0.07886365, 0.36336347, -0.020576432, 0.25866082, -0.059272554, 0.054249667, -0.17822553, 0.1755872, 0.3244387, -0.39173844, 0.33894604) * go_2(0.0, 0.0); - result += mat4(-0.11570926, 0.1342677, -0.19511898, 0.0075454637, -0.01890476, -0.14239742, 0.18921931, 0.033990458, 0.31306365, -0.006998358, 0.029190077, -0.005679954, -0.15341778, 0.07766778, -0.25691047, -0.0964161) * go_2(0.0, 1.0); - result += mat4(0.019746238, 0.0021332854, -0.00879096, -0.1338671, -0.0001600663, -0.29465106, 0.0867611, -0.114963025, 0.07874301, -0.012734178, -0.11124061, -0.010926616, -0.04941506, -0.07516841, 0.116663, -0.29018974) * go_2(1.0, -1.0); - result += mat4(-0.01651721, 0.05955898, 0.023618208, 0.098695934, 0.018553663, -0.054378513, 0.1436929, 0.1693743, -0.27483663, 0.029127488, 0.09619316, -0.06109113, -0.08619361, 0.09315214, -0.02478657, 0.18544984) * go_2(1.0, 0.0); - result += mat4(0.09570196, -0.016528936, -0.1559397, 0.14312246, 0.04029428, 0.08773151, -0.043646842, 0.17894371, -0.082413055, 0.0027082344, -0.100171275, 0.01547501, 0.18122818, -0.11933676, 0.26404107, -0.3169703) * go_2(1.0, 1.0); - result += mat4(-0.12073344, 0.08683522, -0.09249099, 0.058786053, -0.14480567, -0.121013954, 0.033335857, 0.009353379, -0.055087596, -0.13002734, 0.08890566, 0.05508963, -0.0075715426, -0.15936922, -0.03968994, -0.1690259) * go_3(-1.0, -1.0); - result += mat4(0.2011206, 0.23898427, 0.23656492, 0.1287573, 0.14850396, 0.40532517, -0.107408255, 0.40119782, 0.099813245, -0.03830304, 0.101520434, -0.026478073, -0.048469637, 0.106440455, 0.056632314, -0.17825997) * go_3(-1.0, 0.0); - result += mat4(-0.076735444, 0.05965795, -0.0052469415, -0.21785147, 0.11887833, 0.067560315, 0.051149055, 0.23626682, -0.1297049, -0.035512198, 0.20352256, -0.025064934, 0.04958706, 0.0454198, 0.0113334535, 0.0417486) * go_3(-1.0, 1.0); - result += mat4(-0.09055751, 0.033915352, -0.21836667, 0.22006813, -0.099022895, 0.11720966, -0.15686816, -0.13586599, -0.094427735, -0.08831514, -0.06182928, 0.09213704, -0.03642064, 0.18129414, -0.012926811, 0.12179882) * go_3(0.0, -1.0); - result += mat4(0.19389409, 0.09512252, 0.14768016, -0.16623649, -0.031052284, -0.026814984, 0.106168024, -0.2026781, -0.04581419, -0.0016849053, -0.04101923, 0.038959503, -0.011938445, 0.20096186, -0.26666564, 0.4824324) * go_3(0.0, 0.0); - result += mat4(0.17727576, 0.07309147, 0.12131863, -0.163096, 0.17225246, 0.26256254, 0.27685758, 0.09094053, 0.029605515, -0.20217367, 0.047564875, 0.043115832, 0.15089568, -0.09670934, 0.24131384, 0.03337442) * go_3(0.0, 1.0); - result += mat4(-0.34192136, 0.12063195, -0.31159517, 0.04170889, -0.30147067, -0.21330686, -0.1514457, -0.121126845, 0.04409098, 9.2206596e-05, 0.027680017, 0.03230512, -0.27993527, -0.093485355, 0.07568645, -0.23585452) * go_3(1.0, -1.0); - result += mat4(0.0537712, -0.20847629, 0.1740093, -0.013894753, -0.32719997, -0.059484575, -0.006098233, -0.10336451, -0.14706188, -0.07424865, -0.07045905, 0.17093194, -0.22147557, 0.09086218, -0.11033544, -0.05306482) * go_3(1.0, 0.0); - result += mat4(0.00489003, -0.11509064, -0.021005848, 0.16637677, -0.089347586, 0.17545725, -0.17313693, 0.13742085, -0.14577347, 0.07951095, -0.092139855, 0.017118992, -0.053472433, 0.079414465, 0.0330263, -0.11189824) * go_3(1.0, 1.0); - result += vec4(-0.034743138, 0.012946433, -0.082333155, 0.07721756); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.25835788, 0.050451655, -0.1845038, -0.07232528, 0.1323318, 0.26276684, 0.10842882, -0.083056524, 0.17426784, -0.3594826, 0.2728965, 0.08388844, -0.004007842, 0.020535901, -0.051425606, 0.07750436) * go_0(-1.0, -1.0); - result += mat4(-0.11410436, 0.014572361, -0.27057216, -0.023974562, 0.05234827, 0.15328228, -0.17502303, -0.3199359, 0.12188045, -0.095813684, 0.024145132, 0.0856916, -0.027453909, -0.043129764, 0.16971985, 0.021623038) * go_0(-1.0, 0.0); - result += mat4(0.06611095, 0.038625732, -0.13717118, -0.04497733, 0.15213469, 0.04770935, 0.0729271, -0.062052976, 0.004571303, 0.035141192, -0.059409596, 0.044652313, 0.17520894, 0.09665589, -0.1479193, 0.06528058) * go_0(-1.0, 1.0); - result += mat4(-0.1845968, 0.091479465, -0.09394898, -0.13545018, -0.029501775, -0.21426639, 0.09255898, 0.1257644, 0.20256902, 0.06267267, 0.10378081, 0.13494423, 0.058310498, 0.03642236, -0.16268995, -0.048100803) * go_0(0.0, -1.0); - result += mat4(0.2155119, -0.3683131, 0.049449228, -0.20559964, -0.11761922, -0.2518804, -0.020712897, 0.12895772, -0.07543782, 0.5805017, -0.11301444, -0.038493153, -0.06710986, -0.09321189, 0.108671665, -0.03259695) * go_0(0.0, 0.0); - result += mat4(0.035307787, 0.108389005, -0.27493554, 0.27029404, 0.25523573, -0.28636125, -0.20766719, -0.008661457, -0.004480811, -0.046390545, -0.16221444, 0.008979624, -0.061375532, 0.035076566, -0.018924266, 0.01380219) * go_0(0.0, 1.0); - result += mat4(-0.051922515, -0.12463486, -0.10383422, 0.02220095, -0.1573033, 0.13980615, 0.13248625, -0.16803266, -0.0692132, -0.21552645, 0.13744529, 0.23034313, 0.0052666534, 0.028977966, 0.07720251, -0.06477756) * go_0(1.0, -1.0); - result += mat4(-0.14097473, 0.2770271, -0.172289, -0.03000696, -0.028684044, 0.040578447, -0.2290285, 0.082329154, -0.042402364, -0.20926563, 0.08233207, 0.11862443, -0.07038536, -0.02273004, 0.091550544, -0.065856494) * go_0(1.0, 0.0); - result += mat4(0.14879914, -0.023923844, -0.23569296, 0.20306346, 0.17502785, 0.28776234, -0.2788995, 0.10012439, -0.05635638, -0.025840463, 0.09222198, 0.118032, 0.08057015, 0.1286071, 0.060189806, -0.052669708) * go_0(1.0, 1.0); - result += mat4(0.07076086, -0.15111323, -0.07427972, 0.008372168, -0.17791592, -0.16254742, 0.013961132, -0.0944912, -0.23380096, 0.17377278, -0.09683394, 0.019931393, -0.12042098, 0.0016406325, 0.09393333, -0.06882231) * go_1(-1.0, -1.0); - result += mat4(0.21465093, 0.04142968, 0.06840044, -0.37831602, -0.05549571, 0.044905066, -0.07873589, -0.026804, -0.34764197, 0.022487951, -0.077293746, 0.089457795, -0.110094436, 0.24233972, 0.06285107, -0.10851744) * go_1(-1.0, 0.0); - result += mat4(0.093270175, 0.084138945, 0.03938272, 0.063565865, -0.010733802, 0.13554469, -0.06650261, 0.033002816, 0.011187271, -0.12821455, 0.20785914, -0.030438649, -0.124710515, -0.022294303, 0.09732408, 0.057609864) * go_1(-1.0, 1.0); - result += mat4(-0.12833868, 0.021577539, -0.02700365, 0.11799592, -0.03655647, -0.04225167, 0.11049353, -0.16036157, 0.049277548, -0.033842396, 0.10020137, 0.095509745, 0.08060231, -0.09237418, -0.035598125, -0.035926737) * go_1(0.0, -1.0); - result += mat4(-0.32829186, 0.3492363, 0.030671779, -0.12606762, 0.010437313, 0.2757115, -0.21517593, -0.15800527, -0.12592544, -0.20578934, 0.10444053, 0.12993255, -0.046079267, 0.03834173, -0.19277227, -0.22124454) * go_1(0.0, 0.0); - result += mat4(-0.052546192, 0.026082167, 0.13831234, 0.10982424, 0.012946818, -0.12439852, 0.10134106, -0.10050398, -0.04472338, -0.14325236, -0.20579574, 0.0044005127, 0.22013672, -0.32955512, 0.12404084, -0.008160738) * go_1(0.0, 1.0); - result += mat4(-0.10774314, -0.31650826, -0.06601711, 0.19635755, -0.12622592, -0.06396423, 0.13856032, 0.16540553, 0.021387719, 0.23377723, -0.053738154, -0.1000186, -0.08338395, -0.052813534, 0.008122962, 0.13732094) * go_1(1.0, -1.0); - result += mat4(-0.18270823, 0.06966014, -0.17788303, -0.27303055, -0.077971615, 0.013978423, -0.02039098, 0.12715338, -0.11924171, 0.18900296, -0.085199654, 0.215198, 0.18587974, -0.009749325, 0.0173584, -0.12018259) * go_1(1.0, 0.0); - result += mat4(0.052129295, -0.107416354, 0.12711766, 0.03708665, -0.14369462, -0.055359814, -0.16639823, -0.045143317, -0.06925672, -0.040696755, 0.01999809, -0.016040625, -0.02484878, 0.07417094, 0.050875198, 0.2145528) * go_1(1.0, 1.0); - result += mat4(0.055696912, -0.16680926, -0.021987487, 0.024941636, -0.0927883, 0.022136632, 0.033782948, -0.10646058, -0.14944647, 0.25457275, 0.046682496, -0.022462368, -0.07886781, 0.08165927, 0.06848105, 0.0063734027) * go_2(-1.0, -1.0); - result += mat4(0.037053242, 0.033215813, 0.18291366, 0.12340375, 0.08491059, -0.28442004, -0.0127422465, -0.039834313, -0.23321372, 0.26676926, -0.05636355, -0.15672484, -0.12891728, -0.15486577, -0.032004442, -0.092745155) * go_2(-1.0, 0.0); - result += mat4(0.015779478, -0.18457565, 0.24996394, 0.036197674, 0.15694007, 0.15863103, -0.07332398, 0.0016235278, -0.15536517, -0.056062788, 0.14102836, 0.16915025, -0.08001087, 0.07073164, 0.13796777, 0.123867124) * go_2(-1.0, 1.0); - result += mat4(0.045792986, -0.15135059, -0.1354885, -0.043678258, -0.35655212, 0.51232076, -0.12816145, -0.046569496, -0.014127674, -0.06282611, -0.098873, -0.06359104, -0.0919222, 0.11822437, 0.079254694, 0.00579688) * go_2(0.0, -1.0); - result += mat4(-0.15683417, 0.61610246, -0.3024612, 0.12917964, -0.09303367, 0.23612969, -0.40842506, -0.12374661, -0.07572449, -0.2613284, -0.09970177, -0.015227848, 0.106239066, -0.21411185, 0.051998455, -0.1364518) * go_2(0.0, 0.0); - result += mat4(0.23850034, -0.14394449, -0.0031468747, -0.2380617, -0.027200876, -0.041352056, -0.01864445, 0.033848196, -0.12064239, -0.110480845, 0.08450956, -0.22328654, 0.17664163, 0.22268307, 0.050886698, -0.17475672) * go_2(0.0, 1.0); - result += mat4(-0.17808256, 0.010803805, 0.03315186, 0.033143792, -0.14205995, 0.25039625, -0.08784382, -0.13454252, 0.19576813, 0.10755282, 0.22821628, 0.019456752, -0.0422955, -0.016182603, -0.12066697, 0.0548465) * go_2(1.0, -1.0); - result += mat4(0.11563777, -0.257929, 0.0010403778, 0.080267854, -0.0025255163, 0.2855168, -0.060352214, -0.07816255, -0.00090574916, 0.049510725, 0.03720483, 0.059250016, -0.08674136, 0.20522198, -0.28694284, 0.1299507) * go_2(1.0, 0.0); - result += mat4(-0.14638457, 0.04063328, 0.03139636, -0.007934521, 0.07689684, -0.09467145, 0.10607347, 0.054510128, 0.003306194, 0.05347124, 0.062762424, -0.041480847, -0.07677865, -0.139573, 0.010972524, 0.21957156) * go_2(1.0, 1.0); - result += mat4(-0.026845628, -0.043439507, 0.034738723, 0.07281683, 0.14474197, 0.031586993, -0.22767854, -0.0707655, 0.105201736, -0.28805482, 0.008668302, -0.16329518, 0.06157049, 0.3803886, 0.26345953, -0.011096537) * go_3(-1.0, -1.0); - result += mat4(-0.23328833, 0.085731484, -0.07755016, 0.33559516, 0.07704345, 0.115106605, -0.24114038, -0.44630137, 0.2726737, -0.32170138, -0.009236524, -0.11666051, 0.0457048, 0.07876708, 0.13134004, -0.035318643) * go_3(-1.0, 0.0); - result += mat4(-0.05140272, 0.011605703, 0.13899171, -0.05071015, 0.18413687, -0.31413674, -0.13043414, -0.15118152, -0.15326938, -0.10720126, -0.23738635, 0.13481396, 0.25115076, -0.009316611, -0.2584441, -0.14389823) * go_3(-1.0, 1.0); - result += mat4(-0.039723795, -0.14869407, -0.1692942, 0.026501274, -0.10685166, -0.121267825, -0.08584318, -0.09580693, -0.10626739, -0.068417974, 0.11321909, -0.13664317, 0.061380867, -0.2587898, 0.14850819, 0.008178645) * go_3(0.0, -1.0); - result += mat4(0.06912782, 0.24230564, -0.048150286, 0.2203717, -0.17417085, 0.105546735, -0.16648416, -0.0045053074, 0.09764028, 0.37122592, -0.1939995, -0.27899942, -0.088152565, -0.53869057, 0.21676709, -0.08056594) * go_3(0.0, 0.0); - result += mat4(0.07651754, 0.03704878, -0.0197015, 0.1660726, 0.07002748, -0.11820414, -0.23360898, 0.1481592, 0.029847002, 0.054057185, 0.013176299, 0.06552942, -0.13865773, -0.20105527, -0.37550658, 0.005769631) * go_3(0.0, 1.0); - result += mat4(-0.22697811, -0.17426412, 0.10148018, 0.008134666, 0.10771455, 0.16943407, -0.016319012, -0.40176705, -0.06854668, -0.049045276, 0.20919096, 0.13240765, -0.050125647, 0.14902508, 0.052697595, -0.13817468) * go_3(1.0, -1.0); - result += mat4(0.04301619, 0.23184754, -0.023551717, 0.3768405, 0.028999053, 0.06709736, -0.05993663, -0.059861984, 0.15499207, -0.22217415, 0.111131504, -0.09082529, -0.19389243, 0.024621522, -0.15305442, 0.010799284) * go_3(1.0, 0.0); - result += mat4(-0.035496738, 0.010802548, -0.028718363, 0.19263634, 0.16900502, -0.16661702, -0.027631328, 0.18309957, -0.015860107, -0.03309961, -0.091390446, 0.14000848, -0.0036591904, 0.47659522, -0.09373507, -0.29020965) * go_3(1.0, 1.0); - result += vec4(0.08895955, -0.027667087, 0.20500831, 0.00037762933); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.018134737, -0.2296755, -0.07276725, -0.029795367, 0.05382051, 0.092847414, -0.024469728, -0.1674685, 0.0017946451, 0.30074653, 0.0034195695, -0.04892261, 0.18229689, -0.20116119, -0.12702174, -0.08259108) * go_0(-1.0, -1.0); - result += mat4(-0.1357695, -0.08149211, 0.09314453, -0.21966846, 0.34740716, 0.043606415, 0.04225903, 0.034449834, 0.17248215, 0.39148283, -0.13868807, -0.010550686, 0.044238456, -0.09693464, -0.005044985, 0.24383289) * go_0(-1.0, 0.0); - result += mat4(0.19959371, 0.098685324, 0.058746945, 0.010580748, 0.08051514, 0.031898864, 0.017556064, 0.13004355, -0.01727653, 0.11044019, 0.040673427, -0.20064595, -0.23321067, 0.06398686, -0.19126236, -0.2430858) * go_0(-1.0, 1.0); - result += mat4(-0.12870286, -0.113455534, 0.23722827, 0.070718594, 0.19049989, -0.1927299, -0.06343845, 0.113127775, 0.082530305, -0.10972526, -0.090779535, 0.05731582, 0.11018802, -0.18049154, 0.09269507, -0.10304576) * go_0(0.0, -1.0); - result += mat4(0.15513484, 0.06659583, 0.08125296, -0.012350324, -0.09492788, 0.5048303, 0.13206847, 0.39554298, 0.28953737, -0.20913891, -0.26781562, -0.17539899, 0.023778774, 0.29716817, 0.15768486, 0.37702608) * go_0(0.0, 0.0); - result += mat4(0.0724462, 0.015571356, -0.032217246, 0.0050658924, -0.22708446, 0.03968809, 0.016753826, 0.0025668752, -0.055932112, 0.113931604, 0.19766758, -0.030027265, -0.17384295, 0.15013468, -0.0070017707, -0.09469028) * go_0(0.0, 1.0); - result += mat4(-0.078361556, -0.0954201, -0.006358101, 0.040500037, 0.4190454, -0.17622913, -0.07234791, 0.05462559, 0.18641087, 0.058313597, -0.0180785, 0.13818781, -0.14640772, 0.0699486, 0.0073663946, -0.076789856) * go_0(1.0, -1.0); - result += mat4(-0.21421191, 0.08736062, 0.09041226, 0.03608585, 0.02769972, 0.09641289, 0.11824623, 0.05653645, 0.16464607, 0.19839554, -0.13379547, 0.054417104, 0.067530684, 0.18971571, 0.13785432, -0.097639814) * go_0(1.0, 0.0); - result += mat4(-0.32658005, -0.14606023, -0.069448665, 0.032998275, -0.28331423, 0.0011900732, -0.020304207, -0.13535896, 0.08298347, 0.045509677, -0.030503955, -0.037504148, 0.049955815, 0.0925771, 0.00058534974, -0.12398032) * go_0(1.0, 1.0); - result += mat4(-0.2955836, 0.29059318, -0.018196672, -0.35866606, -0.01309431, 0.03540315, 0.010609202, 0.11956812, 0.10296229, 0.22536302, 0.015201129, -0.23797737, -0.16960852, -0.11414787, -0.034440614, 0.112644605) * go_1(-1.0, -1.0); - result += mat4(-0.14952518, 0.07024436, -0.083184876, -0.0814617, -0.13303639, 0.016159372, -0.13521518, 0.2221334, -0.056617837, 0.12958299, 0.064461656, -0.20146395, -0.16023181, 0.2640758, 0.27528805, -0.1426518) * go_1(-1.0, 0.0); - result += mat4(-0.04382363, 0.09856003, -0.08561442, -0.15699928, -0.121069774, 0.04685383, -0.009170197, -0.031489655, 0.18730178, 0.238442, 0.22497098, 0.032015145, -0.03709115, 0.1535079, 0.21674158, 0.10678019) * go_1(-1.0, 1.0); - result += mat4(-0.12200952, 0.24224263, 0.034097504, -0.028179523, -0.011962496, -0.04489487, -0.05198827, 0.22194928, -0.045400873, -0.049828544, 0.111477956, -0.098361604, 0.12788995, -0.016093334, -0.19886433, -0.011161484) * go_1(0.0, -1.0); - result += mat4(0.30563712, 0.013071727, -0.004799883, 0.12888052, -0.259498, -0.041566677, 0.07311124, 0.162324, 0.28371668, -0.004693743, -0.0019395344, 0.029358242, 0.08730285, 0.12184509, 0.05508437, 0.048439097) * go_1(0.0, 0.0); - result += mat4(0.12760857, 0.115813166, -0.217695, -0.10629871, -0.227366, 0.09030426, -0.15313712, 0.020528946, -0.20743734, 0.088583544, 0.04594053, -0.22891994, 0.18949282, -0.042186577, -0.17330512, -0.010711361) * go_1(0.0, 1.0); - result += mat4(0.029503195, 0.0063797613, -0.17004286, -0.096844055, 0.010218098, 0.04247233, 0.02362808, 0.14700809, -0.08082364, 0.11159672, -0.018505255, -0.15228583, 0.15693732, -0.025359154, 0.024829186, 0.1943192) * go_1(1.0, -1.0); - result += mat4(-0.03912932, -0.21989027, 0.12203028, 0.18702275, -0.118537985, 0.21039696, 0.09102061, 0.012288879, 0.031666897, 0.1318455, -0.04901404, -0.07516063, -0.44782668, 0.04884501, 0.047070876, 0.008728358) * go_1(1.0, 0.0); - result += mat4(-0.08669101, 0.3053463, -0.08963947, 0.0034188698, -0.070004664, 0.064788476, 0.093737036, 0.070050925, 0.12728429, -0.13179256, -0.014913502, 0.09308136, -0.027638942, 0.008638711, 0.08794172, -0.05531093) * go_1(1.0, 1.0); - result += mat4(0.0728421, 0.07872358, 0.11454748, 0.08497922, 0.071820416, -0.11789207, -0.08184197, 0.1359588, -0.2143346, -0.05876081, 0.023172129, -0.08430511, -0.19276723, 0.14283359, 0.15604696, -0.055187486) * go_2(-1.0, -1.0); - result += mat4(0.068641685, 0.2732106, -0.2809107, 0.12736696, -0.08642367, 0.023898933, -0.17859498, -0.18299665, -0.06684587, -0.12204666, 0.45898953, -0.24240111, 0.25182098, -0.04395751, 0.10637211, -0.22135144) * go_2(-1.0, 0.0); - result += mat4(0.0852072, 0.051133018, 0.03333165, -0.0008938216, 0.10251267, 0.0550774, 0.041769378, -0.21259712, 0.286912, 0.123342015, 0.282759, -0.0730124, 0.14275575, -0.15580742, -0.15224406, 0.045376908) * go_2(-1.0, 1.0); - result += mat4(0.03328225, 0.11563978, -0.07451964, 0.030546209, -0.04698351, -0.18544962, 0.037350416, 0.13969816, 0.0556746, -0.06359919, 0.06478219, -0.031694926, 0.13396506, 0.09443612, -0.01922686, -0.06290365) * go_2(0.0, -1.0); - result += mat4(0.07495407, 0.063429266, -0.106221214, -0.085107304, 0.2497817, -0.46598253, -0.18833177, -0.2731128, -0.13024822, 0.56053543, 0.055704467, -0.12331414, -0.031199086, 0.05061188, 0.22097112, -0.6611177) * go_2(0.0, 0.0); - result += mat4(0.08276988, -0.044184342, -0.03562185, -0.06159881, 0.27694225, -0.07192965, -0.08663714, 0.020221777, 0.14095962, -0.06229397, 0.051374253, -0.038158998, 0.10664802, -0.041305423, 0.051260717, -0.054698635) * go_2(0.0, 1.0); - result += mat4(0.12800686, 0.03485072, 0.039914366, 0.034041498, -0.08305794, -0.046292894, 0.22765331, 0.10904922, 0.0013937047, -0.08750301, 0.009126207, -0.065589435, 0.2837707, 0.08884436, -0.07234862, -0.093502745) * go_2(1.0, -1.0); - result += mat4(0.113439895, 0.06081726, 0.1122302, -0.022936966, 0.10329637, -0.31816107, -0.051597945, 0.23846027, -0.083913095, -0.29872265, -0.040147282, -0.08981918, -0.04329814, -0.12339693, -0.034489952, 0.013393211) * go_2(1.0, 0.0); - result += mat4(0.33091688, 0.1726297, 0.034332044, -0.091396205, 0.15434311, -0.0022870845, -0.15506189, 0.08710491, -0.16063525, 0.042252056, 0.017086457, 0.08134797, 0.08631321, 0.037843138, 0.088296555, 0.0064518084) * go_2(1.0, 1.0); - result += mat4(0.09161051, 0.114355795, -0.15304486, -0.030537153, 0.1835368, -0.3287635, 0.031197926, 0.09717476, 0.04276852, 0.113250345, 0.05949038, -0.10599563, 0.43574792, -0.060788117, 0.18409383, 0.12678055) * go_3(-1.0, -1.0); - result += mat4(-0.018356865, -0.0072578182, 0.12020777, -0.013127592, 0.20136636, -0.22984362, 0.06896224, 0.00044982752, 0.008428429, -0.123316936, -0.09989286, 0.078248784, -0.16313677, -0.003020313, -0.46285018, -0.08967125) * go_3(-1.0, 0.0); - result += mat4(-0.03451497, -0.10864502, 0.13207638, 0.17194521, 0.0037514758, -0.20222199, -0.12535086, 0.001511977, 0.056294486, -0.2112898, 0.078261316, 0.10118746, -0.044742294, 0.21793383, -0.19927903, -0.21338293) * go_3(-1.0, 1.0); - result += mat4(-0.034903776, -0.10167085, 0.031066334, 0.0379958, 0.20532596, -0.17457838, 0.16556816, -0.0021619152, 0.02682665, 0.03396325, -0.059273884, 0.1922813, -0.072151475, -0.010240544, 0.2302027, 0.12385962) * go_3(0.0, -1.0); - result += mat4(-0.20170145, -0.08203941, -0.028107846, -0.18003726, 0.44744352, -0.13190243, 0.13233365, 0.03626546, 0.085763134, -0.25613126, -0.11213388, 0.15529087, -0.271649, 0.050587676, -0.062583975, 0.057289865) * go_3(0.0, 0.0); - result += mat4(-0.040649455, -0.17949733, 0.35847965, -0.040587306, 0.24314344, -0.23811667, 0.13958354, 0.04961874, 0.09858903, -0.04202913, -0.21850993, 0.0700419, -0.09130745, -0.096835814, 0.0022782686, -0.25416258) * go_3(0.0, 1.0); - result += mat4(-0.08215545, -0.019647893, 0.055263475, 0.053733055, 0.098485716, -0.1041945, -0.06541415, -0.08868577, -0.07262986, 0.03513784, -0.110529095, -0.03369232, 0.056786604, 0.2569229, -0.05931065, -0.22081214) * go_3(1.0, -1.0); - result += mat4(0.066926084, 0.029664058, -0.10779271, 0.11026963, 0.23927264, -0.16914488, 0.022947345, 0.12303853, -0.07066212, -0.013205378, 0.15348643, 0.035568032, 0.20966691, 0.010149819, -0.08814468, -0.064854674) * go_3(1.0, 0.0); - result += mat4(0.11493852, -0.074924305, -0.14840698, -0.16956823, 0.056806292, -0.06387947, -0.06880271, -0.04637334, -0.1929893, 0.18226422, 0.064644486, -0.1594863, 0.027403917, 0.13951495, -0.06569123, -0.07700207) * go_3(1.0, 1.0); - result += vec4(-0.043347504, -0.20504741, -0.037821215, -0.014486937); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.047881734, -0.09396414, -0.2839081, 0.3140853, 0.052613556, 0.09940423, 0.23960467, -0.022228222, -0.12065009, 0.07898222, 0.08657881, 0.010852739, -0.050450284, 0.01683982, 0.031813968, 0.053060856) * go_0(-1.0, -1.0); - result += mat4(-0.10252411, -0.03116448, -0.30114275, -0.0316799, -0.017501019, -0.03006003, -0.2095696, 0.10134927, -0.3901916, -0.15335023, -0.11955071, 0.1337449, 0.101239376, -0.25044814, 0.2128469, 0.018979514) * go_0(-1.0, 0.0); - result += mat4(-0.13392173, 0.052036732, 0.1682114, -0.026263753, 0.027221246, -0.15121374, 0.13723798, 0.08950682, -0.1182108, -0.07294226, 0.023392374, 0.052329235, -0.05632852, -0.07036173, 0.06872573, 0.05238042) * go_0(-1.0, 1.0); - result += mat4(0.18112028, 0.18242362, -0.06812871, 0.032463413, 0.124638766, -0.26765212, -0.07678663, 0.33806562, 0.09674393, 0.15574542, 0.23634006, -0.02873782, -0.1626769, -0.14760062, -0.007274849, 0.09866139) * go_0(0.0, -1.0); - result += mat4(-0.10726673, -0.10925056, 0.19967109, -0.19936769, 0.15942842, -0.14870064, 0.15493345, -0.08489036, -0.49053356, -0.17321263, 0.28426084, 0.18721215, -0.09898434, -0.2751838, -0.11833524, 0.028445128) * go_0(0.0, 0.0); - result += mat4(-0.11788817, -0.23724948, -0.046072144, 0.035621114, 0.04527003, -0.0073492974, 0.11097195, 0.06806836, 0.04814677, -0.1408476, -0.1325629, 0.00929532, -0.16699041, -0.03034791, 0.08320368, -0.15429299) * go_0(0.0, 1.0); - result += mat4(0.2729515, 0.008244692, -0.17441982, -0.39026466, 0.17381759, 0.31194404, 0.055934936, 0.20744409, 0.20119062, 0.0734271, 0.0796807, 0.0031037466, -0.0016392237, 0.033733975, 0.07149338, 0.042083208) * go_0(1.0, -1.0); - result += mat4(0.07985744, 0.10945015, 0.018472541, 0.1397503, 0.2005682, 0.42641, 0.23022486, -0.2916921, 0.028285174, -0.31885162, -0.27070364, -0.10390779, 0.0751492, 0.12752363, -0.2279459, 0.08998453) * go_0(1.0, 0.0); - result += mat4(0.18450491, -0.140783, -0.008006845, 0.09029298, 0.12536179, 0.26949662, 0.09491545, 0.063907005, 0.11212244, 0.09778506, -0.1835966, -0.053119674, 0.0072294096, 0.25018227, 0.010868525, -0.22721334) * go_0(1.0, 1.0); - result += mat4(-0.028011927, -0.20073172, 0.5976166, -0.19494139, 0.17958745, -0.03838646, 0.058325976, -0.29409218, -0.12793432, 0.03245129, 0.35662368, -0.05048354, -0.13368197, -0.06151968, -0.012714591, -0.1763054) * go_1(-1.0, -1.0); - result += mat4(0.18468465, 0.31682113, 0.12818255, -0.117110476, 0.13709468, -0.10034022, -0.07994527, -0.1259309, 0.04067299, -0.1147398, 0.28361055, 0.27916273, 0.03696692, 0.16829546, 0.27819383, 0.08305029) * go_1(-1.0, 0.0); - result += mat4(-0.28920117, -0.033877946, 0.01586206, 0.04681198, 0.024248574, -0.045777842, -0.03342128, 0.07525412, -0.063377544, -0.016737273, 0.11235511, -0.04325238, -0.24170023, -0.09993599, -0.03205371, 0.14339828) * go_1(-1.0, 1.0); - result += mat4(-0.008357902, -0.11038377, 0.03709221, 0.26775306, 0.07963845, -0.25377446, -0.17630441, -0.10966474, 0.057311732, -0.083327, 0.044497233, 0.06903858, -0.26531395, -0.103399664, -0.14806591, 0.269314) * go_1(0.0, -1.0); - result += mat4(0.05450808, -0.041993964, -0.07217651, 0.034468375, 0.2117634, 0.0075620585, 0.05825411, -0.2252478, -0.0527787, 0.049732126, -0.032040413, -0.09361454, 0.29585132, 0.018413153, 0.18384546, -0.024226356) * go_1(0.0, 0.0); - result += mat4(-0.031109914, 0.19351351, 0.07405522, -0.06313074, -0.09983541, -0.011495182, 0.11749038, -0.16775608, 0.2790974, -0.09338754, 0.07913264, 0.103792936, -0.18679164, -0.15639925, 0.112943865, 0.07930375) * go_1(0.0, 1.0); - result += mat4(0.004106195, -0.036833283, 0.12908752, 0.12869535, -0.02472107, 0.17561707, -0.025890926, -0.18789047, 0.096218705, -0.16306408, -0.02198454, -0.010134957, -0.09710009, 0.002062143, -0.046785697, 0.0029441968) * go_1(1.0, -1.0); - result += mat4(0.19648251, -0.015663045, -0.0730215, 0.028611008, 0.13529862, -0.015256192, -0.04119306, -0.24628192, 0.02601027, -0.21184283, -0.1962902, 0.09109358, -0.06792383, 0.092336476, 0.12215351, -0.08596062) * go_1(1.0, 0.0); - result += mat4(-0.17530201, -0.0351919, -0.31872514, -0.13933206, -0.07000922, -0.049807087, 0.0010997375, -0.033573963, 0.07442056, -0.33290103, -0.40381998, 0.09435, -0.3280128, -0.09953127, -0.11283648, 0.20685865) * go_1(1.0, 1.0); - result += mat4(-0.052573867, -0.035328753, -0.11132943, -0.17515652, 0.05021051, 0.058642425, -0.046640664, 0.0799107, -0.027398815, -0.33619994, -0.22135767, 0.07894002, -0.14941697, -0.0940996, -0.11655085, 0.049795926) * go_2(-1.0, -1.0); - result += mat4(-0.039301276, 0.041062318, 0.20312686, -0.009338705, 0.013706282, -0.0245852, 0.03458311, 0.09601228, -0.18203016, -0.012260314, 0.17984508, -0.056576703, -0.102844186, 0.24047872, 0.05307189, 0.16066082) * go_2(-1.0, 0.0); - result += mat4(0.1478775, 0.0046362123, 0.05459521, 0.07162838, -0.01896149, 0.23700175, -0.14174299, 0.06988599, -0.32545477, -0.08065096, -0.061227743, -0.0010796773, 0.094327345, -0.20760082, -0.19523263, 0.19859222) * go_2(-1.0, 1.0); - result += mat4(-0.049676366, -0.10381536, 0.02546116, -0.13127093, 0.10954914, 0.0048147943, 0.06962328, -0.30456528, -0.11956627, 0.0150488885, -0.10711722, 0.1684613, -0.1939089, -0.10577047, -0.11980919, -0.036988296) * go_2(0.0, -1.0); - result += mat4(-0.054795764, 0.09491116, -0.08494948, 0.059765853, 0.0131597435, 0.20786162, 0.11999637, 0.024381055, 0.22830428, 0.027053319, -0.011646274, -0.12145409, -0.07899559, -0.012688263, 0.10684157, 0.3824219) * go_2(0.0, 0.0); - result += mat4(-0.23994572, -0.0031532666, -0.0050638164, 0.14236279, 0.05690383, -0.06259682, 0.052624144, 0.20461404, -0.19230312, -0.11072268, 0.013023965, 0.08931543, -0.21997221, 0.11760443, -0.40943825, 0.28656834) * go_2(0.0, 1.0); - result += mat4(-0.06606179, 0.26007771, 0.033754125, 0.119690455, 0.024669139, -0.06752839, 0.12688096, -0.0063201943, -0.17123021, 0.07548857, -0.14213699, 0.034093797, -0.15632647, -0.123243414, -0.42634043, 0.1715022) * go_2(1.0, -1.0); - result += mat4(-0.046503466, 0.13876389, 0.17973013, -0.25938338, -0.18824704, -0.11876702, 0.31065792, -0.041042212, -0.061369427, 0.2057992, 0.17295738, 0.3836555, -0.21109799, -0.10167118, 0.16577047, 0.113483034) * go_2(1.0, 0.0); - result += mat4(-0.24534856, -0.014482421, 0.22515748, -0.12773542, 0.12794174, -0.02528619, 0.41710484, 0.09154934, -0.17805946, -0.25428918, 0.07294183, 0.047079418, -0.30949152, -0.08919157, 0.17888431, 0.17706038) * go_2(1.0, 1.0); - result += mat4(-0.1741826, 0.046225294, -0.10761791, 0.2619953, 0.007373745, 0.05104337, -0.22309966, 0.34529984, -0.034363825, -0.022187237, -0.08609555, 0.16842419, 0.28136057, 0.17843607, -0.11307746, -0.05668021) * go_3(-1.0, -1.0); - result += mat4(-0.12310616, -0.29661375, -0.10581025, -0.049584012, 0.19651765, 0.08436489, -0.14533581, -0.029874112, -0.15422897, -0.062741704, -0.22694711, -0.15547274, -0.15181333, 0.0286061, 0.022438493, -0.062447168) * go_3(-1.0, 0.0); - result += mat4(0.3497046, -0.09455009, 0.060618952, -0.2134236, 0.054515295, 0.07451165, -0.09267233, -0.010513333, 0.13842636, 0.11563433, -0.054750167, 0.050432, 0.1514256, 0.04284002, -0.2095581, 0.07907657) * go_3(-1.0, 1.0); - result += mat4(-0.11745651, -0.04717057, 0.085377194, -0.065956995, 0.07280491, 0.2730059, 0.11088276, 0.2437957, 0.14018989, 0.1164107, -0.09516929, 0.0022427947, 0.111544006, -0.0680495, 0.09324579, -0.12482022) * go_3(0.0, -1.0); - result += mat4(-0.07995795, -0.03387884, 0.019846136, 0.10231208, -0.07017192, 0.18659039, 0.035161644, 0.101182766, -0.14901665, 0.21307294, 0.063894205, -0.27546507, -0.24792959, -0.067731075, 0.13146006, -0.19333683) * go_3(0.0, 0.0); - result += mat4(0.034206454, 0.1472648, -0.07406727, 0.014654025, 0.18703444, 0.1319857, -0.10610886, 0.08427947, -0.017536618, -0.06487879, -0.12095286, -0.050414838, 0.03260879, 0.1558894, -0.031887084, 0.11840288) * go_3(0.0, 1.0); - result += mat4(0.114811294, -0.14574333, -0.09392587, 0.042283528, 0.08919092, 0.18259068, 0.0980717, 0.21024778, -0.1280008, -0.027260462, -0.1129027, 0.18722472, 0.13733985, 0.047153983, 0.030871978, 0.1998385) * go_3(1.0, -1.0); - result += mat4(-0.06783575, 0.004612595, 0.1153467, -0.11531557, -0.048889533, 0.07673577, -0.02041786, 0.22744459, -0.13092506, 0.13484807, 0.40003043, -0.053706612, -0.16985156, -0.04791236, -0.052443005, -0.08363625) * go_3(1.0, 0.0); - result += mat4(0.18187882, 0.017893985, 0.17856054, 0.005413129, 0.014147176, 0.15102178, 0.12436294, -0.02176765, -0.16727823, -0.0364111, 0.17074408, 0.12899421, 0.31984514, -0.0072070034, 0.031895883, -0.1991405) * go_3(1.0, 1.0); - result += vec4(-0.011865144, 0.11717201, -0.13823777, -0.059450272); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.082203194, 0.021720003, 0.03725474, -0.08048348, 0.2063248, -0.033020593, -0.17585336, 0.06476272, 0.012244563, 0.026554609, 0.014708393, 0.26606125, 0.14248778, 0.12817341, -0.039826933, -0.12751861) * go_0(-1.0, -1.0); - result += mat4(0.24573852, 0.19695967, -0.06257417, -0.04782871, 0.3511875, -0.018083302, -0.077342674, 0.15247667, 0.20321761, -0.07479984, -0.09548503, 0.08109568, -0.23808748, 0.07246303, -0.004242619, 0.16162953) * go_0(-1.0, 0.0); - result += mat4(0.13296306, 0.19495387, 0.009222276, 0.033592198, 0.20443891, 0.16063854, -0.2581601, -0.016132578, -0.2296461, -0.23647323, -0.15407176, -0.18265317, 0.2343241, -0.049697313, -0.09398783, 0.41931856) * go_0(-1.0, 1.0); - result += mat4(-0.10866088, -0.40605694, -0.0042648134, 0.07943803, 0.26914695, 0.14816476, 0.037706107, -0.123223364, -0.19962949, -0.053534556, -0.08397409, -0.04244924, -0.075791344, 0.29629225, 0.2311928, 0.099177904) * go_0(0.0, -1.0); - result += mat4(-0.1748319, -0.2003186, -0.32659066, -0.21007413, 0.20122464, 0.032196607, -0.026299698, 0.33395135, 0.11411664, 0.05971959, 0.09001304, -0.15936212, 0.012322024, 0.19936106, -0.411186, -0.08319479) * go_0(0.0, 0.0); - result += mat4(-0.07349218, 0.006184436, 0.096199185, -0.050186496, 0.064047046, -0.03813128, -0.057007037, -0.025550695, -0.2863145, -0.008512981, -0.20615962, 0.18009211, 0.008298396, 0.22452813, 0.010843521, 0.20169461) * go_0(0.0, 1.0); - result += mat4(0.2691149, 0.059546687, 0.08922005, 0.2252196, 0.30341956, -0.024489028, 0.087045394, -0.03856442, -0.14083561, -0.17683443, 0.14137806, 0.15520614, 0.2073925, -0.19525874, 0.23661858, 0.3098405) * go_0(1.0, -1.0); - result += mat4(0.006530723, 0.04180736, -0.04762067, -0.064395495, 0.02396811, -0.13332283, 0.0037775645, 0.026309434, 0.0033065109, -0.08315753, 0.02917419, 0.12330464, 0.22819455, -0.07489677, 0.12829056, -0.097994626) * go_0(1.0, 0.0); - result += mat4(-0.09983759, 0.032783493, 0.11085758, 0.08993078, -0.057110567, -0.018973934, -0.14946178, -0.03921629, 0.039757587, 0.015860094, 0.04989561, -0.19634786, 0.04351146, 0.019315343, 0.25972188, 0.17989321) * go_0(1.0, 1.0); - result += mat4(-0.04111906, -0.165601, 0.0003682197, -0.056232415, -0.32716644, -0.24015541, -0.057547837, 0.05966729, 0.06854747, 0.03599213, -0.18798864, 0.1183447, 0.014268468, -0.1310834, 0.06415977, -0.19414157) * go_1(-1.0, -1.0); - result += mat4(-0.00070661673, 0.17671427, 0.10584568, -0.060910843, -0.104282066, -0.22676118, -0.01907062, 0.24882245, -0.043454725, 0.07691623, -0.48371696, 0.013537671, -0.025488405, 0.061228953, 0.18548754, 0.028671112) * go_1(-1.0, 0.0); - result += mat4(-0.0121596735, 0.09595702, -0.08244918, -0.1176173, 0.26773354, -0.021729136, 0.075465776, -0.0928876, 0.12461298, 0.16830076, -0.15302569, 0.113850676, 0.09811088, 0.13006307, 0.24999009, 0.10261325) * go_1(-1.0, 1.0); - result += mat4(-0.032246377, 0.038265374, -0.26476422, -0.1442876, -0.19866082, 0.08649541, 0.041478764, 0.11155026, 0.21576422, -0.09572912, -0.11174068, -0.19722937, -0.15801935, 0.29604745, -0.08606268, -0.15532136) * go_1(0.0, -1.0); - result += mat4(-0.06315591, 0.16151646, -0.009230362, -0.04341246, 0.09085519, 0.21924476, 0.38044852, 0.193819, 0.16622902, 0.0025134624, -0.22688466, -0.025276015, 0.07714917, 0.16302192, -0.11767101, -0.11086476) * go_1(0.0, 0.0); - result += mat4(-0.04170153, 0.001859292, -0.26352355, 0.10982333, -0.031867817, 0.15773517, -0.060263418, 0.11117763, -0.017359972, 0.0127261225, 0.0782802, -0.16908924, 0.080516845, -0.05691526, -0.07530135, -0.14553802) * go_1(0.0, 1.0); - result += mat4(0.06112685, -0.032287434, 0.17445667, -0.044935808, -0.11449107, -0.051394563, -0.029589338, -0.14555557, 0.03440661, 0.11035615, -0.17175, -0.14851089, 0.037362, -0.18740481, 0.17278154, 0.18073405) * go_1(1.0, -1.0); - result += mat4(-0.27670652, 0.19484822, 0.2609349, 0.1455016, 0.04438468, 0.1449185, 0.11185832, -0.18598269, -0.019846648, 0.11886126, -0.098498635, 0.15737785, 0.011406795, -0.18860829, -0.13705735, 0.17535745) * go_1(1.0, 0.0); - result += mat4(-0.30244905, -0.28695273, 0.1146976, 0.21144345, -0.037980128, -0.027679864, -0.13992494, -0.04884521, -0.032023884, -0.07921183, -0.16042095, -0.06935386, -0.06570237, -0.1107404, -0.018163798, 0.22625941) * go_1(1.0, 1.0); - result += mat4(-0.07292955, -0.07321777, -0.045146503, -0.33291966, -0.096732594, -0.07203495, 0.33692798, 0.2870733, 0.122160144, -0.076574564, 0.042844944, 0.26448342, 0.07672146, -0.028775277, -0.12088313, 0.15583947) * go_2(-1.0, -1.0); - result += mat4(0.21589327, 0.05258274, 0.09705794, -0.024653846, -0.039402515, 0.28485695, 0.14711736, -0.10556087, -0.15140481, 0.09039498, 0.017308712, 0.11862922, 0.08230978, 0.21678248, -0.043815188, -0.226433) * go_2(-1.0, 0.0); - result += mat4(-0.029258793, 0.26618922, 0.02564014, -0.23189862, -0.24074338, -0.18556763, 0.25973624, 0.04746873, 0.0137007125, -0.22239363, -0.12414957, 0.048228756, -0.22406264, 0.282667, -0.021001073, -0.17465611) * go_2(-1.0, 1.0); - result += mat4(0.32401654, -0.1495363, -0.20869227, 0.04271639, -0.0087802755, 0.031325378, 0.23834595, 0.039336167, 0.17265107, 0.20947595, 0.28737286, 0.0028783784, -0.057340365, -0.050347418, -0.11915604, -0.1831807) * go_2(0.0, -1.0); - result += mat4(0.1811338, 0.07732653, 0.20975596, -0.47129005, 0.07121942, 0.08410583, 0.44170937, -0.19524159, -0.17807977, 0.12837476, 0.20816846, -0.1741958, -0.04411918, 0.06024972, 0.18159702, -0.052485272) * go_2(0.0, 0.0); - result += mat4(-0.15229738, 0.27513, 0.28150418, -0.19543962, -0.02045864, -0.07207227, 0.09589587, 0.09110817, 0.061413247, 0.0046052113, 0.11619411, -0.2988938, 0.065739445, 0.10205611, 0.12847126, -0.028355654) * go_2(0.0, 1.0); - result += mat4(0.0657154, -0.047568597, -0.16148911, 0.16392621, -0.25281775, -0.061153214, 0.017480455, -0.026288848, 0.20319715, 0.04763355, 0.010444491, -0.26671803, -0.25821987, 0.32863674, -0.30734694, -0.18190521) * go_2(1.0, -1.0); - result += mat4(-0.042703815, 0.06633036, -0.048434302, -0.17176376, -0.12699759, -0.1124558, 0.083266065, 0.03354623, -0.13468939, 0.12706263, 0.053659134, -0.06930602, 0.008196115, 0.2034998, -0.06351442, -0.039730288) * go_2(1.0, 0.0); - result += mat4(0.09614661, 0.22500272, 0.088511504, -0.16960482, 0.15364788, -0.18854137, -0.13163191, -0.07503735, -0.23177068, -0.0053305267, -0.041978605, 0.0971947, -0.049034655, 0.04486706, 0.09076307, -0.02310868) * go_2(1.0, 1.0); - result += mat4(-0.1304683, 0.17743458, -0.09817326, -0.0646786, 0.07886976, 0.20109388, -0.034114968, -0.2029261, -0.03348398, 0.029337432, -0.07302782, -0.02240758, 0.030242773, -0.30032325, 0.02085572, -0.027314361) * go_3(-1.0, -1.0); - result += mat4(-0.037377544, 0.026350772, -0.07430488, -0.114671774, -0.126935, -0.046512567, -0.033628833, -0.19018382, -0.041053895, -0.031206857, 0.08562848, -0.01875709, 0.21099389, -0.092511, 0.0073047103, -0.009811013) * go_3(-1.0, 0.0); - result += mat4(0.11358029, 0.17468451, -0.12739041, -0.14332245, -0.22230148, 0.16862972, -0.04462456, 0.2469604, -0.008622369, 0.0081848325, -0.17032363, -0.16024362, 0.21178265, 0.037127133, 0.08559072, 0.11584694) * go_3(-1.0, 1.0); - result += mat4(0.008993893, -0.08037705, 0.4426555, 0.15593371, 0.15273719, -0.03249998, 0.055109, -0.1512612, -0.037183985, 0.20825677, -0.08516227, -0.06664223, -0.10011001, -0.3505215, -0.17941694, 0.052089088) * go_3(0.0, -1.0); - result += mat4(-0.109703645, -0.13505603, 0.1336451, 0.13118869, 0.010915504, 0.12748592, 0.21201555, -0.40841985, -0.11059143, 0.033772044, -0.039282143, 0.03095394, 0.10394723, -0.21343367, -0.10699851, -0.028351074) * go_3(0.0, 0.0); - result += mat4(0.019704714, 0.06243651, 0.09896519, -0.17492259, 0.012675787, -0.004239029, 0.21319824, 0.069183126, -0.0071114586, 0.123431124, -0.24479835, 0.00723795, -0.045293927, 0.014101029, 0.15746681, 0.042405806) * go_3(0.0, 1.0); - result += mat4(0.023828225, -0.0015190929, 0.1194638, 0.082163885, 0.10532113, 0.042044062, 0.02528007, 0.015175004, 0.026613194, 0.33525538, -0.1627064, -0.29887968, -0.197707, 0.038967777, -0.15811683, -0.106895216) * go_3(1.0, -1.0); - result += mat4(0.044362027, -0.04946742, -0.14815849, -0.17660522, -0.034201477, -0.012243106, -0.050183997, 0.06407372, 0.039822515, 0.15880872, -0.0672721, -0.4081093, 0.019489579, -0.060278706, -0.015096743, -0.07799167) * go_3(1.0, 0.0); - result += mat4(0.11861756, 0.27113584, -0.14107186, -0.10246008, -0.124051, -0.1627854, 0.10698585, 0.2846401, -0.061731786, 0.1724438, -0.12428688, -0.09986041, -0.034171514, -0.07100923, 0.041739646, -0.11308375) * go_3(1.0, 1.0); - result += vec4(-0.02981662, -0.26338395, -0.011632586, 0.15063232); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.17082009, 0.031344634, -0.06131912, 0.00887183, -0.01528174, 0.12943709, 0.24537678, 0.008178781, -0.312396, -0.023583878, 0.07827866, -0.1231261, 0.15081584, -0.18161978, -0.25179705, -0.036934935) * go_0(-1.0, -1.0); - result += mat4(-0.05768411, 0.16785417, -0.1788644, -0.0067257965, 0.021445744, 0.10066516, -0.23864186, 0.1450302, 0.12892793, 0.19856106, -0.24444748, 0.16531628, -0.044425935, -0.02775357, 0.009059946, -0.12958384) * go_0(-1.0, 0.0); - result += mat4(-0.025798557, -0.17238182, -0.34056288, -0.20921059, -0.03576266, 0.1476854, -0.06264234, 0.14452787, -0.04130045, -0.07275762, 0.034578666, 0.2914669, 0.20879944, 0.21359251, -0.048695553, 0.2638088) * go_0(-1.0, 1.0); - result += mat4(-0.022791177, 0.4204545, 0.116855636, 0.20241925, -0.010444933, -0.14462502, 0.022550104, -0.24423064, -0.09417524, 0.045358784, -0.11405829, 0.035979558, -0.2283092, -0.06670842, -0.23852053, -0.22417003) * go_0(0.0, -1.0); - result += mat4(-0.14526704, 0.040880535, 0.14076385, 0.07795045, -0.059177604, -0.13056375, -0.3373641, -0.19344307, -0.29891858, -0.32578763, -0.29061425, 0.1562214, -0.13578376, 0.36586633, 0.24936736, 0.054629393) * go_0(0.0, 0.0); - result += mat4(-0.025790233, -0.13020341, -0.10084969, 0.15767297, -0.09738769, 0.04034404, 0.0038675873, 0.043515608, 0.16899958, -0.29117966, 0.03420067, 0.14432564, -0.10473084, 0.21014084, 0.07775908, -0.09303797) * go_0(0.0, 1.0); - result += mat4(-0.07443987, -0.16225167, 0.036251917, 0.028432872, 0.03759333, 0.004027401, -0.033941846, 0.0019474924, 0.02357054, 0.30748722, 0.1652115, -0.17361522, 0.16905582, 0.08048018, -0.23639561, -0.029408466) * go_0(1.0, -1.0); - result += mat4(0.0461233, -0.09346199, -0.07063276, -0.19447634, -0.049339604, -0.0032855074, -0.22661209, -0.0543389, 0.11924857, -0.21691081, -0.1645725, -0.0075736847, 0.018572787, -0.06552861, -0.01777661, -0.11651732) * go_0(1.0, 0.0); - result += mat4(-0.06425901, 0.123392984, -0.16395192, -0.093448035, -0.029316641, 0.0986573, -0.23135012, 0.011170849, 0.00023920486, 0.15296175, 0.35453254, -0.05189021, 0.20708887, -0.103900835, 0.081992395, -0.21829562) * go_0(1.0, 1.0); - result += mat4(-0.019074136, -0.1572586, 0.27919227, 0.09119617, 0.035954695, 0.2941489, 0.18262725, -0.055522963, -0.21364328, -0.1573611, 0.104966134, 0.08228523, 0.19945285, -0.0039229114, -0.1565048, 0.028975379) * go_1(-1.0, -1.0); - result += mat4(-0.18501253, 0.006473006, 0.06637501, 0.04295065, 0.06411007, 0.1166344, -0.10060226, 0.46296063, -0.08600344, -0.03560105, 0.012215349, 0.017885283, 0.061346993, 0.17336361, 0.01935021, 0.20198092) * go_1(-1.0, 0.0); - result += mat4(-0.04451627, -0.10372061, -0.13968691, 0.14479733, 0.1660607, 0.19334625, 0.0085214665, 0.28863636, -0.07600901, -0.014777084, 0.13209191, -0.09045013, 0.104893915, -0.04776884, -0.007936376, 0.104568765) * go_1(-1.0, 1.0); - result += mat4(0.023751335, -0.108048, -0.050531313, 0.15916029, 0.13246661, 0.04644228, -0.09586482, -0.17222965, -0.22898191, -0.033484615, 0.078883134, -0.052609313, -0.2721741, 0.045986425, 0.13972299, -0.28923607) * go_1(0.0, -1.0); - result += mat4(-0.23364568, -0.008875902, -0.40894926, 0.060443908, -0.2839635, -0.5270991, -0.2500865, 0.002020195, -0.24488612, -0.04982319, -0.009110353, -0.018023955, 0.06647274, -0.25225738, 0.26154432, -0.033934146) * go_1(0.0, 0.0); - result += mat4(-0.1535129, -0.21257545, -0.16553773, 0.17471452, -0.06203719, 0.15238857, 0.18702018, 0.18572305, 0.07740396, -0.074217625, -0.072156586, -0.2183728, 0.00403749, 0.13750519, 0.30362993, 0.06550286) * go_1(0.0, 1.0); - result += mat4(0.37164542, -0.1980723, -0.15659203, 0.19498909, 0.01748114, 0.011807152, -0.05424202, 0.11926474, 0.050406165, -0.12925303, -0.020280985, 0.08429331, 0.14769496, -0.077555746, -0.15216178, -0.27070466) * go_1(1.0, -1.0); - result += mat4(0.35804263, 0.08539285, -0.14785156, -0.13532467, 0.058254432, 0.20448379, -0.006173341, 0.058168225, -0.21714899, -0.13472849, -0.09392532, -0.12753737, -0.097461835, -0.11419082, 0.09384189, 0.06414768) * go_1(1.0, 0.0); - result += mat4(0.023494452, -0.22187226, -0.16694295, 0.0204334, -0.26720086, 0.15916729, 0.3098874, -0.10292057, 0.008854983, 0.13375004, -0.04409455, 0.09286524, 0.095829524, 0.12427317, -0.048659876, 0.18300754) * go_1(1.0, 1.0); - result += mat4(-0.119153984, 0.10163183, 0.025017537, -0.40096784, 0.026778705, 0.15821172, -0.19947284, -0.33337715, 0.2952563, 0.16820388, -0.057061996, -0.029319009, -0.12184868, 0.09031512, 0.12028806, 0.021044692) * go_2(-1.0, -1.0); - result += mat4(0.086744264, -0.046958666, 0.2130253, -0.46672252, 0.07135636, 0.0100029735, -0.13828261, -0.012365689, -0.11374441, 0.21084632, -0.059631422, -0.013799735, -0.037889663, -0.10701892, -0.09493782, 0.15516634) * go_2(-1.0, 0.0); - result += mat4(0.031181194, -0.01535001, 0.029270316, 0.13128386, 0.11838377, -0.17051528, 0.12228499, -0.04841128, 0.33350074, -0.006144013, -0.09055018, 0.27470216, -0.26665646, -0.08703671, -0.01719071, -0.23449609) * go_2(-1.0, 1.0); - result += mat4(-0.12856458, 0.005562174, -0.19517267, 0.13270985, 0.2776414, 0.032003902, -0.15778573, 0.15344355, 0.26930434, -0.13459459, 0.035019353, 0.08896612, 0.12847935, -0.122637205, 0.001815178, 0.08290523) * go_2(0.0, -1.0); - result += mat4(0.33805037, -0.15318587, -0.20955376, -0.26121393, -0.026022578, -0.1617741, 0.1336867, 0.026223289, 0.012059392, -0.17295446, -0.060811974, 0.14027825, -0.21134059, -0.08408573, -0.23773228, 0.110836074) * go_2(0.0, 0.0); - result += mat4(0.16176093, 0.15307428, -0.07711325, -0.3458805, 0.061291527, 0.023916256, 0.21370678, 0.0015756418, 0.10642374, 0.24807373, 0.11164451, 0.10780487, 0.087194376, -0.2718231, -0.008457387, 0.054078236) * go_2(0.0, 1.0); - result += mat4(-0.03259038, -0.20923306, 0.165477, 0.098864526, -0.02734457, 0.08871225, -0.01552188, 0.047712058, 0.055032052, -0.13044262, -0.2899521, 0.22230095, -0.029343741, -0.16427459, -0.005436118, -0.05111821) * go_2(1.0, -1.0); - result += mat4(0.20065974, -0.1556366, -0.12620135, 0.44572976, -0.020925352, 0.12025185, 0.20588058, 0.06391864, 0.046870507, 0.16942503, -0.049370963, 0.008779016, 0.04954915, 0.090298936, -0.16466027, 0.011152038) * go_2(1.0, 0.0); - result += mat4(0.13587528, 0.047841422, 0.19804007, -0.1672396, -0.072491, 0.04543739, 0.25287256, 0.015226213, 0.02007356, -0.049578942, -0.08796175, 0.1714897, -0.07819061, 0.1509537, 0.093094915, 0.031139288) * go_2(1.0, 1.0); - result += mat4(-0.013774682, 0.118201815, -0.009592314, -0.10837201, -0.0686881, -0.083380274, 0.107689425, 0.046642892, 0.119898744, -0.05502989, -0.19719897, 0.0005697584, -0.0921928, 0.032281205, 0.2568853, 0.2325449) * go_3(-1.0, -1.0); - result += mat4(0.02991112, -0.09898633, 0.06076172, -0.20906185, 0.0026118348, 0.06130956, 0.06760944, -0.16662054, 0.065741204, -0.13144116, 0.011419801, 0.22552124, 0.1465757, -0.07417319, -0.10788749, -0.24952699) * go_3(-1.0, 0.0); - result += mat4(-0.19238451, -0.024058497, 0.19580396, -0.067399554, -0.18832864, -0.11752747, -0.078949094, -0.23762032, -0.04141864, 0.022530237, -0.02222157, 0.0054874527, 0.057746816, -0.34854797, 0.028730657, -0.08976777) * go_3(-1.0, 1.0); - result += mat4(0.16888975, 0.19949849, -0.08456147, -0.03619044, -0.019596824, 0.11214634, 0.13971676, 0.22926724, 0.03219445, -0.04566354, -0.14948955, -0.22817011, -0.08714846, -0.19684613, 0.15479128, 0.2433362) * go_3(0.0, -1.0); - result += mat4(0.16050309, -0.102841675, 0.20855242, -0.011171905, -0.10309409, 0.22455123, 0.15892951, -0.06582373, 0.010079549, -0.2055006, -0.09385158, 0.006519388, 0.11838815, 0.37134558, -0.165772, 0.12704434) * go_3(0.0, 0.0); - result += mat4(0.11643292, 0.03294274, -0.09800525, -0.13601723, -0.081318736, -0.059975546, -0.039105035, -0.2893635, -0.13024913, -0.058016162, -0.09961072, 0.10532414, 0.24250132, -0.35546342, -0.092634924, 0.093994915) * go_3(0.0, 1.0); - result += mat4(-0.18799333, 0.25611782, 0.014645917, -0.063751906, 0.06498416, 0.16619027, -0.14411639, 0.3914421, -0.07343631, -0.116468735, -0.10941946, -0.2553544, -0.37774643, -0.0018441634, 0.06827239, -0.0122299045) * go_3(1.0, -1.0); - result += mat4(-0.11884597, -0.2477297, 0.048488285, -0.06438257, -0.124703035, 0.25932777, 0.0650111, -0.0930877, 0.06463341, -0.000544085, 0.0147504965, -0.170097, -0.13241997, 0.20983136, -0.15956205, 0.03424298) * go_3(1.0, 0.0); - result += mat4(-0.034574904, 0.06755256, 0.09508443, -0.17162292, 0.046379335, 0.2178781, 0.08699012, -0.055380464, -0.2237568, -0.07427848, -0.028395249, -0.3225617, -0.084454566, -0.24776657, 0.254169, 0.13229847) * go_3(1.0, 1.0); - result += vec4(0.18765923, -0.07697714, 0.028134674, -0.060966115); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.21919365, 0.36627784, 0.12603314, 0.24306288, 0.06447028, 0.06472204, -0.05997039, -0.15651788, 0.017059859, -0.006497198, -0.4189735, 0.021636713, -0.23887977, -0.014220949, 0.031113686, -0.17342716) * go_0(-1.0, -1.0); - result += mat4(-0.10818789, -0.03273837, 0.33918005, -0.19290088, 0.0955361, -0.34107623, -0.054906327, -0.18083344, -0.060723677, 0.24395694, 0.112975016, -0.07254578, -0.14389384, 0.13235968, -0.15054801, -0.26216486) * go_0(-1.0, 0.0); - result += mat4(-0.23442148, -0.07857079, 0.022283873, -0.2656417, 0.037092753, -0.037313666, -0.5057047, 0.042533103, -0.120424, 0.00021930189, -0.0044566668, -0.45536995, 0.00040759926, 0.14597592, -0.094990164, -0.036161344) * go_0(-1.0, 1.0); - result += mat4(0.15024352, 0.19903262, -0.0734784, 0.092836305, -0.025753846, 0.024750374, -0.07550193, 0.035420835, 0.11084378, 0.26119822, -0.08443512, -0.0047807065, -0.042685136, 0.24889739, 0.098650105, 0.2088369) * go_0(0.0, -1.0); - result += mat4(-0.25551823, 0.14455976, 0.19886157, -0.23465924, 0.20711218, -0.20875362, -0.11320392, -0.30852005, -0.06795657, 0.008670962, 0.30601278, 0.6929064, 0.17079145, 0.15744895, 0.06441601, 0.06514001) * go_0(0.0, 0.0); - result += mat4(0.03142604, -0.006410137, -0.023654792, -0.05708553, 0.062985405, -0.077010594, 0.078804865, 0.050882503, 0.010274228, -0.15558401, 0.09490256, 0.14964707, -0.11966925, -0.36176664, 0.27809814, -0.18862294) * go_0(0.0, 1.0); - result += mat4(0.05609992, 0.0041612233, -0.08498908, 0.04479823, -0.080117956, -0.17423204, -0.22858045, 0.054569032, -0.050866384, -0.020000307, 0.027000953, -0.67724514, 0.16240878, -0.04641204, 0.0648367, -0.20613132) * go_0(1.0, -1.0); - result += mat4(0.08542306, -0.08254248, -0.11090553, -0.14140448, -0.10788511, -0.13011602, -0.29319742, -0.26007155, 0.11033401, -0.31966573, 0.32668245, 0.19542319, 0.06329418, 0.20904626, 0.2724067, -0.009155685) * go_0(1.0, 0.0); - result += mat4(-0.007403411, 0.0012836396, -0.23446666, -0.03017208, 0.062420018, -0.13611084, -0.2975928, 0.13173148, -0.03679939, 0.13743873, -0.10121899, 0.074514665, 0.1497629, -0.09523838, 0.39018926, 0.37807035) * go_0(1.0, 1.0); - result += mat4(0.11441487, -0.19565523, -0.25757137, -0.16148767, 0.15575317, -0.12657928, 0.10479676, 0.062919036, 0.010544159, 0.22931573, 0.20360178, 0.4637635, -0.3395036, -0.52467215, 0.08759308, 0.028030418) * go_1(-1.0, -1.0); - result += mat4(0.2699195, -0.34218305, 0.15259695, 0.03139074, -0.024053533, -0.029567484, 0.28480124, 0.20525953, 0.15452823, -0.217713, 0.15861876, -0.012275699, 0.21408023, 0.097508304, -0.57126766, -0.14679857) * go_1(-1.0, 0.0); - result += mat4(-0.0755847, -0.09751562, -0.29480466, -0.22285318, 0.14196442, 0.114573136, -0.22294767, 0.12463806, 0.3322209, -0.04631724, -0.11097061, -0.27986854, -0.16099304, -0.060079545, 0.00299308, 0.120776065) * go_1(-1.0, 1.0); - result += mat4(0.050933484, -0.13776319, -0.18809728, 0.24035202, -0.32528606, -0.41684148, -0.029342847, 0.28642926, -0.07963454, -0.12905268, 0.07606093, 0.24670005, -0.08815598, -0.23320907, -0.008099349, 0.21512873) * go_1(0.0, -1.0); - result += mat4(0.19247563, 0.18083979, -0.09719762, 0.15314941, -0.22350982, 0.46515045, -0.3571128, 0.35953265, 0.06921985, -0.4482386, -0.18732521, -0.5043983, 0.35159567, -0.33315298, -0.21884166, -0.16283798) * go_1(0.0, 0.0); - result += mat4(-0.021124054, -0.007966742, 0.0052493825, 0.022550896, 0.030403977, 0.3377868, -0.47602004, -0.077664234, -0.07222509, -0.07486097, -0.37971064, -0.5107857, -0.06299477, 0.04930232, -0.3330487, 0.29845512) * go_1(0.0, 1.0); - result += mat4(-0.063705474, -0.07917637, -0.02026607, -0.05142568, 0.021577014, -0.07379867, 0.033937998, 0.08148773, -0.02717838, -0.03233838, 0.098000035, 0.036476444, -0.13366953, 0.014477577, 0.24064232, 0.39313284) * go_1(1.0, -1.0); - result += mat4(-0.16046515, -0.094624564, 0.35435164, 0.09942324, -0.07137174, -0.27999225, 0.124644354, -0.0062176553, 0.015016751, -0.05500243, -0.23249559, -0.4508382, 0.1860433, 0.10671491, -0.033345353, -0.06611453) * go_1(1.0, 0.0); - result += mat4(0.21614046, -0.01307525, -0.18941112, -0.20533535, -0.14481686, -0.47801897, 0.22605121, -0.20298961, -0.06744227, -0.20377496, -0.11926173, 0.15645133, -0.31570885, -0.3495616, -0.024666889, 0.040965475) * go_1(1.0, 1.0); - result += mat4(-0.11748018, -0.039976366, -0.00084064255, -0.028653437, -0.16216733, -0.036768105, 0.018064514, -0.0928936, 0.14008482, -0.064511225, 0.24329947, -0.0268608, 0.050330248, 0.08540601, -0.07272679, -0.01187671) * go_2(-1.0, -1.0); - result += mat4(-0.09459936, -0.011723822, -0.06952858, -0.07808506, -0.065588176, 0.332501, -0.0120042395, 0.07668016, 0.14735217, -0.14856043, -0.06702449, -0.020953184, -0.023006834, 0.06135422, 0.1491448, -0.028061569) * go_2(-1.0, 0.0); - result += mat4(0.25136968, 0.25146323, -0.108277924, -0.20407207, -0.0013780294, 0.16108194, 0.25143847, 0.06672421, -0.033905584, -0.021144686, -0.019152718, 0.34619498, 0.14560962, 0.034437314, 0.024790365, -0.049976267) * go_2(-1.0, 1.0); - result += mat4(-0.24928351, 0.12637813, 0.23609994, 0.12722939, -0.036997862, -0.16554876, 0.11144095, -0.10040036, -0.020359103, -0.080701865, -0.3142192, 0.27257237, 0.13546956, -0.14416885, 0.028196262, -0.2886465) * go_2(0.0, -1.0); - result += mat4(0.28524777, -0.4236231, 0.27420738, -0.21095508, 0.23475651, 0.115876295, -0.18837357, -0.0260708, 0.030670704, -0.11516913, -0.11365572, -0.2203149, -0.018612983, -0.10719593, -0.031727783, 0.1403327) * go_2(0.0, 0.0); - result += mat4(0.07240512, 0.03139215, 0.12328737, -0.021201206, -0.13971715, 0.072742075, -0.0011289873, 0.0053133667, 0.035639685, -0.04322272, -0.19288473, -0.15812221, -0.19126481, 0.0698514, 0.17619178, -0.035605464) * go_2(0.0, 1.0); - result += mat4(-0.18552057, 0.07259671, 0.011667668, -0.15630563, 0.11414356, 0.14482655, -0.04021029, 0.18495587, -0.11386139, -0.09058561, -0.011265998, 0.23358451, 0.0521358, 0.12495261, 0.021644838, -0.048094347) * go_2(1.0, -1.0); - result += mat4(-0.09222373, 0.0533347, 0.055820454, 0.22382596, 0.18713981, 0.2668916, -0.019384036, 0.012698582, 0.13325234, 0.20361474, -0.33106443, -0.08571572, -0.21243028, -0.10996386, 0.123459645, 0.1534967) * go_2(1.0, 0.0); - result += mat4(0.18133277, 0.18108074, -0.05638664, 0.29533157, -0.2108019, -0.033636626, 0.5015888, -0.15116066, -0.041320793, -0.14764231, 0.07314567, -0.18865979, 0.10276937, 0.094240844, -0.1364283, 0.27812913) * go_2(1.0, 1.0); - result += mat4(0.06040915, 0.23753685, 0.19019844, 0.23948252, -0.07535012, 0.11848904, 0.14389765, 0.050067905, 0.16150077, -0.030053454, 0.12478255, 0.26020208, 0.111198805, 0.06787492, -0.12771018, 0.006687384) * go_3(-1.0, -1.0); - result += mat4(-0.5421617, 0.10414128, -0.21526064, -0.08883624, 0.13145073, -0.29695904, 0.57386386, 0.073361695, -0.09538372, 0.27593842, 0.070922814, 0.21769938, 0.06214975, 0.11847816, 0.10033405, 0.29360098) * go_3(-1.0, 0.0); - result += mat4(-0.16294672, -0.014815565, 0.22046989, 0.16858687, 0.058917344, 0.21384977, 0.18803519, 0.105688855, 0.0355118, 0.20571202, -0.07341922, 0.26624045, -0.0415102, 0.050942056, 0.19727907, 0.20122413) * go_3(-1.0, 1.0); - result += mat4(-0.020470422, 0.15815964, -0.13437317, -0.1967045, 0.074902646, 0.08356444, 0.055913117, -0.12837863, -0.18647918, 0.07002247, 0.038864706, -0.07288784, 0.04135125, -0.016055549, -0.1340297, -0.15578008) * go_3(0.0, -1.0); - result += mat4(-0.07685624, 0.00079105416, -0.068755336, 0.110282525, -0.014170752, 0.041282844, -0.17035173, 0.19439398, -0.3036256, 0.024148455, -0.19566648, -0.06736254, 0.14203559, -0.13016985, -0.32845357, -0.14266774) * go_3(0.0, 0.0); - result += mat4(0.0087252045, 0.098839566, -0.08770506, -0.08499465, 0.015245115, -0.110854514, 0.054458305, -0.018121868, -0.09666134, -0.08316006, 0.24617113, -0.17195955, 0.2574254, 0.06734342, -0.13792352, -0.07306126) * go_3(0.0, 1.0); - result += mat4(-0.0073954533, -0.20126835, -0.22545357, -0.29462856, 0.057408337, 0.11939119, -0.01846476, 0.12534486, 0.15751605, -0.14282645, -0.14219986, 0.14283386, 0.14090413, 0.10500912, 0.03039335, 0.17448832) * go_3(1.0, -1.0); - result += mat4(0.043910783, -0.09140025, -0.21666165, 0.07616939, 0.104454786, 0.309926, -0.12906921, 0.1140117, 0.09372434, 0.049547072, -0.086615674, -0.034449168, 0.096705064, 0.26001686, 0.027063297, 0.12422948) * go_3(1.0, 0.0); - result += mat4(0.1365422, 0.2679611, 0.12037257, 0.43346113, 0.08223084, -0.016788265, 0.13570398, -0.017974345, -0.17922844, -0.09475725, 0.073539585, -0.106947675, 0.08998511, 0.04133868, 0.16586913, -0.26291734) * go_3(1.0, 1.0); - result += vec4(-0.19233678, 0.016725872, -0.008011114, -0.1977463); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_7_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.36016628, 0.019064043, 0.3073228, 0.16891135, 0.026739368, 0.31136194, 0.11260383, -0.26918694, 0.0419928, -0.3365078, 0.20189743, -0.04136312, 0.039564647, 0.033199426, 0.18768296, -0.017119858) * go_0(-1.0, -1.0); - result += mat4(0.28663483, -0.41716507, 0.059281543, 0.043736435, 0.0028875466, 0.13817391, -0.12543318, -0.2794053, -0.023528943, 0.10610115, 0.09100278, 0.040132936, -0.21949205, -0.027810011, -0.0301218, 0.084047124) * go_0(-1.0, 0.0); - result += mat4(0.39674807, -0.0040878756, -0.038235947, 0.11880838, 0.009898328, 0.19107847, -0.009313831, -0.1554276, -0.047341663, 0.18049581, -0.029317195, 0.0708909, 0.0708316, -0.110617444, 0.14584038, -0.022261223) * go_0(-1.0, 1.0); - result += mat4(-0.20400241, 0.0896492, -0.010386381, -0.052133385, 0.005023956, -0.06628705, -0.16436209, -0.25345984, -0.05285192, 0.09706557, -0.03778914, -0.152546, 0.17023252, 0.063713826, 0.00743037, 0.056634087) * go_0(0.0, -1.0); - result += mat4(-0.080793336, 0.4204207, 0.19098237, 0.20028038, -0.054076545, 0.22064368, -0.25853387, -0.3643562, 0.2085573, -0.023731, -0.06727709, -0.18683033, -0.18032159, -0.06388348, 0.304463, -0.2517781) * go_0(0.0, 0.0); - result += mat4(0.11940941, 0.10624008, 0.16120581, 0.2369602, 0.3321827, 0.4272075, -0.10403669, -0.31388018, -0.006372124, -0.00653671, 0.109810196, 0.2277172, 0.005771998, 0.086026914, -0.08934813, -0.094941735) * go_0(0.0, 1.0); - result += mat4(-0.13233568, 0.24112508, -0.0068006413, 0.12466225, 0.11396591, -0.07249253, -0.29090378, -0.12828146, -0.22001141, -0.08532405, -0.11932601, 0.29452974, 0.09572195, 0.017603843, 0.12454017, 0.16321751) * go_0(1.0, -1.0); - result += mat4(0.042107448, -0.00807216, 0.06580674, -0.1289527, 0.13977426, -0.037159685, -0.21001346, -0.08698161, 0.22370502, -0.29170328, 0.2179206, 0.36621302, 0.0825477, -0.016513655, -0.11157249, 0.12861598) * go_0(1.0, 0.0); - result += mat4(0.2246826, -0.13262233, 0.12131653, -0.15522355, 0.38104856, 0.030237729, 0.1286289, -0.19770473, -0.16175011, -0.13688888, 0.23505463, 0.21333031, 0.76352316, -0.17949077, -0.13124311, 0.1613879) * go_0(1.0, 1.0); - result += mat4(-0.050607495, 0.0846705, -0.06136092, -0.033436477, 0.41138348, 0.037043408, -0.02676336, -0.37771952, 0.22147503, 0.06490757, -0.04266158, -0.22606373, 0.045775007, -0.054498192, -0.21495876, -0.036050417) * go_1(-1.0, -1.0); - result += mat4(-0.06242522, 0.2700824, -0.05602621, -0.12361551, 0.14477442, 0.19403581, 0.23505251, -0.072234035, -0.15831544, 0.4640447, -0.104754634, -0.004539681, -0.20246096, 0.23216484, -0.35886365, 0.11360777) * go_1(-1.0, 0.0); - result += mat4(0.14777757, 0.18951412, 0.027219458, 0.11216015, 0.02997997, -0.13466355, -0.0010830094, 0.021302953, 0.23441231, -0.14529245, 0.08068729, 0.10044398, 0.3972878, 0.26570204, 0.0046810666, -0.2863261) * go_1(-1.0, 1.0); - result += mat4(-0.10385485, 0.1053724, 0.16961229, 0.20727012, -0.025148917, -0.011365095, 0.03899919, -0.030950211, 0.079080455, -0.32767853, 0.064670205, -0.035771385, 0.16833797, -0.21567492, 0.30871257, -0.19965471) * go_1(0.0, -1.0); - result += mat4(-0.23420888, -0.004894698, -0.18162623, -0.31107524, 0.11976508, 0.14924951, -0.08723316, 0.21401922, -0.58200324, -0.01177345, -0.049033508, 0.19593577, -0.21139073, 0.13016601, 0.08734843, 0.4158892) * go_1(0.0, 0.0); - result += mat4(0.0009789813, 0.33274913, 0.017405733, -0.042906318, -0.26410276, -0.09291333, 0.019387102, 0.105381854, -0.009176527, 0.09483514, -0.28462934, -0.03644404, 0.285194, -0.4260311, 0.14902237, -0.115670316) * go_1(0.0, 1.0); - result += mat4(-0.09344311, 0.4463103, 0.19984834, -0.09733857, -0.118717775, -0.0708026, 0.24919955, -0.11234634, 0.1246395, -0.052909933, 0.1525815, 0.07724016, 0.0070534665, -0.06404165, -0.18149726, -0.014058336) * go_1(1.0, -1.0); - result += mat4(-0.17353044, 0.15376104, 0.004588994, -0.13554202, -0.19920237, -0.18918681, 0.11327512, -0.117296435, -0.0785251, 0.013677155, -0.2103214, 0.06843426, -0.27790928, 0.09837545, -0.00019213746, 0.09132539) * go_1(1.0, 0.0); - result += mat4(-0.01586651, 0.014929441, 0.2426186, -0.1889374, -0.0865462, -0.07454513, -0.20797268, -0.22366855, 0.19704159, 0.0048206006, -0.16707218, -0.14162683, 0.036798395, -0.1663155, -0.12009389, 0.09603803) * go_1(1.0, 1.0); - result += mat4(-0.041532192, 0.05753804, 0.17927068, -0.042112097, 0.12080969, -0.15052572, -0.34855765, -0.07356988, -0.28199884, -0.18958664, 0.15879883, 0.08511588, 0.0034213227, -0.05338495, -0.37285298, 0.06626709) * go_2(-1.0, -1.0); - result += mat4(-0.20219134, 0.22150375, -0.29405454, 0.06597703, -0.018885285, -0.010551704, -0.010774283, 0.08758955, -0.2015349, -0.17006227, -0.24321876, -0.06864207, -0.118437864, -0.043977212, -0.029736811, 0.14040919) * go_2(-1.0, 0.0); - result += mat4(-0.18709077, -0.09723938, 0.12783436, -0.15167634, 0.29039705, -0.11009911, 0.018371418, -0.060096707, -0.07256923, -0.25799567, -0.06276934, -0.035992302, -0.06729111, -0.059956793, -0.024079734, 0.011838878) * go_2(-1.0, 1.0); - result += mat4(0.010449175, -0.08212451, 0.1409803, 0.11861122, -0.18035835, 0.051930565, 0.01049551, -0.09447962, 0.12029649, 0.040604513, -0.059971705, -0.0044667358, -0.22080486, -0.11187681, 0.124374695, -0.004155485) * go_2(0.0, -1.0); - result += mat4(-0.28584236, -0.38480133, -0.13987814, -0.4463469, -0.3890419, -0.022498172, 0.17334452, 0.21895568, -0.15450422, -0.10905497, 0.15111905, -0.22554915, 0.106121585, -0.029144369, 0.36059046, 0.22140682) * go_2(0.0, 0.0); - result += mat4(-0.23780307, -0.023033705, 0.068205886, -0.110635854, -0.26720005, -0.1608183, 0.19523881, 0.07972837, -0.018495852, -0.2793956, 0.17668398, -0.12020479, -0.079556085, -0.02284952, 0.031480275, 0.31818348) * go_2(0.0, 1.0); - result += mat4(0.22501226, -0.00829407, 0.059581667, 0.16512989, 0.18711442, 0.1200968, 0.11812652, -0.16091056, 0.15733972, 0.045156084, 0.20640492, -0.16852027, -0.11217177, 0.06746273, -0.050218176, 0.08643783) * go_2(1.0, -1.0); - result += mat4(0.20715691, -0.1082907, 0.027892975, 0.19515261, -0.17838904, 0.1532257, -0.108409844, -0.06632365, -0.13805026, 0.23020233, 0.12416581, -0.14861803, 0.16650471, 0.08158386, -0.09051303, -0.06981649) * go_2(1.0, 0.0); - result += mat4(-0.04617126, 0.06579221, 0.25964734, 0.28500968, 0.07641255, -0.090885855, -0.0972522, 0.18298368, -0.06393334, 0.103463, -0.23062052, -0.15270731, 0.13633437, 0.074707486, 0.15065335, -0.024602572) * go_2(1.0, 1.0); - result += mat4(0.118319295, 0.010410938, 0.044655934, -0.104725905, 0.030477569, 0.12867387, 0.039075315, 0.18922117, 0.13301082, -0.1601557, 0.038168408, -0.07372259, -0.09522213, -0.095107146, -0.16679631, 0.044673234) * go_3(-1.0, -1.0); - result += mat4(0.46229, -0.30780822, -0.09081465, 0.1433387, -0.0315039, 0.059409115, -0.24948491, -0.17146957, 0.060843736, -0.041989822, 0.054005735, 0.22835566, 0.12036598, -0.0070898845, 0.17276852, -0.17754094) * go_3(-1.0, 0.0); - result += mat4(-0.35119572, 0.020034311, 0.08751943, 0.08193488, 0.041884877, 0.22649358, -0.07447533, 0.20845473, -0.04859846, -0.16206735, 0.06819576, -0.053000778, 0.18146423, 0.04694148, 0.045293212, 0.06783575) * go_3(-1.0, 1.0); - result += mat4(0.280914, -0.14998704, -0.23485807, -0.015608296, 0.1549556, -0.11992663, -0.094974115, 0.05887284, 0.053392075, 0.10322464, -0.075066686, 0.068358354, -0.18663338, 0.009901499, -0.123370335, -0.12502703) * go_3(0.0, -1.0); - result += mat4(0.7748568, -0.17870626, -0.20770052, 0.024692526, -0.056430295, -0.06324113, -0.03660047, 0.29629672, -0.51896983, -0.027231261, 0.05903762, 0.077677645, -0.061675485, -0.20277846, 0.10352223, -0.08198446) * go_3(0.0, 0.0); - result += mat4(-0.06347568, 0.21643166, -0.09718546, 0.0372257, -0.029537952, -0.0357135, -0.09548363, 0.18225233, -0.29609334, -0.3496132, 0.18245913, -0.10162589, -0.18189451, -0.09077887, 0.117313184, -0.06863874) * go_3(0.0, 1.0); - result += mat4(-0.047373574, -0.020289376, -0.25748715, -0.13568166, 0.15656634, -0.06841899, 0.012100781, -0.13611819, 0.0016357322, -0.23870537, 0.14035743, -0.14700134, 0.2535575, -0.13697346, -0.13693139, -0.10365287) * go_3(1.0, -1.0); - result += mat4(0.4283934, -0.316192, -0.012617617, 0.018468965, 0.21436644, 0.18408814, -0.42651537, 0.12504087, -0.13894933, 0.091662176, -0.20096369, -0.080727175, -0.005487846, 0.17046383, 0.1383948, -0.0054956395) * go_3(1.0, 0.0); - result += mat4(0.20014295, -0.027282396, -0.06317007, 0.04452042, 0.064600386, 0.072222926, -0.33409226, 0.08063831, -0.022607977, 0.1308856, -0.39691743, -0.094889864, -0.1810531, 0.011367248, -0.2531222, -0.22468317) * go_3(1.0, 1.0); - result += vec4(0.26886886, 0.05874665, 0.10268232, 0.05833081); - return result; -} -//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-3x1x1x112 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_7_tf -//!BIND conv2d_7_tf1 -//!SAVE MAIN -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -#define g_0 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_1 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_9 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_17 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_21 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09689336, 0.06046458, 0.072598994, 0.0, 0.11994565, 0.104477674, 0.09302802, 0.0, -0.05718302, 0.050438102, 0.08814741, 0.0, 0.0308889, 0.0033925986, -0.01715605, 0.0) * g_0; - result += mat4(-0.028314235, 0.06597744, 0.0966897, 0.0, 0.035656154, 0.07770106, 0.075551905, 0.0, 0.0001793458, -0.000479495, -0.00297406, 0.0, -0.053916585, -0.016807461, -0.0057141334, 0.0) * g_1; - result += mat4(-0.047189303, -0.0207, -0.020910334, 0.0, -0.07933196, -0.06961211, -0.086069845, 0.0, 0.0943727, 0.008463375, 0.010755166, 0.0, 0.062410597, 0.022625161, 0.04068433, 0.0) * g_2; - result += mat4(0.10270994, -0.019080428, 0.0050091282, 0.0, -0.004672948, -0.013966742, -0.0063746064, 0.0, -2.5856789e-05, 0.03151499, -0.0023983798, 0.0, 0.113539025, 0.12381699, 0.100360274, 0.0) * g_3; - result += mat4(0.07868885, -0.030913834, -0.009213676, 0.0, 0.04870991, 0.021467991, 0.038739506, 0.0, -0.042969644, -0.07122453, -0.08798675, 0.0, -0.09784122, 0.021434791, 0.02510374, 0.0) * g_4; - result += mat4(0.050420716, 0.0729716, 0.076532185, 0.0, -0.019112485, -0.01037939, -0.026948035, 0.0, -0.02591423, 0.008927897, -0.00042541025, 0.0, 0.1043701, -0.0071186824, -0.041817162, 0.0) * g_5; - result += mat4(-0.16143242, -0.0009298223, -0.01228508, 0.0, 0.07744052, -0.018313263, -0.0488145, 0.0, 0.09241393, 0.07128674, 0.055164956, 0.0, 0.054884013, -0.04834418, -0.06281626, 0.0) * g_6; - result += mat4(-0.049036566, -0.05979936, -0.05594288, 0.0, -0.014564307, 0.031926468, 0.037857566, 0.0, 0.015474487, -0.11385003, -0.11527764, 0.0, -0.07076006, 0.057038613, 0.095983796, 0.0) * g_7; - result += mat4(0.03094887, -0.008734403, 0.00042712069, 0.0, 0.053891554, 0.05837673, 0.06200635, 0.0, 0.09071558, -0.04202184, -0.046172567, 0.0, -0.0425916, 0.04905093, 0.020835675, 0.0) * g_8; - result += mat4(0.096628904, -0.037792254, -0.043241944, 0.0, -0.011923947, -0.025950424, -0.031381752, 0.0, -0.060941868, -0.07859433, -0.07535451, 0.0, -0.026777223, 0.08604982, 0.07829908, 0.0) * g_9; - result += mat4(-0.06435972, 0.0036599538, 0.00786578, 0.0, -0.061972067, -0.05681472, -0.06667608, 0.0, -0.106890626, 0.007406496, 0.029977169, 0.0, -0.20519382, -0.044860814, 0.0021225857, 0.0) * g_10; - result += mat4(-0.16876474, 0.012789643, 0.026692612, 0.0, 0.017817136, 0.026935097, 0.02227043, 0.0, 0.01690181, 0.07716103, 0.086527, 0.0, 0.07923805, -0.10443151, -0.10859543, 0.0) * g_11; - result += mat4(0.003730466, -0.024648283, -0.022169832, 0.0, -0.0062762927, 0.022062732, 0.032966793, 0.0, 0.016349113, 0.017197203, 0.020952817, 0.0, -0.1763789, 0.035497356, 0.053835396, 0.0) * g_12; - result += mat4(0.020886675, -0.07054202, -0.079142675, 0.0, 0.06664387, 0.044960167, 0.042230908, 0.0, -0.095019594, 0.012421141, 0.0142890485, 0.0, 0.056814816, -0.012751135, -0.014684506, 0.0) * g_13; - result += mat4(0.011765893, 0.0008920681, -0.0018258415, 0.0, -0.010473814, -0.023085753, -0.028783914, 0.0, -0.023034256, -0.0024786016, -0.0052162083, 0.0, 0.1643386, -0.06132718, -0.09289065, 0.0) * g_14; - result += mat4(0.016597198, 0.09389637, 0.10833379, 0.0, -0.043163072, -0.04714812, -0.035274632, 0.0, 0.09634976, -0.009292612, -0.022424143, 0.0, -0.08765172, 0.0051558353, 0.010900356, 0.0) * g_15; - result += mat4(0.030815786, 0.021069322, 0.01812191, 0.0, 0.084839165, -0.0080813095, -0.029270556, 0.0, -0.10456346, 0.062386703, 0.0665605, 0.0, 0.11926609, -0.1104228, -0.13291118, 0.0) * g_16; - result += mat4(-0.07159541, -0.007267032, -0.010134558, 0.0, 0.008234213, 0.045609634, 0.040295456, 0.0, 0.018416971, 0.01308482, 0.014649557, 0.0, 0.035107512, -0.02140815, -0.030279048, 0.0) * g_17; - result += mat4(0.01918586, 0.03875863, 0.03229402, 0.0, -0.07917104, 0.041135103, 0.057182517, 0.0, 0.08609541, 0.0079662455, 0.004327576, 0.0, -0.14332893, 0.03120354, 0.056732506, 0.0) * g_18; - result += mat4(0.03200192, -0.0035752193, -0.0031064528, 0.0, -0.010902813, 0.014607456, 0.019431474, 0.0, -0.016461229, -0.004938204, -0.004655488, 0.0, -0.033470232, 0.0026075812, 0.005896968, 0.0) * g_19; - result += mat4(0.037410006, 0.048742272, 0.04348088, 0.0, 0.037719514, 0.030768529, 0.03127472, 0.0, 0.056426726, 0.03066893, 0.016440205, 0.0, -0.010599352, 0.022832409, 0.023211194, 0.0) * g_20; - result += mat4(-0.005733291, 0.06365659, 0.06663611, 0.0, -0.041917093, -0.016493445, -0.020438088, 0.0, -0.0014357592, -0.0022506563, -0.0045095007, 0.0, 0.029893145, -0.009129354, -0.015173116, 0.0) * g_21; - result += mat4(0.013052085, 0.005108175, 0.0025906067, 0.0, -0.021950055, -0.036447693, -0.036141638, 0.0, -0.036296472, 0.0068928464, 0.013102313, 0.0, 0.0060471976, -0.024798103, -0.023548538, 0.0) * g_22; - result += mat4(0.0067743887, -0.06191211, -0.062355213, 0.0, 0.0016080744, -0.020445071, -0.016840393, 0.0, 0.028264903, 0.01852915, 0.015891539, 0.0, -0.023877412, -0.013271666, -0.008158679, 0.0) * g_23; - result += mat4(-0.04317466, -0.018953001, -0.020452993, 0.0, -0.009322576, -0.03022352, -0.030970376, 0.0, 0.05653658, 0.05430553, 0.046692245, 0.0, 0.05615359, 0.059338935, 0.056018773, 0.0) * g_24; - result += mat4(0.022878079, 0.03392234, 0.033057988, 0.0, -0.017554542, -0.0141542535, -0.014122613, 0.0, -0.048634093, -0.05316463, -0.047988772, 0.0, -0.058002178, -0.040221967, -0.034025013, 0.0) * g_25; - result += mat4(-0.018253656, -0.04197674, -0.040467236, 0.0, -0.04358929, -0.028309818, -0.025425073, 0.0, -0.008488672, -0.001727991, 0.00035808363, 0.0, -0.0011709273, 0.0052514165, 0.0059479307, 0.0) * g_26; - result += mat4(-0.08333935, -0.09818201, -0.09476284, 0.0, -0.033692095, -0.046259012, -0.045797516, 0.0, -0.007577072, 0.0022402718, 0.0016200038, 0.0, 0.0029786075, -0.020728534, -0.018938033, 0.0) * g_27; - result += vec4(0.047567394, -0.02504617, -0.028163986, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl deleted file mode 100644 index 78b8069..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl +++ /dev/null @@ -1,1317 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.011550553, 0.2571523, -0.16894904, -0.09610124, -0.052744195, 0.30938542, 0.21441698, 0.2569063, 0.06468069, 0.089650966, 0.0748017, -0.018602168, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.17143345, 0.051090688, -0.040205717, 0.23977952, -0.06845662, 0.11059154, 0.27167943, 0.039820686, -0.037420645, 0.32412684, 0.114460744, 0.19145139, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.18283899, 0.16125157, -0.29441658, -0.14905207, 0.19206345, -0.03641905, -0.0255512, -0.1973209, 0.096413575, -0.165314, 0.09896132, -0.023077995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.03697045, 0.16279477, -0.22278853, -0.111244164, 0.12984428, -0.016251296, 0.06175422, -0.38215196, -0.020128965, -0.1455273, -0.08009769, 0.25073814, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.5884801, -0.6035645, 0.29799506, 0.15807843, -0.7622044, -0.15211694, 0.02642718, 0.08056384, -0.019515019, -0.08969495, 0.05972669, -0.56973815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.5292328, -0.12033433, 0.1487622, -0.016836211, 0.18644744, -0.1327393, 0.1285929, -0.25551647, 0.1799259, 0.041404646, -0.20043947, -0.3026472, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.024188336, -0.054328248, -0.12121459, 0.17569984, 0.0269405, -0.068125665, -0.12267483, -0.03206367, 0.010800722, 0.06791396, 0.21666309, 0.00086910516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.11299782, 0.16244878, 0.050983112, -0.20673744, 0.0814762, -0.290341, -0.13428551, 0.02317926, -0.23702003, -0.057354085, -0.16910575, 0.12039626, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.0099286465, -0.01866624, -0.01341757, 0.040368155, 0.29543665, 0.20391521, 0.015693977, 0.024313066, -0.009628433, 0.014835176, -0.05416802, -0.049118232, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.009906447, 0.016014593, -0.015037731, 0.019793766); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.2907437, -0.077323735, -0.16973291, -0.16443132, 0.22864507, 0.49630427, 0.26739725, 0.032699764, 0.06087564, -0.20624332, 0.0112693785, 0.08255652, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.06868092, -0.40196502, 0.13545038, 0.17964815, -0.05201233, -0.068510085, -0.033420287, 0.11053642, -0.22962584, 0.1240376, -0.07122576, -0.287889, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.08391916, 0.044837173, 0.05309633, -0.020162301, 0.21601973, 0.107087076, 0.009593669, -0.0480218, -0.0341008, 0.065055884, -0.037138876, 0.098079376, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.13852748, -0.41455564, 0.18791267, 0.092003055, 0.09786073, 0.13783242, -0.0740668, 0.24771707, -0.33705822, 0.14416842, 0.15743637, -0.2325511, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.5497675, -0.29078907, 0.05763203, -0.04751569, -0.6902698, -0.19779761, -0.39250666, -0.00016204051, 0.5432319, 0.2619331, -0.46955073, -0.3574246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.061908755, -0.19342895, 0.16516154, 0.034592014, -0.19078135, 0.17319767, -0.08530775, 0.30626982, 0.07117333, -0.13394159, -0.16021773, -0.25067675, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.08075159, -0.2351002, -0.16552883, 0.05863658, 0.016604373, 0.097477786, 0.06739595, 0.055863712, 0.1263199, 0.21669623, 0.14968488, -0.08309879, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.29566878, -0.18975174, -0.31122676, 0.012913531, -0.14852591, 0.21946627, 0.34939107, 0.11229292, -0.065245174, 0.08148012, 0.3856815, -0.043731045, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.03664222, 0.05616905, 0.16613087, -0.036628574, -0.0907965, 0.013615345, 0.0053964662, -0.015731616, -0.022957215, 0.10116718, -0.094957925, 0.058128193, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0017539978, -0.004052146, -0.0068221963, 0.0025597692); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.023552546, -0.17976846, -0.032507695, 0.34888005, -0.10224707, 0.13343506, 0.06544117, 0.012628775, -0.14143938, -0.19284354, 0.21922144, -0.24267627, 0.60245264, -0.24113165, -0.22310556, -0.02382731) * go_0(-1.0, -1.0); - result += mat4(-0.034701347, 0.07372663, 0.32609418, 0.11162037, -0.014141982, 0.07118311, -0.17728676, 0.11904929, -0.044187993, 0.10390664, -0.25206113, -0.27696803, -0.047686324, -0.1442619, 0.20605747, 0.06257326) * go_0(-1.0, 0.0); - result += mat4(-0.22148718, -0.01991937, 0.1064617, -0.040335968, 0.15501678, -0.23332876, 0.034576464, 0.0071954974, 0.29223567, -0.23055542, -0.2282997, -0.12242584, -0.37809116, -0.058991294, 0.39480785, 0.09886273) * go_0(-1.0, 1.0); - result += mat4(-0.14810124, 0.016219528, -0.19418913, -0.007893501, -0.053713404, 0.049100377, -0.05975324, 0.18977694, -0.050193787, -0.21011077, 0.2016647, 0.14340237, 1.0558138, -0.33549616, 0.231785, -0.3162362) * go_0(0.0, -1.0); - result += mat4(-0.13609457, -0.08641219, -0.44855806, 0.3498321, 0.30400246, -0.03185214, -0.1854452, -0.010487082, -0.17215589, 0.03237537, 0.28143924, -0.08109354, 0.22742943, -1.2136713, -0.13101196, 0.25476894) * go_0(0.0, 0.0); - result += mat4(0.13384807, 0.02634565, -0.0014585925, -0.119772, -0.22263676, 0.24358267, -0.29998726, 0.10864307, -0.025059542, 0.19892238, -0.48717195, -0.12713853, 0.0052565294, -0.06785795, -0.12660097, -0.2680154) * go_0(0.0, 1.0); - result += mat4(0.050817262, -0.000118490156, 0.008932358, 0.12216974, 0.00651495, -0.045953527, -0.06928984, -0.059567403, -0.045261804, -0.09506907, -0.15795891, 0.40871626, 0.75113076, -0.2689173, 0.014691355, 0.17588368) * go_0(1.0, -1.0); - result += mat4(-0.098001294, 0.017431907, -0.129577, -0.5423294, 0.006492312, -0.3798156, -0.0912911, -0.4348394, -0.008890873, 0.056336716, 0.31541198, 0.2757727, 0.18999146, -0.4838279, -0.8643528, -0.23371552) * go_0(1.0, 0.0); - result += mat4(0.12763253, 0.20787789, 0.014009273, -0.10351501, -0.10169546, 0.105827406, 0.08317957, 0.34155595, 0.09826027, 0.120087825, 0.00772547, -0.18460846, -0.057804313, -0.09804123, 0.23369344, -0.36933377) * go_0(1.0, 1.0); - result += mat4(0.016852003, -0.006062252, -0.12426935, 0.03895753, 0.015224101, 0.036187973, -0.12444835, 0.17155123, -0.21852624, -0.039858755, 0.030547414, -0.31835446, -0.1285454, 0.036886804, 0.120653056, 0.115938485) * go_1(-1.0, -1.0); - result += mat4(-0.0073105944, 0.0034892666, 0.16796911, 0.10596121, 0.053536925, -0.046282507, 0.04151762, 0.011876018, 0.038614176, -0.03580031, -0.119827464, -0.040998273, 0.07371248, 0.20536064, -0.11701863, 0.03227468) * go_1(-1.0, 0.0); - result += mat4(0.060087442, -0.2968361, 0.13312283, -0.23400159, -0.23598443, -0.042868868, 0.18195826, 0.28549528, 0.34385213, 0.21937303, -0.29659066, -0.2519378, 0.086887576, -0.2174296, 0.105925284, -0.021433428) * go_1(-1.0, 1.0); - result += mat4(0.13158737, 0.33106673, -0.17471395, -0.29580286, 0.06354943, 0.0942313, -0.0018473539, -0.036752637, -0.12811747, 0.17727722, -0.05052513, 0.02059626, 0.053381227, 0.051411, -0.040178068, 0.045549665) * go_1(0.0, -1.0); - result += mat4(-0.08831061, -0.28157574, -0.1294387, -0.034455232, 0.23092915, 0.064474, -0.26692396, 0.12853913, 0.006096496, -0.17732559, -0.14009307, 0.21564251, 0.20883715, 0.10718936, -0.47879994, -0.5107674) * go_1(0.0, 0.0); - result += mat4(-0.17679055, -0.03551305, 0.17372696, 0.25607085, -0.021303236, -0.116409995, 0.21391216, 0.1466252, 0.22911525, -0.11913164, 0.29034084, -0.08526714, -0.3873873, -0.21568687, 0.23877093, 0.42613512) * go_1(0.0, 1.0); - result += mat4(0.048116915, -0.08262296, -0.03324074, 0.13923667, -0.0062459446, -0.03517941, -0.009773409, -0.120674424, 0.15095374, -0.0005339233, 0.015473752, 0.14777213, 0.12814662, -0.05017428, -0.010744916, -0.23875938) * go_1(1.0, -1.0); - result += mat4(0.056450244, 0.11676627, -0.14198391, -0.045776248, 0.00897558, -0.058434367, 0.021832153, -0.52523935, -0.12343506, -0.11054828, 0.15865694, 0.09315367, -0.05297719, -0.10711813, 0.06007512, -0.08399776) * go_1(1.0, 0.0); - result += mat4(-0.019619863, 0.20729768, 0.043339703, 0.025781998, 0.023497196, 0.028392693, -0.04190367, -0.04418058, -0.042211913, -0.15244623, 0.02924173, 0.21085598, -0.035596382, 0.2381614, -0.030051846, 0.13014893) * go_1(1.0, 1.0); - result += mat4(-0.21234104, 0.041297037, -0.18101437, -0.2185761, 0.028981358, -0.081642486, -0.021145426, -0.009989747, 0.09318067, 0.16207193, -0.19826248, 0.16293178, -0.15917318, 0.06660727, 0.053039506, -0.1168678) * go_2(-1.0, -1.0); - result += mat4(-0.011286741, 0.14351663, -0.50032014, -0.026436124, -0.011840812, -0.07747942, 0.15334651, -0.14048274, -0.14003748, -0.047146395, -0.00042596797, 0.2566855, -0.03316183, 0.062969685, 0.043717206, -0.055696994) * go_2(-1.0, 0.0); - result += mat4(0.30375633, -0.023652522, -0.007335798, 0.11816739, -0.0505561, 0.16002876, -0.10969625, 0.11233836, -0.19340275, 0.05881697, 0.3182961, -0.022817641, 0.42393655, -0.0420881, -0.22744067, -0.11468599) * go_2(-1.0, 1.0); - result += mat4(0.19680668, -0.2718221, -0.109129034, -0.031820036, -0.014158195, 0.046111293, -0.14502439, -0.13337612, 0.09411394, 0.21357663, -0.20042713, -0.15176094, -0.0045771925, -0.031944096, 0.1550206, -0.03722588) * go_2(0.0, -1.0); - result += mat4(0.24317834, 0.18838319, 0.45047724, 0.18649562, -0.2095104, -0.0006020615, 0.08367084, -0.30320555, 0.07171591, -0.29137737, -0.049099058, 0.15327643, -0.24013925, 0.34259155, 0.115902506, 0.11450217) * go_2(0.0, 0.0); - result += mat4(0.016413163, 0.03915114, -0.015337155, 0.09729268, 0.29813018, -0.17131683, -0.2312706, 0.10482244, -0.2066783, -0.3365877, 0.2263724, 0.43815294, 0.036072776, 0.105696954, 0.077359736, 0.008051612) * go_2(0.0, 1.0); - result += mat4(0.12033027, 0.2112806, 0.017177183, -0.09654978, 0.07329572, 0.13259365, 0.011394168, 0.0069998833, -0.16171043, -0.02289922, 0.11146632, -0.33248207, -0.017027456, -0.10894563, -0.03257589, 0.021239217) * go_2(1.0, -1.0); - result += mat4(-0.031499073, -0.27365288, -0.064902805, 0.124796495, -0.023522072, -0.02951537, 0.04670401, 0.27531293, 0.43533918, 0.0585005, -0.15084462, -0.40506473, -0.32984722, -0.15036964, 0.07660922, -0.0032199689) * go_2(1.0, 0.0); - result += mat4(-0.115331754, -0.09803054, -0.024313536, 0.14555499, 0.23887083, -0.29849875, -0.26729763, 0.184482, 0.09255375, -0.10736947, -0.04150894, -0.0010320714, -0.051008355, -0.104129285, -0.08903581, 0.22098938) * go_2(1.0, 1.0); - result += mat4(0.06769511, -0.03238206, -0.068165705, -0.14739762, -0.061350193, 0.004104931, 0.11618826, 0.010067987, 0.02997295, 0.09301918, -0.12241719, 0.24177656, 0.22807428, -0.02756493, -0.0748496, -0.047249116) * go_3(-1.0, -1.0); - result += mat4(-0.18760902, 0.18009059, -0.0020327838, -0.21866414, -0.031515904, -0.05650113, -0.12750417, 0.103761345, 0.06476017, -0.3304871, -0.07148537, 0.24832407, -0.13958152, -0.09241458, 0.22140716, 0.08166865) * go_3(-1.0, 0.0); - result += mat4(0.26009315, -0.010701869, 0.023371957, -0.21740876, 0.17189556, 0.15437202, -0.14821805, -0.27689627, -0.2479749, -0.47549838, 0.32036334, 0.013038371, 0.14058238, 0.30515867, -0.26070523, 0.04663332) * go_3(-1.0, 1.0); - result += mat4(-0.020923758, -0.032509495, 0.12358641, 0.4433483, -0.06527426, -0.07173554, -0.11908415, -0.072907776, -0.0026322093, 0.045405984, 0.14449333, 0.18437918, 0.064828105, -0.151514, 0.091675825, 0.13046047) * go_3(0.0, -1.0); - result += mat4(-0.026943995, -0.07820492, -0.103887096, -0.3451598, 0.047472734, 0.0033870118, 0.440715, -0.20901312, 0.20392485, 0.2621361, 0.12270217, -0.24512972, -0.049621828, -0.22698936, 0.2641905, 0.009628438) * go_3(0.0, 0.0); - result += mat4(-0.20713174, 0.195439, 0.058581114, -0.10963195, 0.0812059, 0.011282248, -0.18487422, -0.016993608, 0.19099854, -0.3759483, -0.5897507, 0.14572738, 0.23315357, 0.10245343, 0.043103352, -0.46267846) * go_3(0.0, 1.0); - result += mat4(0.022161806, -0.00090681383, 0.052800614, 0.18393794, -0.027101398, 0.0014004739, 0.05572843, 0.118573196, -0.19916826, -0.02380698, 0.116629034, -0.28870407, 0.008048728, 0.053172585, -0.021419706, 0.09050276) * go_3(1.0, -1.0); - result += mat4(-0.016204836, 0.19174457, 0.2839895, 0.17540698, -0.123605736, -0.0061563863, 0.0028344695, 0.32647628, 0.057774115, 0.06937624, -0.13302265, -0.16724658, -0.12756115, 0.13584238, 0.078516625, 0.09640836) * go_3(1.0, 0.0); - result += mat4(0.120685734, -0.21064857, -0.16614036, -0.26340094, -0.06945371, 0.04921331, -0.020397125, 0.074044324, 0.23755525, -0.003564956, -0.06143462, -0.1825731, -0.11152944, -0.30590633, -0.054638807, -0.27331424) * go_3(1.0, 1.0); - result += vec4(0.04903664, 0.055879604, 0.072665684, -0.063299604); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.21144664, -0.21278776, 0.14495273, 0.40425083, 0.27247587, -0.109341, 0.033743903, 0.035514083, -0.39683792, 0.05346587, -0.164584, -0.27716008, 0.12337504, 0.06634312, 0.2134371, 0.6341114) * go_0(-1.0, -1.0); - result += mat4(0.13073774, -0.103435524, 0.0346405, 0.44462252, 0.11620409, 0.10156601, 0.054093704, -0.26547235, -0.11527728, 0.13799351, -0.027917054, -0.60904527, -0.07724007, -0.08113308, -0.009969666, 0.26369193) * go_0(-1.0, 0.0); - result += mat4(0.24912444, 0.0009965017, 0.04969851, 0.3003267, -0.003903703, -0.06769968, 0.10561507, -0.17234871, 0.1536697, -0.21829624, -0.017951855, -0.09118876, -0.22243726, 0.1614144, -0.024269601, 0.397888) * go_0(-1.0, 1.0); - result += mat4(0.06768992, -0.041342556, 0.07763352, -0.41787583, 0.031124283, 0.011633926, -0.0978459, 0.039305598, -0.41848403, -0.26259893, 0.28613627, 0.20371561, 0.58345675, -0.07080824, 0.19021916, 0.012531278) * go_0(0.0, -1.0); - result += mat4(-0.20584361, 0.20292012, 0.16911204, -0.11723318, -0.06905249, -0.12639555, 0.029861137, -0.69824475, -0.15893462, 0.03822974, 0.2365254, -0.18049008, -0.54079545, 0.05378836, 0.3731226, -0.4194168) * go_0(0.0, 0.0); - result += mat4(-0.16185144, 0.08044541, -0.11534125, -0.38361254, -0.18125655, 0.100682445, -0.17568061, 0.15932092, 0.4921224, -0.21809934, -0.4219327, 0.56603193, -0.11896117, 0.09941898, 0.060406428, -0.28055435) * go_0(0.0, 1.0); - result += mat4(-0.17914674, -0.039117515, -0.10780753, -0.0019961328, -0.118028656, 0.13673705, 0.09796823, 0.036670703, 0.23708504, -0.217638, 0.02271306, -0.08260663, -0.02218291, 0.25449663, -0.38577145, 0.2289155) * go_0(1.0, -1.0); - result += mat4(0.20697436, -0.08170284, -0.30875778, -0.091935694, -0.4299069, -0.048003297, 0.040368207, -0.11808018, 0.19754, -0.11251598, 0.27953205, 0.3021206, 0.45326826, 0.1854244, -0.29116857, -0.2648801) * go_0(1.0, 0.0); - result += mat4(-0.005043171, 0.1165916, 0.035544373, -0.11442216, -0.17139262, -0.050638396, -0.26463476, 0.11100485, -0.10001776, -0.21563227, -0.16391662, -0.054651123, 0.39844766, 0.1455794, 0.017547537, -0.39557946) * go_0(1.0, 1.0); - result += mat4(0.15157916, 0.18656601, -0.00782459, -0.038346134, -0.2450021, 0.047928028, -0.1472038, 0.2255333, -0.4334985, 0.08729366, 0.0846153, -0.30595127, -0.044211008, -0.08241214, -0.043064255, 0.4190449) * go_1(-1.0, -1.0); - result += mat4(0.05928101, -0.06261379, 0.038639594, 0.19335443, 0.07116561, -0.09511715, 0.2905441, 0.1801976, 0.26955184, -0.17377244, -0.1212788, 0.016638374, -0.22339019, 0.004929746, -0.09799133, -0.031665847) * go_1(-1.0, 0.0); - result += mat4(-0.18101548, 0.0012552696, -0.23048487, 0.112049505, -0.12021156, 0.14923924, 0.23487978, 0.09156211, 0.3823153, 0.19112724, -0.16386096, -0.33862537, 0.6392619, -0.074322194, -0.011328445, 0.010085967) * go_1(-1.0, 1.0); - result += mat4(0.14264163, -0.083046414, 0.05174603, -0.11164799, 0.5145514, 0.09971472, 0.07346141, -0.001808423, -0.26032692, -0.22621563, 0.055869855, 0.076288834, -0.010914596, 0.22231369, 0.10603505, -0.5869296) * go_1(0.0, -1.0); - result += mat4(0.5548472, 0.12401844, -0.23502155, 0.0061489646, 0.67039174, 0.05105186, -0.37961176, -0.15655631, 0.2625075, 0.0843665, 0.15801008, 0.09782913, -1.1630117, 0.5171362, 0.29586038, -0.08990771) * go_1(0.0, 0.0); - result += mat4(-0.5571424, -0.058150455, 0.07254807, -0.12936777, -0.12786071, 0.07129326, -0.241742, -0.08085487, -0.13637958, -0.22721592, -0.11745357, 0.112150125, -0.09672555, 0.27359635, -0.080746, -0.009863987) * go_1(0.0, 1.0); - result += mat4(0.030648582, 0.065971114, 0.067242995, 0.22608843, -0.17207222, 0.054914985, 0.03116957, -0.052851222, 0.0069969087, -0.006153292, 0.21847431, 0.057503276, 0.8095128, -0.21049567, -0.006439858, 0.08432311) * go_1(1.0, -1.0); - result += mat4(-0.042780217, -0.12338032, 0.05577247, -0.21822974, -0.17892684, 0.058537606, 0.080431335, -0.078834526, -0.31537804, -0.061866514, 0.023990609, -0.058277693, 0.097793244, -0.12215614, -0.13899407, 0.27879617) * go_1(1.0, 0.0); - result += mat4(0.008304607, 0.034395944, 0.17608953, -0.06544607, -0.24016827, -0.0677199, 0.12737678, -0.05233579, 0.16614896, -0.14099626, -0.022224577, 0.14793196, -0.012446621, 0.028061012, -0.1716129, 0.060556497) * go_1(1.0, 1.0); - result += mat4(0.5220798, 0.13444152, -0.2122427, -0.5736831, -0.20706674, 0.017248502, -0.028334714, 0.055140972, 0.33016387, -0.14287637, 0.01387342, 0.3571347, 0.28431186, 0.11765858, -0.01822439, -0.39872175) * go_2(-1.0, -1.0); - result += mat4(0.08728331, 0.23902069, -0.36302498, -0.16066715, -0.11230054, -0.13030538, 0.009534622, 0.048962418, 0.012431211, -0.20593752, -0.0013636881, 0.4360859, 0.04262531, 0.23974936, -0.094283335, -0.527438) * go_2(-1.0, 0.0); - result += mat4(0.030728528, -0.112231985, -0.009100498, -0.35143045, 0.16748357, 0.017510839, 0.03239966, 0.054478996, -0.17319912, -0.050375365, 0.089725465, 0.16103691, 0.10676163, -0.09278535, -0.05428266, -0.33354014) * go_2(-1.0, 1.0); - result += mat4(0.21258125, 0.04599829, -0.24325258, 0.029835198, 0.20194697, -0.07060258, 0.016639128, -0.3157998, 0.33405927, 0.060434584, -0.43728244, -0.062135965, 0.028998438, 0.11571891, -0.15109324, 0.07101858) * go_2(0.0, -1.0); - result += mat4(-0.40383798, -0.36821288, 0.19626383, 0.59001976, 0.32839507, 0.101678796, 0.10640573, -0.10071399, -0.02920735, -0.0077641695, -0.22367977, -0.05433425, 0.004730477, 0.23157004, -0.11481708, 0.061465364) * go_2(0.0, 0.0); - result += mat4(-0.08762416, -0.035775788, 0.26598835, 0.37357306, -0.11917872, 0.036915135, -0.19645864, -0.8743145, -0.51593053, 0.100978024, 0.06177629, -0.5311378, -0.09897961, -0.007981574, -0.14613442, 0.29796147) * go_2(0.0, 1.0); - result += mat4(-0.08169756, 0.10602942, 0.16290301, 0.08642245, 0.14126572, 0.0143537, 0.022076355, 0.12719934, -0.115588315, 0.018044261, 0.06112664, -0.17315914, -0.24815254, 0.07138127, 0.064938284, 0.30757383) * go_2(1.0, -1.0); - result += mat4(0.08658424, 0.04834558, 0.11189677, -0.11959915, 0.043204036, 0.0028814555, -0.27114293, 0.19655752, -0.06219229, -0.06335925, 0.001583622, 0.0003887524, -0.02551103, 0.1810684, -0.13473205, 0.41511175) * go_2(1.0, 0.0); - result += mat4(0.098328196, -0.15463813, -0.25395435, 0.057165585, 0.12112806, 0.047703095, 0.1736894, -0.571335, -0.08877221, 0.25854358, -0.12695095, 0.057413366, -0.098884575, -0.28365913, 0.09991636, 0.22292562) * go_2(1.0, 1.0); - result += mat4(-0.6112117, -0.010231417, -0.112239756, -0.07849118, 0.02083121, -0.034805223, 0.15247148, -0.12141691, 0.3277976, -0.06351269, -0.09261654, 0.48218137, -0.26786497, 0.18436286, 0.0026548437, -0.3494242) * go_3(-1.0, -1.0); - result += mat4(-0.095630266, 0.40209347, 0.037867773, -0.25989276, -0.011930034, 0.24516326, -0.0069997567, -0.3245564, -0.023615206, 0.15278822, -0.029383302, -0.7744169, 0.94101965, 0.056572374, 0.058212046, -0.061330616) * go_3(-1.0, 0.0); - result += mat4(0.081363745, -0.15472494, -0.34431493, 0.07395791, -0.055564385, 0.016541688, -0.08667468, -0.1444773, -0.2256494, -0.20606478, 0.4394829, 0.52758425, -0.5187416, 0.17331822, -0.27094364, -0.2181298) * go_3(-1.0, 1.0); - result += mat4(-0.287361, 0.16206776, 0.14063619, 0.13728833, -0.36886695, -0.08538228, 0.19503894, 0.11056105, 0.16406211, 0.01727046, 0.0871592, 0.07294414, 0.060550056, 0.061177608, -0.016883448, 0.30192128) * go_3(0.0, -1.0); - result += mat4(-0.33929467, 0.13435748, 0.115937024, 0.067573994, 0.009863674, 0.013138309, 0.30058098, 0.10597743, -0.17499073, 0.05588405, 0.005677747, 0.40934527, 1.1545268, -0.155579, -0.13197516, 0.15191454) * go_3(0.0, 0.0); - result += mat4(0.37388617, -0.08841946, -3.8818067e-05, -0.055153493, 0.10924964, 0.005106532, 0.2640823, 0.17689948, -0.078712486, 0.014336811, 0.13541687, -0.35125944, 0.25925586, -0.11574074, -0.05334974, 0.37477663) * go_3(0.0, 1.0); - result += mat4(-0.09378358, -0.02469048, 0.09498973, -0.14765818, -0.06543113, 0.052611325, -0.038409166, -0.10529152, -0.19401579, -0.16219963, -0.16643663, -0.33105713, -0.47642896, 0.3563738, 0.10123918, 0.0047903634) * go_3(1.0, -1.0); - result += mat4(-0.09347765, 0.13719639, 0.17906445, 0.20748247, 0.31409532, -0.033543803, -0.055865422, 0.20806772, -0.004353982, 0.15110697, -0.052026875, 0.04408309, -0.3727673, 0.08697647, 0.062118348, -0.12789507) * go_3(1.0, 0.0); - result += mat4(0.17479336, -0.15061922, -0.039640546, 0.041190077, -0.060928237, 0.17590441, 0.13194624, 0.05623478, -0.16385348, 0.09232265, 0.035934143, -0.1263174, -0.35249633, 0.15528975, 0.10165315, -0.20805833) * go_3(1.0, 1.0); - result += vec4(-0.016027294, -0.022314552, 0.29750827, 0.022724666); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.20217955, -0.1016539, -0.24689016, 0.026825983, -0.012303149, 0.016825393, 0.11242501, 0.1197403, -0.29600206, 0.27503014, -0.11554761, -0.051286228, -0.010749474, -0.0034162628, -0.07294611, -0.3771706) * go_0(-1.0, -1.0); - result += mat4(0.14065309, -0.20494242, 0.08172008, -0.24708536, 0.14010069, -0.0034903025, -0.13427053, 0.038706955, 0.14292285, -0.22876161, -0.08053654, -0.13691449, -0.32719252, 0.3200724, 0.41660982, 0.4663079) * go_0(-1.0, 0.0); - result += mat4(-0.40426278, 0.42029375, 0.2581085, -0.08178537, 6.6040986e-05, 0.051414035, -0.09223715, 0.09467653, 0.0022885685, -0.36213446, -0.22484992, 0.11228845, -0.266375, 0.47065213, 0.18022436, 0.018949319) * go_0(-1.0, 1.0); - result += mat4(0.0967041, -0.4762878, -0.48147273, -0.38028395, 0.0096386345, 0.038764592, 0.31412536, 0.11140124, -0.26849043, 0.5565519, 0.43003628, -0.4071856, -0.07576129, -0.1801822, -0.47469202, 0.20814487) * go_0(0.0, -1.0); - result += mat4(-0.00062698213, -0.7789418, 0.35716832, -0.02369097, 0.3586657, 0.0046842257, -0.1294594, -0.42827508, 0.1843683, -0.109799415, -0.03444211, -0.4856736, 0.20326613, -0.20637028, 0.043016884, 0.2611685) * go_0(0.0, 0.0); - result += mat4(-0.4074533, 0.11487311, 0.3276686, -0.002443473, -0.18050632, 0.36538202, 0.23752166, -0.21289061, 0.08633338, -0.30124283, -0.020832658, -0.02058489, -0.18569615, 0.47561193, 0.29504526, -0.37081027) * go_0(0.0, 1.0); - result += mat4(0.3032142, -0.05559384, -0.14362094, 0.4066231, -0.10048464, 0.123465545, 0.17526495, -0.05644113, 0.10546904, 0.04229368, 0.39113873, 0.31476578, -0.3210935, -0.2459354, -0.57513195, 0.42412075) * go_0(1.0, -1.0); - result += mat4(-0.012243576, 0.12146884, 0.07562772, 0.6030755, 0.11079806, -0.33577108, -0.34181613, -0.1494174, -0.03203171, 0.4393293, -0.28612396, 0.42938936, -0.043798693, -0.37709042, 0.26563555, -0.11072489) * go_0(1.0, 0.0); - result += mat4(0.046751764, 0.0035097478, -0.01897875, 0.02122587, -0.12605189, -0.41298488, -0.03824162, 0.51710933, -0.052696224, -0.2337075, -0.12560573, 0.33835718, -0.31342196, 0.51827186, 0.1890404, -0.03768498) * go_0(1.0, 1.0); - result += mat4(0.17229721, 0.062260006, 0.21993148, 0.075963624, 0.067087546, -0.20411918, -0.06633631, -0.05168393, -0.055554014, 0.07146849, -0.11320391, -0.5016039, -0.015768923, -0.029974159, 0.003875134, -0.7003569) * go_1(-1.0, -1.0); - result += mat4(-0.0693014, 0.23172057, -0.12445124, 0.10486695, 0.024282364, 0.104390465, 0.10902425, 0.044662107, -0.14725766, -0.12317419, -0.24799284, -0.5018698, -0.09759714, -0.08109111, -0.16864298, -0.21465865) * go_1(-1.0, 0.0); - result += mat4(-0.05006012, -0.091789775, -0.039711423, -0.025967857, 0.004903828, 0.27684125, 0.090259, 0.25723773, 0.25361672, -0.63184565, -0.2300667, -0.10245676, -0.43677995, 0.4948819, 0.23426977, 0.27520937) * go_1(-1.0, 1.0); - result += mat4(0.24944058, -0.2630142, 0.087730475, 0.14870866, -0.05221804, -0.11076067, -0.28590345, 0.30941877, 0.12329378, 0.0869489, 0.3449555, 0.26338112, 0.27513418, -0.34140083, -0.44811395, -0.32881838) * go_1(0.0, -1.0); - result += mat4(-0.2300291, 0.026097683, 0.011726505, 0.33332226, -0.24714379, -0.052737463, 0.16558985, 0.43402666, -0.040318843, 0.14610682, 0.32763618, 0.1530442, 0.46671808, -0.36680204, 0.30263212, 0.4588324) * go_1(0.0, 0.0); - result += mat4(0.04394229, 0.1959856, -0.23437811, -0.42994127, 0.2209785, 0.08641096, 0.059983835, 0.3301891, -0.20396693, 0.21257658, -0.17936775, -0.17046471, -0.3278646, -0.015171337, -0.39279112, 0.7612752) * go_1(0.0, 1.0); - result += mat4(-0.0721009, 0.03914034, -0.03603309, 0.0032750098, 0.02849652, -0.22286695, -0.21038975, -0.5404214, -0.09446682, 0.13351013, 0.19801673, 0.3039991, 0.06969349, 0.47980356, 0.4956948, -0.22736946) * go_1(1.0, -1.0); - result += mat4(0.10723219, -0.23137522, -0.12172196, 0.041468218, -0.07041226, 0.06390648, 0.14080569, -0.35228798, 0.07642974, -0.13615544, -0.039689478, 0.07113939, 0.28258353, 0.060358338, 0.17336333, -0.2321431) * go_1(1.0, 0.0); - result += mat4(-0.17947374, 0.03477672, 0.14946933, -0.27187726, 0.18819115, 0.032378223, 0.0020400453, -0.48512584, -0.12591578, -0.1212832, -0.116236545, 0.045565434, -0.15292491, -0.24064177, -0.10086153, 0.23591255) * go_1(1.0, 1.0); - result += mat4(-0.106525, -0.12032337, 0.17431536, 0.0052562207, -6.420632e-05, -0.01623248, -0.08095955, -0.13127506, 0.27539784, -0.31894428, 0.08169528, 0.062290672, -0.18432364, 0.21473673, -0.025179744, 0.094855726) * go_2(-1.0, -1.0); - result += mat4(-0.31541437, -0.24790616, 0.013607132, 0.039480396, -0.122884266, 0.19012398, 0.09748719, -0.09533564, -0.292556, 0.18304445, -0.1432241, 0.1381094, 0.21733786, -0.18149674, -0.1615431, 0.03368751) * go_2(-1.0, 0.0); - result += mat4(0.28429464, -0.40165743, -0.26162243, -0.02550708, 0.08182439, -0.142696, -0.029649947, 0.047006324, -0.041352388, 0.45716748, 0.14035358, -0.0074519147, 0.30095938, -0.4907558, -0.19573994, -0.0730125) * go_2(-1.0, 1.0); - result += mat4(0.015484458, 0.18262957, 1.1304622, 0.13020717, 0.08094596, -0.041125435, -0.011831079, 0.016813423, 0.27810735, -0.64546406, -0.09420503, 0.30469316, -0.298747, 0.56795603, 0.42592815, 0.31302226) * go_2(0.0, -1.0); - result += mat4(0.04343304, -0.4498391, -0.5037316, 0.19293165, -0.53385746, 0.33699542, 0.27228716, -0.19133756, -0.32839635, 0.35161376, 0.2137489, 0.38544926, -0.25985554, 0.20467313, 0.19342346, 0.20128295) * go_2(0.0, 0.0); - result += mat4(0.22484256, -0.23751211, -0.30022943, 0.051273867, -0.007936754, -0.68916345, -0.71587783, -0.1656445, -0.097008295, 0.10184849, -0.051216517, -0.3001333, 0.44228783, -0.3494149, -0.3600727, 0.061474547) * go_2(0.0, 1.0); - result += mat4(-0.1976335, 0.11761563, 0.25485405, -0.24935004, 0.21836887, -0.0373093, -0.06946182, 0.049853157, -0.19294016, 0.027994758, -0.7352471, -0.40208367, -0.29396078, 0.27974385, 0.23464991, -0.21713316) * go_2(1.0, -1.0); - result += mat4(0.11203325, -0.07249998, 0.03275291, -0.5243432, 0.027975427, 0.65923446, 1.1487273, 0.13650933, 0.18981944, -0.41047823, 0.24949239, -0.038735647, -0.16338153, 0.19802837, 0.2097514, -0.15370321) * go_2(1.0, 0.0); - result += mat4(0.05246577, -0.10527885, -0.023790307, 0.02944672, 0.21446787, 0.22428256, -0.30655965, -0.4283235, 0.073304355, 0.2829255, 0.30902624, -0.14685656, 0.24827917, -0.33014455, -0.32007882, -0.20629856) * go_2(1.0, 1.0); - result += mat4(-0.08960087, 0.0050927363, -0.30011386, -0.047652043, -0.094598204, 0.11405335, 0.06829049, 0.059407845, -0.022997437, -0.106863946, 0.07900994, 0.44502714, 0.15836091, -0.066640936, 0.15023214, 0.54916424) * go_3(-1.0, -1.0); - result += mat4(-0.06162481, -0.3285692, -0.022469657, -0.11277432, -0.09067458, 0.030319816, -0.14839767, -0.23583637, 0.06760135, -0.028171305, 0.014077104, 0.35498118, -0.025291484, 0.24540594, -0.017083582, 0.28348377) * go_3(-1.0, 0.0); - result += mat4(0.17504841, 0.060240712, 0.17431584, 0.16914812, 0.06998317, -0.30380917, -0.09968582, -0.30383462, -0.4403573, 0.78940177, 0.020485763, 0.27871025, 0.6351977, -0.37790725, -0.22219525, -0.4110773) * go_3(-1.0, 1.0); - result += mat4(-0.08675536, 0.27092165, -0.058764063, 0.20293204, 0.009523148, 0.09759644, 0.32254717, -0.48095647, -0.23190324, -0.12567216, -0.44106624, -0.30251557, -0.29637465, 0.16701616, 0.039250236, 0.20024182) * go_3(0.0, -1.0); - result += mat4(-0.12002944, 0.13862704, 0.17594223, -0.044401992, 0.36661845, -0.038946245, -0.29144734, -0.033288293, -0.48884743, 0.08073716, -0.31537253, 0.1283542, -0.5425199, 0.19174723, 0.15365373, -0.14512973) * go_3(0.0, 0.0); - result += mat4(0.15586664, -0.16834132, 0.05371874, 0.36174223, -0.15587626, -0.0017205992, 0.02366499, -0.13222694, 0.27792883, -0.20452052, 0.07238269, -0.6005766, 0.45729572, -0.057850257, 0.3978193, -0.42369977) * go_3(0.0, 1.0); - result += mat4(0.0125904465, -0.28701517, -0.06483255, -0.36696205, 0.0041157743, 0.16688906, 0.16022897, 0.32454333, 0.24528491, -0.22117196, -0.15657167, -0.27925336, -0.21296152, -0.27980646, -0.35671264, 0.1338135) * go_3(1.0, -1.0); - result += mat4(-0.09333434, 0.2844371, -0.0012270715, -0.08979275, -0.06961038, -0.011850921, -0.14248405, 0.69844127, -0.39664406, -0.024479598, 0.055128384, -0.44450662, -0.2171763, -0.027311027, -0.22850873, 0.21512528) * go_3(1.0, 0.0); - result += mat4(0.05754468, -0.06023853, -0.10660665, 0.001042397, -0.0098680295, -0.020704228, 0.022198498, 0.22380444, 0.2768453, -0.0008279344, 0.026585666, -0.4575448, 0.25150645, 0.11999355, 0.12135898, -0.39513355) * go_3(1.0, 1.0); - result += vec4(0.025650544, 0.03663525, -0.016599739, 0.0293095); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04035504, 0.24661791, 0.16603021, -0.14574075, 0.016028887, 0.23053943, -0.01308933, -0.13217592, 0.14422223, 0.046401497, 0.31343204, -0.018826274, -0.13334458, -0.13250591, -0.19680983, 0.023520457) * go_0(-1.0, -1.0); - result += mat4(-0.18644534, 0.16142415, -0.10263999, -0.1785358, 0.1524165, -0.096029095, 0.044161733, 0.040999066, -0.024374438, 0.007344798, -0.011679108, -0.01964757, -0.17767182, 0.05571244, 0.027234446, 0.043839652) * go_0(-1.0, 0.0); - result += mat4(0.04718799, -0.044331063, 0.13524447, -0.067815036, 0.11796701, 0.19663425, -0.10252262, -0.10110826, -0.12611324, 0.10640568, 0.19015492, -0.05703842, -0.2498106, 0.06150599, -0.16034353, 0.023444213) * go_0(-1.0, 1.0); - result += mat4(-0.27109948, -0.2330959, -0.24654478, -0.13645583, -0.30987036, -0.09328997, -0.047055356, -0.008120827, 0.12002382, -0.052843675, -0.024162116, -0.07013582, -0.21204828, 0.24816163, -0.048868638, -0.020213706) * go_0(0.0, -1.0); - result += mat4(-0.36924088, 0.19141299, -0.0596671, 0.05201207, 0.042457893, -0.14713997, 0.06199918, 0.3931451, 0.08613402, -0.07767505, -0.22640567, 0.139795, -0.080966346, 0.24099334, -0.1484309, -0.18542144) * go_0(0.0, 0.0); - result += mat4(-0.24846043, 0.04992665, 0.01550666, -0.07386302, -0.033128314, -0.109518744, -0.0131575465, 0.093934394, -0.10481641, -0.21640164, -0.042719785, -0.119751304, -0.14406851, -0.09887475, 0.0551473, 0.1988483) * go_0(0.0, 1.0); - result += mat4(0.005014479, -0.028502205, 0.056643553, 0.22005746, -0.109462686, -0.063529275, 0.068870015, -0.09086573, -0.20329769, 0.062993504, 0.012298516, -0.09511996, -0.070928045, -0.084570564, 0.030517094, 0.0666073) * go_0(1.0, -1.0); - result += mat4(-0.23140994, -0.14801921, 0.10917109, 0.04020163, -0.124175526, -9.252112e-05, -0.10079859, -0.08308403, -0.15703133, 0.12351128, -0.062012766, 0.012078454, 0.017588409, -0.19278778, -0.011159341, -0.019345049) * go_0(1.0, 0.0); - result += mat4(-0.13358298, -0.13400944, -0.04192524, 0.05254761, 0.090020865, 0.204023, -0.017487295, -0.103140116, -0.0635867, -0.04658558, 0.017988916, -0.095914505, 0.0028000565, 0.1542994, 0.02950823, 0.04616086) * go_0(1.0, 1.0); - result += mat4(-0.05432518, -0.0111842025, -0.0062327827, -0.033791576, 0.09963238, -0.007702412, 0.107363395, -0.0002620659, -0.03530006, -0.17219695, 0.20868061, 0.097935446, -0.08475756, -0.039234992, -0.13846119, 0.062036924) * go_1(-1.0, -1.0); - result += mat4(0.01616353, -0.12863919, 0.15521172, 0.097896874, 0.033820298, -0.05146636, 0.02785997, -0.09073786, -0.09372875, 0.06929703, -0.0107195005, 0.018365687, 0.0868831, 0.0070242505, -0.040582743, -0.07992907) * go_1(-1.0, 0.0); - result += mat4(-0.07650785, -0.072560616, 0.01351836, 0.07111899, -0.022031955, -0.010699844, -0.061331112, -0.18606193, 0.016390545, -0.013820923, 0.024161916, 0.05317417, -0.023394106, -0.12722068, -0.2521299, -0.0032620258) * go_1(-1.0, 1.0); - result += mat4(0.09762331, 0.062247284, -0.07981863, 0.048026998, 0.052663904, 0.1488446, -0.0859117, 0.081166595, 0.06321994, 0.10102734, -0.08696909, 0.018006293, 0.10951873, 0.11635254, -0.073152475, 0.021577666) * go_1(0.0, -1.0); - result += mat4(0.13631535, 0.09643497, 0.06995556, -0.012752857, 0.16278613, 0.015534217, 0.108511776, 0.14669219, 0.008778259, 0.16631478, 0.060034137, -0.16236681, -0.05978258, 0.062230766, -0.33324954, -0.02387315) * go_1(0.0, 0.0); - result += mat4(-0.26835418, -0.05078421, -0.038090322, -0.01212539, 0.0064360583, -0.09849181, 0.055596586, -0.049771946, -0.060680225, 0.11777931, 0.0092843445, -0.0003092349, -0.054714512, -0.036983784, 0.080890685, 0.01171634) * go_1(0.0, 1.0); - result += mat4(-0.095172614, -0.00536103, 0.024565516, 0.15711878, -0.054901525, -0.11539277, -0.0537201, 0.035690263, -0.012858618, 0.0074576396, -0.09323002, 0.0212987, 0.057625733, -0.028343642, 0.09287552, 0.17583063) * go_1(1.0, -1.0); - result += mat4(0.039239723, 0.08689648, -0.09737909, -0.030164383, -0.16954574, -0.19429989, -0.008026096, -0.009319319, 0.050411783, 0.003132383, -0.032023713, -0.044580568, 0.05639381, 0.26383185, -0.11680319, 0.20925997) * go_1(1.0, 0.0); - result += mat4(-0.1350493, 0.066753425, -0.07848042, -0.07173146, -0.09169151, -0.02280378, 0.014779426, 0.08916784, -0.09334288, -0.081331305, -0.06598685, -0.023294056, 0.13236979, 0.32240087, -0.05203544, -0.035413966) * go_1(1.0, 1.0); - result += mat4(0.026199203, 0.0204687, -0.070584424, -0.021580774, 0.118979365, 0.0988867, -0.14607596, 0.13370356, -0.0843717, 0.08955508, -0.035913162, -0.039743375, 0.03797019, -0.057666034, 0.09423923, 0.07839171) * go_2(-1.0, -1.0); - result += mat4(0.2348814, 0.0213994, 0.07450211, -0.003232845, 0.09450214, 0.014603701, 0.025057215, 0.048732072, -0.20320013, 0.02525451, -0.26879773, -0.21511178, 0.08866451, -0.046766516, -0.13612792, -0.09785279) * go_2(-1.0, 0.0); - result += mat4(-0.12481913, -0.12849878, -0.016158326, 0.025934998, 0.022762675, -0.011452937, -0.08533328, 0.06363569, 0.14518197, 0.23348686, 0.095732406, -0.19029738, 0.05512797, 0.02524934, 0.05958946, 0.06717244) * go_2(-1.0, 1.0); - result += mat4(0.061521348, -0.16622357, -0.08235146, -0.06429693, 0.03720797, 0.20682053, -0.08594098, 0.07171474, 0.0014226728, -0.07034602, -0.09734637, 0.03378296, 0.16466366, -0.10899766, -0.003239979, -0.015122078) * go_2(0.0, -1.0); - result += mat4(0.16695042, -0.1315729, 0.09122205, 0.07520023, -0.09821882, 0.035185304, -0.06842167, -0.011763841, -0.09345794, 0.15259263, -0.39355028, -0.3891075, 0.18299462, 0.06755557, -0.027738906, 0.013310929) * go_2(0.0, 0.0); - result += mat4(0.033140916, -0.027768493, -0.02067478, -0.06325463, -0.09894021, -0.20934165, -0.015428146, 0.12136887, 0.046120573, -0.071947254, 0.028421128, 0.06357571, 0.13145766, 0.04536773, 0.044150203, -0.10509899) * go_2(0.0, 1.0); - result += mat4(-0.10988508, 0.112615995, 0.1751226, 0.02660734, 0.08398276, 0.12926741, 0.2084611, 0.15119243, 0.028835213, -0.039361596, 0.0034648806, 0.029079277, -0.00217732, 0.06629454, -0.07294264, 0.023904502) * go_2(1.0, -1.0); - result += mat4(-0.013733941, -0.19174497, 0.106097385, 0.13108249, -0.02342723, -0.314217, 0.070849575, 0.0720347, -0.12744898, -0.065455206, -0.15339097, 0.022219827, -0.016159452, 0.010578856, 0.08105944, -0.05987952) * go_2(1.0, 0.0); - result += mat4(0.23217027, 0.05277337, 0.071452655, -0.10689918, -0.031163886, 0.1281398, -0.046946436, -0.027713988, -0.03565471, 0.08120484, -0.04330698, 0.07295522, 0.1321532, -0.03170989, 0.016022692, 0.121839166) * go_2(1.0, 1.0); - result += mat4(0.00410671, -0.04678445, 0.18113981, 0.05987472, 0.21671912, -0.34416708, 0.2037898, 0.15413988, -0.115338616, -0.06392024, 0.13700303, -0.033065956, -0.018238343, 0.1134282, 0.1275314, -0.019762916) * go_3(-1.0, -1.0); - result += mat4(-0.11894926, -0.029414194, 0.18244646, 0.217531, 0.07504621, 0.024808811, 0.23533674, -0.022842843, 0.05035676, -0.011317847, 0.7755237, 0.14858165, -8.2921815e-08, -0.04540463, 0.11160265, -0.0009788543) * go_3(-1.0, 0.0); - result += mat4(-0.14826688, -0.097891875, -0.13205692, -0.059139438, -0.13794315, -0.2652887, -0.11130958, -0.05137257, -0.1176455, -0.1548706, -0.10306716, 0.21789181, -0.009209018, 0.011220653, 0.01963476, 0.012935865) * go_3(-1.0, 1.0); - result += mat4(0.11714751, 0.15236345, 0.13536146, 0.044848517, 0.34835097, 0.13658829, 0.36627477, -0.27132225, -0.3091611, 0.20383716, 0.30317453, 0.08233188, -0.07287086, -0.048854213, 0.14926453, 0.033089206) * go_3(0.0, -1.0); - result += mat4(0.06970943, -0.11879602, -0.04682354, 0.06618747, 0.22552045, -0.13497396, 0.08345175, -0.255251, 0.15757652, 0.069464825, 0.37833855, -0.2546535, -0.16741769, -0.0860299, -0.0130390655, 0.09818734) * go_3(0.0, 0.0); - result += mat4(-0.07983536, 0.06403843, -0.07103762, -0.08339309, -0.055773012, 0.009426009, -0.12089462, -0.16594686, -0.11570191, -0.15629323, 0.054537755, 0.1888691, -0.13647257, -0.020126633, -0.17405704, -0.26438174) * go_3(0.0, 1.0); - result += mat4(-0.11210597, -0.020617625, -0.13101855, -0.17561626, -0.043740314, 0.23093803, -0.016813299, 0.09149021, 0.18216842, -0.043552347, 0.023779068, -0.10780718, -0.016673947, 0.14319964, -0.028260237, -0.124928825) * go_3(1.0, -1.0); - result += mat4(-0.03160608, -0.2333736, -0.13623776, -0.026613101, -0.26093182, 0.0132271405, 0.13844319, -0.02270748, 0.10522583, 0.18912983, 0.073725015, -0.27355325, -0.0055876593, 0.16790742, -0.07568777, 0.06618935) * go_3(1.0, 0.0); - result += mat4(0.022589413, 0.07764155, 0.07209622, -0.056753542, 0.0568345, -0.16099633, -0.1312878, 0.02636607, -0.21696982, -0.059245802, -0.08554336, 0.14966543, -0.059751473, -0.12615988, -0.04726769, 0.05051841) * go_3(1.0, 1.0); - result += mat4(0.08186889, 0.08205334, 0.023400525, -0.014372715, -0.32853618, 0.20950803, -0.13900198, 0.033662543, 0.22546336, 0.51378864, 0.25709614, 0.0690995, 0.024139842, 0.06293423, -0.016842663, -0.0019389848) * go_4(-1.0, -1.0); - result += mat4(0.08322223, 0.20575687, -0.12917835, -0.051425036, -0.10029536, 0.020689568, -0.62112635, -0.15488598, -0.12642258, 0.27025947, -0.10352515, -0.094899215, -0.07861278, -0.008126564, -0.36391425, 0.012501281) * go_4(-1.0, 0.0); - result += mat4(0.09727261, 0.2485468, 0.032302193, -0.056679122, -0.30999616, -0.15299593, -0.023860209, -0.016379328, 0.20444955, 0.24193929, -0.047571138, -0.13646403, 0.07320446, 0.11940953, 0.081255615, -0.024622988) * go_4(-1.0, 1.0); - result += mat4(-0.012735532, -0.0026588705, 0.049573418, -0.03732182, -0.550759, -0.19040847, -0.092085555, 0.050688766, 0.05871898, 0.65302145, 0.0486849, -0.015391376, -0.088805616, -0.1919315, -0.18541074, 0.064208336) * go_4(0.0, -1.0); - result += mat4(-0.25550497, 0.076505475, -0.0033188355, 0.05434708, -0.6988797, -0.44051754, -0.7110294, -0.6219069, -0.18371364, 0.03994295, 0.22495036, 0.2654511, 0.039869636, -0.0014285883, -0.3385523, 0.03384559) * go_4(0.0, 0.0); - result += mat4(0.12577426, 0.18141976, 0.017276304, -0.030196752, -0.3411355, -0.051372755, -0.4402098, -0.2307844, 0.2475909, 0.042480852, -0.13148455, 0.08761176, 0.09051365, 0.04634071, -0.1398518, -0.09816492) * go_4(0.0, 1.0); - result += mat4(0.082957186, 0.20064567, -0.0039741206, -0.101500906, -0.11700493, 0.029862897, -0.12905416, 0.2396674, -0.0837802, 0.53440446, -0.044294536, -0.03571166, 0.043897923, -0.052617326, -0.15071645, 0.032061413) * go_4(1.0, -1.0); - result += mat4(-0.11662253, 0.11108744, 0.15453078, 0.07819891, -0.25460127, -0.8427337, -0.07924075, 0.060776, -0.07543319, 0.1565062, -0.12689075, -0.053272385, -0.19933213, -0.020827955, 0.013956402, 0.21194445) * go_4(1.0, 0.0); - result += mat4(-0.0043281335, -0.024467073, 0.051124696, 0.08090264, -0.30834627, -0.67489, 0.2619303, 0.23885296, 0.20223773, 0.23991251, 0.01228539, -0.077657975, 0.025452869, -0.03739561, 0.042129666, 0.11460913) * go_4(1.0, 1.0); - result += mat4(0.06228207, -0.14803374, 0.010911389, 0.09355621, 0.023043629, 0.031996407, -0.055188306, -0.014802153, -0.019913547, 0.049278714, -0.08680487, -0.109947994, 0.0075249076, 0.05728937, -0.23096122, -0.14276639) * go_5(-1.0, -1.0); - result += mat4(-0.13976647, -0.06370508, -0.103730015, 0.036839988, -0.034798823, 0.10165849, -0.22992481, -0.22844586, -0.09660402, -0.00035895672, 0.043261856, -0.048690017, 0.07580462, -0.076795, 0.104297355, 0.064719155) * go_5(-1.0, 0.0); - result += mat4(0.20086232, 0.21900544, 0.100586765, -0.1263965, 0.08518987, 0.07015036, 0.1540687, -0.027686164, -0.2645977, -0.21961495, -0.049981266, 0.04538352, 0.07476041, 0.015029907, -0.0283461, -0.06752002) * go_5(-1.0, 1.0); - result += mat4(0.025824754, 0.009975207, -0.09909158, -0.007285313, 0.018532153, -0.17034489, -0.22879048, 0.11958223, -0.02237275, -0.039665785, 0.10340932, -0.035260696, -0.044261284, -0.08655165, -0.106472224, 0.050346926) * go_5(0.0, -1.0); - result += mat4(-0.088629484, -0.03668536, -0.09841912, -0.026597997, -0.053007387, 0.10285643, -0.21886663, -0.16486467, -0.06485831, -0.16549312, 0.09329481, 0.019519072, 0.125703, 0.04451335, -0.057531886, 0.016026434) * go_5(0.0, 0.0); - result += mat4(0.1822173, -0.050538287, 0.13174933, 0.12418439, 0.089775965, 0.20749187, -0.027725866, -0.19011584, -0.08552012, 0.0063636974, -0.09168926, -0.30534875, 0.06661879, -0.06904948, -0.030606193, 0.11095211) * go_5(0.0, 1.0); - result += mat4(0.105299786, -0.35318968, -0.09098853, -0.0369341, 0.0002527501, -0.0522018, -0.09358501, -0.045713484, 0.0027285013, 0.048836533, 0.13147967, -0.048738208, 0.059378657, -0.10914055, 0.11926634, 0.075568035) * go_5(1.0, -1.0); - result += mat4(0.2516043, -0.24786504, -0.10248864, -0.0040028943, 0.02035929, 0.21344659, -0.18807223, -0.15342413, 0.10871073, 0.084864154, 0.1361142, 0.0115587525, 0.11032122, -0.12804365, -0.11517307, 0.029220797) * go_5(1.0, 0.0); - result += mat4(0.0013311467, 0.031627458, -0.07854846, -0.057380144, -0.058437843, -0.034605294, 0.088147335, 0.03749221, 0.018598026, 0.017132863, 0.0018768669, -0.04457343, 0.03682849, -0.055201598, -0.0021610786, -0.08538003) * go_5(1.0, 1.0); - result += vec4(0.12639354, -0.013081255, 0.0065587023, 0.046620134); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.011583964, -0.039870065, -0.15999149, 0.08675985, 0.08109101, -0.1879774, 0.19331096, -0.4534524, -0.12586977, 0.011471076, 0.19720814, -0.1143906, 0.07553728, -0.056127805, 0.1635918, -0.17931661) * go_0(-1.0, -1.0); - result += mat4(0.067819625, -0.21503527, 0.09939146, -0.07270988, -0.059113953, -0.049392458, 0.28810808, -0.14547947, -0.12949272, -0.0024433902, 0.38158932, -0.07837205, -0.036141198, 0.15529773, -0.11398279, -0.13650618) * go_0(-1.0, 0.0); - result += mat4(-0.033942446, -0.031523492, 0.088098265, -0.20998281, -8.739418e-06, 0.176242, -0.0481297, 0.052109815, 0.081447944, -0.14213382, 0.277246, -0.11737086, -0.13384427, -0.0008667019, 0.14954486, 0.12667161) * go_0(-1.0, 1.0); - result += mat4(-0.19201736, 0.12778927, -0.038250033, -0.5468646, -0.0061836247, 0.18480751, 0.044333503, 0.26007488, -0.20757933, 0.19695, -0.29442382, -0.22411272, 0.004405764, -0.034501124, 0.057751704, -0.03413746) * go_0(0.0, -1.0); - result += mat4(0.24880652, 0.1541801, -0.012062207, -0.6005811, -0.14904043, 0.05525859, -0.10741317, 0.1890063, -0.035635296, 0.3005301, -0.2797406, 0.8594579, 0.07482009, -0.10378448, 0.08236929, -0.26407042) * go_0(0.0, 0.0); - result += mat4(0.0073660286, -0.26556304, -0.1433165, 0.25972745, 0.23314878, 0.027763477, -0.11621574, -0.21574795, 0.24350981, -0.006988954, -0.02177087, -0.13037811, -0.1166682, 0.17278492, 0.08241569, 0.51040107) * go_0(0.0, 1.0); - result += mat4(0.13853693, -0.06968601, 0.12298946, 0.017782336, 0.012372836, 0.027876694, -0.27880472, -0.18076333, -0.0397836, 0.2420896, 0.038473837, -0.1555481, 0.04083059, -0.073141545, 0.14184499, 0.30984175) * go_0(1.0, -1.0); - result += mat4(-0.3133015, -0.09274826, 0.13639203, 0.10206795, -0.08598331, 0.03450585, 0.19280651, -0.08538865, -0.008546558, -0.07174769, -0.20052853, -0.24860515, -0.1470964, -0.22390126, 0.07744998, -0.002739885) * go_0(1.0, 0.0); - result += mat4(-0.006748567, 0.07274748, 0.092211284, 0.14483126, -0.11027929, 0.1201977, -0.04872484, -0.16433857, 0.044397447, -0.21384367, 0.03269424, 0.10942982, 0.04403927, 0.010967787, -0.040405788, -0.03232669) * go_0(1.0, 1.0); - result += mat4(-0.008280273, 0.024787866, 0.037189875, 0.03429621, -0.14698292, 0.094748855, 0.11563344, -0.073624834, -0.029853089, 0.07087531, -0.05736988, 0.11237037, -0.04985742, 0.056539766, -0.020783758, 0.12329614) * go_1(-1.0, -1.0); - result += mat4(-0.03344095, -0.0073405057, 0.05190122, 0.12998703, -0.048184916, -0.13144512, 0.031402104, 0.43577522, 0.112474926, -0.08905257, 0.10081381, -0.014079196, 0.09510892, -0.03853581, -0.20324658, 0.1589196) * go_1(-1.0, 0.0); - result += mat4(0.034226835, -0.038741812, -0.020816153, -0.13061026, -0.020475632, -0.16419771, -0.0076826485, -0.04103266, -0.0056703947, 0.06705962, 0.026199229, -0.019306373, -0.0067688744, -0.07038936, -0.104216576, 0.12684165) * go_1(-1.0, 1.0); - result += mat4(-0.008213376, -0.10455055, 0.04212865, 0.05025464, -0.07784179, 0.018042147, -0.023232944, 0.25375158, -0.009442334, -0.07854094, -0.040824052, 0.09969908, -0.07734574, 0.010816756, -0.098997355, 0.22808696) * go_1(0.0, -1.0); - result += mat4(-0.09186444, -0.070967846, -0.18332118, -0.13047308, 0.07874793, 0.49928188, -0.19095366, -0.5786626, -0.076766655, 0.00328989, -0.027825667, -0.46311954, 0.18953162, 0.0067680115, -0.39336485, 0.21162145) * go_1(0.0, 0.0); - result += mat4(0.067058854, 0.097902276, 0.11048054, 0.08798107, 0.24173008, -0.09251265, 0.040146023, 0.051595293, -0.024550369, -0.054440435, 0.002777188, 0.10740609, 0.12708955, -0.1126051, 0.08698823, -0.22985286) * go_1(0.0, 1.0); - result += mat4(0.009401559, -0.00019733842, -0.0391449, 0.07650643, 0.117760375, -0.16319785, -0.042495195, -0.23318908, 0.024536118, 0.12618859, -0.011912352, 0.09087688, -0.2767169, -0.044689544, 0.18786801, -0.020456426) * go_1(1.0, -1.0); - result += mat4(-0.034666687, -0.037431296, -0.12936176, -0.20454895, -0.30241257, -0.019945377, 0.01616507, 0.13762684, 0.055600353, -0.01146059, -0.013451368, 0.16529311, 0.42141652, 0.17878959, -0.322346, -0.2869838) * go_1(1.0, 0.0); - result += mat4(0.00015858973, -0.026061518, 0.056444857, 0.0891557, 0.08452023, -0.118858494, 0.052117698, 0.10851732, -0.0738216, -0.021903642, 0.041175738, -0.0327392, 0.5465747, -0.22983976, -0.2643581, -0.41978332) * go_1(1.0, 1.0); - result += mat4(-0.071339466, 0.20363729, -0.12277878, -0.18987495, -0.076909326, 0.040142104, 0.19751047, 0.09099594, 0.05504884, 0.010637861, -0.07010218, 0.016844785, -0.0025642936, -0.07132042, -0.0058730873, 0.114345245) * go_2(-1.0, -1.0); - result += mat4(-0.12181514, 0.09113612, -0.011027632, 0.1210622, -0.11706013, 0.03866967, -0.3818603, 0.071857385, 0.10714353, 0.05537742, -0.44725725, 0.03664743, 0.13571225, -0.13654736, -0.05921695, -0.023738123) * go_2(-1.0, 0.0); - result += mat4(-0.023582853, 0.09176081, -0.021919282, -0.010129313, 0.031890567, -0.07508517, -0.08540747, 0.05653626, 0.05514676, -0.0798297, 0.18732204, -0.030211389, -0.10890019, -0.0084348805, -0.027744634, 0.08252744) * go_2(-1.0, 1.0); - result += mat4(0.46878332, 0.26391587, 0.1209319, 0.20555447, -0.14922385, 0.051061515, -0.098676264, -0.79184246, -0.013350073, -0.08962262, 0.13399342, 0.06365851, -0.14557728, -0.06463198, -0.08577713, 0.013490423) * go_2(0.0, -1.0); - result += mat4(0.09800499, 0.20487864, 0.04297167, -0.17064336, -0.18083592, 0.07161958, -0.25937584, 0.2956417, -0.06518691, -0.041915365, 0.2427435, -0.27577895, 0.042372942, 0.012740312, 0.1629995, -0.068871476) * go_2(0.0, 0.0); - result += mat4(-0.09425951, -0.0002062786, 0.23311934, -0.006410014, -0.12866448, 0.007478842, -0.033752777, 0.25421995, -0.083972536, 0.23449679, -0.010915457, 0.028103303, -0.034862384, -0.1672906, -0.018962707, -0.18321303) * go_2(0.0, 1.0); - result += mat4(0.07923952, -0.008543305, 0.034679245, -0.11071784, -0.18627429, 0.003675945, 0.0069275787, -0.044213627, -0.006995472, 0.048261233, -0.06831886, 0.08082691, 0.09143829, 0.016518226, -0.05343353, -0.059744157) * go_2(1.0, -1.0); - result += mat4(-0.068577155, 0.07070798, 0.012206329, 0.060340866, -0.15496197, -0.048976723, 0.1804755, 0.023005864, 0.10723597, -0.11200869, -0.09880576, 0.04989044, 0.022357088, -0.037169944, 0.07880648, 0.072531044) * go_2(1.0, 0.0); - result += mat4(0.18387286, 0.03215834, -0.14121926, -0.10857612, -0.052505493, 0.04517108, -0.011841349, 0.004303513, 0.106845826, 0.15006103, 0.08652394, 0.08490524, -0.061379727, 0.08679647, -0.040883318, 0.08898481) * go_2(1.0, 1.0); - result += mat4(-0.23395903, 0.14408536, 0.06144857, -0.6685949, 0.031935096, 0.12004766, 0.26079124, -0.029172074, -0.03897466, 0.15112093, -0.07277923, 0.03711819, 0.16760348, 0.0568828, -0.065560065, 0.00956802) * go_3(-1.0, -1.0); - result += mat4(-0.04025016, 0.1942882, 0.3924612, -0.04801865, -0.00043523984, 0.14166853, 0.07607167, 0.08827246, -0.013007562, 0.2740378, 0.17477411, -0.12968275, -0.049680926, -0.050259456, 0.45260057, -0.577762) * go_3(-1.0, 0.0); - result += mat4(0.14644562, 0.031796087, -0.09817545, 0.20418191, -0.0067933775, 0.056546275, -0.21122308, 0.0013088459, -0.01669626, -0.06921733, -0.036989935, -0.011311058, -0.13346042, 0.058525432, -0.20613761, 0.20606859) * go_3(-1.0, 1.0); - result += mat4(0.030689783, -0.044584632, -0.1423556, 0.46852973, 0.1544211, 0.09648401, -0.02908366, 0.20236433, -0.209728, 0.14151458, 0.043298278, -0.09896984, -0.010364637, 0.105616786, 0.015112407, 0.1621763) * go_3(0.0, -1.0); - result += mat4(0.26286677, -0.18297276, -0.008437637, 0.23164693, -0.17953826, 0.0068245744, 0.3154146, 0.013059944, 0.01976866, 0.23886378, -0.41287166, 0.5972539, -0.096666135, -0.041894518, 0.09390394, 0.21449414) * go_3(0.0, 0.0); - result += mat4(-0.10464677, 0.13162361, 0.15632801, -0.08477776, 0.019359391, 0.011527983, 0.1291731, -0.23251401, 0.12450163, -0.109221414, -0.15897743, -0.14652708, -0.20315395, -0.14564586, 0.020215273, -0.32138833) * go_3(0.0, 1.0); - result += mat4(0.0016461449, -0.019713728, 0.0021448475, 0.23474461, -0.023654517, 0.3125121, -0.14093982, 0.029511975, -0.06882552, -0.055134527, 0.08678149, 0.16168617, 0.056411985, -0.003294866, -0.086585745, -0.08039331) * go_3(1.0, -1.0); - result += mat4(0.025475128, -0.13736734, -0.23040788, -0.14943235, 0.105925016, 0.035434112, -0.3531705, -0.08996714, 0.16017611, 0.32583725, -0.0015653507, -0.20779954, 0.052627537, 0.15831038, -0.04017022, 0.17487001) * go_3(1.0, 0.0); - result += mat4(-0.02480846, -0.007830464, -0.0036758396, -0.23093869, 0.09558813, -0.114281885, 0.031678613, -0.009195237, 0.06701917, 0.22061102, -0.09497275, -0.049442247, 0.035844408, -0.0007537016, 0.022630664, -0.038742796) * go_3(1.0, 1.0); - result += mat4(0.041537244, -0.07261114, -0.04763458, 0.10301855, 0.17563294, -0.0015564843, -0.37491855, 0.98893, -0.033186004, 0.02857216, 0.08441547, -0.10630457, -0.0057512764, -0.072272584, 0.04433026, -0.03993334) * go_4(-1.0, -1.0); - result += mat4(0.045594532, -0.09183751, -0.07595133, -0.29140073, 0.14685835, -0.11706308, -0.1521791, -0.08122252, -0.16447383, -0.16774787, 0.031189548, -0.049414303, 0.11017621, -0.039800264, -0.026208388, 0.010578009) * go_4(-1.0, 0.0); - result += mat4(-0.008146379, 0.011186087, 0.06602373, 0.12634839, -0.15983777, 0.47099414, -0.45333612, 0.8108099, 0.060124353, -0.055181783, 0.060738478, -0.19588436, -0.058250163, 0.07546748, -0.12299866, 0.14861311) * go_4(-1.0, 1.0); - result += mat4(-0.061107293, 0.03472494, -0.02506493, -0.20965452, 0.06124681, -0.10108107, -0.016206535, 0.9110013, -0.1416294, 0.08154053, -0.031441186, 0.0186752, 0.0034352038, -0.07802204, 0.017881326, 0.08767849) * go_4(0.0, -1.0); - result += mat4(0.111084074, 0.15226965, 0.18580344, 0.2079405, -0.13621394, -1.091612, 0.61654764, -0.4794665, 0.06974509, -0.13632853, 0.075810306, 0.23651427, -0.13307844, -0.15254645, 0.3380616, -0.23381148) * go_4(0.0, 0.0); - result += mat4(-0.087361775, -0.18112153, -0.041845977, 0.06846624, -0.5374386, 0.0951175, -0.07031933, 0.6016942, 0.2098498, 0.14762096, -0.07894201, 0.018698592, 0.015885107, 0.08625943, -0.06305365, -0.09532374) * go_4(0.0, 1.0); - result += mat4(-0.00532194, 0.023428405, 0.009051187, -0.026698198, 0.24106956, -0.120294146, -0.17878368, 0.5585901, -0.09603226, -0.27434218, 0.061267257, -0.067599274, 0.11577519, -0.07198036, -0.063585244, -0.054138158) * go_4(1.0, -1.0); - result += mat4(-0.0037090166, 0.12307526, 0.0906306, 0.25897357, -0.056975186, -0.1644774, 0.29305506, 0.8245228, -0.1015189, 0.12243611, -0.04579446, 0.03619774, -0.13700119, -0.093857154, 0.11116371, 0.28709015) * go_4(1.0, 0.0); - result += mat4(-0.06580517, -0.0050515556, -0.020180127, -0.12627304, -0.5295511, 0.20198601, 0.07984717, 0.49923962, 0.053387187, -0.14329363, 0.0334398, 0.027427796, -0.06010418, 0.06905177, -0.05953624, -0.0062744734) * go_4(1.0, 1.0); - result += mat4(0.10157902, -0.04258438, -0.081592366, 0.10231988, -0.0011280937, -0.0029477119, 0.122473806, 0.058182172, -0.12809396, -0.0764063, -0.02463603, 0.090703174, 0.016098853, -0.05153951, -0.10675215, -0.02805221) * go_5(-1.0, -1.0); - result += mat4(-0.006401907, 0.03299347, 0.021813435, -0.13645992, 0.023382979, 0.010197056, 0.06242549, 0.12870488, 0.019453553, -0.2611006, 0.36471257, -0.15937614, -0.15930663, 0.05387499, 0.016597098, -0.08595697) * go_5(-1.0, 0.0); - result += mat4(-0.124307014, 0.12072375, -0.0152935125, 0.11888215, -0.002845999, 0.06499965, -0.06901064, -0.03703204, -0.029126361, -0.0076392456, -0.060736757, 0.129555, 0.11537912, 0.116019435, 0.010435708, -0.028468154) * go_5(-1.0, 1.0); - result += mat4(-0.30459714, -0.17632067, -0.011205797, -0.221887, 0.10605666, -0.13572265, -0.46315852, 0.04301515, -0.13903672, 0.06458765, 0.06137365, -0.07876008, 0.094751015, -0.14028335, 0.116963856, -0.08032087) * go_5(0.0, -1.0); - result += mat4(-0.06367799, 0.02582219, 0.014640189, 0.18990557, -0.06407629, -0.32271802, 0.1840523, -0.19602421, 0.3909874, -0.36456084, 0.18965109, 0.7528314, 0.012954545, -0.15343507, -0.22583503, 0.25706828) * go_5(0.0, 0.0); - result += mat4(0.1301731, 0.058515985, 0.033280328, -0.24190922, -0.040143438, 0.058877766, 0.0054545617, 0.087361515, 0.27292597, -0.40958795, 0.026887156, -0.31366885, -0.0043431865, 0.12750955, -0.07194776, 0.065983064) * go_5(0.0, 1.0); - result += mat4(0.035723373, -0.095498726, 0.0782959, 0.15071936, -0.023301449, -0.05924046, 0.06547244, -0.10660772, -0.030093014, 0.07851236, -0.011449212, 0.047922783, -0.015065303, 0.03087975, -0.00836779, 0.09950588) * go_5(1.0, -1.0); - result += mat4(0.14543498, -0.117947996, -0.03933479, 0.004552818, -0.13139006, -0.122988954, -0.22851296, -0.13614058, -0.065790504, 0.18083169, 0.009247789, 0.11099354, -0.09211226, -0.16174947, -0.030774815, -0.087108776) * go_5(1.0, 0.0); - result += mat4(-0.03276944, 0.066936366, -0.0058282167, 0.036148816, -0.112155296, 0.00018165805, 0.1121539, 0.19087985, 0.19124067, -0.17718928, -0.218951, -0.27710462, 0.055448502, -0.14703886, -0.02985939, -0.13152236) * go_5(1.0, 1.0); - result += vec4(0.023773972, -0.01610134, -0.0063477294, 0.03926911); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.070009954, 0.021454038, -0.11847886, -0.13528088, -0.018916288, -0.007984584, -0.24044524, 0.19681533, -0.2256282, 0.062132522, 0.09804443, 0.1609667, -0.1681184, -0.2739988, 0.9826367, -0.7047149) * go_0(-1.0, -1.0); - result += mat4(0.15299161, 0.031075276, 0.3363494, 0.21731544, 0.16975908, -0.13952748, 0.2240078, -0.05287144, -0.10947391, -0.28058887, 0.1602415, -0.05242933, -0.012824572, 0.44019148, 0.183011, 0.22124447) * go_0(-1.0, 0.0); - result += mat4(-0.1933171, 0.010807793, 0.09619794, -0.11506685, -0.021847002, -0.032412205, -0.0695289, -0.36532974, -0.3062084, 0.23712663, -0.103008516, -0.1459631, -0.3775901, -0.15065736, 0.50798917, -0.319278) * go_0(-1.0, 1.0); - result += mat4(-0.035294224, -0.18208614, -0.07670704, 0.19304472, -0.031985164, 0.1892136, 0.25703606, -0.13320692, 0.15069315, -0.15903461, 0.09562073, 0.62043756, -0.23541127, -0.40577292, 1.0787953, -1.2457207) * go_0(0.0, -1.0); - result += mat4(0.026066521, -0.123162605, -0.44671676, -0.2474968, -0.15022507, 0.14640577, -0.16684136, -0.17727603, -0.10631298, -0.00019539552, -0.14931045, 0.513359, -0.14604786, 0.2310633, 0.7307062, 0.9524847) * go_0(0.0, 0.0); - result += mat4(-0.01440516, -0.029865097, -0.21874285, -0.08972308, -0.041655123, -0.31896067, -0.08689541, -0.44401455, 0.19876169, 0.28722167, 0.2994054, -0.11819685, -0.21186438, 0.09155155, -0.053684887, 0.06309117) * go_0(0.0, 1.0); - result += mat4(0.38075218, -0.043483753, -0.06272146, -0.3508819, -0.028731659, 0.11677864, 0.30532238, -0.1361271, 0.027849868, 0.26058978, -0.22731794, -0.31844667, -0.14439595, -0.43144438, 0.22429988, -0.8116798) * go_0(1.0, -1.0); - result += mat4(0.2698316, 0.10916783, 0.22091974, 0.25939828, -0.39838716, -0.56674814, -0.0027586184, 0.3153625, 0.02299242, -0.09457763, -0.18344624, -0.26338023, 0.808161, 0.42487702, -0.08384813, 0.2537601) * go_0(1.0, 0.0); - result += mat4(0.0016191471, -0.017978113, 0.07647931, 0.09275741, 0.047083963, -0.16048019, -0.35436496, -0.11364046, 0.14129135, -0.22842133, 0.2055642, -0.2851008, -0.26163805, 0.25209108, -0.07687645, 0.17382248) * go_0(1.0, 1.0); - result += mat4(-0.17505698, 0.050314635, 0.22755234, 0.08223936, 0.5061073, -0.03928098, -0.04852723, -0.2080106, -0.23748071, -0.11158337, -0.1185882, 0.25914934, -0.12613636, -0.14749174, -0.01269258, -0.029624067) * go_1(-1.0, -1.0); - result += mat4(0.10377744, -0.05466698, 0.078872405, 0.13041748, 0.3035502, 0.008530016, -0.0073189647, 0.08329345, -0.6060871, -0.16662528, -0.30371985, -0.2702, 0.61287826, 0.1879884, -0.35137656, 0.059505742) * go_1(-1.0, 0.0); - result += mat4(0.4154466, 0.027697539, -0.20323761, 0.053415433, -0.068815745, -0.08202049, -0.0044402266, -0.15027983, -0.20020244, 0.07059659, -0.41572148, -0.1883762, 0.4808424, 0.17841879, 0.34741637, -0.16586983) * go_1(-1.0, 1.0); - result += mat4(-0.49572352, 0.18716958, -0.11335317, -0.04769748, -0.10330109, -0.19025627, 0.041789476, -0.029715253, 0.41650102, -0.21882975, 0.00034815544, -0.14541556, -0.36252424, 0.08366534, -0.3358562, 0.14622436) * go_1(0.0, -1.0); - result += mat4(-0.61609584, 0.27124375, -0.19046734, -0.11064285, 0.07314146, -0.06847904, -0.10895851, -0.25303125, -0.31509212, -0.061137207, 0.77079886, 0.09762246, -0.12127141, 0.5360138, -0.10778708, -0.26520404) * go_1(0.0, 0.0); - result += mat4(0.14356199, -0.33016726, -0.10193467, 0.11632038, -0.2102557, -0.09183232, -0.05608626, 0.1077268, 0.42815325, -0.12325146, 0.07102939, 0.33383858, 0.2685298, -0.30266166, -0.14468539, 0.25896597) * go_1(0.0, 1.0); - result += mat4(0.24143316, -0.25761056, 0.10797443, -0.09529745, -0.2713075, -0.13745351, 0.35335636, 0.18980181, 0.1497739, 0.2171633, 0.061957028, 0.06298818, -0.5021309, 0.23157999, 0.33820194, -0.31056333) * go_1(1.0, -1.0); - result += mat4(0.5320622, -0.19934873, 0.23535317, 0.31637898, -0.22363397, 0.08788032, -0.39178285, -0.008990902, -0.123608015, -0.19913444, -0.057655413, 0.14251189, -0.10986118, 0.2881711, 0.17117414, 0.192134) * go_1(1.0, 0.0); - result += mat4(-0.17839171, -0.073765226, -0.008635483, -0.060226154, 0.06017481, -0.13104144, 0.12686783, 0.032242585, 0.2530974, -0.16110623, -0.063553855, 0.037782427, -0.16940302, 0.12327486, -0.26592708, -0.6268989) * go_1(1.0, 1.0); - result += mat4(-0.02958415, 0.17974854, -0.05410245, 0.33944428, -0.09253551, 0.07514051, 0.13740923, -0.28058362, -0.02765559, -0.11831436, -0.043005154, -0.11904006, 0.16704343, 0.04189509, -0.10330082, 0.1880131) * go_2(-1.0, -1.0); - result += mat4(-0.37475482, -0.01700356, -0.24596426, -0.4922382, -0.19088304, -0.016197044, -0.12311331, -0.036154404, 0.2840147, 0.118689395, -0.12786976, -0.2880571, -0.11529499, -0.1782456, -0.033142284, 0.13284667) * go_2(-1.0, 0.0); - result += mat4(0.19109744, -0.022636034, -0.20981206, -0.13425744, 0.06719846, -0.007916905, 0.03267867, 0.2379371, 0.14225921, -0.34617522, -0.05871524, 0.16368906, -0.11616345, 0.11237658, -0.045261133, -0.11723488) * go_2(-1.0, 1.0); - result += mat4(-0.08670845, 0.26602617, 0.44096178, -0.51279294, -0.056755852, -0.12593001, -0.33269683, 0.20696445, 0.1559452, 0.07681006, -0.09779268, -0.688887, 0.21316779, 0.17372929, -0.08544234, 0.07616171) * go_2(0.0, -1.0); - result += mat4(0.17020908, -0.12088683, 0.1419015, 0.12911774, -0.15688238, -0.28298134, -0.11700167, 0.19899802, -0.07609943, -0.029896088, -0.0050638276, -0.38834035, -0.08416907, 0.031337228, -0.28374615, -0.14694452) * go_2(0.0, 0.0); - result += mat4(0.06929038, -0.047811467, 0.117096715, 0.12538622, 0.08086667, 0.24495961, 0.3155886, 0.104587935, -0.01886312, -0.34588912, -0.27327782, -0.04555734, 0.23255315, -0.108082674, -0.13707769, -0.05873641) * go_2(0.0, 1.0); - result += mat4(0.00902887, 0.14967729, 0.32326877, 0.37786308, 0.086763926, 0.07875129, 0.018687664, -0.23617996, 0.10713405, -0.32334656, 0.03548578, 0.48193508, 0.16891663, 0.06672513, 0.015739288, 0.11815199) * go_2(1.0, -1.0); - result += mat4(-0.056735244, -0.12874928, -0.1966798, -0.006730039, -0.19457163, 0.5460189, -0.33285704, -0.16783655, -0.110312894, 0.26006797, 0.39838836, 0.04828549, -0.35588023, -0.046225607, 0.1470969, -0.03958509) * go_2(1.0, 0.0); - result += mat4(-0.040117856, -0.12115325, -0.09573767, -0.20720899, -0.31765452, 0.17502289, 0.32475054, -0.037348557, -0.6297341, 0.31640062, 0.13060059, 0.38800913, 0.022872448, -0.24634287, 0.078089714, -0.06475687) * go_2(1.0, 1.0); - result += mat4(0.091850154, 0.07503415, -0.029450072, 0.063198596, -0.48778293, 0.008516766, -0.011320089, 0.16324575, 0.25261796, -0.17494957, 0.05179325, -0.38840756, -0.0009285451, 0.23772798, -0.041317377, -0.2321146) * go_3(-1.0, -1.0); - result += mat4(-0.14229155, -0.0363765, -0.2688432, -0.050601564, -0.34335235, 0.06305365, 0.13397686, 0.080726914, 0.7566556, -0.13657099, 0.5557799, 0.32687777, -0.48564702, -0.2650894, -0.12913369, -0.120667666) * go_3(-1.0, 0.0); - result += mat4(-0.46836203, -0.0053843935, 0.121539764, 0.1515464, -0.08852458, 0.0457093, 0.17343567, 0.28838184, 0.1487209, -0.16409159, 0.36763063, 0.32707927, -0.6642105, -0.07492801, -0.10795077, 0.022325262) * go_3(-1.0, 1.0); - result += mat4(0.57899827, -0.13887906, -0.0097093545, 0.16584128, 0.02580304, 0.029060904, -0.07870976, 0.08426836, -0.49014091, -0.059810862, 0.07537706, 0.19709098, 0.50265956, -0.1979507, 0.04224913, 0.24166693) * go_3(0.0, -1.0); - result += mat4(0.5854048, -0.30505064, 0.11956023, 0.42225972, 0.23776995, -0.15392427, -0.24818493, -0.008560312, 0.14061272, -0.24819212, -0.43060255, 0.041263513, 0.1102007, -0.35617712, 0.11143811, -0.12615411) * go_3(0.0, 0.0); - result += mat4(0.038254753, 0.25506422, -0.04199388, 0.049952004, 0.09660053, -0.102070555, 0.03463346, 0.41572338, -0.8515757, -0.099683315, 0.41168302, -0.28354573, -0.033608474, 0.20575888, -0.09237519, 0.1317394) * go_3(0.0, 1.0); - result += mat4(-0.36307448, 0.21091977, -0.05185984, 0.23907793, 0.028207673, -0.03712817, -0.14677319, 0.012790144, -0.10698613, -0.10369875, 0.04410704, 0.24705076, 0.6489292, -0.32338777, -0.13414769, 0.06621839) * go_3(1.0, -1.0); - result += mat4(-0.75373167, 0.09019827, -0.17284726, -0.12543003, 0.27073398, -0.2086718, 0.27785063, -0.13103813, 0.02331414, 0.08186754, -0.20196521, 0.051684897, -0.06606664, -0.31958562, -0.21315438, 0.125855) * go_3(1.0, 0.0); - result += mat4(-0.038064726, 0.16583198, 0.32122764, 0.035743285, 0.12363822, 0.1127362, -0.14712748, -0.085392915, -0.24138255, 0.044777665, -0.05044951, -0.033647526, 0.030597545, 0.09082426, 0.2265798, 0.4736122) * go_3(1.0, 1.0); - result += mat4(0.1126977, -0.20046005, -0.25496894, 0.124036126, 0.10974965, 0.11985285, 0.084138885, 0.18124366, -0.07204373, 0.0064274063, -0.04832383, 0.08851591, 0.16612647, 0.03482884, -0.18090217, 0.047765564) * go_4(-1.0, -1.0); - result += mat4(-0.07905303, -0.18953685, -0.0394631, 0.3865751, -0.09878195, 0.0971415, -0.028516496, -0.028853778, 0.14474897, -0.09137614, 0.09731305, 0.40169916, 0.15572307, 0.1500765, -0.00012203158, 0.0064038946) * go_4(-1.0, 0.0); - result += mat4(-0.003821752, -0.06385342, 0.0072888564, -0.083775744, -0.060851365, 0.057136264, 0.04280462, -0.021202056, -0.048534214, -0.18506972, -0.12204474, 0.5779176, -0.04827323, -0.08722066, -0.07115785, 0.05368898) * go_4(-1.0, 1.0); - result += mat4(-0.2330202, -0.06303653, 0.29030174, 0.030189004, -0.33963275, 0.18114606, 0.29463735, 0.11328755, 0.07963053, 0.0031095785, -0.29962993, 0.28251857, -0.11494044, -0.0057895523, 0.14319211, -0.2488439) * go_4(0.0, -1.0); - result += mat4(-0.23654912, 0.22379474, 0.3198649, 0.056066927, 0.030691607, -0.07961141, -0.03144492, -0.088082604, 0.6778628, 0.132889, -0.055798188, -0.06978169, 0.12096563, -0.32717404, 0.09106718, -0.36815766) * go_4(0.0, 0.0); - result += mat4(-0.023105778, -0.06328445, -0.19508956, 0.03861484, 0.012225362, 0.19229671, 0.116407454, 0.14414418, 0.35368624, -0.024074793, 0.3326615, 0.27431, 0.09195309, -0.07196982, 0.04215389, -0.3849532) * go_4(0.0, 1.0); - result += mat4(0.07858679, -0.09443359, -0.29571265, -0.1362178, 0.0996039, 0.11245977, 0.027077818, -0.08518728, 0.33179262, 0.049214616, -0.05736423, 0.36015186, 0.15525928, -0.038635023, -0.39069554, 0.34784096) * go_4(1.0, -1.0); - result += mat4(0.058750402, -0.10020396, -0.07721487, -0.17439356, 0.16671538, 0.13477819, 0.16946232, -0.025819335, 0.34714434, -0.010198532, 0.11025432, -0.38616708, 0.12990142, 0.23817861, -0.019366616, 0.028044654) * go_4(1.0, 0.0); - result += mat4(0.14006312, 0.10630536, -0.2260768, 0.05714687, 0.092723176, 0.09547309, -0.0389109, 0.07675646, 0.058345646, -0.042954672, 0.06104659, -0.4122757, 0.16417535, 0.0037746713, -0.18294196, 0.30190903) * go_4(1.0, 1.0); - result += mat4(0.057622287, -0.035229363, -0.06553031, 0.10031876, -0.19319145, -0.048806723, -0.007425805, 0.019005304, 0.003586262, 0.016717708, 0.060107335, -0.06216915, 0.049704567, -0.05240107, 0.25620982, -0.31595117) * go_5(-1.0, -1.0); - result += mat4(-0.18573885, -0.111477345, -0.09373111, -0.21040887, 0.11643646, 0.07510521, -0.32174352, -0.15092906, 0.12905258, -0.027009318, -0.002743646, -0.041563954, 0.020309664, -0.034647387, 0.31882894, -0.37069848) * go_5(-1.0, 0.0); - result += mat4(0.17867199, -0.00943737, -0.010177444, -0.21181585, 0.104042746, 0.014474994, 0.018701844, 0.026212798, 0.03658747, 0.043956183, 0.043650407, 0.085389875, -0.014945577, -0.01762919, 0.182654, -0.22317432) * go_5(-1.0, 1.0); - result += mat4(-0.120912515, -0.039224375, -0.037017174, -0.23653193, -0.1008845, 0.028399386, -0.044548668, -0.45636034, -0.16566889, 0.013642447, 0.0137368515, -0.03482613, 0.13369492, -0.06382037, 0.22479321, -0.23690398) * go_5(0.0, -1.0); - result += mat4(-0.4373671, -0.23222357, -0.21916443, 0.3293385, 0.028744029, 0.15837203, 0.023399707, 0.10409895, -0.41181034, 0.043568164, -0.009273385, 0.21109276, 0.16801079, 0.030154167, -0.009720421, -0.18788648) * go_5(0.0, 0.0); - result += mat4(-0.072376475, -0.02011798, -0.10647262, 0.020971974, -0.2182798, 0.11682645, -0.087513156, -0.13088813, -0.008121755, 0.0039800145, 0.038333565, -0.11610967, 0.027469315, -0.056020927, 0.15623987, -0.056618977) * go_5(0.0, 1.0); - result += mat4(-0.13373947, -0.033171114, 0.06283731, -0.08029521, -0.24974878, -0.03945939, 0.034578755, -0.1890085, -0.027030889, 0.0749198, -0.016240204, 0.03943091, 0.030432291, -0.044505976, 0.19445403, -0.49589068) * go_5(1.0, -1.0); - result += mat4(-0.1509842, -0.0070381155, 0.012917948, 0.17059498, 0.029610088, -0.10878063, -0.008113074, 0.056289833, -0.054603256, 0.09829515, 0.03806881, 0.17829162, -0.0015822726, -0.08691946, 0.20231368, -0.19972196) * go_5(1.0, 0.0); - result += mat4(0.029532772, 0.07929085, -0.11437378, 0.19494608, 0.032031387, -0.028734982, -0.1297608, 0.137159, -0.022271536, 0.09515793, -0.078155525, 0.23037949, -0.04492241, 0.0027398348, 0.13030772, -0.3092417) * go_5(1.0, 1.0); - result += mat4(-0.20163082, 0.10821193, -0.008131394, 0.23895654, -0.088109724, 0.027591089, -0.06744196, -0.16356489, 0.14405222, -0.03198801, -0.035864875, -0.1109604, -0.20993288, 0.006086241, 0.17663592, -0.15123697) * go_6(-1.0, -1.0); - result += mat4(0.15604545, 0.0863649, -0.17487015, -0.046291944, -0.06473543, -0.046659626, -0.06383705, 0.20159698, 0.14458497, 0.043557648, -0.16473973, 0.27218005, 0.11444152, -0.17841269, 0.0213813, -0.09379467) * go_6(-1.0, 0.0); - result += mat4(-0.09508709, 0.062292904, -0.025705643, -0.046973627, 0.035843458, -0.020717923, 0.0016703135, -0.120141126, -0.07056921, 0.0071509765, 0.0033964573, 0.15667385, 0.001521539, 0.02383701, 0.11906247, 0.015913757) * go_6(-1.0, 1.0); - result += mat4(-0.023991859, 0.057200454, -0.27439624, 0.23484877, 0.27387905, -0.027218517, -0.043888092, -0.103732556, -0.0017815046, -0.04338658, 0.028682018, -0.029997526, 0.09857438, -0.099476606, -0.2005576, 0.21962215) * go_6(0.0, -1.0); - result += mat4(0.17833887, 0.036116857, -0.17426641, -0.3021426, -0.08815194, 0.09120692, -0.09277666, 0.31938124, -0.12322653, 0.07583539, 0.40784645, -0.2529727, 0.060947243, 0.29199588, -0.09663916, -0.0887749) * go_6(0.0, 0.0); - result += mat4(0.12118307, 0.072123915, 0.032619722, -0.14627928, -0.17117277, -0.20412678, 0.10590516, -0.120998636, -0.09727269, 0.10894508, 0.08592984, -0.091238625, 0.19324283, -0.21001537, -0.28439295, 0.55045736) * go_6(0.0, 1.0); - result += mat4(0.012281795, 0.081385076, 0.11878277, 0.0492705, 0.044748496, 0.023902494, 0.048969056, -0.020066973, 0.008425134, -0.039190397, -0.23549677, 0.16787378, -0.08247198, -0.09669504, 0.2364321, -0.15428442) * go_6(1.0, -1.0); - result += mat4(-0.06404987, 0.0792038, 0.0879481, 0.2292919, -0.037722748, -0.06653894, 0.014114178, 0.06494269, -0.08017585, -0.03293329, 0.08816353, -0.1719619, -0.033170886, -0.13535172, -0.15126792, -0.028171781) * go_6(1.0, 0.0); - result += mat4(-0.0939603, -0.04363446, 0.21171579, 0.08820829, -0.15083222, 0.03214101, 0.09666204, 0.07437523, 0.21149153, 0.08965673, -0.2026921, 0.45489082, -0.12321808, 0.020059932, 0.22567947, -0.1652867) * go_6(1.0, 1.0); - result += mat4(0.058340825, -0.009565485, -0.04712614, -0.011693445, 0.109775394, 0.1345538, -0.14835285, -0.03637253, -0.045945812, 0.057066254, 0.0012826056, 0.17587218, -0.05606375, 0.039724518, 0.14448565, -0.06710324) * go_7(-1.0, -1.0); - result += mat4(-0.03129011, -0.09362061, -0.1680952, 0.42509457, -0.05798844, 0.07895778, -0.00010777998, -0.004981966, 0.015770718, 0.039250076, -0.016780263, -0.018409397, 0.013635053, 0.046897493, 0.10643381, -0.19698535) * go_7(-1.0, 0.0); - result += mat4(-0.17554706, -0.058096908, -0.11011958, 0.028699566, -0.09768116, 0.09436239, 0.096591026, -0.0271704, 0.083061986, 0.035011213, 0.018580453, -0.13121471, -0.008538906, 0.007896264, 0.16126987, -0.23193283) * go_7(-1.0, 1.0); - result += mat4(-0.15810363, -0.13618536, 0.14263584, -0.20569824, -0.026839454, 0.11919806, -0.014142015, 0.099571005, -0.22521633, 0.08088796, 0.004038379, 0.1033703, 0.044606976, 0.0591929, 0.13262387, -0.101969674) * go_7(0.0, -1.0); - result += mat4(0.023098622, 0.0056320266, -0.048355665, 0.15577006, -0.62205386, -0.028400926, -0.2078418, -0.21066222, -0.15307198, -0.22209099, -0.23168832, 0.20184901, -0.015974384, -0.047552537, -0.002478177, 0.042329706) * go_7(0.0, 0.0); - result += mat4(-0.13832586, 0.121770665, 0.09548324, -0.011305353, 0.08170726, 0.038764317, 0.13168605, -0.4840011, -0.016078193, 0.042103536, -0.07127359, 0.07069598, -0.077047385, 0.062384266, 0.04216962, -0.28733572) * go_7(0.0, 1.0); - result += mat4(0.0047042207, -0.005170153, -0.060513787, 0.24502122, 0.15005493, 0.19491407, -0.20482984, 0.028262774, -0.27250344, -0.018161086, -0.063804634, 0.2234186, -0.0013560655, 0.0017168024, 0.031621188, -0.039464153) * go_7(1.0, -1.0); - result += mat4(-0.017963814, 0.020721428, -0.11342004, 0.13301808, 0.0057044607, 0.16854525, 0.0016813589, 0.263098, -0.19456023, -0.006512073, 0.27316168, 0.113714844, -0.05583268, 0.049267832, 0.1909614, -0.028266707) * go_7(1.0, 0.0); - result += mat4(-0.09178215, -0.04123267, 0.019224923, -0.021475106, -0.03738984, 0.091329075, -0.11633343, 0.00926425, 0.055472236, -0.029774308, 0.10396517, -0.1399692, -0.08381618, 0.010906619, 0.13378097, -0.15872277) * go_7(1.0, 1.0); - result += vec4(0.06153431, -0.030526869, 0.17697038, -0.06977153); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.39232063, -0.31443354, 0.016747609, -0.19821034, -0.11440283, -0.108339086, 0.09855654, 0.09687135, -0.15667859, -0.30788472, -0.057983518, -0.30048364, -0.5892024, -0.03315241, 0.036535796, 0.042668976) * go_0(-1.0, -1.0); - result += mat4(-0.12170337, -0.31539497, -0.0080226185, -0.28167912, -0.026236918, 0.26168135, -0.086754136, 0.07140889, -0.11411177, 0.15551405, -0.04641522, 0.046217185, 0.080186784, -0.0001861396, -0.5990683, -0.24228567) * go_0(-1.0, 0.0); - result += mat4(0.0850365, -0.10327682, -0.1407833, 0.15661862, -0.1448079, -0.2993967, 0.08681482, 0.00483843, 0.18711449, 0.12147834, 0.114697695, -0.015375287, -0.39649305, -0.22024211, -0.08587565, -0.002201199) * go_0(-1.0, 1.0); - result += mat4(0.30565795, -0.3130614, 0.15354335, -0.21783416, -0.3877839, 0.003429585, -0.21440028, -0.024295159, 0.35766846, 0.02559725, -0.120454274, -0.10827954, -0.3355037, 0.6561727, -0.065990135, 0.30999345) * go_0(0.0, -1.0); - result += mat4(0.46554184, 0.43995824, 0.25583804, 0.20159459, 0.03730261, -0.15794723, 0.16795531, 0.11421282, 0.17099904, -0.22430302, 0.072461665, -0.06345064, 0.36006132, 0.47494593, -0.18869492, -0.04085313) * go_0(0.0, 0.0); - result += mat4(0.27438906, 0.00022448118, 0.099661484, 0.1397181, 0.12914467, -0.102830835, 0.045909263, -0.07967794, 0.2870382, 0.055183165, -0.031485636, 0.029727582, 0.37630266, 0.9301813, 0.28615892, 0.122112595) * go_0(0.0, 1.0); - result += mat4(-0.15251397, 0.09909433, -0.17192633, 0.0061163795, 0.06472459, -0.04261906, -0.13661696, -0.077453144, -0.7501463, 0.017666366, 0.16321932, 0.043644384, -0.05170323, 0.46000114, 0.32755983, 0.28597534) * go_0(1.0, -1.0); - result += mat4(-0.48834783, -0.038160775, -0.08875091, 0.04970968, 0.4627543, 0.03755849, 0.2540123, -0.21826492, -0.38032553, 0.32484698, -0.008446612, 0.23523396, 0.02375393, 0.27418464, -0.28132874, 0.15265541) * go_0(1.0, 0.0); - result += mat4(0.13747992, 0.11715287, 0.13201898, 0.0015658925, -0.2934619, -0.39777488, -0.07560646, -0.10565406, -0.04838937, 0.08350108, -0.019061742, 0.16467288, -0.05936286, -0.015435401, 0.4184143, 0.10496155) * go_0(1.0, 1.0); - result += mat4(-0.3240166, 0.08215981, -0.2075559, 0.19689886, 0.11150226, 0.06310339, -0.13621064, -0.15570635, 0.33679137, 0.04409631, -0.28714085, 0.031056935, 0.6626613, -0.08051886, 0.1722458, -0.22435535) * go_1(-1.0, -1.0); - result += mat4(0.24195263, -0.04580777, -0.4145571, -0.1574205, -0.042835433, 0.03784082, -0.026375433, 0.35892, 0.15977724, 0.0630263, -0.088371195, 0.02971135, 0.25729623, -0.15589325, 0.14479266, -0.05088765) * go_1(-1.0, 0.0); - result += mat4(0.48559383, -0.25281984, 0.36621982, -0.21811092, -0.32971957, -0.035721473, 0.019352507, -0.06045977, 0.2761817, 0.19758923, 0.089941375, 0.041624714, -0.041388534, 0.16949178, 0.031209668, -0.064278066) * go_1(-1.0, 1.0); - result += mat4(-0.32959136, 0.5905178, -0.121284775, 0.004792909, 0.23675677, -0.020328185, 0.13438764, 0.24885756, -0.17519131, 0.13370351, -0.1229379, 0.048159435, 0.17464967, -0.42540422, -0.13947602, 0.22700138) * go_1(0.0, -1.0); - result += mat4(-0.33010545, 0.31171462, 0.405461, -0.19268602, -0.19920933, -0.05938957, 0.0026099307, -0.24588005, -0.80367726, 0.67246026, -0.2002546, 0.06855837, -0.21781918, 0.74446076, -0.5982218, 0.2985812) * go_1(0.0, 0.0); - result += mat4(0.5674039, -0.4777194, -0.13907014, 0.12356176, -0.2920615, 0.0718882, 0.17865288, 0.20312083, -0.27032906, -0.34635755, 0.16373387, 0.03063499, -0.19903831, -0.19363025, 0.10843769, -0.26495013) * go_1(0.0, 1.0); - result += mat4(-0.17949842, -0.29433724, -0.23462017, 0.09636558, 0.20076938, -0.24068621, -0.056744654, 0.10993452, 0.04466387, -0.2755299, -0.13640761, -0.024520185, -0.46797183, 0.367952, 0.11696459, 0.22428559) * go_1(1.0, -1.0); - result += mat4(-0.011885658, 0.0891566, -0.037328225, 0.121865466, 0.048127756, 0.19165848, 0.031010484, -0.059921212, -0.21560976, -0.1529375, 0.12882216, 0.026642917, -0.11849831, 0.1641988, -0.06821976, 0.038913097) * go_1(1.0, 0.0); - result += mat4(0.014311083, 0.0046286825, 0.03766498, 0.030933104, 0.3158337, 0.014788744, -0.25061515, 0.3439588, 0.3746984, 0.011211178, 0.06807453, -0.14517218, -0.08588519, -0.44777295, -0.14026845, -0.112901196) * go_1(1.0, 1.0); - result += mat4(0.30676752, 0.22429968, 0.010868903, 0.19810227, 0.07854048, 0.0401537, -0.21871732, 0.024473034, 0.0754844, 0.21695364, 0.015986437, 0.32385147, -0.049408115, -0.0382484, -0.109464966, -0.17461152) * go_2(-1.0, -1.0); - result += mat4(-0.08928476, 0.16673279, 0.04767194, 0.09194907, 0.048144393, 0.10040854, 0.34817588, 0.038137782, 0.036133062, -0.037641533, 0.28543243, -0.2839514, -0.11791945, -0.19487488, -0.11268661, 0.05276339) * go_2(-1.0, 0.0); - result += mat4(-0.16383977, -0.31993598, 0.05208131, -0.0903597, 0.11033569, -0.0088908225, -0.054778915, -0.08319848, -0.06639396, -0.24900046, -0.2512979, -0.0019553688, -0.048192777, 0.03562768, 0.047395132, -0.05525853) * go_2(-1.0, 1.0); - result += mat4(-0.7830732, -0.4262562, -0.2673563, 0.13023588, 0.31384844, 0.1693089, 0.048528794, 0.15604164, -0.39588538, -0.08493865, 0.3310555, 0.08203675, -0.066885136, -0.0058401288, -0.17974985, -0.16163951) * go_2(0.0, -1.0); - result += mat4(-0.6983336, -0.59333223, -0.20371103, -0.3932194, 0.10534863, 0.04589214, -0.12699358, -0.15107739, -0.43941692, 0.13968801, -0.1860207, 0.25864246, -0.31358764, 0.02336987, -0.114363804, -0.2314969) * go_2(0.0, 0.0); - result += mat4(-0.13214386, 0.2762571, -0.07932436, -0.011312506, -0.1585973, -0.01644935, 0.0013558406, 0.073481865, -0.38878354, -0.008272082, -0.010028009, -0.12177282, -0.19708647, -0.20147185, -0.009344351, -0.039000046) * go_2(0.0, 1.0); - result += mat4(0.36948234, -0.027262207, 0.073340006, -0.11237642, -0.014205325, -0.033619095, 0.090520136, 0.044478547, 0.89536375, -0.25342697, 0.06966775, -0.25697634, 0.44092584, -0.02181121, -0.23286918, -0.16207126) * go_2(1.0, -1.0); - result += mat4(0.5282722, 0.2186328, -0.06594115, -0.005403383, -0.9999943, 0.1652842, -0.40371686, 0.045263674, 0.48378405, 0.5981784, -0.8636207, 0.48454443, 0.61362064, 0.40381622, -0.20037466, -0.35095415) * go_2(1.0, 0.0); - result += mat4(-0.15710682, -0.082183905, 0.025527366, -0.06832543, 0.45136708, 0.28492203, 0.21369967, -0.1544125, -0.21440476, 0.2747644, -0.07809032, -0.05409878, -0.09492401, -0.0042038485, -0.08335747, -0.1286338) * go_2(1.0, 1.0); - result += mat4(0.092377424, -0.29580644, 0.037406705, -0.057557207, -0.068813734, 0.025797142, 0.005817593, 0.13936609, -0.5533757, -0.0055351052, 0.3490144, -0.10275609, -0.3246664, -0.22240998, -0.06546209, 0.04502687) * go_3(-1.0, -1.0); - result += mat4(-0.040512305, -0.15789752, 0.3350875, 0.3248354, 0.11479105, 0.072781734, 0.11961662, 0.009017058, -0.7485467, -0.2354417, -0.18182847, -0.39436963, -0.21553181, 0.06693962, -0.10265758, -0.101919465) * go_3(-1.0, 0.0); - result += mat4(-0.29808417, 0.16832493, -0.36638075, -0.003277357, 0.30853003, -0.11783712, -0.04467285, 0.09799486, -0.29557002, -0.051879432, -0.10781173, -0.012533523, 0.13472205, 0.0886817, -0.095418304, 0.20694672) * go_3(-1.0, 1.0); - result += mat4(0.54963315, -0.51755005, -0.11815116, 0.44336796, -0.26965025, 0.063990854, -0.06830417, -0.22906917, 0.15537436, -0.12382655, 0.040594, 0.13573219, -0.32865304, -0.051071506, 0.07789849, -0.17451958) * go_3(0.0, -1.0); - result += mat4(0.108385645, 0.19099213, -0.13721561, -0.10001342, 0.36975056, -0.15690732, -0.011564509, -0.4645765, 0.9664348, -0.4172701, -0.12434381, -0.20082358, 0.025960991, -0.07957984, 0.06240927, 0.06882944) * go_3(0.0, 0.0); - result += mat4(-0.55891496, 0.5313842, -0.0052928664, -0.31153533, 0.27312106, 0.11299291, -0.20902458, -0.22780886, 0.18460937, 0.20829925, -0.22429292, 0.11375158, -0.24776565, 0.013294957, 0.108396605, 0.18705682) * go_3(0.0, 1.0); - result += mat4(0.17449534, -0.014089195, -0.005522746, -0.26652694, -0.3059182, -0.077219255, 0.13172182, 0.22815189, 0.29824528, -0.0018969525, -0.049221557, -0.02434726, 0.28403616, -0.30762187, -0.18281007, -0.069536164) * go_3(1.0, -1.0); - result += mat4(0.11734828, -0.099142194, -0.1678673, 0.113515854, -0.16090973, -0.018343726, 0.09375435, -0.11457814, 0.29799998, 0.14911132, -0.030187404, -0.0033569376, 0.51210696, 0.20057757, 0.018672027, -0.00072862353) * go_3(1.0, 0.0); - result += mat4(-0.4207862, 0.23023506, -0.045380734, 0.35523587, -0.31482896, 0.0016041965, 0.031437084, -0.11878056, -0.09631354, -0.44702205, 0.07262705, -0.019627657, 0.27565527, 0.30019623, -0.2416735, 0.13827145) * go_3(1.0, 1.0); - result += mat4(-0.21828848, -0.05362182, 0.092769556, 0.058445822, -0.015375804, 0.032911193, -0.016062194, 0.0023879025, -0.07955863, -0.18912281, 0.100602634, 0.18384646, 0.09833795, 0.13066116, 0.08606998, 0.060196545) * go_4(-1.0, -1.0); - result += mat4(-0.30196983, -0.13994773, -0.04102513, -0.021608166, 0.15173563, -0.0014104879, 0.013970848, 0.069105186, -0.046455324, -0.55526954, 0.39444688, 0.0815259, 0.10904215, 0.21681397, 0.06073383, 0.10265119) * go_4(-1.0, 0.0); - result += mat4(-0.11820481, -0.05975609, -0.13999549, 0.030522387, -0.013776436, -0.14367265, 0.009655233, -0.020354088, -0.117309436, -0.21025649, -0.0852297, 0.0050804066, 0.07790261, -0.07352538, -0.016056273, 0.030884959) * go_4(-1.0, 1.0); - result += mat4(-0.01982244, -0.14982677, 0.08542808, 0.114587806, -0.093505375, 0.009862345, -0.17831016, 0.15021613, 0.017223043, -0.05448468, 0.19507179, 0.005433668, -0.28699195, -0.0943735, 0.005008677, -0.084489435) * go_4(0.0, -1.0); - result += mat4(0.17592743, 0.16011396, -0.4458925, 0.03776147, -0.22227006, -0.1765121, -0.023907507, -0.12340803, 0.69395095, -0.42174822, 0.2619632, -0.08317782, 0.06564856, -0.07574905, 0.19617046, -0.15101147) * go_4(0.0, 0.0); - result += mat4(-0.0031664995, 0.0048539517, -0.029761892, -0.024908772, 0.038988, 0.083212, 0.022871153, 0.049879767, 0.5655658, -0.39324993, -0.41707525, -0.00069710996, -0.088931695, 0.5349101, -0.03700674, 0.19864099) * go_4(0.0, 1.0); - result += mat4(-0.09978203, -0.12430744, -0.005363638, -0.078683436, 0.16000083, 0.09070007, -0.08223272, 0.10610758, -0.09339724, -0.25193405, 0.060660124, 0.022009233, 0.028552014, -0.30671445, 0.04395066, -0.022646846) * go_4(1.0, -1.0); - result += mat4(-0.0025377637, -0.10979372, 0.0953052, -0.041535445, 0.028650977, -0.18192725, -0.13626699, -0.04126641, 0.41577348, 0.070594355, 0.17786773, -0.0019128436, 0.21811736, -0.3097873, -0.1697477, -0.05985297) * go_4(1.0, 0.0); - result += mat4(0.0029388457, -0.08754279, -0.057417464, -0.045205314, 0.14254501, -0.14048617, -0.029115621, 0.017037913, 0.23511319, 0.58405197, -0.045535047, -0.093041405, 0.24495944, 0.048594877, 0.16573521, -0.016364215) * go_4(1.0, 1.0); - result += mat4(0.0061783222, 0.03700483, 0.03310341, 0.03506661, 0.18640573, 0.060847793, -0.03938158, 0.002558664, 0.0066146054, -0.03961683, 0.11786358, -0.018774983, -0.023232952, -0.018498667, -0.02113431, -0.03875601) * go_5(-1.0, -1.0); - result += mat4(-0.07762769, 0.3220323, 0.0019882289, 0.11455374, 0.12809245, 0.054234043, -0.032796185, -0.004923056, 0.03533371, 0.23241599, -0.047939382, -0.005454499, 0.018655885, -0.06090632, -0.074992895, -0.022785714) * go_5(-1.0, 0.0); - result += mat4(-0.024499241, -0.0656105, 0.033745233, -0.06109949, 0.02657246, 0.099547654, 0.048236806, -0.08930123, -0.028375195, 0.21267472, 0.04065708, -0.029539475, -0.0034377375, -0.076174065, -0.08033416, 0.014191793) * go_5(-1.0, 1.0); - result += mat4(0.09567274, 0.17149109, 0.057815317, -0.02354373, -0.053182393, 0.07036649, 0.11426706, 0.0073960987, -0.042224813, -0.03242704, 0.028637128, -0.018156664, 0.027350018, -0.059693146, -0.025782553, -0.059870392) * go_5(0.0, -1.0); - result += mat4(-0.29396304, -0.14174098, 0.044468317, 0.048983667, -0.09083888, 0.14550914, -0.17293338, -0.019666478, -0.27275094, -0.026832746, -0.16039373, 0.05072858, 0.13158675, -0.0014240668, -0.19267258, 0.028367419) * go_5(0.0, 0.0); - result += mat4(-0.14670749, -0.20505863, -0.25351146, -0.18028821, -0.09074548, 0.12591866, -0.11648123, 0.08052676, -0.1030718, 0.055071495, -0.027647234, 0.036372066, 0.042164043, -0.24193078, -0.018126357, -0.08488727) * go_5(0.0, 1.0); - result += mat4(-0.002951344, -0.07835709, 0.0412822, 0.024059866, -0.17239328, -0.045480777, 0.031516057, -0.02321261, 0.16131492, -0.108720064, -0.13902234, 0.009038252, 0.019813707, -0.13780454, -0.08646045, -0.03967984) * go_5(1.0, -1.0); - result += mat4(0.087156996, -0.43204084, 0.08196673, 0.09000798, 0.11798731, -0.2800244, 0.013827372, 0.006278623, -0.027538646, -0.47985002, -0.07989979, 0.0101940865, 0.11476763, -0.08189494, -0.107904315, 0.0034190493) * go_5(1.0, 0.0); - result += mat4(0.10922693, -0.13929938, -0.14316928, -0.06415228, 0.10821941, -0.09326445, -0.10437615, -0.019490898, 0.02572968, -0.23569673, -0.18372843, 0.018998442, 0.019020457, -0.078145295, -0.12052183, -0.02904386) * go_5(1.0, 1.0); - result += mat4(0.047391865, -0.14862657, 0.10497325, -0.0060389596, 0.04090357, 0.07597069, -0.16701244, -0.045025267, 0.05439692, -0.0046527646, 0.10107427, -0.017686805, -0.09081038, 0.0033508723, -0.07428749, 0.083581686) * go_6(-1.0, -1.0); - result += mat4(0.24039297, 0.10254748, -0.08497433, 0.06220285, -0.21642606, 0.06099548, 0.05618001, 0.027991194, 0.11916666, 0.001376908, -0.04484436, -0.063753836, -0.080493644, -0.12548241, 0.22396187, -0.060979564) * go_6(-1.0, 0.0); - result += mat4(0.09228674, -0.10189853, -0.019978495, 0.055631284, -0.056667626, 0.042379495, -0.11306628, 0.015792474, -0.024159636, 0.17669754, -0.0015470447, 0.030659685, 0.049270805, 0.01379507, -0.07484134, 0.03997324) * go_6(-1.0, 1.0); - result += mat4(-0.08015897, -0.1573799, -0.0068566655, 0.024327071, -0.00024650464, -0.11511224, 0.10626316, -0.09424342, 0.035164617, -0.0071606585, 0.023877172, -0.0032834266, 0.03981932, 0.00094573526, 0.07893367, 0.058131382) * go_6(0.0, -1.0); - result += mat4(-0.09480482, -0.13352568, 0.11975561, 0.04046284, 0.017295167, 0.14661242, 0.034784466, 0.16060774, 0.12513426, 0.11618688, -0.19043984, -0.006898629, 0.33333287, 0.02068534, -0.144777, 0.054585308) * go_6(0.0, 0.0); - result += mat4(-0.040517613, 0.13882688, -0.10775904, -0.01107748, -0.22891715, 0.023514308, -0.07362997, 0.050480675, -0.15309371, 0.22601646, 0.050979435, 0.0078024655, 0.09704638, -0.113768086, 0.159759, -0.19680989) * go_6(0.0, 1.0); - result += mat4(-0.038060542, 0.060299598, -0.06167331, 0.070311025, -0.056030717, -0.10937594, -0.094534926, -0.05876128, 0.04186674, 0.05846574, 0.046057925, 0.050594475, -0.15031303, 0.033675846, 0.14669393, -0.020838607) * go_6(1.0, -1.0); - result += mat4(0.006198633, 0.008096492, -0.061412863, -0.038600348, 0.13099104, -0.024788823, 0.143207, 0.08146842, -0.09880114, 0.020192526, 0.093205445, -0.006562488, -0.10218187, 0.34932604, 0.017245278, 0.022239687) * go_6(1.0, 0.0); - result += mat4(0.019581253, -0.071536854, -0.079313144, 0.0039378665, 0.04372604, 0.0350227, -0.13975748, 0.02514243, 0.1482172, -0.1795845, 0.016553031, -0.114758186, -0.13846005, 0.028443053, -0.0028277517, 0.073823154) * go_6(1.0, 1.0); - result += mat4(0.019089226, -0.002865448, 0.114264086, -0.14795631, 0.052681867, 0.06782111, 0.005056374, 0.03333905, -0.045924906, 0.1271522, -0.022228748, 0.09460952, 0.0257857, -0.0404471, -0.100172006, -0.009518522) * go_7(-1.0, -1.0); - result += mat4(-0.0919395, 0.024952088, 0.02894272, -0.02876963, -0.17500453, 0.22578874, -0.05303085, -0.0015600728, -0.0076474883, -0.0018742654, 0.044667635, -0.029744165, -0.00179505, -0.012467833, -0.12192312, 0.034183223) * go_7(-1.0, 0.0); - result += mat4(-0.11467171, 0.036459688, -0.12508968, 0.062637016, 0.05442847, 0.023415027, -0.058653936, 0.27762222, 0.0033886922, -0.056405902, -0.1611357, -0.042607184, -0.029176304, -0.033276357, -0.060190573, 0.006230224) * go_7(-1.0, 1.0); - result += mat4(-0.10476976, 0.20189178, 0.013450291, 0.017824117, -0.07174306, -0.16174208, -0.0790696, -0.13154395, -0.119226985, 0.03126223, 0.08976427, -0.0017329347, 0.03171847, -0.062868886, 0.04638837, -0.03491934) * go_7(0.0, -1.0); - result += mat4(0.059950083, 0.10400816, -0.046370424, -0.012014035, -0.43914387, -0.18396273, -0.060568314, 0.010451131, -0.43835276, 0.026284682, 0.1604382, -0.10625134, 0.044843365, 0.10809218, 0.06464759, -0.046850365) * go_7(0.0, 0.0); - result += mat4(-0.06787761, -0.042850304, -0.15407841, 0.058458067, -0.17467526, 0.096576124, 0.21345392, 0.09298287, -0.01394914, -0.13355762, -0.13184176, 0.0003088022, 0.046734177, 0.028196447, -0.13506489, 0.0067693642) * go_7(0.0, 1.0); - result += mat4(0.053602345, -0.08111152, -0.017126815, -0.028242027, 0.092225246, 0.076781385, -0.089152336, 0.0012632497, -0.09276537, -0.24698547, 0.04423726, -0.06601727, 0.01814881, -0.13947123, -0.032667328, -0.019452555) * go_7(1.0, -1.0); - result += mat4(-0.0888714, -0.14888728, -0.03935948, -0.020991955, -0.07616056, -0.04555924, -0.09465727, -0.13786288, -0.305734, -0.3085076, 0.03795676, -0.021256099, -0.012537832, -0.23650081, -0.07035176, -0.028411875) * go_7(1.0, 0.0); - result += mat4(-0.0868341, -0.14694329, 0.08679206, -0.014810077, 0.022454316, -0.094533004, -0.17521082, -0.0076950863, -0.077531025, 0.11369054, -0.131653, -0.014213835, -0.08936547, -0.123560406, -0.031929504, 0.017496165) * go_7(1.0, 1.0); - result += vec4(0.05049932, 0.08230575, 0.58376503, 0.86909854); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14979692, -0.19874124, 0.7368574, -0.75289476, -0.07442179, -0.057006773, 0.052752588, 0.07042955, 0.023808982, -0.15449218, -0.214054, 0.4198038, -0.031717926, 0.42492926, -0.365123, -0.5385816) * go_0(-1.0, -1.0); - result += mat4(-0.20962773, -0.023108777, 0.058071185, 0.16705127, -0.13245003, 0.035289574, -0.2708952, -0.09654876, -0.031879663, -0.04658145, 0.34683147, 0.16727158, 0.0348443, 0.3031345, -0.3261166, -0.118750244) * go_0(-1.0, 0.0); - result += mat4(-0.21795142, -0.11076161, -0.05562235, -0.019234827, -0.013561418, -0.097614266, 0.017759917, -0.016897203, -0.35361412, 0.057772327, -0.06672376, 0.022556266, 0.10166518, -0.20721449, -0.33036092, 0.031573854) * go_0(-1.0, 1.0); - result += mat4(0.33822674, -0.014097686, 0.040684048, -0.18630835, -0.14371929, -0.044715706, 0.15923496, -0.001135727, 0.09309857, 0.043319203, 0.008005289, -0.06445179, 0.04558112, -0.3218687, -0.23799446, -0.05683568) * go_0(0.0, -1.0); - result += mat4(0.30100045, -0.16198196, -0.40970346, -0.08049791, -0.3257815, 0.32816964, -0.1036189, -0.01658084, 0.3158466, -0.099933214, 0.17709035, 0.015306898, 0.109196454, -0.8539901, -0.39478862, 0.44471648) * go_0(0.0, 0.0); - result += mat4(-0.25177294, 0.38001952, -0.10283977, 0.16721214, 0.47318378, -0.051106233, -0.1658626, 0.0006494121, 0.0790059, -0.2052262, 0.09690421, -0.24400221, 0.386201, 0.12295305, 0.008400798, 0.1569414) * go_0(0.0, 1.0); - result += mat4(0.13002181, -0.062052924, -0.105005205, -0.1063579, -0.2948124, -0.084252134, -0.1092418, 0.18163803, 0.087108664, -0.24015805, 0.0813893, -0.15364105, 0.4476238, -0.19498287, 0.058062855, -0.13685432) * go_0(1.0, -1.0); - result += mat4(0.080557905, 0.10061249, -0.019393712, 0.2723204, 0.37991402, -0.30517173, 0.15205608, -0.17223756, -0.1711708, 0.22243942, -0.51695263, 0.06089266, 0.2784161, -0.039997682, -0.27718592, 0.18410686) * go_0(1.0, 0.0); - result += mat4(0.04679752, -0.10547882, 0.065308206, -0.05089279, -0.03807331, 0.39167935, -0.033223882, -0.029149204, -0.11922506, 0.14605616, -0.026710276, 0.043473598, -0.14226817, -0.33978114, -0.13193306, -0.064798094) * go_0(1.0, 1.0); - result += mat4(0.16664545, 0.054396506, 0.5975169, -0.1282768, 0.033200808, 0.07221164, -0.26142395, -0.18964534, -0.13124959, -0.18198496, -0.6014699, 0.05141559, 0.5430321, 0.1740554, -0.34170282, 0.26922655) * go_1(-1.0, -1.0); - result += mat4(-0.3690329, -0.41274253, -0.17788443, -0.38740525, -0.31772953, 0.065274484, -0.10197657, -0.009203365, 0.014726659, -0.4838253, 0.6801823, 0.048202187, -0.004891756, 0.45931026, -0.42521614, 0.54947734) * go_1(-1.0, 0.0); - result += mat4(-0.022050077, 0.07676187, -0.2678602, 0.12050436, 0.2968012, 0.134127, 0.013001306, -0.022339938, 0.072250396, 0.16998878, 0.13204311, 0.1460555, -0.2108701, 0.085233, -0.33153787, -0.3943539) * go_1(-1.0, 1.0); - result += mat4(0.020494493, -0.13280667, 0.120742574, 0.18085496, -0.3993116, 0.27331954, -0.16451527, -0.12265906, -0.609543, 0.5610297, -0.51908624, -0.12770663, -0.06081323, -0.03547236, -0.3134851, 0.120467834) * go_1(0.0, -1.0); - result += mat4(0.694917, -0.056899358, 0.5973495, -0.36394402, 0.11194564, -0.014088698, 0.3335045, -0.30163172, 0.410675, -0.18881899, 0.6248168, 0.11293253, 0.007631114, 0.25432107, 0.13347992, 0.12681353) * go_1(0.0, 0.0); - result += mat4(-0.10188845, -0.25959828, -0.3245341, 0.27263215, -0.023503877, -0.072242714, 0.13622598, 0.21790865, -0.3163553, -0.013236621, -0.13055128, -0.20804474, -0.009641516, 0.20730485, 0.040377166, 0.13722788) * go_1(0.0, 1.0); - result += mat4(-0.4001694, 0.20498846, -0.04771135, -0.2705733, 0.097105324, 0.08779578, 0.018639572, 0.18933, -0.06865882, -0.24691378, -0.27062201, -0.028328577, -0.0036236667, -0.19430988, 0.022964898, 0.08762482) * go_1(1.0, -1.0); - result += mat4(-0.26447344, 0.597568, -0.75024736, 0.29766613, -0.040174056, 0.0043453, -0.034185186, -0.09291407, 0.14045602, 0.19046465, -0.013113876, -0.20518276, 0.1951194, -0.317452, 0.38230306, 0.16865042) * go_1(1.0, 0.0); - result += mat4(0.059703857, -0.38956463, 0.1103034, -0.0053544333, 0.067712605, -0.25418857, 0.18657285, 0.14283091, -0.3343347, 0.13270105, -0.22770841, 0.053509742, -0.21625842, -0.3108662, 0.7752985, 0.031922966) * go_1(1.0, 1.0); - result += mat4(0.27932245, -0.031156274, -0.8561641, 0.6776702, 0.011417689, -0.00027964372, -0.18250081, -0.0037116525, -0.099202864, 0.06313943, -0.042443503, -0.5106033, -0.08595155, -0.052907, -0.1087237, 0.5441453) * go_2(-1.0, -1.0); - result += mat4(0.16762924, -0.009944587, -0.2679235, -0.2021139, 0.21079461, -0.11809957, 0.3809502, 0.08643512, -0.058171842, 0.20088726, -0.062347364, -0.12985747, 0.16284388, -0.16306452, 0.09982884, 0.14088723) * go_2(-1.0, 0.0); - result += mat4(-0.0714393, 0.082623124, 0.10457793, 0.06049393, -0.21751815, 0.15272824, -0.05817135, -0.033302475, 0.040557053, -0.23516949, -0.0038103394, 0.012663176, 0.028543636, 0.006461524, 0.04151789, 0.025360702) * go_2(-1.0, 1.0); - result += mat4(-0.3958464, -0.49928874, -0.18322971, 0.1660756, 0.02241122, -0.15481286, -0.08289814, 0.1838922, -0.30311695, 0.033998005, 0.046327453, 0.046667594, -0.19373152, 0.054595128, -0.1810291, 0.026330587) * go_2(0.0, -1.0); - result += mat4(-0.17988408, -0.06920031, 0.45933202, 0.13610782, 0.3321532, -0.35902196, -0.01072334, 0.130472, -0.17946465, 0.024062874, 0.028480636, -0.02477549, 0.030871931, -0.06926073, 0.21192017, -0.3275599) * go_2(0.0, 0.0); - result += mat4(0.2777268, 0.039282586, 0.18316416, -0.09472171, -0.12926842, 0.21093419, 0.26748186, -0.034381114, 0.37504667, 0.101034865, -0.005076637, 0.3046354, 0.19506508, 0.07113483, 0.11567689, 0.015364835) * go_2(0.0, 1.0); - result += mat4(0.0024751208, -0.09917078, 0.28514004, 0.13154282, 0.025117317, 0.107632674, -0.14624198, -0.13388367, -0.038752496, 0.06344873, -0.17392725, 0.44770598, 0.06466959, 0.18955265, -0.07118261, 0.13022475) * go_2(1.0, -1.0); - result += mat4(0.061531715, 0.040746104, 0.17598623, -0.15300408, -0.16540745, -0.22774096, -0.092872284, 0.22756997, 0.49107695, -0.6291782, 0.18959439, 0.051523212, -0.022658838, -0.23492336, 0.22632147, -0.0963997) * go_2(1.0, 0.0); - result += mat4(-0.049996454, 0.20427251, -0.13305162, 0.11485584, -0.049903087, -0.27760607, 0.10333013, -0.102610506, 0.5495312, -0.31861833, 0.002093027, -0.07540532, 0.020750895, 0.11532434, -0.302924, 0.038216017) * go_2(1.0, 1.0); - result += mat4(-0.0742038, 0.14481308, -0.52984416, 0.1047764, 0.056594335, -0.30959937, 0.28613302, 0.34666842, -0.39666295, 0.26017725, 0.35440627, -0.34158382, -0.37820384, -0.17103404, 0.50328887, -0.22849783) * go_3(-1.0, -1.0); - result += mat4(0.3429522, -0.15276, 0.2209812, 0.45239314, 0.23704866, -0.005374581, 0.16275096, 0.024596661, -0.82699585, 0.6892652, -0.5133988, -0.37860793, -0.24554388, -0.36862546, 0.53238416, -0.15033963) * go_3(-1.0, 0.0); - result += mat4(-0.18241908, -0.097688325, 0.19900274, -0.049691215, -0.0707727, 0.01220912, -0.13254303, 0.06655784, -0.112321585, -0.6344655, -0.14198428, -0.25697416, 0.30084953, -0.06746383, 0.061665535, 0.48863387) * go_3(-1.0, 1.0); - result += mat4(0.037913926, -0.03827507, 0.154614, -0.40610346, 0.3045199, 0.008148914, 0.16061406, -0.18722008, 0.23903824, -0.41043565, 0.13431714, 0.005762402, -0.11140545, 0.09172593, 0.36103448, -0.21254368) * go_3(0.0, -1.0); - result += mat4(-0.81520826, -0.18719831, -0.7951369, 0.30222818, 0.022721667, -0.24935177, -0.28099492, 0.46440077, -0.22375317, 0.21440145, -0.82245845, -0.08865358, -0.034643255, -0.14605747, -0.20446338, 0.017269822) * go_3(0.0, 0.0); - result += mat4(-0.027954992, 0.44265705, 0.14893635, -0.22994424, -0.4062441, 0.037667353, -0.20461299, -0.2084607, 0.045539107, 0.019446995, -0.26775262, 0.20553084, 0.53191364, -0.34656656, 0.101131186, -0.18529478) * go_3(0.0, 1.0); - result += mat4(0.22462271, -0.6351009, -0.30356836, 0.4656144, 0.021343032, 0.12060711, -0.118174694, -0.102915525, -0.03897218, 0.38728097, 0.0065090284, -0.014050115, -0.11878573, 0.043891054, -0.2201844, -0.008109699) * go_3(1.0, -1.0); - result += mat4(0.3475876, -0.5480176, 0.32965973, -0.3013803, -0.12759317, -0.2552925, 0.040291607, 0.058848295, 0.090461515, -0.0100614, 0.26301694, 0.19180556, -0.19759412, 0.22332898, -0.66193426, 0.029582586) * go_3(1.0, 0.0); - result += mat4(-0.15084246, 0.2588267, -0.12036018, -0.100685254, -0.09681174, 0.10745359, -0.055402648, -0.17146726, 0.16907287, -0.2920604, 0.1719566, -0.062248997, 0.16846664, -0.04184749, -0.67145276, -0.14377783) * go_3(1.0, 1.0); - result += mat4(-0.29134026, 0.14061885, 0.019386701, -0.23595293, 0.15995972, 0.11001859, 0.09999047, 0.24208768, -0.20627365, -0.5980567, -0.10900429, 0.15628706, -0.035789836, 0.11344383, 0.22269405, 0.1167161) * go_4(-1.0, -1.0); - result += mat4(0.2086919, 0.32100046, -0.074735984, 0.028284928, 0.05750321, -0.066351704, -0.12921254, 0.02867359, 0.61451894, -0.64832085, 0.01923096, 0.107076205, -0.080694854, 0.017926944, 0.115145884, 0.023048883) * go_4(-1.0, 0.0); - result += mat4(0.044795334, -0.14508736, 0.009281871, -0.047577426, -0.04061876, -0.10779222, -0.0934905, 0.07574239, 0.06306946, -0.18841065, -0.06520789, -0.1511161, 0.056024194, -0.23865043, 0.0027067165, -0.023214353) * go_4(-1.0, 1.0); - result += mat4(-0.16991557, 0.017060002, -0.29013085, 0.19565602, -0.058718584, 0.07541131, -0.19660297, 0.030717509, 0.13866037, 0.1607997, 0.33416504, -0.10889656, -0.16938633, -0.30223483, -0.116302475, -0.067932114) * go_4(0.0, -1.0); - result += mat4(0.013324888, 0.043513425, -0.13977613, 0.049115334, 0.27864334, -0.14303638, -0.08351705, -0.034961347, 0.54420704, -0.114335835, 0.70558935, -0.17958923, 0.2993206, 0.15411529, 0.1525758, 0.02863741) * go_4(0.0, 0.0); - result += mat4(-0.037015285, -0.2017719, -0.011478376, -0.018624172, 0.1424438, -0.21703872, 0.04142035, 0.08435333, 0.016879117, -0.13277175, 0.5071568, -0.00452118, -0.075084746, 0.02599955, 0.03993921, -0.0077187354) * go_4(0.0, 1.0); - result += mat4(-0.08865702, -0.036773548, 0.09770667, -0.059214808, 0.092925295, 0.024745809, 0.18103407, 0.010096519, 0.12563165, 0.21068119, 0.39060932, 0.052776936, -0.007520789, 0.073785275, 0.15345341, -0.040818583) * go_4(1.0, -1.0); - result += mat4(-0.01307178, -0.2883416, 0.06089409, -0.025703222, -0.0153167285, -0.13499002, 0.19134292, 0.017535282, 0.4228713, 0.42407927, 0.49823955, -0.014714462, 0.07038049, -0.16592962, 0.20797624, -0.067286916) * go_4(1.0, 0.0); - result += mat4(-0.10721055, 0.12606484, 0.058121577, -0.0076352274, 0.20147532, 0.023864318, 0.035990067, 0.019970879, -0.09824868, 0.21742553, 0.23160207, -0.01923935, -0.051066495, 0.07820049, 0.25739282, 0.01963692) * go_4(1.0, 1.0); - result += mat4(-0.11948619, 0.2351847, -0.043393455, 0.030519446, 0.4539114, 0.1742429, -0.0774874, -0.080372855, 0.08532228, 0.2565506, -0.047552552, 0.06568883, -0.0336801, 0.014859413, -0.01480705, 0.000907035) * go_5(-1.0, -1.0); - result += mat4(0.13286628, 0.18621215, -0.023270091, 0.0070656347, -0.15205616, 0.1755209, 0.058746208, -0.11478106, 0.028688533, 0.018236568, -0.029914241, -0.01234524, 0.027454674, -0.08994973, -0.023616008, 0.10552348) * go_5(-1.0, 0.0); - result += mat4(-0.061776865, 0.37519607, -0.0055178492, 0.0034296983, 0.18715686, 0.5121114, 0.097835, 0.03487622, 0.0467928, 0.054646105, -0.005521889, 0.005822461, -0.043956164, 0.03566145, -0.074804395, -0.0035681466) * go_5(-1.0, 1.0); - result += mat4(0.030094853, -0.19132867, -0.12022806, 0.008678997, 0.14250284, -0.39671174, -0.02558346, 0.049037408, 0.030368956, 0.032775097, -0.0700175, -0.043425113, -0.011832092, 0.1385766, 0.049986932, 0.048339713) * go_5(0.0, -1.0); - result += mat4(-0.04173207, -0.32059047, -0.3176571, -0.059780464, -0.149838, -0.09253593, 0.017474804, -0.02850501, -0.002491147, -0.4902331, -0.41391358, -0.019036679, 0.12910078, 0.011391104, 0.15281096, 0.035302237) * go_5(0.0, 0.0); - result += mat4(-0.051985674, -0.28821957, 0.041421372, -0.026321337, -0.11232292, -0.0076721082, -0.017660424, -0.053183485, 0.011399399, -0.21104087, -0.08247351, 0.012001115, 0.13353747, -0.018404294, -0.013070655, 0.021725055) * go_5(0.0, 1.0); - result += mat4(-0.10819058, 0.01522892, -0.11809611, -0.005361581, 0.016413989, -0.17791939, -0.07641427, -0.0075271325, -0.04744145, 0.14214009, 0.06238958, 0.030852603, -0.045064628, -0.10203394, 0.022396715, -0.0067329407) * go_5(1.0, -1.0); - result += mat4(-0.19808967, -0.104994975, 0.015773673, -0.022771256, 0.026054395, -0.052030962, 0.00745939, 0.04304712, -0.10831072, -0.16059683, -0.04864209, 0.037260182, 0.041406773, -0.11586577, 0.043287378, 0.027181271) * go_5(1.0, 0.0); - result += mat4(-0.1844484, 0.08464415, 0.10791806, 0.013830704, 0.03208257, 0.26110005, -0.03262007, 0.091473244, 0.13977927, 0.032529682, -0.021369038, 0.053745314, 8.765892e-05, 0.010181694, -0.046350393, -0.0064968574) * go_5(1.0, 1.0); - result += mat4(0.16242024, 0.0029229107, -0.03808197, 0.11881662, -0.008760509, -0.09074291, -0.15157613, -0.19312446, 0.098781265, -0.06404453, 0.17561193, -0.011888404, 0.012034257, -0.095228486, -0.17663169, -0.14239185) * go_6(-1.0, -1.0); - result += mat4(0.10714533, -0.091631204, 0.10210571, -0.024006354, -0.20195729, -0.028262442, 0.0057075145, 0.08570983, -0.1349579, 0.16353582, 0.06258812, -0.055206373, 0.027616054, 0.16366649, 0.15170477, 0.100432895) * go_6(-1.0, 0.0); - result += mat4(-0.005640863, 0.01953208, -0.05362749, 0.03737554, 0.10574648, 0.04949733, 0.011875781, -0.027762452, 0.11309614, -0.037482325, -0.037490267, 0.05672542, -0.03851815, -0.040241454, -0.014456474, -0.015964273) * go_6(-1.0, 1.0); - result += mat4(-0.05119488, -0.05249867, 0.08751497, -0.15210281, 0.06936269, 0.060947813, 0.15130071, 0.0061567873, 0.089312874, -0.08143958, 0.006515938, -0.062999725, 0.14026858, 0.14795284, 0.28729984, 0.078133605) * go_6(0.0, -1.0); - result += mat4(-0.009654871, -0.21643133, 0.06265242, 0.01572518, -0.1400239, 0.08764587, -0.013960639, 0.11240323, -0.06609911, 0.17936565, -0.099240325, 0.03606391, -0.08663271, 0.21256153, 0.076862626, -0.06660453) * go_6(0.0, 0.0); - result += mat4(-0.0032671946, 0.0434528, 0.12943126, 0.032995254, -0.026195439, 0.22761142, -0.08781017, -0.027369386, -0.23265982, -0.16121218, -0.05160874, -0.01102774, 0.18765874, 0.10036096, 0.13562876, -0.115016125) * go_6(0.0, 1.0); - result += mat4(-0.014280088, -0.036902506, -0.06825763, 0.081764676, 0.030115271, -0.023108382, 0.06727549, 0.00067218125, 0.017059056, -0.03265097, 0.15135893, -0.039459277, -0.04266232, 0.1111974, -0.020078076, 0.006387551) * go_6(1.0, -1.0); - result += mat4(-0.04688186, -0.09174231, -0.05381622, 0.024881862, 0.036378797, 0.12511472, -0.12020627, 0.011695685, -0.033788696, -0.048612628, -0.096676245, -0.09272234, -0.0752053, 0.17060183, -0.056995165, 0.0037499536) * go_6(1.0, 0.0); - result += mat4(0.06944483, -0.0036858325, -0.014824583, 0.022016088, -0.13040295, -0.17123172, 0.042282093, 0.025151532, 0.09733767, 0.02184708, 0.12792501, 0.008477331, -0.033732317, -0.09257224, -0.087834194, -0.04676004) * go_6(1.0, 1.0); - result += mat4(-0.06177712, 0.09466163, 0.041752685, 0.0796498, -0.08357602, -0.21963142, -0.05910052, 0.1355151, -0.020803489, -0.026252296, -0.07097114, 0.09607317, 0.078275844, 0.04250756, -0.047696978, -0.066009335) * go_7(-1.0, -1.0); - result += mat4(-0.32883903, -0.18983904, -0.011129119, -0.061288845, 0.20026195, 0.008631433, -0.06246731, -0.013857852, 0.005461851, 0.19473334, -0.018032562, -0.004270683, -0.03182703, -0.041694432, 0.046114028, -0.08224892) * go_7(-1.0, 0.0); - result += mat4(-0.18344544, -0.22068006, -3.779529e-05, -0.042374518, -0.010999355, -0.1526405, -0.08975188, -0.07842255, 0.0702596, 0.0027714027, 0.03802376, -0.015517716, 0.009005106, 0.06702078, 0.048812397, -0.018014267) * go_7(-1.0, 1.0); - result += mat4(-0.16322157, -0.12375638, -0.14597934, -0.10065044, -0.0034380173, 0.0688033, -0.13725469, 0.1336164, -0.028104529, -0.096491896, -0.29770237, 0.010468916, 0.003322942, -0.012829131, 0.055854827, -0.03990536) * go_7(0.0, -1.0); - result += mat4(-0.13249227, 0.078412525, 0.001221111, 0.039858975, 0.15937175, -0.02095173, -0.22108203, 0.09235874, -0.22747709, 0.2172244, -0.08376862, -0.047431935, -0.093568005, 0.06131771, -0.015086977, -0.056581) * go_7(0.0, 0.0); - result += mat4(-0.19138841, 0.08926175, -0.093786284, 0.057811834, -0.14395343, 0.064682476, -0.008969366, 0.0674351, 0.17032358, 0.12163412, 0.05056086, 0.058084372, -0.13832766, -0.11045532, -0.042922694, -0.030604472) * go_7(0.0, 1.0); - result += mat4(0.055630907, 0.16944349, -0.13912451, 0.033242557, 0.12217042, -0.21623628, 0.08676071, 0.06943562, 0.0558185, -0.023673354, -0.17777173, 0.004594415, 0.0135196885, -0.029225778, 0.030058527, -0.009726104) * go_7(1.0, -1.0); - result += mat4(0.01702246, 0.16437621, -0.018122733, 0.024081163, 0.016095428, -0.41127196, -0.017206954, 0.09858238, -0.15810199, -0.14963378, -0.3974077, -0.03380379, -0.045687225, -0.032821044, -0.094495125, -0.014884245) * go_7(1.0, 0.0); - result += mat4(0.049720503, -0.09237875, -0.04686381, 0.019112429, 0.14990957, -0.2563238, 0.06650471, 0.027189046, 0.065547526, 0.061466973, 0.038220834, -4.9633014e-05, -0.037983235, -0.0315463, -0.08640253, 0.023909623) * go_7(1.0, 1.0); - result += vec4(-0.0053955545, 0.20755386, 0.060728047, -0.11934225); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.011262504, 0.031819463, -0.06957062, -0.043127634, 0.00583867, 0.09169646, -0.045924503, -0.03033917, 0.04295624, -0.0008524074, -0.10314193, 0.017878639, -0.026550706, -0.057304744, -0.093816355, 0.084548905) * go_0(-1.0, -1.0); - result += mat4(0.14785792, 0.27953532, 0.013030618, 0.088695146, 0.108306505, 0.09207513, 0.111750156, -0.053279888, -0.091059364, -0.06638048, 0.027781408, -0.16337578, 0.056285474, 0.11172556, 0.030077877, -0.017893653) * go_0(-1.0, 0.0); - result += mat4(0.17618006, -0.4502103, 0.07598669, -0.0009732414, 0.050383665, 0.17085455, -0.0031775923, 0.064862505, 0.11707715, 0.3526508, -0.01904134, -0.012807272, -0.116546296, -0.060822245, -0.1311729, 0.07212336) * go_0(-1.0, 1.0); - result += mat4(0.087797835, -0.06613155, 0.1483391, 0.013323468, -0.11146307, -0.015671762, -0.040200327, -0.10357134, 0.019073516, -0.06472526, 0.10602498, 0.1770319, -0.08521562, 0.12664832, 0.08947633, -0.05493576) * go_0(0.0, -1.0); - result += mat4(0.33827654, 0.28221247, -0.18990488, 0.026941316, 0.1488764, -0.2931259, -0.076329395, -0.015431582, -0.099263206, 0.19168049, -0.026642313, 0.13576517, 0.038345568, 0.28094527, 0.009882045, -0.11360381) * go_0(0.0, 0.0); - result += mat4(0.05157035, -0.07949976, -0.11442825, -0.10846249, 0.0041128546, -0.086069524, -0.08534606, 0.030012999, -0.02440029, 0.0032833228, 0.080156125, -0.09495428, -0.014791535, -0.3719053, -0.09000905, 0.0037281278) * go_0(0.0, 1.0); - result += mat4(0.06803247, 0.07046111, 0.025906414, 0.04482326, -0.029433155, -0.053168926, 0.11433928, 0.09067554, 0.08303741, -0.17981903, -0.119454004, 0.18209296, -0.03772345, 0.025304617, -0.078271955, -0.091292545) * go_0(1.0, -1.0); - result += mat4(0.22007126, -0.40249357, 0.09878526, 0.043460052, -0.037937324, 0.2775198, 0.08673017, -0.075257935, 0.14146972, -0.049743168, -0.09132197, 0.072746076, 0.029836698, -0.0047054323, 0.041883502, -0.0780989) * go_0(1.0, 0.0); - result += mat4(0.054638218, 0.31379706, -0.015786655, -0.026390918, -0.11370519, -0.085995756, 0.08572533, -0.066644676, -0.052945357, -0.027882649, -0.030349009, -0.00074756425, -0.0034215925, 0.16293995, 0.0043956763, -0.013435695) * go_0(1.0, 1.0); - result += mat4(0.004479172, 0.15894544, 0.014565352, -0.022123177, 0.036710665, 0.027838772, -0.03341635, -0.02814826, -0.0891137, -0.051923018, -0.058425512, 0.057913873, -0.058511104, 0.04785274, 0.047574837, 0.095560044) * go_1(-1.0, -1.0); - result += mat4(0.026339598, -0.21249251, 0.09641629, -0.1050302, -0.11599119, 0.16732395, -0.07735261, 0.10095655, -0.046776835, -0.1985677, -0.100405715, -0.0049418057, 0.08661461, 0.030991163, 0.058080763, -0.033386886) * go_1(-1.0, 0.0); - result += mat4(0.06275464, 0.12353212, 0.011660699, -0.0048974585, 0.03182892, -0.11731411, 0.058963027, 0.00076737226, -0.014992623, -0.075640306, 0.021105729, 0.054476924, 0.010348032, 0.018136699, -0.015781997, 0.011437102) * go_1(-1.0, 1.0); - result += mat4(0.13556376, -0.061953824, 0.05551936, 0.116930924, 0.06720336, 0.37149063, -0.020317249, 0.10018995, 0.03449863, 0.00254038, -0.12589492, -0.116539575, 0.02914628, -0.1132907, 0.059977263, -0.01013219) * go_1(0.0, -1.0); - result += mat4(-0.17061242, -0.11773073, -0.07108274, 0.0034582969, 0.037274398, -0.38318223, 0.10591709, 0.25803554, -0.07071293, 0.17214958, 0.34243912, -0.20444241, 0.16736552, 0.14189146, -0.15058914, 0.028070828) * go_1(0.0, 0.0); - result += mat4(-0.014832051, 0.38498318, 0.07763121, 0.0076594464, 0.1140444, 0.23477876, -0.06551489, 0.082364485, -0.072711125, -0.26173973, 0.10116861, 0.025223283, 0.0071469937, -0.08337561, -0.029252755, -0.040330622) * go_1(0.0, 1.0); - result += mat4(0.065506235, -0.04470719, 0.09613445, 0.11135494, -0.038838383, -0.13319598, -0.030709865, -0.11286597, 0.02777684, 0.14582784, 0.10601686, 0.032446314, -0.101155646, 0.01797949, -0.060460012, -0.17628726) * go_1(1.0, -1.0); - result += mat4(-0.013238295, 0.23827216, -0.052030362, 0.056838796, 0.11169307, -0.0019896782, 0.04225852, -0.05080408, 0.041208353, -0.018402472, 0.0045357095, 0.14560573, -0.07002417, -0.14796354, 0.007762815, -0.10192629) * go_1(1.0, 0.0); - result += mat4(-0.041997515, -0.35881934, -0.021417812, 0.08649882, 0.09397181, -0.13445188, 0.06475497, -0.010673045, 0.12269194, 0.18738186, -0.042150542, 0.1256423, -0.008410485, 0.09158409, 0.041347865, -0.0074583124) * go_1(1.0, 1.0); - result += mat4(-0.062870465, -0.059856553, 0.091585, 0.092011355, 0.020937715, 0.010538825, 0.06692169, 0.0006046978, 0.1952068, 0.031263877, -0.106957935, 0.14423949, -0.014842083, -0.043564916, -0.019768178, 0.034922168) * go_2(-1.0, -1.0); - result += mat4(-0.117032535, 0.18058799, 0.007915372, 0.020678058, 0.14933655, -0.051320497, -0.023838546, 0.06867943, -0.3355837, 0.0042644492, -0.12227475, -0.04008191, 0.024019344, -0.040317632, 0.025777748, 0.24088405) * go_2(-1.0, 0.0); - result += mat4(-0.00010084207, -0.1289124, 0.031990424, -0.079577096, -0.0053844554, -0.02361255, 0.07049022, 0.039858952, -0.07922686, -0.06185779, -0.03044959, 0.079977244, -0.0893825, -0.106873706, 0.0044374927, -0.028308846) * go_2(-1.0, 1.0); - result += mat4(-0.08895584, -0.042846404, -0.013092824, -0.13957329, -0.10497291, 0.10893366, -0.16962886, -0.002034427, -0.037901185, 0.064590566, 0.058201604, 0.14310947, 0.08995774, -0.05294167, 0.1631053, -0.012728631) * go_2(0.0, -1.0); - result += mat4(-0.07719386, 0.046034593, 0.04633185, 0.11177461, 0.012042811, 0.13169785, -0.11322429, 0.10102152, -0.23842178, 0.13413563, 0.07785035, -0.083747946, 0.10070529, -0.0900075, -0.17456235, -0.38653556) * go_2(0.0, 0.0); - result += mat4(-0.12692979, -0.047207076, 0.003124948, 0.0031179655, 0.028505344, -0.16842307, 0.018322583, -0.03406163, 0.04017119, -0.1724708, 0.039637722, 0.14817074, -0.015262273, 0.4343052, -0.028746288, -0.06529248) * go_2(0.0, 1.0); - result += mat4(-0.124842934, 0.13421857, -0.02313364, -0.11312006, -0.03259939, 0.06062406, -0.007419522, -0.04876289, -0.10012543, -0.25548926, -0.030651081, 0.034160238, -0.14513661, 0.036888786, 0.17565195, 0.11805049) * go_2(1.0, -1.0); - result += mat4(0.19049145, -0.039175794, 0.018565621, 0.1548963, -0.051579755, 0.031628616, 0.0051352894, 0.11517133, -0.01610091, 0.051337674, -0.026527107, -0.019971197, 0.12971555, 0.07533016, -0.3041597, -0.06759981) * go_2(1.0, 0.0); - result += mat4(0.12584706, -0.10033112, 0.035238206, 0.09898554, 0.050027825, 0.07308421, -0.01463469, -0.00082939945, -0.047252785, 0.08552882, 0.0019422411, -0.024661394, 0.11734384, -0.26585263, 0.07397762, 0.20346671) * go_2(1.0, 1.0); - result += mat4(0.107849255, -0.11532747, 0.05027606, 0.10103512, 0.064907365, 0.010803471, 0.028275143, 0.14567783, -0.07167514, 0.08434946, 0.07393991, 0.0254499, 0.04305806, 0.04086671, 0.053802863, -0.06721381) * go_3(-1.0, -1.0); - result += mat4(0.09881202, -0.06978072, 0.04603433, 0.01741673, -0.15704031, -0.1793963, -0.038271505, -0.10161381, 0.04542897, 0.07914688, 0.046205457, 0.08958046, -0.0061665005, -0.03463733, 0.029120842, 0.043564152) * go_3(-1.0, 0.0); - result += mat4(-0.012550157, 0.17462914, 0.06898175, -0.07152383, -0.03304833, -0.08832667, -0.016064065, -0.23278883, -0.13197964, -0.08672381, -0.05409716, -0.065082744, 0.06888385, 0.036308136, 0.11151006, -0.06965145) * go_3(-1.0, 1.0); - result += mat4(0.10415191, 0.17370042, -0.077190965, -0.008505009, 0.071427636, 0.021012051, 0.29375538, 0.20707655, 0.08539143, -0.21792713, -0.069910124, -0.13272718, 0.078085855, 0.020925732, -0.09766308, -0.014647463) * go_3(0.0, -1.0); - result += mat4(-0.1540831, -0.20195347, 0.12906608, -0.18597993, 0.02752237, 0.3436961, 0.12848559, 0.23174804, 0.09912136, 0.2955073, -0.0119524235, 0.07499343, -0.056999985, -0.13919996, -0.0442433, 0.09012822) * go_3(0.0, 0.0); - result += mat4(0.03846984, -0.016049843, -0.04194403, 0.016142704, -0.14151782, -0.06796431, 0.004672686, -0.20027739, -0.100223176, -0.08138453, -0.09202174, 0.12008146, -0.009262179, 0.303418, 0.040116344, 0.032100268) * go_3(0.0, 1.0); - result += mat4(-0.02313964, -0.24428035, 0.038113195, -0.0045478963, -0.12524363, 0.0911982, -0.091526926, -0.10919195, -0.044670045, 0.08331864, 0.12612547, -0.103683256, -0.003986556, -0.034693778, 0.03215815, 0.06168313) * go_3(1.0, -1.0); - result += mat4(-0.024951402, 0.36099398, -0.08449376, -0.07497921, 0.09019578, -0.34781474, -0.038260702, 0.04863762, 0.017253455, -0.019677663, 0.12687095, 0.00063366926, 0.011710997, -0.10072319, -0.03315336, 0.07632106) * go_3(1.0, 0.0); - result += mat4(0.07059056, -0.12018756, -0.09131319, -0.013561132, 0.24165273, 0.22274019, -0.017931685, 0.010056685, 0.12344425, 0.12156007, -0.026813593, 0.004195277, 0.04681439, -0.076013386, -0.031047279, 0.028654084) * go_3(1.0, 1.0); - result += mat4(-0.07966141, -0.07519266, 0.08071786, -0.07381566, 0.016123658, -0.05854732, 0.037251532, 0.025495501, 0.105325036, -0.09021125, -0.0065127593, 0.20154859, -0.24500966, 0.16068383, -0.045858987, -0.013114567) * go_4(-1.0, -1.0); - result += mat4(-0.11490749, 0.2778325, -0.09342925, -0.059463568, 0.038029168, 0.010677079, 0.004088794, -0.0524926, 0.14234811, 0.26121226, 0.080162, 0.19559322, 0.19100796, 0.120853685, 0.14027278, -0.07141763) * go_4(-1.0, 0.0); - result += mat4(-0.07725682, -0.028726127, -0.011004939, -0.016452273, -0.004484741, 0.11287478, -0.090253375, -0.00962195, 0.067813195, 0.00653987, 0.11110691, 0.02533638, 0.047734473, 0.630844, -0.12703009, 0.0815481) * go_4(-1.0, 1.0); - result += mat4(-0.063518584, -0.068115965, 0.06567312, 0.005423953, -0.035477355, -0.36495018, 0.034740042, 0.10112081, -0.106252685, -0.27082387, 0.29244247, 0.12543291, -0.35771617, -0.106733896, 0.09776179, -0.041923277) * go_4(0.0, -1.0); - result += mat4(0.1582593, -0.19066747, 0.12785429, -0.06028763, 0.07165759, 0.29100847, -0.066886865, -0.026840167, 0.0149742095, 0.046114814, -0.16078624, -0.06096696, -0.15888374, 0.29948848, 0.011921788, -0.14737292) * go_4(0.0, 0.0); - result += mat4(0.023203196, -0.012949222, -0.10660274, -0.019064514, -0.01604895, -0.11042657, 0.014043448, -0.007858082, 0.034866568, 0.28908056, 0.044833034, -0.055372775, 0.05015458, 0.45589668, -0.059942003, -0.24177484) * go_4(0.0, 1.0); - result += mat4(-0.010991107, 0.081413716, -0.022647902, 0.035956774, -0.01045697, -0.06317254, -0.048409183, 0.014224823, -0.041370537, -0.03167499, -0.08533798, -0.0033347958, -0.045379575, -0.1464327, 0.11794289, 0.12731233) * go_4(1.0, -1.0); - result += mat4(-0.042375486, -0.26550424, -0.020939078, 0.048613142, -0.0064663864, -0.3438306, 0.01354813, 0.01667072, -0.078636885, -0.15991145, 0.07323537, 0.041297473, -0.088465534, -0.333333, -0.05659556, -0.2753555) * go_4(1.0, 0.0); - result += mat4(-0.007157959, 0.16018897, 0.026304452, -0.04799124, -0.009590161, -0.05249338, -0.009172379, 0.0054461583, -0.05708218, -0.19263835, 0.11795639, -0.02212647, 0.056535985, -0.06511114, -0.013391156, -0.13783967) * go_4(1.0, 1.0); - result += mat4(-0.05439675, -0.006444465, -0.009317183, -0.07307444, -0.00030038637, 0.18579505, -0.051370375, 0.059529413, -0.27623934, -0.013988184, -0.0048374305, -0.15984012, 0.039892353, -0.018393246, -0.046821754, 0.023543872) * go_5(-1.0, -1.0); - result += mat4(0.13751456, -0.06096664, -0.025098158, 0.06613064, -0.08354669, -0.07604228, 0.008098726, 0.018510602, 0.14101581, 0.22782752, -0.0028741485, 0.041945882, -0.0810864, -0.020587375, -0.085017934, -0.025102144) * go_5(-1.0, 0.0); - result += mat4(0.047001034, 0.15929686, -0.017429994, 0.11485433, 0.008108619, -0.039101716, -0.01298734, -0.04309558, 0.063283674, -0.006479532, 0.041943613, 0.020806335, 0.1637154, 0.08164767, -0.022789355, 0.23034051) * go_5(-1.0, 1.0); - result += mat4(0.04580322, 0.035329618, -0.045944862, -0.11552284, 0.080185264, -0.054166514, 0.050542697, -0.026156206, -0.083026126, 0.07445656, 0.020240687, -0.095825456, -0.05638868, 0.061477177, -0.0053955787, -0.03098832) * go_5(0.0, -1.0); - result += mat4(0.0488631, 0.0048201405, -0.17982271, -0.19360444, 0.04280375, -0.06298201, 0.18850167, -0.1875722, -0.021133788, -0.4440641, -0.08967545, -0.020436049, -0.07340717, 0.15360972, 0.30010164, 0.13870142) * go_5(0.0, 0.0); - result += mat4(0.06518589, 0.05225434, 0.035718046, 0.09953873, -0.018187355, 0.2680586, -0.011366758, 0.16459163, -0.17236687, 0.271017, -0.044547327, -0.12611923, -0.17699997, -0.14207041, 0.029943895, -0.32613477) * go_5(0.0, 1.0); - result += mat4(-0.043032415, -0.112493455, -0.0017059229, 0.030980088, -0.034748103, -0.034630474, -0.00086845557, -0.07122569, 0.0859297, 0.048253577, 0.1304124, -0.0067533916, 0.15792038, -0.051970366, -0.02041555, -0.022408634) * go_5(1.0, -1.0); - result += mat4(-0.16435696, 0.1454917, -0.02320267, -0.07823869, 0.03715387, 0.001277761, 0.09719438, 0.015275015, -0.11739434, 0.06375923, 0.10178472, 0.0694389, 0.04614792, -0.38499647, 0.27365905, -0.20401697) * go_5(1.0, 0.0); - result += mat4(-0.09289143, -0.059769634, -0.014427403, 0.07280103, 0.04857605, 0.04126391, 0.007707449, 0.016183812, -0.080374636, -0.24951005, 0.051764973, 0.01020587, -0.2992075, 0.04918275, 0.2093324, 0.14188328) * go_5(1.0, 1.0); - result += vec4(-0.034787357, -0.010484513, -0.13672084, 0.021112612); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09358625, 0.04006633, 0.08724545, 0.08691784, -0.14107502, -0.0007997976, 0.17306888, 0.038711257, 0.0985122, -0.0014992851, -0.17487743, -0.10194699, 0.11023988, -0.06968423, 0.01662707, 0.21470292) * go_0(-1.0, -1.0); - result += mat4(0.031636875, 0.13806665, -0.0814631, 0.07943226, 0.0119793005, 0.04941359, 0.074861325, -0.16535385, -0.11496889, 0.13269342, -0.109500505, -0.05149521, -0.046225246, 0.12686665, 0.17126462, 0.009109644) * go_0(-1.0, 0.0); - result += mat4(-0.03334245, -0.123216815, -0.1330235, -0.12154138, -0.059628066, 0.10496938, -0.0038054981, 0.1457567, -0.019918114, -0.0020958772, 0.04247789, -0.0062168534, 0.0026362725, 0.021436866, -0.11040905, 0.108333305) * go_0(-1.0, 1.0); - result += mat4(0.0042455117, -0.14640199, -0.06118977, 0.16638735, -0.030705301, -0.0113191, 0.03248879, -0.044538334, -0.0102377115, -0.01707356, -0.13409424, 0.07820454, 0.0050400933, -0.051095866, 0.115574144, 0.1082736) * go_0(0.0, -1.0); - result += mat4(0.059850972, 0.12553261, 0.23358655, 0.011808153, 0.3940932, -0.10867016, -0.23658483, -0.08347661, 0.18414836, 0.13377388, -0.14889582, -0.0067077233, 0.04137153, 0.07864369, -0.2230585, 0.20400442) * go_0(0.0, 0.0); - result += mat4(-0.14122446, -0.05491896, 0.23194087, -0.04420126, 0.003479982, -0.0025467714, 0.07257286, 0.064608194, 0.003435564, 0.028599951, 0.034278907, 0.020127177, -0.05769672, -0.053810723, 0.021130094, -0.10632285) * go_0(0.0, 1.0); - result += mat4(-0.06342671, -0.02102852, -0.057624057, -0.04255905, -0.027436286, -0.004304728, -0.068475425, 0.084754616, -0.013654013, 0.040915813, 0.03803916, -0.013154927, 0.035633024, 0.03539127, 0.011308919, -0.07959703) * go_0(1.0, -1.0); - result += mat4(-0.082511365, -0.062265713, 0.12336093, 0.050000474, -0.012206841, -0.11110678, 0.23245499, 0.08442603, 0.03861097, 0.04962608, 0.2711461, 0.061978027, 0.02267645, -0.024108166, 0.050957117, -0.09069499) * go_0(1.0, 0.0); - result += mat4(-0.036008272, 0.077173404, 0.007906516, -0.07967038, -0.03769282, 0.0647222, -0.048025336, -0.24466506, -0.10772676, -0.045048002, 0.11905392, 0.09015004, 0.018585265, 0.0492868, -0.12064848, -0.12835266) * go_0(1.0, 1.0); - result += mat4(0.03722991, 0.05483932, 0.005279874, -0.036382344, 0.07366523, 0.080671124, -0.022853829, 0.17026854, -0.025622483, 0.02234575, 0.047529936, 0.08349223, -0.0811592, -0.06856246, 0.095451735, 0.04447287) * go_1(-1.0, -1.0); - result += mat4(-0.011579923, -0.07021126, -0.18775284, 0.06256736, -0.07229184, 0.007508845, 0.009623485, -0.07026442, -0.017683864, -0.05394156, 0.009937637, -0.06132005, 0.08447428, -0.035887707, 0.05672016, -0.023255082) * go_1(-1.0, 0.0); - result += mat4(-0.24283841, 0.049064692, 0.19258617, -0.09556112, -0.043943178, -0.026093625, -0.0037277476, -0.08488672, -0.05969904, 0.014202227, 0.07155138, -0.006620953, 0.12378093, 0.023470948, -0.15103869, 0.04221627) * go_1(-1.0, 1.0); - result += mat4(0.0008730981, -0.07160066, -0.076891124, 0.13791084, -0.13737433, -0.010282979, 0.078346394, 0.09242266, 0.076963596, 0.05978104, -0.05467655, 0.086442284, 0.044609588, -0.016739035, 0.021820836, -0.2011709) * go_1(0.0, -1.0); - result += mat4(-0.20905402, -0.08102045, -0.29869592, -0.047263417, -0.17030494, 0.13713762, 0.1867857, 0.0476295, -0.09349327, 0.19339523, 0.022656808, -0.0009851357, -0.2303008, -0.06444237, -0.019168362, 0.2020858) * go_1(0.0, 0.0); - result += mat4(-0.024434976, 0.10944717, 0.055678647, 0.10161796, -0.049396966, 0.0052144537, -0.16087285, -0.015105596, -0.086011946, 0.022698695, 0.15757102, -0.14491843, 0.037698947, -0.047221012, -0.030243723, 0.13107443) * go_1(0.0, 1.0); - result += mat4(-0.086016916, 0.04024993, 0.04098034, 0.07725262, -0.06640869, -0.04112078, 0.021855356, -0.18622814, -0.058279853, -0.029800907, -0.15918955, 0.09680758, 0.054697946, 0.03253648, 0.08338082, -0.04502999) * go_1(1.0, -1.0); - result += mat4(0.01646839, -0.054888945, -0.26849058, -0.011435841, -0.057793204, -0.07927816, 0.025392462, -0.10175547, 0.029483873, -0.14580205, 0.0024861468, 0.07208289, 0.06519596, 0.03442096, 0.026397267, 0.020078517) * go_1(1.0, 0.0); - result += mat4(-0.08198775, -0.0814655, 0.05315498, 0.051077936, -0.030619444, 0.019064562, -0.13288063, -0.1472509, -0.048526105, -0.040171668, 0.12455891, -0.14622177, 0.011852844, 0.096620746, -0.18692164, -0.055299122) * go_1(1.0, 1.0); - result += mat4(0.058797743, 0.024229972, 0.034255873, 0.036447, 0.00075901265, 0.074688934, -0.042593017, 0.00060293835, 0.032229654, -0.052531853, -0.07462269, 0.12802848, 0.007995166, -0.02878037, 0.06900506, 0.06908949) * go_2(-1.0, -1.0); - result += mat4(-0.10522075, 0.048956644, 0.05420077, -0.016637634, 0.04412326, -0.09468539, 0.034226764, -0.018262677, -0.06783241, -0.040329143, 0.18946178, 0.13130969, 0.10075684, -0.07591921, -0.1623158, -0.025584042) * go_2(-1.0, 0.0); - result += mat4(-0.034107495, -0.016770529, -0.016136456, 0.02585942, 0.12677853, 0.01417575, 0.047958545, 0.12998682, 0.016893117, 0.010598557, 0.12055522, -0.047758352, -0.05235784, 0.005084147, 0.07550005, -0.16640854) * go_2(-1.0, 1.0); - result += mat4(-0.114226855, 0.06335544, -0.0881748, -0.2498259, 0.015568782, 0.012487128, 0.0046955296, 0.025751248, 0.04212843, 0.15120652, 0.15968561, 0.19253394, 0.087034084, -0.0423726, -0.051838346, -0.14310384) * go_2(0.0, -1.0); - result += mat4(-0.013026084, 0.06131241, -0.1675201, -0.12888479, -0.0014964524, -0.10069896, 0.02356384, 0.01806289, 0.19572161, -0.11961045, -0.24700944, -0.1844911, -0.26364744, 0.07644966, 0.2593859, 0.08114606) * go_2(0.0, 0.0); - result += mat4(0.068388715, -0.0046663, -0.020979358, 0.09952774, -0.11110095, -0.0774004, 0.012848098, -0.012930355, 0.08189461, 0.0054886085, 0.00053461257, -0.23077695, 0.050515562, -0.035863694, 0.07036627, -0.13812068) * go_2(0.0, 1.0); - result += mat4(0.09648746, -0.10755913, -0.08146234, 0.00811376, 0.004864761, -0.08113828, 0.04964263, 0.11690557, -0.014368101, -0.014423742, 0.03171528, 0.08982036, 0.10246555, -0.06881209, -0.29283836, 0.039537873) * go_2(1.0, -1.0); - result += mat4(-0.13718893, -0.009659399, 0.2992416, -0.0066323625, -0.071996465, 0.13524258, 0.023679543, 0.07826935, 0.075409144, 0.08589669, 0.061272033, -0.045499824, -0.03741875, 0.27842635, 0.13185109, -0.099911585) * go_2(1.0, 0.0); - result += mat4(-0.024441944, -0.03522318, 0.05140529, 0.0071282475, -0.10594544, -0.05181565, 0.25732583, -0.018825782, -0.0012439055, 0.019219896, 0.09946713, -0.0722263, -0.12645322, -9.644992e-05, 0.06875323, 0.21561073) * go_2(1.0, 1.0); - result += mat4(-0.022150004, 0.054419033, -0.083107114, -0.08959484, 0.08172815, -0.013834652, -0.15180096, -0.024615027, -0.07028262, -0.0007512729, 0.26976782, 0.18875809, -0.099938266, 0.05480333, 0.016040394, -0.17822164) * go_3(-1.0, -1.0); - result += mat4(-0.026931163, -0.052416157, 0.07639568, -0.05452748, 0.035625458, 0.004550296, -0.16772425, -0.00061168516, 0.15335664, 0.051302932, 0.04580133, 0.13039467, 0.023763021, -0.07687596, -0.05549799, -0.017360365) * go_3(-1.0, 0.0); - result += mat4(0.003008481, 0.10352107, 0.076348424, 0.040963676, -0.057719737, -0.08755317, 0.024834383, -0.23462833, -0.09101583, 0.086903796, -0.07216142, 0.090624414, 0.029025761, -0.033761367, 0.1366635, -0.10524101) * go_3(-1.0, 1.0); - result += mat4(-0.028344428, 0.22866614, 0.22265156, -0.050915148, -0.07759447, -0.1586285, -0.049925447, -0.05273905, -0.010746756, 0.019270241, 0.22497585, 0.013571467, 0.019270418, 0.052651558, -0.024736265, -0.14067775) * go_3(0.0, -1.0); - result += mat4(0.058332205, -0.0631195, -0.19648206, -0.039481703, -0.2998922, 0.18085144, 0.17090257, 0.27006564, -0.2703318, 0.06099154, 0.04560162, 0.118134916, -0.004565211, -0.08472733, 0.10459307, -0.16570608) * go_3(0.0, 0.0); - result += mat4(0.10358238, -0.061059173, -0.13393302, 0.015948834, -0.030868502, -0.04978585, -0.012687447, -0.2505655, 0.049323123, -0.00019374766, 0.028754372, 0.033648107, 0.07063697, -0.014583936, 0.1362805, 0.08024834) * go_3(0.0, 1.0); - result += mat4(-0.013942856, -0.08531508, 0.039745845, 0.10414194, 0.06313496, 0.02417523, 0.07144888, -0.13780569, 0.0024822098, -0.0005785404, -0.070522025, -0.010603217, -0.008350787, -0.08310923, -0.06434052, 0.05212829) * go_3(1.0, -1.0); - result += mat4(-0.033343147, 0.11818227, -0.101355605, -0.09815853, -0.0037257646, 0.093914956, 0.045073465, -0.21146262, -0.033502303, -0.033563633, -0.19179441, -0.064311236, 0.017742243, 0.008572989, -0.017310511, 0.09787876) * go_3(1.0, 0.0); - result += mat4(-0.0965179, -0.05104779, 0.21980357, 0.059457585, 0.05362383, -0.07189908, 0.21294238, 0.12593827, 0.08622481, 0.0061037396, -0.11099128, -0.075461335, -0.019220999, -0.08473234, 0.1896788, 0.1545825) * go_3(1.0, 1.0); - result += mat4(-0.067072935, -0.009035596, 0.039182313, 0.017011479, 0.036997713, -0.042869426, -0.0040173815, -0.031988475, -0.0069290483, 0.05294254, -0.0012220141, 0.09110227, -0.014827876, 0.19689846, 0.0022661786, -0.07005972) * go_4(-1.0, -1.0); - result += mat4(-0.057713088, 0.050435945, -8.427375e-05, -0.010549373, 0.03760227, 0.022647688, 0.02825286, 0.06377033, -0.0047159446, 0.11320346, -0.069414824, 0.059531983, -0.3299612, 0.2719073, -0.1501237, -0.2640464) * go_4(-1.0, 0.0); - result += mat4(-0.11150839, 0.050114244, -0.032236893, 0.0015038166, 0.027094943, -0.02502733, -0.043179303, 0.016036531, 0.09573851, 0.08618344, -0.107915044, 0.009664713, 0.014394529, 0.06955564, 0.16166097, 0.20743166) * go_4(-1.0, 1.0); - result += mat4(-0.044392925, -0.040684875, -0.23557815, -0.056034833, -0.028161626, 0.05496662, -0.053270698, -0.0734554, -0.111465365, 0.03420695, 0.109617576, 0.0010966054, -0.2844835, 0.26836982, 0.23121232, -0.10785496) * go_4(0.0, -1.0); - result += mat4(0.23357789, 0.00012668641, 0.107617445, 0.095301114, -0.02025481, 0.05065449, -0.024430674, -0.06981479, -0.013470061, -0.18655962, 0.0027839232, -0.12599237, 0.33548972, 0.30407274, -0.40126064, -0.32490435) * go_4(0.0, 0.0); - result += mat4(-0.122281134, -0.04318224, -0.052405555, 0.013284251, 0.13037762, -0.03950817, 0.11751856, 0.12586644, 0.04493563, 0.065146565, -0.08837088, 0.047829423, -0.06804128, 0.048373412, -0.15102965, 0.055268798) * go_4(0.0, 1.0); - result += mat4(0.030756064, 0.04952702, -0.13558283, 0.0072438875, 0.009556099, -0.010242232, -0.030279964, -0.02526838, 0.038414564, 0.048353594, 0.095979914, 0.021043506, -0.03390589, 0.21514107, 0.16822831, -0.03800557) * go_4(1.0, -1.0); - result += mat4(-0.077866204, -0.033634454, 0.037902627, 0.07902395, -0.028916273, -0.0226067, -0.024876777, -0.022323275, 0.023246247, 0.053687774, -0.07160366, 0.047302466, -0.16095349, 0.20279877, 0.4096563, -0.07618548) * go_4(1.0, 0.0); - result += mat4(-0.07142796, 0.06627731, -0.14174895, -0.07026203, 0.07220904, -0.040048495, -0.00987828, 0.08977276, 0.13406783, 0.01384705, -0.11771938, 0.12959056, 0.014253595, -0.06292875, 0.2582175, 0.40633658) * go_4(1.0, 1.0); - result += mat4(-0.16788402, 0.050656084, 0.19867243, -0.047497474, -0.041200183, -0.035055846, 0.07874877, 0.04519112, -0.06284356, 0.066545784, 0.12576821, -0.056989186, -0.017403305, 0.08785861, -0.041629825, -0.015809631) * go_5(-1.0, -1.0); - result += mat4(-0.049183913, 0.0074359034, -0.08632813, 0.005517822, 0.022378573, 0.008625282, -0.08956046, -0.022195501, 0.05653246, 0.059899297, -0.18981466, -0.088493966, -0.17928217, 0.09689291, 0.119702354, 0.02164232) * go_5(-1.0, 0.0); - result += mat4(0.14917888, 0.015048009, -0.005661549, 0.037006833, -0.044544507, -0.04312164, -0.00308949, -0.1262605, -0.05497811, 0.007944446, 0.08427898, 0.10117571, -0.04657141, 0.02150161, -0.06573186, 0.040465128) * go_5(-1.0, 1.0); - result += mat4(-0.13925308, -0.027741015, 0.154933, -0.21173707, 0.03086154, -0.09298073, 0.012140707, -0.0837475, -0.0389594, -0.13471437, -0.06527673, -0.09669443, -0.029916963, 0.098984316, 0.07964568, 0.12955827) * go_5(0.0, -1.0); - result += mat4(0.113585204, -0.1900433, 0.06495972, 0.2520296, 0.028009154, 0.11481251, -0.041522022, 0.12091007, 0.10473571, 0.050006554, 0.15297762, -0.008781097, 0.31699565, -0.017735595, -0.17169666, -0.2624132) * go_5(0.0, 0.0); - result += mat4(0.0887785, 0.028235141, 0.07372089, 0.04354993, 0.017250411, 0.06372916, 0.14129215, 0.02355555, 0.027448706, 0.044665307, 0.021888286, 0.19552916, 0.15212306, 0.04121492, 0.14111567, 0.17364514) * go_5(0.0, 1.0); - result += mat4(-0.053401828, 0.0036638333, -0.11299562, -0.018262852, -0.018146416, 0.036637712, -0.016478777, -0.1337408, -0.0517515, -0.04804134, 0.023531632, -0.043174334, -0.06509281, 0.04609587, 0.12353532, 0.07258964) * go_5(1.0, -1.0); - result += mat4(0.13987146, -0.004954282, -0.19968997, 0.10498915, 0.032130655, -0.06047886, 0.05529797, 0.1026575, 0.05790419, -0.02940328, -0.0059209364, 0.014009479, 0.03707385, -0.22969075, 0.014512211, -0.05710503) * go_5(1.0, 0.0); - result += mat4(-0.039069746, 0.062022384, -0.07215672, 0.06928623, 0.060027763, -0.0012453326, -0.10970553, -0.06261657, 0.1871706, -0.0018255943, -0.14889055, 0.023299964, -0.3351649, 0.37802795, -0.19070482, -0.060723614) * go_5(1.0, 1.0); - result += vec4(0.11029581, -0.13019782, -0.084883854, -0.08666392); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2512713, 0.04446131, -0.13019001, -0.19825238, -0.13686082, 0.0009870777, -0.057273045, -0.18591711, -0.23278764, 0.18710285, -0.22846954, 0.053128306, -0.21377552, -0.031190397, 0.02671188, 0.27215254) * go_0(-1.0, -1.0); - result += mat4(-0.02850081, -0.25581798, -0.2916671, 0.25948995, -0.061595846, 0.021996778, 0.26533875, -0.1386817, -0.50907725, -0.107387096, -0.5450341, -0.024946108, -0.17377011, 0.16451572, 0.026229601, 0.4334658) * go_0(-1.0, 0.0); - result += mat4(-0.16645597, 0.04859862, -0.11956127, -0.10639128, -0.1512508, -0.16807108, -0.17695063, 0.18996993, 0.02294206, -0.10125812, -0.5181448, -0.38864586, 0.23754308, -0.08984774, -0.24180885, 0.3828395) * go_0(-1.0, 1.0); - result += mat4(0.06978632, -0.07391368, 0.16064985, 0.14387815, 0.13395701, 0.0072151893, -0.012425532, 0.17299308, 0.07081038, 0.36008126, -0.15714419, 0.07240115, 0.13636859, 0.1784294, 0.011940809, -0.52540964) * go_0(0.0, -1.0); - result += mat4(-0.09117334, 0.23012494, 0.28810725, -0.100390926, 0.06310453, 0.20847455, -0.10232593, -0.19567461, 0.36627305, -0.4853842, 0.08254439, 0.24376224, 0.056684412, 0.006989206, 0.022157473, -0.030653777) * go_0(0.0, 0.0); - result += mat4(-0.2663092, 0.00064693484, 0.029155029, 0.09757617, 0.1529268, 0.091259964, -0.10012239, -0.22128165, 0.13576204, 0.11918086, 0.19831064, 0.502025, 0.12156709, 0.24983601, 0.3127286, 0.75281775) * go_0(0.0, 1.0); - result += mat4(-0.17778896, 0.22676969, -0.015692642, -0.009996105, 0.028742755, -0.047916196, 0.25847134, 0.08189432, 0.36310482, -0.15971468, -0.67326957, -0.2647825, 0.21505079, -0.13693511, -0.25197342, -0.035831798) * go_0(1.0, -1.0); - result += mat4(-0.2606467, -0.04332907, -0.0081932675, -0.1871374, 0.011161732, 0.060496867, 0.1462103, 0.06257406, 0.3499117, 0.3138593, 0.76008654, -0.015321124, 0.111340284, -0.19518661, -0.07172604, -0.09686078) * go_0(1.0, 0.0); - result += mat4(0.06345513, -0.11955674, -0.10117546, 0.11214337, -0.032827023, -0.03233337, 0.0405524, -0.059570026, 0.43338406, 0.19762945, 0.7126324, 0.4188931, -0.101491705, -0.013107355, -0.12105306, -0.006423246) * go_0(1.0, 1.0); - result += mat4(-0.06646153, 0.008786217, -0.12322221, 0.038551513, 0.21105461, 0.029630456, -0.046948384, -0.08749188, 0.20109598, -0.32960144, 0.12458934, 0.065261096, 0.1736474, 0.08107202, 0.21897486, -0.07582082) * go_1(-1.0, -1.0); - result += mat4(-0.0956223, -0.16077499, -0.078044854, 0.010729564, -0.13726994, 0.028060393, 0.03612404, -0.34773487, -0.102635644, -0.15022214, 0.35442317, 0.1504626, 0.12941697, -0.0081511475, 0.47598404, 0.1603431) * go_1(-1.0, 0.0); - result += mat4(0.056824043, 0.06583582, 0.19184831, -0.2864132, 0.028662741, 0.11763177, -0.13771693, 0.00023768989, -0.103775464, -0.17286631, 0.0583067, -0.24930799, -0.003860889, 0.03102717, 0.27666515, 0.16049923) * go_1(-1.0, 1.0); - result += mat4(0.10747796, -0.11407924, 0.07512156, 0.16156466, -0.0761196, -0.4194308, 0.3467298, 0.051567934, -0.01650765, -0.3078, -0.0915916, -0.12230647, 0.28413123, 0.12150274, 0.32607988, 0.03547804) * go_1(0.0, -1.0); - result += mat4(-0.15339021, -0.32022968, -0.15313472, -0.21096179, 0.21755596, 0.5007671, -0.084493205, 0.24789453, -0.008148358, -0.37689698, 0.052389532, 0.1103459, 0.116709754, 0.057310186, -0.13453801, 0.31041884) * go_1(0.0, 0.0); - result += mat4(-0.27026525, 0.055883665, 0.21993993, 0.16815868, -0.16430366, 0.014845722, -0.04250501, -0.32818204, -0.06997226, -0.15058292, 0.15950048, -0.12349109, 0.027781306, 0.010121193, 0.21316971, 0.35488003) * go_1(0.0, 1.0); - result += mat4(-0.26226902, 0.12889884, 0.035255022, -0.25410843, 0.15391718, 0.15659589, 0.23515344, -0.12434832, -0.25579002, -0.30341643, -0.037506066, -0.15720633, 0.1376103, 0.18252009, 0.33176532, 0.027529534) * go_1(1.0, -1.0); - result += mat4(0.0037590207, 0.17911285, 0.06906637, 0.17953697, -0.09008308, -0.15015154, -0.43836382, 0.3525618, 0.05467472, -0.52823055, -0.23620026, 0.34462368, 0.39483768, 0.20073475, 0.3278273, 0.10098111) * go_1(1.0, 0.0); - result += mat4(0.10590756, 0.0948448, -0.14713965, 0.36263084, -0.20373668, -0.002442622, -0.17611219, -0.12712897, 0.047380507, -0.07845144, -0.21089159, -0.16667572, 0.19997585, 0.13592377, 0.33893886, 0.18317363) * go_1(1.0, 1.0); - result += mat4(0.2965214, -0.06210429, -0.14850818, 0.08950312, 0.16642696, -0.016716538, -0.072306536, 0.31038073, -0.07912652, -0.05515433, -0.04921583, 0.08185186, 0.18347357, 0.022154849, -0.0004953931, -0.03949225) * go_2(-1.0, -1.0); - result += mat4(-0.29195285, 0.24432418, -0.36798882, 0.17430644, 0.36771268, -0.06538093, -0.29294577, -0.06279913, -0.21313414, 0.09859833, -0.108558804, -0.029308762, 0.13946626, -0.017130189, -0.06855778, -0.25429824) * go_2(-1.0, 0.0); - result += mat4(-0.06389454, -0.064197145, -0.045878682, -0.07161815, 0.04137984, 0.16231675, 0.4002652, -0.19706374, -0.23648848, -0.12520109, -0.13031802, 0.16896103, -0.14413834, 0.08727873, 0.23887047, -0.10668098) * go_2(-1.0, 1.0); - result += mat4(0.049962725, 0.015332934, -0.32353997, 0.010178239, 0.14607702, -0.021713382, 0.30675814, -0.23125732, -0.12972106, -0.015958687, -0.12036701, -0.10332523, 0.004802664, -0.04311933, -0.18757673, 0.13215788) * go_2(0.0, -1.0); - result += mat4(-0.149493, -0.25933927, -0.16011974, 0.030059932, 0.17800556, -0.21459822, -0.2168605, 0.3184123, 0.10750539, 0.16187398, 0.32434842, 0.11596275, -0.13076428, 0.19637384, 0.22133437, 0.37495127) * go_2(0.0, 0.0); - result += mat4(0.054967344, 0.02872234, 0.03161886, 0.062141456, -0.19746579, -0.14291914, 7.4703865e-05, 0.15052183, 0.11602195, 0.0037601371, -0.02332411, -0.089222685, 0.23475187, -0.1604402, -0.38760346, -0.020806316) * go_2(0.0, 1.0); - result += mat4(-0.14585812, -0.14615667, -0.051447522, 0.15611356, 0.18497528, 0.081289835, 0.12661521, 0.005147319, -0.036558554, -0.053869057, -0.0039063287, -0.032759674, 0.09126186, 0.008506298, -0.034447696, -0.10733875) * go_2(1.0, -1.0); - result += mat4(0.054028746, -0.00937832, -0.15684044, -0.035560567, 0.11809561, 0.1014585, 0.03356128, 0.02016173, 0.09049222, -0.021339757, 0.07999249, 0.18014722, 0.016788004, 0.043118123, -0.18311624, -0.17827764) * go_2(1.0, 0.0); - result += mat4(-0.17769523, 0.11805558, 0.1659212, 0.041927963, 0.078464985, 0.07504244, 0.09389066, 0.050142735, 0.10748948, -0.102326766, -0.24754792, -0.122868046, -0.11781918, -0.014019157, 0.049353566, 0.058935367) * go_2(1.0, 1.0); - result += mat4(0.15844208, 0.04755972, 0.2995126, -0.21663505, -0.00011620265, -0.0920107, -0.022999357, -0.1296501, -0.15867265, -0.19909091, -0.19694586, -0.056097876, 0.07395912, 0.10025299, 0.25709102, -0.023848202) * go_3(-1.0, -1.0); - result += mat4(-0.11322553, -0.09600812, -0.14286031, 0.14715615, 0.1812981, -0.010719141, -0.06493227, -0.02056335, -0.036782123, -0.16428772, -0.0257993, -0.413957, 0.22038403, 0.12777176, 0.07709192, -0.062658824) * go_3(-1.0, 0.0); - result += mat4(-0.028069293, 0.06065116, -0.2580596, 0.1429641, -0.031438775, 0.15333374, 0.04029889, -0.2119529, 0.02965389, 0.011932767, 0.048941217, 0.052197248, 0.0069986824, 0.114639916, 0.23558734, 0.071952805) * go_3(-1.0, 1.0); - result += mat4(-0.06488308, 0.09402183, 0.2945335, -0.0075379927, 0.23234147, 0.16486216, 0.075063676, -0.13243993, -0.07322842, -0.03335224, 0.10056115, -0.03634638, -0.039835792, 0.07942052, 0.011616743, -0.032830272) * go_3(0.0, -1.0); - result += mat4(-0.07104258, -0.17667016, -0.21837749, -0.055763435, -0.6686622, -0.20883176, 0.2730452, 0.23990531, -0.029782413, -0.0098454505, -0.3267454, -0.13315259, 0.26045015, 0.06319506, 0.3368705, -0.057651937) * go_3(0.0, 0.0); - result += mat4(-0.1651042, -0.0065184776, -0.07931902, -0.3233216, -0.17614277, -0.014422923, 0.12026072, 0.19844185, -0.16411425, -0.10423013, -0.14174505, -0.042299822, -0.013956158, 0.043245506, 0.28541192, -0.024170961) * go_3(0.0, 1.0); - result += mat4(0.11822045, 0.13256907, 0.1145154, 0.20927152, 0.05685588, -0.13790809, -0.3190584, 0.1989516, 0.009066991, 0.2330579, 0.1995987, 0.11560573, -0.030923547, 0.087892644, 0.21597871, 0.03743619) * go_3(1.0, -1.0); - result += mat4(-0.4099685, -0.020438893, -0.082362354, -0.06452889, 0.37881377, 0.10635464, -0.06538328, -0.38973767, 0.51307523, 0.11719936, 0.38153416, -0.34511742, -0.048716113, -0.018229034, -0.03832133, -0.05830876) * go_3(1.0, 0.0); - result += mat4(-0.106022984, -0.014159266, -0.026645603, -0.038261224, 0.20721874, -0.040447287, 0.034983322, 0.14717588, -0.010929067, -0.16487508, -0.01462808, 0.10304265, -0.10781002, 0.023938116, 0.18254079, 0.004454827) * go_3(1.0, 1.0); - result += mat4(0.021212364, 0.02463952, 0.20319557, 0.006853534, 0.01923601, -0.03024551, 0.16040856, 0.030991258, -0.069986686, 0.062546656, -0.031001838, -0.041288298, -0.1010596, 0.06939378, 0.23429441, -0.09559115) * go_4(-1.0, -1.0); - result += mat4(0.06261205, -0.03705453, -0.18669654, -0.0181734, 0.11758142, 0.062471334, 0.19166726, 0.20650591, -0.15047501, 0.15895432, 0.049506746, 0.21445669, -0.103519544, 0.005469086, 0.0039006013, -0.27438062) * go_4(-1.0, 0.0); - result += mat4(-0.080068275, 0.087389246, 0.063547224, 0.07317146, 0.06493674, 0.08251285, 0.19219737, 0.14406256, 0.0050070896, 0.08467077, 0.30765936, 0.13362816, -0.19590043, -0.0025648642, -0.02054509, -0.123127185) * go_4(-1.0, 1.0); - result += mat4(0.035833023, -0.07591796, -0.07311685, -0.015659545, -0.1071422, -0.03163112, -0.15992196, -0.012923958, -0.2571729, -0.07938968, 0.0413156, -0.13006738, -0.15211388, 0.04415037, -0.05164996, 0.10922049) * go_4(0.0, -1.0); - result += mat4(-0.01729037, 0.15696312, 0.24416976, -0.14139475, -0.113730945, -0.03231372, -0.030602036, 0.13402711, -0.4753809, -0.08170512, -0.22863603, 0.014114137, 0.11541584, -0.11207372, -0.6808578, -0.18360177) * go_4(0.0, 0.0); - result += mat4(0.055491205, -0.12612139, -0.106761724, 0.012882862, 0.14926314, 0.091033846, 0.20083062, -0.0016588457, 0.20377177, -0.11680146, 0.10070291, 0.050298847, -0.06142294, -0.09137155, -0.0892819, -0.33678165) * go_4(0.0, 1.0); - result += mat4(0.10703002, 0.084578834, -0.12851705, 0.060689818, 0.09584378, 0.08541435, -0.19049749, -0.06647584, 0.067393035, -0.07042473, -0.44782272, 0.077020116, 0.023799181, 0.13890763, 0.30552545, -0.099860385) * go_4(1.0, -1.0); - result += mat4(-0.06843849, -0.06796385, -0.14991613, -0.10321344, 0.030656688, 0.01517565, -0.04451364, -0.14096247, 0.0616397, 0.104577266, 0.17183799, -0.33740512, -0.17921185, 0.13753828, 0.033225838, 0.033278663) * go_4(1.0, 0.0); - result += mat4(0.07333974, -0.035097934, -0.099412724, 0.028803498, 0.0073889066, 0.04448838, 0.10087784, -0.10349331, -0.1748929, -0.023355793, 0.12004346, 0.060392488, 0.21111041, 0.02820841, -0.01905034, -0.060936175) * go_4(1.0, 1.0); - result += mat4(0.1230735, -0.036640514, 0.14228842, 0.03674977, 0.18953583, 0.12063422, 0.278849, 0.011077689, -0.004723119, -0.085871086, -0.22208698, -0.05897798, -0.08820831, -0.055343833, -0.36630332, 0.061420467) * go_5(-1.0, -1.0); - result += mat4(-0.08617953, 0.029824207, 0.012999008, 0.14653832, 0.091754906, -0.18726993, 0.15466972, 0.07520414, -0.09422507, 0.06285359, -0.05190847, 0.040111717, 0.06347725, -0.12677085, -0.25064456, 0.037838973) * go_5(-1.0, 0.0); - result += mat4(0.024296625, 0.050277006, -0.0038943852, 0.22721657, 0.094200276, 0.13543595, -0.07011714, -0.0761234, 0.09904409, 0.040095594, 0.038246762, -0.088900656, -0.0994826, -0.07779853, -0.23548591, -0.011814277) * go_5(-1.0, 1.0); - result += mat4(-0.11484334, 0.058457036, -0.14017995, 0.004168719, 0.280425, -0.0608683, -0.041607536, 0.18203874, -0.09708175, 0.010571225, -0.09521854, 0.10316223, 0.22425781, 0.012244434, 0.22746642, -0.14701338) * go_5(0.0, -1.0); - result += mat4(-0.23617493, -0.17771423, -0.08029921, -0.17315923, -0.5219916, -0.20046392, -0.61504555, 0.097057335, -0.17237096, -0.12740523, -0.19614285, -0.0962008, 0.16025336, -0.061222732, 0.17753237, 0.17213206) * go_5(0.0, 0.0); - result += mat4(-0.106579974, 0.049742647, -0.05126049, 0.029903352, 0.26753578, -0.060165133, -0.056066565, 0.061395545, 0.21733779, 0.08878832, 0.0326938, -0.021217436, 0.098148674, 0.032903112, 0.20047897, 0.26074448) * go_5(0.0, 1.0); - result += mat4(0.0755034, 0.07197553, 0.1150647, 0.060213815, 0.02418587, -0.0068174214, 0.09854082, -0.06657632, -0.09059176, 0.06860972, 0.02102682, -0.08348747, 0.18531941, 0.01842052, -0.10409639, 0.10308704) * go_5(1.0, -1.0); - result += mat4(0.23391157, -0.04221323, 0.0070946272, 0.22225508, -0.03986882, 0.21027099, 0.3479087, 0.078737445, 0.10444782, 0.14575955, 0.28820315, 0.028596792, 0.25995937, 0.170944, 0.0895069, -0.007549278) * go_5(1.0, 0.0); - result += mat4(0.1333923, 0.057424176, 0.03997452, -0.070987694, -0.040175647, -0.106138796, 0.05134428, 0.17941214, 0.040890414, 0.047647286, 0.11145406, -0.064056404, -0.050256927, 0.1002497, 0.3559856, -0.20863442) * go_5(1.0, 1.0); - result += mat4(0.1188355, -0.12645717, -0.2225628, -0.08409446, 0.031680476, 0.1285114, 0.015257031, 0.07314906, -0.21217677, -0.07397989, -0.09830523, 0.095247865, -0.17913309, 0.041592747, -0.2962181, -0.14066707) * go_6(-1.0, -1.0); - result += mat4(-0.07401649, 0.04513353, -0.08079379, -0.2691485, 0.062272236, 0.018691711, -0.060476813, -0.06744648, 0.100468054, 0.023117458, -0.14244545, -0.3305552, 0.010295283, 0.16395009, 0.15042467, -0.034076292) * go_6(-1.0, 0.0); - result += mat4(-0.3141746, -0.26248914, -0.027696338, -0.30070263, 0.09125419, -0.0014763775, -0.14756647, -0.17390263, -0.17403154, -0.04297874, -0.1500881, -0.15539391, 0.006197388, 0.023637652, 0.032611176, 0.048603363) * go_6(-1.0, 1.0); - result += mat4(-0.07516776, -0.031942673, 0.07770739, 0.031496312, -0.0021692938, 0.056884985, 0.24546169, 0.003367791, -0.05033831, 0.028794305, 0.021211961, 0.33864278, 0.0031321745, -0.105278015, 0.0111407675, 0.0701436) * go_6(0.0, -1.0); - result += mat4(0.1021264, 0.0061049256, 0.19486322, 0.126134, -0.095017105, -0.08792092, 0.02274828, 0.02951376, 0.48483998, 0.07009104, 0.38171777, 0.02422749, -0.12333685, 0.11261442, 0.16367728, 0.072420195) * go_6(0.0, 0.0); - result += mat4(0.021734113, 0.21130675, -0.014667037, -0.007789671, -0.06846323, -0.117793076, -0.0964307, -0.02935036, -0.18294816, 0.059842993, -0.28913066, -0.102560386, 0.15000913, 0.032450397, 0.0988687, -0.085506015) * go_6(0.0, 1.0); - result += mat4(0.19509225, 0.028781189, 0.09271222, -0.1837815, -0.0120801255, 0.026893526, 0.2693688, -0.0016265993, 0.0039579174, 0.18030784, 0.4051318, -0.21415327, -0.12954094, -0.119375914, -0.30373552, -0.055964008) * go_6(1.0, -1.0); - result += mat4(-0.06313117, -0.32275942, -0.05000967, 0.20948593, 0.006625605, -0.02862116, 0.092328526, -0.0042809383, -0.22583593, -0.104118, -0.14766322, 0.3377656, 0.04367254, -0.21394794, -0.03967783, 0.04314833) * go_6(1.0, 0.0); - result += mat4(-0.16170035, -0.09274618, -0.068409264, -0.23469074, 0.02216607, -0.020882646, -0.030780574, -0.032728698, 0.19974543, -0.038825467, -0.20880729, -0.026957387, -0.2665676, -0.0042840806, -0.17434914, -0.20162287) * go_6(1.0, 1.0); - result += mat4(0.008706336, 0.24857536, 0.07012665, 0.029141488, -0.075971976, -0.06542143, -0.26977444, 0.28518954, -0.03994618, 0.06746459, 0.15960494, -0.031614818, 0.10402686, 0.05228521, 0.2706839, -0.08412449) * go_7(-1.0, -1.0); - result += mat4(0.34868455, 0.059125874, -0.24923514, -0.14030626, -0.002206843, 0.17649965, 0.022088109, 0.16989319, 0.28018022, 0.037482813, 0.033881966, -0.110211805, -0.1461133, 0.100152865, 0.21151756, 0.12784961) * go_7(-1.0, 0.0); - result += mat4(-0.0319395, -0.17589076, -0.22462021, 0.10701813, -0.06862374, -0.09489239, 0.22301264, 0.14567333, -0.10425317, -0.017173383, -0.09257967, 0.07398802, -0.0145952385, 0.18448386, 0.21701702, -0.16777204) * go_7(-1.0, 1.0); - result += mat4(0.061221093, -0.05704288, -0.07676006, -0.052152745, -0.29757017, -0.041490067, 0.10110148, 0.06999996, 0.13920887, 0.096642986, 0.11759076, 0.039797485, -0.11345797, 0.08531267, 0.0020498617, 0.20756677) * go_7(0.0, -1.0); - result += mat4(-0.02924768, 0.43140748, 0.3576708, 0.07425467, -0.09776612, 0.17081547, 0.047453757, -0.24676917, 0.24032865, 0.16710171, 0.2931733, 0.10410114, -0.015874937, -0.098303884, -0.38009295, -0.17355318) * go_7(0.0, 0.0); - result += mat4(-0.13524444, 0.007712721, -0.15341945, 0.26658493, -0.15367007, 0.04757085, 0.05987942, 0.16386369, -0.2413242, -0.0129769435, -0.06789226, -0.10357101, 0.092468075, 0.11371365, -0.19948734, -0.14243089) * go_7(0.0, 1.0); - result += mat4(0.118277036, -0.06164381, -0.1686405, 0.058012348, -0.2670688, -0.0145501625, -0.07265152, -0.11451649, 0.06803662, -0.02435205, 0.03637894, 0.053843852, 0.03652821, -0.10161457, -0.0029967225, 0.069967866) * go_7(1.0, -1.0); - result += mat4(0.23541775, -0.059244093, -0.096260205, -0.034619953, -0.24691534, -0.22830355, -0.033745077, -0.06558064, -0.1939561, -0.27438363, -0.3102494, 0.010047581, -0.036287133, 0.015464844, -0.07904172, 0.058030576) * go_7(1.0, 0.0); - result += mat4(-0.30107716, -0.1288575, -0.022093268, 0.27418026, 0.23561528, 0.11505671, 0.3549647, -0.13953236, 0.14726228, -0.0036342216, -0.14700253, -0.028157962, -0.23330247, -0.14545065, -0.29455653, 0.28482953) * go_7(1.0, 1.0); - result += vec4(0.028692381, 0.02326062, -0.11377067, 0.025062647); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.022938877, 0.2579751, -0.013084437, -0.1089233, -0.14861627, -0.078500114, 0.019642482, -0.05139565, -0.051909085, -0.17062944, 0.068744116, -0.07403651, 0.3269677, 0.17037666, 4.5802863e-05, -0.15335672) * go_0(-1.0, -1.0); - result += mat4(0.07954113, 0.18079437, -0.28405085, 0.007825187, 0.20935248, 0.14544328, 0.033194635, -0.21030708, 0.32258448, -0.26704326, 0.16460042, 0.065626666, -0.08469482, 0.06723138, -0.09091223, -0.06205721) * go_0(-1.0, 0.0); - result += mat4(0.17380527, -0.020091513, 0.0582957, -0.024271399, 0.18975389, 0.19778416, -0.29433975, 0.15521859, 0.58399194, -0.09595809, 0.009928574, -0.18851084, -0.29115897, -0.048134226, -0.09617586, 0.047225073) * go_0(-1.0, 1.0); - result += mat4(-0.09309238, -0.07675889, -0.24878357, -0.06531893, -0.064129435, -0.009008467, 0.11631878, -0.06916144, 0.2793126, -0.32513165, 0.37253168, 0.036576062, 0.36744595, -0.04729552, -0.13206004, -0.05215635) * go_0(0.0, -1.0); - result += mat4(-0.023187222, 0.0009231289, 0.14988932, 0.23626575, -0.15809236, 0.17567657, -0.02422277, -0.33645374, -0.41344398, 0.17103645, 0.3518877, 0.47345215, -0.25195712, 0.084660046, -0.12522705, 0.052872717) * go_0(0.0, 0.0); - result += mat4(0.055161323, 0.043026455, 0.03779778, -0.08075425, -0.115782134, -0.014549669, 0.37075353, 0.22045816, -0.49088693, 0.0835494, 0.2159082, -0.41866717, -0.06417238, -0.30653054, 0.12484446, 0.13176875) * go_0(0.0, 1.0); - result += mat4(-0.045149174, 0.06681547, 0.18394029, -0.14042361, -0.07765508, 0.05034044, -0.17164557, -0.12491487, 0.4975827, -0.3203176, 0.055334024, 0.125109, 0.336075, 0.28669038, 0.30557877, 0.030119808) * go_0(1.0, -1.0); - result += mat4(0.00011821607, -0.122472174, -0.08324348, -0.027970925, -0.023000905, -0.099142514, -0.035895523, -0.08137834, -0.16044949, -0.19354698, -0.15582532, -0.081981316, 0.12961699, -0.1918534, 0.08779121, 0.12144554) * go_0(1.0, 0.0); - result += mat4(0.025441505, 0.03427134, -0.0064664106, 0.07586567, -0.1003307, -0.065233536, -0.16611056, -0.12936847, -0.50816315, -0.32010305, -0.20362125, -0.03147093, -0.072087474, 0.054650743, -0.16390504, 0.019627476) * go_0(1.0, 1.0); - result += mat4(-0.40184093, 0.022268726, -0.34950277, 0.0594148, -0.2275374, -0.12103956, 0.0052295276, -0.00024172834, 0.10389285, -0.1376218, -0.25130105, 0.14029239, -0.2917768, -0.14039762, -0.14850211, 0.035800025) * go_1(-1.0, -1.0); - result += mat4(0.062030964, 0.25622177, -0.72319925, 0.15366316, -0.183584, 0.36516508, -0.23446779, 0.08663755, -0.18829858, -0.002415918, -0.43276885, -0.07432367, -0.16350701, -0.3125193, -0.14811535, 0.0011325915) * go_1(-1.0, 0.0); - result += mat4(0.12557262, 0.20273705, -0.276058, -0.02353762, -0.066855654, 0.007290285, 0.043816283, -0.08797092, 0.12488218, -0.0654431, -0.019331945, -0.07025083, -0.24953426, -0.10457234, -0.14429206, -0.06647885) * go_1(-1.0, 1.0); - result += mat4(-0.09522532, 0.076986365, -0.21861225, -0.015553463, -0.08106973, 0.10615721, -0.11285844, 0.24737634, 0.16936691, -0.019318739, -0.11046508, -0.16758144, -0.23672962, -0.14047794, -0.055881936, -0.0519727) * go_1(0.0, -1.0); - result += mat4(-0.09556547, 0.38048413, 0.2174768, -0.40154982, 0.040295098, -0.28001946, 0.079922006, -0.27905703, 0.036086317, -0.47458485, 0.01217378, 0.047201037, -0.14604184, 0.14169596, -0.078762196, 0.39877397) * go_1(0.0, 0.0); - result += mat4(-0.043790977, 0.03552704, 0.7248381, -0.50752306, 0.28982326, -0.11697283, -0.061339833, 0.19690266, 0.044057723, 0.061007652, -0.018818501, -0.22131611, -0.32041064, 0.05665662, 0.07443633, -0.15590373) * go_1(0.0, 1.0); - result += mat4(-0.036357548, 0.099011496, -0.0600166, -0.006672921, -0.1656192, -0.058472272, -0.037689343, 0.005283873, -0.30923024, 0.046291128, 0.042236008, -0.04899875, -0.3175488, -0.12077662, -0.13294365, 0.03357164) * go_1(1.0, -1.0); - result += mat4(0.1086259, -0.19654356, 0.07482405, 0.028583387, 0.12874746, 0.13142939, -0.03945759, 0.070535645, -0.23495245, -0.039286736, 0.05450344, -0.026803093, -0.114840984, 0.045042433, -0.18101883, 0.08081232) * go_1(1.0, 0.0); - result += mat4(0.2383998, -0.033481326, 0.12682496, 0.17717046, -0.09860243, 0.09552485, -0.056021366, 0.13705646, 0.2192259, 0.2657086, -0.014578617, -0.05311957, -0.3127505, -0.0035301214, 0.044448815, -0.037845958) * go_1(1.0, 1.0); - result += mat4(-0.093362145, -0.08148622, 0.12565112, -0.019403974, -0.13835338, -0.0071526463, 0.1290535, -0.057555214, 0.09632061, -0.053040132, 0.09852903, -0.03910937, -0.032320388, 0.048392795, -0.012207167, -0.04393196) * go_2(-1.0, -1.0); - result += mat4(0.057860725, -0.2024194, 0.29320854, -0.10589582, -0.10735796, 0.13684767, 0.28570637, 0.19166973, -0.09423759, 0.22893463, -0.114109, -0.025798064, 0.017444948, 0.11321059, 0.16112305, 0.04476502) * go_2(-1.0, 0.0); - result += mat4(-0.09663057, 0.10491212, -0.0963407, -0.1480959, -0.04952603, -0.08474395, -0.028124198, -0.12026459, 0.088296264, 0.03230017, -0.05177514, -0.024137117, -0.011235952, -0.049136978, 0.1452754, 0.11608158) * go_2(-1.0, 1.0); - result += mat4(0.07949651, 0.06453834, 0.31745693, -0.03497614, -0.20939794, -0.042127363, 0.017483925, -0.12876181, -0.0162109, -0.037397776, -0.013959519, 0.007777444, 0.1301563, 0.03655948, -0.044273265, -0.069461495) * go_2(0.0, -1.0); - result += mat4(0.076347195, 0.07847409, -0.03042475, -0.08723051, 0.23076174, -0.078408934, 0.40998375, 0.021870123, 0.19212195, 0.14179486, 0.09031163, -0.15221268, 0.20335157, -0.58715457, -0.023486411, -0.015180159) * go_2(0.0, 0.0); - result += mat4(-0.08601226, -0.048167598, -0.09975146, 0.008574901, 0.11590632, 0.0836411, -0.20796347, -0.29599068, -0.08497977, 0.04826079, -0.198501, 0.31000587, 0.06959842, 0.026950095, 0.19877516, -0.23890266) * go_2(0.0, 1.0); - result += mat4(-0.06923031, -0.028005023, -0.13632496, 0.004848759, -0.06092114, -0.12422374, 0.117385164, -0.017468572, -0.028347377, 0.002899302, 0.046875317, -0.058066733, 0.0028499789, -0.11922645, -0.209848, -0.016156359) * go_2(1.0, -1.0); - result += mat4(0.05266488, 0.08492771, 0.09440972, -0.08432919, -0.05243905, 0.1362437, -0.04429104, 0.11472059, -0.05158979, -0.23943315, 0.12290304, 0.040338255, -0.07158117, 0.06566732, -0.20102906, 0.114058346) * go_2(1.0, 0.0); - result += mat4(0.056619167, -0.033348348, 0.052370623, -0.06495122, 0.027564008, 0.08083595, -0.0127976, -0.06486138, -0.050432798, 0.026196232, 0.022196831, 0.20244269, 0.039577875, -0.052140575, -0.009956325, 0.077953376) * go_2(1.0, 1.0); - result += mat4(0.017136047, -0.15870284, -0.07191247, 0.18083136, 0.20753674, 0.15130065, -0.1790816, 0.26776645, -0.12231414, 0.24638735, -0.14738652, -0.028907528, 0.040832903, -0.067194805, 0.17294602, -0.0026166802) * go_3(-1.0, -1.0); - result += mat4(0.10104892, -0.018738149, -0.073060036, -0.29469725, 0.092650965, -0.15875727, -0.08502473, 0.032668564, -0.13845024, 0.27037326, -0.19944431, 0.039671347, -0.04895266, -0.017618237, 0.039025962, 0.0016598356) * go_3(-1.0, 0.0); - result += mat4(0.17514467, -0.07050378, 0.18666385, 0.12077226, 0.031181589, -0.21891394, 0.44564912, -0.14018096, -0.124896295, -0.0016302528, 0.03213462, 0.11361923, -0.07941629, -0.0925229, -0.084085576, 0.030316519) * go_3(-1.0, 1.0); - result += mat4(-0.35773918, -0.059806474, -0.0020904322, 0.19435045, -0.10230651, -0.007758403, -0.23293154, -0.32158864, -0.11275798, 0.16192111, 0.008352999, -0.008750009, 0.09212086, -0.09098618, -0.26915243, 0.03357177) * go_3(0.0, -1.0); - result += mat4(0.09943201, 0.1901531, -0.026349293, 0.17466106, -0.10673977, 0.2547749, 0.10157686, 0.1326886, 0.03555933, 0.36037236, -0.4218841, 0.07446364, -0.2235149, -0.13361512, -0.24873514, -0.23566855) * go_3(0.0, 0.0); - result += mat4(-0.083322965, 0.067394584, -0.15775509, 0.76516485, -0.40491992, 0.051136486, -0.21803752, -0.12209488, 0.043623567, 0.0404948, -0.28643316, 0.039587826, 0.0026148176, -0.08919038, -0.3478394, 0.116790466) * go_3(0.0, 1.0); - result += mat4(0.13910362, 0.023986172, 0.07350453, 0.010063174, 0.12445804, 0.09106235, 0.10570027, 0.025098123, 0.08997035, 0.2792279, 0.3160799, -0.3935213, 0.035729084, -0.021334067, -0.026267715, -0.044499733) * go_3(1.0, -1.0); - result += mat4(0.20421049, 0.07346835, 0.18474397, 0.026174849, -0.02989818, -0.06286323, 0.2275253, -0.029805843, 0.115734585, 0.15343104, 0.66103226, 0.075917505, -0.10288058, -0.021190342, 0.04455335, -0.011274376) * go_3(1.0, 0.0); - result += mat4(-0.2354359, -0.14831413, 0.037986103, 0.036590938, 0.25972295, 0.006108503, 0.030833008, -0.20212393, 0.022195943, -0.010900623, 0.37299496, -0.13169637, 0.03193699, 0.007832017, -0.017574975, 0.070344575) * go_3(1.0, 1.0); - result += mat4(-0.11885056, -0.18644641, 0.17840427, -0.13825245, -0.030942062, 0.015069156, 0.021639956, 0.11524744, -0.0601021, -0.008369759, 0.15134856, -0.18300958, -0.09940503, 0.009815146, -0.017253477, 0.09037604) * go_4(-1.0, -1.0); - result += mat4(-0.110104315, -0.009834152, -0.14369361, 0.06185118, -0.08255751, -0.0516039, -0.1951323, -0.00047362587, 0.017227406, -0.15231636, -0.042297862, -0.047925126, 0.34693977, 0.061454788, -0.11192555, 0.16597812) * go_4(-1.0, 0.0); - result += mat4(-0.15342343, 0.10931233, -0.007310907, -0.07751543, -0.0888511, -0.08119914, -0.1414023, -0.032593522, -0.13005419, -0.09993501, 0.20015062, -0.08697108, 0.020872341, -0.076239474, -0.09099305, -0.11908446) * go_4(-1.0, 1.0); - result += mat4(-0.044990964, -0.027314631, -0.07820695, 0.078159526, 0.042958725, 0.088754624, -0.049424402, 7.2685914e-05, -0.00056504336, -0.05408936, 0.24272163, -0.10305403, 0.041021567, 0.110585794, 0.10719972, 0.08432359) * go_4(0.0, -1.0); - result += mat4(-0.095741525, 0.12368431, 0.14801304, 0.0380265, -0.015476223, -0.06634335, 0.079489276, 0.058822274, 0.23608524, 0.29305235, -0.009837359, 0.16402614, -0.016570859, 0.3342296, 0.09576365, -0.021151496) * go_4(0.0, 0.0); - result += mat4(0.10729588, 0.045816828, 0.1262373, 0.0052509876, -0.121602945, -0.055951986, 0.04807077, -0.016409213, -0.011724864, 0.051216003, -0.119300105, 0.06001936, 0.084430665, -0.020765483, 0.16509366, -0.008958939) * go_4(0.0, 1.0); - result += mat4(-0.064694576, 0.110651545, 0.15088093, -0.046932697, 0.058936216, 0.06959351, -0.0020466733, 0.04747578, 0.22621915, 0.13449503, 0.01605113, 0.16042295, -0.07204144, -0.0900099, -0.088417225, -0.082057305) * go_4(1.0, -1.0); - result += mat4(0.16447057, -0.04517711, -0.1714595, -0.083775364, 0.06958718, -0.053486623, -0.031540155, 0.0049946113, 0.18206403, -0.12547323, -0.1314431, -0.2403156, 0.11255935, -0.01883286, 0.21715029, 0.043270845) * go_4(1.0, 0.0); - result += mat4(0.108898625, 0.079559706, -0.0034652199, 0.15574843, 0.025981857, -0.04027031, -0.10371948, -0.083748214, -0.067730375, -0.018392408, 0.001656431, 0.115139425, -0.021774331, -0.24732396, -0.07133477, -0.06610868) * go_4(1.0, 1.0); - result += mat4(-0.035133053, 0.03512937, 0.15728034, 0.15501308, -0.009090469, 0.089557186, -0.40637708, 0.2399038, 0.10503285, 0.025647165, -0.026959898, 0.052915934, 0.37169585, 0.19439524, 0.05578172, -0.14021298) * go_5(-1.0, -1.0); - result += mat4(0.14407758, 0.13171129, 0.034860328, -0.034273557, 0.31252018, -0.24374081, -0.092568725, -0.24656439, 0.013929443, -0.045619074, -0.030720312, -0.08240126, -0.008946209, -0.12069562, 0.10321105, 0.050253898) * go_5(-1.0, 0.0); - result += mat4(-0.16870415, -0.0053623654, -0.24239568, -0.015851695, 0.3168152, 0.10030775, -0.08809818, 0.19916728, 0.00062866835, 0.0105750095, -0.11852275, -0.038046032, -0.024067584, -0.07467565, 0.08368766, 0.10921712) * go_5(-1.0, 1.0); - result += mat4(-0.17414445, -0.08300633, -0.2915034, 0.08091456, 0.29668987, 0.15542515, 0.03857886, -0.12984616, 0.07567486, 0.14261106, 0.029647684, -0.08307407, 0.0063827154, -0.21285148, -0.05295185, 0.11996014) * go_5(0.0, -1.0); - result += mat4(0.21793848, -0.0986422, -0.38136294, -0.15358298, 0.23020543, -0.05977532, -0.11393491, -0.096013635, 0.24110852, 0.16509794, 0.123878606, 0.37243974, -0.11803778, -0.08029274, -0.3473595, -0.016619613) * go_5(0.0, 0.0); - result += mat4(-0.23718977, 0.09085187, 0.029400716, 0.47734168, 0.31362626, 0.017727366, 0.020105481, 0.057455037, -0.051743355, 0.07249409, 0.049400017, -0.1550629, -0.071846515, -0.1437987, 0.2417953, 0.014299535) * go_5(0.0, 1.0); - result += mat4(-0.08694347, 0.009841694, 0.09711932, 0.15246062, 0.098932154, -0.014437434, -0.11970662, 0.07598205, 0.038751386, 0.03185043, -0.07837853, 0.108438924, 0.04504558, 0.011566745, 0.008329154, 0.1426964) * go_5(1.0, -1.0); - result += mat4(0.048465043, 0.05677615, 0.099296875, -0.18124029, -0.010807039, -0.00491463, -0.33124956, -0.14285894, 0.083550416, -0.0138887465, -0.23193465, -0.097341135, 0.028116707, -0.02220312, -0.37721866, 0.01048504) * go_5(1.0, 0.0); - result += mat4(0.041770935, 0.14585412, 0.2197504, 0.08920772, 0.21015723, -0.028688433, 0.023897428, 0.067301795, -0.23041755, 0.007535018, -0.1479986, -0.056359813, -0.17258057, -0.115048505, -0.12676053, -0.08775268) * go_5(1.0, 1.0); - result += mat4(0.024465568, 0.082423724, -0.080443636, 0.06963394, 0.047642346, -0.14285465, -0.020962767, -0.09884441, 0.17492405, 0.003157105, -0.004446115, 0.08194303, 0.1291698, 0.027452087, 0.15300538, -0.054447226) * go_6(-1.0, -1.0); - result += mat4(0.04749992, 0.16784605, 0.1447426, -0.1622565, 0.24699093, -0.13908885, 0.24418731, -0.02740722, 0.12872131, -0.008208542, 0.20528013, 0.13789995, -0.15344016, -0.09991068, 0.14630906, -0.17380811) * go_6(-1.0, 0.0); - result += mat4(0.095947415, 0.20968701, -0.007149529, 0.094800524, 0.05043026, -0.0693885, 0.12464035, 0.03035088, 0.0108456295, 0.12440731, -0.15677981, -0.004279606, -0.21148744, -0.0016452523, -0.09077341, 0.08485625) * go_6(-1.0, 1.0); - result += mat4(0.14946367, -0.026544122, -0.01740767, -0.02725897, -0.031115597, -0.09615934, -0.014224658, 0.069897555, -0.06448997, 0.013844944, -0.24855709, 0.19252767, -0.07110074, -0.23129512, 0.17940485, -0.15197137) * go_6(0.0, -1.0); - result += mat4(0.024190446, -0.4131039, 0.20890464, -0.14430898, 0.09224411, -0.084142424, -0.1300263, -0.12037812, -0.13061382, -0.23952286, 0.3093258, -0.4347307, -0.07327249, -0.34333092, -0.22807422, -3.587411e-08) * go_6(0.0, 0.0); - result += mat4(-0.12566617, 0.09386748, -0.060595963, 0.06381177, 0.008107327, -0.063545115, 0.014224591, -0.113904804, 0.014311766, 0.074355006, 0.009707868, 0.06504525, -0.035151925, -0.059292633, -0.009372453, 0.0428329) * go_6(0.0, 1.0); - result += mat4(0.13565753, 0.08438446, -0.25228864, 0.29451725, -0.1524786, -0.05199007, -0.14514388, -0.007710791, -0.23031662, -0.069889344, -0.119042754, -0.15772636, 0.049727075, 0.14252858, 0.12696588, 0.034571454) * go_6(1.0, -1.0); - result += mat4(-0.318517, 0.16518372, 0.4465158, -0.12741676, -0.14931186, 0.01184804, -0.12370663, -0.05469679, -0.052085515, 0.07560356, 0.038580637, 0.101390935, -0.10760684, -0.09168702, -0.11736598, -0.027629623) * go_6(1.0, 0.0); - result += mat4(0.017697498, -0.032091524, -0.19681352, -0.39446026, -0.103161484, -0.041192908, 0.12083361, 0.033441972, 0.05410027, -0.13009293, -0.029752202, -0.055233393, 0.07508266, 0.21648347, 0.016127443, 0.003726564) * go_6(1.0, 1.0); - result += mat4(0.11844395, -0.20417796, 0.046860386, -0.04963335, 0.28758386, 0.12296038, 0.006130141, -0.12428727, -0.08112634, 0.08013286, -0.022072678, -0.013939199, -0.26830623, -0.0774501, -0.12584007, 0.1048961) * go_7(-1.0, -1.0); - result += mat4(-0.002199185, -0.18720287, 0.09647677, -0.099159345, -0.37042502, 0.12126858, -0.055984303, -0.006307439, 0.050587848, 0.13118829, 0.014796261, 0.118981615, 0.059268136, 0.04953137, -0.26783678, -0.005206253) * go_7(-1.0, 0.0); - result += mat4(0.29162773, -0.06825134, 0.35480535, -0.013254458, 0.13690558, -0.038092773, -0.1442183, 0.008582979, 0.06665567, 0.09263725, 0.06401897, 0.04955423, 0.026602494, -0.043426443, -0.06760424, -0.028097454) * go_7(-1.0, 1.0); - result += mat4(0.0062063616, 0.041832373, 0.026989486, 0.07646448, -0.075214215, -0.04088086, 0.030253297, -0.0031407007, 0.10060057, -0.21035422, -0.0057072476, 0.009671492, -0.01255018, 0.1356472, -0.07203105, -0.09337885) * go_7(0.0, -1.0); - result += mat4(-0.16497216, -0.46643725, 0.10457678, -0.08723099, 0.009856483, -0.09712093, -0.06077413, 0.029142302, -0.31294492, -0.2785737, -0.06385234, -0.46307138, 0.11363836, 0.050526526, 0.22832777, -0.037936512) * go_7(0.0, 0.0); - result += mat4(0.2284257, -0.06757494, -0.12362806, -0.46540114, -0.027965, -0.119273104, -0.04408465, -0.08089625, 0.064668186, 0.18018429, -0.052782137, 0.2974697, 0.07583212, -0.062142026, 0.16650566, -0.20243031) * go_7(0.0, 1.0); - result += mat4(0.1417323, 0.18362466, 0.015461011, -0.07306669, 0.05225903, 0.03313784, 0.046318106, 0.092073604, 0.014854908, -0.009204208, 0.08582702, -0.060514253, -0.033618286, -0.082627475, -0.047510605, -0.17358147) * go_7(1.0, -1.0); - result += mat4(0.044509146, 0.18667401, -0.11588646, 0.21190381, 0.13762853, -0.080344714, 0.035992276, -0.09347646, -0.05722154, -0.020241026, 0.09365893, 0.0743754, 0.028774736, -0.09181784, 0.117522955, 0.024451857) * go_7(1.0, 0.0); - result += mat4(0.33748287, 0.33612773, -0.14045207, -0.11222517, -0.11824314, 0.008339795, -0.13027953, 0.011434568, 0.20478332, 0.084446914, 0.10224658, 0.12708066, 0.3002674, 0.13365488, -0.06434799, -0.0489962) * go_7(1.0, 1.0); - result += vec4(0.06834564, 0.017679863, 0.058996353, 0.07812309); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.096992515, 0.08555787, 0.05567075, 0.3684235, -0.08453214, 0.14874797, -0.03518968, -0.21077682, 0.50580394, 0.27776504, -0.14072414, -0.047293838, -0.02501663, -0.18525644, -0.049244765, -0.019314952) * go_0(-1.0, -1.0); - result += mat4(0.15942743, 0.05601269, 0.43267244, -0.10105792, -0.10224665, -0.011477545, 0.18586546, 0.15386245, 0.018015172, 0.40642846, -0.43969464, -0.16773906, -0.08753851, 0.023862977, -0.20476931, -0.19330433) * go_0(-1.0, 0.0); - result += mat4(-0.08384181, -0.21928434, 0.24617073, 0.072414346, 0.01447392, 0.1280031, 0.26045907, -0.34674746, -0.06659609, 0.5437911, -0.2481379, -0.4408586, -0.02065628, 0.35024786, -0.43344817, -0.23969968) * go_0(-1.0, 1.0); - result += mat4(-0.26318234, -0.17276719, -0.27381238, 0.43724668, 0.1250605, 0.26279348, -0.1950965, 0.030116973, 0.22524981, -0.82836837, -0.37731346, -0.20764303, 0.082648724, 0.28439602, 0.2835361, -0.22858605) * go_0(0.0, -1.0); - result += mat4(-0.11053296, -0.18050304, -0.10785215, -0.5128143, -0.10638461, -0.18107837, -0.14984047, -0.31184852, 0.1233967, -0.5248787, 0.625766, -0.3261744, -0.33758238, -0.42288753, -0.24827915, 0.46629912) * go_0(0.0, 0.0); - result += mat4(0.05450445, 0.24746427, -0.12228202, 0.08459498, 0.21182795, -0.15472144, -0.20880555, -0.08567581, -0.06358891, 0.04441746, -0.24661979, -0.3056718, -0.011843654, 0.02622977, -0.30063242, 0.069148876) * go_0(0.0, 1.0); - result += mat4(0.10252986, 0.24974889, -0.14753763, -0.11542639, -0.02504192, 0.167707, -0.19300954, -0.28126183, 0.16349459, -0.39749804, -0.21315983, -0.3632333, 0.25346163, 0.011594266, 0.22163333, -0.36140066) * go_0(1.0, -1.0); - result += mat4(0.084694065, -0.15232442, 0.15100913, 0.258049, -0.16647953, -0.057295427, -0.2734653, 0.19444938, -0.543564, 0.1580093, -0.08364827, 0.39013955, 0.09799076, -0.28022006, 0.4436997, -0.007523592) * go_0(1.0, 0.0); - result += mat4(0.16044939, -0.16409683, -0.036102563, -0.045212515, 0.013765079, 0.16512275, -0.34618682, 0.15582882, -0.26858786, 0.11227446, -0.69422704, 1.0182123, 0.56721294, -0.27683023, -0.44450805, -0.056621786) * go_0(1.0, 1.0); - result += mat4(-0.005846392, -0.1002789, -0.11597346, 0.29757038, -0.3303294, -0.1128059, -0.16792095, -0.017062422, -0.20550682, -0.101541616, 0.1326292, -0.05803425, -0.1431525, 0.09539495, -0.0020564438, -0.015330874) * go_1(-1.0, -1.0); - result += mat4(-0.03305593, 0.30911654, -0.013541906, -0.03935406, -0.021767953, 0.033086017, -0.032538854, 0.29394448, -0.5953677, 0.042400517, -0.083737336, 0.35759467, -0.19653685, -0.0024307214, -0.022875965, 0.23306265) * go_1(-1.0, 0.0); - result += mat4(0.035584986, -0.08059428, 0.34352207, 0.1548032, 0.22265454, -0.09850938, 0.059585627, 0.13525864, -0.15460324, -0.12443778, -0.0065347757, 0.008565568, -0.09459641, -0.036760993, -0.16726579, 0.08680428) * go_1(-1.0, 1.0); - result += mat4(8.5111475e-05, 0.2236033, 0.17141129, -0.23127146, 0.15972026, 0.34908256, 0.26294386, 0.13128816, -0.16243693, 0.15757012, -0.22409199, -0.12647703, -0.18430239, 0.20520009, -0.02374801, -0.16203757) * go_1(0.0, -1.0); - result += mat4(0.22832601, 0.34606495, 0.11871914, -0.020249737, 0.21807198, -0.4782955, 0.27529162, -0.17565349, 0.038051367, -0.40700185, -0.2975774, -0.5380789, -0.004458205, -0.039739095, -0.19442874, -0.10650714) * go_1(0.0, 0.0); - result += mat4(0.25389373, -0.21592398, 0.46637633, 0.29954398, 0.011773476, 0.34604436, 0.015194187, 0.088156946, -0.07462061, -0.1797378, 0.24949403, 0.12773448, 0.04304656, 0.025975281, -0.0071224314, 0.10722792) * go_1(0.0, 1.0); - result += mat4(-0.021214327, 0.18125464, 0.09782468, 0.11554455, -0.10773687, 0.03764718, -0.07123926, 0.42674774, 0.15713947, 0.13268334, 0.2590209, 0.5615417, -0.10444575, 0.050965227, -0.1657652, -0.028306652) * go_1(1.0, -1.0); - result += mat4(0.07891638, 0.10982218, 0.18858793, 0.088180885, 0.21412432, 0.17309621, 0.13349771, -0.06536336, 0.2537686, 0.028627483, 0.2291187, -0.16728498, -0.0649568, -0.21011665, 0.12501954, 0.16584753) * go_1(1.0, 0.0); - result += mat4(0.37670746, -0.06669131, 0.2308896, -0.27846798, 0.03864727, -0.2396756, 0.20961864, -0.0955574, -0.17304963, 0.006572388, 0.4152245, -0.16013862, -0.048539825, -0.040141087, -0.17446917, 0.172646) * go_1(1.0, 1.0); - result += mat4(0.016411193, -0.24965028, -0.3197888, -0.15805353, 0.062157832, -0.07450992, 0.14774385, 0.019989528, -0.22329696, 0.07624211, 0.119352184, -0.12926702, 0.014121515, 0.04892924, -0.10143942, 0.1218296) * go_2(-1.0, -1.0); - result += mat4(-0.027942078, -0.21344666, 0.090950675, -0.017026879, -0.06316872, -0.17956391, 0.14474703, -0.12104946, 0.07770245, -0.11934515, 0.03306196, 0.08028085, 0.0807563, -0.09477622, 0.03688184, 0.031241085) * go_2(-1.0, 0.0); - result += mat4(0.058301553, 0.17516647, -0.1356353, -0.15869999, -0.06487614, -0.17825274, -0.28164253, 0.12063855, 0.14051922, 0.06572677, 0.24797052, -0.26174536, -0.014646216, -0.021676809, 0.102138005, 0.07929566) * go_2(-1.0, 1.0); - result += mat4(0.24743414, -0.07182416, -0.12567408, -0.57571995, -0.018107418, 0.27796823, -0.08527231, -0.18019378, 0.060446773, 0.10802219, 0.13173679, 0.1200748, 0.18567154, 0.19163565, -0.057419125, -0.24488002) * go_2(0.0, -1.0); - result += mat4(-0.0064926744, -0.35516098, 0.21456684, -0.07162182, -0.11187953, 0.11901505, 0.36913052, -0.019030696, -0.24774994, -0.026328832, 0.121998094, 0.20425063, -0.04413792, 0.16391441, -0.06149749, -0.5538841) * go_2(0.0, 0.0); - result += mat4(0.12691425, 0.011305395, -0.057030205, -0.029743116, -0.11666209, 0.20812204, 0.07555653, 0.011672403, 0.13864042, -0.08993008, -0.08202476, 0.12926434, 0.45806012, -0.0038320064, -0.02397306, 0.25906637) * go_2(0.0, 1.0); - result += mat4(-0.05215719, -0.2567637, -0.028009133, 0.12884264, -0.03538685, -0.14153866, -0.18635908, 0.3127351, -0.06493799, 0.11058845, 0.039282236, -0.089117266, -0.20289995, 0.16836898, -0.2553091, 0.3781839) * go_2(1.0, -1.0); - result += mat4(-0.038994674, 0.15095948, 0.010665794, -0.16193166, 0.029675307, 0.067519955, 0.014059612, -0.10524365, 0.22133544, -0.17850679, 0.17689049, -0.079176724, 0.140001, -0.106958285, -0.054205164, -0.063518755) * go_2(1.0, 0.0); - result += mat4(-0.0147742275, -0.02825343, -0.17911723, -0.033807088, -0.032546505, 0.07845434, -0.10618929, -0.24304347, 0.08031239, -0.081033856, 0.11696929, 0.30320054, -0.30589563, 0.025857087, 0.19169633, -0.21005262) * go_2(1.0, 1.0); - result += mat4(0.08359386, 0.29936704, 0.16312078, 0.21463135, 0.08171467, -0.1238904, 0.21628477, 0.20026375, -0.022520576, -0.09336571, 0.112078905, -0.11331715, 0.009337522, -0.050099798, -0.18231672, -0.020947263) * go_3(-1.0, -1.0); - result += mat4(-0.030812407, 0.111476146, 0.5977092, 0.13000198, -0.010192378, 0.054949045, 0.22067606, -0.2215171, -0.016222132, 0.10579395, 0.10758011, -0.009829448, -0.055121887, -0.018792551, -0.41590548, -0.04133538) * go_3(-1.0, 0.0); - result += mat4(0.080052584, 0.044864707, 0.106742695, -0.119988576, -0.21180773, 0.21859854, -0.30558732, 0.031225171, -0.1221141, -0.1679698, 0.19237423, 0.18212804, -0.019355904, 0.04471777, -0.4626242, 0.08120199) * go_3(-1.0, 1.0); - result += mat4(0.04417224, 0.22517249, 0.18053815, 0.2189462, -0.3901049, 0.12456932, 0.046451665, 0.027453724, -0.21874383, -0.28369403, 0.38541645, 0.15896674, 0.07901438, -0.11870142, -0.23583438, -0.21800627) * go_3(0.0, -1.0); - result += mat4(0.16514415, 0.48851582, 0.17654735, -0.32523116, 0.28139102, 0.32789868, 0.0060704425, -0.08439404, -0.19455875, 0.3426219, 0.1354883, 0.13480486, -0.047210373, 0.009763648, 0.10380663, -0.14301018) * go_3(0.0, 0.0); - result += mat4(-0.01964344, -0.22196314, 0.27099127, -0.3624297, -0.19935602, -0.57573617, 0.05781204, 0.34769946, -0.1655793, -0.31260255, -0.006191821, -0.14188464, -0.048039295, 0.016876832, 0.044305492, 0.11576497) * go_3(0.0, 1.0); - result += mat4(0.031500664, 0.213127, 0.040512875, -0.14993736, 0.1355947, 0.098466784, 0.2576776, -0.12359301, -0.095675476, 0.10758078, 0.15866314, 0.24855627, 0.01722974, 0.05124147, -0.2743417, 0.039515547) * go_3(1.0, -1.0); - result += mat4(0.2946348, 0.100007325, -0.06735624, 0.05319054, 0.19419125, 0.019504784, 0.07159323, 0.21550444, -0.19059516, 0.1583541, 0.3195432, -0.14882845, 0.06771776, -0.032769382, -0.08348987, 0.0024430798) * go_3(1.0, 0.0); - result += mat4(-0.05275983, 0.0034397016, -0.11966796, 0.12378445, 0.17581114, 0.13944638, 0.019923829, -0.031624325, -0.021019042, -0.16827096, -0.046106737, -0.06353076, 0.05943962, -0.20756234, 0.042654432, 0.13294446) * go_3(1.0, 1.0); - result += mat4(-0.042804338, 0.0009211868, -0.23128751, -0.14900532, 0.020116998, -0.129845, -0.26453322, 0.12563406, -0.015730144, 0.18961458, -0.2286719, -0.26802087, -0.0013182014, -0.08829011, -0.022237033, 0.18785976) * go_4(-1.0, -1.0); - result += mat4(0.068006374, 0.03713224, -0.17821713, 0.078400075, -0.03354765, 0.05032715, -0.22770362, 0.082578026, -0.164677, 0.010397865, 0.040545795, -0.07767106, -0.04931102, -0.020216117, 0.19189319, -0.07949725) * go_4(-1.0, 0.0); - result += mat4(-0.02560599, -0.014282298, -0.30485487, 0.12205604, 0.13143952, -0.020973703, -0.60740465, 0.18116136, -0.028516186, -0.09175719, -0.3332597, 0.0993698, 0.011291339, -0.018563187, -0.04645049, 0.1537859) * go_4(-1.0, 1.0); - result += mat4(-0.19548458, 0.008757838, -0.022760604, 0.056750417, 0.10407769, -0.103828914, -0.30039603, 0.15838397, 0.14583376, 0.14352289, 0.5236325, -0.22845235, 0.024826096, -0.15084279, -0.11028316, 0.3162365) * go_4(0.0, -1.0); - result += mat4(-0.27014557, -0.14510567, 0.13275504, -0.04220442, 0.073360756, 0.09062856, 0.25474098, 0.036567308, 0.029930808, -0.07118475, -0.38858262, 0.24752647, 0.18212575, 0.05463796, 0.2687639, -0.49617207) * go_4(0.0, 0.0); - result += mat4(-0.19640562, 0.101908855, 0.17502995, -0.042161964, 0.05290567, -0.025675468, -0.17403199, 0.09100326, 0.010622265, 0.044125065, -0.21804531, -0.1000515, 0.09555498, -0.042056557, 0.30270827, -0.110502906) * go_4(0.0, 1.0); - result += mat4(-0.015954453, 0.18156542, -0.026816932, 0.040066455, -0.041097276, -0.036309887, -0.27080503, -0.046121623, 0.2809894, 0.15110923, -0.051393576, -0.09357936, -0.110129625, -0.0112814475, -0.67396337, -0.045809776) * go_4(1.0, -1.0); - result += mat4(0.030026576, 0.31455976, 0.2093852, 0.07049524, 0.087148614, 0.04378545, -0.23404805, -0.21867152, 0.0780137, -0.3653028, 0.04958755, -0.24105056, -0.005830701, 0.14313154, 0.014666525, -0.12205944) * go_4(1.0, 0.0); - result += mat4(0.041753422, -0.029019587, 0.28341058, -0.11360368, -0.04306824, -0.022564419, -0.25620422, -0.07497915, -0.027317826, 0.014858011, -0.20636855, -0.34799644, -0.09822817, 0.11054621, 0.048805986, 0.28068805) * go_4(1.0, 1.0); - result += mat4(0.04645007, 0.20781171, -0.022659602, -0.16183186, 0.043681737, -0.016835278, -0.56000787, 0.25379097, -0.04654751, -0.009801681, 0.51817185, -0.28172117, -0.09141667, 0.004477492, 0.3877909, -0.25990424) * go_5(-1.0, -1.0); - result += mat4(-0.05770895, -0.32386646, 0.12786265, 0.25714403, -0.15705961, 0.042209778, 0.27720693, -0.31767642, 0.07279373, -0.19555818, 0.037276905, 0.17997949, 0.0382839, -0.18058495, 0.11596946, -0.4803383) * go_5(-1.0, 0.0); - result += mat4(0.14316835, -0.10939212, -0.57301897, 0.107101925, 0.027679194, 0.10561584, 0.16322306, -0.029265253, 0.015432328, 0.078424856, -0.3036955, 0.077147335, -0.07165004, 0.053753722, 0.046870816, -0.16831237) * go_5(-1.0, 1.0); - result += mat4(-0.0015454052, 0.11543685, 0.011629485, 0.09174164, -0.0020554285, -0.12829418, -0.16338444, -0.3855414, 0.09214294, 0.3051444, 0.4075737, 0.21011099, 0.09273038, 0.1422971, 0.23177463, -0.5677775) * go_5(0.0, -1.0); - result += mat4(-0.38397464, 0.1062587, 0.39587164, -0.13753776, -0.1408451, 0.051540542, -0.43004695, -0.37155452, 0.018951273, -0.12102222, 0.09337273, -0.1371699, -0.15890656, 0.06723986, -0.434453, 0.82531) * go_5(0.0, 0.0); - result += mat4(0.17049496, -0.04301534, -0.008399479, -0.02239451, -0.09903332, 0.16583356, -0.09590486, -0.43768612, -0.02140423, -0.017859606, -0.050639637, -0.15041262, 0.115062304, -0.05731665, -0.2678928, 0.3464159) * go_5(0.0, 1.0); - result += mat4(0.08870617, -0.118556865, -0.13360792, -0.09894303, -0.15581502, 0.2192686, -0.39398706, 0.11267478, 0.09166812, -0.15498365, -0.2917533, -0.16147003, 0.031740874, -0.22583205, -0.011654207, 0.30131137) * go_5(1.0, -1.0); - result += mat4(0.041226245, 0.073949926, 0.020469612, -0.04560685, 0.11118197, -0.24875127, -0.28384277, -0.209574, -0.11342182, -0.028049335, -0.30193615, -0.079933584, -0.095979676, -0.10020118, -0.19420303, -0.075664096) * go_5(1.0, 0.0); - result += mat4(0.14797074, -0.3470899, 0.39260823, 0.017051281, 0.06762197, -0.018575529, 0.0880026, -0.21063547, -0.1322691, 0.09712066, -0.4276631, 0.19340965, 0.12975846, 0.035868555, -0.70068085, -0.16410393) * go_5(1.0, 1.0); - result += mat4(-0.18932801, 0.09462974, 0.42027336, -0.37972912, 0.14362521, 0.19216716, -0.43429968, 0.059396047, -0.0013960754, 0.0058320346, -0.25363076, 0.044528674, -0.045085996, 0.09108611, -0.08413328, -0.32486486) * go_6(-1.0, -1.0); - result += mat4(-0.4067053, 0.10778585, 0.28718376, -0.051091816, 0.15242375, -0.02981224, -0.097597815, -0.048364934, 0.17647475, -0.083620705, -0.07125797, 0.044771638, 0.16834657, -0.025327723, -0.24978308, 0.09879097) * go_6(-1.0, 0.0); - result += mat4(-0.14262679, -0.24012862, 0.28995973, -0.08896369, 0.010631018, 0.09540369, -0.06608168, -0.18771736, -0.014997884, 0.030013464, 0.25964305, -0.21135412, 0.063037746, -0.018949352, -0.13153805, -0.2391852) * go_6(-1.0, 1.0); - result += mat4(0.057333205, 0.35793823, -0.031858347, 0.21486303, -0.04569342, 0.12527412, -0.12659034, 0.09696183, 0.08018003, -0.20497574, -0.38521993, 0.07651565, 0.07672333, -0.13392955, 0.080162585, -0.21611322) * go_6(0.0, -1.0); - result += mat4(0.089075185, -0.0313562, -0.1678185, -0.59176946, -0.10085004, -0.07158931, -0.20779158, 0.07887701, 0.05102273, 0.054919396, 0.20206434, -0.60396665, -0.21453445, -0.0129903015, -0.21422856, 0.120469116) * go_6(0.0, 0.0); - result += mat4(0.24352759, -0.46128348, -0.11604824, -0.12906942, -0.092262454, 0.093686655, 0.008656515, -0.09435711, 0.02955139, 0.058670785, 0.31187442, -0.012236685, -0.11576328, 0.26213887, -0.3678442, 0.39925987) * go_6(0.0, 1.0); - result += mat4(0.09056785, 0.025610259, 0.04404834, 0.04880529, -0.018727796, -0.02463311, -0.33473116, 0.18240984, -0.31690162, -0.03753813, -0.49378097, 0.034098472, 0.08104111, 0.15535483, 0.54219043, -0.14415042) * go_6(1.0, -1.0); - result += mat4(0.2178136, 0.26973012, -0.08373426, 0.050942183, -0.026202869, -0.19092646, -0.15695636, 0.14941269, -0.008460806, 0.17145476, -0.15403928, 0.30220225, -0.008509539, -0.07173873, -0.028730325, 0.11379968) * go_6(1.0, 0.0); - result += mat4(-0.423233, 0.22220805, 0.2923962, 0.07597547, 0.04264445, 0.073609315, -0.28772584, -0.018501874, 0.009833902, 0.09063646, 0.15016796, -0.050786685, -0.044880487, -0.00094357406, 0.054167807, -0.4163448) * go_6(1.0, 1.0); - result += mat4(0.064591885, -0.017542299, -0.7427811, 0.1085436, -0.099237405, 0.07204454, 0.21403041, -0.44325823, 0.063634664, 0.019480009, -0.5166522, 0.48371652, 0.042217735, -0.08151546, -0.16102481, 0.38363907) * go_7(-1.0, -1.0); - result += mat4(0.23603337, 0.36189508, 0.16096863, -0.23203878, 0.3909665, -0.048548676, -0.08426398, 0.13699533, -0.16585836, 0.08123174, 0.23689987, -0.14406693, -0.12765872, 0.14779435, -0.200962, 0.27416065) * go_7(-1.0, 0.0); - result += mat4(-0.29448098, 0.14758095, 0.57802075, 0.021730013, 0.13210014, 0.104395285, -0.2312142, -0.2866295, 0.016930144, -0.15231368, 0.14054593, -0.09351796, 0.1032217, 0.041166462, -0.36189362, 0.41247606) * go_7(-1.0, 1.0); - result += mat4(-0.007560109, -0.0803, -0.16032574, 0.05478983, -0.1759635, -0.14446284, 0.15542305, -0.16604201, -0.04187009, -0.26687822, -0.587336, -0.24216992, -0.23209628, 0.20443848, 0.20857601, 0.39599934) * go_7(0.0, -1.0); - result += mat4(-0.14840446, 0.40601328, -0.7559737, 0.2739641, -0.25899225, -0.08748905, 0.26742223, -0.1928892, -0.069469795, 0.17335804, 0.14560762, -0.29675013, 0.07705042, 0.087402344, 0.11580721, -0.56622976) * go_7(0.0, 0.0); - result += mat4(-0.09510998, 0.087312974, -0.4744771, -0.2034856, -0.0228022, 0.20781693, -0.21102814, 0.3811148, -0.032918505, -0.06346079, 0.11738945, 0.25676858, -0.040940452, -0.13468303, 0.18274675, -0.29756874) * go_7(0.0, 1.0); - result += mat4(0.018719247, 0.01183309, 0.5007991, -0.23340209, 0.26327956, -0.22815254, 0.108726546, -0.03552217, -0.009156057, 0.10254266, 0.16000487, 0.14117196, -0.017914208, 0.27125883, -0.21865341, 0.21615145) * go_7(1.0, -1.0); - result += mat4(0.19699602, -0.31031716, -0.59890205, -0.21126802, -0.20352201, -0.06410778, -0.037906803, -0.022946103, 0.06663984, 0.12589614, 0.32420775, 0.23299861, 0.0078275055, -0.12053192, 0.103772156, -0.01047939) * go_7(1.0, 0.0); - result += mat4(-0.13278633, -0.049333517, 0.112975165, -0.1881344, -0.049702376, 0.19375268, -0.86393154, 0.038770728, 0.12380659, -0.17710638, 0.3185005, -0.12963669, -0.088208504, 0.06580817, 0.026088627, -0.13940124) * go_7(1.0, 1.0); - result += vec4(-0.004481173, -0.061259553, 0.11030188, 0.16914344); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06430692, 0.086825125, -0.034608375, -0.01397618, 0.040052984, 0.011185875, 0.011732263, 0.012392225, 0.059679143, 0.0020240098, 0.06681242, 0.054336477, -0.0036498306, -0.019456264, -0.071606115, 0.041119363) * go_0(-1.0, -1.0); - result += mat4(0.04943378, -0.0848539, 0.0356649, -0.045104954, -0.07455269, 0.22761999, -0.097870104, -0.17315823, 0.024429278, -0.014491249, -0.041353658, 0.1098216, 0.03469068, -0.032172896, 0.033026703, 0.04296571) * go_0(-1.0, 0.0); - result += mat4(0.07144953, 0.008301972, -0.06500498, 0.031518232, -0.10892988, -0.097283006, -0.13314813, -0.013742693, 0.050799493, 0.050253615, 0.040891692, -0.0021811249, 0.030596646, -0.017255697, 0.0022994988, 0.00735084) * go_0(-1.0, 1.0); - result += mat4(0.023562869, -0.0011871309, -0.0423234, -0.002608592, 0.08043674, -0.082256354, -0.022457797, 0.07030839, 0.013923805, -0.013660352, 0.06952137, -0.044279564, 0.04486451, -0.02644484, 0.052811652, 0.00197306) * go_0(0.0, -1.0); - result += mat4(-0.05471925, -0.10278568, 0.017831381, -0.060885206, 0.01943984, -0.11520702, 0.10465094, 0.03574296, -0.050254647, 0.0019161392, -0.25124437, 0.043597598, -0.017897893, 0.07151743, 0.11265933, -0.08989344) * go_0(0.0, 0.0); - result += mat4(0.11001799, -0.011334239, 0.12736328, 0.16483796, -0.13220996, 0.0732099, 0.13678497, 0.1530554, 0.043017015, -0.10789205, 0.053205475, 0.023291817, -0.0056713475, -0.12603688, -0.13624206, -0.0714872) * go_0(0.0, 1.0); - result += mat4(0.021965552, -0.009516653, 0.020002227, -0.0072277826, -0.035595354, -0.052053552, -0.023298074, 0.01770549, 0.106064536, -0.096217915, 0.119941294, 0.054289114, 0.044710737, 0.03558839, 0.0025203228, 0.02229299) * go_0(1.0, -1.0); - result += mat4(-0.05996382, -0.059034027, 0.0048927953, 0.11681153, 0.0123580685, -0.15851006, 0.053752933, -0.094275564, 0.056480173, -0.01539422, -0.06352794, 0.05537091, -0.090935975, 0.114802405, -0.07706906, -0.020618843) * go_0(1.0, 0.0); - result += mat4(0.046106033, 0.06567163, 0.024409082, 0.08681322, -0.15275897, 0.051852785, -0.0982452, -0.14251694, 0.09573071, -0.018330676, 0.07995178, -0.010879136, -0.097755134, -0.017416988, -0.062556945, -0.0578873) * go_0(1.0, 1.0); - result += mat4(-0.00429525, -0.07700766, 0.010865506, 0.039318554, -0.06787303, -0.028628208, -0.05469512, 0.05459275, -0.030343568, 0.06288822, -0.02628777, 0.015035558, 0.003811996, 0.013887734, 0.034987926, 0.17882642) * go_1(-1.0, -1.0); - result += mat4(-0.04686645, 0.05545698, -0.022312073, -0.06866622, 0.09609454, -0.09298049, 0.20229526, 0.1036513, -0.07117841, 0.047199853, -0.018191453, -0.011281787, -0.014291751, -0.118642345, 0.07959059, 0.08753804) * go_1(-1.0, 0.0); - result += mat4(0.0145701915, -0.00083395635, -0.009838556, 0.03793263, -0.018338429, -0.028547939, -0.044276386, 0.022902593, -0.10429393, -0.08177185, 0.038462102, -0.061109234, 0.021328336, -0.018102761, -0.07724541, 0.03491818) * go_1(-1.0, 1.0); - result += mat4(0.051537625, -0.04092781, -0.027314937, 0.06624649, 0.0059737917, -0.0045862994, 0.03624142, 0.016898366, -0.15276705, -0.013039528, -0.034717664, 0.07935391, 0.016038802, -0.20841958, 0.08346563, 0.06563678) * go_1(0.0, -1.0); - result += mat4(-0.015235551, 0.15574263, -0.013553463, 0.07328153, 0.1526515, -0.28490472, 0.19684647, -0.15529588, -0.012245582, 0.06855586, -0.05603284, 0.06607822, -0.0842433, 0.17281564, 0.28474236, 0.08198234) * go_1(0.0, 0.0); - result += mat4(0.038899522, -0.06798045, -0.054560043, -0.16137177, 0.021140218, 0.29889742, -0.1840661, -0.05800861, -0.015068329, -0.04634431, 0.08015181, 0.019838551, 0.10208079, -0.077259056, -0.19794165, -0.15083085) * go_1(0.0, 1.0); - result += mat4(0.01064174, -0.05850555, -0.05604373, 0.04052068, -0.075376056, 0.046033148, 0.11586819, -0.019885244, 0.035843607, 0.046307143, 0.00585988, -0.080217384, -0.021261437, 0.1410561, 0.008985651, 0.028860984) * go_1(1.0, -1.0); - result += mat4(-0.07319461, 0.08104932, 0.041007817, 0.030615268, -0.20470095, 0.12515168, -0.160545, -0.12937605, 0.31107107, 0.1484706, 0.038850147, -0.012020466, -0.05610734, 0.044933334, 0.042511266, -0.052596994) * go_1(1.0, 0.0); - result += mat4(-0.066693224, 0.0361146, 0.067501135, -0.21699974, -0.11158058, 0.15679757, -0.028746078, -0.01819391, 0.104127966, -0.06664338, 0.06227161, 0.12396172, -0.0032715963, -0.08171951, -0.044955824, -0.08106554) * go_1(1.0, 1.0); - result += mat4(0.015864346, -0.013364807, -0.06118465, -0.044409316, 0.043848667, -0.021818867, 0.073257685, 0.031070877, -0.09103615, 0.049833406, -0.057495326, -0.12800662, 0.03994082, 0.0138215795, 0.015007392, 0.10248998) * go_2(-1.0, -1.0); - result += mat4(0.25089416, -0.07602123, 0.17347728, 0.02892703, -0.011619053, -0.0641153, 0.05217339, 0.07876783, 0.0055022957, 0.004055628, -0.09110391, -0.06867559, 0.024405807, -0.05255772, 0.04266218, -0.010957767) * go_2(-1.0, 0.0); - result += mat4(0.24782608, 0.036559172, 0.044769745, 0.0015120476, 0.013133198, -0.044633485, -0.014515029, -0.021279601, -0.036733393, 0.04075623, -0.17661944, -0.094546385, 0.056875527, 0.004090026, 0.05490262, 0.009615546) * go_2(-1.0, 1.0); - result += mat4(-0.059016522, 0.06971676, -0.018845871, -0.1960489, 0.030603651, 0.07038275, 0.030324249, -0.021405647, 0.0029889164, -0.044680223, 0.025204105, -0.070947506, 0.08812823, -0.04162818, 0.020303862, 0.033686403) * go_2(0.0, -1.0); - result += mat4(0.095108695, -0.001756413, -0.0746956, 0.19454287, 0.11728253, 0.024068093, 0.22989868, 0.15326135, -0.044749334, -0.10269763, -0.11903939, -0.0791172, -0.004715979, -0.034785185, 0.06928696, -0.080341384) * go_2(0.0, 0.0); - result += mat4(0.09515306, 0.0796711, 0.2531875, 0.17232622, -0.046116754, 0.10505673, 0.03974202, 0.0192849, -0.032660086, 0.090220645, -0.018340196, 0.010892869, 0.057608526, -0.0042284457, -0.033126116, -0.050798874) * go_2(0.0, 1.0); - result += mat4(-0.0465734, -0.12704821, -0.04242129, -0.08912093, 0.060641844, -0.030298313, 0.07455412, 0.09691065, -0.0993119, 0.08467131, -0.08018581, -0.06551497, 0.02412251, 0.023426851, -0.013038504, 0.058629658) * go_2(1.0, -1.0); - result += mat4(-0.0072143734, -0.17254709, -0.10164249, 0.009320373, 0.04572811, 0.031890705, 0.11281531, -0.053358663, -0.12266469, -0.0050442372, -0.088591315, -0.014440839, 0.025741255, -0.1090415, 0.14636643, 0.06128863) * go_2(1.0, 0.0); - result += mat4(-0.021854619, 0.08777348, -0.06519233, -0.068287335, -0.015207972, -0.041368876, -0.06916352, 0.014671391, -0.15136546, 0.12566894, -0.104125395, -0.025017736, -0.043513566, 0.08409863, 0.037353594, -0.06276716) * go_2(1.0, 1.0); - result += mat4(0.07235235, 0.03902354, 0.08474354, 0.015749328, -0.14268096, 0.030634299, -0.055138513, -0.03956857, 0.018563624, -0.081968024, 0.051094677, 0.034120332, 0.0053250403, 0.080352135, -0.04955247, -0.1332719) * go_3(-1.0, -1.0); - result += mat4(-0.036749303, -0.028455151, -0.014937002, 0.040662266, 0.08305564, 0.11542185, 0.013110968, 0.049462736, 0.055836335, -0.07350095, 0.022430308, -0.02959864, -0.01815184, -0.019589523, 0.063062504, 0.03289119) * go_3(-1.0, 0.0); - result += mat4(-0.023061413, 0.054117512, -0.005270115, -0.08946267, -0.04308614, 0.23271716, 0.23769991, 0.199799, 0.042626232, -0.003149215, -0.07325253, -0.09104977, 0.06556636, 0.123100184, -0.065416, -0.047533657) * go_3(-1.0, 1.0); - result += mat4(0.012621001, 0.010509575, 0.037320737, -0.059742343, -0.049418703, -0.09797092, 0.107040025, 0.050573327, -0.07652653, -0.096295066, 0.046717234, 0.0451225, -0.102516145, 0.15624528, -0.23164383, -0.13354032) * go_3(0.0, -1.0); - result += mat4(-0.028271353, 0.12728448, 0.030375311, 0.17157783, 0.122691065, -0.3680664, 0.029203705, -0.26102167, 0.025286853, 0.06262695, 0.1589348, 0.05327821, -0.065294765, -0.24605483, 0.042972647, -0.02089068) * go_3(0.0, 0.0); - result += mat4(-0.026082302, -0.08781727, -0.09250588, -0.023226565, 0.051248543, 0.16456133, -0.2952685, -0.083784014, 0.076261856, 0.0406498, 0.170887, 0.045606345, 0.090185635, -0.056969963, 0.013353489, -0.02177184) * go_3(0.0, 1.0); - result += mat4(0.03591036, -0.00022123115, 0.00879266, 0.0014145833, -0.031907767, 0.008818724, 0.038096637, 0.088316254, -0.111196004, -0.043627053, -0.03396249, -0.11398144, -0.013437176, -0.056140415, -0.02947146, 0.04266824) * go_3(1.0, -1.0); - result += mat4(0.27118152, -0.029443147, 0.029049424, -0.021353519, -0.08102377, -0.10702356, 0.2708468, -0.028351566, 0.10159006, -0.08634602, 0.11655341, 0.01216303, -0.032198787, 0.098999046, 0.08560102, 0.13209614) * go_3(1.0, 0.0); - result += mat4(-0.011867179, -0.008092173, -0.06914386, -0.0026515024, 0.15475754, -0.069809034, -0.061735924, 0.030092785, 0.015481355, 0.069196485, -0.067885965, -0.10032289, -0.022956805, -0.050457634, 0.034361836, 0.063292615) * go_3(1.0, 1.0); - result += mat4(-0.028808603, 0.2522452, -0.028151542, -0.11966417, 0.0060086837, -0.022839228, 0.04591885, -0.047450468, -0.017323907, 0.0033520379, -0.013912139, 0.00087186386, -0.095179744, 0.10477611, -0.1572277, -0.18952997) * go_4(-1.0, -1.0); - result += mat4(-0.024695182, 0.2125057, 0.0043758615, 0.048833247, -0.024862275, -0.07173688, 0.016327882, 0.052133285, 0.032598563, 0.0370544, -0.032444727, 0.007660602, 0.014026539, 0.15517443, -0.08797283, 0.046922438) * go_4(-1.0, 0.0); - result += mat4(-0.08749249, 0.17871788, 0.089315645, 0.020792015, 0.0062840376, 0.027935686, 0.022011895, 0.0014372129, 0.03437162, 0.04160462, -0.076575324, -0.005282676, 0.01039395, 0.13785924, -0.11939048, -0.12266059) * go_4(-1.0, 1.0); - result += mat4(-0.08761654, 0.12325804, 0.09464573, -0.070082165, -0.029074723, -0.039505627, -0.006745376, -0.07662022, 0.018293282, 0.16754504, -0.01436095, -0.07123675, -0.045903374, 0.045701377, -0.16947833, -0.065680735) * go_4(0.0, -1.0); - result += mat4(0.07837804, 0.10318053, 0.10402837, -0.09299896, -0.044918105, -0.19713773, -0.038225368, -0.0127715515, 0.021232253, 0.19498691, 0.054563515, -0.024584824, 0.14310583, -0.25778866, -0.048625097, -0.04034214) * go_4(0.0, 0.0); - result += mat4(0.03317779, 0.36327454, 0.0010753187, 0.07300084, 0.013177773, -0.10299273, -0.043644756, -0.049851302, -0.11076842, -0.0030125536, 0.13768485, 0.037023947, 0.05862015, 0.026259044, -0.11906646, 0.015630042) * go_4(0.0, 1.0); - result += mat4(0.04435236, 0.2442636, 0.02941278, -0.03259748, 0.02729472, 0.1464977, -0.23190135, -0.013464374, -0.04808333, -0.07721386, -0.006521778, 0.03849496, -0.087418415, -0.14530352, -0.046621766, 0.013260049) * go_4(1.0, -1.0); - result += mat4(-0.054236982, 0.16401532, -0.0410692, 0.018103333, 0.03832126, 0.24158026, -0.02707848, 0.063542314, -0.0025432308, 0.02253484, -0.13533834, 0.009265725, -0.13578576, 0.055599272, -0.029021647, 0.074372046) * go_4(1.0, 0.0); - result += mat4(0.07789502, 0.12068383, 0.06586239, 0.16586556, 0.12068069, 0.0314873, 0.020462591, 0.01643263, 0.0022647027, -0.0535912, 0.02042879, 0.08939534, -0.012003675, 0.10854255, -0.019238353, 0.05661957) * go_4(1.0, 1.0); - result += mat4(-0.0024771164, 0.0013602651, -0.006449609, -0.0674718, 0.011020245, -0.024715785, -0.005840159, -0.016253866, 0.0058691143, 0.00923955, -0.014752748, -0.009056492, 0.04719506, 7.439548e-05, -0.031533875, -0.028303158) * go_5(-1.0, -1.0); - result += mat4(-0.022446554, 0.011014639, 0.014150175, -0.08969043, 0.05011379, 0.0014429274, 0.13622425, -0.055668622, 0.003997062, -0.018588124, 0.037211727, -0.02675576, 0.021160034, 0.06025865, 0.044886358, 0.07540469) * go_5(-1.0, 0.0); - result += mat4(0.059523765, -0.106335945, 0.047557555, 0.015525542, -0.059115347, 0.009750207, 0.01922731, 0.024100488, 0.0016303931, -0.07808692, 0.08100007, 0.05687361, -0.03983667, -0.023318004, 0.044715997, 0.032614175) * go_5(-1.0, 1.0); - result += mat4(0.092187695, -0.16478536, 0.11356077, 0.1448521, 0.072599865, 0.06876907, -0.024432033, 0.052597918, -0.010043035, -0.03687111, 0.00895416, 0.02780389, 0.045475237, 0.0034288564, -0.053697575, -0.0039305706) * go_5(0.0, -1.0); - result += mat4(-0.086140305, 0.10712286, -0.098502316, -0.037614137, -0.0014869545, -0.119502805, 0.07774526, 0.01559113, -0.036177177, 0.05600912, 0.0672405, 0.0424494, -0.014852803, -0.09711143, 0.035177983, 0.027274514) * go_5(0.0, 0.0); - result += mat4(0.010052695, -0.1528992, 0.037211087, 0.050275393, -0.052893683, -0.103499845, 0.04699975, 0.010357094, 0.02002735, -0.0724987, -0.039920773, -0.03259424, 0.05104605, -0.021494186, 0.1335748, 0.1431882) * go_5(0.0, 1.0); - result += mat4(0.008692001, 0.1388636, 0.062878676, 0.043149088, 0.040500425, -0.06934554, 0.031019283, 0.086996906, -0.01329169, -0.024621997, 0.03125819, -0.03552568, 0.025497364, -0.013930993, 0.039630298, -0.009306881) * go_5(1.0, -1.0); - result += mat4(0.08138952, 0.11290011, 0.09357804, 0.0773934, 0.11037395, 0.040116914, 0.05588578, 0.08340036, 0.019552698, 0.010302062, 0.030425403, -0.012494984, 0.100253575, 0.058283005, -0.0053462014, 0.0011434298) * go_5(1.0, 0.0); - result += mat4(-0.0027934618, 0.012688533, 0.03582281, 0.093737796, -0.10973247, 0.07261092, 0.112351805, 0.011432246, 0.013944619, -0.06078718, 0.04819748, -0.023201318, 0.060381312, -0.08896123, 0.0354816, 0.1314617) * go_5(1.0, 1.0); - result += vec4(-0.014843715, 0.037786916, -0.050943095, 0.02970283); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.042099904, -0.058733735, 0.02552323, 0.08024827, -0.007007328, -0.024506995, -0.014314433, 0.07856346, 0.0070828185, 0.12121103, -0.047790356, -0.1190773, 0.09607051, -0.022659522, -0.012408393, -0.01265088) * go_0(-1.0, -1.0); - result += mat4(-0.036540985, 0.065095425, 0.020370001, -0.13017972, 0.16372375, -0.13150094, 0.012892328, -0.1387121, -0.0398674, -0.115208104, -0.025226658, -0.066354044, 0.07032839, 0.11715836, 0.014640627, 0.0410301) * go_0(-1.0, 0.0); - result += mat4(0.030191297, -0.0066959998, 0.026137028, -0.015430499, -0.07329306, -0.138525, 0.080228955, 0.1005483, -0.0007654556, 0.08933457, -0.11922955, -0.0689602, 0.06392459, 0.04870049, -0.0018588612, 0.046055775) * go_0(-1.0, 1.0); - result += mat4(0.12119697, -0.03272271, -0.011908178, 0.07443732, 0.017831923, -0.06988535, -0.027143668, -0.023895472, 0.08469687, 0.1490557, 0.015963838, -0.0049853753, 0.01178327, -0.0028791244, -0.06283662, -0.0059013553) * go_0(0.0, -1.0); - result += mat4(0.028543679, 0.058001377, -0.008511679, 0.0026974818, -0.0013273149, 0.010061944, -0.07719697, -0.053456806, -0.2909378, -0.03735039, 0.02128061, 0.15994087, -0.020060549, 0.0051932936, 0.010056397, -0.044010773) * go_0(0.0, 0.0); - result += mat4(0.1596504, -0.055374887, -0.019871527, 0.008125669, 0.21285413, 0.03118557, 0.05784715, -0.033272292, -0.11010903, 0.08968991, 0.01791155, -0.11081058, -0.059060283, -0.08855704, 0.06299061, -0.08653331) * go_0(0.0, 1.0); - result += mat4(0.22247101, -0.04902725, 0.004427136, 0.00843986, -0.12681817, -0.04432411, 0.09346549, -0.07040382, 0.065832525, 0.1306079, -0.046262078, -0.064467475, 0.09017577, -0.05839232, 0.02169111, 0.015345169) * go_0(1.0, -1.0); - result += mat4(-0.019040529, 0.03761165, -0.021923041, -0.02165343, -0.22262675, -0.007393024, 0.13378944, 0.24793835, -0.115743674, -0.050898936, -0.101693556, -0.16117941, 0.15038069, -0.071292244, 0.16757068, 0.14149354) * go_0(1.0, 0.0); - result += mat4(0.15021501, 0.01646184, 0.039540898, -0.020430906, -0.09821808, -0.008859351, -0.0064752824, 0.04515899, -0.036680277, 0.03743646, 0.046192754, -0.07469316, 0.015766433, -0.053386677, -0.058385946, 0.04285354) * go_0(1.0, 1.0); - result += mat4(-0.12153023, -0.0052116364, 0.013274117, 0.066916846, -0.07894143, -0.07270525, 0.0032244355, 0.080999196, -0.071276195, 0.03603874, -0.023127655, -0.22612897, 0.019750288, 0.06261086, 0.036052, 0.057479452) * go_1(-1.0, -1.0); - result += mat4(0.068308026, -0.02204353, 0.037701212, -0.13152799, -0.040166344, 0.18250147, -0.00841116, 0.14707813, 0.2891035, 0.0355822, -0.037319396, -0.033286855, 0.05205944, 0.029016457, 0.02267416, 0.12552561) * go_1(-1.0, 0.0); - result += mat4(-0.07627465, -0.0015795324, 0.005847234, 0.0343533, -0.12101658, -0.044895757, -0.033076547, -0.0072863665, -0.13455121, -0.03442574, 0.03806193, -0.025911227, -0.05203063, 0.006293081, 0.01888723, 0.10063248) * go_1(-1.0, 1.0); - result += mat4(0.05558394, 0.03480151, 0.0068188105, 0.025131043, -0.12540701, -0.088756844, -0.03175985, -0.19954887, 0.0730124, -0.04229162, -0.0013364753, -0.03893613, 0.06019269, -0.034671903, 0.050091, -0.059322134) * go_1(0.0, -1.0); - result += mat4(-0.07942089, -0.018256165, -0.096205324, 0.101769134, 0.01908004, 0.33233985, -0.035679515, -0.23594299, -0.03030973, 0.06313867, -0.044021074, -0.10605643, -0.10518184, -0.11355261, 0.12967454, -0.106763974) * go_1(0.0, 0.0); - result += mat4(-0.09985036, 0.041868765, -0.09622011, -0.05465083, -0.039375015, -0.10204485, -0.004873815, 0.080527805, 0.08858304, -0.05943268, 0.08352734, -0.07512739, -0.22778553, 0.15029298, 0.08525989, -0.15358798) * go_1(0.0, 1.0); - result += mat4(-0.08080637, -0.097256064, -0.040232092, -0.06549907, 0.013221195, -0.028040923, -0.0005182768, 0.06254156, 0.19496393, -0.0040481715, -0.053046, 0.05839162, 0.11274092, 0.11118614, 0.1480564, 0.033354077) * go_1(1.0, -1.0); - result += mat4(0.023759563, 0.00635514, -0.045272943, -0.05173251, 0.0885555, -0.008405325, 0.19941078, 0.109418906, 0.48571047, 0.0562873, -0.122534275, 0.01860896, 0.10383342, -0.005438985, 0.2603844, 0.016442006) * go_1(1.0, 0.0); - result += mat4(-0.1018859, -0.06035783, 0.04882298, 0.121493384, -0.014769945, -0.026479812, -0.23881653, 0.15810451, 0.064371295, -0.08258908, 0.032874167, 0.0013588811, -0.13452709, -0.021992348, -0.12913197, -0.007582777) * go_1(1.0, 1.0); - result += mat4(0.09469535, -0.0059437137, 0.0070211883, 0.012549531, -0.04503433, 0.11778692, -0.01240231, -0.06452343, 0.0183962, -0.09719111, 0.051977355, 0.028582, 0.11405788, 0.09339377, -0.017060561, -0.016824113) * go_2(-1.0, -1.0); - result += mat4(0.025192278, 0.16830146, 0.002082107, -0.12433539, 0.05449372, 0.111993775, -0.050993383, 0.106019214, -0.0012675346, -0.11002013, 0.08042263, 0.046076216, 0.03845027, 0.026669858, -0.05693071, 0.006350705) * go_2(-1.0, 0.0); - result += mat4(0.11534884, 0.067232355, -0.08493867, -0.059265412, -0.045863472, 0.03164632, -0.013697583, 0.012065389, -0.15469037, -0.08252674, 0.102144025, 0.079707734, 0.0043182303, 0.07471552, -0.028747529, -0.05626163) * go_2(-1.0, 1.0); - result += mat4(-0.02088867, 0.005918884, -0.00632325, 0.06864312, 0.07231704, 0.06967162, 0.046126503, -0.03890708, -0.11291535, -0.112925544, 0.01721896, -0.027296377, -0.0008218594, 0.019371105, -0.028493239, -0.11972473) * go_2(0.0, -1.0); - result += mat4(0.05792697, -0.050189912, -0.013986142, -0.042153005, -0.044381443, -0.040740672, -0.036568243, -0.18094629, -0.032849103, -0.11920466, -0.01574577, 0.07106109, -0.0473771, -0.029407948, -0.016447794, 0.07348799) * go_2(0.0, 0.0); - result += mat4(0.25879595, 0.027651018, -0.09736299, -0.017931122, 0.1145708, 0.051391326, 0.14323749, -0.06405431, -0.017116228, -0.04995981, 0.017524386, 0.053012, -0.024927566, 0.029871127, -0.062402803, -0.089126125) * go_2(0.0, 1.0); - result += mat4(-0.3455905, -0.07298466, 0.022065436, -0.13115343, 0.0683912, 0.06609262, -0.035481025, -0.04162889, -0.0020681168, -0.0819611, 0.017471436, 0.022238733, 0.047958784, 0.037473556, -0.06708024, -0.06513322) * go_2(1.0, -1.0); - result += mat4(-0.008081404, 0.04029864, -0.07384856, -0.12268659, 0.048441645, 0.08439676, 0.032600272, 0.01420026, -0.16429286, -0.061197132, 0.05322935, -0.04212053, 0.0060033225, 0.037083343, -0.024957739, -0.026598029) * go_2(1.0, 0.0); - result += mat4(0.0018599767, 0.02205519, 0.10264597, 0.047300845, 0.13039044, -0.08621153, -0.014272506, 0.03800674, -0.12807004, -0.03650184, 0.17019251, 0.0050348463, 0.06673689, 0.062484764, -0.074008316, 0.0024411175) * go_2(1.0, 1.0); - result += mat4(0.10010423, 0.059802253, -0.028706724, -0.0021158324, -0.1071618, -0.06596802, 0.017506624, 0.020555088, 0.006742276, -0.058907714, 0.02132174, -0.00065407227, 0.10080476, -0.06645163, 0.028596232, -0.098386355) * go_3(-1.0, -1.0); - result += mat4(0.06250598, 0.028219528, -0.032285657, 0.029157873, 0.41888437, -0.07922488, -0.038655374, 0.08948803, -0.13829164, 0.13305405, 0.00031528703, -0.11085006, -0.063075796, 0.0500627, 0.065392256, 0.12271925) * go_3(-1.0, 0.0); - result += mat4(0.111435704, 0.02032602, 0.038795993, 0.03990286, 0.27919176, -0.08434588, -0.025168309, 0.051932946, -0.04704256, -0.031704668, 0.029195199, 0.0029008535, 0.1921871, 0.072233014, 0.02167757, -0.009142876) * go_3(-1.0, 1.0); - result += mat4(0.03787496, 0.10278594, -0.034100357, -0.038842272, -0.21315722, 0.04823617, -0.029114509, 0.051216953, 0.06688632, -0.016796501, 0.034409184, 0.030457467, 0.18392949, -0.05570241, -0.0074716844, -0.09469817) * go_3(0.0, -1.0); - result += mat4(0.00060441054, -0.21777734, 0.039007552, 0.065863505, -0.20799696, -0.007875905, -0.038051736, 0.107517034, -0.030292246, 0.039137594, -0.011577313, -0.09082536, -0.024957297, 0.04839934, 0.08945703, -0.067684196) * go_3(0.0, 0.0); - result += mat4(-0.0007396966, -0.028242454, -0.055650227, 0.015779331, -0.33971977, -0.0536201, 0.21978994, 0.17193733, 0.08947309, 0.05031975, -0.1301886, -0.035680372, 0.08049449, 0.20915179, -0.21580179, 0.0070197694) * go_3(0.0, 1.0); - result += mat4(0.018666867, 0.080064476, 0.03374961, 0.009929877, 0.12268159, 0.08780485, -0.020013101, 0.001475278, -0.094762295, -0.00571688, 0.07592603, 0.02490935, 0.20536572, -0.103320844, -0.11305944, 0.020782808) * go_3(1.0, -1.0); - result += mat4(0.10927535, -0.10669775, -0.119271345, -0.04704597, -0.33198515, 0.16730374, 0.067796834, -0.21553586, -0.15134549, 0.12522157, -0.059982754, 0.053596307, -0.07490767, 0.0430427, 0.13261874, 0.034827977) * go_3(1.0, 0.0); - result += mat4(-0.118310496, -0.034256335, 0.15736672, -0.012709214, 0.108289585, 0.055601, -0.15293309, -0.047951285, 0.13641061, 0.040393222, -0.014293154, 0.013147444, 0.040933702, 0.06414584, -0.06435496, 0.07897889) * go_3(1.0, 1.0); - result += mat4(0.1769398, -0.03865557, -0.007278993, -0.009594421, 0.06511066, -0.055826154, 0.039952062, 0.11912263, 0.017886136, -0.05012913, -0.026828678, -0.059241973, -0.10093276, -0.19696872, 0.084965006, 0.14702372) * go_4(-1.0, -1.0); - result += mat4(0.099720076, -0.067204416, -0.03463609, 0.09670626, -0.28691396, -0.06598814, 0.0014410254, 0.14105716, -0.033738673, -0.060082074, 0.022319613, -0.10230477, -0.04376945, -0.13106492, 0.063823946, 0.14856036) * go_4(-1.0, 0.0); - result += mat4(0.33853808, -0.0621997, 8.363771e-05, -0.0009150376, 0.024009543, 0.018634653, 0.0037902838, 0.10804439, 0.05129897, 0.013281732, 0.0192675, -0.021642182, 0.20649408, -0.059423707, 0.06726224, 0.0145797795) * go_4(-1.0, 1.0); - result += mat4(-0.15990373, -0.106583185, 0.002367883, 0.045296166, -0.0631138, -0.0072529926, 0.029369524, 0.08331243, 0.122756526, -0.0179492, -0.120487615, 0.0081743365, -0.17502016, -0.044541918, -0.015354001, -0.011111051) * go_4(0.0, -1.0); - result += mat4(-0.11184931, 0.06587063, 0.07042273, -0.04147224, -0.09151379, -0.20194946, 0.10355849, 0.19217291, 0.08952243, 0.12201255, 0.04417764, -0.04035679, -0.09468639, 0.31825796, 0.006901595, -0.04124098) * go_4(0.0, 0.0); - result += mat4(0.06660271, -0.0046637137, 0.09873929, 0.08799431, -0.100498706, 0.06444192, -0.02957856, 0.038241588, 0.15948315, 0.1299982, -0.090359725, 0.004090419, -0.079359606, -0.00037474622, -0.022643564, -0.08251614) * go_4(0.0, 1.0); - result += mat4(0.43229616, 0.10688282, -0.07364843, 0.053060126, 0.12662794, -0.008840078, 0.026755894, 0.041338578, -0.2254781, -0.10235022, -0.12567373, -0.0667009, -0.1809531, -0.09815889, -0.08910998, 0.037839357) * go_4(1.0, -1.0); - result += mat4(-0.07567111, 0.028171131, 0.055614933, -0.013953225, 0.12692563, 0.083607204, -0.07004251, -0.036412235, -0.058107987, 0.037055403, 0.18604837, -0.017260164, -0.17541583, 0.06894981, -0.23379545, 0.031235654) * go_4(1.0, 0.0); - result += mat4(0.45591107, 0.039045885, -0.12626866, -0.14674829, 0.05945796, -0.010674477, -0.035819475, -0.0047352607, -0.036941368, 0.10396601, -0.036363676, 0.0554336, 0.17748542, 0.06979016, 0.14080845, 0.042843) * go_4(1.0, 1.0); - result += mat4(0.10455963, 0.075099275, 0.05469465, 0.015781848, 0.09594164, 0.05998725, -0.052120302, -0.13773419, 0.044500146, 0.031731047, -0.008471109, -0.03267637, 0.047310144, 0.031099096, -0.024222182, -0.033589233) * go_5(-1.0, -1.0); - result += mat4(-0.12448876, -0.03613152, -0.0010140876, -0.025516123, -0.059143614, 0.023980793, -0.022088494, -0.23990345, -0.009263314, 0.07561086, -0.018244747, -0.030571839, 0.078326724, 0.11647481, 0.0005469513, 0.011363735) * go_5(-1.0, 0.0); - result += mat4(-0.012303434, 0.10459798, 0.0075168074, -0.06578245, 0.10195852, -0.011171349, 0.031734105, 0.01707112, 0.027664077, 0.023296015, -0.018072389, -0.025510611, 0.1640572, 0.034506124, 0.00016337275, 0.03571095) * go_5(-1.0, 1.0); - result += mat4(-0.008957332, 0.009508923, 0.0146317985, 0.038981803, 0.24314897, 0.0015878802, -0.078958146, 0.03145806, 0.0068939812, 0.073126584, -0.012263321, -0.036391743, 0.118567936, 0.065423995, 0.023732737, -0.0099737905) * go_5(0.0, -1.0); - result += mat4(0.07652766, -0.099965736, 0.07820692, -0.016641535, -0.05796137, 0.062477842, -0.09325648, 0.044144213, -0.074167095, -0.02907356, 0.009493459, -0.09726981, -0.024008945, 0.13910118, -0.012273277, -0.18442377) * go_5(0.0, 0.0); - result += mat4(-0.3458695, 0.0125532355, -0.04507072, 0.005002404, -0.054678664, -0.1073264, -0.066266164, 0.10499865, -0.026834222, -0.005892071, -0.012439621, -0.014582178, 0.20079906, 0.10445034, -0.017010294, -0.027499933) * go_5(0.0, 1.0); - result += mat4(0.20540363, 0.13028874, -0.0043541454, 0.041952956, -0.06462141, 0.05869749, -0.0336049, -0.00483216, 0.0071067465, 0.02086375, 0.029295754, 0.00054160395, 0.12825298, 0.01190737, 0.024069678, 0.0007039938) * go_5(1.0, -1.0); - result += mat4(0.25426188, -0.025078375, -0.18087013, -0.047353756, 0.050092597, -0.020793278, -0.20005824, -0.05249769, 0.10390969, 0.029416217, -0.022406658, 0.022277432, 0.10061195, 0.09648526, 0.08301866, -0.05414833) * go_5(1.0, 0.0); - result += mat4(-0.008085474, -0.0047122077, 0.037323467, -0.05261859, -0.014043025, 0.015429949, 0.0026017784, 0.05505961, -0.026992656, -0.0034499804, -0.040065564, -0.010143243, 0.080673434, 0.01895095, -0.044532266, -0.04431238) * go_5(1.0, 1.0); - result += vec4(-0.03466821, 0.00034034275, 0.0050041266, 0.015987461); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-3x3x3x32 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE MAIN -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.029194267, -0.012368673, -0.032628484, 0.0, 0.009544185, 0.003643155, -0.012932683, 0.0, -0.02599644, -0.009162184, 0.001984748, 0.0, 0.036822453, -0.01785786, 0.010368739, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.025280805, 0.03720678, 0.00053982873, 0.0, 0.014486393, -0.008664618, -0.013254841, 0.0, 0.032457434, -0.0054208813, -0.03551113, 0.0, 0.005541615, 0.009700108, 0.008173082, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.008494375, 0.017570386, -0.035493053, 0.0, 0.0040664477, -0.009358297, -0.00124042, 0.0, 0.013665794, -0.027995802, 0.01806665, 0.0, 2.6274169e-05, -0.017136851, 0.004273683, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.001260151, 0.0298161, 0.03177647, 0.0, 0.029924905, 0.002548117, -0.008971935, 0.0, -0.028699454, -0.011327333, 0.01809372, 0.0, 0.052908268, -0.009816564, -0.04160645, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.0674105, 0.011343186, 0.031059649, 0.0, -0.01816893, -0.027822826, -0.0039920355, 0.0, 0.06559583, 0.08136345, 0.0024248413, 0.0, -0.007355395, 0.0021421018, -0.03261461, 0.0) * go_0(0.0, 0.0); - result += mat4(0.06596344, 0.0011187588, -0.0698554, 0.0, -0.024434082, -0.009038537, 0.042669352, 0.0, -0.060429063, -0.014795595, 0.10773078, 0.0, -0.018245215, -0.025555842, 0.07259554, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0035948083, -0.026325721, 0.032130077, 0.0, 0.0015195963, 0.0044271573, -0.008984954, 0.0, 0.016403245, -0.0039584707, 0.013665029, 0.0, 0.0016767944, 0.0070667397, -0.028133946, 0.0) * go_0(1.0, -1.0); - result += mat4(0.01695004, -0.029402763, 0.047411986, 0.0, -0.01129213, 0.0049071675, 0.003822879, 0.0, -0.031588167, -0.031124864, -0.06241746, 0.0, -0.035150167, 0.024117738, -0.008538587, 0.0) * go_0(1.0, 0.0); - result += mat4(0.058436964, -0.018053403, -0.0029208104, 0.0, -0.012583584, -8.435696e-06, -0.0021389409, 0.0, 0.025366964, 0.022662194, -0.03120317, 0.0, -0.05732525, -0.0019531269, 0.02189266, 0.0) * go_0(1.0, 1.0); - result += mat4(0.021041503, -0.03575024, 0.039296895, 0.0, 0.036413766, -0.015376002, -0.003543714, 0.0, -0.006572382, -0.01746979, 0.024723995, 0.0, -0.005184721, 0.014261276, -0.021478102, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.007271495, 0.010891414, 0.06081773, 0.0, -0.07530834, -0.057223827, 0.056062855, 0.0, -0.03944118, 0.009164506, 0.016359169, 0.0, 0.011959882, -0.009856203, -0.050926358, 0.0) * go_1(-1.0, 0.0); - result += mat4(-0.01974953, 0.010230301, -0.007793579, 0.0, -0.020196917, 0.04590978, 0.03837431, 0.0, -0.006767891, 0.0075034844, -0.003773216, 0.0, 0.013550913, -0.0003947991, 0.0031925605, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.028148983, -0.038432404, 0.03511873, 0.0, -0.034311228, -0.02840252, -0.027590172, 0.0, 0.06412731, -0.03889514, -0.016489375, 0.0, -0.048484165, 0.00057386677, 0.0026269031, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.08776933, 0.0029032787, -0.031222485, 0.0, 0.06960467, 0.09750718, 0.050598294, 0.0, 0.0835213, 0.021661203, 0.038753476, 0.0, 0.03982122, 0.03788668, 0.1515678, 0.0) * go_1(0.0, 0.0); - result += mat4(0.028370056, 0.039478805, -0.020990063, 0.0, 0.00912417, 0.023335736, -0.16728604, 0.0, -0.011494958, -0.013394507, -0.053537812, 0.0, -0.005550743, -0.009001584, 0.012948562, 0.0) * go_1(0.0, 1.0); - result += mat4(0.013810996, -0.025271188, -0.004379599, 0.0, 0.015034975, -0.00089060765, 0.033212643, 0.0, 0.038851626, -0.0057069063, -0.040545236, 0.0, -0.0028078358, 0.015933724, 0.01575025, 0.0) * go_1(1.0, -1.0); - result += mat4(0.01737436, 0.01430337, -0.015735079, 0.0, -0.016511876, -0.06596022, 0.003990326, 0.0, 0.029907767, 0.0024715378, -0.05681515, 0.0, -0.0066727134, -0.024142109, 0.022043386, 0.0) * go_1(1.0, 0.0); - result += mat4(-0.019812914, 0.0015476292, -0.016639404, 0.0, 0.017160518, -0.002040027, -0.0007517166, 0.0, 0.0071950383, -0.003341077, -0.046353333, 0.0, -0.00083734177, -0.010146456, 0.016291264, 0.0) * go_1(1.0, 1.0); - result += mat4(0.005489136, -0.015574599, -0.011043608, 0.0, -0.009506977, 0.0054301876, 0.02158638, 0.0, 0.028507395, 0.018968195, 0.015134093, 0.0, -0.03841078, 0.025878599, 0.014776577, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.050771695, -0.020951752, 0.02507804, 0.0, -0.023102228, 0.005002361, 0.009032685, 0.0, -0.02580423, 0.01087507, 0.053516913, 0.0, -0.0029967995, -0.0077431537, -0.001353477, 0.0) * go_2(-1.0, 0.0); - result += mat4(0.010528193, -0.015227771, 0.04612157, 0.0, -0.0034696343, 0.012149008, 0.00761891, 0.0, -0.028641496, 0.024396904, -0.005470966, 0.0, -0.016171847, 0.017462283, -0.0045835036, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.016605109, -0.015695306, -0.026842888, 0.0, -0.018456295, -0.0015909546, 0.01639685, 0.0, 0.045253225, 0.014879358, -0.0029951404, 0.0, -0.07698649, -6.646588e-05, 0.051242474, 0.0) * go_2(0.0, -1.0); - result += mat4(0.021182995, -0.059780866, -0.10691225, 0.0, 0.012331703, 0.018810093, -0.00074620557, 0.0, -0.08377086, -0.09883356, 0.0033603192, 0.0, 0.027267748, -0.044589777, -0.016808862, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.05345038, 0.007593226, 0.08017634, 0.0, 0.0029109702, -0.0066193943, -0.053755503, 0.0, 0.06317975, 0.013643785, -0.09781004, 0.0, 0.025922418, 0.02646404, -0.07879502, 0.0) * go_2(0.0, 1.0); - result += mat4(0.013840612, 0.03220654, 0.008247586, 0.0, 0.0024653377, 0.0017564539, 0.0095992945, 0.0, -0.008052894, 0.0005847401, 0.0030516423, 0.0, -0.0055664075, -0.0022113416, 0.03661902, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.009897283, 0.03339503, -0.04373135, 0.0, 0.007111389, -0.0064675347, -0.0057030907, 0.0, 0.024796525, 0.014585273, 0.04618779, 0.0, 0.0451687, -0.01796601, 0.019403245, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.050205655, 0.0067047793, 0.004935128, 0.0, 0.007296142, 0.0021017375, 0.004065404, 0.0, -0.033875827, -0.029431261, 0.028738476, 0.0, 0.0447788, 0.0089823445, -0.014340374, 0.0) * go_2(1.0, 1.0); - result += mat4(-0.008800223, 0.03338696, -0.034157075, 0.0, -0.0068426207, 0.018176233, 0.004032728, 0.0, 0.024810873, 0.014211227, -0.05046429, 0.0, 0.002167862, -0.024004508, 0.029742634, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.017277744, -0.027693354, -0.061636884, 0.0, 0.03730354, 0.02037306, -0.082923785, 0.0, 0.06614115, -0.021971319, -0.03728439, 0.0, -0.009604838, 0.0065510827, 0.05428039, 0.0) * go_3(-1.0, 0.0); - result += mat4(0.028721841, -0.015807403, 0.0052445545, 0.0, 0.044053316, -0.03528111, -0.02186662, 0.0, 0.038215213, -0.016336309, -0.008933091, 0.0, -0.0011169153, 0.012024489, 0.02721076, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.023697415, 0.03966659, -0.034681734, 0.0, 0.018552555, 0.0103879105, -0.012615872, 0.0, -0.07300987, 0.040119167, 0.005360114, 0.0, 0.027465869, -0.02125224, -0.0050676432, 0.0) * go_3(0.0, -1.0); - result += mat4(0.030902436, -0.036696557, 0.0028193328, 0.0, -0.05093436, -0.07263705, -0.021804878, 0.0, -0.09184029, -0.024111573, -0.058388986, 0.0, -0.0090374835, -0.005109571, -0.097216494, 0.0) * go_3(0.0, 0.0); - result += mat4(0.015647996, -0.014143281, 0.04477705, 0.0, -0.01775979, -0.034271564, 0.16637851, 0.0, 0.05501123, 0.017724924, 0.04504396, 0.0, -0.026133522, -0.013498184, -0.013634824, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.03309264, 0.01711954, 0.0074518835, 0.0, 0.016711101, 0.032219592, -0.019081173, 0.0, -0.017806605, 0.009609709, 0.025623152, 0.0, 0.0010809151, -0.015366981, -0.012361129, 0.0) * go_3(1.0, -1.0); - result += mat4(0.0049063656, 0.010883338, 0.04879139, 0.0, -0.022820218, 0.034932375, -0.019001193, 0.0, -0.013871661, 0.000886869, 0.05011855, 0.0, 0.0074326694, 0.030681293, -0.008235174, 0.0) * go_3(1.0, 0.0); - result += mat4(0.016555479, -0.01782214, 0.012905581, 0.0, -0.024117837, 0.0008709348, -0.003545648, 0.0, 0.015249755, -0.01739516, 0.031961266, 0.0, 0.008861017, 0.019980997, -0.0017820391, 0.0) * go_3(1.0, 1.0); - result += mat4(0.015237567, 0.002044042, 0.013154992, 0.0, 0.014365077, 0.009685413, 0.009999783, 0.0, -0.004745017, -0.008530349, -0.0048582545, 0.0, 0.006463907, 0.011591748, 0.0013033211, 0.0) * go_4(-1.0, -1.0); - result += mat4(-0.0039128656, -0.018021967, -0.01664764, 0.0, 0.032044526, 0.03212382, 0.03248477, 0.0, -0.018143034, -0.024854887, -0.013054983, 0.0, 0.014334873, 0.026316965, 0.01232964, 0.0) * go_4(-1.0, 0.0); - result += mat4(0.002798491, -0.0038798824, 0.0022298654, 0.0, 0.0019937146, 2.3132301e-05, 0.0051871384, 0.0, 0.002116868, -0.0070092976, 0.0007712422, 0.0, -0.0110990815, -0.00045806088, -0.0042779488, 0.0) * go_4(-1.0, 1.0); - result += mat4(-0.010706082, -0.016151588, -0.008477227, 0.0, -0.010954006, -0.0032643504, -0.0057480773, 0.0, 0.0063414387, 0.011558126, 0.006752642, 0.0, 0.024452314, 0.013355994, 0.011969219, 0.0) * go_4(0.0, -1.0); - result += mat4(0.015298925, 0.030997332, 0.009838116, 0.0, -0.080680534, -0.05467505, -0.05227959, 0.0, -0.023426097, 0.013344335, 0.00071768253, 0.0, -0.015939463, -0.038700994, -0.028631734, 0.0) * go_4(0.0, 0.0); - result += mat4(-0.01238892, 0.004899588, 0.0006303335, 0.0, -0.0103858225, -0.0065748966, -0.013839468, 0.0, -0.016547715, 0.0016229248, -0.004543596, 0.0, 0.012939155, -0.004688313, -0.0023379533, 0.0) * go_4(0.0, 1.0); - result += mat4(-0.0057197395, -0.005643721, -0.00911208, 0.0, 0.017784229, 0.008518574, 0.014390045, 0.0, 0.01216526, -0.004762164, 0.00039809215, 0.0, 0.004477759, 0.0014034393, 0.0015725178, 0.0) * go_4(1.0, -1.0); - result += mat4(0.0080029685, 0.012455343, 0.008170205, 0.0, 0.013437776, 0.0017411915, 0.002170487, 0.0, 0.020931266, 0.0062978463, 0.0077739186, 0.0, 0.012534784, 0.0017018887, -0.0056342245, 0.0) * go_4(1.0, 0.0); - result += mat4(0.0009400788, -0.0069639036, 0.0030032704, 0.0, 0.0031776547, -0.0106882155, -0.0021752508, 0.0, 0.0209143, 0.0059682373, 0.004596733, 0.0, -0.022955237, -0.009941201, -0.006298617, 0.0) * go_4(1.0, 1.0); - result += mat4(-0.0064679156, -0.010350582, -0.009941069, 0.0, -0.0015805382, 0.012290337, 0.008409566, 0.0, -0.117412835, -0.09645556, -0.09703461, 0.0, -0.007818433, -0.0075441995, 0.0014142053, 0.0) * go_5(-1.0, -1.0); - result += mat4(-0.008875219, -0.010561973, -0.0123933125, 0.0, 0.013169622, 0.02392643, 0.016722063, 0.0, 0.055201843, 0.07873035, 0.05582767, 0.0, 0.023869634, 0.020948572, 0.019141855, 0.0) * go_5(-1.0, 0.0); - result += mat4(0.004586781, 0.003811747, 0.0040364224, 0.0, 0.0025533088, 0.004466686, -0.002531796, 0.0, 0.01505836, 0.012453587, 0.012348402, 0.0, -0.024105167, -0.020986296, -0.0138099855, 0.0) * go_5(-1.0, 1.0); - result += mat4(0.017402729, 0.012661966, 0.0056144516, 0.0, -0.004699965, -0.0008380072, -0.006091114, 0.0, 0.0011875675, 0.00879462, 0.011868305, 0.0, -0.018672796, -0.026099058, -0.010950582, 0.0) * go_5(0.0, -1.0); - result += mat4(0.0030471918, 0.0007148243, -0.0025094969, 0.0, 0.033177674, 0.035010602, 0.039097246, 0.0, 0.039616674, 0.037767593, 0.01638443, 0.0, -0.12697552, -0.1073338, -0.09579577, 0.0) * go_5(0.0, 0.0); - result += mat4(-0.00025230617, 0.0012266148, 0.004280498, 0.0, -0.014905165, -0.021798527, -0.020744175, 0.0, -0.002821233, -0.0060641593, -0.007882776, 0.0, -0.07172067, -0.06563568, -0.034545008, 0.0) * go_5(0.0, 1.0); - result += mat4(0.003620735, -0.0024858215, 0.00022405668, 0.0, -0.0076808417, -0.0012458211, -0.0011529091, 0.0, -0.004562087, -0.008754068, -0.0054264124, 0.0, -0.012856577, -0.0010323325, -0.010446232, 0.0) * go_5(1.0, -1.0); - result += mat4(-0.011776141, -0.0019654774, -0.0055164173, 0.0, -0.020086112, -0.016785175, -0.00850444, 0.0, 0.010972318, 0.0025132888, 0.0010225184, 0.0, 0.09268763, 0.092143916, 0.08644562, 0.0) * go_5(1.0, 0.0); - result += mat4(-0.007995734, 0.0009648095, 0.00030679026, 0.0, -0.012054333, -0.010890181, -0.014105062, 0.0, 0.008349884, 0.0012249199, 0.002626051, 0.0, -0.005392993, 0.0035896245, 0.011283782, 0.0) * go_5(1.0, 1.0); - result += mat4(0.040485244, 0.05691461, 0.01393322, 0.0, -0.0068288567, -0.0047428505, -0.00517558, 0.0, 0.0046434966, 0.015452392, -0.00041433485, 0.0, 0.00063609646, -0.0071669365, 0.024786541, 0.0) * go_6(-1.0, -1.0); - result += mat4(0.14682117, 0.17755695, 0.12569702, 0.0, -0.027783392, -0.02624908, -0.028104672, 0.0, 0.00031824392, 0.0073304633, 0.0035713087, 0.0, -0.004828108, -0.011006178, 0.0050675124, 0.0) * go_6(-1.0, 0.0); - result += mat4(0.018347368, 0.058970205, 0.005508202, 0.0, 0.00017912469, 0.0047737043, 0.005871205, 0.0, -0.007914939, -0.0030016988, -0.010390166, 0.0, -0.011853182, -0.016345054, 0.011509364, 0.0) * go_6(-1.0, 1.0); - result += mat4(-0.04851968, -0.0415747, -0.07765033, 0.0, 0.0065016304, 0.0018423289, 0.0009655065, 0.0, 0.12496835, 0.124992594, 0.103400074, 0.0, 0.03406387, 0.024533505, 0.077095464, 0.0) * go_6(0.0, -1.0); - result += mat4(-0.07254525, -0.08249368, -0.08311044, 0.0, 0.06959693, 0.044335928, 0.03670938, 0.0, -0.1417736, -0.16761701, -0.14663263, 0.0, 0.10133506, 0.110241316, 0.14565967, 0.0) * go_6(0.0, 0.0); - result += mat4(0.019155718, 0.0071138083, -0.0034784337, 0.0, -0.00664143, -0.001776598, 0.0020648353, 0.0, 0.023666251, 0.0018572954, 0.009598296, 0.0, -0.06739044, -0.07003538, -0.023062525, 0.0) * go_6(0.0, 1.0); - result += mat4(-0.01241549, -0.009126171, -0.025202572, 0.0, -0.0075291363, 0.0039865207, -0.0034039568, 0.0, 0.016126499, 0.03303203, 0.0098967515, 0.0, -0.028944502, -0.020699043, 0.029002754, 0.0) * go_6(1.0, -1.0); - result += mat4(-0.021382507, -0.026118703, -0.031718995, 0.0, -0.019529367, -0.0035435583, -0.0067699575, 0.0, -0.041487366, -0.028312238, -0.034041278, 0.0, -0.06073689, -0.07734381, -0.019799007, 0.0) * go_6(1.0, 0.0); - result += mat4(-0.01363575, -0.0015479103, -0.020948276, 0.0, -0.010927923, 0.0065499563, -0.0012396075, 0.0, -0.029386181, -0.014403808, -0.012845848, 0.0, -0.009659123, -0.0495663, -0.0149474265, 0.0) * go_6(1.0, 1.0); - result += mat4(0.021467282, 0.010587587, 0.027719442, 0.0, -0.016798606, -0.035109796, -0.028590709, 0.0, -0.030624123, -0.04124009, -0.03222284, 0.0, -0.0026517997, 0.0045358734, -0.002765814, 0.0) * go_7(-1.0, -1.0); - result += mat4(0.033694725, 0.02778838, 0.034238014, 0.0, -0.04121519, -0.06834962, -0.062327933, 0.0, 0.050779387, 0.030920736, 0.03404337, 0.0, -0.0036348598, -0.0020900413, -0.0004735747, 0.0) * go_7(-1.0, 0.0); - result += mat4(-0.007622776, 0.011874823, 0.01900638, 0.0, -0.0025179803, 0.028925508, 0.01261665, 0.0, 0.013219528, 0.016697768, 0.013904126, 0.0, 0.0032451088, 0.0002832319, 0.00023742643, 0.0) * go_7(-1.0, 1.0); - result += mat4(0.01943161, 0.0021087795, 0.019444287, 0.0, 0.014026365, -0.003662395, -0.025668561, 0.0, -0.024189321, -0.023441639, -0.031171577, 0.0, 0.008905503, 0.011113009, 0.01485881, 0.0) * go_7(0.0, -1.0); - result += mat4(0.03617188, 0.020874048, 0.019303437, 0.0, -0.31612596, -0.34252307, -0.37307942, 0.0, -0.010667352, -0.010282407, -0.0023546303, 0.0, -0.047603715, -0.042640142, -0.035864264, 0.0) * go_7(0.0, 0.0); - result += mat4(0.030194433, 0.039834637, 0.03607905, 0.0, 0.07675613, 0.09751075, 0.042691164, 0.0, 0.013306196, 0.015537212, 0.020499485, 0.0, 0.021594003, 0.005205471, 0.0023345314, 0.0) * go_7(0.0, 1.0); - result += mat4(0.017912725, 0.018817604, 0.009495288, 0.0, 0.031629816, 0.030030556, 0.003441103, 0.0, -0.0031581502, 0.003583242, 0.00081657764, 0.0, 0.005727217, 0.007922274, 0.013391995, 0.0) * go_7(1.0, -1.0); - result += mat4(0.035499737, 0.025537802, 0.011286941, 0.0, 0.060370766, 0.07218371, 0.02229925, 0.0, -0.007152367, 0.0015067369, 0.004906394, 0.0, -0.0069688433, -0.0027407445, -0.008629306, 0.0) * go_7(1.0, 0.0); - result += mat4(0.017541587, 0.03987632, 0.027013319, 0.0, 0.055954672, 0.08695107, 0.054611363, 0.0, -0.0035868676, 0.0035243938, 0.009716404, 0.0, 0.024346305, 0.017666759, 0.017770555, 0.0) * go_7(1.0, 1.0); - result += vec4(0.0013127691, 0.0012500212, 0.00080561294, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl deleted file mode 100644 index 112975d..0000000 --- a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl +++ /dev/null @@ -1,1317 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.011550553, 0.2571523, -0.16894904, -0.09610124, -0.052744195, 0.30938542, 0.21441698, 0.2569063, 0.06468069, 0.089650966, 0.0748017, -0.018602168, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.17143345, 0.051090688, -0.040205717, 0.23977952, -0.06845662, 0.11059154, 0.27167943, 0.039820686, -0.037420645, 0.32412684, 0.114460744, 0.19145139, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.18283899, 0.16125157, -0.29441658, -0.14905207, 0.19206345, -0.03641905, -0.0255512, -0.1973209, 0.096413575, -0.165314, 0.09896132, -0.023077995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.03697045, 0.16279477, -0.22278853, -0.111244164, 0.12984428, -0.016251296, 0.06175422, -0.38215196, -0.020128965, -0.1455273, -0.08009769, 0.25073814, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.5884801, -0.6035645, 0.29799506, 0.15807843, -0.7622044, -0.15211694, 0.02642718, 0.08056384, -0.019515019, -0.08969495, 0.05972669, -0.56973815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.5292328, -0.12033433, 0.1487622, -0.016836211, 0.18644744, -0.1327393, 0.1285929, -0.25551647, 0.1799259, 0.041404646, -0.20043947, -0.3026472, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.024188336, -0.054328248, -0.12121459, 0.17569984, 0.0269405, -0.068125665, -0.12267483, -0.03206367, 0.010800722, 0.06791396, 0.21666309, 0.00086910516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.11299782, 0.16244878, 0.050983112, -0.20673744, 0.0814762, -0.290341, -0.13428551, 0.02317926, -0.23702003, -0.057354085, -0.16910575, 0.12039626, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.0099286465, -0.01866624, -0.01341757, 0.040368155, 0.29543665, 0.20391521, 0.015693977, 0.024313066, -0.009628433, 0.014835176, -0.05416802, -0.049118232, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.009906447, 0.016014593, -0.015037731, 0.019793766); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.2907437, -0.077323735, -0.16973291, -0.16443132, 0.22864507, 0.49630427, 0.26739725, 0.032699764, 0.06087564, -0.20624332, 0.0112693785, 0.08255652, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.06868092, -0.40196502, 0.13545038, 0.17964815, -0.05201233, -0.068510085, -0.033420287, 0.11053642, -0.22962584, 0.1240376, -0.07122576, -0.287889, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.08391916, 0.044837173, 0.05309633, -0.020162301, 0.21601973, 0.107087076, 0.009593669, -0.0480218, -0.0341008, 0.065055884, -0.037138876, 0.098079376, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.13852748, -0.41455564, 0.18791267, 0.092003055, 0.09786073, 0.13783242, -0.0740668, 0.24771707, -0.33705822, 0.14416842, 0.15743637, -0.2325511, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.5497675, -0.29078907, 0.05763203, -0.04751569, -0.6902698, -0.19779761, -0.39250666, -0.00016204051, 0.5432319, 0.2619331, -0.46955073, -0.3574246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.061908755, -0.19342895, 0.16516154, 0.034592014, -0.19078135, 0.17319767, -0.08530775, 0.30626982, 0.07117333, -0.13394159, -0.16021773, -0.25067675, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.08075159, -0.2351002, -0.16552883, 0.05863658, 0.016604373, 0.097477786, 0.06739595, 0.055863712, 0.1263199, 0.21669623, 0.14968488, -0.08309879, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.29566878, -0.18975174, -0.31122676, 0.012913531, -0.14852591, 0.21946627, 0.34939107, 0.11229292, -0.065245174, 0.08148012, 0.3856815, -0.043731045, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.03664222, 0.05616905, 0.16613087, -0.036628574, -0.0907965, 0.013615345, 0.0053964662, -0.015731616, -0.022957215, 0.10116718, -0.094957925, 0.058128193, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0017539978, -0.004052146, -0.0068221963, 0.0025597692); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.023552546, -0.17976846, -0.032507695, 0.34888005, -0.10224707, 0.13343506, 0.06544117, 0.012628775, -0.14143938, -0.19284354, 0.21922144, -0.24267627, 0.60245264, -0.24113165, -0.22310556, -0.02382731) * go_0(-1.0, -1.0); - result += mat4(-0.034701347, 0.07372663, 0.32609418, 0.11162037, -0.014141982, 0.07118311, -0.17728676, 0.11904929, -0.044187993, 0.10390664, -0.25206113, -0.27696803, -0.047686324, -0.1442619, 0.20605747, 0.06257326) * go_0(-1.0, 0.0); - result += mat4(-0.22148718, -0.01991937, 0.1064617, -0.040335968, 0.15501678, -0.23332876, 0.034576464, 0.0071954974, 0.29223567, -0.23055542, -0.2282997, -0.12242584, -0.37809116, -0.058991294, 0.39480785, 0.09886273) * go_0(-1.0, 1.0); - result += mat4(-0.14810124, 0.016219528, -0.19418913, -0.007893501, -0.053713404, 0.049100377, -0.05975324, 0.18977694, -0.050193787, -0.21011077, 0.2016647, 0.14340237, 1.0558138, -0.33549616, 0.231785, -0.3162362) * go_0(0.0, -1.0); - result += mat4(-0.13609457, -0.08641219, -0.44855806, 0.3498321, 0.30400246, -0.03185214, -0.1854452, -0.010487082, -0.17215589, 0.03237537, 0.28143924, -0.08109354, 0.22742943, -1.2136713, -0.13101196, 0.25476894) * go_0(0.0, 0.0); - result += mat4(0.13384807, 0.02634565, -0.0014585925, -0.119772, -0.22263676, 0.24358267, -0.29998726, 0.10864307, -0.025059542, 0.19892238, -0.48717195, -0.12713853, 0.0052565294, -0.06785795, -0.12660097, -0.2680154) * go_0(0.0, 1.0); - result += mat4(0.050817262, -0.000118490156, 0.008932358, 0.12216974, 0.00651495, -0.045953527, -0.06928984, -0.059567403, -0.045261804, -0.09506907, -0.15795891, 0.40871626, 0.75113076, -0.2689173, 0.014691355, 0.17588368) * go_0(1.0, -1.0); - result += mat4(-0.098001294, 0.017431907, -0.129577, -0.5423294, 0.006492312, -0.3798156, -0.0912911, -0.4348394, -0.008890873, 0.056336716, 0.31541198, 0.2757727, 0.18999146, -0.4838279, -0.8643528, -0.23371552) * go_0(1.0, 0.0); - result += mat4(0.12763253, 0.20787789, 0.014009273, -0.10351501, -0.10169546, 0.105827406, 0.08317957, 0.34155595, 0.09826027, 0.120087825, 0.00772547, -0.18460846, -0.057804313, -0.09804123, 0.23369344, -0.36933377) * go_0(1.0, 1.0); - result += mat4(0.016852003, -0.006062252, -0.12426935, 0.03895753, 0.015224101, 0.036187973, -0.12444835, 0.17155123, -0.21852624, -0.039858755, 0.030547414, -0.31835446, -0.1285454, 0.036886804, 0.120653056, 0.115938485) * go_1(-1.0, -1.0); - result += mat4(-0.0073105944, 0.0034892666, 0.16796911, 0.10596121, 0.053536925, -0.046282507, 0.04151762, 0.011876018, 0.038614176, -0.03580031, -0.119827464, -0.040998273, 0.07371248, 0.20536064, -0.11701863, 0.03227468) * go_1(-1.0, 0.0); - result += mat4(0.060087442, -0.2968361, 0.13312283, -0.23400159, -0.23598443, -0.042868868, 0.18195826, 0.28549528, 0.34385213, 0.21937303, -0.29659066, -0.2519378, 0.086887576, -0.2174296, 0.105925284, -0.021433428) * go_1(-1.0, 1.0); - result += mat4(0.13158737, 0.33106673, -0.17471395, -0.29580286, 0.06354943, 0.0942313, -0.0018473539, -0.036752637, -0.12811747, 0.17727722, -0.05052513, 0.02059626, 0.053381227, 0.051411, -0.040178068, 0.045549665) * go_1(0.0, -1.0); - result += mat4(-0.08831061, -0.28157574, -0.1294387, -0.034455232, 0.23092915, 0.064474, -0.26692396, 0.12853913, 0.006096496, -0.17732559, -0.14009307, 0.21564251, 0.20883715, 0.10718936, -0.47879994, -0.5107674) * go_1(0.0, 0.0); - result += mat4(-0.17679055, -0.03551305, 0.17372696, 0.25607085, -0.021303236, -0.116409995, 0.21391216, 0.1466252, 0.22911525, -0.11913164, 0.29034084, -0.08526714, -0.3873873, -0.21568687, 0.23877093, 0.42613512) * go_1(0.0, 1.0); - result += mat4(0.048116915, -0.08262296, -0.03324074, 0.13923667, -0.0062459446, -0.03517941, -0.009773409, -0.120674424, 0.15095374, -0.0005339233, 0.015473752, 0.14777213, 0.12814662, -0.05017428, -0.010744916, -0.23875938) * go_1(1.0, -1.0); - result += mat4(0.056450244, 0.11676627, -0.14198391, -0.045776248, 0.00897558, -0.058434367, 0.021832153, -0.52523935, -0.12343506, -0.11054828, 0.15865694, 0.09315367, -0.05297719, -0.10711813, 0.06007512, -0.08399776) * go_1(1.0, 0.0); - result += mat4(-0.019619863, 0.20729768, 0.043339703, 0.025781998, 0.023497196, 0.028392693, -0.04190367, -0.04418058, -0.042211913, -0.15244623, 0.02924173, 0.21085598, -0.035596382, 0.2381614, -0.030051846, 0.13014893) * go_1(1.0, 1.0); - result += mat4(-0.21234104, 0.041297037, -0.18101437, -0.2185761, 0.028981358, -0.081642486, -0.021145426, -0.009989747, 0.09318067, 0.16207193, -0.19826248, 0.16293178, -0.15917318, 0.06660727, 0.053039506, -0.1168678) * go_2(-1.0, -1.0); - result += mat4(-0.011286741, 0.14351663, -0.50032014, -0.026436124, -0.011840812, -0.07747942, 0.15334651, -0.14048274, -0.14003748, -0.047146395, -0.00042596797, 0.2566855, -0.03316183, 0.062969685, 0.043717206, -0.055696994) * go_2(-1.0, 0.0); - result += mat4(0.30375633, -0.023652522, -0.007335798, 0.11816739, -0.0505561, 0.16002876, -0.10969625, 0.11233836, -0.19340275, 0.05881697, 0.3182961, -0.022817641, 0.42393655, -0.0420881, -0.22744067, -0.11468599) * go_2(-1.0, 1.0); - result += mat4(0.19680668, -0.2718221, -0.109129034, -0.031820036, -0.014158195, 0.046111293, -0.14502439, -0.13337612, 0.09411394, 0.21357663, -0.20042713, -0.15176094, -0.0045771925, -0.031944096, 0.1550206, -0.03722588) * go_2(0.0, -1.0); - result += mat4(0.24317834, 0.18838319, 0.45047724, 0.18649562, -0.2095104, -0.0006020615, 0.08367084, -0.30320555, 0.07171591, -0.29137737, -0.049099058, 0.15327643, -0.24013925, 0.34259155, 0.115902506, 0.11450217) * go_2(0.0, 0.0); - result += mat4(0.016413163, 0.03915114, -0.015337155, 0.09729268, 0.29813018, -0.17131683, -0.2312706, 0.10482244, -0.2066783, -0.3365877, 0.2263724, 0.43815294, 0.036072776, 0.105696954, 0.077359736, 0.008051612) * go_2(0.0, 1.0); - result += mat4(0.12033027, 0.2112806, 0.017177183, -0.09654978, 0.07329572, 0.13259365, 0.011394168, 0.0069998833, -0.16171043, -0.02289922, 0.11146632, -0.33248207, -0.017027456, -0.10894563, -0.03257589, 0.021239217) * go_2(1.0, -1.0); - result += mat4(-0.031499073, -0.27365288, -0.064902805, 0.124796495, -0.023522072, -0.02951537, 0.04670401, 0.27531293, 0.43533918, 0.0585005, -0.15084462, -0.40506473, -0.32984722, -0.15036964, 0.07660922, -0.0032199689) * go_2(1.0, 0.0); - result += mat4(-0.115331754, -0.09803054, -0.024313536, 0.14555499, 0.23887083, -0.29849875, -0.26729763, 0.184482, 0.09255375, -0.10736947, -0.04150894, -0.0010320714, -0.051008355, -0.104129285, -0.08903581, 0.22098938) * go_2(1.0, 1.0); - result += mat4(0.06769511, -0.03238206, -0.068165705, -0.14739762, -0.061350193, 0.004104931, 0.11618826, 0.010067987, 0.02997295, 0.09301918, -0.12241719, 0.24177656, 0.22807428, -0.02756493, -0.0748496, -0.047249116) * go_3(-1.0, -1.0); - result += mat4(-0.18760902, 0.18009059, -0.0020327838, -0.21866414, -0.031515904, -0.05650113, -0.12750417, 0.103761345, 0.06476017, -0.3304871, -0.07148537, 0.24832407, -0.13958152, -0.09241458, 0.22140716, 0.08166865) * go_3(-1.0, 0.0); - result += mat4(0.26009315, -0.010701869, 0.023371957, -0.21740876, 0.17189556, 0.15437202, -0.14821805, -0.27689627, -0.2479749, -0.47549838, 0.32036334, 0.013038371, 0.14058238, 0.30515867, -0.26070523, 0.04663332) * go_3(-1.0, 1.0); - result += mat4(-0.020923758, -0.032509495, 0.12358641, 0.4433483, -0.06527426, -0.07173554, -0.11908415, -0.072907776, -0.0026322093, 0.045405984, 0.14449333, 0.18437918, 0.064828105, -0.151514, 0.091675825, 0.13046047) * go_3(0.0, -1.0); - result += mat4(-0.026943995, -0.07820492, -0.103887096, -0.3451598, 0.047472734, 0.0033870118, 0.440715, -0.20901312, 0.20392485, 0.2621361, 0.12270217, -0.24512972, -0.049621828, -0.22698936, 0.2641905, 0.009628438) * go_3(0.0, 0.0); - result += mat4(-0.20713174, 0.195439, 0.058581114, -0.10963195, 0.0812059, 0.011282248, -0.18487422, -0.016993608, 0.19099854, -0.3759483, -0.5897507, 0.14572738, 0.23315357, 0.10245343, 0.043103352, -0.46267846) * go_3(0.0, 1.0); - result += mat4(0.022161806, -0.00090681383, 0.052800614, 0.18393794, -0.027101398, 0.0014004739, 0.05572843, 0.118573196, -0.19916826, -0.02380698, 0.116629034, -0.28870407, 0.008048728, 0.053172585, -0.021419706, 0.09050276) * go_3(1.0, -1.0); - result += mat4(-0.016204836, 0.19174457, 0.2839895, 0.17540698, -0.123605736, -0.0061563863, 0.0028344695, 0.32647628, 0.057774115, 0.06937624, -0.13302265, -0.16724658, -0.12756115, 0.13584238, 0.078516625, 0.09640836) * go_3(1.0, 0.0); - result += mat4(0.120685734, -0.21064857, -0.16614036, -0.26340094, -0.06945371, 0.04921331, -0.020397125, 0.074044324, 0.23755525, -0.003564956, -0.06143462, -0.1825731, -0.11152944, -0.30590633, -0.054638807, -0.27331424) * go_3(1.0, 1.0); - result += vec4(0.04903664, 0.055879604, 0.072665684, -0.063299604); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.21144664, -0.21278776, 0.14495273, 0.40425083, 0.27247587, -0.109341, 0.033743903, 0.035514083, -0.39683792, 0.05346587, -0.164584, -0.27716008, 0.12337504, 0.06634312, 0.2134371, 0.6341114) * go_0(-1.0, -1.0); - result += mat4(0.13073774, -0.103435524, 0.0346405, 0.44462252, 0.11620409, 0.10156601, 0.054093704, -0.26547235, -0.11527728, 0.13799351, -0.027917054, -0.60904527, -0.07724007, -0.08113308, -0.009969666, 0.26369193) * go_0(-1.0, 0.0); - result += mat4(0.24912444, 0.0009965017, 0.04969851, 0.3003267, -0.003903703, -0.06769968, 0.10561507, -0.17234871, 0.1536697, -0.21829624, -0.017951855, -0.09118876, -0.22243726, 0.1614144, -0.024269601, 0.397888) * go_0(-1.0, 1.0); - result += mat4(0.06768992, -0.041342556, 0.07763352, -0.41787583, 0.031124283, 0.011633926, -0.0978459, 0.039305598, -0.41848403, -0.26259893, 0.28613627, 0.20371561, 0.58345675, -0.07080824, 0.19021916, 0.012531278) * go_0(0.0, -1.0); - result += mat4(-0.20584361, 0.20292012, 0.16911204, -0.11723318, -0.06905249, -0.12639555, 0.029861137, -0.69824475, -0.15893462, 0.03822974, 0.2365254, -0.18049008, -0.54079545, 0.05378836, 0.3731226, -0.4194168) * go_0(0.0, 0.0); - result += mat4(-0.16185144, 0.08044541, -0.11534125, -0.38361254, -0.18125655, 0.100682445, -0.17568061, 0.15932092, 0.4921224, -0.21809934, -0.4219327, 0.56603193, -0.11896117, 0.09941898, 0.060406428, -0.28055435) * go_0(0.0, 1.0); - result += mat4(-0.17914674, -0.039117515, -0.10780753, -0.0019961328, -0.118028656, 0.13673705, 0.09796823, 0.036670703, 0.23708504, -0.217638, 0.02271306, -0.08260663, -0.02218291, 0.25449663, -0.38577145, 0.2289155) * go_0(1.0, -1.0); - result += mat4(0.20697436, -0.08170284, -0.30875778, -0.091935694, -0.4299069, -0.048003297, 0.040368207, -0.11808018, 0.19754, -0.11251598, 0.27953205, 0.3021206, 0.45326826, 0.1854244, -0.29116857, -0.2648801) * go_0(1.0, 0.0); - result += mat4(-0.005043171, 0.1165916, 0.035544373, -0.11442216, -0.17139262, -0.050638396, -0.26463476, 0.11100485, -0.10001776, -0.21563227, -0.16391662, -0.054651123, 0.39844766, 0.1455794, 0.017547537, -0.39557946) * go_0(1.0, 1.0); - result += mat4(0.15157916, 0.18656601, -0.00782459, -0.038346134, -0.2450021, 0.047928028, -0.1472038, 0.2255333, -0.4334985, 0.08729366, 0.0846153, -0.30595127, -0.044211008, -0.08241214, -0.043064255, 0.4190449) * go_1(-1.0, -1.0); - result += mat4(0.05928101, -0.06261379, 0.038639594, 0.19335443, 0.07116561, -0.09511715, 0.2905441, 0.1801976, 0.26955184, -0.17377244, -0.1212788, 0.016638374, -0.22339019, 0.004929746, -0.09799133, -0.031665847) * go_1(-1.0, 0.0); - result += mat4(-0.18101548, 0.0012552696, -0.23048487, 0.112049505, -0.12021156, 0.14923924, 0.23487978, 0.09156211, 0.3823153, 0.19112724, -0.16386096, -0.33862537, 0.6392619, -0.074322194, -0.011328445, 0.010085967) * go_1(-1.0, 1.0); - result += mat4(0.14264163, -0.083046414, 0.05174603, -0.11164799, 0.5145514, 0.09971472, 0.07346141, -0.001808423, -0.26032692, -0.22621563, 0.055869855, 0.076288834, -0.010914596, 0.22231369, 0.10603505, -0.5869296) * go_1(0.0, -1.0); - result += mat4(0.5548472, 0.12401844, -0.23502155, 0.0061489646, 0.67039174, 0.05105186, -0.37961176, -0.15655631, 0.2625075, 0.0843665, 0.15801008, 0.09782913, -1.1630117, 0.5171362, 0.29586038, -0.08990771) * go_1(0.0, 0.0); - result += mat4(-0.5571424, -0.058150455, 0.07254807, -0.12936777, -0.12786071, 0.07129326, -0.241742, -0.08085487, -0.13637958, -0.22721592, -0.11745357, 0.112150125, -0.09672555, 0.27359635, -0.080746, -0.009863987) * go_1(0.0, 1.0); - result += mat4(0.030648582, 0.065971114, 0.067242995, 0.22608843, -0.17207222, 0.054914985, 0.03116957, -0.052851222, 0.0069969087, -0.006153292, 0.21847431, 0.057503276, 0.8095128, -0.21049567, -0.006439858, 0.08432311) * go_1(1.0, -1.0); - result += mat4(-0.042780217, -0.12338032, 0.05577247, -0.21822974, -0.17892684, 0.058537606, 0.080431335, -0.078834526, -0.31537804, -0.061866514, 0.023990609, -0.058277693, 0.097793244, -0.12215614, -0.13899407, 0.27879617) * go_1(1.0, 0.0); - result += mat4(0.008304607, 0.034395944, 0.17608953, -0.06544607, -0.24016827, -0.0677199, 0.12737678, -0.05233579, 0.16614896, -0.14099626, -0.022224577, 0.14793196, -0.012446621, 0.028061012, -0.1716129, 0.060556497) * go_1(1.0, 1.0); - result += mat4(0.5220798, 0.13444152, -0.2122427, -0.5736831, -0.20706674, 0.017248502, -0.028334714, 0.055140972, 0.33016387, -0.14287637, 0.01387342, 0.3571347, 0.28431186, 0.11765858, -0.01822439, -0.39872175) * go_2(-1.0, -1.0); - result += mat4(0.08728331, 0.23902069, -0.36302498, -0.16066715, -0.11230054, -0.13030538, 0.009534622, 0.048962418, 0.012431211, -0.20593752, -0.0013636881, 0.4360859, 0.04262531, 0.23974936, -0.094283335, -0.527438) * go_2(-1.0, 0.0); - result += mat4(0.030728528, -0.112231985, -0.009100498, -0.35143045, 0.16748357, 0.017510839, 0.03239966, 0.054478996, -0.17319912, -0.050375365, 0.089725465, 0.16103691, 0.10676163, -0.09278535, -0.05428266, -0.33354014) * go_2(-1.0, 1.0); - result += mat4(0.21258125, 0.04599829, -0.24325258, 0.029835198, 0.20194697, -0.07060258, 0.016639128, -0.3157998, 0.33405927, 0.060434584, -0.43728244, -0.062135965, 0.028998438, 0.11571891, -0.15109324, 0.07101858) * go_2(0.0, -1.0); - result += mat4(-0.40383798, -0.36821288, 0.19626383, 0.59001976, 0.32839507, 0.101678796, 0.10640573, -0.10071399, -0.02920735, -0.0077641695, -0.22367977, -0.05433425, 0.004730477, 0.23157004, -0.11481708, 0.061465364) * go_2(0.0, 0.0); - result += mat4(-0.08762416, -0.035775788, 0.26598835, 0.37357306, -0.11917872, 0.036915135, -0.19645864, -0.8743145, -0.51593053, 0.100978024, 0.06177629, -0.5311378, -0.09897961, -0.007981574, -0.14613442, 0.29796147) * go_2(0.0, 1.0); - result += mat4(-0.08169756, 0.10602942, 0.16290301, 0.08642245, 0.14126572, 0.0143537, 0.022076355, 0.12719934, -0.115588315, 0.018044261, 0.06112664, -0.17315914, -0.24815254, 0.07138127, 0.064938284, 0.30757383) * go_2(1.0, -1.0); - result += mat4(0.08658424, 0.04834558, 0.11189677, -0.11959915, 0.043204036, 0.0028814555, -0.27114293, 0.19655752, -0.06219229, -0.06335925, 0.001583622, 0.0003887524, -0.02551103, 0.1810684, -0.13473205, 0.41511175) * go_2(1.0, 0.0); - result += mat4(0.098328196, -0.15463813, -0.25395435, 0.057165585, 0.12112806, 0.047703095, 0.1736894, -0.571335, -0.08877221, 0.25854358, -0.12695095, 0.057413366, -0.098884575, -0.28365913, 0.09991636, 0.22292562) * go_2(1.0, 1.0); - result += mat4(-0.6112117, -0.010231417, -0.112239756, -0.07849118, 0.02083121, -0.034805223, 0.15247148, -0.12141691, 0.3277976, -0.06351269, -0.09261654, 0.48218137, -0.26786497, 0.18436286, 0.0026548437, -0.3494242) * go_3(-1.0, -1.0); - result += mat4(-0.095630266, 0.40209347, 0.037867773, -0.25989276, -0.011930034, 0.24516326, -0.0069997567, -0.3245564, -0.023615206, 0.15278822, -0.029383302, -0.7744169, 0.94101965, 0.056572374, 0.058212046, -0.061330616) * go_3(-1.0, 0.0); - result += mat4(0.081363745, -0.15472494, -0.34431493, 0.07395791, -0.055564385, 0.016541688, -0.08667468, -0.1444773, -0.2256494, -0.20606478, 0.4394829, 0.52758425, -0.5187416, 0.17331822, -0.27094364, -0.2181298) * go_3(-1.0, 1.0); - result += mat4(-0.287361, 0.16206776, 0.14063619, 0.13728833, -0.36886695, -0.08538228, 0.19503894, 0.11056105, 0.16406211, 0.01727046, 0.0871592, 0.07294414, 0.060550056, 0.061177608, -0.016883448, 0.30192128) * go_3(0.0, -1.0); - result += mat4(-0.33929467, 0.13435748, 0.115937024, 0.067573994, 0.009863674, 0.013138309, 0.30058098, 0.10597743, -0.17499073, 0.05588405, 0.005677747, 0.40934527, 1.1545268, -0.155579, -0.13197516, 0.15191454) * go_3(0.0, 0.0); - result += mat4(0.37388617, -0.08841946, -3.8818067e-05, -0.055153493, 0.10924964, 0.005106532, 0.2640823, 0.17689948, -0.078712486, 0.014336811, 0.13541687, -0.35125944, 0.25925586, -0.11574074, -0.05334974, 0.37477663) * go_3(0.0, 1.0); - result += mat4(-0.09378358, -0.02469048, 0.09498973, -0.14765818, -0.06543113, 0.052611325, -0.038409166, -0.10529152, -0.19401579, -0.16219963, -0.16643663, -0.33105713, -0.47642896, 0.3563738, 0.10123918, 0.0047903634) * go_3(1.0, -1.0); - result += mat4(-0.09347765, 0.13719639, 0.17906445, 0.20748247, 0.31409532, -0.033543803, -0.055865422, 0.20806772, -0.004353982, 0.15110697, -0.052026875, 0.04408309, -0.3727673, 0.08697647, 0.062118348, -0.12789507) * go_3(1.0, 0.0); - result += mat4(0.17479336, -0.15061922, -0.039640546, 0.041190077, -0.060928237, 0.17590441, 0.13194624, 0.05623478, -0.16385348, 0.09232265, 0.035934143, -0.1263174, -0.35249633, 0.15528975, 0.10165315, -0.20805833) * go_3(1.0, 1.0); - result += vec4(-0.016027294, -0.022314552, 0.29750827, 0.022724666); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.20217955, -0.1016539, -0.24689016, 0.026825983, -0.012303149, 0.016825393, 0.11242501, 0.1197403, -0.29600206, 0.27503014, -0.11554761, -0.051286228, -0.010749474, -0.0034162628, -0.07294611, -0.3771706) * go_0(-1.0, -1.0); - result += mat4(0.14065309, -0.20494242, 0.08172008, -0.24708536, 0.14010069, -0.0034903025, -0.13427053, 0.038706955, 0.14292285, -0.22876161, -0.08053654, -0.13691449, -0.32719252, 0.3200724, 0.41660982, 0.4663079) * go_0(-1.0, 0.0); - result += mat4(-0.40426278, 0.42029375, 0.2581085, -0.08178537, 6.6040986e-05, 0.051414035, -0.09223715, 0.09467653, 0.0022885685, -0.36213446, -0.22484992, 0.11228845, -0.266375, 0.47065213, 0.18022436, 0.018949319) * go_0(-1.0, 1.0); - result += mat4(0.0967041, -0.4762878, -0.48147273, -0.38028395, 0.0096386345, 0.038764592, 0.31412536, 0.11140124, -0.26849043, 0.5565519, 0.43003628, -0.4071856, -0.07576129, -0.1801822, -0.47469202, 0.20814487) * go_0(0.0, -1.0); - result += mat4(-0.00062698213, -0.7789418, 0.35716832, -0.02369097, 0.3586657, 0.0046842257, -0.1294594, -0.42827508, 0.1843683, -0.109799415, -0.03444211, -0.4856736, 0.20326613, -0.20637028, 0.043016884, 0.2611685) * go_0(0.0, 0.0); - result += mat4(-0.4074533, 0.11487311, 0.3276686, -0.002443473, -0.18050632, 0.36538202, 0.23752166, -0.21289061, 0.08633338, -0.30124283, -0.020832658, -0.02058489, -0.18569615, 0.47561193, 0.29504526, -0.37081027) * go_0(0.0, 1.0); - result += mat4(0.3032142, -0.05559384, -0.14362094, 0.4066231, -0.10048464, 0.123465545, 0.17526495, -0.05644113, 0.10546904, 0.04229368, 0.39113873, 0.31476578, -0.3210935, -0.2459354, -0.57513195, 0.42412075) * go_0(1.0, -1.0); - result += mat4(-0.012243576, 0.12146884, 0.07562772, 0.6030755, 0.11079806, -0.33577108, -0.34181613, -0.1494174, -0.03203171, 0.4393293, -0.28612396, 0.42938936, -0.043798693, -0.37709042, 0.26563555, -0.11072489) * go_0(1.0, 0.0); - result += mat4(0.046751764, 0.0035097478, -0.01897875, 0.02122587, -0.12605189, -0.41298488, -0.03824162, 0.51710933, -0.052696224, -0.2337075, -0.12560573, 0.33835718, -0.31342196, 0.51827186, 0.1890404, -0.03768498) * go_0(1.0, 1.0); - result += mat4(0.17229721, 0.062260006, 0.21993148, 0.075963624, 0.067087546, -0.20411918, -0.06633631, -0.05168393, -0.055554014, 0.07146849, -0.11320391, -0.5016039, -0.015768923, -0.029974159, 0.003875134, -0.7003569) * go_1(-1.0, -1.0); - result += mat4(-0.0693014, 0.23172057, -0.12445124, 0.10486695, 0.024282364, 0.104390465, 0.10902425, 0.044662107, -0.14725766, -0.12317419, -0.24799284, -0.5018698, -0.09759714, -0.08109111, -0.16864298, -0.21465865) * go_1(-1.0, 0.0); - result += mat4(-0.05006012, -0.091789775, -0.039711423, -0.025967857, 0.004903828, 0.27684125, 0.090259, 0.25723773, 0.25361672, -0.63184565, -0.2300667, -0.10245676, -0.43677995, 0.4948819, 0.23426977, 0.27520937) * go_1(-1.0, 1.0); - result += mat4(0.24944058, -0.2630142, 0.087730475, 0.14870866, -0.05221804, -0.11076067, -0.28590345, 0.30941877, 0.12329378, 0.0869489, 0.3449555, 0.26338112, 0.27513418, -0.34140083, -0.44811395, -0.32881838) * go_1(0.0, -1.0); - result += mat4(-0.2300291, 0.026097683, 0.011726505, 0.33332226, -0.24714379, -0.052737463, 0.16558985, 0.43402666, -0.040318843, 0.14610682, 0.32763618, 0.1530442, 0.46671808, -0.36680204, 0.30263212, 0.4588324) * go_1(0.0, 0.0); - result += mat4(0.04394229, 0.1959856, -0.23437811, -0.42994127, 0.2209785, 0.08641096, 0.059983835, 0.3301891, -0.20396693, 0.21257658, -0.17936775, -0.17046471, -0.3278646, -0.015171337, -0.39279112, 0.7612752) * go_1(0.0, 1.0); - result += mat4(-0.0721009, 0.03914034, -0.03603309, 0.0032750098, 0.02849652, -0.22286695, -0.21038975, -0.5404214, -0.09446682, 0.13351013, 0.19801673, 0.3039991, 0.06969349, 0.47980356, 0.4956948, -0.22736946) * go_1(1.0, -1.0); - result += mat4(0.10723219, -0.23137522, -0.12172196, 0.041468218, -0.07041226, 0.06390648, 0.14080569, -0.35228798, 0.07642974, -0.13615544, -0.039689478, 0.07113939, 0.28258353, 0.060358338, 0.17336333, -0.2321431) * go_1(1.0, 0.0); - result += mat4(-0.17947374, 0.03477672, 0.14946933, -0.27187726, 0.18819115, 0.032378223, 0.0020400453, -0.48512584, -0.12591578, -0.1212832, -0.116236545, 0.045565434, -0.15292491, -0.24064177, -0.10086153, 0.23591255) * go_1(1.0, 1.0); - result += mat4(-0.106525, -0.12032337, 0.17431536, 0.0052562207, -6.420632e-05, -0.01623248, -0.08095955, -0.13127506, 0.27539784, -0.31894428, 0.08169528, 0.062290672, -0.18432364, 0.21473673, -0.025179744, 0.094855726) * go_2(-1.0, -1.0); - result += mat4(-0.31541437, -0.24790616, 0.013607132, 0.039480396, -0.122884266, 0.19012398, 0.09748719, -0.09533564, -0.292556, 0.18304445, -0.1432241, 0.1381094, 0.21733786, -0.18149674, -0.1615431, 0.03368751) * go_2(-1.0, 0.0); - result += mat4(0.28429464, -0.40165743, -0.26162243, -0.02550708, 0.08182439, -0.142696, -0.029649947, 0.047006324, -0.041352388, 0.45716748, 0.14035358, -0.0074519147, 0.30095938, -0.4907558, -0.19573994, -0.0730125) * go_2(-1.0, 1.0); - result += mat4(0.015484458, 0.18262957, 1.1304622, 0.13020717, 0.08094596, -0.041125435, -0.011831079, 0.016813423, 0.27810735, -0.64546406, -0.09420503, 0.30469316, -0.298747, 0.56795603, 0.42592815, 0.31302226) * go_2(0.0, -1.0); - result += mat4(0.04343304, -0.4498391, -0.5037316, 0.19293165, -0.53385746, 0.33699542, 0.27228716, -0.19133756, -0.32839635, 0.35161376, 0.2137489, 0.38544926, -0.25985554, 0.20467313, 0.19342346, 0.20128295) * go_2(0.0, 0.0); - result += mat4(0.22484256, -0.23751211, -0.30022943, 0.051273867, -0.007936754, -0.68916345, -0.71587783, -0.1656445, -0.097008295, 0.10184849, -0.051216517, -0.3001333, 0.44228783, -0.3494149, -0.3600727, 0.061474547) * go_2(0.0, 1.0); - result += mat4(-0.1976335, 0.11761563, 0.25485405, -0.24935004, 0.21836887, -0.0373093, -0.06946182, 0.049853157, -0.19294016, 0.027994758, -0.7352471, -0.40208367, -0.29396078, 0.27974385, 0.23464991, -0.21713316) * go_2(1.0, -1.0); - result += mat4(0.11203325, -0.07249998, 0.03275291, -0.5243432, 0.027975427, 0.65923446, 1.1487273, 0.13650933, 0.18981944, -0.41047823, 0.24949239, -0.038735647, -0.16338153, 0.19802837, 0.2097514, -0.15370321) * go_2(1.0, 0.0); - result += mat4(0.05246577, -0.10527885, -0.023790307, 0.02944672, 0.21446787, 0.22428256, -0.30655965, -0.4283235, 0.073304355, 0.2829255, 0.30902624, -0.14685656, 0.24827917, -0.33014455, -0.32007882, -0.20629856) * go_2(1.0, 1.0); - result += mat4(-0.08960087, 0.0050927363, -0.30011386, -0.047652043, -0.094598204, 0.11405335, 0.06829049, 0.059407845, -0.022997437, -0.106863946, 0.07900994, 0.44502714, 0.15836091, -0.066640936, 0.15023214, 0.54916424) * go_3(-1.0, -1.0); - result += mat4(-0.06162481, -0.3285692, -0.022469657, -0.11277432, -0.09067458, 0.030319816, -0.14839767, -0.23583637, 0.06760135, -0.028171305, 0.014077104, 0.35498118, -0.025291484, 0.24540594, -0.017083582, 0.28348377) * go_3(-1.0, 0.0); - result += mat4(0.17504841, 0.060240712, 0.17431584, 0.16914812, 0.06998317, -0.30380917, -0.09968582, -0.30383462, -0.4403573, 0.78940177, 0.020485763, 0.27871025, 0.6351977, -0.37790725, -0.22219525, -0.4110773) * go_3(-1.0, 1.0); - result += mat4(-0.08675536, 0.27092165, -0.058764063, 0.20293204, 0.009523148, 0.09759644, 0.32254717, -0.48095647, -0.23190324, -0.12567216, -0.44106624, -0.30251557, -0.29637465, 0.16701616, 0.039250236, 0.20024182) * go_3(0.0, -1.0); - result += mat4(-0.12002944, 0.13862704, 0.17594223, -0.044401992, 0.36661845, -0.038946245, -0.29144734, -0.033288293, -0.48884743, 0.08073716, -0.31537253, 0.1283542, -0.5425199, 0.19174723, 0.15365373, -0.14512973) * go_3(0.0, 0.0); - result += mat4(0.15586664, -0.16834132, 0.05371874, 0.36174223, -0.15587626, -0.0017205992, 0.02366499, -0.13222694, 0.27792883, -0.20452052, 0.07238269, -0.6005766, 0.45729572, -0.057850257, 0.3978193, -0.42369977) * go_3(0.0, 1.0); - result += mat4(0.0125904465, -0.28701517, -0.06483255, -0.36696205, 0.0041157743, 0.16688906, 0.16022897, 0.32454333, 0.24528491, -0.22117196, -0.15657167, -0.27925336, -0.21296152, -0.27980646, -0.35671264, 0.1338135) * go_3(1.0, -1.0); - result += mat4(-0.09333434, 0.2844371, -0.0012270715, -0.08979275, -0.06961038, -0.011850921, -0.14248405, 0.69844127, -0.39664406, -0.024479598, 0.055128384, -0.44450662, -0.2171763, -0.027311027, -0.22850873, 0.21512528) * go_3(1.0, 0.0); - result += mat4(0.05754468, -0.06023853, -0.10660665, 0.001042397, -0.0098680295, -0.020704228, 0.022198498, 0.22380444, 0.2768453, -0.0008279344, 0.026585666, -0.4575448, 0.25150645, 0.11999355, 0.12135898, -0.39513355) * go_3(1.0, 1.0); - result += vec4(0.025650544, 0.03663525, -0.016599739, 0.0293095); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04035504, 0.24661791, 0.16603021, -0.14574075, 0.016028887, 0.23053943, -0.01308933, -0.13217592, 0.14422223, 0.046401497, 0.31343204, -0.018826274, -0.13334458, -0.13250591, -0.19680983, 0.023520457) * go_0(-1.0, -1.0); - result += mat4(-0.18644534, 0.16142415, -0.10263999, -0.1785358, 0.1524165, -0.096029095, 0.044161733, 0.040999066, -0.024374438, 0.007344798, -0.011679108, -0.01964757, -0.17767182, 0.05571244, 0.027234446, 0.043839652) * go_0(-1.0, 0.0); - result += mat4(0.04718799, -0.044331063, 0.13524447, -0.067815036, 0.11796701, 0.19663425, -0.10252262, -0.10110826, -0.12611324, 0.10640568, 0.19015492, -0.05703842, -0.2498106, 0.06150599, -0.16034353, 0.023444213) * go_0(-1.0, 1.0); - result += mat4(-0.27109948, -0.2330959, -0.24654478, -0.13645583, -0.30987036, -0.09328997, -0.047055356, -0.008120827, 0.12002382, -0.052843675, -0.024162116, -0.07013582, -0.21204828, 0.24816163, -0.048868638, -0.020213706) * go_0(0.0, -1.0); - result += mat4(-0.36924088, 0.19141299, -0.0596671, 0.05201207, 0.042457893, -0.14713997, 0.06199918, 0.3931451, 0.08613402, -0.07767505, -0.22640567, 0.139795, -0.080966346, 0.24099334, -0.1484309, -0.18542144) * go_0(0.0, 0.0); - result += mat4(-0.24846043, 0.04992665, 0.01550666, -0.07386302, -0.033128314, -0.109518744, -0.0131575465, 0.093934394, -0.10481641, -0.21640164, -0.042719785, -0.119751304, -0.14406851, -0.09887475, 0.0551473, 0.1988483) * go_0(0.0, 1.0); - result += mat4(0.005014479, -0.028502205, 0.056643553, 0.22005746, -0.109462686, -0.063529275, 0.068870015, -0.09086573, -0.20329769, 0.062993504, 0.012298516, -0.09511996, -0.070928045, -0.084570564, 0.030517094, 0.0666073) * go_0(1.0, -1.0); - result += mat4(-0.23140994, -0.14801921, 0.10917109, 0.04020163, -0.124175526, -9.252112e-05, -0.10079859, -0.08308403, -0.15703133, 0.12351128, -0.062012766, 0.012078454, 0.017588409, -0.19278778, -0.011159341, -0.019345049) * go_0(1.0, 0.0); - result += mat4(-0.13358298, -0.13400944, -0.04192524, 0.05254761, 0.090020865, 0.204023, -0.017487295, -0.103140116, -0.0635867, -0.04658558, 0.017988916, -0.095914505, 0.0028000565, 0.1542994, 0.02950823, 0.04616086) * go_0(1.0, 1.0); - result += mat4(-0.05432518, -0.0111842025, -0.0062327827, -0.033791576, 0.09963238, -0.007702412, 0.107363395, -0.0002620659, -0.03530006, -0.17219695, 0.20868061, 0.097935446, -0.08475756, -0.039234992, -0.13846119, 0.062036924) * go_1(-1.0, -1.0); - result += mat4(0.01616353, -0.12863919, 0.15521172, 0.097896874, 0.033820298, -0.05146636, 0.02785997, -0.09073786, -0.09372875, 0.06929703, -0.0107195005, 0.018365687, 0.0868831, 0.0070242505, -0.040582743, -0.07992907) * go_1(-1.0, 0.0); - result += mat4(-0.07650785, -0.072560616, 0.01351836, 0.07111899, -0.022031955, -0.010699844, -0.061331112, -0.18606193, 0.016390545, -0.013820923, 0.024161916, 0.05317417, -0.023394106, -0.12722068, -0.2521299, -0.0032620258) * go_1(-1.0, 1.0); - result += mat4(0.09762331, 0.062247284, -0.07981863, 0.048026998, 0.052663904, 0.1488446, -0.0859117, 0.081166595, 0.06321994, 0.10102734, -0.08696909, 0.018006293, 0.10951873, 0.11635254, -0.073152475, 0.021577666) * go_1(0.0, -1.0); - result += mat4(0.13631535, 0.09643497, 0.06995556, -0.012752857, 0.16278613, 0.015534217, 0.108511776, 0.14669219, 0.008778259, 0.16631478, 0.060034137, -0.16236681, -0.05978258, 0.062230766, -0.33324954, -0.02387315) * go_1(0.0, 0.0); - result += mat4(-0.26835418, -0.05078421, -0.038090322, -0.01212539, 0.0064360583, -0.09849181, 0.055596586, -0.049771946, -0.060680225, 0.11777931, 0.0092843445, -0.0003092349, -0.054714512, -0.036983784, 0.080890685, 0.01171634) * go_1(0.0, 1.0); - result += mat4(-0.095172614, -0.00536103, 0.024565516, 0.15711878, -0.054901525, -0.11539277, -0.0537201, 0.035690263, -0.012858618, 0.0074576396, -0.09323002, 0.0212987, 0.057625733, -0.028343642, 0.09287552, 0.17583063) * go_1(1.0, -1.0); - result += mat4(0.039239723, 0.08689648, -0.09737909, -0.030164383, -0.16954574, -0.19429989, -0.008026096, -0.009319319, 0.050411783, 0.003132383, -0.032023713, -0.044580568, 0.05639381, 0.26383185, -0.11680319, 0.20925997) * go_1(1.0, 0.0); - result += mat4(-0.1350493, 0.066753425, -0.07848042, -0.07173146, -0.09169151, -0.02280378, 0.014779426, 0.08916784, -0.09334288, -0.081331305, -0.06598685, -0.023294056, 0.13236979, 0.32240087, -0.05203544, -0.035413966) * go_1(1.0, 1.0); - result += mat4(0.026199203, 0.0204687, -0.070584424, -0.021580774, 0.118979365, 0.0988867, -0.14607596, 0.13370356, -0.0843717, 0.08955508, -0.035913162, -0.039743375, 0.03797019, -0.057666034, 0.09423923, 0.07839171) * go_2(-1.0, -1.0); - result += mat4(0.2348814, 0.0213994, 0.07450211, -0.003232845, 0.09450214, 0.014603701, 0.025057215, 0.048732072, -0.20320013, 0.02525451, -0.26879773, -0.21511178, 0.08866451, -0.046766516, -0.13612792, -0.09785279) * go_2(-1.0, 0.0); - result += mat4(-0.12481913, -0.12849878, -0.016158326, 0.025934998, 0.022762675, -0.011452937, -0.08533328, 0.06363569, 0.14518197, 0.23348686, 0.095732406, -0.19029738, 0.05512797, 0.02524934, 0.05958946, 0.06717244) * go_2(-1.0, 1.0); - result += mat4(0.061521348, -0.16622357, -0.08235146, -0.06429693, 0.03720797, 0.20682053, -0.08594098, 0.07171474, 0.0014226728, -0.07034602, -0.09734637, 0.03378296, 0.16466366, -0.10899766, -0.003239979, -0.015122078) * go_2(0.0, -1.0); - result += mat4(0.16695042, -0.1315729, 0.09122205, 0.07520023, -0.09821882, 0.035185304, -0.06842167, -0.011763841, -0.09345794, 0.15259263, -0.39355028, -0.3891075, 0.18299462, 0.06755557, -0.027738906, 0.013310929) * go_2(0.0, 0.0); - result += mat4(0.033140916, -0.027768493, -0.02067478, -0.06325463, -0.09894021, -0.20934165, -0.015428146, 0.12136887, 0.046120573, -0.071947254, 0.028421128, 0.06357571, 0.13145766, 0.04536773, 0.044150203, -0.10509899) * go_2(0.0, 1.0); - result += mat4(-0.10988508, 0.112615995, 0.1751226, 0.02660734, 0.08398276, 0.12926741, 0.2084611, 0.15119243, 0.028835213, -0.039361596, 0.0034648806, 0.029079277, -0.00217732, 0.06629454, -0.07294264, 0.023904502) * go_2(1.0, -1.0); - result += mat4(-0.013733941, -0.19174497, 0.106097385, 0.13108249, -0.02342723, -0.314217, 0.070849575, 0.0720347, -0.12744898, -0.065455206, -0.15339097, 0.022219827, -0.016159452, 0.010578856, 0.08105944, -0.05987952) * go_2(1.0, 0.0); - result += mat4(0.23217027, 0.05277337, 0.071452655, -0.10689918, -0.031163886, 0.1281398, -0.046946436, -0.027713988, -0.03565471, 0.08120484, -0.04330698, 0.07295522, 0.1321532, -0.03170989, 0.016022692, 0.121839166) * go_2(1.0, 1.0); - result += mat4(0.00410671, -0.04678445, 0.18113981, 0.05987472, 0.21671912, -0.34416708, 0.2037898, 0.15413988, -0.115338616, -0.06392024, 0.13700303, -0.033065956, -0.018238343, 0.1134282, 0.1275314, -0.019762916) * go_3(-1.0, -1.0); - result += mat4(-0.11894926, -0.029414194, 0.18244646, 0.217531, 0.07504621, 0.024808811, 0.23533674, -0.022842843, 0.05035676, -0.011317847, 0.7755237, 0.14858165, -8.2921815e-08, -0.04540463, 0.11160265, -0.0009788543) * go_3(-1.0, 0.0); - result += mat4(-0.14826688, -0.097891875, -0.13205692, -0.059139438, -0.13794315, -0.2652887, -0.11130958, -0.05137257, -0.1176455, -0.1548706, -0.10306716, 0.21789181, -0.009209018, 0.011220653, 0.01963476, 0.012935865) * go_3(-1.0, 1.0); - result += mat4(0.11714751, 0.15236345, 0.13536146, 0.044848517, 0.34835097, 0.13658829, 0.36627477, -0.27132225, -0.3091611, 0.20383716, 0.30317453, 0.08233188, -0.07287086, -0.048854213, 0.14926453, 0.033089206) * go_3(0.0, -1.0); - result += mat4(0.06970943, -0.11879602, -0.04682354, 0.06618747, 0.22552045, -0.13497396, 0.08345175, -0.255251, 0.15757652, 0.069464825, 0.37833855, -0.2546535, -0.16741769, -0.0860299, -0.0130390655, 0.09818734) * go_3(0.0, 0.0); - result += mat4(-0.07983536, 0.06403843, -0.07103762, -0.08339309, -0.055773012, 0.009426009, -0.12089462, -0.16594686, -0.11570191, -0.15629323, 0.054537755, 0.1888691, -0.13647257, -0.020126633, -0.17405704, -0.26438174) * go_3(0.0, 1.0); - result += mat4(-0.11210597, -0.020617625, -0.13101855, -0.17561626, -0.043740314, 0.23093803, -0.016813299, 0.09149021, 0.18216842, -0.043552347, 0.023779068, -0.10780718, -0.016673947, 0.14319964, -0.028260237, -0.124928825) * go_3(1.0, -1.0); - result += mat4(-0.03160608, -0.2333736, -0.13623776, -0.026613101, -0.26093182, 0.0132271405, 0.13844319, -0.02270748, 0.10522583, 0.18912983, 0.073725015, -0.27355325, -0.0055876593, 0.16790742, -0.07568777, 0.06618935) * go_3(1.0, 0.0); - result += mat4(0.022589413, 0.07764155, 0.07209622, -0.056753542, 0.0568345, -0.16099633, -0.1312878, 0.02636607, -0.21696982, -0.059245802, -0.08554336, 0.14966543, -0.059751473, -0.12615988, -0.04726769, 0.05051841) * go_3(1.0, 1.0); - result += mat4(0.08186889, 0.08205334, 0.023400525, -0.014372715, -0.32853618, 0.20950803, -0.13900198, 0.033662543, 0.22546336, 0.51378864, 0.25709614, 0.0690995, 0.024139842, 0.06293423, -0.016842663, -0.0019389848) * go_4(-1.0, -1.0); - result += mat4(0.08322223, 0.20575687, -0.12917835, -0.051425036, -0.10029536, 0.020689568, -0.62112635, -0.15488598, -0.12642258, 0.27025947, -0.10352515, -0.094899215, -0.07861278, -0.008126564, -0.36391425, 0.012501281) * go_4(-1.0, 0.0); - result += mat4(0.09727261, 0.2485468, 0.032302193, -0.056679122, -0.30999616, -0.15299593, -0.023860209, -0.016379328, 0.20444955, 0.24193929, -0.047571138, -0.13646403, 0.07320446, 0.11940953, 0.081255615, -0.024622988) * go_4(-1.0, 1.0); - result += mat4(-0.012735532, -0.0026588705, 0.049573418, -0.03732182, -0.550759, -0.19040847, -0.092085555, 0.050688766, 0.05871898, 0.65302145, 0.0486849, -0.015391376, -0.088805616, -0.1919315, -0.18541074, 0.064208336) * go_4(0.0, -1.0); - result += mat4(-0.25550497, 0.076505475, -0.0033188355, 0.05434708, -0.6988797, -0.44051754, -0.7110294, -0.6219069, -0.18371364, 0.03994295, 0.22495036, 0.2654511, 0.039869636, -0.0014285883, -0.3385523, 0.03384559) * go_4(0.0, 0.0); - result += mat4(0.12577426, 0.18141976, 0.017276304, -0.030196752, -0.3411355, -0.051372755, -0.4402098, -0.2307844, 0.2475909, 0.042480852, -0.13148455, 0.08761176, 0.09051365, 0.04634071, -0.1398518, -0.09816492) * go_4(0.0, 1.0); - result += mat4(0.082957186, 0.20064567, -0.0039741206, -0.101500906, -0.11700493, 0.029862897, -0.12905416, 0.2396674, -0.0837802, 0.53440446, -0.044294536, -0.03571166, 0.043897923, -0.052617326, -0.15071645, 0.032061413) * go_4(1.0, -1.0); - result += mat4(-0.11662253, 0.11108744, 0.15453078, 0.07819891, -0.25460127, -0.8427337, -0.07924075, 0.060776, -0.07543319, 0.1565062, -0.12689075, -0.053272385, -0.19933213, -0.020827955, 0.013956402, 0.21194445) * go_4(1.0, 0.0); - result += mat4(-0.0043281335, -0.024467073, 0.051124696, 0.08090264, -0.30834627, -0.67489, 0.2619303, 0.23885296, 0.20223773, 0.23991251, 0.01228539, -0.077657975, 0.025452869, -0.03739561, 0.042129666, 0.11460913) * go_4(1.0, 1.0); - result += mat4(0.06228207, -0.14803374, 0.010911389, 0.09355621, 0.023043629, 0.031996407, -0.055188306, -0.014802153, -0.019913547, 0.049278714, -0.08680487, -0.109947994, 0.0075249076, 0.05728937, -0.23096122, -0.14276639) * go_5(-1.0, -1.0); - result += mat4(-0.13976647, -0.06370508, -0.103730015, 0.036839988, -0.034798823, 0.10165849, -0.22992481, -0.22844586, -0.09660402, -0.00035895672, 0.043261856, -0.048690017, 0.07580462, -0.076795, 0.104297355, 0.064719155) * go_5(-1.0, 0.0); - result += mat4(0.20086232, 0.21900544, 0.100586765, -0.1263965, 0.08518987, 0.07015036, 0.1540687, -0.027686164, -0.2645977, -0.21961495, -0.049981266, 0.04538352, 0.07476041, 0.015029907, -0.0283461, -0.06752002) * go_5(-1.0, 1.0); - result += mat4(0.025824754, 0.009975207, -0.09909158, -0.007285313, 0.018532153, -0.17034489, -0.22879048, 0.11958223, -0.02237275, -0.039665785, 0.10340932, -0.035260696, -0.044261284, -0.08655165, -0.106472224, 0.050346926) * go_5(0.0, -1.0); - result += mat4(-0.088629484, -0.03668536, -0.09841912, -0.026597997, -0.053007387, 0.10285643, -0.21886663, -0.16486467, -0.06485831, -0.16549312, 0.09329481, 0.019519072, 0.125703, 0.04451335, -0.057531886, 0.016026434) * go_5(0.0, 0.0); - result += mat4(0.1822173, -0.050538287, 0.13174933, 0.12418439, 0.089775965, 0.20749187, -0.027725866, -0.19011584, -0.08552012, 0.0063636974, -0.09168926, -0.30534875, 0.06661879, -0.06904948, -0.030606193, 0.11095211) * go_5(0.0, 1.0); - result += mat4(0.105299786, -0.35318968, -0.09098853, -0.0369341, 0.0002527501, -0.0522018, -0.09358501, -0.045713484, 0.0027285013, 0.048836533, 0.13147967, -0.048738208, 0.059378657, -0.10914055, 0.11926634, 0.075568035) * go_5(1.0, -1.0); - result += mat4(0.2516043, -0.24786504, -0.10248864, -0.0040028943, 0.02035929, 0.21344659, -0.18807223, -0.15342413, 0.10871073, 0.084864154, 0.1361142, 0.0115587525, 0.11032122, -0.12804365, -0.11517307, 0.029220797) * go_5(1.0, 0.0); - result += mat4(0.0013311467, 0.031627458, -0.07854846, -0.057380144, -0.058437843, -0.034605294, 0.088147335, 0.03749221, 0.018598026, 0.017132863, 0.0018768669, -0.04457343, 0.03682849, -0.055201598, -0.0021610786, -0.08538003) * go_5(1.0, 1.0); - result += vec4(0.12639354, -0.013081255, 0.0065587023, 0.046620134); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.011583964, -0.039870065, -0.15999149, 0.08675985, 0.08109101, -0.1879774, 0.19331096, -0.4534524, -0.12586977, 0.011471076, 0.19720814, -0.1143906, 0.07553728, -0.056127805, 0.1635918, -0.17931661) * go_0(-1.0, -1.0); - result += mat4(0.067819625, -0.21503527, 0.09939146, -0.07270988, -0.059113953, -0.049392458, 0.28810808, -0.14547947, -0.12949272, -0.0024433902, 0.38158932, -0.07837205, -0.036141198, 0.15529773, -0.11398279, -0.13650618) * go_0(-1.0, 0.0); - result += mat4(-0.033942446, -0.031523492, 0.088098265, -0.20998281, -8.739418e-06, 0.176242, -0.0481297, 0.052109815, 0.081447944, -0.14213382, 0.277246, -0.11737086, -0.13384427, -0.0008667019, 0.14954486, 0.12667161) * go_0(-1.0, 1.0); - result += mat4(-0.19201736, 0.12778927, -0.038250033, -0.5468646, -0.0061836247, 0.18480751, 0.044333503, 0.26007488, -0.20757933, 0.19695, -0.29442382, -0.22411272, 0.004405764, -0.034501124, 0.057751704, -0.03413746) * go_0(0.0, -1.0); - result += mat4(0.24880652, 0.1541801, -0.012062207, -0.6005811, -0.14904043, 0.05525859, -0.10741317, 0.1890063, -0.035635296, 0.3005301, -0.2797406, 0.8594579, 0.07482009, -0.10378448, 0.08236929, -0.26407042) * go_0(0.0, 0.0); - result += mat4(0.0073660286, -0.26556304, -0.1433165, 0.25972745, 0.23314878, 0.027763477, -0.11621574, -0.21574795, 0.24350981, -0.006988954, -0.02177087, -0.13037811, -0.1166682, 0.17278492, 0.08241569, 0.51040107) * go_0(0.0, 1.0); - result += mat4(0.13853693, -0.06968601, 0.12298946, 0.017782336, 0.012372836, 0.027876694, -0.27880472, -0.18076333, -0.0397836, 0.2420896, 0.038473837, -0.1555481, 0.04083059, -0.073141545, 0.14184499, 0.30984175) * go_0(1.0, -1.0); - result += mat4(-0.3133015, -0.09274826, 0.13639203, 0.10206795, -0.08598331, 0.03450585, 0.19280651, -0.08538865, -0.008546558, -0.07174769, -0.20052853, -0.24860515, -0.1470964, -0.22390126, 0.07744998, -0.002739885) * go_0(1.0, 0.0); - result += mat4(-0.006748567, 0.07274748, 0.092211284, 0.14483126, -0.11027929, 0.1201977, -0.04872484, -0.16433857, 0.044397447, -0.21384367, 0.03269424, 0.10942982, 0.04403927, 0.010967787, -0.040405788, -0.03232669) * go_0(1.0, 1.0); - result += mat4(-0.008280273, 0.024787866, 0.037189875, 0.03429621, -0.14698292, 0.094748855, 0.11563344, -0.073624834, -0.029853089, 0.07087531, -0.05736988, 0.11237037, -0.04985742, 0.056539766, -0.020783758, 0.12329614) * go_1(-1.0, -1.0); - result += mat4(-0.03344095, -0.0073405057, 0.05190122, 0.12998703, -0.048184916, -0.13144512, 0.031402104, 0.43577522, 0.112474926, -0.08905257, 0.10081381, -0.014079196, 0.09510892, -0.03853581, -0.20324658, 0.1589196) * go_1(-1.0, 0.0); - result += mat4(0.034226835, -0.038741812, -0.020816153, -0.13061026, -0.020475632, -0.16419771, -0.0076826485, -0.04103266, -0.0056703947, 0.06705962, 0.026199229, -0.019306373, -0.0067688744, -0.07038936, -0.104216576, 0.12684165) * go_1(-1.0, 1.0); - result += mat4(-0.008213376, -0.10455055, 0.04212865, 0.05025464, -0.07784179, 0.018042147, -0.023232944, 0.25375158, -0.009442334, -0.07854094, -0.040824052, 0.09969908, -0.07734574, 0.010816756, -0.098997355, 0.22808696) * go_1(0.0, -1.0); - result += mat4(-0.09186444, -0.070967846, -0.18332118, -0.13047308, 0.07874793, 0.49928188, -0.19095366, -0.5786626, -0.076766655, 0.00328989, -0.027825667, -0.46311954, 0.18953162, 0.0067680115, -0.39336485, 0.21162145) * go_1(0.0, 0.0); - result += mat4(0.067058854, 0.097902276, 0.11048054, 0.08798107, 0.24173008, -0.09251265, 0.040146023, 0.051595293, -0.024550369, -0.054440435, 0.002777188, 0.10740609, 0.12708955, -0.1126051, 0.08698823, -0.22985286) * go_1(0.0, 1.0); - result += mat4(0.009401559, -0.00019733842, -0.0391449, 0.07650643, 0.117760375, -0.16319785, -0.042495195, -0.23318908, 0.024536118, 0.12618859, -0.011912352, 0.09087688, -0.2767169, -0.044689544, 0.18786801, -0.020456426) * go_1(1.0, -1.0); - result += mat4(-0.034666687, -0.037431296, -0.12936176, -0.20454895, -0.30241257, -0.019945377, 0.01616507, 0.13762684, 0.055600353, -0.01146059, -0.013451368, 0.16529311, 0.42141652, 0.17878959, -0.322346, -0.2869838) * go_1(1.0, 0.0); - result += mat4(0.00015858973, -0.026061518, 0.056444857, 0.0891557, 0.08452023, -0.118858494, 0.052117698, 0.10851732, -0.0738216, -0.021903642, 0.041175738, -0.0327392, 0.5465747, -0.22983976, -0.2643581, -0.41978332) * go_1(1.0, 1.0); - result += mat4(-0.071339466, 0.20363729, -0.12277878, -0.18987495, -0.076909326, 0.040142104, 0.19751047, 0.09099594, 0.05504884, 0.010637861, -0.07010218, 0.016844785, -0.0025642936, -0.07132042, -0.0058730873, 0.114345245) * go_2(-1.0, -1.0); - result += mat4(-0.12181514, 0.09113612, -0.011027632, 0.1210622, -0.11706013, 0.03866967, -0.3818603, 0.071857385, 0.10714353, 0.05537742, -0.44725725, 0.03664743, 0.13571225, -0.13654736, -0.05921695, -0.023738123) * go_2(-1.0, 0.0); - result += mat4(-0.023582853, 0.09176081, -0.021919282, -0.010129313, 0.031890567, -0.07508517, -0.08540747, 0.05653626, 0.05514676, -0.0798297, 0.18732204, -0.030211389, -0.10890019, -0.0084348805, -0.027744634, 0.08252744) * go_2(-1.0, 1.0); - result += mat4(0.46878332, 0.26391587, 0.1209319, 0.20555447, -0.14922385, 0.051061515, -0.098676264, -0.79184246, -0.013350073, -0.08962262, 0.13399342, 0.06365851, -0.14557728, -0.06463198, -0.08577713, 0.013490423) * go_2(0.0, -1.0); - result += mat4(0.09800499, 0.20487864, 0.04297167, -0.17064336, -0.18083592, 0.07161958, -0.25937584, 0.2956417, -0.06518691, -0.041915365, 0.2427435, -0.27577895, 0.042372942, 0.012740312, 0.1629995, -0.068871476) * go_2(0.0, 0.0); - result += mat4(-0.09425951, -0.0002062786, 0.23311934, -0.006410014, -0.12866448, 0.007478842, -0.033752777, 0.25421995, -0.083972536, 0.23449679, -0.010915457, 0.028103303, -0.034862384, -0.1672906, -0.018962707, -0.18321303) * go_2(0.0, 1.0); - result += mat4(0.07923952, -0.008543305, 0.034679245, -0.11071784, -0.18627429, 0.003675945, 0.0069275787, -0.044213627, -0.006995472, 0.048261233, -0.06831886, 0.08082691, 0.09143829, 0.016518226, -0.05343353, -0.059744157) * go_2(1.0, -1.0); - result += mat4(-0.068577155, 0.07070798, 0.012206329, 0.060340866, -0.15496197, -0.048976723, 0.1804755, 0.023005864, 0.10723597, -0.11200869, -0.09880576, 0.04989044, 0.022357088, -0.037169944, 0.07880648, 0.072531044) * go_2(1.0, 0.0); - result += mat4(0.18387286, 0.03215834, -0.14121926, -0.10857612, -0.052505493, 0.04517108, -0.011841349, 0.004303513, 0.106845826, 0.15006103, 0.08652394, 0.08490524, -0.061379727, 0.08679647, -0.040883318, 0.08898481) * go_2(1.0, 1.0); - result += mat4(-0.23395903, 0.14408536, 0.06144857, -0.6685949, 0.031935096, 0.12004766, 0.26079124, -0.029172074, -0.03897466, 0.15112093, -0.07277923, 0.03711819, 0.16760348, 0.0568828, -0.065560065, 0.00956802) * go_3(-1.0, -1.0); - result += mat4(-0.04025016, 0.1942882, 0.3924612, -0.04801865, -0.00043523984, 0.14166853, 0.07607167, 0.08827246, -0.013007562, 0.2740378, 0.17477411, -0.12968275, -0.049680926, -0.050259456, 0.45260057, -0.577762) * go_3(-1.0, 0.0); - result += mat4(0.14644562, 0.031796087, -0.09817545, 0.20418191, -0.0067933775, 0.056546275, -0.21122308, 0.0013088459, -0.01669626, -0.06921733, -0.036989935, -0.011311058, -0.13346042, 0.058525432, -0.20613761, 0.20606859) * go_3(-1.0, 1.0); - result += mat4(0.030689783, -0.044584632, -0.1423556, 0.46852973, 0.1544211, 0.09648401, -0.02908366, 0.20236433, -0.209728, 0.14151458, 0.043298278, -0.09896984, -0.010364637, 0.105616786, 0.015112407, 0.1621763) * go_3(0.0, -1.0); - result += mat4(0.26286677, -0.18297276, -0.008437637, 0.23164693, -0.17953826, 0.0068245744, 0.3154146, 0.013059944, 0.01976866, 0.23886378, -0.41287166, 0.5972539, -0.096666135, -0.041894518, 0.09390394, 0.21449414) * go_3(0.0, 0.0); - result += mat4(-0.10464677, 0.13162361, 0.15632801, -0.08477776, 0.019359391, 0.011527983, 0.1291731, -0.23251401, 0.12450163, -0.109221414, -0.15897743, -0.14652708, -0.20315395, -0.14564586, 0.020215273, -0.32138833) * go_3(0.0, 1.0); - result += mat4(0.0016461449, -0.019713728, 0.0021448475, 0.23474461, -0.023654517, 0.3125121, -0.14093982, 0.029511975, -0.06882552, -0.055134527, 0.08678149, 0.16168617, 0.056411985, -0.003294866, -0.086585745, -0.08039331) * go_3(1.0, -1.0); - result += mat4(0.025475128, -0.13736734, -0.23040788, -0.14943235, 0.105925016, 0.035434112, -0.3531705, -0.08996714, 0.16017611, 0.32583725, -0.0015653507, -0.20779954, 0.052627537, 0.15831038, -0.04017022, 0.17487001) * go_3(1.0, 0.0); - result += mat4(-0.02480846, -0.007830464, -0.0036758396, -0.23093869, 0.09558813, -0.114281885, 0.031678613, -0.009195237, 0.06701917, 0.22061102, -0.09497275, -0.049442247, 0.035844408, -0.0007537016, 0.022630664, -0.038742796) * go_3(1.0, 1.0); - result += mat4(0.041537244, -0.07261114, -0.04763458, 0.10301855, 0.17563294, -0.0015564843, -0.37491855, 0.98893, -0.033186004, 0.02857216, 0.08441547, -0.10630457, -0.0057512764, -0.072272584, 0.04433026, -0.03993334) * go_4(-1.0, -1.0); - result += mat4(0.045594532, -0.09183751, -0.07595133, -0.29140073, 0.14685835, -0.11706308, -0.1521791, -0.08122252, -0.16447383, -0.16774787, 0.031189548, -0.049414303, 0.11017621, -0.039800264, -0.026208388, 0.010578009) * go_4(-1.0, 0.0); - result += mat4(-0.008146379, 0.011186087, 0.06602373, 0.12634839, -0.15983777, 0.47099414, -0.45333612, 0.8108099, 0.060124353, -0.055181783, 0.060738478, -0.19588436, -0.058250163, 0.07546748, -0.12299866, 0.14861311) * go_4(-1.0, 1.0); - result += mat4(-0.061107293, 0.03472494, -0.02506493, -0.20965452, 0.06124681, -0.10108107, -0.016206535, 0.9110013, -0.1416294, 0.08154053, -0.031441186, 0.0186752, 0.0034352038, -0.07802204, 0.017881326, 0.08767849) * go_4(0.0, -1.0); - result += mat4(0.111084074, 0.15226965, 0.18580344, 0.2079405, -0.13621394, -1.091612, 0.61654764, -0.4794665, 0.06974509, -0.13632853, 0.075810306, 0.23651427, -0.13307844, -0.15254645, 0.3380616, -0.23381148) * go_4(0.0, 0.0); - result += mat4(-0.087361775, -0.18112153, -0.041845977, 0.06846624, -0.5374386, 0.0951175, -0.07031933, 0.6016942, 0.2098498, 0.14762096, -0.07894201, 0.018698592, 0.015885107, 0.08625943, -0.06305365, -0.09532374) * go_4(0.0, 1.0); - result += mat4(-0.00532194, 0.023428405, 0.009051187, -0.026698198, 0.24106956, -0.120294146, -0.17878368, 0.5585901, -0.09603226, -0.27434218, 0.061267257, -0.067599274, 0.11577519, -0.07198036, -0.063585244, -0.054138158) * go_4(1.0, -1.0); - result += mat4(-0.0037090166, 0.12307526, 0.0906306, 0.25897357, -0.056975186, -0.1644774, 0.29305506, 0.8245228, -0.1015189, 0.12243611, -0.04579446, 0.03619774, -0.13700119, -0.093857154, 0.11116371, 0.28709015) * go_4(1.0, 0.0); - result += mat4(-0.06580517, -0.0050515556, -0.020180127, -0.12627304, -0.5295511, 0.20198601, 0.07984717, 0.49923962, 0.053387187, -0.14329363, 0.0334398, 0.027427796, -0.06010418, 0.06905177, -0.05953624, -0.0062744734) * go_4(1.0, 1.0); - result += mat4(0.10157902, -0.04258438, -0.081592366, 0.10231988, -0.0011280937, -0.0029477119, 0.122473806, 0.058182172, -0.12809396, -0.0764063, -0.02463603, 0.090703174, 0.016098853, -0.05153951, -0.10675215, -0.02805221) * go_5(-1.0, -1.0); - result += mat4(-0.006401907, 0.03299347, 0.021813435, -0.13645992, 0.023382979, 0.010197056, 0.06242549, 0.12870488, 0.019453553, -0.2611006, 0.36471257, -0.15937614, -0.15930663, 0.05387499, 0.016597098, -0.08595697) * go_5(-1.0, 0.0); - result += mat4(-0.124307014, 0.12072375, -0.0152935125, 0.11888215, -0.002845999, 0.06499965, -0.06901064, -0.03703204, -0.029126361, -0.0076392456, -0.060736757, 0.129555, 0.11537912, 0.116019435, 0.010435708, -0.028468154) * go_5(-1.0, 1.0); - result += mat4(-0.30459714, -0.17632067, -0.011205797, -0.221887, 0.10605666, -0.13572265, -0.46315852, 0.04301515, -0.13903672, 0.06458765, 0.06137365, -0.07876008, 0.094751015, -0.14028335, 0.116963856, -0.08032087) * go_5(0.0, -1.0); - result += mat4(-0.06367799, 0.02582219, 0.014640189, 0.18990557, -0.06407629, -0.32271802, 0.1840523, -0.19602421, 0.3909874, -0.36456084, 0.18965109, 0.7528314, 0.012954545, -0.15343507, -0.22583503, 0.25706828) * go_5(0.0, 0.0); - result += mat4(0.1301731, 0.058515985, 0.033280328, -0.24190922, -0.040143438, 0.058877766, 0.0054545617, 0.087361515, 0.27292597, -0.40958795, 0.026887156, -0.31366885, -0.0043431865, 0.12750955, -0.07194776, 0.065983064) * go_5(0.0, 1.0); - result += mat4(0.035723373, -0.095498726, 0.0782959, 0.15071936, -0.023301449, -0.05924046, 0.06547244, -0.10660772, -0.030093014, 0.07851236, -0.011449212, 0.047922783, -0.015065303, 0.03087975, -0.00836779, 0.09950588) * go_5(1.0, -1.0); - result += mat4(0.14543498, -0.117947996, -0.03933479, 0.004552818, -0.13139006, -0.122988954, -0.22851296, -0.13614058, -0.065790504, 0.18083169, 0.009247789, 0.11099354, -0.09211226, -0.16174947, -0.030774815, -0.087108776) * go_5(1.0, 0.0); - result += mat4(-0.03276944, 0.066936366, -0.0058282167, 0.036148816, -0.112155296, 0.00018165805, 0.1121539, 0.19087985, 0.19124067, -0.17718928, -0.218951, -0.27710462, 0.055448502, -0.14703886, -0.02985939, -0.13152236) * go_5(1.0, 1.0); - result += vec4(0.023773972, -0.01610134, -0.0063477294, 0.03926911); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.070009954, 0.021454038, -0.11847886, -0.13528088, -0.018916288, -0.007984584, -0.24044524, 0.19681533, -0.2256282, 0.062132522, 0.09804443, 0.1609667, -0.1681184, -0.2739988, 0.9826367, -0.7047149) * go_0(-1.0, -1.0); - result += mat4(0.15299161, 0.031075276, 0.3363494, 0.21731544, 0.16975908, -0.13952748, 0.2240078, -0.05287144, -0.10947391, -0.28058887, 0.1602415, -0.05242933, -0.012824572, 0.44019148, 0.183011, 0.22124447) * go_0(-1.0, 0.0); - result += mat4(-0.1933171, 0.010807793, 0.09619794, -0.11506685, -0.021847002, -0.032412205, -0.0695289, -0.36532974, -0.3062084, 0.23712663, -0.103008516, -0.1459631, -0.3775901, -0.15065736, 0.50798917, -0.319278) * go_0(-1.0, 1.0); - result += mat4(-0.035294224, -0.18208614, -0.07670704, 0.19304472, -0.031985164, 0.1892136, 0.25703606, -0.13320692, 0.15069315, -0.15903461, 0.09562073, 0.62043756, -0.23541127, -0.40577292, 1.0787953, -1.2457207) * go_0(0.0, -1.0); - result += mat4(0.026066521, -0.123162605, -0.44671676, -0.2474968, -0.15022507, 0.14640577, -0.16684136, -0.17727603, -0.10631298, -0.00019539552, -0.14931045, 0.513359, -0.14604786, 0.2310633, 0.7307062, 0.9524847) * go_0(0.0, 0.0); - result += mat4(-0.01440516, -0.029865097, -0.21874285, -0.08972308, -0.041655123, -0.31896067, -0.08689541, -0.44401455, 0.19876169, 0.28722167, 0.2994054, -0.11819685, -0.21186438, 0.09155155, -0.053684887, 0.06309117) * go_0(0.0, 1.0); - result += mat4(0.38075218, -0.043483753, -0.06272146, -0.3508819, -0.028731659, 0.11677864, 0.30532238, -0.1361271, 0.027849868, 0.26058978, -0.22731794, -0.31844667, -0.14439595, -0.43144438, 0.22429988, -0.8116798) * go_0(1.0, -1.0); - result += mat4(0.2698316, 0.10916783, 0.22091974, 0.25939828, -0.39838716, -0.56674814, -0.0027586184, 0.3153625, 0.02299242, -0.09457763, -0.18344624, -0.26338023, 0.808161, 0.42487702, -0.08384813, 0.2537601) * go_0(1.0, 0.0); - result += mat4(0.0016191471, -0.017978113, 0.07647931, 0.09275741, 0.047083963, -0.16048019, -0.35436496, -0.11364046, 0.14129135, -0.22842133, 0.2055642, -0.2851008, -0.26163805, 0.25209108, -0.07687645, 0.17382248) * go_0(1.0, 1.0); - result += mat4(-0.17505698, 0.050314635, 0.22755234, 0.08223936, 0.5061073, -0.03928098, -0.04852723, -0.2080106, -0.23748071, -0.11158337, -0.1185882, 0.25914934, -0.12613636, -0.14749174, -0.01269258, -0.029624067) * go_1(-1.0, -1.0); - result += mat4(0.10377744, -0.05466698, 0.078872405, 0.13041748, 0.3035502, 0.008530016, -0.0073189647, 0.08329345, -0.6060871, -0.16662528, -0.30371985, -0.2702, 0.61287826, 0.1879884, -0.35137656, 0.059505742) * go_1(-1.0, 0.0); - result += mat4(0.4154466, 0.027697539, -0.20323761, 0.053415433, -0.068815745, -0.08202049, -0.0044402266, -0.15027983, -0.20020244, 0.07059659, -0.41572148, -0.1883762, 0.4808424, 0.17841879, 0.34741637, -0.16586983) * go_1(-1.0, 1.0); - result += mat4(-0.49572352, 0.18716958, -0.11335317, -0.04769748, -0.10330109, -0.19025627, 0.041789476, -0.029715253, 0.41650102, -0.21882975, 0.00034815544, -0.14541556, -0.36252424, 0.08366534, -0.3358562, 0.14622436) * go_1(0.0, -1.0); - result += mat4(-0.61609584, 0.27124375, -0.19046734, -0.11064285, 0.07314146, -0.06847904, -0.10895851, -0.25303125, -0.31509212, -0.061137207, 0.77079886, 0.09762246, -0.12127141, 0.5360138, -0.10778708, -0.26520404) * go_1(0.0, 0.0); - result += mat4(0.14356199, -0.33016726, -0.10193467, 0.11632038, -0.2102557, -0.09183232, -0.05608626, 0.1077268, 0.42815325, -0.12325146, 0.07102939, 0.33383858, 0.2685298, -0.30266166, -0.14468539, 0.25896597) * go_1(0.0, 1.0); - result += mat4(0.24143316, -0.25761056, 0.10797443, -0.09529745, -0.2713075, -0.13745351, 0.35335636, 0.18980181, 0.1497739, 0.2171633, 0.061957028, 0.06298818, -0.5021309, 0.23157999, 0.33820194, -0.31056333) * go_1(1.0, -1.0); - result += mat4(0.5320622, -0.19934873, 0.23535317, 0.31637898, -0.22363397, 0.08788032, -0.39178285, -0.008990902, -0.123608015, -0.19913444, -0.057655413, 0.14251189, -0.10986118, 0.2881711, 0.17117414, 0.192134) * go_1(1.0, 0.0); - result += mat4(-0.17839171, -0.073765226, -0.008635483, -0.060226154, 0.06017481, -0.13104144, 0.12686783, 0.032242585, 0.2530974, -0.16110623, -0.063553855, 0.037782427, -0.16940302, 0.12327486, -0.26592708, -0.6268989) * go_1(1.0, 1.0); - result += mat4(-0.02958415, 0.17974854, -0.05410245, 0.33944428, -0.09253551, 0.07514051, 0.13740923, -0.28058362, -0.02765559, -0.11831436, -0.043005154, -0.11904006, 0.16704343, 0.04189509, -0.10330082, 0.1880131) * go_2(-1.0, -1.0); - result += mat4(-0.37475482, -0.01700356, -0.24596426, -0.4922382, -0.19088304, -0.016197044, -0.12311331, -0.036154404, 0.2840147, 0.118689395, -0.12786976, -0.2880571, -0.11529499, -0.1782456, -0.033142284, 0.13284667) * go_2(-1.0, 0.0); - result += mat4(0.19109744, -0.022636034, -0.20981206, -0.13425744, 0.06719846, -0.007916905, 0.03267867, 0.2379371, 0.14225921, -0.34617522, -0.05871524, 0.16368906, -0.11616345, 0.11237658, -0.045261133, -0.11723488) * go_2(-1.0, 1.0); - result += mat4(-0.08670845, 0.26602617, 0.44096178, -0.51279294, -0.056755852, -0.12593001, -0.33269683, 0.20696445, 0.1559452, 0.07681006, -0.09779268, -0.688887, 0.21316779, 0.17372929, -0.08544234, 0.07616171) * go_2(0.0, -1.0); - result += mat4(0.17020908, -0.12088683, 0.1419015, 0.12911774, -0.15688238, -0.28298134, -0.11700167, 0.19899802, -0.07609943, -0.029896088, -0.0050638276, -0.38834035, -0.08416907, 0.031337228, -0.28374615, -0.14694452) * go_2(0.0, 0.0); - result += mat4(0.06929038, -0.047811467, 0.117096715, 0.12538622, 0.08086667, 0.24495961, 0.3155886, 0.104587935, -0.01886312, -0.34588912, -0.27327782, -0.04555734, 0.23255315, -0.108082674, -0.13707769, -0.05873641) * go_2(0.0, 1.0); - result += mat4(0.00902887, 0.14967729, 0.32326877, 0.37786308, 0.086763926, 0.07875129, 0.018687664, -0.23617996, 0.10713405, -0.32334656, 0.03548578, 0.48193508, 0.16891663, 0.06672513, 0.015739288, 0.11815199) * go_2(1.0, -1.0); - result += mat4(-0.056735244, -0.12874928, -0.1966798, -0.006730039, -0.19457163, 0.5460189, -0.33285704, -0.16783655, -0.110312894, 0.26006797, 0.39838836, 0.04828549, -0.35588023, -0.046225607, 0.1470969, -0.03958509) * go_2(1.0, 0.0); - result += mat4(-0.040117856, -0.12115325, -0.09573767, -0.20720899, -0.31765452, 0.17502289, 0.32475054, -0.037348557, -0.6297341, 0.31640062, 0.13060059, 0.38800913, 0.022872448, -0.24634287, 0.078089714, -0.06475687) * go_2(1.0, 1.0); - result += mat4(0.091850154, 0.07503415, -0.029450072, 0.063198596, -0.48778293, 0.008516766, -0.011320089, 0.16324575, 0.25261796, -0.17494957, 0.05179325, -0.38840756, -0.0009285451, 0.23772798, -0.041317377, -0.2321146) * go_3(-1.0, -1.0); - result += mat4(-0.14229155, -0.0363765, -0.2688432, -0.050601564, -0.34335235, 0.06305365, 0.13397686, 0.080726914, 0.7566556, -0.13657099, 0.5557799, 0.32687777, -0.48564702, -0.2650894, -0.12913369, -0.120667666) * go_3(-1.0, 0.0); - result += mat4(-0.46836203, -0.0053843935, 0.121539764, 0.1515464, -0.08852458, 0.0457093, 0.17343567, 0.28838184, 0.1487209, -0.16409159, 0.36763063, 0.32707927, -0.6642105, -0.07492801, -0.10795077, 0.022325262) * go_3(-1.0, 1.0); - result += mat4(0.57899827, -0.13887906, -0.0097093545, 0.16584128, 0.02580304, 0.029060904, -0.07870976, 0.08426836, -0.49014091, -0.059810862, 0.07537706, 0.19709098, 0.50265956, -0.1979507, 0.04224913, 0.24166693) * go_3(0.0, -1.0); - result += mat4(0.5854048, -0.30505064, 0.11956023, 0.42225972, 0.23776995, -0.15392427, -0.24818493, -0.008560312, 0.14061272, -0.24819212, -0.43060255, 0.041263513, 0.1102007, -0.35617712, 0.11143811, -0.12615411) * go_3(0.0, 0.0); - result += mat4(0.038254753, 0.25506422, -0.04199388, 0.049952004, 0.09660053, -0.102070555, 0.03463346, 0.41572338, -0.8515757, -0.099683315, 0.41168302, -0.28354573, -0.033608474, 0.20575888, -0.09237519, 0.1317394) * go_3(0.0, 1.0); - result += mat4(-0.36307448, 0.21091977, -0.05185984, 0.23907793, 0.028207673, -0.03712817, -0.14677319, 0.012790144, -0.10698613, -0.10369875, 0.04410704, 0.24705076, 0.6489292, -0.32338777, -0.13414769, 0.06621839) * go_3(1.0, -1.0); - result += mat4(-0.75373167, 0.09019827, -0.17284726, -0.12543003, 0.27073398, -0.2086718, 0.27785063, -0.13103813, 0.02331414, 0.08186754, -0.20196521, 0.051684897, -0.06606664, -0.31958562, -0.21315438, 0.125855) * go_3(1.0, 0.0); - result += mat4(-0.038064726, 0.16583198, 0.32122764, 0.035743285, 0.12363822, 0.1127362, -0.14712748, -0.085392915, -0.24138255, 0.044777665, -0.05044951, -0.033647526, 0.030597545, 0.09082426, 0.2265798, 0.4736122) * go_3(1.0, 1.0); - result += mat4(0.1126977, -0.20046005, -0.25496894, 0.124036126, 0.10974965, 0.11985285, 0.084138885, 0.18124366, -0.07204373, 0.0064274063, -0.04832383, 0.08851591, 0.16612647, 0.03482884, -0.18090217, 0.047765564) * go_4(-1.0, -1.0); - result += mat4(-0.07905303, -0.18953685, -0.0394631, 0.3865751, -0.09878195, 0.0971415, -0.028516496, -0.028853778, 0.14474897, -0.09137614, 0.09731305, 0.40169916, 0.15572307, 0.1500765, -0.00012203158, 0.0064038946) * go_4(-1.0, 0.0); - result += mat4(-0.003821752, -0.06385342, 0.0072888564, -0.083775744, -0.060851365, 0.057136264, 0.04280462, -0.021202056, -0.048534214, -0.18506972, -0.12204474, 0.5779176, -0.04827323, -0.08722066, -0.07115785, 0.05368898) * go_4(-1.0, 1.0); - result += mat4(-0.2330202, -0.06303653, 0.29030174, 0.030189004, -0.33963275, 0.18114606, 0.29463735, 0.11328755, 0.07963053, 0.0031095785, -0.29962993, 0.28251857, -0.11494044, -0.0057895523, 0.14319211, -0.2488439) * go_4(0.0, -1.0); - result += mat4(-0.23654912, 0.22379474, 0.3198649, 0.056066927, 0.030691607, -0.07961141, -0.03144492, -0.088082604, 0.6778628, 0.132889, -0.055798188, -0.06978169, 0.12096563, -0.32717404, 0.09106718, -0.36815766) * go_4(0.0, 0.0); - result += mat4(-0.023105778, -0.06328445, -0.19508956, 0.03861484, 0.012225362, 0.19229671, 0.116407454, 0.14414418, 0.35368624, -0.024074793, 0.3326615, 0.27431, 0.09195309, -0.07196982, 0.04215389, -0.3849532) * go_4(0.0, 1.0); - result += mat4(0.07858679, -0.09443359, -0.29571265, -0.1362178, 0.0996039, 0.11245977, 0.027077818, -0.08518728, 0.33179262, 0.049214616, -0.05736423, 0.36015186, 0.15525928, -0.038635023, -0.39069554, 0.34784096) * go_4(1.0, -1.0); - result += mat4(0.058750402, -0.10020396, -0.07721487, -0.17439356, 0.16671538, 0.13477819, 0.16946232, -0.025819335, 0.34714434, -0.010198532, 0.11025432, -0.38616708, 0.12990142, 0.23817861, -0.019366616, 0.028044654) * go_4(1.0, 0.0); - result += mat4(0.14006312, 0.10630536, -0.2260768, 0.05714687, 0.092723176, 0.09547309, -0.0389109, 0.07675646, 0.058345646, -0.042954672, 0.06104659, -0.4122757, 0.16417535, 0.0037746713, -0.18294196, 0.30190903) * go_4(1.0, 1.0); - result += mat4(0.057622287, -0.035229363, -0.06553031, 0.10031876, -0.19319145, -0.048806723, -0.007425805, 0.019005304, 0.003586262, 0.016717708, 0.060107335, -0.06216915, 0.049704567, -0.05240107, 0.25620982, -0.31595117) * go_5(-1.0, -1.0); - result += mat4(-0.18573885, -0.111477345, -0.09373111, -0.21040887, 0.11643646, 0.07510521, -0.32174352, -0.15092906, 0.12905258, -0.027009318, -0.002743646, -0.041563954, 0.020309664, -0.034647387, 0.31882894, -0.37069848) * go_5(-1.0, 0.0); - result += mat4(0.17867199, -0.00943737, -0.010177444, -0.21181585, 0.104042746, 0.014474994, 0.018701844, 0.026212798, 0.03658747, 0.043956183, 0.043650407, 0.085389875, -0.014945577, -0.01762919, 0.182654, -0.22317432) * go_5(-1.0, 1.0); - result += mat4(-0.120912515, -0.039224375, -0.037017174, -0.23653193, -0.1008845, 0.028399386, -0.044548668, -0.45636034, -0.16566889, 0.013642447, 0.0137368515, -0.03482613, 0.13369492, -0.06382037, 0.22479321, -0.23690398) * go_5(0.0, -1.0); - result += mat4(-0.4373671, -0.23222357, -0.21916443, 0.3293385, 0.028744029, 0.15837203, 0.023399707, 0.10409895, -0.41181034, 0.043568164, -0.009273385, 0.21109276, 0.16801079, 0.030154167, -0.009720421, -0.18788648) * go_5(0.0, 0.0); - result += mat4(-0.072376475, -0.02011798, -0.10647262, 0.020971974, -0.2182798, 0.11682645, -0.087513156, -0.13088813, -0.008121755, 0.0039800145, 0.038333565, -0.11610967, 0.027469315, -0.056020927, 0.15623987, -0.056618977) * go_5(0.0, 1.0); - result += mat4(-0.13373947, -0.033171114, 0.06283731, -0.08029521, -0.24974878, -0.03945939, 0.034578755, -0.1890085, -0.027030889, 0.0749198, -0.016240204, 0.03943091, 0.030432291, -0.044505976, 0.19445403, -0.49589068) * go_5(1.0, -1.0); - result += mat4(-0.1509842, -0.0070381155, 0.012917948, 0.17059498, 0.029610088, -0.10878063, -0.008113074, 0.056289833, -0.054603256, 0.09829515, 0.03806881, 0.17829162, -0.0015822726, -0.08691946, 0.20231368, -0.19972196) * go_5(1.0, 0.0); - result += mat4(0.029532772, 0.07929085, -0.11437378, 0.19494608, 0.032031387, -0.028734982, -0.1297608, 0.137159, -0.022271536, 0.09515793, -0.078155525, 0.23037949, -0.04492241, 0.0027398348, 0.13030772, -0.3092417) * go_5(1.0, 1.0); - result += mat4(-0.20163082, 0.10821193, -0.008131394, 0.23895654, -0.088109724, 0.027591089, -0.06744196, -0.16356489, 0.14405222, -0.03198801, -0.035864875, -0.1109604, -0.20993288, 0.006086241, 0.17663592, -0.15123697) * go_6(-1.0, -1.0); - result += mat4(0.15604545, 0.0863649, -0.17487015, -0.046291944, -0.06473543, -0.046659626, -0.06383705, 0.20159698, 0.14458497, 0.043557648, -0.16473973, 0.27218005, 0.11444152, -0.17841269, 0.0213813, -0.09379467) * go_6(-1.0, 0.0); - result += mat4(-0.09508709, 0.062292904, -0.025705643, -0.046973627, 0.035843458, -0.020717923, 0.0016703135, -0.120141126, -0.07056921, 0.0071509765, 0.0033964573, 0.15667385, 0.001521539, 0.02383701, 0.11906247, 0.015913757) * go_6(-1.0, 1.0); - result += mat4(-0.023991859, 0.057200454, -0.27439624, 0.23484877, 0.27387905, -0.027218517, -0.043888092, -0.103732556, -0.0017815046, -0.04338658, 0.028682018, -0.029997526, 0.09857438, -0.099476606, -0.2005576, 0.21962215) * go_6(0.0, -1.0); - result += mat4(0.17833887, 0.036116857, -0.17426641, -0.3021426, -0.08815194, 0.09120692, -0.09277666, 0.31938124, -0.12322653, 0.07583539, 0.40784645, -0.2529727, 0.060947243, 0.29199588, -0.09663916, -0.0887749) * go_6(0.0, 0.0); - result += mat4(0.12118307, 0.072123915, 0.032619722, -0.14627928, -0.17117277, -0.20412678, 0.10590516, -0.120998636, -0.09727269, 0.10894508, 0.08592984, -0.091238625, 0.19324283, -0.21001537, -0.28439295, 0.55045736) * go_6(0.0, 1.0); - result += mat4(0.012281795, 0.081385076, 0.11878277, 0.0492705, 0.044748496, 0.023902494, 0.048969056, -0.020066973, 0.008425134, -0.039190397, -0.23549677, 0.16787378, -0.08247198, -0.09669504, 0.2364321, -0.15428442) * go_6(1.0, -1.0); - result += mat4(-0.06404987, 0.0792038, 0.0879481, 0.2292919, -0.037722748, -0.06653894, 0.014114178, 0.06494269, -0.08017585, -0.03293329, 0.08816353, -0.1719619, -0.033170886, -0.13535172, -0.15126792, -0.028171781) * go_6(1.0, 0.0); - result += mat4(-0.0939603, -0.04363446, 0.21171579, 0.08820829, -0.15083222, 0.03214101, 0.09666204, 0.07437523, 0.21149153, 0.08965673, -0.2026921, 0.45489082, -0.12321808, 0.020059932, 0.22567947, -0.1652867) * go_6(1.0, 1.0); - result += mat4(0.058340825, -0.009565485, -0.04712614, -0.011693445, 0.109775394, 0.1345538, -0.14835285, -0.03637253, -0.045945812, 0.057066254, 0.0012826056, 0.17587218, -0.05606375, 0.039724518, 0.14448565, -0.06710324) * go_7(-1.0, -1.0); - result += mat4(-0.03129011, -0.09362061, -0.1680952, 0.42509457, -0.05798844, 0.07895778, -0.00010777998, -0.004981966, 0.015770718, 0.039250076, -0.016780263, -0.018409397, 0.013635053, 0.046897493, 0.10643381, -0.19698535) * go_7(-1.0, 0.0); - result += mat4(-0.17554706, -0.058096908, -0.11011958, 0.028699566, -0.09768116, 0.09436239, 0.096591026, -0.0271704, 0.083061986, 0.035011213, 0.018580453, -0.13121471, -0.008538906, 0.007896264, 0.16126987, -0.23193283) * go_7(-1.0, 1.0); - result += mat4(-0.15810363, -0.13618536, 0.14263584, -0.20569824, -0.026839454, 0.11919806, -0.014142015, 0.099571005, -0.22521633, 0.08088796, 0.004038379, 0.1033703, 0.044606976, 0.0591929, 0.13262387, -0.101969674) * go_7(0.0, -1.0); - result += mat4(0.023098622, 0.0056320266, -0.048355665, 0.15577006, -0.62205386, -0.028400926, -0.2078418, -0.21066222, -0.15307198, -0.22209099, -0.23168832, 0.20184901, -0.015974384, -0.047552537, -0.002478177, 0.042329706) * go_7(0.0, 0.0); - result += mat4(-0.13832586, 0.121770665, 0.09548324, -0.011305353, 0.08170726, 0.038764317, 0.13168605, -0.4840011, -0.016078193, 0.042103536, -0.07127359, 0.07069598, -0.077047385, 0.062384266, 0.04216962, -0.28733572) * go_7(0.0, 1.0); - result += mat4(0.0047042207, -0.005170153, -0.060513787, 0.24502122, 0.15005493, 0.19491407, -0.20482984, 0.028262774, -0.27250344, -0.018161086, -0.063804634, 0.2234186, -0.0013560655, 0.0017168024, 0.031621188, -0.039464153) * go_7(1.0, -1.0); - result += mat4(-0.017963814, 0.020721428, -0.11342004, 0.13301808, 0.0057044607, 0.16854525, 0.0016813589, 0.263098, -0.19456023, -0.006512073, 0.27316168, 0.113714844, -0.05583268, 0.049267832, 0.1909614, -0.028266707) * go_7(1.0, 0.0); - result += mat4(-0.09178215, -0.04123267, 0.019224923, -0.021475106, -0.03738984, 0.091329075, -0.11633343, 0.00926425, 0.055472236, -0.029774308, 0.10396517, -0.1399692, -0.08381618, 0.010906619, 0.13378097, -0.15872277) * go_7(1.0, 1.0); - result += vec4(0.06153431, -0.030526869, 0.17697038, -0.06977153); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.39232063, -0.31443354, 0.016747609, -0.19821034, -0.11440283, -0.108339086, 0.09855654, 0.09687135, -0.15667859, -0.30788472, -0.057983518, -0.30048364, -0.5892024, -0.03315241, 0.036535796, 0.042668976) * go_0(-1.0, -1.0); - result += mat4(-0.12170337, -0.31539497, -0.0080226185, -0.28167912, -0.026236918, 0.26168135, -0.086754136, 0.07140889, -0.11411177, 0.15551405, -0.04641522, 0.046217185, 0.080186784, -0.0001861396, -0.5990683, -0.24228567) * go_0(-1.0, 0.0); - result += mat4(0.0850365, -0.10327682, -0.1407833, 0.15661862, -0.1448079, -0.2993967, 0.08681482, 0.00483843, 0.18711449, 0.12147834, 0.114697695, -0.015375287, -0.39649305, -0.22024211, -0.08587565, -0.002201199) * go_0(-1.0, 1.0); - result += mat4(0.30565795, -0.3130614, 0.15354335, -0.21783416, -0.3877839, 0.003429585, -0.21440028, -0.024295159, 0.35766846, 0.02559725, -0.120454274, -0.10827954, -0.3355037, 0.6561727, -0.065990135, 0.30999345) * go_0(0.0, -1.0); - result += mat4(0.46554184, 0.43995824, 0.25583804, 0.20159459, 0.03730261, -0.15794723, 0.16795531, 0.11421282, 0.17099904, -0.22430302, 0.072461665, -0.06345064, 0.36006132, 0.47494593, -0.18869492, -0.04085313) * go_0(0.0, 0.0); - result += mat4(0.27438906, 0.00022448118, 0.099661484, 0.1397181, 0.12914467, -0.102830835, 0.045909263, -0.07967794, 0.2870382, 0.055183165, -0.031485636, 0.029727582, 0.37630266, 0.9301813, 0.28615892, 0.122112595) * go_0(0.0, 1.0); - result += mat4(-0.15251397, 0.09909433, -0.17192633, 0.0061163795, 0.06472459, -0.04261906, -0.13661696, -0.077453144, -0.7501463, 0.017666366, 0.16321932, 0.043644384, -0.05170323, 0.46000114, 0.32755983, 0.28597534) * go_0(1.0, -1.0); - result += mat4(-0.48834783, -0.038160775, -0.08875091, 0.04970968, 0.4627543, 0.03755849, 0.2540123, -0.21826492, -0.38032553, 0.32484698, -0.008446612, 0.23523396, 0.02375393, 0.27418464, -0.28132874, 0.15265541) * go_0(1.0, 0.0); - result += mat4(0.13747992, 0.11715287, 0.13201898, 0.0015658925, -0.2934619, -0.39777488, -0.07560646, -0.10565406, -0.04838937, 0.08350108, -0.019061742, 0.16467288, -0.05936286, -0.015435401, 0.4184143, 0.10496155) * go_0(1.0, 1.0); - result += mat4(-0.3240166, 0.08215981, -0.2075559, 0.19689886, 0.11150226, 0.06310339, -0.13621064, -0.15570635, 0.33679137, 0.04409631, -0.28714085, 0.031056935, 0.6626613, -0.08051886, 0.1722458, -0.22435535) * go_1(-1.0, -1.0); - result += mat4(0.24195263, -0.04580777, -0.4145571, -0.1574205, -0.042835433, 0.03784082, -0.026375433, 0.35892, 0.15977724, 0.0630263, -0.088371195, 0.02971135, 0.25729623, -0.15589325, 0.14479266, -0.05088765) * go_1(-1.0, 0.0); - result += mat4(0.48559383, -0.25281984, 0.36621982, -0.21811092, -0.32971957, -0.035721473, 0.019352507, -0.06045977, 0.2761817, 0.19758923, 0.089941375, 0.041624714, -0.041388534, 0.16949178, 0.031209668, -0.064278066) * go_1(-1.0, 1.0); - result += mat4(-0.32959136, 0.5905178, -0.121284775, 0.004792909, 0.23675677, -0.020328185, 0.13438764, 0.24885756, -0.17519131, 0.13370351, -0.1229379, 0.048159435, 0.17464967, -0.42540422, -0.13947602, 0.22700138) * go_1(0.0, -1.0); - result += mat4(-0.33010545, 0.31171462, 0.405461, -0.19268602, -0.19920933, -0.05938957, 0.0026099307, -0.24588005, -0.80367726, 0.67246026, -0.2002546, 0.06855837, -0.21781918, 0.74446076, -0.5982218, 0.2985812) * go_1(0.0, 0.0); - result += mat4(0.5674039, -0.4777194, -0.13907014, 0.12356176, -0.2920615, 0.0718882, 0.17865288, 0.20312083, -0.27032906, -0.34635755, 0.16373387, 0.03063499, -0.19903831, -0.19363025, 0.10843769, -0.26495013) * go_1(0.0, 1.0); - result += mat4(-0.17949842, -0.29433724, -0.23462017, 0.09636558, 0.20076938, -0.24068621, -0.056744654, 0.10993452, 0.04466387, -0.2755299, -0.13640761, -0.024520185, -0.46797183, 0.367952, 0.11696459, 0.22428559) * go_1(1.0, -1.0); - result += mat4(-0.011885658, 0.0891566, -0.037328225, 0.121865466, 0.048127756, 0.19165848, 0.031010484, -0.059921212, -0.21560976, -0.1529375, 0.12882216, 0.026642917, -0.11849831, 0.1641988, -0.06821976, 0.038913097) * go_1(1.0, 0.0); - result += mat4(0.014311083, 0.0046286825, 0.03766498, 0.030933104, 0.3158337, 0.014788744, -0.25061515, 0.3439588, 0.3746984, 0.011211178, 0.06807453, -0.14517218, -0.08588519, -0.44777295, -0.14026845, -0.112901196) * go_1(1.0, 1.0); - result += mat4(0.30676752, 0.22429968, 0.010868903, 0.19810227, 0.07854048, 0.0401537, -0.21871732, 0.024473034, 0.0754844, 0.21695364, 0.015986437, 0.32385147, -0.049408115, -0.0382484, -0.109464966, -0.17461152) * go_2(-1.0, -1.0); - result += mat4(-0.08928476, 0.16673279, 0.04767194, 0.09194907, 0.048144393, 0.10040854, 0.34817588, 0.038137782, 0.036133062, -0.037641533, 0.28543243, -0.2839514, -0.11791945, -0.19487488, -0.11268661, 0.05276339) * go_2(-1.0, 0.0); - result += mat4(-0.16383977, -0.31993598, 0.05208131, -0.0903597, 0.11033569, -0.0088908225, -0.054778915, -0.08319848, -0.06639396, -0.24900046, -0.2512979, -0.0019553688, -0.048192777, 0.03562768, 0.047395132, -0.05525853) * go_2(-1.0, 1.0); - result += mat4(-0.7830732, -0.4262562, -0.2673563, 0.13023588, 0.31384844, 0.1693089, 0.048528794, 0.15604164, -0.39588538, -0.08493865, 0.3310555, 0.08203675, -0.066885136, -0.0058401288, -0.17974985, -0.16163951) * go_2(0.0, -1.0); - result += mat4(-0.6983336, -0.59333223, -0.20371103, -0.3932194, 0.10534863, 0.04589214, -0.12699358, -0.15107739, -0.43941692, 0.13968801, -0.1860207, 0.25864246, -0.31358764, 0.02336987, -0.114363804, -0.2314969) * go_2(0.0, 0.0); - result += mat4(-0.13214386, 0.2762571, -0.07932436, -0.011312506, -0.1585973, -0.01644935, 0.0013558406, 0.073481865, -0.38878354, -0.008272082, -0.010028009, -0.12177282, -0.19708647, -0.20147185, -0.009344351, -0.039000046) * go_2(0.0, 1.0); - result += mat4(0.36948234, -0.027262207, 0.073340006, -0.11237642, -0.014205325, -0.033619095, 0.090520136, 0.044478547, 0.89536375, -0.25342697, 0.06966775, -0.25697634, 0.44092584, -0.02181121, -0.23286918, -0.16207126) * go_2(1.0, -1.0); - result += mat4(0.5282722, 0.2186328, -0.06594115, -0.005403383, -0.9999943, 0.1652842, -0.40371686, 0.045263674, 0.48378405, 0.5981784, -0.8636207, 0.48454443, 0.61362064, 0.40381622, -0.20037466, -0.35095415) * go_2(1.0, 0.0); - result += mat4(-0.15710682, -0.082183905, 0.025527366, -0.06832543, 0.45136708, 0.28492203, 0.21369967, -0.1544125, -0.21440476, 0.2747644, -0.07809032, -0.05409878, -0.09492401, -0.0042038485, -0.08335747, -0.1286338) * go_2(1.0, 1.0); - result += mat4(0.092377424, -0.29580644, 0.037406705, -0.057557207, -0.068813734, 0.025797142, 0.005817593, 0.13936609, -0.5533757, -0.0055351052, 0.3490144, -0.10275609, -0.3246664, -0.22240998, -0.06546209, 0.04502687) * go_3(-1.0, -1.0); - result += mat4(-0.040512305, -0.15789752, 0.3350875, 0.3248354, 0.11479105, 0.072781734, 0.11961662, 0.009017058, -0.7485467, -0.2354417, -0.18182847, -0.39436963, -0.21553181, 0.06693962, -0.10265758, -0.101919465) * go_3(-1.0, 0.0); - result += mat4(-0.29808417, 0.16832493, -0.36638075, -0.003277357, 0.30853003, -0.11783712, -0.04467285, 0.09799486, -0.29557002, -0.051879432, -0.10781173, -0.012533523, 0.13472205, 0.0886817, -0.095418304, 0.20694672) * go_3(-1.0, 1.0); - result += mat4(0.54963315, -0.51755005, -0.11815116, 0.44336796, -0.26965025, 0.063990854, -0.06830417, -0.22906917, 0.15537436, -0.12382655, 0.040594, 0.13573219, -0.32865304, -0.051071506, 0.07789849, -0.17451958) * go_3(0.0, -1.0); - result += mat4(0.108385645, 0.19099213, -0.13721561, -0.10001342, 0.36975056, -0.15690732, -0.011564509, -0.4645765, 0.9664348, -0.4172701, -0.12434381, -0.20082358, 0.025960991, -0.07957984, 0.06240927, 0.06882944) * go_3(0.0, 0.0); - result += mat4(-0.55891496, 0.5313842, -0.0052928664, -0.31153533, 0.27312106, 0.11299291, -0.20902458, -0.22780886, 0.18460937, 0.20829925, -0.22429292, 0.11375158, -0.24776565, 0.013294957, 0.108396605, 0.18705682) * go_3(0.0, 1.0); - result += mat4(0.17449534, -0.014089195, -0.005522746, -0.26652694, -0.3059182, -0.077219255, 0.13172182, 0.22815189, 0.29824528, -0.0018969525, -0.049221557, -0.02434726, 0.28403616, -0.30762187, -0.18281007, -0.069536164) * go_3(1.0, -1.0); - result += mat4(0.11734828, -0.099142194, -0.1678673, 0.113515854, -0.16090973, -0.018343726, 0.09375435, -0.11457814, 0.29799998, 0.14911132, -0.030187404, -0.0033569376, 0.51210696, 0.20057757, 0.018672027, -0.00072862353) * go_3(1.0, 0.0); - result += mat4(-0.4207862, 0.23023506, -0.045380734, 0.35523587, -0.31482896, 0.0016041965, 0.031437084, -0.11878056, -0.09631354, -0.44702205, 0.07262705, -0.019627657, 0.27565527, 0.30019623, -0.2416735, 0.13827145) * go_3(1.0, 1.0); - result += mat4(-0.21828848, -0.05362182, 0.092769556, 0.058445822, -0.015375804, 0.032911193, -0.016062194, 0.0023879025, -0.07955863, -0.18912281, 0.100602634, 0.18384646, 0.09833795, 0.13066116, 0.08606998, 0.060196545) * go_4(-1.0, -1.0); - result += mat4(-0.30196983, -0.13994773, -0.04102513, -0.021608166, 0.15173563, -0.0014104879, 0.013970848, 0.069105186, -0.046455324, -0.55526954, 0.39444688, 0.0815259, 0.10904215, 0.21681397, 0.06073383, 0.10265119) * go_4(-1.0, 0.0); - result += mat4(-0.11820481, -0.05975609, -0.13999549, 0.030522387, -0.013776436, -0.14367265, 0.009655233, -0.020354088, -0.117309436, -0.21025649, -0.0852297, 0.0050804066, 0.07790261, -0.07352538, -0.016056273, 0.030884959) * go_4(-1.0, 1.0); - result += mat4(-0.01982244, -0.14982677, 0.08542808, 0.114587806, -0.093505375, 0.009862345, -0.17831016, 0.15021613, 0.017223043, -0.05448468, 0.19507179, 0.005433668, -0.28699195, -0.0943735, 0.005008677, -0.084489435) * go_4(0.0, -1.0); - result += mat4(0.17592743, 0.16011396, -0.4458925, 0.03776147, -0.22227006, -0.1765121, -0.023907507, -0.12340803, 0.69395095, -0.42174822, 0.2619632, -0.08317782, 0.06564856, -0.07574905, 0.19617046, -0.15101147) * go_4(0.0, 0.0); - result += mat4(-0.0031664995, 0.0048539517, -0.029761892, -0.024908772, 0.038988, 0.083212, 0.022871153, 0.049879767, 0.5655658, -0.39324993, -0.41707525, -0.00069710996, -0.088931695, 0.5349101, -0.03700674, 0.19864099) * go_4(0.0, 1.0); - result += mat4(-0.09978203, -0.12430744, -0.005363638, -0.078683436, 0.16000083, 0.09070007, -0.08223272, 0.10610758, -0.09339724, -0.25193405, 0.060660124, 0.022009233, 0.028552014, -0.30671445, 0.04395066, -0.022646846) * go_4(1.0, -1.0); - result += mat4(-0.0025377637, -0.10979372, 0.0953052, -0.041535445, 0.028650977, -0.18192725, -0.13626699, -0.04126641, 0.41577348, 0.070594355, 0.17786773, -0.0019128436, 0.21811736, -0.3097873, -0.1697477, -0.05985297) * go_4(1.0, 0.0); - result += mat4(0.0029388457, -0.08754279, -0.057417464, -0.045205314, 0.14254501, -0.14048617, -0.029115621, 0.017037913, 0.23511319, 0.58405197, -0.045535047, -0.093041405, 0.24495944, 0.048594877, 0.16573521, -0.016364215) * go_4(1.0, 1.0); - result += mat4(0.0061783222, 0.03700483, 0.03310341, 0.03506661, 0.18640573, 0.060847793, -0.03938158, 0.002558664, 0.0066146054, -0.03961683, 0.11786358, -0.018774983, -0.023232952, -0.018498667, -0.02113431, -0.03875601) * go_5(-1.0, -1.0); - result += mat4(-0.07762769, 0.3220323, 0.0019882289, 0.11455374, 0.12809245, 0.054234043, -0.032796185, -0.004923056, 0.03533371, 0.23241599, -0.047939382, -0.005454499, 0.018655885, -0.06090632, -0.074992895, -0.022785714) * go_5(-1.0, 0.0); - result += mat4(-0.024499241, -0.0656105, 0.033745233, -0.06109949, 0.02657246, 0.099547654, 0.048236806, -0.08930123, -0.028375195, 0.21267472, 0.04065708, -0.029539475, -0.0034377375, -0.076174065, -0.08033416, 0.014191793) * go_5(-1.0, 1.0); - result += mat4(0.09567274, 0.17149109, 0.057815317, -0.02354373, -0.053182393, 0.07036649, 0.11426706, 0.0073960987, -0.042224813, -0.03242704, 0.028637128, -0.018156664, 0.027350018, -0.059693146, -0.025782553, -0.059870392) * go_5(0.0, -1.0); - result += mat4(-0.29396304, -0.14174098, 0.044468317, 0.048983667, -0.09083888, 0.14550914, -0.17293338, -0.019666478, -0.27275094, -0.026832746, -0.16039373, 0.05072858, 0.13158675, -0.0014240668, -0.19267258, 0.028367419) * go_5(0.0, 0.0); - result += mat4(-0.14670749, -0.20505863, -0.25351146, -0.18028821, -0.09074548, 0.12591866, -0.11648123, 0.08052676, -0.1030718, 0.055071495, -0.027647234, 0.036372066, 0.042164043, -0.24193078, -0.018126357, -0.08488727) * go_5(0.0, 1.0); - result += mat4(-0.002951344, -0.07835709, 0.0412822, 0.024059866, -0.17239328, -0.045480777, 0.031516057, -0.02321261, 0.16131492, -0.108720064, -0.13902234, 0.009038252, 0.019813707, -0.13780454, -0.08646045, -0.03967984) * go_5(1.0, -1.0); - result += mat4(0.087156996, -0.43204084, 0.08196673, 0.09000798, 0.11798731, -0.2800244, 0.013827372, 0.006278623, -0.027538646, -0.47985002, -0.07989979, 0.0101940865, 0.11476763, -0.08189494, -0.107904315, 0.0034190493) * go_5(1.0, 0.0); - result += mat4(0.10922693, -0.13929938, -0.14316928, -0.06415228, 0.10821941, -0.09326445, -0.10437615, -0.019490898, 0.02572968, -0.23569673, -0.18372843, 0.018998442, 0.019020457, -0.078145295, -0.12052183, -0.02904386) * go_5(1.0, 1.0); - result += mat4(0.047391865, -0.14862657, 0.10497325, -0.0060389596, 0.04090357, 0.07597069, -0.16701244, -0.045025267, 0.05439692, -0.0046527646, 0.10107427, -0.017686805, -0.09081038, 0.0033508723, -0.07428749, 0.083581686) * go_6(-1.0, -1.0); - result += mat4(0.24039297, 0.10254748, -0.08497433, 0.06220285, -0.21642606, 0.06099548, 0.05618001, 0.027991194, 0.11916666, 0.001376908, -0.04484436, -0.063753836, -0.080493644, -0.12548241, 0.22396187, -0.060979564) * go_6(-1.0, 0.0); - result += mat4(0.09228674, -0.10189853, -0.019978495, 0.055631284, -0.056667626, 0.042379495, -0.11306628, 0.015792474, -0.024159636, 0.17669754, -0.0015470447, 0.030659685, 0.049270805, 0.01379507, -0.07484134, 0.03997324) * go_6(-1.0, 1.0); - result += mat4(-0.08015897, -0.1573799, -0.0068566655, 0.024327071, -0.00024650464, -0.11511224, 0.10626316, -0.09424342, 0.035164617, -0.0071606585, 0.023877172, -0.0032834266, 0.03981932, 0.00094573526, 0.07893367, 0.058131382) * go_6(0.0, -1.0); - result += mat4(-0.09480482, -0.13352568, 0.11975561, 0.04046284, 0.017295167, 0.14661242, 0.034784466, 0.16060774, 0.12513426, 0.11618688, -0.19043984, -0.006898629, 0.33333287, 0.02068534, -0.144777, 0.054585308) * go_6(0.0, 0.0); - result += mat4(-0.040517613, 0.13882688, -0.10775904, -0.01107748, -0.22891715, 0.023514308, -0.07362997, 0.050480675, -0.15309371, 0.22601646, 0.050979435, 0.0078024655, 0.09704638, -0.113768086, 0.159759, -0.19680989) * go_6(0.0, 1.0); - result += mat4(-0.038060542, 0.060299598, -0.06167331, 0.070311025, -0.056030717, -0.10937594, -0.094534926, -0.05876128, 0.04186674, 0.05846574, 0.046057925, 0.050594475, -0.15031303, 0.033675846, 0.14669393, -0.020838607) * go_6(1.0, -1.0); - result += mat4(0.006198633, 0.008096492, -0.061412863, -0.038600348, 0.13099104, -0.024788823, 0.143207, 0.08146842, -0.09880114, 0.020192526, 0.093205445, -0.006562488, -0.10218187, 0.34932604, 0.017245278, 0.022239687) * go_6(1.0, 0.0); - result += mat4(0.019581253, -0.071536854, -0.079313144, 0.0039378665, 0.04372604, 0.0350227, -0.13975748, 0.02514243, 0.1482172, -0.1795845, 0.016553031, -0.114758186, -0.13846005, 0.028443053, -0.0028277517, 0.073823154) * go_6(1.0, 1.0); - result += mat4(0.019089226, -0.002865448, 0.114264086, -0.14795631, 0.052681867, 0.06782111, 0.005056374, 0.03333905, -0.045924906, 0.1271522, -0.022228748, 0.09460952, 0.0257857, -0.0404471, -0.100172006, -0.009518522) * go_7(-1.0, -1.0); - result += mat4(-0.0919395, 0.024952088, 0.02894272, -0.02876963, -0.17500453, 0.22578874, -0.05303085, -0.0015600728, -0.0076474883, -0.0018742654, 0.044667635, -0.029744165, -0.00179505, -0.012467833, -0.12192312, 0.034183223) * go_7(-1.0, 0.0); - result += mat4(-0.11467171, 0.036459688, -0.12508968, 0.062637016, 0.05442847, 0.023415027, -0.058653936, 0.27762222, 0.0033886922, -0.056405902, -0.1611357, -0.042607184, -0.029176304, -0.033276357, -0.060190573, 0.006230224) * go_7(-1.0, 1.0); - result += mat4(-0.10476976, 0.20189178, 0.013450291, 0.017824117, -0.07174306, -0.16174208, -0.0790696, -0.13154395, -0.119226985, 0.03126223, 0.08976427, -0.0017329347, 0.03171847, -0.062868886, 0.04638837, -0.03491934) * go_7(0.0, -1.0); - result += mat4(0.059950083, 0.10400816, -0.046370424, -0.012014035, -0.43914387, -0.18396273, -0.060568314, 0.010451131, -0.43835276, 0.026284682, 0.1604382, -0.10625134, 0.044843365, 0.10809218, 0.06464759, -0.046850365) * go_7(0.0, 0.0); - result += mat4(-0.06787761, -0.042850304, -0.15407841, 0.058458067, -0.17467526, 0.096576124, 0.21345392, 0.09298287, -0.01394914, -0.13355762, -0.13184176, 0.0003088022, 0.046734177, 0.028196447, -0.13506489, 0.0067693642) * go_7(0.0, 1.0); - result += mat4(0.053602345, -0.08111152, -0.017126815, -0.028242027, 0.092225246, 0.076781385, -0.089152336, 0.0012632497, -0.09276537, -0.24698547, 0.04423726, -0.06601727, 0.01814881, -0.13947123, -0.032667328, -0.019452555) * go_7(1.0, -1.0); - result += mat4(-0.0888714, -0.14888728, -0.03935948, -0.020991955, -0.07616056, -0.04555924, -0.09465727, -0.13786288, -0.305734, -0.3085076, 0.03795676, -0.021256099, -0.012537832, -0.23650081, -0.07035176, -0.028411875) * go_7(1.0, 0.0); - result += mat4(-0.0868341, -0.14694329, 0.08679206, -0.014810077, 0.022454316, -0.094533004, -0.17521082, -0.0076950863, -0.077531025, 0.11369054, -0.131653, -0.014213835, -0.08936547, -0.123560406, -0.031929504, 0.017496165) * go_7(1.0, 1.0); - result += vec4(0.05049932, 0.08230575, 0.58376503, 0.86909854); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14979692, -0.19874124, 0.7368574, -0.75289476, -0.07442179, -0.057006773, 0.052752588, 0.07042955, 0.023808982, -0.15449218, -0.214054, 0.4198038, -0.031717926, 0.42492926, -0.365123, -0.5385816) * go_0(-1.0, -1.0); - result += mat4(-0.20962773, -0.023108777, 0.058071185, 0.16705127, -0.13245003, 0.035289574, -0.2708952, -0.09654876, -0.031879663, -0.04658145, 0.34683147, 0.16727158, 0.0348443, 0.3031345, -0.3261166, -0.118750244) * go_0(-1.0, 0.0); - result += mat4(-0.21795142, -0.11076161, -0.05562235, -0.019234827, -0.013561418, -0.097614266, 0.017759917, -0.016897203, -0.35361412, 0.057772327, -0.06672376, 0.022556266, 0.10166518, -0.20721449, -0.33036092, 0.031573854) * go_0(-1.0, 1.0); - result += mat4(0.33822674, -0.014097686, 0.040684048, -0.18630835, -0.14371929, -0.044715706, 0.15923496, -0.001135727, 0.09309857, 0.043319203, 0.008005289, -0.06445179, 0.04558112, -0.3218687, -0.23799446, -0.05683568) * go_0(0.0, -1.0); - result += mat4(0.30100045, -0.16198196, -0.40970346, -0.08049791, -0.3257815, 0.32816964, -0.1036189, -0.01658084, 0.3158466, -0.099933214, 0.17709035, 0.015306898, 0.109196454, -0.8539901, -0.39478862, 0.44471648) * go_0(0.0, 0.0); - result += mat4(-0.25177294, 0.38001952, -0.10283977, 0.16721214, 0.47318378, -0.051106233, -0.1658626, 0.0006494121, 0.0790059, -0.2052262, 0.09690421, -0.24400221, 0.386201, 0.12295305, 0.008400798, 0.1569414) * go_0(0.0, 1.0); - result += mat4(0.13002181, -0.062052924, -0.105005205, -0.1063579, -0.2948124, -0.084252134, -0.1092418, 0.18163803, 0.087108664, -0.24015805, 0.0813893, -0.15364105, 0.4476238, -0.19498287, 0.058062855, -0.13685432) * go_0(1.0, -1.0); - result += mat4(0.080557905, 0.10061249, -0.019393712, 0.2723204, 0.37991402, -0.30517173, 0.15205608, -0.17223756, -0.1711708, 0.22243942, -0.51695263, 0.06089266, 0.2784161, -0.039997682, -0.27718592, 0.18410686) * go_0(1.0, 0.0); - result += mat4(0.04679752, -0.10547882, 0.065308206, -0.05089279, -0.03807331, 0.39167935, -0.033223882, -0.029149204, -0.11922506, 0.14605616, -0.026710276, 0.043473598, -0.14226817, -0.33978114, -0.13193306, -0.064798094) * go_0(1.0, 1.0); - result += mat4(0.16664545, 0.054396506, 0.5975169, -0.1282768, 0.033200808, 0.07221164, -0.26142395, -0.18964534, -0.13124959, -0.18198496, -0.6014699, 0.05141559, 0.5430321, 0.1740554, -0.34170282, 0.26922655) * go_1(-1.0, -1.0); - result += mat4(-0.3690329, -0.41274253, -0.17788443, -0.38740525, -0.31772953, 0.065274484, -0.10197657, -0.009203365, 0.014726659, -0.4838253, 0.6801823, 0.048202187, -0.004891756, 0.45931026, -0.42521614, 0.54947734) * go_1(-1.0, 0.0); - result += mat4(-0.022050077, 0.07676187, -0.2678602, 0.12050436, 0.2968012, 0.134127, 0.013001306, -0.022339938, 0.072250396, 0.16998878, 0.13204311, 0.1460555, -0.2108701, 0.085233, -0.33153787, -0.3943539) * go_1(-1.0, 1.0); - result += mat4(0.020494493, -0.13280667, 0.120742574, 0.18085496, -0.3993116, 0.27331954, -0.16451527, -0.12265906, -0.609543, 0.5610297, -0.51908624, -0.12770663, -0.06081323, -0.03547236, -0.3134851, 0.120467834) * go_1(0.0, -1.0); - result += mat4(0.694917, -0.056899358, 0.5973495, -0.36394402, 0.11194564, -0.014088698, 0.3335045, -0.30163172, 0.410675, -0.18881899, 0.6248168, 0.11293253, 0.007631114, 0.25432107, 0.13347992, 0.12681353) * go_1(0.0, 0.0); - result += mat4(-0.10188845, -0.25959828, -0.3245341, 0.27263215, -0.023503877, -0.072242714, 0.13622598, 0.21790865, -0.3163553, -0.013236621, -0.13055128, -0.20804474, -0.009641516, 0.20730485, 0.040377166, 0.13722788) * go_1(0.0, 1.0); - result += mat4(-0.4001694, 0.20498846, -0.04771135, -0.2705733, 0.097105324, 0.08779578, 0.018639572, 0.18933, -0.06865882, -0.24691378, -0.27062201, -0.028328577, -0.0036236667, -0.19430988, 0.022964898, 0.08762482) * go_1(1.0, -1.0); - result += mat4(-0.26447344, 0.597568, -0.75024736, 0.29766613, -0.040174056, 0.0043453, -0.034185186, -0.09291407, 0.14045602, 0.19046465, -0.013113876, -0.20518276, 0.1951194, -0.317452, 0.38230306, 0.16865042) * go_1(1.0, 0.0); - result += mat4(0.059703857, -0.38956463, 0.1103034, -0.0053544333, 0.067712605, -0.25418857, 0.18657285, 0.14283091, -0.3343347, 0.13270105, -0.22770841, 0.053509742, -0.21625842, -0.3108662, 0.7752985, 0.031922966) * go_1(1.0, 1.0); - result += mat4(0.27932245, -0.031156274, -0.8561641, 0.6776702, 0.011417689, -0.00027964372, -0.18250081, -0.0037116525, -0.099202864, 0.06313943, -0.042443503, -0.5106033, -0.08595155, -0.052907, -0.1087237, 0.5441453) * go_2(-1.0, -1.0); - result += mat4(0.16762924, -0.009944587, -0.2679235, -0.2021139, 0.21079461, -0.11809957, 0.3809502, 0.08643512, -0.058171842, 0.20088726, -0.062347364, -0.12985747, 0.16284388, -0.16306452, 0.09982884, 0.14088723) * go_2(-1.0, 0.0); - result += mat4(-0.0714393, 0.082623124, 0.10457793, 0.06049393, -0.21751815, 0.15272824, -0.05817135, -0.033302475, 0.040557053, -0.23516949, -0.0038103394, 0.012663176, 0.028543636, 0.006461524, 0.04151789, 0.025360702) * go_2(-1.0, 1.0); - result += mat4(-0.3958464, -0.49928874, -0.18322971, 0.1660756, 0.02241122, -0.15481286, -0.08289814, 0.1838922, -0.30311695, 0.033998005, 0.046327453, 0.046667594, -0.19373152, 0.054595128, -0.1810291, 0.026330587) * go_2(0.0, -1.0); - result += mat4(-0.17988408, -0.06920031, 0.45933202, 0.13610782, 0.3321532, -0.35902196, -0.01072334, 0.130472, -0.17946465, 0.024062874, 0.028480636, -0.02477549, 0.030871931, -0.06926073, 0.21192017, -0.3275599) * go_2(0.0, 0.0); - result += mat4(0.2777268, 0.039282586, 0.18316416, -0.09472171, -0.12926842, 0.21093419, 0.26748186, -0.034381114, 0.37504667, 0.101034865, -0.005076637, 0.3046354, 0.19506508, 0.07113483, 0.11567689, 0.015364835) * go_2(0.0, 1.0); - result += mat4(0.0024751208, -0.09917078, 0.28514004, 0.13154282, 0.025117317, 0.107632674, -0.14624198, -0.13388367, -0.038752496, 0.06344873, -0.17392725, 0.44770598, 0.06466959, 0.18955265, -0.07118261, 0.13022475) * go_2(1.0, -1.0); - result += mat4(0.061531715, 0.040746104, 0.17598623, -0.15300408, -0.16540745, -0.22774096, -0.092872284, 0.22756997, 0.49107695, -0.6291782, 0.18959439, 0.051523212, -0.022658838, -0.23492336, 0.22632147, -0.0963997) * go_2(1.0, 0.0); - result += mat4(-0.049996454, 0.20427251, -0.13305162, 0.11485584, -0.049903087, -0.27760607, 0.10333013, -0.102610506, 0.5495312, -0.31861833, 0.002093027, -0.07540532, 0.020750895, 0.11532434, -0.302924, 0.038216017) * go_2(1.0, 1.0); - result += mat4(-0.0742038, 0.14481308, -0.52984416, 0.1047764, 0.056594335, -0.30959937, 0.28613302, 0.34666842, -0.39666295, 0.26017725, 0.35440627, -0.34158382, -0.37820384, -0.17103404, 0.50328887, -0.22849783) * go_3(-1.0, -1.0); - result += mat4(0.3429522, -0.15276, 0.2209812, 0.45239314, 0.23704866, -0.005374581, 0.16275096, 0.024596661, -0.82699585, 0.6892652, -0.5133988, -0.37860793, -0.24554388, -0.36862546, 0.53238416, -0.15033963) * go_3(-1.0, 0.0); - result += mat4(-0.18241908, -0.097688325, 0.19900274, -0.049691215, -0.0707727, 0.01220912, -0.13254303, 0.06655784, -0.112321585, -0.6344655, -0.14198428, -0.25697416, 0.30084953, -0.06746383, 0.061665535, 0.48863387) * go_3(-1.0, 1.0); - result += mat4(0.037913926, -0.03827507, 0.154614, -0.40610346, 0.3045199, 0.008148914, 0.16061406, -0.18722008, 0.23903824, -0.41043565, 0.13431714, 0.005762402, -0.11140545, 0.09172593, 0.36103448, -0.21254368) * go_3(0.0, -1.0); - result += mat4(-0.81520826, -0.18719831, -0.7951369, 0.30222818, 0.022721667, -0.24935177, -0.28099492, 0.46440077, -0.22375317, 0.21440145, -0.82245845, -0.08865358, -0.034643255, -0.14605747, -0.20446338, 0.017269822) * go_3(0.0, 0.0); - result += mat4(-0.027954992, 0.44265705, 0.14893635, -0.22994424, -0.4062441, 0.037667353, -0.20461299, -0.2084607, 0.045539107, 0.019446995, -0.26775262, 0.20553084, 0.53191364, -0.34656656, 0.101131186, -0.18529478) * go_3(0.0, 1.0); - result += mat4(0.22462271, -0.6351009, -0.30356836, 0.4656144, 0.021343032, 0.12060711, -0.118174694, -0.102915525, -0.03897218, 0.38728097, 0.0065090284, -0.014050115, -0.11878573, 0.043891054, -0.2201844, -0.008109699) * go_3(1.0, -1.0); - result += mat4(0.3475876, -0.5480176, 0.32965973, -0.3013803, -0.12759317, -0.2552925, 0.040291607, 0.058848295, 0.090461515, -0.0100614, 0.26301694, 0.19180556, -0.19759412, 0.22332898, -0.66193426, 0.029582586) * go_3(1.0, 0.0); - result += mat4(-0.15084246, 0.2588267, -0.12036018, -0.100685254, -0.09681174, 0.10745359, -0.055402648, -0.17146726, 0.16907287, -0.2920604, 0.1719566, -0.062248997, 0.16846664, -0.04184749, -0.67145276, -0.14377783) * go_3(1.0, 1.0); - result += mat4(-0.29134026, 0.14061885, 0.019386701, -0.23595293, 0.15995972, 0.11001859, 0.09999047, 0.24208768, -0.20627365, -0.5980567, -0.10900429, 0.15628706, -0.035789836, 0.11344383, 0.22269405, 0.1167161) * go_4(-1.0, -1.0); - result += mat4(0.2086919, 0.32100046, -0.074735984, 0.028284928, 0.05750321, -0.066351704, -0.12921254, 0.02867359, 0.61451894, -0.64832085, 0.01923096, 0.107076205, -0.080694854, 0.017926944, 0.115145884, 0.023048883) * go_4(-1.0, 0.0); - result += mat4(0.044795334, -0.14508736, 0.009281871, -0.047577426, -0.04061876, -0.10779222, -0.0934905, 0.07574239, 0.06306946, -0.18841065, -0.06520789, -0.1511161, 0.056024194, -0.23865043, 0.0027067165, -0.023214353) * go_4(-1.0, 1.0); - result += mat4(-0.16991557, 0.017060002, -0.29013085, 0.19565602, -0.058718584, 0.07541131, -0.19660297, 0.030717509, 0.13866037, 0.1607997, 0.33416504, -0.10889656, -0.16938633, -0.30223483, -0.116302475, -0.067932114) * go_4(0.0, -1.0); - result += mat4(0.013324888, 0.043513425, -0.13977613, 0.049115334, 0.27864334, -0.14303638, -0.08351705, -0.034961347, 0.54420704, -0.114335835, 0.70558935, -0.17958923, 0.2993206, 0.15411529, 0.1525758, 0.02863741) * go_4(0.0, 0.0); - result += mat4(-0.037015285, -0.2017719, -0.011478376, -0.018624172, 0.1424438, -0.21703872, 0.04142035, 0.08435333, 0.016879117, -0.13277175, 0.5071568, -0.00452118, -0.075084746, 0.02599955, 0.03993921, -0.0077187354) * go_4(0.0, 1.0); - result += mat4(-0.08865702, -0.036773548, 0.09770667, -0.059214808, 0.092925295, 0.024745809, 0.18103407, 0.010096519, 0.12563165, 0.21068119, 0.39060932, 0.052776936, -0.007520789, 0.073785275, 0.15345341, -0.040818583) * go_4(1.0, -1.0); - result += mat4(-0.01307178, -0.2883416, 0.06089409, -0.025703222, -0.0153167285, -0.13499002, 0.19134292, 0.017535282, 0.4228713, 0.42407927, 0.49823955, -0.014714462, 0.07038049, -0.16592962, 0.20797624, -0.067286916) * go_4(1.0, 0.0); - result += mat4(-0.10721055, 0.12606484, 0.058121577, -0.0076352274, 0.20147532, 0.023864318, 0.035990067, 0.019970879, -0.09824868, 0.21742553, 0.23160207, -0.01923935, -0.051066495, 0.07820049, 0.25739282, 0.01963692) * go_4(1.0, 1.0); - result += mat4(-0.11948619, 0.2351847, -0.043393455, 0.030519446, 0.4539114, 0.1742429, -0.0774874, -0.080372855, 0.08532228, 0.2565506, -0.047552552, 0.06568883, -0.0336801, 0.014859413, -0.01480705, 0.000907035) * go_5(-1.0, -1.0); - result += mat4(0.13286628, 0.18621215, -0.023270091, 0.0070656347, -0.15205616, 0.1755209, 0.058746208, -0.11478106, 0.028688533, 0.018236568, -0.029914241, -0.01234524, 0.027454674, -0.08994973, -0.023616008, 0.10552348) * go_5(-1.0, 0.0); - result += mat4(-0.061776865, 0.37519607, -0.0055178492, 0.0034296983, 0.18715686, 0.5121114, 0.097835, 0.03487622, 0.0467928, 0.054646105, -0.005521889, 0.005822461, -0.043956164, 0.03566145, -0.074804395, -0.0035681466) * go_5(-1.0, 1.0); - result += mat4(0.030094853, -0.19132867, -0.12022806, 0.008678997, 0.14250284, -0.39671174, -0.02558346, 0.049037408, 0.030368956, 0.032775097, -0.0700175, -0.043425113, -0.011832092, 0.1385766, 0.049986932, 0.048339713) * go_5(0.0, -1.0); - result += mat4(-0.04173207, -0.32059047, -0.3176571, -0.059780464, -0.149838, -0.09253593, 0.017474804, -0.02850501, -0.002491147, -0.4902331, -0.41391358, -0.019036679, 0.12910078, 0.011391104, 0.15281096, 0.035302237) * go_5(0.0, 0.0); - result += mat4(-0.051985674, -0.28821957, 0.041421372, -0.026321337, -0.11232292, -0.0076721082, -0.017660424, -0.053183485, 0.011399399, -0.21104087, -0.08247351, 0.012001115, 0.13353747, -0.018404294, -0.013070655, 0.021725055) * go_5(0.0, 1.0); - result += mat4(-0.10819058, 0.01522892, -0.11809611, -0.005361581, 0.016413989, -0.17791939, -0.07641427, -0.0075271325, -0.04744145, 0.14214009, 0.06238958, 0.030852603, -0.045064628, -0.10203394, 0.022396715, -0.0067329407) * go_5(1.0, -1.0); - result += mat4(-0.19808967, -0.104994975, 0.015773673, -0.022771256, 0.026054395, -0.052030962, 0.00745939, 0.04304712, -0.10831072, -0.16059683, -0.04864209, 0.037260182, 0.041406773, -0.11586577, 0.043287378, 0.027181271) * go_5(1.0, 0.0); - result += mat4(-0.1844484, 0.08464415, 0.10791806, 0.013830704, 0.03208257, 0.26110005, -0.03262007, 0.091473244, 0.13977927, 0.032529682, -0.021369038, 0.053745314, 8.765892e-05, 0.010181694, -0.046350393, -0.0064968574) * go_5(1.0, 1.0); - result += mat4(0.16242024, 0.0029229107, -0.03808197, 0.11881662, -0.008760509, -0.09074291, -0.15157613, -0.19312446, 0.098781265, -0.06404453, 0.17561193, -0.011888404, 0.012034257, -0.095228486, -0.17663169, -0.14239185) * go_6(-1.0, -1.0); - result += mat4(0.10714533, -0.091631204, 0.10210571, -0.024006354, -0.20195729, -0.028262442, 0.0057075145, 0.08570983, -0.1349579, 0.16353582, 0.06258812, -0.055206373, 0.027616054, 0.16366649, 0.15170477, 0.100432895) * go_6(-1.0, 0.0); - result += mat4(-0.005640863, 0.01953208, -0.05362749, 0.03737554, 0.10574648, 0.04949733, 0.011875781, -0.027762452, 0.11309614, -0.037482325, -0.037490267, 0.05672542, -0.03851815, -0.040241454, -0.014456474, -0.015964273) * go_6(-1.0, 1.0); - result += mat4(-0.05119488, -0.05249867, 0.08751497, -0.15210281, 0.06936269, 0.060947813, 0.15130071, 0.0061567873, 0.089312874, -0.08143958, 0.006515938, -0.062999725, 0.14026858, 0.14795284, 0.28729984, 0.078133605) * go_6(0.0, -1.0); - result += mat4(-0.009654871, -0.21643133, 0.06265242, 0.01572518, -0.1400239, 0.08764587, -0.013960639, 0.11240323, -0.06609911, 0.17936565, -0.099240325, 0.03606391, -0.08663271, 0.21256153, 0.076862626, -0.06660453) * go_6(0.0, 0.0); - result += mat4(-0.0032671946, 0.0434528, 0.12943126, 0.032995254, -0.026195439, 0.22761142, -0.08781017, -0.027369386, -0.23265982, -0.16121218, -0.05160874, -0.01102774, 0.18765874, 0.10036096, 0.13562876, -0.115016125) * go_6(0.0, 1.0); - result += mat4(-0.014280088, -0.036902506, -0.06825763, 0.081764676, 0.030115271, -0.023108382, 0.06727549, 0.00067218125, 0.017059056, -0.03265097, 0.15135893, -0.039459277, -0.04266232, 0.1111974, -0.020078076, 0.006387551) * go_6(1.0, -1.0); - result += mat4(-0.04688186, -0.09174231, -0.05381622, 0.024881862, 0.036378797, 0.12511472, -0.12020627, 0.011695685, -0.033788696, -0.048612628, -0.096676245, -0.09272234, -0.0752053, 0.17060183, -0.056995165, 0.0037499536) * go_6(1.0, 0.0); - result += mat4(0.06944483, -0.0036858325, -0.014824583, 0.022016088, -0.13040295, -0.17123172, 0.042282093, 0.025151532, 0.09733767, 0.02184708, 0.12792501, 0.008477331, -0.033732317, -0.09257224, -0.087834194, -0.04676004) * go_6(1.0, 1.0); - result += mat4(-0.06177712, 0.09466163, 0.041752685, 0.0796498, -0.08357602, -0.21963142, -0.05910052, 0.1355151, -0.020803489, -0.026252296, -0.07097114, 0.09607317, 0.078275844, 0.04250756, -0.047696978, -0.066009335) * go_7(-1.0, -1.0); - result += mat4(-0.32883903, -0.18983904, -0.011129119, -0.061288845, 0.20026195, 0.008631433, -0.06246731, -0.013857852, 0.005461851, 0.19473334, -0.018032562, -0.004270683, -0.03182703, -0.041694432, 0.046114028, -0.08224892) * go_7(-1.0, 0.0); - result += mat4(-0.18344544, -0.22068006, -3.779529e-05, -0.042374518, -0.010999355, -0.1526405, -0.08975188, -0.07842255, 0.0702596, 0.0027714027, 0.03802376, -0.015517716, 0.009005106, 0.06702078, 0.048812397, -0.018014267) * go_7(-1.0, 1.0); - result += mat4(-0.16322157, -0.12375638, -0.14597934, -0.10065044, -0.0034380173, 0.0688033, -0.13725469, 0.1336164, -0.028104529, -0.096491896, -0.29770237, 0.010468916, 0.003322942, -0.012829131, 0.055854827, -0.03990536) * go_7(0.0, -1.0); - result += mat4(-0.13249227, 0.078412525, 0.001221111, 0.039858975, 0.15937175, -0.02095173, -0.22108203, 0.09235874, -0.22747709, 0.2172244, -0.08376862, -0.047431935, -0.093568005, 0.06131771, -0.015086977, -0.056581) * go_7(0.0, 0.0); - result += mat4(-0.19138841, 0.08926175, -0.093786284, 0.057811834, -0.14395343, 0.064682476, -0.008969366, 0.0674351, 0.17032358, 0.12163412, 0.05056086, 0.058084372, -0.13832766, -0.11045532, -0.042922694, -0.030604472) * go_7(0.0, 1.0); - result += mat4(0.055630907, 0.16944349, -0.13912451, 0.033242557, 0.12217042, -0.21623628, 0.08676071, 0.06943562, 0.0558185, -0.023673354, -0.17777173, 0.004594415, 0.0135196885, -0.029225778, 0.030058527, -0.009726104) * go_7(1.0, -1.0); - result += mat4(0.01702246, 0.16437621, -0.018122733, 0.024081163, 0.016095428, -0.41127196, -0.017206954, 0.09858238, -0.15810199, -0.14963378, -0.3974077, -0.03380379, -0.045687225, -0.032821044, -0.094495125, -0.014884245) * go_7(1.0, 0.0); - result += mat4(0.049720503, -0.09237875, -0.04686381, 0.019112429, 0.14990957, -0.2563238, 0.06650471, 0.027189046, 0.065547526, 0.061466973, 0.038220834, -4.9633014e-05, -0.037983235, -0.0315463, -0.08640253, 0.023909623) * go_7(1.0, 1.0); - result += vec4(-0.0053955545, 0.20755386, 0.060728047, -0.11934225); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.011262504, 0.031819463, -0.06957062, -0.043127634, 0.00583867, 0.09169646, -0.045924503, -0.03033917, 0.04295624, -0.0008524074, -0.10314193, 0.017878639, -0.026550706, -0.057304744, -0.093816355, 0.084548905) * go_0(-1.0, -1.0); - result += mat4(0.14785792, 0.27953532, 0.013030618, 0.088695146, 0.108306505, 0.09207513, 0.111750156, -0.053279888, -0.091059364, -0.06638048, 0.027781408, -0.16337578, 0.056285474, 0.11172556, 0.030077877, -0.017893653) * go_0(-1.0, 0.0); - result += mat4(0.17618006, -0.4502103, 0.07598669, -0.0009732414, 0.050383665, 0.17085455, -0.0031775923, 0.064862505, 0.11707715, 0.3526508, -0.01904134, -0.012807272, -0.116546296, -0.060822245, -0.1311729, 0.07212336) * go_0(-1.0, 1.0); - result += mat4(0.087797835, -0.06613155, 0.1483391, 0.013323468, -0.11146307, -0.015671762, -0.040200327, -0.10357134, 0.019073516, -0.06472526, 0.10602498, 0.1770319, -0.08521562, 0.12664832, 0.08947633, -0.05493576) * go_0(0.0, -1.0); - result += mat4(0.33827654, 0.28221247, -0.18990488, 0.026941316, 0.1488764, -0.2931259, -0.076329395, -0.015431582, -0.099263206, 0.19168049, -0.026642313, 0.13576517, 0.038345568, 0.28094527, 0.009882045, -0.11360381) * go_0(0.0, 0.0); - result += mat4(0.05157035, -0.07949976, -0.11442825, -0.10846249, 0.0041128546, -0.086069524, -0.08534606, 0.030012999, -0.02440029, 0.0032833228, 0.080156125, -0.09495428, -0.014791535, -0.3719053, -0.09000905, 0.0037281278) * go_0(0.0, 1.0); - result += mat4(0.06803247, 0.07046111, 0.025906414, 0.04482326, -0.029433155, -0.053168926, 0.11433928, 0.09067554, 0.08303741, -0.17981903, -0.119454004, 0.18209296, -0.03772345, 0.025304617, -0.078271955, -0.091292545) * go_0(1.0, -1.0); - result += mat4(0.22007126, -0.40249357, 0.09878526, 0.043460052, -0.037937324, 0.2775198, 0.08673017, -0.075257935, 0.14146972, -0.049743168, -0.09132197, 0.072746076, 0.029836698, -0.0047054323, 0.041883502, -0.0780989) * go_0(1.0, 0.0); - result += mat4(0.054638218, 0.31379706, -0.015786655, -0.026390918, -0.11370519, -0.085995756, 0.08572533, -0.066644676, -0.052945357, -0.027882649, -0.030349009, -0.00074756425, -0.0034215925, 0.16293995, 0.0043956763, -0.013435695) * go_0(1.0, 1.0); - result += mat4(0.004479172, 0.15894544, 0.014565352, -0.022123177, 0.036710665, 0.027838772, -0.03341635, -0.02814826, -0.0891137, -0.051923018, -0.058425512, 0.057913873, -0.058511104, 0.04785274, 0.047574837, 0.095560044) * go_1(-1.0, -1.0); - result += mat4(0.026339598, -0.21249251, 0.09641629, -0.1050302, -0.11599119, 0.16732395, -0.07735261, 0.10095655, -0.046776835, -0.1985677, -0.100405715, -0.0049418057, 0.08661461, 0.030991163, 0.058080763, -0.033386886) * go_1(-1.0, 0.0); - result += mat4(0.06275464, 0.12353212, 0.011660699, -0.0048974585, 0.03182892, -0.11731411, 0.058963027, 0.00076737226, -0.014992623, -0.075640306, 0.021105729, 0.054476924, 0.010348032, 0.018136699, -0.015781997, 0.011437102) * go_1(-1.0, 1.0); - result += mat4(0.13556376, -0.061953824, 0.05551936, 0.116930924, 0.06720336, 0.37149063, -0.020317249, 0.10018995, 0.03449863, 0.00254038, -0.12589492, -0.116539575, 0.02914628, -0.1132907, 0.059977263, -0.01013219) * go_1(0.0, -1.0); - result += mat4(-0.17061242, -0.11773073, -0.07108274, 0.0034582969, 0.037274398, -0.38318223, 0.10591709, 0.25803554, -0.07071293, 0.17214958, 0.34243912, -0.20444241, 0.16736552, 0.14189146, -0.15058914, 0.028070828) * go_1(0.0, 0.0); - result += mat4(-0.014832051, 0.38498318, 0.07763121, 0.0076594464, 0.1140444, 0.23477876, -0.06551489, 0.082364485, -0.072711125, -0.26173973, 0.10116861, 0.025223283, 0.0071469937, -0.08337561, -0.029252755, -0.040330622) * go_1(0.0, 1.0); - result += mat4(0.065506235, -0.04470719, 0.09613445, 0.11135494, -0.038838383, -0.13319598, -0.030709865, -0.11286597, 0.02777684, 0.14582784, 0.10601686, 0.032446314, -0.101155646, 0.01797949, -0.060460012, -0.17628726) * go_1(1.0, -1.0); - result += mat4(-0.013238295, 0.23827216, -0.052030362, 0.056838796, 0.11169307, -0.0019896782, 0.04225852, -0.05080408, 0.041208353, -0.018402472, 0.0045357095, 0.14560573, -0.07002417, -0.14796354, 0.007762815, -0.10192629) * go_1(1.0, 0.0); - result += mat4(-0.041997515, -0.35881934, -0.021417812, 0.08649882, 0.09397181, -0.13445188, 0.06475497, -0.010673045, 0.12269194, 0.18738186, -0.042150542, 0.1256423, -0.008410485, 0.09158409, 0.041347865, -0.0074583124) * go_1(1.0, 1.0); - result += mat4(-0.062870465, -0.059856553, 0.091585, 0.092011355, 0.020937715, 0.010538825, 0.06692169, 0.0006046978, 0.1952068, 0.031263877, -0.106957935, 0.14423949, -0.014842083, -0.043564916, -0.019768178, 0.034922168) * go_2(-1.0, -1.0); - result += mat4(-0.117032535, 0.18058799, 0.007915372, 0.020678058, 0.14933655, -0.051320497, -0.023838546, 0.06867943, -0.3355837, 0.0042644492, -0.12227475, -0.04008191, 0.024019344, -0.040317632, 0.025777748, 0.24088405) * go_2(-1.0, 0.0); - result += mat4(-0.00010084207, -0.1289124, 0.031990424, -0.079577096, -0.0053844554, -0.02361255, 0.07049022, 0.039858952, -0.07922686, -0.06185779, -0.03044959, 0.079977244, -0.0893825, -0.106873706, 0.0044374927, -0.028308846) * go_2(-1.0, 1.0); - result += mat4(-0.08895584, -0.042846404, -0.013092824, -0.13957329, -0.10497291, 0.10893366, -0.16962886, -0.002034427, -0.037901185, 0.064590566, 0.058201604, 0.14310947, 0.08995774, -0.05294167, 0.1631053, -0.012728631) * go_2(0.0, -1.0); - result += mat4(-0.07719386, 0.046034593, 0.04633185, 0.11177461, 0.012042811, 0.13169785, -0.11322429, 0.10102152, -0.23842178, 0.13413563, 0.07785035, -0.083747946, 0.10070529, -0.0900075, -0.17456235, -0.38653556) * go_2(0.0, 0.0); - result += mat4(-0.12692979, -0.047207076, 0.003124948, 0.0031179655, 0.028505344, -0.16842307, 0.018322583, -0.03406163, 0.04017119, -0.1724708, 0.039637722, 0.14817074, -0.015262273, 0.4343052, -0.028746288, -0.06529248) * go_2(0.0, 1.0); - result += mat4(-0.124842934, 0.13421857, -0.02313364, -0.11312006, -0.03259939, 0.06062406, -0.007419522, -0.04876289, -0.10012543, -0.25548926, -0.030651081, 0.034160238, -0.14513661, 0.036888786, 0.17565195, 0.11805049) * go_2(1.0, -1.0); - result += mat4(0.19049145, -0.039175794, 0.018565621, 0.1548963, -0.051579755, 0.031628616, 0.0051352894, 0.11517133, -0.01610091, 0.051337674, -0.026527107, -0.019971197, 0.12971555, 0.07533016, -0.3041597, -0.06759981) * go_2(1.0, 0.0); - result += mat4(0.12584706, -0.10033112, 0.035238206, 0.09898554, 0.050027825, 0.07308421, -0.01463469, -0.00082939945, -0.047252785, 0.08552882, 0.0019422411, -0.024661394, 0.11734384, -0.26585263, 0.07397762, 0.20346671) * go_2(1.0, 1.0); - result += mat4(0.107849255, -0.11532747, 0.05027606, 0.10103512, 0.064907365, 0.010803471, 0.028275143, 0.14567783, -0.07167514, 0.08434946, 0.07393991, 0.0254499, 0.04305806, 0.04086671, 0.053802863, -0.06721381) * go_3(-1.0, -1.0); - result += mat4(0.09881202, -0.06978072, 0.04603433, 0.01741673, -0.15704031, -0.1793963, -0.038271505, -0.10161381, 0.04542897, 0.07914688, 0.046205457, 0.08958046, -0.0061665005, -0.03463733, 0.029120842, 0.043564152) * go_3(-1.0, 0.0); - result += mat4(-0.012550157, 0.17462914, 0.06898175, -0.07152383, -0.03304833, -0.08832667, -0.016064065, -0.23278883, -0.13197964, -0.08672381, -0.05409716, -0.065082744, 0.06888385, 0.036308136, 0.11151006, -0.06965145) * go_3(-1.0, 1.0); - result += mat4(0.10415191, 0.17370042, -0.077190965, -0.008505009, 0.071427636, 0.021012051, 0.29375538, 0.20707655, 0.08539143, -0.21792713, -0.069910124, -0.13272718, 0.078085855, 0.020925732, -0.09766308, -0.014647463) * go_3(0.0, -1.0); - result += mat4(-0.1540831, -0.20195347, 0.12906608, -0.18597993, 0.02752237, 0.3436961, 0.12848559, 0.23174804, 0.09912136, 0.2955073, -0.0119524235, 0.07499343, -0.056999985, -0.13919996, -0.0442433, 0.09012822) * go_3(0.0, 0.0); - result += mat4(0.03846984, -0.016049843, -0.04194403, 0.016142704, -0.14151782, -0.06796431, 0.004672686, -0.20027739, -0.100223176, -0.08138453, -0.09202174, 0.12008146, -0.009262179, 0.303418, 0.040116344, 0.032100268) * go_3(0.0, 1.0); - result += mat4(-0.02313964, -0.24428035, 0.038113195, -0.0045478963, -0.12524363, 0.0911982, -0.091526926, -0.10919195, -0.044670045, 0.08331864, 0.12612547, -0.103683256, -0.003986556, -0.034693778, 0.03215815, 0.06168313) * go_3(1.0, -1.0); - result += mat4(-0.024951402, 0.36099398, -0.08449376, -0.07497921, 0.09019578, -0.34781474, -0.038260702, 0.04863762, 0.017253455, -0.019677663, 0.12687095, 0.00063366926, 0.011710997, -0.10072319, -0.03315336, 0.07632106) * go_3(1.0, 0.0); - result += mat4(0.07059056, -0.12018756, -0.09131319, -0.013561132, 0.24165273, 0.22274019, -0.017931685, 0.010056685, 0.12344425, 0.12156007, -0.026813593, 0.004195277, 0.04681439, -0.076013386, -0.031047279, 0.028654084) * go_3(1.0, 1.0); - result += mat4(-0.07966141, -0.07519266, 0.08071786, -0.07381566, 0.016123658, -0.05854732, 0.037251532, 0.025495501, 0.105325036, -0.09021125, -0.0065127593, 0.20154859, -0.24500966, 0.16068383, -0.045858987, -0.013114567) * go_4(-1.0, -1.0); - result += mat4(-0.11490749, 0.2778325, -0.09342925, -0.059463568, 0.038029168, 0.010677079, 0.004088794, -0.0524926, 0.14234811, 0.26121226, 0.080162, 0.19559322, 0.19100796, 0.120853685, 0.14027278, -0.07141763) * go_4(-1.0, 0.0); - result += mat4(-0.07725682, -0.028726127, -0.011004939, -0.016452273, -0.004484741, 0.11287478, -0.090253375, -0.00962195, 0.067813195, 0.00653987, 0.11110691, 0.02533638, 0.047734473, 0.630844, -0.12703009, 0.0815481) * go_4(-1.0, 1.0); - result += mat4(-0.063518584, -0.068115965, 0.06567312, 0.005423953, -0.035477355, -0.36495018, 0.034740042, 0.10112081, -0.106252685, -0.27082387, 0.29244247, 0.12543291, -0.35771617, -0.106733896, 0.09776179, -0.041923277) * go_4(0.0, -1.0); - result += mat4(0.1582593, -0.19066747, 0.12785429, -0.06028763, 0.07165759, 0.29100847, -0.066886865, -0.026840167, 0.0149742095, 0.046114814, -0.16078624, -0.06096696, -0.15888374, 0.29948848, 0.011921788, -0.14737292) * go_4(0.0, 0.0); - result += mat4(0.023203196, -0.012949222, -0.10660274, -0.019064514, -0.01604895, -0.11042657, 0.014043448, -0.007858082, 0.034866568, 0.28908056, 0.044833034, -0.055372775, 0.05015458, 0.45589668, -0.059942003, -0.24177484) * go_4(0.0, 1.0); - result += mat4(-0.010991107, 0.081413716, -0.022647902, 0.035956774, -0.01045697, -0.06317254, -0.048409183, 0.014224823, -0.041370537, -0.03167499, -0.08533798, -0.0033347958, -0.045379575, -0.1464327, 0.11794289, 0.12731233) * go_4(1.0, -1.0); - result += mat4(-0.042375486, -0.26550424, -0.020939078, 0.048613142, -0.0064663864, -0.3438306, 0.01354813, 0.01667072, -0.078636885, -0.15991145, 0.07323537, 0.041297473, -0.088465534, -0.333333, -0.05659556, -0.2753555) * go_4(1.0, 0.0); - result += mat4(-0.007157959, 0.16018897, 0.026304452, -0.04799124, -0.009590161, -0.05249338, -0.009172379, 0.0054461583, -0.05708218, -0.19263835, 0.11795639, -0.02212647, 0.056535985, -0.06511114, -0.013391156, -0.13783967) * go_4(1.0, 1.0); - result += mat4(-0.05439675, -0.006444465, -0.009317183, -0.07307444, -0.00030038637, 0.18579505, -0.051370375, 0.059529413, -0.27623934, -0.013988184, -0.0048374305, -0.15984012, 0.039892353, -0.018393246, -0.046821754, 0.023543872) * go_5(-1.0, -1.0); - result += mat4(0.13751456, -0.06096664, -0.025098158, 0.06613064, -0.08354669, -0.07604228, 0.008098726, 0.018510602, 0.14101581, 0.22782752, -0.0028741485, 0.041945882, -0.0810864, -0.020587375, -0.085017934, -0.025102144) * go_5(-1.0, 0.0); - result += mat4(0.047001034, 0.15929686, -0.017429994, 0.11485433, 0.008108619, -0.039101716, -0.01298734, -0.04309558, 0.063283674, -0.006479532, 0.041943613, 0.020806335, 0.1637154, 0.08164767, -0.022789355, 0.23034051) * go_5(-1.0, 1.0); - result += mat4(0.04580322, 0.035329618, -0.045944862, -0.11552284, 0.080185264, -0.054166514, 0.050542697, -0.026156206, -0.083026126, 0.07445656, 0.020240687, -0.095825456, -0.05638868, 0.061477177, -0.0053955787, -0.03098832) * go_5(0.0, -1.0); - result += mat4(0.0488631, 0.0048201405, -0.17982271, -0.19360444, 0.04280375, -0.06298201, 0.18850167, -0.1875722, -0.021133788, -0.4440641, -0.08967545, -0.020436049, -0.07340717, 0.15360972, 0.30010164, 0.13870142) * go_5(0.0, 0.0); - result += mat4(0.06518589, 0.05225434, 0.035718046, 0.09953873, -0.018187355, 0.2680586, -0.011366758, 0.16459163, -0.17236687, 0.271017, -0.044547327, -0.12611923, -0.17699997, -0.14207041, 0.029943895, -0.32613477) * go_5(0.0, 1.0); - result += mat4(-0.043032415, -0.112493455, -0.0017059229, 0.030980088, -0.034748103, -0.034630474, -0.00086845557, -0.07122569, 0.0859297, 0.048253577, 0.1304124, -0.0067533916, 0.15792038, -0.051970366, -0.02041555, -0.022408634) * go_5(1.0, -1.0); - result += mat4(-0.16435696, 0.1454917, -0.02320267, -0.07823869, 0.03715387, 0.001277761, 0.09719438, 0.015275015, -0.11739434, 0.06375923, 0.10178472, 0.0694389, 0.04614792, -0.38499647, 0.27365905, -0.20401697) * go_5(1.0, 0.0); - result += mat4(-0.09289143, -0.059769634, -0.014427403, 0.07280103, 0.04857605, 0.04126391, 0.007707449, 0.016183812, -0.080374636, -0.24951005, 0.051764973, 0.01020587, -0.2992075, 0.04918275, 0.2093324, 0.14188328) * go_5(1.0, 1.0); - result += vec4(-0.034787357, -0.010484513, -0.13672084, 0.021112612); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09358625, 0.04006633, 0.08724545, 0.08691784, -0.14107502, -0.0007997976, 0.17306888, 0.038711257, 0.0985122, -0.0014992851, -0.17487743, -0.10194699, 0.11023988, -0.06968423, 0.01662707, 0.21470292) * go_0(-1.0, -1.0); - result += mat4(0.031636875, 0.13806665, -0.0814631, 0.07943226, 0.0119793005, 0.04941359, 0.074861325, -0.16535385, -0.11496889, 0.13269342, -0.109500505, -0.05149521, -0.046225246, 0.12686665, 0.17126462, 0.009109644) * go_0(-1.0, 0.0); - result += mat4(-0.03334245, -0.123216815, -0.1330235, -0.12154138, -0.059628066, 0.10496938, -0.0038054981, 0.1457567, -0.019918114, -0.0020958772, 0.04247789, -0.0062168534, 0.0026362725, 0.021436866, -0.11040905, 0.108333305) * go_0(-1.0, 1.0); - result += mat4(0.0042455117, -0.14640199, -0.06118977, 0.16638735, -0.030705301, -0.0113191, 0.03248879, -0.044538334, -0.0102377115, -0.01707356, -0.13409424, 0.07820454, 0.0050400933, -0.051095866, 0.115574144, 0.1082736) * go_0(0.0, -1.0); - result += mat4(0.059850972, 0.12553261, 0.23358655, 0.011808153, 0.3940932, -0.10867016, -0.23658483, -0.08347661, 0.18414836, 0.13377388, -0.14889582, -0.0067077233, 0.04137153, 0.07864369, -0.2230585, 0.20400442) * go_0(0.0, 0.0); - result += mat4(-0.14122446, -0.05491896, 0.23194087, -0.04420126, 0.003479982, -0.0025467714, 0.07257286, 0.064608194, 0.003435564, 0.028599951, 0.034278907, 0.020127177, -0.05769672, -0.053810723, 0.021130094, -0.10632285) * go_0(0.0, 1.0); - result += mat4(-0.06342671, -0.02102852, -0.057624057, -0.04255905, -0.027436286, -0.004304728, -0.068475425, 0.084754616, -0.013654013, 0.040915813, 0.03803916, -0.013154927, 0.035633024, 0.03539127, 0.011308919, -0.07959703) * go_0(1.0, -1.0); - result += mat4(-0.082511365, -0.062265713, 0.12336093, 0.050000474, -0.012206841, -0.11110678, 0.23245499, 0.08442603, 0.03861097, 0.04962608, 0.2711461, 0.061978027, 0.02267645, -0.024108166, 0.050957117, -0.09069499) * go_0(1.0, 0.0); - result += mat4(-0.036008272, 0.077173404, 0.007906516, -0.07967038, -0.03769282, 0.0647222, -0.048025336, -0.24466506, -0.10772676, -0.045048002, 0.11905392, 0.09015004, 0.018585265, 0.0492868, -0.12064848, -0.12835266) * go_0(1.0, 1.0); - result += mat4(0.03722991, 0.05483932, 0.005279874, -0.036382344, 0.07366523, 0.080671124, -0.022853829, 0.17026854, -0.025622483, 0.02234575, 0.047529936, 0.08349223, -0.0811592, -0.06856246, 0.095451735, 0.04447287) * go_1(-1.0, -1.0); - result += mat4(-0.011579923, -0.07021126, -0.18775284, 0.06256736, -0.07229184, 0.007508845, 0.009623485, -0.07026442, -0.017683864, -0.05394156, 0.009937637, -0.06132005, 0.08447428, -0.035887707, 0.05672016, -0.023255082) * go_1(-1.0, 0.0); - result += mat4(-0.24283841, 0.049064692, 0.19258617, -0.09556112, -0.043943178, -0.026093625, -0.0037277476, -0.08488672, -0.05969904, 0.014202227, 0.07155138, -0.006620953, 0.12378093, 0.023470948, -0.15103869, 0.04221627) * go_1(-1.0, 1.0); - result += mat4(0.0008730981, -0.07160066, -0.076891124, 0.13791084, -0.13737433, -0.010282979, 0.078346394, 0.09242266, 0.076963596, 0.05978104, -0.05467655, 0.086442284, 0.044609588, -0.016739035, 0.021820836, -0.2011709) * go_1(0.0, -1.0); - result += mat4(-0.20905402, -0.08102045, -0.29869592, -0.047263417, -0.17030494, 0.13713762, 0.1867857, 0.0476295, -0.09349327, 0.19339523, 0.022656808, -0.0009851357, -0.2303008, -0.06444237, -0.019168362, 0.2020858) * go_1(0.0, 0.0); - result += mat4(-0.024434976, 0.10944717, 0.055678647, 0.10161796, -0.049396966, 0.0052144537, -0.16087285, -0.015105596, -0.086011946, 0.022698695, 0.15757102, -0.14491843, 0.037698947, -0.047221012, -0.030243723, 0.13107443) * go_1(0.0, 1.0); - result += mat4(-0.086016916, 0.04024993, 0.04098034, 0.07725262, -0.06640869, -0.04112078, 0.021855356, -0.18622814, -0.058279853, -0.029800907, -0.15918955, 0.09680758, 0.054697946, 0.03253648, 0.08338082, -0.04502999) * go_1(1.0, -1.0); - result += mat4(0.01646839, -0.054888945, -0.26849058, -0.011435841, -0.057793204, -0.07927816, 0.025392462, -0.10175547, 0.029483873, -0.14580205, 0.0024861468, 0.07208289, 0.06519596, 0.03442096, 0.026397267, 0.020078517) * go_1(1.0, 0.0); - result += mat4(-0.08198775, -0.0814655, 0.05315498, 0.051077936, -0.030619444, 0.019064562, -0.13288063, -0.1472509, -0.048526105, -0.040171668, 0.12455891, -0.14622177, 0.011852844, 0.096620746, -0.18692164, -0.055299122) * go_1(1.0, 1.0); - result += mat4(0.058797743, 0.024229972, 0.034255873, 0.036447, 0.00075901265, 0.074688934, -0.042593017, 0.00060293835, 0.032229654, -0.052531853, -0.07462269, 0.12802848, 0.007995166, -0.02878037, 0.06900506, 0.06908949) * go_2(-1.0, -1.0); - result += mat4(-0.10522075, 0.048956644, 0.05420077, -0.016637634, 0.04412326, -0.09468539, 0.034226764, -0.018262677, -0.06783241, -0.040329143, 0.18946178, 0.13130969, 0.10075684, -0.07591921, -0.1623158, -0.025584042) * go_2(-1.0, 0.0); - result += mat4(-0.034107495, -0.016770529, -0.016136456, 0.02585942, 0.12677853, 0.01417575, 0.047958545, 0.12998682, 0.016893117, 0.010598557, 0.12055522, -0.047758352, -0.05235784, 0.005084147, 0.07550005, -0.16640854) * go_2(-1.0, 1.0); - result += mat4(-0.114226855, 0.06335544, -0.0881748, -0.2498259, 0.015568782, 0.012487128, 0.0046955296, 0.025751248, 0.04212843, 0.15120652, 0.15968561, 0.19253394, 0.087034084, -0.0423726, -0.051838346, -0.14310384) * go_2(0.0, -1.0); - result += mat4(-0.013026084, 0.06131241, -0.1675201, -0.12888479, -0.0014964524, -0.10069896, 0.02356384, 0.01806289, 0.19572161, -0.11961045, -0.24700944, -0.1844911, -0.26364744, 0.07644966, 0.2593859, 0.08114606) * go_2(0.0, 0.0); - result += mat4(0.068388715, -0.0046663, -0.020979358, 0.09952774, -0.11110095, -0.0774004, 0.012848098, -0.012930355, 0.08189461, 0.0054886085, 0.00053461257, -0.23077695, 0.050515562, -0.035863694, 0.07036627, -0.13812068) * go_2(0.0, 1.0); - result += mat4(0.09648746, -0.10755913, -0.08146234, 0.00811376, 0.004864761, -0.08113828, 0.04964263, 0.11690557, -0.014368101, -0.014423742, 0.03171528, 0.08982036, 0.10246555, -0.06881209, -0.29283836, 0.039537873) * go_2(1.0, -1.0); - result += mat4(-0.13718893, -0.009659399, 0.2992416, -0.0066323625, -0.071996465, 0.13524258, 0.023679543, 0.07826935, 0.075409144, 0.08589669, 0.061272033, -0.045499824, -0.03741875, 0.27842635, 0.13185109, -0.099911585) * go_2(1.0, 0.0); - result += mat4(-0.024441944, -0.03522318, 0.05140529, 0.0071282475, -0.10594544, -0.05181565, 0.25732583, -0.018825782, -0.0012439055, 0.019219896, 0.09946713, -0.0722263, -0.12645322, -9.644992e-05, 0.06875323, 0.21561073) * go_2(1.0, 1.0); - result += mat4(-0.022150004, 0.054419033, -0.083107114, -0.08959484, 0.08172815, -0.013834652, -0.15180096, -0.024615027, -0.07028262, -0.0007512729, 0.26976782, 0.18875809, -0.099938266, 0.05480333, 0.016040394, -0.17822164) * go_3(-1.0, -1.0); - result += mat4(-0.026931163, -0.052416157, 0.07639568, -0.05452748, 0.035625458, 0.004550296, -0.16772425, -0.00061168516, 0.15335664, 0.051302932, 0.04580133, 0.13039467, 0.023763021, -0.07687596, -0.05549799, -0.017360365) * go_3(-1.0, 0.0); - result += mat4(0.003008481, 0.10352107, 0.076348424, 0.040963676, -0.057719737, -0.08755317, 0.024834383, -0.23462833, -0.09101583, 0.086903796, -0.07216142, 0.090624414, 0.029025761, -0.033761367, 0.1366635, -0.10524101) * go_3(-1.0, 1.0); - result += mat4(-0.028344428, 0.22866614, 0.22265156, -0.050915148, -0.07759447, -0.1586285, -0.049925447, -0.05273905, -0.010746756, 0.019270241, 0.22497585, 0.013571467, 0.019270418, 0.052651558, -0.024736265, -0.14067775) * go_3(0.0, -1.0); - result += mat4(0.058332205, -0.0631195, -0.19648206, -0.039481703, -0.2998922, 0.18085144, 0.17090257, 0.27006564, -0.2703318, 0.06099154, 0.04560162, 0.118134916, -0.004565211, -0.08472733, 0.10459307, -0.16570608) * go_3(0.0, 0.0); - result += mat4(0.10358238, -0.061059173, -0.13393302, 0.015948834, -0.030868502, -0.04978585, -0.012687447, -0.2505655, 0.049323123, -0.00019374766, 0.028754372, 0.033648107, 0.07063697, -0.014583936, 0.1362805, 0.08024834) * go_3(0.0, 1.0); - result += mat4(-0.013942856, -0.08531508, 0.039745845, 0.10414194, 0.06313496, 0.02417523, 0.07144888, -0.13780569, 0.0024822098, -0.0005785404, -0.070522025, -0.010603217, -0.008350787, -0.08310923, -0.06434052, 0.05212829) * go_3(1.0, -1.0); - result += mat4(-0.033343147, 0.11818227, -0.101355605, -0.09815853, -0.0037257646, 0.093914956, 0.045073465, -0.21146262, -0.033502303, -0.033563633, -0.19179441, -0.064311236, 0.017742243, 0.008572989, -0.017310511, 0.09787876) * go_3(1.0, 0.0); - result += mat4(-0.0965179, -0.05104779, 0.21980357, 0.059457585, 0.05362383, -0.07189908, 0.21294238, 0.12593827, 0.08622481, 0.0061037396, -0.11099128, -0.075461335, -0.019220999, -0.08473234, 0.1896788, 0.1545825) * go_3(1.0, 1.0); - result += mat4(-0.067072935, -0.009035596, 0.039182313, 0.017011479, 0.036997713, -0.042869426, -0.0040173815, -0.031988475, -0.0069290483, 0.05294254, -0.0012220141, 0.09110227, -0.014827876, 0.19689846, 0.0022661786, -0.07005972) * go_4(-1.0, -1.0); - result += mat4(-0.057713088, 0.050435945, -8.427375e-05, -0.010549373, 0.03760227, 0.022647688, 0.02825286, 0.06377033, -0.0047159446, 0.11320346, -0.069414824, 0.059531983, -0.3299612, 0.2719073, -0.1501237, -0.2640464) * go_4(-1.0, 0.0); - result += mat4(-0.11150839, 0.050114244, -0.032236893, 0.0015038166, 0.027094943, -0.02502733, -0.043179303, 0.016036531, 0.09573851, 0.08618344, -0.107915044, 0.009664713, 0.014394529, 0.06955564, 0.16166097, 0.20743166) * go_4(-1.0, 1.0); - result += mat4(-0.044392925, -0.040684875, -0.23557815, -0.056034833, -0.028161626, 0.05496662, -0.053270698, -0.0734554, -0.111465365, 0.03420695, 0.109617576, 0.0010966054, -0.2844835, 0.26836982, 0.23121232, -0.10785496) * go_4(0.0, -1.0); - result += mat4(0.23357789, 0.00012668641, 0.107617445, 0.095301114, -0.02025481, 0.05065449, -0.024430674, -0.06981479, -0.013470061, -0.18655962, 0.0027839232, -0.12599237, 0.33548972, 0.30407274, -0.40126064, -0.32490435) * go_4(0.0, 0.0); - result += mat4(-0.122281134, -0.04318224, -0.052405555, 0.013284251, 0.13037762, -0.03950817, 0.11751856, 0.12586644, 0.04493563, 0.065146565, -0.08837088, 0.047829423, -0.06804128, 0.048373412, -0.15102965, 0.055268798) * go_4(0.0, 1.0); - result += mat4(0.030756064, 0.04952702, -0.13558283, 0.0072438875, 0.009556099, -0.010242232, -0.030279964, -0.02526838, 0.038414564, 0.048353594, 0.095979914, 0.021043506, -0.03390589, 0.21514107, 0.16822831, -0.03800557) * go_4(1.0, -1.0); - result += mat4(-0.077866204, -0.033634454, 0.037902627, 0.07902395, -0.028916273, -0.0226067, -0.024876777, -0.022323275, 0.023246247, 0.053687774, -0.07160366, 0.047302466, -0.16095349, 0.20279877, 0.4096563, -0.07618548) * go_4(1.0, 0.0); - result += mat4(-0.07142796, 0.06627731, -0.14174895, -0.07026203, 0.07220904, -0.040048495, -0.00987828, 0.08977276, 0.13406783, 0.01384705, -0.11771938, 0.12959056, 0.014253595, -0.06292875, 0.2582175, 0.40633658) * go_4(1.0, 1.0); - result += mat4(-0.16788402, 0.050656084, 0.19867243, -0.047497474, -0.041200183, -0.035055846, 0.07874877, 0.04519112, -0.06284356, 0.066545784, 0.12576821, -0.056989186, -0.017403305, 0.08785861, -0.041629825, -0.015809631) * go_5(-1.0, -1.0); - result += mat4(-0.049183913, 0.0074359034, -0.08632813, 0.005517822, 0.022378573, 0.008625282, -0.08956046, -0.022195501, 0.05653246, 0.059899297, -0.18981466, -0.088493966, -0.17928217, 0.09689291, 0.119702354, 0.02164232) * go_5(-1.0, 0.0); - result += mat4(0.14917888, 0.015048009, -0.005661549, 0.037006833, -0.044544507, -0.04312164, -0.00308949, -0.1262605, -0.05497811, 0.007944446, 0.08427898, 0.10117571, -0.04657141, 0.02150161, -0.06573186, 0.040465128) * go_5(-1.0, 1.0); - result += mat4(-0.13925308, -0.027741015, 0.154933, -0.21173707, 0.03086154, -0.09298073, 0.012140707, -0.0837475, -0.0389594, -0.13471437, -0.06527673, -0.09669443, -0.029916963, 0.098984316, 0.07964568, 0.12955827) * go_5(0.0, -1.0); - result += mat4(0.113585204, -0.1900433, 0.06495972, 0.2520296, 0.028009154, 0.11481251, -0.041522022, 0.12091007, 0.10473571, 0.050006554, 0.15297762, -0.008781097, 0.31699565, -0.017735595, -0.17169666, -0.2624132) * go_5(0.0, 0.0); - result += mat4(0.0887785, 0.028235141, 0.07372089, 0.04354993, 0.017250411, 0.06372916, 0.14129215, 0.02355555, 0.027448706, 0.044665307, 0.021888286, 0.19552916, 0.15212306, 0.04121492, 0.14111567, 0.17364514) * go_5(0.0, 1.0); - result += mat4(-0.053401828, 0.0036638333, -0.11299562, -0.018262852, -0.018146416, 0.036637712, -0.016478777, -0.1337408, -0.0517515, -0.04804134, 0.023531632, -0.043174334, -0.06509281, 0.04609587, 0.12353532, 0.07258964) * go_5(1.0, -1.0); - result += mat4(0.13987146, -0.004954282, -0.19968997, 0.10498915, 0.032130655, -0.06047886, 0.05529797, 0.1026575, 0.05790419, -0.02940328, -0.0059209364, 0.014009479, 0.03707385, -0.22969075, 0.014512211, -0.05710503) * go_5(1.0, 0.0); - result += mat4(-0.039069746, 0.062022384, -0.07215672, 0.06928623, 0.060027763, -0.0012453326, -0.10970553, -0.06261657, 0.1871706, -0.0018255943, -0.14889055, 0.023299964, -0.3351649, 0.37802795, -0.19070482, -0.060723614) * go_5(1.0, 1.0); - result += vec4(0.11029581, -0.13019782, -0.084883854, -0.08666392); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2512713, 0.04446131, -0.13019001, -0.19825238, -0.13686082, 0.0009870777, -0.057273045, -0.18591711, -0.23278764, 0.18710285, -0.22846954, 0.053128306, -0.21377552, -0.031190397, 0.02671188, 0.27215254) * go_0(-1.0, -1.0); - result += mat4(-0.02850081, -0.25581798, -0.2916671, 0.25948995, -0.061595846, 0.021996778, 0.26533875, -0.1386817, -0.50907725, -0.107387096, -0.5450341, -0.024946108, -0.17377011, 0.16451572, 0.026229601, 0.4334658) * go_0(-1.0, 0.0); - result += mat4(-0.16645597, 0.04859862, -0.11956127, -0.10639128, -0.1512508, -0.16807108, -0.17695063, 0.18996993, 0.02294206, -0.10125812, -0.5181448, -0.38864586, 0.23754308, -0.08984774, -0.24180885, 0.3828395) * go_0(-1.0, 1.0); - result += mat4(0.06978632, -0.07391368, 0.16064985, 0.14387815, 0.13395701, 0.0072151893, -0.012425532, 0.17299308, 0.07081038, 0.36008126, -0.15714419, 0.07240115, 0.13636859, 0.1784294, 0.011940809, -0.52540964) * go_0(0.0, -1.0); - result += mat4(-0.09117334, 0.23012494, 0.28810725, -0.100390926, 0.06310453, 0.20847455, -0.10232593, -0.19567461, 0.36627305, -0.4853842, 0.08254439, 0.24376224, 0.056684412, 0.006989206, 0.022157473, -0.030653777) * go_0(0.0, 0.0); - result += mat4(-0.2663092, 0.00064693484, 0.029155029, 0.09757617, 0.1529268, 0.091259964, -0.10012239, -0.22128165, 0.13576204, 0.11918086, 0.19831064, 0.502025, 0.12156709, 0.24983601, 0.3127286, 0.75281775) * go_0(0.0, 1.0); - result += mat4(-0.17778896, 0.22676969, -0.015692642, -0.009996105, 0.028742755, -0.047916196, 0.25847134, 0.08189432, 0.36310482, -0.15971468, -0.67326957, -0.2647825, 0.21505079, -0.13693511, -0.25197342, -0.035831798) * go_0(1.0, -1.0); - result += mat4(-0.2606467, -0.04332907, -0.0081932675, -0.1871374, 0.011161732, 0.060496867, 0.1462103, 0.06257406, 0.3499117, 0.3138593, 0.76008654, -0.015321124, 0.111340284, -0.19518661, -0.07172604, -0.09686078) * go_0(1.0, 0.0); - result += mat4(0.06345513, -0.11955674, -0.10117546, 0.11214337, -0.032827023, -0.03233337, 0.0405524, -0.059570026, 0.43338406, 0.19762945, 0.7126324, 0.4188931, -0.101491705, -0.013107355, -0.12105306, -0.006423246) * go_0(1.0, 1.0); - result += mat4(-0.06646153, 0.008786217, -0.12322221, 0.038551513, 0.21105461, 0.029630456, -0.046948384, -0.08749188, 0.20109598, -0.32960144, 0.12458934, 0.065261096, 0.1736474, 0.08107202, 0.21897486, -0.07582082) * go_1(-1.0, -1.0); - result += mat4(-0.0956223, -0.16077499, -0.078044854, 0.010729564, -0.13726994, 0.028060393, 0.03612404, -0.34773487, -0.102635644, -0.15022214, 0.35442317, 0.1504626, 0.12941697, -0.0081511475, 0.47598404, 0.1603431) * go_1(-1.0, 0.0); - result += mat4(0.056824043, 0.06583582, 0.19184831, -0.2864132, 0.028662741, 0.11763177, -0.13771693, 0.00023768989, -0.103775464, -0.17286631, 0.0583067, -0.24930799, -0.003860889, 0.03102717, 0.27666515, 0.16049923) * go_1(-1.0, 1.0); - result += mat4(0.10747796, -0.11407924, 0.07512156, 0.16156466, -0.0761196, -0.4194308, 0.3467298, 0.051567934, -0.01650765, -0.3078, -0.0915916, -0.12230647, 0.28413123, 0.12150274, 0.32607988, 0.03547804) * go_1(0.0, -1.0); - result += mat4(-0.15339021, -0.32022968, -0.15313472, -0.21096179, 0.21755596, 0.5007671, -0.084493205, 0.24789453, -0.008148358, -0.37689698, 0.052389532, 0.1103459, 0.116709754, 0.057310186, -0.13453801, 0.31041884) * go_1(0.0, 0.0); - result += mat4(-0.27026525, 0.055883665, 0.21993993, 0.16815868, -0.16430366, 0.014845722, -0.04250501, -0.32818204, -0.06997226, -0.15058292, 0.15950048, -0.12349109, 0.027781306, 0.010121193, 0.21316971, 0.35488003) * go_1(0.0, 1.0); - result += mat4(-0.26226902, 0.12889884, 0.035255022, -0.25410843, 0.15391718, 0.15659589, 0.23515344, -0.12434832, -0.25579002, -0.30341643, -0.037506066, -0.15720633, 0.1376103, 0.18252009, 0.33176532, 0.027529534) * go_1(1.0, -1.0); - result += mat4(0.0037590207, 0.17911285, 0.06906637, 0.17953697, -0.09008308, -0.15015154, -0.43836382, 0.3525618, 0.05467472, -0.52823055, -0.23620026, 0.34462368, 0.39483768, 0.20073475, 0.3278273, 0.10098111) * go_1(1.0, 0.0); - result += mat4(0.10590756, 0.0948448, -0.14713965, 0.36263084, -0.20373668, -0.002442622, -0.17611219, -0.12712897, 0.047380507, -0.07845144, -0.21089159, -0.16667572, 0.19997585, 0.13592377, 0.33893886, 0.18317363) * go_1(1.0, 1.0); - result += mat4(0.2965214, -0.06210429, -0.14850818, 0.08950312, 0.16642696, -0.016716538, -0.072306536, 0.31038073, -0.07912652, -0.05515433, -0.04921583, 0.08185186, 0.18347357, 0.022154849, -0.0004953931, -0.03949225) * go_2(-1.0, -1.0); - result += mat4(-0.29195285, 0.24432418, -0.36798882, 0.17430644, 0.36771268, -0.06538093, -0.29294577, -0.06279913, -0.21313414, 0.09859833, -0.108558804, -0.029308762, 0.13946626, -0.017130189, -0.06855778, -0.25429824) * go_2(-1.0, 0.0); - result += mat4(-0.06389454, -0.064197145, -0.045878682, -0.07161815, 0.04137984, 0.16231675, 0.4002652, -0.19706374, -0.23648848, -0.12520109, -0.13031802, 0.16896103, -0.14413834, 0.08727873, 0.23887047, -0.10668098) * go_2(-1.0, 1.0); - result += mat4(0.049962725, 0.015332934, -0.32353997, 0.010178239, 0.14607702, -0.021713382, 0.30675814, -0.23125732, -0.12972106, -0.015958687, -0.12036701, -0.10332523, 0.004802664, -0.04311933, -0.18757673, 0.13215788) * go_2(0.0, -1.0); - result += mat4(-0.149493, -0.25933927, -0.16011974, 0.030059932, 0.17800556, -0.21459822, -0.2168605, 0.3184123, 0.10750539, 0.16187398, 0.32434842, 0.11596275, -0.13076428, 0.19637384, 0.22133437, 0.37495127) * go_2(0.0, 0.0); - result += mat4(0.054967344, 0.02872234, 0.03161886, 0.062141456, -0.19746579, -0.14291914, 7.4703865e-05, 0.15052183, 0.11602195, 0.0037601371, -0.02332411, -0.089222685, 0.23475187, -0.1604402, -0.38760346, -0.020806316) * go_2(0.0, 1.0); - result += mat4(-0.14585812, -0.14615667, -0.051447522, 0.15611356, 0.18497528, 0.081289835, 0.12661521, 0.005147319, -0.036558554, -0.053869057, -0.0039063287, -0.032759674, 0.09126186, 0.008506298, -0.034447696, -0.10733875) * go_2(1.0, -1.0); - result += mat4(0.054028746, -0.00937832, -0.15684044, -0.035560567, 0.11809561, 0.1014585, 0.03356128, 0.02016173, 0.09049222, -0.021339757, 0.07999249, 0.18014722, 0.016788004, 0.043118123, -0.18311624, -0.17827764) * go_2(1.0, 0.0); - result += mat4(-0.17769523, 0.11805558, 0.1659212, 0.041927963, 0.078464985, 0.07504244, 0.09389066, 0.050142735, 0.10748948, -0.102326766, -0.24754792, -0.122868046, -0.11781918, -0.014019157, 0.049353566, 0.058935367) * go_2(1.0, 1.0); - result += mat4(0.15844208, 0.04755972, 0.2995126, -0.21663505, -0.00011620265, -0.0920107, -0.022999357, -0.1296501, -0.15867265, -0.19909091, -0.19694586, -0.056097876, 0.07395912, 0.10025299, 0.25709102, -0.023848202) * go_3(-1.0, -1.0); - result += mat4(-0.11322553, -0.09600812, -0.14286031, 0.14715615, 0.1812981, -0.010719141, -0.06493227, -0.02056335, -0.036782123, -0.16428772, -0.0257993, -0.413957, 0.22038403, 0.12777176, 0.07709192, -0.062658824) * go_3(-1.0, 0.0); - result += mat4(-0.028069293, 0.06065116, -0.2580596, 0.1429641, -0.031438775, 0.15333374, 0.04029889, -0.2119529, 0.02965389, 0.011932767, 0.048941217, 0.052197248, 0.0069986824, 0.114639916, 0.23558734, 0.071952805) * go_3(-1.0, 1.0); - result += mat4(-0.06488308, 0.09402183, 0.2945335, -0.0075379927, 0.23234147, 0.16486216, 0.075063676, -0.13243993, -0.07322842, -0.03335224, 0.10056115, -0.03634638, -0.039835792, 0.07942052, 0.011616743, -0.032830272) * go_3(0.0, -1.0); - result += mat4(-0.07104258, -0.17667016, -0.21837749, -0.055763435, -0.6686622, -0.20883176, 0.2730452, 0.23990531, -0.029782413, -0.0098454505, -0.3267454, -0.13315259, 0.26045015, 0.06319506, 0.3368705, -0.057651937) * go_3(0.0, 0.0); - result += mat4(-0.1651042, -0.0065184776, -0.07931902, -0.3233216, -0.17614277, -0.014422923, 0.12026072, 0.19844185, -0.16411425, -0.10423013, -0.14174505, -0.042299822, -0.013956158, 0.043245506, 0.28541192, -0.024170961) * go_3(0.0, 1.0); - result += mat4(0.11822045, 0.13256907, 0.1145154, 0.20927152, 0.05685588, -0.13790809, -0.3190584, 0.1989516, 0.009066991, 0.2330579, 0.1995987, 0.11560573, -0.030923547, 0.087892644, 0.21597871, 0.03743619) * go_3(1.0, -1.0); - result += mat4(-0.4099685, -0.020438893, -0.082362354, -0.06452889, 0.37881377, 0.10635464, -0.06538328, -0.38973767, 0.51307523, 0.11719936, 0.38153416, -0.34511742, -0.048716113, -0.018229034, -0.03832133, -0.05830876) * go_3(1.0, 0.0); - result += mat4(-0.106022984, -0.014159266, -0.026645603, -0.038261224, 0.20721874, -0.040447287, 0.034983322, 0.14717588, -0.010929067, -0.16487508, -0.01462808, 0.10304265, -0.10781002, 0.023938116, 0.18254079, 0.004454827) * go_3(1.0, 1.0); - result += mat4(0.021212364, 0.02463952, 0.20319557, 0.006853534, 0.01923601, -0.03024551, 0.16040856, 0.030991258, -0.069986686, 0.062546656, -0.031001838, -0.041288298, -0.1010596, 0.06939378, 0.23429441, -0.09559115) * go_4(-1.0, -1.0); - result += mat4(0.06261205, -0.03705453, -0.18669654, -0.0181734, 0.11758142, 0.062471334, 0.19166726, 0.20650591, -0.15047501, 0.15895432, 0.049506746, 0.21445669, -0.103519544, 0.005469086, 0.0039006013, -0.27438062) * go_4(-1.0, 0.0); - result += mat4(-0.080068275, 0.087389246, 0.063547224, 0.07317146, 0.06493674, 0.08251285, 0.19219737, 0.14406256, 0.0050070896, 0.08467077, 0.30765936, 0.13362816, -0.19590043, -0.0025648642, -0.02054509, -0.123127185) * go_4(-1.0, 1.0); - result += mat4(0.035833023, -0.07591796, -0.07311685, -0.015659545, -0.1071422, -0.03163112, -0.15992196, -0.012923958, -0.2571729, -0.07938968, 0.0413156, -0.13006738, -0.15211388, 0.04415037, -0.05164996, 0.10922049) * go_4(0.0, -1.0); - result += mat4(-0.01729037, 0.15696312, 0.24416976, -0.14139475, -0.113730945, -0.03231372, -0.030602036, 0.13402711, -0.4753809, -0.08170512, -0.22863603, 0.014114137, 0.11541584, -0.11207372, -0.6808578, -0.18360177) * go_4(0.0, 0.0); - result += mat4(0.055491205, -0.12612139, -0.106761724, 0.012882862, 0.14926314, 0.091033846, 0.20083062, -0.0016588457, 0.20377177, -0.11680146, 0.10070291, 0.050298847, -0.06142294, -0.09137155, -0.0892819, -0.33678165) * go_4(0.0, 1.0); - result += mat4(0.10703002, 0.084578834, -0.12851705, 0.060689818, 0.09584378, 0.08541435, -0.19049749, -0.06647584, 0.067393035, -0.07042473, -0.44782272, 0.077020116, 0.023799181, 0.13890763, 0.30552545, -0.099860385) * go_4(1.0, -1.0); - result += mat4(-0.06843849, -0.06796385, -0.14991613, -0.10321344, 0.030656688, 0.01517565, -0.04451364, -0.14096247, 0.0616397, 0.104577266, 0.17183799, -0.33740512, -0.17921185, 0.13753828, 0.033225838, 0.033278663) * go_4(1.0, 0.0); - result += mat4(0.07333974, -0.035097934, -0.099412724, 0.028803498, 0.0073889066, 0.04448838, 0.10087784, -0.10349331, -0.1748929, -0.023355793, 0.12004346, 0.060392488, 0.21111041, 0.02820841, -0.01905034, -0.060936175) * go_4(1.0, 1.0); - result += mat4(0.1230735, -0.036640514, 0.14228842, 0.03674977, 0.18953583, 0.12063422, 0.278849, 0.011077689, -0.004723119, -0.085871086, -0.22208698, -0.05897798, -0.08820831, -0.055343833, -0.36630332, 0.061420467) * go_5(-1.0, -1.0); - result += mat4(-0.08617953, 0.029824207, 0.012999008, 0.14653832, 0.091754906, -0.18726993, 0.15466972, 0.07520414, -0.09422507, 0.06285359, -0.05190847, 0.040111717, 0.06347725, -0.12677085, -0.25064456, 0.037838973) * go_5(-1.0, 0.0); - result += mat4(0.024296625, 0.050277006, -0.0038943852, 0.22721657, 0.094200276, 0.13543595, -0.07011714, -0.0761234, 0.09904409, 0.040095594, 0.038246762, -0.088900656, -0.0994826, -0.07779853, -0.23548591, -0.011814277) * go_5(-1.0, 1.0); - result += mat4(-0.11484334, 0.058457036, -0.14017995, 0.004168719, 0.280425, -0.0608683, -0.041607536, 0.18203874, -0.09708175, 0.010571225, -0.09521854, 0.10316223, 0.22425781, 0.012244434, 0.22746642, -0.14701338) * go_5(0.0, -1.0); - result += mat4(-0.23617493, -0.17771423, -0.08029921, -0.17315923, -0.5219916, -0.20046392, -0.61504555, 0.097057335, -0.17237096, -0.12740523, -0.19614285, -0.0962008, 0.16025336, -0.061222732, 0.17753237, 0.17213206) * go_5(0.0, 0.0); - result += mat4(-0.106579974, 0.049742647, -0.05126049, 0.029903352, 0.26753578, -0.060165133, -0.056066565, 0.061395545, 0.21733779, 0.08878832, 0.0326938, -0.021217436, 0.098148674, 0.032903112, 0.20047897, 0.26074448) * go_5(0.0, 1.0); - result += mat4(0.0755034, 0.07197553, 0.1150647, 0.060213815, 0.02418587, -0.0068174214, 0.09854082, -0.06657632, -0.09059176, 0.06860972, 0.02102682, -0.08348747, 0.18531941, 0.01842052, -0.10409639, 0.10308704) * go_5(1.0, -1.0); - result += mat4(0.23391157, -0.04221323, 0.0070946272, 0.22225508, -0.03986882, 0.21027099, 0.3479087, 0.078737445, 0.10444782, 0.14575955, 0.28820315, 0.028596792, 0.25995937, 0.170944, 0.0895069, -0.007549278) * go_5(1.0, 0.0); - result += mat4(0.1333923, 0.057424176, 0.03997452, -0.070987694, -0.040175647, -0.106138796, 0.05134428, 0.17941214, 0.040890414, 0.047647286, 0.11145406, -0.064056404, -0.050256927, 0.1002497, 0.3559856, -0.20863442) * go_5(1.0, 1.0); - result += mat4(0.1188355, -0.12645717, -0.2225628, -0.08409446, 0.031680476, 0.1285114, 0.015257031, 0.07314906, -0.21217677, -0.07397989, -0.09830523, 0.095247865, -0.17913309, 0.041592747, -0.2962181, -0.14066707) * go_6(-1.0, -1.0); - result += mat4(-0.07401649, 0.04513353, -0.08079379, -0.2691485, 0.062272236, 0.018691711, -0.060476813, -0.06744648, 0.100468054, 0.023117458, -0.14244545, -0.3305552, 0.010295283, 0.16395009, 0.15042467, -0.034076292) * go_6(-1.0, 0.0); - result += mat4(-0.3141746, -0.26248914, -0.027696338, -0.30070263, 0.09125419, -0.0014763775, -0.14756647, -0.17390263, -0.17403154, -0.04297874, -0.1500881, -0.15539391, 0.006197388, 0.023637652, 0.032611176, 0.048603363) * go_6(-1.0, 1.0); - result += mat4(-0.07516776, -0.031942673, 0.07770739, 0.031496312, -0.0021692938, 0.056884985, 0.24546169, 0.003367791, -0.05033831, 0.028794305, 0.021211961, 0.33864278, 0.0031321745, -0.105278015, 0.0111407675, 0.0701436) * go_6(0.0, -1.0); - result += mat4(0.1021264, 0.0061049256, 0.19486322, 0.126134, -0.095017105, -0.08792092, 0.02274828, 0.02951376, 0.48483998, 0.07009104, 0.38171777, 0.02422749, -0.12333685, 0.11261442, 0.16367728, 0.072420195) * go_6(0.0, 0.0); - result += mat4(0.021734113, 0.21130675, -0.014667037, -0.007789671, -0.06846323, -0.117793076, -0.0964307, -0.02935036, -0.18294816, 0.059842993, -0.28913066, -0.102560386, 0.15000913, 0.032450397, 0.0988687, -0.085506015) * go_6(0.0, 1.0); - result += mat4(0.19509225, 0.028781189, 0.09271222, -0.1837815, -0.0120801255, 0.026893526, 0.2693688, -0.0016265993, 0.0039579174, 0.18030784, 0.4051318, -0.21415327, -0.12954094, -0.119375914, -0.30373552, -0.055964008) * go_6(1.0, -1.0); - result += mat4(-0.06313117, -0.32275942, -0.05000967, 0.20948593, 0.006625605, -0.02862116, 0.092328526, -0.0042809383, -0.22583593, -0.104118, -0.14766322, 0.3377656, 0.04367254, -0.21394794, -0.03967783, 0.04314833) * go_6(1.0, 0.0); - result += mat4(-0.16170035, -0.09274618, -0.068409264, -0.23469074, 0.02216607, -0.020882646, -0.030780574, -0.032728698, 0.19974543, -0.038825467, -0.20880729, -0.026957387, -0.2665676, -0.0042840806, -0.17434914, -0.20162287) * go_6(1.0, 1.0); - result += mat4(0.008706336, 0.24857536, 0.07012665, 0.029141488, -0.075971976, -0.06542143, -0.26977444, 0.28518954, -0.03994618, 0.06746459, 0.15960494, -0.031614818, 0.10402686, 0.05228521, 0.2706839, -0.08412449) * go_7(-1.0, -1.0); - result += mat4(0.34868455, 0.059125874, -0.24923514, -0.14030626, -0.002206843, 0.17649965, 0.022088109, 0.16989319, 0.28018022, 0.037482813, 0.033881966, -0.110211805, -0.1461133, 0.100152865, 0.21151756, 0.12784961) * go_7(-1.0, 0.0); - result += mat4(-0.0319395, -0.17589076, -0.22462021, 0.10701813, -0.06862374, -0.09489239, 0.22301264, 0.14567333, -0.10425317, -0.017173383, -0.09257967, 0.07398802, -0.0145952385, 0.18448386, 0.21701702, -0.16777204) * go_7(-1.0, 1.0); - result += mat4(0.061221093, -0.05704288, -0.07676006, -0.052152745, -0.29757017, -0.041490067, 0.10110148, 0.06999996, 0.13920887, 0.096642986, 0.11759076, 0.039797485, -0.11345797, 0.08531267, 0.0020498617, 0.20756677) * go_7(0.0, -1.0); - result += mat4(-0.02924768, 0.43140748, 0.3576708, 0.07425467, -0.09776612, 0.17081547, 0.047453757, -0.24676917, 0.24032865, 0.16710171, 0.2931733, 0.10410114, -0.015874937, -0.098303884, -0.38009295, -0.17355318) * go_7(0.0, 0.0); - result += mat4(-0.13524444, 0.007712721, -0.15341945, 0.26658493, -0.15367007, 0.04757085, 0.05987942, 0.16386369, -0.2413242, -0.0129769435, -0.06789226, -0.10357101, 0.092468075, 0.11371365, -0.19948734, -0.14243089) * go_7(0.0, 1.0); - result += mat4(0.118277036, -0.06164381, -0.1686405, 0.058012348, -0.2670688, -0.0145501625, -0.07265152, -0.11451649, 0.06803662, -0.02435205, 0.03637894, 0.053843852, 0.03652821, -0.10161457, -0.0029967225, 0.069967866) * go_7(1.0, -1.0); - result += mat4(0.23541775, -0.059244093, -0.096260205, -0.034619953, -0.24691534, -0.22830355, -0.033745077, -0.06558064, -0.1939561, -0.27438363, -0.3102494, 0.010047581, -0.036287133, 0.015464844, -0.07904172, 0.058030576) * go_7(1.0, 0.0); - result += mat4(-0.30107716, -0.1288575, -0.022093268, 0.27418026, 0.23561528, 0.11505671, 0.3549647, -0.13953236, 0.14726228, -0.0036342216, -0.14700253, -0.028157962, -0.23330247, -0.14545065, -0.29455653, 0.28482953) * go_7(1.0, 1.0); - result += vec4(0.028692381, 0.02326062, -0.11377067, 0.025062647); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.022938877, 0.2579751, -0.013084437, -0.1089233, -0.14861627, -0.078500114, 0.019642482, -0.05139565, -0.051909085, -0.17062944, 0.068744116, -0.07403651, 0.3269677, 0.17037666, 4.5802863e-05, -0.15335672) * go_0(-1.0, -1.0); - result += mat4(0.07954113, 0.18079437, -0.28405085, 0.007825187, 0.20935248, 0.14544328, 0.033194635, -0.21030708, 0.32258448, -0.26704326, 0.16460042, 0.065626666, -0.08469482, 0.06723138, -0.09091223, -0.06205721) * go_0(-1.0, 0.0); - result += mat4(0.17380527, -0.020091513, 0.0582957, -0.024271399, 0.18975389, 0.19778416, -0.29433975, 0.15521859, 0.58399194, -0.09595809, 0.009928574, -0.18851084, -0.29115897, -0.048134226, -0.09617586, 0.047225073) * go_0(-1.0, 1.0); - result += mat4(-0.09309238, -0.07675889, -0.24878357, -0.06531893, -0.064129435, -0.009008467, 0.11631878, -0.06916144, 0.2793126, -0.32513165, 0.37253168, 0.036576062, 0.36744595, -0.04729552, -0.13206004, -0.05215635) * go_0(0.0, -1.0); - result += mat4(-0.023187222, 0.0009231289, 0.14988932, 0.23626575, -0.15809236, 0.17567657, -0.02422277, -0.33645374, -0.41344398, 0.17103645, 0.3518877, 0.47345215, -0.25195712, 0.084660046, -0.12522705, 0.052872717) * go_0(0.0, 0.0); - result += mat4(0.055161323, 0.043026455, 0.03779778, -0.08075425, -0.115782134, -0.014549669, 0.37075353, 0.22045816, -0.49088693, 0.0835494, 0.2159082, -0.41866717, -0.06417238, -0.30653054, 0.12484446, 0.13176875) * go_0(0.0, 1.0); - result += mat4(-0.045149174, 0.06681547, 0.18394029, -0.14042361, -0.07765508, 0.05034044, -0.17164557, -0.12491487, 0.4975827, -0.3203176, 0.055334024, 0.125109, 0.336075, 0.28669038, 0.30557877, 0.030119808) * go_0(1.0, -1.0); - result += mat4(0.00011821607, -0.122472174, -0.08324348, -0.027970925, -0.023000905, -0.099142514, -0.035895523, -0.08137834, -0.16044949, -0.19354698, -0.15582532, -0.081981316, 0.12961699, -0.1918534, 0.08779121, 0.12144554) * go_0(1.0, 0.0); - result += mat4(0.025441505, 0.03427134, -0.0064664106, 0.07586567, -0.1003307, -0.065233536, -0.16611056, -0.12936847, -0.50816315, -0.32010305, -0.20362125, -0.03147093, -0.072087474, 0.054650743, -0.16390504, 0.019627476) * go_0(1.0, 1.0); - result += mat4(-0.40184093, 0.022268726, -0.34950277, 0.0594148, -0.2275374, -0.12103956, 0.0052295276, -0.00024172834, 0.10389285, -0.1376218, -0.25130105, 0.14029239, -0.2917768, -0.14039762, -0.14850211, 0.035800025) * go_1(-1.0, -1.0); - result += mat4(0.062030964, 0.25622177, -0.72319925, 0.15366316, -0.183584, 0.36516508, -0.23446779, 0.08663755, -0.18829858, -0.002415918, -0.43276885, -0.07432367, -0.16350701, -0.3125193, -0.14811535, 0.0011325915) * go_1(-1.0, 0.0); - result += mat4(0.12557262, 0.20273705, -0.276058, -0.02353762, -0.066855654, 0.007290285, 0.043816283, -0.08797092, 0.12488218, -0.0654431, -0.019331945, -0.07025083, -0.24953426, -0.10457234, -0.14429206, -0.06647885) * go_1(-1.0, 1.0); - result += mat4(-0.09522532, 0.076986365, -0.21861225, -0.015553463, -0.08106973, 0.10615721, -0.11285844, 0.24737634, 0.16936691, -0.019318739, -0.11046508, -0.16758144, -0.23672962, -0.14047794, -0.055881936, -0.0519727) * go_1(0.0, -1.0); - result += mat4(-0.09556547, 0.38048413, 0.2174768, -0.40154982, 0.040295098, -0.28001946, 0.079922006, -0.27905703, 0.036086317, -0.47458485, 0.01217378, 0.047201037, -0.14604184, 0.14169596, -0.078762196, 0.39877397) * go_1(0.0, 0.0); - result += mat4(-0.043790977, 0.03552704, 0.7248381, -0.50752306, 0.28982326, -0.11697283, -0.061339833, 0.19690266, 0.044057723, 0.061007652, -0.018818501, -0.22131611, -0.32041064, 0.05665662, 0.07443633, -0.15590373) * go_1(0.0, 1.0); - result += mat4(-0.036357548, 0.099011496, -0.0600166, -0.006672921, -0.1656192, -0.058472272, -0.037689343, 0.005283873, -0.30923024, 0.046291128, 0.042236008, -0.04899875, -0.3175488, -0.12077662, -0.13294365, 0.03357164) * go_1(1.0, -1.0); - result += mat4(0.1086259, -0.19654356, 0.07482405, 0.028583387, 0.12874746, 0.13142939, -0.03945759, 0.070535645, -0.23495245, -0.039286736, 0.05450344, -0.026803093, -0.114840984, 0.045042433, -0.18101883, 0.08081232) * go_1(1.0, 0.0); - result += mat4(0.2383998, -0.033481326, 0.12682496, 0.17717046, -0.09860243, 0.09552485, -0.056021366, 0.13705646, 0.2192259, 0.2657086, -0.014578617, -0.05311957, -0.3127505, -0.0035301214, 0.044448815, -0.037845958) * go_1(1.0, 1.0); - result += mat4(-0.093362145, -0.08148622, 0.12565112, -0.019403974, -0.13835338, -0.0071526463, 0.1290535, -0.057555214, 0.09632061, -0.053040132, 0.09852903, -0.03910937, -0.032320388, 0.048392795, -0.012207167, -0.04393196) * go_2(-1.0, -1.0); - result += mat4(0.057860725, -0.2024194, 0.29320854, -0.10589582, -0.10735796, 0.13684767, 0.28570637, 0.19166973, -0.09423759, 0.22893463, -0.114109, -0.025798064, 0.017444948, 0.11321059, 0.16112305, 0.04476502) * go_2(-1.0, 0.0); - result += mat4(-0.09663057, 0.10491212, -0.0963407, -0.1480959, -0.04952603, -0.08474395, -0.028124198, -0.12026459, 0.088296264, 0.03230017, -0.05177514, -0.024137117, -0.011235952, -0.049136978, 0.1452754, 0.11608158) * go_2(-1.0, 1.0); - result += mat4(0.07949651, 0.06453834, 0.31745693, -0.03497614, -0.20939794, -0.042127363, 0.017483925, -0.12876181, -0.0162109, -0.037397776, -0.013959519, 0.007777444, 0.1301563, 0.03655948, -0.044273265, -0.069461495) * go_2(0.0, -1.0); - result += mat4(0.076347195, 0.07847409, -0.03042475, -0.08723051, 0.23076174, -0.078408934, 0.40998375, 0.021870123, 0.19212195, 0.14179486, 0.09031163, -0.15221268, 0.20335157, -0.58715457, -0.023486411, -0.015180159) * go_2(0.0, 0.0); - result += mat4(-0.08601226, -0.048167598, -0.09975146, 0.008574901, 0.11590632, 0.0836411, -0.20796347, -0.29599068, -0.08497977, 0.04826079, -0.198501, 0.31000587, 0.06959842, 0.026950095, 0.19877516, -0.23890266) * go_2(0.0, 1.0); - result += mat4(-0.06923031, -0.028005023, -0.13632496, 0.004848759, -0.06092114, -0.12422374, 0.117385164, -0.017468572, -0.028347377, 0.002899302, 0.046875317, -0.058066733, 0.0028499789, -0.11922645, -0.209848, -0.016156359) * go_2(1.0, -1.0); - result += mat4(0.05266488, 0.08492771, 0.09440972, -0.08432919, -0.05243905, 0.1362437, -0.04429104, 0.11472059, -0.05158979, -0.23943315, 0.12290304, 0.040338255, -0.07158117, 0.06566732, -0.20102906, 0.114058346) * go_2(1.0, 0.0); - result += mat4(0.056619167, -0.033348348, 0.052370623, -0.06495122, 0.027564008, 0.08083595, -0.0127976, -0.06486138, -0.050432798, 0.026196232, 0.022196831, 0.20244269, 0.039577875, -0.052140575, -0.009956325, 0.077953376) * go_2(1.0, 1.0); - result += mat4(0.017136047, -0.15870284, -0.07191247, 0.18083136, 0.20753674, 0.15130065, -0.1790816, 0.26776645, -0.12231414, 0.24638735, -0.14738652, -0.028907528, 0.040832903, -0.067194805, 0.17294602, -0.0026166802) * go_3(-1.0, -1.0); - result += mat4(0.10104892, -0.018738149, -0.073060036, -0.29469725, 0.092650965, -0.15875727, -0.08502473, 0.032668564, -0.13845024, 0.27037326, -0.19944431, 0.039671347, -0.04895266, -0.017618237, 0.039025962, 0.0016598356) * go_3(-1.0, 0.0); - result += mat4(0.17514467, -0.07050378, 0.18666385, 0.12077226, 0.031181589, -0.21891394, 0.44564912, -0.14018096, -0.124896295, -0.0016302528, 0.03213462, 0.11361923, -0.07941629, -0.0925229, -0.084085576, 0.030316519) * go_3(-1.0, 1.0); - result += mat4(-0.35773918, -0.059806474, -0.0020904322, 0.19435045, -0.10230651, -0.007758403, -0.23293154, -0.32158864, -0.11275798, 0.16192111, 0.008352999, -0.008750009, 0.09212086, -0.09098618, -0.26915243, 0.03357177) * go_3(0.0, -1.0); - result += mat4(0.09943201, 0.1901531, -0.026349293, 0.17466106, -0.10673977, 0.2547749, 0.10157686, 0.1326886, 0.03555933, 0.36037236, -0.4218841, 0.07446364, -0.2235149, -0.13361512, -0.24873514, -0.23566855) * go_3(0.0, 0.0); - result += mat4(-0.083322965, 0.067394584, -0.15775509, 0.76516485, -0.40491992, 0.051136486, -0.21803752, -0.12209488, 0.043623567, 0.0404948, -0.28643316, 0.039587826, 0.0026148176, -0.08919038, -0.3478394, 0.116790466) * go_3(0.0, 1.0); - result += mat4(0.13910362, 0.023986172, 0.07350453, 0.010063174, 0.12445804, 0.09106235, 0.10570027, 0.025098123, 0.08997035, 0.2792279, 0.3160799, -0.3935213, 0.035729084, -0.021334067, -0.026267715, -0.044499733) * go_3(1.0, -1.0); - result += mat4(0.20421049, 0.07346835, 0.18474397, 0.026174849, -0.02989818, -0.06286323, 0.2275253, -0.029805843, 0.115734585, 0.15343104, 0.66103226, 0.075917505, -0.10288058, -0.021190342, 0.04455335, -0.011274376) * go_3(1.0, 0.0); - result += mat4(-0.2354359, -0.14831413, 0.037986103, 0.036590938, 0.25972295, 0.006108503, 0.030833008, -0.20212393, 0.022195943, -0.010900623, 0.37299496, -0.13169637, 0.03193699, 0.007832017, -0.017574975, 0.070344575) * go_3(1.0, 1.0); - result += mat4(-0.11885056, -0.18644641, 0.17840427, -0.13825245, -0.030942062, 0.015069156, 0.021639956, 0.11524744, -0.0601021, -0.008369759, 0.15134856, -0.18300958, -0.09940503, 0.009815146, -0.017253477, 0.09037604) * go_4(-1.0, -1.0); - result += mat4(-0.110104315, -0.009834152, -0.14369361, 0.06185118, -0.08255751, -0.0516039, -0.1951323, -0.00047362587, 0.017227406, -0.15231636, -0.042297862, -0.047925126, 0.34693977, 0.061454788, -0.11192555, 0.16597812) * go_4(-1.0, 0.0); - result += mat4(-0.15342343, 0.10931233, -0.007310907, -0.07751543, -0.0888511, -0.08119914, -0.1414023, -0.032593522, -0.13005419, -0.09993501, 0.20015062, -0.08697108, 0.020872341, -0.076239474, -0.09099305, -0.11908446) * go_4(-1.0, 1.0); - result += mat4(-0.044990964, -0.027314631, -0.07820695, 0.078159526, 0.042958725, 0.088754624, -0.049424402, 7.2685914e-05, -0.00056504336, -0.05408936, 0.24272163, -0.10305403, 0.041021567, 0.110585794, 0.10719972, 0.08432359) * go_4(0.0, -1.0); - result += mat4(-0.095741525, 0.12368431, 0.14801304, 0.0380265, -0.015476223, -0.06634335, 0.079489276, 0.058822274, 0.23608524, 0.29305235, -0.009837359, 0.16402614, -0.016570859, 0.3342296, 0.09576365, -0.021151496) * go_4(0.0, 0.0); - result += mat4(0.10729588, 0.045816828, 0.1262373, 0.0052509876, -0.121602945, -0.055951986, 0.04807077, -0.016409213, -0.011724864, 0.051216003, -0.119300105, 0.06001936, 0.084430665, -0.020765483, 0.16509366, -0.008958939) * go_4(0.0, 1.0); - result += mat4(-0.064694576, 0.110651545, 0.15088093, -0.046932697, 0.058936216, 0.06959351, -0.0020466733, 0.04747578, 0.22621915, 0.13449503, 0.01605113, 0.16042295, -0.07204144, -0.0900099, -0.088417225, -0.082057305) * go_4(1.0, -1.0); - result += mat4(0.16447057, -0.04517711, -0.1714595, -0.083775364, 0.06958718, -0.053486623, -0.031540155, 0.0049946113, 0.18206403, -0.12547323, -0.1314431, -0.2403156, 0.11255935, -0.01883286, 0.21715029, 0.043270845) * go_4(1.0, 0.0); - result += mat4(0.108898625, 0.079559706, -0.0034652199, 0.15574843, 0.025981857, -0.04027031, -0.10371948, -0.083748214, -0.067730375, -0.018392408, 0.001656431, 0.115139425, -0.021774331, -0.24732396, -0.07133477, -0.06610868) * go_4(1.0, 1.0); - result += mat4(-0.035133053, 0.03512937, 0.15728034, 0.15501308, -0.009090469, 0.089557186, -0.40637708, 0.2399038, 0.10503285, 0.025647165, -0.026959898, 0.052915934, 0.37169585, 0.19439524, 0.05578172, -0.14021298) * go_5(-1.0, -1.0); - result += mat4(0.14407758, 0.13171129, 0.034860328, -0.034273557, 0.31252018, -0.24374081, -0.092568725, -0.24656439, 0.013929443, -0.045619074, -0.030720312, -0.08240126, -0.008946209, -0.12069562, 0.10321105, 0.050253898) * go_5(-1.0, 0.0); - result += mat4(-0.16870415, -0.0053623654, -0.24239568, -0.015851695, 0.3168152, 0.10030775, -0.08809818, 0.19916728, 0.00062866835, 0.0105750095, -0.11852275, -0.038046032, -0.024067584, -0.07467565, 0.08368766, 0.10921712) * go_5(-1.0, 1.0); - result += mat4(-0.17414445, -0.08300633, -0.2915034, 0.08091456, 0.29668987, 0.15542515, 0.03857886, -0.12984616, 0.07567486, 0.14261106, 0.029647684, -0.08307407, 0.0063827154, -0.21285148, -0.05295185, 0.11996014) * go_5(0.0, -1.0); - result += mat4(0.21793848, -0.0986422, -0.38136294, -0.15358298, 0.23020543, -0.05977532, -0.11393491, -0.096013635, 0.24110852, 0.16509794, 0.123878606, 0.37243974, -0.11803778, -0.08029274, -0.3473595, -0.016619613) * go_5(0.0, 0.0); - result += mat4(-0.23718977, 0.09085187, 0.029400716, 0.47734168, 0.31362626, 0.017727366, 0.020105481, 0.057455037, -0.051743355, 0.07249409, 0.049400017, -0.1550629, -0.071846515, -0.1437987, 0.2417953, 0.014299535) * go_5(0.0, 1.0); - result += mat4(-0.08694347, 0.009841694, 0.09711932, 0.15246062, 0.098932154, -0.014437434, -0.11970662, 0.07598205, 0.038751386, 0.03185043, -0.07837853, 0.108438924, 0.04504558, 0.011566745, 0.008329154, 0.1426964) * go_5(1.0, -1.0); - result += mat4(0.048465043, 0.05677615, 0.099296875, -0.18124029, -0.010807039, -0.00491463, -0.33124956, -0.14285894, 0.083550416, -0.0138887465, -0.23193465, -0.097341135, 0.028116707, -0.02220312, -0.37721866, 0.01048504) * go_5(1.0, 0.0); - result += mat4(0.041770935, 0.14585412, 0.2197504, 0.08920772, 0.21015723, -0.028688433, 0.023897428, 0.067301795, -0.23041755, 0.007535018, -0.1479986, -0.056359813, -0.17258057, -0.115048505, -0.12676053, -0.08775268) * go_5(1.0, 1.0); - result += mat4(0.024465568, 0.082423724, -0.080443636, 0.06963394, 0.047642346, -0.14285465, -0.020962767, -0.09884441, 0.17492405, 0.003157105, -0.004446115, 0.08194303, 0.1291698, 0.027452087, 0.15300538, -0.054447226) * go_6(-1.0, -1.0); - result += mat4(0.04749992, 0.16784605, 0.1447426, -0.1622565, 0.24699093, -0.13908885, 0.24418731, -0.02740722, 0.12872131, -0.008208542, 0.20528013, 0.13789995, -0.15344016, -0.09991068, 0.14630906, -0.17380811) * go_6(-1.0, 0.0); - result += mat4(0.095947415, 0.20968701, -0.007149529, 0.094800524, 0.05043026, -0.0693885, 0.12464035, 0.03035088, 0.0108456295, 0.12440731, -0.15677981, -0.004279606, -0.21148744, -0.0016452523, -0.09077341, 0.08485625) * go_6(-1.0, 1.0); - result += mat4(0.14946367, -0.026544122, -0.01740767, -0.02725897, -0.031115597, -0.09615934, -0.014224658, 0.069897555, -0.06448997, 0.013844944, -0.24855709, 0.19252767, -0.07110074, -0.23129512, 0.17940485, -0.15197137) * go_6(0.0, -1.0); - result += mat4(0.024190446, -0.4131039, 0.20890464, -0.14430898, 0.09224411, -0.084142424, -0.1300263, -0.12037812, -0.13061382, -0.23952286, 0.3093258, -0.4347307, -0.07327249, -0.34333092, -0.22807422, -3.587411e-08) * go_6(0.0, 0.0); - result += mat4(-0.12566617, 0.09386748, -0.060595963, 0.06381177, 0.008107327, -0.063545115, 0.014224591, -0.113904804, 0.014311766, 0.074355006, 0.009707868, 0.06504525, -0.035151925, -0.059292633, -0.009372453, 0.0428329) * go_6(0.0, 1.0); - result += mat4(0.13565753, 0.08438446, -0.25228864, 0.29451725, -0.1524786, -0.05199007, -0.14514388, -0.007710791, -0.23031662, -0.069889344, -0.119042754, -0.15772636, 0.049727075, 0.14252858, 0.12696588, 0.034571454) * go_6(1.0, -1.0); - result += mat4(-0.318517, 0.16518372, 0.4465158, -0.12741676, -0.14931186, 0.01184804, -0.12370663, -0.05469679, -0.052085515, 0.07560356, 0.038580637, 0.101390935, -0.10760684, -0.09168702, -0.11736598, -0.027629623) * go_6(1.0, 0.0); - result += mat4(0.017697498, -0.032091524, -0.19681352, -0.39446026, -0.103161484, -0.041192908, 0.12083361, 0.033441972, 0.05410027, -0.13009293, -0.029752202, -0.055233393, 0.07508266, 0.21648347, 0.016127443, 0.003726564) * go_6(1.0, 1.0); - result += mat4(0.11844395, -0.20417796, 0.046860386, -0.04963335, 0.28758386, 0.12296038, 0.006130141, -0.12428727, -0.08112634, 0.08013286, -0.022072678, -0.013939199, -0.26830623, -0.0774501, -0.12584007, 0.1048961) * go_7(-1.0, -1.0); - result += mat4(-0.002199185, -0.18720287, 0.09647677, -0.099159345, -0.37042502, 0.12126858, -0.055984303, -0.006307439, 0.050587848, 0.13118829, 0.014796261, 0.118981615, 0.059268136, 0.04953137, -0.26783678, -0.005206253) * go_7(-1.0, 0.0); - result += mat4(0.29162773, -0.06825134, 0.35480535, -0.013254458, 0.13690558, -0.038092773, -0.1442183, 0.008582979, 0.06665567, 0.09263725, 0.06401897, 0.04955423, 0.026602494, -0.043426443, -0.06760424, -0.028097454) * go_7(-1.0, 1.0); - result += mat4(0.0062063616, 0.041832373, 0.026989486, 0.07646448, -0.075214215, -0.04088086, 0.030253297, -0.0031407007, 0.10060057, -0.21035422, -0.0057072476, 0.009671492, -0.01255018, 0.1356472, -0.07203105, -0.09337885) * go_7(0.0, -1.0); - result += mat4(-0.16497216, -0.46643725, 0.10457678, -0.08723099, 0.009856483, -0.09712093, -0.06077413, 0.029142302, -0.31294492, -0.2785737, -0.06385234, -0.46307138, 0.11363836, 0.050526526, 0.22832777, -0.037936512) * go_7(0.0, 0.0); - result += mat4(0.2284257, -0.06757494, -0.12362806, -0.46540114, -0.027965, -0.119273104, -0.04408465, -0.08089625, 0.064668186, 0.18018429, -0.052782137, 0.2974697, 0.07583212, -0.062142026, 0.16650566, -0.20243031) * go_7(0.0, 1.0); - result += mat4(0.1417323, 0.18362466, 0.015461011, -0.07306669, 0.05225903, 0.03313784, 0.046318106, 0.092073604, 0.014854908, -0.009204208, 0.08582702, -0.060514253, -0.033618286, -0.082627475, -0.047510605, -0.17358147) * go_7(1.0, -1.0); - result += mat4(0.044509146, 0.18667401, -0.11588646, 0.21190381, 0.13762853, -0.080344714, 0.035992276, -0.09347646, -0.05722154, -0.020241026, 0.09365893, 0.0743754, 0.028774736, -0.09181784, 0.117522955, 0.024451857) * go_7(1.0, 0.0); - result += mat4(0.33748287, 0.33612773, -0.14045207, -0.11222517, -0.11824314, 0.008339795, -0.13027953, 0.011434568, 0.20478332, 0.084446914, 0.10224658, 0.12708066, 0.3002674, 0.13365488, -0.06434799, -0.0489962) * go_7(1.0, 1.0); - result += vec4(0.06834564, 0.017679863, 0.058996353, 0.07812309); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.096992515, 0.08555787, 0.05567075, 0.3684235, -0.08453214, 0.14874797, -0.03518968, -0.21077682, 0.50580394, 0.27776504, -0.14072414, -0.047293838, -0.02501663, -0.18525644, -0.049244765, -0.019314952) * go_0(-1.0, -1.0); - result += mat4(0.15942743, 0.05601269, 0.43267244, -0.10105792, -0.10224665, -0.011477545, 0.18586546, 0.15386245, 0.018015172, 0.40642846, -0.43969464, -0.16773906, -0.08753851, 0.023862977, -0.20476931, -0.19330433) * go_0(-1.0, 0.0); - result += mat4(-0.08384181, -0.21928434, 0.24617073, 0.072414346, 0.01447392, 0.1280031, 0.26045907, -0.34674746, -0.06659609, 0.5437911, -0.2481379, -0.4408586, -0.02065628, 0.35024786, -0.43344817, -0.23969968) * go_0(-1.0, 1.0); - result += mat4(-0.26318234, -0.17276719, -0.27381238, 0.43724668, 0.1250605, 0.26279348, -0.1950965, 0.030116973, 0.22524981, -0.82836837, -0.37731346, -0.20764303, 0.082648724, 0.28439602, 0.2835361, -0.22858605) * go_0(0.0, -1.0); - result += mat4(-0.11053296, -0.18050304, -0.10785215, -0.5128143, -0.10638461, -0.18107837, -0.14984047, -0.31184852, 0.1233967, -0.5248787, 0.625766, -0.3261744, -0.33758238, -0.42288753, -0.24827915, 0.46629912) * go_0(0.0, 0.0); - result += mat4(0.05450445, 0.24746427, -0.12228202, 0.08459498, 0.21182795, -0.15472144, -0.20880555, -0.08567581, -0.06358891, 0.04441746, -0.24661979, -0.3056718, -0.011843654, 0.02622977, -0.30063242, 0.069148876) * go_0(0.0, 1.0); - result += mat4(0.10252986, 0.24974889, -0.14753763, -0.11542639, -0.02504192, 0.167707, -0.19300954, -0.28126183, 0.16349459, -0.39749804, -0.21315983, -0.3632333, 0.25346163, 0.011594266, 0.22163333, -0.36140066) * go_0(1.0, -1.0); - result += mat4(0.084694065, -0.15232442, 0.15100913, 0.258049, -0.16647953, -0.057295427, -0.2734653, 0.19444938, -0.543564, 0.1580093, -0.08364827, 0.39013955, 0.09799076, -0.28022006, 0.4436997, -0.007523592) * go_0(1.0, 0.0); - result += mat4(0.16044939, -0.16409683, -0.036102563, -0.045212515, 0.013765079, 0.16512275, -0.34618682, 0.15582882, -0.26858786, 0.11227446, -0.69422704, 1.0182123, 0.56721294, -0.27683023, -0.44450805, -0.056621786) * go_0(1.0, 1.0); - result += mat4(-0.005846392, -0.1002789, -0.11597346, 0.29757038, -0.3303294, -0.1128059, -0.16792095, -0.017062422, -0.20550682, -0.101541616, 0.1326292, -0.05803425, -0.1431525, 0.09539495, -0.0020564438, -0.015330874) * go_1(-1.0, -1.0); - result += mat4(-0.03305593, 0.30911654, -0.013541906, -0.03935406, -0.021767953, 0.033086017, -0.032538854, 0.29394448, -0.5953677, 0.042400517, -0.083737336, 0.35759467, -0.19653685, -0.0024307214, -0.022875965, 0.23306265) * go_1(-1.0, 0.0); - result += mat4(0.035584986, -0.08059428, 0.34352207, 0.1548032, 0.22265454, -0.09850938, 0.059585627, 0.13525864, -0.15460324, -0.12443778, -0.0065347757, 0.008565568, -0.09459641, -0.036760993, -0.16726579, 0.08680428) * go_1(-1.0, 1.0); - result += mat4(8.5111475e-05, 0.2236033, 0.17141129, -0.23127146, 0.15972026, 0.34908256, 0.26294386, 0.13128816, -0.16243693, 0.15757012, -0.22409199, -0.12647703, -0.18430239, 0.20520009, -0.02374801, -0.16203757) * go_1(0.0, -1.0); - result += mat4(0.22832601, 0.34606495, 0.11871914, -0.020249737, 0.21807198, -0.4782955, 0.27529162, -0.17565349, 0.038051367, -0.40700185, -0.2975774, -0.5380789, -0.004458205, -0.039739095, -0.19442874, -0.10650714) * go_1(0.0, 0.0); - result += mat4(0.25389373, -0.21592398, 0.46637633, 0.29954398, 0.011773476, 0.34604436, 0.015194187, 0.088156946, -0.07462061, -0.1797378, 0.24949403, 0.12773448, 0.04304656, 0.025975281, -0.0071224314, 0.10722792) * go_1(0.0, 1.0); - result += mat4(-0.021214327, 0.18125464, 0.09782468, 0.11554455, -0.10773687, 0.03764718, -0.07123926, 0.42674774, 0.15713947, 0.13268334, 0.2590209, 0.5615417, -0.10444575, 0.050965227, -0.1657652, -0.028306652) * go_1(1.0, -1.0); - result += mat4(0.07891638, 0.10982218, 0.18858793, 0.088180885, 0.21412432, 0.17309621, 0.13349771, -0.06536336, 0.2537686, 0.028627483, 0.2291187, -0.16728498, -0.0649568, -0.21011665, 0.12501954, 0.16584753) * go_1(1.0, 0.0); - result += mat4(0.37670746, -0.06669131, 0.2308896, -0.27846798, 0.03864727, -0.2396756, 0.20961864, -0.0955574, -0.17304963, 0.006572388, 0.4152245, -0.16013862, -0.048539825, -0.040141087, -0.17446917, 0.172646) * go_1(1.0, 1.0); - result += mat4(0.016411193, -0.24965028, -0.3197888, -0.15805353, 0.062157832, -0.07450992, 0.14774385, 0.019989528, -0.22329696, 0.07624211, 0.119352184, -0.12926702, 0.014121515, 0.04892924, -0.10143942, 0.1218296) * go_2(-1.0, -1.0); - result += mat4(-0.027942078, -0.21344666, 0.090950675, -0.017026879, -0.06316872, -0.17956391, 0.14474703, -0.12104946, 0.07770245, -0.11934515, 0.03306196, 0.08028085, 0.0807563, -0.09477622, 0.03688184, 0.031241085) * go_2(-1.0, 0.0); - result += mat4(0.058301553, 0.17516647, -0.1356353, -0.15869999, -0.06487614, -0.17825274, -0.28164253, 0.12063855, 0.14051922, 0.06572677, 0.24797052, -0.26174536, -0.014646216, -0.021676809, 0.102138005, 0.07929566) * go_2(-1.0, 1.0); - result += mat4(0.24743414, -0.07182416, -0.12567408, -0.57571995, -0.018107418, 0.27796823, -0.08527231, -0.18019378, 0.060446773, 0.10802219, 0.13173679, 0.1200748, 0.18567154, 0.19163565, -0.057419125, -0.24488002) * go_2(0.0, -1.0); - result += mat4(-0.0064926744, -0.35516098, 0.21456684, -0.07162182, -0.11187953, 0.11901505, 0.36913052, -0.019030696, -0.24774994, -0.026328832, 0.121998094, 0.20425063, -0.04413792, 0.16391441, -0.06149749, -0.5538841) * go_2(0.0, 0.0); - result += mat4(0.12691425, 0.011305395, -0.057030205, -0.029743116, -0.11666209, 0.20812204, 0.07555653, 0.011672403, 0.13864042, -0.08993008, -0.08202476, 0.12926434, 0.45806012, -0.0038320064, -0.02397306, 0.25906637) * go_2(0.0, 1.0); - result += mat4(-0.05215719, -0.2567637, -0.028009133, 0.12884264, -0.03538685, -0.14153866, -0.18635908, 0.3127351, -0.06493799, 0.11058845, 0.039282236, -0.089117266, -0.20289995, 0.16836898, -0.2553091, 0.3781839) * go_2(1.0, -1.0); - result += mat4(-0.038994674, 0.15095948, 0.010665794, -0.16193166, 0.029675307, 0.067519955, 0.014059612, -0.10524365, 0.22133544, -0.17850679, 0.17689049, -0.079176724, 0.140001, -0.106958285, -0.054205164, -0.063518755) * go_2(1.0, 0.0); - result += mat4(-0.0147742275, -0.02825343, -0.17911723, -0.033807088, -0.032546505, 0.07845434, -0.10618929, -0.24304347, 0.08031239, -0.081033856, 0.11696929, 0.30320054, -0.30589563, 0.025857087, 0.19169633, -0.21005262) * go_2(1.0, 1.0); - result += mat4(0.08359386, 0.29936704, 0.16312078, 0.21463135, 0.08171467, -0.1238904, 0.21628477, 0.20026375, -0.022520576, -0.09336571, 0.112078905, -0.11331715, 0.009337522, -0.050099798, -0.18231672, -0.020947263) * go_3(-1.0, -1.0); - result += mat4(-0.030812407, 0.111476146, 0.5977092, 0.13000198, -0.010192378, 0.054949045, 0.22067606, -0.2215171, -0.016222132, 0.10579395, 0.10758011, -0.009829448, -0.055121887, -0.018792551, -0.41590548, -0.04133538) * go_3(-1.0, 0.0); - result += mat4(0.080052584, 0.044864707, 0.106742695, -0.119988576, -0.21180773, 0.21859854, -0.30558732, 0.031225171, -0.1221141, -0.1679698, 0.19237423, 0.18212804, -0.019355904, 0.04471777, -0.4626242, 0.08120199) * go_3(-1.0, 1.0); - result += mat4(0.04417224, 0.22517249, 0.18053815, 0.2189462, -0.3901049, 0.12456932, 0.046451665, 0.027453724, -0.21874383, -0.28369403, 0.38541645, 0.15896674, 0.07901438, -0.11870142, -0.23583438, -0.21800627) * go_3(0.0, -1.0); - result += mat4(0.16514415, 0.48851582, 0.17654735, -0.32523116, 0.28139102, 0.32789868, 0.0060704425, -0.08439404, -0.19455875, 0.3426219, 0.1354883, 0.13480486, -0.047210373, 0.009763648, 0.10380663, -0.14301018) * go_3(0.0, 0.0); - result += mat4(-0.01964344, -0.22196314, 0.27099127, -0.3624297, -0.19935602, -0.57573617, 0.05781204, 0.34769946, -0.1655793, -0.31260255, -0.006191821, -0.14188464, -0.048039295, 0.016876832, 0.044305492, 0.11576497) * go_3(0.0, 1.0); - result += mat4(0.031500664, 0.213127, 0.040512875, -0.14993736, 0.1355947, 0.098466784, 0.2576776, -0.12359301, -0.095675476, 0.10758078, 0.15866314, 0.24855627, 0.01722974, 0.05124147, -0.2743417, 0.039515547) * go_3(1.0, -1.0); - result += mat4(0.2946348, 0.100007325, -0.06735624, 0.05319054, 0.19419125, 0.019504784, 0.07159323, 0.21550444, -0.19059516, 0.1583541, 0.3195432, -0.14882845, 0.06771776, -0.032769382, -0.08348987, 0.0024430798) * go_3(1.0, 0.0); - result += mat4(-0.05275983, 0.0034397016, -0.11966796, 0.12378445, 0.17581114, 0.13944638, 0.019923829, -0.031624325, -0.021019042, -0.16827096, -0.046106737, -0.06353076, 0.05943962, -0.20756234, 0.042654432, 0.13294446) * go_3(1.0, 1.0); - result += mat4(-0.042804338, 0.0009211868, -0.23128751, -0.14900532, 0.020116998, -0.129845, -0.26453322, 0.12563406, -0.015730144, 0.18961458, -0.2286719, -0.26802087, -0.0013182014, -0.08829011, -0.022237033, 0.18785976) * go_4(-1.0, -1.0); - result += mat4(0.068006374, 0.03713224, -0.17821713, 0.078400075, -0.03354765, 0.05032715, -0.22770362, 0.082578026, -0.164677, 0.010397865, 0.040545795, -0.07767106, -0.04931102, -0.020216117, 0.19189319, -0.07949725) * go_4(-1.0, 0.0); - result += mat4(-0.02560599, -0.014282298, -0.30485487, 0.12205604, 0.13143952, -0.020973703, -0.60740465, 0.18116136, -0.028516186, -0.09175719, -0.3332597, 0.0993698, 0.011291339, -0.018563187, -0.04645049, 0.1537859) * go_4(-1.0, 1.0); - result += mat4(-0.19548458, 0.008757838, -0.022760604, 0.056750417, 0.10407769, -0.103828914, -0.30039603, 0.15838397, 0.14583376, 0.14352289, 0.5236325, -0.22845235, 0.024826096, -0.15084279, -0.11028316, 0.3162365) * go_4(0.0, -1.0); - result += mat4(-0.27014557, -0.14510567, 0.13275504, -0.04220442, 0.073360756, 0.09062856, 0.25474098, 0.036567308, 0.029930808, -0.07118475, -0.38858262, 0.24752647, 0.18212575, 0.05463796, 0.2687639, -0.49617207) * go_4(0.0, 0.0); - result += mat4(-0.19640562, 0.101908855, 0.17502995, -0.042161964, 0.05290567, -0.025675468, -0.17403199, 0.09100326, 0.010622265, 0.044125065, -0.21804531, -0.1000515, 0.09555498, -0.042056557, 0.30270827, -0.110502906) * go_4(0.0, 1.0); - result += mat4(-0.015954453, 0.18156542, -0.026816932, 0.040066455, -0.041097276, -0.036309887, -0.27080503, -0.046121623, 0.2809894, 0.15110923, -0.051393576, -0.09357936, -0.110129625, -0.0112814475, -0.67396337, -0.045809776) * go_4(1.0, -1.0); - result += mat4(0.030026576, 0.31455976, 0.2093852, 0.07049524, 0.087148614, 0.04378545, -0.23404805, -0.21867152, 0.0780137, -0.3653028, 0.04958755, -0.24105056, -0.005830701, 0.14313154, 0.014666525, -0.12205944) * go_4(1.0, 0.0); - result += mat4(0.041753422, -0.029019587, 0.28341058, -0.11360368, -0.04306824, -0.022564419, -0.25620422, -0.07497915, -0.027317826, 0.014858011, -0.20636855, -0.34799644, -0.09822817, 0.11054621, 0.048805986, 0.28068805) * go_4(1.0, 1.0); - result += mat4(0.04645007, 0.20781171, -0.022659602, -0.16183186, 0.043681737, -0.016835278, -0.56000787, 0.25379097, -0.04654751, -0.009801681, 0.51817185, -0.28172117, -0.09141667, 0.004477492, 0.3877909, -0.25990424) * go_5(-1.0, -1.0); - result += mat4(-0.05770895, -0.32386646, 0.12786265, 0.25714403, -0.15705961, 0.042209778, 0.27720693, -0.31767642, 0.07279373, -0.19555818, 0.037276905, 0.17997949, 0.0382839, -0.18058495, 0.11596946, -0.4803383) * go_5(-1.0, 0.0); - result += mat4(0.14316835, -0.10939212, -0.57301897, 0.107101925, 0.027679194, 0.10561584, 0.16322306, -0.029265253, 0.015432328, 0.078424856, -0.3036955, 0.077147335, -0.07165004, 0.053753722, 0.046870816, -0.16831237) * go_5(-1.0, 1.0); - result += mat4(-0.0015454052, 0.11543685, 0.011629485, 0.09174164, -0.0020554285, -0.12829418, -0.16338444, -0.3855414, 0.09214294, 0.3051444, 0.4075737, 0.21011099, 0.09273038, 0.1422971, 0.23177463, -0.5677775) * go_5(0.0, -1.0); - result += mat4(-0.38397464, 0.1062587, 0.39587164, -0.13753776, -0.1408451, 0.051540542, -0.43004695, -0.37155452, 0.018951273, -0.12102222, 0.09337273, -0.1371699, -0.15890656, 0.06723986, -0.434453, 0.82531) * go_5(0.0, 0.0); - result += mat4(0.17049496, -0.04301534, -0.008399479, -0.02239451, -0.09903332, 0.16583356, -0.09590486, -0.43768612, -0.02140423, -0.017859606, -0.050639637, -0.15041262, 0.115062304, -0.05731665, -0.2678928, 0.3464159) * go_5(0.0, 1.0); - result += mat4(0.08870617, -0.118556865, -0.13360792, -0.09894303, -0.15581502, 0.2192686, -0.39398706, 0.11267478, 0.09166812, -0.15498365, -0.2917533, -0.16147003, 0.031740874, -0.22583205, -0.011654207, 0.30131137) * go_5(1.0, -1.0); - result += mat4(0.041226245, 0.073949926, 0.020469612, -0.04560685, 0.11118197, -0.24875127, -0.28384277, -0.209574, -0.11342182, -0.028049335, -0.30193615, -0.079933584, -0.095979676, -0.10020118, -0.19420303, -0.075664096) * go_5(1.0, 0.0); - result += mat4(0.14797074, -0.3470899, 0.39260823, 0.017051281, 0.06762197, -0.018575529, 0.0880026, -0.21063547, -0.1322691, 0.09712066, -0.4276631, 0.19340965, 0.12975846, 0.035868555, -0.70068085, -0.16410393) * go_5(1.0, 1.0); - result += mat4(-0.18932801, 0.09462974, 0.42027336, -0.37972912, 0.14362521, 0.19216716, -0.43429968, 0.059396047, -0.0013960754, 0.0058320346, -0.25363076, 0.044528674, -0.045085996, 0.09108611, -0.08413328, -0.32486486) * go_6(-1.0, -1.0); - result += mat4(-0.4067053, 0.10778585, 0.28718376, -0.051091816, 0.15242375, -0.02981224, -0.097597815, -0.048364934, 0.17647475, -0.083620705, -0.07125797, 0.044771638, 0.16834657, -0.025327723, -0.24978308, 0.09879097) * go_6(-1.0, 0.0); - result += mat4(-0.14262679, -0.24012862, 0.28995973, -0.08896369, 0.010631018, 0.09540369, -0.06608168, -0.18771736, -0.014997884, 0.030013464, 0.25964305, -0.21135412, 0.063037746, -0.018949352, -0.13153805, -0.2391852) * go_6(-1.0, 1.0); - result += mat4(0.057333205, 0.35793823, -0.031858347, 0.21486303, -0.04569342, 0.12527412, -0.12659034, 0.09696183, 0.08018003, -0.20497574, -0.38521993, 0.07651565, 0.07672333, -0.13392955, 0.080162585, -0.21611322) * go_6(0.0, -1.0); - result += mat4(0.089075185, -0.0313562, -0.1678185, -0.59176946, -0.10085004, -0.07158931, -0.20779158, 0.07887701, 0.05102273, 0.054919396, 0.20206434, -0.60396665, -0.21453445, -0.0129903015, -0.21422856, 0.120469116) * go_6(0.0, 0.0); - result += mat4(0.24352759, -0.46128348, -0.11604824, -0.12906942, -0.092262454, 0.093686655, 0.008656515, -0.09435711, 0.02955139, 0.058670785, 0.31187442, -0.012236685, -0.11576328, 0.26213887, -0.3678442, 0.39925987) * go_6(0.0, 1.0); - result += mat4(0.09056785, 0.025610259, 0.04404834, 0.04880529, -0.018727796, -0.02463311, -0.33473116, 0.18240984, -0.31690162, -0.03753813, -0.49378097, 0.034098472, 0.08104111, 0.15535483, 0.54219043, -0.14415042) * go_6(1.0, -1.0); - result += mat4(0.2178136, 0.26973012, -0.08373426, 0.050942183, -0.026202869, -0.19092646, -0.15695636, 0.14941269, -0.008460806, 0.17145476, -0.15403928, 0.30220225, -0.008509539, -0.07173873, -0.028730325, 0.11379968) * go_6(1.0, 0.0); - result += mat4(-0.423233, 0.22220805, 0.2923962, 0.07597547, 0.04264445, 0.073609315, -0.28772584, -0.018501874, 0.009833902, 0.09063646, 0.15016796, -0.050786685, -0.044880487, -0.00094357406, 0.054167807, -0.4163448) * go_6(1.0, 1.0); - result += mat4(0.064591885, -0.017542299, -0.7427811, 0.1085436, -0.099237405, 0.07204454, 0.21403041, -0.44325823, 0.063634664, 0.019480009, -0.5166522, 0.48371652, 0.042217735, -0.08151546, -0.16102481, 0.38363907) * go_7(-1.0, -1.0); - result += mat4(0.23603337, 0.36189508, 0.16096863, -0.23203878, 0.3909665, -0.048548676, -0.08426398, 0.13699533, -0.16585836, 0.08123174, 0.23689987, -0.14406693, -0.12765872, 0.14779435, -0.200962, 0.27416065) * go_7(-1.0, 0.0); - result += mat4(-0.29448098, 0.14758095, 0.57802075, 0.021730013, 0.13210014, 0.104395285, -0.2312142, -0.2866295, 0.016930144, -0.15231368, 0.14054593, -0.09351796, 0.1032217, 0.041166462, -0.36189362, 0.41247606) * go_7(-1.0, 1.0); - result += mat4(-0.007560109, -0.0803, -0.16032574, 0.05478983, -0.1759635, -0.14446284, 0.15542305, -0.16604201, -0.04187009, -0.26687822, -0.587336, -0.24216992, -0.23209628, 0.20443848, 0.20857601, 0.39599934) * go_7(0.0, -1.0); - result += mat4(-0.14840446, 0.40601328, -0.7559737, 0.2739641, -0.25899225, -0.08748905, 0.26742223, -0.1928892, -0.069469795, 0.17335804, 0.14560762, -0.29675013, 0.07705042, 0.087402344, 0.11580721, -0.56622976) * go_7(0.0, 0.0); - result += mat4(-0.09510998, 0.087312974, -0.4744771, -0.2034856, -0.0228022, 0.20781693, -0.21102814, 0.3811148, -0.032918505, -0.06346079, 0.11738945, 0.25676858, -0.040940452, -0.13468303, 0.18274675, -0.29756874) * go_7(0.0, 1.0); - result += mat4(0.018719247, 0.01183309, 0.5007991, -0.23340209, 0.26327956, -0.22815254, 0.108726546, -0.03552217, -0.009156057, 0.10254266, 0.16000487, 0.14117196, -0.017914208, 0.27125883, -0.21865341, 0.21615145) * go_7(1.0, -1.0); - result += mat4(0.19699602, -0.31031716, -0.59890205, -0.21126802, -0.20352201, -0.06410778, -0.037906803, -0.022946103, 0.06663984, 0.12589614, 0.32420775, 0.23299861, 0.0078275055, -0.12053192, 0.103772156, -0.01047939) * go_7(1.0, 0.0); - result += mat4(-0.13278633, -0.049333517, 0.112975165, -0.1881344, -0.049702376, 0.19375268, -0.86393154, 0.038770728, 0.12380659, -0.17710638, 0.3185005, -0.12963669, -0.088208504, 0.06580817, 0.026088627, -0.13940124) * go_7(1.0, 1.0); - result += vec4(-0.004481173, -0.061259553, 0.11030188, 0.16914344); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06430692, 0.086825125, -0.034608375, -0.01397618, 0.040052984, 0.011185875, 0.011732263, 0.012392225, 0.059679143, 0.0020240098, 0.06681242, 0.054336477, -0.0036498306, -0.019456264, -0.071606115, 0.041119363) * go_0(-1.0, -1.0); - result += mat4(0.04943378, -0.0848539, 0.0356649, -0.045104954, -0.07455269, 0.22761999, -0.097870104, -0.17315823, 0.024429278, -0.014491249, -0.041353658, 0.1098216, 0.03469068, -0.032172896, 0.033026703, 0.04296571) * go_0(-1.0, 0.0); - result += mat4(0.07144953, 0.008301972, -0.06500498, 0.031518232, -0.10892988, -0.097283006, -0.13314813, -0.013742693, 0.050799493, 0.050253615, 0.040891692, -0.0021811249, 0.030596646, -0.017255697, 0.0022994988, 0.00735084) * go_0(-1.0, 1.0); - result += mat4(0.023562869, -0.0011871309, -0.0423234, -0.002608592, 0.08043674, -0.082256354, -0.022457797, 0.07030839, 0.013923805, -0.013660352, 0.06952137, -0.044279564, 0.04486451, -0.02644484, 0.052811652, 0.00197306) * go_0(0.0, -1.0); - result += mat4(-0.05471925, -0.10278568, 0.017831381, -0.060885206, 0.01943984, -0.11520702, 0.10465094, 0.03574296, -0.050254647, 0.0019161392, -0.25124437, 0.043597598, -0.017897893, 0.07151743, 0.11265933, -0.08989344) * go_0(0.0, 0.0); - result += mat4(0.11001799, -0.011334239, 0.12736328, 0.16483796, -0.13220996, 0.0732099, 0.13678497, 0.1530554, 0.043017015, -0.10789205, 0.053205475, 0.023291817, -0.0056713475, -0.12603688, -0.13624206, -0.0714872) * go_0(0.0, 1.0); - result += mat4(0.021965552, -0.009516653, 0.020002227, -0.0072277826, -0.035595354, -0.052053552, -0.023298074, 0.01770549, 0.106064536, -0.096217915, 0.119941294, 0.054289114, 0.044710737, 0.03558839, 0.0025203228, 0.02229299) * go_0(1.0, -1.0); - result += mat4(-0.05996382, -0.059034027, 0.0048927953, 0.11681153, 0.0123580685, -0.15851006, 0.053752933, -0.094275564, 0.056480173, -0.01539422, -0.06352794, 0.05537091, -0.090935975, 0.114802405, -0.07706906, -0.020618843) * go_0(1.0, 0.0); - result += mat4(0.046106033, 0.06567163, 0.024409082, 0.08681322, -0.15275897, 0.051852785, -0.0982452, -0.14251694, 0.09573071, -0.018330676, 0.07995178, -0.010879136, -0.097755134, -0.017416988, -0.062556945, -0.0578873) * go_0(1.0, 1.0); - result += mat4(-0.00429525, -0.07700766, 0.010865506, 0.039318554, -0.06787303, -0.028628208, -0.05469512, 0.05459275, -0.030343568, 0.06288822, -0.02628777, 0.015035558, 0.003811996, 0.013887734, 0.034987926, 0.17882642) * go_1(-1.0, -1.0); - result += mat4(-0.04686645, 0.05545698, -0.022312073, -0.06866622, 0.09609454, -0.09298049, 0.20229526, 0.1036513, -0.07117841, 0.047199853, -0.018191453, -0.011281787, -0.014291751, -0.118642345, 0.07959059, 0.08753804) * go_1(-1.0, 0.0); - result += mat4(0.0145701915, -0.00083395635, -0.009838556, 0.03793263, -0.018338429, -0.028547939, -0.044276386, 0.022902593, -0.10429393, -0.08177185, 0.038462102, -0.061109234, 0.021328336, -0.018102761, -0.07724541, 0.03491818) * go_1(-1.0, 1.0); - result += mat4(0.051537625, -0.04092781, -0.027314937, 0.06624649, 0.0059737917, -0.0045862994, 0.03624142, 0.016898366, -0.15276705, -0.013039528, -0.034717664, 0.07935391, 0.016038802, -0.20841958, 0.08346563, 0.06563678) * go_1(0.0, -1.0); - result += mat4(-0.015235551, 0.15574263, -0.013553463, 0.07328153, 0.1526515, -0.28490472, 0.19684647, -0.15529588, -0.012245582, 0.06855586, -0.05603284, 0.06607822, -0.0842433, 0.17281564, 0.28474236, 0.08198234) * go_1(0.0, 0.0); - result += mat4(0.038899522, -0.06798045, -0.054560043, -0.16137177, 0.021140218, 0.29889742, -0.1840661, -0.05800861, -0.015068329, -0.04634431, 0.08015181, 0.019838551, 0.10208079, -0.077259056, -0.19794165, -0.15083085) * go_1(0.0, 1.0); - result += mat4(0.01064174, -0.05850555, -0.05604373, 0.04052068, -0.075376056, 0.046033148, 0.11586819, -0.019885244, 0.035843607, 0.046307143, 0.00585988, -0.080217384, -0.021261437, 0.1410561, 0.008985651, 0.028860984) * go_1(1.0, -1.0); - result += mat4(-0.07319461, 0.08104932, 0.041007817, 0.030615268, -0.20470095, 0.12515168, -0.160545, -0.12937605, 0.31107107, 0.1484706, 0.038850147, -0.012020466, -0.05610734, 0.044933334, 0.042511266, -0.052596994) * go_1(1.0, 0.0); - result += mat4(-0.066693224, 0.0361146, 0.067501135, -0.21699974, -0.11158058, 0.15679757, -0.028746078, -0.01819391, 0.104127966, -0.06664338, 0.06227161, 0.12396172, -0.0032715963, -0.08171951, -0.044955824, -0.08106554) * go_1(1.0, 1.0); - result += mat4(0.015864346, -0.013364807, -0.06118465, -0.044409316, 0.043848667, -0.021818867, 0.073257685, 0.031070877, -0.09103615, 0.049833406, -0.057495326, -0.12800662, 0.03994082, 0.0138215795, 0.015007392, 0.10248998) * go_2(-1.0, -1.0); - result += mat4(0.25089416, -0.07602123, 0.17347728, 0.02892703, -0.011619053, -0.0641153, 0.05217339, 0.07876783, 0.0055022957, 0.004055628, -0.09110391, -0.06867559, 0.024405807, -0.05255772, 0.04266218, -0.010957767) * go_2(-1.0, 0.0); - result += mat4(0.24782608, 0.036559172, 0.044769745, 0.0015120476, 0.013133198, -0.044633485, -0.014515029, -0.021279601, -0.036733393, 0.04075623, -0.17661944, -0.094546385, 0.056875527, 0.004090026, 0.05490262, 0.009615546) * go_2(-1.0, 1.0); - result += mat4(-0.059016522, 0.06971676, -0.018845871, -0.1960489, 0.030603651, 0.07038275, 0.030324249, -0.021405647, 0.0029889164, -0.044680223, 0.025204105, -0.070947506, 0.08812823, -0.04162818, 0.020303862, 0.033686403) * go_2(0.0, -1.0); - result += mat4(0.095108695, -0.001756413, -0.0746956, 0.19454287, 0.11728253, 0.024068093, 0.22989868, 0.15326135, -0.044749334, -0.10269763, -0.11903939, -0.0791172, -0.004715979, -0.034785185, 0.06928696, -0.080341384) * go_2(0.0, 0.0); - result += mat4(0.09515306, 0.0796711, 0.2531875, 0.17232622, -0.046116754, 0.10505673, 0.03974202, 0.0192849, -0.032660086, 0.090220645, -0.018340196, 0.010892869, 0.057608526, -0.0042284457, -0.033126116, -0.050798874) * go_2(0.0, 1.0); - result += mat4(-0.0465734, -0.12704821, -0.04242129, -0.08912093, 0.060641844, -0.030298313, 0.07455412, 0.09691065, -0.0993119, 0.08467131, -0.08018581, -0.06551497, 0.02412251, 0.023426851, -0.013038504, 0.058629658) * go_2(1.0, -1.0); - result += mat4(-0.0072143734, -0.17254709, -0.10164249, 0.009320373, 0.04572811, 0.031890705, 0.11281531, -0.053358663, -0.12266469, -0.0050442372, -0.088591315, -0.014440839, 0.025741255, -0.1090415, 0.14636643, 0.06128863) * go_2(1.0, 0.0); - result += mat4(-0.021854619, 0.08777348, -0.06519233, -0.068287335, -0.015207972, -0.041368876, -0.06916352, 0.014671391, -0.15136546, 0.12566894, -0.104125395, -0.025017736, -0.043513566, 0.08409863, 0.037353594, -0.06276716) * go_2(1.0, 1.0); - result += mat4(0.07235235, 0.03902354, 0.08474354, 0.015749328, -0.14268096, 0.030634299, -0.055138513, -0.03956857, 0.018563624, -0.081968024, 0.051094677, 0.034120332, 0.0053250403, 0.080352135, -0.04955247, -0.1332719) * go_3(-1.0, -1.0); - result += mat4(-0.036749303, -0.028455151, -0.014937002, 0.040662266, 0.08305564, 0.11542185, 0.013110968, 0.049462736, 0.055836335, -0.07350095, 0.022430308, -0.02959864, -0.01815184, -0.019589523, 0.063062504, 0.03289119) * go_3(-1.0, 0.0); - result += mat4(-0.023061413, 0.054117512, -0.005270115, -0.08946267, -0.04308614, 0.23271716, 0.23769991, 0.199799, 0.042626232, -0.003149215, -0.07325253, -0.09104977, 0.06556636, 0.123100184, -0.065416, -0.047533657) * go_3(-1.0, 1.0); - result += mat4(0.012621001, 0.010509575, 0.037320737, -0.059742343, -0.049418703, -0.09797092, 0.107040025, 0.050573327, -0.07652653, -0.096295066, 0.046717234, 0.0451225, -0.102516145, 0.15624528, -0.23164383, -0.13354032) * go_3(0.0, -1.0); - result += mat4(-0.028271353, 0.12728448, 0.030375311, 0.17157783, 0.122691065, -0.3680664, 0.029203705, -0.26102167, 0.025286853, 0.06262695, 0.1589348, 0.05327821, -0.065294765, -0.24605483, 0.042972647, -0.02089068) * go_3(0.0, 0.0); - result += mat4(-0.026082302, -0.08781727, -0.09250588, -0.023226565, 0.051248543, 0.16456133, -0.2952685, -0.083784014, 0.076261856, 0.0406498, 0.170887, 0.045606345, 0.090185635, -0.056969963, 0.013353489, -0.02177184) * go_3(0.0, 1.0); - result += mat4(0.03591036, -0.00022123115, 0.00879266, 0.0014145833, -0.031907767, 0.008818724, 0.038096637, 0.088316254, -0.111196004, -0.043627053, -0.03396249, -0.11398144, -0.013437176, -0.056140415, -0.02947146, 0.04266824) * go_3(1.0, -1.0); - result += mat4(0.27118152, -0.029443147, 0.029049424, -0.021353519, -0.08102377, -0.10702356, 0.2708468, -0.028351566, 0.10159006, -0.08634602, 0.11655341, 0.01216303, -0.032198787, 0.098999046, 0.08560102, 0.13209614) * go_3(1.0, 0.0); - result += mat4(-0.011867179, -0.008092173, -0.06914386, -0.0026515024, 0.15475754, -0.069809034, -0.061735924, 0.030092785, 0.015481355, 0.069196485, -0.067885965, -0.10032289, -0.022956805, -0.050457634, 0.034361836, 0.063292615) * go_3(1.0, 1.0); - result += mat4(-0.028808603, 0.2522452, -0.028151542, -0.11966417, 0.0060086837, -0.022839228, 0.04591885, -0.047450468, -0.017323907, 0.0033520379, -0.013912139, 0.00087186386, -0.095179744, 0.10477611, -0.1572277, -0.18952997) * go_4(-1.0, -1.0); - result += mat4(-0.024695182, 0.2125057, 0.0043758615, 0.048833247, -0.024862275, -0.07173688, 0.016327882, 0.052133285, 0.032598563, 0.0370544, -0.032444727, 0.007660602, 0.014026539, 0.15517443, -0.08797283, 0.046922438) * go_4(-1.0, 0.0); - result += mat4(-0.08749249, 0.17871788, 0.089315645, 0.020792015, 0.0062840376, 0.027935686, 0.022011895, 0.0014372129, 0.03437162, 0.04160462, -0.076575324, -0.005282676, 0.01039395, 0.13785924, -0.11939048, -0.12266059) * go_4(-1.0, 1.0); - result += mat4(-0.08761654, 0.12325804, 0.09464573, -0.070082165, -0.029074723, -0.039505627, -0.006745376, -0.07662022, 0.018293282, 0.16754504, -0.01436095, -0.07123675, -0.045903374, 0.045701377, -0.16947833, -0.065680735) * go_4(0.0, -1.0); - result += mat4(0.07837804, 0.10318053, 0.10402837, -0.09299896, -0.044918105, -0.19713773, -0.038225368, -0.0127715515, 0.021232253, 0.19498691, 0.054563515, -0.024584824, 0.14310583, -0.25778866, -0.048625097, -0.04034214) * go_4(0.0, 0.0); - result += mat4(0.03317779, 0.36327454, 0.0010753187, 0.07300084, 0.013177773, -0.10299273, -0.043644756, -0.049851302, -0.11076842, -0.0030125536, 0.13768485, 0.037023947, 0.05862015, 0.026259044, -0.11906646, 0.015630042) * go_4(0.0, 1.0); - result += mat4(0.04435236, 0.2442636, 0.02941278, -0.03259748, 0.02729472, 0.1464977, -0.23190135, -0.013464374, -0.04808333, -0.07721386, -0.006521778, 0.03849496, -0.087418415, -0.14530352, -0.046621766, 0.013260049) * go_4(1.0, -1.0); - result += mat4(-0.054236982, 0.16401532, -0.0410692, 0.018103333, 0.03832126, 0.24158026, -0.02707848, 0.063542314, -0.0025432308, 0.02253484, -0.13533834, 0.009265725, -0.13578576, 0.055599272, -0.029021647, 0.074372046) * go_4(1.0, 0.0); - result += mat4(0.07789502, 0.12068383, 0.06586239, 0.16586556, 0.12068069, 0.0314873, 0.020462591, 0.01643263, 0.0022647027, -0.0535912, 0.02042879, 0.08939534, -0.012003675, 0.10854255, -0.019238353, 0.05661957) * go_4(1.0, 1.0); - result += mat4(-0.0024771164, 0.0013602651, -0.006449609, -0.0674718, 0.011020245, -0.024715785, -0.005840159, -0.016253866, 0.0058691143, 0.00923955, -0.014752748, -0.009056492, 0.04719506, 7.439548e-05, -0.031533875, -0.028303158) * go_5(-1.0, -1.0); - result += mat4(-0.022446554, 0.011014639, 0.014150175, -0.08969043, 0.05011379, 0.0014429274, 0.13622425, -0.055668622, 0.003997062, -0.018588124, 0.037211727, -0.02675576, 0.021160034, 0.06025865, 0.044886358, 0.07540469) * go_5(-1.0, 0.0); - result += mat4(0.059523765, -0.106335945, 0.047557555, 0.015525542, -0.059115347, 0.009750207, 0.01922731, 0.024100488, 0.0016303931, -0.07808692, 0.08100007, 0.05687361, -0.03983667, -0.023318004, 0.044715997, 0.032614175) * go_5(-1.0, 1.0); - result += mat4(0.092187695, -0.16478536, 0.11356077, 0.1448521, 0.072599865, 0.06876907, -0.024432033, 0.052597918, -0.010043035, -0.03687111, 0.00895416, 0.02780389, 0.045475237, 0.0034288564, -0.053697575, -0.0039305706) * go_5(0.0, -1.0); - result += mat4(-0.086140305, 0.10712286, -0.098502316, -0.037614137, -0.0014869545, -0.119502805, 0.07774526, 0.01559113, -0.036177177, 0.05600912, 0.0672405, 0.0424494, -0.014852803, -0.09711143, 0.035177983, 0.027274514) * go_5(0.0, 0.0); - result += mat4(0.010052695, -0.1528992, 0.037211087, 0.050275393, -0.052893683, -0.103499845, 0.04699975, 0.010357094, 0.02002735, -0.0724987, -0.039920773, -0.03259424, 0.05104605, -0.021494186, 0.1335748, 0.1431882) * go_5(0.0, 1.0); - result += mat4(0.008692001, 0.1388636, 0.062878676, 0.043149088, 0.040500425, -0.06934554, 0.031019283, 0.086996906, -0.01329169, -0.024621997, 0.03125819, -0.03552568, 0.025497364, -0.013930993, 0.039630298, -0.009306881) * go_5(1.0, -1.0); - result += mat4(0.08138952, 0.11290011, 0.09357804, 0.0773934, 0.11037395, 0.040116914, 0.05588578, 0.08340036, 0.019552698, 0.010302062, 0.030425403, -0.012494984, 0.100253575, 0.058283005, -0.0053462014, 0.0011434298) * go_5(1.0, 0.0); - result += mat4(-0.0027934618, 0.012688533, 0.03582281, 0.093737796, -0.10973247, 0.07261092, 0.112351805, 0.011432246, 0.013944619, -0.06078718, 0.04819748, -0.023201318, 0.060381312, -0.08896123, 0.0354816, 0.1314617) * go_5(1.0, 1.0); - result += vec4(-0.014843715, 0.037786916, -0.050943095, 0.02970283); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.042099904, -0.058733735, 0.02552323, 0.08024827, -0.007007328, -0.024506995, -0.014314433, 0.07856346, 0.0070828185, 0.12121103, -0.047790356, -0.1190773, 0.09607051, -0.022659522, -0.012408393, -0.01265088) * go_0(-1.0, -1.0); - result += mat4(-0.036540985, 0.065095425, 0.020370001, -0.13017972, 0.16372375, -0.13150094, 0.012892328, -0.1387121, -0.0398674, -0.115208104, -0.025226658, -0.066354044, 0.07032839, 0.11715836, 0.014640627, 0.0410301) * go_0(-1.0, 0.0); - result += mat4(0.030191297, -0.0066959998, 0.026137028, -0.015430499, -0.07329306, -0.138525, 0.080228955, 0.1005483, -0.0007654556, 0.08933457, -0.11922955, -0.0689602, 0.06392459, 0.04870049, -0.0018588612, 0.046055775) * go_0(-1.0, 1.0); - result += mat4(0.12119697, -0.03272271, -0.011908178, 0.07443732, 0.017831923, -0.06988535, -0.027143668, -0.023895472, 0.08469687, 0.1490557, 0.015963838, -0.0049853753, 0.01178327, -0.0028791244, -0.06283662, -0.0059013553) * go_0(0.0, -1.0); - result += mat4(0.028543679, 0.058001377, -0.008511679, 0.0026974818, -0.0013273149, 0.010061944, -0.07719697, -0.053456806, -0.2909378, -0.03735039, 0.02128061, 0.15994087, -0.020060549, 0.0051932936, 0.010056397, -0.044010773) * go_0(0.0, 0.0); - result += mat4(0.1596504, -0.055374887, -0.019871527, 0.008125669, 0.21285413, 0.03118557, 0.05784715, -0.033272292, -0.11010903, 0.08968991, 0.01791155, -0.11081058, -0.059060283, -0.08855704, 0.06299061, -0.08653331) * go_0(0.0, 1.0); - result += mat4(0.22247101, -0.04902725, 0.004427136, 0.00843986, -0.12681817, -0.04432411, 0.09346549, -0.07040382, 0.065832525, 0.1306079, -0.046262078, -0.064467475, 0.09017577, -0.05839232, 0.02169111, 0.015345169) * go_0(1.0, -1.0); - result += mat4(-0.019040529, 0.03761165, -0.021923041, -0.02165343, -0.22262675, -0.007393024, 0.13378944, 0.24793835, -0.115743674, -0.050898936, -0.101693556, -0.16117941, 0.15038069, -0.071292244, 0.16757068, 0.14149354) * go_0(1.0, 0.0); - result += mat4(0.15021501, 0.01646184, 0.039540898, -0.020430906, -0.09821808, -0.008859351, -0.0064752824, 0.04515899, -0.036680277, 0.03743646, 0.046192754, -0.07469316, 0.015766433, -0.053386677, -0.058385946, 0.04285354) * go_0(1.0, 1.0); - result += mat4(-0.12153023, -0.0052116364, 0.013274117, 0.066916846, -0.07894143, -0.07270525, 0.0032244355, 0.080999196, -0.071276195, 0.03603874, -0.023127655, -0.22612897, 0.019750288, 0.06261086, 0.036052, 0.057479452) * go_1(-1.0, -1.0); - result += mat4(0.068308026, -0.02204353, 0.037701212, -0.13152799, -0.040166344, 0.18250147, -0.00841116, 0.14707813, 0.2891035, 0.0355822, -0.037319396, -0.033286855, 0.05205944, 0.029016457, 0.02267416, 0.12552561) * go_1(-1.0, 0.0); - result += mat4(-0.07627465, -0.0015795324, 0.005847234, 0.0343533, -0.12101658, -0.044895757, -0.033076547, -0.0072863665, -0.13455121, -0.03442574, 0.03806193, -0.025911227, -0.05203063, 0.006293081, 0.01888723, 0.10063248) * go_1(-1.0, 1.0); - result += mat4(0.05558394, 0.03480151, 0.0068188105, 0.025131043, -0.12540701, -0.088756844, -0.03175985, -0.19954887, 0.0730124, -0.04229162, -0.0013364753, -0.03893613, 0.06019269, -0.034671903, 0.050091, -0.059322134) * go_1(0.0, -1.0); - result += mat4(-0.07942089, -0.018256165, -0.096205324, 0.101769134, 0.01908004, 0.33233985, -0.035679515, -0.23594299, -0.03030973, 0.06313867, -0.044021074, -0.10605643, -0.10518184, -0.11355261, 0.12967454, -0.106763974) * go_1(0.0, 0.0); - result += mat4(-0.09985036, 0.041868765, -0.09622011, -0.05465083, -0.039375015, -0.10204485, -0.004873815, 0.080527805, 0.08858304, -0.05943268, 0.08352734, -0.07512739, -0.22778553, 0.15029298, 0.08525989, -0.15358798) * go_1(0.0, 1.0); - result += mat4(-0.08080637, -0.097256064, -0.040232092, -0.06549907, 0.013221195, -0.028040923, -0.0005182768, 0.06254156, 0.19496393, -0.0040481715, -0.053046, 0.05839162, 0.11274092, 0.11118614, 0.1480564, 0.033354077) * go_1(1.0, -1.0); - result += mat4(0.023759563, 0.00635514, -0.045272943, -0.05173251, 0.0885555, -0.008405325, 0.19941078, 0.109418906, 0.48571047, 0.0562873, -0.122534275, 0.01860896, 0.10383342, -0.005438985, 0.2603844, 0.016442006) * go_1(1.0, 0.0); - result += mat4(-0.1018859, -0.06035783, 0.04882298, 0.121493384, -0.014769945, -0.026479812, -0.23881653, 0.15810451, 0.064371295, -0.08258908, 0.032874167, 0.0013588811, -0.13452709, -0.021992348, -0.12913197, -0.007582777) * go_1(1.0, 1.0); - result += mat4(0.09469535, -0.0059437137, 0.0070211883, 0.012549531, -0.04503433, 0.11778692, -0.01240231, -0.06452343, 0.0183962, -0.09719111, 0.051977355, 0.028582, 0.11405788, 0.09339377, -0.017060561, -0.016824113) * go_2(-1.0, -1.0); - result += mat4(0.025192278, 0.16830146, 0.002082107, -0.12433539, 0.05449372, 0.111993775, -0.050993383, 0.106019214, -0.0012675346, -0.11002013, 0.08042263, 0.046076216, 0.03845027, 0.026669858, -0.05693071, 0.006350705) * go_2(-1.0, 0.0); - result += mat4(0.11534884, 0.067232355, -0.08493867, -0.059265412, -0.045863472, 0.03164632, -0.013697583, 0.012065389, -0.15469037, -0.08252674, 0.102144025, 0.079707734, 0.0043182303, 0.07471552, -0.028747529, -0.05626163) * go_2(-1.0, 1.0); - result += mat4(-0.02088867, 0.005918884, -0.00632325, 0.06864312, 0.07231704, 0.06967162, 0.046126503, -0.03890708, -0.11291535, -0.112925544, 0.01721896, -0.027296377, -0.0008218594, 0.019371105, -0.028493239, -0.11972473) * go_2(0.0, -1.0); - result += mat4(0.05792697, -0.050189912, -0.013986142, -0.042153005, -0.044381443, -0.040740672, -0.036568243, -0.18094629, -0.032849103, -0.11920466, -0.01574577, 0.07106109, -0.0473771, -0.029407948, -0.016447794, 0.07348799) * go_2(0.0, 0.0); - result += mat4(0.25879595, 0.027651018, -0.09736299, -0.017931122, 0.1145708, 0.051391326, 0.14323749, -0.06405431, -0.017116228, -0.04995981, 0.017524386, 0.053012, -0.024927566, 0.029871127, -0.062402803, -0.089126125) * go_2(0.0, 1.0); - result += mat4(-0.3455905, -0.07298466, 0.022065436, -0.13115343, 0.0683912, 0.06609262, -0.035481025, -0.04162889, -0.0020681168, -0.0819611, 0.017471436, 0.022238733, 0.047958784, 0.037473556, -0.06708024, -0.06513322) * go_2(1.0, -1.0); - result += mat4(-0.008081404, 0.04029864, -0.07384856, -0.12268659, 0.048441645, 0.08439676, 0.032600272, 0.01420026, -0.16429286, -0.061197132, 0.05322935, -0.04212053, 0.0060033225, 0.037083343, -0.024957739, -0.026598029) * go_2(1.0, 0.0); - result += mat4(0.0018599767, 0.02205519, 0.10264597, 0.047300845, 0.13039044, -0.08621153, -0.014272506, 0.03800674, -0.12807004, -0.03650184, 0.17019251, 0.0050348463, 0.06673689, 0.062484764, -0.074008316, 0.0024411175) * go_2(1.0, 1.0); - result += mat4(0.10010423, 0.059802253, -0.028706724, -0.0021158324, -0.1071618, -0.06596802, 0.017506624, 0.020555088, 0.006742276, -0.058907714, 0.02132174, -0.00065407227, 0.10080476, -0.06645163, 0.028596232, -0.098386355) * go_3(-1.0, -1.0); - result += mat4(0.06250598, 0.028219528, -0.032285657, 0.029157873, 0.41888437, -0.07922488, -0.038655374, 0.08948803, -0.13829164, 0.13305405, 0.00031528703, -0.11085006, -0.063075796, 0.0500627, 0.065392256, 0.12271925) * go_3(-1.0, 0.0); - result += mat4(0.111435704, 0.02032602, 0.038795993, 0.03990286, 0.27919176, -0.08434588, -0.025168309, 0.051932946, -0.04704256, -0.031704668, 0.029195199, 0.0029008535, 0.1921871, 0.072233014, 0.02167757, -0.009142876) * go_3(-1.0, 1.0); - result += mat4(0.03787496, 0.10278594, -0.034100357, -0.038842272, -0.21315722, 0.04823617, -0.029114509, 0.051216953, 0.06688632, -0.016796501, 0.034409184, 0.030457467, 0.18392949, -0.05570241, -0.0074716844, -0.09469817) * go_3(0.0, -1.0); - result += mat4(0.00060441054, -0.21777734, 0.039007552, 0.065863505, -0.20799696, -0.007875905, -0.038051736, 0.107517034, -0.030292246, 0.039137594, -0.011577313, -0.09082536, -0.024957297, 0.04839934, 0.08945703, -0.067684196) * go_3(0.0, 0.0); - result += mat4(-0.0007396966, -0.028242454, -0.055650227, 0.015779331, -0.33971977, -0.0536201, 0.21978994, 0.17193733, 0.08947309, 0.05031975, -0.1301886, -0.035680372, 0.08049449, 0.20915179, -0.21580179, 0.0070197694) * go_3(0.0, 1.0); - result += mat4(0.018666867, 0.080064476, 0.03374961, 0.009929877, 0.12268159, 0.08780485, -0.020013101, 0.001475278, -0.094762295, -0.00571688, 0.07592603, 0.02490935, 0.20536572, -0.103320844, -0.11305944, 0.020782808) * go_3(1.0, -1.0); - result += mat4(0.10927535, -0.10669775, -0.119271345, -0.04704597, -0.33198515, 0.16730374, 0.067796834, -0.21553586, -0.15134549, 0.12522157, -0.059982754, 0.053596307, -0.07490767, 0.0430427, 0.13261874, 0.034827977) * go_3(1.0, 0.0); - result += mat4(-0.118310496, -0.034256335, 0.15736672, -0.012709214, 0.108289585, 0.055601, -0.15293309, -0.047951285, 0.13641061, 0.040393222, -0.014293154, 0.013147444, 0.040933702, 0.06414584, -0.06435496, 0.07897889) * go_3(1.0, 1.0); - result += mat4(0.1769398, -0.03865557, -0.007278993, -0.009594421, 0.06511066, -0.055826154, 0.039952062, 0.11912263, 0.017886136, -0.05012913, -0.026828678, -0.059241973, -0.10093276, -0.19696872, 0.084965006, 0.14702372) * go_4(-1.0, -1.0); - result += mat4(0.099720076, -0.067204416, -0.03463609, 0.09670626, -0.28691396, -0.06598814, 0.0014410254, 0.14105716, -0.033738673, -0.060082074, 0.022319613, -0.10230477, -0.04376945, -0.13106492, 0.063823946, 0.14856036) * go_4(-1.0, 0.0); - result += mat4(0.33853808, -0.0621997, 8.363771e-05, -0.0009150376, 0.024009543, 0.018634653, 0.0037902838, 0.10804439, 0.05129897, 0.013281732, 0.0192675, -0.021642182, 0.20649408, -0.059423707, 0.06726224, 0.0145797795) * go_4(-1.0, 1.0); - result += mat4(-0.15990373, -0.106583185, 0.002367883, 0.045296166, -0.0631138, -0.0072529926, 0.029369524, 0.08331243, 0.122756526, -0.0179492, -0.120487615, 0.0081743365, -0.17502016, -0.044541918, -0.015354001, -0.011111051) * go_4(0.0, -1.0); - result += mat4(-0.11184931, 0.06587063, 0.07042273, -0.04147224, -0.09151379, -0.20194946, 0.10355849, 0.19217291, 0.08952243, 0.12201255, 0.04417764, -0.04035679, -0.09468639, 0.31825796, 0.006901595, -0.04124098) * go_4(0.0, 0.0); - result += mat4(0.06660271, -0.0046637137, 0.09873929, 0.08799431, -0.100498706, 0.06444192, -0.02957856, 0.038241588, 0.15948315, 0.1299982, -0.090359725, 0.004090419, -0.079359606, -0.00037474622, -0.022643564, -0.08251614) * go_4(0.0, 1.0); - result += mat4(0.43229616, 0.10688282, -0.07364843, 0.053060126, 0.12662794, -0.008840078, 0.026755894, 0.041338578, -0.2254781, -0.10235022, -0.12567373, -0.0667009, -0.1809531, -0.09815889, -0.08910998, 0.037839357) * go_4(1.0, -1.0); - result += mat4(-0.07567111, 0.028171131, 0.055614933, -0.013953225, 0.12692563, 0.083607204, -0.07004251, -0.036412235, -0.058107987, 0.037055403, 0.18604837, -0.017260164, -0.17541583, 0.06894981, -0.23379545, 0.031235654) * go_4(1.0, 0.0); - result += mat4(0.45591107, 0.039045885, -0.12626866, -0.14674829, 0.05945796, -0.010674477, -0.035819475, -0.0047352607, -0.036941368, 0.10396601, -0.036363676, 0.0554336, 0.17748542, 0.06979016, 0.14080845, 0.042843) * go_4(1.0, 1.0); - result += mat4(0.10455963, 0.075099275, 0.05469465, 0.015781848, 0.09594164, 0.05998725, -0.052120302, -0.13773419, 0.044500146, 0.031731047, -0.008471109, -0.03267637, 0.047310144, 0.031099096, -0.024222182, -0.033589233) * go_5(-1.0, -1.0); - result += mat4(-0.12448876, -0.03613152, -0.0010140876, -0.025516123, -0.059143614, 0.023980793, -0.022088494, -0.23990345, -0.009263314, 0.07561086, -0.018244747, -0.030571839, 0.078326724, 0.11647481, 0.0005469513, 0.011363735) * go_5(-1.0, 0.0); - result += mat4(-0.012303434, 0.10459798, 0.0075168074, -0.06578245, 0.10195852, -0.011171349, 0.031734105, 0.01707112, 0.027664077, 0.023296015, -0.018072389, -0.025510611, 0.1640572, 0.034506124, 0.00016337275, 0.03571095) * go_5(-1.0, 1.0); - result += mat4(-0.008957332, 0.009508923, 0.0146317985, 0.038981803, 0.24314897, 0.0015878802, -0.078958146, 0.03145806, 0.0068939812, 0.073126584, -0.012263321, -0.036391743, 0.118567936, 0.065423995, 0.023732737, -0.0099737905) * go_5(0.0, -1.0); - result += mat4(0.07652766, -0.099965736, 0.07820692, -0.016641535, -0.05796137, 0.062477842, -0.09325648, 0.044144213, -0.074167095, -0.02907356, 0.009493459, -0.09726981, -0.024008945, 0.13910118, -0.012273277, -0.18442377) * go_5(0.0, 0.0); - result += mat4(-0.3458695, 0.0125532355, -0.04507072, 0.005002404, -0.054678664, -0.1073264, -0.066266164, 0.10499865, -0.026834222, -0.005892071, -0.012439621, -0.014582178, 0.20079906, 0.10445034, -0.017010294, -0.027499933) * go_5(0.0, 1.0); - result += mat4(0.20540363, 0.13028874, -0.0043541454, 0.041952956, -0.06462141, 0.05869749, -0.0336049, -0.00483216, 0.0071067465, 0.02086375, 0.029295754, 0.00054160395, 0.12825298, 0.01190737, 0.024069678, 0.0007039938) * go_5(1.0, -1.0); - result += mat4(0.25426188, -0.025078375, -0.18087013, -0.047353756, 0.050092597, -0.020793278, -0.20005824, -0.05249769, 0.10390969, 0.029416217, -0.022406658, 0.022277432, 0.10061195, 0.09648526, 0.08301866, -0.05414833) * go_5(1.0, 0.0); - result += mat4(-0.008085474, -0.0047122077, 0.037323467, -0.05261859, -0.014043025, 0.015429949, 0.0026017784, 0.05505961, -0.026992656, -0.0034499804, -0.040065564, -0.010143243, 0.080673434, 0.01895095, -0.044532266, -0.04431238) * go_5(1.0, 1.0); - result += vec4(-0.03466821, 0.00034034275, 0.0050041266, 0.015987461); - return result; -} -//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-3x3x3x32 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE MAIN -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.029194267, -0.012368673, -0.032628484, 0.0, 0.009544185, 0.003643155, -0.012932683, 0.0, -0.02599644, -0.009162184, 0.001984748, 0.0, 0.036822453, -0.01785786, 0.010368739, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.025280805, 0.03720678, 0.00053982873, 0.0, 0.014486393, -0.008664618, -0.013254841, 0.0, 0.032457434, -0.0054208813, -0.03551113, 0.0, 0.005541615, 0.009700108, 0.008173082, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.008494375, 0.017570386, -0.035493053, 0.0, 0.0040664477, -0.009358297, -0.00124042, 0.0, 0.013665794, -0.027995802, 0.01806665, 0.0, 2.6274169e-05, -0.017136851, 0.004273683, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.001260151, 0.0298161, 0.03177647, 0.0, 0.029924905, 0.002548117, -0.008971935, 0.0, -0.028699454, -0.011327333, 0.01809372, 0.0, 0.052908268, -0.009816564, -0.04160645, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.0674105, 0.011343186, 0.031059649, 0.0, -0.01816893, -0.027822826, -0.0039920355, 0.0, 0.06559583, 0.08136345, 0.0024248413, 0.0, -0.007355395, 0.0021421018, -0.03261461, 0.0) * go_0(0.0, 0.0); - result += mat4(0.06596344, 0.0011187588, -0.0698554, 0.0, -0.024434082, -0.009038537, 0.042669352, 0.0, -0.060429063, -0.014795595, 0.10773078, 0.0, -0.018245215, -0.025555842, 0.07259554, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0035948083, -0.026325721, 0.032130077, 0.0, 0.0015195963, 0.0044271573, -0.008984954, 0.0, 0.016403245, -0.0039584707, 0.013665029, 0.0, 0.0016767944, 0.0070667397, -0.028133946, 0.0) * go_0(1.0, -1.0); - result += mat4(0.01695004, -0.029402763, 0.047411986, 0.0, -0.01129213, 0.0049071675, 0.003822879, 0.0, -0.031588167, -0.031124864, -0.06241746, 0.0, -0.035150167, 0.024117738, -0.008538587, 0.0) * go_0(1.0, 0.0); - result += mat4(0.058436964, -0.018053403, -0.0029208104, 0.0, -0.012583584, -8.435696e-06, -0.0021389409, 0.0, 0.025366964, 0.022662194, -0.03120317, 0.0, -0.05732525, -0.0019531269, 0.02189266, 0.0) * go_0(1.0, 1.0); - result += mat4(0.021041503, -0.03575024, 0.039296895, 0.0, 0.036413766, -0.015376002, -0.003543714, 0.0, -0.006572382, -0.01746979, 0.024723995, 0.0, -0.005184721, 0.014261276, -0.021478102, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.007271495, 0.010891414, 0.06081773, 0.0, -0.07530834, -0.057223827, 0.056062855, 0.0, -0.03944118, 0.009164506, 0.016359169, 0.0, 0.011959882, -0.009856203, -0.050926358, 0.0) * go_1(-1.0, 0.0); - result += mat4(-0.01974953, 0.010230301, -0.007793579, 0.0, -0.020196917, 0.04590978, 0.03837431, 0.0, -0.006767891, 0.0075034844, -0.003773216, 0.0, 0.013550913, -0.0003947991, 0.0031925605, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.028148983, -0.038432404, 0.03511873, 0.0, -0.034311228, -0.02840252, -0.027590172, 0.0, 0.06412731, -0.03889514, -0.016489375, 0.0, -0.048484165, 0.00057386677, 0.0026269031, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.08776933, 0.0029032787, -0.031222485, 0.0, 0.06960467, 0.09750718, 0.050598294, 0.0, 0.0835213, 0.021661203, 0.038753476, 0.0, 0.03982122, 0.03788668, 0.1515678, 0.0) * go_1(0.0, 0.0); - result += mat4(0.028370056, 0.039478805, -0.020990063, 0.0, 0.00912417, 0.023335736, -0.16728604, 0.0, -0.011494958, -0.013394507, -0.053537812, 0.0, -0.005550743, -0.009001584, 0.012948562, 0.0) * go_1(0.0, 1.0); - result += mat4(0.013810996, -0.025271188, -0.004379599, 0.0, 0.015034975, -0.00089060765, 0.033212643, 0.0, 0.038851626, -0.0057069063, -0.040545236, 0.0, -0.0028078358, 0.015933724, 0.01575025, 0.0) * go_1(1.0, -1.0); - result += mat4(0.01737436, 0.01430337, -0.015735079, 0.0, -0.016511876, -0.06596022, 0.003990326, 0.0, 0.029907767, 0.0024715378, -0.05681515, 0.0, -0.0066727134, -0.024142109, 0.022043386, 0.0) * go_1(1.0, 0.0); - result += mat4(-0.019812914, 0.0015476292, -0.016639404, 0.0, 0.017160518, -0.002040027, -0.0007517166, 0.0, 0.0071950383, -0.003341077, -0.046353333, 0.0, -0.00083734177, -0.010146456, 0.016291264, 0.0) * go_1(1.0, 1.0); - result += mat4(0.005489136, -0.015574599, -0.011043608, 0.0, -0.009506977, 0.0054301876, 0.02158638, 0.0, 0.028507395, 0.018968195, 0.015134093, 0.0, -0.03841078, 0.025878599, 0.014776577, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.050771695, -0.020951752, 0.02507804, 0.0, -0.023102228, 0.005002361, 0.009032685, 0.0, -0.02580423, 0.01087507, 0.053516913, 0.0, -0.0029967995, -0.0077431537, -0.001353477, 0.0) * go_2(-1.0, 0.0); - result += mat4(0.010528193, -0.015227771, 0.04612157, 0.0, -0.0034696343, 0.012149008, 0.00761891, 0.0, -0.028641496, 0.024396904, -0.005470966, 0.0, -0.016171847, 0.017462283, -0.0045835036, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.016605109, -0.015695306, -0.026842888, 0.0, -0.018456295, -0.0015909546, 0.01639685, 0.0, 0.045253225, 0.014879358, -0.0029951404, 0.0, -0.07698649, -6.646588e-05, 0.051242474, 0.0) * go_2(0.0, -1.0); - result += mat4(0.021182995, -0.059780866, -0.10691225, 0.0, 0.012331703, 0.018810093, -0.00074620557, 0.0, -0.08377086, -0.09883356, 0.0033603192, 0.0, 0.027267748, -0.044589777, -0.016808862, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.05345038, 0.007593226, 0.08017634, 0.0, 0.0029109702, -0.0066193943, -0.053755503, 0.0, 0.06317975, 0.013643785, -0.09781004, 0.0, 0.025922418, 0.02646404, -0.07879502, 0.0) * go_2(0.0, 1.0); - result += mat4(0.013840612, 0.03220654, 0.008247586, 0.0, 0.0024653377, 0.0017564539, 0.0095992945, 0.0, -0.008052894, 0.0005847401, 0.0030516423, 0.0, -0.0055664075, -0.0022113416, 0.03661902, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.009897283, 0.03339503, -0.04373135, 0.0, 0.007111389, -0.0064675347, -0.0057030907, 0.0, 0.024796525, 0.014585273, 0.04618779, 0.0, 0.0451687, -0.01796601, 0.019403245, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.050205655, 0.0067047793, 0.004935128, 0.0, 0.007296142, 0.0021017375, 0.004065404, 0.0, -0.033875827, -0.029431261, 0.028738476, 0.0, 0.0447788, 0.0089823445, -0.014340374, 0.0) * go_2(1.0, 1.0); - result += mat4(-0.008800223, 0.03338696, -0.034157075, 0.0, -0.0068426207, 0.018176233, 0.004032728, 0.0, 0.024810873, 0.014211227, -0.05046429, 0.0, 0.002167862, -0.024004508, 0.029742634, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.017277744, -0.027693354, -0.061636884, 0.0, 0.03730354, 0.02037306, -0.082923785, 0.0, 0.06614115, -0.021971319, -0.03728439, 0.0, -0.009604838, 0.0065510827, 0.05428039, 0.0) * go_3(-1.0, 0.0); - result += mat4(0.028721841, -0.015807403, 0.0052445545, 0.0, 0.044053316, -0.03528111, -0.02186662, 0.0, 0.038215213, -0.016336309, -0.008933091, 0.0, -0.0011169153, 0.012024489, 0.02721076, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.023697415, 0.03966659, -0.034681734, 0.0, 0.018552555, 0.0103879105, -0.012615872, 0.0, -0.07300987, 0.040119167, 0.005360114, 0.0, 0.027465869, -0.02125224, -0.0050676432, 0.0) * go_3(0.0, -1.0); - result += mat4(0.030902436, -0.036696557, 0.0028193328, 0.0, -0.05093436, -0.07263705, -0.021804878, 0.0, -0.09184029, -0.024111573, -0.058388986, 0.0, -0.0090374835, -0.005109571, -0.097216494, 0.0) * go_3(0.0, 0.0); - result += mat4(0.015647996, -0.014143281, 0.04477705, 0.0, -0.01775979, -0.034271564, 0.16637851, 0.0, 0.05501123, 0.017724924, 0.04504396, 0.0, -0.026133522, -0.013498184, -0.013634824, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.03309264, 0.01711954, 0.0074518835, 0.0, 0.016711101, 0.032219592, -0.019081173, 0.0, -0.017806605, 0.009609709, 0.025623152, 0.0, 0.0010809151, -0.015366981, -0.012361129, 0.0) * go_3(1.0, -1.0); - result += mat4(0.0049063656, 0.010883338, 0.04879139, 0.0, -0.022820218, 0.034932375, -0.019001193, 0.0, -0.013871661, 0.000886869, 0.05011855, 0.0, 0.0074326694, 0.030681293, -0.008235174, 0.0) * go_3(1.0, 0.0); - result += mat4(0.016555479, -0.01782214, 0.012905581, 0.0, -0.024117837, 0.0008709348, -0.003545648, 0.0, 0.015249755, -0.01739516, 0.031961266, 0.0, 0.008861017, 0.019980997, -0.0017820391, 0.0) * go_3(1.0, 1.0); - result += mat4(0.015237567, 0.002044042, 0.013154992, 0.0, 0.014365077, 0.009685413, 0.009999783, 0.0, -0.004745017, -0.008530349, -0.0048582545, 0.0, 0.006463907, 0.011591748, 0.0013033211, 0.0) * go_4(-1.0, -1.0); - result += mat4(-0.0039128656, -0.018021967, -0.01664764, 0.0, 0.032044526, 0.03212382, 0.03248477, 0.0, -0.018143034, -0.024854887, -0.013054983, 0.0, 0.014334873, 0.026316965, 0.01232964, 0.0) * go_4(-1.0, 0.0); - result += mat4(0.002798491, -0.0038798824, 0.0022298654, 0.0, 0.0019937146, 2.3132301e-05, 0.0051871384, 0.0, 0.002116868, -0.0070092976, 0.0007712422, 0.0, -0.0110990815, -0.00045806088, -0.0042779488, 0.0) * go_4(-1.0, 1.0); - result += mat4(-0.010706082, -0.016151588, -0.008477227, 0.0, -0.010954006, -0.0032643504, -0.0057480773, 0.0, 0.0063414387, 0.011558126, 0.006752642, 0.0, 0.024452314, 0.013355994, 0.011969219, 0.0) * go_4(0.0, -1.0); - result += mat4(0.015298925, 0.030997332, 0.009838116, 0.0, -0.080680534, -0.05467505, -0.05227959, 0.0, -0.023426097, 0.013344335, 0.00071768253, 0.0, -0.015939463, -0.038700994, -0.028631734, 0.0) * go_4(0.0, 0.0); - result += mat4(-0.01238892, 0.004899588, 0.0006303335, 0.0, -0.0103858225, -0.0065748966, -0.013839468, 0.0, -0.016547715, 0.0016229248, -0.004543596, 0.0, 0.012939155, -0.004688313, -0.0023379533, 0.0) * go_4(0.0, 1.0); - result += mat4(-0.0057197395, -0.005643721, -0.00911208, 0.0, 0.017784229, 0.008518574, 0.014390045, 0.0, 0.01216526, -0.004762164, 0.00039809215, 0.0, 0.004477759, 0.0014034393, 0.0015725178, 0.0) * go_4(1.0, -1.0); - result += mat4(0.0080029685, 0.012455343, 0.008170205, 0.0, 0.013437776, 0.0017411915, 0.002170487, 0.0, 0.020931266, 0.0062978463, 0.0077739186, 0.0, 0.012534784, 0.0017018887, -0.0056342245, 0.0) * go_4(1.0, 0.0); - result += mat4(0.0009400788, -0.0069639036, 0.0030032704, 0.0, 0.0031776547, -0.0106882155, -0.0021752508, 0.0, 0.0209143, 0.0059682373, 0.004596733, 0.0, -0.022955237, -0.009941201, -0.006298617, 0.0) * go_4(1.0, 1.0); - result += mat4(-0.0064679156, -0.010350582, -0.009941069, 0.0, -0.0015805382, 0.012290337, 0.008409566, 0.0, -0.117412835, -0.09645556, -0.09703461, 0.0, -0.007818433, -0.0075441995, 0.0014142053, 0.0) * go_5(-1.0, -1.0); - result += mat4(-0.008875219, -0.010561973, -0.0123933125, 0.0, 0.013169622, 0.02392643, 0.016722063, 0.0, 0.055201843, 0.07873035, 0.05582767, 0.0, 0.023869634, 0.020948572, 0.019141855, 0.0) * go_5(-1.0, 0.0); - result += mat4(0.004586781, 0.003811747, 0.0040364224, 0.0, 0.0025533088, 0.004466686, -0.002531796, 0.0, 0.01505836, 0.012453587, 0.012348402, 0.0, -0.024105167, -0.020986296, -0.0138099855, 0.0) * go_5(-1.0, 1.0); - result += mat4(0.017402729, 0.012661966, 0.0056144516, 0.0, -0.004699965, -0.0008380072, -0.006091114, 0.0, 0.0011875675, 0.00879462, 0.011868305, 0.0, -0.018672796, -0.026099058, -0.010950582, 0.0) * go_5(0.0, -1.0); - result += mat4(0.0030471918, 0.0007148243, -0.0025094969, 0.0, 0.033177674, 0.035010602, 0.039097246, 0.0, 0.039616674, 0.037767593, 0.01638443, 0.0, -0.12697552, -0.1073338, -0.09579577, 0.0) * go_5(0.0, 0.0); - result += mat4(-0.00025230617, 0.0012266148, 0.004280498, 0.0, -0.014905165, -0.021798527, -0.020744175, 0.0, -0.002821233, -0.0060641593, -0.007882776, 0.0, -0.07172067, -0.06563568, -0.034545008, 0.0) * go_5(0.0, 1.0); - result += mat4(0.003620735, -0.0024858215, 0.00022405668, 0.0, -0.0076808417, -0.0012458211, -0.0011529091, 0.0, -0.004562087, -0.008754068, -0.0054264124, 0.0, -0.012856577, -0.0010323325, -0.010446232, 0.0) * go_5(1.0, -1.0); - result += mat4(-0.011776141, -0.0019654774, -0.0055164173, 0.0, -0.020086112, -0.016785175, -0.00850444, 0.0, 0.010972318, 0.0025132888, 0.0010225184, 0.0, 0.09268763, 0.092143916, 0.08644562, 0.0) * go_5(1.0, 0.0); - result += mat4(-0.007995734, 0.0009648095, 0.00030679026, 0.0, -0.012054333, -0.010890181, -0.014105062, 0.0, 0.008349884, 0.0012249199, 0.002626051, 0.0, -0.005392993, 0.0035896245, 0.011283782, 0.0) * go_5(1.0, 1.0); - result += mat4(0.040485244, 0.05691461, 0.01393322, 0.0, -0.0068288567, -0.0047428505, -0.00517558, 0.0, 0.0046434966, 0.015452392, -0.00041433485, 0.0, 0.00063609646, -0.0071669365, 0.024786541, 0.0) * go_6(-1.0, -1.0); - result += mat4(0.14682117, 0.17755695, 0.12569702, 0.0, -0.027783392, -0.02624908, -0.028104672, 0.0, 0.00031824392, 0.0073304633, 0.0035713087, 0.0, -0.004828108, -0.011006178, 0.0050675124, 0.0) * go_6(-1.0, 0.0); - result += mat4(0.018347368, 0.058970205, 0.005508202, 0.0, 0.00017912469, 0.0047737043, 0.005871205, 0.0, -0.007914939, -0.0030016988, -0.010390166, 0.0, -0.011853182, -0.016345054, 0.011509364, 0.0) * go_6(-1.0, 1.0); - result += mat4(-0.04851968, -0.0415747, -0.07765033, 0.0, 0.0065016304, 0.0018423289, 0.0009655065, 0.0, 0.12496835, 0.124992594, 0.103400074, 0.0, 0.03406387, 0.024533505, 0.077095464, 0.0) * go_6(0.0, -1.0); - result += mat4(-0.07254525, -0.08249368, -0.08311044, 0.0, 0.06959693, 0.044335928, 0.03670938, 0.0, -0.1417736, -0.16761701, -0.14663263, 0.0, 0.10133506, 0.110241316, 0.14565967, 0.0) * go_6(0.0, 0.0); - result += mat4(0.019155718, 0.0071138083, -0.0034784337, 0.0, -0.00664143, -0.001776598, 0.0020648353, 0.0, 0.023666251, 0.0018572954, 0.009598296, 0.0, -0.06739044, -0.07003538, -0.023062525, 0.0) * go_6(0.0, 1.0); - result += mat4(-0.01241549, -0.009126171, -0.025202572, 0.0, -0.0075291363, 0.0039865207, -0.0034039568, 0.0, 0.016126499, 0.03303203, 0.0098967515, 0.0, -0.028944502, -0.020699043, 0.029002754, 0.0) * go_6(1.0, -1.0); - result += mat4(-0.021382507, -0.026118703, -0.031718995, 0.0, -0.019529367, -0.0035435583, -0.0067699575, 0.0, -0.041487366, -0.028312238, -0.034041278, 0.0, -0.06073689, -0.07734381, -0.019799007, 0.0) * go_6(1.0, 0.0); - result += mat4(-0.01363575, -0.0015479103, -0.020948276, 0.0, -0.010927923, 0.0065499563, -0.0012396075, 0.0, -0.029386181, -0.014403808, -0.012845848, 0.0, -0.009659123, -0.0495663, -0.0149474265, 0.0) * go_6(1.0, 1.0); - result += mat4(0.021467282, 0.010587587, 0.027719442, 0.0, -0.016798606, -0.035109796, -0.028590709, 0.0, -0.030624123, -0.04124009, -0.03222284, 0.0, -0.0026517997, 0.0045358734, -0.002765814, 0.0) * go_7(-1.0, -1.0); - result += mat4(0.033694725, 0.02778838, 0.034238014, 0.0, -0.04121519, -0.06834962, -0.062327933, 0.0, 0.050779387, 0.030920736, 0.03404337, 0.0, -0.0036348598, -0.0020900413, -0.0004735747, 0.0) * go_7(-1.0, 0.0); - result += mat4(-0.007622776, 0.011874823, 0.01900638, 0.0, -0.0025179803, 0.028925508, 0.01261665, 0.0, 0.013219528, 0.016697768, 0.013904126, 0.0, 0.0032451088, 0.0002832319, 0.00023742643, 0.0) * go_7(-1.0, 1.0); - result += mat4(0.01943161, 0.0021087795, 0.019444287, 0.0, 0.014026365, -0.003662395, -0.025668561, 0.0, -0.024189321, -0.023441639, -0.031171577, 0.0, 0.008905503, 0.011113009, 0.01485881, 0.0) * go_7(0.0, -1.0); - result += mat4(0.03617188, 0.020874048, 0.019303437, 0.0, -0.31612596, -0.34252307, -0.37307942, 0.0, -0.010667352, -0.010282407, -0.0023546303, 0.0, -0.047603715, -0.042640142, -0.035864264, 0.0) * go_7(0.0, 0.0); - result += mat4(0.030194433, 0.039834637, 0.03607905, 0.0, 0.07675613, 0.09751075, 0.042691164, 0.0, 0.013306196, 0.015537212, 0.020499485, 0.0, 0.021594003, 0.005205471, 0.0023345314, 0.0) * go_7(0.0, 1.0); - result += mat4(0.017912725, 0.018817604, 0.009495288, 0.0, 0.031629816, 0.030030556, 0.003441103, 0.0, -0.0031581502, 0.003583242, 0.00081657764, 0.0, 0.005727217, 0.007922274, 0.013391995, 0.0) * go_7(1.0, -1.0); - result += mat4(0.035499737, 0.025537802, 0.011286941, 0.0, 0.060370766, 0.07218371, 0.02229925, 0.0, -0.007152367, 0.0015067369, 0.004906394, 0.0, -0.0069688433, -0.0027407445, -0.008629306, 0.0) * go_7(1.0, 0.0); - result += mat4(0.017541587, 0.03987632, 0.027013319, 0.0, 0.055954672, 0.08695107, 0.054611363, 0.0, -0.0035868676, 0.0035243938, 0.009716404, 0.0, 0.024346305, 0.017666759, 0.017770555, 0.0) * go_7(1.0, 1.0); - result += vec4(0.0013127691, 0.0012500212, 0.00080561294, 0.0); - return result * 0.5 + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl deleted file mode 100644 index de5bfb2..0000000 --- a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl +++ /dev/null @@ -1,461 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.050913796, -0.05115213, -0.0205767, -0.26266688, -0.12883802, 0.107968464, 0.03389763, -0.70179373, 0.0030511466, 0.07718592, -0.06562523, -0.060305536, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.009235469, -0.018979615, 0.10033019, -0.20307243, 0.040932532, -0.10095427, 0.038843542, -0.28774044, -0.07829864, -0.04317961, 0.032555006, -0.05584433, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.23774138, 0.04701499, -0.16824278, 0.025335955, 0.30246395, -0.037289508, 0.070405066, 0.03094164, -0.0075012813, 0.06881163, -0.03157643, -0.032394916, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.12524955, 0.18535072, -0.05323482, 0.004486272, 0.15295836, 0.3050709, 0.081431866, 0.09352846, -0.059866652, -0.029570978, 0.019920588, 0.121749535, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.2111615, -0.1268416, 0.45642895, 0.47401953, -0.7580866, 0.5514855, 0.96250856, 0.7827129, 0.0003978912, 0.17167407, -0.04423575, -0.04569368, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.17050457, -0.18697786, -0.11608587, -0.038065948, 0.26542, -0.7021022, -0.33751717, 0.053689335, 0.10030526, -0.19492362, 0.069387496, 0.07228368, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.15900351, -0.017636139, 0.01917807, 0.05584281, 0.28530255, 0.04795445, -0.104170926, 0.1192509, 0.09859251, 0.057123564, 0.025724344, -0.07723904, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.06581913, 0.07548721, -0.054552317, -0.08317343, 0.32851526, -0.2362575, -0.39470714, -0.073999345, 0.07246812, -0.04103072, 0.06058696, 0.09532553, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.12524493, 0.095179625, -0.0918538, 0.016793616, -0.48433152, 0.03702525, -0.100864686, -0.0018861603, -0.14784335, -0.048320837, -0.057494648, -0.024096634, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.012922576, -0.11982956, 0.021963459, 0.019259451); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.04816902, 0.030087546, 0.019183155, -0.08234757, 0.09378316, -0.047217257, -0.04757087, -0.16541782, -0.043394983, 0.05779227, 0.018105166, 0.03222583, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.13639967, -0.001877575, 0.049495522, 0.060094353, 0.015303669, 0.059043188, 0.090356335, -0.12654372, 0.06469071, -0.054733396, -0.013548386, -0.093697555, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.13214277, 0.00062924915, -0.640379, -0.052121993, -0.022532608, 0.01077454, -0.057074178, -0.103670195, -0.0017062012, 0.0035225085, -0.044859786, -0.020764757, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.2553945, -0.08126201, 0.055215932, 0.10690791, 0.6771195, 0.09377514, -0.09488318, -0.43969935, 0.35444704, -0.10392259, 0.07595239, 0.021814484, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.37628967, 0.026895085, 0.035044484, -0.16414654, -0.5694931, -0.20123884, 0.14891861, 1.1822934, -0.25648627, 0.14110301, -0.057699542, 0.17731132, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.023089241, 0.14888923, -0.2730167, 0.1330048, -0.039043408, 0.75768983, 0.07385114, 0.0138615575, -0.06565686, 0.10451973, 0.037489507, 0.021156311, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.03965048, 0.040422294, -0.0662493, -0.043219455, 0.00834316, -0.08315282, 0.13010995, -0.11822414, -0.06811034, 0.029744523, -0.098641835, -0.063671604, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.077282995, -0.29400682, 0.116103284, 0.096747644, -0.47398612, -0.77101594, -0.20683232, 0.111703634, -0.08370965, -0.24218678, 0.13780457, -0.017660126, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.08542605, 0.13080615, 0.081582755, -0.00024888176, 0.31160986, 0.17787197, -0.019935975, -0.09658498, 0.096656196, 0.064402744, -0.033331197, 0.027531069, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.0018859988, 0.004285429, 0.5060845, -0.030093472); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.34559122, 0.052896723, -0.27492252, -0.1604473, 0.4791457, 0.17956258, 0.0076199574, -0.16324736, -0.075430416, 0.019434236, -0.275363, -0.16502565, 0.05507322, -0.046572465, 0.08130956, 0.009380191) * go_0(-1.0, -1.0); - result += mat4(0.1754505, 0.10862336, -0.14956018, 0.20161937, 0.16598102, -0.0033441933, 0.19303258, 0.3278992, -0.31819978, 0.14614153, 0.08434212, 0.21208692, -0.0014794758, -0.06754758, -0.06314527, 0.023496931) * go_0(-1.0, 0.0); - result += mat4(0.13594365, -0.06382366, -0.40069854, -0.087743916, 0.022426397, -0.073364444, -0.19371308, 0.09916138, -0.044016927, 0.0018689828, -0.07705671, 0.15398589, -0.069929935, -0.01874144, 0.050793763, 0.06565281) * go_0(-1.0, 1.0); - result += mat4(0.56292456, 0.25537506, -0.16147509, 0.029484648, 0.11898947, 0.19103922, -0.2387553, 0.13659279, -0.044804625, -0.10285909, 0.12958583, 0.21526133, 0.02727471, 0.21990417, 0.0009558564, 0.12372512) * go_0(0.0, -1.0); - result += mat4(-0.10264466, -0.13103753, -0.069214605, 0.43234769, 0.25947884, -0.18333039, -0.15585582, -0.2406589, 0.33275372, -0.19497354, -0.09758474, -0.4531396, 0.41932744, -0.043746196, 0.08315102, -0.085604236) * go_0(0.0, 0.0); - result += mat4(0.15380725, -0.06311845, -0.28896615, -0.059237756, -0.078456834, -0.11623796, 0.017248835, 0.098803006, -0.13643564, -0.0029720776, 0.425954, 0.36920592, -0.06980546, 0.05205535, -0.15787347, -0.094921984) * go_0(0.0, 1.0); - result += mat4(0.009595518, -0.12598279, -0.04322495, -0.08838463, 0.11729769, -0.062454883, 0.19743776, -0.08590505, -0.022744715, 0.00457582, -0.06070008, 0.045312855, -0.010845991, -0.02241941, 0.07252932, 0.05525124) * go_0(1.0, -1.0); - result += mat4(-0.119069465, 0.08782395, 0.17878884, 0.0068233046, -0.36698806, -0.46077076, 0.37470114, 0.006550318, 0.08622002, -0.10081386, 0.1754186, 0.078841425, 0.060330488, 0.39436886, 0.1688179, -0.10113108) * go_0(1.0, 0.0); - result += mat4(0.17160045, -0.18541232, -0.093926296, 0.0053854887, -0.07649591, -0.3053692, 0.15255369, 0.06183564, 0.105131835, 0.076607525, -0.17482935, -0.104579754, -0.4795174, 0.30223432, 0.4728322, 0.106419675) * go_0(1.0, 1.0); - result += mat4(-0.068794325, -0.019651407, 0.048906703, 0.10097784, 0.014003637, 0.08358555, -0.34008583, 0.1677446, 0.12863056, 0.010167976, 0.10771957, -0.14823496, -0.11855097, 0.024728613, -0.06394353, 0.07123295) * go_1(-1.0, -1.0); - result += mat4(0.1652107, -0.056815207, 0.26562792, -0.02586732, 0.13812682, 0.3791579, -0.40067768, 0.19901459, -0.055583958, 0.06673556, -0.16258197, 0.0014027074, 0.13844898, 0.17588624, 0.0061608437, 0.014889389) * go_1(-1.0, 0.0); - result += mat4(0.023591522, -0.06255483, -0.04512753, -0.07939918, 0.17603582, -0.06219873, -0.10907254, 0.012348696, -0.053350568, 0.023741387, 0.05215983, 0.117241465, 0.28173143, 0.11200327, -0.11672438, -0.13278063) * go_1(-1.0, 1.0); - result += mat4(-0.15015969, -0.1145909, 0.08583166, 0.0386507, -0.17788467, 0.29311427, 0.03577728, -0.006737705, -0.020426478, 0.065881886, -0.10966947, -0.016716056, -0.0027577002, -0.20769168, 0.4357363, -0.13179652) * go_1(0.0, -1.0); - result += mat4(-0.44572783, 0.08870803, 0.42933974, -0.16602941, 0.23271243, 0.29478154, -0.53973556, -0.042550746, -0.13157314, -0.0413034, 0.12679552, 0.11579286, -0.5161936, -0.24292113, -0.10862491, 0.13528119) * go_1(0.0, 0.0); - result += mat4(-0.043000877, 0.08458555, 0.11260604, -0.5589381, -0.16010836, -0.019429926, 0.04731505, -0.12212733, 0.05655828, 0.0107375225, -0.10067243, -0.06904067, 0.07476142, -0.043922618, -0.13811466, 0.008697587) * go_1(0.0, 1.0); - result += mat4(-0.3281664, -0.104251154, 0.07188181, 0.06720938, 0.028879764, 0.07302547, 0.18261562, -0.08896491, 0.11240943, -0.1919612, -0.13059135, -0.07057044, 0.053953633, 0.17297988, -0.20344415, 0.050276734) * go_1(1.0, -1.0); - result += mat4(-0.41925356, 0.020309223, 0.2246313, -0.3418901, -0.20863962, 0.18653068, -0.04616101, 0.1236236, -0.062179156, 0.1437903, 0.1314142, 0.0699381, 0.029918872, 0.23033592, 0.09302733, -0.20570321) * go_1(1.0, 0.0); - result += mat4(0.07847491, -0.18251555, 0.0678772, -0.29089385, -0.03632992, -0.17132603, -0.04896196, 0.09839614, -0.10377483, -0.11817732, 0.03477946, 0.050376516, 0.17791937, -0.34359503, 0.030756304, 0.025246387) * go_1(1.0, 1.0); - result += mat4(-0.12972409, 0.032459006, -0.20415276, 0.31407776, -0.1743501, -0.26177478, -0.07577315, -0.104599, -0.025548192, -0.23483936, 0.40139225, 0.12898883, 0.06533049, -0.09545806, -0.032093894, 0.0032956926) * go_2(-1.0, -1.0); - result += mat4(0.22749326, -0.20613275, -0.23030083, -0.29994026, -0.18482473, -0.038720988, -0.13339107, -0.1394514, 0.36952803, -0.2709558, -0.14104684, -0.17859542, 0.09873891, 0.04330318, 0.15205383, 0.115995236) * go_2(-1.0, 0.0); - result += mat4(0.07534328, -0.13592403, 0.2224819, -0.06818886, -0.11952144, 0.004714797, 0.18252324, -0.08729513, 0.17198865, -0.00082568696, 0.33769485, -0.0920225, 0.173712, -0.038548574, -0.016980015, -0.13799237) * go_2(-1.0, 1.0); - result += mat4(-0.43659294, -0.19679698, -0.31969583, 0.24002865, -0.1064947, -0.08218358, -0.07990568, -0.028915526, -0.077836946, -0.012841249, -0.11685068, -0.2102985, 0.025435956, -0.21367492, 0.11001358, -0.09812692) * go_2(0.0, -1.0); - result += mat4(0.28203383, 0.09570471, -0.14503846, -0.19898729, 0.18757457, 0.16626704, -0.009997161, 0.06738176, -0.18296066, 0.11583831, -0.0025225005, 0.373547, -0.24103725, 0.3553009, 0.11984093, 0.25370696) * go_2(0.0, 0.0); - result += mat4(-0.022194814, 0.02950222, -0.121312395, 0.0040648654, 0.06509207, 0.00084966415, 0.032229617, 0.0139804585, -0.23108627, -0.004511493, -0.28217104, 0.0828633, 0.17399071, 0.2137328, 0.4731738, -0.37666738) * go_2(0.0, 1.0); - result += mat4(-0.045961298, 0.0056297607, -0.08513672, 0.093939304, 0.07252928, -0.11458939, 0.11005008, -0.1132733, 0.10369599, 0.1636998, -0.11919379, -0.08949099, 0.080640145, 0.029493907, 0.24982096, -0.10234766) * go_2(1.0, -1.0); - result += mat4(0.08474163, -0.24252129, -0.3065911, 0.11077523, 0.13397239, 0.14875948, -0.18212163, 0.006510455, -0.008477232, -0.3242149, 0.31507346, -0.19521071, -0.3610268, 0.25882444, -0.067812346, 0.20968717) * go_2(1.0, 0.0); - result += mat4(0.05730163, 0.053821165, -0.10948745, 0.04090055, 0.0161064, 0.19475192, 0.09248433, -0.027268974, -0.031323943, -0.084304914, 0.28378648, 0.44910806, -0.052243132, 0.2999386, -0.26639074, -0.2529396) * go_2(1.0, 1.0); - result += mat4(0.026707547, -0.006487042, -0.044127557, -0.016287267, 0.1417188, 0.24645403, -0.32444936, 0.20339565, 0.027596464, 0.03799474, -0.029943593, 0.058569513, -0.15013286, 0.25070968, 0.08954207, -0.14304538) * go_3(-1.0, -1.0); - result += mat4(-0.22184753, -0.0732679, 0.042815078, 0.03770516, 0.22240163, -0.043244008, -0.14883384, -0.10682856, 0.16421252, 0.20890577, 0.000585579, -0.061031006, -0.551696, -0.17770186, 0.13795924, 0.101121314) * go_3(-1.0, 0.0); - result += mat4(-0.047539327, 0.11826275, 0.458172, -0.023809819, -0.0154842585, -0.015466883, 0.03837829, -0.34703115, -0.03437818, 0.12705797, -0.042713646, -0.2518409, -0.27947584, -0.020104226, -0.022687877, 0.14169087) * go_3(-1.0, 1.0); - result += mat4(0.06269709, 0.06449363, -0.02793847, 0.04407663, -0.054694284, 0.69776016, -0.32850045, 0.19365972, -0.19002354, -0.038244195, -0.20433429, -0.34071165, 0.123992935, -0.22218247, -0.30181807, -0.03031556) * go_3(0.0, -1.0); - result += mat4(-0.06685185, -0.18313402, -0.03785641, 0.008412995, -0.017108139, 0.48937285, -0.035302214, 0.011338532, -0.08890957, 0.32343447, 0.088812076, -0.027280344, 0.40437454, -0.45940742, 0.118888274, 0.41054434) * go_3(0.0, 0.0); - result += mat4(-0.36049488, 0.100708134, 0.331516, 0.1078647, 0.12895954, 0.13425021, -0.18602797, -0.11423174, -0.10916294, 0.061013293, 0.08984191, 0.1835112, -0.10568929, -0.046648484, 0.2127872, 0.54582083) * go_3(0.0, 1.0); - result += mat4(0.19040897, 0.08670264, 0.12393752, -0.003475547, -0.37210098, 0.035628326, -0.29302806, 0.10709011, -0.20405664, -0.9748058, 0.39254782, 0.44914797, 0.032028764, 0.04227575, -0.25056216, 0.063437305) * go_3(1.0, -1.0); - result += mat4(-0.07952942, -0.13263832, 0.037877183, 0.20845042, -0.026445981, -0.010450352, -0.043147005, -0.12033961, 0.20600243, -0.046332583, -0.47056386, 0.09566825, 0.18658772, -0.3381639, -0.042662457, 0.15197653) * go_3(1.0, 0.0); - result += mat4(-0.4996296, 0.019971728, 0.10017604, 0.052051116, 0.12145858, 0.106811635, -0.056665674, -0.11708303, 0.16642408, 0.22654046, -0.04731226, -0.039967895, -0.1434505, 0.3171998, -0.19033776, -0.29952875) * go_3(1.0, 1.0); - result += vec4(0.03144068, -0.027781913, 0.04483475, 0.037489943); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.031192884, -0.015032417, 0.25046152, 0.143142, 0.09429096, 0.2090414, -0.16252424, 0.42788, -0.005667558, 0.14787567, 0.23810932, -0.13502707, 0.0006289761, -0.014052179, -0.091041535, 0.059258565) * go_0(-1.0, -1.0); - result += mat4(-0.09637771, 0.17332087, 0.123664804, 0.046110056, 0.25775972, 0.31647265, -0.1464598, 0.41624358, 0.032242253, -0.017219262, -0.35814875, 0.3348811, 0.05738627, 0.046910666, 0.014263179, -0.15797907) * go_0(-1.0, 0.0); - result += mat4(-0.06782952, 0.049666278, 0.083296575, 0.19301543, -0.05964988, 0.18332662, 0.30906975, 0.03342819, 0.12226727, 0.1226969, -0.15035193, -0.003493911, -0.007647415, -0.051491078, -0.019189527, -0.009602449) * go_0(-1.0, 1.0); - result += mat4(0.08838342, -0.055376932, 0.13949814, -0.12728734, -0.17266448, 0.35102528, 0.018773714, 0.050504927, -0.10556112, -0.014422574, -0.25474203, 0.31192264, -0.09063805, 0.010115312, -0.08702192, 0.08573518) * go_0(0.0, -1.0); - result += mat4(0.16521221, -0.01265248, -0.5292306, -0.17494588, -0.18994644, -0.41904125, -0.26261392, -0.42338082, 0.39478812, 0.20768805, 0.16483486, -0.22635488, 0.13576357, 0.17095351, 0.064293, 0.06416031) * go_0(0.0, 0.0); - result += mat4(-0.09107591, 0.1757355, 0.19841582, -0.25249094, 0.18083812, -0.12258315, 0.4074544, -0.17171176, -0.15881093, -0.22978021, -0.05622591, -0.09703007, -0.12538208, -0.06956953, -0.14475612, -0.066342294) * go_0(0.0, 1.0); - result += mat4(-0.029294115, -0.036292624, 0.19467807, -0.10223533, 0.086430565, -0.052809026, -0.23749635, 0.10364248, -0.22938702, 0.07210543, 0.03876035, -0.21014924, -0.11247329, -0.17755648, -0.05139757, -0.037780646) * go_0(1.0, -1.0); - result += mat4(0.12605286, 0.16123274, -0.13924524, -0.109194726, 0.033486, -0.24847955, 0.1264379, 0.28880134, -0.17594175, -0.1888256, -0.04508948, 0.047563452, -0.5476752, -0.23573762, -0.17183748, 0.14331517) * go_0(1.0, 0.0); - result += mat4(-0.006482806, 0.2289281, -0.03872587, -0.027272481, -0.09913351, -0.09453464, -0.1426349, 0.055076513, -0.025217436, -0.08307176, 0.0797406, 0.10166401, -0.294337, -0.3567936, 0.054015454, 0.068333104) * go_0(1.0, 1.0); - result += mat4(0.012300659, -0.040405195, 0.11190478, -0.07406065, -0.18364848, 0.035823543, -0.01621734, 0.07582391, 0.06704436, -0.0006620425, -0.022342965, 0.16496183, 0.11390146, 0.075079784, 0.13547076, -0.022227254) * go_1(-1.0, -1.0); - result += mat4(0.23038611, -0.29141426, 0.0984085, -0.20544642, -0.18859404, 0.3620387, -0.4136066, 0.32138887, -0.0047645094, 0.11271573, 0.15377328, 0.012071895, -0.029830804, 0.14384824, 0.04148142, 0.2286753) * go_1(-1.0, 0.0); - result += mat4(-0.120368056, -0.0026308578, -0.027536837, -0.13022487, 0.19286355, 0.30597997, -0.121778116, 0.29960433, -0.06231281, -0.013746478, 0.10620681, -0.02362372, -0.10042793, 0.015861828, -0.06073457, 0.11589962) * go_1(-1.0, 1.0); - result += mat4(0.1148781, -0.24268909, 0.24827103, -0.17290637, -0.14397098, -0.16708367, 0.2130187, -0.18639165, -0.13702524, 0.107212365, 0.066469796, -0.14059094, 0.19621798, -0.036907773, -0.028576817, 0.19191594) * go_1(0.0, -1.0); - result += mat4(0.061653305, -0.12716687, 0.17514701, 0.003910376, -0.00651784, 0.25642744, -0.17615528, -0.03584991, -0.051342323, -0.20178711, -0.4330863, 0.15785883, -0.14388351, 0.050646614, 0.15746376, -0.17228809) * go_1(0.0, 0.0); - result += mat4(-0.32631296, -0.020115409, -0.16132942, 0.29139966, -0.18642388, -0.15140165, 0.2106485, -0.025535548, 0.08296747, 0.037819803, 0.106129125, -0.095521644, 0.312119, -0.09383011, -0.023469942, -0.035990953) * go_1(0.0, 1.0); - result += mat4(0.012878467, -0.1599543, 0.14487906, -0.083350256, 0.074949436, -0.09346481, 0.10122695, 0.08852621, 0.11138647, -0.0072039254, -0.00842464, 0.030785646, -0.04394235, 0.10987614, 0.15378197, -0.05989409) * go_1(1.0, -1.0); - result += mat4(0.41359067, -0.04985946, 0.06845964, 0.12003392, 0.0803128, 0.2420856, -0.18877462, 0.058456603, -0.02516271, 0.010639022, -0.04928307, -0.023084244, 0.06001203, 0.06881964, -0.12117699, -0.2680374) * go_1(1.0, 0.0); - result += mat4(0.09667388, 0.16247103, 0.105098106, 0.12871382, 0.063410334, 0.029997706, 0.048323907, -0.075631075, 0.034694012, -0.029085271, -0.003785678, -0.05397498, -0.1783155, -0.13680255, 0.024786513, -0.0041952017) * go_1(1.0, 1.0); - result += mat4(-0.23904142, -0.102619216, -0.21049559, -0.07428196, -0.046321787, -0.09432119, 0.08803711, -0.1660408, 0.31880215, 0.11605265, -0.086603194, 0.119239025, 0.06773056, 0.18591799, 0.0058458247, 0.05242187) * go_2(-1.0, -1.0); - result += mat4(0.12521484, -0.23739336, -0.16784379, -0.10277679, -0.18505791, 0.061825443, 0.12762548, -0.16664176, 0.20004764, -0.1400315, 0.35610282, -0.19706382, 0.046386316, -0.155162, -0.0425219, 0.0010560523) * go_2(-1.0, 0.0); - result += mat4(0.14500342, -0.0046809237, -0.1278097, 0.041527335, 0.11831141, -0.059155047, -0.17391829, 0.0059517594, -0.18033625, -0.379706, 0.11636179, -0.13310274, 0.047523372, 0.0029333998, -0.1512301, 0.1361489) * go_2(-1.0, 1.0); - result += mat4(-0.23058943, -0.08937329, 0.07061336, 0.08555644, 0.09255573, -0.15303029, 0.08891002, -0.42177418, 0.0950346, 0.20212616, 0.3866544, 0.07922501, -0.04093803, -0.10997976, -0.07189613, -0.21220057) * go_2(0.0, -1.0); - result += mat4(-0.04484278, 0.2386453, 0.27855012, 0.011022442, 0.0409283, 0.1937425, 0.060258046, 0.2633126, -0.54181176, 0.19643608, -0.28907844, 0.04247623, -0.37548354, -0.24831985, -0.52362055, -0.4442409) * go_2(0.0, 0.0); - result += mat4(0.014318134, 0.047169194, -0.07291308, 0.21408482, -0.01503884, 0.027093383, -0.11724912, -0.052458502, 0.1676504, 0.5505249, 0.22394833, -0.17126445, 0.13671164, -0.18371153, -0.456313, 0.14297491) * go_2(0.0, 1.0); - result += mat4(0.00063476624, 0.16339731, -0.031160444, 0.18237135, 0.025692228, -0.04895109, 0.033651803, -0.002480504, 0.34582126, -0.039352335, -0.004698449, 0.12789944, -0.08318657, -0.007492543, -0.12888806, 0.03684109) * go_2(1.0, -1.0); - result += mat4(-0.06481498, 0.14330916, 0.17366715, -0.028045174, 0.080571376, 0.18343642, -0.11593154, -0.077227145, 0.1973531, 0.3085006, -0.28876102, 0.06434657, 0.16654246, -0.28144804, 0.3234261, -0.026636604) * go_2(1.0, 0.0); - result += mat4(-0.084783904, 0.03651458, 0.020044886, -0.10723048, 0.04165204, 0.04072967, 0.037039082, -0.09042298, 0.19693066, -0.21291414, -0.040890995, -0.15434273, -0.07450638, 0.27289733, 0.06332989, -0.037289053) * go_2(1.0, 1.0); - result += mat4(-0.004840926, 0.048929166, 0.015578959, 0.03571025, -0.2184971, 0.094020076, -0.17748803, 0.32877877, -0.035392962, -0.28398407, -0.13072185, -0.21858144, -0.24103665, -0.32654533, -0.063572675, -0.008728733) * go_3(-1.0, -1.0); - result += mat4(0.0060240547, 0.029166108, -0.023887299, 0.037508924, 0.04231956, 0.1503379, 0.17414866, -0.25778973, -0.14774446, -0.12541369, -0.32502824, 0.28957245, -0.030400498, 0.05351274, 0.13189505, -0.21329227) * go_3(-1.0, 0.0); - result += mat4(0.2198507, -0.49962172, -0.16456802, 0.08402717, -0.094403476, -0.1978019, -0.19233316, 0.055013265, 0.01668743, -0.117106654, -0.0745593, -0.09377295, 0.050370943, 0.07410238, 0.13543247, -0.23753798) * go_3(-1.0, 1.0); - result += mat4(0.008572295, 0.11890422, -0.047157902, -0.03717175, -0.35570037, 0.060663674, 0.109250925, -0.16135052, 0.030490266, 0.30335435, 0.38949126, 0.44852075, -0.09788441, 0.43574813, -0.30050707, 0.24572986) * go_3(0.0, -1.0); - result += mat4(0.29497403, -0.30934516, 0.05756695, -0.15919119, -0.121505864, -0.028917443, -0.07419939, 0.13863774, -0.04398897, 0.32990414, 0.38306457, -0.030523712, 0.72267497, 0.33932966, 0.07839862, 0.11931982) * go_3(0.0, 0.0); - result += mat4(0.26952964, -0.31019664, 0.07061176, -0.23266664, 0.14124376, 0.3597343, -0.17694736, 0.22935267, -0.12335108, -0.086614646, -0.10635, 0.22585274, -0.27139255, 0.05963002, 0.2852169, -0.3743854) * go_3(0.0, 1.0); - result += mat4(0.0970178, -0.014084432, -0.0504985, 0.1570353, 0.091999866, 0.23429315, 0.12914294, 0.03267318, 0.5849793, 0.38205758, -0.31792474, -0.07992281, 0.022620765, 0.22215942, -0.23093775, 0.0026896205) * go_3(1.0, -1.0); - result += mat4(-0.06753083, -0.20358866, 0.173053, 0.13768815, 0.013206715, 0.06310567, 0.17349118, -0.12714109, 0.0405548, -0.18409975, 0.3441249, -0.24606577, -0.18814458, -0.039655812, -0.15961805, 0.08212082) * go_3(1.0, 0.0); - result += mat4(0.06746224, -0.1595078, 0.15284725, -0.057313897, -0.1229526, 0.11482664, -0.0021675595, -0.00026835455, -0.0653958, -0.0967453, -0.09400396, -0.021233113, 0.23587836, 0.2982212, -0.039116163, 0.012201323) * go_3(1.0, 1.0); - result += vec4(0.049680557, 0.01432493, 0.04349397, 0.040003702); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.07314084, 0.08021976, -0.08299374, -0.21340942, -0.0088407695, 0.04742526, -0.038566757, -0.058931205, 0.0009213959, 0.19193986, -0.05906689, -0.0038934543, -0.12937409, 0.100754194, 0.1683601, 0.07552924) * go_0(-1.0, -1.0); - result += mat4(-0.022257961, 0.08347593, -0.02279838, 0.10150892, -0.02083181, 0.07064587, 0.26308942, -0.13609628, 0.023648601, 0.1475858, 0.12856342, 0.2650287, -0.038316045, -0.35173503, 0.09157486, 0.16609442) * go_0(-1.0, 0.0); - result += mat4(-0.13746555, 0.15315081, -0.032931942, 0.07487079, 0.09694968, 0.014459765, 0.06814075, -0.059461202, 0.25045857, -0.0071333316, 0.067206055, -0.21697883, 0.023228496, -0.13146883, 0.07486156, -0.030696157) * go_0(-1.0, 1.0); - result += mat4(-0.0069204876, -0.18402638, 0.085326575, 0.18288516, 0.036785558, -0.019116882, 0.017438713, 0.029095992, 0.10944869, -0.09473364, 0.10444152, -0.028845368, 0.0909169, -0.10593229, 0.14518781, 0.05546837) * go_0(0.0, -1.0); - result += mat4(0.53389466, -0.018921841, -0.05050542, 0.21149407, 0.3041209, -0.2594824, -0.18464427, 0.20736529, 0.18971719, -0.05058395, -0.13514072, -0.009045264, 0.20910244, 0.29242986, 0.28958234, 0.2870443) * go_0(0.0, 0.0); - result += mat4(0.03259606, 0.2126493, 0.6004735, 0.14007168, -0.1424266, 0.04352873, 0.17071731, 0.10630275, -0.2755667, 0.27345222, -0.06420644, 0.032743722, 0.026045147, -0.23541754, 0.01393772, -0.1476582) * go_0(0.0, 1.0); - result += mat4(0.06258474, -0.040185593, -0.092409454, -0.095720276, 0.050550956, -0.026547447, 0.099580996, 0.04878719, 0.15659782, -0.007606541, -0.061156776, 0.11329769, -0.019249229, 0.028775204, -0.24508974, -0.052828208) * go_0(1.0, -1.0); - result += mat4(-0.16975857, -0.008542089, 0.30186546, 0.33199415, 0.03747256, 0.15057808, 0.017838268, -0.030345246, 0.019341556, 0.3217693, 0.24844399, 0.06951953, -0.10805396, -0.08874898, -0.068681985, -0.2677526) * go_0(1.0, 0.0); - result += mat4(-0.06813968, 0.087481484, -0.11338694, -0.08698839, -0.07585716, 0.079565816, -0.066336565, 0.050449606, 0.11338618, 0.38572344, 0.0024759274, 0.12706435, 0.16759671, 0.0254419, -0.06910047, -0.21917519) * go_0(1.0, 1.0); - result += mat4(0.0039553675, -0.17838223, 0.038052835, 0.027201787, 0.06518285, 0.08250212, -0.052679926, -0.021249574, -0.13604519, 0.12234797, -0.16008313, -0.07422232, -0.0930264, -0.07480355, -0.0067053377, 0.13964424) * go_1(-1.0, -1.0); - result += mat4(-0.05491681, 0.16191071, -0.13063031, -0.2889149, -0.045188528, 0.29249623, -0.061093148, -0.083284624, -0.19250835, -0.103631295, -0.23577131, 0.108691126, 0.028907659, -0.2708106, 0.06986715, 0.22996326) * go_1(-1.0, 0.0); - result += mat4(-0.07838976, -0.063634194, 0.06297176, -0.09969828, 0.10518915, 0.062185638, 0.033053298, 0.023406805, -0.2801067, -0.13414349, -0.02466297, -0.1110011, 0.040580552, 0.033576507, 0.07127022, -0.068416506) * go_1(-1.0, 1.0); - result += mat4(-0.05786512, 0.17169164, -0.09276801, -0.1444394, 0.13971466, -0.168134, 0.012722911, 0.06788442, 0.02493809, 0.04105174, 0.09471395, 0.21363391, -0.12093948, 0.067423604, -0.054669242, 0.06764739) * go_1(0.0, -1.0); - result += mat4(0.2954526, 0.15885043, -0.05164922, 0.3646313, 0.013329013, 0.044056762, 0.01717495, -0.030439444, 0.32433322, -0.29044852, 0.32627285, 0.150364, 0.14502852, -0.22193567, -0.18879528, 0.018430077) * go_1(0.0, 0.0); - result += mat4(-0.2973998, -0.41863972, 0.0048396075, 0.06709588, -0.12029818, -0.05315725, -0.11457002, 0.0071458486, 0.26290894, 0.11030596, 0.082195595, -0.27480638, -0.011602335, 0.019122265, -0.18927693, -0.24246486) * go_1(0.0, 1.0); - result += mat4(0.09974451, 0.07223917, -0.09586719, -0.08288307, -0.06436462, -0.027324842, -0.0019976476, 0.19203754, 0.015929956, -0.12534836, -0.0038582094, 0.11275662, -0.031039666, 0.010430081, -0.023713758, -0.21801127) * go_1(1.0, -1.0); - result += mat4(0.054167796, 0.0634282, -0.047591783, -0.06402415, -0.0709014, 0.082054086, 0.28418478, 0.06584792, -0.18744822, -0.006312915, -0.0075474046, 0.0829434, -0.032414634, 0.19225785, -0.082302466, -0.3142319) * go_1(1.0, 0.0); - result += mat4(-0.0026932533, -0.110426664, 0.021643564, -0.14368293, -0.0048789545, 0.11043582, -0.040021945, 0.058764413, -0.009000321, 0.10833911, 0.05681704, -0.039960742, 0.0014395626, 0.022780152, -0.09172437, -0.085687816) * go_1(1.0, 1.0); - result += mat4(0.12509525, -0.18352552, -0.07638094, -0.00756009, 0.05407378, -0.14584734, -0.08163636, -0.13222884, 0.039648265, -0.15960212, 0.074228585, 0.009451507, 0.17933762, -0.17743796, 0.007834195, 0.0037116117) * go_2(-1.0, -1.0); - result += mat4(-0.10942205, 0.1585392, 0.040241007, 0.10526164, 0.16979292, 0.29029292, -0.009487742, 0.24926443, -0.1047842, 0.03604099, 0.19281772, 0.03798268, 0.17581491, 0.25031644, 0.055782937, -0.30455682) * go_2(-1.0, 0.0); - result += mat4(0.06714908, -0.09112766, -0.022286715, 0.09795178, -0.014092309, 0.26703134, 0.15334776, 0.33441234, 0.13753732, -0.13819148, 0.22796239, 0.16050872, 0.05523446, 0.082806356, -0.053028688, -0.0400533) * go_2(-1.0, 1.0); - result += mat4(-0.028462043, 0.18224953, 0.026658487, -0.15048791, 0.106156826, -0.07361365, 0.3529029, 0.06473894, -0.032005392, 0.037034214, 0.039220046, -0.012491292, -0.09503139, 0.0444902, -0.31978187, -0.2923563) * go_2(0.0, -1.0); - result += mat4(-0.3674723, 0.22560489, 0.38837367, 0.17128418, -0.0948159, 0.6298207, 0.59135467, 0.3350841, -0.1859739, 0.31080073, 0.03317792, 0.20958795, -0.097624235, -0.07605166, 0.10135128, -0.08953993) * go_2(0.0, 0.0); - result += mat4(0.320043, 0.002823138, -0.08849585, -0.06356955, 0.19898786, 0.272037, 0.1241285, 0.18131523, -0.05760319, -0.19315276, -0.033923294, 0.09981398, -0.07670874, -0.25949827, 0.062826484, 0.011877337) * go_2(0.0, 1.0); - result += mat4(-0.019341033, -0.03938962, 0.10163529, 0.05033707, -0.03194324, -0.13427012, 0.16106506, -0.05596736, -0.04438277, 0.0045224032, 0.20575951, -0.10359912, 0.03423479, -0.17256664, 0.32534334, -0.09378658) * go_2(1.0, -1.0); - result += mat4(0.19792143, 0.038506437, -0.21047395, -0.27926794, 0.23113485, -0.053830303, 0.4963027, 0.34639266, 0.108149074, -0.10592886, 0.09575202, 0.12385147, 0.08751849, -0.050622147, 0.033647005, 0.2588364) * go_2(1.0, 0.0); - result += mat4(0.04931599, -0.14498134, 0.0073008477, -0.05298649, 0.29398152, 0.16829367, 0.089691155, -0.01749789, 0.20039341, -0.13137043, 0.1884996, -0.03018221, -0.06793498, -0.03220071, 0.06326444, 0.017898731) * go_2(1.0, 1.0); - result += mat4(0.011310341, 0.15556115, -0.08003895, -0.07396207, -0.06434896, -0.14684777, -0.019239893, 0.009520887, 0.013242985, -0.12733786, -0.040152796, 0.0064262203, 0.087119006, 0.08165867, 0.12353576, 0.002600503) * go_3(-1.0, -1.0); - result += mat4(0.14877501, -0.056240283, -0.11846124, 0.16736585, -0.0018247389, 0.0095979795, -0.07605829, 0.13583913, -0.008851887, 0.16578445, -0.04152669, -0.059164364, -0.021962654, 0.312347, 0.0129089225, -0.097307086) * go_3(-1.0, 0.0); - result += mat4(-0.122485265, 0.06891502, -0.1807204, 0.10579281, -0.0061903363, -0.025644284, 0.08879091, -0.09492319, -0.019361734, -0.10903786, -0.08949264, 0.055067465, -0.027095577, -0.06629012, -0.05580654, 0.045552503) * go_3(-1.0, 1.0); - result += mat4(-0.025895944, 0.18728323, 0.09764548, 0.49504116, -0.030123139, -0.012580951, 0.090377375, -0.18767111, -0.06874367, 0.11378584, 0.0127285635, -0.101479106, 0.07010412, -0.02272616, -0.03455195, 0.040611476) * go_3(0.0, -1.0); - result += mat4(-0.58637494, -0.13186562, -0.26627728, -0.40135092, 0.19139144, 0.27310577, 0.07761293, 0.10058002, -0.3126869, -0.07982417, 0.04237517, 0.25126198, -0.17133251, 0.122523, -0.0053142905, -0.22283912) * go_3(0.0, 0.0); - result += mat4(-0.0023953887, 0.30968156, -0.1303385, 0.046937056, 0.20530851, 0.07276076, -0.086923674, -0.17881633, 0.08715105, 0.25641996, -0.22557895, -0.0017721896, -0.2347971, -0.07164777, -0.103000194, 0.22468017) * go_3(0.0, 1.0); - result += mat4(-0.12947787, -0.05199853, -0.0899567, 0.087013826, 0.018399805, 0.14997742, -0.20396905, -0.20554177, -0.014265392, 0.048660364, 0.07077151, -0.05911514, 0.003051989, 0.07242704, -0.16232954, 0.19634365) * go_3(1.0, -1.0); - result += mat4(0.13121666, 0.03174777, 0.07853035, -0.04881682, 0.10043158, -0.036237933, -0.2178651, -0.06562213, 0.021113047, 0.0068006255, -0.16305129, -1.9600706e-05, -0.14886445, -0.17729987, -0.17907865, 0.21547341) * go_3(1.0, 0.0); - result += mat4(-0.03263096, -0.064234234, 0.03990361, 0.09057224, -0.05704657, -0.107518636, 0.09328312, 0.014857798, -0.060736485, -0.033695858, -0.07943859, -0.0054049506, -0.072932534, -0.023306495, -0.06615389, 0.029145932) * go_3(1.0, 1.0); - result += vec4(0.0052180276, 0.022526434, 0.022657124, 0.016289035); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.012031344, 0.0075636036, -0.033211436, 0.018453801, -0.23412584, -0.113123864, 0.068607934, -0.018517016, -0.19748597, -0.2571716, -0.026148321, -0.00019766031, 0.012040108, 0.12122093, 0.0714374, -0.10087335) * go_0(-1.0, -1.0); - result += mat4(-0.029292978, -0.025254043, -0.034099232, 0.085234866, 0.24252516, 0.076297395, -0.12717746, -0.03457669, 0.033755753, -0.0531509, -0.04005856, -0.20840853, -0.0078028045, 0.12575904, -0.010887013, -0.046326064) * go_0(-1.0, 0.0); - result += mat4(-0.003266499, -0.017687857, -0.012221699, -0.2251586, 0.00208294, 0.007880196, 0.09037794, 0.08328994, -0.0428717, 0.027112724, 0.08032711, 0.1513152, -0.043068174, 0.07987632, -0.008801098, 0.08133886) * go_0(-1.0, 1.0); - result += mat4(-0.1827595, 0.18459928, -0.1918044, -0.05324067, -0.1705114, -0.01887987, -0.14486305, -0.17456877, -0.18964832, -0.07162095, -0.13871318, -0.046433818, -0.018604748, -0.11131921, -0.08050445, -0.08619502) * go_0(0.0, -1.0); - result += mat4(-0.0717377, -0.12163745, 0.18497953, -0.08643892, 0.0007879318, -0.050351888, 0.17640385, 0.17240365, -0.14958718, -0.056793597, 0.03742872, -0.1015922, 0.3117469, -0.39953762, 0.0152286505, -0.13784732) * go_0(0.0, 0.0); - result += mat4(0.07879097, -0.39204946, -0.07003556, -0.24708183, -0.058046583, -0.09865189, -0.048411854, -0.05027539, -0.12736927, -0.23946127, -0.08323304, 0.028160958, -0.059784077, -0.0064917994, 0.038013496, 0.08928725) * go_0(0.0, 1.0); - result += mat4(0.07403741, -0.004601062, 0.13563065, 0.054981887, -0.08022936, 0.022921488, -0.053264186, -0.016605966, -0.20883927, -0.19978985, -0.058101434, 0.15126002, 0.020758694, 0.12837122, 0.13368484, 0.1443778) * go_0(1.0, -1.0); - result += mat4(-0.08701922, -0.041025855, -0.03362371, -0.19846733, -0.009003309, 0.06708822, 0.06784735, 0.049892817, 0.123487085, -0.008921262, -0.0883188, -0.09103165, 0.070733, 0.1474191, -0.08228257, 0.12713781) * go_0(1.0, 0.0); - result += mat4(0.16015989, 0.19007389, -0.12680867, 0.056614764, -0.008470681, 0.099433914, 0.008811413, -0.09471121, -0.09722353, 0.0649324, 0.021527816, -0.21614286, 0.07569941, -0.16433574, -0.0069269636, 0.16142729) * go_0(1.0, 1.0); - result += mat4(-0.08708631, -0.017263759, 0.034016605, -0.009168008, -0.16427393, -0.11225274, -0.005249783, 0.13672975, -0.0844234, -0.022700429, 0.109927036, -0.041033685, -0.064794436, 0.015655773, -0.03411672, -0.12218549) * go_1(-1.0, -1.0); - result += mat4(-0.016761513, -0.027447775, -0.01290059, 0.0007822344, 0.07433617, -0.035145793, -0.03797909, -0.16871531, -0.029095095, -0.2073536, 0.12309633, -0.16626619, -0.04203133, -0.018517911, -0.06946039, -0.11132114) * go_1(-1.0, 0.0); - result += mat4(0.11052091, -0.030863507, -0.03229482, 0.11673996, -0.0455341, -0.00649463, 0.020642368, 0.04092308, 0.20173405, -0.012926573, -0.0244531, 0.055338163, -0.01835753, 0.024072325, -0.06893433, 0.048774183) * go_1(-1.0, 1.0); - result += mat4(0.3568486, -0.14506009, -0.13730963, -0.027905643, -0.37042627, -0.016187102, 0.12948507, 0.016912838, -0.089135066, -0.15287507, -0.092210636, 0.043153215, 0.2077129, 0.04429632, -0.107345045, -0.015176141) * go_1(0.0, -1.0); - result += mat4(-0.33605802, -0.22235338, 0.1270437, -0.23185425, 0.29133183, -0.005394921, -0.07139614, -0.049961478, 0.017125877, 0.499106, -0.0048643304, -0.14794266, -0.06752325, 0.29848218, 0.11979753, 0.033426132) * go_1(0.0, 0.0); - result += mat4(0.11241839, -0.09014392, -0.011629057, 0.17028853, -0.100855775, 0.100789815, -0.05269513, 0.06573697, 0.27869916, -0.057539526, -0.04528007, 0.30135208, -0.02261679, 0.0688468, 0.059139624, 0.13873443) * go_1(0.0, 1.0); - result += mat4(0.04780322, -0.008265764, -0.014270074, 0.0834061, 0.055182222, -0.059819162, 0.010733226, -0.040952608, -0.14509161, 0.17645077, 0.05801798, -0.042507146, 0.24863482, 0.1040497, -0.045867782, 0.120007925) * go_1(1.0, -1.0); - result += mat4(0.12579694, 0.09167574, 0.21078496, 0.052945495, -0.05036728, -0.11384816, -0.07594621, -0.09991826, 0.010668207, -0.05676672, -0.06273805, -0.06883917, -0.2184931, -0.1647689, -0.056467786, 0.109850615) * go_1(1.0, 0.0); - result += mat4(-0.11352159, 0.026516005, 0.042277884, 0.14155892, -0.017015357, -0.03407179, 0.014961351, -0.13766216, 0.20035928, -0.038310144, 0.002857473, -0.04447413, 0.011375937, -0.07345281, 0.01680756, 0.0089689195) * go_1(1.0, 1.0); - result += mat4(0.18048844, 0.025165293, -0.013590799, 0.21590467, 0.026852742, -0.06107904, -0.0012434963, 0.047840245, -0.07294931, -0.011157553, 0.11376999, -0.0086454, -0.028179385, -0.11118097, -0.15483098, 0.19983171) * go_2(-1.0, -1.0); - result += mat4(-0.15175144, 0.2142459, 0.1478812, -0.14039889, -0.19821295, -0.37290373, 0.19691283, 0.115997985, 0.1284214, 0.19273835, -0.096292645, -0.022643294, 0.15401742, -0.2267051, -0.15150996, 0.099672556) * go_2(-1.0, 0.0); - result += mat4(-0.068340585, -0.017279925, 0.04846922, -0.034003776, 0.055793036, -0.25135002, -0.03544407, -0.56164503, -0.19032021, -0.009258663, 0.070812754, -0.08191077, 0.047685042, -0.020684654, -0.07035788, 0.0132855335) * go_2(-1.0, 1.0); - result += mat4(0.19441503, -0.15030424, 0.12302495, 0.047762766, -0.095896654, -0.15033515, 0.007605368, 0.0570889, -0.038431447, -0.08560695, -0.0029293734, -0.01375586, 0.047505997, 0.014071177, 0.1479392, 0.25642776) * go_2(0.0, -1.0); - result += mat4(-0.28587586, -0.39141047, -0.3444917, -0.2408476, -0.64026415, -0.35294148, -0.1317, -0.21601357, 0.12164572, -0.48452628, 0.16729403, -0.21575572, 0.41301385, 0.017696327, 0.057344552, -0.27020162) * go_2(0.0, 0.0); - result += mat4(-0.033119988, 0.0012006643, 0.08465847, 0.015564506, -0.124659166, -0.09455984, 0.0035544615, -0.35156307, -0.15252608, 0.016244112, 0.0138391815, -0.04670501, 0.1383293, -0.037926193, 0.025957817, 0.1730784) * go_2(0.0, 1.0); - result += mat4(-0.012701927, -0.025511298, -0.06721094, -0.07040279, 0.06377799, 0.13967788, -0.14234799, -0.058825023, 0.041205924, -0.00032473358, -0.055379577, -0.033738375, 0.13665317, -0.02562686, -0.18523781, -0.06958092) * go_2(1.0, -1.0); - result += mat4(0.17461562, 0.07647785, -0.02202248, 0.21096313, -0.22494456, 0.10868611, -0.33091828, -0.27529812, -0.25206757, 0.1884099, -0.17850949, -0.1006927, 0.045536183, -0.100012675, 0.061030168, -0.025509179) * go_2(1.0, 0.0); - result += mat4(0.0337314, -0.052486207, -0.05584458, 0.0969859, 0.18508333, -0.04521821, -0.08331424, 0.076726556, 0.118076116, 0.019730117, 0.022492286, 0.09869008, -0.115276754, 0.097966135, 0.023186501, -0.060849246) * go_2(1.0, 1.0); - result += mat4(-0.09427026, 0.14057149, -0.07478311, 0.029171692, 0.14987083, -0.08649628, -0.01750609, 0.06958318, 0.085471064, -0.058146793, -0.029388946, 0.10720532, -0.030614216, 0.17328379, -0.03433174, -0.022483094) * go_3(-1.0, -1.0); - result += mat4(-0.085193954, -0.1348099, 0.07675298, -0.25627816, -0.07467235, -0.18559869, 0.100543626, -0.2201029, -0.015106581, -0.013150452, 0.10482805, -0.04446529, -0.15954255, 0.13659625, -0.10310867, -0.010787774) * go_3(-1.0, 0.0); - result += mat4(-0.13365999, 0.02036792, -0.09569852, -0.088586286, 0.18445042, -0.14354594, -0.09319419, 0.084703825, -0.018052364, 0.04344066, -0.0589665, -0.0065992875, 0.030960705, 0.08472253, -0.022175593, -0.020301547) * go_3(-1.0, 1.0); - result += mat4(-0.12315616, 0.05191162, 0.3044562, -0.066225395, 0.13523789, 0.24786936, -0.2531183, 0.008910162, 0.3662465, 0.2633546, -0.11816884, -0.108501054, -0.30446148, 0.094746254, 0.22515038, -0.048324294) * go_3(0.0, -1.0); - result += mat4(0.34875512, 0.22885701, -0.22425419, 0.30605644, 0.13452671, 0.16655035, -0.10293953, 0.23753232, -0.5908745, -0.15148452, -0.3885865, 0.14085245, -0.12627047, -0.09645269, 0.101941, -0.062304396) * go_3(0.0, 0.0); - result += mat4(-0.18468879, 0.11713357, 0.04766135, -0.25752118, 0.076471716, 0.06850848, -0.06427401, 0.028061042, 0.017875634, 0.09589284, -0.020327348, -0.1585817, 0.19669123, 0.10955879, -0.18545902, -0.074755065) * go_3(0.0, 1.0); - result += mat4(0.1056897, 0.08521911, -0.017700022, -0.004319419, 0.15351436, -0.11358399, 0.065656774, 0.101860404, 0.08894655, -0.060075074, 0.14363492, -0.10447328, -0.27426496, -0.19959188, 0.16687778, -0.09456175) * go_3(1.0, -1.0); - result += mat4(-0.05424188, -0.16305181, 0.028440254, -0.013702167, -0.010122417, -0.13160124, 0.08733208, 0.111403994, -0.13586052, 0.016545279, 0.12953275, -0.01298413, 0.19755821, 0.029597677, 0.004327247, 0.093656704) * go_3(1.0, 0.0); - result += mat4(-0.016224308, -0.020333769, 0.015944391, -0.044774864, 0.09308092, -0.06174809, 0.009493231, 0.00109714, 0.030341865, 0.0085925255, 0.023199126, 0.029012285, 0.050746094, 0.15161276, 0.053011492, -0.022610705) * go_3(1.0, 1.0); - result += vec4(-0.034925383, -0.0010656221, -0.023427188, -0.021127155); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009722335, -5.8660436e-05, -0.0069387504, -0.0052446183, -0.040276118, 0.0041334885, -0.013106614, -0.0047898176, -0.008160448, 0.011272557, -0.008908942, -0.015969492, 0.036588583, -0.0069453213, 0.03697349, 0.024233166) * go_0(-1.0, -1.0); - result += mat4(0.07749142, -0.0112727145, 0.064222045, -0.015094554, 0.0032031287, 0.03247034, -0.016756386, 0.023846423, -0.028618578, 0.02300731, -0.015894018, 0.037608027, 0.014199439, -0.043177396, -0.004832348, -0.05518754) * go_0(-1.0, 0.0); - result += mat4(0.008171211, -0.016406616, 0.04668373, -0.0020393482, -0.008888379, 0.001380358, -0.008963435, 0.0012900458, -0.030172894, -0.0017824832, -0.037534058, 0.000615256, 0.030373376, 0.002216906, 0.04730168, -0.0028000386) * go_0(-1.0, 1.0); - result += mat4(0.060749017, 0.006499037, -0.03925888, -0.043421242, 0.0014141012, -0.040274277, 0.020051334, 0.02141008, -0.0046555796, -0.032477897, 0.02811765, 0.014327698, 0.008681297, 0.044408746, -0.028984996, 0.00985357) * go_0(0.0, -1.0); - result += mat4(0.22245905, 0.2221309, 0.21369153, 0.17244695, -0.16802068, -0.09160697, -0.13712268, -0.104401335, -0.18699472, -0.117237985, -0.13240008, -0.121350996, 0.027870163, 0.09320937, 0.07950856, 0.08880132) * go_0(0.0, 0.0); - result += mat4(-0.002709059, -0.0070304363, 0.10570918, 0.08184527, -0.014383472, -0.020202143, -0.0810668, -0.054163996, -0.018711304, -0.035145987, -0.098869935, -0.06942387, -0.011235106, 0.008683168, -0.02585752, 0.024761796) * go_0(0.0, 1.0); - result += mat4(-0.017611317, 0.033189557, 0.0014886355, 0.0063918163, 0.0033280635, 0.00871624, 0.018652624, 0.0072240643, 0.028240945, 0.027274653, -0.0044101775, 0.012503479, -0.009022953, -0.0037992215, 0.007457012, -0.0075594983) * go_0(1.0, -1.0); - result += mat4(-0.042642962, 0.061122447, -0.0661494, 0.046923082, 0.014721836, -0.07878182, 0.013244828, -0.047850955, 0.016932828, -0.07947459, 0.05953852, -0.007192553, -0.022235982, -0.026965706, -0.034282424, -0.007242096) * go_0(1.0, 0.0); - result += mat4(-0.012262586, -0.014608243, -0.0039572082, 0.045586918, 0.011789637, 0.00811699, 0.004699602, -0.032348834, 0.017336411, 0.00069143757, 0.000303623, -0.061924953, -0.0064005707, -0.0043993946, -0.008697915, -0.012118654) * go_0(1.0, 1.0); - result += mat4(-0.0012260727, 0.006306051, -0.004919151, -0.014706935, 0.06893623, -0.03855539, 0.0025126948, -0.013461133, 0.051023327, -0.015535766, -0.0125827445, -0.059677888, -0.0021585734, -0.019920474, -0.025212945, 0.017173553) * go_1(-1.0, -1.0); - result += mat4(-0.014818789, -0.004695369, 0.11874947, -0.025116654, -0.010446815, -0.015087738, 0.060040206, -0.053225394, -0.059700467, -0.0084348805, 0.11633143, 0.01912765, -0.046732634, 0.02437617, 0.014276953, -0.017528424) * go_1(-1.0, 0.0); - result += mat4(0.03403683, 0.035661116, -0.05422196, 0.00086722866, 0.0069361166, 0.0030528181, 0.0011153776, 0.0040823813, -0.052100085, 0.016703505, -0.16275159, 0.019807467, -0.0046826405, -0.01290693, -0.00867241, -0.0074261916) * go_1(-1.0, 1.0); - result += mat4(0.091117546, 0.050540023, -0.018510593, -0.007402161, -0.1193577, 0.018770888, -0.011340929, -0.02110343, -0.032088384, 0.010691935, 0.004420295, -0.025953075, 0.047472738, 0.108008265, 0.007997121, -0.03855365) * go_1(0.0, -1.0); - result += mat4(-0.21882823, -0.18101972, 0.13662423, 0.3109504, -0.101242945, 0.3064065, -0.22530204, 0.2612257, -0.07345098, 0.31937975, -0.15872811, 0.23400135, -0.04057178, -0.11676629, -0.34227282, -0.18310128) * go_1(0.0, 0.0); - result += mat4(-0.01088255, 0.026722692, -0.0071181543, -0.07676996, -0.054152276, -0.08521186, -0.029249348, 0.005593179, 0.012496848, -0.055432145, 0.06396825, 0.056608576, -0.006908986, 0.018192623, -0.027572934, 0.03749799) * go_1(0.0, 1.0); - result += mat4(-0.00788736, 0.032808263, -0.0034198891, -0.01124656, 0.014423269, 0.058434688, 0.0139339, 0.0024755867, 0.042650267, 0.01773591, 0.017099075, 0.00094137667, 0.033293027, 0.008411577, 0.018532667, 0.016402127) * go_1(1.0, -1.0); - result += mat4(0.0013495176, -0.05906597, -0.011892358, -0.04260839, 0.0040078545, -0.12263263, -0.005952629, -0.031151159, 0.009523005, -0.04784067, 0.07216081, 0.007988283, -0.010771301, -0.019751243, 0.017268918, -0.1053882) * go_1(1.0, 0.0); - result += mat4(0.021729292, -0.006699109, -0.017977247, -0.008347603, 0.030392287, -0.035512295, 0.047333952, -0.061986152, -0.00917743, -0.023669569, -0.051791556, -0.057909377, -0.008901611, -0.010565621, -0.022557132, -0.06957076) * go_1(1.0, 1.0); - result += mat4(-0.096115954, 0.013176027, -0.046984393, -0.0064583416, -0.13834997, -0.024369081, 0.049557988, -0.013092948, 0.10623086, -0.0071193436, 0.025198812, -0.00963305, -0.051104847, 0.009814798, 0.0050332784, 0.0058091953) * go_2(-1.0, -1.0); - result += mat4(0.03568169, 0.01623718, -0.0020163557, 0.043042913, 0.027783269, -0.06342661, 0.10441675, 0.031614527, -0.17076227, 0.07228563, 0.04167568, 0.022664918, 0.0002446228, 0.01977757, -0.14741875, 0.03596493) * go_2(-1.0, 0.0); - result += mat4(-0.028803155, 0.02343672, -0.037556753, 0.004386295, 0.023776755, -0.0024816473, 0.0017886858, -0.005105568, 0.008360341, -0.008270227, -0.12140172, 0.047693867, -0.03565588, -0.0082427105, 0.012581843, 0.0018308035) * go_2(-1.0, 1.0); - result += mat4(0.17737128, -0.23239174, 0.14191973, 0.0083567705, 0.022397157, -0.20152177, 0.076320365, 0.11157701, 0.005601583, -0.06157629, -0.060806494, 0.03030779, -0.17968388, -0.2081318, 0.051927045, 0.075377926) * go_2(0.0, -1.0); - result += mat4(-0.28773892, -0.26089972, -0.13325682, -0.46006975, 0.35241324, 0.29463127, -0.16573308, 0.022810405, 0.388681, -0.036075145, 0.2998638, -0.15629162, 0.14321181, 0.10493886, -0.052218314, -0.27016288) * go_2(0.0, 0.0); - result += mat4(0.03584634, 0.006315728, -0.08617273, -0.024391597, -0.016952977, 0.022077272, 0.12980743, 0.04512367, 0.003348057, 0.0946866, 0.16312122, 0.13436604, -0.011872978, -0.031965427, 0.0024880085, 0.033216927) * go_2(0.0, 1.0); - result += mat4(0.016087456, 0.043138605, -0.028770814, 0.0061788377, 0.024897626, 0.10882443, -0.036830436, -0.009145524, -0.057872005, 0.08097352, -0.024710376, 0.0068731857, -0.018163942, -0.04771538, 0.027653048, 0.01914395) * go_2(1.0, -1.0); - result += mat4(0.011542096, -0.073137596, 0.09102133, 0.049714323, -0.06767178, 0.070273116, -0.010473078, -0.120707616, -0.026583942, 0.0730171, -0.08226194, 0.105516605, 0.018596884, 0.05840729, 0.04693975, 0.0863541) * go_2(1.0, 0.0); - result += mat4(0.0127724055, 0.02520005, -0.028792456, -0.06910211, -0.019357776, -0.026941938, 0.05015806, 0.12642363, -0.01354065, -0.015913904, 0.009398767, 0.034318734, -0.0034223567, -0.0146218045, -0.0067832484, -0.010091871) * go_2(1.0, 1.0); - result += mat4(-0.02916006, 0.014765165, 0.004575115, 0.0110705905, 0.024664888, 0.003658985, 0.0073659574, 0.0013673811, 0.02650946, 0.014014751, 0.026595473, 0.01877218, 0.016845545, -0.0031619575, -0.011036392, -0.014638798) * go_3(-1.0, -1.0); - result += mat4(0.012505482, 0.0023665216, -0.010882385, 0.009143886, -0.030671602, -0.004167823, 0.003649345, -0.00058618153, -0.038002256, -0.0061475867, -0.017000455, -0.015222981, 0.0066633034, 0.013324137, 0.022223728, 0.015254626) * go_3(-1.0, 0.0); - result += mat4(-0.019684946, -0.011194834, -0.011896193, -0.009636412, 0.0064974707, -0.018297167, -0.01162353, -0.00998448, 0.022304865, -0.0044090357, -0.0013151226, 0.009721475, -0.0029337434, 0.004208434, -0.008193774, 0.005379128) * go_3(-1.0, 1.0); - result += mat4(-0.012884837, -0.057319585, -0.002133779, -0.005586696, -0.03216661, 0.0015534499, -0.004120608, 0.0040779933, -0.044278033, 0.005608415, 0.009365155, 0.04694537, 0.024845028, 0.04563515, 0.018941263, 0.011450428) * go_3(0.0, -1.0); - result += mat4(0.008597113, -0.010005085, -0.050961174, -0.07333081, 0.016683497, -0.056169543, -0.032008786, -0.037104256, -0.01117272, -0.011676191, -0.09071649, -0.049224474, 0.20027469, 0.06436799, 0.1351019, 0.069967836) * go_3(0.0, 0.0); - result += mat4(0.022842692, 0.005048976, 0.05957191, 0.026581423, 0.03748738, 0.074060254, 0.053102568, 0.046449862, -0.013734466, -0.01722293, 0.030430514, -0.02180546, 0.007762467, -0.006432996, 0.08406507, 0.034061644) * go_3(0.0, 1.0); - result += mat4(0.0048395037, 0.012762459, -0.0033284645, -0.0041399547, 0.01828778, 0.0043085683, 0.0019289661, -0.012415563, -0.023572162, -0.050695065, -0.013481175, -0.029202301, -0.03678883, -0.022862522, -0.025002036, -0.010764412) * go_3(1.0, -1.0); - result += mat4(0.0075783907, 0.016249755, 0.0178703, 0.021285253, 0.013031193, 0.025416559, 0.043989707, 0.04750125, 0.0203218, 0.00335042, -0.024657877, -0.05417159, 0.0012374326, 0.115263805, -0.035001434, 0.049407292) * go_3(1.0, 0.0); - result += mat4(0.0059729964, 0.017706383, 0.0004603757, 0.024557583, -0.014231813, 0.0022323965, -0.030447725, -0.005866556, 0.02305865, 0.02982909, 0.0549823, 0.06747715, -0.01014364, 0.0030060427, 0.01640388, 0.056874502) * go_3(1.0, 1.0); - result += vec4(0.0037637148, 0.003693704, 0.0034614028, 0.0033483643); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009785077, -0.007310227, 0.00081595866, -0.01268686, -0.014665477, -0.003956759, -0.0011089307, -0.011515727, 0.024502382, 0.025206817, 0.004246777, -0.0016346163, -0.016379429, -0.013535791, 0.01541915, 0.0095333215) * go_0(-1.0, -1.0); - result += mat4(-0.017734146, 0.014389035, -0.0008451403, 0.013272096, 0.045607757, 0.01522117, 0.00904139, -0.001765619, 0.024920683, -0.012100507, 0.014870539, 0.0018603726, -0.030391455, 0.00632375, -0.055296343, -0.009885172) * go_0(-1.0, 0.0); - result += mat4(0.0056769922, 0.0012991864, -0.014343983, 0.0073196087, 0.0061439234, -0.0009862045, 0.0323433, 0.0018582975, -0.00815158, -0.008821831, 0.016262496, -0.014280032, 0.024239268, 0.015745653, 0.016698766, 0.014503724) * go_0(-1.0, 1.0); - result += mat4(0.039872967, -0.013257727, 0.055065673, 0.034231152, 0.086550154, 0.034081027, 0.045879394, 0.049891002, -0.011800151, -0.011743562, -0.015092318, -0.009334671, -0.017342495, -0.014658795, 0.014266523, 0.035314754) * go_0(0.0, -1.0); - result += mat4(-0.050990034, -0.06219798, -0.047669213, -0.07189862, -0.04856067, 0.031102043, 0.001354821, 0.01903025, 0.0037901315, 0.07694083, -0.016825065, 0.009997132, -0.18629807, -0.12768792, -0.104768254, -0.11861362) * go_0(0.0, 0.0); - result += mat4(0.017904822, 0.0042992756, 0.016748125, -0.025035992, -0.003724865, -0.0031921281, -0.019930473, 0.017328225, 0.024588963, 0.010205262, 0.04149686, 0.06978651, -0.022708472, -0.0057800277, -0.11644439, -0.06476094) * go_0(0.0, 1.0); - result += mat4(-0.02426752, -0.0034115477, -0.0015359819, 0.026405398, -0.013942422, 0.034148987, -0.009329464, -0.005556865, 0.010035298, 0.0042479886, -0.0045719417, -0.007970587, 0.0048700697, -0.0031006113, 0.005171075, 0.0020327016) * go_0(1.0, -1.0); - result += mat4(0.0015553721, -0.006999807, -0.027763836, -0.03493009, 0.0047000614, -0.034220867, 0.0021388065, 0.004188802, -0.007897541, -0.025793487, 0.017545879, 0.0013863312, 0.042826407, -0.050083816, 0.037378658, -0.011360738) * go_0(1.0, 0.0); - result += mat4(-0.007821516, -0.0034771548, 0.00051019643, 0.017586451, 0.01144453, 0.012032973, 0.0025295757, -0.011105711, 0.009102745, 0.015189803, -0.00083253905, -0.0025097867, -0.008002886, -0.020810502, -0.00023807488, -0.04825592) * go_0(1.0, 1.0); - result += mat4(0.005066405, 0.017425792, -0.0004840731, -0.0009944261, 0.07663847, -0.04755453, 0.004607992, -0.020050947, 0.021402068, -0.034427766, -0.0130948955, -0.042138048, 0.015383988, -0.0085578235, -0.036823586, 0.001125214) * go_1(-1.0, -1.0); - result += mat4(-0.024459356, -0.019538784, 0.13201334, -0.025238393, -0.009611914, -0.017932015, 0.06330252, -0.05036921, -0.09405187, 0.0016108088, 0.07035366, -0.026231728, -0.036375783, 0.047566332, 0.033421457, 0.011572374) * go_1(-1.0, 0.0); - result += mat4(0.03742729, 0.03181365, -0.05451164, -0.009032132, 0.017350135, -0.011311124, 0.0147211, -0.01298328, -0.011024085, 0.028534293, -0.12944345, 0.07152882, 0.005176979, -0.00048127733, -0.0063332263, -0.0034040876) * go_1(-1.0, 1.0); - result += mat4(0.06455105, 0.033970848, -0.04488856, -0.027959615, -0.094514206, 0.033421617, 0.031325165, 0.0088970335, -0.031805996, 0.007078957, 0.008114225, -0.017701747, 0.048437405, 0.12445195, 0.02138049, -0.017392302) * go_1(0.0, -1.0); - result += mat4(-0.21116845, -0.17855385, 0.12160961, 0.32197994, -0.14490715, 0.2886178, -0.28124997, 0.21847156, -0.04988429, 0.32125694, -0.118747145, 0.26057142, -0.045630034, -0.1453716, -0.3682217, -0.22081932) * go_1(0.0, 0.0); - result += mat4(0.0057057277, 0.03872448, 0.020275556, -0.05959739, 0.0150841605, -0.02288727, 0.033048235, 0.08510421, 0.01309789, -0.050875448, 0.051518645, 0.041827686, -0.028529504, -0.0015568004, -0.023128182, 0.03178304) * go_1(0.0, 1.0); - result += mat4(0.0016438053, 0.028251547, 0.0003874817, -0.021485088, 0.008020942, 0.052520994, 0.009027988, 0.004729575, 0.026685065, 0.008003427, 0.013078419, -0.008256319, 0.022743277, -0.001293671, 0.018562315, 0.016649859) * go_1(1.0, -1.0); - result += mat4(0.013438089, -0.049052995, 0.0060880547, -0.044865325, 0.031890247, -0.102749884, 0.0047795745, -0.028551944, -0.018443404, -0.061510604, 0.031782348, -0.0005923042, 0.014257579, 0.010379952, 0.02929872, -0.090405114) * go_1(1.0, 0.0); - result += mat4(0.009318741, -0.0061841, -0.02420737, 0.0018885462, 0.022010826, -0.023001686, 0.035959963, -0.057635445, 0.012495818, -0.008206369, -0.026234211, -0.04719263, 0.0057711657, -0.003004966, 0.0046920753, -0.041684203) * go_1(1.0, 1.0); - result += mat4(-0.050602015, 0.021741746, -0.059019636, -0.008416951, -0.1789153, -0.01835426, 0.03100039, -0.017736796, 0.09091737, -0.026542341, 0.010933376, -0.031898204, -0.015792761, 0.013789206, 0.031699985, 0.018964434) * go_2(-1.0, -1.0); - result += mat4(0.099863164, -0.01637541, 0.083744444, 0.011983074, 0.013478042, -0.04780451, 0.08646149, 0.050255097, -0.22476238, 0.11746969, 0.038574144, 0.069615066, 0.047265753, -0.03212485, -0.12651724, -0.0065722666) * go_2(-1.0, 0.0); - result += mat4(-0.026888395, 0.0053314343, -0.0018114679, -0.007841625, 0.00037234774, -0.005450839, -0.03730409, -0.00441375, -0.014338566, 0.002887282, -0.19375902, 0.06374498, -0.033998128, -0.03480894, 0.061709825, -0.016935369) * go_2(-1.0, 1.0); - result += mat4(0.18882285, -0.19729713, 0.064650975, -0.07342598, -0.039107442, -0.28614163, 0.081506595, 0.111678764, -0.0019596675, -0.071805045, -0.019774346, 0.055490687, -0.1405711, -0.16753702, 0.031397972, 0.054546997) * go_2(0.0, -1.0); - result += mat4(-0.007561914, 0.0010002917, 0.12623467, -0.17501056, 0.22664371, 0.2080332, -0.3194733, -0.1065412, 0.21299458, -0.23856679, 0.17237303, -0.2863369, 0.35997602, 0.354653, 0.15091361, -0.07142766) * go_2(0.0, 0.0); - result += mat4(0.02403396, 0.0037063402, -0.004992154, 0.047530055, -0.03227084, -0.0055595553, 0.06554937, -0.025955811, -0.03792351, 0.041418597, 0.04285587, -0.0118592, 0.00012291886, -0.013734975, 0.07748641, 0.14016038) * go_2(0.0, 1.0); - result += mat4(0.015037119, 0.058259863, -0.020877289, -0.0059153647, 0.04133679, 0.108832926, -0.026314106, -0.0010898053, -0.057873078, 0.07802038, -0.029681025, 0.020011986, -0.03940851, -0.038397703, 0.013701823, 0.01657068) * go_2(1.0, -1.0); - result += mat4(-0.016823404, 0.007905321, 0.034658395, 0.09977579, -0.05916761, 0.004779212, 0.018820778, -0.15795219, -0.013125517, 0.021101758, -0.055992976, 0.08024182, -0.04333755, 0.070356764, -0.030624833, 0.09123745) * go_2(1.0, 0.0); - result += mat4(-0.007931201, 0.0069976873, -0.016831044, -0.027368804, -0.03332386, -0.041667387, 0.04094055, 0.095304705, -0.006027611, -0.019209528, -0.0008929939, -0.017201519, 0.005464988, 0.0038448595, -0.01248845, 0.008877873) * go_2(1.0, 1.0); - result += mat4(-0.042160366, 0.0036025376, -0.008628986, -0.005607383, 0.028637825, 0.005296032, -0.0004143198, 0.008265197, 0.033176135, 0.014727739, 0.0145593295, 0.011159069, 0.00833305, -0.0025515268, -0.00015546188, 0.002805437) * go_3(-1.0, -1.0); - result += mat4(0.016752163, 0.013423374, -0.018342504, 0.013459657, -0.038428728, -0.005804395, 0.019692563, -0.005745392, -0.030070104, 0.01058409, 0.003989377, 0.0074200635, -0.01936366, -0.01608809, 0.0071134195, -0.0038598357) * go_3(-1.0, 0.0); - result += mat4(-0.018000437, -0.0121247275, -0.01288339, -0.0060898345, -0.006138964, -0.0035810755, -0.03902352, 0.002276941, 0.0032195079, -0.02730975, -0.011268412, -0.0036179612, -0.004836894, -0.0015986725, -0.019751905, -0.0071931942) * go_3(-1.0, 1.0); - result += mat4(0.014426659, -0.05161329, 0.019196855, 0.002317663, -0.055477437, -0.007086505, -0.04151144, -0.027518485, -0.027440753, 0.003857541, -0.002143262, 0.013090804, 0.015745236, 0.021075105, 7.93909e-06, -0.009694458) * go_3(0.0, -1.0); - result += mat4(0.0025894733, -0.017304689, -0.03299281, -0.0754248, 0.03428733, -0.03397887, 0.0108591765, 0.021311574, -0.04203291, -0.019728655, -0.09826257, -0.046157785, 0.22522739, 0.086717755, 0.15654634, 0.08489247) * go_3(0.0, 0.0); - result += mat4(0.008495083, 0.00074552774, 0.038054205, 0.013044046, -0.027891211, 0.003249458, -0.018353004, -0.035205863, -0.010195661, -0.008145831, 0.014239584, -0.019779535, 0.011452498, 0.004117014, 0.08403766, 0.04357078) * go_3(0.0, 1.0); - result += mat4(0.00020427872, 0.026861027, -0.01047743, 0.0034385168, 0.015686916, 0.00038722693, 0.0017860534, -0.021630246, -0.0084784245, -0.022648407, -0.0050631054, -0.016437376, -0.026458954, -0.011239073, -0.01145464, -0.0058855377) * go_3(1.0, -1.0); - result += mat4(-0.0012052609, 0.009248192, 0.008875674, 0.03043022, 0.012489936, 0.019402692, 0.0378006, 0.05519605, 0.029059285, -0.0072894073, 0.0014154738, -0.03802288, -0.02321437, 0.09558396, -0.0550932, 0.036936663) * go_3(1.0, 0.0); - result += mat4(0.010010094, 0.012796987, 0.0025080708, 0.013876455, -0.00536739, -0.016932324, -0.012128944, -0.0241354, 0.0077782627, 0.01584833, 0.033727348, 0.039302748, -0.026609577, -0.0062910756, -0.011042692, 0.031207075) * go_3(1.0, 1.0); - result += vec4(-0.0009249668, -0.0010178088, -0.00041991958, -0.0005421036); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.01766077, -0.017591428, -0.0038036762, -0.023304595, -0.012525157, -0.0058148014, -0.0030130956, -0.011804012, 0.030511979, 0.028687771, 0.007858589, 0.004475508, -0.02585795, -0.01785211, 0.0053741997, 0.00074623496) * go_0(-1.0, -1.0); - result += mat4(-0.040601525, 0.016486213, -0.01966552, 0.014969501, 0.05400945, 0.019022502, 0.0149923405, -0.0017570893, 0.040684238, -0.009271634, 0.026908487, 0.002365157, -0.03371985, 0.00928091, -0.058665182, -0.0047038617) * go_0(-1.0, 0.0); - result += mat4(0.0034900296, 0.0028777388, -0.02543823, 0.005724228, 0.012073974, 0.0043754885, 0.04109826, 0.008040286, -0.00049979525, -0.0063444753, 0.030565983, -0.009352674, 0.01949427, 0.014168137, 0.009640578, 0.011481213) * go_0(-1.0, 1.0); - result += mat4(0.026645018, -0.02211462, 0.06119815, 0.039082125, 0.09945218, 0.042240527, 0.054267537, 0.04693634, -0.004510591, -0.0041247807, -0.012629442, -0.008053095, -0.025141539, -0.025081929, 0.011338651, 0.029372308) * go_0(0.0, -1.0); - result += mat4(-0.102688424, -0.11533188, -0.09621349, -0.116714895, -0.025504943, 0.05013811, 0.024331303, 0.03946124, 0.026381869, 0.1011479, -0.0017481856, 0.027152762, -0.18783632, -0.13439077, -0.112003446, -0.12810163) * go_0(0.0, 0.0); - result += mat4(0.010783576, -0.00025257064, -0.0075445045, -0.04681932, -0.0021722934, -0.005758047, -0.0110701695, 0.023468157, 0.036986902, 0.023351438, 0.063143626, 0.09269854, -0.025713218, -0.011750105, -0.11722637, -0.07038934) * go_0(0.0, 1.0); - result += mat4(-0.026961634, -0.015106367, -0.0034014166, 0.02482031, -0.013892242, 0.04203608, -0.008226002, 0.004619446, 0.012888606, 0.010721662, -1.3880494e-05, -0.0033224574, 0.006727405, -0.0035630877, 0.0021499102, -0.00091816986) * go_0(1.0, -1.0); - result += mat4(0.0016877668, -0.02695227, -0.023388471, -0.053411417, 0.006777518, -0.024251794, 0.0015210172, 0.010034961, -0.00795588, -0.01645489, 0.012691467, 0.0061330614, 0.054507505, -0.041002143, 0.048495438, -0.004843492) * go_0(1.0, 0.0); - result += mat4(-0.0159168, -0.013163069, -0.0091357315, 0.0011109188, 0.022993349, 0.025777856, 0.013487494, 0.00304372, 0.014121591, 0.02415322, 0.006453722, 0.010679647, -0.00626483, -0.017908117, 0.0063728937, -0.04091484) * go_0(1.0, 1.0); - result += mat4(-0.0026799496, 0.0154166315, -0.0037383793, -0.002577431, 0.073905826, -0.043148544, 0.011774636, -0.016023275, 0.0099145975, -0.04718069, -0.013578048, -0.04220935, 0.018033838, -0.0025958812, -0.029762078, 0.0034059538) * go_1(-1.0, -1.0); - result += mat4(-0.03239311, -0.025743088, 0.1116615, -0.027325295, -0.014691433, -0.013614988, 0.05034416, -0.04294835, -0.11013415, -0.014086726, 0.048601545, -0.04762435, -0.01944709, 0.054276068, 0.04073586, 0.019288493) * go_1(-1.0, 0.0); - result += mat4(0.027851144, 0.014083208, -0.06432852, -0.024642657, 0.021185134, -0.015441491, 0.018058551, -0.017353412, -0.018814132, 0.026259383, -0.14238997, 0.06301044, 0.007324441, 0.00494394, 0.00020533071, 0.0024405916) * go_1(-1.0, 1.0); - result += mat4(0.06092095, 0.025730716, -0.042129956, -0.026382709, -0.08284398, 0.03344148, 0.038016047, 0.0137958275, -0.025555719, 0.008199355, 0.0070835026, -0.01420561, 0.0493976, 0.121205755, 0.026178997, -0.006300481) * go_1(0.0, -1.0); - result += mat4(-0.18660638, -0.1658202, 0.116562665, 0.29287666, -0.13814074, 0.2658047, -0.270531, 0.19597577, -0.04692207, 0.28904793, -0.09829146, 0.24158104, -0.03946344, -0.12598358, -0.3361825, -0.19800447) * go_1(0.0, 0.0); - result += mat4(0.020092675, 0.049266458, 0.03696139, -0.046251137, 0.029122403, -0.008378672, 0.044602558, 0.092563495, -0.0036082428, -0.072675824, 0.030523287, 0.006169521, -0.031133244, -0.011250458, -0.026590217, 0.023079094) * go_1(0.0, 1.0); - result += mat4(0.007384019, 0.031913586, 0.002072675, -0.019807052, 0.010384438, 0.050076224, 0.010438329, 0.009595051, 0.022497892, 0.012009176, 0.009222753, -0.008563874, 0.017106988, -0.003105622, 0.01070336, 0.011805944) * go_1(1.0, -1.0); - result += mat4(0.017091183, -0.035133313, 0.012425838, -0.03395959, 0.03418688, -0.10616231, 0.0101681305, -0.03682252, -0.016497994, -0.05231084, 0.025178006, 0.008926557, 0.025942912, 0.019970346, 0.03534238, -0.07596637) * go_1(1.0, 0.0); - result += mat4(0.007215777, -0.0006424821, -0.020822426, 0.011314772, 0.0183502, -0.015352454, 0.02972497, -0.053287935, 0.024020335, -0.006380922, -0.008620774, -0.041896872, 0.021631774, 0.013320375, 0.024711635, -0.020357909) * go_1(1.0, 1.0); - result += mat4(-0.033131246, 0.027936278, -0.047840517, 0.0019488486, -0.17501047, -0.0178374, 0.02549812, -0.019010937, 0.079489246, -0.027291514, 0.004313802, -0.03478066, -0.004887971, 0.019281879, 0.04073947, 0.022658588) * go_2(-1.0, -1.0); - result += mat4(0.110482916, -0.021340236, 0.09848104, 0.0034104201, 0.0032655075, -0.04557326, 0.07156056, 0.045965493, -0.22822224, 0.115162075, 0.027745042, 0.07251069, 0.05100454, -0.034554593, -0.11214564, -0.009064197) * go_2(-1.0, 0.0); - result += mat4(-0.017621655, 0.01024623, 0.009554872, -0.00078690174, -0.0069463328, -0.014670676, -0.041410644, -0.007414249, -0.031177497, -0.007517117, -0.20814678, 0.049873244, -0.02482445, -0.031338003, 0.06920326, -0.015171424) * go_2(-1.0, 1.0); - result += mat4(0.18918292, -0.15450309, 0.05504167, -0.061840136, -0.057958793, -0.28908864, 0.06820344, 0.09923399, -0.008387437, -0.075379215, -0.01747373, 0.048925415, -0.13222353, -0.15354146, 0.022480693, 0.04943612) * go_2(0.0, -1.0); - result += mat4(0.0469381, 0.05393423, 0.1681062, -0.10543653, 0.17948511, 0.16570628, -0.33344334, -0.13197891, 0.16509773, -0.26174626, 0.13757275, -0.29244694, 0.35424834, 0.35368237, 0.156861, -0.04775442) * go_2(0.0, 0.0); - result += mat4(0.026892537, 0.0075510717, 0.015918663, 0.06070227, -0.02288592, 0.0027507204, 0.05279965, -0.03042772, -0.044760384, 0.0234673, 0.01604264, -0.04277388, 0.0011313064, -0.0052253264, 0.08374709, 0.14929597) * go_2(0.0, 1.0); - result += mat4(0.016119812, 0.061383534, -0.013537205, -0.0017921093, 0.043676157, 0.09811408, -0.015655283, 0.0007943268, -0.053843908, 0.069290705, -0.028319253, 0.020141726, -0.038996387, -0.03628716, 0.012679114, 0.015012319) * go_2(1.0, -1.0); - result += mat4(-0.02019775, 0.022393003, 0.020688228, 0.10277296, -0.06365119, -0.015666502, 0.012721399, -0.16204305, -0.0037819904, 0.012113873, -0.040969223, 0.069086574, -0.052415807, 0.060331605, -0.04201384, 0.07953157) * go_2(1.0, 0.0); - result += mat4(-0.0019123453, 0.012750492, -0.007235785, -0.01268919, -0.038674437, -0.043993857, 0.028753003, 0.07664717, -0.015077012, -0.027486047, -0.011141094, -0.030269727, 0.0016567699, -0.003331901, -0.021631587, -0.00040226072) * go_2(1.0, 1.0); - result += mat4(-0.03769701, 0.0045639244, -0.0069983527, -0.0064906892, 0.03318896, 0.011733902, 0.0023203227, 0.013374876, 0.037507236, 0.018019466, 0.013330661, 0.009231364, 0.00018865235, -0.005706915, -0.00011657552, 0.0038968239) * go_3(-1.0, -1.0); - result += mat4(0.022072105, 0.019486066, -0.013029048, 0.017470635, -0.03662149, -0.011397823, 0.02397534, -0.008561204, -0.026196644, 0.01626692, 0.011886567, 0.021061733, -0.03310679, -0.025446283, -0.006469576, -0.010118362) * go_3(-1.0, 0.0); - result += mat4(-0.014853227, -0.0062806485, -0.005624992, 0.0017175867, -0.007843849, 0.0008925535, -0.041000694, 0.0049381475, 0.0019743184, -0.035099152, -0.01074269, -0.0128827905, -0.010841019, -0.0093286475, -0.030476939, -0.018505717) * go_3(-1.0, 1.0); - result += mat4(0.016344415, -0.04647131, 0.021242643, 0.004836572, -0.061090752, -0.006488986, -0.050970413, -0.029668579, -0.015889898, 0.010811246, 0.0018357672, 0.012481409, 0.008317143, 0.009978102, -0.0015472731, -0.011174326) * go_3(0.0, -1.0); - result += mat4(-0.004087798, -0.01634328, -0.031607483, -0.068488315, 0.038035624, -0.02797923, 0.017972443, 0.029961389, -0.029277585, -0.015558678, -0.08634699, -0.039436456, 0.19870138, 0.06507983, 0.130592, 0.059745777) * go_3(0.0, 0.0); - result += mat4(-0.0028183246, -0.008089249, 0.02188247, 0.0049699014, -0.03830487, -0.0079993615, -0.028960107, -0.045729056, 0.0021651732, 0.010072074, 0.031335246, 0.0012719089, 0.015795005, 0.011290197, 0.08071912, 0.04273827) * go_3(0.0, 1.0); - result += mat4(-0.0011167483, 0.024682038, -0.009224286, 0.005520499, 0.014198537, -0.0032909375, 0.0005767499, -0.02676088, -0.0019766665, -0.015222206, -0.00080782827, -0.011807755, -0.02560086, -0.015391911, -0.008948504, -0.0062184683) * go_3(1.0, -1.0); - result += mat4(-0.009399661, -0.0019192873, 0.000261681, 0.020112153, 0.0077712294, 0.019477246, 0.030144244, 0.053777162, 0.030650103, 0.0021887033, 0.0092345085, -0.029658241, -0.03723785, 0.073152155, -0.058525253, 0.023017056) * go_3(1.0, 0.0); - result += mat4(0.012911211, 0.010375983, -0.00055489264, 0.005504194, -0.004187377, -0.02239082, -0.008734182, -0.027458502, -0.005602922, 0.009588401, 0.015889015, 0.036346428, -0.038325973, -0.018252429, -0.02944341, 0.011490681) * go_3(1.0, 1.0); - result += vec4(-0.0021447246, -0.0025527438, -0.0016466968, -0.0020245572); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl deleted file mode 100644 index 4bde0d5..0000000 --- a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl +++ /dev/null @@ -1,300 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.029052526, 0.059789784, -0.024398074, 0.06907132, 0.18920785, -0.12923062, 0.0766382, -0.12048348, -0.017786544, 0.06251133, -0.068393864, 0.056690093, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.14032267, -0.077691495, -0.009036259, -0.13049065, 0.20954624, 0.023231741, -0.2759354, 0.49927905, 0.039609738, -0.092625424, 0.09426452, -0.2246486, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.023119625, 0.046549924, 0.073033765, 0.03727065, 0.04498207, 0.024455868, 0.17602317, -0.3150503, 0.019985953, 0.03670126, 0.0071220254, 0.107966185, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.111121014, -0.084099665, 0.12595509, -0.048271902, -0.007799661, 0.04831373, 0.11868961, 0.11607051, 0.05169621, -0.050569464, 0.120362274, 0.034607537, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.41167754, -0.44940078, 0.35485214, 0.58048695, -1.0151424, -0.70137614, 0.38405335, 0.37337455, -0.096364655, -0.14538667, 0.17917591, 0.32259464, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.06378494, -0.040756933, -0.4773648, -0.47702238, 0.1803328, -0.21388084, -0.5509359, -0.6491179, -0.048081584, -0.0025129975, -0.28561604, -0.22229671, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.037024107, 0.016497454, -0.05315267, -0.023392007, 0.1840294, 0.12675077, 0.037417043, -0.022394283, -0.028192522, -0.016344562, -0.07269005, -0.04747136, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.039480202, 0.5577544, -0.117326505, 0.06622856, -0.038784727, 0.65673745, -0.109742545, 0.22294083, 0.00038519394, 0.24552485, -0.07008514, 0.00029412706, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.009279719, -0.031882852, 0.14124188, -0.0759899, -0.024016602, 0.15252088, 0.13614258, -0.09961189, 0.05446014, -0.03827061, 0.11210173, -0.028823104, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.012836382, -0.0062823873, -0.03165346, -0.0017501811); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06215308, -0.054471835, 0.1285146, 0.037585296, -0.14467795, 0.0057610427, 0.006528968, 0.18607244, 0.03762581, -0.121003255, 0.0827445, 0.076479666, 0.07540097, 0.16371846, -0.18786757, -0.12048073) * go_0(-1.0, -1.0); - result += mat4(-0.11520603, -0.22384967, 0.0970881, 0.045122143, -0.40358877, 0.12487416, -0.4489702, 0.04854906, -0.08240888, -0.0058777514, 0.19108902, 0.042189106, -0.07843178, 0.0012592699, -0.11303816, -0.1118517) * go_0(-1.0, 0.0); - result += mat4(0.29387334, 0.08150406, -0.06009834, 0.07054583, -0.146034, 0.04053809, 0.23284695, -0.08233496, 0.0957811, 0.20221621, 0.13570721, -0.081069246, -0.031743366, -0.038912926, -0.059060514, 0.05190416) * go_0(-1.0, 1.0); - result += mat4(0.18404631, -0.034244366, -0.13406059, 0.2242061, -0.23668705, -0.10359684, -0.09689738, -0.04932347, -0.0020525968, 0.15236467, -0.2634303, -0.029878438, 0.3283669, 0.09891668, -0.46656898, -0.03271751) * go_0(0.0, -1.0); - result += mat4(-0.1824976, -1.0545974, 0.93027455, -0.13887188, 0.3128633, -0.2734884, -0.831517, -0.18065166, -0.2119423, 0.19241124, -0.13313763, -0.10523897, 0.2675327, -0.06853148, 0.007885104, 0.26000848) * go_0(0.0, 0.0); - result += mat4(-0.18109167, -0.019768981, -0.14131357, -0.3181756, 0.22158594, 0.1431138, -0.12970252, -0.011459096, -0.03742945, 0.2316056, -0.054623842, -0.09360549, 0.10176328, -0.108150974, 0.122787155, 0.07614884) * go_0(0.0, 1.0); - result += mat4(-0.02370754, -0.10264054, 0.030659392, 0.056694325, 0.034085, -0.0538203, 0.09111551, 0.0063995267, 0.0835243, -0.06623529, 0.20924146, 0.09457414, 0.27925664, 0.049511474, -0.22062886, 0.03312504) * go_0(1.0, -1.0); - result += mat4(0.17009354, 0.34391564, -0.1680695, -0.051450633, -0.044037253, -0.1412577, 0.01097572, -0.049040757, 0.104024716, -0.34571946, 0.5213214, -0.17010914, -0.016452854, 0.3303069, -0.22249438, 0.23866816) * go_0(1.0, 0.0); - result += mat4(0.20491506, 0.20098424, 0.015425732, -0.033999693, -0.0111842435, 0.09945295, -0.025766203, 0.17068656, 0.049262784, 0.0077788536, 0.068585835, 0.19229786, -0.013048818, 0.04877973, 0.024053875, -0.06846659) * go_0(1.0, 1.0); - result += mat4(0.14208305, 0.09790381, -0.008420949, -0.016165754, 0.02445528, 0.08700781, 0.046639573, -0.22105917, -0.08529265, 0.06606378, 0.0947481, 0.08149193, -0.0959293, -0.037756894, -0.008136973, 0.046241503) * go_1(-1.0, -1.0); - result += mat4(0.2577669, 0.13766493, 0.021107635, 0.018978242, 0.452542, 0.25566816, -0.68909633, 0.03804329, 0.06771752, 0.07894156, 0.22501312, -0.047511246, 0.00040517355, -0.0202232, -0.27541754, -0.040150844) * go_1(-1.0, 0.0); - result += mat4(-0.30176973, -0.15739526, -0.038548045, -0.07003333, 0.32053417, 0.025467036, -0.044913124, 0.20454903, 0.12475206, -0.03966162, 0.07139637, 0.12101497, -0.10777517, -0.062379625, 0.06598757, -0.14795317) * go_1(-1.0, 1.0); - result += mat4(0.12068516, 0.0026514034, -0.055378057, -0.0976728, 0.15887645, 0.15590422, 0.076294206, -0.15417404, -0.16548084, -0.18422292, -0.1670212, 0.041155312, -0.11765263, 0.16991171, -0.21535093, 0.01542368) * go_1(0.0, -1.0); - result += mat4(-0.37845853, 0.5732961, 0.114283465, 0.14638355, -0.109194644, 0.087304994, -0.15938401, 0.58242995, -0.025850652, 0.02730721, -0.48582682, -0.2547883, 0.1899583, 0.24296008, -0.8162976, 0.018036429) * go_1(0.0, 0.0); - result += mat4(0.1633212, -0.117295206, 0.021892091, 0.07762347, -0.09726402, -0.1364192, 0.10752197, 0.42020246, 0.06665656, -0.10822656, 0.1337331, 0.0552859, 0.04700212, 0.108017646, -0.2009353, -0.0435288) * go_1(0.0, 1.0); - result += mat4(-0.045603696, 0.05774526, -0.0071174325, 0.24119262, -0.06899063, 0.016012343, 0.009982042, -0.19038968, -0.17796072, -0.12510185, 0.22739507, -0.1805478, -0.100294635, 0.017557602, 0.039842658, 0.13116726) * go_1(1.0, -1.0); - result += mat4(0.0131523665, -0.20472725, 0.121814765, -0.17769355, 0.097669855, 0.09648846, -0.072887406, 0.22992326, -0.019087939, 0.35375193, -0.057155706, 0.17699116, 0.030690158, -0.423475, 0.03703492, -0.03429164) * go_1(1.0, 0.0); - result += mat4(-0.12143413, -0.018402342, 0.04536776, -0.12743106, 0.03355068, -0.09694192, 0.09913357, -0.036602203, 0.11038047, 0.13236065, 0.12966877, -0.10163848, 0.0030612876, -0.116145626, 0.045318183, 0.11492169) * go_1(1.0, 1.0); - result += vec4(0.05657016, -0.04848861, 0.10297782, -0.0076417355); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.088122115, -0.009916053, -0.124469265, -0.032139737, -0.13709281, 0.09177288, -0.06794775, -0.03962873, 0.17613642, -0.11064388, 0.2531882, -0.3817648, -0.1172188, -0.042132895, -0.098772734, -0.114560865) * go_0(-1.0, -1.0); - result += mat4(0.18876404, -0.14613804, 0.23869626, 0.06580185, -0.13533239, 0.25754455, -0.29734856, 0.028218834, -0.39304733, -0.14716247, 0.19408274, -0.18518063, -0.31482637, -0.1508887, -0.3841371, 0.021975968) * go_0(-1.0, 0.0); - result += mat4(-0.22316615, -0.0923483, 0.16932568, -0.13138154, 0.139829, 0.010975908, -0.0587337, -0.054484393, -0.13758336, -0.030077504, -0.050642505, -0.14933856, -0.040563874, -0.030220931, 0.2867556, 0.17022403) * go_0(-1.0, 1.0); - result += mat4(0.12611523, -0.07087836, 0.08281469, 0.024588918, -0.023549056, -0.13102995, 0.17571726, 0.0740372, -0.3167631, 0.17491543, 0.4459055, -0.4687942, -0.19755729, 0.03723031, -0.06757113, 0.03502462) * go_0(0.0, -1.0); - result += mat4(0.12098187, 0.12341856, -0.061940372, 0.7251308, 0.055730965, -0.5169302, 0.37959704, -0.08753306, -0.45700142, -0.4960699, 0.1690022, -0.40233734, 0.0262836, -0.13345262, 0.11002605, -0.16773209) * go_0(0.0, 0.0); - result += mat4(-0.20428565, 0.117523015, -0.044863444, -0.1770644, 0.22925, 0.029694336, -0.23891294, 0.039587863, -0.11235541, -0.23890465, 0.037618574, -0.039127905, 0.14058869, 0.020599412, -0.074353516, 0.12343045) * go_0(0.0, 1.0); - result += mat4(-0.04680316, -0.049870726, 0.06975308, -0.21486782, -0.08177838, 0.09760846, -0.031408366, 0.13881667, -0.14650045, 0.29182404, -0.080848776, -0.25525567, 0.018876432, -0.015662232, -0.016014043, -0.08435915) * go_0(1.0, -1.0); - result += mat4(-0.100864016, -0.24647528, -0.007994345, 0.13047779, 0.14746517, 0.25517163, 0.054900885, -0.07251866, -0.29500577, -0.03758923, 0.05514366, -0.058372885, -0.03055354, -0.062586576, 0.017739896, 0.08644674) * go_0(1.0, 0.0); - result += mat4(-0.029502464, -0.08905223, 0.0047584837, -0.09646073, 0.044714086, 0.15522493, -0.070930906, -0.026954453, 0.057949875, -0.017211404, -0.00566463, -0.0050975676, 0.0050182147, -0.010722001, 0.011812942, -0.04698445) * go_0(1.0, 1.0); - result += mat4(0.18863353, -0.11575336, 0.26541254, -0.15280409, 0.14376, -0.05783716, 0.08554402, 0.27605456, 0.004611954, 0.074173525, -0.07963756, 0.082979314, 0.099553905, -0.06539344, 0.4330784, 0.07996894) * go_1(-1.0, -1.0); - result += mat4(-0.31001288, 0.035875235, 0.049856357, -0.09614268, 0.23397788, -0.12425775, 0.45108303, 0.27973723, 0.0753222, 0.11388394, -0.043821793, -0.05610102, -0.06536777, 0.009822641, 0.7956708, -0.05798737) * go_1(-1.0, 0.0); - result += mat4(0.19827974, 0.010130333, -0.13153136, 0.11593003, -0.15762039, -0.0040722084, 0.20404483, 0.28999883, 0.08152756, 0.07773477, 0.019730574, 0.0123460535, -0.034676805, -0.19133334, 0.01860159, -0.12945038) * go_1(-1.0, 1.0); - result += mat4(-0.1861255, 0.039945368, 0.28345293, -0.17425321, 0.36748698, 0.03729066, -0.35957313, 0.11234573, -0.07122196, 0.012845119, -0.09049443, 0.10106711, 0.07425845, -0.14626606, 0.46169114, -0.2652126) * go_1(0.0, -1.0); - result += mat4(-0.6222811, -0.08538015, 0.023319554, -0.7206892, -0.33495513, 0.2960924, -0.033479776, -0.29255456, 0.29802337, 0.47570458, 0.012769826, 0.19874385, -0.25652033, -0.4018595, 0.3055839, 0.1881051) * go_1(0.0, 0.0); - result += mat4(0.32152474, 0.0024920676, -0.113435976, 0.14440896, -0.287736, 0.0251382, 0.28160754, 0.02769615, 0.067614004, 0.0832741, -0.095353454, -0.19792004, -0.40394694, -0.24224225, 0.3224996, 0.030300485) * go_1(0.0, 1.0); - result += mat4(0.0045148246, -0.04621849, -0.026470715, 0.0588576, 0.14559188, 0.037437905, -0.13778603, 0.08173416, 0.033548757, -0.015654223, 0.15016593, 0.07761835, -0.016546778, 0.02640291, 0.112717085, 0.020371364) * go_1(1.0, -1.0); - result += mat4(0.114227325, -0.0405595, -0.11662477, 0.014747093, 0.11170598, 0.58740836, -0.27560827, -0.1848705, -0.02491223, -0.15605451, 0.0028677192, -0.11290364, -0.12331832, -0.3191161, 0.3505101, 0.15236251) * go_1(1.0, 0.0); - result += mat4(0.21131381, 0.13965495, -0.103683874, 0.26049778, -0.010777816, 0.015093082, 0.13207617, 0.14064828, -0.007847294, 0.025702007, -0.082993574, -0.04923462, -0.052900862, -0.006775377, 0.1432969, 0.09598549) * go_1(1.0, 1.0); - result += vec4(0.08015534, 0.10264796, -0.031173404, 0.21282151); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13262276, 0.18682314, -0.1433667, -0.0061677806, -0.15057871, -0.15389217, 0.40721065, -0.082456455, 0.028175479, -0.06136406, 0.13517159, -0.0066659097, -0.03311807, -0.056219388, 0.066265404, -0.017012158) * go_0(-1.0, -1.0); - result += mat4(0.0652481, -0.02717338, -0.17586891, -0.1458622, 0.37166637, -0.13651049, -0.095090784, 0.1450258, -0.08856753, -0.029000161, -0.11024598, 0.14231622, 0.027118085, 0.060637098, -0.028174674, 0.020973917) * go_0(-1.0, 0.0); - result += mat4(0.17137158, 0.015818363, -0.1761587, -0.07798954, -0.22039492, -0.08250406, 0.15350278, 0.05466543, 0.07231244, 0.124937475, -0.14530692, -0.036220204, -0.20202135, 0.16154502, -0.1472417, 0.045183204) * go_0(-1.0, 1.0); - result += mat4(-0.06751513, 0.3630837, -0.23374555, -0.17641832, 0.23866339, -0.12625019, 0.14955078, 0.3757683, 0.25546572, -0.0009440543, -0.029705383, 0.12500505, 0.039303612, 0.02745342, 0.06280759, -0.027673393) * go_0(0.0, -1.0); - result += mat4(-0.40253955, 0.5532656, 0.15580782, 0.23305601, 0.04307387, -0.37548792, 0.021682428, -0.14554474, -0.44655007, 0.12335231, 0.22693188, -0.19185324, -0.39905196, -0.36661598, 0.34626722, 0.3220371) * go_0(0.0, 0.0); - result += mat4(0.13051705, -0.051269528, 0.027860573, 0.12866034, 0.095374286, 0.0072371624, 0.06641015, -0.040609945, 0.14411138, 0.03813084, 0.024812538, -0.069997884, -0.2398024, 0.16384888, 0.004522481, -0.2734798) * go_0(0.0, 1.0); - result += mat4(-0.048976544, 0.36923414, -0.23769425, -0.02964149, 0.13426293, -0.070416726, -0.036279447, 0.21007125, -0.0062456504, 0.12307804, -0.18920022, 0.016429992, 0.091225415, -0.00714184, -0.079064, 0.050525308) * go_0(1.0, -1.0); - result += mat4(0.007005748, -0.1929285, -0.27960134, -0.014070343, -0.012031938, -0.21320626, 0.22591045, 0.06750757, 0.038049847, -0.08933499, 0.15640227, 0.36653376, 0.11274315, 0.0015512784, -0.14319079, -0.41117874) * go_0(1.0, 0.0); - result += mat4(0.039254356, 0.04123307, -0.14476523, 0.19676228, -0.1746638, 0.068685316, 0.19318552, -0.007086376, -0.08810745, 0.041937724, 0.1393943, 0.27539206, -0.08331265, 0.043064818, -0.02783017, -0.13006629) * go_0(1.0, 1.0); - result += mat4(0.18761271, -0.009960496, -0.18572417, 0.010640895, 0.10240658, 0.036137953, -0.109363064, 0.05820501, -0.04092678, 0.11809751, -0.11843415, 0.11893309, -0.06356792, 0.1509876, -0.12252014, -0.0070098704) * go_1(-1.0, -1.0); - result += mat4(-0.0012312894, 0.038436964, -0.046054237, 0.04859312, -0.4190657, 0.2529927, 0.23133701, -0.00065297337, -0.039581586, 0.00905735, 0.16532114, -0.12568031, 0.17818217, -0.28053075, 0.38509414, -0.03763847) * go_1(-1.0, 0.0); - result += mat4(-0.0897875, 0.063593514, 0.07660054, 0.12268424, 0.21554653, -0.1025501, 0.2557211, 0.04492533, 0.10992355, -0.035215836, -0.009733763, -0.02165148, 0.08618596, -0.19276536, 0.18174514, -0.18021213) * go_1(-1.0, 1.0); - result += mat4(-0.002999377, -0.12630916, -0.030010369, -0.2676409, -0.20229307, 0.15253967, -0.12200155, -0.1552754, -0.16193017, 0.10819683, 0.10696224, -0.1920264, -0.29354608, -0.32021165, 0.08644405, -0.16153689) * go_1(0.0, -1.0); - result += mat4(0.49931613, -0.3669461, -0.49107462, -0.3654748, 0.32047966, 0.03246311, -0.06424334, 0.009108802, 0.2367612, -0.46587244, 0.16957493, 0.3237888, 0.93676794, 0.01834384, -0.9349752, -0.04654371) * go_1(0.0, 0.0); - result += mat4(-0.112562165, 0.006074484, -0.12288025, -0.08560263, 0.25336134, 0.025205871, 0.25063732, 0.12370882, -0.40429187, 0.12992847, -0.2816234, 0.08179623, 0.27197668, 0.066299304, -0.12988937, 0.16257611) * go_1(0.0, 1.0); - result += mat4(0.047864527, -0.05821779, -0.06311128, -0.0065775234, -0.065763995, 0.014864688, 0.09148591, -0.25059348, 0.008846306, -0.22123712, 0.4062609, -0.100248575, -0.50293785, -0.13373566, 0.21480446, -0.0841981) * go_1(1.0, -1.0); - result += mat4(0.19313097, -0.061253734, -0.1801314, -0.20178059, -0.039574936, 0.08167749, 0.010974997, 0.069656976, -0.13193963, 0.35555324, 0.62686867, -0.28656846, -0.27831817, -0.0040086447, 0.4031064, 0.47767937) * go_1(1.0, 0.0); - result += mat4(0.15396428, 0.069321476, -0.15190981, -0.24133344, 0.106151104, -0.11271092, 0.06878746, 0.14279713, -0.02006402, -0.36284852, -0.00926688, -0.39887694, -0.20926239, -0.021860912, 0.07588468, 0.2620174) * go_1(1.0, 1.0); - result += vec4(-0.0073282495, -0.040352557, -0.063710704, 0.07255652); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.17903937, -0.0014294779, 0.1824805, -0.19555633, -0.0052551827, -0.013796094, 0.06358042, 0.13301018, 0.008874768, 0.06605332, 0.06117636, 0.012946474, 0.048656575, 0.0060409275, -0.0671362, -0.06897735) * go_0(-1.0, -1.0); - result += mat4(-0.16098012, 0.10772552, -0.13175552, -0.5299018, 0.068713695, -0.048258893, -0.49698257, 0.36581638, 0.21755004, -0.12125899, -0.27382872, -0.12268086, 0.014334542, 0.20573758, 0.45879167, -0.29648975) * go_0(-1.0, 0.0); - result += mat4(0.06860283, -0.18047708, 0.024707617, 0.11900479, 0.09474589, -0.16559775, -0.054095846, -0.011377782, -0.008733984, 0.105020404, -0.040116277, -0.0022003972, 0.1453799, -0.032110006, -0.018741792, -0.12511599) * go_0(-1.0, 1.0); - result += mat4(0.20024729, -0.01969923, -0.026999667, -0.39064395, -0.14559332, -0.11634086, -0.13226044, 0.11779975, -0.08838282, -0.0882447, -0.23166943, -0.15760234, 0.030928904, -0.032423917, 0.20324136, -0.19692755) * go_0(0.0, -1.0); - result += mat4(0.49499384, 0.7327846, -0.6173799, -0.53821295, -0.15000962, 0.11169762, 0.6942423, 0.07956513, 0.06913002, -0.19037646, -0.19826908, 0.68080276, -0.2747096, -0.15832238, 0.47366706, 0.090432756) * go_0(0.0, 0.0); - result += mat4(-0.18274948, 0.09204629, 0.16644076, 0.05641037, 0.03328184, -0.6218293, 0.26432592, -0.093742386, 0.33038342, -0.24853565, -0.23683667, -0.37430722, -0.20684583, -0.32283148, -0.07633969, -0.08765815) * go_0(0.0, 1.0); - result += mat4(0.06821987, 0.06395764, -0.14685121, -0.15894371, -0.093540885, 0.057568345, -0.048376244, -0.009256543, -0.26325077, -0.03193119, -0.16857445, -0.02404981, 0.110593356, 0.042911418, 0.06626762, -0.0312436) * go_0(1.0, -1.0); - result += mat4(0.3108626, 0.37123847, -0.082249805, -0.21339422, -0.3756041, -0.08518717, -0.16853802, 0.011641729, -0.30096757, 0.26942274, -0.08990497, -0.19451031, 0.21974437, -0.04231723, 0.26160353, -0.040834647) * go_0(1.0, 0.0); - result += mat4(0.11795158, 0.24436565, 0.043223023, -0.0159957, -0.19689156, 0.13223267, -0.013983249, 0.09437164, -0.47648698, -0.00082660443, -0.085406005, 0.10885898, 0.104696035, -0.053257108, 0.024389362, 0.0282572) * go_0(1.0, 1.0); - result += mat4(0.032890156, 0.0115719065, -0.01898909, -0.03034875, -0.041037276, -0.1026382, 0.03337663, 0.20108728, -0.00023235095, -0.018033072, -0.028535927, 0.07359915, 0.075182244, 0.02959868, 0.15107772, -0.09815672) * go_1(-1.0, -1.0); - result += mat4(-0.004040557, 0.06707476, 0.039022792, 0.52437925, -0.08027356, 0.040488366, 0.035332825, 0.07683081, -0.03521227, -0.081861034, 0.090804815, 0.10580108, 0.20452882, -0.58755285, 0.04303056, 0.41562977) * go_1(-1.0, 0.0); - result += mat4(0.09290062, 0.03495193, 0.02347216, -0.012873525, -0.076936446, 0.1453216, -0.03742271, -0.14174925, -0.058219753, 0.19095406, 0.055627216, 0.09437343, -0.010424211, -0.314692, 0.3314579, -0.053285643) * go_1(-1.0, 1.0); - result += mat4(-0.053961687, 0.1483992, 0.042458896, -0.1966439, 0.13864957, 0.07587672, -0.06519269, 0.09530391, 0.04215073, 0.039545458, 0.21056756, 0.09972659, 0.02987125, -0.08102741, 0.07075036, 0.21867757) * go_1(0.0, -1.0); - result += mat4(-0.5512795, 0.03104814, 0.27901977, 0.122875504, -0.2656715, 0.007895486, -0.6735937, 0.20810314, -0.31432617, 0.07420857, 0.2573659, -0.35361463, 0.19826569, -0.47774056, 0.15816487, -0.29203883) * go_1(0.0, 0.0); - result += mat4(0.35078493, -0.07371588, -0.026663188, -0.20976657, -0.009644347, 0.037428845, -0.33933878, -0.010807704, 0.088060796, 0.16753472, -0.12296045, 0.17563403, 0.1501952, 0.07353703, 0.32531765, 0.11667607) * go_1(0.0, 1.0); - result += mat4(0.096126616, -0.058021486, -0.03439203, 0.06868024, 0.047914367, 0.026945053, 0.04207778, 0.046023168, 0.16024022, 0.07846185, 0.004195093, 0.07272046, -0.10458233, -0.0904536, 0.16049337, 0.015941419) * go_1(1.0, -1.0); - result += mat4(0.032256138, -0.055398785, 0.079738356, 0.113359064, 0.11975066, -0.074372105, 0.102006756, -0.011490042, 0.15155345, 0.0025528704, 0.23328577, -0.059241068, -0.067783386, -0.18220833, 0.0057692174, 0.039900843) * go_1(1.0, 0.0); - result += mat4(-0.06173998, -0.07121991, -0.01118306, -0.063749574, -0.032665797, 0.0014987896, 0.03113169, 0.06916617, 0.0066490914, -0.052818965, -0.050131317, 0.10337558, -0.030870482, -0.14671221, 0.12152145, -0.05003445) * go_1(1.0, 1.0); - result += vec4(-0.010524109, -0.008519857, -0.08958723, -0.07917139); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.11029161, 0.027180295, -0.115622066, 0.16493714, 0.29633296, -0.11739625, -0.36390316, 0.15221693, -0.009233659, -0.062213745, -0.07184558, 0.07418268, -0.05182182, 0.0066014086, -0.006811494, -0.010030367) * go_0(-1.0, -1.0); - result += mat4(-0.18361749, 0.08565693, 0.24127418, -0.20478591, 0.6198113, -0.17994536, -0.011840256, 0.120292775, 0.2873902, -0.019704796, -0.062267166, 0.0104749305, -0.048370067, -0.028105626, 0.11494511, -0.15941763) * go_0(-1.0, 0.0); - result += mat4(-0.08084502, 0.10195475, -0.03200553, 0.032734055, 0.030348243, -0.028927604, 0.045914374, 0.029237835, 0.07756032, -0.06346545, -0.290196, 0.057043966, 0.13982558, -0.12195619, -0.15895663, -0.10097537) * go_0(-1.0, 1.0); - result += mat4(-0.12018707, -0.320156, -0.4089669, 0.26015735, 0.59622765, -0.05654362, 0.28581724, 0.32069868, -0.0013007161, -0.060870633, -0.2732852, 0.2357145, 0.2137239, 0.0110256495, -0.069258444, 0.113870576) * go_0(0.0, -1.0); - result += mat4(0.54700065, -0.072552234, 0.27267826, -0.26660076, 0.7043544, 0.18192886, 0.80024594, 0.2447395, -0.3289639, -0.2681839, 0.063631415, -1.0118654, 0.45691678, 0.42904988, -0.2301862, -0.6652257) * go_0(0.0, 0.0); - result += mat4(0.19215634, 0.030154131, 0.07679603, 0.50318545, 0.056434657, 0.028623195, -0.14471184, -0.13905096, -0.03254216, -0.1191584, -0.18907212, 0.49208716, 0.5069476, -0.1490824, -0.104480386, -0.06595394) * go_0(0.0, 1.0); - result += mat4(-0.08893682, 0.13113782, 0.023672188, 0.013086517, -0.25986442, 0.038162243, -0.10951209, -0.2027832, -0.013547809, -0.029482972, -0.17670235, 0.13529542, -0.0621569, -0.0979757, -0.10714689, -0.08474307) * go_0(1.0, -1.0); - result += mat4(-0.032828752, 0.00037559783, 0.023968933, -0.047482926, -0.20302027, 0.08830911, -0.20885307, -0.11137413, 0.16585048, -0.076796696, -0.030462325, -0.2020944, 0.048723634, -0.45607433, -0.29950324, -0.5867916) * go_0(1.0, 0.0); - result += mat4(0.008863689, 0.061761267, -0.039097138, 0.24465923, -0.05917457, -0.21383028, -0.085846715, -0.14150433, 0.0988731, -0.0160538, -0.045119412, 0.095252946, -0.057551738, 0.21348421, -0.03480491, -0.26071647) * go_0(1.0, 1.0); - result += mat4(-0.21351442, 0.10038809, 0.34001955, -0.100911774, 0.0208522, -0.028755441, 0.025793588, 0.013080005, 0.03849989, 0.13662058, 0.04311886, 0.17398632, -0.01397261, -0.016415505, -0.0070752064, 0.007656161) * go_1(-1.0, -1.0); - result += mat4(-0.280189, 0.09252764, -0.077729605, 0.12662902, -0.10433321, 0.03644144, -0.06625324, 0.05696802, 0.15468478, 0.08328583, 0.069849946, 0.061947342, -0.05560477, -0.0074776993, -0.15365681, -0.03526299) * go_1(-1.0, 0.0); - result += mat4(0.05886785, 0.15303846, 0.0066637015, -0.19983207, -0.07803175, -0.10772685, -0.12690999, -0.08275092, 0.033436153, 0.08424011, 0.17092863, 0.0043526487, 0.014620474, 0.044702258, 0.1686881, -0.016890949) * go_1(-1.0, 1.0); - result += mat4(0.1833738, 0.14381635, -0.025888365, -0.14182197, -0.25804865, 0.07216123, 0.025790794, 0.14096753, 0.023591481, 0.15610993, 0.026975863, 0.008755717, -0.13039349, -0.063048325, -0.121329494, -0.12331732) * go_1(0.0, -1.0); - result += mat4(0.0005065098, 0.44017914, 0.18493074, 0.13099027, -0.36087477, -0.37567857, -0.48981526, 0.5590752, -0.23918836, 0.19170256, 0.16816153, -0.29986876, -0.44738817, 0.018545123, 0.66217834, 0.31810755) * go_1(0.0, 0.0); - result += mat4(-0.16725904, 0.05753713, 0.058880586, -0.336765, 0.013667228, 0.056172702, 0.13465533, -0.07573556, -0.06313958, 0.06746643, 0.18878669, 0.09404202, -0.21780397, 0.12862128, -0.09476746, -0.34096682) * go_1(0.0, 1.0); - result += mat4(-0.07169524, 0.072302215, 0.052789338, -0.14035568, 0.078670934, -0.22246763, -0.0098074945, 0.024950746, 0.10949147, 0.06182366, 0.021721192, 0.12129548, 0.094007075, 0.06076156, 0.016474832, 0.08092115) * go_1(1.0, -1.0); - result += mat4(-0.10960447, 0.1878152, -0.029822018, 0.10598909, 0.1582181, 0.086522795, 0.093725055, 0.12908185, 0.23202112, -0.28859115, 0.26614165, 0.124523655, 0.19427507, 0.059677128, 0.003624697, 0.44220912) * go_1(1.0, 0.0); - result += mat4(-0.03620583, -0.102766834, 0.025527107, -0.11316131, -0.1507822, 0.0543862, -0.08225627, -0.06438472, 0.04580623, 0.6329729, 0.23854075, 0.35752076, 0.04363613, -0.12580468, -0.0006126687, -0.04995386) * go_1(1.0, 1.0); - result += vec4(0.060475674, -0.042036578, 0.06406282, 0.05569301); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.008187961, -0.08433309, -0.17281345, 0.1306418, -0.2925821, 0.20668334, 0.14854355, -0.15960559, 0.08599311, -0.096088655, -0.10121403, 0.067429096, 0.049158614, 0.036637552, 0.22137405, -0.17016457) * go_0(-1.0, -1.0); - result += mat4(0.024813082, 0.028489944, 0.06814137, -0.1245949, 0.54239255, 0.08648708, 0.28979865, 0.110916786, -0.1927179, -0.17756873, -0.1878214, 0.05795718, -0.080397904, 0.22125137, 0.1907366, -0.016493658) * go_0(-1.0, 0.0); - result += mat4(0.027259264, 0.01494357, 0.04852894, 0.037580628, 0.031005561, 0.003570554, -0.072993, -0.053475574, 0.031119492, -0.14140029, -0.10386501, -0.015266508, 0.01153506, 0.16006693, 0.088294305, 0.04201491) * go_0(-1.0, 1.0); - result += mat4(0.13026185, 0.097255, 0.49145448, -0.33619553, -0.21144676, 0.019042643, -0.27274492, 0.3033865, 0.14040698, -0.13656893, 0.28211337, -0.26930946, -0.1626638, 0.105105706, -0.50837296, 0.39536825) * go_0(0.0, -1.0); - result += mat4(-0.42495522, 0.14972518, 0.0007564128, 0.37367433, 0.44553527, 0.3338494, -0.26058698, 0.087256804, -0.4324135, 0.20706014, 0.33552194, -0.13375738, -0.13469471, 0.22374928, -0.36969653, -0.34171587) * go_0(0.0, 0.0); - result += mat4(0.26543954, -0.004381978, 0.10609993, -0.09718426, -0.15620759, -0.03287476, 0.093032375, 0.00028344034, -0.11699793, -0.016492033, 0.023340177, 0.0062737763, -0.14305823, -0.2721832, -0.160177, -0.06915171) * go_0(0.0, 1.0); - result += mat4(0.03334679, 0.12436332, -0.13226178, 0.13868971, 0.017779246, -0.012697869, -0.11553709, 0.08638636, 0.0955215, -0.0309646, 0.040856246, -0.03978358, 0.023490254, -0.07178907, 0.23794931, -0.1714287) * go_0(1.0, -1.0); - result += mat4(-0.11820261, 0.116130814, 0.58924234, -0.37785482, 0.016644944, -0.071019046, 0.0076222476, -0.024118654, -0.076183304, -0.14971451, 0.06356606, -0.07225465, -0.17400762, 0.030856986, 0.03957665, -0.0070553776) * go_0(1.0, 0.0); - result += mat4(0.10954708, 0.063694, -0.058218896, 0.0010372304, 0.032423936, 0.006164447, -0.031383317, 0.012955956, -0.17115591, 0.16328962, 0.07279567, 0.06571465, 0.005532307, 0.13575353, 0.04082173, 0.041579492) * go_0(1.0, 1.0); - result += mat4(0.03146011, -0.08227295, -0.03498218, 0.04772092, 0.12055223, -0.12383867, 0.05448358, -0.07948453, -0.019064998, -0.0964146, -0.024651276, 0.041473705, -0.06493721, -0.054806646, -0.21607941, 0.20078054) * go_1(-1.0, -1.0); - result += mat4(-0.25740683, -0.33160943, -0.37422308, 0.12679969, -0.032204475, 0.41485202, 0.4538808, -0.082535125, 0.11784846, 0.10195789, 0.064491615, -0.10170162, -0.09500746, -0.15640756, -0.079364255, -0.12576963) * go_1(-1.0, 0.0); - result += mat4(-0.02532797, -0.014487023, -0.09441118, -0.060885422, -0.41196415, -0.1359501, 0.07101173, -0.053279232, 0.010979353, 0.1914526, 0.054606825, 0.015926225, 0.10410896, 0.010272597, -0.048138764, -0.02698072) * go_1(-1.0, 1.0); - result += mat4(-0.35856235, 0.099759184, -0.11972965, -0.03850837, -0.5143867, 0.3721666, -0.100802526, 0.21814734, -0.11864143, 0.15086797, 0.047075786, -0.14188164, 0.48882273, -0.12767795, 0.4937544, -0.41288656) * go_1(0.0, -1.0); - result += mat4(0.21679138, 0.023770422, -0.5454043, 0.18567741, 0.15965948, -0.84900963, -0.4684333, -0.21884751, 0.5876668, -0.9346244, -0.30144307, 0.97177315, 0.24103107, 0.35953388, 0.2032729, 1.2934744) * go_1(0.0, 0.0); - result += mat4(-0.5121466, -0.123357795, 0.1833694, 0.048652876, -0.20895603, 0.0619325, 0.064119816, 0.072841786, -0.21813762, -0.126957, -0.23441431, -0.009071302, -0.09766064, -0.12546945, 0.086008705, -0.0072638122) * go_1(0.0, 1.0); - result += mat4(0.15312338, -0.051029235, 0.07638347, -0.14028431, 0.10694411, -0.14639509, 0.3193828, -0.22767228, -0.19987194, 0.18207504, -0.19648756, 0.24752761, -0.03402804, -0.04186147, -0.20177092, 0.09467012) * go_1(1.0, -1.0); - result += mat4(-0.3587345, -0.20358992, -0.11016057, 0.21079709, -0.26201126, 0.040362626, 0.3186598, -0.059521858, 0.27564716, -0.041431133, 0.19315968, -0.30228892, 0.01191173, -0.10380854, 0.03030344, 0.026699625) * go_1(1.0, 0.0); - result += mat4(0.13373446, -0.011457521, -0.24851708, 0.06563771, -0.051668253, 0.09096929, -0.013976447, 0.041433394, -0.046981215, -0.00015144625, 0.05696515, 0.024501698, 0.2714476, -0.017434085, 0.025333954, -0.054034695) * go_1(1.0, 1.0); - result += vec4(0.06757453, -0.021112159, -0.015639946, 0.05520713); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_1_tf -//!BIND conv2d_2_tf -//!BIND conv2d_3_tf -//!BIND conv2d_4_tf -//!BIND conv2d_5_tf -//!BIND conv2d_6_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.03795613, 0.09572901, 0.019826923, 0.10568741, -0.0030050736, -0.018890928, 0.0095737, 0.00807826, -0.022741016, 0.0046556294, -0.017018225, -0.010523109, -0.017621946, -0.0006488902, -0.009405731, -0.0027796263) * g_0; - result += mat4(-0.046617493, -0.018167915, -0.039274286, -0.027566826, -0.015821747, 0.003789104, -0.0020801623, 0.004032968, -0.05708595, -0.018440764, -0.032891296, 0.004184342, 0.047413353, 0.0034510887, 0.019148773, -0.0035636695) * g_1; - result += mat4(-0.046619494, -0.017274255, -0.03372405, -0.011152855, 0.10981248, 0.036214054, 0.07969624, 0.05590572, -0.031791378, -0.00307391, -0.0032425344, 0.0025762853, 0.0053703627, -0.02076939, -0.00058634114, -0.012593452) * g_2; - result += mat4(0.110471316, 0.031102506, 0.07860556, -0.018570926, -0.05038586, -0.07667239, -0.0819002, -0.08958284, 0.03846167, -0.007570915, 0.008598097, -0.0082979705, -0.03610172, -0.022735123, 0.02343143, 0.030037913) * g_3; - result += mat4(-0.075562544, -0.020187575, -0.020969959, 0.0062222136, 0.019780673, 0.059694994, 0.019240001, 0.05951303, 0.004168261, 0.00041100322, -0.0013793377, 0.002048099, -0.040564027, -0.031818517, -0.015498987, -0.02695407) * g_4; - result += mat4(-0.0016428401, 0.018965026, -0.013192817, -0.008289604, -0.044686675, -0.009061507, -0.049217258, -0.043777503, -0.07308355, -0.063734084, 0.019393511, -0.028853234, 0.057311818, 0.04126226, 0.086301416, 0.11784249) * g_5; - result += mat4(-0.06087458, 0.046508487, -0.10723279, 0.017619802, 0.13637137, 0.2054238, 0.013641375, 0.091581754, 0.03556439, 0.0500333, 0.0696777, 0.0922045, -0.020914901, -0.025425691, -0.050319638, -0.049094327) * g_6; - result += mat4(0.0030941095, -0.008679898, -0.05815756, -0.038728733, -0.062450465, -0.073838525, -0.030359933, -0.08355475, -0.039032117, -0.0689333, -0.04834296, -0.079471886, 0.09694701, 0.17491414, 0.093450785, 0.16742545) * g_7; - result += mat4(0.035618782, -0.027659958, 0.055540156, 0.013073733, 0.12144545, 0.05981087, -0.015131131, -0.0476281, -0.090847984, 0.005347584, 0.015588529, 0.024184622, -0.10743599, -0.01785147, -0.08566232, -0.14611128) * g_8; - result += mat4(-0.03812077, 0.018126076, -0.016625525, -0.06906415, -0.06267368, -0.058914356, 0.0009385371, -0.026746314, 0.048242237, 0.028906677, -0.028120263, -0.004209134, 0.009636235, 0.013206963, 0.07449269, 0.038961377) * g_9; - result += mat4(-0.014510558, -0.021065345, 0.09356215, -0.005815953, 0.08807958, 0.067895725, 0.08723713, 0.057831496, -0.10227873, -0.07699344, -0.06321843, -0.07448854, 0.09820774, 0.007563063, -0.14045772, -0.014161681) * g_10; - result += mat4(-0.18385889, 0.2255883, -0.29741547, 0.14618248, -0.08100661, -0.06860545, -0.112705804, -0.122642964, -0.06736901, 0.06971933, 0.12909706, -0.0418256, -0.32786265, 0.032497127, 0.4390302, 0.032726523) * g_11; - result += mat4(0.10560793, 0.083280005, -0.20369564, -0.14290833, -0.119196005, -0.028741803, 0.020456403, -0.06509816, 0.073811695, 0.02724128, -0.08691891, 0.10240907, 0.16827166, -0.17502932, -0.18295282, 0.15154512) * g_12; - result += mat4(0.0036247042, -0.002368346, 0.049646147, 0.058079436, 0.14403848, 0.07125248, 0.040327612, -0.013934329, 0.03871744, -0.1717596, 0.20666012, -0.24093682, -0.09846371, 0.011563227, 0.11973811, -0.0574434) * g_13; - result += vec4(0.022095086, 0.021079032, 0.030224537, 0.02154015); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl deleted file mode 100644 index de6c59c..0000000 --- a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl +++ /dev/null @@ -1,158 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(6.5515305e-05, 0.09565814, -0.0022499533, 0.14627136, -0.0065872427, 0.1441769, 0.17772098, 0.16298898, 0.03727593, 0.02010636, 0.013131043, 0.07891907, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.029612074, -0.01204274, 0.07698074, 0.3855172, 0.0045466167, -0.0859741, 0.26930287, 0.67549795, -0.036623597, 0.051749162, -0.04714053, 0.16092339, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.030328937, -0.15884648, 0.0082092965, -0.05052196, 0.041409027, -0.23017453, 0.31568366, 0.05136558, -0.0106390705, -0.12503141, -0.07030922, -0.08512375, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.059616547, -0.12322959, 0.058520414, -0.039292034, 0.08059592, -0.22441447, 0.15380386, -0.17675085, -0.009270574, 0.034731936, -0.048767723, 0.025933916, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.4495482, 0.37551787, -0.4227873, -0.4890034, -0.9007091, 0.7524192, -1.271679, -0.68366605, -0.07302573, 0.09378561, 0.010367829, -0.24593607, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.12684742, -0.11042779, 0.01793761, 0.06982078, 0.12901784, -0.10123104, -0.2129385, -0.15062876, 0.019824497, -0.015181707, 0.070795976, 0.13549626, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.036070887, -0.2733308, 0.05836442, -0.06817092, -0.08980838, -0.514616, 0.2965783, 0.103823625, -0.015213521, -0.16376303, 0.0017071419, -0.0922202, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.053406045, 0.011273207, -0.05544644, 0.09432561, -0.04143601, -0.0783786, -0.39899537, 0.040322974, -0.046442945, 0.052499074, 0.03397099, 0.05516481, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.35976252, 0.197882, 0.031213427, -0.02211337, 0.7940331, 0.327452, 0.30120966, 0.03181121, 0.13782893, 0.060073618, -0.00940469, -0.0358819, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.004601904, -0.0030944077, 0.14569537, -0.016794242); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.103708945, -0.050891697, -0.2067834, -0.033582103, -0.08676132, 0.15528207, -0.10070597, -0.13641205, 0.030959459, 0.12798834, -0.058627255, -0.008511715, 0.023304658, -0.027084433, 0.120355256, -0.023104342) * go_0(-1.0, -1.0); - result += mat4(0.0550643, -0.26851672, 0.11073926, 0.21989855, 0.012853378, 0.028077757, 0.073306665, -0.04551125, 0.16005373, -0.018154016, -0.12347146, -0.07590073, -0.10193998, 0.084696375, 0.04041413, -0.030883553) * go_0(-1.0, 0.0); - result += mat4(-0.04816972, 0.0804637, 0.0071406, -0.08482986, 0.11176785, 0.060121994, -0.047804814, -0.036170192, 0.01989302, -0.12537469, -0.16283676, 0.19132937, -0.052577138, -0.005143432, 0.045614418, 0.04198543) * go_0(-1.0, 1.0); - result += mat4(-0.33660156, 0.036350835, -0.4623589, -0.04140598, 0.2436438, -0.044735093, 0.20876355, -0.004252532, 0.81046224, -0.18550895, 0.32743093, 0.109012894, -0.34675312, -0.03464997, -0.09489919, -0.07961427) * go_0(0.0, -1.0); - result += mat4(-0.08862038, -0.8168393, 0.03584266, 0.32159033, 0.06634099, 0.2985745, -0.18204363, -0.016070427, 0.35503992, 1.1388919, 0.16171643, -0.63834023, -0.0037699202, -0.27919513, -0.20949292, 0.03270466) * go_0(0.0, 0.0); - result += mat4(0.021701936, -0.04537874, -0.05514495, 0.23225744, 0.024968185, 0.1816845, 0.03485249, -0.28249854, -0.37759346, -0.3225813, 0.021595621, 0.17104608, -0.0044055753, 0.01621266, -0.015169225, 0.08956203) * go_0(0.0, 1.0); - result += mat4(-0.033255238, -0.110517226, 0.10664505, 0.019566126, -0.0695305, 0.059743922, -0.19161415, -0.024217626, -0.08578889, -0.16358584, -0.23050265, -0.004697784, -0.060790297, 0.1174991, 0.08205285, -0.011846926) * go_0(1.0, -1.0); - result += mat4(0.6119327, 0.0791928, -0.118774265, 0.42233524, -0.16248553, -0.017692063, 0.13530938, -0.3207985, -0.147722, -0.24525681, 0.05243329, -0.38583818, 0.5147888, -0.072632834, -0.6014986, 0.26713687) * go_0(1.0, 0.0); - result += mat4(0.23735437, -0.032110002, 0.17445332, -0.3272264, 0.020623574, 0.26734766, -0.16806662, 0.0796467, -0.34921628, 0.016648084, -0.14200358, 0.59190625, 0.13177821, 0.11139572, -0.14972521, -0.16784541) * go_0(1.0, 1.0); - result += mat4(-0.047283772, -0.003196778, 0.44890094, 0.14619343, -0.17113213, -0.068454474, 0.07681565, -0.04306807, -0.0022641511, -0.20954822, 0.0344229, 0.014815744, -0.010632933, 0.13355999, -0.0860752, -0.069001146) * go_1(-1.0, -1.0); - result += mat4(0.11664345, 0.099102855, 0.1642523, 0.047408774, 0.038490184, 0.16064398, -0.08694127, -0.2149453, -0.1413128, -0.06531084, -0.10105762, 0.19743964, 0.10458527, -0.04133969, 0.1425028, -0.013283083) * go_1(-1.0, 0.0); - result += mat4(0.0138432095, -0.20053013, 0.079355195, 0.273772, 0.05484276, 0.13891658, 0.16240036, -0.25245088, 0.011192391, 0.104164094, 0.08112111, -0.250435, -0.0559613, -0.031029798, -0.015725998, 0.09240792) * go_1(-1.0, 1.0); - result += mat4(0.18754779, -0.33171803, 0.34917468, 0.29074225, -0.37954012, 0.20898043, -0.24973525, -0.13707505, -0.31585664, 0.13607393, -0.29118514, 0.015055187, 0.18549949, -0.06351915, 0.2823401, -0.00019733967) * go_1(0.0, -1.0); - result += mat4(0.10060476, 0.2883022, -0.15810104, -0.041112892, 0.31050095, 0.18517002, 0.020033397, -0.35919502, -0.17903808, -0.43506318, -0.14783014, 0.20092726, -0.002020754, 0.13320895, 0.040995706, 0.052643474) * go_1(0.0, 0.0); - result += mat4(-0.014892139, 0.005828587, 0.044784732, -0.27272886, 0.21069369, 0.044396695, -0.03411123, 0.031441864, 0.17224072, 0.1708587, -0.00729118, -0.13070418, -0.19128975, -0.09342688, -0.051133234, -0.089075714) * go_1(0.0, 1.0); - result += mat4(0.08799108, 0.04157696, -0.15010124, 0.26832178, -0.0040120087, 0.040308744, 0.17632529, -0.09464763, 0.07786305, 0.038288828, 0.40799135, 0.037377868, -0.049877923, -0.25080636, 0.00068664295, 0.0013101585) * go_1(1.0, -1.0); - result += mat4(0.0353459, -0.21445732, 0.112647906, -0.3513759, 0.16887255, 0.3224789, -0.17073384, 0.10875396, 0.18919177, 0.14288992, 0.07364533, 0.20205943, -0.34363645, -0.3520186, 0.6763608, -0.19051236) * go_1(1.0, 0.0); - result += mat4(-0.032245517, 0.039594565, -0.11825768, 0.16509856, 0.11749939, -0.005166539, 0.10740687, -0.3794017, 0.12722437, 0.14066173, 0.08025407, -0.34773758, -0.027300838, -0.08963159, 0.29774833, 0.053532287) * go_1(1.0, 1.0); - result += vec4(0.022899346, 0.033619333, 0.030674957, -0.017047008); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0714004, -0.0545495, -0.050848898, 0.04724593, 0.2214181, 0.26353878, 0.07314053, -0.18771721, 0.06282607, -0.03720548, 0.020577375, -0.08951135, 0.40820515, 0.012179098, 0.52947706, -0.48448065) * go_0(-1.0, -1.0); - result += mat4(0.10311368, -0.10970221, 0.07008208, -0.07143153, 0.073753305, 0.03786335, -0.4312538, -0.17680745, -0.15527713, -0.06711554, -0.21828765, 0.27252844, -0.0025433605, 0.31595528, -0.06065309, 0.059542265) * go_0(-1.0, 0.0); - result += mat4(-0.036736265, 0.08704119, -0.06530063, 0.04546563, 0.010335546, -0.040761005, -0.021500558, 0.104531065, 0.094652064, -0.05088704, 0.14768088, -0.08585825, 0.057680476, 0.09885713, 0.18074304, -0.14277679) * go_0(-1.0, 1.0); - result += mat4(-0.04810641, -0.01735864, -0.06405213, 0.04889552, -0.011552542, -0.04617259, 0.023976233, 0.27587202, -0.117965676, -0.07052052, -0.030583147, -0.036600694, -0.08542387, -0.053850796, 0.27242282, -0.73792183) * go_0(0.0, -1.0); - result += mat4(-0.1340838, 0.1256252, -0.040528856, 0.13554344, -0.13733707, -0.14641404, 0.42666963, -0.4933124, -0.34908, 0.054332364, -0.2768947, 0.44689894, 0.42182985, -0.027279109, -0.17136064, -0.009496184) * go_0(0.0, 0.0); - result += mat4(0.075086355, -0.025501372, 0.02172236, -0.052761186, -0.055753034, -0.028023237, -0.08829973, 0.14333946, 0.062496934, 0.034493748, 0.17640088, -0.084869936, 0.21283653, 0.1184779, 0.0016387368, -0.14988145) * go_0(0.0, 1.0); - result += mat4(0.054841094, 0.040639404, -0.025044259, -0.071105786, -0.07473824, -0.04719771, 0.016553668, -0.10028357, 0.009365985, -0.0133521445, 0.022320358, -0.09318326, 0.17342545, 0.19281831, 0.16737404, -0.09583887) * go_0(1.0, -1.0); - result += mat4(-0.03950585, 0.091417804, -0.021395942, 0.08735149, -0.029363452, -0.04763804, -0.1430701, 0.15344201, -0.006604305, 0.05897304, -0.13595524, 0.083323576, 0.008187976, 0.12946083, 0.14983748, -0.08178542) * go_0(1.0, 0.0); - result += mat4(-0.00046765045, -0.07914878, 0.03529457, -0.007752294, -0.10084779, -0.1531338, -0.1408283, 0.20638838, 0.01466853, -0.059309185, -0.11161097, 0.08481583, 0.090416916, 0.081118226, 0.08677104, -0.20095336) * go_0(1.0, 1.0); - result += mat4(0.3200496, -0.049090706, 0.11554867, -0.11949655, -0.18064958, 0.0012254696, -0.032284267, 0.00076361356, -0.13239916, -0.13838826, -0.20345089, 0.00692921, -0.2271236, -0.07132879, -0.097703665, 0.29881954) * go_1(-1.0, -1.0); - result += mat4(0.4095371, 0.3008338, -0.43109173, -0.495734, 0.15016843, -0.3890023, 1.0669806, -0.20876339, -0.32241493, -0.10387533, -0.018227777, 0.1349976, -0.0019588785, -0.19263229, 0.38952798, 0.08135965) * go_1(-1.0, 0.0); - result += mat4(0.01517036, -0.51562387, -0.13939962, -0.23287989, 0.09597558, 0.017624658, 0.16989397, -0.09395267, -0.29612765, 0.11843327, -0.07493133, 0.14523852, 0.040488124, 0.016568637, 0.10204776, -0.13137013) * go_1(-1.0, 1.0); - result += mat4(-0.1512155, -0.12732185, 0.08002965, 0.024762904, 0.05106389, 0.011125884, -0.043196492, -0.17617282, 0.09791206, 0.120643355, 0.075500526, 0.10948051, 0.04969893, -0.20776172, -0.06905779, -0.20245977) * go_1(0.0, -1.0); - result += mat4(-0.41836104, -0.82896453, -0.20962712, 0.7804863, 0.17322528, 0.53994787, -0.18730208, -0.021233026, 0.7417944, -0.4544313, 0.23165174, -0.63969344, 0.09383021, -0.046137553, -0.07796646, 0.11413524) * go_1(0.0, 0.0); - result += mat4(-0.32532063, 0.09456587, 0.43708017, -0.40595353, 0.061229162, 0.006663704, -0.19821976, 0.07661682, -0.21427135, 0.17748164, -0.31958643, 0.3883502, 0.068938896, 0.022886515, 0.022923468, -0.04269318) * go_1(0.0, 1.0); - result += mat4(0.23775512, 0.04026384, 0.12276414, -0.2545085, 0.0894177, 0.115443565, 0.029124375, 0.08887401, -0.0057824687, 0.017655179, -0.025270017, -0.06643964, 0.01316084, 0.024039604, 0.034566984, -0.12682836) * go_1(1.0, -1.0); - result += mat4(0.036596492, 0.22772355, -0.05508538, -0.18005793, -0.06432669, -0.037058707, 0.2718052, -0.10313161, 0.016055575, 0.051271006, -0.038919963, -0.036601298, -0.019457681, 0.03805731, 0.03252896, -0.07179724) * go_1(1.0, 0.0); - result += mat4(0.15046261, 0.13090402, -0.023847125, -0.039356075, 0.045424663, -0.20594294, 0.2154043, -0.18429665, -0.07969159, 0.08719893, -0.057626463, 0.08344988, -0.018651528, 0.047302175, 0.060727824, -0.035960387) * go_1(1.0, 1.0); - result += vec4(0.04921464, -0.0011432811, 0.062071066, -0.06594219); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.04508749, 0.00222134, 0.013338363, -0.0067310617, 0.099346675, 0.05804196, 0.018694466, -0.008126048, 0.007771997, -0.0072556734, -0.008293339, 0.001518462, -0.06296499, -0.064195156, 0.0727399, 0.044078834) * go_0(-1.0, -1.0); - result += mat4(0.20800652, -0.016071903, -0.08095607, -0.03472411, -0.20690396, 0.061331827, -0.10627648, 0.12838624, 0.036534917, -0.006113497, 0.029266752, -0.002263159, 0.2937966, -0.05544609, 0.14546311, -0.01290958) * go_0(-1.0, 0.0); - result += mat4(0.07792222, -7.288649e-05, 0.2800036, 0.019709835, -0.010950291, 0.021879988, 0.037608813, 0.055267945, 0.018646395, -0.016691998, 0.03787624, -0.006547077, 0.03214097, -0.018541625, 0.12142825, -0.070806496) * go_0(-1.0, 1.0); - result += mat4(-0.009798109, -0.06606263, 0.0010101331, 0.009924258, -0.10272075, -0.07983353, 0.028398676, 0.04967719, 0.12467993, 0.06775066, 0.017111637, 0.012814711, 0.0031143876, -0.0902014, 0.11242646, 0.076476306) * go_0(0.0, -1.0); - result += mat4(0.07650971, 0.35096344, 0.0612814, 0.06036218, 0.253547, -0.0460987, -0.11145313, -0.48844674, -0.050644107, 0.038706005, 0.19390784, 0.035322774, -0.010191005, 0.58071, -0.2856661, -0.009533105) * go_0(0.0, 0.0); - result += mat4(-0.071486905, -0.036179904, -0.07303894, 0.19301178, -0.11499898, -0.024847068, -0.0027055284, 0.20373714, -0.09671404, -0.020897992, -0.25572056, -0.008931707, -0.13582602, -0.006546881, -0.16154496, 0.26454738) * go_0(0.0, 1.0); - result += mat4(0.005463064, 0.006769753, 0.0039625713, 0.014121269, -0.068200685, -0.057850275, 0.008622973, 0.061149873, 0.017436448, 0.11660872, -0.02994459, 0.008590145, -0.03223439, 0.052557915, -0.011846354, 0.03523357) * go_0(1.0, -1.0); - result += mat4(-0.00015264735, 0.0012872831, 0.021878848, 0.022240406, 0.01822283, -0.008284247, -0.018443186, -0.04997753, -0.111760505, -0.20911667, 0.006166832, 0.14597091, 0.02305932, -0.16312876, 0.023375351, -0.028755601) * go_0(1.0, 0.0); - result += mat4(0.013701143, 0.010794129, 0.0024321147, -0.018976321, 0.0365032, -0.006783485, 0.01046472, -0.08473902, 0.057523903, 0.029831914, 0.0040916028, -0.2046352, 0.03542, -0.034598, 0.0031058635, -0.20746285) * go_0(1.0, 1.0); - result += mat4(0.09283864, -0.0035849356, 0.013190911, -0.035437535, 0.035798516, 0.022954805, -0.0029692063, -0.006633743, -0.13456796, -0.011448714, 0.011536131, 0.046695728, -0.0359048, -0.01144856, -0.0027279712, 0.0065755467) * go_1(-1.0, -1.0); - result += mat4(-0.14295974, -0.0034393691, 0.0051469817, -0.021334402, -0.05882422, -0.003004241, 0.011182507, 0.0015169785, 0.08474255, 0.1255887, -0.23984577, 0.07119401, -0.12547183, 0.038449038, 0.007738907, 0.031506266) * go_1(-1.0, 0.0); - result += mat4(-0.028237654, 0.010254326, -0.11843009, 0.03034298, -0.038323015, 0.0026470951, -0.060652684, 0.0022312272, -0.022539174, -0.01008126, 0.14868541, 0.02881852, -0.05327277, -0.012296453, -0.21280704, -0.021286633) * go_1(-1.0, 1.0); - result += mat4(-0.034825645, 0.0877418, -0.009103147, 0.041650586, 0.0135769, -0.005229229, 0.00082947424, -0.0020421906, 0.12402267, 0.007698874, -0.056337915, -0.006580138, -0.018867968, -0.08487179, -0.020938644, -0.029210499) * go_1(0.0, -1.0); - result += mat4(-0.37082648, -0.30321857, -0.22912364, -0.07368761, 0.15169628, 0.0013253551, 0.09232649, 0.011408914, 0.06347244, -0.377988, 0.13980117, -0.41065913, -0.00040237256, -0.23220152, -0.03643865, -0.10101427) * go_1(0.0, 0.0); - result += mat4(0.10692653, 0.049867555, -0.011915118, -0.10688069, 0.042109665, -0.017163716, 0.10852331, -0.0088934945, 0.06780516, -0.017808875, 0.26564032, 0.0523693, 0.099033475, 0.042864073, 0.18299587, -0.13503626) * go_1(0.0, 1.0); - result += mat4(0.07014404, 0.08841395, 0.01895322, 0.0036451078, -0.00933168, 0.044764042, -0.0034986525, 0.010701783, -0.043601245, -0.1375109, 0.0039965697, -0.054331, 0.018830067, 0.040386382, 0.007759782, -0.012478715) * go_1(1.0, -1.0); - result += mat4(0.024152381, -0.11462646, 0.07005155, 0.0424638, -0.0048070764, 0.06089261, -0.036675487, 0.057459857, 0.02478629, 0.2926517, -0.08248396, -0.053960845, 0.013205341, 0.09851673, -0.04310949, -0.001428641) * go_1(1.0, 0.0); - result += mat4(0.016168298, 0.009701502, 0.0064305146, -0.068672284, -0.044653386, -0.016051823, -0.015055443, 0.032019246, -0.0829852, -0.011304939, 0.0023902296, 0.30322486, -0.023831543, -0.0046928846, 0.026961725, 0.16314326) * go_1(1.0, 1.0); - result += vec4(-0.0031417734, -0.002754766, -0.004053268, -0.003937834); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl deleted file mode 100644 index 08c1996..0000000 --- a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl +++ /dev/null @@ -1,1702 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.21481565, -0.0914136, -0.067639425, -0.13521406, 0.14386347, -0.007917821, -0.0018606511, -0.07272963, 0.09651574, 0.09874618, 0.06434639, 0.1787858, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.06402414, -0.014693245, -0.25395226, 0.2960157, -0.12494867, 0.17711689, 0.31812787, -0.22346497, -0.1172598, -0.17087954, -0.031076867, -0.26865217, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.19254248, -0.049369957, 0.08171505, -0.12660322, 0.11544268, 0.15840095, -0.11473022, 0.144489, 0.07068809, 0.041438796, 0.10749463, -0.057156503, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.040826935, 0.0030781324, 0.094986334, -0.2573781, -0.11649985, 0.018165307, 0.039985053, -0.15652324, -0.014886749, -0.00988401, -0.15025067, -0.0031970344, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.15658751, 0.08227927, 0.23491348, 0.29900867, -0.45667845, 0.0438649, -0.39066258, 0.6590342, 0.009331404, 0.097770594, 0.21618316, 0.25005254, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.16455166, 0.013149855, 0.21515559, 0.03110101, -0.008973558, 0.33310282, -0.03276024, -0.3356557, 0.007899698, 0.295166, -0.73289853, 0.16696596, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.2691608, 0.09478436, 0.006536417, -0.04095308, -0.10942356, -0.0481289, -0.039660163, -0.20591366, -0.08013109, -0.052268907, 0.046878606, -0.024840442, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.17120434, -0.06828329, -0.23515487, 0.11830264, 0.67815524, -0.10693793, 0.2392081, -0.3192851, 0.06719006, -0.03441811, 0.020009553, -0.21328516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.30072933, 0.0348702, 0.15155697, -0.15580897, -0.12755825, -0.57249874, -0.10091004, 0.22914392, -0.017671, -0.26088336, -0.00079997425, -0.022365946, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0366252, 0.028346894, 0.033923555, 0.00025824012); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.042849753, -0.11642484, 0.073895186, 0.15186316, -0.024499241, 0.056690346, 0.05013788, -0.10182528, -0.024302427, 0.06578479, -0.028199008, -0.070577, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.040659044, 0.22913207, -0.1847038, -0.11781796, 0.044752445, 0.009552658, -0.11374249, 0.12798874, 0.056919675, -0.20839268, 0.11021251, 0.044297826, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.009999239, 0.1996945, -0.29797587, -0.4280957, -0.008521183, -0.10773894, 0.22186345, 0.254737, -0.003993275, -0.07186837, 0.16690473, 0.19043307, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.16174923, 0.26882383, 0.50559163, 0.38955548, 0.14091976, -0.15637094, -0.11826545, -0.23424837, 0.01674066, -0.08578336, -0.16907434, -0.19845173, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.10735882, -0.016069679, 0.42237386, -0.19937111, 0.07271503, 0.07596921, -0.24035113, 0.12406044, 0.059160866, -0.051063746, -0.36897844, 0.061272774, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.015712388, -0.34878746, -0.66418105, -0.35441992, -0.12208571, 0.042238027, 0.30143425, 0.3610614, -0.09538538, 0.25334427, 0.24629802, 0.030739667, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0035519397, 0.07191882, -0.20775351, -0.15425798, 0.07919461, 0.07578178, 0.12668823, 0.0011835548, 0.03245292, -0.105801836, 0.24585879, 0.13730717, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.2415042, -0.16800308, 0.48690978, 0.75166744, 0.3876131, 0.038878918, -0.3293806, -0.47433355, 0.057803743, 0.09533431, -0.1342232, -0.2982094, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.18697992, -0.60250723, -0.11149202, -0.015566043, -0.57483697, 0.07203411, 0.050863862, -0.078300595, -0.09433572, 0.27099958, -0.03195694, 0.10535165, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.043337345, 0.16099554, -0.030338328, 0.0074565704); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.05112635, -0.09334158, -0.031148188, -0.041258592, -0.04633252, 0.022155467, 0.16979018, 0.06819186, 0.094320215, 0.02111737, -0.15604521, -0.15083192, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.10213034, 0.41852444, 0.32454407, -0.058512308, -0.054484565, -0.24399261, -0.26164648, -0.34274867, -0.06912002, 0.02257528, 0.2588075, 0.24375258, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.019957408, 0.06354756, 0.10109863, 0.16890836, 0.06791468, 0.1259216, 0.3096521, 0.07912831, -0.08293642, -0.16565439, -0.050881315, -0.0576009, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.19822149, 0.34747612, -0.20176221, 0.042434175, -0.029007072, -0.1637076, -0.09433387, 0.32732537, -0.12577844, -0.049755163, 0.091352955, 0.27023584, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.26348627, 0.52249527, -0.4091685, -0.41065818, 0.050318573, 0.06534145, -0.15470429, 0.52704567, 0.08808197, -0.37854514, -0.22827432, 0.1498618, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.0865881, -0.8053624, 0.088793345, -0.22072543, -0.0141816195, 0.0049849018, 0.21256319, -0.327414, 0.1364984, 0.4927693, 0.1848864, -0.18559869, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.11838837, 0.056446314, 0.08738398, 0.31899074, 0.056432292, -0.0008520313, 0.018734995, -0.33501405, -0.00918473, -0.040785775, 0.04093389, -0.19747448, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.66065794, -0.5208613, -0.018835181, 0.26112127, 0.055486765, 0.113573246, -0.05028873, 0.05364108, 0.040549137, 0.28754827, -0.16565348, -0.37204087, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.06361742, 0.00907182, 0.06848412, 0.0057870117, -0.05289465, 0.068106346, -0.15660144, -0.20288356, -0.093512855, -0.17268412, 0.030761726, 0.36189792, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.51499516, 0.026265146, 0.05636954, 0.03170462); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.028563375, 0.075096495, 0.054740135, -0.097906366, -0.26889417, 0.0982474, 0.0013334368, 0.10432092, 0.2450199, -0.12516013, 0.11230964, 0.01147953, 0.085179225, 0.117808536, -0.123295836, 0.1002614) * go_0(-1.0, -1.0); - result += mat4(0.19004358, 0.077133805, -0.42637873, -0.08600882, 0.041925456, -0.2716079, -0.1856413, 0.017397093, 0.037734076, 0.21233109, -0.2645201, 0.074807495, 0.047724582, -0.027935218, -0.003907437, -0.04731259) * go_0(-1.0, 0.0); - result += mat4(0.09745319, 0.22767977, 0.37006328, 0.05020985, 0.039997175, -0.029447127, 0.1779581, -0.01620031, -0.010955076, 0.13874966, -0.053154904, 0.020808663, -0.11724862, -0.20081818, 0.047436096, -0.08110093) * go_0(-1.0, 1.0); - result += mat4(0.18583415, -0.20435709, 0.01911209, -0.026401127, -0.12581685, 0.014082952, -0.2001187, -0.08042616, -0.10389668, -0.10207221, 0.04581297, -0.08704452, 0.09200634, -0.13755022, -0.007857635, 0.10011377) * go_0(0.0, -1.0); - result += mat4(0.21004692, 0.30619434, 0.10146727, -0.012386493, -0.093512, -0.22519337, 0.16826348, 0.14847179, -0.019215466, -0.18989901, 0.09468501, 0.26023552, -0.07841198, 0.23280892, 0.00941152, 0.16808987) * go_0(0.0, 0.0); - result += mat4(0.26988962, -0.022920275, -0.195991, 0.08438454, 0.12282865, -0.07083694, 0.07814293, -0.08369662, -0.05397518, 0.06164561, 0.070263356, -0.049779683, -0.12997615, -0.12259467, -0.29498726, -0.2244981) * go_0(0.0, 1.0); - result += mat4(0.22414525, -0.022969153, -0.063833915, -0.027190238, 0.13401125, 0.02098015, -0.22264218, -0.12177459, -0.12630488, 0.14246967, -0.06480293, -0.11353247, -0.12755829, -0.02848558, 0.006076032, 0.14054467) * go_0(1.0, -1.0); - result += mat4(0.13391276, 0.06295799, 0.31367007, -0.19527563, -0.040563866, 0.11965244, 0.27989656, -0.057327088, 0.035627916, -0.119488806, -0.24792899, 0.13612582, 0.029112214, -0.08201902, 0.17605872, -0.089963086) * go_0(1.0, 0.0); - result += mat4(-0.01927269, -0.034413125, -0.18000118, 0.042171028, 0.0791958, -0.1210223, -0.07674829, 0.02870783, 0.1884872, -0.012900881, 0.1311204, 0.06283302, 0.0027031084, -0.11157234, 0.06318397, -0.13527857) * go_0(1.0, 1.0); - result += mat4(0.1419255, -0.16276762, 0.00092816725, 0.0078547085, -0.48728654, -0.05630108, -0.33906484, 0.025995376, 0.07410779, -0.06377176, -0.038708985, -0.10480868, 0.096948944, -0.08378831, 0.08217461, 0.126169) * go_1(-1.0, -1.0); - result += mat4(-0.07488089, -0.2994524, 0.23773918, -0.034476187, 0.0592535, 0.29324362, -0.030512415, -0.17258315, 0.08022449, -0.17212203, 0.17636995, 0.06854101, -0.029770015, -0.10313743, 0.46230134, 0.026522856) * go_1(-1.0, 0.0); - result += mat4(-0.018750735, -0.032278806, -0.16665034, -0.05022533, 0.057606205, 0.13155009, 0.06575953, 0.10044875, -0.09888156, 0.263175, -0.3478382, -0.08823663, -0.081383094, -0.044876218, -0.47501948, -0.062558904) * go_1(-1.0, 1.0); - result += mat4(-0.105735146, 0.30434787, -0.04748756, 0.13275737, 0.3215866, -0.097894445, 0.027429244, -0.2778113, 0.07703074, 0.0012649142, -0.54314685, 0.17256977, 0.16500366, -0.0060054287, 0.17721342, -0.37938938) * go_1(0.0, -1.0); - result += mat4(0.14780188, 0.2596772, 0.31135467, -0.02797583, -0.015622625, -0.006320702, -0.08333076, -0.018904723, 0.1389364, 0.19142458, 0.6817067, -0.054837633, 0.21896258, 0.036575202, -0.9033377, -0.25137353) * go_1(0.0, 0.0); - result += mat4(-0.12165315, 0.18358506, -0.1983472, 0.08618611, -0.1101336, -0.02491273, 0.36231366, 0.24619159, 0.07281212, 0.35466114, 0.32505757, 0.022900501, -0.25818315, -0.49635252, 0.2928282, 0.057359587) * go_1(0.0, 1.0); - result += mat4(-0.23839255, 0.1707951, 0.09135314, 0.1034047, -0.034727763, -0.1243241, 0.118879616, 0.06359015, -0.12569816, -0.116403826, 0.13372615, -0.04866488, -0.070711434, 0.21472852, 0.098126635, 0.16186984) * go_1(1.0, -1.0); - result += mat4(-0.0020077212, -0.1095719, -0.20081437, 0.028084867, -0.1479706, -0.028820625, -0.09085524, 0.118761584, -0.15923466, -0.32149267, -0.50690764, 0.040582787, 0.039979883, 0.026478326, -0.040531024, -0.13908122) * go_1(1.0, 0.0); - result += mat4(-0.085969776, 0.18301825, 0.11408605, 0.025418868, 0.11126661, -0.044224992, -0.061021794, -0.015779478, 0.10210226, -0.19080523, -0.14473902, 0.14097509, 0.14796504, 0.14814787, 0.11975678, -0.039735712) * go_1(1.0, 1.0); - result += mat4(0.27801284, 0.20288002, -1.2655782, 0.32888517, -0.02334678, 0.18978934, 0.23810555, 0.0074393786, 0.08552408, -0.1274367, -0.086998045, -0.024746515, 0.102745675, -0.086740054, -0.038129628, -0.0651254) * go_2(-1.0, -1.0); - result += mat4(-1.190979, -0.19575417, -0.569518, -0.17817745, -0.059261408, 0.09253248, -0.27272785, 0.17687175, 0.12146025, -0.07960662, 0.15846346, -0.14022483, 0.007532498, -0.096234165, 0.2769003, -0.14700246) * go_2(-1.0, 0.0); - result += mat4(-0.042687517, 0.022726525, -1.078912, -0.6248177, 0.11832816, -0.1086772, 0.1261872, 0.16775566, -0.05851938, -0.0732127, -0.01822243, -0.009363452, 0.015375079, 0.036912445, 0.11969059, -0.07526642) * go_2(-1.0, 1.0); - result += mat4(0.31373152, 0.0693334, -0.07900261, 0.0070532965, -0.13916558, -0.08116685, -0.85886157, 0.18724924, 0.023858327, -0.2971659, -0.2337722, -0.17136115, 0.034164, 0.09053483, 0.28138685, -0.050052963) * go_2(0.0, -1.0); - result += mat4(0.69782144, -0.17773196, -1.8466626, -1.029225, -0.010800972, -0.0059786057, 0.7224214, 0.45541716, 0.09066342, -0.13732997, 0.009828377, 0.115971304, 0.13013129, 0.35331696, -0.633545, 0.23484547) * go_2(0.0, 0.0); - result += mat4(-0.24049048, 0.16627774, -0.020105539, -0.117568016, -0.0043368824, -0.20639539, 0.10247316, -0.037546206, 0.18750127, 0.12931745, -0.14076929, -0.08036072, 0.045171227, 0.19917291, -0.068400174, 0.17796516) * go_2(0.0, 1.0); - result += mat4(0.09404375, 0.049048338, 0.24326289, 0.17646226, -0.11654813, 0.2592855, 0.32776543, 0.4599728, -0.19997491, 0.11202324, 0.18054682, -0.005742288, -0.036823884, -0.042750888, 0.22441903, 0.038635597) * go_2(1.0, -1.0); - result += mat4(0.036728445, 0.08352167, 0.08909888, -0.02035385, 0.090846755, -0.14406498, -0.025689734, 0.057863228, -0.04390429, -0.25868183, 0.29578558, 0.30690736, -0.05475277, -0.10149075, -0.034297444, 0.10515887) * go_2(1.0, 0.0); - result += mat4(-0.062532455, -0.12673786, 0.16426907, -0.25397223, 0.051807977, 0.112844475, -0.496193, -0.2551257, 0.025220035, 0.15157217, -0.08517411, 0.07161397, -0.06691877, -0.13205263, -0.117163956, 0.065052904) * go_2(1.0, 1.0); - result += mat4(0.07364788, -0.05812666, -0.05958767, -0.027094465, 0.26366132, 0.07415391, 0.040515613, 0.039676376, -0.006552745, -0.012837193, -0.17393842, 0.02813939, -0.121285915, 0.0030941493, 0.16669592, -0.0712934) * go_3(-1.0, -1.0); - result += mat4(0.03629398, -0.3745122, 0.3940434, -0.06701516, 0.083452255, 0.03055438, 0.15637632, 0.0019212369, 0.019995827, -0.21137866, 0.2645297, -0.09081918, 0.025669578, -0.1560248, -0.10008925, -0.07828463) * go_3(-1.0, 0.0); - result += mat4(-0.053625695, -0.10420973, -0.35323003, -0.022054465, -0.08156209, 0.008921794, -0.15391788, -0.03960033, 0.017107122, -0.13479686, 0.068978906, -0.12981713, 0.025973944, -0.09934198, -0.022112468, 0.020573085) * go_3(-1.0, 1.0); - result += mat4(0.0018295953, 0.13670065, 0.004993195, 0.059238344, -0.13972434, -0.13108826, 0.1942548, 0.18194143, -0.12335718, 0.024078835, -0.13328132, 0.06978434, -0.0107950205, 0.14398722, -0.022609226, -0.0041353432) * go_3(0.0, -1.0); - result += mat4(0.27635157, 0.15513352, -0.12534688, 0.15107392, 0.22048512, -0.044253547, -0.1429736, -0.39647785, 0.029876633, 0.1842563, -0.06762048, -0.06029809, 0.07537981, -0.035769306, -0.0261646, -0.110136114) * go_3(0.0, 0.0); - result += mat4(-0.12261548, 0.22167495, 0.18503761, 0.02638229, -0.094690226, 0.061862398, -0.081829205, 0.15912767, 0.006990079, -0.010121606, -0.12535281, 0.024284743, 0.18360399, 0.16907142, 0.25744098, 0.24359013) * go_3(0.0, 1.0); - result += mat4(-0.14717774, -0.09528236, 0.054552622, 0.0036530807, -0.5273358, -0.03762757, 0.21280535, 0.25522852, 0.20926028, -0.022236722, 0.0377064, -0.07160359, 0.06345197, -0.046687063, 0.021401843, -0.14337662) * go_3(1.0, -1.0); - result += mat4(0.17630331, 0.06953194, -0.26126865, 0.029734965, 0.13158317, -0.11239223, -0.2805452, 0.106054045, -0.053220887, 0.09541345, 0.26539528, 0.15052572, 0.042701412, -0.025114734, -0.22815101, 0.06797245) * go_3(1.0, 0.0); - result += mat4(-0.11562362, 0.037828114, 0.15033676, 0.006264337, -0.049709305, 0.13406959, 0.055033628, -0.11243884, -0.18540126, 0.04862983, -0.13387235, -0.13529298, -0.096242204, 0.16761206, -0.032110162, 0.24142851) * go_3(1.0, 1.0); - result += mat4(-0.21116647, 0.058380276, 0.080453075, -0.2679615, -0.28600135, 0.042669408, 0.17540424, -0.14219923, 0.017092299, 0.05328859, 0.0065248194, 0.02395608, 0.05216899, 0.12829328, -0.116384834, -0.2828383) * go_4(-1.0, -1.0); - result += mat4(0.009241691, 0.10957236, -0.22526564, 0.2957556, -0.025253482, -0.08254481, 0.09223265, -0.051697835, -0.071490794, 0.094247855, -0.32692534, -0.12678702, 0.052934665, -0.050429285, -0.18388982, -0.039230555) * go_4(-1.0, 0.0); - result += mat4(-0.16137493, -0.04317478, 0.11681715, 0.16198912, -0.048432272, -0.22682366, -0.01725331, -0.04194597, 0.03203572, -0.16799524, 0.4784258, 0.086616606, 0.0017708768, -0.049688417, 0.064586475, -0.057059586) * go_4(-1.0, 1.0); - result += mat4(-0.11059055, 0.0029538488, 0.038545247, 0.066895224, 0.011218007, -0.003137218, 0.021355668, -0.168016, -0.0026601932, -0.14172328, 0.51700294, -0.33690482, -0.18839404, 0.07191177, -0.05362303, 0.20618927) * go_4(0.0, -1.0); - result += mat4(-0.24159928, -0.1053597, -0.28113043, 0.007160803, -0.0974629, 0.020222154, 0.050444435, -0.11046227, 0.24656764, -0.24290104, -0.53290504, 0.07402318, -0.015612266, 0.123455755, 0.018084416, -0.019945476) * go_4(0.0, 0.0); - result += mat4(0.09311286, -0.1032696, 0.19615465, 0.04846074, 0.029715529, 0.012683276, -0.38939312, -0.15030165, 0.0103463745, -0.3906085, -0.5047903, -0.1061866, 0.20654117, 0.32689643, 0.0086037805, -0.0681904) * go_4(0.0, 1.0); - result += mat4(0.18691367, -0.046374205, -0.05107187, -0.017465474, 0.11804314, 0.090009406, -0.075490244, 0.0036797172, -0.09327475, 0.18428694, -0.17598015, -0.076990046, 0.03992913, -0.116993815, -0.24077141, -0.48880583) * go_4(1.0, -1.0); - result += mat4(-0.0056006587, 0.104048744, 0.19665402, 0.0032775581, 0.15130368, 0.04196182, 0.050959308, 0.02474336, 0.036360126, 0.2724413, 0.35197738, 0.04588593, -0.24590112, -0.08575977, 0.18552561, 0.16555585) * go_4(1.0, 0.0); - result += mat4(0.09420384, -0.113198765, -0.13239664, 0.019001532, -0.0027163615, 0.078038216, 0.09880948, 0.15455763, -0.028529879, 0.20345445, 0.27439958, -0.094165966, -0.10702775, -0.18507981, -0.10240351, -0.02831745) * go_4(1.0, 1.0); - result += mat4(-0.05168434, 0.20330708, 0.10572813, 0.26246095, 0.021435333, -0.10574623, -0.1401922, 0.42713496, -0.030233249, 0.043342397, 0.11101976, 0.032030135, -0.12287885, 0.006734168, 0.024990475, -0.05208304) * go_5(-1.0, -1.0); - result += mat4(0.15237613, -0.15887943, -0.12718262, -0.06986501, 0.03136358, -0.0035889314, 0.2054987, -0.14852847, -0.22284113, -0.3410994, -0.2125513, 0.04496407, 0.094411716, -0.16842332, -0.25714603, 0.08910682) * go_5(-1.0, 0.0); - result += mat4(-0.19709085, -0.10590203, 0.07929334, 0.09949157, -0.0808941, 0.17018095, -0.09984616, -0.03477169, 0.11511119, 0.016829535, 0.05470175, 0.000366129, -0.07609101, -0.10981034, -0.14416353, -0.012299061) * go_5(-1.0, 1.0); - result += mat4(-0.12151653, -0.017303294, 0.055218883, 0.048941534, 0.1476368, 0.31801772, 0.68790305, 0.13284543, 0.11992122, -0.2362068, 0.20126005, 0.14724149, 0.01645638, 0.05896895, -0.30263412, 0.12367781) * go_5(0.0, -1.0); - result += mat4(0.19272023, 0.09102746, 0.31454524, -0.27032062, 0.2674956, 0.040032856, -0.670905, -0.12510742, -0.02879305, 0.34733048, 0.055205155, -0.22118829, 0.18704127, -0.27267426, 0.59989405, -0.14810604) * go_5(0.0, 0.0); - result += mat4(0.025540218, -0.07248532, -0.15664534, -0.19372375, 0.03556883, 0.03597721, -0.14901096, 0.27721658, -0.010668913, -0.29144233, 0.11746931, -0.13459797, 0.005971381, -0.08445966, 0.14954261, -0.11475002) * go_5(0.0, 1.0); - result += mat4(0.08029168, -0.061888658, -0.14104845, -0.06396443, 0.15312983, -0.2487142, -0.26357505, -0.049171742, 0.11320337, -0.055089038, -0.145923, -0.44234648, 0.03747512, 0.09540022, -0.20250735, 0.03820108) * go_5(1.0, -1.0); - result += mat4(-0.0191974, -0.05480732, -0.1930927, 0.01147343, -0.15684529, 0.28367257, -0.15252224, 0.45261058, 0.13849851, 0.08685002, -0.33513635, -0.14976694, 0.07475008, 0.01998271, 0.066315226, -0.13143158) * go_5(1.0, 0.0); - result += mat4(0.07728802, 0.14218356, 0.0850198, 0.09061631, -0.27746883, -0.18180014, 0.52573866, 0.19462089, 0.015337635, -0.3014013, 0.13493168, -0.055304635, 0.07148734, 0.10548237, 0.034149908, -0.12699014) * go_5(1.0, 1.0); - result += vec4(-0.117853574, 0.036960166, -0.0057268855, -0.032133963); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04775777, 0.08222661, 0.061593954, 0.12055235, 0.008962983, -0.009267361, -0.53843796, 0.16952439, 0.016025536, 0.10542892, -0.042894494, 0.057321973, -0.055204723, -0.06992498, -0.00064485346, 0.007825405) * go_0(-1.0, -1.0); - result += mat4(-0.09411942, -0.23469426, 0.35026586, -0.22138432, 0.045611277, -0.20210607, -0.24638987, 0.22675677, -0.14620386, 0.04001241, 0.06581148, -0.18093623, 0.08063868, 0.16085242, -0.28524494, -0.04407303) * go_0(-1.0, 0.0); - result += mat4(0.016880078, 0.10823597, -0.0856685, 0.1394186, -0.035895467, 0.13400109, 0.08679763, 0.11814033, 0.06898399, 0.01606696, 0.01784015, 0.006547478, -0.042100497, 0.039176684, -0.09559512, -0.19490835) * go_0(-1.0, 1.0); - result += mat4(-0.10115389, -0.11022993, -0.004623271, 0.12206448, -0.040075306, 0.013587107, -0.059400085, 0.18945488, -0.009945642, -0.4523725, 0.20760842, -0.3546684, 0.10930277, 0.14101993, 0.17574343, 0.005993813) * go_0(0.0, -1.0); - result += mat4(-0.31806734, 0.31059268, 0.0034255723, -0.23206042, 0.26745492, 0.19362858, 0.12183108, 0.29931548, 0.09186783, 0.4084161, 0.04199913, -0.23650031, -0.14427313, -0.036473513, 0.11935153, 0.113769025) * go_0(0.0, 0.0); - result += mat4(0.20892154, -0.08097856, -0.20722318, -0.18344022, -0.05412969, 0.16550343, 0.12085539, 0.10199144, 0.112941146, 0.08606901, -0.036151443, -0.036627453, -0.12987532, -0.28756067, -0.06838574, -0.23512506) * go_0(0.0, 1.0); - result += mat4(-0.052661214, -0.104233526, -0.08693217, -0.1819736, -0.052437317, -0.15960887, 0.056683555, -0.040860362, -0.13381086, 0.13378991, -0.073331766, 0.047169458, -0.0479799, -0.0043481477, 0.0048899767, 0.019455308) * go_0(1.0, -1.0); - result += mat4(-0.13005687, 0.11126603, 0.09237425, 0.07877169, -0.042795215, -0.0542181, -0.056731407, 0.08586777, 0.08175868, -0.019688416, -0.104517676, 0.16199689, 0.0044128234, 0.0475487, 0.12852396, 0.024199896) * go_0(1.0, 0.0); - result += mat4(0.16616863, -0.16998464, -0.19154428, -0.09432494, -0.037008844, -0.12210065, 0.0055908067, 0.010815051, 0.17710204, -0.12695597, -0.110427454, 0.13080561, 0.09322074, -0.0012365612, 0.026606066, -0.10843771) * go_0(1.0, 1.0); - result += mat4(-0.47415322, -0.07343328, -0.041209448, 0.08565837, -0.17691295, -0.26137534, 0.2907085, 0.0946057, -0.10768325, -0.10086646, 0.13768727, -0.1253546, 0.12256107, 0.092663676, 0.006136057, 0.10492505) * go_1(-1.0, -1.0); - result += mat4(-0.36130214, 0.31970572, 0.01609707, 0.12488642, 0.09801414, 0.18358822, 0.08739752, 0.031744014, -0.07303357, -0.06802441, -0.05988708, -0.26767713, 0.08153729, 0.24952291, 0.12436414, -0.0748625) * go_1(-1.0, 0.0); - result += mat4(-0.09533404, -0.14277202, 0.0020947633, 0.1547468, -0.009082152, 0.025103271, 0.032984417, -0.120028794, -0.045810502, -0.2012922, -0.02991531, -0.13404511, 0.08140658, 0.064424135, 0.104641765, 0.067367226) * go_1(-1.0, 1.0); - result += mat4(0.053343832, -0.16905542, -0.05830104, -0.106561475, -0.078095205, -0.054910798, 0.061377183, 0.1524315, -0.16384287, -0.019450802, 0.13370255, -0.05160498, 0.15796599, 0.17254125, -0.12769255, 0.15248339) * go_1(0.0, -1.0); - result += mat4(-0.050160643, 0.005053776, -0.031104388, 0.09726363, -0.07693938, 0.102812484, -0.0756477, -0.048515156, 0.29591817, 0.35934618, 0.23326933, -0.23171274, -0.30232304, -0.43113515, -0.14196996, 0.28424993) * go_1(0.0, 0.0); - result += mat4(-0.10621949, -0.4280808, -0.08031358, -0.15168424, 0.26016018, 0.3142917, -0.11831494, -0.09303453, 0.10852745, -0.24068268, -0.037653822, -0.104800984, 0.0067478805, 0.14183025, -0.02230052, 0.2649731) * go_1(0.0, 1.0); - result += mat4(0.028874233, 0.12075906, 0.059678186, -9.616167e-05, -0.11149614, 0.122945406, -0.0767243, -0.040111836, 0.0735182, 0.21608177, 0.07806742, 0.0202061, -0.04776724, -0.11418923, -0.07523717, -0.12865649) * go_1(1.0, -1.0); - result += mat4(0.13507326, 0.06364227, 0.09873092, 0.038835276, 0.053677257, -0.036088385, -0.09081554, 0.02088773, 0.12252468, 0.15228558, 0.20928514, 0.09626035, -0.092850804, 0.12056272, -0.12500086, 0.14586885) * go_1(1.0, 0.0); - result += mat4(0.05855229, 0.11076543, 0.0058000707, -0.05286595, 0.06674972, -0.1913259, -0.04221818, 0.02681795, 0.18707529, -0.014904326, -0.1690741, 0.010544146, -0.07513052, -0.010648717, 0.15841635, 0.017503424) * go_1(1.0, 1.0); - result += mat4(0.09306208, -0.6048318, -0.16323692, -0.26322865, -0.064382344, 0.27984452, 0.0035378935, -0.0036242867, -0.08108908, 0.03801275, 0.09272382, 0.04653927, -0.09639203, 0.15146226, -0.022994163, -0.023005866) * go_2(-1.0, -1.0); - result += mat4(0.03692586, -0.1367785, -0.051587723, 0.35746527, -0.05847086, -0.28233027, -0.31080168, 0.08979567, -0.057873387, -0.11724922, 0.11995725, -0.076051556, 0.12823316, 0.20808434, -0.07491586, -0.04471266) * go_2(-1.0, 0.0); - result += mat4(0.17172146, -0.05962528, 0.10311508, -0.083008684, 0.017513666, 0.22941439, 0.08524968, -0.10340499, 0.047763754, 0.044772595, -0.087630406, -0.03647204, -0.043207247, -0.063256174, 0.14618406, 0.016736707) * go_2(-1.0, 1.0); - result += mat4(0.014591894, -0.16730154, 0.019834492, -0.2323314, 0.2671534, -0.14437476, -0.10937011, -0.10888569, -0.16981846, -0.02661075, 0.011989267, 0.06811342, 0.084967375, 0.22203213, 0.05655957, -0.047086637) * go_2(0.0, -1.0); - result += mat4(-0.5673005, -0.54090023, 0.03939861, 0.008678989, -0.06290456, 0.2747319, -0.09248065, -0.06692429, -0.029515319, 0.08507081, -0.06997918, 0.16636486, 0.04376864, -0.606549, -0.16454232, 0.0572748) * go_2(0.0, 0.0); - result += mat4(-0.048000906, 0.3200884, -0.23506963, 0.15561248, -0.06658933, 0.18984286, 0.018985203, -0.018811712, 0.107549496, -0.24059664, 0.112164706, -0.14813146, 0.08943945, 0.030038312, 0.01712719, -0.06440537) * go_2(0.0, 1.0); - result += mat4(-0.04633894, 0.06511225, -0.006903819, 0.3651269, -0.05099921, 0.13553265, -0.07041649, 0.051354278, -0.026775079, 0.071171924, -0.10163997, 0.056618143, 0.121235944, 0.04077609, -0.006905747, 0.055543922) * go_2(1.0, -1.0); - result += mat4(-0.1529992, -0.07230882, 0.020437848, -0.15099072, 0.091357104, 0.10063594, 0.048747428, -0.07472622, 0.35976312, 0.110254094, -0.23728304, 0.32811522, 0.05135238, -0.124221064, 0.05848079, 0.0090888655) * go_2(1.0, 0.0); - result += mat4(0.10010241, -0.1336736, -0.0735869, 0.09731084, -0.23581249, -0.13519719, 0.2017027, 0.0660746, 0.073186494, 0.0008078537, 0.052478943, 0.031610224, 0.094252445, 0.14641911, -0.0314029, -0.070713595) * go_2(1.0, 1.0); - result += mat4(-0.001959657, -0.090372644, -0.1899317, -0.18170601, -0.015885344, -0.016746698, -0.17908786, 0.12600435, 0.13394068, -0.45021582, -0.059900366, -0.045920644, 0.0831188, 0.07898813, -0.058199428, 0.010207674) * go_3(-1.0, -1.0); - result += mat4(0.10158406, 0.34609744, -0.4304491, -0.039079092, -0.053127635, 0.32419643, 0.16021784, -0.02009982, 0.22342832, 0.25363946, -0.10637694, 0.084691174, 0.1643795, -0.11600526, 0.048834067, 0.007816396) * go_3(-1.0, 0.0); - result += mat4(-0.030290471, -0.12146855, -0.098269686, -0.14657338, 0.024690658, -0.059267156, -0.04505794, -0.0884074, -0.048493493, -0.07872248, 0.024751894, 0.021942955, 0.026951233, -0.05689244, 0.1141836, 0.086177684) * go_3(-1.0, 1.0); - result += mat4(-0.024428055, 0.1539053, 0.035455618, -0.11955061, -0.32286185, -0.046298236, -0.29223973, 0.3565024, 0.19302315, -0.35743472, -0.108984865, -0.041046027, -0.0797479, -0.11923923, -0.11282003, 0.048069157) * go_3(0.0, -1.0); - result += mat4(-0.0021274649, -0.24638395, -0.051017568, 0.07722604, -0.13842508, -0.14636074, -0.09374905, 0.08258244, -0.09629832, 0.16782042, 0.036874052, -0.0015951502, 0.036216017, 0.09414314, -0.066247694, -0.051199514) * go_3(0.0, 0.0); - result += mat4(-0.20425437, -0.08040027, -0.1613387, 0.06440151, 0.029663296, -0.20683208, -0.058772508, -0.0026178176, -0.15718235, -0.14013653, 0.005723365, 0.09514025, 0.07905292, 0.188446, 0.16387165, 0.1911544) * go_3(0.0, 1.0); - result += mat4(0.07689394, 0.18216269, -0.02506441, 0.21607292, 0.14311059, 0.06318058, -0.081483, 0.28077206, 0.03948571, 0.17749293, 0.04567801, -0.07832511, 0.057806063, -0.0427108, 0.06306852, 0.0066801202) * go_3(1.0, -1.0); - result += mat4(0.04399039, -0.07077558, -0.0015600047, -0.118459396, 0.060310606, 0.13951941, 0.2013669, -0.021006014, -0.15264805, 0.26732397, 0.035647463, -0.002574387, -0.065619715, -0.05531379, -0.048837233, -0.059936836) * go_3(1.0, 0.0); - result += mat4(-0.05266133, 0.1071349, -0.053710256, -0.016416542, 0.022659063, -0.029553248, 0.09507555, 0.028677419, -0.20630527, 0.0651505, 0.077009074, -0.096268155, -0.14078818, 0.032669708, -0.01846629, 0.028775593) * go_3(1.0, 1.0); - result += mat4(-0.30971712, 0.19178517, 0.10254193, -0.12659942, 0.17826228, -0.26435316, -0.16852173, 0.04514394, 0.08112456, 0.11184146, -0.028571317, -0.030222327, 0.026687294, 0.17175198, 0.017020982, 0.0100025395) * go_4(-1.0, -1.0); - result += mat4(-0.1281852, -0.13685723, 0.046906084, -0.09659713, -0.02647301, 0.08286363, -0.19404687, -0.019731732, 0.12224579, -0.20480815, 0.08022694, 0.024619367, -0.040805798, -0.06307641, 0.07815454, 0.007009711) * go_4(-1.0, 0.0); - result += mat4(-0.036796696, 0.118744195, 0.020730056, -0.12533775, 0.018716114, 0.0073301513, 0.036968995, 0.009758767, 0.124895856, 0.105648, 0.1285451, 0.14944635, -0.22190575, -0.13435498, -0.07461175, -0.055744182) * go_4(-1.0, 1.0); - result += mat4(-0.41541776, 0.20976903, 0.089350834, 0.26153743, 0.050798908, 0.14616759, -0.06876315, -0.095800444, 0.21727456, -0.0044885483, -0.14532812, -0.03674323, -0.263549, 0.021403335, 0.090946734, 0.13801022) * go_4(0.0, -1.0); - result += mat4(-0.20373783, 0.23166335, 0.12597165, -0.041975934, -0.10023279, -0.08657454, 0.16618101, 0.079674155, 0.018388273, -0.5596407, -0.04870662, -0.23710895, 0.18640874, 0.57623607, -0.02575096, 0.28287143) * go_4(0.0, 0.0); - result += mat4(0.1625267, 0.343577, -0.04365838, 0.052335635, -0.2559281, -0.27649525, 0.13431759, 0.03831019, -0.03469164, 0.12000331, 0.073944256, -0.0061821216, 0.012677158, -0.1627391, 0.06749103, -0.20975526) * go_4(0.0, 1.0); - result += mat4(-0.05379292, -0.10857011, 0.008266894, -0.012603182, 0.04662801, -0.070871636, 0.084626876, 0.16364849, -0.06294956, -0.06461058, -0.063480906, -0.044693593, 0.1537702, 0.079038486, 0.10722227, 0.16421016) * go_4(1.0, -1.0); - result += mat4(-0.13676143, -0.117330894, -0.03341758, 0.052417997, -0.069416024, -0.005539735, 0.027587742, -0.01569091, 0.031894185, 0.019352077, -0.14948286, -0.09691313, -0.10240472, -0.06529738, 0.20694919, 0.04939535) * go_4(1.0, 0.0); - result += mat4(-0.046459045, -0.2141496, -0.0023247367, 0.05856765, 0.0020768675, 0.19858378, 0.03415911, -0.021161001, -0.09474892, 0.09751605, 0.24057122, -0.085236825, 0.17543921, -0.09822015, -0.15396087, 0.024678698) * go_4(1.0, 1.0); - result += mat4(0.040772438, -0.025752101, -0.03428472, 0.061078012, -0.1637086, 0.019983971, -0.018367078, -0.08065508, -0.025617149, -0.041705422, -0.02537782, 0.103540875, 0.13783963, -0.056066163, 0.028678486, -0.025464006) * go_5(-1.0, -1.0); - result += mat4(0.16858733, -0.4178858, -0.30253845, -0.11040479, 0.0029255438, 0.44697702, 0.03196007, -0.02552841, 0.126962, -0.009455916, -0.04901387, 0.04048729, -0.07694209, -0.21343406, 0.02947534, -0.11690606) * go_5(-1.0, 0.0); - result += mat4(-0.15951762, 0.34968317, 0.08819681, 0.15680845, -0.072727524, -0.26647118, -0.253673, 0.058939222, 0.05429744, 0.003959121, 0.051335268, -0.030295422, -0.0600908, 0.030300785, -0.13709414, -0.050647613) * go_5(-1.0, 1.0); - result += mat4(0.031981096, 0.056341853, 0.006849355, 0.10382841, -0.2824565, 0.4246147, -0.057729505, 0.058494158, 0.39074966, -0.017238816, -0.15450741, 0.087315544, -0.1110259, -0.1719534, -0.053078342, 0.009343979) * go_5(0.0, -1.0); - result += mat4(-0.041215084, 0.2654432, 0.1962931, 0.16274457, -0.08469727, -0.28789485, 0.05036308, -0.085442595, 0.12922712, -0.20311458, 0.38513032, -0.067850955, -0.025917724, 0.5953373, 0.12789808, 0.04950751) * go_5(0.0, 0.0); - result += mat4(-0.08700668, -0.2649261, -0.095573485, -0.07602774, 0.04200743, -0.23400396, -0.186786, -0.123978846, 0.022072228, 0.18627988, -0.0038654353, 0.18318067, 0.034251608, -0.008562812, -0.035015855, -0.043611784) * go_5(0.0, 1.0); - result += mat4(0.10827922, -0.03552119, 0.06193929, -0.18593708, 0.047373053, -0.2638056, 0.10326646, -0.040205717, 0.24228886, -0.0551458, 0.15253973, -0.215037, -0.07719752, -0.09540623, 0.028147982, -0.06663598) * go_5(1.0, -1.0); - result += mat4(0.033009805, -0.044830184, 0.050585333, 0.07272593, -0.057132445, -0.30405456, -0.14489187, 0.015766555, -0.096756496, -0.13879722, 0.16658057, -0.0430357, -0.06502151, 0.05498304, -0.10471709, 0.10994919) * go_5(1.0, 0.0); - result += mat4(-0.07091344, -0.01140124, -0.020643137, -0.067839414, -0.019193463, 0.07130566, -0.024614796, -0.09281402, -0.14832619, 0.18952662, 0.14351283, 0.11984917, 0.0012140581, -0.18912585, 0.07516603, -0.049291328) * go_5(1.0, 1.0); - result += vec4(0.06651301, -0.00047524707, 0.04855725, -0.15500803); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.046912298, 0.12213301, -0.05918361, 0.052398715, 0.117780685, -0.19340032, -0.26262107, 0.09843582, 0.16532594, 0.034989428, 0.118674256, -0.01665863, 0.01827071, 0.04668548, 0.022670027, -0.06799) * go_0(-1.0, -1.0); - result += mat4(-0.40916896, 0.3377319, 0.029743252, 0.11290685, -0.07931422, -0.28883788, 0.3388208, -0.14807604, -0.33062622, 0.07752993, 0.049297906, -0.05600763, -0.14054057, 0.023377405, -0.0025995467, -0.14438824) * go_0(-1.0, 0.0); - result += mat4(0.07433483, -0.20579776, 0.03441041, -0.039957307, 0.04162799, 0.07110215, -0.0790704, 0.08862456, 0.01354682, 0.008087094, -0.07781531, -0.0068795225, -0.27620977, 0.09188319, -0.0017635573, -0.057698507) * go_0(-1.0, 1.0); - result += mat4(-0.18007079, 0.061591875, -0.06492421, 0.039863963, 0.09325244, -0.14426552, -0.13588732, 0.004743928, 0.12880403, 0.115125105, -0.01579009, -0.1262388, 0.23080756, 0.12070204, 0.11815605, -0.29426062) * go_0(0.0, -1.0); - result += mat4(0.1900564, 0.0071030534, 0.15973419, -0.30519736, -0.25476542, 0.0012610232, 0.09859447, -0.027793204, 0.11796082, 0.22148512, -0.02944728, -0.2323803, -0.072938465, 0.17895398, -0.2180017, 0.00051390607) * go_0(0.0, 0.0); - result += mat4(0.14343776, -0.18127762, -0.1516819, -0.18503034, 0.13295251, 0.16055906, 0.001688556, 0.15969595, 0.069709465, -0.096013926, -0.0023911218, -0.06369028, -0.0918679, 0.010184961, 0.32301244, -0.5343658) * go_0(0.0, 1.0); - result += mat4(-0.22987153, 0.013441173, -0.0016071151, 0.04102444, 0.23534702, 0.035319816, 0.0796226, 0.030342614, 0.111898474, 0.16501214, 0.06689771, 0.115711525, -0.12146473, 0.09451704, 0.019306619, 0.047459804) * go_0(1.0, -1.0); - result += mat4(0.09487664, -0.1618273, -0.008389976, -0.19419155, -0.26922193, -0.02975308, -0.0045531704, 0.05960872, -0.0601089, -0.14437221, 0.04238319, 0.15810688, -0.13148667, -0.15829994, -0.088278085, -0.21758209) * go_0(1.0, 0.0); - result += mat4(-0.14536136, -0.07484773, 0.037670642, 0.1888735, 0.0018068363, -0.059262045, -0.018976264, 0.027972398, -0.14075996, -0.109049946, -0.25289303, -0.016418003, -0.06421179, -0.15405136, -0.13614438, -0.20679462) * go_0(1.0, 1.0); - result += mat4(-0.24795865, -0.13466923, 0.1273892, 0.091988094, 0.22714299, 0.28389248, 0.10408641, -0.03565174, 0.10762112, 0.27623466, 0.025095293, -0.019155044, 0.022266177, -0.103916764, 0.02987535, -0.08026279) * go_1(-1.0, -1.0); - result += mat4(-0.10837975, -0.21041337, 0.38324556, 0.34692577, -0.049697887, 0.1109414, 0.015196173, -0.13062784, -0.110540874, 0.085793406, 0.12470218, -0.034204576, 0.15388155, -0.10489124, -0.014710256, -0.024052056) * go_1(-1.0, 0.0); - result += mat4(0.14277099, -0.08891012, 0.12166876, 0.005790089, 0.0022349167, -0.06719074, 0.0009688607, -0.06891284, -0.10870797, 0.031759914, 0.07620448, 0.025514454, 0.07622103, -0.017910544, -0.1925603, -0.020678718) * go_1(-1.0, 1.0); - result += mat4(0.3488881, -0.3531885, -0.02848998, -0.105604745, 0.13216074, 0.059472002, 0.00468112, -0.003199541, -0.13952927, 0.12537865, 0.059789866, 0.047229134, 0.062295817, -0.20364402, -0.10756547, 0.010344998) * go_1(0.0, -1.0); - result += mat4(0.054537307, 0.003383981, -0.14703383, 0.23609836, 0.071702175, -0.03523012, -0.15024048, -0.15333411, -0.006573282, -0.17805523, 0.027630433, -0.10086782, -0.038341325, 0.16954458, -0.06587281, 0.061757658) * go_1(0.0, 0.0); - result += mat4(-0.14850424, -0.039801933, 0.091273226, 0.01890946, -0.074723765, -0.19870473, -0.10696538, 0.075856574, 0.18456846, -0.0575884, -0.19248867, 0.23468357, -0.06493671, 0.24994756, 0.2669619, -0.09178425) * go_1(0.0, 1.0); - result += mat4(0.05370938, -0.17381185, -0.06286066, -0.1121635, -0.124206446, 0.08903896, 0.01332919, 0.033238333, 0.10354104, 0.05441239, 0.093867265, -0.09941308, -0.13401549, -0.051170647, -0.05475329, 0.18579331) * go_1(1.0, -1.0); - result += mat4(0.17690988, 0.09592665, 0.0041792435, -0.012296416, -0.043736733, -0.19874738, -0.039244816, 0.093517475, 0.19160083, 0.0072470056, 0.20383999, -0.1518599, -0.056091193, -0.08362639, -0.13275301, 0.27358964) * go_1(1.0, 0.0); - result += mat4(0.03788787, 0.0504576, 0.011746947, -0.050620113, -0.13353047, 0.027618041, -0.015241799, 0.07525403, -0.016854452, -0.15185213, -0.23187985, 0.07745663, 0.019076057, 0.10091556, 0.22063738, -0.19460426) * go_1(1.0, 1.0); - result += mat4(0.4485975, -0.036630977, 0.08908842, -0.041333213, -0.33832982, -0.013137168, -0.12192155, 0.084681444, 0.05839531, 0.13613869, 0.01453744, -0.0015414358, 0.0554445, -0.0350119, 0.06942154, -0.09860217) * go_2(-1.0, -1.0); - result += mat4(-0.6445962, -0.04228771, 0.018886134, 0.19037853, 0.18697917, 0.08801122, 0.023849122, 0.00056543655, -0.1744559, -0.039909426, -0.015196202, 0.09911629, -0.19838926, -0.20182554, 0.030066699, -0.061113726) * go_2(-1.0, 0.0); - result += mat4(-0.28461948, -0.08841962, -0.03426622, 0.22100773, 0.10822605, 0.097787164, -0.035841815, 0.05503456, -0.038095083, -0.033080425, 0.059760638, -0.04379428, 0.016105307, 0.0015185064, -0.021058328, 0.07868167) * go_2(-1.0, 1.0); - result += mat4(-0.09884352, 0.226838, 0.0069547887, -0.31872275, 0.051640913, -0.103925325, -0.033120554, -0.19772157, -0.33196652, 0.10513085, 0.008538118, -0.0693001, 0.3184994, -0.073985405, 0.0021704638, -0.20955746) * go_2(0.0, -1.0); - result += mat4(0.09394457, -0.37714124, -0.45972842, 0.11636775, 0.15764596, 0.14252996, -0.16795024, 0.04769986, 0.31756726, -0.0994127, 0.36237487, -0.12276988, 0.062678345, 0.11386392, -0.18050511, -0.029450653) * go_2(0.0, 0.0); - result += mat4(0.10891149, 0.23599482, 0.19260155, -0.01750993, -0.04561139, 0.040145233, 0.11951016, 0.008283346, -0.060648404, -0.1730897, -0.011636677, -0.2882733, 0.03563051, 0.15347542, -0.21334615, 0.17908043) * go_2(0.0, 1.0); - result += mat4(-0.04223735, -0.106301874, 0.101336, 0.047846835, -0.1828391, -0.1129037, -0.034007143, 0.106865816, 0.05654089, -0.02757468, -0.012872868, 0.07485427, 0.086521536, -0.009762037, 0.08281756, -0.015632132) * go_2(1.0, -1.0); - result += mat4(-0.2240338, 0.031013511, -0.09923691, -0.0038778447, -0.058668714, -0.01593757, 0.05261272, -0.016138611, -0.0143839605, 0.023330573, 0.024790224, 0.09925016, -0.08682536, 0.11822586, -0.055234805, -0.32288945) * go_2(1.0, 0.0); - result += mat4(0.27888787, -0.0025142857, -0.17712368, -0.067581266, 0.10133261, 0.1115825, 0.015883798, -0.24481313, -0.10126581, 0.06092374, -0.0786993, 0.16768995, 0.053283595, 0.08446579, -0.032040086, 0.046178747) * go_2(1.0, 1.0); - result += mat4(-0.04943332, -0.027568894, -0.017933179, -0.13208579, 0.16813855, -0.06046279, 0.03472982, 0.24612981, -0.03915912, -0.120075725, -0.08060205, 0.106469646, 0.103227176, 0.000895164, -0.028227922, -0.059619144) * go_3(-1.0, -1.0); - result += mat4(0.10014512, -0.11341153, 0.0827132, -0.10706114, 0.076696716, 0.383278, -0.08201294, 0.14486443, 0.036368996, -0.07771363, 0.008495598, 0.0022753903, -0.13788359, -0.038493663, -0.051340178, 0.06483918) * go_3(-1.0, 0.0); - result += mat4(0.12283316, 0.22500943, -0.20364822, 0.117888406, 0.052540295, -0.016513767, -0.008835836, -0.008336872, 0.008117048, -0.014924188, 0.070445575, -0.011796183, 0.120677724, -0.08490536, -0.040835287, 0.021124307) * go_3(-1.0, 1.0); - result += mat4(0.07237057, -0.07651541, -0.07781679, -0.046119276, -0.29511476, -0.15473935, 0.12942854, -0.037749447, 0.055873062, 0.081330314, -0.115750924, -0.1830763, -0.35462645, -0.11207306, -0.14393376, 0.18869524) * go_3(0.0, -1.0); - result += mat4(-0.05859993, 0.09575829, -0.10934191, 0.1593984, 0.014064624, 0.23580766, -0.12417294, -0.0774491, -0.23603149, -0.17111291, 0.20246223, 0.24380091, 0.3189054, -0.21762544, 0.053053148, -0.057418585) * go_3(0.0, 0.0); - result += mat4(0.056782614, 0.2491224, 0.15162024, 0.25830385, -0.045144927, -0.067923054, -0.12930688, -0.049425337, 0.0071653076, 0.046733644, -0.013108831, 0.09266598, 0.095575206, 0.08086839, -0.14152451, 0.26396653) * go_3(0.0, 1.0); - result += mat4(0.079944104, -0.05263471, 0.021151286, 0.017748618, -0.20886436, -0.06915706, -0.078341156, -0.034786303, 0.053623807, -0.0655836, -0.11273695, -0.15438432, 0.06902305, 0.01620085, -0.011239084, -0.12818597) * go_3(1.0, -1.0); - result += mat4(0.0032226495, 0.12590717, -0.0031638641, 0.14866307, 0.21612068, 0.07715579, -0.105438486, -0.17400137, 0.04665547, 0.18666393, -0.127797, -0.19163142, -0.03993708, 0.16110541, 0.05756885, 0.13376385) * go_3(1.0, 0.0); - result += mat4(0.1687002, 0.021816095, -0.038648866, -0.052668236, 0.01839634, 0.07918797, -0.002949174, -0.062981784, 0.10759527, 0.096810766, 0.26538077, 0.042877536, 0.030417666, 0.2126483, 0.090904295, 0.12819949) * go_3(1.0, 1.0); - result += mat4(0.2518047, -0.06681589, 0.04622388, -0.070787035, -0.15511023, -0.41387925, -0.1730613, 0.044104673, -0.07129825, -0.16490258, -0.008386942, 0.016624527, -0.08768237, -0.018135691, -0.010196062, -0.012061386) * go_4(-1.0, -1.0); - result += mat4(-0.001268586, 0.061798558, 0.21913844, -0.044886224, 0.05442666, -0.16555135, 0.11374653, 0.035642505, 0.18183587, 0.08264069, -0.12153259, 0.11140945, -0.23343492, -0.11151265, 0.0064260047, 0.098349355) * go_4(-1.0, 0.0); - result += mat4(-0.13696936, 0.03562409, -0.0101959305, 0.07757505, 0.0394099, 0.08446535, 0.005326397, 0.06953561, 0.26667434, 0.070835635, -0.013025369, -0.09135739, -0.19930726, -0.15466705, 0.068868525, 0.06432818) * go_4(-1.0, 1.0); - result += mat4(-0.03636396, 0.082273535, 0.14712979, 0.00055138784, -0.29863998, -0.1502358, -0.10165026, -0.031016732, 0.017641982, -0.18515474, -0.13060197, -0.037918076, 0.0948058, 0.12216852, 0.1061389, 0.0049280017) * go_4(0.0, -1.0); - result += mat4(0.0772463, -0.16946481, 0.43130034, -0.07500874, 0.11102152, -0.16219406, 0.095144905, 0.09938664, -0.103036284, 0.17237557, 0.03153515, 0.17011715, 0.04090995, -0.19434042, 0.034989282, -0.10372025) * go_4(0.0, 0.0); - result += mat4(0.17383884, 0.00505153, -0.112281226, -0.034794528, 0.067649566, 0.20247048, 0.11118917, -0.10395416, -0.21711119, 0.032752357, 0.41753212, -0.16500826, 0.2285505, -0.10731952, -0.33513266, 0.17423174) * go_4(0.0, 1.0); - result += mat4(0.13510819, 0.05318901, 0.06842423, 0.111380026, 0.032170407, -0.07004064, -0.004727209, -0.055246145, -0.041120853, -0.066667765, -0.12091067, 0.064465545, 0.30983046, 0.062509745, 0.13394639, -0.2320897) * go_4(1.0, -1.0); - result += mat4(-0.11820305, -0.13822947, 0.042539548, -0.033613026, -0.0246929, 0.22179885, -0.0126101235, -0.12915117, -0.13849965, 0.02132361, -0.08306424, 0.25891247, 0.18283567, 0.031577725, 0.09138907, -0.26405686) * go_4(1.0, 0.0); - result += mat4(-0.0025576213, -0.0058528413, -0.03972553, 0.016412497, 0.13415, 0.11366292, 0.06300578, -0.082534134, 0.035222337, 0.14385511, 0.34487328, -0.069680765, 0.06340447, -0.05378387, -0.27624515, 0.14444257) * go_4(1.0, 1.0); - result += mat4(0.015041839, -0.05496326, -0.077136815, 0.06463054, 0.3453119, 0.1475871, 0.0863952, -0.13123451, 0.13890652, -0.1339041, -0.070329, 0.0090441145, -0.10499933, -0.031464122, -0.087687746, 0.14039505) * go_5(-1.0, -1.0); - result += mat4(0.03533054, -0.17344387, 0.07036492, -0.14549953, -0.17900857, 0.13214236, -0.06371722, 0.08584117, 0.124349214, -0.05172205, 0.0056213615, 0.0025381348, -0.07292916, 0.15549947, -0.12606966, 0.008277057) * go_5(-1.0, 0.0); - result += mat4(0.088395566, 0.16676022, -0.014194714, 0.15820222, -0.12253527, 0.008114694, 0.04552204, -0.0402224, -0.044774655, 0.00047680718, -0.061174177, 0.004499639, 0.0028164221, 0.021954915, 0.007457284, -0.016612154) * go_5(-1.0, 1.0); - result += mat4(0.07245913, -0.12444683, 0.08628018, -0.013259242, -0.00566908, 0.23597822, 0.030804869, 0.1812487, -0.28520152, -0.12640676, -0.014197547, 0.17321649, -0.3233707, 0.015355323, -0.04023063, 0.134901) * go_5(0.0, -1.0); - result += mat4(-0.008877037, 0.11245896, 0.013970579, -0.010476636, 0.046391398, -0.040462412, 0.43888882, -0.0028177807, 0.11008175, 0.22642863, -0.1705455, 0.25688764, -0.00687498, -0.0091281, 0.29534963, -0.023319326) * go_5(0.0, 0.0); - result += mat4(-0.08283213, -0.2042435, -0.117713675, -0.11703066, -0.16029139, -0.26878926, -0.30223095, 0.052414846, 0.019514319, 0.16193534, 0.053438045, 0.13924578, 0.120410524, -0.07575857, 0.19710456, -0.103417814) * go_5(0.0, 1.0); - result += mat4(-0.07692482, 0.034123767, -0.039485577, -0.11130344, 0.18672933, 0.07824195, 0.084815666, -0.1272111, -0.02006524, 0.20917512, -0.01049663, -0.15457591, -0.008278168, 0.08425196, -0.028542537, 0.021139478) * go_5(1.0, -1.0); - result += mat4(0.1287116, 0.08821239, 0.016782869, -0.042757493, -0.06598697, 0.0057867267, 0.0031201676, -0.09951182, -0.17255504, 0.037690736, 0.22092989, -0.14002815, -0.021178395, -0.05137917, -0.0183439, 0.12713785) * go_5(1.0, 0.0); - result += mat4(-0.12517771, 0.001307841, 0.102680914, -0.076987654, -0.063097425, -0.0044313464, -0.15392491, 0.18540211, 0.037581213, 0.0076559735, 0.064688995, -0.09571449, -0.079910435, 0.02357281, 0.102179624, 0.0054658144) * go_5(1.0, 1.0); - result += vec4(-0.062370587, 0.08095664, -0.05361836, 0.18749565); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06917031, -0.09608972, 0.012436778, -0.026526913, 0.06718373, 0.057737235, 0.05510206, -0.103320934, 0.032443568, 0.05391639, -0.051994696, -0.036722053, 0.07307222, 0.030999443, 0.28896815, 0.12696978) * go_0(-1.0, -1.0); - result += mat4(-0.1135206, -0.0036884204, -0.067575626, -0.183155, 0.06799192, -0.040569484, 0.013326, -0.09218988, 0.027661508, 0.026157893, 0.07750759, 0.022186747, 0.034232542, -0.0006357425, -0.22527017, 0.09684553) * go_0(-1.0, 0.0); - result += mat4(-0.02058118, -0.09091551, -0.020349659, 0.026089376, -0.0035277302, -0.025624726, 0.069313295, -0.0885836, 0.03267256, 0.0021243643, -0.02949528, -0.015609551, -0.014725211, -0.067495994, -0.013350565, -0.02226788) * go_0(-1.0, 1.0); - result += mat4(-0.037397973, 0.031443134, 0.13686793, 0.033780698, -0.037809733, 0.14600267, -0.08467033, -0.062086526, -0.0037683318, -0.0025683658, -0.018997764, -0.032396015, 0.0760254, -0.06528604, 0.19034758, 0.25288334) * go_0(0.0, -1.0); - result += mat4(-0.01004077, 0.16253367, 0.02167237, -0.15804967, -0.07540531, -0.49940315, -0.08783108, -0.014712835, -0.0036181745, -0.13094778, 0.00012775385, -0.07735516, 0.00239906, 0.09345624, -0.44146279, 0.079626575) * go_0(0.0, 0.0); - result += mat4(0.018002989, 0.024756921, 0.08182335, -0.083457224, 0.033952054, 0.049469676, 0.06050263, -0.069849506, 0.0052918023, 0.06281211, 0.029289972, -0.033092137, -0.036357265, -0.10439873, 0.0023779173, 0.07888209) * go_0(0.0, 1.0); - result += mat4(-0.01730506, -0.022740714, 0.021063361, 0.082628556, -0.024639448, 0.023705823, -0.092249826, -0.0768989, -0.014783317, 0.0063639064, 0.0041929237, -0.015559529, 0.020817379, 0.065355465, -0.002106009, 0.04489612) * go_0(1.0, -1.0); - result += mat4(0.15640244, -0.016673775, 0.14370853, 0.0632943, -0.38425842, 0.106750414, 0.024923261, -0.31814602, -0.06830921, 0.028625946, 0.13381885, -0.022478523, -0.045712356, -0.045846578, -0.18020678, 0.09754457) * go_0(1.0, 0.0); - result += mat4(-0.08042041, -0.0629804, 0.00179941, 0.031233454, -0.031198358, 0.07125946, 0.13403404, -0.14895652, -0.007848355, 0.0073721707, 0.09500398, 0.008454506, 0.13026032, -0.067450196, -0.005805801, 0.028892282) * go_0(1.0, 1.0); - result += mat4(-0.08412081, 0.014766277, -0.020149631, 0.118712135, -0.04914816, -0.05792105, 0.29227188, 0.026034147, 0.1120047, 0.095002666, 0.00085259863, -0.048058935, 0.059555218, 0.016806047, -0.040286265, -0.013871916) * go_1(-1.0, -1.0); - result += mat4(-0.029837646, -0.12694171, -0.091747016, 0.06701937, 0.03595908, -0.06499107, 0.07718667, 0.16839191, 0.060453057, -0.062339257, 0.06462464, -0.12997168, -0.012287718, 0.021051696, 0.036752645, -0.012775891) * go_1(-1.0, 0.0); - result += mat4(0.020795425, 0.05475492, -0.05951276, -0.089259975, -0.016781978, -0.018492289, 0.037464686, 0.022631813, 0.04591149, -0.028302602, 0.021350577, -0.0019535497, 0.05372676, 0.0542445, -0.12681359, -0.16613637) * go_1(-1.0, 1.0); - result += mat4(-0.06331373, 0.08271697, 0.0863126, -0.12388494, 0.032725193, -0.056309905, 0.23224412, 0.2616971, 0.09393073, 0.117842734, 0.24552049, 0.022186337, -0.100860044, 0.08032638, 0.08049447, -0.09940537) * go_1(0.0, -1.0); - result += mat4(0.3909181, -0.07477156, -0.36466175, -0.17175487, -0.055392284, 0.23718156, -0.34149098, -0.3924147, 0.07390285, -0.028201863, -0.2988869, -0.059178505, -0.035545774, -0.049048856, -0.18053558, -0.15981394) * go_1(0.0, 0.0); - result += mat4(0.12357816, 0.016537879, 0.08740827, -0.16022646, 0.03273305, -0.0133974645, -0.089761056, 0.044843633, -0.08129866, 0.06891703, 0.0075367647, -0.037070137, -0.12439461, -0.0033269753, -0.06834715, 0.08675626) * go_1(0.0, 1.0); - result += mat4(0.0064779734, 0.014426835, 0.035886277, 0.06754253, 0.02203813, -0.04712386, 0.023021698, 0.16410176, -0.0851561, 0.04949104, 0.23652297, -0.09268624, -0.04759872, 0.0015944376, 0.05121314, 0.03872179) * go_1(1.0, -1.0); - result += mat4(-0.03296315, -0.07756158, 0.011254165, 0.07215864, 0.05212682, -0.119309366, -0.10098557, 0.065113194, -0.6075043, 0.0944948, -0.0025391292, 0.07257945, -0.059234653, -0.02663308, -0.0056367065, 0.07748455) * go_1(1.0, 0.0); - result += mat4(0.1963255, -0.094376676, 0.077393346, -0.061023213, -0.023002017, 0.011871082, -0.035235405, -0.14450419, -0.010873058, -0.10108094, -0.026334947, -0.048716616, 0.15553881, -0.056554224, 0.07016727, 0.09666785) * go_1(1.0, 1.0); - result += mat4(-0.045733463, -0.07430657, 0.08238815, -0.123395115, -0.040635027, -0.059792377, 0.04978978, 0.14278086, -0.0541127, -0.10427179, -0.16961274, -0.1371796, -0.0011499986, 0.012152467, -0.0815682, -0.054046102) * go_2(-1.0, -1.0); - result += mat4(0.0727944, 0.052526925, 0.009230718, -0.1476749, -0.09698198, -0.025520593, 0.02144377, 0.16131893, 0.0781747, -0.11812555, -0.035372186, -0.08136449, 0.05059057, 0.038647998, -0.037999127, -0.0015969436) * go_2(-1.0, 0.0); - result += mat4(-0.018785287, 0.03944137, 0.11725696, -0.05008342, -0.10257986, 0.20005476, -0.06610143, 0.06656378, 0.006863046, -0.047056478, -0.093303435, 0.05993721, 0.020760732, 0.019373491, 0.062371906, -0.037439793) * go_2(-1.0, 1.0); - result += mat4(-0.09267274, -0.098096795, 0.13675432, -0.06826833, -0.070104465, 0.099336594, -0.056031886, -0.089224756, -0.024747698, -0.0409895, -0.12682493, -0.2713339, -0.03058857, 0.074631155, 0.10274793, 0.0003064175) * go_2(0.0, -1.0); - result += mat4(-0.22578365, 0.35256356, -0.03433281, -0.16781186, 0.21457422, -0.028583825, 0.1498506, -0.17183648, -0.08763252, 0.12665057, 0.11524475, -0.122246034, 0.253632, -0.4412073, 0.1340533, 0.18091358) * go_2(0.0, 0.0); - result += mat4(-0.021586075, -0.13002236, 0.051525775, 0.018828293, -0.02971698, 0.1655956, -0.03223926, 0.097215585, -0.056743864, -0.029945962, 0.02934507, 0.03346959, 0.0409185, -0.0018111896, 0.04084656, -0.033254143) * go_2(0.0, 1.0); - result += mat4(0.029116312, 0.03399277, 0.05797433, -0.005187739, 0.051238127, 0.00043336756, -0.13381082, -0.11246873, 0.0627832, -0.1257258, 0.14857215, 0.08276562, -0.060543623, 0.066337794, 0.17844212, -0.039553978) * go_2(1.0, -1.0); - result += mat4(0.2723402, -0.08208666, -0.095256135, 0.097162515, -0.14603227, 0.098899886, -0.0382611, -0.13691731, 0.15835975, -0.11403104, 0.12741292, -0.0561908, -0.10390587, 0.1448454, -0.12705886, -0.08887692) * go_2(1.0, 0.0); - result += mat4(-0.07991212, -0.0016143702, -0.12167386, 0.07029745, -0.10117478, 0.02916672, -0.1567343, 0.037017304, 0.051464945, 0.040837154, -0.057838146, -0.043935794, -0.076173924, -0.0036469682, -0.16645731, 0.0867253) * go_2(1.0, 1.0); - result += mat4(-0.11595775, 0.1284538, -0.05438797, 0.0022007078, -0.029448986, -0.07199994, 0.08756202, -0.07034043, -0.025051784, -0.033049546, 0.042392526, -0.06789869, -0.02947519, -0.045615688, -0.04309908, 0.08332548) * go_3(-1.0, -1.0); - result += mat4(0.004717529, -0.103543915, -0.1741877, -0.22649112, -0.11224518, 0.03693626, 0.033321906, -0.10395231, 0.0022406306, 0.0030015993, -0.086861975, -0.08997641, -0.101462744, 0.018904945, 0.30255163, 0.18846805) * go_3(-1.0, 0.0); - result += mat4(-0.025068762, 0.117842294, -0.019883728, -0.30935752, 0.054619815, -0.00034203878, 0.045184523, -0.05716641, -0.0042491746, -0.014026439, 0.032082856, -0.076196544, 0.022468993, -0.03835101, 0.048660267, 0.11286454) * go_3(-1.0, 1.0); - result += mat4(0.02735938, -0.014684669, -0.08023435, 0.026778111, -0.0005380734, -0.11492771, 0.33912078, -0.042256307, 0.014511671, -0.0021652458, -0.032238156, -0.031997375, 0.0039656083, -0.023291625, 0.004515741, -0.08897747) * go_3(0.0, -1.0); - result += mat4(0.19014491, -0.016315972, -0.042010665, 0.09270843, 0.023101632, 0.47071022, 0.17964542, -0.077132106, -0.0037992029, 0.10508138, 0.06516077, -0.062698394, -0.09827762, -0.08044165, 0.04393759, -0.09197626) * go_3(0.0, 0.0); - result += mat4(0.032177076, -0.013111677, 0.074961565, -0.11895858, -0.027409771, -0.0819813, 0.1690814, -0.10718659, -0.011605623, -0.03553455, 0.057705663, 0.015013183, 0.056808244, 0.0005760722, -0.112802945, -0.077581756) * go_3(0.0, 1.0); - result += mat4(-0.05866174, -0.007548838, 0.06423205, 0.1352578, 0.0021120945, 0.038740613, 0.17343003, -0.1917378, -0.0038229288, 0.0017887303, -0.007761856, -0.040798064, 0.014540869, -0.03441534, 0.04668393, 0.03392203) * go_3(1.0, -1.0); - result += mat4(0.108784005, -0.032867312, 0.0037662825, 0.11089765, 0.29503173, -0.08232824, -0.034738302, 0.06927913, 0.013991651, -0.025746813, -0.020098314, -0.06911749, 0.030166877, 0.0090379, 0.009309999, -0.10990043) * go_3(1.0, 0.0); - result += mat4(0.07052432, 0.0040574945, -0.051168878, 0.03484591, 0.07261664, -0.07470608, -0.024008736, -0.021155195, 0.020727258, -0.03774776, -0.07994904, 0.0009939631, -0.06001779, 0.09822139, 0.08215828, -0.20103115) * go_3(1.0, 1.0); - result += mat4(0.04484158, -0.09804021, 0.030515645, 0.14875132, 0.10324463, 0.024846723, -0.067153946, 0.21652295, 0.025289498, -0.02001657, -0.0704581, 0.03809796, 0.022647271, -0.005611969, -0.036561944, -0.113084584) * go_4(-1.0, -1.0); - result += mat4(-0.05300202, 0.021789892, 0.059347153, 0.31309023, -0.051712107, 0.12630393, -0.08832499, 0.051365335, 0.040092044, 0.05133063, 0.0385234, 0.12962072, 0.17568372, -0.0060678395, -0.1781195, -0.14315312) * go_4(-1.0, 0.0); - result += mat4(-0.023102503, -0.0285927, -0.10403815, 0.09859985, -0.02698703, 0.08473415, -0.104872644, 0.05867982, 0.017683612, -0.03389112, 0.0026875678, 0.12684359, -0.009682843, -0.06191043, 0.054384083, -0.06014585) * go_4(-1.0, 1.0); - result += mat4(-0.02089963, -0.052726943, 0.07328917, 0.09252698, -0.027794342, 0.096590534, -0.059459552, -0.016572969, -0.079190515, -0.101752184, -0.21771683, -0.08526713, -0.10136575, -0.19844209, -0.00960798, 0.18323036) * go_4(0.0, -1.0); - result += mat4(-0.12765591, -0.118523166, 0.2949308, 0.3062008, 0.006089219, -0.19795562, 0.10176345, 0.5433496, -0.13549669, 0.18662079, 0.34634838, 0.15632492, -0.3137212, 0.09296755, 0.40942043, 0.35158914) * go_4(0.0, 0.0); - result += mat4(-0.044083003, 0.046661552, -0.29044914, 0.18718201, 0.019889789, -0.038973954, -0.13862126, 0.019615972, 0.06718448, -0.078045554, -0.15514913, 0.20315526, 0.12544951, -0.059773993, 0.011969989, -0.13825978) * go_4(0.0, 1.0); - result += mat4(0.024059854, -0.036478736, -0.06911277, -0.06703136, 0.018607026, 0.03248238, -0.045660738, -0.020493727, 0.07143626, -0.057682987, -0.14735365, -0.050512917, 0.086959876, -0.09022049, 0.17235179, -0.12725815) * go_4(1.0, -1.0); - result += mat4(0.13649525, 0.12862304, -0.17249407, 0.068115726, -0.038493074, 0.05827213, -0.1687499, 0.065070905, 0.27157575, -0.07905134, -0.087201245, -0.08858087, 0.034717344, 0.044884644, 0.08977019, 0.13647328) * go_4(1.0, 0.0); - result += mat4(-0.119835004, -0.02438879, -0.18067439, 0.20293695, 0.015848989, -0.04166136, 0.071957104, 0.124382295, -0.072059005, 0.071483135, -0.13201202, 0.0012418783, -0.10581831, 0.058075972, -0.17210579, 0.004112411) * go_4(1.0, 1.0); - result += mat4(0.00090041093, 0.0011212958, 0.031937573, -0.054099638, -0.017531581, 0.04035068, 0.037017923, 0.0010776994, 0.12191318, -0.007862255, 0.36464828, 0.21806385, 0.049670342, -0.011668101, 0.022543898, -0.025934925) * go_5(-1.0, -1.0); - result += mat4(-0.02645012, 0.02542059, 0.061260298, -0.029378504, 0.086143106, 0.030658819, -0.102650695, -0.10079073, -0.13305493, 0.121691555, 0.17571746, 0.20150271, -0.0353368, 0.13240956, -0.11879112, -0.09438184) * go_5(-1.0, 0.0); - result += mat4(-0.030693492, 0.023771469, -0.058636706, -0.08192801, 0.04515666, -0.18397073, -0.012662945, 0.0027336187, -0.036037542, -0.0677095, -0.030037174, 0.09132202, -0.042739432, 0.0677498, -0.0044881506, -0.08441004) * go_5(-1.0, 1.0); - result += mat4(0.10048813, 0.009793138, -0.041463297, 0.044800177, 0.04865773, -0.013068343, 0.11084613, -0.021099264, -0.16284342, 0.059396107, 0.34094337, -0.00569898, -0.013943217, 0.0776132, -0.2202739, 0.08115887) * go_5(0.0, -1.0); - result += mat4(0.09100969, -0.30055302, 0.027439067, 0.14045873, -0.06795197, 0.02795258, -0.3790362, -0.0782406, -0.044285815, 0.060324147, -0.06306254, 0.048571646, -0.010744797, 0.09238931, -0.30406076, -0.034953397) * go_5(0.0, 0.0); - result += mat4(-0.08555992, 0.30496204, -0.10318121, -0.109611206, 0.009205826, -0.13284884, -0.034745734, 0.116899915, 0.020474067, 0.087303326, -0.15484655, 0.07619201, 0.048834864, 0.09276454, 0.21443385, -0.16547905) * go_5(0.0, 1.0); - result += mat4(0.029452972, -0.029714083, -0.034528464, 0.092740804, 0.059716754, -0.036405306, 0.054758668, 0.20863086, -0.09970437, 0.021823952, -0.057097975, -0.31107625, -0.014428003, -0.055435028, -0.079654545, -0.014873982) * go_5(1.0, -1.0); - result += mat4(-0.30689985, 0.18918608, 0.08052377, 0.013860911, 0.07167599, 0.012683613, 0.09667366, 0.23917674, -0.092894726, 0.12865026, -0.23075777, -0.08828766, -0.19403586, -0.0040206606, 0.25459036, -0.09281851) * go_5(1.0, 0.0); - result += mat4(0.038235266, -0.028659683, 0.009189875, 0.035079453, 0.066741906, -0.09272636, 0.15878148, 0.22836047, 0.024399906, -0.15650764, 0.030108603, -0.02879869, 0.06306548, 0.020737246, 0.17805946, -0.0968242) * go_5(1.0, 1.0); - result += vec4(-5.518393e-05, 0.0062874877, -0.02661609, 0.07653855); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11049855, -0.018907964, 0.10167619, -0.07320527, 0.16380642, 0.042582814, 0.15773618, -0.11309016, 0.030760022, 0.013475277, 0.034111183, -0.10673562, -0.06446281, 0.03170585, 0.065783545, -0.08132259) * go_0(-1.0, -1.0); - result += mat4(-0.10073572, -0.038558394, -0.18257987, 0.09736078, 0.07116485, 0.10689451, 0.037241623, 0.06911952, 0.15752609, 0.025548095, 0.09447296, -0.16955513, 0.015093913, 0.026273884, 0.26519024, -0.3108458) * go_0(-1.0, 0.0); - result += mat4(-0.07013285, 0.012493501, -0.03444474, 0.10600023, 0.031901475, -0.07758261, -0.036816508, -0.008185776, 0.04998539, 0.026604375, 0.08036296, -0.18479921, -0.098254114, 0.009431431, -0.056532584, 0.02986586) * go_0(-1.0, 1.0); - result += mat4(-0.0944328, -0.016084116, 0.057588827, -0.03322943, -0.21524993, -0.0121686235, 0.14730252, -0.23106548, 0.038413823, 0.03569419, 0.14861591, -0.10776637, -0.052853543, -0.019915907, 0.11759964, 0.11250295) * go_0(0.0, -1.0); - result += mat4(0.06219863, 0.04539895, 0.04698554, -0.31864423, -0.012272204, 0.36264813, 0.068282306, 0.2822775, 0.012628343, 0.02692176, 0.09148334, -0.08816395, -0.16482702, -0.06446881, -0.18384305, -0.29771352) * go_0(0.0, 0.0); - result += mat4(0.100148946, -0.09134751, -0.063103884, 0.1403596, -0.016843816, -0.046195876, 0.030014044, -0.004548106, 0.048431028, -0.040574916, 0.014735356, -0.15846166, -0.2263108, 0.13999973, -0.0633166, 0.27665257) * go_0(0.0, 1.0); - result += mat4(-0.12594071, 0.0677989, -0.049229424, -0.15385626, -0.12750685, 0.020224968, 0.072655775, -0.37103048, -0.013367309, 0.017096536, 0.07398892, -0.16839914, 0.006098842, 0.018147936, 0.055607572, 0.0040595555) * go_0(1.0, -1.0); - result += mat4(0.12726252, -0.06711981, 0.11226904, -0.034675833, 0.13163973, 0.09057499, 0.15357189, -0.35910082, 0.0003699172, 0.01971659, -0.041180152, -0.12111229, 0.00043315487, -0.053538464, -0.076018356, 0.042511243) * go_0(1.0, 0.0); - result += mat4(0.14136468, 0.06641704, 0.046442796, -0.025372686, 0.100791246, 0.03306327, 0.07611193, -0.17730577, -0.027955538, -0.0078110253, 0.008712534, -0.087275945, 0.08230878, -0.0052679684, -0.103350714, 0.0865688) * go_0(1.0, 1.0); - result += mat4(0.13361642, -0.039004393, -0.023543444, 0.07136099, -0.12098764, -0.02865035, 0.092850566, -0.082029596, 0.036575377, 0.14037344, 0.09989788, -0.06525852, 0.10002514, -0.026618406, -0.12002266, 0.04573298) * go_1(-1.0, -1.0); - result += mat4(-0.28081807, -0.08057377, -0.06789116, 0.019678107, -0.027069533, -0.016614377, -0.01618704, 0.24995302, -0.052341353, -0.07172657, 0.12574856, 0.1313798, -0.15072265, -0.09125269, 0.16099194, -0.13485655) * go_1(-1.0, 0.0); - result += mat4(-0.19550133, -0.04183744, 0.024049545, -0.09530149, 0.100007616, -0.05702025, -0.013796386, 0.04444768, 0.1344129, 0.0993129, 0.10404407, 0.09173625, 0.012862574, 0.06720736, 0.06611082, -0.055998694) * go_1(-1.0, 1.0); - result += mat4(0.16142978, -0.03735292, -0.043507334, -0.110913426, 0.10257733, -0.041712806, -0.18747051, 0.13936411, 0.020649113, -0.02688488, 0.21794553, -0.0689589, 0.16157758, -0.031158462, 0.13341765, -0.097379625) * go_1(0.0, -1.0); - result += mat4(-0.14022216, 0.15108277, -0.12174897, 0.034505684, -0.28282407, -0.0030200025, 0.06294236, -0.44982272, 0.09119184, 0.02005879, -0.09758412, -0.13265614, -0.21872388, 0.039521, -0.087356746, -0.20212357) * go_1(0.0, 0.0); - result += mat4(0.12638997, 0.5495008, 0.17717126, -0.08970275, 0.018967377, 0.04660826, 0.059454307, 0.17593576, -0.23507589, 0.12473919, -0.08162357, -0.06400482, -0.02973915, 0.009761158, 0.005129572, 0.051037535) * go_1(0.0, 1.0); - result += mat4(0.021429846, -0.034670793, 0.08353943, 0.02352908, 0.05054778, -0.019557012, -0.09459167, 0.2277268, 0.05714867, 0.075109184, 0.060369328, -0.10815987, 0.039977793, -0.058211602, -0.070377484, -0.0347485) * go_1(1.0, -1.0); - result += mat4(0.017368738, -0.015973292, 0.07625957, -0.08961148, 0.047681917, 0.050915856, 0.0910593, -0.0091246255, 0.14573355, 0.052380197, 0.15116148, -0.068882786, -0.0140725635, 0.02823435, -0.1579844, 0.07299422) * go_1(1.0, 0.0); - result += mat4(0.061255533, 0.03280513, 0.060110033, -0.036644097, -0.037236962, -0.026364978, 0.052616216, -0.13499284, 0.05801061, -0.0673201, -0.14684524, 0.23741283, -0.025241269, -0.1356566, -0.05841229, 0.1051435) * go_1(1.0, 1.0); - result += mat4(0.00022173181, 0.0643927, 0.028364835, 0.03683199, -0.031283405, -0.09468918, -0.29093724, 0.15719903, -0.021024697, 0.043887176, 0.0935728, 0.03710646, -0.0015930429, 0.1128033, 0.035463266, -0.017833339) * go_2(-1.0, -1.0); - result += mat4(0.016239017, 0.033160247, -0.0012980856, 0.1643084, -0.068570554, -0.011817288, 0.07238526, 0.09016985, -0.037720326, 0.039096065, 0.18127714, 0.040145792, -0.072754, -0.010240024, 0.003931741, 0.1961971) * go_2(-1.0, 0.0); - result += mat4(0.1582716, 0.059197184, -0.07311528, 0.15047154, 0.11910138, -0.16538778, -0.05161302, -0.13114272, 0.06918401, 0.09988292, -0.009128961, 0.022979198, -0.05816623, -0.0010521389, 0.049138065, 0.025934359) * go_2(-1.0, 1.0); - result += mat4(0.005232625, 0.06572209, 0.08158597, -0.041485008, 0.10972084, -0.100233644, -0.08123889, 0.22106615, -0.15856642, -0.00089599646, -0.2508091, -0.18100697, 0.05062669, 0.015029212, 0.037986293, -0.042927373) * go_2(0.0, -1.0); - result += mat4(-0.059474643, 0.027163196, -0.2604915, -0.010336377, -0.12445887, 0.13566798, -0.30654848, -0.060082927, 0.23085387, -0.091465, 0.39375424, 0.042889137, -0.056025308, 0.032562573, -0.24045426, -0.066820875) * go_2(0.0, 0.0); - result += mat4(0.37940925, 0.059039116, -0.23255952, 0.13268405, 0.09298355, -0.3546018, 0.20099486, 0.110705115, 0.1028718, 0.15027377, -0.052708015, 0.077674516, -0.012042469, -0.24452698, -0.0897586, -0.05299548) * go_2(0.0, 1.0); - result += mat4(-0.08723447, -0.04039763, 0.06555755, -0.01244263, 0.0631391, -0.07041029, 0.09457601, -0.07120963, -0.006443017, 0.022470789, 0.083783925, -0.21022923, 0.09100827, 0.004317152, 0.14609122, -0.058026843) * go_2(1.0, -1.0); - result += mat4(-0.0845435, 0.117686994, -0.12543106, 0.12503773, -0.10377896, -0.0026920936, 0.1349612, -0.069376774, 0.084404066, 0.11193638, 0.09126277, -0.054743435, -0.0032069946, 0.06509136, 0.0048303395, 0.10628396) * go_2(1.0, 0.0); - result += mat4(-0.029292313, 0.007759757, 0.025865927, 0.056625884, -0.07793367, -0.04091509, -0.003351621, -0.033380255, 0.07060131, -0.036421955, 0.081770964, -0.043511044, 0.017399874, 0.043617025, 0.005139266, -0.021786831) * go_2(1.0, 1.0); - result += mat4(-0.022271145, 0.00039645372, 0.010613543, -0.11776198, -0.02635221, 0.11864236, -0.0024596716, 0.03923893, 0.0029042386, 0.005011855, 0.0018216589, 0.008130081, 0.011119617, 0.06787836, -0.066421315, 0.08031844) * go_3(-1.0, -1.0); - result += mat4(-0.09813517, 0.06568305, -0.13860098, -0.0010828839, 0.14380379, -0.13478349, -0.022100717, 0.17066574, -0.029020214, -0.022638777, -0.0070202127, 0.030224288, 0.16366352, -0.06265367, -0.18798734, 0.011478987) * go_3(-1.0, 0.0); - result += mat4(0.05996043, -0.053815104, 0.11500831, -0.08236374, 0.044013776, -0.041716296, 0.041496664, 0.14121005, 0.08279138, 0.009773295, -0.010372792, 0.025527438, 0.014913059, -0.066181764, -0.011920773, 0.10358109) * go_3(-1.0, 1.0); - result += mat4(0.05652108, -0.004097921, -0.062982805, 0.1622035, 0.16812254, 0.03779725, 0.09811821, -0.30795518, -0.03712885, 0.014134829, -0.07531538, -0.0353742, -0.014039425, -0.011970228, 0.036651116, -0.0004495905) * go_3(0.0, -1.0); - result += mat4(0.11922151, -0.17507777, -0.04528375, -0.07090318, 0.19573775, -0.11706877, 0.0641675, -0.3705396, 0.0054832795, -0.048944287, -0.09650737, 0.09810468, -0.18202507, -0.08735016, 0.082755096, -0.018619625) * go_3(0.0, 0.0); - result += mat4(-0.2286063, 0.06487897, 0.041627876, -0.112286136, 0.055056084, -0.024040936, -0.072515465, 0.095542595, 0.017591938, 0.037572965, 0.086499356, -0.044066917, 0.09246921, -0.14498484, 0.017450534, -0.0031692435) * go_3(0.0, 1.0); - result += mat4(0.120006956, 0.029871983, -0.04091446, 0.1845348, 0.07152837, 0.0031324874, 0.3271476, -0.3842661, 0.015676577, 0.007722651, -0.01355098, 0.03852728, -0.036933925, -0.055561922, -0.08608098, 0.016633974) * go_3(1.0, -1.0); - result += mat4(0.042973485, -0.016934913, -0.054753687, 0.0057244487, 0.080229886, 0.07153676, 0.121217705, -0.1422365, -0.022736007, -0.005441552, 0.059987642, -0.06661513, -0.008356551, 0.026571274, 0.014096615, -0.034175288) * go_3(1.0, 0.0); - result += mat4(-0.10869293, 0.020983249, 0.014934219, -0.048246913, -0.043031503, 0.014160269, 0.012524968, 9.1027774e-05, 0.06874907, 0.041440487, 0.04364499, -0.049117107, -0.11006862, -0.028361427, 0.0666895, -0.15525119) * go_3(1.0, 1.0); - result += mat4(-0.13360004, -0.040586635, -0.011065811, 0.07590281, -0.17862478, 0.03176052, -0.0060847234, 0.06482111, -0.10241082, -0.06991013, -0.04906971, 0.111663744, -0.20776138, -0.065589525, 0.16063885, -0.1169129) * go_4(-1.0, -1.0); - result += mat4(-0.08239939, -0.016491726, -0.17447554, -0.17412238, -0.023073941, 0.024335802, 0.009998651, -0.2594834, 0.09212794, -0.047131993, 0.0023678474, -0.13931216, -0.093529895, 0.14654796, 0.2062498, -0.0979242) * go_4(-1.0, 0.0); - result += mat4(0.037110724, 0.16630705, -0.07703024, -0.09271235, -0.065290235, 0.011327393, 0.01392625, -0.08141591, -0.2544335, 0.11532231, -0.0038528284, -0.14333782, 0.052138682, 0.11441084, -0.13260897, 0.16820511) * go_4(-1.0, 1.0); - result += mat4(-0.30918753, -0.024295764, -0.027942184, -0.0860215, -0.055746336, -0.016570807, 0.17202388, 0.035703283, -0.16252916, 0.058050476, -0.15769738, 0.15678713, -0.116991155, 0.043470733, -0.383855, 0.18544619) * go_4(0.0, -1.0); - result += mat4(0.110480964, -0.0018562422, 0.11564728, -0.15973495, 0.28632364, 0.07150075, -0.02442135, 0.09562533, -0.031401016, -0.04514724, 0.31314585, -0.09337406, 0.108728535, 0.017531324, -0.024494028, -0.093123734) * go_4(0.0, 0.0); - result += mat4(-0.0803049, -0.23596147, -0.1215564, -0.07627238, -0.06644555, -0.02015921, -0.1534082, -0.0035896646, 0.20785846, -0.07450932, 0.083064035, 0.06505109, -0.06643723, -0.05675558, -0.06931419, -0.07988197) * go_4(0.0, 1.0); - result += mat4(0.0042541623, 0.026418367, 0.06019002, -0.120204665, -0.041487366, 0.021887602, 0.060255744, -0.07371016, -0.12069726, -0.12678316, -0.049600363, -0.12936749, 0.23514399, 0.037363835, 0.014190557, 0.12650439) * go_4(1.0, -1.0); - result += mat4(-0.09167683, -0.04038391, -0.022526316, -0.009859018, 0.008543954, -0.021847846, -0.09823242, 0.100713, 0.090360984, 0.09792457, -0.20315544, -0.035371944, 0.1085808, -0.06695963, 0.02482221, 0.024650661) * go_4(1.0, 0.0); - result += mat4(-0.20332499, -0.07027695, -0.087853126, 0.18171547, -0.047613457, -0.024246145, -0.10522111, 0.23672101, 0.036521245, -0.08921485, -0.03288885, -0.031625647, -0.06543899, -0.069383, -0.00516059, -0.0017956651) * go_4(1.0, 1.0); - result += mat4(0.024934843, 0.03389753, -0.08901605, -0.037079386, -0.046384435, -0.02585016, 0.11197663, 0.00346106, -0.36492983, -0.093989864, -0.04062576, -0.026857732, -0.0070361346, -0.043496076, -0.015871098, 0.043276284) * go_5(-1.0, -1.0); - result += mat4(-0.03606492, 0.004693198, 0.06704513, -0.06954089, -0.06506014, -0.037918013, -0.08111133, -0.009501841, 0.068508595, 0.08327213, -0.019518502, -0.022806957, 0.2190603, 0.17022887, 0.14800793, -0.08281432) * go_5(-1.0, 0.0); - result += mat4(-0.064694725, -0.07497781, -0.04672195, 0.014982018, 0.043382764, 0.18891387, -0.038317963, 0.07969728, -0.063571155, 0.030154549, -0.08465413, 0.16925031, 0.12671013, -0.04915839, -0.096187495, -0.051536918) * go_5(-1.0, 1.0); - result += mat4(-0.009621753, -0.0195934, -0.045811757, 0.13657679, -0.064056486, 0.038231816, -0.054827668, -0.12231228, 0.26552272, 0.12414302, 0.18624337, -0.046787616, -0.022237374, -0.053084116, 0.14358921, -0.042177454) * go_5(0.0, -1.0); - result += mat4(-0.07842658, 0.013456938, 0.032272052, 0.28887707, -0.10770709, -0.21856956, 0.37743518, 0.23959023, 0.37210184, 0.9503002, -0.025512097, -0.03633097, 0.022222593, 0.071377136, -0.20658484, 0.52729785) * go_5(0.0, 0.0); - result += mat4(-0.099430755, -0.24070781, 0.065863, -0.07808372, -0.16720702, 0.2676829, -0.27154264, -0.049355835, 0.19279453, 0.06852905, 0.06272968, 0.13116297, 0.07394523, 0.12975569, 0.26263225, 0.15205261) * go_5(0.0, 1.0); - result += mat4(-0.014191022, 0.018638015, -0.08631605, 0.061950725, -0.13144706, 0.084606856, -0.024304552, 0.0024966071, 0.021148616, 0.020798182, 0.13002335, -0.049378537, 0.017035907, -0.0116185695, -0.20568894, 0.2350694) * go_5(1.0, -1.0); - result += mat4(-0.013792852, -0.05215396, 0.06764889, -0.012962138, -0.11838281, -0.015625363, -0.12466692, 0.12504981, 0.14459728, 0.034634247, 0.14713274, -0.118111566, 0.18801935, -0.14544547, 0.04915958, -0.14483985) * go_5(1.0, 0.0); - result += mat4(0.04480321, 0.029159583, -0.06726701, -0.065100566, 0.094168976, 0.012941809, -0.035608374, 0.086288646, 0.043504182, 0.057368, -0.054148387, 0.09442852, 0.07997, -0.050284415, 0.046459693, -0.11076571) * go_5(1.0, 1.0); - result += vec4(-0.020544212, -0.052849937, -0.027093843, 0.018372845); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf2 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.039423067, 0.078436814, -0.069983914, -0.038171016, 0.14237583, -0.02642111, -0.20049703, 0.100611456, -0.029072462, -0.5085375, -0.018193128, 0.059373964, -0.030980011, -0.11949504, -0.06939915, -0.0759268) * go_0(-1.0, -1.0); - result += mat4(0.059159596, 0.17550206, 0.05612233, 0.13204549, -0.0050658686, -0.21678181, 0.07797472, -0.09275905, -0.06803014, -0.65021074, -0.07766355, 0.018018546, -0.26769254, 0.16147457, -0.2786428, 0.117244564) * go_0(-1.0, 0.0); - result += mat4(0.08737985, -0.10133755, -0.026567303, -0.03721374, 0.03300279, 0.15863386, 0.14206086, 0.10378439, -0.024067098, -0.41554677, -0.096829094, 0.037365302, 0.047267284, -0.014426036, 0.08224506, -0.02312597) * go_0(-1.0, 1.0); - result += mat4(0.054744978, 0.0014223085, 0.107521415, 0.044979066, -0.039141048, 0.23803799, -0.19850029, 0.19078358, -0.053693853, -0.51473075, -0.026663598, -0.03709435, 0.068645775, -0.461768, 0.05462371, -0.034951005) * go_0(0.0, -1.0); - result += mat4(-0.29620552, -0.008875074, 0.07487369, -0.22165461, -0.19263655, 0.048992947, -0.19407378, -0.04266071, -0.0410519, -0.9824355, -0.04094819, 0.1591373, -0.003784664, -0.03243022, 0.18372828, -0.21720201) * go_0(0.0, 0.0); - result += mat4(0.009888709, 0.13686997, -0.094822176, 0.05202961, 0.07718702, -0.111160606, -0.008345299, -0.03728517, 0.08747702, -0.609868, -0.004057196, -0.044258054, 0.06356071, 0.25430042, 0.020177737, 0.0132764075) * go_0(0.0, 1.0); - result += mat4(0.11496065, 0.21552022, -0.04389089, -0.0086625945, 0.09537117, -0.13809446, 0.08995812, 0.112047695, 0.011121139, -0.5289336, -0.022189362, 0.038001932, -0.1164996, 0.23712026, 0.020787118, -0.0011653812) * go_0(1.0, -1.0); - result += mat4(-0.09048339, -0.39137346, 0.21572241, 0.051918186, 0.11814622, 0.3203632, 0.024965152, -0.04971828, 0.009413184, -0.27384368, -0.06055165, 0.011737885, 0.06622072, 0.004352992, -0.16232811, -0.04402811) * go_0(1.0, 0.0); - result += mat4(0.09248723, 0.0889905, 0.024224376, 0.030123342, 0.03877418, -0.08895352, -0.13702047, 0.108477026, 0.040580783, -0.38253292, -0.017656842, -0.02734635, -0.10592393, -0.078880526, 0.06576184, 0.08253187) * go_0(1.0, 1.0); - result += mat4(0.015141747, -0.1309331, -0.02695935, -0.17821482, 0.06992731, 0.008076907, 0.04242278, -0.041699618, -0.2879429, 0.19774953, 0.049024932, 0.2859851, 0.07940857, 0.119633004, -0.0559928, 0.030878706) * go_1(-1.0, -1.0); - result += mat4(-0.24421887, 0.13531625, 0.16485777, -0.16606078, 0.013032199, 0.22538358, -0.08584098, -0.09070285, 0.2687854, 0.16989781, -0.032257568, -0.017058974, -0.009155003, 0.24833599, -0.037294723, -0.030808553) * go_1(-1.0, 0.0); - result += mat4(0.02493932, 0.114831686, 0.033882387, 0.14481047, -0.01829352, 0.115675755, -0.03021338, -0.004733893, 0.015008595, -0.19344689, -0.12460783, 0.047182407, -0.1743983, -0.09997754, -0.27779073, 0.07800383) * go_1(-1.0, 1.0); - result += mat4(-0.043531906, 0.07293452, -0.071971625, -0.0019219422, -0.04766082, -0.1400812, 0.025305094, 0.05111917, 0.08387639, -0.31426215, -0.004437485, 0.15080883, 0.046185132, -0.34772637, 0.1205064, -0.073153645) * go_1(0.0, -1.0); - result += mat4(-0.18307851, 0.09229181, -0.17735274, 0.50427365, 0.034740254, -0.13563888, 0.027704779, -0.10706108, 0.32057324, 0.1820803, -0.28548205, -0.20837711, 0.026674472, 0.015941067, -0.07913227, 0.10543624) * go_1(0.0, 0.0); - result += mat4(-0.19075814, -0.07901908, -0.09471109, 0.38521093, -0.051173307, 0.22712201, -0.0057217837, -0.008397543, -0.094950974, -0.07692618, 0.08312472, -0.1183983, 0.042578284, 0.055876415, 0.0013518286, -0.024476144) * go_1(0.0, 1.0); - result += mat4(0.07312584, -0.14143293, 0.039240487, -0.04388676, -0.040030226, 0.23504035, 0.049412448, 0.047472715, 0.01382807, -0.2750679, 0.21508247, 0.053023193, 0.029611293, -0.0056723547, -0.01997564, 0.03959638) * go_1(1.0, -1.0); - result += mat4(-0.15638126, -0.19253428, 0.10116556, 0.08715779, -0.11614563, 0.098930575, 0.087547146, -0.028423786, 0.21491656, 0.13664484, -0.24975125, -0.08325575, 0.032616112, -0.18295531, 0.065003626, 0.021616168) * go_1(1.0, 0.0); - result += mat4(-0.007087224, 0.3169042, 0.14880657, -0.18242247, 0.0064674197, 0.06109478, -0.059897806, -0.0011404125, 0.18070918, -0.08458671, -0.12923287, -0.08353918, -0.01897949, 0.06979917, 0.09025345, -0.017417897) * go_1(1.0, 1.0); - result += mat4(0.05179286, -0.034726117, 0.21951278, 0.082072996, 0.07295873, -0.08012756, 0.014272455, -0.056287043, -0.017637976, -0.013951062, 0.054536913, 0.017742792, -0.009336327, -0.03538978, 0.011911002, -0.11776655) * go_2(-1.0, -1.0); - result += mat4(0.13707292, -0.023107344, -0.00069132133, -0.08294918, -0.23168655, -0.096478485, 0.08214384, -0.059408333, 0.18943588, -0.03707817, -0.08321206, -0.22239017, -0.15046118, 0.120259546, 0.07002098, -0.09866878) * go_2(-1.0, 0.0); - result += mat4(-0.012951499, -0.27445596, -0.14348228, 0.0447087, 0.046177246, 0.017482923, 0.05994589, 0.015270621, 0.06457534, -0.05479883, 0.013528706, -0.12819076, -0.06994984, 0.07996559, -0.06996563, 0.054592125) * go_2(-1.0, 1.0); - result += mat4(0.10614017, -0.053328507, 0.08286402, -0.10957647, -0.12656961, 0.040465187, 0.17095993, 0.051273175, 0.04530683, 0.18120332, -0.027397426, -0.08206453, 0.069643475, -0.12606093, -0.058229, 0.18432495) * go_2(0.0, -1.0); - result += mat4(0.17823172, 0.41447365, 0.11639968, -0.06486261, 0.19411229, -0.19174264, -0.038545858, -0.10247162, -0.019421054, -0.009120293, 0.13342139, 0.04569454, -0.11488296, 0.080402605, 0.13746685, 0.14873841) * go_2(0.0, 0.0); - result += mat4(-0.0829372, -0.30971724, 0.032577418, 0.07669426, 0.018960338, 0.1791047, -0.047290523, -0.008268177, -0.04843848, 0.06855169, -0.07592713, 0.04155206, 0.08097685, 0.051547952, 0.011747727, -0.033211578) * go_2(0.0, 1.0); - result += mat4(-0.1373094, 0.15334417, -0.06870011, -0.06123882, 0.00090525567, 0.1162759, -0.082836166, 0.11193168, -0.08798139, 0.035071023, 0.01123731, -0.05533123, -0.024120709, 0.050991498, -0.1336545, -0.043407314) * go_2(1.0, -1.0); - result += mat4(-0.06407508, -0.33745393, 0.23901443, 0.052661825, 0.10159286, 0.07630392, -0.15228964, -0.03295662, -0.0060571227, 0.0071413037, 0.17815827, -0.12300588, 0.1899591, -0.25670734, 0.0070533925, -0.043219138) * go_2(1.0, 0.0); - result += mat4(-0.1732961, 0.30729872, 0.2262359, -0.21156187, 0.06456767, 0.021306427, 0.05425214, -0.083489835, -0.044103798, 0.052490056, -0.0044859303, -0.02098116, -0.0504092, -0.00038908, 0.039689723, -0.07444564) * go_2(1.0, 1.0); - result += mat4(-0.033599377, -0.08571998, -0.10530651, -0.08143152, -0.12479356, -0.060760368, 0.121969484, 0.038539995, 0.013419648, -0.08396321, 0.05109183, 0.017426316, -0.07328041, 0.05684259, 0.070007846, 0.10744751) * go_3(-1.0, -1.0); - result += mat4(-0.274972, 0.4282744, 0.22896598, -0.10019718, 0.16731918, 0.030695973, 0.041302808, 0.067710035, 0.023648342, -0.07225423, -0.038274363, 0.05649214, 0.2907932, -0.42040724, -0.012518357, -0.017642522) * go_3(-1.0, 0.0); - result += mat4(0.13465816, 0.25740397, 0.15255588, 0.095492624, 0.043392237, 0.020608524, 0.028149592, -0.02565965, 0.06586847, 0.0011866485, -0.037156094, 0.055193666, -0.04400515, 0.08791553, 0.010484813, -0.15319423) * go_3(-1.0, 1.0); - result += mat4(0.040082783, -0.06577737, -0.07995138, -0.16504121, 0.09325564, -0.22239633, 0.1648208, 0.028321613, 0.015860023, -0.08520523, -0.051657148, 0.061537597, 0.073225826, -0.14896914, 0.1299073, -0.006399767) * go_3(0.0, -1.0); - result += mat4(-0.09663643, -0.53566885, 0.025700806, 0.55880916, 0.2808175, 0.05318815, 0.062414836, 0.10828044, 0.05490069, -0.081015244, 0.09650798, -0.12189763, -0.07257968, 0.26949814, -0.012583941, 0.0008959956) * go_3(0.0, 0.0); - result += mat4(-0.011190751, 0.35855585, 0.1862791, 0.14002089, 0.027401952, 0.0042707003, -0.022745244, 0.10868378, -0.09141326, -0.17373067, 0.028805451, 0.017749606, 0.040033735, -0.011070057, -0.025801158, -0.13208073) * go_3(0.0, 1.0); - result += mat4(0.024512364, 0.08858363, -0.18131207, -0.027412666, -0.04424581, 0.011799249, -0.082901396, 0.038419988, 0.024691217, 0.052292384, -0.009439586, -0.00092504063, 0.008878617, 0.025503607, 0.021490294, 0.056503642) * go_3(1.0, -1.0); - result += mat4(-0.12956679, -0.34502396, 0.2046284, 0.026422406, -0.051775485, -0.004565459, 0.033549815, 0.24834748, -0.014039569, -0.008843974, -0.024532126, -0.028356941, 0.086490355, 0.19347343, -0.06651103, 0.01359097) * go_3(1.0, 0.0); - result += mat4(0.026218938, -0.071594626, 0.058404952, -0.0064054746, 0.021394106, 0.003737053, 0.013854575, 0.11512703, 0.041950155, -0.12979212, 0.029137189, -0.035896428, -0.052289136, 0.14120553, -0.069520056, 0.083379924) * go_3(1.0, 1.0); - result += mat4(0.10193102, -0.011678638, -0.08350273, -0.1182253, -0.15432937, 0.20543317, -0.20413567, -0.080253944, 0.07646635, -0.020952104, -0.0104566, -0.10925271, 0.055971812, 0.032747865, 0.04048261, 0.08953569) * go_4(-1.0, -1.0); - result += mat4(-0.016132157, -0.08411032, -0.14439175, 0.056656662, -0.12841295, -0.051562544, -0.040920693, -0.027162159, -0.05479628, -0.13349691, -0.28604138, 0.053583436, 0.13565014, 0.11799203, -0.28183892, -0.14269474) * go_4(-1.0, 0.0); - result += mat4(-0.062003274, -0.048884556, -0.20334347, 0.22376512, -0.089073546, 0.11118097, -0.009234466, -0.07418679, -0.14703932, 0.16732392, -0.07114778, -0.06633442, 0.04149066, 0.061250567, 0.18997967, 4.3616074e-05) * go_4(-1.0, 1.0); - result += mat4(-0.013199228, 0.04439229, 0.022987943, 0.031648617, 0.028317936, -0.065302536, 0.12444893, -0.10333742, -0.055278953, 0.0026120062, 0.292226, -0.048765816, 0.094359584, 0.080392964, 0.04476662, -0.05632204) * go_4(0.0, -1.0); - result += mat4(0.30331823, -0.13950066, 0.046152875, -0.049017597, -0.030433452, -0.098067395, 0.05823237, 0.23484923, -0.052533124, -0.17569515, 0.043904085, 0.34406292, 0.09246567, 0.44028738, -0.1541278, 0.10462374) * go_4(0.0, 0.0); - result += mat4(-0.053813357, -0.06074867, -0.08128881, -0.015421247, 0.1122167, 0.06750029, -0.07663203, 0.06962623, 0.016814634, -0.018121587, -0.17165172, 0.06247406, -0.061192635, -0.21323347, -0.20642947, 0.024856035) * go_4(0.0, 1.0); - result += mat4(-0.017261975, 0.001956938, 0.03585212, -0.051244717, -0.012848608, 0.060172677, -0.110458344, -0.14227545, 0.074150845, 0.122560345, 0.0022584137, 0.124024406, -0.0020875141, -0.44394484, 0.21422713, -0.04319881) * go_4(1.0, -1.0); - result += mat4(-0.034175355, -0.010641907, -0.035431314, 0.009394309, 0.06870524, -0.020846654, 0.0075500663, -0.10564474, 0.031213112, 0.32362583, -0.01739634, -0.080315515, -0.026090765, -0.2125432, 0.17748094, 0.08196893) * go_4(1.0, 0.0); - result += mat4(0.023425572, 0.058883358, -0.08460052, -0.06000809, -0.07512468, 0.15626664, 0.007509836, 0.019525077, 0.054792758, -0.23570415, -0.05554373, -0.14720254, -0.022515034, 0.04687545, -0.09122355, -0.08824173) * go_4(1.0, 1.0); - result += mat4(0.03242358, 0.009580177, 0.020231772, 0.022309156, -0.12902056, 0.14806129, -0.027296314, 0.063802026, -0.039501395, -0.01489755, -0.19859995, -0.10364646, 0.09310042, -0.028172733, -0.08560778, -0.030869158) * go_5(-1.0, -1.0); - result += mat4(-0.101350136, 0.05526243, 0.0035860895, 0.09896092, 0.19400865, 0.2449927, -0.18022242, 0.09199169, -0.0077618533, -0.18838565, -0.45503637, 0.20625886, 0.041608825, -0.114395924, -0.0850152, 0.0733077) * go_5(-1.0, 0.0); - result += mat4(-0.08502301, 0.15609683, 0.017885443, -0.02539383, -0.026503822, -0.036420856, 0.0021276672, 0.06999657, -0.046073034, 0.16763787, -0.14055778, -0.0049013835, 0.009052177, -0.09790551, 0.117615454, 0.048404485) * go_5(-1.0, 1.0); - result += mat4(-0.028804805, 0.004398154, 0.02801529, -0.0806873, -0.03933947, 0.12910266, -0.1326506, 0.08548417, -0.5164903, 0.07406561, 0.22457983, 0.14813408, -0.05975599, -0.019444315, 0.07565449, -0.23129421) * go_5(0.0, -1.0); - result += mat4(-0.2850856, -0.12607557, 0.014540369, -0.08426361, -0.027262088, 0.20371006, -0.12156548, 0.17130668, -0.31521708, 0.049210936, -0.35247996, 0.18296543, 0.42723244, 0.2039884, -0.035021685, 1.1381091) * go_5(0.0, 0.0); - result += mat4(0.08956528, -0.00317981, -0.07248739, -0.055904776, -0.03996253, 0.025405107, 0.00059332704, -0.037291884, -0.09004787, -0.23186557, -0.16186874, 0.0020177872, 0.022994975, -0.20395516, -0.17148314, 0.14748491) * go_5(0.0, 1.0); - result += mat4(-0.0061345818, -0.16014275, 0.17222595, -0.07567761, -0.061348878, -0.1720377, 0.12391044, -0.1664243, 0.20054317, 0.053534795, 0.18869756, -0.15747075, 0.023294995, 0.19970472, 0.14656426, 0.033892497) * go_5(1.0, -1.0); - result += mat4(-0.0951606, 0.114271455, -0.035583224, -0.0395411, -0.324703, -0.3520329, 0.32128307, -0.05776112, -0.12950924, 0.10391318, -0.0319499, -0.050979655, -0.13066222, -0.25933158, 0.021341946, 0.09927698) * go_5(1.0, 0.0); - result += mat4(0.18134786, -0.057574477, -0.1466477, -0.046258144, -0.024677455, 0.04083935, 0.14517285, -0.25801346, 0.18157719, -0.090125926, -0.0036604172, -0.20966503, -0.00015470991, -0.016252374, -0.03844368, 0.06726928) * go_5(1.0, 1.0); - result += vec4(0.057122286, 0.012267435, -0.008509618, -0.033430006); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04442572, -0.021079494, 0.08133416, -0.14203873, -0.07575563, -0.036278915, -0.02581178, 0.074260384, 0.110657595, 0.022575535, 0.14307183, 0.009784463, 0.0019734183, -0.022827094, -0.10990385, 0.018472824) * go_0(-1.0, -1.0); - result += mat4(0.21470577, -0.102078706, -0.19685651, -0.10499778, -0.14538614, 0.12205785, -0.119196534, -0.12512656, -0.0157255, 0.06778767, 0.051144827, -0.061093763, -0.014912816, -0.10668368, 0.16782193, 0.04672345) * go_0(-1.0, 0.0); - result += mat4(0.23532265, -0.06437796, -0.1636927, 0.096415624, -0.14463958, 0.07062449, -0.009412339, -0.053424593, -0.020204574, 0.048089918, -0.036215715, -0.140922, -0.11925414, -0.05972305, 0.0024522278, 0.09344713) * go_0(-1.0, 1.0); - result += mat4(-0.007486091, -0.041294333, 0.03958969, 0.053319015, -0.0508917, -0.05159112, 0.11288304, 0.26939824, 0.024348699, 0.060014047, -0.034696687, 0.009803982, -0.019758658, -0.108922645, 0.14256927, -0.027265849) * go_0(0.0, -1.0); - result += mat4(0.08267747, 0.01354375, 0.33666995, 0.101669155, -0.110209286, 0.14248498, -0.16946654, -0.35839102, 0.20460105, 0.11426335, 0.11318654, -0.044304296, -0.076097116, 0.029738575, 0.15636109, -0.0552018) * go_0(0.0, 0.0); - result += mat4(0.14432563, 0.0046133446, -0.10694144, 0.022137064, -0.5636542, -0.13867012, -0.008164329, -0.12708999, 0.044234607, 0.115975946, -0.092227295, -0.07865807, 0.108110346, -0.017337924, 0.043074783, -0.041216116) * go_0(0.0, 1.0); - result += mat4(0.026432367, -0.06873426, 0.061831556, -0.00605308, -0.056780808, -0.07177329, -0.0057719476, 0.07050306, 0.027728474, 0.09348229, -0.09152759, -0.09133902, 0.024218138, 0.03562348, -0.018500235, 0.024786536) * go_0(1.0, -1.0); - result += mat4(-0.015634011, 0.00043256918, -0.08569041, 0.099786475, -0.13876541, 0.06958842, -0.21906306, 0.11165318, -0.09130837, 0.14580032, -0.102398746, 0.051243573, 0.059544906, 0.057559166, -0.033218343, 0.08339028) * go_0(1.0, 0.0); - result += mat4(0.006991434, -0.0743791, -0.088750206, -0.021417037, -0.29907656, 0.007902655, -0.036114752, -0.122924, -0.067659825, 0.029919846, 0.14793514, -0.097599104, 0.016503064, -0.1095046, -0.028360674, -0.058358364) * go_0(1.0, 1.0); - result += mat4(0.004909281, 0.071267895, 0.16850118, -0.054999575, -0.14304577, 0.02441106, 0.050973237, 0.009992714, -0.109278284, 0.07919291, 0.0077810627, 0.034462743, 0.047741413, 0.12163777, -0.12122584, 0.013382445) * go_1(-1.0, -1.0); - result += mat4(0.0005590338, -0.015862202, -0.046375863, -0.091307804, -0.20246892, -0.059480507, 0.11874404, 0.17396803, -0.17960979, -0.034825385, 0.004660247, 0.1359996, 0.0032430585, 0.07977283, 0.148807, -0.05778742) * go_1(-1.0, 0.0); - result += mat4(0.18160479, 0.043647032, -0.017925482, 0.017439943, 0.015033334, 0.011356719, 0.03396472, 0.004971239, -0.13910371, 0.044191893, -0.12855305, -0.056105338, 0.056831665, 0.133879, -0.063164115, 0.0071621994) * go_1(-1.0, 1.0); - result += mat4(-0.113280386, 0.0025519284, 0.18671317, 0.08804424, 0.20677073, -0.0804015, -0.08834917, 0.09533873, 0.083148256, -0.048961774, -0.07908736, -0.02688625, 0.035848085, 0.10695606, -0.22634004, -0.13171262) * go_1(0.0, -1.0); - result += mat4(0.1707226, 0.08533742, 0.21622618, -0.21757056, -0.1274536, 0.08398028, 0.3202134, 0.022998685, 0.04880864, -0.34749946, 0.13356782, 0.054071113, 0.27817082, 0.082054846, 0.1917598, -0.028963286) * go_1(0.0, 0.0); - result += mat4(0.017651493, 0.026090013, -0.15366435, 0.04745487, -0.083071895, 0.04845406, 0.05552361, 0.096130624, -0.010397022, 0.053183064, -0.07440269, -0.027566215, -0.1770849, -0.02905562, 0.07577059, 0.01106056) * go_1(0.0, 1.0); - result += mat4(-0.09079958, 0.07023978, 0.013599515, 0.03719188, -0.029139029, -0.12541416, -0.1298324, -0.089526765, 0.026374, -0.03675827, -0.0664432, -0.10954637, -0.03706898, 0.07195458, 0.2083045, -0.13173243) * go_1(1.0, -1.0); - result += mat4(0.119648434, 0.085478894, 0.1322845, -0.217921, -0.0493358, 0.016056411, -0.008486342, 0.121576615, -0.15643454, 0.03276933, 0.096999034, -0.04267362, -0.0680802, 0.19929416, -0.09860732, -0.20886037) * go_1(1.0, 0.0); - result += mat4(-0.03567257, 0.09823424, 0.097885884, -0.0057406626, -0.007873974, -0.103281036, -0.013342071, -0.052842017, -0.15585557, -0.127313, -0.08575327, 0.012302473, 0.14850815, 0.1284913, -0.11507875, -0.053595018) * go_1(1.0, 1.0); - result += mat4(-0.054356705, 0.029001048, 0.017115368, 0.03151991, 0.18608244, 0.13901179, 0.57566303, 0.06494094, 0.028459521, 0.14781436, 0.06256118, 0.030419847, 0.07467109, -0.06440686, 0.053834237, -0.0071851187) * go_2(-1.0, -1.0); - result += mat4(0.007199532, -0.121588215, 0.044833265, 0.27465758, 0.3438028, -0.023367146, 0.51061314, -0.238366, -0.2637815, 0.10414675, 0.23945883, 0.12390733, 0.23056524, -0.036144268, 0.029334458, -0.022119714) * go_2(-1.0, 0.0); - result += mat4(-0.05376701, -0.06664099, 0.059821654, -0.0018416446, 0.2638233, 0.043670908, 0.3815553, -0.13832693, -0.0050786, 0.09253983, 0.23859836, 0.07963589, 0.07718028, -0.079752676, 0.11433723, 0.011501202) * go_2(-1.0, 1.0); - result += mat4(0.1874364, -0.17093459, 0.010855328, 0.120664425, 0.111470625, 0.1484681, 0.5195336, -0.0069446685, 0.042319857, 0.05145161, -0.039009307, -0.01998825, -0.07303624, 0.09134541, 0.10079329, 0.030079208) * go_2(0.0, -1.0); - result += mat4(-0.2186243, -0.4428867, 0.092963874, 0.13073802, -0.019760692, 0.08763586, 0.34470505, -0.23975423, -0.49366876, 0.03650021, -0.26312304, -0.10178505, -0.19149905, 0.08961964, -0.03015555, -0.41838256) * go_2(0.0, 0.0); - result += mat4(-0.028188573, 0.031499006, -0.063600264, 0.24837458, 0.19443984, 0.058427423, 0.28769475, -0.08521067, -0.071029276, 0.14094949, 0.11166354, 0.049317956, -0.010624909, -0.06265303, 0.1114735, 0.02864904) * go_2(0.0, 1.0); - result += mat4(-0.052337993, -0.017547317, -0.03520667, 0.002673191, 0.1905491, 0.17264749, 0.32332307, 0.061626773, 0.136209, 0.19794804, 0.16509542, -0.04580146, 0.028514566, 0.041068107, 0.043710496, -0.13467996) * go_2(1.0, -1.0); - result += mat4(0.057524405, -0.0670017, 0.0016474138, 0.10262694, 0.036269784, 0.036402486, 0.44747186, 0.12797451, -0.047264162, 0.0766207, -0.23309897, -0.1266668, 0.074957475, 0.015929028, 0.2692563, 0.036415808) * go_2(1.0, 0.0); - result += mat4(0.17724822, -0.109371126, -0.0682871, 0.14675598, 0.054630626, 0.062969014, 0.36832303, -0.013787229, 0.024231227, 0.12613758, -0.055872746, -0.04053383, -0.006620505, 0.015584234, 0.035116877, 0.01693195) * go_2(1.0, 1.0); - result += mat4(0.19397566, 0.07098955, 0.18101004, 0.083367795, -0.070514366, -0.044412676, -0.062800385, 0.068795145, -0.19326128, -0.10733093, -0.1681797, 0.02347941, 0.09339788, 0.15950295, 0.057467394, 0.056237224) * go_3(-1.0, -1.0); - result += mat4(0.136637, -0.07271869, 0.26881287, 0.34395644, -0.04324773, 0.103202775, -0.16522674, -0.044781554, -0.086582124, 0.054414462, 0.065597564, 0.033376656, -0.111290336, -0.0014986617, -0.2212502, -0.25075877) * go_3(-1.0, 0.0); - result += mat4(-0.06789657, -0.18068478, 0.09911924, -0.23166406, -0.044929348, -0.031290393, 0.13361748, 0.03413577, -0.040923, 0.049681865, -0.07380375, 0.08915985, 0.07288317, 0.06554518, -0.1643758, 0.055818856) * go_3(-1.0, 1.0); - result += mat4(0.2203703, -0.037368517, 0.09785233, -0.06491308, -0.092911914, -0.031082682, -0.104810245, 0.034624774, -0.023380022, 0.0052404683, 0.06841838, -0.023614911, -0.03593765, -0.046437703, -0.1844866, -0.14166127) * go_3(0.0, -1.0); - result += mat4(0.05909365, -0.36332077, -0.2689632, 0.1739602, -0.45130134, 0.12989542, -0.005341447, -0.06824331, -0.15072067, -0.05676317, -0.13605535, -0.18169174, 0.07681412, 0.124912, -0.021684267, 0.0894891) * go_3(0.0, 0.0); - result += mat4(-0.035549298, -0.21778642, 0.097288795, -0.26111203, 0.10414918, 0.0061409012, -0.0556371, -0.032494467, 0.052588258, 0.06812076, -0.16265821, 0.118465446, -0.099786356, 0.0869041, -0.25942245, 0.009399633) * go_3(0.0, 1.0); - result += mat4(0.11580169, -0.024714155, 0.010325179, 0.013701658, -0.076200895, 0.10303264, -0.094055474, -0.029318763, 0.07376417, 0.049632907, 0.032555673, 0.10790659, -0.101094194, 0.071630724, -0.109847575, 0.0077851396) * go_3(1.0, -1.0); - result += mat4(0.1398949, -0.04883586, 0.23428173, -0.15378661, -0.100387186, 0.009293077, -0.008328632, -0.10520436, 0.035526622, 0.064958505, -0.1684589, -0.12430499, 0.13108692, 0.028732104, -0.0724291, -0.14364761) * go_3(1.0, 0.0); - result += mat4(0.13408709, 0.037318103, 0.030060692, -0.02245396, -0.11561478, -0.07266053, -0.14419918, -0.15680459, 0.104011424, 0.0289589, -0.05245363, 0.02856205, -0.0973203, -0.009120509, 0.08775658, -0.08062229) * go_3(1.0, 1.0); - result += mat4(0.115849026, 0.06085271, -0.015712146, -0.035179697, 0.14623754, -0.027535545, 0.105676346, 0.28401312, 0.00610444, -0.18113948, 0.003972312, 0.022277411, 0.030053148, -0.06660701, -0.007032331, -0.026460487) * go_4(-1.0, -1.0); - result += mat4(0.105825655, 0.031863045, -0.011142612, -0.023293436, 0.0680703, 0.12657744, -0.31427047, -0.045503054, 0.019428464, 0.055280883, 0.033349436, -0.0824765, 0.04048357, -0.039309558, -0.13541335, -0.0711577) * go_4(-1.0, 0.0); - result += mat4(0.00587736, 0.066619515, -0.1982745, -0.12112423, -0.001499343, -0.06931127, -0.17176788, 0.030141942, -0.10718468, 0.07443775, -0.12964384, 0.122857764, -0.06771741, -0.07971639, -0.044493467, -0.0075695426) * go_4(-1.0, 1.0); - result += mat4(0.023990182, 0.052072257, -0.07704469, -0.05818583, 0.2703359, -0.1253082, 0.3321394, 0.51275367, -0.20541172, 0.087123945, -0.21254195, -0.21670723, 0.00083692186, -0.04276457, 0.10195174, 0.03721505) * go_4(0.0, -1.0); - result += mat4(0.080449946, 0.18648995, -0.11595206, -0.15039912, -0.07889376, -0.31233358, -0.2996588, 0.551305, -0.20122233, 0.24880885, -0.04481761, -0.3973453, 0.10033973, 0.05511902, 0.029888729, 0.021694044) * go_4(0.0, 0.0); - result += mat4(0.03702065, -0.088798195, 0.06667468, 0.044227604, 0.07188657, -0.04998249, 0.2439061, -0.1476103, -0.064125344, 0.034045372, -0.13339408, 0.109842144, 0.19029056, -0.029507356, -0.08236508, 0.07658855) * go_4(0.0, 1.0); - result += mat4(0.028597932, -0.03854459, 0.047724374, 0.065792255, -0.09860975, -0.08000352, 0.10390718, 0.23593639, -0.11188388, 0.016842902, -0.11817977, 0.06368645, 0.055055078, 0.058349103, -0.08001618, -0.024517627) * go_4(1.0, -1.0); - result += mat4(-0.16921136, -0.04083932, -0.00835477, 0.2030543, -0.012638247, -0.27452287, 0.0956476, -0.04617994, 0.15653826, 0.06020273, -0.10202549, -0.06836085, 0.11841569, 0.048987422, -0.07977096, -0.012123196) * go_4(1.0, 0.0); - result += mat4(-0.0235341, -0.046976402, 0.032694343, -0.16520928, -0.017081633, -0.03708282, 0.07898976, -0.11212351, 0.11997062, 0.15722035, 0.06421537, 0.00097069755, 0.037570357, -0.040770754, -0.0743307, 0.0534563) * go_4(1.0, 1.0); - result += mat4(0.09699342, -0.09981163, -0.10912867, 0.10897145, -0.030223582, -0.014247349, -0.03482929, -0.01305651, -0.038396984, 0.009796579, -0.1132907, 0.077554524, 0.031296402, 0.014200385, 0.22940783, 0.13804206) * go_5(-1.0, -1.0); - result += mat4(0.1207108, -0.1887047, 0.15963583, 0.03816067, -0.017255, 0.008443818, -0.065400094, 0.044166937, 0.17263496, 0.14113733, 0.082817905, 0.082012236, 0.096803635, -0.06069386, -0.062445905, -0.04569513) * go_5(-1.0, 0.0); - result += mat4(-0.03677858, 0.027012087, -0.20495425, 0.16764086, -0.025615353, -0.0020314269, 0.007159334, -0.0044264444, -0.04242938, -0.04116411, -0.063763745, -0.016643412, -0.022430163, -0.09297498, 0.0027288082, 0.09743419) * go_5(-1.0, 1.0); - result += mat4(0.098948084, -0.13285282, 0.19235732, 0.2794696, 0.004499766, -0.015963264, -0.0557736, 0.0024319638, -0.048159864, 0.029840004, -0.32350582, -0.21436322, 0.11063215, -0.07647232, -0.061627094, -0.09123133) * go_5(0.0, -1.0); - result += mat4(0.13004114, -0.12624854, -0.1305723, -0.18789066, 0.041747153, 0.019262334, 0.17703997, 0.02054544, 0.16357894, 0.09787803, 0.07931654, 0.23711719, 0.07959038, -0.14655703, 0.19117653, 0.5182774) * go_5(0.0, 0.0); - result += mat4(-0.021226425, -0.15988874, -0.25700846, 0.08832854, 0.012499655, 0.011893902, 0.029938264, -0.0056565106, -0.047849346, -0.07041324, 0.1554268, -0.09428568, -0.057141136, 0.0027243465, 0.08234678, 0.028744241) * go_5(0.0, 1.0); - result += mat4(0.011884608, -0.14763886, -0.021171318, 0.14934142, -0.018248998, -0.024268437, -0.014130621, -0.0027485457, -0.0809039, 0.05827554, -0.14076029, -0.1408414, 0.033655114, -0.113111265, 0.007957397, 0.024406865) * go_5(1.0, -1.0); - result += mat4(-0.03952874, -0.10756346, -0.21955557, 0.07950554, -0.05224832, -0.0015799722, 0.019645864, 0.046215426, 0.025174068, 0.05614136, -0.02355428, 0.12604117, -0.05630602, -0.104844145, 0.0040577715, 0.20292816) * go_5(1.0, 0.0); - result += mat4(0.08337458, -0.04375854, 0.12814969, -0.0505745, -0.02162198, -0.022859862, -0.009827576, -0.06884463, -0.13378213, -0.024044786, -0.1587514, -0.09542159, -0.079674646, -0.118072495, -0.015328217, -0.034902822) * go_5(1.0, 1.0); - result += vec4(0.06617475, 0.031411394, -0.08600086, -0.12331019); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.104435995, 0.08523803, 0.13313451, 0.01485225, -0.067918435, 0.17933276, 0.021827344, 0.0296916, -0.07059249, 0.0037901546, 0.016877035, -0.029718481, 0.013821487, 0.0051245163, -0.009027754, -0.0703365) * go_0(-1.0, -1.0); - result += mat4(-0.13151535, 0.05132924, 0.2739186, 0.48619145, 0.13476053, 0.3685631, -0.027353717, -0.07500873, -0.05480841, -0.014034983, -0.085864894, 0.08971871, 0.07406436, -0.01183941, 0.16449541, -0.06773314) * go_0(-1.0, 0.0); - result += mat4(0.013538097, 0.1583598, -0.055277165, 0.07637614, 0.07473682, 0.22345996, 0.030919895, -0.06126728, 0.02978074, -0.10157281, -0.1264838, 0.00084818545, 0.10940815, -0.0269847, 0.063068226, -0.03479123) * go_0(-1.0, 1.0); - result += mat4(0.043592498, 0.18918565, 0.21017411, -0.023375075, -0.021484343, -0.06985366, 0.21826547, -0.00875028, 0.07610231, -0.08861247, 0.03791508, 0.0031226536, -0.028661136, 0.060399413, 0.0592066, -0.06264682) * go_0(0.0, -1.0); - result += mat4(0.21633635, 0.22528979, 0.47684777, -0.058535807, 0.08307837, -0.19632038, 0.12323838, -0.02472063, 0.056115244, 0.07563149, -0.083180495, -0.07311292, 0.03583403, -0.2776853, -0.20366116, -0.022084663) * go_0(0.0, 0.0); - result += mat4(0.057834644, 0.19703801, -0.047718063, 0.079801254, 0.12549312, 0.026414996, 0.023341564, 0.082731344, 0.14167784, 0.048134133, -0.04772942, 0.09571532, -0.097056195, 0.007009441, 0.06857669, 0.026794193) * go_0(0.0, 1.0); - result += mat4(0.041096892, 0.006188847, 0.11750499, -0.13447829, 0.0017394158, 0.01783059, 0.15956202, -0.03767544, 0.02673659, -0.05342451, -0.14283001, 0.004724371, -0.024063434, 0.023162393, 0.054349884, -0.10900122) * go_0(1.0, -1.0); - result += mat4(0.07189023, 0.014259161, -0.028867813, -0.045834795, 0.14308538, 0.17444627, 0.17258337, 0.022358263, -0.05739824, 0.07874781, 0.00055093376, -0.12329737, -0.063672766, 0.025692929, -0.052464493, 0.17745042) * go_0(1.0, 0.0); - result += mat4(0.026802428, 0.13577338, -0.06985617, 0.074659124, 0.1569288, 0.08905961, 0.012837567, -0.052218303, -0.025591483, 0.119624466, 0.024393069, 0.19790728, -0.037801497, 0.05334152, 0.019320685, -0.012112278) * go_0(1.0, 1.0); - result += mat4(0.05892214, -0.032721363, -0.045643594, -0.030719811, -0.104445435, -0.1574105, -0.06973961, 0.0880568, -0.015203705, -0.13851601, -0.01675903, -0.025943246, 0.05482791, -0.08070468, 0.0048817545, -0.2195491) * go_1(-1.0, -1.0); - result += mat4(0.21571757, -0.1806072, -0.010998025, 0.020393362, 0.021816706, -0.018158916, -0.11101471, 0.016325697, -0.12101562, -0.049236, -0.20187455, 0.1455995, 0.04611496, 0.08955074, -0.098323554, 0.009564463) * go_1(-1.0, 0.0); - result += mat4(0.005143037, 0.031717982, -0.050139457, -0.1109613, 0.03775848, 0.00954106, -0.06293631, 0.0890101, -0.00040289984, -0.03748492, -0.06439364, 0.07678777, 0.08420904, -0.019876583, -0.122263946, -0.06204237) * go_1(-1.0, 1.0); - result += mat4(-0.20215075, 0.050689973, -0.046013024, 0.0023596657, -0.15971628, -0.20731676, 0.12560777, 0.29917854, -0.111574054, -0.04077845, -0.11790463, 0.04522926, 0.18117487, -0.17887163, -0.09449106, -0.32954872) * go_1(0.0, -1.0); - result += mat4(-0.048394788, 0.0773854, 0.069474846, -0.15471548, -0.22533698, -0.03836189, 0.042107325, 0.07787484, -0.19023094, -0.31975862, 0.027023884, 0.22310641, -0.30156738, -0.18671185, 0.10680384, -0.17596984) * go_1(0.0, 0.0); - result += mat4(-0.049384125, -0.10053522, -0.02494229, 0.13089181, 0.12716612, -0.011930183, -0.055107582, -0.011396776, -0.037174955, -0.07332422, -0.037290994, -0.020584442, 0.12331001, -0.15849335, -0.11254808, -0.0070635113) * go_1(0.0, 1.0); - result += mat4(0.10335844, 0.014899349, -0.064154595, -0.0028669129, 0.034805696, -0.18495506, 0.005376811, 0.08496156, 0.013403576, -0.014818112, -0.01596864, -0.03724775, 0.07349724, -0.0763195, 0.0443468, -0.22289227) * go_1(1.0, -1.0); - result += mat4(0.121551886, 0.006529306, -0.013299677, -0.19693732, -0.0043474436, -0.19871178, -0.052884568, 0.074092165, -0.038850788, 0.033550348, -0.08163774, 0.06271596, 0.20859785, 0.0067883697, -0.046475146, -0.48063815) * go_1(1.0, 0.0); - result += mat4(0.083180554, 0.052318644, 0.03218632, 0.11313337, -0.031635284, -0.09441545, -0.004538136, 0.03766669, -0.15290408, 0.029063439, -0.08709602, 0.20032041, 0.10752559, -0.025936332, -0.16803461, -0.31867516) * go_1(1.0, 1.0); - result += mat4(-0.011112246, 0.05966688, 0.08825975, -0.06790863, -0.0754694, -0.19575286, 0.08554758, -0.18269138, -0.1280453, 0.18379766, -0.08955887, 0.17286651, -0.013172642, -0.0035751443, 0.055351105, -0.02254156) * go_2(-1.0, -1.0); - result += mat4(-0.11329527, 0.181477, -0.054028887, 0.037797876, -0.14424248, -0.15426451, -0.0749264, -0.15829895, -0.09827482, 0.13866791, 0.013977896, 0.3066159, 0.03892076, 0.0022721966, 0.088637464, -0.18673263) * go_2(-1.0, 0.0); - result += mat4(0.052434247, 0.1075718, 0.09951973, -0.026689908, -0.082213305, -0.068657055, -0.10954474, -0.36598998, 0.059983972, 0.071539626, 0.105706535, -0.014004922, -0.04493435, -0.00943364, 0.014306285, -0.086277805) * go_2(-1.0, 1.0); - result += mat4(-0.07653824, -0.05569481, 0.12022612, -0.02960086, -0.0827238, -0.12082348, 0.018902717, -0.17416616, -0.03121552, 0.008206833, -0.10166017, 0.0037599066, -0.009543466, 0.0020527479, 0.050042894, -0.10293714) * go_2(0.0, -1.0); - result += mat4(0.14261888, -0.1898871, -0.15847605, 0.028050601, -0.016525509, -0.03094436, -0.19239494, -0.18140908, 0.14230183, -0.33403888, -0.39611194, 0.13778488, 0.1988197, -0.06581933, 0.002683303, -0.108148) * go_2(0.0, 0.0); - result += mat4(-0.037351307, -0.09952294, 0.024785696, -0.0168355, -0.07218153, -0.1065052, -0.081961505, -0.15091445, 0.18406965, 0.13677996, -0.14867578, 0.089149386, -0.05840212, -0.059798297, -0.0201243, -0.029525604) * go_2(0.0, 1.0); - result += mat4(-0.009857878, -0.087470345, 0.011972532, -0.13542594, 0.0354294, -0.20797616, -0.024621738, -0.08760984, 0.072218195, -0.13620329, -0.050354343, -0.17628804, 0.0071922955, 0.0018819867, -0.03858231, 0.018087402) * go_2(1.0, -1.0); - result += mat4(-0.1553403, -0.03627257, 0.004989727, -0.0921159, -0.05149391, -0.21778369, -0.06126919, -0.072652444, 0.22329745, -0.11201775, -0.122997835, 0.05540077, -0.07249663, 0.0042517297, -0.05706445, 0.017356722) * go_2(1.0, 0.0); - result += mat4(-0.05847665, -0.015685597, 0.14335254, -0.007372796, -0.0077773617, -0.08556339, 0.06739385, -0.04068274, 0.15799382, 0.038163103, 0.05265575, -0.08238097, 0.040807348, -0.07065019, 0.028166778, -0.15436243) * go_2(1.0, 1.0); - result += mat4(-0.16044334, 0.283655, -0.022656776, 0.08448171, -0.038254652, -0.044832315, 0.08454063, 0.007472126, -0.009800128, 0.18591672, 0.10872203, -0.058036473, -0.098420285, 0.023155827, -0.04196021, 0.09891162) * go_3(-1.0, -1.0); - result += mat4(-0.17852576, 0.54625523, -0.081733584, 0.081366554, -0.069625385, -0.11218507, 0.028421586, 0.071588986, -0.014985082, -0.087979324, 0.3142317, -0.19760501, -0.16015647, 0.13895224, -0.2701074, 0.30648437) * go_3(-1.0, 0.0); - result += mat4(-0.014566373, 0.02057931, 0.10014358, 0.06578205, -0.15359782, -0.11839336, 0.13061163, 0.076945096, -0.01413561, -0.013397205, 0.015244041, -0.10279087, 0.09975661, -0.023128696, -0.016278943, 0.18001132) * go_3(-1.0, 1.0); - result += mat4(-0.06356644, 0.14646067, 0.016344864, -0.013904187, 0.064943634, -0.1281504, -0.06950529, -0.028252209, -0.011304186, 0.04061305, 0.09251525, -0.05251633, 0.09714447, -0.05430799, -0.17469239, 0.1850043) * go_3(0.0, -1.0); - result += mat4(-0.14378282, 0.22984904, 0.32252252, 0.26133427, 0.45289674, 0.14866802, -0.24101377, -0.18861331, -0.030501021, -0.1883431, -0.13604005, -0.15657176, 0.020317623, 0.23096721, 0.10420801, 0.15710264) * go_3(0.0, 0.0); - result += mat4(0.06454669, -0.04189079, 0.056962494, -0.04948231, -0.2148223, -0.039649688, -0.0113121355, 0.20814565, 0.111416936, -0.035151463, -0.056465276, -0.080573045, -0.07819258, 0.018179936, -0.2283728, 0.12155499) * go_3(0.0, 1.0); - result += mat4(-0.02560027, 0.070398115, -0.02989104, 0.028688442, 0.04278315, 0.013474358, -0.07253673, 0.02276444, 0.12581308, -0.03901054, 0.08311041, -0.08153711, 0.02564736, -0.043852035, -0.028089473, -0.044236403) * go_3(1.0, -1.0); - result += mat4(0.09625976, 0.005770156, 0.16631871, -0.1034893, -0.19147423, 0.004631949, -0.07540428, 0.015621006, 0.03929467, 0.04762953, -0.080173716, -0.10179307, 0.059833538, 0.05659006, -0.13382521, -0.0313998) * go_3(1.0, 0.0); - result += mat4(0.07715199, -0.03317866, -0.024203375, -0.1298324, -0.09655965, -0.026206894, 0.18922973, 0.07624604, -0.007847103, -0.058786727, -0.049493928, 0.019805223, -0.008090047, -0.019503202, -0.064513676, 0.10351463) * go_3(1.0, 1.0); - result += mat4(0.022054255, -0.07858889, -0.10127163, -0.06832876, -0.07584891, 0.04215273, -0.0029053919, 0.08290376, -0.03475005, 0.08332925, 0.009553486, 0.07245685, -0.017920833, 0.015080806, -0.0002565289, 0.006093501) * go_4(-1.0, -1.0); - result += mat4(0.09178481, 0.013873079, -0.02395207, -0.133258, -0.08877421, -0.21369275, -0.11754095, 0.17205496, 0.012909828, 0.10264451, 0.23808923, 0.055029023, 0.034399036, -0.046347205, 0.0067525543, 0.0777463) * go_4(-1.0, 0.0); - result += mat4(-0.02699122, 0.04746888, -0.113287434, -0.025223, -0.005920497, -0.21902934, -0.13731015, 0.014423957, 0.036004063, 0.05559045, -0.0655789, 0.13083544, -0.06181434, 0.042077873, 0.022695009, 0.043042142) * go_4(-1.0, 1.0); - result += mat4(0.05076442, -0.06772015, -0.044568565, -0.018430268, -0.046832457, 0.14489225, 0.118378006, 0.053310696, 0.117090195, 0.23086876, 0.058276806, -0.03198186, -0.026497893, 0.09645919, 0.08429416, -0.022437949) * go_4(0.0, -1.0); - result += mat4(0.06788362, -0.071499035, -0.03412108, -0.1442882, -0.061426826, 0.15115702, 0.20443979, 0.42235458, 0.34301203, 0.15906362, -0.4573595, -0.38218448, 0.074763715, 0.03956433, -0.2741876, -0.045825735) * go_4(0.0, 0.0); - result += mat4(0.042785604, 0.086842, 0.06526033, -0.26330376, -0.13392642, -0.09802622, -0.060285453, -0.04659627, 0.063904576, 0.030205727, -0.02990855, -0.03692373, 0.009259516, -0.033007562, -0.027945964, 0.12487634) * go_4(0.0, 1.0); - result += mat4(-0.04833785, 0.025812654, 0.09670586, -0.0398005, 0.084576905, 0.006827775, 0.21430464, -0.062337395, 0.01071662, 0.042277753, -0.07786652, 0.080589384, 0.050834, -0.018442666, -0.10043296, 0.0051965285) * go_4(1.0, -1.0); - result += mat4(-0.06940597, 0.0052362564, 0.11979121, 0.002420146, -0.014626038, -0.033247836, 0.07638099, 0.024731234, 0.13817027, -0.034607813, 0.069013715, -0.1591328, 0.017410269, 0.020814985, -0.071453065, 0.07467316) * go_4(1.0, 0.0); - result += mat4(-0.03586743, 0.0875829, 0.14604242, -0.08374493, -0.015870938, -0.037566822, -0.04257119, 0.013528102, 0.051471747, -0.00025074458, -0.043193746, -0.10538127, -0.0122199105, -0.0105835805, 0.096613646, -0.0008547738) * go_4(1.0, 1.0); - result += mat4(-0.09195929, -0.01251629, 0.1138194, -0.03152187, -0.027415436, 0.017695861, -0.05137721, -0.0006171527, 0.021749081, 0.070172004, 0.057883944, -0.031044329, -0.036268383, -0.17082807, -0.0331674, -0.03538632) * go_5(-1.0, -1.0); - result += mat4(-0.27754265, -0.029477704, 0.34336638, -0.0011287191, -0.025141917, 0.034894004, 0.048627432, 0.053214233, -0.053281713, 0.03867139, -0.028029127, 0.09459172, 0.008080466, -0.122576915, -0.020655254, -0.1817124) * go_5(-1.0, 0.0); - result += mat4(-0.1662597, -0.15292045, -0.0053951927, -0.067345075, 0.00020036062, -0.0026049272, -0.038856488, 0.00017393462, -0.03796784, -0.03248859, -0.024195418, 0.06486219, 0.09273242, -0.1581097, 0.03317699, -0.08153722) * go_5(-1.0, 1.0); - result += mat4(-0.11341117, 0.036644243, 0.20370142, -0.12600902, 0.02261616, -0.033919003, 0.028898139, 0.019782161, 0.20895214, -0.09579635, -0.08383094, -0.04259736, 0.0101915635, -0.034835722, 0.05754228, 0.027356239) * go_5(0.0, -1.0); - result += mat4(-0.104123175, 0.122171596, 0.2642155, -0.08453785, 0.019124847, -0.03925304, 0.08668516, -0.16025878, -0.17377967, 0.3448709, 0.024630664, -0.080416046, -0.41245192, 0.062051725, 0.0105510065, -0.19370769) * go_5(0.0, 0.0); - result += mat4(0.021447789, -0.06635468, 0.01480373, 0.04688862, 0.02536135, 0.031706117, 0.019310655, -0.045567643, -0.109611645, -0.11746073, 0.07113426, 0.16584454, 0.05936068, -0.027226295, 0.073482916, -0.12929685) * go_5(0.0, 1.0); - result += mat4(0.0190673, 0.0045874445, 0.09324168, -0.13466571, 0.010220709, 0.037733227, -0.0111948475, 0.006582617, -0.027675852, 0.103390485, -0.15095036, 0.1242396, 0.04393306, -0.0034322627, 0.12748775, -0.08938276) * go_5(1.0, -1.0); - result += mat4(0.05321518, 0.025193566, 0.17684115, -0.017202778, -0.019295435, -0.046254706, 0.055901498, 0.02723333, -0.1394657, 0.054581758, -0.0807223, -0.047655288, 0.048698746, -0.045940652, 0.19415994, 0.0033838819) * go_5(1.0, 0.0); - result += mat4(-0.017342623, 0.116635494, 0.012575626, 0.04339496, 0.0025065525, -0.004621888, -0.049964648, 0.0034235734, 0.04433295, 0.033285826, -0.11080989, 0.124883905, 0.06634157, -0.040422186, -0.04232008, 0.07501063) * go_5(1.0, 1.0); - result += vec4(-0.06898461, -0.06177714, -0.06478548, 0.022993876); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0349472, -0.09146782, -0.015455071, -0.02013195, -0.013576279, 0.1715199, -0.060827523, -0.060094133, -0.06020249, -0.02977466, -0.010053687, -0.0333128, 0.08293437, 0.08380394, -0.062162157, 0.09678952) * go_0(-1.0, -1.0); - result += mat4(0.09930308, -0.07924828, 0.013899443, -0.44464898, -0.03707883, -0.006584696, -0.05389371, -0.060199857, -0.019344926, -0.01931973, -0.09749517, -0.0686553, -0.07339165, -0.048708685, 0.01131454, 0.1376503) * go_0(-1.0, 0.0); - result += mat4(-0.26070634, 0.040811583, 0.116160385, 0.21038511, -0.27048224, 0.0031473516, 0.032511245, 0.121619865, 0.047579095, -0.114472836, 0.058695633, 0.019592037, -0.03866724, 0.15776725, -0.008668879, 0.05827778) * go_0(-1.0, 1.0); - result += mat4(0.121598184, 0.08180447, -0.03398555, -0.063269034, 0.20604548, 0.0030689642, -0.009161656, -0.10142109, -0.09195833, -0.12376092, -0.05792068, 0.071478724, 0.055384632, 0.0047193686, -0.037130035, -0.04934333) * go_0(0.0, -1.0); - result += mat4(0.12193808, 0.1254089, 0.4908329, -0.21140434, 0.12811103, -0.15737641, -0.23926133, 0.43005112, 0.15134192, -0.08466868, 0.12739879, 0.0066337097, 0.16472779, -0.105588906, -0.22597887, 0.14652383) * go_0(0.0, 0.0); - result += mat4(-0.16729999, -0.03391507, 0.07358867, 0.060984816, -0.12153663, 0.06727532, 0.18193701, 0.08977565, 0.11250762, -0.018742424, -0.15230577, -0.14556353, 0.16327548, 0.095403135, -0.13089553, 0.072550654) * go_0(0.0, 1.0); - result += mat4(0.13752456, 0.03894747, 0.031068675, 0.023082117, 0.17917861, 0.07080096, -0.011008945, -0.09391019, -0.006836284, -0.015607849, 0.046196267, 0.015853055, -0.12630671, -0.081082314, -0.086036764, 0.1590758) * go_0(1.0, -1.0); - result += mat4(0.012728998, -0.09810741, 0.14294422, -0.059659157, 0.03056563, -0.024036996, -0.015403818, -0.118189946, -0.051906176, -0.17971419, -0.0959625, 0.08985921, 0.10979987, 0.10597462, -0.043452974, 0.03186385) * go_0(1.0, 0.0); - result += mat4(0.020659165, 0.049573228, 0.051704157, 0.028366942, 0.022190692, -0.051479015, 0.054295983, -0.017384693, 0.0026946815, 0.010077197, -0.012801315, 0.0016714733, 0.08869389, 0.05164402, 0.03406929, -0.037191015) * go_0(1.0, 1.0); - result += mat4(-0.10028344, -0.16634189, 0.019711684, 0.020383958, -0.084915325, 0.11053288, -0.07768085, -0.01981037, 0.107243344, -0.012217411, -0.023985125, -0.08483301, -0.19850655, -0.06305865, 0.03655547, 0.06864395) * go_1(-1.0, -1.0); - result += mat4(0.20698719, -0.2885775, 0.059498087, -0.008909828, -0.08331985, 0.13849287, 0.032946825, 0.14271452, -0.104721665, 0.12004092, 0.14654724, -0.004502498, 0.006716589, -0.17328952, 0.014115839, -0.016801946) * go_1(-1.0, 0.0); - result += mat4(0.041014872, -0.080156274, -0.043762606, 0.0528254, -0.04514068, -0.073835544, 0.04116111, -0.0028962197, 0.06113734, -0.00660851, 0.04496306, -0.19104107, 0.10144654, -0.19428198, -0.04189575, -0.027004357) * go_1(-1.0, 1.0); - result += mat4(0.076202326, 0.031882156, -0.08089088, 0.02722187, -0.24690835, -0.035489604, 0.17377102, -0.046913855, 0.09538933, 0.13880032, 0.032495037, -0.053468306, 0.018272033, -0.13557187, -0.0016809801, 0.16564687) * go_1(0.0, -1.0); - result += mat4(-0.1318004, 0.0781202, 0.026608787, 0.2782413, -0.015252272, 0.06966941, 0.6830404, -0.21273687, 0.035827838, -0.013433616, -0.19725588, 0.115758345, 0.12179782, -0.1338549, -0.041967906, 0.3419551) * go_1(0.0, 0.0); - result += mat4(-0.06732849, -0.00047242, -0.09643446, -0.048419215, 0.030914927, -0.13920021, 0.08296221, 0.042942315, 0.18975921, 0.023672665, -0.08061805, -0.11823857, -0.055623423, -0.1345549, 0.1951731, 0.10466201) * go_1(0.0, 1.0); - result += mat4(-0.042122774, -0.14092919, 0.097806625, -0.16809812, -0.0017256415, 0.07320015, 0.02623979, 0.056631763, -0.059066445, 0.050315112, 0.022210397, 0.020917628, 0.07918204, -0.047513902, -0.022105288, 0.017238917) * go_1(1.0, -1.0); - result += mat4(-0.10645019, -0.2826466, 0.06739196, 0.09756199, 0.031106336, -0.08260654, -0.036933657, 0.050086416, 0.0987824, -0.033137392, 0.08894681, -0.23773453, 0.023050837, -0.23565383, -0.09519961, 0.09613443) * go_1(1.0, 0.0); - result += mat4(-0.05644008, -0.21541502, 0.11537729, -0.13721548, -0.020957267, 0.10175056, -0.052707233, 0.17628355, 0.028461214, 0.3014536, -0.038585383, -0.014727664, -0.044595238, -0.10416226, -0.04355546, 0.22365475) * go_1(1.0, 1.0); - result += mat4(-0.08733939, 0.08058479, -0.004023699, -0.025807053, -0.002117148, -0.23746334, 0.065963335, 0.020958645, -0.22460108, -0.009205423, -0.07651075, -0.15989082, 0.05807728, 0.023019457, -0.05400351, 0.075997986) * go_2(-1.0, -1.0); - result += mat4(-0.18092917, 0.29806077, 0.024918934, 0.114404745, 0.049839694, -0.18546863, 0.12478854, 0.13304788, -0.15392973, 0.051560715, -0.06856269, -0.3036006, 0.08124072, -0.05298596, -0.030516481, 0.12273301) * go_2(-1.0, 0.0); - result += mat4(-0.09820723, 0.08067553, 0.029639702, 0.03668786, -0.10049537, -0.19294576, 0.17826727, 0.1635976, -0.16384046, -0.1220917, 0.008744192, 0.012697882, -0.043205783, 0.10298051, 0.021135183, 0.15958472) * go_2(-1.0, 1.0); - result += mat4(0.021761253, 0.1893263, -0.0020750812, 0.14222866, -0.103759706, -0.13740262, 0.08272797, -0.059319258, 0.13402042, -0.07973959, 0.08683529, -0.15174694, -0.1330933, -0.036825962, -0.0028282823, 0.021407785) * go_2(0.0, -1.0); - result += mat4(0.12504603, 0.2479715, -0.35803804, -0.026018003, 0.022745723, -0.07542199, 0.23766859, -0.056435704, 0.033115927, 0.22251359, 0.09025703, -0.39158693, 0.28631303, -0.13876301, -0.4956844, 0.55813307) * go_2(0.0, 0.0); - result += mat4(0.16973238, 0.107451506, -0.10936354, 0.025205612, -0.0154478075, -0.22515228, 0.0618484, -0.053435117, -0.1634102, -0.2720532, 0.22150621, 0.0012615388, 0.045661222, 0.028745374, 0.043213993, 0.014749005) * go_2(0.0, 1.0); - result += mat4(0.08600755, 0.11467286, -0.030524427, 0.025168872, -0.10489299, -0.37458676, 0.07771989, -0.0042441254, -0.11694848, -0.35681316, 0.04747507, -0.0027261428, -0.025253184, -0.08753649, -0.006478329, -0.027177837) * go_2(1.0, -1.0); - result += mat4(-0.0007465437, 0.28975293, -0.18405293, 0.119266, -0.10667221, -0.1802464, 0.19241495, 0.02650873, 0.010430683, -0.23149595, -0.031080026, -0.0006125235, 0.037027247, -0.09754189, 0.04630445, -0.018924896) * go_2(1.0, 0.0); - result += mat4(0.019050436, 0.17480409, -0.13520603, 0.09094483, -0.02445997, -0.21114577, 0.050991118, -0.029637761, -0.16994584, -0.2239252, 0.11126132, -0.06577722, 0.056996938, 0.006512977, -0.049459394, 0.07697084) * go_2(1.0, 1.0); - result += mat4(0.16364041, -0.058814153, -0.07960281, -0.22106613, 0.051421925, 0.13432528, 0.03029435, -0.053310465, -0.043934733, 0.28936264, -0.07070681, -0.04899224, -0.11805805, -0.028338438, 0.100599535, -0.048358817) * go_3(-1.0, -1.0); - result += mat4(-0.14466347, 0.2542083, 0.114321895, 0.060320944, 1.432933e-05, -0.009625721, -0.037658967, -0.22428983, -0.0722048, 0.03882146, 0.17885631, 0.16377795, 0.112711646, -0.13564147, -0.022007236, -0.20185186) * go_3(-1.0, 0.0); - result += mat4(0.1199308, 0.065274626, 0.040273953, -0.029960137, 0.14304884, 0.059161276, -0.02586767, -0.19456553, -0.020681847, -0.03329421, 0.026978612, 0.06485361, 0.088268556, -0.0095202075, -0.1777034, -0.06573516) * go_3(-1.0, 1.0); - result += mat4(0.19750524, -0.124522515, 0.04549369, -0.14726287, -0.13690545, 0.06770214, 0.105929896, 0.10787474, 0.21234562, 0.15915224, 0.12821364, -0.10518945, -0.019162156, 0.060908437, 0.0070991656, -0.05853554) * go_3(0.0, -1.0); - result += mat4(-0.332194, -0.1090442, 0.11825454, 0.0843628, -0.03258615, 0.08459736, 0.11480732, -0.047636237, -0.095243596, 0.07337737, -0.11959047, 0.14512871, 0.034495726, -0.086968474, 0.19812642, -0.013120597) * go_3(0.0, 0.0); - result += mat4(0.038461242, 0.03316589, 0.09561463, 0.18557192, -0.010941443, 0.0907286, -0.016086651, -0.23144832, -0.044253506, -0.058702238, -0.0011041966, -0.045634367, -0.09162548, -0.045157652, -0.021990022, 0.13162635) * go_3(0.0, 1.0); - result += mat4(-0.02456783, -0.03417151, 0.053517457, 0.0039862576, -0.005629444, -0.027595684, -0.09233445, -0.05521366, -0.028361535, -0.10314045, 0.05208228, -0.01962492, -0.096213296, -0.024513567, -0.05102384, 0.13520533) * go_3(1.0, -1.0); - result += mat4(0.08790174, -0.1792104, 0.06702363, 0.036870077, -0.08648169, 0.2826172, -0.17046972, 0.019982012, -0.036582787, -0.055289216, -0.008255741, 0.004824183, 0.03871658, 0.032730278, -0.05807295, 0.06396422) * go_3(1.0, 0.0); - result += mat4(0.032679293, -0.15864716, 0.06863736, 0.038946554, -0.009387644, 0.2248399, -0.022594031, -0.18380828, 0.08792525, -0.053283963, -0.112759285, 0.027726877, -0.086085774, -0.12300368, 0.05827494, -0.17386718) * go_3(1.0, 1.0); - result += mat4(0.08048039, -0.1314228, -0.037761286, 0.047317382, -0.08880487, 0.06179501, 0.07499687, 0.05924045, -0.045838207, 0.18014897, -0.025729936, 0.16530922, 0.06670338, 0.048252247, -0.012380218, 0.02654277) * go_4(-1.0, -1.0); - result += mat4(0.090738244, -0.07097098, 0.02538609, 0.025717502, -0.031697266, -0.09336655, -0.018525556, -0.18561147, 0.036027636, -0.044611387, -0.06725372, -0.183522, 0.0788194, -0.02451563, 0.034200825, -0.032755863) * go_4(-1.0, 0.0); - result += mat4(0.06220659, -0.042783756, -0.021792164, -0.0828951, -0.060966644, 0.0074828877, 0.10836738, 0.12144929, -0.07855744, -0.022806635, 0.02449449, -0.08472964, -0.00337497, 0.14822102, -0.0063337362, -0.022158459) * go_4(-1.0, 1.0); - result += mat4(-0.015443758, -0.14636597, 0.092075996, -0.032396555, 0.57801515, -0.038087387, -0.002455976, -0.21212098, -0.25436863, -0.0014624707, -0.06944989, 0.041554075, 0.07314171, -0.031875722, -0.0898564, -0.009711315) * go_4(0.0, -1.0); - result += mat4(0.39667594, -0.19510192, -0.15319824, 0.09397803, 0.11162815, 0.08910584, -0.17241088, -0.32170787, 0.099810265, -0.24704264, 0.3502755, 0.076993406, -0.011241086, -0.027046101, 0.24804646, -0.03629868) * go_4(0.0, 0.0); - result += mat4(0.04532466, -0.025737574, 0.076878645, -0.022860521, -0.21166173, 0.0066573257, 0.11451736, 0.098494835, 0.054614626, 0.0324795, -0.07475363, -0.016862292, 0.12980871, -0.12060518, -0.078866445, -0.037514597) * go_4(0.0, 1.0); - result += mat4(-0.077329785, 0.20992881, -0.024529329, 0.032680444, 0.28252345, -0.053790633, 0.17370275, -0.14319752, -0.19114175, 0.012085368, 0.0410558, 0.08803704, -0.077949844, -0.15750417, 0.030377569, 0.0388851) * go_4(1.0, -1.0); - result += mat4(-0.063492425, 0.12690471, 0.008844376, -0.14553507, 0.17035894, 0.18411207, 0.21632117, -0.015488823, -0.02806988, -0.13371038, -0.12625034, 0.20475954, -0.059775293, -0.055161443, -0.05210265, 0.15280373) * go_4(1.0, 0.0); - result += mat4(-0.03649832, 0.09987268, 0.05120556, 0.025184184, -0.058899805, -0.07387821, 0.18710648, -0.10555811, -0.02759419, -0.19976474, -0.064043306, 0.030171674, 0.016179368, 0.04791283, -0.053911958, 0.050767425) * go_4(1.0, 1.0); - result += mat4(0.03843477, 0.25258064, 0.016070124, 0.028574495, -0.0068474114, 0.06865137, 0.022342455, -0.0075285095, -0.025927907, 0.029985406, 0.013440689, -0.012433278, 0.014569347, -0.11100144, 0.12033138, 0.010771042) * go_5(-1.0, -1.0); - result += mat4(-0.015851736, 0.3167264, -0.0836191, -0.005717406, -0.064080216, 0.070136465, -0.06756247, -0.023658438, 0.011184833, -0.17086872, -0.01512278, -0.13807635, -0.077147275, 0.06359306, 0.044558518, 0.17371671) * go_5(-1.0, 0.0); - result += mat4(0.016337229, 0.2540961, -0.1538914, 0.05068191, 0.027084729, 0.00067840813, -0.00576344, -0.00596408, -0.011028981, 0.036047217, 0.03535427, -0.0008666505, -0.01604948, -0.035426773, 0.09279044, 0.16961862) * go_5(-1.0, 1.0); - result += mat4(0.26191124, 0.17618547, -0.060725193, -0.10107231, 0.028958656, 0.0012716176, 0.0041506914, -0.0021748038, -0.35696867, -0.09372129, 0.12742971, 0.23923989, 0.09219072, 0.024196591, 0.003192825, -0.041768644) * go_5(0.0, -1.0); - result += mat4(-0.17835465, 0.8621154, 0.32936049, -0.058551144, -0.021967549, -0.15256044, 0.07056792, -0.010208738, -0.25470692, -0.31490391, -0.16554967, 0.08553254, -0.14494352, 0.077428155, 0.29464936, -0.25275782) * go_5(0.0, 0.0); - result += mat4(-0.06149193, 0.16008708, 0.08229276, 0.027298545, -0.043383293, -0.025251184, 0.035522345, 0.043242358, -0.016117992, 0.0016717165, -0.011271885, -0.08116671, -0.06230632, -0.0059490846, 0.06996346, 0.087275974) * go_5(0.0, 1.0); - result += mat4(0.2020623, 0.18089826, -0.052554823, 0.09357937, 0.007033659, 0.026354209, 0.013584589, -0.005457746, -0.22913294, 0.13770905, -0.056017175, 0.027802086, 0.18037985, 0.03405338, 0.006718533, 0.02469646) * go_5(1.0, -1.0); - result += mat4(0.028112786, 0.16723098, 0.0066787126, 0.07016463, 0.046073828, 0.044055372, -0.047022585, -0.060435526, -0.041117955, 0.03657766, 0.0816698, -0.15707959, 0.22355783, 0.020610418, 0.0853779, -0.12445744) * go_5(1.0, 0.0); - result += mat4(0.05012942, -0.045172162, 0.08681702, -0.06541369, -0.01762828, 0.011376011, 0.015611381, 0.027792938, 0.013394507, 0.034215946, 0.06960491, -0.064838886, 0.03150636, -0.038445942, 0.17026442, 0.023619778) * go_5(1.0, 1.0); - result += vec4(0.067609355, -0.057853002, -0.09608125, 0.087347224); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0903666, 0.07326563, 0.12570351, -0.0861333, 0.08773195, 0.08107881, -0.23008522, 0.081658274, -0.080930784, 0.095189065, -0.09599475, -0.012844856, -0.057758823, -0.05387305, 0.035611577, 0.06831291) * go_0(-1.0, -1.0); - result += mat4(0.10193587, 0.24297304, 0.052464593, -0.23271905, -0.051271625, -0.04671388, -0.41551715, 0.096072406, -0.08061266, 0.15575954, -0.02978901, 0.02782589, -0.12731546, 0.100969315, -0.036334585, 0.04111131) * go_0(-1.0, 0.0); - result += mat4(-0.07986279, 0.06354848, 0.054493763, 0.02064465, 0.1899048, -0.23340854, -0.020978438, -0.11192701, 0.0894504, 0.10851951, 0.022597404, -0.093431845, 0.1323124, -0.037850555, -0.07144082, -0.11149757) * go_0(-1.0, 1.0); - result += mat4(0.20984441, 0.1316296, 0.028271135, -0.3395805, -0.060018715, 0.09772287, 0.023952218, 0.09067281, -0.024634736, 0.11768398, 0.12226884, 0.11482385, 0.09000994, 0.17652623, 0.16630758, -0.11148413) * go_0(0.0, -1.0); - result += mat4(0.16063517, 0.05484425, -0.013026712, 0.09420388, -0.07708702, -0.15001677, -0.17628206, -0.29337302, -0.12929626, 0.19321969, -0.19692437, 0.18910687, -0.5376053, 0.0024577375, 0.18347259, -0.036233984) * go_0(0.0, 0.0); - result += mat4(-0.06877196, 0.057344403, -0.18521468, -0.26043263, -0.027829815, -0.3474636, 0.074399404, 0.02000891, 0.10101197, 0.18005812, 0.018405264, 0.16208377, 0.2572691, -0.061031613, 0.12526059, 0.015687834) * go_0(0.0, 1.0); - result += mat4(0.12139206, 0.10150127, 0.12223164, -0.0033110923, 0.025267506, 0.0043354593, 0.04014963, 0.054613993, 0.0041964273, 0.18711057, 0.1130988, -0.010105996, -0.11398717, 0.15550865, 0.011355651, 0.0013034486) * go_0(1.0, -1.0); - result += mat4(0.018920925, -0.1981446, -0.0015773224, 0.17280231, -0.1158759, 0.034413345, 0.18601055, -0.058082208, -0.05751512, -0.014871481, 0.026116839, 0.22214632, -0.109278515, -0.07075786, 0.14865029, 0.06923859) * go_0(1.0, 0.0); - result += mat4(-0.04858135, 0.06361807, 0.03608349, -0.35027486, -0.22905546, 0.228983, -0.080485426, -0.12832811, -0.08297812, 0.27370456, -0.040313505, 0.12175736, -0.0088722585, -0.027337799, 0.082081, 0.036823895) * go_0(1.0, 1.0); - result += mat4(-0.09081754, -0.121576175, -0.004420886, 0.03107195, -0.009208461, 0.093130514, -0.100094385, 0.07485617, 0.10638224, 0.10978887, 0.033434544, -0.0109705, 0.051747587, -0.04629124, 0.022032369, -0.061933544) * go_1(-1.0, -1.0); - result += mat4(-0.026675375, 0.24803858, -0.3505403, 0.061843242, 0.22817075, -0.22713637, 0.030461052, -0.28470376, 0.021492813, 0.026554195, -0.014637818, 0.05059166, 0.26264945, 0.019178726, -0.084112, -0.11228049) * go_1(-1.0, 0.0); - result += mat4(0.24368168, -0.09750266, -0.08355252, -0.19701716, -0.07022316, -0.021431576, -0.041753594, 0.097228795, 0.05831718, 0.046489198, -0.013535228, -0.1277287, -0.028432956, 0.11263107, -0.038870994, 0.052972272) * go_1(-1.0, 1.0); - result += mat4(0.34507847, 0.16310076, 0.3261618, -0.08031221, -0.024778686, 0.030581996, -0.23252021, 0.07368026, -0.1457359, -0.05583193, -0.08619469, 0.025661029, 0.122622915, 0.107637696, 0.07717542, -0.0069369692) * go_1(0.0, -1.0); - result += mat4(-0.025063993, -0.32267594, 0.04222844, -0.6405562, 0.08737213, 0.05898279, -0.24921863, -0.37281784, 0.33026382, -0.037117995, -0.48083028, -0.1576151, 0.031603996, 0.13712752, 0.08525082, 0.13751547) * go_1(0.0, 0.0); - result += mat4(-0.1717367, 0.16379626, -0.080398574, 0.02730318, -0.08700865, 0.18012185, -0.039455075, 0.1875848, -0.058620475, 0.070274726, -0.07203947, -0.004408652, 0.11834384, -0.17019957, -0.1841911, -0.16539739) * go_1(0.0, 1.0); - result += mat4(-0.00306162, -0.009568686, 0.04615716, 0.29750574, -0.016171249, -0.22235759, -0.032884303, -0.09805467, -0.23468043, -0.03662323, -0.03754542, 0.031607516, 0.1192756, 0.037513345, 0.06270457, -0.010091852) * go_1(1.0, -1.0); - result += mat4(-0.03238403, 0.044085886, -0.15184736, -0.16677259, 0.21868308, 0.033742618, 0.12541051, -0.20726953, 0.21332125, 0.18820943, 0.11516147, -0.04046913, -0.099226944, 0.008198145, 0.0044930377, 0.10445432) * go_1(1.0, 0.0); - result += mat4(-0.04825399, -0.10125744, -0.016809255, -0.2170602, -0.008085673, -0.0055932486, -0.14474209, 0.12402969, -0.06304857, -0.058890864, -0.03977117, 0.08338651, 0.051681735, -0.046300244, -0.027098775, -0.07750968) * go_1(1.0, 1.0); - result += mat4(-0.110792324, -0.07082374, -0.07643967, 0.0007350921, 0.12548494, 0.027903408, 0.08646201, -0.060506143, -0.0042042546, -0.037406266, 0.13233368, -0.040573254, -0.011526989, 0.0017727965, -0.024684377, 0.023611743) * go_2(-1.0, -1.0); - result += mat4(0.10507391, -0.11524923, -0.045419905, -0.018232401, 0.11517856, -0.017063787, -0.06844106, 0.01649028, 0.042487442, -0.0018217458, -0.048760284, -0.027432851, 0.0701538, -0.07122821, -0.040997203, -0.044356424) * go_2(-1.0, 0.0); - result += mat4(-0.16667375, 0.08508152, -0.1130823, 0.10425934, 0.048882842, 0.0026840174, -0.03628384, 0.017808143, 0.06952142, 0.056811754, -0.06279424, -0.08361375, 0.02647836, 0.07310232, 0.077748105, -0.086376086) * go_2(-1.0, 1.0); - result += mat4(-0.057241924, -0.0933121, -0.071363084, 0.04463695, 0.082285576, 0.11622887, 0.18159458, -0.109704174, -0.13580221, 0.07275989, 0.01771122, 0.05640307, 0.07454414, 0.14722411, 0.111302465, 0.07975774) * go_2(0.0, -1.0); - result += mat4(-0.1331026, -0.054009046, 0.12211443, 0.083527334, -0.13672769, -0.015313354, 0.13764748, -0.086164065, 0.12795652, -0.03282714, 0.1579073, 0.048787095, 0.012054846, -0.01882002, 0.13269778, -0.2241914) * go_2(0.0, 0.0); - result += mat4(-0.14854619, 0.11223546, -0.07340829, 0.17087477, -0.035288546, 0.073113, 0.031149026, 0.08732851, 0.11652912, 0.11133054, -0.011138846, -0.04347902, 0.22826026, -0.06315385, -0.083217576, -0.16983536) * go_2(0.0, 1.0); - result += mat4(6.0946622e-05, -0.1391396, -0.029762868, -0.07732276, 0.08408844, -0.0067310245, 0.018747361, 0.10870239, -0.14702435, 0.04659678, 0.049279176, -0.089539565, 0.008640545, -0.12693758, -0.012340728, -0.0010518627) * go_2(1.0, -1.0); - result += mat4(-0.031445112, -0.059538055, -0.10110316, -0.009243974, 0.07312848, -0.045987524, -0.07739988, -0.18289267, 0.19408458, 0.049652096, 0.1430416, 0.007823552, 0.12752487, 0.1404086, 0.014550228, -0.2000237) * go_2(1.0, 0.0); - result += mat4(-0.02328158, -0.055340275, -0.00890452, 0.05107875, 0.04028763, -0.033579618, -0.14551812, -0.07084914, 0.031724613, -0.11050497, 0.030539952, 0.017960407, 0.013022372, 0.048110507, -0.059791975, -0.069656074) * go_2(1.0, 1.0); - result += mat4(-0.011159195, 0.061231583, 0.023733439, 0.08318157, 0.051980533, -0.081164956, -0.12936994, 0.031314097, 0.038792897, -0.19316009, 0.012015963, 0.1274062, 0.007457571, -0.053334422, -0.06087007, -0.07500442) * go_3(-1.0, -1.0); - result += mat4(-0.12612286, -0.059262786, 0.0013960898, 0.16076264, -0.02753848, -0.040280215, 0.11748305, -0.06767023, -0.08982183, -0.2259159, 0.021500308, -0.050233077, 0.0174376, 0.08059276, -0.011338266, -0.021669568) * go_3(-1.0, 0.0); - result += mat4(-0.09231125, 0.05039252, 0.06589666, 0.0699502, -0.016866742, 0.16463608, 0.008424828, -0.044754602, 0.08277166, -0.26685247, -0.054916486, 0.035318345, 0.017051857, 0.004787585, 0.07064183, 0.08143896) * go_3(-1.0, 1.0); - result += mat4(0.040472284, 0.02196483, 0.019647326, -0.0042990106, -0.0111499615, 0.064750694, -0.1685468, 0.1236021, -0.14509638, -0.23636436, -0.03507012, -0.05882796, -0.003939107, -0.03427979, -0.15588285, 0.14955762) * go_3(0.0, -1.0); - result += mat4(-0.29209736, -0.056658156, 0.12503433, 0.059094626, 0.33155647, -0.31607324, -0.17409548, 0.28301534, -0.07269221, 0.31217432, -0.032151274, 0.13320662, 0.0067921844, 0.12724863, -0.079603665, -0.20445012) * go_3(0.0, 0.0); - result += mat4(0.04944913, -0.24652547, 0.084156096, -0.044976614, 0.13094465, -0.041729383, -0.0043662624, -0.025976455, 0.10950043, -0.24576949, 0.07637044, -0.17560403, 0.03770707, -0.14604908, -0.13370425, -0.08169505) * go_3(0.0, 1.0); - result += mat4(0.06215933, 0.014817449, -0.17584182, -0.119785294, 0.025916845, -0.0045085796, 0.051403407, -0.13932867, -0.029478246, -0.23803446, 0.026629616, -0.04838478, -0.05731936, -0.15141651, -0.014330421, 0.03173533) * go_3(1.0, -1.0); - result += mat4(-0.18867792, 0.1690159, 0.0077506024, -0.08768171, 0.13987596, -0.10401963, -0.00020402495, 0.095776096, -0.059084885, -0.15369008, 0.121360734, 0.11111317, -0.06857354, -0.24787377, -0.07358934, 0.05282127) * go_3(1.0, 0.0); - result += mat4(-0.05825966, 0.15936251, -0.009718466, 0.026246214, -0.054192465, 0.11259584, 0.106545866, 0.0037204623, 0.015858173, -0.2466447, -0.006608056, -0.08228397, 0.014153731, -0.024114707, -0.14019284, -0.008368259) * go_3(1.0, 1.0); - result += mat4(-0.12620875, -0.035311706, -0.017309954, 0.038676415, 0.010007554, 0.103891194, 0.2074349, -0.067182384, 0.04545331, 0.04189184, 0.04593296, 0.01145646, 0.027835514, 0.16188826, 0.12302215, 0.005847866) * go_4(-1.0, -1.0); - result += mat4(-0.08673945, -0.03605757, 0.008751013, 0.006012169, -0.100793496, -0.06794951, 0.22445437, 0.16843331, -0.04668748, 0.15526527, 0.16405432, 0.08034733, 0.095660806, 0.13993011, 0.0714316, -0.2271875) * go_4(-1.0, 0.0); - result += mat4(-0.051425643, -0.060941234, 0.014853939, -0.04170188, -0.040981892, 0.014460391, 0.06914827, -0.092892915, 0.011654809, -0.07164335, 0.05665548, -0.021757752, -0.15187486, 0.25099215, 0.06707618, 0.0014576896) * go_4(-1.0, 1.0); - result += mat4(-0.21007836, -0.02975774, -0.17765106, 0.08210864, 0.04128445, -0.03473088, 0.13388512, -0.062689856, -0.024399463, 0.060575683, 0.016895741, 0.053625587, -0.16646849, 0.20665659, -0.097400986, -0.11676045) * go_4(0.0, -1.0); - result += mat4(-0.012981402, -0.0035834755, -0.19967668, -0.055962507, 0.05755364, 0.16290179, 0.16108987, 0.0443184, 0.022384012, -0.21550876, 0.1993019, 0.10249744, 0.027157044, -0.48223755, 0.14306773, -0.042821236) * go_4(0.0, 0.0); - result += mat4(-0.023187606, -0.0006282703, -0.030281521, -0.034422845, 0.1269488, -0.046393935, 0.056179423, -0.07986905, -0.08863301, 0.033617917, 0.28032312, -0.016831966, -0.09741306, 0.082168706, -0.07072508, 0.1714769) * go_4(0.0, 1.0); - result += mat4(-0.10699955, 0.004617793, -0.13971107, -0.08070923, -0.18738483, 0.37386385, 0.095100455, 0.057784997, -0.048351936, -0.19038375, -0.1161272, 0.088465944, 0.21603039, 0.14161706, -0.17377359, 0.053336773) * go_4(1.0, -1.0); - result += mat4(-0.1607158, 0.11756463, 0.050999135, -0.082914345, -0.13728271, -0.29792574, 0.28438056, 0.45129618, 0.024746796, 0.15315229, -0.117851384, 0.07257279, -0.108341694, 0.20533404, 0.026013765, -0.34590483) * go_4(1.0, 0.0); - result += mat4(-0.14288151, 0.040327024, -0.14112945, -0.08908226, 0.22330604, -0.015938131, 0.033910606, -0.16407411, -0.016470572, 0.09259821, 0.08344142, 0.014396606, -0.04143325, 0.10638457, 0.12549427, 0.016800882) * go_4(1.0, 1.0); - result += mat4(-0.07430705, -0.21602099, -0.02395794, 0.16806927, 0.18771775, 0.040755376, 0.2715868, -0.034169577, 0.00522744, -0.02654015, -0.020816373, 0.16446163, -0.087030225, 0.01551686, 0.0048509445, 0.022507116) * go_5(-1.0, -1.0); - result += mat4(-0.024786156, 0.09243609, 0.09324701, 0.08799725, -0.03968033, -0.14894229, 0.0776629, -0.21654569, -0.099934116, -0.06997516, 0.10485336, 0.040500306, -0.25174686, -0.20299411, 0.13843295, 0.25696677) * go_5(-1.0, 0.0); - result += mat4(0.092044, -0.07171784, 0.23683146, -0.009319925, -0.08805518, 0.12598065, 0.06375242, 0.02844835, -0.029605612, -0.12549727, 0.022440229, 0.006380783, 0.1313304, 0.15739907, 0.08373962, 0.08992246) * go_5(-1.0, 1.0); - result += mat4(-0.27224204, -0.26631516, -0.027027579, -0.030660763, 0.069010764, 0.00686249, -0.17444538, -0.05701314, -0.035538822, -0.26050144, -0.010451579, -0.061782375, 0.16745842, -0.108107746, 0.030468695, -0.16402762) * go_5(0.0, -1.0); - result += mat4(-0.07276476, -0.15297028, -0.25568548, 0.27668282, 0.09677458, 0.098981895, -0.0004217196, -0.00091525156, -0.3077419, 0.44434202, -0.09468051, -0.08462181, -0.26978543, 0.27369836, -0.03669818, 0.2912635) * go_5(0.0, 0.0); - result += mat4(-0.28734738, 0.14579459, 0.22083919, -0.2297294, 0.17505005, -0.04844878, 0.021834318, -0.16736999, 0.0016747294, -0.060896724, 0.028344678, -0.06341938, 0.43723574, -0.2615166, 0.05107712, -0.20119043) * go_5(0.0, 1.0); - result += mat4(0.0272994, 0.22280678, 0.17716415, -0.093996234, -0.11316552, 0.18234952, -0.0010922098, -0.12163143, 0.04821719, 0.0022455743, -0.036408488, 0.022185026, -0.03437743, 0.022541165, -0.11003119, 0.14187692) * go_5(1.0, -1.0); - result += mat4(0.00013664822, -0.34958616, 0.33965272, 0.4091369, 0.047315825, 0.18665253, -0.09821825, 0.070298485, -0.07052871, -0.2640913, -0.13192001, 0.017230166, -0.22303015, 0.0023083845, -0.1482968, 0.0031197562) * go_5(1.0, 0.0); - result += mat4(-0.053096205, -0.023291215, -0.038235445, -0.2354219, -0.012032332, 0.17776853, 0.03697497, -0.25305814, 0.043709055, -0.09948032, -0.08828663, -0.09534956, 0.036391728, 0.05996495, 0.038689792, 0.053753372) * go_5(1.0, 1.0); - result += vec4(0.07657865, -0.057940323, 0.09216576, 0.08710758); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.12020708, 0.030450096, -0.022563199, 0.13941783, 0.42781577, 0.07196431, 0.03032568, -0.24368697, -0.12174075, 0.18298386, 0.09977972, 0.06440271, -0.021667495, -0.09582143, -0.02372221, -0.012161217) * go_0(-1.0, -1.0); - result += mat4(-0.08614557, -0.16138618, 0.17409417, 0.06457713, 0.2130565, 0.3841125, -0.030690523, 0.014650334, -0.024490908, 0.09859328, -0.033240438, 0.21537182, -0.11260519, 0.3600062, -0.21786173, 0.29394957) * go_0(-1.0, 0.0); - result += mat4(-0.065436006, 0.18217164, -0.009773951, 0.29613763, 0.15861033, 0.19769754, 0.026605047, -0.13012406, 0.049954694, -0.21985927, -0.114034064, -0.19775811, 0.15509593, -0.0096983, 0.04010453, -0.14786181) * go_0(-1.0, 1.0); - result += mat4(-0.12755093, -0.15312608, -0.12672725, 0.14637707, -0.044712905, -0.018509148, 0.34769905, 0.094541386, 0.018899806, -0.068810396, 0.03567579, 0.010715141, 0.26642382, 0.021787789, -0.045413516, -0.0099886125) * go_0(0.0, -1.0); - result += mat4(0.09399624, -0.22073774, -0.03728268, -0.14593096, -0.14311165, 0.01572586, -0.043170083, 0.14196606, -0.0057723937, -0.22462656, 0.28189817, -0.27393398, -0.04240093, -0.22494912, 0.088402055, -0.15256752) * go_0(0.0, 0.0); - result += mat4(-0.054694295, 0.24343663, 0.042853344, 0.2742606, -0.16395031, 0.25720948, -0.12372541, 0.15020733, 0.07335946, 0.06307917, -0.0035989506, 0.045006167, 0.12430964, -0.20227802, 0.16280155, -0.060202613) * go_0(0.0, 1.0); - result += mat4(0.015143897, 0.21408756, -0.12505236, -0.21357507, -0.103595965, -0.074590206, 0.015860647, 0.16365165, 0.082501106, -0.015283817, -0.047005404, 0.048750408, 0.06636161, 0.2280071, 0.0033000826, 0.15148918) * go_0(1.0, -1.0); - result += mat4(0.051213, 0.121158004, -0.2882391, 0.048057787, -0.15921837, -0.04850743, -0.32060388, -0.11430066, 0.0148464935, -0.069417626, 0.11761673, -0.030637275, 0.0030618436, 0.2583576, -0.03774937, -0.23215541) * go_0(1.0, 0.0); - result += mat4(-0.06589957, -0.18402125, -0.1908057, -0.15999734, -0.20722501, -0.41220245, -0.08732743, -0.2800872, -0.11615179, 0.08338717, 0.070668146, 0.16140378, -0.07519341, 0.04610659, 0.025006918, 0.09886883) * go_0(1.0, 1.0); - result += mat4(-0.05963709, 0.021905743, 0.019461332, 0.30714118, 0.053338766, -0.0036449512, 0.051735114, 0.031359527, -0.055139918, -0.03070095, 0.035309043, 0.03333981, -0.028844094, 0.076006815, 0.05232068, -0.0012779629) * go_1(-1.0, -1.0); - result += mat4(0.14548303, 0.08283497, 0.08181831, 0.015030586, 0.0053907307, -0.014007569, 0.051146433, 0.04916237, 0.15514989, 0.07423488, -0.08177836, 0.07886526, 0.05780981, 0.06978046, -0.015533511, 0.11043233) * go_1(-1.0, 0.0); - result += mat4(0.2718494, -0.019822083, -0.0057829386, -0.22661845, -0.099374995, 0.009107718, -0.06340475, -0.0010754272, 0.028092189, -0.20054619, -0.051893793, -0.29571667, 0.093114756, 0.07853305, -0.100233726, -0.0047704247) * go_1(-1.0, 1.0); - result += mat4(0.14986612, 0.0022451372, -0.062067125, -0.17486928, -0.0863647, 0.043254074, 0.2403272, 0.008611301, 0.022587517, -0.11991351, 0.021465946, -0.0043859156, 0.016005747, 0.15905066, -0.07992088, 0.0744741) * go_1(0.0, -1.0); - result += mat4(-0.28244218, 0.1579932, -0.53319496, -0.17382297, -0.015739711, -0.1284182, 0.14516716, 0.29700696, 0.11660257, 0.023022393, 0.07765215, -0.17613792, -0.0067801042, 0.103040695, 0.1726775, -0.05101466) * go_1(0.0, 0.0); - result += mat4(-0.07244159, 0.12475429, -0.15444236, 0.040789705, -0.12216188, 0.025828373, -0.15603372, 0.05882803, 0.18985634, -0.16016626, -0.068549834, -0.39872447, -0.018761588, 0.06250271, 0.16675957, -0.064201385) * go_1(0.0, 1.0); - result += mat4(0.11573142, 0.3193422, -0.07796038, 0.076522775, -0.17158118, -0.078293145, 0.100592226, 0.059703935, 0.12754959, -0.08411796, -0.18692641, -0.18266907, 0.06325651, -0.07590812, 0.16482389, 0.11334052) * go_1(1.0, -1.0); - result += mat4(0.043070253, -0.097845815, -0.16063489, 0.06901578, -0.12220174, 0.07733114, -0.057676736, -0.16375609, 0.14565262, 0.13176636, -0.16553006, 0.05554225, -0.09373497, -0.057028443, -0.23270036, -0.1320336) * go_1(1.0, 0.0); - result += mat4(0.004274229, -0.08707873, -0.07182644, -0.2983437, -0.04152557, 0.04764718, 0.18148302, 0.25483704, -0.079726525, 0.042573344, -0.108663455, -0.11411879, 0.04527909, -0.01938232, -0.0720563, -0.033436943) * go_1(1.0, 1.0); - result += mat4(-0.05914969, 0.03217603, 0.05620841, 0.11179769, 0.008934773, 0.13958941, -0.049832776, 0.011027975, 0.065970905, -0.0034222854, 0.03403987, 0.0469571, 0.046986744, 0.02688478, 0.10363807, -0.07991329) * go_2(-1.0, -1.0); - result += mat4(-0.08938713, 0.10607981, -0.042589642, -0.15378094, 0.031732727, 0.066124596, 0.045595378, 0.0021127507, 0.054374907, 0.0107482, -0.10671928, 0.0074089314, 0.04903823, 0.09358932, -0.018505096, 0.07349409) * go_2(-1.0, 0.0); - result += mat4(-0.010238883, 0.21940914, 0.007697137, 0.21205641, 0.06893976, 0.12995858, 0.057945974, 0.0840761, 0.08816238, 0.071576215, -0.042484447, 0.08113807, 0.08687212, -0.055440724, -0.08699462, -0.09570027) * go_2(-1.0, 1.0); - result += mat4(-0.106894106, -0.2096638, 0.05298109, 0.010998865, -0.08867521, 0.12988189, 0.10647452, -0.097984925, 0.0915472, 0.20006137, 0.18479815, 0.16927278, 0.1631858, 0.008064966, 0.027587382, -0.03482675) * go_2(0.0, -1.0); - result += mat4(-0.19826272, -0.1342889, -0.26001906, 0.04669503, 0.010580549, 0.004505948, -0.01596666, 0.101886965, 0.51708573, 0.01397845, 0.26731327, 0.048002556, -0.41174927, 0.22574128, 0.117833406, -0.06960611) * go_2(0.0, 0.0); - result += mat4(-0.14917673, -0.13293903, -0.031218676, 0.049667537, -0.1060632, 0.10442213, -0.09595242, 0.12595569, -0.016390745, -0.14521241, -0.11187397, -0.09977547, 0.25035715, -0.16168214, 0.1920289, -0.15843187) * go_2(0.0, 1.0); - result += mat4(-0.02411851, -0.11056269, 0.055056043, 0.043598007, -0.0066189542, 0.04634859, 0.12737647, 0.06846502, 0.056652352, -0.10612263, 0.08477219, -0.13697919, -0.04940175, -0.04095268, -0.007203606, 0.16084097) * go_2(1.0, -1.0); - result += mat4(0.052976605, 0.04408607, 0.072765656, -0.08981313, -0.058496203, -0.13047524, 0.04112392, 0.10585218, -0.1758069, -0.015050289, 0.17501082, 0.042282905, -0.12833239, -0.16907021, 0.034734186, -0.117356636) * go_2(1.0, 0.0); - result += mat4(0.009886183, -0.1072079, 0.032444023, 0.008510553, -0.09062318, 0.087005824, 0.03727608, 0.009528718, -0.10054762, -0.10859511, -0.048893284, -0.07000767, 0.056854695, -0.10528974, 0.05492607, -0.07096842) * go_2(1.0, 1.0); - result += mat4(-0.17860578, -0.0105161, 0.029562278, 0.024690636, 0.33631963, -0.029712414, -0.005475538, -0.03374888, 0.11327619, -0.04078819, 0.0033871653, 0.02554949, -0.12539335, 0.043788597, -0.091408, 0.049923938) * go_3(-1.0, -1.0); - result += mat4(0.06232113, 0.12859604, -0.062801324, -0.054190084, 0.024198689, -0.03283934, -0.11320382, -0.17320402, -0.051317126, -0.05357262, 0.06503374, 0.010334861, 0.18220812, -0.23972702, 0.026034402, -0.094274506) * go_3(-1.0, 0.0); - result += mat4(0.0039012742, 0.03340159, 0.00041976577, -0.09593378, -0.08368581, -0.171641, -0.15441188, -0.05075565, 0.017398436, -0.15752153, 0.11208059, -0.07801636, -0.024276018, -0.14415129, 0.053215727, 0.05285977) * go_3(-1.0, 1.0); - result += mat4(-0.0033036366, -0.0017531791, -0.06987429, 0.14468694, 0.32040435, -0.115356, -0.114271276, 0.08943164, -0.10405339, -0.08873277, -0.12369199, 0.10631109, 0.072591804, 0.07545677, 0.007450515, -0.062508635) * go_3(0.0, -1.0); - result += mat4(-0.32389352, 0.36626276, -0.24318767, 0.1114559, -0.041673217, 0.0123305125, 0.08265207, -0.089765444, 0.04077425, -0.10462959, 0.008208994, -0.24475563, 0.21966444, 0.4274681, 0.02538749, -0.072384804) * go_3(0.0, 0.0); - result += mat4(-0.060664598, -0.07931745, -0.04031839, 0.032503996, 0.09535501, 0.060271315, 0.050842766, -0.017118635, 0.20283295, 0.21311453, 0.048262708, 0.13562958, 0.09995353, 0.24902335, 0.166433, 0.1362172) * go_3(0.0, 1.0); - result += mat4(0.09678776, -0.022411423, 0.031022416, 0.04797599, -0.038225997, -0.049748596, 0.0046548736, -0.1178436, -0.070659816, 0.11345608, -0.0496577, -0.04467185, -0.05449646, -0.13758712, 0.037184708, -0.050822448) * go_3(1.0, -1.0); - result += mat4(-0.14028446, -0.019469494, 0.065940395, -0.058915302, -0.044744235, 0.20379432, 0.19095756, 0.077816576, 0.17204207, 0.1072162, -0.1361738, 0.08552834, 0.18237999, 0.08205425, -0.040794145, 0.20306163) * go_3(1.0, 0.0); - result += mat4(0.10820412, -0.0103201205, 0.11818202, 0.05081286, -0.034519948, -0.022716366, 0.012558799, -0.061788525, -0.019103106, -0.024869766, -0.01484149, -0.0041896743, 0.10513332, 0.0644455, -0.0060386304, 0.119789764) * go_3(1.0, 1.0); - result += mat4(-0.12900162, -0.024052832, 0.091144815, 0.042586617, 0.023100799, -0.008685231, -0.18520203, 0.04126034, 0.22155929, -0.053283233, 0.010883973, -0.23124413, 0.015983205, -0.16272338, -0.047610354, 0.09509212) * go_4(-1.0, -1.0); - result += mat4(-0.043675106, -0.13593669, 0.15423402, 0.006204822, -0.20298089, -0.24486437, 0.0793193, -0.04431099, -0.10573373, 0.14105141, 0.008124834, 0.08031386, -0.02944676, -0.0324013, -0.21952143, -0.14495796) * go_4(-1.0, 0.0); - result += mat4(0.096100524, 0.0038778677, 0.08775855, -0.061556816, -0.18265049, 0.10941394, 0.054334268, 0.21996409, -0.050350484, -0.004098584, 0.04015653, -0.022499854, -0.14539535, 0.14758524, -0.34231094, 0.010245374) * go_4(-1.0, 1.0); - result += mat4(-0.23592138, 0.108827986, 0.011998022, 0.08459366, 0.0366679, 0.17635424, -0.09780912, -0.0835654, 0.118454255, 0.035510838, -0.05113816, -0.14397779, 0.07003334, -0.012582954, -0.08026196, -0.07726739) * go_4(0.0, -1.0); - result += mat4(-0.065133855, -0.1601996, 0.30335194, -0.07679822, 0.0087142885, 0.36574212, -0.5694481, -0.0020462046, -0.08609347, -0.020676374, -0.13731648, 0.0025803284, -0.07613569, 0.011341814, -0.238015, 0.17618194) * go_4(0.0, 0.0); - result += mat4(0.056766525, -0.13898206, 0.031484123, 0.037802573, -0.11768987, 0.043203767, -0.12557015, 0.21512888, -0.20422752, 0.0033964422, -0.1128001, 0.031649, -0.18963163, -0.06865018, -0.015203186, 0.017272811) * go_4(0.0, 1.0); - result += mat4(-0.22707051, -0.12006254, 0.047220945, 0.033206593, -0.11796534, 0.14222418, -0.17649753, -0.07965604, -0.08325816, -0.04103228, 0.122222394, 0.05513519, 0.03045633, -0.014383039, 0.2659631, -0.14282666) * go_4(1.0, -1.0); - result += mat4(0.050211295, 0.106638566, -0.12575938, 0.042698536, 0.4065789, 0.48643333, -0.40594426, 0.23580477, -0.09891945, -0.27204368, 0.38514468, -0.17403792, -0.00021442943, 0.036901742, -0.07350521, -0.1137957) * go_4(1.0, 0.0); - result += mat4(0.08275032, -0.10175439, 0.024990086, 0.09118366, 0.054295644, 0.07601656, -0.17207645, 0.071827434, -0.09406783, -0.29794717, 0.062402938, -0.19291654, 0.057635557, 0.10152742, -0.16145273, 0.078694634) * go_4(1.0, 1.0); - result += mat4(-0.14024283, -0.020712407, -0.0006742049, -0.07990848, -0.2780156, 0.01990348, -0.007274932, 0.01683584, 0.058766432, -0.011117602, -0.11561118, -0.085818544, -0.07759575, -0.06813459, -0.117720075, 0.117459066) * go_5(-1.0, -1.0); - result += mat4(-0.11406997, 0.00070567254, 0.0015214743, -0.13617793, -0.1844734, 0.10463744, 0.042494643, 0.09081247, -0.1682752, -0.12013825, 0.15428415, 0.003604667, -0.04138629, -0.37951693, 0.18619955, -0.12595965) * go_5(-1.0, 0.0); - result += mat4(-0.09695181, 0.29682228, 0.042676754, 0.16024598, -0.094654515, -0.10530867, 0.02741278, -0.054255832, -0.02117601, -0.03741268, 0.10694513, -0.04951851, -0.106426254, -0.33196932, -0.14139625, -0.13504466) * go_5(-1.0, 1.0); - result += mat4(-0.1909862, -0.25864232, -0.050149377, -0.01613201, -0.27878955, 0.15964217, -0.16596937, 0.061238922, -0.21866739, -0.15153229, -0.27351984, -0.052200224, -0.04497165, 0.12572336, -0.08926984, -0.13085754) * go_5(0.0, -1.0); - result += mat4(0.1186159, -0.44323534, 0.24520016, -0.17869183, 0.07235415, 0.2055049, -0.15923528, -0.012734702, -0.7115807, -0.0783967, -0.48488334, -0.06875676, 0.2530569, -0.036582347, 0.029272651, 0.16227534) * go_5(0.0, 0.0); - result += mat4(-0.20962486, 0.36621055, -0.2653163, -0.12183859, -0.05926225, 0.19594035, 0.17680155, 0.3601037, 0.08084663, 0.076976806, 0.06040379, 0.16425474, 0.033630535, 0.1259935, 0.15317655, 0.16241911) * go_5(0.0, 1.0); - result += mat4(0.05553488, 0.13082667, 0.07025236, -0.16599798, -0.0755003, -0.06938985, -0.038283534, 0.010487185, -0.0030434306, 0.101001985, -0.09891444, -0.057115134, -0.10988094, 0.13917845, -0.16996992, -0.06362086) * go_5(1.0, -1.0); - result += mat4(0.052476093, 0.2736097, -0.34467006, 0.08840096, -0.2191552, 0.19051385, 0.04366143, 0.084381446, 0.24772783, 0.24381915, -0.19055025, 0.06811196, -0.049013868, 0.0047574267, -0.17637779, 0.18330449) * go_5(1.0, 0.0); - result += mat4(0.061494384, 0.19728619, 0.05241455, -0.12846167, -0.035130713, 0.20945111, 0.08781453, 0.3240593, 0.16286173, 0.028478097, 0.11730352, -0.057671197, 0.04265479, 0.053791273, -0.017982712, 0.0750495) * go_5(1.0, 1.0); - result += vec4(0.050651863, 0.044697866, 0.016666446, -0.015238534); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.024237188, -0.10422616, 0.06723804, 0.1826598, 0.012947932, 0.45517665, -0.44863597, -0.23032583, -0.13114794, 0.09810647, 0.058437135, -0.08195182, 0.08179358, -0.039700896, -0.039574802, -0.14186196) * go_0(-1.0, -1.0); - result += mat4(0.1629186, -0.2774174, 0.06411593, 0.07094711, -0.3600775, 0.32915217, -0.32015067, -0.28613016, -0.1612731, 0.010733298, -0.05708089, -0.15946425, 0.082519636, 0.09780667, 0.056797463, -0.11305572) * go_0(-1.0, 0.0); - result += mat4(-0.04339018, -0.05268632, 0.012107386, -0.050289553, 0.055016138, 0.09554764, -0.088567086, 0.07149162, 0.040378995, 0.18996446, -0.07771632, 0.13777791, 0.135759, 0.00097233645, -0.05469941, -0.0403182) * go_0(-1.0, 1.0); - result += mat4(-0.0817291, 0.21801636, 0.21970823, 0.32005847, 0.064489774, 0.06965839, -0.30358747, -0.11341012, -0.14858796, 0.11928792, -0.021813538, 0.17499882, 0.12947294, -0.051210806, -0.058405858, -0.025849868) * go_0(0.0, -1.0); - result += mat4(-0.017480569, -0.07665342, 0.055402935, 0.024532886, -0.103406206, 0.052755862, -0.13945164, -0.023136819, -0.08034683, 0.0090520345, -0.10195203, -0.11921826, -0.23000433, 0.35529178, 0.043689124, -0.39272285) * go_0(0.0, 0.0); - result += mat4(0.18001455, -0.19694266, 0.041117262, -0.004510925, 0.23145959, -0.119057, -0.27721423, 0.24195382, -0.10873344, 0.120489694, 0.0634931, 0.010593836, 0.12439531, 0.024893748, -0.34153914, 0.117560826) * go_0(0.0, 1.0); - result += mat4(0.10838369, 0.09057026, 0.051982816, 0.16478422, 0.18629162, -0.103127524, -0.14309822, -0.033989307, 0.021934774, -0.008789755, -0.04308787, -0.06250701, 0.12962283, -0.16955297, -0.14072357, -0.1573379) * go_0(1.0, -1.0); - result += mat4(-0.05150477, 0.19018193, -0.0018513565, 0.049800653, -0.0072638886, -0.09453535, 0.086251326, 0.19729123, -0.0754909, 0.14370134, -0.053820826, -0.04315332, -0.028823897, 0.075814255, -0.06760011, 0.010474355) * go_0(1.0, 0.0); - result += mat4(0.13249592, -0.12863821, -0.098677255, -0.008903099, -0.00075161987, -0.1422283, 0.1321076, -0.016739735, -0.052078467, 0.10682752, 0.072102524, 0.044046365, 0.016139982, 0.06351777, -0.09472882, -0.017490232) * go_0(1.0, 1.0); - result += mat4(-0.024706522, 0.048243694, -0.013107904, -0.19985148, 0.14576256, 0.06643448, -0.063278124, -0.037488308, 0.096271195, -0.05229867, -0.012707279, 0.004028418, -0.06064612, 0.12454419, 0.035423573, 0.19192193) * go_1(-1.0, -1.0); - result += mat4(0.058306698, 0.4169323, -0.2137428, 0.39399233, -0.018209185, -0.047926553, 0.0047757244, 0.18491194, -0.047317795, 0.027071197, 0.065773524, -0.16662115, 0.1758542, 0.040357858, -0.16389023, -0.08795879) * go_1(-1.0, 0.0); - result += mat4(0.1123842, -0.030895762, -0.027667578, -0.07902935, -0.102031484, -0.0044085253, 0.13276444, 0.0027152307, 0.11011939, -0.022880847, 0.08871766, 0.11890982, -0.16875012, 0.0763821, -0.01840331, 0.02001359) * go_1(-1.0, 1.0); - result += mat4(-0.02286322, 0.024675928, 0.10812478, 0.3268884, 0.18656765, -0.089817695, -0.045856882, -0.048997983, 0.09179813, -0.14574316, -0.05584585, 0.04601508, -0.04663327, 0.13533741, -0.027007475, 0.13568604) * go_1(0.0, -1.0); - result += mat4(0.3305947, 0.003312709, 0.38421127, 0.29569045, 0.27463832, -0.15641807, 0.27655235, 0.02949218, -0.049430016, 0.09262954, -0.05639441, -0.0015801551, -0.0867195, 0.01903508, -0.18103446, -0.13115436) * go_1(0.0, 0.0); - result += mat4(0.032399632, 0.035522558, 0.02029329, -0.15271226, -0.22600263, 0.018570898, 0.2614411, -0.043230906, -0.16090661, -0.03576041, 0.1163746, -0.12655982, 0.14196678, 0.043999534, -0.003735901, 0.041733805) * go_1(0.0, 1.0); - result += mat4(-0.17129399, 0.035248592, 0.03326124, 0.05614414, 0.08734728, 0.00025759568, -0.017390147, -0.018484343, -0.18716696, -0.11577566, -0.09411038, -0.0005942758, 0.20385277, -0.1574145, -0.13516964, -0.011578805) * go_1(1.0, -1.0); - result += mat4(0.10666493, 0.04735373, -0.0013807884, 0.0704135, -0.09550784, 0.12478301, 0.13349667, 0.11381725, 0.10344638, 0.036749367, -0.07850732, 0.067993365, -0.27189222, 0.12209588, 0.039368622, -0.11650519) * go_1(1.0, 0.0); - result += mat4(-0.048749734, -0.015611218, -0.058593888, -0.11054869, 0.15889384, -0.027153673, -0.15524355, -0.14243808, -0.078478426, -0.0005193828, 0.12036652, -0.10402722, -0.02370969, 0.13715413, 0.06436259, 0.06815996) * go_1(1.0, 1.0); - result += mat4(-0.018909978, 0.18138056, -0.10334352, -0.021526821, 0.010916664, -0.048124075, 0.06859281, -0.076912865, 0.09164643, 0.057818342, -0.17802145, -0.090189666, 0.03645826, 0.10256138, -0.0069766566, 0.036947094) * go_2(-1.0, -1.0); - result += mat4(-0.20622449, 0.012804213, 0.015042242, 0.19055699, -0.08001165, 0.03541219, -0.12968656, -0.030422881, -0.14057401, 0.13156182, -0.13859963, 0.00040263348, 0.10254204, -0.014539082, -0.107229605, -0.17474675) * go_2(-1.0, 0.0); - result += mat4(-0.107353106, 0.0014355447, 0.028790096, -0.0302504, -0.10989408, 0.038959417, -0.110921286, 0.0625821, -0.05460621, 0.002502421, 0.000936639, 0.048315868, 0.011345627, 0.08441578, -0.048639838, 0.09363101) * go_2(-1.0, 1.0); - result += mat4(0.028981669, 0.099419065, -0.14213188, -0.022163093, -0.05122637, -0.0046859765, 0.09862167, 0.049731493, 0.07676605, 0.003952691, -0.04136734, -0.24915272, 0.008263169, -0.22285973, -0.0962458, 0.172863) * go_2(0.0, -1.0); - result += mat4(-0.37248972, 0.11385456, 0.2061119, 0.022263438, 0.019234778, 0.00025653432, -0.050672278, 0.055690683, -0.123369195, 0.23665325, -0.071705356, 0.28199664, 0.22527444, -0.2209345, 0.109758556, -0.09677416) * go_2(0.0, 0.0); - result += mat4(-0.040162217, -0.076559134, -0.16174191, 0.04257142, -0.06335363, -0.014538781, 0.031642947, 0.07644203, 0.0073738038, 0.035876762, -0.025717935, 0.07372835, 0.07390335, 0.021775434, -0.0935753, 0.17936146) * go_2(0.0, 1.0); - result += mat4(0.038021766, 0.02849221, -0.04236583, -0.013963447, 0.019651154, 0.05580235, -0.13790283, -0.060389396, 0.021969974, 0.0056073754, -0.018980214, -0.025460985, -0.045908038, -0.010549833, -0.09338662, -0.057856735) * go_2(1.0, -1.0); - result += mat4(-0.08452829, 0.042145252, -0.0141162975, -0.07190146, 0.15463473, -0.063039616, 0.008285841, 0.0198927, 0.15278462, 0.023722362, -0.035441626, 0.09403419, 0.07525972, -0.044377264, -0.041365236, 0.043310255) * go_2(1.0, 0.0); - result += mat4(-0.0011264209, -0.06592647, 0.0049777217, -0.0060350257, 0.07328435, -0.18793981, -0.08557498, -0.04078665, 0.03258842, 0.07107648, 0.041932624, 0.037395928, 0.13042633, -0.032260742, -0.012588843, 0.023788324) * go_2(1.0, 1.0); - result += mat4(0.07511876, 0.019309277, -0.02078693, -0.14132647, 0.070082344, 0.04199505, -0.15632215, -0.032079816, 0.118265875, -0.08141349, -0.050177153, 0.11479062, 0.013268761, 0.1936229, -0.055244733, 0.020521875) * go_3(-1.0, -1.0); - result += mat4(-0.07828548, 0.018267812, 0.0028122417, 0.08941742, -0.019510742, -0.0045468058, 0.07431564, 0.24580373, 0.03412491, -0.21398748, 0.13018401, -0.01707844, 0.029651346, 0.020107506, -0.032851487, -0.10630331) * go_3(-1.0, 0.0); - result += mat4(0.049285315, -0.036977254, 0.15186474, -0.041290153, 0.036063142, -0.045490168, 0.046358738, -0.09886548, 0.08557266, -0.0694686, -0.068183534, 0.020261671, -0.026039243, -0.033528827, -0.07751181, -0.019434886) * go_3(-1.0, 1.0); - result += mat4(0.07950834, -0.0741639, 0.061423566, -0.15268423, 0.06533783, -0.03808615, -0.013910495, 0.020066373, -0.017489634, 0.050359994, 0.00039101843, 0.019134337, 0.16694714, -0.024450665, -0.065044865, -0.10637288) * go_3(0.0, -1.0); - result += mat4(0.24476409, -0.2805558, 0.10909579, 0.13605182, -0.01699378, 0.0065869414, -0.14624152, 0.1877048, -0.067427725, 0.21585129, 0.0055718115, -0.14159104, 0.31355727, -0.30447352, -0.13559367, -0.03584342) * go_3(0.0, 0.0); - result += mat4(0.01840529, 0.03616268, -0.062101822, -0.03462444, -0.09809899, 0.05688681, -0.06383556, 0.054451026, 0.046791434, -0.046537004, 0.0062966137, 0.036369126, 0.091391616, -0.06889375, -0.034196682, -0.09181384) * go_3(0.0, 1.0); - result += mat4(0.08672015, -0.15510495, 0.04554155, -0.05996463, -0.00072026957, -0.09829958, 0.15477605, 0.01794818, -0.012825052, 0.11114408, -0.040433116, -0.00646929, -0.043805078, 0.012829818, -0.008625017, -0.021682253) * go_3(1.0, -1.0); - result += mat4(-0.053777024, -0.12807386, 0.20205054, -0.05613513, 0.08030871, 0.12273628, -0.19011892, -0.007974216, -0.111842796, 0.09764242, 0.072857365, 0.049412534, -0.1310995, 0.12386843, -0.16210727, -0.001777189) * go_3(1.0, 0.0); - result += mat4(0.0018172731, 0.046203706, 0.16447084, -0.09419196, 0.0027008723, 0.037259165, 0.018473836, -0.007634073, -0.0017314702, -0.013679133, -0.061678763, 0.033567235, -0.073024705, 0.1608741, -0.093601726, 0.05785441) * go_3(1.0, 1.0); - result += mat4(-0.05863952, 0.07315827, 0.022440575, 0.035979047, 0.016238341, -0.24431372, 0.041630965, -0.0057747364, -0.10777149, -0.13047433, 0.070022196, 0.044547863, 0.13226376, -0.28246558, 0.062450863, -0.004404347) * go_4(-1.0, -1.0); - result += mat4(0.011212715, 0.05243611, -0.037797686, -0.15245487, 0.27008712, -0.40122086, 0.0011378871, 0.05367511, 0.07193383, -0.14046453, 0.12873498, 0.07182839, 0.1820151, 0.04283299, 0.11596543, 0.15673809) * go_4(-1.0, 0.0); - result += mat4(-0.07652156, 0.02990215, -0.038398147, 0.04733479, -0.05695788, -0.04636123, -0.05849599, -0.05204433, 0.057833705, -0.18150161, -0.030429238, -0.06927262, -0.14094613, 0.046653654, 0.1901663, -0.12395862) * go_4(-1.0, 1.0); - result += mat4(0.14467525, -0.1326973, 0.10119535, -0.019431135, -0.06226663, -0.0053785043, 0.08981591, 0.07009579, -0.17320351, 0.023860384, 0.062086526, 0.053025734, 0.18955843, -0.22512685, 0.05108636, 0.022267245) * go_4(0.0, -1.0); - result += mat4(0.10990955, 0.01449569, -0.17729793, -0.22559568, 0.011237511, -0.25115016, -0.24866548, -0.13571861, 0.072065, -0.10518834, 0.16031964, 0.33091673, 0.30525, -0.054976556, -0.051654782, 0.05343294) * go_4(0.0, 0.0); - result += mat4(-0.022414321, -0.03275696, 0.06263573, 0.0031694071, 0.08556633, -0.12222284, -0.01304348, -0.120147005, -0.04688651, -0.037210416, -0.072757326, 0.0537857, 0.08831744, -0.16069758, 0.07254542, -0.10207554) * go_4(0.0, 1.0); - result += mat4(-0.0033381188, -0.013647447, 0.05272343, 0.020168653, 0.064766616, 0.006531628, 0.08387307, 0.005267065, -0.1460191, 0.021020414, -0.012950353, -0.08051581, 0.11163487, -0.32247993, 0.04997282, 0.10706656) * go_4(1.0, -1.0); - result += mat4(0.1307456, -0.044469688, 0.0073461267, 0.037865613, -0.37522125, 0.29075947, -0.14347716, -0.037057046, 0.08405833, -0.22944225, 0.048562963, 0.016957987, 0.3850271, -0.2642814, 0.24302341, -0.009866295) * go_4(1.0, 0.0); - result += mat4(0.07751665, -0.07116216, -0.018697955, 0.013728456, 0.114070326, 0.082404934, -0.06866586, 0.0653056, -0.048189763, -0.094798714, 0.073528245, -0.09311469, 0.08910833, -0.0861494, -0.13601573, -0.03716929) * go_4(1.0, 1.0); - result += mat4(-0.3285286, -0.19887583, 0.22604318, -0.06683799, 0.07519015, -0.37451786, 0.341761, 0.47940642, -0.13582104, -0.0568941, 0.055691198, 0.077822134, -0.044976532, -0.16769643, 0.106551185, 0.06167237) * go_5(-1.0, -1.0); - result += mat4(0.2570433, -0.20537715, 0.057150505, 0.5306126, 0.23061736, -0.07200678, 0.23587582, -0.021194493, 0.0306967, -0.13228704, 0.05531426, 0.205256, -0.23213351, -0.32205653, 0.04496151, -0.114729114) * go_5(-1.0, 0.0); - result += mat4(0.08585821, -0.16611692, 0.19137008, 0.07955234, -0.07067079, -0.028957745, 0.116818264, 0.030655704, 0.044361178, 0.01137771, 0.13505548, -0.122196645, -0.120850466, 0.041478753, 0.1446364, 0.019547235) * go_5(-1.0, 1.0); - result += mat4(-0.39282933, 0.15466502, 0.21281202, -0.10871069, 0.09141795, -0.047807757, 0.13347113, -0.0070413537, -0.30001637, 0.1590897, 0.13185735, 0.26315352, 0.060256246, 0.013501628, 0.21543017, 0.18577099) * go_5(0.0, -1.0); - result += mat4(-0.104001306, -0.5267066, -0.4119273, 0.08457817, -0.077629924, 0.16720273, 0.12549257, -0.1173481, 0.36272144, -0.7772537, 0.17534287, -0.23318143, -0.15383753, 0.095170036, 0.2495684, -0.122358866) * go_5(0.0, 0.0); - result += mat4(0.12718932, -0.23085114, 0.44935048, -0.021294393, 0.005949905, 0.019026272, 0.075566776, 0.15591605, 0.115685046, -0.14728822, -0.05144243, 0.06136992, 0.13333684, -0.012480303, -0.088788785, 0.037873793) * go_5(0.0, 1.0); - result += mat4(0.07020059, -0.06063198, 0.1457899, 0.0056248507, -0.008290764, -0.06342888, 0.18459271, 0.015399551, -0.11359522, 0.17675807, 0.069318, -0.040129766, -0.07564287, -0.026339471, 0.14574161, 0.23760302) * go_5(1.0, -1.0); - result += mat4(-0.4500806, 0.37602243, 0.13479808, -0.003117945, 0.063341856, 0.061276495, 0.1102818, 0.19250661, -0.25082627, 0.22803108, 0.08279026, -0.07739116, -0.05543028, -0.1009643, 0.28930148, -0.08104323) * go_5(1.0, 0.0); - result += mat4(-0.009021877, 0.16090877, -0.03602814, 0.1261343, 0.034350336, -0.052137982, 0.21462724, -0.02009136, -0.070031494, 0.03347469, -0.052788753, -0.05233215, -0.16940826, -0.09597297, 0.12662534, 0.019423395) * go_5(1.0, 1.0); - result += vec4(-0.052461267, 0.15198341, -0.02276772, -0.03120894); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.091359325, -0.047575854, -0.0801013, 0.20167087, -0.09074628, 0.14914455, 0.06205747, 0.08365782, -0.07602618, 0.12077156, -0.14313725, -0.00097601005, 0.1820761, -0.24430461, 0.02867478, -0.115407124) * go_0(-1.0, -1.0); - result += mat4(-0.017759264, -0.17924258, -0.0345519, 0.08500409, -0.07076207, 0.080482826, 0.022080237, -0.007573794, 0.34499946, 0.008354738, 0.14645022, -0.3155209, 0.41903394, 0.008933743, -0.26766288, 0.12653211) * go_0(-1.0, 0.0); - result += mat4(-0.003709739, 0.027829988, 0.14320208, -0.011639459, -0.03870455, -0.06727105, -0.23741855, -0.04182651, 0.09618168, 0.06922006, -0.03409518, -0.038725164, -0.07008305, -0.09782443, 0.06599439, -0.055400725) * go_0(-1.0, 1.0); - result += mat4(0.12684472, 0.42739755, 0.05868158, 0.07929677, 0.062750086, 0.122842215, -0.2262321, -0.057169817, -0.10190911, 0.06661454, -0.2044338, -0.058569092, 0.06513055, -0.38419202, -0.2889477, 0.00075288495) * go_0(0.0, -1.0); - result += mat4(0.15597402, 0.050789982, 0.4612256, -0.1232455, 0.09143189, -0.056280397, 0.21547496, -0.043968584, -0.017269861, 0.1459616, -0.23092718, 0.27603424, 0.070095435, 0.42628354, 0.09857772, 0.023654036) * go_0(0.0, 0.0); - result += mat4(0.03566403, -0.089161746, -0.06622656, -0.043728504, 0.012655346, 0.07107657, 0.15460275, 0.09053651, -0.07001083, -0.09635171, 0.030271877, -0.010034998, 0.090245664, 0.11612592, -0.18119843, 0.115030274) * go_0(0.0, 1.0); - result += mat4(-0.055906393, 0.020972524, 0.04405409, -0.08206327, -0.030148225, 0.015709205, 0.056204747, -0.104014955, 0.044074293, -0.3603162, 0.009822444, -0.12735473, 0.0067433324, 0.21345942, -0.16173074, 0.062634476) * go_0(1.0, -1.0); - result += mat4(-0.048287738, 0.04504366, -0.16253331, -0.06976707, -0.13551746, -0.0069742347, -0.11613854, 0.13235438, 0.07955257, 0.14578325, -0.3022118, 0.02631827, 0.3573758, 0.12363717, -0.039339956, -0.21598001) * go_0(1.0, 0.0); - result += mat4(-0.075250365, -0.023891231, 0.13229692, -0.022614656, 0.08825453, 0.061776746, -0.0993127, -0.10578799, -0.1690626, 0.03054397, -0.07695639, -0.079353474, 0.0615981, 0.0034620631, 0.08599167, -0.085487425) * go_0(1.0, 1.0); - result += mat4(-0.13306135, 0.070102595, 0.0018800788, -0.09813606, -0.03170419, 0.01839398, -0.05142857, -0.010052865, -0.11429524, -0.07586167, -0.060972217, -0.022728505, -0.037173454, -0.01240384, 0.1636404, -0.1259204) * go_1(-1.0, -1.0); - result += mat4(0.21663728, -0.0165655, -0.19682632, 0.13902938, -0.081392035, 0.02523787, 0.1569057, -0.016838314, -0.20710535, 0.10089684, 0.2759473, -0.06408284, -0.17343125, -0.050983876, -0.09340315, 0.042417858) * go_1(-1.0, 0.0); - result += mat4(-0.44453263, -0.10516173, -0.056139067, 0.24120103, 0.14092721, 0.09527867, -0.10289124, 0.07447457, -0.07255724, -0.07065093, -0.19831358, -0.03145072, 0.062462587, -0.13137348, 0.1398097, -0.08052687) * go_1(-1.0, 1.0); - result += mat4(-0.20226036, -0.089287, -0.20396022, 0.16342834, -0.0715875, 0.030659283, -0.09019761, -0.050632484, -0.087833114, -0.4390073, 0.19481303, 0.03432329, 0.22792237, 0.023274168, 0.029200593, -0.018187294) * go_1(0.0, -1.0); - result += mat4(0.46787158, 0.17991507, 0.0023480568, -0.031941783, -0.060549572, -0.09330203, 0.055897802, 0.12673432, 0.4230312, -0.4516835, -0.00064001186, 0.109839454, 0.2836279, 0.07375687, 0.17711547, -0.34547985) * go_1(0.0, 0.0); - result += mat4(0.06408312, 0.009809225, 0.12017534, 0.12778811, 0.01949525, 0.00639294, -0.022816632, -0.20515566, -0.026015112, -0.088214, 0.09398295, 0.14219733, 0.021610592, -0.0133708725, 0.15716344, 0.15374821) * go_1(0.0, 1.0); - result += mat4(-0.38632336, 0.1055968, -0.16746776, 0.031227939, 0.048837874, 0.08812276, 0.08459655, 0.037026476, -0.012736664, -0.032292336, -0.043989874, 0.030728273, -0.117319904, 0.13062797, -0.17748901, 0.20819202) * go_1(1.0, -1.0); - result += mat4(0.02485017, -0.08059275, -0.14782152, 0.16193154, 0.038559932, 0.16653356, -0.01829594, -0.32613558, 0.09611959, -0.14201616, 0.19360055, -0.16462325, 0.110373735, -0.013233708, 0.06437815, 0.05023126) * go_1(1.0, 0.0); - result += mat4(-0.0939555, 0.08396099, -0.19401367, -0.072351895, 0.0011377602, -0.08304909, 0.18247987, -0.06868134, -0.13975257, -0.072047986, 0.13241461, -0.027208991, -0.13384572, -0.04257672, -0.19476503, 0.1448576) * go_1(1.0, 1.0); - result += mat4(-0.014496433, -0.08627452, 0.013479882, 0.08189796, -0.39928418, -0.23446554, 0.033236828, -0.073348634, 0.20772837, -0.12541759, 0.12547676, 0.15118147, 0.06343077, 0.13170359, 0.07456327, 0.037460607) * go_2(-1.0, -1.0); - result += mat4(0.22783525, -0.062255867, -0.015669081, 0.18545356, -0.14074744, -0.0977361, -0.15016074, 0.12626553, 0.025569597, 0.05259659, -0.1401111, 0.07791122, -0.25046918, 0.14517197, 0.051306423, 0.10093671) * go_2(-1.0, 0.0); - result += mat4(0.10963008, 0.10075975, -0.09315192, 0.03928484, -0.05507595, -0.027855752, -0.17043641, 0.013336898, -0.14907023, -0.098712295, -0.055508208, -0.017730046, -0.11934544, -0.10822632, -0.07726361, 0.070103206) * go_2(-1.0, 1.0); - result += mat4(-0.1622651, -0.12376016, -0.048875168, 0.030344466, -0.104258224, -0.30643496, 0.0542774, -0.21803202, -0.14617568, 0.3079984, -0.3006482, -0.116233975, -0.034087032, -0.21282312, -0.08974353, -0.21706651) * go_2(0.0, -1.0); - result += mat4(-0.17512108, -0.015798012, -0.2049979, 0.16415326, -0.037209652, -0.148847, 0.6209044, 0.35860595, 0.18044792, -0.030519703, 0.053781435, -0.4150754, 0.025012434, -0.049011238, -0.09130766, -0.12138916) * go_2(0.0, 0.0); - result += mat4(-0.044045687, 0.025672063, -0.021289285, -0.12346778, -0.12262819, -0.11085004, 0.15677044, -0.18353437, 0.35993704, -0.060050707, 0.36173448, 0.12406324, -0.006029473, -0.038038015, 0.10273825, 0.004656042) * go_2(0.0, 1.0); - result += mat4(0.08824971, 0.055099364, -0.029784897, -0.14293, 0.21541874, -0.3471079, 0.19006546, -0.25032708, 0.17953677, 0.07634346, 0.0943904, -0.14774932, -0.038256116, -0.043757852, -0.18224706, -0.0767931) * go_2(1.0, -1.0); - result += mat4(-0.14115013, -0.027943728, 0.043077346, 0.16837053, -0.30298868, -0.0012479749, -0.21017027, 0.08538537, -0.18856743, -0.1644689, 0.106126145, -0.05934489, -0.23814213, 0.089396715, -0.042591337, 0.07807625) * go_2(1.0, 0.0); - result += mat4(0.1340491, 0.052864898, 0.030508095, -0.053534534, 0.0763844, -0.083921455, -0.007467296, 0.10813974, -0.13826096, 0.07286494, 0.017945437, 0.12293839, -0.14042178, -0.02947513, -0.031838633, 0.12082989) * go_2(1.0, 1.0); - result += mat4(0.1102285, 0.19918683, 0.040284276, -0.0514123, -0.047394637, -0.021792434, 0.012939052, -0.0023403286, 0.23044759, 0.21366574, -0.1535014, 0.15519466, -0.006563226, 0.07491919, 0.122444265, -0.093628265) * go_3(-1.0, -1.0); - result += mat4(-0.23274226, 0.104155675, 0.1884381, 0.02142028, 0.11323431, 0.1554841, 0.123437695, -0.03776226, -0.45464247, -0.25061348, -0.032978028, -0.018654265, -0.024727726, 0.06470798, -0.122398995, -0.21492854) * go_3(-1.0, 0.0); - result += mat4(0.14285532, 0.0013011715, -0.06574208, 0.086654305, -0.048436016, -0.16197361, 0.008795141, -0.018098531, 0.3623435, 0.12052228, 0.21655083, -0.057346217, -0.08660433, 0.20646246, -0.145056, 0.009912266) * go_3(-1.0, 1.0); - result += mat4(-0.120041594, -0.25241104, -0.6336183, -0.12418686, 0.008573801, -0.06827598, -0.09228199, -0.07655123, 0.07855638, 0.089592285, 0.15033577, -0.2273755, 0.06294413, -0.011506087, -0.2499483, -0.35493052) * go_3(0.0, -1.0); - result += mat4(-0.06940104, -0.06756523, -0.53161937, 0.12494837, -0.06503322, 0.11604297, -0.34153852, 0.04156643, -0.45669356, -0.044081815, 0.004695825, -0.072227545, -0.02530914, -0.17312789, -0.09068418, -0.09982657) * go_3(0.0, 0.0); - result += mat4(-0.29282403, -0.010049017, -0.024964066, 0.017599167, 0.078072265, -0.02860973, 0.19687887, 0.19570877, 0.0462925, 0.09549612, -0.1492184, -0.23970652, 0.1505322, 0.019254023, -0.042950142, -0.015978891) * go_3(0.0, 1.0); - result += mat4(-0.03936397, -0.16615695, 0.031633284, -0.15845262, 0.07402319, -0.10969973, 0.1627256, -0.082409754, 0.25605643, 0.12996247, 0.0026216798, 0.09912746, 0.05241615, -0.19865209, 0.16946888, 0.05068021) * go_3(1.0, -1.0); - result += mat4(0.01114184, 0.084049165, 0.21976121, 0.2706964, -0.1294367, -0.06303496, -0.023219386, 0.077690855, 0.27775633, 0.00947329, -0.15350725, -0.33890706, -0.11828109, 0.09787361, -0.016221395, 0.016552113) * go_3(1.0, 0.0); - result += mat4(0.06600668, -0.038050972, 0.05673705, -0.074460626, -0.033874847, 0.04394138, -0.09962254, 0.024659669, 0.22614685, 0.0010322065, 0.09654571, -0.06633969, -0.10417394, -0.026023693, -0.022211308, 0.07900881) * go_3(1.0, 1.0); - result += mat4(0.036456246, -0.2124808, -0.012558569, -0.005300579, -0.00047140988, 0.35318285, -0.06906561, 0.17434907, 0.062296104, 0.07322263, 0.07417871, 0.018067235, -0.08858221, -0.14630227, 0.029234141, -0.15545718) * go_4(-1.0, -1.0); - result += mat4(0.0863986, -0.040072814, -0.06980794, 0.2665523, -0.16316326, 0.110833816, 0.095236875, -0.2692474, 0.04447339, 0.06251346, 0.22095545, -0.041103855, 0.06609487, -0.019505464, -0.05033705, 0.22964026) * go_4(-1.0, 0.0); - result += mat4(0.29361203, 0.13948435, -0.04883785, -0.055638783, -0.21016635, 0.06452464, 0.2573405, 0.015132235, -0.20484985, -0.21653354, 0.21269105, 0.0118991295, -0.081802815, 0.105966985, -0.3921394, 0.20990291) * go_4(-1.0, 1.0); - result += mat4(-0.08627829, 0.03343112, 0.31935173, 0.20275539, 0.069561645, 0.44631377, -0.16738373, -0.35273424, 0.1321877, 0.41263857, 0.15853775, 0.1095465, -0.14425585, 0.046967953, 0.052787095, 0.20420372) * go_4(0.0, -1.0); - result += mat4(-0.6400273, -0.02383611, 0.002919604, 0.20062971, 0.22101505, 0.13407028, -0.3607917, 0.097198665, -0.009687387, 0.20925479, -0.22717565, -0.077685565, -0.10238261, -0.30386773, -0.07093403, 0.3789904) * go_4(0.0, 0.0); - result += mat4(0.19998863, 0.11971228, -0.12407401, -0.020293633, 0.17083226, 0.07682446, 0.017597012, 0.16630399, -0.044776015, 0.038629167, 0.09155888, 0.2775535, 0.17645419, 0.05448149, 0.26603785, -0.23594949) * go_4(0.0, 1.0); - result += mat4(0.13560197, -0.12419031, -0.001434453, 0.096761554, -0.025025826, 0.23237492, -0.22578233, 0.39105797, -0.1521174, 0.012731402, -0.12703973, 0.17032094, -0.23923986, 0.15013756, -0.079769395, 0.21047747) * go_4(1.0, -1.0); - result += mat4(0.023834813, 0.042676624, -0.043734103, -0.0489564, 0.2968653, 0.12845509, 0.26865506, -0.1339746, 0.1031858, 0.06713386, 0.035661936, -0.008399658, -0.023008743, 0.14043713, -0.10849628, -0.29047936) * go_4(1.0, 0.0); - result += mat4(-0.15448047, 0.018301843, -0.11298581, 0.0643367, 0.19861038, 0.054608114, 0.053602763, -0.12229704, 0.1838333, 0.060085677, -0.054444484, -0.03963665, -0.09128162, -0.002571187, -0.011031746, 0.013937809) * go_4(1.0, 1.0); - result += mat4(-0.19042498, -0.10742417, -0.009482582, -0.13710654, 0.07004467, 0.054024436, -0.079347484, -0.069204524, -0.066065274, 0.029851453, 0.057536937, -0.10738562, -0.0019049636, -0.05961882, 0.015954375, -0.046048168) * go_5(-1.0, -1.0); - result += mat4(-0.30546746, 0.026462605, -0.16525201, -0.14865883, -0.22890806, -0.064678855, -0.07405687, -0.060555395, 0.19689551, -0.10453069, -0.13507089, 0.044260368, 0.3549059, -0.2059544, -0.017047137, -0.085279755) * go_5(-1.0, 0.0); - result += mat4(0.15902059, 0.27806246, -0.02470931, -0.071123265, -0.10959986, -0.061866783, 0.18073395, 0.027781103, 0.01899935, 0.0068895225, 0.09553635, 0.014020304, 0.48340565, 0.1568511, 0.18551165, -0.03941332) * go_5(-1.0, 1.0); - result += mat4(0.18007858, -0.18097854, -0.032877125, -0.13505274, 0.12229551, -0.19246832, 0.07324526, 0.16423881, -0.07985383, 0.102822796, 0.022348268, 0.20718963, 0.1657745, 0.09994554, -0.044875868, -0.04791159) * go_5(0.0, -1.0); - result += mat4(-0.1522259, -0.15503414, 0.5213648, 0.048220746, -0.03673415, -0.048296932, -0.0035913677, -0.33058712, -0.37347135, -0.107429914, -0.27443045, 0.1444104, -0.12858333, -0.0898987, 0.18059024, 0.2385074) * go_5(0.0, 0.0); - result += mat4(-0.17812404, 0.027946725, -0.15453176, -0.16888796, -0.1454275, -0.08521876, -0.09842795, 0.017285218, -0.15038043, 0.12944756, -0.0074227825, 0.049601924, -0.2942431, 0.3029513, 0.2346801, -0.010824461) * go_5(0.0, 1.0); - result += mat4(-0.13489157, -0.19739941, 0.19581558, -0.08267463, -0.16068561, 0.019075824, 0.0042642844, 0.1025828, 0.009590443, -0.042244606, 0.0069560697, 0.18787669, 0.08875559, 0.12666185, 0.27844438, -0.014087231) * go_5(1.0, -1.0); - result += mat4(-0.15345146, -0.088549316, -0.2007104, 0.08694364, 0.097901054, -0.09112625, 0.17398718, -0.08376772, 0.13471653, -0.11526493, 0.09551537, 0.000994288, 0.10547293, 0.027825898, 0.13316914, 0.27184469) * go_5(1.0, 0.0); - result += mat4(-0.2831289, -0.1077123, -0.015594004, -0.15530941, 0.030916838, -0.007725551, -0.0013768732, -0.0542834, 0.14217895, -0.019043038, -0.121255994, 0.1774951, -0.02571608, 0.08931403, -0.05238016, 0.49422094) * go_5(1.0, 1.0); - result += vec4(-0.05178692, 0.012992142, -0.09760262, -0.088807374); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06822733, 0.047476072, 0.010553384, -0.06512182, -0.014951614, -0.023422068, 0.12602834, -0.06063965, 0.11658996, -0.0075021465, -0.015290296, -0.18518211, 0.06179118, 0.06263638, 0.2701791, 0.03897366) * go_0(-1.0, -1.0); - result += mat4(-0.005936342, 0.0046865293, 0.1009514, 0.113875, -0.22882754, 0.06882264, 0.044918634, -0.15084246, 0.27190965, -0.09802474, -0.17399205, -0.28109655, 0.115927316, 0.065323986, -0.07905437, 0.31301168) * go_0(-1.0, 0.0); - result += mat4(-0.058077507, 0.060739186, -0.047071032, 0.08625859, 0.18279932, -0.062378623, -0.020198788, -0.020209447, -0.03725052, -0.17194895, -0.009185631, -0.061395645, -0.10394699, 0.13250858, -0.02054919, 0.17315096) * go_0(-1.0, 1.0); - result += mat4(0.14755291, -0.15426354, -0.038297612, -0.002863782, 0.014281958, -0.1430333, -0.15214095, -0.25977355, 0.055283524, -0.020698514, -0.031711206, 0.043652818, -0.011913896, -0.15935701, 0.30120242, -0.07141416) * go_0(0.0, -1.0); - result += mat4(-0.07511256, 0.097857445, 0.1280642, -0.23440666, 0.07341128, 0.025019338, 0.2676868, -0.6392872, -0.018604822, -0.41209763, 0.036267836, 0.048222575, -0.049899656, 0.12035686, -0.415035, 0.111109026) * go_0(0.0, 0.0); - result += mat4(0.06660235, 0.10465846, 0.03231821, -0.057176817, -0.33603838, -0.117789224, -0.08611003, -0.14391285, -0.07540102, -0.049893077, 0.06534853, 0.014703251, 0.1686735, 0.21635768, -0.0004174196, -0.06970894) * go_0(0.0, 1.0); - result += mat4(-0.09123483, -0.02650008, -0.26045164, 0.008752753, -0.038899194, 0.056095514, -0.15680234, -0.21681328, -0.1807998, -0.08361851, -0.20086065, 0.13148476, 0.009767108, -0.0006198602, 0.15239619, -0.07983563) * go_0(1.0, -1.0); - result += mat4(0.07919758, -0.10799586, -0.11674191, 0.07721418, -0.02489812, 0.013862152, 0.14324659, -0.19167677, 0.47860634, 0.016703675, -0.025147682, -0.13012366, 0.021707488, -0.049213693, -0.049455807, -0.122704044) * go_0(1.0, 0.0); - result += mat4(-0.1036183, -0.0016137742, -0.010286528, 0.03161724, 0.111006066, -0.010090895, -0.13061818, -0.12827039, -0.06817742, -0.08191259, -0.010029781, 0.0756146, -0.024297824, 0.08189767, 0.0012347228, -0.061834745) * go_0(1.0, 1.0); - result += mat4(0.074035384, -0.0054270145, -0.054232355, 0.052020255, 0.039064236, 0.07612554, -0.07112709, -0.041343223, -0.04877365, -0.081693694, -0.19036053, -0.07976283, -0.019394593, 0.11878604, -0.17398894, 0.066551484) * go_1(-1.0, -1.0); - result += mat4(0.021499138, 0.11031255, 0.07942792, 0.19678888, -0.1660272, 0.12142711, 0.053864148, -0.09273723, -0.04266638, -0.092488594, 0.052425362, -0.13612169, 0.055963192, -0.08253813, -0.03933135, 0.01831182) * go_1(-1.0, 0.0); - result += mat4(-0.009105146, 0.25351846, 0.021370875, 0.07980244, 0.08131595, 0.0045822896, 0.024319764, 0.13540691, 0.10949155, -0.036669955, -0.0440662, 0.031805526, 0.0076850317, 0.0050480044, 0.010493236, -0.20307945) * go_1(-1.0, 1.0); - result += mat4(0.035208475, -0.016913606, 0.06748526, 0.28376573, -0.09829214, 0.03491954, -0.048616122, -0.022004133, 0.033356942, 0.041457683, -0.1141923, 0.053526472, 0.1301348, 0.032898832, 0.14776024, 0.11034088) * go_1(0.0, -1.0); - result += mat4(0.25044763, 0.1022549, 0.13824631, 0.15358314, -0.01792875, -0.023492826, -0.16425751, -0.04925489, -0.5415385, 0.22712392, 0.32446757, 0.061109796, -0.016136007, 0.09170503, -0.020712415, 0.22309552) * go_1(0.0, 0.0); - result += mat4(-0.16366409, -0.017794464, -0.12714142, -0.021118859, 0.03178183, 0.067133196, 0.105975136, 0.009305183, 0.08399536, 0.15291104, -0.029605338, 0.0134068895, -0.09861506, -0.059872147, -0.03844756, -0.12674972) * go_1(0.0, 1.0); - result += mat4(-0.07806115, 0.043562375, -0.009290437, 0.04422061, 0.044749737, 0.06424069, 0.026669348, 0.03424551, 0.024359688, -0.07599093, -0.037592914, 0.054648582, 0.06240557, 0.061408926, 0.030988218, 0.08729672) * go_1(1.0, -1.0); - result += mat4(-0.010351677, 0.028773759, 0.12303081, -0.046040278, -0.06785082, -0.24544333, -0.14512034, 0.028818216, -0.030756637, -0.070427775, 0.029058386, 0.11266564, -0.0126586575, -0.099691354, 0.23675011, 0.021924842) * go_1(1.0, 0.0); - result += mat4(0.29327697, 0.04030911, -0.10077885, -0.048846, -0.16350128, -0.054487552, 0.070820816, 0.047305796, -0.12812468, 0.007919711, -0.09975894, 0.06570609, 0.041386835, -0.027804038, 0.054338817, -0.09551541) * go_1(1.0, 1.0); - result += mat4(-0.08264294, 0.0022153752, 0.17625731, 0.108203925, -0.1994716, 0.13532871, 0.004684368, -0.068710595, 0.118159816, -0.07109689, 0.0926224, -0.24703208, -0.01173713, 0.033426084, -0.016495464, 0.12449714) * go_2(-1.0, -1.0); - result += mat4(-0.0937873, -0.065207124, 0.1289635, 0.17735708, -0.07141622, -0.116392545, -0.012032065, 0.2256439, -0.16182312, -0.12979633, 0.13266288, -0.029406255, -0.11667275, 0.010681019, -0.03679369, 0.12324768) * go_2(-1.0, 0.0); - result += mat4(-0.08298939, -0.04220063, 0.03483479, 0.13134407, 0.21608235, -0.034893714, -0.12628594, 0.16904697, 0.021075964, 0.1242292, 0.049865, 0.0012191305, 0.02183184, 0.106443465, -0.097153716, 0.10045028) * go_2(-1.0, 1.0); - result += mat4(-0.15327847, -0.03231816, 0.048716772, 0.04888897, 0.042859055, 0.15434006, -0.20086974, -0.05871333, -0.06012798, -0.16594929, -0.41956443, 0.02897127, 0.10374121, 0.0979167, -0.06796184, -0.16530903) * go_2(0.0, -1.0); - result += mat4(0.4286096, -0.29660472, -0.16605186, 0.27494267, 0.026896525, 0.28659457, -0.03428165, 0.2044704, 0.48915815, -0.33265522, 0.21135275, 0.33785677, 0.18982616, 0.10604258, -0.064662024, 0.096615575) * go_2(0.0, 0.0); - result += mat4(0.016727265, 0.17198113, -0.05871693, 0.054799933, -0.02786635, 0.15011124, -0.23983961, 0.033867355, -0.19206874, -0.13592441, 0.07261021, -0.043166462, -0.12164969, -0.07333818, 0.037067372, 0.08996417) * go_2(0.0, 1.0); - result += mat4(-0.070286445, -0.10659555, -0.04422945, -0.053230558, 0.0013350527, -0.017993074, -0.049735866, 0.11409308, 0.04892686, -0.06817943, -0.12813167, 0.039810136, 0.05252391, -0.06560004, -0.063294955, -0.07105003) * go_2(1.0, -1.0); - result += mat4(-0.13546339, 0.14185336, 0.006366223, -0.28422508, -0.21820036, 0.039592113, -0.07649182, -0.27793187, -0.2901769, -0.046293516, 0.25072086, -0.1427351, -0.0032531293, 0.03191745, -0.029102972, 0.050067473) * go_2(1.0, 0.0); - result += mat4(0.07247183, -0.0060611004, -0.04357295, -0.10875274, 0.12985152, 0.08760643, -0.19915642, -0.014556378, 0.1215484, 0.25098228, -0.21922487, 0.021113032, 0.0839372, 0.055542022, 0.13710897, -0.027615722) * go_2(1.0, 1.0); - result += mat4(0.19114621, 0.099159814, 0.011108828, 0.029784255, 0.08460498, 0.015443031, -0.044587217, 0.09834142, 0.10807179, -0.05328408, 0.13301793, 0.11193144, 0.18251152, 0.083096996, -0.08564835, -0.15828381) * go_3(-1.0, -1.0); - result += mat4(-0.28161234, 0.1756162, 0.17534174, -0.15757571, -0.08024952, 0.05677887, -0.1527151, -0.035949282, -0.16559522, -0.03176932, -0.15242305, 0.026554676, 0.07632302, -0.07731726, -0.17139448, -0.3687111) * go_3(-1.0, 0.0); - result += mat4(0.08050096, -0.0065235267, 0.064694345, -0.014644451, -0.079178736, 0.042656552, 0.09551645, 0.036842708, -0.03371497, -0.088755935, 0.07605894, -0.10299958, 0.08336513, -0.1338214, -0.051605105, -0.19725145) * go_3(-1.0, 1.0); - result += mat4(0.051400978, -0.02814356, -0.5582187, 0.05216139, -0.12328604, 0.07732251, -0.16055895, 0.14309604, 0.017186563, 0.08711397, -0.17381294, -0.011499491, -0.0481547, -0.04854952, -0.46566048, -0.3058923) * go_3(0.0, -1.0); - result += mat4(0.5119618, -0.38263124, 0.15986086, 0.010742568, 0.38711935, -0.336849, 0.040117126, 0.4004001, 0.19877116, 0.47289473, 0.021661036, -0.015238145, 0.09152666, 0.038322717, 0.06817698, 0.049476456) * go_3(0.0, 0.0); - result += mat4(-0.10441812, 0.21133856, -0.057014488, 0.23972808, -0.24930222, -0.050501857, 0.032259904, 0.12751378, 0.27306128, 0.30964115, -0.11031131, 0.12801209, 0.178222, -0.062289014, 0.022079576, -0.11246125) * go_3(0.0, 1.0); - result += mat4(-0.03134103, -0.22539799, 0.06857922, -0.10189109, -0.05753412, -0.024686527, 0.013851189, 0.1957986, -0.020091414, 0.14719157, 0.11946867, -0.09724786, 0.0028783937, 0.060009662, 0.013492387, 0.11172315) * go_3(1.0, -1.0); - result += mat4(0.025690198, 0.23751663, 0.12185973, -0.019141376, -0.084277906, 0.11608392, 0.16283877, 0.042005546, 0.072981484, -0.2306133, -0.071143106, -0.18201771, -0.031751275, -0.020903533, 0.12043939, 0.20526986) * go_3(1.0, 0.0); - result += mat4(-0.033504594, -0.09981515, 0.19222768, -0.00037204215, 0.07057902, 0.10403715, -0.03022699, 0.098804235, 0.18592818, 0.024603445, 0.11061402, -0.11533017, -0.12443965, 0.011813011, 0.07349946, 0.038668673) * go_3(1.0, 1.0); - result += mat4(-0.23181002, -0.17350966, 0.048837297, -0.08551675, 0.18603337, 0.058313303, 0.04316692, 0.058691278, -0.004881664, 0.0729517, -0.03626247, 0.15820287, -0.02682429, -0.0048006307, -0.094057836, -0.14746818) * go_4(-1.0, -1.0); - result += mat4(0.1383817, -0.1420967, 0.1424335, 0.22556119, -0.00086617674, 0.16489741, -0.26023895, -0.20425053, -0.034436412, 0.2758035, -0.059897684, -0.13402066, -0.16843258, -0.121999204, 0.3507855, 0.12512234) * go_4(-1.0, 0.0); - result += mat4(0.0632651, -0.025671296, -0.07224494, -0.037086867, -0.09273154, 0.0072819768, -0.049275056, -0.1953304, -0.17975083, 0.082679234, 0.053353265, -0.006074758, 0.20823684, 0.062092874, 0.11811291, 0.1815561) * go_4(-1.0, 1.0); - result += mat4(0.078111276, 0.25469536, 0.29218477, 0.004212939, -0.1232599, 0.021684207, -0.66154927, -0.343972, 0.010710011, -0.08535829, 0.18138462, 0.09095369, -0.103921935, 0.057450265, 0.25861067, -0.15153539) * go_4(0.0, -1.0); - result += mat4(-0.10782405, 0.18735452, -0.19443172, -0.15904504, 0.18990147, 0.48975512, 0.4310995, 0.1340281, 0.3089527, -0.10327674, -0.09608584, -0.123780966, -0.08807219, 0.14264533, -0.3084031, 0.02124611) * go_4(0.0, 0.0); - result += mat4(0.15577073, -0.06495954, 0.060370963, -0.114554875, 0.0047810473, 0.3622068, -0.3659395, 0.15643036, -0.07608074, 0.04065042, -0.039538994, -0.02360629, -0.02197194, 0.0048276316, 0.110902175, -0.16704206) * go_4(0.0, 1.0); - result += mat4(-0.0020525095, -0.012990091, 0.094804876, -0.02951601, 0.24626282, 0.124219425, 0.0463335, 0.094997995, -0.048861977, -0.005314135, 0.0059577175, -0.105576694, 0.048093226, 0.09738743, 0.21545859, 0.054231316) * go_4(1.0, -1.0); - result += mat4(0.07456489, 0.02194597, -0.20656359, -0.15409991, -0.04743203, -0.15427557, -0.24320696, 0.23521787, 0.016238466, -0.012914946, -0.05602358, 0.06522049, 0.102704614, -0.23755711, -0.08094957, 0.008219577) * go_4(1.0, 0.0); - result += mat4(0.035681196, -0.033441707, -0.11075713, 0.055746105, 0.019134156, -0.049570475, 0.06607101, -0.0073855054, 0.07943337, -0.11261986, 0.0008748123, -0.10753691, -0.10877436, -0.0108197965, -0.04098305, 0.020095402) * go_4(1.0, 1.0); - result += mat4(0.027692698, -0.023028603, -0.100124516, -0.103564754, 0.039096612, -0.010974292, -0.02888593, 0.08225068, -0.022655668, -0.023619713, -0.04132294, 0.06264889, 0.11349463, 0.074886896, -0.026237458, -0.13935888) * go_5(-1.0, -1.0); - result += mat4(-0.07625777, -0.02026929, -0.16509674, -0.07015678, 0.12159663, 0.11826456, -0.16222349, 0.02991282, 0.31014135, -0.18721381, 0.015715228, 0.013268594, -0.0226595, -0.086094275, 0.24472123, -0.10165225) * go_5(-1.0, 0.0); - result += mat4(-0.0046345745, -0.08258393, -0.0949934, -0.18188646, -0.082375005, 0.07654353, 0.023176871, -0.020692138, 0.024534898, -0.115623355, -0.012813735, 0.06324557, 0.10770564, -0.08825215, 0.049195863, -0.076814786) * go_5(-1.0, 1.0); - result += mat4(-0.038878765, -0.10554748, -0.03482947, -0.2024768, -0.09590611, -0.05518289, 0.17108603, 0.10745178, 0.14090835, 0.04451474, 0.33331943, -0.09338132, -0.13840568, -0.06591041, -0.13315365, 0.14895599) * go_5(0.0, -1.0); - result += mat4(-0.7184948, 0.20635058, -0.01087146, -0.25665486, 0.0694774, -0.08051657, -0.20419565, -0.29972658, -0.31587854, 0.26213837, -0.14282377, -0.14769338, -0.29376042, -0.24546684, 0.37429252, -0.01691138) * go_5(0.0, 0.0); - result += mat4(0.010284815, -0.29481632, 0.18720046, 0.028168285, -0.025520338, -0.031638097, 0.07629401, 0.23760115, -0.06497784, -0.09899808, -0.025247818, -0.141932, 0.30421942, 0.0839128, 0.15210237, -0.2547937) * go_5(0.0, 1.0); - result += mat4(-0.11730973, 0.08676562, -0.12592962, 0.059735335, 0.036849916, 0.01789285, -0.02247672, 0.034570415, 0.069350585, -0.047193673, 0.06288105, -0.016742256, -0.06302216, 0.00919547, 0.12617198, -0.001655632) * go_5(1.0, -1.0); - result += mat4(0.13489273, -0.05945722, 0.15636152, 0.10246266, -0.0492767, 0.13209876, -0.022542313, 0.1869006, 0.18273778, -0.009863488, 0.1475087, 0.009797511, 0.18775922, -0.08949364, 0.031399027, 0.16898693) * go_5(1.0, 0.0); - result += mat4(-0.17234778, -0.113925606, 0.0285368, 0.093877554, -0.010534175, 0.002686299, 0.033060588, -0.019788781, 0.12574218, 0.03520547, 0.0032812972, 0.04480523, 0.06951987, -0.25137702, 0.01562915, -0.02552195) * go_5(1.0, 1.0); - result += vec4(0.06121498, 0.024510587, -0.012219787, 0.074479066); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06058286, 0.2195084, 0.19780184, -0.05155375, 0.09216426, 0.03457752, -0.096646644, -0.015035897, -0.13803566, 0.025244685, 0.13735959, -0.009401512, -0.16166702, -0.1815502, 0.007993552, 0.0069571338) * go_0(-1.0, -1.0); - result += mat4(0.047445912, 0.11488218, -0.17851587, -0.1392721, -0.038011838, 0.17368795, 0.106928326, -0.13197932, -0.2733485, -0.087136164, 0.07961574, 0.020573204, 0.029977003, -0.1667677, -0.17820576, 0.0118401665) * go_0(-1.0, 0.0); - result += mat4(0.07106099, -0.00185452, -0.027270012, -0.09875212, 0.06354194, -0.16046102, -0.034993082, -0.053045254, 0.068700135, 0.09387552, -0.09717345, -0.06485704, 0.050274733, -0.015956623, -0.14531186, -0.023925254) * go_0(-1.0, 1.0); - result += mat4(-0.020267177, 0.09845256, -0.22237779, -0.0704043, -0.03563008, 0.0058337585, -0.053230047, -0.0151015995, -0.004355268, -0.16663343, -0.022371203, 0.17783938, 0.27934113, 0.038911168, 0.053898126, 0.067584395) * go_0(0.0, -1.0); - result += mat4(-0.35373348, -0.04811985, -0.003069958, 0.22371289, 0.039519783, 0.08697823, 0.12242937, -0.05692152, 0.34154105, -0.30326834, -0.23093781, 0.060490705, -0.3779121, -0.12894416, 0.03531685, 0.27401015) * go_0(0.0, 0.0); - result += mat4(-0.27760014, 0.024816839, 0.16137716, 0.060659613, -0.0962453, -0.023302421, -0.0679713, 0.08072911, 0.10419372, -0.1286133, -0.06336595, -0.13529508, -0.033300906, 0.077698715, 0.13658288, -0.046092913) * go_0(0.0, 1.0); - result += mat4(0.004510119, -0.018816976, -0.023925988, -0.056694455, 0.021134097, 0.15678076, -0.034855466, -0.052143726, 0.11061209, -0.03679294, -0.15515395, 0.22478753, 0.030984117, 0.01664375, -0.010612448, -0.01799207) * go_0(1.0, -1.0); - result += mat4(0.18006827, 0.168574, 0.15232614, -0.1295002, -0.05264042, -0.12097018, -0.08624036, -0.20883065, 0.22397974, 0.041060217, -0.23898268, 0.09747489, 0.0005401559, -0.17116228, 0.03260164, 0.2373106) * go_0(1.0, 0.0); - result += mat4(0.0005155169, -0.10857663, -0.014398447, 0.004808808, -0.05587811, 0.1242163, 0.14578046, -0.09588132, 0.14351574, -0.10559421, -0.041078355, 0.0059864363, -0.061656762, -0.07678676, -0.10182491, -0.10634101) * go_0(1.0, 1.0); - result += mat4(-0.04443192, 0.13661186, -0.076222196, -0.081149, -0.041719135, -0.12614048, 0.018182557, 0.03125801, 0.06955725, 0.09229393, -0.0070879795, 0.038897008, 0.0052797156, 0.13088952, -0.073197, -0.11281815) * go_1(-1.0, -1.0); - result += mat4(0.19961423, 0.13726334, 0.27169493, 0.05927113, 0.0028651909, -0.1287458, 0.026732842, -0.095184654, 0.016316563, -0.11783113, 0.2360606, -0.30774674, 0.108432285, 0.23025006, -0.085001394, 0.08807084) * go_1(-1.0, 0.0); - result += mat4(-0.060046196, 0.15679826, 0.2430814, -0.13272808, 0.019943269, 0.015503196, -0.030504405, 0.06340887, 0.1670832, -0.13615952, -0.13015799, 0.042683575, -0.06566812, -0.062855676, 0.056155447, -0.13632087) * go_1(-1.0, 1.0); - result += mat4(-0.04923022, 0.053739548, 0.23691703, 0.045897946, 0.08574055, 0.015698176, 0.30700058, 0.03893632, -0.09240451, 0.13776198, -0.01634878, 0.1086944, -0.10443478, -0.038250007, -0.16425894, 0.069837235) * go_1(0.0, -1.0); - result += mat4(-0.4527755, -0.16416265, 0.45300293, 0.11527787, 0.06872868, 0.03514386, -0.02678375, 0.04558898, -0.21735664, -0.38876057, 0.15125597, 0.20117617, -0.15160187, -0.2531804, 0.15049757, -0.018326014) * go_1(0.0, 0.0); - result += mat4(0.013021216, 0.07807231, -0.025769137, 0.13387477, -0.16259682, -0.054581523, 0.17289965, -0.08043052, 0.0063357623, 0.11866516, -0.13520378, 0.0152135575, 0.061740812, 0.052589882, -0.16574025, 0.024117855) * go_1(0.0, 1.0); - result += mat4(0.04268464, 0.06037914, 0.06682348, 0.054433875, -0.14284062, 0.007709387, 0.05249287, -0.008818238, 0.02744223, 0.026029283, -0.068422645, 0.104170494, 0.011463976, 0.10870952, 0.11592658, 0.07393047) * go_1(1.0, -1.0); - result += mat4(-0.03750191, 0.0014403146, 0.1580456, 0.1137993, 0.08569837, 0.0005632574, 0.08939288, -0.004063193, 0.03108807, -0.1707586, 0.06543877, -0.02108999, -0.044783764, -0.09259009, 0.0018684827, 0.10293258) * go_1(1.0, 0.0); - result += mat4(-0.072144635, 0.13235292, 0.13174231, 0.06512337, 0.061325137, -0.1140173, -0.10778849, -0.0933897, -0.0026419833, 0.031816084, -0.05882651, -0.05534951, 0.05234496, -0.03341018, -0.028817033, -0.034064483) * go_1(1.0, 1.0); - result += mat4(0.06916357, -0.11582247, -0.06554703, 0.09624395, 0.11644621, 0.019876527, -0.08696374, 0.017086076, -0.054255698, 0.28372917, -0.000972655, -0.06400794, 0.030290179, -0.08620439, -0.08410291, -0.012277875) * go_2(-1.0, -1.0); - result += mat4(0.06226754, -0.040624045, -0.11270401, 0.10805481, 0.18899143, -0.1973884, -0.034787323, 0.05666152, -0.087144844, 0.032518808, -0.12266705, -0.12644689, 0.035625648, 0.13503525, 0.10947289, -0.02394309) * go_2(-1.0, 0.0); - result += mat4(-0.022302793, 0.10360904, 0.016256806, -0.021677233, 0.12430526, 0.042963423, -0.18037538, -0.14628161, 0.016152794, -0.11254728, 0.06434654, -0.005073352, 0.016403137, -0.035858087, -0.06591741, 0.08597588) * go_2(-1.0, 1.0); - result += mat4(0.004012092, -0.050453838, 0.07977573, 0.15305792, -0.05928047, -0.09349286, -0.14555392, 0.12337536, 0.16214384, -0.109313816, -0.044248413, -0.2963013, -0.14371789, -0.13369437, 0.07077758, 0.10006308) * go_2(0.0, -1.0); - result += mat4(0.06548829, -0.13058634, -0.26494655, -0.28315514, -0.45161557, -0.07177602, 0.10558368, 0.21007149, 0.45134485, 0.53428864, -0.24526665, -0.51175225, -0.16881745, 0.39553252, -0.059874248, -0.15100208) * go_2(0.0, 0.0); - result += mat4(-0.034883123, 0.09653819, 0.16275059, -0.10605186, -0.16961089, 0.15750273, -0.28543097, -0.12217311, 0.19074517, 0.00074714713, -0.07579063, 0.14993025, -0.013494211, 0.19434276, -0.038070716, 0.041972294) * go_2(0.0, 1.0); - result += mat4(0.077254616, 0.013449401, -0.068184, 0.10592368, 0.024376335, 0.0051301597, -0.13352032, 0.17067592, -0.07192257, 0.055784814, -0.12246667, 0.01487913, 0.116122164, 0.10971574, 0.026872944, -0.026666151) * go_2(1.0, -1.0); - result += mat4(0.05711798, -0.0010387006, -0.11265493, 0.27974793, 0.091452494, -0.20599814, -0.15438712, 0.32230932, -0.105436936, -0.35339028, -0.08469404, -0.03431861, -0.0006499669, -0.2701855, -0.011796139, -0.04423021) * go_2(1.0, 0.0); - result += mat4(-0.0829698, 0.06493657, -0.036546737, 0.024583373, 0.048521917, 0.1649191, -0.056993846, 0.08988572, -0.12735078, 0.3074979, 0.08563853, 0.119320676, 0.18576288, 0.14356904, -0.026636694, 0.05132804) * go_2(1.0, 1.0); - result += mat4(-0.0991048, -0.10884221, -0.12869547, 0.034603372, -0.06870907, -0.18230984, -0.021502903, 0.11301028, 0.18878941, -0.110253036, 0.040812176, -0.06389069, -0.15005918, 0.0037244866, 0.2132717, -0.013256287) * go_3(-1.0, -1.0); - result += mat4(-0.08388061, -0.112235, 0.065214306, -0.13957025, -0.19478679, 0.11254506, 0.054630954, 0.053645436, -0.2522801, 0.15058047, -0.07061216, -0.096459135, -0.11855631, -0.056933407, 0.035139047, 0.068258055) * go_3(-1.0, 0.0); - result += mat4(-0.06917721, 0.094096094, 0.07469013, 0.16470721, -0.11484115, -0.18424381, 0.016549148, 0.08468404, 0.04055001, -0.33645272, -0.0059957053, 0.08970189, 0.09028248, 0.04077987, -0.06547463, -0.006269863) * go_3(-1.0, 1.0); - result += mat4(0.21908568, 0.08401723, 0.0843042, 0.06545498, -0.08450129, -0.028926728, 0.19440761, 0.09694871, 0.07596912, 0.045503646, -0.006316475, -0.27986103, 0.06910375, -0.43196592, 0.03879253, 0.1638245) * go_3(0.0, -1.0); - result += mat4(0.8879269, -0.02551214, -0.030510996, -0.36941388, 0.3126625, 0.21035604, -0.15371346, -0.2780625, 0.06461355, 0.18609639, -0.149495, -0.23149131, 0.46026996, 0.035948373, 0.18278143, -0.20113651) * go_3(0.0, 0.0); - result += mat4(0.055903055, 0.08408526, 0.054170065, -0.2976025, 0.18558906, 0.029338092, -0.09893593, 0.059603147, -0.19218643, -0.008077081, 0.09550512, 0.051217057, -0.0276843, 0.33184877, -0.018644275, -0.11763111) * go_3(0.0, 1.0); - result += mat4(0.23338239, 0.011580942, -0.0787839, 0.09754503, 0.009759483, -0.075707465, -0.10206689, 0.08720839, -0.3039172, -0.2001228, 0.30864987, -0.16379629, -0.03914539, -0.06503792, -0.03883409, -0.065077074) * go_3(1.0, -1.0); - result += mat4(-0.1440983, 0.2827839, -0.07015957, 0.11515792, -0.1266345, -0.06969393, -0.009006173, 0.12875685, 0.031837627, 0.09990079, -0.1656627, 0.13870959, -0.08637978, 0.024281958, 0.12342855, -0.08816514) * go_3(1.0, 0.0); - result += mat4(-0.015464915, -0.19240353, -0.01967364, -0.11796279, -0.06462456, 0.154628, 0.076811045, 0.098927125, -0.20375597, 0.023598116, -0.10710138, 0.08929812, 0.07584669, -0.11928781, 0.049687184, -0.06122156) * go_3(1.0, 1.0); - result += mat4(0.16479358, 0.19148158, 0.098467164, 0.0618447, 0.0751567, 0.010100359, 0.05155746, -0.0778876, 0.0011591897, -0.056076154, -0.041074045, 0.024008576, -0.017050695, -0.18685716, -0.08527556, 0.0037657958) * go_4(-1.0, -1.0); - result += mat4(0.16866666, -0.29083413, -0.18637179, 0.0018769886, -0.2018132, 0.46180528, 0.13246574, -0.23898588, -0.12212059, 0.3341523, 0.1091505, 0.08251535, 0.19041067, -0.16169062, 0.07583192, 0.050573617) * go_4(-1.0, 0.0); - result += mat4(0.0129842255, -0.008741855, -0.053530104, -0.03131398, -0.0020409364, -0.07680617, 0.33556506, -0.011717628, -0.13952619, -0.05453907, 0.10336836, -0.027125375, 0.1751553, -0.030947112, -0.025735123, 0.041072566) * go_4(-1.0, 1.0); - result += mat4(-0.036542114, 0.10128076, -0.1880457, -0.17261198, 0.1431477, -0.18661828, 0.32769415, 0.0663247, 0.03365178, 0.19796737, -0.09132497, -0.21413301, 0.043885235, 0.20412171, 0.14644071, -0.06985309) * go_4(0.0, -1.0); - result += mat4(-0.2735308, 0.19792703, -0.21177524, 0.21988408, 0.32919964, 0.11183913, 0.2913821, 0.06404769, -0.004921694, 0.22249468, -0.010577357, -0.09632516, -0.15458032, -0.2982006, -0.041645106, 0.087833084) * go_4(0.0, 0.0); - result += mat4(-0.07113276, 0.07723143, -0.058266032, 0.08239994, -0.18380593, -0.09771933, 0.12499344, 0.031730324, 0.042094275, -0.010583603, 0.009981995, 0.107384935, -0.20355527, 0.017341057, 0.018268948, -0.15857501) * go_4(0.0, 1.0); - result += mat4(0.0013823194, -0.044928502, 0.025921093, 0.0012451003, -0.30528855, 0.3374342, 0.34150144, -0.09229386, -0.08328619, -0.10615052, 0.16300991, -0.19953482, -0.10911166, -0.036731765, 0.098331414, -0.06403792) * go_4(1.0, -1.0); - result += mat4(-0.023653124, 0.04610296, -0.03044758, -0.025650993, -0.32529983, 0.062136825, 0.24734603, -0.019307928, 0.03787457, 0.34381005, 0.113464035, -0.02037722, 0.32398093, 0.05488551, 0.055344287, 0.017325766) * go_4(1.0, 0.0); - result += mat4(0.0385026, 0.079174675, 0.059799727, -0.00725753, -0.0573653, -0.0420986, 0.16784842, 0.14938053, -0.009344561, -0.0778813, -0.017263457, -0.01132742, 0.077959225, -0.14751856, -0.20435876, -0.010041575) * go_4(1.0, 1.0); - result += mat4(-0.05931535, -0.08731735, 0.11970444, -0.09924397, 0.033911336, -0.0016364546, 0.0087679215, -0.076540634, 0.0077172252, 0.14911291, 0.11776904, -0.017065775, -0.059564207, 0.017132213, 0.06148217, -0.07582431) * go_5(-1.0, -1.0); - result += mat4(0.071270525, -0.24058339, -0.20233437, 0.001615171, 0.021383315, 0.09934347, -0.0011403296, -0.04854113, 0.12778723, 0.061408937, -0.071042776, 0.26612863, -0.10339047, -0.08749296, -0.04532682, -0.0615132) * go_5(-1.0, 0.0); - result += mat4(0.06391922, -0.016149543, -0.002464466, -0.00664347, -0.06338617, 0.04004229, 0.034720086, 0.054125533, 0.121965334, 0.2502773, -0.12270718, 0.011068944, -0.00047330794, 0.06449109, 0.17593135, 0.0040256707) * go_5(-1.0, 1.0); - result += mat4(0.03477346, -0.31120908, 0.28306037, 0.22833072, -0.017806482, -0.056919, 0.055360638, 0.020397838, -0.060393255, 0.02178207, -0.20644443, 0.088335134, 0.030195525, -0.19925289, -0.016580708, -0.007094466) * go_5(0.0, -1.0); - result += mat4(0.028902626, 0.12521821, 0.29966938, 0.20124513, 0.11820484, 0.23270105, -0.27059364, 0.0034185604, -0.0808993, -0.21187486, 0.14866447, 0.2362522, 0.2997781, 0.25243583, -0.010675219, -0.21490887) * go_5(0.0, 0.0); - result += mat4(0.017603166, -0.1354112, 0.07734325, -0.10108977, 0.095413536, -0.27478248, 0.15811092, 0.08514367, -0.0648521, -0.23040737, -0.015424236, -0.102597706, 0.018168293, 0.049426224, 0.24017967, -0.0076911957) * go_5(0.0, 1.0); - result += mat4(0.040054902, 0.10045824, -0.00088240346, 0.10863258, 0.004609783, 0.08008685, 0.0008943593, 0.04380173, 0.04113014, 0.17802699, 0.19284193, -0.09775915, -0.082003035, -0.04828276, -0.2212439, -0.08810767) * go_5(1.0, -1.0); - result += mat4(0.110144354, -0.17653003, -0.18453437, -0.13516864, -0.12592733, -0.031436298, 0.10997709, -0.26131755, 0.13670647, 0.33671942, 0.06641791, 0.022009498, -0.0843429, 0.2000657, 0.1431977, 0.23156545) * go_5(1.0, 0.0); - result += mat4(0.18203191, -0.30493334, 0.0012451819, 0.040420715, -0.09400875, -0.058327, -0.092143685, 0.08411573, 0.06618551, 0.066164635, -0.08439327, 0.07001009, 0.22673227, -0.1294288, -0.46530777, 0.2499909) * go_5(1.0, 1.0); - result += vec4(0.06602671, 0.113320544, -0.04297089, 0.007400785); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19466089, -0.10927993, 0.09179887, 0.15121523, -0.037340622, 0.06053471, 0.038131684, -0.008113673, -0.18904036, -0.09559259, -0.17113, 0.03717301, -0.043611653, -0.16189677, 6.720818e-05, 0.087884724) * go_0(-1.0, -1.0); - result += mat4(-0.2376871, 0.07507205, 0.08144118, 0.266135, -0.0016601613, -0.075726755, 0.1405083, 0.05794102, 0.082300104, 0.42289656, -0.21715559, 0.066831395, 0.31216174, -0.14317952, 0.1725695, -0.17751537) * go_0(-1.0, 0.0); - result += mat4(0.037299458, -0.11762432, -0.011837041, 0.1465751, 0.039899126, -0.049513657, -0.0037649425, -0.17213967, 0.13214532, -0.035151232, 0.098905504, 0.25259635, -0.034471225, 0.22866723, 0.056768697, 0.04517098) * go_0(-1.0, 1.0); - result += mat4(-0.032002304, 0.0033130902, -0.11396168, -0.24947542, -0.01432499, 0.059397, 0.011829774, -0.039037425, 0.2855777, 0.38178965, 0.061862387, -0.3191097, 0.0013762182, 0.10873268, 0.13221635, 0.11438935) * go_0(0.0, -1.0); - result += mat4(-0.444183, 0.07429998, -0.24415193, 0.20763457, 0.005403234, -0.09182405, -0.33746308, 0.23260857, 0.80383587, 0.42822048, 0.15259221, 0.08751457, -0.18719546, 0.3931829, -0.3559663, 0.1288945) * go_0(0.0, 0.0); - result += mat4(0.038999066, 0.20546576, 0.17918825, 0.06601807, -0.09185307, 0.08308848, 0.3533222, 0.20337574, 0.2909968, -0.25924757, -0.18089646, -0.0856463, 0.1436575, -0.20405407, 0.08083093, -0.13420194) * go_0(0.0, 1.0); - result += mat4(-0.08427221, 0.029255591, 0.016859733, -0.011943696, 0.13574867, 0.040940672, 0.013232511, 0.026956066, 0.071955554, -0.06337127, -0.15357494, -0.026208352, -0.04108415, -0.06945617, 0.018760698, -0.023912333) * go_0(1.0, -1.0); - result += mat4(0.07994412, -0.00968056, 0.08030741, 0.16342168, 0.04104326, 0.073546335, 0.10782922, -0.27047744, -0.027339334, 0.012742752, 0.07632864, 0.3130092, -0.026107019, 0.14022668, 0.0019065946, 0.050307225) * go_0(1.0, 0.0); - result += mat4(-0.064752, -0.114935696, -0.101320885, -0.13594441, -0.0035874723, -0.21959865, -0.20514846, 0.06435263, -0.07910371, 0.22121632, -0.027385276, 0.11370377, -0.087538995, 0.02242176, 0.05138211, -0.055027794) * go_0(1.0, 1.0); - result += mat4(-0.07418348, -0.013085453, -0.23711763, 0.13872914, 0.10102951, 0.034057204, 0.09149018, 0.060473535, -0.00067378976, 0.05151344, -0.038349435, 0.05791031, 0.0049775504, -0.0063300184, 0.11502679, 0.11189162) * go_1(-1.0, -1.0); - result += mat4(-0.17575283, -0.026091507, -0.012820658, 0.02245792, 0.15239143, -0.12657113, 0.062418584, -0.12840585, 0.07613884, 0.12033655, -0.05695382, 0.03669604, -0.17113449, -0.15366605, 0.17787598, 0.06278569) * go_1(-1.0, 0.0); - result += mat4(0.015337286, -0.050423414, -0.08879978, 0.04760555, 0.12424041, -0.03367427, -0.0459138, 0.22050953, 0.12919267, 0.26828563, -0.1061058, -0.10099044, -0.04658635, -0.016307753, 0.14689955, -0.14597629) * go_1(-1.0, 1.0); - result += mat4(-0.01102339, 0.014672111, 0.13931917, -0.1345445, 0.031524513, -0.32458848, -0.056687858, 0.22222418, -0.056350503, 0.035747256, -0.10304222, -0.21285744, 0.25462946, 0.09982579, 0.09516444, -0.016217945) * go_1(0.0, -1.0); - result += mat4(-0.076081604, -0.23594818, 0.15077876, -0.21414931, 0.2282169, 0.59579784, -0.12744917, 0.35256362, -0.074862994, 0.16357085, 0.19566183, -0.05933472, 0.6046422, 0.17888334, -0.015507464, -0.08096589) * go_1(0.0, 0.0); - result += mat4(-0.07068054, -0.0079010865, 0.036364477, 0.14502864, -0.021085994, -0.07906985, 0.09793876, 0.07399657, 0.12093952, -0.18547052, -0.110405356, -0.10768624, 0.016976682, -0.030136436, 0.3050347, 0.25278243) * go_1(0.0, 1.0); - result += mat4(-0.010475713, -0.10232612, -0.108958706, -0.011528059, 0.11610843, -0.0014788646, 0.17262968, 0.031911, 0.08343287, -0.0021717772, -0.021841958, 0.0973525, -0.046819497, -0.05605018, 0.1291599, 0.09826176) * go_1(1.0, -1.0); - result += mat4(0.04663343, 0.04400759, -0.035258498, 0.00895981, -0.23123324, -0.055122357, 0.089720264, 0.09339213, 0.16230758, 0.01740431, 0.0010832906, 0.019101601, -0.28437567, -0.017914291, 0.06484634, -0.00661367) * go_1(1.0, 0.0); - result += mat4(0.08788325, 0.017547041, -0.12180048, -0.01287628, 0.014391497, 0.0098254625, -0.1297012, -0.08183671, 0.018999657, 0.09840126, 0.047082353, 0.24155243, 0.12269502, -0.08142539, 0.10323659, -0.033276822) * go_1(1.0, 1.0); - result += mat4(-0.14859885, -0.03888739, -0.15384491, -0.17175777, 0.04767615, 0.042373076, 0.013757687, -0.13237329, -0.04965534, 0.020163631, -0.11415436, -0.056286413, -0.16989873, 0.024179472, 0.037168648, -0.12176204) * go_2(-1.0, -1.0); - result += mat4(-0.05709518, -0.09206574, 0.04486005, -0.033150986, -0.017180622, 0.06052779, 0.16889273, -0.15518297, -0.24440864, 0.12658344, -0.139649, 0.037917744, -0.14727007, 0.038368758, -0.05098604, 0.09547945) * go_2(-1.0, 0.0); - result += mat4(-0.08096385, -0.010406064, -0.057036124, 0.13355646, -0.00612782, -0.0033356852, -0.06850302, 0.029461807, -0.17608377, -0.10943067, 0.030028753, 0.08070524, 0.022253908, -0.005548474, -0.045125946, 0.02093025) * go_2(-1.0, 1.0); - result += mat4(0.10988742, 0.27972367, -0.04232453, -0.43071312, -0.08219865, -0.12530999, -0.0016445538, 0.05443371, -0.014415479, -0.08840511, 0.066499956, -0.01336885, -0.15110426, 0.062335182, 0.052890446, 0.1044874) * go_2(0.0, -1.0); - result += mat4(0.33606815, -0.17963116, 0.34632006, 0.3946198, -0.10691484, -0.1038113, -0.019460114, 0.06895735, 0.59190637, -0.10203456, 0.008359275, 0.06353352, -0.32418385, -0.12430192, 0.24380416, -0.23094086) * go_2(0.0, 0.0); - result += mat4(-0.020480068, -0.01640171, -0.09763355, -0.02580198, -0.041970506, -0.042252183, -0.09769974, -0.045537427, 0.14187063, 0.06059797, 0.033730645, 0.020378796, -0.033819746, 0.09553117, -0.05334098, -0.09202247) * go_2(0.0, 1.0); - result += mat4(0.0246489, -0.086129375, 0.05148198, 0.16396165, -0.042565763, 0.047137372, 0.08882997, -0.0076635084, 0.020555299, -0.0018504986, -0.093162216, -0.002001032, -0.09805734, -0.09600409, -0.0027830484, -0.12433019) * go_2(1.0, -1.0); - result += mat4(-0.016701702, 0.19712164, -0.13269165, -0.10036325, -0.008542912, -0.006157372, -0.09184331, -0.097038, -0.11304494, 0.27655166, 0.060221743, 0.096516214, -0.043898825, 0.010273238, -0.07468758, -0.21701947) * go_2(1.0, 0.0); - result += mat4(-0.11392737, -0.15646808, -0.16859137, -0.1773589, 0.062430523, 0.0633658, 0.1578782, -0.02552433, -0.09023146, -0.03037661, -0.050063506, -0.018076949, 0.021033524, -0.06344241, 0.08951326, 0.06231262) * go_2(1.0, 1.0); - result += mat4(-0.094271734, 0.0114940265, -0.04097972, -0.06457978, 0.20086573, 0.035297886, -0.03792428, -0.15497704, 0.12542814, 0.006359964, 0.049963623, 0.06472255, -0.14664528, 0.10833471, 0.03922276, -0.1675095) * go_3(-1.0, -1.0); - result += mat4(-0.18032873, 0.011285189, -0.061522707, 0.008256017, 0.13692558, 0.15130165, 0.13422745, -0.22135267, 0.19946684, 0.24516532, 0.10290738, -0.2294601, -0.052056555, -0.13473587, 0.23919931, -0.042362213) * go_3(-1.0, 0.0); - result += mat4(-0.025423648, 0.026715705, 0.0060757576, -0.06410553, -0.04461674, -0.3029843, 0.092734374, 0.04524039, 0.033247333, -0.02790855, 0.056930248, -0.15256552, 0.02607904, 0.09423549, -0.18153918, 0.13832009) * go_3(-1.0, 1.0); - result += mat4(-0.049555343, 0.017360087, 0.057959676, 0.07956772, -0.075296454, -0.1470046, 0.021892669, 0.10043102, -0.024857812, -0.10644472, 0.09769508, 0.1249294, 0.007206734, -0.028977863, 0.10593961, 0.26716354) * go_3(0.0, -1.0); - result += mat4(-0.029734008, -0.3227415, 0.23771009, -0.19591968, -0.51607347, -0.25314853, -0.056235682, -0.07140848, 0.111049965, -0.06368735, -0.2866811, 0.013670416, 0.06847308, 0.30838242, -0.12282098, 0.0034061049) * go_3(0.0, 0.0); - result += mat4(-0.12762555, -0.04628489, -0.12804574, -0.040225446, 0.20549247, 0.40988892, 0.046733934, 0.0011979616, 0.060588628, 0.15362865, -0.022557247, -0.09853034, 0.06939786, -0.08854213, 0.0033144224, -0.20143713) * go_3(0.0, 1.0); - result += mat4(0.05962723, 0.05745424, -0.094456606, -0.20003895, -0.070974536, 0.026771205, 0.02564145, -0.02845018, -0.035351314, -0.0117768, 0.113437235, 0.08942642, 0.058360267, 0.024181651, 0.024502836, -0.073039465) * go_3(1.0, -1.0); - result += mat4(0.12510774, 0.045879837, -0.010349814, -0.019377183, -0.008772124, -0.16534139, -0.13212264, -0.21540141, 0.036527056, -0.10918482, 0.0049819928, -0.019343467, 0.13203917, -0.08569981, -0.061810624, -0.05108862) * go_3(1.0, 0.0); - result += mat4(0.04002694, -0.055285487, 0.053127788, 0.10067933, -0.027899982, -0.0050923983, -0.039490424, -0.121817835, -0.09340064, -0.0429694, 0.18118261, 0.049474712, 0.038677018, 0.14249925, 0.09504422, 0.122608855) * go_3(1.0, 1.0); - result += mat4(-0.14135127, 0.09016643, 0.025633719, 0.000614705, 0.070762664, -0.030985976, 0.042064067, 0.057410795, 0.0660935, -0.05050625, -0.10755477, 0.039620418, -0.10203836, -0.07814099, -0.014446629, 0.18048128) * go_4(-1.0, -1.0); - result += mat4(0.43030277, 0.18589582, 0.256173, -0.2844, 0.13945708, 0.14931135, 0.22740678, -0.3956166, -0.0724625, -0.08001986, 0.081810005, 0.025289046, 0.06736611, -0.07330548, -0.29192784, 0.21637453) * go_4(-1.0, 0.0); - result += mat4(-0.08737932, -0.1372706, 0.03159939, -0.21679185, -0.09027622, -0.041193455, 0.11512235, -0.24278319, -0.08837681, -0.018710367, 0.041880753, -0.014190375, 0.033047616, 0.06708754, -0.03391409, -0.07711031) * go_4(-1.0, 1.0); - result += mat4(0.12588775, 0.4317977, 0.077132806, -0.42811748, 0.031082593, 0.23937033, 0.08018833, -0.22718322, 0.060632102, 0.08067565, -0.042863563, -0.091845684, -0.04759955, 0.009588551, -0.17780636, -0.22400473) * go_4(0.0, -1.0); - result += mat4(-0.06745702, -0.0795159, -0.4350959, 0.35561585, -0.13962667, -0.5940183, -0.54777396, -0.68051004, -0.16509765, -0.34696493, 0.038297307, 0.13719557, -0.040833995, 0.031406473, -0.5174053, -0.08789825) * go_4(0.0, 0.0); - result += mat4(-0.12779349, 0.2936602, 0.13704172, 0.13110651, 0.10102365, 0.24163464, -0.069620885, -0.16209678, -0.07489114, -0.019360917, -0.070400774, -0.023681173, -0.1102226, -0.09275758, -0.31730032, 0.03576276) * go_4(0.0, 1.0); - result += mat4(-0.0986982, -0.14386573, 0.06295539, 0.2667051, 0.029192172, 0.028653674, -0.13940518, -0.022916485, -0.091007926, -0.062984526, 0.026765045, 0.058111303, 0.028423572, -0.016102828, -0.09699887, 0.118749924) * go_4(1.0, -1.0); - result += mat4(-0.40428874, 0.45658726, 0.20199502, 0.020573912, -0.08588765, 0.15927678, 0.29527012, 0.40756142, -0.15820621, 0.009576386, -0.009194596, -0.08242508, 0.0012625816, -0.03771835, -0.22807057, 0.035798464) * go_4(1.0, 0.0); - result += mat4(0.13749583, -0.04876742, -0.0065646684, -0.28335539, 0.117720984, 0.087982565, 0.16954121, 0.2363482, -0.17796999, -0.106926255, 0.0060180747, -0.11523375, 0.038097225, 0.09647209, -0.06873753, -0.056800433) * go_4(1.0, 1.0); - result += mat4(0.1768557, 0.13145363, 0.12556404, 0.03251624, -0.02287178, 0.12941027, -0.2394559, -0.37159434, 0.14269918, 0.08204633, 0.20483865, 0.05722901, 0.06699899, -0.04848409, 0.12399497, 0.124153495) * go_5(-1.0, -1.0); - result += mat4(0.14586149, 0.09655288, 0.03812125, 0.052801564, 0.065902874, -0.043486778, 0.0657983, 0.14589024, 0.011490019, -0.0021060712, -0.18636304, 0.24038431, 0.2249946, 0.14451164, -0.13322833, 0.109084174) * go_5(-1.0, 0.0); - result += mat4(-0.03467399, 0.076331206, -0.047301926, -0.10028459, -0.069450885, 0.103480145, -0.08315761, -0.00030933326, 0.04021727, 0.06693238, -0.02885415, 0.12737286, -0.042063054, -0.075277805, 0.21915779, 0.14529525) * go_5(-1.0, 1.0); - result += mat4(-0.21753858, 0.13885236, -0.03733484, 0.070192896, -0.42111662, 0.2257056, -0.0020320695, -0.4404435, -0.011731456, -0.031235369, -0.17156643, -0.00023724366, 0.16697505, 0.19261077, 0.054627284, -0.2635247) * go_5(0.0, -1.0); - result += mat4(0.4114966, -0.21771282, -0.30367702, -0.24675573, -0.41803458, 0.31936127, 0.13296337, 0.2682109, -0.035749484, 0.22223838, 0.012987173, -0.20490278, 0.013631246, -0.34068218, -0.60729563, -0.13018902) * go_5(0.0, 0.0); - result += mat4(-0.011740597, 0.07837384, 0.12748203, -0.013336406, -0.07607798, -0.39041027, 0.1939761, -0.08242594, -0.008299102, -0.23057082, 0.13972911, -0.21057422, 0.18126678, 0.004605364, 0.27230838, 0.04088039) * go_5(0.0, 1.0); - result += mat4(-0.0761628, 0.08201472, 0.00067113456, -0.000108762404, 0.119982824, 0.0067928904, -0.048988946, -0.007609898, 0.049381327, 0.010086041, 0.025384359, 0.002726633, -0.009928298, 0.05588474, 0.050830763, 0.17467195) * go_5(1.0, -1.0); - result += mat4(0.074037455, -0.16637659, -0.017491426, 0.013344787, 0.054212473, -0.29519126, -0.2467157, -0.17357266, -0.13876535, -0.04991683, 0.1392161, 0.05660303, 0.03868982, 0.10992501, 0.13167763, 0.060129613) * go_5(1.0, 0.0); - result += mat4(0.027297564, 0.069763646, 0.15132809, 0.11143169, -0.08621777, 0.23928702, 0.00017447853, 0.115308166, -0.061112467, 0.044474706, -0.02718813, 0.19822854, -0.057888303, 0.06540743, -0.051538624, -0.002416074) * go_5(1.0, 1.0); - result += vec4(-0.06036478, 0.0356493, -0.059101366, 0.0024990432); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0023940788, -0.2570281, 0.021624887, -0.14413927, -0.042929508, 0.024798246, 0.06039514, -0.0385923, 0.18157732, -0.18974024, 0.3197193, -0.086097986, -0.23871095, -0.085877284, -0.15280978, 0.054582383) * go_0(-1.0, -1.0); - result += mat4(-0.2892671, -0.35989672, 0.14361507, 0.10109185, -0.008244152, -0.07610182, 0.016237438, 0.109711155, -0.03325961, 0.056557924, 0.093826056, 0.16487189, 0.12098654, 0.26959404, -0.32664284, -0.33652756) * go_0(-1.0, 0.0); - result += mat4(0.20426908, 0.00921726, -0.131825, -0.30112436, -0.29350808, -0.0059835073, -0.20881179, -0.15929249, 0.14798939, -0.039377835, 0.0022686112, -0.31745487, 0.1383128, 0.095711716, 0.24649502, 0.3734734) * go_0(-1.0, 1.0); - result += mat4(0.08007145, 0.059220374, -0.11955456, 0.02726716, -0.012340195, -3.9396626e-05, 0.23562932, 0.02603672, 0.0024148317, 0.48585725, -0.25960997, 0.12831855, 0.034503214, 0.26429248, 0.19966535, 0.34653723) * go_0(0.0, -1.0); - result += mat4(0.16401817, 0.05824359, 0.23210622, -0.4564646, 0.09790885, 0.0017682983, 0.12023501, -0.34214047, -0.3808189, -0.59095186, 0.3224012, 0.054841924, -0.14028488, -0.35759392, -0.012464827, -0.42101544) * go_0(0.0, 0.0); - result += mat4(0.18710142, -0.022806095, -0.03905798, 0.050422203, 0.21642984, -0.071577035, 0.165218, 0.10126085, 0.18105839, -0.09810516, -0.43905553, 0.5793889, -0.16706131, 0.13636151, 0.029069345, 0.28394657) * go_0(0.0, 1.0); - result += mat4(0.03242417, 0.03540981, 0.06596982, -0.11404851, -0.043041103, 0.118582286, -0.16384825, -0.021553654, -0.12775607, -0.055402167, -0.016003367, -0.06356131, -0.063166484, -0.09225374, 0.21487807, 0.18778628) * go_0(1.0, -1.0); - result += mat4(-0.29311153, -0.09822076, 0.1706967, -0.30188912, -0.11062667, -0.08119463, -0.13738254, -0.24389322, 0.2796491, 0.21054858, -0.08765812, 0.3177179, 0.10164016, 0.14627174, 0.15129958, -0.13566513) * go_0(1.0, 0.0); - result += mat4(-0.12295195, -0.12036253, -0.040527046, 0.10602722, -0.19854495, -0.05223541, -0.032363445, 0.122390084, 0.27342895, 0.09667149, 0.0423871, -0.17246284, -0.031107228, -0.005470437, 0.051434256, 0.07954733) * go_0(1.0, 1.0); - result += mat4(0.17945234, 0.051398605, 0.3032336, -0.36277965, -0.015693031, 0.0847029, -0.1128904, 0.04994005, 0.08276063, 0.07031328, 0.06770377, -0.1687264, -0.17490897, -0.09989766, -0.07715023, -0.010953815) * go_1(-1.0, -1.0); - result += mat4(0.014114998, -0.06209966, 0.057450738, 0.21318321, -0.093205266, -0.15646473, -0.22241333, -0.08228401, -0.4973326, -0.12547962, -0.07989991, -0.06822309, -0.106437586, -0.19071254, 0.14178663, 0.10448926) * go_1(-1.0, 0.0); - result += mat4(-0.005078645, -0.028730195, -0.04966596, -0.024377774, 0.0039325077, 0.10179092, -0.105298065, -0.1688019, -0.23554938, 0.058782354, 0.19999442, -0.027954772, -0.10502022, 0.016704066, -0.033541992, 0.1382609) * go_1(-1.0, 1.0); - result += mat4(-0.30713797, -0.0631538, -0.17524256, 0.12141287, 0.18175098, -0.13446523, -0.15921354, -0.0050512427, -0.00880753, -0.24464725, 0.10351903, -0.122694805, 0.2637432, 0.10111337, -0.05550657, -0.024864933) * go_1(0.0, -1.0); - result += mat4(-0.4845733, -0.13332175, 0.007910284, 0.5203373, 0.72870463, 0.15518989, -0.12580696, 0.04916096, 0.6244038, 0.3593719, 0.16328047, -0.14490198, 0.07803236, 0.26987454, -0.02258877, -0.21130653) * go_1(0.0, 0.0); - result += mat4(0.20343359, -0.048075967, 0.17489576, -0.18971623, -0.14069648, -0.029665243, -0.24902415, 0.07167198, -0.6412736, -0.041664686, 0.58569616, 0.02399211, 0.12831652, -0.058278285, -0.07922422, -0.108734205) * go_1(0.0, 1.0); - result += mat4(-0.004269588, -0.11554386, -0.0022618338, 0.12235181, 0.07379002, 0.0548718, -0.040107626, -0.040337294, -0.060385335, 0.119979575, -0.27628905, -0.023228448, -0.04064614, 0.0047100694, 0.048138026, 0.0057798214) * go_1(1.0, -1.0); - result += mat4(0.15257028, -0.005850462, -0.1434922, 0.07164339, -0.062233947, -0.0156128965, -0.019673312, -0.0002651659, -0.19478518, 0.11921539, -0.2361836, -0.09110679, 0.02719977, 0.0033712897, 0.17245373, 0.2532936) * go_1(1.0, 0.0); - result += mat4(0.0030309292, 0.10147757, -0.31425565, -0.10256, -0.05862195, -0.08736711, 0.084856585, 0.016700774, 0.06286386, -0.07443701, 0.08754631, -0.18171762, 0.06868201, -0.09278428, -0.053383432, 0.03826822) * go_1(1.0, 1.0); - result += mat4(-0.10183099, 0.06891697, 0.056318853, 0.13647571, -0.03353045, 0.016239524, 0.005603497, 0.035521563, 0.18905343, 0.041940115, 0.10048305, -0.04986043, 0.04298795, 0.050817303, 0.17744416, -0.010589751) * go_2(-1.0, -1.0); - result += mat4(-0.31862193, -0.13207828, -0.1375938, -0.23549932, -0.06217893, 0.0019514537, -0.005417935, 0.13736913, -0.10263318, -0.18941346, 0.15843, 0.27492487, 0.058868844, -0.1804736, 0.24544486, 0.10051148) * go_2(-1.0, 0.0); - result += mat4(0.15876879, 0.07879244, 0.0513651, 0.07673734, 0.015635801, 0.048305415, 0.019661602, -0.0479435, 0.027511599, -0.065881185, 0.21485852, -0.010372607, -0.19896457, -0.05555933, -0.054646876, -0.09143982) * go_2(-1.0, 1.0); - result += mat4(0.21596268, 0.21091351, 0.234315, -0.0006641688, 0.03455969, -0.12185912, -0.03052869, 0.15622592, -0.18506715, -0.24213594, -0.19364369, -0.07659142, 0.0379824, 0.0091246925, 0.1708395, 0.036304265) * go_2(0.0, -1.0); - result += mat4(-0.2730932, -0.23328209, 0.6977438, -0.2445981, 0.031650152, -0.004327604, -0.050584223, -0.07061773, -0.10755705, 0.30620542, -0.15688588, 0.16850896, -0.088513345, 0.2162286, -0.4329111, -0.52770174) * go_2(0.0, 0.0); - result += mat4(-0.068270594, 0.039348822, -0.08555022, 0.23533496, -0.062174525, 0.0193457, -0.13714077, 0.060169753, -0.06355557, -0.010862508, -0.17664193, -0.24809086, 0.032538615, 0.08074848, 0.20644335, 0.085532546) * go_2(0.0, 1.0); - result += mat4(-0.07677775, 0.0007320281, 0.0139939515, 0.19423772, 0.02928719, 0.05200053, 0.012181974, -0.005785729, 0.08011629, 0.03698694, 0.15808755, 0.04080324, -0.21732025, -0.10937562, -0.050028726, 0.088937156) * go_2(1.0, -1.0); - result += mat4(-0.06772194, 0.09471782, -0.0830642, -0.13875008, 0.003456362, 0.010889541, 0.08989434, 0.03261672, 0.19459227, 0.18803298, 0.16107602, 0.1490853, -0.22943772, 0.0005637327, 0.052380536, -0.06956663) * go_2(1.0, 0.0); - result += mat4(-0.15136889, -0.2523378, -0.037718855, 0.1728913, 0.067127876, -0.038833655, 0.14237632, -0.07256634, 0.0052903728, -0.11813482, -0.06309155, -0.015444354, 0.044696916, 0.0011587966, -0.008295438, 0.045684442) * go_2(1.0, 1.0); - result += mat4(0.029596262, 0.013380705, 0.19451803, -0.0217206, -0.03430266, 0.066089645, -0.22101538, 0.016455501, 0.122556984, -0.018319963, -0.06570934, -0.05489828, -0.13112561, 0.10740249, -0.07405227, 0.23262945) * go_3(-1.0, -1.0); - result += mat4(0.039601505, -0.0795478, 0.1524426, 0.22525507, -0.18371256, 0.009809418, -0.09180862, 0.03985826, -0.17215611, 0.104956195, -0.012817112, 0.12702619, -0.119846344, -0.1763627, -0.010298178, 0.059241127) * go_3(-1.0, 0.0); - result += mat4(-0.0823085, -0.07456769, 0.054212615, 0.009188054, 0.0017495407, -0.07561583, -0.17030309, 0.007888594, -0.11013637, -0.08417068, 0.061450012, -0.081912406, 0.11603573, 0.0490229, 0.119570516, -0.111465424) * go_3(-1.0, 1.0); - result += mat4(-0.21657833, -0.1643494, 0.19958968, -0.042039983, -0.0037797047, -0.13965121, -0.019386362, -0.024111586, 0.06518915, -0.15928997, -0.08175624, 0.050481785, 0.37915838, -0.09272705, 0.4887356, -0.13048859) * go_3(0.0, -1.0); - result += mat4(-0.3364342, -0.08892259, 0.2356529, 0.22063124, 0.31071013, 0.101701945, 0.25302443, 0.25084528, 0.22127245, 0.23771746, 0.35111645, -0.14120491, 0.09563979, 0.2781042, -0.17586009, -0.09176989) * go_3(0.0, 0.0); - result += mat4(-0.11986394, -0.093885854, 0.11733581, 0.05637956, 0.23623823, -0.007359601, 0.28527632, -0.16477823, 0.0035151376, 0.042055942, -0.0062996866, 0.021584665, -0.28436866, 0.1456055, -0.25843173, -0.07554441) * go_3(0.0, 1.0); - result += mat4(-0.03815117, 0.07561848, -0.07897604, -0.012987363, 0.02319023, 0.04150643, -0.019950474, 0.041954774, -0.07800387, -0.011202695, -0.11299979, -0.00864291, -0.114811376, 0.124991566, -0.46519995, 0.060762767) * go_3(1.0, -1.0); - result += mat4(-0.048102316, -0.04349749, -0.045696992, -0.06968446, -0.10201568, -0.10664441, -0.1271327, 0.014041653, -0.06944334, -0.024820644, 0.06449197, -0.118919216, -0.100525826, -0.081692286, -0.0036934754, -0.0950572) * go_3(1.0, 0.0); - result += mat4(0.028598474, 0.101999335, -0.10409241, -0.0008725121, -0.24365604, 0.09376613, -0.10155709, -0.019243455, -0.08370451, -0.08886542, 0.15643747, 0.094012596, 0.0989398, -0.003263144, 0.24052359, -0.05086219) * go_3(1.0, 1.0); - result += mat4(0.22825857, -0.041577056, 0.3575971, -0.019246848, 0.09680159, 0.05570423, -0.20628895, -0.02993351, 0.05210484, -0.049776137, 0.005964223, -0.22305849, 0.030647328, -0.088792734, 0.0043907063, 0.08531383) * go_4(-1.0, -1.0); - result += mat4(-0.30464846, -0.12842661, -0.3743522, 0.13156073, -0.32281575, 0.030088687, -0.09418602, 0.13464968, -0.0695602, 0.0936232, -0.038296524, 0.33601308, 0.17701761, 0.14289881, -0.047556065, -0.3338849) * go_4(-1.0, 0.0); - result += mat4(-0.005924107, 0.043742385, -0.064937405, 0.15786234, -0.09955057, -0.082465865, -0.03392436, 0.21772122, 0.15173042, 0.10373368, 0.051570628, 0.11137272, 0.15423453, 0.09124828, -0.014710869, 0.030298932) * go_4(-1.0, 1.0); - result += mat4(0.043112267, 0.5992106, -0.32294464, 0.31510955, -0.25169763, 0.04839851, 0.16124408, -0.14096124, -0.097060055, 0.06045283, -0.27082244, -0.12048959, 0.009364686, 0.11915612, 0.008150039, 0.08678112) * go_4(0.0, -1.0); - result += mat4(0.47620735, 0.6078475, -0.018170241, -0.50504035, -0.30020222, -0.24147978, 0.33480522, 0.43817788, -0.15983123, -0.19762735, 0.1549511, 0.292026, -0.31289634, -0.15204595, 0.3059814, 0.30576986) * go_4(0.0, 0.0); - result += mat4(0.13746189, -0.039151277, 0.62028766, -0.19905351, 0.13143681, 0.1407726, 0.18850237, -0.057907805, 0.086882025, 0.107989915, -0.0065579475, 0.31578153, -0.15049165, -0.20889415, -0.13337761, -0.035084542) * go_4(0.0, 1.0); - result += mat4(-0.071805745, -0.18944815, 0.25147218, -0.03606807, 0.23967369, 0.02687493, 0.0513247, -0.18633473, 0.063457586, -0.08531119, 0.21456662, 0.07793248, -0.08192292, -0.11563025, -0.020568466, -0.15659434) * go_4(1.0, -1.0); - result += mat4(0.17281517, 0.4232067, 0.32460606, -0.3712845, 0.41458213, 0.06034276, 0.2704778, 0.17323148, -0.06306892, -0.10192465, 0.17620242, -0.009122019, 0.1198333, 0.11001577, -0.3855991, 0.08933198) * go_4(1.0, 0.0); - result += mat4(-0.28324863, -0.041409206, 0.03248429, 0.24548076, 0.26409158, 0.24419361, -0.012711284, -0.30516157, -0.20289323, -0.13157755, 0.028014898, 0.16276212, 0.007050667, 0.08335203, 0.102254696, -0.11343822) * go_4(1.0, 1.0); - result += mat4(0.043687776, -0.004411872, -0.098016165, -0.055542797, 0.22615008, 0.13183828, 0.7488022, -0.33078304, 0.11318944, -0.047168892, 0.38564375, -0.030084245, 0.09062325, -0.16808534, -0.07371455, 0.20058438) * go_5(-1.0, -1.0); - result += mat4(0.19956557, -0.08747039, -0.029969914, 0.13122557, 0.049196698, -0.13465631, -0.22565748, -0.08703051, 0.26813537, 0.00821654, 0.032616418, -0.18458223, 0.17407443, 0.28091452, -0.16240835, -0.27060813) * go_5(-1.0, 0.0); - result += mat4(0.04535802, 0.037094936, 0.11686145, -0.002455908, 0.16012727, 0.14261092, -0.08348427, 0.18832053, 0.029025842, 0.054300968, 0.018998424, 0.014601349, 0.07728862, -0.034569506, 0.09937842, -0.076810405) * go_5(-1.0, 1.0); - result += mat4(-0.42146468, -0.10226207, -0.03932444, -0.17184897, -0.21222934, 0.050341085, 0.19828026, -0.07519326, -0.016190661, 0.08705493, -0.14219207, -0.08652689, -0.095818594, 0.18254876, -0.29907924, 0.049119983) * go_5(0.0, -1.0); - result += mat4(0.015439721, 0.24500765, -0.01930081, 0.24527666, -0.13847429, 0.5195186, 0.13352336, 0.12092768, -0.10859864, 0.043220174, -0.37466663, -0.0432489, -0.38647306, -0.33819455, 0.24641274, 0.6657115) * go_5(0.0, 0.0); - result += mat4(0.15343782, -0.004420619, -0.047215153, -0.16960907, -0.0707756, -0.29501325, -0.09699802, -0.15991725, -0.19104993, -0.115666404, -0.3558544, -0.0149508845, -0.1138187, -0.07019453, -0.16961712, -0.1560539) * go_5(0.0, 1.0); - result += mat4(-0.0016192662, 0.041725244, 0.003358041, -0.027749699, -0.001091161, 0.06779037, -0.15775087, -0.04927482, 0.016525732, -0.061703153, -0.011079543, -0.04828491, 0.19724323, 0.11623055, 0.11814769, -0.08236815) * go_5(1.0, -1.0); - result += mat4(-0.009845684, -0.18635233, -0.09976992, 0.12431404, -0.34134167, -0.34342697, -0.026243573, 0.088327765, 0.056699544, 0.07774804, 0.062026564, 0.09743545, 0.14937103, 0.11164576, 0.11233316, -0.071940914) * go_5(1.0, 0.0); - result += mat4(0.093613006, 0.08761063, 0.11849382, -0.06467931, 0.13939771, -0.05646352, -0.08747582, -0.3780521, 0.2270502, -0.042743817, 0.34419978, -0.11905452, 0.18841426, 0.044176128, 0.08761558, -0.0007557414) * go_5(1.0, 1.0); - result += vec4(0.07303222, -0.017307714, -0.017054217, -0.004928735); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07753503, 0.18257454, 0.16630161, 0.018181466, 0.032217313, -0.029755782, -0.09729085, 0.090185136, 0.036025215, -0.07385567, -0.11479112, -0.009775693, -0.09510068, 0.099653766, 0.12464123, 0.11700322) * go_0(-1.0, -1.0); - result += mat4(0.63560385, 0.086338535, -0.13764763, 0.47561046, -0.124727264, 0.12672219, 0.070208505, -0.19783491, -0.17025535, -0.06808678, -0.020102726, -0.04832835, 0.036826584, -0.42171007, -0.06695269, 0.110764995) * go_0(-1.0, 0.0); - result += mat4(-0.21227197, 0.007874801, 0.23701921, 0.1677161, -0.09035146, -0.078691766, -0.14215821, 0.124355234, 0.22710884, 0.033057146, -0.056999616, -0.23319073, 0.22966021, -0.06883101, 0.16328879, -0.06578935) * go_0(-1.0, 1.0); - result += mat4(-0.054363396, -0.02026726, -0.3616366, 0.06780306, -0.04632169, 0.10096817, 0.0533077, -0.083695725, 0.23162244, 0.16473895, 0.19103514, 0.0071199746, 0.2165012, 0.04725686, 0.035206214, 0.022603447) * go_0(0.0, -1.0); - result += mat4(0.6271094, -0.09669194, 0.07382753, -0.30720463, 0.15260984, -0.36707088, -0.031697996, 0.01600927, -0.39879522, 0.101928055, -0.6943482, 0.14665292, -0.3587046, 0.021466898, -0.047919527, 0.2560715) * go_0(0.0, 0.0); - result += mat4(0.019088794, -0.0771604, -0.028177094, 0.088726945, -0.057697777, 0.2596943, 0.17144933, 0.058258526, 0.08891237, 0.106383145, 0.396072, 0.29374352, 0.06596987, -0.105576634, 0.055430118, -0.12292237) * go_0(0.0, 1.0); - result += mat4(-0.17208415, 0.12158739, 0.04662299, 0.21695717, 0.11738881, -0.067407556, -0.039283432, -0.1076609, 0.107738726, -0.121356055, -0.062349405, 0.048801728, 0.09052609, -0.11955365, 0.006165453, 0.06702327) * go_0(1.0, -1.0); - result += mat4(0.23194505, -0.2278423, -0.4579323, -0.4102899, -0.33038944, 0.10686308, 0.12578374, 0.14304528, -0.03290542, -0.22190952, -0.15582415, 0.10534921, 0.0939146, -0.04590803, -0.03591444, -0.030313203) * go_0(1.0, 0.0); - result += mat4(0.013647308, 0.16051029, 0.024319794, -0.10505089, 0.054013297, -0.06920784, -0.020672748, -0.08262819, 0.14681742, -0.07409691, -0.063802995, 0.05206, -0.041670747, -0.022410793, -0.034180272, 0.0044075833) * go_0(1.0, 1.0); - result += mat4(-0.16723743, -0.062276114, -0.06804346, -0.06663604, 0.14639418, -0.0013829652, 0.14537166, 0.08992991, 0.00034609268, -0.11339855, -0.24834645, -0.18017055, 0.08099037, -0.22302043, -0.1160269, 0.23041926) * go_1(-1.0, -1.0); - result += mat4(0.19984062, 0.11262733, -0.021448923, 0.005645689, -0.22319363, 0.025013078, 0.050730385, 0.04427755, 0.10756255, 0.65996444, 0.17024773, -0.16237848, -0.032943483, 0.3259415, -0.08211643, -0.17815286) * go_1(-1.0, 0.0); - result += mat4(0.022923036, 0.00817696, -0.024639564, -0.017746205, 0.08000752, -0.09480044, 0.049720343, -0.039725818, -0.07954878, -0.26012203, -0.053556137, 0.28696015, -0.145685, -0.12854065, -0.030942779, 0.15013586) * go_1(-1.0, 1.0); - result += mat4(0.050982554, 0.067020066, -0.041660026, 0.07976747, -0.31219116, -0.1589965, -0.14711075, -0.2931567, -0.12886077, 0.108178794, 0.112790324, 0.18239829, 0.028661542, 0.066967815, 0.36810458, 0.07042916) * go_1(0.0, -1.0); - result += mat4(0.019871455, 0.13281262, -0.24303706, -0.053014435, 0.056483634, 0.2225138, 0.32238156, 0.09232671, 0.19425367, -0.96300596, 0.25233442, 0.34456885, 0.2688357, -0.14355205, 0.04201295, -0.09642235) * go_1(0.0, 0.0); - result += mat4(0.0021202683, 0.010281568, -0.009938761, 0.074630536, -0.23044111, 0.005154135, -0.04620688, -0.10301254, -0.17195332, -0.04863239, 0.07042225, -0.20654899, 0.029428456, 0.0045313304, 0.0051823566, 0.046590757) * go_1(0.0, 1.0); - result += mat4(0.061882593, -0.005337726, 0.10121195, 0.01023931, -0.1310065, 0.10085874, 0.13651021, -0.09158545, 0.09086723, -0.031106705, 0.03951561, 0.03958167, 0.00533062, -0.058091614, -0.11571378, -0.18051541) * go_1(1.0, -1.0); - result += mat4(0.012350476, 0.020112693, 0.0865518, 0.025516901, -0.2874268, 0.00638599, -0.3849406, 0.043449268, 0.27883583, -0.06104393, 0.17362429, 0.3229962, -0.18683271, -0.051683012, -0.14111629, 0.20863265) * go_1(1.0, 0.0); - result += mat4(0.06548792, -0.031812105, 0.032238998, 0.070259914, -0.0037810719, 0.106959336, 0.030661082, -0.11430295, 0.075470194, -0.035097398, -0.08884117, 0.15083537, -0.048511047, 0.09958945, 0.2043977, -0.14497246) * go_1(1.0, 1.0); - result += mat4(-0.025868082, 0.06237453, -0.034789152, -0.035199117, -0.021047676, -0.04558201, -0.0013141828, 0.033968918, -0.068529084, -0.06589172, -0.035473417, -0.03182408, 0.016299484, 0.07821524, -0.19162482, -0.06681627) * go_2(-1.0, -1.0); - result += mat4(0.0052780746, 0.043558404, -0.24577554, 0.11166642, 0.016039649, 0.020174565, 0.0054034027, 0.023591455, 0.24817981, 0.08734375, -0.1477572, 0.1215117, -0.017666219, -0.012353692, -0.049153887, 0.0784066) * go_2(-1.0, 0.0); - result += mat4(0.06988246, 0.06763118, 0.09934897, -0.042905882, -0.09801134, -0.033267114, 0.01741649, 0.059379116, -0.08127772, 0.010377487, -0.012631491, -0.077160686, -0.08947271, -0.067014046, -0.14255494, -0.03131322) * go_2(-1.0, 1.0); - result += mat4(0.0059068906, 0.32045186, 0.3258453, 0.0071538044, -0.027888278, 0.0068888674, -0.0015216616, -0.050514743, -0.11685065, 0.02886966, -0.008737784, -0.09290019, -0.04111259, 0.0329059, -0.2584297, -0.07026411) * go_2(0.0, -1.0); - result += mat4(-0.25162768, -0.093273714, -0.029060591, 0.050672933, -0.025395831, 0.029609011, -0.13621128, -0.08097387, 0.39335665, -0.18867645, 0.8212168, 0.12602827, 0.5734114, 0.38603428, 0.23521046, 0.21041085) * go_2(0.0, 0.0); - result += mat4(0.020245805, -0.054311104, -0.0021298525, -0.08635577, 0.04203476, 0.054419816, 0.0032106396, 0.082799725, -0.03885507, -0.12756048, -0.19565445, -0.022734454, 0.10178226, 0.08269887, -0.0018781893, 0.11515606) * go_2(0.0, 1.0); - result += mat4(0.08051269, -0.25091916, -0.08014612, -0.29471904, -0.08183992, 0.02096263, -0.04595293, 0.053499684, -0.10576831, -0.01105415, 0.054239217, 0.05486181, -0.18503998, 0.06235187, -0.046460405, -0.072068095) * go_2(1.0, -1.0); - result += mat4(-0.14105208, 0.06913383, -0.129492, 0.18553926, 0.03405444, 0.0772168, 0.10576763, -0.04969428, 0.17356592, -0.10986026, -0.33151895, -0.11582152, -0.0016404261, -0.003514874, -0.2096539, 0.03649547) * go_2(1.0, 0.0); - result += mat4(0.020758089, 0.17374831, 0.039282177, -0.039052464, 0.050139774, -0.0005518581, -0.025435442, 0.023258803, -0.1458097, 0.090529695, 0.025673594, -0.026266405, 0.072392054, -0.055323754, 0.03383548, -0.033020195) * go_2(1.0, 1.0); - result += mat4(-0.09315446, -0.036772106, -0.09159718, -0.12479503, -0.018140549, -0.022523982, 0.047108658, -0.04837651, 0.007124631, -0.009751111, 0.055076525, -0.0057495553, 0.07268171, -0.054520987, -0.079869404, 0.28962412) * go_3(-1.0, -1.0); - result += mat4(0.040367916, 0.041719466, -0.07215196, -0.026521962, 0.23269388, 0.08115016, 0.10487475, 0.05837459, 0.09574069, 0.03150842, 0.12011107, 0.104198076, -0.25915185, 0.31970975, -0.053038772, -0.23452167) * go_3(-1.0, 0.0); - result += mat4(-0.089933544, 0.00026363076, -0.037807353, -0.0067500956, -0.13427527, 0.11757816, 0.020407641, -0.15267986, -0.13672389, -0.07098531, -0.050623354, -0.04904697, 0.05156428, -0.07822598, 0.07232775, 0.12266631) * go_3(-1.0, 1.0); - result += mat4(-0.050988704, -0.11840922, -0.06057243, -0.023974465, -0.047475163, -0.1388251, -0.052473098, 0.06360512, -0.016356083, -0.12530154, -0.044482324, -0.035020005, -0.02834032, -0.031647444, 0.07049413, -0.08899642) * go_3(0.0, -1.0); - result += mat4(-0.060299333, 0.2991397, 0.0035407627, -0.12897336, -0.39282677, 0.42156345, -0.22449674, -0.11054013, 0.04733773, -0.094842866, -0.11086912, 0.10083519, 0.13186517, 0.1557214, 0.11726571, -0.23863392) * go_3(0.0, 0.0); - result += mat4(-0.03155107, -0.002008898, -0.037107117, 0.04468562, 0.037719093, -0.10104318, -0.0021850376, -0.033998992, -0.033299964, -0.026892597, 0.012233978, -0.09816237, -0.15987061, -0.11821871, -0.11293413, 0.041385822) * go_3(0.0, 1.0); - result += mat4(-0.03189814, 0.028700352, 0.030834107, 0.008420813, -0.029382093, 0.10250884, 0.032190785, 0.042566366, -0.0066131293, 0.019135946, -0.06836444, -0.082475856, 0.0020301298, 0.06428329, 0.05401348, 0.10219137) * go_3(1.0, -1.0); - result += mat4(0.09569376, -0.104563974, 0.04412079, 0.046004657, -0.179229, 0.07610759, 0.21264501, -0.03126616, -0.08888636, 0.049238402, 0.09623378, 0.08347852, 0.034179587, 0.04112591, 0.020796875, 0.016594669) * go_3(1.0, 0.0); - result += mat4(-0.022230666, -0.06919777, 0.0070929914, -0.040181976, 0.04288458, -0.057510544, -0.15865, -0.046124704, -0.06199105, -0.033739343, -0.12126394, -0.053888205, 0.003457772, -0.05709056, 0.009589608, 0.061582502) * go_3(1.0, 1.0); - result += mat4(-0.2261687, -0.010483538, 0.070508964, 0.16609758, -0.07575776, 0.07133805, 0.108534805, 0.016434515, -0.06777619, -0.053581562, -0.009408219, -0.0219316, -0.009917843, -0.056226153, 0.09495687, 0.103568204) * go_4(-1.0, -1.0); - result += mat4(0.26707995, 0.038988136, 0.15722616, -0.15202025, 0.011516332, -0.22326125, -0.21010138, 0.021120701, 0.052979603, -0.052226435, 0.03128543, -0.02211858, 0.16997981, 0.060853012, 0.17988598, -0.042057697) * go_4(-1.0, 0.0); - result += mat4(-0.19020362, -0.0019182847, 0.11082178, 0.18037713, -0.086572066, 0.072597384, -0.08759872, -0.064898625, 0.0427911, 0.101790726, 0.035692267, -0.17279546, 0.049133815, 0.08832157, 0.03645548, 0.011682866) * go_4(-1.0, 1.0); - result += mat4(0.27870035, 0.06836818, 0.36847374, -0.38926098, 0.05053419, -0.2971805, -0.22622849, 0.1165501, 0.037631556, 0.1250731, 0.059861004, 0.1194484, -0.002153221, 0.28717375, 0.071283594, 0.0974051) * go_4(0.0, -1.0); - result += mat4(-0.040311184, 0.21025413, 0.32822168, -0.031298842, -0.06347585, 0.1510298, 0.00070645136, -0.34678075, -0.21172246, 0.05277019, -0.15126394, -0.33598784, -0.36668247, -0.36057234, -0.2734601, -0.2903695) * go_4(0.0, 0.0); - result += mat4(-0.28878236, 0.100743115, -0.012016584, -0.15287946, 0.1262014, 0.015991366, 0.07392021, 0.06277959, 0.07709602, 0.060382154, 0.013840257, -0.1493553, 0.12138542, -0.032591913, -0.002609394, 0.13922709) * go_4(0.0, 1.0); - result += mat4(0.13982488, -0.034557592, -0.35006866, -0.2928353, 0.11529845, 0.23494898, 0.0991676, 0.32742763, -0.03035729, 0.016935157, -0.04650478, -0.039851867, 0.16783717, -0.065768905, -0.102848, -0.03003262) * go_4(1.0, -1.0); - result += mat4(-0.53978115, 0.026080003, 0.018700078, 0.077284, 0.2975522, -0.11212302, 0.118295476, 0.088821776, -0.22738294, 0.030945897, -0.1766137, -0.098558865, 0.039936017, 0.046374835, 0.19131522, 0.19770078) * go_4(1.0, 0.0); - result += mat4(0.16857389, -0.020288788, 0.04038437, -0.25337628, -0.034605104, -0.094041236, -0.0049146856, -0.10170456, -0.14423485, 0.021705322, -0.09162893, -0.15423405, 0.08731724, 0.114831835, -0.028548159, -0.09497847) * go_4(1.0, 1.0); - result += mat4(-0.019900214, 0.17017384, -0.0002794323, -0.021626309, -0.5123191, -0.23828037, -0.10549822, -0.48781806, -0.12835194, -0.049513552, 0.08051828, -0.3390981, 0.21935092, 0.012243462, 0.13521184, 0.09005778) * go_5(-1.0, -1.0); - result += mat4(0.090306774, -0.31387252, -0.1616645, -0.063887075, 0.3674563, 0.19566801, 0.042223614, -0.38199827, -0.08814569, -0.14486119, 0.087531656, 0.18280624, -0.041397072, -0.025872236, -0.02853888, -0.047817115) * go_5(-1.0, 0.0); - result += mat4(-0.07662397, 0.10808078, 0.08065922, 0.033938166, 0.09167725, 0.09102921, 0.10393655, 0.09121259, 0.15521088, 0.026846137, 0.033644184, -0.006811738, -0.110427104, 0.0722537, 0.014346524, 0.019231822) * go_5(-1.0, 1.0); - result += mat4(-0.14094852, -0.21157825, 0.2149605, 0.28070143, -0.24665649, -0.16250402, -0.0730695, -0.1935525, 0.02327017, -0.13742846, -0.20341669, -0.19092573, 0.3781883, -0.14726567, 0.0033765805, -0.026217941) * go_5(0.0, -1.0); - result += mat4(0.23381747, -0.21297243, -0.16462179, -0.4404414, 0.2630713, -0.06808036, 0.5769483, 0.13606368, -0.14412731, 0.17307961, 0.15431021, -0.06048075, -0.93423635, 0.2661323, -0.27400798, -0.71388435) * go_5(0.0, 0.0); - result += mat4(-0.057459023, -0.044256542, -0.14173234, 0.17559054, 0.009228982, -0.20965119, -0.23656605, 0.0805913, -0.18358104, 0.04514636, -0.09859629, -0.00032626695, -0.10969266, -0.171687, -0.085197695, 0.067852624) * go_5(0.0, 1.0); - result += mat4(0.0783408, 0.0022921865, -0.20093176, -0.094298504, -0.031999376, 0.03923688, 0.088507205, 0.1756585, 0.0325784, 0.09271384, 0.08411006, -0.011803396, 0.060698293, -0.0653917, -0.02558477, -0.02075619) * go_5(1.0, -1.0); - result += mat4(-0.10503856, -0.058553405, 0.38081455, 0.13121964, 0.5770783, -0.10269853, -0.4627, -0.4232826, 0.11166562, -0.058157276, -0.15944225, 0.048007622, 0.06506096, -0.0067857644, -0.03218101, 0.08807966) * go_5(1.0, 0.0); - result += mat4(0.032330092, -0.07843012, -0.037207145, 0.06599961, -0.28124368, 0.14263964, -0.0070453, 0.14530747, -0.05910883, 0.16203453, 0.064827256, -0.0043987543, -0.03808922, 0.102124214, 0.06162945, 0.103994325) * go_5(1.0, 1.0); - result += vec4(-0.003073506, -0.033630643, 0.028479056, -0.025402397); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06761509, 0.0010596798, 0.118115634, 0.14935187, -0.05466623, 0.091785856, -0.03665047, 0.076207176, -0.15206745, -0.074811794, -0.041557387, 0.020541618, -0.037649132, -0.07627772, -0.10156735, -0.07498991) * g_0; - result += mat4(-0.0541389, 0.007155582, -0.06095953, -0.016313383, -0.13457695, -0.03827954, -0.034835886, 0.04974308, 0.008285558, -0.06611796, -0.067563675, -0.11533022, -0.08719109, 0.042913426, -0.083873115, 0.027492668) * g_1; - result += mat4(0.17322378, -0.07721062, 0.076297946, -0.1325289, 0.00692486, 0.019282155, 0.038707003, 0.056305885, -0.037604675, -0.17109787, 0.052209407, -0.11086336, 0.0052244705, 0.056766637, -0.017374612, 0.06740667) * g_2; - result += mat4(0.053550255, 0.07344529, -0.10690144, -0.08243465, 0.028142922, -0.07358604, 0.070248306, 0.0053416835, 0.009705257, 0.09426246, 0.05850371, 0.08341002, 0.06166079, 0.102394834, 0.058707405, 0.19911417) * g_3; - result += mat4(-0.009806288, 0.061949313, 0.011325549, 0.031676874, 0.113277406, 0.07123387, -0.0022331094, -0.05520811, -0.021068804, 0.0073448666, 0.031778157, 0.06381251, -0.022977686, -0.0044090333, -0.028826792, -0.005600321) * g_4; - result += mat4(-0.13628425, -0.107186474, 0.010461016, 0.045646533, 0.010563035, 0.0005640543, 0.002957052, -0.01454462, 0.106655054, 0.13992403, -0.01641908, 0.0264948, 0.014378123, 0.024764376, -0.06435794, -0.076860085) * g_5; - result += mat4(0.031931117, 0.062713124, -0.049225837, -0.02620178, 0.20593183, 0.03311921, -0.02824421, -0.19422682, -0.017965427, 0.05093508, -0.07729694, -0.013976707, -0.054889455, -0.008431357, -0.00865999, 0.05323866) * g_6; - result += mat4(-0.07898102, 0.13033123, -0.24963257, -0.046712235, -0.017762529, -0.07267942, 0.039491024, -0.034781307, 0.02270499, -0.12520099, -0.02714401, -0.13284011, 0.014340563, -0.007257448, -0.07413879, -0.12837824) * g_7; - result += mat4(0.09598721, -0.006008832, 0.051995635, -0.07847789, 0.109905876, 0.18126504, -0.086034976, -0.0360382, 0.19074084, 0.054656357, 0.06871617, -0.041497722, 0.064660124, -0.10478427, 0.052080367, -0.1518587) * g_8; - result += mat4(-0.044614766, -0.08404386, 0.06729217, 0.03758003, -0.23567544, -0.0450765, 0.014905518, 0.19749434, 0.0070031853, -0.068472505, 0.04280405, -0.009026482, 0.03368337, 0.037044305, 0.014582284, -0.015817456) * g_9; - result += mat4(0.05070276, -0.13125883, 0.24694905, 0.049511425, 0.021699967, 0.080548055, -0.03720478, 0.032441437, -0.01215519, 0.09360713, 0.024676912, 0.11170701, -0.024200387, 0.0021200276, 0.06300166, 0.10979445) * g_10; - result += mat4(-0.1055991, 0.007073368, -0.07666124, 0.06573558, -0.10762247, -0.16527167, 0.09825201, 0.051373113, -0.1926851, -0.046607103, -0.07601954, 0.05199459, -0.06756806, 0.092222616, -0.026166819, 0.1535803) * g_11; - result += mat4(0.0067429054, 0.014872415, -0.019792963, 0.0014269215, 0.041500363, 0.018643422, 0.04487991, 0.031431414, -0.0278133, -0.028131608, -0.019798402, -0.041768856, -0.0063227355, 0.007656633, 0.0019235855, 0.00076331315) * g_12; - result += mat4(0.025489544, 0.023983652, 0.029175067, 0.0075372118, -0.010194142, -0.014977182, 0.011589661, 0.00036903258, -0.012841702, -0.010945794, -0.012143497, -0.0069256728, 0.007313037, 0.007576904, -0.016960602, 0.009170305) * g_13; - result += mat4(0.004188971, 0.017998729, -0.0046976185, -0.0034182668, 0.021841675, 0.012860078, 0.009202975, -0.0071324864, -0.0037808695, 0.01139587, -0.016267903, 0.007991299, 0.008879691, 0.007677154, 0.016209174, 0.011406443) * g_14; - result += mat4(-0.008698401, -0.017972758, 0.026514322, -0.0024080887, 0.00012845756, 0.021530064, 0.0014967524, 0.0060274163, 0.017589558, 0.031043446, 0.014386793, 0.051733218, -0.013435874, -0.020567564, 0.011874828, 0.0030195254) * g_15; - result += mat4(0.008565417, 0.0073839244, -0.012248247, -0.019089373, -0.04383907, 0.01000193, -0.003246391, 0.0502051, 0.012343873, 0.027492827, -0.011591099, 0.010474208, -0.009317595, -0.009244615, -0.00889853, -0.015167559) * g_16; - result += mat4(-0.0149119655, -0.05737016, 0.027463723, 0.0013402153, 0.0012228708, 4.653676e-05, 5.3374144e-05, 0.010701133, 0.011828213, -0.012499855, -0.009720743, -0.035716657, -0.06976149, -0.05596556, 0.0028440042, 0.013388718) * g_17; - result += mat4(-0.010236228, 0.08551208, -0.060067203, 0.012999882, -0.0060008806, 0.003534564, 0.009385839, 0.010742909, 0.02672157, -0.17606625, 0.13504161, -0.035290483, -0.014812689, -0.0236554, 0.031493064, 0.01800991) * g_18; - result += mat4(0.0005283657, -0.032297328, 0.023884023, 0.024165852, 0.0017424148, -0.015371204, 0.0058860597, -0.04624227, 0.04947679, 0.09081732, -0.04592456, -0.03128466, 0.00023743653, -0.032846384, -0.0013158394, 0.0037953698) * g_19; - result += mat4(0.0034766623, -0.006661828, 0.027227342, 0.033958994, -0.007990619, 0.0025515554, -0.016197672, -0.0010064896, 0.022598108, 0.014734878, 0.021482255, -0.0059315437, -0.038538814, 0.03478085, -0.05926627, 0.012918195) * g_20; - result += mat4(-0.023291608, -0.013129155, 0.0032865414, 0.026531553, -0.004495095, 0.0043812403, -0.027177097, -0.009125319, -0.006041235, -0.0031154896, -0.030664662, 0.005782464, -0.008880747, 0.015690446, -0.0108247, -0.022403536) * g_21; - result += mat4(-0.07639219, 0.05440532, 0.016447276, -0.055569574, 0.0014948049, -0.03464865, -0.006925237, 0.024131197, 0.009468209, -0.011771851, 0.013548103, 0.004704814, 0.063868396, 0.04857746, 0.08745972, 0.0690927) * g_22; - result += mat4(0.021505289, -0.06289818, 0.031038022, -0.047952045, 0.014759762, 0.10819852, -0.044093642, -0.020913709, -0.017672667, 0.007322798, -0.0030338434, -0.015471056, 0.017840479, -0.052742675, 0.044256743, -0.014589662) * g_23; - result += mat4(0.037849434, 0.04017271, 0.01840757, -0.05590355, 0.041468013, -0.015397055, -0.059170194, 0.08708615, 0.021914955, -0.0045240326, 0.03308673, 0.0141805615, -0.045770008, 0.048188016, -0.08913234, 0.046581928) * g_24; - result += mat4(-0.09374169, 0.07681035, -0.032266654, 0.066911325, 0.0071584303, 0.06599442, -0.0031403983, -0.062489454, 0.013248783, 0.018261025, -0.00095267413, -0.026741864, -0.0059258267, 0.03542517, -0.033440042, -0.0007421821) * g_25; - result += mat4(0.06491965, 0.0354909, -0.035559855, -0.07943817, 0.028543673, 0.026842002, -0.0029009457, -0.0022229373, 0.045988, -0.08896797, -0.04740724, 0.002011393, -0.067833476, -0.048432026, 0.025755037, 0.042066928) * g_26; - result += mat4(-0.0011515832, -0.067060925, 0.02632549, 0.019017957, -0.0021755556, 0.004405696, 0.03028079, -0.043944478, -0.06373467, -0.032911435, -0.07619137, -0.055402283, -0.014293524, -0.009286333, 0.032950103, 0.0020192636) * g_27; - result += mat4(0.033251163, -0.012636667, -0.019736348, -0.02221555, -0.035174683, -0.0024467881, -0.0020635366, 0.021488743, 0.054788366, -0.085087426, 0.06572526, -0.037050918, -0.06467607, -0.1047945, 0.10937466, 0.058931317) * g_28; - result += mat4(-0.0015108787, 0.016789518, -0.02054971, 0.014368727, -0.083879344, -0.0024550394, 0.047329154, 0.018185811, -0.008528356, 0.04782707, 0.0019893225, 0.0095295245, -0.0024202724, -0.022640519, 0.0033455987, 0.010862984) * g_29; - result += vec4(-0.00339168, 0.022745693, -0.021186745, 0.007273877); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.016521078, 0.02344092, -0.04535869, -0.02916889, -0.06936641, -0.1118498, -0.07784149, -0.10769916, 0.042465053, 0.023522044, 0.0057797814, -0.00933453, 0.0013065349, 0.006887965, 0.019049056, 0.00018660461) * g_0; - result += mat4(0.047062866, 0.030671, 0.018363738, 0.015970303, 0.03619224, 0.0009964193, 0.027005734, -0.010791107, -0.027404316, -0.017589977, 0.0027660786, 0.0064380392, 0.003131181, -0.03881711, 0.017278498, -0.026646316) * g_1; - result += mat4(-0.09417044, -0.030767195, -0.07023792, -0.015087274, -0.0007041566, -0.007214834, -0.010352469, -0.0208777, -0.006043107, 0.041942447, -0.027989924, 0.02058792, -0.004574836, -0.030063841, 0.0009874715, -0.030957421) * g_2; - result += mat4(0.008398759, -0.014724292, 0.05661028, 0.03329433, 0.06970151, 0.09905173, 0.045296658, 0.06785315, -0.0044002533, -0.033776686, -0.018678186, -0.029671727, -0.019401457, -0.018823013, -0.015008842, -0.06645454) * g_3; - result += mat4(-0.012770869, -0.039806906, -0.020173356, -0.033546574, -0.01800492, 0.005292071, -0.0040793624, 0.028466543, -0.0059105135, -0.01909232, -0.008970177, -0.023610232, 0.015667727, 0.021344513, 0.008805983, 0.012206504) * g_4; - result += mat4(0.09997275, 0.08955608, 0.035512842, 0.028650196, -0.0030424239, -0.0024058563, 0.0016431157, 0.006236751, -0.036105607, -0.04603557, 0.009145427, -0.0048202197, -0.020911733, -0.02017906, 0.016494693, 0.026199821) * g_5; - result += mat4(-0.038404938, -0.060263526, -6.756075e-05, -0.027351642, -0.088377364, -0.018328555, 0.0054546758, 0.080624446, 0.011837796, -0.020218652, 0.018197412, 0.0060563446, 0.025623528, 0.048627276, 0.023259064, 0.040498782) * g_6; - result += mat4(0.001184946, -0.010515342, 0.07386562, 0.059235208, 0.05555331, 0.062187005, 0.05260689, 0.053744275, -0.05839836, -0.037090734, -0.039248314, -0.020784492, -0.028018624, -0.019818485, 0.0076861596, 0.02911364) * g_7; - result += mat4(-0.00855134, 0.026217, 0.008748317, 0.044626243, -0.031007087, -0.040997487, 0.05034173, 0.048289847, -0.055651344, -0.0043054484, -0.022927478, 0.035169583, -0.008501671, 0.04446119, 0.011305084, 0.07596592) * g_8; - result += mat4(0.02517117, 0.04711998, 0.013574831, 0.035244223, 0.075724855, -0.0018857572, -0.01328286, -0.08398966, -0.018110974, 0.010837328, -0.040522598, -0.018411685, -0.059188075, -0.04547794, -0.029902466, -0.016604925) * g_9; - result += mat4(-0.035855412, 0.046150643, -0.10446721, -0.026326178, -0.04509233, -0.059326984, -0.035487395, -0.047976315, 0.07541923, 0.014728924, 0.046932008, 0.015592031, 0.017363356, 0.009260565, -0.014755931, -0.04052638) * g_10; - result += mat4(0.021554522, -0.011627397, -0.01343262, -0.04844844, 0.027149484, 0.05269421, -0.038861327, -0.034239817, 0.045947555, 0.0040015248, 0.007324502, -0.033051178, 0.0059830896, -0.069709964, 0.0073222807, -0.07108966) * g_11; - result += mat4(-0.009433482, 0.014257062, -0.034876116, -0.006570796, 0.01594308, 0.006663722, 0.025571914, 0.017348047, -0.00696648, 0.0012649806, -0.009151321, -0.016255042, -0.009809473, -0.0066239014, 0.013773972, 0.0009501933) * g_12; - result += mat4(0.026438858, 0.021545267, 0.028909115, -0.00084199436, -0.011350823, -0.010261177, 0.0064784726, 0.0028340816, 4.6254245e-05, 0.0022755957, 0.008798779, 0.010278017, -0.0011969887, 0.0035411653, -0.018417642, 0.0038709878) * g_13; - result += mat4(0.013238081, 6.1892446e-05, 0.002711564, -0.009014244, 0.03579594, 0.0009713739, 0.018199503, -0.010510502, -0.0019577555, -0.0035989769, -0.027621416, -0.000649344, 0.012450313, 0.005054388, 0.028295556, 0.016118951) * g_14; - result += mat4(0.0014749946, -0.023122363, 0.03635473, 0.0058698757, -0.001502294, 0.0056668227, -0.00653508, -0.0045331884, 0.0019510906, -0.0004722523, 0.0015459604, 0.02002365, -0.012883676, -0.02313574, 0.0055781654, 0.00042050896) * g_15; - result += mat4(0.010353148, 0.0061610388, -0.01620723, -0.025678562, -0.050585296, 0.0015720357, 0.006579174, 0.04645622, 0.0034451822, 0.01640892, -0.019171385, -0.002445667, 0.002142384, -0.00157746, -0.007453497, -0.012107003) * g_16; - result += mat4(-0.023626367, -0.03362931, 0.02775251, 0.00854008, -0.00731221, 0.0058875666, -0.0042465483, 0.011091973, 0.01608576, 0.008776418, -0.005520655, -0.02189608, -0.07337467, -0.04255072, 0.008632718, 0.024232844) * g_17; - result += mat4(-0.012279061, 0.09683549, -0.058048066, 0.009577618, -0.007927522, 0.0030408904, 0.0026037316, 0.0097128665, 0.039862663, -0.18592681, 0.15766914, -0.02878756, -0.015735846, -0.025808172, 0.035324212, 0.025404148) * g_18; - result += mat4(0.006978013, -0.023965824, 0.04186123, 0.035988815, 0.009321329, -0.015712317, 0.0018002216, -0.052822754, 0.05654876, 0.111119345, -0.041984286, -0.029346094, -0.007712756, -0.034608763, -0.0036700158, 0.0038703915) * g_19; - result += mat4(0.010860362, 0.006824253, 0.03891404, 0.049122907, -0.008826647, -0.0010997625, -0.021827312, -0.007863293, 0.033063967, 0.022403365, 0.032778744, 0.007655028, -0.04496311, 0.041045222, -0.07040422, 0.004163393) * g_20; - result += mat4(-0.024705354, -0.015902927, 0.0062216455, 0.032576248, -0.0073882695, 0.00312872, -0.034358293, -0.0108961025, -0.013837597, -0.01177598, -0.04495569, -0.0055595962, -0.01059331, 0.012361757, -0.014834784, -0.033682585) * g_21; - result += mat4(-0.09480182, 0.03846278, -0.0028056598, -0.07323092, -0.005995085, -0.043553468, -0.005056617, 0.024003377, 0.004277762, -0.012972639, 0.012475677, 0.008617157, 0.10223809, 0.07649263, 0.12168736, 0.097682655) * g_22; - result += mat4(0.015393864, -0.07291429, 0.02954706, -0.05294187, 0.013404429, 0.120944545, -0.042298347, -0.01288604, -0.019713184, 0.0020540208, -0.011201426, -0.02414191, 0.007575817, -0.07666445, 0.0432983, -0.026015261) * g_23; - result += mat4(0.03819905, 0.04372597, 0.01904637, -0.061578088, 0.040888324, -0.016588384, -0.064523876, 0.09287848, 0.01574791, -0.014614555, 0.02938285, 0.0042374404, -0.046039872, 0.056844704, -0.08844019, 0.052806962) * g_24; - result += mat4(-0.096315265, 0.07987954, -0.031859763, 0.072237074, 0.015652604, 0.07566605, -0.00032600394, -0.05746408, 0.014229001, 0.017113304, -0.0023968874, -0.03106284, -0.0069599864, 0.03968875, -0.038528994, -0.003121002) * g_25; - result += mat4(0.07314791, 0.03615158, -0.03678017, -0.0791755, 0.03634212, 0.039138626, 0.0035000257, 0.00436604, 0.044376615, -0.09974018, -0.051570408, -0.002901859, -0.06796205, -0.05585607, 0.02609314, 0.04431718) * g_26; - result += mat4(0.0026970597, -0.07160132, 0.03102004, 0.022031954, 0.000259048, 0.004125086, 0.033309445, -0.04846637, -0.06566389, -0.029620873, -0.07882971, -0.053104673, -0.013712152, -0.015054757, 0.033180926, 0.00034900242) * g_27; - result += mat4(0.034628514, -0.01001147, -0.021473913, -0.022840675, -0.045706123, -0.010280426, -0.0069577876, 0.01667532, 0.055181097, -0.087735586, 0.06744914, -0.034818206, -0.066513196, -0.10804274, 0.11681918, 0.06460058) * g_28; - result += mat4(-0.005054911, 0.01865763, -0.021856284, 0.010207481, -0.090607546, -0.014940299, 0.04399175, 0.013478195, -0.0072319377, 0.057889264, 0.0061306353, 0.021376813, -0.00018109869, -0.022432365, 0.004136804, 0.011778294) * g_29; - result += vec4(0.015986905, 0.006547183, 0.017682848, 0.0020978956); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.17312507, 0.18378204, 0.07926516, 0.1067288, 0.21052518, 0.13378853, 0.19536258, 0.14002354, 0.11711924, 0.08335183, 0.056983225, 0.028226014, 0.03449669, 0.044664416, 0.06761993, 0.044069722) * g_0; - result += mat4(0.049151406, 0.027747469, 0.013829845, 0.010793505, 0.16125697, 0.10510845, 0.13865222, 0.08505211, -0.20990449, -0.19430009, -0.15810025, -0.15454805, -0.035844944, -0.11059333, -0.018675208, -0.09188628) * g_1; - result += mat4(0.006685408, 0.11628241, 0.039672334, 0.1436817, 0.015559294, 0.009202889, 0.004621052, -0.006609141, 0.007991005, 0.08041883, -0.014427849, 0.057766948, -0.067192554, -0.10489045, -0.058118373, -0.10879217) * g_2; - result += mat4(-0.13102308, -0.16938946, -0.049558997, -0.08738032, -0.15949999, -0.098247744, -0.21387893, -0.16764748, -0.036459852, -0.08977845, -0.063770026, -0.085683785, -0.04874994, -0.050357077, -0.040709995, -0.12104794) * g_3; - result += mat4(-0.0016424131, -0.04231474, -0.008843509, -0.026220948, -0.13888876, -0.10844901, -0.10787409, -0.067019746, 0.1705322, 0.16687205, 0.16005264, 0.15010779, 0.084698394, 0.092028156, 0.07699169, 0.079460666) * g_4; - result += mat4(0.0075197075, -0.020141402, -0.1006905, -0.11359611, -0.0085215755, -0.005612361, -0.0018493677, 0.007426326, -0.06751104, -0.08159549, 0.0120629985, -0.012342098, 0.03995728, 0.036384724, 0.09553051, 0.09851564) * g_5; - result += mat4(-0.029465627, -0.054333087, 0.02729686, -0.0045043076, -0.13339953, -0.032064863, 0.0070489575, 0.1158326, -0.0006455828, -0.05559491, 0.016300855, -0.016093824, 0.0035336027, 0.025718046, -0.002194457, 0.009156581) * g_6; - result += mat4(-0.03060067, -0.088183194, 0.08511207, 0.023555957, 0.030279126, 0.037585177, 0.016086163, 0.017970216, -0.05365472, 0.008709411, -0.022766082, 0.026308894, -0.026761275, -0.012835554, 0.02677239, 0.06120358) * g_7; - result += mat4(-0.030154163, 0.016827311, -0.0070917453, 0.049568735, -0.06463202, -0.095433265, 0.059520688, 0.039794426, -0.11667492, -0.040507805, -0.05257038, 0.025766404, -0.04885214, 0.042495333, -0.022887079, 0.08385772) * g_8; - result += mat4(0.024346549, 0.054313555, -0.005122175, 0.019812366, 0.13365328, 0.014708698, -0.010476813, -0.1185288, 0.0023148789, 0.052297566, -0.03189476, 0.005272433, -0.03835005, -0.026765257, -0.0094220815, 0.0047409064) * g_9; - result += mat4(-0.007440264, 0.12066173, -0.12320844, 0.0016777752, -0.011408617, -0.029569637, 0.008827655, -0.007016294, 0.06650651, -0.031428255, 0.034667335, -0.023670185, 0.007218744, -0.004491109, -0.035605032, -0.07145819) * g_10; - result += mat4(0.049787126, -0.0017957676, -0.006283968, -0.058967303, 0.05774073, 0.09960317, -0.059987612, -0.036502153, 0.07282059, 0.005348924, 0.013446346, -0.04757274, 0.045422055, -0.0634229, 0.024715338, -0.08555914) * g_11; - result += mat4(-0.005835691, 0.016965812, -0.028456861, -0.0033920892, 0.009836867, 0.0006767609, 0.01886044, 0.012588657, -0.00884555, -0.0037418597, -0.009430517, -0.019091168, -0.002798804, 0.0039561144, 0.017126411, 0.004825749) * g_12; - result += mat4(0.028191822, 0.029202491, 0.032901034, 0.011502915, -0.010819439, -0.0069572316, 0.006472295, 0.0053685335, 0.00079939753, 0.0037769184, 0.011775226, 0.01399779, 0.0033956952, 0.0052899374, -0.010259701, 0.0077763535) * g_13; - result += mat4(0.008361512, -0.0117131, -0.0049652294, -0.01998969, 0.022627737, -0.008692346, 0.0019018264, -0.023467707, -0.008756792, -0.017017934, -0.031440705, -0.008512948, 0.0054877545, -0.00070786494, 0.019616788, 0.00793716) * g_14; - result += mat4(-0.013002159, -0.03813209, 0.026482832, -0.00023578315, -0.004977621, 0.0014138863, -0.0057627726, -0.0042974507, -0.007416917, -0.008726386, -0.011688116, 0.010687058, -0.011166254, -0.020983206, 0.0066195372, 0.003834876) * g_15; - result += mat4(0.0048169903, 0.0076203775, -0.015507004, -0.023508213, -0.052957263, -0.0069484734, -0.0011737008, 0.03410549, 0.0030833874, 0.012800496, -0.019242208, -0.005873537, -0.005420416, -0.009030759, -0.01785444, -0.01966881) * g_16; - result += mat4(-0.012387838, -0.014545728, 0.035943765, 0.024116462, 0.0008325086, 0.017050253, 0.0024911535, 0.019210132, 0.02221826, 0.020303903, 0.004521489, -0.009177796, -0.07020659, -0.040271588, 0.013064882, 0.028324096) * g_17; - result += mat4(-0.0069806273, 0.09828906, -0.049242873, 0.014799003, -0.008970328, 0.003844374, 0.0010211956, 0.008877965, 0.039977968, -0.17025097, 0.14956547, -0.02214056, -0.00973778, -0.018551195, 0.034893923, 0.027594449) * g_18; - result += mat4(0.011814281, -0.015895301, 0.04550156, 0.04049697, 0.0076704635, -0.018837227, 0.005477875, -0.04887477, 0.05526271, 0.11000575, -0.03529281, -0.023258513, -0.0022530397, -0.026560089, -0.0021712275, 0.0056000547) * g_19; - result += mat4(0.013357528, 0.014710138, 0.043349367, 0.053752452, -0.010020186, -0.0048438436, -0.023880936, -0.011357083, 0.033450976, 0.022771686, 0.0326334, 0.0068722614, -0.0512848, 0.026570365, -0.07270785, -0.006190101) * g_20; - result += mat4(-0.025186045, -0.01740991, 0.003838567, 0.027091907, -0.0071685803, -0.00027341367, -0.02992052, -0.008542527, -0.013445479, -0.015780428, -0.042524435, -0.00881602, -0.011120149, 0.009015556, -0.013422532, -0.032560103) * g_21; - result += mat4(-0.09606898, 0.025490688, -0.008527585, -0.075416856, -0.0028138838, -0.035580438, -0.006531162, 0.023687562, 0.0055310167, -0.010112962, 0.014539237, 0.01172912, 0.09965159, 0.075306684, 0.11886721, 0.095253) * g_22; - result += mat4(0.011965668, -0.072057776, 0.024608271, -0.054251578, 0.012394993, 0.114785306, -0.0419942, -0.011279603, -0.021266261, -0.0042840955, -0.015289745, -0.029362924, 0.0103631085, -0.06942332, 0.042722963, -0.021691492) * g_23; - result += mat4(0.033176757, 0.04084371, 0.015103838, -0.057419725, 0.037109293, -0.016537853, -0.059167393, 0.08598897, 0.015969522, -0.010902342, 0.03118472, 0.008363948, -0.041729625, 0.057053857, -0.08161458, 0.052837733) * g_24; - result += mat4(-0.092430755, 0.07110693, -0.034382034, 0.062702626, 0.014907711, 0.07141848, -0.0019698131, -0.054372307, 0.0128283445, 0.013943152, -0.0034115645, -0.030608373, -0.005405216, 0.03866557, -0.034109335, -0.0013265307) * g_25; - result += mat4(0.06594738, 0.029660825, -0.037681, -0.07724883, 0.03563272, 0.041913237, 0.0042468007, 0.0069140824, 0.039035708, -0.09520566, -0.04894546, -0.0034723799, -0.06357319, -0.052821137, 0.022598358, 0.041650392) * g_26; - result += mat4(0.004992455, -0.06508938, 0.030750059, 0.022826253, 0.002092941, 0.0037119875, 0.030300831, -0.0454966, -0.05877186, -0.024108075, -0.07177208, -0.047089674, -0.014241358, -0.015470063, 0.029174741, -0.0012050892) * g_27; - result += mat4(0.033182934, -0.0073093693, -0.017909355, -0.018535342, -0.0415075, -0.010425076, -0.0039859596, 0.015540642, 0.05229552, -0.08504954, 0.06377993, -0.035305116, -0.06266023, -0.102613874, 0.10803333, 0.06006112) * g_28; - result += mat4(-0.0026692066, 0.020269373, -0.018895708, 0.010902005, -0.084507205, -0.018323625, 0.03897616, 0.008709061, -0.005905961, 0.05540135, 0.0050392286, 0.019433267, -0.0011370446, -0.02185742, 0.004525434, 0.010520601) * g_29; - result += vec4(0.00428531, -0.011541925, 0.00898425, -0.01374321); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl deleted file mode 100644 index 73c4881..0000000 --- a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl +++ /dev/null @@ -1,969 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.28296316, -0.020139743, 0.1038232, 0.09352482, -0.16964972, 0.07910997, -0.049914766, -0.10661066, -0.121037185, -0.029087039, -0.02511847, -0.078911744, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.3927183, 0.01805193, -0.031168332, -0.13300525, 0.20814548, 0.118818566, 0.1655351, 0.095023684, 0.17600809, -0.03928444, -0.014350658, 0.08458312, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.079089314, -0.0421829, 0.05452305, -0.22055493, 0.013279097, -0.12875281, 0.02452735, -0.101503745, -0.085946664, 0.05539176, 0.022408713, 0.14837204, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.102643915, -0.011254746, 0.1478563, 0.1030208, 0.12396588, 0.0016621432, 0.2551224, -0.10399001, -0.01068436, 0.07155532, -0.104522154, 0.026937222, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.8789423, 0.35707328, -0.29964274, -0.064913996, 0.4962815, 0.26001287, -0.9511284, 0.49574667, 0.39539725, 0.16308042, 0.119878456, -0.30259115, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.08852938, -0.32612664, -0.006712046, 0.28693515, 0.06320871, -0.3322611, 0.04651086, -0.11020996, 0.01821082, -0.22851005, -0.07803438, 0.021527015, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.12295851, -0.011285535, 0.015859747, 0.04005441, -0.018136669, 0.03171969, -0.0406123, -0.10731229, -0.12117574, 0.005033036, 0.047838476, 0.026843475, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.4655988, 0.05519082, 0.039515793, 0.28410903, -0.36144528, 0.13039446, 0.11338478, -0.2141387, -0.10026682, -0.07903024, -0.09410254, 0.043833878, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.110124744, -0.024725702, 0.028102143, -0.09493807, -0.06455328, -0.15164614, 0.04425987, 0.15483347, -0.045039337, 0.07210396, -0.005390788, -0.03832707, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.007907974, -0.035503313, 0.057224784, -0.19763541); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.012326053, 0.050769784, 0.1278702, -0.100782245, 0.14329414, -0.054558773, 0.023473471, 0.056829426, 0.048292916, 0.0046510273, -0.11478287, 0.0011030561, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.29542983, -0.55061895, -0.068554066, 0.1433222, -0.072878316, 0.30201668, -0.2223378, -0.06704077, 0.16955832, 0.3279914, 0.17619601, -0.1276919, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.09623417, 0.30559412, 0.094622105, -0.076706685, 0.07943858, -0.084815115, 0.12472551, 0.079850115, -0.13044213, -0.21300878, -0.095747225, 0.13412355, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.21291664, 0.17195296, -0.20080926, 0.1064855, 0.10228669, -0.09580175, -0.11217631, -0.09740562, -0.0033135475, -0.053094357, 0.2983595, 0.035281878, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.08955812, -0.45707774, -0.4606922, -0.5754473, -0.11395895, 0.33530128, 0.29705846, -0.18877256, -0.43502945, 0.114171304, -0.3750776, -0.081597246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.26109028, 0.02662961, -0.10441071, 0.11199392, -0.12038989, -0.09642296, -0.061320662, -0.33058178, 0.20212512, 0.00840794, 0.14357455, -0.038080238, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.09533881, -0.13644339, 0.068756215, 0.079305276, -0.053370547, 0.19572955, 0.0682981, 0.14469264, 0.15582883, -0.057183057, -0.13919263, -0.016394936, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.041189935, 0.39878023, 0.028704925, 0.30194348, -0.04486593, -0.33899093, -0.103968106, 0.21802065, -0.077099144, -0.07389541, 0.18069103, 0.18894517, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.12399862, 0.19246885, 0.034825478, -0.0044787163, 0.13121822, -0.13573012, -0.030162754, 0.1899518, 0.102326415, -0.061512686, -0.005647928, -0.0937634, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.019286277, -0.033644073, 0.08196311, 0.0054393094); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.04088509, -0.06585775, -0.3094732, 0.12059048, 0.041417453, -0.06144871, -0.06655134, 0.03308842, 0.09287731, 0.010969216, 0.10343026, -0.11185897, 0.05685865, -0.09490512, 0.040908635, 0.03501189) * go_0(-1.0, -1.0); - result += mat4(-0.04854754, -0.098667145, 0.67147833, -0.11299351, -0.022114437, -0.029202767, 0.014179382, 0.26027945, 0.22076549, -0.16490546, -0.0010764733, 0.08405975, 0.11849154, -0.19072372, -0.35719597, -0.059621073) * go_0(-1.0, 0.0); - result += mat4(0.079224996, 0.0669873, -0.1718969, -0.05002573, 0.044926763, -0.02904369, 0.017489236, 0.01144465, 0.059109706, 0.064998455, 0.14725484, -0.23879208, 0.039234288, -0.027365638, 0.26172164, -0.094598554) * go_0(-1.0, 1.0); - result += mat4(-0.07159218, -0.03181544, 0.113837324, -0.053089984, -0.098298974, -0.29500297, 0.1608509, -0.044355504, 0.050882854, -0.19417204, -0.080487266, -0.00879743, 0.0007914453, 0.16640955, 0.21786706, 0.16398212) * go_0(0.0, -1.0); - result += mat4(0.16324541, 0.19753313, -0.46597233, -0.2593132, -0.2781038, -0.21973547, -0.024623038, -0.16348499, 0.3628299, 0.044888914, 0.04054647, -0.63605887, 0.02099492, 0.060544077, -0.49359834, 0.36336297) * go_0(0.0, 0.0); - result += mat4(-0.16885692, 0.31907207, 0.020906802, 0.13290039, -0.037330728, -0.022859452, -0.020451576, -0.113437995, -0.085683934, 0.054102756, -0.044824492, 0.061346747, -0.038684413, 0.098444365, -0.06734984, -0.17084897) * go_0(0.0, 1.0); - result += mat4(-0.015821548, -0.119599186, 0.1614827, 0.08383641, -0.07933593, 0.12528986, -0.06300182, 0.09286327, -0.10199266, 0.02419403, 0.0028411683, -0.09028338, 0.07962534, -0.08676035, -0.19237737, -0.115502626) * go_0(1.0, -1.0); - result += mat4(0.09471972, 0.21153462, -0.14393018, 0.055180002, 0.1817461, 0.016607309, -0.0771979, 0.11181317, -0.5491086, -0.102757886, -0.20952754, 0.022466583, -0.075119644, -0.14725658, 0.38451517, 0.12920731) * go_0(1.0, 0.0); - result += mat4(0.0867803, 0.114654355, 0.21199988, -0.15367955, -0.01803536, 0.056378633, 0.0018388306, 0.024613786, -0.13306658, 0.017211098, 0.073351346, -0.12064064, -0.10484361, -0.067748636, 0.033206712, -0.13061953) * go_0(1.0, 1.0); - result += mat4(-0.002236411, -0.022144757, -0.04586377, 0.101181075, -0.03511624, 0.08440529, 0.18544284, -0.22786349, -0.042184375, 0.015734851, -0.038622506, 0.038529944, -0.09170703, 0.034527462, -0.07817406, 0.10547265) * go_1(-1.0, -1.0); - result += mat4(-0.12135524, -0.07412039, -0.04979351, -0.082267545, 0.13343571, 0.29196215, -0.4364121, -0.10226428, 0.060835477, -0.23307934, -0.018231759, 0.15550235, 0.09095689, 0.18164484, 0.1322021, -0.022567045) * go_1(-1.0, 0.0); - result += mat4(-0.0054531163, -0.039762255, -0.030490747, 0.04779882, -0.15290286, 0.056712102, -0.0776974, 0.04114215, 0.15946816, -0.03882117, 0.16770308, -0.026126247, -0.027203865, -0.064107865, -0.13670811, 0.1556276) * go_1(-1.0, 1.0); - result += mat4(-0.092548385, -0.027285473, 0.084179096, 0.014961629, 0.2564254, 0.07626849, 0.28534448, 0.2588713, -0.018600503, -0.2433456, 0.041392803, -0.045712482, 0.26388907, -0.053502295, 0.14522223, 0.032808404) * go_1(0.0, -1.0); - result += mat4(-0.0013780193, 0.3482449, 0.071003586, -0.30707207, -0.05122194, -0.2833618, 0.07910779, 0.051078696, 0.021535402, 0.13021478, 0.022049015, -0.533547, 0.57265025, -0.12843914, -0.14913581, -0.1433724) * go_1(0.0, 0.0); - result += mat4(0.07382619, -0.12152924, 0.13364957, 0.181974, 0.15804219, -0.10126773, 0.3029618, -0.12874149, 0.13743348, -0.23245592, -0.20119278, 0.029547188, 0.042436857, 0.04213892, -0.07975374, 0.023821082) * go_1(0.0, 1.0); - result += mat4(0.022782229, -0.08359311, -0.060623147, 0.06565042, 0.09828792, 0.044808697, -0.28872305, -0.00092168007, 0.021737702, -0.08698349, 0.1950025, 0.07931995, 0.040952396, -0.07443172, -0.021157127, 0.0056698937) * go_1(1.0, -1.0); - result += mat4(-0.09995892, -0.2047294, 0.1414849, 0.062335726, -0.22492298, 0.05269799, -0.029233055, -0.050517935, -0.12534393, -0.12194023, -0.07035469, -0.070764475, 0.18903446, 0.07691209, 0.06153371, 0.011280912) * go_1(1.0, 0.0); - result += mat4(-0.036189888, -0.07586571, -0.05888163, 0.010425367, -0.028375402, -0.18870986, -0.19146784, 0.19274063, -0.18856238, 0.0064240266, -0.14537223, -0.06971656, 0.0852742, -0.04866623, -0.031686075, 0.031702038) * go_1(1.0, 1.0); - result += mat4(0.0618941, 0.100858234, 0.2628019, -0.048507668, -0.051001363, -0.03195978, 0.035452217, -0.001991919, -0.09649028, -0.047445696, -0.09221298, 0.07602656, -0.02382384, -0.119645916, 0.085616075, -0.07076033) * go_2(-1.0, -1.0); - result += mat4(0.019222878, -0.0491929, -0.4902266, 0.18501294, 0.014529614, -0.077125326, 0.011563931, -0.20236616, -0.101982154, -0.021150962, -0.07537948, -0.1540349, 0.028949164, -0.06827332, 0.0067634755, 0.09582376) * go_2(-1.0, 0.0); - result += mat4(-0.05995539, -0.031138182, 0.01334257, 0.06827176, -0.030762246, 0.006615233, -0.03562788, 0.016249394, -0.14797118, 0.014671043, -0.09325859, 0.25653747, -0.11474991, 0.05436232, 0.031051394, 0.04179694) * go_2(-1.0, 1.0); - result += mat4(0.032279838, -0.030521005, 0.0029688699, 0.005165139, 0.15907808, -0.20421815, -0.07713175, 0.067530625, -0.08619395, 0.026114263, 0.08821273, 0.011591694, 0.018677557, 0.057708874, -0.25859246, -0.18693781) * go_2(0.0, -1.0); - result += mat4(0.10823143, -0.31875235, -0.24394153, -0.0025489891, 0.016761065, -0.19857498, -0.07858479, -0.07811158, -0.38551694, -0.049090322, -0.050053325, 0.23398961, 0.014974165, 0.17498055, 0.29105362, -0.353647) * go_2(0.0, 0.0); - result += mat4(0.05621677, -0.19492444, 0.460332, 0.055917628, -0.06404381, -0.06684098, 0.053624872, 0.057300456, -0.019248677, -0.15110065, 0.032379635, -0.12673225, 0.0068658157, -0.13001235, -0.017716292, 0.064182095) * go_2(0.0, 1.0); - result += mat4(-0.06764552, 0.004707433, -0.13827331, -0.21957871, -0.03789028, -0.04962028, 0.022955444, -0.058468018, 0.13735814, -0.031270552, -0.018490225, 0.0063876202, -0.052979283, -0.030049473, -0.004811771, -0.0044099926) * go_2(1.0, -1.0); - result += mat4(-0.028652798, -0.027029367, 0.62600744, 0.0900562, 0.03869923, -0.20111556, 0.095930666, -0.13164565, 0.5562579, 0.011937122, 0.22882107, 0.030288015, 0.09856272, 0.04736032, -0.077492185, -0.10207275) * go_2(1.0, 0.0); - result += mat4(-0.10581002, -0.16504957, -0.5688921, 0.0414545, 0.04749444, -0.052849945, -0.011017121, -0.025284614, 0.14316759, -0.08547362, -0.09654446, 0.08682504, 0.050776027, 0.0678741, -0.04913651, 0.07527552) * go_2(1.0, 1.0); - result += mat4(0.04126091, 0.0048704315, 0.041699376, -0.05820725, -0.09664279, 0.07648305, -0.17979898, 0.11698985, -0.025436765, 0.023232851, 0.010656572, 0.08157569, 0.19584864, -0.022928072, 0.053339157, 0.0039929505) * go_3(-1.0, -1.0); - result += mat4(0.040733483, 0.12260473, 0.08071146, 0.07257762, -0.016945919, -0.31637576, -0.24281953, -0.0038469466, -0.10203634, 0.13631973, 0.06505259, -0.13119389, -0.09723076, -0.139551, -0.07504509, 0.08645985) * go_3(-1.0, 0.0); - result += mat4(0.017005404, 0.049066268, -0.007544932, -0.04884536, 0.09984347, -0.04447364, 0.4902235, -0.062780835, -0.18389583, 0.07305648, -0.22014385, 0.08004685, 0.0992568, -0.08569604, 0.093966395, -0.07047139) * go_3(-1.0, 1.0); - result += mat4(0.0017705248, 0.020553982, -0.09167042, 0.0036356782, -0.11867446, -0.07055574, 0.40252638, 0.09657129, 0.0888632, 0.1031708, -0.022127641, -0.023769693, -0.0861388, 0.13420185, -0.11774454, 0.038774434) * go_3(0.0, -1.0); - result += mat4(-0.15173717, -0.13590458, -0.0891863, 0.12289548, 0.13942605, 0.22152588, -0.19292432, 0.14169839, 0.010543665, 0.07648361, -0.057333756, 0.09535759, -0.053601623, -0.026824495, 0.09365424, 0.17476946) * go_3(0.0, 0.0); - result += mat4(-0.070416056, -0.061970036, -0.039723337, -0.18874651, -0.07098426, -0.019835865, -0.5612458, 0.060437083, -0.03774378, 0.18536821, 0.28587544, 0.035555754, 0.15771326, -0.13527197, 0.13342534, -0.06564073) * go_3(0.0, 1.0); - result += mat4(-0.10967661, 0.025388904, 0.09003177, -0.04087592, 0.09531671, -0.11809294, -0.41613623, 0.038198076, 0.01019813, -0.018864965, -0.18400626, -0.038704176, 0.0105671035, 0.024449013, -0.008989595, -0.027171193) * go_3(1.0, -1.0); - result += mat4(0.16193569, -0.21445285, -0.20130903, -0.13498883, -0.008031679, 0.050757203, 0.78938776, -0.03749514, 0.11998137, 0.19368882, 0.12328945, 0.0058578993, -0.13852382, -0.033867255, -0.018267661, 0.036348555) * go_3(1.0, 0.0); - result += mat4(-0.06254118, 0.087295115, 0.031116437, 0.0416281, 0.061828617, 0.34479564, -0.15537797, -0.17144552, 0.13989387, -0.13792284, 0.056215156, 0.12714528, -0.0198865, 0.04927947, 0.013614583, -0.041810013) * go_3(1.0, 1.0); - result += vec4(-0.044073943, 0.12072677, -0.0022342638, -0.24414532); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07115729, 0.01065505, 0.19167988, -0.02504489, -0.15064801, 0.079008736, 0.05437936, 0.027479589, -0.021383656, 0.032731537, -0.06657876, 0.022649521, -0.06501893, -0.02335689, 0.010445489, -0.05430297) * go_0(-1.0, -1.0); - result += mat4(-0.1178601, 0.07425715, 0.063272275, -0.18308601, -0.13955134, 0.005166404, -0.022591779, -0.016827974, -0.024990188, -0.13372071, -0.056342285, 0.12489847, 0.081861794, -0.07083351, 0.021897513, 0.0629395) * go_0(-1.0, 0.0); - result += mat4(0.051357627, -0.13874975, -0.09887168, -0.011908862, 0.03639772, -0.13195883, -0.05321156, 0.03913229, -0.08160194, -0.07128151, 0.043625016, 0.11966009, 0.03162217, 0.018834392, -0.0625129, 0.10726711) * go_0(-1.0, 1.0); - result += mat4(-0.15922394, -0.043482754, -0.22571066, 0.009280428, -0.3882705, 0.08418719, 0.15329506, -0.028419001, -0.011272379, 0.15897545, 0.041217074, -0.0143014155, 0.09451862, -0.056342427, -0.14568482, 0.05556279) * go_0(0.0, -1.0); - result += mat4(0.13879324, -0.23339099, -0.24573983, -0.09575104, 0.03823306, 0.4752516, -0.1696623, -0.18472373, -0.1510259, 0.23040254, 0.4196143, 0.3462817, 0.035172507, 0.18228662, 0.22475636, -0.19945027) * go_0(0.0, 0.0); - result += mat4(-0.08876766, 0.19567333, 0.25174314, -0.09637879, -0.007957943, 0.13510521, 0.030193076, -0.0018362573, -0.006884444, -0.41804117, -0.1026309, -0.053339038, -0.1283198, -0.03033918, 0.055674326, 0.094377995) * go_0(0.0, 1.0); - result += mat4(0.06780768, -0.07774435, -0.0616546, -0.046531744, -0.11723141, 0.10792474, 0.013314576, -0.031451598, -0.009870351, 0.10215877, -0.13101454, -0.19878799, -0.09712651, 0.10423937, 0.14170039, -0.03359521) * go_0(1.0, -1.0); - result += mat4(-0.020114673, -0.015194169, 0.03657608, 0.17162928, 0.070458665, -0.08041664, 0.14067306, 0.19699603, -0.28763783, -0.033556152, -0.6588468, -0.48221052, -0.123711474, -0.080758795, -0.3187303, 0.121004865) * go_0(1.0, 0.0); - result += mat4(-0.074900605, 0.09297913, -0.08621144, 0.116730206, -0.034766622, -0.10381484, 0.060793545, -0.014790814, -0.123858415, -0.0010626495, 0.20547503, -0.07206306, -0.17324795, 0.023932874, 0.017495958, -0.09924652) * go_0(1.0, 1.0); - result += mat4(-0.015568068, 0.005394868, 0.15463537, 0.06416607, -0.045670815, -0.013540727, -0.12960619, 0.0006581649, 0.09432853, 0.05575682, -0.022219105, 0.022416297, 0.0148129435, -0.067619696, 0.022989385, -0.09695771) * go_1(-1.0, -1.0); - result += mat4(-0.107209, 0.07072438, -0.10235772, -0.12078849, -0.02751833, -0.043195058, -0.17197154, 0.120612316, -0.17310137, -0.09429793, 0.06511165, 0.18072544, -0.21168593, 0.16383737, 0.25012484, -0.089589044) * go_1(-1.0, 0.0); - result += mat4(0.005439779, 0.0028433986, -0.09885586, -0.06572956, -0.0061691296, 0.15485546, -0.23724958, 0.004232802, 0.07794742, -0.012552598, 0.07554404, 0.10843201, -0.013223918, -0.08705092, -0.23228747, 0.03599732) * go_1(-1.0, 1.0); - result += mat4(-0.043396916, -0.10680695, -0.019935586, -0.06703658, -0.30075943, -0.010179525, 0.30197874, 0.04888297, 0.00779067, 0.22583807, 0.2039884, -0.0074303118, -0.19240093, -0.024718538, 0.057117213, 0.19431825) * go_1(0.0, -1.0); - result += mat4(-0.37633005, 0.043971814, -0.21423087, 0.118503235, -0.15058799, 0.115756795, -0.13719647, 0.020510519, 0.1123193, 0.14797291, 0.05467349, 0.2039607, -0.31973588, 0.1667847, -0.017739004, -0.11280262) * go_1(0.0, 0.0); - result += mat4(-0.0084394775, -0.1281101, -0.20841378, 0.01986435, -0.04122467, -0.21089631, -0.08062371, 0.11315133, 0.05693114, -0.23773515, 0.03792205, -0.008872407, 0.04554895, -0.10683658, 0.10683206, 0.06875721) * go_1(0.0, 1.0); - result += mat4(-0.103948504, -0.007483217, -0.12571928, 0.054868475, -0.030646881, -0.010098222, 0.019018777, -0.07072212, -0.10689893, 0.16498323, 0.048089568, -0.10912806, -0.027318537, -0.025491163, 0.012588013, 0.072701246) * go_1(1.0, -1.0); - result += mat4(0.14094622, -0.028118243, 0.016804086, -0.18000692, 0.33351874, 0.14980756, -0.07135749, -0.16573106, -0.17243773, 0.054617904, -0.2933543, -0.12602285, 0.08480712, -0.05704333, 0.22336398, 0.026583148) * go_1(1.0, 0.0); - result += mat4(0.046759557, -0.03100408, 0.40000245, -0.08521555, 0.19592628, -0.15150753, 0.25288078, -0.061794683, -0.047818147, -0.12249124, 0.020410215, -0.11503924, 0.046108168, 0.030459814, -0.14096366, 0.09120256) * go_1(1.0, 1.0); - result += mat4(-0.087491795, -0.024289595, -0.09060237, 0.020922959, 0.09557061, -0.08556962, -0.0503455, -0.010846053, 0.0030694185, -0.008256591, 0.08290225, -0.034981687, 0.07342003, -0.021816112, -0.13905519, -0.06265962) * go_2(-1.0, -1.0); - result += mat4(-0.08126147, -0.05866924, -0.015698025, 0.093630895, -0.02379264, 0.115918085, 0.19431724, 0.041815966, -0.051647816, 0.15277039, -0.03721037, -0.085520886, 0.041766718, 0.104392216, 0.0559556, 0.0049254233) * go_2(-1.0, 0.0); - result += mat4(-0.11176419, 0.112272635, 0.1367475, -0.010482275, -0.06719008, 0.064003386, -0.08132314, 0.015465676, 0.052741583, 0.06779717, 0.038533892, -0.16428822, 0.040990274, 0.002559234, 0.097567044, -0.058192518) * go_2(-1.0, 1.0); - result += mat4(0.17228632, 0.008296625, 0.009418271, 0.037103783, -0.0601486, 0.04531715, 0.19613501, 0.112170085, -0.02256726, -0.093685195, -0.1341531, -0.038480807, 0.109840475, 0.062418167, 0.15140085, 0.050787117) * go_2(0.0, -1.0); - result += mat4(0.15433665, 0.2104034, 0.12395812, 0.13799714, 0.14945604, 0.67457545, 0.27575177, -0.047493283, 0.24992993, -0.5305435, 0.0131732905, -0.36911693, 0.14442082, -0.18583177, -0.2861722, 0.19419897) * go_2(0.0, 0.0); - result += mat4(0.040242445, -0.13234852, 0.10056324, 0.055854917, 0.07447713, -0.023067042, 0.00021051937, -0.0495407, -0.22037992, 0.68047297, 0.05774606, -0.012461005, 0.104557075, 0.04832623, 0.010292581, -0.050617047) * go_2(0.0, 1.0); - result += mat4(-0.060079176, 0.086553656, 0.0060872175, -0.012576339, 0.025149338, -0.07379716, -0.18048704, -0.007130346, 0.007826557, -0.095655076, -0.0032888134, 0.21027069, -0.09868755, -0.1180311, 0.0081250835, -0.05078016) * go_2(1.0, -1.0); - result += mat4(0.19124818, -0.05949092, -0.36762074, -0.08203597, -0.10276991, 0.111005515, -0.2845309, 0.113985784, 0.07206471, -0.026585411, 0.20032002, 0.5691625, -0.0460136, 0.03874166, 0.09858682, -0.15913802) * go_2(1.0, 0.0); - result += mat4(-0.00397842, -0.014763085, 0.080231026, -0.09142265, 0.03637215, 0.064106315, -0.030963007, 0.0557953, 0.04173885, -0.024534896, -0.2092259, 0.06913638, 0.08103145, -0.0033994897, -0.10903093, 0.062850125) * go_2(1.0, 1.0); - result += mat4(0.01206918, 0.024855271, -0.051995132, 0.013999821, -0.021517826, 0.06216198, -0.050853133, -0.064136736, -0.047408275, -0.07858566, 0.074464396, -0.038218755, -0.13216262, 0.008905726, 0.10333, 0.03049554) * go_3(-1.0, -1.0); - result += mat4(-0.027152343, -0.069046065, -0.013017797, 0.0763, -0.08611993, -0.020867927, 0.012807627, -0.11971997, 0.025972975, 0.095127404, -0.070044935, -0.21399231, -0.22536097, -0.028828809, 0.123399965, -0.15967365) * go_3(-1.0, 0.0); - result += mat4(0.038314234, -0.014114242, 0.012115026, 0.05505015, 0.11785298, -0.08772618, 0.034408223, 0.09134674, -0.04727011, 0.020709611, -0.01780165, -0.14374214, -0.30412516, -0.011123043, -0.024216317, -0.007538433) * go_3(-1.0, 1.0); - result += mat4(-0.17673545, 0.077738725, 0.056153737, 0.028693894, 0.05688375, 0.021928595, 0.014585902, 0.019364892, 0.029056642, -0.2072201, -0.17548367, 0.085471265, 0.16439342, -0.0052957633, 0.22321554, -0.19246858) * go_3(0.0, -1.0); - result += mat4(0.1914782, -0.15620962, -0.16686897, -0.04141303, 0.07696967, -0.013115313, -0.057627093, -0.13849305, 0.08699377, -0.07339016, -0.053074118, -0.059418138, 0.19988623, -0.23852244, -0.12574267, -0.29139704) * go_3(0.0, 0.0); - result += mat4(-0.017691063, 0.18901291, 0.16250716, -0.11039392, 0.056900974, 0.036662772, -0.13399602, -0.11378214, -0.10924602, 0.2130181, -0.042094063, -0.012445028, 0.013168919, 0.119448364, -0.014406005, 0.0054324497) * go_3(0.0, 1.0); - result += mat4(0.11552786, 0.090796515, -0.11559005, -0.035706047, -0.044022456, -0.027642358, 0.08824298, 0.035067793, 0.18125483, -0.15502097, 0.094219126, 0.07493505, 0.022493582, 0.038250685, -0.076567575, -0.059311453) * go_3(1.0, -1.0); - result += mat4(-0.08612596, 0.016376335, -0.0023271537, 0.32511148, 0.03789289, 0.13106889, 0.22370385, 0.21145949, 0.1844514, -0.0766592, 0.093758754, 0.13821359, -0.062405586, 0.0028724174, -0.13588348, 0.00024406122) * go_3(1.0, 0.0); - result += mat4(-0.08991004, 0.074423954, -0.020964831, -0.070288494, -0.1192369, -0.015506713, -0.28136373, 0.042911243, 0.08215164, 0.11065419, -0.006201638, 0.057742044, 0.0014476188, -0.01443158, 0.22631277, -0.06787264) * go_3(1.0, 1.0); - result += vec4(-0.07235962, -0.019149294, 0.05072898, 0.03962245); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.14315613, -0.031299837, -0.011195234, 0.0073360316, 0.07264984, -0.110979274, 0.06560588, -0.040463638, 0.28964168, -0.05644335, -0.060729366, -0.15811591, 0.028339373, 0.027486937, 0.0360574, 0.05856459) * go_0(-1.0, -1.0); - result += mat4(0.16211128, 0.20672597, -0.30374205, -0.056202736, -0.10893948, 0.053066984, -0.18297112, 0.028844962, 0.22754766, -0.07141921, 0.07142953, -0.1357581, 0.008053467, 0.04668908, 0.17258649, 0.22506891) * go_0(-1.0, 0.0); - result += mat4(0.07014762, 0.032112304, 0.028849715, 0.09427007, 0.008323501, -0.085777245, 0.083501115, -0.16150802, 0.24127382, -0.1305689, -0.027557204, -0.15057805, 0.09748757, 0.08182083, -0.107643455, 0.020552907) * go_0(-1.0, 1.0); - result += mat4(-0.04630706, -0.056070503, 0.058440026, -0.005662525, 0.08736355, 0.08821088, -0.049539115, 0.08171937, 0.28466523, -0.025859421, -0.0026971614, -0.15181617, -0.022231927, 0.3566104, -0.024887348, 0.12051598) * go_0(0.0, -1.0); - result += mat4(-0.20976813, -0.23778942, 0.28854275, -0.27583683, -0.27604774, -0.15861328, 0.09581984, 0.06572128, 0.092306405, -0.06962751, -0.042226445, 0.035234913, 0.084891975, -0.03846841, -0.1473667, 0.2810354) * go_0(0.0, 0.0); - result += mat4(0.028011162, 0.08945262, 0.15859836, 0.18426442, 0.10649845, -0.0918649, -0.12257575, -0.00914911, 0.23701023, -0.030067213, -0.01938559, -0.11026175, -0.5953985, 0.28875506, -0.035278864, -0.05043055) * go_0(0.0, 1.0); - result += mat4(-0.14445779, -0.06907616, 0.13078876, -0.0089114, -0.110637166, -0.123719245, -0.094949, 0.046267383, 0.4727523, 0.0073195575, -0.014788787, -0.14922102, -0.021974785, -0.10706751, 0.00049029186, 0.09215345) * go_0(1.0, -1.0); - result += mat4(-0.20936993, -0.22377276, -0.07697398, 0.039161056, 0.044213686, 0.037542075, -0.06600642, 0.017124292, 0.3406197, 0.011907687, 0.019732054, -0.22745137, -0.22178015, 0.49051985, -0.03707166, 0.14849792) * go_0(1.0, 0.0); - result += mat4(0.07833466, 0.10888627, 0.16015877, -0.049263358, 0.29002127, -0.010949114, 0.013081097, -0.071674205, 0.3532135, 0.013165473, -0.05282189, -0.16688257, 0.009552089, -0.2740816, 0.04927233, -0.37047002) * go_0(1.0, 1.0); - result += mat4(0.23682123, -0.027914839, 0.02372468, -0.07127212, 0.053436097, 0.057737537, -0.008556659, -0.025973454, 0.06468388, 0.18805866, -0.08180048, 0.058999106, -0.3058321, -0.06642967, -0.092997625, 0.10527466) * go_1(-1.0, -1.0); - result += mat4(-0.1353085, -0.016593851, 0.21518163, -0.10272456, 0.14382689, 0.05056661, -0.27799338, 0.11351653, 0.05838342, 0.28104934, -0.03777824, 0.003435516, 0.057915565, -0.17574134, -0.24437475, 0.13420977) * go_1(-1.0, 0.0); - result += mat4(0.13400255, -0.056437124, 0.11310834, 0.040429913, 0.098928474, -0.020769242, -0.079605736, 0.0494632, 0.0660877, 0.098982334, -0.055884495, -0.046533633, 0.17815505, 0.027310565, -0.24176653, -0.025550256) * go_1(-1.0, 1.0); - result += mat4(0.03637618, -0.012618673, 0.11865397, 0.19804053, -0.03522831, 0.24310908, -0.056454524, -0.44885796, 0.02212509, -0.20253624, 0.038810212, -0.17396528, 0.08970355, 0.005103078, 0.061075203, 0.44292897) * go_1(0.0, -1.0); - result += mat4(-0.25074747, -0.0015575301, -0.685015, 0.07345307, -0.08419402, 0.06640714, 0.43799296, -0.17571151, 0.0049855476, 0.09024738, 0.055744022, 0.018739637, 0.34734032, 0.114896655, 0.0404696, -0.11327049) * go_1(0.0, 0.0); - result += mat4(-0.12284062, -0.31131, -0.14712588, -0.18645866, 0.17581487, 0.1357234, 0.09913364, 0.005298711, -0.056155153, 0.042429443, 0.039454732, -0.04111384, 0.2623163, 0.09701166, 0.022825675, 0.050480727) * go_1(0.0, 1.0); - result += mat4(0.058734808, 0.038528245, -0.042670116, -0.15190329, -0.028179986, -0.05362995, 0.017090468, -0.24449602, -0.08240927, -0.033122182, 0.009938243, -0.0052937623, 0.2171439, 0.06879817, -0.10361997, 0.018995138) * go_1(1.0, -1.0); - result += mat4(0.027555468, 0.016337285, 0.19074728, 0.26690376, -0.088713005, -0.0021182299, -0.23062791, -0.32101163, -0.0040022335, 0.16835448, 0.05424022, -0.02156396, 0.24163729, 0.10243619, -0.04331782, -0.014350939) * go_1(1.0, 0.0); - result += mat4(-0.13836963, 0.053369813, 0.036432605, 0.062288612, -0.06264361, -0.049093347, -0.0315955, -0.11237456, -0.064744405, -0.0151798045, 0.044210885, 0.010166375, -0.038355727, -0.05203739, -0.075036794, 0.1664177) * go_1(1.0, 1.0); - result += mat4(-0.08583114, 0.08268218, -0.05771351, 0.10195048, -0.10128163, 0.10874855, -0.02580701, 0.028834302, 0.1950179, -0.0130183315, 0.0092119705, -0.060479227, 0.117747106, 0.061403573, -0.0028475628, -0.032362986) * go_2(-1.0, -1.0); - result += mat4(-0.05310153, -0.061091065, 0.19438389, -0.10475873, 0.00045120303, -0.24876194, 0.017168125, -0.050173752, 0.012073283, 0.035660096, -0.017562328, -0.110271364, -0.015546384, 0.17965329, 0.10068208, -0.014481325) * go_2(-1.0, 0.0); - result += mat4(0.085558474, -0.0007109211, 0.20868625, 0.150163, -0.19283043, 0.025976779, 0.08384698, 0.031011146, 0.17268184, 0.008871077, -0.04097794, -0.12868725, 0.01336166, -0.038823843, 0.1703644, -0.067780636) * go_2(-1.0, 1.0); - result += mat4(0.06480841, -0.44256654, -0.19949587, -0.030677497, -0.27930573, -0.041867044, -0.15648738, 0.11573067, 0.28664824, 0.009770385, -0.058617204, -0.06607673, -0.038160402, 0.009497089, 0.03303058, -0.079379834) * go_2(0.0, -1.0); - result += mat4(0.17752203, 0.10979527, -0.058749028, -0.30194217, 0.30484176, -0.20980492, -0.05234784, -0.2590473, 0.23003183, 0.21903595, -0.024891363, -0.14337292, -0.02971356, -0.29613075, -0.045642294, 0.23826689) * go_2(0.0, 0.0); - result += mat4(0.018211683, -0.005840598, -0.19021381, -0.096696235, 0.39998052, -0.34746838, -0.039627917, 0.087701194, 0.15526368, -0.008095372, -0.044220537, -0.08634815, -0.121496454, -0.06792033, -0.14959472, 0.078917444) * go_2(0.0, 1.0); - result += mat4(0.33109078, 0.012287281, -0.034155898, -0.04840956, 0.068748444, 0.006142039, 0.06598935, 0.024775596, 0.22379673, 0.056089353, -0.006119644, -0.018509025, 0.10084137, 0.15556572, -0.041211523, -0.21550669) * go_2(1.0, -1.0); - result += mat4(-0.058160853, 0.08899222, -0.17401625, -0.1449813, -0.015872562, -0.03780256, 0.15702572, 0.34013954, 0.1580772, 0.074823864, 0.035488904, -0.01627819, -0.15551315, -0.3638866, -0.09833458, 0.15037175) * go_2(1.0, 0.0); - result += mat4(-0.12707977, -0.19947061, -0.11524648, 0.09216174, -0.07161296, 0.05675567, 0.06843247, 0.2803306, 0.25222927, -0.044076066, 0.053775772, -0.09939824, 0.16903089, 0.11475717, -0.07015584, -0.036021322) * go_2(1.0, 1.0); - result += mat4(-0.12290332, -0.05469477, 0.02696626, 0.051133692, -0.05541504, -0.2811521, -0.13008943, 0.031793896, -0.32529324, -0.01663752, -0.0658181, 0.17300756, 0.22281154, -0.11001508, 0.09578194, -0.055437982) * go_3(-1.0, -1.0); - result += mat4(0.083753526, -0.048933715, -0.13912897, 0.10929772, -0.1789828, -0.1586524, -0.10964165, -0.08210391, -0.11568187, -0.04813496, -0.2417861, 0.24446528, 0.13570863, -0.26869404, 0.3013413, 0.11678686) * go_3(-1.0, 0.0); - result += mat4(0.21105368, 0.15749952, -0.18983693, -0.023642758, -0.1633653, 0.10107988, 0.052329395, -0.080253236, 0.15375629, -0.045091413, 0.05070866, 0.12416106, 0.16600485, -0.10412354, 0.061849747, -0.084013924) * go_3(-1.0, 1.0); - result += mat4(0.03863923, 0.03690167, -0.053106382, -0.07523278, -0.04214836, 0.53898096, 0.15308584, 0.22835171, -0.24771535, 0.1402687, 0.1000896, -0.08719167, 0.0886567, 0.15255097, 0.14695966, -0.06659865) * go_3(0.0, -1.0); - result += mat4(0.110334344, -0.12696493, 0.24256139, 0.02536166, 0.08322421, 0.022147777, -0.35030407, 0.13734557, 0.053133942, 0.43650532, -0.30170345, 0.08751837, 0.012917502, 0.27496436, 0.11422729, 0.15508565) * go_3(0.0, 0.0); - result += mat4(0.16684863, 0.26743406, 0.15951683, 0.033597723, -0.044719726, 0.1127182, 0.007923161, 0.06415458, -0.07269362, -0.07828715, 0.09216738, 0.11528897, -0.13371283, -0.124177165, 0.14804523, 0.14156726) * go_3(0.0, 1.0); - result += mat4(-0.041141883, 0.023617791, 0.11484465, 0.13131519, -0.14753738, 0.17067687, -0.017538434, 0.24042644, -0.058103643, 0.3143255, 0.02476919, -0.0024666793, -0.26759955, -0.06099211, 0.006415725, 0.10394301) * go_3(1.0, -1.0); - result += mat4(-0.04198037, 0.03277123, -0.25069895, -0.21043587, -0.27417016, 0.08047665, 0.29731026, 0.07629813, -0.15695353, -0.14299184, 0.026618432, 0.13265325, 0.07727133, 0.12872085, 0.13887435, 0.1347057) * go_3(1.0, 0.0); - result += mat4(0.039232086, 0.117847264, -0.071643315, -0.040677182, -0.029160816, -0.06968689, 0.12880929, 0.037579957, -0.036671028, -0.022678757, -0.069731854, 0.10590314, 0.028034678, -0.015759282, 0.047180142, -0.16366881) * go_3(1.0, 1.0); - result += vec4(-0.079253934, 0.001511763, 0.100159355, 0.01585197); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.024126908, 0.01737047, 0.04563732, 0.08303721, -0.21339902, 0.00025652428, -0.09666459, -0.07654246, -0.01201168, 0.14373912, 0.22268519, 0.049181588, -0.0751725, 0.006847365, -0.025867194, 0.19233267) * go_0(-1.0, -1.0); - result += mat4(-0.25251204, -0.34213448, -0.0022676045, 0.29270738, 0.08876456, 0.067294724, 0.2865476, -0.009144941, -0.074606106, 0.14566834, 0.14162645, 0.10980335, -0.7958991, -0.15410729, 0.038512416, -0.17033637) * go_0(-1.0, 0.0); - result += mat4(-0.115404196, -0.11004134, 0.13174473, -0.0006875606, 0.0051814034, 0.058522645, -0.0795437, 0.0011465811, -0.019500278, 0.12752724, 0.16985136, -0.054932587, 0.16734739, -0.04686017, -0.072241016, 0.054562975) * go_0(-1.0, 1.0); - result += mat4(-0.07528159, -0.113516726, 0.2081102, 0.009942251, 0.08256535, 0.050133914, 0.012745932, 0.13902397, 0.009369715, 0.083261885, 0.17366019, 0.069754004, 0.030654406, -0.045856245, -0.055254143, 0.16265897) * go_0(0.0, -1.0); - result += mat4(-0.14366727, 0.24948351, 0.12160293, 0.10929859, -0.116071545, -0.11725494, -0.13926856, -0.026759636, 0.12723772, 0.1938045, -0.02745115, -0.0644584, -0.23854719, 0.059308372, -0.446269, -0.06978486) * go_0(0.0, 0.0); - result += mat4(0.21108554, -0.1717225, 0.066633105, 0.15418948, -0.08902029, 0.047925282, 0.15817304, -0.080941506, 0.007364865, 0.10506626, 0.20205018, -0.078695655, 0.14004812, -0.3195092, 0.19157887, -0.12697977) * go_0(0.0, 1.0); - result += mat4(-0.08145032, -0.14292753, 0.066565305, -0.061348185, -0.08738346, 0.011608093, -0.0024047727, -0.024741996, -0.11547277, 0.10013328, 0.21730538, 0.05598899, -0.17741105, 0.075944185, 0.027434295, -0.2550598) * go_0(1.0, -1.0); - result += mat4(-0.026223006, 0.11214396, -0.133987, 0.1303522, 9.32011e-05, -0.14755996, -0.14002979, -0.039624512, 0.045111652, 0.17618611, 0.17764348, 0.104528464, 0.20592515, 0.07240335, -0.27604735, 0.038880046) * go_0(1.0, 0.0); - result += mat4(0.17734227, -0.002935363, 0.07505682, -0.029969893, -0.024536638, 0.11236127, 0.119374484, 0.08002781, -0.003541722, 0.1428466, 0.1729824, 0.055412393, -0.04790376, 0.18020035, 0.05376964, -0.1520942) * go_0(1.0, 1.0); - result += mat4(-0.11352182, -0.019249126, 0.10782615, 0.03079928, 0.020381734, -0.08998433, -0.09211494, -0.054406203, 0.1828849, -0.07692097, 0.004733955, -0.026685018, -0.08044814, -0.071961075, 0.029184176, -0.22562811) * go_1(-1.0, -1.0); - result += mat4(-0.34489468, -0.07447471, 0.026422959, 0.33550653, 0.22130035, 0.059709545, -0.07646962, -0.18386386, 0.33911958, -0.07534871, 0.040870134, 0.051136248, 0.32681262, 0.20612194, -0.1609581, -0.70460784) * go_1(-1.0, 0.0); - result += mat4(0.27617922, 0.09758603, 0.05103887, -0.09281693, -0.007143339, 0.006635712, -0.055270564, -0.022629099, -0.13023081, -0.013819027, -0.038695697, 0.047280338, -0.13964762, 0.09852924, -0.10056262, -0.084967695) * go_1(-1.0, 1.0); - result += mat4(0.1370323, 0.030904075, -0.033860117, 0.08926374, -0.14616281, -0.29926816, -0.23738252, -0.21374625, -0.14039646, 0.11503669, 0.082101606, -0.061717354, 0.021357644, -0.10676707, 0.03214661, 0.029967157) * go_1(0.0, -1.0); - result += mat4(-0.29881296, -0.22195289, -0.3512607, -0.2277441, 0.033705913, -0.23267402, -0.119738854, -0.18925253, 0.068823405, -0.15160555, 0.2585695, 0.10484223, -0.012574211, 0.38808516, 0.2599094, -0.4991424) * go_1(0.0, 0.0); - result += mat4(-0.07474731, 0.22742131, 0.014462262, 0.08409484, 0.09579643, -0.0519534, 0.0007793075, -0.044820115, -0.010144471, -0.040506937, 0.0056340825, 0.057767954, -0.14988829, -0.05099549, 0.007204364, -0.07094934) * go_1(0.0, 1.0); - result += mat4(-0.05736621, 0.12072876, -0.02037183, 0.05012334, -0.1173538, -0.10062993, -0.0033958228, 0.0142556345, -0.011005385, -0.0066177617, -0.058390465, 0.048240293, 0.09835053, 0.17917523, -0.06466951, 0.017518612) * go_1(1.0, -1.0); - result += mat4(0.1413101, -0.30268928, -0.17851736, -0.10797371, -0.01964573, 0.14356858, -0.06759965, 0.17416531, 0.13905385, -0.017476829, 0.06541924, -0.044690568, -0.080723755, -0.08610206, 0.095347285, -0.09233214) * go_1(1.0, 0.0); - result += mat4(-0.07254187, -0.091158785, 0.018472971, 0.03514051, 0.018888336, 0.107934274, -0.018830854, 0.10007211, -0.053966418, -0.035646267, -0.031214178, -0.05980228, -0.13045661, -0.011743741, -0.03325275, 0.071065165) * go_1(1.0, 1.0); - result += mat4(-0.037697386, 0.054388218, -0.010934479, 0.2266702, 0.049999133, 0.017648092, -0.044225454, 0.21611899, -0.03805845, 0.054236397, -0.018563407, -0.060588073, -0.031215845, 0.075081706, 0.07333242, -0.09651128) * go_2(-1.0, -1.0); - result += mat4(-0.32236508, -0.0026381002, -0.30787975, 0.2963127, -0.13276175, 0.1058753, -0.12744896, 0.09749292, -0.02683677, -0.0041124597, 0.006103888, -0.09997201, 0.092101686, -0.08375288, 0.09641652, 0.053333007) * go_2(-1.0, 0.0); - result += mat4(0.027999232, -0.060004722, -0.009207874, -0.0952888, -0.038418446, -0.13316345, 0.099323496, 0.048450433, 0.0443969, 0.056023613, 0.1156147, 0.018980766, 0.040020484, 0.07555044, 0.0039174426, -0.044098593) * go_2(-1.0, 1.0); - result += mat4(-0.101029314, 0.33333415, -0.22052327, -0.035329416, 0.17229559, 0.12564908, -0.07879576, -0.09248896, -0.03239869, 0.022611454, 0.05610472, -0.02181683, -0.06347532, -0.077292696, 0.02005389, -0.078899406) * go_2(0.0, -1.0); - result += mat4(-0.028139396, -0.04349171, -0.019393284, 0.42110333, 0.37065667, 0.5282552, 0.43816927, 0.19155908, 0.051832534, 0.02050813, 0.030795977, 0.023960136, -0.27617985, 0.19165507, -0.005492024, -0.13349663) * go_2(0.0, 0.0); - result += mat4(5.0700226e-05, 0.21293098, -0.39902148, -0.058406413, -0.06766975, 0.1129277, -0.012398328, 0.025031524, 0.03519656, 0.06486415, 0.15710293, 0.014098051, 0.057754945, 0.116186336, -0.14429826, 0.051864166) * go_2(0.0, 1.0); - result += mat4(-0.012280755, 0.043744788, -0.06420968, 0.012739398, 0.043073926, 0.031230433, 0.00036492705, -0.039208546, -0.09329152, 0.06928111, 0.11622664, -0.009106846, 0.111528054, -0.020315262, 0.036427997, 0.15881014) * go_2(1.0, -1.0); - result += mat4(-0.066635534, 0.13901882, 0.0885122, 0.1030835, 0.08539728, -0.015466482, 0.0706688, -0.1611047, 0.02179479, -0.00048529037, 0.08708685, -0.00894464, -0.13046473, -0.21456988, -0.20666413, 0.049039323) * go_2(1.0, 0.0); - result += mat4(-0.100800075, -0.03772198, -0.095183305, -0.15150243, -0.08743059, -0.24299338, -0.019315414, -0.1574107, -0.013610722, 0.064871654, 0.058439128, 0.008972897, 0.10339555, -0.027356634, 0.07666196, 0.048524544) * go_2(1.0, 1.0); - result += mat4(0.046309173, -0.03858991, -0.13260359, 0.0017626585, 0.1453724, 0.1402359, -0.079240486, 0.13017912, 0.0629575, -0.15448172, -0.1856442, -0.044694453, -0.17226808, -0.08065212, -0.008038736, -0.15994963) * go_3(-1.0, -1.0); - result += mat4(0.18369722, 0.03849556, -0.035185467, -0.20205377, 0.03879293, 0.02712859, -0.051278092, 0.14862835, 0.10261192, 0.18085574, -0.025982017, -0.029160796, 0.5301373, 0.09614058, 0.35518438, -0.014906588) * go_3(-1.0, 0.0); - result += mat4(-0.31154996, -0.06868871, -0.012681131, 0.028093819, -0.37321633, -0.14738804, 0.06060776, 0.050054748, 0.013779029, -0.020390315, -0.12487434, -0.0029474346, -0.274524, -0.09142805, 0.0132142445, 0.1577639) * go_3(-1.0, 1.0); - result += mat4(-0.02177336, -0.020817943, -0.0111796055, -0.0046033757, 0.45033064, 0.3573757, 0.55279994, 0.602122, -0.05536106, -0.33642644, -0.1851379, -0.052192084, 0.03683446, 0.13613251, 0.20098919, -0.090587094) * go_3(0.0, -1.0); - result += mat4(0.1520822, 0.37173554, -0.061298244, 0.0019386727, 0.44656134, 0.13406622, 0.39018136, 0.5722051, -0.13074401, 0.012778576, -0.2837446, 0.16098566, 0.100189455, -0.40386122, 0.17464107, -0.17862785) * go_3(0.0, 0.0); - result += mat4(-0.01217905, -0.24295084, 0.08192982, -0.14160301, -0.05936872, -0.003312342, -0.07542139, 0.13488367, -0.21560493, -0.14342502, -0.19195864, -0.09448305, -0.1038431, -0.075766176, 0.03226791, 0.06455397) * go_3(0.0, 1.0); - result += mat4(-0.076916575, -0.10891301, 0.032635316, 0.03848802, 0.15750243, 0.48169684, 0.5410635, 0.017279895, 0.012730932, -0.0059071835, 0.030766146, -0.0225503, -0.030178519, -0.05866621, 0.033593398, -0.00033098995) * go_3(1.0, -1.0); - result += mat4(-0.10757409, 0.2644168, -0.025696747, -0.0077012815, 0.31728277, 0.29771668, 0.2443613, -0.047722775, -0.083712585, -0.12742844, -0.3138776, -0.059888497, 0.12291351, -0.14435866, 0.051414594, -0.11889901) * go_3(1.0, 0.0); - result += mat4(-0.063888945, 0.002844068, -0.06129518, 0.03381495, 0.10176077, -0.11625004, -0.10745763, -0.20636752, -0.03820934, 0.01926402, -0.20310643, 0.09767577, -0.00776684, 0.13453315, -0.036967937, 0.09780335) * go_3(1.0, 1.0); - result += vec4(0.019374544, -0.050425697, -0.005817216, -0.0059976326); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.028328063, 0.038015317, 0.14893384, 0.10103896, 0.028176744, -0.02067147, -0.10970998, 0.015726602, -0.07402682, -0.075281784, -0.012586929, 0.053476278, 0.14823362, 0.20312984, 0.24213, 0.039118115) * go_0(-1.0, -1.0); - result += mat4(0.009731573, -0.019011121, 0.016360838, -0.0073153526, 0.14594506, -0.0427664, -0.094225354, -0.013891855, -0.037061375, 0.024959227, -0.12289382, -0.21792257, -0.33579424, 0.052678566, 0.04346115, 0.07943186) * go_0(-1.0, 0.0); - result += mat4(0.0022269129, 0.013298362, -0.045071404, -0.007918287, 0.010860651, -0.073057, -0.0042394064, 0.03340809, 0.04938919, -0.024218693, -0.008147567, 0.08848061, -0.06840333, 0.10077341, -0.272586, -0.06542769) * go_0(-1.0, 1.0); - result += mat4(0.15929016, -0.1415167, 0.057084452, 0.06830724, 0.0046992986, 0.068573505, 0.22142749, -0.18493174, -0.1006019, -0.11373546, 0.17520057, -0.12888812, 0.05176946, -0.14703397, -0.20610721, 0.16611591) * go_0(0.0, -1.0); - result += mat4(-0.0069309813, 0.22358349, -0.18569049, 0.13456121, -0.21528137, 0.04618922, -0.47261322, -0.09682613, 0.5402922, 0.15818685, 0.05288464, -0.09949312, 0.21833964, 0.06652228, -0.2694682, 0.58216536) * go_0(0.0, 0.0); - result += mat4(0.040808782, 0.023110595, 0.12678777, -0.09057271, 0.03159572, 0.044006016, -0.10090222, 0.09940838, -0.08454473, -0.118349984, -0.053009644, 0.24352531, -0.103818566, 0.12536442, -0.17832974, 0.25161982) * go_0(0.0, 1.0); - result += mat4(-0.026323501, -0.14911288, -0.0073903934, 0.06902844, 0.07188603, -0.05006621, 0.06539817, -0.048083752, -0.08032579, -0.07449341, -0.015944218, 0.032426495, 0.069349505, -0.07441237, 0.055614363, 0.065174624) * go_0(1.0, -1.0); - result += mat4(-0.046432327, -0.051616143, 0.017791865, -0.047294978, 0.025944458, -0.0020909954, 0.083794415, -0.055740435, -0.3720184, 0.06654654, 0.1944378, 0.07806658, 0.00870193, 0.005404396, -0.059417505, -0.06270168) * go_0(1.0, 0.0); - result += mat4(-0.011699918, -0.03260685, 0.016413182, -0.02199741, -0.042898953, -0.018734168, -0.12387174, 0.06405199, -0.050764065, 0.07050078, 0.006969675, 0.05508108, -0.079687595, 0.12154926, 0.071177684, 0.046873443) * go_0(1.0, 1.0); - result += mat4(-0.2158498, 0.03612371, -0.05268691, -0.065594874, 0.06997431, -0.07327132, -0.03323361, -0.23306306, -0.00011140713, -0.1891967, -0.017328357, 0.15796778, -0.061359044, 0.008202449, -0.031317197, -0.020873578) * go_1(-1.0, -1.0); - result += mat4(-0.022816254, -0.014594548, 0.0064240466, 0.07976367, -0.0070318123, -0.07651652, -0.111756384, -0.2788498, 0.16634429, -0.1583179, -0.10245271, 0.10480152, 0.345051, -0.07809675, 0.046080578, -0.32139245) * go_1(-1.0, 0.0); - result += mat4(0.020630263, 0.032152038, 0.0019161701, 0.05435833, 0.078139454, -0.10090956, 0.14244889, 0.017286595, 0.0039871824, -0.026395446, 0.14158171, 0.0010112645, 0.17055373, -0.08093189, -0.049234428, -0.33473247) * go_1(-1.0, 1.0); - result += mat4(-0.10982378, 0.029386539, -0.15483, -0.04345961, -0.16869037, -0.30862433, 0.060743757, -0.032285906, 0.017884266, -0.09846199, -0.090971105, -0.1693697, -0.063690096, -0.08489718, 0.18247683, -0.19921213) * go_1(0.0, -1.0); - result += mat4(0.1898742, 0.22187345, -0.28495324, -0.42578775, 0.12833633, -0.2251503, -0.025917793, 0.6011678, -0.36586264, 0.23302059, -0.072634645, 0.0064221635, 0.56792957, -0.4684677, 0.05015159, 0.30121225) * go_1(0.0, 0.0); - result += mat4(0.10837159, 0.14743729, -0.03639783, -0.34797576, -0.18306817, -0.07957882, -0.111433275, 0.30104128, -0.102763996, -0.01020151, 0.016333267, -0.012390819, 0.11835027, -0.12597388, -0.006298998, 0.0513052) * go_1(0.0, 1.0); - result += mat4(-0.23662986, 0.23325302, -0.046104953, 0.36488137, 0.06990537, -0.06887873, -0.012611426, -0.02618366, -0.05296669, 0.195254, 0.016366778, 0.01693462, -0.08488424, -0.24656284, -0.035283253, -0.15318634) * go_1(1.0, -1.0); - result += mat4(0.061704446, -0.26930714, -0.24598889, 0.27657726, 0.05046488, -0.341884, 0.10704377, -0.15971762, 0.072999336, -0.2005826, -0.05874223, -0.053938035, -0.08284583, -0.22792995, 0.1027033, -0.012932447) * go_1(1.0, 0.0); - result += mat4(-0.029079054, 0.14774945, 0.026151389, 0.12380946, 0.08926635, -0.08387116, -0.17018612, -0.09304499, 0.086990625, -0.27579373, 0.003823722, -0.024723161, 0.08762848, -0.10080674, -0.012214886, -0.30239874) * go_1(1.0, 1.0); - result += mat4(-0.25756493, 0.2537789, 0.21723714, 0.0017929028, -0.014724892, 0.086692676, 0.11934202, -0.025869334, 0.008618976, -0.0046638376, -0.06863114, -0.07598151, -0.17309345, 0.009138105, -0.099874064, 0.07377463) * go_2(-1.0, -1.0); - result += mat4(-0.39971545, 0.16774859, 0.13102596, 0.30735064, -0.060374007, -0.036933452, 0.14408773, 0.06479284, 0.03806265, 0.045560133, 0.043136165, -0.019244662, 0.17573427, -0.11398941, -0.0751098, 0.041702736) * go_2(-1.0, 0.0); - result += mat4(-0.074492976, 0.18349282, -0.009050458, 0.0869807, -0.23123743, -0.015426683, -0.14346392, 0.005445149, -0.05322614, 0.10287576, 0.16083732, -0.09557319, -0.13891783, -0.13752605, -0.023572346, 0.13608918) * go_2(-1.0, 1.0); - result += mat4(-0.31140685, 0.40130782, 0.07704675, 0.27509958, 0.09711739, -0.18293281, -0.14500841, -0.15334702, 0.098314695, 0.22749798, 0.006017282, -0.013669673, 0.07147038, 0.022289474, -0.036797456, -0.0013958871) * go_2(0.0, -1.0); - result += mat4(0.0547557, -0.03036202, 0.65113044, 0.10668893, 0.304707, -0.1456157, 0.27668485, 0.2279428, -0.42439902, -0.0073047588, 0.045635667, 0.271637, -0.19595222, -0.28107607, 0.3905438, -0.29898256) * go_2(0.0, 0.0); - result += mat4(0.076843366, 0.037181348, 0.08652873, 0.1756985, 0.03728033, -0.22783624, 0.16810594, -0.022009399, 0.16058537, 0.24559903, 0.05266939, -0.13929726, 0.15964857, 0.0013167082, 0.015017631, 0.101646364) * go_2(0.0, 1.0); - result += mat4(-0.3022452, 0.20052882, 0.13433233, 0.04250016, -0.15248592, 0.014216527, -0.23489903, 0.13919333, 0.22891816, -0.0053335144, -0.05567782, -0.12769286, -0.05337762, -0.11429989, -0.00882089, -0.030790573) * go_2(1.0, -1.0); - result += mat4(-0.11763547, 0.1073185, 0.15810886, 0.013149736, -0.028268294, -0.24712053, 0.08592036, 0.075742744, 0.19626461, -0.10880887, -0.22599675, -0.37207767, -0.032548983, -0.011045266, -0.035218395, 0.099996395) * go_2(1.0, 0.0); - result += mat4(0.05631665, 0.029538663, 0.043909863, 0.13720988, 0.10980592, -0.047748722, 0.080308706, -0.06828442, 0.1144396, -0.12510885, -0.067976676, 0.030742755, 0.07134681, -0.06652312, -0.0642328, -0.034490924) * go_2(1.0, 1.0); - result += mat4(0.019588284, -0.15197967, -0.16797094, -0.026324488, 0.014429439, -0.028491383, 0.059453625, 0.23443304, 0.02504347, 0.08872467, 0.032782357, -0.085310735, 0.013040259, -0.09837991, 0.073533125, -0.03544458) * go_3(-1.0, -1.0); - result += mat4(0.02198588, -0.09614766, 0.024655875, 0.025384603, 0.012162857, 0.065071434, 0.018112874, 0.19828922, -0.33289856, 0.011323505, 0.13696423, 0.31772846, -0.06587399, -0.05569957, -0.16469179, -0.22545892) * go_3(-1.0, 0.0); - result += mat4(-0.009093827, 0.086783886, 0.060070645, 0.049957857, 0.041628215, 0.082412794, 0.117729135, -0.178277, 0.08326062, -0.07120824, 0.1788718, 0.050748438, -0.08952197, -0.14609487, 0.05515471, 0.14784457) * go_3(-1.0, 1.0); - result += mat4(-0.10823147, -0.05108019, 0.092807196, -0.13899301, 0.19123949, -0.044189975, 0.0030145745, 0.08935499, -0.10338727, 0.01996205, 0.15671325, -0.08229972, 0.05603653, 0.043324884, 0.13562247, -0.11487494) * go_3(0.0, -1.0); - result += mat4(-0.18872134, -0.07302765, 0.030137405, 0.30928415, -0.07689583, 0.045998566, 0.45554903, -0.1653404, 0.14705873, -0.10649596, 0.46833125, 0.17608039, -0.43967086, 0.056812476, -0.17908083, -0.40455228) * go_3(0.0, 0.0); - result += mat4(-0.08093384, 0.032636635, 0.124594346, 0.13655491, 0.16780408, -1.4671803e-05, 0.13044862, -0.397665, -0.013273644, 0.08253894, 0.16302188, -0.052874118, 0.04073075, -0.18063635, -0.00838661, -0.31084144) * go_3(0.0, 1.0); - result += mat4(0.06804371, -0.14755388, -0.12055216, -0.00437858, -0.044694718, 0.22744909, 0.012434794, 0.06245207, 0.00560859, -0.15815294, -0.19711316, 0.07711764, 0.03078979, -0.09560189, 0.10509056, 0.010651465) * go_3(1.0, -1.0); - result += mat4(-0.026342146, 0.13919179, -0.0030414977, 0.06607403, 0.071292974, 0.065464914, -0.027091878, 0.10620255, -0.052090824, 0.06840278, -0.08457357, 0.08867469, 0.2976581, -0.6702739, -0.15472057, -0.3066263) * go_3(1.0, 0.0); - result += mat4(-0.00072869845, 0.046573937, -0.08363707, 0.07867379, 0.038065, 0.01228845, 0.031746328, -0.024448024, -0.065555945, 0.1220454, 0.032151606, -0.022336006, -0.0010816467, -0.026455112, 0.112422734, -0.10285581) * go_3(1.0, 1.0); - result += vec4(0.052450567, 0.10404023, -0.059578225, 0.009724121); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.037506457, -0.06573841, -0.087879084, -0.06359248, -0.0017873603, -0.009097742, 0.010108622, 0.026364084, 0.012306545, 0.12607974, -0.088268295, 0.14034338, 0.24951904, 0.0983314, 0.03635719, -0.047059253) * go_0(-1.0, -1.0); - result += mat4(-0.05570699, 0.11044774, 0.04827364, -0.03185735, -0.032498132, -0.062959515, 0.2933071, 0.22244357, 0.061075654, 0.0064111133, 0.011452209, 0.11576761, 0.13969804, 0.20502032, 0.1114938, 0.022496287) * go_0(-1.0, 0.0); - result += mat4(-0.054194342, 0.000389916, -0.039589155, -0.018707246, -0.036095835, -0.06873059, -0.077109694, 0.028726012, -0.08820959, -0.109247595, -0.05745309, 0.043230128, 0.033671502, 0.16398554, 0.030398889, -0.17000203) * go_0(-1.0, 1.0); - result += mat4(-0.09218165, -0.12813722, -0.040984686, -0.016605416, 0.054269493, 0.12971285, -0.013961638, -0.17803082, -0.014683587, 0.2502267, -0.14249405, -0.025687713, -0.097426265, -0.30111355, -0.21776466, 0.008809217) * go_0(0.0, -1.0); - result += mat4(0.21033873, 0.15221386, 0.18138756, -0.08248389, -0.10091519, -0.06940753, -0.014009188, -0.3009861, -0.02452202, -0.08800422, -0.36376888, 0.18485394, 0.35076657, -0.13293292, 0.24624826, 0.39373755) * go_0(0.0, 0.0); - result += mat4(0.014170062, -0.029623963, 0.057001226, 0.09269898, -0.14630881, -0.16557585, 0.06735037, -0.015008042, -0.27238864, 0.081130914, -0.07869508, 0.098087415, 0.11217335, 0.48223323, 0.18613088, -0.035602476) * go_0(0.0, 1.0); - result += mat4(-0.21623239, -0.1125095, -0.09964635, 0.101452544, 0.11877652, 0.13471957, -0.10402355, 0.0077938605, 0.030518647, 0.22309083, -0.2115206, 0.017967062, -0.042780407, 0.099759325, -0.10465051, -0.033807248) * go_0(1.0, -1.0); - result += mat4(-0.059608232, 0.06684556, 0.00039066386, 0.08542961, 0.097183906, -0.1868667, 0.07778909, -0.06172202, 0.0021662437, -0.05387577, -0.4077133, -0.028940776, 0.110816136, -0.04154161, 0.030078325, 0.072834246) * go_0(1.0, 0.0); - result += mat4(-0.01881586, -0.06384429, -0.054874837, -0.016731417, -0.06570834, -0.13579571, 0.0033891131, -0.059161015, -0.11559389, 0.02149361, -0.08791608, -0.008113861, 0.08313892, -0.07327947, -0.013473171, 0.13254371) * go_0(1.0, 1.0); - result += mat4(-0.11458958, -0.08827364, -0.025030116, 0.12626298, 0.0070429775, 0.0337767, 0.051719055, -0.09654129, -0.04867615, -0.03609001, -0.06522421, -0.044131942, -0.048825134, 0.10652733, -0.015310965, -0.07341175) * go_1(-1.0, -1.0); - result += mat4(0.05782829, 0.014247012, 0.12126171, 0.100055166, 0.24079333, -0.20155986, 0.1640186, -0.12158374, -0.153708, -0.24445893, -0.10536192, 0.12758626, -0.19430119, -0.019024884, -0.080120996, -0.29866305) * go_1(-1.0, 0.0); - result += mat4(-0.017357074, 0.04390695, 0.12889594, 0.11451521, 0.03333342, -0.16417275, 0.10196121, 0.13059081, 0.09948873, 0.15007107, 0.22664218, 0.35449567, -0.089776486, 0.025239054, 0.12463201, -0.13109131) * go_1(-1.0, 1.0); - result += mat4(0.064875744, 0.40551752, 0.11903257, 0.14822967, 0.14993542, -0.12758526, 0.23159283, -0.06080246, -0.084577255, 0.14307548, -0.02186462, 0.05793564, -0.050965074, 0.23895216, -0.07796932, -0.1624384) * go_1(0.0, -1.0); - result += mat4(-0.15942748, 0.07191155, 0.42204422, 0.35219797, 0.23286703, -0.283381, -0.2749432, 0.25922084, 0.10494953, 0.14575887, -0.19649154, -0.14563714, -0.03709703, 0.023375817, -0.05610175, -0.32548484) * go_1(0.0, 0.0); - result += mat4(-0.04872624, -0.3592348, -0.027413938, 0.0836858, 0.046842758, -0.35193914, 0.06154142, 0.05559191, -0.22538327, -0.097689696, -0.21317257, -0.033945527, -0.23628096, -0.016477302, 0.027297588, -0.04105733) * go_1(0.0, 1.0); - result += mat4(0.11543502, -0.043297376, 0.118703, 0.15013209, 0.03191795, 0.014122794, 0.05156918, 0.023102578, 0.0808462, -0.06445798, 0.15860644, -0.062393136, -0.018691704, -0.00032888897, 0.01196705, -0.025045555) * go_1(1.0, -1.0); - result += mat4(0.08301664, 0.12298539, 0.20151077, 0.2993159, 0.16968682, -0.18196446, -0.13322797, -0.13693243, -0.0048389523, -0.057406515, 0.21409932, -0.060822334, -0.08554752, -0.19363636, -0.35241908, -0.32256603) * go_1(1.0, 0.0); - result += mat4(-0.0523748, 0.17082025, 0.08556144, 0.19181536, -0.2445756, -0.3616732, -0.01641404, -0.078599006, 0.23907976, 0.025989126, 0.07574993, -0.06859337, -0.06667767, -0.022847861, -0.037942342, -0.21112117) * go_1(1.0, 1.0); - result += mat4(0.15098672, 0.024212115, -0.19068481, -0.22606348, -0.15221487, -0.032165635, -0.06244531, -0.043535717, -0.07398802, -0.06088507, -0.013834592, -0.10145823, 0.06901983, -0.0862135, -0.05545454, 0.15514566) * go_2(-1.0, -1.0); - result += mat4(0.044767097, -0.07583697, -0.17739761, -0.25538698, 0.0966659, -0.0013492911, -0.23315248, -0.21652249, -0.14381947, 0.017784966, -0.15960035, -0.13297895, 0.009810349, -0.041348267, 0.05443229, 0.17781278) * go_2(-1.0, 0.0); - result += mat4(-0.0052824756, 0.087268956, -0.022167318, -0.09450279, 0.1254372, 0.075806946, 0.028893303, -0.09019378, 0.03488572, 0.046265777, 0.026162563, 0.003914548, -0.0632334, -0.19494742, -0.03602023, 0.113897055) * go_2(-1.0, 1.0); - result += mat4(-0.11311528, 0.2616239, 0.12303548, 0.13427438, -0.26537886, 0.015112677, -0.03641703, -0.014114427, -0.023280613, 0.03626403, 0.12833157, 0.19168468, 0.2119137, -0.02374797, 0.117919676, 0.07794395) * go_2(0.0, -1.0); - result += mat4(-0.13746078, 0.25739196, 0.008431936, -0.053867325, -0.13228695, -0.20661803, 0.026474724, 0.3205188, -0.41819036, 0.42812085, 0.17249924, -0.15810613, 0.39602605, -0.10873597, 0.1457145, -0.060503867) * go_2(0.0, 0.0); - result += mat4(0.03706167, -0.036211733, 0.06519942, -0.2123978, 0.019934088, 0.17494182, -0.017252771, -0.067341134, -0.15416612, -0.114118524, -0.00028491023, -0.08172238, -0.11722721, -0.2647645, 0.13316637, 0.13562322) * go_2(0.0, 1.0); - result += mat4(0.11832847, 0.22822993, 0.020318847, 0.0734738, -0.025950216, -0.072782144, 0.11133989, 0.18845533, -0.004584898, -0.10486471, 0.054522812, -0.14136603, 0.01940983, -0.039433163, 0.008390286, 0.013686628) * go_2(1.0, -1.0); - result += mat4(-0.042335663, 0.0035399816, -0.1813205, -0.25639042, 0.1042524, 0.07707001, -0.04922454, 0.18140413, -0.22322963, 0.030809738, -0.11041754, -0.040288754, 0.09431559, -0.08017892, -0.18317147, -0.019331435) * go_2(1.0, 0.0); - result += mat4(-0.061776266, 0.0069793356, 0.019964112, -0.14504445, -0.00070097746, -0.027107855, 0.030182542, -0.05625612, -0.04958449, 0.123165295, 0.0013953283, 0.017912487, 0.031161329, -0.31798717, 0.018331604, 0.030411277) * go_2(1.0, 1.0); - result += mat4(-0.0530594, -0.07933117, 0.024755973, 0.004785411, 0.045512546, 0.12833083, 0.023195961, -0.018028054, 0.014223835, 0.102213494, 0.052169293, -0.020509718, 0.017905682, 0.021354724, -0.0410789, -0.066523656) * go_3(-1.0, -1.0); - result += mat4(0.017061293, -0.08770806, -0.04889939, 0.01825556, -0.03228951, -0.06838898, -0.09249373, 0.18103507, 0.087000825, 0.04175679, -0.09305919, -0.2792485, 0.03405797, 0.062147446, -0.04757652, -0.021603985) * go_3(-1.0, 0.0); - result += mat4(-0.04115162, 0.02547615, 0.07033616, 0.09814065, 0.2597489, -0.0335038, 0.14097647, 0.047022782, 0.1374654, -0.27390274, 0.02080897, -0.15251215, -0.025431091, 0.08871465, -0.22243279, -0.07792812) * go_3(-1.0, 1.0); - result += mat4(-0.061674852, -0.051326606, -0.04885301, 0.08548189, -0.07100394, 0.044875987, -0.19810183, -0.09841128, -0.06628199, -0.041564234, 0.1111919, -0.044448826, 0.06980301, 0.00046094303, -0.045978926, -0.20736355) * go_3(0.0, -1.0); - result += mat4(-0.18405268, -0.28115878, -0.33536536, 0.0753763, 0.028309148, 0.0014874876, 0.28369543, -0.2133985, 0.16520546, 0.29562506, 0.109781906, 0.028433772, -0.02691105, -0.39038795, -0.12942268, -0.080103286) * go_3(0.0, 0.0); - result += mat4(-0.05387814, -0.04672615, 0.046064686, 0.2791977, 0.11359623, -0.204098, -0.018091407, 0.13550591, 0.04216003, -0.1631328, -0.043013666, -0.045698896, 0.032403514, 0.010206319, -0.25789943, -0.36328712) * go_3(0.0, 1.0); - result += mat4(0.11280466, 0.11671405, -0.02122692, 0.021664057, -0.07836575, 0.014747725, 0.030007286, -0.10128616, -0.13695373, -0.10353946, -0.043571353, 0.05922437, -0.11293257, 0.0828006, -0.07322761, -0.08197273) * go_3(1.0, -1.0); - result += mat4(-0.0010509897, -0.1674067, 0.08191839, 0.056608744, 0.061343428, 0.19574693, 0.05302967, -0.006813754, -0.016064182, 0.22949885, -0.06631832, 0.034382205, 0.12674272, 0.06583508, 0.19319807, 0.011400221) * go_3(1.0, 0.0); - result += mat4(-0.032175347, -0.021227444, -0.027698517, 0.067299634, 0.23929007, 0.20669897, 0.004856941, 0.0009404045, 0.04919408, 0.020296812, 0.012571405, -0.16185577, -0.012276781, 0.16609742, -0.15718406, -0.20344186) * go_3(1.0, 1.0); - result += vec4(0.022815697, 0.012251767, 0.045309987, -0.0879881); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.010501252, -0.046741538, -0.0017120431, -0.04840009, 0.20547974, 0.3366821, -0.10182207, 0.17451541, -0.03404171, -0.15138055, 0.16771653, -0.07168161, 0.102572344, 0.08266354, 0.20205829, 0.13429944) * go_0(-1.0, -1.0); - result += mat4(0.05584234, 0.06844309, 0.025430907, 0.124140054, 0.36385667, 0.12099467, -0.41671994, 0.085477844, 0.19748127, -0.21473993, 0.005037813, -0.3973761, 0.04669592, -0.100342326, -0.09403772, -0.034248166) * go_0(-1.0, 0.0); - result += mat4(-0.17654696, 0.009085064, 0.028360577, 0.033909567, 0.09377573, 0.27896938, 0.103994116, 0.0008595595, 0.064523555, 0.040994007, -0.06337235, 0.05662917, 0.0037455747, 0.017608117, -0.14610702, 1.2175746e-05) * go_0(-1.0, 1.0); - result += mat4(-0.04631749, -0.14251712, -0.16420849, -0.16259338, 0.46187812, 0.17576592, 0.00049142196, 0.029193122, -0.003925961, -0.11218227, 0.007026237, -0.20583045, -0.0010964901, 0.19355829, 0.2221649, 0.1187224) * go_0(0.0, -1.0); - result += mat4(-0.041567978, -0.31510913, 0.01618704, 0.04979329, 0.101294376, 0.16356954, 0.21361789, 0.20735294, 0.1900854, -0.4151726, -0.30471593, -0.59483325, 0.033624128, 0.11495109, -0.15194787, 0.4920959) * go_0(0.0, 0.0); - result += mat4(-0.18910064, -0.06516878, -0.20508374, -0.063928686, 0.7289614, 0.26674315, 0.2929481, 0.4026098, -0.033123735, -0.090371035, -0.029094126, -0.15197921, -0.08723726, -0.060160585, -0.07908409, -0.08826931) * go_0(0.0, 1.0); - result += mat4(-0.08321312, -0.09749648, -0.08783197, -0.23072585, 0.24343425, 0.10888949, 0.17419606, 0.04136083, 0.0066000987, -0.06112787, -0.12176007, -0.20907228, -0.0008522778, -0.054704696, -0.07197735, -0.0877179) * go_0(1.0, -1.0); - result += mat4(-0.40559706, -0.3801705, 0.05970925, -0.6157092, 0.28944594, 0.1252121, 0.403247, -0.122819394, -0.096336536, -0.2324694, 0.05980106, -0.19970767, -0.16646989, -0.10164633, -0.09282806, -0.08897996) * go_0(1.0, 0.0); - result += mat4(-0.14336498, -0.12967408, -0.016268672, -0.021431219, -0.0850116, 0.37105832, -0.04093888, 0.08540873, 0.035717323, -0.07282701, -0.009123291, -0.0036565473, -0.02508944, -0.087611906, 0.03604423, -0.00089080486) * go_0(1.0, 1.0); - result += mat4(0.1373875, 0.05283984, -0.11992707, 0.102294855, 0.3305128, 0.044920854, 0.31622922, -0.04711731, 0.001336024, 0.022799017, -0.062343203, 0.017140022, -0.07556853, -0.12864219, -0.25721326, -0.20741239) * go_1(-1.0, -1.0); - result += mat4(0.22062224, 0.09266222, 0.22466063, 0.18527372, -0.06940306, 0.1317168, 0.019784274, -0.07422301, 0.04061616, 0.0022494853, 0.21723995, 0.24732308, 0.14088804, 0.0116154915, 0.102064446, 0.020701224) * go_1(-1.0, 0.0); - result += mat4(-0.025154127, 0.045180723, -0.05877639, -0.099235624, 0.13630918, 0.24653725, -0.05723323, -0.022995364, -0.10826078, 0.049667366, 0.12618053, 0.1557369, 0.037487056, -0.22215757, 0.005912914, -0.20549043) * go_1(-1.0, 1.0); - result += mat4(0.09641055, 0.098845296, -0.08192096, -0.03691394, -0.18450394, 0.29955688, -0.082493715, -0.06268039, -0.0754319, 0.21018648, -0.016580105, -0.1810546, 0.13857666, -0.0327626, 0.03161804, -0.32589525) * go_1(0.0, -1.0); - result += mat4(-0.18272439, -0.17595461, 0.047229152, 0.14596708, 0.40453747, 0.5658558, -0.17969102, 0.21557859, -0.34232348, 0.40355968, 0.53874254, 0.0012561383, 0.28154096, -0.06745097, -0.13049632, 0.42997465) * go_1(0.0, 0.0); - result += mat4(0.081179485, -0.0041369614, -0.12001932, -0.102107175, -0.050293338, 0.29165673, 0.08062538, 0.22925815, 0.19389379, 0.28463286, -0.057207666, 0.23133168, -0.07545728, 0.06729763, -0.103593476, 0.014468794) * go_1(0.0, 1.0); - result += mat4(0.069821335, -0.010299579, 0.069458775, 0.03894593, -0.054688405, 0.32758355, 0.13935772, 0.37506017, 0.24083133, -0.06105339, 0.25636867, 0.09627044, 0.08939188, 0.006728639, 0.10629504, 0.07887502) * go_1(1.0, -1.0); - result += mat4(0.10563019, 0.077379815, 0.045456886, 0.09303406, 0.11326298, 0.28762257, -0.35142374, 0.10285745, 0.28762287, 0.3592446, 0.23816557, 0.22676824, 0.030372012, -0.028023086, -0.30956736, -0.27588373) * go_1(1.0, 0.0); - result += mat4(0.110499, 0.009828844, 0.086689755, 0.1839749, 0.16656482, 0.083707325, 0.19506347, -0.01547141, 0.13804145, 0.2206598, -0.16484791, -0.0021595939, -0.06844408, -0.07861768, 0.040771082, -0.13347322) * go_1(1.0, 1.0); - result += mat4(0.02667995, 0.019265587, -0.18211095, -0.102116466, -0.042541366, -0.07700912, -0.020587347, -0.03532171, 0.14816427, -0.1672272, -0.17522137, -0.04657808, 0.013430233, -0.0021270285, 0.109880306, 0.004838907) * go_2(-1.0, -1.0); - result += mat4(0.14285165, -0.1364756, 0.017568532, -0.27690783, -0.015461915, 0.045437083, 0.018187419, 0.12473493, 0.17991658, -0.15642665, 0.10009151, -0.19040193, 0.1734127, -0.13817501, 0.0710856, -0.12921426) * go_2(-1.0, 0.0); - result += mat4(-0.14114712, -0.18893671, 0.16121174, 0.035988737, 0.17872387, -0.106395856, -0.23183517, 0.012380416, 0.043066982, -0.28539032, -0.049011275, -0.21125022, -0.11976977, -0.015564958, 0.18880925, -0.0034812456) * go_2(-1.0, 1.0); - result += mat4(-0.05894521, 0.17266215, -0.0458901, 0.08049924, 0.0156061025, -0.0047465423, 0.09714626, 0.045990974, -0.08786066, -0.37803304, -0.19629405, -0.08546443, 0.014874948, 0.16931784, 0.24799919, 0.06316819) * go_2(0.0, -1.0); - result += mat4(-0.28352743, 0.29973608, -0.014540065, 0.2865005, 0.048086923, 0.18976144, 0.22969759, 0.1643124, -0.11259408, -0.107592925, 0.184308, 0.30998367, -1.0860825, -0.29118305, -0.51242536, -0.38492215) * go_2(0.0, 0.0); - result += mat4(-0.17199941, -0.14274743, -0.14213641, -0.1691383, -0.17294803, -0.013992068, -0.12135059, 0.082377024, -0.11255549, -0.124990575, -0.32526177, -0.08199375, -0.25591666, 0.1882329, 0.07895415, 0.22012262) * go_2(0.0, 1.0); - result += mat4(0.026025832, -0.07267515, 0.09738688, 0.074536435, -0.060470507, -0.037861936, 0.0507819, -0.054857653, 0.0043173633, -0.18107842, -0.02996759, 0.04072402, -0.012617744, 0.061665237, 0.0013981885, 0.08679919) * go_2(1.0, -1.0); - result += mat4(0.27913737, 0.39656082, 0.1579819, 0.2774727, -0.007996453, 0.08704765, -0.016933938, 0.07066135, 0.12361742, -0.20802726, -0.13705719, -0.18794124, 0.037409827, -0.03351758, -0.2970392, -0.11001984) * go_2(1.0, 0.0); - result += mat4(-0.027419567, 0.043236237, -0.19843115, -0.056489736, -0.017010912, 0.070949584, -0.14881176, -0.0780235, 0.0039477753, -0.16772608, -0.009547604, -0.14060417, 0.0103197545, 0.07129672, 0.034949142, 0.014112084) * go_2(1.0, 1.0); - result += mat4(-0.06467971, 0.084101565, 0.26296136, 0.08878442, -0.11232121, -0.054373942, -0.17263442, 0.046408508, 0.032239515, 0.042490713, 0.036938053, -0.034339923, -0.07139367, 0.032505415, 0.0045828503, 0.24428385) * go_3(-1.0, -1.0); - result += mat4(0.053585388, -0.08175568, -0.04787236, 0.06061965, -0.0740297, 0.11113596, -0.12467945, 0.08229154, -0.01941305, 0.12903687, 0.09095716, -0.13062255, -0.0102068605, 0.107291475, 0.030279635, 0.07464777) * go_3(-1.0, 0.0); - result += mat4(0.11041978, -0.0123585425, 0.11147018, 0.07380536, 0.06632908, 0.011784447, 0.029638765, -0.01566135, 0.009105331, 0.05252663, -0.17972581, 0.01210126, -0.10749957, -0.028144639, -0.105761215, 0.083784826) * go_3(-1.0, 1.0); - result += mat4(-0.058018316, 0.15083058, 0.2725673, 0.024263225, -0.067711554, 0.051117413, -0.31144425, -0.15761986, 0.017503206, -0.14361219, -0.38261738, -0.20354146, -0.04211545, 0.12921454, -0.01319619, 0.35809723) * go_3(0.0, -1.0); - result += mat4(-0.107978396, 0.3230084, -0.13806303, 0.12903036, 0.039864987, -0.006241628, 0.18701774, -0.10785807, 0.30056882, -0.3092082, -0.4273322, 0.3784662, -0.026107281, 0.23165871, 0.35258314, -0.06654702) * go_3(0.0, 0.0); - result += mat4(-0.15840323, 0.15210885, 0.04086692, 0.19169305, 0.11847602, 0.0009038581, 0.095951624, 0.043941673, 0.1512248, 0.0749449, -0.027045414, -0.19729601, 0.08265063, -0.045218006, -0.10732461, 0.05197371) * go_3(0.0, 1.0); - result += mat4(0.13637526, 0.28841978, 0.10298119, -0.005948496, 0.020897362, -0.02186902, -0.16207378, -0.021084815, 0.029192554, 0.07076991, -0.07210881, -0.06752328, 0.0006557475, 0.08986717, -0.29430988, 0.21411087) * go_3(1.0, -1.0); - result += mat4(0.18667863, 0.3117322, -0.0859705, -0.038189936, 0.10214859, -0.11244034, 0.2680223, -0.072901204, -0.07434324, -0.17855306, 0.23134363, -0.055360887, -0.020968167, 0.0858459, 0.078975916, 0.13254759) * go_3(1.0, 0.0); - result += mat4(-0.15676941, 0.03476677, -0.09922334, -0.15847856, -0.0033982224, 0.020932984, 0.12874377, 0.048792202, 0.06521213, 0.12456798, 0.15958112, 0.15981804, 0.07657683, 0.1759313, 0.012727211, 0.120304115) * go_3(1.0, 1.0); - result += vec4(0.08911729, -0.027969634, -0.010653148, -0.08001697); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.003206617, 0.04896987, 0.049652386, 0.10869342, 0.36313584, -0.070666805, 0.93581825, -0.52484274, -0.14278883, 0.064016834, -0.05534331, 0.02961736, -0.1319316, 0.05740655, 0.2405951, -0.12313382) * go_0(-1.0, -1.0); - result += mat4(0.014092832, 0.07058761, -0.07887866, -0.27478936, -0.31456405, -0.31036922, -0.18380909, -0.11277979, -0.034889866, -0.37914017, -0.056245584, 0.24008954, -0.03414483, -0.023189066, -0.010568316, -0.004604883) * go_0(-1.0, 0.0); - result += mat4(0.15443979, -0.050161768, -0.012300917, -0.08834887, 0.082193285, 0.06878423, 0.1478042, -0.3774468, -0.18659878, 0.14238152, 0.033605397, 0.13560006, -0.032682173, -0.024561955, 0.05656941, -0.034246165) * go_0(-1.0, 1.0); - result += mat4(0.04691462, 0.064624496, -0.15950382, 0.16081297, -0.1417951, -0.109690994, -0.021205869, 0.19361454, -0.006306647, 0.3401972, -0.00014070333, 0.11619607, -0.13437814, 0.05464789, 0.37712076, -0.12470751) * go_0(0.0, -1.0); - result += mat4(-0.40016884, 0.010666597, -0.005395378, 0.51084363, -0.009875391, 0.3969395, 0.47768033, -0.3392299, -0.1509509, -0.057620626, -0.1834601, -0.09998148, 0.10095897, -0.2213528, 0.02546703, -0.28506726) * go_0(0.0, 0.0); - result += mat4(0.26652217, -0.106772706, -0.12609608, -0.0949661, -0.10869194, -0.55331933, -0.011515521, -0.27978876, -0.2124893, 0.03954004, 0.1691768, 0.05590268, 0.1539662, 0.10703386, -0.027286088, 0.2168544) * go_0(0.0, 1.0); - result += mat4(-0.04862511, 0.06919758, -0.12962708, 0.016036907, -0.030030789, -0.20159967, 0.0013158675, -0.07799172, -0.032236706, -0.0035921712, -0.085437834, -0.025374755, -0.06251374, -0.009269627, -0.07519051, -0.01884611) * go_0(1.0, -1.0); - result += mat4(0.23940067, -0.19496065, -0.05494683, 0.11601073, -0.074225076, 0.24976431, 0.41665986, 0.12029472, 0.16815041, -0.115868434, 0.06333614, 0.032145746, 0.15990137, -0.14886795, 0.034102913, -0.07727595) * go_0(1.0, 0.0); - result += mat4(0.14702639, -0.013711502, 0.011437429, -0.11201445, -0.2582659, 0.34539905, 0.058082145, -0.18346462, 0.0027891365, 0.072565466, 0.12716974, 0.050636146, 0.092657596, 0.08541754, -0.1266164, 0.027881607) * go_0(1.0, 1.0); - result += mat4(0.043362036, 0.020758621, 0.09906072, -0.22401148, -0.19104514, -0.25774476, 0.074128486, 0.08558291, -0.075419895, 0.20380639, 0.06398196, 0.015925938, 0.089786015, -0.100721814, -0.1374862, 0.26110905) * go_1(-1.0, -1.0); - result += mat4(-0.12547149, 0.08151811, -0.15953775, -0.33995447, -0.50784314, 0.46155545, 0.24986996, 0.03404644, -0.047789436, -0.12438347, -0.14143273, -0.17951359, -0.08057819, 0.023863006, -0.008539273, -0.06775414) * go_1(-1.0, 0.0); - result += mat4(0.1430169, 0.056971863, -0.021576611, -0.045342956, -0.22356391, -0.15344621, -0.0467977, -0.22970036, -0.0125351725, 0.16957329, -0.0069183917, -0.013949834, -0.048609708, 0.05261722, 0.023262242, 0.2123519) * go_1(-1.0, 1.0); - result += mat4(-0.019523792, 0.008228363, -0.04616012, -0.14341992, -0.19307113, 0.005937241, 0.24048887, -0.04279845, 0.022574252, 0.15558265, -0.035000063, 0.18318397, -0.05392528, -0.26044658, -0.13493988, 0.056433514) * go_1(0.0, -1.0); - result += mat4(-0.28926027, -0.17381874, 0.07685766, -0.0061521684, -0.47455552, -0.49213487, 0.36924496, 0.29042044, 0.201094, -0.14280887, -0.4531411, -0.52902204, -0.28123, 0.1401882, 0.32054895, -0.11357518) * go_1(0.0, 0.0); - result += mat4(0.14173324, -0.12069898, -0.07242415, 0.105665006, 0.017373435, -0.056042343, 0.07270201, 0.022111928, -0.01106541, 0.01666006, 0.013564169, -0.36628693, -0.25450787, -0.28179473, -0.04721874, -0.21912882) * go_1(0.0, 1.0); - result += mat4(-0.09464695, -0.027919646, 0.13088459, 0.17504032, -0.101641014, 0.29687008, 0.08832321, 0.020538324, -0.15108941, -0.21930224, -0.026915176, -0.07078217, 0.10723033, 0.034364715, 0.18183397, -0.119012214) * go_1(1.0, -1.0); - result += mat4(-0.21713468, -0.0846604, 0.046551514, -0.14989382, 0.08672032, -0.07933831, 0.08093595, -0.064147756, -0.15980323, 0.50000644, -0.091568656, 0.03201994, -0.1848647, -0.0646309, 0.03288009, 0.046442386) * go_1(1.0, 0.0); - result += mat4(0.053532355, -0.054523747, -0.040242642, -0.31438905, 0.06452703, -0.18785381, -0.14987698, -0.067642935, -0.19892459, -0.057256676, 0.05943023, -0.17331842, 0.02588534, 0.13134238, -0.07121775, 0.23446162) * go_1(1.0, 1.0); - result += mat4(0.20633182, 0.01686198, 0.17934167, -0.02063493, 0.042606052, -0.05289458, 0.031508356, 0.00082803797, 0.0756423, -0.047548845, 0.01456339, 0.15910533, -0.20119642, 0.029213727, 0.111036316, -0.047010012) * go_2(-1.0, -1.0); - result += mat4(0.09258436, -0.27904224, -0.086695746, 0.33095327, -0.20126075, -0.050745636, -0.048944805, -0.10536587, -0.012995092, 0.07926994, 0.15071853, -0.13644052, -0.05188447, -0.06750699, -0.14227037, 0.028751127) * go_2(-1.0, 0.0); - result += mat4(-0.18562223, 0.10250865, -0.17573993, 0.20434102, -0.05187468, -0.06441594, -0.052127104, -0.01925564, 0.02927959, -0.12711872, 0.059629507, 0.15696885, -0.010168965, 0.09971862, -0.03177664, -0.022744441) * go_2(-1.0, 1.0); - result += mat4(0.21474063, -0.15679085, 0.09609374, 0.109079376, -0.049934637, -0.07393633, 0.16688468, -0.018888129, 0.04240162, -0.31895876, -0.106516436, 0.20008606, -0.054410245, 0.028970616, -0.18008347, -0.013362003) * go_2(0.0, -1.0); - result += mat4(0.37891293, 0.042730846, -0.24735828, -0.5234527, -0.3681344, -0.06609157, -0.14993733, -0.020316398, 0.123008475, 0.29632482, 0.32149333, 0.35999274, -0.18967044, 0.46154186, -0.016041815, 0.097378336) * go_2(0.0, 0.0); - result += mat4(-0.14873263, 0.07600569, -0.051758345, 0.1803135, -0.23121934, 0.13574593, 0.043973465, -0.13992754, -0.061972607, -0.124083005, -0.049196843, -0.07700431, 0.21572952, -0.25241727, 0.1218322, -0.07773728) * go_2(0.0, 1.0); - result += mat4(0.040287063, 0.024240922, 0.021917762, -0.050616946, -0.023174169, 0.05977014, 0.018892275, 0.04014965, 0.11715485, 0.062129, 0.024620812, 0.013617107, 0.075699426, 0.1858111, -0.11769179, -0.08085602) * go_2(1.0, -1.0); - result += mat4(-0.3194255, 0.08695645, -0.09453595, 0.2564516, 0.02192303, 0.08167247, -0.06257352, 0.043801844, 0.04392246, 0.2020571, 0.045180902, 0.18857521, 0.1835961, -0.043788187, -0.08768916, -0.14755538) * go_2(1.0, 0.0); - result += mat4(-0.22074097, 0.13768476, -0.16183749, 0.059949517, -0.011375954, 0.08581876, 0.004800447, 0.019403988, 0.014646056, 0.07363176, -0.058036458, 0.0706421, 0.08082624, 0.17740329, -0.05484784, 0.050796065) * go_2(1.0, 1.0); - result += mat4(-0.032330472, -0.067666024, 0.18980837, -0.19077848, 0.1111905, 0.03855666, -0.11272314, -0.00577739, 0.17697452, -0.053044144, -0.07510145, 0.061853852, -0.024240626, 0.14846492, 0.14804313, -0.20275854) * go_3(-1.0, -1.0); - result += mat4(0.17133904, -0.16356844, 0.1978664, 0.13877816, 0.28208038, 0.031539194, 0.11313891, -0.0014802719, 0.0033749861, 0.046372313, 0.054808807, -0.0024151779, 0.0068782056, -0.16414621, -0.07545907, -0.2521294) * go_3(-1.0, 0.0); - result += mat4(-0.1746992, -0.037628956, -0.0044012754, -0.004390821, 0.0050341445, -0.112742625, 0.051241755, 0.01984483, 0.0003531837, 0.043500375, 0.030881992, 0.003503799, 0.13611782, -0.02509031, -0.007503557, -0.009321301) * go_3(-1.0, 1.0); - result += mat4(0.087250136, 0.12374122, 0.2959519, 0.11314702, 0.22080182, 0.106726184, -0.29768205, 0.14931595, 0.23356548, -0.008709153, -0.0797829, 0.046940215, -0.07027616, 0.20533602, 0.0723021, -0.1963585) * go_3(0.0, -1.0); - result += mat4(0.00609982, 0.35277408, -0.22781096, -0.28912535, 0.42393112, -0.07654207, 0.12636793, 0.049337976, -0.0967726, -0.19349189, 0.36800626, 0.09745645, 0.47663373, 0.03876107, -0.042987954, 0.016161885) * go_3(0.0, 0.0); - result += mat4(-0.047490966, -0.05823166, 0.036158644, 0.025337253, -0.046618905, 0.108276576, -0.024148034, 0.0026794411, 0.1497962, -0.09328474, -0.03160641, 0.24351281, -0.05198027, 0.030720685, 0.00014528916, -0.2224931) * go_3(0.0, 1.0); - result += mat4(-0.007338369, 0.18710312, 0.14617369, -0.0070655346, 0.10464997, -0.029674934, -0.11842202, -0.09114357, 0.08524458, -0.08082762, 0.06479597, -0.023760766, 0.07523641, 0.0067315935, 0.101266846, -0.2780903) * go_3(1.0, -1.0); - result += mat4(0.14181875, -0.19523518, 0.1068169, -0.10284853, 0.11634046, -0.117397435, 0.09113022, 0.009371062, -0.022120507, -0.1127032, 0.092574745, -0.021989716, -0.088107705, -0.13541982, 0.08130504, -0.0678927) * go_3(1.0, 0.0); - result += mat4(0.09948295, 0.23699793, -0.042369924, 0.16744529, -0.10045506, -0.045623623, 0.04871897, -0.0023967526, 0.02602692, -0.089873284, -0.050681606, -0.09332558, -0.09596149, -0.06988313, 0.0007193808, -0.11936899) * go_3(1.0, 1.0); - result += vec4(-0.04928105, -0.003357327, -0.03886671, 0.076106146); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13425097, -0.23487093, 0.2480183, -0.2806276, -0.041303713, 0.100773126, -0.110890545, 0.036205858, -0.331331, -0.12929262, 0.16300063, 0.3776673, -0.20316373, -0.011239426, 0.10650887, -0.027857736) * go_0(-1.0, -1.0); - result += mat4(0.09517376, -0.3004956, 0.05033304, -0.07464521, 0.009204248, -0.23034886, 0.30492118, -0.1215848, 0.15728685, -0.10430078, 0.04038878, 0.08034804, 0.04320418, -0.2929594, -0.018968396, 0.02542387) * go_0(-1.0, 0.0); - result += mat4(-0.10651935, -0.2736715, 0.19267319, -0.033337504, -0.06697293, 0.028424729, 0.047814637, 0.44929537, 0.02565344, -0.253426, -0.040931404, -0.05018104, 0.032979824, -0.035349697, -0.039578713, -0.3116414) * go_0(-1.0, 1.0); - result += mat4(0.09176126, 0.031713437, 0.24861507, 0.31351718, 0.36284143, 0.3622709, 0.16165464, 0.07319267, -0.6303202, -0.21209712, -0.02169929, 0.037275597, -0.1295319, 0.033090707, -0.029330662, 0.054679472) * go_0(0.0, -1.0); - result += mat4(0.15021572, -0.15177831, 0.1318225, 0.46864823, 0.059443284, 0.07404233, 0.22612074, 0.21105285, 0.319694, 0.09397257, 0.14277866, -0.0235649, -0.037205156, -0.40715128, -0.18572816, 0.058741573) * go_0(0.0, 0.0); - result += mat4(-0.122751735, -0.20926422, 0.2099333, -0.11627138, 0.04171681, 0.0669586, -0.03831368, 0.27334675, 0.0492008, 0.12854317, 0.03308622, 0.45236585, 0.03122829, 0.13853219, 0.05084764, -0.3965012) * go_0(0.0, 1.0); - result += mat4(-0.0019293908, -0.15562099, 0.12418126, 0.0045440597, 0.05442391, -0.15613738, 0.14828286, -0.17687118, -0.053517755, -0.33350968, -0.062314924, -0.31358472, -0.09670371, 0.043190923, 0.008150662, 0.09928506) * go_0(1.0, -1.0); - result += mat4(-0.06698031, -0.099411525, 0.24259582, -0.1073659, 0.06762824, 0.059605874, -0.20944163, -0.1598055, 0.32746908, -0.17759447, 0.2859796, -0.1274256, 0.30796206, -0.00791448, 0.114059694, 0.14775705) * go_0(1.0, 0.0); - result += mat4(0.16291203, -0.14958477, 0.14716864, 0.2056065, -0.019337546, 0.032286238, 0.0030445335, -0.08208513, -0.14208078, 0.13601872, -0.23367858, -0.19092909, -0.20207883, -0.016950991, 0.009309007, 0.1376546) * go_0(1.0, 1.0); - result += mat4(-0.11093091, -0.32362202, -0.041845415, 0.029758021, -0.07261404, -0.048653398, 0.19167832, 0.09343212, 0.030472826, -0.15078579, -0.0056376588, 0.0045257527, -0.24521805, -0.10473077, 0.11163019, -0.1724187) * go_1(-1.0, -1.0); - result += mat4(-0.08601668, 0.16612485, -0.07751539, 0.07261594, -0.19028407, 0.23896623, -0.10416726, 0.23500614, 0.1955228, 0.08699591, -0.049277775, 0.13447775, 0.19434914, -0.11481196, 0.088043146, 0.13352895) * go_1(-1.0, 0.0); - result += mat4(-0.013221233, 0.07521129, 0.042819552, -0.11163175, 0.066080205, -0.25043094, -0.010348969, -0.013258202, 0.09444396, 0.29623637, 0.025016114, 0.050744686, -0.12219596, -0.0735393, -0.024817836, -0.06897588) * go_1(-1.0, 1.0); - result += mat4(-0.25720942, 0.19861753, -0.18535058, 0.12190362, -0.33756095, -0.0038898317, 0.09739055, 0.41227046, -0.10030796, 0.025445882, -0.23542109, 0.08677691, 0.08140194, -0.22716106, 0.14016968, -0.0927231) * go_1(0.0, -1.0); - result += mat4(0.58745646, -0.12533307, 0.30129984, 0.08898194, -0.07972344, -0.37581098, 0.06863413, -0.13185541, 0.21801205, 0.31779078, -0.3804784, -0.3200699, 0.14534226, 0.05912262, 0.07938948, -0.34869507) * go_1(0.0, 0.0); - result += mat4(0.024675166, -0.067802526, 0.030065436, 0.06509131, 0.14367498, 0.022554757, 0.014991865, -0.029914752, 0.5123549, -0.012557206, -0.13014166, -0.34184244, -0.09080884, 0.13782553, -0.018931886, -0.35642785) * go_1(0.0, 1.0); - result += mat4(-0.37336427, -0.02705006, 0.14392053, 0.024049882, -0.024705589, 0.14556128, -0.12120506, -0.06275598, -0.1284325, 0.11409197, -0.08397436, -0.075944416, 0.056465942, 0.04016099, 0.096723564, -0.08359723) * go_1(1.0, -1.0); - result += mat4(0.20243345, -0.09287934, -0.11676041, 0.005206654, -0.2879361, 0.41677123, -0.16924824, 0.22429213, 0.082279116, -0.1780833, 0.20209241, 0.12970525, -0.030272234, -0.19200714, 0.0015769673, -0.1389732) * go_1(1.0, 0.0); - result += mat4(0.04211243, 0.07331798, -0.055724114, 0.04086206, -0.04635456, 0.027212424, 0.021861525, 0.12424812, 0.43009162, 0.021664696, 0.20828371, 0.11859106, 0.07390811, -0.1861182, 0.034559406, 0.18561925) * go_1(1.0, 1.0); - result += mat4(0.22596797, 0.025346763, -0.056839246, 0.09137385, 0.07363095, -0.12382036, 0.08911783, -0.012355983, -0.07869761, 0.051298574, 0.00816572, -0.044984274, 0.07962154, -0.2254524, -0.007821531, -0.04936664) * go_2(-1.0, -1.0); - result += mat4(0.06265961, -0.17783198, 0.11678783, -0.12965304, 0.014506855, -0.17513473, -0.23593299, 0.14054537, 0.1580306, 0.31872272, -0.0042505316, -0.070422255, -0.01316396, 0.0058355615, 0.062464185, -0.06086727) * go_2(-1.0, 0.0); - result += mat4(-0.079526044, 0.23932967, -0.1139716, 0.15888569, 0.06526993, -0.06958436, -0.04070066, -0.12081254, 0.026716579, 0.014887845, 0.0061467467, 0.127956, 0.040913627, -0.0032820841, 0.086145625, 0.22520025) * go_2(-1.0, 1.0); - result += mat4(0.25577608, 0.02553098, -0.14822578, -0.11907723, -0.09787419, -0.03544863, -0.08098151, -0.01305555, 0.20404844, 0.11294246, 0.10096346, 0.15795162, 0.2554626, 0.09361069, 0.001985862, -0.0051444587) * go_2(0.0, -1.0); - result += mat4(-0.24454486, -0.014714279, -0.2954907, -0.39995646, -0.15907967, 0.30107877, -0.34781745, 0.095281735, -0.12492393, -0.28375402, -0.16872306, 0.2531788, -0.52085644, 0.35986066, 0.07716912, 0.09565738) * go_2(0.0, 0.0); - result += mat4(0.2493129, 0.06395661, -0.09491958, 0.19702488, 0.109871864, -0.051376317, 0.15404263, -0.21282886, 0.1188967, 0.07824094, -0.016752928, -0.14027214, 0.10949832, -0.27629098, 0.081909016, 0.1354018) * go_2(0.0, 1.0); - result += mat4(0.18950915, -0.034574565, -0.10378051, -0.15800652, -0.06835184, -0.06987467, 0.035007782, 0.04686656, 0.054061133, 0.014833506, -0.0035361175, 0.016156103, 0.120767444, -0.10196722, 0.10668838, -0.09058739) * go_2(1.0, -1.0); - result += mat4(-0.032248627, 0.056413256, 0.042716432, 0.06681831, 0.047605485, -0.07629479, 0.14311917, -0.06909803, 0.10640394, 0.10701861, -0.0051839007, -0.15133362, -0.32146424, -0.039978918, -0.12280021, 0.0048507582) * go_2(1.0, 0.0); - result += mat4(-0.1954503, -0.09257865, 0.11023244, -0.01817947, -0.0035485283, -0.015536726, 0.0071826433, 0.042538714, -0.015454641, 0.079593316, -0.07242554, 0.031178504, 0.2319168, -0.10519467, 0.013837495, -0.040088437) * go_2(1.0, 1.0); - result += mat4(0.12625901, 0.04531166, 0.038758352, -0.05790713, -0.10029771, -0.118265375, -0.23944628, 0.11955388, 0.070732996, 0.19404806, -0.019913414, 0.04609079, 0.06262817, 0.022330387, -0.029681094, 0.03719176) * go_3(-1.0, -1.0); - result += mat4(-0.07737922, 0.0024623116, -0.037666153, -0.19271135, -0.015002153, -0.0059966356, 0.0024538909, -0.0401021, -0.18540399, -0.11140236, -0.11102473, -0.06390247, 0.016754225, 0.35000673, -0.19139731, 0.07363001) * go_3(-1.0, 0.0); - result += mat4(0.02150171, -0.2311761, -0.025124706, 0.16819553, -0.0013348719, 0.32091036, -0.061826598, 0.12579474, -0.036611024, -0.018266583, -0.11280143, 0.11073158, 0.050171874, -0.14706045, 0.029553955, 0.0052631944) * go_3(-1.0, 1.0); - result += mat4(0.19249865, -0.22854832, 0.09472751, 0.014705341, 0.059496958, 0.13427268, -0.06309558, -0.07153743, -0.31890163, -0.0657967, -0.040345218, 0.09544393, 0.07359761, 0.11245483, 0.00033233972, 0.031550154) * go_3(0.0, -1.0); - result += mat4(-0.24668917, -0.37181908, -0.50614715, -0.101197146, -0.1569055, 0.27734125, 0.17144768, -0.04336267, 0.03658949, 0.06747124, 0.30720958, 0.56301194, -0.11314631, -0.29258573, 0.16256689, 0.5221001) * go_3(0.0, 0.0); - result += mat4(-0.022761503, 0.13063031, 0.002526217, -0.03466151, -0.15225072, 0.40217137, -0.089131154, 0.19195192, -0.1379853, -0.04640692, 0.104670234, 0.12268618, -0.012009209, -0.20534724, 0.028777445, 0.22195113) * go_3(0.0, 1.0); - result += mat4(0.23697586, 0.08793654, -0.10565018, 0.013993297, -0.025932996, -0.13859354, 0.14333159, -0.099132575, -0.049601994, -0.0917448, -0.0021633878, -0.009032609, -0.034750953, -0.30761167, 0.058994945, -0.19427797) * go_3(1.0, -1.0); - result += mat4(-0.26944515, 0.30523893, -0.17787015, 0.10827742, 0.06457236, -0.12202401, 0.15371302, 0.011699893, -0.06253491, -0.10976804, -0.37283847, -0.23996784, -0.2750512, -0.024101513, -0.094127975, -0.17462716) * go_3(1.0, 0.0); - result += mat4(-0.026286924, 0.06250577, 0.095423855, -0.02849258, -0.12916361, -0.10954709, -0.05825132, -0.102924265, -0.19550376, -0.11730307, 0.032346163, -0.17682706, 0.16651174, 0.031927045, -0.004800601, -0.06323844) * go_3(1.0, 1.0); - result += vec4(0.0095873345, 0.04959374, -0.15246227, 0.0044831373); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.021453971, -0.108874515, 0.0005208881, -0.09774453, -0.0053757126, 0.20114918, 0.24454592, 0.04932251, -0.0037210248, -0.0240578, -0.07736935, 0.27604944, -0.12430849, -0.13093218, -0.014840212, 0.13450128) * go_0(-1.0, -1.0); - result += mat4(-0.19143668, -0.23023333, -0.10232715, 0.24396868, 0.056112397, 0.14535592, -0.25882182, -0.26274678, -0.23119931, 0.07735849, -0.14785223, -0.21026523, -0.2064457, -0.34512606, -0.17808662, 0.30146623) * go_0(-1.0, 0.0); - result += mat4(0.0072161015, -0.013303738, 0.07591899, 0.027883789, 0.210858, 0.1422139, -0.027882019, 0.2618474, -0.048504543, 0.07377317, -0.05427271, -0.10014041, -0.12974857, -0.13140713, -0.02249253, 0.08203184) * go_0(-1.0, 1.0); - result += mat4(0.07855138, -0.13984342, 0.10037151, -0.056781758, 0.24686107, -0.0048190085, -0.2693424, 0.31722167, -0.28716075, -0.06422215, -0.06738793, -0.06723655, -0.08194382, -0.007975044, 0.20108353, -0.13338897) * go_0(0.0, -1.0); - result += mat4(0.35129568, 0.27930936, 0.024239251, -0.10712293, 0.48684034, -0.04380574, -0.0064479653, 0.03754327, -0.13139078, -0.44939983, -1.0460628, -0.016004754, -0.14476573, -0.07113434, 0.515311, -0.400374) * go_0(0.0, 0.0); - result += mat4(0.13104302, -0.23410062, 0.091530964, -0.003652217, 0.16696814, 0.16406855, -0.08138474, 0.047526445, 0.25358474, 0.37850454, 0.0362802, -0.046476766, -0.093869686, -0.4143772, 0.08641024, 0.115896136) * go_0(0.0, 1.0); - result += mat4(-0.04416574, -0.052188106, 0.05141859, -0.008132604, -0.013658864, 0.1021097, 0.19391364, -0.09257973, 0.15225394, -0.16920799, -0.16172324, 0.41466942, -0.07087308, 0.08632938, -0.07496043, -0.023530172) * go_0(1.0, -1.0); - result += mat4(0.09337352, 0.062108494, -0.219173, -0.046151914, 0.22507025, -0.08966131, -0.123690315, 0.08666376, -0.10731867, -0.08518657, 0.024199447, 0.17898631, 0.120247275, 0.089923285, -0.08756211, 0.1775775) * go_0(1.0, 0.0); - result += mat4(0.20326594, -0.060535498, -0.061659336, 0.113954924, -0.073462196, 0.15917051, 0.11728326, -0.072256014, -0.0752342, 0.06265616, -0.19494365, -0.25413772, -0.06641352, -0.015642308, 0.16825356, 0.0027654327) * go_0(1.0, 1.0); - result += mat4(-0.17029639, -0.05388927, -0.13159063, 0.0795609, 0.00501164, -0.0703107, -0.08229201, 0.07546247, 0.092942156, 0.059050936, -0.07987315, 0.010874322, 0.037708692, -0.0017377702, -0.030414931, 0.28946167) * go_1(-1.0, -1.0); - result += mat4(-0.2692667, 0.2258295, 0.062060453, 0.1934921, -0.023051793, -0.038611185, 0.21473692, 0.33520013, 0.029885106, 0.103782356, 0.05217351, -0.13349791, -0.034186684, -0.3015818, 0.033423528, 0.21218027) * go_1(-1.0, 0.0); - result += mat4(-0.013587494, 0.021273775, -0.022650799, -0.011939531, -0.11202949, 0.09365859, -0.042938907, -0.009910716, 0.27254924, 0.07752608, 0.029586637, 0.024899973, 0.04375618, 0.31453863, -0.006775175, 0.008228053) * go_1(-1.0, 1.0); - result += mat4(-0.49562672, -0.12472124, -0.13618441, 0.09660054, -0.2275429, -0.0902811, 0.18311924, 0.11677185, -0.13325182, -0.061613016, -0.011462703, -0.12538978, 0.054934092, 0.06742866, 0.25515345, 0.35692096) * go_1(0.0, -1.0); - result += mat4(0.5266911, -0.09655596, -0.41069564, -0.3174325, 0.1431904, -0.17732115, -0.36320353, 0.37975433, -0.5158582, -0.21019879, 0.06852925, -0.06648648, -0.18956456, -0.018139647, 0.35707653, 0.07378416) * go_1(0.0, 0.0); - result += mat4(0.04151976, -0.037361674, 0.06936584, -0.10462262, -0.22264048, -0.043842267, -0.12742832, -0.21778631, 0.0715335, -0.17921853, -0.3856251, -0.16335362, 0.21045755, -0.5026229, 0.14405337, 0.23096423) * go_1(0.0, 1.0); - result += mat4(-0.32437655, 0.07860345, -0.0021187086, 0.123870686, -0.16616751, 0.11004699, 0.04754715, -0.0075211064, -0.08026408, 0.04284957, -0.018143758, 0.032623176, 0.06614686, -0.035856936, 0.13667971, -0.15696613) * go_1(1.0, -1.0); - result += mat4(0.11260625, 0.03274457, -0.033769324, -0.11558525, -0.35377702, 0.0019119612, 0.24906515, -0.06853208, 0.0009843144, -0.0050376705, 0.063123666, 0.009872904, 0.19592324, 0.0028321196, -0.114693984, 0.16404222) * go_1(1.0, 0.0); - result += mat4(-0.03699667, 0.011842293, -0.12273219, 0.04081692, 0.008484447, -0.052331816, 0.07151068, 0.018538639, 0.077749036, 0.07189092, 0.22443593, -0.2436085, 0.023654116, -0.05127411, 0.27350748, 0.12180999) * go_1(1.0, 1.0); - result += mat4(0.16090482, 0.059198547, 0.04856637, -0.19173436, 0.12747662, -0.079715036, -0.20203276, -0.13818277, -0.123076215, -0.07168488, 0.0644838, 0.03524764, 0.0005124138, -0.06789178, 0.048645556, -0.098922126) * go_2(-1.0, -1.0); - result += mat4(0.29220074, 0.25197285, 0.09825887, 0.030363245, -0.033246458, -0.08370418, -0.12231589, -0.023000835, 0.082732, -0.16907515, -0.052518822, 0.07991363, 0.06222654, -0.06747275, -0.18931144, -0.42009747) * go_2(-1.0, 0.0); - result += mat4(0.02667354, 0.03842717, -0.012755562, 0.061840586, 0.01060547, -0.29081437, 0.010907111, 0.07930905, 0.12273201, 0.017574295, 0.051024225, 0.019036688, 0.07671181, 0.049130872, -0.09734168, -0.070569195) * go_2(-1.0, 1.0); - result += mat4(0.08517651, 0.0767222, -0.15657257, 0.18501835, -0.13749431, -0.2833894, 0.109219365, 0.033763003, 0.18988928, 0.13461404, -0.036578514, -0.13256857, -0.097819485, -0.17316358, -0.06512401, 0.1937444) * go_2(0.0, -1.0); - result += mat4(-0.32173568, -0.072075866, 0.13004705, -0.15507852, -0.23741087, -0.29364398, 0.10723945, -0.11976219, 0.20620506, 0.17970093, 0.24463713, -0.12555319, -0.021192182, -0.1374317, 0.5359718, 0.59974134) * go_2(0.0, 0.0); - result += mat4(-0.01101575, 0.040466793, -0.009630791, 0.13422947, -0.13290837, -0.24789505, -0.061713737, -0.07838521, 0.05379315, -0.14643523, -0.09155805, -0.049997047, 0.06696885, 0.20043123, -0.07542329, -0.08041673) * go_2(0.0, 1.0); - result += mat4(0.022160506, 0.01611432, -0.10189221, -0.022767285, -0.06682965, 0.047138248, 0.06860934, -0.012574086, 0.04010214, -0.041280016, -0.034621384, -0.018262599, 0.09731754, -0.059062295, 0.14786182, -0.15185094) * go_2(1.0, -1.0); - result += mat4(-0.052484483, 0.06899427, 0.18380043, -0.058414727, 0.07685985, -0.07206598, -0.101362616, -0.012002652, 0.008517392, 0.079471916, -0.30394664, 0.028600946, -0.03270232, -0.23564856, 0.045065008, -0.0034684737) * go_2(1.0, 0.0); - result += mat4(-0.049757, 0.07614825, 0.16394803, 0.027053174, 0.0451278, -0.09351286, -0.0042182617, 0.12332257, -0.025281021, -0.03843008, 0.12857373, -0.07611989, -0.0062898803, 0.022618141, -0.13122174, -0.03328411) * go_2(1.0, 1.0); - result += mat4(0.12251631, 0.047008447, 0.027589995, -0.12207328, -0.1510795, 0.06724553, 0.17066906, 0.16992114, -0.0026905634, -0.035480864, 0.033738773, 0.018674552, 0.028614907, -0.019945908, -0.0156899, -0.09562145) * go_3(-1.0, -1.0); - result += mat4(0.116588935, 0.14205505, 0.099545434, -0.045527786, -0.049273346, 0.20760757, 0.053965498, -0.12198069, -0.14654607, 0.041820496, 0.038068503, 0.24565905, 0.09786504, 0.18309233, 0.23802327, -0.085740186) * go_3(-1.0, 0.0); - result += mat4(-0.1262052, -0.011846116, -0.058820397, -0.019373653, -0.09569547, -0.08265971, -0.05178388, -0.020502446, -0.17525336, -0.22874829, 0.0075891856, -0.189923, 0.09809122, 0.109637566, -0.0005973885, -0.06477921) * go_3(-1.0, 1.0); - result += mat4(0.28209856, 0.11276813, 0.054377034, -0.00891202, -0.095922634, 0.071109876, -0.039932176, -0.047409832, -0.06504704, 0.11923986, 0.0013364811, -0.122095086, -0.20282102, -0.022717483, -0.115474045, 0.020858249) * go_3(0.0, -1.0); - result += mat4(-0.16130303, 0.072821185, -0.021358958, -0.11687897, -0.15543966, 0.05783285, 0.10317231, -0.12240756, 0.053357504, -0.090291016, -0.21943556, 0.46947235, 0.19072579, 0.017349033, -0.55443907, -0.10510661) * go_3(0.0, 0.0); - result += mat4(-0.4155687, 0.019206723, -0.20055711, 0.028732464, -0.1981807, 0.20637372, 0.03305817, -0.17949893, -0.21051097, 0.21483344, 0.0061496794, -0.48980987, -0.26750582, 0.09230394, -0.117223755, -0.07636286) * go_3(0.0, 1.0); - result += mat4(0.20611528, -0.00095511036, -0.21555157, -0.07065484, 0.06880411, 0.068082534, -0.10104979, 0.16050354, -0.07437897, -0.13145325, -0.017651044, 0.055096775, -0.05443345, -0.018634815, -0.011232755, -0.10835) * go_3(1.0, -1.0); - result += mat4(-0.2637829, 0.07681072, 0.015995527, 0.004554211, 0.07495561, 0.18873464, -0.14303622, 0.25786543, -0.14117226, -0.008715274, -0.17176823, -0.0006595096, -0.06566383, -0.19184378, -0.18945406, 0.20968987) * go_3(1.0, 0.0); - result += mat4(-0.03293623, 0.003399063, 0.08051177, -0.0072856937, -0.07375858, 0.075319655, -0.10791501, -0.002204552, -0.093564905, -0.122712255, -0.10658267, -0.015067637, -0.033247817, 0.09952069, -0.13724248, 0.068189256) * go_3(1.0, 1.0); - result += vec4(-0.001935585, 0.05018077, -0.0154469935, -0.034524206); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0053346683, 0.010174534, -0.050979972, -0.06134544, -0.007238652, -0.012790015, 0.036398683, -0.09181499, 0.11328388, -0.14236617, -0.17519625, -0.34661606, 0.008069393, -0.028871074, -0.02980949, -0.0853359) * go_0(-1.0, -1.0); - result += mat4(-0.05187267, -0.09381704, 0.035209883, 0.29482442, -0.0018002815, -0.029504262, 0.2609028, -0.09480671, -0.0737553, -0.070559524, 0.081991084, 0.1513024, 0.048344653, -0.09336617, 0.0034569732, 0.10530542) * go_0(-1.0, 0.0); - result += mat4(-0.06749591, 0.0065624053, 0.013237342, 0.14225115, 0.27183163, -0.15656447, 0.031672053, 0.009592649, -0.0202286, 0.26220062, 0.19387855, -0.18505628, 0.040554795, 0.07295961, -0.13291295, -0.12600344) * go_0(-1.0, 1.0); - result += mat4(0.039192002, 0.0846215, -0.06593224, 0.28147796, 0.06301313, 0.26323164, -0.16742979, 0.22004774, -0.17470881, 0.060716614, 0.15430811, 0.18970133, 0.08858931, -0.027321626, -0.037833836, 0.07344837) * go_0(0.0, -1.0); - result += mat4(0.0633813, 0.35046157, -0.101075254, 0.015974075, 0.19010352, -0.7135035, -0.24324696, -0.42072615, 0.06825536, -0.052808974, 0.28965715, -0.0015640302, -0.27062586, 0.4279925, 0.035623744, 0.46321228) * go_0(0.0, 0.0); - result += mat4(0.02639867, 0.26469797, -0.09086266, 0.07440796, -0.192054, 0.1010368, -0.04398074, 0.056824226, -0.27057743, -0.20455118, 0.19338831, -0.21843775, 0.20736177, -0.26259273, -0.07667085, -0.19504389) * go_0(0.0, 1.0); - result += mat4(-0.007056104, 0.04284205, 0.01933733, 0.07267832, 0.0012616975, -0.30140647, -0.019223223, -0.046687007, -0.037844718, -0.014929125, 0.022630794, 0.046716493, 0.057279173, -0.08055539, -0.027891241, 0.019557232) * go_0(1.0, -1.0); - result += mat4(0.035518404, -0.10087327, 0.0011048123, -0.123707846, 0.37190285, 0.43751532, -0.022599256, -0.041709043, 0.11357196, -0.029839104, -0.056960747, -0.17228557, 0.08558022, 0.046361133, 0.021548864, 0.24297418) * go_0(1.0, 0.0); - result += mat4(-0.043598346, -0.09812348, 0.056599542, -0.09833163, -0.07193007, 0.015760094, -0.053177495, -0.015448543, 0.035163186, -0.03889347, 0.121799015, 0.15738566, -0.115644835, 0.043310717, 0.060173217, -0.059635755) * go_0(1.0, 1.0); - result += mat4(-0.111604795, 0.1678389, 0.049967546, 0.045353863, -0.013896185, 0.035128903, 0.040686198, -0.16442506, 0.1149577, -0.14343217, -0.08858, 0.02656137, 0.059526477, -0.13914491, 0.12757027, 0.034920372) * go_1(-1.0, -1.0); - result += mat4(0.15849945, 0.12067003, -0.1579611, 0.30790725, -0.041249942, 0.03948043, -0.12535375, -0.02566875, 0.3150059, 0.027081972, -0.026308673, -0.25326517, 0.016824603, -0.13551097, 0.1412756, 0.037750524) * go_1(-1.0, 0.0); - result += mat4(0.1562541, -0.041948073, -0.14951487, 0.119380556, -0.21773878, -0.019281754, 0.08185942, 0.09982689, 0.017187534, -0.18181366, -0.09270861, 0.08527679, 0.051988564, 0.08686172, -0.12665209, -0.07205808) * go_1(-1.0, 1.0); - result += mat4(0.08860466, -0.17931758, 0.10191625, -0.47623265, 0.1562338, -0.2960855, 0.013664795, 0.29452285, 0.1463958, 0.17562817, -0.41623253, -0.196999, -0.049113005, 0.0556021, 0.054452494, 0.14073615) * go_1(0.0, -1.0); - result += mat4(-0.5345973, -0.069205046, 0.37001884, 0.6955835, 0.22635284, -0.09021557, -0.04693607, -0.4458824, 0.25049326, -0.06503396, 0.07584689, 0.5394811, 0.33387923, -0.010540017, 0.038980547, -0.13371105) * go_1(0.0, 0.0); - result += mat4(-0.04414677, -0.22056313, 0.05580458, 0.11914465, 0.19864987, -0.1025625, -0.010050287, 0.15919746, -0.40589634, 0.4966349, -0.47632688, -0.022637444, 0.17247641, -0.51093113, 0.21157944, -0.2890017) * go_1(0.0, 1.0); - result += mat4(-0.034673482, -0.0075900992, -0.061077584, -0.03859898, 0.32444152, -0.14619137, -0.1375446, -0.030322462, 0.029679669, 0.079344586, -0.03862258, -0.05766807, 0.104488336, 0.006179548, -0.1168102, 0.069729604) * go_1(1.0, -1.0); - result += mat4(0.08504003, 0.042162962, -0.17509954, -0.06258286, -0.45796555, -0.061748773, 0.25438437, -0.02988987, -0.06897794, 0.105180845, -0.08879189, -0.120605074, -0.1478659, -0.13201937, -0.01755498, 0.020606143) * go_1(1.0, 0.0); - result += mat4(0.08932581, 0.1453785, -0.12802933, 0.049442187, 0.045360584, 0.16079827, -0.14142223, 0.10168491, 0.20244479, -0.17981426, 0.19759466, 0.05217847, 0.04889828, 0.06941533, -0.111836776, -0.08046399) * go_1(1.0, 1.0); - result += mat4(-0.011953735, 0.11362504, -0.122588776, -0.10408559, 0.051712614, -0.05161036, -0.068698496, -0.015663281, -0.06346889, 0.06561636, 0.03783044, 0.02756004, -0.036310352, -0.16962235, -0.062494226, 0.0069608325) * go_2(-1.0, -1.0); - result += mat4(-0.16857432, -0.17322211, 0.15971284, 0.19980437, -0.007965961, -0.015480705, 0.036090557, 0.07414387, -0.2941106, -0.24430539, 0.01070864, 0.22401866, -0.34321144, 0.09537491, -0.08020218, 0.45404655) * go_2(-1.0, 0.0); - result += mat4(-0.021609096, -0.11348408, -0.01450652, -0.063170746, 0.06990935, -0.035983834, -0.038010992, -0.10578655, 0.29232737, 0.048835874, 0.054028947, -0.12924139, -0.03058583, 0.028469706, 0.09563202, 0.085674495) * go_2(-1.0, 1.0); - result += mat4(-0.01894022, 0.037628658, -0.102314636, -0.28041583, 0.07495663, -0.058895253, 0.16422969, -0.07163792, 0.039416216, -0.13800906, -0.039811566, -0.10612402, -0.047593113, -0.28491783, 0.41632858, 0.15253194) * go_2(0.0, -1.0); - result += mat4(0.26240867, -0.05335849, -0.014135048, 0.055749495, -0.020126658, 0.2952794, -0.015241771, 0.36143306, 0.43075684, 0.1921996, -0.4329065, 0.5114495, 0.7326109, -0.054901246, -0.076693356, -0.26104695) * go_2(0.0, 0.0); - result += mat4(0.14548428, 0.14578429, 0.17193514, -0.07973242, 0.011952286, -0.047767498, 0.025101405, 0.0016503566, -0.26948047, -0.16503395, -0.061791085, 0.030557185, 0.15400517, -0.054951698, -0.14611247, 0.3550633) * go_2(0.0, 1.0); - result += mat4(-0.05926111, -0.083442695, 0.046579204, -0.017723244, 0.12846185, 0.018434443, -0.17914511, -0.077696435, 0.060048338, 0.02956987, -0.11914462, 0.057770032, -0.054673657, -0.005353606, -0.39014184, 0.08306877) * go_2(1.0, -1.0); - result += mat4(0.07357362, 0.23051825, -0.22640751, 0.080715515, -0.14467078, 0.009734264, 0.054320686, 0.24534328, -0.16038458, 0.06575425, 0.058553413, 0.17755087, 0.08184439, 0.17078212, 0.148369, -0.09309279) * go_2(1.0, 0.0); - result += mat4(-0.11160211, -0.07590204, -0.01676188, -0.062253337, 0.016433533, 0.0146132, -0.040350936, 0.06749202, -0.031521842, 0.1441664, -0.09916073, 0.050578352, -0.06560962, -0.31174552, 0.056873083, -0.077912) * go_2(1.0, 1.0); - result += mat4(0.09344025, 0.075936995, -0.1627903, -0.04781558, -0.01878236, 0.045879602, -0.11507387, -0.025356822, -0.09113391, 0.07263937, 0.08232447, 0.08727616, -0.024921807, 0.051639438, 0.006532631, -0.018751068) * go_3(-1.0, -1.0); - result += mat4(0.022455849, -0.12924309, 0.26318657, -0.32464805, -0.09627585, 0.04496843, -0.09630052, -0.025761643, -0.090804085, 0.24410398, -0.03162944, -0.1961483, 0.14065808, -0.064709485, -0.0040163463, 0.05445074) * go_3(-1.0, 0.0); - result += mat4(-0.020935195, -0.1028065, 0.0012804621, 0.02302866, -0.00924972, -0.0041193594, 0.0060590385, -0.003394384, -0.23241943, -0.023235107, 0.08077456, 0.15720141, 0.06568382, -0.09971436, 0.09056065, 0.04271102) * go_3(-1.0, 1.0); - result += mat4(-0.20997737, -0.12892777, 0.4658528, 0.13622813, -0.2867294, -0.09359254, 0.18821026, 0.25550604, -0.18562363, 0.080713026, 0.13463654, 0.045504905, -0.013133853, -0.1316404, 0.08379897, -0.00047142128) * go_3(0.0, -1.0); - result += mat4(0.3276134, 0.21952826, -0.80777377, -0.69810224, 0.34190908, -0.09293263, 0.33313555, -0.27255502, -0.24287084, -0.07741488, 0.06090265, -0.10161252, -0.37684909, 0.4678029, 0.13506591, 0.42470258) * go_3(0.0, 0.0); - result += mat4(0.080790855, -0.09707547, -0.05506975, 0.027011644, -0.1434346, 0.01363872, 0.12616752, 0.16789167, 0.1656414, -0.11586835, 0.059612263, -0.074029386, -0.19813071, 0.46032718, -0.03935981, 0.0067143585) * go_3(0.0, 1.0); - result += mat4(0.10322512, 0.0822636, -0.16766444, 0.041008063, -0.027768405, 0.23103505, 0.06737122, 0.15258405, 0.04557388, -0.18179403, 0.12489025, -0.09759324, -0.05925805, 0.04869987, 0.07329833, -0.09738542) * go_3(1.0, -1.0); - result += mat4(-0.10823879, -0.403376, 0.3264802, -0.16503738, -0.057512645, -0.20902547, -0.14862378, -0.3192005, -0.046263676, 0.12744917, -0.019174274, -0.02318789, -0.085088454, -0.05723332, 0.0039772973, 0.07991316) * go_3(1.0, 0.0); - result += mat4(0.10313916, 0.04410904, 0.03286652, 0.059946325, 0.019948404, 0.070217304, -0.017572487, 0.20332281, 0.06776308, 0.029285522, -0.14116238, -0.05864782, -0.18382367, -0.06568212, 0.11855615, 0.101256005) * go_3(1.0, 1.0); - result += vec4(-0.036374483, 0.029420665, 0.04437756, -0.04474691); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.059325468, 0.10884231, 0.018158086, 0.031802185, 0.10368743, -0.06776637, 0.048326045, -0.06312353, -0.0025675546, 0.09309577, -0.025533969, 0.029684044, 0.017237723, 0.062099144, 0.047039766, 0.050348036) * go_0(-1.0, -1.0); - result += mat4(-0.04767078, -0.06409279, 0.112965874, 0.04621161, -0.28172916, -0.13897015, -0.022806352, 0.26966885, 0.02019569, -0.10707113, -0.43058416, -0.14103983, -0.13225646, -0.020053176, -0.17319782, -0.009653082) * go_0(-1.0, 0.0); - result += mat4(0.0031349238, -0.060933832, 0.107986666, -0.019791966, -0.23946726, -0.18045186, 0.18286318, -0.05431065, 0.11742379, -0.019123906, 0.33327517, 0.07455424, -0.035427105, 0.18659347, -0.050884776, 0.019193258) * go_0(-1.0, 1.0); - result += mat4(-0.22954239, 0.011265787, -0.026520751, -0.12629737, -0.07009803, 0.44925988, -0.15938939, 0.11956771, 0.11535644, -0.1302371, 0.1235775, 0.16483483, 0.022965495, 0.110546246, 0.00064579415, -0.12753843) * go_0(0.0, -1.0); - result += mat4(0.047553673, 0.16213869, 0.7510964, 0.21228868, 0.40994287, 0.61919236, 0.3982374, -0.016163021, 0.3291035, 0.1134356, 0.12384387, -0.31114763, 0.21338554, -0.04721641, 0.122114286, 0.2717476) * go_0(0.0, 0.0); - result += mat4(-0.06529201, -0.08936482, 0.031857736, -0.02372691, 0.0416097, 0.28484538, -0.38181338, -0.05129518, 0.40150553, -0.01970737, 0.1043854, 0.11986372, -0.2267319, 0.0014845231, -0.035269983, 0.11712099) * go_0(0.0, 1.0); - result += mat4(0.079867415, -0.09982735, 0.10313241, 0.055490237, -0.42685422, -0.3431141, -0.06037366, 0.17539841, -0.010511819, -0.09743252, 0.050748866, 0.11064108, -0.09785722, -0.10230299, -0.04106169, -0.016831731) * go_0(1.0, -1.0); - result += mat4(-0.06847075, -0.026447225, -0.123430386, 0.063637204, -0.37617612, -0.09615662, -0.26226708, -0.008175561, -0.08101131, 0.11093525, -0.13149206, -0.06363292, -0.0482858, -0.2771799, 0.10528571, 0.119109035) * go_0(1.0, 0.0); - result += mat4(0.09151277, 0.029019276, 0.041349206, -0.011239478, 0.035083957, 0.05281079, -0.0742173, -0.018509442, -0.17175299, -0.4226507, -0.118186444, -0.0771296, 0.107038856, 0.0819975, 0.12445646, 0.07091557) * go_0(1.0, 1.0); - result += mat4(0.1275357, -0.097659886, -0.0114354445, 0.023900568, -0.02511702, 0.005830569, -0.010882143, -0.04046068, -0.08638482, 0.08664022, -0.15654318, 0.03333846, -0.12521335, -0.11987078, 0.028556254, -0.020760164) * go_1(-1.0, -1.0); - result += mat4(-0.38474286, -0.15288061, 0.04925842, 0.050009686, 0.23555282, 0.054784663, -0.0971203, 0.017791113, -0.35539824, -0.08806168, 0.08992579, 0.22714761, -0.047685623, -0.17510797, 0.1137738, -0.069451034) * go_1(-1.0, 0.0); - result += mat4(-0.16623408, -0.08202571, -0.03291826, 0.0016267949, 0.20682698, 0.08788948, 0.10241089, 0.019209227, -0.14802241, 0.091788374, -0.238735, -0.06633396, 0.02360112, 0.1521805, -0.022510838, -0.08931379) * go_1(-1.0, 1.0); - result += mat4(0.034280665, -0.12431295, 0.092791, 0.15279225, -0.43373865, 0.20077267, -0.15919733, -0.27969292, -0.26948065, 0.19652127, -0.27456176, 0.04137772, 0.006545539, 0.0031402514, 0.03849979, -0.10978278) * go_1(0.0, -1.0); - result += mat4(0.62025917, -0.32462567, 0.2817292, -0.18380783, -0.3338593, -0.49056754, 0.32645953, 0.4146035, 0.3773462, 0.54346967, -0.032203436, -0.14506778, -0.30044907, 0.40134314, 0.24155408, 0.24397472) * go_1(0.0, 0.0); - result += mat4(0.089335114, -0.05529855, -0.18364899, -0.153323, -0.18347202, -0.060125064, -0.29216367, -0.2717291, 0.10592963, 0.38889876, 0.25363386, 0.33723134, -0.103703365, 0.14922962, -0.21206948, -0.20289616) * go_1(0.0, 1.0); - result += mat4(-0.035760924, 0.18820894, -0.12723185, -0.018780319, 0.124459654, 0.28909087, -0.2763883, -0.45110545, 0.098143585, 0.16052029, -0.055098705, -0.14840914, -0.0019514654, 0.07090622, -0.055036955, -0.0035953245) * go_1(1.0, -1.0); - result += mat4(-0.124669634, 0.23131305, -0.05750295, -0.056296032, 0.35691026, 0.2640789, 0.49912274, 0.26795143, -0.26460487, -0.026896512, -0.07179325, 0.17373477, -0.13186656, 0.0021319336, -0.016407885, 0.3014283) * go_1(1.0, 0.0); - result += mat4(-0.09491939, 0.11503968, -0.14077829, -0.043197304, -0.061866064, -0.1574549, 0.0054375776, 0.066160634, -0.17686372, -0.26767558, -0.038844116, 0.122724466, -0.05043839, 0.063884266, 0.0064002997, -0.13583377) * go_1(1.0, 1.0); - result += mat4(0.031301867, -0.02947819, -0.0016769855, 0.12952408, -0.025022922, 0.065425046, -0.072289295, -0.071249105, 0.14579567, -0.09058119, 0.12663712, 0.1515388, 0.44767743, 0.02971349, 0.015892735, -0.08058422) * go_2(-1.0, -1.0); - result += mat4(-0.2868111, -0.10812653, -0.29182926, -0.38444322, -0.0875354, -0.07220258, 0.05978065, 0.093328245, 0.058548283, -0.013913258, -0.20954674, -0.16400063, 0.3185215, 0.068897314, 0.15869021, 0.022877626) * go_2(-1.0, 0.0); - result += mat4(0.116845705, -0.12729645, 0.056697316, -0.21263942, -0.07000074, 0.073977455, -0.09006404, -0.029770354, -0.20823102, -0.20088868, 0.15658094, 0.24306639, -0.0453592, -0.16011035, 0.08521533, -0.032264974) * go_2(-1.0, 1.0); - result += mat4(0.1114789, -0.1083731, 0.10465276, -0.08903837, -0.06455987, 0.040030345, -0.07937248, -0.20654759, -0.26873547, -0.19390975, -0.039021965, -0.025602374, -0.5575801, -0.08876011, -0.19116728, -0.2401055) * go_2(0.0, -1.0); - result += mat4(0.37626424, -0.0912155, -0.6153361, -0.71465075, 0.018208932, -0.14997734, 0.23627761, 0.20832567, 0.07427123, -0.37869486, -0.26574427, 0.187582, -0.37201726, 0.17809474, -0.02568795, 0.23900814) * go_2(0.0, 0.0); - result += mat4(-0.085337594, -0.50634587, 0.30636734, -0.2760558, 0.01893911, -0.08425695, -0.023656169, 0.021421626, 0.16813251, -0.039550815, 0.21165498, -0.027628547, -0.123874225, 0.013802332, -0.2732087, -0.09419671) * go_2(0.0, 1.0); - result += mat4(-0.07190724, -0.019237598, 0.020249542, 0.07541295, -0.03817686, 0.09266451, -0.12214172, -0.01344174, 0.03281797, 0.057655178, -0.059896503, 0.014948791, -0.13952477, 0.18810949, -0.19016883, 0.06842416) * go_2(1.0, -1.0); - result += mat4(-0.13111524, 0.14539744, -0.10212538, -0.2169032, 0.13810973, -0.12576458, 0.124372825, 0.04992259, 0.21758182, -0.22160134, 0.24321079, 0.017698256, 0.39995426, 0.074034885, 0.120019354, -0.15522505) * go_2(1.0, 0.0); - result += mat4(0.023914235, 0.1424257, 0.010302871, 0.15150794, -0.040021677, 0.015862139, 0.14459212, 0.08632827, 0.04257336, 0.055059638, 0.0030461506, 0.011985334, -0.049230937, 0.07851301, -0.05119983, -0.111701734) * go_2(1.0, 1.0); - result += mat4(0.04485158, 0.116597414, 0.00014909732, -0.012128512, 0.15801767, 0.18273115, -0.033926453, 0.05170487, -0.040683754, -0.18606974, 0.08324687, 0.069539666, 0.07098698, -0.014132968, 0.029499048, -0.07263477) * go_3(-1.0, -1.0); - result += mat4(0.04309544, 0.089722805, -0.018306322, 0.29061043, 0.15191254, 0.15917647, 0.0073858183, 0.039199475, 0.42514518, -0.053955313, 0.10820046, -0.09134685, -0.3087313, -0.16339037, -0.05226669, 0.044995327) * go_3(-1.0, 0.0); - result += mat4(0.008636428, 0.029086163, -0.09151674, -0.36466715, -0.0128008155, 0.018820466, -0.02700147, -0.0064047636, 0.28287655, 0.02709404, -0.05233492, -0.08967187, -0.042183813, -0.13990502, -0.005085154, -0.028511493) * go_3(-1.0, 1.0); - result += mat4(0.00022532263, -0.09108507, 0.0089569865, 0.052016005, -0.19314727, -0.355347, 0.08082937, 0.2134498, 0.21036889, -0.10165983, 0.20334485, 0.14575538, 0.017676214, -0.13149881, -0.018741794, -0.019599862) * go_3(0.0, -1.0); - result += mat4(-0.20513605, 0.47578803, -0.18631598, 0.2535432, -0.049522053, -0.37224755, 0.11227206, -0.37000927, 0.19969453, -0.47287735, -0.07506754, -0.0957071, 0.82927394, -0.54057014, 0.5800732, 0.08937558) * go_3(0.0, 0.0); - result += mat4(-0.022189412, 0.14622113, -0.4772564, -0.31178755, 0.10667427, -0.07335338, 0.06144331, 0.00056827103, -0.08263861, -0.009126272, -0.22802618, -0.20760304, 0.12688845, -0.061324466, 0.33361357, 0.38350767) * go_3(0.0, 1.0); - result += mat4(0.021188622, 0.1151918, -0.10654739, -0.03341855, 0.24870358, -0.06689332, 0.11881217, -0.0045951125, -0.039464932, -0.030190004, 0.014174111, -0.025356272, 0.07469406, -0.0059695644, 0.008267219, -0.0991054) * go_3(1.0, -1.0); - result += mat4(-0.009981438, -0.36484948, 0.04801225, 0.22368562, -0.055985868, 0.229039, -0.10823553, 0.1477355, -0.0091677625, 0.06279847, 0.034393013, 0.031901076, 0.28783056, 0.086422645, 0.20860936, 0.054018307) * go_3(1.0, 0.0); - result += mat4(-0.08720452, -0.07756267, 0.018853918, -0.014108689, -0.019337144, 0.021249043, -0.05633926, -0.109904505, -0.088990815, 0.16876367, -0.13149975, -0.054357648, 0.08588134, -0.10262266, 0.12052009, 0.05154292) * go_3(1.0, 1.0); - result += vec4(-0.010602045, 0.053976092, 0.008913503, 0.0011945717); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.105475314, -0.07022547, -0.16326137, -0.12503424, -0.004623021, -0.0143323885, 0.042996034, 0.03422294, -0.38310882, -0.4431925, -0.28772846, -0.3213578, -0.018014904, 0.02429277, -0.07177951, -0.04458822) * g_0; - result += mat4(-0.0973233, -0.032439478, -0.08420249, -0.054693196, 0.012960555, 0.06929602, 0.004247494, 0.061315402, -0.09607745, -0.16862066, 0.01537482, -0.038459156, 0.019662246, 0.059920583, -0.1071646, -0.06478967) * g_1; - result += mat4(0.15711947, 0.0754732, 0.17891979, 0.098270796, 0.14122486, 0.14893766, 0.12408279, 0.14845194, 0.16199848, 0.14090912, 0.13496809, 0.1119815, 0.03974558, -0.057513904, 0.09213575, -0.0012252429) * g_2; - result += mat4(-0.011343602, -0.02488338, 0.07799659, 0.06503721, 0.06380687, 0.048929837, -0.05555838, -0.050519127, 0.14673206, 0.18085165, 0.07261422, 0.09738158, 0.07395791, 0.005573146, -0.05454926, -0.13565786) * g_3; - result += mat4(-0.08591514, -0.05664865, 0.23980616, 0.24876402, 0.19052829, 0.011938714, 0.21487322, 0.058656186, 0.036630988, 0.14918756, 0.013127693, 0.13092093, -0.37889576, -0.4068804, -0.27258882, -0.30605716) * g_4; - result += mat4(-0.25149816, -0.21979512, -0.24949454, -0.20483162, -0.10972783, -0.17315808, -0.08562763, -0.16086778, 0.044681527, 0.050807394, -0.019424994, -0.022418005, 0.10039492, -0.013666552, -0.22373566, -0.34493732) * g_5; - result += mat4(0.1419155, 0.081392206, -0.18103191, -0.2122926, -0.1445937, -0.015969204, -0.12368782, -0.0044421684, -0.09534078, -0.14815839, -0.1052107, -0.16341865, 0.3050403, 0.34488317, 0.16171226, 0.18700944) * g_6; - result += mat4(0.12444696, 0.08712589, 0.06266247, 0.031022022, 0.17707655, 0.24904409, 0.20961654, 0.2610619, -0.099262595, -0.06900819, -0.034567446, -0.020191457, -0.1468561, -0.04683958, 0.14910224, 0.244686) * g_7; - result += mat4(-0.002428158, -0.012889509, 0.0006541127, -0.0058380975, 0.096147396, 0.07791617, 0.119144954, 0.11699654, -0.024602454, -0.07894611, -0.00021709128, -0.03979557, 0.0028512406, -0.015790012, 0.0082511455, 0.029357092) * g_8; - result += mat4(-0.01410329, -0.004162405, -0.09005045, -0.07753674, 0.004509965, -0.024188736, 0.13799691, 0.10589621, -0.023018798, 0.0064198375, -0.103344224, -0.07463909, -0.060048997, -0.071094714, -0.13042289, -0.14482167) * g_9; - result += mat4(-0.009015246, 0.01581748, -0.035448726, -0.012348933, -0.101627484, -0.05530413, -0.14063041, -0.121775225, 0.074719116, 0.033839386, 0.045573987, -0.006698053, 0.0015141299, 0.003634417, 0.017102007, 0.0074890694) * g_10; - result += mat4(0.0042357175, 0.018735386, 0.058959343, 0.057424515, -0.021633089, -0.037194982, -0.14109972, -0.1506368, 0.004357002, -0.006871023, 0.05337361, 0.039684236, 0.087463334, 0.07772685, 0.12278512, 0.1224218) * g_11; - result += mat4(0.018359886, 0.046934873, -0.008225237, 0.020650858, -0.03961538, -0.014779162, -0.04161338, -0.00953579, 0.0017313146, 0.0068857935, -0.0024282748, 0.0047545764, 0.02635904, 0.027336216, 0.02701322, 0.029939381) * g_12; - result += mat4(-0.00067966996, 0.024480496, -0.015218739, -0.010472019, -0.03994461, -0.052318517, -0.04450191, -0.043226667, -0.03166469, -0.03799331, 0.015428865, -0.018422252, 0.00040845043, 0.03558268, -0.0099401595, -0.00054432114) * g_13; - result += mat4(-0.0032104475, 0.019604867, -0.02486679, 0.002134673, 0.014368818, -0.0013395248, 0.017318068, 0.0021403218, -0.02198377, 0.010297547, -0.041619625, -0.02740482, -0.067249276, -0.03040953, -0.021304253, -0.009557115) * g_14; - result += mat4(-0.019099236, -0.037010793, 0.013720462, 0.023708181, 0.016356282, -0.00028589502, -0.010570909, -0.009186907, 0.03493662, 0.055599142, -0.017043956, 0.004204044, -0.013573257, -0.013537684, 0.008151195, 0.0074913655) * g_15; - result += mat4(0.009309031, -0.0014795153, 0.025114728, -0.0066442797, -0.012085473, -0.0030560147, 0.002144206, 0.0009732741, 0.022301642, -0.0091133695, 0.0011837826, -0.020275833, -0.021349607, -0.011693419, -0.018912962, -0.022418445) * g_16; - result += mat4(-0.0045772395, 0.031085191, 0.01215795, 0.023887333, 0.023408212, 0.0005998807, 0.011254428, -0.004634461, 0.016601006, 0.046663348, 0.031117432, 0.04910873, -0.113230005, -0.035702843, -0.058746565, -0.053893737) * g_17; - result += mat4(-0.020218112, 0.056803435, -0.0037077996, 0.05123925, -0.016713811, -0.05551032, -0.005916611, -0.037839632, -0.007671626, -0.009099201, -0.0010055836, 0.003332688, 0.020744357, 0.01957675, 0.057906736, 0.041446246) * g_18; - result += mat4(0.022438819, 0.04616756, 0.035925094, 0.0639705, 0.0009332198, 0.020964272, -0.010805394, 0.031757344, 0.051255573, 0.032838948, 0.00055445684, -0.03195623, 0.04753827, 0.016436901, 0.04788274, 0.022093765) * g_19; - result += mat4(0.03479086, 0.035946105, 0.04343359, 0.04015664, 0.06081792, 0.061758887, 0.10128842, 0.007471392, -0.027261607, -0.01290544, -0.029938918, -0.050834358, -0.015550162, 0.0072828676, -0.04580556, -0.029642029) * g_20; - result += mat4(0.011150116, 0.029789668, -0.00354488, 0.045047592, -0.018265083, -0.020843878, 0.015457328, 0.0053232997, 0.0791804, -0.028661052, 0.079342775, -0.039631505, 0.14613943, 0.08323415, 0.049641483, 0.047863442) * g_21; - result += mat4(-0.103034586, -0.107580125, 0.00044325445, 0.007830247, -0.017059505, 0.010152936, -0.02845979, -0.01841766, -0.10722863, -0.025262646, -0.07402096, -0.025055556, 0.0013303137, 0.12574737, -0.0161103, 0.06077798) * g_22; - result += mat4(-0.0420636, -0.062703885, -0.06476972, -0.10516001, 0.018120673, 0.024305122, -0.013997766, 0.015815413, -0.06317691, -0.03968166, -0.054052643, -0.016300509, -0.08255892, -0.01612941, -0.04194852, -0.012637189) * g_23; - result += mat4(0.042659573, -0.10762496, -0.077143244, 0.12583935, -0.022020226, -0.0042312425, -0.016734738, 0.027007964, -0.06609771, -0.056038737, -0.0058528963, 0.035508137, -0.019722374, -0.055094264, 0.010977759, -0.009833099) * g_24; - result += mat4(0.063830875, -0.019885639, 0.055574782, 0.039456647, 0.01576898, -0.1389799, 0.063411795, -0.11600623, -0.013968303, -0.03318867, -0.06806915, -0.09373464, -0.022723546, -0.03329239, 0.014282872, 0.027576538) * g_25; - result += mat4(-0.018100513, 0.06204485, 0.010761461, -0.045085587, 0.009286288, 0.02310671, 0.10633246, -0.090849996, 0.13112675, -0.01639808, 0.0022725316, -0.076779045, 0.11831251, 0.1460306, -0.10849466, -0.07749171) * g_26; - result += mat4(-0.15850247, 0.118011266, -0.10121594, -0.007109052, 0.071873754, 0.06954878, 0.0377852, 0.044174008, -0.062925555, -0.01758927, 0.1416964, 0.17206357, -0.035632525, -0.04652215, 0.061932907, 0.034339) * g_27; - result += vec4(-0.11952045, -0.10779418, -0.0626279, -0.042614873); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009000901, -0.018048609, 0.013095594, 0.002321373, 0.0004716619, 0.00504148, -0.016826658, -0.014922383, 0.15059204, 0.16593806, 0.115392484, 0.12520894, 0.05049829, 0.060210057, 0.086421266, 0.07242362) * g_0; - result += mat4(0.06268658, 0.030466434, 0.07876877, 0.04129863, 0.04142328, 0.009963961, 0.051785357, 0.012811113, 0.1295883, 0.139931, 0.07733839, 0.08014211, 0.07156476, 0.0342396, 0.051614303, 0.043559864) * g_1; - result += mat4(0.00041542648, 0.016051646, -0.011512418, 0.013076814, 0.03734479, 0.02791584, 0.012426691, 0.022044811, -0.034128398, -0.027107332, -0.021998279, -0.012139807, -0.033177473, -0.016310865, -0.078221664, -0.041203145) * g_2; - result += mat4(-0.008398536, -0.010332053, -0.050231732, -0.039691273, -0.042082537, -0.030281143, -0.014039778, -0.0020190612, -0.11956351, -0.13638765, -0.09794402, -0.10228069, -0.08344795, -0.07944541, -0.004189214, -0.028206991) * g_3; - result += mat4(0.0002908945, -0.00831185, -0.06870294, -0.083311856, -0.024992501, 0.0038247898, -0.049389005, -0.020098582, -0.0135326125, -0.040408995, -0.012083491, -0.042174604, 0.16112538, 0.13720983, 0.13937058, 0.10870099) * g_4; - result += mat4(0.078961425, 0.082619205, 0.06910667, 0.06579004, -0.0077012256, -0.00038692637, 0.00015553503, -0.012561662, 0.00053048285, -0.01461681, 0.02600344, 0.024862211, -0.06958201, -0.048246548, 0.058762506, 0.036662634) * g_5; - result += mat4(-0.023527982, -0.0028001352, 0.047800142, 0.09616409, 0.049143843, 0.030836122, 0.057244994, 0.025672587, 0.027565151, 0.039868724, 0.045296676, 0.04623187, -0.124759234, -0.14106254, -0.06337279, -0.076839216) * g_6; - result += mat4(-0.0911771, -0.064436875, -0.05308137, -0.022082496, -0.0040269364, 0.0014464161, -0.0029555515, 0.016098293, -0.026650434, -0.014081368, -0.06747348, -0.05481826, 0.097423114, 0.08620988, -0.01607732, -0.015440677) * g_7; - result += mat4(-0.014001735, -0.015001655, -0.013250577, -0.009930805, 0.04885879, 0.07092224, 0.025783395, 0.03792237, -0.04332465, -0.06244993, -0.046748653, -0.07132349, -0.0053951666, -0.016514057, 0.023807624, 0.044013456) * g_8; - result += mat4(-0.009097996, -0.016898679, -0.05043909, -0.063178614, -0.016210863, -0.02157998, -0.02654472, -0.042961173, 0.012103852, 0.019015301, 0.02492281, 0.03389976, 0.015276502, 0.009577683, 0.04132527, -0.00070621347) * g_9; - result += mat4(-0.0057500796, 0.00728164, -0.003422421, 0.0038979584, -0.03127353, -0.019125199, -0.012988815, -0.031890683, 0.09352588, 0.019210607, 0.09824038, 0.016637104, 0.010692808, 0.022393884, 0.008312123, 0.014120716) * g_10; - result += mat4(0.013895599, 0.023097904, 0.009370535, 0.014099512, 0.0124661345, -0.015076684, 0.03287286, 0.005912471, -0.03944815, -0.020340785, -0.06822037, -0.059383288, 0.03634978, 0.007832939, -0.007142306, -0.0061968984) * g_11; - result += mat4(0.033002097, 0.0516016, -0.021056438, 0.005715988, -0.02223013, -0.007962324, -0.024417123, -0.0014790733, 0.002167189, 0.00043749413, -0.007284963, -0.0027283782, 0.026238248, 0.01756047, 0.008969755, 0.014201024) * g_12; - result += mat4(0.011576685, 0.02087598, 0.0026766327, -0.0041780816, -0.05277701, -0.05412841, -0.05958835, -0.050426245, -0.00662945, -0.021645393, 0.03423904, -0.0064581474, -0.030403355, 0.018391011, -0.026089542, -0.0051510665) * g_13; - result += mat4(-0.046202097, -0.0066081425, -0.03698851, 0.0034165455, -0.011859245, -0.020945566, -0.0028196946, -0.010053285, -0.011400397, 0.030595876, -0.018915813, 0.006780077, -0.060040582, -0.009586898, -0.004477886, 0.011279908) * g_14; - result += mat4(-0.028692413, -0.032535568, 0.0017473884, 0.02207169, 0.0192618, 0.008956797, -0.0033381556, 0.006326402, 0.0169569, 0.041449737, -0.02611751, 0.0006410355, 0.006233776, 0.0008467914, 0.011884985, 0.009222136) * g_15; - result += mat4(0.017076496, -0.0045380928, 0.03444613, -0.009804047, -0.004829834, -0.004889702, 0.0057807956, 0.0015014127, 0.03458368, -0.0035773432, -0.007769679, -0.032449644, -0.021396799, -0.017612215, -0.012764735, -0.025224172) * g_16; - result += mat4(-0.011824532, 0.02335273, 0.00764845, 0.019215155, 0.022186808, 0.0066053392, 0.0071694753, -0.0036117272, 0.032144524, 0.05025988, 0.03982363, 0.052400436, -0.10555114, -0.03809396, -0.05334183, -0.05524487) * g_17; - result += mat4(-0.024599254, 0.058805298, 0.00069874676, 0.06263439, -0.018460508, -0.053566024, -0.0022889362, -0.035818785, -0.0135854995, -0.015712813, 0.0012080368, 0.005957637, 0.009450094, 0.03186346, 0.059969924, 0.057706963) * g_18; - result += mat4(0.026783831, 0.05475865, 0.027565574, 0.06032707, -0.0015639095, 0.024381682, -0.010199071, 0.037544634, 0.039889377, 0.03318851, -0.016529158, -0.0343188, 0.045666486, 0.021665907, 0.042189375, 0.02444145) * g_19; - result += mat4(0.03791853, 0.043746054, 0.056224477, 0.05098111, 0.075256795, 0.074653305, 0.116220035, 0.01853866, -0.04133627, -0.009134169, -0.0420953, -0.05210053, -0.021748418, 0.004422131, -0.05422814, -0.035721727) * g_20; - result += mat4(0.013814317, 0.03149986, -0.004971173, 0.04782029, -0.01693027, -0.017984565, 0.019328078, 0.008521426, 0.0845641, -0.027555496, 0.08150416, -0.04623306, 0.16494128, 0.09300831, 0.074097835, 0.0627848) * g_21; - result += mat4(-0.10307174, -0.112654425, -0.005589254, -0.0062108496, -0.012491583, 0.011512013, -0.03142282, -0.023683488, -0.099848576, -0.031290524, -0.07236223, -0.037460987, 0.008760208, 0.1473594, -0.009216949, 0.07251379) * g_22; - result += mat4(-0.04915367, -0.07121096, -0.06572174, -0.10967046, 0.019548079, 0.023992533, -0.019842865, 0.012366459, -0.07207817, -0.04237792, -0.054463565, -0.015374731, -0.092071235, -0.020860313, -0.054475963, -0.02303954) * g_23; - result += mat4(0.04160816, -0.118427366, -0.08661791, 0.12787233, -0.01990174, 0.0012960634, -0.016121056, 0.031429946, -0.06830865, -0.057132352, -0.0022302791, 0.03845933, -0.026981276, -0.063532256, 0.011805961, -0.009616678) * g_24; - result += mat4(0.07094465, -0.022284096, 0.060676746, 0.042626668, 0.011207256, -0.14960343, 0.05866539, -0.12742221, -0.021092903, -0.039463162, -0.07879986, -0.10232898, -0.026127055, -0.038111385, 0.019167708, 0.032637425) * g_25; - result += mat4(-0.014270794, 0.07157703, 0.013714203, -0.047801998, 0.0060221693, 0.022788104, 0.10630103, -0.09606649, 0.12690987, -0.017079826, -0.0077072172, -0.082584485, 0.13256006, 0.16012523, -0.10966099, -0.07927409) * g_26; - result += mat4(-0.17171615, 0.12114435, -0.10746857, -0.0074188868, 0.07854815, 0.07759372, 0.04310874, 0.051465522, -0.05963588, -0.014506484, 0.15522978, 0.18746643, -0.03845241, -0.0489534, 0.05837339, 0.032978524) * g_27; - result += vec4(0.05825913, 0.051491056, 0.038389463, 0.03321517); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2006987, 0.17832398, 0.26342955, 0.23500517, -0.012297829, -0.009008417, -0.039950736, -0.039973143, 0.34800097, 0.32196492, 0.30505183, 0.29214156, -0.21410535, -0.21166423, -0.16437815, -0.19172792) * g_0; - result += mat4(-0.008804151, -0.07085123, 0.013577994, -0.05192605, -0.08981402, -0.14702585, -0.09145975, -0.14835288, -0.15882517, -0.14785844, -0.2381482, -0.22867912, 0.010898514, 0.031957507, 0.040597558, 0.078252345) * g_1; - result += mat4(-0.21658613, -0.1803885, -0.25954962, -0.20839214, -0.09597461, -0.09222647, -0.03909875, -0.03456191, -0.19723509, -0.16976605, -0.2041716, -0.1751425, 0.22901416, 0.24922715, 0.1800083, 0.23346905) * g_2; - result += mat4(0.110020064, 0.103858806, 0.052446555, 0.061105963, 0.032901537, 0.07140097, 0.11518793, 0.13860466, 0.13930707, 0.12712196, 0.19071707, 0.18399614, -0.08036458, -0.07349171, 0.021504594, 0.0024937368) * g_3; - result += mat4(0.059065036, 0.00698257, -0.099622436, -0.15676253, -0.10942482, -0.04869624, -0.13654554, -0.07341863, -0.014169851, -0.06390744, 0.016093008, -0.04540248, 0.29041344, 0.24451919, 0.26292154, 0.22136512) * g_4; - result += mat4(0.107946776, 0.097849295, 0.10266876, 0.09360328, 0.08931344, 0.08896482, 0.046495322, 0.044040844, -0.020361643, -0.030911373, 0.026598722, 0.019815676, -0.072677925, -0.042410247, 0.14127749, 0.13434973) * g_5; - result += mat4(-0.08809133, -0.03476601, 0.06420393, 0.14691353, 0.09296839, 0.06162562, 0.10992992, 0.0615685, 0.0168736, 0.06520281, 0.020010693, 0.046929173, -0.2219495, -0.21249783, -0.14622301, -0.14599061) * g_6; - result += mat4(-0.13251069, -0.08977477, -0.08930347, -0.045490693, -0.10980218, -0.09510885, -0.07299872, -0.064053826, 0.011365247, 0.014091111, -0.054976214, -0.056936122, 0.10148144, 0.07451642, -0.08138598, -0.10161657) * g_7; - result += mat4(-0.0075518745, -0.005738622, -0.007577811, -0.00032088626, 0.032614008, 0.04858922, 0.00054855715, 0.011565026, -0.022675224, -0.034442738, -0.03580643, -0.05069376, -0.0020376542, -0.01505518, 0.019388825, 0.03746554) * g_8; - result += mat4(-0.011413172, -0.016877454, -0.048923567, -0.055012885, -0.007709447, -0.016109072, -0.047132388, -0.07146396, 0.002604099, 0.00014681708, 0.03429465, 0.043265607, 0.029014807, 0.03337814, 0.07582056, 0.041660666) * g_9; - result += mat4(-0.020768544, -0.014378527, -0.01999972, -0.01385916, -0.012264676, -0.009959511, 0.0119015165, -0.016787319, 0.07266734, -0.0029914333, 0.08549183, 0.004367342, 0.008236065, 0.020370748, 0.0043428927, 0.007301017) * g_10; - result += mat4(0.011654731, 0.025318999, -0.0029306612, 0.007426217, -0.00010868774, -0.020845588, 0.041991003, 0.024147986, -0.030741083, -0.012328637, -0.06617428, -0.06103115, 0.010491518, -0.013338451, -0.04666634, -0.046481613) * g_11; - result += mat4(0.0268538, 0.043785956, -0.01799385, 0.008743307, -0.013197458, -0.015049436, -0.017189734, -0.0047999253, -0.00059730676, -0.0008936153, -0.016006093, -0.0073406673, 0.014875853, 0.011491735, 9.819833e-05, 0.0073417514) * g_12; - result += mat4(0.019930955, 0.027112626, 0.01307941, 0.005268897, -0.060213763, -0.050415818, -0.069006495, -0.051405095, 0.0036414433, -0.008606397, 0.037427194, -0.0018103109, -0.037434716, 0.010187546, -0.026227329, -0.0033639795) * g_13; - result += mat4(-0.03634798, 0.0007093891, -0.026819145, 0.009025687, -0.01750318, -0.020098133, -0.0063864207, -0.006606755, 0.0008565766, 0.028647956, -0.0024974607, 0.015250743, -0.048884176, -0.004310685, -0.0010757383, 0.00974984) * g_14; - result += mat4(-0.031253602, -0.031743724, -0.009083253, 0.0145388115, 0.02048611, 0.0058071036, -0.0038228377, 0.00049654936, 0.0059105973, 0.03437731, -0.025785418, 0.004187733, 0.009980489, -4.08268e-05, 0.009384428, 0.0019492983) * g_15; - result += mat4(0.012587245, -0.0032654977, 0.029739188, -0.009440694, -0.0018237908, -0.0080032, 0.010499013, 0.0012466761, 0.03461923, -0.0060207327, -0.008771263, -0.034545746, -0.015023473, -0.008901684, -0.011490296, -0.01976464) * g_16; - result += mat4(-0.009444331, 0.020809013, 0.009985801, 0.020350901, 0.013234775, 0.004382635, -0.0007761826, -0.005247294, 0.034115106, 0.05190378, 0.039124765, 0.050993033, -0.0898732, -0.030428126, -0.044204578, -0.052484997) * g_17; - result += mat4(-0.020434443, 0.053520404, 0.0007571144, 0.05895061, -0.018991265, -0.043982152, -0.004035192, -0.025452444, -0.012197152, -0.013770753, 0.0012919102, 0.003996682, 0.0056104586, 0.025686186, 0.05128293, 0.05105745) * g_18; - result += mat4(0.030201769, 0.052521482, 0.029641917, 0.05559941, 0.0018870027, 0.020112835, -0.0043867202, 0.035877172, 0.02961142, 0.02163634, -0.027972858, -0.040669747, 0.03393723, 0.013455979, 0.03313782, 0.01968004) * g_19; - result += mat4(0.034817442, 0.04045217, 0.054816365, 0.05092461, 0.06600807, 0.062576495, 0.09923777, 0.006663677, -0.039958935, -0.010009866, -0.041522443, -0.04959681, -0.020962957, 0.003845031, -0.04910384, -0.03233655) * g_20; - result += mat4(0.015433112, 0.028965838, -0.0055138534, 0.042267464, -0.012690953, -0.009424165, 0.017896382, 0.01186686, 0.07231686, -0.038834292, 0.07033086, -0.052548733, 0.15721905, 0.09334892, 0.07676042, 0.06701375) * g_21; - result += mat4(-0.09797534, -0.11201098, -0.0037222446, -0.008105951, -0.01152357, 0.012165641, -0.029051905, -0.021293389, -0.09600697, -0.028819272, -0.069084235, -0.035421908, 0.0054322914, 0.14168966, -0.0200274, 0.06505187) * g_22; - result += mat4(-0.05034882, -0.06622497, -0.062471002, -0.100628324, 0.018115615, 0.019867867, -0.018836644, 0.007562053, -0.06317378, -0.034458403, -0.047243826, -0.009989589, -0.08270121, -0.018645251, -0.05160367, -0.023690399) * g_23; - result += mat4(0.03897899, -0.10862529, -0.081805214, 0.1202324, -0.021866674, -0.00041882638, -0.018235246, 0.027227063, -0.0656312, -0.053432237, -0.0029235696, 0.03549672, -0.022848906, -0.057047505, 0.013400545, -0.0072439364) * g_24; - result += mat4(0.06879516, -0.018637763, 0.058062725, 0.041045032, 0.011702424, -0.13693465, 0.05674195, -0.11679955, -0.022940686, -0.03856922, -0.07531371, -0.09692582, -0.019870926, -0.032572743, 0.026138868, 0.037639033) * g_25; - result += mat4(-0.015270301, 0.06478719, 0.011016518, -0.04533957, 0.00688319, 0.024815995, 0.10159924, -0.08467507, 0.11939162, -0.01939453, -0.0058689644, -0.077881604, 0.118726775, 0.14489114, -0.10831982, -0.07972515) * g_26; - result += mat4(-0.16734359, 0.10685446, -0.102714166, -0.010225307, 0.07306756, 0.07014447, 0.040464073, 0.04688462, -0.05489714, -0.01525318, 0.14690581, 0.17514132, -0.03250648, -0.03688211, 0.05047889, 0.03078089) * g_27; - result += vec4(0.06614842, 0.045779686, 0.032838725, 0.017085627); - return result; -} -//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl deleted file mode 100644 index ab5e6dd..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl +++ /dev/null @@ -1,112 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.10005958, 0.30363804, -0.24045889, -0.003466652, 0.25860623, 0.47408342, -0.58965975, 0.058167808, 0.17228158, 0.43657768, -0.3982826, -0.022539442, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.23593923, 0.4692322, 0.04355681, 0.009586428, -0.37485301, 0.5885971, 0.3236714, -0.08301241, -0.3188667, 0.5608897, 0.3396368, 0.059106056, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.15485556, -0.11745722, 0.042440087, 0.5313071, -0.24682014, 0.00033858762, -0.08202063, 0.84100145, -0.15803772, -0.11368423, -0.09765383, 0.6991758, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.21323937, 0.07442176, -0.10949712, -0.05313448, 0.44871446, 0.16815953, 0.07202329, -0.05763504, 0.12998791, 0.06934043, 0.044557367, -0.00978054, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.40295616, -0.7156766, 0.7321813, -0.54544497, 0.44781828, -1.1244348, 0.7786728, -0.91297877, 0.52567977, -0.81486106, 0.56867415, -0.68681335, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.020084642, -0.072761856, -0.13040084, 0.063976064, 0.18822637, -0.096821584, -0.06842927, 0.18078656, 0.05295053, -0.18540566, -0.1239999, 0.0156137515, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.6254935, 0.0074730455, 0.21930416, 0.028796878, -0.82789946, 0.051125027, 0.25597844, 0.049207535, -0.68400925, -0.015768895, 0.233402, 0.021760475, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.21823564, -0.15992375, -0.14845636, -0.031485636, 0.13821888, -0.27466524, -0.094343, -0.07067512, 0.20875643, -0.20346795, -0.12910774, -0.052383807, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.001368614, 0.17603171, -0.36661625, -0.0043979343, 0.1381601, 0.27952382, -0.6743216, 0.0067374213, -0.023204552, 0.21662682, -0.3795221, -0.025739884, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.025272772, 0.014345055, -0.009859513, 0.000597734); - return result; -} -//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08796357, 0.028130328, 0.073414765, -0.029320398, -0.07826724, 0.012752971, 0.06304871, 0.082551956, -0.052348416, 0.010077275, 0.0803755, 0.16395038, -0.08238233, -0.0012038432, -0.1297045, -0.1087021) * go_0(-1.0, -1.0); - result += mat4(0.044162463, -0.019727755, -0.05845153, -0.23984948, 0.08363732, -0.06774037, 0.0234879, 0.02139741, 0.0028723166, -0.07549135, 0.0744662, 0.109019615, 0.03763121, -0.060664024, -0.03823593, -0.015655363) * go_0(-1.0, 0.0); - result += mat4(-0.026882887, 0.124355234, -0.005225512, 0.053853527, -0.004761375, 0.07739831, 0.007993726, -0.024238527, -0.035357814, 0.022114292, -0.026158875, 0.047122046, -0.021067293, 0.041959677, 0.008588816, -0.006613815) * go_0(-1.0, 1.0); - result += mat4(-0.037601672, 0.010898833, 0.05053419, -0.0118405875, 0.052177202, 0.013291429, -0.20246609, -0.07192325, -0.05164381, -0.011278074, -0.12394048, -0.037769064, 0.24392918, 0.03289724, 0.018663784, 0.04071627) * go_0(0.0, -1.0); - result += mat4(-0.17768572, -0.003431817, 0.024597375, -0.067222916, -0.15119793, -0.049984362, 0.0588867, 0.20031504, -0.028296817, -0.17337173, 0.02136566, 0.07842319, -0.10203611, 0.02128208, 0.20057699, 0.026265312) * go_0(0.0, 0.0); - result += mat4(-0.018206367, -0.36731398, -0.07842714, -0.08946319, 0.05601789, -0.13398123, -0.09766525, 0.0051633804, -0.004821273, -0.060362365, -0.08751827, -0.01924666, -0.01642196, -0.084792316, -0.021546558, -0.01531331) * go_0(0.0, 1.0); - result += mat4(-0.003315341, 0.003464535, 0.023609636, -0.029517155, 0.023121882, -0.033598952, 0.032658506, 0.072380014, 0.038630765, -0.020992903, -0.09003304, 0.048244834, 0.17752261, -0.023978172, 0.7178278, 0.09461632) * go_0(1.0, -1.0); - result += mat4(0.010277829, -0.0462686, -0.024897251, -0.02214524, 0.1262903, -0.15583614, -0.50100106, -0.04074772, 0.0612536, -0.17066137, -0.15715116, -0.020877155, -0.062031068, 0.4314311, -0.008700501, -0.030722365) * go_0(1.0, 0.0); - result += mat4(-0.12062004, 0.055291675, 0.041176047, -0.034254536, -0.04062085, 0.14750236, 0.100433215, 0.024384778, -0.02506444, -0.0012329774, 0.06715311, 0.013158619, -0.07343181, 0.08929479, 0.015891392, 0.0014893904) * go_0(1.0, 1.0); - result += mat4(-0.00028356185, 0.008408778, 0.046833538, -0.110735945, 0.050230157, -0.023995856, -0.06471944, -0.12666705, 0.121487044, -0.040447604, -0.13425831, -0.035763647, 0.06327994, 0.04542948, 0.12984566, 0.041735172) * go_1(-1.0, -1.0); - result += mat4(-0.09654193, 0.055733874, 0.14149562, 0.20103204, -0.04256184, 0.041129943, -0.0997907, 0.030775042, 0.017492702, 0.053436417, -0.13472094, -0.037674613, -0.09461306, 0.07363193, 0.025130237, -0.020962669) * go_1(-1.0, 0.0); - result += mat4(0.003966979, -0.077911004, -0.025530541, -0.08657802, 0.047928706, -0.12820454, -0.034780253, 0.070523396, 0.0991259, -0.07432318, -0.035848588, 0.026542934, -0.005886989, -0.048655648, 0.014799456, -0.033676937) * go_1(-1.0, 1.0); - result += mat4(0.0040423325, 0.011639387, 0.014709128, -0.100935176, -0.03094238, -0.0058094636, 0.1256023, 0.086693585, -0.00840243, -0.02635784, -0.2395783, 0.0055595445, -0.104565054, 0.05285065, 0.092289336, 0.12696597) * go_1(0.0, -1.0); - result += mat4(-0.097862415, 0.035469674, -0.12026435, -0.25865972, 0.12508512, -0.00648921, -0.1848096, -0.24143967, -0.009432349, -0.035211377, -0.05589267, -0.11565712, 0.015937572, 0.02717122, -0.09954979, -0.081140056) * go_1(0.0, 0.0); - result += mat4(-0.09073428, 0.31426015, 0.087145604, -0.00073830306, 0.013578701, 0.032616604, 0.038264107, 0.07236385, -0.012257218, 0.040580798, 0.08520396, 0.004167174, 0.02280993, 0.113494344, 0.027510444, 0.029490784) * go_1(0.0, 1.0); - result += mat4(-0.02391937, 0.0039571812, -0.026116686, -0.025334306, 0.06904104, 0.011511556, -0.14147542, 0.01224604, 0.03788813, -0.041387778, -0.1523622, 0.03650455, 0.04693732, 0.03091366, 0.2839756, 0.1779714) * go_1(1.0, -1.0); - result += mat4(-0.026292996, 0.020397607, 0.09354275, 0.00044126343, -0.047845, 0.11368384, 0.18426466, 0.12002076, -0.034070846, 0.042704806, -0.041553736, 0.04446022, -0.006331844, 0.16227855, 0.07832003, -0.07068554) * go_1(1.0, 0.0); - result += mat4(-0.026658786, -0.0079359505, -0.04125044, -0.10622727, 0.06254047, -0.36537018, -0.10755624, 0.011665703, 0.025558028, -0.087151, -0.06987865, 0.00023839885, 0.03247968, -0.053188834, -0.004876301, -0.06005079) * go_1(1.0, 1.0); - result += vec4(-0.012601902, -0.0121468, -0.027073797, -0.0223602); - return result; -} -//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x4 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.00055252935, 0.0011350953, -0.0016148019, 0.0014946404, -0.30635214, -0.017596753, -0.0036547943, 0.016236471, 0.005174489, 0.0030302007, 0.00019672248, 0.0006430973, 0.0007490077, -0.0031795658, -6.158733e-05, 0.0006820584) * go_0(-1.0, -1.0); - result += mat4(0.15602079, 0.011071071, -0.0027609533, -0.0034318874, -0.0039016667, 0.016504101, -0.27816474, -0.008282344, 0.19063498, 0.012465078, 0.010091085, -0.004841106, -0.11758087, -0.012808949, 0.0067606894, 0.005216566) * go_0(-1.0, 0.0); - result += mat4(0.013258877, -0.014989483, 0.22402754, 0.013204027, 0.00016207264, -0.00042593342, -0.00333761, -0.0012207513, 0.0033727325, -0.007841196, 0.16044731, 0.00594871, -0.0028581345, 0.012616562, -0.15928285, -0.011812331) * go_0(-1.0, 1.0); - result += mat4(-0.0048872055, -0.0011780986, -0.0029523429, 0.00082424335, -0.0024385185, -0.26525813, 0.013532772, -0.0008381766, 0.0024996721, 0.0022899017, -0.0017697349, -0.0010618394, 0.0024938583, 0.005421073, 0.0028740794, -0.007808829) * go_0(0.0, -1.0); - result += mat4(-0.08293415, 0.2659366, -0.010839574, 0.023423964, 0.01725351, -0.009252893, -0.011632222, -0.308242, 0.0001496815, 0.16104282, -0.0069378703, 0.00842848, 0.085917845, -0.18407243, -0.006601597, -0.027134055) * go_0(0.0, 0.0); - result += mat4(-0.033873428, -0.011743531, -0.230377, 0.116242796, -0.0018527015, -0.00853698, 0.0059901997, -0.006155517, -0.009841329, 0.006163952, 0.014816026, 0.18667653, 0.016977048, -0.0017093032, 0.19695279, -0.061764043) * go_0(0.0, 1.0); - result += mat4(-0.0003514533, -0.0069080726, 0.0052108583, -0.0016346197, -0.0016860099, 0.006002445, -0.0022835485, -0.0028219873, 0.0005367275, 0.0005437954, 0.00059865275, -0.00014915364, -0.0032214937, -0.00052043283, -0.0031621973, 0.0055843857) * go_0(1.0, -1.0); - result += mat4(-0.006905302, -0.20389622, 0.01891904, -0.018114902, 0.00724176, 0.011335843, -0.0028616642, 0.016452003, -0.00013852821, -0.00039706306, 0.0011838446, 0.0028873065, 0.012857878, 0.16889338, -0.014114007, 0.009388666) * go_0(1.0, 0.0); - result += mat4(0.0040798862, 0.002933288, -0.016012201, -0.14650294, -0.0017411204, 0.0017980475, 0.00056705566, -0.0003218331, -0.0014291195, -0.0062614805, 0.00082543516, -0.00397049, -0.004496662, 0.0008032309, 0.0049529593, 0.117166765) * go_0(1.0, 1.0); - result += vec4(-3.1127936e-05, 3.3726166e-05, 4.8580805e-05, -9.541029e-06); - return result; -} -//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl deleted file mode 100644 index ff318b8..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl +++ /dev/null @@ -1,112 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.020295616, 0.26657984, -0.28531083, 0.041052748, 0.11729335, 0.4042445, -0.5860672, 0.098661005, 0.07756054, 0.32493782, -0.38677853, 0.029859459, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.28257942, 0.46859467, 0.07703674, -0.05280326, -0.46674755, 0.6592401, 0.28513643, -0.059969574, -0.37685588, 0.54568315, 0.1845521, -0.002367634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.14898707, -0.088150576, -0.09723321, 0.48359355, -0.27636692, -0.09316871, -0.15453896, 0.68637407, -0.19012338, -0.13310172, -0.13367014, 0.61284137, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.36225644, 0.14732021, -0.17000826, -0.039856624, 0.50175637, 0.11733988, -0.080232985, -0.059622094, 0.3199943, 0.14199091, -0.08377198, -0.058804136, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.42444956, -0.7508643, 0.77660984, -0.5920436, 0.6205736, -1.1258985, 0.91925675, -0.854362, 0.5576168, -0.84702957, 0.6147012, -0.7004013, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.047896724, -0.018435799, -0.07901341, 0.14234425, 0.12161554, -0.03132901, -0.049536135, 0.16390118, 0.054683182, -0.054823015, -0.019946543, 0.058345634, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.60845935, -0.0062592463, 0.17769416, 0.00643066, -0.8315386, 0.010405371, 0.227901, 0.054893702, -0.63039875, -0.02128892, 0.20843753, 0.054094747, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.24499738, -0.11924165, -0.16513842, -0.012650152, 0.21676576, -0.14322694, -0.08526706, -0.0122355, 0.26050088, -0.115822464, -0.11147918, -0.018665116, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.06054074, 0.094478205, -0.23038268, 0.008782032, -0.028404612, 0.22320247, -0.4821615, -0.0055871494, -0.047503285, 0.15098651, -0.26161456, 0.029869653, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0033260486, 0.0027453774, 0.002706769, -0.0022023292); - return result; -} -//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.26565167, 0.03297807, 0.08926044, 0.029984077, -0.20809028, 0.00351991, 0.15452495, 0.09963063, -0.13773972, 0.01029457, 0.045066427, 0.1247363, -0.12714206, 0.010659472, -0.06463583, -0.0154152885) * go_0(-1.0, -1.0); - result += mat4(0.0030874603, -0.04652791, -0.23016497, -0.46789864, 0.16454394, -0.12389561, -0.026154622, -0.008619661, -0.10648254, -0.10581639, 0.038306713, -0.038339432, 0.09716571, -0.037978917, -0.075691506, -0.0712344) * go_0(-1.0, 0.0); - result += mat4(-0.22059305, 0.18160829, 0.027175324, -0.09482166, -0.07888123, 0.12431242, 0.02432025, -0.121108614, -0.0720631, -0.0138989305, -0.02100737, -0.027440425, -0.06610268, 0.115165174, 0.02048676, -0.0409675) * go_0(-1.0, 1.0); - result += mat4(-0.043652806, 0.0134993605, 0.0030924282, -0.03314738, 0.27716368, 0.05542831, -0.28217152, -0.017624432, -0.11218036, 0.009025405, -0.13453043, -0.05897923, 0.32378325, -0.0070016393, -0.04415195, 0.10701437) * go_0(0.0, -1.0); - result += mat4(-0.23568924, 0.028462708, 0.11686719, 0.025355088, -0.088295944, 0.033592343, 0.22703041, 0.45683298, -0.0860751, -0.17487867, -0.048110463, 0.0030137985, -0.031168368, 0.075628504, 0.24791549, 0.13066974) * go_0(0.0, 0.0); - result += mat4(0.04647855, -0.42392284, -0.19600202, -0.07964123, 0.059082046, -0.16060755, -0.12607971, 0.011384242, 0.021775302, -0.10103477, -0.09646511, -0.0333935, 0.017039102, -0.14098461, -0.0981411, -0.0023695084) * go_0(0.0, 1.0); - result += mat4(-0.016526148, -0.0006880693, 0.030872462, -0.018204063, -0.025757499, -0.01037187, 0.21834393, 0.09965417, -0.057800297, -0.029975737, -0.00684766, 0.05800057, 0.1683585, -0.057496388, 0.7087625, 0.2665085) * go_0(1.0, -1.0); - result += mat4(0.059480842, -0.05298332, -0.06537449, -0.06439374, 0.09735456, -0.19591855, -0.42987427, -0.012228564, 0.03898561, -0.22284365, -0.24668825, -0.06651606, -0.087776355, 0.3200755, -0.050433923, -0.100411855) * go_0(1.0, 0.0); - result += mat4(-0.053572096, 0.16021295, 0.071161, -0.06335539, 0.015909042, 0.20072727, 0.08304887, 0.05335472, -0.03467755, -0.02854195, 0.044690188, 0.0045897495, -0.02924389, 0.16038977, 0.06578487, 0.027916174) * go_0(1.0, 1.0); - result += mat4(0.11840388, -0.011793132, -0.004042257, -0.116042845, 0.17388786, -0.031351876, -0.1152781, -0.13333467, 0.2354002, -0.045496088, -0.16311322, -0.06960798, 0.11317423, 0.005508318, 0.15634489, 0.061211936) * go_1(-1.0, -1.0); - result += mat4(0.009622364, 0.03682801, 0.20317583, 0.41673073, 0.00662247, 0.11070694, -0.020392824, 0.13875432, 0.036129113, 0.073727116, -0.114370294, 0.042431634, -0.0446233, 0.0734258, 0.09814352, 0.09335129) * go_1(-1.0, 0.0); - result += mat4(0.057668976, -0.21368256, -0.029979514, 0.039450984, 0.16685131, -0.15085255, -0.042412136, 0.15757313, 0.110782996, -0.07277766, -0.035268076, 0.06094599, 0.088834405, -0.07145625, 0.0009840949, 0.04932651) * go_1(-1.0, 1.0); - result += mat4(-0.00010679438, 0.0036139274, -0.001123274, -0.10001404, -0.035231482, -0.008196208, 0.24442215, 0.13503289, -0.082656465, -0.061868448, -0.34716147, -0.22398905, -0.00626325, 0.063109376, 0.10340223, 0.030913284) * go_1(0.0, -1.0); - result += mat4(-0.11526892, -0.01739956, -0.1781953, -0.27035302, 0.13689406, -0.04320452, -0.19705579, -0.16808036, -0.20343314, -0.13549826, -0.08057608, -0.16109829, 0.16905797, 0.00077912246, -0.14143418, 2.5004636e-05) * go_1(0.0, 0.0); - result += mat4(-0.110721245, 0.33579257, 0.14410733, -0.06675498, 0.002022071, 0.18419205, 0.09936456, 0.07311257, 0.0064584822, -0.031634383, 0.095907465, 0.031282485, 0.0051860735, 0.25176755, 0.089756206, 0.052209254) * go_1(0.0, 1.0); - result += mat4(-0.06346731, 0.009824449, -0.02733463, -0.06341941, 0.17385058, 0.0067438814, -0.15083039, -0.09102664, 0.065680414, -0.06668183, -0.18805085, -0.02785943, 0.06386912, 0.09340653, 0.0032584765, 0.060902752) * go_1(1.0, -1.0); - result += mat4(-0.061221372, -0.0020573896, 0.063335806, 0.046898697, -0.030530764, 0.27301106, 0.23682626, 0.14863367, -0.034555666, 0.024279105, -0.176423, 0.018163674, -0.00015057978, 0.1575829, 0.25034854, 0.054726984) * go_1(1.0, 0.0); - result += mat4(-0.03807849, -0.0440673, 0.038429137, -0.029738983, 0.035449427, -0.44138825, -0.16462126, -0.015045709, 0.010627751, -0.12178318, -0.07076098, -0.059846148, 0.0009871369, -0.07265447, -0.01998304, -0.018729536) * go_1(1.0, 1.0); - result += vec4(-0.0016514715, -0.0038319482, -0.0073834592, -0.0059920377); - return result; -} -//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x4 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.010651157, 0.0018537974, 0.0051580826, 0.0020901994, -0.41468114, -0.08517094, -0.04803197, 0.008413933, 0.014026587, 0.012820705, 0.01553548, 0.01283508, -0.040812977, -0.015933262, -0.01949977, -0.011502392) * go_0(-1.0, -1.0); - result += mat4(0.2278103, 0.06374709, 0.062103115, 0.02010158, -0.01932597, 0.01159983, -0.35690293, -0.062822886, 0.29807624, 0.036038283, 0.028565003, -0.025969796, -0.24225195, -0.06635989, -0.06890857, -0.010140013) * go_0(-1.0, 0.0); - result += mat4(-0.009164529, -0.0036277112, 0.19577485, 0.05511193, 0.025875263, 0.020616682, 0.02919653, 0.030669902, 0.00751339, -0.00551052, 0.2690018, 0.035395138, -0.013392302, -0.03666098, -0.23751089, -0.11222924) * go_0(-1.0, 1.0); - result += mat4(0.017815048, 0.011143683, -0.002918766, -0.0042153858, -0.01929562, -0.3405707, 0.039267153, 0.0041966257, 0.0026771557, 0.009982735, 0.00087975257, 0.003984122, 0.0062404936, -0.04230462, 0.001981855, -0.0145921325) * go_0(0.0, -1.0); - result += mat4(-0.02615864, 0.2872578, 0.08103852, 0.11812216, -0.031988684, -0.08532163, -0.094653316, -0.42660478, 0.00077043264, 0.284553, -0.015517693, 0.036667597, 0.14234932, -0.20201443, -0.017204845, -0.111502305) * go_0(0.0, 0.0); - result += mat4(-0.11529456, -0.09024149, -0.2545015, 0.08581955, -0.020051582, -0.031601675, -0.031320736, -0.051691536, -0.019313173, 0.028963564, 0.017521648, 0.3159018, 0.179573, 0.19400181, 0.382411, 0.076367974) * go_0(0.0, 1.0); - result += mat4(-0.016741822, -0.001993879, -0.01517403, -0.010949569, 0.01859244, 0.042316843, 0.00025326485, -0.007079785, 0.001070783, 0.000911405, -0.0024269924, -0.0014501393, -0.01206317, 0.007300575, -0.0062582446, -0.0016001783) * go_0(1.0, -1.0); - result += mat4(-0.06300321, -0.20786348, 0.019603852, 0.020122321, 0.022107193, 0.036766138, 0.013046632, 0.02677947, -0.0006842017, -0.044024136, 0.0109439045, 0.0040129004, 0.009831765, 0.15807834, -0.05166107, -0.014462446) * go_0(1.0, 0.0); - result += mat4(-0.023205867, -0.049788095, -0.08251341, -0.26488927, 0.0029636251, 0.021618038, -0.0057556895, 0.018444102, 0.0064643323, -0.027886944, 0.010029941, -0.041902024, -0.021232832, -0.0072857663, 0.02056806, 0.18491453) * go_0(1.0, 1.0); - result += vec4(-0.00016697648, -0.00015957489, 0.00017437353, -0.00019393339); - return result; -} -//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl deleted file mode 100644 index e736831..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl +++ /dev/null @@ -1,36 +0,0 @@ -// This is free and unencumbered software released into the public domain. - -// Anyone is free to copy, modify, publish, use, compile, sell, or -// distribute this software, either in source code form or as a compiled -// binary, for any purpose, commercial or non-commercial, and by any -// means. - -// In jurisdictions that recognize copyright laws, the author or authors -// of this software dedicate any and all copyright interest in the -// software to the public domain. We make this dedication for the benefit -// of the public at large and to the detriment of our heirs and -// successors. We intend this dedication to be an overt act of -// relinquishment in perpetuity of all present and future rights to this -// software under copyright law. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. - -// For more information, please refer to - -//!DESC Anime4K-v4.0-AutoDownscalePre-x2 -//!HOOK MAIN -//!BIND HOOKED -//!BIND NATIVE -//!WHEN OUTPUT.w NATIVE.w / 2.0 < OUTPUT.h NATIVE.h / 2.0 < * OUTPUT.w NATIVE.w / 1.2 > OUTPUT.h NATIVE.h / 1.2 > * * -//!WIDTH OUTPUT.w -//!HEIGHT OUTPUT.h - -vec4 hook() { - return HOOKED_tex(HOOKED_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl deleted file mode 100644 index 572510b..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl +++ /dev/null @@ -1,36 +0,0 @@ -// This is free and unencumbered software released into the public domain. - -// Anyone is free to copy, modify, publish, use, compile, sell, or -// distribute this software, either in source code form or as a compiled -// binary, for any purpose, commercial or non-commercial, and by any -// means. - -// In jurisdictions that recognize copyright laws, the author or authors -// of this software dedicate any and all copyright interest in the -// software to the public domain. We make this dedication for the benefit -// of the public at large and to the detriment of our heirs and -// successors. We intend this dedication to be an overt act of -// relinquishment in perpetuity of all present and future rights to this -// software under copyright law. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. - -// For more information, please refer to - -//!DESC Anime4K-v3.2-AutoDownscalePre-x4 -//!HOOK MAIN -//!BIND HOOKED -//!BIND NATIVE -//!WHEN OUTPUT.w NATIVE.w / 4.0 < OUTPUT.h NATIVE.h / 4.0 < * OUTPUT.w NATIVE.w / 2.4 > OUTPUT.h NATIVE.h / 2.4 > * * -//!WIDTH OUTPUT.w 2 / -//!HEIGHT OUTPUT.h 2 / - -vec4 hook() { - return HOOKED_tex(HOOKED_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl deleted file mode 100644 index 82283f1..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl +++ /dev/null @@ -1,461 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.01802505, -0.06508559, 0.0017542128, -0.25521114, -0.024155967, 0.07601142, 0.07508073, -0.69212615, 0.06438325, 0.07916419, -0.07266247, -0.17089996, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.18881685, 0.063188724, 0.08637344, -0.20066689, -0.22774473, -0.10913083, -0.048009537, -0.27475306, -0.15950447, -0.027433012, 0.030303264, 0.018863251, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.19171959, 0.028070524, -0.09780952, 0.057611514, 0.26147488, 0.07180017, 0.09667393, 0.008605127, 0.011190245, 0.040944707, -0.025871381, -0.011468774, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.08601777, 0.2180965, -0.052060187, -0.08091977, 0.3995336, 0.21213862, 0.105202965, 0.010929526, -0.080743685, -0.040439352, -0.07998862, 0.08096829, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.08608087, -0.10902571, 0.5245411, 0.53331816, -0.5507893, 0.6141555, 0.9744618, 0.89056116, 0.081408836, 0.28096125, 0.13647869, 0.026274862, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.13985278, -0.29691598, -0.26792645, -0.042485088, 0.27941233, -0.65306807, -0.360506, 0.03810829, 0.09663724, -0.26655033, 0.04372338, 0.063264176, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.18246013, -0.070464276, 0.04686214, 0.059332885, 0.16861221, 0.022623831, -0.09161491, 0.07130491, 0.15691474, 0.095743366, 0.059467375, -0.009469478, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.07830576, 0.17082681, -0.013175545, -0.035535168, 0.1573564, -0.16532823, -0.49614525, -0.050994795, 0.027053844, -0.20359018, 0.08111269, 0.018715343, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.060515754, 0.13169582, -0.15245132, -0.045724656, -0.50778043, -0.11690067, -0.08320143, 0.01093529, -0.1954136, 0.07388989, -0.1360143, -0.023233788, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.0054077627, -0.15644358, 0.06612042, 0.014728144); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.12039797, 0.04008252, 0.073074624, -0.11763173, 0.091902, -0.040129073, 0.009170759, -0.10760076, -0.032387916, 0.07807673, -6.477932e-05, 0.040181372, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.11585734, -0.0078019407, 0.063107856, 0.09835168, -0.029397847, 0.12520139, 0.078661725, -0.12675259, 0.05563671, -0.058422342, 0.01478436, -0.08239175, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.14991632, -0.0134848505, -0.38663143, -0.10859369, -0.012961176, -0.09099144, -0.19593886, -0.08396245, -0.02676463, -0.0066295485, 0.026225863, -0.014788537, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.20830092, -0.07655779, 0.04518565, 0.16015635, 0.5536684, 0.09759215, -0.101477005, -0.5042874, 0.35608026, -0.15335238, 0.0796228, -0.05107349, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.3968312, 0.091579735, -0.085623756, -0.16367513, -0.48967922, -0.08557767, 0.34444988, 1.0766053, -0.2158915, 0.22244956, -0.033804208, 0.25898156, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.026278365, 0.1678205, -0.38981274, 0.16932413, -0.0146527905, 0.65131354, -0.08886725, 0.07017853, 0.012986331, 0.029087646, -0.034898676, 0.040925268, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.07614263, 0.015624113, -0.054716587, -0.04951801, 0.016731577, -0.08749623, 0.07815944, -0.015630174, -0.08723511, 0.077201165, -0.12674089, -0.08418575, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.07938198, -0.4056014, 0.26949093, 0.067213245, -0.47538033, -0.7786735, -0.25821188, 0.029314762, -0.1799233, -0.31132734, 0.17210929, -0.018579468, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.06732179, 0.18373649, -0.00039802346, 0.006567155, 0.36993378, 0.20254396, 0.12314272, -0.07356931, 0.12402926, 0.122744165, -0.07482636, 0.011531308, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.001029383, 0.0058537456, 0.38202196, -0.028818231); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.29632062, 0.029882489, -0.14098296, -0.18291497, 0.2815667, -0.053558454, 0.10369031, -0.080831036, 0.06955536, -0.020830285, -0.2950748, -0.12086926, -0.023612294, -0.08531449, 0.0390424, 0.011767062) * go_0(-1.0, -1.0); - result += mat4(0.094862625, 0.10448947, -0.11741873, 0.18871774, 0.15733057, 0.029140847, 0.16012338, 0.24601823, -0.2918398, 0.09956984, 0.04739516, 0.24494317, -0.021442452, 0.014309354, -0.04935703, 0.13617574) * go_0(-1.0, 0.0); - result += mat4(0.1303212, -0.06284708, -0.23948738, -0.05782472, -0.024363542, -0.11251477, -0.07354371, -0.023819327, 0.13228065, 0.05485702, -0.068491034, 0.1938021, -0.046649717, -0.07752723, 0.031408865, 0.026424367) * go_0(-1.0, 1.0); - result += mat4(0.4484274, 0.10068111, -0.122855306, -0.0649749, 0.09444103, 0.119198084, -0.22159275, 0.08555494, -0.18764949, -0.16276829, 0.20377621, 0.13764401, -0.027324807, 0.1294057, 0.035147414, 0.010751216) * go_0(0.0, -1.0); - result += mat4(-0.23321865, -0.029401073, 0.064655, 0.28420436, 0.051707894, -0.27915454, 0.0037779005, -0.18335588, 0.2275033, -0.25828046, -0.005339017, -0.4358691, 0.30487007, -0.044198595, 0.08767978, -0.04610031) * go_0(0.0, 0.0); - result += mat4(-0.044556934, -0.06692216, -0.21124081, -0.1394273, -0.24693833, -0.11292927, -0.026020816, 0.08460799, -0.11183761, -0.020012703, 0.29486617, 0.3726646, -0.054298244, 0.0045891847, -0.23693855, -0.02848257) * go_0(0.0, 1.0); - result += mat4(0.04877764, -0.011964396, -0.08024895, -0.12175299, -0.015131821, -0.048996765, 0.10887477, -0.053192, 0.09514728, 0.00918332, -0.08621957, -0.04674572, -0.06000914, -0.060330987, 0.20702218, -0.015094036) * go_0(1.0, -1.0); - result += mat4(-0.1651207, -0.024862131, 0.37494823, 0.10404018, -0.2891288, -0.38082635, 0.3194514, -0.055852838, -0.073994, -0.1566444, 0.08473525, 0.15672058, -0.08205729, 0.33623922, 0.2524126, 0.022668727) * go_0(1.0, 0.0); - result += mat4(0.083043605, -0.2989435, -0.14887308, 0.008989406, 0.01214123, -0.29387334, 0.015363028, -0.027485376, 0.13046521, 0.12814927, -0.05615426, -0.08612421, -0.3833321, 0.30930206, 0.3397905, 0.095533006) * go_0(1.0, 1.0); - result += mat4(-0.24895187, 0.033672538, 0.024642626, 0.049984645, 0.09217451, 0.14135426, -0.36297384, 0.10239864, 0.14611131, -0.022452299, 0.009058074, -0.18909958, -0.0049156225, 0.10530887, -0.06942197, -0.06450979) * go_1(-1.0, -1.0); - result += mat4(0.14025575, 0.030043123, 0.07131405, -0.0675702, 0.17274232, 0.17896765, -0.4741036, 0.35670453, 0.03911085, 0.079387054, 0.04420335, -0.040182803, 0.078871965, 0.16641952, -0.101532914, -0.07683543) * go_1(-1.0, 0.0); - result += mat4(0.09527535, -0.014889733, 0.003928801, -0.0144131305, 0.16238941, -0.073573746, -0.18349837, 0.057071213, -0.056580186, -0.048254594, -0.02551881, 0.13056543, 0.15681924, 0.11329136, 0.026496707, -0.15252273) * go_1(-1.0, 1.0); - result += mat4(-0.20110673, -0.17727304, 0.16747122, -0.060028642, -0.03426759, 0.34928, -0.16542526, -0.03665969, -0.11838656, 0.050624777, -0.11309917, 0.17241085, 0.07320429, -0.19349192, 0.36426768, -0.09952723) * go_1(0.0, -1.0); - result += mat4(-0.44797856, 0.13166381, 0.19358242, -0.17328072, 0.277866, 0.2704677, -0.3897292, -0.09388379, -0.11871803, 0.059352446, 0.02593061, 0.1112078, -0.44574997, -0.20000082, -0.06038736, 0.11825317) * go_1(0.0, 0.0); - result += mat4(0.035831098, 0.03203473, 0.007270905, -0.2803515, -0.07803025, -0.044999845, 0.05503914, 0.02849373, -0.019534718, 0.109557584, -0.057618562, -0.22376212, 0.037630744, 0.07285683, -0.10327242, 0.15022281) * go_1(0.0, 1.0); - result += mat4(-0.22891119, -0.07055901, -0.06924297, 0.091851085, 0.079149276, 0.072282575, 0.1054971, -0.055115294, 0.15652373, -0.18508117, -0.044487055, -0.09513059, -0.007512581, 0.04595113, -0.16729085, -0.038352273) * go_1(1.0, -1.0); - result += mat4(-0.33190495, 0.024579005, 0.3356564, -0.24311046, -0.12634008, 0.08820384, -0.028739989, 0.0871991, -0.011547642, 0.07184339, 0.098442815, 0.13700496, -0.0665544, 0.18513693, 0.0956979, -0.15374076) * go_1(1.0, 0.0); - result += mat4(0.18756114, -0.21920492, 0.06407122, -0.24816798, -0.061943263, -0.054488074, -0.081633896, 0.0920547, -0.08880129, -0.18094197, 0.006789256, 0.094598, 0.17799775, -0.26764068, -0.02588948, 0.17095666) * go_1(1.0, 1.0); - result += mat4(-0.17086025, -0.035769157, -0.11523461, 0.20404252, -0.0398533, -0.19902702, 0.0072308285, -0.099984154, -0.1378846, -0.14236672, 0.40502122, 0.13498029, 0.057273205, -0.06250679, 0.035283897, 0.01703995) * go_2(-1.0, -1.0); - result += mat4(0.12786144, -0.23442458, -0.047862124, -0.12505807, -0.23584808, -0.064344, 0.07848756, 0.08764069, 0.34468293, -0.29927257, -0.18664125, -0.20938, 0.07196786, -0.0116679, 0.16299239, -0.076479614) * go_2(-1.0, 0.0); - result += mat4(0.08299449, -0.065809734, 0.12079292, -0.14469329, -0.0102624465, 0.04364353, 0.080220595, -0.025435027, 0.010015513, -0.03863331, 0.28750968, -0.07637218, 0.049731467, -0.062238537, 0.04295189, -0.028037619) * go_2(-1.0, 1.0); - result += mat4(-0.3443906, -0.04198392, -0.1612832, 0.2218389, -0.01519015, 0.093942635, -0.15996122, -0.00093763386, 0.024008257, 0.035953972, -0.15771267, -0.07148778, 0.044501238, -0.14950006, 0.087219894, -0.05831199) * go_2(0.0, -1.0); - result += mat4(0.22099696, 0.117263354, -0.09403858, -0.20318906, 0.18389364, 0.13026148, 0.08169665, -0.014347075, -0.16660765, 0.026503418, 0.058967166, 0.26847002, -0.39771244, 0.36704144, 0.18202503, 0.15385705) * go_2(0.0, 0.0); - result += mat4(-0.015089774, 0.120200686, 0.114723265, 0.12578037, 0.16593805, 0.040399004, 0.11654924, 0.0025250788, -0.2342627, 0.05865, -0.16680475, -0.06301523, 0.07027856, 0.18853764, 0.5213158, -0.3325365) * go_2(0.0, 1.0); - result += mat4(-0.046818264, 0.04336355, 0.020795586, 0.09917639, -0.028305013, -0.14843199, 0.16168857, -0.18567303, 0.010514865, 0.06331522, 0.064430796, 0.034681283, 0.041065965, 0.06522019, 0.055882502, -0.015027999) * go_2(1.0, -1.0); - result += mat4(0.18064371, -0.17903666, -0.24589087, 0.072444126, 0.13745096, -0.011904026, -0.19597653, 0.023044739, 0.01585197, -0.1759934, 0.2287553, -0.20533411, -0.2898527, 0.42946577, -0.07443011, 0.052736074) * go_2(1.0, 0.0); - result += mat4(0.043961097, 0.10761276, -0.0034299751, 0.10491056, 0.004527805, 0.077598244, 0.077725716, 0.030323742, -0.20945124, -0.2235839, 0.05397613, 0.2072019, 0.008769854, 0.30513015, -0.104206346, -0.20982127) * go_2(1.0, 1.0); - result += mat4(0.0858221, -0.013858144, 0.11189161, -0.005996965, 0.13058044, 0.23954146, -0.29756296, 0.1801562, -0.034966737, 0.16073282, -0.06920962, 0.16596314, -0.06746436, 0.18948093, -0.17374122, 0.035474796) * go_3(-1.0, -1.0); - result += mat4(-0.23172139, -0.062111232, 0.028210253, -0.022090558, 0.2854972, 0.015097004, -0.2057132, -0.19835956, 0.14960685, 0.09755452, -0.17077617, -0.10259408, -0.11695073, 0.071428165, 0.18146773, 0.22237262) * go_3(-1.0, 0.0); - result += mat4(-0.008571818, 0.2160462, 0.20442474, 0.008256999, -0.0054347264, -0.036963176, -0.023052184, -0.27406418, 0.0155730015, 0.13230084, 0.028925262, -0.22739749, -0.07608481, -0.059095357, -0.17677523, 0.020464322) * go_3(-1.0, 1.0); - result += mat4(0.09186881, 0.10612606, -0.29759738, 0.04590405, 0.042567376, 0.77174157, -0.3156031, 0.22815126, -0.0745266, -0.08352131, -0.03825007, -0.14752272, 0.14866033, -0.07303083, 0.01180863, 0.12170875) * go_3(0.0, -1.0); - result += mat4(-0.033268124, -0.08281718, 0.040441882, -0.05514993, 0.07650108, 0.5294327, -0.22229794, 0.049523506, 0.021545604, 0.03359928, 0.032059934, -0.0082821995, 0.036441952, -0.5097175, 0.38215104, 0.33496317) * go_3(0.0, 0.0); - result += mat4(-0.18900043, 0.3539563, 0.25134736, 0.21487151, 0.22043267, 0.13304482, -0.17353508, -0.15632114, -0.067851126, -0.08173108, 0.0035601144, 0.16791934, -0.07563204, -0.07128694, 0.10757592, 0.26915342) * go_3(0.0, 1.0); - result += mat4(0.1761959, 0.025833737, 0.09164757, -0.030622564, -0.22870748, 0.11929823, -0.24930833, 0.07446655, -0.17372188, -0.66051316, 0.15344264, 0.20571554, 0.0620721, 0.08122408, -0.0952373, 0.04144613) * go_3(1.0, -1.0); - result += mat4(-0.053072393, -0.15877937, -0.065579735, 0.09932804, 0.06803561, 0.11719737, -0.0639249, -0.14433555, 0.1210262, 0.057197437, -0.19896421, 0.2387559, 0.35206345, -0.36237878, -0.12187686, 0.24411117) * go_3(1.0, 0.0); - result += mat4(-0.44384086, -0.063816145, 0.14313193, 0.042119484, 0.13939157, 0.02742546, -0.010837158, -0.11953808, 0.083049394, 0.22100104, 0.12818006, -0.27883413, -0.22672728, 0.28484213, 0.053133663, -0.2364556) * go_3(1.0, 1.0); - result += vec4(-0.021096209, -0.016017085, 0.009604813, -0.023907887); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0028523596, -0.03346185, 0.30194005, 0.26316985, -0.108354695, 0.19872186, -0.14200853, 0.28833616, 0.009908957, 0.049258288, 0.18224198, -0.10260487, -0.011250263, -0.027236924, -0.03667901, 0.035038423) * go_0(-1.0, -1.0); - result += mat4(-0.10311966, -0.07219459, 0.13850203, -0.07606934, 0.16186213, 0.20828444, -0.113131486, 0.21757083, -0.14668499, -0.015719058, -0.24257174, 0.33343476, 0.042950086, 0.014013289, -0.095338345, -0.10305408) * go_0(-1.0, 0.0); - result += mat4(-0.054802764, -0.03977167, 0.058000274, 0.06520257, -0.06657145, 0.09240672, 0.18538313, -0.057592865, 0.11657067, 0.1435708, -0.10273095, -0.12743765, 0.031955425, -0.032504886, -0.043181136, -0.033146795) * go_0(-1.0, 1.0); - result += mat4(0.17017461, 0.023741657, 0.12772968, 0.054186005, -0.06654799, 0.13280976, -0.08608028, -0.18274061, -0.14409089, -0.07336282, -0.21611233, 0.3030394, -0.22331606, -0.04621103, 0.008330136, 0.13817237) * go_0(0.0, -1.0); - result += mat4(0.12490482, -0.15037048, -0.308773, 0.015911192, -0.23533738, -0.3296806, -0.16643348, -0.18637176, 0.3725922, 0.22720487, 0.101118185, -0.1130553, 0.14583476, 0.25240546, 0.07148758, -0.023047412) * go_0(0.0, 0.0); - result += mat4(-0.21086755, 0.10873368, 0.23762812, -0.12715688, 0.07081291, -0.13914634, 0.23084821, -0.027778924, -0.011987815, -0.27076182, -0.037216157, -0.028230239, -0.055693954, -0.1835301, -0.19994727, -0.05208119) * go_0(0.0, 1.0); - result += mat4(0.0063535348, -0.047104187, 0.16425404, -0.003719743, -0.048529398, -0.17317753, -0.048431315, 0.12659106, -0.10488035, 0.14231968, -0.042716738, -0.20889871, -0.17258343, -0.1703121, -0.08134935, -0.08982632) * go_0(1.0, -1.0); - result += mat4(-0.047956906, 0.02809404, -0.23035078, 0.017211597, 0.056016855, -0.16766964, 0.024528379, 0.15064329, -0.20351112, -0.16514936, -0.013601919, 0.056769293, -0.4962774, -0.315249, -0.11879433, 0.24711494) * go_0(1.0, 0.0); - result += mat4(0.11659998, 0.23360188, -0.037019785, 0.01478414, -0.0056206854, -0.058505666, 0.05248197, 0.048921894, 0.014286839, -0.05282425, 0.12870628, 0.12335835, -0.2298834, -0.34117943, 0.07997886, 0.026714392) * go_0(1.0, 1.0); - result += mat4(-0.061862264, -0.024006715, 0.1239327, -0.06400159, -0.1736359, -0.13043079, -0.047287256, 0.092979684, -0.052144498, 0.046599787, 0.03391796, 0.10504723, 0.12802011, 0.05123276, 0.15974, 0.052002482) * go_1(-1.0, -1.0); - result += mat4(0.22270438, -0.15555483, 0.10334453, -0.033303298, -0.13101499, 0.37030843, -0.6013731, 0.22835553, 0.17596579, -0.0012125646, 0.000731955, -0.03726906, -0.033959538, 0.10808315, 0.043731548, 0.12308547) * go_1(-1.0, 0.0); - result += mat4(-0.02969512, 0.029882276, -0.04630252, -0.029674841, 0.15309821, 0.35859957, -0.15453109, 0.12228518, -0.062312573, -0.030289005, 0.10737798, 0.01659783, -0.07855408, 0.090425, -0.07134876, 0.10678761) * go_1(-1.0, 1.0); - result += mat4(0.068100914, -0.16862309, 0.2094642, -0.02229975, -0.1045019, -0.043305863, 0.18030378, -0.085608065, -0.13514027, 0.11298315, -0.009570404, -0.03180812, 0.19233464, -0.058786966, -0.06211013, 0.1411384) * go_1(0.0, -1.0); - result += mat4(0.025985425, 0.08034115, 0.14352584, 0.039992746, -0.034363434, 0.27888498, -0.21407174, -0.15813926, -0.10999899, -0.15183197, -0.23127002, 0.10193841, 0.029217485, 0.069463246, 0.093416885, -0.17118438) * go_1(0.0, 0.0); - result += mat4(-0.34840858, 0.18985972, 0.1336286, 0.11525281, -0.12827359, -0.14426456, 0.13312757, -0.06653705, 0.050836112, 0.06430556, 0.14759327, 0.043341596, 0.17556888, -0.14065917, 0.046736937, -0.01075016) * go_1(0.0, 1.0); - result += mat4(0.13843128, -0.07928894, 0.09180436, -0.17497942, -0.0075141867, -0.13388832, 0.07851216, 0.16109377, 0.190535, -0.05877419, -0.010671232, 0.056779247, 0.005048462, 0.084110186, 0.053035934, -0.18244119) * go_1(1.0, -1.0); - result += mat4(0.2849969, -0.045472432, -0.007433944, 0.1180168, 0.060636494, 0.13299662, -0.14055575, 0.045158602, -0.08960926, 0.013875276, -0.01840017, -0.06518111, -0.062131494, 0.13034189, -0.086812675, -0.302895) * go_1(1.0, 0.0); - result += mat4(0.116545, 0.19018339, 0.015378095, 0.11349383, 0.097009905, 0.08176944, 0.033653412, -0.08137759, 0.03190533, 0.0014444767, -0.110253245, -0.075649016, -0.19349468, -0.22105742, -0.026897507, 0.11604942) * go_1(1.0, 1.0); - result += mat4(-0.1504224, -0.17498577, -0.111215115, -0.18127528, 0.01749777, 0.02000031, 0.10482995, 0.0281041, 0.14524435, 0.032341465, -0.1431526, 0.035199255, 0.07964384, 0.12253888, -0.04288506, 0.08354433) * go_2(-1.0, -1.0); - result += mat4(0.12756018, -0.09853538, -0.14765038, -0.14513035, -0.1674001, 0.041217312, 0.1293034, -0.14122911, 0.22340834, 0.026480576, 0.30324772, -0.14868121, -0.007565819, -0.118748344, 0.13285564, 0.00254272) * go_2(-1.0, 0.0); - result += mat4(0.049038395, -0.053402808, -0.20165808, -0.023086373, 0.11763773, -0.06335101, -0.033782937, 0.04164607, -0.18420623, -0.19549052, 0.046879902, 0.009774202, 0.01943834, 0.0056786705, -0.076153725, 0.02122122) * go_2(-1.0, 1.0); - result += mat4(-0.26325268, -0.031591017, -0.009897877, 0.1264021, 0.17001875, -0.0703141, 0.09623203, -0.3370359, 0.18430787, 0.27577603, 0.24643779, -0.0070356624, 0.14593714, -0.0370321, -0.09890827, -0.2308416) * go_2(0.0, -1.0); - result += mat4(-0.07015072, 0.096860155, 0.237449, 0.02297801, 0.055075265, 0.27420217, 0.020077437, 0.18272734, -0.33312458, 0.10344985, -0.2324171, 0.065973476, -0.20755117, -0.27599007, -0.5285744, -0.4155286) * go_2(0.0, 0.0); - result += mat4(0.07746828, -0.05007699, -0.0768586, 0.20854229, -0.03390625, 0.030966418, -0.019005757, -0.044068232, 0.107805826, 0.27990255, 0.20861949, -0.13380727, 0.11099171, -0.24434194, -0.44939178, 0.09977314) * go_2(0.0, 1.0); - result += mat4(-0.025078122, 0.1578438, -0.087854326, 0.20194288, 0.09858984, 0.05664248, 0.007542862, -0.08403176, 0.1984592, -0.18137619, 0.008725761, 0.1726853, -0.05140944, 0.011235891, -0.043068934, 0.0055390405) * go_2(1.0, -1.0); - result += mat4(0.11204605, 0.12672849, 0.21329713, 0.022434214, 0.18346484, 0.15253071, -0.07683229, -0.023870528, 0.15187134, 0.16080903, -0.20011483, -0.055256322, 0.2351501, -0.10940274, 0.3296904, -0.08561938) * go_2(1.0, 0.0); - result += mat4(-0.116775244, -0.034662195, 0.09385859, 0.015938438, 0.04321025, 0.07417467, -0.020254206, -0.021971289, 0.082221195, -0.17118677, -0.0803086, -0.04383127, -0.040375095, 0.19555633, -0.02246454, -0.039880734) * go_2(1.0, 1.0); - result += mat4(0.091371894, 0.07079164, -0.061235007, -0.074043915, -0.07527448, 0.20644194, -0.025892835, 0.288527, -0.0681896, -0.18799694, -0.02397431, -0.20931835, -0.23740639, -0.21364078, -0.066721395, 0.046312522) * go_3(-1.0, -1.0); - result += mat4(0.028192231, -0.076668344, -0.048378978, 0.08975191, 0.11627764, 0.1206538, 0.13604914, -0.32365093, -0.3457084, 0.038705852, -0.11968679, -0.03261415, -0.08069945, 0.06448551, -0.04925646, -0.112106614) * go_3(-1.0, 0.0); - result += mat4(0.02704155, -0.38007632, -0.12648691, 0.0065948786, -0.107972704, -0.07776103, -0.09248745, -0.034419768, 0.08890347, 0.005535876, -0.17764446, 0.01000324, 0.09786164, 0.0046856827, 0.071132, -0.07665281) * go_3(-1.0, 1.0); - result += mat4(0.084308736, 0.12159227, 0.09618809, -0.095442675, -0.19964129, 0.12708808, 0.13591234, -0.08824806, 0.13553478, 0.116799936, 0.2792844, 0.3961157, -0.21412137, 0.35075518, -0.4579121, 0.13404456) * go_3(0.0, -1.0); - result += mat4(0.14321525, -0.2190369, -0.0017736118, 0.04966717, -0.21058443, 0.03795149, 0.024490742, 0.16852312, 0.23549259, 0.098397486, 0.39796385, -0.17331013, 0.57935876, 0.14168213, 0.10026468, 0.12272344) * go_3(0.0, 0.0); - result += mat4(0.23204985, -0.13793765, -0.09148106, -0.24824184, 0.03669933, 0.40166143, -0.26450562, 0.1297136, -0.0033718192, -0.14882618, -0.027010696, 0.15510502, -0.13116877, 0.13243876, 0.29493085, -0.159246) * go_3(0.0, 1.0); - result += mat4(0.14412704, -0.043252222, 0.038036022, 0.21720204, 0.16157351, 0.25108346, 0.05750981, -0.11665398, 0.15858066, 0.13024889, -0.30726764, -0.017599456, -0.13654993, 0.16810633, -0.22028227, 0.054728623) * go_3(1.0, -1.0); - result += mat4(0.04761309, -0.1425047, 0.121673144, -0.0067104516, 0.13617267, 0.11343255, 0.14773287, -0.111807466, 0.29447448, 0.043634728, 0.040583152, -0.22446026, -0.17453341, -0.1746306, -0.27435815, 0.1823859) * go_3(1.0, 0.0); - result += mat4(0.0914674, -0.1296898, 0.081237026, -0.03182429, -0.082685776, 0.08469174, -0.014075701, 0.043630067, -0.02028655, 0.043165345, 0.14293486, 0.03086512, 0.16910627, 0.32537475, -0.022409504, -0.15651123) * go_3(1.0, 1.0); - result += vec4(-0.010434646, -0.007589305, 0.03614506, 0.017320616); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13837793, -0.05485083, -0.11455316, -0.23340753, -0.0019060506, 0.014073009, -0.006939684, 0.013028122, 0.0070730825, 0.07576272, -0.046580516, -0.10440529, -0.14514132, 0.118322305, 0.15771718, -0.10368211) * go_0(-1.0, -1.0); - result += mat4(0.0033887655, 0.105515614, -0.022994144, 0.20720185, 0.014884114, 0.04068789, 0.14153919, -0.20556916, -0.106429465, 0.15578473, 0.17493904, 0.27673894, 0.068228535, -0.17600566, 0.117449455, 0.1464803) * go_0(-1.0, 0.0); - result += mat4(-0.13132714, 0.057890475, -0.15540479, -0.05904855, 0.10353088, -0.014439668, 0.10086415, -0.035871122, 0.15052663, -0.017041713, 0.039761867, -0.20937371, 0.034573525, -0.10553617, 0.054362305, -0.1131222) * go_0(-1.0, 1.0); - result += mat4(0.043574177, -0.12957309, 0.06257102, 0.059841774, 0.025344899, -0.08974694, -0.02106646, -0.083086155, 0.044729084, 0.07391884, 0.026620472, 0.029281206, 0.0439835, -0.040075477, 0.20127645, 0.08995277) * go_0(0.0, -1.0); - result += mat4(0.4999535, -0.16519144, -0.082569085, 0.08618579, 0.20361039, -0.16703975, 0.013153, 0.19670624, 0.2853662, -0.11533776, -0.109247334, 0.06345074, 0.0635587, 0.104548655, 0.31481677, 0.2264137) * go_0(0.0, 0.0); - result += mat4(0.029020509, 0.24992752, 0.5356852, 0.16753946, -0.057788625, 0.02481026, 0.2059601, 0.16616577, -0.078577444, 0.307072, -0.08813778, 0.09565001, 0.02336261, -0.1928066, -0.0876608, -0.15015014) * go_0(0.0, 1.0); - result += mat4(0.079325944, 0.062302455, -0.10960886, -0.0025239969, 0.02924214, 0.026142644, 0.0821952, 0.008034841, 0.121127814, 0.109858714, -0.053383715, 0.22161359, 0.03572371, 0.013655175, -0.27442926, 0.038870957) * go_0(1.0, -1.0); - result += mat4(-0.057337154, 0.03110442, 0.07781571, 0.17697155, 0.10287903, 0.10192227, -0.036485553, -0.07374302, 0.081604324, 0.1566476, 0.23592737, 0.09747013, -0.095862515, -0.1456753, 0.057745866, -0.17291927) * go_0(1.0, 0.0); - result += mat4(-0.070838295, 0.15307118, -0.16363588, 0.08716062, -0.012117197, 0.09717453, -0.057428412, 0.019387208, -0.011734471, 0.28442237, -0.0138647, 0.1619097, 0.046210334, -0.06327717, 0.035489302, -0.055681925) * go_0(1.0, 1.0); - result += mat4(0.03013589, -0.16602181, 0.00417107, -0.022452664, 0.03615902, 0.09972378, -0.043409757, -0.028448848, -0.055032104, 0.08841848, -0.12667881, -0.06865927, -0.020555131, -0.09292043, 0.03676055, 0.1469838) * go_1(-1.0, -1.0); - result += mat4(-0.03413294, 0.1853497, -0.21196875, -0.2122292, -0.046451584, 0.33640862, 0.11074589, 0.0038315703, -0.32845765, -0.018679257, -0.24653831, 0.15887207, 0.018353334, -0.32828686, 0.070055164, 0.22649562) * go_1(-1.0, 0.0); - result += mat4(-0.11916958, -0.11415976, 0.10442459, 0.026471134, 0.15098315, 0.030927312, 0.08758737, 0.04333666, -0.40113255, -0.22881064, -0.18026584, 0.010727328, 0.04185913, -0.033592816, 0.019705769, -0.09931264) * go_1(-1.0, 1.0); - result += mat4(-0.024548884, 0.070657834, 0.04315053, -0.09292352, -0.023722034, -0.06946775, -0.017095754, 0.14835307, -0.030104019, 0.13317905, 0.052319784, 0.18717423, 0.024163181, 0.04198584, 0.024550296, 0.09124823) * go_1(0.0, -1.0); - result += mat4(0.36571705, 0.28200173, -0.031241365, 0.32836193, 0.15685938, 0.14499408, -0.03710283, -0.105348445, 0.2111411, -0.14371765, 0.22234774, 0.12241296, 0.12288187, -0.29133305, -0.23992771, 0.102442585) * go_1(0.0, 0.0); - result += mat4(-0.30764952, -0.38244587, -0.021552043, 0.02371933, -0.043024007, -0.09969857, -0.08754052, -0.05584622, 0.32374346, 0.21340463, 0.110945925, -0.19904156, -0.1425847, -0.16605812, -0.14231746, -0.14958249) * go_1(0.0, 1.0); - result += mat4(0.07996341, 0.036993798, 0.013508032, 0.015037227, -0.05188829, -0.08953449, 0.024801137, 0.20462893, -0.013199976, -0.19138044, -0.056084607, 0.14518543, -0.029846137, 0.033994604, 0.006321045, -0.19919403) * go_1(1.0, -1.0); - result += mat4(0.09230355, 0.17356168, -0.057000663, -0.10861382, 0.038658872, 0.01218888, 0.19109936, 0.021123217, 0.042241503, 0.008514072, 0.031998653, 0.014464009, -0.036506813, 0.27310863, -0.052563597, -0.21396813) * go_1(1.0, 0.0); - result += mat4(-0.036255296, -0.11269877, -0.07659167, -0.09690911, -0.027218975, 0.105712906, 0.05750272, 0.14222133, 0.016676722, 0.0962918, 0.05514509, -0.023851087, -0.07117767, -0.020666543, -0.23072378, -0.043072045) * go_1(1.0, 1.0); - result += mat4(0.1542571, -0.13077767, -0.0881844, -0.00536349, 0.019526271, -0.1529528, -0.11660246, -0.1698449, 0.019345785, -0.039716557, 0.14421196, 0.08003151, 0.15334103, -0.16667187, 0.006088769, 0.13378714) * go_2(-1.0, -1.0); - result += mat4(-0.08746076, 0.060209457, 0.051582757, 0.02863364, 0.1454257, 0.42194176, 0.09892967, 0.26043537, -0.06934357, -0.1020657, 0.23833197, 0.15991127, 0.09294198, 0.017690487, 0.11748737, -0.2849694) * go_2(-1.0, 0.0); - result += mat4(0.12285264, 0.073884204, -0.027040116, 0.03438263, -0.060739577, 0.17927702, 0.16900496, 0.3545027, 0.1545223, -0.09951323, 0.42339948, 0.14226453, 0.10644413, 0.15645456, -0.03346077, -0.009488195) * go_2(-1.0, 1.0); - result += mat4(-0.080912456, 0.16929491, 0.027275667, -0.020797532, 0.05746718, -0.071174294, 0.3193612, 0.055932105, 0.031726856, -0.03390961, 0.13757136, -0.017296424, -0.041106436, 0.02487556, -0.29788992, -0.29300368) * go_2(0.0, -1.0); - result += mat4(-0.32740706, 0.4221705, 0.35447162, 0.13970987, 0.07307587, 0.65598255, 0.7267268, 0.35669217, -0.24410655, 0.30564576, -0.033510603, 0.20394838, -0.012135275, -0.12212605, 0.00741055, -0.12938774) * go_2(0.0, 0.0); - result += mat4(0.17577599, -0.075835876, -0.06821395, -0.19289997, 0.048764437, 0.11093425, 0.15844633, 0.21540429, -0.14261006, -0.12678951, -0.05380409, 0.21502183, -0.053737447, -0.23268248, 0.077271536, -0.11794149) * go_2(0.0, 1.0); - result += mat4(-0.06283879, -0.11581014, -0.0077474653, -0.051150266, 0.017263902, -0.12403667, 0.13689952, -0.13955206, -0.036969677, 0.04593233, 0.31484202, -0.021023672, 0.006109164, -0.022175733, 0.32699695, -0.26805824) * go_2(1.0, -1.0); - result += mat4(0.07529928, -0.020912366, -0.14532542, -0.13928838, 0.07875855, -0.18651104, 0.47042093, 0.342289, -0.06575549, -0.13776249, 0.21936299, 0.124723375, 0.05280059, -0.07600857, 0.0027616988, 0.11619774) * go_2(1.0, 0.0); - result += mat4(0.06760704, -0.11735106, 0.07262433, -0.040624633, 0.35947633, 0.29390943, 0.025136888, -0.12812558, 0.17102966, -0.15462054, 0.37353945, 0.030337518, -0.01959842, -0.07917661, 0.036980435, -0.008516924) * go_2(1.0, 1.0); - result += mat4(-0.07072042, 0.19770962, -0.039348952, 0.06489617, -0.03382829, -0.11054973, -0.035438936, 0.011020459, -0.050599303, -0.07308136, -0.029521624, 0.0694216, 0.021597218, 0.07275136, 0.1196986, -0.021191286) * go_3(-1.0, -1.0); - result += mat4(0.027155813, -0.024280313, -0.1322834, 0.219577, 0.013412778, 0.027934693, -0.10113296, 0.16649272, 0.029343246, 0.08333487, -0.09067474, -0.06318277, 0.016611677, 0.22737436, 0.11019619, -0.11105013) * go_3(-1.0, 0.0); - result += mat4(-0.10233781, 0.04936236, -0.12536384, 0.1270058, -0.07842266, 0.0018531404, 0.021235077, -0.13014361, -0.06192502, -0.07054751, -0.05475905, 0.053059015, 0.15269022, 0.11485296, -0.09188326, -0.13495958) * go_3(-1.0, 1.0); - result += mat4(-0.038748156, 0.17470013, 0.008070423, 0.47245374, 0.14041074, 0.0029743444, 0.09280988, -0.16300924, 0.025588343, 0.042092193, 0.021749513, -0.07912978, -0.08887605, -0.06223286, -0.017056612, 0.11412155) * go_3(0.0, -1.0); - result += mat4(-0.62907135, -0.054125126, -0.3091851, -0.2599738, 0.24917828, 0.36420155, 0.07772076, 0.039711658, -0.25157338, -0.023638945, -0.054642107, 0.25950512, -0.26855794, 0.16737756, -0.011335203, -0.383141) * go_3(0.0, 0.0); - result += mat4(0.019852921, 0.2599611, -0.17794183, 0.086149536, 0.27634904, 0.21865687, -0.047085866, -0.08818839, 0.013813605, 0.21364933, -0.22009525, -0.030338509, -0.1512191, 0.042633552, -0.17577383, 0.0662118) * go_3(0.0, 1.0); - result += mat4(-0.15513746, -0.07846239, -0.13220623, 0.106471166, 0.05573645, 0.16334842, -0.07945537, -0.19104981, -0.013032576, 0.08952008, 0.055789266, -0.035824023, -0.017594192, -0.04652965, -0.30483812, 0.054347165) * go_3(1.0, -1.0); - result += mat4(0.054959666, -0.055990525, 0.142193, 0.09890494, 0.047798425, 0.15105279, -0.16933344, -0.08214855, -0.11551477, 0.06605292, -0.20606443, -0.04266445, 0.01709317, -0.097884715, -0.21919689, 0.024738865) * go_3(1.0, 0.0); - result += mat4(0.009435747, -0.0011143036, 0.08239794, 0.06413721, -0.09412612, -0.07816752, 0.0070877066, -0.054295234, -0.02152047, -0.057394918, -0.02919309, 0.020081067, -0.03086805, -0.056924064, 0.026491363, 0.015115628) * go_3(1.0, 1.0); - result += vec4(0.0012513401, 0.026057906, 0.010539876, 0.009830541); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.057580933, 0.01911187, -0.008719538, -0.017969212, -0.24201718, -0.058988657, -0.0025294814, -0.011815471, -0.10723921, -0.19644037, 0.020027963, 0.035667516, 0.08559372, 0.27885816, 0.064953476, -0.05350714) * go_0(-1.0, -1.0); - result += mat4(0.045166798, -0.10751055, 0.053228382, 0.12519331, 0.25117958, 0.06537292, -0.15587787, -0.07206778, 0.06837826, -0.043205425, -0.12318706, -0.15438488, 0.03246428, 0.074852064, 0.062248066, -0.009753593) * go_0(-1.0, 0.0); - result += mat4(0.09432274, 0.011490796, -0.04061421, -0.16661306, 0.05983951, -0.020288106, 0.029864697, 0.013547436, 0.021477815, -0.07964464, 0.045970913, 0.16307391, -0.04462305, 0.046968628, 0.029862186, 0.11649774) * go_0(-1.0, 1.0); - result += mat4(-0.14416671, 0.12803924, -0.18187119, -0.15840115, -0.10262368, 0.043705128, -0.10072281, -0.06468493, -0.043781534, -0.015372785, -0.16681372, 0.05544772, 0.03745967, -0.30812827, 0.007939141, -0.14296778) * go_0(0.0, -1.0); - result += mat4(-0.10959357, -0.23731256, 0.17797269, 0.1566764, -0.04658083, -0.08226227, 0.065335095, 0.12799698, -0.04347693, 0.07439239, 0.124068074, -0.12433461, 0.39953944, -0.4547675, -0.15020098, 0.029323136) * go_0(0.0, 0.0); - result += mat4(0.008521254, -0.42012635, -0.103437595, -0.14140712, -0.13161388, -0.04296955, -0.03418078, -0.11619488, -0.113280736, -0.04337926, -0.15152383, -0.025833655, -0.037376937, 0.028724195, 0.035038933, 0.07584188) * go_0(0.0, 1.0); - result += mat4(-0.0015208189, 0.02739281, 0.07880385, -0.05264596, 0.0006570586, -0.053559244, -0.060818747, 0.0014127572, -0.12706065, -0.22151639, 0.0050813453, 0.03868026, 0.017800469, 0.08653453, 0.12580872, 0.10975057) * go_0(1.0, -1.0); - result += mat4(-0.016247116, 0.060199317, 0.08806292, -0.0053588278, -0.036467995, 0.14757904, 0.010754306, 0.060899615, -0.1110678, -0.050623085, -0.021320427, -0.1970179, 0.1138183, 0.02913883, 0.011708719, -0.0031000238) * go_0(1.0, 0.0); - result += mat4(-0.07490824, 0.26012638, 0.023562372, -0.04637545, 0.015996248, -0.02646302, 0.0035619289, 0.009863964, 0.004463742, -0.13282667, 0.04664953, -0.07782132, 0.026051573, -0.13182716, -0.03470513, 0.082064465) * go_0(1.0, 1.0); - result += mat4(-0.04953172, 0.055778302, -0.007956572, 0.06453463, -0.112365015, 0.031204617, -0.031123973, 0.13237885, -0.08588153, -0.15947914, 0.25160727, -0.0101198545, -0.09021632, 0.0047894586, -0.008986191, -0.11622616) * go_1(-1.0, -1.0); - result += mat4(-0.07868324, -0.03463213, 0.011006695, 0.0033356217, 0.032993857, -0.10459223, -0.11331984, -0.17686851, -0.13263261, -0.22213052, 0.10728409, -0.1332059, -0.0019830016, -0.062202223, -0.12468388, -0.102955) * go_1(-1.0, 0.0); - result += mat4(0.06774758, -0.019607622, -0.054707706, -0.032572657, -0.056999106, 0.0063034142, -0.0040720105, 0.04574635, 0.21903323, 0.13402393, -0.07107346, -0.08973124, 0.020255536, -0.021238161, -0.104306765, -0.009237116) * go_1(-1.0, 1.0); - result += mat4(0.10643413, -0.116414584, -0.097003944, -0.07626372, -0.28920346, 0.023803055, 0.07691808, 0.015008518, -0.1373578, 0.01935071, -0.07574301, 0.052712873, 0.09657614, -0.02497193, -0.0043158466, -0.09333523) * go_1(0.0, -1.0); - result += mat4(-0.25414145, -0.26243624, 0.12937985, -0.17944777, 0.3664257, -0.06487048, -0.10509681, -0.10630014, 0.075283855, 0.4662916, -0.0014712083, -0.29535007, -0.13022043, 0.25766194, 0.14769283, 0.10512634) * go_1(0.0, 0.0); - result += mat4(0.0689302, 0.022661772, -0.043984957, 0.13596754, -0.06885858, 0.059424106, 0.017230453, 0.08873089, 0.32940426, -0.12071059, -0.08323642, 0.23238598, -0.06291085, 0.09859973, -0.00700876, 0.12986307) * go_1(0.0, 1.0); - result += mat4(-0.060717613, 0.030503884, -0.06323549, 0.0059739, 0.08190414, 0.047006775, -0.0023143853, -0.027005509, -0.17168896, 0.20450558, 0.047933526, -0.03124133, 0.14688456, 0.044616744, -0.07474459, 0.13730273) * go_1(1.0, -1.0); - result += mat4(0.16486372, 0.13952915, 0.1093748, -0.031850196, -0.14090009, -0.120079, 0.023628023, -0.077027865, 0.09811187, -0.033171307, -0.03331771, -0.038893215, 0.011286584, -0.15111947, -0.017341943, 0.0015878569) * go_1(1.0, 0.0); - result += mat4(-0.09481133, 0.107053526, 0.047643233, 0.16805217, -0.0678524, -0.07519125, -0.02258995, -0.13705339, 0.16563395, -0.16972524, 0.04326224, 0.024816778, 0.010601283, -0.041156873, 0.062542215, 0.047571044) * go_1(1.0, 1.0); - result += mat4(0.12500185, -0.006936863, 0.024489427, 0.1740798, -0.036525737, -0.12511401, 0.07990025, 0.02839474, -0.12753619, -0.06010621, 0.08279232, -0.081194244, -0.09039855, -0.18112564, -0.26476932, -0.031485114) * go_2(-1.0, -1.0); - result += mat4(-0.100102335, 0.22857793, 0.14938287, -0.014803003, -0.17217094, -0.62685734, 0.095959224, 0.17851897, 0.06559054, 0.10896349, 0.0067452556, -0.07877991, 0.15820199, -0.19860643, -0.23554341, 0.108216554) * go_2(-1.0, 0.0); - result += mat4(-0.06440183, -0.086768515, 0.06501931, -0.013325654, 0.048092242, -0.2516782, -0.07378936, -0.5093634, -0.21180914, 0.028729467, 0.097722694, -0.10443471, 0.087278105, -0.13554108, -0.07925715, 0.025918096) * go_2(-1.0, 1.0); - result += mat4(0.101379745, -0.098901495, 0.088425554, 0.10312074, -0.06832467, -0.14247051, -0.06577163, 0.038505282, -0.058837283, -0.041290045, 0.024700344, -0.03952513, 0.050091445, 0.20111398, -0.12729187, 0.17162229) * go_2(0.0, -1.0); - result += mat4(-0.14357474, -0.52516335, -0.28848764, -0.25948864, -0.6469683, -0.25461218, -0.12740892, -0.23631012, -0.14096075, -0.28670883, 0.12026559, -0.17575467, 0.40593022, 0.09236864, 0.11895183, -0.21580887) * go_2(0.0, 0.0); - result += mat4(-0.027686533, -0.014736693, 0.11776454, 0.104835264, -0.1122669, -0.10067572, 0.054669123, -0.3256272, -0.1618158, 0.24705333, 0.07530265, -0.16693603, 0.11981224, -0.01764311, 0.035309367, 0.18991415) * go_2(0.0, 1.0); - result += mat4(0.075753845, 0.030512655, -0.033218108, -0.0020751022, -0.059813447, 0.13577273, -0.17669228, -0.015658198, -0.03524086, -0.027248759, 0.011696296, -0.13176118, 0.13976848, -0.11381985, -0.069327734, -0.04551793) * go_2(1.0, -1.0); - result += mat4(0.025345126, -0.017192554, -0.10062235, 0.19348828, -0.1404843, 0.19161314, -0.266943, -0.30460906, -0.25685784, 0.023311002, -0.21997964, -0.04452797, 0.039271735, -0.0077815196, 0.05758964, 0.08804478) * go_2(1.0, 0.0); - result += mat4(0.04886391, -0.017406208, -0.038027596, 0.012643386, 0.14007851, 0.0012767792, -0.115759425, 0.097489856, 0.17599659, -0.050711423, -0.084151536, -0.15770845, -0.08287477, 0.120081306, 0.015947923, -0.06668065) * go_2(1.0, 1.0); - result += mat4(-0.10980535, 0.12270783, 0.063907675, -0.07847296, 0.10355225, -0.31747913, -0.10403689, 0.005290646, 0.07667107, -0.10277437, -0.08069292, -0.02559804, -0.047999926, 0.29834297, -0.036717292, -0.05650061) * go_3(-1.0, -1.0); - result += mat4(-0.103821196, -0.009593053, 0.066295676, -0.38370672, -0.037927628, -0.2711836, 0.1377398, -0.08418159, -0.0737972, -0.039782777, 0.13933297, 0.04516865, -0.06268818, 0.337236, -0.121655226, -0.008400626) * go_3(-1.0, 0.0); - result += mat4(-0.15113829, 0.0017028727, -0.02523152, 0.020020628, 0.14301538, -0.20421621, -0.07266804, 0.04835691, -0.03385325, 0.06579219, -0.026479365, -0.037032843, 0.038153037, 0.014210751, -0.03542229, 0.0710242) * go_3(-1.0, 1.0); - result += mat4(0.0054667736, 0.01744876, 0.3065127, 0.049586684, 0.18856415, 0.2730343, -0.2333077, 0.0068653813, 0.3263104, 0.1581569, -0.067741506, -0.10893117, -0.23163976, 0.0029724934, 0.21427019, -0.05729933) * go_3(0.0, -1.0); - result += mat4(0.2783585, 0.17852917, -0.1389073, 0.1369532, -0.10491301, 0.3753245, -0.2739856, 0.18703647, -0.64889586, 0.06298504, -0.29364008, 0.17944366, 0.09733316, -0.21755181, 0.090409346, -0.022404745) * go_3(0.0, 0.0); - result += mat4(-0.08643692, 0.043516237, 0.07125337, -0.23520306, 0.042653214, 0.058355685, -0.13027787, -0.0015239809, 0.06168663, 0.04952333, 0.03217504, -0.094814256, 0.25104445, 0.06959146, -0.14522897, -0.034003105) * go_3(0.0, 1.0); - result += mat4(0.10193368, 0.109207876, 0.06922978, -0.035177775, 0.08234648, -0.24269609, 0.05216447, 0.07194904, 0.08424774, -0.023948545, 0.1292036, -0.16073976, -0.11004149, -0.14011864, 0.05699544, 0.08603814) * go_3(1.0, -1.0); - result += mat4(-0.159505, 0.011439578, 0.031358175, -0.074699186, 0.16425711, -0.29734048, 0.06415531, 0.09782104, -0.047154855, -0.053923853, 0.13791925, 0.01920221, 0.2510621, 0.011180524, -0.02389365, 0.22188987) * go_3(1.0, 0.0); - result += mat4(-0.052833233, -0.0011790307, 0.01832988, -0.087143995, 0.16383314, -0.018386772, 0.018473852, 0.022136362, 0.00095872144, 0.059976995, 0.00461632, 0.006194564, -0.05576084, 0.19239509, 0.07017777, -0.0542914) * go_3(1.0, 1.0); - result += vec4(-0.03782637, -0.0035752894, -0.010155095, -0.025359483); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.02066797, -0.013601862, -0.007048889, -0.010436224, -0.013475746, 0.017484829, 0.003569871, 0.010704422, -0.013622159, 0.0051929723, -0.01672668, -0.011980923, 0.03233822, -0.008870257, 0.024951939, 0.011703474) * go_0(-1.0, -1.0); - result += mat4(0.09294306, 0.0014346406, 0.08119577, -0.008968148, -0.003100696, 0.026659792, -0.012744048, 0.02888033, -0.032950055, 0.016204342, -0.017369213, 0.022491494, 0.049124617, -0.027378289, 0.02111168, -0.037705775) * go_0(-1.0, 0.0); - result += mat4(-0.008216952, -0.021160914, 0.040945128, -0.010472813, -0.005768232, 0.0016923469, -0.0061864546, 0.0007168136, -0.014967856, -0.0013775446, -0.03696006, -0.0011331941, 0.006405253, 0.0030893548, 0.052975312, -0.0077081146) * go_0(-1.0, 1.0); - result += mat4(0.1026977, 0.06607977, -0.025372373, -0.03354179, -0.034359697, -0.046674587, -0.012842571, 0.0041260347, 0.0189941, -0.029389031, 0.028211223, 0.010089593, -0.0057367194, 0.053311557, -0.037211698, 0.0035831304) * go_0(0.0, -1.0); - result += mat4(0.21819879, 0.24159485, 0.25479653, 0.22689046, -0.14693534, -0.101709016, -0.12968269, -0.11193918, -0.17564386, -0.09321151, -0.1088182, -0.098540194, 0.016255755, 0.11983511, 0.07260058, 0.11377339) * go_0(0.0, 0.0); - result += mat4(-0.0065045636, -0.014916138, 0.08657154, 0.08976987, -0.013105138, -0.014341284, -0.07822386, -0.05141758, -0.008127414, -0.023220202, -0.07729052, -0.05847569, -0.014462153, -0.008247349, -0.029479884, 0.053986717) * go_0(0.0, 1.0); - result += mat4(-0.05111642, 0.013267287, -0.010962933, -0.0062592067, 0.031603336, 0.017792836, 0.040512457, 0.021096494, 0.025952626, 0.03858803, 0.009819873, 0.014087486, -0.016874991, -0.021088999, 0.0048008533, -0.014261808) * go_0(1.0, -1.0); - result += mat4(-0.054689944, 0.019172559, -0.10202758, 0.01563535, 0.024953881, -0.042438734, 0.03068713, -0.019600231, 0.0026854384, -0.08990359, 0.038635172, -0.0014791996, -0.045267813, -0.06297795, -0.050205074, -0.036708377) * go_0(1.0, 0.0); - result += mat4(-0.009820029, -0.007953665, -0.0030171487, 0.025994476, 0.0055633057, 0.0023106632, -0.0011157666, -0.032652337, 0.02231576, 0.0150678335, -0.00035031908, -0.049004823, -0.0048957765, -0.007189859, -0.022652647, -0.039600767) * go_0(1.0, 1.0); - result += mat4(-0.025157524, 0.005564745, 0.0077270563, -0.007929144, 0.07835409, -0.03961485, 0.0042581395, -0.012796515, 0.018968092, 0.0065416014, -0.018439304, -0.031132344, -0.008802365, -0.019820224, -0.053818177, 0.019140625) * go_1(-1.0, -1.0); - result += mat4(0.024769353, -0.016378574, 0.11481205, -0.026075391, -0.028652724, -0.008835214, 0.06427986, -0.04859151, -0.014552956, -0.028410029, 0.111585446, 0.009804185, -0.042241797, 0.0019805022, 0.03361954, -0.017370641) * go_1(-1.0, 0.0); - result += mat4(0.034053475, 0.038674638, -0.04696516, -0.0045251776, -0.0039383816, -0.0021523088, -0.021408198, -0.0003014931, -0.023644248, 0.020932276, -0.108067356, 0.030942762, -0.026552102, -0.0056460355, 0.008178258, -0.0009253607) * go_1(-1.0, 1.0); - result += mat4(0.078304745, 0.011302627, -0.036976036, -0.013908656, -0.10690595, 0.016818136, 0.015758326, -0.016121918, -0.037873853, 0.00037048876, -0.009456388, -0.016097274, 0.057774395, 0.15647416, 0.00012419945, -0.085859895) * go_1(0.0, -1.0); - result += mat4(-0.2873381, -0.16951321, 0.14959157, 0.36375824, -0.16162755, 0.30172205, -0.28958184, 0.2487593, -0.10533105, 0.42946494, -0.20263031, 0.23740861, 0.023840647, -0.06442918, -0.29647085, -0.12943329) * go_1(0.0, 0.0); - result += mat4(0.0029997546, 0.023317888, -0.023340696, -0.09114311, -0.05119816, -0.08453361, -0.041490365, 0.006037165, 0.016185664, -0.08495001, 0.08690409, 0.10635855, -0.0121372985, -0.0061607, -0.03049874, 0.03893408) * go_1(0.0, 1.0); - result += mat4(-0.010922993, 0.03413124, -0.011615248, -0.016528865, 0.015621528, 0.08856427, 0.01220382, 0.0052098404, 0.04833281, 0.037831176, 0.026502393, 0.0107578635, 0.029293455, -0.0051649977, 0.007572071, 0.010101437) * go_1(1.0, -1.0); - result += mat4(0.0016892543, -0.086751014, -0.0041350387, -0.06005637, 0.041606825, -0.19200447, 0.028292444, -0.017876074, 0.0101423515, -0.08625792, 0.09077659, 0.024676733, -0.046471898, -0.021680003, 0.007921834, -0.079603985) * go_1(1.0, 0.0); - result += mat4(0.017057033, -0.008013634, -0.018102577, -0.01345755, 0.0620006, -0.025968201, 0.07138734, -0.09975251, -0.005465781, -0.011184834, -0.0651285, -0.079556055, -0.00055764546, -0.007492052, -0.029603545, -0.07078825) * go_1(1.0, 1.0); - result += mat4(-0.10589389, 0.021210285, -0.028930133, 0.016055413, -0.18338472, -0.051082015, 0.1020663, 0.014365114, 0.11688869, -0.039388333, 0.009866559, -0.03795289, 0.013310502, 0.023231732, 0.007659133, -0.0027602138) * go_2(-1.0, -1.0); - result += mat4(0.0025395593, 0.0073232944, -0.04352944, 0.019918712, 0.020041449, -0.073162615, 0.096950345, 0.021914015, -0.17350666, 0.12829295, 0.07900105, 0.03115375, -0.012729986, 0.025017815, -0.19016227, 0.03532046) * go_2(-1.0, 0.0); - result += mat4(-0.004561337, 0.018127436, -0.03147566, 0.014196702, 0.016791651, -0.0021540376, -0.021546744, -0.006671925, -0.008601794, 0.0384946, -0.16477007, 0.122372, -0.03592093, -0.016040638, 0.025269061, 0.023783052) * go_2(-1.0, 1.0); - result += mat4(0.17777547, -0.29313773, 0.15184408, -0.026345825, 0.046505112, -0.2121665, 0.08373203, 0.1717021, -0.028687157, -0.07293457, -0.062076677, 0.056581914, -0.19576493, -0.1566389, 0.11269683, 0.12300568) * go_2(0.0, -1.0); - result += mat4(-0.2722888, -0.23436427, -0.1575821, -0.48185775, 0.38314724, 0.34028763, -0.22216766, 0.007053101, 0.43936196, -0.106232345, 0.3447898, -0.23145236, 0.17801034, 0.107395455, -0.10301275, -0.37671486) * go_2(0.0, 0.0); - result += mat4(0.027849002, 0.005493108, -0.07151169, -0.037706394, -0.030193258, 0.010484296, 0.12785462, 0.013065869, -0.02244137, 0.07738321, 0.1428445, 0.113706514, -0.016278854, -0.042375315, -0.014864632, 0.009536567) * go_2(0.0, 1.0); - result += mat4(0.016663784, 0.05133444, -0.036621124, -0.008492059, 0.006291255, 0.11044035, -0.06309081, -0.069970004, -0.080658376, 0.09237095, -0.034645274, 0.008006193, 0.0027648888, -0.055031255, 0.03726407, 0.04109432) * go_2(1.0, -1.0); - result += mat4(0.020757113, -0.037167564, 0.10940448, 0.10017512, -0.0557746, 0.068767264, 0.004170172, -0.13714421, -0.03749213, 0.06711421, -0.106826246, 0.11498757, 0.04753172, 0.10241908, 0.029435748, 0.07990668) * go_2(1.0, 0.0); - result += mat4(0.006560853, 0.023810847, -0.024475241, -0.058117945, -0.035195846, -0.04271988, 0.049571864, 0.15042038, -0.007620832, -0.025544636, 0.008050735, 0.01056782, 0.003100258, 0.004679245, 0.006587324, 0.018110644) * go_2(1.0, 1.0); - result += mat4(-0.02249566, 0.007422409, 0.012279647, 0.010022545, 0.009818794, -0.0038862806, 0.0011564652, -0.0012341562, 0.025019286, -0.0007220492, 0.0124062635, -0.0023235283, 0.007858289, 0.005228454, -0.012827192, -0.007885503) * go_3(-1.0, -1.0); - result += mat4(-0.006161589, -0.00088863634, -0.023869669, 0.0018966346, -0.029431801, -0.02086368, -0.0028806294, -0.018974712, -0.061033156, 0.0062700063, -0.013323617, -0.002422788, 0.006092313, 0.023675537, 0.024895974, 0.028143935) * go_3(-1.0, 0.0); - result += mat4(-0.01571405, -0.011126691, -0.023274293, -0.011942278, 0.008145339, 0.002989056, -0.009912996, 0.003355017, 0.027048714, -0.0027421801, -0.017191814, 0.011846277, -0.0014130942, -0.007118815, -0.006929838, 0.0016808703) * go_3(-1.0, 1.0); - result += mat4(-0.008867632, -0.054621387, 0.00521757, -0.001299046, -0.011991457, 0.01253288, 0.007283377, 0.008240456, -0.0328741, 0.030364394, 0.020916186, 0.046377357, -0.0025963385, 0.01801948, 0.017200526, 0.00594781) * go_3(0.0, -1.0); - result += mat4(0.049747035, -0.019024936, -0.037307423, -0.08635432, 0.06362242, -0.031690367, 0.0065028532, -0.008046128, -0.05511954, -0.10017574, -0.105036125, -0.07040073, 0.17360815, 0.01423494, 0.08344793, 0.034444667) * go_3(0.0, 0.0); - result += mat4(0.017059349, 0.018542623, 0.08186985, 0.032335408, 0.025869634, 0.05591529, 0.06690499, 0.03575357, -0.012014303, 0.0105476575, 5.6129655e-05, -0.048691276, 0.018272987, 0.006864036, 0.07919666, 0.011271695) * go_3(0.0, 1.0); - result += mat4(0.0083691375, 0.019432282, -0.0020216214, 0.010078488, -0.010552234, -0.018613037, -0.01894401, -0.019692581, -0.018510802, -0.05016945, -0.019306058, -0.026060628, -0.022509305, -0.026064832, -0.022758938, -0.0126465075) * go_3(1.0, -1.0); - result += mat4(0.014892795, 0.05182727, 0.029640755, 0.042491425, 0.002331018, 0.049497634, 0.023474293, 0.03618418, 0.042020023, 0.022141129, -0.01769678, -0.05579617, 0.01911445, 0.12306055, -0.01590528, 0.034323514) * go_3(1.0, 0.0); - result += mat4(0.006270243, 0.007303163, 0.00036148846, 0.03448912, -0.012123668, -0.009662251, -0.024768578, 0.011880113, 0.022290664, 0.020946119, 0.080712624, 0.07576267, -0.019421795, -0.0020419061, 0.018644858, 0.06175357) * go_3(1.0, 1.0); - result += vec4(-0.0010649486, -0.00016483334, -0.0012494534, -0.00068970193); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0035857174, 0.0015660138, 0.020620639, 0.005492695, 0.001423522, -0.0054458505, 0.012705879, -0.0034037326, 0.0149765, 0.013593896, -0.010144564, -0.0033618324, -0.025044372, -0.015873099, 0.004778018, 0.0032093422) * go_0(-1.0, -1.0); - result += mat4(-0.048154887, 0.0020999224, -0.025491469, 0.006954485, 0.033840816, -0.004235974, -0.0017972046, -0.016532846, 0.021911, -0.019167153, 0.028508998, -0.009081471, -0.007042987, 0.01162185, -0.04339448, 0.0007982697) * go_0(-1.0, 0.0); - result += mat4(0.00692694, 0.0055899867, -0.023532946, -0.005534464, 0.0065109115, -0.0013627014, 0.030455293, -0.0042733895, 0.003067062, -0.0019513131, 0.006832627, -0.009393006, -0.000787669, 0.0077676126, 0.017214414, 0.0005746928) * go_0(-1.0, 1.0); - result += mat4(0.04131343, 0.0061334246, 0.04663622, 0.034750223, 0.08184925, 0.054405987, 0.024695259, 0.049768113, 0.018208977, -0.008268458, -0.0025095541, -0.008479898, -0.024029268, -0.010577515, -0.005219355, 0.018835438) * go_0(0.0, -1.0); - result += mat4(-0.06885562, -0.093354285, -0.048095718, -0.09125787, 0.010425496, 0.05662435, 0.063850805, 0.052370857, 0.005560605, 0.10203871, 0.011031155, 0.0477262, -0.18752532, -0.11192383, -0.101294495, -0.109485805) * go_0(0.0, 0.0); - result += mat4(0.036398027, 0.014735432, 0.016239874, -0.01584611, -0.01778564, -0.004402638, -0.023574408, 0.02128348, -0.0046439893, -0.009485744, 0.0150541775, 0.042738233, 0.002258786, -0.0077040903, -0.10126805, -0.032423664) * go_0(0.0, 1.0); - result += mat4(-0.017738108, -0.005236546, 0.017476387, 0.024146654, -0.008857861, 0.030536365, 0.00078645826, -0.0040980624, 0.011337365, 0.02425144, 0.00035175736, -0.006825428, 0.0052930177, -0.0023696972, 0.005261922, -0.005584412) * go_0(1.0, -1.0); - result += mat4(9.1015834e-05, -0.025756188, -0.03374904, -0.04208741, -0.0063595036, -0.013884236, -0.01298973, 0.017781528, 0.00026187245, -0.03274113, 0.02486941, 0.028255679, 0.035963513, -0.0581295, 0.035199746, -0.0104088895) * go_0(1.0, 0.0); - result += mat4(-0.01260853, 0.0062392578, -0.003071281, 0.01035934, 0.0057190065, -0.0017513676, -0.0026357982, -0.017834812, 0.00678827, 0.008202837, -0.009278475, -0.020972013, 0.010203599, 0.001279875, 0.011321498, -0.041021187) * go_0(1.0, 1.0); - result += mat4(-0.016318664, 0.010274144, 0.0058704168, -0.0003722195, 0.08622261, -0.056748323, 0.012796814, -0.015498583, -0.014841128, -0.013023518, -0.017376468, -0.011344732, -0.0011321327, -0.004839438, -0.065831445, 0.0170905) * go_1(-1.0, -1.0); - result += mat4(0.029771782, -0.029376734, 0.12636128, -0.041424155, -0.037272833, -0.028138392, 0.05147389, -0.071253724, -0.058589596, -0.0038131222, 0.07219576, -0.018886834, -0.03175935, 0.022464748, 0.04460918, 0.007712493) * go_1(-1.0, 0.0); - result += mat4(0.031791184, 0.03750064, -0.04815924, -0.0037787687, 0.027883058, 0.0017699281, 0.00868531, -0.00061983714, 0.014328159, 0.011008469, -0.1027948, 0.061321545, -0.0232413, -0.0036074712, 0.013003957, 0.005047646) * go_1(-1.0, 1.0); - result += mat4(0.061875354, 0.013966958, -0.057976823, -0.027396917, -0.07729206, 0.037510768, 0.05148819, 0.013505393, -0.009836167, 0.017979803, 0.014434765, 0.011236566, 0.038901612, 0.14647634, 0.023550952, -0.05943926) * go_1(0.0, -1.0); - result += mat4(-0.2863236, -0.16270663, 0.13858683, 0.38562158, -0.18246396, 0.30728486, -0.30314833, 0.23621106, -0.09020211, 0.39363787, -0.14761628, 0.27088004, 0.023005886, -0.10956146, -0.33344752, -0.20269877) * go_1(0.0, 0.0); - result += mat4(0.032677263, 0.04735152, 0.013321085, -0.07145408, -0.0017462671, -0.02075628, -0.005706266, 0.07966981, 0.003467664, -0.07971056, 0.053607278, 0.04101255, -0.035280924, -0.01813141, -0.044000223, 0.025542235) * go_1(0.0, 1.0); - result += mat4(-0.008210569, 0.019704876, -0.015133452, -0.03008762, 0.0049174884, 0.08061308, 0.0038117717, -0.002029503, 0.042190753, 0.032804105, 0.014783755, -0.002336826, 0.054137956, 0.005509952, 0.008481185, 0.009885271) * go_1(1.0, -1.0); - result += mat4(0.013837548, -0.07767153, 0.022879202, -0.056488827, 0.065868095, -0.18863344, 0.03467011, -0.010413688, 0.021961903, -0.081908144, 0.088906504, 0.03597804, -0.00019099779, 0.031379074, 0.058308717, -0.026305178) * go_1(1.0, 0.0); - result += mat4(0.0014572622, -0.011619552, -0.026434032, -0.0043500545, 0.047792483, -0.024726411, 0.06545127, -0.11275325, 0.013236977, -0.00022499474, -0.029280944, -0.06866851, 0.006890194, -0.011312297, 0.0012165548, -0.04664351) * go_1(1.0, 1.0); - result += mat4(-0.047752246, 0.0029728701, -0.05373465, -0.005998469, -0.22396794, -0.029485608, 0.09026242, 0.02158353, 0.109403, -0.05481592, 0.010041409, -0.04743197, 0.055757776, 0.02585569, 0.02746905, -0.0030442658) * go_2(-1.0, -1.0); - result += mat4(0.099528484, -0.015010706, 0.100571565, -0.0034939381, 0.012570407, -0.043869816, 0.086886376, 0.05987024, -0.22607432, 0.16655043, 0.061426442, 0.05697152, 0.064990446, -0.005531908, -0.14511855, 0.0076572066) * go_2(-1.0, 0.0); - result += mat4(-0.012711154, -0.003635479, -0.0075224554, -0.0052927425, 0.0028822776, 0.0072370963, -0.056621686, 0.0026998962, -0.03712505, 0.042426053, -0.22980946, 0.14261132, -0.03626141, -0.039392795, 0.085727766, 0.012577211) * go_2(-1.0, 1.0); - result += mat4(0.2062136, -0.19833934, 0.07369608, -0.09740325, -0.034611486, -0.32579082, 0.07641666, 0.15784128, -0.039162353, -0.07734512, -0.033959284, 0.084764875, -0.1607926, -0.11135721, 0.10387057, 0.1112244) * go_2(0.0, -1.0); - result += mat4(0.042789772, 0.07384808, 0.13794817, -0.10090421, 0.22263366, 0.2233975, -0.42347354, -0.17161362, 0.277786, -0.30926275, 0.22161394, -0.37332773, 0.3831451, 0.37317204, 0.079320274, -0.17581266) * go_2(0.0, 0.0); - result += mat4(-0.008462805, -0.017743077, 0.006631768, 0.02413771, -0.03139262, -0.016224122, 0.08141759, -0.057388183, -0.031753678, 0.048525933, 0.058724694, -0.0065176883, -0.022200955, -0.042803597, 0.038398843, 0.10740149) * go_2(0.0, 1.0); - result += mat4(-0.02273882, 0.02042988, -0.04352726, -0.04365105, 0.031618606, 0.12397989, -0.0446275, -0.047745094, -0.07272708, 0.087981805, -0.022883464, 0.021518158, -0.033805974, -0.061570108, 0.029978301, 0.047310177) * go_2(1.0, -1.0); - result += mat4(-0.024014544, 0.03312975, 0.013067503, 0.11282178, -0.024482794, 0.008091268, 0.06432778, -0.15766713, -0.048687667, 0.0051038596, -0.10650007, 0.074438654, -0.031920508, 0.07880885, -0.063074075, 0.053531222) * go_2(1.0, 0.0); - result += mat4(-0.007602651, 0.003247358, -0.010531292, -0.014522784, -0.045127477, -0.04641428, 0.034592852, 0.11708857, 0.016080456, -0.010862374, 0.012204836, -0.019624028, -0.005596978, 0.002570303, -0.01718452, 0.007036096) * go_2(1.0, 1.0); - result += mat4(-0.03400744, 0.0074553913, 0.0043038665, 7.957602e-05, 0.014352309, -0.003674803, -0.014835324, -0.0055977562, 0.033462152, 0.0068732416, 0.0065420493, -0.0026703794, 0.011938421, 0.001983706, -0.0049862997, 0.00021165576) * go_3(-1.0, -1.0); - result += mat4(-0.0033091118, 0.018994803, -0.026634768, 0.020428555, -0.020792423, 0.009742637, 0.032050136, 0.0071278135, -0.052302815, 0.013190179, -0.004127084, 0.009925822, -0.009661492, -0.0073792427, 0.019004244, 0.00037218904) * go_3(-1.0, 0.0); - result += mat4(-0.009932352, -0.00995933, -0.02146786, -0.0038179306, -0.016922737, -0.000982855, -0.03880165, 0.0100428425, 0.018592497, -0.011936452, -0.00839573, 0.012914954, -0.0023291495, 0.0014392055, -0.013602821, -0.00075313775) * go_3(-1.0, 1.0); - result += mat4(0.005934442, -0.067556374, 0.022733796, -0.00048716593, -0.03944287, -0.0031405275, -0.021329157, -0.023225859, -0.048807576, 0.013591428, -0.0012470218, 0.012172492, -0.01362018, 0.01908229, -0.009989492, -0.013456593) * go_3(0.0, -1.0); - result += mat4(0.0331533, -0.038016763, -0.024796762, -0.097570956, 0.040756926, -0.038999844, 0.004969716, 0.02203622, -0.07773537, -0.095957406, -0.13685504, -0.08225932, 0.21070166, 0.06672545, 0.12035284, 0.0874353) * go_3(0.0, 0.0); - result += mat4(-0.011405352, 0.008514039, 0.04049351, 0.003270972, -0.01190376, -0.00082049094, 0.011982737, -0.03732464, -0.008393462, 0.019479843, -0.0030869786, -0.028394854, 0.008670484, 0.0026366632, 0.07985739, 0.020958235) * go_3(0.0, 1.0); - result += mat4(0.009845008, 0.039659, -0.0024999548, 0.025727686, -0.008037673, -0.020821366, -0.016814344, -0.023053886, -0.0108242845, -0.03981645, -0.0041943905, -0.0074299327, -0.040454514, -0.05054933, -0.0098485295, -0.015317222) * go_3(1.0, -1.0); - result += mat4(0.0010468375, 0.035403077, 0.008057769, 0.041717537, 0.01396972, 0.04731576, 0.025122687, 0.038469587, 0.0198318, -0.012237324, -0.030784154, -0.08214199, -0.0328875, 0.080247246, -0.06950492, -0.015201896) * go_3(1.0, 0.0); - result += mat4(0.011373379, 0.00011919624, 0.0068450207, 0.0220856, 0.0008673803, -0.011897817, -0.0020893042, 0.0056429924, 0.021536274, 0.017342292, 0.06635433, 0.056875907, -0.03351322, -0.008332283, -0.015365816, 0.037228417) * go_3(1.0, 1.0); - result += vec4(-0.0009943815, -0.0009860148, -0.0010532598, -0.0012024855); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009554673, -0.0051532127, 0.016102737, 0.0012649148, 0.0077584987, -0.0057105157, 0.014400071, -0.003925339, 0.017135408, 0.013764417, -0.009086141, -0.0025339578, -0.03264511, -0.016280945, 0.00085838477, 0.0019880894) * go_0(-1.0, -1.0); - result += mat4(-0.076804005, -0.0037365195, -0.050517682, 0.0020104242, 0.043787587, -0.0023654283, 0.008199321, -0.016990408, 0.042490408, -0.010710564, 0.040960148, -0.0044487948, -0.019470902, 0.010283459, -0.05382899, 0.0012054538) * go_0(-1.0, 0.0); - result += mat4(0.005319574, 0.008546302, -0.037447132, -0.006825204, 0.012196145, 0.0007432002, 0.03959715, -0.00010419698, 0.010211025, -0.00066449976, 0.023840206, -0.0033524157, -0.003079352, 0.010155542, 0.008363695, 0.00091413554) * go_0(-1.0, 1.0); - result += mat4(0.020189503, -0.01584555, 0.048491407, 0.03190471, 0.09146135, 0.066083826, 0.026668968, 0.0508916, 0.025873413, 9.346497e-05, -0.0008600848, -0.0056697717, -0.02856373, -0.023208767, -0.0029442043, 0.015996031) * go_0(0.0, -1.0); - result += mat4(-0.1150775, -0.14330095, -0.09502353, -0.13884564, 0.03178533, 0.07732762, 0.08540057, 0.07563651, 0.024709824, 0.122676425, 0.025598785, 0.062055748, -0.19433355, -0.13121647, -0.1121546, -0.12868516) * go_0(0.0, 0.0); - result += mat4(0.029061472, 0.0073350146, -0.009606754, -0.043715715, -0.018559197, -0.0032290102, -0.01473082, 0.030312086, 0.0055792383, 0.0023610878, 0.03392709, 0.0651179, -0.004296543, -0.016898727, -0.1092547, -0.05084782) * go_0(0.0, 1.0); - result += mat4(-0.016137538, -0.012792734, 0.017391363, 0.026128957, -0.010817838, 0.032218445, -0.0013944196, -0.004525187, 0.009840227, 0.027271513, -0.0024920607, -0.007501888, 0.009476934, 0.00032995836, 0.0041257427, -0.005625152) * go_0(1.0, -1.0); - result += mat4(0.0126353195, -0.03399586, -0.016907396, -0.04899062, -0.007695538, -0.00612431, -0.017332746, 0.021991903, -0.00045945324, -0.02436651, 0.022777557, 0.032261726, 0.050632916, -0.04296159, 0.049930036, 0.0025758578) * go_0(1.0, 0.0); - result += mat4(-0.017934766, 0.0015081838, -0.007909493, -0.00010294505, 0.014974485, 0.0058351695, 0.0057603214, -0.0069939885, 0.00735945, 0.011284126, -0.008253157, -0.013189189, 0.011712553, 0.004176325, 0.019821197, -0.031529877) * go_0(1.0, 1.0); - result += mat4(-0.01832641, 0.011409, 0.0062228036, 0.0012198171, 0.087020114, -0.048004452, 0.019594414, -0.008977235, -0.021853259, -0.025875412, -0.015291018, -0.017832348, -0.0019894738, -0.003139117, -0.05734562, 0.019568626) * go_1(-1.0, -1.0); - result += mat4(0.019767432, -0.032121878, 0.10731837, -0.04160946, -0.038930662, -0.023509357, 0.04353874, -0.06393884, -0.07079979, -0.011297704, 0.055680044, -0.031674873, -0.02432217, 0.022975061, 0.044791207, 0.008831304) * go_1(-1.0, 0.0); - result += mat4(0.026333796, 0.027133184, -0.05641698, -0.015003387, 0.036531202, 0.001104644, 0.017913498, 0.00035784056, 0.010045828, 0.009374881, -0.112320945, 0.055523388, -0.017043058, -0.0012098805, 0.01718199, 0.0069912164) * go_1(-1.0, 1.0); - result += mat4(0.05305516, 0.0041708737, -0.05804445, -0.028278397, -0.07342492, 0.038176447, 0.045486677, 0.014904428, -0.0017618206, 0.02097501, 0.019868117, 0.019373845, 0.052739795, 0.14912929, 0.037314087, -0.041035987) * go_1(0.0, -1.0); - result += mat4(-0.2646953, -0.15668106, 0.12151133, 0.34568876, -0.16625103, 0.28626326, -0.2804781, 0.22248842, -0.09251715, 0.35097396, -0.13397448, 0.244039, 0.02513416, -0.09538499, -0.29833388, -0.17769372) * go_1(0.0, 0.0); - result += mat4(0.04070677, 0.052483205, 0.024028141, -0.06267387, 0.010479897, -0.006137579, 0.005726815, 0.084615536, 0.0029081039, -0.08204673, 0.040788963, 0.018049795, -0.031891953, -0.019043325, -0.041718785, 0.021308724) * go_1(0.0, 1.0); - result += mat4(-0.001575907, 0.022952983, -0.012997063, -0.02844319, 0.0009266049, 0.06976445, -0.0020330409, -0.008372886, 0.028383447, 0.028487694, 0.0039281887, -0.0070809238, 0.041292112, 0.0025322342, -0.002103223, 0.0054210713) * go_1(1.0, -1.0); - result += mat4(0.024716897, -0.05894056, 0.033999596, -0.044356048, 0.063092224, -0.18046258, 0.033589583, -0.014151911, 0.015899418, -0.07901728, 0.073378325, 0.03326658, 0.0032687644, 0.035330176, 0.05457883, -0.017820554) * go_1(1.0, 0.0); - result += mat4(0.001996882, -0.004963775, -0.020151457, 0.0057843816, 0.040995013, -0.019961083, 0.05682041, -0.10547617, 0.02503235, 0.0036294905, -0.013947642, -0.060715917, 0.01876786, 0.0032777768, 0.01927007, -0.025088508) * go_1(1.0, 1.0); - result += mat4(-0.029518202, 0.0065702717, -0.04704605, -0.0048227045, -0.22110744, -0.029372428, 0.08053116, 0.018663822, 0.105733156, -0.04344413, 0.012286602, -0.038484503, 0.060564645, 0.02851022, 0.032352086, -0.001444222) * go_2(-1.0, -1.0); - result += mat4(0.11888213, -0.007396298, 0.12236374, 0.0014036719, 0.006478195, -0.039041974, 0.07476124, 0.05907462, -0.2318871, 0.15429306, 0.048975263, 0.058071293, 0.07446568, -0.0038836622, -0.12506978, 0.006849885) * go_2(-1.0, 0.0); - result += mat4(-0.007815376, -0.0046987617, 0.0045718704, -0.00088239316, -0.006927552, -0.0014817615, -0.060644537, -0.001377785, -0.052053373, 0.030922025, -0.24218674, 0.121679045, -0.025974795, -0.033550926, 0.09225413, 0.015534639) * go_2(-1.0, 1.0); - result += mat4(0.21073256, -0.14790624, 0.06557328, -0.07896083, -0.048564, -0.32713607, 0.070434004, 0.1443138, -0.046067085, -0.08069691, -0.030934528, 0.0787659, -0.1532774, -0.10070167, 0.088510044, 0.10279543) * go_2(0.0, -1.0); - result += mat4(0.08564646, 0.11520261, 0.17513204, -0.039576255, 0.17702763, 0.18044637, -0.434279, -0.1977341, 0.22995597, -0.3259109, 0.17992231, -0.37692067, 0.376483, 0.3755724, 0.09422753, -0.13918276) * go_2(0.0, 0.0); - result += mat4(-0.0013641209, -0.0061978037, 0.030735753, 0.04674489, -0.01888518, -0.0114997085, 0.072051995, -0.059909277, -0.029514287, 0.037226655, 0.03950886, -0.030156244, -0.017026234, -0.029231733, 0.049310546, 0.12158501) * go_2(0.0, 1.0); - result += mat4(-0.01796674, 0.021739075, -0.035811454, -0.04138176, 0.032448296, 0.11651916, -0.03788447, -0.03756297, -0.06638623, 0.07866896, -0.020593246, 0.021115394, -0.03838543, -0.065531924, 0.024438148, 0.038348224) * go_2(1.0, -1.0); - result += mat4(-0.032326736, 0.041176587, -0.0014080614, 0.110470615, -0.030802252, -0.012258527, 0.059453994, -0.16016562, -0.03715787, -0.0005157213, -0.08924785, 0.06535089, -0.043620374, 0.06014967, -0.07529656, 0.03737166) * go_2(1.0, 0.0); - result += mat4(-0.005197623, 0.0025410433, -0.0057371682, -0.005702406, -0.047433604, -0.045016363, 0.022881668, 0.097284265, 0.0050103525, -0.017835459, 0.002082661, -0.031085419, -0.0127113415, -0.010034892, -0.029547364, -0.008159356) * go_2(1.0, 1.0); - result += mat4(-0.030834803, 0.0057913456, 0.0045642396, -0.0023247486, 0.013091116, -0.0019978182, -0.016291631, -0.0063495245, 0.03679821, 0.0111187175, 0.006293907, -0.00159841, 0.008976987, 0.0016699543, -0.002045872, 0.0021225133) * go_3(-1.0, -1.0); - result += mat4(-0.0015449662, 0.018941572, -0.0231217, 0.019913983, -0.02159856, 0.011715352, 0.03145841, 0.011557888, -0.04381463, 0.016269097, 0.003801907, 0.017497942, -0.01846834, -0.011969666, 0.0077923136, -0.00425442) * go_3(-1.0, 0.0); - result += mat4(-0.006369402, -0.0054975, -0.016373185, 0.0015303852, -0.018976817, -0.0020408076, -0.04186448, 0.00862744, 0.013957444, -0.016489068, -0.00876064, 0.0072258003, -0.0065470496, -0.002731135, -0.01953136, -0.0069286725) * go_3(-1.0, 1.0); - result += mat4(0.01150196, -0.057684112, 0.025627816, 0.0045186444, -0.043896675, -0.0073078806, -0.024036214, -0.025075085, -0.041793358, 0.014898103, -0.0012467141, 0.009073226, -0.025522837, 0.0077871215, -0.016588857, -0.016728807) * go_3(0.0, -1.0); - result += mat4(0.03427146, -0.03154995, -0.014622754, -0.083448716, 0.037077904, -0.042196143, 0.0002654827, 0.016835919, -0.05883882, -0.07723022, -0.12151369, -0.06892644, 0.18169776, 0.04656827, 0.09332061, 0.06265968) * go_3(0.0, 0.0); - result += mat4(-0.020037629, 0.0017381558, 0.028106472, -0.0037192027, -0.015639286, -0.0048114993, 0.006957652, -0.04234011, -0.0035926187, 0.02475383, 0.009671758, -0.013367782, 0.009844827, 0.004127156, 0.072107606, 0.018165117) * go_3(0.0, 1.0); - result += mat4(0.0024197982, 0.034167156, -0.00615297, 0.022378683, -0.005956443, -0.0206202, -0.014193571, -0.0220195, -0.004417834, -0.030854845, 0.0032532495, -0.0012370368, -0.031531993, -0.049196836, -0.0011905541, -0.011573349) * go_3(1.0, -1.0); - result += mat4(-0.012435409, 0.023669207, -0.007541224, 0.030453008, 0.009036608, 0.04195238, 0.019962423, 0.033735633, 0.017467575, -0.008318013, -0.0268461, -0.07455821, -0.035670403, 0.06528855, -0.064557284, -0.022101114) * go_3(1.0, 0.0); - result += mat4(0.011575822, -0.0029453707, 0.0029919853, 0.014933897, -0.00034664775, -0.015719024, -0.002594161, 0.0012937526, 0.006969654, 0.008678383, 0.04876611, 0.049061276, -0.037455864, -0.013019295, -0.02504076, 0.024031559) * go_3(1.0, 1.0); - result += vec4(-0.00052569207, -0.0009582512, -0.00071018364, -0.0011515211); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl deleted file mode 100644 index 9877bbc..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl +++ /dev/null @@ -1,300 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.010995803, 0.077095956, -0.043992598, 0.06048717, 0.1164834, -0.11689607, 0.072985925, -0.078805886, 0.01182932, 0.054985743, -0.09018186, 0.044907484, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.1813623, -0.14752422, 0.025720436, -0.17639883, 0.15697388, 0.10445984, -0.1843076, 0.5264643, 0.047516696, -0.097305484, 0.09740847, -0.29619336, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.014534763, 0.09486465, 0.046173926, 0.039391946, 0.09609376, -0.060574662, 0.042200956, -0.3269777, 0.051006425, 0.059818447, 0.04366627, 0.17699827, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.04268535, -0.08152529, 0.10577459, -0.036936995, -0.051562306, 0.054872766, 0.09194519, 0.0025066638, -0.01073954, 0.00064474024, 0.10038221, 0.02131141, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.51751363, -0.40028602, 0.3469574, 0.5933738, -0.91357684, -0.67692596, 0.57815677, 0.39809322, -0.16341521, -0.27169713, 0.12232366, 0.4318641, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.12601124, -0.06263236, -0.45907676, -0.41514075, 0.3330334, -0.1929565, -0.6333532, -0.6552794, -0.045809917, 0.046351526, -0.26173338, -0.30252662, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.0030332592, 0.012103107, 0.010537323, -0.02038607, 0.095558085, 0.097704545, 0.083433494, 0.026790185, 0.01943357, -0.061712462, -0.00015703632, -0.032268334, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.016870102, 0.5215812, -0.11525501, 0.027527615, -0.09045733, 0.61310345, -0.1575268, 0.1905386, 0.020172214, 0.3503187, -0.08209157, -0.051328037, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.005494087, -0.010656317, 0.07682753, -0.08116042, -0.03934524, 0.16589017, 0.101483546, -0.066603065, 0.03494657, -0.07885597, 0.074227594, 0.0016264897, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.014463938, -0.0031906287, 0.007015422, -0.003888468); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08532478, -0.14302494, -0.017921071, -0.0032664281, -0.09841952, 0.024187077, 0.10701477, 0.14110753, -0.05714981, -0.10897174, 0.073803626, 0.103992954, 0.07914382, 0.032193683, -0.18346278, -0.09723936) * go_0(-1.0, -1.0); - result += mat4(-0.034482613, -0.10742312, -0.047286414, -0.08641124, -0.33896688, -0.036533825, -0.48337597, 0.034040943, -0.13598205, -0.080917805, 0.08540263, -0.012667689, -0.009171425, -0.120026454, -0.20536867, -0.032149274) * go_0(-1.0, 0.0); - result += mat4(0.18687321, 0.066278316, 0.024327392, 0.08816582, -0.08017908, 0.09488853, 0.26018232, -0.101504356, 0.17487666, 0.31057635, 0.14785016, -0.09622089, -0.07537452, -0.13844088, -0.05810814, 0.09907489) * go_0(-1.0, 1.0); - result += mat4(-0.04183032, 0.15207712, 0.005002397, 0.32277516, -0.16169126, -0.119836345, -0.04068436, -0.096728764, 0.11943901, 0.1789597, -0.20412198, 0.19009817, 0.36630696, 0.06946421, -0.5254373, -0.11896399) * go_0(0.0, -1.0); - result += mat4(-0.31916487, -0.98911583, 1.0728644, -0.39280394, 0.33458877, -0.17325239, -0.645045, -0.28524077, -0.14512783, 0.24996442, -0.09837877, 0.05468934, 0.31559715, -0.020504637, -0.026724018, 0.24507573) * go_0(0.0, 0.0); - result += mat4(-0.23759829, -0.08530173, -0.16665787, -0.22463752, 0.109896734, 0.13446991, -0.049552456, -0.02385489, -0.01245375, 0.3833208, 0.05758832, 0.1528937, 0.0501858, -0.19651426, 0.0076587177, -0.03297025) * go_0(0.0, 1.0); - result += mat4(0.14554465, -0.01826686, 0.10284085, -0.19152659, -0.017585073, -0.05511482, 0.06362406, 0.023924058, -0.0018977845, -0.103172876, 0.03287086, -0.20085956, 0.36062446, 0.10749464, -0.20984372, 0.018256644) * go_0(1.0, -1.0); - result += mat4(-0.005534592, 0.3709197, -0.18287498, 0.1720451, 0.030155553, -0.023265475, 0.0058617783, -0.031765483, 0.037328955, -0.2730994, 0.35090837, -0.3269043, -0.028477207, 0.32756507, -0.15989502, 0.12158258) * go_0(1.0, 0.0); - result += mat4(0.10873739, 0.19583772, 0.060394943, 0.09410379, -0.04739245, 0.026561242, 0.022990001, 0.1093272, -0.01071349, -0.022938967, -0.046423864, 0.2385325, -0.0319821, 0.046962265, 0.09081178, -0.11001857) * go_0(1.0, 1.0); - result += mat4(0.13012704, 0.112289295, 0.030790284, -0.050499484, 0.11784853, 0.08107028, -0.07556717, -0.15643, 0.015249331, 0.015299608, 0.07748125, 0.054485757, 0.044857923, 0.12161275, -0.048292994, -0.033995003) * go_1(-1.0, -1.0); - result += mat4(0.12931514, 0.15114146, 0.070513315, 0.11246343, 0.4142387, 0.213479, -0.5439916, 0.07776645, 0.13109331, 0.2021147, 0.25932786, -0.22157331, 0.02377734, -0.014970623, -0.1943276, 0.18440372) * go_1(-1.0, 0.0); - result += mat4(-0.22365458, -0.19829084, -0.06881161, -0.06468993, 0.17202774, 0.0048758537, -0.09235021, 0.18941896, 0.064125344, -0.09067088, 0.09748182, 0.13561936, -0.05876288, -0.0122420965, -0.054380875, -0.17743628) * go_1(-1.0, 1.0); - result += mat4(0.18582906, -0.09263032, -0.08210888, -0.20515606, 0.11484005, 0.08557595, 0.0009253741, -0.051202174, -0.18535301, -0.1529345, -0.13092944, 0.03770747, -0.020947013, 0.19187425, -0.15494856, -0.048979875) * go_1(0.0, -1.0); - result += mat4(-0.38131633, 0.4278787, 0.19763695, 0.27655518, -0.08711912, 0.07374453, -0.064803004, 0.5983854, 0.2361923, -0.057221692, -0.37138999, -0.24259573, 0.13890724, 0.25706333, -0.54021406, 0.08095518) * go_1(0.0, 0.0); - result += mat4(0.0991328, -0.022651536, -0.029148921, -0.009812537, -0.09523686, -0.15704902, 0.052389514, 0.21561539, 0.1950314, -0.08572602, 0.0016523858, 0.14125621, -0.030999828, 0.12009709, 0.0373512, -0.105043754) * go_1(0.0, 1.0); - result += mat4(-0.11251988, 0.12106985, 0.011923068, 0.3662747, 0.004800994, 0.017972551, 0.004761366, -0.07934206, -0.13755941, -0.022852683, 0.1502225, 0.009758547, -0.16964264, 0.00984782, 0.07855833, 0.035730787) * go_1(1.0, -1.0); - result += mat4(0.01964957, -0.27226487, 0.033933397, -0.117632054, -0.009058229, 0.047830686, -0.01125145, 0.136628, 0.0056388285, 0.3028781, -0.12286517, 0.23498532, -0.009319075, -0.444048, 0.16174883, -0.06367683) * go_1(1.0, 0.0); - result += mat4(0.02343933, -0.010915871, -0.058680378, -0.21886891, -0.010750894, -0.06671997, 0.0602906, -0.07903071, 0.066891186, 0.06650588, 0.14362891, -0.101870626, 0.02264628, -0.06940821, -0.077616625, 0.110911585) * go_1(1.0, 1.0); - result += vec4(0.032014452, -0.020821465, 0.0826416, -0.002838458); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06963679, -0.07560548, -0.069522075, 0.0038078027, -0.08002613, 0.13671301, 0.084461786, -0.039376218, 0.19136548, -0.123174496, 0.26566333, -0.16583005, -0.18664864, -0.023539122, -0.21928434, -0.026818147) * go_0(-1.0, -1.0); - result += mat4(0.16660932, -0.18558703, 0.37230486, 0.118128106, -0.14098641, 0.14659132, -0.22217897, 0.12952235, -0.4139033, -0.04308319, 0.12885277, -0.17986743, -0.23556231, -0.08351981, -0.43240538, 0.019033253) * go_0(-1.0, 0.0); - result += mat4(-0.18008037, -0.04448665, 0.011906908, -0.023056917, 0.18136618, -0.04723555, -0.0050158803, -0.14823224, -0.2105281, 0.023047728, -0.14040631, -0.03178526, -0.13477588, -0.01820428, 0.058358394, 0.23792502) * go_0(-1.0, 1.0); - result += mat4(0.07363309, -0.061728477, 0.03573137, -0.0050971056, -0.012813505, -0.17236637, 0.1697835, 0.055788577, -0.22263195, 0.10324512, 0.58971673, -0.4872246, -0.1555681, 0.032747746, -0.096495196, 0.070196226) * go_0(0.0, -1.0); - result += mat4(0.14174286, 0.099460006, -0.088765986, 0.58350676, -0.025177564, -0.46004987, 0.37007022, -0.11437029, -0.5164534, -0.60465246, 0.38859612, -0.32846406, 0.050266482, -0.20334712, 0.18316261, -0.19327633) * go_0(0.0, 0.0); - result += mat4(-0.09377763, -0.0012762006, -0.028991895, -0.26523829, 0.20173682, 0.037923716, -0.03174243, 0.07103378, -0.10764164, -0.30752546, 0.20556998, -0.1892279, 0.08115748, -0.023550175, -0.07627362, 0.11746628) * go_0(0.0, 1.0); - result += mat4(-0.06998859, -0.017997518, 0.069938794, -0.14943017, -0.14179112, 0.16643842, -0.110231474, 0.08895815, -0.24074875, 0.3277253, -0.07435203, -0.23452802, 0.039962552, -0.07145652, -0.022511544, -0.04571222) * go_0(1.0, -1.0); - result += mat4(-0.059785757, -0.23771374, -0.030571314, 0.25222278, 0.106601834, 0.34398326, 0.14511436, -0.03867526, -0.38982397, -0.11944689, 0.12997924, -0.13079585, 0.005729482, 0.012653905, -0.063693404, 0.09632285) * go_0(1.0, 0.0); - result += mat4(-0.04933823, 0.0547175, 0.050636575, -0.10060694, 0.1344485, 0.19752938, -0.100068115, -0.028829506, -0.14096203, -0.079092234, 0.092109434, 0.011606209, -0.04052607, -0.008347507, 0.06956573, -0.028109524) * go_0(1.0, 1.0); - result += mat4(0.21918017, -0.11115073, 0.2262453, -0.06889667, -0.11256312, -0.07438075, -0.088454485, 0.13672407, -0.06905764, 0.08128395, 0.016103368, 0.050190717, 0.09691516, 0.05845721, 0.4886816, 0.041121427) * go_1(-1.0, -1.0); - result += mat4(-0.3449472, 0.09711974, -0.13881907, -0.018265123, 0.27855873, -0.07030004, 0.29545054, 0.37216932, 0.08657718, 0.099066615, -0.10574013, -0.17667885, -0.14855732, -0.11351448, 0.66945946, 0.11312157) * go_1(-1.0, 0.0); - result += mat4(0.2526151, -0.04594331, -0.06606611, 0.09104881, 0.06857995, -0.075284235, -0.17664689, 0.21578754, 0.0696524, 0.09142951, 0.080997564, -0.0682772, -0.0011445724, -0.11736295, 0.2519232, -0.101926275) * go_1(-1.0, 1.0); - result += mat4(-0.12913518, 0.058357026, 0.195421, -0.15651494, 0.2877076, 0.0033844314, -0.07831594, 0.052855384, -0.031295884, 0.03301088, -0.18408822, 0.06732994, 0.23742151, -0.12568143, 0.22810535, -0.11545694) * go_1(0.0, -1.0); - result += mat4(-0.49203303, -0.22656603, 0.1723193, -0.51250046, -0.09742038, 0.758559, -0.3387505, -0.6193586, 0.14136684, 0.27679884, -0.050113205, 0.31041816, -0.36475047, -0.48746544, 0.3233227, 0.4579754) * go_1(0.0, 0.0); - result += mat4(0.46636763, 0.1507748, -0.2581362, 0.15413165, -0.17160143, 0.14256273, -0.074575804, -0.099299066, -0.0017214464, 0.13778336, -0.07378213, -0.15489665, -0.10533715, -0.0011083825, 0.39584312, 0.0023906573) * go_1(0.0, 1.0); - result += mat4(0.026959421, -0.06391859, 0.0034752619, 0.14521928, -0.0010877338, -0.032619733, 0.005375293, -0.018952755, 0.03381545, -0.007652831, 0.034141563, 0.046016496, 0.11219674, 0.030913852, 0.077403754, 0.17192438) * go_1(1.0, -1.0); - result += mat4(0.040326044, 0.17290725, -0.1220239, -0.09594783, -0.025229257, 0.17913155, -0.26623353, -0.033396784, -0.03075146, 0.009143897, -0.0136083895, -0.13886899, 0.075683735, -0.11584183, 0.22182357, 0.19350322) * go_1(1.0, 0.0); - result += mat4(0.15726025, -0.10215694, -0.060057458, 0.26487043, -0.04075552, -0.016496127, 0.0015382086, 0.108562306, 0.026795091, 0.0441233, -0.08754318, -0.0460157, 0.048422016, 0.14107347, 0.07986661, 0.1047697) * go_1(1.0, 1.0); - result += vec4(0.0766796, 0.08115133, -0.05703058, 0.14025708); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.18038331, 0.21830973, -0.10019419, -0.022745568, -0.14944611, -0.15669158, 0.46361133, -0.07289843, 0.02976627, -0.09000817, 0.113060996, 0.05635241, 0.012762965, -0.022688959, 0.01629751, 0.061114635) * go_0(-1.0, -1.0); - result += mat4(0.024338024, -0.10004009, -0.13709056, -0.0851965, 0.23927099, -0.024349794, -0.16574804, 0.084686354, -0.047885604, 0.09688507, -0.12733915, 0.06980246, 0.11480734, 0.014669346, -0.07505829, 0.04676309) * go_0(-1.0, 0.0); - result += mat4(0.054203495, 0.011881634, -0.036115017, -0.0686298, -0.13682245, -0.15678032, 0.057050128, -0.03368558, 0.13011025, 0.033391044, -0.09841339, -0.027057761, -0.18701133, 0.20852546, -0.13660902, 0.0005817616) * go_0(-1.0, 1.0); - result += mat4(-0.08077834, 0.35952288, -0.07647382, -0.0033230998, 0.13929126, -0.09155619, 0.14128102, 0.16005981, 0.18161216, -0.09485738, 0.0029118075, 0.052682754, 0.03242074, 0.08299826, 0.073796146, -0.06446532) * go_0(0.0, -1.0); - result += mat4(-0.36655015, 0.4606936, 0.19073649, 0.31655258, -0.006838053, -0.579939, 0.089126326, -0.14021218, -0.3437716, 0.16714323, 0.17705944, -0.22418492, -0.3883696, -0.2302651, 0.2581861, 0.21983066) * go_0(0.0, 0.0); - result += mat4(0.0992383, -0.014257871, -0.023896435, 0.19868234, 0.0408007, 0.07995299, 0.16102871, -0.11668251, 0.22458278, -0.05587917, 0.19373615, -0.016202094, -0.25106144, 0.15634494, 0.11624891, -0.2930768) * go_0(0.0, 1.0); - result += mat4(0.024616942, 0.36248252, -0.14779098, -0.019894283, -0.007111256, 0.010641561, -0.09541178, 0.21236233, 0.009501827, 0.08132797, -0.13983901, 0.027207611, 0.038444366, -0.013995817, -0.16242191, 0.03294123) * go_0(1.0, -1.0); - result += mat4(0.0131698875, -0.18124102, -0.13503514, -0.06099072, 0.07422735, -0.20906176, -0.049005672, 0.08739405, -0.031758767, -0.1978915, 0.23094437, 0.54512614, 0.21338555, -0.011205669, -0.23727885, -0.29533875) * go_0(1.0, 0.0); - result += mat4(-0.0010255767, -0.07168225, -0.033568826, 0.22161655, -0.087293416, 0.11350447, 0.13653576, 0.061226424, -0.13074352, 0.058425818, 0.038460605, 0.2749964, -0.012814839, 0.085885845, -0.038151987, -0.17960808) * go_0(1.0, 1.0); - result += mat4(0.19728905, -0.040724937, -0.18270236, 0.046735186, 0.03507326, 0.119867206, -0.12691991, 0.18119748, -0.052895024, 0.11348764, -0.043787055, 0.004703516, 0.006752757, -0.06939761, -0.009801806, -0.075640485) * go_1(-1.0, -1.0); - result += mat4(0.051735226, 0.1732299, -0.10672899, 0.0320877, -0.4913656, 0.2102274, 0.43920282, 0.059108034, 0.08349019, -0.16517872, 0.15436842, -0.1075667, 0.022741623, -0.26693836, 0.3645307, 0.017874828) * go_1(-1.0, 0.0); - result += mat4(0.034464058, 0.014929155, 0.054227423, 0.14167373, -0.0023630706, -0.08904212, 0.11918041, -0.034539603, 0.06048089, -0.06807333, 0.14447778, 0.035260547, 0.09979546, -0.1924939, 0.14596114, -0.12069667) * go_1(-1.0, 1.0); - result += mat4(-0.04427228, -0.23673469, 0.010357103, -0.2907043, -0.06845721, -0.078984015, 0.06867713, -0.058163825, -0.12154615, 0.08430951, 0.1922373, 0.030108064, -0.43081748, -0.38715646, -0.022240646, -0.15403675) * go_1(0.0, -1.0); - result += mat4(0.46885306, -0.33421394, -0.6695223, -0.41841158, 0.30317923, 0.24244753, -0.1047785, -0.18656285, 0.06261881, -0.4405616, 0.24233986, 0.40070608, 0.81440526, 0.11305212, -0.8826317, -0.023478031) * go_1(0.0, 0.0); - result += mat4(-0.07879348, -0.024378026, -0.041883785, -0.17030984, 0.23229122, -0.011237109, 0.12058088, 0.20766267, -0.36519575, 0.09599417, -0.1271098, 0.06990154, 0.21161246, 0.041002538, -0.36046275, 0.007304667) * go_1(0.0, 1.0); - result += mat4(0.10873893, 0.003872542, -0.13476561, -0.036068805, -0.054637462, 0.02304618, 0.04707738, -0.2856381, 0.07124422, 0.010866545, 0.20484549, -0.008342406, -0.43660247, -0.041055538, 0.33536008, -0.060022205) * go_1(1.0, -1.0); - result += mat4(0.1966458, 0.0016302796, -0.25712642, -0.09639119, -0.006955351, 0.10882133, 0.1107341, 0.062697805, -0.1074494, 0.17361663, 0.6429869, -0.39846307, -0.26302996, 0.048710946, 0.40387508, 0.4299715) * go_1(1.0, 0.0); - result += mat4(0.18948616, 0.24086732, -0.064474985, -0.11069709, 0.1279659, -0.13438123, -0.028438117, 0.125883, 0.018153818, -0.21942288, 0.020390838, -0.22797634, -0.10821287, -0.17175092, 0.122016855, 0.20699544) * go_1(1.0, 1.0); - result += vec4(-0.05101961, -0.060740646, -0.024465766, 0.058471628); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14533128, 0.07266841, 0.13238011, -0.23328504, 0.031516243, 0.058471266, -0.06394412, 0.090752736, -0.0042359144, 0.12357294, -0.04377495, 0.0011743477, 0.05412243, -0.08146249, 0.04002749, -0.032876283) * go_0(-1.0, -1.0); - result += mat4(-0.036972385, -0.15238069, -0.3453321, -0.36025128, 0.07597202, -0.02368151, -0.3889606, 0.34607083, 0.3133179, -0.21712309, -0.4210954, 0.21450534, 0.15226828, 0.25326282, 0.45327064, -0.3350824) * go_0(-1.0, 0.0); - result += mat4(0.019018406, -0.33060563, -0.092601225, 0.14970545, 0.1441509, -0.19228427, -0.032771986, 0.26331595, 0.052981265, -0.06627376, -0.08634131, 0.038706224, 0.13403937, -4.4842476e-05, 0.049002815, -0.12719193) * go_0(-1.0, 1.0); - result += mat4(0.17527401, -0.0035254909, -0.047959115, -0.4526988, -0.07510284, 0.0013256798, -0.07539148, 0.24220634, -0.08708839, -0.14494033, -0.17085724, -0.099797316, 0.0068515535, -0.08918779, 0.27164719, -0.1702649) * go_0(0.0, -1.0); - result += mat4(0.31848368, 0.48983255, -0.44140294, -0.65174145, -0.004199057, 0.19494705, 0.5196497, -0.027118586, 0.032509074, -0.23900363, -0.14489244, 0.36314297, -0.23168536, -0.20960593, 0.61471456, 0.12401275) * go_0(0.0, 0.0); - result += mat4(-0.24317405, 0.21560913, 0.15564032, 0.11606844, -0.15039803, -0.59578896, 0.14100945, -0.026194477, 0.37237462, -0.49472088, -0.15215331, -0.38820064, -0.25089455, -0.29643852, -0.09513793, 0.019779462) * go_0(0.0, 1.0); - result += mat4(0.12498539, 0.0710632, -0.25012368, -0.2272255, -0.08647026, 0.12277892, 0.011025097, -0.12168395, -0.13489573, 0.016708186, -0.15583871, -0.057124946, 0.1216943, 0.019803725, 0.06952334, -0.032985855) * go_0(1.0, -1.0); - result += mat4(0.28794885, 0.33783793, -0.14469545, -0.081780486, -0.50320613, -0.067601606, -0.06847453, -0.021648854, -0.34295765, 0.15071863, -0.06619896, -0.084465064, 0.31909832, 0.015414661, 0.14930317, -0.11295768) * go_0(1.0, 0.0); - result += mat4(0.24530606, 0.25526014, 0.09971985, -0.07749641, -0.2361951, -0.07997673, 0.03617294, 0.02959561, -0.4498983, -0.014073485, -0.20587012, 0.06396779, 0.1262825, 0.027433183, 0.14469334, 0.011538011) * go_0(1.0, 1.0); - result += mat4(-0.038572453, -0.023108613, -0.039481267, -0.012160024, -0.004521989, -0.028665857, 0.04295255, 0.10580258, 0.05439479, -0.072261885, 0.11030243, 0.08934696, 0.09133867, 0.017547369, 0.097613186, 0.05491059) * go_1(-1.0, -1.0); - result += mat4(-0.09972817, 0.057730395, 0.12665828, 0.32861367, -0.16186063, 0.0745509, 0.2394045, -0.08687853, -0.034404907, -0.05843572, 0.0684561, -0.1355754, 0.19248672, -0.60372186, 0.12583947, 0.4388962) * go_1(-1.0, 0.0); - result += mat4(0.10341107, 0.061113223, 0.08773817, -0.082504354, -0.16612078, 0.2681751, 0.019737698, -0.17122322, -0.135949, 0.3048101, 0.087803006, 0.11373851, 0.013192192, -0.27022064, 0.35529897, -0.15321451) * go_1(-1.0, 1.0); - result += mat4(-0.032835662, 0.11123062, -0.11322452, -0.17300649, 0.04680824, 0.12849288, 0.17269878, -0.048671383, 0.05189037, -0.009078046, 0.22105052, 0.013008137, -0.009738674, 0.15391739, 0.20969556, 0.14189166) * go_1(0.0, -1.0); - result += mat4(-0.47377753, 0.3038031, 0.18604809, 0.1931698, -0.2964668, -0.12287907, -0.7107761, 0.26619422, -0.33923018, 0.19200724, 0.013786281, -0.17496964, 0.079325035, -0.3694445, 0.0054486147, -0.33018264) * go_1(0.0, 0.0); - result += mat4(0.14903802, -0.028043179, 1.5238678e-05, 0.021232028, 0.16025065, 0.14746875, -0.22831628, -0.12177345, 0.038778774, 0.32188168, -0.042017702, 0.27155936, 0.17920609, 0.04099755, 0.28527525, 0.074623376) * go_1(0.0, 1.0); - result += mat4(0.057019282, -0.112741895, 0.030361209, 0.14567861, 0.056265317, -0.01573537, -0.06707608, 0.016657263, 0.09829025, -0.026795063, 0.023042196, 0.09438241, -0.025483066, -0.052787006, 0.19730279, 0.021218104) * go_1(1.0, -1.0); - result += mat4(0.19868211, -0.01531125, 0.108596824, -0.035456363, 0.0033609823, 0.057961613, -0.013726211, 0.101742364, 0.33357215, 0.14468077, 0.29711527, -0.24662566, -0.119014986, -0.1899639, 0.11246697, -0.0035374009) * go_1(1.0, 0.0); - result += mat4(-0.05602109, -0.15539522, 0.010730943, 0.057116497, -0.02037749, 0.084210664, -0.028235348, 0.10574697, 0.056925274, 0.07922333, -0.090088, 0.1615985, -0.0044301567, -0.089945644, 0.024176618, -0.041844133) * go_1(1.0, 1.0); - result += vec4(0.0015292584, -0.043625206, -0.09429898, -0.06280405); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06051604, -0.028152643, -0.21418124, 0.13032125, 0.42565975, -0.09571944, -0.34494513, 0.30004, -0.073245734, -0.028659137, 0.0032105136, -0.05009555, -0.048971225, 0.04814533, 0.002843805, -0.046224426) * go_0(-1.0, -1.0); - result += mat4(-0.07495975, 0.018714864, 0.21229684, -0.13614887, 0.79988647, -0.0697328, 0.38232988, 0.24165109, 0.25947478, -0.0009418982, -0.17369923, 0.10007766, 0.024117598, 0.028611807, 0.15090801, -0.06344829) * go_0(-1.0, 0.0); - result += mat4(-0.07982219, 0.0900347, 0.007609254, -0.0034791247, 0.013611781, -0.13560618, 0.09685799, 0.06276075, 0.134693, -0.14370437, -0.25175703, -0.0016138123, -0.0075672898, -0.13325731, -0.061100446, 0.0059743375) * go_0(-1.0, 1.0); - result += mat4(-0.039018434, -0.19668463, -0.43018532, 0.31886247, 0.4965479, 0.114569925, 0.19110382, 0.27343535, 0.0707728, -0.11877004, -0.25827697, 0.37012872, 0.1474777, 0.07056952, -0.14965728, 0.061595406) * go_0(0.0, -1.0); - result += mat4(0.506543, -0.16268773, 0.455319, -0.0702646, 0.70102173, -0.14041683, 0.70184857, 0.4817842, -0.3389246, -0.14463086, 0.13763213, -1.1259074, 0.47722015, 0.38352612, -0.04293366, -0.5604627) * go_0(0.0, 0.0); - result += mat4(0.17606944, 0.15897374, 0.13499324, 0.29241478, -0.032824475, 0.11128662, -0.22204424, -0.051803727, 0.013195331, -0.42040786, -0.3950585, 0.70745844, 0.38646924, -0.19080774, -0.15171832, -0.10742828) * go_0(0.0, 1.0); - result += mat4(-0.039278325, 0.18421806, -0.044948544, 0.07902063, -0.2149251, 0.09913459, -0.09743655, -0.26899317, -0.002695496, -0.07554527, -0.22373366, 0.17830558, -0.047994815, -0.06789183, -0.06755918, -0.104452066) * go_0(1.0, -1.0); - result += mat4(-0.0493473, -0.30411786, -0.056439694, -0.06582185, -0.21309847, 0.100670904, -0.22966193, -0.045954112, 0.12728062, -0.25081897, -0.094699375, -0.4036555, 0.060854495, -0.64373237, -0.21522263, -0.6683476) * go_0(1.0, 0.0); - result += mat4(0.063481025, 0.11744312, -0.043330096, 0.33817932, -0.06679828, -0.23207302, -0.10188898, -0.10590511, 0.058780864, 0.047292337, -0.11834696, 0.10076128, -0.036641665, 0.30200714, -0.0002892557, -0.10303763) * go_0(1.0, 1.0); - result += mat4(-0.10842604, 0.042055763, 0.29702973, -0.07409644, -0.030164458, -0.012098744, -0.06396587, -0.08787527, 0.051854923, 0.12997511, 0.11468497, 0.15022379, 0.007814715, 0.014517445, 0.025484756, 0.01078619) * go_1(-1.0, -1.0); - result += mat4(-0.29229385, 0.040265664, -0.15376821, 0.075579196, -0.05593569, -0.045405343, 0.12099204, 0.1571252, 0.17841713, 0.04673325, 0.14550509, 0.08603346, -0.049786013, 0.06121843, -0.16273825, -0.13857752) * go_1(-1.0, 0.0); - result += mat4(0.06903744, 0.2628764, -0.13582836, -0.35678583, -0.13821034, -0.019381443, -0.19570538, -0.09298511, 0.08965436, 0.09745909, 0.20055099, 0.024967568, 0.08144204, 0.004633625, 0.12809834, -0.009431525) * go_1(-1.0, 1.0); - result += mat4(0.09784006, 0.010729353, 0.046643205, -0.110926524, -0.21556224, 0.00016300633, 0.122175336, 0.15004392, 0.013864355, 0.24767809, 0.13865592, 0.0155424485, -0.1450483, -0.15688781, -0.06195043, -0.13745981) * go_1(0.0, -1.0); - result += mat4(0.018991318, 0.55401963, 0.11709872, -0.028442185, -0.46035343, -0.10215539, -0.60193926, 0.47882316, -0.23346989, 0.037200127, 0.22814943, -0.08231696, -0.36430013, -0.011152757, 0.48752213, 0.29796222) * go_1(0.0, 0.0); - result += mat4(-0.07258066, -0.023222538, 0.23230423, -0.30317304, 0.03942911, -0.06899803, 0.23778579, 0.07418621, -0.17443737, 0.33387753, 0.007354842, -0.123447575, -0.1745315, 0.11071779, -0.11949625, -0.22832453) * go_1(0.0, 1.0); - result += mat4(-0.024909232, -0.0308135, 0.12170621, -0.13298757, 0.045828197, -0.1532345, -0.06633672, 0.23591088, 0.04964077, 0.14091493, 0.038343724, -0.029780807, 0.05762822, -0.048930667, -0.02434709, 0.07109019) * go_1(1.0, -1.0); - result += mat4(-0.16039175, 0.3004474, -0.17278233, 0.13677922, 0.18838613, 0.15054552, 0.32901475, -0.1288333, 0.26378244, -0.05119892, 0.34533516, 0.25180495, 0.19452183, 0.0843233, -0.08029368, 0.39877903) * go_1(1.0, 0.0); - result += mat4(-0.07097129, -0.26492423, -0.055032317, -0.093516104, -0.11795062, 0.04086253, -0.07989471, 0.059686553, 0.09378249, 0.45851848, 0.2510942, 0.19599153, 0.019765077, -0.02920918, -0.04125142, -0.13859107) * go_1(1.0, 1.0); - result += vec4(0.04400571, -0.04015565, 0.0140529545, 0.05474095); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.014236042, -0.0031431736, -0.1551387, 0.12515116, -0.28528872, 0.36161992, 0.15750743, -0.17111474, 0.13792591, -0.0657419, -0.17471549, 0.14650472, 0.034169197, -0.019157575, 0.23520657, -0.20358163) * go_0(-1.0, -1.0); - result += mat4(0.02015035, 0.12993371, 0.11199667, -0.09854378, 0.5001741, 0.03462961, 0.24919736, 0.08505297, -0.20902094, -0.24141377, -0.15360375, 0.049974803, -0.037157424, -0.048510186, 0.20106035, -0.118480384) * go_0(-1.0, 0.0); - result += mat4(0.086798504, -0.009607818, 0.034812123, -0.005187592, 0.0351509, 0.021755, -0.04996161, -0.041231696, 0.0020545553, 0.015730752, -0.07507172, 0.018597523, -0.02393343, 0.07624775, 0.03892451, -0.0025574185) * go_0(-1.0, 1.0); - result += mat4(0.035725456, 0.06809103, 0.51926994, -0.39983147, -0.16402833, -0.1243394, -0.25922915, 0.28285915, 0.15959994, -0.2351732, 0.2650535, -0.30193794, -0.11468332, 0.050777763, -0.51894253, 0.4408367) * go_0(0.0, -1.0); - result += mat4(-0.27042082, 0.22243942, 0.14902467, 0.38428563, 0.46612173, 0.5169912, -0.22330502, -0.11300288, -0.36141354, 0.0668681, 0.2984152, 0.1275798, -0.24121419, 0.2952039, -0.45109174, -0.3822957) * go_0(0.0, 0.0); - result += mat4(0.26543504, -0.05742226, -0.052103903, -0.013124308, -0.14358385, -0.04024543, 0.07665455, -0.012301872, -0.18752757, -0.03913891, 0.038205814, -0.006583095, -0.25550908, -0.25725332, -0.12454206, -0.0058936924) * go_0(0.0, 1.0); - result += mat4(-0.0018946569, 0.019746022, -0.13080788, 0.11450627, -0.013743845, -0.027179785, -0.14425103, 0.07109661, 0.023703793, 0.086905524, 0.03151253, 0.0132474145, 0.041018624, 0.04548913, 0.2718715, -0.20008296) * go_0(1.0, -1.0); - result += mat4(-0.076830454, 0.11652955, 0.5068201, -0.3082819, 0.058615055, -0.006765798, -0.057522714, 0.049981344, -0.006897243, -0.21763432, 0.16896053, -0.21176189, -0.061227098, 0.03566485, 0.08901554, -0.050980624) * go_0(1.0, 0.0); - result += mat4(0.02327798, 0.07662976, 0.034811985, -0.03238033, -0.0021881019, -0.030997375, -0.069672935, 0.04040273, -0.1217442, 0.104173124, 0.09862539, 0.020557549, -0.022286594, 0.10287763, -0.021694934, 0.07542515) * go_0(1.0, 1.0); - result += mat4(0.124069154, -0.08579466, -0.07816314, 0.11332851, -0.034682628, -0.11038275, 0.04750615, -0.096100725, 0.039588403, -0.15149672, -0.05529172, 0.034304325, -0.022520235, -0.05023852, -0.2674731, 0.21886522) * go_1(-1.0, -1.0); - result += mat4(-0.1948599, -0.14946899, -0.39548838, 0.18042913, -0.007919619, 0.19826505, 0.23789087, 0.009140256, 0.11857748, 0.18215668, 0.13606293, -0.09209675, -0.080678545, -0.020431137, -0.07728839, -0.051353537) * go_1(-1.0, 0.0); - result += mat4(-0.07616472, -0.0032800382, -0.045657665, -0.039144326, -0.37786487, -0.08877774, 0.053579114, -0.070886396, 0.011311804, 0.107276045, 0.013236154, 0.009832061, 0.08292063, 0.12258811, 0.0005569043, -0.009806432) * go_1(-1.0, 1.0); - result += mat4(-0.28062925, 0.15946878, -0.1021801, -0.06471589, -0.26999477, 0.21230288, -0.14243907, 0.2555922, -0.09608517, 0.26339412, 0.20891234, -0.23538485, 0.33958244, -0.12569186, 0.43289876, -0.33462036) * go_1(0.0, -1.0); - result += mat4(0.16265294, 0.2625464, -0.34452894, 0.2233622, 0.13850005, -0.42999864, -0.5385177, -0.11035979, 0.51662, -0.78238726, -0.09422375, 0.83759475, 0.44468537, 0.14301361, 0.108906105, 1.1596143) * go_1(0.0, 0.0); - result += mat4(-0.73757625, -0.12369605, 0.23523071, 0.006587637, -0.15445381, 0.22757277, 0.052819528, 0.10183905, -0.07912228, -0.16998893, -0.13360223, 0.014348178, -0.17778571, -0.41047302, 0.10241381, -0.08526306) * go_1(0.0, 1.0); - result += mat4(0.14712952, 0.048995696, 0.05299946, -0.06817572, 0.1498064, -0.079825334, 0.40354064, -0.31789717, -0.1998377, 0.00955295, -0.32318407, 0.30898204, -0.039571725, -0.026203401, -0.16292085, 0.08574385) * go_1(1.0, -1.0); - result += mat4(-0.6353329, -0.56000775, -0.17279743, 0.18198174, -0.19555812, 0.056538377, 0.34365895, -0.07799055, 0.19011354, -0.13952748, 0.029196098, -0.19596763, -0.069196045, -0.17402656, 0.07948411, -0.016226962) * go_1(1.0, 0.0); - result += mat4(0.25592864, 0.083498634, -0.28515807, 0.10789751, 0.0043962947, 0.07085363, 0.048724182, -0.025131436, -0.0049440865, -0.033094388, -0.032935806, 0.04266025, 0.20026933, 0.0927841, -0.006839351, -0.013012285) * go_1(1.0, 1.0); - result += vec4(0.02021373, 0.0014037411, 0.0012718709, 0.017278494); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_1_tf -//!BIND conv2d_2_tf -//!BIND conv2d_3_tf -//!BIND conv2d_4_tf -//!BIND conv2d_5_tf -//!BIND conv2d_6_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0067711817, 0.08160003, 0.0247279, 0.03084815, -0.026977416, -0.02120602, -0.025078611, -0.029852165, -0.011627478, -0.012742972, 0.022736797, -0.0028815821, -0.007515677, 0.0172887, -0.023259213, 0.009608947) * g_0; - result += mat4(-0.028660107, -0.014015208, -0.027838672, -0.013171922, 0.0029435428, 0.027047642, -0.017478354, 0.022834882, -0.037572853, -0.0034044068, -0.0149029335, -0.013362301, 0.009827443, -0.015742151, -0.0074795415, -0.0022266617) * g_1; - result += mat4(-0.07579662, -0.039754186, -0.066026606, -0.046816852, 0.1099032, 0.043956704, 0.073109835, 0.04680284, -0.06896613, -0.008838632, -0.044584926, -0.01319039, -0.0021152915, -0.04503326, 0.027061926, -0.028334105) * g_2; - result += mat4(0.15458213, 0.059769996, 0.09327123, -0.028782733, 0.023459995, -0.15390377, -0.13432898, -0.1127775, 0.072764635, -0.0020463336, 0.034736466, -0.0012086042, -0.05847183, -0.029952323, 0.052969377, 0.09590908) * g_3; - result += mat4(-0.07476772, -0.016574614, 0.04131183, 0.017335678, 0.009654406, 0.072183535, -0.002266456, 0.086873695, 9.310129e-05, 0.0056416965, -0.004188391, 0.023132093, -0.05183336, -0.025825873, -0.03684392, -0.0075729224) * g_4; - result += mat4(0.00878842, 0.03869637, -0.035759524, 0.003345386, -0.064184256, -0.034568302, -0.06672922, -0.0686381, -0.06794392, -0.10685906, 0.04679947, -0.012535639, 0.006932529, -0.007783515, 0.109123886, 0.13804391) * g_5; - result += mat4(-0.03160699, 0.050473, -0.09030729, 0.0649397, 0.11466501, 0.17912874, -0.0081851315, 0.052244574, 0.051632743, 0.061941486, 0.06546816, 0.12174249, -0.05104755, -0.018193979, -0.032196652, -0.035292786) * g_6; - result += mat4(0.013612735, -0.0024100312, -0.068611205, -0.07369285, -0.019647537, -0.066944756, -0.010012875, -0.06785739, -0.062246565, -0.087313406, -0.044278186, -0.09368995, 0.052555013, 0.13604961, 0.05645059, 0.08763303) * g_7; - result += mat4(0.04218486, -0.05028401, 0.059086576, -0.03545452, 0.027737848, 0.0043074046, 0.0011001764, -0.073026665, -0.04094988, 0.044061556, -0.009812515, 0.06841999, -0.06612581, 0.037223976, -0.07759491, -0.04356598) * g_8; - result += mat4(-0.027558247, 0.014248466, -0.019813016, -0.058107473, -0.016717663, -0.020424338, 0.0053625097, -0.009917319, 0.013678771, 0.0113340765, 0.0061787106, -0.036083996, -0.020179711, -0.011310535, 0.054827053, -0.0008278952) * g_9; - result += mat4(0.028690035, -0.012079616, 0.11931408, -0.048533775, 0.069336995, 0.0049852817, 0.013774468, 0.035233382, -0.07384821, 0.0003354423, -0.0059171803, -0.04503906, 0.08727279, 0.005138857, -0.17724465, 0.055782065) * g_10; - result += mat4(-0.20744391, 0.24348328, -0.3145766, 0.17026486, -0.022870807, -0.01648648, -0.05912279, -0.012555373, -0.066004686, 0.03182394, 0.16285324, -0.1221846, -0.31816196, 0.007928748, 0.43180224, -0.015949022) * g_11; - result += mat4(0.16363169, 0.14781676, -0.2377973, -0.1571377, -0.09038187, 0.0046504294, 0.033955004, -0.051421452, 0.046735536, 0.006827522, -0.121338, 0.12671822, 0.15833299, -0.1858712, -0.1942371, 0.17336044) * g_12; - result += mat4(-0.018145572, -0.015550516, 0.044410378, 0.046016492, 0.084021375, 0.05327457, -0.008270992, -0.045435544, 0.07185879, -0.131923, 0.26721445, -0.26745328, -0.07093472, 0.042701527, 0.13793674, -0.095621444) * g_13; - result += vec4(0.016836504, 0.010161949, 0.021351453, 0.01278978); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl deleted file mode 100644 index ac75c15..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl +++ /dev/null @@ -1,158 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.0057322932, 0.12928207, -0.056848746, 0.18680117, -0.0306273, 0.25602463, 0.053723164, 0.20419341, 0.0018709862, 0.022848232, -0.04105527, 0.10169034, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.009471417, -0.12957802, 0.096014425, 0.21836184, 0.00021601951, -0.22997683, 0.23666254, 0.41192335, 0.021762101, 0.0047863554, 0.008233427, 0.108514786, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.01156376, -0.18988979, 0.04614705, -0.044767227, 0.01050636, -0.26426336, 0.23741047, 0.0027636609, -0.027718676, -0.14202335, -0.016650287, -0.06637125, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.057809234, -0.11033858, 0.056533534, -0.06292466, 0.13880666, -0.18710336, 0.2441031, -0.25326246, 0.0032683122, -0.026437074, 0.0023248852, 7.640766e-05, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.49110603, 0.4429004, -0.44015464, -0.41174838, -0.87738293, 0.7808468, -1.0929365, -0.59699076, -0.18409836, 0.185138, -0.11773224, -0.17097276, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.10580959, -0.055947904, -0.03431237, -0.080236495, 0.14862584, -0.15393938, -0.18872876, -0.3170681, 0.03559387, -0.003990826, 0.021298569, 0.012844483, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.040715586, -0.25781113, 0.08896714, -0.1225879, -0.15790503, -0.54010904, 0.29588607, 0.10401059, 0.003413123, -0.108357325, 0.0112870345, -0.11888622, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.0049315444, 0.02376202, -0.08224771, 0.121118225, -0.041512914, -0.027994309, -0.585988, -0.069672115, -0.017247835, 0.0056576864, 0.04319012, 0.055003505, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.37521392, 0.15916082, 0.059708964, 0.19046007, 0.8120325, 0.38343868, 0.3436578, 0.5287958, 0.16570656, 0.06957687, 0.014022592, 0.074799836, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.01050964, -0.00939481, 0.17684458, 0.027366742); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.011029496, 0.05866063, -0.09460646, -0.017664742, -0.022488879, 0.18384217, -0.00397663, -0.064733066, 0.08466802, 0.10667488, 8.0212536e-05, 0.0908869, 0.13580276, 0.00097438256, 0.12176522, -0.08218466) * go_0(-1.0, -1.0); - result += mat4(0.16062798, -0.10190268, 0.03280682, 0.05621916, -0.009684231, -0.08464307, 0.17058301, -0.096469186, 0.1967505, -0.1450099, 0.093607284, -0.28240147, -0.21377413, 0.10079291, -0.1741522, 0.17330575) * go_0(-1.0, 0.0); - result += mat4(-0.060160473, 0.06316997, 0.0046929033, -0.049405966, 0.13851729, 0.06830702, -0.0586872, -0.040827133, 0.007052838, -0.03576886, -0.111261636, 0.039155316, -0.07380389, -0.09369825, 0.04471156, 0.09678487) * go_0(-1.0, 1.0); - result += mat4(-0.36683616, -0.035950605, -0.24414362, -0.009159744, 0.19335322, -0.099253505, 0.075083904, -0.00076695543, 0.65291303, -0.25599423, 0.19827642, 0.065899536, -0.07423247, -0.068967685, 0.0050554527, -0.060272824) * go_0(0.0, -1.0); - result += mat4(-0.020688485, -0.83178276, 0.11104878, 0.26454413, 0.13655476, 0.37675047, -0.22219229, -0.01751935, 0.44552696, 0.92510307, 0.16063261, -0.62011045, 0.19366647, -0.06996067, -0.2504841, 0.00803723) * go_0(0.0, 0.0); - result += mat4(0.0051537007, -0.057168536, -0.16110587, 0.25232598, -0.04447099, 0.11997351, 0.14808103, -0.34443566, -0.26212573, -0.21970181, 0.2724405, 0.21050811, -0.07949061, -0.064808235, -0.21208277, -0.0042361654) * go_0(0.0, 1.0); - result += mat4(-0.0888952, -0.20169449, 0.19144905, -0.016882861, -0.013283103, 0.07552998, -0.24686803, 0.012453213, -0.065454446, -0.016123284, -0.47316182, 0.070926026, 0.09219782, 0.13118166, 0.074736096, 0.0077910526) * go_0(1.0, -1.0); - result += mat4(0.5832154, 0.1138069, -0.039765622, 0.3182784, -0.25497997, 0.0013993139, 0.39285088, -0.48511526, -0.39891505, -0.19094779, -0.082146175, -0.20826934, 0.020590555, -0.0012490178, -0.4398621, 0.14377014) * go_0(1.0, 0.0); - result += mat4(0.21917395, 3.4314657e-05, 0.25734863, -0.3433305, 0.015720673, 0.2676127, -0.06807297, 0.15040149, -0.23638041, -0.0050233034, -0.13666134, 0.4542111, -0.033572577, -0.08450588, -0.23341487, 0.053490847) * go_0(1.0, 1.0); - result += mat4(-0.17482175, 0.057647135, 0.33135444, 0.0850751, -0.1718849, -0.0854123, 0.036795795, -0.13874969, -0.10903869, -0.19007301, -0.06064334, -0.03786032, -0.036696054, 0.07844446, 0.012523185, -0.01562906) * go_1(-1.0, -1.0); - result += mat4(-0.04411997, -0.10331819, 0.10050193, 0.12406485, 0.07431592, 0.30109692, -0.17511666, -0.13263564, -0.10192587, 0.07821255, -0.22415096, 0.25552443, 0.17881326, -0.13914281, 0.109979235, -0.0016463579) * go_1(-1.0, 0.0); - result += mat4(-0.01911644, -0.15412527, 0.028903123, 0.20831817, 0.00375175, 0.08110953, 0.074919395, -0.17581624, -0.015677985, 0.06504228, 0.08817818, -0.12518327, -0.09537373, 0.028905088, -0.051288474, 0.054334078) * go_1(-1.0, 1.0); - result += mat4(0.2852779, -0.28924024, 0.36805123, 0.21079305, -0.28336474, 0.1679663, -0.08641141, -0.10699407, -0.16090055, 0.1287612, -0.15910125, 0.05734755, 0.15883245, 0.0053026294, 0.080674745, 0.0505137) * go_1(0.0, -1.0); - result += mat4(0.17639062, 0.3790122, -0.19588692, -0.020314282, 0.26197383, 0.09014768, 0.19696823, -0.41025418, -0.08308115, -0.33279485, -0.22528782, 0.06172439, -0.1365661, -0.13094363, -0.005086559, 0.089024484) * go_1(0.0, 0.0); - result += mat4(0.05262993, 0.0006296959, 0.1657725, -0.32591924, 0.12126701, 0.061543245, -0.10526848, 0.041583937, 0.094976954, 0.09416157, -0.22019257, -0.058390073, -0.2073888, 0.057273377, 0.19558284, 0.004208022) * go_1(0.0, 1.0); - result += mat4(0.30005738, 0.18478931, -0.23342943, 0.22455733, -0.016488122, 0.099634305, 0.31620836, -0.15731157, 0.09595808, 0.0013774688, 0.48273298, -0.07027936, -0.18764344, -0.26194447, -0.11794225, -0.012173601) * go_1(1.0, -1.0); - result += mat4(0.117986746, -0.13846518, -0.019614812, -0.3011192, 0.5501164, 0.3408611, -0.40090847, 0.15706886, 0.13050972, 0.051776595, 0.20792943, 0.23389706, -0.22965533, -0.053367328, 0.3911586, -0.032988597) * go_1(1.0, 0.0); - result += mat4(0.054753624, -0.008485731, -0.2451672, 0.17528129, 0.13657846, 0.010480436, 0.07651423, -0.43316832, 0.12736236, 0.13804524, 0.12529011, -0.30946237, -0.14423579, 0.08403089, 0.24335162, 0.057288036) * go_1(1.0, 1.0); - result += vec4(0.012077211, 0.013045883, 0.0380778, -0.02908858); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.036115196, -0.06971895, -0.07508942, 0.016036168, 0.12120111, 0.24536026, 0.044755507, -0.20663576, 0.029635755, -0.15427187, 0.027148994, -0.20795093, 0.10170582, 0.077919215, 0.66063017, -0.4632968) * go_0(-1.0, -1.0); - result += mat4(-0.0052889925, -0.019060908, -0.08660142, -0.022095207, -0.08097976, -0.015142803, -0.18552722, -0.078493506, -0.16293915, -0.20099808, -0.08370822, 0.3701389, 0.09094984, 0.2487225, 0.24338846, 0.044003833) * go_0(-1.0, 0.0); - result += mat4(-0.061406493, -0.017232792, -0.10917424, 0.11203319, 0.040699825, -0.019294346, 0.084953666, -0.018133596, 0.07209552, 0.016069936, 0.17805555, -0.089537814, 0.15809004, 0.1027023, 0.15044671, -0.15530108) * go_0(-1.0, 1.0); - result += mat4(0.0948676, -0.040305693, -0.005591629, -0.048048403, -0.07547777, 0.056606572, 0.021390207, 0.32600567, -0.20805131, -0.099587254, 0.029613169, 0.0092129605, -0.29429698, -0.09898621, 0.44470885, -0.89487344) * go_0(0.0, -1.0); - result += mat4(-0.122259885, 0.11445877, 0.06666907, 0.1869428, -0.1553992, -0.1658741, 0.2988138, -0.57746625, -0.34609964, 0.11169158, -0.41877756, 0.38075635, 0.21293911, 0.09640372, -0.12754214, -0.08026104) * go_0(0.0, 0.0); - result += mat4(0.15128808, 0.050087795, 0.09219755, -0.18080945, 0.0044571217, -0.046019405, -0.1289922, 0.20305426, 0.19601224, 0.04667917, 0.17465587, 0.027672665, 0.18441725, 0.06845396, 0.11288585, -0.23283863) * go_0(0.0, 1.0); - result += mat4(-0.072962, -0.06639447, 0.049347494, -0.1386401, 0.10396071, 0.08187777, -0.04280746, 0.07390891, 0.06628344, 0.037797406, 0.021885803, -0.013147403, 0.22376558, 0.36243078, 0.12874891, -0.0023783944) * go_0(1.0, -1.0); - result += mat4(0.074945286, 0.16045591, -0.11798349, 0.12910712, 0.054760084, -0.095626175, -0.047832094, 0.03493912, 0.11817307, 0.037452437, -0.14301221, -0.027356789, -0.052390423, 0.11373512, 0.07686775, 0.010008694) * go_0(1.0, 0.0); - result += mat4(-0.023999173, -0.091900624, 0.02388157, 0.03173873, 0.0065633506, -0.033716757, -0.1198324, 0.12057766, 0.026465805, -0.07517131, -0.07760598, 0.060463097, 0.07345541, 0.046037503, 0.21101558, -0.26785463) * go_0(1.0, 1.0); - result += mat4(0.15544604, -0.03902825, 0.04630384, -0.25173616, -0.0691359, 0.07476507, 0.009071253, 0.089964196, -0.26539803, -0.3958477, -0.22155671, 0.20735882, -0.105860494, -0.003996804, -0.044815883, 0.39544627) * go_1(-1.0, -1.0); - result += mat4(0.6169709, 0.23717614, -0.37884676, -0.7484867, 0.020169826, -0.30718836, 1.0965588, -0.20711036, -0.39149985, -0.06843563, -0.06522909, 0.103805855, 0.03265825, -0.15137726, 0.12837899, -0.01294922) * go_1(-1.0, 0.0); - result += mat4(-0.23638196, -0.4560866, -0.11948684, -0.1464144, 0.10690008, 0.007835961, 0.11864342, -0.13101323, -0.16509797, 0.075027354, 0.08122998, 0.13451207, 0.0011890623, 0.052157886, 0.08372405, -0.07085038) * go_1(-1.0, 1.0); - result += mat4(-0.21997726, -0.16488647, -0.0291317, 0.17997476, 0.1493211, 0.027494298, 0.0034613227, -0.3207727, 0.18699001, 0.14728633, -0.042895135, -0.07612043, 0.125076, -0.14714554, -0.03480009, -0.22753975) * go_1(0.0, -1.0); - result += mat4(-0.5342686, -0.7426105, -0.38294584, 0.42549992, 0.46053204, 0.7867879, 0.106234804, -0.041163098, 0.5198579, -0.5219404, 0.14809476, -0.41802374, 0.06810794, -0.15122683, -0.047409, 0.13178343) * go_1(0.0, 0.0); - result += mat4(-0.50428164, 0.18220626, 0.35510704, -0.081787474, 0.03155813, 0.019284263, 0.0032388573, -0.20513348, -0.05385551, 0.17803182, -0.26206362, 0.2870375, 0.008557827, 0.08401449, -0.027598893, -0.010791235) * go_1(0.0, 1.0); - result += mat4(0.16657415, 0.067647465, 0.093076974, -0.14438486, -0.10017002, 0.0022367141, 0.03250936, -0.052794546, -0.009178676, -0.019673595, -0.0016697067, -0.15424626, -0.112123474, -0.11079971, 0.011987111, -0.11747758) * go_1(1.0, -1.0); - result += mat4(-0.023021797, -0.058703423, -0.037978355, -0.062433913, -0.13130441, 0.048656322, 0.056839373, 0.109036915, -0.07823158, 0.14785293, 0.058555078, -0.11679035, -0.14002073, 0.07395252, 0.098268874, -0.06710464) * go_1(1.0, 0.0); - result += mat4(0.14906375, 0.030001195, -0.10338215, 0.0662968, -0.161953, -0.13682815, 0.09563142, 0.009514228, -0.009491218, 0.06737101, -0.1393389, 0.15231515, -0.073147796, 0.00767062, 0.028675212, 0.014213088) * go_1(1.0, 1.0); - result += vec4(0.018736731, -0.0026039074, 0.050130025, -0.055364225); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.019100675, -0.014241565, 0.004667036, -0.03865062, 0.106731094, 0.026099661, 0.014594411, -0.011881356, 0.0040967264, -0.004626336, 0.006469508, 0.010875305, -0.033909045, -0.085905954, 0.07861378, 0.019452631) * go_0(-1.0, -1.0); - result += mat4(0.20777655, -0.060354974, 0.0023840065, -0.064121604, -0.17397617, 0.019293457, -0.09707183, 0.080641985, 0.01025124, -0.017382381, 0.008661793, -0.010995665, 0.21943407, -0.115574986, 0.14471593, -0.068836235) * go_0(-1.0, 0.0); - result += mat4(0.057942886, -0.06311754, 0.2253396, -0.04159292, -0.020731755, 0.007877151, 0.041525815, 0.025278691, 0.03041967, -0.025137542, 0.024364179, -0.024543528, 0.029438615, -0.015506873, 0.081686, -0.07812221) * go_0(-1.0, 1.0); - result += mat4(0.054237515, 0.0676094, -0.0047708177, 0.0043467237, -0.10032304, -0.020498628, 0.04240586, 0.07272254, 0.0784221, 0.017945962, -0.022310399, -0.013134622, 0.015638694, -0.10001543, 0.1043031, 0.05898838) * go_0(0.0, -1.0); - result += mat4(-0.021652509, 0.35796642, 0.059497777, 0.23948468, 0.15454951, -0.10017235, -0.19072174, -0.44812536, -0.03974552, 0.04529369, 0.22207436, 0.026222564, -0.09705454, 0.5623026, -0.3354105, -0.017278556) * go_0(0.0, 0.0); - result += mat4(-0.053682446, -0.03411237, -0.09399936, 0.15128824, -0.07463, -0.042020727, 0.0031783928, 0.13481957, -0.07731454, 0.044114403, -0.23085599, 0.060444202, -0.15015422, 0.0018040676, -0.18684982, 0.2812511) * go_0(0.0, 1.0); - result += mat4(0.0029329916, 0.001596018, 0.0007512241, 0.016544111, -0.04876942, -0.05272409, 0.037884697, 0.049948208, 0.015518177, 0.11368592, -0.03815777, -0.013149978, -0.027638039, 0.107719295, -0.04115787, 0.02745414) * go_0(1.0, -1.0); - result += mat4(0.016691081, 0.010204119, 0.04078854, 0.01613337, 0.03325829, 0.0114824055, -0.017286912, -0.07284126, -0.110984206, -0.21041764, 0.0089543555, 0.18986733, 0.01537506, -0.2059135, 0.029074017, 0.013117443) * go_0(1.0, 0.0); - result += mat4(0.013965926, 0.029871881, 0.0034499036, -0.011343668, 0.022120327, -0.0068748263, 0.009324342, -0.039081004, 0.08032371, 0.050809264, 0.035050742, -0.2032847, 0.06305391, -0.021958945, 0.038569167, -0.22465245) * go_0(1.0, 1.0); - result += mat4(0.046307724, -0.012419472, 0.007673863, -0.042344846, 0.011042414, 0.016994251, -0.018166406, -0.016955731, -0.13240299, 0.01768431, -0.027607648, 0.0699927, -0.02840628, 0.004414203, 0.0049618417, 0.011084679) * go_1(-1.0, -1.0); - result += mat4(-0.119954154, -0.007455482, -0.031108133, -0.009946449, 0.0077065965, 0.01660345, 0.032943666, 0.016376585, 0.10273124, 0.1556573, -0.24643841, 0.107307844, -0.068235755, 0.0561896, -0.0104672015, 0.042693343) * go_1(-1.0, 0.0); - result += mat4(-0.01634601, 0.04195375, -0.10401894, 0.047641944, -0.034602515, -0.0034419263, -0.010457858, 0.015194475, -0.03962551, -0.030031368, 0.16036317, 0.019283568, -0.05877721, 0.016504882, -0.15523468, 0.018161612) * go_1(-1.0, 1.0); - result += mat4(-0.08083991, 0.0024665035, -0.049373373, 0.030371357, 0.0113322195, -0.014676956, 0.011646689, -0.01142667, 0.124930486, 0.06625774, -0.045840867, -0.009693036, -0.012649251, -0.07388084, 0.008790075, 0.0013844534) * go_1(0.0, -1.0); - result += mat4(-0.33941835, -0.2763476, -0.118311435, -0.063535266, 0.20936015, 0.13731301, 0.13443594, 0.07464433, 0.059650812, -0.36973104, 0.16444235, -0.37082872, 0.06432777, -0.18283032, -0.044489607, -0.13895285) * go_1(0.0, 0.0); - result += mat4(0.13533665, 0.08268915, -0.03675727, -0.14348659, 0.0186255, -0.05051692, 0.056702953, 0.0061717895, 0.047663026, -0.088188455, 0.23254345, -0.014015464, 0.08400204, -0.0073777726, 0.2202068, -0.12366078) * go_1(0.0, 1.0); - result += mat4(0.04361004, 0.046543695, 0.0064863074, -0.03358146, -0.022602187, 0.018138997, -0.011071864, 0.010244091, -0.019814799, -0.17250171, 0.040823266, -0.040131986, 0.010125854, 0.020660749, 0.0020435036, -0.010819304) * go_1(1.0, -1.0); - result += mat4(-0.004810193, -0.11286074, 0.051985834, 0.04788631, -0.023950428, 0.036145125, -0.038203828, 0.052401308, 0.022986965, 0.26420745, -0.06076917, -0.09252999, 0.03164547, 0.15652153, -0.037934, -0.0035418556) * go_1(1.0, 0.0); - result += mat4(0.03358366, -0.005219482, 0.007060882, -0.06569114, -0.02941682, 0.00966056, -0.0153679885, 0.019905418, -0.107232265, -0.03405676, -0.044340115, 0.26892832, -0.04723829, -0.02589829, 0.004563232, 0.19318114) * go_1(1.0, 1.0); - result += vec4(-0.00346731, -0.0046263863, -0.004627155, -0.0057769152); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - float c1 = c0; - float c2 = c1; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl deleted file mode 100644 index e051f5f..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl +++ /dev/null @@ -1,1702 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.27576035, -0.07072761, -0.1630093, -0.11306897, 0.14765891, -0.039999995, 0.04671886, -0.06138944, 0.11445724, 0.10989976, 0.12772457, 0.19654717, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.076798744, -0.026944768, -0.24994318, 0.2515569, -0.16839856, 0.17563075, 0.30983326, -0.26057217, -0.07267306, -0.16690817, -0.028771983, -0.32779765, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.22670166, -0.08031973, 0.1576897, -0.09411961, 0.10889907, 0.09876773, -0.12708376, 0.20890583, 0.13792023, 0.046159253, 0.008415701, 0.028718324, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.123937644, -0.0040695923, 0.1577942, -0.25086892, -0.11906424, 0.024612824, 0.04019426, -0.20309904, -0.001790695, -0.022292957, -0.24705121, -0.020513516, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.12275696, 0.087533146, 0.22975677, 0.3249744, -0.46705425, 0.049937986, -0.3746097, 0.6908184, -0.02694045, 0.10467642, 0.24765752, 0.29053956, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.085650265, 0.06399875, 0.16803174, -0.000924935, -0.012419805, 0.3505107, -0.013437306, -0.37681264, -0.06174721, 0.3525594, -0.7133205, 0.16013019, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.2400495, 0.08462758, 0.025238732, -0.019882765, -0.09665332, -0.030001955, -0.10374011, -0.2661804, -0.1017717, -0.04910443, 0.102630705, -0.01290848, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.13510828, -0.09396734, -0.30896646, 0.13402982, 0.7047196, -0.09083812, 0.29420912, -0.30652946, 0.089854665, -0.04834406, 0.017005004, -0.22518355, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.28510967, 0.04660653, 0.24457681, -0.21047631, -0.12409636, -0.5526988, -0.1340479, 0.2336875, -0.048938934, -0.31569406, -0.021553513, -0.084858574, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0357343, 0.024812812, 0.040654864, -0.002103711); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.058698863, -0.07291426, 0.04927266, 0.09258057, -0.048297565, 0.05610951, 0.07047442, -0.07120319, -0.03516866, 0.0076037147, 0.07701455, -0.059423756, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.0055849426, 0.26572028, -0.21616961, -0.042883366, 0.04323887, 0.04128688, -0.1975783, 0.15745145, 0.017314252, -0.26768935, 0.080519766, 0.021246549, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.045365453, 0.16887768, -0.21514243, -0.49443442, 0.016238604, -0.12318089, 0.21210986, 0.29339197, 0.008509125, -0.0120522, 0.14660002, 0.16444208, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.18049234, 0.27750164, 0.48953623, 0.32381085, 0.13180427, -0.19170003, -0.042992454, -0.24161138, 0.02187773, -0.052547548, -0.23762631, -0.17446616, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.10295366, -0.06758289, 0.3209139, -0.089126036, 0.045649666, 0.061549887, -0.22704688, 0.08373262, 0.062346827, -0.012463345, -0.2679532, -0.033193, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.028882261, -0.41653237, -0.55437064, -0.23836315, -0.10729088, 0.056782994, 0.2587744, 0.3095401, -0.057483524, 0.2876223, 0.21580297, 0.07463114, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.014345448, 0.05962805, -0.2022189, -0.08993287, 0.070023656, 0.08089038, 0.114226155, 0.0025734142, -0.010230871, -0.0990795, 0.17906278, 0.048965868, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.26569575, -0.20329566, 0.40301713, 0.5406432, 0.4320893, 0.09291447, -0.24186778, -0.40646008, 0.08337033, 0.114029825, -0.17575161, -0.21976136, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.23839538, -0.5789523, -0.0655242, -0.0007585647, -0.58420926, -0.0028022572, 0.040551513, -0.14223239, -0.08617295, 0.22481681, -0.015953997, 0.18862534, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.041260406, 0.20480168, -0.016556341, 0.021896001); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.07228457, 0.007666297, 0.0023270524, -0.13672906, -0.06545506, -0.049757745, 0.16956232, 0.048654493, 0.05838961, 0.02529347, -0.21557869, -0.12801598, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.14399123, 0.33404213, 0.30544546, -0.024566652, -0.07515048, -0.18194102, -0.3067775, -0.3386222, -0.06924871, 0.08277239, 0.30782035, 0.1812733, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.0034141026, 0.03465326, 0.13170029, 0.19363083, 0.07877697, 0.12887354, 0.31288412, 0.039260264, -0.14135145, -0.21657607, -0.08192631, -0.016260598, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.2796338, 0.3380564, -0.2591034, 0.053368755, 0.017104708, -0.18027966, -0.083344355, 0.29481766, -0.088741906, -0.03886714, 0.15531075, 0.34214082, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.35849893, 0.39669302, -0.4743166, -0.30070198, -0.04679741, 0.029014967, -0.11585943, 0.547813, 0.037943944, -0.3137137, -0.16505164, 0.1461349, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.19912307, -0.69915354, 0.12588218, -0.25780293, 0.06785873, -0.06666295, 0.21257555, -0.30608517, 0.22777, 0.47556394, 0.12453673, -0.23966943, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.066451795, 0.036735266, 0.0883064, 0.2535588, 0.111621, 0.026139118, 0.02632312, -0.37550557, -0.026438652, -0.042137396, 0.026273955, -0.24945815, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.550942, -0.4508381, 0.0018671635, 0.21252398, -0.10602345, 0.13596801, -0.0023862422, 0.029529708, -0.06045382, 0.22975087, -0.1594863, -0.33607775, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.0114465775, 0.011813566, 0.09969644, 0.055403743, 0.02460606, 0.13673273, -0.22494976, -0.24256726, 0.024602994, -0.1862818, 0.015388349, 0.39983493, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.32573584, 0.02118458, 0.06321103, 0.01701115); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009462198, 0.067644134, 0.09776196, -0.06859017, -0.1816813, 0.053423163, -0.02265236, 0.06604943, 0.15899086, -0.15651219, 0.2919677, 0.00591133, 0.09306437, 0.047243804, -0.1389423, -0.0076663005) * go_0(-1.0, -1.0); - result += mat4(0.23136483, 0.20969442, -0.25250545, -0.038510673, 0.06916893, -0.19306515, -0.07070081, 0.016512204, 0.05914443, 0.31841832, -0.15109769, 0.058795422, 0.0418041, -0.13008581, 0.15338552, 0.037921127) * go_0(-1.0, 0.0); - result += mat4(0.023348259, 0.15947549, 0.16773324, 0.04159353, 0.113954544, -0.071491666, 0.12837915, -0.043326825, 0.058823302, 0.09453112, 0.017051624, 0.048308555, -0.10970718, -0.25019458, 0.074912935, -0.04076737) * go_0(-1.0, 1.0); - result += mat4(0.036305163, -0.22121401, 0.120393604, -0.05099148, -0.10198376, -0.04498367, -0.08815256, 0.024565894, -0.04884751, -0.036884382, -0.24040928, -0.112012394, 0.005314592, -0.14346673, 0.04090868, 0.040303618) * go_0(0.0, -1.0); - result += mat4(0.32364944, 0.2346947, 0.13479401, -0.071001865, -0.092296354, -0.13325988, 0.18273465, 0.16443633, -0.138694, -0.1538144, 0.0001256584, 0.23658273, -0.055330865, 0.18081205, -0.14958258, 0.18050644) * go_0(0.0, 0.0); - result += mat4(0.30818513, -0.10282234, -0.14460294, 0.11525818, 0.15799633, -0.038440127, 0.07736027, -0.113209635, -0.03558696, 0.0027641046, 0.09750022, -0.035741746, -0.06724116, -0.11298426, -0.23708679, -0.08182236) * go_0(0.0, 1.0); - result += mat4(0.16450825, 0.014239063, -0.15482663, 0.011389393, 0.121237025, -0.056966547, -0.23891398, -0.07385608, -0.0919129, 0.1384911, 0.10602064, -0.08549364, -0.117471084, 0.045140628, -0.055791426, 0.11584021) * go_0(1.0, -1.0); - result += mat4(0.053284578, 0.084236816, 0.16935693, -0.16279462, -0.060930096, 0.13849908, 0.16018802, -0.007871505, 0.12076791, -0.06930294, -0.16473438, 0.12876272, -0.039502293, -0.064467184, 0.13885021, -0.09353176) * go_0(1.0, 0.0); - result += mat4(0.04007251, -0.0423664, -0.20841573, 0.025270352, 0.051647697, -0.086622365, -0.108722195, 0.03807204, 0.059649065, -0.0070362207, 0.04048331, 0.06589983, -0.014079206, -0.10045001, 0.09532272, -0.12775785) * go_0(1.0, 1.0); - result += mat4(0.15776722, -0.1468444, -0.026526975, -0.038875956, -0.36817524, -0.09478588, -0.27826226, 0.016944334, 0.009886105, -0.061800323, 0.0800291, -0.081642725, 0.051763505, -0.14510322, -0.12901913, 0.06997819) * go_1(-1.0, -1.0); - result += mat4(-0.17539172, -0.29509535, 0.14361212, -0.09461951, 0.02858693, 0.1989715, 0.05904459, -0.09012477, 0.03901393, -0.09044802, 0.08358012, 0.052188553, -0.05505933, -0.048021372, 0.27836508, -0.035614084) * go_1(-1.0, 0.0); - result += mat4(0.034031298, -0.034978155, -0.038415093, -0.09294941, 0.049487505, 0.15056923, -0.010052316, 0.08712324, 0.07430246, 0.17897835, -0.060980003, -0.08634773, -0.07403975, -0.026423855, -0.18169394, 0.007463145) * go_1(-1.0, 1.0); - result += mat4(0.048213437, 0.16104779, 0.038785655, -0.033407986, 0.22063074, -0.053561423, 0.13353224, -0.26674026, 0.04884891, 0.030459542, -0.22288404, 0.06640239, 0.12854575, 0.029917246, 0.24786973, -0.1690474) * go_1(0.0, -1.0); - result += mat4(0.14981748, 0.17726701, 0.3075169, -0.0061602336, 0.070802234, 0.012225174, -0.11732834, -0.04439886, 0.062125243, 0.09351938, 0.4337808, -0.08277167, 0.25400677, -0.08523749, -0.3210451, -0.17889985) * go_1(0.0, 0.0); - result += mat4(-0.013666365, 0.09298701, -0.22515774, 0.06844796, -0.056414075, -0.04622639, 0.2661024, 0.16837521, -0.060347248, 0.42006207, 0.31325382, 0.040558435, -0.23408552, -0.3959543, 0.08528746, 0.04711839) * go_1(0.0, 1.0); - result += mat4(-0.21203883, 0.14807487, 0.10670431, 0.09823839, -0.0029566926, -0.14064936, -0.0062036305, 0.058999464, -0.119635604, -0.017831627, -0.024394974, -0.09484209, -0.05494034, 0.2234736, -0.18613186, 0.10272367) * go_1(1.0, -1.0); - result += mat4(-0.026449624, -0.07470873, -0.103021905, 0.036553413, -0.16811648, 0.010706488, -0.11658722, 0.16098383, -0.118867725, -0.30606326, -0.38222322, 0.08585665, 0.07455366, -0.083553374, 0.11151869, -0.19190635) * go_1(1.0, 0.0); - result += mat4(-0.113795616, 0.1331456, 0.114444636, 0.0071249725, 0.12230587, -0.017298486, -0.005261545, 0.01930602, 0.19144222, -0.0868461, -0.13227822, 0.18046889, 0.12061947, 0.107320294, -0.07637172, -0.034593552) * go_1(1.0, 1.0); - result += mat4(0.049325835, 0.020729464, -0.23382401, 0.15919043, -0.008479369, 0.15347077, 0.41359872, -0.061457418, 0.024845408, -0.15185645, -0.057010442, -0.09998088, 0.10153512, -0.09882405, 0.039735407, -0.077833496) * go_2(-1.0, -1.0); - result += mat4(-0.36701423, 0.12649989, 0.018880492, -0.23008151, -0.052118823, 0.15917695, -0.11396803, 0.21387778, 0.08706439, -0.0038190812, 0.12580395, -0.18743886, 0.005943777, -0.055926796, 0.22107217, -0.15519042) * go_2(-1.0, 0.0); - result += mat4(-0.117441535, 0.11953572, -0.15477178, -0.21330307, 0.033542704, -0.086117126, 0.040748667, 0.113893, -0.039779708, 0.06455176, -0.033797383, 0.045687508, 0.06263807, 0.040957358, -0.0007738094, -0.053097825) * go_2(-1.0, 1.0); - result += mat4(0.14710459, -0.06704273, -0.021150973, -0.15517733, -0.011780557, -0.123433016, -0.5554903, 0.07073845, 0.037211616, -0.14225942, -0.13862026, -0.12025682, 0.09802159, 0.045993954, 0.21416502, -0.12655829) * go_2(0.0, -1.0); - result += mat4(0.33932889, -0.10832225, -0.10277331, -0.043458294, -0.080375, 0.07122225, 0.5117161, 0.45102793, 0.08851493, -0.19836949, 0.1128087, 0.14412156, 0.15872803, 0.35519516, -0.36955422, 0.22665614) * go_2(0.0, 0.0); - result += mat4(-0.2083875, 0.005418101, 0.1154246, 0.16369523, 0.0066285534, -0.15079136, -0.0024386873, -0.006123944, 0.1329886, 0.007733818, -0.078484625, 0.0073881904, 0.045415893, 0.13548672, -0.04421294, 0.17557195) * go_2(0.0, 1.0); - result += mat4(-0.06733927, 0.061143715, 0.11623754, 0.035660855, -0.16833517, 0.25015733, 0.16666088, 0.3536397, -0.17156921, 0.14590204, 0.0319748, -0.022740254, -0.081528045, -0.029098801, 0.106823295, 0.05240602) * go_2(1.0, -1.0); - result += mat4(-0.030105693, 0.07486713, 0.07255324, 0.26833382, 0.13944457, -0.12094807, -0.119364485, 0.008746426, -0.0543321, -0.23814397, 0.21626633, 0.19788063, -0.060222488, 0.013993159, -0.044926863, 0.10624144) * go_2(1.0, 0.0); - result += mat4(0.04872421, -0.1731085, 0.120799415, -0.262767, -0.01584661, 0.066874966, -0.23661989, -0.18333362, 0.04360596, 0.16124529, -0.024604535, -0.02463142, -0.051435392, -0.015720569, -0.08187193, 0.048288688) * go_2(1.0, 1.0); - result += mat4(0.049077168, -0.07886619, -0.061759558, -0.04904181, 0.39755592, -0.030000389, 0.13741177, 0.035482008, -0.0356009, 0.031532627, -0.2654997, 0.022695553, -0.12488769, 0.015674936, 0.10053729, -0.016251108) * go_3(-1.0, -1.0); - result += mat4(0.034757115, -0.22141235, 0.34255457, -0.01785397, 0.13844466, -0.17758907, 0.06551371, -0.054463834, 0.03203843, -0.13669081, 0.13089286, -0.08061962, 0.015957424, -0.0024440098, -0.10206851, -0.089845166) * go_3(-1.0, 0.0); - result += mat4(-0.0511128, -0.10826102, -0.28195792, 0.0077595203, -0.1147427, -0.0022921658, -0.07577954, -0.02045415, -0.060518377, -0.11451084, 0.018158037, -0.0758857, -0.04422985, 0.012489414, -0.016101263, 0.061439708) * go_3(-1.0, 1.0); - result += mat4(-0.03760036, 0.13497229, -0.13668093, 0.07768455, -0.15663894, -0.015719853, 0.21031374, 0.1781295, -0.14109309, -0.03143449, -0.020708034, 0.082145125, 0.029068671, 0.16775839, -0.060003906, 0.071289144) * go_3(0.0, -1.0); - result += mat4(0.33949512, 0.11439767, -0.030989401, 0.048677433, 0.21668954, -0.09781232, -0.14430745, -0.34149325, 0.04961082, 0.13556859, -0.02967883, -0.019534707, 0.112177946, -0.0950136, 0.02612632, -0.1142915) * go_3(0.0, 0.0); - result += mat4(-0.16193709, 0.12953411, 0.12638013, 0.07118955, -0.09868655, 0.05682677, -0.03974761, 0.14830436, 0.016494498, 0.04290563, -0.107214145, -0.0006455558, 0.15607493, 0.22610466, 0.23997377, 0.21541154) * go_3(0.0, 1.0); - result += mat4(-0.13969646, -0.03359856, 0.12332616, 0.024957852, -0.264063, -0.027087519, 0.16026239, 0.18871038, 0.12738967, -0.070992924, 0.058890942, -0.055569854, 0.07901736, -0.10643202, 0.08499172, -0.07838089) * go_3(1.0, -1.0); - result += mat4(0.124158695, 0.04502674, -0.080311716, 0.013808018, 0.0370118, -0.16594483, -0.16791067, 0.05448626, -0.03551704, 0.006355477, 0.26084647, 0.12521335, -0.004537222, -0.017335514, -0.12183743, 0.021074474) * go_3(1.0, 0.0); - result += mat4(-0.022497809, 0.04964908, 0.14643028, -0.04685759, -0.06790267, 0.11746793, 0.12926494, -0.082243346, -0.053480923, 0.06610809, -0.04575657, -0.14319976, -0.09223617, 0.10878509, -0.05621081, 0.16550247) * go_3(1.0, 1.0); - result += mat4(-0.28332457, 0.05198234, 0.021976635, -0.1545899, -0.26678282, -0.047813956, -0.023821756, -0.101214804, 0.07505883, 0.05556278, 0.017566912, 0.00901856, -0.022323653, 0.1653073, 0.08053188, -0.18955535) * go_4(-1.0, -1.0); - result += mat4(0.084919475, 0.03962379, -0.13510302, 0.24873632, -0.06863436, 0.029294679, 0.016317705, -0.043712415, -0.028959788, 0.017755143, -0.05474792, -0.055838227, 0.08769533, -0.09412337, -0.023203408, -0.0640265) * go_4(-1.0, 0.0); - result += mat4(-0.110101126, -0.032489337, 0.02593033, 0.15959314, -0.044097103, -0.18824866, 0.08125642, -0.0077189617, -0.054190274, -0.14331457, 0.1452974, 0.07808066, 0.0021549438, -0.03174141, 0.017612346, -0.15539496) * go_4(-1.0, 1.0); - result += mat4(-0.088953294, -0.029799841, 0.11556197, 0.04862062, 0.066503406, -0.114064194, 0.09255826, -0.1833335, -0.01641819, -0.119497, 0.2961799, -0.2780695, -0.12567733, 0.0024600243, -0.11751205, 0.085669436) * go_4(0.0, -1.0); - result += mat4(-0.21532503, -0.06343075, -0.27015615, 0.068540476, -0.06858675, -0.062484156, 0.03682217, -0.1015083, 0.107420795, 0.012092155, -0.22166798, 0.028644597, -0.10172646, 0.19677241, 0.37931946, -0.11699309) * go_4(0.0, 0.0); - result += mat4(0.07044547, -0.03793531, 0.17182013, 0.008134154, 0.0050753267, 0.058524463, -0.29959077, -0.079782486, 0.06422465, -0.44226143, -0.27561387, -0.14839257, 0.24578299, 0.24039108, -0.07351824, 0.034930374) * go_4(0.0, 1.0); - result += mat4(0.1892026, -0.054502696, -0.05670299, -0.03181167, 0.035967033, 0.18241122, 0.00743329, 0.015681073, -0.056629453, 0.11829241, -0.07440575, -0.023615826, -0.009568993, -0.03544514, -0.05925388, -0.40062532) * go_4(1.0, -1.0); - result += mat4(-0.012591867, 0.069327325, 0.20525102, -0.0013599707, 0.20637867, 0.053142715, 0.08542395, 0.0015770206, 0.0006431645, 0.21245757, 0.16769366, -0.0030028354, -0.19049928, -0.07689201, -0.031236758, 0.22773638) * go_4(1.0, 0.0); - result += mat4(0.08173383, -0.095775105, -0.08555914, -6.735811e-05, -0.038772196, 0.021698473, 0.04046729, 0.07664872, -0.00024131182, 0.20962766, 0.18627205, -0.035633747, -0.13656121, -0.050837196, 0.07260766, -0.019978348) * go_4(1.0, 1.0); - result += mat4(-0.16073698, 0.14160293, 0.12324934, 0.20341478, -0.0019186502, -0.095708326, -0.2297202, 0.35728905, -0.09427626, 0.062210754, -0.012826292, 0.118804015, -0.08991538, 0.06391433, -0.023036718, -0.017481891) * go_5(-1.0, -1.0); - result += mat4(0.21371883, -0.16740565, -0.10288582, -0.061600383, 0.020964885, -0.023439301, 0.18262915, -0.31056783, -0.093428515, -0.30865392, -0.040038906, 0.069449544, 0.07479101, -0.07418401, -0.2324029, 0.1234252) * go_5(-1.0, 0.0); - result += mat4(-0.24855302, -0.12967765, 0.02631683, 0.08294003, -0.016402971, 0.14255002, 0.0048186355, -0.0011596545, 0.06271189, -0.026687965, 0.020020025, -0.05608053, -0.04504705, -0.10878176, 0.0013364048, 0.006674377) * go_5(-1.0, 1.0); - result += mat4(-0.05265867, 0.039263245, 0.08444624, 0.025635105, 0.080403246, 0.3593395, 0.3254258, 0.043744642, 0.049711503, -0.17298554, 0.076980025, 0.08564068, 0.055967227, -0.025387138, -0.12774122, 0.06460898) * go_5(0.0, -1.0); - result += mat4(0.10153962, 0.1773, 0.39640376, -0.19406912, 0.21126994, 0.082484245, -0.49809954, -0.026066823, -0.069782086, 0.24188274, -0.13548844, -0.29941857, 0.06539237, -0.2640235, 0.34804615, -0.12240826) * go_5(0.0, 0.0); - result += mat4(0.0077373167, -0.1192639, -0.11340615, -0.22332144, 0.024052242, 0.07247779, 0.01824934, 0.27204347, -0.12280574, -0.15037231, 0.095412664, -0.09667618, -0.045748595, -0.069017254, 0.04676958, -0.11994603) * go_5(0.0, 1.0); - result += mat4(0.11430846, -0.07280232, -0.12316846, -0.076348506, 0.14808905, -0.29144016, -0.24595666, 0.18917578, 0.12346525, 0.06044025, -0.2605574, -0.2944082, 0.029403422, 0.10978217, -0.14474128, 0.016708253) * go_5(1.0, -1.0); - result += mat4(0.05979043, -0.07152787, -0.19449393, 0.003888642, -0.07616637, 0.18699367, -0.028180948, 0.29517344, 0.09553033, 0.07179247, -0.30424592, -0.13225375, 0.028066052, 0.012709331, 0.006618433, -0.1427098) * go_5(1.0, 0.0); - result += mat4(0.041162595, 0.18586132, -0.009566293, 0.029985288, -0.13142577, -0.18026744, 0.20692593, -0.03168997, -0.032814153, -0.18140802, 0.10108317, -0.004236778, 0.035565984, 0.0060556303, -0.0098911915, -0.08988839) * go_5(1.0, 1.0); - result += vec4(-0.09062037, 0.013100331, -0.030562, -0.0064230394); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.064515434, 0.07896172, 0.056155425, 0.044425253, 0.03319016, -0.054605387, -0.4591473, 0.15511878, 0.034813322, 0.0672562, 0.05701353, 0.040412407, -0.038797975, -0.111860834, 0.053084996, -0.09889108) * go_0(-1.0, -1.0); - result += mat4(-0.19500382, -0.38966596, 0.27081028, -0.20423058, -0.035951976, -0.22931336, -0.094351776, 0.07632106, -0.16903882, -0.09205736, -0.0133898435, -0.025871782, 0.026594864, 0.09540177, -0.19411358, -0.019835787) * go_0(-1.0, 0.0); - result += mat4(0.033789452, 0.070497066, -0.072486654, 0.15952013, 0.005707006, 0.099570274, 0.10225775, 0.14358646, 0.030362945, 0.04101203, 0.041384347, -0.07857492, 0.0101447, -0.13572751, -0.0014982093, -0.21828102) * go_0(-1.0, 1.0); - result += mat4(-0.06541299, -0.065143906, 0.070729114, 0.16001381, 0.03785971, 0.10330557, -0.12786262, 0.23345129, -0.079743266, -0.19548073, 0.06546381, -0.3466734, 0.052256253, 0.17547274, 0.08082544, -0.002740424) * go_0(0.0, -1.0); - result += mat4(-0.25474778, 0.3409222, -0.16752993, -0.2593963, 0.22428669, 0.12370032, 0.201332, 0.2880896, 0.05886888, 0.28148982, -0.078226954, -0.10041725, -0.046689507, 0.0326885, 0.10199703, 0.13900283) * go_0(0.0, 0.0); - result += mat4(0.13756008, -0.007290373, -0.3277049, -0.081920624, -0.13261138, 0.10012489, 0.16701259, 0.095596135, 0.11018003, 0.08671664, 0.007405438, -0.069064125, -0.06399627, -0.20199764, -0.14141648, -0.18114863) * go_0(0.0, 1.0); - result += mat4(-0.06398666, -0.14905818, -0.08662983, -0.14592336, -0.019165145, -0.16002633, 0.02595079, -0.032384723, -0.06226262, 0.11195063, -0.059623078, 0.08347643, -0.07747154, -0.05067411, -0.011761259, 0.04478109) * go_0(1.0, -1.0); - result += mat4(-0.110994905, 0.16579364, 0.05735814, 0.08335136, 0.0023429485, -0.035295088, -0.00767387, 0.039022036, 0.045022078, -0.14819291, -0.11657396, 0.114125244, -0.112737395, 0.03421371, 0.123605475, -0.094038226) * go_0(1.0, 0.0); - result += mat4(0.14619811, -0.13335696, -0.09799096, -0.015030551, -0.027455918, -0.052438136, -0.014773566, -0.06363389, 0.12765555, -0.060070448, -0.05204619, 0.20176068, 0.020521173, 0.0805951, 0.064473, -0.0071453564) * go_0(1.0, 1.0); - result += mat4(-0.5381485, 0.016816406, 0.03575291, 0.15307717, -0.18513149, -0.029921992, 0.2622421, 0.17963228, -0.002844402, -0.058329333, 0.072945744, -0.11042211, 0.006249197, 0.11601606, 0.058575515, 0.064850174) * go_1(-1.0, -1.0); - result += mat4(-0.42793107, 0.36473498, 0.11899247, 0.26988775, 0.11106695, 0.08952316, 0.014755224, -0.08844807, -0.08071252, -0.043227013, -0.043939825, -0.18867648, 0.051046275, 0.21520744, 0.005522403, -0.054136444) * go_1(-1.0, 0.0); - result += mat4(-0.09239439, -0.12671697, -0.02282582, 0.1047466, -0.043446694, 0.024044901, -0.0021552334, -0.15775962, 0.028607333, -0.097138464, -0.043680545, -0.07058451, 0.11537684, 0.113663144, 0.18539715, -0.02583076) * go_1(-1.0, 1.0); - result += mat4(0.06783846, -0.030368762, -0.032593627, -0.115257286, -0.14801481, -0.08790775, 0.15180242, 0.09927532, -0.13861379, 0.02403033, 0.07966528, -0.02592995, 0.18966958, 0.13048325, -0.07206841, 0.07954041) * go_1(0.0, -1.0); - result += mat4(0.01556961, -0.025707101, -0.035667323, 0.019550703, -0.06561516, 0.029371614, -0.04590116, 0.004590475, 0.3857005, 0.15660062, 0.2047054, -0.22268668, -0.15727302, -0.24878927, -0.13349286, 0.09746729) * go_1(0.0, 0.0); - result += mat4(-0.06613807, -0.35448387, -0.03103906, -0.14949797, 0.2575997, 0.24856186, -0.12529412, -0.096302986, 0.077257074, -0.24450381, 0.115296856, -0.15376714, 0.02283929, 0.020484464, -0.057252582, 0.07690077) * go_1(0.0, 1.0); - result += mat4(0.03167533, 0.14044689, 0.03394118, 0.02033927, -0.058176804, 0.09426579, -0.047503363, 0.050972216, 0.08332001, 0.13845564, 0.0054333988, 0.0060199215, -0.041817743, -0.055159353, -0.033139117, -0.06767) * go_1(1.0, -1.0); - result += mat4(0.13912874, 0.042053323, 0.14049628, -0.05678915, 0.096634954, -0.026468944, -0.05657413, -0.018260032, 0.2512966, 0.12660152, 0.11393381, 0.16540478, -0.1303705, 0.13751519, -0.069556914, 0.0981919) * go_1(1.0, 0.0); - result += mat4(0.02321638, 0.10667205, 0.027153758, 0.009282765, 0.07528545, -0.17536609, -0.030338852, 0.07694229, 0.058190364, -0.052485015, -0.16589753, 0.0053109983, -0.062089816, 0.016174713, 0.1266296, 0.16837646) * go_1(1.0, 1.0); - result += mat4(-0.065759346, 0.06169766, -0.00085500855, -0.008405182, -0.0017208391, 0.0891801, -0.002727633, -0.09190625, -0.055329803, -0.078719944, 0.13154171, 0.022970447, -0.032412775, 0.06774816, -0.08766216, 0.005649683) * go_2(-1.0, -1.0); - result += mat4(-0.05727856, 0.41547912, 0.09231337, 0.21398218, -0.04456715, -0.16443647, -0.33590144, 0.054098953, 0.0049725566, -0.1778281, 0.14938372, -0.13269553, 0.103052735, 0.09907562, -0.09025013, 0.071525946) * go_2(-1.0, 0.0); - result += mat4(0.06079739, -0.15564673, 0.017866762, -0.17732425, -0.01921053, 0.20981815, 0.07016076, 0.012785, 0.039263856, 0.071297675, -0.031223306, 0.0012242222, 0.008279209, -0.11378741, 0.14638698, 0.015245047) * go_2(-1.0, 1.0); - result += mat4(0.07295158, 0.14406429, -0.009283162, -0.08257508, 0.24989437, -0.101510875, -0.20831217, -0.14678863, -0.20545089, -0.03671918, -0.024620444, 0.0022859722, 0.16560118, 0.10648521, 0.01309449, -0.16882543) * go_2(0.0, -1.0); - result += mat4(-0.3688647, -0.06613055, -0.118553065, 0.066723585, -0.05839009, -0.05345417, -0.025808314, -0.051553134, 0.013860212, 0.1380767, -0.15950254, 0.039316524, 0.004648086, -0.49201876, -0.086399294, 0.067151815) * go_2(0.0, 0.0); - result += mat4(0.00816185, -0.094140545, -0.03045964, 0.005748951, -0.10508545, 0.06579157, -0.03133883, -0.036670756, 0.0965362, -0.059619486, 0.011463898, -0.13590227, -0.007581943, 0.014755039, 0.009631372, 0.05379326) * go_2(0.0, 1.0); - result += mat4(-0.16141598, 0.09554762, 0.033254117, 0.16967952, 0.035996404, -0.013887896, -0.06629002, 0.0038405391, 0.056517866, 0.024495421, -0.09365325, 0.08944311, 0.08264677, 0.05784231, -0.0544246, 0.034719754) * go_2(1.0, -1.0); - result += mat4(0.16916971, -0.04140406, -0.17009412, -0.057115063, -0.052563947, 0.12703355, 0.13672756, 0.055926114, 0.2646138, 0.08260617, -0.06438002, 0.34781212, 0.09432193, 0.002425348, 0.108481385, -0.011278688) * go_2(1.0, 0.0); - result += mat4(0.044969093, -0.048657022, 0.06174559, -0.00028727736, -0.20242731, -0.0149739245, 0.14471562, 0.06956492, -0.008388136, -0.059729554, 0.063841276, 0.04924184, 0.025793945, 0.06710163, -0.033776682, -0.035713058) * go_2(1.0, 1.0); - result += mat4(0.076875985, -0.101878025, -0.15802802, -0.124973774, -0.009670392, 0.013886556, -0.17401616, 0.13792926, 0.10774549, -0.30876774, -0.11229718, 0.010819886, 0.1175339, 0.08548831, -0.045388985, 0.05727834) * go_3(-1.0, -1.0); - result += mat4(0.11111217, 0.46312273, -0.4471567, 0.019250406, -0.040287044, 0.24528493, 0.21994363, -0.070748396, 0.20804761, 0.24140677, -0.07676276, 0.07941381, 0.1852395, -0.083701044, 0.04119184, -0.034684047) * go_3(-1.0, 0.0); - result += mat4(-0.11130858, -0.15563098, -0.16141221, -0.014236188, -0.0009617971, -0.11093832, -0.088078424, -0.1321414, -0.056676403, -0.09986668, -0.013136506, 0.064173006, -0.02908289, 0.028941281, 0.1568584, 0.13180308) * go_3(-1.0, 1.0); - result += mat4(-0.07680166, 0.147653, -0.029404428, -0.07403926, -0.3100197, 0.055024274, -0.1506152, 0.48132184, 0.11450713, -0.18744734, -0.092221424, -0.035802577, -0.060549777, -0.14425454, -0.08181204, 0.03446898) * go_3(0.0, -1.0); - result += mat4(0.102829054, -0.19427535, -0.038133133, -0.0026712175, -0.1435574, -0.15067317, 0.1119409, 0.1685437, -0.10200671, 0.13222018, 0.08152995, 0.0024931647, 0.0691679, 0.048254304, -0.17357215, -0.13524754) * go_3(0.0, 0.0); - result += mat4(-0.14587823, -0.15835984, -0.11198749, 0.0052520167, 0.1467123, -0.2707834, -0.072800644, -0.055191144, -0.10704317, -0.086199924, -0.014983923, 0.14019626, 0.017186088, 0.11358031, 0.15477349, 0.15759338) * go_3(0.0, 1.0); - result += mat4(0.083639115, 0.14501223, -0.0065951888, 0.13890846, 0.09335459, 0.042398855, -0.09189259, 0.24306288, 0.020636987, 0.04164843, 0.04502632, -0.13329937, 0.058893397, 0.049639706, 0.071825825, -0.049217906) * go_3(1.0, -1.0); - result += mat4(0.07009161, -0.03437479, -0.013031761, -0.093077734, 0.08663319, 0.085103504, 0.16337705, -0.027592715, -0.12227255, 0.14818181, 0.040996075, -0.055277664, -0.040362116, -0.030087778, -0.003645583, 0.056727875) * go_3(1.0, 0.0); - result += mat4(-0.11545688, 0.060049064, -0.093949065, 0.02338161, 0.026170302, 0.026379922, 0.069043785, 0.05519452, -0.16188988, 0.04973363, 0.06749572, -0.14809126, -0.14064413, -0.041582227, -0.023158424, -0.039642867) * go_3(1.0, 1.0); - result += mat4(-0.28626567, 0.29348546, 0.07102445, -0.050440844, 0.15740375, -0.17452855, -0.16708957, 0.06744935, 0.06025843, 0.06482132, -0.034723394, -0.017227422, 0.12390885, 0.04888057, 0.006409584, -0.010196381) * go_4(-1.0, -1.0); - result += mat4(-0.07097389, -0.15076311, 0.13472012, -0.13246837, -0.064360276, 0.16760628, -0.12776206, 0.015533123, 0.13487455, -0.20071363, 0.0923309, 0.08138427, -0.009274919, -0.15565452, 0.17644402, -0.024042914) * go_4(-1.0, 0.0); - result += mat4(-0.023358675, 0.10211017, -0.036640793, -0.108112216, 0.06913507, -0.09594437, 0.036107562, 0.05066462, 0.08739385, 0.0011691673, 0.09453315, -0.02394334, -0.14005467, -0.016525272, -0.0994038, 0.06565737) * go_4(-1.0, 1.0); - result += mat4(-0.371338, 0.19144624, 0.095799066, 0.093133144, 0.09130418, 0.03945617, -0.018656345, -0.12886268, 0.20124264, 0.029764706, -0.13751945, -0.026953662, -0.1874983, -0.040866558, 0.05003749, 0.17660773) * go_4(0.0, -1.0); - result += mat4(-0.051123757, 0.21025416, 0.0123157445, -0.069181696, -0.091609724, -0.079943225, 0.130711, 0.14694354, -0.12574539, -0.30329394, -0.10366516, -0.22330226, 0.24131827, 0.45112535, 0.07089889, 0.13600409) * go_4(0.0, 0.0); - result += mat4(0.15595976, 0.24464798, 0.002488955, 0.050141588, -0.29219496, -0.17198776, 0.123318285, 0.054613084, 0.0036146704, 0.1652407, 0.0265562, 0.093859114, -0.08342194, -0.18661366, 0.07525819, -0.13866663) * go_4(0.0, 1.0); - result += mat4(-0.12563816, -0.08927056, 0.025488816, -0.062464394, 0.038224597, -0.057591602, 0.016130082, 0.004603661, -0.105193645, -0.116210036, -0.0005738929, 0.03006333, 0.15265524, 0.157916, 0.009369363, 0.00011561189) * go_4(1.0, -1.0); - result += mat4(-0.1587168, -0.06610889, -0.11454969, 0.09324059, -0.073291466, 0.011250312, -0.0021259703, 0.03251535, -0.021842942, 0.031610303, -0.08053953, -0.17813778, -0.01840217, 0.019417001, 0.12612307, 0.0890873) * go_4(1.0, 0.0); - result += mat4(-0.0463806, -0.13481244, 0.022312263, -0.0063249297, -0.00767204, 0.1365426, 0.041454747, -0.077865794, 0.037678037, 0.09067563, 0.12991777, -0.03874696, 0.13317509, -0.019026265, -0.14676699, -0.13473623) * go_4(1.0, 1.0); - result += mat4(0.037564214, -0.0032738533, -0.03767511, 0.03820596, -0.14136639, 0.17992534, 0.058318965, -0.063095406, -0.006603518, 0.0120609235, -0.025056547, 0.032933716, 0.12113113, -0.10462842, 0.063647404, -0.04450857) * go_5(-1.0, -1.0); - result += mat4(0.24578053, -0.3156469, -0.35252848, -0.1055502, 0.036395214, 0.27580422, 0.036550306, -0.006894677, 0.10412757, 0.08568412, -0.022747902, -0.008680229, -0.05400555, -0.11050038, 0.051955782, -0.114774995) * go_5(-1.0, 0.0); - result += mat4(-0.15854524, 0.23624359, 0.07096151, 0.15719925, -0.0011587485, -0.30296972, -0.1931699, -0.08979758, 0.0246722, -0.028834311, 0.06220738, -0.01632116, -0.008921576, 0.033888046, -0.09395318, -0.011260361) * go_5(-1.0, 1.0); - result += mat4(0.018795056, -0.02822718, 0.009791691, 0.06166571, -0.20967379, 0.34762847, 0.077140674, 0.086514324, 0.28947103, -0.14330834, -0.078796394, 0.09474662, -0.092306405, -0.14832185, -0.050533596, 0.049030673) * go_5(0.0, -1.0); - result += mat4(-0.045679964, 0.23489015, 0.15668613, 0.1235559, -0.22028416, -0.13657422, -0.033590022, -0.15810567, 0.18728013, -0.18127815, 0.36396962, -0.053243574, -0.06456213, 0.49338925, 0.026941797, -0.009633453) * go_5(0.0, 0.0); - result += mat4(-0.16466625, -0.24371772, -0.03436447, -0.07062408, 0.059187494, -0.26871908, -0.12203007, -0.05496175, 0.057084855, 0.1304957, 0.08178971, 0.15224245, 0.023345131, -0.019234858, -0.034386877, 0.03538095) * go_5(0.0, 1.0); - result += mat4(0.114277564, -0.008035584, 0.023078745, -0.14307536, -0.038258925, -0.122582935, 0.0015441746, 0.030634085, 0.2552187, -0.11622358, 0.025188513, -0.30211052, -0.048941914, -0.060030323, 0.019205015, -0.056735426) * go_5(1.0, -1.0); - result += mat4(0.038009048, -0.025127387, 0.053799044, 0.09742052, -0.039442886, -0.2847006, -0.14175558, -0.06777446, -0.103426784, -0.18430014, 0.047908068, -0.11819306, -0.09634806, -0.020778535, -0.09947065, 0.057285) * go_5(1.0, 0.0); - result += mat4(-0.11968771, -0.02741084, -0.006469873, -0.028502962, 0.05344909, -0.0045341062, -0.06826778, -0.10911563, 0.004165804, 0.18168798, 0.06862181, 0.041413423, -0.015367704, -0.08168733, 0.031232912, -0.00019088654) * go_5(1.0, 1.0); - result += vec4(0.07955021, -0.009849892, 0.05029401, -0.12505546); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.051907405, 0.16668987, -0.041336834, 0.05314295, 0.10121027, -0.14798506, -0.19019037, 0.043592982, 0.12040883, 0.09233267, 0.11772148, -0.041334935, -0.07539924, 0.09756673, 0.052319244, -0.10528184) * go_0(-1.0, -1.0); - result += mat4(-0.31250992, 0.30685386, -0.055270895, 0.06475109, -0.08800503, -0.26494658, 0.31591013, -0.11202835, -0.15133889, 0.10488629, 0.078151636, -0.043050244, -0.060199156, 0.044168193, -0.001986329, -0.1915024) * go_0(-1.0, 0.0); - result += mat4(0.068178676, -0.10042213, 0.010896375, -0.08526234, 0.091550335, 0.03174787, -0.098797485, 0.0638641, 0.0039022998, -0.078803785, -0.08426419, -0.06165455, -0.17049576, 0.056151845, 0.05997152, -0.117358774) * go_0(-1.0, 1.0); - result += mat4(-0.15624808, 0.1027479, -0.067923464, 0.0570026, 0.107332714, -0.14162563, -0.17560329, 0.063346066, 0.09616241, 0.15213029, 0.024794457, -0.16448957, 0.21509686, 0.084382094, 0.102330364, -0.21816911) * go_0(0.0, -1.0); - result += mat4(0.11183052, -0.00036459934, 0.09746083, -0.1979322, -0.32267392, -0.084034644, 0.051167414, -0.029009778, -0.03322436, 0.13016255, -0.048553534, -0.20068704, -0.16644834, 0.24280354, -0.14127132, -0.05889483) * go_0(0.0, 0.0); - result += mat4(0.116823174, -0.2189612, -0.18030761, -0.14347109, 0.09478377, 0.15303472, 0.020818545, 0.15843435, 0.17000113, -0.047443952, 0.023488792, -0.060115594, 0.04487726, 0.04284613, 0.28725752, -0.47257307) * go_0(0.0, 1.0); - result += mat4(-0.15223634, 0.060410198, 0.0061263107, 0.0069172834, 0.13158661, -0.0036422606, 0.051183105, 0.04613147, -0.00075578305, 0.08267924, -0.010239358, 0.12761061, -0.07420807, 0.073114, 0.0007402298, 0.1350364) * go_0(1.0, -1.0); - result += mat4(0.13506427, -0.10019588, 0.009954305, -0.177603, -0.2014582, 0.019459682, 0.05640779, 0.047030263, -0.05054245, -0.104332894, 0.0075405543, 0.1964969, -0.017293537, -0.19851471, -0.06654235, -0.20962352) * go_0(1.0, 0.0); - result += mat4(-0.038729187, -0.01076603, 0.004724392, 0.122694254, 0.04339784, -0.029253284, -0.014725128, -0.0014454263, -0.100780874, -0.14574462, -0.2107873, 0.042566143, 0.052845504, -0.12460765, -0.12877604, -0.165259) * go_0(1.0, 1.0); - result += mat4(-0.30916938, -0.21853267, 0.074507885, 0.06950878, 0.15405503, 0.19704042, 0.07762092, -0.0027483252, -0.047830105, 0.19999562, 0.06641897, -0.07683977, -0.04574573, -0.026720403, 0.06741639, -0.040291373) * go_1(-1.0, -1.0); - result += mat4(-0.1436382, -0.14481016, 0.3962691, 0.4429137, -0.14254951, 0.1000112, 0.044832285, -0.11440693, -0.05707115, 0.036592014, 0.16755657, -0.106351, 0.06614667, -0.022506362, -0.020292178, -0.057136156) * go_1(-1.0, 0.0); - result += mat4(0.073906116, -0.10937066, 0.086583436, 0.08275346, 0.02353698, -0.0046872413, -0.03486367, -0.08950485, -0.08803857, 0.056406617, 0.031082897, 0.06083862, 0.045077324, -0.061910506, -0.11063123, -0.01527173) * go_1(-1.0, 1.0); - result += mat4(0.2718467, -0.21935192, -0.062664755, -0.1255679, 0.10553025, -0.006460559, -0.027146982, -0.015253822, -0.07748728, 0.073824674, 0.06018315, 0.1002592, 0.08035026, -0.15977937, -0.055322386, -0.040088616) * go_1(0.0, -1.0); - result += mat4(0.028033856, -0.016236208, -0.12429306, 0.13901961, 0.04981061, -0.05739222, -0.13064933, -0.16948193, -0.008593147, -0.031754505, 0.10665931, -0.13934475, 0.01627173, 0.072957866, -0.087536804, 0.12674862) * go_1(0.0, 0.0); - result += mat4(-0.1523727, -0.00082214887, 0.14283441, -0.031603288, -0.045878753, -0.19672535, -0.05026138, 0.042562414, 0.14194039, 0.04421849, -0.20919429, 0.18679811, -0.10887334, -0.032573055, 0.22349553, -0.065408655) * go_1(0.0, 1.0); - result += mat4(0.027553588, -0.122095294, -0.046353463, -0.111806914, -0.08844832, 0.13921359, -0.0010978511, 0.008194451, 0.13961516, 0.046672624, 0.10129705, -0.09637145, -0.08699736, 0.0083460985, -0.044584583, 0.14229134) * go_1(1.0, -1.0); - result += mat4(0.07393346, 0.1147128, -0.02851608, 0.021714512, 0.025452064, -0.17753085, 0.0027432854, 0.040008847, 0.16259173, -0.08370451, 0.13976301, -0.07063936, -0.24262139, -0.07672828, -0.2021094, 0.29102072) * go_1(1.0, 0.0); - result += mat4(0.009530462, 0.04909453, 0.018228829, -0.005528198, -0.04922174, -0.024972908, -0.07065127, 0.04544319, -0.025519563, -0.13601463, -0.18582825, 0.035100814, -0.03548451, 0.061287835, 0.20247467, -0.15797156) * go_1(1.0, 1.0); - result += mat4(0.32211515, -0.080116086, 0.021152286, -0.08237667, -0.23303492, 0.008709412, -0.1473173, 0.07000086, 0.03955907, 0.14984958, -0.0121722715, -0.055429686, -0.016413981, -0.08430293, 0.025234051, -0.062006578) * go_2(-1.0, -1.0); - result += mat4(-0.42957792, 0.006551594, -0.022962485, 0.1400893, 0.28009745, 0.11802908, 0.015169489, 0.0024414742, -0.22848248, -0.020315299, -0.010993182, 0.0418814, -0.13582, -0.17743196, -0.018863266, -0.12331709) * go_2(-1.0, 0.0); - result += mat4(-0.08963217, -0.07752845, -0.019306721, 0.061603975, 0.112303145, 0.09211919, -0.08167867, 0.05052119, 0.020961992, -0.037811935, 0.016923647, -0.026790423, 0.10175015, -0.006385778, -0.063822776, 0.028055048) * go_2(-1.0, 1.0); - result += mat4(-0.10889496, 0.2475616, -0.023258686, -0.14437376, 0.049249854, -0.063944146, -0.0240011, -0.17432576, -0.18791446, 0.11263927, 0.0078009875, -0.080485724, 0.26911402, -0.12907211, -0.01755262, -0.16863008) * go_2(0.0, -1.0); - result += mat4(0.35460088, -0.17767274, -0.16858551, -0.23729539, 0.18419053, 0.20926027, -0.088426255, 0.023356354, 0.26511818, -0.0020759383, 0.2859238, -0.07675482, 0.12014907, 0.14443012, -0.12332029, -0.11205155) * go_2(0.0, 0.0); - result += mat4(0.19667232, 0.07352294, -0.014793962, 0.063952744, -0.01725952, 0.071818754, 0.064658605, -0.0009676536, -0.029578352, -0.18851563, -0.037685324, -0.26275456, -0.123520866, 0.12790628, -0.1469099, 0.12465433) * go_2(0.0, 1.0); - result += mat4(0.05387382, -0.030488258, 0.04638846, 0.20085673, -0.11875065, -0.029343707, -0.022595167, 0.06786304, 0.23092568, 0.018377172, -0.010349685, 0.14835137, -0.0047257696, -0.027649017, 0.0489728, -0.031893965) * go_2(1.0, -1.0); - result += mat4(-0.25763837, -0.075889885, 0.17264624, 0.035472356, -0.124957025, 0.00060394197, 0.022995198, 0.05463222, 0.0093447, 0.060911383, 0.07876506, 0.10564838, -0.05013418, 0.06583616, -0.025807798, -0.2883304) * go_2(1.0, 0.0); - result += mat4(0.043661144, -0.1159315, -0.1831051, 0.07473963, 0.07783108, 0.1876957, 0.01314648, -0.10861117, -0.088689655, 0.07296666, -0.026898766, 0.12702313, 0.032419875, 0.051234853, -0.06522966, 0.014740134) * go_2(1.0, 1.0); - result += mat4(-0.023981575, 0.0260433, 0.008456327, -0.041390125, 0.23708202, 0.027028535, 0.011300614, 0.25251132, -0.041091874, -0.113069616, -0.1017581, 0.12629594, 0.19936833, -0.044576302, -0.03986123, -0.045146126) * go_3(-1.0, -1.0); - result += mat4(0.04021637, -0.23936734, 0.089715995, -0.09695566, 0.05547677, 0.18304437, -0.07833711, 0.112606, 0.0744301, -0.121345356, -0.027121276, -0.039470885, -0.17090486, -0.08291478, -0.06501107, 0.06060779) * go_3(-1.0, 0.0); - result += mat4(0.06427166, 0.17954405, -0.24260868, 0.18583788, -0.03080801, 0.011544634, 0.021221055, -0.019622765, -0.022112694, 0.0568264, 0.117274575, 0.041028306, 0.093058385, -0.023635406, -0.04134845, 0.00012594834) * go_3(-1.0, 1.0); - result += mat4(0.01102109, -0.07289346, 0.0040596994, -0.07953831, -0.1976572, -0.11829853, 0.11517921, -0.051805526, 0.0055726753, 0.06592285, -0.16681968, -0.08300715, -0.28577968, -0.08173121, -0.13457035, 0.1885804) * go_3(0.0, -1.0); - result += mat4(-0.043770324, 0.048198868, -0.18608971, 0.17838612, -0.046778083, 0.19665273, -0.16118616, -0.057293214, -0.10633619, -0.09953019, 0.1862994, 0.18493782, 0.25938433, -0.149985, 0.04676386, -0.014036956) * go_3(0.0, 0.0); - result += mat4(-0.0003725085, 0.1989401, 0.16909252, 0.22780822, -0.015987061, -0.054565016, -0.05243573, -0.09775517, -0.120326936, 0.032995265, -0.0036331255, 0.13726561, 0.010277991, 0.06425755, -0.19020142, 0.23083436) * go_3(0.0, 1.0); - result += mat4(0.010936359, -0.02849875, 0.026482444, 0.047691442, -0.19206773, -0.044349756, -0.054649103, -0.07385235, 0.05956405, -0.053711556, -0.07337501, -0.119425744, 0.076072186, -0.049311332, 0.03184111, -0.17484605) * go_3(1.0, -1.0); - result += mat4(-0.04350626, 0.1328187, -0.003457409, 0.19061741, 0.09211707, 0.035870664, -0.09363488, -0.01568525, 0.05562321, 0.14633514, -0.04855048, -0.24370678, 0.0069594583, 0.14880905, 0.06160373, 0.1566208) * go_3(1.0, 0.0); - result += mat4(0.08560771, -0.031726982, 0.005994847, -0.115577385, -0.045169592, 0.034692086, 0.0039135055, -0.008828711, 0.08696738, 0.08552442, 0.21965103, 0.0065012877, -0.017958874, 0.15068494, 0.07910082, 0.09843224) * go_3(1.0, 1.0); - result += mat4(0.2618397, -0.113963105, 0.06466962, -0.09055511, 0.007243974, -0.37684396, -0.18955688, 0.100891486, 0.062019303, -0.06868768, 0.0066693923, 0.09453199, -0.11875178, -0.09406968, -0.009971733, -0.057884283) * go_4(-1.0, -1.0); - result += mat4(0.016240982, 0.045132026, 0.2496788, 0.0119000245, 0.019433737, -0.11958368, 0.07371615, -0.022081666, 0.23179133, 0.10534677, -0.13151011, 0.139116, -0.17987, -0.11249553, 0.097996086, 0.054070864) * go_4(-1.0, 0.0); - result += mat4(-0.057584394, 0.11625342, -0.06034331, 0.063899584, 0.0044478853, 0.048200164, 0.055355098, 0.10972887, 0.16012698, -0.006732891, 0.015804278, -0.14185822, -0.19013652, -0.062766224, 0.045399975, 0.14899541) * go_4(-1.0, 1.0); - result += mat4(-0.077381015, 0.11935363, 0.12262458, 0.018346768, -0.2634294, -0.2107294, -0.048516907, -0.09564381, -0.10719365, -0.115967, -0.13483748, -0.036267295, -0.012578293, 0.069732994, 0.017012898, 0.097437724) * go_4(0.0, -1.0); - result += mat4(0.081788, -0.11083114, 0.4005737, -0.055207055, 0.1418393, -0.06587734, 0.088737585, 0.08120421, -0.16296746, 0.17222044, 0.046313863, 0.10915246, 0.05388926, -0.19152795, 0.03076327, -0.14683272) * go_4(0.0, 0.0); - result += mat4(0.11940256, -0.033606835, -0.11385313, -0.012965868, 0.0049813213, 0.20263551, 0.029295778, 0.002276154, -0.1504537, 0.0381973, 0.3823588, -0.1798354, 0.17070186, 0.02357347, -0.2709012, 0.105102755) * go_4(0.0, 1.0); - result += mat4(0.041491576, 0.07074733, 0.029625034, 0.102119364, 0.023521155, -0.05969154, -0.00814052, 0.032964356, 0.055066362, -0.07298709, -0.121119626, 0.016125243, 0.2734818, -0.028699303, 0.09567124, -0.1437524) * go_4(1.0, -1.0); - result += mat4(-0.09484942, -0.15358907, 0.09471094, -0.114015654, -0.051614996, 0.19810407, -0.011734439, -0.057111017, -0.17113343, 0.06991598, -0.16437295, 0.2067726, 0.23162523, -0.036471117, 0.22033283, -0.29183832) * go_4(1.0, 0.0); - result += mat4(0.009506645, -0.041623287, -0.03679158, -0.010971644, 0.08336135, 0.11131871, 0.1109166, -0.08703141, 0.056035098, 0.124049544, 0.2795689, -0.019536458, 0.03888329, -0.0442052, -0.23853621, 0.13220637) * go_4(1.0, 1.0); - result += mat4(-0.14223816, -0.05481326, -0.106896244, 0.07581965, 0.26316708, 0.15500818, 0.14914538, -0.087868035, 0.15062201, -0.12426363, -0.04299309, 0.040522538, 0.04150885, 0.073053494, -0.041965067, 0.04128295) * go_5(-1.0, -1.0); - result += mat4(0.051048342, -0.21921599, 0.058443762, -0.055652432, -0.24098797, 0.092578836, -0.17062624, 0.09491869, 0.13260794, -0.024925478, 0.056296505, 0.019934958, 0.003565539, 0.09137244, -0.061169084, 0.04022485) * go_5(-1.0, 0.0); - result += mat4(0.115069486, 0.16206908, 0.004882299, 0.12614444, -0.03246297, -0.039095636, 0.09410652, -0.039889894, -0.08477494, 0.013032491, -0.055409547, -0.0090540685, -0.035735607, 0.057657916, 0.05354303, 0.0075290967) * go_5(-1.0, 1.0); - result += mat4(0.004056719, -0.15240185, 0.09084391, 0.037376285, -0.044079285, 0.31589335, 0.026515607, 0.14028117, -0.19225578, -0.002587953, 0.0090361675, 0.14138633, -0.38758466, 0.102398396, -0.07574637, 0.11732128) * go_5(0.0, -1.0); - result += mat4(-0.030521149, 0.09753763, 0.052158583, 0.048188724, 0.011470252, -0.110833496, 0.32450467, 0.04464802, -0.0646964, 0.045225292, -0.25168836, 0.20104809, -0.15454476, -0.083546594, 0.21034841, -0.0058077993) * go_5(0.0, 0.0); - result += mat4(-0.07213084, -0.17950292, -0.051891763, -0.067120604, -0.02192382, -0.11469988, -0.1409072, 0.006448966, -0.00049237284, 0.13916697, 0.0894537, 0.16725081, 0.18191423, -0.06112781, 0.19929808, -0.10002286) * go_5(0.0, 1.0); - result += mat4(-0.02475302, -0.010589183, -0.015627548, -0.16213211, 0.123653755, 0.0245485, 0.0997649, -0.09865162, -0.07168899, 0.15398216, -0.07207907, -0.07172799, 0.028756795, 0.07118634, -0.0511127, -0.0056653675) * go_5(1.0, -1.0); - result += mat4(0.21074565, 0.086340725, -0.06073654, -0.04343985, -0.02840264, -0.053368784, 0.037268292, -0.008291989, -0.045832828, 0.023931399, 0.1709933, -0.13587636, 0.051735718, -0.06827666, -0.051731657, 0.17399976) * go_5(1.0, 0.0); - result += mat4(-0.13356943, 0.086585164, 0.13944262, -0.026031096, -0.16735698, -0.08396402, -0.12688719, 0.12656367, 0.14114396, 0.018382069, 0.05972302, -0.08622411, -0.062958784, -0.056109, 0.045292944, -0.008465162) * go_5(1.0, 1.0); - result += vec4(-0.02066643, 0.05799956, -0.04733981, 0.08521742); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.037910778, -0.035500437, -0.021893462, 0.054371376, 0.09471609, -0.013197591, 0.07086438, -0.11686955, 0.022289908, 0.0025881499, 0.08467518, -0.057070434, 0.03195129, 0.06176325, 0.27392688, 0.10100888) * go_0(-1.0, -1.0); - result += mat4(-0.004817188, -0.11114106, -0.03836096, -0.16221185, 0.08728879, -0.05551734, 0.09426232, -0.08904898, -0.075777575, 0.0001265835, 0.25881302, 0.22047207, 0.026294703, -0.07252985, -0.056022674, 0.25379947) * go_0(-1.0, 0.0); - result += mat4(-0.0013540969, 0.013188547, 0.060211327, 0.041778293, 0.0012638031, 0.022573406, 0.015312594, -0.08047488, -0.029625304, -0.10852883, 0.108838476, 0.13623391, -0.0051957406, -0.034240637, -0.032037422, 0.0045633493) * go_0(-1.0, 1.0); - result += mat4(0.041612104, 0.027505638, 0.025826843, 0.04501326, -0.062472913, 0.1431332, -0.012212282, -0.07516733, -0.08864002, -0.07006836, 0.046692412, -0.124091975, 0.06427506, -0.051631026, 0.12263653, 0.27044338) * go_0(0.0, -1.0); - result += mat4(0.034103375, 0.08673059, 0.0459527, -0.23862843, -0.055772513, -0.41714105, -0.08171965, -0.14642227, 0.04656934, -0.18259554, -0.13177022, -0.28559983, 0.0552958, -0.016403524, -0.5513842, 0.0053697815) * go_0(0.0, 0.0); - result += mat4(-0.11872737, -0.028105678, 0.049640797, -0.037546065, -0.010099046, 0.008806696, 0.006435101, -0.10383732, -0.0073283147, 0.08962551, -0.07394422, 0.108856045, -0.014820589, 0.023872554, -0.08112636, 0.10347607) * go_0(0.0, 1.0); - result += mat4(0.0022989328, 0.046885073, 0.011864779, 0.10420016, -0.0077429335, 0.048106942, 0.032495916, -0.062273387, -0.016874082, -0.06954098, -0.10819509, -0.056219935, -0.020670906, 0.0021182857, -0.009832249, 0.18701169) * go_0(1.0, -1.0); - result += mat4(0.105950266, 0.040404048, 0.19594736, 0.06012987, -0.3698849, 0.10401502, 0.12703699, -0.23428011, 0.083823904, -0.03521832, -0.006525461, 0.009951793, -0.074361816, -0.035402164, -0.3206954, 0.110812664) * go_0(1.0, 0.0); - result += mat4(-0.12013042, -0.06367559, 0.021684205, 0.0130499415, 0.009942601, 0.047442563, 0.08855212, -0.10024017, 0.056777865, 0.0051039625, 0.048569407, -0.04560259, 0.19188851, -0.039756753, 0.042021576, -0.09870584) * go_0(1.0, 1.0); - result += mat4(-0.03247849, -0.02753363, 0.071279705, 0.09104136, -0.0641851, -0.01594897, 0.232652, 0.003967937, 0.0111541925, 0.07306814, -0.0010335519, -0.04429391, 0.031370234, -0.026928704, -0.07516576, -0.055082712) * go_1(-1.0, -1.0); - result += mat4(-0.006180861, -0.10843575, -0.10045209, 0.067148104, 0.057421815, -0.068374164, -0.025756257, 0.1257984, 0.013264953, -0.0018182937, 0.05816216, -0.053461242, -0.085824065, -0.090526566, 0.09129818, 0.01570347) * go_1(-1.0, 0.0); - result += mat4(-0.0017998819, 0.022640059, 0.023404252, 0.03338553, 0.044353716, -0.014139882, -0.07758573, 0.021012677, 0.005980595, 0.04550881, 0.029285448, 0.091678455, 0.053803694, 0.05237155, -0.10997527, -0.10318552) * go_1(-1.0, 1.0); - result += mat4(-0.061029036, 0.0993827, 0.06381772, -0.089550115, 0.03308348, -0.03782301, 0.24164158, 0.31569025, 0.113647655, 0.15545848, 0.11519764, 0.0094105825, -0.11816621, 0.0978243, 0.10073588, -0.1117752) * go_1(0.0, -1.0); - result += mat4(0.3734672, -0.11816779, -0.23627514, -0.14588231, -0.12371406, 0.2616982, -0.29942805, -0.31744456, 0.12686929, -0.10511419, -0.33209988, 0.0784947, -0.09980473, -0.08277972, -0.119013116, -0.1052021) * go_1(0.0, 0.0); - result += mat4(0.11694942, -0.009177821, 0.16751128, -0.058083236, -0.029300451, 0.0151769, -0.10590713, 0.006317685, -0.07721141, -0.037264653, -0.09573406, 0.082819514, -0.15364629, 0.07974328, 0.05129384, 0.021289254) * go_1(0.0, 1.0); - result += mat4(0.026528852, -0.018197816, 0.06862055, -0.025078347, 0.06341248, -0.022047924, 0.16852759, 0.20795865, -0.12899017, 0.11940279, 0.049954895, -0.106641375, 0.003286302, 0.04101139, -0.014838044, -0.038886186) * go_1(1.0, -1.0); - result += mat4(-0.043906186, -0.09395722, 0.15171658, -0.060511537, -0.012321243, -0.23226517, -0.06977063, 0.021510785, -0.5478768, 0.17448187, -0.05923425, -0.028172622, -0.051738627, 0.06815423, 0.029064734, 0.044883635) * go_1(1.0, 0.0); - result += mat4(0.17660363, -0.09060859, 0.05569762, -0.034592126, -0.068783976, -0.039074708, -0.04003811, -0.08994642, 0.00041321313, -0.032173786, 0.004815178, -0.044516895, 0.1984147, -0.056799933, 0.051942617, 0.0849639) * go_1(1.0, 1.0); - result += mat4(-0.029470835, 0.0010429046, 0.09949836, -0.057022177, -0.001196081, -0.017638477, 0.054664012, 0.06374254, 0.005238237, -0.17255385, -0.042707976, -0.0863512, 0.00061518815, 0.054800972, -0.05120795, -0.047205627) * go_2(-1.0, -1.0); - result += mat4(0.04392789, 0.046026394, 0.11252635, -0.124906264, -0.08496978, -0.03472233, -0.05066398, 0.08292728, 0.0370577, -0.15259257, 0.0023178253, -0.017130997, 0.052111663, 0.059383318, -0.0734842, -0.052565083) * go_2(-1.0, 0.0); - result += mat4(-0.0148467785, 0.025143752, 0.17002934, -0.019566009, -0.12469424, 0.111287884, 0.030433882, 0.045797966, 0.0013495206, -0.04792389, 0.01556216, 0.047324177, 0.05905737, -0.053480197, 0.033480287, -0.060852114) * go_2(-1.0, 1.0); - result += mat4(-0.09745605, 0.009108342, 0.058276523, -0.09670028, 0.008513788, 0.0774033, 0.038419556, -0.012280158, -0.027220225, -0.19755986, -0.10123508, -0.24532557, 0.002611559, 0.058633193, 0.08722474, 0.019499615) * go_2(0.0, -1.0); - result += mat4(-0.097140476, 0.36332083, -0.12693818, -0.26086056, 0.18138097, -0.063169576, 0.09627784, -0.29556775, -0.010828089, 0.016550604, 0.19736116, -0.14276053, 0.2359206, -0.308187, 0.17120488, 0.17035627) * go_2(0.0, 0.0); - result += mat4(0.06563522, -0.00202452, 0.08656298, -0.068018384, 0.01052145, 0.12411763, -0.027613457, 0.046576608, -0.028641906, 0.030090526, 0.014531246, 0.028142689, -0.019974183, -0.015619782, 0.0913814, -0.07086511) * go_2(0.0, 1.0); - result += mat4(-0.021320846, 0.0272274, -0.079895236, 0.00012995047, -0.0070819, -0.028833998, -0.022662425, -0.07660687, 0.046270683, -0.11193344, 0.09937696, -0.006931022, -0.03781205, 0.011890765, 0.07618696, -0.004474331) * go_2(1.0, -1.0); - result += mat4(0.2012585, 0.05607582, -0.13407731, -0.0008222547, -0.10648238, 0.13230269, -0.0038185061, -0.058967687, 0.21021713, -0.12308194, 0.18324743, -0.045672223, -0.07443494, 0.061296284, -0.10310777, -0.03480636) * go_2(1.0, 0.0); - result += mat4(-0.042971224, 0.03137188, -0.029815951, -0.035710253, -0.17403825, 0.040264893, -0.18175416, 0.13371879, 0.004413511, -0.0062794136, -0.020018531, -0.009863606, -0.08686421, -0.0011867149, -0.13477059, 0.09668236) * go_2(1.0, 1.0); - result += mat4(-0.08406905, 0.017502543, -0.13238557, -0.06540308, -0.030992452, -0.027247543, 0.1152638, -0.027957149, -0.020494465, -0.016736055, 0.011691886, -0.07697167, -0.031962387, 0.03275166, 0.009455422, 0.00013493745) * go_3(-1.0, -1.0); - result += mat4(-0.003264767, -0.006133971, -0.14870334, -0.22470197, -0.12281174, 0.0477529, -0.039383784, -0.16171986, 0.049935117, 0.040750828, -0.11027704, -0.18039477, -0.042500887, 0.021469388, 0.19601227, 0.061283164) * go_3(-1.0, 0.0); - result += mat4(-0.14063793, 0.12379436, -0.091903225, -0.19485305, 0.030889416, 0.023173934, 0.06269456, -0.017552888, 0.042706978, 0.008942839, 0.007431359, -0.08055777, -0.024079857, -0.050207764, 0.03883315, 0.054677337) * go_3(-1.0, 1.0); - result += mat4(0.043164276, -0.06845965, -0.022847408, 0.026803896, 0.077586755, -0.18144956, 0.24237816, -0.062269997, 0.03350464, 0.022612114, -0.20257936, -0.049737748, 0.0026508393, -0.04457029, 0.08698817, -0.0057848943) * go_3(0.0, -1.0); - result += mat4(0.19637893, -0.041842524, 0.08093373, 0.061292946, 0.025697658, 0.43139693, 0.12997067, -0.14218695, 0.06652134, 0.16816506, 0.1798584, 0.19504555, -0.18834472, 0.11258412, 0.07003108, -0.0691332) * go_3(0.0, 0.0); - result += mat4(0.0864983, -0.0044556237, 0.1519761, -0.13158719, 0.01852619, -0.045526046, 0.09956223, -0.11713047, -0.024078155, -0.060722336, -0.057925105, 0.073217146, 0.06373482, -0.024553156, -0.14688796, -0.13317719) * go_3(0.0, 1.0); - result += mat4(0.035958245, -0.04845082, 0.087631844, 0.040034134, -0.026027406, -0.036821436, 0.06533815, -0.080381244, 0.07234854, -0.001883384, -0.07122587, 0.08832016, 0.036729597, 0.021539502, 0.027530821, -0.010070853) * go_3(1.0, -1.0); - result += mat4(0.08983327, 0.01506289, 0.028762873, 0.13285533, 0.2895279, -0.06620886, -0.12341643, 0.005919442, -0.06404377, -0.030869035, -0.040210303, -0.13364644, 0.03067747, -0.0035035561, -0.0012897043, -0.120404474) * go_3(1.0, 0.0); - result += mat4(0.12848322, -0.016383486, -0.09702801, 0.056479152, 0.066560045, -0.048578385, -0.031433776, -0.024350693, -0.03682033, -0.07085884, -0.03814125, -0.0005977634, -0.119241685, 0.027776804, 0.07646508, -0.079195194) * go_3(1.0, 1.0); - result += mat4(0.024724264, 0.0015230086, -0.05821472, 0.10433403, 0.078276865, 0.0020044958, -0.07082553, 0.21335958, -0.0192252, -0.046226356, -0.02576458, -0.005851255, 0.0061004073, -0.011763933, 0.052182812, -0.0148038035) * go_4(-1.0, -1.0); - result += mat4(-0.090289906, 0.07818745, 0.005133399, 0.2921895, -0.028104218, 0.010640733, -0.16721979, 0.11722157, 0.026559753, 0.06893593, -0.05803866, 0.10257745, 0.16412877, 0.08355433, -0.16449857, -0.19565444) * go_4(-1.0, 0.0); - result += mat4(-0.01625647, 0.014653339, -0.19772816, 0.035248496, -0.06315719, 0.053839743, -0.19860831, 0.060684476, 0.036236748, -0.06486933, -0.00240829, 0.049791906, 0.012847281, -0.12640457, 0.03785943, -0.066897415) * go_4(-1.0, 1.0); - result += mat4(-0.04193157, -0.043217663, 0.028713515, 0.034761403, -0.08618379, 0.07707441, 0.051029418, 0.042290796, -0.020135805, -0.1441393, -0.17698085, 0.011781508, -0.047712356, -0.09853696, 0.044760805, 0.07639903) * go_4(0.0, -1.0); - result += mat4(-0.04970899, -0.06206872, 0.32036147, 0.38422447, 0.02741357, -0.14773113, 0.026606748, 0.42104495, -0.16836561, 0.2612918, 0.32872567, 0.23574458, -0.48027223, 0.19769326, 0.40519443, 0.28430668) * go_4(0.0, 0.0); - result += mat4(-0.119522125, 0.045909975, -0.32532844, 0.16027172, 0.05406689, -0.0002717805, -0.10895223, -0.06700742, 0.11265451, -0.009777009, -0.054376923, 0.15653811, 0.07952248, -0.07323665, -0.030681474, -0.14271308) * go_4(0.0, 1.0); - result += mat4(0.021888081, -0.015081948, -0.08500391, -0.0566363, -0.02412306, 0.024970217, -0.08783075, -0.144119, 0.15955818, -0.09113594, -0.09460523, -0.013640705, 0.048579562, -0.051078796, 0.12259883, -0.12369713) * go_4(1.0, -1.0); - result += mat4(0.061307143, 0.12150064, -0.16097173, 0.054234862, 0.038454264, 0.19086266, -0.20866115, 0.17528693, 0.23780084, -0.085481875, -0.09336333, -0.03828183, 0.08448641, -0.01021121, 0.108555876, 0.10073375) * go_4(1.0, 0.0); - result += mat4(-0.07457479, 0.03767845, -0.04527163, 0.10312832, 0.018638285, 0.012303309, 0.068570994, 0.10636223, -0.046746258, -0.019519145, -0.09643553, 0.08668433, -0.08180716, -0.020997278, -0.19613801, 0.01197474) * go_4(1.0, 1.0); - result += mat4(0.038627718, -0.037348352, -0.0016635836, -0.029068137, -0.0026173298, 0.04695015, 0.011762658, 0.06046751, 0.03098801, 0.111461185, 0.196085, 0.087878406, 0.075701654, -0.09116793, -0.017858198, 0.019194437) * go_5(-1.0, -1.0); - result += mat4(-0.033022836, 0.00017579814, -0.04213397, -0.003223962, 0.109210424, 0.047623046, 0.036035728, 0.017458893, -0.01845847, 0.024312373, 0.15710357, 0.05525064, -0.011054537, 0.02045055, -0.059532605, -0.007326871) * go_5(-1.0, 0.0); - result += mat4(-0.027690193, 0.06131419, -0.17661297, -0.13770969, 0.10287112, -0.07097745, 0.004205589, 0.028562127, -0.047289394, -0.04858619, -0.029686142, 0.025106741, 0.0023360238, 0.09964466, -0.061582137, 0.03198441) * go_5(-1.0, 1.0); - result += mat4(0.10689288, 0.008829629, 0.016441079, 0.036601987, -0.054011513, -0.009619861, -0.087633766, -0.0066380203, -0.12721415, 0.0904403, 0.33278695, -0.07447129, -0.03637649, 0.0784043, -0.20029514, 0.04795142) * go_5(0.0, -1.0); - result += mat4(0.073388234, -0.18476517, 0.06697527, 0.15738879, -0.11097766, 0.0031603684, -0.46672878, 0.055933684, -0.13741222, 0.10608221, -0.09634478, 0.12178066, 0.20948799, 0.32808498, -0.30967075, 0.002408044) * go_5(0.0, 0.0); - result += mat4(-0.1276311, 0.2165364, -0.20479621, -0.04220272, -0.11207731, -0.07808082, 0.024846211, 0.1822824, 0.055696778, 0.04820076, -0.09683677, 0.10400354, -0.017928122, 0.13301387, 0.18256992, -0.12553082) * go_5(0.0, 1.0); - result += mat4(0.043751966, -0.021505235, 0.07481632, 0.07004997, 0.09292071, -0.06297265, 0.010273411, 0.14864413, -0.06774047, -0.046168163, -0.007962312, -0.25100794, -0.037582185, 0.05529135, -0.028888226, -0.08730092) * go_5(1.0, -1.0); - result += mat4(-0.27975065, 0.06358462, 0.037314422, 0.008414804, 0.09947835, -0.05693826, 0.035390552, 0.16577837, -0.117649436, -0.035677984, -0.23139963, -0.11336497, -0.26102057, 0.16566856, 0.19760732, -0.1030265) * go_5(1.0, 0.0); - result += mat4(0.06606493, -0.004958344, 0.012705852, 0.003391442, 0.15169266, -0.087174624, 0.17418364, 0.114550345, 0.017576916, -0.076570995, 0.014861571, -0.056111492, 0.08879636, 0.05000804, 0.08393709, -0.05148531) * go_5(1.0, 1.0); - result += vec4(-0.0010391332, 0.00068204466, -0.030266605, 0.058793433); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07575434, -0.040653445, 0.007225497, -0.043918904, 0.119574465, 0.011380923, 0.16722572, -0.013146596, 0.024970967, -0.028010864, 0.007539211, 0.009367542, 0.0053172954, 0.003149008, -0.06781401, 0.022353206) * go_0(-1.0, -1.0); - result += mat4(-0.24854389, -0.013649374, -0.17061508, 0.04292164, -0.005861008, 0.03951371, -0.0047152913, 0.015763909, 0.076025434, 0.0020614571, 0.035092413, -0.15013616, 0.07448282, -0.06402445, 0.2066371, -0.15285529) * go_0(-1.0, 0.0); - result += mat4(0.020919988, -0.023931077, -0.0026673493, 0.08726077, 0.08519901, 0.038367324, 0.012967744, -0.014597907, 0.03273228, 0.03425027, 0.11657879, -0.10561241, -0.10698567, 0.08750399, -0.029988581, 0.055827994) * go_0(-1.0, 1.0); - result += mat4(-0.05367477, -0.078411445, 0.107682705, -0.05179454, -0.101149, -0.016185397, 0.2755446, -0.2408976, 0.015464319, 0.042289484, 0.1908763, -0.15750426, -0.06516995, 0.072354965, 0.06715771, 0.26282984) * go_0(0.0, -1.0); - result += mat4(0.062333807, 0.06013844, -0.040104974, -0.33716065, 0.06652305, 0.3144661, -0.08150677, 0.17847258, 0.025293501, 0.085246235, 0.1500923, -0.028793348, -0.008922378, -0.023754073, -0.15999489, -0.10776248) * go_0(0.0, 0.0); - result += mat4(0.013679765, -0.0068315254, -0.0063317283, 0.04092541, -0.024292475, -0.08490433, 0.052840695, -0.056294404, 0.1751175, -0.03373209, 0.031306665, -0.14522974, -0.1688535, 0.09737534, -0.06616412, 0.2202574) * go_0(0.0, 1.0); - result += mat4(0.019336289, 0.054557003, -0.08372398, 0.013064762, 0.014936632, 0.031539556, 0.046100393, -0.14767817, -0.03333652, 0.020777406, 0.070448704, -0.009688919, -0.090416685, -0.025141802, 0.030440604, -0.11709335) * go_0(1.0, -1.0); - result += mat4(-0.019530639, -0.017071763, 0.16344751, -0.09003354, 0.049499974, 0.066197686, 0.17537111, -0.10965739, 0.027256027, -0.04720143, 0.03044248, -0.10484599, -0.051237702, 0.038487937, -0.072922744, 0.023582684) * go_0(1.0, 0.0); - result += mat4(0.06786746, 0.08613347, 0.058307048, -0.02357511, 0.14101249, 0.05510837, 0.082233034, -0.011995293, 0.022474831, 0.010892606, -0.01492494, -0.11511058, 0.055903982, 0.02207162, -0.098973624, 0.040012434) * go_0(1.0, 1.0); - result += mat4(-0.064766414, -0.051125515, 0.03402284, 0.057396293, -0.117072344, -0.019163232, 0.037863698, -0.052369513, -0.0061165625, 0.061819155, 0.028041245, -0.09490486, 0.1093347, -0.00664147, -0.08768312, 0.0070511065) * go_1(-1.0, -1.0); - result += mat4(-0.29905078, -0.09995567, -0.08120736, -0.03129106, -0.098326, 0.011130474, 0.036129285, 0.17871866, -0.084457494, -0.012659195, -0.02691152, 0.14104512, -0.21426772, -0.07243515, 0.11658849, -0.002852482) * go_1(-1.0, 0.0); - result += mat4(-0.17713405, 0.06941797, -0.062077515, -0.030658305, 0.08999236, -0.06921259, -0.095924884, 0.07375469, 0.11921843, 0.03554809, 0.058501836, 0.061609276, 0.21009676, 0.0685857, 0.04634768, -0.011610212) * go_1(-1.0, 1.0); - result += mat4(0.23054165, -0.039558277, -0.08045203, 0.06898775, -0.029158285, -0.037750367, -0.24264999, 0.05567059, 0.033564106, 0.03715445, 0.21824217, -0.043530416, 0.14731471, -0.07235384, 0.089611664, 0.026031008) * go_1(0.0, -1.0); - result += mat4(-0.098505996, 0.076161414, -0.09749997, 0.08872072, -0.12537481, 0.004141966, -0.067040585, -0.39046898, 0.055973317, 0.042723298, -0.13534929, -0.04335705, -0.09676344, -0.030532371, -0.07493259, -0.204519) * go_1(0.0, 0.0); - result += mat4(0.092057995, 0.56036115, 0.035873197, 0.057625197, -0.027210712, 0.06758173, 0.03869267, 0.058112122, -0.17431425, 0.06694562, -0.023299959, -0.036024995, -0.08311603, -0.13028675, 0.030961594, -0.09352405) * go_1(0.0, 1.0); - result += mat4(-0.04974338, -0.018803855, 0.10142671, -0.011776798, 0.06506589, -0.028476488, -0.019591449, -0.009582206, -0.039581254, 0.08912891, 0.15407297, -0.1111981, 0.018480325, -0.020779947, 0.031039927, -0.028463457) * go_1(1.0, -1.0); - result += mat4(0.03755804, -0.03275704, 0.05746246, -0.20568763, -0.043458223, 0.101914786, 0.09678074, 0.020130953, 0.14230555, -0.059717167, 0.16945612, -0.037695907, 0.005530407, 0.03836577, -0.13570379, 0.07553547) * go_1(1.0, 0.0); - result += mat4(0.1345541, -0.060120266, 0.053173084, -0.049932115, -0.064288326, -0.04958125, -0.0018103139, -0.006733389, 0.09001299, -0.04224858, -0.029498586, 0.18575308, -0.04561738, -0.07796082, -0.053623714, 0.10945586) * go_1(1.0, 1.0); - result += mat4(0.038186714, -0.012922114, -0.019606752, 0.10890265, -0.026697423, -0.031865556, -0.15932839, -0.026640827, -0.04705261, 0.037437834, 0.10179085, -0.0104858745, 0.07226553, 0.086646274, 0.101131245, -0.013259711) * go_2(-1.0, -1.0); - result += mat4(-0.023795605, -0.03550652, -0.107414104, 0.24193193, -0.14496972, -0.0053217285, 0.07148466, 0.12643136, -0.028414654, -0.022065196, 0.22527543, 0.03852106, -0.06697379, 0.022275146, -0.04764777, 0.120496206) * go_2(-1.0, 0.0); - result += mat4(0.23702599, 0.0025132557, -0.09258897, 0.19450943, 0.16891776, -0.13970126, -0.011847789, -0.11160886, -0.027799755, 0.044170912, -0.01895572, -0.031032356, 0.050352756, 0.021191083, 0.020041477, 0.043741606) * go_2(-1.0, 1.0); - result += mat4(-0.009787904, -0.0031327195, 0.13239524, -0.02248145, 0.017299512, -0.081802346, -0.026019929, 0.18054922, -0.14968066, 0.008379352, -0.13506816, -0.39034408, -0.01510947, 0.050189696, 0.037722163, -0.0402762) * go_2(0.0, -1.0); - result += mat4(-0.009644101, -0.07043924, -0.21935566, -0.12265316, -0.10996126, 0.106311634, -0.23956922, -0.015151155, 0.305456, -0.012311232, 0.3604329, 0.042090364, -0.07823785, 0.0045187594, -0.14659731, -0.13044918) * go_2(0.0, 0.0); - result += mat4(0.056163978, 0.08190758, -0.21001509, -0.033524346, 0.06273405, -0.2997634, 0.17979006, 0.056670144, 0.17271192, 0.18963227, 0.014150318, 0.06472095, 0.011062292, -0.18754636, -0.11784225, -0.03410013) * go_2(0.0, 1.0); - result += mat4(-0.0030782006, -0.039169632, -0.012148773, 0.007969146, 0.08711546, -0.037726182, 0.083651684, -0.08435948, -0.019397778, -0.0052067027, 0.08074589, -0.30207992, 0.047031336, 0.002789317, 0.15840194, -0.015054001) * go_2(1.0, -1.0); - result += mat4(-0.09078356, 0.12796444, -0.18432406, 0.16723672, -0.05772405, -0.030571923, 0.116594106, 0.06573904, 0.09887476, 0.09740928, 0.106751874, -0.00070329773, 0.010173095, -0.01197216, -0.06333568, 0.09718661) * go_2(1.0, 0.0); - result += mat4(-0.110290706, -0.005412752, 0.003918915, 0.0149365235, -0.12237922, -0.0941654, -0.034798037, 0.015760876, 0.04696292, -0.029291628, 0.045765277, -0.015127902, -0.09263057, 0.05402446, -0.0015908936, -0.033567302) * go_2(1.0, 1.0); - result += mat4(-0.1546162, -0.046554644, -0.0391521, -0.09454174, -0.0145587865, 0.07268975, -0.02036403, 0.015187209, 0.026502129, 0.032875117, 0.12548845, -0.19535835, 0.010370751, 0.030553613, -0.042921092, 0.11908) * go_3(-1.0, -1.0); - result += mat4(0.008709621, 0.12762955, 0.02271395, -0.031447556, 0.2041771, -0.029859964, -0.015839372, 0.10484876, 0.09285942, -0.020085273, 0.2329937, -0.29332286, 0.08294215, 0.011051319, -0.04993451, 0.042096935) * go_3(-1.0, 0.0); - result += mat4(0.18800123, -0.03135053, 0.039468758, -0.1393591, -0.055419687, -0.06350931, 0.017772222, 0.05357081, 0.10056033, 0.017571677, 0.05918185, -0.18371263, 0.0045149303, -0.077885784, -0.00043915678, -0.008647403) * go_3(-1.0, 1.0); - result += mat4(-0.011838485, 0.07350019, 0.0420831, 0.16229297, 0.009401042, 0.063198246, 0.060701136, -0.24234499, -0.098218255, 0.0034951624, -0.010836201, -0.07096872, -0.066027485, -0.008603827, -0.0023365172, 0.036595766) * go_3(0.0, -1.0); - result += mat4(-0.007935683, -0.26162764, 0.04059723, -0.059729014, 0.13929102, -0.09995081, 0.26922408, -0.29116368, -0.091238625, -0.07413519, -0.08951079, -0.030239927, -0.1368917, -0.11178951, -0.028913764, 0.15466857) * go_3(0.0, 0.0); - result += mat4(-0.1720602, 0.049961366, -0.035956968, 0.01072738, 0.093655944, -0.028308686, -0.07628571, 0.09549064, -0.002988198, 0.06946468, 0.17164339, -0.16626763, 0.11002801, -0.13791496, -0.05334689, 0.050957866) * go_3(0.0, 1.0); - result += mat4(0.067476556, 0.018401565, 0.02231447, 0.14312652, 0.14491569, 0.03304159, 0.2667232, -0.23096946, 0.011412218, -0.033295278, 0.006336338, 0.054895587, 0.031594772, -0.03772589, -0.08373306, 0.040909506) * go_3(1.0, -1.0); - result += mat4(0.03497658, -0.025716685, -0.16338083, 0.028354604, 0.13035797, 0.0010428666, 0.13506557, -0.23274136, 0.016426807, 0.005891126, -0.030560384, 0.054110117, 0.012959187, -0.033846233, 0.079321414, -0.08366125) * go_3(1.0, 0.0); - result += mat4(-0.17821713, 0.0037684473, 0.057483234, 0.038107146, -0.10401292, 0.020576356, -0.012016484, 0.010923387, 0.028446645, -0.027637433, 0.11687413, -0.07261914, -0.049263023, -0.06475644, -0.024119789, -0.029610662) * go_3(1.0, 1.0); - result += mat4(-0.022396808, -0.048420932, -0.02559588, 0.064104095, -0.2238012, -0.041249584, -0.09579613, 0.07697319, -0.058794957, -0.0134507725, -0.037161227, 0.08851301, -0.06766741, -0.036019377, 0.13610823, -0.063773625) * go_4(-1.0, -1.0); - result += mat4(-0.111936666, 0.0015700395, -0.18472138, -0.09797969, 0.010897245, 0.036488175, -0.08795422, -0.07408578, 0.1483729, -0.06495232, 0.080542035, -0.10570226, -0.01910507, 0.083303586, 0.15487678, 0.09761835) * go_4(-1.0, 0.0); - result += mat4(0.013546343, 0.12007825, -0.08906977, -0.032903753, -0.07735022, 0.074112795, 0.019404477, 0.012522555, -0.23720813, 0.03610346, -0.011151242, -0.09428033, -0.04208847, 0.08472888, -0.0941527, 0.1656356) * go_4(-1.0, 1.0); - result += mat4(-0.25968832, 0.023167782, -0.03399193, -0.025605416, 0.101124994, -0.03928416, 0.046708047, 0.0940108, -0.25001726, 0.06509968, -0.13399917, 0.14300269, 0.020019464, 0.09823798, -0.2859548, 0.15752983) * go_4(0.0, -1.0); - result += mat4(0.06779552, -0.048957087, 0.14341845, 0.008796376, 0.30520636, 0.085243754, 0.09708159, 0.120880716, -0.082815446, -0.10173312, 0.21042523, -0.0104252035, 0.012946593, 0.048153225, -0.023779962, -0.22626428) * go_4(0.0, 0.0); - result += mat4(-0.045614652, -0.1368418, -0.07421652, 0.010353576, 0.022773737, -0.034736004, -0.030603807, 0.0408453, 0.16829208, -0.028303532, 0.115394354, 0.0016284953, 0.06252144, 0.0025463477, -0.035674695, -0.09269994) * go_4(0.0, 1.0); - result += mat4(0.029739881, 0.010787098, 0.0037744232, -0.031569265, -0.040358283, 0.031814087, 0.018036583, -0.035894874, -0.063151926, -0.109803386, -0.07274231, 0.0032429527, 0.0074872132, 0.05725981, 0.060606975, 0.061117698) * go_4(1.0, -1.0); - result += mat4(-0.090809055, -0.03279648, -0.039354723, 0.14036313, -0.013013246, -0.07712587, -0.05239944, 0.03066829, 0.10737496, 0.076186314, -0.19699359, -0.036594667, 0.21938333, -0.04839966, 0.1286612, 0.013338615) * go_4(1.0, 0.0); - result += mat4(-0.1429745, -0.07955227, -0.115608715, 0.14228356, -0.05602207, 0.02558927, -0.11061171, 0.06673638, -0.049651172, -0.021392899, -0.06468659, 0.039141133, -0.039755132, -0.050199732, 0.011340825, -0.00960286) * go_4(1.0, 1.0); - result += mat4(-0.065777004, 0.025236372, -0.098756045, -0.0066504143, -0.0832726, -0.040675264, 0.04911827, 0.033635136, -0.28793526, -0.10226347, 0.068537354, -0.2860185, -0.0550898, -0.033459336, -0.04448749, 0.11041132) * go_5(-1.0, -1.0); - result += mat4(-0.00013023219, 0.007373967, 0.04127884, -0.04456252, 0.06467729, -0.023159763, -0.098877944, 0.015409203, 0.15005386, 0.17018975, -0.047596633, -0.08832008, 0.261034, 0.14298894, 0.10107278, 0.0667279) * go_5(-1.0, 0.0); - result += mat4(0.07939445, -0.08513146, -0.056983568, 0.040726192, 0.020092426, 0.18478346, 0.025876757, 0.030642727, -0.12265552, 0.002464858, -0.020372186, 0.070551656, -0.016353855, -0.11511243, -0.09484669, -0.08860525) * go_5(-1.0, 1.0); - result += mat4(-0.08422405, 0.022759112, -0.12475361, 0.15862978, 0.111085795, 0.07579316, -0.007671498, -0.2048156, 0.17000435, 0.05883048, 0.18549366, -0.228149, -0.14611648, -0.1293601, 0.12878643, -0.07917457) * go_5(0.0, -1.0); - result += mat4(-0.08697763, 0.0049046283, 0.06277697, 0.25657007, -0.037057158, -0.13358995, 0.2738289, 0.23121043, 0.32146227, 0.9468732, -0.09779261, -0.009769717, 0.0027131666, 0.118656114, 0.0898452, 0.22487496) * go_5(0.0, 0.0); - result += mat4(-0.009855616, -0.26240128, 0.0801256, 0.05871007, -0.21371177, 0.18926387, -0.23380044, -0.09474009, 0.06469363, -0.011632477, 0.025565358, 0.07108313, 0.10727917, -0.00026592708, 0.10903209, -0.03030383) * go_5(0.0, 1.0); - result += mat4(-0.0053380155, 0.033946496, -0.06860304, 0.0837713, -0.19269274, 0.08148278, -0.024386114, 0.022558022, -0.10444353, -0.042082686, 0.1903784, -0.077984534, -0.0065324833, 0.014674045, -0.18835127, 0.0013458942) * go_5(1.0, -1.0); - result += mat4(0.003491147, -0.0619422, 0.038574003, 0.059497047, -0.15528834, -0.007080539, -0.16295113, -0.044733614, -0.0067163864, 0.08186305, 0.11124116, -0.12240357, 0.12911586, -0.020327786, 0.084354304, 0.0617812) * go_5(1.0, 0.0); - result += mat4(0.07007616, 0.011843434, -0.029149607, -0.0033018868, 0.027770158, 0.13727912, -0.12729046, 0.2015703, 0.096229255, 0.013653448, 0.053937647, -0.029171295, 0.034246232, -0.09088042, 0.080427885, -0.114031985) * go_5(1.0, 1.0); - result += vec4(-0.031869058, -0.049291052, -0.05604242, 0.01975563); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_1_tf2 -//!SAVE conv2d_2_tf2 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.036752462, 0.029649748, -0.09748701, 0.059650358, 0.13616882, 0.013703124, -0.14998761, 0.009004554, 0.07992881, 0.022163173, -0.018146321, -0.08414139, -0.10911252, -0.016669272, 0.056696363, -0.08302073) * go_0(-1.0, -1.0); - result += mat4(0.12478577, 0.028158983, 0.07586349, 0.12842986, -0.006957239, -0.1160528, 0.023359532, -0.0074758576, -0.15942998, -0.06529529, -0.153319, -0.078501165, -0.18118988, 0.2001499, -0.31065115, -0.055492736) * go_0(-1.0, 0.0); - result += mat4(0.03806193, 0.00058707164, -0.06611409, -0.045297977, 0.024692483, 0.09514936, 0.12853955, 0.11280573, -0.023200573, -0.1503142, -0.19710632, -0.033298586, 0.00087093137, 0.061145596, -0.004629127, -0.014288893) * go_0(-1.0, 1.0); - result += mat4(0.01509754, 0.000975345, 0.043960508, 0.022261515, -0.07704468, 0.086596936, -0.13879523, 0.26205274, -0.014519523, -0.12089183, 0.0046606623, -0.028361473, 0.034736868, -0.12085262, -0.019312797, -0.1901168) * go_0(0.0, -1.0); - result += mat4(-0.22042033, -0.067241855, -0.0011751472, -0.3089443, -0.17684302, -0.07348887, -0.037950914, 0.07932659, -0.13587996, -0.19734861, 0.27510792, 0.15798965, 0.070934966, -0.24996722, 0.22142075, -0.1549704) * go_0(0.0, 0.0); - result += mat4(-0.06863547, 0.12449067, 0.00033030356, -0.07413546, 0.124544054, 0.049810465, 0.012467352, -0.040705148, 0.2043941, -0.1648197, 0.047376834, -0.072514415, 0.051701315, 0.22315136, 0.24103536, 0.042497516) * go_0(0.0, 1.0); - result += mat4(0.123373166, 0.16414459, -0.08505689, -0.052690018, 0.11099723, -0.008846635, 0.03483504, 0.03459058, 0.036431137, -0.022281377, -0.0747196, -0.06604844, 0.0034591674, 0.10690525, -0.01045302, -0.036992412) * go_0(1.0, -1.0); - result += mat4(-0.19597553, -0.32721582, 0.20590895, 0.07775533, 0.1393974, 0.10618747, 0.034401745, -0.0008929772, 0.014548279, -0.066054046, -0.051273774, 0.043616574, -0.10099313, 0.021435626, -0.021498548, -0.09212177) * go_0(1.0, 0.0); - result += mat4(0.15320238, 0.16471805, 0.032097213, 0.020770807, 0.025557829, -0.10821472, -0.13672188, 0.07703349, -0.013789304, 0.07158349, 0.07591088, 0.017019821, -0.14680074, -0.14204682, -0.0040901196, 0.04855082) * go_0(1.0, 1.0); - result += mat4(0.092040926, -0.1696223, 0.0035175297, -0.1266837, -0.017807435, -0.05324885, 0.052235745, 0.0053132256, -0.26360056, 0.044413272, -0.07820576, 0.09869417, 0.05975259, 0.058592863, -0.03391289, -0.0463601) * go_1(-1.0, -1.0); - result += mat4(-0.17156146, -0.06575004, 0.18721104, -0.028241588, 0.09805437, 0.15232502, -0.09398395, -0.14233524, 0.07775248, 0.14465685, 0.045949064, -0.03276368, -0.0028104451, 0.15150578, -0.04324162, -0.054190543) * go_1(-1.0, 0.0); - result += mat4(-0.025806474, 0.122085676, 0.06087487, 0.10123448, -0.021339104, -0.082396485, -0.049415596, 0.016665734, -0.01075966, -0.18270788, -0.21377993, 0.0107189575, -0.14957522, -0.23296382, -0.20353965, 0.12026796) * go_1(-1.0, 1.0); - result += mat4(-0.03165497, 0.20380338, 0.03153878, 0.08439275, 0.010899999, 0.031973626, 0.05603482, -0.050522227, -0.08342698, -0.23481508, -0.042175133, 0.008809877, 0.06622943, -0.08636996, 0.072220184, -0.06921989) * go_1(0.0, -1.0); - result += mat4(-0.07053526, 0.061910875, 0.0023930974, 0.28627953, 0.14615639, 0.058881626, -0.14786066, -0.06661333, 0.30343568, 0.3641429, -0.18411386, -0.16842756, 0.17510016, 0.05421069, -0.10123317, 0.06964223) * go_1(0.0, 0.0); - result += mat4(-0.21576017, -0.06363907, -0.18081437, 0.24664907, -0.09735165, 0.057592265, -0.083031796, 0.01964763, -0.031470213, -0.18838522, 0.05072108, -0.10001062, -0.008070019, -0.111055255, -0.07987868, -0.00753598) * go_1(0.0, 1.0); - result += mat4(0.061441302, -0.078763954, 0.005878039, 0.00055347115, -0.09499128, 0.09156834, 0.13328615, 0.043168213, -0.029688388, -0.36990175, 0.1696049, -0.034198307, -0.019164128, -0.09315934, -0.0028499612, 0.043170534) * go_1(1.0, -1.0); - result += mat4(-0.1382709, -0.24728169, 0.06712876, 0.08034291, -0.091681674, 0.007854249, 0.23301663, -0.055606913, 0.28568286, 0.2942446, -0.059362978, -0.074468486, 0.11220201, 0.1190768, -0.025883239, 0.05220736) * go_1(1.0, 0.0); - result += mat4(0.11531199, 0.3396637, 0.0085975, 0.013585601, 0.080540046, 0.049160656, -0.05710246, 0.005991695, 0.1438699, -0.3402577, -0.07053711, -0.16263331, -0.09119706, 0.0076426715, 0.08115436, -0.04297937) * go_1(1.0, 1.0); - result += mat4(0.052113753, 0.026635656, 0.10596492, 0.022013694, -0.010665535, -0.077066846, 0.06217549, -0.05517532, -0.056953914, -0.08185771, -0.020402161, -0.043208323, -0.012995452, -0.019643994, 0.006990098, -0.045173813) * go_2(-1.0, -1.0); - result += mat4(0.17718889, 0.0038756612, -0.11827346, -0.2329743, -0.1793552, -0.08469043, 0.13127111, 0.051736213, 0.2438145, -0.12342349, -0.11737657, -0.20728126, -0.1685289, 0.11266314, 0.076692104, -0.1616657) * go_2(-1.0, 0.0); - result += mat4(-0.020399734, -0.23063114, -0.21987145, -0.082217745, 0.116614126, 0.10273191, 0.101865344, 0.011308658, 0.056851316, -0.050016683, -0.009367647, -0.09125666, -0.07041454, 0.051433813, -0.006439021, 0.014740233) * go_2(-1.0, 1.0); - result += mat4(0.051031563, -0.03535238, -0.080701895, -0.055633444, -0.03865236, 0.04696362, -0.016610028, -0.031190962, -0.06230007, 0.11438899, 0.002950869, 0.056986533, 0.06503178, -0.07315137, -0.108793534, 0.1280907) * go_2(0.0, -1.0); - result += mat4(0.13356781, 0.0902099, 0.0018598923, 0.054726165, 0.13937949, -0.14195664, -0.09394637, -0.23538189, 0.15451878, 0.07872618, 0.12278696, 0.07883152, -0.079190545, 0.0060577407, 0.12348955, 0.1273284) * go_2(0.0, 0.0); - result += mat4(-0.2844292, -0.043685716, 0.16975491, -0.03931876, -0.045410622, -0.043887924, -0.06207469, -0.095141575, -0.01910207, 0.036241893, -0.099487804, 0.006061581, 0.058822997, -0.0017064888, 0.04472078, 0.10879998) * go_2(0.0, 1.0); - result += mat4(-0.0531857, 0.20407021, -0.048386984, 0.02700043, -0.024223981, -0.075209916, 0.022038897, 0.14877595, -0.13606672, -0.12767786, 0.06151931, -0.05388265, -0.013327909, 0.03979459, -0.065765746, -0.07282832) * go_2(1.0, -1.0); - result += mat4(-0.037340526, -0.21573111, 0.1269642, 0.04037458, 0.12398714, 0.2021396, -0.17674391, 0.0147291655, 0.058955196, -0.0015507584, 0.23541385, -0.145222, 0.20797801, -0.13098398, 0.003790887, -0.037615184) * go_2(1.0, 0.0); - result += mat4(-0.09600365, 0.22067653, 0.09930907, -0.07818997, 0.08789531, -0.011831723, -0.07886167, -0.020031728, 0.00084014103, 0.081453785, -0.007063985, -0.007725119, -0.054167047, 0.041189484, 0.007090602, -0.037227746) * go_2(1.0, 1.0); - result += mat4(-0.017512068, -0.22621062, -0.011807716, -0.064745784, -0.06731377, -0.05784807, 0.050968435, 0.0674237, -0.10051867, -0.08823096, 0.015287385, 0.057430997, -0.08142708, 0.06392106, 0.062179778, 0.02986153) * go_3(-1.0, -1.0); - result += mat4(-0.23300487, 0.0051065637, 0.23627552, 0.053352736, 0.15926725, 0.088776834, 0.06346916, 0.10811631, -0.05167443, -0.0029013795, -0.14792533, 0.0027736027, 0.31416926, -0.083981514, -0.051183276, -0.07321588) * go_3(-1.0, 0.0); - result += mat4(-0.008830604, 0.2482698, 0.14781001, 0.096101865, -0.021321455, 0.060337346, 0.015929816, -0.039313477, 0.09857251, -0.04800572, -0.101969965, 0.09313578, 0.048235282, 0.05253759, 0.04893083, -0.1115041) * go_3(-1.0, 1.0); - result += mat4(0.14629705, 0.10310787, 0.07421539, -0.2541191, 0.061346315, -0.12419151, 0.08524945, -0.029404115, 0.022251071, -0.12156319, -0.011553011, -0.012188503, 0.10256824, -0.010299354, 0.06765391, -0.08820727) * go_3(0.0, -1.0); - result += mat4(-0.21080357, -0.4021113, 0.035816908, 0.7000948, 0.21632199, 0.111284, -0.012059465, 0.023438603, 0.25428426, -0.15475942, 0.09260869, 0.14866553, -0.14576761, 0.22147575, 0.023831703, 0.074204154) * go_3(0.0, 0.0); - result += mat4(0.049143, 0.2896474, 0.18784785, 0.036332216, -0.019188514, -0.0049673393, -0.012528154, 0.13640659, -0.16241746, -0.09813068, 0.019516123, -0.0084478175, 0.058226462, -0.22123648, -0.14045192, -0.023666197) * go_3(0.0, 1.0); - result += mat4(0.05800501, 0.060431264, -0.04097961, 0.03453522, -0.06560738, -0.092472866, -0.06397347, 0.14444739, 0.025983555, -0.030899955, -0.042766206, -0.06060983, -0.01918705, -0.040768683, 0.052782744, 0.09638819) * go_3(1.0, -1.0); - result += mat4(-0.10073037, -0.22703889, -0.0010382081, 0.05074596, 0.03396179, -0.068848714, 0.0861629, 0.26089123, 0.022775311, -0.014949607, -0.094047025, -0.0027702095, 0.1917307, 0.11404618, -0.10283004, 0.025103435) * go_3(1.0, 0.0); - result += mat4(0.030860173, 0.13404387, 0.05976607, -0.093795955, 0.016835473, -0.020731337, 0.037207656, 0.126881, 0.0074429302, -0.10216514, -0.031499624, -0.083616905, -0.023030072, 0.014815519, -0.08937133, 0.11519909) * go_3(1.0, 1.0); - result += mat4(0.13568272, 0.122503586, -0.04963004, -0.0010412488, -0.10429815, 0.068515815, -0.2886607, -0.09816482, 0.051498115, 0.0017436935, -0.03835064, -0.13563691, 0.035978988, 0.06407808, 0.035696708, 0.10724592) * go_4(-1.0, -1.0); - result += mat4(-0.01266009, -0.0073259426, 0.006877496, 0.054289263, -0.07651681, -0.1118919, -0.012793396, -0.07368392, -0.01061065, -0.10134513, -0.1434462, 0.04688037, 0.19463971, 0.15506972, -0.23626265, 0.023359938) * go_4(-1.0, 0.0); - result += mat4(-0.09461492, -0.036462337, -0.16172805, 0.15837577, -0.08643621, 0.035166703, 0.061290734, -0.108064786, -0.12176273, 0.026083494, 0.06523428, -0.053249013, 0.12905678, -0.11907856, 0.015970876, -0.064191975) * go_4(-1.0, 1.0); - result += mat4(-0.042738717, -0.022231134, -0.03853537, -0.08111096, 0.040522724, 0.1349429, 0.1058772, -0.13941672, -0.04256023, -0.05742218, 0.19752051, -0.0942069, 0.0080565745, 0.06621899, -0.0018314277, -0.10499731) * go_4(0.0, -1.0); - result += mat4(0.30080974, -0.053357773, -0.054159783, -0.13733824, -0.22567864, 0.0092003625, 0.055152208, 0.1307246, -0.05244466, 0.041202605, 0.04831643, 0.33047366, 0.11396535, 0.42621002, 0.03459549, 0.0347411) * go_4(0.0, 0.0); - result += mat4(0.05305111, 0.076122396, -0.08781792, -0.0069180895, 0.050885174, -0.0042734225, -0.04444145, 0.012016987, 0.122985676, -0.048455186, -0.17231132, -0.013408545, -0.12154411, -0.39617026, -0.13028972, 0.075709775) * go_4(0.0, 1.0); - result += mat4(-0.0041923127, 0.027921822, 0.026247777, -0.020477489, 0.042308033, 0.01580411, -0.066128924, -0.058847815, 0.00095708045, 0.061050877, 0.042081635, 0.09856459, -0.038021386, -0.18332537, 0.12586181, -0.085686505) * go_4(1.0, -1.0); - result += mat4(0.02818681, 0.2021728, -0.059565738, -0.02425082, 0.12646812, -0.02011973, -0.0052335905, -0.13634421, -0.036117353, 0.102945946, -0.025090111, 0.06759408, 0.08294928, 0.06963724, 0.07145511, 0.061311223) * go_4(1.0, 0.0); - result += mat4(-0.04572639, -0.1857778, -0.020896941, -0.1320479, -0.08060074, 0.15807647, 0.08087496, 0.09661483, 0.068133175, -0.03192162, -0.059143748, -0.023069799, 0.06820739, -0.10254724, -0.08489362, -0.12950915) * go_4(1.0, 1.0); - result += mat4(-0.0701631, -0.06492232, 0.07158485, -0.0474961, -0.08277424, -0.0046874695, -0.036980134, 0.032411482, -0.040205367, -0.11806291, -0.12003579, 0.09404628, 0.13509527, -0.07151287, -0.17165148, -0.082828976) * go_5(-1.0, -1.0); - result += mat4(-0.23416395, -0.005059655, 0.03932381, 0.15610525, 0.1310776, 0.10495845, -0.23422901, -0.017912678, 0.010918836, -0.18813089, -0.287215, 0.21294762, 0.10265387, -0.06561, -0.11778113, 0.06950684) * go_5(-1.0, 0.0); - result += mat4(-0.0028815586, 0.07538225, -0.03291754, 0.047160495, -0.07666219, -0.15290219, -0.17513353, 0.04385531, 0.005002826, -0.01648364, -0.11297704, -0.03472268, -3.882572e-05, -0.16454723, -0.023212174, 0.15911958) * go_5(-1.0, 1.0); - result += mat4(-0.08348401, 0.029882649, 0.21708311, -0.05323357, -0.07704958, -0.016631678, -0.060494706, 0.10649385, -0.29307103, 0.052837957, 0.120730795, 0.034656238, -0.0004268264, 0.20290168, 0.10882499, -0.04060937) * go_5(0.0, -1.0); - result += mat4(-0.27893996, -0.18981667, 0.15798293, -0.030922053, -0.09654163, 0.27498308, -0.019050546, 0.16028336, -0.09720187, 0.10653666, -0.23317258, 0.20285597, 0.38110915, 0.022553165, 0.1321882, 1.1575677) * go_5(0.0, 0.0); - result += mat4(0.124580376, 0.067915864, -0.060147874, 0.053467464, -0.0038043377, 0.0289266, 0.118544504, -0.13358372, -0.076356836, -0.09143476, -0.0685938, -0.067568906, -0.0121121425, 0.040102568, -0.2717469, 0.16300786) * go_5(0.0, 1.0); - result += mat4(0.002691588, -0.12474235, 0.12467866, -0.09753572, -0.010205263, -0.0006359913, 0.015651824, -0.24048246, 0.1586161, 0.004588076, 0.04444844, -0.01231289, -0.06640105, -0.063054025, 0.102068566, 0.1259912) * go_5(1.0, -1.0); - result += mat4(0.0028770883, 0.16986279, 0.060900114, -0.08368565, -0.26938817, -0.24303895, 0.29375112, -0.059524175, -0.13170256, 0.11625376, -0.1326183, -0.0012333714, -0.13267988, -0.0071024853, -0.031031137, 0.07532496) * go_5(1.0, 0.0); - result += mat4(0.12214155, -0.041841783, -0.052751888, 0.062362764, -0.04766777, 0.0540806, 0.3322733, -0.3677417, 0.12217059, 0.05566961, -0.012429841, -0.10585391, -0.056920152, 0.14918473, -0.0054139746, 0.04940436) * go_5(1.0, 1.0); - result += vec4(0.016709281, 0.012619587, -0.017232165, -0.04396106); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.060878627, -0.041988216, 0.104058675, -0.088971175, 0.037815195, -0.033195835, 0.014279358, 0.06304454, 0.02948025, 0.006056027, -0.02087268, -0.1090193, -0.0034371826, -0.03975976, -0.06009851, 0.12365947) * go_0(-1.0, -1.0); - result += mat4(0.079548575, -0.16905668, -0.13728581, -0.03805935, 0.050417993, 0.04001516, -0.045917254, 0.043337673, -0.07575137, 0.017724466, -0.023716906, 0.012353904, -0.0853222, -0.09868139, 0.044824444, -0.0141505785) * go_0(-1.0, 0.0); - result += mat4(0.09399756, -0.14398341, -0.2721442, 0.016207851, -0.10623493, 0.057902634, 0.10767521, 0.0003635082, 0.014634943, 0.09112885, 0.11872027, 0.036644384, -0.046260875, -0.0743102, -0.19018789, 0.036393598) * go_0(-1.0, 1.0); - result += mat4(0.09814595, 0.0044509294, 0.13141516, 0.091252774, -0.09662514, -0.033599697, 0.12196037, 0.21599433, 0.1194499, 0.04127431, 0.039627396, -0.031521305, -0.14756238, -0.09555712, -0.010698389, -0.09642848) * go_0(0.0, -1.0); - result += mat4(-0.008813449, 0.015096444, 0.23331937, 0.097849704, -0.0094626965, 0.09468486, -0.14536959, -0.48678625, 0.11508988, 0.13658337, 0.07481205, -0.14646451, -0.056061424, -0.013553051, 0.1893297, -0.07424693) * go_0(0.0, 0.0); - result += mat4(0.092239104, -0.079855025, -0.12919873, -0.006577375, -0.4529186, 0.08633541, -0.027304357, -0.21013555, -0.03914936, 0.074918106, -0.009362854, -0.015590051, 0.23523058, 0.075767435, -0.042212676, -0.0037648496) * go_0(0.0, 1.0); - result += mat4(0.06423107, -0.080711946, 0.014235396, 0.017949343, 0.048689805, -0.10082265, 0.04964177, 0.103560664, 0.056355603, 0.09673206, -0.062948905, -0.036618367, -0.07845171, -0.010790115, -0.13978757, -0.025738737) * go_0(1.0, -1.0); - result += mat4(0.064559884, -0.042264454, -0.110668264, 0.124921605, 0.0047526294, 0.044878427, -0.15133426, -0.050278753, 0.08540561, 0.10420466, -0.021862527, 0.06804833, 0.094847456, 0.14177199, 0.04205903, 0.027875852) * go_0(1.0, 0.0); - result += mat4(-0.025060967, -0.04341538, -0.005267881, -0.06606841, -0.06347963, 0.062125452, 0.024389729, -0.08982404, -0.0062638335, 0.11981404, 0.054283164, -0.084352404, 0.0069115954, -0.064623505, 0.028570656, -0.069944404) * go_0(1.0, 1.0); - result += mat4(-0.026635213, -0.031471547, 0.12941289, 0.014990064, -0.06946961, 0.034871764, -0.0023429494, 0.039788067, -0.014846336, 0.07696896, 0.009524336, 0.06702693, 0.06922799, 0.15218733, -0.108957425, 0.02397873) * go_1(-1.0, -1.0); - result += mat4(0.04425317, -0.019614218, 0.020195834, -0.06853279, -0.10681463, -0.038610324, 0.1985278, 0.1917614, -0.15072219, 0.019215003, -0.07190246, -0.0710555, 0.06319588, 0.123843595, 0.037890248, -0.10028418) * go_1(-1.0, 0.0); - result += mat4(0.059803672, 0.08516648, 0.03677657, -0.010275112, -0.047332514, 0.0123374835, 0.06696025, -0.016793806, -0.086841464, 0.016270785, -0.12735787, -0.12676108, 0.16822693, 0.15760474, -0.07559359, -0.07678976) * go_1(-1.0, 1.0); - result += mat4(-0.104641154, 0.07192061, 0.23210934, 0.11417999, 0.04492395, -0.118827716, -0.12041658, 0.19749922, 0.09203569, 0.019726515, -0.055105124, 0.05295804, -0.005788939, 0.056638427, 0.065282024, -0.09013673) * go_1(0.0, -1.0); - result += mat4(0.028824141, 0.27045545, 0.073205985, -0.082846776, -0.2143439, -0.026223134, 0.16712476, 0.07194315, -0.019990921, -0.28113925, 0.13138968, 0.053820554, 0.3113366, 0.20013627, 0.010963992, 0.07630061) * go_1(0.0, 0.0); - result += mat4(0.15658687, 0.07025806, -0.09104068, 0.07163445, -0.03478211, 0.015337765, 0.083114274, 0.010839639, -0.0542002, 0.0768983, 0.074233785, -0.10077115, -0.12870364, -0.08656189, -0.04770647, -0.025078414) * go_1(0.0, 1.0); - result += mat4(-0.08102263, -0.07714586, -0.042745892, 0.0374993, -0.09478303, -0.07571532, -0.062317267, -0.034587506, -0.01396296, -0.053482197, -0.04521547, -0.116828814, -0.07759964, 0.07154679, 0.06632562, -0.069989264) * go_1(1.0, -1.0); - result += mat4(0.0066547785, 0.13140622, 0.08087736, -0.25154832, -0.039879136, -0.010373583, -0.05184014, 0.012249648, -0.096870914, -0.020647451, 0.087357886, 0.042756695, 0.09706797, 0.16477491, 0.12650236, -0.0839691) * go_1(1.0, 0.0); - result += mat4(-0.010547578, -0.013264216, 0.07298194, -0.06801917, -0.020884428, -0.071191095, 0.0041795867, -0.03743981, -0.19142745, -0.023131248, 0.0381656, -0.014476577, 0.076137036, 0.08133924, -0.085573785, 0.01067451) * go_1(1.0, 1.0); - result += mat4(-0.15004109, -0.04713592, -0.05823828, -0.03564525, -0.18593709, 0.11510138, 0.10260254, 0.10952684, -0.056938007, 0.11468128, -0.07422465, 0.013310582, 0.03276255, -0.08601149, 0.074078046, 0.06268768) * go_2(-1.0, -1.0); - result += mat4(-0.03183145, -0.080839306, 0.0077147027, 0.2783979, -0.020172173, 0.11772608, 0.19941199, 0.089674905, -0.1645803, 0.09871185, 0.103870094, -0.02221705, 0.18880293, -0.02838061, 0.1329911, 0.110804334) * go_2(-1.0, 0.0); - result += mat4(-0.0727793, -0.15429437, 0.07309872, 0.052409347, 0.07621416, 0.014342246, 0.09742559, -0.006178975, -0.00049866503, 0.01627198, 0.1749332, -0.023455271, 0.084430106, -0.074995294, 0.024229486, 0.006074203) * go_2(-1.0, 1.0); - result += mat4(0.096733555, -0.04178045, -0.016891489, 0.06953366, 0.005025407, 0.13799861, 0.003864609, -0.0056246608, 0.04448754, 0.14127962, -0.08169796, 0.049868934, -0.07307801, 0.0970107, 0.042104065, 0.012651146) * go_2(0.0, -1.0); - result += mat4(-0.17528427, -0.42639711, 0.11246585, 0.26789048, -0.045942087, 0.23083447, 0.2616979, 0.0051987628, -0.3405826, -0.02898998, -0.12387437, -0.06811704, -0.13623591, 0.085379034, 0.1163564, -0.3684051) * go_2(0.0, 0.0); - result += mat4(0.105229065, -0.009456556, -0.09346365, 0.16764155, 0.053806845, 0.032471523, 0.22268786, -0.00045551482, -0.038868275, 0.09682891, -0.072218366, -0.15059048, -0.06828941, -0.08986867, 0.009097031, 0.1784724) * go_2(0.0, 1.0); - result += mat4(0.015004372, 0.0059916377, 0.06578616, -0.03323271, -0.016655194, -0.0037565026, -0.016965717, 0.123583436, 0.05276917, 0.07713196, -0.08393188, -0.06575901, -0.026482249, 0.07345747, -0.029773988, -0.098376736) * go_2(1.0, -1.0); - result += mat4(0.0015305893, -0.09495176, 0.038808357, 0.0035307724, -0.08659931, 0.12207447, 0.08526738, 0.19026709, 0.05297383, 0.02768884, -0.1678504, -0.30386385, 0.025181111, 0.03945659, 0.17099062, 0.029333467) * go_2(1.0, 0.0); - result += mat4(0.21933754, -0.10313659, -0.04901954, 0.10964564, -0.13104112, -0.020108605, 0.027046354, -0.07801803, 0.12369789, 0.1183686, -0.2176958, -0.041832034, 0.047641497, -0.04469799, -0.010872767, 0.046445683) * go_2(1.0, 1.0); - result += mat4(0.148908, 0.119546995, 0.09599242, 0.026430191, 0.004287343, -0.01410569, -0.026667995, -0.0033883103, -0.114997216, -0.117683105, -0.083241284, 0.0925183, 0.04929814, 0.1384929, 0.067604244, -0.010090262) * go_3(-1.0, -1.0); - result += mat4(0.17913392, -0.027995758, 0.25155705, 0.38675678, -0.0084490245, 0.11703253, -0.13717517, 0.024913544, -0.022265881, 0.029341036, -0.021509588, 0.021925684, -0.06447644, 0.055588942, -0.23970391, -0.24156545) * go_3(-1.0, 0.0); - result += mat4(-0.09896528, -0.17248964, 0.20294617, -0.16814777, 0.014902548, -0.032280933, 0.04340094, 0.016689163, -0.04480586, 0.04256907, -0.18132643, -0.0063551413, 0.061819937, 0.04628381, 0.006767698, 0.0061162747) * go_3(-1.0, 1.0); - result += mat4(0.15260129, -0.06680908, 0.032037478, -0.11269483, 0.02655564, -0.021874784, -0.06829202, -0.06577833, -0.009562943, 0.0015011907, 0.0124588655, 0.06603201, 0.011123314, 0.027462086, 0.057987396, -0.18905073) * go_3(0.0, -1.0); - result += mat4(0.16752581, -0.48974037, -0.23990577, 0.27223033, -0.3773399, 0.08863033, -0.008062138, -0.077350825, -0.35848886, -0.053652804, 0.028900446, -0.06633484, 0.08034644, 0.10832985, 0.11753572, 0.09361) * go_3(0.0, 0.0); - result += mat4(-0.070450164, -0.25812992, 0.11410226, -0.21115066, 0.21403445, 0.077668846, -0.11741976, 0.011133417, 0.120277226, -0.08427091, -0.057168204, 0.1925855, -0.11746336, 0.10269434, -0.07322618, -0.10409009) * go_3(0.0, 1.0); - result += mat4(0.03575297, 0.047510248, -0.007979737, 0.031025993, -0.03234521, 0.08676478, 0.0035725946, -0.057138126, 0.022418533, 0.0050477074, -0.07923602, 0.030552208, -0.006946033, 0.013259726, -0.066337876, -0.01595059) * go_3(1.0, -1.0); - result += mat4(0.022808606, -0.08600189, -0.0021296823, -0.12722832, -0.061637733, 0.03429111, 0.1716912, 0.012061466, -0.037751373, -0.043379158, 0.004443852, 0.006374207, 0.04551323, 0.13964722, 0.011221888, -0.058265697) * go_3(1.0, 0.0); - result += mat4(0.1531455, -0.030335607, -0.00045989535, 0.016067028, 0.0050904215, -0.088213325, -0.09847688, -0.061282493, 0.040786967, 0.049954005, -0.015633572, 0.020150138, -0.086479515, -0.04847328, 0.008594881, -0.06341954) * go_3(1.0, 1.0); - result += mat4(0.022407485, 0.051172994, -0.07005926, 0.0029726303, 0.11993554, -0.027608547, 0.06194104, 0.19056575, -0.04243877, -0.114722855, 0.06236797, -0.06036638, -0.089428924, -0.07503292, -0.0024683257, 0.060040735) * go_4(-1.0, -1.0); - result += mat4(0.06874307, 0.029475406, -0.05025358, -0.04228223, 0.08292351, 0.0686724, -0.4738799, -0.041531645, 0.0615269, 0.03603044, -0.009950976, -0.030149357, 0.06910009, -0.016899468, -0.16924357, -0.066745326) * go_4(-1.0, 0.0); - result += mat4(0.012021045, -0.0028476904, -0.23050983, -0.11764533, 0.033747047, -0.0668547, -0.17645846, 0.058430642, 0.025553009, 0.11809977, -0.34416163, 0.029323732, -0.054547835, -0.0160696, 0.03192446, -0.11135748) * go_4(-1.0, 1.0); - result += mat4(0.19059187, 0.11761485, 0.06828622, -0.071383595, 0.17573558, -0.07326583, 0.29549947, 0.5370607, -0.1592557, 0.012467725, -0.02284002, -0.15567715, -0.022485673, -0.075606614, 0.02638997, 0.06499531) * go_4(0.0, -1.0); - result += mat4(0.061065406, 0.034856595, 0.121818274, -0.28799838, -0.0054412605, -0.25181246, -0.3095022, 0.59951264, -0.14887947, 0.310832, 0.42532226, -0.50458944, 0.09077006, 0.0012851865, -0.049090795, -0.018807344) * go_4(0.0, 0.0); - result += mat4(0.08625662, -0.08079708, 0.03560689, 0.021092743, 0.03330426, -0.10841074, 0.03042436, -0.10980985, -0.056732696, -0.02562971, -0.1828409, 0.25399944, 0.2152503, -0.019375121, -0.073344804, 0.04161207) * go_4(0.0, 1.0); - result += mat4(-0.021478724, 0.015574761, 0.092981905, 0.04195265, -0.050123077, -0.13362321, 0.14641477, 0.22193475, -0.112343, 0.02624443, -0.13018239, 0.00833514, -0.0092335045, 0.015253402, -0.013441764, 0.028822897) * go_4(1.0, -1.0); - result += mat4(0.025862357, -0.021355819, 0.10295669, 0.0615911, -0.102607384, -0.21350992, -0.0051344573, 0.062845446, -0.068726346, 0.10714023, -0.016227763, -0.055759374, 0.10889699, 0.07502395, -0.09149433, -0.00020285786) * go_4(1.0, 0.0); - result += mat4(-0.0676785, -0.11517699, 0.012390956, -0.120551035, -0.1695143, -0.027560102, -0.04481715, -0.06955313, 0.03983824, 0.097748354, -0.02457515, -0.025119185, -0.003987165, -0.034221396, -0.004371428, 0.045199845) * go_4(1.0, 1.0); - result += mat4(0.1732521, -0.022186914, 0.023095943, 0.034811586, 0.05579798, 0.030366201, 0.050261993, 0.029239386, 0.012046298, 0.024326274, -0.06705734, -0.028883696, 0.019890117, 0.018180113, 0.15856597, 0.18605316) * go_5(-1.0, -1.0); - result += mat4(0.14001346, -0.21155912, -0.04503595, 0.053345755, -0.090209134, 0.023596361, 0.109940544, 0.04495405, 0.1154255, 0.08557325, 0.028999878, 0.06572874, -0.06701647, -0.059574578, -0.035772696, -0.25112775) * go_5(-1.0, 0.0); - result += mat4(0.06629787, 0.08039307, -0.13807642, 0.07134196, -0.04295903, -0.006060854, 0.08699088, 0.018854614, 0.024055403, 0.024039935, -0.08500348, -0.03041994, -0.12469508, -0.06752729, 0.023455527, 0.06100103) * go_5(-1.0, 1.0); - result += mat4(0.06566045, -0.19818264, 0.13119479, 0.25947747, -0.17939506, 0.005642733, 0.09516572, -0.015004266, -0.048418473, -0.0120703075, -0.18966949, -0.23252305, 0.04602659, -0.07620238, -0.08963158, -0.082796745) * go_5(0.0, -1.0); - result += mat4(-0.01332639, -0.20567879, -0.027533831, -0.055890594, -0.06562438, 0.05992528, 0.15381408, -0.015261545, 0.14442064, 0.100258596, -0.0497336, 0.00076529477, 0.08915382, -0.25916958, 0.11629673, 0.50717276) * go_5(0.0, 0.0); - result += mat4(-0.09708679, -0.17440423, -0.06424349, 0.024765793, -0.068865195, -0.030870711, -0.019785484, -0.09489355, 0.0029501836, -0.030186258, -0.059128, 0.02353537, -0.056624137, -0.03159645, -0.016295215, -0.07160536) * go_5(0.0, 1.0); - result += mat4(0.006727234, -0.21366745, -0.07577386, -0.007462938, -0.17185695, -0.034567107, 0.15243205, 0.033333488, -0.08533551, 0.10143909, 0.02578666, -0.09097233, 0.026171222, -0.18809001, -0.03344314, 0.075811416) * go_5(1.0, -1.0); - result += mat4(-0.007549739, -0.18698569, -0.12967056, 0.23008282, -0.21573843, -0.034550514, 0.13685697, -0.11938899, 0.14835912, 0.1284512, 0.034902997, 0.086076915, 0.016294781, -0.068496056, -0.01920739, 0.14567302) * go_5(1.0, 0.0); - result += mat4(-0.04698844, 0.011898311, 0.1046441, 0.01991676, -0.042640552, -0.0012635426, 0.019563822, -0.16339815, -0.15451749, 0.0122954445, -0.15720376, -0.047094855, -0.047507558, -0.021503676, -0.04172817, -0.040319066) * go_5(1.0, 1.0); - result += vec4(0.15373076, 0.023519197, -0.049319107, -0.08283358); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.051532425, 0.091096826, 0.14191705, 0.021257475, -0.043796312, 0.093881994, -0.005066956, -0.0023505734, -0.05945693, 0.009556036, -0.085642494, -0.0014123443, -0.0058722594, -0.024343085, 0.061728872, -0.0039950665) * go_0(-1.0, -1.0); - result += mat4(-0.26865405, 0.009443461, 0.16867341, 0.622584, 0.058818102, 0.35006693, -0.059381735, -0.06257525, 0.09936295, -0.00443078, -0.10469712, 0.028571106, -0.040493533, 0.064946294, 0.06706766, -0.09373991) * go_0(-1.0, 0.0); - result += mat4(0.06543985, 0.09986878, -0.19543362, 0.09373655, 0.0541375, 0.16537385, 0.026011372, -0.03605416, 0.019205978, -0.07212895, 0.024384554, -0.007675373, 0.12836097, -0.04166636, 0.055825308, -0.020801648) * go_0(-1.0, 1.0); - result += mat4(-0.0015450468, 0.13572882, 0.12091456, 0.1166015, -0.009230995, -0.02709468, 0.24357562, -0.041073736, 0.10431756, -0.09081733, 0.024183141, -0.12385413, 0.009050871, 0.04241893, -0.07000264, -0.045027476) * go_0(0.0, -1.0); - result += mat4(0.1844817, 0.26336753, 0.3737102, -0.06259004, 0.1617452, -0.25852692, 0.09539696, 0.077052556, -0.1127802, -0.04362702, -0.07532252, 0.01843211, 0.20906034, -0.22169475, -0.3050946, 0.005795682) * go_0(0.0, 0.0); - result += mat4(0.050782137, 0.09285482, 0.013463424, 0.09382983, 0.15679222, 0.097184785, -0.102737166, 0.010083802, 0.25101736, -0.057440706, -0.0068231933, 0.031670235, -0.15177655, 0.06184211, 0.035385065, 0.094532885) * go_0(0.0, 1.0); - result += mat4(-0.021981591, -0.010338387, 0.0173951, 0.011672829, -0.07322482, 0.026766973, 0.19942865, -0.054371774, -0.039344914, -0.031175368, -0.104145624, -0.033964705, 0.059924334, 0.10030723, 0.05287642, -0.011525114) * go_0(1.0, -1.0); - result += mat4(0.010477996, -0.027564188, -0.07299184, 0.0031628401, 0.053592954, 0.14721608, 0.050443165, 0.054701533, -0.05194661, 0.10187985, 0.0841449, -0.16591024, -0.120705724, 0.04835826, 0.022117713, 0.14320303) * go_0(1.0, 0.0); - result += mat4(0.05366802, 0.04450724, -0.07116873, 0.018092519, 0.12960574, 0.010524704, 0.021397214, -0.10124951, 0.021492062, 0.15726486, 0.018809538, 0.16718598, -0.079331905, 0.014389413, -0.043786433, -0.031617466) * go_0(1.0, 1.0); - result += mat4(0.061123163, -0.008527182, 0.056948926, -0.10627774, -0.051381204, -0.098056376, -0.07355251, 0.058251213, 0.03027771, -0.059726343, -0.004039657, -0.060454708, 0.03326807, -0.017245874, -0.018002514, -0.19221961) * go_1(-1.0, -1.0); - result += mat4(0.13269426, -0.14521386, 0.07024693, -0.044345845, 0.064260505, -0.08186043, -0.018553255, 0.013000457, -0.034331907, 0.0110434955, -0.15152079, 0.062666364, 0.0064793793, 0.03943717, -0.07121982, -0.0122420695) * go_1(-1.0, 0.0); - result += mat4(0.0022909308, -0.027821459, 0.007666231, -0.09402207, 0.06378703, 0.0025306912, -0.011908118, 0.052943528, 0.03777223, 0.015253876, -0.0911553, 0.020581577, 0.04024302, -0.059131015, -0.12878624, -0.14937729) * go_1(-1.0, 1.0); - result += mat4(-0.20060766, 0.10550035, 0.040319964, 0.02203861, -0.21334945, -0.09129617, 0.14950722, 0.27330917, -0.13043684, -0.011455554, -0.059163526, 0.061363168, 0.07198159, -0.14392267, -0.049279723, -0.16368888) * go_1(0.0, -1.0); - result += mat4(-0.005726934, 0.061809737, 0.26571175, -0.0508786, -0.13768773, 0.0084726615, 0.064867355, 0.24021354, -0.16612366, -0.32611376, -0.0056967433, 0.058649994, -0.14098184, -0.13195637, 0.17463897, -0.072706945) * go_1(0.0, 0.0); - result += mat4(-0.004255773, 0.050221432, 0.03511493, 0.13059683, 0.090276234, -0.014923911, -0.0297545, -0.047384452, -0.017452974, -0.014603175, -0.040555496, -0.040129393, 0.15767246, -0.12933423, -0.10411603, -0.059705585) * go_1(0.0, 1.0); - result += mat4(0.01499572, 0.038021356, -0.038655262, 0.10332636, 0.06107952, -0.124987125, 0.00839781, 0.026839726, 0.05667281, -0.06502034, -0.04158296, 0.020352334, 0.012855494, -0.16884436, 0.07456417, -0.27250993) * go_1(1.0, -1.0); - result += mat4(0.16625583, 0.111739345, -0.14115168, 0.07775498, 0.07964054, -0.19943264, -0.076579675, 0.114146315, -0.06924165, -0.008523757, -0.012369684, 0.084825546, 0.077360824, 0.015640896, -0.09014757, -0.2562427) * go_1(1.0, 0.0); - result += mat4(0.043598585, -1.7944143e-05, 0.020020347, 0.163202, -0.009320151, -0.060290903, -0.08029752, 0.00470786, -0.052253775, 0.0523158, -0.048120454, 0.027237004, 0.19543527, -0.053322367, -0.07795532, -0.26097637) * go_1(1.0, 1.0); - result += mat4(0.040829513, 0.027344912, 0.039350614, -0.018052671, 0.047116775, -0.21742846, 0.021800093, 0.04727935, 0.006476431, 0.109050065, -0.15855633, 0.06528196, 0.01749025, 0.0801408, 0.050908446, 0.025161307) * go_2(-1.0, -1.0); - result += mat4(0.0039109145, 0.20262106, 0.010640377, 0.00073508086, 0.035609048, -0.3178805, -0.114064306, -0.08717052, 0.041919455, 0.100822195, 0.052280337, 0.14264041, -0.019835107, -0.01742497, 0.069859706, -0.136094) * go_2(-1.0, 0.0); - result += mat4(-0.016050965, 0.0017023965, 0.07463478, 0.029397288, 0.012884667, -0.15340297, -0.12145311, -0.084504604, 0.031719554, 0.10176259, 0.17917578, -0.081466235, -0.070475176, -0.036569543, 0.030817369, 0.00093004206) * go_2(-1.0, 1.0); - result += mat4(0.005175143, 0.038541757, -0.04611391, 0.012687734, -0.08482585, -0.13420677, -0.022602718, -0.023248335, -0.009379305, -0.024914416, -0.1556873, 0.07716233, 0.040030897, 0.019588439, -0.00020326633, -0.035921823) * go_2(0.0, -1.0); - result += mat4(0.09277081, -0.14604849, -0.10315272, -0.10218238, -0.019299058, 0.039892927, -0.12305097, 0.08282308, 0.20785542, -0.25430942, -0.5786373, 0.08361619, 0.29766968, -0.13651149, 0.05433396, -0.002326487) * go_2(0.0, 0.0); - result += mat4(0.0022918757, -0.13288023, 0.03507073, -0.1270022, -0.08303009, -0.11835682, -0.043386355, -0.049939554, 0.17220426, 0.20690584, -0.12607607, 0.01630364, -0.12909384, -0.015639398, 0.008538845, 0.011814694) * go_2(0.0, 1.0); - result += mat4(-0.07323993, 0.0038193578, -0.04499547, -0.028330965, 0.09958232, -0.19099899, 0.11461582, 0.034137066, 0.11563113, -0.080109045, -0.046825726, -0.076518156, 0.02142076, 0.023689395, -0.06716457, 0.055380866) * go_2(1.0, -1.0); - result += mat4(-0.16992791, -0.11073775, 0.030314503, -0.040741265, 0.14471209, -0.08543357, 0.03936064, 0.08363683, 0.25784957, -0.013240934, -0.2611622, 0.058637217, -0.054403603, 0.07538569, -0.01460606, 0.0033586712) * go_2(1.0, 0.0); - result += mat4(-0.030334603, -0.06705014, 0.115312725, -0.088085726, 0.06702929, -0.0011495374, -0.034704637, 0.1343799, 0.09259208, -0.015164439, -0.07946157, -0.08280861, 0.05221832, -0.020103397, 0.07027518, -0.06577655) * go_2(1.0, 1.0); - result += mat4(-0.15953599, 0.19717984, -0.068774864, -0.013231801, -0.0049428963, 0.035260137, 0.06719697, 0.053744193, -0.0061586886, 0.12468824, 0.082771085, -0.06338266, -0.11161943, 0.020903619, -0.06662881, 0.106410764) * go_3(-1.0, -1.0); - result += mat4(-0.12648551, 0.59016633, -0.058449466, 0.05027184, -0.1268186, -0.16503315, 0.06283211, 0.15491466, -0.030275421, -0.017137839, 0.35572198, -0.20102905, -0.13933317, 0.064168975, -0.25148913, 0.19831786) * go_3(-1.0, 0.0); - result += mat4(-0.020623447, 0.10436603, 0.032505494, 0.10330747, -0.13537021, -0.12852004, 0.043470673, 0.15594596, -0.04079206, -0.006578484, 0.014639443, -0.1305668, 0.12742941, 0.035377916, -0.020666048, 0.12913902) * go_3(-1.0, 1.0); - result += mat4(-0.093957245, 0.14227086, -0.052876893, -0.017023886, 0.02895226, -0.049363572, -0.103803545, -0.020201692, -0.017122371, 0.020107223, 0.17466359, -0.045727585, 0.008829902, -0.090555556, -0.15374495, 0.038008567) * go_3(0.0, -1.0); - result += mat4(-0.12761056, 0.28135148, 0.27574867, 0.382931, 0.37396768, 0.16042046, -0.21978071, -0.09570819, -0.03657776, -0.14994064, -0.21335132, -0.14469749, -0.008334839, 0.076127745, 0.12596962, 0.044469625) * go_3(0.0, 0.0); - result += mat4(0.062693655, -0.0020995673, -0.03578003, -0.008693218, -0.20448913, -0.0012052114, -0.05517855, 0.07709973, 0.00019773244, -0.033441383, 0.10124644, -0.029133243, 0.011188245, 0.049480632, -0.15774047, 0.026462583) * go_3(0.0, 1.0); - result += mat4(0.07708541, 0.032094687, -0.06590399, -0.044917103, 0.030699087, 0.013791041, -0.027715903, 0.034989886, 0.12644286, -0.053212583, 0.030144867, 0.03191328, -0.0022030976, -0.03517952, -0.031239145, -0.011541516) * go_3(1.0, -1.0); - result += mat4(0.13605243, -0.0036643173, 0.054759923, -0.0874578, -0.095541336, -0.07717009, -0.0044404124, -0.07789377, 0.022223033, 0.042040557, 0.03963188, -0.06923746, 0.050515573, 0.021173706, -0.1588929, -0.016566718) * go_3(1.0, 0.0); - result += mat4(0.03642868, 0.0019571134, -0.06462001, -0.025783904, -0.092446275, 0.07034372, 0.13513735, 0.049418043, 0.0469767, -0.034647983, -0.028358156, 0.029821971, -0.0012547448, -0.0215142, -0.00575001, -0.015822617) * go_3(1.0, 1.0); - result += mat4(0.05991972, -0.07097606, -0.0021673026, -0.057737365, -0.07414523, 0.0848901, -0.010813947, 0.098590545, -0.053975012, -0.01418897, -0.003842304, -0.08890115, -0.036108535, -0.028888565, 0.083571434, 0.031539794) * go_4(-1.0, -1.0); - result += mat4(0.06793972, -0.04307121, -0.06749134, -0.2220419, -0.027158843, -0.12549289, -0.12074319, 0.15725835, 0.031145409, 0.029780883, 0.1666359, -0.19247383, 0.049615867, 0.007585922, 0.043383103, 0.059999026) * go_4(-1.0, 0.0); - result += mat4(0.049211416, 0.017562263, -0.16941698, 0.020431092, 0.03291002, -0.16847964, -0.13768122, 0.023552107, 0.066443734, 0.04457845, -0.06422816, 0.026246335, -0.068408854, -0.005691881, -0.016129443, -0.04373907) * go_4(-1.0, 1.0); - result += mat4(-0.05238576, 0.0040802117, -0.048386503, -0.091417626, -0.12426567, 0.057714116, 0.13877256, 0.07984798, 0.1273961, 0.053779654, 0.005539249, -0.15763973, 0.01229652, 0.028854318, 0.03565122, 0.008969873) * go_4(0.0, -1.0); - result += mat4(0.0557266, -0.08987834, 0.084733, -0.092816025, -0.11559604, 0.078937136, 0.2510453, 0.43310538, 0.25558868, 0.11473004, -0.38432416, -0.5493848, 0.11698362, 0.0031592897, -0.25226787, -0.16275169) * go_4(0.0, 0.0); - result += mat4(-0.057126086, 0.02864368, 0.03450892, -0.21388105, -0.09301064, -0.08352118, -0.03985245, 0.03851764, 0.052544933, -0.11187719, 0.1202711, -0.025741827, -0.049562898, 0.030661782, -0.13272884, 0.11825087) * go_4(0.0, 1.0); - result += mat4(0.00022974834, 0.009710421, 0.017583983, -0.033309694, -0.0051363627, -0.04150162, 0.14076383, -0.02493734, 0.03662216, 0.013816948, -0.093910635, -0.016845183, -0.005615691, 0.057093993, -0.04766084, 0.02399329) * go_4(1.0, -1.0); - result += mat4(-0.105166085, 0.043123998, -0.0127380835, 0.002625806, 0.015331415, -0.06932662, 0.12627512, -0.007400604, 0.0795737, -0.06656376, 0.10450256, -0.21649025, 0.018006608, 0.023881756, 0.017293494, 0.028394276) * go_4(1.0, 0.0); - result += mat4(-0.02119481, 0.08968183, 0.05052849, -0.12967895, -0.040222317, -0.05005715, -0.03269384, 0.12692185, -0.026795395, -0.010976929, 0.09932758, -0.10000184, -0.029375391, -0.0059517818, 0.11153912, -0.021110825) * go_4(1.0, 1.0); - result += mat4(-0.18823478, -0.07471848, 0.10086466, -0.0802164, -0.08827184, 0.120874256, -0.10013822, -0.041975964, 0.03392259, 0.02487604, 0.0055046408, -0.031607714, -0.046583664, -0.08023409, 0.01050265, 0.018952131) * go_5(-1.0, -1.0); - result += mat4(-0.27866688, 0.01744233, 0.22286561, -0.12082279, -0.09129484, 0.18733421, 0.13702172, 0.11011228, -0.102656946, 0.008688805, 0.017221048, 0.05698448, 0.047090173, -0.11221888, -0.011405661, -0.0803902) * go_5(-1.0, 0.0); - result += mat4(-0.015040312, -0.06936747, -0.051856115, -0.23413056, 0.038837086, -0.05748699, 0.008432868, 0.013003123, 0.015453204, -0.025663814, -0.14024237, 0.05792928, 0.16071676, -0.06444115, -0.025555203, -0.0329603) * go_5(-1.0, 1.0); - result += mat4(-0.17098702, -0.03307113, 0.39276683, -0.2675735, 0.11513026, 0.022623973, 0.09215052, -0.035489403, 0.15498714, -0.033512514, -0.12328384, 0.06450136, -0.0857012, -0.05533978, 0.084712565, 0.060517173) * go_5(0.0, -1.0); - result += mat4(-0.22476391, 0.043400906, 0.27170894, -0.08536195, 0.081583224, -0.12228048, 0.11090993, -0.17015494, -0.2305381, 0.3388885, 0.04737424, -0.039380115, -0.4384285, 0.108392686, -0.04265109, -0.076380804) * go_5(0.0, 0.0); - result += mat4(-0.005365885, 0.019079542, 0.101035826, 0.019317945, 0.090604626, 0.060402036, 0.03897374, -0.013627864, -0.06286203, -0.10721233, -0.04124434, 0.15492818, 0.08468363, 0.02096242, 0.16306227, -0.121712595) * go_5(0.0, 1.0); - result += mat4(0.076783404, -0.10820704, 0.1928273, -0.26549062, -0.019718567, 0.014522923, 0.03307578, 0.05146496, -0.037891667, 0.06871848, -0.040733065, -0.06625803, 0.044294454, -0.03430605, 0.17273937, -0.097373515) * go_5(1.0, -1.0); - result += mat4(-0.01684758, 0.11004352, 0.18195264, 0.021141363, -0.06384991, -0.046188932, 0.14583582, -0.042456772, -0.19739406, 0.0716079, -0.14497757, -0.11471601, -0.05790205, -0.031198889, 0.16930245, -0.050601408) * go_5(1.0, 0.0); - result += mat4(-0.0004969313, 0.052198816, 0.044516873, -0.0004902391, -0.01417575, 0.007150018, -0.058823355, -0.10758816, 0.11552376, -0.009542674, -0.02952017, 0.057716407, 0.036378585, -0.014639986, -0.102228165, 0.014733783) * go_5(1.0, 1.0); - result += vec4(-0.089817494, -0.046376515, -0.016165316, 0.0076574814); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.030038383, -0.021750828, -0.05673787, -0.020782128, -0.09773039, 0.039174426, 0.06708796, -0.049333632, -0.04537355, 0.0038014427, 0.03591195, -0.044637557, 0.050968885, 0.09330693, -0.031212635, 0.07429358) * go_0(-1.0, -1.0); - result += mat4(0.12775251, 0.040986136, -0.04009791, -0.46938616, -0.019962156, 0.020210423, 0.006611632, -0.12218599, -0.034447394, -0.042804014, 0.03643364, 0.008767333, 0.011725782, 0.12548617, -0.04463093, -0.0003086673) * go_0(-1.0, 0.0); - result += mat4(-0.17495006, 0.09364223, 0.21191445, 0.3689361, -0.17039227, 0.046119362, 0.0004103469, 0.005220074, -0.030711368, -0.16689484, -0.0033276859, 0.0019133807, 0.039146427, 0.24162926, -0.06682649, 0.015280382) * go_0(-1.0, 1.0); - result += mat4(0.14416052, -0.04350349, -0.05997498, -0.033882197, 0.094997644, -0.074338906, -0.018996352, -0.11358834, -0.056317985, -0.09744033, -0.0649357, 0.13987495, -0.11759386, 0.04025934, 0.014363531, 0.04545393) * go_0(0.0, -1.0); - result += mat4(-0.025082601, 0.15925029, 0.26535234, -0.11123376, 0.2440576, -0.22252248, -0.33604595, 0.41823947, 0.041226815, -0.018212054, 0.029909294, -0.18397939, -0.008992709, -0.053265553, -0.33006796, 0.1679767) * go_0(0.0, 0.0); - result += mat4(-0.15396369, 0.047922403, 0.081095986, 0.113559745, -0.15644477, -0.053599257, 0.13369486, -0.042834673, 0.053572267, 0.008784489, -0.07328086, -0.09134024, 0.13616152, 0.07166517, -0.13828607, 0.03351486) * go_0(0.0, 1.0); - result += mat4(0.14226072, 0.03835179, 0.037692476, 0.028272923, 0.1739552, 0.060204353, 0.025946103, -0.11801499, -0.013297981, 0.017026937, 0.03560745, 0.013458226, -0.13805607, -0.0465596, -0.10789218, 0.05573865) * go_0(1.0, -1.0); - result += mat4(0.086809635, -0.079763696, 0.09985947, -0.005514354, 0.03096031, -0.11669026, -0.022280462, -0.13622472, -0.14020382, -0.19116089, -0.19539164, 0.19047521, 0.052646037, 0.16117837, -0.03884808, 0.00616069) * go_0(1.0, 0.0); - result += mat4(0.0559758, 0.034724902, 0.0734068, 0.05364228, 0.038033064, -0.17287946, 0.079264306, -0.108767435, 0.061889466, 0.008698587, -0.09496613, 0.005716793, 0.016187228, 0.029243872, 0.0018449439, -0.049501143) * go_0(1.0, 1.0); - result += mat4(-0.07022979, -0.048978336, -0.03554127, 0.059115365, -0.044639688, 0.09438233, -0.08497962, 0.0090867905, 0.10578026, -0.05330054, -0.096712135, -0.066838026, -0.14796714, -0.068573944, -0.062214892, -0.041214455) * go_1(-1.0, -1.0); - result += mat4(0.1073234, -0.18741827, -0.11151789, 0.015686441, -0.051570714, 0.11938432, -0.10913929, 0.19924664, 0.004670323, 0.12700799, 0.10854721, 0.011548006, 0.027806178, -0.056173198, -0.0735823, -0.032703802) * go_1(-1.0, 0.0); - result += mat4(0.021739235, -0.0762548, -0.07841973, -0.026117647, -0.020196462, -0.032511126, -0.013573442, -0.0064681806, -0.001557182, -0.025993003, 0.042057555, -0.07787966, -0.0032753355, -0.20890261, -0.11667297, 0.014360282) * go_1(-1.0, 1.0); - result += mat4(0.112155125, 0.08103959, -0.16235179, -0.044133063, -0.22261354, 0.08284279, 0.18919945, -0.12323681, 0.07951254, 0.07377466, 0.040439017, -0.085686415, -0.05438964, -0.0856376, -0.03426205, 0.16813913) * go_1(0.0, -1.0); - result += mat4(-0.07694995, -0.14575966, 0.16244434, 0.069700025, -0.09374663, 0.20785992, 0.6321536, -0.14662765, 0.049012557, -0.11849355, -0.17823172, 0.12648977, 0.23761982, -0.27029783, -0.25868917, 0.3413623) * go_1(0.0, 0.0); - result += mat4(-0.054794446, -0.07828729, -0.09556604, -0.07134157, 0.036704887, -0.10364276, 0.06125657, 0.09165867, 0.118566066, -0.049238298, -0.047849175, -0.111805685, -0.12598202, -0.059178207, 0.19201007, 0.23574536) * go_1(0.0, 1.0); - result += mat4(0.08980732, 0.02026105, 0.0129340505, -0.09411272, 0.050741844, 0.08491761, -0.0047545866, 0.08226705, -0.043336462, -0.031396918, 0.067547105, 0.062342398, -0.17352124, 0.023412999, -0.040013775, 0.1298339) * go_1(1.0, -1.0); - result += mat4(-0.14172035, -0.24607244, 0.047379315, 0.07706968, 0.021247461, -0.052120127, -0.059468146, 0.119869955, 0.053620726, 0.004084994, 0.13461955, -0.18420613, -0.08815453, -0.2254551, -0.12617877, 0.08785496) * go_1(1.0, 0.0); - result += mat4(-0.077065945, -0.2423904, 0.1552825, -0.03647555, 0.06480191, 0.1330156, -0.0269433, 0.15451622, 0.035751514, 0.20464808, -0.025265023, 0.020420134, 0.083485104, -0.21048307, 0.02272924, 0.08510558) * go_1(1.0, 1.0); - result += mat4(0.060760673, 0.09824782, -0.021633951, -0.01997114, -0.057572138, -0.09888247, 0.028583184, -0.07609289, -0.15944918, -0.068560906, 0.0012401744, -0.1439598, 0.062566355, 0.038748585, -0.049428593, 0.06488477) * go_2(-1.0, -1.0); - result += mat4(-0.14030106, 0.3072454, 0.06573317, 0.11125419, -0.056651082, -0.38036165, 0.14607264, 0.025300123, -0.21910849, 0.086184375, -0.07718454, -0.22798067, 0.06774617, -0.030094463, -0.061885186, 0.17065558) * go_2(-1.0, 0.0); - result += mat4(-0.010125824, 0.103072144, 0.1279997, 0.050760243, -0.044088285, -0.22203995, 0.14531416, 0.14237681, -0.09475585, -0.031036694, -0.06487942, -0.06685459, 0.044411752, 0.102043316, -0.02298463, 0.13894531) * go_2(-1.0, 1.0); - result += mat4(0.078136265, 0.09181613, -0.0738238, 0.11729893, -0.0353268, -0.045860678, 0.015761107, -0.2393765, 0.16983439, -0.19721702, -0.04424538, -0.19921613, -0.15987086, -0.053151198, -0.021123309, 0.017046373) * go_2(0.0, -1.0); - result += mat4(0.12818108, 0.110156946, -0.312964, -0.039435193, -0.013887782, 0.023616536, -0.10395611, -0.10312674, 0.16714245, -0.011764259, 0.013490144, -0.27647623, 0.2815708, -0.077260576, -0.48344976, 0.45566863) * go_2(0.0, 0.0); - result += mat4(0.13948695, 0.16520035, -0.10736998, 0.11894474, 0.04268327, -0.06891544, -0.12176657, -0.010123764, -0.12706108, -0.09380579, 0.20031494, 0.013033486, 0.045285974, 0.24856701, 0.017390171, 0.008171071) * go_2(0.0, 1.0); - result += mat4(0.10275033, 0.044178646, -0.07312131, 0.032645803, 0.06477659, -0.23516645, 0.067890026, -0.10182108, -0.06428725, -0.30921656, 0.0689789, -0.12003374, -0.0762646, -0.054030195, -0.032199256, -0.01721715) * go_2(1.0, -1.0); - result += mat4(0.030139906, 0.34553978, -0.10791494, 0.10865321, -0.027569076, -0.3618259, 0.08197652, -0.18512005, -0.052365016, -0.2031043, 0.022174975, 0.112072885, -0.010841792, -0.056213304, -0.01889174, -0.021815313) * go_2(1.0, 0.0); - result += mat4(0.07941464, 0.10613619, -0.17120236, 0.11736614, -0.067713745, -0.04955237, 0.07884793, 0.028317591, -0.08577812, -0.23818578, 0.028565563, -0.09763123, 0.021688502, -0.014520022, -0.0022332326, 0.06084232) * go_2(1.0, 1.0); - result += mat4(0.17416538, -0.055337753, -0.086784735, -0.19203298, -0.022859348, 0.052769832, 0.01801499, 0.021157248, -0.003430855, 0.28804642, -0.12915777, -0.007967927, -0.062051505, -0.035990898, 0.14486398, -0.045551952) * go_3(-1.0, -1.0); - result += mat4(-0.06697477, 0.21398899, 0.15626886, 0.09518566, -0.04784873, -0.043016933, 0.028028524, -0.2202801, 0.009475978, 0.023302117, 0.086636774, 0.08466187, 0.027134296, -0.12477319, -0.0066038263, -0.13377169) * go_3(-1.0, 0.0); - result += mat4(0.073002495, 0.019882409, 0.13465437, 0.095742665, 0.02877812, -0.07978304, 0.04799434, -0.08633761, 0.053829532, 0.028266488, 0.016496865, -0.017649772, 0.007504453, -0.08132136, -0.032084428, -0.06213031) * go_3(-1.0, 1.0); - result += mat4(0.22638816, 0.021791125, -0.05373062, -0.11881955, -0.16027248, 0.1248117, 0.09711232, 0.12850693, 0.1430744, 0.016074827, 0.28289175, -0.02841633, -0.071616, 0.123623274, 0.034697633, -0.04540337) * go_3(0.0, -1.0); - result += mat4(-0.32847854, 0.03362345, 0.1570183, -0.03396035, 0.010754796, 0.050622255, 0.1397359, -0.0694123, -0.08154277, 0.07327178, -0.19398023, 0.19549695, 0.016365696, -0.094511, 0.1962987, -0.1624034) * go_3(0.0, 0.0); - result += mat4(0.058889385, -7.546345e-05, 0.24408817, 0.2477949, -0.09436003, 0.012569106, -0.008978321, -0.24843621, -0.05341815, 0.042606987, -0.034251466, -0.032898013, 0.024249421, -0.13529354, -0.009598037, -0.010006772) * go_3(0.0, 1.0); - result += mat4(-0.008468843, -0.096458435, -0.03669067, 0.07894181, -0.05088269, -0.02165748, -0.092161335, 0.027510274, -0.063793465, -0.016722348, 0.04017869, -0.08391233, -0.02473415, -0.002307846, -0.050660677, 0.13024652) * go_3(1.0, -1.0); - result += mat4(0.106820665, -0.079599075, 0.119992964, 0.052486505, -0.13353048, 0.17465922, -0.06353679, 0.08188179, -0.06733727, -0.076294705, 0.06284326, 0.03576611, -0.07740004, -0.022198483, -0.02510401, 0.013377264) * go_3(1.0, 0.0); - result += mat4(0.05380906, -0.13063669, 0.0502729, 0.08910364, -0.063234136, 0.12828088, -0.018460963, -0.075440355, 0.009794487, -0.06512296, -0.06974687, 0.055644996, -0.06760934, -0.051190425, 0.015056534, -0.076578766) * go_3(1.0, 1.0); - result += mat4(0.11306755, -0.14152966, 0.017199567, -0.07927823, -0.07652898, 0.049704805, 0.08694966, 0.023250965, -0.0097414795, 0.18923178, -0.009095949, 0.19534774, 0.07291539, 0.08211279, -0.03250076, -0.004571515) * go_4(-1.0, -1.0); - result += mat4(0.054340266, -0.06225541, 0.079742216, 0.08922402, 0.038130082, 0.03440285, -0.09214123, -0.079534784, -0.056612004, -0.11120479, -0.022306368, -0.12771012, -0.03189213, -0.06106299, 0.07653171, -0.017988201) * go_4(-1.0, 0.0); - result += mat4(-0.01483085, -0.07492041, 0.09557763, 0.018514846, -0.063029274, -0.0042385045, 0.095838405, 0.25916252, 0.007743448, -0.03838592, -0.0017389939, -0.21538797, 0.030113945, 0.052143387, 0.042328425, -0.021920057) * go_4(-1.0, 1.0); - result += mat4(-0.054446265, -0.15103836, 0.0337641, -0.17766273, 0.59812796, 0.16621551, -0.1396398, -0.10765044, -0.20137207, -0.058399063, 0.015214646, 0.08948676, 0.10885861, -0.07048783, -0.036039792, -0.0139106875) * go_4(0.0, -1.0); - result += mat4(0.44016132, -0.15730812, -0.18961212, 0.054028135, 0.20437379, 0.22306874, -0.16968171, -0.3039991, 0.16289267, -0.13677506, 0.393345, 0.14750478, 0.030973857, -0.15711813, 0.29814583, -0.079453215) * go_4(0.0, 0.0); - result += mat4(0.111330524, 0.034477763, -0.035662375, 0.0040829857, -0.21120815, -0.0015638896, 0.16000211, 0.11780304, 0.117233016, 0.027888954, -0.11743133, -0.10117133, 0.09182776, -0.15051128, -0.050599564, -0.07859627) * go_4(0.0, 1.0); - result += mat4(-0.07528831, 0.07377095, -0.012035711, 0.14641845, 0.19885515, -0.027350847, 0.15891771, -0.032186788, -0.18568198, 0.08516914, 0.0194725, 0.113679186, -0.07321446, -0.006814611, 0.024363022, -0.041401975) * go_4(1.0, -1.0); - result += mat4(0.03670741, -0.05319249, 0.051785614, -0.16903248, 0.17325033, 0.1144905, 0.20689905, -0.018909017, 0.05619651, -0.01838476, -0.18826057, 0.04974103, -0.048423767, -0.038877293, -0.07345023, 0.112472065) * go_4(1.0, 0.0); - result += mat4(0.010864774, 0.16668274, 0.068780385, 0.08308156, -0.034339216, 0.011294274, 0.14058082, -0.13272302, -0.049348705, -0.043334674, -0.055829912, -0.08535909, 0.0064629056, 0.023997806, -0.016735112, -0.011942476) * go_4(1.0, 1.0); - result += mat4(0.086142346, 0.2292178, -0.010219403, 0.0593476, -0.083634034, 0.12259535, -0.07327748, 0.024673425, -0.045079265, -0.02530776, 0.02248951, 0.008393773, 0.077611506, -0.11509985, 0.059175193, -0.042087976) * go_5(-1.0, -1.0); - result += mat4(0.04044624, 0.26444176, 0.01946967, 0.11972864, -0.17220415, 0.2603537, -0.14230311, -0.12086888, -0.0016741497, -0.15089966, 0.024180984, -0.15758742, 0.008668386, 0.031713035, 0.005303394, 0.12022453) * go_5(-1.0, 0.0); - result += mat4(-0.010897276, 0.11987153, -0.13000685, 0.19799784, 0.078611284, -0.03090101, -0.053625334, -0.004184015, 0.010114269, -0.116182365, 0.0914601, 0.018809833, -0.06429345, -0.038116198, 0.07993482, 0.1780351) * go_5(-1.0, 1.0); - result += mat4(0.31573543, 0.27823564, -0.044864718, -0.06798315, -0.028597904, -0.12924606, 0.011233994, 0.014880406, -0.2519176, -0.013868341, 0.079987615, 0.24702698, 0.18798052, 0.12141515, -0.07526576, -0.09506396) * go_5(0.0, -1.0); - result += mat4(-0.11081675, 0.8964764, 0.23946989, 0.2148404, 0.021539357, -0.28177392, 0.11052179, -0.20627522, -0.17099018, -0.18601313, -0.14564027, -0.009660313, -0.074333444, 0.16385522, 0.2510857, -0.18929671) * go_5(0.0, 0.0); - result += mat4(-0.099951014, 0.15615578, 0.0872118, 0.085872896, -0.050993633, -0.034744546, 0.11654366, 0.099523395, -0.026343498, -0.06509954, -0.036859628, -0.064830914, -0.04815342, -0.045304768, 0.09685562, 0.034938518) * go_5(0.0, 1.0); - result += mat4(0.38825148, 0.22435588, -0.038768243, 0.12891662, -0.020507365, 0.02433332, 0.10165365, -0.06321467, -0.27405342, 0.21058224, -0.056151077, 0.0893715, 0.2074139, 0.075082846, 0.05353601, 0.07657649) * go_5(1.0, -1.0); - result += mat4(0.1015844, 0.17984828, 0.09339243, 0.03871665, 0.0317625, 0.09201323, 0.025318913, -0.14218892, -0.0707927, -0.08178308, 0.027679168, -0.0876631, 0.10087377, 0.120364726, 0.04277295, -0.045731667) * go_5(1.0, 0.0); - result += mat4(0.028319372, -0.071746595, 0.06251333, -0.01576269, -0.010277642, 0.0071051405, 0.05409803, -0.031315167, -0.029280229, 0.062258944, 0.011841519, -0.035734437, -0.04741583, -0.03989569, 0.09797028, 0.015404385) * go_5(1.0, 1.0); - result += vec4(0.05188569, -0.059999112, -0.083425395, 0.082997724); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.24241452, -0.100528784, 0.084611595, -0.08080715, -0.080256924, 0.32367775, -0.08305123, 0.14469719, -0.12750244, 0.011761777, -0.032910027, -0.09281193, -0.08873951, -0.048546325, 0.074183516, 0.045072023) * go_0(-1.0, -1.0); - result += mat4(0.010939742, 0.098544136, 0.049292147, -0.22430013, -0.08015333, -0.031508088, -0.36106005, 0.12460627, 6.643176e-05, 0.018857447, 0.031020487, 0.12757821, -0.19238578, 0.30933842, -0.0045448663, 0.06171628) * go_0(-1.0, 0.0); - result += mat4(-0.108574405, 0.09914063, -0.041833777, -0.039154854, 0.23846108, -0.1906441, -0.039134666, -0.25513512, -0.0050513004, 0.01407854, -0.022056133, -0.1184478, 0.066072665, 0.0785561, -0.020216426, -0.18292157) * go_0(-1.0, 1.0); - result += mat4(0.12959838, 0.026440006, -0.0011596913, -0.31726244, -0.07676252, 0.027959237, 0.05895619, 0.12172022, -0.024327997, 0.21279183, 0.13060385, 0.13505119, -0.031498447, 0.16705142, 0.09434212, -0.023264466) * go_0(0.0, -1.0); - result += mat4(0.03360758, 0.31829336, 0.097372435, 0.066172324, -0.0873371, -0.07164736, -0.116273776, -0.15921108, -0.024977256, -0.11765985, -0.049553525, -0.032468632, -0.44380078, -0.08507502, 0.0327261, 0.019686563) * go_0(0.0, 0.0); - result += mat4(-0.25682133, 0.22201401, -0.18396896, -0.2420858, -0.09842399, 0.055608753, 0.25748596, 0.23556975, 0.026250778, 0.040285446, -0.07382262, 0.046680715, 0.18008539, -0.09701798, 0.19753018, -0.1137251) * go_0(0.0, 1.0); - result += mat4(0.11319255, -0.03126501, 0.07208281, 0.07807037, 0.004573684, -0.06784475, 0.1179848, 0.020895153, -0.06185304, 0.14311057, 0.046281323, 0.008271052, 0.026759004, 0.08469016, 0.028041905, -0.03963556) * go_0(1.0, -1.0); - result += mat4(-0.07507896, -0.11879082, -0.10246563, 0.035149485, -0.06570499, 0.1419997, 0.12152748, -0.12301691, 0.1762615, -0.23543337, -0.02367177, 0.09385406, -0.09039412, -0.009186869, 0.14061865, 0.034911305) * go_0(1.0, 0.0); - result += mat4(-0.090208784, 0.032296423, -0.027498133, -0.20286347, -0.23917037, 0.121174216, -0.17504627, -0.07068821, -0.023061762, 0.19171213, 0.08966504, 0.026315464, -0.01362642, -0.06647785, 0.013971816, 0.0012104128) * go_0(1.0, 1.0); - result += mat4(-0.161861, 0.014416416, -0.15422133, -0.038345456, -0.01926263, 0.05678733, -0.08679306, 0.12459709, 0.09292243, 0.086677715, 0.02556416, 0.00951428, 0.044389777, -0.098340936, -0.0022571671, -0.11948745) * go_1(-1.0, -1.0); - result += mat4(-0.03355483, 0.18284513, -0.40516412, -0.08310888, 0.072258465, -0.031982094, -0.08194034, -0.20847136, 0.053745344, 0.14951777, -0.09529998, -0.02916081, 0.3393585, -0.05936077, -0.052002147, -0.09378778) * go_1(-1.0, 0.0); - result += mat4(0.022535978, -0.013279629, -0.18767136, -0.1950165, -0.08899123, 0.06262896, -0.03814574, 0.06236617, 0.020036899, 0.11593139, -0.07205022, -0.07774045, -0.03650935, 0.123902336, -0.013660339, 0.0100182695) * go_1(-1.0, 1.0); - result += mat4(0.41049683, -0.13173875, 0.30123588, -0.114987805, -0.032382715, 0.010663058, -0.160782, 0.080483064, -0.15371633, -0.13527736, -0.007258104, 0.038761474, 0.13176364, 0.03947656, 0.19999593, 0.017623467) * go_1(0.0, -1.0); - result += mat4(-0.36690325, -0.11513609, -0.07545344, -0.48683265, -0.06626628, -0.1879703, -0.26255432, -0.27202544, 0.23177272, 0.22095495, -0.48685974, -0.15628079, 0.034569174, 0.11856782, 0.09302504, 0.058153495) * go_1(0.0, 0.0); - result += mat4(-0.11159616, 0.3598168, -0.040168233, -0.017913736, 0.05656028, 0.080021836, -0.0057910853, 0.09907919, -0.018118931, 0.104529314, -0.06623353, -0.05187142, 0.042655, -0.06037208, -0.13814276, -0.13877125) * go_1(0.0, 1.0); - result += mat4(0.07689434, -0.02957611, 0.059183944, 0.18732947, -0.012570976, -0.050425645, -0.04667911, -0.01714018, -0.1811952, -0.10611838, -0.06517356, 0.042284686, 0.14040054, -0.0044124937, 0.088569656, -0.09631004) * go_1(1.0, -1.0); - result += mat4(-0.041964065, -0.03648969, -0.06585285, -0.14997002, 0.14896095, 0.10991836, 0.035850056, -0.20629084, 0.20721185, 0.009481607, 0.059676703, 0.029152349, 0.048996776, 0.013181292, 0.012264018, 0.11202655) * go_1(1.0, 0.0); - result += mat4(-0.0025412547, 0.17166725, -0.029921697, -0.095596656, -0.01471627, -0.073273055, -0.07374642, 0.12182166, -0.032026254, 0.026899092, 0.010827608, 0.025221692, -0.023959257, 0.029916659, -0.082857594, -0.08647804) * go_1(1.0, 1.0); - result += mat4(0.0033231457, 0.025150223, -0.03726759, 0.00018312124, 0.07642118, 0.014045985, 0.12287268, -0.004507867, 0.020656586, -0.047215212, 0.06898793, -0.07950119, -0.012468573, -0.048340544, -0.018446337, 0.027170202) * go_2(-1.0, -1.0); - result += mat4(0.10788957, -0.12736209, -0.013289646, -0.022522524, 0.021718934, 0.020739023, -0.036677744, -0.020026676, 0.02461253, -0.092075236, 0.020083528, 0.082641564, 0.075953014, -0.27012607, 0.008537513, -0.014810857) * go_2(-1.0, 0.0); - result += mat4(-0.08193019, 0.12357896, -0.06672417, -0.0010150888, 0.04195979, 0.0720302, -0.04809725, 0.055789728, 0.029061116, 0.10846966, -0.04579666, -0.01037483, 0.12933455, -0.053652834, 0.016493477, -0.0990554) * go_2(-1.0, 1.0); - result += mat4(-0.09004879, -0.07116469, -0.06171522, 0.03694901, 0.13067593, 0.014719711, 0.120604895, -0.16505042, -0.13472416, 0.21027507, -0.022027668, 0.07578348, 0.14807276, -0.08320662, 0.0676947, 0.015872132) * go_2(0.0, -1.0); - result += mat4(-0.013147318, -0.13990307, 0.1424338, 0.115681306, -0.096111625, -0.044169232, 0.11619919, -0.12927286, 0.2216329, -0.3785249, 0.11881006, 0.05548364, 0.042547792, 0.01991183, 0.18072614, -0.12253586) * go_2(0.0, 0.0); - result += mat4(0.00507553, 0.06520682, -0.046696853, 0.09873781, -0.007926131, -0.046024855, 0.007177778, 0.067222506, 0.061948813, -0.049535032, -0.12687485, -0.07812312, 0.10864703, -0.005380493, -0.015591806, -0.12866366) * go_2(0.0, 1.0); - result += mat4(0.019687995, -0.08136337, -0.023699999, -0.0323895, 0.12587894, 0.08024744, 0.08909513, -0.0005001073, -0.11161824, -0.016753444, 0.044748716, -0.11397051, 0.06295226, -0.0628124, 0.009678967, -0.1027119) * go_2(1.0, -1.0); - result += mat4(-0.032145683, -0.008628118, -0.06487987, -0.010637064, -0.09447084, -0.20124236, -0.122117415, -0.12410895, 0.10209157, 0.068115994, 0.19661677, 0.043781675, 0.11948784, 0.15049894, 0.021160888, -0.21148479) * go_2(1.0, 0.0); - result += mat4(-0.0033451298, 0.062234465, -0.03359657, 0.077990666, -0.011020787, 0.050606657, -0.11445393, -0.057500027, -0.10895705, -0.05061424, -0.0075792223, 0.0826572, 0.03529453, -0.04615097, -0.049622457, -0.02728514) * go_2(1.0, 1.0); - result += mat4(-0.047170192, -0.063528895, 0.02639375, 0.06133726, 0.07981049, 0.034422956, -0.13669443, -0.027895411, -0.010747354, -0.0295917, 0.023415035, 0.104463466, -0.011863274, 0.12199949, -0.056722328, -0.0074905828) * go_3(-1.0, -1.0); - result += mat4(-0.16876027, 0.042861532, -0.042729948, 0.13059488, -0.009925716, -0.16374534, 0.1027359, -0.0023175783, -0.08118241, -0.18233776, 0.003640569, -0.04086481, -0.07530675, 0.046155393, -0.09668895, -0.040498324) * go_3(-1.0, 0.0); - result += mat4(0.0208792, -0.041296285, 0.06495765, -0.014825306, -0.09760564, 0.143414, -0.013952, 0.012976426, 0.07446454, -0.069237985, -0.002300383, 0.039793592, 0.10446527, -0.15101886, 0.041385327, 0.045380514) * go_3(-1.0, 1.0); - result += mat4(-0.12573302, 0.26293075, 0.021182856, 0.02212639, -0.00491492, -0.09508161, -0.17054123, 0.0334656, -0.14494689, -0.13223654, -0.16647294, -0.20494382, 0.035838082, -0.02903287, -0.07826274, 0.10065476) * go_3(0.0, -1.0); - result += mat4(-0.19727297, -0.2761233, 0.052405518, 0.060891774, 0.35287574, -0.112983346, -0.1780347, 0.29627487, 0.15366785, -0.0058370745, -0.12529264, 0.290549, -0.0019844156, 0.10950049, -0.11683605, -0.31868842) * go_3(0.0, 0.0); - result += mat4(-0.065610245, 0.11033488, 0.0847139, 0.08285523, 0.12131332, 0.03140868, 0.019243333, -0.023314001, 0.12372892, -0.048462555, 0.07601431, -0.21340725, 0.094367005, -0.17915425, -0.16658746, -0.113485895) * go_3(0.0, 1.0); - result += mat4(0.033004273, -0.070222795, -0.22679015, -0.11107499, -0.02167688, 0.039476246, 0.023125345, -0.06782998, 0.039133113, -0.093893945, -0.0107462, 0.013814576, -0.050011426, 0.04277595, -0.011378756, 0.0350182) * go_3(1.0, -1.0); - result += mat4(-0.086395636, 0.2250359, 0.0071665626, -0.14477696, 0.08346748, -0.104350545, 0.066446565, 0.07878673, -0.09608493, 0.034221467, 0.056161933, 0.1631777, -0.04652218, -0.16019695, -0.14100033, 0.0012826526) * go_3(1.0, 0.0); - result += mat4(0.010050049, 0.069934174, -0.019675957, -0.08841736, -0.084199436, 0.038151644, 0.08524713, -0.010469705, 0.08203982, -0.16461739, 0.0085432455, -0.018949067, -0.03917674, -0.06079645, -0.08174396, -0.06611958) * go_3(1.0, 1.0); - result += mat4(-0.11630934, 0.06403295, -0.015545311, 0.04184985, -0.010742663, 0.09900252, 0.16177145, -0.08190314, 0.026068239, -0.11228535, 0.07040219, 0.026017435, 0.027691854, 0.05901074, 0.063722596, 0.061167255) * go_4(-1.0, -1.0); - result += mat4(-0.079639085, -0.073422454, 0.022079231, 0.099202864, -0.0395308, -0.22311744, 0.2558813, 0.1212435, 0.015039178, 0.22544971, 0.18809341, 0.023819689, 0.031049373, 0.14752339, 0.021717936, -0.07462568) * go_4(-1.0, 0.0); - result += mat4(-0.04292503, -0.049489103, 0.005655617, -0.072831966, -0.13834368, 0.096430235, 0.11431599, 0.034313705, -0.081960544, -0.05398357, 0.17004605, 0.018943321, -0.057367492, 0.109905675, 0.03622088, 0.10881282) * go_4(-1.0, 1.0); - result += mat4(-0.10108816, 0.022445837, -0.16971505, 0.15245505, -0.049302544, -0.038824387, 0.1386521, -0.02240345, 0.08463246, 0.03382031, 0.029146284, -0.022780763, -0.10378809, 0.12192778, -0.10930472, -0.13424326) * go_4(0.0, -1.0); - result += mat4(0.011400255, 0.1136756, -0.12854446, -0.02158332, 0.041146938, 0.23310283, 0.20242867, 0.13700607, 0.06842123, -0.2627286, 0.15257023, 0.109742284, -0.06880218, -0.12513116, 0.36323714, -0.08309059) * go_4(0.0, 0.0); - result += mat4(-0.06563699, -0.19518705, -0.16528322, 0.0077345036, 0.07426379, 0.01273623, -0.02538561, -0.13874102, -0.17633066, -0.011773621, 0.11594737, 0.036010545, -0.100552164, 0.17657241, 0.008071872, 0.15612179) * go_4(0.0, 1.0); - result += mat4(-0.092973836, 0.082076035, -0.10813946, 0.020986248, -0.0980453, 0.088257805, 0.12294689, 0.06353175, -0.0555235, -0.07203055, 0.0012230835, 0.031788144, 0.09232316, 0.07080032, -0.13878204, 0.1324983) * go_4(1.0, -1.0); - result += mat4(-0.09405708, 0.08027049, -0.029044298, 0.004413014, -0.031831603, -0.10639057, 0.22791572, 0.29128549, -0.019287571, -0.07344137, -0.06703681, 0.06482271, -0.16929443, 0.18714571, 0.0076980256, -0.3553443) * go_4(1.0, 0.0); - result += mat4(-0.08177233, -0.03985184, -0.05898491, -0.084218055, 0.13517176, -0.064535744, 0.023212295, -0.104104936, 0.06286191, -0.0183956, -0.014526215, 0.022721317, 0.13015802, -0.012955069, 0.04760935, -0.024741875) * go_4(1.0, 1.0); - result += mat4(-0.11811978, -0.258122, -0.0524529, 0.013679023, 0.3381383, -0.15303107, 0.15624695, -0.041717052, -0.09521123, -0.02555037, -0.055241242, 0.1292656, -0.053962484, 0.061827328, 0.007066458, -0.030455371) * go_5(-1.0, -1.0); - result += mat4(0.011406645, 0.03625852, 0.17662852, 0.22849263, 0.008301044, -0.06586813, 0.06535347, -0.1422378, -0.21197955, 0.09594126, -0.019065345, 0.07993183, -0.18870543, -0.100329205, 0.106410205, 0.19904357) * go_5(-1.0, 0.0); - result += mat4(-0.010716086, 0.019676654, 0.14609855, 0.023858106, -0.09101523, 0.04618942, 0.019114424, 0.063025944, 0.017177893, -0.17157322, 0.041316323, 0.008979556, -0.012944043, 0.00247818, 0.06370907, 0.21294525) * go_5(-1.0, 1.0); - result += mat4(-0.35886058, -0.21411636, -0.102139756, -0.091692075, 0.06896005, 0.031774938, -0.11289269, 0.018020328, -0.07621171, -0.20134668, -0.03170399, -0.15741387, 0.21397352, 0.020581603, 0.058037966, -0.060088705) * go_5(0.0, -1.0); - result += mat4(0.08237236, -0.40777692, -0.30334964, 0.17960687, 0.15861799, 0.38422614, 0.07123272, -0.14411296, -0.18338335, 0.20555314, -0.24229437, 0.11125418, -0.25821567, 0.21951115, -0.0689347, 0.30991623) * go_5(0.0, 0.0); - result += mat4(-0.1809837, 0.2020823, 0.18093042, -0.28097653, 0.04832372, 0.05197796, 0.0411827, -0.038122583, -0.12748396, 0.2147528, 0.03581702, -0.06162546, 0.35705167, -0.17073934, 0.05283743, -0.1553281) * go_5(0.0, 1.0); - result += mat4(0.049231995, 0.104612015, 0.13789916, 0.11476952, -0.08613189, 0.12533712, -0.11062187, -0.06180441, 0.0076576895, -0.07606035, -0.13825357, 0.05541409, -0.11110464, 0.027096856, -0.059329435, 0.07901976) * go_5(1.0, -1.0); - result += mat4(-0.07326118, -0.05398769, 0.3154168, 0.25846845, 0.20782405, 0.157769, -0.02310168, 0.017850745, -0.08339611, 0.14059362, -0.12403927, 0.023322403, -0.19284059, 0.0866216, -0.06948787, 0.019149296) * go_5(1.0, 0.0); - result += mat4(-0.035457414, -0.22270168, 0.16388698, -0.103444144, -0.18057363, 0.2918497, 0.10467282, -0.0905526, 0.13966475, -0.098633334, -0.01834713, -0.035242856, -0.05306878, 0.02205429, 0.07744791, 0.10596783) * go_5(1.0, 1.0); - result += vec4(0.059486926, -0.04431698, 0.13264082, 0.054302923); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19755663, 0.0316557, -0.026239445, -0.02093631, 0.34920403, 0.089713775, 0.15791516, -0.07875456, -0.10947356, 0.0650924, -0.018307874, 0.10422799, -0.06709603, -0.11965746, 0.02718723, 0.011129028) * go_0(-1.0, -1.0); - result += mat4(-0.11617485, -0.031335115, 0.19744423, 0.10993791, 0.019927517, 0.3689939, -0.09384358, 0.15150148, -0.08009817, 0.0921147, -0.010306458, 0.10003431, -0.041360963, 0.29798675, -0.1715826, 0.19668113) * go_0(-1.0, 0.0); - result += mat4(-0.053691022, 0.18052101, -0.046081945, 0.19882767, 0.22020999, 0.34823263, 0.106327124, -0.022915896, 0.01570857, -0.007507703, -0.012257527, 0.036691625, 0.086023636, 0.050882597, -0.05192003, -0.05078049) * go_0(-1.0, 1.0); - result += mat4(-0.07258528, -0.19264953, 0.0077820197, 0.15891895, -0.02311384, -0.008074125, 0.3110597, 0.049998533, 0.02290246, 0.03217235, 0.15498875, -0.03103216, 0.24216467, 0.13539337, -0.051235467, -0.06826195) * go_0(0.0, -1.0); - result += mat4(-0.110576056, -0.3145707, -0.13334544, -0.005337209, -0.038422424, 0.13821185, -0.15107699, 0.14623423, -0.08636853, 0.107583255, 0.17422204, 0.18080167, 0.050008878, -0.12324271, 0.2247043, -0.27508256) * go_0(0.0, 0.0); - result += mat4(-0.05137364, 0.16223, -0.03729107, 0.31266937, -0.17589277, 0.21317652, -0.33287808, 0.21178558, -0.045284536, 0.07560065, 0.05269868, 0.14920329, 0.16866954, -0.1268599, 0.20590475, -0.011014125) * go_0(0.0, 1.0); - result += mat4(0.034846842, 0.2524156, 0.03403225, -0.11323429, -0.14184852, 0.017702477, -0.02463918, 0.10044771, 0.19502714, -0.0025532132, 0.053394504, 0.26317486, -0.027531786, 0.17660192, -0.0288518, 0.10305002) * go_0(1.0, -1.0); - result += mat4(0.0015593453, 0.080029555, -0.1503097, 0.18303742, -0.20101264, -0.21629538, -0.22573662, 0.083415814, -0.17538182, -0.14721964, 0.14281827, 0.059842914, 0.011950429, 0.24764334, -0.1454325, -0.30143398) * go_0(1.0, 0.0); - result += mat4(-0.035138246, -0.21716589, -0.16935606, -0.10491116, -0.2616234, -0.65694314, -0.055407632, -0.37251663, -0.15059815, -0.070271164, 0.041637342, 0.012102054, -0.1284768, -0.045593116, 0.053494472, -0.046751507) * go_0(1.0, 1.0); - result += mat4(-0.12646478, -0.119142495, 0.0041090506, 0.16849291, 0.00027152186, 0.0060362555, -0.055415455, -0.010880626, -0.017593162, -0.012767872, 0.017386466, -0.07673884, -0.12813187, -0.06382475, -0.017622227, -0.030992843) * go_1(-1.0, -1.0); - result += mat4(0.2330042, 0.23233213, -0.064918295, -0.028516663, 0.0043700417, -0.009412538, 0.020097204, 0.078027494, 0.22039704, 0.09681993, -0.1377131, 0.04463947, 0.053339735, -0.015651379, 0.013501266, 0.108578116) * go_1(-1.0, 0.0); - result += mat4(0.23399013, 0.055069428, 0.0113888625, 0.0061372546, -0.07836111, -0.034460228, 0.0017155824, -0.088409096, 0.03733338, -0.17709526, -0.09718914, -0.25720972, 0.0175349, 0.15622771, -0.1188024, 0.018442187) * go_1(-1.0, 1.0); - result += mat4(0.06318714, 0.061475955, 0.060729396, -0.2142427, -0.10224866, 0.034940694, 0.19492944, 0.018143132, 0.07064079, -0.22845416, 0.010652238, -0.0011233883, 0.029130183, 0.17482844, -0.009811812, 0.019755777) * go_1(0.0, -1.0); - result += mat4(-0.21866481, 0.21452273, -0.5259575, -0.039219536, 0.15874244, -0.057900973, 0.10559354, 0.23824032, 0.108966984, -0.098509155, 0.007014109, -0.19821534, -0.05215934, 0.10909223, 0.100663096, -0.06883611) * go_1(0.0, 0.0); - result += mat4(-0.12868437, 0.006826078, -0.21385023, 0.069496915, -0.06559356, 0.090547845, -0.07395987, -0.06983689, 0.06552238, -0.12867814, -0.08192026, -0.33435416, -0.051290937, -0.02937074, 0.090245195, -0.026612237) * go_1(0.0, 1.0); - result += mat4(0.23456517, 0.27903032, -0.039212193, -0.012552891, -0.19781788, -0.035103757, -0.009250316, 0.10727226, 0.19742231, -0.079642996, -0.2613758, -0.15201536, 0.102801695, -0.0107969325, 0.16421579, 0.12108303) * go_1(1.0, -1.0); - result += mat4(-0.081254065, -0.088084355, -0.091935016, 0.24067412, -0.020433908, -0.01316852, -0.06662833, -0.2533817, 0.14042647, -0.02623474, 0.05427906, 0.041403648, -0.13581693, -0.08902222, -0.15670143, 0.013441458) * go_1(1.0, 0.0); - result += mat4(-0.015764505, -0.113010205, -0.15281607, -0.077271774, 0.0904112, 0.09933737, 0.067184925, 0.2099568, -0.101301536, 0.06434189, -0.0758522, -0.12554163, 0.06781772, 0.007166253, -0.085833766, 0.06006488) * go_1(1.0, 1.0); - result += mat4(-0.0008048365, 0.0912284, -0.0055085155, 0.023269827, -0.022154478, 0.08539601, 0.035023473, -0.0037330675, 0.11452262, 0.047892746, 0.008300871, -0.01195116, 0.047538597, -0.10830887, 0.05510819, -0.08836116) * go_2(-1.0, -1.0); - result += mat4(-0.038602248, 0.023333155, 0.017770592, -0.1674776, 0.06629619, 0.083431914, 0.026809458, 0.08592056, 0.14014852, -0.14666164, 0.019641537, -0.0573306, -0.020499265, 0.007868977, -0.04190651, 0.020347582) * go_2(-1.0, 0.0); - result += mat4(-0.1610257, 0.21653429, 0.10658098, 0.15106596, 0.029077698, 0.16445225, 0.15524676, 0.09390834, 0.096011646, -0.032807898, -0.09418951, -0.0093525015, 0.06159448, -0.009395444, -0.10014662, -0.030301452) * go_2(-1.0, 1.0); - result += mat4(-0.022683617, -0.23651919, -0.031805664, 0.023116864, -0.07386424, 0.20458803, 0.08983447, -0.08244156, 0.08310062, 0.14591648, 0.17395934, 0.0062589166, 0.22174175, 0.14258352, -0.028493408, -0.115363955) * go_2(0.0, -1.0); - result += mat4(-0.08310355, -0.17647965, -0.19287375, 0.10848365, 0.120546475, -0.1464013, -0.038455628, 0.10530652, 0.49538115, 0.023421936, 0.3173384, 0.058539134, -0.27795956, 0.08117526, 0.033342082, -0.12135774) * go_2(0.0, 0.0); - result += mat4(-0.08346938, -0.034818605, 0.06265251, 0.09470142, -0.014027538, 0.013816392, -0.047068585, -0.007864913, -0.073640525, -0.1490151, -0.09421087, -0.07231172, 0.21453248, -0.053285554, 0.09661593, -0.07566676) * go_2(0.0, 1.0); - result += mat4(-0.08119892, -0.011698777, -0.0014542739, -0.0031197777, -0.093343884, 0.07836053, 0.14061041, 0.032417424, 0.032266736, -0.039402176, 0.0857551, -0.14606103, -0.106497854, -0.021479463, -0.036599685, 0.04007321) * go_2(1.0, -1.0); - result += mat4(0.011121453, -0.020399215, 0.016996361, 0.048273075, -0.07153608, -0.044302233, -0.0035937368, 0.16915803, -0.014105862, 0.1021961, 0.15072922, 0.015028268, -0.009132996, -0.06612329, -0.034465823, -0.142786) * go_2(1.0, 0.0); - result += mat4(-0.020469163, -0.117958315, 0.0012601769, 0.007204419, 0.009460007, -0.021850191, -0.014184652, 0.06922846, -0.1432164, -0.02172806, -0.0671699, -0.039830353, 0.011462847, -0.021253375, 0.084333375, 0.026236529) * go_2(1.0, 1.0); - result += mat4(-0.32116294, 0.022814747, 0.053154226, 0.08573102, 0.24082868, -0.11634813, -0.12103037, -0.072189964, 0.07916793, 0.005124598, -0.038430523, -0.020428248, -0.074155636, 0.0026447256, -0.12052403, -0.0008143328) * go_3(-1.0, -1.0); - result += mat4(0.15720156, 0.12637223, -0.014097743, -0.1463337, -0.11050782, -0.1272711, -0.14383449, -0.18176568, 0.016586874, -0.07671649, 0.061175086, -0.011885735, 0.16967547, -0.19338857, 0.033413097, -0.15828142) * go_3(-1.0, 0.0); - result += mat4(-0.04272862, 0.08448119, 0.03642693, 0.013086318, -0.18102542, -0.13177295, -0.12725672, 0.033150475, -0.022273265, -0.1913372, 0.12102487, -0.06349284, 0.02544458, -0.17942795, 0.13517797, -0.03200014) * go_3(-1.0, 1.0); - result += mat4(0.037924215, 0.18611626, -0.17951478, 0.13935459, 0.27325365, -0.083892785, -0.022289941, 0.14084025, -0.106356315, 0.046254314, -0.17703468, 0.116976924, -0.08896167, -0.0025314027, 0.010913456, -0.070031345) * go_3(0.0, -1.0); - result += mat4(-0.28527796, 0.19547825, -0.30854046, -0.033967514, 0.060653128, -0.019419098, -0.0060284995, -0.0987247, 0.07500941, -0.023585685, -0.03395071, -0.17988594, 0.21953014, 0.4072299, -0.031897858, -0.18284276) * go_3(0.0, 0.0); - result += mat4(0.06912873, -0.05407648, 0.008376532, 0.020522904, -0.026434029, 0.09916825, 0.030747496, 0.022514053, 0.25722584, 0.115966186, 0.08143656, 0.015693888, 0.1200375, 0.11970545, 0.19118182, 0.05830196) * go_3(0.0, 1.0); - result += mat4(-0.03685362, -0.12470895, -0.0010968394, 0.021243107, 0.054362122, 0.00057743577, -0.016307356, -0.124212846, -0.1504553, 0.18175974, -0.14346407, -0.1288348, 0.004379253, -0.09421467, 0.07276572, 0.01464248) * go_3(1.0, -1.0); - result += mat4(-0.0058593387, -0.009850785, 0.08837556, -0.13175677, -0.02959981, 0.22543302, 0.08877934, 0.10847382, 0.105746165, 0.07286193, -0.1591772, -0.07605538, 0.16931008, 0.12505956, -0.02318999, 0.3341336) * go_3(1.0, 0.0); - result += mat4(0.07958676, 0.019705648, 0.17511873, -0.027326066, -0.049889054, -0.08413224, -0.0232099, -0.16867599, 0.010381808, -0.015460935, 0.04096288, -0.013190291, 0.12450602, 0.065210946, 0.015979856, 0.15937561) * go_3(1.0, 1.0); - result += mat4(-0.10023914, -0.05083627, 0.09159179, 0.104829505, 0.08269442, 0.055139758, -0.060481716, -0.040459175, 0.16207811, -0.1342935, 0.0010139308, -0.13080461, 0.04637847, -0.111120075, -0.017309861, 0.021282183) * go_4(-1.0, -1.0); - result += mat4(-0.0018206073, -0.13991879, 0.08375063, -0.003037848, -0.17680502, -0.20550339, 0.16136415, -0.06376335, -0.0617298, 0.15906328, -0.057181396, -0.028893461, 0.04224926, -0.0398277, -0.19131757, -0.16473022) * go_4(-1.0, 0.0); - result += mat4(0.093972325, 0.0698625, 0.07116559, 0.014768529, -0.097781256, 0.15581349, 0.03573931, 0.22741152, -0.091118366, 0.028577322, -0.026862804, 0.0152023, -0.23760842, 0.14840253, -0.14937884, 0.042642627) * go_4(-1.0, 1.0); - result += mat4(-0.2281663, 0.22290257, 0.017739927, 0.12094125, 0.03124976, -0.00534154, -0.24323007, -0.088304035, 0.2465856, 0.16869143, -0.06888532, -0.09435835, 0.049901593, 0.12926158, 0.022874845, -0.02944982) * go_4(0.0, -1.0); - result += mat4(-0.066828735, -0.04649895, 0.28869498, -0.09773703, -0.056571167, 0.48939937, -0.56230384, -0.034113284, -0.13833, 0.039226096, -0.12087815, 0.032742836, 0.040849674, -0.017160047, -0.11052594, 0.246754) * go_4(0.0, 0.0); - result += mat4(0.04952853, -0.090852216, 0.034561165, 0.038246352, -0.19297872, 0.054810636, 0.019495303, 0.2522964, -0.19981322, -0.07192788, -0.12085502, -0.028823836, -0.19763254, -0.20398128, -0.14728573, -0.11571746) * go_4(0.0, 1.0); - result += mat4(-0.22692326, -0.050723083, 0.052394703, 0.061108653, 0.086359546, 0.25432214, -0.1922104, 0.07316734, -0.12277421, -0.0070557455, 0.021929247, 0.09811275, -0.10974717, -0.1871087, 0.1836082, -0.101442546) * go_4(1.0, -1.0); - result += mat4(0.12952654, 0.126504, -0.07590766, -0.022820955, 0.40705776, 0.6374981, -0.5181212, 0.38906044, -0.10114032, -0.24955663, 0.30309865, -0.13581154, 0.048173904, -0.061500076, 0.014717425, -0.13521792) * go_4(1.0, 0.0); - result += mat4(0.06257947, -0.06779901, 0.043823577, 0.13284041, 0.020754592, 0.042710133, -0.1584648, 0.049175818, 0.022709293, -0.1911205, 0.030108612, -0.15437542, 0.05411346, 0.12631242, -0.017832479, 0.0029719612) * go_4(1.0, 1.0); - result += mat4(-0.30879283, -0.13608143, 0.051477402, -0.0146274315, -0.17261262, 0.014548273, 0.013784603, -0.082064405, -0.054273766, 0.050572615, -0.08670705, 0.048421264, 0.0028941107, -0.049762383, -0.08087372, 0.03134621) * go_5(-1.0, -1.0); - result += mat4(-0.12345668, -0.0679132, -0.06099901, -0.09764733, -0.1938452, 0.007824728, 0.21290497, 0.07214579, -0.11728738, -0.01631362, 0.18290576, 0.11172875, 0.0070077768, -0.31685776, 0.20877774, -0.068262406) * go_5(-1.0, 0.0); - result += mat4(0.023581397, 0.21787596, 0.24790402, 0.1827894, -0.12552118, -0.15526615, -0.049397513, -0.09088568, 0.02361005, -0.1624447, 0.10663829, -0.08762141, -0.089876376, -0.23469001, -0.22833428, -0.08547564) * go_5(-1.0, 1.0); - result += mat4(-0.20836076, -0.38739493, -0.08088587, 0.056517366, -0.19016425, 0.18150248, -0.20127869, -0.0034698115, -0.12240914, -0.16373073, -0.23683731, 0.08775501, -0.115361534, 0.058962952, 0.03591275, -0.12650393) * go_5(0.0, -1.0); - result += mat4(-0.12940276, -0.20929182, 0.1972825, -0.09083828, -0.062463745, 0.18738677, -0.12602556, -0.102121696, -0.71687216, 0.005637694, -0.51085055, -0.182672, 0.21876547, 0.032868937, 0.12119801, -0.034960978) * go_5(0.0, 0.0); - result += mat4(-0.2834514, 0.5645042, -0.40262035, -0.050943233, -0.06192488, 0.27314487, 0.2216658, 0.241159, 0.19821955, 0.07347663, 0.12771457, 0.09401408, 0.0923556, 0.037260618, 0.14539954, 0.20723365) * go_5(0.0, 1.0); - result += mat4(0.17254238, 0.17086907, 0.1689637, -0.12215918, 0.019369515, -0.101492874, -0.0068981387, -0.052212972, -0.09072614, 0.06295019, -0.03507004, 0.020812936, 0.049310055, 0.041793864, -0.1676009, -0.020666601) * go_5(1.0, -1.0); - result += mat4(0.12045707, 0.34878096, -0.42983723, 0.00031615017, -0.1935727, 0.04406262, 0.14843978, -0.09603145, 0.27862465, 0.1575749, -0.19306137, 0.2065606, -0.09507491, -0.008450778, -0.18955202, 0.099690795) * go_5(1.0, 0.0); - result += mat4(0.039927684, 0.074257486, 0.034648035, -0.05261268, -0.09017409, 0.20786566, 0.06129257, 0.1432679, 0.13264295, -0.08895135, 0.09662802, -0.06903006, 0.12193372, 0.059526477, 0.059548043, -0.03190614) * go_5(1.0, 1.0); - result += vec4(0.045264397, 0.05760936, 0.027744984, -0.03773891); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07583615, -0.048960842, 0.013508587, 0.2201662, 0.0375764, 0.27756596, -0.33754793, -0.38809955, -0.21281771, 0.15472671, 0.02073204, -0.050901294, 0.090472914, -0.047557913, -0.017766517, -0.20457055) * go_0(-1.0, -1.0); - result += mat4(0.17282517, -0.18378912, 0.13851488, 0.021213405, -0.36854526, 0.37494987, -0.22338714, -0.17190737, -0.13889556, 0.16321859, 0.009137597, -0.16061524, 0.10725205, 0.047671694, 0.00692477, -0.20811509) * go_0(-1.0, 0.0); - result += mat4(-0.15370452, 0.03701021, -0.055506952, -0.07852536, 0.09814061, 0.15283902, -0.048923336, 0.10439438, 0.05341204, -0.04028067, -0.050656542, 0.08114064, 0.1721227, -0.064678125, -0.07158856, 0.04002012) * go_0(-1.0, 1.0); - result += mat4(-0.02824745, 0.29039058, 0.25719696, 0.33553144, 0.07964746, -0.08963374, -0.26119536, -0.1704102, 0.114965275, 0.0677081, 0.027690304, 0.0298201, 0.10237492, -0.18169363, -0.12240578, -0.067747764) * go_0(0.0, -1.0); - result += mat4(-0.05635207, -0.013902026, 0.15410937, -0.07788553, 0.09099828, -0.018942324, 0.03290936, -0.0029388326, 0.018940244, 0.011952412, 0.011450913, -0.07999776, -0.21413402, 0.39397267, -0.09774473, -0.2009581) * go_0(0.0, 0.0); - result += mat4(0.10084101, -0.086656086, 0.13495307, -0.028954845, 0.05104348, -0.046465315, -0.037925158, 0.10368827, -0.14589089, 0.12413491, -0.007988239, -0.02158783, 0.10073373, -0.0029589783, -0.3387392, 0.19062865) * go_0(0.0, 1.0); - result += mat4(0.076070085, 0.12063033, -0.07693161, 0.13905032, -0.07355619, -0.23172334, 0.05373458, -0.06742532, 0.01403963, -0.021842232, 0.101363756, -0.0811199, 0.088289686, -0.10678228, -0.08785652, -0.08524422) * go_0(1.0, -1.0); - result += mat4(-0.063252464, 0.122554146, -0.08701854, -0.013642947, 0.25842702, -0.113629796, 0.18287642, 0.2543394, -0.008996402, 0.14150178, -0.018443773, -0.037387278, 0.01677981, 0.09373098, -0.03942739, 0.020894075) * go_0(1.0, 0.0); - result += mat4(0.06455971, -0.060106214, -0.07037024, -0.051795334, 0.033154495, -0.25538102, 0.20138124, -0.15417135, -0.11027817, 0.027104143, 0.075549774, 0.021436706, 0.04445013, 0.12956707, -0.13284694, 0.03516967) * go_0(1.0, 1.0); - result += mat4(0.009175639, 0.25271195, -0.0853253, -0.036355734, 0.10765164, 0.0524366, -0.038031954, -0.012370962, 0.038269047, -0.0074043465, -0.055629972, -0.028956192, -0.10555365, 0.053293, 0.04761788, 0.19511466) * go_1(-1.0, -1.0); - result += mat4(-0.026226144, 0.45355338, -0.2787842, 0.40786192, 0.0040905946, -0.01837184, -0.009942586, 0.2053553, -0.0030270698, 0.069373004, 0.07934941, -0.03093551, 0.16749686, 0.050042853, -0.11040056, -0.073083684) * go_1(-1.0, 0.0); - result += mat4(0.05996956, -0.016178278, 0.039540496, -0.027844483, -0.06289786, -0.046466228, 0.19139567, -0.073992915, 0.06776269, -0.019077418, 0.14830731, 0.095275655, -0.14347468, 0.1072097, 0.005600533, 0.04901071) * go_1(-1.0, 1.0); - result += mat4(-0.16952017, -0.032340128, 0.19480783, 0.2601324, 0.29126725, -0.0715444, -0.009702548, 0.0042752293, 0.024718119, -0.08628732, -0.064047016, -0.116904415, -0.06644218, 0.09953292, -0.033268385, 0.17125584) * go_1(0.0, -1.0); - result += mat4(0.3325542, -0.03779118, 0.33856392, 0.3304049, 0.104141004, -0.053430308, 0.31669936, 0.0130112395, 0.09034627, -0.02017166, -0.025744867, 0.026532227, 0.0200407, -0.08722534, -0.30203685, -0.14907038) * go_1(0.0, 0.0); - result += mat4(-0.01891194, 0.093512826, 0.026973069, -0.24845296, -0.072510146, 0.025618952, 0.19024812, -0.07557172, -0.027113652, -0.03626637, 0.2683275, -0.10471766, -0.008031393, 0.13384898, 0.00395866, 0.020902868) * go_1(0.0, 1.0); - result += mat4(-0.041550912, 0.08089579, 0.026400283, 0.017546514, 0.10747152, 0.07966492, 0.02695042, 0.014157312, -0.13807489, -0.12708282, -0.10057461, 0.014437817, 0.26250824, -0.16103023, -0.13342577, 0.05060978) * go_1(1.0, -1.0); - result += mat4(0.06584065, -0.035929736, 0.0042849337, -0.10942049, -0.16394515, 0.08045988, 0.13154416, -0.0028894013, 0.0023928252, 0.04469802, -0.10695226, 0.05558777, -0.25354344, 0.14010456, 0.05542217, -0.114946045) * go_1(1.0, 0.0); - result += mat4(0.050993685, 0.13932824, 0.0033797733, -0.035310924, 0.022385782, 0.017365059, -0.17256701, -0.07757648, -0.0912558, 0.01864556, 0.13062927, -0.07577928, -0.07418382, 0.19597183, 0.03150399, 0.023021322) * go_1(1.0, 1.0); - result += mat4(0.052010637, 0.050168213, -0.07215345, 0.05805453, -0.0041914587, 0.022057746, 0.12245675, -0.014609538, 0.05546434, 0.03802747, -0.10866313, 0.00012593597, 0.025002997, 0.03302225, -0.10627746, -0.022926291) * go_2(-1.0, -1.0); - result += mat4(-0.17316228, 0.0423441, 0.038386445, 0.15334567, -0.11682614, 0.04387397, -0.034430787, 0.05456901, -0.10287161, 0.09251676, -0.15516847, 0.01151086, 0.062166303, -0.06404339, -0.1341287, -0.11250874) * go_2(-1.0, 0.0); - result += mat4(0.0041548237, -0.05339408, 0.12976702, -0.091956094, -0.07106556, 0.1537892, -0.14351088, 0.049248494, 0.0017415709, -0.03980619, 0.022205863, 0.07874843, 0.0486586, 0.07449563, -0.07935637, 0.035376832) * go_2(-1.0, 1.0); - result += mat4(-0.032703526, 0.049651176, -0.14031135, -0.03314136, -0.05597869, 0.10001647, 0.134734, -0.050313897, 0.096650064, 0.06294751, -0.064859584, -0.1544743, 0.0041159303, -0.21177946, -0.08641454, 0.20853557) * go_2(0.0, -1.0); - result += mat4(-0.26784652, 0.045316227, 0.24048522, 0.0205891, -0.0044153836, -0.00084845145, -0.13039418, 0.008880892, -0.022925006, 0.25047663, -0.10610026, 0.26862314, 0.1495082, -0.30531225, 0.17336509, -0.095686845) * go_2(0.0, 0.0); - result += mat4(0.16892208, -0.04892237, -0.12343488, 0.076279886, -0.088687725, -0.031417985, 0.036753975, -0.02488052, -0.020715091, 0.037822228, 0.017967682, 0.09978998, 0.10307546, 0.021783398, -0.03838329, 0.16863413) * go_2(0.0, 1.0); - result += mat4(0.0030781403, 0.046299078, 0.021687783, 0.0070031965, 0.06806685, 0.08483792, -0.078655794, 0.046040457, 0.037727088, -0.07263033, -0.036312647, 0.055449635, -0.038422115, 0.0009298235, 0.024799686, 0.05429828) * go_2(1.0, -1.0); - result += mat4(-0.018482856, -0.035400447, 0.06548978, -0.116905235, 0.103153236, -0.020226527, -0.04428763, -0.0505854, 0.13939099, 0.06169983, 0.07293202, 0.1059522, 0.05596004, 0.022870086, 0.06962978, -0.024740675) * go_2(1.0, 0.0); - result += mat4(0.0098381555, -0.110539526, -0.0029312337, 0.051618274, -0.040557995, -0.11799748, -0.09392277, -0.04956917, -0.05159161, 0.030810604, 0.04230067, -0.04746804, 0.080403574, 0.012429489, -0.029210133, 0.05341304) * go_2(1.0, 1.0); - result += mat4(0.06609526, -0.18755382, -0.03701953, -0.1743458, 0.069703676, 0.0006303799, -0.15638213, 0.10318732, 0.08893642, -0.1195937, -0.055782318, -0.0185906, 0.012925918, 0.123628914, 0.04870321, 0.116520494) * go_3(-1.0, -1.0); - result += mat4(0.04936669, -0.14093854, 0.0012639028, 0.10475395, -0.096697986, 0.019948844, 0.05699649, 0.09687703, 0.016553551, -0.17477356, 0.0358826, 0.003379147, 0.0027950767, 0.061992507, -0.038799245, -0.029348955) * go_3(-1.0, 0.0); - result += mat4(-0.0073947236, -0.016064813, 0.17795284, -0.081998095, -0.07971293, -0.021884581, 0.07818178, -0.1183752, 0.041862104, -0.049028065, 0.06426883, 0.047562487, 0.03306496, 0.024669351, -0.102706164, 0.06250834) * go_3(-1.0, 1.0); - result += mat4(0.03841001, -0.121903636, 0.009876164, -0.20964918, 0.16115156, -0.03041022, 0.024465065, 0.06145637, -0.096132785, 0.073770344, 0.030677194, 0.012882628, 0.1854335, 0.051307946, -0.05652639, -0.017714364) * go_3(0.0, -1.0); - result += mat4(0.14671369, -0.21775708, 0.037446484, 0.19568916, -0.08120511, 0.009589117, -0.26862335, 0.10114162, -0.280923, 0.40576807, 0.07634094, -0.022802232, 0.26644167, -0.29799074, -0.07520144, -0.09298707) * go_3(0.0, 0.0); - result += mat4(0.12787306, -0.03597792, -0.0501856, 0.0003554054, -0.016662559, 0.01793402, 0.036731128, 0.057142165, 0.14208297, -0.07816983, -0.06547921, 0.12818106, 0.03593736, -0.15703554, -0.039033424, -0.0044069514) * go_3(0.0, 1.0); - result += mat4(0.058662556, -0.080323815, -0.02522527, -0.1580162, 0.034481227, -0.0857634, 0.040548056, 0.089334026, -0.3016336, 0.15299423, -0.04793492, 0.0012853529, 0.05151393, 0.03197434, 0.05723357, -0.06894418) * go_3(1.0, -1.0); - result += mat4(0.12040549, -0.2529116, 0.10356855, -0.04598697, 0.0062763286, 0.11428357, -0.16604745, -0.037279624, 0.018803852, 0.17792255, 0.059715357, -0.011601418, -0.17485033, 0.1352793, -0.09469166, -0.009272873) * go_3(1.0, 0.0); - result += mat4(0.07145802, -0.048490215, 0.14784634, -0.052574188, -0.023536265, -0.03715718, 0.02188599, -0.009487062, 0.095758304, -0.05260447, -0.04488383, -0.0022170001, -0.010753989, 0.1285623, -0.078049324, 0.07791392) * go_3(1.0, 1.0); - result += mat4(-0.08608365, 0.024032418, 0.03376676, -0.06672097, 0.14239122, -0.20172556, 0.059492715, 0.039168652, -0.05975819, -0.14009707, 0.06505314, 0.005366894, 0.023043798, -0.14035852, 0.06564292, -0.01975755) * go_4(-1.0, -1.0); - result += mat4(0.06098348, 0.020505348, -0.071457036, -0.088892065, 0.25814053, -0.4024066, 0.04613967, -0.009115204, 0.053136446, -0.10263362, 0.08311103, 0.010236834, 0.06737908, 0.13245155, 0.036181718, 0.21113388) * go_4(-1.0, 0.0); - result += mat4(-0.013562919, -0.008662602, -0.10824871, -0.005553834, -0.10970149, 0.013045041, -0.07641659, -0.06609716, 0.08249468, -0.21136107, -0.08410633, -0.020448437, -0.25199074, 0.0641994, 0.07502806, -0.19701128) * go_4(-1.0, 1.0); - result += mat4(0.18910834, -0.15423289, 0.023417983, 0.005038285, -0.059044287, 0.077326454, 0.042352542, 0.06904583, -0.118472, -0.025113037, 0.008691595, 0.04278817, 0.1968958, -0.23562303, 0.0124163935, -0.011455441) * go_4(0.0, -1.0); - result += mat4(0.033834323, -0.08521952, -0.164473, -0.18196565, 0.056635767, -0.22095878, -0.21966869, -0.24707489, 0.055047844, -0.0854704, 0.044351656, 0.31924927, 0.3393569, -0.09816152, -0.024666212, 0.12658896) * go_4(0.0, 0.0); - result += mat4(0.03546097, -0.084772296, -0.017927025, -0.03168567, 0.018861301, -0.19742817, -0.023542268, -0.11313523, 0.013870798, -0.057313353, -0.048428833, -0.011003569, 0.060736526, -0.16871192, 0.12989289, -0.13272311) * go_4(0.0, 1.0); - result += mat4(-0.067924276, 0.042576067, 0.08058409, -0.05704767, 0.047355015, -0.009834332, -0.021743877, -0.09313564, -0.23810904, 0.071954355, 0.026877925, -0.06419035, 0.11408852, -0.094918594, -0.015347595, 0.15758565) * go_4(1.0, -1.0); - result += mat4(0.016378017, 0.04923884, 0.042090666, -0.020616362, -0.3205589, 0.29866445, -0.09028968, 0.17835416, 0.069200985, -0.19676962, -0.038767412, 0.0066911504, 0.23217689, -0.32092544, 0.21888864, -0.031248417) * go_4(1.0, 0.0); - result += mat4(0.1240904, -0.057505004, 0.008518463, -0.0013766377, 0.13912258, 0.25812533, -0.10721238, 0.041414622, -0.014356129, -0.11711117, -0.07339878, -0.042370543, 0.030094689, -0.083110586, -0.15375537, 0.008313004) * go_4(1.0, 1.0); - result += mat4(-0.42602807, -0.14819323, 0.24997748, -0.07033313, 0.053972986, -0.2672035, 0.16919206, 0.5153194, -0.12283088, -0.007163936, 0.050310373, -0.005151009, -0.0050212573, -0.07570248, 0.12484032, 0.028931405) * go_5(-1.0, -1.0); - result += mat4(0.21234803, -0.17263128, 0.108827524, 0.36454353, 0.15589741, -0.09056867, 0.18670312, -0.0886985, 0.09418289, -0.1530667, 0.07014518, 0.05093901, -0.314724, -0.09647151, 0.10014826, -0.05449102) * go_5(-1.0, 0.0); - result += mat4(0.083997354, -0.19228217, 0.17081402, 0.07869603, -0.07707866, -0.1114649, 0.14544345, -0.04913886, 0.114071324, 0.039774146, 0.026449671, -0.0046011102, -0.26660243, 0.06624741, 0.04318286, 0.025324916) * go_5(-1.0, 1.0); - result += mat4(-0.34038183, 0.3126945, 0.25694248, -0.0694824, 0.09484312, -0.08968785, 0.07317779, 0.1351912, -0.3336016, 0.16971526, 0.09233206, 0.16124597, 0.01231051, -0.021199688, 0.1954184, 0.11741164) * go_5(0.0, -1.0); - result += mat4(0.07364691, -0.46501446, -0.3260576, 0.019369395, 0.12856261, 0.01518898, 0.18648395, -0.06153823, 0.1424968, -0.4844148, 0.06327706, -0.23134615, -0.21754341, 0.16389093, 0.1828624, -0.16564755) * go_5(0.0, 0.0); - result += mat4(0.13003388, -0.33331057, 0.5363979, -0.067382425, 0.0024128144, 0.10726199, 0.120562315, 0.027075078, 0.044253387, -0.22810216, -0.14027081, 0.05570364, -0.0012832935, 0.0066472166, -0.09584242, 0.038570657) * go_5(0.0, 1.0); - result += mat4(0.15075065, -0.14929996, 0.12013421, -0.053535018, -0.059225604, 0.04993067, 0.12190514, -0.07199992, -0.12612323, 0.08610025, 0.0055669006, -0.01092246, -0.12504235, 0.071841165, 0.04702684, 0.04890323) * go_5(1.0, -1.0); - result += mat4(-0.59378284, 0.28029972, 0.041228425, 0.088731185, 0.10143785, -0.0147893205, 0.043729015, 0.22425093, -0.27061638, 0.23045406, 0.025149027, -0.09266012, -0.10645805, -0.021057274, 0.20209946, -0.07459568) * go_5(1.0, 0.0); - result += mat4(-0.003925717, 0.19509377, -0.0011443064, -0.07948601, 0.0008185968, -0.072344884, 0.2925546, -0.14168583, -0.04355419, 0.048995577, -0.090038754, -0.020567076, -0.1507524, 0.0033320382, 0.11161536, 0.048364066) * go_5(1.0, 1.0); - result += vec4(-0.05222755, 0.09198729, -0.07302347, 0.0022074024); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10303006, -0.024129005, -0.006376188, 0.08361518, -0.030736713, 0.059527945, -0.05874042, 0.04269124, -0.09319534, 0.09713511, -0.08360228, 0.022383748, 0.27456298, -0.10364148, 0.011523791, 0.0006774627) * go_0(-1.0, -1.0); - result += mat4(-0.05541989, -0.08698082, 0.055311147, 0.013819714, 0.10675169, -0.046272285, 0.0027710905, 0.097424075, 0.40062046, 0.012139614, 0.06539418, -0.26190186, 0.26748738, 0.010693152, -0.26337343, 0.1396046) * go_0(-1.0, 0.0); - result += mat4(-0.0038561742, 0.06331599, 0.07280889, 0.0049921786, 0.046265908, 0.1273493, -0.0657387, -0.039872307, 0.036709707, 0.040611606, 0.10370152, -0.07017421, -0.15158589, -0.0944041, 0.16055441, 0.026905995) * go_0(-1.0, 1.0); - result += mat4(0.13568372, 0.42744243, 0.03610402, 0.13057254, -0.15189639, 0.3270829, 0.07523759, -0.03377655, -0.11991776, 0.043995053, -0.04695395, 0.057843372, 0.123827286, -0.5117275, -0.27580252, -0.06490049) * go_0(0.0, -1.0); - result += mat4(0.20916292, 0.14519285, 0.29285586, -0.14002982, -0.02903087, 0.07725845, 0.42922875, 0.22422947, -0.006809662, 0.25789696, -0.23387176, 0.18227082, 0.1949605, 0.39381132, 0.13233, -0.03979206) * go_0(0.0, 0.0); - result += mat4(0.050690006, -0.016765494, -0.06890609, -0.06165983, -0.1547756, 0.030649774, -0.10065935, -0.123401724, -0.2001527, -0.14910932, -0.030470714, -0.036002573, 0.13485923, 0.09405768, -0.14694588, 0.12113117) * go_0(0.0, 1.0); - result += mat4(-0.09391889, 0.13889499, 0.0544932, -0.06221289, -0.13378021, 0.18230891, -0.04311924, 0.09056919, -0.00071865856, -0.1485109, -0.18140738, -0.22380811, -0.052037843, 0.07200541, -0.08552131, 0.039394405) * go_0(1.0, -1.0); - result += mat4(-0.1129644, -0.08789729, -0.20112263, -0.14140582, 0.13343073, 0.15928635, -0.0004416807, -0.08655255, 0.11923446, 0.14782757, -0.2526453, 0.06534483, 0.28670022, 0.08661807, -0.05939282, -0.1264073) * go_0(1.0, 0.0); - result += mat4(-0.069123454, -0.024052331, 0.08405668, 0.0024100337, -0.0091934, 0.06140827, 0.07263404, -0.09847185, -0.15793528, -0.043271005, -0.051817372, -0.060237445, -0.0066771735, 0.12329388, 0.061106086, 0.036974255) * go_0(1.0, 1.0); - result += mat4(-0.05637151, -0.10100362, 0.03314885, -0.10366338, 0.030021148, 0.03372163, -0.032138795, 0.01293222, -0.11080214, 0.010572153, -0.01362632, 0.010574912, -0.16158684, -0.08245153, 0.118470125, -0.13403644) * go_1(-1.0, -1.0); - result += mat4(0.1868926, -0.01747845, -0.18130527, 0.13928702, -0.05539085, 0.032680083, 0.074883655, 0.018892298, -0.17280246, -0.047390517, 0.27345997, -0.022709364, -0.08344301, -0.014933963, -0.09545577, -0.033305403) * go_1(-1.0, 0.0); - result += mat4(-0.30393317, -0.05171247, 0.00841183, 0.14072971, 0.08149488, 0.018601093, 0.021672362, 0.060667925, -0.0843176, -0.10364707, -0.21641973, -0.042780574, 0.08775126, -0.1777216, 0.13253935, -0.06866668) * go_1(-1.0, 1.0); - result += mat4(-0.09160829, -0.026550675, -0.2643876, 0.23035419, -0.092297986, -0.0631223, -0.094887145, -0.04810445, -0.17819802, -0.36207268, 0.21447507, -0.055772606, 0.15652925, -0.045815215, 0.026055578, -0.08619429) * go_1(0.0, -1.0); - result += mat4(0.31203738, 0.1421051, 0.047671713, 0.043899603, -0.0063436944, -0.05302037, 0.10466757, 0.055510703, 0.26608247, -0.5555844, 0.1569081, 0.06456405, 0.3684636, 0.25736332, 0.074449226, -0.44859105) * go_1(0.0, 0.0); - result += mat4(0.17698939, -0.022741819, 0.060476527, 0.25612378, 0.020842008, 0.06931272, -0.019117761, -0.087975, -0.13561797, -0.1362288, 0.29442817, 0.13402307, -0.039556194, -0.019829288, 0.17118609, 0.1278197) * go_1(0.0, 1.0); - result += mat4(-0.31739852, 0.14773282, -0.24623321, 0.108611636, 0.14553224, -0.011245446, 0.12459254, 0.010767416, -0.03386007, -0.21067396, -0.07546396, 0.04937681, -0.1519659, 0.012008841, -0.115991235, 0.10733518) * go_1(1.0, -1.0); - result += mat4(0.03970365, -0.024820864, -0.20029032, 0.29602152, 0.09690361, 0.08654618, -0.012617663, -0.12546124, 0.20103471, 0.00038131204, 0.1211002, -0.1292234, 0.11913651, -0.11322767, -0.01288022, -0.041910112) * go_1(1.0, 0.0); - result += mat4(-0.009281656, 0.1297087, -0.05293133, -0.1246988, -0.022248892, -0.034976568, 0.08893194, -0.11639006, -0.17021456, -0.069115035, 0.17411986, -0.0622714, -0.13591176, -0.052181553, -0.3032676, 0.19398004) * go_1(1.0, 1.0); - result += mat4(0.0135761835, -0.03810734, 0.046213724, 0.010946248, -0.21182157, -0.18424067, 0.0072398814, -0.06510514, 0.25013617, 0.021596389, 0.20208448, 0.06570989, 0.040997196, 0.11164517, 0.0758064, 0.055730976) * go_2(-1.0, -1.0); - result += mat4(0.27164775, -0.02738497, -0.07753674, 0.14808752, 0.035788253, -0.1008786, -0.21798207, 0.12514383, 0.12547313, -0.046524163, -0.069985755, -0.05973989, -0.12339831, 0.09729143, 0.062413983, 0.054448497) * go_2(-1.0, 0.0); - result += mat4(0.12982179, 0.121222205, -0.012715672, 0.026885295, 0.06398589, -0.050220918, 0.011918637, 0.02942106, -0.049117237, -0.091542035, -0.08816891, 0.014023178, -0.22852097, -0.06725802, -0.058409374, 0.0413034) * go_2(-1.0, 1.0); - result += mat4(-0.028438574, -0.17127529, -0.1611554, 0.020367429, -0.10448821, -0.44258052, 0.055850565, -0.1832564, -0.055781726, 0.1632947, -0.3766877, -0.14964445, -0.022300515, -0.15305346, -0.109381065, -0.115521505) * go_2(0.0, -1.0); - result += mat4(-0.26233345, 0.016659187, -0.16647589, 0.187565, 0.012088588, -0.07336387, 0.5486782, 0.3620359, 0.033402268, 0.009075903, -0.11902273, -0.37233996, -0.013799898, -0.008520962, -0.007579324, -0.018678436) * go_2(0.0, 0.0); - result += mat4(0.043346863, 0.10735683, -0.13174124, -0.121098995, -0.0044274325, -0.01888604, 0.12524483, -0.15453935, 0.10062332, -0.039168928, 0.34596562, 0.10575704, -0.04829014, -0.07308859, 0.17704462, 0.009876651) * go_2(0.0, 1.0); - result += mat4(0.16003962, -0.048122417, 0.04131919, -0.14133601, 0.11822638, -0.151548, 0.07274908, -0.253861, 0.11097183, -0.020288134, 0.06425395, -0.046268225, -0.07545768, -0.034767404, -0.111868136, 0.04605878) * go_2(1.0, -1.0); - result += mat4(-0.15711343, -0.04597314, -0.054248903, 0.10960686, -0.197342, 0.017807756, -0.17929378, 0.0669755, -0.14432156, -0.15553066, 0.1257169, -0.10205468, -0.11606485, 0.10992325, -0.026786113, 0.07244239) * go_2(1.0, 0.0); - result += mat4(0.24323255, 0.062938176, -0.10080858, 0.023388771, 0.08971783, -0.121303156, 0.030533563, 0.034501072, -0.070121005, -0.015707897, -0.008001506, 0.089416444, 0.08043049, 0.0414907, -0.051737808, 0.16745205) * go_2(1.0, 1.0); - result += mat4(0.045207355, 0.17343028, 0.038214743, 0.0124091925, 0.06772331, 0.16741976, -0.069976054, -0.09214925, 0.26161152, 0.21708632, -0.074641965, 0.10069592, -0.007335202, 0.0023308273, 0.102324076, -0.04463461) * go_3(-1.0, -1.0); - result += mat4(-0.029115323, 0.09462037, 0.12704706, -0.0028017738, -0.20877443, 0.14758751, 0.11664195, -0.14800303, -0.42558858, -0.18685985, 0.019180436, -0.14385854, 0.13955534, 0.04206586, -0.1564317, -0.14350334) * go_3(-1.0, 0.0); - result += mat4(0.18595266, -0.038219437, 0.04847514, 0.093401335, 0.01025365, -0.009859873, -0.068309866, -0.025273895, 0.38261253, 0.097571604, 0.15044056, 0.012236991, -0.050778836, 0.01948223, -0.09681198, -0.0725782) * go_3(-1.0, 1.0); - result += mat4(-0.15834534, -0.13884525, -0.41221318, -0.14256534, 0.14789878, -0.41153955, -0.10059337, -0.11296314, 0.067884445, 0.08605005, 0.05261639, -0.082988836, -0.121354714, 0.0412593, -0.22355177, -0.33940288) * go_3(0.0, -1.0); - result += mat4(-0.09894384, 0.011797632, -0.37582433, 0.13686092, -0.114456564, 0.10519318, -0.531876, 0.20149896, -0.40502954, -0.18473613, -0.027613513, -0.1229287, -0.15272947, -0.19752924, -0.009277203, -0.13704798) * go_3(0.0, 0.0); - result += mat4(-0.16676758, 0.06472998, -0.02979381, 0.028654594, 0.013178715, 0.0011208704, -0.14250684, 0.024595363, -0.0024331086, 0.15876009, -0.18146951, -0.21787827, -0.039896637, 0.022137187, 0.096943565, 0.1463433) * go_3(0.0, 1.0); - result += mat4(-0.020311443, -0.11862785, 0.024973717, -0.19604981, -0.07155344, -0.21432653, -0.032866854, -0.009850146, 0.20013084, 0.124072924, 0.09021492, 0.13809857, 0.21196319, -0.039707713, 0.18131028, 0.022565559) * go_3(1.0, -1.0); - result += mat4(0.015458234, 0.19860977, 0.25325814, 0.32606927, -0.10935829, -0.10354393, -0.069758624, 0.016730295, 0.13970691, -0.026566936, -0.055172898, -0.39109713, -0.15070316, 0.07282636, 0.059083372, 0.01492328) * go_3(1.0, 0.0); - result += mat4(0.016830033, -0.024868606, 0.05206643, -0.09652772, 0.0023192533, 0.008338291, -0.092116445, -0.05736829, 0.18136622, 0.046195503, 0.07144144, -0.0051190723, -0.0750335, -0.06531934, -0.011301411, 0.048583686) * go_3(1.0, 1.0); - result += mat4(0.04040649, -0.14777681, -0.0367592, 0.025550898, 0.0519472, 0.25573796, -0.041682925, 0.092338845, 0.025231685, 0.06609314, 0.020205751, 0.010512631, -0.12048031, -0.063682325, -0.017069822, 0.0103084585) * go_4(-1.0, -1.0); - result += mat4(0.09606588, 0.004819853, -0.010837633, 0.24923539, -0.1006792, 0.13619965, 0.15648063, -0.15472235, 0.074816, 0.061060935, 0.12031998, -0.07962363, -0.019762445, -0.08738595, 0.035822686, 0.19986363) * go_4(-1.0, 0.0); - result += mat4(0.25893176, 0.08258401, -0.08531076, -0.023176214, -0.13755056, 0.14691706, 0.17879073, -0.025577985, -0.28195706, -0.10409214, 0.06793316, -0.06837923, -0.122581184, 0.038157687, -0.265953, 0.19280349) * go_4(-1.0, 1.0); - result += mat4(-0.113429695, 0.057516146, 0.3503902, 0.2084302, 0.095209785, 0.4323637, 0.036503337, -0.37528926, 0.17068225, 0.28902432, 0.08930841, 0.11777051, -0.11170577, -0.030996192, -0.050521877, 0.18092346) * go_4(0.0, -1.0); - result += mat4(-0.36534205, 0.0657259, -0.036097083, 0.1666858, 0.16353793, -0.055323638, -0.2819786, -0.049529333, -0.06722856, 0.07748645, -0.34818858, -0.15242954, -0.11060249, -0.27319375, 0.15099055, 0.4111536) * go_4(0.0, 0.0); - result += mat4(0.19415127, 0.17859334, -0.043898348, -0.050272048, 0.16689122, 0.012172907, -0.15645516, 0.14623365, -0.0016135718, -0.0029198902, -0.07367009, 0.18115741, 0.095786035, 0.083239935, 0.12505479, -0.009228445) * go_4(0.0, 1.0); - result += mat4(0.04141629, -0.09798292, -0.02985331, 0.13288854, 0.0029625932, 0.29050517, -0.14383948, 0.33147556, -0.19490755, -0.08341335, -0.049894527, 0.110408075, -0.185923, 0.12881704, -0.04483314, 0.13530989) * go_4(1.0, -1.0); - result += mat4(-0.025660308, -0.04277649, -0.044980843, -0.057717774, 0.48945707, 0.16011417, 0.35871124, -0.39541483, -0.0025785516, -0.055724356, 0.119274266, 0.009319305, -0.055367954, 0.07492857, -0.078998685, -0.10131247) * go_4(1.0, 0.0); - result += mat4(-0.16801779, -0.04895317, -0.21586019, 0.04615353, 0.09740849, 0.030762976, 0.17467776, 0.0120422365, 0.19799858, 0.049733654, -0.024367984, -0.008110729, -0.14235103, 0.03514316, 0.041790742, -0.09109183) * go_4(1.0, 1.0); - result += mat4(-0.26878524, -0.19208838, 0.0124758, -0.13010885, -0.0144377565, -0.015653338, -0.11066211, -0.05679906, -0.114442214, -0.04127417, 0.036079098, -0.04462267, 0.05359463, 0.021078862, -0.017311526, -0.05955371) * go_5(-1.0, -1.0); - result += mat4(-0.42738852, 0.08011972, -0.120668575, -0.11827848, -0.16975085, -0.08911275, -0.076764226, -0.0891852, 0.19799769, -0.068180755, -0.109158665, 0.033777766, 0.23276065, -0.14431503, -0.011219252, -0.04819201) * go_5(-1.0, 0.0); - result += mat4(0.20798479, 0.20048247, -0.056686644, -0.12528493, -0.10292887, 0.008766131, 0.22832678, 0.009819724, 0.014666803, -0.032819923, 0.061416402, -0.052261874, 0.3986435, 0.2218756, 0.04587176, -0.056256443) * go_5(-1.0, 1.0); - result += mat4(0.006675663, -0.2561866, -0.013982697, -0.08625728, 0.12800391, -0.030867307, 0.104720816, 0.14650136, -0.100959726, 0.19566104, 0.057220545, 0.24033053, 0.08719554, 0.018098617, -0.07996598, -0.015701583) * go_5(0.0, -1.0); - result += mat4(-0.0354034, -0.06831094, 0.42055416, 0.11949096, -0.05344659, -0.1860165, -0.07301184, -0.30869538, -0.1953362, -0.13361058, -0.19827844, 0.078833625, -0.18285057, -0.116519555, 0.029914267, 0.21471292) * go_5(0.0, 0.0); - result += mat4(-0.12320904, -0.06025351, -0.12828222, -0.11336264, -0.15036534, -0.13378584, -0.18584451, 0.045040403, -0.0675013, 0.04541515, 0.028214835, 0.06800308, -0.21156439, 0.24866186, 0.21416123, -0.040026035) * go_5(0.0, 1.0); - result += mat4(0.0753877, -0.04430112, 0.15395011, -0.07991276, -0.08305846, 0.055565085, -0.031790998, 0.10893703, -0.057524715, 0.012498553, 0.010330039, 0.12658505, 0.09117975, -0.08158854, 0.26708308, -0.16074498) * go_5(1.0, -1.0); - result += mat4(-0.29645425, -0.039365437, -0.18364744, 0.16236888, 0.04460683, -0.12283852, 0.23568133, -0.08579463, 0.08793187, -0.057041798, 0.1710201, 0.07482411, -0.13072757, 0.0841477, 0.13957432, 0.1679739) * go_5(1.0, 0.0); - result += mat4(-0.29222, -0.12256286, 0.02170915, -0.21209532, 0.024504298, 0.02795105, 0.07216779, -0.032558184, 0.14820465, 0.025545621, -0.054377284, 0.071698785, 0.017161021, 0.07144609, 0.11378573, 0.3110773) * go_5(1.0, 1.0); - result += vec4(-0.08908616, -0.020727161, -0.10065884, -0.042632345); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.064056724, -0.07093631, 0.04779868, -0.02587647, -0.071125306, -0.074813634, -0.068414815, -0.08501005, 0.063606724, 0.034935262, -0.03552888, -0.24985667, 0.11153104, 0.0071351845, 0.19171661, -0.029433867) * go_0(-1.0, -1.0); - result += mat4(-0.09995801, -0.09326525, 0.06775157, -0.038214244, -0.10054348, -0.16220573, 0.102754906, 0.071962886, 0.23763078, 0.013961893, 0.015597981, -0.2632074, 0.22045082, 0.071685486, -0.08206874, 0.13892207) * go_0(-1.0, 0.0); - result += mat4(-0.01934266, -0.006904077, -0.10715261, 0.17485306, 0.013713242, -0.12410888, -0.007832815, -0.03868287, -0.15776807, -0.2635318, 0.003962659, -0.18496422, -0.11876284, -0.039445885, 0.06629498, 0.22338709) * go_0(-1.0, 1.0); - result += mat4(-0.034078594, -0.1805506, -0.025518876, 0.014371885, 0.030084224, -0.014354998, -0.0109806815, -0.20827125, 0.042328708, -0.018653959, 0.059650034, 0.029813247, 0.19455545, -0.113774136, 0.26678622, 0.11695122) * go_0(0.0, -1.0); - result += mat4(-0.023987826, -0.023700913, 0.08644919, -0.1750627, -0.26300937, 0.29743475, 0.1503612, -0.42041445, -0.011562484, -0.3249365, 0.01101664, -0.09328339, -0.09930711, 0.14022289, -0.32576883, 0.026680376) * go_0(0.0, 0.0); - result += mat4(0.06988121, 0.109367564, 0.03402709, -0.17185646, -0.058330853, 0.04632417, -0.010930606, -0.107686765, 0.022882087, -0.08536933, 0.10469813, -0.0737954, 0.16710569, 0.18354355, -0.06688489, -0.019448377) * go_0(0.0, 1.0); - result += mat4(0.019293351, 0.0123047, -0.15684208, 0.054855164, -0.09483187, 0.007899257, -0.07996407, 0.06905782, -0.014882362, -0.17087294, -0.17222148, -0.018799115, 0.042367876, 0.15077937, 0.08865754, -0.10869854) * go_0(1.0, -1.0); - result += mat4(-0.002714694, -0.1375695, -0.1394463, 0.035844512, 0.0085730525, -0.14237584, 0.10053908, 0.07594752, 0.26822913, -0.07813585, 0.10951651, 0.036110748, -0.008980184, -0.018826121, -0.027037399, -0.010021858) * go_0(1.0, 0.0); - result += mat4(-0.028075742, 0.069354035, -0.00936207, -0.07844518, -0.022958742, -0.014102934, 0.031117663, -0.009953486, -0.078456596, -0.0880605, 0.063174024, 0.018579911, -0.0015331954, 0.15179089, 0.003745209, -0.029687254) * go_0(1.0, 1.0); - result += mat4(0.018290054, -0.014245797, -0.17358118, -0.056127924, 0.07084526, 0.03571643, 0.02986269, -0.106873244, -0.048314985, 0.025376959, -0.09932602, 0.011822442, -0.038084786, 0.018717794, -0.18553552, 0.025297863) * go_1(-1.0, -1.0); - result += mat4(0.07225246, -0.029364137, 0.011361293, 0.093667194, -0.10645156, 0.0865526, -0.008865539, -0.011799614, -0.21514468, -0.06500061, 0.08485134, 0.23484601, 0.18280883, 0.0598522, -0.13781232, -0.03465513) * go_1(-1.0, 0.0); - result += mat4(0.060355596, 0.22477956, 0.01595966, 0.094911985, 0.047214787, 0.042830862, 0.029644348, 0.08143906, 0.02341161, -0.053311694, 0.005260219, 0.04425682, -0.04813383, -0.062679216, 0.019290956, -0.05866764) * go_1(-1.0, 1.0); - result += mat4(0.09550533, -0.0281284, 0.18278416, 0.15003324, -0.06580779, 0.041769683, -0.08509133, 0.11734207, 0.049989708, 0.08702604, -0.06486799, 0.063569345, 0.11966632, -0.026014533, 0.03127322, -0.12456593) * go_1(0.0, -1.0); - result += mat4(0.31493753, 0.21239288, 0.23353736, 0.023554513, -0.052986618, -0.0902623, -0.2293566, 0.021443173, -0.5114285, 0.19488071, 0.27000505, -0.1988818, 0.065105505, 0.04904789, -0.0014040003, -0.057719957) * go_1(0.0, 0.0); - result += mat4(-0.1556567, 0.03353479, -0.13394126, -0.017714672, 0.057949618, 0.013137359, 0.058261257, -0.07417554, -0.115135044, 0.17160247, -0.006379533, 0.1885825, -0.22129406, -0.043042038, 0.024051858, 0.17637861) * go_1(0.0, 1.0); - result += mat4(-0.035570182, 0.06328232, 0.016843708, -0.06668748, -0.0056720893, 0.08904317, 0.052788604, -0.0017134451, -0.018143848, 0.040248383, 0.015489914, -0.028669124, 0.008654496, 0.046033252, 0.1050059, 0.0273359) * go_1(1.0, -1.0); - result += mat4(0.022325872, 0.019782262, 0.13855061, -0.095333435, -0.017554015, -0.2036992, -0.17955759, 0.051069602, 0.06197425, -0.1524745, 0.06332084, 0.16367467, 0.012856071, -0.067313105, 0.26188868, 0.014297151) * go_1(1.0, 0.0); - result += mat4(0.24847886, 0.037001565, 0.02012791, -0.08560085, -0.07295144, -0.09001876, 0.09916956, -0.056165274, -0.13455103, 0.025426334, -0.040519975, 0.10362695, 0.1720182, -0.003640278, 0.0108676655, -0.006747253) * go_1(1.0, 1.0); - result += mat4(0.035146076, 0.0751456, 0.074510865, -0.009687164, -0.059647426, 0.11068295, 0.005034347, -0.0094476575, 0.15726817, 0.06547935, -0.003077329, -0.095212325, -0.033507027, 0.044296283, -0.053546224, 0.0667459) * go_2(-1.0, -1.0); - result += mat4(0.026525194, -0.10907353, 0.17279102, -0.057787284, 0.0054999366, -0.104058325, 0.04222895, 0.2964297, -0.123814896, -0.12381756, 0.08017246, -0.41211042, -0.09396297, 0.006370269, -0.051667687, 0.1595841) * go_2(-1.0, 0.0); - result += mat4(-0.057249974, -0.11224924, 0.04510644, 0.031252895, 0.13152118, -0.061255917, -0.1275758, 0.24736635, 0.15261558, -0.02695863, -0.04368786, 0.077176146, -0.07857015, 0.10112319, -0.09226026, 0.096964024) * go_2(-1.0, 1.0); - result += mat4(-0.17078993, 0.007348804, -0.005015552, 0.05306818, 0.055224724, 0.11567237, -0.20675188, -0.003248449, -0.112982295, -0.1578056, -0.46721724, 0.10590234, 0.20476797, 0.10101496, -0.04983351, -0.2430514) * go_2(0.0, -1.0); - result += mat4(0.41511732, -0.14909638, -0.20466527, 0.32993126, 0.034264483, 0.35299808, 0.047212206, 0.22853905, 0.44917694, -0.26854274, 0.28782642, 0.28775322, 0.10682206, -0.036426, -0.05926136, -0.09808791) * go_2(0.0, 0.0); - result += mat4(0.1623692, 0.04208961, -0.12735078, 0.119587936, -0.018460283, 0.01926331, -0.16922039, -0.020692306, -0.23654786, -0.09682156, 0.02356279, 0.292154, -0.12550685, -0.039114326, -0.010045899, 0.009884463) * go_2(0.0, 1.0); - result += mat4(-0.024572646, -0.04915667, -0.0891658, -0.101300426, 0.09721007, -0.027222471, -0.08186617, -0.08800145, 0.16128908, 0.017369738, -0.17755122, 0.030553974, -0.04786194, -0.033306226, -0.11137265, 0.097252734) * go_2(1.0, -1.0); - result += mat4(-0.13219555, 0.14680044, -0.020835813, -0.19928418, -0.17540939, 0.08884416, -0.16007939, -0.2782367, -0.26362786, -0.053185944, 0.21527831, -0.12771867, 0.09537403, 0.06372314, 0.07092338, 0.016300872) * go_2(1.0, 0.0); - result += mat4(0.06020855, -0.027582346, -0.060386427, -0.16418251, 0.13412488, 0.0635046, -0.16844325, -0.031885087, 0.19441758, 0.21037033, -0.21288314, 0.0033019097, 0.07076219, 0.1341822, 0.07913143, 0.025000073) * go_2(1.0, 1.0); - result += mat4(0.1165525, 0.1224346, -0.049421676, -0.09238292, -0.009945548, 0.095751256, -0.09618111, -0.031556837, 0.08579153, -0.11566272, 0.1746714, 0.2033271, 0.21790707, 0.11779413, -0.024555488, -0.06705437) * go_3(-1.0, -1.0); - result += mat4(-0.17143509, 0.076514326, 0.18922825, -0.2367472, -0.0980002, 0.28013328, -0.12218669, -0.043787587, 0.0058879694, -0.024139067, -0.26422662, -0.11571965, 0.14444259, 0.017443683, -0.08909287, -0.2847621) * go_3(-1.0, 0.0); - result += mat4(0.025492875, -0.079289034, 0.08755382, 0.032952707, 0.066548645, 0.047626834, -0.022007272, -0.053937066, -0.005625632, -0.20218278, 0.081909254, 0.10763452, 0.025432698, -0.008357586, 0.052571986, -0.13281691) * go_3(-1.0, 1.0); - result += mat4(0.19026323, -0.03131676, -0.6082668, 0.18015681, -0.08726318, -0.10005449, -0.12227455, 0.09603944, -0.10222641, -0.04765289, -0.25651884, 0.09121576, -0.13599087, 0.004900871, -0.37133986, -0.17672789) * go_3(0.0, -1.0); - result += mat4(0.45967895, -0.39018512, 0.050611064, 0.03249431, 0.30238965, -0.3105947, 0.06669453, 0.32732725, 0.066052265, 0.49977377, -0.050907653, -0.03348076, 0.029122408, 0.0600764, -0.07822951, 0.20902982) * go_3(0.0, 0.0); - result += mat4(-0.08013542, 0.10021573, -0.11628576, 0.14346479, 0.057000324, -0.108649634, 0.019887695, 0.103890195, 0.1409188, 0.20089024, -0.102009736, 0.1325033, 0.044806838, -0.05788581, 0.048131753, -0.06652887) * go_3(0.0, 1.0); - result += mat4(-0.16966644, -0.24639672, 0.019028572, -0.06812002, 0.03262217, 0.09131447, 0.013230795, -0.11368682, -0.06550434, 0.13262247, 0.08878271, -0.08202508, 0.015975898, -0.060910717, 0.06115912, 0.15341121) * go_3(1.0, -1.0); - result += mat4(0.15634352, 0.17069998, 0.14901571, 0.009626357, -0.06694675, 0.17337729, -0.19245732, -0.053627927, 0.1267725, -0.21431756, -0.07327218, -0.05756576, -0.032537382, -0.02760317, 0.13781238, 0.13548511) * go_3(1.0, 0.0); - result += mat4(-0.028399123, -0.1360119, 0.2317893, -0.025993945, 0.03924595, -0.042272273, -0.116523296, -0.09528808, 0.1524186, 0.055862464, 0.03739477, -0.09871636, -0.07834257, -0.041219592, 0.04540839, 0.1291419) * go_3(1.0, 1.0); - result += mat4(-0.19614807, -0.09363595, 0.056008626, 0.005871811, 0.16565295, -0.0842474, 0.11023916, 0.13774084, -0.042277314, -0.021777004, -0.03129473, 0.1514441, -0.039998986, 0.071076415, 0.01945138, -0.12146891) * go_4(-1.0, -1.0); - result += mat4(0.06687245, -0.1199503, 0.21189997, 0.35098252, 0.033946924, 0.3198622, -0.22240919, -0.1667172, -0.036933, 0.229118, -0.11569919, -0.16484495, -0.11610055, 0.015235093, 0.3831026, 0.1465072) * go_4(-1.0, 0.0); - result += mat4(0.03791039, 0.018180382, -0.042332668, 0.013624834, -0.18835816, -0.0509036, -0.021141365, -0.004950831, -0.08342777, 0.1390103, 0.015515743, -0.19880094, 0.11614853, 0.06523873, 0.13055101, 0.1372081) * go_4(-1.0, 1.0); - result += mat4(-0.0018500675, 0.18703233, 0.30595052, -0.016893126, -0.22149622, 0.15263912, -0.66434824, -0.02816733, -0.046903886, -0.111711785, 0.24890791, 0.045937214, -0.17543675, 0.0062527983, 0.19804789, 0.017593222) * go_4(0.0, -1.0); - result += mat4(-0.04760463, 0.05421001, -0.28332436, -0.025446368, 0.21688665, 0.5815682, 0.46906602, -0.05001719, 0.23411441, -0.07280948, -0.13070935, -0.015438214, -0.13005666, 0.1889405, -0.2580563, -0.15314907) * go_4(0.0, 0.0); - result += mat4(0.12959057, -0.0948774, 0.06675651, -0.17425562, 0.10021383, 0.33856025, -0.31008336, -0.025042048, -0.052502744, 0.029178401, -0.0048839073, 0.038400315, -0.018125525, -0.0767934, 0.094993874, -0.18367463) * go_4(0.0, 1.0); - result += mat4(-0.022678657, -0.0065315845, 0.06314526, -0.054645326, 0.13771887, 0.046705935, -0.04636017, 0.14018759, -0.04231133, -0.021541214, 0.017565796, 0.003035773, 0.08540473, 0.08129922, 0.11075298, 0.013874024) * go_4(1.0, -1.0); - result += mat4(0.08197226, -0.0058128256, -0.18930762, -0.036673985, 0.02281235, -0.08467056, -0.2223147, 0.2896992, 0.05395775, 0.11151909, -0.06499754, 0.1251099, -0.03142789, -0.030318923, -0.007785477, -0.04529621) * go_4(1.0, 0.0); - result += mat4(0.080762245, -0.018930724, -0.20362908, 0.056379218, -0.11373313, -0.12011991, 0.16567366, 0.08657685, 0.044468362, -0.08876271, -0.029667072, 0.035950437, -0.14428492, 0.029389331, 0.05124434, 0.0045285597) * go_4(1.0, 1.0); - result += mat4(-0.02969669, -0.008931901, -0.100618705, -0.052917536, 0.020904265, -0.13654597, -0.06518564, 0.10012143, -0.02225236, -0.0429339, -0.048810348, -0.05469844, 0.08333708, 0.030906782, -0.018940724, -0.026514838) * go_5(-1.0, -1.0); - result += mat4(-0.08655406, 0.114238694, -0.16437472, -0.08736896, 0.127443, 0.06291038, -0.2604087, 0.12457613, 0.24516857, -0.13755949, -0.0030577497, 0.10744015, 0.04641038, 0.05981727, 0.31352815, -0.18235594) * go_5(-1.0, 0.0); - result += mat4(0.008475862, 0.017425679, -0.08991029, -0.12069009, -0.08269583, 0.10742468, -0.014932612, -0.02626661, -0.016236676, -0.005973882, -0.027453009, -0.11351438, 0.047109496, -0.145119, 0.07747088, -0.07215372) * go_5(-1.0, 1.0); - result += mat4(-0.034174602, -0.060812023, -0.0006432491, -0.20983042, 0.046102066, 0.008952892, 0.15442203, -0.10698656, 0.17119479, -0.004389315, 0.3144101, -0.110222265, -0.14246719, 0.045711346, -0.13565831, 0.26117173) * go_5(0.0, -1.0); - result += mat4(-0.6470008, 0.04084706, -0.051462423, -0.06546568, -0.014792661, -0.15924191, -0.18878494, -0.23083107, -0.24585818, 0.2259637, -0.10123358, -0.19765808, -0.20856747, -0.228083, 0.37406453, 0.08601305) * go_5(0.0, 0.0); - result += mat4(-0.064584635, -0.21230863, 0.14970647, -0.11542264, 0.036966026, 0.029235318, 0.10329525, 0.044501476, -0.0177942, -0.109035276, 0.043533962, 0.028927831, 0.1558056, 0.10556724, 0.10270152, -0.14039369) * go_5(0.0, 1.0); - result += mat4(-0.066995785, 0.06306309, -0.13572344, 0.11198968, -0.0037865653, 0.015525267, 0.03302228, 0.11591493, -0.0528039, -0.059212606, 0.082170166, 0.0794709, -0.03251824, -0.026491115, 0.0763021, -0.13832395) * go_5(1.0, -1.0); - result += mat4(0.006861719, -0.07674664, 0.19552138, 0.041278, -0.04972735, 0.028953623, -0.05129196, 0.102604896, 0.09264856, 0.08714556, 0.14463316, 0.016883003, 0.26475173, -0.089217745, -0.10327653, 0.23053643) * go_5(1.0, 0.0); - result += mat4(-0.13946633, -0.07468852, 0.00806054, 0.075793736, 0.0094534205, 0.053835806, 0.053700656, -0.09649038, 0.011497834, -0.004986816, -0.019868635, 0.065568306, -0.026551232, -0.35115397, 0.015588715, 0.0713471) * go_5(1.0, 1.0); - result += vec4(0.046015948, 0.05442024, -0.016241902, 0.020935621); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!SAVE conv2d_5_tf2 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06520908, 0.11980297, 0.017079262, -0.0644185, 0.058950376, 0.31555367, -0.026817605, -0.07509471, -0.12542972, 0.17405558, 0.03727982, -0.116224065, -0.062435534, -0.19364153, -0.026986435, -0.03134909) * go_0(-1.0, -1.0); - result += mat4(0.038656387, 0.13447802, -0.16709015, -0.14351036, 0.103892356, 0.016569376, -0.07983408, -0.16095364, -0.11789444, -0.03072205, 0.123185664, -0.10082752, 0.21694018, -0.1617907, -0.011660872, 0.13927431) * go_0(-1.0, 0.0); - result += mat4(0.008439822, 0.122972764, -0.016326487, -0.078567974, 0.059017945, 0.06353737, 0.082813956, -0.0949065, -0.08315884, 0.021347238, -0.08931161, -0.16035163, 0.037683185, 0.06533404, -0.028883474, -0.09627357) * go_0(-1.0, 1.0); - result += mat4(0.08366899, 0.21790943, -0.22688796, -0.12604184, -0.043983214, 0.1403515, -0.36661214, -0.06573482, -0.0013522038, -0.06833309, -0.01641999, 0.069110356, 0.37018904, 0.10410086, 0.061855968, -0.1666379) * go_0(0.0, -1.0); - result += mat4(-0.2989202, -0.117328055, -0.050487056, -0.061127234, 0.1033415, 0.16767837, 0.18385236, 0.02724901, 0.35696694, -0.25828066, -0.074384004, -0.042253643, -0.41383776, -0.050653316, 0.14413886, 0.32937947) * go_0(0.0, 0.0); - result += mat4(-0.15808704, -0.106030256, 0.28908083, 0.008596225, -0.110294454, -0.08877176, 0.08842803, -0.039414957, 0.20766397, -0.17327146, -0.19335231, -0.061150387, -0.000814753, 0.1034041, -0.009765378, -0.07323427) * go_0(0.0, 1.0); - result += mat4(-0.01879742, -0.044466518, -0.09159235, -0.1501768, -0.0056229457, 0.18997125, 0.08428035, -0.13449019, 0.18263818, -0.10028305, -0.09866498, 0.117869616, -0.012634524, -0.029524704, -0.07730064, 0.00546821) * go_0(1.0, -1.0); - result += mat4(0.15762568, 0.105768956, 0.13892855, 0.00044988963, 0.12257598, -0.01147673, 0.006341714, -0.26212972, 0.40007222, 0.08705139, -0.2118067, 0.026638128, 0.03797633, -0.11589773, 0.0049106814, 0.12900658) * go_0(1.0, 0.0); - result += mat4(-0.121532075, -0.10590698, -0.03897105, -0.0071686152, 0.0033759288, -0.1396647, -0.028675696, -0.015227962, 0.18511333, -0.102051884, -0.016090686, 0.059021857, -0.11331271, -0.11874948, 0.018710922, 0.017408015) * go_0(1.0, 1.0); - result += mat4(-0.12550953, 0.16510391, 0.10619754, -0.016266964, -0.019227408, -0.18954511, -0.109888494, 0.016605422, -0.0005352285, 0.044191238, -0.088420294, 0.009006945, -0.022495952, 0.048431057, -0.020784441, 0.010173064) * go_1(-1.0, -1.0); - result += mat4(0.16963533, 0.18744309, 0.21297795, 0.08332983, -0.023056686, -0.07087108, -0.036333352, -0.015268741, -0.07492767, -0.045910314, 0.21631542, -0.16564575, 0.02388003, 0.13383305, -0.039016947, 0.0631532) * go_1(-1.0, 0.0); - result += mat4(0.02557174, 0.08842321, 0.16087292, -0.023776071, 0.031170124, 0.066140614, 0.05342162, -0.013030745, 0.124961995, -0.22359067, -0.036988057, 0.13611913, -0.1263602, -0.16664241, 0.01858248, 0.0013771311) * go_1(-1.0, 1.0); - result += mat4(0.015695665, 0.015101046, 0.17278792, -0.03986969, 0.14098491, -0.024497505, 0.21574442, 0.04450794, -0.10986037, 0.16416681, -0.09933916, 0.14197138, 0.0015567777, -0.0047904793, -0.21008217, 0.14554296) * go_1(0.0, -1.0); - result += mat4(-0.31723288, -0.11801757, 0.54204303, 0.21924974, -0.063086554, 0.031983662, -0.044489764, -0.044983335, -0.19877149, -0.34737584, 0.14496867, 0.24102491, -0.12645286, -0.12267188, 0.108755745, -0.042033415) * go_1(0.0, 0.0); - result += mat4(-0.12381552, 0.21796867, 0.047182925, 0.13479555, -0.07008901, 0.030664185, 0.10611406, -0.109855235, -0.035448074, 0.11677155, -0.21266608, 0.13169904, 0.031983715, 0.023444392, -0.17469533, 0.17422527) * go_1(0.0, 1.0); - result += mat4(0.022972934, -0.00795407, 0.05136999, 0.035493083, -0.17333633, -0.027870687, 0.02908348, 0.053750556, -0.014127204, 0.03970615, 0.04342455, 0.124589466, 0.16470553, 0.06732464, 0.043155663, -0.03983377) * go_1(1.0, -1.0); - result += mat4(-0.032124814, 0.032697737, 0.14967397, 0.0065929573, 0.1047251, 0.039273106, 0.08134817, -0.003973153, 0.040370148, -0.18200004, 0.089256786, -0.09854591, -0.0060806563, -0.1029578, -0.091431744, 0.10011842) * go_1(1.0, 0.0); - result += mat4(-0.037540972, 0.02491563, 0.18000527, -0.05821429, 0.05302547, -0.104025975, -0.10679022, -0.030143606, 0.0072812764, 0.06054551, -0.1211288, 0.04456214, 0.023387795, -0.003822218, 0.0058639925, -0.022066886) * go_1(1.0, 1.0); - result += mat4(0.06184228, -0.056854323, -0.040505715, 0.06577085, 0.09438042, 0.08642222, -0.070353776, 0.053747497, -0.1001193, 0.1620346, 0.0022546488, -0.084673025, -0.063821726, -0.06516542, 0.021665785, -0.01931425) * go_2(-1.0, -1.0); - result += mat4(0.07393532, -0.030919692, -0.05093964, 0.041760188, 0.20542595, -0.14245859, -0.08730749, 0.066625066, -0.030148488, 0.04094324, -0.17595454, -0.16575092, -0.015094979, 0.08206526, 0.1878202, 0.030275505) * go_2(-1.0, 0.0); - result += mat4(0.04596692, 0.24388434, 0.075821444, -0.11463937, 0.04743361, 0.073697835, -0.12414068, -0.13001998, -0.016750317, -0.115090236, 0.029251577, -0.00256914, 0.01848034, 0.020216811, -0.050685663, 0.15878099) * go_2(-1.0, 1.0); - result += mat4(-0.07033339, -0.10033772, 0.13496423, 0.05642528, -0.035572313, -0.17283621, -0.116152726, 0.05493664, 0.09753486, -0.03360219, -0.0357413, -0.18149517, -0.121751696, -0.07030741, 0.013601298, 0.033133104) * go_2(0.0, -1.0); - result += mat4(0.09432236, -0.09759138, -0.119828485, -0.14183357, -0.5797675, -0.07471831, 0.04211549, 0.26251101, 0.5751412, 0.5531362, -0.20901033, -0.44464877, -0.1050692, 0.35440886, -0.06443669, -0.27186042) * go_2(0.0, 0.0); - result += mat4(-0.069436476, 0.10357919, 0.09300722, -0.0992018, -0.15164262, 0.12421031, -0.20876148, -0.18715572, 0.020070476, -0.06525974, 0.0032806133, -0.007204605, -0.047449, 0.23941353, 0.074678384, 0.059585877) * go_2(0.0, 1.0); - result += mat4(0.01769955, -0.010905215, -0.048443984, 0.07100768, 0.037357494, -0.014723261, -0.15591852, 0.10612296, -0.13143727, -0.029275576, 0.021462034, 0.011848447, 0.08220801, 0.15958358, -0.022226475, -0.06178906) * go_2(1.0, -1.0); - result += mat4(-0.043331016, -0.060601693, -0.13266426, 0.2410773, -0.09411715, -0.054481134, -0.010012133, 0.07868362, -0.03723713, -0.32002482, -0.19103771, 0.024575114, 0.12048997, -0.33372483, -0.13358098, -0.11907925) * go_2(1.0, 0.0); - result += mat4(-0.06852358, -0.025769785, 0.16419932, 0.028622756, 0.07738885, 0.19097409, 0.030017732, 0.08942453, -0.103945315, 0.27710587, 0.07438472, 0.04317445, 0.07197963, 0.23000222, -0.025056513, 0.09491253) * go_2(1.0, 1.0); - result += mat4(-0.14467122, -0.010201622, 0.0076316656, -0.07795532, -0.062397595, -0.20432428, -0.008252111, 0.0849895, 0.16180839, -0.12278075, -0.011521546, 0.03288935, -0.14986265, 0.06768003, 0.18093173, 0.036510453) * go_3(-1.0, -1.0); - result += mat4(-0.13757493, -0.022130862, -0.14063741, -0.15224035, -0.16418923, 0.02701367, 0.034051962, -0.02580273, -0.21267697, 0.1778992, -0.11384793, -0.14056513, -0.12628116, -0.119479865, -0.08586524, -0.042770755) * go_3(-1.0, 0.0); - result += mat4(0.034048863, 0.043504484, 0.14368454, 0.0682472, -0.1318885, -0.09097908, -0.022142543, 0.045874257, -0.00010490822, -0.35216293, 0.04821174, 0.1037435, 0.11491783, -0.03074008, -0.15504418, 0.002481289) * go_3(-1.0, 1.0); - result += mat4(0.15464644, 0.13155764, -0.025967255, -0.122360244, 0.0050367275, -0.030188441, 0.26694667, 0.09298438, 0.12436595, 0.1894544, 0.097955175, -0.1976165, 0.17701727, -0.39169946, 0.07254687, 0.18344238) * go_3(0.0, -1.0); - result += mat4(0.7450363, -0.021375138, 0.1908325, -0.43873882, 0.32581338, 0.06003156, -0.16481178, -0.097786136, 0.07664747, 0.083530955, -0.19303781, -0.2208752, 0.2954345, -0.020337705, 0.14045238, -0.19992891) * go_3(0.0, 0.0); - result += mat4(-0.13618276, 0.1301855, 0.07342773, -0.28985927, 0.1162901, -0.20089008, -0.036014035, 0.13122658, -0.121863954, 0.012138018, 0.17843567, 0.03828356, 0.048146408, 0.2968513, 0.069999285, -0.130018) * go_3(0.0, 1.0); - result += mat4(0.21915652, 0.05540849, 0.10738131, 0.07626957, -0.13932791, -0.26324788, -0.024981115, 0.100521, -0.3060648, -0.21207786, 0.1482194, -0.114556216, -0.09286606, 0.01816721, 0.018395979, -0.03223082) * go_3(1.0, -1.0); - result += mat4(0.007953473, 0.41586113, -0.12301476, -0.0714516, -0.18429835, 0.05822646, 0.003684946, 0.18452546, 0.07199102, -0.038058747, -0.11968186, 0.057275392, 0.018090919, 0.15575454, 0.14568369, -0.008162466) * go_3(1.0, 0.0); - result += mat4(0.0046069925, -0.14948042, -0.06077474, -0.18606511, -0.046001855, 0.072694264, 0.0853064, -0.07509439, -0.16638888, 0.008207148, -0.06407435, 0.0832239, 0.11806991, 0.08564391, -0.09793387, -0.009962631) * go_3(1.0, 1.0); - result += mat4(0.17163257, 0.17926122, 0.08094341, 0.01562118, 0.08006863, 0.16360049, 0.061501157, 0.015167974, 0.038785663, -0.024147237, 0.04187129, 0.020464495, 0.0043754554, -0.12979902, -0.116078086, 0.02519678) * go_4(-1.0, -1.0); - result += mat4(0.1390449, -0.31678367, -0.05487266, 0.028750261, -0.2432485, 0.4501461, 0.16770184, -0.21504217, -0.113885716, 0.24819264, 0.10844277, 0.16599967, 0.07485992, -0.15028708, -0.050178476, 0.058082305) * go_4(-1.0, 0.0); - result += mat4(0.025873372, 0.0873282, -0.00070206827, 0.038967356, -0.12720318, -0.036212232, 0.37016478, 0.08430346, -0.18743254, -0.075341664, -0.027113464, 0.0478065, 0.30386332, 0.03854462, -0.08687961, 0.043612193) * go_4(-1.0, 1.0); - result += mat4(-0.1514979, 0.20321548, -0.12928946, -0.08803361, 0.062216565, -0.26570085, 0.26420683, -0.0777953, 0.008385508, 0.112346895, -0.09958432, -0.1247562, 0.114825696, 0.12035607, 0.06491033, -0.036797147) * go_4(0.0, -1.0); - result += mat4(-0.24817157, 0.12276732, -0.21231028, 0.23803027, 0.43308944, 0.39496094, 0.15699469, 0.12618075, -0.037870817, 0.13224195, 0.007822175, -0.13612692, -0.07763684, -0.33213237, -0.0121766785, 0.16685596) * go_4(0.0, 0.0); - result += mat4(0.038585283, 0.04452951, 0.050363973, 0.027282275, -0.08253728, -0.06062145, 0.25581127, 0.04032097, 0.05333845, 0.023140023, -0.009572385, 0.16059966, -0.11572228, 0.044278048, 0.09749187, -0.15032573) * go_4(0.0, 1.0); - result += mat4(-0.03934602, -0.02766789, 0.026940307, 0.012599063, -0.31656685, 0.23716804, 0.44959545, -0.22446568, -0.054772135, -0.12735057, 0.057908695, -0.13251308, -0.08269784, 0.11659682, 0.098460965, 0.026333362) * go_4(1.0, -1.0); - result += mat4(-0.034531243, -0.034659956, 0.05089446, -0.039471556, -0.30950317, 0.10350312, 0.11603813, 0.08672152, -0.07706643, 0.29062438, 0.16422673, 0.074333824, 0.15247595, 0.068041846, -0.05291157, -0.15924777) * go_4(1.0, 0.0); - result += mat4(-0.008430657, 0.1884767, 0.15917906, 0.0063428413, -0.07987644, -0.04325211, -0.011584678, -0.010605869, -0.061187085, -0.09864619, -0.003040298, -0.08468758, 0.07886262, -0.14624445, -0.16320829, -0.01452985) * go_4(1.0, 1.0); - result += mat4(-0.08527653, -0.23416738, 0.06975244, 0.05253521, 0.061039444, -0.00083986257, 0.030380005, -0.023494298, -0.043048684, 0.14088461, 0.2651013, -0.069660574, -0.016013842, -0.051780187, -0.012583422, -0.033116736) * go_5(-1.0, -1.0); - result += mat4(-0.0006501486, -0.30294704, -0.22532716, 0.05011193, 0.065113634, 0.016704703, -0.045390636, 0.04377115, 0.11699081, 0.08135687, 0.020165889, 0.19826801, -0.018285288, -0.08564773, -0.26595154, -0.038110998) * go_5(-1.0, 0.0); - result += mat4(0.039095376, -0.0013404419, 0.012190645, 0.09428582, -0.11419318, 0.06917013, 0.034134097, 0.06616537, 0.03412512, 0.19301844, -0.055202305, 0.04042837, 0.04970565, -0.038846236, 0.13749482, -0.10204081) * go_5(-1.0, 1.0); - result += mat4(0.11721501, -0.12578778, 0.3620872, 0.21225488, -0.016926143, 0.006788099, -0.098553024, 0.07850037, 0.011090844, 0.029607147, -0.10133182, 0.09209217, -0.022987554, -0.20880799, 0.11736945, 0.051316652) * go_5(0.0, -1.0); - result += mat4(0.07336128, 0.12248782, 0.15166189, 0.19264354, 0.04438999, 0.14751169, -0.20144647, -0.13824841, -0.007747583, -0.16739956, 0.06877802, 0.35830194, 0.26836118, 0.16978757, 0.020257233, -0.13465263) * go_5(0.0, 0.0); - result += mat4(0.13214944, -0.06876062, 0.23750784, -0.021269983, 0.024918383, -0.26376384, 0.045127794, 0.13623215, 0.006213376, -0.08169226, -0.073229134, -0.007930807, -0.044477753, -0.0316362, 0.18907334, 0.11666457) * go_5(0.0, 1.0); - result += mat4(-0.043125346, 0.11734928, -0.075487934, 0.045608267, 0.0019688043, 0.050239112, 0.04037272, -0.05889949, 0.06669761, 0.12751873, 0.05863783, 0.0125279, -0.089946836, -0.12018046, -0.18921909, 0.023329671) * go_5(1.0, -1.0); - result += mat4(0.2132003, -0.31702018, -0.13358426, -0.08583953, 0.0059259925, -0.094208315, -0.11922049, -0.099796474, 0.09348341, 0.32579756, 0.1124768, -0.049808096, -0.23310517, 0.26437998, 0.11376541, 0.13568696) * go_5(1.0, 0.0); - result += mat4(0.20872836, -0.18229747, -0.24334186, 0.055828214, -0.05096774, -0.038215697, -0.15330918, 0.010210672, 0.018509107, 0.06662855, 0.029773839, 0.050827213, 0.18775174, -0.24382128, -0.28635338, 0.019148426) * go_5(1.0, 1.0); - result += vec4(0.0016613394, 0.059301294, -0.038810123, 0.10673296); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.063551076, -0.16613434, 0.12519288, 0.2613413, 0.026815815, 0.07070773, -0.021043811, -0.0669755, -0.19316983, -0.19476847, -0.15389214, -0.009875319, -0.0604898, -0.114369385, 0.027538, 0.13774374) * go_0(-1.0, -1.0); - result += mat4(-0.37544233, 0.12914102, 0.1366593, 0.31378758, 0.013987432, -0.06746779, -0.0083432635, 0.18277366, 0.09763598, 0.37610903, -0.04690116, -0.012697733, 0.26701328, -0.28395116, 0.20111044, -0.14729187) * go_0(-1.0, 0.0); - result += mat4(-0.11672882, -0.07698176, 0.128088, 0.04008766, 0.10915507, -0.06849285, 0.10052956, -0.043884028, 0.07211199, -0.10226781, -0.022282045, 0.23409745, -0.12000992, 0.24038276, -0.09234301, 0.0005270855) * go_0(-1.0, 1.0); - result += mat4(-0.09490642, -0.015582241, -0.19492888, -0.32142976, -0.08206514, -0.015905589, -0.058852483, 0.07062659, 0.26403823, 0.3431253, -0.026066927, -0.3181394, 0.08491617, 0.119145595, -0.13182211, 0.11299775) * go_0(0.0, -1.0); - result += mat4(-0.46511695, 0.041131947, -0.033913054, -0.02365193, -0.05553107, -0.07035273, -0.054731946, 0.14872038, 0.6574225, 0.43335545, -0.104082294, 0.07509184, -0.17075175, 0.45012367, -0.23016582, 0.11691375) * go_0(0.0, 0.0); - result += mat4(-0.11270771, 0.16805078, 0.06826135, 0.0033254998, -0.024538545, 0.09819631, 0.1497868, 0.07361046, 0.44126564, -0.08262802, -0.093892835, -0.017575772, 0.201439, -0.16137156, 0.020603918, -0.11584951) * go_0(0.0, 1.0); - result += mat4(-0.05802347, -0.008502925, 0.040704407, -0.018153232, 0.13748057, -0.01657812, 0.051693555, 0.049377594, 0.055863917, 0.033657834, -0.07277932, -0.090057924, -0.020979507, 0.045863025, -0.07975761, -0.051979877) * go_0(1.0, -1.0); - result += mat4(0.04014975, -0.08892218, 0.010484573, 0.10302432, 0.15378693, 0.08408517, 0.2501461, -0.24654758, 0.098134525, 0.02121331, -0.12720452, 0.18055904, -0.095695384, 0.07188886, -0.06675107, 0.024970558) * go_0(1.0, 0.0); - result += mat4(0.0036642263, -0.06313773, -0.037577838, -0.08352694, 0.015351579, -0.26856104, 0.006624689, 0.13869932, -0.17476316, 0.18687174, -0.10394873, 0.13418272, -0.079220034, 0.022169832, -0.031236127, -0.0339237) * go_0(1.0, 1.0); - result += mat4(-0.08630612, -0.0337143, -0.23126788, 0.06343892, 0.033023622, -0.03573692, 0.038431164, 0.13653663, -0.038872983, 0.0037933413, -0.04555905, 0.08925922, -0.13711931, -0.09402758, -0.010433323, 0.063199304) * go_1(-1.0, -1.0); - result += mat4(-0.097609736, -0.078787506, -0.08567856, 0.013807229, 0.07355257, -0.06374568, 0.14115064, -0.044682432, 0.14670128, 0.18986551, -0.15207475, 0.06219552, 0.06450654, 0.124214396, 0.009615842, 0.10263959) * go_1(-1.0, 0.0); - result += mat4(0.055290207, -0.040181328, -0.04919303, 0.020920292, 0.012198339, -0.06364409, -0.07055407, 0.036359143, 0.05182031, 0.23724687, 0.08679922, -0.18439333, 0.033763815, -0.011830226, 0.032295715, -0.07224721) * go_1(-1.0, 1.0); - result += mat4(-0.018177355, 0.05537294, 0.09365121, -0.11162771, 0.032960154, -0.3631022, 0.020872682, 0.026997598, 0.008251562, 0.0121242, 0.08893235, -0.2972536, 0.31769535, 0.21222967, 0.26210263, -0.07804949) * go_1(0.0, -1.0); - result += mat4(-0.09234649, -0.2313192, 0.2007695, -0.16570407, 0.4998518, 0.5021211, -0.23046456, 0.4675977, -0.04418793, 0.15888585, 0.634594, 0.08088828, 0.72703683, -0.10338289, 0.39535734, 0.08798907) * go_1(0.0, 0.0); - result += mat4(-0.07732275, 0.03470451, -0.0053107208, 0.12719902, 0.059666194, -0.09585871, 0.1990709, 0.071376435, 0.3475797, -0.22143288, -0.20879894, -0.07166567, 0.12787548, -0.02100069, 0.19628522, 0.30982283) * go_1(0.0, 1.0); - result += mat4(-0.0066751963, -0.10570687, -0.040173814, -0.111826494, 0.12028746, -0.011818079, 0.100319766, 0.050529975, -0.031993337, -0.0011481771, 0.028475156, 0.035728168, -0.104264215, -0.1322591, -0.0906199, 0.18882063) * go_1(1.0, -1.0); - result += mat4(0.08835854, 0.07846953, -0.00819189, 0.016579857, -0.12914272, 0.07969864, -0.11249944, 0.09885958, 0.05813271, 0.034933876, -0.10564021, 0.039766613, -0.34965426, 0.22660616, -0.37486964, -0.12369291) * go_1(1.0, 0.0); - result += mat4(0.11392956, 0.030622995, -0.04730621, -0.015045563, 0.085018255, -0.007865196, -0.025682064, -0.133319, -0.054862365, 0.062044714, 0.05505255, 0.16293961, 0.016092334, -0.02829063, 0.022702925, -0.12809299) * go_1(1.0, 1.0); - result += mat4(0.02367039, -0.10482778, -0.08608669, -0.062093236, 0.011747762, 0.022175042, 0.0071996297, -0.11276182, 0.028712617, 0.04126311, -0.0038132998, -0.1115989, -0.083056234, -0.009934547, -0.040698178, -0.12683636) * go_2(-1.0, -1.0); - result += mat4(-0.03936176, 0.013684187, -0.010472024, -0.10460055, 0.023214165, -0.010684623, 0.1418631, -0.09054893, -0.12086315, 0.17628363, -0.09017983, 0.058750905, -0.017493812, -0.017450733, 0.026728105, 0.00935395) * go_2(-1.0, 0.0); - result += mat4(-0.027332857, 0.0099790655, -0.08163504, 0.17689545, 0.0068078213, -0.023418542, 0.008682474, 0.02548335, -0.094120994, -0.06916872, -0.010798773, 0.08256571, 0.054553654, -0.06724611, 0.10275257, -0.03569369) * go_2(-1.0, 1.0); - result += mat4(0.08478009, 0.24308196, -0.05788887, -0.30866814, -0.01677214, -0.13036685, 0.114544466, 0.13763347, -0.1287353, -0.106372125, 0.06294474, -0.017131003, -0.036178716, 0.042261317, -0.04916793, 0.22008154) * go_2(0.0, -1.0); - result += mat4(0.113098085, -0.16627797, 0.2243724, 0.39611307, -0.14763622, -0.08843169, -0.041247193, 0.02559566, 0.26896805, -0.05941676, 0.081289455, -0.03463428, -0.32648194, -0.01743883, 0.14692393, -0.1419451) * go_2(0.0, 0.0); - result += mat4(-0.08624417, 0.039859742, -0.1319016, -0.13784388, -0.037280608, 0.04094322, -0.09264864, -0.14406647, 0.08943151, -0.012913666, 0.07797073, -0.011788144, 0.00781559, 0.09687341, -0.075485185, 0.029234888) * go_2(0.0, 1.0); - result += mat4(-0.03461818, -0.0578239, -0.11940533, 0.19817612, -0.06190108, 0.009414874, 0.00055699307, -0.032922342, 0.09611396, 0.017270042, 0.031782333, 0.053475976, -0.06507406, -0.11098162, 0.021986434, -0.15281019) * go_2(1.0, -1.0); - result += mat4(0.03300026, 0.14729956, -0.11484497, -0.09993908, 0.049616348, -0.075125255, 0.0945234, -0.071549594, -0.12840901, 0.17766954, -0.19627832, 0.115563445, 0.021435678, -0.13213344, 0.106521055, -0.045743156) * go_2(1.0, 0.0); - result += mat4(-0.07923801, -0.10016722, -0.15136302, -0.09258758, 0.041234676, 0.03441316, 0.112843126, 0.06979639, -0.10960315, 0.024976972, -0.11591057, 0.0046735895, 0.043591797, -0.1226487, 0.06454461, 0.1111232) * go_2(1.0, 1.0); - result += mat4(-0.029166799, 0.024781128, -0.04604433, -0.17043193, 0.04155139, -0.024739308, -0.00026802288, -0.07082753, 0.0899422, 0.09071587, 0.06616202, 0.06050842, -0.05764436, 0.10596236, 0.02040071, -0.17497559) * go_3(-1.0, -1.0); - result += mat4(-0.09035089, 0.0659, -0.14361084, -0.021721302, 0.016794743, 0.09347604, 0.1380016, -0.25160387, 0.17140736, 0.29569083, 0.121337526, -0.26241425, 0.06574208, -0.08532672, 0.09675172, 0.061919414) * go_3(-1.0, 0.0); - result += mat4(0.0777134, 0.021917641, 0.08300268, 0.025749028, -0.109934434, -0.25188968, -0.0045595216, -0.05616794, 0.028348224, -0.020761484, 0.06998775, -0.21368878, 0.03502115, 0.084822185, -0.053608585, 0.0076402165) * go_3(-1.0, 1.0); - result += mat4(-0.019782236, -0.02927372, 0.08717013, 0.073102064, 0.00052576384, -0.015302635, 0.0621273, -0.00017607084, -0.029963085, -0.13835284, 0.11283739, 0.112313755, -0.01647687, -0.07729588, 0.04615463, 0.24352066) * go_3(0.0, -1.0); - result += mat4(0.021634975, -0.23471251, 0.2007633, -0.07243054, -0.34169427, -0.3459408, -0.49702102, 0.062072285, 0.29644236, 0.0050523616, -0.27118742, -0.06865384, 0.101680025, 0.38019192, 0.13146457, 0.027077101) * go_3(0.0, 0.0); - result += mat4(-0.013608211, -0.077774465, -0.045174483, -0.023265246, 0.1321979, 0.3753417, 0.16121203, 0.019047128, 0.064994924, 0.052409865, 0.10563419, -0.00085220096, 0.11251547, -0.10566402, 0.0028090205, -0.10063887) * go_3(0.0, 1.0); - result += mat4(0.046679504, 0.058594946, -0.06533285, -0.15811534, -0.07416471, 0.06988486, -0.04314425, 0.009497584, -0.009757547, -0.038767483, 0.17787239, 0.077745095, -0.0020354164, -0.058167685, 0.105233066, -0.06689146) * go_3(1.0, -1.0); - result += mat4(0.12626402, 0.039072312, 0.10418004, -0.07277218, -0.02922791, -0.19852047, 0.24927165, -0.18751998, -0.08083378, -0.14444499, -0.058351975, -0.02419644, 0.12217534, -0.048507757, -0.08333956, 0.00162865) * go_3(1.0, 0.0); - result += mat4(-0.029149413, -0.023871707, 0.022741226, 0.10378588, -0.0073062726, 0.036854163, -0.1929113, -0.12620242, -0.03716381, -0.018090466, 0.10779782, -0.019924738, 0.068666615, 0.07481716, 0.10826988, 0.14435701) * go_3(1.0, 1.0); - result += mat4(-0.107568674, 0.12906614, -0.11304603, -0.07186676, 0.12917557, 0.04622498, 0.052623924, 0.027181726, 0.03726036, -0.05536048, -0.056134712, 0.0692713, -0.0931205, -0.013530341, -0.079496436, 0.07122584) * go_4(-1.0, -1.0); - result += mat4(0.21643913, 0.008973324, 0.2473282, -0.22151545, 0.10534174, 0.014311179, 0.12648374, -0.33117563, -0.115273096, -0.07306515, -0.019514188, 0.03442445, 0.02174929, 0.15782723, -0.15441503, -0.024714287) * go_4(-1.0, 0.0); - result += mat4(-0.09689197, 0.019095143, -0.034944948, -0.20796263, 0.06224929, -0.0023227853, 0.07867864, -0.046337705, -0.097502016, -0.0011326018, -0.047669414, 0.07279011, -0.04423047, 0.014121719, -0.026950205, 0.14154369) * go_4(-1.0, 1.0); - result += mat4(0.11617495, 0.46741408, 0.07166562, -0.3171231, -0.06699714, 0.12959749, 0.10611542, -0.08962664, -0.055559576, 0.08383856, -0.07885361, -0.076587684, -0.0048291516, -0.04309975, 0.045905527, 0.036698442) * go_4(0.0, -1.0); - result += mat4(0.0036613978, -0.03133137, -0.09741661, 0.4476952, -0.05623356, -0.5347433, -0.15121926, -0.62327516, -0.34650013, -0.3848976, -0.1020635, 0.12372888, -0.17733924, -0.3116026, -0.26149738, -0.12756832) * go_4(0.0, 0.0); - result += mat4(-0.18341129, 0.27638572, 0.18640736, 0.07301684, 0.0031105333, 0.10374691, -0.118262894, -0.12854561, -0.07307097, -0.0043694526, -0.103828765, 0.0033327888, -0.11450939, -0.036062073, -0.08388783, -0.18569045) * go_4(0.0, 1.0); - result += mat4(-0.06513565, -0.0906451, -0.07992863, 0.1555351, 0.053517826, 0.059623975, -0.04589495, -0.06759139, 0.041854616, -0.022462321, -0.03875089, 0.099266365, -0.04334954, -0.011625454, -0.03120097, -0.028311051) * go_4(1.0, -1.0); - result += mat4(-0.2698161, 0.4855855, 0.29649052, 0.08579708, -0.17665233, 0.11236429, 0.17814405, 0.2936427, 0.0014580752, -0.01460852, 0.12992013, -0.06554696, 0.08688421, 0.016707266, -0.035805132, -0.21390212) * go_4(1.0, 0.0); - result += mat4(0.087546945, -0.08082606, 0.026020724, -0.22158769, 0.079808585, 0.008027633, 0.17506911, 0.24715161, -0.089454755, -0.12723146, -0.014873311, -0.080931105, -0.037702024, 0.069683395, 0.03398877, 0.050660603) * go_4(1.0, 1.0); - result += mat4(0.18083133, 0.072747, 0.026843961, 0.060125593, -0.0028814252, 0.055027924, -0.23592432, -0.3128924, 0.07353004, -0.040734287, 0.063891344, 0.12827826, 0.035035152, -0.07543958, 0.084599234, 0.13021721) * go_5(-1.0, -1.0); - result += mat4(0.063158885, 0.08223479, 0.069820456, 0.021643702, 0.07788084, -0.078388534, 0.13722488, 0.25833505, -0.10396639, 0.0041446807, 0.023278937, 0.22537926, 0.17745169, 0.22081025, -0.09535902, -0.12220001) * go_5(-1.0, 0.0); - result += mat4(-0.05432123, 0.087425314, 0.018276695, -0.124169916, -0.00543602, 0.12574154, -0.06011572, 0.04701218, -0.10479224, 0.032153737, -0.06034692, 0.16422245, -0.13862014, -0.06484846, -0.064395554, 0.20665741) * go_5(-1.0, 1.0); - result += mat4(-0.11319914, 0.18695734, 0.3806953, -0.069110036, -0.24979821, 0.26608357, 0.45578855, -0.37055442, 0.08747221, 0.11386838, -0.09471413, -0.17466134, 0.20953615, 0.20999484, 0.12287149, -0.41018328) * go_5(0.0, -1.0); - result += mat4(0.5564517, -0.2048937, -0.3816632, -0.06279082, -0.38774204, 0.21217284, -0.18890436, 0.14043479, 0.024926476, 0.17045365, 0.048644193, -0.17100555, -0.15697347, -0.35342333, 0.068213716, -0.41174227) * go_5(0.0, 0.0); - result += mat4(0.045869917, -0.0015854153, 0.08683202, 0.09068768, -0.083463475, -0.31756514, 0.1342369, -0.088171095, 0.056276016, -0.23685989, 0.014580776, -0.2547697, 0.0940006, -0.043395106, 0.2034087, -0.022825241) * go_5(0.0, 1.0); - result += mat4(-0.103751905, 0.069453366, -0.109700166, 0.042392224, 0.080248766, 0.094016075, -0.17143534, 0.05994925, -0.018760482, -0.04515021, 0.014608747, 0.06235974, -0.04300025, 0.093254045, -0.048682634, 0.28064325) * go_5(1.0, -1.0); - result += mat4(-0.014232481, -0.08903044, 0.019999523, -0.020324621, -0.24016748, -0.2474486, -0.40321103, -0.15829015, -0.13566887, -0.041250605, -0.04751285, 0.057329945, 0.10219304, 0.05605011, -0.025595296, -0.01614233) * go_5(1.0, 0.0); - result += mat4(0.025537677, 0.12660079, 0.051864993, 0.075601384, -0.021362955, 0.19969231, 0.123610884, 0.07575372, -0.061927922, 0.06550312, -0.05508335, 0.11704227, -0.13762979, 0.1817394, -0.18983638, -0.049257904) * go_5(1.0, 1.0); - result += vec4(-0.12422661, 0.036567487, -0.031888038, -0.011536189); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.031695515, -0.31290495, 0.17557557, -0.10072623, 0.037879907, 0.07773684, 0.015941558, -0.1166975, 0.19065462, -0.18290205, 0.233234, 0.028230593, -0.16707195, -0.10103979, -0.1561307, 0.09858236) * go_0(-1.0, -1.0); - result += mat4(-0.37433225, -0.37697765, 0.15590142, 0.3016965, 0.014981114, -0.07988245, 0.014191019, -0.0011213939, -0.11375956, -0.052503657, -0.013733191, 0.15110013, 0.009139605, 0.1890766, -0.29809618, -0.31938305) * go_0(-1.0, 0.0); - result += mat4(0.043140218, -0.1566104, -0.002536191, -0.16493355, -0.211366, -0.021915436, -0.28728947, -0.14439434, 0.095511094, 0.056860972, -0.08280981, -0.21611294, 0.13561454, 0.0033129812, 0.14235094, 0.3003919) * go_0(-1.0, 1.0); - result += mat4(0.010960085, 0.00600542, -0.2367317, 0.021453537, -0.03856116, -0.034778543, 0.164726, 0.13019681, -0.07757383, 0.33985314, -0.23832978, 0.095343575, 0.022204291, 0.20711215, 0.15877703, 0.2751253) * go_0(0.0, -1.0); - result += mat4(0.19641247, 0.032707132, 0.04379372, -0.21997298, -0.035852924, 0.06185132, 0.1484587, -0.36117685, -0.46992078, -0.41587535, 0.37467077, 0.09044606, -0.06615961, -0.4794214, 0.039470922, -0.3396352) * go_0(0.0, 0.0); - result += mat4(0.16657054, -0.039237928, 0.03857829, 0.049146365, 0.0401756, -0.03342998, 0.20032202, 0.05834436, 0.088986784, -0.16494772, -0.33883873, 0.18655993, -0.15986481, 0.091252044, 0.041209027, 0.15528268) * go_0(0.0, 1.0); - result += mat4(0.048688952, -0.009118804, 0.02290845, -0.17133589, -0.17210291, -0.027337966, -0.13893692, -0.07628787, -0.011510589, -0.04428704, 0.0015265835, -0.1197242, -0.011102018, -0.012120708, 0.06624063, 0.009720241) * go_0(1.0, -1.0); - result += mat4(-0.27416044, -0.120502286, 0.17721373, -0.16811286, -0.014482372, 0.02126685, -0.091303095, -0.16043608, 0.27898774, 0.17883328, -0.2844939, 0.21557346, 0.090356916, 0.10218719, 0.011249428, -0.10255321) * go_0(1.0, 0.0); - result += mat4(-0.12067477, -0.07217142, -0.04221149, 0.019745756, -0.26648012, -0.19199371, 0.029601155, 0.13147698, 0.23245896, 0.11450761, 0.1694102, -0.2318312, 0.0016206031, -0.0178794, 0.11511889, 0.04575681) * go_0(1.0, 1.0); - result += mat4(0.18695508, 0.045567334, 0.17440668, -0.42288253, -0.02287028, 0.05679073, -0.05641905, 0.12937486, 0.08140183, 0.013775387, 0.085393906, -0.124689564, 0.02426034, -0.08368493, -0.03149937, 0.12990832) * go_1(-1.0, -1.0); - result += mat4(-0.10630359, -0.05139905, -0.14252634, 0.12539144, -0.07805999, -0.16011941, -0.12794735, 0.0023225932, -0.29767594, -0.0324489, -0.08008453, -0.10285779, 0.10714244, 0.07701981, 0.0861595, 0.032702547) * go_1(-1.0, 0.0); - result += mat4(-0.011266752, 0.032032244, -0.16621222, 0.025718216, -0.13606001, 0.049900856, -0.12395804, -0.023709433, -0.019833436, 0.05525729, 0.043920193, 0.07480689, -0.06805129, -0.050729908, 0.015684852, -0.07608439) * go_1(-1.0, 1.0); - result += mat4(-0.2432357, -0.08149558, -0.0954787, 0.13050736, 0.0658002, -0.15775995, -0.26192164, 0.07967364, -0.050966308, -0.15967421, -0.09035987, -0.19794956, 0.040908057, 0.1914722, -0.1416288, 0.20905873) * go_1(0.0, -1.0); - result += mat4(-0.31780317, -0.0037020883, 0.057150707, 0.4200519, 0.5618687, -0.047172155, -0.12254693, -0.014847399, 0.37398118, 0.3375763, 0.16677848, -0.06745357, 0.17024885, -0.22058573, -0.30246857, -0.5453735) * go_1(0.0, 0.0); - result += mat4(0.30349696, 0.009769963, 0.28675693, -0.118276045, 0.0057877507, 0.10974996, -0.072690375, 0.030470189, -0.6150014, 0.17645302, 0.2928011, 0.07855985, 0.17192386, 0.12024906, -0.07183019, 0.10537094) * go_1(0.0, 1.0); - result += mat4(-0.088262424, -0.14806455, 0.08148428, 0.10594823, 0.049873143, -0.013990187, 0.07425902, -0.030937834, 0.016817184, 0.08583546, -0.111037634, 0.09831576, 0.052983984, 0.024797885, 0.15503147, -0.052295715) * go_1(1.0, -1.0); - result += mat4(0.09108395, 0.025693672, -0.17206948, -0.02877885, 0.008410392, -0.08324596, -0.05451186, 0.10528576, -0.09902025, 0.20654637, -0.15849939, -0.022103371, 0.06444531, -0.12143805, 0.20113671, 0.14274625) * go_1(1.0, 0.0); - result += mat4(0.005467573, 0.16239832, -0.28808126, -0.21795005, -0.06378709, -0.0672865, -0.052615914, -0.08036216, 0.10728027, -0.09125139, -0.0835933, -0.08187764, 0.05370785, -0.019258037, -0.23184206, 0.2632737) * go_1(1.0, 1.0); - result += mat4(-0.05926071, 0.07018913, -0.021344975, 0.054756, -0.052149706, 0.0037597087, 0.0025042086, -0.04395278, 0.12245118, 0.04250789, 0.082335964, -0.014749995, -0.08621224, -0.023798082, 0.06332712, -0.11675374) * go_2(-1.0, -1.0); - result += mat4(-0.32227162, -0.14337637, -0.23739144, -0.19812642, -0.09722166, 0.009280866, 0.04054724, 0.15704393, 0.07489584, -0.11492752, 0.09819001, 0.15120374, -0.14586051, -0.16354702, 0.23314816, -0.0022859343) * go_2(-1.0, 0.0); - result += mat4(0.16142578, 0.075490505, -0.021885784, 0.06261672, 0.041199893, 0.03871687, 0.023842737, -0.011376236, 0.0767961, -0.045730814, 0.22563088, -0.09038255, -0.18399398, -0.04494118, -0.095894225, 0.030498588) * go_2(-1.0, 1.0); - result += mat4(0.12479204, 0.101474956, 0.36386368, -0.050215095, 0.07824311, -0.10407957, -0.04313255, 0.32900745, -0.192804, -0.19723284, -0.06199248, 0.024969265, 0.22347516, 0.0065552266, 0.16316769, -0.03117915) * go_2(0.0, -1.0); - result += mat4(-0.41610017, -0.26189142, 0.9749233, -0.2030862, -0.018032711, 0.010767388, 0.021800261, -0.0042601344, -0.23240276, 0.3338158, -0.17494468, 0.17937262, 0.07974937, 0.33006057, -0.1869896, -0.37869284) * go_2(0.0, 0.0); - result += mat4(-0.071573325, 0.007554784, -0.102258176, 0.10642047, -0.09556476, -0.017912954, -0.14906247, 0.026633078, -0.08621331, 0.0017594047, -0.19624764, -0.115420476, 0.080624446, 0.05765888, 0.13215272, -0.035700615) * go_2(0.0, 1.0); - result += mat4(-0.0699439, -0.031065576, -0.1347926, 0.04561651, 0.026325148, 0.04517171, 0.027460657, 0.07887253, 0.09662138, -0.032300167, 0.18762928, 0.017682185, -0.21272552, -0.120953396, 0.07463968, 0.16759431) * go_2(1.0, -1.0); - result += mat4(0.031983048, 0.091939285, -0.29471913, -0.17392102, -0.029960087, -0.045441393, 0.11517783, 0.043017738, 0.19772391, 0.18100426, -0.023260262, 0.047123328, -0.34043354, -0.14247705, 0.2169891, -0.022246636) * go_2(1.0, 0.0); - result += mat4(-0.17198563, -0.23428284, 0.004200898, -0.024755895, 0.08732965, -0.0014298835, 0.14354117, -0.04866547, 0.040317383, -0.06782393, -0.098272204, 0.0007879826, -0.09150929, -0.013316801, 0.001446828, 0.017795574) * go_2(1.0, 1.0); - result += mat4(0.047712177, 0.050632354, 0.16054401, 0.043701835, -0.0639787, -0.027759142, -0.1216413, 0.06168221, 0.09751688, -0.0066430112, -0.06975059, -0.10249115, -0.12326384, -0.0046392973, -0.03523632, 0.11676963) * go_3(-1.0, -1.0); - result += mat4(0.0820976, -0.011279764, 0.06630965, 0.09390872, -0.24890396, -9.822562e-05, -0.114006236, 0.16826034, -0.082640596, 0.019303065, 0.14685081, 0.07503404, -0.17926271, -0.07983414, -0.04422908, 0.11301981) * go_3(-1.0, 0.0); - result += mat4(0.03553145, 0.0047965297, 0.08901363, 0.004263101, -0.15945294, -0.114194945, -0.059667293, 0.049415316, -0.09466441, -0.05142749, 0.15767507, -0.11340187, 0.10369652, 0.085223176, -0.06318044, -0.11618208) * go_3(-1.0, 1.0); - result += mat4(-0.17031148, -0.11489388, 0.24808751, 0.030365555, 0.054884836, -0.041506488, 0.038115, -0.064155854, 0.120106734, -0.100374915, -0.2048057, 0.09855774, 0.34214836, 0.01592769, 0.3974824, -0.009733501) * go_3(0.0, -1.0); - result += mat4(-0.37295908, 0.05345721, 0.24855454, 0.18375815, 0.41732857, 0.059994586, 0.14148045, 0.15674202, 0.2914617, 0.28635538, 0.21487242, -0.16498509, 0.26191583, 0.34904888, -0.001136933, -0.047465373) * go_3(0.0, 0.0); - result += mat4(-0.12775165, -0.13414834, 0.035279494, 0.0065703453, 0.21533409, -0.025021361, 0.3468732, -0.08434002, -0.0125741605, 0.0472579, -0.006702024, 0.03674878, -0.1543125, 0.12252382, -0.15259196, -0.10377763) * go_3(0.0, 1.0); - result += mat4(-0.05423773, 0.076934956, -0.03817735, -0.0006111581, 0.017648958, 0.061248343, -0.01635863, 0.015901048, -0.14749493, -0.041009318, 0.030646784, 0.021186778, -0.15973417, 0.032205433, -0.36817935, 0.17054902) * go_3(1.0, -1.0); - result += mat4(0.009821799, 0.023463782, -0.04574981, -0.03205052, -0.11479379, -0.1499543, -0.10254226, 0.14878044, -0.18908015, -0.057776958, 0.22117394, -0.008997101, -0.10566478, 0.029807804, 0.06296724, -0.09863535) * go_3(1.0, 0.0); - result += mat4(0.012764414, 0.08003188, -0.079312325, 0.10915366, -0.14269702, 0.15378389, -0.11343741, -0.07815755, -0.028972412, -0.07575102, 0.104069054, 0.16929798, 0.08356986, -0.008557804, 0.1077067, -0.104730316) * go_3(1.0, 1.0); - result += mat4(0.14354274, 0.027146077, 0.06354999, -0.15823694, 0.11064279, 0.05926018, -0.09556645, -0.13623793, 0.064755484, -0.009504007, -0.04298976, -0.22026266, 0.19957776, -0.009840124, 0.08703728, 0.07162153) * go_4(-1.0, -1.0); - result += mat4(-0.2091648, -0.0857283, -0.30748418, 0.21271354, -0.18100224, -0.0055695246, -0.06332844, 0.17306994, 0.0077473186, 0.037243642, 0.012746569, 0.37735906, 0.23314455, 0.19154081, 0.05688001, -0.23929437) * go_4(-1.0, 0.0); - result += mat4(0.063928135, 0.058101837, -0.07964053, 0.09656037, 0.06193066, 0.052388765, 0.019220868, 0.09141577, 0.07279361, 0.03293571, 0.04207099, 0.100502975, 0.07098165, -0.03792573, 0.029752802, 0.00073165854) * go_4(-1.0, 1.0); - result += mat4(-0.061411377, 0.44493172, -0.2499116, 0.16028905, -0.24095571, -0.09098111, 0.2505775, -0.20317478, -0.046060897, 0.026942013, -0.1443618, -0.09946402, -0.2845509, 0.02574587, -0.10171842, 0.32726362) * go_4(0.0, -1.0); - result += mat4(0.41548893, 0.55772763, 0.21224521, -0.2974941, -0.1518538, -0.096886665, 0.25241733, 0.48857507, -0.23768853, -0.24405806, 0.04989141, 0.18301181, -0.39112365, -0.29253578, 0.059537925, -0.01779737) * go_4(0.0, 0.0); - result += mat4(0.038118728, 0.02858742, 0.6223735, -0.2673519, -0.0107285725, -0.05190993, 0.009639665, -0.01759551, 0.056182634, 0.0017370619, 0.015566999, 0.37397447, -0.18057133, -0.16243981, -0.06748175, 0.057786137) * go_4(0.0, 1.0); - result += mat4(-0.011669291, -0.110343516, 0.28674936, -0.04969038, 0.32003263, 0.064857155, 0.013674471, -0.039692417, 0.040436286, -0.06889466, 0.037186123, -0.05564364, -0.025551032, -0.11479799, -0.12857372, -0.052941844) * go_4(1.0, -1.0); - result += mat4(0.28328392, 0.39322296, 0.36961278, -0.3133618, 0.4632272, 0.11075263, 0.14776857, 0.29629925, -0.106794536, -0.17243811, 0.06743955, -0.06816463, 0.19705069, 0.16638671, -0.47120842, 0.15028188) * go_4(1.0, 0.0); - result += mat4(-0.24694128, -0.13387236, 0.013511744, 0.23480985, 0.15844229, 0.15348844, 0.08692795, -0.026089827, -0.18550861, -0.105919205, 0.13584319, 0.14189197, 0.098633386, 0.03923177, 0.17303325, 0.0035986274) * go_4(1.0, 1.0); - result += mat4(0.07525532, -0.049425937, -0.045742936, -0.34401855, 0.23614922, 0.1365458, 0.5367143, -0.34322664, 0.08580669, -0.021081364, 0.32258797, 0.054717902, 0.011307636, -0.13174307, 0.10635861, 0.15759683) * go_5(-1.0, -1.0); - result += mat4(0.2053648, 0.11536576, 0.06543424, 0.273532, 0.004836322, -0.1135091, -0.13175261, -0.010553481, 0.26788777, 0.0052754665, 0.21684328, -0.038834624, 0.15681003, 0.2551737, -0.08061695, -0.2621798) * go_5(-1.0, 0.0); - result += mat4(-0.0026197245, -0.04237014, 0.15965913, 0.011015912, 0.13959743, 0.0613557, -0.057478882, 0.04333705, 0.02150156, 0.02613718, 0.029849462, 0.04144389, 0.060642015, -0.055863846, 0.07513707, -0.030098947) * go_5(-1.0, 1.0); - result += mat4(-0.25804156, 0.07992937, -0.2194363, -0.07638968, -0.31182626, 0.06877212, 0.26326504, -0.07852368, 0.005371965, 0.13532336, -0.27899355, -0.21762428, -0.11019938, 0.3272873, -0.18966602, 0.13429517) * go_5(0.0, -1.0); - result += mat4(0.13235348, 0.19412184, -0.14834474, 0.045169294, -0.12562896, 0.42018193, -0.111528605, 0.14010738, -0.19459967, 0.013526394, -0.41562226, 0.0028783067, -0.62609005, -0.3033415, 0.4712338, 0.8222809) * go_5(0.0, 0.0); - result += mat4(0.09286205, 0.09806087, -0.07340961, -0.17533489, 0.027318375, -0.10870942, -0.038293675, -0.16472916, -0.1825589, -0.052559845, -0.30276018, -0.14359148, -0.21606436, -0.110118784, 0.016834917, -0.17742018) * go_5(0.0, 1.0); - result += mat4(-0.020260928, 0.087848864, 0.047859445, -0.047904506, 0.048111416, 0.1583765, -0.20442098, -0.100690275, -0.0013411752, -0.07799378, 0.15336171, -0.10123076, 0.17678842, 0.17897983, -0.09674411, -0.011004586) * go_5(1.0, -1.0); - result += mat4(-0.018577576, -0.06431042, 0.09155964, 0.015572989, -0.2997381, -0.27266306, -0.038626052, 0.049783256, -0.0104627805, -0.00770176, 0.11773571, 0.1784294, 0.09392711, 0.034571096, 0.11028318, -0.09109526) * go_5(1.0, 0.0); - result += mat4(0.16055113, 0.090300724, -0.03638531, -0.04085534, 0.08429917, 0.020470984, -0.19414762, -0.3244146, 0.14926222, -0.04275537, 0.3243775, -0.27660474, 0.21811403, 0.00095158996, -0.029139725, -0.14773428) * go_5(1.0, 1.0); - result += vec4(0.07794292, -0.028107546, -0.059174247, 0.018621715); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.24537118, 0.17905983, 0.07789307, 0.016952513, 0.0141091775, -0.011334478, -0.031922385, -0.002754333, -0.09490796, 0.056371696, -0.011801579, -0.13965698, -0.035000853, -0.004262493, 0.07772451, 0.08179461) * go_0(-1.0, -1.0); - result += mat4(0.49467468, 0.0060151266, -0.16210476, 0.44510034, 0.032212194, 0.028270312, -0.002976181, -0.0750645, -0.120187126, -0.3223084, -0.036695287, -0.27901456, 0.026024181, -0.38380507, -0.107403666, 0.106261775) * go_0(-1.0, 0.0); - result += mat4(-0.27276495, 0.07816642, 0.16584107, 0.3256445, -0.003785352, -0.05884198, -0.028097598, 0.09085398, 0.18065354, 0.12995216, -0.012668798, -0.18628691, 0.14217433, 0.060047373, 0.13106324, 0.002042596) * go_0(-1.0, 1.0); - result += mat4(-0.086455494, -0.14862305, -0.525558, 0.16174366, -0.07319531, 0.15502526, -0.010380826, -0.07271152, 0.19700976, 0.046370283, 0.11651438, 0.081478894, 0.19148621, 0.03100971, 0.1023476, 0.07874108) * go_0(0.0, -1.0); - result += mat4(0.6140143, -0.027726987, -0.009253838, -0.2904735, -0.0004950705, -0.17041264, -0.16776061, 0.0082762465, -0.3594797, 0.2532505, -0.6598625, 0.19527398, -0.2580451, -0.047699004, -0.19487855, 0.26656064) * go_0(0.0, 0.0); - result += mat4(-0.05993486, 0.05261301, -0.11092236, -0.07093469, -0.12740676, 0.28895375, -0.024522636, 0.10566457, 0.25105092, -0.19367103, 0.31918752, -0.08284367, 0.010306112, -0.16058734, 0.025336768, -0.1421889) * go_0(0.0, 1.0); - result += mat4(-0.30034626, 0.20041251, 0.038978297, 0.24891369, 0.16952564, -0.08357092, 0.0041356883, -0.11644513, 0.09228839, -0.112779655, 0.026311902, 0.06545678, 0.0698254, -0.112796366, 0.0029497906, 0.03857845) * go_0(1.0, -1.0); - result += mat4(0.16609864, -0.22584435, -0.24474208, -0.27484784, -0.31675163, 0.07935485, 0.18763326, 0.13037825, 0.11668147, -0.2776588, -0.11885876, -0.051946215, 0.0821847, 0.012703901, -0.0351841, -0.10732197) * go_0(1.0, 0.0); - result += mat4(0.14786936, 0.04071705, 0.030221082, -0.120953605, -0.013662891, -0.14799207, -0.028566806, -0.13245614, 0.09371325, 0.0018758543, -0.075789824, 0.021227634, -0.0687209, 0.04126068, 0.01861056, 0.00038673988) * go_0(1.0, 1.0); - result += mat4(-0.2150947, 0.019924847, -0.057041053, -0.055024747, 0.04864997, -0.010266812, 0.12674728, 0.0916339, 0.02709077, -0.042510916, -0.15185884, -0.1128658, 0.054390796, -0.12276366, -0.07853503, 0.16050841) * go_1(-1.0, -1.0); - result += mat4(0.14254624, 0.09403803, -0.077061795, -0.040265787, -0.1851944, 0.03568108, -0.064231634, 0.057467405, 0.10839864, 0.67165095, 0.31980324, -0.22381754, -0.094957665, 0.081498906, 0.061563525, -0.061372254) * go_1(-1.0, 0.0); - result += mat4(-0.026212232, -0.016600188, -0.032421675, -0.018441828, -0.0039220974, -0.092276715, -0.05251956, -0.0014283194, -0.07582186, -0.34406552, 0.012223887, 0.16421928, 0.067920506, -0.04867461, -0.025583208, -0.02245058) * go_1(-1.0, 1.0); - result += mat4(0.06561416, 0.08525047, -0.06454739, 0.03325223, -0.2756252, -0.07606139, -0.16622546, -0.19015047, -0.0942788, 0.055729307, 0.08911129, 0.036073096, 0.2819285, 0.27803645, 0.41541302, -0.46012112) * go_1(0.0, -1.0); - result += mat4(0.116886355, 0.25485554, -0.08467562, 0.015698416, 0.120505005, 0.14997847, 0.35307086, 0.06391821, 0.2480685, -0.91017604, 0.30765083, 0.41334546, -0.2484761, 0.0036243596, -0.17822865, -0.0688765) * go_1(0.0, 0.0); - result += mat4(-0.018610235, 0.10026272, 0.09050735, 0.09349237, -0.32725444, -0.04461541, -0.08524241, -0.07169624, -0.17375232, -0.04668291, 0.1105147, -0.21981657, 0.14551818, -0.09236485, 0.22311887, 0.22838955) * go_1(0.0, 1.0); - result += mat4(-0.046239845, 0.092623316, 0.06968011, -0.07118946, -0.112399414, 0.12900421, 0.1622531, -0.06568552, -0.0046933675, -0.015529387, -0.035191614, 0.01626195, -0.081475765, -0.05045334, -0.087063916, -0.2726226) * go_1(1.0, -1.0); - result += mat4(0.20086902, -0.105082855, 0.064632416, 0.032850675, -0.14514364, -0.08420714, -0.49481058, 0.20139864, 0.17293651, -0.013185847, 0.061619177, 0.3313921, -0.3385868, 0.23518777, -0.33251905, 0.17975967) * go_1(1.0, 0.0); - result += mat4(0.06966267, -0.06778524, -0.013489221, 0.08452447, -0.06677413, 0.024880748, 0.0966029, -0.14441288, 0.117813595, -0.021073775, -0.10008402, 0.16905701, 0.1681992, 0.023752017, 0.10749209, 0.12432793) * go_1(1.0, 1.0); - result += mat4(-0.1513078, -0.093761355, -0.0030828249, -0.110072024, -0.055719357, -0.009922474, -0.043953415, 0.050671145, -0.060472284, 0.028386949, -0.013459928, -0.081548885, -0.0835807, 0.02647864, -0.20652756, -0.0060736574) * go_2(-1.0, -1.0); - result += mat4(0.028220167, -0.028944401, -0.19519375, 0.13515931, -0.00042262973, 0.08360426, 0.010636624, -0.030487528, 0.27422678, -0.045074224, 0.07301797, 0.006780949, -0.08468292, -0.04887693, -0.09148827, 0.018867895) * go_2(-1.0, 0.0); - result += mat4(0.1262579, 0.018898701, 0.13322218, 0.035301305, -0.07070634, -0.0078546405, 0.027999826, 0.048316766, -0.15131034, 0.0023264016, 0.013600765, -0.034428634, -0.07507105, -0.08255354, -0.08881507, -0.071658276) * go_2(-1.0, 1.0); - result += mat4(-0.02041055, 0.22154346, 0.26627985, 0.0605345, -0.058928274, -0.06632422, 0.009541804, 0.030693937, -0.11625062, 0.050398614, -0.08913635, -0.048804708, 0.05243602, 0.07607664, -0.11982216, -0.030418042) * go_2(0.0, -1.0); - result += mat4(-0.17171955, -0.1251785, -0.03278011, -0.027012454, -0.14810622, 0.011841085, -0.17640975, -0.15179725, 0.28515115, -0.14059372, 0.7398977, 0.016162258, 0.39136347, 0.39292285, 0.1379987, 0.3367675) * go_2(0.0, 0.0); - result += mat4(-0.010929663, -0.06879933, -0.08348263, 0.03733299, 0.062476087, 0.01568991, -0.05271144, 0.04062246, 0.032427862, -0.113407016, -0.12636085, -0.016191803, 0.17277598, 0.08344308, 0.038378276, 0.073893026) * go_2(0.0, 1.0); - result += mat4(0.17167374, -0.121874295, -0.088408865, -0.235186, -0.13921842, 0.07555293, -0.041501705, 0.050021265, -0.087886505, -0.08035099, 0.09180792, 0.05183994, -0.26203418, 0.04711709, -0.10731481, -0.14843997) * go_2(1.0, -1.0); - result += mat4(-0.036347087, 0.01029584, -0.056132622, 0.0878486, -0.064945646, 0.07907602, 0.12751542, 0.02885936, 0.23358488, -0.029665042, -0.29615182, -0.10431463, 0.023203064, 0.069443814, -0.1002703, -0.096389264) * go_2(1.0, 0.0); - result += mat4(0.035990857, 0.10344318, 0.022896135, -0.07152821, 0.05887347, -0.015482111, -0.014297709, 0.055369038, -0.02750558, 0.08424956, 0.04510472, 0.017769516, 0.04108422, -0.07342653, -0.08320298, 0.066610456) * go_2(1.0, 1.0); - result += mat4(-0.066317484, 0.04255107, -0.07966337, -0.124135956, -0.018745063, -0.010161496, -0.011399174, 0.039982356, 0.15349951, 0.062997095, 0.045578636, 0.107150234, -0.032815512, -0.13440657, -0.040952615, 0.18263227) * go_3(-1.0, -1.0); - result += mat4(0.10633369, -0.018656015, -0.016764622, -0.04388912, 0.08758304, 0.19932802, 0.046600826, 0.016901758, 0.21165867, -0.025475888, 0.07850137, 0.06617148, -0.16846764, 0.40805286, -0.06401491, -0.080602095) * go_3(-1.0, 0.0); - result += mat4(-0.123656854, -0.014010881, 0.028575048, -0.069250524, -0.15018106, 0.103246264, -0.11777147, -0.05850124, -0.1353436, -0.0013566307, -0.015963338, -0.023948817, 0.095956124, -0.039555125, 0.076399274, 0.07427479) * go_3(-1.0, 1.0); - result += mat4(-0.015483045, -0.12661438, 0.04873668, -0.08844129, -0.011324154, -0.109799534, -0.023892801, 0.05610018, -0.05156818, -0.046244036, -0.119778745, -0.072065085, -0.106656425, 0.088378794, 0.011626502, -0.11913755) * go_3(0.0, -1.0); - result += mat4(-0.04775599, 0.16536692, 0.07654365, -0.180473, -0.2773871, 0.16781096, -0.15096998, -0.15038413, 0.09663952, -0.12574138, -0.079353325, 0.15394118, 0.19871943, 0.1274317, -0.015473073, -0.13977093) * go_3(0.0, 0.0); - result += mat4(0.046030425, -0.0035080586, 0.00019108523, -0.061198276, 0.10959022, -0.08084982, 0.17658228, -0.077856205, -0.06706116, -0.021110784, -0.014351807, -0.13647127, -0.15924501, -0.045259945, -0.08266116, 0.18638277) * go_3(0.0, 1.0); - result += mat4(-0.016468504, -0.0060328534, -0.027133752, -0.011417157, -0.0060868333, 0.14410168, -0.02163876, 0.02426387, -0.045196433, -0.050631806, -0.03250163, -0.05960187, -0.032833368, 0.07025108, -0.008574312, 0.04666302) * go_3(1.0, -1.0); - result += mat4(0.16550453, -0.12357287, 0.10894651, 0.061207913, -0.26402593, 0.05317881, 0.17066815, 0.035360787, -0.2500221, 0.0465414, -0.07445082, 0.08822553, 0.09093388, 0.026007025, 0.02103897, -0.008406647) * go_3(1.0, 0.0); - result += mat4(0.008951011, -0.011805461, -0.041415952, -0.004712088, 0.107074626, -0.040568706, -0.09944574, -0.06400702, -0.033343032, 0.013737211, -0.0889104, -0.013806611, -0.0331564, 0.0051299958, 0.015190706, 0.02362979) * go_3(1.0, 1.0); - result += mat4(-0.122751765, 0.1503006, -0.08277906, 0.18938261, 0.004363168, 0.07933008, 0.07121668, -0.0833466, -0.014839421, -0.066141434, 0.015289756, -0.040877122, -0.028999893, 0.1169574, 0.043211922, -0.05808607) * go_4(-1.0, -1.0); - result += mat4(0.18331528, 0.39588076, 0.20556965, -0.10883933, -0.0004949832, -0.15585636, -0.040524032, -0.057982635, -0.028523464, -0.06929509, -0.058184557, 0.025949743, 0.027700417, -0.22790357, 0.06694592, -0.020108582) * go_4(-1.0, 0.0); - result += mat4(-0.11836253, -0.04298726, 0.032929875, 0.2242861, -0.11389548, 0.068775766, 0.019789936, -0.03006107, 0.08794808, 0.12770821, 0.0149423, -0.091368824, 0.015293162, 0.019910589, 0.035969447, 0.04707816) * go_4(-1.0, 1.0); - result += mat4(0.26466385, 0.136147, 0.21548775, -0.3231222, 0.004888472, -0.3866182, -0.20606667, 0.15087834, 0.02862634, 0.0817037, 6.5014992e-06, 0.2008316, 0.09526983, 0.042665128, -0.040663883, 0.003764197) * go_4(0.0, -1.0); - result += mat4(-0.2112101, 0.088516004, 0.558493, 0.06698759, -0.10676672, 0.15699397, -0.043309934, -0.52478033, -0.17806827, 0.017635964, -0.082869515, -0.5656354, -0.18426882, -0.12042118, -0.01596299, -0.06495108) * go_4(0.0, 0.0); - result += mat4(-0.21135955, 0.05781414, -0.09844541, 0.022916462, 0.14397569, 0.022936279, 0.097970665, 0.042522192, -0.00126595, 0.0038257148, 0.07008256, -0.1824468, 0.048791062, -0.07465642, -0.046671294, 0.03230469) * go_4(0.0, 1.0); - result += mat4(0.19789836, -0.116786405, -0.1616968, -0.22459605, -0.024078539, 0.17570955, 0.16125445, 0.3992117, 0.052064337, 0.036609706, 0.05254302, -0.050398353, 0.036562983, 0.049556475, 0.08297576, 0.2054982) * go_4(1.0, -1.0); - result += mat4(-0.5742053, 0.098297775, 0.0633016, 0.14853445, 0.16893868, 0.11639841, 0.07855964, 0.15836205, -0.16521858, -0.09322673, -0.005118043, -0.05021679, 0.22580391, 0.07365953, 0.1695237, 0.031488914) * go_4(1.0, 0.0); - result += mat4(0.16460675, -0.03634353, 0.073270105, -0.19762266, 0.0013135028, -0.096437894, 0.06374399, -0.024057448, -0.16969606, 0.036301896, -0.06406477, -0.16757035, -0.038686167, -0.024916979, 0.03403845, -0.05160279) * go_4(1.0, 1.0); - result += mat4(0.050821684, 0.105403356, -0.022229152, 0.023213169, -0.46897453, -0.16244169, -0.082473665, -0.27779078, -0.033359285, 0.12679179, 0.12876998, -0.24077201, 0.10091285, 0.02276067, 0.25290954, 0.010847028) * go_5(-1.0, -1.0); - result += mat4(0.112502374, -0.3518416, -0.079604715, -0.039383356, 0.312556, 0.25550213, 0.13873889, -0.37628496, -0.14580576, -0.1397425, -0.02574422, 0.12305562, 0.1102169, -0.052005965, -0.1393713, -0.037981503) * go_5(-1.0, 0.0); - result += mat4(-0.084098294, 0.14593758, 0.011593753, -0.07939934, 0.10820567, -0.036130577, 0.114290334, 0.083149664, 0.036933735, 0.08104934, -0.05769655, 0.027683796, 0.05024431, 0.07313829, -0.010789726, 0.12981457) * go_5(-1.0, 1.0); - result += mat4(-0.11338103, -0.150482, 0.20733237, 0.29369837, -0.102634065, -0.15092887, -0.014666432, -0.091397986, 0.0947413, -0.12863293, -0.027620759, 0.005695903, 0.31916696, 0.035850845, -0.031173147, -0.022860976) * go_5(0.0, -1.0); - result += mat4(0.23157911, -0.2946123, -0.16097677, -0.45535967, 0.36959732, -0.026627757, 0.6321515, 0.105474636, -0.053087663, 0.096396655, 0.12052069, -0.06778611, -1.0060586, 0.3678515, -0.17115732, -0.581296) * go_5(0.0, 0.0); - result += mat4(-0.08702807, 0.0025244744, -0.057799466, 0.045048367, -0.068116546, -0.08659905, -0.13093567, 0.16046713, -0.29240185, 0.2164886, -0.20268321, 0.018693617, -0.15281823, -0.17188364, -0.25272366, 0.026025953) * go_5(0.0, 1.0); - result += mat4(0.15970327, -0.011031381, -0.20033363, -0.04695719, 0.048352227, -0.0016179485, -0.057843156, 0.08184532, 0.029011851, 0.12288869, -0.0007196704, -0.12196297, 0.25427872, -0.09587006, -0.07603035, 0.0067141145) * go_5(1.0, -1.0); - result += mat4(-0.18811099, -0.0076463297, 0.17162384, 0.001552174, 0.5296002, 0.012637236, -0.4305403, -0.44700608, 0.024435172, -0.023834689, -0.17837442, 0.030023761, 0.025391584, -0.10389408, 0.028054329, -0.069815405) * go_5(1.0, 0.0); - result += mat4(0.10198799, -0.017247394, -0.102331705, 0.13685812, -0.27715954, 0.10640225, 0.033743538, 0.045423724, -0.13994834, 0.055460025, -0.009399727, 0.015256073, 0.05103997, 0.120834984, 0.0033520947, 0.053223636) * go_5(1.0, 1.0); - result += vec4(-0.024488186, -0.041086167, 0.026466459, -0.025512012); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.01801902, 0.016983684, 0.14704974, 0.13775583, -0.06568407, 0.031903602, -0.057818945, 0.03639395, -0.16158727, -0.11652214, -0.0512031, -0.017740106, 0.0073386175, -0.12396601, -0.08410588, -0.13822778) * g_0; - result += mat4(-0.14072196, 0.013641312, -0.110022426, 0.022624938, -0.053968057, -0.07968724, 0.036026128, 0.034548678, -0.006345876, -0.04177406, -0.10516601, -0.14248538, -0.10635475, 0.032888547, -0.07574279, 0.037366178) * g_1; - result += mat4(0.20902354, -0.03131852, 0.053658944, -0.13953559, -0.0022027926, 0.022661211, 0.02766268, 0.051950134, 0.022593375, -0.16854303, -0.00068382383, -0.15171093, -0.0011307014, 0.03237067, 0.0022356252, 0.05513321) * g_2; - result += mat4(0.057087313, 0.030007327, -0.04517254, -0.10142689, 0.049131192, -0.009568129, 0.07815266, 0.07463051, 0.061763447, 0.15247895, 0.06213266, 0.08260832, 0.08928647, 0.08173359, 0.078985415, 0.20306781) * g_3; - result += mat4(0.024888368, 0.050323978, 0.019135669, 0.042805452, 0.021970041, 0.06761805, -0.021047724, -0.029622229, -0.024018591, -0.013619991, 0.050196014, 0.094873905, 6.3763815e-05, 0.022800315, -0.038917273, -0.023665745) * g_4; - result += mat4(-0.10751045, -0.08052679, 0.0021425171, 0.018060567, 0.0002820803, -0.042460952, -0.0037310636, -0.048854582, 0.07688915, 0.1803434, -0.021755088, 0.076342724, 0.006899015, 0.010482747, -0.04608032, -0.07149793) * g_5; - result += mat4(0.017074876, 0.080092184, -0.096824504, -0.030697478, 0.19260724, 0.031606834, -0.001376051, -0.19222017, -0.029233975, 0.07513273, -0.061539974, 0.004413319, -0.011706104, 0.037078228, 0.0053027975, 0.079575956) * g_6; - result += mat4(-0.08378676, 0.1326312, -0.2575891, -0.055032767, -0.0205247, -0.11107971, 0.048341025, -0.048915315, 0.059188437, -0.111718066, -0.039619286, -0.165657, 0.018990505, 0.0017499351, -0.038804792, -0.086953335) * g_7; - result += mat4(0.08722738, -0.005039459, 0.07542034, -0.061049137, 0.025591044, 0.16946335, -0.114563115, -0.034830607, 0.17842476, 0.11199776, 0.008686021, -0.04142143, 0.09293036, -0.08505899, 0.087229416, -0.102381825) * g_8; - result += mat4(-0.05071452, -0.11384357, 0.11169348, 0.05153077, -0.24056591, -0.056497227, -0.022856226, 0.19383447, 0.02966522, -0.08128601, 0.07467419, -0.019276833, 0.0020969608, 0.029036064, -0.018299947, -0.043434255) * g_9; - result += mat4(0.043311678, -0.102582484, 0.24798667, 0.06873956, 0.0067927428, 0.098214865, -0.04124763, 0.04490437, -0.06492586, 0.07359665, 0.033324532, 0.120802104, -0.02277019, 0.0021284765, 0.028036185, 0.0687184) * g_10; - result += mat4(-0.090083234, -0.0073258677, -0.089089446, 0.04679012, -0.025320487, -0.14760749, 0.13109742, 0.039976012, -0.19494978, -0.10603485, -0.02347976, 0.050328556, -0.098470725, 0.05546942, -0.0589479, 0.09333735) * g_11; - result += mat4(0.011967837, 0.043009043, -0.031999476, 0.022178393, -0.0044910796, -0.023010693, -0.0062060836, -0.031039031, -0.06364646, -0.06365887, -0.029040523, -0.06675782, 0.042098384, 0.032490075, 0.014491912, -0.0011224645) * g_12; - result += mat4(0.018761864, 0.040258046, 0.015349441, 0.018706307, 0.00089981244, -0.02443291, 0.015173669, -0.008663882, -0.028121095, -0.026123954, -0.011663427, 0.007668493, 0.014926302, 0.03380763, -0.031567805, 0.018132508) * g_13; - result += mat4(0.011394552, 0.0090883775, 0.011154194, -0.0044680317, 0.0067254594, -0.013079778, 0.019036228, -0.0028701108, -0.014439092, 0.009564524, -0.0135836145, 0.038879603, 0.009461635, -0.014671546, 0.019386383, -0.007752184) * g_14; - result += mat4(-0.025151528, -0.044746082, 0.030572962, -0.02323665, 0.00077518023, 0.01415367, 0.0053574373, 0.022526693, 0.013129106, 0.03534322, 0.004773132, 0.077551566, -0.04895647, -0.03762353, -5.172888e-05, 0.012251733) * g_15; - result += mat4(0.03152615, 0.018333036, -1.679869e-05, -0.021737477, -0.076627344, 0.014928358, -0.010456622, 0.07781939, 0.027225398, 0.04659384, -0.0070413146, 0.026454208, -0.017691148, -0.045554973, 0.006093557, -0.03178835) * g_16; - result += mat4(-0.018481147, -0.05547381, 0.013941934, -0.024416983, 0.027262108, 0.024724096, 0.0063773487, 0.017461762, 0.027166976, -0.02301659, -0.0051281936, -0.0556913, -0.08051738, -0.04638631, 0.015620527, 0.05266176) * g_17; - result += mat4(0.009157959, 0.08455516, -0.0602788, -0.002439282, -0.02327793, -0.021213762, 0.005698031, 0.002378188, 0.005837403, -0.17286417, 0.13316536, -0.03154805, -0.022410449, -0.047884528, 0.043882124, 0.047745265) * g_18; - result += mat4(-0.008956661, -0.010137066, -0.007736993, 0.012567491, 0.017111477, -0.050893363, 0.001874233, -0.059543177, 0.043244537, 0.07476611, -0.045336626, -0.05902348, 0.006996905, -0.0718768, -0.004126288, -0.0642003) * g_19; - result += mat4(0.015879916, 0.040725194, 0.013168297, 0.045075603, -0.01297648, -0.0059797773, -0.015060089, -0.010935342, 0.02049647, 0.034105264, 0.014809084, 0.008366516, -0.051084228, 0.008029285, -0.04545378, 0.023945345) * g_20; - result += mat4(-0.019541753, 0.0043494124, -0.0001693803, 0.025214057, 0.018182391, 0.027842158, -0.024553766, 0.006766178, -0.029599829, -0.040605135, -0.048153292, -0.018185124, -0.011694039, -0.01453888, -0.022709226, -0.057430573) * g_21; - result += mat4(-0.08764812, 0.075131916, 0.020414736, -0.050893847, -0.004293497, -0.021197274, -0.0018027405, 0.038802553, 0.021213993, 0.04283625, 0.016089795, 0.03304562, 0.028084677, 0.029016564, 0.03612216, 0.057901673) * g_22; - result += mat4(0.0057912855, -0.098451905, 0.036739763, -0.06572119, 0.033765186, 0.12279821, -0.025154155, 0.013806011, -0.024162477, -0.009859432, -0.0021075422, -0.02089062, -0.0021298097, 0.0015791449, -0.020502191, -0.033028405) * g_23; - result += mat4(0.056495182, 0.054205123, 0.032467738, -0.038979713, 0.051377665, -0.0017128112, -0.08553907, 0.08154442, 0.005708859, -0.030467357, 0.056872, 0.033040885, -0.044282306, 0.06320046, -0.077476226, 0.057799205) * g_24; - result += mat4(-0.10876674, 0.08259616, -0.051354583, 0.08138756, 0.012491528, 0.05439006, 0.030529, -0.058732726, 0.018389955, 0.008327744, 0.013216314, -0.017489955, 0.004981595, 0.023339638, -0.019406691, -0.0027005207) * g_25; - result += mat4(0.070612185, 0.053251043, -0.045872025, -0.08984753, 0.02582859, 0.011240578, 0.019407703, 0.006788904, 0.036534656, -0.07338343, -0.06434088, -0.023382546, -0.052568957, -0.065474, 0.047638886, 0.050624263) * g_26; - result += mat4(-0.018035047, -0.078713804, 0.01140521, 0.00012953136, -0.014339465, -0.018948816, 0.04643105, -0.04246953, -0.026791897, 0.02513823, -0.045333434, -0.06504635, -0.024868866, -0.017653162, 0.01686154, -0.007936053) * g_27; - result += mat4(0.042380203, -0.007992952, -0.012940898, -0.018271092, -0.036340363, 0.02297692, -0.0260716, 0.011647489, 0.055189207, -0.089658745, 0.05829902, -0.05787894, -0.08049513, -0.091856234, 0.09487785, 0.060702115) * g_28; - result += mat4(0.0022311446, 0.0078554, -0.021208685, 0.009572731, -0.09023339, 0.016889412, 0.029632647, -0.0034283176, 0.00453538, 0.040616557, 0.023657676, 0.03687379, -0.021128353, -0.020249786, -0.006316465, 0.017151888) * g_29; - result += vec4(0.00032424182, 0.027523492, -0.021710647, 0.0054222327); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.016576298, -0.013039568, -0.07158028, -0.056509558, -0.06965122, -0.1272158, -0.07288651, -0.10423224, 0.048223313, 0.03172697, 0.014178331, 0.002855858, 0.004538786, 0.034928907, 0.03173054, 0.03412037) * g_0; - result += mat4(0.09168274, 0.056355372, 0.023804985, 0.009515965, 0.024203284, 0.01641063, 0.016683895, -0.012702561, -0.038824845, -0.037673414, -0.010391583, -0.014636746, 0.03192526, -0.02340906, 0.027524544, -0.015568387) * g_1; - result += mat4(-0.0966996, -0.041418746, -0.055650715, 0.002117608, 0.00031688716, -0.008733063, -0.024573568, -0.03425321, -0.036262326, 0.04404278, -0.014729649, 0.05618371, 0.008530102, -0.015607405, 0.015309457, -0.013621667) * g_2; - result += mat4(0.0361472, 0.025806008, 0.0583716, 0.06861344, 0.06315231, 0.10136267, 0.050169814, 0.07334672, -0.029601635, -0.06431154, -0.030672554, -0.042512666, -0.051434014, -0.039382752, -0.050772913, -0.08629934) * g_3; - result += mat4(-0.02201249, -0.03920109, -0.030633967, -0.0530296, -0.016168922, 0.0019067918, -0.014961821, 0.017761061, 0.012465623, 0.01857369, 0.009440995, -0.014336409, 0.0056113736, 0.012547043, 0.019320931, 0.025894852) * g_4; - result += mat4(0.079413086, 0.055332463, 0.023716403, 0.005429431, 0.0043804864, 0.026764238, 0.011610661, 0.03245363, -0.032408644, -0.056873523, -0.0019144824, -0.026196169, -0.03347332, -0.0174185, -0.00020654689, 0.023554688) * g_5; - result += mat4(-0.055310458, -0.079070315, 0.0066684894, -0.034588877, -0.07334732, -0.000985991, -0.011984627, 0.08308032, 0.011794159, -0.0144758625, 0.03586815, 0.009038553, -0.0016798767, 0.045218308, 0.016524237, 0.045677744) * g_6; - result += mat4(0.0083010085, 0.028407311, 0.06600332, 0.07460616, 0.071611166, 0.09643883, 0.034676284, 0.05824412, -0.07973774, -0.030707551, -0.03709346, 0.012161441, -0.02977386, -0.018077906, 0.0017052453, 0.012292145) * g_7; - result += mat4(0.01893072, 0.032129273, 0.010857875, 0.037224095, -0.01413747, -0.047471486, 0.05192984, 0.03202811, -0.05082615, -0.027038824, -0.008331923, 0.03062506, -0.01725524, 0.039917417, -0.010607958, 0.04724454) * g_8; - result += mat4(0.03497211, 0.07911703, 0.016746478, 0.057458322, 0.06088827, -0.0053583174, -0.013933355, -0.10673472, -0.005456845, 0.020259444, -0.03139623, -0.008973998, -0.054345034, -0.035464175, -0.025964592, -0.0021018258) * g_9; - result += mat4(-0.047960743, 0.021779433, -0.11492737, -0.033511925, -0.067273304, -0.07730279, -0.04037016, -0.045080706, 0.09207083, 0.009399112, 0.03178142, -0.011313022, 0.021366931, 0.0051248465, -0.008097426, -0.018301165) * g_10; - result += mat4(0.014282785, -0.01572224, -0.027472818, -0.050844453, 0.0054380163, 0.052591007, -0.04270195, -0.02309884, 0.05152891, 0.03629938, -0.004667278, -0.024925238, 0.010567401, -0.07481508, 0.037315298, -0.04241005) * g_11; - result += mat4(-0.0013873621, 0.028364213, -0.031026626, 0.015620681, 0.004142558, -0.004863661, -0.013809934, -0.021330781, -0.0016021075, -0.002762517, -0.024034528, -0.03442779, -0.0013054899, -0.0042632925, 0.020974873, -0.0022553254) * g_12; - result += mat4(0.018562179, 0.034197688, 0.015277717, -0.01111744, -0.0032272537, -0.013426753, 0.017978273, -0.0015077988, -0.0051653306, 0.012690824, 0.001157489, 0.021362923, -0.01262595, 0.0054670637, -0.03031384, 0.012800636) * g_13; - result += mat4(0.012069964, -0.016048005, 0.01373877, -0.013298124, 0.03194061, -0.013332437, 0.016943898, -0.0058277305, -0.009428097, -0.023061408, -0.013659186, 0.015731167, -0.001986914, -0.019521309, 0.014714155, -0.00522106) * g_14; - result += mat4(0.0007342483, -0.026249036, 0.030117435, -0.015873922, -0.008929299, -0.0023522351, 0.0164302, 0.023790896, -0.03889036, -0.024644645, 0.006634364, 0.046513416, -0.013473101, -0.0140229, 0.0019859916, 0.011869367) * g_15; - result += mat4(0.02573362, 0.02375676, 0.00059617084, -0.016921667, -0.0671785, 0.008825013, -0.0013130646, 0.07261784, 0.010327604, 0.019814448, -0.008936156, 0.013669365, 0.020260049, -0.013921513, 0.018746642, -0.02843792) * g_16; - result += mat4(-0.023912461, -0.02845122, 0.017157353, -0.0075884, 0.00036027908, 0.012657872, 0.0061078435, 0.014107368, 0.032003447, 0.020891502, -0.0067286897, -0.030822601, -0.06574523, -0.028198881, 0.032242246, 0.061325297) * g_17; - result += mat4(0.0074854135, 0.085437536, -0.06426021, -0.011461227, -0.023055596, -0.025802588, 0.005154878, 0.0056105317, 0.0058093905, -0.1922738, 0.14643134, -0.035682995, -0.026076004, -0.053763065, 0.04269994, 0.05141156) * g_18; - result += mat4(-0.011764035, -0.011518187, -0.010223651, 0.015880484, 0.023317069, -0.05618372, 0.0059863995, -0.059199195, 0.04408538, 0.084830545, -0.042056326, -0.057687927, 0.0037303802, -0.082143255, -0.0018375175, -0.071053974) * g_19; - result += mat4(0.0044008377, 0.03906328, 0.010832349, 0.046560295, -0.011535675, -0.004254791, -0.011572009, -0.008665021, 0.021482797, 0.0338495, 0.019407712, 0.010986841, -0.05098764, 0.009778762, -0.05300968, 0.021800417) * g_20; - result += mat4(-0.021229895, 0.003305197, 0.0024396733, 0.02508984, 0.012702334, 0.033208802, -0.03008867, 0.0046940153, -0.030033346, -0.03792949, -0.05176272, -0.022788247, -0.012390274, -0.0135713285, -0.021557398, -0.06371822) * g_21; - result += mat4(-0.08850463, 0.0793453, 0.020550407, -0.05461798, -0.009402199, -0.027972376, -0.005156784, 0.02965216, 0.017268548, 0.04429356, 0.009809255, 0.031682562, 0.031172305, 0.03379402, 0.04395453, 0.062268186) * g_22; - result += mat4(0.01247631, -0.100407876, 0.042796645, -0.06502109, 0.032900713, 0.13428093, -0.033733122, 0.016222714, -0.0178732, -0.002501202, 0.0035485916, -0.015802957, -0.012150594, -0.0022097295, -0.023347225, -0.038795106) * g_23; - result += mat4(0.05938152, 0.059704512, 0.030237982, -0.04353414, 0.055702258, -0.0029182534, -0.09416582, 0.08440017, 0.008828504, -0.03065552, 0.0646233, 0.03629834, -0.04788823, 0.071730554, -0.084519096, 0.05947715) * g_24; - result += mat4(-0.109025195, 0.08866299, -0.047770992, 0.08894294, 0.014965939, 0.059702646, 0.032068793, -0.053778123, 0.019529643, 0.008203253, 0.014628202, -0.017464165, 0.0060448833, 0.027196955, -0.018907491, -0.0026503608) * g_25; - result += mat4(0.081304245, 0.06199502, -0.045204166, -0.08596196, 0.028582547, 0.011568329, 0.024607504, 0.007910688, 0.035362624, -0.08241612, -0.06848065, -0.026512494, -0.04969066, -0.065509185, 0.050000466, 0.05400427) * g_26; - result += mat4(-0.015837632, -0.087357126, 0.015269297, 0.00058823347, -0.01621553, -0.020170743, 0.049107697, -0.043301217, -0.025253763, 0.021026319, -0.047297694, -0.06751796, -0.020940255, -0.019703854, 0.020391362, -0.0049682967) * g_27; - result += mat4(0.042480465, -0.010125742, -0.016281988, -0.023186147, -0.040653005, 0.022371864, -0.028837234, 0.009938319, 0.0576169, -0.09105783, 0.06033278, -0.057518024, -0.08265035, -0.094854854, 0.10116602, 0.06394465) * g_28; - result += mat4(-0.0027242866, 0.007224464, -0.026375424, 0.0052841473, -0.09330453, 0.010634226, 0.024063759, -0.005130613, 0.0070950384, 0.048039638, 0.029983977, 0.042704105, -0.018214077, -0.020184115, -0.0073092347, 0.01891303) * g_29; - result += vec4(0.026287671, 0.015689341, 0.021467328, 0.0052872337); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_2_tf2 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_4_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_5_tf2 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) -#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.20584391, 0.22176251, 0.12817344, 0.16349226, 0.24339934, 0.17479841, 0.23518398, 0.19196586, 0.10900553, 0.080384456, 0.049235467, 0.027794728, -0.05141681, 0.0007015638, -0.010815038, 0.0042753317) * g_0; - result += mat4(0.0714463, 0.026722606, -0.01580307, -0.036710627, 0.13722661, 0.1325067, 0.12155393, 0.092651665, -0.21974826, -0.22233371, -0.16056158, -0.16607761, -0.10291634, -0.19475317, -0.117747545, -0.18824245) * g_1; - result += mat4(0.0385657, 0.12090414, 0.09484494, 0.18811698, 0.015320313, 0.0051719607, -0.016927784, -0.03450855, -0.06506198, 0.05625437, -0.02982918, 0.06270707, -0.13614634, -0.16412087, -0.1319045, -0.1733402) * g_2; - result += mat4(-0.2033194, -0.2067332, -0.16234529, -0.13661149, -0.22975448, -0.1841141, -0.26185742, -0.23617432, -0.058616254, -0.11470092, -0.064833924, -0.082624085, 0.0018012474, 0.010971402, -0.0015926235, -0.056720145) * g_3; - result += mat4(0.012773226, -0.013976976, 0.007706423, -0.022663448, -0.13764867, -0.121803656, -0.12158649, -0.090470046, 0.22548035, 0.22929274, 0.19819829, 0.16713546, 0.15709636, 0.16574621, 0.17671035, 0.18283793) * g_4; - result += mat4(-0.042175665, -0.07863977, -0.1209475, -0.14067635, 0.0041970555, 0.03598768, 0.009632853, 0.040009186, -0.014479617, -0.060088724, 0.041292075, -0.004627034, 0.09958161, 0.120460846, 0.15672928, 0.18279101) * g_5; - result += mat4(-0.03370265, -0.07010845, 0.04648067, -0.007877368, -0.11963536, -0.014810524, -0.01556151, 0.11850641, -0.0021221144, -0.050126694, 0.03193186, -0.012815193, -0.019450104, 0.017504638, -0.007544723, 0.0028710878) * g_6; - result += mat4(-0.018643383, -0.04445287, 0.07541755, 0.043240048, 0.027209729, 0.06499946, -0.018240616, 0.014570308, -0.058010563, 0.019799259, 0.0030194358, 0.06929909, -0.0056114118, 0.009093819, 0.03223382, 0.053046633) * g_7; - result += mat4(-0.0133113945, 0.019222038, -0.019711712, 0.03676041, -0.040668692, -0.09569124, 0.053240422, 0.02388429, -0.12218938, -0.08086858, -0.043406986, 0.009516919, -0.04289723, 0.056066234, -0.035658766, 0.061961327) * g_8; - result += mat4(0.023964832, 0.07624368, -0.020873679, 0.0256053, 0.12444348, 0.017517762, 0.0049669463, -0.13534403, 0.0061981925, 0.052108612, -0.02908856, 0.0135363275, -0.030678025, -0.015180554, -0.003328521, 0.021289025) * g_9; - result += mat4(-0.02231607, 0.09188703, -0.13311718, -0.009214322, -0.021628553, -0.047853045, 0.014602204, 0.00086198986, 0.06729613, -0.04228859, -0.0030271288, -0.066696614, -0.0071333526, -0.019973027, -0.036203787, -0.056756962) * g_10; - result += mat4(0.05850421, -0.0047896104, -0.0036014696, -0.05261781, 0.020924669, 0.093680315, -0.061118666, -0.020405825, 0.100053616, 0.061513033, 0.018219335, -0.02082051, 0.039510462, -0.08404035, 0.050883695, -0.052642383) * g_11; - result += mat4(0.0018722751, 0.020684525, -0.02356179, 0.009360695, 0.0036660347, -0.006931955, -0.015446396, -0.02027952, 0.006836204, 0.00341897, -0.020235445, -0.029695021, -0.0053638928, -0.003108307, 0.016338514, -0.0058539147) * g_12; - result += mat4(0.021255454, 0.036906153, 0.019704418, -0.009486708, -0.009084271, -0.012694315, 0.012314602, -0.002121502, -0.0047310013, 0.0051953527, 0.005284111, 0.019026738, -0.0082058, 0.0032704875, -0.02295881, 0.009902225) * g_13; - result += mat4(0.01866446, -0.012482591, 0.011301323, -0.011294572, 0.035305023, -0.002237504, 0.010679519, -0.000508338, 8.54808e-05, -0.02033275, -0.008063064, 0.013109392, 0.0002144853, -0.007573196, 0.015446864, 0.0023629267) * g_14; - result += mat4(-0.00978586, -0.025148384, 0.024103062, -0.009535831, -0.002879648, 0.0012579657, 0.018271701, 0.02113783, -0.03735869, -0.02581921, 0.005823926, 0.04087479, -0.0077521144, -0.012728182, 0.0067631016, 0.012669306) * g_15; - result += mat4(0.018013993, 0.026847519, 0.0021338093, -0.010125906, -0.07225123, -0.0025745684, -0.012799456, 0.056836564, 0.011377961, 0.017062144, -0.007494936, 0.010489539, 0.012431433, -0.019703059, 0.007082196, -0.031403106) * g_16; - result += mat4(-0.027560756, -0.030534893, 0.019047359, -0.0068690516, -0.0069791237, 0.0081298705, 0.0028945836, 0.009644792, 0.023117492, 0.020431874, -0.0056545194, -0.02480413, -0.07047867, -0.037890248, 0.025276575, 0.049277883) * g_17; - result += mat4(0.015748044, 0.086017504, -0.051286206, -0.003599236, -0.023193073, -0.023733998, 0.002799065, 0.005258185, 0.010922322, -0.17615142, 0.14165695, -0.029909663, -0.017889502, -0.046552524, 0.03964598, 0.049426638) * g_18; - result += mat4(-0.0073433192, -0.011656557, -0.0068763834, 0.014078096, 0.018000547, -0.053453963, 0.00786442, -0.050999343, 0.04133596, 0.079854034, -0.038685665, -0.053702615, -0.0019746814, -0.07859513, -0.0076702842, -0.067455895) * g_19; - result += mat4(0.009444058, 0.043747634, 0.018948376, 0.05009854, -0.011580162, -0.0065071583, -0.013997229, -0.011439345, 0.023656886, 0.030394329, 0.02134696, 0.009440647, -0.048070773, 0.007841886, -0.05323206, 0.013742174) * g_20; - result += mat4(-0.019898156, 0.000818382, 0.0010332671, 0.01928002, 0.013191405, 0.029638033, -0.02320344, 0.007421591, -0.02833562, -0.033782348, -0.04978492, -0.020176657, -0.0138621945, -0.013926801, -0.021230116, -0.058447562) * g_21; - result += mat4(-0.08644919, 0.073316105, 0.017838318, -0.049475558, -0.007295481, -0.025924034, -0.0068463665, 0.024905838, 0.016891189, 0.041490942, 0.011466327, 0.029829478, 0.034047317, 0.036229853, 0.04733451, 0.062059373) * g_22; - result += mat4(0.008540078, -0.09782984, 0.037032314, -0.063398704, 0.028395759, 0.12369336, -0.03458798, 0.012534729, -0.02110072, -0.007954169, -0.002136603, -0.019739889, -0.01087704, -0.004243762, -0.019832188, -0.03347458) * g_23; - result += mat4(0.054272063, 0.053247515, 0.025393743, -0.043571323, 0.05035569, -0.0042993715, -0.08645438, 0.07723826, 0.009475109, -0.026420964, 0.06111581, 0.03551816, -0.040812302, 0.07295332, -0.07636345, 0.059867676) * g_24; - result += mat4(-0.103165455, 0.07943813, -0.04935193, 0.0776962, 0.0149123045, 0.056066703, 0.028792242, -0.051936194, 0.015754307, 0.004817783, 0.011213326, -0.018288456, 0.004715879, 0.02536934, -0.015915168, -0.0008426239) * g_25; - result += mat4(0.0723322, 0.054040924, -0.0476729, -0.08399067, 0.024805048, 0.0118207345, 0.022066418, 0.006886721, 0.031156952, -0.07442044, -0.06636254, -0.023382878, -0.051537152, -0.06360144, 0.045075376, 0.050795015) * g_26; - result += mat4(-0.013090917, -0.0783513, 0.014832963, 0.0033018794, -0.014636453, -0.020164138, 0.043610837, -0.04028102, -0.024922965, 0.017962486, -0.045353472, -0.065985985, -0.020156763, -0.019561546, 0.01627726, -0.0065625296) * g_27; - result += mat4(0.038890418, -0.007016582, -0.01374995, -0.01861392, -0.03940205, 0.019309007, -0.026372327, 0.0079260105, 0.05348645, -0.087648585, 0.057326347, -0.055338904, -0.07803935, -0.09048593, 0.09173596, 0.05747143) * g_28; - result += mat4(0.001742558, 0.010703091, -0.021057613, 0.006859906, -0.086059436, 0.008977797, 0.021366948, -0.0043655075, 0.005885378, 0.042646274, 0.028150525, 0.037941158, -0.014817959, -0.016695084, -0.0056764153, 0.019049013) * g_29; - result += vec4(0.0113136405, -0.0063769994, 0.010973808, -0.011560247); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl deleted file mode 100644 index 7700a24..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl +++ /dev/null @@ -1,969 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.3053028, -0.037464816, 0.113983095, 0.12537485, -0.18630321, 0.084269725, -0.01351514, -0.20190673, -0.12298384, -0.037622184, -0.070214555, -0.19367279, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.41849324, 0.099702746, -0.04276645, -0.047299717, 0.20074473, 0.14217933, 0.15571699, 0.19553481, 0.21868695, -0.053848714, 0.016413521, 0.14117444, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.030540446, -0.052293833, 0.0715466, -0.31160545, 0.07808315, -0.16860045, 0.032828577, -0.2955024, -0.110374965, 0.04043687, -0.014024628, 0.058699366, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.10727635, 0.054200135, 0.20853694, 0.21086875, 0.122690216, -0.091823794, 0.310609, -0.01738923, -0.0013488946, 0.10835534, -0.077265196, 0.086751856, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.77150255, 0.40530515, -0.41257596, -0.14367618, 0.46888494, 0.2650122, -0.934199, 0.40476102, 0.32293493, 0.20251967, 0.19891106, -0.29698747, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.12505147, -0.41904053, -0.065798186, 0.34075752, 0.026240354, -0.2977496, 0.032647505, -0.003566783, 0.10290523, -0.23417123, -0.06014203, 0.094735645, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.11207838, -0.04062474, 0.023897955, 0.08605987, -0.020888371, 0.045541205, -0.07231824, -0.25884083, -0.11796847, -0.002691391, 0.0050435597, 0.02756291, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.4615728, 0.041790638, 0.08971143, 0.20213957, -0.38537467, 0.19938901, 0.08594364, -0.08621994, -0.08163473, -0.133266, -0.09561729, -0.014209637, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.0787417, -0.0483673, 0.07621572, -0.060169693, -0.013465177, -0.17152289, 0.02515561, 0.17675288, -0.05173998, 0.10768042, -0.029858522, -0.013957215, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0072128535, -0.05658625, 0.052939568, -0.1760861); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.112743355, 0.0422517, 0.21350034, -0.0967133, 0.16265953, 0.0022497, 0.015078242, 0.08204187, 0.035236806, -0.0468228, -0.09464228, -0.001864949, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.25631642, -0.41485596, -0.16662048, 0.13201024, 0.057921384, 0.2240005, -0.30038536, -0.08305622, 0.2228756, 0.32263795, 0.10608189, -0.18616734, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.08997524, 0.11516871, 0.19212262, -0.035154644, 0.11612274, -0.04056247, 0.14974374, 0.029173585, -0.07629641, -0.14353512, 0.041081246, 0.20230265, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.2262286, 0.055954933, -0.14499907, 0.17314723, 0.16590612, -0.06688698, -0.11118816, -0.012938116, -0.043101817, 0.026133137, 0.2958395, 0.06543993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.07311521, -0.3041244, -0.47978505, -0.6350967, -0.17432262, 0.34965977, 0.25399777, -0.16590433, -0.49957857, 0.0549526, -0.40869385, -0.08780993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.3014447, -0.00021343959, -0.14953177, 0.028001398, -0.14931908, -0.14910097, -0.13287953, -0.45026535, 0.17378895, 0.024704922, -0.027308129, -0.10292025, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.06732655, -0.13119644, 0.066014715, 0.081011154, -0.15154321, 0.2407805, 0.07733481, 0.12312706, 0.1741804, 0.008495716, -0.14125362, -0.043644864, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.11465958, 0.42001364, 0.011069392, 0.3203028, -0.058801666, -0.37830314, -0.030540617, 0.2245139, -0.11310525, -0.14845212, 0.19957744, 0.25789997, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.16037206, 0.21326372, 0.020099448, 0.018666709, 0.122083254, -0.16033986, -0.10725163, 0.2556128, 0.1650688, -0.10475823, 0.048623525, -0.103755645, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.007717166, -0.027800834, 0.0795002, 0.0053199283); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0056740534, -0.21186607, -0.18014967, 0.118979976, -0.0015611284, -0.07708486, 0.060131397, 0.11653345, 0.027150517, 0.10837246, 0.08583816, -0.14032431, 0.017552888, 0.0035846964, 0.03980114, 0.064649396) * go_0(-1.0, -1.0); - result += mat4(-0.03289318, -0.12004539, 0.26514888, -0.15079662, 0.04214227, -0.027273783, -0.027950313, 0.19614808, 0.18510003, -0.10346252, -0.029836183, 0.09174428, -0.0088710375, -0.18273513, 0.06601674, 0.009983851) * go_0(-1.0, 0.0); - result += mat4(0.08476211, 0.043996535, 0.056711517, 0.009976895, 0.07039107, -0.024862664, -0.059921104, 0.046850603, 0.04983447, 0.04863198, 0.21777405, -0.0576961, 0.045321796, -0.0060038245, 0.096396215, -0.10842004) * go_0(-1.0, 1.0); - result += mat4(-0.15746164, 0.041757874, 0.035169285, -0.1734288, -0.24219254, -0.13318908, 0.2272079, -0.02902605, 0.07750601, -0.1467191, -0.12296749, -0.07533314, -0.07073083, 0.17909113, 0.04789308, 0.17245363) * go_0(0.0, -1.0); - result += mat4(0.057547905, 0.1464685, -0.33115456, -0.26956198, -0.26298407, -0.059824817, 0.022509675, -0.09251868, 0.36277944, -0.2072429, 0.21095088, -0.45492023, 0.07428653, 0.1593302, -0.2945834, 0.12825087) * go_0(0.0, 0.0); - result += mat4(-0.1318458, 0.27804148, 0.037600737, 0.12047866, 0.0065036337, 0.0017241207, 0.060497303, -0.14786585, -0.15149063, 0.02731698, 0.048886403, -0.0025970868, -0.026979815, 0.07348884, 0.015636757, -0.107966796) * go_0(0.0, 1.0); - result += mat4(-0.079988025, -0.01626299, 0.06517438, 0.086406484, -0.1484504, 0.070595, 0.20620634, 0.09713373, -0.13620836, 0.012067949, -0.00068703433, -0.038030174, 0.22300471, -0.0012400965, -0.014827909, -0.08927486) * go_0(1.0, -1.0); - result += mat4(0.15634936, 0.052028038, 0.038081627, 0.12720168, 0.07342066, -0.04318368, -0.0065998454, 0.12109317, -0.45398173, 0.03666754, -0.17773737, 0.038516667, -0.13009632, -0.007457001, -0.013938809, 0.09776142) * go_0(1.0, 0.0); - result += mat4(0.029636936, 0.12864171, 0.11347291, -0.11812842, -0.0870342, 0.035678383, 0.050338242, 0.045754932, -0.07072752, 0.010447726, 0.039642975, -0.08795004, -0.1191525, 0.00967509, 0.13485421, -0.053204738) * go_0(1.0, 1.0); - result += mat4(-0.011072695, -0.09613245, -0.09094804, 0.028029291, -0.04031162, 0.15690295, 0.25094184, -0.21776834, 0.06524669, 0.06412185, -0.052852992, -0.08097702, -0.039127756, 0.036357917, 0.104585476, 0.25095442) * go_1(-1.0, -1.0); - result += mat4(-0.08328618, -0.006246033, 0.099708706, -0.014916097, 0.17727195, 0.4369228, 0.14760216, 0.06707674, 0.025167737, -0.022487842, -0.038962565, 0.15380669, 0.08125089, 0.09844594, 0.33538374, -0.003161368) * go_1(-1.0, 0.0); - result += mat4(-0.0128195705, -0.05475118, -0.037705053, -0.0012077648, -0.17425515, 0.091487505, -0.12909423, 0.0074876705, 0.13438368, 5.778033e-05, 0.04563314, -0.12185897, -0.053612474, -0.049824294, -0.12851205, 0.12856449) * go_1(-1.0, 1.0); - result += mat4(-0.025741795, 0.01867236, -0.00027440622, 0.10502768, 0.27042285, -0.14947751, 0.11143123, 0.2575913, -0.07414089, -0.33919522, -0.13194235, -0.20088726, 0.23121537, -0.08197353, 0.06693911, 0.015411386) * go_1(0.0, -1.0); - result += mat4(0.09143717, 0.22842278, 0.06501074, -0.20009698, -0.042117566, -0.23452093, -0.074082755, -0.10612558, 0.077631965, 0.08343657, -0.07657599, -0.43297377, 0.7092466, -0.16272525, 0.17222248, -0.056038965) * go_1(0.0, 0.0); - result += mat4(0.081200436, 0.046752565, 0.028254949, 0.18820632, 0.096592255, 0.05896745, 0.14845169, 0.034777895, 0.07195204, -0.1908046, -0.015341971, 0.02606145, -0.010377239, 0.0755547, -0.15285216, 0.047916733) * go_1(0.0, 1.0); - result += mat4(-0.06825636, -0.049540907, -0.024328846, 0.03506251, 0.2060094, 0.054119263, -0.06671269, 0.052428722, 0.055792283, -0.14336903, -0.03180757, 0.013760968, -0.037398104, -0.06880077, -0.023608573, 0.0360965) * go_1(1.0, -1.0); - result += mat4(-0.16937497, -0.30156836, 0.0021435453, 0.025772978, -0.17990975, 0.046133514, -0.32447076, -0.083382785, -0.081322014, -0.022132374, -0.05319431, 0.11794733, 0.08943906, 0.12927428, 0.105764806, -0.051034793) * go_1(1.0, 0.0); - result += mat4(-0.011012306, 0.047636557, 0.050260928, 0.051847618, 0.010985655, -0.13752967, 0.023869954, 0.07011459, -0.18244945, 0.07239806, -0.013638856, -0.026982805, 0.11395993, -0.031304818, -0.08714153, 0.077115685) * go_1(1.0, 1.0); - result += mat4(0.08707592, 0.2265186, 0.13363098, -0.039588258, -0.029561255, 0.019238092, 0.024606103, -0.0019022018, -0.062285982, -0.0629511, -0.03753033, 0.109805316, 0.016018672, -0.08284564, -0.04092752, -0.030386891) * go_2(-1.0, -1.0); - result += mat4(0.0016500859, 0.01616536, -0.099148355, 0.24161765, 0.028064307, -0.028680569, 0.054400917, -0.1978921, -0.08584302, -0.096797146, -0.06546965, -0.09342837, 0.030265866, 0.07057579, -0.02080932, 0.053178705) * go_2(-1.0, 0.0); - result += mat4(-0.030304352, 0.047440585, -0.04248429, 0.08568772, -0.051317703, 0.036739342, 0.00865767, -0.018183297, -0.07335176, 0.025001721, -0.068509035, 0.1814819, -0.09756565, -0.024179723, -0.05959287, 0.0352454) * go_2(-1.0, 1.0); - result += mat4(0.023015196, -0.022870664, -0.12028372, -0.111095205, 0.11065281, -0.19900022, -0.24012049, -0.017028643, -0.13484617, 0.050107025, 0.10741765, 0.037951697, 0.013090438, -0.0010045726, -0.029447839, -0.1859787) * go_2(0.0, -1.0); - result += mat4(0.17922719, -0.24138594, -0.44595388, -0.032014426, 0.06897096, 0.07125395, 0.1944457, -0.035794795, -0.24022278, -0.13230884, -0.1277025, 0.21229011, -0.12249393, 0.06141907, 0.2687936, -0.26896995) * go_2(0.0, 0.0); - result += mat4(0.0397242, -0.30710965, 0.28815824, -0.06642567, -0.07588877, -0.019552408, 0.0057806037, 0.11465521, 0.03560534, -0.10640553, 0.023589289, -0.16667193, 0.02066607, -0.01026633, -0.02655378, 0.082493655) * go_2(0.0, 1.0); - result += mat4(-0.007902949, -0.08501038, -0.029395591, -0.07072227, -0.01800967, -0.14564751, -0.08372804, -0.049974415, 0.1756957, -0.02042449, -0.04413007, -0.016873527, -0.2385717, -0.001741017, 0.08298281, -0.019873247) * go_2(1.0, -1.0); - result += mat4(-0.01803727, 0.0642893, 0.21513617, 0.066888265, -0.042107955, -0.123470366, 0.045296013, -0.11958806, 0.48208967, -0.027188249, 0.12136116, 0.05246265, 0.13522038, -0.016297493, 0.028486907, -0.059840377) * go_2(1.0, 0.0); - result += mat4(-0.1373251, -0.11281026, -0.06418318, 0.08444032, 0.062874556, -0.009133875, -0.049571835, -0.042995855, 0.12483249, -0.025967957, -0.11202483, 0.09862257, 0.099986054, 0.009230306, -0.09042664, 0.046612263) * go_2(1.0, 1.0); - result += mat4(0.03203309, 0.106030256, 0.045741174, -0.020529225, -0.028610658, -0.055219248, -0.21404657, 0.07746393, -0.059359375, 0.0033258004, -0.0054513607, 0.06856653, 0.18043655, -0.119936846, -0.05639265, -0.10240379) * go_3(-1.0, -1.0); - result += mat4(-0.0004331875, 0.10426754, -0.008130048, 0.012795991, -0.14372933, -0.40797862, 0.105197415, -0.0041354536, -0.079792455, 0.0914027, 0.012418237, -0.11449173, 0.020261409, -0.14681602, -0.13355242, 0.18290488) * go_3(-1.0, 0.0); - result += mat4(0.052306626, 0.010864275, -0.072627716, -0.009773121, 0.09484167, -0.09631301, 0.14896165, -0.21220942, -0.11994051, -0.002957136, -0.118194886, 0.08661347, 0.10005298, -0.029620873, 0.101668894, 0.0242806) * go_3(-1.0, 1.0); - result += mat4(-0.055188183, -0.06322889, 0.12994595, 0.03140751, -0.092755616, 0.04239107, 0.18460171, 0.08471877, 0.014203371, 0.13608724, 0.035351243, -0.07883493, -0.10067456, 0.14417742, 0.0054235114, 0.100745104) * go_3(0.0, -1.0); - result += mat4(-0.043811034, -0.16055201, -0.11927185, 0.20517266, 0.16734722, 0.27720267, 0.1205665, 0.045803893, -0.07874647, 0.06764307, -0.11157022, 0.080770165, -0.044105835, -0.03276538, -0.10945451, 0.100562036) * go_3(0.0, 0.0); - result += mat4(-0.044731796, -0.12854387, -0.061937924, -0.21604767, -0.036132332, -0.024353411, -0.16718283, 0.14903957, -0.11620588, 0.14563644, 0.23363836, 0.08400659, 0.15248756, -0.1424437, 0.112882614, -0.04096889) * go_3(0.0, 1.0); - result += mat4(-0.0486021, -0.05714939, 0.042517707, -0.06106919, -0.12970918, -0.071898215, -0.044727243, -0.026308542, 0.05687118, -0.0394057, -0.109454155, -0.0021216893, 0.018588595, 0.08061093, 0.0500373, -0.0034918839) * go_3(1.0, -1.0); - result += mat4(0.11269324, -0.17924047, -0.12965205, -0.07287767, -0.015830642, -0.044497102, 0.20014328, -0.14054494, 0.1232692, 0.2395109, 0.14093149, 0.03518561, -0.14088139, -0.09045081, -0.07283352, 0.053434785) * go_3(1.0, 0.0); - result += mat4(0.020512339, 0.026349569, -0.06666101, 0.05554806, -0.03044066, 0.26656216, 0.019155584, -0.12118906, 0.087923005, -0.1716557, 0.050843164, 0.037432503, -0.030232614, 0.030457936, 0.04232163, -0.066400655) * go_3(1.0, 1.0); - result += vec4(-0.0216415, 0.09015036, -0.030761974, -0.26541537); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04688368, 0.13853125, 0.1714716, -0.03034447, -0.08090605, 0.1225867, 0.17535992, 0.012508419, -0.0010665918, -0.07481546, -0.15541986, 0.0671128, -0.029307734, -0.076674186, 0.03925896, -0.07140553) * go_0(-1.0, -1.0); - result += mat4(-0.13273083, 0.062933214, 0.04200143, -0.0080243945, -0.120439716, -0.090192355, -0.022639645, 0.00020024918, -0.11211478, -0.12949537, 0.025783822, 0.009155746, 0.01004339, -0.0661901, 0.10630156, 0.053137038) * go_0(-1.0, 0.0); - result += mat4(0.07113487, -0.16011865, -0.10838903, -0.0034704183, 0.110606894, -0.14915739, 0.036511585, -0.003103608, -0.0551775, -0.13140677, 0.05270299, 0.12139221, 0.02226174, 0.008415268, -0.06647426, 0.118130066) * go_0(-1.0, 1.0); - result += mat4(-0.045172617, -0.0020388453, -0.27287582, 0.002428232, -0.2833772, 0.13788106, 0.073339015, 0.10666715, 0.08455194, 0.16499293, 0.089058325, 0.008815447, 0.034657538, -0.109856166, -0.11499077, -0.02918854) * go_0(0.0, -1.0); - result += mat4(0.07910854, -0.26334837, -0.3246593, -0.08246522, 0.09211476, 0.40793833, -0.09658794, -0.14430091, -0.50632644, 0.087234974, 0.26298127, 0.3687086, 0.06492316, 0.23082961, 0.18233871, -0.09283792) * go_0(0.0, 0.0); - result += mat4(-0.022744032, 0.21690565, 0.2694824, -0.12230013, -0.07969618, 0.21595429, -0.034979805, 0.008938489, 0.21289209, -0.446482, -0.042927746, -0.13587558, -0.032581557, -0.07182814, -0.054092336, -0.009542036) * go_0(0.0, 1.0); - result += mat4(-0.0034912943, -0.080354184, -0.08577375, -0.1521193, 0.09809233, 0.034529503, -0.100664355, 0.008191219, -0.014303411, -0.02862216, -0.18669915, -0.12384598, 0.046499267, 0.093707144, 0.10661308, 0.15079576) * go_0(1.0, -1.0); - result += mat4(-0.031025652, -0.0384342, 0.14258307, 0.25531343, 0.0075049917, -0.03966595, 0.062381975, 0.19593526, -0.2868182, 0.03162008, -0.4391041, -0.524017, -0.034463473, -0.0066741486, -0.24586639, 0.10521736) * go_0(1.0, 0.0); - result += mat4(-0.07452321, -0.0227877, -0.025402244, 0.115727395, -0.039511252, -0.07785703, -0.013689458, 0.0066024344, -0.052957747, 0.011206241, -0.0021671024, 0.077190824, -0.11709912, 0.046635598, 0.123751156, -0.03712064) * go_0(1.0, 1.0); - result += mat4(0.055411004, -0.0020031065, 0.06685547, -0.018829947, -0.06378933, -0.18389674, -0.0023551763, 0.0670314, 0.13038594, 0.0601923, -0.03035789, -0.019537423, -0.014483204, -0.056800704, 0.08663347, -0.106859975) * go_1(-1.0, -1.0); - result += mat4(-0.06603686, 0.07360526, -0.0072026253, -0.06778907, -0.039178446, 0.012397263, -0.13482279, 0.05745685, -0.055182382, -0.10545766, 0.003857615, 0.041947857, -0.15239377, 0.041826613, 0.058879383, -0.0042669442) * go_1(-1.0, 0.0); - result += mat4(-0.0697229, -0.010702144, -0.032265816, 0.013317131, 0.105028264, 0.21032134, 0.06845646, -0.018358687, 0.064568676, 0.08437135, -0.000723181, 0.1324007, 0.05527932, -0.049871888, -0.10125047, -0.005040889) * go_1(-1.0, 1.0); - result += mat4(-0.006467578, -0.05120533, -0.011780779, -0.011742203, -0.34242442, -0.020819988, 0.17381702, -0.059836414, -0.028882682, 0.23210457, 0.16579404, -0.03708216, -0.23541835, -0.03290251, 0.029319672, 0.26189178) * go_1(0.0, -1.0); - result += mat4(-0.30955994, -0.06408282, -0.16872866, 0.10767772, -0.041430887, 0.051697977, 0.12523535, -0.060389146, 0.026289431, 0.06359533, 0.13526368, 0.2479901, -0.3263977, 0.10216362, -0.0030894123, 0.046437826) * go_1(0.0, 0.0); - result += mat4(0.10061438, -0.17047118, -0.21593021, -0.023389054, -0.17507865, -0.30822313, -0.22044766, 0.16078933, 0.07099252, -0.11573018, 0.24712858, -0.0659458, -0.037504572, -0.12297423, 0.03342632, -0.058119852) * go_1(0.0, 1.0); - result += mat4(-0.020957774, -0.0224927, 0.04069268, -0.07911167, 0.074009344, 0.065916434, 0.008222278, 0.11625076, -0.25299504, 0.03357169, -0.021988, 0.015821831, -0.0021187372, -0.030700417, -0.004374924, 0.027358979) * go_1(1.0, -1.0); - result += mat4(0.06549052, -0.048067164, 0.05489091, -0.28851983, 0.13378961, 0.026875904, -0.09877994, -0.19947459, -0.1274035, -0.022928834, -0.26344195, -0.025870804, 0.022505255, 0.0070861108, 0.121051334, -0.025964163) * go_1(1.0, 0.0); - result += mat4(0.059426542, -0.0327433, 0.2313695, -0.07046268, 0.20479666, 0.027021704, 0.2564928, -0.11689885, -0.07407976, -0.019611249, 0.093463086, -0.121553615, 0.035009407, -0.008135333, -0.075931996, 0.047803063) * go_1(1.0, 1.0); - result += mat4(-0.059434246, -0.1652242, -0.124611154, 0.04743711, 0.10530296, -0.13869187, -0.036534663, -0.035206333, 0.06067593, 0.06126907, 0.120151915, -0.06722673, 0.008103894, 0.037225723, -0.007520425, 0.065720856) * go_2(-1.0, -1.0); - result += mat4(-3.6759695e-05, -0.036789574, 0.013370567, -0.037871476, -0.013454664, 0.15086569, 0.10164699, 0.057703357, -0.12871023, 0.12827681, -0.055057358, -0.040753044, -0.0142621, 0.08563361, -0.04615499, -0.03130452) * go_2(-1.0, 0.0); - result += mat4(-0.117965914, 0.09056485, 0.07272314, 0.009695964, -0.11331058, 0.07467256, -0.08291521, 0.00937355, -0.04097737, 0.07752905, -0.017335521, -0.12539999, 0.039462104, -0.0007037007, 0.06034812, -0.09497377) * go_2(-1.0, 1.0); - result += mat4(0.20828065, 0.0400099, 0.047638226, -0.046423353, -0.026133502, 0.098207295, 0.056742374, 0.017029466, -0.058164768, -0.046973787, -0.17328712, -0.0012984811, 0.050085854, 0.11296557, 0.12639083, 0.058543045) * go_2(0.0, -1.0); - result += mat4(-0.098907426, 0.22031747, 0.101559944, 0.06616554, 0.026110496, 0.56487054, 0.23754556, -0.07540935, 0.31768414, -0.47653618, 0.015073956, -0.33731326, 0.087285936, -0.24593173, -0.26141426, 0.15003823) * go_2(0.0, 0.0); - result += mat4(0.046026446, -0.13767281, 0.064847544, 0.07717139, 0.08544123, -0.11092969, 0.072325274, 0.010849038, -0.3055905, 0.66436774, 0.1434729, 0.0494463, 0.07115603, 0.083811216, 0.020431712, 0.06537088) * go_2(0.0, 1.0); - result += mat4(-0.15532711, 0.030139687, 0.040853374, 0.11089222, -0.08150315, -0.015851755, -0.06787692, 0.096075505, -0.011956207, -0.0017758606, 0.1277494, 0.16156575, -0.038588695, -0.0626418, -0.041797023, -0.19467135) * go_2(1.0, -1.0); - result += mat4(0.12917455, 0.017410474, -0.20125067, -0.08040003, -0.13494664, 0.17789102, -0.19909395, 0.08441434, 0.078570575, -0.06330619, 0.23767303, 0.5442659, -0.009227878, -0.021818208, 0.14318731, -0.09042824) * go_2(1.0, 0.0); - result += mat4(0.097801, 0.09345441, 0.17846581, -0.14773296, 0.06536365, 0.07642184, -0.011880635, 0.02086135, 0.013336972, -0.053295113, -0.13410404, 0.027241753, 0.087728985, -0.044033397, -0.13098569, 0.009423933) * go_2(1.0, 1.0); - result += mat4(-0.02488427, 0.0134966355, -0.0075000813, 0.07272353, 0.015842725, 0.13765687, 0.028079558, -0.08384948, -0.06666623, -0.023220664, 0.025091043, -0.055167805, -0.18826278, 0.04423603, 0.13499942, 0.059128854) * go_3(-1.0, -1.0); - result += mat4(0.01935146, -0.030980906, -0.031569187, -0.0036869382, 0.036753897, 0.118464164, 0.15871695, -0.09842428, 0.023324292, 0.071796335, -0.07869346, -0.10751301, -0.2588698, 0.064011686, 0.17386378, -0.039197855) * go_3(-1.0, 0.0); - result += mat4(0.08590827, 0.005497696, -0.026512025, 0.015661815, 0.1102415, -0.08268483, -0.0032903247, 0.10049029, -0.008157236, -0.035823178, -0.017570151, -0.081716835, -0.3531045, 0.010005245, 0.017141227, -0.016376914) * go_3(-1.0, 1.0); - result += mat4(-0.16617337, -0.007689783, 0.00954665, 0.07117733, -0.001669262, -0.012331606, 0.051613946, 0.062780835, 0.06123557, -0.20243123, -0.19181818, 0.032895602, 0.19760677, 0.004464939, 0.12754539, -0.27360034) * go_3(0.0, -1.0); - result += mat4(0.15006685, -0.083587274, -0.03215495, -0.16992462, -0.011944293, 0.058361508, -0.088097006, 0.023880545, -0.04168166, -0.06960282, -0.092672385, -0.057278465, 0.23540072, -0.1721208, -0.018213503, -0.23494521) * go_3(0.0, 0.0); - result += mat4(-0.124885194, 0.1905868, 0.11108704, 0.03163991, 0.11383064, 0.101223364, 0.069428995, -0.14298953, -0.07609092, 0.13704266, -0.07749446, -0.0005389336, -0.04617235, 0.18011934, 0.08350316, 0.09416366) * go_3(0.0, 1.0); - result += mat4(0.073356606, 0.067966126, -0.21285574, 0.0782625, -0.0034364646, -0.032581426, -0.05538558, -0.1317288, 0.14552782, -0.1132393, 0.13063973, -0.00833602, 0.0026844777, 0.028135289, -0.02536825, -0.028372496) * go_3(1.0, -1.0); - result += mat4(-0.318728, 0.07862527, -0.12176221, 0.35010242, -0.029198067, 0.016302662, 0.17667587, 0.12605923, 0.1556697, -0.06061443, 0.05843511, 0.10891248, 0.01267106, -0.018492714, -0.15945031, -0.050723754) * go_3(1.0, 0.0); - result += mat4(-0.21555941, -0.016813517, -0.084676236, -0.07545412, -0.14518794, -0.014592766, -0.2446481, 0.0530632, 0.0847341, 0.12342537, -0.028644923, 0.083479315, -0.04179012, 0.0025225023, 0.16006976, -0.026940256) * go_3(1.0, 1.0); - result += vec4(-0.060742114, -0.037577342, 0.055704296, 0.03134311); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.13129333, -0.022117995, -0.009753253, 0.020439912, 0.044090994, -0.0916335, 0.0036765633, -0.11719207, -0.06413809, 0.04079378, -0.00085516454, -0.06306388, -0.12660664, -0.054126263, -0.005513979, 0.06364538) * go_0(-1.0, -1.0); - result += mat4(-0.028422508, 0.23270117, -0.28674677, -0.10820166, 0.024321957, -0.0811145, -0.07290707, -0.02125165, -0.064260505, 0.052076746, -0.009654081, 0.08363882, -0.02037171, 0.15006389, 0.121593125, -0.011237004) * go_0(-1.0, 0.0); - result += mat4(-0.14672333, 0.015381624, 0.1028172, -0.041823238, 0.0072677187, -0.042953942, 0.06426537, -0.0938381, -0.05990813, -0.04599802, -0.11264726, -0.027826328, -0.058160868, 0.10747306, -0.07327458, 0.07998872) * go_0(-1.0, 1.0); - result += mat4(-0.08702181, -0.03750975, -0.045659006, 0.04488332, 0.09102003, 0.066556975, -0.04353586, 0.08994567, -0.13561495, -0.10653702, 0.006989605, 0.028230097, 0.07177144, 0.2938447, -0.00943923, 0.022120917) * go_0(0.0, -1.0); - result += mat4(-0.1801194, -0.11119162, 0.1977298, -0.247902, -0.16654298, -0.07423158, 0.114130594, 0.0014401592, 0.006954727, -0.09810646, -0.051310766, 0.19487657, 0.2545855, -0.06328558, -0.04617056, 0.09444692) * go_0(0.0, 0.0); - result += mat4(0.011378825, 0.16044368, 0.017211074, 0.14472178, 0.032992378, -0.008925819, 0.035120245, -0.012409223, 0.074333005, 0.1178002, -0.128956, -0.13624239, -0.2791275, 0.21457297, -0.1476131, 0.04874687) * go_0(0.0, 1.0); - result += mat4(-0.03491764, -0.061763793, 0.05779039, 0.0054837577, -0.023937583, 0.08281698, 0.032306053, -0.014566218, 0.12738499, -0.0132100545, -0.051833414, 0.0057818824, 0.012158851, -0.20231532, -0.0043795826, 0.10285843) * go_0(1.0, -1.0); - result += mat4(-0.22269921, -0.15135509, -0.039143335, 0.033390045, 0.06770212, -0.14538582, -0.08011057, 0.03796648, -0.025913516, 0.13925864, 0.18309896, 0.012709204, -0.24912506, 0.3217706, 0.0394195, 0.017977878) * go_0(1.0, 0.0); - result += mat4(0.00080196525, 0.059145816, 0.05720508, 0.0056548906, 0.005168018, 0.09938438, 0.0200503, -0.05516137, 0.061309986, -0.019621318, -0.1541441, 0.019540716, 0.030571707, -0.09054893, 0.032851614, -0.27210873) * go_0(1.0, 1.0); - result += mat4(0.27061436, -0.114008114, -0.0020118617, -0.1656827, 0.09770587, 0.029897455, -0.03307522, -0.04661818, 0.033011347, 0.18498488, -0.05162084, 0.087471776, -0.24665618, -0.12538423, -0.08123797, -0.010210389) * go_1(-1.0, -1.0); - result += mat4(0.075188264, 0.0020608555, 0.18558815, 0.041179713, 0.11232638, 0.05507779, -0.19599183, 0.027942855, 0.06199144, 0.22141005, -0.06121163, 0.014993597, 0.24105869, -0.019737717, -0.112485714, 0.0157406) * go_1(-1.0, 0.0); - result += mat4(0.09425698, 0.0207658, 0.12074599, 0.009430481, 0.11889248, -0.025782838, 0.0034711843, 0.05113582, 0.012531833, -0.0018606635, -0.09137569, 0.018120576, 0.4051155, 0.02222076, -0.16001017, 0.10981527) * go_1(-1.0, 1.0); - result += mat4(-0.03582557, 0.014994796, -6.4688604e-05, 0.24618183, -0.11697727, 0.24388117, 0.038502026, -0.3511993, 0.101741396, -0.10748137, 0.035059888, -0.017535849, 0.09450039, 0.06541661, 0.12149035, 0.28798738) * go_1(0.0, -1.0); - result += mat4(-0.27143848, 0.017990451, -0.69144464, 0.037944376, -0.04551905, 0.09263134, 0.4259611, -0.14107811, -0.10641847, 0.23065196, 0.040813655, -0.07789163, 0.3087666, 0.08190437, 0.16409059, -0.06455426) * go_1(0.0, 0.0); - result += mat4(-0.08290655, -0.35286915, -0.18082355, -0.32229406, 0.1608227, 0.030915622, 0.09207708, 0.02655054, 0.039464593, 0.026095424, 0.052584656, 0.033881903, -0.01751319, -0.0011676399, 0.04002607, 0.1630013) * go_1(0.0, 1.0); - result += mat4(-0.012021132, 0.12163766, -0.07410629, -0.06879096, 0.017859738, -0.039261997, -0.028677614, -0.23610398, -0.15963873, -0.0006119958, 0.11275506, 0.0082659265, 0.05677582, 0.08676638, -0.08669759, -0.10475464) * go_1(1.0, -1.0); - result += mat4(0.12792721, 0.06888765, 0.31803077, 0.26002547, -0.067599155, -0.011822328, -0.2589909, -0.30024147, 0.11076704, 0.15200609, -0.018180368, -0.19146141, 0.22298847, 0.059484895, 0.034478076, 0.15610938) * go_1(1.0, 0.0); - result += mat4(0.0870121, -0.016420847, -0.011579898, 0.097182855, -0.120095566, -0.06843338, -0.043460473, -0.060684606, -0.027540063, -0.008499213, 0.033570655, -0.06866259, 0.01429712, -0.07424434, 0.0009466247, 0.09142678) * go_1(1.0, 1.0); - result += mat4(-0.03781424, 0.04587032, 0.03744051, 0.02712279, -0.051038064, 0.0669144, -0.02640278, 0.12384894, -0.0022533627, -0.010022036, 0.07536463, -0.030489929, 0.09418577, 0.155089, -0.011290433, -0.02102941) * go_2(-1.0, -1.0); - result += mat4(-0.0053278613, -0.07160643, 0.039028414, 0.04123311, -0.10693177, -0.1170874, 0.07230816, -0.033255517, -0.119176835, 0.0786526, -0.11880206, -0.11354601, -0.037539184, 0.14404313, 0.069760695, 0.024738638) * go_2(-1.0, 0.0); - result += mat4(0.03413808, -0.006487654, 0.10006853, 0.22228058, -0.13796462, -0.14042488, 0.04017443, -0.031790894, -0.06673143, 0.009888688, 0.08831443, -0.0045771743, -0.028375361, -0.04704813, 0.07128581, -0.07012518) * go_2(-1.0, 1.0); - result += mat4(-0.06954315, -0.23728988, -0.14192343, -0.08236467, -0.2552115, 0.04102959, -0.06355397, -0.08340241, 0.17617856, 0.20281969, -0.16249381, 0.10843737, -0.04392261, -0.08587206, 0.053069845, -0.15482199) * go_2(0.0, -1.0); - result += mat4(0.124981806, 0.12828638, -0.061472785, -0.20108232, -0.14905351, -0.40766275, -0.35427195, -0.13183996, 0.09307428, -0.07697028, 0.06702549, -0.22656697, 0.019868268, -0.19361132, 0.08784669, 0.20249842) * go_2(0.0, 0.0); - result += mat4(-0.004661343, -0.09333453, -0.24876262, -0.07906779, 0.110697776, -0.37069768, -0.042212646, -0.0046135853, -0.2254257, -0.023392014, 0.031476703, -0.045574382, -0.12675518, -0.076056994, -0.08228006, -0.040303517) * go_2(0.0, 1.0); - result += mat4(0.16182694, 0.0512523, 0.051189836, 0.048962783, -0.05156489, -0.17987493, -0.012037288, 0.06953726, -0.09458492, 0.1610021, -0.004063283, -0.032922342, 0.08995396, 0.1939926, -0.018710036, -0.08153231) * go_2(1.0, -1.0); - result += mat4(-0.064830944, 0.06121252, -0.18886387, -0.12976822, -0.031117212, 0.12219633, 0.19070715, 0.12495262, -0.11994464, -0.24687837, -0.08425294, -0.016920334, -0.13286817, -0.3260188, -0.11776061, 0.1651019) * go_2(1.0, 0.0); - result += mat4(-0.17652592, 0.002499805, -0.030541016, -0.01393431, 0.031418208, 0.08209422, 0.12430871, 0.4387016, -0.108871914, -0.09041422, 0.031226631, -0.1638517, 0.20756467, 0.014476537, -0.012701195, -0.03440563) * go_2(1.0, 1.0); - result += mat4(0.005320072, -0.0032291536, -0.017209187, 0.031944863, -0.2479921, -0.24433962, -0.13832912, 0.07835928, -0.17707248, 0.028202811, -0.19121435, 0.164587, 0.123152815, 0.0050288937, 0.084104605, -0.0380019) * go_3(-1.0, -1.0); - result += mat4(0.16008669, -0.018608516, -0.013778938, 0.033447385, -0.01242472, -0.070916265, 0.026909694, -0.07318777, 0.15158044, 0.12047607, -0.1709358, 0.2031767, 0.0025611701, -0.21457459, 0.2791286, 0.10159932) * go_3(-1.0, 0.0); - result += mat4(0.14320926, 0.020023825, -0.0484187, 0.011563084, -0.2640472, -0.013056275, 0.004234292, -0.095376395, 0.28363484, -0.0058227647, -0.0777649, 0.05238444, 0.41757923, -0.07081097, 0.012567031, -0.13029522) * go_3(-1.0, 1.0); - result += mat4(0.07266207, 0.042793367, -0.08212271, -0.23401663, -0.19457819, 0.4191269, -0.03095442, 0.15339781, -0.28451788, 0.09316364, 0.10231693, -0.22844811, 0.111623526, 0.120017685, 0.18777381, 0.014420896) * go_3(0.0, -1.0); - result += mat4(0.15037206, -0.29763284, 0.2601235, 0.0193363, 0.13686465, 0.009907918, -0.37781665, 0.04916627, 0.14114739, 0.5043813, 0.0447959, -0.029427614, 0.041768756, 0.27211213, 0.14163221, 0.086162075) * go_3(0.0, 0.0); - result += mat4(0.19159287, 0.21363218, 0.15053211, 0.08992885, 0.100828275, 0.09379921, 0.030783929, 0.11664482, -0.059145752, -0.19400764, -0.09351283, -0.016430443, -0.12910964, -0.067078374, 0.11760082, 0.121194765) * go_3(0.0, 1.0); - result += mat4(-0.055059325, 0.09299572, 0.06848913, 0.06334532, -0.1476285, 0.111801244, -0.033960916, 0.06474366, -0.04952303, 0.27885208, -0.052447475, 0.09226763, -0.15024844, -0.0033919013, 0.013498364, 0.09135676) * go_3(1.0, -1.0); - result += mat4(-0.017010042, -0.122343406, -0.19097193, -0.27957183, -0.18206005, 0.102321096, 0.22794476, 0.0439245, -0.23710132, -0.08070259, 0.17377135, 0.23811814, 0.17799385, 0.049567625, 0.1470908, 0.07329385) * go_3(1.0, 0.0); - result += mat4(0.0038071256, 0.19454515, -0.01222965, -0.07390379, -0.0532754, 0.03942833, 0.123840906, 0.023459576, -0.0658742, -0.023957543, -0.14682837, 0.1221027, -0.010986398, -0.066184506, 0.03026491, -0.0638446) * go_3(1.0, 1.0); - result += vec4(-0.06427697, -0.00039365015, 0.011889719, 0.060232002); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!SAVE conv2d_2_tf1 -//!WIDTH conv2d_1_tf.w -//!HEIGHT conv2d_1_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.012110923, 0.07818654, 0.07964548, 0.11885079, -0.07694473, -0.01378252, 0.006632789, -0.12876098, 0.0069211307, 0.022278586, 0.069553085, 0.16569804, -0.11123615, 0.06125189, -0.11232848, 0.1559266) * go_0(-1.0, -1.0); - result += mat4(-0.3261174, -0.25586754, 0.21129315, 0.3135101, 0.1509055, 0.0044283345, 0.024674175, -0.08000473, 0.01213029, 0.09093019, 0.04942677, 0.09806723, -0.16454464, -0.14433062, -0.058094524, -0.060819894) * go_0(-1.0, 0.0); - result += mat4(0.023174008, 0.02858724, 0.07685972, 0.036857616, -0.10415571, 0.10241035, -0.01893166, 0.02065923, 0.058356714, 0.096426114, -0.03772327, -0.1529002, 0.13740575, -0.048291504, -0.06152548, -0.15199897) * go_0(-1.0, 1.0); - result += mat4(0.029300174, -0.13222043, 0.0139825605, -0.02274408, 0.062944874, 0.028447356, 0.05960515, 0.034447193, 0.03133432, -0.019283533, -0.024591971, -0.0043914663, 0.15245225, 0.006851478, -0.051783554, 0.17453748) * go_0(0.0, -1.0); - result += mat4(-0.09125915, 0.081739366, 0.01196335, 0.23130219, -0.22557035, -0.13537665, 0.0022028848, -0.043430023, 0.22759882, 0.07920754, -0.027986467, -0.14051494, -0.19557038, -0.03585936, -0.4258294, -0.03856216) * go_0(0.0, 0.0); - result += mat4(0.18511422, -0.09368415, 0.1551229, 0.04322566, -0.023400841, -0.02261204, 0.15129441, -0.007954805, -0.10739125, 0.019459398, 0.013128325, 0.018073296, 0.20886365, -0.20662378, -0.03814699, -0.09272838) * go_0(0.0, 1.0); - result += mat4(-0.027352437, -0.039882626, 0.12598103, -0.093930446, 0.030846786, -0.09325075, -0.009084744, -0.024584265, 0.07159868, 0.14162529, 0.19019091, 0.058855128, -0.09880401, -0.01843218, 0.14753596, -0.2449532) * go_0(1.0, -1.0); - result += mat4(0.06565521, 0.09150168, -0.08654865, 0.0829788, -0.07596146, -0.01815166, -0.08786775, -0.03477514, 0.20538878, -0.012766377, 0.020719538, 0.088188395, -0.034300096, 0.29972988, -0.20005241, 0.018425167) * go_0(1.0, 0.0); - result += mat4(0.11713916, 0.024167519, 0.05167596, -0.0027117804, -0.016994188, 0.048177514, -0.012556207, 0.010979094, 0.09098878, 0.028514355, 0.06063336, -0.06624107, 0.012754856, 0.013208708, -0.061374772, -0.0025992664) * go_0(1.0, 1.0); - result += mat4(-0.09053513, 0.03183455, 0.017340872, 0.12934409, -0.022161964, -0.0015361432, -0.049972344, -0.12763855, 0.12779881, -0.04697911, 0.018968226, -0.119873665, 0.05462772, -0.13919477, -0.10226718, -0.2540179) * go_1(-1.0, -1.0); - result += mat4(-0.29912186, -0.09291771, 0.050926663, 0.49361777, 0.21372582, 0.076717265, -0.058968987, -0.1572678, 0.3194591, -0.120582424, 0.03942037, 0.023128232, 0.24321598, 0.07046334, -0.21204855, -0.648296) * go_1(-1.0, 0.0); - result += mat4(0.05366883, -0.020366706, 0.020979457, -0.06893884, 0.04837168, 0.017253762, 0.008874203, -0.020785445, -0.20425391, 0.060179923, 0.046167206, 0.09863377, -0.14381303, 0.038928367, -0.06590863, -0.18408588) * go_1(-1.0, 1.0); - result += mat4(0.07099762, 0.2029403, -0.033945918, 0.15202214, 0.0901113, -0.27336198, -0.17693861, -0.16206753, -0.17642029, 0.09400492, -0.11165698, -0.07863893, -0.16306102, -0.056210615, 0.22173557, 0.013508989) * go_1(0.0, -1.0); - result += mat4(0.08541511, -0.27093616, -0.35273993, -0.48919773, 0.038383547, -0.16013749, 0.012996215, -0.03434873, 0.07024113, -0.28971404, 0.10623425, -0.0019642068, -0.062374946, 0.3291145, 0.22468035, -0.42971882) * go_1(0.0, 0.0); - result += mat4(0.020427933, 0.15062793, 0.08308975, -0.025095072, 0.030093266, -0.09649862, -0.03382388, -0.0016017791, 0.105402954, 0.020693144, -0.051065, 0.07704679, 0.02864139, -0.00135146, 0.03762216, 0.029277142) * go_1(0.0, 1.0); - result += mat4(0.01700994, 0.12214317, 0.06749582, 0.07354159, -0.093085855, -0.065021954, 0.010773045, -0.00095128635, -0.045384295, -0.072611265, -0.043900184, 0.049471326, 0.029131187, 0.03180158, -0.13313527, 0.05280797) * go_1(1.0, -1.0); - result += mat4(0.14751251, -0.15087761, 0.09932281, -0.099232934, -0.062390897, 0.112391844, -0.09159478, 0.15856399, 0.034708973, 0.01819943, -0.02730164, -0.13562973, -0.05687333, -0.0114601655, 0.07025971, 0.02496533) * go_1(1.0, 0.0); - result += mat4(-0.0117268525, -0.026162883, 0.07481553, 0.13420302, 0.029870516, 0.07405776, -0.06379041, 0.09631234, -0.07754842, 0.035888605, 0.0034764851, -0.040771756, -0.092022054, -0.034230903, -0.02281844, -0.0028173258) * go_1(1.0, 1.0); - result += mat4(-0.059846643, 0.016772347, -0.02287152, 0.07036337, -0.024946844, 0.09826078, -0.068491876, 0.20852126, 0.073890835, -0.058288682, 0.013093785, -0.05776076, 0.0516503, 0.052794468, 0.10837015, 0.038539834) * go_2(-1.0, -1.0); - result += mat4(-0.16391893, -0.008062687, -0.35022175, 0.2510062, -0.15820411, 0.048403125, 0.024878092, 0.037888516, -0.035924178, -0.068953894, -0.025386479, 0.24405715, -0.018495679, -0.051277515, 0.14754932, -0.031538483) * go_2(-1.0, 0.0); - result += mat4(-0.038429607, -0.047140498, -0.018157095, -0.029318782, -0.04094171, -0.11870087, 0.11214255, 0.07142628, 0.021007229, -0.005681072, 0.1662777, 0.10829575, 0.112268396, 0.03567479, -0.06738845, 0.0032037434) * go_2(-1.0, 1.0); - result += mat4(-0.032217573, 0.2102397, -0.20617546, -0.07920811, 0.12918773, 0.054486286, -0.13656865, 0.05806265, 0.01963165, 0.049910642, 0.15538268, 0.10724465, -0.09697837, -0.03070673, -0.0071386313, -0.11899626) * go_2(0.0, -1.0); - result += mat4(0.130827, 0.0051715383, -0.07212691, 0.45726067, 0.2773031, 0.2973666, 0.3951691, 0.01333662, -0.14561643, 0.04508669, 0.121690124, 0.13326228, -0.22579186, 0.058161184, 0.09281702, -0.00079749606) * go_2(0.0, 0.0); - result += mat4(-0.00771113, 0.09912341, -0.41895548, -0.06705759, 0.029148718, 0.052991726, 0.18665347, -0.031787418, 0.23053595, 0.09444956, 0.10691037, -0.06325714, -0.05335701, 0.1917427, -0.0065284846, 0.032622546) * go_2(0.0, 1.0); - result += mat4(-0.056801565, -0.019131258, -0.0939022, -0.08130343, -0.11051993, 0.0035269214, -0.047361933, -0.0543875, 0.10854369, 0.06445185, 0.016828364, -0.022595318, 0.1450623, 0.033027507, -0.020425137, 0.16169788) * go_2(1.0, -1.0); - result += mat4(-0.08747717, 0.07770065, 0.018155783, 0.07160794, 0.09860347, -0.04329888, -0.0043579484, -0.2014418, -0.060260013, 0.0036374568, -0.17566042, -0.2268221, 0.001273691, -0.2609373, -0.19417606, -0.04102927) * go_2(1.0, 0.0); - result += mat4(-0.086845055, -0.114253804, -0.13433142, -0.025941795, -0.0155711295, -0.13578776, 0.12059696, -0.08760523, -0.0057348222, 0.12164273, 0.07270617, -0.06352636, 0.08894258, 0.04140841, 0.1230304, -0.030357126) * go_2(1.0, 1.0); - result += mat4(0.03320213, 0.015911903, -0.06288296, -0.121976145, 0.2713457, 0.13913193, -0.092420585, 0.105714336, 0.10294281, -0.04591945, -0.11767934, 0.032249406, -0.06506192, -0.04639334, 0.08137017, -0.031746846) * go_3(-1.0, -1.0); - result += mat4(0.13717805, 0.0071242675, -0.077256985, -0.14974317, -0.08467893, -0.20126395, -0.06240603, 0.09554399, -0.075844854, 0.28380412, 0.046030026, 0.053188596, 0.50943077, 0.1179795, 0.32203588, -0.06712207) * go_3(-1.0, 0.0); - result += mat4(-0.18528835, 0.0016975187, -0.0041140947, 0.11234392, -0.34049067, -0.056880493, -0.04325441, 0.09905571, 0.10978758, 0.009608353, -0.10801905, -0.04071131, -0.09096832, -0.12350487, 0.011801418, 0.22521795) * go_3(-1.0, 1.0); - result += mat4(0.040283076, -0.034117915, -0.026142653, -0.06058959, 0.12511659, 0.4131219, 0.59190845, 0.39758852, 0.16032091, -0.5975032, -0.14516282, 0.115154505, 0.03874097, 0.18462797, 0.22934213, 0.05285643) * go_3(0.0, -1.0); - result += mat4(-0.17804009, 0.33769128, -0.14572927, -0.029545018, 0.3897, -0.055615567, 0.15232995, 0.48788264, -0.21422523, 0.03397293, 0.0337794, -0.19830915, -0.022457365, -0.35096076, 0.42616987, -0.19268763) * go_3(0.0, 0.0); - result += mat4(-0.13191561, -0.18337126, 0.017879983, -0.070472844, -0.09409196, -0.025770849, -0.060219247, 0.10869267, -0.17341033, -0.09199785, -0.0667796, -0.093538545, -0.21300837, 0.030474098, -0.04540468, 0.041321553) * go_3(0.0, 1.0); - result += mat4(-0.0998177, -0.08669185, -0.0090886615, 0.0021083376, 0.08900095, 0.5062186, 0.45537788, 0.029077586, -0.1001008, -0.0077697043, -0.0096318, 0.11706454, 0.07401959, -0.00650215, 0.06092762, 0.037442297) * go_3(1.0, -1.0); - result += mat4(-0.18500404, 0.0024998419, -0.11761331, -0.026825588, 0.27255726, 0.093010515, 0.3281413, -0.051473666, -0.050259475, -0.17258662, -0.23394547, 0.104795866, 0.035074063, -0.061560635, 0.05975411, -0.094255395) * go_3(1.0, 0.0); - result += mat4(-0.023440497, -0.021479638, 0.0036277648, 0.004972212, 0.02416659, -0.09856867, -0.03971455, -0.27094853, 0.026615402, -0.0047890246, -0.13755885, 0.16591635, -0.0016293586, 0.133207, 0.047790572, 0.029041538) * go_3(1.0, 1.0); - result += vec4(-0.0063728676, -0.029053684, -0.052831043, 0.006475641); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0431447, 0.047972627, 0.09522898, 0.19048582, 0.0015511789, 0.1182684, -0.065335006, 0.061233886, -0.02451869, 0.065670215, -0.015341636, 0.06836347, 0.10215459, 0.17516296, 0.0857072, 0.072732896) * go_0(-1.0, -1.0); - result += mat4(0.10117189, 0.049022958, -0.016017418, -0.12119866, 0.089112304, 0.016286526, -0.025251161, 0.03239003, -0.0783818, -0.086096615, -0.13673106, -0.15934734, -0.51308054, -0.061430074, -0.16208844, 0.2227776) * go_0(-1.0, 0.0); - result += mat4(-0.011567444, 0.025550444, -0.018439503, -0.015003767, 0.11606929, -0.11613111, -0.040906087, -0.015202219, 0.03932618, -0.1106059, 0.03703376, 0.018548314, -0.12761284, -0.038109995, -0.23577367, 0.20272344) * go_0(-1.0, 1.0); - result += mat4(0.025444161, -0.075270735, 0.10999789, 0.16305386, 0.016178958, -0.074034974, 0.1177035, -0.077481024, -0.047774278, -0.029782977, 0.23137823, -0.2389453, 0.033015423, -0.10381626, -0.16437943, 0.20906886) * go_0(0.0, -1.0); - result += mat4(-0.098473966, 0.11013442, -0.18486807, 0.1907086, -0.17564997, -0.08509439, -0.42472756, -0.17446618, 0.3440862, 0.12719585, -0.12213955, -0.02246555, 0.18982963, 0.20809166, -0.36067408, 0.51116616) * go_0(0.0, 0.0); - result += mat4(-0.019805575, 0.07812505, 0.061653323, -0.08379226, 0.026396899, 0.009063019, -0.10845824, 0.0827647, 0.045301896, -0.07748021, -0.07435832, 0.14860612, -0.077515624, 0.010588131, -0.22704287, 0.26849246) * go_0(0.0, 1.0); - result += mat4(-0.02884339, -0.09512523, -0.038564682, 0.08862835, 0.041666254, -0.10532901, 0.040582962, -0.10063983, -0.15736029, -0.03644334, -0.005061672, 0.04302295, -0.046482194, -0.05262547, 0.05110866, 0.03204655) * go_0(1.0, -1.0); - result += mat4(-0.005932702, 0.033263832, 0.0044865874, -0.02328917, 0.056534443, -0.14084046, 0.022353357, 0.015087431, -0.2734596, -0.026544483, 0.06297078, 0.11277746, 0.06127936, 0.02466357, -0.04970561, 0.02098484) * go_0(1.0, 0.0); - result += mat4(0.013603583, 0.036264602, 0.10985147, 0.01532773, -0.09012781, 0.1132652, -0.17016481, 0.025332611, -0.077462606, 0.02990799, -0.10627784, -0.006231141, -0.089164406, -0.051507175, -0.043900985, 0.09049239) * go_0(1.0, 1.0); - result += mat4(-0.15391691, 0.1915742, 0.014101639, -0.022153432, 0.06291936, -0.017871676, -0.016763045, -0.14741553, -0.011252563, -0.20720159, -0.030648025, -0.0142307645, 0.010291614, -0.09243969, -0.052940153, 0.0061574522) * go_1(-1.0, -1.0); - result += mat4(0.032283742, 0.030768922, 0.1070225, -0.027818602, 0.10032608, 0.0061178426, -0.03561339, -0.26687133, 0.14369439, -0.11362691, -0.08980895, 0.066520914, 0.33414948, 0.006998835, 0.09193012, -0.2857383) * go_1(-1.0, 0.0); - result += mat4(-0.059588976, -0.02046844, -0.042585023, 0.031939838, 0.12796514, -0.06155685, 0.03540324, 0.009929082, -0.0039611827, 0.10790477, 0.049435645, -0.083034374, 0.23874004, -0.07460337, -0.020173345, -0.2006587) * go_1(-1.0, 1.0); - result += mat4(-0.13217632, 0.052319963, -0.026713084, -0.0051368694, -0.10380872, -0.28659084, 0.0044393227, 0.005174543, -0.05092618, -0.07092548, -0.027397033, -0.01609789, 0.13699281, -0.14706929, 0.17737861, -0.23746766) * go_1(0.0, -1.0); - result += mat4(0.19268502, 0.14133929, -0.1305119, -0.4034132, 0.057504695, -0.24550998, -0.081932545, 0.45489246, -0.29331785, 0.19625074, 0.063166246, 0.15158689, 0.6715147, -0.4610189, 0.08921431, 0.17761138) * go_1(0.0, 0.0); - result += mat4(0.044718128, -0.011809122, 0.024131307, -0.30093196, -0.05607289, 0.047759805, 0.004210022, 0.098192796, 0.030430846, 0.008207501, 0.12266905, -0.10549182, 0.11584339, -0.091016166, -0.08635591, -0.13889709) * go_1(0.0, 1.0); - result += mat4(-0.19226642, 0.07147627, -0.14759602, 0.4041079, 0.0744628, -0.19612685, 0.1498252, -0.06273549, 0.017959936, 0.10858338, -0.14985329, 0.062042814, -0.13240446, -0.24362786, 0.113626175, -0.15332204) * go_1(1.0, -1.0); - result += mat4(0.08383099, -0.13935047, -0.25981048, 0.16491203, 0.07513876, -0.28346774, 0.19722275, -0.044425573, 0.020889329, -0.22140723, 0.025403097, -0.09183192, 0.014202567, -0.18666178, 0.062913105, -0.047674105) * go_1(1.0, 0.0); - result += mat4(-0.1862771, 0.25878942, -0.043018065, 0.22144824, 0.016088247, 0.12113542, -0.11965952, -0.01587184, 0.07830932, -0.16069177, 0.13421321, 0.018718706, 0.09548377, 0.018543294, 0.013614677, -0.1054485) * go_1(1.0, 1.0); - result += mat4(-0.2121733, -0.015635416, 0.027564054, -0.085904464, 0.064805664, -0.070543915, 0.08966146, -0.06359783, 0.01131311, 0.046913184, -0.09809833, -0.092063695, -0.087217696, 0.012411829, 0.0045399712, 0.027389864) * go_2(-1.0, -1.0); - result += mat4(-0.19307798, 0.09449126, 0.084036835, 0.30262446, 0.011706106, 0.029800637, 0.04612629, 0.006186647, 0.11228541, 0.055147965, 0.17659879, -0.023410015, 0.19965266, -0.06684007, -0.081968054, -0.052410994) * go_2(-1.0, 0.0); - result += mat4(-0.058564443, 0.08252549, 0.058217794, 0.0864448, -0.25663558, 0.080260284, -0.0010294432, 0.05830051, -0.07684524, 0.1820709, 0.04438993, 0.019178499, -0.12425012, -0.04596089, -0.010032888, -0.0012803525) * go_2(-1.0, 1.0); - result += mat4(-0.43352658, 0.15262963, 0.25620222, 0.22428556, 0.09667152, 0.0037820593, -0.07951691, -0.11553085, 0.12982155, 0.17988266, -0.14283511, 0.074744284, 0.03604327, 0.00452661, -0.12865154, -0.020020623) * go_2(0.0, -1.0); - result += mat4(0.06850602, -0.18057181, 0.2093389, -0.07333886, 0.28406742, -0.048766967, 0.18114483, 0.47292945, -0.2340266, -0.06862712, 0.28263155, 0.3150323, -0.054724697, -0.16958356, 0.27928987, -0.19666018) * go_2(0.0, 0.0); - result += mat4(0.03281329, 0.0038649621, -0.07108877, 0.10791149, 0.15235375, -0.3083721, 0.168294, 0.10379698, 0.029038485, 0.16282903, 0.04483725, -0.018684763, 0.108186625, 0.027885616, -0.019351846, 0.1623065) * go_2(0.0, 1.0); - result += mat4(-0.110499054, 0.31347123, 0.030852, 0.01631416, -0.1466389, 0.080429435, -0.18689284, 0.10667815, 0.20645237, -0.18004708, -0.10570413, -0.15435064, -0.019000605, -3.126077e-06, 0.037761535, -0.015040956) * go_2(1.0, -1.0); - result += mat4(-0.023364332, -0.023399066, 0.2712722, 0.049637552, -0.10222765, -0.2698945, 0.20991959, 0.04921932, 0.21510898, -0.0751939, -0.19781734, -0.28162366, -0.041881047, 0.0065111094, -0.04102195, 0.0982682) * go_2(1.0, 0.0); - result += mat4(-0.032176614, 0.019144032, -0.08985387, 0.091637276, 0.1012352, 0.0003583357, 0.07897295, -0.09531175, -0.001155058, 0.074372366, -0.026186578, 0.07283374, 0.06052053, 0.009307753, -0.03874333, -0.06228009) * go_2(1.0, 1.0); - result += mat4(-0.022224072, -0.15717922, -0.1406057, -0.05941157, -0.028769474, -0.21226564, -0.036570027, 0.22266355, 0.14120889, 0.014577123, 0.10216447, 0.018429281, 0.056729726, -0.055834044, 0.058146577, -0.11999068) * go_3(-1.0, -1.0); - result += mat4(0.009995364, -0.020045493, -0.0057422677, 0.0643022, 0.016475432, -0.030856136, 0.042140726, 0.15077904, -0.32955253, 0.0694449, 0.17931722, 0.3439302, -0.12484157, -0.10958869, -0.15755124, -0.09755644) * go_3(-1.0, 0.0); - result += mat4(-0.008314924, 0.07704758, 0.043228816, -0.08110893, 0.099286236, -0.053224478, 0.22877018, -0.189486, -0.00798416, 0.018341504, 0.10734141, 0.0752633, -0.042524844, -0.086395286, 0.14299925, 0.026488977) * go_3(-1.0, 1.0); - result += mat4(-0.052531082, 0.19139186, 0.12205995, -0.2573172, 0.15157184, 0.0073150825, 0.089774385, 0.06604469, -0.16528498, -0.002511137, 0.14287429, -0.07819732, 0.025014274, 0.15338829, 0.0761692, -0.02803716) * go_3(0.0, -1.0); - result += mat4(-0.21000335, 0.15277153, 0.08546171, 0.2816124, -0.16559112, -0.11068559, 0.47053605, -0.009787771, -0.0013089112, -0.06985127, 0.44743782, 0.25142467, -0.32670796, 0.044035822, -0.12545367, -0.2996084) * go_3(0.0, 0.0); - result += mat4(-0.11526387, 0.15654811, 0.099616654, 0.15473685, 0.21278231, 0.046207245, 0.117993094, -0.26825273, -0.12539764, 0.14013724, 0.17357737, -0.05387817, 0.076738276, -0.13339446, 0.15005626, -0.2108176) * go_3(0.0, 1.0); - result += mat4(-0.0008846504, -0.05998622, -0.028892396, 0.04784136, 0.0104263965, 0.10899508, -0.073364735, 0.077516064, -0.074248806, -0.21749993, -0.26203, 0.041161157, 0.09366407, -0.026498007, 0.0122177545, 0.03892727) * go_3(1.0, -1.0); - result += mat4(0.04349908, 0.13671173, 0.2242545, -0.028021423, -0.03802222, 0.0052366396, -0.010709643, 0.031290106, 0.06291333, -0.024909683, -0.15439379, -0.04502091, 0.2062182, -0.5983536, -0.09670497, -0.38446042) * go_3(1.0, 0.0); - result += mat4(-0.008962513, 0.13044207, 0.04964221, 0.012250417, 0.012129821, 0.019985713, -0.06421885, 0.009168735, -0.044516414, 0.071368866, -0.006634213, 0.06497366, 0.08578495, -0.10586125, 0.06628038, -0.14006054) * go_3(1.0, 1.0); - result += vec4(0.056541316, 0.041788545, -0.036094554, -0.021763096); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_2_tf.w -//!HEIGHT conv2d_2_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0647927, 0.053666476, -0.14723225, 0.027874574, -0.0003166473, 0.07337155, -0.061972085, -0.012667777, -0.17071614, 0.091927536, -0.051160213, 0.21336353, 0.13854574, 0.09582817, 0.032316446, 0.13838023) * go_0(-1.0, -1.0); - result += mat4(-0.0398984, 0.108049214, 0.093780346, -0.022015186, -0.15188989, -0.1381083, 0.2998843, 0.21623154, -0.08862326, 0.025862623, 0.06895634, 0.13529755, 0.06957801, -0.0011681129, 0.105972745, -0.04722446) * go_0(-1.0, 0.0); - result += mat4(-0.026321493, -0.04828038, -0.012545767, -0.005490858, -0.054038163, 0.075943105, -0.11526662, 0.022242405, -0.03543104, -0.12451852, -0.14911178, 0.013503498, 0.08773292, 0.09695139, -0.013498657, -0.27424073) * go_0(-1.0, 1.0); - result += mat4(0.018575635, -0.11321618, -0.07853153, 0.04104883, 0.0018416744, 0.11579002, 0.03685964, -0.031546146, -0.1755398, 0.23517849, -0.08095411, 0.031999595, -0.18542038, -0.26171613, -0.20567231, -0.05683613) * go_0(0.0, -1.0); - result += mat4(0.1538556, 0.21723682, 0.12131733, -0.15308167, 0.103326, -0.006956118, 0.043583486, -0.23811384, -0.103285454, 0.05543916, -0.37894246, 0.32072112, 0.22651967, 0.03516268, 0.34612176, 0.23688535) * go_0(0.0, 0.0); - result += mat4(0.040021293, 0.0029912095, 0.04885362, 0.061496444, 0.016926387, -0.118446946, 0.038948335, -0.0934512, -0.25194243, -0.054018084, -0.07149527, 0.017903058, 0.0845516, 0.33802906, 0.11953944, -0.081294954) * go_0(0.0, 1.0); - result += mat4(-0.09558082, -0.36974236, -0.07524102, 0.11131445, 0.047626104, 0.12854609, -0.10264962, -0.044669047, -0.05572307, 0.34475142, -0.16806377, -0.0037204176, 0.03400533, -0.04047774, 0.024379745, 0.09056291) * go_0(1.0, -1.0); - result += mat4(-0.039392482, 0.2553437, 0.11705501, 0.03219211, 0.073977776, -0.16610906, -0.032796364, -0.054669864, -0.07123178, 0.00079619256, -0.36920992, -0.029054813, 0.12830003, 0.004987549, 0.08724278, -0.029499404) * go_0(1.0, 0.0); - result += mat4(0.021272454, -0.063295126, 0.011779576, 0.103093, -0.011095461, 0.027948728, -0.014605259, -0.04723974, -0.05334346, -0.044831257, -0.07296399, -0.03314197, -0.01687865, -0.09261895, -0.06128567, 0.092708185) * go_0(1.0, 1.0); - result += mat4(0.0077418387, 0.00871427, 0.060824487, 0.1093608, -0.021077013, -0.057341542, -0.04769576, -0.08144089, 0.0212823, -0.06731425, -0.04134463, -0.0016761447, -0.03402026, 0.036424547, 0.11689576, -0.14946719) * go_1(-1.0, -1.0); - result += mat4(0.18536687, 0.020073935, 0.17041959, 0.024790209, 0.08397728, -0.13884324, 0.013950321, -0.055075396, -0.09317963, -0.05723721, -0.060491834, 0.0017911601, -0.109154835, 0.010338362, -0.1982491, -0.21752335) * go_1(-1.0, 0.0); - result += mat4(0.031852514, 0.031424347, 0.07817056, 0.07770759, 0.019805199, -0.091223724, 0.11914662, 0.1673029, -0.018734453, 0.16275099, 0.23245652, 0.36139074, -0.1396047, -0.14774057, 0.13756078, -0.123794965) * go_1(-1.0, 1.0); - result += mat4(-0.034937833, 0.20777488, 0.10104809, -0.035140667, 0.2536575, 0.010970045, 0.16896339, -0.081219964, -0.062478427, -0.0010431948, -0.027980985, 0.11446318, -0.127309, 0.21002083, 0.044436257, -0.16986957) * go_1(0.0, -1.0); - result += mat4(0.06309646, -0.042341243, 0.36642808, 0.18653205, 0.06973023, 0.06315932, -0.323688, 0.25672218, 0.042820994, 0.13792914, -0.12892757, -0.09220378, -0.18939693, 0.03862022, -0.17376114, -0.24673308) * go_1(0.0, 0.0); - result += mat4(-0.02130602, -0.35428852, -0.011634983, -3.9823462e-05, 0.110818714, -0.2981158, 0.060209107, 0.012538829, -0.0744833, -0.050204318, -0.12676497, -0.031484153, -0.28799182, 0.22338839, -0.070876874, -0.02102363) * go_1(0.0, 1.0); - result += mat4(-0.07929991, 0.014598492, 0.23034762, 0.024872296, 0.07480494, -0.17139243, -0.014421178, 0.056448363, -0.028626937, -0.022152562, 0.044871796, -0.048653606, 0.009350802, 0.019022083, -0.08554845, -0.0922645) * go_1(1.0, -1.0); - result += mat4(-0.027405115, 0.1831188, 0.28516722, 0.19882526, 0.27299204, -0.06910511, 0.03244419, -0.0031333128, 0.061055277, -0.114398144, 0.03729459, -0.07840815, -0.37776002, -0.24129418, -0.54815483, -0.2702045) * go_1(1.0, 0.0); - result += mat4(0.053723935, 0.13472083, 0.09563273, 0.19009806, -0.18722993, -0.25939655, -0.016197463, -0.067061596, 0.1647598, 0.061905228, 0.06191816, -0.018582113, -0.07218153, 0.11278394, 0.05478068, -0.104871586) * go_1(1.0, 1.0); - result += mat4(0.0036616288, -0.045782693, -0.226954, -0.05043515, -0.078096785, -0.036197383, 0.09269631, 0.016823346, -0.0060579977, -0.041455746, 0.09032774, -0.09217121, 0.058089796, 0.060311552, 0.033079024, 0.022586476) * go_2(-1.0, -1.0); - result += mat4(0.0436363, -0.079482526, 0.0027447809, 0.039558932, 0.13275702, 6.898711e-05, -0.21961488, -0.11315821, 0.0076181027, -0.025279062, -0.15829584, -0.063141204, 0.062049046, 0.13117202, -0.02435016, 0.109555416) * go_2(-1.0, 0.0); - result += mat4(-0.010148116, 0.056620967, -0.015910713, -0.07370375, 0.1529919, 0.005792597, 0.02771225, -0.17027487, 0.096740395, 0.063347995, 0.17823112, 0.054105148, 0.04995114, -0.28613812, 0.06369567, 0.15978208) * go_2(-1.0, 1.0); - result += mat4(-0.13688345, 0.16967694, -0.061759472, 0.013682004, -0.1290496, 0.07167547, -0.065592445, -0.17897636, 0.057080988, 0.035630587, 0.09140394, -0.08695068, 0.16807681, 0.014749346, 0.07875138, 0.034913708) * go_2(0.0, -1.0); - result += mat4(-0.098915346, -0.31459075, -0.10892429, 0.1557498, -0.19764107, -0.26881596, -0.03589311, 0.45288458, -0.34171388, 0.12675741, 0.18415868, -0.19770056, 0.29025507, -0.15812592, 0.09685835, 0.0027761247) * go_2(0.0, 0.0); - result += mat4(0.06425249, -0.01169722, 0.06379363, 0.053835012, -0.07356561, -0.06367294, 0.108630784, -0.14137438, 0.08536725, -0.03209748, 0.07250959, -0.014214082, 0.07170588, -0.25647813, 0.1092683, 0.18791042) * go_2(0.0, 1.0); - result += mat4(-0.023783233, 0.14261739, 0.102011986, -0.03633555, -0.05032627, 0.09378387, 0.11764051, 0.1353335, 0.032817088, -0.1352964, -0.00667997, -0.13388929, 0.022861317, 0.0037358075, 0.018605746, -0.0009892831) * go_2(1.0, -1.0); - result += mat4(0.22419162, -0.23105696, -0.09900454, -0.15831396, 0.12398773, 0.097933106, -0.13189293, 0.1330756, -0.19673057, -0.037342317, -0.13462654, -0.08974021, 0.030326528, -0.0815862, -0.118352115, 0.009187904) * go_2(1.0, 0.0); - result += mat4(-0.012130391, -0.06408448, 0.13710785, -0.06678414, -0.09970725, -0.14895032, -0.02366641, 0.029581001, -0.07101809, 0.09414698, 0.018300869, 0.009139046, -0.0027311493, -0.2359952, -0.011602826, -0.007582444) * go_2(1.0, 1.0); - result += mat4(-0.15473361, -0.06868751, -0.030721204, -0.08650113, 0.071349874, -0.08177769, 0.1611948, 0.18305337, -0.0144878505, 0.10975452, -0.026968453, -0.04909913, -0.059665974, 0.056036238, -0.11623168, -0.10584912) * go_3(-1.0, -1.0); - result += mat4(-0.096973225, 0.054132458, -0.010600018, 0.089397885, -0.0031138035, 0.037452973, 0.041115325, 0.1924831, 0.14759748, 0.032560788, -0.082884625, 0.0324635, -0.083511285, -0.050381303, 0.025589975, -0.0981257) * go_3(-1.0, 0.0); - result += mat4(-0.09183111, 0.034952193, -0.048511654, 0.020719057, 0.1863456, 0.01902738, 0.14455654, -0.008500172, 0.16385981, -0.07806569, -0.031216217, -0.17002788, -0.08882952, 0.07335293, -0.2223089, 0.01706056) * go_3(-1.0, 1.0); - result += mat4(-0.08361569, 0.046698716, -0.016646344, 0.09351987, 0.0054158634, -0.13641126, -0.12396605, 0.011380122, 0.040951792, -0.11222528, -0.0031548145, -0.0022303525, 0.0350846, -0.03280425, -0.09972476, -0.113325305) * go_3(0.0, -1.0); - result += mat4(-0.19961461, -0.27561286, -0.12783135, -0.062596925, 0.005870981, -0.24796526, 0.18717633, -0.16945636, -0.076396205, -0.08411448, 0.13751988, 0.21014418, -0.008655945, -0.09848541, -0.14536901, -0.2132181) * go_3(0.0, 0.0); - result += mat4(0.14118621, 0.20831147, -0.020545695, 0.008340737, 0.016840864, -0.16912372, -0.121718146, 0.15108089, -0.19803092, -0.07827729, -0.047639225, -0.12277847, 0.04974115, -0.09349339, -0.2756667, -0.19581003) * go_3(0.0, 1.0); - result += mat4(-0.0036992705, 0.16539848, 0.022026122, 0.07740234, -0.035687633, -0.004568715, 0.017408118, -0.09757294, -0.094941914, -0.3381112, -0.12724453, 0.025583982, -0.18571027, 0.047607586, -0.0704089, -0.055323426) * go_3(1.0, -1.0); - result += mat4(0.13821335, 0.028168043, 0.09990671, -0.032266147, -0.067236245, 0.11512147, -0.112986445, -0.10818019, -0.10062181, 0.21276556, 0.01681818, 0.069806606, 0.09628121, 0.06456379, 0.10394843, -0.02343886) * go_3(1.0, 0.0); - result += mat4(0.041937463, 0.072631165, 0.045366894, -0.0046993676, 0.03946691, 0.121010706, -0.030089365, -0.007266469, 0.0092267515, 0.14853416, -0.033248078, -0.027284347, -0.10031526, 0.15864117, -0.16782752, -0.18466589) * go_3(1.0, 1.0); - result += vec4(0.07722432, -0.025165567, 0.034291282, -0.09902708); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.004729794, -0.0124398535, -0.08538641, -0.058604605, 0.008671952, 0.25604513, 0.020800482, 0.24144122, -0.028920606, -0.04705229, 0.030192787, 0.0010597534, 0.017666103, 0.0041322373, 0.20027764, 0.08919112) * go_0(-1.0, -1.0); - result += mat4(0.0001626656, 0.05816014, -0.0060765734, 0.08811165, 0.35835367, -0.016291425, -0.56892496, 0.083845764, 0.15026698, -0.15916558, 0.08069463, -0.3931291, -0.0123534845, -0.111639686, -0.14637001, -0.08171439) * go_0(-1.0, 0.0); - result += mat4(-0.114976816, 0.023376396, 0.13855027, 0.07438716, -0.069991484, 0.20377779, 0.23929878, -0.040769435, 0.018832395, 0.005638609, -0.091848075, 0.027843866, 0.023744943, -0.06620523, -0.11678267, 0.0844119) * go_0(-1.0, 1.0); - result += mat4(0.0035854098, -0.08432094, -0.17799544, -0.10041983, 0.25605857, 0.021009786, 0.030499447, -0.09928291, 0.052178737, -0.08286175, -0.057888374, 0.024606042, 0.046342995, 0.13875343, 0.11279266, 0.19826262) * go_0(0.0, -1.0); - result += mat4(-0.016232021, -0.21539623, 0.0936961, 0.021143785, 0.094262615, 0.049040064, 0.40978724, 0.15347758, 0.08884813, -0.24887115, -0.14756748, -0.5020875, 0.112477, 0.1466549, -0.33418837, 0.5769466) * go_0(0.0, 0.0); - result += mat4(-0.16832942, -0.07354198, -0.12081261, -0.055348314, 0.39716053, 0.25583258, 0.09870877, 0.2151021, -0.025700683, -0.1801462, -0.04616654, -0.02782245, -0.054461803, -0.00042802413, -0.00163228, -0.004240747) * go_0(0.0, 1.0); - result += mat4(-0.05193433, -0.0018198475, -0.17647028, -0.19462106, 0.1538165, 0.054894235, 0.12183955, 0.07340974, -0.0019901982, 0.0357373, -0.07597063, -0.06681543, -0.00090057997, -0.053894397, -0.010301875, -0.16553953) * go_0(1.0, -1.0); - result += mat4(-0.30873474, -0.2836045, 0.057037193, -0.5016378, 0.11952749, 0.102353275, 0.2351629, -0.14635189, -0.019398788, -0.08776502, 0.021669978, -0.089918956, -0.2187901, -0.1180891, -0.049789533, -0.16109149) * go_0(1.0, 0.0); - result += mat4(-0.078335494, -0.08867304, 0.03349591, -0.1000293, -0.20235832, 0.22917585, -0.09905303, 0.08381748, 0.014350217, -0.14478815, -0.027479894, -0.026432173, -0.10309177, -0.09860884, -0.019177807, -0.06963025) * go_0(1.0, 1.0); - result += mat4(0.008169383, 0.12532842, -0.23369955, 0.077973194, 0.09076616, -0.021277165, 0.1721421, -0.26914293, -0.014729218, -0.023279984, -0.057670787, 0.003598546, -0.015225789, -0.0115396585, -0.26196182, -0.10724508) * go_1(-1.0, -1.0); - result += mat4(0.16542235, 0.06589374, 0.07410237, 0.26753154, -0.3356288, 0.3096256, 0.07112498, -0.0992165, 0.15020338, -0.11021673, 0.18803611, 0.12918204, 0.109007336, -0.031968266, 0.057093572, 0.035949256) * go_1(-1.0, 0.0); - result += mat4(0.065006174, 0.031055925, 0.0390232, -0.01678507, -0.21553491, 0.14171642, -0.19541772, -0.033691674, -0.06241631, 0.07497651, 0.024557155, 0.056778047, -0.060191352, -0.0261998, 0.07493729, -0.0699132) * go_1(-1.0, 1.0); - result += mat4(-0.008541382, 0.020270415, -0.027760057, -0.040962905, -0.26732433, 0.34379438, -0.23012447, 0.0051356517, -0.04059567, 0.0972959, 0.039965224, -0.14796777, -0.0016924662, -0.116963714, -0.026353523, -0.29799464) * go_1(0.0, -1.0); - result += mat4(0.03329303, -0.12663862, -0.0004959157, -0.11162377, 0.26238343, 0.43260252, -0.16504994, 0.10727678, -0.22505566, 0.43474057, 0.43304008, 0.05143919, 0.40494493, 0.08689636, -0.035733614, 0.25727916) * go_1(0.0, 0.0); - result += mat4(0.12175736, -0.014467151, -0.17461288, -0.18480565, -0.26439998, 0.307935, -0.058916792, -0.014292711, -0.0569471, 0.10751278, -0.04134206, 0.1847734, -0.07519831, -0.033909313, -0.05001451, -0.136606) * go_1(0.0, 1.0); - result += mat4(0.1424893, -0.026820501, 0.19645774, -0.0011315406, -0.14680974, 0.07662838, 0.21108222, 0.13260938, 0.17923595, -0.085527614, 0.08217639, 0.06579479, 0.05985784, -0.09016323, 0.11172888, 0.111903176) * go_1(1.0, -1.0); - result += mat4(0.19842595, 0.0093640275, 0.10433465, 0.13341904, -0.082806975, 0.22555825, -0.1315717, 0.11907785, 0.24012424, 0.47776055, 0.1835734, 0.17483878, 0.079803735, 0.01155073, -0.21146573, -0.16484722) * go_1(1.0, 0.0); - result += mat4(0.15064004, 0.021381427, 0.18301587, 0.21225913, 0.054995645, 0.03212186, 0.052798916, -0.048424408, 0.03609021, 0.0964704, -0.059469886, -0.05133066, -0.08157349, 0.051145166, -0.09107608, -0.1362262) * go_1(1.0, 1.0); - result += mat4(0.090521574, -0.014747857, -0.081675015, -0.118686825, 0.04848682, -0.033071827, 0.008534588, 0.023765508, 0.16849907, -0.21797262, -0.17049783, -0.07824179, -0.033794608, 0.052612655, 0.095820345, -0.07262317) * go_2(-1.0, -1.0); - result += mat4(0.22816367, -0.13772108, -0.036353834, -0.47638395, -0.0530902, 0.14089061, 0.076203234, 0.18006112, 0.121814854, -0.20750527, 0.08266107, -0.28634354, 0.14301859, -0.13458411, 0.00501663, -0.039783802) * go_2(-1.0, 0.0); - result += mat4(-0.103384845, -0.14389835, 0.08275834, -0.068423435, 0.22643796, -0.02966374, -0.2847584, 0.037081387, 0.02349005, -0.19353923, -0.00095957273, -0.13623689, -0.073120415, 0.03941467, 0.21864155, -0.014019576) * go_2(-1.0, 1.0); - result += mat4(-0.082576886, 0.17085212, 0.08971252, -0.04213377, -0.032548156, 0.022137715, 0.08399252, -0.0011743539, -0.09410863, -0.41728264, -0.20709297, -0.18933547, 0.027059928, 0.09743364, 0.2504647, -0.041173562) * go_2(0.0, -1.0); - result += mat4(-0.20924084, 0.291118, 0.029851688, 0.16953468, 0.02936709, 0.12213576, 0.22944322, 0.108747594, 0.0001881129, -0.27398208, -0.009702691, 0.15449248, -0.9472944, -0.26114875, -0.28161275, -0.3495961) * go_2(0.0, 0.0); - result += mat4(-0.12994622, -0.2758638, -0.1091727, -0.0968308, -0.14323105, 0.035175014, -0.08023811, 0.006023802, -0.031529594, -0.1486306, -0.3398172, -0.23240276, -0.29163983, 0.173475, 0.18809283, 0.22197202) * go_2(0.0, 1.0); - result += mat4(0.048254848, -0.083444916, -0.014334202, 0.060992356, -0.023099286, -0.09492961, 0.05592045, 0.0026059286, 0.08998117, -0.108810075, -0.053304546, 0.045926623, 0.068255246, 0.099023566, 0.01595483, 0.1336309) * go_2(1.0, -1.0); - result += mat4(0.21916585, 0.2837387, 0.14624594, 0.18843961, -0.06747584, 0.054924384, -0.082568415, 0.05011459, 0.014297759, -0.3884833, -0.054417178, -0.18970548, 0.088336475, -0.030646667, -0.2980552, -0.030035203) * go_2(1.0, 0.0); - result += mat4(-0.02748568, -0.011897529, -0.2370837, -0.016740574, -0.0282112, 0.050353892, -0.10761107, -0.00036999505, 0.037646662, -0.17742962, 0.06489219, -0.158852, -0.08016933, 0.07808515, -0.105895035, 0.079869986) * go_2(1.0, 1.0); - result += mat4(-0.0058994526, -0.037170693, 0.2574696, 0.06199102, -0.04497728, -0.10667442, -0.15183865, 0.0212881, -0.030842574, 0.073473394, 0.010764398, -0.00084518327, -0.03893014, -0.009649613, 0.07443129, 0.15108284) * go_3(-1.0, -1.0); - result += mat4(0.11325495, -0.096435815, -0.097331434, -0.049700152, -0.17231967, 0.047090057, -0.019111065, 0.104790315, -0.15004838, 0.13950798, 0.055996202, -0.070548095, 0.047154237, -0.007650949, -0.053611025, -0.012242293) * go_3(-1.0, 0.0); - result += mat4(0.12787002, -0.04958212, 0.053988468, 0.0017896162, 0.049493514, -0.009475431, -0.0022641935, 0.03933694, -0.005174597, 0.043754533, -0.1432976, 0.037084177, -0.04601288, -0.032077815, -0.059897035, 0.12584484) * go_3(-1.0, 1.0); - result += mat4(0.019409029, 0.10492923, 0.268368, 0.12597778, -0.17733063, -0.0085961, -0.27136415, -0.049664587, 0.012515404, -0.21444482, -0.39275557, -0.12297177, 0.06800057, 0.19228315, 0.06245887, 0.35772634) * go_3(0.0, -1.0); - result += mat4(-0.16317715, 0.2288402, -0.23235172, 0.22230752, -0.1646375, 0.13366091, 0.16681044, -0.17399235, 0.33997267, -0.3179832, -0.34756508, 0.39843196, -0.10748536, 0.322923, 0.23339489, 0.08684083) * go_3(0.0, 0.0); - result += mat4(0.02835275, 0.12314228, 0.24030593, 0.30856124, 0.055735108, -0.044914473, 0.0031432225, 0.07469899, 0.1778018, 0.107083894, -0.023706734, -0.15501897, 0.0943098, -0.034707237, -0.18622099, 0.05257965) * go_3(0.0, 1.0); - result += mat4(0.042839274, 0.12597966, 0.08979042, -0.0647561, -0.050434645, 0.049438696, -0.20008127, -0.05572608, 0.046238814, 0.12622325, -0.019017145, -0.13960391, -0.040050175, 0.14298008, -0.20270552, 0.13391526) * go_3(1.0, -1.0); - result += mat4(-0.0073277587, 0.10606624, -0.08940439, -0.09656414, 0.12387374, -0.0013147948, 0.23607181, -0.00037969893, 0.050353236, -0.17266603, 0.27796733, -0.09877832, 0.02711225, 0.096394345, 0.07457944, 0.21541388) * go_3(1.0, 0.0); - result += mat4(-0.18612787, -0.00027517386, -0.17136407, -0.06413671, 0.025629476, -0.04570916, 0.0008431566, -0.03419168, 0.08123608, 0.09465922, 0.11975521, 0.1269741, 0.08413221, 0.12125001, 0.04727287, 0.072378494) * go_3(1.0, 1.0); - result += vec4(0.04244928, -0.014280219, 0.017129054, -0.08807801); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.01973856, -0.05053795, 0.015545361, 0.10867395, 0.33441806, 0.14731607, 0.6793983, -0.21394718, -0.00846322, 0.09146322, -0.07427475, -0.078477465, -0.090998545, 0.133366, 0.105515696, -0.13784988) * go_0(-1.0, -1.0); - result += mat4(-0.05404873, 0.09784018, -0.1337389, -0.18082313, 0.13461179, -0.3816801, 0.12209786, 0.08176651, 0.10461896, -0.43315184, 0.017470734, 0.20423968, -0.03941875, -0.101959296, -0.09440259, 0.09154717) * go_0(-1.0, 0.0); - result += mat4(0.17229515, -0.06907825, -0.008382803, -0.16671611, -0.01576541, 0.03985307, 0.08209482, -0.11707446, -0.11793074, 0.13702396, -0.02013158, 0.07302033, -0.022301994, -0.11464677, 0.036753565, -0.093276784) * go_0(-1.0, 1.0); - result += mat4(-0.017650167, 0.009475923, -0.17856382, 0.15925962, 0.06434641, -0.15568036, 0.038135886, 0.18855911, -0.04427734, 0.1878215, 0.10856261, 0.0041275816, -0.12046199, 0.13610138, 0.3741596, -0.12934728) * go_0(0.0, -1.0); - result += mat4(-0.24631616, 0.0169485, -0.035534818, 0.37795424, -0.08546174, 0.07817259, 0.42897213, -0.47965595, -0.0146556785, -0.20510523, -0.18889453, 0.06476019, 0.1021008, -0.35398817, -0.031071864, -0.21416448) * go_0(0.0, 0.0); - result += mat4(0.32810766, 0.050585747, -0.17658374, -0.13881154, 0.16417882, -0.21286008, -0.106835455, -0.1722344, -0.14151084, 0.08962986, 0.057395387, -0.01623662, 0.02570415, 0.15626897, -0.12687978, 0.080729105) * go_0(0.0, 1.0); - result += mat4(-0.050597478, -0.018753758, -0.036346875, -0.017908493, 0.058593344, 0.008303028, 0.05254987, -0.06635018, -0.022532012, 0.029511122, 0.026682215, -0.054647952, 0.069466785, -0.08892492, 0.025351115, -0.023130694) * go_0(1.0, -1.0); - result += mat4(0.2412473, -0.16138165, -0.15117447, 0.11851003, -0.096868426, 0.082690425, 0.27923304, 0.11590443, 0.19363573, -0.15770023, -0.066793665, 0.011681678, 0.14037277, -0.112065665, -0.048159517, 0.009453693) * go_0(1.0, 0.0); - result += mat4(0.1580054, -0.0060506654, 0.05267837, -0.09178131, -0.09107123, 0.23191126, 0.21108283, -0.070422985, 0.024321035, 0.06131459, 0.066626504, 0.032481454, 0.044402298, 0.1390604, -0.14432502, 0.040869843) * go_0(1.0, 1.0); - result += mat4(0.10264861, 0.013504324, 0.012482852, -0.1781206, -0.12799414, -0.27026084, -0.123830505, 0.098105, -0.039127555, 0.09367889, 0.122323096, 0.1416734, 0.044763107, -0.21801683, -0.14018978, 0.17646866) * go_1(-1.0, -1.0); - result += mat4(0.017453065, 0.11498537, -0.10998983, -0.3116098, -0.3099762, 0.5024706, 0.051817298, 0.03170681, -0.18937826, 0.07946567, -0.11978771, -0.09523745, -0.0033551592, -0.11768945, 0.08932359, -0.06689581) * go_1(-1.0, 0.0); - result += mat4(0.1507582, -0.013266159, -0.073085934, -0.07252967, -0.06301927, -0.13218755, 0.12984878, -0.13678701, 0.023422396, 0.082123175, 0.006906731, -0.004018426, -0.15813835, 0.13711788, 0.016018609, 0.13443229) * go_1(-1.0, 1.0); - result += mat4(-0.06960673, 0.16156524, -0.1374069, -0.05803206, -0.077960715, -0.10676749, 0.26282015, 0.03521529, 0.058099385, -0.014738148, 0.0011174522, 0.24279532, -0.023991548, -0.108812414, -0.08886019, 0.20584475) * go_1(0.0, -1.0); - result += mat4(-0.08043308, 0.063343, 0.055290066, -0.15991378, -0.08096304, -0.23888679, 0.019161629, 0.38381267, 0.3672934, -0.119608454, -0.43623593, -0.46014485, -0.5323366, 0.1318621, 0.087373205, -0.05535459) * go_1(0.0, 0.0); - result += mat4(0.20640239, -0.1369444, -0.21677823, 0.08202178, 0.10515278, 0.06810837, 0.073207974, 0.23623931, 0.102422275, -0.05016664, -0.0039228587, -0.1810343, -0.2235563, -0.1246854, 0.1428113, -0.10609135) * go_1(0.0, 1.0); - result += mat4(-0.031941894, -0.08905056, 0.21501167, 0.11244667, -0.011811734, 0.21630247, 0.07589472, -0.040489636, -0.11824066, -0.11520391, -0.10075633, -0.035642453, 0.062144946, 0.0073282206, 0.14119269, -0.060479023) * go_1(1.0, -1.0); - result += mat4(-0.29382935, -0.056808118, 0.051812876, -0.061358813, -0.08344258, 0.124203674, 0.037964176, -0.01961274, -0.000951725, 0.50005037, -0.24176972, 0.06487161, -0.15469861, 0.04336187, 0.17826353, 0.040010225) * go_1(1.0, 0.0); - result += mat4(0.02044482, -0.0879271, -0.01053958, -0.31148303, 0.07497373, -0.11548258, -0.1666126, 0.02369657, -0.058044076, 0.010801491, -0.005933901, -0.08910467, 0.007953008, 0.03761974, -0.029501524, 0.16816042) * go_1(1.0, 1.0); - result += mat4(0.1779597, -0.10213089, 0.29942423, -0.016642543, -0.015537001, -0.04676146, 0.09585872, -0.0055750017, -0.014361908, -0.20667697, -0.11348746, 0.13081487, -0.10437329, 0.14328459, 0.11648822, -0.09163837) * go_2(-1.0, -1.0); - result += mat4(0.019033967, -0.12420627, -0.07748253, 0.43203858, -0.109799065, 0.07605535, 0.060791396, -0.24517195, -0.15674245, 0.21267459, 0.10665515, -0.073150024, -0.1358355, 0.0054066703, -0.16434059, -0.06031853) * go_2(-1.0, 0.0); - result += mat4(-0.18834068, 0.26840356, -0.12937617, 0.16103932, -0.0062331813, -0.13630053, -0.013911821, 0.022389365, -0.044232946, -0.056454606, 0.022426741, 0.18010215, 0.041900013, 0.03375041, -0.11376866, -0.010313381) * go_2(-1.0, 1.0); - result += mat4(0.12497669, -0.31161824, 0.097568035, 0.19443443, -0.05056519, -0.0031457904, 0.1055554, -0.083650924, 0.07630523, -0.34177595, -0.093093194, 0.20701368, -0.030962149, -0.054470222, -0.23853977, 0.004326528) * go_2(0.0, -1.0); - result += mat4(0.34370202, 0.085750066, -0.16071722, -0.54335934, -0.35595295, -0.050744478, -0.17405547, 0.008628697, -0.007086256, 0.23164117, 0.340156, 0.5475976, -0.15292351, 0.28019544, 0.038059216, 0.0044727) * go_2(0.0, 0.0); - result += mat4(-0.08231968, -0.0052294536, 0.07451547, 0.22278999, -0.3305531, 0.0017458396, 0.10818422, -0.21325395, -0.08807993, -0.110342845, 0.10082142, -0.051594347, 0.24192205, -0.18042035, -0.0095462985, -0.08757798) * go_2(0.0, 1.0); - result += mat4(0.096379586, 0.021887815, -0.05097233, -0.06797989, -0.026171045, 0.022944937, -0.015915364, 0.037667938, 0.17216732, -0.014889412, 0.07343887, 0.028236505, 0.0015047621, 0.1355103, -0.09918284, -0.07673695) * go_2(1.0, -1.0); - result += mat4(-0.25385055, 0.15163356, 0.0030003798, 0.18464413, 0.05611221, 0.099498056, -0.07128191, 0.042955168, 0.027493173, 0.07440157, 0.07814497, 0.096160784, 0.13571084, 0.056412842, -0.031997006, -0.16073681) * go_2(1.0, 0.0); - result += mat4(-0.21634746, 0.025153082, -0.064477116, 0.0005679147, -0.0029436245, 0.12794618, 0.024849026, 0.03018052, 0.11723976, 0.059955597, -0.013594654, 0.09091745, 0.04775348, 0.21260159, -0.07463213, -0.06727042) * go_2(1.0, 1.0); - result += mat4(-0.12166018, 0.024545137, 0.08611618, -0.17627168, 0.09042604, -0.14157623, -0.22147785, 0.09100581, 0.11078359, 0.031410985, -0.17170976, 0.09532806, -0.059569277, 0.09392676, 0.11784347, -0.21471368) * go_3(-1.0, -1.0); - result += mat4(0.1483187, -0.2217563, 0.12032977, 0.14932398, 0.27428308, -0.04568031, 0.12670338, 0.09586169, 0.06700745, 0.005126449, 0.0027694793, -0.033667028, 0.06447861, -0.08585174, -0.05509812, -0.11358761) * go_3(-1.0, 0.0); - result += mat4(-0.22750492, 0.032906335, -0.029479047, 0.11580199, -0.05812372, -0.032269973, 0.05219915, 0.041658226, 0.010897959, 0.065550454, 0.0076911976, -0.045743827, 0.11614996, -0.10393113, -0.0012606392, -0.034367524) * go_3(-1.0, 1.0); - result += mat4(0.09350742, 0.09561609, 0.3735968, 0.031685118, -0.042026598, 0.17006761, -0.3910107, 0.16984761, 0.25679177, 0.036610503, -0.13772772, 0.11101589, -0.1137049, 0.07211461, 0.18065079, -0.12324793) * go_3(0.0, -1.0); - result += mat4(-0.020749722, 0.14413361, -0.061903823, -0.21550268, 0.31306142, -0.11532895, 0.029482557, 0.03282164, -0.09800627, -0.20765196, 0.33030233, 0.075725295, 0.49252015, 0.042455837, -0.07264194, -0.10401895) * go_3(0.0, 0.0); - result += mat4(-0.22697076, -0.15738785, 0.09740376, -0.072098814, -0.06638972, 0.12336611, 0.0073687397, 0.048267826, 0.06717852, -0.027047804, -0.123397194, 0.17829034, 0.04215185, 0.066311836, -0.061742183, -0.046373066) * go_3(0.0, 1.0); - result += mat4(0.041311592, 0.2813485, 0.055084586, -0.01823069, 0.08105147, -0.087944716, -0.10135052, -0.02653456, 0.063169874, -0.1351186, 0.06722432, -0.016406318, 0.08666922, 0.0555909, 0.12086502, -0.17224412) * go_3(1.0, -1.0); - result += mat4(0.26026788, -0.18303715, 0.029279215, -0.12858874, 0.027197823, 0.0919464, 0.00849638, 0.10547888, -0.12952055, -0.14414985, 0.1903315, 0.05004528, -0.12657289, 0.038008716, -0.036606666, -0.054025438) * go_3(1.0, 0.0); - result += mat4(0.069167465, 0.2699947, -0.11137602, -0.05888806, -0.107324794, -0.07598601, 0.06042177, 0.0064530694, -0.039780665, -0.076666445, -0.00846108, -0.06165907, -0.06978219, -0.19108103, -0.040026028, -0.120319635) * go_3(1.0, 1.0); - result += vec4(-0.14375664, -0.0056876075, 0.052177623, 0.07152566); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.15667982, -0.31441393, 0.29112124, -0.15737213, 0.022372838, 0.10690639, -0.12019085, -0.051941186, -0.30367845, 0.02612279, 0.2372532, 0.2021648, -0.20481086, -0.003770439, 0.14981231, 0.066780254) * go_0(-1.0, -1.0); - result += mat4(0.03270688, -0.42270073, 0.044317324, 0.15907793, 0.14681059, -0.2934784, 0.24933252, -0.067273855, 0.07752533, -0.23194817, 0.0686707, 0.08999225, 0.121678345, -0.12916678, 0.012397381, 0.012315053) * go_0(-1.0, 0.0); - result += mat4(-0.10090412, -0.20792678, 0.11076032, -0.02938975, -0.1944187, -0.2003259, 0.04438032, 0.36946484, -0.019868722, -0.15830222, 0.042811528, 0.015641417, 0.113098525, 0.080257006, 0.011135628, -0.2877629) * go_0(-1.0, 1.0); - result += mat4(0.15482685, 0.06579119, 0.28301102, 0.23729764, 0.15990537, 0.4529694, 0.107880585, 0.10668121, -0.42430598, -0.2631025, 0.10513542, -0.036242936, -0.09827965, -0.0069260495, -0.11689201, -0.041436482) * go_0(0.0, -1.0); - result += mat4(0.08472191, -0.13051608, 0.047930017, 0.36831668, 0.1164478, 0.21384816, 0.22062506, 0.2094167, 0.48668453, 0.32302913, 0.36268055, -0.091801375, -0.079141125, -0.26613805, -0.16608004, 0.03810683) * go_0(0.0, 0.0); - result += mat4(-0.13474251, -0.04824603, 0.23303726, -0.116136365, 0.0056330245, 0.15829784, 0.0012259148, 0.12648389, 0.038680512, 0.05131116, 0.024099711, 0.4555406, 0.0035716395, 0.11633299, 0.094744846, -0.2457627) * go_0(0.0, 1.0); - result += mat4(-0.0576871, -0.04037522, 0.16857862, 0.0031084458, -0.027274646, -0.18154246, 0.13337846, 0.035422433, -0.0030749738, -0.17288287, 0.019983152, -0.31871706, -0.03280405, 0.06825421, -0.1563798, 0.05031885) * go_0(1.0, -1.0); - result += mat4(-0.066631876, 0.012560506, 0.1690693, -0.018248236, 0.0450104, 0.016296914, -0.14910112, -0.16191053, 0.5078224, -0.017615631, 0.15226597, -0.13373777, 0.20148668, 0.060258996, 0.13215344, 0.18430072) * go_0(1.0, 0.0); - result += mat4(0.12976126, -0.072738245, 0.053067926, 0.09752956, -0.04716214, 0.04136464, 0.014162617, -0.06621296, -0.09617736, 0.057469178, 0.01280261, -0.042976785, -0.12570308, 0.006027807, 0.031038594, 0.06569918) * go_0(1.0, 1.0); - result += mat4(-0.12655424, -0.41563693, -0.030971345, -0.06357555, -0.14121394, -0.15667427, 0.14398985, 0.05995984, 0.0821605, 0.12462943, 0.007492498, -0.0030187522, -0.22804567, -0.10487421, 0.13180672, -0.13978589) * go_1(-1.0, -1.0); - result += mat4(-0.075991526, 0.12352044, -0.17844258, 0.010614991, -0.18293494, 0.25009897, -0.080779895, 0.21548378, 0.22215544, 0.048670914, -0.057372037, 0.078176, 0.17490411, 0.004919551, 0.059619516, 0.12660357) * go_1(-1.0, 0.0); - result += mat4(-0.06282951, 0.10929357, 0.026720649, -0.15939257, 0.17107709, -0.04334904, -0.03047162, -0.101681694, 0.03118431, 0.19994627, 0.025729552, 0.035035726, -0.0012207883, -0.08618888, 0.061205562, 0.009940555) * go_1(-1.0, 1.0); - result += mat4(-0.23581573, 0.08002133, -0.15170844, 0.08872338, -0.25767094, -0.09273545, 0.18153891, 0.2544269, -0.084598936, -0.089766875, -0.14610913, 0.002247754, 0.1802837, -0.019625561, 0.30239686, -0.032793984) * go_1(0.0, -1.0); - result += mat4(0.5223286, 0.10347663, 0.4000593, 0.25440502, -0.07646958, -0.31940606, 0.053407036, -0.09356492, 0.2738851, 0.23945184, -0.2907089, -0.45822915, 0.13415676, 0.17187089, 0.08731114, -0.27670014) * go_1(0.0, 0.0); - result += mat4(0.059273496, -0.107137166, 0.12087539, 0.179237, -0.021209063, -0.02548005, 0.061256204, 0.033822674, 0.54491127, -0.2475085, 0.08055858, -0.4071213, -0.045093834, 0.07161349, 0.08219979, -0.31735933) * go_1(0.0, 1.0); - result += mat4(-0.29527053, 0.021469543, 0.07202354, -0.07103959, 0.03990857, 0.2490762, -0.19419849, -0.13916986, -0.05325315, 0.12922864, -0.041463424, -0.031249814, 0.073991664, -0.09723187, 0.35132217, 0.024760868) * go_1(1.0, -1.0); - result += mat4(0.09606787, -0.0951808, -0.0059865676, -0.052033573, -0.3118038, 0.4432636, -0.12943317, 0.09484738, 0.10621756, -0.10550469, 0.11264014, 0.1402276, -0.012679125, -0.08809835, 0.029994955, -0.15121669) * go_1(1.0, 0.0); - result += mat4(0.123397775, 0.048338536, -0.00975707, -0.103767075, -0.041053303, -0.07228534, 0.046792876, 0.0668788, 0.29554394, 0.012451002, 0.19568972, 0.112091154, 0.10882395, -0.0995439, 0.051324263, 0.24967718) * go_1(1.0, 1.0); - result += mat4(0.2699648, 0.17300771, -0.16056584, 0.1099392, 0.11674778, -0.19811755, 0.111880325, -0.06075038, -0.095849104, -0.04510651, -0.04180761, -0.0052786698, 0.11037549, -0.24115366, 0.018509468, -0.07819484) * go_2(-1.0, -1.0); - result += mat4(0.10981622, 0.044488225, 0.050722387, -0.3146652, -0.0013019707, -0.24084032, -0.10475088, 0.026944289, 0.1592903, 0.33087498, 0.061839584, -0.043863457, -0.06904603, -0.08635262, 0.088630445, -0.15485142) * go_2(-1.0, 0.0); - result += mat4(-0.06810522, 0.19927117, -0.08130387, 0.11612667, -0.015104349, -7.738651e-05, -0.06419643, -0.14813533, 0.026650215, 0.015038833, 0.08161237, 0.058321163, 0.015005185, -0.16189656, 0.024501886, 0.1927279) * go_2(-1.0, 1.0); - result += mat4(0.31858218, 0.11962043, -0.20560326, -0.13190113, 0.02138715, -0.057066392, -0.085771754, -0.124566585, 0.044749223, 0.13687828, 0.1195792, 0.14021616, 0.26204133, 0.05119197, -0.13980037, 0.050747477) * go_2(0.0, -1.0); - result += mat4(-0.21238558, -0.0734057, -0.2036023, -0.34308743, -0.29370925, 0.2393742, -0.37877437, 0.036869828, -0.17053255, -0.26900926, -0.23330869, 0.32902205, -0.4882585, 0.27430108, -0.033711653, 0.15501487) * go_2(0.0, 0.0); - result += mat4(0.23487025, 0.085289046, -0.14281847, 0.12543266, 0.15871634, -0.13858907, 0.14810285, -0.0239261, 0.1286852, 0.07754033, 0.01072327, -0.14313328, 0.05480442, -0.12195059, 0.11341822, 0.08224607) * go_2(0.0, 1.0); - result += mat4(0.19490337, 0.023521842, -0.24548791, 0.0035114093, -0.07937166, -0.07674376, 0.08365873, -0.003286068, 0.023862893, 0.009626835, 0.032829892, 0.0078141205, 0.053484406, -0.08297165, 0.09303188, 0.004273738) * go_2(1.0, -1.0); - result += mat4(-0.0032906602, 0.13636959, 0.027821168, 0.06270053, 0.024775786, -0.077529594, 0.03799126, 0.030000908, 0.031749167, 0.04360487, 0.004448846, -0.17835903, -0.30834544, 0.013150946, -0.13758293, -0.03296242) * go_2(1.0, 0.0); - result += mat4(-0.14166978, 0.034131095, 0.049779188, 0.09453289, -0.011406557, -0.07020709, -0.0031981543, -0.03443845, -0.00010218944, 0.0855161, -0.10951453, 0.042758763, 0.1718446, -0.1577923, 0.0410027, -0.04992991) * go_2(1.0, 1.0); - result += mat4(0.1219178, 0.105126485, -0.041097324, -0.08110963, -0.04857337, -0.11544925, -0.14572923, 0.092435546, 0.091857366, 0.15425235, -0.020324683, -0.05764375, -0.020458939, -0.10527823, -0.085554086, 0.16358297) * go_3(-1.0, -1.0); - result += mat4(-0.12372687, -0.009976829, 0.14252265, -0.1321053, -0.05965866, -0.1393898, -0.017603246, -0.02714342, -0.16824952, -0.23083204, -0.012299022, -0.06689838, -0.015830487, 0.21299921, -0.11637202, 0.0074968333) * go_3(-1.0, 0.0); - result += mat4(-0.01979935, -0.182785, -0.015397454, 0.14175794, -0.011465284, 0.11285164, -0.036115747, 0.07150463, -0.083641894, -0.10221778, -0.13871445, 0.099696055, 0.04603662, -0.06463785, -0.007984529, -0.0032940735) * go_3(-1.0, 1.0); - result += mat4(0.072830334, -0.057334073, 0.09086239, 0.13039105, 0.06350303, 0.17130788, -0.2181585, -0.09137403, -0.31397742, -0.019071499, -0.017274613, 0.13762084, 0.10195637, -0.021455176, 0.04011394, -0.08029658) * go_3(0.0, -1.0); - result += mat4(-0.26982597, -0.40265098, -0.4151411, 0.038557775, -0.095602125, 0.3503172, -0.029988842, -0.03484708, 0.095536314, -0.0030311556, 0.31589827, 0.52763534, -0.12629713, -0.24356791, 0.0059487303, 0.42298427) * go_3(0.0, 0.0); - result += mat4(0.054166105, 0.18827972, -0.081673265, -0.06720384, 0.09375001, 0.22173035, -0.14050071, 0.108400136, -0.15553835, -0.08716729, -0.037366748, 0.10971073, -0.02560103, -0.26702073, -0.05201882, 0.2432563) * go_3(0.0, 1.0); - result += mat4(0.16196893, 0.0889265, -0.09887943, -0.042956755, -0.054403376, -0.123823255, 0.045847844, 0.017027669, 0.00539936, -0.112265736, 0.050549984, -0.104931094, -0.06883012, -0.25745714, 0.11155538, -0.15363649) * go_3(1.0, -1.0); - result += mat4(-0.22157209, 0.18200903, -0.13290548, 0.026721261, -0.06066069, -0.18150693, 0.08768983, 0.037362453, -0.1073367, -0.070236765, -0.41223463, -0.168915, -0.15517351, -0.13949952, -0.13307643, -0.15935421) * go_3(1.0, 0.0); - result += mat4(-0.026589906, 0.0930502, 0.05195435, 0.06301585, -0.01107014, -0.019382332, 0.027223695, -0.004045145, -0.15238355, -0.0345132, 0.06355168, 0.0011230056, 0.16690113, 0.0017829507, -0.0023939044, -0.09471834) * go_3(1.0, 1.0); - result += vec4(0.024455175, 0.01669877, -0.066231176, 0.036848705); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!SAVE conv2d_5_tf1 -//!WIDTH conv2d_4_tf.w -//!HEIGHT conv2d_4_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.01763509, -0.17156707, -0.06841296, -0.026132878, -0.10600523, 0.11245994, 0.121395074, -0.09331501, 0.12764473, 0.0428028, -0.11837395, 0.2092563, -0.04357652, -0.0490096, 0.024701532, 0.10518723) * go_0(-1.0, -1.0); - result += mat4(-0.17130826, -0.31987694, -0.07639005, 0.21362033, 0.058639023, 0.066175915, -0.25344703, -0.07923442, -0.14766373, 0.040518284, -0.031103026, -0.040075514, -0.051108997, -0.28214613, -0.18504949, 0.27544948) * go_0(-1.0, 0.0); - result += mat4(0.030991005, -0.011353306, 0.15237464, 0.15458584, 0.1250524, 0.19959912, 0.14049476, 0.38410887, 0.07378578, -0.017728366, 0.0963528, -0.043756213, -0.039577194, -0.11800575, -0.08392266, -0.07599512) * go_0(-1.0, 1.0); - result += mat4(0.022089608, -0.027317125, 0.051330008, -0.0075439885, 0.021650828, -0.0009390209, -0.12043464, 0.049332134, -0.055557396, -0.053297505, -0.0918705, -0.13089466, -0.10994107, 0.072746456, 0.11496739, -0.05225977) * go_0(0.0, -1.0); - result += mat4(0.29730305, 0.26317745, 0.052159555, -0.32006654, 0.48288685, -0.049926184, -0.08091092, -0.13825637, -0.1485706, -0.288657, -0.41443697, 0.06856032, -0.23809211, -0.12953928, 0.4783034, -0.47557938) * go_0(0.0, 0.0); - result += mat4(0.026139118, -0.23031352, 0.04861487, 0.033556074, 0.2702056, 0.22802536, -0.15385233, 0.1664119, 0.18749923, 0.36927548, -0.011473684, -0.11771165, -0.16859052, -0.4513202, 0.12863952, 0.02482837) * go_0(0.0, 1.0); - result += mat4(0.0073229345, -0.061915245, 0.06710329, 0.0062416573, -0.00555983, 0.14592186, 0.11201052, -0.123630054, 0.32611257, -0.11279885, -0.059449438, 0.2891043, -0.10519016, 0.040108994, -0.012468261, 0.02083298) * go_0(1.0, -1.0); - result += mat4(-0.057483062, 0.08454755, -0.15529329, -0.12572923, 0.2600099, -0.02319978, -0.04037675, 0.11496361, 0.07728194, -0.12908956, -0.025529336, 0.112581626, 0.02971823, 0.11659056, -0.01298622, 0.017061908) * go_0(1.0, 0.0); - result += mat4(0.22417091, -0.00222947, 0.04980858, 0.12260437, -0.025507605, 0.042577885, 0.120813504, -0.048522256, -0.038494784, -0.0072195013, -0.23012944, -0.020850847, -0.078296244, -0.014830018, 0.19759563, -0.10000253) * go_0(1.0, 1.0); - result += mat4(-0.032090195, 0.023757193, -0.08989734, 0.14419042, 0.0112194475, -0.093776144, -0.020197887, 0.29295877, 0.06872183, 0.09511462, -0.03245769, -0.06504889, 0.05132126, 0.00399527, 0.075911656, 0.250893) * go_1(-1.0, -1.0); - result += mat4(-0.3418496, 0.25525784, 0.0018161442, 0.028484365, -0.17573346, -0.12457501, 0.18466166, 0.20209278, 0.10282706, 0.16353399, 0.025052028, -0.059714165, -0.055806916, -0.28651386, 0.112798095, 0.11624314) * go_1(-1.0, 0.0); - result += mat4(-0.018793896, 0.07500149, -0.01728254, -0.1726998, -0.13333, 0.09590344, -0.036537904, -0.11522523, 0.19445558, 0.22680458, 0.12061006, -0.06225618, 0.1127748, 0.28380096, -0.07099846, -0.007440302) * go_1(-1.0, 1.0); - result += mat4(-0.43887648, -0.10018577, -0.29267642, 0.12149727, -0.14333835, 0.04161915, 0.19442867, 0.16506511, 0.09655387, -0.0014398015, 0.13189743, -0.14068556, 0.049408, 0.0829072, 0.2950336, 0.36965907) * go_1(0.0, -1.0); - result += mat4(0.41486958, -0.023498302, -0.37900022, -0.31752598, 0.13758768, -0.18782206, -0.31358528, 0.3330786, -0.4039293, -0.06539036, 0.032599606, 0.10663507, -0.26369813, -0.17365438, 0.20723309, 0.1801556) * go_1(0.0, 0.0); - result += mat4(0.004117444, -0.14894462, 0.14915143, -0.047375835, -0.2609916, -0.10172324, -0.14925237, -0.33830285, 0.12131607, -0.18156646, -0.42382464, -0.052582145, 0.2329045, -0.4576963, 0.13756892, 0.055571318) * go_1(0.0, 1.0); - result += mat4(-0.31689477, 0.017058033, -0.01904924, -0.016893756, -0.011479519, 0.07316262, -0.07086077, 0.08923511, -0.08190091, -0.025866933, -0.06909204, -0.028601022, 0.023224542, 0.03082087, 0.2230426, -0.16713654) * go_1(1.0, -1.0); - result += mat4(0.13457374, 0.110913865, -0.1130815, -0.031438913, -0.55201167, 0.04831016, 0.25107765, -0.014003224, 0.19532952, 0.02062346, 0.04839241, 0.088673405, 0.30325848, -0.20222804, -0.085780576, 0.22512968) * go_1(1.0, 0.0); - result += mat4(0.076354, 0.021940092, -0.16170324, 0.0025543426, -0.0032400405, -0.0046705627, 0.06241069, -0.031247333, 0.098353796, 0.03723474, 0.22971998, -0.017877292, 0.119858086, 0.008041448, 0.2140585, 0.10343376) * go_1(1.0, 1.0); - result += mat4(0.08627595, 0.04532834, 0.027579082, -0.16222088, 0.15583228, -0.14371829, -0.07243855, -0.111895435, -0.14438897, -0.10250594, 0.0034202964, -0.066547595, -0.034390844, -0.021545287, 0.014540157, -0.10215731) * go_2(-1.0, -1.0); - result += mat4(0.19720152, 0.21534947, 0.1130938, -0.011730973, 0.013247983, -0.10344174, -0.1906514, -0.015767017, -0.020093633, -0.26487067, -0.005960781, -0.057149183, 0.030110173, 0.047692046, -0.19308545, -0.25292158) * go_2(-1.0, 0.0); - result += mat4(0.039498243, 0.053682897, -0.01844695, -0.017540915, 0.039454967, -0.27696076, 0.09503274, -0.038958035, 0.17321438, -0.036311295, 0.03123055, 0.02310311, 0.040591653, 0.0054627894, -0.03520426, -0.026101988) * go_2(-1.0, 1.0); - result += mat4(0.055991564, 0.06512919, -0.12532505, 0.024075158, -0.04926237, -0.11701171, 0.026792146, 0.013033238, -0.052847516, -0.01550091, -0.008442071, -0.077945165, -0.033220004, -0.13678443, -0.07040586, 0.121846326) * go_2(0.0, -1.0); - result += mat4(-0.19537796, -0.016634773, 0.10707109, -0.024361614, -0.16002733, -0.44066608, 0.16488662, 0.013152995, 0.22407806, 0.12854017, 0.19028598, -0.08379244, -0.05594235, -0.15909895, 0.511962, 0.39027596) * go_2(0.0, 0.0); - result += mat4(-0.032652248, 0.06004893, 0.011166194, 0.102761306, -0.035113614, -0.29961765, -0.013817978, 0.20938557, 0.08488225, -0.1118558, -0.0375328, -0.035511103, 0.0046933405, 0.20203683, -0.13552529, -0.12685429) * go_2(0.0, 1.0); - result += mat4(0.03054923, 0.08224908, -0.059128158, -0.02583655, -0.02133876, 0.0048713544, 0.10848829, 0.06324404, 0.028332822, -0.011002306, -0.027557913, -0.06072362, 0.1019048, -0.02587316, 0.08563405, -0.08119947) * go_2(1.0, -1.0); - result += mat4(-0.10568117, 0.1075248, 0.19379964, -0.14337265, 0.019374132, -0.0907804, -0.13827625, -0.03628561, 0.014735499, -0.026882607, -0.25948793, 0.034926686, -0.05988073, -0.22735636, 0.053511668, 0.04765336) * go_2(1.0, 0.0); - result += mat4(-0.029848114, 0.09183966, 0.084713496, 0.09422864, 0.069713995, -0.10584984, -0.020899031, 0.059645247, -0.075805016, -0.01828552, 0.06689195, -0.13804196, -0.023465823, -0.034038994, -0.12946706, 0.058709413) * go_2(1.0, 1.0); - result += mat4(0.061918218, 0.038984764, 0.013660938, -0.19340219, -0.014949839, 0.12946278, 0.12725051, 0.13429146, 0.05993008, -0.015394284, 0.011232483, 0.0344157, 0.022161875, -0.023923954, 0.061736204, 0.025963215) * go_3(-1.0, -1.0); - result += mat4(0.048136763, 0.03162042, -0.01967249, 0.06374493, 0.034645267, 0.22403605, 0.036197048, -0.06903216, -0.1024706, -0.0005459356, 0.049185563, 0.16309108, 0.07394778, 0.10351343, 0.28430694, -0.13531347) * go_3(-1.0, 0.0); - result += mat4(-0.14705071, -0.09458433, 0.03063114, 0.07901115, -0.11911086, -0.06428132, -0.013549552, -0.041342866, -0.20770676, -0.15104479, 0.054365363, -0.11652907, 0.05639815, 0.070518605, 0.0017846811, -0.00056205114) * go_3(-1.0, 1.0); - result += mat4(0.27148908, 0.07358356, 0.13644488, -0.13824654, 0.0112991175, -0.021521023, -0.10197379, 0.007816017, -0.13314332, 0.12318473, -0.043214846, -0.15759036, -0.19744353, -0.10267182, -0.28249928, 0.11233295) * go_3(0.0, -1.0); - result += mat4(-0.096474804, 0.17893109, 0.014679829, -0.21218887, -0.24170275, 0.10603527, 0.05375366, -0.059315052, 0.17087384, 0.13633691, -0.37958893, 0.43264794, 0.17829923, 0.06485103, -0.37551817, -0.22082718) * go_3(0.0, 0.0); - result += mat4(-0.30536333, -0.033212308, -0.25232, 0.11730442, -0.11176368, 0.26223183, -0.049025323, -0.01375941, -0.29028055, 0.16842811, -0.035684332, -0.4180911, -0.1611732, 0.07683385, -0.14263596, 0.17508087) * go_3(0.0, 1.0); - result += mat4(0.23580009, 0.025621435, -0.15757325, 0.008123166, -0.021905439, -0.02162503, -0.059497356, -0.01636353, 0.047654126, -0.084423855, -0.033733923, 0.0127116265, -0.059593942, -0.053935718, -0.050729543, 0.013887048) * go_3(1.0, -1.0); - result += mat4(-0.19232626, 0.07915767, -0.05909752, 0.007695347, 0.058876406, 0.057521783, -0.080253534, 0.2011056, -0.27965516, -0.08033169, -0.13025513, 0.12854645, 0.053400308, -0.18445957, -0.18463044, 0.27920377) * go_3(1.0, 0.0); - result += mat4(-0.061806213, -0.020037206, 0.003183183, -0.029844081, -0.039553937, 0.028905323, -0.11367984, -0.097321615, -0.10112643, 0.0039709485, -0.06020118, -0.23871279, -0.077974856, 0.05806996, -0.21440302, 0.11898043) * go_3(1.0, 1.0); - result += vec4(-0.023832673, 0.03702965, -0.04749135, -0.10982549); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.030931145, 0.013683292, -0.0650242, -0.028732346, 0.120067924, -0.029404473, 0.0038229884, -0.14631765, 0.041900825, -0.076596744, -0.11096378, -0.27100095, 0.0052598766, -0.05929686, -0.06816563, -0.086864315) * go_0(-1.0, -1.0); - result += mat4(-0.043620087, -0.16360405, 0.006527374, 0.15706524, 0.08338088, -0.19027525, 0.22595987, -0.054963548, 0.01825031, -0.03149212, 0.025471251, 0.06429379, -0.011633275, -0.079389006, -0.0030728737, 0.17345747) * go_0(-1.0, 0.0); - result += mat4(-0.011275288, -0.10668036, 0.05718997, 0.010336089, 0.33393976, -0.2029354, 0.075444475, -0.092244044, 0.07605498, 0.20125951, 0.10493973, -0.12306946, 0.03658231, 0.08233366, -0.12205888, -0.116969004) * go_0(-1.0, 1.0); - result += mat4(-0.0070305974, 0.105127215, 0.006041873, 0.26743913, 0.028119443, 0.14823505, -0.28344348, 0.12362866, -0.1215781, 0.08104382, 0.102011785, 0.085380934, 0.061244503, -0.06230063, -0.05353345, 0.1166729) * go_0(0.0, -1.0); - result += mat4(0.08945733, 0.4101902, -0.06404005, 0.040728435, 0.13076581, -0.20805469, -0.10897316, -0.14924604, 0.10090762, 0.015475414, 0.26346552, 0.12096677, -0.20199244, 0.2780031, 0.18515368, 0.35105625) * go_0(0.0, 0.0); - result += mat4(0.07463155, 0.26932517, -0.06768551, 0.10470878, -0.1423996, 0.013550665, -0.06167201, -0.1022994, -0.3107166, -0.15609552, 0.1695213, -0.1277181, 0.12582655, -0.1596128, 0.015612055, -0.19826376) * go_0(0.0, 1.0); - result += mat4(0.011745468, 0.006471601, 0.008110513, 0.025831396, 0.1272883, -0.221959, 0.11993834, -0.007903633, 0.009993582, -0.10170755, 0.026594637, -0.027883623, 0.030666083, -0.036415886, 0.007469573, 0.0674783) * go_0(1.0, -1.0); - result += mat4(-0.022760388, -0.10911659, -0.012589904, -0.046462692, 0.36987287, 0.71668935, -0.04466556, 0.12082762, 0.0026539841, 0.07070946, -0.00020439121, -0.13925348, 0.08672072, 0.20075354, -0.066352285, 0.14655356) * go_0(1.0, 0.0); - result += mat4(-0.081081845, -0.21956222, 0.06781787, -0.106362104, -0.03016425, -0.010460211, -0.009725996, -0.009805538, 0.07037355, 0.19254607, 0.038890257, 0.29580075, -0.10355764, 0.12613009, 0.02485986, -0.031927988) * go_0(1.0, 1.0); - result += mat4(-0.13882205, 0.21770848, 0.015392157, 0.010310204, 0.008225721, 0.07457836, 0.09984027, -0.25452816, 0.2193511, -0.22262146, -0.12950355, 0.026151875, 0.022114651, -0.030566849, 0.034688126, 0.03047327) * go_1(-1.0, -1.0); - result += mat4(0.0363441, 0.19290726, -0.1143055, 0.30871987, -0.05780708, 0.082128406, -0.115280904, 0.07636388, 0.48947453, -0.29715258, 0.146737, -0.3275992, -0.055972476, -0.09991753, 0.17435446, 0.10917291) * go_1(-1.0, 0.0); - result += mat4(0.026389305, 0.054523308, -0.028950177, 0.06913328, -0.18626037, 0.08829993, 0.10407121, 0.001246911, 0.103938825, -0.3117343, -0.045564886, 0.07316613, 0.0027089121, 0.099437356, -0.046500806, -0.0927284) * go_1(-1.0, 1.0); - result += mat4(0.051037624, -0.2068234, 0.061572235, -0.3345198, 0.16960172, -0.30289862, -0.002583443, 0.39312238, 0.08246557, 0.16374862, -0.31902805, -0.13205275, -0.032050006, 0.01670186, 0.13852347, 0.120012194) * go_1(0.0, -1.0); - result += mat4(-0.67096996, -0.06274476, 0.18575665, 0.80282855, 0.23201196, -0.0054729837, 0.050396994, -0.42014772, 0.34904522, 0.26281372, 0.24697208, 0.55475426, 0.49850988, -0.06581312, -0.0068906257, -0.15741143) * go_1(0.0, 0.0); - result += mat4(-0.04252036, -0.28224963, 0.009723064, 0.116357096, 0.2992567, -0.26702902, -0.05648925, 0.12729199, -0.37574205, 0.54211813, -0.25248805, -0.13023548, 0.18903324, -0.5182459, 0.0141203115, -0.19444294) * go_1(0.0, 1.0); - result += mat4(-0.0017735233, -0.010132458, -0.040924776, -0.13767008, 0.20757031, -0.06509882, -0.09756446, 0.018974079, 0.090851985, -0.010158765, -0.03999607, -0.12055641, 0.03629025, -0.018645551, -0.05506811, -0.014202848) * go_1(1.0, -1.0); - result += mat4(0.16203491, 0.011118734, -0.18486023, -0.024290733, -0.3673846, -0.20295864, 0.23055002, -0.1555852, -0.02706522, 0.03262891, 0.008724611, -0.03760652, -0.20946771, -0.01951837, 0.16955496, 0.11690098) * go_1(1.0, 0.0); - result += mat4(0.0783421, 0.22656651, -0.15715368, -0.024174158, 0.020260733, 0.032390315, -0.029133298, 0.086601086, 0.13871798, -0.12525433, 0.16097449, 0.058946393, 0.029865682, 0.08508385, 0.040569812, -0.09402932) * go_1(1.0, 1.0); - result += mat4(-0.05063873, 0.11269313, -0.057484943, -0.13579641, 0.047973365, -0.07103839, -0.07838756, -0.0028928046, -0.019466015, 0.018428024, 0.010016324, -0.057396665, -0.19495595, 0.034307264, -0.022888038, 0.08112259) * go_2(-1.0, -1.0); - result += mat4(-0.09790086, 0.10613111, 0.06611674, 0.19356097, -0.00073371036, -0.019078335, 0.076719105, -0.016212497, -0.3283475, -0.07547389, -0.08140701, 0.3185625, -0.25060275, 0.16820994, -0.123497784, 0.43272668) * go_2(-1.0, 0.0); - result += mat4(-0.06365342, 0.11186735, -0.17493224, -0.04207358, 0.0003117533, 0.034089327, -3.067692e-05, -0.03422754, 0.16267666, 0.054771993, 0.048384454, -0.041866794, 0.0036008756, 0.0021496525, 0.20258942, -0.06297619) * go_2(-1.0, 1.0); - result += mat4(0.03578836, 0.08763908, -0.22370125, -0.32465744, 0.019142643, 0.011316954, 0.17920344, 0.031633645, 0.03766343, -0.116487674, -0.05281752, -0.018965483, 0.049297336, -0.34511214, 0.42598158, 0.051361635) * go_2(0.0, -1.0); - result += mat4(0.26638633, -0.33628765, 0.04437907, 0.09616201, -0.020049393, 0.2560829, -0.027108455, 0.255752, 0.3666511, 0.052277412, -0.46667686, 0.48482272, 0.51302284, -0.06941614, -0.17967525, -0.07889891) * go_2(0.0, 0.0); - result += mat4(0.18503937, 0.088710256, 0.2083147, -0.20758459, -0.036416974, 0.018303726, 0.03729963, -0.035969947, -0.2685231, -0.42169708, -0.039593916, -0.02642618, 0.29050872, -0.25723743, -0.111259766, 0.15001127) * go_2(0.0, 1.0); - result += mat4(-0.026473878, -0.07241443, 0.022400148, -0.03214132, 0.0859297, -0.0036677981, -0.07039137, 0.03703108, 0.042322673, -0.01222808, -0.08151938, 0.033109214, -0.048737407, 0.25929528, -0.40535828, -0.123594694) * go_2(1.0, -1.0); - result += mat4(0.10233285, 0.22455986, -0.13368733, 0.033236265, -0.052114893, -0.11709317, 0.009709581, 0.19201641, -0.02973698, 0.032114245, -0.09771862, 0.085680574, 0.15827927, -0.15042172, 0.21833214, -0.13262676) * go_2(1.0, 0.0); - result += mat4(-0.08460587, -0.09473209, 0.019323658, -0.057233352, 0.0019434267, -0.14437936, 0.034232683, 0.0030602294, -0.023598112, 0.10692026, -0.09960999, 0.005887181, 0.014738836, -0.32473162, -0.10886747, -0.08365826) * go_2(1.0, 1.0); - result += mat4(0.10900178, 0.00080280803, -0.14009437, -0.053074867, -0.07811151, -0.03456029, -0.104943685, 0.016918905, -0.11335709, 0.079421654, 0.13481963, 0.037818357, -0.027339859, 0.05856774, -0.044562265, 0.03908084) * go_3(-1.0, -1.0); - result += mat4(0.07628258, -0.23815769, 0.2840278, -0.3541637, -0.044292126, -0.09310441, -0.1335055, -0.031899665, -0.11981227, 0.24012394, -0.041896038, -0.10168982, 0.20248915, -0.10036763, -0.044115108, 0.08520525) * go_3(-1.0, 0.0); - result += mat4(0.07234102, -0.119480744, -0.01401321, -0.025182616, -0.031284854, -0.050089385, 0.014808948, 0.038662236, -0.18539418, 0.017342187, 0.023812262, 0.13428104, 0.020824855, -0.07433546, 0.054307282, 0.08511016) * go_3(-1.0, 1.0); - result += mat4(-0.11046813, -0.04663274, 0.33497185, 0.023273284, -0.24681108, 0.116665915, 0.12045893, 0.13306482, -0.039098527, 0.04747061, 0.042796664, 0.053514794, 0.011861975, -0.048702, 0.008408589, -0.09497112) * go_3(0.0, -1.0); - result += mat4(0.34634927, 0.37973458, -0.79267627, -0.7362719, 0.35489878, -0.07635863, 0.24082923, -0.27480397, -0.3236968, -0.25523046, 0.05118527, -0.040529836, -0.6000509, 0.39020586, 0.27632973, 0.5141453) * go_3(0.0, 0.0); - result += mat4(0.16761221, -0.033125393, 0.00561569, 0.083019435, -0.101278506, 0.07810264, 0.12060661, 0.16048536, 0.14257826, -0.15996903, 0.018831912, -0.094429865, -0.22227801, 0.426937, -0.054677445, 0.05067348) * go_3(0.0, 1.0); - result += mat4(0.02233958, 0.02608942, -0.045318656, 0.06509929, 0.035911568, 0.025316885, 0.0840986, 0.08326237, 0.048455603, -0.13630742, 0.07230253, -0.047261715, -0.092630014, 0.04786565, 0.10354939, -0.07094341) * go_3(1.0, -1.0); - result += mat4(-0.1463382, -0.14900577, 0.2835977, -0.106733374, -0.11554754, -0.168429, -0.1411373, -0.20654152, -0.06388508, 0.039648015, 0.08543832, -0.13253337, 0.017264463, -0.06346233, -0.10823598, 0.067361064) * go_3(1.0, 0.0); - result += mat4(0.04419582, 0.039152585, 0.06222691, 0.05757103, 0.012084537, 0.051425997, -0.061130576, 0.16752882, 0.07497411, 0.13495837, -0.15585983, -0.02050144, -0.08555421, -0.09147339, 0.025115604, 0.05948922) * go_3(1.0, 1.0); - result += vec4(0.00590038, 0.03082865, 0.002111702, -0.03330112); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_5_tf.w -//!HEIGHT conv2d_5_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009029573, 0.029218858, 0.029705316, -0.019268971, -0.0023235187, -0.072589695, 0.1424836, 0.09049359, 0.04342995, 0.18134294, 0.018145641, 0.14789368, 0.050923645, 0.06524081, 0.036812488, 0.11108108) * go_0(-1.0, -1.0); - result += mat4(-0.026506428, 0.016968496, 0.015961196, 0.010030791, -0.3141888, -0.06769598, -0.23920257, -0.031002127, -0.07351358, -0.19290134, -0.24282931, -0.18831016, -0.0928966, 0.075177215, -0.19699521, -0.05810917) * go_0(-1.0, 0.0); - result += mat4(-0.017991852, -0.079427645, 0.035970494, -0.017095685, -0.27197137, -0.20046075, 0.2616644, 0.021876303, -0.077394076, -0.04978692, 0.20363241, -0.013741705, -0.032103598, 0.14403099, 0.01442474, 0.048115995) * go_0(-1.0, 1.0); - result += mat4(-0.16939245, -0.001777, 0.026244136, -0.14122388, -0.056853324, 0.54357284, -0.19769607, -0.03187079, 0.04559263, -0.16048127, 0.12830622, 0.1442168, 0.006611398, -0.01618195, 0.012860053, -0.16539487) * go_0(0.0, -1.0); - result += mat4(0.13116026, -0.006161343, 0.7209969, 0.18338475, 0.3099777, 0.6500026, 0.3883795, -0.021434233, 0.31667513, 0.008917659, 0.14124091, -0.22335114, 0.12198921, -0.16449445, 0.08773425, 0.30054978) * go_0(0.0, 0.0); - result += mat4(-0.10413989, -0.10316161, 0.04342709, -0.021252686, 0.120892406, 0.37798002, -0.35963747, 0.021069285, 0.37587845, -0.08159587, 0.011139747, 0.2501104, -0.094568014, 0.037900843, -0.025109999, -0.030106556) * go_0(0.0, 1.0); - result += mat4(0.09680291, -0.040868275, 0.051731605, 0.089064725, -0.56098557, -0.38148618, -0.017037416, 0.08508287, -0.019247344, 0.019857002, -0.03512887, 0.031057188, -0.09648583, -0.04474188, 0.028748507, -0.11880965) * go_0(1.0, -1.0); - result += mat4(-0.010236943, 0.04257042, -0.08202597, -0.004203426, -0.26801527, -0.11716526, -0.017402772, -0.05819106, -0.13394608, 0.0234606, -0.15404865, -0.06801164, -0.0047627664, -0.1975249, 0.09420144, 0.23249897) * go_0(1.0, 0.0); - result += mat4(0.107361935, 0.07373787, 0.06242962, 0.05236332, -0.028867323, 0.025924044, -0.042526353, -0.0015729597, -0.1323144, -0.4040712, 0.023919407, -0.09535502, 0.049100045, 0.081110805, 0.08946112, 0.058505684) * go_0(1.0, 1.0); - result += mat4(0.13236825, -0.04468476, -0.04426802, 0.031087106, -0.09093992, -0.07470971, -0.01591504, 0.05924266, -0.21910913, 0.065537, -0.18358919, -0.02533145, -0.1512009, -0.04953928, 0.015540006, -0.0043442883) * go_1(-1.0, -1.0); - result += mat4(-0.14016777, -0.1086958, 0.16316028, 0.050777458, 0.23148167, 0.04944809, -0.10599886, -0.10447021, -0.40729257, -0.10926556, 0.069055155, 0.110635415, 0.108922414, -0.1716362, 0.10743909, -0.102534756) * go_1(-1.0, 0.0); - result += mat4(0.017795928, -0.066930935, 0.09396082, 0.092585504, 0.14223933, 0.059458215, 0.072033696, -0.04507726, -0.19956456, 0.1251282, -0.31733638, -0.10465904, 0.08546377, 0.048638333, 0.031372465, -0.08720661) * go_1(-1.0, 1.0); - result += mat4(0.108719654, -0.092161916, -0.014724377, 0.20068261, -0.24350016, 0.2113636, -0.07483714, -0.45665312, -0.25134233, 0.2753893, -0.11324696, -0.04472, 0.1576102, -0.045395147, 0.06013951, -0.12507361) * go_1(0.0, -1.0); - result += mat4(0.546225, -0.281897, 0.19477816, -0.116612464, -0.3145171, -0.41660902, 0.333625, 0.35902345, 0.48333502, 0.4662005, 0.10222491, -0.15314859, -0.3036888, 0.22849742, 0.20740797, 0.41399437) * go_1(0.0, 0.0); - result += mat4(0.007284074, 0.0393942, -0.31192186, -0.15687793, -0.289214, -0.015956698, -0.24718472, -0.1637855, -0.00765037, 0.26677555, 0.20215511, 0.37790874, -0.22096673, 0.25287116, -0.2446764, -0.13610223) * go_1(0.0, 1.0); - result += mat4(-0.16734968, 0.16721225, -0.053508647, -0.041097626, 0.062356673, 0.07812319, -0.263546, -0.39739034, 0.003389846, 0.12676363, -0.13175991, -0.19019242, -0.011847587, -0.007580052, -0.023946386, 0.046034034) * go_1(1.0, -1.0); - result += mat4(-0.17047611, 0.13298693, -0.07506747, -0.045542978, 0.33571973, 0.20192616, 0.30674616, 0.25668672, -0.24134545, 0.031693842, -0.009647641, 0.040534843, 0.03159419, -0.1100516, 0.11371316, 0.06098735) * go_1(1.0, 0.0); - result += mat4(-0.05518961, 0.19402988, -0.09646874, -0.059196774, -0.0073436056, -0.1381309, 0.06868669, 0.061328378, -0.1480867, -0.15774113, -0.022572191, 0.122521356, -0.04067007, -0.10145177, 0.13006335, -0.099452734) * go_1(1.0, 1.0); - result += mat4(0.06962972, 0.07768411, 0.021085173, 0.108355984, -0.03132525, 0.10220273, -0.11626593, -0.14104277, 0.018778645, -0.024237925, 0.048783034, 0.09074447, 0.4120426, -0.01948466, 0.073218934, 0.055681944) * go_2(-1.0, -1.0); - result += mat4(-0.22553118, -0.12923603, -0.22068842, -0.35037905, 0.005709937, -0.09528472, 0.08718399, 0.13200706, 0.17220478, 0.096844435, -0.30439013, -0.14122063, 0.15733318, -0.1014675, 0.33836862, 0.042193163) * go_2(-1.0, 0.0); - result += mat4(0.15826897, -0.034870047, 0.09295099, -0.17674965, -0.042326324, 0.06680338, -0.074267656, -0.0631393, -0.11267909, -0.19795708, 0.22005288, 0.35703793, 0.033995766, -0.12663686, -0.02449896, -0.123250045) * go_2(-1.0, 1.0); - result += mat4(0.021434195, 0.058398597, 0.04828315, -0.0016824572, -0.04291545, -0.0744907, -0.07698706, -0.15937585, -0.18852457, -0.17966963, 0.023800725, 0.025979731, -0.51412296, -0.018316887, -0.23076254, -0.12298674) * go_2(0.0, -1.0); - result += mat4(0.16054317, -0.0002730893, -0.54173076, -0.62443435, 0.04300197, -0.08529622, 0.15392275, 0.15742144, 0.025834514, -0.2800517, -0.17600477, 0.0020806703, -0.3010582, 0.45233512, 0.25595665, 0.103661336) * go_2(0.0, 0.0); - result += mat4(-0.024034392, -0.43800178, 0.28606912, -0.20908915, 0.078471914, -0.030501373, -0.059055753, 0.050494444, 0.063274644, -0.025071034, 0.17561312, -0.100698635, -0.25631955, 0.039981876, -0.18506624, 0.08366402) * go_2(0.0, 1.0); - result += mat4(-0.1413656, 0.03589635, -0.020917566, 0.017598262, 0.020156413, -0.018854238, 0.027228508, -0.03806087, -0.021715842, 0.071974196, -0.040065665, 0.08459291, -0.23530225, 0.16599682, -0.2772327, 0.10041177) * go_2(1.0, -1.0); - result += mat4(-0.055056706, 0.1286236, -0.11890451, -0.1790546, 0.16517544, -0.040448934, 0.12548013, 0.017075695, 0.07185459, -0.13236302, 0.19354409, 0.12767012, 0.31120765, 0.16378082, -0.036915366, -0.19724306) * go_2(1.0, 0.0); - result += mat4(-0.02225051, 0.033263147, 0.003279449, 0.08826271, -0.047833472, 6.574577e-05, 0.13721916, 0.04801998, -0.014958419, 0.08791209, -0.08076282, 0.024002168, -0.18028922, 0.23835851, -0.23309888, -0.119310364) * go_2(1.0, 1.0); - result += mat4(0.044960875, 0.18821983, 0.027640678, 0.013462449, 0.19011214, 0.21559924, -0.03329638, 0.07234414, 0.030880248, -0.11273214, 0.102028474, 0.12203351, 0.035855662, 0.008828778, 0.007218363, -0.012421797) * go_3(-1.0, -1.0); - result += mat4(-0.09450626, 0.025191775, -0.10738468, 0.16237053, 0.073676676, 0.12488881, -0.048748355, 0.007877263, 0.3572506, -0.07911043, 0.14684045, 0.0015310893, -0.33411503, -0.1151223, 0.004201752, 0.017775744) * go_3(-1.0, 0.0); - result += mat4(-0.10607509, -0.008143826, -0.08448629, -0.27557802, 0.0046665915, 0.008158659, 0.030826218, 0.020516023, 0.2333065, -0.017463414, -0.041772116, -0.03027809, -0.028166672, -0.080471426, 0.048199337, 0.08341059) * go_3(-1.0, 1.0); - result += mat4(-0.14640257, -0.18334304, -0.061674733, 0.0008892598, -0.2374775, -0.2721524, -0.040371176, 0.26362613, 0.19872928, -0.11246391, 0.0842288, 0.11188515, 0.0045209546, -0.04250933, -0.0738212, -0.069005966) * go_3(0.0, -1.0); - result += mat4(-0.08760266, 0.4816288, -0.21241407, 0.22734411, -0.1783721, -0.26842996, 0.099888, -0.2867675, 0.085521065, -0.3780281, -0.018543908, -0.039699722, 0.75688565, -0.5333645, 0.47567275, 0.09518891) * go_3(0.0, 0.0); - result += mat4(-0.04072665, 0.05998423, -0.48314768, -0.29495844, 0.10358383, -0.09816629, 0.028586809, -0.047708735, 0.008320228, 0.04089551, -0.18359782, -0.27615002, 0.12414414, -0.072417594, 0.25932562, 0.30268723) * go_3(0.0, 1.0); - result += mat4(0.14481631, 0.06484443, -0.09898657, -0.06553556, 0.25750044, -0.07265585, 0.12903488, -0.022347894, -0.04693863, -0.000107379274, 0.030295763, -0.0325354, 0.086214684, -0.021326948, 0.039682828, -0.034843277) * go_3(1.0, -1.0); - result += mat4(-0.031971477, -0.25145087, 0.03931631, 0.14262606, -0.06044626, 0.22820354, -0.10506207, 0.18064679, 0.0069641788, 0.01477993, -0.003626875, 0.118767865, 0.109416224, -0.002998205, 0.035680585, 0.07843882) * go_3(1.0, 0.0); - result += mat4(0.03375426, -0.059815384, 0.11632834, -0.12411481, 0.022583738, 0.02544465, -0.054889992, -0.07031964, -0.10140042, 0.16750422, -0.1448294, -0.09316004, 0.035582513, -0.026138382, -0.031955894, 0.040148776) * go_3(1.0, 1.0); - result += vec4(-0.03573331, 0.032919675, 0.011109369, 0.008329268); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11498094, -0.053904895, -0.11520678, -0.05479549, 0.028396055, 0.032767884, 0.052479446, 0.05257866, -0.25706592, -0.3454966, -0.24713765, -0.2854201, -0.10287636, 0.0023146886, -0.09190338, -0.011193905) * g_0; - result += mat4(-0.05461422, 0.008780496, -0.07738697, -0.032230727, -0.047554165, -0.025061952, -0.051897213, -0.009545297, -0.14548294, -0.15184018, -0.01313442, -0.015299784, -0.0007883845, -0.12866738, -0.15260352, -0.27081275) * g_1; - result += mat4(0.11007706, 0.035344437, 0.11020841, 0.0425353, 0.1613199, 0.18417408, 0.09274313, 0.11943135, 0.106862, 0.079875536, 0.0937752, 0.068030775, 0.029093558, -0.06441164, 0.06467169, -0.021989612) * g_2; - result += mat4(0.049548414, -0.012455486, 0.07185561, 0.021865537, 0.020969186, -0.03374196, -0.024260623, -0.07739141, 0.07164591, 0.12741035, 0.0379913, 0.076403245, 0.07049977, 0.0744538, 0.0062989634, 0.01818882) * g_3; - result += mat4(-0.12511204, -0.010836819, 0.13709816, 0.22472954, 0.21280868, -0.006484726, 0.17554289, -0.009977173, 0.078398876, 0.20698707, 0.13432744, 0.29740283, -0.24750128, -0.32757792, -0.19807857, -0.2537023) * g_4; - result += mat4(-0.27207088, -0.1385644, -0.2166476, -0.07687419, -0.20300622, -0.29678395, -0.13135734, -0.20851587, 0.0361364, 0.011243289, -0.06845459, -0.11796941, 0.11575868, 0.070215136, -0.10295678, -0.12281369) * g_5; - result += mat4(0.13619795, -0.0019436983, -0.12701888, -0.25933513, -0.20134166, 0.00062823144, -0.076756015, 0.11002947, 0.0059049693, -0.18756741, -0.0718802, -0.2589954, 0.23413423, 0.30107784, 0.14445266, 0.18920745) * g_6; - result += mat4(0.1494216, 0.0587532, 0.05478662, -0.039123338, 0.23322394, 0.29950607, 0.24384268, 0.27843767, -0.16094431, -0.04705998, -0.016345032, 0.028868208, -0.102872886, -0.04659664, 0.104105346, 0.14305067) * g_7; - result += mat4(-0.001037014, 0.010001526, -0.0052278573, 0.024779709, 0.06857274, 0.067640975, 0.085439384, 0.09242789, -0.066597246, -0.055928994, 0.0015658981, 0.016131008, -0.03524695, -0.018364554, -0.047754433, -0.014295886) * g_8; - result += mat4(-0.042207, 0.02835915, -0.1404656, -0.08563323, -0.030979915, -0.0673764, 0.10733943, 0.057902794, 0.00022424995, -0.0023634837, -0.10778953, -0.10202357, -0.020368295, -0.019088887, -0.06875738, -0.08504131) * g_9; - result += mat4(-0.00043458896, 0.00045652856, -0.02016843, -0.020062413, -0.08740103, -0.042085808, -0.10644177, -0.09226477, 0.11212161, -0.00048174805, 0.021872435, -0.05868698, 0.0333954, 0.058184672, 0.05532576, 0.07621587) * g_10; - result += mat4(0.054245148, 0.001020329, 0.09106849, 0.05303779, 0.009889632, 0.01309413, -0.09187347, -0.08618193, -0.011621187, 0.016222361, 0.061095525, 0.060885344, 0.078050986, 0.0111776795, 0.08829944, 0.032022282) * g_11; - result += mat4(0.01643529, 0.02285545, -0.03498564, 0.00769657, -0.0042474116, 0.015836312, -0.025771018, -0.0016368, -0.008897948, -0.012588166, -0.01416411, -0.003578984, 0.025991246, 0.021237152, 0.017450012, 0.025172485) * g_12; - result += mat4(0.014568868, 0.017796224, -0.036679734, -0.03138748, 0.019457601, -0.027607411, -0.004529679, -0.038048342, -0.054055385, -0.03876025, 0.041948095, 0.005869784, 0.02439633, 0.05177997, 0.016000897, 0.0057169925) * g_13; - result += mat4(-0.03021866, 0.017678728, -0.01371109, 0.013548159, -0.0038099394, -0.014066414, 0.028093752, 0.0027308422, -0.010615999, 0.012673458, -0.03028171, -0.016818244, -0.06530097, -0.018845048, -0.0072947564, -0.0038243714) * g_14; - result += mat4(-0.019006258, -0.007847591, 0.03690709, 0.06714211, 0.0073993434, -0.009766907, -0.0021441753, -0.01308625, 0.06658726, 0.06701995, -0.027305668, -0.016032105, -0.028976806, -0.0036668575, -0.0027825525, 0.0105632655) * g_15; - result += mat4(0.028945107, -0.0014701135, 0.048950657, -0.01923516, -0.0014054152, 0.002650635, -0.005300331, 0.004860559, 0.011158468, 0.005940625, -0.012095051, 0.0041518128, -0.020433836, -0.025870577, -0.0007547932, -0.026509356) * g_16; - result += mat4(-0.004545374, 0.04264545, 0.021741537, 0.029115127, 0.04225599, -0.0055392785, 0.026570829, -0.031795148, -0.008307126, 0.020176455, 0.010904648, 0.017765503, -0.10806103, -0.01776947, 0.00070428237, -0.06356262) * g_17; - result += mat4(-0.05663172, 0.05908046, -0.03837452, 0.06636983, -0.007960516, -0.06384041, 0.023125881, -0.030108837, 0.0038054318, -0.023263922, 0.020264054, -0.0062937695, 0.031630237, 0.020909082, 0.03594235, 0.035879835) * g_18; - result += mat4(-0.0050448794, 0.033650696, -0.002830413, 0.035174295, -0.024521282, 0.013054315, -0.020833842, 0.037953895, 0.08249671, 0.024239466, -0.012758333, -0.027316988, 0.051040914, 0.0005025873, 0.039778862, 0.0024668393) * g_19; - result += mat4(0.017232442, 0.022482058, 0.020233413, 0.024337437, 0.07986929, 0.06234036, 0.12662584, -0.05271183, -0.009718745, -0.0046989853, -0.0030333172, -0.04034237, -0.0113442, 0.022746231, -0.035293855, -0.009433693) * g_20; - result += mat4(0.015766997, 0.013647276, -0.029327558, 0.039106004, -0.010398323, -0.032851525, 0.02908329, -0.003789618, 0.12963496, 0.010851003, 0.1126276, -0.049255487, 0.06867432, 0.07970792, 0.017840397, -0.026481882) * g_21; - result += mat4(-0.058729574, -0.07886952, 0.033267397, 0.02755372, -0.0172006, 0.012404398, -0.0230168, -0.015059758, -0.09239916, -0.029533267, -0.043251917, 0.0035152994, 0.022931995, 0.101714484, -0.044946067, 0.094993) * g_22; - result += mat4(-0.04708704, -0.032475296, -0.03228093, -0.08810475, 0.013745045, 0.027828002, -0.031922746, 0.022986397, -0.061620213, -0.03694645, -0.055026993, 0.0031291894, -0.028799903, -0.0025357977, -0.03441407, 0.0028600092) * g_23; - result += mat4(0.058981724, -0.10447273, -0.088705614, 0.16546178, -0.023549391, -0.008831522, -0.018411588, 0.029640056, -0.068086684, -0.05414636, -0.029401174, 0.036180343, -0.031988926, -0.047249753, 0.008162177, 0.00548062) * g_24; - result += mat4(0.05287462, -0.030657746, 0.02821435, 0.037005343, 0.03534311, -0.15614955, 0.07085459, -0.11997641, -0.009156166, -0.021968868, -0.054147746, -0.07307657, -0.006428544, -0.017528288, 0.012614676, 0.037840024) * g_25; - result += mat4(-0.021977803, 0.047799855, 0.02660416, -0.07292106, 0.045195807, -0.0056674764, 0.10824326, -0.112114795, 0.1447127, -0.0119616175, 0.0011661504, -0.04553905, 0.13048342, 0.14574122, -0.105522245, -0.102792375) * g_26; - result += mat4(-0.16397473, 0.15785863, -0.06666504, -0.01682913, 0.06070918, 0.070222184, 0.037701584, 0.026657054, -0.0835267, -0.009457008, 0.13232987, 0.13508691, -0.056414206, -0.06818828, 0.079076104, 0.032249212) * g_27; - result += vec4(-0.10795144, -0.09953324, -0.055413827, -0.03875493); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.024905335, -0.0020974763, 0.02695263, 0.00016802056, -0.024053082, -0.02133723, -0.031614035, -0.031826317, 0.120421864, 0.10555479, 0.08609448, 0.116875134, 0.046175968, 0.04224941, 0.059216674, 0.035143953) * g_0; - result += mat4(0.059397914, 0.016519934, 0.07189327, 0.047407165, 0.04808963, 0.02792908, 0.057017103, 0.034324065, 0.14228246, 0.11275426, 0.088058695, 0.059600517, 0.02063494, 0.052596953, 0.047207687, 0.08789091) * g_1; - result += mat4(-0.013453174, 0.008474715, -0.017593835, 0.009218917, 0.070580654, 0.040542338, 0.08812338, 0.074653216, -0.016356857, 0.015809007, -0.008739107, 0.0097674895, -0.018381525, -0.007775341, -0.040571664, -0.011188163) * g_2; - result += mat4(-0.026196122, -0.034825727, -0.042998232, -0.033436514, -0.01678153, -0.004592797, -0.010311677, 0.0008815291, -0.08899181, -0.10274026, -0.066960976, -0.082430154, -0.057137426, -0.07554528, -0.030993424, -0.050372377) * g_3; - result += mat4(0.022921838, -0.010479244, -0.050794605, -0.073633075, -0.053708922, 0.009594084, -0.071259, -0.01054356, 0.005165821, -0.08024963, -0.049251772, -0.09581235, 0.17995799, 0.09743011, 0.13533138, 0.11643848) * g_4; - result += mat4(0.09727046, 0.07292666, 0.06820908, 0.041535784, -0.0049705, 0.0048759184, -0.035702795, -0.015944308, -0.010730028, 0.018847652, 0.06466244, 0.086318985, -0.05661574, -0.040698618, 0.010839972, 0.0027009705) * g_5; - result += mat4(-0.04628466, 0.010060396, 0.02609333, 0.08664702, 0.057045907, 0.033591177, 0.02186063, -0.024303377, 0.006569828, 0.08025825, 0.016128821, 0.10180713, -0.12228169, -0.112990454, -0.078443415, -0.09126021) * g_6; - result += mat4(-0.12733299, -0.087755, -0.07374111, -0.044979006, -0.025347412, -0.004083168, 0.023782173, 0.02900392, -0.017815407, -0.041119996, -0.057978686, -0.13521095, 0.08364004, 0.06950181, 0.023554614, 0.008043734) * g_7; - result += mat4(0.009062775, -0.003570175, -0.007378757, -0.0018487388, 0.01145638, 0.05217187, -0.008250244, 0.008433307, -0.056756936, -0.044681005, -0.08096105, -0.08033185, -0.023784965, -0.01859799, 0.013042476, 0.021188647) * g_8; - result += mat4(-0.0071619656, -0.012498299, -0.05144986, -0.078112476, -0.034992415, -0.017038302, -0.04464615, -0.044504963, 0.024249, -0.004297534, 0.03674578, 0.03090718, 0.04698553, 0.008344952, 0.057619847, -0.0338724) * g_9; - result += mat4(-0.011845145, -0.0045043705, -1.6646482e-06, -0.0038495932, -0.01992515, 0.004827126, 0.019493148, 0.00862289, 0.10151322, 0.0021909082, 0.09940764, 0.03728846, 0.027824005, 0.04358071, 0.014909185, 0.036326095) * g_10; - result += mat4(0.022513246, 0.028257169, 0.0102195935, 0.03301329, 0.052253865, -0.0021944977, 0.08247392, 0.03256867, -0.040685873, -0.0052207555, -0.0451257, -0.054165114, 0.01647699, 0.0028809097, -0.015233776, -0.0008741886) * g_11; - result += mat4(0.017371105, 0.01597189, -0.052552313, -0.008554715, -0.0023150423, 0.006076517, -0.012868931, 0.0039361073, -0.007524978, -0.004284313, -0.021520883, -0.010327569, 0.02543678, 0.008725823, -0.0073885336, 0.005528395) * g_12; - result += mat4(0.019192757, 0.016561812, 0.0027538154, 0.0013078215, 0.007916496, -0.042525183, -0.013173432, -0.05265476, -0.062195376, -0.011255499, 0.020898128, 0.021532273, -0.001524097, 0.034835674, -0.004051403, -0.0292426) * g_13; - result += mat4(-0.049191684, -9.43322e-06, -0.009106849, 0.012845289, -0.019482708, -0.011163468, 0.0034011535, -0.007062845, -0.006469714, 0.03177786, -0.033006195, -0.0006813464, -0.053963087, 0.00085209147, 0.02734121, 0.034086403) * g_14; - result += mat4(-0.03232248, -0.004037002, -0.010319106, 0.030889064, 0.019604538, 0.0020888883, 0.010277864, 0.000661223, 0.057915937, 0.030683514, 0.00042533095, -0.013019287, -0.015896408, 0.0038484468, -0.0042103594, 0.02174542) * g_15; - result += mat4(0.032975145, 0.0011456647, 0.04913679, -0.017063798, 0.0117176045, 0.007440557, 0.0020480808, 0.009415731, 0.027573857, 0.015140836, -0.01679426, -0.006124731, -0.03206279, -0.029842237, -0.010428016, -0.028513178) * g_16; - result += mat4(-0.00506859, 0.055869613, 0.010164368, 0.027031485, 0.042289548, -0.0054258504, 0.032214936, -0.029970925, -0.0058315448, 0.022889478, 0.01681123, 0.02985076, -0.111186065, -0.02202099, 0.0030994313, -0.062343158) * g_17; - result += mat4(-0.060951103, 0.06079555, -0.0396464, 0.070911355, -0.011480358, -0.06803282, 0.01637355, -0.043100975, -0.00423709, -0.028337711, 0.021635853, 0.0014857082, 0.030084312, 0.018155476, 0.043694943, 0.038795974) * g_18; - result += mat4(-0.0060662925, 0.029721662, -0.008117774, 0.034551267, -0.024477571, 0.018841071, -0.027095588, 0.034495078, 0.082398005, 0.008998768, -0.016399248, -0.043801688, 0.05936684, 0.006066549, 0.045399766, 3.5319943e-05) * g_19; - result += mat4(0.019259382, 0.02494012, 0.029301709, 0.028329274, 0.09122267, 0.06900443, 0.1412115, -0.043169618, -0.01627418, -0.004989528, -0.0042651827, -0.04556752, -0.023623291, 0.013007996, -0.04483056, -0.015727345) * g_20; - result += mat4(0.016332543, 0.016384754, -0.030676385, 0.045312885, -0.0100853555, -0.032632045, 0.031514473, -0.0070776115, 0.13642761, 0.0023589598, 0.12214136, -0.062155515, 0.08240989, 0.08894205, 0.03325406, -0.016589595) * g_21; - result += mat4(-0.06494277, -0.08158925, 0.030425413, 0.019835634, -0.012624623, 0.013942616, -0.030527417, -0.021668324, -0.09444672, -0.033064254, -0.044167448, 0.0011024752, 0.03210801, 0.12662941, -0.03912534, 0.1112649) * g_22; - result += mat4(-0.04716062, -0.03751481, -0.031030515, -0.09067383, 0.0077815712, 0.02169541, -0.035285182, 0.02290573, -0.0704085, -0.03916127, -0.058103334, 0.004915147, -0.0333844, -0.011548617, -0.031151932, -0.00043817286) * g_23; - result += mat4(0.05976319, -0.107285, -0.097245865, 0.17706421, -0.021453341, -0.0047738464, -0.017621001, 0.033400454, -0.07225561, -0.05599672, -0.027600193, 0.038664024, -0.03762786, -0.052429967, 0.0104017975, 0.007116869) * g_24; - result += mat4(0.06014114, -0.029824806, 0.03209269, 0.04392036, 0.031300627, -0.16249833, 0.06878509, -0.12658615, -0.012383169, -0.025043553, -0.06527381, -0.08149099, -0.014006842, -0.018669648, 0.014510818, 0.042045828) * g_25; - result += mat4(-0.023342922, 0.047104675, 0.029629575, -0.082307704, 0.04035797, -0.0013049254, 0.11085582, -0.11031226, 0.14778149, -0.016699014, -0.00634342, -0.055320874, 0.14306462, 0.15896587, -0.110229075, -0.1069649) * g_26; - result += mat4(-0.17449625, 0.15787153, -0.06711028, -0.023110518, 0.06862914, 0.074063435, 0.042682912, 0.029800726, -0.08768606, -0.009814701, 0.14180017, 0.14780663, -0.05672417, -0.074305914, 0.07873489, 0.028458012) * g_27; - result += vec4(0.06026231, 0.040204916, 0.037672628, 0.023496555); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_1_tf -//!BIND conv2d_1_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_2_tf1 -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_4_tf -//!BIND conv2d_4_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_5_tf1 -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_last_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) -#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) -#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) -#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1765669, 0.14268716, 0.19186598, 0.15799578, 0.016374417, 0.018578433, 0.0039475, 0.0046772263, 0.39840183, 0.36909792, 0.35409746, 0.37422222, -0.108508386, -0.1331279, -0.10336035, -0.14776541) * g_0; - result += mat4(-0.057757027, -0.14071062, -0.025283009, -0.09397916, -0.09031894, -0.14219165, -0.08299535, -0.13970287, -0.12259208, -0.14382727, -0.22002274, -0.25016093, -0.048906635, 0.06620249, 0.016965045, 0.1295978) * g_1; - result += mat4(-0.16748372, -0.13718611, -0.18565705, -0.15029612, -0.080749065, -0.09955825, 0.032431383, 0.023855643, -0.2748885, -0.23232168, -0.29121292, -0.26405892, 0.16556135, 0.18657646, 0.1424068, 0.18855052) * g_2; - result += mat4(0.10960496, 0.10851629, 0.095003806, 0.11053746, 0.09885307, 0.14437789, 0.13191165, 0.17365928, 0.16558935, 0.15473324, 0.21136154, 0.19976667, -0.07267957, -0.11469687, -0.029134216, -0.06817615) * g_3; - result += mat4(0.10202856, 0.04216857, -0.03959349, -0.09849683, -0.1576996, -0.049997438, -0.1579918, -0.058789205, 0.029792828, -0.07311781, -0.045432188, -0.11312683, 0.24257647, 0.16204113, 0.17869382, 0.16024388) * g_4; - result += mat4(0.17193612, 0.12692013, 0.13177487, 0.0796725, 0.0797928, 0.08952722, -0.012468046, 0.011071511, -0.068559825, -0.024852324, 0.0526428, 0.07917346, -0.085534215, -0.09591339, 0.04615827, 0.024577664) * g_5; - result += mat4(-0.14653449, -0.067267366, -0.002524394, 0.086243175, 0.13660401, 0.08039592, 0.09179008, 0.022573143, -0.024744196, 0.09120211, 0.017654825, 0.14114714, -0.16093308, -0.14538004, -0.09950235, -0.111152865) * g_6; - result += mat4(-0.188637, -0.12968326, -0.1200479, -0.06537649, -0.12589337, -0.106242515, -0.02788782, -0.025949068, 0.04948153, 0.02222735, -0.025291357, -0.12379292, 0.11074645, 0.11902375, -0.00056989543, -0.0024386419) * g_7; - result += mat4(0.018286629, 0.0072215167, 0.00037828335, 0.0047001047, 0.011478272, 0.041745186, -0.015742473, -0.002282524, -0.03440817, -0.02196847, -0.07838253, -0.07993771, -0.010155526, -0.017590692, 0.027141469, 0.029741213) * g_8; - result += mat4(0.016512005, 0.004950637, -0.0238836, -0.05587327, -0.03164328, -0.009499985, -0.059880238, -0.061794154, 0.023154303, -0.013266373, 0.04701534, 0.0415862, 0.06357814, 0.033057794, 0.08389772, 0.00035060212) * g_9; - result += mat4(-0.016403968, -0.012538788, -0.0015746636, -0.004771009, -0.021361275, -0.009695242, 0.020548422, -0.0024130535, 0.07796766, -0.01516671, 0.09961382, 0.042754963, 0.017363647, 0.03729065, -0.004795824, 0.01550197) * g_10; - result += mat4(-0.0028093113, 0.011869523, -0.02216933, 0.011177349, 0.033342455, -0.021146454, 0.07830085, 0.032490104, -0.03281833, 0.0060484232, -0.04081057, -0.04945058, -0.0056189033, -0.010636801, -0.041949317, -0.025739705) * g_11; - result += mat4(0.012979897, 0.016758928, -0.049062215, -0.0035748442, 0.0085972, 0.0036381132, -0.0055621094, 0.0041307937, -0.0008907763, -0.0034079372, -0.025680453, -0.015531803, 0.012816766, 0.009977763, -0.016416566, 0.0034859509) * g_12; - result += mat4(0.021753248, 0.016452711, 0.009833835, 0.0065052663, 0.0014061348, -0.046160888, -0.0132271005, -0.05051269, -0.05746351, -0.0012690664, 0.017191738, 0.018192926, -0.008879476, 0.026354216, -0.012801991, -0.029587373) * g_13; - result += mat4(-0.04220692, -0.0015560482, -0.0019648245, 0.013402305, -0.018259782, -0.0036008905, 0.0035650074, -0.0019178417, 0.00051580026, 0.027355857, -0.017914988, 0.004937948, -0.046335887, 0.00013612259, 0.030293299, 0.030688645) * g_14; - result += mat4(-0.036683388, -0.0031274238, -0.026074665, 0.021684237, 0.022639066, 0.0022493738, 0.011508554, -0.0006385944, 0.04890418, 0.020119468, 0.004167364, -0.008356099, -0.008598796, 0.0089028, -0.0029575853, 0.016687104) * g_15; - result += mat4(0.027207986, 0.0011099194, 0.042383645, -0.015179333, 0.014744431, 0.006148344, 0.005165422, 0.0070196544, 0.030286826, 0.016620956, -0.01611366, -0.00667594, -0.029524863, -0.024751091, -0.013321004, -0.025199674) * g_16; - result += mat4(0.0027477827, 0.054622147, 0.010154094, 0.025437292, 0.031773083, -0.01055473, 0.022864206, -0.029010754, -0.0029999653, 0.025018329, 0.015316208, 0.027188798, -0.10096525, -0.017268656, 0.0012529213, -0.062078856) * g_17; - result += mat4(-0.053670805, 0.057336535, -0.037418038, 0.06443577, -0.016027879, -0.058168363, 0.007034215, -0.03390141, -0.0019346164, -0.027947908, 0.021723913, -0.0018286633, 0.030507812, 0.018293543, 0.042917266, 0.033528328) * g_18; - result += mat4(-0.004559579, 0.029667616, -0.001870353, 0.0378995, -0.017147437, 0.020192018, -0.021574946, 0.031568103, 0.07487145, 0.0032376775, -0.018893708, -0.041981626, 0.054478757, 0.0061423797, 0.041280247, 0.000878061) * g_19; - result += mat4(0.017076394, 0.023647636, 0.029403262, 0.029923365, 0.08866472, 0.060613394, 0.1314274, -0.04490231, -0.016304834, -0.0062647443, -0.0031828512, -0.03989252, -0.024330825, 0.00741213, -0.04075287, -0.01615817) * g_20; - result += mat4(0.017866978, 0.017720113, -0.02846163, 0.040761847, -0.0063438355, -0.02347501, 0.029564403, -0.0029562064, 0.12505588, -0.0073986333, 0.11250363, -0.06179967, 0.07854423, 0.08546533, 0.034743227, -0.010757377) * g_21; - result += mat4(-0.06416677, -0.08344284, 0.030138884, 0.017635904, -0.012087523, 0.014205202, -0.03221233, -0.023834767, -0.091186255, -0.028958676, -0.04724334, 0.00013161585, 0.027391518, 0.1249978, -0.045047652, 0.10737729) * g_22; - result += mat4(-0.04326348, -0.03543181, -0.029558217, -0.08582413, 0.007812453, 0.014296562, -0.028779754, 0.018517692, -0.063755795, -0.036619596, -0.050809663, 0.005431336, -0.029205568, -0.011827915, -0.031110523, -0.005648626) * g_23; - result += mat4(0.05499293, -0.10000709, -0.0943537, 0.16143042, -0.019952895, -0.0039807972, -0.014841254, 0.0320363, -0.065173544, -0.049425576, -0.023904482, 0.03759679, -0.03207411, -0.047782745, 0.01352581, 0.008140566) * g_24; - result += mat4(0.055923894, -0.025134467, 0.029583648, 0.04096879, 0.027551858, -0.14995384, 0.06467113, -0.11633077, -0.01563784, -0.026909819, -0.06292879, -0.078409635, -0.009081105, -0.015533088, 0.019585673, 0.04334208) * g_25; - result += mat4(-0.021717606, 0.042464726, 0.02743202, -0.07388838, 0.03460472, 0.0038285658, 0.099842004, -0.098247, 0.13276267, -0.020793032, -0.008603039, -0.051913783, 0.12959045, 0.14735717, -0.10888226, -0.10263746) * g_26; - result += mat4(-0.16819532, 0.141579, -0.062480718, -0.021918943, 0.06348125, 0.06849444, 0.03888676, 0.027375204, -0.08194279, -0.012574497, 0.13523251, 0.13739482, -0.047547445, -0.058767617, 0.07009549, 0.028136581) * g_27; - result += vec4(0.069033325, 0.040207114, 0.027286075, 0.0065334598); - return result; -} -//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Depth-to-Space -//!HOOK MAIN -//!BIND MAIN -//!BIND conv2d_last_tf -//!BIND conv2d_last_tf1 -//!BIND conv2d_last_tf2 -//!SAVE MAIN -//!WIDTH conv2d_last_tf.w 2 * -//!HEIGHT conv2d_last_tf.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -vec4 hook() { - vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); - ivec2 i0 = ivec2(f0 * vec2(2.0)); - float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; - vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); - ivec2 i1 = ivec2(f1 * vec2(2.0)); - float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; - vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); - ivec2 i2 = ivec2(f2 * vec2(2.0)); - float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; - float c3 = c2; - return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl deleted file mode 100644 index c319f60..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl +++ /dev/null @@ -1,612 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE MMKERNEL -//!COMPONENTS 1 - -#define L_tex LINELUMA_tex - -#define SIGMA 1.0 - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float s = SIGMA * HOOKED_size.y / 1080.0; - float kernel_size = s * 2.0 + 1.0; - - float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); - float gn = gaussian(0.0, s, 0.0); - - g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); - gn += gaussian(1.0, s, 0.0) * 2.0; - - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!BIND MMKERNEL -//!SAVE MMKERNEL -//!COMPONENTS 1 - -#define L_tex MMKERNEL_tex - -#define SIGMA 1.0 - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float s = SIGMA * HOOKED_size.y / 1080.0; - float kernel_size = s * 2.0 + 1.0; - - float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); - float gn = gaussian(0.0, s, 0.0); - - g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); - gn += gaussian(1.0, s, 0.0) * 2.0; - - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MMKERNEL -//!SAVE MMKERNEL -//!COMPONENTS 1 - -#define L_tex MMKERNEL_tex - -#define SIGMA 0.4 - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float s = SIGMA * HOOKED_size.y / 1080.0; - float kernel_size = s * 2.0 + 1.0; - - float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); - float gn = gaussian(0.0, s, 0.0); - - g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); - gn += gaussian(1.0, s, 0.0) * 2.0; - - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MMKERNEL -//!SAVE MMKERNEL -//!COMPONENTS 1 - -#define L_tex MMKERNEL_tex - -#define SIGMA 0.4 - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float s = SIGMA * HOOKED_size.y / 1080.0; - float kernel_size = s * 2.0 + 1.0; - - float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); - float gn = gaussian(0.0, s, 0.0); - - g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); - gn += gaussian(1.0, s, 0.0) * 2.0; - - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MMKERNEL - -#define STRENGTH 1.8 //Line darken proportional strength, higher is darker. - -vec4 hook() { - float c = (MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; - //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + c; -} - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LUMAD -//!COMPONENTS 2 - -#define L_tex LINELUMA_tex - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = L_tex(HOOKED_pos + vec2(-d.x, 0)).x; - float c = L_tex(HOOKED_pos).x; - float r = L_tex(HOOKED_pos + vec2(d.x, 0)).x; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0, 0); -} - - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAD -//!COMPONENTS 1 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAD_tex(HOOKED_pos + vec2(0, -d.y)).x; - float cx = LUMAD_tex(HOOKED_pos).x; - float bx = LUMAD_tex(HOOKED_pos + vec2(0, d.y)).x; - - - float ty = LUMAD_tex(HOOKED_pos + vec2(0, -d.y)).y; - //float cy = LUMAD_tex(HOOKED_pos).y; - float by = LUMAD_tex(HOOKED_pos + vec2(0, d.y)).y; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx) / 8.0; - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by) / 8.0; - - //Computes the luminance's gradient - float norm = sqrt(xgrad * xgrad + ygrad * ygrad); - return vec4(pow(norm, 0.7)); -} - - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMADG -//!COMPONENTS 1 - -#define L_tex LUMAD_tex - -#define SIGMA (HOOKED_size.y / 1080.0) * 2.0 -#define KERNELSIZE (SIGMA * 2.0 + 1.0) - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float g = (L_tex(pos).x) * gaussian(0.0, SIGMA, 0.0); - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, SIGMA, 0.0); - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMADG -//!SAVE LUMAD -//!COMPONENTS 1 - -#define L_tex LUMADG_tex - -#define SIGMA (HOOKED_size.y / 1080.0) * 2.0 -#define KERNELSIZE (SIGMA * 2.0 + 1.0) - -float gaussian(float x, float s, float m) { - return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); -} - -float lumGaussian(vec2 pos, vec2 d) { - float g = (L_tex(pos).x) * gaussian(0.0, SIGMA, 0.0); - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, SIGMA, 0.0); - for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAD2 -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0)).x; - float c = LUMAD_tex(HOOKED_pos).x; - float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0)).x; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0, 0); -} - - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD2 -//!SAVE LUMAD2 -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAD2_tex(HOOKED_pos + vec2(0, -d.y)).x; - float cx = LUMAD2_tex(HOOKED_pos).x; - float bx = LUMAD2_tex(HOOKED_pos + vec2(0, d.y)).x; - - - float ty = LUMAD2_tex(HOOKED_pos + vec2(0, -d.y)).y; - //float cy = LUMAD2_tex(HOOKED_pos).y; - float by = LUMAD2_tex(HOOKED_pos + vec2(0, d.y)).y; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx) / 8.0; - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by) / 8.0; - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0, 0); -} - -//!DESC Anime4K-v3.2-Upscale-DTD-x2 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAD2 -//!SAVE MAINTEMPTHIN -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - -#define STRENGTH 0.4 //Strength of warping for each iteration -#define ITERATIONS 1 //Number of iterations for the forwards solver, decreasing strength and increasing iterations improves quality at the cost of speed. - -#define L_tex HOOKED_tex - -vec4 hook() { - vec2 d = HOOKED_pt; - - float relstr = HOOKED_size.y / 1080.0 * STRENGTH; - - vec2 pos = HOOKED_pos; - for (int i=0; i OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MAINTEMP -//!SAVE MMKERNEL -//!COMPONENTS 3 - -#define L_tex MAINTEMP_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a = L_tex(pos - d).x; - float b = L_tex(pos).x; - float c = L_tex(pos + d).x; - - return vec2(min3v(a, b, c), max3v(a, b, c)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); -} - - -//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MMKERNEL -//!SAVE MMKERNEL -//!COMPONENTS 3 - -#define L_tex MMKERNEL_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a0 = L_tex(pos - d).y; - float b0 = L_tex(pos).y; - float c0 = L_tex(pos + d).y; - - float a1 = L_tex(pos - d).z; - float b1 = L_tex(pos).z; - float c1 = L_tex(pos + d).z; - - return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); -} - -//!DESC Anime4K-v3.2-Upscale-DTD-x2 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND MAINTEMPTHIN -//!BIND MAINTEMP -//!BIND MMKERNEL -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - -#define STRENGTH 0.5 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. -#define BLUR_CURVE 0.8 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; -#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. -#define NOISE_THRESHOLD 0.004 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. - -#define L_tex MAINTEMP_tex - -vec4 hook() { - float c = (L_tex(HOOKED_pos).x - MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; - - float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; - - float c_t = abs(c); - if (c_t > NOISE_THRESHOLD) { - c_t = (c_t - NOISE_THRESHOLD) / t_range; - c_t = pow(c_t, BLUR_CURVE); - c_t = c_t * t_range + NOISE_THRESHOLD; - c_t = c_t * sign(c); - } else { - c_t = c; - } - - float cc = clamp(c_t + L_tex(HOOKED_pos).x, MMKERNEL_tex(HOOKED_pos).y, MMKERNEL_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; - - //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return MAINTEMPTHIN_tex(HOOKED_pos) + cc; -} - - diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl deleted file mode 100644 index a23ff4a..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl +++ /dev/null @@ -1,157 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Kernel-X -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE GAUSS_X2 -//!COMPONENTS 3 - -#define L_tex LINELUMA_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a = L_tex(pos - d).x; - float b = L_tex(pos).x; - float c = L_tex(pos + d).x; - - return vec2(min3v(a, b, c), max3v(a, b, c)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); -} - - -//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Kernel-Y -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND GAUSS_X2 -//!SAVE GAUSS_X2 -//!COMPONENTS 3 - -#define L_tex GAUSS_X2_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a0 = L_tex(pos - d).y; - float b0 = L_tex(pos).y; - float c0 = L_tex(pos + d).y; - - float a1 = L_tex(pos - d).z; - float b1 = L_tex(pos).z; - float c1 = L_tex(pos + d).z; - - return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); -} - -//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Apply -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!BIND GAUSS_X2 -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - -#define STRENGTH 0.6 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. -#define BLUR_CURVE 0.6 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; -#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. -#define NOISE_THRESHOLD 0.001 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. - -#define L_tex LINELUMA_tex - -vec4 hook() { - float c = (L_tex(HOOKED_pos).x - GAUSS_X2_tex(HOOKED_pos).x) * STRENGTH; - - float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; - - float c_t = abs(c); - if (c_t > NOISE_THRESHOLD && c_t < BLUR_THRESHOLD) { - c_t = (c_t - NOISE_THRESHOLD) / t_range; - c_t = pow(c_t, BLUR_CURVE); - c_t = c_t * t_range + NOISE_THRESHOLD; - c_t = c_t * sign(c); - } else { - c_t = c; - } - - float cc = clamp(c_t + L_tex(HOOKED_pos).x, GAUSS_X2_tex(HOOKED_pos).y, GAUSS_X2_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; - - //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + cc; -} - - diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl deleted file mode 100644 index 8b35655..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl +++ /dev/null @@ -1,277 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LINELUMA_tex(HOOKED_pos).x; - float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -/* --------------------- SETTINGS --------------------- */ - -//Strength of edge refinement, good values are between 0.2 and 4 -#define REFINE_STRENGTH 1.0 - - -/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ - -//Bias of the refinement function, good values are between 0 and 1 -#define REFINE_BIAS 0.0 - -//Polynomial fit obtained by minimizing MSE error on image -#define P5 ( 11.68129591) -#define P4 (-42.46906057) -#define P3 ( 60.28286266) -#define P2 (-41.84451327) -#define P1 ( 14.05517353) -#define P0 (-1.081521930) - -/* ----------------- END OF SETTINGS ----------------- */ - -float power_function(float x) { - float x2 = x * x; - float x3 = x2 * x; - float x4 = x2 * x2; - float x5 = x2 * x3; - - return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; -} - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAD_tex(HOOKED_pos).x; - float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - - float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAD_tex(HOOKED_pos).y; - float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - //Computes the luminance's gradient - float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); - - float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); - - return vec4(sobel_norm, dval, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LUMAD_tex(HOOKED_pos).x; - float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAMM_tex(HOOKED_pos).x; - float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAMM_tex(HOOKED_pos).y; - float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - float norm = sqrt(xgrad * xgrad + ygrad * ygrad); - if (norm <= 0.001) { - xgrad = 0.0; - ygrad = 0.0; - norm = 1.0; - } - - return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Apply -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - - -vec4 hook() { - vec2 d = HOOKED_pt; - - float dval = LUMAD_tex(HOOKED_pos).y; - if (dval < 0.1) { - return HOOKED_tex(HOOKED_pos); - } - - vec4 dc = LUMAMM_tex(HOOKED_pos); - if (abs(dc.x + dc.y) <= 0.0001) { - return HOOKED_tex(HOOKED_pos); - } - - float xpos = -sign(dc.x); - float ypos = -sign(dc.y); - - vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); - vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); - - float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); - - vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; - - return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); - -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl deleted file mode 100644 index 6c13435..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl +++ /dev/null @@ -1,142 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-DoG-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-DoG-x2-Kernel-X -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE GAUSS_X2 -//!COMPONENTS 3 - -#define L_tex LINELUMA_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a = L_tex(pos - d).x; - float b = L_tex(pos).x; - float c = L_tex(pos + d).x; - - return vec2(min3v(a, b, c), max3v(a, b, c)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); -} - - -//!DESC Anime4K-v3.2-Upscale-DoG-x2-Kernel-Y -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND GAUSS_X2 -//!SAVE GAUSS_X2 -//!COMPONENTS 3 - -#define L_tex GAUSS_X2_tex - -float max3v(float a, float b, float c) { - return max(max(a, b), c); -} -float min3v(float a, float b, float c) { - return min(min(a, b), c); -} - -vec2 minmax3(vec2 pos, vec2 d) { - float a0 = L_tex(pos - d).y; - float b0 = L_tex(pos).y; - float c0 = L_tex(pos + d).y; - - float a1 = L_tex(pos - d).z; - float b1 = L_tex(pos).z; - float c1 = L_tex(pos + d).z; - - return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); -} - -float lumGaussian7(vec2 pos, vec2 d) { - float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; - g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; - g = g + (L_tex(pos).x) * 0.38774; - - return g; -} - - -vec4 hook() { - return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); -} - -//!DESC Anime4K-v3.2-Upscale-DoG-x2-Apply -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!BIND GAUSS_X2 -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - -#define STRENGTH 0.8 //De-blur proportional strength, higher is sharper. - -#define L_tex LINELUMA_tex - -vec4 hook() { - - float c = (L_tex(HOOKED_pos).x - GAUSS_X2_tex(HOOKED_pos).x) * STRENGTH; - float cc = clamp(c + L_tex(HOOKED_pos).x, GAUSS_X2_tex(HOOKED_pos).y, GAUSS_X2_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; - - //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) - //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. - return HOOKED_tex(HOOKED_pos) + cc; -} - - diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl deleted file mode 100644 index 944ee4c..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl +++ /dev/null @@ -1,1079 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.17498326, -0.14677401, -0.43065637, 0.10841958, 0.24096319, -0.008683959, -0.29844064, 0.3567803, 0.43360776, 0.11304715, -0.0802437, 0.190904, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.24688073, 0.086462855, 0.05716678, -0.1739644, 0.3236298, 0.23382919, 0.20481811, -0.022618154, -0.336325, -0.21624258, -0.18736486, -0.14936537, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.38230455, 0.410552, 0.34809712, 0.2510045, 0.30689523, 0.09889703, -0.26991332, 0.1108426, 0.5083409, 0.2854462, -0.1912902, 0.40354714, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.46870667, -0.03530456, 0.13705169, -0.11884997, -0.0772201, 0.17073877, 0.03287621, -0.14975251, -0.18155691, 0.14545092, -0.1584816, 0.051269397, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.5830986, -0.009166566, 0.54358304, -0.4545001, -0.27541155, 0.6697277, -0.29205534, -0.61038095, -0.64781004, 0.32052672, 0.14704794, -0.6479083, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.04402336, 0.05461938, -0.18035333, 0.5464947, 0.21475682, -0.6899343, 0.49390903, 0.62440956, 0.75365967, -0.26500008, 0.59187347, 0.10037025, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.25319895, -0.1764162, -0.22574338, 0.03075524, -0.29618785, -0.491323, 0.008427114, -0.363144, -0.17214127, -0.11891048, -0.19321653, -0.13424487, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.17425235, 0.07049646, -0.1759216, 0.05697634, -0.39496303, 0.35450256, -0.09984144, 0.15470548, -0.03375828, 0.06442114, 0.14598753, 0.46114844, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.19262458, -0.17141157, -0.11393742, -0.07778959, -0.006366565, -0.16713034, 0.2135569, 0.23494779, -0.37996295, -0.2767951, -0.1515432, -0.110363424, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.010385515, 0.011541315, -0.002942497, -0.00020902864); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.8031736, -0.1500194, -0.23398483, -0.060760673, 0.5049785, -0.099199474, -0.035531044, 0.0310586, -0.0310334, 0.15932913, 0.08973915, 0.08766925, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.2187303, 0.20974335, 0.016500302, 0.15386087, 0.2381243, -0.176845, -0.003643712, 0.08195259, 0.18417378, -0.18228108, 0.19170114, -0.3758241, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.4429508, -0.025832538, -0.021855514, 0.11322045, -0.08459551, -0.17815724, -0.19924322, -0.03736318, -0.22390507, -0.50430673, -0.13770194, 0.03014482, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.15976174, 0.31052437, 0.2498092, -0.29137832, -0.10121105, 0.35164458, 0.4901633, -0.35297948, -0.2569739, -0.14258477, 0.12585007, -0.2552164, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.5260107, -0.8547037, 0.92173797, 0.37817466, -0.4162576, 0.10989847, 0.26875922, 0.8614761, 0.069195434, 0.045593478, 0.03790176, 0.7332446, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.14287843, -0.283008, -0.28487602, -0.13313514, -0.019538656, -0.02361782, 0.28037757, -0.10543745, 0.1586713, 0.12037641, 0.24249536, 0.2524637, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.037178896, 0.23858358, -0.18704462, -0.13747689, 0.07629898, 0.2710832, -0.71619016, -0.09074896, 0.30446374, -0.0052702115, -0.27990812, -0.1392364, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.086045384, 0.695562, -0.23519892, -0.23438415, 0.16208446, 0.2172693, -0.16647956, -0.3718635, 0.024940055, 0.5650778, 0.20409326, -0.13530363, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.19389555, -0.028506106, -0.35060602, 0.22244014, 0.055054635, -0.17651209, -0.19871834, -0.02667603, -0.1402023, -0.02455308, -0.57856905, -0.2174221, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.02648044, -0.0017647704, -0.016136197, 0.0011179475); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14656883, -0.044076134, -0.40314636, -0.08023388, 0.12564746, -0.21633625, -0.0210282, -0.19231434, -0.019945038, 0.020343186, -0.007134301, 0.013607319, 0.07334655, -0.050848506, 0.0011201366, 0.26975143) * go_0(-1.0, -1.0); - result += mat4(-0.043205153, -0.13764456, -0.5368405, -0.04096279, 0.009450832, 0.23953767, -0.022408254, -0.124040656, 0.53450584, 0.02690831, 0.39857075, 0.42423433, 0.014167992, 0.055189077, -0.038074926, 0.12800713) * go_0(-1.0, 0.0); - result += mat4(-0.05354771, -0.06626498, 0.0092389295, 0.100637995, 0.05051714, -0.0033487207, -0.0076860636, 0.013058279, 0.10727092, -0.31131467, 0.058990292, 0.46365786, 0.08736531, 0.038865663, -0.008022449, -0.067517675) * go_0(-1.0, 1.0); - result += mat4(-0.25327486, -0.0041089035, 0.04877498, -0.36375836, 0.0003920389, -0.09273049, 0.016388323, 0.11530572, -0.14216854, 0.07370458, -0.27584067, -0.34536567, 0.0848517, -0.1954229, -0.22656868, -0.13531597) * go_0(0.0, -1.0); - result += mat4(0.7035245, 0.1131446, 0.1833189, 0.63726306, -0.20649737, 0.14149575, -0.084267326, 0.020898562, -0.026810758, -0.17932594, -0.08032681, 0.07790513, -0.01148237, -0.19930641, 0.33902612, -0.013703277) * go_0(0.0, 0.0); - result += mat4(-0.2862842, 0.01491211, -0.30474076, 0.19604082, 0.21565811, 0.29193363, 0.024934597, -0.17113955, 0.26136434, -0.12819171, 0.3874644, -0.30533502, 0.004006889, -0.07340657, -0.04817435, -0.013651047) * go_0(0.0, 1.0); - result += mat4(-0.14331155, -0.09605764, -0.06941299, -0.09740676, 0.0059936745, -0.27215815, -0.31393203, 0.17594862, 0.045626156, 0.060231503, 0.10607796, -0.030635068, 0.15021041, -0.19662435, -0.14648037, 0.028361326) * go_0(1.0, -1.0); - result += mat4(0.25090003, -0.2845429, -0.30109838, -0.070956856, -0.08051349, -0.07526823, 0.13524723, 0.14151429, -0.1232367, 0.08824123, 0.28804728, 0.31701297, 0.014839836, -0.09193038, 0.30188346, -0.07903937) * go_0(1.0, 0.0); - result += mat4(0.21150468, 0.13863595, -0.2624825, 0.1652623, -0.026336774, -0.45599234, 0.015901498, 0.23009071, 0.19700526, -0.11013044, 0.19850798, -0.19702299, 0.060643747, -0.03162518, -0.18272553, 0.24863112) * go_0(1.0, 1.0); - result += mat4(0.16361383, 0.0028921412, 0.18107067, 0.0720563, 0.06378758, -0.09442821, -0.3054202, 0.06843394, 0.20913927, -0.17700543, 0.14682317, 0.21683829, 0.02948067, -0.34866366, -0.04474257, -0.011365872) * go_1(-1.0, -1.0); - result += mat4(0.008512374, 0.19717449, 0.4456541, -0.15356806, -0.24209222, 0.12543896, -0.18232138, 0.012759448, 0.052473016, 0.17268041, 0.25826934, -0.16848944, 0.10150518, -0.30244592, 0.38495708, -0.2090818) * go_1(-1.0, 0.0); - result += mat4(-0.07227807, -0.10066125, -0.1090768, 0.13579647, 0.023154313, 0.079166815, -0.20014893, -0.21884407, 0.09634875, -0.22551452, 0.20771019, 0.16381831, -0.23455033, 0.12578821, -0.43342614, -0.23609087) * go_1(-1.0, 1.0); - result += mat4(-0.11084086, -0.03875876, -0.17912252, -0.24158017, 0.070904315, 0.21862641, 0.02659038, -0.36572614, 0.06265698, 0.32029516, 0.12044166, 0.18424052, 0.050192874, 0.15095103, 0.13794746, -0.111053675) * go_1(0.0, -1.0); - result += mat4(-0.11362966, 0.5249116, 0.27814335, -0.023295242, 0.022581467, 0.3195408, -0.06865207, -0.13818301, 0.18826036, 0.21182717, -0.30241874, 0.02916674, -0.19999875, 0.8222055, -0.2981789, -0.31122693) * go_1(0.0, 0.0); - result += mat4(0.058648925, -0.39456168, -0.36158726, 0.4050607, 0.0609484, 0.01624418, -0.2699451, 0.25976416, 0.31131884, 0.18382475, 0.12856431, 0.3285595, 0.4798488, -0.26074353, 0.78901637, -0.071622506) * go_1(0.0, 1.0); - result += mat4(-0.038631868, -0.20723929, 0.045573164, 0.10398485, 0.20236868, 0.14958549, 0.18842755, -0.23352885, 0.18624173, 0.2800279, 0.23280786, -0.12909916, -0.037398554, 0.1557195, -0.04866289, -0.13633357) * go_1(1.0, -1.0); - result += mat4(-0.15441336, 0.0968205, -0.32649723, -0.021546176, -0.10667603, 0.18065608, 0.017242601, 0.027690934, -0.23079967, 0.093206555, -0.11170116, 0.19002458, -0.352287, 0.008375842, 0.2459501, -0.09389683) * go_1(1.0, 0.0); - result += mat4(0.2130623, -0.4781421, -0.53600657, 0.44947717, -0.018234696, -0.17257519, -0.063182175, 0.22729957, -0.037309792, 0.13939567, -0.013829814, -0.20586358, 0.052985236, -0.04452726, 0.1880475, 0.096934296) * go_1(1.0, 1.0); - result += mat4(0.026266143, -0.03171053, 0.2277772, 0.01093641, -0.007701242, 0.115488306, 0.029304042, 0.33619022, 0.14467055, 0.075788446, -0.076583475, -0.051929206, 0.02211152, 0.031270072, -0.075583085, -0.20198274) * go_2(-1.0, -1.0); - result += mat4(-0.010648877, 0.21413183, 0.24339998, -0.22960022, -0.16156821, -0.45364898, -0.105244495, -0.07713787, -0.31945667, -0.097204186, -0.2457385, 0.04241939, -0.16228637, 0.13461526, 0.009693403, -0.13537757) * go_2(-1.0, 0.0); - result += mat4(0.058250688, 0.007912516, -0.071061306, 0.01889538, -0.14592043, -0.10374761, 0.07840785, 0.008756123, -0.045008816, 0.05261628, -0.2615482, -0.01929421, -0.23048545, 0.010220507, -0.16385053, 0.031251106) * go_2(-1.0, 1.0); - result += mat4(-0.03350765, 0.0737811, -0.09780837, -0.031780828, -0.1919008, 0.36382285, 0.19377235, -0.2797014, -0.12267188, 0.023496462, 0.38848102, -0.010005188, -0.09733866, 0.51535326, 0.47232744, 0.0073942994) * go_2(0.0, -1.0); - result += mat4(-0.27284998, 0.14916854, -0.25612846, -0.029941292, 0.18539569, -0.43832946, -0.119871736, 0.044226155, -0.106426276, 0.05740293, -0.046056107, -0.17616963, -0.52316684, 0.33400205, -0.08133327, 0.0948221) * go_2(0.0, 0.0); - result += mat4(0.32683802, -0.26026967, 0.19948171, -0.011760837, -0.30256173, -0.45944482, 0.051236197, 0.84710604, -0.08078167, 0.2675028, -0.27241448, 0.27764642, 0.13335843, 0.068502, -0.033614077, 0.19930291) * go_2(0.0, 1.0); - result += mat4(0.07075588, 0.029963106, 0.055358, 0.042518128, -0.1441339, 0.42236832, 0.1387107, -0.40421516, 0.02318193, -0.36765453, -0.21558793, 0.21393713, 0.31122518, -0.3358225, -0.4967671, 0.46344024) * go_2(1.0, -1.0); - result += mat4(-0.28364134, 0.19475235, 0.42310834, 0.060645495, -0.14013693, -0.049322303, -0.09870014, 0.23229486, -0.033104394, -0.37716264, -0.18488638, 0.17441164, -0.24427529, -0.26787207, -0.16721556, -0.10374529) * go_2(1.0, 0.0); - result += mat4(-0.3376618, -0.09682554, 0.3423445, 0.047880173, 0.3354013, -0.21854481, -0.40352795, 0.1841921, 0.008460585, -0.03459756, -0.22880521, 0.35112804, -0.01764322, -0.16448145, 0.107058726, -0.28482538) * go_2(1.0, 1.0); - result += mat4(-0.032480888, 0.0034003556, -0.032999255, 0.16414961, 0.098690405, 0.0887987, 0.32215804, -0.002440519, -0.16814353, 0.0029867117, -0.28380692, 0.060728613, 0.15944195, 0.16642234, 0.110365815, 0.22413619) * go_3(-1.0, -1.0); - result += mat4(-0.088509634, 0.047311794, -0.30038288, -0.27227867, 0.41235012, 0.23889793, 0.7280631, 0.13555974, -0.08230139, 0.09955461, -0.13654864, 0.0314745, -0.275061, -0.10253638, -0.34706068, 0.03781376) * go_3(-1.0, 0.0); - result += mat4(0.09819424, -0.017704371, -0.031446967, 0.061441656, -0.110502265, -0.19236599, 0.2783733, 0.12798637, -0.047672354, -0.018956421, -0.17555775, -0.018790504, 0.43967727, -0.62039405, 0.08790998, 0.4353703) * go_3(-1.0, 1.0); - result += mat4(-0.019217307, 0.14623284, 0.015177701, 0.15983194, -0.106374666, -0.0131188845, 0.033161264, 0.41326195, 0.052029386, -0.11639186, -0.026856689, -0.020853983, -0.024652582, -0.12368135, -0.39344305, 0.17345576) * go_3(0.0, -1.0); - result += mat4(-0.047131967, -0.28568837, 0.4201909, -0.28901812, -0.13973507, 0.03312194, -0.16265458, -0.10710893, 0.21189946, -0.32837728, 0.12424836, -0.30587387, 0.036961686, -0.8623908, 0.3661179, -0.1692949) * go_3(0.0, 0.0); - result += mat4(0.1143412, 0.07707313, 0.3981437, -0.17059685, -0.094056316, -0.27234176, 0.12281097, -0.16966031, -0.1512859, -0.0524175, 0.1654043, 0.13700214, -0.3156236, -0.27636334, -0.52670264, 0.9250529) * go_3(0.0, 1.0); - result += mat4(0.16162306, -0.15842794, -0.06699449, 0.059618954, 0.06798694, -0.060685594, -0.14878511, 0.17194197, -0.05110082, -0.12152871, -0.2020905, 0.09337634, 0.0602552, -0.07327089, 0.07043988, 0.15926042) * go_3(1.0, -1.0); - result += mat4(-0.10312201, -0.13890414, -0.07694594, -0.29262447, 0.0597966, -0.228, -0.00046558332, 0.09373052, 0.2520174, -0.2992283, -0.01796473, -0.052195024, 0.09554047, -0.25678295, -0.38657847, 0.16130428) * go_3(1.0, 0.0); - result += mat4(0.21114396, -0.64854, -0.52819866, -0.67061704, 0.05760163, -0.121914886, 0.05448798, -0.1352843, 0.007051261, 0.065677196, -0.09763541, 0.032613076, -0.17908493, -0.7194699, -0.6342276, 0.031814635) * go_3(1.0, 1.0); - result += vec4(0.051319666, 0.019196881, 0.0759832, 0.050857317); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10187621, 0.11053595, 0.14810364, -0.18582201, 0.16617906, -0.011798966, 0.09280227, 0.13307849, -0.044728525, 0.10914104, 0.075626835, -0.10416733, -0.094498746, -0.06870642, -0.07571491, 0.04897303) * go_0(-1.0, -1.0); - result += mat4(0.33485547, 0.03678466, -0.29866266, -0.048795477, -0.010474432, -0.10252797, 0.036609326, -0.013254512, -0.14475596, 0.011886287, 0.11828754, -0.13557065, -0.28870094, -0.17330378, 0.044048756, -0.019826433) * go_0(-1.0, 0.0); - result += mat4(0.105582856, -0.039765045, 0.0818729, 0.09955303, 0.023201315, 0.09243788, 0.07389467, -0.012808492, 0.0492865, 0.19755632, -0.06548781, 0.08533675, -0.013952, 0.017339202, -0.20518751, -0.054678205) * go_0(-1.0, 1.0); - result += mat4(-0.26653445, 0.04810761, -0.23108084, -0.19818014, 0.23671885, 0.016349426, 0.0045669116, 0.077428445, -0.140711, 0.11972277, 0.101062275, -0.18716832, -0.190941, -0.34035257, -0.09143259, 0.04359683) * go_0(0.0, -1.0); - result += mat4(-0.14573975, 0.23356283, -0.3772715, -0.22460096, -0.053278442, 0.069576025, 0.05169695, 0.17249753, 0.028048603, -0.25471392, -0.09931249, 0.2095619, 0.22173007, 0.38787642, -0.30738685, 0.01936576) * go_0(0.0, 0.0); - result += mat4(0.081078954, -0.16813248, 0.1542311, 0.17158946, -0.15383756, 0.025605323, 0.2360881, -0.14753577, -0.016537111, 0.048651446, -0.35849985, 0.01651406, 0.17044473, 0.13180882, 0.324054, -0.18812656) * go_0(0.0, 1.0); - result += mat4(-0.15537027, -0.08164218, 0.049979087, -0.31885874, -0.15126401, -0.14352658, 0.18948728, 0.020951044, 0.054829888, -0.18936221, -0.22699763, 0.14384085, 0.055476833, -0.011031805, -0.23653851, 0.02768591) * go_0(1.0, -1.0); - result += mat4(-0.34108123, -0.28492066, 0.50347435, 0.0034134283, 0.041766707, 0.12375689, -0.08600751, 0.22726676, 0.10521852, 0.16621545, 0.038216297, 0.029870255, 0.07065742, -0.03542451, 0.38924676, -0.117774665) * go_0(1.0, 0.0); - result += mat4(-0.19437145, -0.01827461, 0.15408134, -0.14991991, 0.13832837, 0.0668659, 0.092678316, 0.05341174, 0.21633142, 0.09575402, -0.111060366, -0.00874764, -0.21256353, -0.052944425, 0.16459747, 0.07091838) * go_0(1.0, 1.0); - result += mat4(0.022236984, 0.19067548, 0.049743406, 0.05148808, 0.23003219, 0.08688227, 0.030773275, -0.059972208, -0.039038613, 0.21701579, -0.11092254, -0.10850967, -0.17777155, -0.20399293, -0.006843039, 0.24139926) * go_1(-1.0, -1.0); - result += mat4(-0.07928885, -0.011657496, -0.03982505, -0.031084592, -0.09403157, -0.13860224, 0.15166754, 0.1279725, -0.084909394, 0.18945958, 0.055481352, -0.24365151, -0.04130202, 0.105171725, -0.47306657, -0.2218246) * go_1(-1.0, 0.0); - result += mat4(-0.06171395, 0.0029490888, 0.055825688, -0.01362009, 0.045571987, -0.04197536, -0.024671398, -0.11600467, 0.02611751, -0.06675449, 0.38841903, 0.109969236, 0.1846224, -0.22673915, -0.11488994, -0.18271959) * go_1(-1.0, 1.0); - result += mat4(-0.08073766, -0.1512685, 0.09596278, 0.061552938, -0.23016383, 0.044725727, -0.1058148, -0.09081257, 0.25391936, 0.13075152, 0.1153331, 0.035533328, 0.14628118, 0.053434838, -0.061957166, -0.11092296) * go_1(0.0, -1.0); - result += mat4(0.004972408, 0.26720062, -0.0014180156, -0.15569477, 0.08964792, 0.39218047, -0.113748655, -0.20653862, -0.0182982, -0.009456181, 0.096566215, 0.19871894, -0.45192167, -0.19494532, 0.5282211, -0.033234302) * go_1(0.0, 0.0); - result += mat4(0.11633487, 0.055492207, -0.09550419, 0.019721292, 0.05191187, 0.110391244, 0.13541168, 0.108687185, -0.3231262, -0.071254596, 0.12103068, -0.063508354, 0.16086432, 0.22202429, -0.2793211, -0.059888415) * go_1(0.0, 1.0); - result += mat4(0.09845572, -0.11364447, -0.06817361, 0.20479278, 0.008171668, -0.10222864, -0.12512983, 0.11285637, 0.2092848, 0.12593135, -0.054839488, 0.1560058, 0.109415986, -0.04229047, -0.21525817, 0.10153635) * go_1(1.0, -1.0); - result += mat4(-0.26443723, 0.18267378, 0.2874903, -0.15007962, 0.23901714, -0.039331976, -0.4055973, 0.18869716, 0.060133275, -0.030050457, -0.16689767, -0.024223989, 0.43243858, -0.004281818, -0.5925553, 0.08473984) * go_1(1.0, 0.0); - result += mat4(-0.11769163, -0.6005158, -0.0700652, 0.0062212353, -0.022391787, 0.08070833, 0.10332995, 0.100591965, 0.1680161, 0.1209537, -0.11606606, -0.0032385625, -0.30508906, -0.11541758, 0.27825746, 0.18774803) * go_1(1.0, 1.0); - result += mat4(-0.06629365, -0.14032914, -0.2580204, 0.18303558, -0.1916567, 0.029803488, -0.12213443, -0.07165115, 0.012936617, -0.11358297, -0.19138688, 0.10422416, 0.18062063, 0.14369549, 0.10535131, -0.036331207) * go_2(-1.0, -1.0); - result += mat4(-0.23739359, -0.14102252, 0.16535138, -0.055494435, 0.11510639, -0.02530117, 0.13571805, -0.11962709, 0.14311576, -0.11346015, -0.053082045, 0.23039193, 0.2412315, 0.34595123, -0.057626486, 0.1273758) * go_2(-1.0, 0.0); - result += mat4(-0.031894613, 0.04056866, -0.14806709, -0.061261263, -0.05113628, -0.150074, -0.05885426, 0.025318084, -0.028839143, -0.14976048, -0.061418023, -0.10849576, 0.10669465, 0.025044547, 0.13002798, 0.033596892) * go_2(-1.0, 1.0); - result += mat4(0.31830126, -0.109857574, 0.022382054, 0.19084917, -0.21992075, -0.06509279, 0.04586319, -0.10979886, 0.07565896, 0.008375114, -0.025531407, 0.112079956, 0.32532254, 0.39258766, 0.15983114, -0.047324624) * go_2(0.0, -1.0); - result += mat4(0.06333816, -0.43997836, 0.28480944, -0.037927028, -0.16247569, 0.14209846, -0.5309942, -0.23058164, -0.18387268, 0.3324917, 0.010288075, -0.2516956, -0.42476243, -0.19866063, 0.32058033, 0.052254338) * go_2(0.0, 0.0); - result += mat4(-0.019851776, 0.17185202, -0.14713249, -0.1373522, 0.23155597, -0.009191596, -0.15395427, 0.24423079, -0.11106813, -0.034888845, 0.17169674, -0.08786573, -0.08697707, -0.28842747, -0.25445274, 0.13578549) * go_2(0.0, 1.0); - result += mat4(0.2099323, 0.09262897, -0.08977398, 0.30791095, 0.12376861, 0.24654338, -0.097672515, 0.008614657, 0.006388779, 0.076170854, 0.25119394, -0.12392118, 0.3138793, -0.015998395, 0.15131904, -0.3009305) * go_2(1.0, -1.0); - result += mat4(0.33982292, 0.26557416, -0.3754559, -0.110353656, 0.08402225, -0.053171434, 0.051136248, -0.2696132, -0.14568366, -0.048726343, 0.06216166, 0.018804165, -0.084439, 0.15103953, -0.020082679, 0.15082058) * go_2(1.0, 0.0); - result += mat4(0.14522389, -0.0462971, -0.10824406, 0.14163211, -0.08392773, -0.22920173, -0.23795773, -0.2580316, -0.22207144, -0.15956368, 0.12665017, -0.08286834, 0.09581649, 0.12603259, -0.15513468, -0.010735423) * go_2(1.0, 1.0); - result += mat4(0.00818024, -0.15539199, -0.011369519, 0.05717366, -0.25330603, -0.018393422, 0.027386196, 0.121692196, 0.059138533, -0.1631142, 0.10282322, 0.08011751, 0.10027271, 0.255391, 0.010682224, -0.3095357) * go_3(-1.0, -1.0); - result += mat4(0.117767766, 0.120644994, 0.09232613, -0.018057318, -0.038398392, 0.14537762, -0.016560853, -0.08958423, 0.06743331, -0.23562634, -0.123906426, 0.028323429, -0.09386831, -0.16833909, 0.019829117, -0.08108203) * go_3(-1.0, 0.0); - result += mat4(0.05462869, -0.031615634, -0.121678494, 0.05315917, -0.012636353, -0.13374922, 0.18577711, 0.0005971412, -0.099537544, -0.060773082, -0.28754288, -0.20077203, -0.15873533, -0.11387871, -0.17841183, -0.120239034) * go_3(-1.0, 1.0); - result += mat4(0.13845754, 0.223389, -0.20315485, -0.03479761, 0.1806296, 0.057029717, 0.010771242, 0.15245064, -0.0040082, 0.015283898, -0.34807077, 0.078581005, 0.026417086, -0.058825746, 0.07728649, 0.066044815) * go_3(0.0, -1.0); - result += mat4(-0.13820273, -0.050027788, 0.061389934, 0.11189863, 0.008062022, -0.17326912, 0.18159898, 0.08510656, 0.22065656, 0.3918094, -0.05124615, -0.22959533, 0.85480285, 0.5621734, -0.817405, 0.065126896) * go_3(0.0, 0.0); - result += mat4(-0.15309735, 0.1396192, 0.16662036, -0.10952867, -0.03473452, -0.08712044, -0.2422528, -0.19236326, 0.49887487, 0.2615184, -0.076631024, 0.16010238, -0.09836315, -0.27126545, 0.17968613, -0.21053861) * go_3(0.0, 1.0); - result += mat4(-0.18809205, 0.050410215, 0.1418759, -0.2876976, -0.13414268, 0.07458343, 0.096421175, -0.060676426, -0.17345451, -0.13678914, -0.06512698, -0.102106765, -0.12989639, 0.09089589, 0.07377932, -0.07263102) * go_3(1.0, -1.0); - result += mat4(0.45035192, 0.2393797, -0.045452517, -0.04553052, -0.26037264, -0.021321824, 0.24618645, -0.108074926, -0.030116243, 0.04612789, 0.2273845, -0.07468269, -0.48789972, 0.12628402, 1.0130231, -0.14672706) * go_3(1.0, 0.0); - result += mat4(0.5591947, -0.0326075, 0.12768768, -0.7916967, 0.023168698, -0.042015456, -0.12410894, -0.033611402, -0.14815444, -0.124497496, 0.08198418, -0.014488041, 0.4252749, -0.20253694, 0.042329047, -0.50953263) * go_3(1.0, 1.0); - result += vec4(-0.048558664, 0.11006767, -0.074099846, -0.016021004); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.26519376, -0.45442572, -0.24128473, 0.56122154, 0.45048368, 0.32492852, -0.14123245, -0.027976234, -0.11764467, -0.47563952, -0.09401533, 0.024141679, -0.19278349, -0.5169275, -0.26203018, 0.04326379) * g_0; - result += mat4(-0.14198317, 0.18704857, -0.20165806, 0.3868074, 0.26532957, 0.13556235, -0.5872983, 0.13357028, 0.48151335, -0.3750496, 0.020972235, -0.32213062, -0.46967435, 0.10506199, 0.24039303, -0.3906582) * g_1; - result += mat4(0.10981934, -0.0040414287, -0.0025180888, -0.23061854, -0.6781062, -0.27331296, -0.1538456, 0.31020573, -0.05341261, 0.45214307, 0.23456645, 0.3261386, -0.020520406, 0.46579385, 0.57791334, 0.441774) * g_2; - result += mat4(0.11475315, 0.18062253, 0.21255025, -0.1963313, -0.22190428, -0.19369084, 0.5878038, -0.051808596, -0.39728877, -0.044071846, 0.0066692936, -0.0066007506, 0.03501876, 0.27602142, 0.11396466, 0.81461775) * g_3; - result += mat4(-0.44411597, -0.11377309, 0.16160126, 0.47119814, 0.22932883, -0.43011594, 0.01986201, 0.01446102, -0.2783236, -0.07647468, -0.5016725, 0.4227215, 0.31808656, 0.23829709, -0.12855907, -0.15950239) * g_4; - result += mat4(-0.4784548, -0.042179376, -0.4882858, -0.046462137, -0.21421364, -0.35029694, -0.15496174, 0.11386904, 0.22592051, 0.1590684, 0.49690887, -0.37077406, -0.48519966, -0.14407466, 0.24836525, 0.38462397) * g_5; - result += mat4(-0.043213595, -0.004892144, 0.29046863, 0.57064444, 0.37136674, -0.5603234, -0.30733815, 0.26740906, 0.016959883, -0.26567596, 0.101653986, 0.34387913, -0.13222592, -0.34239995, 0.32046688, 0.023962379) * g_6; - result += mat4(-0.2955613, 0.44671535, 0.056253802, -0.6011664, -0.30715483, 0.16890973, 0.041257784, -0.1544008, 0.4653661, -0.22183, -0.23155628, -0.063779, 0.10350268, 0.02045104, -0.22509801, 0.14633855) * g_7; - result += vec4(-0.00089101185, -0.038285345, 0.023986168, -0.122330956); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.6336626, -0.23328744, 0.054100014, -0.6572063, 0.22899812, 0.47125596, 0.087406546, 0.5788615, -0.24324284, -0.17465535, 0.23223022, -0.4417298, -0.1195797, -0.14119461, -0.2301777, -0.1748931) * g_0; - result += mat4(0.2554768, -0.0835268, 0.13054265, 0.033940453, -0.22754695, 0.053536188, -0.10300488, -0.10146903, 0.3104604, -0.5024146, 0.089460805, -0.20216464, 0.6033507, 0.12908716, -0.29953086, 0.292064) * g_1; - result += mat4(0.09586759, -0.037499018, -0.23253569, 0.63889295, 0.18920106, -0.6646685, 0.07218118, -0.61459464, -0.16397415, 0.3131906, -0.39399612, 0.36777702, 0.39545253, 0.030677503, 0.29420745, -0.02527333) * g_2; - result += mat4(-0.2464485, -0.117239855, -0.13390337, 0.43170166, 0.10044111, -0.13811369, -0.007668335, 0.06387773, -0.11786689, 0.23223364, 0.12805769, 0.06410502, -0.2818576, 0.21286973, 0.17026524, -0.22247931) * g_3; - result += mat4(0.12590794, 0.25101408, -0.014941272, -0.06091461, -0.106272854, -0.23196393, 0.64016813, 0.0025616125, 0.16706267, 0.008579063, 0.04476896, -0.5403641, -0.011274305, -0.014704461, -0.068788156, 0.47190762) * g_4; - result += mat4(0.10427173, -0.11386145, -0.6048206, -0.20245847, -0.011730377, -0.0119483, 0.06255473, -0.5017671, -0.07181296, -0.08626898, -0.035322662, 0.42718327, 0.041101683, 0.017210655, -0.07089471, -0.6541289) * g_5; - result += mat4(-0.43911383, -0.099413894, -0.22120018, -0.3121928, -0.32394376, 0.1159015, 0.04434728, 0.014404674, 0.040322874, 0.06727233, -0.046662346, -0.066591434, -0.004613069, -0.6566657, -0.13442427, -0.081967555) * g_6; - result += mat4(0.7393613, 0.059159152, 0.21900342, 0.26184326, 0.15656939, -0.05151207, -0.02730003, -0.055701576, -0.50296444, 0.09566756, -0.10248052, -0.39747316, 0.5877897, 0.83397114, -0.07968032, -0.3097048) * g_7; - result += vec4(-0.010642331, -0.050244823, -0.009665539, 0.26457447); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11527973, 0.18487021, 0.0010509634, -0.3687562, -0.012861112, -0.37319645, -0.31061935, -0.051598914, 0.061436053, -0.2643697, -0.032551475, 0.59398615, 0.17265628, 0.1634019, 0.026527049, -0.0040123775) * go_0(-1.0, -1.0); - result += mat4(-0.19826698, -0.29437867, 0.15727736, 0.44590214, 0.27655315, 0.28220633, 0.12990361, -0.09000104, -0.26396993, -0.53520125, 0.40639028, 0.7958488, 0.043264065, -0.08110669, -0.28618547, 0.12722827) * go_0(-1.0, 0.0); - result += mat4(0.26455724, -0.36315665, -0.22116943, 0.049996275, 0.28526706, -0.0045478707, -0.20538875, 0.03192557, 0.04443011, -0.48084733, -0.32755423, 0.0075373487, 0.34481105, 0.04272154, -0.11092845, -0.07401724) * go_0(-1.0, 1.0); - result += mat4(0.28374255, 0.13204694, 0.041846596, -0.57726663, 1.0038753, 0.42640173, -0.045806255, 0.3795911, 0.52897507, -0.2522673, 0.37759414, 0.158503, 0.111165345, -0.033814687, -0.37906894, 0.14007671) * go_0(0.0, -1.0); - result += mat4(0.30553007, -0.032092307, 0.6779135, -0.32720757, 0.29837027, 0.13522549, 0.21653146, 0.4553826, -0.22200927, -0.20921928, 0.36475468, 0.27989116, 0.6222863, -0.37027213, 0.06746388, 0.16675332) * go_0(0.0, 0.0); - result += mat4(0.31677073, -0.37482786, 0.4029838, 0.43627468, 0.32849845, -0.3442297, 0.1752726, 0.37502408, -0.1561963, -0.17489041, 0.7141825, -0.13179696, 0.17682795, 0.052273672, 0.07300372, 0.20322469) * go_0(0.0, 1.0); - result += mat4(0.07722791, 0.51997215, 0.2052519, -0.6162976, 0.07318059, -0.16653596, -0.0609372, -0.13199529, -0.011298448, -0.066250905, 0.11658636, -0.07317175, -0.068134755, 0.032443475, -0.27242857, 0.26479205) * go_0(1.0, -1.0); - result += mat4(-0.46400046, 0.34256476, -0.074927844, -0.082626544, 0.38616362, 0.10320202, 0.7306549, -0.41960227, -0.33295953, -0.35537082, 0.040369444, 0.18173583, 0.36835003, -0.078561984, -0.13071333, -0.06847678) * go_0(1.0, 0.0); - result += mat4(0.0951899, -0.21144655, 0.12174552, 0.09496668, -0.17025085, -0.36465582, 0.20724316, 0.07027979, 0.17988989, -0.16671456, -0.15068638, 0.26715076, 0.022114933, 0.14284599, -0.06316286, 0.017598677) * go_0(1.0, 1.0); - result += mat4(0.22179046, -0.19104601, 0.10500515, 0.22017653, -0.065115064, -0.027006533, -0.21086605, 0.00932852, -0.6196575, 0.04396425, 0.52487534, 0.61164427, 0.15172893, 0.219877, 0.103516005, -0.103571504) * go_1(-1.0, -1.0); - result += mat4(0.122733794, 0.19491453, 0.22410785, -0.17341182, -0.18816754, 0.22092234, -0.055087283, -0.14617631, 0.4338981, -0.45366564, -1.4062341, 0.19594707, 0.2178627, 0.016837195, -0.2226328, 0.079190396) * go_1(-1.0, 0.0); - result += mat4(0.16418308, 0.14917587, 0.35162288, 0.04064204, -0.037038237, 0.06579139, -0.08464511, -0.2156906, 0.22791082, -1.1695892, 0.53665465, -0.77753544, 0.0065266103, 0.15857838, 0.010236925, 0.14953533) * go_1(-1.0, 1.0); - result += mat4(0.64548135, -0.02291521, -0.14370848, 0.049308565, 0.13637903, 0.14568083, -0.1488358, -0.0038734428, 0.0809154, -0.15466721, -0.06614126, -0.047732286, 0.311668, 0.22075401, 0.26094854, -0.27763176) * go_1(0.0, -1.0); - result += mat4(0.12075334, -0.23920162, 0.19115442, -0.33920774, 0.15199614, 0.27974042, -0.05022236, -0.15280685, 0.37271795, -0.76389724, -0.56503266, 1.4975219, 0.24002175, -0.12661129, 0.045953903, 0.2102559) * go_1(0.0, 0.0); - result += mat4(-0.02855315, -0.16729961, -0.27380818, -0.08810453, 0.061245166, 0.27268958, 0.2282609, 0.072155826, -0.65736717, -0.46307757, -0.5473049, 0.50772667, -0.1581774, 0.28763455, -0.1870661, -0.16523343) * go_1(0.0, 1.0); - result += mat4(0.23464368, 0.25850806, -0.054024473, -0.13788947, -0.24835043, -0.028147692, -0.23022775, 0.11494646, 0.31069988, -0.21450949, 0.40749013, -0.073832974, -0.16241223, 0.15673774, 0.23648019, -0.34203738) * go_1(1.0, -1.0); - result += mat4(-0.10198349, -0.052500926, 0.02638934, 0.19718044, -0.09078705, 0.07717591, 0.44648582, -0.30146563, -0.10124157, 0.12145466, -0.2133955, 0.16855773, -0.12310728, 0.35327804, -0.44273457, 0.20639896) * go_1(1.0, 0.0); - result += mat4(0.08033835, 0.0977811, 0.007069267, -0.110171854, -0.008568571, -0.10922981, 0.12048108, -0.0835261, 0.019930357, -0.12652875, 0.02870121, 0.12214532, -0.024486745, 0.3588685, -0.16501926, 0.11914434) * go_1(1.0, 1.0); - result += mat4(0.24003507, -0.040643565, -0.4267142, 0.34356147, -0.2618635, -0.1550601, -0.18566506, 0.33267352, -0.17584917, -0.24971883, 0.167064, -0.20808934, 0.3197215, 0.19626021, -0.16993162, -0.16976681) * go_2(-1.0, -1.0); - result += mat4(0.159248, -0.33713767, -0.37823528, 0.25286102, -0.6171255, 0.01159639, 0.08387377, -0.0796005, -0.18405017, -0.11881008, -0.03026552, 0.030733835, 0.17692643, 0.17118043, 0.23938146, -0.40504465) * go_2(-1.0, 0.0); - result += mat4(0.11274836, -0.023647472, 0.083114825, 0.5222033, -0.07415273, -0.3251913, -0.034298245, -0.07125199, 0.09593269, -0.23062208, -0.3168607, -0.13040248, -0.41249517, 0.39030293, 0.47400078, -0.109306306) * go_2(-1.0, 1.0); - result += mat4(-0.49999082, 0.012254524, -0.035179958, 0.212335, -0.10354367, -0.19730526, 0.092015326, -0.07317916, -0.21900047, -0.13948579, -0.3228226, -0.22363624, -0.06421761, 0.16125691, 0.38075948, -0.31371582) * go_2(0.0, -1.0); - result += mat4(-1.0006356, -0.13763155, -0.8414047, -0.051852856, -0.44105098, 0.526086, 0.23091859, -0.6621191, -0.015348964, 0.37972412, -0.24986422, 0.13964157, -0.03184678, 0.25394693, -0.051659737, -0.34171197) * go_2(0.0, 0.0); - result += mat4(0.14520285, 0.1346628, 0.047271203, 0.64346415, -0.25639483, 0.052174076, 0.28681588, -0.32156095, 0.014350296, 0.028580237, 0.33776954, 0.06681965, -0.27312553, 0.44097883, -0.16519593, -0.7293824) * go_2(0.0, 1.0); - result += mat4(-0.65626615, -0.20801732, -0.18783297, 0.27998376, -0.51550066, -0.23272751, -0.3744558, 0.11267917, -0.1879591, 0.043539204, -0.17665562, 0.28546363, -0.20627682, 0.33176526, 0.34412766, -0.4310386) * go_2(1.0, -1.0); - result += mat4(0.51410156, -0.08615402, -0.2396778, -0.027256064, 0.11491742, -0.20842157, 0.3855824, -0.19823207, 0.0062098945, -0.2629099, 0.13158852, -0.08746773, -0.46980307, 0.57169086, -0.13392213, 0.13375558) * go_2(1.0, 0.0); - result += mat4(0.09988252, 0.19396676, -0.011215926, 0.2714918, 0.07985461, 0.30587563, 0.21915142, -0.14004244, -0.336268, 0.023702772, 0.15740578, -0.06307948, 0.06453276, 0.26978606, 0.45891464, -0.35511568) * go_2(1.0, 1.0); - result += mat4(-0.33263445, -0.13086738, -0.30128893, 0.03720744, 0.46366304, -0.13430476, -0.26493385, 0.14521147, -0.025578065, -0.043376725, 0.055235144, -0.08467402, 0.12879072, 0.2621278, -0.030150373, -0.079033755) * go_3(-1.0, -1.0); - result += mat4(-0.15686864, 0.06962337, -0.24032803, 0.05093969, 0.12118379, 0.2144539, 0.21314697, -0.15564163, -0.15193312, -0.15797225, 0.061610706, 0.06689548, 0.42354256, 0.24339569, 0.14413804, -0.08890708) * go_3(-1.0, 0.0); - result += mat4(0.021830576, -0.0682399, -0.25052184, 0.035374403, -0.0022370394, 0.23796171, 0.40747103, -0.14309348, -0.22325014, 0.12337428, -0.0727028, 0.12374459, -0.24148722, 0.34091887, 0.5052561, -0.13712624) * go_3(-1.0, 1.0); - result += mat4(-0.583754, -0.10253819, -0.26736188, -0.084894784, 0.7130811, 0.5888696, 0.24837445, 0.20670207, 0.08242887, -0.03090308, 0.24002716, -0.04146999, 0.33550006, -0.006085788, -0.2078999, 0.016955601) * go_3(0.0, -1.0); - result += mat4(-0.23921615, 1.0534316, -0.29723012, -0.06626253, 0.022887046, -0.6139072, 0.22857629, 0.4203786, -0.02951169, 0.0501039, -0.054740574, -0.15496075, 0.9533812, 0.21038955, 0.33969748, 0.18853404) * go_3(0.0, 0.0); - result += mat4(-0.13571729, -0.045776337, 0.23663524, 0.1457326, -0.23159564, -0.44608104, -0.35497522, -0.14684997, 0.042379193, 0.16966693, 0.2560789, -0.07091574, 0.010749883, -0.26966086, -0.16322245, 0.095426805) * go_3(0.0, 1.0); - result += mat4(-0.027934154, -0.25037688, 0.19623838, 0.16128206, 0.21479255, 0.4066385, -0.06756232, -0.19681008, 0.09168842, 0.46935177, -0.059632402, -0.3419115, 0.2789002, 0.012714867, 0.15322958, 0.05255599) * go_3(1.0, -1.0); - result += mat4(0.2074098, -0.19564646, 0.21713807, -0.29207307, -0.08546043, 0.122562535, -0.5150736, 0.5190804, -0.116998374, 0.17080544, -0.29132518, 0.47585255, -0.14625762, -0.026589578, -0.13111407, 0.03473621) * go_3(1.0, 0.0); - result += mat4(-0.3399405, 0.063775875, -0.0121724615, 0.13809827, -0.1575877, 0.13529225, -0.28708464, -0.063552216, 0.08623843, 0.034867074, 0.25082812, -0.038863987, 0.08048017, -0.43998414, -0.05038377, -0.20123458) * go_3(1.0, 1.0); - result += vec4(0.19016464, 0.19431238, -0.073604904, 0.101166695); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.259803, 0.14121838, -0.3216694, 0.16912009, -0.24997918, -0.024859427, 0.07951931, -0.17898253, 0.14770418, -0.38608834, 0.7155576, -0.008749993, 0.106385805, -0.08190305, 0.06277034, 0.05247095) * go_0(-1.0, -1.0); - result += mat4(-0.10331291, 0.29847905, -0.20864278, -0.34607938, -0.0629403, 0.24202278, 0.15617771, 0.09471163, 0.29827452, -0.5237911, 0.8446165, -0.038001515, 0.085504964, -0.012998129, -0.12903701, -0.06808485) * go_0(-1.0, 0.0); - result += mat4(-0.028803846, 0.117718086, 0.11924323, -0.23554896, -0.31169716, 0.2164557, 0.054745417, -0.2886858, 0.34304592, -0.15872054, 0.21533915, 0.23624876, -0.02507208, 0.16001348, -0.14645866, -0.013143789) * go_0(-1.0, 1.0); - result += mat4(0.12311184, 0.16843726, -0.5478087, 0.036556758, -0.0024939126, -0.12264501, 0.090127975, -0.14638199, -0.33366996, 0.1817309, 0.018728942, -0.025097579, -0.00233696, 0.15182042, -0.072947, -0.15065937) * go_0(0.0, -1.0); - result += mat4(0.3238381, 0.19316678, 0.23307748, -0.10455285, -0.35405514, -0.06559013, 0.4206979, 0.08059919, -0.26130152, -0.23416454, -0.21285532, 0.07799376, 0.12372864, -0.3774056, 0.022239799, 0.22356819) * go_0(0.0, 0.0); - result += mat4(0.066345, 0.20370135, -0.01601085, 0.014701113, 0.27098605, 0.25511372, -0.048403386, -0.014162313, 0.11301996, -0.09638182, 0.12047054, -0.010323633, 0.21627729, 0.18377618, -0.12752205, -0.0668105) * go_0(0.0, 1.0); - result += mat4(0.18890683, -0.21100806, -0.38314816, 0.12188494, -0.09069559, 0.1785706, -0.19502263, -0.22853898, -0.096488185, 0.18105212, -0.0045291157, -0.018952737, 0.14934972, -0.17416078, 0.05363704, -0.17642738) * go_0(1.0, -1.0); - result += mat4(-0.15392087, 0.13997103, -0.12765433, -0.054465868, 0.0061383434, 0.03424787, -0.08585949, -0.10249745, -0.055375032, -0.047258787, -0.10105776, 0.09468892, 0.32030013, -0.14938186, 0.18287018, 0.007592655) * go_0(1.0, 0.0); - result += mat4(0.109669484, 0.02212132, 0.038995523, -0.0041161263, -0.12115841, -0.048061926, 0.06674463, -0.33846095, 0.04251217, -0.05917749, 0.17834029, 0.010219928, 0.2690458, 0.09282476, 0.077470005, -0.07310091) * go_0(1.0, 1.0); - result += mat4(0.4314233, 0.035379685, 0.27331847, 0.19597715, -0.09619968, -0.055907905, 0.07898602, 0.031254813, -0.09366987, -0.37436283, 0.061305135, -0.32644534, -0.16999187, 0.06906536, -0.1228417, -0.09826574) * go_1(-1.0, -1.0); - result += mat4(0.6059936, -0.10060162, -0.18080838, 0.26205355, 0.033052504, -0.10625297, -0.0038814575, 0.026052764, 0.19484659, -0.24242568, 0.8054419, -0.3437365, -0.010305425, -0.079504244, 0.11879563, -0.14375582) * go_1(-1.0, 0.0); - result += mat4(0.23313539, -0.026485069, 0.13332158, 0.28462213, -0.19786534, 0.048259735, 0.024113638, 0.23403068, -1.0330093, 0.0059400625, 0.23721488, -1.379481, 0.12166913, -0.07133997, 0.060898513, 0.092720084) * go_1(-1.0, 1.0); - result += mat4(0.16513251, 0.013819962, -0.009859532, -0.037474833, 0.25651336, -0.131653, 0.03145131, -0.27886832, 0.27808505, -0.099978246, -0.11189488, 0.053313572, 0.11455811, 0.10826371, 0.0017301271, -0.041959) * go_1(0.0, -1.0); - result += mat4(-0.037442397, 0.061722398, 0.099159, -0.18970016, -0.13042277, 0.16767356, -0.028342545, 0.18715699, 0.22246139, 0.3154743, -0.39717823, 0.26053482, -0.012097491, 0.1746896, 0.3899962, -0.13013846) * go_1(0.0, 0.0); - result += mat4(-0.14552362, -0.26800197, 0.09035887, 0.24266347, -0.14494316, 0.033814326, -0.06647855, -0.16609156, 0.30540654, 0.037082594, 0.14951941, 0.12753695, -0.045153987, -0.28476146, 0.37640104, -0.04667195) * go_1(0.0, 1.0); - result += mat4(0.2071077, -0.09297775, -0.04906301, -0.24280597, 0.15925987, -0.05631783, 0.08169953, -0.20124075, 0.23060048, -0.05786468, 0.23959383, 0.1620485, 0.14333409, -0.12757483, -0.1424963, 0.13118197) * go_1(1.0, -1.0); - result += mat4(-0.101942524, -0.02240319, 0.11718157, -0.13591368, 0.11223302, -0.042933583, -0.07766777, 0.01667011, 0.07462998, 0.020704709, -0.04329035, -0.01358702, 0.13569939, 0.015980164, -0.08001042, 0.13890027) * go_1(1.0, 0.0); - result += mat4(0.01755685, -0.047599614, 0.06456479, -0.08004052, 0.08108282, 0.06789228, -0.14048836, -0.020240005, 0.039701223, 0.023405846, 0.06305444, -0.046804685, 0.040620867, 0.013529182, -0.094961315, 0.02959053) * go_1(1.0, 1.0); - result += mat4(-0.053775985, -0.0060494044, 0.14724614, 0.07248909, -0.056616947, 0.0004714896, -0.18737504, -0.15240799, -0.030883765, -0.007487297, -0.0044565946, 0.15024893, -0.16870505, 0.09338804, -0.21873595, -0.14493267) * go_2(-1.0, -1.0); - result += mat4(-0.045113027, -0.2153715, 0.04520989, 0.26561612, -0.12634845, -0.10975088, -0.3677834, -0.4343602, -0.34146985, 0.29135808, 0.026339425, -0.0995021, 0.012693227, 0.07312179, 0.21671581, 0.11961088) * go_2(-1.0, 0.0); - result += mat4(0.19766524, -0.31538734, 0.35708517, 0.33092737, 0.027086282, 0.024219114, -0.15289012, -0.18128034, -0.16041638, 0.057314564, 0.079830885, -0.08828221, 0.11828446, -0.13336371, -0.078453206, 0.21232514) * go_2(-1.0, 1.0); - result += mat4(-0.13100033, -0.24849984, 0.3087074, 0.017271562, -0.17455627, -0.014364008, 0.077686995, -0.015820628, 0.18584616, -0.16705278, -0.3169503, 0.09107534, -0.04958684, -0.008202742, 0.024148908, -0.04654239) * go_2(0.0, -1.0); - result += mat4(-0.16020702, -0.18623418, -0.29434547, 0.5008317, 0.23796988, -0.11154579, -0.5167728, -0.14195764, 0.15495163, -0.028505204, -0.2105556, 0.22491512, -0.11658545, 0.31665426, 0.35085753, -0.40148884) * go_2(0.0, 0.0); - result += mat4(0.24866697, -0.3752738, 0.8472619, 0.16663249, -0.25808626, -0.037561346, -0.1440471, -0.107407264, 0.016663626, 0.1599037, -0.31926402, 0.15272903, -0.14700623, -0.05275371, 0.061130624, 0.084672675) * go_2(0.0, 1.0); - result += mat4(-0.24184473, -0.016008917, 0.040023588, 0.1517675, -0.1339458, 0.009985992, 0.15634708, -0.07649679, 0.0021696684, -0.07027257, -0.07509208, -0.27060902, -0.21299353, 0.12154156, -0.3159698, 0.2511261) * go_2(1.0, -1.0); - result += mat4(0.19845779, 0.023986215, -0.073409855, 0.0812208, 0.013382121, -0.049414996, -0.12990347, 0.052681953, -0.12787153, -0.100129806, -0.036296804, -0.13915883, -0.24022135, 0.167096, -0.15128131, 0.17779276) * go_2(1.0, 0.0); - result += mat4(-0.05787442, -0.19698323, 0.13090582, 0.1501304, -0.09954089, -0.008470983, -0.095334776, 0.114635326, -0.16330223, -0.046815667, -0.086304545, -0.15729928, -0.1982723, 0.10607274, -0.25540838, 0.09633669) * go_2(1.0, 1.0); - result += mat4(-0.25680968, -0.18444876, 0.053333476, 0.10470261, 0.17798793, -0.108659215, 0.1787569, -0.027407814, 0.12637395, -0.038193744, -0.16185284, 0.14068736, 0.092281684, 0.022276353, 0.013779975, 0.026369803) * go_3(-1.0, -1.0); - result += mat4(-0.17329752, 0.21632285, -0.036964342, 0.30856085, 0.015225849, 0.04158692, -0.010607313, 0.16295516, 0.18873654, 0.24728407, 0.09787, -0.14381099, -0.091119304, 0.12914585, -0.039659716, -0.10700463) * go_3(-1.0, 0.0); - result += mat4(-0.037163302, 0.05201725, -0.149489, -0.05682234, -0.022634465, -0.074764505, -0.010783339, 0.028970495, -0.045976285, -0.1923207, -0.037494432, -0.13024884, -0.1957353, 0.013454359, -0.30236122, -0.078870796) * go_3(-1.0, 1.0); - result += mat4(-0.17753989, -0.1549664, 0.08087595, 0.046868976, -0.09354348, 0.22648604, 0.002651186, 0.11890617, -0.0073132347, 0.05030891, -0.08128038, 0.14395374, -0.001108739, -0.030957213, -0.03568773, 0.055131156) * go_3(0.0, -1.0); - result += mat4(-0.029484594, -0.013036961, -0.31721568, 0.11611545, -0.24111903, -0.33007705, 0.5950326, -0.070911475, -0.04757172, -0.037676062, -0.14590797, 0.076822214, -0.1672743, -0.41848892, 0.39202756, -0.30958134) * go_3(0.0, 0.0); - result += mat4(0.17605461, 0.12216047, -0.02412872, -0.14132546, -0.052373543, 0.08169531, 0.18497281, 0.074685514, -0.055427983, 0.14018987, -0.11671619, 0.108945735, -0.032986425, 0.11385016, 0.05801377, -0.1457665) * go_3(0.0, 1.0); - result += mat4(-0.27222672, -0.0074164676, 0.35768685, 0.0074552484, 0.16729778, 0.14860032, -0.3657366, 0.24510175, -0.0621289, -0.0137252435, -0.26145887, 0.0556681, -0.07332952, 0.13122542, -0.020396946, 0.113705456) * go_3(1.0, -1.0); - result += mat4(0.08118381, -0.06442098, 0.00044297878, 0.13279027, -0.20708169, 0.11252618, -0.033728387, -0.0105973175, -0.2138218, 0.34612998, -0.15597765, 0.18179017, -0.007853463, -0.045547944, 0.22064093, 0.0548327) * go_3(1.0, 0.0); - result += mat4(-0.10656318, -0.014200068, 0.062040597, -0.037210476, -0.07271065, -0.027337732, -0.14988437, -0.14711551, -0.028843492, -0.0046596485, -0.15023676, 0.08530336, -0.016875269, -0.024734195, 0.055177588, 0.010381644) * go_3(1.0, 1.0); - result += vec4(-0.021330277, -0.09496422, -0.1339419, 0.012216251); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.4756803, -0.16041027, 0.30747655, 0.27719444, 0.33626345, -0.093426555, -0.08751585, -0.025898175, 0.12469858, 0.162526, 0.071950376, 0.36727026, -0.26165214, 0.17652564, -0.081568465, 0.17669047) * g_0; - result += mat4(0.10045615, -0.47277164, 0.13970673, -0.036603283, 0.10723418, -0.0733819, 0.07046736, 0.04479655, -0.5100679, 0.4051206, -0.3043826, 0.07709692, 0.25090587, -0.5827475, 0.27195984, 0.42297873) * g_1; - result += mat4(-0.34415862, -0.056642354, -0.32332316, 0.049897127, 0.08399151, 0.683046, -0.16349371, -0.4878456, -0.097749546, 0.7214421, -0.2821467, -0.16691755, 0.3712332, -0.71557045, 0.40365914, 0.37325174) * g_2; - result += mat4(-0.333854, 0.11971563, -0.26533902, -0.033346854, 0.09896302, -0.19311592, -0.006087015, -0.104003794, 0.05347405, -0.16057043, 0.15876219, 0.1538847, -0.07954591, 0.24062383, -0.025401022, -0.33599105) * g_3; - result += mat4(0.11794056, -0.0031797416, 0.08360105, 0.12222232, -0.16638078, 0.26014742, -0.047267277, -0.27900735, 0.17616066, -0.12788172, 0.22856903, -0.39034957, -0.36313176, 0.12272574, 0.2235959, -0.31102005) * g_4; - result += mat4(0.03297161, 0.19597028, -0.068131894, -0.059938233, 0.18935929, -0.12004069, 0.08705267, 0.26411813, -0.021374375, 0.24630849, -0.08980925, 0.15982057, 0.3533297, -0.15414584, -0.19008748, 0.11310849) * g_5; - result += mat4(-0.4622819, 0.31923467, -0.38989246, 0.5539857, -0.035433546, -0.12729715, -0.0669769, -0.048216928, -0.32078394, 0.26958883, 0.08897814, -0.31043166, 0.26743132, 0.38835636, -0.30535862, -0.22241123) * g_6; - result += mat4(0.47431698, -0.755935, -0.075302646, 0.27771655, 0.052087527, -0.17221431, 0.0008429987, 0.15527548, -0.04587466, -0.11802989, 0.39905685, -0.07758683, -0.11415051, 0.004637339, -0.19803126, 0.19956517) * g_7; - result += mat4(0.36277947, -0.13364364, 0.18459712, -0.1705512, -0.46083033, 0.43629453, 0.112646095, -0.18511245, 0.037818372, 0.1220617, -0.22268273, -0.11983507, -0.5432721, -0.2102279, -0.014456884, 0.16428374) * g_8; - result += mat4(0.22811654, 0.16262956, 0.18411161, 0.49102694, -0.15078211, -0.6144134, -0.11632199, 0.2740543, -0.11322067, -0.16751853, 0.18453367, 0.14305107, 0.36418238, -0.34248996, -0.055178564, 0.37168074) * g_9; - result += vec4(0.07878663, -0.045328207, -0.07142425, -0.006036755); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.35645446, -0.01804877, -0.53608185, 0.32968932, 0.13975728, -0.1716116, 0.09503091, -0.12088551, 0.30239868, 0.9217966, 0.016221086, -0.26894137, -0.0047026747, 0.54764843, -0.2826915, 0.0016894634) * g_0; - result += mat4(-0.15123259, 0.2014175, 0.05961645, -0.32386652, -0.25275725, 0.3658508, -0.104193784, -0.02756655, 0.2696138, 0.17608197, 0.17685752, 0.6808081, -0.40293297, 0.48387393, 0.25278264, 0.28291366) * g_1; - result += mat4(-0.18928573, -0.18908137, 0.47045723, 0.5454373, 0.31339395, -0.0064702537, -0.37307036, -0.37479213, 0.2235379, -0.370863, 0.02827034, 0.024350066, -0.32538193, -0.33686417, 0.8949382, 0.3324315) * g_2; - result += mat4(-0.17215039, -0.14995, -0.4451278, 0.30758965, 0.21607, 0.08995007, 0.09553425, -0.21233945, -0.14442022, 0.09295349, -0.29228872, -0.3875935, 0.11704046, -0.4206096, 0.35226774, -0.08189522) * g_3; - result += mat4(-0.12517966, 0.060051568, -0.38888076, 0.08354471, 0.17010468, -0.34286287, -0.06961373, 0.032387406, -0.025718998, -0.1661844, -0.075671494, 0.10289619, -0.28309906, -0.14461538, 0.22726184, 0.4752376) * g_4; - result += mat4(0.15411675, 0.17533994, 0.3406641, -0.0597274, -0.21072194, 0.1517182, 0.032032263, 0.18653658, 0.20970167, -0.10793765, -0.05335404, -0.095203936, 0.2917104, -0.1170929, -0.11652503, -0.46912733) * g_5; - result += mat4(-0.272871, 0.07467413, 0.16981912, 0.57318956, 0.35038894, -0.06679483, 0.3777534, -0.01522816, 0.2588504, -0.008976239, 0.31769443, 0.07070477, 0.059302222, 0.28855336, -0.14700443, -0.08605704) * g_6; - result += mat4(-0.27067363, -0.2191635, -0.2377148, -1.0028448, -0.25673935, 0.10997322, -0.39032057, 0.06524818, 0.5248202, 0.40049195, 0.6711809, 0.2878331, 0.19606547, -0.092196286, 0.27838528, 0.03120515) * g_7; - result += mat4(0.3029178, -0.027027214, 0.13855064, -0.16550988, 0.2354576, -0.1715326, 0.12981784, 0.5013446, 0.24411377, -0.13030572, -0.08595908, -0.104394995, 0.16794646, -0.044388745, 0.2807999, 0.39108425) * g_8; - result += mat4(-0.05535261, -0.15662162, 0.14935054, 0.10706811, 0.026958441, -0.15323113, -0.19261432, -0.24361719, -0.2607876, 0.038486157, -0.04509224, 0.18722118, -0.14478058, 0.03614682, -0.12608361, -0.5203596) * g_9; - result += vec4(-0.17363991, 0.071162574, -0.09289675, 0.013446863); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.162897, -0.21250516, -0.11219427, 0.30969706, 0.078927204, -0.14922144, 0.5486932, 0.2884913, 0.07018745, 0.45946357, -0.23759702, -0.18914284, 0.19762751, 0.56881535, -0.2141465, 0.27216902) * go_0(-1.0, -1.0); - result += mat4(-0.17507325, -0.577772, -0.46351492, 0.09431303, 0.023881523, -0.068162896, -0.0029204858, -0.076631226, -0.07645065, 0.28997856, -0.0349899, 0.087704636, 0.29194608, 0.7767595, 0.17478088, -0.295144) * go_0(-1.0, 0.0); - result += mat4(0.23039296, -0.000184939, -0.032427344, 0.0926983, -0.4264918, -0.44138262, 0.39098918, -0.0102598835, 0.066287994, 0.15478721, -0.062338993, 0.15079321, 0.120016515, 0.7005824, -0.12260436, 0.090042405) * go_0(-1.0, 1.0); - result += mat4(0.014269367, 0.21645544, -0.4203915, 0.0077638677, -0.18618487, 0.30165052, 0.6985895, -0.014695781, -0.071353786, -0.49996287, -0.79902583, -0.06343025, 0.291085, 0.28801495, 0.46547806, 0.1311194) * go_0(0.0, -1.0); - result += mat4(0.17163453, 0.21760814, -0.67896426, 0.1487859, 0.05881719, -0.08391752, 0.44536906, 0.24853623, -0.7685656, 0.45705163, -1.0204223, 0.1884743, -0.3251896, -0.49221343, 0.38116506, -0.09428967) * go_0(0.0, 0.0); - result += mat4(0.2759429, 0.22141403, -0.13269989, 0.06833041, -0.29562923, -0.26589182, -0.34452415, 0.36388424, -0.3184807, 0.08254464, -0.15477169, 0.03237491, -0.34190834, -0.2777646, -0.15713428, -0.22231084) * go_0(0.0, 1.0); - result += mat4(-0.36887082, -0.34607458, 0.5719879, 0.09200919, 0.12724651, 0.20281908, 0.39280674, 0.09216231, 0.3126475, -0.0075341803, -0.046779484, 0.10883631, 0.20136468, 0.70330596, -0.024237871, -0.061087623) * go_0(1.0, -1.0); - result += mat4(-0.08114617, -0.02456657, 0.1287709, 0.5486885, -0.10143632, -0.39116892, 0.24008204, 5.8133483e-05, -0.36640543, -0.52113515, 0.3836287, 0.09541327, 0.01115865, -0.2044513, 0.07734024, -0.29509112) * go_0(1.0, 0.0); - result += mat4(0.25962162, -0.05327207, -0.28945914, 0.320823, 0.049143463, 0.011241379, 0.004193257, 0.3872085, -0.47137228, -0.44385332, -0.2591483, -0.20189615, 0.08729277, -0.14813553, -0.29911307, 0.0067013856) * go_0(1.0, 1.0); - result += mat4(0.13526323, 0.6637005, 0.09491454, -0.038491655, -0.5078187, -0.5782128, -1.0748478, 0.18678135, 0.16064858, 0.0795754, 0.116070546, 0.06408978, 0.085641995, -0.39126787, -0.16669247, -0.024058852) * go_1(-1.0, -1.0); - result += mat4(-0.30658495, -0.08933112, 0.38358685, -0.048228927, 0.050148476, -0.08750905, -0.5015779, 0.4012965, -0.068299964, 0.08993712, 0.03617703, -0.030809006, 0.05144756, -0.7659615, -0.33359128, 0.0054376507) * go_1(-1.0, 0.0); - result += mat4(-0.24894494, 0.08617524, -0.095747314, 0.14710969, -0.09528072, 0.19016005, 0.060339417, -0.059556015, 0.01127292, -0.021082405, 0.5204205, 0.23831797, -0.035384487, 0.001653611, -0.28902745, -0.0060615037) * go_1(-1.0, 1.0); - result += mat4(0.2978602, 0.2580722, 0.11472323, -0.06937241, -0.45087403, -0.35747236, -0.38835877, 0.22520676, 0.09162963, 0.50932664, -0.41183934, -0.08526183, -0.043625794, -0.27782285, -0.4119391, -0.339948) * go_1(0.0, -1.0); - result += mat4(-0.005034612, 0.010024151, 0.55194247, -0.16040643, 0.0072234212, -0.047230296, 0.011222393, -0.017184192, 0.2156304, 0.02429907, 0.41669923, -0.06159069, -0.39241523, 0.009254305, 0.35784644, -0.45379582) * go_1(0.0, 0.0); - result += mat4(-0.18008694, -0.35366225, 0.12110043, -0.102665015, 0.2763678, -0.61502653, 0.3051717, -0.23991431, 0.6076138, -1.142571, 1.2579885, 0.15013893, -0.13282573, -0.16185799, -0.26278257, 0.044563264) * go_1(0.0, 1.0); - result += mat4(-0.043284204, -0.1374118, -0.6523209, -0.1682561, -0.002918912, 0.2768846, 0.045174655, -0.046218265, 0.10686049, -0.004872297, 0.04118156, -0.07015327, -0.3329307, 0.19972506, -0.38307762, 0.11627049) * go_1(1.0, -1.0); - result += mat4(0.09306764, -0.5036807, -0.25358048, -0.033543527, 0.07199686, -0.28982875, -0.022885432, -0.078454, -0.0836088, -0.08261633, 0.38759607, 0.021209864, 0.09516953, -0.1896164, -0.12284774, 0.16532375) * go_1(1.0, 0.0); - result += mat4(0.27196047, -0.6199637, 0.12209493, -0.0055379267, -0.08997175, -0.0025996822, -0.20710677, 0.15223576, -0.07073166, -0.20732503, -0.044538528, 0.35751408, 0.33849528, -0.14603287, 0.19472563, 0.20992133) * go_1(1.0, 1.0); - result += mat4(0.018979501, 0.030001618, 0.09530055, -0.22441792, -0.11513775, -0.05383842, 0.042144198, -0.2824055, 0.20338169, 0.9622458, -0.20780474, 0.5217952, 0.11518432, 0.24126045, -0.046675194, -0.07326568) * go_2(-1.0, -1.0); - result += mat4(-0.13768856, 0.17157272, -0.32123035, -0.08968111, 0.011915078, -0.08129057, -0.71480066, 0.24239756, 0.5093838, 0.29058817, -0.07181868, -0.22533971, 0.24244072, -0.2716092, 0.03331018, 0.008624937) * go_2(-1.0, 0.0); - result += mat4(0.21304299, 0.5180637, 0.40324917, -0.078679435, 0.17033757, -0.4813804, -0.47702515, -0.017285354, -0.054009005, -0.5853617, -0.5427995, 0.13533083, 0.12440328, -0.6455633, 0.0012186684, 0.031838413) * go_2(-1.0, 1.0); - result += mat4(0.04057183, -0.27768528, -0.07563423, 0.13400203, -0.03429928, -0.32794374, -0.085426375, -0.3724642, -0.19195397, 0.1349262, -0.2909766, -0.43096116, 0.056601644, 0.5106557, -0.267059, -0.046354882) * go_2(0.0, -1.0); - result += mat4(0.14343774, -0.29267886, -0.2406526, -0.30307195, -0.10270894, 0.008828463, -1.5378821, 0.017785087, 0.48302534, -0.310974, 1.5381073, 0.08598342, 0.82111055, -0.0049781636, 0.4820726, 0.301231) * go_2(0.0, 0.0); - result += mat4(0.012052944, -0.090234, 0.52199095, -0.3329521, 0.110252894, 0.2897882, -0.37447298, 0.17326026, 0.18148576, -0.23976558, 0.1848407, 0.5042414, 0.33321953, 0.2712571, 0.18124644, 0.20849751) * go_2(0.0, 1.0); - result += mat4(0.066107936, 0.035174694, -0.1587501, -0.22672103, 0.012212267, -0.05451626, -0.6004301, 0.013387352, -0.04113352, 0.53583735, -0.15342614, -0.0018758774, 0.09947345, -0.18213694, 0.02965846, -0.044368513) * go_2(1.0, -1.0); - result += mat4(0.099831305, 0.2666737, -0.12301129, -0.113591194, 0.018106552, 0.290373, 0.1480011, 0.032558106, 0.0024403003, 0.11745559, 0.7669008, -0.18195944, 0.21291047, 0.49549788, -0.04361018, 0.6138144) * go_2(1.0, 0.0); - result += mat4(-0.24335642, -0.023037815, -0.22853605, -0.49450716, 0.04834612, 0.040727314, 0.36239302, -0.076259434, -0.08173315, 0.14689375, 0.3357786, 0.34003472, -0.11701219, -0.35594055, 0.55640507, 0.3573448) * go_2(1.0, 1.0); - result += mat4(0.039600838, -0.08580259, -0.25375724, -0.41294497, 0.052295998, 0.34286344, 0.23627926, 0.08080187, 0.0015981429, 0.37459275, -0.11763548, 0.027264152, 0.11372706, 0.34742436, 0.30963847, -0.2995273) * go_3(-1.0, -1.0); - result += mat4(-0.035936117, -0.42153218, -0.40176156, 0.20363232, 0.22382015, 0.48679677, 0.07365761, -0.20890754, 0.22791456, -0.28418672, -0.17189962, 0.0968373, -0.70834696, -0.41918173, -0.13482817, 0.037949625) * go_3(-1.0, 0.0); - result += mat4(0.11910686, 0.0473921, 0.37869528, 0.17928337, 0.17311068, 0.21572089, 0.34996882, -0.26002827, -0.014036688, -0.6574892, -0.14409806, -0.06467717, -0.33688435, -0.18185017, 0.04036214, 0.06086553) * go_3(-1.0, 1.0); - result += mat4(-0.15657301, -0.05661294, -0.36640826, -0.13215317, 0.060342815, 0.19098124, 0.18715985, -0.40765548, 0.090474375, -0.07720432, -0.016231487, 0.0885778, 0.0272616, 0.22065723, 0.1691866, -0.19491237) * go_3(0.0, -1.0); - result += mat4(-0.13054666, 0.3278881, -1.3170725, -0.4575742, -0.061401486, 0.15868792, 0.2789515, 0.13829961, 0.09607008, -0.7175924, 0.01804374, 0.41284522, 0.044577077, 0.04847126, -0.25607756, -0.02249741) * go_3(0.0, 0.0); - result += mat4(0.22145797, 0.8114419, -0.17527157, 0.09274125, -0.25224185, 0.2955128, -0.37553602, -0.17377761, -0.9684024, 0.42457148, -0.64265996, 0.10394252, -0.11231096, 0.064703405, 0.42858216, -0.21214609) * go_3(0.0, 1.0); - result += mat4(0.1910386, -0.0065560606, 0.18119961, -0.026436953, 0.07887997, 0.15127628, -0.11523928, -0.0679343, 0.031198656, 0.16947536, 0.05943052, 0.060350783, 0.32215032, -0.1347014, 0.017390233, -0.06527528) * go_3(1.0, -1.0); - result += mat4(-0.19811153, -0.033103824, 0.0053317053, 0.008003428, -0.020805335, 0.17872533, -0.3161484, -0.11559199, -0.24902378, -0.2596549, 0.034520704, -0.006125487, 0.13173361, -0.10967251, -0.7860965, -0.035326626) * go_3(1.0, 0.0); - result += mat4(-0.124631934, 0.21335506, 0.375809, -0.13598146, 0.047685858, 0.14553228, -0.068173625, -0.117949426, 0.07296198, 0.08935096, -0.26368606, 0.29653412, -0.27378097, 0.060699224, -0.09753418, -0.08484599) * go_3(1.0, 1.0); - result += vec4(-0.009278051, 0.62221414, 0.22868732, 0.14880095); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.018128054, -0.14104486, -0.027475944, 0.22669935, -2.7264505e-05, 0.14775783, 0.13441783, 0.11450963, -0.09942102, 0.29735768, 0.04839269, -0.14066552, -0.024448555, 0.3104163, -0.03636913, 0.002947356) * go_0(-1.0, -1.0); - result += mat4(-0.20438337, 0.35419708, 0.037506625, 0.100693576, -0.074241616, -0.15304284, 0.0054191337, -0.12816934, 0.028913809, -0.098240785, 0.5653599, -0.38662913, 0.018716848, 0.0021957273, 0.061397206, -0.111899704) * go_0(-1.0, 0.0); - result += mat4(-0.18681246, -0.23609419, 0.21475013, 0.051762715, 0.04889926, -0.033886652, 0.26262638, -0.27322114, 0.049140245, 0.3380464, -0.13617653, -0.05796957, 0.080669545, 0.21348572, -0.10067047, -0.0016244814) * go_0(-1.0, 1.0); - result += mat4(0.025566151, -0.027286734, -0.10856872, 0.108885765, -0.07635088, 0.13037659, 0.2892404, -0.2160093, -0.30649704, 0.34650138, -0.021391464, 0.08717436, -0.02000013, 0.027722841, 0.43060175, -0.04844848) * go_0(0.0, -1.0); - result += mat4(0.09925131, -0.11167345, -0.14262813, -0.21267861, -0.15972298, -0.1823657, -0.073309824, 0.15542479, 0.005081145, -0.40594074, 0.24862696, 0.19943975, -0.36283687, -0.38990027, 0.4759463, 0.45561194) * go_0(0.0, 0.0); - result += mat4(-0.13126811, 0.24284562, 0.06109369, -0.15402594, 0.016967572, -0.08234942, -0.053873185, 0.026438333, 0.13412815, -0.10839792, -0.345438, 0.0720746, 0.21260333, -0.15989558, -0.012461376, 0.20363508) * go_0(0.0, 1.0); - result += mat4(0.09231617, 0.17787862, 0.22783166, 0.09095521, -0.0935426, -0.22921127, 0.2591894, -0.19451278, -0.0046325484, -0.60839254, 0.061737422, -0.024267042, -0.04048761, 0.2450175, 0.14390652, 0.07999217) * go_0(1.0, -1.0); - result += mat4(-0.09204067, -0.05434134, 0.32136026, -0.053413626, 0.044170942, 0.10284346, 0.10827547, -0.03207593, -0.036979157, -0.37019014, -0.07072617, 0.07745549, 0.026007036, 0.13402742, 0.22873925, -0.09879518) * go_0(1.0, 0.0); - result += mat4(-0.039409183, -0.15304323, 0.110744946, 0.04479048, 0.073402554, -0.31955537, 0.13518381, 0.09020946, 0.21437532, -0.08866372, 0.062359575, -0.08147204, -0.012339588, 0.038986444, -0.059496317, 0.04353628) * go_0(1.0, 1.0); - result += mat4(-0.029447578, 0.18052183, 0.026130654, -0.18024941, -0.2357611, 0.92272073, -0.40873498, 0.3829195, -0.049990416, -0.2626007, 0.07313907, -0.20231684, 0.23846717, 0.06304234, -0.072538964, 0.34895507) * go_1(-1.0, -1.0); - result += mat4(-0.21427542, 0.33398184, 0.19135003, -0.079177245, -0.047564022, 0.25006044, 0.19287021, -0.07119212, -0.0064072064, 0.14020945, -0.15136649, -0.04587045, -0.113710366, 0.05126853, -0.084781885, 0.1418395) * go_1(-1.0, 0.0); - result += mat4(0.04655672, -0.010115347, 0.18253572, 0.017085062, -0.04543099, 0.08404545, 0.07929449, 0.17069206, -0.045596916, 0.12133366, 0.12615037, -0.11942128, -0.07431312, -0.0975234, 0.17188828, -0.021951154) * go_1(-1.0, 1.0); - result += mat4(0.013333504, -0.22424631, -0.25461286, -0.09366057, -0.24168679, -0.1413706, -0.084172204, 0.1557298, 0.023721283, 0.18159337, -0.029377997, -0.12690134, -0.07779016, 0.49728185, 0.060146395, 0.17318316) * go_1(0.0, -1.0); - result += mat4(0.08302447, 0.86936367, -0.17584775, -0.2508983, 0.16770333, 0.106514744, 0.056097895, -0.1516464, -0.04237734, 0.3350473, 0.08797126, 0.053822745, 0.36157215, -0.04365805, -0.20060433, -0.23983552) * go_1(0.0, 0.0); - result += mat4(0.09215062, 0.0729301, 0.2564446, -0.09456067, -0.04279617, 0.009632537, -0.067693666, 0.07115211, -0.58410543, 0.7954688, -0.6856004, -0.0039867237, 0.05259691, -0.19899113, 0.34015554, -0.1301164) * go_1(0.0, 1.0); - result += mat4(-0.08229732, 0.22852908, -0.17944984, -0.053203765, 0.01401186, -0.01731911, -0.017196467, 0.017660033, -0.06473575, 0.11841842, -0.09651762, 0.08812678, 0.15789783, 0.41068667, -0.17433365, 0.112683386) * go_1(1.0, -1.0); - result += mat4(0.19192256, -0.048173536, -0.27452058, -0.086614236, 0.03459962, -0.076093, -0.13129567, 0.10529364, -0.003243667, -0.11558274, 0.15014142, -0.11415493, -0.058378108, -0.23308878, 0.016655494, -0.06092205) * go_1(1.0, 0.0); - result += mat4(0.053656723, -0.2520498, -0.06450468, 0.14063323, -0.07785553, 0.06996582, 0.043691944, -0.09447727, -0.19854756, 0.08710172, 0.103271045, -0.20072943, -0.10393605, -0.19852036, -0.01656043, 0.19936512) * go_1(1.0, 1.0); - result += mat4(-0.043692272, -0.15573448, -0.07609012, -0.25906095, 0.042468645, 0.06499704, 0.021691361, -0.14418614, 0.007778065, -0.04098781, 0.16854198, 0.1880123, -0.0024735837, -0.38171276, 0.29813913, -0.13975172) * go_2(-1.0, -1.0); - result += mat4(0.0786739, -0.13743922, -0.16762766, 0.0551441, -0.16237186, 0.47069517, -0.16434868, 0.38760075, 0.29262593, 0.21078295, 0.1564407, -0.19921672, -0.07819381, 0.045407712, 0.25388238, 0.12049804) * go_2(-1.0, 0.0); - result += mat4(0.13686253, 0.15139718, -0.14193471, -0.037212268, 0.017021572, -0.13029522, -0.07875422, 0.22883393, -0.117323294, -0.11999564, 0.074406326, 0.029792523, 0.071242705, 0.04940517, 0.27540857, 0.094216466) * go_2(-1.0, 1.0); - result += mat4(0.05651692, -0.09319446, -0.15223487, -0.16004439, 0.09602424, 0.114855476, 0.13851804, 0.11632249, -0.15697844, -0.03465572, -0.6334014, 0.0043645306, -0.13810518, -0.24692737, -0.13962403, -0.17288178) * go_2(0.0, -1.0); - result += mat4(-0.1125169, 0.2582768, 0.14571975, 0.3412717, 0.046649273, 0.053606547, -0.5402628, -0.14801335, -0.12299524, 0.79026186, -0.3587726, -0.040698707, 0.18239951, 0.18461016, -0.13213885, -0.6929199) * go_2(0.0, 0.0); - result += mat4(-0.009360833, 0.22758053, -0.334423, 0.35250792, 0.05025162, -0.1640276, 0.21909785, -0.12123492, -0.33830088, -0.26451996, 0.09280175, -0.18673559, -0.20446195, 0.13918248, 0.09164517, -0.20213476) * go_2(0.0, 1.0); - result += mat4(-0.03443797, -0.25032473, -0.0018426777, -0.065064386, 0.03455914, 0.022166712, -0.2954429, 0.012212829, -0.0223488, 0.1161553, -0.106024936, 0.028343895, 0.15230536, -0.5538007, -0.24089493, 0.06740007) * go_2(1.0, -1.0); - result += mat4(0.09501347, -0.0845406, -0.13952151, 0.031915456, 0.05118853, -0.25089842, -0.113984115, 0.08745874, 0.14493734, 0.17449388, 0.037183553, 0.060414817, 0.045083977, -0.50209135, -0.25451177, 0.23309624) * go_2(1.0, 0.0); - result += mat4(0.08991499, 0.14019197, -0.12056033, -0.05024532, -0.07585356, 0.073596515, 0.017992107, -0.0009288775, -0.17292187, 0.07525249, 0.14620323, -0.058494095, 0.09669742, -0.28342497, 0.10102461, 0.0075472025) * go_2(1.0, 1.0); - result += mat4(-0.059322756, 0.07296391, -0.22688308, 0.17183779, 0.0921908, -0.18311407, -0.10553935, -0.2998603, -0.05373476, -0.08882287, 0.009316159, -0.09303765, 0.08415284, -0.044707574, 0.07481887, 0.06931905) * go_3(-1.0, -1.0); - result += mat4(-0.26374707, 0.17429374, -0.54841083, 0.23039351, 0.1550329, -0.0991982, -0.07031106, -0.23306605, -0.076208115, 0.058818877, 0.48602778, -0.116065495, 0.13632986, 0.5399192, -0.088733315, -0.04031161) * go_3(-1.0, 0.0); - result += mat4(-0.118198454, -0.04607605, -0.10619185, 0.034395956, 0.0023600461, 0.1470174, -0.21100855, -0.024570175, -0.0016899678, 0.1612513, -0.03985272, 0.01355469, 0.30949214, -0.056687307, 0.1295898, 0.031099077) * go_3(-1.0, 1.0); - result += mat4(-0.37869355, 0.06961967, 0.2779311, 0.3090361, 0.23564096, -0.014765556, -0.097406775, -0.08233581, -0.05444356, -0.056364074, -0.13940345, -0.1710778, 0.053456437, -0.5668305, -0.21371025, -0.11354647) * go_3(0.0, -1.0); - result += mat4(-0.2009931, -0.46823156, 0.04674297, -0.33720648, -0.48212242, -0.022402052, 0.4083246, 0.3498801, -0.12801081, 0.080993176, 0.12559398, 0.30281347, -0.36876208, -0.19425368, 0.040795308, 0.4358033) * go_3(0.0, 0.0); - result += mat4(-0.008429336, -0.007929484, -0.21348138, 0.19799937, -0.0032136212, -0.037011284, 0.060586747, -0.012355498, 0.37488303, -0.626778, 0.45391387, -0.030982537, 0.26613617, -0.027296683, -0.094556324, 0.03054091) * go_3(0.0, 1.0); - result += mat4(-0.0032568173, -0.3056237, 0.0007252052, 0.052250773, -0.05099108, 0.23182255, -0.044636346, 0.08786388, -0.12470104, -0.16238213, 0.16018245, -0.11313074, -0.044513255, -0.2792024, 0.13793966, -0.20955163) * go_3(1.0, -1.0); - result += mat4(-0.14750522, -0.022307748, -0.15649515, 0.15537989, -0.061475005, 0.19822353, 0.0671258, -0.06628393, -0.04068137, 0.22010179, 0.12955783, -0.0517817, 0.02655539, 0.17269138, -0.1296634, 0.030146338) * go_3(1.0, 0.0); - result += mat4(0.061146796, 0.31339607, 0.034430694, 0.10376425, 0.03029668, -0.0401898, -0.1825413, 0.06257798, 0.08390942, -0.31551626, 0.010347497, -0.0031549276, 0.21435012, -0.13221692, -0.021980911, -0.1482502) * go_3(1.0, 1.0); - result += vec4(0.039428633, 0.032666046, 0.16482623, -0.016402772); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.13591515, 0.21395922, 0.040862843, 0.3054825, -0.088837944, -0.6928339, -0.15643471, 0.13081591, 0.07604966, 0.37446347, -0.34723157, -0.17870799, -0.2037286, -0.106576756, 0.25523958, -0.13762575) * g_0; - result += mat4(0.21503459, 0.0373132, -0.008046219, -0.18440363, -0.09729587, 0.043958187, 0.23459528, -0.044009138, 0.1686642, -0.1615934, -0.13173419, -0.079085656, -0.07647595, -0.37286422, -0.06148421, 0.015342882) * g_1; - result += mat4(-0.14785692, -0.2707874, -0.017647093, -0.2908642, 0.5612585, 0.4271698, -0.48191005, 0.11905855, -0.21741737, -0.2821245, 0.29278705, -0.20538986, 0.03150152, 0.03138199, 0.10423793, -0.045527548) * g_2; - result += mat4(0.31277063, 0.07915742, -0.34087706, 0.39680582, -0.022496004, -0.33672526, -0.111507386, 0.025953399, -0.15757395, 0.11465282, 0.28329894, 0.12420795, -0.36261007, 0.46334505, 0.30303243, -0.03249052) * g_3; - result += mat4(0.57927984, 0.06878386, -0.24236098, 0.31338137, 0.10464923, -0.07153124, 0.13588428, -0.02373762, -0.19124955, -0.1138502, 0.17388438, 0.01707623, -0.24228282, 0.04736911, 0.6398566, -0.32334659) * g_4; - result += mat4(-0.54402775, -0.24674532, 0.11212342, -0.09593871, -0.17339998, 0.1323692, -0.1680261, 0.025882099, -0.19121705, 0.1832492, -0.08548955, -0.14068407, 0.13255714, 0.10409962, -0.01394588, 0.22216345) * g_5; - result += mat4(0.2702694, -0.56255573, -0.5357781, 0.05541389, 0.070275396, -0.08012564, -0.13473864, -0.113696516, 0.06642909, 0.23810093, 0.0728827, -0.17656006, 0.48172018, -0.25749484, -0.1752313, 0.33768335) * g_6; - result += mat4(0.46950498, 0.059317388, -0.09860531, -0.006304164, -0.4128484, -0.049649406, 0.2954393, -0.190237, -0.20938443, 0.034176145, 0.063109055, 0.07802573, -0.20652357, -0.23180202, -0.11936575, 0.2589604) * g_7; - result += mat4(0.3843954, -0.08686217, 0.18839231, 0.01876761, -0.03335079, -0.12043262, -0.42323095, -0.02321388, -0.22252762, -0.049455926, 0.2268798, 0.082169, 0.2473631, 0.23347862, 0.002254042, 0.2757807) * g_8; - result += mat4(0.1020188, -0.037612554, -0.33062017, 0.1570476, 0.19851524, 0.35976177, -0.016449552, 0.22057539, 0.20401593, 0.07004227, -0.062413715, -0.10547836, 0.14671406, -0.3905135, -0.038352408, -0.28926837) * g_9; - result += mat4(0.4110517, 0.06280497, 0.16709873, -0.49500167, -0.10045096, -0.2238529, 0.012172345, 0.19666891, -0.16135901, 0.017100533, 0.35809904, 0.35188627, 0.20347194, -0.14602524, 0.71737736, 0.14195462) * g_10; - result += mat4(-0.5236819, 0.4352016, -0.4066126, -0.04252335, 0.1086945, 0.145471, 0.21984594, -0.24670586, -0.07109616, -0.2711473, -0.89353126, -0.3953869, 0.17096898, 0.12978637, -0.42527854, -0.019720567) * g_11; - result += vec4(-0.027689768, -0.16386859, -0.009289161, 0.09287236); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19380243, 0.020101497, 0.021015864, 0.40521726, 0.038862754, -0.3473658, 0.22289194, -0.2075226, -0.15960178, 0.20686232, -0.19066268, -0.24524036, -0.19289994, -0.6356018, 0.040245753, -0.22887161) * g_0; - result += mat4(-0.06837712, -0.59243137, 0.08107887, -0.18099897, 0.08890105, -0.20113088, 0.0076543097, -0.28404838, -0.39403212, 0.124420464, 0.07661543, -0.16511264, 0.440653, 0.17841326, -0.40957427, -0.055862557) * g_1; - result += mat4(-0.052128255, -0.17906874, -0.0063690864, -0.3027001, -0.12118662, 0.5986499, -0.35075194, 0.11334461, -0.13089949, 0.48732534, 0.31238684, 0.0636065, 0.21470545, -0.12680373, 0.20702313, -0.14277203) * g_2; - result += mat4(-0.13521394, 0.5266374, -0.4765612, 0.32102558, -0.07704129, -0.26604977, 0.36475307, 0.27245706, 0.16729634, -0.04975267, 0.18763311, 0.07594951, -0.20137721, 0.07614109, -0.056586545, 0.35838535) * g_3; - result += mat4(0.22150421, -0.023909386, -0.30742592, 0.54860467, 0.038963366, -0.47929683, 0.001491465, -0.2016597, 0.14891255, -0.12298715, 0.12770613, 0.16882578, 0.52988553, -0.34417477, -0.11196754, 0.038432673) * g_4; - result += mat4(0.10892675, 0.15687913, 0.4061297, -0.2549851, -0.12231971, 0.7066191, -0.038577385, 0.1871752, -0.23520122, 0.6384404, -0.04857454, -0.23879313, -0.26810166, -0.08090798, 0.3287431, 0.15214305) * g_5; - result += mat4(0.16076286, 0.08942198, 0.79264593, -0.5107746, -0.10051664, -0.18325275, 0.31161344, 0.023725776, 0.09911152, 0.1552438, -0.22447744, -0.2995641, 0.27984253, -1.107023, 0.010454479, 0.6606262) * g_6; - result += mat4(0.041668475, 0.16935597, -0.11855577, 0.2013473, 0.2991738, -0.38238418, 0.17906274, -0.27559698, -0.4381387, 0.39814267, -0.40905684, 0.57992136, 0.2830281, 0.12482517, -0.30402762, 0.47808015) * g_7; - result += mat4(0.05201121, 0.3396993, -0.04965309, -0.25744373, -0.13495848, -0.120026626, 0.15645088, -0.20658544, 0.414069, -0.03110071, 0.070210315, 0.028046172, -0.17324251, 0.14329922, -0.14353131, 0.028436944) * g_8; - result += mat4(-0.15607943, 0.98266315, -0.15506491, 0.34884667, -0.16584046, 0.07532187, 0.0062847883, 0.8719761, -0.30521882, -0.34961814, -0.055313803, 0.041199762, 0.2634066, 0.31106153, 0.029962108, -0.017541675) * g_9; - result += mat4(0.1285044, 0.41011113, 0.16163284, -0.40202442, 0.33554438, -0.2626098, 0.18437132, 0.06627138, 0.26390168, -0.23918642, -0.17191365, -0.16348109, 0.30074367, -0.99079835, 0.60264456, 0.050881945) * g_10; - result += mat4(0.3971443, -0.034655187, 0.11870823, 0.39984652, -0.45068088, -0.054210827, -0.27554438, -0.16074227, -0.14983663, 0.35434055, 0.42479035, 0.07799301, -0.4260275, 0.66214204, -0.095251344, 0.09080398) * g_11; - result += vec4(-0.012729538, -0.13335368, 0.14840336, 0.025965473); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.22341304, 0.26908797, 0.04134543, 0.06961319, 0.32176727, 0.07702703, 0.03751845, -0.13761088, -0.09979559, 0.06891045, -0.01716057, -0.031486046, -0.016294012, 0.0262252, 0.012725462, -0.054174248) * go_0(-1.0, -1.0); - result += mat4(0.0758998, 0.044578414, -0.058127478, -0.04941571, 0.1685694, 0.9547572, 0.3217995, 0.04913146, 0.08628588, -0.49687696, 0.05530926, -0.19010891, 0.0077229803, 0.3938303, 0.18076055, -0.048131783) * go_0(-1.0, 0.0); - result += mat4(0.03656385, 0.23112705, 0.13059878, 0.16223684, -0.2766845, 0.053392846, 0.06446786, 0.19696166, -0.14884388, -0.23103243, -0.07006061, -0.021727445, 0.026394684, -0.31138313, -0.0976933, -0.062459927) * go_0(-1.0, 1.0); - result += mat4(-0.36985022, -0.3396681, 0.035750575, 0.019713784, 0.10074354, -0.34114882, -0.01150834, -0.1436701, -0.36870074, -0.3272402, -0.03879516, -0.094077155, 0.016875539, 0.23895474, -0.14396004, -0.06785279) * go_0(0.0, -1.0); - result += mat4(0.057131216, -0.5966212, -0.13011967, -0.3684052, 0.6414469, 0.45823926, 0.043126952, -0.12702179, 0.029217511, 0.43957123, 0.06747733, 0.35508418, -0.13576074, 0.28117993, 0.1785782, 0.20060769) * go_0(0.0, 0.0); - result += mat4(0.112133466, 0.2773932, -0.047416527, -0.06561597, 0.093935706, 0.032524325, 0.02208551, 0.10400939, -0.0062363064, 0.20578235, 0.124429, 0.045867924, 0.024913216, -0.07508951, -0.1506746, -0.07368737) * go_0(0.0, 1.0); - result += mat4(0.029188056, 0.13675697, -0.10047892, -0.15162368, 0.11152231, 0.17758776, 0.04638467, -0.15375991, -0.08195171, -0.00092798605, -0.11137887, -0.20476487, -0.06701632, -0.38742077, 0.10833869, 0.07575963) * go_0(1.0, -1.0); - result += mat4(0.12579612, -0.13082299, 0.022704111, -0.049295194, 0.02813974, 0.06766161, 0.021488592, -0.22899324, -0.13967377, -0.42789128, -0.15561862, -0.13880157, -0.31957027, -0.051553562, -0.15501565, -0.17607704) * go_0(1.0, 0.0); - result += mat4(-0.014785312, -0.3358245, 0.09859993, 0.17852743, 0.06758491, 0.040827237, -0.014897847, -0.027630018, -0.041637477, -0.10967412, -0.10507281, 0.058183335, -0.01929858, 0.09047934, -0.19679205, -0.16896065) * go_0(1.0, 1.0); - result += mat4(-0.19059956, 0.059083544, -0.07367043, 0.10374235, -0.12928921, 0.16821185, 0.03542259, 0.07853399, -0.029948441, 0.045060057, 0.10522493, 0.15548709, 0.13417992, 0.12784965, 0.068737574, 0.024369959) * go_1(-1.0, -1.0); - result += mat4(-0.2539489, -0.15361321, -0.024794202, 0.23387837, -0.021986792, 0.035640705, -0.053465687, 0.041275553, -0.12349385, 0.11599216, -0.12158652, -0.0016647653, 0.03552641, 0.15126309, 0.10521408, 0.022221778) * go_1(-1.0, 0.0); - result += mat4(-0.09391041, 0.21640098, 0.06468435, 0.021124857, -0.017427467, 0.14731239, 0.0888631, 0.06669842, 0.16802992, -0.042000934, -0.007442969, -0.17762569, -0.106376246, -0.007006815, 0.048836768, 0.07634349) * go_1(-1.0, 1.0); - result += mat4(-0.08242374, -0.35055616, 0.11752318, 0.06287576, -0.08078838, 0.015269983, 0.07802465, 0.036515962, -0.047435157, -0.23535018, 0.10882656, 0.00760307, 0.20816213, 0.16291322, -0.17480974, -0.09656055) * go_1(0.0, -1.0); - result += mat4(0.3776239, 0.48836887, 0.046571143, -0.0005301381, 0.111404456, -0.2056147, 0.0976322, -0.07087254, -0.23208277, 0.64508325, 0.029519977, -0.32163903, 0.12203931, 1.2488136, 0.0713469, -0.12589021) * go_1(0.0, 0.0); - result += mat4(-0.1458724, -0.2927259, -0.11825573, 0.050236594, 0.005908592, 0.009147886, 0.014676971, -0.09960781, -0.031219782, 0.0008116867, -0.16999915, -0.08393424, -0.017762119, 0.15271363, 0.17894958, 0.104973435) * go_1(0.0, 1.0); - result += mat4(0.15102111, -0.017580042, -0.009878415, 0.09603493, -0.14158034, 0.01766169, 0.026301328, 0.14016923, 0.07513633, 0.12250821, 0.14139763, 0.119470306, 0.056335848, 0.011718554, -0.051952817, -0.1087701) * go_1(1.0, -1.0); - result += mat4(0.12267096, 0.22258927, -0.23374331, -0.336529, -0.03149633, -0.26095635, 0.00365308, 0.048830956, 0.035902984, -0.04686918, -0.08079191, -0.17013429, 0.0254567, -0.05592242, 0.0968047, 0.07426071) * go_1(1.0, 0.0); - result += mat4(-0.16953564, 0.074455656, 0.0029755495, 0.20576377, -0.050961535, 0.060958825, 0.014226229, 0.104992926, 0.06942283, 0.29077423, 0.040234245, 0.12337425, -0.012045997, -0.11109262, 0.020255094, 0.08945579) * go_1(1.0, 1.0); - result += mat4(0.2978639, -0.24613461, -0.083074145, -0.2367985, -0.13995647, -0.21201506, -0.16809967, -0.08163256, 0.22451796, -0.21319884, 0.097241744, 0.17276905, 0.059754357, -0.21800114, 0.016986718, 0.059852242) * go_2(-1.0, -1.0); - result += mat4(0.10399378, 0.016165858, 0.006949626, -0.00957426, -0.07206657, 0.85400176, -0.069736175, 0.11563255, -0.15550873, 0.21035826, -0.09730208, 0.21803263, -0.029731166, 0.07174115, -0.075019605, 0.06605764) * go_2(-1.0, 0.0); - result += mat4(0.008660154, -0.1689362, -0.13275097, -0.14157207, -0.06571528, 0.2641335, 0.17738026, 0.016201235, -0.058384545, -0.089386165, -0.10691102, 0.03380599, 0.07696467, 0.010921241, -0.05858657, 0.044599395) * go_2(-1.0, 1.0); - result += mat4(0.29438433, 0.39757052, -0.12448894, -0.14726874, 0.054101802, 0.19893955, 0.0081761405, -0.030686913, -0.09465847, -0.09517581, 0.0046200817, 0.2743172, 0.18768987, 0.2577441, 0.3185588, -0.0043636197) * go_2(0.0, -1.0); - result += mat4(0.30364004, 0.45719072, -0.002478791, -0.25550374, 0.044718135, 0.9974692, 0.27661783, 0.38724384, 0.20643012, -0.36335453, 0.04044719, -0.15773767, 0.019318745, -0.015368104, -0.13033883, -0.21446472) * go_2(0.0, 0.0); - result += mat4(0.17225221, -0.2870429, -0.11031537, -0.20985241, -0.1813215, 0.47034717, 0.19177493, 0.1565604, -0.22090979, -0.1778559, -0.15998572, 0.20591277, -0.27751637, -0.17734572, -0.22385214, 0.2001247) * go_2(0.0, 1.0); - result += mat4(0.09103924, 0.012440279, -0.11811386, -0.28955194, -0.024203198, -0.014690502, -0.041423846, 0.0062359073, 0.06732812, -0.040848043, -0.0807372, -0.06598595, -0.020464217, 0.35617942, 0.054869782, -0.06990699) * go_2(1.0, -1.0); - result += mat4(-0.22022852, -0.30250633, -0.008539953, -0.17535509, 0.048545327, -0.06961757, 0.1520779, 0.15551318, 0.145789, 0.41386685, 0.19608185, 0.02285933, 0.19650589, 0.1140758, 0.058065582, 0.06438903) * go_2(1.0, 0.0); - result += mat4(0.17500387, 0.009752107, -0.08735754, -0.40322778, -0.04718948, -0.1520063, 0.015334469, 0.055586398, -0.06315823, 0.01381341, 0.06333497, 0.20780154, -0.14789844, 0.008873181, 0.20424104, 0.18570045) * go_2(1.0, 1.0); - result += mat4(0.17809622, -0.054737452, 0.045792647, -0.05761767, 0.1530876, -0.058534857, -0.008100565, 0.036446143, 0.27693272, 0.3004126, -0.1283306, -0.50103384, -0.3350802, 0.09919993, -0.10481551, 0.059236333) * go_3(-1.0, -1.0); - result += mat4(0.08178473, 0.01796507, 0.045470674, -0.1395204, -0.07053285, -0.15308544, -0.016434597, 0.09957456, 0.07303232, 0.5558379, 0.1058254, -0.12340164, -0.37540868, 0.20688659, 0.11254531, 0.08988308) * go_3(-1.0, 0.0); - result += mat4(-0.115479395, -0.04145597, -0.02444945, -0.0012505532, -0.016777854, -0.21254961, -0.11969028, -0.10986302, 0.34061527, 0.35168666, 0.19457188, -0.25304377, 0.089430355, -0.13593785, -0.03715568, -0.07161111) * go_3(-1.0, 1.0); - result += mat4(0.135465, 0.16024914, -0.16819438, -0.076060556, 0.14722055, -0.12402309, -0.091675736, -0.11345004, 0.3370019, 0.21161243, 0.08165217, 0.26650387, 0.11799823, 1.1248134, 0.031586587, 0.40626523) * go_3(0.0, -1.0); - result += mat4(-0.3881156, 0.075572714, -0.2955678, -0.04820779, -0.14431494, 0.17108414, -0.031334974, 0.14272547, 0.10431918, -0.92185026, -0.550305, -0.09849551, -0.19279402, 0.47034186, 0.38574138, 0.5469418) * go_3(0.0, 0.0); - result += mat4(0.07301299, -0.1655295, 0.0851716, 0.0349889, 0.037978686, -0.34476924, -0.09894407, -0.09279173, -0.017504893, 0.16626996, 0.23299451, -0.29538614, -0.035250418, 0.102075204, 0.014679606, 0.05283856) * go_3(0.0, 1.0); - result += mat4(0.082496785, -0.047353677, -0.1036778, -0.014507561, 0.091381975, -0.07229443, -0.03069601, -0.07463806, 0.2173226, 0.061551273, 0.01672064, 0.065622196, 0.1645865, 0.08651663, 0.18979368, 0.2012662) * go_3(1.0, -1.0); - result += mat4(-0.2116467, -0.26988897, -0.049475558, 0.18609211, -0.08837133, -0.219245, 0.05900789, -0.007832284, -0.028579885, 0.20587349, -0.07297767, -0.19551088, 0.052455146, -0.24630548, 0.12438646, -0.017073039) * go_3(1.0, 0.0); - result += mat4(0.15815273, -0.13286865, -0.036927793, -0.118895106, 0.06876401, -0.08193885, -0.073907554, -0.17851423, 0.025570622, -0.05206693, 0.0054880823, -0.14550385, 0.031355973, -0.0617539, -0.09522895, 0.007602468) * go_3(1.0, 1.0); - result += vec4(0.10656278, 0.12657918, 0.16990805, -0.12699938); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.07384766, -0.027958225, 0.37361667, -0.082532816, 0.14156812, 0.02939518, 0.22737388, 0.19935979, -0.090212055, 0.04403584, 0.18456662, -0.026585983, 0.22868252, 0.09938934, -0.08726494, -0.115827106) * go_0(-1.0, -1.0); - result += mat4(-0.09788985, -0.3116416, 0.35298944, -0.08990593, 0.16181462, -0.22193117, -0.5422943, 0.23932208, 0.15739329, -0.06103239, 0.7953177, -0.047183976, 0.21341586, 0.19858226, 0.0016054768, 0.054749873) * go_0(-1.0, 0.0); - result += mat4(-0.026696216, 0.061291914, -0.35742328, 0.00082715444, 0.10632543, -0.09428293, -0.12645036, -0.043706786, 0.09915236, 0.13788143, 0.15950204, -0.089837976, 0.04461279, -0.054954246, 0.04740199, 0.07014664) * go_0(-1.0, 1.0); - result += mat4(-0.12016896, 0.16669498, 0.26552972, -0.35876223, 0.045097463, -0.15016092, -0.0988156, -0.416339, -0.0101760905, 0.26459762, 0.31927487, -0.16307381, 0.12096833, -0.06770049, -0.017283063, 0.013299284) * go_0(0.0, -1.0); - result += mat4(0.15951112, 0.14506923, 0.6747884, -0.24716964, -0.3413045, -0.2017185, -0.9612693, 0.5421329, -0.16023788, 0.32216108, 0.062496744, 0.21633703, 0.004581572, 0.2359334, -0.35295007, 0.09726352) * go_0(0.0, 0.0); - result += mat4(0.13874753, -0.0063067, -0.14469895, 0.11554976, -0.019183924, -0.04544159, -0.29430693, -0.10431769, 0.15769906, 0.00601582, -0.454376, -0.11790236, 0.16000259, 0.29670846, -0.9759625, 0.31053123) * go_0(0.0, 1.0); - result += mat4(0.014491841, 0.0074491766, -0.09696308, -0.09127842, -0.03579932, -0.20163259, -0.21284793, -0.261139, 0.24359487, 0.14113441, 0.23983651, -0.16634561, -0.09547295, 0.10859189, 0.13468629, 0.33521304) * go_0(1.0, -1.0); - result += mat4(0.008276171, 0.12959969, 0.5093179, 0.002464717, 0.016199486, -0.03156574, -0.4428472, -0.10885838, -0.049632378, 0.2476587, 0.07033375, -0.20044556, 0.04982328, 0.19631135, -0.33776414, -0.6421577) * go_0(1.0, 0.0); - result += mat4(-0.04192616, 0.06393284, 0.07120974, 0.076716706, -0.09867013, -0.13239172, 0.012114291, -0.038557116, 0.029985918, 0.022090917, 0.07777519, 0.008410333, 0.0034299784, 0.062100925, -0.38884223, -0.01593217) * go_0(1.0, 1.0); - result += mat4(-0.013629574, -0.06545711, 0.14423661, -0.03981215, -0.052800525, -0.058425374, -0.05814048, -0.11337634, 0.05479856, -0.010584571, -0.22650285, 0.056241333, -0.1396656, -0.0010838923, -0.30166936, 0.040658727) * go_1(-1.0, -1.0); - result += mat4(0.045267094, -0.086306006, -0.05226326, 0.1539859, -0.02723665, -0.13326567, 0.22143897, -0.018399606, 0.12181383, 0.1452545, -0.3973738, -0.10285705, -0.15147118, -0.28072536, 0.4379245, -0.06340889) * go_1(-1.0, 0.0); - result += mat4(0.14590915, 0.034363795, -0.02217679, 0.15465777, -0.020056443, 0.06256286, 0.00068213895, -0.004845135, 0.10313473, 0.13895464, -0.0957288, 0.10452721, -0.06313026, -0.06739777, 0.16052145, -0.115432285) * go_1(-1.0, 1.0); - result += mat4(-0.083468825, 0.15143521, 0.19880214, -0.0054416056, -0.1074472, 0.027439727, -0.16624895, -0.026701076, -0.046576414, -0.061388403, 0.34304553, -0.08921803, 0.09399348, -0.043658186, -1.3050584, -0.07285428) * go_1(0.0, -1.0); - result += mat4(-0.2544287, -0.38059148, 0.7181705, -0.44567156, 0.10387618, 0.06472145, 0.08178852, -0.016514499, -0.1630076, -0.16066378, -0.19193888, -0.24423774, -0.14821364, -0.28755048, -0.1322022, 0.25716448) * go_1(0.0, 0.0); - result += mat4(0.13228743, 0.24624044, 0.10462062, 0.26341802, 0.035913363, 0.09206641, 0.044785645, 0.010443224, 0.05206244, 0.008345797, -0.32408288, -0.2484674, -0.027154556, 0.0006338974, 0.09008037, 0.027416239) * go_1(0.0, 1.0); - result += mat4(-0.061936356, -0.07008738, -0.22344092, 0.20339371, 0.03216865, 0.103117235, 0.10232644, 0.10809929, 0.08320763, 0.058004253, -0.06520991, 0.038012277, -0.12916973, -0.1150849, -0.03713365, -0.0886423) * go_1(1.0, -1.0); - result += mat4(0.3213531, 0.1826207, 0.022152286, 0.025484305, -0.054090437, 0.08160166, 0.13491987, -0.06896833, 0.10781034, 0.08944192, -0.34036443, -0.018937334, -0.18917687, -0.13239872, 0.11581373, -0.038915917) * go_1(1.0, 0.0); - result += mat4(-0.20916902, 0.08310064, 0.19347866, 0.29880634, -0.007023385, 0.005319598, -0.06649972, 0.03248317, -0.04066817, -0.06176127, -0.41747397, 0.14132817, -0.021392342, -0.021360394, 0.101215124, -0.05375729) * go_1(1.0, 1.0); - result += mat4(-0.008702178, -0.03840238, 0.13321695, 0.065163925, -0.062342774, -0.030948557, 0.0069512874, -0.2634128, -0.09415655, 0.02985776, 0.021763485, 0.27137864, -0.21608604, -0.19126832, -0.37335086, -0.16941321) * go_2(-1.0, -1.0); - result += mat4(0.04631249, 0.33492458, -0.6266605, 0.20180638, 0.039800193, -0.14341171, -0.8203481, 0.04878081, 0.008235832, 0.15065777, -0.32971388, 0.1828355, -0.1510293, -0.17637968, 0.125366, -0.06719769) * go_2(-1.0, 0.0); - result += mat4(-0.014685718, -0.04156494, 0.2728874, -0.106735535, -0.1312142, -0.05991217, 0.15173748, -0.09276527, 0.027946949, 0.12980466, 0.017537035, 0.058945708, -0.11254791, -0.06708247, -0.28308856, -0.058375884) * go_2(-1.0, 1.0); - result += mat4(0.2220684, -0.19030218, -0.1259754, 0.09647918, -0.20530927, -0.16737363, -0.055208467, -0.067288965, 0.1428622, 0.08903465, 0.494294, 0.28669015, -0.17464463, -0.2190753, 0.13515279, 0.24887499) * go_2(0.0, -1.0); - result += mat4(-0.24211104, -0.11129136, 0.03340221, 0.49835417, -0.11755811, -0.732711, -0.3876752, 0.6178176, 0.1437329, -0.05131951, -0.16705558, -0.3823752, -0.23198022, -0.27967533, 0.7223488, -0.5565778) * go_2(0.0, 0.0); - result += mat4(-0.04738433, -0.14606567, 0.22317784, 0.0055712103, -0.064653076, -0.16446865, -0.10802961, -0.10179589, 0.060855757, 0.22762765, -0.037358448, 0.24772792, -0.15458576, -0.0770241, 0.43480682, 0.008342627) * go_2(0.0, 1.0); - result += mat4(0.117756896, -0.06760757, 0.12629354, -0.13241243, -0.05329636, 0.031004142, 0.19809054, 0.1504123, -0.024029436, -0.011011192, -0.014698134, 0.12855798, 0.027526522, -0.102618076, -0.2597635, -0.23887417) * go_2(1.0, -1.0); - result += mat4(-0.012681944, 0.088339254, 0.58977854, 0.020116867, -0.30643263, -0.11593101, 0.2829653, -0.060883448, 0.027514484, -0.19997032, -0.12530403, 0.3302542, -0.10344085, -0.0644199, -0.11374762, 0.38778695) * go_2(1.0, 0.0); - result += mat4(0.073869206, -0.059440095, -0.016326021, -0.08571949, -0.04171866, 0.042949438, 0.13984677, -0.15829174, -0.025245706, 0.0059198164, -0.0432442, 0.20765327, -0.058762096, 0.11539401, 0.036120266, 0.24331446) * go_2(1.0, 1.0); - result += mat4(0.012567978, 0.07251118, -0.12190053, 0.10283353, 0.088345066, 0.0017397653, -0.2381744, 0.101314925, 0.022791719, -0.043069735, -0.15024713, -0.072577685, 0.19976862, -0.059844784, 0.38824072, 0.0020866133) * go_3(-1.0, -1.0); - result += mat4(0.27314463, 0.0739519, 0.08960633, 0.03709254, 0.032681584, 0.22859, -0.41635752, -0.07382896, 0.13144481, -0.24017848, 0.07981319, 0.15370876, 0.059314378, 0.29214182, -0.39464346, -0.13867916) * go_3(-1.0, 0.0); - result += mat4(-0.005685388, -0.039528795, -0.055917054, -0.06578973, 0.020702876, -0.00709528, 0.08486715, -0.0075865295, 0.05714374, -0.27417144, 0.4555885, 0.013780273, 0.05096835, 0.159233, -0.05228782, 0.15794256) * go_3(-1.0, 1.0); - result += mat4(-0.0010807351, -0.022064442, 0.13078515, 0.11357431, 0.11269685, 0.029679844, 0.14385091, 0.10241993, 0.030162932, -0.016101424, 0.20761637, 0.4683215, 0.03091817, -0.58406824, -0.3438075, 0.3653469) * go_3(0.0, -1.0); - result += mat4(-0.016927537, 0.13944507, -0.38772225, -0.11645372, -0.1683389, -0.081295304, 0.271328, 0.14980802, 0.47266555, 0.04091753, 0.006903156, -0.00832747, -0.056511678, 0.06924621, -1.0780094, 0.1268596) * go_3(0.0, 0.0); - result += mat4(-0.21017683, -0.077091806, 0.28906518, 0.022843512, -0.062092084, -0.017447937, 0.25115407, -0.1367289, 0.0021664056, 0.0034106125, 0.5305142, -0.029012429, -0.014483031, 0.05575314, -0.35784876, -0.09252365) * go_3(0.0, 1.0); - result += mat4(0.008859689, 0.06481962, 0.09483335, 0.18473764, 0.0015982646, -0.06144117, 0.054042596, -0.19934553, -0.20250106, 0.096015476, 0.21697922, 0.6265738, -0.16049659, -0.33120447, 0.27775142, 0.14459921) * go_3(1.0, -1.0); - result += mat4(-0.11195867, 0.21663944, 0.5021048, 0.04712746, 0.08637696, 0.07792573, 0.23626573, -0.075164914, 0.06574307, -0.16795279, 0.06829719, -0.027584063, -0.015064924, -0.057976205, 0.14589287, -0.15683101) * go_3(1.0, 0.0); - result += mat4(0.07626267, -0.03523683, 0.106941625, -0.15825523, 0.032598946, 0.038718563, -0.016688785, -0.054390162, 0.05544311, 0.13933052, 0.078817375, -0.10183935, 0.041770034, 0.032732744, 0.062236354, 0.0068387473) * go_3(1.0, 1.0); - result += vec4(-0.11589812, -0.123082116, -0.003926807, -0.15363532); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.25229862, 0.22394362, 0.0050771693, -0.07544911, -0.11078993, -0.14940143, 0.009394699, 0.0110528935, 0.044721916, 0.26324025, -0.046336185, 0.38099283, 0.053437576, -0.07238376, -0.090147175, 0.5568665) * g_0; - result += mat4(0.036739275, -0.2334262, 0.032853063, 0.24364692, -0.122930475, 0.1975849, -0.01315444, -0.13528247, -0.014283123, 0.057573725, 0.058717266, 0.16260214, 0.03097313, -0.11750414, -0.18610783, -0.23006414) * g_1; - result += mat4(0.37318927, -0.26915783, 0.035015646, 0.2676218, 0.1748369, 0.094052985, -0.11020892, -0.14514406, 0.004877109, -0.26225975, 0.13958913, -0.16787122, 0.06908459, -0.10446216, -0.028498875, -0.28281447) * g_2; - result += mat4(0.1980342, 0.021963626, -0.03271427, 0.28889674, 0.043385092, -0.16916741, -0.008713317, 0.00013464666, 0.0819348, 0.0152427135, -0.14862345, -0.15659885, -0.050634, 0.04153691, 0.042288564, 0.00585241) * g_3; - result += mat4(-0.17560056, 0.3521319, 0.20137301, -0.25535235, 0.030570813, 0.2411823, 0.053508975, -0.34454364, 0.22279017, -0.41471666, -0.15029109, 0.22158626, -0.08751699, -0.09357398, 0.20704596, -0.20073438) * g_4; - result += mat4(0.15419295, 0.31318265, 0.004593545, 0.78029615, -0.16751337, -0.32214537, -0.44051525, 0.22405408, -0.0064655836, 0.36599794, -0.26032063, 0.1850997, 0.13661511, -0.49070612, -0.34533858, 0.16373816) * g_5; - result += mat4(0.09806042, 0.36764845, 0.11531638, 0.073847674, -0.16854957, -0.19408809, -0.16800502, -0.12827317, -0.5168489, 0.030958507, -0.03509507, 0.086487584, 0.01842899, -0.10123225, -0.17940263, -0.028054722) * g_6; - result += mat4(0.21619087, -0.05322262, -0.31423846, 0.37783054, 0.20402598, 0.53124064, -0.012658878, 0.20003271, -0.17958061, -0.37326333, -0.24583863, 0.057008818, -0.13031931, -0.031875104, -0.2130229, 0.44612458) * g_7; - result += mat4(0.25865164, -0.28258085, 0.09512834, 0.054259088, 0.25939894, 0.38799945, -0.33007956, 0.6692063, -0.22719514, 0.16910313, 0.056874167, 0.016987909, -0.19956954, -0.20683451, -0.19937307, -0.41771019) * g_8; - result += mat4(0.23592101, -0.15792374, -0.06965535, 0.30855724, -0.22757038, 0.12033792, 0.3199687, 0.2674324, 0.112318985, -0.14153072, -0.13629095, 0.13337436, 0.09185144, 0.24124412, 0.028630963, 0.22709718) * g_9; - result += mat4(0.44043523, 0.32490492, -0.117098905, 0.38431495, 0.07962198, 0.1517891, 0.22628377, 0.13990402, 0.38505656, -0.014830039, 0.20684186, 0.065970615, -0.054330014, -0.046108313, 0.49422976, 0.13082288) * g_10; - result += mat4(-0.08174229, -0.013488396, -0.09494761, 0.31210786, -0.14530393, -0.22510533, -0.30971226, -0.17040919, -0.64233893, -0.07164386, -0.20537859, -0.17981663, -0.0060102916, -0.10167985, -0.24380594, 0.36305648) * g_11; - result += mat4(-0.23301682, -0.19649999, -0.0016176507, 0.7897105, -0.68460715, -0.06446943, -0.5841334, -0.17928797, 0.021772655, 0.46175778, 0.36450028, 0.27175686, -0.03546283, -0.19889158, -0.24603742, -0.090037055) * g_12; - result += mat4(0.1085313, 0.04249687, 0.13247591, 0.09551512, -0.37197208, 0.3261908, -0.13848339, -0.13538006, 0.13875476, -0.3748712, -0.21430004, 0.09772982, -0.35635203, 0.13196826, -0.09840773, -0.21841893) * g_13; - result += vec4(0.062238827, 0.069814906, -0.107347876, 0.64385885); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf1 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.22607668, 0.021170171, -0.06774968, -0.019062893, -0.029051676, 0.029224426, 0.097410545, 0.07505055, 0.17470665, -0.025774082, -0.041022647, 0.07615996, 0.031361237, -0.18075092, -0.01981288, 0.30251572) * g_0; - result += mat4(-0.2228827, -0.18372375, 0.17952546, 0.031262513, 0.10978829, 0.095414534, -0.11202218, -0.017824037, 0.13419671, -0.056704585, 0.086960495, 0.089463, 0.0436869, 0.1987542, -0.24825421, -0.14668585) * g_1; - result += mat4(-0.2848745, -0.09242928, 0.24002336, -0.06059541, -0.0066300016, 0.050746392, -0.26092768, -0.060129635, -0.2699064, -0.13927452, 0.3134039, -0.21668927, 0.0028670141, 0.044556674, 0.040246494, -0.26040232) * g_2; - result += mat4(0.08408219, -0.038882803, -0.08522774, 0.1714629, -0.03067602, -0.10863579, 0.072058044, -0.012343554, -0.0076697394, 0.17840211, -0.2823912, 0.11976201, -0.05657313, 0.092938855, -0.060931504, 0.06991858) * g_3; - result += mat4(0.09868284, 0.054261737, 0.13327791, -0.14897001, -0.06348394, 0.11385057, 0.09684055, -0.084950894, -0.3038146, -0.08645148, 0.035114545, -0.07148952, -0.15862693, 0.26620075, -0.018059343, 0.35772058) * g_4; - result += mat4(-0.4964452, -0.32340884, 0.5129584, -0.090460144, 0.28658384, -0.117274396, 0.25311428, 0.119918026, 0.27442876, -0.19332558, -0.40261742, -0.0627285, -0.36318043, -0.07865861, -0.11114984, -0.1290027) * g_5; - result += mat4(0.42158237, -0.032889403, 0.034080755, 0.25719455, -0.18799819, 0.0981468, 0.22785765, -0.07262642, 0.22532979, -0.09519116, -0.1005627, 0.1767603, -0.100850165, -0.06818755, 0.0059797456, -0.0718568) * g_6; - result += mat4(0.12787001, -0.20670003, 0.0034799385, -0.024907416, 0.04423561, -0.13276835, -0.102332935, 0.14673741, 0.08700579, 0.08124997, -0.009865786, 0.041748982, -0.076119795, 0.09744985, 0.13542135, 0.12240728) * g_7; - result += mat4(-0.1702021, 0.18497302, 0.06786661, -0.09040049, 0.15212716, 0.055503774, 0.020584844, 0.24927403, 0.23556694, -0.1571619, -0.02012801, 0.08423509, -0.114376806, -0.04171382, 0.040876187, -0.116261706) * g_8; - result += mat4(-0.0854133, -0.023111762, 0.3320211, -0.21760856, -0.169973, 0.22671382, 0.4513697, 0.35962802, -0.1499719, 0.24696982, -0.29979527, 0.006662296, 0.20241787, -0.2276791, 0.059445832, 0.18853071) * g_9; - result += mat4(-0.026398154, 0.124663144, 0.20381314, 0.2053697, 0.010302614, -0.050437275, 0.033807695, 0.014369258, -0.20720173, 0.05919782, 0.008449617, -0.31949872, 0.011598942, -0.0432789, 0.12732887, 0.049919438) * g_10; - result += mat4(-0.06617085, 0.023928246, 0.1698239, 0.19584818, 0.022199618, -0.0040151025, -0.14364237, -0.06734091, 0.49634683, 0.40206975, -0.023004102, 0.16953272, 0.13243976, -0.47359994, 0.18358715, -0.15007599) * g_11; - result += mat4(0.03754883, -0.84370553, -0.0057923268, -0.06449944, 0.09488198, -0.09577232, 0.31362334, -0.09768442, 0.15369056, -0.16346063, 0.41194627, 0.10364933, -0.2073915, -0.15944852, -0.57649344, 0.1580545) * g_12; - result += mat4(-0.3224099, -0.17332473, 0.12429976, -0.12284861, 0.32270268, 0.2888736, -0.20192772, 0.15415959, -0.10240418, 0.09524166, -0.14117688, -0.1239787, 0.0015336396, 0.10390812, 0.20461708, -0.12672688) * g_13; - result += vec4(0.01866206, -0.01430976, -0.04231479, 0.06331023); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09638616, 0.041973136, 0.032690834, 0.0017506832, 0.035889357, 0.046528358, 0.06497702, 0.06353481, -0.07129311, -0.027845494, 0.003971696, 0.015161773, -0.016153565, -0.02228567, -0.011083082, 0.037676543) * go_0(-1.0, -1.0); - result += mat4(0.2134379, 0.26289365, 0.1335757, 0.13036838, -0.08787389, -0.106764, -0.048054244, 0.17788094, -0.15528837, -0.11408854, -0.06642222, -0.07838564, -0.09646518, -0.116988175, -0.22729287, -0.11145718) * go_0(-1.0, 0.0); - result += mat4(0.09568265, 0.006643416, 0.11656759, -0.049414653, 0.14153476, -0.04269765, 0.09150523, 0.26861703, 0.16641477, -0.1080059, 0.22390138, -0.08730618, -0.01928994, -0.06351, -0.0022028533, 0.04301657) * go_0(-1.0, 1.0); - result += mat4(-0.11731019, -0.040432923, -0.1977298, -0.17696093, -0.09182833, 0.071209684, -0.120773874, 0.021507429, -0.016429326, 0.04448132, 0.0681032, 0.044070866, -0.14647268, 0.008662263, -0.06507026, -0.075289875) * go_0(0.0, -1.0); - result += mat4(0.5694518, -0.6138523, 0.28939885, -0.06047394, 0.11681902, -0.7026379, 0.20342608, 0.07128985, 0.06697409, 0.2678358, 1.1430641, 0.20436136, -1.6117494, 0.2799715, -0.01652429, -0.16711035) * go_0(0.0, 0.0); - result += mat4(0.15830286, 0.16772346, -0.03232187, 0.029600514, -0.18494213, -0.25623813, 0.15487063, 0.06255487, -0.058094956, 0.19903323, 0.4756497, 0.6381142, -0.036022857, -0.09470495, 0.046093524, 0.031300675) * go_0(0.0, 1.0); - result += mat4(-0.38466138, 0.16052443, -0.13819315, -0.059899956, 0.14069949, -0.1297194, 0.105595976, 0.13371274, 0.06298681, -0.038837492, 0.08675327, 0.1501906, 0.031129224, 0.029751344, -0.06775066, -0.047534525) * go_0(1.0, -1.0); - result += mat4(0.097809926, -0.14269543, -0.14661346, -0.1819761, -0.023082452, 0.19019675, -0.15678905, -0.07669464, -0.07322769, -0.30472377, 0.33603573, 0.22620338, 0.05328552, 0.030486144, -0.037603505, -0.081246674) * go_0(1.0, 0.0); - result += mat4(-0.15090303, -0.0650902, 0.11741429, -0.003369476, 0.043803368, 0.13717425, -0.038966697, -0.05230889, -0.0042353314, -0.017051768, 0.102879845, 0.044044945, -0.012893164, 0.0152335, 0.015073082, 0.08049258) * go_0(1.0, 1.0); - result += mat4(-0.07802851, -0.07544602, -0.0039040581, -0.03915584, 0.115673676, -0.024907975, -0.011459969, 0.026098263, 0.043594692, 0.10627707, 0.027093858, 0.051561285, 0.071452856, -0.1758179, 0.28485832, 0.28952092) * go_1(-1.0, -1.0); - result += mat4(-0.052147392, 0.18546684, 0.19015399, -0.053752594, -0.29468048, 0.010600442, -0.09287294, -0.09246605, 0.17687573, -0.04858957, 0.06478161, -0.0035372626, 0.5927226, 0.38359696, 0.33155236, 0.13010578) * go_1(-1.0, 0.0); - result += mat4(0.04136322, 0.11806175, 0.19966072, 0.07308716, -0.09563447, -0.064514905, -0.0077517326, 0.11964638, -0.1460613, 0.02240298, 0.014256963, -0.0123070385, 0.1897282, -0.0058207656, 0.040057864, -0.49406672) * go_1(-1.0, 1.0); - result += mat4(-0.43775788, -0.25118434, -0.3468631, -0.30180287, -0.27033472, -0.0023914252, 0.053275872, -0.021835659, 0.02879347, 0.036559265, 0.044093054, 0.12771723, 0.2702892, -0.2581491, -0.059361164, -0.046974897) * go_1(0.0, -1.0); - result += mat4(-0.03310008, -0.5622936, 0.5419483, -0.3599514, 0.2634039, 0.3500813, 0.4152074, 0.24876466, -0.2629078, -0.18554081, -0.76194984, -0.54471385, 0.72921526, 0.3316481, -0.20936906, -0.16736485) * go_1(0.0, 0.0); - result += mat4(0.07884802, 0.16494922, 0.2734585, -0.09396988, -0.14178166, -0.105561115, 0.006780099, 0.063054875, 0.12384575, -0.163967, -0.19682601, -0.1647527, 0.59927565, 0.24755491, -0.29760644, -0.074884824) * go_1(0.0, 1.0); - result += mat4(-0.186745, 0.21136905, 0.027726538, 0.08498169, 0.009122279, 0.01566938, -0.051473126, 0.014151464, 0.04580383, 0.02071651, 0.14929157, 0.17253524, -0.034080226, 0.07048439, -0.11602547, -0.12655921) * go_1(1.0, -1.0); - result += mat4(-0.2831727, -0.21816732, -0.37266397, -0.26041594, -0.18912914, -0.13482115, -0.10902061, -0.110694066, -0.20758803, -0.07158453, 0.14401175, 0.1590672, 0.27700564, -0.3202948, -0.23177631, 0.060082316) * go_1(1.0, 0.0); - result += mat4(0.16861005, -0.13237478, -0.12109852, -0.16306286, 0.032467425, 0.009778175, -0.05084063, 0.02528882, -0.028993038, -0.06119019, 0.0124081755, -0.0819979, -0.2308113, -0.23910572, 0.3170529, 0.22742116) * go_1(1.0, 1.0); - result += mat4(-0.19654512, 0.037653327, -0.015190324, 0.038381096, 0.034783594, -0.16242851, 0.07052334, 0.0019672879, 0.08069976, 0.090035714, 0.12597767, -0.00065050717, -0.10528094, 0.015088367, -0.045706235, -0.14849594) * go_2(-1.0, -1.0); - result += mat4(-0.0981129, -0.0044483114, 0.00918156, 0.28903985, 0.23872024, 0.11113565, 0.23359483, 0.21115206, 0.2144387, 0.106830046, 0.03875094, -0.14864162, 0.19366172, 0.21310017, 0.06280982, -0.0581721) * go_2(-1.0, 0.0); - result += mat4(-0.22814496, -0.08812413, -0.25392863, -0.02752917, 0.05930787, 0.08304853, -0.04027662, -0.010756739, 0.034590207, 0.070662424, 0.15285444, 0.058270697, -0.022838322, 0.024096202, 0.01309858, -0.10489201) * go_2(-1.0, 1.0); - result += mat4(0.17219496, -0.0066256993, 0.1442649, -0.07291206, 0.34312358, -0.24952441, 0.040031537, 0.18302973, 0.0015231773, 0.24825755, -0.01807878, -0.037405558, 0.21687117, 0.02481246, -0.08312088, -0.14397743) * go_2(0.0, -1.0); - result += mat4(0.2859165, 0.6145777, 0.060804237, 0.22117847, -0.25534254, 0.3753605, 0.4193899, 0.06387241, -0.13308842, 0.0012660836, -0.055252563, -0.2552111, 0.8831952, -0.16249466, 0.76958305, 0.3658401) * go_2(0.0, 0.0); - result += mat4(-0.14865848, -0.13086087, 0.17719927, 0.2801542, 0.3776111, 0.20903045, 0.1710449, 0.25524843, 0.11910105, 0.034738105, -0.12101939, -0.22116004, 0.11605619, 0.16838482, -0.07223086, -0.15225673) * go_2(0.0, 1.0); - result += mat4(0.101802975, -0.12683764, -0.21380596, -0.19243564, 0.017763488, 0.0076850834, -0.0107422285, 0.058099743, 0.03071978, 0.02958345, 0.09209252, -0.012379192, -0.058930825, -0.07321041, -0.09178575, -0.09764888) * go_2(1.0, -1.0); - result += mat4(0.2205578, -0.053928245, -0.14290524, -0.18790527, 0.002521159, -0.23389481, 0.11274272, 0.17174199, 0.2128134, 0.14586388, 0.08666812, 0.052028902, 0.024853414, -0.027658377, 0.033780072, -0.0045349374) * go_2(1.0, 0.0); - result += mat4(-0.053073518, 0.12716359, 0.008456044, 0.014315154, 0.01918925, -0.13495505, 0.08007481, 0.08627198, 0.024612406, 0.0021514448, 0.04478567, -0.034171678, 0.0027070146, 0.0149149615, -0.15999815, -0.1866448) * go_2(1.0, 1.0); - result += mat4(0.040357295, -0.12759757, 0.03543834, -0.029329961, -0.078925595, 0.07807751, 0.08971355, -0.05469623, -0.08630596, -0.11219292, -0.08082983, -0.020131797, -0.04191703, 0.22003745, -0.28878415, -0.132956) * go_3(-1.0, -1.0); - result += mat4(0.021098461, 0.048261415, -0.121181525, -0.24724431, 0.32716268, 0.03046708, -0.28138334, -0.22871564, -0.15983087, 0.10721642, -0.14833531, -0.115366876, -0.393837, -0.62930757, -0.29534766, 0.02588463) * go_3(-1.0, 0.0); - result += mat4(-0.03972534, -0.051577512, -0.04452277, -0.12650263, 0.15491997, -0.026459083, 0.009715449, -0.20551588, -0.042652152, 0.119186826, -0.13313279, -0.13183416, -0.20730016, 0.003008999, -0.19962612, 0.1760052) * go_3(-1.0, 1.0); - result += mat4(0.1724579, -0.3179752, 0.18908302, 0.40730157, 0.44569418, -0.038390577, -0.13144472, -0.18369946, -0.1654486, -0.2106428, -0.084723935, 0.10262653, -0.26097777, 0.15257284, -0.36599034, -0.30871773) * go_3(0.0, -1.0); - result += mat4(-0.21338613, 0.680362, 0.079820015, 0.6081361, -0.9754953, -0.33735132, -1.2323227, -0.17950675, -0.31327835, 0.4732144, 0.22757599, 0.23051551, -0.8099572, -0.49106973, 0.96547806, 0.30975753) * go_3(0.0, 0.0); - result += mat4(0.16933723, 0.17994887, -0.38310486, -0.4208871, 0.373761, 0.20749316, -0.080664486, -0.26229286, -0.04797456, 0.28605196, -0.040223103, -0.034632236, -0.5650002, -0.38834664, 0.14565933, 0.1488285) * go_3(0.0, 1.0); - result += mat4(0.32558438, -0.18572666, 0.049500592, 0.2319145, -0.23547912, 0.2740939, 0.027905073, -0.022077003, 0.10860379, -0.15617043, -0.097419575, -0.11391895, -0.4266203, 0.060962453, -0.12154808, -0.19734453) * go_3(1.0, -1.0); - result += mat4(-0.07880791, -0.2247225, 0.445858, 0.3889803, 0.14111102, 0.378859, 0.040187526, -0.021096235, 0.04169405, -0.075737596, 0.046068836, 0.11624106, 0.08169536, 0.3022304, -0.24427707, -0.34422734) * go_3(1.0, 0.0); - result += mat4(0.13501012, -0.07389663, -0.010668981, -0.069029465, 0.06960202, -0.067375034, 0.08431378, 0.04207825, -0.121635035, -0.051126126, -0.1546829, 0.00073073455, -0.20674464, 0.27346626, -0.15771666, -0.024096) * go_3(1.0, 1.0); - result += vec4(-0.17614856, -0.14261112, 0.14600825, 0.20389698); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.3378193, 0.013861057, 0.19208853, -0.05050854, 0.08691835, 0.16724123, 0.10351982, -0.40157926, -0.055889476, -0.040115904, -0.13351472, -0.7937818, 0.18700145, 0.109559685, -0.119053595, -0.12651901) * g_0; - result += mat4(0.05863214, -0.011048432, 0.22007701, -0.21624403, -0.06139813, -0.06766812, 0.022506371, 0.17585056, -0.37994936, -0.018394569, 0.5127985, -0.19700864, -0.07880973, 0.15687309, -0.12574019, -0.19570859) * g_1; - result += mat4(0.5059051, -0.010676642, -0.47922808, -0.017590942, -0.20583269, -0.10777252, -0.33185184, -0.0025075034, -0.1518394, 0.14268444, 0.005011664, 0.09016961, -0.46011007, -0.09428751, 0.34915137, 0.13334215) * g_2; - result += mat4(-0.15615676, 0.09427065, 0.006016912, -0.0003997069, 0.16170138, 0.09666374, 0.14158808, -0.23772424, 0.39373854, 0.004074768, -0.28073287, 0.0032489141, 0.23473479, -0.12678933, -0.24589436, -0.21988034) * g_3; - result += mat4(-0.12682347, 0.033012364, 0.18928578, 0.12523666, 0.12809147, 0.008567846, -0.10653368, -0.03712133, 0.075765386, -0.042196997, 0.039182812, 0.17273012, 0.21258987, 0.039698593, -0.0018848967, -0.07930902) * g_4; - result += mat4(0.013454855, -0.18023406, -0.49323913, -0.032017395, 0.11903338, -0.043025218, -0.46579728, 0.21894619, -0.21387324, -0.13455649, 0.30638975, 0.3472243, 0.09305909, -0.015791988, 0.071368046, -0.038680866) * g_5; - result += mat4(0.012506262, 0.09754124, -0.092920735, 0.23061672, 0.08051618, -0.38472125, 0.17626029, 0.009075537, -0.18316247, -0.1338181, 0.2650675, 0.0516641, 0.080453254, 0.22033659, -0.13004474, -0.07781194) * g_6; - result += mat4(-0.12412428, -0.11978811, 0.06780084, -0.1710261, -0.09355731, 0.31283846, -0.022725523, -0.16437142, -0.11865966, 0.10907317, 0.22463441, 0.017325362, 0.02512185, -0.49577957, 0.2016018, 0.14196795) * g_7; - result += mat4(0.02570746, 0.22231244, -0.10168496, -0.21518417, -0.0054759895, -0.32655567, -0.34048972, 0.11826245, -0.002854444, -0.11257602, -0.09318273, -0.10332744, 0.078923725, -0.11612356, -0.030546617, -0.12474622) * g_8; - result += mat4(-0.11420135, -0.24489257, 0.15446539, 0.12646616, -0.07092042, 0.110105604, 0.054362826, 0.07867222, -0.15557991, 0.071640015, 0.21894808, 0.24164975, 0.0062167975, 0.10681122, -0.32373384, 0.06931269) * g_9; - result += mat4(0.0769479, -0.09528171, -0.38724712, 0.010703831, -0.016925508, -0.018486671, 0.035855293, -0.17932071, -0.078450575, -0.036463127, 0.20942347, 0.060895607, -0.16549253, -0.008952913, 0.20420915, -0.009001661) * g_10; - result += mat4(0.074243605, 0.015648128, -0.05003613, 0.10121142, -0.0218682, 0.006933849, 0.101385176, 0.16132122, 0.0013466089, 0.14042993, -0.25816667, -0.040413387, -0.19570185, -0.08637437, 0.17934911, 0.24961887) * g_11; - result += mat4(-0.40401492, -0.16131033, 0.454142, 0.56882274, -0.013024656, -0.04423676, -0.023137214, 0.36117804, -0.0901519, -0.03237353, 0.010538879, -0.033432953, 0.105834074, -0.0549062, 0.05576519, -0.092626475) * g_12; - result += mat4(-0.0017419134, -0.022569131, 0.027351622, -0.1289159, -0.0823291, -0.020735232, -0.28244564, -0.21001048, -0.048950948, 0.022033915, 0.14678808, -0.010097721, -0.06839686, 0.031720705, 0.11333891, 0.05049834) * g_13; - result += mat4(-0.2191025, -0.005935159, 0.24627906, 0.058490098, -0.011270337, -0.019233467, -0.17698613, -0.0052346545, 0.2288101, -2.5289672e-05, 0.267102, -0.026019678, -0.17386179, -0.017672652, -0.35420522, 0.2836498) * g_14; - result += mat4(0.19294678, 0.011570707, -0.34666267, -0.09040537, 0.18127288, 0.10182209, 0.08549184, -0.48737645, -0.040560674, 0.20645715, -0.68665904, -1.3146902, 0.18629448, 0.09806124, 0.09953519, -0.5450951) * g_15; - result += vec4(-0.24792486, -0.09899526, 0.3761066, 0.022595163); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.15938057, -0.23559119, -0.28445953, 0.05912659, 0.5229142, -0.02843545, -0.004113748, -0.056947608, 0.1367782, -0.026573306, -0.0056468234, 0.2564603, 0.25593445, 0.08957574, 0.26139608, -0.053708326) * g_0; - result += mat4(0.1382045, -0.103480555, 0.05831098, 0.000735441, 0.20176832, -0.087079, -0.07839967, -0.0750771, -0.31373122, -0.27509713, -0.23071732, -0.2560584, 0.110963896, -0.052200988, 0.0015331429, -0.30707568) * g_1; - result += mat4(-0.056460302, 0.2147989, 0.40628514, -0.058157466, -0.17940372, -0.033689886, -0.022241283, -0.0018471872, 0.26578268, -0.098452985, -0.01501511, -0.35676336, -0.07152056, -0.07245194, -0.32194778, 0.03888747) * g_2; - result += mat4(0.09541087, 0.24680884, -0.045627397, -0.08557985, 0.08790337, 0.10179883, 0.3007415, 0.044102084, 0.1064372, 0.2994135, 0.15280741, 0.2683849, 0.24750276, -0.021364288, -0.004039902, 0.28266376) * g_3; - result += mat4(-0.26525706, -0.08389754, -0.10918147, -0.06878537, -0.080960914, 0.03737948, 0.107663736, -0.0025957434, -0.10748625, 0.03004828, 0.03505711, 0.075969726, 0.06360464, -0.02740913, 0.025467616, 0.017698402) * g_4; - result += mat4(-0.2370006, -0.07687027, 0.015225365, 0.17986605, 0.37507248, 0.2088343, 0.17946883, 0.2379337, -0.25194344, 0.035336476, -0.15362923, -0.008527836, 0.045963865, 0.025127884, 0.06973296, 0.063168526) * g_5; - result += mat4(0.09583503, 0.15350054, -0.15248272, 0.045916792, -0.18339546, -0.29747355, 0.027330166, -0.39461568, 0.095963046, -0.1775004, -0.19221638, -0.15368307, 0.056089737, 0.18232727, 0.03182419, 0.30851522) * g_6; - result += mat4(-0.053062204, -0.0018095247, -0.04514637, 0.05689337, 0.07561519, 0.17035827, -0.0048587993, 0.38348997, -0.063476466, 0.09454219, 0.03969728, 0.11693653, -0.0012066896, -0.25955358, -0.14428577, -0.19967856) * g_7; - result += mat4(0.034378257, 0.16030714, 0.05160261, 0.21927983, -0.14469208, 0.041181874, 0.034202367, 0.07983977, 0.22149332, -0.08595994, -0.102985874, -0.07265774, -0.123233125, -0.12819915, 0.08662329, -0.12866889) * g_8; - result += mat4(-0.1511104, -0.056531575, -0.023363205, -0.1909304, -0.15387732, 0.0671428, -0.15435332, 0.32735124, -0.3293996, 0.055349957, -0.043602336, 0.08102016, 0.200238, 0.13393362, 0.0044564987, 0.16932343) * g_9; - result += mat4(-0.09768015, 0.09503259, 0.12768175, 0.109941825, 0.006567291, -0.102840215, -0.05611706, -0.06865725, -0.2605998, 0.00585688, -0.035119556, -0.06810342, -0.090756536, -0.079376444, -0.22370447, -0.05727839) * g_10; - result += mat4(-0.101120085, 0.028628688, 0.07296149, 0.15868604, 0.047761433, 0.07732842, -0.016735386, 0.049528413, 0.45619023, 0.062347047, -0.026208224, 0.046785966, -0.05715451, 0.04459997, -0.13676195, 0.07778552) * g_11; - result += mat4(-0.051393595, -0.12524572, -0.36763692, 0.039426118, 0.0349489, 0.07154008, -0.12969223, 0.30249006, -0.15237582, -0.06685149, -0.042049125, -0.0065471376, 0.017375907, -0.07143284, -0.018227521, -0.02778629) * g_12; - result += mat4(-0.048270147, -0.07275859, 0.05502608, -0.034233145, 0.12822276, -0.02580663, -0.035358194, 0.05195595, 0.044340245, 0.04435722, 0.017985033, 0.007126749, -0.052825354, -0.059360538, -0.09412195, 0.060212586) * g_13; - result += mat4(-0.18645881, -0.04506676, -0.035483524, 0.0063163475, -0.13747677, -0.046985928, 0.0015511635, 0.019160518, -0.4315584, -0.06979354, -0.001936674, 0.0034739177, 0.3490474, 0.15375568, -0.0085117165, 0.017511753) * g_14; - result += mat4(0.20412005, 0.017221482, 0.08719384, -0.016668927, 0.10308073, -0.1013255, 0.087567665, -0.1004404, 0.9800944, -0.25387812, 0.36526182, -0.21970014, 0.36388537, -0.111629054, 0.21855496, -0.10375334) * g_15; - result += vec4(-0.14657217, -0.04252579, -0.24773599, 0.13271233); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups2 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.22553514, -0.086349756, -0.07735866, 0.48776403, -0.33010843, 0.28214008, -0.2242988, -0.11439686, -0.14720698, 0.2391116, 0.017813087, 0.4352493, -0.16412133, -0.12791261, -0.019643517, 0.19420698) * g_0; - result += mat4(-0.9178235, -0.6335296, 0.11146894, -0.0759723, -0.4519685, -0.3007054, 0.014501872, 0.49081457, 0.10673664, 0.035011876, 0.10259641, 0.106546804, 0.5186602, 0.44900152, 0.20597687, -0.39562696) * g_1; - result += mat4(-0.11399027, -0.19542706, 0.087422565, -0.70140034, -0.41029623, -0.049330976, 0.19682989, 0.22516033, -0.22858454, -0.12200487, -0.14852463, -0.40852943, -0.035900578, 0.1886829, 0.019452838, -0.16703403) * g_2; - result += mat4(0.077843145, 0.7323388, -0.022324003, 0.09445821, 0.026166735, -0.1790519, 0.086004496, -0.40011314, 0.01210975, -0.053515363, -0.2501869, 0.06671936, -0.71530163, -0.57196116, -0.38604704, 0.5024949) * g_3; - result += mat4(0.30748057, 0.12223383, 0.059069566, 0.18568543, 0.008148904, 0.009438993, 0.053996127, -0.19665428, 0.38345802, 0.20945628, 0.01368962, -0.2834185, -0.15974379, -0.4628119, -0.18307796, 0.22361058) * g_4; - result += mat4(0.00833237, -0.10446639, -0.028896136, -0.18917766, -0.24016596, -0.034934085, -0.013062447, 0.079293504, -0.16635038, -0.11056953, 0.2618598, 0.07227063, 0.057050053, 0.013885738, 0.09385356, -0.27068567) * g_5; - result += mat4(-0.5675842, 0.13328329, -0.0252242, 0.34746942, 0.34712863, 0.13635597, 0.02356317, -0.1617803, -0.16861948, -0.018621348, 0.02680753, 0.30408886, -0.034069773, 0.08948961, -0.057724215, 0.111602895) * g_6; - result += mat4(-0.03835732, -0.11742271, 0.025922403, 0.24378933, -0.36450952, -0.15091905, 0.1214089, 0.21004228, 0.28717628, 0.17053549, 0.10836553, -0.08449643, 0.17507422, -0.03195037, -0.03947606, 0.050725944) * g_7; - result += mat4(-0.21257977, -0.0043600267, -0.12929972, -0.233982, -0.26728988, -0.21511734, 0.07835361, -0.24275993, -0.359975, -0.23956355, -0.07852281, 0.40282407, 0.17184453, 0.11672362, 0.0433819, -0.032416925) * g_8; - result += mat4(0.20235331, 0.16114245, 0.015931258, -0.17612378, 0.2449233, 0.0031623375, -0.2784109, 0.3347522, 0.46005112, 0.20291579, 0.13030154, -0.23390344, -0.39526668, -0.09738018, 0.013237711, 0.15512206) * g_9; - result += mat4(-0.1434995, -0.12447443, 0.095140964, -0.08841888, -0.05424789, -0.11747197, -0.097216785, 0.12958516, 0.34194428, 0.111434594, -0.02794559, -0.22843723, -0.043816507, -0.16116165, -0.29044297, 0.33768278) * g_10; - result += mat4(0.39615574, 0.05410518, -0.07885892, -0.22024721, 0.011598219, 0.1446308, 0.11650995, -0.020602686, -0.51892537, 0.14221898, -0.01697185, 0.05188913, 0.07683384, 0.122416414, 0.02296055, 0.2932525) * g_11; - result += mat4(-0.058334768, -0.12389275, -0.02024463, 0.46323973, 0.17553197, 0.35435143, 0.19796194, 0.06836581, 0.15947883, -0.056819815, -0.091066726, 0.22499265, -0.21629064, -0.22203816, 0.053594038, 0.09816408) * g_12; - result += mat4(-0.016514458, -0.14323495, 0.017527288, -0.19750872, -0.47891942, -0.073656894, -0.086305656, 0.38173944, 0.1016976, 0.15224999, 0.048396923, -0.19529565, 0.13985658, 0.07292602, 0.06549534, 0.210662) * g_13; - result += mat4(0.3459035, 0.0071707424, -0.019186711, 0.2527976, 0.29675815, 0.35949966, -0.06114439, -0.02610484, 0.5475115, -0.13828747, 0.019238133, 0.101953685, -0.52718824, 0.017254699, 0.08887026, -0.19507161) * g_14; - result += mat4(-0.3064509, -0.031613164, 0.040971015, -0.24252266, -0.21725285, -0.35069898, 0.0951283, -0.065222666, -0.98867434, 0.08824426, 0.06094605, -0.21000125, -0.72066385, -0.34141323, 0.049487203, 0.0690126) * g_15; - result += vec4(0.25545248, -0.112931795, -0.073284395, 0.29349956); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-3x3x3x24 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!SAVE MAIN -//!WIDTH conv0ups.w 2 * -//!HEIGHT conv0ups.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009331738, 0.018572107, 0.022010602, 0.0, 0.0039357482, -0.016444422, -0.02944063, 0.0, -0.03631314, -0.056094132, -0.050672945, 0.0, 0.0077923858, -0.023002634, 0.021950275, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.015352033, -0.018134398, -0.031076321, 0.0, 0.09254242, 0.07433854, 0.094745025, 0.0, 0.09154548, 0.10833595, 0.084574744, 0.0, -0.06755486, 0.022037052, -0.09424632, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.019884977, 0.021337362, 0.026944455, 0.0, 0.11712925, 0.021360623, -0.017487818, 0.0, -0.14924358, -0.1149652, -0.12671575, 0.0, 0.012104617, -0.039750118, -0.002691512, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.00344861, -0.0071971808, -0.011530234, 0.0, 0.039175995, 0.12297611, 0.15838134, 0.0, 0.033669177, 0.018021118, -0.010552058, 0.0, -0.048705686, 0.03920792, -0.00043378037, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.09026871, -0.09393277, -0.0849584, 0.0, -0.16249315, -0.15300421, -0.1383744, 0.0, -0.10384136, -0.04767781, 0.022754611, 0.0, 0.14949107, 0.06619118, 0.016498014, 0.0) * go_0(0.0, 0.0); - result += mat4(0.0138111375, 0.0033931104, 0.010171692, 0.0, -0.037168514, -0.029690385, -0.045251988, 0.0, 0.074186325, 0.056937214, 0.06968052, 0.0, -0.057218343, -0.060974367, -0.030270662, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0028436058, 0.010812401, 0.012844112, 0.0, 0.050941236, -0.035253663, -0.061899442, 0.0, -0.01614737, 0.01752726, -0.023620276, 0.0, -0.04961744, -0.06673698, 0.039417736, 0.0) * go_0(1.0, -1.0); - result += mat4(0.042587858, 0.03904053, 0.028782798, 0.0, -0.09807107, -0.01929461, -0.034585416, 0.0, 0.029584344, -0.053522006, 0.0068953806, 0.0, -0.04451219, 0.018451538, -0.029895604, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.0041629653, 0.0070575047, 0.004515914, 0.0, 0.043267716, 0.0020689464, 0.010954458, 0.0, -0.0013374113, 0.009222025, -0.0272451, 0.0, 0.00645634, -0.037133303, -0.03209227, 0.0) * go_0(1.0, 1.0); - result += mat4(-0.010575585, -0.00065620174, -0.009598815, 0.0, -0.068592854, -0.06461729, -0.05058234, 0.0, 0.03790364, 0.044340994, 0.049410254, 0.0, -0.009466368, 0.081484325, 0.07265021, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.01598744, -0.025267042, -0.010857686, 0.0, 0.0771284, 0.081469566, 0.07138724, 0.0, -0.00555409, -0.006099002, -0.02123016, 0.0, -0.29761449, -0.10614364, -0.1027762, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.02664693, 0.027294884, 0.019080907, 0.0, 0.010511018, 0.01179118, 0.02403106, 0.0, 0.05436632, 0.07234358, 0.08310484, 0.0, 0.03146414, -0.02122628, -0.021377526, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.027889153, 0.018621879, 0.025370836, 0.0, -0.14017807, -0.14772555, -0.14436993, 0.0, -0.017539013, -0.028932836, -0.06139342, 0.0, 0.0007456944, -0.00086823467, -0.05282406, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.0017060362, 0.00777287, 0.003343087, 0.0, 0.20926197, 0.21706305, 0.23307496, 0.0, -0.16601992, -0.183019, -0.139133, 0.0, 0.13933188, -0.013340946, -0.021960167, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.018459205, -0.023415336, -0.0173199, 0.0, 0.08558963, 0.10207333, 0.06444232, 0.0, -2.5721886e-06, -0.015806457, -0.036833573, 0.0, -0.20488425, -0.009690944, 0.020323949, 0.0) * go_1(0.0, 1.0); - result += mat4(0.010601256, 0.007344732, 0.0056538777, 0.0, 0.021578439, 0.017345639, 0.0032158173, 0.0, 0.031785835, 0.04436094, 0.05920955, 0.0, 0.23948166, -0.06085234, -0.14597872, 0.0) * go_1(1.0, -1.0); - result += mat4(0.00777581, 0.012557825, 0.0123206265, 0.0, -0.0691877, -0.0861206, -0.077578135, 0.0, -0.018104369, -0.024902673, -0.036656447, 0.0, 0.10611258, 0.09515675, 0.118361965, 0.0) * go_1(1.0, 0.0); - result += mat4(0.0021278602, 0.003906813, 0.0016891633, 0.0, -0.06379228, -0.060215514, -0.051921096, 0.0, 0.039505195, 0.052035928, 0.05059492, 0.0, -0.047328927, -0.0066980706, 0.09447027, 0.0) * go_1(1.0, 1.0); - result += mat4(0.18920127, -0.045531996, -0.044905778, 0.0, 0.013732142, 0.019208554, 0.011500921, 0.0, -0.0040531917, -0.02001873, -0.0023935249, 0.0, -0.033091005, -0.017751431, -0.009764133, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.15241088, -0.13676398, -0.01825122, 0.0, -0.003517022, -0.004041717, 0.003177141, 0.0, 0.011362495, 0.03685609, 0.008397426, 0.0, -0.08597375, -0.111830845, -0.110682696, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.046171717, 0.23827009, -0.119844295, 0.0, 0.005446854, 0.00826863, 0.002206898, 0.0, -0.11165099, -0.14702465, -0.1203897, 0.0, 0.12169146, 0.11585612, 0.10473949, 0.0) * go_2(-1.0, 1.0); - result += mat4(-0.18456058, 0.13293917, 0.06901046, 0.0, 0.010084839, -0.0006403412, -0.011852079, 0.0, -0.062180433, -0.06781299, -0.08111614, 0.0, -0.02218764, -0.015271581, -0.019768957, 0.0) * go_2(0.0, -1.0); - result += mat4(0.034135204, -0.20479187, 0.27587336, 0.0, -0.058966126, -0.065613195, -0.056132246, 0.0, 0.07697151, 0.0706985, 0.098771244, 0.0, 0.06747748, 0.10971204, 0.13186967, 0.0) * go_2(0.0, 0.0); - result += mat4(0.017322296, -0.06730298, 0.07034802, 0.0, 0.013449086, 0.007968637, 0.012679429, 0.0, 0.0902275, 0.11269024, 0.08805874, 0.0, -0.06179092, -0.06705483, -0.13040404, 0.0) * go_2(0.0, 1.0); - result += mat4(-0.052505482, -0.018989135, 0.03388015, 0.0, -0.068704374, -0.05350174, -0.057223134, 0.0, 0.011537428, 0.017847707, 0.0270268, 0.0, -0.008713432, -0.02698126, -0.017463546, 0.0) * go_2(1.0, -1.0); - result += mat4(0.15220639, -0.05387876, -0.08352881, 0.0, 0.026893694, 0.027608246, 0.025959803, 0.0, 0.035518423, 0.035180617, 0.01858579, 0.0, -0.021064412, -0.014214504, -0.0051168953, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.11906418, 0.13103563, -0.06997703, 0.0, 0.005664134, 0.0075536724, 0.009519002, 0.0, -0.025366528, -0.013528652, -0.015087253, 0.0, 0.0071858848, -0.027586544, 0.016723866, 0.0) * go_2(1.0, 1.0); - result += mat4(0.015307254, 0.02070064, 0.012568325, 0.0, 0.06845904, -0.033312738, -0.0058661965, 0.0, -0.016281582, -0.01631146, -0.021667928, 0.0, -0.012522515, -0.020992521, -0.015833912, 0.0) * go_3(-1.0, -1.0); - result += mat4(0.04937768, 0.0405066, 0.041023023, 0.0, 0.05503905, -0.13230717, -0.14439866, 0.0, 0.01618014, 0.0122084245, 0.016226485, 0.0, 0.0014116488, 0.011495032, 0.002382562, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.04847043, -0.050508745, -0.041216835, 0.0, -0.067119725, -0.0448592, -0.011477939, 0.0, -0.035635237, -0.037191708, -0.034170575, 0.0, -0.016549444, -0.027191242, -0.017883684, 0.0) * go_3(-1.0, 1.0); - result += mat4(0.034498286, 0.026938718, 0.052970096, 0.0, -0.10511612, -0.13200648, -0.09493861, 0.0, -0.0018118658, -0.0072637545, 0.0043198126, 0.0, -0.038338073, -0.031448375, -0.035546694, 0.0) * go_3(0.0, -1.0); - result += mat4(0.048043568, 0.057704087, 0.06386534, 0.0, 0.04542113, 0.20604704, 0.2598609, 0.0, 0.049180254, 0.064697154, 0.05789202, 0.0, 0.08370016, 0.08105142, 0.08807082, 0.0) * go_3(0.0, 0.0); - result += mat4(-0.018156562, 0.008306473, -0.014604633, 0.0, 0.18912326, 0.024388695, -0.08006485, 0.0, 0.009333483, 0.011596536, 0.0056475243, 0.0, 0.027749287, 0.039271932, 0.02655462, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.030157864, -0.035259083, -0.05771176, 0.0, -0.22293729, 0.0768592, 0.14670776, 0.0, -0.013287718, -0.011300663, -0.01670879, 0.0, -0.009928094, -0.016364388, -0.013879692, 0.0) * go_3(1.0, -1.0); - result += mat4(-0.013415757, -0.013257486, -0.01940959, 0.0, 0.014077903, 0.05088362, 0.04006286, 0.0, -0.0033998038, -0.0062313867, -0.00833104, 0.0, 0.015246904, 0.017004015, 0.01802002, 0.0) * go_3(1.0, 0.0); - result += mat4(-0.0016801689, -0.022088053, 0.0031654288, 0.0, 0.027371893, -0.007083684, -0.10904292, 0.0, -0.015408179, -0.01793058, -0.010933266, 0.0, -0.023707654, -0.026440954, -0.025527867, 0.0) * go_3(1.0, 1.0); - result += mat4(0.009003153, 0.0078040734, 0.037757806, 0.0, 0.054483943, 0.058831017, 0.060899608, 0.0, -0.011133613, -0.01601666, -0.007977876, 0.0, -0.07686641, -0.049250316, -0.045481566, 0.0) * go_4(-1.0, -1.0); - result += mat4(0.04344093, 0.07054628, 0.037604738, 0.0, -0.0914579, -0.105631486, -0.108511426, 0.0, 0.04426105, 0.0492282, 0.048829302, 0.0, 0.14961997, 0.16839094, 0.16053638, 0.0) * go_4(-1.0, 0.0); - result += mat4(-0.0032967671, -0.019857304, -0.014145445, 0.0, -0.013525817, 0.001614058, -0.009782301, 0.0, -0.044629153, -0.07325184, -0.07655591, 0.0, -0.08667146, 0.024955297, 0.04591592, 0.0) * go_4(-1.0, 1.0); - result += mat4(0.04816059, 0.030722216, 0.032487474, 0.0, 0.09684092, 0.10024655, 0.101904154, 0.0, 0.08137448, 0.092595905, 0.1118598, 0.0, 0.0796932, 0.009548236, 0.0013610915, 0.0) * go_4(0.0, -1.0); - result += mat4(-0.17208904, -0.19137467, -0.17717223, 0.0, -0.10827683, -0.11960323, -0.1204814, 0.0, -0.030430049, -0.019306151, -0.05230355, 0.0, -0.021787236, -0.015395303, -0.093210146, 0.0) * go_4(0.0, 0.0); - result += mat4(0.04527227, 0.057978027, 0.10569097, 0.0, -0.1015645, -0.12595437, -0.097537845, 0.0, 0.060087565, 0.09157804, 0.060251515, 0.0, 0.05170573, 0.042533275, 0.08233745, 0.0) * go_4(0.0, 1.0); - result += mat4(-0.01908824, 0.0039797956, -0.015060464, 0.0, 0.008187719, 0.013936167, 0.008152853, 0.0, -0.02618239, -0.056918032, -0.0504624, 0.0, -0.083657, 0.02122987, 0.022906482, 0.0) * go_4(1.0, -1.0); - result += mat4(0.058020473, 0.08750743, 0.032107625, 0.0, 0.021999976, 0.030119067, 0.03513493, 0.0, 0.06583862, 0.08137626, 0.09867312, 0.0, -0.0021064964, -0.1227668, -0.0912879, 0.0) * go_4(1.0, 0.0); - result += mat4(0.022279112, -0.012710205, -0.0011416139, 0.0, 0.05606448, 0.066590145, 0.061043978, 0.0, -0.008292685, -0.019583363, -0.006212003, 0.0, -0.053282585, -0.029954918, -0.021437356, 0.0) * go_4(1.0, 1.0); - result += mat4(0.019198919, 0.020138288, 0.02048463, 0.0, -0.012281223, -0.01964347, -0.010557296, 0.0, 0.00830553, 0.02714052, 0.016606145, 0.0, -0.0047117253, -0.0060619717, 0.0015284229, 0.0) * go_5(-1.0, -1.0); - result += mat4(-0.01620369, -0.018634152, -0.018486649, 0.0, -0.0037721654, -0.005256878, -0.0032221128, 0.0, 0.048627518, 0.033200823, 0.05459796, 0.0, 0.0064762663, 0.005607537, 0.0014544157, 0.0) * go_5(-1.0, 0.0); - result += mat4(-0.0049319286, -0.003757374, -0.008033526, 0.0, -0.009529666, -0.01023788, -0.011724289, 0.0, 0.08779079, 0.11368912, 0.10699827, 0.0, 0.014564745, 0.017019482, 0.018130492, 0.0) * go_5(-1.0, 1.0); - result += mat4(-0.018128838, -0.020529313, -0.021291668, 0.0, 0.022232227, 0.032956265, 0.030233478, 0.0, 0.057042982, 0.052126013, 0.039634123, 0.0, 0.04395578, 0.042147905, 0.047779605, 0.0) * go_5(0.0, -1.0); - result += mat4(-0.008916549, -0.011398656, -0.006473247, 0.0, 0.07594334, 0.07910866, 0.0726948, 0.0, -0.1670962, -0.17030263, -0.18856722, 0.0, 0.0067814733, 0.01550948, 0.002108076, 0.0) * go_5(0.0, 0.0); - result += mat4(-0.0020052418, -0.0015789939, 0.0024248413, 0.0, -0.018381692, -0.012541983, -0.016114611, 0.0, -0.054943718, -0.08546223, -0.045788202, 0.0, -0.02116913, -0.02479526, -0.02281286, 0.0) * go_5(0.0, 1.0); - result += mat4(0.004089441, 0.004577225, 0.009165186, 0.0, -0.023352642, -0.03344756, -0.03359231, 0.0, 0.051127084, 0.055484984, 0.06788994, 0.0, -0.009284511, -0.0026670755, -0.011205212, 0.0) * go_5(1.0, -1.0); - result += mat4(-0.008048874, -0.003658728, -0.011127851, 0.0, 0.0034879802, 0.014905489, 0.016252292, 0.0, -0.07353042, -0.0754597, -0.09509333, 0.0, 0.009990113, -0.0003871956, 0.0049740863, 0.0) * go_5(1.0, 0.0); - result += mat4(0.009073377, 0.006138898, 0.006741848, 0.0, -0.009877169, -0.019738095, -0.015525384, 0.0, 0.057441086, 0.06538757, 0.053950094, 0.0, -0.0011834118, 0.0010558038, 0.004649949, 0.0) * go_5(1.0, 1.0); - result += vec4(-0.008654677, -0.008960475, -0.009207461, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl deleted file mode 100644 index d772af8..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl +++ /dev/null @@ -1,612 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.21797048, -0.212819, 0.04459435, -0.04423212, 0.33138385, -0.17247623, -0.120917134, 0.23732775, 0.19597639, -0.33451796, -0.021611832, -0.017377583, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.12904494, -0.01359655, -0.40096298, 0.32336384, 0.25585845, 0.23335338, -0.4461792, 0.6704216, -0.13310009, 0.05402756, -0.5437191, 0.32286412, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.062060427, 0.07804567, -0.016457668, 0.25662076, -0.1567372, -0.04152728, 0.15387323, -0.12621297, 0.097600766, 0.023655256, 0.052513056, 0.30542207, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.18701962, -0.4233291, -0.086120665, -0.16739355, -0.63525766, -0.6932253, -0.1777197, -0.5140771, -0.19856504, -0.4475936, 0.12013144, -0.11179723, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.21761869, 0.65340257, 0.25189772, -0.20664653, 0.05614669, 0.81569123, 0.26439375, -0.22282092, -0.20241423, 0.71137106, 0.041106064, -0.558707, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.014729233, -0.09996152, 0.22300848, -0.04927536, -0.08988005, -0.12005097, -0.04899431, -0.18048033, -0.17237821, -0.03483246, 0.33783346, 0.22711775, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.010091276, -0.11388358, 0.15959989, 0.16021152, 0.353214, -0.3420636, 0.39659426, 0.14725044, 0.048077144, -0.06667417, 0.047712438, 0.1991372, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.17764397, 0.014430492, -0.009073561, 0.052957222, -0.26687172, 0.21589288, 0.29830712, 0.15975259, -0.3100123, -0.03535766, 0.18167259, 0.07284526, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.22984034, 0.11556983, -0.26964244, -0.31616172, 0.059412085, 0.10849835, -0.3704685, -0.16312528, 0.3656624, 0.11611945, -0.3790553, -0.4223729, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.035786826, -3.2876174e-05, -0.029245647, 0.0141837); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.02899383, 0.12331602, 0.1755303, 0.14228395, -0.23719487, 0.28783783, -0.15755224, 0.16501419, 0.09971766, -0.112085044, 0.15989542, 0.013457646, -0.21386063, -0.10184436, 0.2920392, 0.11544854) * go_0(-1.0, -1.0); - result += mat4(-0.09577094, 0.052495796, 0.5072853, -0.16720837, -0.030821526, -0.13200149, 0.061197, 0.09785798, 0.097248554, -0.056709435, -0.12684566, 0.25153175, 0.12550084, 0.5723225, -0.061046973, 0.2737185) * go_0(-1.0, 0.0); - result += mat4(0.14275773, 0.3116807, 0.020866666, -0.029567914, 0.054051064, -0.018836629, 0.16237853, 0.23302408, 0.23014219, -0.20245266, -0.040263597, 0.10550008, -0.1419676, -0.07544839, -0.04724355, 0.06713984) * go_0(-1.0, 1.0); - result += mat4(-0.36056906, 0.21647012, -0.21559654, -0.1321654, 0.26311335, -0.35098836, 0.08977303, -0.2912846, -0.03221502, -0.33539286, 0.55078757, 0.14826211, 0.12334663, 0.031169238, 0.0626983, 0.13543329) * go_0(0.0, -1.0); - result += mat4(0.032711882, 0.53162986, 0.1736962, 0.22126123, 0.13229683, 0.12998195, -0.08843839, 0.3830243, -0.29015037, -0.13158421, 0.2987182, 0.0039998284, -0.4924434, -0.34931743, 0.3501415, -0.015819922) * go_0(0.0, 0.0); - result += mat4(0.039777573, -0.039639533, -0.27015024, -0.33144557, -0.11338446, -0.19242573, 0.48813564, -0.24602202, 0.120988116, -0.12362437, 0.23984735, -0.33717445, 0.14359151, -0.09583342, -0.015998919, -0.19725454) * go_0(0.0, 1.0); - result += mat4(0.17751572, -0.14914338, -0.24518701, 0.22713365, 0.10613938, 0.12027283, 0.1582502, 0.011725502, -0.02418084, 0.106176965, 0.10111444, 0.07009088, 0.017611375, 0.369643, -0.21788761, -0.15093188) * go_0(1.0, -1.0); - result += mat4(0.0863035, -0.43148708, 0.0994751, 0.17801163, -0.42566994, -0.2744198, -0.028655952, -0.2481176, -0.26144302, -0.26753834, 0.11043684, -0.48341632, 0.41320416, 0.25118062, -0.31461874, 0.36563694) * go_0(1.0, 0.0); - result += mat4(-0.04845539, -0.2790916, -0.1626853, 0.18036526, 0.2368911, -0.5688802, 0.05240968, -0.034105603, -0.14011742, -0.37861058, -0.096871816, -0.27824572, 0.41195226, 0.23514003, 0.12282304, 0.28447765) * go_0(1.0, 1.0); - result += mat4(-0.13261828, -0.13148594, 0.05470859, -0.114724025, 0.17642413, -0.05585294, 0.44086194, -0.10915775, -0.23456413, -0.18385538, -0.4193869, 0.2708079, 0.03720121, 0.15744475, 0.092449814, -0.0922205) * go_1(-1.0, -1.0); - result += mat4(-0.14146912, 0.386554, -0.15197717, 0.1682067, -0.33229175, 0.18661757, 0.142476, -0.05811066, -0.12433686, 0.20817612, 0.17710523, 0.24227881, -0.3699883, -0.14644128, -0.066485085, -0.010829679) * go_1(-1.0, 0.0); - result += mat4(0.02267665, -0.21349631, 0.05916224, 0.07111888, -0.3317847, -0.044436328, -0.08067249, -0.13602455, -0.2652356, -0.13666181, 0.022768881, -0.21616152, 0.10042784, 0.13159652, -0.062913835, -0.12882891) * go_1(-1.0, 1.0); - result += mat4(-0.21270499, 0.14776433, 0.26771793, 0.41242316, -0.22445452, 0.3885536, -0.36809587, 0.09838256, 0.030300573, -0.016225152, -0.41985163, -0.32797396, 0.3021247, -0.2566993, 0.24282119, 0.071926266) * go_1(0.0, -1.0); - result += mat4(-0.14173156, 0.10360139, 0.03603846, 0.23004, -0.37078354, -0.7556456, 0.43359467, -0.42839774, -0.08143208, -0.061868757, -0.017048405, -0.1806454, 0.07700074, -0.028751602, -0.49057922, -0.07150736) * go_1(0.0, 0.0); - result += mat4(-0.21411006, -0.039522924, -0.11006789, 0.30172586, -0.019509817, 0.34646508, 0.03348711, 0.3949624, 0.09367525, 0.11841692, 0.064099714, 0.30587056, 0.00071666663, 0.09569139, 0.07905173, -0.043038815) * go_1(0.0, 1.0); - result += mat4(-0.1082019, -0.081530154, 0.1997084, 0.0064345463, -0.002075576, 0.0122295255, -0.21594198, -0.20039533, 0.023058774, 0.061136324, -0.043233447, 0.018114857, -0.12538326, -0.008044748, 0.08879177, 0.29855737) * go_1(1.0, -1.0); - result += mat4(0.06425974, -0.162355, -0.07716668, -0.1783711, 0.08560717, 0.42500424, 0.15796345, 0.25115898, 0.39673963, 0.24484198, -0.16364126, 0.45589596, -0.54474986, -0.41130677, 0.15731613, -0.13945425) * go_1(1.0, 0.0); - result += mat4(-0.4015527, -0.22220162, 0.088239804, -0.16343592, -0.05973259, -0.053600565, -0.11719207, 0.340347, 0.07810557, 0.06943392, 0.07088433, 0.36863637, -0.16925047, -0.09059371, -0.086145744, -0.26417965) * go_1(1.0, 1.0); - result += vec4(-0.041068032, 0.02181786, -0.02366552, 0.07215206); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_tf -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.016554115, 0.41586095, -0.11134646, 0.041401796, -0.032285847, 0.07744446, 0.012422875, 0.08027069, -0.11944374, -0.4644861, -0.1625419, 0.09757052, 0.08459575, -0.32677624, -0.15526624, 0.13285875) * go_0(-1.0, -1.0); - result += mat4(-0.05147117, -0.31841335, -0.07968151, -0.037866592, -0.1438723, 0.21164599, 0.042448167, 0.1660907, -0.03240849, 0.2866945, -0.123190455, -0.2005157, -0.100519955, -0.04109891, -0.14908177, -0.20055951) * go_0(-1.0, 0.0); - result += mat4(-0.33594802, 0.17970876, -0.08458461, 0.22198248, 0.041744266, 0.053618595, -0.64927346, 0.43071616, -0.042823542, 0.36384553, 0.13817975, -0.23117469, -0.009722301, 0.043797005, -0.006320899, -0.056160737) * go_0(-1.0, 1.0); - result += mat4(0.020939048, 0.15744017, -0.18557346, 0.2221421, 0.13683408, -0.17577636, -0.1028824, -0.05909411, -0.11116942, -0.23898265, 0.013275228, -0.10834194, -0.23541391, -0.045599524, 0.13663499, -0.061863456) * go_0(0.0, -1.0); - result += mat4(-0.9347821, -1.0879762, 0.029261602, 0.0058627487, 0.37568024, 0.07800278, 0.22918043, -0.22581682, -0.24621771, 0.0565432, -0.01175261, 0.20289935, -0.18791674, -0.34127015, -0.20261073, 0.24382167) * go_0(0.0, 0.0); - result += mat4(-0.42576772, -0.9465751, 0.36503372, 0.047452617, -0.03021601, 0.19896118, -0.9916106, 0.68441176, -0.097055614, -0.039465737, -0.3072724, 0.3834049, 0.044579748, 0.10185175, -0.07127564, 0.053964186) * go_0(0.0, 1.0); - result += mat4(-0.12718496, -0.20010719, -0.13560185, -0.28841987, -0.18198563, 0.06924996, 0.15375975, 0.007953754, -0.03143177, 0.24778824, -0.41971257, -0.15984616, 0.06914517, -0.15320878, -0.058414314, -0.1829401) * go_0(1.0, -1.0); - result += mat4(-0.05676951, -0.39852038, -0.0008664457, 0.073233515, -0.110736564, -0.12950265, -0.32641715, 0.05254214, -0.0013476483, 0.04590487, -0.6886247, -0.029103741, 0.13570555, -0.06356145, 0.26564398, 0.16304392) * go_0(1.0, 0.0); - result += mat4(-0.14373688, 0.2627747, 0.19523594, -0.04094942, -0.027800431, 0.080428846, -0.21676755, 0.22764, -0.08686052, -0.14352795, 0.012905041, 0.12002593, 0.096998215, -0.0822731, 0.25796455, 0.3244333) * go_0(1.0, 1.0); - result += mat4(0.13717347, -0.2534293, -0.08265135, 0.02238695, 0.061414074, -0.12315743, -0.105848454, -0.0324352, -0.019163579, 0.5106144, 0.111571215, -0.17051223, 0.14541212, 0.26512033, 0.17036803, -0.05180038) * go_1(-1.0, -1.0); - result += mat4(0.10731618, -0.011980742, -0.06125307, -0.043496255, 0.06382452, -0.53873694, -0.21860467, 0.076045096, 0.014617647, -0.12188417, -0.23983037, 0.20181973, -0.03130421, -0.23090406, 0.07917799, 0.11006313) * go_1(-1.0, 0.0); - result += mat4(-0.07749841, -0.17617406, -0.2105074, 0.20204528, 0.31133667, 0.045247886, 0.38000366, -0.23678038, 0.14622565, -0.077519946, 0.04709938, 0.28799757, -0.02295692, 0.021911716, 0.037108235, -0.050266817) * go_1(-1.0, 1.0); - result += mat4(-0.04620016, -0.053893, 0.07671593, -0.08702991, -0.31122503, 0.08491399, 0.39734617, 0.10588835, 0.1706988, -0.0030106953, -0.23740743, 0.119870976, 0.04136371, -0.08475979, -0.26021543, -0.26772037) * go_1(0.0, -1.0); - result += mat4(0.013240527, 0.27298495, 0.061895885, -0.1766251, -0.35479823, -0.5952594, -0.2486822, 0.40527418, 0.017724868, -0.64586586, -0.056991536, -0.22597985, 0.1953091, -0.09300436, 0.28394333, -0.17164071) * go_1(0.0, 0.0); - result += mat4(-0.0437722, 0.20237646, 0.1734046, 0.12661959, 0.3563361, 0.20119205, 0.49104276, -0.62781703, 0.10580526, 0.09021795, 0.2986983, 0.05439145, -0.030656314, -0.06551242, 0.06034035, 0.24646781) * go_1(0.0, 1.0); - result += mat4(0.07150872, 0.2634299, -0.15512806, 0.032365914, -0.04214553, -0.32488832, -0.029638838, -0.11298656, 0.016363487, -0.20394005, 0.13789146, -0.1160082, -0.29543686, 0.056006238, 0.022565948, -0.0209169) * go_1(1.0, -1.0); - result += mat4(-0.08222271, 0.1397535, 0.18386504, -0.029725704, 0.19525485, -0.26657727, 0.3193575, 0.39357802, 0.13274485, 0.063030235, 0.5509124, 0.076320685, -0.24871972, -0.23029849, -0.29287627, 0.0009975942) * go_1(1.0, 0.0); - result += mat4(-0.11978757, -0.115064315, -0.32878634, -0.091591395, 0.011527068, -0.07584138, 0.20703748, -0.16326526, -0.07295838, -0.088844456, 0.0057264403, 0.08162376, -0.17551814, 0.10645812, -0.1522622, -0.18409562) * go_1(1.0, 1.0); - result += vec4(0.022193057, 0.0031918385, 0.04232464, -0.0056721596); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_2 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.5713254, 0.59251165, -0.14328027, 0.3463698, -0.6896771, -0.14296922, -0.3860265, 0.4501756, -0.39508528, 0.40213254, -0.16835114, -0.0029681697, 0.06473641, 0.18837942, 0.18787977, -0.14020114) * g_0; - result += mat4(0.08934268, -0.28500432, 0.45083842, 0.16448207, 0.10745752, -0.07937402, 0.17439699, -0.4361477, 0.35800517, -0.16299683, -0.112771064, 0.46456474, -0.016184373, -0.2676676, -0.09250065, 0.30093423) * g_1; - result += mat4(-0.23437534, 0.30892932, -0.3382499, -0.11436098, -0.09584061, 0.010766669, -0.6745943, 0.19373886, 0.19484869, 0.0063928245, 0.20636424, -0.6427624, 0.22710505, 0.580292, -0.56174964, -0.15055792) * g_2; - result += mat4(-0.4264334, -0.43369257, 0.29302827, -0.2763896, 0.20638986, 0.066474296, 0.18825729, 0.14629841, -0.70805573, 0.3601201, -0.49326342, 0.4604217, -0.3331877, -0.30442527, 0.33416224, 0.08233912) * g_3; - result += mat4(-0.043108743, 0.32130125, -0.13206981, 0.56653565, -0.069573626, -0.32312635, 0.17708589, 0.12717012, -0.39452434, 0.7504042, -0.563233, -0.38678297, -0.20246895, 0.399379, -0.1829332, -0.4856879) * g_4; - result += mat4(0.46322855, -0.14412759, 0.26863632, -0.37377957, 0.18703142, 0.12013766, -0.010468053, 0.36067548, 0.29069972, -0.5482968, 0.1952737, 0.42751312, 0.47847852, -0.13346007, 0.35286024, 0.23347002) * g_5; - result += vec4(0.08279582, -0.12997188, 0.08899629, 0.018068794); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.014682038, -0.12901896, -0.16721351, -0.14512789, 0.1975804, 0.31713018, -0.13655594, -0.07817547, -0.1379136, 0.012892589, 0.23835693, 0.18214643, 0.15153849, -0.16835038, 0.2145134, -0.10536737) * go_0(-1.0, -1.0); - result += mat4(0.020937767, 0.19783083, -0.54175997, 0.037820112, 0.2667656, 0.22040194, 0.37909588, 0.18100308, 0.020120522, -0.60052997, -0.043528315, -0.25213948, -0.15584327, 0.27506578, -0.092381746, 0.32063565) * go_0(-1.0, 0.0); - result += mat4(0.122979, -0.16768639, -0.31459492, -0.0615338, 0.2467096, 0.39879864, 0.30217072, 0.05501944, -0.036550965, 0.30801496, -0.21168339, -0.13092734, -0.10309731, 0.02561574, -0.28071794, 0.111772805) * go_0(-1.0, 1.0); - result += mat4(0.30419037, -0.27610013, -0.20951773, -0.4682423, 0.013910727, 0.45360255, 0.26947716, -0.28788614, -0.3465049, -0.027093071, 0.19358, -0.0759516, 0.05402844, 0.23829742, 0.14955573, 0.10131891) * go_0(0.0, -1.0); - result += mat4(-0.18213613, 0.1460758, -0.13212326, -0.33431244, -0.038493834, -0.399577, 0.29018825, 0.046454914, 0.5486579, -0.37918556, -0.09230001, -0.06452045, -0.27307686, 0.16817085, -0.3927623, 0.4070809) * go_0(0.0, 0.0); - result += mat4(0.3655112, 0.42978507, -0.20408633, -0.17724891, 0.018163562, 0.16742137, -0.20677765, -0.18758915, 0.08664044, 0.15635273, 0.04482592, -0.10135638, -0.042055663, 0.0120497495, -0.061840538, -0.23626032) * go_0(0.0, 1.0); - result += mat4(0.29038852, -0.14159334, -0.07436412, -0.13352816, -0.3326411, 0.31299374, 0.2287002, 0.2508818, 0.26760912, -0.0037750339, 0.0058190194, -0.024687344, -0.1777058, -0.015039313, -0.07848877, -0.2052551) * go_0(1.0, -1.0); - result += mat4(0.33255517, 0.45893422, 0.20505154, -0.11818784, -0.0353625, -0.2725971, 0.15468855, 0.14384854, -0.01441209, 0.12198328, -0.07893593, 0.0810518, 0.323934, -0.29967225, -0.24283892, -0.11573156) * go_0(1.0, 0.0); - result += mat4(0.17880976, -0.20802346, 0.028815132, 0.22950941, 0.22764732, 0.32852155, -0.16896188, -0.22661959, 0.06486004, 0.00723564, -0.022966828, -0.05319699, 0.03109079, -0.00031444168, -0.16299056, -0.120937996) * go_0(1.0, 1.0); - result += mat4(0.023376284, 0.029397544, -0.23599954, 0.15093243, -0.058068898, -0.022674788, 0.016787661, -0.100131355, -0.06670702, -0.0654595, 0.060609553, -0.24878198, 0.1184957, 0.12865701, -0.110585764, 0.027937055) * go_1(-1.0, -1.0); - result += mat4(-0.21986784, -0.044010285, 0.07705757, -0.06578579, -0.34479773, -0.27297345, 0.07099886, 0.043877546, -0.3284597, 0.60647607, -0.13495111, 0.39562428, 0.12766926, -0.26691958, -0.13183068, 0.19720052) * go_1(-1.0, 0.0); - result += mat4(-0.15688242, 0.02787055, 0.11245185, 0.010610981, 0.31926978, 0.6880586, -0.08503132, 0.2515481, -0.24620119, -0.3889153, 0.07599151, -0.04537119, -0.55283034, -0.170027, -0.14118128, -0.30742723) * go_1(-1.0, 1.0); - result += mat4(0.037949517, 0.0026801233, 0.013419875, -0.07403992, -0.17499912, 0.012353954, 0.15956756, -0.14248073, -0.0017226954, 0.052071165, -0.19224213, 0.00033604537, -0.1924897, -0.21002872, -0.23516886, -0.09922695) * go_1(0.0, -1.0); - result += mat4(-0.21850063, -0.22287996, -0.046637002, -0.28330007, -0.106190234, 0.027529838, 0.5553775, 0.3273539, 0.0110251075, 0.0067749587, 0.18001638, 0.18281236, 0.19831169, -0.03785556, 0.06003045, -0.12625378) * go_1(0.0, 0.0); - result += mat4(-0.44703564, -0.2896555, 0.72527117, 0.29206118, -0.004199225, 0.46381885, 0.049183566, 0.14319502, -0.3226642, -0.39931563, 0.23164241, 0.10428929, -0.598285, -0.21007223, -0.36386037, 0.09704366) * go_1(0.0, 1.0); - result += mat4(0.0462183, -0.063166276, 0.14364852, 0.212176, 0.17403619, -0.09878261, 0.0017970221, -0.31676117, -0.1104441, -0.073732674, -0.12653485, -0.20641124, 0.024175802, 0.005339486, -0.08178427, -0.2761102) * go_1(1.0, -1.0); - result += mat4(-0.19256714, -0.246452, 0.3358081, -0.16956173, -0.2549593, 0.21122634, -0.06487135, -0.051329695, 0.110607915, -0.09860077, 0.1355533, -0.1489809, 0.023808947, 0.29945812, -0.056281622, 0.0020249223) * go_1(1.0, 0.0); - result += mat4(-0.34458768, -0.074856885, -0.01856148, 0.06707525, -0.3314005, -0.16196185, 0.33313355, 0.20943385, -0.266928, -0.27552158, 0.018665945, 0.013205852, -0.33579, -0.16876023, -0.031895302, -0.13143763) * go_1(1.0, 1.0); - result += vec4(-0.0375635, -0.08823075, 0.0025748173, 0.014370204); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.23653865, 0.034179572, 0.2680533, 0.03070888, -0.34707117, 0.05323393, 0.20052955, -0.09135351, 0.031460114, -0.23158966, 0.08698448, -0.120006196, -0.11532645, -0.08093671, 0.0037868635, 0.10042472) * go_0(-1.0, -1.0); - result += mat4(-0.018171439, -0.12269748, 0.09214298, 0.07735124, -0.38116398, 0.2625897, 0.045807257, 0.06052568, 0.15468815, -0.40968472, 0.37565818, 0.032876365, 0.058758568, 0.17787455, 0.11352259, 0.23624317) * go_0(-1.0, 0.0); - result += mat4(-0.094512895, 0.15499377, -0.15345438, -0.18841587, -0.07849487, 0.037030153, -0.17632313, 0.10438565, -0.18453433, -0.079957336, 0.10274841, 0.07198532, -0.04770108, 0.16846456, 0.31273615, -0.13635644) * go_0(-1.0, 1.0); - result += mat4(0.13088372, -0.008759914, 0.1716414, 0.082108594, -0.51469034, 0.18175006, -0.16164891, 0.1918173, 0.21287642, -0.094005, 0.20578988, 0.13113159, 0.07577773, 0.09737444, -0.08676422, -0.059179075) * go_0(0.0, -1.0); - result += mat4(-0.28462783, 0.42669204, 0.3224737, -0.29510942, -0.12424295, -0.16050552, -0.12770653, 0.0930919, -0.22179118, 0.33128613, -0.42117682, -0.14691186, 0.41048542, -0.040950067, -0.13896315, -0.24155742) * go_0(0.0, 0.0); - result += mat4(0.15060697, -0.088174045, 0.27417374, 0.0397946, 0.0078119785, 0.091031335, 0.008468849, -0.04850853, 0.03755719, -0.005380725, 0.13488528, -0.21345685, 0.12456556, 0.17801593, -0.21285392, -0.2111536) * go_0(0.0, 1.0); - result += mat4(0.13265789, 0.0058933417, -0.35399312, -0.10547572, 0.014682838, 0.03247095, -0.046823166, -0.086899005, 0.022227641, -0.10579067, 0.13096501, -0.020894872, 0.08426519, 0.068370126, -0.051551163, -0.02995364) * go_0(1.0, -1.0); - result += mat4(-0.19551872, 0.16199462, 0.31150326, 0.082667254, 0.20023693, -0.22914512, -0.29721177, -0.2741043, 0.08894789, -0.06843645, -0.019058365, -0.06370645, 0.11551113, 0.011740334, -0.17567629, -0.05505456) * go_0(1.0, 0.0); - result += mat4(0.043439314, 0.19573408, -0.17608817, 0.043509595, 0.22829561, 0.059223037, 0.05529666, -0.16555707, 0.2754871, 0.042527672, 0.09646824, 0.07046857, 0.10173791, 0.04030276, -0.0544029, -0.26882443) * go_0(1.0, 1.0); - result += mat4(0.022059897, -0.04408266, -0.18699357, -0.09142074, 0.044572234, -0.14162005, 0.108728774, -0.08984615, -0.14737117, 0.12838708, -0.0019777226, 0.21070306, -0.111902215, 0.23080471, 0.0134878885, 0.07111553) * go_1(-1.0, -1.0); - result += mat4(0.12182694, 0.063630685, 0.110018775, -0.03879438, 0.333222, -0.45207745, 0.3209222, 0.123050354, -0.40609705, 0.48236838, 0.14323111, -0.12578699, 0.0015041681, -0.019454073, 0.07013497, 0.093687624) * go_1(-1.0, 0.0); - result += mat4(0.07142873, -0.32094324, 0.3302099, -0.3693182, 0.15444939, -0.14791024, 0.07907135, -0.111387216, 0.045319714, -0.12518585, 0.13145387, 0.09406553, 0.038564056, -0.3085204, 0.39396307, 0.12083835) * go_1(-1.0, 1.0); - result += mat4(0.16042647, -0.16409212, 0.105187505, 0.14153793, 0.269689, -0.14337258, 0.0915773, -0.26669213, -0.059172913, 0.1121628, -0.06627627, -0.29320538, -0.038348313, 0.060661227, -0.09798249, -0.027975965) * go_1(0.0, -1.0); - result += mat4(-0.4110324, -0.06847458, -0.22187959, -0.17196147, -0.2673298, 0.15388274, -0.20157869, 0.45323396, 0.419686, -0.15836199, -0.08358049, 0.2121381, -0.33858112, 0.06060976, -0.0400928, 0.047277283) * go_1(0.0, 0.0); - result += mat4(0.040201366, 0.12845124, 0.6901938, -0.009195482, 0.014911491, -0.06885409, -0.08029354, 0.1280681, 0.13877457, 0.0048243836, -0.13357066, 0.02874182, -0.07086705, -0.08369575, 0.070227675, 0.1674778) * go_1(0.0, 1.0); - result += mat4(-0.009859274, -0.06701725, 0.25491804, -0.035013054, 0.15333284, -0.055876795, -0.22912641, -0.30044466, 0.05092424, 0.15086575, -0.062285095, 0.05064704, 0.02725196, 0.0008295126, -0.24010411, -0.0076930025) * go_1(1.0, -1.0); - result += mat4(-0.033275966, -0.25090593, 0.2981365, 0.12117296, -0.04844607, 0.12529893, 0.041575357, -0.10317985, 0.048691675, 0.13610789, -0.15120777, -0.21308705, -0.019387634, 0.20519307, -0.09056782, -0.04757386) * go_1(1.0, 0.0); - result += mat4(-0.010075166, -0.08621876, -0.19569752, 0.1553574, -0.115346536, -0.009765705, -0.37459797, -0.017294222, -0.18065308, 0.052127127, 0.045157496, 0.11466202, 0.036598917, 0.1750653, -0.18558112, 0.13441156) * go_1(1.0, 1.0); - result += vec4(0.09810561, 0.044599928, -0.0019709724, 0.064204566); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x32 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_2 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.16594207, 0.47900248, 0.15186168, -0.38448718, -0.33396608, -0.12204449, -0.21397614, 0.22567725, 0.2399077, 0.16945037, 0.072409995, -0.015192162, -0.5004075, -0.10852234, 0.14456534, 0.36797065) * g_0; - result += mat4(-0.03527082, -0.13062008, 0.2529196, 0.16799021, 0.2743078, 0.22924475, 0.4391596, -0.34473032, -0.08008852, 0.14463465, -0.30243787, 0.0352092, 0.49160767, 0.18479864, -0.13473135, -0.40414095) * g_1; - result += mat4(0.14367065, 0.058683306, 0.091011606, 0.15336677, -0.119622074, 0.04199915, -0.19148684, -0.103310175, 0.116265774, -0.105254985, 0.6245667, -0.26108894, 0.18143174, -0.1839799, 0.048575178, -0.55331755) * g_2; - result += mat4(0.35027766, 0.03997352, -0.023643266, -0.3330187, -0.10459313, -0.4023968, 0.07325048, -0.09424643, 0.06866858, 0.53465986, -0.44508684, 0.18428375, -0.23138772, 0.027757954, 0.17421234, 0.026670102) * g_3; - result += mat4(-0.4365351, 0.22217907, -0.6871689, 0.045348447, 0.15043557, -0.48645085, -0.29547492, 0.057184387, -0.03682008, 0.3751258, -0.3201267, -0.17569698, 0.3118066, -0.3671979, 0.41987854, -0.122571744) * g_4; - result += mat4(0.44111615, -0.40698248, 0.0016049108, -0.25277275, -0.28967234, 0.016609022, 0.5386827, 0.069790244, -0.51845384, 0.024502689, -0.026591584, 0.17351557, 0.12391694, 0.08250939, -0.08813545, 0.43510008) * g_5; - result += mat4(-0.15770161, -0.27004284, -0.56035084, 0.15914616, 0.22454856, 0.3096621, 0.45845222, -0.008859915, 0.10483775, 0.14181131, 0.026368458, -0.0063670245, 0.24472655, -0.038785648, -0.14339298, -0.10899222) * g_6; - result += mat4(-0.034405068, -0.2823658, 0.050728954, -0.08360402, -0.11867297, -0.20057304, -0.011291816, 0.08128843, 0.07198962, 0.41366118, -0.40760013, -0.05193347, -0.31802976, 0.11970909, 0.09838232, -0.08124989) * g_7; - result += vec4(-0.04242169, -0.0033301958, -0.016717333, -0.0006306486); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.43036512, 0.052133385, 0.1917228, -0.0080327755, -0.13650647, 0.23129214, -0.03926996, -0.07268268, -0.039649602, -0.04959827, 0.04222682, 0.00578327, -0.6177682, -0.5984116, -0.055091057, -0.41249448) * go_0(-1.0, -1.0); - result += mat4(-0.41248822, 0.42497736, 0.3476831, 0.11943562, 0.071097784, 0.1390214, 0.05519766, -0.13476476, -0.36376685, 0.058813993, -0.05142066, 0.059006505, -0.17129485, 0.18402734, 0.412061, -0.38983205) * go_0(-1.0, 0.0); - result += mat4(-0.19183454, -0.11911039, 0.20892574, 0.1218832, -0.23423564, 0.10342528, 0.09782025, 0.027760351, -0.08676245, 0.07389133, 0.009934853, 0.015378812, 0.28361297, -0.23730409, -0.10037592, -0.24095006) * go_0(-1.0, 1.0); - result += mat4(0.035607535, -0.3156877, -0.013944192, 0.22095163, 0.20762561, -0.26094976, 0.049627785, -0.20424393, 0.07220507, 0.14855692, -0.04763761, 0.09102831, -0.6707187, 0.044909656, 0.73606086, 0.3112647) * go_0(0.0, -1.0); - result += mat4(0.28717026, -0.027964758, 0.19860156, -0.18898363, -0.10064204, 0.05297523, 0.014720102, -0.10856063, -0.517343, -0.17088185, 0.21192405, 0.040609106, 0.07515164, -0.22581428, 0.54721195, 0.40544033) * go_0(0.0, 0.0); - result += mat4(-0.021332845, -0.28534392, -0.053418603, -0.5890941, 0.3246433, 0.255651, 0.07088422, -0.10737213, -0.116894506, 0.13120323, 0.09616092, -0.0067616547, 0.085571416, 0.14623387, -0.26895332, -0.12028506) * go_0(0.0, 1.0); - result += mat4(-0.052351072, -0.73936135, -0.07819111, -0.35983723, 0.13252614, -0.3479261, -0.07381629, 0.008948218, 0.0053645126, -0.039163757, -0.061387096, 0.0041966103, -0.22976315, -0.10269704, 0.5676015, -0.2502383) * go_0(1.0, -1.0); - result += mat4(0.09443165, 0.13924311, 0.15899155, -0.029454758, 0.002642519, 0.4178081, -0.19227526, 0.25177202, -0.26731998, -0.14999937, -0.15141752, -0.16183105, -0.4617529, -0.43337283, 0.2787283, -0.72364557) * go_0(1.0, 0.0); - result += mat4(0.18768649, -0.33622888, 0.10795176, -0.3965141, -0.1887279, 0.2281405, -0.45963305, -0.16073631, -0.015594818, 0.07035953, -0.16940016, -0.28909472, -0.017725285, -0.35240498, 0.30173686, 0.20117418) * go_0(1.0, 1.0); - result += mat4(0.03129677, -0.04133618, -0.011259672, 0.03561297, 0.0852418, 0.04584553, 0.19103919, 0.09809102, -0.14594959, -0.4438363, 0.16297287, -0.20317835, 0.115456745, -0.06761671, 0.15409957, 0.04450018) * go_1(-1.0, -1.0); - result += mat4(0.039826628, -0.45614466, 0.0642495, 0.05919764, -0.44811794, 0.30939403, -0.09915154, 0.1356114, 0.24242148, -0.5744648, 0.051002555, 0.2401494, -0.24656531, -0.025525048, 0.0022000005, 0.16019441) * go_1(-1.0, 0.0); - result += mat4(-0.30609047, -0.44622147, -0.1323853, 0.27586594, 0.28131932, -0.1788347, -0.13601942, -0.056978267, 0.1390773, 0.023616405, 0.23695482, 0.014369665, 0.1065836, 0.2862605, 0.12936947, -0.08392774) * go_1(-1.0, 1.0); - result += mat4(-0.21285766, -0.19791842, -0.08064578, -0.15698087, -0.6196114, -0.30824217, -0.048959345, 0.30395007, -0.41899, -0.3358852, -0.097170554, 0.28982377, 0.087944746, 0.15887393, 0.12179637, -0.33221152) * go_1(0.0, -1.0); - result += mat4(-0.13241346, 0.035703655, -0.4474765, 0.110112734, -0.27055773, 0.41301596, -0.6500781, -0.15217184, -0.2048386, 0.011350564, -0.45242086, 0.4019483, -0.13381444, -0.34816414, -0.5594909, 0.06767518) * go_1(0.0, 0.0); - result += mat4(-0.16038893, 0.035530727, -0.029575568, 0.4231352, 0.024787677, 0.63239074, -0.039876997, -0.025136393, -0.51243687, 0.05607693, -0.26631242, 0.089419514, -0.051774174, 0.08727033, -0.055868924, -0.0934304) * go_1(0.0, 1.0); - result += mat4(0.08607903, 0.10347359, -0.08568057, -0.04361689, -0.09244961, 0.032459106, 0.07126668, 0.40926656, -0.17473985, -0.2854381, -0.07475363, -0.16183083, 0.22286943, 0.068349905, -0.07890174, -0.18732166) * go_1(1.0, -1.0); - result += mat4(0.17825048, -0.31030193, -0.21215369, 0.015413245, -0.0980228, -0.3963089, -0.09465454, -0.39197174, 0.22134416, -0.10105557, 0.3249675, -0.027290137, -0.10875647, -0.2393993, -0.015305307, 0.21288091) * go_1(1.0, 0.0); - result += mat4(0.26367134, -0.11709682, 0.10634492, -0.13768406, 0.5535611, 0.6967819, -0.31092402, -0.5262172, 0.14721805, -0.05149995, 0.22435789, -0.21493623, 0.27388602, -0.14029293, -0.1060113, 0.083680965) * go_1(1.0, 1.0); - result += vec4(0.017177593, -0.03303642, 0.018293152, -0.0153594585); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.43671334, -0.16534646, -0.13688485, -0.008512402, -0.10336664, -0.08822921, -0.116312236, -0.038849946, -0.035221335, 0.019403309, 0.060067646, -0.025432155, 0.090118125, -0.117073216, 0.16502255, 0.034231257) * go_0(-1.0, -1.0); - result += mat4(0.17112842, -0.023511292, -0.2592198, -0.07303919, 0.048081987, -0.054403186, -0.060226068, -0.2663483, 0.16908844, -0.11529753, -0.036192283, 0.05631556, -0.12996213, 0.32429552, -0.17090482, 0.37093237) * go_0(-1.0, 0.0); - result += mat4(-0.0398796, -0.21753207, -0.014232783, 0.04652695, 0.06361906, 0.11714849, -0.116917215, -0.0088206185, -0.15661797, 0.11036933, 0.043800946, 0.0088503305, 0.15252474, -0.21677117, -0.26665527, 0.11332868) * go_0(-1.0, 1.0); - result += mat4(0.14935064, 0.03734691, 0.08192101, -0.28615516, 0.19225292, 0.09485945, -0.018961852, -0.04503368, -0.14962928, 0.14281853, 0.015293623, -0.0051231394, 0.31510183, 0.28869596, 0.1890055, -0.07833456) * go_0(0.0, -1.0); - result += mat4(0.2734724, 0.37409434, -0.2611236, 0.06528365, -0.1886752, 0.045421556, 0.25771844, 0.14760634, -0.02859129, -0.071093805, -0.1635561, 0.06800318, 0.44370538, 0.43510497, 0.15145455, -0.029246451) * go_0(0.0, 0.0); - result += mat4(0.17102292, 0.33519942, 0.2755555, -0.24724208, 0.042192735, -0.6907692, -0.10582406, 0.2008313, 0.04859614, -0.24115612, 0.015256011, -0.029317714, -0.057466604, -0.1004556, 0.24814546, -0.22135083) * go_0(0.0, 1.0); - result += mat4(0.20959556, 0.113371, -0.021680012, -0.054057337, -0.017139604, -0.082443535, -0.03216185, 0.13644056, -0.105473205, -0.033690784, 0.030838218, 0.013347346, 0.49752173, -0.14028637, -0.23801191, 0.059374087) * go_0(1.0, -1.0); - result += mat4(0.054281052, 0.04908332, 0.065993994, -0.09818599, 0.17124225, -0.22669722, -0.090717405, 0.20086871, 0.05861675, 0.09584638, 0.18013628, 0.026234226, 0.32684898, 0.28582916, -0.03517119, -0.21534745) * go_0(1.0, 0.0); - result += mat4(0.2143339, -0.009243758, -0.043321237, -0.18695052, 0.0707111, -0.052678097, 0.04782485, 0.06970353, -0.029827276, 0.10827879, 0.049044352, -0.09452859, -0.08516196, 0.11786405, -0.18170272, -0.117841594) * go_0(1.0, 1.0); - result += mat4(-0.23180094, 0.079831, -0.17606014, -0.06691572, 0.13079396, -0.054930445, 0.025274629, 0.059386294, 0.18818773, 0.071563244, -0.19136675, 0.031156426, 0.12569802, 0.057418842, -0.022066243, 0.09572557) * go_1(-1.0, -1.0); - result += mat4(0.13405065, -0.038109858, 0.19447789, -0.121862344, -0.5014013, 0.030394621, -0.11468341, 0.24658446, -0.2861801, 0.11453208, 0.17080295, 0.32403797, 0.01776269, 0.21879151, -0.1487332, -0.13659461) * go_1(-1.0, 0.0); - result += mat4(-0.16852567, 0.37488598, 0.103131816, 0.15805401, -0.5529941, -0.0106922565, 0.14309406, 0.018851891, 0.18253598, -0.18453355, -0.14344332, 0.14581451, 0.00017439971, -0.22823274, -0.02480218, -0.28830686) * go_1(-1.0, 1.0); - result += mat4(-0.036933262, -0.105577976, 0.02778643, 0.21757011, -0.0051288083, 0.036500473, 0.12934865, -0.18750058, 0.05384686, -0.14823805, 0.12996665, -0.0717687, 0.15035072, 0.00028661545, -0.4272515, 0.102082215) * go_1(0.0, -1.0); - result += mat4(0.3707243, -0.34236187, -0.037726954, 0.19196671, 0.101593964, 0.3211922, -0.30584693, -0.09473774, -0.012873282, -0.26314828, -0.3015266, -0.05155332, -0.23810461, -0.17289765, 0.16493215, 0.07951415) * go_1(0.0, 0.0); - result += mat4(-0.054548983, 0.20742553, -0.17368966, -0.11417929, -0.14998713, 0.14250377, 0.08688373, -0.39742398, -0.29795423, 0.3917638, -0.24611169, -0.007993072, -0.052766692, -0.05993209, -0.017495412, 0.2881331) * go_1(0.0, 1.0); - result += mat4(-0.05283335, 0.081839375, 0.013510656, -0.097930856, -0.09817993, -0.10169309, -0.024573473, -0.061191153, 0.14742163, 0.12549889, 0.21033141, -0.11116201, -0.046900082, 0.052657153, -0.10784069, 0.0005640972) * go_1(1.0, -1.0); - result += mat4(0.036850937, -0.004740191, -0.105057694, 0.16894996, -0.39845806, -0.11454543, 0.044997875, 0.10780206, -0.15164936, -0.030377366, -0.015979659, -0.16242398, -0.045865484, 0.04037505, -0.03663904, 0.24529697) * go_1(1.0, 0.0); - result += mat4(0.0041185757, 0.0843081, 0.07231875, 0.100667596, -0.31684703, -0.2574812, -0.03461963, 0.11267055, -0.22542828, -0.104221806, -0.095156625, -0.08219916, 0.18497708, -0.08431334, -0.074380755, 0.07518058) * go_1(1.0, 1.0); - result += vec4(0.034884464, 0.055267137, 0.03452981, 0.012002485); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_2 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09644354, -0.12061228, -0.15139145, 0.010084075, 0.19283041, -0.15289722, 0.0028078665, 0.15971705, -0.03884288, -0.06906346, -0.04772131, 0.32280502, -0.42069855, 0.21643022, -0.8389786, -0.50325495) * g_0; - result += mat4(0.18034904, 0.037142154, 0.41413367, 0.08413125, -0.14397736, -0.4820656, 0.32794252, 0.2589487, 0.46948192, 0.26964813, -0.07420985, -0.16767345, 0.086358115, -0.10306444, 0.36070088, 0.1681583) * g_1; - result += mat4(0.35362276, 0.012461055, -0.77784586, 0.09078976, 0.19976044, 0.17758635, -0.37238386, -0.03503108, 0.13998942, -0.37809366, 0.016560063, 0.3934089, -0.25227416, -0.123653956, -0.05106222, 0.005900442) * g_2; - result += mat4(0.057956465, -0.049570814, 0.0606723, -0.20321843, -0.26415482, -0.27723017, 0.116116256, 0.091267794, -0.14814565, 0.25946814, 0.17341542, 0.14638402, 0.2880723, 0.10809813, 0.025261842, -0.34984475) * g_3; - result += mat4(0.05510083, 0.17530598, -0.20630372, -0.027601322, 0.017287979, 0.1857018, -0.41756013, -0.14747128, 0.36301833, 0.13361412, 0.021245379, 0.08700895, -0.15968269, -0.32113054, 0.019964505, -0.15953153) * g_4; - result += mat4(-0.12913038, -0.21853726, -0.14845535, -0.2878481, 0.060428645, -0.12468173, -0.0068141054, 0.044517014, -0.3603185, -0.21329117, -0.029232644, 0.033500195, 0.4367195, -0.048263986, 0.36913735, -0.015526651) * g_5; - result += mat4(0.15424874, 0.09803074, -0.4081566, -0.24807191, -0.21617292, -0.26116055, -0.19488858, 0.13665622, -0.23223704, 0.13516016, -0.19990326, -0.09589857, 0.2877168, -0.18335378, -0.12726076, -0.01706245) * g_6; - result += mat4(0.17850566, 0.11283147, 0.0941847, 0.07064274, 0.23485339, 0.053585358, 0.038221374, -0.052291602, -0.085393615, -0.43200582, -0.3899717, -3.6526293e-05, -0.1805902, 0.15160961, -0.25388122, -0.10506431) * g_7; - result += mat4(0.10518986, 0.4441116, -0.16333202, -0.15620118, -0.025791602, -0.2971725, 0.27621722, 0.15761738, 0.008179799, 0.4354704, 0.8792617, 0.98227674, 0.27862114, -0.28962052, 0.08527341, 0.06820025) * g_8; - result += mat4(-0.002976883, -0.220515, -0.2764896, 0.03840775, 0.09852327, 0.09890841, 0.6333531, 0.05949176, -0.12757486, 0.12711844, -0.103355624, -0.2612116, -0.92972547, 0.20546664, 0.43557793, 0.14573197) * g_9; - result += vec4(-0.048349448, -0.027946962, -0.014499015, -0.017825816); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.099030726, -0.06836123, 0.08793171, -0.08440806, 0.1367897, -0.18130925, -0.061028607, -0.0036578078, -0.2664728, 0.11683366, -0.106817886, 0.054352235, -0.037010342, -0.04099114, -0.024939198, 0.17543977) * go_0(-1.0, -1.0); - result += mat4(-0.005120602, 0.033574037, 0.15293613, 0.14662915, 0.16131143, 0.14048538, -0.07979977, -0.09974233, 0.12065904, -0.027316207, 0.05308134, -0.39921048, -0.11916608, 0.05068417, -0.064156584, 0.0906338) * go_0(-1.0, 0.0); - result += mat4(0.19719984, 0.031454016, 0.057130553, -0.08133089, -0.48387995, -0.20429122, -0.2968695, 0.17029694, 0.2686546, -0.32400158, 0.23564363, -0.12357238, -0.039444853, -0.25260264, -0.045210194, 0.009996893) * go_0(-1.0, 1.0); - result += mat4(0.24888185, -0.16971394, 0.23991539, -0.20469886, -0.05449719, -0.22697294, -0.19475369, -0.14052935, 0.15595771, 0.09519395, -0.18674417, -0.19258659, -0.18656066, -0.07679601, 0.04305061, -0.052698307) * go_0(0.0, -1.0); - result += mat4(0.26016366, 0.37886587, 0.29538265, 0.13591415, 0.08657945, 0.2248858, 0.13191143, -0.27878642, 0.38287383, -0.24528888, 0.16275367, -0.4445379, -0.15009366, 0.21030647, 0.04707718, -0.36865705) * go_0(0.0, 0.0); - result += mat4(0.00060599507, -0.063061595, 0.09708327, 0.18096425, -0.18803552, -0.15204777, -0.21307996, 0.25915486, 0.180343, 0.15965502, 0.4193544, 0.11587751, -0.01724538, -0.0003311443, 0.118263096, 0.3388005) * go_0(0.0, 1.0); - result += mat4(-0.11013732, -0.24454343, 0.11523979, 0.16267157, 0.037852544, -0.018723588, -0.044225607, 0.010824283, -0.09449054, -0.43009904, 0.17163227, 0.058022983, 0.3704038, -0.124312826, -0.04090871, -0.41738933) * go_0(1.0, -1.0); - result += mat4(-0.08466185, -0.032986447, -0.12251885, -0.061746452, -0.28120902, -0.03351265, -0.07977477, 0.035497896, -0.40911916, -0.265343, 0.18400514, 0.18039864, 0.2885377, 0.17138512, -0.2672905, -0.17658347) * go_0(1.0, 0.0); - result += mat4(0.14892288, 0.054083705, 0.074718416, 0.011234817, -0.1644216, 0.10958687, 0.016626561, 0.13260235, 0.15622494, 0.028492622, 0.16308293, 0.0817191, 0.004302441, -0.03425889, 0.019733155, 0.20729025) * go_0(1.0, 1.0); - result += mat4(-0.10912273, 0.18627015, -0.12923245, -0.007432667, -0.15062776, 0.1132029, -0.039932206, -0.048926212, -0.19350322, -0.052288085, -0.062460408, 0.06341913, -0.22352171, 0.12735958, -0.030772611, 0.10314876) * go_1(-1.0, -1.0); - result += mat4(0.055571638, -0.29345444, -0.05150461, 0.038981512, -0.20368473, -0.1620652, 0.2212063, 0.16812243, -0.25869122, -0.055914585, 0.1699279, 0.09515419, -0.051229157, 0.029384349, 0.2958992, 0.33411613) * go_1(-1.0, 0.0); - result += mat4(-0.16893966, -0.11777383, -0.1890183, 0.3100362, 0.32964075, 0.1503138, 0.23687156, -0.1966872, -0.34989685, 0.018697567, -0.054476835, 0.2467992, 0.1404086, 0.042806204, 0.22713056, -0.07194008) * go_1(-1.0, 1.0); - result += mat4(0.1294499, 0.08734431, -0.27748963, -0.30450672, 0.347131, 0.10832939, 0.094416045, -0.021583052, -0.03705905, 0.13216147, 0.060019907, 0.17617045, -0.31731188, 0.055844136, -0.32436728, 0.09127553) * go_1(0.0, -1.0); - result += mat4(-0.37301856, -0.59706587, 0.14188358, -0.11759082, -0.123990245, 0.17104799, -0.22897844, 0.044174567, 0.08194783, 0.5041956, 0.080176726, 0.30695775, 0.14737315, 0.06887362, -0.14944588, 0.041438155) * go_1(0.0, 0.0); - result += mat4(0.028311472, -0.12458831, 0.09180698, 0.21692544, 0.26750755, -0.095768556, 0.37605208, -0.09700436, -0.43799365, -0.2001086, -0.22588708, 0.21119161, 0.017415013, 0.15119827, -0.015756091, -0.097044095) * go_1(0.0, 1.0); - result += mat4(0.07018085, 0.07628864, 0.03961951, 0.032012466, 0.09119677, -0.11489552, 0.086640276, -0.10799725, -0.09006475, 0.18994014, 0.015971951, 0.025477583, 0.034011904, -0.07448855, -0.090691224, -0.08970111) * go_1(1.0, -1.0); - result += mat4(-0.036299143, 0.14122474, -0.1863209, 0.1802412, 0.25498003, 0.12084085, -0.15148233, -0.15718026, 0.00034174722, 0.13090368, -0.17938401, -0.064941354, -0.42650834, -0.24431564, 0.1735792, -0.08763975) * go_1(1.0, 0.0); - result += mat4(-0.018800588, -0.09828807, 0.022626605, 0.19307971, 0.2295834, 0.021806285, 0.17869954, -0.089709155, 0.039047185, 0.1444108, -0.058205944, -0.0141449645, 0.10705844, 0.17592433, -0.017586943, 0.100735694) * go_1(1.0, 1.0); - result += vec4(-0.10319947, 0.010868113, 0.0143356435, -0.007343647); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.034931988, -0.10314893, 0.050731838, 0.008667428, 0.093605734, 0.18763398, 0.1329972, 0.32109565, 0.018679736, 0.16050446, -0.21393016, -0.5850818, -0.03595686, -0.06816087, 0.058053996, 0.14945738) * go_0(-1.0, -1.0); - result += mat4(0.13086358, 0.1037956, 0.024482725, 0.28596595, 0.03427747, 0.03360277, -0.08412939, -0.09863662, -0.14649919, 0.049508557, -0.040583454, -0.3193693, 0.09898459, -0.055807225, -0.13826977, -0.24508655) * go_0(-1.0, 0.0); - result += mat4(0.022690594, -0.049172435, -0.043048073, 0.28297383, -0.12327597, 0.12841734, 0.19118458, -0.14444864, 0.25481266, -0.1530131, -0.32560238, 0.28813502, 0.07987849, -0.081693284, 0.023993304, 0.051493756) * go_0(-1.0, 1.0); - result += mat4(-0.21383128, 0.10948106, 0.29768178, 0.5630563, -0.097254336, 0.3000293, 0.27545682, -0.10354583, 0.064267136, -0.0722382, 0.16716443, -0.29272497, 0.124174535, -0.09405645, -0.07759505, -0.63239044) * go_0(0.0, -1.0); - result += mat4(-0.049770556, -0.2611922, -0.11767422, -0.056895554, -0.10655438, 0.15822971, -0.15873717, -0.034663625, -0.22618848, -0.037567407, 0.8648974, 0.15630767, 0.24981938, 0.15488663, -0.01769864, -0.05102535) * go_0(0.0, 0.0); - result += mat4(0.021745246, -0.019828277, -0.2533036, 0.08191131, 0.21484213, 0.07265768, 0.13022637, 0.12640825, 0.3097948, 0.1656624, 0.29834095, 0.26926345, 0.1445516, -0.096134044, 0.23720652, 0.104119554) * go_0(0.0, 1.0); - result += mat4(-0.0026226363, -0.11969785, -0.07630252, 0.48163646, 0.020707106, 0.098053664, 0.15194124, -0.067455925, -0.0072260266, -0.063311785, -0.13165388, -0.2720021, 0.056918275, -0.46139827, 0.062053606, -0.2062505) * go_0(1.0, -1.0); - result += mat4(0.18370466, -0.21412961, -0.08481129, 0.012198226, -0.08129054, 0.5550795, 0.047955874, 0.2502166, -0.07373375, 0.28914857, -0.0046189106, -0.014052611, -0.1366542, -0.4555943, -0.053266894, 0.4447608) * go_0(1.0, 0.0); - result += mat4(-0.028673984, -0.05453405, -0.118545935, -0.069395766, 0.17180833, 0.17611517, 0.13780451, 0.28597325, -0.07254466, 0.05339366, 0.0095731495, 0.17107281, 0.08671597, -0.06200009, -0.06297748, 0.08674916) * go_0(1.0, 1.0); - result += mat4(-0.040299665, 0.095958404, 0.052906267, -0.48397818, -0.1331588, -0.0012678325, -0.042020816, -0.33833674, -0.012395556, 0.07671447, -0.15005252, -0.083733305, 0.12279073, 0.13883469, -0.10359484, -0.31333458) * go_1(-1.0, -1.0); - result += mat4(0.14495945, -0.12174993, -0.11281622, -0.018538697, -0.14329918, 0.12817283, -0.046540275, -0.1030246, -0.1832771, -0.30401602, -0.33390167, -0.052471336, 0.12632851, 0.23514742, 0.0011784412, -0.49560672) * go_1(-1.0, 0.0); - result += mat4(0.08295849, 0.044828687, 0.27639604, 0.039427668, 0.02818349, -0.06210292, -0.27352595, 0.19817229, -0.18440844, -0.06898423, 0.0017214341, -0.18130824, -0.0071537187, 0.03517007, -0.2113949, 0.025240164) * go_1(-1.0, 1.0); - result += mat4(-0.2006673, -0.041704424, 0.16268894, -0.25376207, 0.07905478, -0.17365594, 0.10044552, -0.20418073, 0.085226685, -0.16344517, -0.11064805, -0.2824042, 0.00095205643, 0.31177342, -0.3084233, -0.0908839) * go_1(0.0, -1.0); - result += mat4(0.26129997, 0.3127755, 0.06982181, 0.23317924, -0.05344337, 0.008762884, 0.20765801, 0.13311344, -0.021598162, 0.0038430444, -0.40633947, 0.09444498, -0.097569115, 0.1161639, 0.051482536, -0.13007577) * go_1(0.0, 0.0); - result += mat4(0.1168701, 0.10319956, -0.26231092, 0.13755418, -0.31545812, 0.21018027, -0.2570223, 0.11072984, 0.169098, -0.092338, 0.19418359, -0.24841106, 0.2179265, 0.26306525, -0.030364338, 0.011455713) * go_1(0.0, 1.0); - result += mat4(0.013165953, -0.027480505, 0.019355817, -0.22797722, 0.10252238, -0.13104701, 0.043106645, -0.113860615, 0.077017605, 0.16079858, -0.13723075, 0.08403468, 0.07229952, -0.07288171, 0.153157, -0.30485252) * go_1(1.0, -1.0); - result += mat4(-0.18590495, -0.02694476, 0.14553905, 0.135362, 0.033088487, -0.49798432, -0.11869643, 0.15896079, 0.09456545, -0.14991766, -0.15788183, -0.13954063, -0.1400199, 0.47176227, 0.1710854, 0.24664737) * go_1(1.0, 0.0); - result += mat4(0.15082799, -0.1990422, -0.07347236, 0.106623515, -0.054368034, -0.10389193, -0.0711653, -0.022524087, -0.056636613, -0.07881972, 0.09727487, -0.16494693, 0.13156064, 0.176482, 0.11008391, 0.16038191) * go_1(1.0, 1.0); - result += vec4(-0.0891901, 0.05071113, -0.026449949, -0.0051819966); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2967133, -0.18581349, -0.03749059, 0.30880052, -0.11064016, -0.23309472, 0.05572459, 0.04502667, -0.12098995, 0.1875494, 0.17095889, 0.008563628, -0.16092524, 0.03845401, 0.1908294, 0.10556762) * g_0; - result += mat4(0.23697758, 0.11629349, 0.19466121, -0.41413772, -0.20402254, 0.0062864223, -0.13700421, -0.10543815, -0.03498975, 0.02710536, -0.32383642, 0.12299909, -0.06849518, -0.005379719, 0.15714374, -0.15514039) * g_1; - result += mat4(-0.17502604, -0.24644612, -0.13557185, -0.16728596, -0.024457034, -0.28457522, 0.13460088, -0.21639405, 0.057475664, 0.1473123, 0.19220911, -0.12668033, 0.67518485, -0.36505973, -0.16904399, -0.010216019) * g_2; - result += mat4(-0.15164074, 0.2532923, -0.13278177, -0.11557631, -0.23019886, 0.115244605, 0.010407434, 0.044481948, -0.36745974, 0.6252675, -0.7489445, 0.31991, 0.04725299, 0.32507753, 0.3035176, -0.18355042) * g_3; - result += mat4(0.11328097, -0.09094802, -0.03745151, 0.12965176, 0.0051720524, 0.028558291, -0.047848992, 0.23055501, 0.18047509, -0.07151716, 0.05670166, -0.008592144, -0.092078224, -0.013172229, -0.017855234, -0.07338865) * g_4; - result += mat4(0.123723745, -0.06312486, 0.0427355, -0.11981472, 0.028110307, 0.2275076, -0.019800344, -0.10352946, -0.23628815, 0.24896589, -0.07624697, -0.21491022, -0.13148311, 0.27282125, -0.053250857, -0.15992334) * g_5; - result += mat4(-0.23408101, 0.20139061, 0.0035646914, 0.16009186, -0.1912387, -0.0066828816, -0.13681525, -0.22325766, -0.056139376, -0.0638933, 0.0681208, 0.041838214, -0.016192758, 0.19360517, -0.21080317, 0.113634475) * g_6; - result += mat4(0.1369719, 0.18950021, 0.019468868, -0.08180063, -0.31615034, 0.028354429, -0.1489749, -0.096815735, 0.22448029, 0.16501611, -0.11709639, -0.047612794, 0.10514418, -0.07882259, 0.2664075, 0.19011621) * g_7; - result += mat4(0.13804765, 0.01748137, 0.18502045, 0.058146507, -0.5661739, 0.14128609, -0.25875592, -0.6150388, -0.031642724, 0.3204696, -0.021026978, -0.3983191, 0.08609409, 0.0042772954, -0.3754959, -0.19454613) * g_8; - result += mat4(0.09550674, 0.26413566, -0.15292425, -0.13285659, 0.14078279, 0.08191184, 0.066060774, -0.02605145, -0.08946464, 0.11715431, 0.05521046, -0.03218011, -0.31606913, -0.011917866, 0.11926112, 0.145299) * g_9; - result += mat4(0.71071726, -0.8614542, -0.050295915, 0.41341305, -0.38318273, 0.1269644, 0.46467987, -0.15950991, -0.75483114, 0.6358254, -0.19257315, -0.5991311, 0.10807353, 0.083646335, 0.032484207, -0.20280145) * g_10; - result += mat4(-0.21395132, 0.37320906, 0.30284703, 0.054482624, 0.10859697, 0.21301107, -0.09715497, -0.047609363, 0.40013343, -0.22015318, 0.09944949, 0.4283713, 0.1767619, 0.15653327, -0.01787549, 0.22862214) * g_11; - result += vec4(0.06043013, -0.057747327, -0.0260778, 0.034383494); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.122954965, 0.18889557, -0.050585095, -0.09285047, 0.041825704, -0.10147826, -0.0524878, 0.042394586, 0.26654795, -0.052367304, 0.32582784, 0.23248254, -0.18429202, -0.036516707, 0.034441825, 0.13747402) * go_0(-1.0, -1.0); - result += mat4(0.39325443, 0.12691088, -0.14018032, 0.2601387, -0.0128762275, 0.09533191, -0.15545139, -0.064879976, 0.4752176, -0.46358192, -0.048625924, 0.07356933, -0.030162415, -0.09837143, -0.34081137, 0.09620003) * go_0(-1.0, 0.0); - result += mat4(0.11647179, 0.020975508, -0.06064534, -0.1789612, 0.057696175, 0.11116113, -0.015037568, -0.024370348, -0.03656938, -0.2899815, -0.10285936, 0.055147626, 0.19246738, 0.30268162, -0.4149779, -0.0402745) * go_0(-1.0, 1.0); - result += mat4(-0.009147066, -0.17453548, 0.23320405, -0.009745345, 0.080975994, 0.07396582, -0.13413322, 0.17224005, -0.19477916, 0.16737588, 0.5310824, -0.48741058, 0.3713329, -0.061815146, -0.19980642, 0.25318542) * go_0(0.0, -1.0); - result += mat4(0.34857947, 0.09298978, 0.20253287, 1.0750674, 0.074417695, 0.15859176, 0.17113946, 0.3587233, -0.3720992, 0.5499863, -0.3334931, -0.7303378, 0.28977355, -0.40827954, -0.15625797, 0.44504634) * go_0(0.0, 0.0); - result += mat4(0.00963027, -0.103650935, -0.15111534, -0.054710496, 0.068436116, -0.04733752, -0.014022155, -0.06435892, 0.46522453, 0.06746723, -0.13256127, -0.354952, 0.036626723, -0.2881872, -0.20110025, 0.18387023) * go_0(0.0, 1.0); - result += mat4(-0.042692482, -0.08184722, 0.29142103, 0.10918554, 0.022569105, -0.03967552, -0.029662814, 0.16549924, -0.06727612, 0.49291298, 0.12881728, -0.02918886, -0.01579875, -0.12708642, -0.21163678, -0.24313599) * go_0(1.0, -1.0); - result += mat4(-0.044082023, -0.047357306, -0.044077095, 0.20591871, -0.015887344, 0.05115381, -0.19811073, -0.035676513, 0.019275555, 0.4578326, 0.5141636, 0.0702626, 0.13119744, -0.17745942, -0.1892288, -0.062224492) * go_0(1.0, 0.0); - result += mat4(0.06651709, -0.016656881, -0.0052546742, 0.014599082, -0.032204926, 0.09341175, -0.010483702, -0.04786155, 0.23358113, 0.13316281, 0.21748747, 0.04741849, -0.11040673, 0.06230487, 0.16795471, -0.104242735) * go_0(1.0, 1.0); - result += mat4(-0.06844235, -0.01974277, 0.03758873, 0.0437811, -0.057502225, -0.076013766, 0.05226354, 0.16626364, -0.15094693, -0.06513261, -0.07178063, -0.25390542, -0.046331745, 0.048600584, -0.09498597, -0.029823082) * go_1(-1.0, -1.0); - result += mat4(0.055906143, -0.09671702, -0.022703249, -0.074096285, -0.18490121, -0.14549334, 0.42093202, 0.087242134, -0.29526195, 0.31182536, 0.044069793, -0.17393354, -0.17096926, -0.15162584, 0.25237793, 0.047123164) * go_1(-1.0, 0.0); - result += mat4(-0.0007076463, 0.0037513115, -0.044519257, 0.05986656, -0.12090617, 0.17659539, -0.07153321, 0.043799683, -0.050228495, -0.04225425, 0.24785443, 0.19911547, -0.05966556, -0.19790268, 0.20703633, 0.0048266468) * go_1(-1.0, 1.0); - result += mat4(0.21739465, -0.046017647, -0.17681813, 0.21452186, 0.230653, -0.47062522, -0.23921433, 0.39329913, -0.036690675, 0.3303968, -0.47879925, -0.16289225, -0.1494594, 0.27207994, 0.1856394, -0.47609702) * go_1(0.0, -1.0); - result += mat4(0.3214577, -0.023753606, 0.21297608, -0.7130707, 0.050221473, 0.9629573, 0.5004743, 0.10413513, 0.10723351, -0.07022509, 0.23218232, -0.5185978, -0.6921137, 0.0619471, 0.16877905, -0.60311705) * go_1(0.0, 0.0); - result += mat4(0.0079998905, -0.066334635, 0.24110058, 0.06277327, -0.099571265, 0.28088686, 0.089555554, 0.049777288, -0.12143259, 0.19382764, 0.028673613, 0.14329565, -0.10053404, -0.07129261, -0.06196109, -0.54130787) * go_1(0.0, 1.0); - result += mat4(0.0602462, -0.21520244, -0.17295553, 0.01296868, 0.09711833, 0.051904213, -0.20535164, -0.17658444, 0.27075645, 0.0784139, 0.13146368, -1.7129825e-05, -0.06117924, 0.24631894, -0.01026257, 0.0030612787) * go_1(1.0, -1.0); - result += mat4(0.19062799, 0.122910775, 0.09640838, 0.06539721, 0.057701044, -0.20118104, -0.06261069, 0.107874714, 0.0973878, -0.20830666, -0.108459, -0.10059624, -0.08533175, -0.025608283, -0.07584223, -0.26741856) * go_1(1.0, 0.0); - result += mat4(-0.1459836, -0.092159286, 0.05037609, 0.07709965, -0.18563168, -0.017586546, -0.16244653, -0.017426869, -0.20880185, -0.26068223, 0.037480514, 0.056800563, 0.14884543, 0.13592677, -0.1492276, 0.023280073) * go_1(1.0, 1.0); - result += vec4(-0.03207076, 0.045260444, 0.040100798, -0.014172305); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_12 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06499131, -0.18188648, -0.3129073, 0.46508536, 0.12730247, -0.0048228996, -0.29037076, -0.040671512, -0.37960687, -0.014975028, 0.051478356, -0.17510629, 0.24467152, -0.3726265, -0.05205153, 0.29063764) * g_0; - result += mat4(-0.036466975, -0.021365412, 0.19166216, 0.2391551, 0.38419026, 0.16602032, 0.06468244, 0.7733659, 0.004007756, 0.03079535, -0.0030497843, -0.2033753, -0.3095698, 0.40909737, 0.067926906, -0.16948561) * g_1; - result += mat4(-0.07662823, 0.021806711, 0.05107831, 0.09089961, -0.051882017, -0.00308805, -0.08946813, -0.085923605, 0.13135786, -0.040860962, -0.12652986, -0.17011258, -0.23838595, 0.16027555, -0.27720237, 0.3512776) * g_2; - result += mat4(0.054664467, -0.012412156, -0.11934643, -0.20614244, 0.005247195, -0.07548066, 0.1898925, -0.08086777, -0.27888495, 0.08055913, 0.2733805, 0.05444851, 0.22015096, -0.15712278, 0.070828624, -0.12955543) * g_3; - result += mat4(-0.19064794, 0.10234088, -0.07635815, 0.15928909, 0.25309163, -0.0055202493, -0.04807871, 0.1251584, -0.19122045, 0.050241888, 0.020203145, 0.12914757, 0.20982412, -0.042472344, 0.12709813, -0.10014193) * g_4; - result += mat4(-0.025030518, -0.077239156, 0.12003885, -0.07962912, -0.17808792, -0.027223784, 0.13286914, -0.026946044, 0.044607714, -0.045288526, 0.12821364, -0.19116278, 0.053770527, -0.05832497, -0.14832996, -0.08657012) * g_5; - result += mat4(0.17286317, -0.029046731, -0.06853154, -0.080361344, -0.14082976, -0.076902896, 0.08296736, -0.17621617, 0.10048785, -0.01766402, -0.06414528, -0.012933831, 0.13066664, -0.05233094, 0.09176876, 0.0053013414) * g_6; - result += mat4(0.09860572, 0.0578288, 0.05035504, 0.017596964, 0.055266783, -0.084020205, 0.1214565, -0.04180339, -0.16650584, 0.02645373, 0.08516016, 0.123672284, -0.11207144, 0.03805417, 0.017909998, 0.08631275) * g_7; - result += mat4(0.08567236, 0.11860556, -0.2603184, 0.04399533, -0.13169551, -0.14144541, 0.11864987, -0.19813964, -0.14435594, 0.0943669, 0.318387, -0.039731313, -0.05394642, 0.018096905, 0.11445131, -0.07224858) * g_8; - result += mat4(-0.066673055, -0.0079072425, 0.15320915, 0.1241549, -0.03786454, 0.02686796, 0.062339537, 0.0921351, 0.24909046, -0.13677734, -0.08606315, -0.1311618, -0.11268947, 0.017006561, -0.010060483, -0.016905207) * g_9; - result += mat4(0.11682704, -0.06385352, 0.048959445, 0.2103904, -0.24271931, -0.114691064, 0.106675364, -0.16527846, 0.20034032, -0.19069487, 0.13964948, -0.2999216, -0.05324707, 0.03835898, 0.002079623, -0.042824514) * g_10; - result += mat4(0.021089941, 0.058709584, -0.026687654, 0.061108842, 0.13278545, 0.0154480925, -0.1858288, 0.07775379, -0.013820952, 0.04138522, 0.040989578, 0.19044249, -0.05938495, 0.049729984, 0.022488212, 0.13883443) * g_11; - result += mat4(-0.12241166, 0.24528268, -0.5302565, 0.045535725, -0.054705787, -0.038350295, -0.0833044, 0.18413262, -0.16520579, 0.087780885, -0.42400438, 0.30506396, -0.05254002, 0.0068022306, -0.6969388, 1.901328) * g_12; - result += mat4(-0.12879479, -0.13513997, -0.068150125, 0.34132335, 0.08568371, 0.086309135, -0.10726202, 0.053040955, -0.007894386, 0.0694188, 0.13861355, -0.06504751, 0.1669743, -0.06529014, -0.048758753, -0.10337064) * g_13; - result += vec4(-0.022439916, 0.020257013, 0.041364692, 0.0141367195); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_12 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10813235, 0.05466766, -0.20426773, 0.03014769, -0.23742639, -0.18808678, -0.08507936, 0.11070251, -0.24421449, -0.047370236, -0.034263644, -0.36471045, 0.022079159, -0.13425855, -0.43840396, 0.14318791) * g_0; - result += mat4(0.006743051, 0.07216438, 0.14125177, 0.06620228, 0.42031923, 0.2496421, -0.07731219, -0.013831615, 0.15525927, 0.090886295, 0.019504324, -0.048566148, -0.21346657, 0.022109412, 0.26717573, -0.11774596) * g_1; - result += mat4(-0.28528357, -0.17186452, -0.20616518, 0.034786828, -0.10506841, -0.12335915, 0.07619831, -0.23998813, 0.19965814, 0.103892386, 0.04367025, -0.19183081, -0.16918147, -0.056264214, 0.20310691, 0.3341895) * g_2; - result += mat4(0.20581162, 0.02040467, 0.35530564, -0.15494272, -0.010262163, 0.07301455, -0.074129246, 0.17339204, -0.00919498, -0.11473048, 0.042003002, -0.050515488, 0.24150477, 0.14734265, -0.102072336, -0.03404688) * g_3; - result += mat4(-0.022791447, -0.005725081, 0.057149626, 0.013613261, 0.017012713, 0.0022030922, 0.06826359, -0.1473429, -0.055662345, 0.015804563, 0.07033723, 0.0380571, -0.030761583, -0.06867299, -0.0004780991, -0.10686876) * g_4; - result += mat4(0.11448204, 0.08165584, 0.56496936, 0.2275344, 0.050801918, 0.115319155, 0.11518415, 0.05895198, 0.06831797, 0.08119943, 0.34825838, -0.048232127, 0.028284775, -0.03452888, 0.1979006, -0.041894354) * g_5; - result += mat4(0.11946663, 0.03388757, -0.13882776, -0.14631757, -0.07182763, -0.08768853, 0.14146432, 0.10330784, -0.012143934, -0.022009725, -0.15579993, -0.050503176, -0.016312446, -0.054338187, -0.07755307, -0.07889432) * g_6; - result += mat4(-0.02631465, 0.05617023, 0.13298586, 0.045326687, -0.11627329, -0.087329924, -0.05144727, -0.13488398, 0.06281482, 0.054220017, 0.25243595, 0.002556835, -0.03581036, 0.10341262, 0.10574532, 0.15461436) * g_7; - result += mat4(0.07718563, 0.038919166, -0.06910819, -0.059710544, -0.09481636, -0.1109951, 0.5187051, 0.045543563, -0.048131686, 0.072409846, 0.4892963, -0.086976275, -0.07343929, -0.12501429, 0.26566443, 0.08579102) * g_8; - result += mat4(0.005692247, 0.042074066, 0.13430944, 0.10093059, 0.023651319, 0.019474167, -0.13077211, -0.07782639, 0.072300054, 0.011820138, -0.1379879, -0.033925157, 0.012152839, 0.005247593, 0.15555158, -0.10433893) * g_9; - result += mat4(-0.14903626, -0.0649052, 0.103872776, 0.18057188, 0.02891697, 0.13026263, 0.45847327, 0.09324349, -0.039312128, -0.05299939, 0.4332103, -0.25727344, 0.006733611, 0.05955007, 0.24531682, 0.053989712) * g_10; - result += mat4(0.111072116, 0.11529407, -0.26600304, -0.032266896, 0.09633932, 0.0094333775, 0.060893714, -0.08118885, -0.03830528, 0.0037902966, -0.11128639, 0.13511918, 0.06553124, 0.054722965, 0.08178846, 0.06025588) * g_11; - result += mat4(0.095904954, 0.0008960944, 0.35145932, 0.28108585, -0.011538731, -0.09239871, -0.21972048, -0.0820484, 0.112448506, -0.10381135, 0.09701949, 0.023723679, 0.04458077, 0.04700858, -0.056815177, 0.33785793) * g_12; - result += mat4(0.08533725, 0.05978557, -0.40020186, -0.13684823, -0.0074113654, 0.1310689, 0.12906975, 0.11596462, 0.007170312, 0.13460107, 0.08450185, -0.019635776, 0.0966497, 0.021586724, -0.06784809, 0.12102399) * g_13; - result += vec4(-0.032370187, 0.008661155, 0.020123083, 0.04574251); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-3x3x3x16 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!SAVE MAIN -//!WIDTH conv0ups.w 2 * -//!HEIGHT conv0ups.h 2 * -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.03277269, -0.005261106, 0.017171703, 0.0, 0.07399743, 0.06816794, 0.09821277, 0.0, -0.013628815, -0.09454006, -0.2801339, 0.0, -0.020518344, -0.008617738, -0.010507532, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.0728787, -0.05837346, -0.06754399, 0.0, -0.14260155, -0.11570593, -0.156841, 0.0, -0.0050546993, 0.22888114, 0.21504444, 0.0, 9.040898e-05, -0.023274591, -0.013553191, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.051917054, 0.05906303, 0.06952429, 0.0, 0.0525386, 0.088182524, 0.058972485, 0.0, -0.089566976, -0.11995993, -0.060805317, 0.0, -0.0016516607, 0.014582383, 0.0018667864, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.010195044, -0.0016970673, -0.007473783, 0.0, 0.0048292056, 0.00090277405, -0.018349117, 0.0, 0.33494812, 0.21826924, 0.07975424, 0.0, 0.0313906, 0.023605483, 0.019729096, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.04102709, -0.057343815, -0.053828835, 0.0, -0.20089269, -0.14614193, -0.16869506, 0.0, -0.48148197, -0.112935685, 0.15368614, 0.0, 0.013808743, 0.019406663, 0.016180169, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.06643282, -0.06502517, -0.07856252, 0.0, 0.018638078, -0.022319186, -0.0067943106, 0.0, 0.036783714, -0.05270904, -0.0070206574, 0.0, 0.016395729, -0.004902533, 0.008296518, 0.0) * go_0(0.0, 1.0); - result += mat4(0.12068605, 0.15490896, 0.16064006, 0.0, 0.065336704, 0.053270113, 0.041463483, 0.0, -0.070910245, -0.16710983, -0.100286275, 0.0, -0.00765049, 0.002855491, 0.005510328, 0.0) * go_0(1.0, -1.0); - result += mat4(0.020581165, 0.009990014, 0.020439452, 0.0, 0.053358912, 0.019578407, 0.07360501, 0.0, -0.01833616, 0.024298528, 0.09730532, 0.0, 0.007911377, -0.0008312725, 0.0012658008, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.029880082, -0.048992317, -0.06480165, 0.0, 0.057186406, 0.02767247, 0.02632289, 0.0, 0.3017522, 0.107764654, -0.082682736, 0.0, -0.018429814, -0.0037222179, -0.008986925, 0.0) * go_0(1.0, 1.0); - result += mat4(0.05568391, 0.07143306, 0.11425685, 0.0, 0.09023551, 0.07943949, 0.09341015, 0.0, -0.006964977, 0.005051686, -0.0066025057, 0.0, 0.016425984, 0.016140617, 0.017426701, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.05428328, -0.05257552, -0.055414293, 0.0, 0.07355084, 0.02099847, 0.02532324, 0.0, -0.0059588687, 0.0026828237, 0.012020099, 0.0, -0.02094392, -0.008076426, -0.004007557, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.078949526, 0.060797416, 0.06175456, 0.0, 0.038563624, 0.1133258, 0.097543724, 0.0, 0.009481104, 0.010644464, 0.017376821, 0.0, -0.025299812, -0.034176692, -0.024242869, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.097633384, 0.08206449, 0.07688493, 0.0, -0.13658656, -0.07185774, -0.046447344, 0.0, 0.023979248, 0.007561647, 0.013846933, 0.0, -0.05918984, -0.061709706, -0.05624362, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.06739334, -0.08787811, -0.11320143, 0.0, -0.21294294, -0.20553987, -0.212303, 0.0, 0.03569362, 0.005086715, -0.008558981, 0.0, -0.029743299, -0.01592082, -0.023579126, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.06479095, -0.07233743, -0.0707415, 0.0, 0.042067222, 0.020530105, -0.013605897, 0.0, -0.024686582, -0.019044759, -0.028663088, 0.0, -0.02459999, -0.022106387, -0.037910707, 0.0) * go_1(0.0, 1.0); - result += mat4(0.00047730867, 0.0074251383, -0.019326044, 0.0, -0.0079797115, -0.028213829, -0.04960014, 0.0, -0.007960453, 0.006997611, 0.008396939, 0.0, 0.06343004, 0.049828995, 0.03993323, 0.0) * go_1(1.0, -1.0); - result += mat4(0.041342042, 0.04802731, 0.05910926, 0.0, -0.06663181, -0.017722478, -0.063366435, 0.0, -0.0066454113, -0.007623568, -0.0052808253, 0.0, 0.019400312, 0.023122162, 0.014149712, 0.0) * go_1(1.0, 0.0); - result += mat4(-0.02667231, 0.00326689, 0.028842116, 0.0, 0.1206443, 0.059932612, 0.11402581, 0.0, -0.019962605, -0.012744165, -0.0043374747, 0.0, 0.0076787886, -0.0029834688, 0.016930124, 0.0) * go_1(1.0, 1.0); - result += mat4(-0.048204165, -0.040773313, -0.048701975, 0.0, -0.10603768, -0.0444273, -0.05195404, 0.0, 0.0075067757, -0.018593295, -0.021308444, 0.0, -0.03957737, -0.009982081, 0.010517069, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.04416329, 0.0061665634, 0.006213014, 0.0, 0.08318984, 0.10827006, 0.066440694, 0.0, 0.020778455, 0.039835304, 0.043959253, 0.0, 0.21019539, 0.20858723, 0.17247656, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.023037061, -0.040597446, -0.03936031, 0.0, 0.038322993, -0.006460271, 0.008364464, 0.0, 0.0013878595, -0.017040763, -0.008046535, 0.0, 0.04411088, 0.0034189504, -0.00865711, 0.0) * go_2(-1.0, 1.0); - result += mat4(-0.04620107, -0.010026264, -0.018166702, 0.0, -0.13721117, -0.13748127, -0.15809298, 0.0, -0.015785996, -0.005124028, -0.02296112, 0.0, 0.14735141, 0.17641969, 0.18629177, 0.0) * go_2(0.0, -1.0); - result += mat4(0.06815282, 0.12910986, 0.1348522, 0.0, 0.3159465, 0.39939725, 0.35339746, 0.0, -0.003487101, 0.01400649, 0.03802699, 0.0, -0.61086726, -0.60257083, -0.57637924, 0.0) * go_2(0.0, 0.0); - result += mat4(0.051779903, 0.040781803, 0.057703253, 0.0, 0.08762279, 0.058650948, 0.14592434, 0.0, -0.0027639035, 0.019435523, 0.007374421, 0.0, 0.14841707, 0.15387256, 0.18617661, 0.0) * go_2(0.0, 1.0); - result += mat4(0.0061518056, -0.036338966, -0.01811052, 0.0, -0.0409911, -0.10952732, -0.06394289, 0.0, -0.03781909, -0.036061246, -0.017401218, 0.0, 0.036531474, -0.009453272, -0.0205337, 0.0) * go_2(1.0, -1.0); - result += mat4(0.011860616, -0.01409049, -0.0038651319, 0.0, -0.026641136, 0.052935697, 0.024065036, 0.0, -0.00801134, -0.021182325, -0.03668359, 0.0, 0.17521855, 0.1884243, 0.21842308, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.04098353, -0.010698699, -0.042900108, 0.0, -0.3209868, -0.37843677, -0.40212557, 0.0, 0.016307857, 0.010040624, 0.0025999267, 0.0, -0.008670373, 0.0011820213, -0.021262378, 0.0) * go_2(1.0, 1.0); - result += mat4(0.109322615, 0.072824165, 0.111781776, 0.0, 0.056546386, -0.00393398, 0.004904314, 0.0, 0.18162459, 0.1963156, 0.18083604, 0.0, -0.11325025, 0.03739349, -0.034167226, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.16535625, -0.19053574, -0.19740228, 0.0, -0.09285224, -0.18288574, -0.16264571, 0.0, -0.15362014, -0.11303279, 0.023057505, 0.0, -0.019013347, 0.025035419, 0.046823245, 0.0) * go_3(-1.0, 0.0); - result += mat4(0.051271398, 0.06677435, 0.071102865, 0.0, -0.24909541, -0.24379867, -0.26372898, 0.0, -0.051355038, 0.16958164, 0.12556365, 0.0, -0.078110464, -0.09428601, -0.12403035, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.20382409, -0.21728146, -0.25310788, 0.0, 0.0863418, 0.16670556, 0.13722113, 0.0, 0.09728048, -0.05204764, -0.13571848, 0.0, 0.011384012, -0.12616627, -0.121069506, 0.0) * go_3(0.0, -1.0); - result += mat4(0.048272748, 0.056282464, 0.053991128, 0.0, 0.24383838, 0.30037045, 0.2993122, 0.0, -0.10345337, -0.28334868, -0.36417452, 0.0, 0.289455, 0.26967737, 0.30849114, 0.0) * go_3(0.0, 0.0); - result += mat4(0.08048932, 0.10012804, 0.13864101, 0.0, 0.028471693, -0.10722793, -0.110060275, 0.0, -0.09971538, -0.011243501, 0.17263469, 0.0, 0.0536668, 0.08396721, 0.058851402, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.02470257, -0.0099621, 0.0018576515, 0.0, -0.07751234, -0.0431258, -0.03958112, 0.0, 0.07120911, 0.05517916, 0.18740316, 0.0, -0.043790314, -0.0959628, -0.070550814, 0.0) * go_3(1.0, -1.0); - result += mat4(0.10409344, 0.08135716, 0.04320299, 0.0, 0.09303134, 0.073921256, 0.07716563, 0.0, 0.09312593, 0.03623192, 0.06660019, 0.0, -0.12193945, -0.16342056, -0.15565647, 0.0) * go_3(1.0, 0.0); - result += mat4(0.068098865, 0.07742245, 0.04117883, 0.0, -0.07239023, -0.0048315763, -0.0029638975, 0.0, -0.053049978, 0.121163346, 0.048760712, 0.0, -0.033619802, -0.010043663, -0.012648383, 0.0) * go_3(1.0, 1.0); - result += vec4(0.00016753975, -0.00019302216, -0.0001663917, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl deleted file mode 100644 index 1010896..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl +++ /dev/null @@ -1,1646 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.26345107, 0.18636681, 0.068192646, 0.06335259, -0.5026903, -0.39884016, -0.14562744, -0.24653248, -0.44533378, 0.52169526, -0.35453957, 0.25303423, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.22396083, 0.1324318, 0.47152156, -0.3061965, -0.06026671, -0.26795772, 0.0081171375, -0.32897332, -0.16401465, -0.1018444, 0.48241594, -0.09054633, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.25090155, -0.15917313, 0.028407926, -0.24014995, 0.4114972, -0.45535553, 0.08742311, 0.16796699, 0.0995656, -0.4009339, 0.21471445, 0.2708967, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.16269766, 0.16389379, -0.12857921, -0.1602467, -0.16460834, 0.15754342, 0.46217716, 0.20442651, 0.0548621, -0.018400457, 0.38643107, -0.29171357, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.24035631, -0.33344224, -0.3904698, -0.4168555, -0.42237657, 0.36649242, 0.41396108, -0.38945103, -0.5806718, 0.035621256, 0.09171773, -0.54301006, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.15957133, -0.035278857, 0.1318051, 0.6896821, 0.18556473, 0.16378926, 0.32670698, 0.2675555, 0.08802092, 0.41140598, 0.05322177, 0.5030955, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.082798496, 0.24381381, -0.30908522, 0.04553323, 0.25664318, 0.4123797, -0.29377607, 0.15920162, 0.13717672, 0.027625162, 0.25476956, 0.21843456, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.14534818, -0.239681, 0.22961527, 0.3814783, 0.1233398, 0.2449555, 0.015051085, 0.1661234, -0.27740797, -0.29109767, -0.19438179, -0.027439274, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.0011904882, -0.01287622, -0.1573707, -0.13167281, -0.12803882, -0.079415865, -0.04034391, -0.09625339, 0.23190106, -0.26743674, -0.48981485, -0.2063946, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.034235504, 0.039522275, -0.032817896, -0.0031068379); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.17155029, -0.084075995, 0.2281505, 0.38326037, 0.18672232, -0.2562305, 0.30811027, 0.30188802, -0.24588907, 0.088734694, 0.14092724, -0.18793459, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.47514066, 0.51882815, 0.1561294, -0.043147214, -0.19554369, 0.19514531, -0.14636773, 0.11425865, -0.2772368, 0.5388449, 0.54875004, -0.4526634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.11270131, 0.44642356, -0.066219814, 0.15781905, 0.056682296, 0.026522577, 0.05600635, -0.13799536, 0.15637676, -0.15661198, 0.53794587, 0.09693692, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.23679815, 0.16397353, 0.37343305, 0.07477207, -0.36061585, 0.24027273, 0.3222875, 0.05577238, -0.17547923, 0.11737104, 0.10193468, -0.056727592, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.2335428, -0.5571976, 0.13586389, -0.3443148, 0.4537042, -0.59349614, -0.24114902, 0.08669349, 0.2881981, -0.29106617, -0.47775048, 0.22723311, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.006350133, -0.28196353, 0.22710627, 0.30080464, -0.3500525, 0.09254133, -0.48047104, -0.30452347, -0.077637784, -0.11856046, 0.07377078, 0.44280833, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.2200762, 0.3665277, 0.043291833, 0.21484855, 0.15553318, -0.035003938, 0.14891839, -0.29007155, 0.23154758, -0.2348225, 0.48130423, 0.00733271, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.28228128, 0.054867495, 0.08010268, -0.2980908, 0.15146615, -0.058449056, -0.43990552, -0.5963296, 0.09321943, 0.20146254, -0.08043876, 0.017381484, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.076894, 0.16354772, 0.25471574, 0.24382424, -0.15274979, -0.19706573, -0.30667382, 0.523845, 0.023073493, 0.34462887, -0.3384359, 0.18867111, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.014904483, -0.009271063, 0.04884906, 0.0106121525); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.34360278, -0.28731042, -0.017787619, 0.36802426, 0.33655256, -0.24784079, 0.29148427, 0.28857, -0.3111454, 0.0030706236, -0.25914, 0.5528963, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.12459981, -0.17094392, -0.18776429, 0.37819883, 0.1320519, 0.21927781, -0.16188109, 0.050895408, -0.06871313, 0.16754176, 0.29934305, 0.052247107, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.016753385, -0.0935026, -0.3025131, 0.029084548, -0.17713268, 0.23525053, 0.015773006, 0.5464473, 0.49457568, 0.03073306, 0.18685353, 0.28700578, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.135332, 0.07585244, 0.05262212, -0.15484884, -0.13468477, 0.5161883, 0.10347934, -0.37127933, 0.12426171, 0.48973167, 0.19040361, -0.24403319, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.54557467, 0.07250278, 0.37912187, 0.0044768555, -0.47080016, -0.4050018, 0.64416456, -0.58235925, -0.28048036, -0.32962233, -0.28131053, 0.022653949, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.17059836, 0.016603703, 0.34638256, 0.028987328, 0.43271738, -0.15030707, 0.072848, 0.1422675, -0.23391044, -0.12179815, 0.37569857, -0.056668952, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0428437, 0.15237094, -0.26750615, 0.053740855, -0.04772152, -0.13561963, -0.20043467, -0.018060924, 0.29031327, -0.17592178, -0.5016104, -0.36639994, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.39091983, -0.257284, -0.39293087, -0.1182859, -0.46328986, -0.1585645, -0.32158652, 0.41519204, 0.21179573, -0.3613411, -0.032484483, -0.03755994, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.42772895, 0.11436431, -0.115817815, -0.29173127, 0.57807744, -0.21997264, -0.49362126, 0.021626333, 0.1258072, -0.062251803, -0.16541855, 0.061321106, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.017981518, -0.012223751, -0.0033700857, 0.013441364); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1881249, -0.14544061, -0.022969106, 0.088232316, 0.0058642747, -0.049336948, -0.039974928, 0.06410949, -0.09211665, -0.034005307, -0.1095955, 0.10930763, -0.26397142, 0.1384094, 0.017342392, -0.21376696) * go_0(-1.0, -1.0); - result += mat4(-0.14526816, -0.0639951, 0.11742242, -0.006982521, -0.05208895, 0.089485295, -0.19564004, -0.08121572, -0.11621622, 0.15375662, -0.15378582, 0.0596373, 0.14132364, -0.06385903, 0.05449634, -0.047440365) * go_0(-1.0, 0.0); - result += mat4(-0.082622305, -0.23856479, 0.06367865, -0.019509695, 0.094882965, -0.04511791, 0.16706854, 0.20536391, 0.1409632, -0.10635743, 0.038904104, -0.0039008786, 0.16198882, -0.17409256, 0.13213669, 0.08329318) * go_0(-1.0, 1.0); - result += mat4(-0.1186756, 0.2009846, -0.086417995, 0.20491274, -0.13763973, -0.0800847, 0.16069777, 0.10931271, 0.14152408, 0.047218926, 0.041168302, -0.054257084, -0.08315953, -0.1573787, 0.20787828, 0.118524544) * go_0(0.0, -1.0); - result += mat4(-0.19046788, 0.10213364, -0.112078644, -0.16287695, 0.011410189, -0.016858546, -0.09383451, -0.063516155, -0.17561492, -0.15199865, -0.112707786, -0.18099716, 0.19017689, -0.20048961, -0.5382596, -0.24332014) * go_0(0.0, 0.0); - result += mat4(-0.1465597, 0.044423096, 0.04632811, -0.015121401, -0.051081203, -0.09574356, -0.10018257, -0.019390205, -0.1562855, 0.041693382, -0.012624074, 0.057703923, 0.09825134, 0.1544577, 0.1683734, 0.018580355) * go_0(0.0, 1.0); - result += mat4(-0.22240564, -0.051839057, 0.12950379, 0.0048653902, 0.0144696245, -0.10698864, -0.08654499, -0.131132, 0.15429983, 0.025204081, -0.09136411, -0.053068906, -0.005858075, -0.02560129, 0.0469077, 0.018962694) * go_0(1.0, -1.0); - result += mat4(-0.4698737, -0.053354982, 0.27541625, -0.020424731, 0.06935965, 0.008045162, -0.11538889, -0.038876567, -0.049084928, 0.1629101, -0.012742019, 0.12038333, -0.0705842, 0.12735052, 0.17640172, 0.050716672) * go_0(1.0, 0.0); - result += mat4(-0.10064598, 0.016594354, -0.14633141, -0.09175336, -0.12889755, -0.1671076, 0.22031903, 0.0759859, 0.102435045, -0.072596334, -0.17714, 0.03531571, -0.022843607, 0.047148425, 0.105391234, 0.05260699) * go_0(1.0, 1.0); - result += mat4(-0.1057386, 0.020954097, -0.022159133, 0.064248964, -0.031145383, -0.008180922, -0.023611609, 0.05197287, -0.017418958, 0.02461813, 0.0584847, -0.10087345, -0.16315617, 0.15651843, 0.10478647, 0.08347392) * go_1(-1.0, -1.0); - result += mat4(-0.01323452, 0.044956483, -0.007983463, 0.10643116, -0.030048033, -0.11766427, -0.101889476, 0.015120098, 0.031690307, 0.014470776, -0.10197176, -0.10045749, -0.065616645, -0.15230782, -0.26183948, -0.071056716) * go_1(-1.0, 0.0); - result += mat4(0.026220636, -0.044518135, 0.17167594, 0.3016424, 0.12054841, 0.042369425, 0.04208856, 0.14938886, -0.07018442, -0.008244587, 0.14260693, -0.094418734, -0.032693435, 0.042990524, -0.053002246, -0.003936231) * go_1(-1.0, 1.0); - result += mat4(-0.10141095, 0.17178011, -0.10951717, -0.28119737, 0.008288983, 0.14197187, 0.10903869, 0.017220182, 0.041842293, -0.03106527, -0.05892881, 0.02668739, 0.072505936, -0.060759444, 0.00032896115, -0.03440771) * go_1(0.0, -1.0); - result += mat4(0.13831837, -0.13864368, 0.15232176, 0.31198958, 0.033965178, 0.053397447, -0.30352455, -0.17199865, -0.06429645, 0.013913047, 0.10764071, -0.12238359, -0.04544379, 0.17074125, 0.024108075, -0.14521888) * go_1(0.0, 0.0); - result += mat4(-0.11011318, -0.0102100335, -0.37701187, -0.36465186, 0.16052358, -0.06683314, 0.16916892, 0.23348652, -0.17332914, 0.007918098, -0.055450343, 0.12134491, 0.002598775, 0.050541576, 0.16586582, -0.08609246) * go_1(0.0, 1.0); - result += mat4(0.055008903, -0.038048673, 0.12065314, -0.034293417, 0.026340824, 0.0635937, 0.0072025824, 0.1099919, -0.022833373, 0.06988719, 0.098066956, 0.09838032, 0.027212605, -0.10769643, 0.025036965, 0.07822364) * go_1(1.0, -1.0); - result += mat4(0.12550583, -0.015590264, -0.20009072, -0.2595937, -0.040573828, -0.07032441, 0.13428123, 0.0024277875, -0.103335135, -0.08461066, 0.05634581, -0.113169014, 0.05591198, -0.16420694, -0.06915715, -0.19497992) * go_1(1.0, 0.0); - result += mat4(0.088232726, -0.05118527, 0.119473234, 0.23262945, 0.06746001, 0.14686997, -0.25685823, 0.08349066, 0.120035954, 0.11132579, 0.1024914, 0.008478224, -0.054700002, -0.029634893, 0.050064556, -0.08939752) * go_1(1.0, 1.0); - result += mat4(0.022236016, -0.14602192, -0.011037687, 0.09127931, 0.14263593, 0.2303995, -0.07378528, 0.07426219, -0.25500375, 0.18845809, -0.065374866, 0.016772734, 0.02813176, 0.15021992, -0.032982655, 0.0046127643) * go_2(-1.0, -1.0); - result += mat4(0.110158965, 0.02073459, 0.1380525, 0.017634321, -0.3546499, -0.099760525, -0.1195462, 0.057210118, -0.53130746, 0.23352407, -0.18252264, -0.19651698, -0.10013627, -0.006907238, -0.022171183, 0.023419948) * go_2(-1.0, 0.0); - result += mat4(-0.009217382, 0.00943576, 0.005295363, 0.010542551, -0.21079898, -0.14469005, -0.19105618, 0.2098414, 0.18261504, 0.19765937, 0.044775106, -0.25939676, 0.072466746, -0.08828442, 0.066161856, 0.05692894) * go_2(-1.0, 1.0); - result += mat4(-0.051633067, 0.019243274, 0.28932014, -0.029704608, -0.06255436, -0.4573925, -0.10963281, 0.121834375, 0.10874706, -0.093909726, 0.06983889, 0.048236616, -0.15379356, -0.06354611, -0.10668147, -0.02901699) * go_2(0.0, -1.0); - result += mat4(-0.044167574, 0.022249546, -0.3618917, -0.054136246, -0.105739385, -0.22325896, -0.070169605, -0.19650152, 0.07689512, -0.17047665, -0.07742679, 0.031095566, -0.01903123, -0.033752028, -0.2286711, 0.044381924) * go_2(0.0, 0.0); - result += mat4(-0.05709193, 0.15251294, -0.16776492, 0.09025173, 0.18235344, 0.3685535, -0.053927444, 0.10351524, -0.0938133, -0.26824594, -0.036424845, -0.106756285, -0.13051414, -0.07613318, -0.10721611, -0.13445549) * go_2(0.0, 1.0); - result += mat4(-0.0268394, 0.017245602, 0.1185864, 0.031915247, -0.037321728, 0.037805032, 0.13701047, 0.025731707, 0.03791209, -0.16549957, 0.08953334, -0.13901101, -0.1287722, 0.072961085, 0.06859001, 0.18934746) * go_2(1.0, -1.0); - result += mat4(-0.11152981, 0.13712928, -0.05714947, 0.05542204, -0.32208005, -0.015176284, 0.10014709, -0.030125491, -0.04422843, 0.12897238, 0.108573034, -0.025267191, 0.02247499, -0.058167085, -0.15205052, 0.043249656) * go_2(1.0, 0.0); - result += mat4(-0.12951276, -0.14417744, 0.012708804, -0.0040302873, 0.09192804, -0.092346616, -0.09659876, -0.13512622, -0.0737095, 0.002481852, 0.048459593, 0.05455724, -0.14035852, 0.07777282, 0.07471883, 0.107781895) * go_2(1.0, 1.0); - result += mat4(0.028793033, -0.039604917, -0.0045903274, -0.05023892, 0.04976248, -0.026074547, 0.1733191, -0.06694405, -0.12434122, 0.12477937, -0.105804294, 0.06170465, 0.33725888, -0.15944988, 0.09790923, 0.030690596) * go_3(-1.0, -1.0); - result += mat4(0.005191585, 0.08373177, -0.018288689, 0.020527333, -0.055718876, -0.12754384, 0.17755422, 0.1597085, 0.17601304, -0.0258804, 0.16454586, 0.106551126, -0.20891763, -0.05360957, -0.24229631, -0.15886526) * go_3(-1.0, 0.0); - result += mat4(0.03740399, -0.0043318006, -0.010840595, -0.01674406, -0.17876416, 0.09188681, -0.12203759, -0.09808559, 0.1243873, -0.184597, 0.07484877, 0.14448164, -0.15161137, 0.033237204, -0.054772068, -0.085399576) * go_3(-1.0, 1.0); - result += mat4(0.071139924, 0.025827989, 0.021663137, -0.12484576, -0.07799051, 0.20053016, 0.014714873, -0.041652568, 0.046397317, -0.07650734, 0.06753141, 0.080667324, 0.4557549, -0.029605106, -0.25674006, -0.27842438) * go_3(0.0, -1.0); - result += mat4(0.16805562, -0.03722638, 0.021958483, -0.04969856, -0.15340807, -0.22158863, -0.25280216, -0.024268134, 0.085401855, 0.22427009, -0.04698029, -0.071075134, -0.10739174, 0.030285811, 0.31068414, 0.2882289) * go_3(0.0, 0.0); - result += mat4(-0.010069354, -0.045132317, -0.08054911, 0.19212297, -0.11246117, 0.203382, 0.10145021, 0.1476792, -0.022835081, 0.16916804, -0.018178321, 0.076025024, -0.29570428, -0.007177177, -0.1047155, -0.0178633) * go_3(0.0, 1.0); - result += mat4(0.076137505, 0.117270656, -0.077183075, -0.052782975, -0.08236995, 0.053947527, 0.13501388, 0.17139077, -0.2424162, -0.15007298, 0.123724684, 0.09327283, 0.19777925, 0.07314544, -0.18668725, -0.010371631) * go_3(1.0, -1.0); - result += mat4(0.15866037, 0.053233996, -0.026709981, -0.1574147, -0.012303242, 0.06893102, 0.031804018, 0.10116885, -0.016902728, -0.082480945, 0.05133729, -0.20160739, -0.012635841, 0.032104325, 0.00968726, -0.018941477) * go_3(1.0, 0.0); - result += mat4(-0.02683365, 0.14024723, 0.0020279875, 0.035137076, -0.019948762, 0.3120297, -0.018649966, -0.17814124, -0.14863688, -0.12977526, -0.09194036, 0.19637106, 0.12040974, 0.09383599, 0.10559805, -0.0319509) * go_3(1.0, 1.0); - result += mat4(-0.07015076, -0.07818044, 0.12413185, -0.0018199648, -0.015275738, -0.21548629, 0.046161238, -0.10475311, 0.082367115, 0.0053079966, 0.09559984, 0.039583992, -0.1681236, -0.23862287, -0.09229484, -0.12317666) * go_4(-1.0, -1.0); - result += mat4(-0.17587087, -0.097817905, 0.08857801, 0.14012139, -0.20023742, 0.029083535, 0.056073546, -0.06810832, 0.08625035, 0.023427716, 0.1797412, 0.048568305, -0.09278378, -0.09250215, -0.12440772, 0.2587798) * go_4(-1.0, 0.0); - result += mat4(-0.24181388, -0.016290328, -0.026988767, -0.005399553, -0.061761368, -0.0013004051, -0.1990831, -0.07799404, 0.03282008, 0.079514205, -0.07474829, -0.36701006, 0.078521594, -0.156468, 0.09041213, 0.1292482) * go_4(-1.0, 1.0); - result += mat4(-0.21960634, 0.041841425, 0.122728646, 0.06800145, 0.07355482, 0.26123464, -0.13518283, -0.05085496, -0.099832244, 0.04960356, 0.066544525, 0.09741243, -0.10965899, -0.16163626, 0.09816793, -0.014595947) * go_4(0.0, -1.0); - result += mat4(0.07614604, -0.062298786, -0.07941662, -0.22525579, -0.29955792, 0.11145522, 0.123146005, 0.13863817, 0.15309983, 0.025902487, -0.08610474, -0.07598799, -0.26134565, -0.2818921, 0.0046356185, 0.007307074) * go_4(0.0, 0.0); - result += mat4(-0.15936229, -0.10145381, 0.058567517, 0.21258314, -0.18010478, -0.22477242, -0.039975245, -0.34447697, -0.21647838, 0.31467855, -0.0674453, -0.5146147, 0.05382176, -0.026282668, -0.24090777, 0.10222359) * go_4(0.0, 1.0); - result += mat4(-0.1045028, -0.027515164, 0.013251722, 0.108239084, 0.03163253, -0.030052185, 0.10836872, 0.15349132, 0.09593661, 0.0062710177, -0.19837233, -0.098303355, -0.23947543, -0.04082913, 0.16908304, -0.031784274) * go_4(1.0, -1.0); - result += mat4(-0.07773699, 0.30408737, 0.10054892, 0.36721498, 0.51369953, -0.11931886, -0.17019019, -0.3288588, 0.11095048, -0.29225063, -0.075574756, -0.18392691, -0.10289336, 0.06882282, 0.20403436, 0.12073833) * go_4(1.0, 0.0); - result += mat4(0.024539007, 0.053005982, -0.099204265, -0.084534295, -0.2587164, -0.31929657, 0.07193254, 0.18271501, -0.043669797, 0.062497724, -0.055462, 0.057130013, -0.015285072, -0.030743862, -0.07051513, -0.13783172) * go_4(1.0, 1.0); - result += mat4(-0.4343681, 0.35928357, -0.004770178, -0.079942055, 0.014088603, -0.20866469, -0.1378781, -0.06831558, 0.21436058, -0.08427488, 0.2455502, -0.065596916, -0.06559933, -0.027101375, 0.023555819, -0.20939256) * go_5(-1.0, -1.0); - result += mat4(-0.37720296, -0.111260146, -0.25392932, -0.33377793, -0.17806955, -0.008747484, 0.17404033, 0.058826912, 0.0039355545, -0.18436235, 0.15803719, 0.15143508, 0.11155828, 0.09333553, -0.17960371, -0.036842924) * go_5(-1.0, 0.0); - result += mat4(-0.087490946, 0.0959697, -0.08301798, -0.19364063, -0.00996324, 0.014655412, 0.021732382, 0.07269497, 0.012744119, 0.01542146, 0.109438084, 0.18674947, -0.05728511, 0.017406877, 0.036412247, -0.044986803) * go_5(-1.0, 1.0); - result += mat4(0.30902067, 0.25019556, -0.079495244, -0.26099077, 0.08450634, -0.08346094, 0.004498276, -0.119334444, -0.08587327, -0.019446453, -0.1811446, -0.16136086, 0.006683898, 0.0005228834, -0.11937812, -0.2045503) * go_5(0.0, -1.0); - result += mat4(0.19326456, -0.052496854, 0.12926556, 0.10167019, 0.090374604, 0.07595169, -0.0048561483, 0.12414255, 0.19320521, -0.027459998, 0.08993327, -0.035830285, 0.006461366, 0.023297347, 0.0691706, -0.00831113) * go_5(0.0, 0.0); - result += mat4(0.13971736, 0.0788502, 0.12267767, 0.004433991, -0.053574555, -0.08087108, -0.26019198, -0.04175351, -0.13934188, 0.04144695, -0.070562504, -0.068388134, -0.1347503, -0.02173245, -0.1099242, -0.020897312) * go_5(0.0, 1.0); - result += mat4(0.07843604, 0.04441641, -0.016214373, -0.15351163, -0.021339556, 0.023823377, -0.01442564, -0.09113205, -0.02552644, 0.14885889, -0.16178642, 0.14472331, 0.14082494, 0.05760455, -0.11503234, -0.16907685) * go_5(1.0, -1.0); - result += mat4(-0.042953692, -0.3268466, 0.13181087, -0.06399399, 0.17543526, 0.111214496, 0.07369484, -0.003378238, 0.040965978, -0.0073295045, 0.07711077, -0.033094298, -0.08758825, -0.01715938, 0.056862406, -0.010732023) * go_5(1.0, 0.0); - result += mat4(-0.039256442, -0.07153648, 0.10314899, -0.1192048, -0.033410206, 0.13077301, 0.19343375, -0.07479033, 0.10759806, -0.037313893, 0.06156247, 0.021744521, -0.18148352, -0.15683053, 0.017884498, -0.11338723) * go_5(1.0, 1.0); - result += vec4(-0.077597156, 0.024995416, 0.0048880246, -0.06210122); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10368956, 0.09174666, 0.07265347, 0.009965846, 0.04307676, 0.018726716, 0.064217605, -0.024381645, 0.013237381, 0.039251406, 0.13164084, -0.05265028, -0.08619517, 0.015469731, 0.10171868, -0.11194108) * go_0(-1.0, -1.0); - result += mat4(-0.055484463, 0.1386706, -0.22939423, -0.2222723, 0.04815343, 0.05425625, 0.08234074, 0.12962975, 0.030559294, -0.07823733, 0.12347866, -0.13917705, -0.031347297, 0.010592373, -0.38942683, -0.302033) * go_0(-1.0, 0.0); - result += mat4(0.06968848, -0.03574659, 0.11817242, 0.044270225, 0.0481696, 0.045347195, -0.14479072, 0.06971279, 0.012434736, 0.03927546, 0.13076504, 0.032268204, 0.040274065, 0.053418823, -0.05195065, 0.1341056) * go_0(-1.0, 1.0); - result += mat4(0.1314648, 0.08953099, -0.058160458, -0.098807305, -0.08652445, -0.19136623, -0.012327089, 0.14297265, 0.11436408, 0.031837817, -0.0038611747, 0.08295747, 0.19534546, -0.033664998, -0.51042134, -0.21606028) * go_0(0.0, -1.0); - result += mat4(-0.332711, -0.2260786, 0.35732532, 0.026584813, 0.16421017, 0.21153966, -0.112725854, -0.048803244, 0.059562314, -0.010458478, 0.0063304375, -0.007279937, -0.41918445, 0.10137393, -0.0989079, -0.17768846) * go_0(0.0, 0.0); - result += mat4(-0.22947264, 0.008074958, -0.03876367, 0.28019628, -0.18640186, 0.072562195, -0.001338717, 0.17349707, 0.13131878, 0.05085823, -0.11547487, -0.084437385, -0.18131672, 0.026830718, 0.0960529, -0.014084568) * go_0(0.0, 1.0); - result += mat4(0.13153158, 0.079937235, -0.14291838, -0.062477887, -0.0690248, 0.15090927, 0.060723048, -0.044703092, 0.005483621, -0.113471694, 0.048640195, -0.024538955, -0.01751092, 0.19206041, -0.1859277, -0.22007878) * go_0(1.0, -1.0); - result += mat4(-0.04971548, -0.38541326, -0.080354154, -0.1132633, -0.13348146, 0.11406493, 0.05543971, 0.022810424, -0.09030199, -0.053045455, -0.084034644, 0.0014670533, 0.0007018557, -0.24078067, 0.047226585, 0.08619653) * go_0(1.0, 0.0); - result += mat4(-0.08993396, -0.09246378, 0.11467184, 0.060891952, -0.022887891, -0.008537377, 0.13542707, 0.08030356, -0.06174077, -0.07314582, -0.111782126, -0.08939319, -0.09756803, -0.15771574, 0.073002145, 0.035939205) * go_0(1.0, 1.0); - result += mat4(-0.09398606, -0.118093155, 0.024832802, 0.049131367, 0.06665196, -0.039545495, -0.107865654, -0.043897964, -0.03278348, -0.111089505, 0.12056342, -0.10977613, -0.05880801, -0.08684503, -0.15480064, -0.09669209) * go_1(-1.0, -1.0); - result += mat4(-0.12028866, -0.0130571015, 0.010480521, 0.28919983, 0.050575808, -0.07968808, -0.15499628, -0.13613448, 0.030993043, 0.13226634, -0.12666325, -0.010337325, -0.025353834, 0.017561335, -0.08171704, -0.17280379) * go_1(-1.0, 0.0); - result += mat4(-0.0008190666, 0.017923795, -0.13926646, -0.00083633314, -0.14120303, 0.109396234, 0.026602108, 0.2108425, 0.15093753, -0.0016773659, 0.028220268, 0.09914804, -0.045055833, 0.040082425, 0.007756443, -0.04522211) * go_1(-1.0, 1.0); - result += mat4(0.059589684, 0.04780217, 0.30785602, 0.25626636, 0.08686253, 0.11348654, 0.042249523, -0.2264382, -0.058502045, 0.05044742, 0.0031711252, -0.021721566, -0.011926813, 0.042892855, -0.08586602, -0.029168598) * go_1(0.0, -1.0); - result += mat4(0.09367661, -0.019030625, -0.34638473, -0.10968469, -0.16300671, 0.21311292, 0.11657136, -0.044009518, 0.10225506, -0.044505168, 0.20920436, -0.018161744, -0.018144146, 0.026626088, -0.056913715, 0.15370414) * go_1(0.0, 0.0); - result += mat4(-0.28757727, 0.14743091, -0.021321807, -0.048045393, -0.109708, -0.14760888, 0.15246773, -0.028329216, 0.009206364, -0.06396112, 0.12593451, 0.052947026, 0.066429235, -0.08044728, 0.0070432564, -0.057647638) * go_1(0.0, 1.0); - result += mat4(-0.023919886, -0.20876022, 0.05590491, 0.12671952, -0.07277091, 0.024939056, 0.03633482, -0.10239475, -0.12012349, -0.17192347, 0.014865882, 0.1858935, -0.013352806, -0.04451544, 0.0032296637, 0.09310079) * go_1(1.0, -1.0); - result += mat4(-0.29340369, 0.1377685, -0.018134177, -0.0819466, 0.2541578, -0.1270915, -0.12300359, 0.114513785, 0.21511158, -0.060876742, 0.07682154, 0.09775888, -0.09133818, 0.04477866, 0.058042303, -0.027626123) * go_1(1.0, 0.0); - result += mat4(-0.098641984, -0.09568759, 0.27307647, 0.044102278, -0.03640084, -0.10440432, -0.011212675, -0.22568303, -0.008232321, 0.14870772, -0.17107275, -0.023316732, 0.03395947, 0.14223643, -0.08063479, 0.14301774) * go_1(1.0, 1.0); - result += mat4(-0.08714423, -0.12230681, -0.22175795, -0.10298021, 0.0009175108, 0.19820437, 0.04215484, 0.2772454, 0.046766162, 0.023245906, 0.36313313, -0.29657102, 0.0010776661, 0.047935788, 0.113361314, -0.05614472) * go_2(-1.0, -1.0); - result += mat4(0.15069975, 0.06458973, 0.08984772, -0.08219822, -0.37328726, -0.03008995, 0.31162828, 0.07075847, -0.13914284, -0.10216768, 0.22251949, -0.30631062, 0.17172062, 0.058428258, -0.11345689, 0.08461611) * go_2(-1.0, 0.0); - result += mat4(0.007734305, 0.042484675, -0.15685312, -0.048171967, 0.10970874, 0.061090663, -0.08464978, 0.08347133, -0.17933917, 0.2308347, -0.053314723, 0.09323812, -0.04228206, 0.055042125, -0.046495847, -0.032692812) * go_2(-1.0, 1.0); - result += mat4(-0.09439761, 0.03567186, -0.17220385, -0.103939146, -0.064900115, -0.16004047, 0.004621011, -0.014501001, -0.14071538, -0.05238438, -0.04519603, 0.21972013, -0.007383857, -0.07692677, -0.14034486, 0.08030412) * go_2(0.0, -1.0); - result += mat4(-0.22748968, 0.12067121, -0.05225513, 0.04308743, -0.081648685, 0.28658885, 0.37694585, -0.018508147, -0.019247225, 0.095557846, 0.015747357, 0.12365868, -0.076417744, -0.03912286, 0.18391648, -0.09244896) * go_2(0.0, 0.0); - result += mat4(-0.00221828, -0.0894836, 0.038467363, -0.019945016, 0.13546647, 0.17713489, -0.17275713, 0.08575425, -0.019129591, 0.16340882, -0.16357088, -0.0033604207, -0.06446814, -0.15712759, 0.18558913, -0.115558594) * go_2(0.0, 1.0); - result += mat4(-0.09995351, 0.18885328, -0.057601925, 0.01172547, -0.031203317, -0.1181948, 0.006120215, 0.25098777, -0.06316651, 0.047607217, -0.056073133, -0.029685916, 0.12195799, -0.056664392, -0.054523658, 0.03753435) * go_2(1.0, -1.0); - result += mat4(0.007936505, -0.021070726, 0.040594626, 0.061293513, -0.074233375, 0.10112329, -0.19424592, -0.14433385, -0.04661142, -0.09192385, 0.034151867, -0.11941847, 0.046759605, -0.15323174, 0.09908571, 0.18290807) * go_2(1.0, 0.0); - result += mat4(-0.012291647, 0.114136524, 0.10576901, -0.012061901, 0.2356885, 0.048024837, 0.18102467, -0.034004245, -0.06746709, 0.09405117, 0.12362687, 0.0254422, 0.22654915, 0.04224264, -0.049588405, 0.11478716) * go_2(1.0, 1.0); - result += mat4(-0.021690933, 0.13663062, -0.161411, 0.06806553, -0.1773275, -0.0940566, -0.18002738, 0.047475196, 0.0072157113, -0.008688586, -0.15493456, 0.022294179, 0.041401867, -0.10311516, -0.006603416, 0.059536614) * go_3(-1.0, -1.0); - result += mat4(-0.13541889, 0.047185, -0.027699882, 0.060225613, -0.035152074, 0.05752177, -0.026204573, 0.11251955, -0.0049166707, 0.17533402, -0.15755837, 0.16124752, 0.04805776, -0.10309488, 0.15945134, 0.025226792) * go_3(-1.0, 0.0); - result += mat4(-0.015074193, -0.094979845, 0.027753184, -0.071142055, -0.17082961, -0.06833402, 0.13620014, -0.24564765, 0.036582932, 0.13075556, 0.036705326, 0.03863992, -0.018921472, -0.0016482361, 0.13597268, -0.038188133) * go_3(-1.0, 1.0); - result += mat4(-0.14212462, -0.1483275, 0.05649678, 0.05684924, -0.11407954, 0.13978885, 0.070467845, -0.07458527, -0.19702937, 0.23950967, -0.15242746, -0.26435548, -0.14437793, 0.21487178, 0.4991241, 0.18331984) * go_3(0.0, -1.0); - result += mat4(0.20045248, 0.066468574, -0.015601024, 0.012849705, -0.14952832, -0.06828453, 0.16009094, -0.09515789, -0.1071139, -0.021629127, -0.012993768, -0.022518635, 0.19255438, -0.09875012, 0.07555782, 0.0780372) * go_3(0.0, 0.0); - result += mat4(-0.028311213, -0.025465565, 0.020059558, -0.116105095, -0.042490575, 0.020179577, 0.010893176, -0.11184776, -0.1702318, -0.025035636, 0.008381181, 0.0586714, 0.03539251, -0.0448198, -0.056921933, -0.029987138) * go_3(0.0, 1.0); - result += mat4(0.049813945, 0.08434948, 0.09337763, 0.06701621, -0.061224304, -0.24754077, -0.017353527, -0.042758185, 0.013161995, -0.22947139, 0.019135898, 0.11039477, 0.16954716, -0.25619635, 0.18368678, 0.03542052) * go_3(1.0, -1.0); - result += mat4(-0.15430786, 0.07348774, 0.15545642, 0.20969617, 0.1067826, 0.15255202, 0.020220853, 0.09658389, -0.088782035, -0.19119574, 0.13885954, 0.15108526, -0.07552868, -0.11574438, -0.034102093, -0.031383175) * go_3(1.0, 0.0); - result += mat4(0.061409608, -0.00082869077, -0.08336049, -0.01866603, 0.07322213, -0.1152386, -0.004205211, -0.18793713, 0.091782115, 0.05387527, 0.069104694, 0.25387684, -0.101916246, 0.065856785, -0.020407397, 0.035098225) * go_3(1.0, 1.0); - result += mat4(0.06225989, -0.039721318, 0.19908188, 0.08382035, -0.024357362, 0.014932128, -0.060558856, -0.049815435, -0.03166011, 0.0339055, -0.12810327, 0.008812703, 0.06120202, 0.085533425, 0.21571258, -0.20605975) * go_4(-1.0, -1.0); - result += mat4(-0.045329664, 0.02261115, -0.0335033, -0.058562186, -0.0099387, 0.0046313554, 0.21475597, 0.04558062, 0.17891279, 0.005057579, 0.22518916, 0.1998231, 0.09627137, -0.2318303, -0.08868813, -0.27863982) * go_4(-1.0, 0.0); - result += mat4(-0.15865076, 0.077262044, 0.036153752, 0.07885703, 0.13166751, -0.12820594, -0.05823962, -0.2583444, -0.2245552, -0.04434666, -0.13453422, -0.27865237, 0.014107271, 0.045582164, 0.0064884513, -0.019007552) * go_4(-1.0, 1.0); - result += mat4(0.0643133, 0.06440001, -0.14517003, -0.101694606, 0.058990445, 0.11955667, 0.45094532, 0.20261864, 0.07944409, -0.061399437, 0.022036074, 0.046660237, -0.17064287, -0.076766625, 0.25972953, 0.29821205) * go_4(0.0, -1.0); - result += mat4(-0.11031386, -0.05850727, 0.055557184, 0.11549242, 0.12120408, -0.33330265, 0.095613986, 0.09242419, -0.011835885, -0.19384164, -0.01893125, 0.27290896, -0.18104021, 0.044360142, 0.06759539, -0.0027218745) * go_4(0.0, 0.0); - result += mat4(0.19390257, -0.13378039, 0.07428329, 0.016053686, -0.18574655, 0.055462763, -0.2527128, -0.47279125, -0.17490762, 0.21626428, -0.1473371, -0.35594228, 0.054865763, -0.04086486, -0.061911695, 0.051812805) * go_4(0.0, 1.0); - result += mat4(-0.029701848, 0.24927482, 0.00581731, -0.10748679, -0.07500632, 0.033424605, 0.14734372, -0.18966366, 0.031880617, 0.17622112, -0.031867832, -0.10119831, -0.15391265, -0.14308685, 0.093484215, 0.18867014) * go_4(1.0, -1.0); - result += mat4(0.19035357, -0.19525306, -0.025621792, 0.09154427, -0.07798503, -0.22271548, 0.11034287, -0.04197031, -0.24772005, 0.43681505, -0.19703668, -0.2614237, 0.05807699, -0.2631317, -0.020604266, -0.048005704) * go_4(1.0, 0.0); - result += mat4(-0.08587588, 0.13374045, -0.09263761, -0.13216262, -0.11242246, -0.12541875, -0.09835177, 0.1586739, -0.21013282, 0.087373346, 0.107112356, 0.47657737, 0.0459955, -0.07181196, 0.07818155, -0.10435423) * go_4(1.0, 1.0); - result += mat4(-0.091803394, -0.32280564, 0.28972253, 0.12908047, 0.06683764, -0.039376236, 0.024078066, 0.18940936, -0.055246543, 0.12222864, -0.0177199, 0.09346665, 0.07164098, 0.065791056, -0.08516637, -0.10187257) * go_5(-1.0, -1.0); - result += mat4(-0.12561126, -0.28730518, 0.190799, -0.17922764, 0.04376582, -0.08152354, -0.0690038, -0.10861494, -0.03100546, 0.10962334, -0.20492296, 0.12868984, 0.06536495, 0.08559974, 0.033028, -0.07235402) * go_5(-1.0, 0.0); - result += mat4(-0.012734173, -0.12211726, 0.057524282, 0.015053666, -0.052275516, 0.11774483, 0.08221696, -0.024205929, 0.122006595, 0.054565493, -0.049608365, 0.02801238, 0.07593017, 0.074450806, 0.097137615, -0.008985974) * go_5(-1.0, 1.0); - result += mat4(-0.32826158, -0.022971062, 0.37642807, 0.38614145, -0.06932448, 0.0641898, -0.09011684, -0.019884817, -0.004897904, 0.07661578, -0.050405186, -0.24849766, 0.04642452, 0.09120379, 0.26060387, -0.2533109) * go_5(0.0, -1.0); - result += mat4(0.09669597, -0.045555357, -0.24132517, -0.28401875, 0.11226361, 0.08378312, -0.07415474, -0.036874313, -0.001286788, 0.14013582, 0.14750466, -0.048925027, 0.13374946, 0.10844033, 0.123459235, -0.10933974) * go_5(0.0, 0.0); - result += mat4(-0.03275827, 0.27429518, -0.0983686, -0.010947437, -0.18409865, 0.12616666, -0.05766888, 0.07149005, -0.13777009, 0.022123039, 0.084938325, 0.015972659, 0.20145003, -0.09534558, -0.0082679195, -0.1515079) * go_5(0.0, 1.0); - result += mat4(0.13148536, -0.3421452, 0.08851102, 0.012056574, -0.1525749, 0.09364548, -0.02235517, -0.1775178, 0.18052714, -0.14639667, 0.07453223, 0.03912742, -0.284782, 0.023833552, 0.09671063, -0.168578) * go_5(1.0, -1.0); - result += mat4(-0.24303597, -0.05585747, -0.21645154, -0.084838174, -0.15413773, -0.15403214, -0.021544017, 0.15751824, -0.027032627, -0.18457665, -0.02174098, -0.0070916233, -0.1609649, -0.32226282, -0.18423033, -0.29629233) * go_5(1.0, 0.0); - result += mat4(0.1602529, 0.026087781, 0.01551678, 0.07093837, -0.007075046, -0.0061597642, -0.0057887356, -0.08935906, 0.0028665168, -0.1038671, -0.093715765, -0.035213456, -0.041290607, -0.15825188, 0.11327359, -0.20286629) * go_5(1.0, 1.0); - result += vec4(-0.062293675, 0.09216847, 0.010529031, 0.03100192); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.02357968, 0.13800439, 0.054744735, -0.32328397, -0.2263118, -0.3222542, -0.15286992, -0.3053175, -0.20046607, 0.025345843, 0.032755207, 0.40165102, 0.03166696, 0.29110438, 0.28861988, 0.05585125) * g_0; - result += mat4(0.11055126, -0.33034575, 0.039494887, -0.17843343, 0.35742196, 0.00032650787, 0.21049741, 0.18823248, -0.1741954, 0.27586365, -0.043366615, 0.02092058, -0.082515135, -0.15504313, 0.13261497, 0.14650741) * g_1; - result += mat4(0.39276633, -0.031067554, -0.08830738, -0.23975314, -0.20294978, 0.030291535, 0.4623106, 0.06494191, 0.042467684, -0.28105733, -0.053258326, -0.17269841, 0.09479501, 0.11930515, 0.1258843, 0.11058792) * g_2; - result += mat4(-0.18343425, -0.4381688, -0.08248827, -0.42846557, -0.08277779, 0.45192116, 0.21961756, 0.23076119, -0.2093829, -0.29050866, 0.26212537, -0.25469857, -0.4832557, -0.45126852, -0.35072148, -0.18368497) * g_3; - result += mat4(0.10529696, 0.5964488, 0.13258573, -0.07494986, -0.3341919, 0.19418421, -0.18307082, 0.34982273, -0.0430461, 0.21097268, 0.03212202, -0.015623122, 0.43791813, 0.16207397, 0.123477034, -0.087993294) * g_4; - result += mat4(-0.01878982, 0.007308694, 0.25769314, 0.18407181, 0.00095180905, -0.2600526, -0.31043288, -0.24622385, 0.07832029, 0.05502411, 0.37793204, -0.07329948, -0.28405467, -0.15038961, 0.19259417, 0.105486296) * g_5; - result += mat4(0.047820415, 0.3303589, 0.035807017, -0.41168606, -0.2118325, -0.045765184, -0.15234827, 0.28021428, -0.2084036, -0.40200952, -0.3261011, -0.13480914, -0.06876906, -0.19167677, -0.20444186, -0.44851676) * g_6; - result += mat4(-0.24726203, -0.0097923195, -0.23193192, 0.31947026, 0.4274281, -0.36929542, 0.10095328, -0.19663717, 0.3244895, 0.49458218, 0.24745567, 0.15722558, 0.43052208, 0.377559, 0.22543637, 0.13009055) * g_7; - result += mat4(0.01817998, 0.111477636, -0.12727399, 0.27395004, 0.19770023, -0.1636959, 0.25407487, -0.24871433, -0.08552937, 0.3223687, 0.30668882, 0.40221208, -0.20192504, 0.14656074, 0.5100356, -0.0948956) * g_8; - result += mat4(0.40383592, -0.043663148, 0.4813348, 0.10317451, -0.049076255, -0.022925228, 0.0872564, 0.21741754, 0.23656987, -0.22309794, -0.2260013, 0.20823886, -0.055542476, 0.016604664, -0.1964831, 0.11962174) * g_9; - result += vec4(-0.049604952, -0.039514415, -0.06137416, -0.0015509313); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.029635962, 0.08045753, 0.03622311, 0.06677362, 0.14780864, -0.087087184, 0.22309896, -0.1772139, -0.08716722, 0.1075154, 0.044472143, 0.021324798, 0.10346262, -0.24718447, -0.2489118, 0.4517737) * g_0; - result += mat4(0.20637918, -0.11695054, 0.27656725, 0.009858572, -0.62555677, 0.12796827, -0.057749186, -0.02636826, 0.11764726, -0.034879886, -0.062285252, -0.048256125, 0.37146622, -0.17392562, 0.24782267, 0.3184173) * g_1; - result += mat4(0.2624149, 0.007052751, 0.1595428, 0.26269603, -0.33775207, -0.66331345, 0.18036188, -0.25012106, -0.15003558, 0.12337829, -0.3230818, 0.06187628, 0.096601635, 0.24300486, -0.13784438, 0.27110842) * g_2; - result += mat4(-0.180413, 0.039972585, 0.48966697, -0.4130023, -0.03654654, -0.27514896, -0.025462124, 0.06652415, 0.28900522, 0.035381883, 0.20655172, 0.0073647103, -0.5028713, -0.0061578755, -0.09185675, -0.52771837) * g_3; - result += mat4(-0.3205473, -0.23172325, -0.20749244, 0.058195353, 0.20280065, -0.106998004, 0.08968707, 0.10981961, -0.13291806, 0.0028465164, 0.11793527, 0.11942547, 0.100123264, -0.14852245, -0.032194547, -0.118260525) * g_4; - result += mat4(0.004620961, -0.13271236, 0.110130526, -0.075169735, 0.35998157, -0.046072174, 0.02044828, -0.1019322, -0.038753018, -0.12328749, -0.28227237, 0.18373057, -0.23704045, 0.20384738, 0.097455874, -0.23102747) * g_5; - result += mat4(0.30397, -0.007688397, -0.2519374, -0.14401323, -0.031671453, 0.10171321, -0.18295656, -0.029794114, 0.19171898, 0.23662621, 0.09319509, -0.3479054, 0.036986895, 0.13572362, 0.1142681, -0.17851138) * g_6; - result += mat4(-0.19525734, 0.36855492, 0.05751295, -0.12524441, 0.06309533, 0.20228319, -0.07533531, 0.26733333, -0.21407285, -0.2900094, -0.28743416, 0.18039729, -0.27968687, -0.23786859, -0.21049118, -0.006130187) * g_7; - result += mat4(0.34406897, -0.14967814, 0.56049985, -0.18166065, -0.061995413, 0.117799215, 0.3054206, 0.4034068, -0.2116504, -0.6017806, 0.004660423, 0.051566444, 0.4380975, -0.3172436, -0.09930328, -0.16182126) * g_8; - result += mat4(-0.09316841, 0.036305115, -0.30209473, 0.098138526, -0.012532953, -0.050068337, -0.22571203, -0.30636647, -0.124337815, 0.07323685, -0.15504828, 0.19263308, -0.017216058, 0.34484297, -0.1460544, -0.24951003) * g_9; - result += vec4(0.10388342, 0.00828351, 0.14884935, 0.034392886); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.15275823, 0.31693572, 0.03429309, -0.06982273, 0.08535909, 0.019838037, -0.03189405, 0.3190016, 0.16633914, 0.48730284, -0.27923077, 0.31791112, 0.43154097, 0.005003616, -0.26277873, -0.009333685) * g_0; - result += mat4(0.23504019, -0.12419379, 0.07217815, -0.090434305, -0.0380588, -0.14686479, -0.33812302, -0.20242776, -0.20776805, 0.24741934, -0.16489775, 0.07052134, -0.08030772, 0.23784883, -0.28709608, -0.17689173) * g_1; - result += mat4(-0.05109775, -0.40860242, -0.003464472, -0.19893257, 0.23186824, -0.12760048, -0.22718583, 0.02299852, 0.27083093, 0.073904194, -0.056870755, -0.35324985, -0.023004858, -0.29591596, -0.020298446, -0.05753052) * g_2; - result += mat4(0.0035456547, -0.37682405, 0.047876693, 0.1168026, 0.015805494, -0.04388269, 0.12970346, 0.2497829, -0.009891778, 0.116980106, 0.13058232, 0.22570355, 0.13866597, 0.036246244, 0.10916998, -0.040503114) * g_3; - result += mat4(-0.25300103, -0.065156855, 0.063345924, 0.11406543, -0.1902478, 0.16440767, 0.043949526, 0.43318078, -0.03932035, -0.08510957, 0.19621156, -0.045045726, -0.08339006, -0.04335483, 0.37129655, -0.22328225) * g_4; - result += mat4(0.16169593, 0.2758587, 0.38249364, 0.12606645, 0.4582731, 0.09374545, -0.10988087, -0.21678255, -0.004099455, -0.09436347, 0.33964127, 0.20880581, -0.06742301, -0.025149476, 0.12146305, 0.5012377) * g_5; - result += mat4(0.11523535, 0.31662583, -0.0709322, -0.066175185, 0.08868106, -0.042457394, 0.32469732, -0.1987238, 0.41399983, 0.015568244, 0.14037918, 0.2879998, -0.32157704, 0.22491854, -0.07769691, 0.2052648) * g_6; - result += mat4(-0.299831, -0.247278, -0.2011737, -0.3759366, -0.14935663, -0.095033385, 0.06259881, -0.23891686, -0.4340098, 0.07340212, -0.0012697511, -0.16527005, 0.0814454, -0.43962866, -0.3040046, 0.06242604) * g_7; - result += mat4(0.11802704, 0.2323739, 0.13466287, -0.25053164, -0.08020803, 0.1628004, -0.030645542, -0.40872335, -0.24624921, 0.15931502, 0.40752286, -0.07906199, 0.4286516, -0.1651973, -0.07021073, 0.0867332) * g_8; - result += mat4(-0.23617363, 0.053548977, -0.14130518, -0.37744048, -0.11805406, -0.13757266, -0.026939899, 0.028020354, 0.24626125, -0.06998214, -0.02793638, 0.10509643, 0.06577935, -0.17211749, -0.12747282, -0.16999653) * g_9; - result += vec4(-0.022106458, -0.012578552, 0.016203664, 0.026009269); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.001049049, 0.017747996, -0.067229465, -0.020442853, -0.04868684, 0.09733606, -0.07313501, 0.02070675, 0.01012683, -0.034293324, -0.026002094, 0.008298949, -0.045532364, -0.069049254, 0.109774776, -0.092840426) * go_0(-1.0, -1.0); - result += mat4(0.3071666, 0.108723, -0.018787129, 0.17321438, -0.07934712, 0.11855833, -0.032467257, -0.048425578, -0.091413595, -0.08235019, -0.050003942, -0.007800964, -0.07821158, 0.120108165, -0.15341766, -0.04518874) * go_0(-1.0, 0.0); - result += mat4(-0.0038995466, 0.059817232, -0.13333397, 0.022390908, -0.054531172, -0.12521502, 0.061349645, 0.08832908, 0.015541151, -0.005833245, -0.103023596, -0.031728514, -0.1393958, 0.12932369, -0.024058655, -0.02949061) * go_0(-1.0, 1.0); - result += mat4(0.10676212, -0.0919305, -0.045313094, 0.036725752, -0.2360789, 0.08090541, 0.08044168, -0.088691026, 0.05462964, -0.047420587, 0.011766264, -0.044065233, -0.09330811, -0.04302891, -0.09276843, 0.01615573) * go_0(0.0, -1.0); - result += mat4(0.14728056, 0.014297587, 0.20523176, -0.016391741, -0.25267518, -0.09126818, 0.14681858, 0.0720258, -0.034471154, -0.103409246, 0.029827712, 0.09607032, -0.12944661, -0.09812552, 0.19399726, 0.18891408) * go_0(0.0, 0.0); - result += mat4(0.0793041, -0.18886381, -0.08229493, -0.13476922, -0.034637094, -0.06667868, 0.09988945, -0.08209682, -0.07416632, 0.10529841, -0.14161663, -0.088301264, 0.0029876695, 0.11381751, 0.083498895, 0.15414985) * go_0(0.0, 1.0); - result += mat4(0.20285544, -0.16456522, 0.06494461, -0.013555718, -0.07797077, -0.13418226, -0.0014035929, 0.056061633, -0.024789125, -0.053674392, 0.048963223, 0.121051155, 0.064334966, -0.0482476, 0.068401285, -0.07039275) * go_0(1.0, -1.0); - result += mat4(0.098433256, -0.3636959, 0.2678772, -0.046356395, -0.1771877, -0.017444499, -0.06527938, 0.073921666, -0.1880833, 0.1873346, 0.10331725, -0.05711381, 0.049431477, -0.047258172, 0.13095368, -0.35352108) * go_0(1.0, 0.0); - result += mat4(0.10444254, -0.16424808, -0.00615067, 0.1023235, -0.122729294, -0.2563471, 0.00030699265, 0.09230543, 0.07732433, -0.03397466, -0.03141724, 0.2431111, 0.009742008, -0.07286298, -0.015188814, 0.025636861) * go_0(1.0, 1.0); - result += mat4(-0.06326144, -0.045018848, -0.130233, -0.015639791, -0.015171213, -0.009451374, 0.06830251, 0.07718799, 0.009820809, -0.10778585, 0.011396909, -0.067577444, 0.16482629, 0.099055305, 0.0517957, 0.008594935) * go_1(-1.0, -1.0); - result += mat4(-0.037354734, 0.09272911, -0.11168438, 0.1708543, -0.12653585, -0.042765, 0.008014873, 0.22469266, 0.019282004, 0.0041092015, -0.029787902, 0.025127187, -0.05086034, 0.0077483514, 0.010261478, 0.07023893) * go_1(-1.0, 0.0); - result += mat4(0.055195954, 0.004654069, -0.02118881, -0.05352797, -0.021830624, -0.010750989, -0.032053873, 0.18029462, -0.0703946, 0.06940036, 0.011578795, 0.049051903, 0.12236165, 0.1469314, -0.04752202, -0.02873477) * go_1(-1.0, 1.0); - result += mat4(0.11799468, -0.022473548, 0.0045530205, 0.0870364, 0.1895775, -0.041058388, 0.079169616, -0.08769193, -0.012526104, 0.03904729, 0.016011083, -0.010498281, 0.08499936, -0.050380737, 0.14939919, 0.009984251) * go_1(0.0, -1.0); - result += mat4(0.10477428, 0.16810521, -0.1314053, 0.084377944, 0.17922944, -0.304226, 0.25293878, -0.15422472, 0.20214307, 0.10322054, -0.13431601, 0.04898287, 0.09717359, -0.07664543, 0.14711176, 0.15777126) * go_1(0.0, 0.0); - result += mat4(-0.027849296, -0.107415505, -0.048003152, -0.14503942, 0.16935585, -0.11120448, 0.19879252, 0.25992575, 0.10300595, 0.044460453, 0.095423825, -0.0006854256, 0.04321415, -0.042708825, 0.02633511, -0.06220348) * go_1(0.0, 1.0); - result += mat4(-0.004024937, 0.05021026, -0.00765448, 0.18315202, -0.078596614, -0.022813313, 0.09930163, 0.08525698, -0.0024254897, -0.06150155, 0.12159309, 0.056743085, -0.19437842, 0.02563038, -0.14668292, -0.0805431) * go_1(1.0, -1.0); - result += mat4(0.037370156, -0.13586049, -0.11521326, -0.07453397, -0.025900846, -0.0823091, -0.14436729, 0.14114335, 0.055820756, 0.05531836, -0.1474026, 0.10203739, 0.053665128, 0.00896543, 0.13431323, -0.12663968) * go_1(1.0, 0.0); - result += mat4(-0.20144333, 0.05849729, 0.06303023, -0.17678042, 0.03238696, -0.19829398, 0.12956308, -0.20013878, -0.1353999, -0.001031907, 0.10556917, -0.14760506, 0.03315909, -0.10838441, 0.16175537, -0.001477876) * go_1(1.0, 1.0); - result += mat4(0.087629505, -0.05908092, 0.16011593, -0.11285914, -0.4358247, 0.18938082, -0.31105244, -0.3638732, -0.0069619874, 0.029419519, -0.2156866, -0.13693112, -0.113110565, -0.09906378, -0.11164287, -0.084068194) * go_2(-1.0, -1.0); - result += mat4(0.072181284, 0.035425037, 0.028820323, 0.12786204, 0.37121117, -0.076626934, 0.058864776, -0.20865935, -0.0014984896, 0.05978116, 0.117927864, 0.013273026, 0.088378325, 0.13492325, 0.018144222, 0.22580223) * go_2(-1.0, 0.0); - result += mat4(0.045780275, 0.13346507, 0.056960598, -0.0019664192, -0.24231891, -0.13189796, 0.11114239, -0.07587297, 0.03099761, 0.10284658, 0.094186746, 0.04669001, -0.20374449, -0.12047404, -0.10640337, -0.03541381) * go_2(-1.0, 1.0); - result += mat4(0.14384045, 0.12343541, -0.029074568, 0.13204664, 0.18878254, 0.115503244, -0.20217639, 0.16410889, -0.79949176, 0.5460196, -0.09889672, 0.27109572, 0.10628155, 0.13510233, -0.20859608, -0.07706875) * go_2(0.0, -1.0); - result += mat4(-0.11215904, 0.08981538, -0.10094039, -0.054024383, 0.2652237, -0.2002571, -0.15960355, 0.032049023, 0.007806114, 0.10592316, -0.3487021, 0.048408728, 0.10263737, -0.026020324, 0.072276175, -0.11909672) * go_2(0.0, 0.0); - result += mat4(-0.03184955, -0.00798831, -0.028087616, -0.010780139, -0.05444991, 0.09402867, 0.30834422, 0.14518146, -0.010965188, 0.14643683, -0.02568113, 0.068982124, 0.044459574, -0.05092265, -0.0028792082, 0.17158687) * go_2(0.0, 1.0); - result += mat4(0.0869746, 0.15908171, -0.0033584125, 0.049515188, -0.15995023, 0.20953654, -0.16041277, -0.08435643, 0.42034048, 0.096904315, -0.1927207, -0.0792477, 0.078221194, -0.10053459, -0.17969237, 0.08374661) * go_2(1.0, -1.0); - result += mat4(0.10612468, -0.23303585, -0.08996894, 0.10191982, 0.10724305, 0.1258089, -0.08111434, 0.103680536, 0.00824538, 0.2173516, -0.601468, -0.17365147, -0.09311857, -0.045947216, 0.20118287, 0.00016345571) * go_2(1.0, 0.0); - result += mat4(-0.07453406, 0.02476293, -0.089717, -0.14455949, -0.1427004, -0.21921235, 0.1878364, -0.023677701, -0.29442346, 0.13739492, -0.10435927, -0.35067815, 0.00956389, 0.049088918, -0.055482347, 0.1527778) * go_2(1.0, 1.0); - result += mat4(-0.20727113, 0.23718962, 0.17435564, -0.017858913, -0.042935595, 0.1996666, -0.059547734, 0.09735509, 0.019539079, -0.012399102, 0.057370137, 0.027493393, -0.10042333, -0.07915818, 0.07218426, 0.1309558) * go_3(-1.0, -1.0); - result += mat4(-0.032295313, 0.07833535, 0.22808518, 0.012292011, 0.09856554, -0.01996994, -0.028461069, 0.029348027, -0.25023523, 0.21794361, 0.14906348, 0.039845698, -0.004544177, -0.031246802, 0.019103816, 0.07738693) * go_3(-1.0, 0.0); - result += mat4(-0.15647748, -0.048666175, -0.03838509, 0.22003315, 0.048363995, -0.077338494, 0.109276325, -0.000109877525, -0.10441263, 0.18494262, -0.08754767, 0.12850273, 0.03408794, 0.15086798, -0.19896401, 0.048397515) * go_3(-1.0, 1.0); - result += mat4(0.011858143, -0.121841036, 0.0048841173, -0.062427614, 0.14153655, 0.011297287, 0.12778129, 0.004588582, 0.021572713, 0.15850346, 0.06464319, 0.06260356, 0.0838926, 0.04272777, 0.0733926, -0.08732838) * go_3(0.0, -1.0); - result += mat4(0.20364462, 0.15701732, 0.053049877, -0.46085536, -0.037331745, -0.05813282, 0.036300424, 0.05660442, 0.14007641, 0.12849629, 0.08266283, -0.07872285, 0.07497584, -0.102409676, -0.12487048, -0.06305082) * go_3(0.0, 0.0); - result += mat4(0.26158065, -0.090300985, 0.3522249, 0.18087223, -0.06095069, -0.10725335, 0.285748, 0.15195337, -0.19382374, -0.11163994, -0.10937165, -0.05908017, 0.0042464877, -0.14594594, -0.16316739, -0.17099144) * go_3(0.0, 1.0); - result += mat4(-0.10028552, -0.18077525, 0.29705408, 0.12354066, 0.0198171, -0.08987044, 0.26377577, 0.075702764, 0.06952089, 0.0049671913, -0.3116211, 0.017268507, 0.37579817, -0.037516277, -0.09738986, 0.0917646) * go_3(1.0, -1.0); - result += mat4(0.17661515, -0.17850937, -0.0018308868, 0.18318558, -0.0013081668, -0.113424055, -0.22193146, 0.15262845, -0.13412614, -0.13704826, -0.22099695, 0.24989522, 0.0740908, -0.3789193, -0.05141985, 0.14818457) * go_3(1.0, 0.0); - result += mat4(0.31471825, 0.16524819, 0.03326876, -0.14611365, -0.1191457, -0.06510173, -0.13893965, -0.33106923, 0.13048746, -0.527816, 0.01877066, 0.26005507, -0.06294366, -0.24761125, -0.102864824, 0.094261676) * go_3(1.0, 1.0); - result += mat4(0.023637002, -0.07186282, 0.0946568, 0.13016573, 0.27244806, -0.08329611, 0.049762517, 0.14729369, 0.15868294, 0.07715838, -0.039478883, -0.06753388, 0.13460182, -0.092146814, -0.11814287, 0.12007007) * go_4(-1.0, -1.0); - result += mat4(0.06190745, -0.023566067, 0.239366, -0.0068376404, -0.15343493, 0.043685004, -0.047154866, 0.06527902, 0.11998191, -0.2565534, -0.091910206, -0.24104144, -0.12814765, 0.18195467, 0.11766466, 0.06181653) * go_4(-1.0, 0.0); - result += mat4(-0.06866098, 0.11969287, 0.00997188, 0.09261804, -0.14177154, -0.0052282973, 0.008734555, -0.20822202, 0.0068409014, -0.00470473, 0.031823143, -0.0601048, 0.05632819, 0.01690721, 0.01305342, -0.05824624) * go_4(-1.0, 1.0); - result += mat4(0.20557542, -0.10924632, 0.012821291, -0.11472336, -0.012862975, -0.09720539, 0.016499901, 0.053605244, 0.2183789, -0.014083709, -0.052786104, -0.075659566, -0.15531872, -0.1454758, 0.032142643, 0.28776056) * go_4(0.0, -1.0); - result += mat4(-0.09832725, 0.3388722, -0.092447765, -0.16408351, -0.2557467, 0.031259898, 0.12057204, -0.018744074, -0.46363798, 0.042668946, 0.06506717, -0.25751963, 0.043604825, 0.11740889, 0.07365291, -0.027296776) * go_4(0.0, 0.0); - result += mat4(-0.060943104, -0.00371101, 0.13572243, 0.013030143, 0.01196217, -0.14187267, -0.016784329, -0.048273906, 0.2050283, -0.02000498, -0.069050424, -0.09851947, 0.028769497, 0.1289265, -0.0022706073, -0.00296877) * go_4(0.0, 1.0); - result += mat4(-0.015049836, 0.01153945, -0.006021933, -0.022156725, -0.030286482, 0.24230544, 0.040056467, -0.021735856, 0.20740065, -0.08999259, 0.006861033, -0.104062624, 0.26829463, 0.051726963, -0.12235904, 0.19572715) * go_4(1.0, -1.0); - result += mat4(0.12676726, 0.17367609, -0.03689342, -0.034580305, -0.006836569, -0.06386566, 0.30929026, 0.09361281, -0.06405332, 0.26401913, -0.33314535, -0.06335476, -0.10960964, 0.13062708, 0.058030583, -0.1269144) * go_4(1.0, 0.0); - result += mat4(0.03625719, 0.07449099, 0.021113826, 0.008309737, -0.09200202, -0.13108951, -0.0054502958, 0.19819209, -0.24836262, 0.22340319, -0.06844758, -0.22940424, -0.03410828, 0.03854127, -0.050844472, 0.019776637) * go_4(1.0, 1.0); - result += mat4(0.014228765, -0.013087027, -0.18055649, 0.001141047, 0.14329694, -0.008534367, 0.006927009, -0.058499523, -0.030727612, -0.07256724, 0.0025644915, 0.007111054, 0.036673337, -0.026148604, 0.120233335, 0.110904366) * go_5(-1.0, -1.0); - result += mat4(-0.008129229, 0.047908727, -0.1769762, 0.013220415, 0.066762984, 0.06523022, -0.016525066, -0.014394631, -0.008272182, -0.029847749, -0.10351308, 0.036801845, 0.11523106, -0.055156656, 0.11873017, -0.128935) * go_5(-1.0, 0.0); - result += mat4(0.21848068, -0.002019241, -0.06304477, 0.026670042, 0.039536465, -0.14145948, -0.06304873, 0.023532849, -0.122648045, 0.036414735, -0.037745856, -7.688992e-06, 0.059370764, -0.015019475, -0.029084614, 0.015826277) * go_5(-1.0, 1.0); - result += mat4(-0.09427522, -0.001972529, -0.09509679, -0.104867265, 0.05705236, 0.00031401246, 0.096889675, 0.15868911, -0.033721585, 0.08299121, -0.095194876, -0.1062834, -0.029866459, -0.041780088, -0.023895228, -0.0026728562) * go_5(0.0, -1.0); - result += mat4(-0.27093527, -0.026471421, 0.09702481, 0.036061123, -0.1268649, 0.099340335, 0.15685195, -0.070615016, -0.13991052, -0.04212775, 0.096722156, 0.056507673, 0.02626438, 0.030435594, -0.00033173471, -0.024930432) * go_5(0.0, 0.0); - result += mat4(-0.21608484, 0.038410295, -0.10975598, 0.12944944, -0.034110125, 0.03908566, -0.030190451, 0.031670973, -0.018954927, 0.0726848, 0.023156218, 0.017966276, -0.09825987, 0.023912448, 0.07257811, -0.008502145) * go_5(0.0, 1.0); - result += mat4(0.044695053, -0.046481512, -0.098602146, -0.13273694, -0.09406325, -0.0062411693, 0.10242225, 0.025881069, 0.061662897, 0.019632077, -0.069696225, -0.14693011, 0.034227923, 0.037439592, -0.17188378, -0.19963826) * go_5(1.0, -1.0); - result += mat4(-0.25531536, -0.050288115, 0.11258405, -0.24783169, -0.034263797, 0.054084245, 0.119918555, -0.027509615, 0.10056127, -0.09610037, 0.16208062, 0.005269051, 0.08660796, 0.11050934, -0.012584769, -0.0040703616) * go_5(1.0, 0.0); - result += mat4(0.07649277, 0.13011539, -0.052341804, 0.07836859, 0.18562089, 0.07701519, -0.15669914, 0.007145429, 0.018427812, -0.12513049, -0.03395353, 0.14632194, -0.108091615, -0.01585824, 0.0602756, -0.11572579) * go_5(1.0, 1.0); - result += vec4(0.028852103, -0.003142654, 0.019121574, 0.026819304); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.032557677, 0.15826401, -0.11499422, -0.08640765, -0.09198991, -0.007192731, 0.010252954, 0.023780089, 0.15372203, -0.0009684923, 0.051660325, 0.011104123, 0.023871671, 0.005045307, 0.10722681, 0.065446004) * go_0(-1.0, -1.0); - result += mat4(0.04723326, 0.21495502, -0.4453857, -0.020825233, 0.021379868, 0.04798187, 0.11383445, 0.08597329, 0.05730255, -0.046370696, -0.105095126, -0.03220056, -0.10122536, 0.06955123, -0.023051325, -0.04296927) * go_0(-1.0, 0.0); - result += mat4(-0.02551809, 0.16179861, -0.15771814, -0.00045056897, 0.05842655, 0.11279471, 0.08018674, 0.05973765, 0.044070918, 0.08054599, -0.070336945, 0.05499731, -0.039118823, 0.003635353, -0.019759493, -0.040480837) * go_0(-1.0, 1.0); - result += mat4(-0.04707628, 0.040738698, -0.013698143, -0.047391538, 0.031729057, -0.01837267, -0.10985463, -0.0028168112, -0.03167109, 0.0007989082, 0.011234699, 0.06895626, -0.12226361, 0.016290974, -0.055669673, -0.17432979) * go_0(0.0, -1.0); - result += mat4(-0.05069543, 0.15450205, 0.06981913, -0.377529, -0.14111535, 0.124757245, 0.021858096, 0.044034548, -0.16741593, 0.09746289, -0.045757677, -0.11644043, -0.09906484, 0.19128124, 0.061969943, -0.14589702) * go_0(0.0, 0.0); - result += mat4(0.12177423, 0.077437244, 0.059054222, 0.14925033, 0.016682645, -0.004765056, -0.2194741, 0.11314126, 0.2384071, -0.12049565, 0.12753354, 0.19679058, 0.03558123, 0.018636368, -0.11018761, -0.027520377) * go_0(0.0, 1.0); - result += mat4(-0.03618456, -0.030103968, 0.02968891, -0.00393875, -0.07128213, 0.022181263, -0.08430743, -0.027601235, -0.09228556, 0.04661313, 0.054729965, 0.052708175, 0.050483003, -0.022951633, 0.099321984, -0.043519083) * go_0(1.0, -1.0); - result += mat4(0.034695346, 0.10380181, -0.043013666, 0.037639238, 0.118943654, 0.027931944, 0.07628075, -0.12427217, 0.14970858, -0.065848, 0.0030750742, 0.011039123, 0.27721024, -0.055808693, 0.25105593, -0.1825985) * go_0(1.0, 0.0); - result += mat4(0.03627934, -0.17293514, 0.09188732, 0.11569783, -0.035355445, -0.10536353, -0.0068529076, -0.0929389, 0.09053234, 0.05907859, 0.049182277, 0.15194432, -0.09835422, 0.00061943196, 0.066343345, -0.06307589) * go_0(1.0, 1.0); - result += mat4(0.10120336, -0.10855617, 0.13412404, -0.018874792, 0.037988223, 0.0957435, 0.015402347, -0.08589699, -0.07694196, -0.03258571, 0.064437136, -0.0495422, 0.24836332, -0.0041739377, 0.093993485, -0.0076778256) * go_1(-1.0, -1.0); - result += mat4(-0.20205948, 0.035698004, 0.0120531265, 0.03971649, 0.07550046, 0.047750015, -0.049045984, 0.04001014, -0.030263485, -0.0030697742, 0.05283423, -0.00014085052, -0.062447365, -0.0503476, -0.085151225, -0.04436882) * go_1(-1.0, 0.0); - result += mat4(0.1516312, -0.073820546, -0.01047401, 0.0002717457, -0.17057727, 0.20856272, -0.09357496, -0.17346743, -0.068092465, -0.023344085, -0.03279074, -0.077289, -0.09844614, -0.035491887, 0.048796505, -0.03633584) * go_1(-1.0, 1.0); - result += mat4(0.0073127835, 0.041834716, 0.015633723, -0.042742077, 0.08359733, -0.13898548, 0.1343008, 0.04692816, 0.051663343, -0.1277769, 0.029269615, 0.021745533, 0.09920264, 0.032076713, -0.05319438, 0.040574815) * go_1(0.0, -1.0); - result += mat4(0.052737534, -0.02136074, -0.18437223, 0.030766862, 0.23291707, -0.010449272, 0.032748792, 0.1304141, 0.27302903, 0.008562884, 0.13475919, 0.044446316, -0.17819557, 0.08270108, 0.06075267, -0.112788476) * go_1(0.0, 0.0); - result += mat4(-0.093748294, -0.004655885, -0.044859763, -0.11719146, -0.4701752, 0.09076277, -0.2283514, -0.34524822, -0.11999304, -0.010338027, 0.026785752, 0.029790966, -0.0635327, -0.024085084, -0.12074973, 0.080456585) * go_1(0.0, 1.0); - result += mat4(-0.023425102, -0.105786875, 0.1220016, 0.017974272, -0.12736784, -0.050550908, -0.1985566, 0.09139255, -0.18943925, -0.0067088404, -0.15007311, -0.015332959, 0.16430685, 0.006736225, -0.009263825, -0.08230126) * go_1(1.0, -1.0); - result += mat4(-0.15165123, 0.057155497, -0.09756418, 0.0475568, -0.14430566, 0.05169595, -0.24240975, 0.061147846, 0.0017831615, 0.028189357, -0.12519005, 0.03604646, -0.0460214, 0.05936097, -0.0213775, -0.28192145) * go_1(1.0, 0.0); - result += mat4(-0.019390648, 0.005514995, -0.0024649797, 0.056670878, -0.10385216, -0.05531206, 0.23233996, -0.16394126, 0.1718211, -0.08723329, 0.08580946, -0.028214762, -0.060853615, 0.0458013, 0.106201656, 0.031685878) * go_1(1.0, 1.0); - result += mat4(-0.105268896, 0.0106684705, -0.10355101, -0.07401398, 0.12425712, -0.21308881, 0.05200582, -0.024954682, -0.1120292, 0.07799603, -0.031506516, 0.0031533986, -0.05264893, -0.11141642, 0.107277475, 0.049987797) * go_2(-1.0, -1.0); - result += mat4(0.08439962, -0.14181082, -0.20358182, 0.09080642, -0.061622817, 0.24017061, -0.12030436, 0.17224449, -0.0220505, 0.20025904, 0.1032571, 0.032335218, -0.09232964, -0.06172056, -0.1011141, -0.07322099) * go_2(-1.0, 0.0); - result += mat4(-0.10896482, 0.06107763, -0.100641444, -0.018832406, 0.020139545, -0.0037260412, -0.10512619, -0.24599148, 0.014342631, 0.056689363, -0.06662091, 0.03999069, 0.00824376, 0.030449467, 0.027041748, -0.056902107) * go_2(-1.0, 1.0); - result += mat4(-0.18174766, 0.040627997, 0.1140224, -0.20088135, 0.07404639, 0.01215843, -0.050341435, -0.0011868333, -0.5206288, 0.53214884, -0.60289955, 0.25364086, -0.05814184, 0.21600877, 0.07475344, 0.0624221) * go_2(0.0, -1.0); - result += mat4(-0.07710521, 0.030054979, -0.28164682, -0.13994755, 0.028757188, 0.04356096, -0.14357159, 0.2761477, -0.5300268, 0.44994202, -0.15364286, -0.18580483, 0.084563375, -0.13093601, 0.08291044, 0.017790407) * go_2(0.0, 0.0); - result += mat4(0.013963807, 0.0032885068, 0.0069646467, 0.03777879, -0.30103573, -0.047965538, 0.057550967, -0.3402889, 0.0026557294, 0.2289777, 0.01937088, 0.18484715, 0.083694465, -0.056240357, -0.0023172104, -0.13328342) * go_2(0.0, 1.0); - result += mat4(-0.05847699, 0.06990862, -0.0076244893, 0.03992696, 0.088809974, -0.059422277, -0.10557949, 0.058280375, -0.37764055, -0.19777957, -0.86350954, -0.21546844, 0.21863134, -0.074350335, 0.039010234, -0.021216504) * go_2(1.0, -1.0); - result += mat4(-0.18698102, -0.024641648, -0.16558538, -0.06499548, 0.10435924, 0.0030438402, -0.021636335, 0.046050593, -0.22217542, -0.14033853, -0.21516539, -0.4834089, 0.061894827, -0.024107188, 0.045805957, 0.20019397) * go_2(1.0, 0.0); - result += mat4(-0.0657418, 0.074276686, -0.07074239, -0.0101531055, -0.17146541, -0.016556345, -0.16196094, -0.13551502, -0.017605018, 0.065230414, 0.10717515, 0.41153327, 0.07095331, -0.05611257, -0.09297768, -0.054604497) * go_2(1.0, 1.0); - result += mat4(-0.051999312, 0.28559515, -0.09147715, 0.04536181, 0.077552326, 0.052161235, 0.006652824, 0.12593806, -0.07654755, 0.056134425, 0.029163264, -0.05461885, 0.04772557, 0.14073811, 0.07795857, -0.0397234) * go_3(-1.0, -1.0); - result += mat4(-0.0698435, 0.17774913, -0.07301677, -0.14336437, -0.104051985, 0.14831689, 0.045199208, -0.1867252, 0.07530157, 0.12153924, 0.1397731, -0.026905237, 0.056165505, 0.21213025, 0.073159344, 0.03143804) * go_3(-1.0, 0.0); - result += mat4(0.029820994, -0.079599164, 0.12901585, 0.014192698, -0.0816397, 0.02425821, 0.10938256, 0.0077257096, -0.009784561, 0.20602871, -0.07226973, -0.16234052, 0.0064664064, -0.023469927, 0.0037447219, 0.015258041) * go_3(-1.0, 1.0); - result += mat4(-0.028296372, 0.23841251, 0.04076168, 0.061052933, -0.082375534, 0.11200519, 0.025308013, 0.1736187, 0.23024227, -0.004161287, 0.16408522, -0.0141539015, 0.01496407, -0.037708607, 0.15057993, 0.14573294) * go_3(0.0, -1.0); - result += mat4(0.22485349, -0.2217838, -0.011602474, 0.22668324, 0.2172098, -0.21826234, -0.09506227, -0.06592076, 0.14401191, 0.014868243, 0.41509256, 0.2799861, 0.04998898, -0.121938676, -0.29612163, 0.16926381) * go_3(0.0, 0.0); - result += mat4(0.009154201, -0.14300221, 0.0121250935, -0.049595118, -0.3256411, -0.07036471, -0.066481166, -0.32643607, 0.13287841, -0.096211806, -0.24969384, -0.36735064, -0.14625767, 0.07217462, 0.06205977, 0.13962744) * go_3(0.0, 1.0); - result += mat4(0.10122661, -0.042678952, 0.08920629, -0.022906423, -0.048781462, 0.008094098, 0.16410494, 0.01511925, 0.009355741, -0.034123767, 0.06522056, -0.04114966, 0.025140515, -0.046565775, 0.18292467, 0.009392873) * go_3(1.0, -1.0); - result += mat4(-0.06604219, -0.10034091, 0.10934946, 0.18707348, -0.19358878, 0.11417287, -0.024397675, 0.04772407, -0.10278711, -0.03847901, -0.025120566, 0.047323767, -0.26464674, 0.15394583, -0.042590924, -0.09511779) * go_3(1.0, 0.0); - result += mat4(-0.13339657, 0.13506593, 0.011463314, 0.077461444, -0.022262955, 0.06132727, -0.113292165, -0.1987806, 0.0027555283, -0.016475892, 0.14219329, -0.211625, 0.11405046, -0.12044097, -0.088240534, 0.17436995) * go_3(1.0, 1.0); - result += mat4(-0.08783496, 0.06564822, -0.10796846, -0.13460107, 0.10140343, 0.08105866, 0.0040176474, -0.045305755, -0.09299188, -0.18928377, -0.099694185, 0.11314726, -0.018881949, 0.04591721, 0.117965475, -0.00035760578) * go_4(-1.0, -1.0); - result += mat4(0.043456256, 0.10901491, 0.010485461, -0.061420415, -0.04018357, 0.1689085, 0.015425885, 0.061508525, 0.069377325, -0.18156749, 0.19194232, -0.25884745, -0.036184482, -0.0069973134, 0.021037813, -0.08046543) * go_4(-1.0, 0.0); - result += mat4(-0.044377886, 0.18098527, -0.07314578, -0.00287104, 0.038114406, -0.044841792, -0.063126855, 0.19896339, -0.09739791, -0.24212237, 0.19623765, -0.06326722, 0.062247403, 0.054567214, 0.10500492, 0.04231698) * go_4(-1.0, 1.0); - result += mat4(0.12399143, -0.09728722, 0.06730315, -0.011540306, -0.116925925, 0.0074092527, 0.21276267, 0.068349704, -0.05713399, 0.17656437, -0.10295556, -0.12709019, 0.102335855, 0.2679535, -0.06597912, -0.022839248) * go_4(0.0, -1.0); - result += mat4(0.1265364, 0.16177331, -0.075765, -0.06347739, -0.056721687, 0.18794554, 0.006572088, -0.00011200755, 0.05219661, 0.21530084, -0.101604566, 0.04750483, -0.09394214, -0.11256657, 0.11389309, -0.011598962) * go_4(0.0, 0.0); - result += mat4(0.015922887, -0.046698473, 0.0130271325, -0.052948795, 0.16426764, 0.09934194, -0.07745314, 0.038738497, -0.040967297, 0.06423774, 0.034312535, -0.013723525, -0.0030767843, 0.041221425, 0.041528914, 0.027097305) * go_4(0.0, 1.0); - result += mat4(-0.13077654, 0.046842843, 0.034140635, 0.10109363, 0.20840693, -0.012975956, -0.041564208, 0.009877259, -0.033334266, -0.106034294, 0.2507187, -0.01512933, -0.008589095, 0.1849223, -0.06436464, 0.087347835) * go_4(1.0, -1.0); - result += mat4(0.13326278, -0.035467118, 0.12698379, -0.034838732, 0.023856519, 0.05274121, -0.09120117, 0.070493534, -0.14804247, 0.08772896, -0.1343374, -0.058013596, -0.1194792, -0.07288297, 0.074856065, 0.021033823) * go_4(1.0, 0.0); - result += mat4(0.023594514, -0.018284807, -0.037060708, -0.06051526, 0.13681069, 0.09436225, -0.044987947, 0.21031074, -0.14567234, 0.04987286, -0.24576813, -0.091558464, 0.0040201824, -0.045261826, 0.050834723, 0.04080285) * go_4(1.0, 1.0); - result += mat4(-0.12843935, 0.11059404, 0.035774253, 0.016019672, 0.13419932, -0.082884714, 0.086934, -0.027470622, -0.0055711996, 0.14726739, 0.00025540774, -0.082832016, 0.015134819, -0.1869738, -0.15580305, 0.118347436) * go_5(-1.0, -1.0); - result += mat4(-0.03210018, -0.07439424, 0.09171389, 0.0061248797, -0.122092225, -0.0055175424, 0.060848907, 0.05447007, -0.1005626, -0.13843839, -0.11508479, 0.034595586, 0.16528612, 0.07630222, 0.10175574, -0.034656286) * go_5(-1.0, 0.0); - result += mat4(0.05687666, -0.1130296, -0.038044114, 0.1376985, 0.02434624, -0.21984427, -0.0038558878, -0.10872551, 0.00807944, 0.019718373, 0.07016335, 0.001672884, -0.051990695, -0.04958167, -0.036594924, -0.0008506928) * go_5(-1.0, 1.0); - result += mat4(-0.07842389, -0.0907049, 0.10945533, -0.14496571, 0.03524454, -0.12881151, -0.13281278, -0.023060825, -0.037150636, -0.0001619192, 0.07462792, 0.19251943, -0.048907887, -0.09152158, 0.077018015, -0.0076050037) * go_5(0.0, -1.0); - result += mat4(-0.06379491, 0.22390717, -0.044009656, -0.19816853, -0.14713046, 0.114638254, -0.008227305, -0.014490413, 0.04359834, 0.10032826, -0.17928778, -0.13981889, -0.07729277, 0.11685862, 0.21970165, -0.09117455) * go_5(0.0, 0.0); - result += mat4(0.21068226, 0.030921075, 0.109845765, 0.058498275, 0.015876649, -0.0067828237, -0.10064077, 0.13756661, 0.017506564, 0.041748323, 0.17195722, 0.012285508, -0.023290245, 0.07060226, 0.069730066, -0.018874977) * go_5(0.0, 1.0); - result += mat4(0.19153018, -0.07691863, -0.03687873, -0.069982305, -0.097453654, 0.060358603, -0.030159682, -0.048520114, 0.12498585, -0.07376571, -0.01039302, -0.099845245, 0.00042995642, 0.035783857, -0.12854497, -0.024975097) * go_5(1.0, -1.0); - result += mat4(0.11177764, -0.02895167, 0.09053559, -0.24130683, -0.09276382, 0.04739869, -0.005453787, 0.031923447, 0.089385964, -0.048109047, 0.061177306, 0.117845595, 0.014615613, 0.1153759, -0.0007218852, -0.10042441) * go_5(1.0, 0.0); - result += mat4(0.041179586, 0.00042151578, 0.07818137, 0.06354339, 0.0049364083, -0.055836283, -0.0073542926, 0.047470722, -0.15328479, 0.03497268, -0.17375292, 0.0006636334, -0.043640774, -0.007737031, 0.10040319, -0.09145891) * go_5(1.0, 1.0); - result += vec4(-0.0542914, -0.045369092, 0.029350873, -0.018128533); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.15610647, -0.15150696, -0.076018915, 0.030773202, -0.13935511, 0.17644633, 0.028819937, 0.30125114, 0.38625193, 0.35517895, 0.0975343, 0.114022225, 0.25494647, -0.23291643, 0.29096943, 0.15063812) * g_0; - result += mat4(-0.22949804, -0.1368772, -0.07729264, 0.08470473, -0.06426131, -0.0064847367, 0.08241476, -0.1476949, -0.13712044, -0.36110023, -0.081719294, 0.19409889, 0.05562042, 0.26609465, 0.020447321, 0.2567414) * g_1; - result += mat4(0.03337578, 0.2905731, 0.21772428, -0.074480034, 0.071880735, 0.27764675, -0.17273173, -0.0037474795, -0.1842544, 0.21896398, -0.30134472, 0.1711769, 0.23913746, -0.0435854, -0.12745531, -0.050227556) * g_2; - result += mat4(0.34923258, -0.5455803, -0.2904644, -0.5446842, -0.040965725, -0.055288248, -0.50672686, -0.10309429, 0.045286313, -0.04284262, -0.19785875, -0.16594213, -0.10000842, 0.47245356, -0.32767087, 0.32854807) * g_3; - result += mat4(0.05952625, -0.062991776, 0.3438396, -0.08141334, -0.2488028, -0.04746144, 0.06563561, 0.45020792, -0.19996788, 0.015523991, -0.19214569, -0.24849077, -0.022107737, 0.28190804, 0.13384444, -0.12800638) * g_4; - result += mat4(-0.37812218, 0.09970516, 0.015231938, 0.07226164, -0.33720142, -0.05899804, -0.0025790115, -0.17770731, 0.111127384, 0.008749534, -0.09077738, -0.060420215, -0.10196339, 0.09641038, 0.25222716, 0.12781976) * g_5; - result += mat4(0.24168618, 0.18625724, -0.012904225, -0.011732107, 0.085045695, -0.4754185, 0.10896487, 0.09179793, -0.31662637, -0.117563, 0.5133052, -0.09457646, -0.15872721, -0.09779008, 0.56810176, 0.3339073) * g_6; - result += mat4(-0.09105348, -0.17617023, -0.21897802, -0.14157395, 0.16165406, -0.46579927, 0.24905841, 0.11579037, 0.09073764, 0.36771873, -0.29340085, -0.04271419, -0.11684365, -0.17138094, 0.12188604, -0.14749436) * g_7; - result += mat4(0.10943254, -0.17193961, -0.07027378, -0.26047203, 0.04288517, 0.21311204, 0.03997142, -0.17006959, 0.16181368, 0.28361118, 0.26655135, -0.097007245, -0.15998597, -0.09568138, -0.27558687, -0.11706871) * g_8; - result += mat4(0.365517, 0.5422966, -0.0013869518, 0.3447622, -0.25885904, -0.098901175, -0.048043057, 0.15867509, -0.12303401, -0.15362008, 0.270228, -0.2756776, -0.44207478, -0.0419657, 0.09387863, -0.07240854) * g_9; - result += mat4(0.15073416, -0.032387026, -0.039117433, -0.50999755, 0.073477276, -0.14495571, 0.15120687, -0.3443857, -0.29039595, -0.16189122, 0.14190345, -0.10934344, -0.21965231, -0.45768484, 0.11907852, 0.5091087) * g_10; - result += mat4(0.23260471, 0.16441877, 0.16760987, 0.10740154, -0.21663232, -0.10124566, -0.20843595, 0.066555224, 0.24608357, 0.16345865, -0.11965141, 0.18451719, 0.41683537, -0.044497896, 0.39102596, -0.11944608) * g_11; - result += vec4(-0.02423156, 0.015124756, -0.02608139, 0.030428935); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12407633, -0.027812717, 0.23094666, 0.060302667, -0.16624144, -0.0007371851, -0.28186718, 0.22369424, 0.022404855, 0.09096415, 0.0017822908, 0.336001, -0.09130467, 0.034111694, 0.19113103, -0.14513424) * g_0; - result += mat4(-0.014768806, -0.31290373, 0.015769936, -0.13507901, -0.010203078, 0.4945444, -0.01088852, -0.1582938, -0.14903755, -0.1840089, -0.009966903, -0.19425109, -0.21303283, 0.26285252, -0.046254523, -0.15465552) * g_1; - result += mat4(0.07533467, 0.26080438, 0.024856985, 0.34277654, -0.3129344, 0.30575162, 0.06931557, -0.044698272, 0.18042412, 0.45999247, -0.5192437, 0.022618707, -0.020097036, -0.27706465, -0.0050434433, -0.12770803) * g_2; - result += mat4(0.098648146, -0.21701503, 0.10266521, -0.085537605, 0.02402345, -0.28643832, 0.19378376, -0.12658586, 0.115897186, 0.01580828, 0.11827048, 0.29019687, -0.19341177, 0.09564265, 0.03476779, 0.11699004) * g_3; - result += mat4(0.058346223, 0.25530934, -0.026972264, 0.3190419, 0.12263199, 0.124316074, 0.04734691, 0.011293402, -0.17419139, -0.15893947, 0.093723476, 0.23282392, 0.19400646, -0.0533148, 0.026266033, 0.19663234) * g_4; - result += mat4(-0.06663804, 0.20435949, 0.044924624, -0.24982749, 0.20327586, 0.12442739, -0.3155765, -0.18541007, 0.18991531, -0.19276267, 0.21697456, 0.03178544, -0.3381796, -0.15325621, -0.25820518, -0.07297032) * g_5; - result += mat4(0.098007046, -0.17018083, 0.3390076, -0.2280134, 0.12989196, -0.044336785, -0.10702673, -0.37464848, 0.028437488, 0.24224928, -0.107826136, 0.0031239046, -0.34256136, -0.17936559, 0.091159485, -0.054418396) * g_6; - result += mat4(0.053965975, -0.17428857, -0.43524495, -0.15119378, -0.25487635, 0.16371927, 0.1467712, -0.08216164, -0.5624722, -0.11886804, -0.058240388, 0.17669299, -0.15173754, 0.13094892, 0.39045286, -0.017048221) * g_7; - result += mat4(-0.15798661, -0.36355045, 0.1957264, -0.05392931, 0.098283805, 0.14677107, 0.16887192, -0.11125151, -0.113571666, 0.15960959, -0.09331763, -0.032195523, 0.17286941, 0.33965907, 0.09051416, -0.25542957) * g_8; - result += mat4(0.16866244, 0.05636189, -0.100324616, 0.20495924, -0.102705345, -0.08387417, -0.09328024, 0.21541446, 0.1430065, 0.0308464, -0.0793588, -0.029477509, -0.28854427, -0.29555637, 0.33754608, -0.18144317) * g_9; - result += mat4(-0.11338383, 0.019528843, -0.24414338, -0.36290777, 0.54908705, -0.083018646, 0.007534378, -0.1406417, 0.37853354, 0.09911941, -0.047861155, -0.3186758, 0.2125856, -0.114667036, -0.07411896, 0.050717812) * g_10; - result += mat4(0.2961511, 0.28937215, -0.36593223, -0.16141813, -0.087650776, -0.47516292, 0.0052091824, 0.033959586, -0.06072628, -0.0012637508, -0.037578013, -0.35235298, 0.11726439, 0.6064031, 0.34058803, 0.45300734) * g_11; - result += vec4(-0.0038817346, -0.052502215, 0.008882693, -0.017785465); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.21563801, -0.12204513, 0.31932783, 0.28290224, -0.17011476, -0.06448831, 0.004365267, -0.07169507, 0.21165244, -0.07712424, 0.14979824, 0.2240992, 0.48357385, -0.015724417, -0.3836641, 0.07599027) * g_0; - result += mat4(-0.20743755, -0.119118474, 0.1009234, -0.2842955, -0.24531132, 0.062108602, 0.11733637, 0.06687575, -0.065953426, 0.15715389, 0.21475503, -0.1019138, 0.08085453, -0.24522887, -0.108375534, 0.29179853) * g_1; - result += mat4(0.16713834, 0.030504826, -0.2423963, -0.41885766, -0.20249867, -0.061683156, -0.14999944, 0.54505223, 0.16486095, -0.023248592, -0.17566164, 0.089543514, -0.1884646, 0.15263423, 0.14438081, -0.21730141) * g_2; - result += mat4(0.37399703, 0.2731133, 0.11279373, 0.004775496, -0.19443156, -0.071899086, 0.17512012, -0.11265631, 0.01926881, -0.31321192, -0.32160205, -0.23714963, 0.097321026, 0.13937393, -0.28038052, -0.046872586) * g_3; - result += mat4(0.124041334, 0.083966166, 0.13945055, 0.087915726, 0.11154068, -0.09223973, -0.012948238, 0.16114026, 0.13717382, 0.11968761, 0.076536775, -0.15866219, -0.19017774, -0.11172013, 0.024816172, 0.096302085) * g_4; - result += mat4(0.081017025, -0.1537902, 0.193927, 0.22226687, 0.441012, 0.18478638, 0.30040395, 0.032401927, -0.13839063, 0.017778423, -0.42750338, -0.19760555, -0.21953818, -0.2148397, -0.084683254, 0.20916465) * g_5; - result += mat4(-0.3921892, 0.2123992, 0.14027761, 0.10175143, -0.11134986, -0.16432697, -0.1097465, -0.21807413, -0.09732297, -0.11108596, -0.39636138, -0.06654249, 0.18766358, -0.0061503067, 0.1286225, 0.2418667) * g_6; - result += mat4(-0.0039234986, 0.17088562, 0.12906016, -0.13476452, -0.09124947, 0.3098052, 0.09895542, 0.18631962, -0.06776231, 0.19485205, 0.14722902, 0.32147923, -0.1811334, 0.15313488, 0.0796922, 0.0012897709) * g_7; - result += mat4(0.032229863, 0.025498863, 0.06695979, 0.019412167, -0.16543043, -0.12314033, 0.112201385, 0.16554663, 0.13644108, 0.3098045, 0.081390016, -0.006008416, -0.016406069, 0.22883923, 0.22282913, -0.13947442) * g_8; - result += mat4(0.010251363, 0.08210024, -0.33465254, -0.012109372, 0.027115503, 0.1481351, -0.081793204, -0.20716506, 0.0056828605, -0.30995828, 0.11498873, 0.15678942, -0.061227474, -0.14681229, 0.1498136, 0.11219651) * g_9; - result += mat4(0.21796124, -0.12195326, 0.44734144, -0.124715045, -0.05986958, -0.25252253, -0.13802508, 0.16756216, 0.28327593, 0.38355786, -0.27178785, -0.19969118, -0.26010805, -0.074593216, 0.10679648, 0.15610766) * g_10; - result += mat4(-0.07648412, -0.18866923, -0.2592641, 0.32486007, -0.6200149, 0.09312683, 0.42827863, -0.2703639, 0.08144911, -0.054994784, -0.24911343, 0.41974616, 0.036914464, -0.32325324, 0.012920313, -0.48379797) * g_11; - result += vec4(-0.013587518, 0.049618572, -0.065549955, -0.007242324); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11553467, -0.14921814, -0.085377395, 0.10231987, 0.08155549, 0.07075523, 0.012124212, 0.013545821, 0.103393115, -0.007523045, 0.060739517, -0.05890024, 0.21902815, 0.020522034, -0.1402768, 0.1280077) * go_0(-1.0, -1.0); - result += mat4(0.051253397, -0.040904667, 0.1898603, -0.11879134, 0.069219105, -0.04280286, -0.022459755, 0.14305754, -0.063906856, 0.21501009, 0.0023572869, 0.09840124, -0.072510734, 0.057598237, 0.06159614, -0.13078417) * go_0(-1.0, 0.0); - result += mat4(0.09612547, -0.11506342, -0.0017697238, 0.082210004, 0.14244868, -0.018724512, 0.12827, -0.011984352, 0.08484893, 0.0534688, 0.06480922, 0.14134778, 0.0876346, -0.010892883, 0.15595037, -0.040623467) * go_0(-1.0, 1.0); - result += mat4(-0.15201004, 0.0093916925, 0.25506935, 0.003084567, -0.06869725, -0.27494308, 0.12937209, -0.12043822, -0.1918611, -0.09398222, 0.045312967, -0.1111442, -0.1376949, 0.0053297062, -0.28389412, -0.1396928) * go_0(0.0, -1.0); - result += mat4(-0.12742004, -0.23415208, 0.12804613, -0.1406368, 0.09349193, -0.12212758, -0.05245734, -0.39274624, 0.23036338, 0.04170077, -0.12391477, -0.00871988, 0.012228075, 0.31633002, -0.17377669, -0.124939) * go_0(0.0, 0.0); - result += mat4(-0.01582657, 0.018224325, -0.01147676, -0.09984998, -0.026615107, -0.21468964, 0.21078119, 0.19190042, -0.096901044, -0.041285027, -0.014912263, 0.17798825, 0.06570931, 0.09232608, -0.1068993, 0.089612365) * go_0(0.0, 1.0); - result += mat4(0.051225413, -0.07643113, 0.058832865, 0.083958775, 0.11160564, -0.14167392, -0.021870648, 0.10238029, 0.047018003, 0.11449065, 0.08001371, -0.06804109, 0.033969186, 0.10051381, -0.0008517809, -0.07459736) * go_0(1.0, -1.0); - result += mat4(0.09263853, -0.09833199, 0.042132426, -0.13103375, -0.03731804, -0.039324153, 0.10190401, 0.024146391, 0.110644914, -0.12685625, -0.12852249, 0.021824492, 0.0784485, 0.11471671, -0.09116125, 0.010305502) * go_0(1.0, 0.0); - result += mat4(0.005317984, -0.055282168, 0.09082919, -0.10774655, 0.21394931, 0.0045357225, -0.06699662, 0.2507622, 0.15671767, 0.11952803, -0.06123182, 0.13399701, 0.046645127, 0.0026899239, 0.022635492, 0.07161002) * go_0(1.0, 1.0); - result += mat4(-0.017425103, 0.12552156, -0.093341894, -0.071356304, 0.15947455, 0.24979044, -0.03843421, 0.14001197, 0.15455416, -0.05550835, -0.011375887, -0.07661705, -0.12418336, 0.056913756, 0.16633298, 0.11513766) * go_1(-1.0, -1.0); - result += mat4(-0.08778774, 0.057353538, -0.092138395, 0.002837398, 0.22633068, 0.120333284, 0.09834124, 0.05738123, 0.059130516, 0.22035405, -0.024255643, 0.02477418, 0.04645929, 0.39426094, 0.276884, -0.01479481) * go_1(-1.0, 0.0); - result += mat4(0.18796739, 0.083501674, 0.07283311, 0.06415875, -0.024382524, 0.04679669, -0.15093789, -0.22831221, 0.058881074, 0.16446854, -0.028955745, 0.1956661, 0.0516941, 0.16135721, 0.11951658, 0.10451706) * go_1(-1.0, 1.0); - result += mat4(0.008279574, 0.23456147, -0.12539841, -0.17107405, 0.12736088, -0.028486755, -0.18606788, -0.15545112, -0.025036227, 0.028735701, 0.17332946, -0.1413287, 0.050435208, -0.07583189, 0.14276801, 0.08007638) * go_1(0.0, -1.0); - result += mat4(0.23048489, -0.045157567, -0.014840823, 0.041994587, -0.0002087858, -0.01711496, -0.08994919, -0.05393212, -0.048546836, 0.18694918, -0.014523763, -0.14133967, 0.02896907, 0.08478857, 0.020594146, -0.0013243662) * go_1(0.0, 0.0); - result += mat4(-0.1141037, -0.11394802, 0.11164606, 0.12330282, -0.044497687, -0.06207866, 0.08016056, 0.16055691, -0.062488995, 0.051081542, 0.086364634, 0.10802774, 0.16742289, -0.08850773, 0.26072827, -0.34441397) * go_1(0.0, 1.0); - result += mat4(0.06775539, -0.19385163, 0.12488108, 0.11025669, 0.028568348, 0.051090416, -0.15175076, -0.17447716, -0.14535129, -0.15599817, -0.10742375, 0.23767987, -0.071634814, -0.19241351, -0.052424364, 0.105806515) * go_1(1.0, -1.0); - result += mat4(-0.044398658, 0.0027700714, -0.22429284, 0.11238373, -0.081747256, -0.016608216, 0.012278578, 0.036800906, 0.015081323, 0.12504977, -0.05880422, -0.05670147, -0.051358018, 0.03139849, -0.0058919964, -0.029613987) * go_1(1.0, 0.0); - result += mat4(-0.05326926, -0.06667389, -0.15082167, 0.011100974, -0.17428419, 0.06436674, 0.12850241, 0.07432186, 0.08191501, 0.24600182, -0.085727975, -0.22370532, 0.15681425, -0.112885654, 0.10803866, 0.09235784) * go_1(1.0, 1.0); - result += mat4(-0.15705872, -0.1011224, 0.11024848, 0.100342564, -0.112648144, -0.18259776, -0.0134320175, -0.19909476, 0.09715426, 0.015931793, -0.13415024, -0.1476672, -0.07625902, 0.11680044, -0.02269237, 0.013758246) * go_2(-1.0, -1.0); - result += mat4(-0.24389952, 0.1949585, -0.08155146, -0.14432955, 0.061777957, 0.0053770593, 0.11755161, -0.053200334, -0.18301581, -0.015372121, -0.10212801, 0.27215135, 0.089837484, 0.011281987, -0.1765269, 0.060139008) * go_2(-1.0, 0.0); - result += mat4(0.1613523, -0.051561244, -0.08003759, -0.15677674, -0.010480271, -0.05442542, 0.03414788, -0.054194316, -0.087549254, 0.22978279, -0.0047125067, 0.16779551, 0.0654713, 0.055772237, -0.009877759, 0.04076752) * go_2(-1.0, 1.0); - result += mat4(-0.018052207, -0.07168355, -0.1447087, 0.2920458, 0.1345294, -0.0847823, 0.0014948811, -0.10205125, -0.044011697, -0.16249846, -0.052916005, -0.0181699, -0.08360677, -0.06418388, -0.036664434, -0.15985154) * go_2(0.0, -1.0); - result += mat4(-0.0043584667, 0.1973149, 0.07195116, 0.07608803, -0.10798404, 0.11076036, 0.23318382, -0.23839737, -0.29880977, -0.03647466, -0.13977784, -0.27129006, 0.14539374, 0.003516734, -0.17389128, -0.14548092) * go_2(0.0, 0.0); - result += mat4(-0.039712217, -0.14402422, 0.115726, 0.026172435, 0.088555016, 0.07606563, 0.047167692, -0.048009936, -0.19357018, 0.01590195, -0.08144182, 0.11633417, 0.044445038, -0.038849603, 0.02644488, 0.12953997) * go_2(0.0, 1.0); - result += mat4(-0.2535649, -0.09789916, -0.059466388, -0.17749946, -0.024909042, 0.07494422, -0.0817595, 0.20722246, 0.049061295, -0.26182574, 0.11551785, -0.11284367, -0.19183765, -0.075118415, 0.023913708, -0.13905819) * go_2(1.0, -1.0); - result += mat4(-0.009345336, 0.06655174, -0.002273717, -0.06538255, -0.015212964, 0.039716627, -0.08802585, -0.112940565, 0.018324325, 0.24168438, -0.2545027, 0.025853468, -0.11133557, -0.028638441, 0.026320668, -0.09357033) * go_2(1.0, 0.0); - result += mat4(-0.23745783, -0.032814, 0.2784286, -0.04626241, -0.02654139, -0.018567635, -0.0013748549, -0.064650096, 0.08974625, 0.04735343, -0.027304498, 0.14134395, 0.009515457, -0.0011779714, -0.001755572, 0.008599811) * go_2(1.0, 1.0); - result += mat4(-0.053202473, -0.17543721, 0.03065013, -0.11342283, 0.13609491, 0.15735649, 0.040357295, -0.062337715, 0.060803644, -0.0032487542, -0.13659185, -0.09013045, -0.058906827, -0.116660595, 0.03664988, 0.059270184) * go_3(-1.0, -1.0); - result += mat4(0.21752366, -0.06447607, -0.083456226, -0.06617954, -0.013684511, -0.1191609, -0.2506009, -0.08164425, 0.1306491, 0.19933657, 0.13410534, 0.09191758, -0.039843913, -0.06834293, 0.08471115, -0.09353382) * go_3(-1.0, 0.0); - result += mat4(-0.027393917, -0.08497713, 0.26017472, 0.2136785, -0.1488196, -0.07492567, 0.14468898, 0.16119008, 0.0121641755, 0.22242029, -0.06302512, 0.062499605, 0.06213177, -0.09802615, -0.30932772, 0.011748043) * go_3(-1.0, 1.0); - result += mat4(0.1187535, 0.04582557, -0.12194581, -0.039476555, 0.20283094, -0.10453671, 0.09578921, -0.22217935, 0.2739068, 0.09089512, -0.3268319, 0.17347647, -0.08915248, -0.13531092, 0.14857613, -0.07792796) * go_3(0.0, -1.0); - result += mat4(-0.082583435, 0.16037074, 0.034193352, -0.07133332, -0.0669728, -0.24518156, 0.11620159, -0.10171298, -0.03303509, -0.0028717325, 0.0760564, -0.07741538, 0.046745025, -0.25254723, -0.01662034, 0.055250034) * go_3(0.0, 0.0); - result += mat4(0.12526712, -0.0023898773, -0.3012884, -0.047304068, -0.09815741, 0.013686822, -0.050375015, 0.14987841, -0.038195454, 0.040165856, 0.014663741, 0.16414583, -0.15489048, 0.0926139, -0.21309514, -0.1200608) * go_3(0.0, 1.0); - result += mat4(-0.09133431, -0.16783749, -0.062135316, 0.018470682, 0.022288319, -0.02211177, 0.13391319, -0.18012549, 0.49915206, 0.13974468, -0.08988157, 0.12178317, 0.0401673, 0.053748768, 0.019889776, 0.03453906) * go_3(1.0, -1.0); - result += mat4(0.14379664, 0.08435809, 0.036211815, 0.07440852, -0.06631962, -0.12839338, 0.14946012, -0.21335278, 0.34956563, 0.5433695, -0.2727362, -0.086059555, 0.15091617, -0.1394221, 0.19740397, 0.14155756) * go_3(1.0, 0.0); - result += mat4(-0.020419724, 0.07860248, -0.25041556, 0.043661647, -0.018286234, -0.059268583, -0.018467212, 0.04894847, -0.06933085, 0.31178948, -0.11954371, -0.0636989, 0.07150373, -0.04530066, -0.0018285213, 0.019425247) * go_3(1.0, 1.0); - result += mat4(0.09962638, -0.17088315, -0.06602017, -0.06087763, -0.1418266, -0.13101861, -0.13441323, -0.246784, -0.11813881, -0.28987116, 0.0533919, 0.058272794, -0.005445841, 0.015091582, 0.20249642, -0.105762914) * go_4(-1.0, -1.0); - result += mat4(-0.21612363, -0.1450863, -0.23284402, 0.006895393, -0.017744822, -0.20156701, 0.012746878, 0.018686332, 0.07711055, -0.10632525, -0.12213612, 0.051344417, -0.0141962785, -0.08607468, -0.05173791, -0.012742015) * go_4(-1.0, 0.0); - result += mat4(-0.35659614, 0.06504701, 0.0072779786, 0.3384698, -0.14741105, -0.107767306, -0.14098823, 0.22308472, -0.08386747, 0.09358457, 0.052461777, 0.16237038, -0.0059022917, -0.088671595, 0.14027567, -0.04549793) * go_4(-1.0, 1.0); - result += mat4(-0.23274305, 0.087585405, -0.006931044, -0.23876844, 0.08388762, -0.3022666, -0.16896221, 0.06452799, 0.2715658, -0.10732195, -0.057401773, 0.11985068, -0.06397641, -0.04235397, -0.026778454, 0.21212392) * go_4(0.0, -1.0); - result += mat4(0.0082654, 0.28741485, -0.14546123, 0.20393674, -0.02755474, -0.120006405, 0.3581759, 0.12956442, 0.009266114, 0.012998164, 0.032407217, 0.06048391, 0.041528724, -0.13716324, 0.10482829, 0.084386185) * go_4(0.0, 0.0); - result += mat4(-0.11990044, 0.092382684, -0.27219963, 0.15899557, -0.001977273, 0.120091155, 0.046375066, -0.21674563, 0.055842437, 0.07407933, 0.123498544, -0.08587901, 0.06925744, -0.07803027, -0.18120557, -0.0013798468) * go_4(0.0, 1.0); - result += mat4(-0.025172636, 0.0014970741, -0.12216828, -0.07777998, -0.11570999, -0.2672482, -0.04927161, 0.047932815, 0.017598571, 0.06150582, -0.006943665, 0.06608355, 0.09816235, -0.02132959, 0.022629065, -0.11914383) * go_4(1.0, -1.0); - result += mat4(-0.03462315, 0.0662906, 0.043817297, -0.09336832, -0.02393236, 0.12857129, -0.08293834, -0.079446144, 0.07298153, -0.22665861, 0.19360217, -0.027094053, 0.067512356, 0.054872043, 0.07353051, -0.019753326) * go_4(1.0, 0.0); - result += mat4(0.052837294, 0.122079946, 0.10026166, -0.16611442, -0.20202795, 0.10773466, 0.016957153, -0.06257964, 0.065463126, -0.0070094382, 0.0057103466, 0.0263681, -0.083057486, 0.011921135, 0.18715331, -0.009138652) * go_4(1.0, 1.0); - result += mat4(-0.039395697, 0.047360536, 0.08876623, -0.051131938, 0.079491556, -0.062068135, -0.11143306, -0.1600982, 0.1182525, 0.0990501, 0.032290936, 0.16515383, 0.048210137, 0.27581617, 0.2143776, -0.26727012) * go_5(-1.0, -1.0); - result += mat4(0.009885355, -0.10188308, 0.014354376, -0.07466153, -0.09686006, 0.03712243, -0.07547052, -0.2513815, -0.1224751, 0.28383356, -0.11245158, -0.0022227417, 0.10997654, -0.12797359, -0.026750803, -0.15781246) * go_5(-1.0, 0.0); - result += mat4(-0.03825075, 0.0119200265, 0.13641061, 0.08023444, -0.05399191, -0.029703232, 0.11449091, 0.104263976, 0.13190906, 0.03559845, 0.00035285854, -0.24578363, -0.030404888, 0.03632663, 0.2665158, 0.287037) * go_5(-1.0, 1.0); - result += mat4(0.19444078, 0.04411847, 0.10453107, 0.16204067, -0.10203096, -0.1057438, -0.10478279, -0.10320498, 0.0060342676, 0.20314808, -0.080608025, -0.13728383, 0.23798111, 0.03982377, 0.0018392511, -0.17587116) * go_5(0.0, -1.0); - result += mat4(0.093861975, -0.037806403, -0.023811158, 0.08989214, 0.16903597, -0.11738837, 0.057141513, 0.03039443, 0.07186046, -0.16815007, 0.041725967, 0.023349155, -0.21743254, -0.054814734, 0.21988024, -0.19913116) * go_5(0.0, 0.0); - result += mat4(-0.098907694, 0.12669978, -0.022410035, -0.09411821, -0.037412155, 0.04395231, -0.15797623, -0.14484851, -0.036790654, -0.038002916, 0.16846262, 0.21878582, -0.053109415, -0.03769754, -0.24775061, -0.010048842) * go_5(0.0, 1.0); - result += mat4(-0.12894969, 0.0033566963, 0.030691003, 0.033040218, -0.08500356, -0.043196633, 0.06903723, -0.17297482, -0.102706455, 0.13380836, 0.20812829, -0.054975122, -0.058504406, -0.08924625, 0.0967954, -0.12462231) * go_5(1.0, -1.0); - result += mat4(-0.020506827, 0.040906876, 0.15277289, -0.11496513, 0.19803853, 0.011656168, 0.0041951393, 0.16394733, -0.052599292, -0.2028797, -0.012671829, 0.12447954, -0.042609632, 0.18015629, -0.047704864, -0.20819715) * go_5(1.0, 0.0); - result += mat4(-0.04611932, -0.04080319, 0.1732811, -0.16310379, -0.0759677, -0.012633483, -0.12658887, -0.10228954, 0.11699648, 0.020952728, -0.1922721, 0.079663426, -0.017287953, 0.050658427, -0.061943304, -0.26140955) * go_5(1.0, 1.0); - result += vec4(-0.020329567, 0.07771538, 0.06740593, -0.00038238944); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09670644, -0.04566203, -0.10664036, -0.11654977, 0.10353238, -0.026668113, -0.06772906, -0.058057647, -0.04721855, -0.019877478, -0.16225834, -0.18661498, -0.1137224, 0.01452415, 0.09002202, -0.07991262) * go_0(-1.0, -1.0); - result += mat4(0.12247382, 0.10237518, 0.04044118, -0.04867563, 0.106729075, 0.19503647, -0.01294371, 0.12316606, 0.08497549, -0.01606401, 0.031219587, 0.1474753, -0.14370713, -0.24351072, -0.17444824, 0.12567697) * go_0(-1.0, 0.0); - result += mat4(-0.05373204, -0.11406721, -0.04307548, -0.0011615923, 0.09172633, -0.034839034, 0.12179155, -0.032049768, -0.036665026, 0.02375685, 0.01977139, -0.115673535, -0.065757565, 0.12521514, 0.03739438, -0.012122441) * go_0(-1.0, 1.0); - result += mat4(0.0037090098, -0.09165263, -0.22216173, -0.09436383, -0.018459387, 0.15764487, 0.106846556, -0.15703869, -0.1056327, 0.100443825, 0.15728104, -0.07118126, -0.071113996, 0.07175751, 0.1066827, 0.015554562) * go_0(0.0, -1.0); - result += mat4(-0.08138076, -0.005017353, 0.0024575114, -0.0280491, -0.1689416, -0.24320668, -0.07413122, -0.026848925, -0.17659375, 0.095876895, 0.1875987, -0.0052445224, 0.0041429237, -0.13173698, -0.21236134, 0.14331093) * go_0(0.0, 0.0); - result += mat4(-0.023982342, -0.028810123, -0.1591679, -0.02026218, -0.16651444, 0.050990265, -0.1640659, -0.109770395, -0.06517823, 0.06647583, 0.09519326, -0.14313333, 0.061294477, 0.066543005, 0.12260083, -0.1436599) * go_0(0.0, 1.0); - result += mat4(0.07363797, -0.07069135, -0.01332299, -0.1166729, -0.17299873, 0.10319499, 0.17256232, -0.15059224, 0.12490272, 0.03816397, -0.07081764, -0.0005555199, 0.009463498, -0.080442056, 0.05372971, -0.01984048) * go_0(1.0, -1.0); - result += mat4(0.07747191, 0.038767997, -0.042611655, -0.025650622, -0.20976418, 0.11478602, 0.05521954, 0.03552756, 0.012396808, 0.10836491, 0.01147957, 0.17223893, -0.09354668, -0.061399113, 0.03731426, -0.095968515) * go_0(1.0, 0.0); - result += mat4(0.0029518164, -0.07522048, -0.30731654, 0.14996396, -0.09563301, -0.1635997, 0.16482228, -0.33490175, 0.034455117, -0.124511935, 0.003454064, -0.011791387, -0.08124914, -0.020552732, 0.14202276, -0.053646516) * go_0(1.0, 1.0); - result += mat4(0.029005067, -0.019747132, 0.041804817, 0.10725602, 0.09535564, 0.17670439, 0.18999198, 0.06499296, 0.09519827, -0.09794806, 0.10868586, -0.038871128, -0.092565574, -0.018548176, 0.028203959, -0.050549477) * go_1(-1.0, -1.0); - result += mat4(0.10629401, -0.01204608, -0.0766338, 0.112705976, -0.103695825, 0.10200874, 0.008448839, 0.017780313, -0.024469525, 0.1860687, 0.14225325, 0.15677285, -0.14190355, -0.22543404, 0.024092557, -0.2790124) * go_1(-1.0, 0.0); - result += mat4(0.08649951, 0.040031336, -0.010628009, -0.04257323, 0.052871518, 0.06654039, -0.07866483, 0.09136843, -0.10960993, -0.029104995, 0.18752916, 0.022354944, -0.15167497, -0.04915799, -0.03720373, 0.18194139) * go_1(-1.0, 1.0); - result += mat4(-0.029030664, 0.063362755, 0.010331715, 0.034228537, -0.010749333, 0.026652085, -0.06266523, -0.047827587, 0.19567958, -0.07156196, 0.080418445, 0.040099807, 0.06901692, -0.10262759, 0.10190994, 0.1662688) * go_1(0.0, -1.0); - result += mat4(-0.04938947, 0.20808902, -0.012551209, 0.13833791, -0.08467056, -0.06768094, -0.0035055066, 0.2141383, 0.011813273, -0.094283104, -0.11627318, 0.0035407832, -0.16360888, -0.04307167, 0.18481791, 0.07308102) * go_1(0.0, 0.0); - result += mat4(0.058353335, 0.09541393, 0.013101275, -0.081891365, 0.08742119, -0.005137093, 0.025961146, -0.037318625, -0.14933549, 0.06090928, 0.12738119, -0.10817076, -0.13165309, 0.16108744, -0.13503371, 0.15482368) * go_1(0.0, 1.0); - result += mat4(-0.034848627, -0.0430948, -0.048124265, -0.04486795, -0.035008915, 0.08321689, -0.04977505, 0.048597503, 0.020555262, -0.07508485, 0.20037362, 0.06753769, 0.058704067, -0.009009662, -0.05421176, 0.20524938) * go_1(1.0, -1.0); - result += mat4(-0.12115005, 0.045643892, 0.112293474, 0.022908293, 0.073470674, -0.067966096, -0.017103313, -0.13648018, -0.07021163, 0.031020392, -0.048876107, 0.10397969, -0.005251243, -0.2611716, -0.07903786, 0.3444416) * go_1(1.0, 0.0); - result += mat4(0.10680049, -0.09858707, -0.0010306702, 0.10842332, -0.09013634, 0.02091661, 0.22192872, -0.15876925, 0.035971455, -0.04786045, 0.009500665, 0.09247623, 0.013221849, 0.1912487, -0.12753724, -0.061068386) * go_1(1.0, 1.0); - result += mat4(-0.03980972, -0.1474463, 0.22852057, -0.030534718, 0.103116564, -0.024893943, 0.023735823, -0.19768827, -0.088497065, -0.20338957, -0.022078201, -0.058560856, 0.16291575, 0.014483492, -0.093514696, 0.14760342) * go_2(-1.0, -1.0); - result += mat4(-0.09319041, 0.08757541, 0.024344994, -0.004351115, 0.0023287807, 0.036806494, -0.02552934, -0.06227957, -0.1354203, 0.0283256, 0.2185213, -0.087060206, -0.022696337, -0.16076073, -0.20330715, 0.036380492) * go_2(-1.0, 0.0); - result += mat4(-0.041115735, -0.023528732, -0.10124798, 0.21328308, -0.009342506, 0.07328608, 0.009285847, -0.23402044, 0.13117228, 0.1009154, 0.18027642, 0.074597865, 0.09881346, -0.00081656995, -0.002189424, -0.105243) * go_2(-1.0, 1.0); - result += mat4(0.11213601, -0.23114498, 0.10217712, -0.083360896, 0.07913656, -0.039601568, 0.11367716, -0.034739245, -0.14472133, -0.035573903, -0.35375246, 0.040547356, -0.1504422, -0.15183373, -0.08146184, -0.015926573) * go_2(0.0, -1.0); - result += mat4(0.007678496, 0.045396518, 0.067442104, 0.357935, 0.1795549, -0.028398065, 0.26147032, -0.22306849, -0.028738718, -0.10074325, -0.08521542, -0.020190565, -0.175108, -0.26179528, -0.1149573, 0.05406529) * go_2(0.0, 0.0); - result += mat4(0.030697253, 0.06005289, 0.024412693, -0.013535843, 0.030500244, 0.14023077, -0.047582973, 0.07610684, 0.0571624, 0.19386198, 0.021660715, 0.03154867, -0.03788935, -0.08817162, 0.0053847465, -0.015165054) * go_2(0.0, 1.0); - result += mat4(-0.26646808, -0.2275448, -0.0619738, 0.104571655, 0.024079306, 0.033514917, 0.016844772, -0.14415953, -0.01694689, -0.0072623887, -0.12263149, 0.030444223, -0.03220662, 0.022894913, 0.03112325, -0.036533017) * go_2(1.0, -1.0); - result += mat4(-0.15611476, -0.19298914, -0.17546865, -0.080604054, 0.07597506, 0.097353615, 0.029924694, -0.078176685, -0.12268953, -0.05687716, -0.05294087, -0.18172315, -0.0773961, 0.084935166, -0.009803619, 0.040560953) * go_2(1.0, 0.0); - result += mat4(-0.10773278, -0.0012994999, 0.004722267, -0.057820093, -0.10506255, 0.029771779, 0.015667265, 0.14186347, -0.108355746, -0.11185942, 0.022062123, -0.123649485, -0.0666645, -0.0107138315, -0.0130763, -0.046252076) * go_2(1.0, 1.0); - result += mat4(-0.031815648, -0.0084208995, -0.072824255, -0.1508182, -0.064399414, 0.021369422, -0.18965991, 0.03649226, 0.15370539, -0.117377125, 0.15578026, 0.15059558, 0.1423233, 0.013444947, -0.16911474, -0.21899599) * go_3(-1.0, -1.0); - result += mat4(-0.050074972, 0.06591971, -0.20185336, -0.19894198, -0.045794237, -0.09582899, 0.019117232, 0.054774716, 0.00469303, 0.08466791, -0.10310348, 0.03430011, -0.05189703, 0.08612288, -0.09612641, 0.15337339) * go_3(-1.0, 0.0); - result += mat4(-0.058103696, -0.13447452, -0.06501768, -0.08269111, -0.043869898, 0.0398948, 0.033771295, -0.021524182, 0.0027115596, -0.030671224, 0.045388903, 0.04590158, -0.26087472, -0.16301683, 0.03324832, 0.024285218) * go_3(-1.0, 1.0); - result += mat4(-0.051421262, 0.15028518, 0.06384462, -0.08590671, 0.101886876, -0.012882116, -0.051741008, 0.11888618, -0.15590154, -0.38625813, 0.042900138, 0.22492291, -0.09111901, -0.005388837, 0.051056426, 0.043860577) * go_3(0.0, -1.0); - result += mat4(-0.079883516, 0.05735032, 0.10719803, 0.16519663, -0.11724404, 0.25990528, 0.012375103, -0.010302452, 0.49185735, 0.1696493, 0.060474537, 0.3722603, 0.014323083, -0.16412182, -0.059749532, -0.24289557) * go_3(0.0, 0.0); - result += mat4(-0.034733526, -0.084441185, -0.04596736, -0.0042962483, -0.0392975, -0.11149175, 0.14051792, 0.0702665, 0.117540844, -0.102869704, 0.27858627, 0.069043316, 0.04871729, -0.24745311, -0.058776632, -0.0017110928) * go_3(0.0, 1.0); - result += mat4(-0.06277427, 0.16004023, -0.11507597, 0.15097888, 0.027060283, 0.1953599, -0.0031669976, -0.0005737168, -0.19876455, -0.23691651, 0.17741823, -0.12453466, -0.040428206, -0.0018632353, 0.023173677, -0.076046385) * go_3(1.0, -1.0); - result += mat4(0.13513252, 0.0295901, -0.006554118, 0.06786791, 0.15473233, 0.012762339, 0.1927368, -0.06255987, -0.30587965, -0.44131213, -0.086936355, 0.011615333, 0.097696826, 0.02502633, 0.08837973, -0.07914361) * go_3(1.0, 0.0); - result += mat4(-0.013541286, -0.034861088, 0.052821327, 0.037984103, 0.04338181, -0.0133451065, 0.041617934, -0.034278907, -0.053211715, -0.16200064, 0.11068738, -0.0867221, 0.04498939, 0.045188803, -0.05908562, 0.081477076) * go_3(1.0, 1.0); - result += mat4(-0.15266198, 0.22576767, 0.030019565, -0.045541495, 0.04881405, 0.0142783765, -0.1529103, 0.18320109, -0.00480197, 0.094124764, -0.010995377, 0.01641767, -0.010706163, 0.100903675, 0.19038767, -0.18477328) * go_4(-1.0, -1.0); - result += mat4(0.008087569, 0.13434748, -0.32156894, 0.07736676, 0.10494717, -0.11782738, -0.0029439328, -0.09557844, 0.015514035, -0.089648925, -0.17554814, -0.14883392, -0.04063905, 0.050346915, -0.08932905, -0.010719376) * go_4(-1.0, 0.0); - result += mat4(-0.11777635, -0.33014166, 0.34624732, 0.11740032, 0.1543961, -0.019076902, -0.12216481, -0.017081184, -0.00078788324, 0.031078909, -0.028584918, -0.026835786, 0.091864, 0.05272115, -0.12571204, 0.008416047) * go_4(-1.0, 1.0); - result += mat4(-0.043549653, 0.1039711, -0.20336658, -0.010299696, -0.27827185, 0.019381372, -0.1632188, 0.077465065, 0.20229691, -0.069236994, 0.014810417, 0.22877559, 0.02143673, 0.17381601, 0.09082899, -0.053508762) * go_4(0.0, -1.0); - result += mat4(0.2391153, -0.19723871, -0.25610062, 0.07108974, -0.03182384, 0.2192639, -0.09241812, 0.048452295, -0.021405702, -0.2554734, -0.1965786, 0.20361422, -0.14465299, 0.058985952, -0.025833346, -0.10550291) * go_4(0.0, 0.0); - result += mat4(-0.39593056, -0.4537898, 0.023792682, 0.37393433, 0.041772638, -0.020854915, 0.050651625, 0.0766088, 0.23962118, -0.06411897, -0.106468715, 0.17854762, 0.03402648, 0.0236968, -0.033498786, -0.12094796) * go_4(0.0, 1.0); - result += mat4(-0.2517486, -0.011749091, -0.08157814, 0.1392019, 0.042420883, -0.23219018, 0.05053571, 0.13250825, -0.050171047, 0.15462638, -0.043420136, -0.014093825, 0.16176236, -0.14638837, -0.0071619265, -0.055462677) * go_4(1.0, -1.0); - result += mat4(-0.3264325, -0.30403548, -0.15088049, -0.010203428, -0.018360123, -0.060466267, -0.090672255, -0.13885537, -0.038393795, 0.20886149, -0.10593147, 0.017991208, 0.08373391, 0.20925963, 0.028997745, 0.06881825) * go_4(1.0, 0.0); - result += mat4(0.19107129, -0.16896184, -0.12929466, 0.07562441, 0.064231046, 0.0864716, -0.03966105, 0.09153016, -0.0628452, -0.015886426, -0.07048391, -0.24076262, 0.011216516, 0.07708032, -0.03814493, 0.13395755) * go_4(1.0, 1.0); - result += mat4(-0.05879415, -0.019550052, -0.023919582, -0.11289196, -0.0064408537, 0.07402445, 0.058795378, 0.15885338, -0.043667927, 0.10769252, 0.030309072, 0.048533317, -0.2524471, 0.059829284, 0.0797783, -0.019442867) * go_5(-1.0, -1.0); - result += mat4(-0.0038486274, -0.04580634, 0.07400007, -0.031162377, 0.10273923, 0.008071164, 0.11991736, 0.026728682, 0.026876984, -0.07799812, 0.1297364, 0.14695424, -0.06859438, -0.10330936, -0.07446633, 0.02616857) * go_5(-1.0, 0.0); - result += mat4(-0.16036308, 0.04957999, 0.01030331, -0.1962486, 0.103015296, -0.007340536, -0.049429756, 0.07165493, 0.008103339, 0.083655335, 0.098038, -0.1358248, -0.25885662, 0.029940864, -0.008321852, 0.2294651) * go_5(-1.0, 1.0); - result += mat4(-0.06087098, 0.00019651231, 0.03534409, 0.03318348, -0.0879954, 0.034764756, -0.30367124, -0.09713905, -0.026543869, -0.089636214, 0.12096616, -0.034594636, 0.054902434, -0.09290082, -0.07779638, -0.0821119) * go_5(0.0, -1.0); - result += mat4(0.13779263, 0.18896884, -0.076830864, -0.09442952, -0.23735744, -0.014474691, 0.009051341, 0.10342686, 0.041046456, -0.10701024, -0.18442988, 0.02789949, -0.00074035715, -0.025513707, -0.040514592, 0.036068246) * go_5(0.0, 0.0); - result += mat4(-0.048401676, 0.20745294, 0.0070508514, -0.0705337, -0.022934115, -0.043547787, 0.04628692, -0.07658743, -0.10154497, -0.13417569, -0.0013773212, 0.14263885, -0.07437275, -0.13121726, 0.12632057, 0.034687687) * go_5(0.0, 1.0); - result += mat4(-0.027830327, -0.030560987, 0.12718935, -0.102934904, -0.02562363, 0.008175067, -0.0028858446, -0.015783066, 0.15272577, 0.10772941, 0.043485314, 0.014232708, 0.08577555, -0.16121073, 0.026591625, -0.055126593) * go_5(1.0, -1.0); - result += mat4(-0.06485661, -0.11781964, -0.1421969, -0.16376711, 0.18121801, 0.123108625, -0.15428194, -0.06915854, 0.05089843, 0.08377868, 0.09607435, -0.02494757, -0.076740764, -0.19782536, -0.3470603, 0.037040427) * go_5(1.0, 0.0); - result += mat4(0.10614744, 0.09086957, -0.02948694, 0.017862784, 0.027194018, 0.069870904, -0.021802098, 0.21401364, 0.11846571, -0.056183722, -0.071595654, 0.029162262, -0.124404505, -0.072095454, 0.040073395, -0.02816261) * go_5(1.0, 1.0); - result += vec4(-0.034254678, 0.047492404, -0.00038721046, -0.00072104816); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.20878315, 0.073090814, 0.34913197, 0.04554434, -0.3036766, 0.04255219, 0.060676616, 0.24025755, -0.019680336, -0.15252031, -0.03416314, -0.072506554, 0.013241457, -0.10496547, 0.050562985, -0.033250205) * g_0; - result += mat4(-0.18049034, 0.09664636, 0.41482204, 0.23575203, -0.05704124, -0.044852983, 0.1783455, -0.017561441, -0.06852369, 0.014129533, -0.21115111, -0.22699773, 0.38242704, 0.01165174, 0.04190493, -0.2141891) * g_1; - result += mat4(-0.011946614, -0.16289592, 0.041371312, 0.40975794, 0.0041022287, -0.23657559, 0.10817027, -0.26924378, -0.12006245, 0.26678962, 0.072988346, -0.2085322, 0.0048250603, 0.12894252, 0.07966851, 0.24471562) * g_2; - result += mat4(0.18590502, 0.0845459, -0.12875262, 0.26096, 0.029233042, 0.36381075, 0.117661506, 0.006412487, 0.20946807, 0.07426911, 0.029169528, 0.0654646, 0.16450708, 0.12593012, -0.109644994, 0.14572893) * g_3; - result += mat4(0.1973355, -0.2275125, -0.28223652, 0.31719315, 0.3813502, 0.2693579, -0.037815563, -0.16148391, 0.12829015, -0.0030689894, 0.022164742, 0.035949815, -0.3378249, -0.13235879, 0.15883659, -0.17731927) * g_4; - result += mat4(-0.2885664, 0.14904943, -0.19845994, 0.23251331, -0.30293494, 0.02003626, 0.20378608, 0.27291408, -0.16427508, -0.1587996, -0.22501752, -0.04937006, -0.115756296, 0.09290222, -0.26140857, -0.014537909) * g_5; - result += mat4(-0.1513065, -0.31879196, -0.2727547, -0.4583672, 0.3103975, -0.09158548, 0.009788355, -0.09834531, 0.011489709, 0.042706747, 0.37254226, 0.15954055, 0.2172001, 0.09373807, 0.29088458, -0.35286763) * g_6; - result += mat4(0.23374696, 0.33407655, 0.23616461, -0.09521148, -0.14927168, 0.11939751, 0.42869845, -0.16612507, -0.2706815, 0.16172597, -0.5814591, -0.11577833, 0.065650895, -0.3334003, -0.41168052, 0.32357255) * g_7; - result += mat4(0.3248823, -0.27207342, -0.048840526, -0.217887, -0.018053366, -0.24292938, 0.1603505, 0.06505262, -0.010766065, 0.07076721, 0.22251016, -0.041497335, -0.09878612, 0.2061045, 0.080330074, -0.029014835) * g_8; - result += mat4(-0.26376098, -0.04971863, -0.03045489, 0.009807002, 0.11108562, 0.0693266, 0.15279642, -0.1372833, 0.18326105, -0.059612468, -0.005589879, 0.021735538, -0.027800532, -0.14984077, -0.116767704, -0.06531209) * g_9; - result += mat4(0.19206688, 0.21824414, 0.03791829, 0.22117318, 0.01257811, -0.044042267, 0.25616458, 0.082941554, -0.1181948, -0.17940602, -0.20808466, -0.06987383, 0.0019713745, -0.1609917, 0.153718, -0.32214788) * g_10; - result += mat4(-0.19472712, -0.007020553, -0.36049378, -0.24589752, -0.011828978, 0.38882232, -0.3257698, 0.08382738, -0.09556564, -0.20949766, -0.32732338, 0.08303877, -0.107999764, 0.2836336, -0.0661124, 0.24043255) * g_11; - result += mat4(-0.1972939, 0.12734106, -0.09953153, -0.45152718, -0.15855458, 0.08746372, 0.11452114, 0.030538268, 0.11946308, 0.17044471, -0.24375156, -0.10093911, 0.19120134, -0.14312318, -0.14860255, -0.1223525) * g_12; - result += mat4(0.14979935, -0.3136038, -0.25878516, 0.12995318, -0.075706124, -0.104598634, 0.1455947, -0.6167443, 0.06843719, -0.16347055, 0.04413483, 0.08870554, -0.29839858, 0.07214889, 0.049274225, -0.15555117) * g_13; - result += vec4(-0.004266169, -0.020547107, -0.0031655694, 0.0643683); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06760422, 0.16268754, -0.14517367, -0.023386402, -0.23272006, 0.48739922, 0.06399116, -0.032946702, -0.17306012, 0.334446, 0.17779559, -0.2660973, -0.3468709, 0.51220256, -0.010311926, -0.040047005) * g_0; - result += mat4(-0.0538168, -0.048309397, 0.064760834, 0.09675621, 0.20269404, -0.2615111, -0.27282992, -0.12584937, 0.10904846, -0.15973651, -0.076846495, -0.09462694, 0.12722874, 0.21629119, -0.35314724, -0.086036965) * g_1; - result += mat4(-0.049174394, -0.05765949, 0.21250841, 0.17151582, 0.15764381, 0.040890984, 0.05118504, -0.14658877, 0.05469671, 0.13701054, 0.20377803, -0.39008877, -0.0016028697, 0.13317284, -0.11653242, 0.12591232) * g_2; - result += mat4(0.21234287, -0.3048995, -0.12653783, -0.109162085, -0.050768167, -0.17156011, 0.05592974, 0.27197394, -0.19419932, -0.046344608, -0.05445905, -0.13253787, 0.05778321, 0.16979085, -0.04466505, -0.06867837) * g_3; - result += mat4(-0.18974759, 0.22814974, -0.007522141, -0.10096491, -0.26759568, 0.32048568, 0.2660603, 0.112091035, 0.41875598, -0.1051111, 0.06525224, 0.27191457, 0.017352497, -0.31743342, 0.29108858, 0.26573792) * g_4; - result += mat4(0.031855166, -0.122523904, -0.28207538, 0.12833035, -0.025733596, 0.008542537, -0.1891138, 0.16361842, 0.058317598, -0.007289248, 0.03349703, -0.038986582, 0.18147361, -0.3912238, 0.024964351, 0.14339498) * g_5; - result += mat4(0.37369347, -0.012460246, -0.037854888, 0.067713045, -0.06288331, 0.26436228, -0.058873445, 0.04463945, -0.04286497, -0.04824939, 0.17835206, -0.036378298, 0.33058742, -0.14685723, 0.1025378, 0.051385757) * g_6; - result += mat4(-0.131484, -0.040644694, -0.14443769, 0.1950223, 0.09507341, 0.48859578, -0.26267928, 0.24538381, -0.063596986, -0.18749404, -0.031884808, -0.07132067, -0.04606875, 0.03708701, -0.26145473, 0.2371378) * g_7; - result += mat4(0.094301306, -0.08795415, -0.035933804, 0.21765485, -0.29858732, 0.11440603, 0.14095801, 0.18262209, -0.08135902, -0.45404965, 0.20399955, -0.06393024, 0.023793167, 0.16001467, -0.11817577, -0.16322103) * g_8; - result += mat4(0.07168084, 0.0879652, -0.083207026, -0.045181375, 0.07845201, -0.15828066, 0.05710845, 0.05699917, -0.061211787, 0.039662443, 0.036026876, 0.14224064, -0.23701179, 0.01259322, -0.091701694, 0.42408752) * g_9; - result += mat4(0.017442457, -0.1311232, -0.22520894, -0.049517628, -0.20945188, -0.035541452, -0.13055338, -0.04001523, -0.09402065, -0.19641486, -0.10066238, 0.115912616, -0.10684873, 0.02787531, 0.28450257, 0.02690632) * g_10; - result += mat4(-0.2659566, 0.43625832, -0.0695883, -0.2624756, -0.2827253, -0.22893822, 0.26025924, 0.24121284, 0.2272709, 0.2178127, -0.15199527, 0.32607552, 0.005909836, 0.056527212, 0.19446251, -0.010751997) * g_11; - result += mat4(0.1273358, -0.28996274, -0.19322409, 0.018734567, 0.48555133, -0.17389202, 0.13595583, 0.46163267, -0.08973322, -0.30239192, 0.49897516, 0.021815563, -0.2589829, 0.0039008032, 0.056682784, 0.048075546) * g_12; - result += mat4(0.415353, 0.112207405, 0.20997275, 0.033321556, -0.1327579, 0.12338585, 0.61820966, -0.3411527, 0.018252999, 0.05708125, -0.24571265, 0.11019793, 0.24145919, 0.20340635, -0.0693869, 0.16271423) * g_13; - result += vec4(-0.07107039, 0.0061239223, 0.0013546069, 0.02994767); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0014731521, -0.15165007, 0.04889816, -0.23228844, 0.11362322, 0.07071926, -0.23770805, -0.04347728, -0.16787082, -0.008313435, -0.42370048, 0.08681679, 0.10611205, -0.012660734, 0.10022364, 0.027629996) * g_0; - result += mat4(-0.35393402, 0.018436229, 0.10629333, 0.029471794, -0.21129252, -0.301571, 0.0045201713, -0.15636055, 0.298371, 0.11426107, 0.018450111, -0.13657977, 0.22216578, 0.009629214, 0.5373198, 0.30699998) * g_1; - result += mat4(-0.1504586, -0.16447587, -0.2739809, -0.14074785, 0.39510623, -0.08384201, 0.14561974, -0.43195033, -0.055713434, 0.12800978, 0.2829296, -0.23494978, 0.14326042, -0.09509476, -0.3169162, 0.124649614) * g_2; - result += mat4(-0.23705968, 0.15959233, 0.11467344, 0.15141489, -0.096755706, 0.023953263, 0.13856179, 0.024189185, 0.13272291, 0.46271062, 0.55494446, -0.14286532, 0.1501738, 0.28827608, 0.058801714, 0.029045105) * g_3; - result += mat4(-0.002308931, 0.07281086, -0.5197955, 0.079986535, 0.38919175, 0.3164044, 0.35857818, 0.09364757, 0.17373051, -0.1447216, -0.05244769, 0.15533692, 0.046295535, -0.19459103, -0.33215967, -0.15369573) * g_4; - result += mat4(0.11478203, -0.29375935, -0.19501545, -0.081721894, -0.103483915, 0.041965716, 0.056954723, 0.19596405, -0.13819647, 0.010641367, -0.11124998, -0.08675409, 0.036859434, 0.23720297, 0.14129876, -0.044769786) * g_5; - result += mat4(0.08397742, -0.12651941, 0.17676216, -0.084249385, 0.36716628, 0.039452277, -0.27606088, -0.36796048, 0.31680533, 0.14186403, 0.4466997, 0.13315229, 0.011085958, -0.17513317, 0.13940759, 0.27495402) * g_6; - result += mat4(-0.1870658, 0.18817395, 0.010469263, -0.39973256, -0.57167524, -0.38714117, -0.26255277, 0.14361858, 0.018649995, 0.15935089, -0.21745402, -0.0056655053, -0.15408997, -0.03154883, -0.29631105, 0.27472818) * g_7; - result += mat4(-0.07735958, 0.042861674, 0.36729267, -0.2362879, -0.15516327, -0.009109079, 0.063800156, -0.253287, 0.4471074, 0.0944695, -0.26948866, -0.07759066, 0.045151226, -0.13749917, 0.14566323, -0.13593693) * g_8; - result += mat4(0.28955856, 0.09293573, 0.07423561, 0.1616493, 0.22285056, 0.01639275, 0.026332684, -0.14958683, -0.32087958, -0.3138252, -0.17335242, -0.38171476, -0.25562596, -0.022701526, 0.17425084, -0.042576227) * g_9; - result += mat4(0.24964347, -0.07078707, 0.18416835, -0.054758202, -0.061644293, -0.0964391, 0.14583856, -0.34874785, -0.3402768, 0.14743538, 0.36047265, 0.04471611, 0.015971184, 0.25227246, -0.011749087, -0.18359871) * g_10; - result += mat4(-0.059328917, -0.07904788, -0.23883855, -0.06956805, -0.040810965, 0.09536262, 0.0018617791, -0.1898438, 0.1794419, 0.11382087, -0.16192305, 0.22020166, 0.03995484, -0.19086155, -0.2970539, 0.14597812) * g_11; - result += mat4(-0.034995254, 0.060782332, -0.0519364, 0.41303346, -0.06989344, 0.21384521, 0.31474474, 0.12592849, 0.17633408, -0.2764535, 0.36884397, -0.015302021, 0.02951528, 0.094452016, 0.13392285, 0.14435606) * g_12; - result += mat4(0.13522784, 0.101011604, 0.04657966, -0.043399148, 0.008192044, 0.0027336285, 0.011269824, 0.09976881, -0.026473437, -0.124423906, -0.19602631, -0.09871594, -0.10603456, 0.057509303, -0.09007557, -0.14438893) * g_13; - result += vec4(-0.07283617, -0.09245546, -0.006695486, -0.013076421); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.47819614, -0.0145807015, -0.14235033, -0.06459091, 0.051679384, -0.24727756, 0.16531977, 0.23668537, -0.044610042, -0.03163047, -0.024059737, 0.21251118, -0.02900184, -0.11218355, 0.085020125, -0.08413842) * go_0(-1.0, -1.0); - result += mat4(-0.083133794, 0.08406656, 0.20940667, 0.21155417, -0.12855776, -0.061865382, 0.2486309, 0.13191856, -0.028019775, 0.11366226, 0.13459402, 0.18391807, -0.09688631, 0.011591497, -0.2466206, -0.02237942) * go_0(-1.0, 0.0); - result += mat4(0.0037495645, 0.019915475, 0.07625364, 0.07119373, 0.18423386, 0.07686032, -0.013689673, -0.11513128, -0.12845139, 0.273121, 0.077030145, 0.13114497, 0.04543684, 0.09308563, 0.19357756, 0.24509594) * go_0(-1.0, 1.0); - result += mat4(0.03458686, -0.42040396, -0.104271114, 0.1918791, -0.25708342, 0.03583752, 0.2589993, -0.050576445, 0.0043004244, 0.19324894, 0.080590524, 0.14723596, 0.041485116, 0.13033897, 0.28028202, -0.058933) * go_0(0.0, -1.0); - result += mat4(-0.09480703, -0.13742156, -0.30406207, -0.03582789, 0.12367775, 0.064455606, -0.061555192, 0.06453598, 0.0917327, 0.04270991, 0.21958654, 0.13570474, -0.12048236, -0.024039079, 0.11226094, 0.050419748) * go_0(0.0, 0.0); - result += mat4(0.02062305, -0.10862912, 0.12883052, 0.18951532, -0.03850205, 0.11498875, 0.16137509, 0.009759631, -0.09211893, 0.0708826, 0.15651149, 0.19246778, 0.056577608, -0.0871854, 0.090261444, -0.019027064) * go_0(0.0, 1.0); - result += mat4(0.2780629, -0.054287303, -0.13351089, 0.021154758, -0.12753387, 0.031183334, 0.29430825, -0.06750467, -0.044209514, -0.042159047, -0.12532234, 0.006239919, -0.1961551, 0.099502094, 0.11470277, 0.10832906) * go_0(1.0, -1.0); - result += mat4(-0.2063426, -0.24898255, -0.28594568, 0.15958025, 0.03609107, 0.06394462, 0.022269696, -0.058725126, -0.104284525, 0.16744058, -0.14197277, -0.0051877275, -0.14164501, 0.021519974, -0.12835859, -0.12090698) * go_0(1.0, 0.0); - result += mat4(-0.45966595, 0.015630098, -0.3182287, 0.10282032, 0.14680836, -0.23460387, 0.15356645, 0.017346757, 0.05120857, -0.035891768, -0.092325106, 0.005394217, -0.09328155, -0.012819384, 0.14028293, 0.012717323) * go_0(1.0, 1.0); - result += mat4(0.06736054, -0.0044496846, -0.061849196, -0.04067691, -0.06897966, 0.12449442, -0.2508966, -0.090206414, -0.0938398, 0.013633642, 0.1409954, -0.08719504, -0.06788997, 0.098299906, 0.06095718, -0.071988545) * go_1(-1.0, -1.0); - result += mat4(-0.036788728, 0.0037640312, 0.0037646547, -0.021026969, 0.09899778, -0.054118365, 0.08308994, 0.10520542, -0.2592658, 0.113168575, -0.15985844, -0.15588784, -0.114530176, 0.0118468655, -0.08904175, -0.106764145) * go_1(-1.0, 0.0); - result += mat4(-0.027948795, 0.004584627, -0.03517112, -0.0007581547, -0.025537577, -0.035759352, 0.0973176, 0.03644148, -0.16327894, -0.12705119, -0.028998915, 0.123633325, -0.19453679, 0.113648765, 0.012692621, 0.057508085) * go_1(-1.0, 1.0); - result += mat4(-0.010877041, -0.03980561, 0.013339347, 0.061969575, 0.2810196, 0.058558464, -0.1776418, 0.16630451, 0.05817873, 0.07262613, -0.03700459, -0.04399585, -0.16587572, 0.08260915, -0.009857085, 0.04391152) * go_1(0.0, -1.0); - result += mat4(0.13224548, -0.074267186, 0.03054752, -0.07024831, 0.074185595, -0.02313642, 0.065747924, -0.004960654, 0.14500527, 0.04731656, -0.117002204, -0.08217113, -0.07336124, -0.084052, 0.12326484, 0.09011222) * go_1(0.0, 0.0); - result += mat4(-0.16047195, 0.076803066, -0.2786948, 0.1176941, -0.0131406775, 0.009936233, 0.1374073, -0.09565009, 0.10070214, 0.11528786, -0.0730813, -0.13431457, -0.21621323, -0.013119195, -0.18385343, -0.058667593) * go_1(0.0, 1.0); - result += mat4(0.0040132185, 0.134705, -0.011815555, -0.094924495, -0.05727005, 0.0950522, 0.04084158, 0.016365912, -0.02917897, -0.03862751, 0.012003192, 0.03835569, -0.096041076, 0.004406702, -0.10389978, -0.0009610953) * go_1(1.0, -1.0); - result += mat4(-0.10157398, -0.10319637, -0.012073916, -0.19039184, -0.02369365, -0.021698838, 0.015538155, -0.051231697, 0.041044284, -0.02691978, -0.1713024, -0.12904704, -0.03471921, 0.037977315, 0.064845525, 0.1264632) * go_1(1.0, 0.0); - result += mat4(-0.08406344, 0.044064984, 0.056877784, -0.13283873, -0.0058603142, 0.075482026, -0.09246969, -0.065718174, -0.025745329, 0.015633717, -0.06059284, 0.08149079, -0.022848418, 0.061127402, 0.047879003, 0.04544503) * go_1(1.0, 1.0); - result += mat4(-0.21875143, 0.053516608, 0.04243476, -0.08509983, 0.406294, -0.060116358, -0.13793904, -0.1559247, -0.017128536, 0.021633752, 0.08865264, -0.032922007, 0.08250139, -0.17353764, -0.16137601, 0.12943612) * go_2(-1.0, -1.0); - result += mat4(-0.27127337, -0.057137657, 0.005031509, 0.10027777, 0.20500132, 0.0073007634, -0.09760265, -0.2428409, -0.16160156, 0.32289484, -0.096351616, -0.15562637, -0.24892123, 0.13368145, 0.31498823, 0.09549184) * go_2(-1.0, 0.0); - result += mat4(0.01444343, 0.07115736, -0.17920075, -0.024846312, 0.057884447, 0.14358939, 0.043788955, -0.013016863, 0.087220736, -0.0060180086, 0.19609165, -0.025888423, -0.06294847, 0.03406598, -0.04250465, -0.04808649) * go_2(-1.0, 1.0); - result += mat4(-0.02662509, 0.24295834, -0.07612864, -0.20615683, 0.16377121, -0.05186765, -0.1750536, -0.04726876, 0.29443663, 0.0983683, -0.18610948, -0.1949004, -0.1446201, 0.11045659, 0.013536009, 0.18919495) * go_2(0.0, -1.0); - result += mat4(-0.080005094, -0.29404542, 0.14548069, 0.013500291, -0.011395713, -0.048017073, -0.053436857, -0.13627477, 0.041908856, -0.30820572, 0.17044339, 0.22999896, -0.32405153, 0.12114645, -0.080108374, -0.06520369) * go_2(0.0, 0.0); - result += mat4(0.062350888, 0.170049, 0.04211445, 0.12288375, 0.010835714, -0.17722476, -0.18930283, 0.11607083, -0.054421842, -0.004191082, 0.14655825, -0.1229237, -0.058039404, 0.09008831, -0.017603457, 0.027497675) * go_2(0.0, 1.0); - result += mat4(0.24208143, 0.04073837, -0.014191606, -0.069054805, 0.33024073, 0.25458166, -0.062864356, 0.028975246, 0.17692459, 0.22093695, -0.17666881, -0.03709188, -0.2001521, -0.06491504, 0.199202, 0.08666711) * go_2(1.0, -1.0); - result += mat4(0.053933676, -0.058177974, 0.006558046, -0.018798346, -0.05610966, 0.21288905, -0.06513558, -0.012686734, 0.11635233, -0.039428618, 0.21562201, -0.07206132, 0.065123, -0.056875434, 0.08877115, -0.10216625) * go_2(1.0, 0.0); - result += mat4(-0.03294463, 0.011720216, 0.056083966, -0.05530083, -0.16838011, -0.0026962461, -0.17402422, -0.009680605, -0.0064969915, 0.14410603, 0.090527765, 0.048180934, -0.06482277, -0.17573984, 0.36281663, 0.14240478) * go_2(1.0, 1.0); - result += mat4(0.026252843, 0.01621395, -0.03018171, 0.20843759, -0.05987382, -0.13891932, 0.008612968, -0.03674587, 0.055803657, -0.020272622, -0.12338887, -0.21429133, -0.026188683, -0.08283737, -0.07952566, 0.11333926) * go_3(-1.0, -1.0); - result += mat4(-0.03251504, -0.04554576, 0.012727539, 0.06115098, -0.23113467, -0.21784578, 0.10390341, -0.028863542, 0.1405748, -0.092941806, 0.04094931, 0.26037696, 0.014778488, -0.0012763811, 0.120576814, 0.017626097) * go_3(-1.0, 0.0); - result += mat4(-0.18005073, 0.08914073, -0.19792715, 0.07666369, -0.040389247, 0.06043132, -0.068735644, 0.006061951, -0.09742132, -0.015570641, -0.05810036, -0.06305046, 0.06286483, -0.1669205, -0.15426171, 0.046022687) * go_3(-1.0, 1.0); - result += mat4(-0.045976873, 0.028456753, 0.037186757, 0.05231241, -0.12909305, -0.16277504, -0.0035813665, -0.06294949, -0.04205357, -0.15816367, -0.021810539, -0.108161986, -0.08399507, -0.12965044, -0.00611913, -0.029711436) * go_3(0.0, -1.0); - result += mat4(0.2537032, -0.018604688, 0.16584206, -0.20883793, -0.10245589, -0.06570063, -0.16321684, 0.02899805, -0.1427425, 0.20915249, -0.1761724, -0.09594, -0.10995607, -0.11155546, 0.037878104, 0.028106442) * go_3(0.0, 0.0); - result += mat4(-0.1628865, -0.17466225, -0.14372015, 0.05667306, 0.10472602, -0.018716356, 0.087850116, -0.056246866, 0.083403885, -0.082255535, -0.10299376, -0.1840543, -0.35220358, -0.059505656, -0.21391232, 0.16591822) * go_3(0.0, 1.0); - result += mat4(0.040541083, -0.1146205, -0.021495365, -0.033008795, 0.007970957, 0.007984478, 0.02606323, 0.012668774, 0.12771203, -0.09947922, -0.14149466, -0.1890857, -0.14682727, 0.033072542, -0.11833484, -0.038956877) * go_3(1.0, -1.0); - result += mat4(-0.14274059, 0.08827524, 0.011712704, 0.10902492, 0.060481314, 0.003578728, 0.029129535, 0.08889746, -0.09685511, -0.095264345, -0.13920794, -0.11014531, -0.05436568, 0.060371455, 0.07251505, 0.20626338) * go_3(1.0, 0.0); - result += mat4(-0.07604635, -0.035359483, 0.010230144, 0.030468917, -0.008423673, 0.0273416, -0.10538517, 0.10806335, 0.03605524, -0.082360476, -0.06390322, -0.19094782, -0.10980772, 0.13070256, -0.009116851, 0.094997086) * go_3(1.0, 1.0); - result += mat4(0.06696349, 0.02884076, -0.21400648, 0.10645195, -0.15960447, 0.07844191, 0.09057932, -0.022310507, -0.20641366, -0.20897295, 0.05159085, -0.042257026, 0.16398512, -0.22846761, -0.033591952, 0.3359712) * go_4(-1.0, -1.0); - result += mat4(-0.024236226, -0.13937415, 0.29392216, 0.075087205, 0.07763272, 0.27571923, -0.28625518, -0.37574485, -0.0041614594, 0.051519327, -0.1727601, -0.002199689, -0.32436445, 0.059740037, 0.006543187, 0.11488307) * go_4(-1.0, 0.0); - result += mat4(-0.025740145, 0.10688955, 0.3432225, 0.04467087, 0.033870216, 0.16714002, 0.20819634, -0.11762629, 0.19059974, 0.0661928, 0.022394795, -0.14459209, -0.16684553, 0.08020461, -0.37147745, 0.04065124) * go_4(-1.0, 1.0); - result += mat4(-0.006134667, -0.0031798254, -0.101459935, 0.15463492, 0.039860703, 0.077067874, 0.17671694, -0.06597644, -0.12203232, -0.058787927, 0.008942991, 0.0570718, -0.043793175, -0.06388724, 0.0247615, -0.09814649) * go_4(0.0, -1.0); - result += mat4(0.009333359, -0.10666345, 0.19417302, -0.08021104, 0.071850464, 0.18651992, 0.1487532, 0.03132098, -0.21202543, 0.02972519, 0.028346745, 0.17178747, -0.24139602, -0.18386513, -0.03009887, -0.17363264) * go_4(0.0, 0.0); - result += mat4(0.006349671, -0.0199598, 0.14889078, -0.14921328, -0.08713048, 0.14722322, 0.041971955, -0.019181551, 0.07069949, -0.12362262, 0.08554868, 0.16224997, -0.11218193, 0.3132043, -0.18114331, -0.104602315) * go_4(0.0, 1.0); - result += mat4(0.047690846, -0.26872492, 0.2183612, 0.19340567, -0.06084255, 0.04798949, 0.19492827, 0.14699973, -0.07016259, 0.14654481, -0.06714773, 0.07936776, 0.073397264, -0.10646918, -0.13238135, 0.07208961) * go_4(1.0, -1.0); - result += mat4(0.07382223, -0.044347115, -0.032497067, -0.02002406, 0.18200569, -0.09839878, -0.0027670355, -0.032592446, -0.05297432, 0.11200702, -0.019955616, 0.112369545, -0.2748285, -0.139697, -0.26332188, -0.303972) * go_4(1.0, 0.0); - result += mat4(-0.23713836, -0.003925555, 0.16436225, 0.15221255, 0.1077621, -0.027760457, 0.0059113647, -0.11066059, -0.0980858, 0.011830199, 0.040253483, 0.06447465, -0.0827841, 0.04048125, 0.04551489, -0.12471252) * go_4(1.0, 1.0); - result += mat4(0.010833946, -0.058524415, -0.19618602, -0.11400699, -0.088038966, -0.08249501, 0.025192872, -0.04508469, -0.017629553, 0.10654934, 0.007814974, 0.041299284, 0.054442752, 0.14059617, 0.09760092, -0.060198124) * go_5(-1.0, -1.0); - result += mat4(-0.16173755, 0.14454803, -0.036523324, 0.016083395, -0.04597214, 0.019925527, 0.10551423, 0.07915449, -0.09191786, 0.040694106, 0.079085656, 0.04860138, -0.00920608, 0.015785221, 0.08149557, -0.070038155) * go_5(-1.0, 0.0); - result += mat4(0.09396598, -0.27780503, 0.057351794, 0.17856738, 0.06403465, -0.019479418, 0.13132542, 0.09766009, -0.13038878, 0.106342256, 0.19923963, -0.107940085, -0.11207263, 0.07427199, 0.122141175, -0.17083314) * go_5(-1.0, 1.0); - result += mat4(-0.0129763335, 0.029884486, -0.1591489, 0.05743726, -0.10154112, -0.05951815, 0.038755298, 0.31987077, 0.041023176, 0.15760195, 0.020455543, 0.117823385, 0.008611401, 0.10392111, -0.029049959, -0.00561999) * go_5(0.0, -1.0); - result += mat4(0.11115114, 0.13910228, -0.15370879, 0.14353245, -0.106912665, 0.16457058, -0.0007093892, -0.16065751, 0.12172275, -0.0071658283, -0.13790236, -0.05790294, 0.0258849, 0.047155324, 0.028826248, 0.077854194) * go_5(0.0, 0.0); - result += mat4(0.04222945, 0.016645031, -0.22052032, -0.108474314, -0.037527397, 0.1508435, 0.13960642, 0.051745985, 0.17182018, -0.0071819094, 0.13896792, 0.12522686, 0.1307583, 0.09315921, 0.031736225, -0.24318463) * go_5(0.0, 1.0); - result += mat4(0.12233872, 0.16193391, -0.045825243, -0.021991767, -0.06857775, 0.019997157, 0.26207915, 0.017674582, 0.14816906, -0.011254348, 0.11932189, -0.06385669, -0.08113471, 0.13287768, -0.008416972, -0.039866585) * go_5(1.0, -1.0); - result += mat4(0.15459004, -0.029546147, -0.20761466, -0.12011381, -0.09814943, -0.12983616, 0.0019625768, 0.086729765, 0.22380745, 0.112912305, -0.073421806, -0.061414655, -0.00015528004, -0.10514693, 0.0449276, 0.1197672) * go_5(1.0, 0.0); - result += mat4(0.031599533, -0.0699447, 0.10802751, -0.011152619, 0.08078543, 0.10828058, 0.10941837, -0.07911565, 0.16324246, -0.034676578, 0.04017893, 0.01809475, -0.0054880627, 0.027349245, -0.041267768, 0.041391887) * go_5(1.0, 1.0); - result += vec4(-0.022754392, 0.009821446, 0.06426939, -0.052443504); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.31697825, -0.38101152, 0.26027805, 0.19195847, -0.15098146, 0.17915927, 0.263392, -0.108211316, 0.004631585, -0.06989657, 0.057514362, 0.013759571, -0.06416892, 0.033370133, -0.04808954, -0.1563251) * go_0(-1.0, -1.0); - result += mat4(0.15827416, -0.17950794, 0.16834997, 0.13073751, 0.030396005, 0.040662624, 0.16062944, 0.041357074, -0.13926722, -0.06929913, 0.10808029, -0.06798461, 0.10745701, -0.102971874, -0.06641405, 0.0885879) * go_0(-1.0, 0.0); - result += mat4(0.017569518, -0.074986644, -0.0381504, -0.108356364, -0.028105393, 0.107422166, 0.010693419, -0.03790183, -0.056355134, -0.17228265, 0.19153535, 0.014339309, -0.072250925, 0.25570604, 0.06766601, 0.10274542) * go_0(-1.0, 1.0); - result += mat4(0.11808023, 0.03209569, -0.047605, 0.10232121, -0.089450955, 0.22296266, -0.031239472, 0.12547736, -0.13355453, 0.09658202, 0.14639929, 0.1722445, -0.16578807, -0.01587181, -0.06775275, 0.106690586) * go_0(0.0, -1.0); - result += mat4(-0.08015724, -0.09917064, 0.17005561, -0.11093009, -0.033904083, -0.18723048, -0.42410555, -0.34870258, -0.024956835, -0.057636626, -0.17249386, 0.3452565, -0.0781917, 0.048283495, -0.1849922, 0.10712763) * go_0(0.0, 0.0); - result += mat4(-0.19845031, 0.018594265, 0.11669769, 0.04427017, -0.13347605, 0.14735079, -0.20751207, -0.08490434, -0.077883884, -0.17200643, 0.03127422, 0.11106135, -0.04682848, -0.04392586, 0.11629085, -0.03191463) * go_0(0.0, 1.0); - result += mat4(-0.035416074, 0.032688126, -0.034218192, -0.35819814, -0.07167647, -0.032766674, -0.09849224, 0.27033108, -0.040135793, 0.11793038, 0.024326177, 0.056732934, 0.0072507905, -0.15076852, -0.007368895, -0.07758195) * go_0(1.0, -1.0); - result += mat4(0.03677586, 0.088763975, 0.04954433, -0.047844727, -0.07487822, -0.06698103, 0.12568145, -0.22909173, 0.1671084, -0.17893419, 0.09722236, 0.20345661, 0.057767022, 0.044742733, 0.06905004, -0.010992711) * go_0(1.0, 0.0); - result += mat4(0.0028451576, -0.27325574, 0.14329389, -0.07025869, -0.09781529, 0.0151023185, 0.08696752, -0.056844577, -0.19665222, 0.09358589, 0.16416575, 0.06988374, 0.16515698, 0.09760437, 0.023626767, 0.16473217) * go_0(1.0, 1.0); - result += mat4(-0.01080354, 0.014449004, 0.11467091, -0.07119837, 0.18900962, -0.06401898, -0.025841001, 0.13663737, -0.04860565, 0.15505394, 0.11083383, -0.06831929, -0.12395706, 0.04564376, -0.132784, 0.095948376) * go_1(-1.0, -1.0); - result += mat4(-0.009644828, 0.05351468, -0.086626254, -0.07883177, 0.12082235, 0.16186416, 0.20026602, -0.12537873, -0.02765183, -0.19664048, -0.14943156, 0.17649364, -0.15099925, -0.16448402, 0.04770359, 0.08525748) * go_1(-1.0, 0.0); - result += mat4(-0.07529481, 0.057762332, 0.02256763, 0.0037007954, 0.052606575, 0.008619477, 0.035252705, -0.060551647, 0.03680644, 0.1457205, 0.0970469, 0.00867666, -0.0931654, -0.046189044, -0.118787736, 0.059376143) * go_1(-1.0, 1.0); - result += mat4(0.024567254, -0.07128407, -0.02618071, -0.16522972, 0.02537496, 0.09393943, -0.018046979, -0.12497053, 0.041589152, 0.028847594, 0.072174646, -0.12484334, -0.096903354, 0.07245438, -0.03219862, 0.037360255) * go_1(0.0, -1.0); - result += mat4(0.05599119, -0.0027604182, -0.004961665, -0.1297362, 0.10879746, 0.14088875, -0.031004267, -0.016735828, 0.07093551, 0.024946349, 0.16840066, -0.10094298, -0.04150052, 0.09933387, 0.09332617, -0.121228844) * go_1(0.0, 0.0); - result += mat4(0.099246845, -0.17000747, -0.17089754, 0.0021521626, 0.046584304, -0.037944607, 0.1009471, 0.110904016, 0.17920195, -0.00022254961, 0.07443117, 0.07490046, 0.1700909, -0.18371364, -0.15320961, -0.0344897) * go_1(0.0, 1.0); - result += mat4(0.10543544, 0.04469465, 0.14627467, -0.07649682, -0.082381524, 0.12919065, 0.090079635, -0.07820535, -0.06769879, -0.12625079, -0.06946243, -0.19333136, 0.02998107, 0.01594043, 0.12332583, 0.015775004) * go_1(1.0, -1.0); - result += mat4(0.025815854, 0.015107419, -0.045278236, 0.13242702, -0.059958965, 0.031560495, 0.047686167, 0.064922616, 0.09818797, -0.07938157, -0.08586279, 0.079509474, -0.031728156, 0.052335043, 0.046583798, 0.17072229) * go_1(1.0, 0.0); - result += mat4(-0.07827454, -0.033509843, 0.054832056, -0.011652403, -0.029872715, -0.13623856, 0.013034195, -0.009600983, -0.08374398, 0.0022505643, 0.042340405, 0.050227124, -0.072084844, -0.044353593, 0.06991293, -0.024949703) * go_1(1.0, 1.0); - result += mat4(0.08938938, -0.092218116, -0.016011834, 0.038319822, 0.12462916, 0.30430344, -0.2225195, 0.23016618, 0.16917962, -0.10025298, 0.03197825, -0.0028935818, -0.20949106, 0.16084236, 0.02389285, -0.07628905) * go_2(-1.0, -1.0); - result += mat4(0.008811933, -0.07407284, 0.06164061, -0.08511243, 0.23705618, -0.04852394, -0.09615244, -0.14999956, 0.14771207, -0.31061637, 0.053693004, 0.12648372, 0.13281338, -0.052495755, -0.10527891, 0.055210527) * go_2(-1.0, 0.0); - result += mat4(-0.002706158, -0.08600029, 0.067195736, 0.11638961, 0.22492133, 0.21856707, -0.07640264, -0.06916772, 0.06080084, 0.11333604, 0.06812178, -0.033994764, 0.18698989, -0.0062931813, -0.07839693, -0.19759217) * go_2(-1.0, 1.0); - result += mat4(0.016470285, -0.08823432, 0.22680223, 0.09997554, 0.23114151, 0.19813643, -0.35361916, 0.2194339, 0.11047473, 0.068083756, 0.067214124, 0.43412095, -0.012517998, 0.15817562, 0.041793827, -0.12873247) * go_2(0.0, -1.0); - result += mat4(0.072530076, 0.13730067, 0.2244758, -0.07199118, -0.052385315, 0.10464238, 0.26556495, -0.2717685, -0.11540168, -0.018752037, 0.025696546, -0.12900795, -0.010386023, -0.020768933, 0.24903738, -0.14111607) * go_2(0.0, 0.0); - result += mat4(-0.24632111, -0.015176092, -0.02656606, 0.009465184, -0.0051622107, 0.14365524, 0.110313326, 0.075529456, -0.041912608, -0.012926297, 0.099115536, -0.043660834, 0.14709431, 0.069978856, 0.19860862, 0.30215213) * go_2(0.0, 1.0); - result += mat4(0.003388868, 0.000683922, 0.025133248, 0.004995937, -0.06642034, 0.028584523, -0.14691937, -0.2014579, 0.15427552, -0.027058927, 0.04456965, 0.084938034, -0.24065961, -0.014348999, -0.093859546, -0.032467082) * go_2(1.0, -1.0); - result += mat4(-0.067999065, -0.061825316, -0.056987073, 0.0009880592, -0.014163033, -0.30605268, 0.22628185, 0.01192761, -0.08495571, 0.17559315, -0.17546391, -0.0027795131, -0.289151, -0.41655365, 0.11138813, -0.18327911) * go_2(1.0, 0.0); - result += mat4(-0.032702215, 0.072819114, -0.06573772, -0.023648093, -0.28138083, 0.0492584, 0.17402509, -0.04257587, 0.109756455, 0.086533375, -0.017961387, 0.02175586, -0.12014975, 0.0101643065, 0.34295502, -0.04737776) * go_2(1.0, 1.0); - result += mat4(-0.043654937, 0.030818325, 0.009349365, 0.0058960635, 0.075968295, 0.10992966, -0.056467474, -0.053309787, -0.020969287, 0.13869311, 0.118167736, 0.20124547, -0.071703844, 0.16065824, 0.0333816, 0.16069882) * go_3(-1.0, -1.0); - result += mat4(-0.00913058, 0.11581215, -0.08088577, 0.048499383, -0.002100561, 0.14013395, -0.021854091, 0.022357881, -0.007194664, 0.2258521, 0.28041685, 0.035750967, -0.17555529, -0.06302401, 0.006144002, 0.073763065) * go_3(-1.0, 0.0); - result += mat4(0.13105561, 0.033134516, -0.123544686, 0.036164157, 0.081316054, -0.09048299, -0.034898795, -0.04975392, -0.118228555, 0.0013148085, -0.024866905, -0.07593515, -0.058713235, 0.081549294, 0.09502267, -0.06489622) * go_3(-1.0, 1.0); - result += mat4(-0.013302538, 0.14520672, -0.041146558, 0.08169293, 0.1506187, 0.062507726, 0.19582897, 0.05240332, 0.015582799, 0.08783006, 0.016972601, -0.23824452, -0.056192238, -0.087197326, 0.0045260703, -0.012997719) * go_3(0.0, -1.0); - result += mat4(-0.074937195, -0.018988643, -0.07370074, 0.048774365, 0.07236563, 0.0904083, -0.10467449, 0.10507359, 0.12723474, -0.1263123, -0.17705469, -0.15779553, -0.23850663, -0.119912334, 0.21794695, 0.19370297) * go_3(0.0, 0.0); - result += mat4(-0.04097957, -0.0038975494, 0.11273524, -0.049562607, -0.041399803, 0.013795214, -0.07912852, 0.06913985, -0.039762158, 0.031136844, -0.22443683, -0.07978295, 0.15926225, -0.021239735, 0.02987538, 0.0073201153) * go_3(0.0, 1.0); - result += mat4(-0.00022499492, 0.07021377, 0.10080298, -0.049646243, 0.08742822, -0.05083212, 0.11067444, 0.0028296155, -0.06948983, -0.032108277, -0.17148562, 0.031176677, 0.028853005, 0.06482861, 0.0068417406, 0.20317557) * go_3(1.0, -1.0); - result += mat4(0.11648821, -0.17146581, 0.067954056, 0.08905258, -0.08075704, 0.019719714, -0.11522013, 0.07268729, 0.0639498, 0.19816676, 0.014075983, -0.032495353, -0.017302783, 0.001971279, -0.03852454, 0.13213885) * go_3(1.0, 0.0); - result += mat4(-0.043073803, 0.013491542, -0.0071037943, 0.104073495, 0.02311169, 0.058454588, -0.036697295, -0.048574958, -0.02161516, 0.10554709, 0.07252144, 0.013570617, -0.08058747, -0.050845098, 0.11659161, 0.12994757) * go_3(1.0, 1.0); - result += mat4(-0.065163076, 0.19974495, -0.4120684, 0.07145881, 0.113002166, 0.23591681, 0.09600776, -0.12980238, -0.032298863, -0.09617708, -0.09807077, -0.019956803, -0.0144692, -0.11556348, -0.080140986, -0.088292986) * go_4(-1.0, -1.0); - result += mat4(-0.012835261, -0.04646276, 0.072318554, -0.08490823, 0.1648558, -0.15578964, 0.07145768, 0.12143512, 0.007787767, 0.07922046, -0.10203864, -0.15637778, 0.17195338, -0.16184372, -0.01940918, -0.0037627215) * go_4(-1.0, 0.0); - result += mat4(-0.118128635, -0.06761304, 0.20045926, -0.11828058, 0.022446023, -0.09117082, 0.11077834, 0.12605691, -0.094919816, -0.016070768, -0.025274863, 0.13070245, 0.14234897, -0.080053166, -0.14352201, 0.24688406) * go_4(-1.0, 1.0); - result += mat4(-0.038446598, 0.06076558, 0.011793446, -0.027539631, 0.12532312, 0.12770405, 0.05115926, 0.07202868, 0.00048553053, -0.20094085, 0.14294891, 0.27486032, 0.09690127, -0.19488129, -0.010087613, -0.32277402) * go_4(0.0, -1.0); - result += mat4(-0.03640304, -0.03347442, -0.14699876, 0.084367014, -0.0931957, 0.0046109143, -0.10012045, -0.21788213, -0.22289619, -0.15080798, 0.053079627, 0.058909237, 0.0033036254, -0.266638, 0.15794982, 0.15606833) * go_4(0.0, 0.0); - result += mat4(-0.16570765, -0.19292961, -0.040884703, 0.0350054, 0.044223823, -0.05094823, -0.10369617, -0.026184212, -0.07026344, 0.08071905, -0.05532503, -0.105882615, 0.11906692, -0.12926123, 0.18500324, 0.09285109) * go_4(0.0, 1.0); - result += mat4(-0.30376035, -0.015966324, -0.080935225, -0.054857124, 0.008181847, -0.051866602, 0.086870745, -0.205586, -0.13184556, -0.03217006, 0.029946566, -0.10589564, 0.045322973, -0.1656244, -0.08579307, -0.121582575) * go_4(1.0, -1.0); - result += mat4(-0.06772616, -0.14879958, -0.17823575, 0.020676576, -0.04157187, -0.019993478, -0.026832247, -0.22187601, -0.12282354, -0.101527624, 0.10540906, -0.09816911, 0.01171376, -0.35307917, -0.21599512, -0.12673624) * go_4(1.0, 0.0); - result += mat4(0.13506149, -0.12476234, -0.23067783, 0.0016245812, 0.27068454, 0.085986294, 0.08674341, 0.07736311, 0.04183122, 0.09630597, 0.005955931, -0.033355173, -0.19212, -0.2707448, -0.18517534, -0.035879433) * go_4(1.0, 1.0); - result += mat4(-0.0151614295, 0.047397353, 0.0923022, 0.08485078, 0.15618569, -0.11042138, 0.12418296, -0.07967247, 0.053651772, 0.015027734, 0.048835948, 0.07711154, 0.020557769, 0.023958597, 0.04587901, -0.0014006038) * go_5(-1.0, -1.0); - result += mat4(0.038551513, -0.10045045, 0.06231501, 0.043190606, 0.011727592, 0.10791629, 0.022111481, -0.053163722, 0.11845128, -0.102105886, 0.08789077, -0.0027942352, -0.08893058, 0.008466707, 0.011015023, -0.047280762) * go_5(-1.0, 0.0); - result += mat4(0.013820725, 0.1256963, 0.041195784, -0.057415746, -0.07633132, -0.025274424, 0.029755162, -0.046797376, -0.037444938, -0.09385259, 0.14993298, 0.040402364, 0.057619866, 0.0044342144, 0.044209216, 0.13005155) * go_5(-1.0, 1.0); - result += mat4(0.07646884, 0.18639803, -0.021711063, 0.021434348, 0.11517055, 0.010340496, -0.0018932755, -0.3739696, 0.1309672, 0.08240308, 0.08870368, 0.09622062, -0.07567563, -0.08575518, 0.12712875, 0.16571298) * go_5(0.0, -1.0); - result += mat4(-0.028878238, -0.06821328, -0.048233025, 0.010556409, 0.08252249, 0.12659778, 0.10306397, 0.041443437, -0.008534995, -0.08196783, -0.13689299, 0.048229158, 0.12889823, 0.12517701, -0.06344265, 0.11288182) * go_5(0.0, 0.0); - result += mat4(0.20085302, 0.024324976, 0.012985146, 0.045487225, -0.14292689, 0.091915675, 0.030304266, -0.007919423, -0.09057523, -0.13942213, 0.22375956, -0.15821122, 0.13392857, 0.06950518, -0.009899817, -0.19455001) * go_5(0.0, 1.0); - result += mat4(-0.18937646, 0.13056205, -0.09389302, -0.06861626, 0.030355467, -0.07237441, 0.079272114, -0.018099891, -0.057733692, 0.14460595, -0.068894215, 0.073404275, -0.005731954, -0.16851021, 0.029365558, 0.04029561) * go_5(1.0, -1.0); - result += mat4(-0.11247864, -0.026352342, -0.26439467, 0.021711655, -0.17112786, 0.09201832, 0.058435153, -0.18282679, -0.058647767, -0.0882594, -0.09513095, 0.046603747, 0.118426494, -0.06860188, 0.14646193, -0.10118678) * go_5(1.0, 0.0); - result += mat4(-0.08203177, 0.049650684, 0.11541628, 0.07473622, -0.06572682, -0.018375592, -0.0739239, -0.08190655, -0.012673694, 0.0003337712, 0.041397918, -0.047579113, -0.13510825, 0.025625594, -0.035801806, -0.045355853) * go_5(1.0, 1.0); - result += vec4(0.03802586, 0.06033134, 0.0405485, 0.00039835402); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2216899, -0.006199309, -0.14865121, 0.06256912, 0.082141966, 0.069441915, -0.064958416, -0.014999604, -0.017270254, 0.054063573, -0.30066323, 0.09460075, 0.17069338, -0.26000282, 0.026078973, -0.0024098607) * g_0; - result += mat4(0.22918217, 0.2753827, -0.2260137, 0.0074888375, 0.007864308, 0.01738929, 0.036404576, 0.15125586, 0.12692557, -0.1064573, -0.105954304, 0.17095445, -0.295937, 0.2284073, -0.28089303, 0.17836742) * g_1; - result += mat4(-0.23949356, -0.20830329, 0.043005105, 0.11848222, 0.26292896, 0.13052817, 0.14105777, -0.14028162, 0.033770017, -0.12098709, -0.19063175, -0.020637099, 0.032703582, -0.31454226, 0.07559202, 0.067997165) * g_2; - result += mat4(-0.26934767, 0.25418487, 0.2089665, -0.15689164, 0.068669625, -0.19087234, 0.034052055, -0.038685646, 0.037284948, 0.14673525, -0.001882231, 0.07179596, -0.054052413, 0.2954734, 0.108455196, 0.21742904) * g_3; - result += mat4(0.24180835, 0.012385412, -0.017178789, 0.032714315, -0.26524556, 0.024244266, -0.226589, -0.0358992, -0.2241718, 0.08004254, -0.017615836, -0.2492002, 0.09387765, 0.18154638, -0.034240507, 0.3605678) * g_4; - result += mat4(0.24151021, -0.014141217, -0.1259467, -0.19366209, -0.07166293, 0.08856931, -0.08999051, 0.31848234, -0.07388433, -0.16038652, 0.28902727, 0.2382835, -0.15296587, -0.12924191, 0.16233487, 0.05408346) * g_5; - result += mat4(-0.18532315, 0.116318375, -0.043276392, -0.20643523, -0.1317004, -0.025412546, -0.32449946, 0.08039049, -0.18457016, -0.015615943, -0.01645252, 0.21732457, 0.082662076, 0.1900878, -0.11705433, 0.14767131) * g_6; - result += mat4(0.052993804, -0.11595191, 0.32436988, -0.003765943, 0.2296748, 0.119828835, -0.019125028, -0.3126433, -0.039699726, -0.24760635, 0.08949547, -0.012501165, 0.33296522, -0.349697, -0.081094205, 0.061596226) * g_7; - result += mat4(-0.033869196, 0.12660468, 0.12152309, -0.18401411, 0.1442463, 0.18430543, 0.22487932, 0.29795903, 0.17951487, -0.24413475, -0.13472381, 0.3147198, -0.22021247, -0.15316834, 0.013162168, -0.20238425) * g_8; - result += mat4(-0.0015613904, -0.09523476, 0.024224702, -0.17930624, -0.061623972, 0.06495367, 0.3776854, -0.17299566, -0.36212873, 0.13202415, 0.07052771, -0.1219512, 0.29942214, -0.011110212, 0.36104754, 0.0010065075) * g_9; - result += mat4(0.16467105, 0.29388088, 0.13385788, 0.118168965, 0.15695275, -0.2269201, 0.097460486, -0.04286567, 0.020316202, -0.07753041, -0.18018067, -0.111885116, -0.17371373, 0.04722513, 0.2188871, 0.1295067) * g_10; - result += mat4(0.2567296, 0.0027146419, -0.18108767, -0.10636566, -0.04075492, 0.08977396, 0.27601838, 0.041642547, -0.29131287, -0.0026349663, 0.16847563, 0.29684088, 0.23944439, -0.12667872, -0.31902757, -0.023768846) * g_11; - result += mat4(-0.12111429, 0.046077378, 0.07920395, -0.3619861, 0.0030046673, -0.21324079, -0.14134064, 0.07692796, 0.2308601, 0.050601542, -0.20067136, 0.1312576, 0.078878105, -0.07905382, 0.04887801, 0.11589316) * g_12; - result += mat4(0.18035689, 0.022012187, -0.05441432, -0.13895841, 0.1792498, 0.06579118, -0.3518265, 0.19284686, -0.36724597, -0.19384578, 0.052024953, 0.069351286, -0.17106277, 0.01428955, -0.022695465, -0.03882866) * g_13; - result += mat4(0.12341931, 0.21374431, 0.14095145, 0.11081035, -0.1377048, 0.2957615, 0.2647214, -0.21324296, 0.18657272, -0.16867872, 0.13558641, -0.14022234, -0.00384067, -0.19601567, -0.20603377, 0.006892211) * g_14; - result += mat4(0.05891213, 0.17766091, -0.11099863, -0.10597074, 0.4759035, -0.20892517, -0.35479382, -0.057822235, -0.10161365, -0.11828349, -0.021581944, 0.057930104, -0.46801752, -0.25330284, 0.30126703, -0.31744412) * g_15; - result += vec4(0.011156243, 0.004168819, 0.082229175, 0.043994825); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf1 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.137003, -0.06089221, -0.108805895, 0.27130327, -0.3015222, -0.26373127, 0.019133324, 0.035202216, 0.040255867, 0.09030984, -0.46218738, -0.3097094, -0.057662863, 0.123317555, 0.037645355, 0.010423522) * g_0; - result += mat4(0.29102653, -0.17060617, 0.31592718, -0.15487169, -0.09719322, 0.08212171, -0.24112037, -0.5323616, 0.050776903, 0.26745227, -0.0123307025, -0.0076298076, -0.044822518, -0.15961778, 0.26758936, 0.019300641) * g_1; - result += mat4(0.19517086, -0.2878986, 0.12765801, -0.12057966, 0.27521843, 0.028182628, 0.32267106, 0.035355434, -0.065272234, -0.015919037, 0.38220987, 0.14314096, 0.052418232, 0.07207548, -0.41493666, -0.03195114) * g_2; - result += mat4(0.18309553, -0.11183888, -0.052814357, -0.08971906, -0.14353213, -0.20144752, -0.20325397, -0.16143575, 0.028960846, -0.16557908, 0.266044, -0.2373641, 0.12750591, -0.11190832, 0.35028338, 0.17638433) * g_3; - result += mat4(0.058721025, 0.21000905, -0.2719825, -0.16923684, 0.2887994, 0.08877727, -0.1274528, 0.12557751, -0.09804875, -0.37839252, -0.1465434, -0.1059692, 0.07212408, -0.101579584, -0.16375211, -0.09519384) * g_4; - result += mat4(-0.145749, -0.15073515, -0.2661711, -0.21265043, -0.3345085, -0.16820145, 0.07732321, 0.13837157, 0.014605319, -0.14113256, -0.3269443, -0.100293055, 0.114504874, -0.4271041, -0.17389913, 0.0033216716) * g_5; - result += mat4(0.022264633, -0.19477129, 0.050657783, -0.08318149, -0.5125155, 0.030831251, 0.110084355, -0.25779435, 0.08368584, 0.48425493, -0.28335044, 0.23433922, 0.31263804, -0.12789254, -0.14072786, 0.10106589) * g_6; - result += mat4(0.007650675, -0.082783565, -0.1599306, 0.22329025, -0.01190027, 0.09498623, -0.06526687, -0.074669816, 0.13880949, -0.0060707824, -0.044009406, 0.15161307, -0.121638715, 0.012903123, 0.047266923, -0.41495043) * g_7; - result += mat4(0.1315474, 0.2878135, -0.03521026, 0.31479505, 0.4425801, 0.22921802, -0.19864602, -0.0049938424, -0.39346734, 0.09232505, 0.20387846, 0.08173493, -0.2582244, -0.23351125, 0.04481434, -0.105453715) * g_8; - result += mat4(-0.10668876, -0.026544912, 0.19446668, 0.0045490777, -0.024656052, -0.11874863, 0.21377616, 0.16957945, 0.36561254, -0.19234993, -0.16987774, 0.05442733, -0.13925838, -0.09912278, -0.06849117, 0.2862709) * g_9; - result += mat4(0.33045495, -0.13048914, -0.023560356, -0.21611182, 0.031752963, 0.14722162, -0.18900181, -0.214494, -0.014231522, 0.23605579, 0.04047805, 0.4060913, -0.13969432, -0.20286381, -0.29891747, -0.043839972) * g_10; - result += mat4(0.12433207, 0.20156589, -0.16986352, 0.07386095, -0.08681933, -0.055620465, -0.043641977, 0.25392216, -0.19010517, -0.018021587, -0.040169913, 0.3845108, -0.18094495, -0.07285529, 0.1848976, -0.24628341) * g_11; - result += mat4(-0.038218584, 0.1562106, -0.14935517, 0.14979756, -0.24085392, -0.32680586, -0.015209841, 0.31288582, 0.15819284, -0.084411524, -0.18117775, 0.16964395, 0.29338664, -0.020204993, 0.011733066, -0.03798886) * g_12; - result += mat4(-0.020065956, -0.043856975, 0.016091857, 0.19466555, 0.16528654, 0.049655683, -0.3676622, -0.14080617, -0.094320625, 0.27908608, -0.084430434, -0.07656003, 0.19461128, 0.11947404, -0.05046522, -0.12625407) * g_13; - result += mat4(-0.013265381, -0.015804514, -0.12068759, -0.06364535, -0.040848896, -0.07602193, -0.04744431, 0.29088646, 0.1358165, 0.010972456, -0.04270195, -0.091147564, -0.2690454, 0.23030208, -0.39135924, -0.22463588) * g_14; - result += mat4(0.20590256, 0.098045684, 0.3285928, 0.04094028, 0.12415101, 0.244203, 0.048238404, 0.17298737, 0.22513592, 0.048016686, -0.11171281, 0.12644528, -0.40468216, -0.02186692, -0.09637657, -0.20869099) * g_15; - result += vec4(-0.01212462, -0.018702446, -0.0063916473, -0.015887083); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf2 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06816948, 0.34817252, -0.046539452, 0.0051957658, -0.1393289, -0.123660676, -0.28295487, -0.09683893, -0.3166085, 0.112649016, 0.016630042, 0.12213537, 0.048850413, 0.10865108, 0.36645818, -0.1570077) * g_0; - result += mat4(0.16992034, 0.15695556, 0.23111318, -0.07952356, 0.008467285, -0.11592582, -0.18852152, 0.11257074, 0.24210866, 0.1062648, -0.101493195, 0.04611632, -0.13289067, -0.07632904, 0.012860103, -0.08678244) * g_1; - result += mat4(0.19332299, -0.06392618, -0.18013911, 0.23211008, -0.0025107847, 0.4468814, -0.15807462, -0.27148855, 0.24238719, 0.16024797, -0.22240195, 0.2425211, 0.008685379, -0.43995225, 0.28782377, -0.04508348) * g_2; - result += mat4(-0.038411126, -0.0034189979, -0.10616163, -0.22397435, 0.005768774, 0.13181472, 0.091235116, 0.07068676, 0.08932033, 0.025967117, -0.053367026, -0.22340903, -0.13413511, 0.24192514, -0.011392121, -0.09885669) * g_3; - result += mat4(-0.13691483, 0.058308467, 0.14866434, 0.005773672, -0.16254735, -0.03150588, 0.16304344, 0.31798756, -0.22399272, 0.033883456, -0.09658691, -0.12437203, -0.117079385, 0.21686973, -0.037619635, -0.085622996) * g_4; - result += mat4(-0.24666454, -0.06097481, -0.08042751, -0.09151835, -0.09213628, 0.06706758, -0.12596707, 0.05328458, 0.25016794, -0.21868211, 0.22890028, -0.16557315, 0.036212686, 0.13603954, -0.20226133, -0.22868301) * g_5; - result += mat4(0.022882584, -0.023618432, 0.08065757, 0.33173925, 0.07162631, -0.010860303, 0.15222527, -0.21064946, 0.023574507, 0.06347729, -0.2955436, 0.31633475, -0.3643237, -0.087610714, -0.089636534, 0.13809934) * g_6; - result += mat4(-0.22458415, -0.01961852, -0.014363966, -0.2820657, -0.20567393, 0.106780864, -0.43547606, 0.3259588, 0.42431846, -0.30789465, -0.053756483, 0.18392731, -0.43784657, 0.23359884, 0.25319567, -0.1464313) * g_7; - result += mat4(0.06667747, 0.011182004, 0.26176485, -0.15575507, -0.017922953, 0.0014675539, -0.13763407, -0.086996995, -0.00082739035, 0.03939667, -0.09286956, 0.29952076, 0.014103506, 0.10058367, 0.16165632, 0.23478027) * g_8; - result += mat4(-0.1966405, 0.11404606, -0.12005759, -0.22895505, -0.0848272, 0.021871557, 0.044186037, -0.111861885, -0.16986093, -0.24633476, 0.07282808, -0.26975635, 0.34241816, 0.030470898, -0.09903839, -0.22579415) * g_9; - result += mat4(0.10059369, 0.010142443, 0.061046213, 0.6807189, 0.005402132, -0.21700516, 0.16900781, -0.09973772, -0.025505878, 0.14216411, 0.14366129, -0.02743741, 0.09240224, 0.055595424, -0.22342968, 0.32391673) * g_10; - result += mat4(-0.24940865, -0.042881966, -0.19815244, -0.05011009, 0.32227826, 0.07563262, -0.22649106, 0.10700333, -0.14117172, 0.1359497, -0.14451554, 0.34859756, 0.060239617, 0.09917812, 0.13169186, 0.077682465) * g_11; - result += mat4(-0.0714192, 0.12607583, -0.3341241, 0.18375745, -0.18943295, 0.11634349, 0.06633747, -0.13485552, 0.045528308, 0.2432545, 0.26417813, 0.0074096527, 0.004411052, -0.5647283, 0.021793056, -0.1910634) * g_12; - result += mat4(0.04678379, 0.15781826, -0.14137928, -0.065010436, 0.1379615, -0.07252597, -0.05457498, 0.049137864, 0.054244712, -0.24069838, -0.11444052, 0.27642834, 0.19889133, 0.31845504, -0.102143094, 0.088378325) * g_13; - result += mat4(-0.1163185, 0.19226453, -0.1896929, -0.30681732, -0.013604632, -0.12468549, 0.018667353, 0.09807849, 0.030277459, 0.18578297, 0.14520812, 0.43598676, 0.24981564, 0.22188906, -0.12707953, 0.35956743) * g_14; - result += mat4(-0.1817424, 0.27081814, -0.16284765, 0.033412658, -0.29831278, -0.1345311, 0.27491164, 0.14552177, -0.054520354, -0.2996891, -0.1279112, -0.64904505, 0.049450837, -0.021562194, -0.6366078, 0.15545636) * g_15; - result += vec4(0.019361967, -0.009793055, 0.03647491, -0.010136049); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.18203236, 0.08024887, -0.036568414, 0.13316368, -0.04578262, -0.06611782, -0.006320991, 0.19218548, 0.21009454, -0.08195536, 0.02459481, 0.037244156, -0.09028578, 0.025431598, 0.118399516, -0.11004066) * go_0(-1.0, -1.0); - result += mat4(-0.057694096, 0.016725041, 0.09517554, -0.063389495, -0.15092854, -0.17499524, -0.023841592, -0.0021040211, -0.15481879, 0.058758404, -0.11097904, -0.026721174, 0.0025346193, 0.05679149, 0.0072498247, -0.13605994) * go_0(-1.0, 0.0); - result += mat4(-0.029078262, 0.009836967, 0.07132015, 0.06620542, -0.21533649, 0.13504961, -0.026253965, 0.15687846, -0.041120164, -0.11824143, -0.03505001, -0.069189556, -0.020444538, -0.040636882, 0.104192354, 0.02525567) * go_0(-1.0, 1.0); - result += mat4(-0.0033649271, 0.11870954, -0.29426005, 0.06678275, -0.21843383, -0.06478074, 0.055388454, 0.03360907, 0.15619075, 0.03552764, -0.004492958, -0.11098848, 0.0945473, -0.12231036, 0.060498584, -0.017200515) * go_0(0.0, -1.0); - result += mat4(0.11771511, 0.19074214, 0.2556847, -0.00011035888, -0.06266651, -0.18949944, -0.08458407, -0.4617736, 0.049839392, 0.0028800126, 0.112179466, -0.23129073, 0.07304365, 0.08169297, 0.010470617, -0.10990468) * go_0(0.0, 0.0); - result += mat4(0.2365061, -0.011560716, 0.040669534, 0.05682574, -0.108832434, 0.108204864, -0.016406072, -0.35809964, 0.19385669, 0.011194286, 0.022534747, -0.18770002, 0.040628985, -0.106064685, -0.12965748, -0.11940811) * go_0(0.0, 1.0); - result += mat4(-0.07578536, 0.055741407, -0.07985701, -0.08520933, -0.119309366, -0.001639899, -0.045735355, 0.060324576, -0.04602573, -0.067629695, -0.024497611, 0.11022731, 0.0866483, 0.023369456, 0.092412636, -0.15647933) * go_0(1.0, -1.0); - result += mat4(0.1151201, -0.06150153, -0.007215896, -0.027420595, -0.27713504, -0.30414173, -0.25002155, 0.04579516, 0.07746921, -0.039378557, -0.0007037489, 0.05171079, 0.04729991, -0.24362347, -0.03316277, -0.029248973) * go_0(1.0, 0.0); - result += mat4(0.08882578, -0.089215234, -0.027231896, 0.09565371, -0.040585488, -0.0666667, -0.10971792, -0.18664278, 0.08676577, 0.011609924, -0.11474831, -0.0032087977, -0.14733344, -0.013885521, -0.0600112, -0.028661741) * go_0(1.0, 1.0); - result += mat4(-0.16421804, 0.13640842, -0.053869005, -0.105430946, 0.33498198, -0.19186987, -0.044760693, 0.12338264, 0.04087762, 0.35624924, 0.16211961, -0.16837841, -0.21358813, 0.07136877, 0.09507147, 0.15890902) * go_1(-1.0, -1.0); - result += mat4(-0.3021354, -0.3319794, 0.070228204, 0.1157857, -0.23864768, -0.124694765, -0.035166927, -0.2196196, 0.11144565, 0.15449396, 0.31777796, 0.23201036, 0.36269313, 0.0791044, -0.14027423, -0.10298774) * go_1(-1.0, 0.0); - result += mat4(0.0045441133, 0.14908041, -0.04037237, 0.012396483, -0.41045487, -0.049013153, -0.25163352, -0.18674599, -0.020136787, -0.04309944, 0.16324212, 0.20724443, 0.0013537789, 0.10984782, -0.050586786, 0.07564281) * go_1(-1.0, 1.0); - result += mat4(-0.35524195, -0.08884062, -0.061092835, 0.0016606712, -0.18841584, -0.28330895, 0.110710636, -0.20210983, 0.01599891, -0.019640112, -0.06881855, -0.2822387, 0.16723692, 0.42387784, 0.17316435, 0.014779502) * go_1(0.0, -1.0); - result += mat4(-0.14352255, 0.2557878, 0.14022757, -0.09769558, -0.08192019, 0.4160667, 0.20182422, -0.29740554, -0.16924635, 0.044684824, -0.21592674, -0.04393559, -0.44846448, -0.2268265, -0.15033214, -0.1552571) * go_1(0.0, 0.0); - result += mat4(-0.46804324, -0.05876729, 0.0023225946, -0.1399195, -0.12917824, 0.12800436, 0.5672086, 0.42298177, -0.25502345, -0.15043756, -0.010454711, -0.16799574, 0.1695203, 0.31919575, 0.090758204, -0.03608345) * go_1(0.0, 1.0); - result += mat4(-0.20859653, -0.025662629, 0.11013811, 0.021071844, -0.21565554, -0.08014497, -0.041803278, 0.15999684, -0.09659372, -0.2930284, 0.22263159, -0.058361106, -0.06474458, -0.18948506, -0.22297342, 0.002085207) * go_1(1.0, -1.0); - result += mat4(-0.25466987, 0.07562997, -0.046997566, 0.01815494, 0.015587753, 0.19885786, 0.17028151, -0.20973559, -0.13089986, 0.056037027, -0.16056974, -0.09570157, 0.36515233, 0.2177508, -0.19389395, 0.042368103) * go_1(1.0, 0.0); - result += mat4(-0.09177028, 0.029719152, 0.035980605, -0.111842036, -0.14203559, -0.0016779151, -0.23984708, -0.24259119, -0.32218066, -0.16303101, -0.042665064, 0.018674236, 0.132396, -0.07117317, -0.11266681, -0.25140917) * go_1(1.0, 1.0); - result += mat4(-0.2254921, -0.089444794, -0.03250626, -0.002422312, -0.07599525, 0.06057337, 0.09297158, -0.13625564, -0.05718329, 0.1393445, -0.14238319, -0.035561938, 0.10357985, 0.14509755, -0.05125032, 0.071264446) * go_2(-1.0, -1.0); - result += mat4(0.14345558, -0.13649228, 0.07141237, -0.31665677, -0.106410414, -0.024022767, 0.022847228, -0.066274576, 0.27855787, 0.27377915, 0.100737795, 0.2585287, 0.065262236, 0.3338305, 0.013705893, 0.15107758) * go_2(-1.0, 0.0); - result += mat4(0.24887003, 0.27924842, 0.011750549, 0.02100809, -0.060978264, 0.09022114, 0.10060977, -0.117189266, -0.064989, 0.050291102, 0.02154075, 0.07428455, 0.0128874695, -0.0824151, -0.0955003, 0.1240542) * go_2(-1.0, 1.0); - result += mat4(0.09787086, -0.038460266, -0.012216873, 0.020269781, -0.14274825, -0.10365878, 0.107120685, 0.005830931, 0.18160833, -0.039512586, 0.054537058, -0.10175313, 0.2583083, 0.12110453, 0.11164319, -0.097267024) * go_2(0.0, -1.0); - result += mat4(0.04403219, -0.06616097, -0.1881836, -0.17728293, -0.30001318, 0.14179994, 0.077847786, 0.009201645, 0.2055038, 0.10847946, 0.034566265, 0.0823046, 0.016860636, -0.029249087, -0.16692844, 0.15714505) * go_2(0.0, 0.0); - result += mat4(0.01654197, -0.005030059, 0.15659711, 0.029457249, -0.10084003, -0.17541635, 0.20056525, 0.11890777, 0.041007854, -0.021843065, -0.047474306, 0.02461869, 0.09578964, -0.054728534, -0.022951778, 0.1384323) * go_2(0.0, 1.0); - result += mat4(-0.17401876, 0.0050307186, -0.14960738, -0.06744025, -0.026341015, -0.015185451, 0.097973764, 0.01230041, 0.043848213, -0.022325305, -0.01173514, -0.12744233, -0.1192904, -0.019170178, 0.16593695, -0.11961721) * go_2(1.0, -1.0); - result += mat4(0.16905174, -0.05465901, -0.10304148, 0.06422409, -0.06595216, 0.032311443, 0.06506821, 0.06866468, 0.12749052, 0.2812222, 0.10223055, -0.009964554, 0.10145132, 0.05452548, 0.21845295, 0.060436632) * go_2(1.0, 0.0); - result += mat4(0.009076048, -0.075771615, -0.010236168, -0.049228482, -0.009111011, 0.0032872239, 0.030809326, -0.021389242, -0.13207865, -0.20758687, 0.06795314, 0.16716966, 0.022448925, 0.005127875, 0.14822717, 0.1543517) * go_2(1.0, 1.0); - result += mat4(0.15177163, -0.059483033, -0.061815593, -0.048359588, 0.08666249, 0.01303385, -0.0797276, 0.00045918894, 0.044986565, -0.16032507, 0.001627205, -0.11240742, 0.36031052, 0.3453977, 0.20082399, -0.0872419) * go_3(-1.0, -1.0); - result += mat4(0.20732729, 0.29925603, -0.027490204, -0.07813189, -0.16492629, 0.13322815, 0.0031292376, 0.041497275, -0.08320837, 0.10200068, -0.17992872, -0.06903506, 0.12075557, 0.10240156, 0.17685287, -0.07302424) * go_3(-1.0, 0.0); - result += mat4(0.09832397, 0.072229534, -0.038651302, 0.23663157, -0.049382553, -0.11816951, -0.095177956, -0.0063895187, -0.22133054, 0.027618079, -0.010867105, 0.20221426, -0.055768233, 0.123813964, -0.04770652, 0.031318672) * go_3(-1.0, 1.0); - result += mat4(0.19019139, -0.0055707553, 0.26110023, 0.053353935, -0.09224678, 0.103274055, 0.054068115, -0.028470352, -0.050636273, 0.044128064, -0.1790452, -0.01937518, -0.22987902, 0.13224003, 0.06837358, -0.21524249) * go_3(0.0, -1.0); - result += mat4(-0.06441057, -0.14875272, 0.1966193, -0.19311902, 0.116319604, -0.015221862, 0.22331011, -0.12665007, 0.1492529, -0.060963593, -0.13987945, -0.00267954, 0.17791282, -0.017524656, 0.009128157, -0.19969128) * go_3(0.0, 0.0); - result += mat4(-0.15118724, -0.02174076, 0.18955654, 0.004134554, -0.074481554, -0.022116778, -0.23729491, -0.21471047, -0.17819612, 0.13824348, -0.0189012, 0.2410327, 0.122907236, 0.115833536, 0.07078602, 0.1497625) * go_3(0.0, 1.0); - result += mat4(-0.0030512493, -0.004724951, 0.13259876, 0.009409425, -0.09696517, -0.12920079, -0.13467522, -0.05229473, -0.03711706, -0.038291495, -0.1493357, 0.09193146, -0.11654958, -0.1384159, -0.0809269, 0.12138653) * go_3(1.0, -1.0); - result += mat4(-0.111716144, -0.033208963, 0.19639781, -0.28904846, 0.043729085, 0.016957026, -0.078926295, -0.19079417, 0.06363828, -0.019629745, 0.058766138, -0.120303996, -0.15203112, -0.16788657, -0.15019903, -0.20598294) * go_3(1.0, 0.0); - result += mat4(0.09737031, 0.19906493, 0.31577814, 0.09887659, -0.10737645, 0.03927124, 0.008865094, 0.030515334, -0.03767332, 0.19419806, 0.052343797, -0.12595782, 0.018560758, -0.004252203, 0.12685028, -0.19064935) * go_3(1.0, 1.0); - result += mat4(-0.107926846, 0.05654491, 0.039178263, -0.022938857, -0.055884767, 0.01403891, 0.040060706, -0.0876108, -0.08530536, 0.035486717, -0.1397322, -0.111439094, 0.3098693, 0.031957068, -0.1323169, 0.036736827) * go_4(-1.0, -1.0); - result += mat4(-0.042637993, -0.13947937, -0.06313642, -0.013281999, -0.07746704, -0.0033614477, 0.062081654, -0.028974544, -0.09252038, 0.23787987, -0.03051402, 0.08857487, -0.10345242, 0.08111023, 0.012858327, 0.025468932) * go_4(-1.0, 0.0); - result += mat4(-0.057991188, 0.06572571, -0.17195612, -0.18226011, 0.13167764, -0.029910656, 0.07416073, 0.011874738, 0.020921603, 0.1790944, -0.02713754, -0.04678265, 0.0025504003, -0.07831189, 0.0022889362, 0.17452945) * go_4(-1.0, 1.0); - result += mat4(-0.08273035, -0.06628758, 0.09288723, 0.17525311, -0.015099176, -0.02920585, 0.01664239, 0.16360165, -0.058821842, 0.023668878, 0.13803177, 0.05805197, -0.033553623, -0.020296576, -0.2126249, 0.054712847) * go_4(0.0, -1.0); - result += mat4(0.11607657, 0.09721635, 0.076664194, 0.107737765, -0.18090104, -0.09323497, 0.1018825, 0.025112988, -0.037965916, 0.07314205, 0.16523585, -0.16451308, 0.011332593, 0.05381852, 0.053742763, -0.051402804) * go_4(0.0, 0.0); - result += mat4(0.08998201, -0.09690652, -0.090980336, 0.21645999, -0.1421605, 0.017344419, -0.080088496, -0.1686495, 0.13406368, 0.004237983, 0.028970357, -0.015848784, -0.07229926, -0.08199748, 0.14972275, 0.11688227) * go_4(0.0, 1.0); - result += mat4(-0.10923993, -0.006186229, -0.0059918985, -0.056261536, 0.12305135, 0.07601222, 0.015556293, 0.039497726, 0.004694121, 0.03006972, -0.11686323, -0.1083031, -0.053210545, 0.06765771, 0.1847543, 0.12722884) * go_4(1.0, -1.0); - result += mat4(-0.15110816, -0.114151604, 0.06755774, 0.1535812, -0.0055134855, 0.124444366, 0.116650686, 0.015837835, -0.13255565, -0.023659749, 0.012672263, -0.014328633, -0.25721112, 0.03517644, 0.07895924, 0.017762167) * go_4(1.0, 0.0); - result += mat4(-0.0048434106, -0.15848884, 0.07007013, -0.0040173456, 0.12461628, -0.006840197, 0.054776177, 0.030113375, 0.011075732, -0.12137928, 0.039907288, 0.041261338, -0.03539033, -0.010571816, 0.17591824, 0.07626049) * go_4(1.0, 1.0); - result += mat4(-0.09215494, -0.047397707, 0.020372266, -0.03961589, -0.2969749, -0.23441714, 0.041512486, -0.23838238, 0.15105574, 0.030688843, 0.10364508, -0.037372112, 0.24514282, 0.11799978, -0.25672802, -0.05064504) * go_5(-1.0, -1.0); - result += mat4(-0.22321941, -0.22637981, 0.12784286, -0.15949993, -0.1747607, 0.019964136, -0.101212226, -0.14332725, -0.0040852833, 0.13991846, -0.121760346, -0.074741244, -0.14598946, 0.017030315, -0.21471639, 0.023562988) * go_5(-1.0, 0.0); - result += mat4(-0.025941253, -0.085331805, 0.006736805, 0.080889955, -0.06974209, -0.20366986, -0.2243817, -0.18153073, -0.0024152526, 0.047323234, 0.03407195, 0.016644841, -0.0060426793, -0.1146607, 0.11816627, -0.09477427) * go_5(-1.0, 1.0); - result += mat4(-0.11221949, -0.016993113, -0.028873868, 0.30510077, -0.10090775, -0.56358117, -0.2178131, -0.3253011, 0.05903533, 0.23069671, -0.040006876, -0.2242038, -0.10916342, -0.038909998, -0.081489064, 0.06539624) * go_5(0.0, -1.0); - result += mat4(-0.059550002, -0.07048971, 0.08075795, 0.07341893, 0.08720143, -0.08745607, -0.28628471, 0.004085622, -0.059510656, -0.07080941, -0.17805275, 0.010445313, 0.08262345, 0.14971328, 0.086313516, 0.4270992) * go_5(0.0, 0.0); - result += mat4(-0.25829327, -0.25821465, -0.025910528, -0.1256417, -0.32173184, -0.012251011, -0.31182033, -0.17723739, 0.05439974, -0.0018167618, 0.06974409, -0.024687098, 0.05163715, 0.011181801, 0.060559656, 0.18320788) * go_5(0.0, 1.0); - result += mat4(0.048055783, 0.030901788, 0.00014199098, -0.015663194, -0.27395675, -0.1374474, 0.055429243, 0.09942114, -0.037852254, -0.033255827, 0.022523645, 0.04666904, 0.16599222, -0.02004086, 0.21397619, -0.11373404) * go_5(1.0, -1.0); - result += mat4(-0.23445702, -0.06371413, -0.08418856, 0.06907252, 0.20780656, -0.13808912, 0.018577656, -0.0046262434, 0.09724245, -0.114031695, 0.022883652, 0.107561804, -0.010228, 0.0033352477, 0.12142382, -0.035946723) * go_5(1.0, 0.0); - result += mat4(0.058773417, -0.06617424, -0.13876313, -0.007238876, -0.17449926, 0.14130935, -0.17021981, 0.09241347, 0.018518088, 0.085447155, -0.14430992, 0.035074715, -0.02784563, 0.15934117, -0.00036379634, -0.040411446) * go_5(1.0, 1.0); - result += vec4(-0.0258258, -0.014007201, -0.0051976936, 0.023554644); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.13381699, 0.17966591, -0.0866034, -0.15282217, -0.2567282, -0.38080183, 0.10091161, 0.32172382, -0.064547606, -0.08161712, -0.033353675, -0.0019234467, 0.027740227, 0.2277078, 0.06759129, -0.22699283) * g_0; - result += mat4(-0.122093834, 0.20621717, -0.08142724, 0.16477586, 0.4863212, -0.24032472, 0.00055996195, 0.50562304, 0.028121283, 0.56215876, 0.014577866, 0.06960302, -0.15964645, 0.14526807, -0.026474794, -0.02554081) * g_1; - result += mat4(-0.101622745, 0.022395104, -0.14208415, 0.09508211, 0.20496333, 0.11371943, -0.024784304, 0.09519364, 0.09233463, 0.03117482, -0.15262024, -0.16956648, -0.2432608, -0.12877996, -0.13148616, 0.043081667) * g_2; - result += mat4(-0.28086182, -0.15846887, -0.058738094, -0.181707, -0.018847898, 0.05197007, 0.09753647, -0.19714034, -0.062462445, -0.17604835, 0.1268098, 0.15334699, 0.05568127, 0.16867611, -0.1686486, 0.28579247) * g_3; - result += mat4(0.20252296, -0.27393097, 0.06578763, -0.12628423, -0.10547165, 0.030740904, -0.19412865, -0.034658667, -0.09081653, -0.19958268, 0.16915733, 0.056093715, 0.10596871, -0.1742866, 0.004890009, 0.19515324) * g_4; - result += mat4(0.32077652, -0.004434404, -0.12717858, -0.13544025, -0.450333, 0.04072708, 0.04316467, -0.2578049, -0.011932833, 0.18828999, 0.12326536, -0.016795376, -0.0054118615, 0.061453808, 0.28015187, 0.13463841) * g_5; - result += mat4(0.08942177, -0.0021343376, 0.23693596, -0.15413974, -0.32839566, -0.010874302, 0.033822935, 0.038676813, 0.18920816, 0.019961799, -0.055697896, -0.042120066, 0.10387084, 0.047366753, 0.17899887, -0.071130194) * g_6; - result += mat4(0.0010777018, -0.071475126, -0.16156957, -0.08781234, -0.08701292, 0.29084647, -0.34587428, 0.06969663, 0.036580127, 0.106745, -0.1534462, 0.106189206, -0.22758242, 0.20691736, -0.018554503, -0.056773946) * g_7; - result += mat4(0.14826776, -0.03700497, 0.066144, 0.023859248, -0.16708666, -0.23908418, 0.062023632, -0.16278005, 0.06265635, -0.039846748, -0.13978398, -0.027952245, 0.099891245, 0.18235108, 0.00991435, 0.0423486) * g_8; - result += mat4(-0.17948383, -0.082759954, 0.10543674, -0.18660031, 0.0664088, -0.06837087, 0.04300318, 0.011699623, -0.017162412, -0.030628186, 0.07547453, 0.20060332, -0.19182351, 0.04914753, 0.040280227, -0.12417484) * g_9; - result += mat4(0.04074336, -0.041421015, -0.0372822, 0.1647266, -0.13993263, 0.0029407872, -0.39398977, -0.1778468, 0.21322449, 0.19134948, -0.02818874, 0.226251, 0.06352273, 0.12620094, 0.24221466, 0.20657893) * g_10; - result += mat4(-0.094572894, -0.046852108, 0.21210444, -0.14082888, -0.050984625, -0.13443558, 0.24309658, 0.1573335, 0.21941295, 0.11642813, 0.09684106, -0.08597462, 0.15502413, -0.018070435, 0.1292023, -0.1557655) * g_11; - result += mat4(0.025215387, 0.16676718, -0.068287216, 0.017648363, 0.2779579, 0.059142746, -0.096408874, 0.22609432, 0.20962398, 0.24879578, 0.023621194, -0.29692242, 0.02272032, -0.33367038, 0.15799981, -0.1699598) * g_12; - result += mat4(0.08816878, 0.076234445, -0.06670541, 0.024926793, -0.12045598, 0.07443171, 0.22081238, -0.044906516, -0.02448027, -0.22067828, -0.016471038, 0.21801811, 0.16276583, 0.34590468, -0.18487914, 0.0554853) * g_13; - result += mat4(-0.085593045, -0.002904318, 0.049969394, -0.06931361, -0.10722648, -0.08499641, -0.25997344, 0.22650665, 0.069008924, -0.23179024, 0.20058884, -0.20237185, -0.1606995, 0.0758858, -0.09946377, -0.21032207) * g_14; - result += mat4(0.11210572, 0.055658836, 0.041539114, 0.078087114, -0.060435783, 0.08331363, 0.07356019, 0.0842336, -0.38098484, 0.020591227, -0.45916042, 0.06386686, -0.19348675, 0.041925576, -0.23489946, -0.06711732) * g_15; - result += mat4(-0.13721304, 0.15404533, 0.102312036, -0.090253755, 0.08690545, 0.034154307, 0.07618604, -0.15844443, -0.10604342, 0.2646684, -0.08719668, 0.19331944, 0.10569642, -0.058054388, -0.0110980645, -0.08710107) * g_16; - result += mat4(0.15567884, -0.11589786, 0.031855986, 0.005064268, 0.37850487, 0.30044487, -0.2604449, 0.061879188, -0.015081224, -0.30759993, -0.07571204, -0.0077929585, -0.08748009, 0.22546281, -0.06377379, 0.435342) * g_17; - result += vec4(0.0053140894, -0.030208405, 0.04287835, -0.059097543); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0029025443, 0.021165721, 0.0070854356, 0.065646365, 0.024636142, 0.20825955, -0.0917655, -0.1706138, -0.1827491, 0.13347003, 0.12910214, 0.06828513, -0.026193604, -0.11451178, 0.0356333, -0.08071165) * g_0; - result += mat4(-0.027241195, 0.032633994, -0.17490302, -0.5352789, -0.15734912, 0.24714436, 0.029301014, 0.212763, -0.051665317, -0.06783505, -0.040298667, 0.041179724, 0.49683514, -0.35600296, -0.2518442, -0.22965558) * g_1; - result += mat4(-0.061614696, -0.10463926, 0.1594845, 0.036565617, 0.09095015, -0.15100475, -0.09242749, 0.08335822, -0.027257469, 0.4156707, 0.03322028, 0.19685929, 0.07034635, 0.10204465, 0.03657313, 0.30920812) * g_2; - result += mat4(-0.20980133, -0.054115582, 0.031674277, -0.040077273, -0.21693806, 0.016596884, -0.029177245, -0.16924128, 0.121823296, -0.0004884774, 0.10644538, 0.068388954, 0.16517027, -0.12152921, -0.18299894, -0.17595083) * g_3; - result += mat4(-0.0006413291, -0.09444853, 0.15260176, 0.23014128, 0.09366626, 0.06947763, 0.04956597, -0.07001088, -0.075523324, 0.16111156, -0.11700089, 0.14528704, -0.096407495, 0.027310526, -0.03946532, 0.15302157) * g_4; - result += mat4(0.086061105, -0.0070365844, -0.25230658, 0.18741103, -0.36380208, -0.058444727, 0.25284684, -0.26617825, -0.08817363, -0.12209333, 0.011920746, -0.031505488, -0.21880315, 0.16762236, 0.14518112, 0.13803998) * g_5; - result += mat4(-0.17088315, -0.06812898, -0.085912764, 0.25550255, -0.26439053, 0.23305506, 0.18186118, -0.06186191, 0.0075220955, 0.10316868, 0.04271979, -0.008083033, -0.19474187, -0.06700431, 0.15485007, -0.11886802) * g_6; - result += mat4(0.06597312, -0.31435877, -0.08179224, -0.2568261, 0.29904976, 0.21664406, -0.15343861, -0.11589945, 0.12654455, -0.042093027, -0.17231914, -0.26832506, -0.12008876, 0.11483079, 0.10222754, 0.12562539) * g_7; - result += mat4(-0.09949413, 0.01479024, -0.16933955, 0.025359191, -0.2210058, -0.19663176, 0.19453603, -0.111461386, -0.12529027, 0.14243664, 0.122677036, -0.101476125, 0.011010597, -0.014422488, -0.048979994, 0.03657997) * g_8; - result += mat4(-0.06923051, -0.1223873, 0.021781938, 0.1323696, -0.11582021, -0.018292433, 0.07495496, 0.043008957, 0.0070410958, -0.14431225, -0.06380941, -0.17411429, 0.052226365, 0.021460915, 0.097367965, 0.37138346) * g_9; - result += mat4(0.16420697, 0.008790036, 0.17185563, -0.025144322, -0.108827055, -0.13030754, -0.14254087, 0.05208047, 0.03751449, 0.06774824, -0.07746288, 0.2250457, 0.039049506, 0.101244815, -0.18138403, -0.12212992) * g_10; - result += mat4(-0.05138809, 0.19150224, 0.05698308, 0.015970863, 0.23931703, -0.085039265, -0.18294281, 0.03647365, -0.041568805, -0.2920049, 0.013272974, -0.41181135, -0.08101046, 0.028989056, 0.2952233, 0.16312017) * g_11; - result += mat4(0.093839854, -0.038790308, -0.086285874, -0.17890124, -0.2598202, 0.069419555, -0.0065180454, 0.01453452, -0.090191156, 0.012278203, -0.13148692, -0.025104592, 0.09296121, -0.1833281, 0.074660525, -0.031280298) * g_12; - result += mat4(-0.05336347, 0.08608969, -0.074649446, 0.014608438, 0.22511393, 0.18610351, -0.0029040743, 0.096127085, -0.20254624, 0.14036441, -0.005226189, 0.055212848, 0.20482111, 0.06645607, -0.12018032, 0.062814355) * g_13; - result += mat4(0.13722958, -0.077169575, 0.07269382, 0.20902501, -0.103985704, -0.21184038, -0.12424109, -0.3059887, -0.185413, -0.1964241, -0.14370187, 0.07646031, -0.057924826, 0.28884047, -0.06701312, -0.14548934) * g_14; - result += mat4(0.14129579, 0.12990993, -0.08791828, 0.07986884, -0.006362554, 0.005971629, 0.016816271, 0.075642705, -0.060138028, 0.13658188, 0.0020529197, -0.38745758, -0.16191563, 0.20532359, 0.34441018, 0.0071060034) * g_15; - result += mat4(-0.03236983, -0.08242242, 0.065607354, -0.072457135, 0.024461512, 0.15522943, 0.120296456, 0.052112654, 0.21442589, 0.19565494, 0.06760742, 0.37604833, 0.097620994, -0.002347599, 0.09269131, -0.34238556) * g_16; - result += mat4(0.3276042, -0.17974046, -0.095954694, -0.123248585, 0.08306674, -0.3486506, -0.4620704, -0.40518835, -0.17438394, 0.24350463, 0.05616052, -0.14715664, 0.2078043, -0.007834002, -0.21199054, 0.026597755) * g_17; - result += vec4(-0.015380624, 0.018387195, 0.052286647, 0.055403516); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv0ups2 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.029018598, -0.09923186, -0.1346201, -0.084818475, 0.013764684, 0.054601744, -0.023713779, -0.16826102, 0.038605224, -0.17664196, -0.16562279, 0.14602208, -0.046339583, 0.08062112, 0.20166601, -0.15399997) * g_0; - result += mat4(-0.022488657, 0.28881705, 0.22283012, -0.1935156, 0.22948948, -0.26604095, 0.12130448, 0.35176682, -0.044228308, -0.14734231, 0.07643742, -0.008511517, 0.04313213, -0.03179344, 0.048205808, -0.046295088) * g_1; - result += mat4(-0.2531207, 0.10446124, 0.12730333, -0.13316457, 0.2988587, 0.025091104, -0.00482534, 0.037484948, -0.04006528, 0.14588606, -0.2078635, -0.18636562, 0.112230495, 0.15386717, -0.11122423, 0.1115416) * g_2; - result += mat4(0.058421213, 0.086035125, -0.042249937, -0.22377387, -0.055913106, 0.020280339, 0.10572877, 0.124147646, -0.16199678, 0.25662583, 0.051422223, -0.11681551, 0.3789257, -0.21530285, -0.18586366, -0.2222266) * g_3; - result += mat4(-0.11123776, 0.056422785, -0.20566264, -0.07211227, -0.011873865, 0.30742383, 0.1306618, 0.06808572, 0.068643585, -0.045474447, -0.11596973, 0.0069175013, 0.0331586, -0.013221628, -0.089815594, -0.17750767) * g_4; - result += mat4(0.45630908, 0.11607409, -0.05464286, 0.013246808, -0.28643015, 0.025237702, -0.1445959, 0.05237954, -0.07100623, -0.34417382, 0.13903524, 0.21305767, -0.17371523, -0.13203263, -0.09479281, 0.018392125) * g_5; - result += mat4(-0.018931253, -0.14936836, -0.06770882, 0.10720343, -0.10476732, 0.1157603, -0.2245781, 0.23242487, -0.21631289, 0.12723672, 0.4190526, 0.38829032, -0.192142, 0.034754496, -0.1103798, -0.17207326) * g_6; - result += mat4(0.10311498, 0.08424212, -0.048713315, -0.2784966, 0.034522116, -0.13184515, -0.22852737, 0.003882436, 0.36972147, -0.21263883, -0.3308556, 0.10331102, 0.2462766, -0.12618823, -0.040451203, 0.03362719) * g_7; - result += mat4(-0.0150432745, 0.11757923, 0.23359092, -0.19003578, -0.22206408, 0.15738077, -0.14019541, -0.14201044, 0.19273758, -0.003298494, -0.16530107, 0.17979017, 0.24293105, -0.049160067, -0.14296743, -0.12812854) * g_8; - result += mat4(-0.0020534277, 0.016410163, -0.012038507, -0.0028629426, 0.016464395, 0.0755886, 0.20384903, -0.029324949, -0.13087441, 0.2138074, 0.03701677, -0.1671415, -0.10499825, -0.042930905, -0.007613907, -0.05984843) * g_9; - result += mat4(-0.07029106, 0.05386552, 0.101365924, -0.008048512, -0.090149835, 0.024272785, -0.16436198, 0.2721913, 0.17460534, 0.0034964401, -0.023265982, -0.0120567605, -0.10151709, 0.059922412, -0.13204409, -0.36116782) * g_10; - result += mat4(-0.12569033, 0.08523279, -0.047763485, -0.0025170774, -0.108375974, -0.032045245, 0.232404, -0.24801816, -0.09875204, -0.14990453, -0.10958757, -0.23116525, 0.015989894, -0.09210713, 0.19653663, 0.14138049) * g_11; - result += mat4(0.17831743, 0.04722249, 0.22804007, -0.29099363, 0.29851902, 0.2542661, 0.0067702304, 0.17606215, 0.25847578, -0.3118978, 0.122089565, -0.07010249, 0.014281751, 0.16585219, -0.1659864, -0.30643156) * g_12; - result += mat4(0.19042191, -0.028259574, -0.009187334, 0.21004388, -0.08070036, -0.07838277, -0.023598602, 0.13891627, -0.10481482, 0.05874796, -0.256131, 0.19640857, 0.19515458, -0.07920633, 0.020810237, 0.11040215) * g_13; - result += mat4(-0.093089096, -0.09344762, 0.24232084, 0.21563776, -0.23910145, 0.09092736, 0.12202717, 0.27240792, -0.008079913, 0.07417433, -0.11870247, -0.35385913, 0.107840456, 0.033915944, 0.16016287, 0.023731219) * g_14; - result += mat4(0.21967673, 0.09896617, 0.04236673, -0.20100762, 0.02077549, -0.075936705, 0.008608214, -0.09693712, 0.44249, -0.31763947, -0.027664369, 0.6166134, -0.43993565, -0.025720617, -0.3275949, 0.041507874) * g_15; - result += mat4(0.20305479, -0.06975863, -0.18130508, -0.11641104, 0.119906515, -0.27588886, -0.15420493, -0.1399163, 0.075970694, -0.16776691, 0.05045285, 0.44775927, -0.036058784, -0.28161573, 0.1877619, 0.10209392) * g_16; - result += mat4(-0.4250348, -0.007887921, 0.307136, -0.18842702, 0.30411714, 0.05816079, 0.26664746, -0.007951849, -0.18454021, 0.30914694, -0.34967366, -0.18838291, 0.06042888, 0.1902336, -0.062413342, 0.015706044) * g_17; - result += vec4(-0.0011628491, -0.0046341973, 0.0007886035, -0.04435556); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!SAVE conv1ups -//!WIDTH conv0ups.w 3 * -//!HEIGHT conv0ups.h 3 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.04461327, 0.026094772, -0.04326873, -0.022564206, 0.041758694, -0.13209347, -0.022546854, 0.004888482, 0.041229382, 0.078778535, -0.09928822, 0.045134705, 0.07555903, 0.095968306, 0.017260674, -0.16633268) * go_0(-1.0, -1.0); - result += mat4(0.074613005, -0.024822153, 0.006285665, 0.064223155, 0.08983999, -0.04401517, 0.0021585347, -0.05762909, -0.04529031, -0.081778474, -0.006732511, -0.11184791, 0.10299652, -0.23328288, 0.15988354, 0.100146465) * go_0(-1.0, 0.0); - result += mat4(0.035105877, -0.0018613822, -0.10513717, -0.033936206, -0.015839642, 0.036846053, 0.057443213, 0.0151035935, 0.073372714, -0.032272663, -0.10095864, 0.11976275, 0.019719468, -0.03309878, -0.09841568, 0.02204194) * go_0(-1.0, 1.0); - result += mat4(0.030945469, -0.17030734, -0.012849732, 0.015892556, 0.056250833, 0.24895169, -0.13764419, 0.16325791, -0.01160465, 0.006647464, -0.026491588, -0.17801395, -0.02435574, -0.2039599, -0.02686966, -0.026576484) * go_0(0.0, -1.0); - result += mat4(-0.037470777, 0.019415256, 0.09230313, 0.018368619, 0.12947397, 0.055918667, 0.03108532, -0.112716034, -0.18622373, 0.13083778, 0.11290179, 0.02457941, -0.055062827, 0.2621282, -0.47111708, 0.14229195) * go_0(0.0, 0.0); - result += mat4(-0.028525796, -0.044668507, 0.0581049, -0.05924212, -0.16126277, 0.02257456, -0.08723546, 0.0291216, 0.08648604, 0.1816661, -0.10166446, 0.054426763, -0.049978323, -0.014283805, 0.08187003, -0.33347195) * go_0(0.0, 1.0); - result += mat4(0.0660737, 0.07962152, -0.08272859, 0.06791631, -0.055610694, -0.04899803, 0.001302826, 0.034116816, 0.055754438, -0.090739936, -0.058503445, -0.21402411, 0.08279316, -0.017558504, -0.06069706, -0.009158945) * go_0(1.0, -1.0); - result += mat4(0.004801658, 0.19979613, -0.12919085, -0.08680655, -0.07869315, 0.13493058, 0.09466464, -0.06683993, 0.45278597, -0.031217117, -0.36346734, 0.007986247, -0.034918886, -0.06899428, -0.17898467, 0.048572816) * go_0(1.0, 0.0); - result += mat4(-0.058319356, -0.11041357, -0.038064227, 0.008961388, 0.059284043, -0.006377162, -0.08503998, 0.08246113, -0.042524133, -0.009021081, -0.06406861, -0.036977306, 0.015088326, 0.007376721, 0.045255665, -0.048585415) * go_0(1.0, 1.0); - result += mat4(-0.04103631, -0.041285936, 0.032812588, 0.0030869239, 0.04834749, -0.0023517366, 0.01230978, 0.09776701, 0.08415344, 0.20653047, -0.19338459, -0.04812796, -0.084704414, 0.038988277, 0.075450994, -0.08053876) * go_1(-1.0, -1.0); - result += mat4(0.13506958, -0.2392332, 0.07425533, -0.05262753, -0.06849319, -0.0686977, 0.09134643, 0.032770213, 0.0725978, -0.12106999, 0.068602145, 0.0030026592, -0.0808173, 0.06421806, -0.08257931, 0.21460927) * go_1(-1.0, 0.0); - result += mat4(-0.008367152, 0.0035576785, -0.012087096, -0.08389121, -0.01598755, 0.12065467, 0.099018045, -0.14851409, 0.030730573, 0.028257858, -0.08153201, -0.08644078, -0.114632666, -0.03989634, 0.005787138, -0.080551155) * go_1(-1.0, 1.0); - result += mat4(0.063049294, -0.13418451, -0.020768259, -0.12566003, -0.038050238, 0.024393935, 0.040856704, -0.10639481, -0.0021406382, 0.12272091, 0.039621927, 0.009142157, -0.12273027, 0.06595554, 0.03680899, -0.045653462) * go_1(0.0, -1.0); - result += mat4(0.14783141, 0.062921695, -0.2287169, 0.17810576, 0.12781417, -0.23455006, 0.08652726, -0.05671725, -0.0154688135, -0.0757278, 0.028468473, -0.055354204, 0.3387407, 0.06741395, -0.21965146, 0.28021505) * go_1(0.0, 0.0); - result += mat4(0.12927511, -0.083112024, -0.026347974, 0.11680802, -0.046030812, 0.04145888, 0.029390097, 0.07615963, 0.21023202, 0.015840504, -0.03812723, -0.03267151, -0.03871269, -0.009839764, 0.09856007, -0.07423972) * go_1(0.0, 1.0); - result += mat4(0.017651597, 0.020432748, 0.1884304, -0.004845205, 0.009974344, -0.022273665, 0.03930962, -0.035542846, 0.036834106, 0.14699532, -0.099249355, 0.10607033, -0.027745333, -0.0970868, 0.114169724, -0.023726419) * go_1(1.0, -1.0); - result += mat4(-0.028299367, -0.15123722, -0.00423565, 0.06813279, 0.00024022427, -0.025944803, 0.022504266, -0.08420193, -0.20596851, -0.1337249, 0.1062062, -0.01428787, 0.014752737, -0.012875446, 0.030165028, 0.035561644) * go_1(1.0, 0.0); - result += mat4(-0.09437882, 0.088986255, -0.019357264, -0.07609514, -0.11045937, -0.09335526, 0.0051609105, 0.046330493, -0.102482855, 0.16320266, -0.07661479, 0.033833966, -0.06805305, 0.051780142, -0.015298791, 0.010972507) * go_1(1.0, 1.0); - result += mat4(0.0022961323, 0.10782266, -0.06649802, -0.006361161, -0.13554603, 0.032311134, 0.01145253, -0.018523335, -0.051428523, -0.0073554716, -0.11821805, -0.0227195, -0.06375, 0.029970335, -0.038386237, -0.046592798) * go_2(-1.0, -1.0); - result += mat4(-0.0839258, -0.0200528, 0.004925492, -0.035113, 0.08860089, 0.052822098, -0.16518101, -0.052028593, 0.042811155, 0.13656183, 0.06579406, -0.26585788, -0.00531827, -0.12001242, -0.07681884, -0.021055153) * go_2(-1.0, 0.0); - result += mat4(0.0678669, 0.038901877, -0.096601896, -0.081621505, 0.0028282998, -0.04645044, 0.04284913, 0.015117329, 0.104568556, 0.006391826, -0.021010842, -0.036205173, 0.06698969, 0.08495347, 0.065073915, 0.07002784) * go_2(-1.0, 1.0); - result += mat4(-0.041274223, -0.065267585, 0.0070607257, -0.067357324, 0.056948107, 0.04808867, 0.07966329, -0.017361488, 0.030913807, -0.119355716, -0.004582609, 0.050158955, 0.03867934, -0.13543603, -0.0011923639, -0.06866172) * go_2(0.0, -1.0); - result += mat4(0.11586327, -0.047302328, 0.062475067, 0.018575871, 0.12420718, -0.03602303, 0.021922488, 0.16011192, -0.16549775, 0.123044305, 0.065160766, -0.30708137, 0.07341779, -0.12929793, 0.08692529, 0.0007729847) * go_2(0.0, 0.0); - result += mat4(-0.013340411, 0.058056828, -0.028747091, -0.0020311237, -0.1070798, 0.13726988, 0.017587787, -0.06898856, 0.03802266, 0.13165978, -0.035371024, 0.098588474, -0.036178526, -0.1068027, -0.03172579, 0.0816444) * go_2(0.0, 1.0); - result += mat4(0.025470722, -0.010980958, -0.08286821, -0.031260632, -0.0134636145, 0.041295316, -0.09980376, 0.07899825, 0.046056226, 0.17291167, -0.066611394, 0.03685817, -0.020917175, 0.11551815, -0.016370535, -0.003991822) * go_2(1.0, -1.0); - result += mat4(-0.039056864, 0.011015572, 0.014014594, -0.08614736, -0.08130745, 0.045282196, -0.04879853, -0.07139807, 0.09670427, -0.07834781, -0.022022815, 0.053423326, -0.055300128, 0.23542596, -0.11442394, -0.05190056) * go_2(1.0, 0.0); - result += mat4(0.12978806, -0.020104066, -0.032463916, -0.04754379, 0.05811374, 0.029061198, -0.013163837, 0.051058855, 0.04294865, -0.12551701, 0.17822845, -0.16549106, 0.12024249, -0.0790749, 0.035424378, 0.0062358896) * go_2(1.0, 1.0); - result += mat4(0.030824278, 0.06636776, -0.047206167, 0.02480193, 0.071935624, -0.18845995, -0.028480597, -0.10213147, -0.03973547, 0.025171004, 0.016600806, -0.10615915, -0.07395773, -0.050147526, -0.011541545, -0.027081985) * go_3(-1.0, -1.0); - result += mat4(-0.035749037, -0.052818663, -0.020621216, -0.023525307, -0.02461827, 0.3019646, -0.024478583, -0.1398278, 0.17499511, 0.22476715, -0.13090259, -0.05484457, -0.023759075, 0.002843161, 0.014099166, -0.011660793) * go_3(-1.0, 0.0); - result += mat4(-0.008461302, 0.14787683, 0.07476249, -0.035538696, 0.007945418, 0.04992842, -0.2388183, 0.0061813896, 0.016805701, 0.019992555, 0.034271393, -0.040170603, -0.039961495, 0.009210595, 0.07606321, 0.05323195) * go_3(-1.0, 1.0); - result += mat4(-0.017007355, -0.01304119, -0.011782462, 0.043480955, 0.041575707, 0.20513225, -0.16858323, 0.019438695, -0.02795952, -0.032667078, 0.08400571, 0.012488913, -0.025382128, 0.06756553, 0.14349163, -0.012960532) * go_3(0.0, -1.0); - result += mat4(-0.015847925, 0.035881996, 0.09946923, -0.2583748, -0.11036338, 0.02174868, 0.023047017, -0.023119839, 0.0014623358, -0.05400468, 0.1088209, 0.056070726, 0.09849772, 0.106276534, -0.2869582, 0.122843154) * go_3(0.0, 0.0); - result += mat4(0.120457835, 0.0030220735, 0.011593652, 0.04870485, 0.051817082, -0.12444271, -0.0030080245, 0.03186695, -0.119991936, -0.03661239, 0.0462927, 0.047734156, 0.035473768, -0.050326344, 0.048162602, 0.0044394233) * go_3(0.0, 1.0); - result += mat4(0.004526382, -0.040592365, 0.038592715, 0.06312635, -0.012543924, -0.03860053, 0.013131243, -0.11894808, -0.05983815, -0.09653036, 0.14409515, -0.022803063, 0.02864931, 0.014170389, 0.091406494, 0.08613508) * go_3(1.0, -1.0); - result += mat4(0.12344745, -0.034350697, 0.10549495, -0.11843059, -0.041916244, -0.035728436, -0.052881684, -0.07620879, 0.06760638, -0.039527662, -0.006650022, -0.05049626, 0.12109734, -0.005554175, 0.17754045, -0.098896034) * go_3(1.0, 0.0); - result += mat4(0.017840233, -0.0118570635, -0.080244206, -0.14309776, -0.03778345, 0.12812364, -0.011180574, -0.03749929, -0.013458457, 0.028993722, 0.03479446, -0.11635739, -0.01636896, -0.010422004, -0.022923285, 0.013722603) * go_3(1.0, 1.0); - result += mat4(0.0022784397, -0.026745517, 0.07457438, -0.023941608, -0.056146793, -0.012885049, 0.010106243, -0.13570426, -0.055139925, -0.0553148, 0.037558038, -0.015558114, 0.055840485, -0.08124391, -0.013017814, 0.18931141) * go_4(-1.0, -1.0); - result += mat4(0.10672792, 0.129464, 0.1233261, -0.062469885, -0.08835128, 0.17588028, -0.02560139, -0.07349341, -0.08052734, 0.03086464, 0.12930822, 0.107045054, 0.03136081, -0.11335949, 0.09541032, -0.015009924) * go_4(-1.0, 0.0); - result += mat4(0.023294786, -0.17904189, -0.036457974, -0.060965557, 0.088545635, 0.001061151, -0.016771115, 0.082081355, -0.0030623788, -0.05096391, 0.022067994, -0.078540295, -0.12912196, -0.045786213, 0.05568379, -0.16344398) * go_4(-1.0, 1.0); - result += mat4(0.043200932, 0.006267473, -0.081682056, 0.044593308, 0.03179784, 0.20806344, -0.038468197, 0.06644582, 0.01704569, -0.029287282, -0.0036700617, 0.018897371, -0.075105995, 0.09612947, -0.06442493, 0.012179776) * go_4(0.0, -1.0); - result += mat4(-0.21926114, 0.18097721, -0.037700515, 0.016763914, -0.057943042, -0.06129067, 0.04456528, -0.2304425, 0.013301696, 0.11028081, -0.18095498, 0.14712757, 0.2271199, -0.3185643, -0.19932592, -0.08554962) * go_4(0.0, 0.0); - result += mat4(0.0117652705, -0.041661818, 0.029219367, -0.046232816, 0.047820047, 0.068789035, -0.113418594, 0.1141295, -0.027060978, 0.07267708, 0.093252845, -0.049717877, -0.087836266, 0.14460698, 0.10277318, -0.04977497) * go_4(0.0, 1.0); - result += mat4(0.022564596, -0.037228584, -0.065915406, -0.011077084, 0.030235467, -0.04677627, -0.06419004, -0.018991074, 0.034164365, -0.019168181, 0.022525655, -0.029373096, -0.079060145, 0.13279332, -0.08545939, -0.045388315) * go_4(1.0, -1.0); - result += mat4(-0.14000517, -0.08309406, 0.13520917, -0.10369978, -0.016325317, 0.00970006, -0.048059512, 0.1412818, 0.040955327, 0.030759163, -0.108052924, 0.005294165, -0.10046129, 0.16592641, -0.035368618, -0.29051507) * go_4(1.0, 0.0); - result += mat4(-0.09455044, 0.0005962807, 0.0006215668, -0.038142636, -0.03929331, -0.01591621, 0.0056410446, -0.036902174, -0.056509133, -0.10841171, 0.07702632, -0.08160013, 0.040747657, -0.08348532, 0.019081287, 0.020851197) * go_4(1.0, 1.0); - result += mat4(-0.03399592, 0.10141488, -0.0077629937, -0.17129703, -0.025233645, 0.052428465, -0.019579021, -0.072962284, 0.022322712, -0.18443614, -0.00848578, 0.0376278, 0.055581484, 0.06439001, -0.026564457, 0.015072123) * go_5(-1.0, -1.0); - result += mat4(0.11295866, -0.1541795, 0.11074539, -0.12757398, -0.11353885, 0.12023232, -0.07913168, 0.25957996, -0.0064171744, 0.08077023, 0.09673833, 0.008732368, 0.03630595, 0.059769, 0.028521406, 0.029331883) * go_5(-1.0, 0.0); - result += mat4(-0.081345834, -0.06722959, -0.13713932, 0.03613845, -0.084334835, 0.046838246, -0.004890033, -0.08524675, 0.15460378, -0.09410546, -0.058240023, 0.11844812, 0.00092362246, 0.028734036, 0.0028451593, 0.03558664) * go_5(-1.0, 1.0); - result += mat4(0.067000724, 0.08689177, 0.003695697, 0.08341895, -0.08124141, -0.20499983, 0.09505712, -0.07436812, -0.028131844, 0.050506454, -0.107579716, 0.058785282, 0.031196257, 0.021408495, -0.100359544, 0.07999305) * go_5(0.0, -1.0); - result += mat4(-0.16514844, 0.117525734, 0.24123909, 0.09518423, 0.17757961, -0.28094006, 0.081966326, 0.0802129, 0.0011662474, 0.06366135, 0.07578068, -0.08616794, 0.19857462, -0.10196374, -0.13831666, -0.18653043) * go_5(0.0, 0.0); - result += mat4(-0.06649859, 0.0935902, -0.19097336, 0.16118656, 0.2938468, -0.10315292, 0.08256489, -0.06169784, -0.05889727, -0.018046174, -0.17596339, 0.20343648, -0.08962845, -0.027532624, 0.059598826, -0.14278376) * go_5(0.0, 1.0); - result += mat4(-0.0070921015, -0.07634683, -0.066166356, -0.06432544, 0.050059035, 0.20213397, -0.071587585, 0.031234715, 0.10629024, 0.044645656, -0.023101477, -0.022136679, 0.009119783, -0.10172394, 0.024746796, -0.1161207) * go_5(1.0, -1.0); - result += mat4(-0.046572298, -0.06981039, 0.08314394, 0.043344617, 0.1914716, 0.0046652057, -0.0683364, 0.086023554, 0.06213587, -0.0077511827, -0.03336288, 0.1474879, -0.032717533, 0.078666836, -0.001740435, 0.048321523) * go_5(1.0, 0.0); - result += mat4(0.18346673, -0.20763724, 0.05431475, -0.08291483, -0.0073792376, -0.053458065, 0.08561732, -0.103502, -0.06856406, 0.05193988, -0.009717332, 0.06446446, 0.050632656, 0.013681985, -0.02556495, 0.05056843) * go_5(1.0, 1.0); - result += vec4(-0.01824226, 0.05140684, 0.010533643, 0.017739987); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!SAVE conv1ups1 -//!WIDTH conv0ups.w 3 * -//!HEIGHT conv0ups.h 3 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.070670135, -0.026429666, 0.09446684, -0.04920855, -0.08720965, -0.022478819, -0.15962029, 0.29240617, -0.10499224, 0.10415364, 0.11922523, -0.08293139, 0.07846739, -0.15612845, -0.19753109, -0.033664245) * go_0(-1.0, -1.0); - result += mat4(-0.10003188, 0.088794544, -0.028137686, -0.1375475, 0.079632774, -0.012540568, -0.092962824, 0.10438857, -0.12865996, -0.040098958, -0.030862473, 0.009116932, -0.14513193, 0.13843827, -0.14862274, 0.27156416) * go_0(-1.0, 0.0); - result += mat4(0.03148634, -0.13966283, -0.022684515, 0.080294125, -0.013548243, -0.01112399, 0.021930493, -0.24562296, -0.029252343, -0.0053704586, 0.088651545, -0.10468119, 0.0077052945, 0.027455118, -0.008439029, -0.08633876) * go_0(-1.0, 1.0); - result += mat4(-0.073491044, 0.11097277, -0.02937573, 0.045977436, -0.015563786, 0.04763272, -0.17349051, 0.02479734, 0.12201058, -0.09606755, -0.064500526, -0.068423286, -0.10828311, 0.0025430934, 0.060595006, 0.10702606) * go_0(0.0, -1.0); - result += mat4(-0.10012673, -0.026187293, 0.039673958, 0.25377232, 0.16539277, 0.015475691, -0.017826023, -0.037547242, 0.27426562, 0.039105, -0.29495236, -0.20741108, 0.3893781, -0.00018520994, 0.18736628, 0.016120607) * go_0(0.0, 0.0); - result += mat4(-0.0902328, -0.035078812, 0.0423949, 0.10428684, -0.012309703, -0.0022217801, 0.12843162, 0.008824024, 0.10457806, -0.13958204, 0.042961385, -0.17798209, 0.13051195, -0.2078117, 0.014258071, 0.27743495) * go_0(0.0, 1.0); - result += mat4(0.0037268966, -0.002057136, -0.086700045, -0.04034686, -0.039582066, -0.05536445, -0.013854305, 0.13898304, 0.08383669, -0.1389377, 0.09724791, 0.27256468, 0.0012985421, 0.026786802, -0.09553305, -0.08505046) * go_0(1.0, -1.0); - result += mat4(0.047094945, -0.15165734, -0.16622189, 0.27696493, 0.04804586, 0.017589863, -0.048407666, -0.1423487, -0.18051605, -0.037678123, -0.083375834, 0.21356659, 0.056051373, 0.058305956, 0.020808164, 0.20114677) * go_0(1.0, 0.0); - result += mat4(-0.06873173, 0.056631878, -0.09389161, -0.026553899, -0.005246827, 0.011163956, 0.0807366, 0.018891184, 0.037806395, -0.08414753, -0.29572666, 0.12225136, 0.028108165, -0.12746434, -0.1242189, 0.06427617) * go_0(1.0, 1.0); - result += mat4(-0.054436807, 0.0463667, -0.3160585, -0.26496625, -0.0016307884, 0.0027304688, 0.13524249, 0.14023106, 0.15203272, -0.0055950717, -0.047067486, -0.1299749, -0.023347244, -0.011924935, 0.04708069, 0.14064) * go_1(-1.0, -1.0); - result += mat4(-0.15567084, -0.03462954, 0.014766895, 0.28104082, -0.015955932, 0.048590813, 0.14149605, 0.016979203, 0.15654798, -0.124170296, -0.000571697, 0.18732761, -0.15969957, 0.036891263, -0.08222836, 0.007162299) * go_1(-1.0, 0.0); - result += mat4(-0.027358167, -0.05515796, -0.21783291, -0.061588667, 0.14288566, 0.034540724, -0.0779948, -0.004935965, 0.087642424, -0.03457867, 0.26657468, -0.08798545, 0.06278833, 0.01650169, -0.15035287, 0.043133624) * go_1(-1.0, 1.0); - result += mat4(0.05577383, 0.058146708, 0.0057744626, -0.043521628, 0.14279243, -0.22507532, 0.0896487, -0.03373711, -0.29882178, 0.12674153, 0.21856095, -0.03654502, 0.09770278, 0.011492664, 0.01397184, 0.11037485) * go_1(0.0, -1.0); - result += mat4(0.14057921, -0.18916433, -0.10062621, -0.19464967, -0.19286343, -0.08279728, 0.0062218676, -0.15246014, 0.0960211, -0.3964747, -0.016336296, 0.028859172, -0.047788087, 0.032031618, 0.054299697, -0.11431765) * go_1(0.0, 0.0); - result += mat4(-0.15350376, 0.1362609, -0.011803502, 0.2660655, -0.037387744, 0.18536955, -0.0015025261, -0.011900626, -0.023042146, -0.15995252, 0.060023192, 0.08954088, 0.07074839, 0.059100557, -0.08593189, -0.045180846) * go_1(0.0, 1.0); - result += mat4(-0.031948235, 0.07176401, -0.007034352, -0.12552954, 0.049458012, -0.07971771, 0.0093457, -0.10731874, 0.07024961, 0.27386668, 0.07679444, -0.28798524, -0.06428793, -0.0057761013, 0.014161652, -0.0065095956) * go_1(1.0, -1.0); - result += mat4(-0.1427731, 0.0833077, 0.13927783, 0.016691789, -0.16832228, 0.10298729, 0.1446675, -0.2656778, 0.0788247, 0.13420862, 0.050337754, -0.08008961, 0.07605825, 0.04659439, -0.054331373, 0.074493684) * go_1(1.0, 0.0); - result += mat4(0.07614274, -0.050090652, -0.066727035, 0.055715825, -0.07636078, 0.08155946, -0.061731443, -0.022193443, 0.057011697, -0.009381379, 0.176684, -0.05981099, -0.04690691, 0.051825907, -0.019666756, 0.0017494732) * go_1(1.0, 1.0); - result += mat4(0.12878093, -0.091072194, 0.03426444, -0.0014821129, 0.04648442, -0.056241687, 0.12965083, -0.2177644, 0.03271057, 0.013664906, -0.27382636, 0.009116637, -0.020398485, 0.026515692, 0.0059792865, -0.10869647) * go_2(-1.0, -1.0); - result += mat4(0.017064014, 0.012380988, 0.015886486, 0.041969348, -0.056818817, 0.057386417, -0.19103225, 0.02042478, 0.022307403, -0.16955635, -0.25923833, -0.19144051, 0.044084065, 0.09931404, 0.08665806, -0.17140177) * go_2(-1.0, 0.0); - result += mat4(-0.034919903, -0.00735085, -0.0040107057, 0.013110185, 0.008756165, -0.11104751, -0.03863784, 0.20081028, 0.008359515, 0.056265604, 0.0035791632, 0.14127707, 0.008306366, -0.061028276, -0.01180833, 0.11239347) * go_2(-1.0, 1.0); - result += mat4(-0.055210557, -0.0047766017, -0.040911432, 0.04214669, 0.015301695, 0.035733294, -0.09534393, 0.3189227, -0.043539703, 0.10847848, 0.052175194, 0.25319937, -0.075755194, 0.07450996, -0.2392008, 0.17029741) * go_2(0.0, -1.0); - result += mat4(0.008697264, -0.062783785, 0.23503996, 0.06680282, -0.10700762, -0.05921618, 0.12575574, 0.12539467, 0.21779932, -0.27365687, -0.08419621, -0.23255387, -0.097952545, -0.33015022, -0.27839977, 0.54275817) * go_2(0.0, 0.0); - result += mat4(0.043178167, -0.07644931, -0.002126049, -0.0041748723, 0.12747553, 0.05624526, 0.08894693, 0.1273868, 0.13564228, -0.029284991, -0.1010155, 0.0144336475, -0.067769796, 0.12993337, 0.23458317, -0.1404509) * go_2(0.0, 1.0); - result += mat4(0.037086505, 0.04712714, 0.00080463936, 0.026554452, -0.032055024, -0.0346718, 0.14792679, 0.025423491, 0.045839246, 0.040022433, -0.010968567, -0.03638554, 0.03469138, -0.048995998, -0.080627054, -0.15703341) * go_2(1.0, -1.0); - result += mat4(0.0022719046, -0.11156194, -0.1660571, 0.07095863, 0.06325309, 0.03638195, 0.011129683, -0.16795434, 0.05859281, -0.050576515, 0.025492875, 0.14741158, 0.16042823, -0.021238782, -0.10693587, 0.062508605) * go_2(1.0, 0.0); - result += mat4(0.04699144, -0.06268154, -0.032550193, 0.1368816, -0.046266492, -0.09626834, 0.035877157, -0.017621659, -0.025884021, 0.016501589, -0.033517126, -0.16266182, 0.0063534426, -0.034565207, 0.107733876, -0.19080792) * go_2(1.0, 1.0); - result += mat4(-0.01089889, -0.046437796, -0.2864276, -0.059123863, 0.010273228, 0.035363402, -0.18365921, 0.002496715, 0.010531512, -0.044639286, -0.14159343, -0.04712995, 0.031355694, 0.041651487, 0.04172989, -0.072659165) * go_3(-1.0, -1.0); - result += mat4(-0.29903612, 0.016968794, 0.2026591, 0.14354537, 0.210121, -0.1271222, 0.11928214, 0.075612746, 0.07222206, -0.113600664, -0.031380497, -0.04970697, -0.040690526, -0.024844045, -0.14514743, 0.10170265) * go_3(-1.0, 0.0); - result += mat4(0.00901007, -0.0077540767, -0.16780637, -0.0772044, -0.08349278, 0.035623573, -0.0036132522, -0.1559422, 0.079474956, -0.024358552, 0.05147624, -0.095216155, -0.001963766, 0.026185913, 0.041633602, -0.068779185) * go_3(-1.0, 1.0); - result += mat4(0.11536367, 0.06698426, -0.019352471, -0.027348887, 0.12543406, -0.017715944, -0.22333942, -0.07524913, -0.023550004, 0.09020137, 0.15082505, -0.019156344, 0.014714152, -0.100751296, -0.10988814, 0.013269792) * go_3(0.0, -1.0); - result += mat4(0.23938964, -0.015321653, -0.085038215, -0.21858668, -0.15793826, -0.1725926, 0.16878416, -0.15579711, -0.21086636, -0.023652412, -0.10312092, 0.047774162, 0.11063097, 0.02804365, -0.049057744, -0.20330532) * go_3(0.0, 0.0); - result += mat4(0.058630574, 0.10365072, -0.112122595, -0.10462442, -0.04204145, 0.0060419035, -0.038622607, -0.22971797, -0.081746876, 0.110261, -0.03279762, 0.10083948, -0.07525642, 0.096350044, -0.15403591, 0.01831559) * go_3(0.0, 1.0); - result += mat4(-0.013126955, 0.11560779, 0.06401061, -0.014257845, -0.078378044, 0.07452937, 0.030035159, 0.07133207, -0.072352365, -0.049404953, -0.2006817, -0.04745451, -0.0645119, 0.0849615, 0.053003483, 0.07766129) * go_3(1.0, -1.0); - result += mat4(0.07683494, -0.47826648, 0.05708172, 0.12041683, 0.18084203, -0.08476069, 0.093064874, 0.016264802, 0.06801874, -0.01283242, -0.13347803, -0.035351828, -0.0011718989, -0.12699558, -0.0240836, -0.08060763) * go_3(1.0, 0.0); - result += mat4(0.0521042, -0.062541164, 0.05483789, 0.14211908, 0.08606814, 0.06433033, -0.23270494, 0.05307593, 0.09299324, 0.04586578, -0.1193637, 0.12056507, -0.06442679, 0.06762315, -0.010547303, 0.031680685) * go_3(1.0, 1.0); - result += mat4(-0.09215318, -0.115724616, -0.061507307, 0.08273653, 0.0265886, -0.092683844, -0.22037667, -0.023114366, 0.028223295, -0.029118685, -0.088996224, 0.1023557, -0.089898214, 0.15436162, 0.16985597, 0.1431367) * go_4(-1.0, -1.0); - result += mat4(0.10560199, 0.13460231, 0.024534458, 0.1370791, 0.16920403, 0.013769043, -0.004941373, -0.22188903, -0.1193022, 0.07823969, -0.097713776, 0.044269208, 0.036816355, -0.11568587, -0.07947363, 0.022213666) * go_4(-1.0, 0.0); - result += mat4(0.002128253, 0.014331295, 0.09004623, -0.12958615, 0.0048723617, -0.072075516, 0.024190098, 0.011900665, 0.038696863, 0.07110043, -0.10347002, 0.082676366, 0.017796163, 0.004747536, 0.11188511, -0.21652836) * go_4(-1.0, 1.0); - result += mat4(-0.051317807, 0.13453357, 0.05310306, -0.033790052, -0.06231268, 0.11130248, -0.075370945, 0.2774124, 0.04305133, -0.045057327, -0.04373203, -0.10055409, 0.042824138, -0.021799369, -0.08762204, -0.16729161) * go_4(0.0, -1.0); - result += mat4(0.08727262, -0.074025065, -0.113067836, -0.07882044, 0.04476854, -0.14519121, -0.0434838, -0.010525559, -0.0425304, 0.106957085, -0.28644025, -0.105096966, 0.12650728, -0.15108573, 0.013723224, 0.5163331) * go_4(0.0, 0.0); - result += mat4(-0.021519013, -0.05317946, 0.0036545463, 0.0003156711, 0.12984163, -0.11362556, 0.061670557, -0.030158816, 0.04674806, 0.16352096, -0.23135264, 0.074876174, 0.0047455966, -0.120593436, 0.032926966, -0.20865184) * go_4(0.0, 1.0); - result += mat4(-0.029197322, -0.09204084, -0.13026133, -0.020570219, 0.043402288, -0.016610064, 0.08961119, -0.09460752, -0.057213686, -0.14044005, 0.080606215, 0.12573113, 0.094055034, 0.06523493, -0.16264567, -0.0716556) * go_4(1.0, -1.0); - result += mat4(-0.020557933, 0.077145614, 0.04620034, 0.22271551, 0.114781894, 0.11590448, -0.03233266, 0.13224865, -0.054499403, -0.01435028, -0.09684464, 0.022300925, 0.16768926, -0.019053463, 0.08804071, -0.14398381) * go_4(1.0, 0.0); - result += mat4(0.0025323853, -0.016476262, 0.12608051, 0.016324151, -0.0035798363, 0.020308342, 0.06474364, -0.042083416, -0.08742628, 0.016960703, -0.120870225, 0.07373239, -0.06463355, -0.018745359, -0.02229239, -0.1039809) * go_4(1.0, 1.0); - result += mat4(-0.008440462, -0.15268475, -0.09420959, -0.07718843, 0.35601637, -0.0010803771, 0.050411247, -0.09859693, -0.008227993, 0.06407621, -0.19121973, -0.15547852, -0.033705134, 0.023920614, -0.12611681, 0.021967601) * go_5(-1.0, -1.0); - result += mat4(-0.24474435, 0.07716706, -0.24876165, -0.18184067, -0.020811914, 0.07414089, -0.21809489, 0.015727887, 0.12278457, -0.08471355, -0.06071567, -0.07017344, -0.064291485, -0.07627711, 0.076017715, 0.2072293) * go_5(-1.0, 0.0); - result += mat4(0.013676314, -0.04966636, 0.06895822, 0.15210962, 0.07330876, -0.034188077, -0.0173066, 0.11160374, -0.12326202, -0.002551885, 0.0015338673, 0.1079974, 0.03733164, 0.077835836, -0.07733004, -0.0058571417) * go_5(-1.0, 1.0); - result += mat4(-0.1854433, 0.02924247, -0.14843488, 0.18941449, -0.17652206, -0.13730201, -0.29041716, -0.12161381, -0.04599312, 0.16662349, 0.045855995, -0.005569671, -0.050993398, 0.019462017, -0.10552683, -0.19930908) * go_5(0.0, -1.0); - result += mat4(0.08246259, 0.2602547, 0.16599776, -0.12149122, -0.048151806, 0.12042248, -0.16163243, 0.00087805535, 0.0536958, 0.05350576, 0.08406917, -0.060227945, 0.19056156, -0.2276745, -0.13755281, 0.39423308) * go_5(0.0, 0.0); - result += mat4(-0.0775391, 0.105803244, 0.08474868, -0.019011196, 0.026801828, -0.036453005, -0.018443616, -0.03005072, -0.10748735, 0.080679856, 0.07718584, 0.07871323, 0.030023575, 0.022230582, -0.090973295, -0.1363233) * go_5(0.0, 1.0); - result += mat4(-0.14770739, -0.09530047, 0.10400556, -0.115337685, 0.14459239, 0.1432794, -0.070606485, -0.053847175, 0.09378594, -0.09445331, 0.088633865, 0.071158156, 0.04437499, -0.04694172, -0.059354205, -0.00041449978) * go_5(1.0, -1.0); - result += mat4(0.016041227, -0.2313572, -0.011389983, 0.030348316, 0.07260269, 0.009828401, -0.06116872, 0.026138552, -0.15607156, 0.042709354, 0.079162516, -0.16348995, -0.019872159, 0.13251646, 0.020712351, -0.16324571) * go_5(1.0, 0.0); - result += mat4(-0.08813695, 0.093021385, 0.019460218, 0.096429825, -0.010391231, 0.0216966, -0.1490125, -0.04100963, -0.024641959, 0.044109546, 0.08043847, -0.03676336, -0.026315603, 0.025947884, -0.10771212, 0.0010732685) * go_5(1.0, 1.0); - result += vec4(0.003290131, -0.0154397, 0.04528908, -0.04218369); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-3x3x3x16 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv1ups -//!BIND conv1ups1 -//!SAVE MAIN -//!WIDTH conv1ups.w -//!HEIGHT conv1ups.h -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009692998, -0.008524317, 0.0010432196, 0.0, 0.00057165127, -0.011818117, 0.0014487396, 0.0, 0.0049518407, -0.001888361, -0.013262905, 0.0, 0.05004511, 0.023134997, -0.016969386, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.008501838, -0.001176035, -0.0035942376, 0.0, 0.009015378, 0.011752493, 0.0061198603, 0.0, -0.056669727, -0.035067406, -0.040517025, 0.0, -0.039194923, 0.007251104, -0.0124227265, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.010942934, 0.0100984, 0.0133265015, 0.0, -0.019482462, -0.014820488, -0.021098822, 0.0, -0.02860967, -0.10633767, -0.03296336, 0.0, -0.011277147, -0.007915212, 0.008589044, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.004447993, -0.0019008318, 0.0054705385, 0.0, -0.008042658, -0.0007432871, -0.0091506895, 0.0, 0.010537624, 0.047716837, 0.01504048, 0.0, -0.108882375, -0.06776622, -0.04354868, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.0030183722, 0.007729766, -0.007144855, 0.0, 0.029383881, 0.024865916, 0.028182652, 0.0, 0.16122057, 0.16675095, 0.18204775, 0.0, 0.12284804, 0.031072017, 0.042543165, 0.0) * go_0(0.0, 0.0); - result += mat4(0.0012941018, -0.00043673834, 0.009252594, 0.0, 0.009156994, 0.0138289975, 0.015774839, 0.0, -0.051840767, -0.07687406, -0.069361895, 0.0, 0.017338578, 0.022834148, -0.0025963243, 0.0) * go_0(0.0, 1.0); - result += mat4(0.01646397, 0.0028061832, 0.007990534, 0.0, -0.0073729097, -0.011168949, -0.0024975399, 0.0, -0.0066431006, -0.014508122, -0.005740217, 0.0, -0.06746655, -0.02083968, -0.05371696, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.013606154, 0.0062064505, 0.008410423, 0.0, 0.0038487792, 0.012054022, 0.007878108, 0.0, 0.034913104, -0.008084116, 0.014990575, 0.0, -0.005912989, 0.021872269, 0.055241022, 0.0) * go_0(1.0, 0.0); - result += mat4(0.014251287, 0.0016604483, -0.006772879, 0.0, 0.0028646574, 0.0015996173, -0.002210879, 0.0, -0.0323296, 0.015729006, -0.017242312, 0.0, -0.03718726, -0.03889927, -0.041001298, 0.0) * go_0(1.0, 1.0); - result += mat4(0.007536155, 0.009848646, 0.007846354, 0.0, 0.019176869, 0.019928271, 0.031777207, 0.0, 0.026086887, 0.01971131, -0.017595863, 0.0, 0.012899679, 0.0026994154, 0.008934449, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.017639438, 0.01536491, 0.011161806, 0.0, 0.034244597, 0.025257796, 0.031185368, 0.0, -0.18240982, 0.038758054, 0.13050976, 0.0, -0.0075258785, -0.0034674285, 0.008525112, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.01788933, 0.017623115, 0.020215526, 0.0, 0.0045994874, -0.0031487814, 0.003752946, 0.0, -0.06494309, -0.07747321, 0.06544584, 0.0, -0.004555707, -0.001776991, -0.017493976, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.01359033, 0.02045422, 0.008234278, 0.0, -0.008073938, -0.036093507, -0.0027978886, 0.0, -0.37033105, 0.009709281, 0.28951523, 0.0, 0.003258166, 0.0044517294, -0.003740991, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.036449786, -0.03035285, -0.025356997, 0.0, 0.097153045, 0.10745537, 0.08421458, 0.0, 0.043944303, -0.004867672, -0.15142196, 0.0, 0.007044417, -0.00785739, 0.007504869, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.007951127, -0.008863303, -0.012213915, 0.0, 0.007273406, 0.00944796, -0.002621692, 0.0, 0.2919848, 0.06830943, -0.16119143, 0.0, -0.0033908382, 0.007383878, 0.007847461, 0.0) * go_1(0.0, 1.0); - result += mat4(0.011670784, 0.00805604, 0.013980011, 0.0, -0.032067183, -0.045659855, -0.03957935, 0.0, 0.14678614, 0.014678316, -0.11203954, 0.0, -0.002894618, 0.008089503, 0.0056759617, 0.0) * go_1(1.0, -1.0); - result += mat4(0.008941132, -0.008732514, -0.004122878, 0.0, -0.01872218, 0.0058594598, -0.014218105, 0.0, 0.15922345, -0.00061763515, -0.10605325, 0.0, 0.0059564817, 0.0062196897, -0.0031137357, 0.0) * go_1(1.0, 0.0); - result += mat4(-0.027044835, -0.0113663385, -0.018061407, 0.0, -0.01064461, 0.0004394501, 0.0068360637, 0.0, 0.12218274, -0.025980305, 0.060082816, 0.0, 0.002298275, -0.005121948, -0.0018933173, 0.0) * go_1(1.0, 1.0); - result += mat4(-0.014044151, -0.0055593867, -0.0091519095, 0.0, 0.018282808, -0.054974634, -0.02104256, 0.0, 0.004737865, 0.009833153, 0.0050819647, 0.0, 0.009256364, 0.004517343, -0.0012567915, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.035084303, 0.019331766, -0.006399992, 0.0, -0.08042094, -0.14020248, -0.13438301, 0.0, -0.0014871466, -0.0071605383, -0.0070841024, 0.0, 0.001705956, -0.010914731, -0.0022737188, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.024562238, -0.025555398, 0.00043982622, 0.0, 0.04687896, 0.062265635, 0.06194832, 0.0, 0.016357735, 0.0056735775, 0.01868422, 0.0, 0.0035063815, 0.0050708377, 0.009102912, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.024276884, 0.031309772, 0.053946678, 0.0, 0.027081756, 0.023922514, 0.051302873, 0.0, -0.005081098, -0.013981954, -0.007141123, 0.0, -0.017242068, -0.00036468913, 0.0071311933, 0.0) * go_2(0.0, -1.0); - result += mat4(0.096000426, 0.12978247, 0.089689955, 0.0, 0.03013154, 0.09065384, 0.010782777, 0.0, -0.009774296, -0.010487119, -0.018002238, 0.0, 0.027585275, 0.018800229, 0.007482455, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.031725004, -0.05638542, -0.06471826, 0.0, -0.038512804, -0.036520924, -0.026658544, 0.0, 0.0019714478, 0.004168433, 0.0036675548, 0.0, 0.009312959, -0.009726487, 0.003937418, 0.0) * go_2(0.0, 1.0); - result += mat4(0.008056586, -0.03609238, -0.0035044104, 0.0, -0.0052967947, 0.010446542, 0.010737699, 0.0, -0.00941154, -0.005599727, -0.0071648047, 0.0, 0.0028106347, 0.0063315486, 0.0005620387, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.10104362, -0.06228799, -0.057575073, 0.0, -0.0008651546, -0.010849562, -0.0066441186, 0.0, -0.016244762, -0.0053532585, -0.012414173, 0.0, -0.012507298, 0.005470365, 0.0032063425, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.019126823, -0.022827078, -0.01918732, 0.0, -0.0049576303, -0.010899637, -0.01990915, 0.0, 0.019013962, 0.007385637, 0.015615745, 0.0, 0.025586424, 0.02317941, 0.019631773, 0.0) * go_2(1.0, 1.0); - result += mat4(-0.011578009, -0.0037521352, -0.0044622095, 0.0, -0.0022668878, 0.0022691146, -0.00570573, 0.0, 0.0052153515, 0.005547525, 0.0033032992, 0.0, 0.009927488, -0.0061824876, -0.016856432, 0.0) * go_3(-1.0, -1.0); - result += mat4(-0.07627339, -0.0595728, -0.08247348, 0.0, -0.016201988, -0.019643232, -0.021891698, 0.0, -0.0033560628, 0.0056153075, 0.005510208, 0.0, -0.0061155884, 0.004726241, 0.03613314, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.026918657, -0.017315133, -0.021586075, 0.0, -0.021625597, -0.008547036, -0.011233614, 0.0, -0.0047514364, -0.0029167454, -0.00583421, 0.0, 0.012949899, 0.0035817428, -0.0045735473, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.08581085, -0.07063111, -0.06381294, 0.0, -0.0040735947, -0.012934923, -0.0057904166, 0.0, -0.0077691195, -0.00034605907, 0.0023017807, 0.0, -0.00029635165, -0.042357627, -0.057994146, 0.0) * go_3(0.0, -1.0); - result += mat4(0.05193261, 0.047533646, 0.071092665, 0.0, -0.015042884, -0.023481138, -0.020945435, 0.0, 0.008216166, 0.004034294, 0.0030410702, 0.0, 0.10532969, 0.13052966, 0.11042539, 0.0) * go_3(0.0, 0.0); - result += mat4(0.052652936, 0.045103617, 0.036393207, 0.0, 0.0018712351, -0.009865708, -0.00591473, 0.0, -0.0008652197, 7.966737e-05, -0.004292879, 0.0, -0.013765752, -0.0603564, 0.032057546, 0.0) * go_3(0.0, 1.0); - result += mat4(0.0020095943, -0.014555452, -0.008721001, 0.0, 0.00085926603, -0.0012287357, 0.007974135, 0.0, 0.004697991, -1.4738258e-05, -0.0048043244, 0.0, 0.047545042, 0.099660076, 0.09649951, 0.0) * go_3(1.0, -1.0); - result += mat4(0.024352267, 0.03303334, 0.02903438, 0.0, 0.0062978864, 0.014672455, 0.0043003284, 0.0, -0.0017531263, -0.0032476797, 0.001345206, 0.0, -0.20736417, -0.1745426, -0.32957983, 0.0) * go_3(1.0, 0.0); - result += mat4(0.027512033, 0.029760962, 0.033007182, 0.0, 9.0356014e-05, 0.0061743665, 0.0036443318, 0.0, -0.016802983, -0.019364875, -0.014311061, 0.0, 0.021530075, 0.059616566, 0.07120056, 0.0) * go_3(1.0, 1.0); - result += vec4(-0.0007544955, -0.0007692414, 0.00032997545, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl deleted file mode 100644 index d471cf3..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl +++ /dev/null @@ -1,2913 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.40511844, 0.046312418, -0.086368635, -0.048218526, 0.038400844, -0.012609009, -0.114371404, 0.058320127, 0.24283059, 0.2988252, -0.06984102, -0.1513035, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.3179384, 0.041913282, 0.5829445, -0.03517926, -0.13997659, 0.1567064, -0.0067053097, 0.38155103, -0.12982988, -0.123628765, 0.43574196, 0.015274767, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.13568722, -0.3296706, 0.40355036, 0.35842642, 0.21866405, -0.53062886, -0.14227761, -0.35239148, 0.101097785, -0.4245473, -0.41358534, -0.08091162, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.2874018, -0.031556252, -0.024857419, -0.14545052, 0.16618997, -0.35254815, -0.09629704, 0.09261814, 0.43960592, 0.26783726, -0.16506493, 0.41094932, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.101475194, 0.28053576, 0.091671854, 0.3356529, 0.09083679, 0.5306931, -0.08974534, -0.23624173, 0.022175577, 0.41184658, 0.19520077, -0.24606428, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.20134552, 0.47637737, -0.3338613, -0.118361436, 0.32517588, -0.22253029, -0.17541096, 0.046637688, 0.10576379, -0.22217134, 0.055137604, 0.37349963, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.17969048, 0.13036613, -0.2836612, 0.072280586, -0.3434514, 0.020839306, 0.12709542, -0.22381261, 0.13942248, 0.07601297, 0.12292496, -0.20566194, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.2150475, -0.09399675, -0.09306267, 0.09580491, -0.47665623, -0.12324208, -0.100735016, -0.46395445, -0.6441451, -0.08280989, -0.09964624, 0.18735269, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.24261168, 0.034477316, 0.13518244, -0.095370695, -0.29263893, 0.12399886, 0.26543903, 0.40211576, -0.12688783, 0.055649832, 0.0039607235, 0.10855666, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.016524548, 0.015399874, 0.020695323, 0.023151765); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.22211748, 0.38811034, 0.19647819, 0.18025233, -0.44580257, 0.21301454, 0.19053668, 0.3906399, -0.019795267, -0.43621698, -0.2952626, -0.16969545, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.12376253, -0.3578144, 0.013765903, -0.33338618, 0.46931675, 0.47708502, -0.11742914, -0.5338616, 0.058727097, 0.014093682, 0.40444478, -0.45218801, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.02297299, 0.37956157, 0.46952614, -0.28906932, 0.5133133, -0.38923758, 0.17953868, 0.2855252, 0.5226521, 0.33031356, 0.14814378, 0.24011709, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.4501361, -0.10823865, -0.44304916, 0.24173234, -0.016219804, -0.08659096, -0.23562773, -0.50403744, -0.0012616274, -0.6338915, 0.22647057, -0.24775903, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.22717546, 0.03211701, 0.28084618, 0.23585059, -0.22632027, 0.66713566, 0.07553389, 0.17764805, 0.23207794, 0.36784792, -0.34729242, 0.5962821, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.24554719, -0.5789114, -0.5091369, -0.39601108, -0.38009188, 0.15842962, 0.07656582, -0.37681392, -0.3328269, 0.035487633, -0.28024784, -0.16454072, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.056824446, -0.04399919, 0.28328308, 0.02923404, 0.27003515, 0.12559497, -0.016995354, 0.06384516, -0.23244575, 0.1984168, 0.08605917, -0.34028816, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.124706075, -0.44753015, -0.22312124, 0.08141755, -0.25384662, -0.016393289, -0.050249767, -0.040201787, -0.014427871, -0.05602875, 0.13308121, 0.49805847, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.06863199, 0.062094662, -0.035574723, 0.10664285, -0.14436434, -0.082004026, -0.12680413, 0.02922838, 0.16316287, 0.01192676, -0.033308484, 0.18727374, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.0013743446, 0.04227666, 0.029018287, -0.0008426521); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.37304083, -0.06803611, -0.06411103, 0.27269405, 0.22606733, 0.2039522, 0.514901, 0.3786155, 0.28303707, 0.14000547, -0.3321655, 0.09701599, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.50415957, 0.3915719, -0.4958669, 0.04014105, 0.31802535, 0.31673974, -0.07615502, 0.054737855, -0.42327112, -0.18999626, -0.012522493, 0.102762744, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.10929559, -0.57894635, 0.013220997, -0.29191223, 0.17323004, -0.27566677, 0.25775912, 0.13022128, 0.0724283, -0.1331955, 0.17363146, 0.42716634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.41452903, 0.34020692, 0.402998, 0.15659642, -0.30401403, -0.014533993, -0.1553566, -0.17143548, -0.288057, 0.14428918, 0.07728673, -0.21961251, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.12768714, -0.07468587, -0.5377452, 0.23702456, 0.18886316, -0.3257077, 0.20170376, -0.25545424, -0.123668954, 0.15017408, 0.0007419787, -0.13949947, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.2576978, -0.07398349, 0.109489314, -0.04158612, -0.32963014, -0.35029748, -0.3167505, -0.25848135, 0.18927233, 0.2081675, -0.2702585, -0.23698156, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.16577533, -0.20408662, -0.030388767, -0.081177086, -0.30532128, 0.114261985, 0.066367835, -0.33745348, -0.18518709, -0.059800602, 0.2227101, -0.16171436, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.1231469, 0.042956218, 0.3520311, -0.15215552, 0.18313944, 0.5157838, -0.09514994, 0.30884972, 0.60990155, -0.35512015, 0.102282114, 0.14265445, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.10444835, -0.008624628, 0.19587915, 0.036038317, 0.09758787, -0.27749214, 0.14781447, 0.11267787, 0.16691335, -0.077876076, -0.049209397, 0.12839536, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.015636094, -0.03486839, -0.0038059507, 0.054434214); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.124267854, 0.007962224, -0.17998387, -0.05789284, -0.041550074, -0.21627353, 0.02771375, 0.049279906, -0.07825293, -0.0658187, 0.08334699, 0.007819368, -0.053893518, 0.10146559, 0.07281707, -0.04693425) * go_0(-1.0, -1.0); - result += mat4(-0.18026589, 0.049227715, -0.23444916, 0.060488567, -0.09980516, 0.015112693, -0.035334926, -0.13345052, -0.13320714, -0.0054334872, -0.04049233, -0.1304189, -0.058878195, 0.16659525, -0.007633062, -0.068291016) * go_0(-1.0, 0.0); - result += mat4(-0.10559241, 0.054001573, 0.055762857, 0.12121601, 0.07811607, -0.0830653, 0.059485614, 0.06800382, -0.012978328, -0.0796546, -0.03803754, -0.05964419, -0.064093046, -0.07586195, -0.036742657, 0.18453833) * go_0(-1.0, 1.0); - result += mat4(0.022106081, 0.10947791, 0.0011338186, 0.031634837, -0.056927577, -0.26113212, 0.099681556, 0.23362195, -0.17860429, -0.1250903, -0.0037589697, 0.1655993, -0.020578198, -0.1636795, 0.027641099, 0.06818794) * go_0(0.0, -1.0); - result += mat4(-0.08456219, 0.0101076085, 0.06612835, 0.18828513, 0.19439413, -0.05441351, 0.09058546, -0.32268864, 0.030592322, -0.09876957, 0.034651507, -0.111315705, 0.08716488, -0.1507648, -0.018940862, -0.050834194) * go_0(0.0, 0.0); - result += mat4(0.16697238, -0.15836456, 0.077995785, 0.08068181, -0.03379854, 0.16519341, -0.15239498, 0.12806813, 0.03560932, -0.110684246, -0.13476025, 0.02535848, -0.06991292, 0.048514012, 0.0416729, 0.08717733) * go_0(0.0, 1.0); - result += mat4(-0.049313076, -0.03194871, -0.013847785, -0.029990746, -0.15915012, 0.03509808, -0.0011314545, -0.1249224, 0.0345892, -0.18697207, -0.038597755, -0.112618044, -0.17375281, -0.055883076, 0.078873746, -0.060458563) * go_0(1.0, -1.0); - result += mat4(0.06791889, 0.048250757, -0.14947584, 0.1464103, 0.034625027, 0.1614507, -0.18002516, -0.22499345, -0.009015057, -0.123403914, 0.08619851, -0.13664183, 0.010211879, -0.15708129, 0.15172581, -0.025576444) * go_0(1.0, 0.0); - result += mat4(0.03782436, 0.0033660422, -0.010088431, -0.07009061, -0.027529597, 0.0917739, 0.092501916, 0.022648554, 0.016138216, -0.099612005, -0.03275366, 0.093189664, -0.023807095, -0.032835755, -0.021751186, -0.05885268) * go_0(1.0, 1.0); - result += mat4(-0.093127936, -0.033109818, 0.044374205, -0.01257518, -0.13067031, -0.013695122, -0.07609673, -0.14678904, 0.0036491172, -0.057091113, 0.06302116, 0.2047689, 0.0011883582, 0.00797786, 0.23997992, 0.03556107) * go_1(-1.0, -1.0); - result += mat4(0.037627794, 0.041767746, -0.117952295, -0.0066822, -0.028435027, 0.13632965, -0.19027917, -0.0021361923, 0.13132729, -0.09695936, -0.16516533, -0.014830638, -0.05808993, 0.1846407, -0.13116007, -0.10605202) * go_1(-1.0, 0.0); - result += mat4(-0.081693485, -0.06264808, 0.08486454, -0.08549504, 0.029431969, -0.14323595, -0.00770528, 0.21860594, 0.022883533, -0.0017431816, 0.17224559, -0.09431063, -0.028515795, -0.18663938, -0.120865725, -0.030412016) * go_1(-1.0, 1.0); - result += mat4(0.1270607, 0.118347816, -0.09791751, 0.012986578, 0.07084144, -0.11682057, -0.16111587, -0.08451572, -0.03204753, -0.029091429, -0.35078618, 0.12681656, -0.04842526, -0.042448696, -0.14195885, 0.069431886) * go_1(0.0, -1.0); - result += mat4(0.056968357, 0.11958923, -0.00031470932, -0.056339122, 0.029859897, -0.0031493618, 0.056802884, 0.011899837, 0.0029990282, -0.29070294, 0.027124101, 0.059092462, 0.3420717, -0.14881286, 0.12467716, -0.04047155) * go_1(0.0, 0.0); - result += mat4(0.0073069474, -0.05794202, 0.13206123, 0.023608455, -0.028124921, -0.10441345, 0.13552763, 0.1370355, -0.15079997, -0.06640641, -0.14373657, 0.050939295, 0.009049148, -0.22194777, 0.04862541, 0.044264235) * go_1(0.0, 1.0); - result += mat4(-0.030503348, -0.16637012, -0.117389075, -0.08290776, -0.08976877, -0.20657647, -0.044662002, 0.060959864, 0.12712368, -0.027711328, -0.2472025, 0.14832148, -0.006349414, 0.031300485, 0.038396467, 0.11758095) * go_1(1.0, -1.0); - result += mat4(0.043296367, -0.021755742, 0.14833954, 0.00856861, 0.036826447, -0.100298785, 0.1346524, -0.03654323, 0.14104709, -0.08861984, -0.04175621, -0.15783565, -0.20554025, -0.014400845, 0.09758823, 0.3012222) * go_1(1.0, 0.0); - result += mat4(0.14976518, 0.24048904, 0.04738185, 0.14116864, -0.0028246883, 0.010856994, 0.11503183, -0.0048893443, 0.0037136774, -0.23222204, -0.07668595, 0.054136075, 0.13594438, -0.031319436, 0.081209205, 0.16445075) * go_1(1.0, 1.0); - result += mat4(0.1383282, 0.043678403, -0.048099563, 0.121575296, -0.15685752, 0.09750033, 0.11703441, -0.014284906, -0.03218536, -0.15594141, -0.005169852, 0.13170211, -0.0009216136, 0.025865545, 0.0034171424, 0.07353478) * go_2(-1.0, -1.0); - result += mat4(0.11446189, 0.028012149, 0.012852205, 0.071380325, -0.02581936, 0.07536672, 0.022615172, 0.08788225, 0.09794186, -0.03212243, -0.081240885, 0.11541121, 0.076030195, -0.19109531, -0.037465803, -0.12165481) * go_2(-1.0, 0.0); - result += mat4(-0.069133125, 0.16841024, 0.08477403, 0.010234146, -0.01394771, 0.041126106, 0.022037728, -0.16571328, 0.16482642, -0.046641283, -0.015524424, -0.10732406, -0.032337334, -0.039461985, 0.06941011, 0.10004811) * go_2(-1.0, 1.0); - result += mat4(-0.08091021, 0.014393868, 0.15919542, -0.011985569, -0.13209614, -0.17724971, -0.1117447, -0.064839125, 0.0141071305, -0.016549781, -0.01544038, 0.044058125, 0.099102214, 0.07104683, -0.0033692264, -0.011985269) * go_2(0.0, -1.0); - result += mat4(-0.13767815, 0.035504427, 0.15205923, 0.17755473, -0.14473997, 0.06277688, -0.2169439, 0.036964424, 0.006689342, 0.004628961, -0.16730706, 0.16391295, -0.10588813, 0.08151436, -0.14907128, 0.20650652) * go_2(0.0, 0.0); - result += mat4(0.07861154, -0.1794478, -0.059224397, 0.16803007, 0.05025362, -0.05318132, 0.1471211, 0.23034573, 0.05250695, 0.12226744, 0.06978067, -0.03607008, 0.010674573, 0.0439673, -0.03689282, -0.039029337) * go_2(0.0, 1.0); - result += mat4(0.07446787, -0.006577457, -0.17369395, 0.0025724266, -0.058095817, 0.07490038, -0.06943755, -0.3144659, 0.07828109, 0.17998894, 0.0067850347, 0.023616858, 0.08627146, 0.053720877, -0.00860585, -0.029439872) * go_2(1.0, -1.0); - result += mat4(0.059849985, -0.11140152, -0.09592929, 0.1342193, 0.16315992, -0.2805751, 0.05178338, -0.012509258, 0.017137745, -0.026671201, 0.025053594, -0.0842668, 0.17889084, 0.088548556, -0.16114505, -0.020796169) * go_2(1.0, 0.0); - result += mat4(-0.075472295, -0.14215264, -0.034432933, -0.042921875, 0.0077655553, 0.04552933, -0.05867107, 0.024829932, 0.16344814, -0.13642615, 0.06945403, 0.035145745, 0.06266624, 0.103483595, -0.14329065, 0.0077256123) * go_2(1.0, 1.0); - result += mat4(0.0027708034, 0.07329603, 0.14105049, 0.07991739, -0.0758546, 0.16391759, 0.059647884, -0.07759994, 0.06402703, 0.0895321, -0.13834727, -0.11177747, 0.019722346, 0.08034925, 0.07566546, 0.11848707) * go_3(-1.0, -1.0); - result += mat4(0.15146783, 0.027667522, 0.09773481, -0.13179557, 0.076958776, -0.15196155, 0.055114925, 0.021436427, 0.059093557, 0.0483428, 0.07084243, 0.019189285, -0.19074525, -0.05114326, -0.05597719, -0.17324033) * go_3(-1.0, 0.0); - result += mat4(0.16141704, -0.022847276, 0.14245096, -0.03828172, -0.03609397, 0.018458935, -0.1401393, -0.015835393, 0.1118651, 0.04606467, 0.06304064, 0.1130469, 0.13078345, -0.011042088, 0.074442014, 0.16744103) * go_3(-1.0, 1.0); - result += mat4(-0.03767718, -0.040626142, -0.059247386, -0.04379782, 0.053381473, 0.20256, 0.08586983, -0.15989254, 0.18586256, 0.057962753, -0.06999747, -0.020169148, -0.055688344, -0.016782917, -0.19943517, 0.15663329) * go_3(0.0, -1.0); - result += mat4(-0.21612807, 0.117120996, -0.075649984, -0.0053718905, -0.38303497, 0.1642169, -0.18583643, 0.4340738, 0.07149195, -0.13684754, 0.07903723, 0.19526604, -0.13151471, 0.08272994, 0.086297594, -0.26715723) * go_3(0.0, 0.0); - result += mat4(-0.26815438, 0.037067838, 0.0642267, 0.22131516, 0.21152607, -0.23873864, 0.09514264, -0.04713103, -0.12136601, 0.04901631, 0.14983785, -0.13058041, -0.19162782, 0.018775929, -0.05136697, 0.019918656) * go_3(0.0, 1.0); - result += mat4(0.12042426, 0.03766373, -0.055505633, 0.12783547, -0.008767006, -0.05963363, -0.034773044, -0.049163565, -0.101345144, -0.010673946, 0.11270166, 0.096191615, -0.111890845, 0.10288703, 0.19787256, -0.27500233) * go_3(1.0, -1.0); - result += mat4(0.062222097, 0.15603566, 0.12435635, -0.029093172, 0.017480267, -0.23054963, 0.25424153, 0.1090598, -0.04203737, -0.042807147, 0.14882293, -0.062273648, -0.44699055, 0.25321072, 0.023357471, 0.15106665) * go_3(1.0, 0.0); - result += mat4(-0.0072348677, -0.088096686, -0.055530813, -0.07064954, 0.023192292, -0.012916004, -0.0056745564, -0.06661922, 0.038913727, 0.026908718, 0.10206203, -0.013684264, 0.105047286, -0.11951532, -0.032914817, 0.016715799) * go_3(1.0, 1.0); - result += mat4(0.032328244, 0.00801627, -0.008064464, -0.26401424, 0.13007867, -0.105827704, 0.035832293, 0.2257254, -0.028368795, -0.055015713, -0.18554647, 0.019349419, -0.004947466, -0.1036783, -0.22648631, 0.023978733) * go_4(-1.0, -1.0); - result += mat4(-0.005028873, 0.008835479, -0.0014021931, 0.07877838, -0.0032623175, 0.04716802, 0.24331963, -0.0045369593, 0.039377805, 0.12054267, 0.06422673, 0.107488826, 0.030367622, -0.11523494, 0.081330195, -0.018546721) * go_4(-1.0, 0.0); - result += mat4(-0.04090765, -0.11046553, -0.020837778, 0.19295895, -0.022306796, 0.10222331, -0.022490164, -0.1311398, -0.16340409, -0.017105957, -0.18809643, 0.11630821, 0.052637395, 0.16867357, 0.042465545, 0.07917558) * go_4(-1.0, 1.0); - result += mat4(0.061382286, -0.10611119, 0.09613031, -0.0067030345, 0.006122337, -0.034826167, 0.16807398, 0.25538254, 0.074573494, 0.056307554, 0.16127278, 0.022633301, 0.06921917, -0.16517632, 0.035960235, -0.17444491) * go_4(0.0, -1.0); - result += mat4(-0.06053351, -0.07234707, -0.002200724, 0.0982265, -0.14494447, -0.025158525, -0.043029554, 0.308433, -0.00789706, -0.027372198, -0.2853412, 0.22422287, -0.072053656, -0.20027302, -0.2053341, -0.0016727111) * go_4(0.0, 0.0); - result += mat4(-0.06965102, -0.074341245, -0.10007991, 0.24454647, -0.046182215, -0.0013816428, -0.19355296, -0.10981621, 0.039524913, -0.17090714, 0.19306308, 0.0019166211, -0.09448512, 0.16326144, 0.016314002, -0.033384096) * go_4(0.0, 1.0); - result += mat4(-0.15294902, -0.035096806, 0.1510738, 0.11737981, 0.11224323, 0.24651042, -0.11259153, -0.10824828, -0.042136658, 0.080296464, 0.07308311, -0.13428898, 0.14472654, 0.06930686, -0.077960335, -0.096928984) * go_4(1.0, -1.0); - result += mat4(-0.15912153, 0.08187269, 0.09500771, -0.15272307, -0.018328117, 0.10363754, -0.14703858, -0.01663941, -0.09634521, -0.122812204, -0.21433884, -0.043322142, 0.25369784, 0.015099865, 0.0030191666, 0.02290927) * go_4(1.0, 0.0); - result += mat4(0.003294999, 0.098755814, -0.006246285, 0.095969744, 0.14606589, 0.051248513, -0.07943076, 0.13453922, -0.10009766, -0.0055656824, 0.16127767, 0.14185014, -0.12013776, -0.16176297, 0.04093573, -0.01890971) * go_4(1.0, 1.0); - result += mat4(-0.13407499, 0.065094054, -0.0198922, -0.08037597, 0.08964208, -0.07237802, -0.13825588, -0.17102, 0.09435665, 0.23435031, 0.10091611, -0.07304656, 0.16103323, -0.03848244, -0.0652565, 0.06148157) * go_5(-1.0, -1.0); - result += mat4(-0.018516695, 0.12308151, 0.04245688, -0.03875231, 0.08163367, -0.10843033, -0.05578245, 0.07653516, 0.021622866, 0.12920228, 0.113022245, -0.27590397, -0.015056695, 0.029378783, -0.082673244, -0.048056267) * go_5(-1.0, 0.0); - result += mat4(0.061482217, -0.09921845, -0.058533907, 0.008726932, 0.027324243, 0.03429762, -0.084271036, 0.19976673, 0.10966977, 0.20396575, -0.017694999, -0.06260422, 0.0165182, 0.10789034, 0.044916157, 0.13079369) * go_5(-1.0, 1.0); - result += mat4(-0.020889722, -0.06484487, -0.16382498, -0.014346998, 0.0026958885, -0.19189303, -0.073752694, -0.1306487, 0.014955386, -0.005341573, -0.13761184, -0.016867343, 0.03703825, -0.06157102, -0.25244838, 0.072198965) * go_5(0.0, -1.0); - result += mat4(0.19881305, -0.15711883, -0.1800523, -0.19283934, -0.07261505, 0.113396615, 0.11042607, 0.19410251, 0.01296784, 0.029375073, -0.16543335, -0.119331196, 0.061140418, 0.0061399927, -0.10372657, -0.19577163) * go_5(0.0, 0.0); - result += mat4(0.08964666, -0.041876756, 0.09050224, 0.017036483, 0.122133896, 0.04581788, 0.0022176318, -0.015053813, -0.31467614, 0.19168457, 0.035007093, 0.2650101, -0.2225773, 0.10270218, 0.09687861, 0.026796961) * go_5(0.0, 1.0); - result += mat4(-0.09435587, 0.10445669, 0.2891561, 0.05967551, -0.06361812, 0.123411134, 0.14559366, 0.0805817, 0.01505635, -0.08782298, -0.043380685, 0.05761991, -0.035663776, -0.08950526, 0.120702736, 0.088385746) * go_5(1.0, -1.0); - result += mat4(0.011555221, -0.06231264, 0.18430808, 0.15266152, -0.18028414, 0.06332757, 0.0026076022, 0.18165322, -0.14395583, 0.10982132, 0.043809865, 0.07797207, -0.2698022, -0.3847484, 0.02855024, 0.25076064) * go_5(1.0, 0.0); - result += mat4(0.062325176, -0.026178865, 0.020149486, 0.03210979, -0.00235475, 0.123468615, 0.09479156, 0.15856354, 0.0947007, 0.09911081, -0.053644318, 0.30245718, -0.103213266, -0.3296715, 0.051986407, -0.15058364) * go_5(1.0, 1.0); - result += vec4(0.011905882, -0.022616472, -0.008990545, 0.041167002); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009393955, 0.18668935, -0.07360051, 0.08218289, -0.002853791, -0.13204256, -0.058228496, -0.08217602, -0.007055643, -0.18616575, 0.12484316, -0.13578129, -0.06971742, -0.15325688, -0.033852972, -0.10442544) * go_0(-1.0, -1.0); - result += mat4(0.1538062, 0.24085993, -0.1470754, 0.23293658, 0.061731886, -0.039425362, 0.10134175, 0.10920789, 0.027627349, -0.030328294, -0.084725365, 0.15722615, 0.13786708, 0.015676511, -0.21962847, -0.076992) * go_0(-1.0, 0.0); - result += mat4(-0.12253862, 0.0339962, 0.3136188, 0.13488305, -0.17547512, -0.030512001, -0.0021504841, -0.09592834, -0.09812029, 0.06814175, 0.19642949, -0.10195504, 0.06005127, 0.051589128, 0.106626906, 0.10529595) * go_0(-1.0, 1.0); - result += mat4(-0.09892863, -0.039184973, 0.14812575, -0.038699288, 0.06645616, 0.07355721, -0.02299443, -0.14151087, 0.04555764, 0.11501852, 0.19053902, -0.0006121733, 0.0035184557, -0.06275289, -0.07477681, 0.07316305) * go_0(0.0, -1.0); - result += mat4(0.115366966, 0.20077994, 0.16739497, 0.11740605, -0.122655675, -0.054410838, 0.031647306, 0.012119558, 0.02255513, -0.05844958, 0.20451924, -0.04342168, 0.14752789, -0.10555866, -0.027899336, 0.09995709) * go_0(0.0, 0.0); - result += mat4(-0.031201297, -0.06993867, 0.017682442, -0.17657831, 0.122878596, -0.03727984, -0.09484746, -0.034541856, 0.03405775, 0.03386156, -0.09452733, 0.12891679, -0.13651215, 0.020713195, 0.01856062, -0.042746462) * go_0(0.0, 1.0); - result += mat4(0.0035370777, -0.058793917, -0.10259198, 0.030393116, -0.03665171, -0.046703644, 0.12145823, 0.068402946, 0.0661803, -0.0949225, -0.015077753, 0.14383693, 0.018183192, -0.05789956, 0.09497322, -0.06279912) * go_0(1.0, -1.0); - result += mat4(0.023490345, 0.0027517239, 0.008101111, -0.059306182, 0.045240793, -0.17254223, -0.015886698, 0.1157877, -0.028337903, 0.09305384, -0.040983718, 0.02249241, -0.028840652, -0.026046747, 0.12575755, -0.13807413) * go_0(1.0, 0.0); - result += mat4(-0.10457153, 0.1589177, 0.13171448, 0.015238637, -0.034651496, 0.02995306, 0.09802121, -0.012463447, 0.08722377, 0.12351376, -0.12364867, 0.14351927, 0.053363666, -0.19996366, -0.0020677273, -0.057423726) * go_0(1.0, 1.0); - result += mat4(0.039858077, 0.0610137, -0.04036137, -0.007068759, 0.062540606, 0.13911818, -0.0908163, 0.039447706, -0.04391428, -0.113149054, -0.014116952, 0.032990754, 0.09261807, -0.03413283, -0.10447263, -0.08573098) * go_1(-1.0, -1.0); - result += mat4(-0.01761663, -0.09644662, -0.005088787, 0.027300932, 0.093963, -0.06828492, 0.0027474556, 0.2242565, -0.12908772, -0.12292567, 0.17184588, 0.13818002, 0.09503586, -0.086556494, 0.0645912, 0.19295183) * go_1(-1.0, 0.0); - result += mat4(0.07955219, 0.019469945, 0.080390416, -0.057485517, -0.058509156, 0.016411109, 0.054208927, -0.028299164, 0.0046880515, -0.1968574, -0.009469305, -0.13357851, -0.13951358, 0.031425167, -0.0552074, -0.019046936) * go_1(-1.0, 1.0); - result += mat4(0.06597837, 0.13813679, 0.13337553, 0.1392795, -0.02466031, -0.19004655, 0.1432966, -0.09052564, 0.008315369, -0.002750817, 0.075821064, 0.06519332, -0.040463336, 0.026104426, 0.07529671, -0.026330618) * go_1(0.0, -1.0); - result += mat4(-0.21183902, 0.0813405, -0.003430971, 0.03450728, -0.00248265, 0.020729724, -0.043258913, -0.032575425, -0.047916103, 0.050494414, 0.20180939, 0.027000068, -0.10179437, 0.06540524, 0.036855206, -0.07024677) * go_1(0.0, 0.0); - result += mat4(-0.108181454, 0.13226138, -0.18859217, -0.17786084, 0.10761393, 0.16454493, -0.101017565, -0.0042238235, -0.045681562, -0.1956961, -0.039326258, 0.12645185, 0.08209508, -0.17214166, -0.07509988, 0.041241605) * go_1(0.0, 1.0); - result += mat4(-0.07397336, -0.16591343, 0.0638351, 0.024531474, -0.04121428, 0.0191009, -0.016413592, -0.014064089, 0.090364136, -0.0143463425, 0.051297646, 0.101621516, -0.046925794, 0.069780506, -0.08860432, -0.014824734) * go_1(1.0, -1.0); - result += mat4(-0.08310045, 0.016958017, -0.014437904, -0.07725209, -0.026139945, -0.11588651, 0.033243302, 0.027774323, 0.035300322, 0.174936, -0.052526426, -0.02398468, 0.17885078, -0.08415918, 0.06867816, 0.023926245) * go_1(1.0, 0.0); - result += mat4(0.055511482, 0.10107289, -0.062379345, 0.109069504, -0.0040129554, -0.01752944, 0.18135491, -0.06211896, 0.15972757, 0.20113245, -0.06507126, 0.11302289, -0.14081402, 0.12730065, 0.11747296, -0.021355543) * go_1(1.0, 1.0); - result += mat4(-0.08841883, -0.016391667, 0.0037979118, -0.106796, 0.07619703, 0.16686298, 0.088635504, -0.048563465, -0.05394817, -0.15386207, 0.16047399, -0.09080504, -0.10668314, -0.15818065, 0.033115778, 0.031520538) * go_2(-1.0, -1.0); - result += mat4(0.01633188, -0.030394198, 0.0029725977, 0.10274382, 0.062238634, -0.100709766, 0.041572776, 0.0568741, 0.008856757, -0.14608574, -0.14852396, -0.10276379, 0.12703411, -0.015127757, -0.12575223, -0.13331042) * go_2(-1.0, 0.0); - result += mat4(-0.031342633, 0.14848311, -0.12904146, 0.034422506, 0.039357357, 0.050679002, 0.06503631, 0.063406065, -0.010346032, 0.16099697, 0.006769406, 0.09577785, -0.0018684114, 0.042848136, -0.002991604, 0.005587025) * go_2(-1.0, 1.0); - result += mat4(0.035801984, 0.12931241, -0.0022342594, 0.018307745, 0.07702747, -0.12185176, -0.07709063, 0.015125713, -0.0011960526, 0.1140818, 0.10893219, -0.048285935, 0.15146717, -0.093633525, -0.08690155, 0.0803985) * go_2(0.0, -1.0); - result += mat4(0.080852866, -0.032541778, 0.116364524, 0.07989729, 0.0067703715, -0.012177273, -0.07982764, -0.0045678024, -0.04779687, -0.10998693, -0.024055414, -0.085992925, -0.119937465, 0.3472314, 0.1565224, -0.02053834) * go_2(0.0, 0.0); - result += mat4(0.114916876, -0.04891269, 0.103173085, 0.14804299, -0.034878302, -0.06205778, 0.057469137, 0.06792636, 0.013155392, 0.24438615, 0.23875354, 0.029985022, 0.12540671, 0.1593171, -0.041406173, 0.13131626) * go_2(0.0, 1.0); - result += mat4(-0.055608317, -0.011724937, 0.12645641, -0.077291526, -0.031136168, 0.19885689, -0.07979561, 0.21854846, 0.012208913, -0.17984846, -0.06909352, 0.034138173, -0.040021844, -0.11747884, 0.024365483, -0.00078131305) * go_2(1.0, -1.0); - result += mat4(0.052407045, 0.14146121, -0.16186738, -0.14332147, 0.17796749, 0.2403311, -0.101434335, -0.11113733, -0.06573204, 0.13941497, -0.014392969, -0.0060202163, -0.22008768, 0.24818769, 0.25274605, -0.07692249) * go_2(1.0, 0.0); - result += mat4(0.010145611, 0.09386053, 0.093780175, 0.09353351, -0.025648097, -0.031589564, 0.0150197605, 0.03715231, -0.15479125, -0.03264438, 0.21176213, 0.019200986, 0.004911368, 0.19266897, 0.01935736, -0.04114218) * go_2(1.0, 1.0); - result += mat4(0.053129405, -0.15921484, 0.0003864309, 0.09827425, -0.054169323, 0.06976963, 0.05310063, 0.010317169, -0.0468072, 0.20395218, -0.16632959, 0.060554396, 0.24564919, 0.2189468, -0.12793644, -0.18483198) * go_3(-1.0, -1.0); - result += mat4(-0.082494386, -0.1433939, 0.050049685, -0.3635514, 0.08438997, 0.1438989, 0.028363084, -0.1784714, -0.20042121, -0.0059182104, 0.095135674, -0.20745192, -0.27230132, 0.10656265, 0.09331211, -0.09988007) * go_3(-1.0, 0.0); - result += mat4(0.11487431, -0.055160172, -0.17928086, 0.0103181815, 0.031005684, 0.054106805, -0.06011703, 0.15056583, -0.092787445, -0.031473074, -0.12840845, 0.13332976, -0.032842558, 0.16832976, -0.13352585, -0.2415442) * go_3(-1.0, 1.0); - result += mat4(0.0584145, 0.10595881, -0.10753989, -0.10199688, -0.017936673, 0.11947298, -0.021989146, 0.21017475, -0.0648711, -0.20729136, -0.13821706, -0.039291058, -0.011472392, -0.16857262, 0.16062364, -0.0720233) * go_3(0.0, -1.0); - result += mat4(-0.113283016, -0.030152159, -0.01753151, -0.0002958871, 0.043837037, 0.081768855, -0.1745709, 0.114827335, 0.08412931, -0.09157743, -0.18770902, 0.15422468, -0.0048349043, 0.03311079, 0.27095637, 0.014000513) * go_3(0.0, 0.0); - result += mat4(-0.10381905, 0.07169773, -0.19069736, 0.17213592, -0.024624163, -0.006234784, 0.08938769, -0.11516081, -0.063434005, -0.15721959, 0.15561773, -0.050912045, 0.11003226, -0.13991411, -0.1300524, 0.04862886) * go_3(0.0, 1.0); - result += mat4(-0.032974396, 0.063625805, 0.049537376, -0.022988167, -0.01843721, -0.101040475, -0.056562204, 0.014531577, 0.004539358, 0.17242074, 0.10726271, -0.074500956, -0.17708772, 0.027675934, -0.059681445, -0.2764947) * go_3(1.0, -1.0); - result += mat4(0.005475852, 0.022774579, 0.07243921, 0.034401163, 0.11421145, -0.01111065, 0.041709334, -0.005682442, 0.103502244, 0.1585634, 0.0822138, 0.10464134, -0.30551413, 0.044623576, 0.12529698, 0.19838129) * go_3(1.0, 0.0); - result += mat4(0.10738428, -0.08327003, -0.15896958, 0.055716608, 0.036630616, -0.095512174, 0.12127086, 0.017237328, 0.07521648, 0.02619509, 0.09315012, -0.091806784, -0.17385966, 0.39460838, 0.16974619, 0.118519105) * go_3(1.0, 1.0); - result += mat4(0.02155818, -0.037706323, -0.031167481, 0.17740026, -0.10216859, -0.03835498, 0.063458204, -0.068242945, -0.076139286, -0.00688632, 0.26133075, 0.02907029, -0.098043405, 0.043967254, 0.038398016, -0.004577523) * go_4(-1.0, -1.0); - result += mat4(-0.03310849, 0.032241113, 0.03790139, -0.1506091, -0.06757023, 0.085145615, 0.051285, -0.18566431, 0.12794217, 0.13021192, -0.32284498, 0.057858843, -0.06994142, -0.08634674, -0.046662483, -0.13749412) * go_4(-1.0, 0.0); - result += mat4(-0.028267909, 0.1641077, -0.19964945, 0.023037154, -0.030063655, -0.091514915, -0.07767639, -0.02312143, 0.11070785, 0.15357333, -0.03830176, 0.10832436, 0.0443796, -0.09758842, 0.015634436, -0.06254477) * go_4(-1.0, 1.0); - result += mat4(-0.09528219, -0.19769864, 0.06703834, 0.09207281, -0.032106426, 0.093832366, -0.11258022, 0.05922724, -0.16998139, -0.0017481655, 0.17522462, 0.24669507, 0.052276075, 0.05705078, -0.044763424, 0.053217035) * go_4(0.0, -1.0); - result += mat4(0.18400073, 0.031144079, 0.19051228, -0.07425283, 0.19960524, 0.10420792, 0.009194873, 0.05656284, 0.1877819, 0.08194684, -0.087940305, 0.12211445, 0.17500238, -0.13317922, 0.11282426, 0.1984043) * go_4(0.0, 0.0); - result += mat4(0.12576003, -0.0002440954, 0.032564614, 0.1245738, -0.1214486, -0.21279162, 0.16659847, -0.08634447, 0.13377175, 0.14048073, -0.10597221, 0.015309535, -0.082563356, 0.03762967, -0.01799735, -0.012296961) * go_4(0.0, 1.0); - result += mat4(0.31534046, 0.050005008, 0.010082459, 0.12638511, 0.029427648, 0.012857332, -0.0011064942, 0.021489955, -0.10499517, -0.008449794, -0.09070462, 0.16598962, 0.045353167, -0.04171796, 0.03455617, 0.038862403) * go_4(1.0, -1.0); - result += mat4(0.32602155, 0.25541407, -0.06687199, 0.13391781, 0.034061424, 0.15604642, -0.07522289, -0.011375775, -0.06472148, -0.19092827, 0.14646617, 0.06597225, -0.09730722, 0.08544787, -0.053395346, -0.0874809) * go_4(1.0, 0.0); - result += mat4(-0.21732031, -0.25536, 0.16840498, -0.30361295, -0.032152392, -0.021982064, -0.16944127, 0.07402161, -0.25390545, -0.095749676, 0.032905534, 0.018307336, 0.13753782, -0.15032212, -0.013642775, 0.0014004963) * go_4(1.0, 1.0); - result += mat4(0.10093556, 0.04637517, -0.09635432, -0.05565759, -0.01704443, -0.10422182, -0.010117417, 0.051819284, 0.023235573, 0.30288386, -0.20176506, 0.15881899, -0.0073640156, -0.021833172, -0.091416284, -0.019484103) * go_5(-1.0, -1.0); - result += mat4(0.059036765, 0.0028422088, -0.00083876523, 0.10131841, -0.037765842, 0.020626187, -0.1472255, 0.03169631, 0.047914416, 0.1507232, 0.1537407, 0.45889926, -0.08799094, 0.06833399, 0.21760616, 0.043725714) * go_5(-1.0, 0.0); - result += mat4(-0.037861925, -0.17365238, 0.09285812, -0.008444125, 0.060449697, -0.042576265, -0.13006234, -0.045280218, 0.07202426, -0.37961534, 0.29990852, 0.017368209, -0.040687993, -0.090216674, -0.03596889, -0.10287738) * go_5(-1.0, 1.0); - result += mat4(0.056114856, 0.03898295, 0.0726793, -0.13897386, -0.15011202, 0.06493792, 0.0006375224, -0.035154995, -0.1419182, -0.14487775, 0.010234703, 0.09966922, -0.21430752, 0.19036353, 0.1385904, -0.16709355) * go_5(0.0, -1.0); - result += mat4(0.13767402, -0.009218388, 0.34366035, -0.020337667, 0.104603715, 0.02890772, -0.21139692, -0.07398855, -0.047926538, -0.030577378, 0.18128897, 0.15607865, 0.035373166, -0.08518856, 0.03877098, 0.056739412) * go_5(0.0, 0.0); - result += mat4(-0.23528527, -0.06553831, -0.17654425, -0.042807654, -0.0023833162, -0.078174345, -0.06520886, 0.108480416, -0.07252387, 0.05465845, -0.43291152, -0.035231944, 0.13130796, -0.010083894, -0.15207918, 0.015428884) * go_5(0.0, 1.0); - result += mat4(-0.026347723, -0.065349065, -0.083640285, -0.0015784341, 0.036224395, -0.096346684, -0.065972336, -0.10886569, -0.19007617, 0.086069055, 0.08958893, -0.09020663, 0.12338649, 0.08924214, -0.050577816, 0.07367879) * go_5(1.0, -1.0); - result += mat4(-0.09333362, -0.2623413, 0.299135, 0.24848375, 0.037386406, -0.15902545, -0.22746527, -0.054786585, 0.08274337, -0.0357205, 0.05564374, 0.00689044, 0.40519455, -0.33158177, -0.18638985, -0.04642836) * go_5(1.0, 0.0); - result += mat4(0.17579286, 0.11385604, -0.0686301, -0.07236356, -0.16359027, 0.07976716, 0.05401284, -0.086946845, 0.131031, 0.09545254, -0.31800562, -0.008303773, -0.05069259, 0.07527546, -0.045465626, 0.1128337) * go_5(1.0, 1.0); - result += vec4(-0.04240877, 0.019321874, -0.0019326283, -0.09129558); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09150374, 0.27307025, -0.29910362, -0.1348109, 0.22943531, -0.3949183, -0.5663888, 0.060001444, 0.10339246, -0.13657793, -0.07578187, 0.3050418, -0.06493081, 0.12776284, -0.38266462, 0.06579857) * g_0; - result += mat4(-0.07931592, -0.067593426, 0.3326977, 0.08658692, -0.15738702, -0.24143377, -0.24007297, 0.3272038, -0.23275268, -0.07847532, 0.3563628, 0.32067114, -0.23376603, 0.0073057627, -0.26839128, 0.009836977) * g_1; - result += mat4(-0.28198138, 0.32377273, 0.09081581, -0.086309046, -0.12054532, -0.462313, 0.0920237, 0.23586476, -0.021723233, 0.36585453, -0.00796165, -0.39974895, 0.29524347, -0.256584, -0.40205815, -0.19578406) * g_2; - result += mat4(-0.28249493, -0.11078143, -0.1662569, 0.2984389, -0.0067178444, 0.34377992, 0.32329297, -0.23714112, -0.18873024, 0.24639177, -0.18014365, -0.214034, 0.4113513, -0.30601293, 0.09141208, 0.047741897) * g_3; - result += mat4(-0.3642344, 0.4233032, -0.4503468, -0.11965398, -0.034085244, 0.18682572, 0.138233, -0.22629389, -0.08205921, 0.12951039, -0.07831761, 0.12225131, -0.08253673, -0.04149855, 0.1658926, -0.22672354) * g_4; - result += mat4(-0.19474551, -0.098459534, -0.026704386, 0.12555447, -0.14878166, -0.13216433, 0.106912896, -0.116285235, -0.102333605, -0.084978595, -0.1978574, 0.26760474, -0.16923113, 0.1709896, 0.324137, -0.0039849947) * g_5; - result += mat4(0.278326, -0.18800737, -0.4307119, 0.033457235, -0.36178744, -0.10627576, 0.108752854, -0.1976515, -0.03780597, -0.08123979, -0.12383117, 0.27845758, 0.17234688, 0.35611427, 0.20723963, -0.079292715) * g_6; - result += mat4(-0.5295802, 0.08056841, 0.1919099, -0.067211255, 0.41047558, 0.14845635, 0.29295865, 0.36605957, 0.1662992, 0.26510397, 0.2262399, 0.105923004, -0.42799288, -0.020592844, -0.09260191, 0.041266896) * g_7; - result += mat4(0.3346207, -0.1813917, 0.12152124, -0.10919295, 0.0510005, -0.03250092, 0.20248795, 0.05000007, 0.31189185, -0.5248881, 0.17411484, 0.50529236, -0.10991088, -0.055482015, 0.3692675, -0.08483728) * g_8; - result += mat4(-0.209644, -0.294786, -0.23882675, 0.15662841, 0.15820913, 0.090583235, 0.09068973, -0.038006596, -0.16551273, 0.056037854, 0.108854815, -0.46387982, 0.092163965, 0.053796794, -0.24753033, -0.022790147) * g_9; - result += vec4(-0.03865883, 0.02926021, -0.01725902, -0.013565478); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0040288265, -0.015393535, -0.07260242, -0.15472066, -0.19534549, -0.39122432, 0.16078798, -0.5742789, 0.15768866, 0.2655791, 0.15935476, -0.047498103, 0.064498045, 0.076590106, -0.4061225, 0.37775257) * g_0; - result += mat4(0.2614361, 0.017933317, 0.1832562, 0.06045294, -0.4276279, -0.10364118, 0.25701275, -0.19153634, -0.07767676, -0.04028147, 0.48517522, 0.04272645, 0.15032586, -0.009070223, -0.077463955, -0.30442774) * g_1; - result += mat4(-0.28623474, -0.23038289, 0.24896185, -0.0850123, 0.2147713, -0.04781785, -0.53589386, 0.18313637, 0.14259681, 0.010933099, -0.15293483, -0.3547061, -0.041572977, 0.12857276, 0.07659088, 0.41463402) * g_2; - result += mat4(-0.23288313, -0.10809953, 0.03761914, 0.11731379, 0.2614991, 0.30079544, 0.09526279, 0.60236603, -0.27493668, -0.059467852, -0.11954311, -0.1494763, 0.1530606, -0.06316779, -0.16075373, -0.19744329) * g_3; - result += mat4(-0.23136528, 0.15367796, -0.114170656, -0.075603075, 0.115280285, 0.065568104, -0.2712825, 0.08988661, 0.07555022, 0.20744222, -0.17012368, -0.070289165, -0.13714345, 0.047158517, -0.0038408411, 0.42667535) * g_4; - result += mat4(-0.023408122, 0.21510267, 0.048198875, -0.034309026, -0.4022738, 0.27354932, -0.3187103, -0.08941432, -0.39407676, 0.040392227, 0.30848974, 0.0047349343, 0.074711114, -0.0855602, -0.10068395, -0.29605198) * g_5; - result += mat4(-0.17653674, 0.079635404, -0.26055837, 0.02086439, 0.09741846, -0.30796355, 0.024595756, 0.004988738, -0.03251247, 0.06604017, 0.21450306, -0.11361557, 0.13276732, 0.14402844, 0.10751112, 0.028939316) * g_6; - result += mat4(0.28167632, 0.08593957, 0.08560364, 0.09389072, 0.06070772, 0.1481636, -0.2830234, -0.08872352, 0.08137253, -0.17761461, 0.06556175, 0.38331816, -0.04286456, 0.18249401, -0.015249578, 0.1113206) * g_7; - result += mat4(0.03386872, -0.16347472, 0.046639867, 0.2082717, 0.05713075, 0.22504792, 0.33825234, -0.1434717, 0.14420202, -0.31768665, -0.028941685, 0.295254, 0.07706925, -0.19025062, 0.25294247, -0.08384886) * g_8; - result += mat4(0.14903983, 0.07136475, 0.15917307, -0.11220863, -0.061577477, -0.24206571, -0.033777636, 0.19905542, 0.25331694, 0.28196925, 0.17308664, -0.20262258, 0.19050619, 0.059853118, -0.29986638, -0.48297527) * g_9; - result += vec4(0.012018454, 0.019300776, -0.029552516, -0.007941907); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.100268096, 0.23665515, -0.09436204, -0.28319857, -0.12872986, 0.08509328, -0.18415087, -0.03999439, 0.2617383, -0.15970403, -0.22670083, -0.03881397, 0.13375872, 0.16361052, -0.182056, -0.05152662) * g_0; - result += mat4(0.06983459, 0.05918782, 0.0019706702, 0.19103576, 0.0012266171, 0.16021517, -0.28444147, -0.08221082, -0.22690836, -0.28738838, -0.30523723, -0.06292484, -0.45787656, -0.4256781, 0.15011774, 0.19713745) * g_1; - result += mat4(-0.108251706, -0.09575882, 0.14541572, -0.023061674, -0.09192183, 0.20073768, 0.09588695, -0.12282409, 0.49980986, 0.035110943, 0.05705307, 0.1849613, 0.3072823, -0.2778156, -0.122733004, 0.23415174) * g_2; - result += mat4(-0.16456233, -0.29974493, 0.28406498, 0.25605485, -0.011572488, -0.08334007, 0.07203565, -0.094384134, 0.22027689, -0.21240151, -0.4200112, 0.12086537, -0.2557046, -0.21156469, 0.19297566, -0.122556984) * g_3; - result += mat4(-0.0512366, -0.21540374, -0.42458904, -0.14916559, -0.006133572, -0.047171656, 0.19129787, 0.22396603, 0.33921507, 0.12842081, 0.09855959, 0.12153268, 0.29035586, 0.36441955, -0.1877515, -0.13069488) * g_4; - result += mat4(0.13884968, -0.18599026, -0.252318, 0.06907854, -0.06035006, 0.09183405, -0.28984216, 0.09260213, -0.37774235, -0.0048559248, 0.0033081435, -0.2721911, -0.10626775, -0.000512303, -0.049684875, -0.032722652) * g_5; - result += mat4(-0.2273582, 0.1474099, -0.059321042, -0.15232776, 0.0116628725, -0.08633413, 0.05804712, -0.07626975, -0.10478975, 0.21511218, 0.41905594, 0.06739017, 0.30586454, -0.18381259, 0.09150968, 0.052257504) * g_6; - result += mat4(0.11706192, -0.22794026, 0.0827107, 0.08569464, -0.21939716, 0.45023325, 0.37169182, 0.042208318, 0.11287388, 0.32384142, -0.413992, 0.05821689, -0.3391042, 0.15291925, -0.36155325, 0.0664715) * g_7; - result += mat4(-0.34493464, -0.15583536, -0.14152767, -0.12836038, -0.09319977, 0.25707567, 0.14277849, 0.40507147, -0.031562362, 0.23948264, 0.1699104, 0.27782723, 0.08283791, -0.26529413, -0.106602244, -0.07465849) * g_8; - result += mat4(0.1887244, 0.252802, 0.32356924, 0.016438756, -0.08394548, -0.15049113, 0.04155357, -0.16676176, -0.31628004, 0.15818349, 0.095658414, -0.19542241, 0.07927821, 0.066871084, 0.09443255, -0.07224674) * g_9; - result += vec4(-0.0043032477, 0.009764352, 0.005997259, -0.007073129); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.028464707, -0.0076998044, -0.098759785, -0.12704554, 0.140781, -0.08847565, 0.12551343, 0.054319832, 0.039179612, -0.12079395, 0.0840237, -0.04765479, -0.0787157, 0.027072273, 0.032441992, 0.092848614) * go_0(-1.0, -1.0); - result += mat4(0.016368933, 0.08495167, 0.045507867, -0.017810903, -0.13693541, 0.07793141, -0.0847867, -0.02674938, 0.03917831, 0.0583348, 0.14067759, 0.05404356, -0.056053232, -0.08153035, -0.016500872, -0.09246647) * go_0(-1.0, 0.0); - result += mat4(-0.2207446, 0.09187981, 0.26351583, -0.10837247, -0.16074996, 0.021806644, 0.064383596, -0.100479834, -0.15344208, 0.029999373, 0.054487687, 0.024963278, 0.027253391, 0.044593908, 0.0028602716, 0.0068189986) * go_0(-1.0, 1.0); - result += mat4(-0.012270755, 0.17872953, 0.064162925, -0.009187634, -0.07101044, -0.15244298, 0.07641365, 0.045359824, 0.047280394, -0.11816058, 0.04818328, -0.06783152, 0.03312469, 0.09022799, 0.1502202, -0.15722868) * go_0(0.0, -1.0); - result += mat4(0.046646576, 0.06868044, 0.02820867, 0.21969767, 0.1243955, 0.26142406, -0.23144223, -0.08796293, 0.0398647, -0.062436674, 0.027423117, 0.13905616, -0.10112542, 0.016614847, 0.09284281, 0.10616967) * go_0(0.0, 0.0); - result += mat4(-0.11414351, -0.17635559, 0.23484671, 0.06690661, -0.05780663, -0.09876118, -0.0064057475, 0.190833, -0.07758326, 0.09217876, 0.1301408, 0.05124073, -0.0033208567, 0.10413071, -0.10017004, -0.18671247) * go_0(0.0, 1.0); - result += mat4(0.076304704, 0.031909514, -0.16726097, -0.044897225, -0.09151517, -0.08688521, 0.10994057, 0.098014385, 0.11175995, -0.07900182, -0.07106507, 0.09704293, 0.036083866, 0.1263971, 0.016215103, -0.047700983) * go_0(1.0, -1.0); - result += mat4(-0.28958046, 0.050771553, -0.0023323307, 0.0675595, -0.04316364, 0.044133425, -0.18150502, -0.0850111, 0.006924408, -0.06393128, 0.10205554, 0.15342334, 0.054154534, 0.022624893, 0.010953078, 0.13673723) * go_0(1.0, 0.0); - result += mat4(-0.03409413, 0.028405178, -0.05127796, -0.034043357, -0.0270218, 0.09640163, 0.11765684, 0.09158879, 0.06125932, 0.0020331615, -0.071551085, -0.10743251, 0.045237638, 0.013760218, -0.11425174, -0.01588719) * go_0(1.0, 1.0); - result += mat4(0.058918588, 0.009444897, -0.047927774, 0.09019786, 0.043345723, -0.023809604, -0.038707208, 0.028489659, 0.06825553, 0.0654595, -0.054454252, 0.024170533, -0.0630477, 0.063538656, -0.17238533, 0.068992056) * go_1(-1.0, -1.0); - result += mat4(-0.106661834, 0.1729409, -0.017353304, 0.1547866, -0.077660635, -0.13269295, -0.009888048, -0.100246325, -0.07955747, -0.07415859, 0.13797416, 0.007907938, -0.17988227, -0.035715256, -0.1665264, 0.017300867) * go_1(-1.0, 0.0); - result += mat4(0.012326813, 0.081755504, 0.09083725, 0.14236847, -0.06723204, 0.16559705, -0.019120784, 0.031893797, -0.043700054, -0.0021675762, -0.20446324, -0.04587342, 0.112972125, 0.13510054, -0.056528084, -0.14940956) * go_1(-1.0, 1.0); - result += mat4(0.1754108, -0.087218195, -0.11325469, -0.16805157, -0.1142211, 0.17406312, -0.059973314, -0.10717304, 0.18472707, -0.012734006, -0.007386818, -0.02337229, 0.0022313017, -0.08310493, -0.144318, -0.040679064) * go_1(0.0, -1.0); - result += mat4(-0.11436214, -0.032701626, 0.10555086, 0.097844794, 0.042062867, -0.06411445, -0.22296551, -0.02218468, -0.12138648, -0.219672, -0.027106086, 0.16117609, 0.4029761, 0.2874066, -0.24300526, -0.13958555) * go_1(0.0, 0.0); - result += mat4(0.19136569, -0.16899914, 0.28855026, 0.01604013, 0.23858279, 0.017443515, 0.116519265, -0.14106062, 0.2628952, 0.04199648, -0.15968476, -0.13577467, -0.26726186, 0.16894239, 0.1161797, 0.22232126) * go_1(0.0, 1.0); - result += mat4(0.03433782, -0.4377368, 0.07592228, 0.050765358, 0.016779365, -0.2814908, -0.054651145, 0.14099401, 0.009071582, -0.077537715, 0.03849815, 0.10649713, 0.13704073, -0.0066545433, 0.021307606, -0.020097127) * go_1(1.0, -1.0); - result += mat4(-0.07976216, 0.23822626, -0.17063715, 0.20297636, 0.023039242, 0.06014194, -0.15967317, 0.08240807, 0.009169198, 0.07917161, -0.054458518, 0.040417165, -0.04217864, -0.30155832, 0.0045507564, 0.31573528) * go_1(1.0, 0.0); - result += mat4(0.2465092, -0.18369976, 0.21851197, 0.09743678, -0.011960415, -0.008661719, 0.016011793, -0.08833815, -0.07458915, 0.11310172, -0.067554794, -0.051886413, -0.05756129, -0.05044447, -0.049218442, -0.1251358) * go_1(1.0, 1.0); - result += mat4(-0.105254, -0.060052536, -0.068924, -0.032004643, 0.09716229, -0.0237528, 0.0020337559, -0.09548248, 0.015624795, 0.018132908, -0.083482854, 0.069631234, -0.12218026, -0.016112767, -0.121688485, 0.006671939) * go_2(-1.0, -1.0); - result += mat4(0.060343012, 0.07173265, 0.033514615, -0.035466213, 0.06612058, 0.045815025, 0.015730558, -0.0010985638, 0.0484444, 0.045952056, -0.16152261, 0.052448895, -0.06334492, 0.07493364, 0.047932435, -0.030090101) * go_2(-1.0, 0.0); - result += mat4(0.11831878, -0.10772223, 0.10751084, -0.046449114, -0.15613122, -0.104276486, 0.1560631, 0.097843975, 0.09562602, -0.021978563, -0.21964736, -0.041462947, 0.0047826758, -0.032129213, 0.0023565618, -0.07376749) * go_2(-1.0, 1.0); - result += mat4(-0.15722834, -0.02632728, -0.17637573, -0.016288143, 0.011352041, 0.17230697, -0.05609241, 0.009408289, -0.06377007, 0.047789995, -0.0070850886, 0.034160197, -0.06458776, 0.07284792, 0.015426501, -0.23143877) * go_2(0.0, -1.0); - result += mat4(0.16319363, -0.025108967, -0.11674793, -0.009718719, -0.24873121, -0.10892215, 0.028181374, 0.2013077, -0.28780007, 0.09197797, -0.19682473, 0.093545504, 0.16686925, -0.042942066, 0.028844355, -0.24561931) * go_2(0.0, 0.0); - result += mat4(0.02991238, -0.11548832, -0.10701962, -0.01710372, -0.12132859, -0.06009217, -0.023218688, 0.10426464, -0.028997114, 0.004257648, 0.15071645, 0.03490751, -0.085863, -0.09392611, 0.050106034, 0.07477858) * go_2(0.0, 1.0); - result += mat4(-0.052695, -0.027481645, -0.05693278, 0.13416721, -0.08503671, 0.10108925, 0.084225155, 0.046710003, 0.08953068, -0.019499833, -0.006807835, -0.06288796, -0.1796082, 0.07454893, 0.01883766, 0.19803225) * go_2(1.0, -1.0); - result += mat4(0.04731733, 0.019041717, 0.11986274, 0.04895554, 0.13460037, 0.09323725, -0.08101143, -0.1452532, -0.03448016, -0.014483966, 0.0044403495, 0.216204, 0.034118585, 0.07380492, -0.08073832, -0.043065764) * go_2(1.0, 0.0); - result += mat4(0.031919103, 0.09095364, 0.053522676, 0.016255917, -0.08083637, -0.04807174, 0.053042952, -0.05141583, 0.081504606, 0.042846117, 0.03303765, -0.1883798, -0.0036450704, -0.12002698, -0.1244, -0.080678105) * go_2(1.0, 1.0); - result += mat4(-0.16122584, -0.008212501, -0.05120157, -0.022778573, -0.053276125, -0.042286847, -0.17664416, -0.12954712, -0.0761379, 0.07720356, 0.121285215, 0.057230424, 0.12885493, 0.05540465, -0.10127235, -0.1046722) * go_3(-1.0, -1.0); - result += mat4(0.0059682084, 0.058793347, -0.06450121, 0.029610962, 0.07985826, -0.022933831, -0.08538027, -0.23693174, -0.18352564, -0.14361037, 0.14683245, -0.17059821, 0.24653074, -0.10358226, -0.18449867, 0.28826568) * go_3(-1.0, 0.0); - result += mat4(0.109402634, -0.17495593, 0.02872942, -0.26577842, -0.010520629, 0.0257475, -0.019649142, -0.0042494787, 0.0977922, -0.035693713, -0.16548857, -0.14473264, 0.10279481, -0.03761352, 0.08277982, -0.054506484) * go_3(-1.0, 1.0); - result += mat4(0.07834562, -0.13401975, -0.06554887, 0.0344188, -0.005033, -0.13738358, -0.08895871, -0.17375943, 0.008980332, 0.17845936, -0.031673137, -0.032780677, -0.17496772, -0.06567684, -0.0879067, -0.17833589) * go_3(0.0, -1.0); - result += mat4(0.08132115, 0.14785478, -0.058087964, -0.142158, -0.15369953, -0.15217854, -0.19941473, 0.034333754, -0.19056644, -0.09883329, 0.20173714, 0.07546254, -0.06873401, 0.024350522, -0.22705045, 0.09726326) * go_3(0.0, 0.0); - result += mat4(-0.061119404, 0.1498806, 0.18721437, 0.011330382, -0.015643744, 0.07533644, -0.022020899, -0.076170765, 0.07889519, -0.14315721, 0.04101124, -0.011181962, -0.19103004, -0.14469305, -0.02276792, 0.015672136) * go_3(0.0, 1.0); - result += mat4(-0.1616954, -0.14240324, 0.020345474, -0.028972428, 0.029273145, -0.06964966, -0.12913519, -0.050227784, 0.16789235, -0.013613857, 0.084663846, -0.15132128, 0.10895483, -0.20322122, -0.09307093, -0.0062330775) * go_3(1.0, -1.0); - result += mat4(-0.05225281, 0.066603184, 0.031096019, -0.09310155, 0.14514507, -0.009998913, 0.033743512, -0.13563685, -0.021589456, 0.32727543, 0.0035744726, -0.21270075, -0.017812472, -0.04773592, 0.052216113, 0.08413973) * go_3(1.0, 0.0); - result += mat4(-0.09710154, -0.07446958, -0.042560603, 0.010112269, 0.09633226, -0.12927702, 0.05526002, -0.009550226, -0.15989332, 0.09077396, 0.26300862, 0.13470653, -0.0029948365, -0.05834304, -0.085342124, 0.010376505) * go_3(1.0, 1.0); - result += mat4(-0.03393304, 0.03905722, 0.064385764, 0.026455093, 0.11423048, 0.1109991, 0.2512801, -0.00018190061, -0.119585566, 0.019256035, 0.17137274, -0.03141496, 0.10388094, 0.014761465, 0.01792128, -0.048041224) * go_4(-1.0, -1.0); - result += mat4(0.056538835, -0.044805653, 0.088352054, -0.040668774, 0.07658913, 0.25435007, -0.103390075, -0.16600297, 0.0570918, 0.10878821, -0.09427662, -0.020814264, 0.095397346, -0.022407921, 0.04603558, 0.08292191) * go_4(-1.0, 0.0); - result += mat4(-0.18320225, 0.014180938, 0.12366831, -0.037870515, -0.123277426, -0.104366444, -0.03690819, 0.055727687, -0.060254056, 0.105991386, 0.053059157, -0.05825196, -0.047167964, -0.05536192, -0.18967348, 0.07715401) * go_4(-1.0, 1.0); - result += mat4(-0.061500985, 0.023106435, 0.08949974, 0.05603795, -0.1613715, -0.11446802, 0.012662355, -0.15974553, -0.34093174, -0.13919024, 0.06844236, 0.12359827, 0.062890425, -0.04880532, 0.14354451, -0.13378207) * go_4(0.0, -1.0); - result += mat4(-0.057209305, 0.028597657, 0.12902237, 0.06997324, 0.22331005, 0.2792173, -0.052616224, -0.13297799, -0.033562534, 0.14029196, -0.1783528, -0.0053741536, -0.29229236, -0.06684428, -0.10517437, 0.21203697) * go_4(0.0, 0.0); - result += mat4(0.10947225, -0.06931686, -0.14889559, -0.085129574, 0.06926651, -0.10544586, 0.1296569, 0.09153423, -0.20934357, 0.122589186, -0.058906972, -0.07838707, 0.17665568, 0.2367453, -0.0015753311, -0.060034733) * go_4(0.0, 1.0); - result += mat4(-0.062648535, 0.16448666, 0.022529785, -0.098661594, -0.051497877, -0.019073786, -0.0044184057, -0.0136231575, -0.018079886, 0.021235423, -0.15162809, -0.24303406, -0.11024918, -0.014827531, 0.0070990776, -0.047530305) * go_4(1.0, -1.0); - result += mat4(-0.13215098, 0.04323701, -0.124653995, 0.031014644, 0.2403102, 0.054318085, -0.113241635, 0.03494056, 0.14895897, 0.22553281, -0.039462954, 0.0036292854, 0.10496238, 0.40768668, -0.17489201, -0.21029839) * go_4(1.0, 0.0); - result += mat4(-0.12505935, 0.033010297, -0.07171161, -0.13023305, 0.13043536, 0.07766028, 0.043315243, 0.00273432, 0.010559837, 0.2449146, 0.103413016, 0.061280526, 0.019433588, 0.09705379, 0.1413594, 0.21677981) * go_4(1.0, 1.0); - result += mat4(0.17339379, 0.07445689, 0.047527492, 0.04073989, 0.16571555, 0.094307356, 0.05570808, 0.050082114, 0.26008093, 0.0011750524, -0.056953136, 0.023889272, 0.07920375, -0.15462793, -0.10859703, 0.22225638) * go_5(-1.0, -1.0); - result += mat4(-0.14460795, -0.23120734, 0.09880609, 0.008740065, -0.08394352, -0.07484427, 0.15508145, 0.08163845, 0.0001757717, -0.035541482, -0.118501745, -0.018500883, 0.1785295, 0.24038094, -0.102198996, 0.2523893) * go_5(-1.0, 0.0); - result += mat4(-0.17098859, -0.07872716, 0.0038054434, 0.08042515, -0.117264174, -0.041794434, -0.13579053, -0.20424524, 0.059450265, 0.040410843, 0.16315247, 0.0324009, 0.114713356, 0.017386664, -0.14457619, -0.21004651) * go_5(-1.0, 1.0); - result += mat4(-0.066141926, 0.15882061, 0.13307483, 0.114355765, -0.07900095, -0.156907, -0.037288003, -0.14757472, -0.010197741, 0.052261543, -0.11223866, -0.0031431175, -0.07645977, 0.13810956, -0.13983661, 0.19276282) * go_5(0.0, -1.0); - result += mat4(-0.24525023, -0.2165669, -0.06156368, -0.020571185, 0.28487962, -0.13734438, -0.14961216, -0.26031163, -0.039832775, -0.14188278, 0.0017960059, -0.11811938, 0.049912933, 0.13938166, -0.1890474, -0.13010345) * go_5(0.0, 0.0); - result += mat4(0.086862795, 0.13455878, -0.06575038, 0.010967355, 0.31994078, 0.065179855, 0.09303991, -0.111216314, -0.023312982, -0.0056160437, 0.10833287, 0.123307824, 0.12041721, -0.016003655, -0.060148813, -0.21671617) * go_5(0.0, 1.0); - result += mat4(0.3597002, -0.13594855, -0.22724168, 0.08974383, -0.101636834, -0.046170574, -0.06452495, 0.0619337, -0.0379112, 0.05345647, -0.0062067215, -0.13294907, -0.039528616, -0.110734314, -0.09750029, 0.083113104) * go_5(1.0, -1.0); - result += mat4(0.103449695, 0.3424504, 0.045992997, -0.21983469, 0.06994479, 0.004806882, 0.019098198, -0.119197115, 0.08848508, -0.039956793, 0.23169635, 0.04660099, -0.06981954, -0.051656332, -0.24439722, 0.03596607) * go_5(1.0, 0.0); - result += mat4(-0.06712761, -0.00913006, -0.036801785, -0.03777065, 0.0730815, 0.09828279, -0.18643986, 0.027277572, -0.0159672, -0.0015596154, -0.23985957, -0.0040241885, -0.16967058, -0.058974106, -0.094192326, 0.1336856) * go_5(1.0, 1.0); - result += vec4(-0.076249816, 0.07466298, -0.051554482, -0.11264957); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.106834725, 0.18024336, -0.027624073, -0.06300384, 0.013369189, 0.10998351, 0.07253877, 0.0065344926, -0.008734026, 0.048019607, -0.003248937, -0.047845103, -0.07095922, 0.012949799, 0.030568307, 0.15588635) * go_0(-1.0, -1.0); - result += mat4(-0.049377117, 0.0033155335, -0.038582377, 0.013099166, -0.051002443, 0.07695772, 0.12755409, 0.06646013, 0.10287292, -0.008030997, 0.059517276, 0.118444875, -0.026919635, 0.09400291, -0.17555143, 0.016028926) * go_0(-1.0, 0.0); - result += mat4(0.03425934, 0.09273214, 0.014711443, -0.0694573, 0.04459762, 0.010852803, -0.098513305, -0.056785677, -0.13676372, -0.030752834, -0.007839484, -0.05978732, -0.061603706, 0.052086987, -0.072405905, -0.026566304) * go_0(-1.0, 1.0); - result += mat4(-0.058037378, 0.023209494, 0.07073123, 0.020005, -0.1177162, 0.13493189, 0.019038215, 0.06115233, -0.13919368, 0.12740569, -0.012965469, -0.07058033, 0.21871229, -0.068229064, -0.11406179, -0.12661217) * go_0(0.0, -1.0); - result += mat4(-0.097219005, -0.12651765, 0.21862286, 0.103037514, 0.11405085, 0.22731417, -0.1130025, -0.04877183, 0.1175796, 0.17782913, 0.057885252, -0.31179765, -0.17180386, 0.059727516, 0.17149255, -0.006370171) * go_0(0.0, 0.0); - result += mat4(0.060737263, 0.1149685, 0.1667211, -0.08434202, 0.018612696, 0.032902695, 0.038428612, -0.07943687, 0.11031175, 0.014294415, -0.11065108, 0.019858751, 0.04304977, 0.05111388, -0.10061939, -0.019913884) * go_0(0.0, 1.0); - result += mat4(0.022282364, 0.038233023, -0.002318897, 0.037901033, -0.114537284, 0.09081674, -0.07027963, -0.106004134, -0.13187332, 0.06433914, 0.06291799, 0.09183923, 0.026283145, -0.011141791, 0.13830143, -0.059647586) * go_0(1.0, -1.0); - result += mat4(0.026679164, -0.14001994, 0.071175724, -0.010935805, 0.02904883, -0.0839738, 0.10077412, -0.101220585, -0.16763939, -0.037594456, 0.07087901, 0.015410247, 0.08040373, -0.015504971, 0.14327593, 0.07826331) * go_0(1.0, 0.0); - result += mat4(-0.004693859, 0.17341207, -0.0952323, -0.12170305, -0.03480792, -0.01807752, -0.019611124, 0.17014018, 0.033898324, 0.08534683, 0.05537514, -0.093239665, 0.09018517, 0.117878705, 0.025285356, 0.10122994) * go_0(1.0, 1.0); - result += mat4(0.10368713, 0.027397113, -0.059444696, 0.08615468, -0.118322514, 0.20012859, -0.03950898, -0.039341822, -0.051778354, -0.07006863, 0.112342045, 0.06571937, -0.17064667, 0.08475915, -0.04536611, 0.08702029) * go_1(-1.0, -1.0); - result += mat4(-0.012360674, 0.07656913, 0.0848132, -0.2725906, -0.11390571, 0.03258462, -0.10729077, -0.16543134, 0.020651866, -0.030859482, -0.14126211, -0.10496892, -0.1099864, 0.0991522, 0.026140317, 0.13303608) * go_1(-1.0, 0.0); - result += mat4(0.08209687, -0.067372896, 0.13914725, 0.20619772, 0.019196827, 0.14682962, 0.0072439536, 0.024154488, 0.09306064, 0.09079697, -0.039169356, -0.12485728, 0.06439077, -0.020644344, -0.0035471297, 0.056672096) * go_1(-1.0, 1.0); - result += mat4(0.026242072, 0.18251725, -0.15819614, -0.1048932, -0.23641023, 0.1916822, -0.06100835, -0.1605201, 0.07151288, -0.08362524, 0.026452186, -0.08272424, -0.17491712, 0.16357106, -0.22656876, -0.0852402) * go_1(0.0, -1.0); - result += mat4(0.25432497, -0.3179174, -0.20754787, -0.19132249, -0.00055361754, 0.016532842, 0.12478896, -0.06314577, -0.083694994, 0.022240356, 0.08619687, -0.035636988, 0.32484248, -0.17462182, 0.024408465, -0.353279) * go_1(0.0, 0.0); - result += mat4(-0.16208933, -0.22242436, 0.13512996, 0.10687675, 0.03342475, -0.006337535, 0.094075486, 0.21253215, 0.022004139, 0.31110993, 0.08099112, -0.15806697, -0.054819234, -0.2751204, -0.12101108, 0.03239614) * go_1(0.0, 1.0); - result += mat4(0.022792386, -0.02752982, -0.30862072, 0.16691506, -0.11619298, 0.14244734, -0.062969424, -0.028059227, -0.012788347, 0.01715417, 0.0024341452, 0.023399662, -0.060552727, -0.036958337, -0.06770959, -0.01009437) * go_1(1.0, -1.0); - result += mat4(0.029661844, -0.050902784, -0.017142536, -0.15507418, -0.029210325, 0.011607694, -0.07789076, -0.22111364, -0.17677039, -0.019451384, 0.026977273, -0.10413249, -0.4368749, -0.25416267, -0.03914208, -0.051825944) * go_1(1.0, 0.0); - result += mat4(0.103459194, -0.18992494, -0.068039134, 0.25649327, -0.16803737, 0.019372506, -0.05886651, -0.06154365, -0.16578822, -0.056754623, -0.002147329, 0.07532936, 0.031057874, 0.050599203, 0.07240444, -0.1410561) * go_1(1.0, 1.0); - result += mat4(-0.0586574, 0.026906572, -0.011746404, 0.10076384, 0.13755976, -0.13861628, 0.029709747, -0.11754726, -0.17200297, 0.098927505, -0.024392992, 0.16481781, 0.037462868, 0.033325523, -0.07555307, 0.2181384) * go_2(-1.0, -1.0); - result += mat4(0.1581431, -0.10072426, 0.07533967, 0.039553873, 0.08723691, -0.12836275, 0.22338805, -0.11436044, 0.0024439641, 0.08847533, -0.12207052, 0.18953556, -0.10175764, 0.15430617, -0.03604781, -0.071290806) * go_2(-1.0, 0.0); - result += mat4(-0.057867028, -0.11391012, 0.07945617, 0.040399376, -0.014624698, -0.054960378, -0.0994919, -0.06482592, -0.06905486, 0.045492437, 0.0668309, 0.034522235, 0.060679086, -0.0356498, -0.0033573967, -0.054480232) * go_2(-1.0, 1.0); - result += mat4(0.03386215, 0.09717318, -0.14660215, -0.051792927, -0.07220533, -0.1254424, 0.26169837, 0.17314412, 0.17797379, -0.021019243, 0.026199821, -0.07956899, 0.16637664, -0.03227029, 0.052336816, -0.12380936) * go_2(0.0, -1.0); - result += mat4(0.15810388, -0.17028685, -0.08264267, 0.027713222, -0.09655758, -0.03233345, 0.09400583, 0.009685348, 0.06812867, 0.40837774, -0.08880642, 0.059928026, 0.101455815, -0.0036855226, -0.015825639, -0.013063323) * go_2(0.0, 0.0); - result += mat4(-0.17800288, -0.11709777, 0.035400074, -0.015935183, -0.12982886, -0.034546383, -0.0525387, 0.20225286, 0.14220522, 0.061377823, 0.00014960035, 0.13865508, -0.06169547, -0.21942186, 0.22486074, 0.18510453) * go_2(0.0, 1.0); - result += mat4(-0.06434197, -0.039698705, 0.1243853, 0.007825078, 0.18512134, -0.07974655, 0.0105988905, 0.012806189, -0.12235224, 0.07689711, -0.029549513, -0.026154809, -0.028524537, -0.031428084, -0.100929715, -0.0155503135) * go_2(1.0, -1.0); - result += mat4(-0.15794489, -0.079684526, -0.10408266, 0.07326438, -0.04324642, -0.025686411, 0.014985363, -0.02932256, 0.111112125, 0.009606888, 0.10593714, 0.030467978, 0.085972294, 0.09065103, -0.07246925, -0.056814115) * go_2(1.0, 0.0); - result += mat4(0.05297169, 0.15008958, -0.05353517, -0.127785, -0.08239153, -0.01947914, -0.053309202, 0.07587591, 0.04076727, -0.004745353, 0.051420934, 0.03044254, -0.12723267, -0.120072745, -0.012252604, -0.03744495) * go_2(1.0, 1.0); - result += mat4(0.06482235, -0.0017201633, -0.012050286, 0.04936528, 0.115742385, -0.054320365, -0.08183828, -0.023505857, -0.051401738, 0.0067414865, 0.009670556, 0.06426094, 0.03947468, -0.10321029, -0.08444622, 0.052993495) * go_3(-1.0, -1.0); - result += mat4(-0.07336029, -0.16233058, -0.1164956, 0.045084342, 0.0014198005, -0.17943895, -0.023768071, -0.1663619, -0.025011042, 0.026148485, 0.013759884, -0.098297365, 0.016210366, 0.007079621, 0.11841153, 0.1753525) * go_3(-1.0, 0.0); - result += mat4(-0.033714242, -0.06668379, -0.028439678, 0.1648063, -0.0045653633, -0.05041868, 0.041000497, 0.02003046, 0.068131685, 0.07523978, 0.11634907, -0.06306194, 0.025750818, -0.10319425, 0.047172576, -0.10844465) * go_3(-1.0, 1.0); - result += mat4(-0.03303053, 0.110286005, -0.042665612, -0.06289726, 0.14258501, -0.05801775, -0.008891718, 0.024476971, 0.20997447, -0.1037112, 0.12633593, 0.014187738, -0.1353714, -0.08789717, -0.13295253, 0.29773507) * go_3(0.0, -1.0); - result += mat4(0.10294873, -0.1851888, 0.040836353, -0.079780325, 0.009049964, 0.061067987, -0.037473653, -0.12858227, -0.00080504594, 0.0063723954, -0.19619246, 0.23210151, 0.13132347, -0.29248238, -0.012305572, 0.14175442) * go_3(0.0, 0.0); - result += mat4(0.077941544, 0.059704628, -0.026057182, 0.021592934, -0.046874024, 0.031435635, 0.027889056, 0.062328063, -0.086727776, -0.015051202, 0.012940123, -0.06695087, 0.0508335, 0.07990172, 0.031115033, -0.09544595) * go_3(0.0, 1.0); - result += mat4(-0.14133973, -0.05130327, -0.05639438, 0.028651359, 0.22145109, -0.21857488, -0.15814364, 0.114126325, 0.2408882, -0.02402865, 0.056457262, 0.0629091, 0.051337942, 0.032496497, -0.05894634, 0.254206) * go_3(1.0, -1.0); - result += mat4(0.0016876322, 0.07454677, 0.114835136, -0.049408637, -0.072120376, 0.1705347, -0.16119072, 0.045600023, 0.21098119, 0.24293563, -0.13509166, 0.012116296, -0.12684636, 0.0523889, -0.08996256, -0.0686311) * go_3(1.0, 0.0); - result += mat4(0.06702132, -0.026396574, 0.09228047, -0.0034695766, -0.021874752, -0.07655685, -0.024474055, -0.15055239, -0.054425523, -0.09083406, -0.06557004, 0.051595543, -0.03305109, 0.008586375, 0.017779024, -0.11461731) * go_3(1.0, 1.0); - result += mat4(-0.03307554, -0.06281204, -0.07496353, -0.13381115, 0.036915727, -0.17340642, 0.10644906, 0.00012516085, -0.060911283, 0.039559897, -0.1967895, -0.13985567, 0.14165276, -0.15532759, 0.06485333, -0.03891259) * go_4(-1.0, -1.0); - result += mat4(0.024623636, -0.10563493, -0.01394589, 0.0113245975, 0.054890133, -0.14683317, 0.0576108, 0.15072542, -0.038304873, -0.0022316955, 0.18873039, -0.060015254, 0.11154627, -0.02622966, 0.0042637973, 0.055653475) * go_4(-1.0, 0.0); - result += mat4(-0.093863666, 0.019430112, -0.038862027, -0.14432994, 0.02456244, -0.17731488, 0.04138056, 0.058279395, -0.06814862, -0.020570546, 0.00065091706, -0.025593719, -0.10529772, -0.038274746, -0.07037789, -0.017955577) * go_4(-1.0, 1.0); - result += mat4(-0.0851937, 0.030014474, 0.1698261, 0.020931602, 0.053171065, -0.068494216, 0.018686758, 0.089620255, -0.09194484, 0.1438787, 0.09940187, -0.076496385, 0.04232349, -0.030840885, 0.16399838, 0.020260496) * go_4(0.0, -1.0); - result += mat4(0.08122571, 0.08767448, -0.21170379, 0.19122678, 0.029970447, 0.07195186, -0.012424588, 0.19985774, 0.123004064, -0.13519633, 0.068968706, 0.06648504, -0.19634406, 0.023143137, -0.07472079, 0.28444788) * go_4(0.0, 0.0); - result += mat4(0.122882634, 0.122906245, -0.0851795, 0.010272538, -0.091251366, 0.09492852, 0.083030395, -0.08250826, -0.20424134, -0.19424644, -0.054201532, -0.038991813, 0.045982555, 0.3397998, -0.1204989, -0.24832137) * go_4(0.0, 1.0); - result += mat4(0.16821183, 0.011305718, 0.20207065, 0.095515184, 0.042116765, 0.20686843, 0.15248151, 0.021219853, 0.07469842, 0.09721156, 0.19753139, 0.07255913, 0.04181145, 0.09630732, 0.0036390945, -0.029491683) * go_4(1.0, -1.0); - result += mat4(0.03455011, -0.053190827, -0.08367929, -0.11187188, 0.05652753, -0.16741751, -0.09772033, -0.0954943, 0.06448563, 0.06716266, 0.04133831, 0.10973916, 0.5054512, 0.20122768, -0.14347143, 0.03383006) * go_4(1.0, 0.0); - result += mat4(-0.00027249692, 0.11114471, 0.033320926, -0.035830263, 0.04158059, 0.018917672, 0.07155404, -0.019937448, 0.1088646, 0.09364122, 0.06764142, -0.0248769, 0.007933269, -0.04785583, 0.016699005, 0.09242855) * go_4(1.0, 1.0); - result += mat4(0.123951405, -0.09898866, -0.12562813, -0.05182043, -0.1528828, 0.0051535643, 0.017996375, 0.105495945, 0.13044296, 0.019226039, 0.072746694, -0.16398475, 0.15856469, -0.047138795, 0.4050184, -0.3016584) * go_5(-1.0, -1.0); - result += mat4(-0.074630626, 0.012780617, -0.21393219, -0.06545489, -0.012734723, 0.060796153, -0.23992276, 0.23205769, 0.0564601, -0.13263687, 0.17939384, -0.22738916, 0.28362492, -0.26928297, 0.030191405, 0.15930773) * go_5(-1.0, 0.0); - result += mat4(0.037925556, -0.027558923, -0.038443957, 0.096311405, 0.130506, 0.025539404, 0.16404447, 0.10534218, 0.084355734, -0.060958024, 0.06566972, 0.050011195, -0.10619651, 0.12924303, -0.09983825, 0.013296667) * go_5(-1.0, 1.0); - result += mat4(-0.0900194, -0.03988999, -0.04922987, 0.057099067, 0.009509885, 0.13328543, -0.13821216, -0.096323445, -0.123524725, -0.08846302, 0.011430991, -0.0022311457, 0.21333455, 0.13512893, -0.14221409, 0.21651462) * go_5(0.0, -1.0); - result += mat4(-0.10510396, -0.03496734, 0.02728204, -0.023457753, 0.2211027, -0.114457466, -0.057317328, -0.033660043, -0.05826504, -0.3067388, 0.18658683, -0.2569707, 0.12728155, 0.21021031, 0.0016321868, -0.2241057) * go_5(0.0, 0.0); - result += mat4(0.11707437, 0.038405795, 0.115914926, -0.13734217, 0.1966143, 0.11888877, 0.14537278, -0.23218197, -0.07190851, -0.056910247, 0.08407676, -0.012281164, 0.15056735, 0.27459544, -0.15899052, -0.25952014) * go_5(0.0, 1.0); - result += mat4(0.1686332, -0.04361177, -0.14889196, -0.19178064, 0.0467949, 0.011791658, 0.09221666, 0.037405606, 0.015332817, 0.07552529, 0.11025044, 0.05628346, 0.18186994, 0.11332812, -0.018669184, 0.082112476) * go_5(1.0, -1.0); - result += mat4(0.18370725, 0.29005066, 0.017441573, 0.29143426, 0.08587358, 0.018103257, -0.10711215, 0.13872367, -0.14781004, 0.015936527, 0.053144645, -0.038545102, 0.030254137, 0.040837962, -0.034891758, 0.0966979) * go_5(1.0, 0.0); - result += mat4(0.024307111, -0.007671845, -0.043741602, 0.096127465, 0.15333822, 0.026735064, -0.04555884, -0.07535962, -0.10231854, -0.079852626, -0.08178878, -0.03838594, -0.03415992, 0.017432451, 0.118129976, -0.16443917) * go_5(1.0, 1.0); - result += vec4(-0.0041193813, 0.015008556, 0.06934586, 0.008602586); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.26761916, -0.24422711, 0.21467628, -0.14429939, -0.16867152, 0.019657448, 0.13460818, -0.20023769, -0.11340837, 0.08858731, -0.13437305, -0.35356593, -0.166875, -0.3335764, -0.30487195, -0.18249014) * g_0; - result += mat4(0.0103351595, 0.019523615, -0.085381895, 0.023507696, -0.06509177, -0.17890798, -0.106904104, 0.4792868, -0.16292045, 0.010498117, 0.119574495, -0.27299005, 0.03395923, 0.026821606, -0.41253936, -0.08301559) * g_1; - result += mat4(0.26279557, -0.2541165, -0.18392049, -0.21962899, -0.14001782, -0.23177835, -0.022218328, -0.1427412, 0.091821305, 0.10855345, 0.44959477, 0.058340758, -0.24799977, 0.3565854, 0.013265246, 0.055574704) * g_2; - result += mat4(-0.30022192, 0.09299804, -0.023125056, -0.123527065, 0.4004787, 0.08056971, -0.09605205, -0.121825874, 0.38889158, -0.1483759, 0.13983476, 0.29878005, -0.20108524, 0.1961977, -0.47242287, -0.06553211) * g_3; - result += mat4(0.17079045, 0.08361359, 0.009484214, 0.1707653, -0.087261476, -0.087097056, -0.012763265, 0.29483643, -0.28490525, -0.3195555, -0.08523994, 0.12864676, 0.06112412, 0.06797802, 0.40068462, 0.11056894) * g_4; - result += mat4(-0.13525724, 0.22686912, 0.28670293, 0.35410637, 0.25993523, -0.1638555, -0.17513171, 0.17038722, -0.044490904, 0.1274143, -0.025726566, -0.19816703, -0.29416955, -0.06961644, 0.030743139, 0.11367489) * g_5; - result += mat4(0.18545562, -0.06487542, 0.33482194, -0.24661279, -0.32046458, 0.3974365, 0.23327115, -0.20816243, -0.121703945, -0.13698983, 0.037402794, -0.3681139, 0.2559689, 0.0068038814, 0.15202744, 0.28728062) * g_6; - result += mat4(0.09979532, -0.014131657, -0.10398607, 0.2152131, -0.14150284, -0.05365564, -0.271173, -0.3405926, -0.11394731, -0.016010681, 0.25552076, 0.37970966, -0.2593704, 0.1591259, -0.25309658, -0.12218305) * g_7; - result += mat4(0.1692998, 0.067247115, 0.12935598, -0.12525293, 0.32433978, -0.34517387, -0.069578916, -0.23326226, -0.064913265, 0.2855713, 0.20725873, -0.0967844, 0.083778754, 0.12616636, 0.018192552, 0.12799433) * g_8; - result += mat4(-0.33400214, 0.22635528, -0.19802323, -0.047504075, 0.16644837, 0.04351617, 0.36790857, 0.08537014, -0.14359091, -0.1098514, 0.17290404, 0.15990348, -0.071987584, -0.05375565, 0.18347272, 0.08445061) * g_9; - result += mat4(-0.0017842463, 0.11356512, -0.23591736, -0.25712514, -0.006414402, 0.4143378, 0.1908977, 0.52574486, -0.11780233, -0.16473259, 0.060708508, -0.054775394, -0.09365787, 0.2175931, 0.2067786, 0.34738192) * g_10; - result += mat4(0.5713227, -0.43584484, 0.002311247, 0.35608718, -0.23530786, 0.031132858, 0.25841874, -0.1973695, -0.13229723, -0.1728666, 0.0757621, -0.29117447, -0.08741721, 0.13616516, -0.30073285, -0.18420693) * g_11; - result += vec4(-0.021890169, -0.026031738, -0.06421138, -0.055722203); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.38945672, -0.15583369, 0.39306244, -0.13897201, 0.11470281, 0.0070681917, -0.033763073, 0.15643148, 0.22714609, 0.024933932, -0.15510249, -0.080083966, -0.0042226757, -0.06603862, 0.23811841, -0.32394788) * g_0; - result += mat4(-0.06128401, 0.054259196, -0.08520396, -0.09865539, 0.34222758, 0.3883786, -0.30866903, -0.1013294, 0.1554453, -0.042319432, -0.088941224, 0.09722677, 0.13703698, 0.09614998, -0.085818544, 0.21931672) * g_1; - result += mat4(0.21811181, -0.14642404, 0.15328391, 0.27492282, 0.017405918, -0.064721376, -0.17901668, 0.18575072, -0.22293139, 0.071663104, 0.086893745, 0.13848016, -0.043508906, 0.05155524, 0.01965522, -0.23922569) * g_2; - result += mat4(0.20807248, -0.26891938, -0.15629172, -0.106703185, 0.38624528, 0.11624259, -0.01337477, -0.060828242, -0.40988693, -0.045406528, 0.24799256, -0.041767262, 0.0039274395, 0.10462824, 0.2424475, 0.329761) * g_3; - result += mat4(-0.2549953, 0.02627463, 0.16588904, -0.16302574, -0.05798094, -0.102065355, 0.051757824, 0.20152503, -0.18023098, -0.43803477, -0.11134416, 0.22741254, -0.10234647, 0.17433725, -0.2685737, -0.18413258) * g_4; - result += mat4(-0.27022618, 0.3230193, -0.30969992, -0.17705725, 0.13844849, 0.29754448, 0.10819534, -0.1418908, 0.10238312, 0.02931327, -0.2183156, -0.12163026, -0.13901141, -0.042728595, 0.04175075, -0.3803353) * g_5; - result += mat4(-0.16304304, -0.091977976, -0.24040937, -0.21812437, -0.12155577, -0.16794856, 0.29842067, 0.17197362, 0.11366187, 0.22641197, -0.0904384, 0.22736219, -0.18613777, -0.24540202, -0.101548284, -0.2319356) * g_6; - result += mat4(-0.06359172, 0.003388455, -0.06142785, -0.21898538, -0.13489254, 0.3798411, -0.11154017, -0.02557614, 0.38281298, -0.20294727, -0.09908404, 0.2206924, 0.18847103, -0.026022637, -0.021512525, 0.30209598) * g_7; - result += mat4(-0.14910938, 0.08331422, -0.07876587, 0.33450446, 0.18822157, -0.28672597, -0.21216297, 0.09774327, -0.15903074, -0.11264206, 0.15068948, 0.24262539, -0.0555986, 0.040748212, 0.1432122, 0.021155685) * g_8; - result += mat4(0.33370045, -0.21974795, -0.29980183, -0.13374488, 0.022646265, -0.13715576, 0.06832448, -0.02061188, 0.1425013, 0.027876817, 0.08250215, -0.064872354, -0.08560185, 0.2952806, 0.23416562, -0.03025477) * g_9; - result += mat4(-0.09395241, 0.017307205, 0.12121946, 0.04245705, 0.064785376, -0.041980207, 0.25907257, 0.07365294, 0.176773, -0.07988214, -0.23026212, 0.10206242, -0.13956478, -0.05496991, -0.41516188, -0.120178975) * g_10; - result += mat4(0.24655807, 0.28612685, -0.42955264, 0.047639456, -0.026326181, -0.051772635, 0.030225411, 0.0476083, -0.0844218, 0.27088377, 0.24819367, 0.023990134, -0.05364132, 0.01713283, -0.20104195, -0.030321445) * g_11; - result += vec4(0.0063284356, -0.007114507, 0.014496636, -0.0048167584); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.28125653, 0.25701848, 0.20101643, 0.5281567, 0.26044676, -0.0461423, 0.23783551, -0.24269718, -0.048285794, -0.14693165, 0.10931955, 0.055711113, -0.23280147, -0.01317713, -0.17544006, 0.21709861) * g_0; - result += mat4(-0.08328998, -0.031984776, -0.07394345, -0.30742306, 0.2663806, 0.18147124, 0.07257191, 0.120762065, 0.3541939, 0.26340798, -0.46390432, 0.018954063, 0.10409174, -0.10490177, 0.10593656, 0.0628627) * g_1; - result += mat4(-0.032924887, -0.15148862, 0.18510309, 0.16908437, 0.10370028, 0.022468375, -0.11225163, -0.09905774, 0.13124186, -0.10389915, 0.13148285, -0.07210047, -0.12430891, 0.15495282, -0.1387402, -0.1870354) * g_2; - result += mat4(-0.06593955, 0.08320663, 0.045904607, -0.19401237, -0.09821163, 0.1250965, -0.09813775, 0.06319873, 0.196712, 0.06502086, -0.18785718, -0.2192117, -0.2976963, 0.035152618, -0.011372132, 0.16548428) * g_3; - result += mat4(0.16684611, 0.30011636, 0.028905347, 0.05727758, -0.22959393, -0.244406, 0.1341724, -0.102163084, -0.12952183, 0.11940772, 0.50821495, -0.009484609, -0.06948309, 0.0072816983, -0.15294522, 0.2092066) * g_4; - result += mat4(0.022403454, -0.007886967, -0.06732929, -0.018902952, -0.0013836037, -0.29473454, -0.044799604, 0.072756514, -0.030483285, 0.26202264, 0.17527826, -0.008713192, 0.29756203, 0.13983198, 0.07839081, 0.019387554) * g_5; - result += mat4(-0.16632473, 0.114597425, -0.04930454, 0.21361813, -0.0512679, -0.24750078, 0.41110075, -0.06739092, 0.3819155, 0.27142018, 0.002062295, -0.21381181, -0.17034262, -0.5128788, 0.1978073, 0.052122597) * g_6; - result += mat4(-0.29126012, -0.1758868, -0.29398203, 0.19212133, 0.08524374, 0.06918904, -0.22941263, 0.090433136, -0.053510923, -0.17689814, 0.1758969, 0.009342475, 0.27690578, 0.25371844, 0.24096957, -0.22880019) * g_7; - result += mat4(0.068742655, 0.22967601, 0.29380092, -0.15837927, -0.16055553, 0.1671522, 0.117854536, 0.082386516, 0.273745, -0.46557623, 0.3121532, 0.026219485, 0.2669753, -0.29373366, -0.25829294, 0.07983141) * g_8; - result += mat4(-0.19932887, -0.14828281, -0.40875518, 0.04568025, 0.047040872, -0.01525455, 0.14397773, -0.11989029, 0.17056611, 0.1253716, 0.4775329, -0.10225481, -0.24495989, 0.04492594, -0.035991665, -0.08934401) * g_9; - result += mat4(0.06003682, -0.017648386, 0.20581077, -0.3805033, 0.15103109, 0.06460132, 0.16655886, -0.26180133, 0.06786087, -0.08443782, -0.26908222, -0.07582944, -0.117463715, -0.22386667, 0.061124742, -0.07322523) * g_10; - result += mat4(0.044447657, 0.44650033, -0.1944857, 0.21535386, 0.10800574, -0.035085898, -0.28545883, 0.15166284, 0.06842558, 0.057331495, 0.48083216, 0.19788021, 0.051137898, 0.14926943, 0.3127889, 0.106091596) * g_11; - result += vec4(0.026539318, -0.015506256, 0.0048546535, 0.0075091156); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.049218107, 0.21571347, -0.20747061, -0.046645183, -0.09897469, -0.1449892, 0.099503465, -0.052779432, 0.056965314, -0.08023353, -0.09651464, -0.17625785, 0.07162338, 0.10608266, 0.09160291, 0.07648847) * go_0(-1.0, -1.0); - result += mat4(-0.23661679, 0.18498215, 0.2043574, 0.21552628, -0.012884588, -0.107940555, 0.007933281, 0.0043860893, 0.07565547, 0.043531492, 0.093431905, -0.19845657, 0.00040396213, 0.023531798, -0.0009222297, 0.064266875) * go_0(-1.0, 0.0); - result += mat4(-0.19092101, -0.024129303, 0.066313796, -0.21061827, -0.05613746, 0.012965115, -0.009586923, -0.016095884, 0.24103113, 0.020987242, 0.15000837, -0.021903152, -0.02680794, 0.028570198, 0.024247576, 0.1019393) * go_0(-1.0, 1.0); - result += mat4(0.042160884, -0.0044651097, -0.2256602, -0.176743, -0.07279961, -0.105894916, 0.07168919, 0.0006321205, -0.04146184, -0.0112911835, -0.071248055, -0.2660673, 0.07166489, -0.026766494, 0.0034254268, 0.04701791) * go_0(0.0, -1.0); - result += mat4(0.20525295, 0.15507427, -0.08623681, -0.26927975, 0.028362103, 0.15359573, -0.13348009, -0.16938299, -0.12509182, -0.07778249, -0.04977593, 0.032045715, 0.037650846, 0.06520867, -0.25672987, 0.2629358) * go_0(0.0, 0.0); - result += mat4(-0.023335787, -0.09518855, 0.027799817, -0.44717595, 0.23397295, 0.010497733, 0.10179942, 0.07204854, -0.1831238, 0.10368191, 0.3294273, 0.06342799, 0.054113593, 0.17175598, 0.1707106, 0.08511027) * go_0(0.0, 1.0); - result += mat4(-0.025395809, 0.09365036, -0.23646675, 0.013332688, -0.028793652, -0.038866017, 0.10540429, 0.04053974, 0.101766884, -0.13813715, 0.1600048, 0.021731319, 0.08449936, -0.08782831, -0.106220074, 0.043619707) * go_0(1.0, -1.0); - result += mat4(-0.15182768, -0.10297231, -0.11878062, -0.038845137, -0.06657844, 0.2066007, -0.06319056, -0.024855426, 0.18382673, 0.12823708, 0.13984297, -0.096126445, 0.122345746, -0.1759473, -0.009313853, 0.095966816) * go_0(1.0, 0.0); - result += mat4(0.031464245, -0.19461079, 0.048819106, -0.19147485, -0.052115634, -0.0155970575, 0.00013805297, 0.029049957, -0.13166162, 0.057452332, -0.015197536, -0.11639438, 0.2242504, 0.059061136, -0.023637049, 0.23885499) * go_0(1.0, 1.0); - result += mat4(0.024842229, -0.10465392, 0.06943146, -0.00818137, 0.056860775, 0.16985714, 0.09097189, -0.029029645, 0.05849454, 0.07871468, 0.033239707, 0.027326738, 0.111058675, 0.09381119, -0.07335888, 0.041564018) * go_1(-1.0, -1.0); - result += mat4(-0.007300108, 0.09271431, -0.19570993, -0.06381511, 0.46079087, 0.25655636, -0.13035136, 0.078621246, -0.105279505, -0.050981194, -0.0529136, -0.050811697, -0.06146227, 0.04253951, -0.05545308, 0.05428528) * go_1(-1.0, 0.0); - result += mat4(0.16456556, 0.035695724, 0.014487249, -0.106402226, 0.03566743, -0.029556349, 0.2289534, 0.05606082, 0.04852251, -0.010972709, 0.05955192, -0.15966137, 0.08570137, 0.03669939, -0.024999218, -0.15711255) * go_1(-1.0, 1.0); - result += mat4(0.21360773, -0.11888413, 0.0583506, 0.19075805, -0.28113702, -0.057118762, -0.004367254, -0.07354974, -0.1796346, 0.1766377, 0.17562068, -0.100257315, -0.035569966, 0.107963756, -0.051215094, -0.0003012416) * go_1(0.0, -1.0); - result += mat4(0.08122568, 0.014930808, -0.06346508, 0.15264218, -0.05649435, 0.17286912, -0.009749335, -0.03400423, 0.23480195, -0.084917344, -0.03132465, -0.0037818009, 0.057796076, -0.06677672, -0.09169403, -0.058564235) * go_1(0.0, 0.0); - result += mat4(-0.10126427, 0.095474, -0.08596902, -0.20968622, -0.21415718, -0.028516928, -0.1324924, 0.20407854, 0.14031075, 0.001870013, 0.14119156, -0.1081141, -0.048723757, -0.13898169, 0.16757831, -0.1458798) * go_1(0.0, 1.0); - result += mat4(-0.05895467, -0.038724378, 0.069064446, 0.07351524, -0.03146215, -0.14976442, -0.0067742947, 0.084257625, 0.13251713, 0.032124203, -0.09629541, -0.008124969, 0.11714539, -0.2075729, 0.11230295, -0.038847532) * go_1(1.0, -1.0); - result += mat4(0.051687717, 0.12874418, 0.040687148, 0.026630247, -0.099917404, 0.015043197, -0.06537639, -0.07367295, -0.1837623, 0.0032947634, 0.084966265, -0.1588208, -0.11085462, -0.010678835, 0.1320109, 0.02903416) * go_1(1.0, 0.0); - result += mat4(-0.018179895, -0.018795123, 0.022136271, -0.072535686, -0.15129031, -0.40279377, -0.4738214, -0.14301932, 0.17355858, -0.08900889, -0.13852054, 0.0029266933, -0.06405705, 0.10512791, -0.04545771, -0.022768306) * go_1(1.0, 1.0); - result += mat4(0.05890316, -0.0097671505, 0.008819437, -0.06735191, 0.1692309, -0.16308863, 0.051179815, 0.022224095, -0.11592126, -0.03521469, -0.10597873, 0.10710539, 0.09287522, 0.023924025, 0.1094987, -0.060973566) * go_2(-1.0, -1.0); - result += mat4(-0.15654168, -0.060176846, 0.05127042, -0.01175231, 0.01004742, 0.09534371, 0.06087681, -0.05916991, -0.16156313, 0.06890041, 0.0041081333, -0.04601112, 0.08350714, -0.059855513, 0.041949015, -0.102218084) * go_2(-1.0, 0.0); - result += mat4(0.12588786, 0.11099447, -0.03676623, 0.09382634, -0.32780543, 0.2795844, -0.013693273, -0.18082656, 0.035001528, -0.050821863, 0.11802977, 0.033280633, 0.09173907, -0.0975381, -0.1048247, 0.21049544) * go_2(-1.0, 1.0); - result += mat4(-0.16854918, 0.0060791024, 0.05617661, 0.13540803, 0.05019639, 0.14261602, 0.069251545, -0.03133105, -0.078448415, 0.034294523, -0.07293597, 0.061953712, 0.025966987, 0.095272854, -0.08162588, 0.12742776) * go_2(0.0, -1.0); - result += mat4(0.15725249, 0.0850755, -0.048879243, -0.08433363, 0.120938875, 0.18920094, 0.045355074, -0.20513709, 0.24906032, -0.057378586, 0.0027886129, -0.07625013, -0.13654117, 0.11630867, -0.037231505, -0.1258667) * go_2(0.0, 0.0); - result += mat4(-0.04206654, -0.13223913, 0.062100735, 0.016341403, 0.07262605, 0.055927046, 0.14203577, -0.27384079, -0.1310872, 0.078060225, 0.12965128, 0.09880112, 0.10105921, -0.068956226, 0.02915146, 0.09167745) * go_2(0.0, 1.0); - result += mat4(0.030989118, -0.1324286, 0.039388806, -0.04496022, 0.01103045, -0.02862437, 0.009588397, -0.11070328, 0.095212676, -0.026708405, -0.029291725, 0.016241662, 0.05099544, -0.08551894, -0.21421212, -0.11618562) * go_2(1.0, -1.0); - result += mat4(-0.14548837, -0.07418306, 0.10752083, 0.05893962, 0.06691821, 0.18748593, -0.03200274, -0.095863365, -0.08537329, -0.05680936, 0.14690125, 0.037230305, 0.18467005, -0.14947431, 0.040441494, 0.1115805) * go_2(1.0, 0.0); - result += mat4(0.012362502, 0.100413695, 0.13188395, 0.06938892, -0.15438221, 0.26723015, 0.07517162, 0.002462865, -0.0064732633, -0.0074519413, -0.02301528, -0.045849863, 0.1731649, 0.123034276, 0.008418865, 0.16150133) * go_2(1.0, 1.0); - result += mat4(-0.09139433, 0.03101976, 0.07230703, -0.018268613, 0.29291338, -0.17742766, 0.24951819, 0.02992008, 0.035090506, -0.07749761, 0.12614278, -0.14649536, 0.031021422, -0.069590874, 0.108438335, 0.037498187) * go_3(-1.0, -1.0); - result += mat4(-0.11135013, 0.052978516, -0.08497799, -0.12263544, 0.0105338385, 0.2741, -0.25600806, 0.20394602, 0.027556226, 0.016622975, 0.08704739, 0.030637782, -0.097799666, -0.016612433, -0.05045154, 0.11176543) * go_3(-1.0, 0.0); - result += mat4(0.010801793, 0.0052502053, -0.1051344, -0.057842556, -0.21781838, -0.00047800923, -0.029098546, 0.21897711, -0.20059437, -0.030504027, -0.006855385, -0.073302105, -0.052581076, 0.011763167, 0.024786351, -0.050292555) * go_3(-1.0, 1.0); - result += mat4(0.13015494, 0.19099645, 0.1472598, -0.06971811, -0.014347087, -0.2354183, -0.026683118, -0.027996749, 0.051564146, -0.103843935, 0.17843698, -0.024957573, -0.057987437, -0.102251455, -0.0013588106, -0.056634847) * go_3(0.0, -1.0); - result += mat4(-0.04080672, 0.050368823, 0.18306538, 0.011420936, -0.0054340125, 0.0053520515, 0.17026058, -0.12533283, 0.036576323, 0.08059071, 0.019835833, -0.09112062, 0.17440821, -0.031124828, -0.098159716, 0.085774906) * go_3(0.0, 0.0); - result += mat4(-0.12622732, -0.044002566, 0.104972295, 0.18105431, 0.11646133, 0.0556064, 0.18686971, -0.21561784, -0.26179832, -0.059187356, 0.01926984, -0.1556935, -0.005284094, 0.04988676, -0.0629271, 0.1452294) * go_3(0.0, 1.0); - result += mat4(-0.20367198, -0.120030105, -0.004469297, 0.09944967, 0.07725609, -0.01106622, -0.14055888, 0.07756645, -0.18688135, -0.20632182, 0.07429031, 0.008466472, 0.012098892, -0.05049147, 0.16095792, 0.046173103) * go_3(1.0, -1.0); - result += mat4(0.1069116, 0.21522258, -0.04627851, -0.10662425, 0.13135125, -0.019367998, -0.15181519, 0.00075394503, -0.17778645, 0.11365393, 0.03837777, 0.08822385, 0.1916156, -0.038483586, -0.07884607, 0.12424183) * go_3(1.0, 0.0); - result += mat4(0.036157437, -0.04766311, -0.16446854, -0.05413319, -0.021621274, -0.07148996, -0.23798911, -0.0102870315, -0.014351993, 0.12831448, 0.1465541, -0.047955733, 0.04010879, 0.0976389, -0.12589982, -0.08807606) * go_3(1.0, 1.0); - result += mat4(0.076902226, 0.041135173, -0.016657151, 0.15551728, 0.11514554, 0.0058602975, -0.10986514, 0.0057913526, -0.1272993, -0.1593194, 0.044218805, -0.21816722, -0.061424024, 0.018841606, -0.110449634, -0.015432476) * go_4(-1.0, -1.0); - result += mat4(0.03666373, -0.13814612, -0.3036115, -0.15636392, 0.008658232, 0.08611662, 0.118764065, -0.08591301, -0.007196824, -0.22025566, 0.051091295, -0.08086002, -0.044420715, 0.043799147, 0.09688278, 0.0033028289) * go_4(-1.0, 0.0); - result += mat4(-0.24362423, -0.015480109, -0.11101967, 0.002946213, 0.0139870765, -0.023274565, 0.07034788, 0.13248734, 0.16976975, 0.07903513, 0.06341636, 0.04284541, -0.084724866, -0.05004183, -0.0029502965, -0.037041545) * go_4(-1.0, 1.0); - result += mat4(-0.0799557, -0.16095099, -0.06494757, 0.07882963, 0.012505202, 0.15511416, -0.16304691, -0.03223617, -0.018280255, -0.039940648, 0.16492367, 0.15375112, 0.11556045, -0.11412647, -0.24070956, -0.007323342) * go_4(0.0, -1.0); - result += mat4(0.072875924, 0.05083539, -0.20316303, 0.1238304, 0.18388501, 0.15272665, 0.086819254, 0.06119871, -0.094395205, -0.15079162, -0.17838413, 0.07426012, 0.02943968, -0.2684771, -0.17700946, -0.12761052) * go_4(0.0, 0.0); - result += mat4(0.19377026, 0.07910225, -0.23724055, -0.029297635, 0.037870105, 0.017596528, 0.061586875, 0.0065010567, 0.1740132, -0.19399293, -0.14995612, 0.005692246, -0.100947365, -0.14350691, 0.2749315, -0.16770917) * go_4(0.0, 1.0); - result += mat4(-0.15966229, -0.27420762, -0.09293543, -0.43784875, 0.09451163, 0.10119892, -0.015471579, -0.10209148, 0.08677175, 0.039316505, 0.2867878, 0.0128137395, -0.07972439, 0.011502975, -0.11594199, 0.063877724) * go_4(1.0, -1.0); - result += mat4(-0.3150563, 0.12615044, -0.17988585, -0.20575309, 0.0015721973, 0.055084594, -0.020417834, -0.13822779, 0.098861374, 0.14822583, 0.06401616, -0.120404646, -0.10940291, -0.037352454, 0.050986577, 0.07125991) * go_4(1.0, 0.0); - result += mat4(-0.032551173, 0.18289012, -0.19881311, -0.053115983, -0.10287446, 0.05078748, 0.086117916, -0.059756823, -0.2239071, 0.11387785, 0.12868147, -0.059683386, -0.020321736, -0.04086171, 0.14172685, 0.22172149) * go_4(1.0, 1.0); - result += mat4(0.06446823, 0.075459056, 0.050193854, -0.02980531, 0.02292068, -0.033028316, 0.08196589, -0.12588814, -0.014617067, 0.01555044, -0.15231301, 0.06448395, 0.06427072, -0.03321984, 0.049012806, 0.05093153) * go_5(-1.0, -1.0); - result += mat4(-0.04891807, -0.21147443, 0.05428899, 0.009631384, -0.014800392, -0.18164946, -0.074545264, 0.06637659, 0.015836405, 0.4889151, 0.29796156, 0.09648605, -0.2459945, 0.070567675, -0.00771288, -0.017721044) * go_5(-1.0, 0.0); - result += mat4(-0.15505725, -0.033791173, -0.12304202, 0.023178311, 0.12188232, 0.008929309, 0.059975695, -0.20444167, -0.20709375, 0.2860054, 0.019463783, 0.23910974, -0.085151516, 0.0012467392, 0.08327042, 0.044345636) * go_5(-1.0, 1.0); - result += mat4(-0.16185635, -0.041044228, 0.12618378, -0.22602643, 0.09039422, 0.020435853, 0.04396089, -0.049082875, 0.2322086, 0.21155676, 0.037015025, -0.08251266, -0.07999464, 0.1929863, 0.068592645, -0.018473776) * go_5(0.0, -1.0); - result += mat4(-0.28692165, -0.0914045, 0.04016614, -0.08336684, -0.08470211, 0.18356666, 0.07795491, -0.14058343, -0.115438856, 0.23199056, -0.054525673, -0.06553437, 0.22845635, 0.062047824, -0.03899926, -0.14750813) * go_5(0.0, 0.0); - result += mat4(-0.024415843, 0.18983422, 0.026180256, 0.23359428, -0.24470708, 0.05299243, -0.093706526, 0.0048052925, 0.21845944, 0.13118659, 0.027822208, -0.01732684, 0.1341405, -0.037465993, -0.021005224, -0.13099) * go_5(0.0, 1.0); - result += mat4(-0.13074318, -0.10861964, 0.3356989, -0.040623795, 0.05751466, 0.0029064803, -0.06863499, 0.04052094, 0.2404304, 0.21308951, 0.15456675, -0.026032818, -0.03276546, 0.104598865, 0.087674595, -0.011225901) * go_5(1.0, -1.0); - result += mat4(-0.3885748, -0.021308744, 0.32658833, 0.2619194, 0.014868833, 0.23127414, 0.055906303, 0.1689359, 0.20716958, -0.015053713, 0.13501903, -0.017089305, 0.19915296, -0.24020925, -0.16395238, -0.066857845) * go_5(1.0, 0.0); - result += mat4(-0.0076508783, 0.08567069, 0.20940123, -0.19297238, -0.032869402, -0.076935954, -0.12706652, 0.118971825, 0.09577812, 0.13618003, 0.17755455, -0.08722123, 0.11171834, 0.041147415, -0.055555638, 0.17951354) * go_5(1.0, 1.0); - result += vec4(-0.05163745, -0.030525967, -0.034545384, 0.0011744314); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.00874924, 0.06479505, -0.0029173514, 0.07453021, 0.064044245, 0.04816086, 0.13801545, -0.13147724, -0.032259457, 0.018466968, -0.012852061, 0.06363069, -0.021119684, -0.0524603, -0.031161075, -0.07618043) * go_0(-1.0, -1.0); - result += mat4(0.084529355, 0.23199025, -0.06747702, 0.07670476, 0.04783423, 0.053316955, -0.10305088, 0.07495804, -0.087933175, -0.065483205, -0.13657036, -0.07720879, 0.062599525, -0.049601298, -0.024424799, 0.022608709) * go_0(-1.0, 0.0); - result += mat4(-0.2586594, 0.039674412, -0.13742402, 0.09666874, -0.084477544, -0.027087416, -0.009601492, 0.053420864, 0.0625722, -0.1254515, 0.032742955, -0.024665914, -0.14905442, 0.044875436, 0.07266352, 0.07469416) * go_0(-1.0, 1.0); - result += mat4(0.021074846, 0.15970895, -0.3086228, -0.05164234, -0.18634024, 0.22643623, 0.08077387, -0.0161648, -0.03661073, 0.012908562, 0.0054539675, 0.015822269, 0.026296595, 0.01942134, 0.053928025, -0.10969176) * go_0(0.0, -1.0); - result += mat4(0.09353553, 0.018195553, -0.08585656, -0.15791856, 0.054085083, 0.22516748, 0.21730874, -0.025099568, 0.03159055, -0.11804406, -0.008568234, -0.014370778, -0.07749132, -0.06392929, 0.075509876, -0.019097406) * go_0(0.0, 0.0); - result += mat4(-0.057937216, 0.095248975, 0.059558928, 0.12786824, 0.23302162, 0.12629147, 0.06152512, 0.029230526, -0.09689983, 0.083217695, -0.021377616, -0.037923515, -0.35568753, 0.039865114, 0.14333424, 0.267966) * go_0(0.0, 1.0); - result += mat4(0.00011844775, -0.123274446, 0.05086709, 0.004256178, 0.012832609, -0.12187373, 0.004524905, -0.23390464, 0.12167624, -0.03674983, -0.087615184, 0.025935318, 0.007677731, 0.112577125, 0.026225066, 0.03445614) * go_0(1.0, -1.0); - result += mat4(-0.12753712, 0.00042057422, -0.047347613, -0.06912856, -0.13273059, 0.10787016, 0.043463085, 0.021454494, 0.056490768, 0.14493024, 0.058151938, 0.037335023, 0.02543131, 0.15424144, 0.055742744, -0.14856216) * go_0(1.0, 0.0); - result += mat4(-0.13659339, -0.013331863, 0.072243474, 0.0077176965, -0.15704288, 0.057892058, 0.08888919, -0.026248623, -0.12832907, 0.05004356, -0.008601374, -0.09371729, 0.10063523, 0.047332603, -0.018320935, 0.21497801) * go_0(1.0, 1.0); - result += mat4(0.034651414, 0.039575566, -0.01818621, -0.054858625, -0.0022673074, -0.14562686, -0.0028751935, -0.040938023, -0.0019023952, -0.0031610043, -0.113626435, 0.029344907, -0.04033123, -0.011649204, -0.07188756, 0.09192677) * go_1(-1.0, -1.0); - result += mat4(-0.0503488, 0.028798956, -0.006693954, 0.07654358, -0.028435636, -0.14021449, 0.09490931, 0.05767912, 0.067402154, 0.03353509, -0.18465632, -0.07892354, -0.07282928, 0.045659076, 0.01610622, -0.055369027) * go_1(-1.0, 0.0); - result += mat4(-0.017983284, 0.059108052, -0.048893955, -0.011440091, -0.42228884, -0.132112, 0.044904847, 0.22939242, -0.1264618, -0.10489889, -0.075762555, 0.05209098, -0.050417285, 0.10029565, -0.043668296, -0.09922573) * go_1(-1.0, 1.0); - result += mat4(-0.14941381, 0.12114828, 0.10517825, -0.015513224, -0.0024908849, -0.08526262, -0.19318485, 0.17600377, 0.003252062, -0.003241838, 0.0025076168, -0.08707902, 0.0016995758, -0.045136005, -0.14427514, -0.09088499) * go_1(0.0, -1.0); - result += mat4(0.15931, -0.09228977, -0.06308133, 0.19589768, 0.24140169, 0.22513855, 0.118969575, 0.15111087, -0.050449796, 0.013833277, 0.07658742, 0.16174644, -0.003201324, 0.034937993, 0.07040384, 0.2813254) * go_1(0.0, 0.0); - result += mat4(0.022369612, 0.031290416, -0.09342715, 0.017639885, 0.26041472, 0.007161143, -0.09052401, -0.18450892, 0.050195456, -0.022739457, 0.06707105, -0.049746882, 0.14495519, -0.102455616, -0.09707346, -0.17585137) * go_1(0.0, 1.0); - result += mat4(0.025266675, -0.1752835, 0.012535405, -0.21583222, -0.03691842, 0.042113684, 0.12360861, -0.11928547, -0.0966663, -0.032826263, 0.118368946, -0.003809318, 0.068992555, -0.03801947, -0.02036358, 0.036111884) * go_1(1.0, -1.0); - result += mat4(-0.08077069, -0.2473458, -0.054156005, 0.14818957, -0.09454033, 0.011877715, 0.10560343, -0.083333194, 0.0110740755, -0.077014185, -0.05278896, -0.06251993, 0.039195787, -0.14951102, 0.03377498, 0.12946099) * go_1(1.0, 0.0); - result += mat4(-0.057616, 0.108149685, 0.11845679, 0.0396938, -0.3146223, 0.18499297, 0.16781773, -0.08291362, -0.022713197, 0.051858127, -0.006099311, 0.05716396, 0.13392907, -0.109282106, 0.05498141, -0.071193464) * go_1(1.0, 1.0); - result += mat4(0.09475248, -0.1554231, -0.023782114, -0.030766876, 0.04192763, 0.021483693, 0.028340997, -0.058034573, 0.0010940522, -0.050213296, 0.04000753, 0.0022229531, 0.0018660162, -0.18649459, 0.23630546, -0.21319003) * go_2(-1.0, -1.0); - result += mat4(-0.116565526, -0.15246803, 0.005850186, -0.05474953, 0.0014735279, -0.021216031, -0.06207856, 0.13739516, -0.010196082, 0.07908882, -0.019407269, -0.05516944, -0.28326565, 0.15888767, 0.27831692, 0.18619354) * go_2(-1.0, 0.0); - result += mat4(0.06543926, -0.074488506, -0.07760019, 0.17044993, 0.08158774, 0.04326206, -0.067728855, 0.024843602, -0.06751376, -0.08624948, 0.013794438, 0.049678463, 0.020826025, -0.046888746, 0.08348537, 0.05656069) * go_2(-1.0, 1.0); - result += mat4(0.04989145, -0.028460307, -0.0769131, 0.0010439849, -0.09587771, -0.06743743, -0.14847435, -0.008717194, 0.08054748, -0.050939944, -0.109605104, -0.030957224, 0.12530726, -0.029865216, 0.09297952, -0.019167399) * go_2(0.0, -1.0); - result += mat4(-0.11747358, -0.27982333, 0.17281106, 0.070347376, -0.039507125, -0.009899484, -0.1539731, -0.16420937, -0.24044126, 0.068443485, 0.084593736, 0.06384842, 0.20761591, -0.035670962, 0.052107535, -0.0043864083) * go_2(0.0, 0.0); - result += mat4(-0.03567099, -0.04091944, -0.12142206, 0.061800703, -0.18150517, 0.15411758, 0.07404136, 0.19565642, 0.28183675, -0.031046303, -0.0042268364, -0.15308045, -0.09378749, 0.020542119, 0.022252236, 0.14972949) * go_2(0.0, 1.0); - result += mat4(-0.0105193425, -0.08959153, 0.18263857, 0.048910968, -0.010435675, -0.027718445, -0.120318696, 0.13538027, 0.13010837, 0.17119803, -0.011707955, 0.14297302, -0.08233788, 0.042564705, -0.03896208, 2.8444429e-05) * go_2(1.0, -1.0); - result += mat4(-0.0030958294, -0.17617896, -0.067710005, 0.0018519294, -0.008768522, -0.016318077, 0.037578914, -0.0049764947, 0.105228946, -0.06244281, -0.13939188, 0.03143476, 0.05274452, -0.016226346, -0.012599634, 0.03210993) * go_2(1.0, 0.0); - result += mat4(-0.09357119, 0.051940132, 0.03980677, -0.055670172, 0.09287961, 0.0072638597, -0.07690989, 0.12798886, -0.035807915, -0.086697236, -0.099087104, -0.09295662, -0.09427648, -0.055087987, -0.037958328, -0.13998422) * go_2(1.0, 1.0); - result += mat4(-0.022604464, 0.0031428523, -0.144605, -0.02875807, -0.103784114, 0.061475996, 0.1940092, 0.04618245, 0.044898245, 0.022316845, 0.0120888725, 0.07793487, -0.010512812, 0.034900095, -0.022719746, 0.0136101525) * go_3(-1.0, -1.0); - result += mat4(0.100697, 0.012970303, -0.058663197, -0.16554455, -0.16513096, 0.15323171, 0.47396505, -0.024782017, -0.06386085, -0.02400151, 0.034457937, 0.08889356, -0.0008506081, 0.031502075, 0.08109036, -0.009652339) * go_3(-1.0, 0.0); - result += mat4(0.14926942, -0.020183334, 0.016399153, 0.036552813, 0.25300506, 0.060191922, 0.2040498, -0.16668856, -0.045155995, 0.14945151, -0.00074124173, -0.03142253, 0.06796808, -0.07166414, 0.05155417, -0.1920044) * go_3(-1.0, 1.0); - result += mat4(-0.13827239, -0.08581495, 0.03852677, 0.0013960586, 0.078236885, -0.008412887, 0.05699767, -0.059194114, -0.039789997, 0.067367, 0.0024232, 0.0004645103, 0.026038349, -0.032108866, 0.07319417, -0.036261495) * go_3(0.0, -1.0); - result += mat4(-0.04785435, 0.12532665, 0.052335925, 0.10279794, -0.08932154, -0.07807702, -0.027437592, -0.01226406, 0.0855878, 0.0998956, 0.34608328, -0.017771345, -0.10465488, 0.046911918, 0.14045537, -0.12609549) * go_3(0.0, 0.0); - result += mat4(0.12454329, 0.0629062, 0.06315331, -0.19194551, -0.043885496, 0.07760517, -0.07117529, -0.016697489, 0.078342624, 0.08736188, 0.071410015, -0.13201651, 0.16587284, 0.010714448, 0.043101657, -0.23035446) * go_3(0.0, 1.0); - result += mat4(0.08158438, -0.100969456, -0.014449485, -0.03132171, -0.01574409, 0.09236148, 0.030310484, 0.01284413, -0.053764567, -0.026418544, 0.10662523, -0.039129682, -0.0065176217, -0.038883757, 0.058300994, -0.14639774) * go_3(1.0, -1.0); - result += mat4(-0.09079664, -0.0020122728, 0.10233645, -0.011045091, 0.10938907, 0.05189279, -0.02262471, -0.02617311, 0.041910812, -0.15767258, -0.04600758, 0.049779244, 0.09256302, -0.11922193, 0.1622482, 0.14537865) * go_3(1.0, 0.0); - result += mat4(-0.09391944, 0.07570852, 0.004766135, 0.05937019, -0.09493778, 0.010442861, -0.0790624, 0.007034491, -0.23311476, 0.11634711, -0.061636776, 0.08265463, 0.092269175, -0.010159195, 0.089713015, -0.232348) * go_3(1.0, 1.0); - result += mat4(0.035536226, -0.0099446, 0.019197198, 0.051076367, -0.0390392, 0.03382638, -0.013183885, -0.013789384, 0.04123211, 0.03670252, -0.010441384, 0.0010135671, 0.042965908, -0.020500444, -0.025766378, -0.032077227) * go_4(-1.0, -1.0); - result += mat4(0.20860507, 0.17699268, -0.04620276, -0.039868027, -0.025789822, -0.05731434, -0.11747873, 0.07730347, -0.031710766, -0.020262018, 0.04341926, 0.06434394, 0.053918168, -0.1657412, 0.105905995, 0.011154651) * go_4(-1.0, 0.0); - result += mat4(0.003090032, 0.093964286, -0.06367044, -0.0020144929, -0.10283011, -0.07306465, -0.040359806, -0.17013851, 0.015747946, -0.062563375, -0.012298383, 0.04297379, -0.029063454, -0.03683257, 0.02655745, 0.05740832) * go_4(-1.0, 1.0); - result += mat4(0.050861053, -0.0920656, -0.19874981, -0.021388335, 0.16630852, 0.17405358, 0.05212147, -0.02749285, -0.07478034, -0.04099812, -0.029557243, 0.06731333, 0.07508251, 0.08276743, 0.16026892, 0.053225685) * go_4(0.0, -1.0); - result += mat4(0.14226279, 0.053951856, 0.053425, -0.024388714, 0.15451646, -0.022425046, -0.00380887, -0.03618875, 0.11347302, -0.17040631, 0.0065808417, -0.013488193, -0.060262468, -0.066950545, -0.08976584, 0.0009982956) * go_4(0.0, 0.0); - result += mat4(0.1801071, -0.100330465, -0.053271472, 0.031151481, 0.22311142, 0.066051945, -0.11600886, -0.087773964, -0.078915946, -0.030782275, 0.013246717, -0.014198989, -0.28586018, 0.059759654, 0.24997708, 0.20630242) * go_4(0.0, 1.0); - result += mat4(0.12932803, 0.21319729, -0.28091565, -0.012479532, -0.07091247, -0.016889215, -0.12900326, 0.12102667, 0.022678612, -0.13739236, -0.16431749, -0.035084598, 0.004101327, 0.23767495, 0.1462611, -0.048993915) * go_4(1.0, -1.0); - result += mat4(-0.026779149, 0.25932673, 0.02780824, -0.15171829, 0.0039394335, 0.097402304, 0.06590691, -0.13960929, -0.0058308085, 0.072984695, 0.04813096, 0.059558798, 0.08162265, 0.39625508, 0.17542529, 0.003839069) * go_4(1.0, 0.0); - result += mat4(-0.05708866, -0.038969513, -0.020122351, 0.007563977, 0.1797364, -0.03398024, -0.055202417, -0.07547394, -0.012716594, -0.09214429, -0.0017415253, -0.05856085, -0.27330104, 0.30354604, -0.13669814, 0.22337814) * go_4(1.0, 1.0); - result += mat4(-0.17326224, 0.15659498, 0.06425071, 0.07975927, 0.0958955, 0.0608052, 0.034675565, 0.07591562, 0.054132458, -0.061479643, 0.009947483, 0.12112677, 0.124297075, 0.18455952, -0.041779295, 0.030722413) * go_5(-1.0, -1.0); - result += mat4(0.02079984, -0.03396273, 0.011413388, -0.07005397, 0.08875178, 0.107689336, -0.027889367, -0.06951973, -0.14137445, -0.1686194, 0.16112797, 0.22525409, 0.03834874, -0.05127144, -0.06952546, -0.2233007) * go_5(-1.0, 0.0); - result += mat4(0.010094381, 0.057003833, 0.12292443, -0.09757485, -0.11430328, -0.058333114, 0.036441192, -0.046859495, -0.059781298, -0.017726498, -0.113516934, 0.12778783, 0.048218265, -0.004416331, 0.055325013, -0.21638621) * go_5(-1.0, 1.0); - result += mat4(-0.09457411, 0.30411094, -0.03746511, 0.07965388, -0.04560781, -0.026843388, 0.2560619, 0.039457362, 0.12517431, 0.1847619, 0.13331719, 0.18641667, -0.16433188, -0.009212662, 0.12901293, 0.021027379) * go_5(0.0, -1.0); - result += mat4(-0.086559944, -0.056457154, 0.09476962, 0.054313526, 0.013685281, -0.056544665, 0.08585254, 0.11761908, 0.2695671, -0.22367607, -0.18963094, -0.08297759, -0.09200909, 0.31575614, -0.025597787, 0.11768817) * go_5(0.0, 0.0); - result += mat4(0.007880905, -0.11153017, 0.08885109, -0.07955998, 0.38617623, -0.0033538588, -0.21370837, -0.018460546, -0.059868775, -0.11899104, -0.09859911, -0.10338758, 0.07227207, 0.033412423, 0.12970059, -0.025612896) * go_5(0.0, 1.0); - result += mat4(0.10357382, 0.27821258, 0.10260374, 0.23705776, -0.051536858, -0.0637593, 0.02411251, -0.04798121, 0.0550194, -0.11722999, 0.061254364, 0.082198314, -0.11661943, 0.09562076, -0.17257103, 0.082414486) * go_5(1.0, -1.0); - result += mat4(-0.18603842, 0.2697591, 0.16230522, 0.04589048, -0.025565986, 0.08136575, -0.15435593, 0.08414148, 0.11316385, -0.16951068, -0.03157706, 0.07222263, 0.098516054, -0.010539889, -0.078987755, 0.039117597) * go_5(1.0, 0.0); - result += mat4(-0.108136736, -0.027168648, -0.054371372, 0.047652103, -0.015041038, -0.07973402, -0.033967327, 0.030585837, 0.23373295, -0.06363153, 0.050189044, 0.039055742, 0.14359018, 0.025118377, -0.06789567, 0.019007884) * go_5(1.0, 1.0); - result += vec4(-0.0382473, -0.052612398, -0.07591911, -0.05381055); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1517466, 0.08653111, -0.12849529, -0.0145909265, -0.20225123, -0.25598082, -0.27031836, -0.11011148, 0.023438375, 0.11201232, 0.46751308, -0.11576917, -0.29880443, 0.04816672, 0.21560355, -0.11404305) * g_0; - result += mat4(-0.12978144, 0.100125104, -0.06335867, -0.06317281, 0.054012444, 0.018025735, -0.09827809, -0.09725046, 0.005299584, -0.098031715, -0.22854897, 0.17967635, 0.12765448, 0.045635063, 0.0012192138, -0.34536725) * g_1; - result += mat4(0.011804178, -0.06590833, -0.031301893, -0.1775461, -0.41570944, 0.087449126, -0.02128947, -0.27094513, -0.060209982, -0.18076003, -0.17616534, -0.1265182, 0.05190358, -0.16350612, 0.13440031, -0.02040334) * g_2; - result += mat4(-0.08296803, -0.28662565, -0.088028625, -0.04346711, 0.17134765, -0.057956398, -0.27708423, -0.11509851, 0.0017504691, -0.1335092, -0.40999198, -0.17734398, 0.32179204, -0.14760494, 0.0014923187, -0.40818754) * g_3; - result += mat4(-0.06289323, 0.18344052, -0.030397955, 0.26505098, -0.20116702, 0.19888414, 0.22849302, 0.39404854, -0.028509716, 0.108586155, 0.18787633, 0.08936724, 0.2189794, 0.008488558, -0.10159572, 0.28290325) * g_4; - result += mat4(-0.04573871, -0.110110976, -0.10133858, -0.12086325, -0.2474638, -0.031180179, -0.34253988, 0.15010545, -0.0040049986, -0.019926922, 0.26064172, -0.19498073, -0.1095731, 0.09029125, -0.108377635, -0.0038560093) * g_5; - result += mat4(-0.121560805, 0.020504333, -0.0597182, -0.09707394, 0.17374295, -0.20030156, 0.10344341, 0.3244939, -0.18901767, -0.020843312, 0.132772, 0.08054658, 0.13611425, -0.29363188, -0.34134823, -0.38264117) * g_6; - result += mat4(0.16559608, 0.16367547, 0.29445526, 0.22651257, 0.06375283, 0.39584106, 0.006053162, 0.055495188, 0.22115736, -0.22024626, 0.14978565, -0.083540656, -0.14054725, 0.10124253, 0.0061804047, 0.17122638) * g_7; - result += mat4(-0.14379624, 0.22831523, -0.15875602, -0.019427398, 0.08650438, 0.12258277, -0.0355665, -0.044720147, 0.25487396, -0.26249576, 0.021001643, 0.09981675, -0.039034113, 0.043660853, -0.15347818, -0.16691351) * g_8; - result += mat4(0.07939632, -0.05486855, 0.2904414, -0.074339755, -0.08656439, -0.20840298, -0.20732778, 0.1029268, -0.20539123, 0.040745974, -0.10717815, -0.25687888, 0.20816644, 0.129532, -0.16312623, -0.14453101) * g_9; - result += mat4(-0.27986488, -0.23781885, 0.3357808, 0.022635408, -0.23463887, 0.08829273, -0.104331024, 0.059385765, -0.008988081, 0.08307928, -0.10422426, -0.06952313, -0.063950576, -0.39974853, 0.2428403, -0.15027511) * g_10; - result += mat4(0.073085204, -0.10948135, 0.056989595, 0.18264382, 0.3548214, -0.12389114, 0.08049114, -0.39152363, 0.27634555, 0.13423951, 0.2994666, 0.121581756, -0.3245417, -0.11582107, -0.12750253, 0.17907634) * g_11; - result += mat4(0.23503982, -0.17774986, 0.14940716, 0.111273095, -0.05475033, -0.17823237, 0.19284964, 0.15520798, 0.1600294, 0.025111979, 0.034554236, -0.22638519, 0.44020715, -0.2762028, 0.111869164, 0.16672193) * g_12; - result += mat4(-0.25770104, 0.011573565, -0.065385014, 0.036166515, 0.34582734, -0.018427689, -0.06642216, 0.08775443, -0.1237332, -0.102610715, 0.22667718, 0.101304494, 0.53382784, 0.123501934, 0.16460274, -0.048920505) * g_13; - result += vec4(-0.03949794, 0.0395381, -0.024099527, 0.0041297916); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.07966754, -0.06966207, 0.02303797, -0.16448943, 0.10318848, -0.410334, -0.22451977, 0.2947905, 0.006431782, 0.2210936, -0.16191624, -0.32029536, 0.19407257, -0.13434124, 0.03879501, 0.17069095) * g_0; - result += mat4(-0.06373326, 0.21566539, 0.06835463, -0.29900926, 0.1264936, 0.30812046, -0.18849093, -0.29262608, 0.1896114, 0.01970999, -0.27476716, -0.050988406, -0.30970192, -0.079130374, -0.14994004, 0.12752618) * g_1; - result += mat4(0.020375464, 0.19119026, -0.313698, -0.26453584, 0.07838133, 0.18381923, 0.12585643, -0.06809764, -0.25780505, 0.05716925, -0.07450206, -0.02375656, -0.033622682, -0.10849277, -0.33186463, 0.19414547) * g_2; - result += mat4(0.0044648047, 0.08281163, -0.04849872, 0.1355915, -0.097715564, -0.08512666, 0.083665445, 0.1250317, 0.15797666, 0.32305694, 0.42864105, 0.36694467, -0.19485113, 0.16141608, -0.16432299, -0.10108335) * g_3; - result += mat4(0.06326362, -0.05534751, -0.13511105, 0.042043727, 0.20099865, -0.042153213, -0.22423261, -0.09133457, -0.027568584, 0.012865782, 0.13886575, 0.34115347, 0.2610905, -0.045110513, 0.06810152, 0.09738184) * g_4; - result += mat4(-0.035168797, 0.034930643, 0.25825202, 0.20083296, -0.08928484, -0.21076165, -0.1159743, -0.216512, 0.11886214, -0.0706163, 0.124095425, 0.028673371, -0.31240124, -0.17458299, -0.2053044, -0.008733319) * g_5; - result += mat4(0.29833966, 0.06774145, -0.03913825, -0.112461224, -0.000111277885, 0.07307257, 0.24769522, -0.27295232, 0.070567, -0.17354357, 0.2742455, -0.382184, -0.17436866, 0.22665188, 0.045708902, 0.03745412) * g_6; - result += mat4(0.032916605, 0.11094983, 0.17567287, -0.06819124, 0.17541365, -0.118430324, 0.028206939, 0.37577933, 0.011492207, 0.21624072, -0.20114873, 0.222502, 0.012722517, -0.15424041, 0.07858887, -0.09832832) * g_7; - result += mat4(-0.29937837, 0.08433066, -0.16425402, 0.014552817, 0.083602294, -0.12674652, -0.029379338, 0.020814786, -0.08117312, 0.0074423556, 0.06749342, -0.23778795, -0.20409779, 0.005250363, 0.014023434, -0.08039687) * g_8; - result += mat4(-0.07325317, -0.102401175, 0.2583051, 0.30287206, 0.117874466, -0.047484834, 0.050214633, -0.16902745, -0.1403704, -0.17889948, -0.043674123, -0.011426891, -0.16280553, 0.076159306, -0.13330574, -0.1950167) * g_9; - result += mat4(-0.256105, -0.08625361, 0.011796258, -0.02119164, 0.06349923, -0.27358216, 0.118133076, -0.034468293, -0.043460324, -0.2100345, 0.011009716, 0.24111703, -0.20008805, -0.47441798, -0.1211137, -0.31405842) * g_10; - result += mat4(-0.04759389, -0.1061154, 0.008801774, -0.10977146, -0.025931438, 0.21277407, -0.038004987, -0.07198902, -0.022014204, -0.11847486, -0.038868114, 0.02172665, -0.3208455, -0.11351803, -0.06722725, 0.2296603) * g_11; - result += mat4(-0.012025998, 0.024963265, 0.17822163, 0.3004866, -0.31125832, 0.034575626, 0.046008132, -0.24627264, -0.09372702, -0.1855233, 0.33742183, -0.034182545, -0.011793393, 0.26905802, -0.029423665, -0.1649043) * g_12; - result += mat4(-0.63350683, -0.3606824, 0.3736929, -0.14756419, 0.058743123, 0.14858964, 0.18524785, 0.17112412, 0.258455, -0.12432544, -0.051312115, -0.2812558, 0.28210622, -0.17405578, -0.20673786, -0.07849705) * g_13; - result += vec4(0.08657319, 0.0069808266, -0.0010583929, -0.006461665); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07191942, 0.3140507, 0.22113691, 0.11425055, 0.33772144, 0.2411142, -0.05054018, 0.18108025, 0.1453716, -0.05830594, 0.1749647, 0.09090011, -0.05392254, -0.029053958, -0.31549838, 0.059738033) * g_0; - result += mat4(0.09510324, 0.08078732, -0.19260474, -0.11069926, 0.24988726, 0.051267263, 0.20293756, 0.26742226, 0.16450423, 0.13896441, 0.03573342, -0.19107069, 0.12676238, 0.10198673, 0.14884768, -0.2088339) * g_1; - result += mat4(-0.01031837, 0.025411772, 0.042114772, -0.05685252, -0.055964757, 0.11324, 0.00448932, 0.16396624, -0.17178524, 0.27165812, -0.09635711, -0.15172988, 0.2671317, 0.16236094, 0.21264014, -0.25292912) * g_2; - result += mat4(-0.22559996, -0.028498424, -0.1567824, -0.0735544, -0.17081529, 0.14735967, -0.0061476813, -0.17980057, -0.20270798, 0.032933656, -0.29559132, -0.16152963, 0.054025065, 0.0748118, 0.31088996, -0.107099526) * g_3; - result += mat4(-0.45303443, -0.099132985, -0.13839091, 0.32170072, -0.34101728, -0.37682575, 0.12063899, -0.19869997, 0.1657555, -0.25580558, 0.056302473, 0.17126912, 0.32514557, 9.235195e-05, -0.14467183, -0.07996187) * g_4; - result += mat4(0.2877269, 0.0261826, -0.08865923, -0.024432473, -0.096166946, 0.2561266, 0.026980402, 0.117528915, 0.3334183, 0.07372863, -0.08858107, -0.37130275, -0.36359683, 0.11301179, 0.091467746, -0.19730526) * g_5; - result += mat4(-0.550552, 0.12992254, -0.10055661, -0.10932172, -0.19244795, 0.12395271, 0.060307764, -0.53993297, -0.088290274, 0.27347142, -0.4417309, -0.023805201, -0.35758695, 0.09050262, -0.35072213, -0.055425614) * g_6; - result += mat4(0.18186982, 0.06789516, 0.030788613, 0.10114591, -0.11508006, -0.07924641, -0.046368007, 0.24148594, -0.107171915, -0.3024151, 0.32407254, -0.3586668, -0.012580506, -0.39705497, 0.2469481, -0.045826133) * g_7; - result += mat4(-0.026137354, 0.32036647, -0.2753551, -0.27253738, 0.017361412, -0.12770222, -0.08593248, -0.15483221, 0.25440103, -0.36099723, 0.25746107, 0.08897639, 0.028374728, -0.02342191, -0.043640897, 0.113993265) * g_8; - result += mat4(-0.037920885, 0.1657078, 0.004982961, -0.017414536, -0.22377351, 0.061842646, -0.15807268, -0.25205454, -0.21131302, 0.24842763, 0.078252114, 0.21482246, 0.074235536, 0.076578915, 0.27380338, 0.29830837) * g_9; - result += mat4(0.17564484, -0.07282816, 0.07999462, 0.02969899, 0.15588856, 0.100054234, -0.08245988, -0.07382829, 0.15328896, -0.18413633, 0.098962, -0.1984274, 0.062275123, 0.115510456, 0.090368204, 0.13073486) * g_10; - result += mat4(-0.07252601, -0.16025335, -0.13433468, 0.22769116, -0.051709075, -0.049860206, -0.0015467379, 0.10867708, 0.14257227, -0.04363354, 0.039784696, 0.009654442, -0.3981904, -0.035521798, -0.3009465, 0.20765312) * g_11; - result += mat4(0.15802802, 0.20658726, 0.07175077, 0.13363297, -0.26437205, -0.36688936, 0.2642335, 0.2855627, 0.17861994, 0.076894015, 0.11635738, -0.06555138, -0.21570256, 0.15639998, 0.16982861, -0.14948218) * g_12; - result += mat4(-0.252244, 0.104423165, 0.08296718, -0.23033309, -0.17892015, -0.33409834, -0.18738337, 0.29886454, 0.2821413, -0.42758805, -0.21272181, 0.5394736, 0.35043237, -0.049396887, 0.36223906, 0.18295164) * g_13; - result += vec4(-0.025732767, -0.005527079, -0.030687628, -0.017071865); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.104982205, 0.07555908, 0.082988895, 0.09641123, -0.14312562, 0.08585028, -0.08006235, 0.11583354, 0.015197517, 0.0061171134, -0.08957176, -0.015803585, -0.028316237, -0.037797295, -0.08751069, -0.020076174) * go_0(-1.0, -1.0); - result += mat4(-0.077291645, 0.09839786, 0.20633034, -0.1368197, 0.04781139, -0.024400083, -0.013985738, 0.025657425, 0.052802097, 0.06658832, -0.07069402, -0.14722401, -0.058742646, -0.13931225, -0.07670136, 0.27102116) * go_0(-1.0, 0.0); - result += mat4(0.07352748, 0.10195403, 0.13596354, -0.019455345, -0.13721928, -0.29771757, -0.23916185, -0.06604379, -0.025979416, 0.056431673, -0.09193357, 0.045280043, 0.0431579, -0.00045074165, 0.07117571, 0.0759515) * go_0(-1.0, 1.0); - result += mat4(0.055535037, 0.033264358, 0.14612523, 0.12948278, -0.077543385, 0.06754819, -0.1644258, -0.16768512, 1.6243255e-05, -0.0036816916, -0.02051351, -0.25716934, -0.13010266, -0.054420397, -0.3265728, 0.05674878) * go_0(0.0, -1.0); - result += mat4(-0.073792264, 0.05852967, -0.028753553, -0.04824645, -0.04197776, 0.22288944, -0.16456614, -0.057237446, 0.003060873, -0.060042106, 0.08348391, -0.11798982, 0.16628337, 0.23030046, -0.16155055, 0.18258655) * go_0(0.0, 0.0); - result += mat4(0.0066633415, 0.09253906, 0.049395826, 0.151374, -0.015566304, 0.25921473, -0.17245017, 0.47088355, 0.08437717, -0.09881311, -0.07388792, -0.07178189, 0.050819, 0.055019803, -0.18850859, 0.03294016) * go_0(0.0, 1.0); - result += mat4(0.043678984, 0.095202595, 0.09942592, 0.24811096, 0.35030758, -0.21920095, -0.012092429, 0.048507717, 0.20449705, 0.0061976225, 0.01237401, 0.05136725, -0.15520673, 0.04483285, -0.21933301, -0.0075039417) * go_0(1.0, -1.0); - result += mat4(-0.3003681, 0.07858391, 0.016175367, 0.09858805, -0.055601455, -0.36961514, 0.006742421, -0.06503776, -0.01715813, -0.05382268, 0.15248029, -0.16113605, 0.04198701, -0.057357345, -0.23497291, -0.056328695) * go_0(1.0, 0.0); - result += mat4(0.11696767, 0.120468214, -0.077845395, 0.09777712, -0.1138163, -0.18214916, 0.058075044, -0.036811862, 0.19279048, -0.099064186, 0.36780992, -0.1690336, 0.11210642, -0.07528836, -0.29965997, 0.12446884) * go_0(1.0, 1.0); - result += mat4(-0.017169006, 0.2172244, -0.10730457, -0.021264572, 0.12227968, -0.053846695, 0.047163304, -0.101603, 0.0062724575, -0.072099365, -0.17555018, -0.00033070304, -0.10524059, 0.09394844, -0.114506185, 0.07369795) * go_1(-1.0, -1.0); - result += mat4(-0.012486243, -0.027982935, 0.068814695, -0.04484977, 0.17179243, -0.05968366, -0.15466455, -0.28936374, 0.037891816, -0.1537021, 0.090284206, -0.08304289, -0.22283946, -0.09740864, -0.076892264, -0.03097382) * go_1(-1.0, 0.0); - result += mat4(0.006861187, 0.14946023, -0.033668704, 0.15979089, 0.04760875, -0.46898082, -0.14282514, -0.13993657, 0.051552102, 0.07174696, 0.045460965, -0.12257744, -0.035047516, -0.13298129, -0.03663405, -0.10557144) * go_1(-1.0, 1.0); - result += mat4(0.07589365, -0.26653993, -0.08249569, -0.14438817, -0.04279978, 0.01693236, 0.17159064, -0.35254893, 0.0040323343, -0.11983753, -0.061253916, 0.011985204, 0.015628112, -0.27908513, 0.15301989, -0.05121764) * go_1(0.0, -1.0); - result += mat4(0.17096418, 0.046836298, -0.010261935, -0.10665749, 0.44767225, -0.15179153, 0.09625136, -0.1691867, 0.011945579, -0.05666474, -0.015486411, 0.096235506, 0.17957349, -0.37671992, 0.07288332, 0.21353583) * go_1(0.0, 0.0); - result += mat4(-0.15026344, 0.07971851, -0.18614125, 0.26538303, 0.100655146, -0.012255109, -0.043610323, -0.47393677, -0.18206257, 0.16008742, -0.08008707, 0.037403177, 0.25357443, 0.20838167, 0.07468662, -0.09819892) * go_1(0.0, 1.0); - result += mat4(0.045250274, 0.016913693, -0.17617564, 0.34649208, -0.123421766, 0.14499843, 0.2794011, 0.023555117, -0.13695411, 0.10700827, 0.0021667846, 0.100851916, -0.065286495, 0.030622184, 0.15711689, 0.16436149) * go_1(1.0, -1.0); - result += mat4(0.09937961, -0.02712812, -0.30141807, -0.05450205, -0.5938476, 0.5271416, -0.044925332, -0.5022929, -0.110103525, -0.1365297, -0.062112883, 0.073157676, -0.062495854, 0.0054924698, 0.044250533, -0.36919707) * go_1(1.0, 0.0); - result += mat4(-0.06692938, -0.16037337, -0.13874179, 0.042753883, -0.20345642, 0.33836037, -0.29128483, -0.3191502, -0.19161306, -0.024874836, -0.105124384, 0.20804134, 0.091092095, -0.10013389, 0.24283187, 0.022393208) * go_1(1.0, 1.0); - result += mat4(0.135681, -0.0913547, -0.015874185, 0.09247961, -0.023832338, -0.026725423, 0.21093869, -0.020168798, -0.036290176, -0.18609242, -0.11226475, -0.037647948, 0.015346553, -0.12651022, -0.005971455, 0.015934778) * go_2(-1.0, -1.0); - result += mat4(-0.012410877, 0.016434811, 0.16975299, 0.09871469, 0.08755521, 0.05003077, 0.17350516, 0.010860692, -0.012806688, -0.04557344, -0.14199564, 0.050168816, 0.061128106, -0.11948343, -0.10489915, -0.15296724) * go_2(-1.0, 0.0); - result += mat4(0.00050839694, -0.08347338, -0.07180877, -0.039955523, -0.0055085914, -0.12990318, 0.0396091, -0.12895937, -0.13214958, -0.020980636, -0.15015417, 0.124210335, 0.040430482, -0.058191862, -0.013813498, 0.06936561) * go_2(-1.0, 1.0); - result += mat4(-0.1309001, -0.1677729, -0.08611893, -0.019612571, 0.0072545055, -0.019699767, 0.08413648, 0.14671975, -0.030692907, -0.061039682, -0.26404843, 0.16754018, -0.13204649, 0.051769182, 0.07329174, 0.008961333) * go_2(0.0, -1.0); - result += mat4(0.12870015, -0.10839898, -0.056968387, 0.24554439, 0.10927941, 0.12468343, 0.113654085, -0.12424883, -0.13480952, 0.02290929, -0.1178948, -0.07272732, -0.035018474, -0.00019598046, -0.029631672, 0.20949355) * go_2(0.0, 0.0); - result += mat4(-0.10979465, 0.0015674937, -0.09602461, -0.13792102, 0.13557434, 0.0797543, 0.16902617, 0.10020133, 0.025968015, -0.13608235, -0.2076836, 0.14700463, -0.15915999, 0.042555846, 0.10517889, 0.013302224) * go_2(0.0, 1.0); - result += mat4(-0.11228716, 0.1296086, -0.13569583, -0.17462344, -0.15479918, 0.10442998, 0.099665, -0.0035203425, -0.03887185, -0.119468026, -0.32558957, -0.044526376, 0.10422026, -0.21343082, -0.18818367, -0.13065325) * go_2(1.0, -1.0); - result += mat4(0.117525764, -0.05182314, -0.13950679, 0.10066026, -0.082305804, 0.19577427, -0.11042555, -0.057250686, 0.034585953, -0.16881162, -0.22649515, -0.14541432, 0.04076736, -0.19786403, -0.20738153, 0.09599371) * go_2(1.0, 0.0); - result += mat4(-0.07562448, -0.04477483, 0.10653905, 0.08121934, -0.13194205, 0.038918853, 0.013618007, 0.2565958, -0.12499594, -0.006808097, -0.1272937, 0.08010868, -0.24138519, 0.10052855, 0.03744373, 0.010530644) * go_2(1.0, 1.0); - result += mat4(0.037195858, -0.026381439, -0.03815725, 0.061316613, -0.03832489, 0.091605686, 0.08876856, 0.06629904, -0.20887044, 0.0051514115, -0.1268548, -0.07050566, 0.08183176, 0.07088599, 0.18599358, -0.08899776) * go_3(-1.0, -1.0); - result += mat4(0.039327797, 0.22177398, -0.1463081, 0.20032172, -0.10862822, -0.11875083, -0.1379379, 0.031803746, 0.008306066, 0.00027348715, -0.23553665, 0.21973856, 0.04693609, 0.009794157, 0.1601008, 0.04190715) * go_3(-1.0, 0.0); - result += mat4(-0.08847024, -0.12034426, -0.046535492, -0.0015469183, 0.029354317, -0.017813215, 0.026930645, -0.061464008, 0.048435025, -0.0060154586, 0.0030779277, -0.0054586986, 0.11209741, 0.1775898, -0.0006593223, 0.06479346) * go_3(-1.0, 1.0); - result += mat4(0.06080291, 0.15299957, 0.06232974, 0.10846308, -0.028292485, -0.012474043, 0.10948469, -0.10518104, 0.03600489, -0.0018079659, 0.13882127, 0.09746347, -0.038197763, 0.050351717, -0.07982211, -0.13927835) * go_3(0.0, -1.0); - result += mat4(-0.019046405, 0.0682466, 0.16174704, -0.08366695, 0.06679201, -0.03144408, -0.15319623, -0.119038805, -0.05669314, -0.032495897, 0.08565711, 0.17832647, 0.09776954, 0.17032266, -0.24967444, 0.010303744) * go_3(0.0, 0.0); - result += mat4(0.24789387, -0.050210956, 0.24326064, -0.029406209, -0.015696421, 0.0012180286, 0.14299859, -0.005255871, 0.024319256, 0.07923077, 0.12629507, -0.006723262, -0.07208263, 0.15598877, 0.20316799, 0.048182316) * go_3(0.0, 1.0); - result += mat4(0.12899855, 0.119086534, 0.2254647, 0.05643592, 0.03596284, -0.034305334, 0.03675757, 0.025819505, -0.009708044, -0.27001143, 0.020433763, -0.114321835, 0.05199634, -0.07492276, 0.14047627, 0.019880205) * go_3(1.0, -1.0); - result += mat4(0.022634482, -0.16988315, 0.21583, 0.14514355, -0.1575888, 0.04049404, -0.19551556, 0.06926082, -0.019816458, 0.2504368, 0.0075988933, -0.2552049, -0.07932466, 0.014810682, 0.11324127, 0.09873611) * go_3(1.0, 0.0); - result += mat4(0.13066028, -0.025925523, -0.070729695, 0.08027581, -0.0889298, 0.12858535, 0.024727652, -0.06386548, 0.06752022, 0.14986867, -0.08458562, 0.04218467, 0.14644428, 0.11713881, 0.044610962, -0.03585549) * go_3(1.0, 1.0); - result += mat4(0.0034785594, -0.035852555, 0.0024070253, 0.0422838, 0.05252951, -0.040922806, -0.110922866, 0.018832507, 0.047977142, -0.031857464, -0.16198619, 0.17507105, 0.15119073, 0.0671685, 0.17173119, -0.002882032) * go_4(-1.0, -1.0); - result += mat4(0.07206848, -0.03441637, -0.12565812, -0.090023674, 0.07560367, 0.035000406, 0.0598636, -0.12219724, -0.10413281, 0.08332902, -0.332376, -0.059019767, 0.17776102, -0.029625535, 0.0932516, 0.11897422) * go_4(-1.0, 0.0); - result += mat4(-0.087000675, -0.06058876, -0.047136415, -0.01116753, 0.086808994, -0.037621588, 0.1934453, -0.09606909, -0.20308414, -0.20870854, -0.08154494, -0.023201983, 0.122871794, 0.10025451, 0.085648954, 0.06762109) * go_4(-1.0, 1.0); - result += mat4(0.008361006, -0.023998639, -0.10125869, -0.031050105, 0.13941154, -0.12811112, 0.19164155, 0.14518012, 0.07919583, 0.045191582, -0.02450593, -0.1460442, 0.19432214, 0.022542864, 0.075775094, -0.07979384) * go_4(0.0, -1.0); - result += mat4(0.0678098, 0.047234662, -0.16516937, 0.03845517, 0.10120048, 0.09001103, 0.0729872, 0.16803268, 0.05822093, 0.14214385, -0.09651238, 0.028225511, 0.014847803, 0.03776409, -0.018266752, -0.1786831) * go_4(0.0, 0.0); - result += mat4(-0.093699664, -0.07175496, -0.11612068, -0.03221349, -0.1627238, 0.08046109, 0.07180413, -0.053919647, -0.15395777, -0.10083802, -0.15925324, 0.03812138, -0.086695984, -0.011022635, -0.05752067, 0.09484592) * go_4(0.0, 1.0); - result += mat4(-0.009441042, -0.004515587, -0.011854299, -0.13570477, -0.11361854, 0.056793407, 0.14414963, 0.0016374801, 0.16569155, 0.0006892999, -0.24540672, -0.0115879765, -0.0062334137, 0.006741106, -0.057994764, -0.11105791) * go_4(1.0, -1.0); - result += mat4(-0.10549314, 0.07036646, 0.0027208559, 0.117512435, 0.06421372, 0.015700622, 0.122735605, 0.042871855, 0.3570547, -0.06494184, -0.1451109, 0.06707965, -0.0018241329, -0.15766938, -0.10465162, 0.06556862) * go_4(1.0, 0.0); - result += mat4(-0.12994805, -0.0015565314, 0.036605444, -0.0024906532, -0.22658896, -0.16236745, 0.028065031, 0.030607022, 0.24544671, 0.04871293, 0.0154087255, -0.07887157, -0.048981514, 0.047455136, 0.02338251, 0.09652532) * go_4(1.0, 1.0); - result += mat4(0.1025444, 0.06992135, -0.19152603, -0.032660298, 0.11341433, -0.008461467, 0.37216434, -0.021054655, 0.0136999, -0.06587233, -0.16484618, 0.157092, -0.009656801, -0.05105792, 0.14666946, 0.00493695) * go_5(-1.0, -1.0); - result += mat4(-0.07382431, -0.09395048, -0.093574286, -0.093534246, 0.012859197, -0.16821484, 0.33096954, -0.18585683, -0.11704033, -0.12794305, -0.10872539, -0.2351157, -0.111063056, -0.0059594624, -0.13428564, -0.015650012) * go_5(-1.0, 0.0); - result += mat4(0.010946964, -0.010041952, 0.0019383408, 0.10530978, 0.10574319, -0.042743787, 0.22395532, -0.21446688, 0.023708893, 0.06247624, -0.17799611, 0.08588511, -0.044028617, -0.060424324, -0.0718166, -0.10640777) * go_5(-1.0, 1.0); - result += mat4(0.10719061, 0.0129604, 0.19220753, 0.19485699, -0.04527621, 0.02048796, 0.062281314, 0.05473695, -0.001512825, 0.05083577, 0.015815359, -0.10335057, 0.088389724, 0.07674812, 0.1637286, 0.16419598) * go_5(0.0, -1.0); - result += mat4(-0.04744085, -0.021908872, -0.16124526, -0.12239747, 0.113680035, -0.00402739, 0.07683296, 0.1298162, -0.0062383, -0.0606094, -0.07588451, 0.09638553, 0.0488219, -0.062957846, -0.0049705994, 0.04572072) * go_5(0.0, 0.0); - result += mat4(0.078025624, 0.03524372, 0.009368983, -0.20319936, 0.10732133, 0.17059354, -0.090827584, 0.011335166, -0.0052754492, -0.041605044, -0.21478763, 0.16712104, 0.012957462, -0.03315961, 0.032550223, -0.060612053) * go_5(0.0, 1.0); - result += mat4(-0.04097813, -0.10575517, 0.02932303, 0.10431537, -0.17378059, 0.0028188052, -0.101903476, 0.09494412, -0.044233404, 0.07267324, 0.02446518, 0.04492867, -0.21241763, 0.06236375, 0.17637831, 0.11380535) * go_5(1.0, -1.0); - result += mat4(-0.16117178, 0.08798764, 0.0640833, -0.0701564, 0.17710546, 0.06163036, -0.06582654, 0.035877887, -0.09767339, 0.013938544, -0.1083548, -0.11107573, -0.2024197, 0.25081524, 0.10785676, 0.04328463) * go_5(1.0, 0.0); - result += mat4(0.011950619, 0.14784974, 0.07109999, -0.17253064, 0.110183194, -0.02177597, 0.2582, -0.06715354, 0.11416209, -0.0930534, -0.102803044, 0.04018467, 0.047358584, -0.0015465431, -0.13922222, 0.13208711) * go_5(1.0, 1.0); - result += vec4(-0.01062606, -0.052027427, 0.013884738, 0.019204512); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.113090456, 0.07363513, 0.024979502, -0.008825497, -0.12050694, -0.07486469, -0.11941816, -0.011871381, 0.107220344, -0.032913607, 0.12622087, -0.045822218, 0.07387966, -0.021371206, 0.007965849, 0.048105687) * go_0(-1.0, -1.0); - result += mat4(-0.09334273, 0.033589564, 0.04118339, -0.10118551, -0.30853283, -0.16254744, -0.13663885, 0.2308669, -0.019317703, 0.02902979, 0.04737992, -0.05380483, 0.052566357, -0.0132431965, 0.03312134, -0.05146259) * go_0(-1.0, 0.0); - result += mat4(-0.035666548, 0.03142391, -0.061812516, 0.016170874, 0.2742194, -0.02790315, -0.16429302, -0.080292866, 0.08983578, 0.04091192, -0.009412326, 0.081929326, -0.021755466, 0.049149238, -0.022340572, 0.0018007496) * go_0(-1.0, 1.0); - result += mat4(-0.21112363, -0.07935102, -0.0077055297, -0.11152485, -0.038522743, 0.10441903, 0.49379715, 0.3279719, 0.11621902, 0.08317908, 0.065725714, -0.13305607, 0.0877202, 0.048430666, -0.08754577, 0.007701747) * go_0(0.0, -1.0); - result += mat4(-0.12220588, -0.009903899, 0.14068304, -0.046886254, -0.040303588, -0.022275012, 0.21650875, 0.1101425, 0.08782837, 0.029715152, 0.028760241, 0.016143637, -0.07338588, 0.043814916, 0.06933535, 0.17793724) * go_0(0.0, 0.0); - result += mat4(-0.044231124, 0.08114073, 0.06923305, 0.037548296, -0.092029534, -0.25295112, -0.06005341, 0.0014922859, 0.11133001, 0.059025094, 0.04505738, 0.0154424235, -1.2619082e-05, 0.031804066, -0.08802078, 0.07750838) * go_0(0.0, 1.0); - result += mat4(-0.1490005, 0.15053308, 0.086954184, -0.04289656, 0.18064196, -0.014970675, 0.21018268, -0.19265522, 0.1618517, -0.10602425, -0.01163617, 0.015137006, 0.11273077, -0.011398939, -0.135021, 0.022683538) * go_0(1.0, -1.0); - result += mat4(-0.07376752, 0.06489613, 0.013352993, -0.034090944, 0.25911796, 0.07827042, 0.1481548, -0.14758152, 0.16708852, -0.03871884, -0.039322566, 0.18408814, 0.12899528, 0.22925022, 0.055512853, 0.31332016) * go_0(1.0, 0.0); - result += mat4(0.017059328, -0.0090106595, -0.05648487, 0.04868179, 0.005841219, -0.20667028, -0.021814981, -0.22739622, 0.048590902, -0.03058942, 0.055517618, -0.017253084, 0.0836235, 0.014225088, 0.054538783, 0.14126775) * go_0(1.0, 1.0); - result += mat4(-0.061225217, 0.11518607, 0.048296787, -0.030705981, 0.00026408286, 0.13189921, 0.053947564, -0.01223916, 0.13795912, 0.052237086, 0.08458277, 0.0036678968, -0.038967784, 0.059216358, 0.081971616, -0.03260716) * go_1(-1.0, -1.0); - result += mat4(-0.25405368, 0.064130306, 0.007561692, 0.20079653, 0.044663772, -0.0985312, -0.2874557, 0.103476, -0.00029025553, 0.008965628, -0.21605104, 0.07896577, -0.1345618, -0.03465289, 0.12322703, -0.0027395114) * go_1(-1.0, 0.0); - result += mat4(-0.124397, -0.05734234, 0.13583343, -0.11811631, 0.026253833, -0.14396463, -0.21834502, 0.23715091, 0.13889933, -0.06356539, -0.0076341596, -0.09086631, 0.055698063, 0.020052545, 0.09171072, -0.16480936) * go_1(-1.0, 1.0); - result += mat4(0.19439146, 0.17128618, -0.11673137, -0.08775972, 0.07130441, 0.05052484, 0.0848579, -0.15684378, 0.026960561, 0.06485391, -0.07091981, 0.009575264, 0.30569664, 0.078809306, -0.18174082, -0.07217682) * go_1(0.0, -1.0); - result += mat4(-0.13809395, -0.06908299, 0.19040018, 0.09944175, 0.16939381, -0.37728497, -0.37024194, -0.12774213, -0.073519684, -0.027776692, -0.1551939, -0.14699444, 0.20145375, 0.08193369, -0.034844723, -0.006312232) * go_1(0.0, 0.0); - result += mat4(-0.055156156, -0.12880407, 0.084246926, 0.006865473, -0.17330836, 0.3469416, -0.11134178, 0.5999249, 0.16239491, 0.0069242036, -0.06905619, 0.11335964, 0.14645413, -0.22719446, -0.07623858, -0.21904367) * go_1(0.0, 1.0); - result += mat4(0.05759482, -0.011921518, -0.13729765, 0.05304118, -0.17100294, -0.2243963, -0.105225794, -0.06406073, -0.017775586, -0.043849885, 0.0059583266, -0.07364292, 0.11278126, -0.026950873, 0.056825638, 0.3991148) * go_1(1.0, -1.0); - result += mat4(0.16265109, 0.026453028, 0.013443396, 0.09319076, -0.24836281, 0.05491846, -0.017516365, -0.17137475, -0.08806953, -0.15395658, -0.039889313, 0.064111516, 0.04344778, 0.0070924186, -0.033040605, 0.03564861) * go_1(1.0, 0.0); - result += mat4(0.004374147, -0.0033310314, 0.0070889434, 0.022748578, 0.059289854, 0.06067078, 0.11241574, 0.5826851, -0.03176285, -0.016978094, 0.009900873, 0.03038094, -0.09920674, 0.020018527, 0.06611844, -0.0103789205) * go_1(1.0, 1.0); - result += mat4(0.072284274, -0.070255265, 0.06409053, -0.119059056, -0.032461043, 0.082600154, -0.016688043, -0.0044279834, -0.0087889265, 0.044576246, 0.044787094, 0.065958634, -0.14979455, 0.061757486, -0.24551123, -0.037096146) * go_2(-1.0, -1.0); - result += mat4(0.21414876, -0.035975914, -0.10910457, -0.076440185, -0.026116187, -0.19440939, 0.16116165, -0.034323256, 0.07209571, 0.03571497, 0.14614029, 0.16346116, -0.016872317, -0.12024297, -0.0755266, 0.028007843) * go_2(-1.0, 0.0); - result += mat4(-0.1504108, -0.074497886, 0.015983054, -0.019896332, 0.07229879, 0.004704412, 0.053509913, 0.017833585, 0.22588669, 0.085522465, 0.020050932, 0.13462946, 0.007896909, -0.01270269, 0.0360872, -0.057662737) * go_2(-1.0, 1.0); - result += mat4(0.07984104, -0.0127557935, -0.06973756, -0.19502595, 0.045058925, -0.07282435, 0.022881633, -0.03889418, -0.06895071, -0.01696622, -0.06334147, 0.11896589, -0.019639635, -0.12830317, -0.13997689, 0.049553704) * go_2(0.0, -1.0); - result += mat4(0.31706354, -0.30116943, 0.05092584, 0.076729104, -0.14699869, -0.015972838, -0.09121025, 0.17598335, 0.19278876, 0.093195386, -0.018730955, -0.19796541, 0.11778652, -0.096808665, 0.04344181, -0.14896126) * go_2(0.0, 0.0); - result += mat4(0.013848566, -0.020476839, 0.18316923, 0.0049782926, -0.0056098476, -0.07864655, 0.061630413, -0.080569, 0.076633394, -0.06640537, -0.106514364, 0.12165088, -0.058596645, -0.118888184, -0.06803075, 0.13117275) * go_2(0.0, 1.0); - result += mat4(-0.012252778, -0.030876057, -0.24172947, -0.087793685, -0.22224396, -0.25604194, 0.1426168, -0.12783521, 0.05556455, 0.03210483, -0.0316102, -0.023015687, 0.039683223, -0.10394309, 0.098285146, -0.023034312) * go_2(1.0, -1.0); - result += mat4(0.14878303, -0.028762965, 0.058775716, 0.15540268, -0.17421083, 0.131513, 0.044773087, 0.018603755, -0.09350667, -0.043389946, 0.11546245, -0.02759183, -0.07364507, 0.17135505, -0.009826415, 0.11607424) * go_2(1.0, 0.0); - result += mat4(0.067677625, 0.059752934, 0.024382113, 0.04400844, 0.008342977, -0.04577138, 0.020685198, -0.041203383, -0.017433412, -0.07155846, -0.052362144, 0.03014568, 0.038230926, -0.01888155, -0.07849765, -0.08396473) * go_2(1.0, 1.0); - result += mat4(0.053294566, 0.03602729, -0.22378196, 0.01609388, -0.11043058, -0.05442587, -0.19422631, -0.05565426, -0.04800542, 0.13920017, -0.017418116, 0.054497957, 0.13052133, 0.12071769, -0.042326517, -0.0022381644) * go_3(-1.0, -1.0); - result += mat4(0.046847582, -0.04184529, 0.008852511, -0.02015262, 0.10545831, 0.113283984, 0.10696095, -0.11655221, 0.03373848, 0.08363771, -0.02655156, 0.04344747, -0.24057704, 0.13668998, -0.2299754, 0.0073035797) * go_3(-1.0, 0.0); - result += mat4(-0.08459315, -0.020136766, 0.10070683, 0.017577527, -0.0009834991, -0.11033308, 0.08818948, -0.13391396, 0.04542606, 0.1559562, -0.0065471027, 0.07997259, 0.069890484, 0.046721727, 0.013988052, -0.08406746) * go_3(-1.0, 1.0); - result += mat4(-0.21624295, -0.14573877, 0.0105767455, 0.02749639, -0.16385342, -0.02645479, -0.06401607, -0.02483742, 0.03537051, -0.088888384, 0.11516674, 0.0331008, 0.10191646, 0.1400283, -0.07871824, -0.025639221) * go_3(0.0, -1.0); - result += mat4(-0.048230644, 0.15147676, 0.058630764, -0.13755774, 0.041924685, -0.07714329, -0.050841887, -0.08088139, -0.13306704, 0.29612526, -0.20367093, -0.10485751, -0.03138395, -0.119133264, -0.0035399024, -0.14238247) * go_3(0.0, 0.0); - result += mat4(-0.12002435, 0.14720187, -0.122544155, -0.02835125, 0.06765652, -0.0016552208, -0.16833816, -0.04353569, -0.068208195, 0.039453834, 0.11506979, -0.20681196, -0.049302276, 0.101384796, -0.05427253, -0.11548666) * go_3(0.0, 1.0); - result += mat4(-0.0015761533, 0.029485287, -0.013451097, -0.010172752, -0.08024912, -0.075339146, 0.03593965, -0.21028483, -0.016502015, 0.0044189016, 0.099528, 0.0015216048, -0.04843517, -0.22091262, 0.0074388958, -0.07867808) * go_3(1.0, -1.0); - result += mat4(0.061431393, 0.10554286, -0.047737405, -0.033705, 0.013257743, 0.04547564, -0.10596572, 0.022967024, -0.072270565, -0.07260744, 0.02165147, -0.2838162, 0.009972065, -0.18017696, -0.1033283, -0.24442294) * go_3(1.0, 0.0); - result += mat4(-0.076784596, -0.1104058, -0.002270307, 0.064797, -0.0110007385, 0.1348493, 0.057218846, -0.015386331, -0.14072885, 0.04957616, 0.15274633, -0.12291619, -0.03807296, -0.10206284, 0.015337153, -0.0031198338) * go_3(1.0, 1.0); - result += mat4(-0.0073694596, -0.15437892, 0.20896013, 0.05329698, -0.028366623, 0.18420795, -0.037967466, -0.09243155, -0.15928073, -0.027211703, -0.2442852, 0.058322527, 0.07330965, 0.056972265, 0.009306745, 0.06876) * go_4(-1.0, -1.0); - result += mat4(0.019019231, -0.040069077, -0.04364552, -0.03891406, 0.022412365, -0.12990329, 0.064752564, 0.038254093, -0.002828065, 0.020048235, 0.20127815, -0.16228448, 0.0893103, -0.013606921, 0.037670426, -0.14594339) * go_4(-1.0, 0.0); - result += mat4(-0.033307545, -0.061984073, -0.10351916, 0.014344462, 0.12793744, 0.025341533, -0.053259254, 0.018748915, -0.13417724, 0.040742733, -0.16217181, 0.02416155, -0.0012869171, 0.019427545, -0.014160245, -0.015564102) * go_4(-1.0, 1.0); - result += mat4(-0.06312904, -0.041499175, 0.14028127, -0.06057527, -0.0053603924, -0.20937814, -0.23347853, 0.06508113, 0.10326394, 0.14152344, 0.24802643, 0.037230004, -0.0512267, -0.09640014, 0.11307992, 0.062251512) * go_4(0.0, -1.0); - result += mat4(-0.047232777, 0.066493064, 0.067052625, 0.050015416, 0.10413762, 0.01973564, 0.16534911, 0.0024560746, 0.024104346, 0.22038093, -0.029466642, -0.03005048, -0.045328043, -0.026583074, 0.06890472, -0.083850846) * go_4(0.0, 0.0); - result += mat4(-0.015427126, 0.027022658, -0.08238112, 0.15246283, 0.11984305, -0.09998941, 0.014057224, -0.0066921166, -0.20243695, -0.073766015, 0.07869843, -0.11506079, 0.031439606, 0.11598879, 0.06180831, 0.041150138) * go_4(0.0, 1.0); - result += mat4(-0.057878558, 0.024301196, 0.018600943, 0.033078402, -0.0144442795, 0.14395595, -0.1659252, 0.013102369, 0.28647897, 0.3503999, -0.05675152, 0.016681064, 0.086345114, -0.037110195, 0.03652228, -0.0051537044) * go_4(1.0, -1.0); - result += mat4(0.09289769, 0.0016243979, -0.059179984, 0.09049066, -0.14034908, 0.032427154, 0.04401559, -0.014668633, -0.040649414, 0.1347746, -0.17860253, 0.06025895, 0.01153774, -0.022120953, 0.08443816, 0.038053006) * go_4(1.0, 0.0); - result += mat4(0.0002521741, -0.040953588, 0.007686153, -0.08370907, 0.011406269, 0.12528807, -0.046396818, -0.11079658, -0.065456934, 0.15347314, -0.11185346, 0.051363517, 0.097815335, -0.079271026, -0.09015003, -0.06900951) * go_4(1.0, 1.0); - result += mat4(0.08122873, -0.057299573, -0.14423624, -0.008031561, 0.03928219, 0.016986107, 0.12346514, -0.07066072, -0.106617115, -0.13096279, 0.14809057, 0.006015337, -0.0058337026, -0.06331833, -0.07309315, 0.019704184) * go_5(-1.0, -1.0); - result += mat4(0.13088657, -0.031135868, 0.11847334, 0.0071840337, -0.17655367, 0.100214295, -0.17799327, 0.03865343, 0.037620597, 0.13719837, -0.040092412, -0.017328897, 0.1561107, -0.065955736, 0.1717354, -0.1400387) * go_5(-1.0, 0.0); - result += mat4(0.078043096, 0.040985454, 0.07705413, -0.0050318157, -0.027695157, -0.005932721, -0.06398745, 0.057999082, -0.04509152, 0.0026726502, -0.019347308, 0.07512656, 0.04063527, 0.0068896073, 0.10422622, 0.022710409) * go_5(-1.0, 1.0); - result += mat4(0.072719865, -0.13834853, 0.12521699, 0.028246783, 0.18001392, 0.22119613, -0.04822959, -0.18187445, -0.01620022, 0.06518222, 0.08131247, 0.03313942, -0.1719651, -0.09656006, 0.11155731, 0.0012492423) * go_5(0.0, -1.0); - result += mat4(-0.06908649, 0.032564826, -0.221129, -0.18762547, 0.004682886, -0.013427163, -0.09181895, 0.11841623, -0.021600097, 0.11863493, 0.022368155, 0.20736726, -0.1179626, -0.031987645, -0.10487533, 0.0223198) * go_5(0.0, 0.0); - result += mat4(0.16678348, 0.10580399, 0.06924163, 0.02099658, -0.12483056, 0.015410649, -0.07798601, 0.11255007, -0.02503761, -0.05064836, -0.089003615, 0.014460337, -0.08561935, -0.018413413, -0.06588833, 0.035070665) * go_5(0.0, 1.0); - result += mat4(0.027189143, -0.0010071322, 0.09226382, 0.0065353415, 0.061346207, 0.07053531, -0.23844129, 0.108211555, 0.004455096, 0.03178847, 0.035845987, 0.05188758, -0.098674856, -0.035545208, 0.08398878, 0.041259117) * go_5(1.0, -1.0); - result += mat4(-0.06490854, 0.032585036, -0.019875526, -0.027634617, 0.027890025, -0.016592579, 0.14754246, -0.036906276, 0.06924524, 0.1729594, -0.017031275, 0.066240765, -0.18692508, -0.007637408, 0.1483749, -0.14382264) * go_5(1.0, 0.0); - result += mat4(0.0022379193, 0.08517842, 0.03217198, 0.14777406, -0.027304325, -0.08981197, -0.030513924, -0.18656953, 0.18277127, 0.07718136, 0.009839646, -0.10027589, -0.07353519, 0.06717004, 0.003475724, 0.05562032) * go_5(1.0, 1.0); - result += vec4(0.006233754, -0.020468881, -0.023690598, 0.012153336); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.3275295, -0.10256548, 0.07990071, 0.07344491, 0.09675708, 0.38602263, 0.046949226, 0.13522291, -0.06548349, -0.2141768, 0.1442215, 0.07076354, -0.28706893, -0.09510657, -0.33361802, 0.17997606) * g_0; - result += mat4(-0.3902465, -0.37943545, 0.34070873, -0.06515231, 0.3773959, 0.23564592, 0.12646881, 0.34798717, 0.08959239, -0.09920428, -0.05263061, 0.08593119, -0.11256286, 0.03323808, 0.28942552, -0.07692077) * g_1; - result += mat4(0.049924586, -0.046135597, 0.027276453, 0.22358407, -0.17782047, 0.04982942, 0.032420523, 0.14843605, -0.07956747, 0.15165776, 0.024053019, 0.10179323, -0.12331457, 0.17385468, -0.14274296, -0.19595052) * g_2; - result += mat4(0.08946966, 0.21978298, -0.13464683, -0.15201972, 0.07488354, -0.083067894, 0.2545266, -0.00071388343, -0.09486165, 0.17796224, -0.17153804, -0.13825884, -0.005259369, 0.25042844, -0.17753051, -0.23244008) * g_3; - result += mat4(-0.101277605, 0.08002136, 0.052613195, -0.0025906193, -0.05422038, 0.06328493, -0.312865, -0.09892072, -0.05911775, -0.30448103, 0.18317235, -0.06668996, -0.30352446, 0.05390891, -0.2406475, 0.24649437) * g_4; - result += mat4(0.2113683, 0.17140104, -0.30644476, -0.12725203, 0.11536456, -0.19401324, -0.21433993, 0.051369216, -0.15230572, 0.42077595, 0.2791827, 0.0865297, 0.13286951, 0.01140499, 0.020872416, -0.034236103) * g_5; - result += mat4(0.27759182, -0.1335802, -0.08618739, 0.16586313, 0.15327361, -0.33924958, -0.21265858, -0.20737244, -0.009371618, 0.11073709, 0.4726342, -0.0316658, 0.05112286, -0.032339208, -0.17583671, -0.25219595) * g_6; - result += mat4(-0.026518747, 0.12324775, -0.31155992, 0.21424666, -0.16678652, 0.06348117, 0.11070292, -0.11495743, -0.10694724, 0.12424144, -0.0021484715, 0.06512352, 0.15463142, -0.11476437, 0.2896172, 0.4012892) * g_7; - result += mat4(-0.001160076, -0.14888513, 0.14301488, -0.04740031, 0.029436165, -0.23340538, -0.15105838, 0.16811034, -0.06946912, 0.020841839, 0.24280222, 0.021100134, 0.07717933, -0.22419651, -0.006414409, 0.11330106) * g_8; - result += mat4(0.11547635, -0.25639054, -0.018852018, 0.24935618, 0.14466232, -0.108216226, -0.09197662, -0.20300743, 0.20194042, 0.3676584, -0.14426023, 0.33430305, -0.069588944, -0.05887257, 0.194153, -0.25895235) * g_9; - result += mat4(0.007937854, 0.10338447, -0.08498367, -0.17928837, 0.27194974, 0.0847048, 0.18792148, -0.14510484, 0.12530808, 0.10366565, -0.13497144, 0.21842767, -0.09612641, 0.1777584, 0.07427717, 0.1062342) * g_10; - result += mat4(-0.07232676, 0.01870754, 0.17989273, -0.12123426, 0.08253994, -0.13098013, -0.17457142, 0.2662375, 0.16095823, -0.04657838, -0.19479601, 0.037022784, -0.08683312, 0.25411013, 0.041371927, 0.2900686) * g_11; - result += mat4(-0.285272, -0.3171985, -0.0049645463, 0.14884493, 0.09718065, -0.31102726, -0.24681929, 0.03831946, 0.12201028, -0.101639956, -0.10093202, -0.053675085, 0.02908511, 0.091725975, -0.036547046, 0.02928812) * g_12; - result += mat4(0.18724014, -0.056803793, 0.15476856, -0.02362879, 0.052199673, 0.06359232, 0.4151323, -0.01882742, -0.019109733, -0.07776646, -0.3151209, 0.053818975, 0.046562992, -0.17907584, 0.13174902, 0.14436677) * g_13; - result += mat4(-0.21648815, 0.022653956, -0.55097306, -0.008152276, 0.12439029, -0.04533779, -0.12331872, 0.078978874, 0.052233644, -0.1477579, -0.18353766, 0.40710232, -0.23357393, -0.39480248, -0.018859219, -0.07072299) * g_14; - result += mat4(0.043721616, 0.14363645, 0.024111703, 0.014027298, 0.012885652, 0.17223589, 0.047403537, -0.09311825, -0.24859756, -0.1791887, -0.064629294, -0.26104984, 0.12781571, -0.011062096, 0.1922415, 0.16987853) * g_15; - result += vec4(0.05144489, 0.033752657, 0.008907633, -0.03164656); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf1 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.26660392, 0.07363331, -0.0630955, 0.04707774, 0.2190672, -0.012001462, -0.5999911, 0.28147182, 0.13756925, -0.124700874, -0.02564129, 0.22770438, 0.101030536, 0.098255195, -0.21563007, -0.075010024) * g_0; - result += mat4(-0.251709, 0.20354952, -0.32704532, 0.018580899, -0.10529829, -0.15543194, -0.18096688, -0.27817816, 0.34051725, 0.02303076, -0.006826852, -0.09399886, -0.038892258, 0.022739887, 0.058521356, 0.13895498) * g_1; - result += mat4(0.05894668, 0.100568, -0.21035372, 0.31440088, 0.037351474, -0.022318719, -0.00996168, 0.010143051, -0.33800384, -0.023619255, 0.23860018, -0.24643785, 0.096730575, -0.10366994, 0.050961945, -0.219199) * g_2; - result += mat4(0.21206303, -0.17116684, 0.014926057, -0.2555803, -0.23777173, -0.3644426, -0.14371839, -0.21673483, 0.39334375, -0.1263852, -0.23373136, -0.43798128, -0.1707486, -0.009590617, 0.0023898776, -0.23449537) * g_3; - result += mat4(-0.06620709, -0.033145174, 0.27508232, 0.08487005, 0.36242872, -0.30349565, -0.034109794, 0.3935021, 0.046761807, -0.106829435, -0.048241124, 0.011187411, -0.20284426, -0.08020177, 0.011624174, 0.2168835) * g_4; - result += mat4(-0.12986803, 0.09660072, -0.0859288, 0.23373657, -0.35700363, 0.021483889, 0.13391288, 0.26249766, 0.073043846, 0.15460604, -0.17885107, -0.03155575, 0.21122873, 0.10214664, 0.008124733, -0.13256365) * g_5; - result += mat4(-0.20986424, 0.01661353, -0.32582346, 0.021188684, -0.11207729, -0.005879808, 0.14655554, 0.20526361, 0.17426926, -0.21366295, -0.08453759, 0.21751851, -0.22087021, 0.18081911, 0.034678783, -0.028321259) * g_6; - result += mat4(0.06180443, -0.0133624105, -0.09466958, -0.11492345, 0.037676495, 0.17866406, -0.2652301, -0.27896136, 0.066703305, 0.0914678, 0.060967688, -0.1129105, 0.34927168, -0.07907402, 0.250401, 0.18991004) * g_7; - result += mat4(0.19685721, -0.004515772, -0.24063739, 0.029372582, 0.11698867, 0.07514613, 0.09423268, 0.1620886, 0.14784159, 0.21263896, 0.2852977, -0.12326755, 0.07344623, 0.050873935, -0.23356345, -0.5316184) * g_8; - result += mat4(-0.13699524, -0.26430392, -0.06886077, 0.03557516, -0.06480295, 0.08807464, -0.17347333, 0.06482862, -0.13731833, -0.2848614, 0.06923784, 0.25189507, -0.12466488, -0.052593954, 0.00086845015, 0.10056825) * g_9; - result += mat4(0.18202075, -0.03969697, 0.11266586, -0.31405628, -0.18683487, -0.16736764, -0.2904854, -0.03473291, 0.0489973, 0.37474206, 0.2694234, -0.029300861, 0.02498133, 0.3028819, 0.1546703, -0.09094391) * g_10; - result += mat4(0.022329945, 0.16241878, -0.19467553, -0.06949654, 0.34127444, 0.15979202, 0.018057512, 0.24089065, -0.102250695, 0.01327663, 0.21074775, 0.10166909, 0.3671337, 0.25721171, -0.25048146, 0.03895536) * g_11; - result += mat4(0.05818574, -0.0058748005, 0.11750601, 0.19012532, 0.3506463, 0.05318807, -0.14448579, -0.09219455, -0.13858557, -0.024810392, 0.057599254, 0.012339387, 0.1620521, -0.18280268, 0.040701784, -0.17565976) * g_12; - result += mat4(0.39327988, -0.1916084, 0.056305442, -0.288639, -0.034966636, 0.29527235, -0.32901463, -0.11967507, -0.34051013, 0.27244, -0.0063241655, 0.4183678, -0.38721135, -0.13528046, 0.16835152, 0.17126207) * g_13; - result += mat4(0.014969379, 0.1980705, 0.08781139, 0.144981, 0.3095253, -0.17065018, 0.23785667, 0.26326, 0.009895111, 0.019108804, 0.2241572, 0.048993796, 0.115338214, 0.13549735, -0.21664904, -0.044739243) * g_14; - result += mat4(0.24587603, -0.03127825, -0.5519671, -0.1913501, -0.041294243, 0.17807598, -0.24955471, -0.2830993, -0.032468125, 0.051955972, -0.04685181, -0.29292116, -0.037471697, -0.09133097, 0.06842207, 0.4217657) * g_15; - result += vec4(0.03585649, -0.0060541225, 0.04059685, 0.028249348); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf2 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.022616543, -0.07495665, 0.20578638, -0.24614015, 0.20188546, 0.07821132, -0.55689156, 0.078048594, 0.16035397, -0.18943994, -0.109294415, 0.11644118, -0.25667566, -0.17004293, -0.34455723, -0.08808675) * g_0; - result += mat4(0.28649247, 0.056165792, -0.49363118, -0.1529661, 0.07703691, 0.07966694, 0.58834124, 0.20894507, 0.46345595, 0.19134133, 0.12830314, -0.06366993, 0.1250579, 0.18356793, -0.1408607, -0.16252096) * g_1; - result += mat4(-0.059020188, -0.21338785, 0.017160866, -0.06280688, -0.12539028, 0.032399278, 0.046102162, -0.012033963, 0.19066435, -0.21461637, 0.07392558, 0.022834225, 0.18924391, -0.027622582, -0.24777018, -0.090185896) * g_2; - result += mat4(-0.32912537, -0.12669958, 0.092723176, 0.09256268, 0.013792983, -0.13308536, 0.16042812, -0.2033247, -0.06560468, -0.019620765, 0.08362642, 0.055273537, 0.12208806, -0.20194231, 0.084021725, 0.38380083) * g_3; - result += mat4(-0.1571086, 0.03144169, -0.2251698, -0.06480453, 0.001744102, 0.0010039994, -0.027967803, -0.11266107, -0.40678036, -0.07481646, -0.24311328, 0.042732738, 0.018475516, -0.113912515, 0.03153217, -0.034913916) * g_4; - result += mat4(0.014403644, -0.020557571, 0.38122526, 0.03807282, 0.28673846, 0.13712813, -0.042157043, -0.12968376, 0.12554988, -0.14628744, -0.00392324, 0.014086664, 0.079255715, 0.09928858, -0.11087327, 0.0699405) * g_5; - result += mat4(-0.35458207, 0.029392743, -0.31504998, 0.13302153, 0.17734766, -0.10416982, -0.0036142413, -0.12197593, -0.17005852, 0.1727392, 0.11929178, 0.16293883, -0.25592133, 0.08175675, 0.2355234, 0.022874065) * g_6; - result += mat4(0.21167323, -0.26767167, 0.08588045, 0.058573887, -0.01292999, 0.22167805, 0.11722694, 0.5700164, 0.044330835, -0.29406846, -0.11540253, -0.21386458, -0.08779367, -0.12368158, 0.0667155, 0.32094228) * g_7; - result += mat4(-0.08529116, 0.09712954, 0.09333625, 0.06606905, -0.1782532, 0.051486395, -0.10986318, -0.20011626, -0.023568239, 0.20281026, 0.03716514, 0.1831125, 0.22586478, -0.058135565, 0.0030777368, 0.0015794474) * g_8; - result += mat4(-0.007098127, -0.11688584, 0.0133981705, 0.17757058, 0.02897332, -0.18530834, -0.0032577885, -0.08089542, -0.0020816326, -0.3233896, -0.13044983, -0.04108618, 0.0110450545, -0.01834794, -0.17684971, -0.06611739) * g_9; - result += mat4(0.2604118, 0.3291361, 0.07571542, 0.32165763, -0.06534106, -0.10623649, 0.18254459, 0.063651256, -0.021245563, 0.06759048, -0.39714596, -0.12235311, -0.059783626, 0.10078259, 0.26484212, -0.13679399) * g_10; - result += mat4(0.13124742, 0.11206922, -0.0684187, -0.20119804, -0.09549651, 0.0703663, -0.19196616, -0.14344019, 0.029426184, -0.057151172, 0.19186652, 0.24676153, 0.35762733, 0.10300911, 0.08581454, -0.015290781) * g_11; - result += mat4(0.06758918, 0.37075385, -0.2334613, 0.25336525, -0.026440224, 0.024827614, 0.07352414, -0.1794877, -0.018798998, 0.10824414, 0.01850616, 0.03725088, -0.079103224, -0.056518886, -0.01137129, -0.00012351258) * g_12; - result += mat4(0.09624113, -0.18910943, 0.30205646, 0.43680936, 0.21888132, -0.22264229, -0.15398757, 0.29324576, 0.006859953, -0.077507176, -0.090208314, -0.20981432, -0.21420066, 0.06341929, -0.07640488, -0.031766582) * g_13; - result += mat4(-0.025704857, 0.09863719, 0.04335183, -0.06731708, 0.019300275, -0.39722142, -0.13667129, 0.15554759, -0.3567945, -0.008414992, -0.05418159, -0.2149799, -0.17905809, 0.0051317243, 0.037312187, -0.05859764) * g_14; - result += mat4(0.25617346, 0.009854824, -0.019909287, 0.06340188, -0.10071771, 0.10874236, 0.38549116, 0.098355606, 0.2930539, 0.11536922, -0.14541107, 0.035229255, -0.3127395, 0.27851996, -0.0048802355, 0.02862268) * g_15; - result += vec4(-0.0006504641, -0.014806257, -0.015985647, 0.021676043); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!SAVE conv2d_14_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.04766601, -0.08873054, 0.005499363, 0.22826882, -0.037064873, -0.033036098, -0.032993972, 0.019684056, -0.112056926, 0.24149527, 0.035685547, 0.17504431, -0.0183106, 0.0045852084, 0.026032817, 0.15994325) * go_0(-1.0, -1.0); - result += mat4(0.08036498, -0.013548163, 0.20777182, 0.06606712, -0.08659822, -0.00868782, -0.011019898, 0.2910518, -0.09389351, 0.33584946, 0.108130634, -0.10339422, -0.05983827, 1.1733741e-05, 0.19136195, -0.030451618) * go_0(-1.0, 0.0); - result += mat4(-0.06300944, -0.12232252, 0.03439557, 0.023495283, 0.030675469, -0.15615271, 0.009222266, -0.15872008, -0.11221947, 0.09490069, 0.019891763, 0.045059964, -0.041904196, -0.017507626, 0.29639375, -0.117661364) * go_0(-1.0, 1.0); - result += mat4(0.016437378, 0.007538904, -0.026839709, -0.16624857, 0.06819369, -0.04897121, -0.18808518, 0.086621605, 0.14180544, 0.17955917, -0.09790851, 0.039487675, 0.22766054, 0.09032378, -0.075107984, 0.028585276) * go_0(0.0, -1.0); - result += mat4(0.05246935, 0.050048, -0.05351975, -0.107505515, 0.108736835, -0.27448198, 0.11252558, 0.27796018, 0.04185788, 0.034398172, -0.053029325, 0.07073433, -0.025713935, -0.09570281, -0.07521802, -0.08111075) * go_0(0.0, 0.0); - result += mat4(0.031577975, 0.019226722, 0.04809843, -0.19481082, -0.06222471, -0.08793356, -0.0105632, -0.0022112587, -0.16979192, -0.12659062, -0.056841433, 0.16133933, -0.012780732, -0.022318223, 0.15101114, -0.0151837105) * go_0(0.0, 1.0); - result += mat4(0.044661913, -0.09493484, -0.16244547, 0.099892184, -0.09966541, -0.1371541, -0.1199883, -0.006932647, 0.011555785, 0.062161997, 0.011957924, -0.0046018534, -0.07246587, 0.050895315, 0.08764646, 0.03878322) * go_0(1.0, -1.0); - result += mat4(0.0050623664, 0.04194452, -0.06284778, 0.2801689, -0.0048141177, -0.014546401, 0.009261513, 0.10671803, -0.1831871, -0.16314691, 0.14374094, 0.14304964, -0.019663982, -0.0238642, 0.1355787, -0.07863844) * go_0(1.0, 0.0); - result += mat4(0.068439595, 0.10601399, 0.04445464, -0.082589164, -0.12076639, -0.19892736, 0.010703126, -0.049566027, 0.037566118, 0.0014690928, 0.021312788, 0.16887307, 0.07284222, -0.1301409, 0.066457376, -0.07559795) * go_0(1.0, 1.0); - result += mat4(-0.016828878, 0.002777484, -0.01192022, -0.15069696, 0.20221114, -0.3061287, 0.13297656, -0.056803413, -0.066278435, 0.0035245512, -0.17930144, -0.001265058, 0.013300978, -0.048236936, 0.028006276, -0.08026672) * go_1(-1.0, -1.0); - result += mat4(0.18392089, 0.15686612, -0.13585585, -0.15458605, 0.019226758, -0.33975378, 0.23010728, 0.23337337, -0.23821786, 0.29103196, -0.021852285, 0.14304784, 0.011693901, -0.054488327, -0.01315806, 0.007436759) * go_1(-1.0, 0.0); - result += mat4(-0.011244075, 0.10416007, -0.0041315504, -0.11997069, 0.050595663, 0.091377564, 0.22195914, -0.12773553, -0.07143762, 0.0143060265, 0.17273602, -0.10601611, -0.009763753, -0.0847433, 0.12186509, 0.10615673) * go_1(-1.0, 1.0); - result += mat4(0.061368015, -0.068496354, -0.2407434, -0.26803467, -0.058811773, -0.010204624, -0.07548678, 0.17162569, -0.09558153, -0.071033135, -0.06556115, 0.1221955, -0.1347493, 0.024266958, 0.025815917, -0.100408986) * go_1(0.0, -1.0); - result += mat4(-0.1888506, -0.030419666, 0.16793051, 0.14324215, 0.10950739, 0.1343419, -0.2248379, -0.14396293, -0.20620285, 0.17800951, -0.16497955, -0.19341442, 0.2942622, 0.16140452, -0.040181722, 0.017387921) * go_1(0.0, 0.0); - result += mat4(0.009891477, 0.011328579, 0.00594306, -0.0028590804, 0.1154466, 0.005604213, 0.07040629, -0.116503485, -0.14134626, -0.036831252, 0.114188544, -0.04877332, -0.018549152, -0.10824534, 0.23002262, -0.09607142) * go_1(0.0, 1.0); - result += mat4(-0.041259766, -0.13294907, -0.001241502, 0.0052782656, 0.17177297, 0.045009315, 0.016023083, -0.17428452, -0.11339484, -0.0149995135, 0.07818529, -0.07482733, 0.052924678, -0.09830524, 0.028107356, -0.0506559) * go_1(1.0, -1.0); - result += mat4(0.16750227, -0.03543132, -0.11424185, -0.016877567, 0.07610275, -0.038692836, 0.11466223, -0.043120407, -0.017285721, -0.022713793, -0.040554002, 0.12117221, -0.12070236, -0.1355447, 0.18470849, -0.08757451) * go_1(1.0, 0.0); - result += mat4(0.06588489, -0.06895313, -0.10074674, 0.052769467, -0.052452452, 0.021969646, 0.019364877, 0.042615533, -0.18192504, -0.019475296, -0.15541336, -0.024499625, 0.1061428, 0.08680538, -0.076889925, 0.060964942) * go_1(1.0, 1.0); - result += mat4(0.11723939, -0.2145895, -0.0018003144, 0.008435592, 0.20840652, -0.06223065, -0.07482898, 0.13037735, -0.016607814, -0.02059057, -0.076556735, -0.14825165, 0.029702501, 0.1584012, 0.12974715, -0.028934866) * go_2(-1.0, -1.0); - result += mat4(-0.13804847, -0.07549884, 0.14182271, 0.25749323, 0.0720415, 0.0683624, -0.11029505, 0.07563778, -0.10603422, -0.008179157, -0.27246183, 0.098859124, 0.2341703, 0.02649086, -0.0476733, -0.004040013) * go_2(-1.0, 0.0); - result += mat4(-0.014769323, -0.14823915, 0.100703806, 0.046229646, 0.07188005, 0.13177352, -0.18380448, -0.12662199, 0.09121963, 0.086607546, -0.1713038, 0.20208809, 0.07673659, 0.06964691, -0.011840256, -0.17650494) * go_2(-1.0, 1.0); - result += mat4(0.043285407, -0.19177067, -0.013394971, -0.039506245, -0.020055663, -0.16365004, -0.126919, 0.11829788, -0.09755223, -0.08120004, 0.02925502, 0.07994708, 0.14334531, -0.051972084, -0.10803022, -0.21189956) * go_2(0.0, -1.0); - result += mat4(-0.16990487, 0.08215979, 0.15654644, -0.028398765, 0.038672406, -0.014357952, -0.058319125, 0.17800058, -0.04136424, -0.13240542, -0.1967293, 0.053846672, 0.13392007, -0.054036554, -0.079700164, 0.016189305) * go_2(0.0, 0.0); - result += mat4(-0.07202835, -0.09779492, 0.035847716, -0.1027833, 0.031227818, 0.012867398, -0.12228696, 0.08555991, 0.059939012, -0.0897783, 0.083725266, 0.04854981, 0.13604839, 0.06550103, -0.12690842, 0.060452852) * go_2(0.0, 1.0); - result += mat4(0.06340156, 0.031024719, -0.22086458, 0.034828365, 0.07871151, -0.06558423, 0.0109889265, -0.013587479, 0.014823924, 0.055887852, 0.026508275, 0.18315418, 0.14366621, 0.15082708, 0.014611827, 0.03689167) * go_2(1.0, -1.0); - result += mat4(-0.017257426, -0.07688253, -0.22220261, -0.038077347, 0.19999744, -0.117364876, -0.23549953, 0.06990646, -0.10284061, 0.019038511, -0.041728914, 0.047584135, 0.25996932, 0.10438033, -0.04583734, -0.099349774) * go_2(1.0, 0.0); - result += mat4(0.107289255, -0.011826194, 0.18488838, -0.11182476, 0.25090897, -0.04807566, -0.13324001, 0.031594798, 0.08850055, -0.033576958, 0.022218898, -0.12367226, 0.22097383, 0.14337142, 0.11542364, 0.06884657) * go_2(1.0, 1.0); - result += mat4(0.09653818, -0.25129798, -0.03969683, -0.03618899, -0.00659088, 0.070773214, -0.13164142, 0.2120833, 0.040861044, -0.16202575, 0.051817715, -0.0459317, 0.03780374, -0.008494332, 0.1583021, 0.021209331) * go_3(-1.0, -1.0); - result += mat4(0.02460906, -0.020823052, -0.09839472, 0.10060548, 0.046076972, -0.16150779, 0.14439686, 0.016492547, 0.0025654845, 0.072366305, 0.014925509, 0.18787178, 0.14894952, 0.14046526, -0.003845746, 0.23632208) * go_3(-1.0, 0.0); - result += mat4(0.078982495, 0.0065785116, -0.1737421, -0.07332543, -0.09551695, -0.002053524, 0.16844669, 0.03345903, 0.06719397, 0.10376351, 0.13497436, 0.071619935, 0.23288521, -0.11742427, -0.14318109, 0.089601494) * go_3(-1.0, 1.0); - result += mat4(0.011915186, -0.06130206, -0.021597957, -0.04159016, -0.18702744, -0.18567209, -0.04453462, 0.4449929, 0.07912663, 0.10108847, 0.08675925, -0.19482899, -0.041210745, 0.09773281, 0.10437732, -0.085520625) * go_3(0.0, -1.0); - result += mat4(0.03445699, -0.06624237, -0.28586054, -0.12831378, 0.065471284, -0.11925356, -0.156869, -0.102216974, -0.14781037, 0.052781656, -0.06528647, -0.275892, -0.22086778, -0.016050411, 0.0036724263, 0.021571217) * go_3(0.0, 0.0); - result += mat4(0.017263295, 0.10817724, -0.21819082, 0.007319149, 0.27413887, -0.080145285, 0.044494774, 0.06599436, 0.11954389, -0.03018483, -0.09192682, -0.031004976, -0.09016021, 0.045329135, 0.15545401, -0.0209672) * go_3(0.0, 1.0); - result += mat4(0.13881911, -0.07097578, 0.22490872, -0.15384829, -0.2904959, -0.006828653, -0.12404816, 0.13234936, 0.0032617098, -0.023515865, -0.016579526, -0.21592613, 0.07729235, -0.010805467, 0.030352516, -0.10903927) * go_3(1.0, -1.0); - result += mat4(0.1393222, 0.05848132, -0.041017666, 0.029049246, -0.1360833, 0.052250512, -0.107206866, -0.30497506, 0.11543321, 0.11237877, -0.0036355858, 0.15896477, 0.1599398, -0.09694541, 0.15233493, 0.18268575) * go_3(1.0, 0.0); - result += mat4(-0.12597929, -0.13328442, 0.017843464, -0.11486026, -0.04771538, 0.10162601, 0.017524868, -0.01904278, 0.0478602, -0.039450396, 0.13683593, -0.023819651, 0.13506551, 0.022513816, 0.14501822, 0.07545253) * go_3(1.0, 1.0); - result += mat4(-0.03847361, -0.08527842, 0.00038718345, -0.09956007, -0.0041102497, -0.18443857, -0.07230493, -0.2134338, -0.10056842, 0.017790612, 0.08625248, 0.09147499, 0.10776074, 0.21292494, -0.18136409, -0.014830358) * go_4(-1.0, -1.0); - result += mat4(-0.17102414, -0.0024341894, -0.056161452, -0.06670374, -0.0075222473, 0.015801411, 0.09520844, 0.01996027, 0.088864975, 0.15432504, -0.105320275, 0.036605533, 0.09898843, 0.0038657803, 0.060707986, -0.16269276) * go_4(-1.0, 0.0); - result += mat4(-0.026792359, -0.14464599, -0.023440983, -0.06459932, 0.18063387, 0.15380166, -0.13795565, 0.21833411, -0.029010907, -0.007345312, 0.031291094, 0.01690086, -0.17666414, -0.14363834, -0.17275512, 0.043333065) * go_4(-1.0, 1.0); - result += mat4(-0.09328905, 0.041910104, -0.18096697, -0.03831273, -0.022100518, -0.0147181675, -0.16839693, 0.088716485, 0.14491183, 0.07721941, 0.07122075, -0.3020263, -0.14014488, -0.11122849, 0.0029383225, 0.25735486) * go_4(0.0, -1.0); - result += mat4(0.11335208, 0.37366053, -0.20657742, -0.25275037, 0.12133818, -0.019680776, -0.15982674, 0.33611122, 0.01259284, -0.0142183425, -0.0041593798, 0.010921974, -0.20619138, -0.13302296, -0.14340466, 0.0055886707) * go_4(0.0, 0.0); - result += mat4(-0.07919513, 0.012061687, -0.298152, -0.004620386, -0.1531154, 0.14463273, -0.13774839, 0.029701512, -0.21159661, 0.037964143, 0.05466773, 0.03748708, -0.02202345, -0.012744385, -0.10015394, -0.023672013) * go_4(0.0, 1.0); - result += mat4(-0.14096507, -0.042473, -0.024793932, 0.025568493, 0.0700658, 0.08745356, -0.029872168, -0.18517868, -0.056071687, 0.04013143, 0.10869837, 0.10893471, 0.0033276696, -0.10798153, 0.04573486, 0.0061734277) * go_4(1.0, -1.0); - result += mat4(-0.11785469, -0.2854417, 0.018388765, 0.10795855, 0.100134075, -0.12041879, 0.09067664, -0.0035714637, 0.011658537, 0.1379053, -0.022617785, -0.09798895, 0.34457052, -0.018366879, -0.24284951, 0.013506641) * go_4(1.0, 0.0); - result += mat4(0.07845464, -0.03766563, -0.1182761, 0.04412776, -0.008595863, 0.019749813, 0.09304697, -0.042109177, 0.1247758, -0.109385945, 0.13541576, 0.16905643, -0.012957017, -0.007150289, -0.10825701, 0.07943399) * go_4(1.0, 1.0); - result += mat4(-0.08126166, 0.15170671, -0.004939582, -0.10289114, 0.017867751, -0.100071855, 0.25619298, 0.18309209, -0.09502137, 0.13687243, 0.07438062, 0.08190128, 0.079467945, 0.107227296, -0.07428106, 0.056382198) * go_5(-1.0, -1.0); - result += mat4(0.085245706, 0.2357052, -0.15751803, -0.14865, 0.12164014, -0.14231263, -0.10932445, 0.15149753, -0.06497328, 0.06694892, 0.049143884, -0.1180238, 0.21069627, 0.22101188, -0.12206489, 0.07849787) * go_5(-1.0, 0.0); - result += mat4(0.10526828, -0.035852417, 0.0066835866, -0.17548645, -0.16212592, -0.039143793, -0.053376257, 0.16589306, -0.15236285, -0.056690183, -0.1458453, -0.20194575, -0.007237206, 0.018034274, 0.04824517, -0.14204621) * go_5(-1.0, 1.0); - result += mat4(-0.0678506, -0.019114466, 0.12914672, 0.033278447, 0.101673074, 0.10951848, 0.00012524707, -0.115921356, 0.021759894, -0.035716362, 0.20007259, 0.1422771, -0.15901591, -0.18770291, -0.22726387, -0.0019628252) * go_5(0.0, -1.0); - result += mat4(0.014085712, -0.17928201, -0.12136582, 0.009885707, -0.05877978, 0.11780122, -0.09344829, 0.14983065, 0.2191541, 0.060061395, 0.07628015, -0.36067483, 0.077276915, 0.47432995, -0.21489616, 0.16119705) * go_5(0.0, 0.0); - result += mat4(0.07488267, -0.0999506, 0.026389783, -0.21717168, -0.14098126, 0.051710725, 0.18490504, -0.08941214, 0.04921883, -0.0012177597, 0.029187731, -0.0429975, -0.12222067, 0.08847176, 0.3327396, -0.026944833) * go_5(0.0, 1.0); - result += mat4(0.00028884778, -0.013859263, 0.2808896, 0.16545849, 0.10188283, -0.13831803, 0.113955274, 0.20700271, -0.07725844, 0.09178268, -0.053867236, -0.12543485, -0.048882946, 0.0046061794, -0.056229606, -0.0048151347) * go_5(1.0, -1.0); - result += mat4(-0.14167137, 0.10935082, -0.06484666, 0.07982278, 0.114622496, -0.012768097, 0.28098294, 0.12653382, -0.1406888, -0.3107042, 0.34810522, 0.007478866, -0.13886817, 0.04838542, 0.16073346, -0.05460154) * go_5(1.0, 0.0); - result += mat4(0.078012384, 0.05153078, -0.03984091, 0.07502617, 0.2250142, 0.01283247, 0.09228706, -0.11994963, -0.1434126, 0.0666379, -0.08675746, 0.05954015, -0.13286713, 0.12937288, 0.0836943, -0.3306262) * go_5(1.0, 1.0); - result += vec4(0.013505748, -0.026258357, 0.035583273, 0.023548715); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.01974661, 0.13463889, -0.032377064, -0.12942983, -0.07035312, -0.04740684, 0.17304988, -0.0060102325, 0.05177771, 0.030222937, 0.16742262, -0.0331702, 0.016792418, -0.10915051, -0.009109883, 0.031968396) * go_0(-1.0, -1.0); - result += mat4(-0.04906284, 0.02046221, -0.095003314, -0.0017347421, 0.06808332, 0.07325557, 0.10983373, -0.077004224, -0.14797884, 0.087792076, 0.13234885, 0.11384532, -0.061574373, 0.1748893, -0.06855464, -0.106305666) * go_0(-1.0, 0.0); - result += mat4(0.09366748, 0.15360557, 0.03386721, 0.022432387, -0.035507742, 0.058167383, -0.022114204, 0.059653495, -0.027137665, -0.022897016, -0.045397546, -0.06155947, -0.01779955, -0.10553566, -0.039432574, -0.14231597) * go_0(-1.0, 1.0); - result += mat4(0.0067032822, -0.044948928, 0.15513134, 0.03965566, -0.07467635, -0.010239124, 0.1490799, 0.027383782, -0.03255843, 0.05527709, -0.18965454, 0.18973546, -0.2066965, -0.1454051, -0.02956572, -0.034264684) * go_0(0.0, -1.0); - result += mat4(-0.10262777, -0.25717124, 0.10909761, -0.15105042, -0.14420848, -0.018479686, 0.07053073, -0.22807217, 0.047470856, 0.27830145, -0.06971727, 0.32465947, 0.18509126, 0.010244453, -0.23081137, -0.13872874) * go_0(0.0, 0.0); - result += mat4(0.07352554, 0.15414375, 0.026640302, 0.09010934, -0.08053207, -0.04895252, 0.20014875, 0.103626, -0.1837222, -0.096419245, 0.07763676, -0.03354838, 0.15535127, -0.10340201, -0.0670255, -0.008524891) * go_0(0.0, 1.0); - result += mat4(0.0013236472, -0.0015120044, 0.102915466, -0.07612639, -0.027104877, 0.11849191, 0.043125313, -0.08598161, 0.04176867, -0.03480718, 0.06037664, 0.12457145, -0.10702688, -0.035892915, -0.05398342, -0.07336006) * go_0(1.0, -1.0); - result += mat4(0.06530473, -0.02185423, -0.070219964, 0.11049847, -0.20394123, -0.084389165, 0.057741005, 0.09288537, -0.07847127, 0.06157294, 0.26632914, -0.07704609, -0.15882635, 0.09517293, -0.10132333, -0.09305751) * go_0(1.0, 0.0); - result += mat4(-0.09259305, 0.06711769, 0.10796395, -0.11040126, 0.07200377, 0.22789676, 0.04203332, 0.11490248, -0.05046298, -0.010417497, 0.1296588, 0.090716064, 0.030788, -0.042729113, -0.10823345, -0.061917335) * go_0(1.0, 1.0); - result += mat4(-0.09855132, -0.028915633, 0.09831793, 0.12546849, 0.095861055, -0.06611626, -0.030939087, -0.03891661, -0.06335413, -0.03665561, 0.17558332, 0.076099835, 0.039828114, -0.011720267, -0.07243228, -0.005812755) * go_1(-1.0, -1.0); - result += mat4(0.00210205, -0.13026494, 0.120502435, 0.01940482, -0.046163477, -0.20725924, 0.10305527, 0.16987471, -0.23866819, -0.13675144, 0.082660206, -0.12537158, 0.024251103, -0.058249082, 0.013763475, -0.025567345) * go_1(-1.0, 0.0); - result += mat4(0.08527451, -0.112527184, 0.05891383, -0.044004854, -0.06627755, 0.077402815, 0.029819036, 0.07831841, 0.002144731, 0.2760268, -0.026249453, -0.07177818, 0.053188358, -0.066152886, -0.03306282, -0.02344971) * go_1(-1.0, 1.0); - result += mat4(-0.073660895, 0.12683845, -0.05837492, 0.3071388, -0.025734447, -0.06982506, -0.1726865, -0.034813, -0.1287566, -0.061008573, 0.11819614, -0.003467171, 0.12515382, 0.04733461, -0.14773165, 0.07471877) * go_1(0.0, -1.0); - result += mat4(0.015871294, 0.0837539, -0.15651381, 0.07063813, -0.07716156, 0.035273466, -0.029787896, 0.15123317, -0.2688466, 0.110887185, -0.0784071, -0.07574334, 0.03863136, 0.17957152, -0.17448568, 0.11216344) * go_1(0.0, 0.0); - result += mat4(-0.060281992, 0.06313705, -0.027059803, 0.10745011, -0.0152727775, -0.003353525, -0.041565493, 0.09119474, -0.005804107, 0.11021246, -0.1577537, -0.0018718878, -0.122774966, -0.13139196, 0.028809864, -0.1330925) * go_1(0.0, 1.0); - result += mat4(0.004284616, 0.0034241148, -0.023164004, -0.09859944, 0.11105899, -0.021453412, 0.06537672, 0.10460036, -0.10781213, -0.0149598, 0.10907503, -0.021983244, -0.024797339, 0.083502285, -0.07283505, 0.060828786) * go_1(1.0, -1.0); - result += mat4(0.01290564, -0.14858903, -0.011728468, -0.060211197, 0.04555673, 0.0853199, 0.11404478, -0.020519711, -0.1344976, 0.015829163, 0.06980332, 0.13161848, -0.10837837, -0.1079275, -0.10176177, -0.15850884) * go_1(1.0, 0.0); - result += mat4(-0.046883326, -0.076075144, -0.0050401827, -0.047621172, 0.15543714, -0.18412203, 0.01854179, -0.1551145, -0.24274163, 0.06807993, 0.10730356, 0.13201697, 0.08142087, 0.025200108, -0.036822025, 0.20036767) * go_1(1.0, 1.0); - result += mat4(0.11026604, 0.018152166, -0.025418008, -0.0468563, -0.08344998, -0.114141494, -0.06253656, 0.012532501, 0.12793986, -0.07906286, -0.015067893, -0.011499546, -0.019438036, 0.0039282353, 0.044770103, -0.062717184) * go_2(-1.0, -1.0); - result += mat4(-0.082061626, 0.020670045, -0.21074262, -0.048005912, 0.025561642, 0.10173138, -0.010833299, 0.03905062, -0.09411074, -0.056812514, 0.10423472, 0.05727481, 0.06554826, -0.10857837, 0.06307158, 0.057512432) * go_2(-1.0, 0.0); - result += mat4(0.051357307, 0.073702335, -0.15254524, -0.014687533, -0.02874586, 0.015064415, 0.10231503, 0.18136384, -0.040129818, -0.035396844, -0.00787811, 0.07794766, 0.09060691, 0.10159248, 0.0848883, 0.022230253) * go_2(-1.0, 1.0); - result += mat4(-0.07730581, -0.050758906, 0.15313847, -0.004270534, -0.2683983, -0.2017697, -0.11594284, -0.06754216, -0.067771316, -0.13248877, 0.14720434, -0.16662046, 0.043220654, -0.17810594, -0.03488435, -0.008438444) * go_2(0.0, -1.0); - result += mat4(-0.10520337, -0.15773864, -0.0362262, 0.1356858, 0.117192864, -0.09973847, 0.13506904, 0.03514702, -0.12854525, -0.14587913, -0.18416512, 0.14082105, -0.017908813, -0.17807865, -0.122767285, -0.011095936) * go_2(0.0, 0.0); - result += mat4(0.011398012, 0.07921986, 0.002720137, -0.021460582, 0.073015496, -0.00079271646, -0.10726876, 0.23606147, -0.11049075, 0.24318618, -0.053891268, 0.039848484, 0.044727042, 0.0096766045, -0.115286924, 0.15947676) * go_2(0.0, 1.0); - result += mat4(0.0457398, -0.027071774, 0.036870174, 0.13802418, 0.04767597, -0.20485106, 0.03447171, 0.08900908, 0.106965266, -0.10123759, -0.21418007, 0.13338189, -0.0070096957, 0.08477905, 0.034006577, -0.0127808) * go_2(1.0, -1.0); - result += mat4(-0.06447596, -0.11716523, 0.017752856, 0.20210621, 0.011862129, 0.005028284, -0.2025436, -0.02999941, 0.013555778, -0.147543, -0.03051759, -0.01707033, 0.03274592, 0.032629438, 0.031926025, 0.27321205) * go_2(1.0, 0.0); - result += mat4(-0.05287453, 0.03623217, 0.020743204, -0.107464634, -0.0036375497, 0.13578738, -0.18517871, 0.09009017, -0.09219742, 0.006522416, -0.04759607, 0.053528525, 0.10438079, -0.05276513, -0.08545688, 0.11272024) * go_2(1.0, 1.0); - result += mat4(0.09974107, -0.020536013, -0.30218178, -0.04745749, 0.04892062, 0.03959309, 0.08057975, -0.06729952, 0.22714004, 0.12788717, -0.21887575, -0.027949529, 0.049372908, -0.020718094, -0.07756374, -0.027772125) * go_3(-1.0, -1.0); - result += mat4(-0.036793377, -0.21096896, 0.08592604, 0.12986861, 0.10663064, 0.10471588, -0.045241218, 0.1317958, 0.14956723, -0.13708627, -0.03934442, -0.021195, -0.06509086, -0.116964, -0.17587945, 0.11195718) * go_3(-1.0, 0.0); - result += mat4(-0.17490272, 0.12575528, 0.011628057, 0.05303465, 0.019943044, 0.0725893, 0.048565384, 0.062405743, -0.053867843, 0.074081495, -0.14863425, -0.0030204298, 0.08404682, 0.124071926, 0.1786558, 0.10575819) * go_3(-1.0, 1.0); - result += mat4(0.026476953, 0.011070334, -0.188453, -0.07831006, -0.39677685, 0.01771715, -0.08268199, -0.04811952, -0.09656814, -0.21526523, 0.09588346, -0.06009857, 0.21969576, -0.0131597845, -0.11296794, 0.075208716) * go_3(0.0, -1.0); - result += mat4(0.068166904, 0.1499784, 0.05968743, 0.008221147, -0.11349533, 0.0013484044, -0.021708788, 0.08009984, -0.121719174, -0.15219732, 0.06034522, -0.112812445, -0.046521988, -0.12004287, -0.033236615, -0.15820491) * go_3(0.0, 0.0); - result += mat4(0.08095112, 0.21732974, -0.05154522, 0.088645846, -0.03534673, 0.1497481, 0.09745647, 0.056249075, -0.028916027, 0.0022869455, 0.041906092, -0.027881013, -0.093038134, -0.0017152339, -0.118502185, 0.010727621) * go_3(0.0, 1.0); - result += mat4(0.13373588, 0.09240173, -0.053156417, -0.10512767, 0.039539, 0.10254688, -0.0007771377, 0.0894976, -0.06407343, -0.058614425, -0.03116727, -0.08415193, 0.00033363313, 0.2853395, -0.15043344, -0.08685424) * go_3(1.0, -1.0); - result += mat4(0.08178458, 0.03898646, 0.06245792, -0.017958697, 0.06429433, 0.023620268, 0.024633197, 0.19380544, 0.03128596, 0.05321688, -0.20088866, 0.02586837, 0.005963156, -0.035398338, 0.23080434, -0.052014384) * go_3(1.0, 0.0); - result += mat4(0.10850131, -0.0449228, 0.061272174, -0.019682828, -0.102329165, -0.055051547, 0.03073968, 0.13315344, 0.042715825, 0.046266664, -0.028704945, -0.06637498, 0.16797577, -0.18926264, 0.033195343, -0.0031275423) * go_3(1.0, 1.0); - result += mat4(-0.08391781, -0.12843333, 0.05520483, -0.05725551, -0.09776922, -0.0062917694, -0.018499674, -0.0692748, -0.057307225, 0.05519614, -0.015600542, 0.04844798, -0.21986836, -0.05831421, 0.11511963, 0.016856553) * go_4(-1.0, -1.0); - result += mat4(0.073107556, 0.050245784, 0.071994856, 0.093292974, 0.011792467, -0.0739711, -0.12387382, 0.12474173, -0.047507025, 0.17631568, 0.031043071, 0.0013154036, 0.02243749, 0.06851047, 0.010104042, -0.056846466) * go_4(-1.0, 0.0); - result += mat4(0.1476893, -0.16734347, 0.045392103, -0.018786352, -0.012199471, -0.05523742, -0.019164376, 0.03512314, -0.034919456, -0.23833606, -0.08028037, -0.052635316, 0.029176557, -0.06269711, -0.05363081, 0.07574769) * go_4(-1.0, 1.0); - result += mat4(-0.08341459, -0.084529534, -0.016287418, 0.0013023556, 0.18836592, 0.10910393, 0.045064792, 0.10576271, 0.011566533, -0.09837857, 0.029958438, 0.01975767, -0.109880924, -0.06574587, -0.09173794, -0.027526127) * go_4(0.0, -1.0); - result += mat4(-0.0675673, -0.083563246, 0.14860542, -0.10457061, 0.157896, -0.28292787, -0.015991414, 0.06314474, -0.016067972, -0.12963754, 0.1237017, -0.08347259, 0.121923864, -0.22013049, 0.026320009, -0.09793111) * go_4(0.0, 0.0); - result += mat4(0.13382821, -0.055317678, -0.15359837, -0.15796858, 0.013171953, -0.16682811, -0.0809163, -0.043345597, 0.011391055, -0.20145057, 0.119695775, -0.13810591, -0.072137296, 0.32582632, 0.14005353, 0.123244844) * go_4(0.0, 1.0); - result += mat4(0.11073345, -0.05314399, -0.055847958, -0.047371536, -0.070162036, -0.06513794, 0.034763128, -0.010065592, -0.11114041, 0.06905363, -0.12841414, -0.030985016, -0.045511093, -0.087410115, 0.08677088, 0.0058112657) * go_4(1.0, -1.0); - result += mat4(-0.0050459597, -0.108575575, 0.11873296, -0.26549935, -0.001668582, -0.09878795, 0.0093035465, -0.055352952, 0.06688187, -0.008372193, -0.008264948, -0.036279492, -0.049309276, -0.16104528, 0.034609273, -0.10154444) * go_4(1.0, 0.0); - result += mat4(-0.008579093, 0.112412445, -0.08072197, 0.15890393, 0.030495347, -0.18746737, -0.09138602, -0.088305496, 0.07042993, 0.05030363, 0.20413087, -0.07995821, -0.13628387, 0.20695123, -0.14382593, 0.091244556) * go_4(1.0, 1.0); - result += mat4(-0.11965318, -0.1389523, 0.012135623, 0.04161862, 0.12533931, 0.101441264, -0.04241031, 0.080642566, -0.00092161325, -0.13902661, 0.045736324, 0.058441147, -0.19858903, 0.11756166, -0.016919447, 0.14339356) * go_5(-1.0, -1.0); - result += mat4(0.10335524, 0.07512942, 0.18708031, -0.0078117764, 0.07384771, -0.018625945, 0.059007455, 0.16749756, 0.08462766, 0.09579386, -0.08418416, -0.10284654, 0.05672443, 0.030903406, 0.110034496, 0.10390684) * go_5(-1.0, 0.0); - result += mat4(0.10552448, 0.13557634, 0.23104869, -0.10848448, 0.085270464, -0.16686882, 0.10544952, -0.024571393, 0.03715626, -0.041726533, 0.051980305, -0.05475635, 0.028681824, 0.11157084, -0.10706752, 0.027399268) * go_5(-1.0, 1.0); - result += mat4(-0.046446092, 0.0025158261, 0.033166718, -0.08558539, -0.0032056072, 0.12130434, -0.018896604, 0.08724829, -0.14037889, -0.09449841, -0.04446089, -0.011506388, -0.27613637, -0.37794623, -0.19426629, 0.16784632) * go_5(0.0, -1.0); - result += mat4(-0.22513072, -0.08652304, -0.0026436439, -0.045508705, 0.10837259, -0.0014446789, -0.16903, -0.02668546, 0.02148903, 0.23945205, -0.09826911, -0.03844516, 0.2630092, 0.006474852, -0.111862294, 0.14679375) * go_5(0.0, 0.0); - result += mat4(-0.04412413, 0.24446554, -0.050642822, 0.1416376, -0.07881299, -0.09849301, 0.10024753, -0.10196302, 0.06887016, -0.25987944, -0.0794985, -0.1605822, -0.033556614, 0.22719485, 0.06206384, -0.10776198) * go_5(0.0, 1.0); - result += mat4(0.047669563, 0.10184691, 0.21900356, -0.05103842, -0.052924644, 0.07429034, 0.10451252, -0.09064832, 0.1217274, 0.034052998, 0.09763394, 0.061310083, -0.10905189, -0.20931216, -0.11658655, -0.08542655) * go_5(1.0, -1.0); - result += mat4(-0.097377405, 0.07012394, -0.00048415252, 0.03234984, -0.15293159, -0.2313072, -0.07475159, -0.09358009, 0.0014697863, 0.11641165, 0.17893638, -0.14259303, -0.053314384, 0.26522338, -0.06642949, -0.08743303) * go_5(1.0, 0.0); - result += mat4(0.040392756, 0.19986987, 0.11991283, 0.14769651, -0.06295811, -0.049836084, 0.030192863, -0.05129089, -0.0017841166, -0.07413317, 0.080068626, -0.04653479, 0.012439128, -0.047990356, 0.08017805, -0.14544022) * go_5(1.0, 1.0); - result += vec4(-0.03813276, -0.054891117, -0.04579271, -0.012991662); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.058371756, -0.15223853, -0.16356315, -0.16802065, -0.19054104, -0.036780667, -0.19440329, -0.2248528, -0.005347806, 0.071672164, -0.0771526, 0.2924663, -0.0774155, -0.14556612, 0.114560455, 0.27062297) * g_0; - result += mat4(-0.3445877, 0.19475816, 0.09710621, 0.21995266, 0.20887254, 0.09341146, 0.22033042, 0.23206021, 0.033344083, -0.07287835, -0.18038799, -0.1591713, -0.07109204, -0.01323598, -0.110603236, 0.22050153) * g_1; - result += mat4(-0.2549611, -0.11848451, -0.022745349, 0.3926633, 0.01083691, 0.09032976, 0.051901888, -0.008881073, -0.113227226, -0.06107646, -0.2835598, 0.006955209, 0.057944898, -0.024794495, 0.21598488, 0.013463527) * g_2; - result += mat4(0.081732295, 0.14985989, 0.012442874, -0.055946667, -0.29241166, 0.054421537, 0.16944103, -0.027691018, 0.32594857, -0.20029362, 0.24102916, -0.2836753, 0.027726209, 0.13321714, -0.08945177, -0.18618472) * g_3; - result += mat4(-0.019850472, 0.014862859, -0.40852943, 0.049327563, -0.08516907, -0.024971958, -0.24877243, -0.12475686, -0.0059337337, -0.15594041, 0.014721621, -0.007462477, 0.017745093, -0.07287227, -0.08225071, 0.16203512) * g_4; - result += mat4(0.0622282, -0.1562546, -0.19524418, -0.0004125873, -0.28058666, -0.10427074, 0.01347889, 0.087949455, 0.205533, 0.22994758, 0.058676008, 0.016087666, -0.27204573, -0.13226426, 0.45560098, 0.19548674) * g_5; - result += mat4(0.10312986, -0.11663352, -0.21141005, 0.060728226, 0.04790389, 0.4554892, -0.2993332, 0.090701774, -0.15572315, -0.08100787, 0.38805684, 0.12010196, -0.19057408, 0.0433082, 0.17466016, 0.2343365) * g_6; - result += mat4(-0.035952494, 0.0069249035, 0.018094797, -0.022886304, -0.16588111, -0.06751834, 0.067921944, 0.0408952, -0.10368173, -0.1867776, 0.08716087, 0.32557133, -0.17160255, 0.21748102, -0.27042568, 0.010276504) * g_7; - result += mat4(0.1353541, -0.09830681, -0.024150403, 0.20349647, 0.0834164, -0.23606645, 0.1878813, -0.10913659, 0.101774715, -0.122187294, -0.10274547, 0.088820286, 0.0952697, 0.2059741, -0.06964167, -0.06740629) * g_8; - result += mat4(0.035706226, 0.116456866, 0.00867265, -0.1580804, 0.08455965, 0.2931992, -0.0652682, -0.27945194, -0.28506938, 0.18549383, -0.30028465, -0.058111582, 0.17342384, 0.07022962, -0.107152976, 0.058686964) * g_9; - result += mat4(0.26401508, 0.06263026, 0.07814346, 0.1653557, -0.06065454, 0.13713975, -0.35849124, -0.2712066, 0.0016249327, -0.028205892, 0.12781107, 0.19252528, -0.02890903, -0.07810885, -0.31435448, 0.25607604) * g_10; - result += mat4(-0.007452971, -0.11137609, -0.17482384, -0.2254985, -0.054940246, -0.4866264, -0.012218613, 0.07933414, -0.059196893, -0.22073849, -0.19979995, 0.045081053, 0.08083855, -0.18446396, 0.063239574, 0.15218821) * g_11; - result += mat4(0.019093331, 0.14936107, 0.006522308, -0.06813928, -0.06954633, 0.076614395, 0.27179638, 0.08497197, -0.028945964, 0.24470884, -0.09067254, -0.02809542, -0.3260882, -0.019783175, 0.29227713, -0.1503793) * g_12; - result += mat4(0.0038467604, 0.15844361, -0.17461929, 0.0036902665, -0.18804209, -0.10455593, 0.19846849, 0.0045625297, -0.021197336, -0.12760538, -0.21889874, -0.15576892, 0.08428448, -0.051786594, -0.28837204, 0.16710553) * g_13; - result += mat4(-0.039501086, 0.20741075, -0.023215454, -0.15562606, 0.2704772, -0.004882398, 0.06743958, 0.09672041, 0.2045052, 0.30854276, -0.023670265, -0.42425725, 0.22383718, 0.03339793, 0.09593589, -0.28993925) * g_14; - result += mat4(-0.0060895267, -0.32284054, 0.08005629, 0.22948626, 0.0779126, 0.051218465, -0.19901748, 0.04607648, 0.20720762, -0.25467792, 0.190241, 0.14972371, 0.0024004376, -0.25745007, -0.12783068, 0.11001452) * g_15; - result += mat4(0.11667156, 0.23464362, -0.063853756, 0.39974514, -0.009121619, -0.24133451, -0.03714007, 0.009775786, 0.051351607, 0.056225047, -0.23616025, 0.031748235, -0.16796593, -0.030489858, -0.14123768, 0.24537739) * g_16; - result += mat4(0.013762163, -0.25353146, 0.15549485, -0.28925058, 0.2193342, 0.039180417, 0.06402014, -0.4502174, 0.062770426, -0.00075927033, 0.33666995, 0.23031248, -0.00079948275, -0.13443127, -0.06645994, -0.23359178) * g_17; - result += vec4(-0.008095479, -0.06195082, -0.018640047, 0.02992503); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.016565321, 0.16086368, 0.16377108, 0.06516585, 0.08774041, -0.15408382, 0.08090872, 0.044837043, 0.118495755, -0.145867, -0.0830602, 0.021258313, -0.083069436, 0.1438954, 0.3145759, -0.021647993) * g_0; - result += mat4(-0.120379515, -0.24860992, -0.015166592, -0.12202178, 0.06496186, 0.0744854, 0.1485615, -0.109343, 0.19879182, -0.3081023, 0.21677417, -0.22301331, -0.011651633, -0.19334914, 0.15160677, 0.047521867) * g_1; - result += mat4(-0.018556662, -0.38472578, 0.41192028, 0.43185833, -0.046080858, 0.04489752, -0.20783445, -0.1610854, -0.309501, -0.273866, 0.060515694, -0.12974882, -0.0759038, 0.19965601, -0.19319372, -0.11006917) * g_2; - result += mat4(0.10012627, 0.13247557, -0.13383594, 0.13269171, -0.07811828, -0.22248991, -0.015335469, 0.000673531, 0.29827982, 0.06373573, 0.04488941, -0.013616235, 0.007511088, -0.33727455, 0.0019768223, 0.2379881) * g_3; - result += mat4(0.14306581, 0.085049756, 0.047580484, -0.057794355, -0.043503262, -0.105414085, -0.1606061, -0.23061153, -0.11303711, 0.16984846, -0.068943, 0.28954068, 0.063482575, 0.047116138, 0.08716241, -0.12745613) * g_4; - result += mat4(0.0020036818, 0.090957165, 0.015798112, 0.23128921, 0.1914184, 0.19120963, -0.06399709, -0.0788507, 0.07272036, -0.0119575225, 0.11690162, -0.1501703, -0.019269818, -0.42832217, -0.12736018, -0.06600497) * g_5; - result += mat4(-0.2329279, 0.056115344, -0.0057740537, -0.2990719, -0.17836936, 0.27681816, 0.37309527, -0.15801883, -0.063524134, 0.099096715, -0.06648651, -0.28727666, 0.293816, 0.07798524, 0.048862323, -0.115539655) * g_6; - result += mat4(0.3703411, -0.09810904, -0.09486779, 0.0014081999, 0.14049709, 0.21120222, -0.40097466, -0.34167844, 0.23002532, 0.028405711, -0.019445082, 0.034988888, -0.50940406, 0.08899147, 0.05107509, -0.00382772) * g_7; - result += mat4(0.11272419, -0.033249535, 0.27027267, 0.17533688, 0.08927961, -0.0018240041, 0.16140664, -0.046008278, -0.15334447, -0.15343803, 0.091045976, -0.19814257, 0.04322423, -0.17734216, -0.2798295, -0.08573132) * g_8; - result += mat4(0.12554517, -0.037913572, -0.07749419, -0.25204238, -0.24223939, 0.18784638, -0.20372832, 0.4048194, 0.25830784, 0.0051259343, -0.032063078, 0.28017554, -0.12499362, -0.26364753, 0.05812282, -0.18392684) * g_9; - result += mat4(0.26486975, 0.061957724, 0.07971466, 0.046751168, -0.31778535, 0.4381787, -0.07035851, 0.23263998, -0.052127257, -0.12611173, -0.18760382, 0.14079882, 0.22377297, -0.05741558, 0.031250857, 0.16233918) * g_10; - result += mat4(0.05335076, -0.34464896, 0.3002586, -0.24760664, -0.14003357, -0.09159649, -0.18697475, -0.14623205, -0.13852511, -0.04981257, -0.19454202, -0.09108177, -0.015734429, 0.13033359, -0.18407115, 0.10902568) * g_11; - result += mat4(-0.02813337, 0.09047474, 0.017847307, 0.09261004, -0.21497558, -0.14598191, 0.19712229, -0.10600094, -0.13380432, 0.11108035, -0.004200233, -0.13140516, -0.015072323, -0.20674899, -0.007258648, -0.18661419) * g_12; - result += mat4(-0.075342774, -0.15346074, 0.08983637, 0.26993182, -0.14880064, -0.25546706, -0.055426415, 0.082991235, 0.11674955, 0.02243115, 0.1323313, -0.16614287, -0.12463222, -0.021946859, -0.109896004, -0.18907025) * g_13; - result += mat4(-0.13882166, 0.2001865, 0.0011639959, 0.194607, 0.10369673, 0.11537449, -0.20017526, 0.08001218, 0.2717005, 0.03861079, 0.21795402, 0.13731115, -0.28959844, -0.026275165, -0.13865054, -0.032054946) * g_14; - result += mat4(0.056745965, -0.0028218296, -0.1637033, -0.10748185, -0.008221024, -0.012517368, -0.21787529, 0.24229775, 0.21705846, -0.31918925, -0.10432461, -0.020117749, 0.48566294, -0.0764948, 0.11959202, -0.21828687) * g_15; - result += mat4(-0.08911589, 0.0019316651, 0.3447702, -0.28325114, -0.0017365502, 0.066785716, 0.057680055, 0.10159895, 0.028087914, 0.03835387, -0.09806545, -0.088825025, -0.016581869, -0.19346818, -0.068037614, 0.071174935) * g_16; - result += mat4(-0.11981757, 0.11738665, -0.15907699, 0.15687436, -0.060289837, -0.0068618194, 0.10179951, 0.30881542, -0.010891428, -0.17345384, -0.4455766, -0.007086927, -0.08359593, -0.1598503, 0.012697522, 0.4165511) * g_17; - result += vec4(0.03556714, 0.06747606, -0.010788525, 0.0018122225); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf2 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.051234227, 0.12462721, -0.09787546, 0.25406766, 0.30560002, 0.17283113, -0.05798071, 0.2647435, 0.13788636, 0.08840858, -0.05289184, 0.25852382, -0.26674244, -0.07364587, 0.001191221, 0.22217625) * g_0; - result += mat4(-0.26877132, -0.10157862, 0.092936665, -0.021073027, -0.16361141, 0.21253154, 0.22684343, -0.054344796, -0.05049234, 0.42118612, 0.29657525, 0.17409663, 0.15270026, 0.10825865, 0.22627294, 0.054406367) * g_1; - result += mat4(0.2163665, 0.13454697, 0.033053502, -0.015820911, 0.17696854, 0.005023235, 0.15261635, -0.11690415, -0.15954569, 0.15751791, -0.082067445, 0.377173, 0.15451732, -0.21614599, -0.090183906, -0.22754942) * g_2; - result += mat4(0.10186722, -0.3034483, -0.25445342, 0.09971074, -0.16596235, -0.051873583, 0.14013551, 0.3921163, -0.029541738, -0.21873768, 0.073057145, -0.18722391, 0.2500657, 0.036109924, 0.054032363, -0.5253905) * g_3; - result += mat4(0.033514977, 0.13074529, -0.26700264, 0.14833573, -0.006180942, 0.12044789, -0.17576072, 0.023566427, 0.13765517, -0.047552105, -0.18236409, -0.2774939, 0.06162977, -0.055201646, -0.058275994, -0.12629794) * g_4; - result += mat4(-0.1996918, 0.15683116, -0.3256319, 0.2057855, -0.0671691, 0.24640855, 0.22842555, 0.12610425, -0.090195596, 0.101964004, 0.22426924, -0.24429117, -0.26323536, 0.32974228, 0.08008744, 0.45575497) * g_5; - result += mat4(-0.42316, -0.062756, 0.07857826, -0.14351259, -0.29394817, 0.5423037, 0.18915935, -0.17086914, 0.50753736, 0.0015875449, 0.29438123, -0.19376752, 0.09791069, -0.028306229, 0.05765373, -0.22298522) * g_6; - result += mat4(0.03728915, 0.15399045, -0.04512004, -0.12652445, 0.28205284, -0.23605378, 0.17079072, -0.1082726, -0.15433414, -0.19789961, -0.28514484, 0.0077355634, -0.01829938, 0.34892595, -0.23294884, -0.22864898) * g_7; - result += mat4(0.027223717, 0.12626694, 0.11476459, 0.1460455, 0.20033693, 0.026134387, -0.10378083, 0.02503927, 0.27902585, -0.0038183157, 0.115261704, 0.13458112, 0.31611767, -0.1142268, 0.0072508105, 0.0028353012) * g_8; - result += mat4(0.021163143, 0.16883731, -0.058492687, -0.12585758, -0.061747592, -0.09557424, 0.121174686, 0.0743391, -0.08168162, -0.026392763, -0.00060598814, 0.12879269, -0.07671814, 0.065251, 0.1404438, -0.05534044) * g_9; - result += mat4(0.14274202, -0.3996823, -0.324641, 0.005320553, 0.28041458, 0.10360115, -0.01966796, 0.12442266, 0.107218176, 0.004735665, -0.15030271, -0.23013945, -0.18984175, 0.078943305, 0.16392353, -0.07955006) * g_10; - result += mat4(0.021630967, 0.29960495, -0.10998858, 0.06537184, 0.11009237, 0.028505472, 0.32113916, -0.15730233, 0.083316445, 0.112375356, -0.065724924, 0.0889756, -0.09385971, 0.089896984, 0.08292775, -0.2035827) * g_11; - result += mat4(-0.13751891, -0.027330484, -0.13091096, 0.19190204, -0.09216561, -0.14242831, -0.10237887, 0.13343115, -0.14150177, 0.094059885, -0.10393571, -0.09336556, 0.20657797, 0.07327506, 0.13245964, -0.016539408) * g_12; - result += mat4(-0.158201, -0.12623371, 0.09620584, -0.10184386, -0.057575878, 0.003921972, 0.021233508, 0.35487738, -0.11295889, -0.10775328, 0.039876595, 0.081189156, 0.106679484, 0.0747396, -0.028251883, 0.27306616) * g_13; - result += mat4(-0.2361755, -0.13576986, 0.2919796, 0.09699708, 0.4581993, -0.1196168, -0.028562034, 0.00018960529, -0.11903206, 0.17371814, -0.07005846, 0.028902404, -0.09053355, -0.110385194, 0.25002465, 0.08581321) * g_14; - result += mat4(0.06806976, 0.15122992, -0.33567524, 0.001315605, -0.11049211, 0.09723952, 0.29624012, -0.31183454, -0.1838605, -0.23770033, 0.2865799, -0.044371903, 0.05511511, 0.30258948, 0.28474173, -0.050289202) * g_15; - result += mat4(-0.27601755, -0.06335842, -0.23002502, -0.31029934, 0.021644987, 0.24281926, 0.15377666, 0.22653481, 0.033689793, -0.010622847, 0.08636093, -0.16723068, 0.25021335, 0.3877554, -0.15065683, 0.01558507) * g_16; - result += mat4(-0.08309524, 0.25966918, 0.17456721, 0.1898729, 0.248563, -0.23167695, 0.11267612, -0.048332583, -0.34379265, 0.042474393, -0.085350186, -0.05868464, -0.29812938, -0.054665178, -0.1093917, 0.22230257) * g_17; - result += vec4(0.018145598, -0.032355547, -0.05915781, 0.02910991); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!SAVE conv2d_17_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.086120285, -0.4059242, -0.039365012, -0.026914986, 0.272106, -0.2330165, -0.065111265, 0.07854153, -0.059162848, -0.18079941, 0.046355046, -0.05227612, 0.027158378, 0.06519794, 0.12404081, -0.05581017) * go_0(-1.0, -1.0); - result += mat4(0.32573175, -0.1754894, -0.11804778, -0.01995747, 0.22718933, -0.15123367, 0.039907683, 0.34502703, -0.14458972, 0.13064449, 0.14453207, -0.059187938, -0.085265145, 0.20953384, 0.0793236, -0.116288304) * go_0(-1.0, 0.0); - result += mat4(-0.093153894, 0.06527465, -0.15071994, -0.123629555, 0.006527518, 0.16628802, 0.16957358, 0.054582782, 0.0071324026, 0.08554746, -0.06274109, 0.14844437, 0.058439545, 0.045090668, 0.06689813, 0.063525826) * go_0(-1.0, 1.0); - result += mat4(0.07696488, 0.051656798, -0.048016507, 0.02936603, 0.08387461, 0.09245992, 0.23041403, -0.19054213, -0.102753386, -0.17902392, -0.10961965, -0.10548934, 0.18939416, 0.25377733, 0.02544213, -0.22927651) * go_0(0.0, -1.0); - result += mat4(0.3032466, 0.04167076, 0.059656423, -0.027316695, 0.16839153, -0.14264087, 0.20591341, 0.08222535, -0.003110454, -0.059849005, -0.036128033, -0.008346545, 0.15990025, 0.2500593, 0.032513596, -0.016655741) * go_0(0.0, 0.0); - result += mat4(-0.06774502, 0.040308017, -0.18576144, -0.09687235, -0.057958614, -0.17514636, -0.20707239, 0.17548439, -0.19250306, 0.0034173464, 0.110723875, 0.096379146, 0.09683184, -0.04752888, -0.01780429, 0.010613829) * go_0(0.0, 1.0); - result += mat4(0.08627145, -0.16866092, 0.099930905, 0.12018959, -0.24408722, 0.14165765, 0.12630254, -0.015704094, -0.20263286, -0.120165184, -0.21274178, 0.028697591, 0.15576155, 0.028905043, 0.0811208, -0.1041924) * go_0(1.0, -1.0); - result += mat4(-0.015240954, -0.17468874, -0.046423502, 0.022116644, 0.2908017, 0.035541125, 0.2743551, -0.18322937, -0.22073182, 0.020273414, -0.1303079, 0.24418736, 0.16490552, 0.028966945, 0.19653946, -0.016246568) * go_0(1.0, 0.0); - result += mat4(-0.14057145, 0.04244108, -0.010793927, -0.05631625, -0.12468913, -0.05881518, 0.12383384, 0.17428255, -0.021005072, -0.17969933, 0.15734735, 0.1031293, 0.043719243, -0.09174561, -0.056840647, 0.0324962) * go_0(1.0, 1.0); - result += mat4(0.08194935, 0.067976184, -0.019943617, 0.026776273, 0.22254825, -0.06326042, 0.1648268, -0.0052840295, 0.009018906, -0.0520785, -0.04660861, -0.0075104083, -0.038940106, 0.0856219, -0.043916393, 0.05660665) * go_1(-1.0, -1.0); - result += mat4(-0.08704364, -0.09677431, -0.17326091, -0.07462152, 0.13270687, -0.1261107, -0.07701341, 0.2726629, -0.1587681, 0.18942432, -0.36308467, 0.10301493, -0.024762882, 0.03817259, -0.23201405, -0.091521345) * go_1(-1.0, 0.0); - result += mat4(0.050326157, -0.073176935, -0.103697956, -0.0840352, 0.173357, -0.14174183, -0.1524753, -0.0069994656, -0.005479495, 0.17723018, 0.11403137, -0.06329943, -0.13232884, -0.1373975, 0.11884006, -0.07850464) * go_1(-1.0, 1.0); - result += mat4(0.05332861, 0.107681334, -0.09119039, -0.114555836, -0.017985579, -0.15435871, 0.24358511, 0.11068456, -0.10406485, 0.12917854, 0.05799334, 0.37389106, 0.06230836, -0.09555643, 0.027412381, -0.064970456) * go_1(0.0, -1.0); - result += mat4(0.12378375, -0.04905221, -0.11288056, -0.13767865, -0.1449326, -0.072450995, 0.17161424, -0.16777709, -0.25872576, 0.070482604, -0.1663627, 0.25371596, -0.23365596, 0.18121918, -0.20363995, -0.12909107) * go_1(0.0, 0.0); - result += mat4(-0.05529441, -0.021311615, 0.014097586, -0.31545866, 0.012970079, -0.22578919, -0.072552465, -0.116496325, -0.14761814, -0.053667877, 0.067303866, -0.4580455, -0.09480358, -0.16733053, 0.3607103, 0.015292286) * go_1(0.0, 1.0); - result += mat4(0.04696458, 0.31332257, 0.02704555, -0.09160314, -0.113031834, -0.0739926, -0.032812223, 0.033034015, 0.016193887, 0.12820463, 0.09737233, 0.12438434, 0.0654067, 0.20008601, 0.07920591, 0.060879026) * go_1(1.0, -1.0); - result += mat4(0.037422813, 0.15871914, -0.2151473, -0.24363686, -0.080180004, 0.0645695, 0.14571437, 0.14874434, -0.11326801, -0.10846583, -0.13671829, 0.18154961, -0.060911275, 0.20989129, -0.23381993, -0.27745062) * go_1(1.0, 0.0); - result += mat4(0.050130237, 0.089512885, 0.13246128, -0.2745517, -0.02318636, -0.011246907, -0.11668961, 0.0731039, 0.01690248, 0.09360847, -0.05398903, 0.14663017, 0.028310347, 0.076176226, 0.31356502, -0.103791654) * go_1(1.0, 1.0); - result += mat4(0.09613262, 0.12778622, 0.034975607, -0.028750842, -0.033835113, 0.08186702, -0.06888388, 0.0997008, 0.117064685, 0.046526518, 0.09514346, -0.124434136, -0.020531485, -0.15406378, 0.060591683, -0.13329966) * go_2(-1.0, -1.0); - result += mat4(-0.027534882, -0.14831524, 0.04495184, 0.025519691, 0.03651482, 0.117160164, -0.038201023, 0.108181216, -0.030931946, 0.1811084, 0.15170088, 0.11874837, -0.078277305, -0.04918219, 0.101712294, -0.1196331) * go_2(-1.0, 0.0); - result += mat4(-0.06539127, 0.08893873, 0.03419367, -0.079162404, -0.004407265, 0.1590495, 0.054708384, -0.0045960955, -0.11280927, 0.16039464, 0.09479366, 0.08200364, 0.036086954, 0.20326287, -0.037681103, -0.140378) * go_2(-1.0, 1.0); - result += mat4(-0.0555716, 0.06530205, -0.1433768, 0.016642103, 0.16281623, 0.063046776, 0.0837092, -0.01799041, -0.091302834, -0.20383778, -0.06381253, 0.20380846, -0.041889682, -0.24191497, -0.14171864, -0.1448563) * go_2(0.0, -1.0); - result += mat4(-0.110319525, 0.12512992, 0.03341369, -0.00093534397, 0.1633664, -0.020284293, 0.044820648, 0.162692, -0.10295654, 0.023568464, 0.012197777, 0.10028862, -0.010697666, -0.018897464, 0.043279704, 0.0017665206) * go_2(0.0, 0.0); - result += mat4(0.04179169, -0.012676201, 0.083311275, 0.03091289, -0.046434533, -0.12832014, 0.04914704, -0.06867338, 0.094166204, -0.017343048, 0.18243955, 0.12901492, -0.110132985, 0.12671326, 0.054293826, 0.086186886) * go_2(0.0, 1.0); - result += mat4(-0.05841927, -0.12985736, -0.25992456, -0.0849384, 0.14412889, -0.0746527, 0.044265267, -0.014156233, -0.09166144, 0.07021915, -0.047789145, 0.039457697, 0.12670755, -0.01698153, 0.18895842, -0.056773882) * go_2(1.0, -1.0); - result += mat4(-0.15025501, 0.14065035, -0.096513286, -0.09348505, 0.15979655, -0.0114577245, 0.053886734, -0.114547916, -0.070979856, 0.1765544, 0.010379718, -0.18308055, 0.1605321, 0.20515968, 0.05720834, -0.07330803) * go_2(1.0, 0.0); - result += mat4(-0.025330046, -0.019732652, 0.053818963, -0.036499955, -0.10811833, 0.0137827955, 0.06543074, -0.012384179, -0.18611883, 0.02843987, -0.05363124, -0.046299558, 0.16349362, -0.041830223, -0.07788764, 0.008235677) * go_2(1.0, 1.0); - result += mat4(0.047242437, 0.06575887, 0.025322782, 0.013775078, 0.036147557, 0.0009767486, -0.11243579, -0.09145642, -0.0039224774, -0.0038896108, 0.037174333, -0.02877056, -0.07427188, -0.024033785, -0.08451688, 0.0404334) * go_3(-1.0, -1.0); - result += mat4(-0.08908999, -0.04494114, -0.10439307, 0.0774623, 0.07840683, -0.04946415, -0.14073692, 0.032847367, -0.0048813284, -0.010705515, -0.022069618, 0.033290677, 0.09327763, 0.17272854, -0.21388759, 0.03957031) * go_3(-1.0, 0.0); - result += mat4(0.19521184, -0.10379753, -0.15358303, 0.07232417, -0.04276367, -0.10596066, 0.022786908, -0.11408934, 0.019533271, 0.04891009, 0.13843602, -0.037992083, 0.033990372, 0.07371983, 0.08921052, -0.10094112) * go_3(-1.0, 1.0); - result += mat4(-0.24562503, 0.15784459, -0.022187335, -0.000638404, -0.1133858, 0.036134824, -0.10837855, 0.21228905, -0.027466286, -0.023300633, 0.12549222, -0.08866187, 0.087480284, -0.06105183, -0.030215222, 0.040841375) * go_3(0.0, -1.0); - result += mat4(-0.14978695, 0.13818179, 0.04092166, -0.106068246, 0.08822786, -0.01489638, 0.07534021, -0.07537647, -0.14060229, -0.089275755, 0.05904741, 0.10776689, -0.07665331, 0.09283058, -0.061007436, -0.04099338) * go_3(0.0, 0.0); - result += mat4(0.14466712, -0.026102958, -0.20185257, 0.10785207, 0.22078173, -0.16958067, 0.11530716, 0.09354707, -0.074392565, -0.08342846, 0.2586021, -0.23763788, 0.12991717, 0.021147436, 0.2722029, -0.087979235) * go_3(0.0, 1.0); - result += mat4(0.027673773, -0.022746747, 0.049445715, -0.1909985, -0.09531261, -0.108256444, -0.066448554, 0.2172793, 0.07891359, 0.08150599, 0.14381963, -0.02249068, 0.03258624, -0.056648776, 0.055536, -0.024813324) * go_3(1.0, -1.0); - result += mat4(-0.023302192, 0.06626369, -0.15358047, -0.0083353575, -0.14165582, 0.07046124, 0.09597453, 0.26851997, -0.055152107, 0.093309075, -0.13725676, -0.1664828, -0.02032299, -0.092897214, -0.015662093, -0.10920288) * go_3(1.0, 0.0); - result += mat4(-0.06695718, 0.16679364, -0.0785021, 0.06455316, 0.1445089, -0.00924479, 0.096023194, 0.07052236, 0.067349516, -0.0111666, -0.09601798, 0.001154395, 0.09299898, 0.01951889, -0.0967921, -0.008973) * go_3(1.0, 1.0); - result += mat4(0.13883853, 0.02957061, -0.04247552, -0.13835363, -0.14681627, -0.077555746, 0.031927407, 0.026541403, -0.022707194, 0.01551063, 0.06541034, 0.096070126, 0.052125953, 0.063213244, 0.16251403, -0.08070668) * go_4(-1.0, -1.0); - result += mat4(0.086179234, 0.14243434, 0.09406264, 0.13569264, 0.15488361, -0.11091638, -0.09574572, 0.008970297, 0.05616059, -0.1518461, -0.27299163, 0.2257466, 0.07526578, -0.05981968, -0.05876571, -0.093547806) * go_4(-1.0, 0.0); - result += mat4(0.04012283, -0.10008593, -0.029358871, -0.08932785, -0.037632246, 0.005210788, -0.09356493, -0.049942728, -0.0084419465, 0.024860868, 0.021508645, 0.06273951, -0.05736361, 0.020816475, -0.008031666, 0.124403216) * go_4(-1.0, 1.0); - result += mat4(0.14043115, 0.19251867, 0.27524766, -0.09491998, -0.15670182, -0.047435485, -0.0671195, 0.01171454, -0.28212756, 0.039405737, -0.07579297, -0.052261483, 0.22442812, 0.28633285, 0.29999042, -0.13228717) * go_4(0.0, -1.0); - result += mat4(-0.2623459, -0.055335205, 0.21784544, 0.202005, -0.21811847, -0.020621138, -0.055919386, -0.1592076, -0.05986868, -0.11021312, 0.027157718, -0.0035977615, -0.04500819, -0.11783892, -0.18752173, -0.017826393) * go_4(0.0, 0.0); - result += mat4(-0.0058357944, 0.017049752, 0.0069000614, 0.13442154, -0.30008566, -0.05737475, -0.09749817, -0.033549603, 0.07277239, -0.07434725, -3.2743555e-05, 0.104428366, 0.065556966, 0.070558116, -0.03552641, 0.04233599) * go_4(0.0, 1.0); - result += mat4(0.10471457, 0.11320103, 0.13278805, 0.0402375, 0.091772236, -0.13095503, 0.088764995, 0.034440126, -0.07645308, 0.07409439, 0.041363943, -0.0007871303, 0.04391719, -0.061556302, 0.018767469, 0.10903881) * go_4(1.0, -1.0); - result += mat4(0.030221319, -0.07181434, -0.101376146, -0.034132153, -0.0116890725, -0.10688475, -0.13729735, 0.14479214, 0.014176684, 0.13103448, -0.08762141, 0.17202277, -0.05477683, -0.043549005, 0.09274582, 0.123320125) * go_4(1.0, 0.0); - result += mat4(0.19202003, -0.14954115, -0.087362565, -0.08726935, -0.01544216, 0.123787634, 0.046103656, 0.052578025, 0.029873371, 0.0066638263, -0.06251117, -0.052407794, 0.10117527, 0.05799745, -0.13342759, 0.031155441) * go_4(1.0, 1.0); - result += mat4(-0.0602211, 0.02800195, 0.033007246, 0.025651298, 0.1477432, -0.22038354, -0.15722936, -0.21809258, 0.04290242, 0.004420057, 0.05746811, 0.071876235, -0.050915204, 0.0033008144, -0.11305403, 0.07601179) * go_5(-1.0, -1.0); - result += mat4(-0.017653117, 0.051445134, 0.012552525, 0.21158452, -0.037362725, 0.09373507, 0.08190519, -0.14817433, 0.016636858, -0.041740865, -0.015900947, -0.15515041, 0.05231825, -0.10608562, -0.115508825, 0.14927392) * go_5(-1.0, 0.0); - result += mat4(-0.07991468, -0.030842511, -0.1142488, 0.024186732, 0.01866492, -0.2594634, -0.09987361, -0.08651594, -0.0134031195, 0.13383342, -0.29035473, -0.15002187, -0.078639805, -0.07127412, -0.16304658, 0.05276267) * go_5(-1.0, 1.0); - result += mat4(0.19848315, 0.08736629, 0.059144225, -0.09447644, 0.02258197, -0.2571475, -0.28990847, -0.027986418, 0.048613783, 0.022653515, 0.2793524, -0.050864372, -0.21006623, -0.03244143, 0.10503605, 0.118863106) * go_5(0.0, -1.0); - result += mat4(0.1141189, 0.16082734, 0.19251204, 0.046851195, 0.12982753, 0.1179071, -0.19780421, -0.081736855, -0.13099432, 0.1591774, 8.499473e-05, -0.110567674, -0.02899663, -0.1474914, -0.02698378, 0.0026956694) * go_5(0.0, 0.0); - result += mat4(0.13940544, 0.06881286, -0.05801804, 0.072250396, -0.009307022, -0.18490271, -0.11261658, -0.16390282, 0.020309817, 0.10038859, -0.09349415, -0.14116558, -0.20527501, -0.061198466, -0.025865598, -0.08396298) * go_5(0.0, 1.0); - result += mat4(-0.29216713, -0.03166838, -0.113096364, -0.03150052, 0.1709056, -0.026671233, 0.09773227, -0.1519528, 0.040399972, -0.009488163, -0.077320874, 0.06988943, -0.011609312, -0.04198275, 0.12707464, 0.006308921) * go_5(1.0, -1.0); - result += mat4(-0.051588435, 0.006180919, 0.13836713, -0.25345033, -0.11852253, 0.124243006, -0.028141703, 0.036185384, -0.0219207, 0.047607783, 0.067218274, 0.13251485, -0.17255323, -0.08482923, -0.045748707, 0.17345634) * go_5(1.0, 0.0); - result += mat4(0.066040546, -0.1950836, 0.035140682, -0.177215, 0.002426889, -0.10077353, -0.22871427, -0.022668306, -0.19148435, 0.053983398, 0.15257482, -0.0977811, -0.0546057, 0.050372656, -0.09533434, 0.064632036) * go_5(1.0, 1.0); - result += vec4(0.033997618, 0.026958792, 0.036766436, -0.020595448); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!SAVE conv2d_16_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.08802986, -0.17393574, -0.14236689, -0.027905934, -0.06911397, -0.11672821, -0.2792837, 0.11365244, -0.06958475, -0.18663275, 0.115227476, -0.022523437, 0.056238096, -0.059810236, 0.04873624, -0.005821912) * go_0(-1.0, -1.0); - result += mat4(0.1127787, -0.17345825, 0.19259876, 0.12654746, -0.13533565, 0.06251798, 0.099469095, -0.17107892, -0.044659805, -0.1270373, -0.030414857, 0.06547094, -0.04661237, -0.020623157, -0.091043934, -0.008992439) * go_0(-1.0, 0.0); - result += mat4(0.19035979, -0.10846463, -0.017068362, -0.022281054, 0.1589396, -0.03264436, -0.00764233, 0.08733022, 0.025321474, 0.2316312, -0.17448951, -0.062320076, -0.09665312, 0.077836566, -0.15457042, -0.031109523) * go_0(-1.0, 1.0); - result += mat4(-0.038293075, 0.039982896, -0.1469895, -0.08202698, -0.0041442337, 0.029787892, -0.044658363, -0.21846762, -0.044046592, 0.18280518, -0.06486731, -0.1690961, 0.028628197, 0.01049846, -0.032201137, 0.017294433) * go_0(0.0, -1.0); - result += mat4(0.059674874, -0.05350419, -0.10941087, -0.0845837, 0.04927608, 0.036460683, 0.0055156145, -0.024534898, -0.18547916, 0.13815373, 0.18513125, 0.12902182, -0.17424613, 0.0700179, -0.10840591, 0.10033247) * go_0(0.0, 0.0); - result += mat4(-0.056340918, -0.22555862, 0.06911137, -0.024649663, -0.18350351, 0.00950671, 0.1963708, 0.11672094, -0.084857196, 0.059099168, -0.14970237, -0.04900496, 0.07548133, 0.017982353, -0.07550771, 0.13420473) * go_0(0.0, 1.0); - result += mat4(-0.07515682, -0.011147019, 0.10587885, 0.14749783, -0.3299278, 0.002686847, -0.1518538, 0.051685937, -0.09971082, 0.040840115, -0.038742367, -0.1039338, -0.03282236, -0.059669517, -0.122400075, -0.018639566) * go_0(1.0, -1.0); - result += mat4(0.06775716, 0.007048041, -0.08188808, -0.10080362, 0.28195885, 0.10496502, -0.07891694, -0.25544325, -0.1742375, 0.09669711, 0.18185973, 0.31786624, 0.065365106, 0.07105677, -0.018566757, 0.05218278) * go_0(1.0, 0.0); - result += mat4(-0.089370586, -0.21895438, -0.06468459, -0.05457814, 0.03454585, 0.15021439, 0.0035336192, -0.17009473, -0.083677866, 0.15718195, 0.10846793, 0.21016604, 0.027942222, -0.081115246, 0.036489576, -0.11569346) * go_0(1.0, 1.0); - result += mat4(0.027996952, -0.028215071, 0.02175091, 0.021965792, -0.084215, -0.03758052, -0.13010016, 0.08475194, 0.12714519, 0.12293797, 0.07838412, -0.086469695, -0.057902515, -0.03087676, -0.03611093, -0.121886) * go_1(-1.0, -1.0); - result += mat4(0.078855015, -0.019143503, 0.25362718, 0.10234785, 0.06521017, -0.16250263, 0.045211475, -0.17433222, 0.016279457, 0.06819055, 0.13895121, -0.05589787, -0.009716455, 0.20975766, 0.029051652, 0.11252572) * go_1(-1.0, 0.0); - result += mat4(0.05893387, -0.10818095, 0.094520725, 0.04735701, -0.00062618783, 0.060635865, 0.028728807, -0.037579857, -0.05011172, 0.072621815, 0.32791084, 0.20725228, -0.16025586, 0.029779507, -0.098033756, -0.057435088) * go_1(-1.0, 1.0); - result += mat4(-0.027748855, -0.032816567, 0.1381763, -0.07527717, -0.04557042, -0.19134082, -0.28283423, -0.0497186, -0.061549354, 0.021712344, -0.07307426, 0.008633742, -0.17751735, -0.06531707, 0.22166257, -0.06736024) * go_1(0.0, -1.0); - result += mat4(0.10577709, -0.00029715832, -0.07257314, 0.037460234, 0.2560591, -0.004036816, -0.0048680147, -0.111901544, -0.26662216, -0.12197044, 0.04535819, -0.017144589, -0.08068284, 0.2595127, -0.122860804, -0.0032942474) * go_1(0.0, 0.0); - result += mat4(-0.017741704, 0.09559895, -0.033990704, 0.08170982, -0.19994697, -0.07059366, -0.11213052, -0.03725744, -0.27139193, 0.1484444, 0.045858312, 0.26310086, -0.11015166, 0.11078496, -0.048356485, 0.075475365) * go_1(0.0, 1.0); - result += mat4(0.11419975, -0.047353536, 0.13656045, 0.11486861, -0.15706798, 0.06450431, 0.14535433, -0.020635093, 0.10368355, 0.15418164, 0.24278086, -0.049087204, 0.062040165, -0.061476476, 0.049934343, 0.010076082) * go_1(1.0, -1.0); - result += mat4(0.124436915, -0.043080516, 0.14038607, 0.120473295, -0.13698362, 0.0632538, -0.12079243, -0.15874681, 0.206419, 0.20660165, 0.032999307, -0.1115593, -0.28569657, -0.01696896, -0.035953935, 0.1648099) * go_1(1.0, 0.0); - result += mat4(0.113919385, 0.11906966, 0.0005747532, 0.080415644, -0.40388402, 0.0017795331, 0.07015799, -0.09544672, 0.0030407861, 0.2834558, 0.10607995, -0.11396143, 0.17354475, 0.104605556, -0.07189537, -0.014960302) * go_1(1.0, 1.0); - result += mat4(0.017524108, 0.13681653, 0.051700532, -0.017652562, -0.034235284, 0.055753216, 0.15347894, 0.052076254, 0.033296116, -0.09584493, -0.033569854, 0.027673539, -0.01796682, -0.10580566, -0.07683759, 0.06618078) * go_2(-1.0, -1.0); - result += mat4(-0.1764062, 0.055722255, -0.02721764, -0.02276022, 0.0949696, -0.058885206, 0.06488299, -0.092077486, 0.04663375, -0.024681088, -0.26029268, 0.023124814, 0.008564294, -0.14319825, -0.04004337, -0.06123616) * go_2(-1.0, 0.0); - result += mat4(0.08396966, -0.034983225, -0.07795199, 0.12035646, 0.028944263, 0.063821584, -0.017690185, 0.052195095, -0.033104133, -0.17720836, -0.09615896, 0.11477779, 0.17819521, -0.056103952, -0.022960674, 0.13859332) * go_2(-1.0, 1.0); - result += mat4(0.18050459, 0.04579894, -0.22067004, 0.085571006, -0.11066822, 0.06598446, -0.014714607, -0.054712657, -0.11574491, -0.13472416, -0.021493772, 0.010712232, 0.08756391, 0.10629865, -0.030947337, 0.012433604) * go_2(0.0, -1.0); - result += mat4(0.13059679, 0.12995908, 0.051285587, -0.1490071, -0.16121583, 0.017019918, 0.18331663, 0.05133495, -0.11774923, 0.14849012, 0.08879608, 0.21546392, -0.16260189, 0.071787946, 0.08042792, 0.034665287) * go_2(0.0, 0.0); - result += mat4(-0.0496461, -0.074484035, -0.067306705, -0.056405246, -0.0791933, 0.09205973, -0.089488566, 0.06336122, 0.026799377, 0.044899896, -0.043504875, -0.027825577, -0.12687266, -0.036599446, -0.0979517, 0.118289836) * go_2(0.0, 1.0); - result += mat4(0.065074205, 0.0912584, -0.10980821, -0.0087488005, 0.009252638, -0.037367865, -0.038106624, -0.14231613, 0.10606405, 0.059649512, 0.115708545, -0.09755315, 0.019461721, 0.021630583, 0.091960326, -0.008601625) * go_2(1.0, -1.0); - result += mat4(-0.3277807, -0.036484975, 0.038798176, 0.24745776, 0.2593154, 0.21724908, -0.00019478974, -0.18449827, 0.033633452, 0.018974831, -0.07398912, 0.017520338, -0.032920193, 0.004842279, -0.00579405, -0.11938036) * go_2(1.0, 0.0); - result += mat4(0.18842064, 0.05702536, -0.061931625, -0.06727871, -0.014621294, 0.04080955, -0.013593707, -0.003619943, -0.020285374, 0.01967135, 0.06964358, -0.015948078, 0.008987598, -0.0502518, -0.07550232, -0.03246761) * go_2(1.0, 1.0); - result += mat4(-0.021415083, 0.047334228, 0.09358717, 0.066151075, -0.057634987, 0.038057115, -0.15978286, -0.0306265, 0.03275409, 0.040893096, -0.06797163, 0.038144294, -0.04410495, 0.03834102, 0.12854114, -0.067179) * go_3(-1.0, -1.0); - result += mat4(-0.118068546, 0.031765044, -0.08369015, 0.012474477, -0.034454364, -0.08663203, -0.11515983, 0.11116229, 0.013160141, 0.1618989, -0.0948057, 0.051910333, -0.08929414, 0.2686571, 0.037374903, -0.21924725) * go_3(-1.0, 0.0); - result += mat4(-0.04300725, 0.04822412, 0.16281828, 0.035834175, 0.099052325, -0.14414896, 0.005747616, 0.02214405, 0.13032797, -0.025553104, -0.0975882, 0.093112744, -0.14970464, 0.19270295, -0.08109359, -0.06329011) * go_3(-1.0, 1.0); - result += mat4(-0.10569496, -0.075869955, -0.049005095, -0.06851834, -0.08021023, -0.10791368, 0.04543862, 0.0027774416, 0.050588753, 0.01885911, -0.029016491, 0.14942807, -0.038662244, 0.0020585372, 0.14963345, -0.21736771) * go_3(0.0, -1.0); - result += mat4(-0.017626101, -0.026860205, -0.0166675, 0.09863811, 0.0069533293, 0.08025672, -0.007524914, 0.10343909, 0.030437125, 0.05835893, 0.053286716, 0.11764632, 0.046820708, 0.11034737, 0.13265274, -0.23132078) * go_3(0.0, 0.0); - result += mat4(-0.0002492618, -0.15761827, -0.008163207, 0.10799774, 0.03797858, 0.082984105, -0.1682568, -0.13183926, -0.11445903, 0.16405046, -0.13379891, -0.24530238, -0.12639353, 0.011228589, -0.03275201, -0.039365195) * go_3(0.0, 1.0); - result += mat4(0.19628343, -0.03061746, -0.045941845, -0.11086776, -0.11805122, -0.032416914, -0.021520017, 0.0693067, 0.004571353, 0.016396372, 0.07598534, 0.033040676, 0.012897211, 0.012313861, 0.11968668, -0.08747018) * go_3(1.0, -1.0); - result += mat4(-0.0813893, -0.022178298, -0.040741373, 0.07031036, -0.28552878, 0.06425291, -0.0053351806, 0.120189145, 0.12595983, -0.10747074, 0.0048105116, -0.06664802, -0.022508347, -0.06586251, 0.06035201, 0.14375561) * go_3(1.0, 0.0); - result += mat4(-0.12956624, -0.04242177, -0.0017373727, 0.037004035, -0.00039252886, 0.09018791, 0.0017921329, 0.11215645, -0.035194464, -0.09520843, -0.06663547, 0.050138075, 0.02804902, 0.060663514, -0.07920812, 0.087417066) * go_3(1.0, 1.0); - result += mat4(-0.0029228467, 0.09749893, 0.041897535, -0.18033682, -0.1579824, 0.014144745, 0.032907195, 0.0017276615, -0.059261598, 0.13907957, 0.02144935, 0.041111927, 0.03160442, 0.08409082, 0.048776, -0.095657706) * go_4(-1.0, -1.0); - result += mat4(-0.10480038, -0.042332742, -0.015383398, -0.05648455, -0.11888851, -0.16955213, 0.04470709, -0.022793902, 0.00016517058, -0.056294985, -0.047431663, 0.012045597, -0.09375551, -0.11388544, -0.12949479, -0.008033533) * go_4(-1.0, 0.0); - result += mat4(-0.06412859, -0.055691525, -0.014857645, 0.09801412, -0.05405835, -0.053803347, -0.0013197206, -0.12301804, 0.07946899, 0.06714871, -0.07215845, 0.017334301, -0.025533507, -0.10721457, 0.073318854, -0.14206216) * go_4(-1.0, 1.0); - result += mat4(0.058060713, 0.093734995, 0.01842975, -0.29179135, 0.0602599, -0.024193754, 0.01761975, -0.026523773, 0.28867632, 0.00483472, 0.07755528, -0.016514888, 0.015965128, 0.17118327, -0.19532546, -0.07110416) * go_4(0.0, -1.0); - result += mat4(0.0128605245, -0.1741353, -0.03638385, -0.048088867, 0.10223092, 0.23232879, -0.0054223654, -0.00045356248, 0.12773679, -0.006512435, 0.07379372, 0.08680171, -0.035877902, -0.054623656, 0.07132212, 0.09048987) * go_4(0.0, 0.0); - result += mat4(-0.009797465, 0.060523454, 0.073391296, -0.13990612, -0.12679388, 0.07210466, 0.1628591, -0.07687422, 0.1963603, 0.10681905, 0.06749501, -0.20079397, -0.0019436153, 0.07006026, 0.030871613, -0.08604229) * go_4(0.0, 1.0); - result += mat4(-0.12500001, -0.16281945, -0.019086959, 0.27618113, -0.038304567, -0.015725048, -0.024617916, -0.035548065, 0.15954372, -0.04278374, -0.06421704, -0.00039818592, -0.0482903, 0.10892429, -0.14975885, 0.005292497) * go_4(1.0, -1.0); - result += mat4(-0.017346809, -0.046994127, 0.032871798, 0.0013864548, -0.16245434, -0.12618968, 0.09413434, -0.076167226, -0.07559192, -0.10978536, 0.0911529, 0.11722477, 0.015144819, -0.01594627, -0.18361738, -0.13300706) * go_4(1.0, 0.0); - result += mat4(0.196295, 0.08153582, -0.0046313326, -0.020369306, -0.10097475, -0.058573876, 0.02360406, 0.34065554, 0.07581009, -0.024701435, -0.0036000118, 0.14957961, 0.06200422, -0.007515458, 0.108764246, -0.06800964) * go_4(1.0, 1.0); - result += mat4(-0.032589618, -0.0015710328, 0.016760994, -0.059781738, -0.074785665, 0.052239433, 0.05612257, -0.065350436, -0.020133277, 0.072456904, 0.11718997, -0.021059798, -0.07565095, -0.08362852, 0.045464966, -0.063447826) * go_5(-1.0, -1.0); - result += mat4(-0.1102015, -0.031135883, 0.09267165, -0.058451813, -0.13763309, 0.07187428, -0.08874953, 0.08555874, -0.037774604, 0.049590353, 0.26134104, 0.018416924, -0.081239395, -0.013879623, 0.090619825, -0.036696743) * go_5(-1.0, 0.0); - result += mat4(-0.06493723, -0.010833561, -0.0040989053, -0.05103571, 0.058725636, -0.016349433, -0.19289434, -0.02820378, 0.10755951, -0.09996525, 0.022100247, -0.0135096535, -0.13146846, -0.1046519, 0.22726761, -0.043585762) * go_5(-1.0, 1.0); - result += mat4(-0.05782105, -0.065180056, 0.36255524, -0.07636241, -0.025651963, -0.12618172, -0.014441459, 0.11177841, 0.05698485, 0.04069727, -0.1798041, -0.18843612, -6.748983e-05, -0.15634717, -0.14003754, 0.067269295) * go_5(0.0, -1.0); - result += mat4(0.14520092, -0.12358684, -0.2308459, 0.06433382, 0.14404234, -0.018400794, -0.04435697, 0.0468437, 0.025523597, -0.22619915, -0.1016596, 0.049539804, 0.18028462, -0.083644226, -0.101813614, -0.020419104) * go_5(0.0, 0.0); - result += mat4(0.0802013, 0.028405981, -0.046696443, 0.04202267, 0.025745654, -0.04509517, 0.16942215, -0.07011387, 0.0020332548, -0.0648844, -0.20601165, 0.12061787, 0.05914776, -0.27518207, 0.17372149, -0.009302444) * go_5(0.0, 1.0); - result += mat4(-0.017286759, -0.11818566, 0.10640867, -0.008934892, 0.20847458, 0.055007588, 0.11734843, 0.12208416, -0.044339962, -0.06791728, -0.07898345, 0.09904303, -0.06864673, -0.016157066, 0.04056718, -0.10148076) * go_5(1.0, -1.0); - result += mat4(0.10796872, -0.13242823, 0.26613814, 0.014023097, -0.21846855, 0.010950801, -0.26663643, -0.07875743, 0.06405232, -0.00032474866, 0.090980455, -0.065073796, -0.037091963, -0.04538706, 0.0023358157, 0.0067520686) * go_5(1.0, 0.0); - result += mat4(0.056303564, -0.08950635, -0.08650799, -0.029363103, -0.16495064, -0.13165015, 0.07930873, 0.13557468, 0.16211954, 0.03483085, 0.11933352, 0.007469677, 0.117681414, -0.094969146, 0.009896069, -0.022225311) * go_5(1.0, 1.0); - result += vec4(0.06926819, 0.0008862821, -0.038584497, 0.022858847); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.015411904, -0.3481058, -0.14065851, 0.25672877, 0.11077625, 0.14430125, 0.075987406, 0.13401817, -0.028904252, 0.010471815, -0.13755904, -0.043050054, -0.23878446, 0.032667324, 0.0065731215, -0.24957936) * g_0; - result += mat4(-0.11764895, -0.045424536, -0.039502602, 0.12982897, 0.229541, -0.18251237, 0.07418932, -0.019108484, 0.07372666, 0.032683663, 0.2243215, 0.30212626, 0.12498196, 0.24965945, 0.04350288, 0.3903582) * g_1; - result += mat4(0.20100635, 0.15522125, 0.18275909, -0.0052163424, -0.08758867, -0.22356448, 0.22349271, 0.22447799, 0.07740293, -0.3192609, -0.06672845, -0.0633777, 0.056181088, -0.21348128, -0.13974325, -0.036865283) * g_2; - result += mat4(0.18827224, -0.13507625, -0.08306733, 0.049136307, -0.095121965, 0.16284102, 0.05845094, 0.11416881, 0.062486872, 0.1405637, 0.1685204, 0.13717267, -0.07496871, 0.25640628, 0.11199113, -0.01789177) * g_3; - result += mat4(0.27167314, 0.035950907, 0.032459494, -0.11790055, 0.12248767, 0.06978094, 0.3084216, 0.08794611, 0.07387762, 0.053205058, 0.099851795, -0.10258492, -0.14328477, 0.13806304, 0.026629662, -0.28694016) * g_4; - result += mat4(-0.06586842, -0.06801413, -0.14677979, -0.0768508, 0.26984748, 0.11354619, 0.116293885, 0.014563355, -0.21626909, 0.19715959, -0.10084105, -0.20142159, 0.03564203, -0.102611236, -0.050990574, -0.09135196) * g_5; - result += mat4(0.35307628, -0.14951418, -0.35223207, 0.030067248, 0.12195168, 0.28564107, -0.02129123, 0.13029817, 0.11705502, 0.020162629, 0.06902506, -0.3966005, -0.4818593, -0.33073005, 0.072956145, -0.12939528) * g_6; - result += mat4(0.00530956, -0.12135435, 0.070373125, -0.16821058, -0.008556209, -0.17572887, 0.14526288, -0.16719544, 0.038015194, 0.21531321, -0.0031482165, 0.43273294, -0.28057137, 0.20323606, 0.06625515, 0.21552464) * g_7; - result += mat4(-0.063178524, 0.24973153, 0.013720456, 0.056591444, 0.019021465, -0.26067972, -0.10853732, 0.030659003, -0.0700846, 0.033658378, -0.14822826, 0.004289035, -0.043764096, 0.20344602, -0.09091495, 0.071616665) * g_8; - result += mat4(0.12145554, -0.0624854, 0.19910428, -0.22141473, -0.06820842, 0.14774227, 0.23123792, -0.20847356, -0.0788949, -0.02772492, 0.161529, -0.056242056, -0.09748238, 0.17754894, -0.10482487, 0.004179268) * g_9; - result += mat4(0.33851695, 0.24063228, 0.061941892, -0.17925197, 0.009762858, -0.110571444, 0.17266293, 0.018386278, -0.13628517, 0.012900279, -0.20001967, 0.07412768, 0.092519194, 0.025905496, 0.013374791, -0.18080667) * g_10; - result += mat4(-0.35484606, -0.24163297, -0.20655888, 0.25741658, -0.054093473, 0.24703228, -0.13321623, 0.06730745, 0.1915146, -0.12488617, -0.039931353, -0.16139272, -0.17825414, 0.005273623, -0.06986308, -0.20182024) * g_11; - result += mat4(0.10539724, -0.14134564, -0.09422101, 0.07420711, 0.124219745, -0.050976872, -0.0036057911, -0.18727909, 0.024319967, 0.29918167, 0.07634522, 0.19821624, 0.32139403, 0.23670414, -0.32440105, -0.038693212) * g_12; - result += mat4(-0.18223715, 0.18983413, 0.48830718, 0.024916872, -0.3343574, -0.12711638, 0.11339659, 0.122138545, -0.105839044, -0.14808372, -0.18010806, -0.15808982, -0.26355624, 0.12354337, -0.11911975, -0.10833433) * g_13; - result += mat4(0.38319695, 0.05502718, 0.011898256, 0.042783014, 0.21362592, 0.042454682, 0.19834186, -0.073223054, 0.057000954, -0.056501992, 0.06412959, 0.036385205, 0.1374011, -0.062440563, 0.17463037, 0.047360953) * g_14; - result += mat4(0.08570211, -0.06420987, 0.061411254, -0.15230267, -0.12127754, 0.06184008, -0.17644596, 0.022357073, 0.08968545, 0.10179604, -0.14161776, -0.10706859, 0.014307138, -0.120175295, -0.1018418, 0.04443384) * g_15; - result += mat4(-0.07310467, -0.09482765, 0.11474074, -0.21321261, -0.036888484, -0.036406234, -0.14175038, -0.18403974, 0.073185734, -0.11334264, -0.04354356, -0.1334644, -0.28488088, 0.155462, 0.13175695, -0.045593392) * g_16; - result += mat4(-0.0013599097, -0.094864406, -0.2907292, 0.1529276, -0.019177636, -0.04425709, -0.11138836, 0.13960573, 0.28229222, 0.032372613, -0.12031677, -0.037267342, 0.19885163, -0.07453253, -0.008422101, -0.18792655) * g_17; - result += mat4(0.2524008, -0.056883294, 0.2737073, 0.25479946, -0.105945334, 0.18521947, 0.09495465, -0.16628663, 0.10909617, -0.34263077, 0.13374376, 0.034627344, -0.15817793, -0.014514654, -0.089533, -0.007011694) * g_18; - result += mat4(-0.26738396, 0.22419624, -0.06836402, 0.032150477, 0.13000076, -0.08652478, -0.0856218, -0.07700419, 0.10129944, 0.0689117, 0.027205365, -0.07991292, 0.23872668, -0.081905946, 0.028084237, -0.09570726) * g_19; - result += vec4(-0.030411588, -0.03504694, 0.0062963464, -0.0060779224); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf1 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06229179, 0.07447952, 0.17544238, -0.029056227, 0.23295781, -0.25401062, 0.060630303, -0.26968777, -0.06298657, 0.23999286, 0.07138117, -0.12207766, 0.3314945, -0.060328502, -0.05256118, -0.11967128) * g_0; - result += mat4(0.009106781, -0.15019597, 0.107759155, -0.013013227, -0.1201809, 0.18982023, -0.084957175, 0.03017393, 0.02300354, 0.16276407, 0.20732218, -0.07420877, -0.18172643, 0.14273722, -0.11420885, -0.13387239) * g_1; - result += mat4(-0.091283925, 0.125469, 0.15440796, 0.03595249, 0.1367125, -0.26021275, -0.034883995, 0.1384171, 0.034683395, 0.012753063, 0.059117932, -0.060619134, 0.018635055, -0.20502415, 0.026565414, 0.25979492) * g_2; - result += mat4(0.016796626, 0.15069105, -0.061102454, 0.023371994, -0.08180385, 0.018199123, -0.0563611, 0.23894419, -0.06728213, 0.11131519, 0.03154735, -0.05907408, -0.1616918, -0.247807, 0.12373462, 0.04899162) * g_3; - result += mat4(-0.29031062, 0.28420377, 0.038582914, 0.27378574, -0.08802812, 0.053966224, 0.018315062, 0.0067930855, 0.036932472, -0.041048605, 0.03820459, -0.0073364014, 0.10362766, 0.026039885, -0.23032854, -0.1956355) * g_4; - result += mat4(-0.12793514, 0.28202888, 0.12303155, 0.29286426, -0.28697783, 0.012021052, 0.27789843, 0.055134546, 0.1095386, -0.05251396, -0.2255559, -0.17143604, -0.1668448, -0.047896937, 0.083351046, 0.14768548) * g_5; - result += mat4(-0.16652593, -0.1171025, 0.046261553, -0.092330426, 0.45466834, -0.12058069, -0.3161383, -0.008391166, 0.16704272, 0.08296244, -0.15564027, -0.27613795, 0.020327646, -0.122191355, -0.050283693, 0.03534835) * g_6; - result += mat4(-0.01564193, 0.13914119, 0.07802687, -0.1896753, -0.23644254, 0.15426877, 0.064588614, 0.15104239, -0.007543932, 0.14882818, 0.0395721, 0.04181466, -0.07785041, -0.31100297, 0.1204594, 0.12991908) * g_7; - result += mat4(0.13514097, -0.06449617, 0.038062695, -0.24076426, 0.07944077, -0.0040154266, 0.026618825, -0.2406117, -0.020159021, 0.027010564, -0.21324417, -0.0008397984, 0.15394984, 0.07287525, 0.12330107, 0.20474261) * g_8; - result += mat4(-0.034830973, -0.021657703, -0.14613967, 0.1852407, 0.28907514, 0.0729019, -0.104028866, -0.067935266, 0.005923615, -0.07949258, -0.01123202, -0.057730585, -0.006548943, -0.045705102, -0.1578812, 0.048652157) * g_9; - result += mat4(0.07865155, -0.1089475, 0.2799939, 0.04209442, -0.062469423, 0.06282737, -0.309991, 0.056344055, -0.1911143, 0.14326468, 0.08484205, -0.19620831, -0.082943305, -0.10082107, -0.1514525, -0.014929943) * g_10; - result += mat4(-0.2911379, 0.3363872, -0.043308917, 0.22365907, 0.034437142, -0.020528575, 0.21208636, 0.3034834, 0.012269259, 0.03488268, 0.030740876, 0.20943925, 0.005626004, 0.1601836, -0.012430659, -0.06502019) * g_11; - result += mat4(0.15755813, 0.016292375, 0.02457799, 0.13753077, 0.12852463, 0.058444835, 0.29067582, -0.14437278, -0.10174013, 0.029764764, 0.0038154817, -0.18069993, 0.12908849, 0.09049112, 0.020467235, 0.02675185) * g_12; - result += mat4(-0.30425274, 0.172061, -0.04473515, -0.27572066, -0.04441604, -0.0135015845, -0.02134299, -0.030247632, -0.18199432, 0.13888723, -0.1234305, 0.093817785, 0.09853002, 0.12676361, -0.0044124853, -0.0006500754) * g_13; - result += mat4(-0.086448506, -0.09585741, 0.18680948, -0.1595373, -0.0013524789, -0.15327513, -0.24068208, -0.005388094, -0.05461273, 0.08730604, -0.105776325, 0.10966634, 0.17866546, 0.02331487, -0.26239154, 0.05888688) * g_14; - result += mat4(-0.10371749, 0.18664865, -0.085673355, 0.07728855, 0.2016191, 0.14631543, -0.05918329, -0.033308215, 0.13446982, 0.17957696, 0.02237709, -0.111385815, 0.15208769, -0.2766956, -0.042062268, -2.918234e-05) * g_15; - result += mat4(-0.3349197, 0.1320308, 0.034178462, 0.09385523, 0.03969266, -0.09389873, -0.114752054, 0.03206358, -0.14895694, -0.12865661, 0.01785704, 0.09169438, 0.101165384, -0.014787588, 0.08328934, 0.121291555) * g_16; - result += mat4(-0.06074213, 0.18984905, 0.11707254, 0.12558164, -0.20235488, 0.13861518, 0.07092135, -0.3614094, 0.09027116, 0.14745344, 0.083361, -0.23089439, -0.14834873, 0.10834447, -0.24824911, -0.048383813) * g_17; - result += mat4(0.1632019, 0.09772291, -0.21687613, 0.16953598, 0.03563443, -0.14966665, -0.12472958, -0.104619995, 0.124128886, 0.12477276, 0.5057336, -0.04884431, 0.07567298, 0.28349468, 0.17712036, 0.019731894) * g_18; - result += mat4(0.10584999, 0.017437998, -0.1409027, 0.01700227, -0.26804322, -0.01906643, -0.15364946, 0.078551315, -0.38588783, -0.20918682, -0.13819021, -0.12914348, 0.22142257, 0.20084332, 0.07179306, -0.4147244) * g_19; - result += vec4(0.04500602, -0.043274067, -0.024793796, 0.03252472); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf2 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.006507618, 0.35551, 0.10029036, 0.20938163, -0.27909538, 0.107799135, -0.117420286, 0.017393347, -0.07090822, 0.067006424, -0.025181938, 0.06960745, 0.050213918, 0.11024797, -0.06292335, -0.28821605) * g_0; - result += mat4(-0.07828812, -0.24313068, -0.041977264, 0.28533673, -0.046961866, -0.0382004, -0.06722913, 0.046214554, -0.015937736, 0.2662867, -0.11650494, -0.03243863, 0.20631221, 0.01906351, 0.20938441, 0.063740134) * g_1; - result += mat4(0.2477787, -0.15261632, -0.09109093, 0.16242526, 0.030849725, 0.36562842, -0.24916211, -0.2537, -0.0005451666, 0.040962283, -0.12698911, 0.1940532, -0.0031755446, 0.16081375, -0.31149757, 0.24105449) * g_2; - result += mat4(0.15018864, -0.0975225, 0.16312592, -0.023348464, 0.025320804, 0.08907452, -0.20382877, 0.14941658, -0.025980422, 0.2518956, 0.37375775, 0.0670902, 0.21562299, 0.096583225, 0.24626857, -0.1689578) * g_3; - result += mat4(0.032749493, 0.26481724, 0.16459878, -0.1093412, 0.35898176, -0.08814589, -0.19542596, 0.35450563, 0.34313765, 0.082954384, 0.06760144, -0.13203524, 0.08626903, -0.082864255, 0.3760177, -0.052356176) * g_4; - result += mat4(-0.22347268, -0.23800248, 0.22216137, -0.1334753, -0.0019713258, -0.117614284, 0.2928468, -0.022849852, 0.09592314, -0.0526934, 0.07753605, -0.21934861, -0.1660914, -0.2673251, 0.032538224, 0.0033737908) * g_5; - result += mat4(0.4056822, -0.22801818, -0.009285619, 0.20891581, -0.12555836, -0.1479676, -0.15377103, 0.091794685, 0.18693839, 0.029455252, -0.28683576, -0.01816607, 0.034140516, 0.21041095, -0.031228764, -0.20486769) * g_6; - result += mat4(-0.016693812, -0.25051102, 0.250197, -0.143388, -0.012325928, 0.0013464197, -0.045613196, -0.13748543, -0.023561578, -0.03421223, 0.08587755, 0.36944443, 0.0090245735, -0.07692534, -0.21768387, 0.11940026) * g_7; - result += mat4(0.14990924, -0.15969902, -0.24874954, 0.25423834, 0.047977734, -0.11828463, -0.07667344, -0.07940479, -0.033960067, -0.19987972, -0.07886391, -0.1691948, -0.059108987, 0.12546931, -0.09120288, -0.2301952) * g_8; - result += mat4(0.07120231, 0.11496656, 0.11952848, 0.06014948, 0.07809767, 0.10536339, -0.11122203, 0.28110188, 0.014941528, -0.0792158, 0.23271102, 0.1513328, -0.14564197, -0.0053231698, 0.06846381, -0.05170115) * g_9; - result += mat4(0.14952776, 0.1830435, 0.0693483, -0.12810285, -0.2411923, 0.02373353, 0.09710389, -0.00886689, -0.075813554, -0.15807281, 0.019722076, 0.122158974, -0.08879681, 0.1176225, 0.023886852, 0.009521271) * g_10; - result += mat4(-0.12003659, 0.25038052, -0.09751039, -0.21425623, 0.05037122, -0.30314568, 0.056634273, 0.049238324, 0.06321857, 0.058443442, 0.067801915, 0.24130674, 0.10302721, -0.22205399, 0.008704116, -0.10264142) * g_11; - result += mat4(-0.12898026, 0.09346042, 0.29941607, -0.04953118, -0.1304296, -0.0008984169, -0.04556631, -0.14597142, 0.063871995, 0.06488008, 0.08948201, 0.23473148, -0.20545703, 0.10851978, -0.025103066, -0.23575859) * g_12; - result += mat4(0.13659224, 0.08942274, -0.20569776, 0.017678559, 0.09806826, 0.15677394, 0.15822731, 0.029734695, -0.08716191, -0.01778334, -0.13599, -0.16893873, -0.30254295, 0.18124272, 0.051892713, -0.18010335) * g_13; - result += mat4(-0.002885469, 0.009502494, 0.12664194, 0.21007413, -0.08120904, 0.04213149, -0.19298813, -0.09197216, -0.11336129, 0.026870906, 0.11918877, -0.07471192, 0.07715422, -0.28567305, -0.0050871065, -0.0589191) * g_14; - result += mat4(0.11605678, 0.017162867, -0.00952252, 0.12467068, 0.118510686, -0.186823, -0.13314165, 0.027390392, 0.19537403, 0.21234393, 0.3235463, -0.041289236, 0.07744967, 0.36400458, 0.25095546, 0.09901454) * g_15; - result += mat4(-0.17919436, 0.1251613, -0.18175727, 0.021816947, -0.04216387, 0.10944426, 0.02161377, -0.0076910397, 0.03792699, 0.04829799, 0.16696233, 0.27722096, -0.15549976, -0.0015638673, -0.046067294, -0.21890913) * g_16; - result += mat4(0.02248908, -0.25410384, 0.23302642, 0.013278944, 0.04128571, -0.1978489, -0.068986565, 0.06931732, 0.07257194, 0.10191749, -0.10704886, -0.07942535, 0.10373902, -0.33918902, -0.097765245, 0.35452053) * g_17; - result += mat4(0.10310988, -0.36429033, -0.17563991, -0.33056924, 0.10157224, -0.26683134, 0.10698191, 0.09721982, -0.3825923, 0.011767701, 0.19865969, 0.22241755, -0.16556083, 0.021593302, -0.2107391, -0.20859967) * g_18; - result += mat4(-0.16120493, 0.2403295, -0.25938925, 0.13073151, -0.11099456, -0.19550775, -0.21077448, -0.18629125, -0.082744755, -0.04692217, -0.2137643, 0.19053587, -0.11437479, 0.02856005, 0.3253954, 0.12590827) * g_19; - result += vec4(-0.013902712, 0.006466277, -0.021404289, -0.029253915); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!SAVE conv2d_20_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09294641, -0.1158186, -0.11383922, -0.18075919, 0.13302398, -0.03751026, -0.067699105, 0.09560551, -0.02461861, 0.16565137, -0.06083674, -0.15142106, -0.040619526, 0.13233532, -0.15686019, -0.013839122) * go_0(-1.0, -1.0); - result += mat4(0.044417296, -0.17726582, 0.15873624, -0.25761864, 0.069352694, -0.079825036, 0.17515941, -0.19109002, 0.2139231, 0.019684589, -0.09461715, 0.033632115, 0.06326973, -0.022311855, -0.054165527, -0.021914836) * go_0(-1.0, 0.0); - result += mat4(-0.1298302, -0.024154784, 0.14097355, 0.025328204, -0.065222666, 0.034682933, 0.04185055, 0.03819006, -0.03930244, 0.023453588, 0.07284346, 0.029684428, 0.14533475, -0.019355427, 0.011254047, 0.017419893) * go_0(-1.0, 1.0); - result += mat4(-0.14563386, -0.08222772, -0.30177984, -0.05967725, -0.097646125, -0.16414933, 0.11700978, -0.043248646, 0.14416361, 0.17325267, 0.055524427, -0.08235854, 0.20726103, 0.2069635, 0.12871404, 0.34145215) * go_0(0.0, -1.0); - result += mat4(0.026209459, 0.23920053, 0.12351496, -0.066335455, 0.12753548, 0.113379925, 0.2521918, -0.0059000906, 0.154576, -0.0057768747, -0.06138675, -0.042400908, -0.0010367454, 0.11039277, 0.06401636, -0.04591122) * go_0(0.0, 0.0); - result += mat4(0.040683243, 0.014337892, 0.14728178, -0.08828608, -0.022762204, 0.07433557, 0.08731713, 0.15555556, 0.0038898352, 0.076742835, 0.13739787, -0.13507335, -0.006751211, 0.06023675, -0.16807017, 0.13534886) * go_0(0.0, 1.0); - result += mat4(0.055997107, 0.10363734, -0.11505465, 0.10051812, -0.063410625, -0.037380435, -0.015442374, -0.033114396, -0.10145282, -0.1005693, 0.17274141, 0.009044856, 0.17575212, -0.06881564, 0.08194139, 0.09730184) * go_0(1.0, -1.0); - result += mat4(0.08609495, -0.037443504, 0.05785138, -0.0210377, -0.010028248, 0.039309487, -0.033386406, 0.06802184, 0.04439948, 0.008985963, 0.06598393, 0.12716638, -0.061664846, 0.018561186, -0.020672582, 0.17480755) * go_0(1.0, 0.0); - result += mat4(0.017864816, 0.051641412, -0.035533294, -0.082921945, -0.06792339, -0.18861745, -0.01440961, -0.04727943, 0.13370918, 0.024184503, 0.17790537, 0.22161904, -0.13595536, 0.0019620757, -0.0011823947, 0.09377497) * go_0(1.0, 1.0); - result += mat4(-0.017264143, 0.15716588, -0.11429335, -0.04992877, 0.006302832, -0.017561557, -0.16362968, -0.119030006, -0.028216297, -0.07010418, 0.10948507, 0.03874696, -0.06490529, 0.09936819, -0.07403505, 0.13423388) * go_1(-1.0, -1.0); - result += mat4(0.21096039, -0.030001203, 0.26182327, -0.30905315, -0.06576998, -0.16503945, -0.05604086, 0.09934356, 0.03867048, -0.11057229, -0.03899883, -0.20984182, 0.28392267, 0.106830716, 0.18248665, 0.1609516) * go_1(-1.0, 0.0); - result += mat4(0.05847982, -0.061215837, 0.062305983, -0.05504516, -0.002925314, -0.030206572, -0.029340278, 0.024437418, -0.008038368, -0.21633625, -0.00814884, 0.36257815, 0.009820865, -0.029340588, -0.012933708, -0.09077532) * go_1(-1.0, 1.0); - result += mat4(-0.04170194, 0.107179575, -0.023424922, -0.24142934, 0.21078281, -0.07349173, -0.16382796, 0.06679311, 0.11899595, 0.24838819, 0.038586155, 0.23684317, -0.20525086, 0.1372336, 0.093804926, -0.07361924) * go_1(0.0, -1.0); - result += mat4(0.15165257, 0.11615761, 0.313838, 0.07120216, -0.13011925, -0.13735199, 0.10538029, -0.011271374, 0.04622528, -0.006749806, 0.011059132, -0.16288637, 0.026936894, 0.18702355, 0.088553816, 0.1794082) * go_1(0.0, 0.0); - result += mat4(-0.032357164, 0.010167581, 0.15498924, 0.09117371, 0.11227337, -0.050463077, -0.028285068, -0.1377718, 0.08330387, -0.23446722, -0.23247677, -0.1829469, 0.056669325, 0.2377977, 0.08802427, 0.064405255) * go_1(0.0, 1.0); - result += mat4(-0.05357501, 0.021199243, -0.08600578, 0.022257347, 0.011408827, -0.0050491816, -0.057687394, 0.14744234, -0.09267379, -0.15668261, 0.13397205, -0.053909495, -0.006844299, 0.18583481, 0.018428689, 0.08704116) * go_1(1.0, -1.0); - result += mat4(-0.011847375, -0.0067721186, 0.30313665, -0.08950501, -0.019289348, -0.13872112, -0.103812315, 0.1855238, 0.09282658, 0.08178805, -0.026845777, -0.05244464, 0.09294287, -0.02069455, -0.008373871, 0.05652373) * go_1(1.0, 0.0); - result += mat4(-0.0050423755, -0.022601169, 0.08414679, 0.14937675, -0.0026541906, -0.02450683, -0.009913411, -0.06732805, 0.051323414, -0.023584072, -0.14653604, 0.20639488, -0.056317866, -0.060301743, -0.011312024, -0.076251455) * go_1(1.0, 1.0); - result += mat4(-0.109271415, -0.02896675, -0.009695293, 0.08384622, -0.0036152625, -0.14080207, -0.040540285, -0.12666075, -0.11080371, -0.118533805, 0.0008845531, -0.051511787, 0.01846824, 0.07217671, 0.06317925, -0.011579162) * go_2(-1.0, -1.0); - result += mat4(-0.0098831775, 0.02577478, 0.03427075, -0.19805092, 0.11983348, 0.13377845, 0.23250616, -0.10981398, -0.017667765, -0.054577116, -0.052353706, 0.19620399, 0.17931293, 0.026314069, 0.09285351, 0.13471241) * go_2(-1.0, 0.0); - result += mat4(0.0044629225, -0.01810919, 0.07654668, 0.01870599, 0.01230688, -0.12048502, -0.044906557, 0.15119185, 0.07858472, -0.045783166, -0.11159382, -0.033761594, 0.11503779, 0.11318943, -0.036339156, -0.06597187) * go_2(-1.0, 1.0); - result += mat4(0.035713598, -0.03531832, -0.09600573, 0.060029324, 0.06513237, -0.06156464, 0.031462513, -0.034171887, -0.08329228, -0.1699912, -0.1788344, -0.114334606, 0.1276991, -0.18625216, 0.008950445, -0.11454878) * go_2(0.0, -1.0); - result += mat4(-0.089447655, 0.12820958, 0.04766808, -0.08752495, 0.05474904, -0.018004049, 0.09516643, 0.028639503, 0.08431041, -0.18038012, -0.16312553, -0.043258812, 0.05856565, -0.18499035, 0.13299939, 0.019616196) * go_2(0.0, 0.0); - result += mat4(-0.13868435, -0.0021450857, -0.050741415, -0.021135109, 0.22957061, -0.1024089, 0.072753765, 0.009929925, 0.05660099, -0.042447466, 0.12399499, -0.015540306, -0.0062580383, 0.026042579, -0.016714064, 0.055952474) * go_2(0.0, 1.0); - result += mat4(0.07411661, 0.03283327, -0.06667389, 0.04884367, 0.040718928, -0.15359843, 0.17676751, 0.035261173, 0.056293286, 0.07593688, -0.15237808, 0.035726074, -0.1112144, -0.0006580278, 0.009302558, -0.068437986) * go_2(1.0, -1.0); - result += mat4(-0.06699668, -0.08044169, -0.028106725, 0.08421807, -0.09363219, 0.040584683, 0.14185178, 0.050851252, -0.0610543, 0.15692091, -0.05999308, -0.014868457, -0.11972303, 0.031658858, 0.00753601, -0.14760475) * go_2(1.0, 0.0); - result += mat4(-0.05381733, -0.013843267, 0.0064064683, 0.04844634, 0.03491151, 0.05287661, -0.05664069, 0.08830533, -0.0052366625, 0.058663126, -0.03569328, 0.029297765, -0.013606053, 0.05512517, -0.0085320845, -0.099100634) * go_2(1.0, 1.0); - result += mat4(0.113082245, 0.013978219, -0.15910351, -0.09554144, -0.01833795, -0.0644012, -0.09022978, -0.01195027, 0.22739775, 0.0655376, -0.12980658, -0.03807146, 0.027440801, -0.00748236, 0.08664939, 0.039376393) * go_3(-1.0, -1.0); - result += mat4(0.1869336, 0.12666042, 0.10013194, -0.12667616, -0.14024873, -0.1103707, -0.11400852, 0.050235026, -0.081609644, 0.17705022, 0.09259843, -0.09109346, -0.07577727, -0.056907117, -0.031225577, 0.08265047) * go_3(-1.0, 0.0); - result += mat4(-0.045408096, 0.051238175, 0.07416475, -0.10420649, 0.21300174, -0.12634194, -0.04180748, 0.091014005, 0.028725134, -0.07714135, -0.052186225, -0.0325272, 0.0809717, -0.035156228, -0.12211841, -0.12596777) * go_3(-1.0, 1.0); - result += mat4(0.15666568, 0.13103995, 0.07484423, -0.1408892, 0.16545156, 0.12429429, 0.13765953, 0.10343804, 0.07211865, 0.1857474, -0.19201575, 0.13950339, 0.13572817, -0.08897522, 0.05181235, 0.040699657) * go_3(0.0, -1.0); - result += mat4(0.060997564, 0.004741357, -0.16104372, 0.17935832, 0.0048122844, -0.2265489, -0.24393651, 0.31268173, 0.27526522, -0.07406689, 0.09530693, 0.19375011, -0.059768572, -0.0650623, -0.09408784, 0.0065967236) * go_3(0.0, 0.0); - result += mat4(-0.03201393, 0.0933393, 0.017663121, 0.022775916, 0.15085602, -0.06905511, -0.024943229, -0.024926227, -0.024189468, 0.20101236, -0.07340361, -0.0352635, 0.041247666, 0.17063814, -0.12569599, 0.14746365) * go_3(0.0, 1.0); - result += mat4(-0.063521154, 0.087067194, -0.048564807, -0.07831136, -0.09305777, -0.14888498, -0.07730665, 0.091307685, -0.014140842, 0.15308905, 0.041133467, 0.14461096, 0.030292403, 0.052176412, -0.0064460402, -0.006674204) * go_3(1.0, -1.0); - result += mat4(-0.074680164, 0.15867938, -0.043194182, -0.04247156, -0.030427527, -0.13324276, -0.0849375, -0.0012677576, -0.046072684, 0.10360166, 0.061219912, 0.038694333, 0.007354044, -0.059634488, 0.06424205, -0.06396095) * go_3(1.0, 0.0); - result += mat4(0.047146562, 0.029874887, 0.041508146, -0.08238011, 0.028167995, -0.056289103, -0.09459171, 0.08272971, -0.13951209, 0.0024278602, -0.1948553, -0.045429546, 0.02149894, -0.072801635, 0.0040058377, 0.04961522) * go_3(1.0, 1.0); - result += mat4(0.0035803285, -0.011417722, 0.093399316, -0.028740522, -0.051005416, -0.09839506, -0.07549599, 0.029942147, -0.028693104, 0.17376035, 0.020670101, -0.13552317, 0.01320766, -0.030528337, -0.002924167, 0.05864404) * go_4(-1.0, -1.0); - result += mat4(-0.0032484033, 0.011529664, -0.024597712, 0.006284061, -0.047943357, 0.0010930945, 0.0020769844, -0.016858231, -0.17841692, 0.06463831, -0.019606594, 0.14750104, -0.022879092, -0.010242112, -0.08920587, 0.031848677) * go_4(-1.0, 0.0); - result += mat4(-0.074352615, -0.005919074, 0.005782582, 0.020316001, -0.04763056, 0.016487207, 0.013347862, 0.12599403, -0.026518365, 0.10605418, -0.15208714, 0.13918227, 0.0045341784, -0.17405283, 0.0037167477, -0.019297974) * go_4(-1.0, 1.0); - result += mat4(-0.15260784, -0.092385136, -0.14661121, 0.13285598, 0.000685534, 0.089646846, 0.070177704, -0.033807848, -0.034933034, -0.13887317, -0.033632874, -0.02390552, -0.19830498, -0.11550691, -0.22427958, -0.11563313) * go_4(0.0, -1.0); - result += mat4(-0.14179914, 0.16005456, -0.10719186, 0.19021456, -0.07924184, -0.1292815, -0.3304126, -0.072820365, -0.13208194, 0.12909785, -0.18195078, 0.0005577344, 0.015572346, -0.07788106, 0.22707236, -0.058145594) * go_4(0.0, 0.0); - result += mat4(-0.0020186717, 0.13094911, 0.056740236, 0.13746777, -0.12028731, 0.07318106, -0.06788638, -0.011701235, -0.09618727, -0.086764775, -0.06012734, -0.08546645, -0.06689775, -0.17323029, 0.08294139, 0.0100521725) * go_4(0.0, 1.0); - result += mat4(-0.17888522, -0.034924157, 0.17387538, -0.084485255, 0.0118150655, 0.09186377, 0.16138373, -0.07273615, -0.07996559, 0.023678366, 0.08273731, -0.11342224, -0.04240804, -0.1106497, -0.026108013, 0.027623102) * go_4(1.0, -1.0); - result += mat4(-0.000458541, 0.01851989, 0.21986355, -0.104299635, 0.2342987, -0.17364407, -0.006433297, 0.071846694, -0.22427829, -0.16493757, -0.09133518, -0.13916811, 0.05539187, -0.036943633, -0.17862594, -0.02652375) * go_4(1.0, 0.0); - result += mat4(0.035956334, 0.04479069, 0.0025612311, -0.15087438, -0.008698598, -0.031548824, -0.080667846, -0.14909576, -0.054705918, -0.02101649, 0.066699855, -0.17162657, 0.08169786, -0.021073151, -0.09145583, -0.05493102) * go_4(1.0, 1.0); - result += mat4(0.12376377, 0.030232588, 0.039936855, 0.1703946, 0.006420258, 0.12515192, 0.2831958, -0.124901466, -0.05655792, 0.0037408515, -0.09108924, -0.070766285, 0.07943606, 0.12987587, 0.029344313, -0.0190588) * go_5(-1.0, -1.0); - result += mat4(0.16694774, 0.29920718, -0.17362227, -0.04363615, 0.10560856, -0.16827479, 0.021607764, 0.09804199, -0.062238254, -0.030233778, 0.121561594, 0.13902298, -0.012816795, 0.00013161855, -0.06388857, -0.32021064) * go_5(-1.0, 0.0); - result += mat4(-0.0044640037, 0.08859944, 0.14951241, 0.050695077, 0.1086804, 0.17554376, 0.030289644, 0.09259605, 0.019261833, -0.18367371, 0.1119654, 0.0019211815, 0.022823188, 0.04705905, -0.015794605, -0.03769136) * go_5(-1.0, 1.0); - result += mat4(-0.022050636, -0.053092785, 0.1256514, -0.18914121, -0.02523783, -0.085544035, -0.06325046, 0.1184791, -0.14761166, -0.0023359838, -0.111324035, 0.039635215, 0.23335013, 0.49924138, -0.12330757, 0.12380497) * go_5(0.0, -1.0); - result += mat4(-0.15033622, -0.21257126, -0.0680606, 0.07837463, -0.20294017, 0.18734957, -0.19354935, -0.17342475, 0.06136688, 0.04444599, 0.058139533, -0.041831546, -0.096620694, 0.3100417, -0.016585616, 0.35714212) * go_5(0.0, 0.0); - result += mat4(-0.046841778, -0.04147061, -0.02593143, 0.06537049, -0.043345295, -0.07501616, -0.2039158, -0.013717456, 0.061606117, -0.053962696, 0.16390117, 0.19614251, -0.03473919, 0.41777435, -0.119797945, -0.11393415) * go_5(0.0, 1.0); - result += mat4(-0.16153297, -0.072921485, -0.116643205, -0.0148084555, -0.11596615, 0.10866507, -0.12831023, 0.032740112, -0.09391959, -0.017795717, 0.066344894, -0.023708157, 0.0017712148, -0.0061637852, 0.15363464, 0.26850593) * go_5(1.0, -1.0); - result += mat4(-0.112800024, -0.17930314, 0.031512067, -0.16306019, 0.095627084, -0.13715069, -0.08529468, 0.20360838, -0.045604475, -0.025609516, 0.010655033, -0.026090728, 0.0096726315, 0.123240486, 0.05983414, 0.11894432) * go_5(1.0, 0.0); - result += mat4(-0.019307632, -0.08782039, -0.0030846242, 0.08162739, 0.08727088, -0.054656297, -0.016857732, 0.040473524, 0.0921656, 0.08112972, 0.0015579774, 0.009485926, -0.10490898, 0.08099371, 0.08312537, 0.0061792736) * go_5(1.0, 1.0); - result += vec4(-0.051287252, 0.057500422, -0.012066811, -0.003607342); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!SAVE conv2d_19_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.17232095, 0.05196963, 0.1957015, -0.012670488, -0.03983681, 0.031149302, 0.039694704, 0.020508116, -0.12783968, 0.004216091, -0.00836861, -0.023543797, -0.028499011, 0.13811529, 0.03197489, -0.031296503) * go_0(-1.0, -1.0); - result += mat4(-0.035738144, -0.07685536, -0.24839115, 0.050282005, -0.033324722, 0.11388902, -0.04584055, -0.079211496, 0.111792184, 0.081673115, 0.023834156, -0.07562505, 0.08974356, 0.06918628, 0.1438924, 0.25376153) * go_0(-1.0, 0.0); - result += mat4(-0.01594264, -0.051040996, -0.17032662, 0.04061899, 0.050063428, 0.043036774, -0.052380044, 0.056100003, -0.0063007106, -0.035981517, -0.08852574, 0.21601331, -0.064668365, -0.0619801, -0.14144057, 0.13158554) * go_0(-1.0, 1.0); - result += mat4(0.19074002, 0.039619297, 0.114354186, 0.21006018, 0.03622692, 0.05341186, -0.07767327, 0.018759921, 0.10909838, 0.09453698, -0.104584634, -0.022526927, -0.15922396, -0.06956033, 0.13617443, -0.13963418) * go_0(0.0, -1.0); - result += mat4(-0.023758968, 0.24589951, -0.21106692, -0.12995054, -0.0015635567, -0.083123736, -0.24123181, 0.03764839, 0.32796848, 0.21975699, -0.05459605, 0.14844929, 0.17255868, 0.10748497, 0.16037765, -0.03986278) * go_0(0.0, 0.0); - result += mat4(-0.12095075, 0.014222217, -0.17565662, -0.072168805, 0.1491409, 0.0054073245, 0.0025672442, -0.14129455, 0.0048770322, 0.10851389, -0.24521907, 0.11027851, -0.011124933, -0.11656673, -0.17195827, -0.22370163) * go_0(0.0, 1.0); - result += mat4(-0.038839977, -0.044546135, 0.0071988306, -0.13346611, 0.0298906, -0.0655723, -0.019216442, 0.009032108, 0.03212269, -0.052555725, -0.053255882, -0.055271696, -0.01219769, 0.17089464, 0.06283344, 0.03760205) * go_0(1.0, -1.0); - result += mat4(-0.0035380342, -0.15694073, 0.16781923, -0.13552342, -0.07383044, -0.23585534, -0.13073628, 0.12075837, -0.049202695, 0.042893164, 0.047651123, 0.010171804, 0.07239369, 0.09716291, 0.19222859, 0.057004813) * go_0(1.0, 0.0); - result += mat4(0.04864448, -0.18188159, 0.15280305, -0.09898409, -0.03915652, 0.07971998, 0.021496097, -0.026700165, -0.124248706, -0.11954617, -0.13983545, 0.022560695, 0.11862742, -0.1211255, 0.0035039925, -0.05858093) * go_0(1.0, 1.0); - result += mat4(0.05539291, 0.011540769, 0.12988773, -0.09431168, -0.22786912, -0.14023057, -0.07235529, 0.03326467, -0.10465756, -0.09263049, -0.10386387, -0.16427693, 0.013285068, -0.058711633, 0.011129011, 0.107626244) * go_1(-1.0, -1.0); - result += mat4(0.026477838, 0.08712371, 0.0106525505, 0.095340036, -0.033396285, -0.08356796, -0.006512677, -0.016520914, -0.11557968, 0.025195913, 0.013604985, -0.05068749, 0.03991739, -0.30245325, -0.30390647, 0.15323944) * go_1(-1.0, 0.0); - result += mat4(0.123073824, 0.08234513, 0.046411622, 0.12904918, -0.07630806, -0.045369815, -0.048796657, 0.059665594, -0.24505447, -0.0051562684, 0.059416622, 0.059635036, -0.21593623, -0.053717196, -0.13353199, 0.0269834) * go_1(-1.0, 1.0); - result += mat4(0.34161064, 0.2998807, 0.15291405, 0.12629528, -0.09681671, 0.0053160326, 0.014049323, 0.038924143, -0.08234762, -0.05640955, -0.06644744, -0.169, 0.10996828, -0.08773881, 0.046290014, -0.20815368) * go_1(0.0, -1.0); - result += mat4(0.09492253, -0.18687363, -0.29793888, 0.08194403, 0.06544232, 0.21565121, -0.11924395, 0.21280313, 0.14904131, 0.010867663, -0.031090708, 0.02972627, 0.05503199, -0.2580428, -0.11424236, -0.18637592) * go_1(0.0, 0.0); - result += mat4(0.12098179, 0.027045874, -0.07356119, 0.120656446, -0.026882645, 0.11918208, -0.075733475, -0.019169822, -0.050393365, -0.22304833, 0.0010975708, 0.17012344, -0.11099007, -0.00014199367, -0.18906291, -0.16121203) * go_1(0.0, 1.0); - result += mat4(0.30686033, 0.16368441, 0.18450093, 0.08483293, -0.1576842, -0.021885727, -0.00790592, 0.08727723, 0.016727412, 0.048148774, 0.03734899, 0.08563833, -0.034121696, -0.021873025, -0.03973087, 0.037528913) * go_1(1.0, -1.0); - result += mat4(0.19380733, 0.011115564, 0.035776794, -0.20635456, -0.031124758, -0.0056327996, -0.050223853, -0.049936183, 0.10508698, 0.22232406, 0.19983801, 0.027960615, 0.15511817, -0.3483113, -0.072132036, 0.2348954) * go_1(1.0, 0.0); - result += mat4(-0.08979386, -0.025793906, -0.12783967, -0.022007767, 0.00082973664, -0.08179508, -0.05162517, -0.13117367, -0.11426664, -0.21943225, -0.08568666, -0.112526596, 0.07754692, -0.09914543, -0.10320428, 0.14581469) * go_1(1.0, 1.0); - result += mat4(0.010238713, -0.05766967, 0.075526096, -0.042434614, -0.0048401575, -0.0018482467, -0.086450554, 0.011457697, -0.16705558, 0.010554879, -0.057052955, 0.06417055, 0.01566093, 0.03897155, 0.027091417, -0.031672284) * go_2(-1.0, -1.0); - result += mat4(0.1342295, 0.12146632, 0.183517, -0.10563802, 0.05472728, 0.053951643, 0.023981905, 0.032106545, -0.061893966, 0.16877505, 0.024926068, 0.1632674, -0.032986403, -0.058130085, 0.05218083, -0.0049105175) * go_2(-1.0, 0.0); - result += mat4(0.060167424, -0.11205342, -0.058815766, -0.025406862, -0.09364195, -0.12034122, 0.019811962, 0.022740806, -0.034774538, 0.09634627, 0.007947957, -0.0969919, -0.054708626, -0.034688447, 0.105931975, -0.051818643) * go_2(-1.0, 1.0); - result += mat4(0.016515028, 0.047139984, 0.14790079, 0.09271807, 0.14395235, 0.049008638, 0.07820809, 0.04071514, 0.020879751, 0.074349314, 0.048903707, 0.08953904, 0.09793068, -0.0134541085, -0.033851102, 0.08052725) * go_2(0.0, -1.0); - result += mat4(-0.06403659, 0.019287083, -0.03442876, 0.022155492, 0.042041622, 0.024868082, -0.0052332664, -0.16024074, -0.2025663, 0.0834284, -0.2938131, -0.13355014, 0.051825467, 0.17795074, 0.013376224, 0.073285446) * go_2(0.0, 0.0); - result += mat4(-0.07917029, -0.10543174, -0.06774603, 0.11356946, 0.095979065, 0.06306864, -0.022703176, -0.1331111, 0.029465768, 0.19977406, -0.183874, -0.048162457, -0.052976456, -0.003203888, -0.083660446, -0.00473143) * go_2(0.0, 1.0); - result += mat4(0.067382015, -0.036516793, 0.008363289, 0.054699454, 0.0080375215, 0.029587539, 0.09327044, -0.10854276, -0.03717116, 0.011462987, -0.012637284, -0.038641863, -0.03825869, -0.07617418, 0.035327263, 0.0015065607) * go_2(1.0, -1.0); - result += mat4(0.032740314, -0.09845175, -0.06052756, -0.017656168, 0.06285339, 0.115741976, 0.0015970734, 0.0700449, 0.097625814, 0.09785281, -0.17113277, 0.08020761, -0.011976542, 0.19887382, -0.057363894, -0.031950586) * go_2(1.0, 0.0); - result += mat4(0.0031021363, -0.01486569, 0.0070566195, 0.018073492, -0.18891771, 0.044012547, -0.02848051, -0.09782509, 0.12274589, 0.16405459, 0.11758562, -0.00014311883, 0.08904015, -0.022371538, -0.11997026, -0.08722815) * go_2(1.0, 1.0); - result += mat4(0.037708748, 0.018481232, -0.059362944, 0.12917332, 0.05757559, 0.011123432, -0.010279293, 0.18221511, 0.06439241, 0.032253057, 0.027954938, 0.21676691, -0.15721409, -0.035180286, -0.047692142, -0.14757462) * go_3(-1.0, -1.0); - result += mat4(0.094092436, 0.106772736, -0.20032993, 0.11527211, -0.100314476, -0.18196538, 0.0953278, 0.053715702, 0.054059852, -0.068477504, -0.033078108, 0.19470179, -0.054266233, 0.06836199, 0.1319061, -0.19235216) * go_3(-1.0, 0.0); - result += mat4(0.19253512, -0.06671434, -0.10030362, 0.03826232, -0.15945454, 0.06443083, 0.05069592, -0.1166751, 0.0876034, -0.06544823, 0.08597868, 0.010253344, -0.08484483, -0.065271884, 0.09926085, -0.07245332) * go_3(-1.0, 1.0); - result += mat4(0.049619086, 0.11480021, 0.0345857, -0.18240574, -0.12314936, -0.07150226, 0.043656696, -0.31322953, -0.055724636, 0.17731838, 0.14377743, -0.04996543, -0.027046258, -0.030811151, -0.08603827, 0.035861466) * go_3(0.0, -1.0); - result += mat4(-0.009710335, -0.11247214, -0.27121308, -0.06013236, -0.15952422, -0.014342976, 0.005739716, -0.1647743, -0.06685163, -0.043611478, 0.059232637, -0.103153855, 0.06619248, 0.20227104, -0.009578111, 0.15078413) * go_3(0.0, 0.0); - result += mat4(0.08605389, 0.01704336, -0.18163979, 0.026820498, 0.076932736, 0.19812599, 0.12272361, 0.045221727, -0.010041947, -0.12065143, -0.14786147, -0.00478973, 0.020153932, -0.102792114, 0.18962413, 0.114438586) * go_3(0.0, 1.0); - result += mat4(0.06509507, -0.051928334, -0.00785648, 0.046848897, -0.16479005, 0.0002998278, 0.0464779, 0.106441386, 0.098450884, 0.007670904, 0.07612072, -0.13558389, -0.13474926, 0.0027454074, 0.033605177, 0.040803477) * go_3(1.0, -1.0); - result += mat4(0.09930992, -0.07931443, -0.071994275, -0.05525855, -0.14075288, 0.055972937, 0.19599722, -0.006209348, -0.06583424, -0.12827037, 0.06232273, -0.20214806, -0.018291697, 0.034347143, -0.008479694, 0.07035163) * go_3(1.0, 0.0); - result += mat4(0.06885754, 0.015833907, 0.05431246, -0.002557479, 0.05089267, 0.038318608, 0.049443834, 0.11044659, 0.035441104, -0.10339014, 0.14916813, 0.059371714, 0.08567587, 0.008457374, 0.0067606587, 0.012970931) * go_3(1.0, 1.0); - result += mat4(0.045902185, 0.10129235, 0.04630228, -0.14913626, -0.10818339, 0.13926516, 0.12281629, -0.072059065, 0.026492024, 0.04104322, 0.09242998, 0.117320806, -0.0048932876, -0.085333414, 0.04616044, -0.12448833) * go_4(-1.0, -1.0); - result += mat4(-0.09841232, -0.076594025, -0.04320989, -0.13853325, -0.01585637, 0.1684027, 0.05445149, -0.072762586, -0.18491578, -0.20705253, -0.05202519, 0.1535378, -0.020633204, -0.05846511, 0.11947115, 0.097812876) * go_4(-1.0, 0.0); - result += mat4(0.022807566, 0.07347284, -0.0103484625, -0.034644965, -0.03545684, -0.012602767, 0.008724363, 0.015305726, 0.04684742, -0.09104756, -0.011386216, -0.21479242, 0.07156649, 0.010785019, 0.13238904, -0.011200245) * go_4(-1.0, 1.0); - result += mat4(-0.023818022, -0.0656973, -0.023539519, -0.05640083, -0.07164025, -0.10051641, -0.08249105, -0.016246844, -0.044434533, -0.020133652, 0.022334592, 0.036623817, 0.21690795, -0.0027633426, 0.019751385, 0.3204924) * go_4(0.0, -1.0); - result += mat4(0.119499706, -0.03199973, -0.07711165, 0.15557942, 0.031092199, 0.12264532, 0.034875948, 0.085104674, 0.065676615, 0.0071313963, -0.19012983, 0.17058182, -0.013617876, 0.16685705, -0.19145168, -0.049577985) * go_4(0.0, 0.0); - result += mat4(0.03736309, 0.012947695, 0.078400776, -0.03681506, -0.13939464, -0.14108521, -0.0492569, 0.07110628, 0.118814364, -0.07941013, 0.2226917, 0.1455531, -0.034910113, -0.016473442, -0.12722506, -0.065038085) * go_4(0.0, 1.0); - result += mat4(0.0116644325, 0.057571866, -0.08022676, -0.05823563, -0.0074519212, -0.10934019, -0.05255267, -0.20793183, 0.057620484, -0.09372508, 0.04208557, 0.007189974, -0.030964136, 0.00979685, -0.05971153, -0.061584) * go_4(1.0, -1.0); - result += mat4(-0.08937661, 0.03160103, -0.027826497, -0.10751375, 0.13023743, 0.29949927, -0.065885276, -0.04102768, -0.06745938, -0.17066544, -0.19525565, -0.044997957, 0.063236594, -0.12742096, -0.0028707385, 0.04146705) * go_4(1.0, 0.0); - result += mat4(-0.052421857, 0.10538001, 0.1970712, 0.07593989, 0.022966346, 0.10516174, 0.030174518, 0.010835365, 0.047463644, -0.02476402, 0.03135708, 0.10059339, -0.08882804, -0.09593538, -0.0052387095, 0.07400823) * go_4(1.0, 1.0); - result += mat4(-0.13103916, -0.042097878, -0.031900287, 0.032980174, 0.044408236, 0.017985614, 0.018536413, -0.027685404, 0.20265672, -0.012135818, 0.00679574, -0.034229457, 0.07430049, -0.05179636, -0.06765157, 0.053300425) * go_5(-1.0, -1.0); - result += mat4(-0.07422784, -0.11821867, 0.05030694, 0.08969713, 0.17102082, -0.032630224, -0.17423922, -0.19807258, 0.083329074, -0.011819461, -0.22177805, -0.01592508, 0.026034322, -0.17012936, -0.16266881, -0.05512207) * go_5(-1.0, 0.0); - result += mat4(-0.042716295, 0.009482717, 0.07616772, 0.09877437, 0.18370044, -0.035501633, -0.11382081, 0.1584646, -0.14695294, -0.012491863, 0.055465847, -0.12432882, 0.08791288, -0.05550738, -0.135346, 0.13181816) * go_5(-1.0, 1.0); - result += mat4(0.012421754, -0.09407695, 0.11308986, 0.19505157, 0.09120321, -0.20434178, 0.10159751, 0.090666875, -0.00015377735, -0.0034987864, -0.15915553, -0.16261056, 0.08073029, -0.08937891, -0.10344318, -0.031564213) * go_5(0.0, -1.0); - result += mat4(-0.004493347, -0.4522451, 0.17070189, 0.18417092, -0.004727111, 0.046928473, -0.23462684, 0.063458525, -0.07109156, 0.050718024, -0.10764871, -0.12361206, -0.020232506, -0.20473973, -0.21429922, -0.031195154) * go_5(0.0, 0.0); - result += mat4(-0.06543918, 0.034498077, -0.021013409, 0.12807384, 0.0010062607, -0.14533468, 0.17880528, 0.20724949, -0.039472003, 0.12308172, 0.11282204, 0.06741728, -0.0022228563, -0.23336464, -0.2256891, -0.0135773225) * go_5(0.0, 1.0); - result += mat4(0.053297523, -0.06685852, 0.09689054, 0.06490692, 0.072670005, -0.010300202, 0.055526257, 0.023645576, -0.090883985, -0.11272065, -0.017579652, 0.029201843, 0.22047956, -0.02133663, 0.16724576, -0.12056172) * go_5(1.0, -1.0); - result += mat4(0.0602669, -0.011194491, 0.04821372, 0.18359374, -0.09824533, -0.15806678, -0.21525596, -0.06828616, -0.080283545, -0.101128004, 0.07496933, -0.01887304, 0.073979266, -0.1608985, -0.03205404, 0.017403143) * go_5(1.0, 0.0); - result += mat4(-0.08253474, -0.07662621, -0.15244885, 0.22756171, 0.08423129, -0.08668738, -0.054323256, 0.11607651, -0.08265575, 0.030768815, 0.035593152, 0.017069776, 0.109168805, -0.23222354, 0.07691423, -0.13035889) * go_5(1.0, 1.0); - result += vec4(0.010289917, -0.02647771, 0.035883527, 0.017785); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09549911, 0.37316352, -0.04671274, 0.022156661, -0.099851176, -0.016477318, -0.15647866, 0.3075032, -0.41206098, -0.10546171, 0.040359724, 0.13995685, -0.37928727, -0.017326128, 0.047914587, 0.14423256) * g_0; - result += mat4(0.084515356, 0.006663507, -0.21146557, 0.26029226, -0.25549483, 0.06314179, 0.0009546878, 0.011714899, -0.20285705, -0.09633961, 0.044988878, 0.010919512, 0.11979154, -0.35923663, -0.33764264, 0.24825361) * g_1; - result += mat4(-0.13476388, 0.20931306, 0.06758379, -0.24818432, -0.014518509, -0.19829272, 0.20000297, -0.22848319, -0.07284091, 0.14168872, -0.10349599, -0.038411904, -0.1296637, -0.033355676, -0.019598074, 0.037219126) * g_2; - result += mat4(0.05446092, -0.15814775, -0.051778644, -0.04556046, -0.05707862, 0.05894901, 0.30567068, -0.34205344, 0.07921361, 0.018968029, -0.217382, 0.12733924, 0.16229834, 0.25780123, -0.095756724, -0.068911575) * g_3; - result += mat4(-0.13599817, -0.11680487, 0.07268368, 0.21054786, -0.14810202, 0.12554282, 0.21146035, -0.023012314, 0.14020249, -0.1214641, -0.11742288, 0.062001504, 0.02912684, 0.008054588, 0.020715035, 0.115733996) * g_4; - result += mat4(-0.10301303, -0.20502062, -0.020675663, 0.04069118, 0.27905715, 0.19296066, -0.16847864, -0.085301064, 0.20787837, 0.07654023, -0.05522329, -0.076257445, -0.25044343, -0.43387407, -0.068221375, 0.11907199) * g_5; - result += mat4(0.066475466, -0.17091195, -0.013050041, 0.05297836, 0.37009987, -0.12823582, 0.19216327, 0.16380179, -0.058420453, -0.15365978, -0.14184836, 0.10372518, 0.124301985, 0.019163188, 0.0068595526, -0.14791846) * g_6; - result += mat4(-0.17540008, -0.07897177, 0.031282343, 0.1203962, 0.1185166, -0.03167777, -0.07604457, -0.1384773, -0.4286709, -0.32054543, 0.17831656, 0.104549386, 0.13248782, -0.048322544, 0.23582847, -0.03182922) * g_7; - result += mat4(0.16559057, 0.14952078, -0.153311, -0.14549127, 0.06029146, 0.13079861, -0.20099011, 0.111981146, 0.26113033, 0.16972302, 0.17616469, -0.06314989, 0.28278658, 0.039805803, -0.035618275, 0.029560173) * g_8; - result += mat4(-0.07657932, -0.22380318, 0.2373389, 0.22987534, 0.23404339, 0.019233508, -0.2622599, -0.4245506, -0.050316285, -0.096794784, -0.22926746, 0.19520392, 0.05983981, 0.05918882, -0.023647195, -0.2528051) * g_9; - result += mat4(-0.05170879, 0.036037747, -0.07416669, 0.0359808, -0.31013575, -0.05018038, 0.12777044, 0.00060244696, -0.08604466, 0.44220653, -0.13737565, -0.20205748, 0.26324764, 0.09860818, -0.124673955, 0.20514517) * g_10; - result += mat4(-0.32772323, -0.106489114, 0.26368877, -0.14325057, 0.050906926, 0.34152874, 0.05805066, -0.036700435, -0.013218071, -0.048243362, 0.19560795, -0.18726018, 0.20994471, 0.11561842, -0.02017441, -0.0816956) * g_11; - result += mat4(0.022519596, 0.13739026, 0.24774754, -0.060937256, 0.25772008, 0.28999618, -0.13695791, -0.088689476, 0.028487388, 0.07854702, 0.12198411, 0.016715651, 0.14221917, -0.035250396, -0.025666341, 0.10188678) * g_12; - result += mat4(0.08483084, -0.046606388, 0.05214152, -0.0794586, -0.31594074, -0.18887727, 0.038710102, 0.07454813, 0.104813755, -0.011655456, -0.17008287, -0.17740634, -0.13157463, 0.15785204, 0.19256103, -0.14532489) * g_13; - result += mat4(-0.20306674, 0.1292239, -0.28123298, -0.18613516, 0.24752474, 0.14401013, 0.06234358, 0.31490028, -0.071559936, 0.015407359, -0.009575451, -0.14955868, -0.084203295, -0.12973298, 0.007254705, 0.14774777) * g_14; - result += mat4(0.08610954, -0.11005577, 0.31825662, 0.10915726, 0.021506164, -0.09548129, -0.0313006, 0.10486949, -0.19896136, -0.1046353, 0.026411569, 0.030561283, -0.07856321, -0.053018767, -0.056160312, 0.08518151) * g_15; - result += mat4(0.056912024, -0.113755904, 0.21678402, 0.0047052423, 0.2992955, 0.0425172, 0.18385644, -0.112410665, -0.03510993, 0.05937854, -0.17551777, -0.0066648335, -0.20076093, 0.024946915, 0.15961152, 0.085359626) * g_16; - result += mat4(-0.20451596, 0.15053003, -0.024022756, -0.14673562, 0.20152482, 0.073144756, -0.05883982, 0.09941695, -0.124058485, 0.2529782, 0.18737115, 0.057465617, 0.23198842, -0.03696399, -0.010907207, -0.019168029) * g_17; - result += mat4(0.22507596, -0.031345993, -0.037750687, 0.25322357, 0.16381021, 0.059297476, -0.2563697, -0.002998937, -0.14249223, 0.008298676, 0.09520146, 0.2786267, 0.14549607, 0.067360066, 0.016998664, 0.046272833) * g_18; - result += mat4(-0.13654792, 0.011035229, 0.20823318, -0.0048796176, -0.011389315, -0.25957406, -0.04244137, -0.03109198, 0.02487866, 0.18223195, 0.008499495, -0.25806475, 0.0005713295, 0.09914737, 0.104602136, 0.10642613) * g_19; - result += mat4(0.08935836, -0.046523742, 0.028143274, 0.10530491, -0.2550387, 0.12701567, 0.044246152, 0.20321028, 0.015860397, -0.089859016, 0.24590254, -0.2112368, 0.16364408, 0.029709993, 0.13556595, -0.010670673) * g_20; - result += mat4(-0.09306708, -0.038163673, 0.11326007, 0.04958378, 0.10383473, -0.12534077, 0.038890462, -0.2463075, -0.22917604, -0.20793879, -0.20209685, 0.056477755, -0.030611562, 0.44527152, -0.110011935, -0.27335247) * g_21; - result += vec4(0.030681891, -0.017473118, -0.034582928, 0.0316943); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf1 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.26941684, 0.036219094, -0.07560285, -0.26895636, 0.044311106, -0.05137545, -0.2322296, -0.03678458, -0.1297458, -0.05439981, 0.20655335, 0.21557501, -0.15205787, 0.17939065, -0.23068883, 0.2923722) * g_0; - result += mat4(-0.18076229, 0.026389921, 0.24002524, 0.13083115, 0.101710886, 0.15513568, 0.11232542, -0.10519931, -0.020665402, 0.17358172, 0.008605432, -0.20540753, -0.16048996, -0.117280565, 0.29549748, 0.09058516) * g_1; - result += mat4(0.25597388, 0.082029305, -0.10319984, -0.22495286, -0.27525312, -0.2427153, -0.04050147, 0.19406061, -0.15651433, 0.1356335, -0.043527655, -0.16124776, -0.036669318, -0.0032990375, -0.085704334, 0.22756006) * g_2; - result += mat4(0.051867485, -0.24008298, -0.17850713, 0.025297651, -0.3650358, -0.2176735, 0.2021243, 0.15193781, 0.19604576, 0.1891993, 0.037731584, -0.052179646, 0.11834566, -0.1379031, -0.2373384, 0.014617894) * g_3; - result += mat4(0.09285297, -0.11562465, -0.12399718, 0.13007185, -0.17964637, 0.014563686, -0.074939504, -0.026646245, -0.07532688, -0.22010872, 0.003612656, 0.10351008, 0.04961115, 0.20100375, -0.22187702, -0.17823507) * g_4; - result += mat4(-0.12011126, 0.09486046, 0.0086389035, -0.10428294, 0.06444772, 0.0023705198, 0.019175975, -0.01996667, -0.12081064, -0.22708468, -0.038654026, 0.27200446, 0.3914547, 0.2632333, 0.40427366, 0.10581144) * g_5; - result += mat4(-0.04486948, 0.015250527, -0.011455859, -0.01188025, 0.20036544, -0.11762138, -0.31135175, 0.124225006, -0.036055125, -0.42933324, -0.08072662, 0.003972841, 0.042441923, -0.12717016, 0.08839082, 0.053717572) * g_6; - result += mat4(0.13684005, -0.05297912, -0.026370518, -0.09088581, -0.094107635, 0.20296267, -0.18902333, -0.26307258, -0.068126924, 0.10832254, -0.066805795, 0.03337222, -0.053696163, 0.18476287, -0.089606225, 0.013725743) * g_7; - result += mat4(-0.043879077, -0.040578876, 0.06594204, -0.020670997, 0.13122465, 0.075165644, -0.010130328, 0.24178858, 0.06730869, 0.113522425, 0.19904599, 0.0073498543, 0.42964056, 0.17178564, 0.084659666, -0.24664184) * g_8; - result += mat4(-0.12285546, -0.1358985, -0.11090004, -0.11844171, 0.09297483, -0.22406663, 0.047864, 0.03641851, 0.0365943, 0.100511536, -0.22012307, -0.016841182, 0.08523964, 0.15804283, -0.05356537, 0.21060708) * g_9; - result += mat4(0.19209427, -0.13248959, -0.07607655, 0.051149122, 0.11642458, 0.099497885, -0.26437026, -0.324092, 0.043865014, -0.05075767, -0.19902268, 0.22255316, -0.017222278, -0.16437344, 0.13457586, -0.0018609265) * g_10; - result += mat4(-0.000601963, 0.020355195, 0.18065485, 0.12808195, -0.117500536, -0.08638299, 0.08601238, 0.14027888, 0.075331904, -0.11529773, -0.1415374, -0.17192268, 0.26774237, 0.32726994, 0.019540906, -0.048459146) * g_11; - result += mat4(0.13638663, -0.24208723, 0.097826414, -0.15800993, -0.042421468, -0.09006148, -0.037229672, 0.14824185, -0.17421173, 0.25361627, 0.019297253, 0.006751278, 0.3832628, -0.2272271, 0.110637285, -0.055976037) * g_12; - result += mat4(-0.004539398, 0.095810585, 0.16587941, 0.07004706, -0.2715203, 0.19236542, 0.34606242, 0.10482813, 0.045676876, -0.00715472, 0.051209465, 0.14672725, -0.12688708, -0.004962278, -0.09647747, 0.032963306) * g_13; - result += mat4(-0.10475787, -0.07177458, 0.08670406, -0.07522681, 0.034563806, 0.09974455, -0.0766157, -0.15083836, -0.18490194, -0.24109948, 0.08864707, -0.06437733, -0.028089454, -0.039389037, -0.10697504, -0.15656655) * g_14; - result += mat4(-0.13425583, 0.081750415, -0.10361864, 0.08273783, -0.111270554, 0.11590486, -0.15661974, 0.05408825, -0.0718009, 0.30851424, 0.02040609, 0.1636755, 0.07446875, -0.17443664, 0.15280458, 0.1481998) * g_15; - result += mat4(-0.284261, 0.05864242, -0.06124804, 0.22360328, 0.21680816, -0.008231985, -0.17734775, -0.001956721, -0.13693857, -0.012719592, 0.045048296, 0.08310407, 0.04783058, -0.17998756, 0.1645331, -0.09859071) * g_16; - result += mat4(0.048696257, -0.13751513, -0.0047537195, -0.14069663, -0.03338046, 0.070993476, 0.10792572, -0.129749, -0.0044776825, -0.2988422, 0.22649752, -0.06848238, -0.029648019, -0.063617565, -0.024357993, -0.113194376) * g_17; - result += mat4(-0.11811312, 0.011456743, -0.2775974, 4.4019973e-05, 0.09702063, -0.19398709, -0.13290964, -0.030809943, -0.0614852, -0.30568314, 0.22979493, 0.019983308, 0.14955766, -0.13779299, 0.20106222, 0.25381064) * g_18; - result += mat4(-0.04759845, 0.2240889, 0.25071913, 0.023906428, -0.084556535, -0.026651192, -0.078656286, 0.10334545, 0.1696217, 0.17458726, -0.053354427, -0.048202634, -0.104181975, -0.16721416, -0.12434673, -0.015573024) * g_19; - result += mat4(0.052810643, -0.110003166, 0.13987248, -0.26855007, -0.077974305, -0.051788885, 0.15868334, -0.25068295, -0.22068459, -0.04198552, -0.024428006, -0.00417208, -0.12136332, 0.1832669, -0.061507918, -0.12375168) * g_20; - result += mat4(-0.024210382, 0.08638061, -0.05814393, 0.061041117, 0.2061646, -0.037258796, -0.0017197772, 0.14881982, 0.18087907, 0.03670567, 0.1891443, -0.16923326, -0.17485145, -0.07395503, -0.058735035, 0.21229668) * g_21; - result += vec4(0.034866143, 0.034214873, -0.0020411036, 0.006542157); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf2 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.27361542, -0.082130425, 0.20547335, 0.16596498, -0.14146517, 0.18249078, 0.011518224, 0.11089219, -0.07630722, -0.054221917, -0.08349243, -0.028766789, -0.1906754, -0.108578265, 0.16413508, 0.13962057) * g_0; - result += mat4(-0.02704147, -0.05976295, -0.12531951, 0.28034255, -0.17998871, 0.21086335, -0.04899309, -0.06144566, 0.06704049, -0.20967261, -0.03849724, -0.1063394, -0.040219773, -0.278173, 0.17341371, -0.011255667) * g_1; - result += mat4(0.11230826, 0.022198819, -0.07899587, -0.0996965, -0.17873608, 0.13698925, -0.07870312, 0.1263333, 0.06711576, 0.07580918, 0.09481, 0.0825171, 0.11062839, -0.074613, 0.14020012, 0.2198393) * g_2; - result += mat4(0.0028868434, -0.14465499, 0.18715319, 0.04548598, -0.0548704, 0.026883353, 0.08329182, -0.013520626, 0.08103766, 0.15715094, 0.13981456, -0.045514885, 0.112214044, -0.086184554, 0.014993669, 0.025903665) * g_3; - result += mat4(0.12547491, -0.059728432, 0.17963155, -0.10817097, -0.100438006, -0.20602228, -0.15391783, 0.18270193, 0.08778924, -0.01655036, -0.18359496, -0.08576666, 0.109551124, 0.052976392, -0.16009195, 0.16581026) * g_4; - result += mat4(-0.14505734, -0.0042488463, 0.17690867, -0.065921634, 0.23016429, 0.025626905, 0.11722592, -0.23542455, 0.12642547, 0.2802526, -0.09389537, -0.15698028, -0.1603324, -0.06829095, 0.10116497, -0.13783391) * g_5; - result += mat4(0.15477929, -0.30527925, 0.15042041, 0.20866217, 0.13238567, -0.112839095, 0.15069273, -0.03174599, 0.24253696, 0.55339885, 0.033312403, -0.0016563814, 0.10960435, -0.0046957172, -0.24474236, -0.39900017) * g_6; - result += mat4(-0.13976818, 0.15527318, -0.27346796, -0.15548058, 0.06493512, 0.08048214, -0.136374, -0.08525939, 0.27204737, -0.1013713, 0.1346666, 0.045041572, -0.12573871, -0.02424908, -0.14287473, 0.01571419) * g_7; - result += mat4(-0.06758758, -0.20439683, -0.18058217, 0.0014974873, 0.04916309, 0.062314447, -0.2727905, 0.026782978, -0.005523231, 0.27266318, -0.16010733, -0.108470164, -0.15430328, -0.19484589, -0.3256893, -0.076337814) * g_8; - result += mat4(-0.046945795, 0.0489837, -0.37631997, -0.206914, -0.031842437, 0.03959601, 0.054311134, -0.27745926, -0.2616194, 0.015333021, 0.1562857, -0.09994365, 0.1625487, -0.22026569, -0.01425276, 0.11845421) * g_9; - result += mat4(-0.07944464, 0.038867, -0.29721326, -0.08270903, 0.03819214, -0.22673243, -0.019076617, -0.082782984, 0.15610558, 0.15448374, 0.08024717, -0.026800446, -0.2867148, 0.11126167, 0.21778513, 0.0803098) * g_10; - result += mat4(-0.16599156, 0.029314978, 0.06395618, 0.06147069, 0.3273304, -0.15791246, -0.18337882, 0.22403763, 0.0038289267, -0.11374167, 0.019104691, -0.03859104, 0.06862462, 0.08082749, -0.11613864, 0.03697278) * g_11; - result += mat4(0.007748403, 0.08750577, 0.07155799, -0.045760393, 0.055088032, 0.040909674, -0.21044537, -0.006774753, 0.041435767, -0.21444651, 0.11146028, -0.015305192, 0.1736952, 0.08569524, -0.11013171, 0.20451164) * g_12; - result += mat4(0.060957868, -0.030028345, -0.032370888, 0.009256305, 0.085932784, 0.07008612, -0.12535034, 0.02922682, 0.068161115, 0.10938504, 0.14336275, -0.15049717, -0.105244614, -0.06773861, 0.16236088, -0.10205375) * g_13; - result += mat4(0.22060202, 0.12885413, -0.06610741, -0.054895487, 0.27707383, -0.17114922, -0.17298199, -0.14735572, 0.121042944, 0.17805979, 0.24409181, -0.1536033, -0.2114284, 0.18976912, 0.19461404, -0.15320121) * g_14; - result += mat4(0.04362077, 0.067338824, 0.13164803, 0.088066556, -0.055310402, 0.006420305, -0.019129515, 0.104561836, -0.0177281, -0.05549579, -0.05083655, 0.118114345, -0.0325892, 0.14835551, 0.09986534, -0.1493018) * g_15; - result += mat4(0.13353525, -0.018843373, -0.38207877, -0.056904096, 0.0043200236, 0.33000615, -0.08322631, 0.16492364, -0.022802876, 0.011855873, -0.02483137, -0.0648857, 0.02270555, 0.009097881, -0.010122987, 0.12883057) * g_16; - result += mat4(0.12964436, -0.0793745, -0.1326546, -0.06956091, -0.21922931, 0.05091461, -0.27575865, 0.09199549, 0.09375192, 0.047268208, 0.05267489, 0.30156332, 0.14469145, -0.06455131, 0.087691374, 0.046157785) * g_17; - result += mat4(-0.21176293, -0.08989047, 0.03180079, 0.06659217, -0.1453242, 0.06772006, 0.017562179, -0.11958127, -0.034170456, 0.21188316, 0.117544524, 0.007319009, -0.09175878, 0.042179152, -0.15155235, 0.0072725313) * g_18; - result += mat4(0.27448505, 0.219317, -0.027090587, -0.110271394, 0.15367448, -0.22380124, -0.18359132, -0.07701026, 0.0387728, -0.20798631, -0.15410027, -0.13094926, 0.11535367, 0.16782966, 0.26729038, 0.06455724) * g_19; - result += mat4(-0.46956277, -0.2555739, -0.06807893, 0.15456976, -0.16843104, -0.18085335, -0.17501417, 0.3328664, 0.13444093, 0.20759131, -0.44945636, -0.28116164, -0.04072912, -0.097071156, 0.24616174, 0.192637) * g_20; - result += mat4(0.055160224, -0.09051332, -0.23766883, -0.029569078, -0.008335112, 0.14387378, 0.25602153, 0.039339148, 0.006418962, -0.1502487, 0.1705312, -0.020727253, 0.087699726, -0.058968496, 0.35786387, -0.30345708) * g_21; - result += vec4(0.01591211, -0.027196284, -0.033567958, 6.241704e-05); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!SAVE conv2d_22_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.031316917, 0.055358253, -0.059691224, -0.058461506, 0.077250145, -0.07364057, -0.10518189, 0.112195216, 0.03121863, 0.072129, -0.116529875, -0.02127299, -0.0747185, 0.05839623, 0.09422041, -0.021784699) * go_0(-1.0, -1.0); - result += mat4(0.25166854, -0.008625688, -0.04425555, -0.091405906, -0.023770982, 0.016987871, 0.041109882, 0.120431535, 0.18311475, -0.054788496, 0.007988929, -0.016128276, -0.09077874, -0.051521078, -0.004544904, -0.024871618) * go_0(-1.0, 0.0); - result += mat4(-0.13663131, 0.16812679, 0.0006700389, 0.06922647, -0.016814431, -0.08860312, -0.079845324, 0.06357931, -0.0596218, -0.095261894, -0.037728492, 0.11741466, 0.0019240101, 0.027670836, 0.000890017, -0.16907042) * go_0(-1.0, 1.0); - result += mat4(-0.21833417, 0.061925672, -0.18782657, -0.19532952, -0.00912622, 0.14018449, -0.10945325, -0.02950384, -0.16849437, -0.0076949564, 0.100851074, -0.082224175, 0.12784874, -0.17894457, 0.05620182, 0.035290208) * go_0(0.0, -1.0); - result += mat4(-0.05108994, 0.109306075, 0.14979306, 0.16477607, 0.16004218, -0.14184445, -0.30903235, 0.27424207, -0.07285219, -0.16365135, 0.34021953, -0.23102704, 0.11835473, -0.25337514, 0.0052347463, 0.10160299) * go_0(0.0, 0.0); - result += mat4(-0.16926225, -0.013712374, -0.18937722, -0.10156829, -0.009109288, -0.043202236, -0.0327246, 0.107926905, -0.08266265, -0.019426635, 0.060156412, 0.04271223, 0.0038364576, -0.045978215, -0.06626878, -0.04433795) * go_0(0.0, 1.0); - result += mat4(-0.04918198, -0.10372164, -0.0039985343, -0.020138506, 0.10314664, -0.054435257, -0.059677728, -0.020854775, 0.045955054, -0.15811364, 0.0070372946, 0.10885263, 0.051628623, 0.14220117, 0.106984384, -0.06612432) * go_0(1.0, -1.0); - result += mat4(0.13287504, -0.115076, -0.15511775, -0.09540606, 0.15684459, -0.1370648, -0.15184137, -0.0039252765, -0.14576407, 0.093048885, 0.18031888, -0.14460911, -0.15849206, 0.1972077, 0.11407181, -0.018500103) * go_0(1.0, 0.0); - result += mat4(-0.04217163, -0.025539394, 0.06704235, 0.076216355, 0.18605524, -0.1370854, -0.10180904, 0.011179888, -0.09474736, 0.0034552328, 0.04530927, 0.089433156, -0.16656926, 0.13428316, -0.015525457, -0.104443006) * go_0(1.0, 1.0); - result += mat4(0.02413726, 0.04394302, -0.028785303, 0.022377724, -0.123303704, -0.10872632, -0.053274784, -0.083956674, -0.16501826, 0.19426544, -0.11229554, 0.024616906, 0.0653296, -0.13529897, -0.13195585, 0.11819911) * go_1(-1.0, -1.0); - result += mat4(0.040253572, 0.01010995, 0.010347668, -0.28872684, -0.037531905, 0.07847681, 0.12006034, -0.09047226, -0.06932386, -0.06724459, 0.061352998, 0.18294126, -0.10063913, -0.12972213, -0.076570146, 0.23981462) * go_1(-1.0, 0.0); - result += mat4(0.042499546, 0.031286567, 0.026158767, -0.06068849, 0.099651836, -0.09539429, -0.110728405, 0.0760506, -0.010541737, 0.082582936, 0.046757225, -0.103296146, 0.004013901, -0.1014948, -0.1685043, -0.035571042) * go_1(-1.0, 1.0); - result += mat4(0.022223305, -0.061652564, 0.056427244, -0.09028095, -0.16896683, 0.041667704, -0.14397033, -0.08130564, 0.115296, -0.024847167, 0.0058116, 0.15893951, -0.2738465, 0.042260613, -0.117963664, -0.16502824) * go_1(0.0, -1.0); - result += mat4(0.04814996, -0.035689, 0.025145225, 0.10137466, -0.19973788, 0.024747686, -0.15837969, 0.10456767, 0.22748837, -0.1904696, -0.032640085, 0.08598887, 0.094741136, 0.11022798, 0.0002977174, -0.17315625) * go_1(0.0, 0.0); - result += mat4(0.040722214, -0.16523767, 0.029437022, 0.02843903, -0.03970792, 0.16811173, 0.026779372, -0.049595866, -0.09061197, 0.08569013, -0.025070464, -0.09025825, 0.06887124, -0.16063505, 0.016551314, 0.1326577) * go_1(0.0, 1.0); - result += mat4(0.0032056272, -0.059174597, -0.031335425, -0.046658054, 0.09825097, -0.09559033, -0.13008277, 0.046893913, 0.12513055, 0.025147412, 0.21053335, -0.012531429, 0.0062698903, -0.22287934, -0.11374548, -0.025798466) * go_1(1.0, -1.0); - result += mat4(0.12628217, 0.00018834685, 0.079633944, 0.009799097, 0.04411112, -0.14502676, -0.0783995, -0.052239668, -0.029784216, -0.06674819, 0.014998281, -0.019396728, 0.0056628133, 0.09424033, 0.08938559, -0.09192038) * go_1(1.0, 0.0); - result += mat4(-0.08482142, 0.01968406, 0.12547927, 0.0031358562, -0.079086006, -0.1962375, -0.11982329, 0.008725796, 0.04062859, -0.0076902336, -0.070755616, -0.046958208, -0.13330258, 0.019709444, 0.07424033, -0.10704354) * go_1(1.0, 1.0); - result += mat4(-0.0726743, 0.016794393, 0.1326206, 0.0085637225, 0.047887824, 0.22520815, 0.009255687, -0.08072321, 0.078593105, -0.12484226, -0.20670934, 0.24915585, -0.13554399, -0.20776859, 0.055789966, 0.0427338) * go_2(-1.0, -1.0); - result += mat4(-0.1327555, -0.20873688, 0.17099003, 0.14251556, -0.008884553, 0.09596802, -0.047991227, -0.10255803, -0.059658058, 0.08851393, -0.24644794, 0.08961623, -0.20254774, 0.0027665214, 0.014628907, 0.18626846) * go_2(-1.0, 0.0); - result += mat4(0.042417303, 0.123508334, -0.13196877, -0.08144321, -0.089141674, -0.03184074, 0.08510928, -0.08890633, -0.032581408, -0.09855755, -0.20814818, 0.07401967, -0.06562728, -0.1093993, 0.046248462, -0.22533655) * go_2(-1.0, 1.0); - result += mat4(-0.2325245, -0.15549012, -0.049078442, -0.026926108, -0.13648824, 0.030876573, -0.22113933, 0.009498426, 0.15341131, 0.09483785, -0.26695177, 0.13678575, -0.08784451, 0.07720089, 0.14846897, -0.27349517) * go_2(0.0, -1.0); - result += mat4(-0.10061963, 0.036637623, 0.16528973, 0.22039798, -0.11590498, -0.043130502, 0.24396291, -0.022675464, 0.20230116, 0.06387496, 0.16946751, 0.05934715, 0.115272254, -0.014139645, 0.12694168, 0.20699124) * go_2(0.0, 0.0); - result += mat4(-0.025382666, -0.18561147, 0.09778576, -0.06534745, -0.16456783, -0.05287837, -0.07822378, 0.12268287, 0.31948078, 0.09489003, -0.085089676, -0.10850915, 0.01368474, 0.02013271, 0.06625116, -0.087387055) * go_2(0.0, 1.0); - result += mat4(-0.089555725, 0.059100505, 0.005319662, -0.09245959, 0.08520457, 0.052162867, -0.15606946, -0.08597345, 0.11222487, 0.1490915, -0.12664682, -0.024624687, 0.025410015, -0.23502131, 0.05423758, -0.013779449) * go_2(1.0, -1.0); - result += mat4(0.019360267, 0.053673334, 0.09964559, 0.09418452, 0.16046648, 0.18196031, -0.02892911, 0.030112473, 0.2265571, 0.25671738, -0.12887779, 0.071995094, -0.026335748, 0.0055704936, 0.073666155, 0.038696487) * go_2(1.0, 0.0); - result += mat4(-0.21537472, 0.0039957003, 0.11367757, 0.12847088, -0.0316418, -0.031137334, 0.0388792, 0.04074573, 0.0008135187, -0.07565012, 0.007960915, 0.12286165, -0.2160576, 0.1157934, -0.024741393, -0.05249619) * go_2(1.0, 1.0); - result += mat4(0.11482547, -0.06704897, 0.08984799, 0.11604779, 0.007870084, 0.18740594, 0.030316649, 0.05281012, -0.07633286, -0.017784607, -0.06491812, 0.1883724, -0.090130515, 0.076494336, -0.05229608, -0.017145146) * go_3(-1.0, -1.0); - result += mat4(-0.02724162, 0.04343736, -0.14983661, 0.04529306, -0.0530941, 0.3585206, -0.12962782, 0.19270414, -0.12522137, 0.098893546, 0.12003933, -0.26596075, -0.042230368, -0.18507534, 0.028228233, 0.10164971) * go_3(-1.0, 0.0); - result += mat4(-0.008910258, -0.06709946, 0.021396104, -0.063704215, -0.14500582, 0.11283557, -0.03203624, 0.13098063, 0.05550978, 0.11646853, 0.0033793827, 0.043268356, 0.0038723578, -0.036042333, -0.010387592, -0.10592774) * go_3(-1.0, 1.0); - result += mat4(0.17740269, 0.030029152, 0.14428648, -0.008383262, -0.04784034, 0.030878028, -0.08498646, 0.1554172, 0.26086214, -0.15676983, -0.20969455, 0.1663833, 0.26925182, 0.19262621, -0.109978184, -0.025719997) * go_3(0.0, -1.0); - result += mat4(0.052129734, 0.05429712, -0.2612653, -0.0116027435, 0.03902767, 0.06572257, -0.12309975, -0.09354552, -0.030087318, 0.034715295, 0.026238892, -0.114287496, -0.14456746, 0.3077932, 0.08505123, -0.23568068) * go_3(0.0, 0.0); - result += mat4(0.026248954, 0.04342331, 0.06469738, 0.13034233, 0.101745486, -0.101457745, -0.10393351, 0.1897209, -0.082242265, -0.118752226, 0.10310823, 0.09471486, -0.06821482, 0.12854955, -0.024803007, -0.11299552) * go_3(0.0, 1.0); - result += mat4(0.0015938855, -0.036448684, -0.09952072, -0.04816277, -0.0125188865, 0.045270916, -0.05308358, -0.11208837, -0.012225314, 0.14685513, -0.06671965, -0.08157342, -0.005418967, -0.19780649, -0.14013553, -0.017747555) * go_3(1.0, -1.0); - result += mat4(0.021970674, 0.052635167, 0.0065296288, 0.20368727, 0.27736542, 0.06792544, -0.048659563, 0.15651211, -0.006997429, 0.071756855, -0.086019404, -0.16638358, -0.042769007, 0.1964747, -0.12206784, 0.015088922) * go_3(1.0, 0.0); - result += mat4(-0.07219877, 0.16996285, 0.026215157, 0.06458364, 0.1807283, 0.030117897, -0.077016085, 0.27835876, -0.1640463, -0.16446309, 0.075324625, -0.14967552, -0.13331027, 0.09998406, -0.044504005, 0.011792608) * go_3(1.0, 1.0); - result += mat4(0.049299285, -0.15224954, 0.016829029, -0.2107016, -0.046318967, 0.07213664, 0.2330576, 0.07486253, 0.08777096, 0.10943015, 0.028446004, 0.050621547, -0.14293596, -0.038319986, 0.08490357, 0.06641438) * go_4(-1.0, -1.0); - result += mat4(0.13142867, -0.04241908, 0.1822789, -0.07854039, -0.13797145, 0.066803694, 0.02247845, -0.13906519, 0.04984245, -0.18625471, -0.20272128, -0.28476176, -0.058039606, -0.18360521, 0.09687105, 0.018828757) * go_4(-1.0, 0.0); - result += mat4(-0.16784632, -0.06145757, -0.055866536, 0.011348464, 0.13568886, -0.07582401, 0.026461827, 0.11732485, 0.23222442, -0.06859946, 0.07079616, -0.08028384, -0.09886033, 0.16983582, 0.08413449, -0.121099345) * go_4(-1.0, 1.0); - result += mat4(-0.28284705, 0.024767123, 0.20576967, -0.4978678, 0.075958885, -0.10133812, 0.038184177, 0.13781957, 0.18831879, -0.15269713, 0.057505332, -0.13640139, 0.08916083, 0.0699946, -0.060844768, -0.014270356) * go_4(0.0, -1.0); - result += mat4(-0.23525201, 0.18978925, 0.088951595, -0.06914491, 0.1528044, -0.026248025, 0.17158231, -0.13070598, 0.09750263, -0.09294438, 0.051349573, 0.11587769, 0.0155769205, -0.18000023, -0.0003776821, 0.19002606) * go_4(0.0, 0.0); - result += mat4(0.047854267, 0.09143093, 0.052313805, 0.2391469, 0.11455435, 0.12660562, 0.19646555, -0.09760176, 0.19417326, 0.009909135, -0.05288948, -0.17419948, -0.041569944, 0.02919045, 0.15562747, -0.17877397) * go_4(0.0, 1.0); - result += mat4(-0.06796333, 0.12729923, 0.11317857, 0.0015406283, -0.07694605, 0.19436257, 0.1654557, -0.06629621, -0.07756138, 0.011961589, -0.06775192, -0.1626003, 0.11971597, 0.037453942, 0.04487742, 0.0043538823) * go_4(1.0, -1.0); - result += mat4(-0.2932746, -0.1809002, 0.034019336, -0.027657146, 0.123765245, -0.016828476, 0.019045379, 0.057645924, 0.10630708, -0.0501721, -0.023064025, 0.10537342, 0.22191636, -0.17226441, 0.107975595, -0.085091874) * go_4(1.0, 0.0); - result += mat4(0.23682559, -0.1539297, -0.021399427, 0.03696311, -0.016845006, -0.1470282, 0.15760666, -0.08606362, -0.08767031, 0.10511046, -0.0016947712, -0.085582115, 0.25379023, -0.16707833, 0.021698073, 0.084808946) * go_4(1.0, 1.0); - result += mat4(-0.035465956, -0.12231401, 0.0012244973, -0.085085034, -0.11690235, 0.10113623, -0.008192939, -0.03407758, 0.15522347, -0.0066894926, 0.14404987, -0.05126941, 0.22453183, -0.1873154, 0.061736204, -0.20466337) * go_5(-1.0, -1.0); - result += mat4(-0.097998515, -0.043527473, 0.14050394, 0.088333085, 0.048787523, -0.1539165, -0.15570241, 0.043640707, 0.126556, 0.14527045, -0.039885264, 0.06996844, 0.22064541, -0.028108185, -0.03281, -0.16324279) * go_5(-1.0, 0.0); - result += mat4(0.073120564, -0.1891726, 0.07063325, 0.062421504, -0.13767453, -0.13034251, -0.009543011, 0.18065831, 0.10094918, 0.03626179, -0.019968862, -0.06167735, 0.12796699, 0.033228975, -0.04698753, 0.07353928) * go_5(-1.0, 1.0); - result += mat4(-0.11506799, 0.29229516, 0.0052742194, -0.13735871, 0.14876513, -0.119496346, 0.08121958, 0.013827838, 0.11419154, 0.14505816, 0.2398584, 0.0065053343, -0.013405139, 0.16274847, 0.12519057, -0.032919746) * go_5(0.0, -1.0); - result += mat4(0.025276287, -0.26041627, 0.035208203, -0.0063892705, 0.28808814, -0.16364133, 0.029798066, -0.08123619, -0.09107237, -0.075676076, -0.09543362, 0.25521338, -0.15578145, 0.28374904, 0.12906694, -0.20701703) * go_5(0.0, 0.0); - result += mat4(0.0056150462, 0.14710209, 0.15482463, -0.14352167, -0.09956302, 0.23498844, -0.08980836, -0.25655353, 0.10541379, 0.2272969, -0.1983986, -0.03758488, -0.051088374, -0.009599584, -0.024446761, 0.14956763) * go_5(0.0, 1.0); - result += mat4(0.10804217, -0.09008922, -0.056697227, 0.054219972, -0.11262774, -0.04436177, 0.023657754, 0.04683233, -0.053896014, -0.04415657, 0.03503888, 0.01594262, 0.14296247, 0.012207454, -0.007110091, -0.10440715) * go_5(1.0, -1.0); - result += mat4(0.11242054, -0.36215845, -0.067844905, -0.112087294, 0.031834792, -0.02632766, -0.048991356, -0.08337759, -0.18798992, -0.058804397, -0.03797642, 0.03431596, -0.22444338, 0.22153437, 0.03792731, -0.061027475) * go_5(1.0, 0.0); - result += mat4(-0.2296771, -0.03690635, 0.029593892, -0.1316428, -0.0015457191, -0.023119774, -0.087284, 0.0779484, 0.013689198, 0.06545557, -0.08265829, 0.008496508, 0.017779253, -0.089485206, 0.0856277, -0.042287562) * go_5(1.0, 1.0); - result += vec4(-0.020976502, 0.028490033, 0.0031703995, -0.062209535); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv0ups -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.084550284, 0.28695974, -0.18845658, 0.036873333, -0.03702915, 0.20106933, -0.013779231, -0.09064196, 0.2650543, -0.23769681, -0.025090849, 0.112004876, 0.02858812, -0.33468688, 0.015218963, -0.009193985) * g_0; - result += mat4(0.019986125, 0.03711447, -0.072495684, -0.18489611, 0.10276208, 0.22991183, 0.024009978, -0.11783073, -0.19585772, 0.13150191, 0.08316458, -0.074719064, 0.10288155, -0.39512005, -0.14987002, 0.0050115753) * g_1; - result += mat4(0.022747586, 0.00711762, -0.19764912, 0.02849651, 0.034982137, -0.15019011, -0.23275712, 0.015071641, -0.12003277, 0.07394686, 0.0016380423, -0.07764185, -0.027983893, -0.11473845, -0.076731786, 0.17937833) * g_2; - result += mat4(-0.13547164, 0.014350364, -0.0680784, 0.015241785, -0.019645115, 0.1367833, 0.018514454, 0.061408024, 0.05381124, 0.008636759, -0.05929157, -0.045654505, 0.29703617, -0.14939637, 0.017480306, 0.03320388) * g_3; - result += mat4(0.16749536, -0.5068873, -0.054959137, 0.5028366, -0.22012903, -0.18610893, 0.03606436, 0.16536428, -0.18980072, -0.035605285, 0.22413859, -0.05201868, 0.032878175, 0.14102045, 0.09135491, 0.028493756) * g_4; - result += mat4(-0.08715977, -0.0069041327, 0.13424577, -0.15170926, -0.12459944, 0.139362, 0.23367397, 0.06992671, 0.10383856, 0.12649116, -0.10238732, 0.022956299, 0.10903374, -0.1060183, 0.0012752792, 0.09608246) * g_5; - result += mat4(0.07170078, 0.097870566, 0.18391322, 0.16910231, -0.1267208, 0.261178, 0.049107287, 0.032856256, 0.04621799, 0.14521311, 0.30777922, 0.07517666, 0.13072045, -0.07817935, -0.0057332893, 0.042636685) * g_6; - result += mat4(-0.14621416, -0.24651968, 0.12061317, -0.05200859, 0.014879963, -0.1331666, -0.21076989, 0.047090866, 0.108966425, -0.1072571, -0.04034989, 0.17689784, -0.30637997, 0.1334576, -0.09599567, -0.16958676) * g_7; - result += mat4(-0.15277179, 0.3040327, 0.33014333, 0.09105886, 0.0946242, 0.06878733, -0.022571186, 0.012422955, -0.014575288, -0.014345794, 0.13639238, -0.2948898, -0.09921163, -0.090119295, 0.43447036, -0.1519424) * g_8; - result += mat4(0.055695374, -0.018237038, -0.03149495, -0.26079783, -0.13239612, 0.08098567, 0.010524064, 0.2580244, 0.019125992, -0.11228541, 0.2497276, -0.1600721, 0.04776844, 0.074449435, -0.2169092, 0.22888823) * g_9; - result += mat4(0.1993489, 0.16312787, 0.17672649, 0.06839388, -0.12656055, 0.2534753, -0.22719325, -0.15975192, 0.18121919, -0.02482891, -0.1758899, -0.06285482, -0.062030714, -0.030519357, 0.08887617, 0.033442013) * g_10; - result += mat4(0.09227225, -0.22740443, -0.011862239, 0.10482141, 0.015177834, 0.15367627, 0.15005216, 0.282921, -0.09772425, 0.10730146, -0.06640197, 0.07101983, 0.14829135, 0.083728194, -0.0743765, -0.09980271) * g_11; - result += mat4(0.085638225, -0.1827499, 0.06827563, 0.019491995, -0.0011983203, 0.022348093, 0.10796647, -0.07942398, 0.13093562, -0.08755021, -0.01282162, -0.12193386, -0.07074474, 0.025357427, 0.09938728, -0.14343725) * g_12; - result += mat4(0.015263603, 0.07848516, 0.06398182, -0.1281127, 0.011302997, -0.1424875, 0.03465649, 0.05781734, -0.019214824, 0.07257173, -0.19007434, -0.013839539, -0.088996276, -0.06987128, -0.14060202, 0.07935333) * g_13; - result += mat4(0.089654885, 0.18821386, -0.10908745, -0.1945955, 0.28777096, -0.27091888, -0.117128626, 0.13311313, -0.15800829, -0.031426586, -0.09576625, -0.045514874, -0.05638241, 0.22475603, 0.19451538, 0.06693039) * g_14; - result += mat4(0.108449794, 0.03863312, 0.09138021, 0.024396805, -0.20986842, 0.09761748, 0.08867459, -0.15282214, -0.08067849, -0.016950522, 0.26711652, 0.085504845, 0.060858846, 0.01342649, 0.075316414, -0.024188342) * g_15; - result += mat4(0.0010497145, -0.1259321, 0.057801772, -0.035549402, -0.11513258, -0.018429652, -0.10117708, 0.11573959, 0.1427766, -0.032213476, -0.01586306, 0.017653462, -0.041694127, 0.1393299, 0.14011054, -0.038647145) * g_16; - result += mat4(-0.22414106, -0.13671458, -0.07397391, -0.09691265, -0.110350996, 0.061211936, 0.19481628, -0.06409933, 0.136633, -0.04669014, 0.058727175, 0.043561198, 0.07559326, -0.0040795025, 0.087900914, -0.020880874) * g_17; - result += mat4(0.02741521, -0.07276462, 0.15752992, 0.061364397, 0.07611034, 0.32745734, -0.16256663, -0.15516974, 0.04587384, -0.10178523, 0.09862578, 0.086561374, 0.2331702, -0.16688296, -0.07780254, 0.079894625) * g_18; - result += mat4(-0.012604072, 0.14701019, -0.1202553, 0.0007438331, 0.09805167, -0.12829433, 0.10536026, 0.044031054, -0.01909643, 0.08925314, -0.029631758, -0.0843997, -0.098011285, 0.2326875, -0.0059059164, 0.054862864) * g_19; - result += mat4(-0.26984945, 0.21170485, 0.016418483, 0.05436341, -0.13604105, -0.015747178, 0.21282208, -0.084069654, -0.1519696, 0.07782159, -0.0767402, 0.049681228, -0.17597915, -0.033314597, 0.19277339, -0.15969992) * g_20; - result += mat4(0.011572451, -0.040921126, 0.06736629, -0.05296152, 0.0750723, 0.15619396, -0.33569458, -0.045480207, 0.052975655, -0.019853046, -0.1586733, -0.0971954, 0.12981664, -0.23612434, -0.065897234, 0.09027556) * g_21; - result += mat4(0.2591393, -0.21753159, 0.012262199, 0.17810525, 0.0437195, 0.13112774, -0.27936146, 0.16000053, 0.16150814, 0.0060378034, 0.011343986, 0.0711386, 0.10716892, -0.018265475, 0.117098734, -0.042729706) * g_22; - result += mat4(-0.12928756, 0.13401757, -0.28467083, -0.09971548, -0.02296809, -0.124093436, 0.17238498, -0.07679452, 0.020145075, -0.1027165, -0.100577906, -0.022585977, -0.14362176, -0.3100744, -0.030349141, 0.08573548) * g_23; - result += vec4(0.04458631, 0.05340509, 0.02098219, -0.060097195); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19633518, 0.06885309, -0.20043527, 0.035509795, -0.10401743, -0.21588884, -0.102477305, 0.011876971, -0.056948267, 0.25264382, -0.15101993, -0.15266001, 0.010933664, 0.09011232, 0.09345315, 0.006623116) * g_0; - result += mat4(0.27567336, 0.032350313, -0.19810209, -0.21658543, -0.0659062, -0.3352386, 0.07164577, -0.012328946, -0.17325617, -0.10731732, -0.0677151, -0.09058453, -0.044920623, 0.13278453, 0.218302, 0.06825565) * g_1; - result += mat4(0.028230175, 0.0018616526, -0.21906042, -0.07338764, -0.023010844, -0.014972394, -0.020508962, 0.058636636, 0.12617883, -0.19870517, 0.11696488, 0.065536946, -0.03026256, 0.023291413, 0.14201568, 0.06143288) * g_2; - result += mat4(0.025846066, -0.090636976, -0.07404494, -0.090020634, 0.008514354, 0.109184064, 0.05742023, 0.12586315, 0.083378665, -0.13951068, 0.045261055, 0.345901, 0.02675545, 0.095778815, 0.076500334, 0.14780305) * g_3; - result += mat4(0.00470463, 0.018870084, -0.32943425, 0.16893233, 0.019939557, 0.21623498, -0.18504573, 0.10291846, 0.091479525, -0.16171393, -0.07914371, -0.12615843, 0.06589903, 0.15675966, -0.10883045, 0.02186343) * g_4; - result += mat4(0.20796785, 0.009986704, 0.057757147, 0.030481182, -0.0036845834, -0.11120154, 0.15609682, -0.038438197, 0.12596935, -0.06617715, -0.109660454, -0.07545557, 0.046646334, 0.08662475, -0.14833032, -0.13950638) * g_5; - result += mat4(-0.060464397, -0.012758383, 0.02772358, -0.11097607, 0.046997264, -0.124745354, -0.24724343, -0.23114161, -0.09586756, -0.04930659, 0.2014008, 0.31652108, 0.074047916, -0.11001771, 0.019132676, 0.08412601) * g_6; - result += mat4(0.050371062, 0.08204854, 0.039742008, 0.076570585, 0.05938661, -0.06386326, 0.09085278, 0.076653615, -0.07528917, 0.09379596, 0.021202901, 0.0059685786, 0.34758928, -0.26862696, -0.124089494, -0.13643466) * g_7; - result += mat4(0.32158887, -0.34527287, 0.25377008, -0.13895594, 0.0054988973, -0.24181193, -0.40868145, -0.0022963625, -0.06266895, 0.0030860363, -0.020924645, -0.18905482, 0.141399, 0.008508758, 0.115678936, -0.43306655) * g_8; - result += mat4(0.057700455, 0.17643234, -0.09683699, 0.0057190154, 0.07252213, 0.15004468, 0.37618238, 0.13903357, 0.218705, -0.060630042, 0.11694831, -0.00048630088, -0.0134587595, 0.076368295, -0.1325984, -0.10201561) * g_9; - result += mat4(0.012976455, -0.29424316, -0.14308581, 0.049230546, -0.07200477, -0.13733308, 0.25564528, 0.08696407, 0.14173195, -0.4262995, 0.20581593, 0.22764574, -0.23969811, -0.021570327, 0.07481749, 0.1941362) * g_10; - result += mat4(-0.17857735, 0.112538725, 0.19362856, -0.06760973, 0.06499711, -0.005863579, -0.30760095, 0.05362555, -0.08302696, 0.021682503, -0.09627604, -0.00945931, -0.07492733, -0.02935675, -0.10610068, -0.09772539) * g_11; - result += mat4(0.06233666, 0.0509348, 0.006487371, -0.006774608, -0.04553992, 0.03091619, -0.023414508, 0.06836573, 0.072267964, -0.011354451, -0.0025099765, -0.23190095, -0.20676394, -0.061777104, 0.013524417, 0.21478185) * g_12; - result += mat4(-0.008408447, 0.05689985, 0.16880135, 0.11134194, 0.0058967494, 0.28136337, 0.11531701, -0.15612614, 0.13670067, 0.06262395, -0.0943045, -0.0937771, -0.105943695, -0.13124335, -0.13190243, -0.0259559) * g_13; - result += mat4(0.13609879, 0.1420789, -0.0102266455, 0.027917469, 0.18166769, -0.04157506, -0.17849353, -0.10579488, -0.016188206, -0.09247544, 0.115879655, -0.005531635, 0.123433806, -0.0477944, -0.118518375, -0.21525477) * g_14; - result += mat4(0.09320673, 0.024231741, 0.14889163, -0.16015185, -0.051729757, -0.07560833, 0.032730922, 0.01543164, 0.007215127, 0.096069746, -0.13138555, -0.08324462, -0.14087589, -0.13676994, 0.040817242, 0.19880508) * g_15; - result += mat4(0.08556744, 0.11995626, -0.12598105, 0.07094707, -0.030116409, -0.13692346, -0.10617047, 0.1170125, 0.0635618, 0.015630903, 0.033283047, 0.027908718, -0.16022116, 0.05379484, 0.1643671, 0.08461423) * g_16; - result += mat4(0.027346484, -0.04373988, 0.14366151, 0.021193424, -0.020020869, 0.08702033, 0.067230165, -0.13468166, -0.06336041, 0.19826981, 0.09957918, 0.0019007461, 0.11597447, -0.11684592, -0.052715372, 0.009431231) * g_17; - result += mat4(0.1160723, 0.13518505, -0.07323529, -0.102813244, -0.05717617, 0.22344513, -0.09574202, 0.030326243, -0.11634749, -0.09885759, -0.0041502435, -0.114238635, 0.05903762, -0.042631276, 0.07528514, 0.018450156) * g_18; - result += mat4(-0.080062985, 0.12060534, 0.108948626, 0.2663645, 0.015359482, -0.18093999, 0.02191666, -0.019032517, 0.082503706, 0.0037899283, 0.0038726546, 0.06054277, 0.034015723, 0.07618506, -0.025927188, -0.10678223) * g_19; - result += mat4(0.00035550856, -0.20764709, 0.013300498, -0.35849246, 0.12688975, -0.11437089, -0.02337497, -0.21238862, 0.46495908, -0.11521313, 0.049601704, 0.14637932, -0.25788313, -0.17036532, -0.020144291, -0.0016756164) * g_20; - result += mat4(0.14395922, 0.029118493, -0.08014281, 0.094050094, -0.062834464, -0.025796665, 0.15015388, 0.28717938, -0.2570273, 0.10900227, -0.15873776, 0.13343036, 0.2544096, 0.32181814, -0.15404758, -0.22983788) * g_21; - result += mat4(0.048919182, 0.26769882, 0.04733999, -0.016210597, 0.2571225, -0.19034678, -0.16507657, -0.033483442, 0.25795573, 0.09645708, -0.1332106, 0.077412024, -0.030721905, -0.19939502, 0.041621, -0.04823887) * g_22; - result += mat4(0.3016378, -0.26046696, -0.10701948, -0.0042546196, -0.24555147, 0.10042819, 0.11718351, 0.13214561, 0.016662005, 0.15979412, 0.033659726, 0.06328732, 0.08410991, 0.17246136, 0.019442663, -0.08638967) * g_23; - result += vec4(-0.017773768, 0.0060332157, 0.0007953922, -0.012296271); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv0ups2 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.29116806, 0.0051992643, -0.06692716, 0.28666902, -0.10336563, -0.19727555, 0.11084616, 0.025079565, 0.20502086, 0.0099646095, 0.009126803, 0.17547005, 0.058746554, 0.30771896, -0.0902547, 0.028172184) * g_0; - result += mat4(-0.28205237, -0.036779154, 0.17233336, -0.13251382, 0.07100408, -0.051303998, 0.012103571, -0.121839024, -0.14955266, -0.011649629, 0.08549354, 0.18840949, -0.022462592, 0.021153163, 0.08049452, -0.15091342) * g_1; - result += mat4(-0.2800372, 0.0042544575, -0.22374953, 0.201632, 0.22182395, 0.3408344, 0.03178537, -0.15618719, 0.0068062274, 0.14605409, 0.09106621, 0.05914199, 0.19480406, 0.044590045, -0.13806386, -0.14847448) * g_2; - result += mat4(0.1505132, -0.027588725, 0.04962834, -0.11202418, 0.00049648335, -0.010397765, -0.08091891, -0.01213487, -0.24162677, -0.08179791, -0.037871603, 0.014869897, 0.21078886, -0.10133107, -0.11659543, 0.017790101) * g_3; - result += mat4(0.41658482, -0.040856514, -0.054670364, -0.24993257, -0.007376621, -0.100203015, -0.19632444, 0.16588823, 0.11921404, 0.13566074, 0.1355261, 0.18513525, -0.03692965, 0.019232113, 0.021070294, -0.09910185) * g_4; - result += mat4(-0.11130964, 0.068555534, -0.022549039, 0.20459346, 0.08735778, -0.2480742, 0.26074892, -0.06515858, -0.15426315, -0.20087741, 0.066354685, 0.16262609, 0.094984494, -0.09765662, 0.17054209, -0.25639787) * g_5; - result += mat4(-0.088716365, -0.15923837, 0.07887449, 0.029613947, -0.07766362, 0.20016782, 0.07279328, 0.1514442, -0.051125146, 0.008917033, 0.15708658, 0.24593906, 0.1713729, 0.22876453, -0.06126321, 0.080008015) * g_6; - result += mat4(0.10178238, 0.17811838, 0.14818382, 0.17277409, 0.120473444, -0.1943933, -0.07498233, -0.11512788, -0.06924987, 0.04548284, -0.008307158, 0.017101327, -0.038810693, -0.12316993, -0.34380746, 0.053759247) * g_7; - result += mat4(-0.046007603, 0.26564816, -0.06891516, 3.1265055e-05, 0.061298724, 0.1925087, -0.15881963, 0.06479692, -0.1409332, 0.12286923, -0.053091913, -0.07207155, -0.11055874, 0.21104714, 0.094566196, 0.23457485) * g_8; - result += mat4(-0.10533191, 0.09174932, -0.19229935, -0.26465586, 0.024089642, -0.353841, 0.032621946, 0.1661062, -0.091028884, 0.026411142, 0.23693994, 0.08054671, 0.13986488, -0.20758727, -0.15448147, -0.03494388) * g_9; - result += mat4(-0.17668007, -0.02661902, 0.270635, 0.06442596, 0.053869188, -0.0075128167, -0.12906162, 0.1310764, -0.05808231, 0.14813021, -0.061848663, 0.16322616, 0.16354714, -0.1766021, 0.034994338, -0.365292) * g_10; - result += mat4(0.2769774, 0.0903162, -0.153144, -0.0714264, -0.15604417, -0.02184839, -0.14195657, -0.0299081, 0.030514874, -0.13219188, 0.07739793, -0.094843924, -0.15415892, 0.08821149, -0.09969291, 0.11553133) * g_11; - result += mat4(-0.024756059, 0.02924473, -0.11059422, -0.23357926, -0.14310671, -0.039102048, -0.14977954, 0.15673035, -0.2435825, -0.05197057, -0.075606585, -0.014227886, -0.15609197, 0.033796865, -0.11727036, 0.21573412) * g_12; - result += mat4(-0.0034791795, -0.015750842, 0.21795836, 0.06755854, 0.21003358, 0.18348697, 0.007344055, 0.007894167, -0.031829726, -0.13820398, -0.024139944, -0.06376093, 0.16212739, -0.14601658, 0.011433787, -0.21962811) * g_13; - result += mat4(-0.19470121, 0.07634093, 0.084294625, -0.1930676, -0.04052925, -0.07640723, 0.048489477, -0.067031436, 0.018694758, -0.051234454, -0.09647271, -0.05313391, -0.033016447, -0.30730128, 0.05531499, 0.24194908) * g_14; - result += mat4(0.11188614, -0.0942737, 0.045266267, 0.02038586, 0.09011196, 0.15573163, -0.066437334, 0.09889085, -0.080061264, 0.037342984, 0.16573298, 0.12220635, -0.026486188, 0.25633007, 0.11129816, -0.2026236) * g_15; - result += mat4(0.04242307, 0.112535976, -0.19269057, -0.23816746, -0.052621387, 0.0633971, -0.19528675, -0.042162407, 0.199502, 0.05493077, -0.088709444, 0.08472976, 0.054185133, 0.06422858, -0.039366808, -0.18133119) * g_16; - result += mat4(-0.0053883283, 0.07370045, 0.17995751, 0.10520973, 0.06260075, -0.124870464, 0.071332276, 0.14470188, -0.038855236, 0.09279109, 0.10985604, -0.12241432, -0.20250633, 0.072249405, 0.06563947, 0.25110915) * g_17; - result += mat4(-0.037988666, -0.02077325, 0.12789832, 0.03384976, -0.014303905, -0.087816834, -0.056331955, -0.1313604, 0.09380784, -0.14247838, 0.10469246, -0.122811496, 0.18130052, 0.04213147, -0.012292052, -0.19898601) * g_18; - result += mat4(-0.12018575, 0.09009986, 0.025285363, -0.115545176, 0.1733185, 0.13020052, -0.057739727, 0.2317158, -0.012717598, -0.045057297, -0.23039842, 0.02120572, -0.047350824, -0.09068979, -0.029076718, 0.019612556) * g_19; - result += mat4(0.13583413, -0.009503754, 0.02945625, 0.13004698, 0.20902146, -0.066765055, -0.016790587, -0.022145504, 0.115125865, 0.062911294, 0.009492768, -0.17444436, -0.06236797, -0.015372606, 0.11708899, -0.012473567) * g_20; - result += mat4(0.03781474, -0.037127525, 0.0018324303, -0.025154835, -0.1573021, -0.094748974, 0.2049456, -0.0011915033, -0.27289516, -0.13360178, -0.19483006, 0.028352307, -0.16590592, -0.24364805, -0.17105217, -0.09763515) * g_21; - result += mat4(-0.085604936, 0.1410735, 0.006653563, 0.1621681, -0.007415839, -0.13190715, 0.0072195483, 0.011567912, -0.23232964, -0.0045645055, -0.4088787, 0.15016212, 0.11169541, -0.024033517, 0.33648142, -0.05467641) * g_22; - result += mat4(0.19473903, -0.41680276, -0.06333307, -0.39555615, 0.12667467, 0.323478, -0.08860081, 0.0018358243, 0.18223375, -0.040291768, -0.12997696, 0.011956389, 0.07855676, -0.04246141, -0.18503502, -0.2871073) * g_23; - result += vec4(-0.0067077694, 0.046750613, -0.02120649, 0.0037727654); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv0ups3 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19771652, 0.054560076, -0.018467195, 0.17260106, -0.04713744, 0.005960446, -0.15811634, 0.12638375, -0.20130037, -0.2361124, 0.15739627, 0.07660247, 0.008880481, 0.09471094, -0.1340188, -0.0603885) * g_0; - result += mat4(0.018275172, 0.02949308, 0.16530277, -0.08129835, -0.017484661, 0.08206879, 0.05372496, 0.027559277, -0.07266388, 0.14723828, -0.019852815, -0.124051854, 0.19641098, -0.19842927, -0.02707376, 0.18565983) * g_1; - result += mat4(0.0152915055, -0.025145184, -0.14171547, 0.11287294, 0.03981024, -0.283831, 0.08403579, -0.022620574, 0.097417176, -0.015617099, -0.0749846, 0.11501153, 0.07712399, -0.17645292, -0.18069206, 0.30625495) * g_2; - result += mat4(0.11910245, -0.014835673, 0.016234221, -0.17016123, -0.12874368, 0.028920865, 0.0015389418, -0.0396468, 0.058122113, 0.06308889, -0.11089211, 0.07629556, 0.14638005, 0.15483578, -0.009679061, 0.028340086) * g_3; - result += mat4(-0.18488705, -0.09046926, 0.3086096, 0.28608966, 0.07914294, -0.18663022, -0.18758698, -0.010628958, 0.11284831, -0.024477161, -0.34357247, -0.110528395, 0.11260746, -0.16653295, -0.333203, -0.028419986) * g_4; - result += mat4(0.14164338, 0.0116197225, -0.09517204, 0.018433275, -0.11906503, 0.12618221, -0.14154993, 0.11922271, -0.25966203, 0.13593048, -0.12451744, -0.12732752, -0.17531879, -0.059646163, 0.08191489, -0.023034088) * g_5; - result += mat4(0.060834974, -0.17094417, -0.12378968, 0.20129171, 0.10589014, 0.27925324, -0.0760502, -0.19307284, 0.1918753, 0.06295021, -0.117325544, -0.032219686, 0.08970859, 0.10133687, 0.07045942, -0.043928903) * g_6; - result += mat4(0.06141528, -0.1155439, 0.07150852, -0.017323446, 0.14442965, -0.16464208, 0.053869866, -0.0066738073, -0.26015645, 0.25578022, -0.12132279, 0.15647876, 0.0766546, -0.08933414, 0.09379291, 0.06804614) * g_7; - result += mat4(0.14762619, 0.052262735, 0.06740719, -0.029300386, -0.19549088, -0.21684435, -0.085099526, -0.055771094, 0.010171737, -0.14868538, 0.115141615, -0.051683053, -0.044367358, -0.18520084, -0.06393748, 0.0010731925) * g_8; - result += mat4(-0.14650695, 0.08601589, 0.12697595, 0.13276917, 0.108520165, 0.1912617, 0.019971784, 0.14559254, -0.028546251, 0.08042131, -0.09087924, -0.02770981, 0.15391286, 0.05714011, 0.04471975, 0.037705023) * g_9; - result += mat4(-0.12902713, 0.28093, -0.29668728, -0.09586236, 0.11485171, -0.06694571, 0.16276729, -0.2492834, 0.022340612, 0.09901862, -0.172989, 0.16625328, -0.10677142, -0.19990413, 0.16999872, 0.31516576) * g_10; - result += mat4(0.05200403, -0.17484799, -0.09285037, 0.22709143, 0.14310056, 0.20167555, 0.07357741, 0.04894263, -0.18580721, 0.0037048862, 0.07984998, 0.109460205, -0.1658866, 0.0067397184, 0.10205478, -0.30009425) * g_11; - result += mat4(0.01906955, -0.01307976, -0.054768458, 0.10404966, 0.023302928, 0.1506304, -0.24312226, 0.09407256, 0.14547575, -0.09326737, 0.05963468, -0.17096291, -0.03973353, -0.012859634, -0.011132303, -0.23727575) * g_12; - result += mat4(0.018458707, -0.08093601, -0.084748484, -0.032792903, 0.023445344, 0.0038735385, -0.047041256, 0.031227939, 0.016863292, 0.022734966, 0.000798652, 0.20134626, 0.10911789, -0.2571384, 0.12569575, 0.12899989) * g_13; - result += mat4(-0.02005358, -0.13560984, 0.16960412, 0.07813574, 0.14358784, 0.114273846, -0.06344754, -0.022004206, 0.048542615, -0.21317734, 0.06406535, -0.116627425, -0.016013943, -0.080993414, 0.15286861, -0.0021789172) * g_14; - result += mat4(-0.051536534, 0.085252315, -0.12893482, 0.19260244, -0.087101154, -0.08621803, -0.0064267796, -0.013781654, -0.0952192, 0.11305202, -0.23815015, -0.033821765, -0.059584074, 0.1069189, -0.21070237, -0.034997597) * g_15; - result += mat4(0.08561619, 0.0930155, 0.33753118, -0.031700823, 0.09551905, 0.080744945, 0.011288477, 0.061302166, 0.056226872, -0.10404533, -0.055435713, 0.004116961, -0.14561117, 0.17033315, 0.12503803, -0.07372825) * g_16; - result += mat4(-0.09182204, -0.09104942, 0.041599516, 0.16590819, 0.00983582, 0.10518859, -0.113934346, -0.104463175, -0.00079954404, 0.034999546, 0.13909996, 0.0493524, 0.19881092, -0.096706204, 0.14631568, -0.008105569) * g_17; - result += mat4(-0.00929841, 0.03932664, -0.054535374, 0.07319642, -0.09397188, 0.078899324, 0.1951339, -0.07413376, -0.0461229, -0.09307032, -0.039535936, 0.1277176, -0.1613869, 0.06263851, -0.19089746, 0.07733326) * g_18; - result += mat4(-0.116017684, 0.17785975, -0.08255256, -0.017906634, 0.079656884, 0.1062068, -0.07560774, 0.05632323, 0.06347149, -0.0038651915, 0.18395548, -0.018724794, 0.06897179, -0.017391736, -0.09945868, 0.007462038) * g_19; - result += mat4(0.09895682, 0.0008542192, 0.040768873, 0.0739274, 0.04401002, -0.17797345, 0.108511046, -0.1596793, -0.3202953, 0.25767303, 0.114281945, 0.10362787, -0.010467758, -0.040315267, 0.03151773, -0.18630013) * g_20; - result += mat4(-0.16360605, -0.11041179, 0.08405035, 0.11882953, -0.061490558, -0.06537877, -0.039295603, -0.085139036, 0.13128738, 0.093954295, 0.17564337, 0.0050902218, 0.057772268, 0.03324601, 0.02978617, 0.045452252) * g_21; - result += mat4(0.009214316, 0.2615397, -0.32527506, 0.0049241674, -0.12779853, -0.009896386, -0.063335165, 0.014920392, -0.012698124, 0.053253584, 0.21158943, 0.047342606, -0.0747987, 0.018429412, -0.09028407, -0.0753332) * g_22; - result += mat4(-0.21073934, -0.39829832, 0.5173677, -0.016563633, 0.17195706, 0.13737291, 0.0993746, -0.019057626, -0.09700681, -0.05018698, 0.017614022, 0.22466557, -0.08776291, -0.41851798, 0.063330576, 0.15770285) * g_23; - result += vec4(-0.00083234225, 0.029220644, -0.021711512, -0.010490012); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups -//!WIDTH conv0ups.w 3 * -//!HEIGHT conv0ups.h 3 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.013302941, -0.012109221, -0.06313667, 0.09708466, -0.061930988, -0.17332557, -0.044160333, -0.045447584, 0.04980775, -0.0770489, -0.019508807, 0.05925226, 0.023843545, -0.009858849, 0.12557454, 0.061080087) * go_0(-1.0, -1.0); - result += mat4(-0.049381237, -0.04050252, 0.007745774, 0.018472156, 0.064121254, 0.10730991, -0.026749168, -0.20549676, 0.02111079, -0.04714038, 0.061985523, 0.059314404, 0.056193776, 0.05460613, -0.05048156, -0.037642002) * go_0(-1.0, 0.0); - result += mat4(-0.05243881, -0.11460298, 0.06347575, 0.034983244, -0.07240566, 0.0077540586, 0.062388044, 0.061501957, -0.02154012, -0.31468394, -0.2113008, -0.026369544, 0.022035569, 0.06545593, 0.045535706, -0.051696356) * go_0(-1.0, 1.0); - result += mat4(0.03909915, 0.04560666, -0.060659245, 0.009675541, 0.02234295, -0.16511336, 0.019792031, -0.072006695, -0.05174611, -0.08620188, 0.006188406, -0.1319623, -0.0060644588, -0.02393468, 0.112303495, 0.020241998) * go_0(0.0, -1.0); - result += mat4(0.07232408, 0.040370155, -0.082784384, -0.017102133, -0.12151326, 0.10356652, -0.08922711, 0.3347708, 0.03863442, 0.0055784183, -0.042502668, -0.08173994, -0.12469258, -0.13697472, 0.16401985, 0.23741859) * go_0(0.0, 0.0); - result += mat4(-0.07384484, -0.15330909, 0.02873694, 0.098877445, -0.08014638, -0.3273885, 0.031516522, -0.12096309, 0.036241468, -0.1335509, -0.011663839, 0.09570681, 0.08264948, -0.06310915, -0.092751674, -0.015709676) * go_0(0.0, 1.0); - result += mat4(0.006247492, 0.00461466, -0.008895174, 0.0060241744, -0.061306674, -0.14361435, -0.011478359, -0.03232262, 0.08014461, -0.005829564, -0.044880565, 0.08709057, -0.04303573, -0.10923612, 0.12544714, 0.020221673) * go_0(1.0, -1.0); - result += mat4(-0.12337789, -0.010765891, -0.018776434, -0.0024736745, 0.02569967, -0.14181122, -0.115160815, -0.03887438, -0.030257745, -0.027906833, 0.035361852, 0.018330969, -0.025505567, 0.04050716, 0.024523402, -0.090780504) * go_0(1.0, 0.0); - result += mat4(0.120609745, -0.084908605, -0.034662176, -0.023245517, 0.02722118, -0.089459956, 0.015492279, -0.08203262, 0.002386625, -0.00928232, -0.0571666, -0.008234634, 0.07422278, -0.03094113, -0.0141155105, -0.06636182) * go_0(1.0, 1.0); - result += mat4(0.011082948, -0.058803063, 0.024828104, 0.059398144, -0.007348608, -0.050983507, -0.05401309, -0.020016963, -0.034054358, -0.007618273, 0.13229546, -0.016255377, 0.109534, -0.03596513, -0.028141145, 0.09585966) * go_1(-1.0, -1.0); - result += mat4(0.008277244, -0.09203936, -0.11599702, 0.03232159, 0.070328124, -0.16420361, -0.16313204, -0.054277748, 0.002922495, -0.020103376, 0.17503816, 0.024415495, -0.021941114, -0.19877355, 0.06335682, -0.030403662) * go_1(-1.0, 0.0); - result += mat4(-0.11055535, -0.11391272, -0.056144655, 0.075731516, -0.02628106, 0.16784728, -0.11808693, -0.026273083, -0.043469157, 0.031772617, 0.00937826, 0.14148627, 0.030202564, 0.1280365, -0.010620431, -0.02047345) * go_1(-1.0, 1.0); - result += mat4(-0.0104838675, 0.016618986, -0.009782691, 0.06283955, 0.0031849968, -0.17475526, -0.0080999555, 0.05982882, -0.0452169, -0.053171888, -0.14011732, 0.06907014, 0.03619321, -0.041850798, -0.045879535, 0.032479163) * go_1(0.0, -1.0); - result += mat4(0.025500499, 0.027577246, 0.025213921, -0.008017244, 0.02781052, -0.013167181, -0.4103526, 0.17850031, 0.16433816, 0.079108596, 0.21011126, -0.20257612, -0.033543546, -0.0678866, 0.013160764, 0.02026467) * go_1(0.0, 0.0); - result += mat4(-0.07155754, 0.0013978203, 0.011611807, -0.09917595, -0.111368425, 0.0033274605, -0.15162435, -0.011835687, -0.09026789, -0.08395621, 0.2153951, 0.08362553, 0.016216682, -0.15161297, 0.021178178, 0.013977836) * go_1(0.0, 1.0); - result += mat4(-0.042056683, 0.045064047, 0.039709255, -0.007281443, -0.0083612, -0.21972413, 0.17280287, -0.040411394, -0.033877213, -0.031675044, 0.15172487, -0.16823475, 0.011251, -0.10751146, -0.03703622, -0.0015994076) * go_1(1.0, -1.0); - result += mat4(-0.10160262, -0.085398495, 0.030651808, 0.0383625, 0.090408884, 0.0559912, -0.09584017, 0.021680398, 0.0020458086, -0.04230424, -0.045559246, -0.05657164, -0.021027206, -0.11491259, 0.017873693, 0.07012374) * go_1(1.0, 0.0); - result += mat4(0.06746937, 0.06177675, -0.0069657834, 0.17145541, -0.11660231, -0.09986818, -0.05313927, -0.02293038, 0.067609206, 0.024575058, 0.2045605, -0.02894548, -0.01402746, -0.037871428, -0.026082579, 0.1496422) * go_1(1.0, 1.0); - result += mat4(0.078850545, -0.089004256, 0.03264684, 0.0501401, -0.051582705, 0.13331461, -0.04854971, -0.056578197, -0.22619192, 0.035058744, 0.029899048, -0.007877467, 0.013764741, 0.07651721, -0.018574424, 0.017737282) * go_2(-1.0, -1.0); - result += mat4(0.039094422, -0.004039775, 0.07236476, 0.003665929, -0.10906161, -0.01206319, -0.06806159, 0.03218018, -0.16351025, -0.088042565, 0.06665855, 0.049080636, 0.17470343, 0.10616311, -0.004475735, 0.048703376) * go_2(-1.0, 0.0); - result += mat4(-0.1152178, 0.0014156736, -0.019587241, 0.060342357, -0.043316048, 0.099263184, 0.028288733, 0.039652467, 0.08970648, -0.10041962, -0.03238429, -0.104765356, 0.052427232, 0.17590371, 0.004267056, 0.12794496) * go_2(-1.0, 1.0); - result += mat4(-0.094192885, -0.114988096, -0.1360759, -0.098745346, 0.18817306, -0.0015580812, -0.08784492, 0.03697599, 0.12092391, -0.10114108, 0.14371401, 0.029552504, 0.010409395, -0.01989149, -0.04604743, -0.04340521) * go_2(0.0, -1.0); - result += mat4(-0.12453975, -0.19952826, -0.27039337, 0.2360734, 0.00678138, 0.02095393, 0.100797586, -0.10189031, -0.063709445, 0.17529346, -0.062517226, -0.13606744, -0.084416196, -0.0055361073, -0.05210923, 0.09984934) * go_2(0.0, 0.0); - result += mat4(-0.12885356, -0.16880307, -0.0001863282, -0.0793993, 0.060133148, -0.19816521, 0.045271244, -0.13431291, 0.16515693, 0.032550003, 0.077373095, -0.03247844, -0.045571126, 0.021893652, -0.09743241, -0.06921362) * go_2(0.0, 1.0); - result += mat4(-0.008643703, -0.046968583, 0.06146367, 0.08677877, 0.019170603, 0.10999073, -0.11692821, 0.04721949, -0.06677058, 0.037462547, -0.016399851, -0.054998178, 0.0010376096, -0.012338041, -0.12463497, -0.035169076) * go_2(1.0, -1.0); - result += mat4(-0.04090923, -0.14220549, 0.020020986, 0.056473326, 0.042374853, -0.006250005, -0.13552494, 0.13658978, 0.03867219, -0.22706173, -0.059060037, 0.058993474, -0.009761021, 0.0649011, 0.021675201, -0.07276663) * go_2(1.0, 0.0); - result += mat4(-0.09555326, -0.025236163, -0.023861893, 0.033659693, 0.06791347, 0.0038955666, -0.0035532173, 0.053630196, -0.041177604, 0.07108558, 0.02016919, -0.021497505, 0.029573523, -0.09735415, -0.0048350454, 0.15181093) * go_2(1.0, 1.0); - result += mat4(0.045933276, -0.13515158, 0.009228187, -0.023743628, 0.06935336, -0.09187734, 0.09560265, 0.018566938, 0.0056412164, 0.078544505, -0.0434581, 0.050385367, 0.03622581, -0.03934777, -0.0720889, 0.029343527) * go_3(-1.0, -1.0); - result += mat4(-0.016562965, -0.12820166, 0.187874, 0.052941903, -0.06391782, -0.05377054, -0.03781532, 0.097536914, -0.037013177, 0.01989198, -0.11597446, 0.049370047, -0.054080885, -0.028636862, 0.11394634, -0.023754608) * go_3(-1.0, 0.0); - result += mat4(-0.03802489, -0.12530291, 0.06871729, 0.06918327, -0.019695487, -0.023304746, 0.060946856, -0.0049567944, 0.106213786, 0.058396086, 0.05231142, -0.0024309857, 0.12408028, 0.070039384, 0.035425793, 0.03330205) * go_3(-1.0, 1.0); - result += mat4(0.043777816, -0.10805039, 0.078217655, -0.030811466, -0.03608898, -0.2795718, 0.012454856, 0.07049292, -0.025119923, -0.19395687, -0.04589363, 0.13516338, 0.030751783, -0.009450481, 0.048920903, -0.00737198) * go_3(0.0, -1.0); - result += mat4(-0.014000674, -0.04759161, 0.12826595, -0.0017642565, 0.098676436, -0.09442378, -0.01646663, -0.1617878, 0.00297917, 0.08397787, -0.13660042, 0.005527846, -0.049080744, -0.0055450965, -0.0064818114, 0.2587199) * go_3(0.0, 0.0); - result += mat4(-0.16226773, -0.043329936, 0.083710335, -0.15756485, -0.066259176, -0.060702555, -0.027182754, -0.029777676, 0.01748842, -0.026523704, 0.06930076, -0.023998197, 0.1211762, -0.13004777, -0.011516853, -0.13729261) * go_3(0.0, 1.0); - result += mat4(-0.040247727, -0.07228051, -0.10298301, 0.040875547, -0.065911025, 0.078728564, 0.091330856, 0.03677556, -0.02498122, 0.06769627, 0.07218384, 0.0014566458, -0.0061442303, 0.0086917095, -0.03522804, -0.048330314) * go_3(1.0, -1.0); - result += mat4(-0.085488304, 0.045127705, 0.056196738, -0.008514246, 0.03025027, -0.06269085, 0.05313679, 0.0559912, 0.10766719, -0.03209936, -0.16946507, 0.29393998, -0.031926937, -0.07863495, -0.030471357, 0.055307366) * go_3(1.0, 0.0); - result += mat4(-0.012295731, -0.06375684, -0.03832078, -0.094785616, -0.04646916, -0.015403718, -0.026596554, 0.021867264, -0.0046984944, -0.13694204, 0.02145514, 0.03470416, 0.008190091, -0.10182426, -0.03259911, 0.1075029) * go_3(1.0, 1.0); - result += mat4(-0.0650494, -0.18079701, -0.14010891, -0.004066129, -0.05072928, 0.0018696968, 0.03767962, -0.07010998, -0.018155852, -0.029851597, 0.008525998, 0.059236698, 0.060635366, -0.13664672, -0.054963786, 0.073119365) * go_4(-1.0, -1.0); - result += mat4(-0.051663123, -0.09044231, -0.03534349, -0.15994835, 0.024488913, 0.0584757, 0.09839963, -0.07536733, 0.0044920277, -0.10165498, 0.03752505, 0.029572235, -0.0023792398, 0.06688532, 0.043044716, -0.01899362) * go_4(-1.0, 0.0); - result += mat4(0.07849525, -0.119271405, -0.042811632, -0.041626964, 0.07545159, 0.09997577, 0.038823277, 0.016443461, -0.0266621, 0.010088829, 0.07879706, -0.038422294, -0.02001026, 0.026069399, 0.031395063, -0.05815041) * go_4(-1.0, 1.0); - result += mat4(-0.10023367, -0.15057774, 0.11619864, 0.04397611, 0.05037631, -0.031356625, 0.03666611, -0.02845634, -0.01911539, 0.11408594, 0.0028843323, 0.00953394, -0.055057246, -0.025956526, -0.061221384, -0.017955333) * go_4(0.0, -1.0); - result += mat4(0.26597527, -0.058314674, -0.0962066, 0.0329729, 0.07357752, 0.03271384, -0.21533425, 0.003768839, -0.057712875, 0.07121388, 0.013715649, -0.0831189, -0.0714431, 0.15299971, 0.064914055, 0.015535985) * go_4(0.0, 0.0); - result += mat4(-0.04039884, 0.037581284, -0.05443885, 0.08152066, -0.12128733, -0.008086967, -0.014204756, -0.11120005, 0.041684013, 0.03309785, -0.034556545, -0.06864393, -0.0022722657, -0.028678812, -0.08264872, 0.0701991) * go_4(0.0, 1.0); - result += mat4(-0.10624094, -0.19902161, -0.0005582792, -0.067009926, -0.018467264, -0.02690888, -0.0667423, -0.10409132, -0.077332675, -0.011604726, 0.009276279, -0.08974004, 0.118050486, 0.021480683, -0.08997368, 0.07959985) * go_4(1.0, -1.0); - result += mat4(0.09592302, -0.034064777, -0.048709914, 0.07789593, -0.007592094, -0.14113013, 0.0022574468, 0.019824523, -0.0081383325, -0.052283287, -0.064616494, 0.058260158, 0.033303212, 0.11416393, -0.008896697, 0.056191042) * go_4(1.0, 0.0); - result += mat4(-0.09941444, 0.17776787, 0.08561235, 0.15629978, 0.029634742, 0.045361564, 0.069890365, 0.0502319, 0.0067809476, 0.002047603, 0.11407937, 0.070114724, -0.05679617, -0.013912256, 0.013542715, 0.009444194) * go_4(1.0, 1.0); - result += mat4(-0.09517508, 0.12489528, -0.09313998, 0.084405266, -0.012441074, -0.022242859, 0.066346034, 0.00423023, 0.07987826, 0.07892257, -0.04575329, 0.19474448, -0.026493892, 0.24483079, -0.06354224, -0.03634207) * go_5(-1.0, -1.0); - result += mat4(-0.20302604, -0.039948568, 0.07857904, 0.11902675, -0.1203945, -0.1137728, 0.11020989, 0.019995924, -0.08365092, 0.011009447, 0.057313416, -0.030036483, -0.09064193, -0.032565292, -0.017696097, -0.011385602) * go_5(-1.0, 0.0); - result += mat4(0.10052054, 0.05342487, 0.009398622, 0.054070834, 0.101007484, -0.006665345, 0.1355569, 0.08262319, 0.031365715, 0.0012569521, -0.15938771, 0.09937696, 0.016955657, 0.1656698, -0.08221579, -0.0028464093) * go_5(-1.0, 1.0); - result += mat4(-0.046993867, -0.0022476215, -0.0197642, -0.10299419, 0.11698557, 0.06490302, -0.10495608, -0.019674003, 0.01826878, -0.014951087, -0.115536615, 0.015294204, 0.07070401, 0.033796053, 0.07290711, 0.057128504) * go_5(0.0, -1.0); - result += mat4(0.14300628, 0.033920567, -0.03373897, -0.11916015, -0.11102183, 0.10348178, -0.062176403, -0.011974135, -0.042116582, -0.05768072, -0.08173329, 0.044289242, 0.07154812, -0.06653242, 0.1222195, -0.027933054) * go_5(0.0, 0.0); - result += mat4(0.011026182, 0.1474295, 0.044019394, -0.03795345, -0.03516014, -0.11315762, 0.1868038, -0.006420206, 0.08232553, 0.07102735, -0.0747307, -0.054918274, -0.14558811, -0.13853562, -0.061922804, -0.00053793436) * go_5(0.0, 1.0); - result += mat4(-0.04198045, -0.013528373, -0.06373842, -0.05723647, -0.003746356, -0.09432193, -0.07273958, 0.008901301, 0.05507108, 0.015500663, -0.030242283, -0.041867077, 0.014223666, 0.09469508, 0.14336528, -0.034044564) * go_5(1.0, -1.0); - result += mat4(-0.0063387724, 0.08452984, -0.264555, 0.033493947, -0.17020273, -0.078654096, -0.15834045, 0.038642615, 0.012779747, -0.12424039, -0.023711318, 0.009101309, 0.00013816432, 0.12049601, 0.009272076, -0.05309427) * go_5(1.0, 0.0); - result += mat4(0.037508354, -0.2442116, 0.021651942, 0.07430792, 0.21032251, -0.06076358, -0.028722458, 0.07380247, 0.050493255, 0.08592788, -0.11068984, 0.049933717, 0.015327649, 0.045943547, 0.1052948, -0.12438453) * go_5(1.0, 1.0); - result += mat4(0.033120137, 0.09498402, -0.0062918505, -0.047866907, 0.054291245, 0.08793476, 0.09881014, 0.057913892, -0.014999754, -0.0022956284, -0.028194167, -0.032369655, -0.062466048, 0.05508422, -0.03297725, -0.0712404) * go_6(-1.0, -1.0); - result += mat4(-0.027029142, 0.006814352, -0.12207318, -0.0837586, 0.045617107, -0.19415045, -0.007876237, -0.09544452, -0.06238176, -0.16177872, 0.020406803, -0.045421902, 0.040982667, 0.22643211, -0.09372224, -0.13222997) * go_6(-1.0, 0.0); - result += mat4(0.042335346, 0.051937085, -0.048556026, -0.080059804, -0.009402667, 0.07920275, -0.10520585, -0.007990247, 0.04183933, 0.003921662, -0.110800825, -0.01207025, -0.06777714, -0.09229314, 0.027066117, 0.005739622) * go_6(-1.0, 1.0); - result += mat4(0.11718687, 0.0014740648, 0.0014242693, 0.032715335, -0.10010754, 0.0032826837, 0.17515422, -0.056723364, -0.0028685564, -0.09708139, 0.048960317, 0.024024323, 0.07038842, -0.07588745, -0.07245765, 0.044466607) * go_6(0.0, -1.0); - result += mat4(0.014662583, -0.12738252, 0.020766586, 0.0048829406, 0.054304354, -0.24371675, 0.0069901417, 0.15611398, 0.08597663, -0.020829398, 0.08081248, 0.020133939, -0.047713336, -0.07476831, -0.19282238, -0.054291427) * go_6(0.0, 0.0); - result += mat4(0.11392736, 0.11086032, 0.042832635, 0.024812821, -0.07461503, 0.059356652, -0.0024148151, 0.056102235, -0.08269376, -0.042141598, -0.016610144, 0.17488524, -0.05575371, 0.016265644, -0.089853615, -0.10817013) * go_6(0.0, 1.0); - result += mat4(0.010313293, -0.080664426, -0.04608331, 0.0012904583, 0.008532067, -0.09848448, 0.10097231, -0.016924951, 0.07665192, -0.027563078, -0.06378092, 0.10343629, -0.036384467, -0.053149298, -0.05503227, -0.033580408) * go_6(1.0, -1.0); - result += mat4(0.0102611305, 0.06236239, 0.038469147, -0.02564957, -0.049344275, -0.11265859, 0.13378103, -0.14377357, -0.00529987, -0.123281956, 0.074118905, 0.07079952, -0.0033021853, -0.15583162, -0.044389617, -0.062361106) * go_6(1.0, 0.0); - result += mat4(-0.004327561, 0.0012946475, 0.07154309, -0.077916645, 0.0007642713, 0.046212055, 0.0002446218, -0.12240067, -0.016727991, -0.023611335, 0.019070385, -0.017550457, -0.014729117, -0.08566113, -0.04489458, -0.12663332) * go_6(1.0, 1.0); - result += mat4(-0.04067448, -0.06376398, 0.020526867, 0.048773874, -0.046569902, 0.06464818, 0.056337003, 0.059694003, 0.065464124, -0.05376251, 0.05192921, -0.06261051, 0.048732128, -0.21190256, 0.15265064, -0.10474625) * go_7(-1.0, -1.0); - result += mat4(-0.0060280073, -0.061969724, -0.13169117, -0.1065949, 0.012384613, -0.03140488, -0.14643228, -0.06445609, 0.03988464, 0.04069182, 0.11866323, -0.19688562, -0.022739897, -0.21755488, -0.26377398, 0.06296565) * go_7(-1.0, 0.0); - result += mat4(-0.038920067, 0.058767352, 0.04357755, -0.056931626, -0.11520747, 0.030253679, 0.0422195, 0.0006937393, 0.0026942384, -0.017490983, -0.04594496, -0.018090999, -0.014340467, -0.053819276, -0.064896226, 0.22955441) * go_7(-1.0, 1.0); - result += mat4(-0.10237155, -0.14842659, -0.10546103, -0.055438522, -0.003674975, 0.022769332, 0.034824487, -0.099618606, -0.037216857, -0.0075835097, -0.07321481, 0.005553139, -0.049160898, -0.35594824, -0.0024691792, -0.0859826) * go_7(0.0, -1.0); - result += mat4(0.09589093, -0.36798313, -0.02544282, 0.09927271, 0.12121946, 0.06693128, -0.29467553, 0.1289274, -0.17023526, 0.1666999, 0.040806666, 0.06447546, 0.01383325, 0.1211838, -0.058053695, -0.11778658) * go_7(0.0, 0.0); - result += mat4(-0.18717405, -0.052822214, -0.16398504, -0.03264915, -0.17919281, -0.11834617, -0.049907073, 0.030273635, -0.004461265, 0.04638514, -0.05242928, 0.037246257, 0.0018656829, -0.033204567, -0.15611818, -0.08455959) * go_7(0.0, 1.0); - result += mat4(0.086630985, -0.057505272, -0.05761554, -0.076787725, 0.06376212, 0.070872895, -0.07744048, -0.1004346, -0.008703667, 0.08795953, 0.057223864, -0.030474983, -0.019109305, -0.26056463, -0.026397053, 0.055543657) * go_7(1.0, -1.0); - result += mat4(0.08602437, -0.16896045, -0.014315812, -0.0025012635, 0.015201334, -0.02628133, 0.1048174, 0.11787258, 0.020329308, -0.09259717, 0.022915883, -0.0073836856, 0.053537913, 0.16166794, 0.06464622, -0.05345328) * go_7(1.0, 0.0); - result += mat4(-0.10102555, -0.061532248, -0.0020540385, 0.07147, 0.0032743628, -0.041727625, 0.040523455, 0.10719813, -0.002222984, -0.022821166, -0.0136224665, -0.045646656, 0.028015751, 0.04479589, 0.09885242, 0.09787546) * go_7(1.0, 1.0); - result += vec4(-0.0060217623, 0.041483153, 0.0048249145, -0.017846024); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups1 -//!WIDTH conv0ups.w 3 * -//!HEIGHT conv0ups.h 3 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.031008404, -0.011465885, 0.028804773, 0.08732154, 0.14858758, -0.06855531, 0.08654593, 0.08536834, -0.0021101234, -0.042634897, 0.028098369, -0.06972104, 0.011399145, -0.0014535368, 0.13077526, 0.07995592) * go_0(-1.0, -1.0); - result += mat4(0.010890346, -0.06969674, 0.0076265433, -0.040633325, -0.12110143, -0.056799456, -0.0205289, 0.08947316, -0.012298458, -0.01051004, 0.039724167, 0.088776864, -0.040965777, 0.045863073, 0.026792718, 0.039780125) * go_0(-1.0, 0.0); - result += mat4(-0.0340985, 0.05213031, -0.002855445, -0.05174458, 0.058242504, -0.15634227, 0.098159306, -0.10653778, 0.0016934654, -0.029484536, -0.040153738, -0.06573923, -0.18439578, -0.1180248, 0.028968213, 0.10975639) * go_0(-1.0, 1.0); - result += mat4(-0.034522086, 0.1852845, -0.04576851, -0.015495429, -0.046609726, 0.102509156, -0.06131082, 0.018652035, 0.117570154, 0.023014406, -0.07642013, 0.0005472012, 0.07815475, 0.112316325, -0.16485958, 0.14599887) * go_0(0.0, -1.0); - result += mat4(-0.016921889, 0.04045604, 0.033173054, -0.072843954, 0.060644727, 0.12849148, 0.09025381, -0.15483984, 0.12790702, -0.09211152, -0.10658567, 0.004824856, 0.134074, -0.20682883, -0.0085312035, -0.045595698) * go_0(0.0, 0.0); - result += mat4(0.013238752, -0.014482704, -0.0109714605, 0.038535867, 0.037316132, -0.05308324, 0.017015684, 0.018103467, 0.005436139, -0.19934523, 0.09792159, 0.018661212, -0.08748789, 0.44144687, -0.0136271035, 0.11021046) * go_0(0.0, 1.0); - result += mat4(-0.0035254008, -0.0065662623, -0.018577693, 0.10395831, 0.028003007, -0.072180696, -0.04154409, 0.047752302, -0.02166001, 0.110732704, -0.16691324, 0.007526681, 0.011662007, -0.06613109, -0.14197223, -0.021485122) * go_0(1.0, -1.0); - result += mat4(0.028545767, 0.024394669, 0.0475819, 0.010204303, 0.0365447, 0.059255905, 0.060434323, -0.001578529, 0.00048043136, -0.010875573, -0.061176434, -0.028864788, -0.011236091, 0.07505333, -0.13191745, -0.07800606) * go_0(1.0, 0.0); - result += mat4(-0.044323623, 0.078716405, -0.010331392, 0.032246176, -0.01249593, -0.08949986, -0.118050285, 0.035310894, -0.10616151, 0.07004332, -0.13434112, 0.0022753936, 0.041931115, 0.010988529, -0.013373345, -0.07067911) * go_0(1.0, 1.0); - result += mat4(-0.14712968, 0.1303748, -0.053401075, -0.023067327, 0.07157392, 0.083951645, 0.06708938, -0.035423923, -0.13326603, -0.07072154, -0.18883637, -0.006823134, -0.17648292, 0.012428894, -0.08602724, 0.018545955) * go_1(-1.0, -1.0); - result += mat4(0.06221596, 0.09295542, -0.045385316, 0.07151344, 0.12789287, -0.012532345, 0.061951842, 0.059415627, 0.12539576, -0.08936331, 0.017873151, 0.12734255, 0.20109344, -0.21870106, -0.084215574, -0.07280641) * go_1(-1.0, 0.0); - result += mat4(-0.06738234, 0.09147441, 0.041747097, -0.11318767, 0.12008906, -0.08196032, 0.2298444, -0.013110108, 0.028941683, 0.12892896, -0.18524298, -0.0054568923, -0.0733691, 0.06493855, -0.026495539, -0.13440488) * go_1(-1.0, 1.0); - result += mat4(-0.07081254, -0.105720386, -0.029545268, 0.02414829, 0.10516828, -0.12950762, -0.088243686, -0.015089033, -0.14964604, -0.04668208, -0.026110154, -0.07517621, 0.024665853, 0.019628176, 0.0060402313, -0.060436286) * go_1(0.0, -1.0); - result += mat4(-0.08785425, 0.22962672, -0.12026621, 0.10627598, -0.3047981, 0.51479566, -0.17230198, 0.2026062, -0.0379354, 0.012929606, -0.22320692, -0.06296055, 0.16262105, 0.1315961, -0.10810794, -0.19850464) * go_1(0.0, 0.0); - result += mat4(-0.009786277, -0.024214577, 0.02804766, 0.014877924, -0.057604343, 0.012398648, 0.083221175, -0.051111076, 0.09313298, -0.19954021, -0.07838303, -0.14760832, -0.15472609, 0.0016322685, 0.014124812, 0.019143919) * go_1(0.0, 1.0); - result += mat4(-0.1327438, 0.034639187, -0.07155029, -0.05428827, -0.0060247434, -0.019542854, -0.08956798, -0.046781395, 0.03547983, -0.045186084, -0.06544417, 0.028352752, 0.081525125, -0.04527624, -0.042973306, 0.0133456215) * go_1(1.0, -1.0); - result += mat4(0.082099594, -0.003517408, -0.10405705, -0.004880443, -0.018541284, -0.08050822, -0.07433882, 0.007555451, 0.18573646, -0.07627161, -0.19172893, 0.031078884, -0.07604259, -0.067458645, -0.040240597, 0.016424658) * go_1(1.0, 0.0); - result += mat4(-0.09285982, 0.03702614, 0.05502789, 0.089517176, 0.14276125, -0.066872776, 0.016766513, 0.0032915426, -0.009963559, 0.009266318, -0.21723224, 0.034167703, -0.06856292, 0.031691033, 0.004908423, 0.07134705) * go_1(1.0, 1.0); - result += mat4(-0.042145792, -0.10246125, -0.18380879, 0.103197545, 0.047554307, 0.025613371, -0.057588324, 0.06244151, -0.23517399, -0.0020249686, -0.13443345, 0.05500381, -0.035253894, 0.011858585, -0.05196646, 0.027936863) * go_2(-1.0, -1.0); - result += mat4(0.04582865, 0.03387131, -0.0066644573, 0.045029428, -0.11422369, -0.056692857, -0.0753103, -0.13071376, -0.08764278, -0.094083555, 0.002910678, -0.052890077, 0.020475945, 0.018347086, -0.073296964, -0.054450788) * go_2(-1.0, 0.0); - result += mat4(0.06461033, -0.073843196, 0.09765554, -0.037457455, 0.0062603327, -0.051824745, -0.07597401, 0.020344062, 0.09807387, -0.12680094, 0.021457015, 0.04032044, 0.026994463, 0.0040843, -0.06258326, -0.07865831) * go_2(-1.0, 1.0); - result += mat4(0.06398405, 0.061654173, -0.0928112, -0.024058253, 0.069616415, -0.04526044, 0.022841258, -0.016704313, 0.047107253, 0.0035107392, 0.07093496, -0.19753708, 0.07726589, -0.0035802037, 0.032700732, -0.10351143) * go_2(0.0, -1.0); - result += mat4(-0.1883097, 0.7686166, -0.17206053, 0.16430104, -0.043986835, 0.053507116, -0.035720207, 0.022487193, 0.0048673707, 0.06604675, -0.19849421, 0.37677363, -0.04760138, 0.058882833, 0.046481196, -0.090708144) * go_2(0.0, 0.0); - result += mat4(-0.08256388, -0.009658597, 0.11603224, 0.08182191, -0.049587876, 0.08696885, -0.021588787, 0.06389069, -0.044780742, -0.11804188, 0.07203591, -0.10631222, -0.12557079, 0.33360577, -0.20704676, 0.2573384) * go_2(0.0, 1.0); - result += mat4(-0.14224637, -0.037939772, -0.031396743, 0.020173592, 0.0012089742, -0.11998399, 0.08884611, -0.015090299, 0.041187376, -0.103968844, -0.013064329, -0.010832061, 0.10114273, -0.047685403, 0.05036981, 0.09274703) * go_2(1.0, -1.0); - result += mat4(-0.08130449, 0.014743827, 0.008584026, -0.07025528, 0.038753156, -0.04853088, 0.010250739, -0.017090026, 0.101440206, -0.008712098, 0.006890931, -0.05716923, -0.045884974, 0.059291344, 0.11988196, -0.054974318) * go_2(1.0, 0.0); - result += mat4(0.04417951, -0.018678278, 0.07733477, 0.0067202407, 0.06177814, -0.13700502, 0.029271573, -0.017253505, 0.0212933, -0.10743522, -0.030371934, -0.053786937, 0.06649077, -0.05904024, -0.045880776, 0.053040594) * go_2(1.0, 1.0); - result += mat4(0.071562596, 0.0599166, -0.11720189, -0.014309535, -0.071373016, -0.016130127, -0.023780769, -0.001997018, -0.047778614, 0.029659528, -0.07897074, 0.050803836, 0.089349575, -0.08217411, -0.024224421, -0.024255265) * go_3(-1.0, -1.0); - result += mat4(0.006486515, -0.0658084, 0.022323247, 0.028965151, -0.012854999, -0.042212423, -0.008945042, 0.023361161, -0.03675071, 0.14935836, -0.22781968, -0.014056356, 0.08634443, 0.05687153, -0.052160293, 0.043717593) * go_3(-1.0, 0.0); - result += mat4(0.034421425, -0.104020424, 0.03797237, -0.03182555, 0.015753355, -0.046845365, 0.12137585, -0.093341276, -0.05402398, -0.079497576, -0.039373532, -0.04817569, 0.00938727, -0.027714383, -0.17566422, 0.02621762) * go_3(-1.0, 1.0); - result += mat4(-0.037846185, -0.053527895, -0.01955246, 0.0072346497, 0.1365148, -0.019329185, -0.12526068, -0.067949176, -0.107519604, 0.25747687, 0.04999606, -0.09500717, 0.18016966, -0.07374666, 0.0367582, -0.02093543) * go_3(0.0, -1.0); - result += mat4(0.046785537, -0.11026977, -0.05605464, -0.06209614, -0.04510055, 0.33856943, -0.18717079, 0.18384393, 0.06757486, 0.047074385, -0.36588484, 0.44135252, 0.06773761, 0.028485816, 0.12253952, -0.22326814) * go_3(0.0, 0.0); - result += mat4(-0.16639298, -0.07726947, -0.2069561, 0.12912624, -0.047143582, -0.11922356, -0.04531498, 0.016899964, -0.087376475, -0.01820976, 0.036773693, -0.015254593, -0.0029660047, 0.086795226, -0.16820423, 0.10935757) * go_3(0.0, 1.0); - result += mat4(0.055851273, 0.023897754, -0.18374673, 0.05872144, -0.072863765, -0.06460372, -0.054022614, 0.025372153, -0.19265196, -0.13349138, -0.027415652, -0.024564927, 0.071687825, -0.0447081, 0.017670501, -0.037018225) * go_3(1.0, -1.0); - result += mat4(-0.034506638, 0.111800216, -0.056136444, 0.009130966, -0.008260899, -0.03986616, -0.008006292, -0.020072196, -0.05764171, 0.21278518, 0.010525654, -0.04605175, -0.0444743, -0.010333986, -0.11199592, 0.11432997) * go_3(1.0, 0.0); - result += mat4(-0.07349431, 0.085572414, -0.014262764, 0.03399024, -0.08379838, 0.023632318, -0.0047551957, -0.013593632, -0.05024371, 0.08246164, -0.039576717, 0.031761006, -0.08950343, 0.07214142, 0.04231203, 0.008964006) * go_3(1.0, 1.0); - result += mat4(0.10519713, -0.12181931, -0.044800512, -0.0975902, 0.022226086, -0.07705521, -0.005750007, -0.081744365, 0.09161395, -0.057876665, 0.04768033, -0.0021973122, 0.115828395, 0.117363855, -0.06433652, -0.06858771) * go_4(-1.0, -1.0); - result += mat4(0.10305197, 0.059339043, -0.009076516, 0.15241532, -0.023003059, -0.039116282, 0.007089471, 0.029722707, -0.12735485, 0.18283232, -0.008489334, -0.012340658, 0.012051598, 0.15442379, 0.0063788225, 0.040199857) * go_4(-1.0, 0.0); - result += mat4(0.031345658, -0.03299968, -0.02227589, 0.06350165, -0.094423585, 0.02391686, -0.03692, -0.01623574, 0.009499508, -0.044783738, 0.08103209, 0.13681574, -0.10161464, -0.0049570557, -0.004671283, 0.06324168) * go_4(-1.0, 1.0); - result += mat4(0.06973929, -0.08125205, 0.039238486, 0.008494621, -0.03362637, -0.13971058, -0.08779752, -0.04247522, -0.099697195, -0.10650161, 0.03173315, 0.0675486, -0.12178111, -0.06946877, 0.12116126, -0.12293393) * go_4(0.0, -1.0); - result += mat4(-0.11153587, 0.17274657, 0.25114337, -0.024364363, -0.28806034, 0.5905429, -0.21663332, -0.04236629, -0.06033586, 0.0979595, -0.05407545, -0.006356241, -0.058945447, -0.046933945, -0.0051267073, 0.05030332) * go_4(0.0, 0.0); - result += mat4(0.036083777, -0.12136545, 0.016119994, -0.17773823, -0.10501043, -0.15533139, -0.09568148, 0.095158465, 0.11572994, -0.06980699, -0.09450004, 0.12020959, 0.091611065, 0.047535863, -0.021822795, -0.08473378) * go_4(0.0, 1.0); - result += mat4(-0.006276857, -0.07919089, 0.037926722, -0.06551658, -0.06413601, 0.089460276, 0.055634685, -0.016767453, 0.019613141, -0.041047532, 0.13762267, 0.038212962, -0.039029744, 0.07851155, 0.024156535, -0.031414095) * go_4(1.0, -1.0); - result += mat4(0.01696545, -0.06862619, -0.05076128, 0.056593467, -0.031035822, 0.012779944, -0.10558284, 0.069119655, -0.027278284, -0.045623723, 0.10541084, -0.105388716, -0.0031919298, 0.027849128, -0.020345552, 0.05059751) * go_4(1.0, 0.0); - result += mat4(0.023966562, -0.11092116, -0.15836681, 0.07327251, 0.03193834, -0.10829199, -0.008094687, 0.01985965, 0.013845133, 0.041301657, -0.024273552, -0.01684502, -0.10236365, 0.09499202, 0.077759326, 0.02580412) * go_4(1.0, 1.0); - result += mat4(-0.15272804, 0.03605143, 0.024180673, -0.045909654, -0.02811938, -0.02902313, -0.007802541, -0.0007955463, -0.011438571, 0.027032603, -0.034869343, 0.0362012, 0.13182172, -0.06486951, 0.0481704, -0.02153055) * go_5(-1.0, -1.0); - result += mat4(-0.108471416, -0.18573213, 0.17924283, -0.13284327, -0.078454465, -0.15354046, -0.019610127, 0.02049554, -0.037968334, -0.040843084, 0.07908988, -0.07928059, -0.11305105, -0.016429799, 0.011323485, -0.012159079) * go_5(-1.0, 0.0); - result += mat4(0.04628693, 0.032325752, -0.11833712, -0.08622061, 0.054224003, 0.009549531, -0.15820543, -0.05318651, 0.017258435, 0.019506872, -0.047184687, -0.025512999, -0.014390608, 0.18302508, 0.08423897, 0.105141826) * go_5(-1.0, 1.0); - result += mat4(0.20094486, -0.10344139, -0.0816851, 0.03548702, 0.10059125, -0.025172016, 0.025312323, 0.035228524, 0.24204572, -0.0020250736, 0.090121426, -0.08913212, -0.05302668, -0.055286966, 0.045870047, 0.054198977) * go_5(0.0, -1.0); - result += mat4(0.028196108, -0.108475365, 0.30534136, -0.060468867, -0.028125746, 0.08913541, -0.16427155, -0.1438726, -0.076729536, 0.12067497, 0.10610023, -0.13761236, -0.14798948, 0.008888801, -0.0709601, 0.18086153) * go_5(0.0, 0.0); - result += mat4(0.032356992, -0.09507882, 0.04416305, 0.1702381, 0.022765236, -0.03384779, -0.18818499, -0.0009667982, -0.08211374, 0.056179576, 0.11203229, 0.032677874, 0.023131043, 0.017385522, 0.038859185, 0.07689254) * go_5(0.0, 1.0); - result += mat4(-0.19946569, 0.10223578, -0.011007075, -0.012054017, -0.04111069, 0.045821026, 0.091568366, -0.010135607, -0.06486816, -0.0150876, -0.0038319398, -0.013001018, 0.06501192, -0.05501628, -0.06579173, 0.0627125) * go_5(1.0, -1.0); - result += mat4(-0.08876346, -0.21195786, 0.10352787, -0.17021365, -0.006207832, 0.0028155188, 0.020609817, 0.11699775, 0.0052554943, 0.023174284, 0.08324736, 0.10552884, -0.10677746, -0.022280341, -0.14452647, -0.16428481) * go_5(1.0, 0.0); - result += mat4(0.06881423, 0.01654907, -0.043833572, -0.12763122, -0.07845995, 0.061439924, -0.04598429, -0.021198804, 0.024270453, -0.1110317, 0.12623245, -0.073741674, 0.009267273, 0.072253376, -0.068827786, -0.04491686) * go_5(1.0, 1.0); - result += mat4(-0.043868385, -0.014294971, 0.061818495, -0.016603304, -0.12991363, -0.077007964, -0.01579917, 0.031680174, 0.02590703, -0.044807542, 0.05999355, 0.0062399143, -0.031505365, 0.06474619, -0.03626056, 0.048004076) * go_6(-1.0, -1.0); - result += mat4(0.038369924, -0.03947042, -0.016183259, -0.11240926, 0.0008569211, 0.062523685, 0.022099469, -0.027852431, 0.010759101, 0.061643828, 0.14736107, -0.012628838, -0.042291123, -0.028651314, -0.012728941, 0.030505417) * go_6(-1.0, 0.0); - result += mat4(0.019744126, 0.03155705, -0.049746685, 0.06542934, 0.02858851, -0.2151479, 0.036535185, 0.043711018, 0.046170764, 0.23783721, 0.040217318, 0.116410784, 0.025489636, 0.15418963, 0.060821977, -0.20146777) * go_6(-1.0, 1.0); - result += mat4(0.040525097, -0.17018317, 0.08478497, 0.101141945, -0.094823174, -0.04014186, -0.20789629, 0.13119611, 0.04872673, 0.038843364, 0.068146, -0.017992882, -0.09282702, -0.08551181, 0.17525405, -0.07220005) * go_6(0.0, -1.0); - result += mat4(0.109676786, -0.12872697, -0.05436481, -0.11297899, -0.3476076, 0.05067064, 0.030256622, -0.30482042, -0.032375194, 0.027036665, 0.01133723, 0.13354962, 0.18458062, 0.26173958, -0.1249422, 0.11495221) * go_6(0.0, 0.0); - result += mat4(-0.009070609, -0.05915893, 0.04994127, -0.033699673, -0.19568527, 0.08026953, -0.0058027157, 5.710049e-05, 0.07458601, 0.059805725, -0.012785105, -0.057371218, -0.021203447, -0.0831785, -0.059901994, 0.021137169) * go_6(0.0, 1.0); - result += mat4(0.13914044, 0.08213803, -0.046812594, -0.051657073, 0.055824798, 0.019892078, -0.13527681, 0.04723963, -0.025625791, 0.12068978, 0.02892825, 0.01725807, -0.040226247, 0.008963409, -0.081254825, 0.030524898) * go_6(1.0, -1.0); - result += mat4(-0.096388586, -0.09470215, -0.031716563, -0.02802906, 0.056972828, -0.11674046, -0.13467172, 0.02885707, 0.0010936497, 0.20470308, -0.04868091, -0.046199847, -0.17659225, 0.0016437034, 0.09892104, -0.045414075) * go_6(1.0, 0.0); - result += mat4(0.102783784, -0.058230758, -0.03910727, 0.008618775, 0.111812234, -0.042372532, -0.1602116, 0.06516997, 0.042304363, -0.047125086, -0.007799068, -0.0026155375, -0.021414453, -0.15102598, 0.08804141, -0.025863212) * go_6(1.0, 1.0); - result += mat4(0.0461152, 0.068066984, 0.054625124, 0.020383677, -0.047841873, 0.0016214666, 0.16666421, -0.019880379, 0.04783381, 0.070898876, -0.003605519, 0.010822775, -0.13464326, -0.044939514, -0.030663107, -0.04876943) * go_7(-1.0, -1.0); - result += mat4(-0.1099557, -0.0035630472, -0.027051058, 0.019699687, -0.03816215, -0.12261269, -0.112815104, 0.021155255, 0.109936185, -0.0036407611, 0.16894779, -0.103013456, -0.10129641, -0.106872186, 0.09342769, 0.09902944) * go_7(-1.0, 0.0); - result += mat4(0.04047511, -0.13067627, 0.025302676, 0.0095386235, 0.045809217, -0.05629087, 0.0057874685, 0.0128096, -0.03240341, 0.19302836, -0.010918225, 0.078637995, 0.06271552, 0.1079944, 0.16571811, 0.044243533) * go_7(-1.0, 1.0); - result += mat4(-0.08516292, -0.13506281, 0.016411733, -0.037751447, 0.08214346, -0.04948113, -0.009616542, 0.018149093, -0.16575205, -0.009300949, 0.0027886638, -0.034679346, -0.0794298, 0.15937836, -0.034461062, 0.08001157) * go_7(0.0, -1.0); - result += mat4(-0.17600851, 0.09873957, 0.08284445, -0.015754513, -0.17487402, 0.53612226, -0.042821396, 0.06933355, 0.11381474, -0.21294361, 0.113365375, -0.013826238, 0.091339335, 0.24697854, -0.018973138, -0.036277413) * go_7(0.0, 0.0); - result += mat4(-0.012352867, 0.10416108, 0.041876342, -0.042264193, -0.0018209369, -0.00015610301, 0.09828008, -0.08931842, 0.09973317, 0.017358495, -0.0067921923, -0.1913181, 0.10408541, -0.14452516, -0.24339683, -0.229857) * go_7(0.0, 1.0); - result += mat4(0.11225237, 0.09031479, -0.029238584, 0.04946851, 0.027025592, 0.06579225, 0.06403362, 0.015332076, -0.035474565, -0.027897194, 0.14082736, 0.016864734, -0.020415042, 0.008544985, 0.1300136, -0.13145682) * go_7(1.0, -1.0); - result += mat4(-0.13369688, 0.044651154, -0.064976804, 0.040835142, 0.15221307, -0.13437937, 0.0407457, -0.035302322, 0.02344516, 0.039198324, 0.060809214, 0.0068535395, 0.097570136, -0.083958484, -0.105391674, 0.037805457) * go_7(1.0, 0.0); - result += mat4(-0.14296855, 0.055651464, -0.035387635, 0.018673616, 0.076377265, -0.084642775, -0.04023962, -0.029588478, 0.019257369, -0.037873138, 0.0959468, 0.009150044, 0.07325122, -0.0314821, -0.15528563, 0.026186097) * go_7(1.0, 1.0); - result += vec4(0.005299386, -0.027750058, -0.023926897, 0.035113588); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups2 -//!WIDTH conv0ups.w 3 * -//!HEIGHT conv0ups.h 3 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.010773379, -0.13325028, 0.018346136, -0.1528716, -0.008146797, -0.06865242, 0.026818737, -0.09192424, -0.013648478, -0.0063683107, 0.093234375, 0.023920773, 0.02764375, 0.06564008, -0.01728772, -0.060859874) * go_0(-1.0, -1.0); - result += mat4(-0.12984093, 0.04984877, -0.21090752, 0.11165147, 0.124122895, 0.03448219, -0.09239323, 0.05502295, 0.17123832, -0.11718176, 0.013252649, -0.11461373, -0.056559496, 0.065270536, -0.05776972, -0.15349244) * go_0(-1.0, 0.0); - result += mat4(-0.107380085, -0.0113808615, 0.034637388, -0.048696794, -0.020139214, 0.00511338, 0.07097862, 0.0276873, -0.16981296, 0.047338087, 0.034067165, 0.092465065, 0.05999313, -0.07313168, 0.037693758, -0.0136288805) * go_0(-1.0, 1.0); - result += mat4(0.06796589, 0.14916262, -0.014025722, 0.066943124, 0.07855196, -0.08027092, -0.028968493, -0.010354844, 0.010685491, 0.04052424, 0.01975656, 0.03735782, -0.050862215, -0.05990837, -0.06510049, -0.2621827) * go_0(0.0, -1.0); - result += mat4(-0.037818376, 0.019700428, -0.002068841, 0.109060474, -0.10419003, -0.05105347, -0.048809715, -0.08464524, 0.034123164, 0.08841003, 0.07322615, -0.15412502, -0.28987047, 0.09626004, -0.0020555016, -0.015246429) * go_0(0.0, 0.0); - result += mat4(-0.10053273, 0.025809454, -0.041451488, -0.0069105863, 0.040212274, -0.04725307, -0.019760838, 0.010779229, -0.23969308, 0.023900993, 0.109835714, 0.10725643, -0.0040658796, -0.03961479, 0.02375363, -0.033095315) * go_0(0.0, 1.0); - result += mat4(0.007179336, -0.082703255, -0.1074364, -0.055340555, -0.029045733, -0.017448, -0.18798883, -0.0032630584, -0.010201595, -0.0048396504, 0.077003516, 0.065719225, 0.12778524, -0.06626283, -0.017082622, -0.0078512095) * go_0(1.0, -1.0); - result += mat4(-0.014353138, -0.006521591, -0.06909371, 0.012736149, -0.09435836, 0.1356958, -0.10366593, -0.0041438877, 0.009628175, 0.0040859925, -0.011165481, -0.033345588, -0.15237702, -0.0312087, 0.015260385, 0.0444127) * go_0(1.0, 0.0); - result += mat4(-0.014442371, 0.07676754, 0.022262538, -0.054716088, 0.030293861, -0.052963722, -0.021812383, -0.08621222, 0.14342898, 0.045112547, -0.060227357, 0.023352282, 0.16399784, -0.0672968, -0.0042051235, -0.1532131) * go_0(1.0, 1.0); - result += mat4(-0.020918218, 0.027395459, 0.0034248426, 0.08012823, -0.028371952, 0.036689103, 0.037822366, -0.16905384, -0.017041866, 0.06836204, -0.082468145, 0.07333768, -0.037686534, 0.017951455, -0.0018828547, 0.11055776) * go_1(-1.0, -1.0); - result += mat4(0.053536154, 0.05730052, -0.0054992423, -0.18550403, -0.023312157, -0.013950997, 0.009165346, 0.008073371, 0.05624439, 0.0014130961, 0.016543431, 0.06241809, 0.13670938, 0.00073126826, 0.001624247, 0.038753796) * go_1(-1.0, 0.0); - result += mat4(-0.0034311383, 0.007116817, 0.07452105, 0.011659134, -0.039772984, 0.059292104, 0.013225541, -0.04408646, 0.045066684, 0.048012637, 0.0011449073, 0.066179775, 0.028537784, 0.033542667, 0.099778004, 0.070685156) * go_1(-1.0, 1.0); - result += mat4(-0.0055496367, 0.08168228, -0.06103792, -0.078700975, 0.06955946, -0.009078723, 0.060624007, 0.057150934, 0.08676531, 0.0018657611, -0.06831008, -0.05569419, 0.08463942, 0.031226939, -0.04730966, -0.011964031) * go_1(0.0, -1.0); - result += mat4(0.12260423, 0.032514203, 0.008911303, -0.096912995, -0.03747238, -0.16325665, 0.1038572, -0.07069152, 0.15991132, -0.12686451, 0.14852794, 0.07974434, 0.037139475, -0.04096373, 0.042356372, -0.10029258) * go_1(0.0, 0.0); - result += mat4(-0.143151, -0.011595066, -0.068581596, 0.04138238, 0.08284006, -0.11732088, -0.0722425, -0.09281078, -0.23166539, 0.014771085, -0.10103986, 0.13934317, -0.17696716, 0.07486307, 0.055908978, -0.033082455) * go_1(0.0, 1.0); - result += mat4(0.05647076, -0.03206714, 0.07350139, -0.021267304, -0.116772406, 0.087762445, -0.03098456, 0.08932057, 0.025874196, -0.05827575, 0.020726373, -0.016715106, -0.069426864, -0.07060441, 0.056842018, -0.0679174) * go_1(1.0, -1.0); - result += mat4(-0.020990308, 0.15429191, 0.019629922, -0.030022325, -0.031660795, -0.0202408, -0.15422063, -0.026117325, -0.047787428, 0.08214524, 0.06016401, 0.16167365, 0.007815569, 0.076847136, 0.108483985, -0.07652778) * go_1(1.0, 0.0); - result += mat4(0.036064994, 0.038581718, 0.054312762, 0.040499184, 0.057826247, 0.051615417, -0.021165349, 0.022500448, 0.12059116, -0.13938737, 0.037203502, -0.096839115, 0.06128667, 0.016831718, -0.00871193, 0.0029930167) * go_1(1.0, 1.0); - result += mat4(-0.03706134, -0.023336586, 0.0048238738, 0.052703153, -0.06411955, -0.022989376, 0.084334195, 0.0030104967, -0.059048247, 0.0007168811, 0.018406779, -0.08931013, 0.015542656, 0.067232944, -0.12162123, 0.09243458) * go_2(-1.0, -1.0); - result += mat4(0.09631325, -0.05062902, -0.032008, -0.03494745, 0.03680838, -0.016007978, 0.1681059, 0.031155972, 0.1804909, -0.025729256, 0.025354143, -0.23486479, -0.03127292, -0.10423701, -0.0015036232, 0.017207187) * go_2(-1.0, 0.0); - result += mat4(0.050898142, -0.0066546467, 0.022708563, -0.08773856, -0.10027636, -0.04240748, 0.06386405, 0.13314565, 0.16859622, -0.105117716, 0.06399669, 0.032869946, 0.062459636, 0.06715258, 0.008070547, -0.022548271) * go_2(-1.0, 1.0); - result += mat4(0.116793595, 0.01273089, 0.022750624, -0.11072361, -0.009085662, 0.025767995, -0.012590074, 0.017745938, -0.023533886, -0.091529116, -0.005602433, 0.043459848, 0.09943287, -0.053660534, 0.14189643, 0.023697853) * go_2(0.0, -1.0); - result += mat4(-0.29917693, 0.023385998, -0.18892145, -0.08375141, 0.11016133, 0.092272624, -0.1946611, 0.09891922, 0.20492458, 0.12035902, 0.00074596977, -0.19037278, -0.067086115, 0.02135167, -0.054288723, 0.06540246) * go_2(0.0, 0.0); - result += mat4(0.054839212, -0.032581944, -0.026213324, -0.13856673, 0.09290412, 0.15453708, -0.14585601, -0.040790234, -0.022451773, -0.07595546, -0.0025928882, -0.003461436, 0.034573015, -0.012333621, -0.1586153, -0.06915793) * go_2(0.0, 1.0); - result += mat4(0.013772437, -0.019608572, -0.045185592, -0.16802783, 0.037788764, -0.049791697, 0.013531896, 0.10313015, -0.009065438, 0.11559135, -0.006117876, 0.064848155, -0.014022131, -0.034237325, -0.057020474, 0.0037476006) * go_2(1.0, -1.0); - result += mat4(-0.037832692, 0.026490564, -0.046946067, -0.14422522, 0.07729811, 0.044882588, 0.015131054, 0.008922788, 0.059674583, 0.040521197, -0.0483585, 0.03644257, -0.12222551, 0.038388293, -0.014869171, 0.006056235) * go_2(1.0, 0.0); - result += mat4(0.014899785, -0.00705499, 0.022272158, -0.03823196, -0.056899805, 0.008232538, 0.12835112, 0.007890736, -0.17642817, -0.13865739, -0.0008863866, -0.020847151, 0.07195754, 0.006228823, 0.0020501765, -0.033757832) * go_2(1.0, 1.0); - result += mat4(-0.019454308, 0.041543886, -0.10635596, 0.041844036, -0.07532158, 0.0015970292, -0.04835291, 0.0031403354, -0.0031588126, 0.0018797811, -0.012941282, 0.042755254, 0.06927625, -0.0029895287, -0.08432762, 0.08883082) * go_3(-1.0, -1.0); - result += mat4(0.04124189, -0.17871232, 0.029984072, -0.11300213, -0.08678469, -0.08368963, 0.07457151, -0.16380833, 0.054542996, 0.068214625, 0.05323982, -0.08397058, 0.05747041, -0.077369794, -0.062131416, -0.06138352) * go_3(-1.0, 0.0); - result += mat4(-0.0007387199, 0.0005401213, 0.030776624, -0.02367931, 0.048268933, -0.10748841, -0.015453994, -0.045566984, -0.022275386, -0.06585294, 0.068738, -0.04186048, 0.013701639, 0.025698824, 0.042036224, -0.03185016) * go_3(-1.0, 1.0); - result += mat4(-0.13094874, -0.0560659, -0.063632995, -0.089430586, -0.034798793, -0.055078138, 0.07083631, -0.07542177, -0.25205824, 0.18131877, -0.06970177, 0.059663247, 0.008941054, -0.0749315, 0.10443532, -0.014879092) * go_3(0.0, -1.0); - result += mat4(0.060569935, -0.0074758953, -0.055940595, 0.15320498, 0.055529255, 0.07498688, -0.24275857, -0.086847514, -0.10211266, -0.024097167, -0.20594142, -0.02878009, -0.2029714, -0.10487691, 0.03185034, -0.025810733) * go_3(0.0, 0.0); - result += mat4(-0.12118787, -0.10833348, -0.10401609, -0.08601061, -0.041819055, -0.07175898, 0.002354427, 0.02531539, -0.028673707, -0.124353334, 0.030226748, -0.033797923, 0.03136095, -0.04378527, 0.06578015, 0.06883648) * go_3(0.0, 1.0); - result += mat4(0.022786876, -0.106178455, -0.029356318, -0.070022464, 0.00922158, -0.024296954, 0.057507113, -0.13781165, 0.016173026, 0.05787189, 0.05150099, -0.05949634, 0.022618655, -0.01956636, -0.033876557, -0.072419226) * go_3(1.0, -1.0); - result += mat4(-0.08856093, 0.03388579, -0.086664826, -0.050871532, 0.00043561612, 0.14029606, 0.05862929, -0.05623749, 0.017565114, 0.011839109, 0.013828233, -0.18454114, -0.050516702, 0.087137595, 0.040252656, -0.01677913) * go_3(1.0, 0.0); - result += mat4(-0.03991627, 0.01261972, 0.054937847, -0.08364099, -0.05622806, 0.0047415774, 0.0048039337, 0.01480692, -0.0132515095, -0.004070498, 0.047340598, -0.041554607, 0.013471688, -0.0012447956, -0.039093062, -0.10907795) * go_3(1.0, 1.0); - result += mat4(0.021189118, -0.05241465, 0.042976, 0.034264904, -0.14510728, 0.02873931, 0.01845405, 0.12381923, -0.061601758, 0.014426877, -0.06421808, -0.028817724, -0.03168036, -0.035064895, 0.048245188, 0.03154415) * go_4(-1.0, -1.0); - result += mat4(-0.046921793, 0.12729059, 0.051400434, 0.12739788, -0.027870914, 0.06689444, 0.12776418, 0.018720536, -0.18006173, -0.026558192, -0.10393907, -0.06653183, 0.0386169, -0.02420454, -0.0069407905, -0.10674485) * go_4(-1.0, 0.0); - result += mat4(-0.06974602, 0.030878898, 0.035664577, 0.09163117, -0.03385263, -0.013981724, -0.05417749, 0.078872174, 0.077933654, -0.053969186, -0.075152665, -0.097501524, 0.007359103, -0.0055170334, -0.035784382, -0.011149727) * go_4(-1.0, 1.0); - result += mat4(-0.12600738, 0.112411655, 0.021003474, 0.08394408, -0.0068660914, -0.0070775487, -0.032542247, 0.06220799, 0.081130326, -0.020583797, 0.022266936, 0.02321497, -0.008355328, 0.042265356, -0.07767447, 0.094145864) * go_4(0.0, -1.0); - result += mat4(0.22157232, 0.07980892, 0.17811519, -0.3948419, -0.18386054, -0.012668223, -0.10646584, -0.103671126, 0.15824732, -0.019695727, -0.013494174, 0.111227505, -0.0058521237, 0.14865461, 0.18566546, 0.069290616) * go_4(0.0, 0.0); - result += mat4(0.070055425, -0.1583035, 0.016645938, -0.009720748, 0.09576679, -0.019951109, 0.044518013, -0.06335425, 0.08379782, 0.06047332, -0.16433978, -0.0034642057, 0.013061672, -0.007918953, -0.0049442975, 0.04942921) * go_4(0.0, 1.0); - result += mat4(-0.08114284, -0.018856885, 0.11689622, 0.06909917, -0.027572189, 0.016203558, 0.051501397, -0.034298997, 0.05772637, 0.019343115, -0.102042474, -0.037319086, -0.0630886, 0.0006934294, 0.08860384, 0.026380517) * go_4(1.0, -1.0); - result += mat4(0.16596714, 0.14505897, -0.04155494, 0.014704244, 0.07104893, 0.14335804, 0.0692165, -0.025348278, -0.014616563, 0.02670063, -0.01949867, -0.015292871, 0.070823014, -0.049257036, -0.0008982118, -0.008689293) * go_4(1.0, 0.0); - result += mat4(-0.046763286, 0.011514989, -0.122827835, 0.120339476, -0.019439874, -0.021164281, -0.03043122, 0.09880198, -0.02856512, -0.08784067, 0.088063225, -0.072501145, -0.17521285, 0.049274176, 0.030654777, 0.03219053) * go_4(1.0, 1.0); - result += mat4(0.010774123, 0.07244017, -0.027567, -0.3042531, 0.013650298, -0.033108883, -0.006992217, 0.078730345, 0.02122525, 0.01613853, 0.13223703, 0.022128796, 0.06624568, 0.0015342244, 0.0050394353, 0.014934483) * go_5(-1.0, -1.0); - result += mat4(-0.068451814, 0.04524881, 0.13098826, -0.047229577, -0.089810416, 0.05024813, -0.023596698, 0.019852864, -0.09382708, 0.047823515, 0.046208918, 0.038787603, -0.18016998, 0.041748315, 0.04991817, 0.14533369) * go_5(-1.0, 0.0); - result += mat4(0.007943992, -0.035991993, -0.021322006, -0.023561362, 0.03333043, -0.1209179, 0.019207314, 0.0375389, 0.06877566, 0.11280428, 0.01314338, 0.07742383, 0.026820341, 0.03379967, -0.06119831, -0.14328238) * go_5(-1.0, 1.0); - result += mat4(-0.10927233, -0.060229287, 0.028159766, 0.07981562, -0.034203906, 0.02898321, -0.08962518, -0.026310142, -0.019359693, 0.08630387, -0.062503956, 0.107800014, -0.077233255, -0.013736811, 0.06765195, -0.111615986) * go_5(0.0, -1.0); - result += mat4(0.056070946, -0.1673722, -0.068222955, 0.14344302, 0.008550983, 0.109370075, -0.0718237, -0.21439798, 0.087295316, -0.02002976, 0.0492294, 0.07230409, 0.10336873, -0.028268235, -0.04916943, -0.09327968) * go_5(0.0, 0.0); - result += mat4(0.07781267, 0.048755344, 0.10299425, -0.10144247, -0.02797835, 0.045273103, -0.03212181, -0.058474842, -0.08691153, -0.081011154, 0.09422595, -0.045192823, 0.020862237, 0.0037564635, -0.06350643, 0.10690313) * go_5(0.0, 1.0); - result += mat4(-0.049739495, 0.06048482, -0.08281123, -0.028578287, -0.03144295, -0.10446834, -0.0053704865, -0.17024766, -0.058496293, -0.051011022, 0.011326107, 0.061208814, 0.11980172, -0.055324163, -0.14052723, 0.053606875) * go_5(1.0, -1.0); - result += mat4(0.05487482, -0.18271531, 0.05642448, -0.1504291, 0.059293207, -0.011658486, 0.025785489, -0.09553413, -0.05519662, -0.05105145, -0.09886545, -0.02784561, -0.09035061, -0.014003552, -0.06263171, 0.17187388) * go_5(1.0, 0.0); - result += mat4(-0.11630435, -0.07242824, 0.09471105, -0.04403716, 0.056197144, 0.017389454, 0.050121296, -0.023262395, -0.07639264, 0.12836945, -0.03693076, 0.026727198, -0.045340326, -0.024228575, 0.046175115, -0.0023615584) * go_5(1.0, 1.0); - result += mat4(0.045673423, 0.029376771, 0.0058960076, -0.011690486, 0.040948313, 0.00033566428, -0.078610085, -0.1923095, 0.015124016, 0.03504836, 0.10945228, -0.04973195, -0.035196844, -0.002643685, 0.02339453, -0.092498146) * go_6(-1.0, -1.0); - result += mat4(-9.175144e-05, 0.033409104, 0.040829856, 0.04208305, 0.03220207, 0.08722399, -0.07321389, 0.08655354, 0.007852992, -0.08140217, -0.05744028, 0.1130556, 0.11585877, 0.033027284, 0.08954412, 0.09637844) * go_6(-1.0, 0.0); - result += mat4(0.009810212, -0.004692366, 0.016258111, 0.060675208, -0.0061935033, 0.060017355, -0.10624005, -0.103517056, -0.016645217, 0.06108931, -0.08404053, -0.052237418, -0.05495817, -0.041707195, -0.005650813, 0.10455568) * go_6(-1.0, 1.0); - result += mat4(-0.013510583, -0.0015044374, 0.023143407, -0.029222352, 0.04133373, -0.17958635, -0.004044454, -0.13689542, 0.044074584, -0.0022727505, -0.050793514, -0.0014197935, -0.012874273, 0.07767363, -0.0056788926, -0.060549226) * go_6(0.0, -1.0); - result += mat4(-0.20708455, 0.19714263, -0.047439054, 0.061314642, -0.13908294, -0.03564585, 0.18844455, -0.07656319, -0.027228372, -0.0003504338, -0.0876453, -0.16153371, -0.20206393, -0.0824074, 0.07426116, -0.03313524) * go_6(0.0, 0.0); - result += mat4(0.14003715, -0.04489994, 0.11727284, -0.02034374, 0.09415694, -0.09790171, 0.017811516, 0.004945408, 0.011151917, 0.0065421355, 0.0650504, 0.030591844, 0.023743728, 0.080276124, 0.03329977, -0.021011258) * go_6(0.0, 1.0); - result += mat4(0.033209547, -0.064974785, 0.037238188, 0.084603265, -0.07237624, 0.022390625, -0.03781584, -0.034842096, -0.14621674, 0.084718555, -0.0033507666, -0.002409852, -0.0334208, 0.038279716, 0.04241758, -0.007934263) * go_6(1.0, -1.0); - result += mat4(0.09260781, -0.03533289, 0.03948036, 0.0033985232, -0.061207756, 0.034610566, -0.021232948, 0.18351275, 0.0135108875, 0.023678917, -0.033803303, -0.03424109, 0.09098361, 0.044532146, 0.11310433, -0.13387783) * go_6(1.0, 0.0); - result += mat4(0.035433106, -0.013315172, -0.09899418, 0.010384595, 0.013123027, 0.13166636, -0.12113552, 0.07023188, -0.08677719, 0.10380258, -0.06491381, 0.088339224, 0.028492138, -0.013855274, 0.042146087, 0.037210286) * go_6(1.0, 1.0); - result += mat4(0.0118551655, 0.011881825, 0.0012513773, -0.29842687, 0.015152467, -0.012379885, 0.007491827, 0.04672621, -0.039018527, 0.063113146, -0.018338528, 0.08606183, 0.040836196, -0.014706618, 0.08505284, -0.053019464) * go_7(-1.0, -1.0); - result += mat4(0.085957885, -0.057026774, -0.10680372, -0.054673444, -0.044920642, -0.02150639, -0.19568424, -0.012167548, 0.0094547, -0.12740794, -0.09753801, 0.18647175, -0.011587946, 0.009045976, -0.055947494, -0.08864113) * go_7(-1.0, 0.0); - result += mat4(-0.10643029, 0.023644416, -0.042127535, 0.02908656, 0.07169349, 0.03850818, 0.059762653, -0.02633128, 0.054261427, 0.078785546, -0.047817495, -0.04075799, -0.12432041, -0.13646565, -0.07101156, -0.066338435) * go_7(-1.0, 1.0); - result += mat4(-0.0036060396, -0.0027861246, -0.038555164, -0.05322004, 0.10128716, 0.024530249, 0.013425216, 0.046541795, -0.0016057328, -0.0141123505, 0.032346413, -0.018870756, -0.00469762, -0.009107471, -0.14014857, 0.034257863) * go_7(0.0, -1.0); - result += mat4(0.032631207, -0.0023102923, 0.005430841, -0.2713018, -0.05554147, -0.050293513, -0.16733491, 0.072879665, -0.012097781, -0.047060948, 0.09123701, -0.044434346, -0.025493262, 0.24324937, -0.22666596, -0.007906154) * go_7(0.0, 0.0); - result += mat4(-0.06685568, 0.13164215, -0.1528712, 0.031538565, -0.08007672, 0.038792517, 0.02615036, 0.055107627, 0.044818852, 0.04285147, 0.014062777, -0.0074646017, 0.008171892, 0.018163204, -0.17619182, -0.04108532) * go_7(0.0, 1.0); - result += mat4(-0.015660536, -0.018938752, -0.005833929, -0.0035848632, 0.006549891, -0.021335827, -0.03022379, 0.14764309, 0.0432558, -0.044752058, -0.025852531, -0.024714898, -0.02366237, -0.05103176, 0.00095822517, 0.106250785) * go_7(1.0, -1.0); - result += mat4(-0.16938297, -0.057609215, -0.073838405, -0.20301907, -0.014371799, 0.10703029, -0.050330624, 0.056260847, -0.010663833, 0.029461538, 0.039329972, 0.03691592, 0.15988533, -0.14160618, -0.13238208, 0.055504102) * go_7(1.0, 0.0); - result += mat4(0.09897868, 0.094456755, -0.001765962, 0.074587665, 0.08853994, 0.090077385, -0.036821872, 0.023791702, 0.0013655893, -0.010292126, -0.006655838, 0.014772215, -0.1274574, 0.041696858, 0.027986838, 0.037936773) * go_7(1.0, 1.0); - result += vec4(0.0046476824, 0.027375836, 0.016970862, 0.011731038); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-3x3x3x24 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv1ups -//!BIND conv1ups1 -//!BIND conv1ups2 -//!SAVE MAIN -//!WIDTH conv1ups.w -//!HEIGHT conv1ups.h -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.005254592, -0.018757867, -0.015085193, 0.0, 0.09495985, -0.16238034, -0.0053182673, 0.0, 0.05130886, -0.019089784, 0.0021606977, 0.0, -0.0050884252, -0.0148408925, -0.0039073024, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.0027982686, -0.0180415, -0.01787786, 0.0, 0.04666108, -0.16439973, 0.13316426, 0.0, -0.11120306, 0.065285176, 0.047622934, 0.0, -0.0004775587, 0.0035521288, 0.0008400152, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.017746428, -0.014509182, -0.010984747, 0.0, 0.06505376, 0.20612718, -0.03806855, 0.0, -0.01527659, -0.03466789, -0.020361444, 0.0, 0.011079114, 0.014947587, 0.008495816, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.07831245, 0.09598534, 0.08608037, 0.0, 0.008052521, 0.17842343, 0.15529382, 0.0, 0.15771978, -0.039439585, -0.012488644, 0.0, -0.007574169, -0.0015686441, -0.003389103, 0.0) * go_0(0.0, -1.0); - result += mat4(0.010234201, 0.039374817, 0.027153295, 0.0, -0.067681186, -0.120320305, 0.013762433, 0.0, -0.19075067, -0.020968745, 0.00012614117, 0.0, -0.004527889, -0.017591938, -0.008411707, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.0030420967, -0.001558541, 6.965576e-05, 0.0, -0.033608887, -0.09474971, -0.2262944, 0.0, -0.07190869, 0.020280447, 0.09521507, 0.0, 0.005413933, 0.008795136, 0.008203193, 0.0) * go_0(0.0, 1.0); - result += mat4(0.0015108645, 0.012904016, 0.016192287, 0.0, -0.064128086, 0.13379082, -0.35676238, 0.0, 0.05369797, -0.009161115, -0.054337718, 0.0, 0.018602658, 0.015447565, 0.016165644, 0.0) * go_0(1.0, -1.0); - result += mat4(0.008233469, -0.0154424505, -0.0029020428, 0.0, 0.04368308, 0.011088607, -0.0438222, 0.0, 0.108082294, 0.018478753, -0.06098108, 0.0, -0.010249234, 0.0012413476, -0.009973051, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.010265514, -0.0116993105, -0.017459782, 0.0, -0.08879862, 0.03483122, 0.35975364, 0.0, 0.0033217808, 0.017610483, 0.017924132, 0.0, 0.0043708533, -0.0005878419, 0.0020788403, 0.0) * go_0(1.0, 1.0); - result += mat4(0.013100638, 0.060279634, 0.05250057, 0.0, -0.0010344542, -0.00186081, -0.0039032432, 0.0, 0.02386054, -0.017394792, -0.011023623, 0.0, 0.0024469923, -0.011567568, -0.0060674627, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.008273639, -0.08614229, -0.08208723, 0.0, 0.0038485574, 0.0068076635, 0.008062351, 0.0, -0.041637324, -0.012542969, 0.039497502, 0.0, 0.0038057968, 0.011786499, 0.0063744723, 0.0) * go_1(-1.0, 0.0); - result += mat4(-0.020105148, -0.007642187, -0.030856, 0.0, -0.003524435, -0.00735857, -0.0053208256, 0.0, 0.03263318, -0.003193644, -0.014232393, 0.0, -5.833118e-05, 0.0017830055, 0.0030096706, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.016909711, -0.004058973, -0.014199138, 0.0, 0.0068232864, 0.004693168, 0.004873514, 0.0, -0.13790038, 0.08352342, -0.0324787, 0.0, 0.00041656455, 0.008086727, 0.0030545967, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.023683438, -0.09624147, -0.06831003, 0.0, -0.008321081, -0.0113018975, -0.008104185, 0.0, 0.050059218, 0.089206725, -0.09422268, 0.0, -0.009555781, -0.008833004, -0.0062801726, 0.0) * go_1(0.0, 0.0); - result += mat4(0.0006993997, 0.032285403, 0.0590182, 0.0, -0.0014223646, 0.008005577, 0.00064186833, 0.0, 0.21587205, -0.048408728, -0.09674616, 0.0, -0.0096332785, -0.01844816, -0.009809878, 0.0) * go_1(0.0, 1.0); - result += mat4(-0.0017698067, -0.011536847, -0.032046486, 0.0, 0.005225725, 0.006681489, 0.0057289354, 0.0, -0.027070515, 0.009334237, 0.08355905, 0.0, 0.009699363, 0.02103018, 0.020502198, 0.0) * go_1(1.0, -1.0); - result += mat4(-0.0068307347, 0.06917021, 0.039881486, 0.0, 0.0045612897, 0.0073527456, 0.0027704758, 0.0, -0.07681857, -0.024538197, 0.066249035, 0.0, 0.018884921, 0.0024185115, 0.008488438, 0.0) * go_1(1.0, 0.0); - result += mat4(0.0030933758, -0.0036962985, 0.016858855, 0.0, 0.0031607682, -0.0016671033, 0.0054770466, 0.0, 0.041883804, -0.05856681, 0.052265577, 0.0, -0.0034462444, 0.007220778, -0.0049047135, 0.0) * go_1(1.0, 1.0); - result += mat4(-0.008796289, -0.0024576676, -0.004595136, 0.0, -0.01892227, -0.02289196, -0.022207217, 0.0, 0.026002366, 0.00527656, -0.01178999, 0.0, -0.081901155, 0.092980735, 0.06647905, 0.0) * go_2(-1.0, -1.0); - result += mat4(0.013699341, -0.022251487, 0.00212006, 0.0, 0.0022527578, 0.005115263, 0.0024595936, 0.0, 0.06802264, 0.04361523, 0.011463202, 0.0, -0.08293379, -0.037324883, -0.014784007, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.050218523, 0.0035854764, -0.034595665, 0.0, -0.009185596, -0.008213256, -0.0063013337, 0.0, 0.051666725, 0.002519945, 0.020391578, 0.0, 0.003138411, 0.0067758807, -0.012770092, 0.0) * go_2(-1.0, 1.0); - result += mat4(0.032333378, 0.02466946, 0.022505494, 0.0, -0.0083795525, -0.008804619, -0.008356948, 0.0, 0.038903773, -0.016370708, -0.016763346, 0.0, -0.12162343, -0.08718591, -0.016114233, 0.0) * go_2(0.0, -1.0); - result += mat4(0.14274949, 0.14927898, 0.15043736, 0.0, 0.0155599965, 0.01959499, 0.01897414, 0.0, 0.1270164, 0.06282633, -0.04108991, 0.0, 0.13393795, 0.055132177, 0.0011949918, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.092501506, -0.13535453, -0.09822756, 0.0, -0.011943714, -0.014657381, -0.01672645, 0.0, -0.086055554, -0.094672106, 0.045871347, 0.0, 0.041400526, 0.017499585, -0.019431707, 0.0) * go_2(0.0, 1.0); - result += mat4(0.026763977, 0.014384241, 0.017063811, 0.0, -0.011180287, -0.0056468076, -0.01378504, 0.0, 0.023430727, 0.00082399184, -0.017604599, 0.0, 0.019577585, -0.042885717, -0.0019262027, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.03158236, -0.011085954, 0.0062921573, 0.0, 0.0070171887, -0.0040961946, 0.008240083, 0.0, -0.16102828, -0.03115285, -0.032626532, 0.0, 0.048951775, 0.022836884, 0.0022947567, 0.0) * go_2(1.0, 0.0); - result += mat4(-0.02446834, -0.01722671, -0.04932979, 0.0, -0.018479923, -0.016315645, -0.014568363, 0.0, -0.08584075, 0.013530463, 0.02634945, 0.0, 0.03166419, -0.0038847823, 0.006631584, 0.0) * go_2(1.0, 1.0); - result += mat4(0.0046903454, -0.0078145955, -0.002881733, 0.0, -0.0032192532, -0.0023766425, -0.005304056, 0.0, 0.002075086, 0.001346401, 0.003119866, 0.0, 0.046239153, 0.0316365, 0.021611348, 0.0) * go_3(-1.0, -1.0); - result += mat4(0.0038853723, 0.026791377, 0.016439585, 0.0, 0.0029055811, 0.0021269377, 0.002880523, 0.0, 0.002842519, 0.003125611, 0.004247331, 0.0, -0.15446155, -0.11018698, -0.108689025, 0.0) * go_3(-1.0, 0.0); - result += mat4(0.009707763, 0.0062886328, 0.0095384335, 0.0, -0.0033002114, -0.0045184703, 0.00094776496, 0.0, 0.0074377013, 0.007007375, 0.0064297393, 0.0, -0.06333744, -0.063041285, -0.07653862, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.017742136, -0.015275463, -0.012908959, 0.0, -0.00021009381, -0.0070606046, -0.0011363884, 0.0, -0.0017327431, -0.007043264, 0.0009548218, 0.0, -0.0073412512, 0.017348787, -0.009653418, 0.0) * go_3(0.0, -1.0); - result += mat4(-0.024081307, -0.030407947, -0.022509713, 0.0, 0.00895745, 0.016481094, 0.011516272, 0.0, -0.0058401483, 0.0010116898, -0.0028305475, 0.0, 0.11353651, 0.05044185, 0.14216848, 0.0) * go_3(0.0, 0.0); - result += mat4(0.0006503813, -0.00843029, -0.010461295, 0.0, 0.002523751, 0.006565067, 0.00063075445, 0.0, 0.005178493, 0.000379669, 0.0020746172, 0.0, -0.025654146, 0.0088300295, -0.055120986, 0.0) * go_3(0.0, 1.0); - result += mat4(0.01604027, 0.017836839, 0.01756045, 0.0, -0.000653784, 0.0071525937, 0.0035807702, 0.0, -0.003669385, 0.0007951296, -0.0037883278, 0.0, -0.021026582, -0.030122342, -0.019120207, 0.0) * go_3(1.0, -1.0); - result += mat4(-0.0075783534, -0.017179204, -0.02404258, 0.0, 0.010827431, 0.003507088, 0.012902122, 0.0, -0.0054161274, -0.0057888385, -0.0051716617, 0.0, 0.05137473, 0.005526086, 0.04326977, 0.0) * go_3(1.0, 0.0); - result += mat4(-0.0031085038, -0.0028056738, 0.010588121, 0.0, 0.0028965238, 0.004071662, 0.000101293066, 0.0, 0.00040031073, -0.00041478255, -0.004495397, 0.0, -0.003207949, 0.031456985, -0.009085761, 0.0) * go_3(1.0, 1.0); - result += mat4(0.010081116, 0.002063289, 0.009083497, 0.0, 0.008646563, 0.0033220204, 0.021598583, 0.0, -0.0010274828, 0.008802747, 0.004317745, 0.0, 0.0038647072, 0.011780735, 0.012522434, 0.0) * go_4(-1.0, -1.0); - result += mat4(0.0057788608, 0.013678763, 0.0035954867, 0.0, 0.079623915, 0.064366356, 0.08500603, 0.0, 0.0037097908, -0.0040775114, -0.0030950457, 0.0, -0.00033510555, -0.007889699, 0.00041357763, 0.0) * go_4(-1.0, 0.0); - result += mat4(0.0032172403, 0.0019201472, 0.0013542707, 0.0, 0.022996396, 0.030808633, 0.021855233, 0.0, -0.006251132, -0.0006679484, -0.003631441, 0.0, 0.004161011, 0.00307829, 0.0055197086, 0.0) * go_4(-1.0, 1.0); - result += mat4(-0.00532508, -0.003511613, -0.007755409, 0.0, 0.060700998, 0.06649411, 0.061377708, 0.0, -0.0025372675, -0.004137292, -0.007275044, 0.0, -0.021939326, -0.005733262, -0.0047699506, 0.0) * go_4(0.0, -1.0); - result += mat4(0.009173537, 0.014304193, 0.010216183, 0.0, -0.31371036, -0.29929778, -0.32710865, 0.0, -0.006829652, 9.268505e-05, -0.0014750211, 0.0, 0.053703837, 0.06144078, 0.038678754, 0.0) * go_4(0.0, 0.0); - result += mat4(0.0048204805, 0.0030749908, 0.009710859, 0.0, 0.11020071, 0.09086675, 0.10684794, 0.0, -9.168709e-05, -0.011415532, -0.0067179725, 0.0, 0.014402705, 0.02327388, 0.012822647, 0.0) * go_4(0.0, 1.0); - result += mat4(0.002633879, 0.0151467025, 0.009785409, 0.0, 0.003971507, 0.020577636, 0.013059014, 0.0, 0.0015010595, -0.003990951, -0.0039251777, 0.0, -0.087732576, -0.1220461, -0.105398156, 0.0) * go_4(1.0, -1.0); - result += mat4(1.9667075e-05, -0.014126217, 0.0005683502, 0.0, 0.05864391, 0.08626182, 0.08147204, 0.0, -0.004497728, -0.009753341, -0.007827621, 0.0, -0.009917512, -0.0011731245, -0.011392064, 0.0) * go_4(1.0, 0.0); - result += mat4(-0.0009837402, 0.0006529726, -0.007407727, 0.0, -0.0009069719, -0.017210206, -0.021216527, 0.0, 0.0026864838, 0.0074854055, 0.011746227, 0.0, 0.015880473, -0.00025867054, 0.011937394, 0.0) * go_4(1.0, 1.0); - result += mat4(0.020672686, 0.024725065, 0.01964096, 0.0, 0.039276525, 0.034113694, 0.027934633, 0.0, -0.017184, -0.005851089, -0.004547797, 0.0, 0.0028518494, 0.0031415436, 0.00052153034, 0.0) * go_5(-1.0, -1.0); - result += mat4(-0.012319041, -0.00870564, -0.011336498, 0.0, 0.025565468, 0.07941423, 0.053138573, 0.0, -0.018912384, -0.027336033, -0.017181158, 0.0, -0.0049842624, -0.000989833, -0.0019915537, 0.0) * go_5(-1.0, 0.0); - result += mat4(0.0020394358, -0.0052042226, 0.0034736954, 0.0, 0.03258947, -0.0371258, 0.020906823, 0.0, -0.0013788573, -0.0031019335, -0.010819204, 0.0, 0.0012025153, -0.004350207, -0.0020159793, 0.0) * go_5(-1.0, 1.0); - result += mat4(-0.0034382, 0.0023128714, -0.0008744751, 0.0, -0.013170037, -0.004509947, -0.019914357, 0.0, -0.00392815, -0.00992706, -0.0051185694, 0.0, 0.004265402, 0.013595216, 0.003271742, 0.0) * go_5(0.0, -1.0); - result += mat4(-0.014518558, -0.02355717, -0.018948758, 0.0, 2.4407313e-05, -0.013244339, 0.0058093998, 0.0, 0.005873005, -0.0031970814, -0.0028208676, 0.0, 0.0060333544, -0.0013712785, 0.00630574, 0.0) * go_5(0.0, 0.0); - result += mat4(0.0010533057, 0.00064965064, -0.0041747424, 0.0, -0.0060379826, 0.013578647, 0.0025568828, 0.0, 0.021508852, 0.03151479, 0.03111494, 0.0, -0.009153297, -0.009173591, -0.011134595, 0.0) * go_5(0.0, 1.0); - result += mat4(-0.009181927, -0.013954441, -0.005982601, 0.0, -0.0044402024, -0.008755557, 0.003751448, 0.0, -0.0004215054, -0.013358171, -0.00969154, 0.0, 0.0007070342, -0.005016411, 0.0002690561, 0.0) * go_5(1.0, -1.0); - result += mat4(0.0021662863, -0.0071886997, -0.0042919647, 0.0, 0.0033834674, -0.0035246345, -0.007832887, 0.0, -0.010165766, 0.018209103, -0.0024470524, 0.0, -0.012310371, -0.015656961, -0.017626433, 0.0) * go_5(1.0, 0.0); - result += mat4(-0.0037462846, 0.005297534, 0.0028267305, 0.0, 0.0052644913, 0.018711697, 0.0070290607, 0.0, 0.013766243, 0.007410459, 0.0067783133, 0.0, -0.016693022, -0.0140022505, -0.009408555, 0.0) * go_5(1.0, 1.0); - result += vec4(0.0016032922, 0.0018567948, 0.001717782, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl deleted file mode 100644 index f216df1..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl +++ /dev/null @@ -1,4815 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.21686034, 0.010273451, 0.15376332, -0.22370663, -0.14823641, 0.05847777, -0.11170672, -0.2794799, 0.31577533, -0.105595954, 0.22051519, -0.3041742, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.18516932, -0.55408335, -0.21974638, -0.12663211, 0.15778883, -0.00079428876, 0.09723738, 0.24894303, 0.5431219, 0.46600795, 0.25859228, 0.5342776, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.09650102, 0.14374134, 0.009930892, 0.20204046, 0.29794076, -0.2009416, 0.40836716, -0.10684464, -0.10803752, 0.05385496, -0.14949757, 0.11512128, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.13328597, -0.05603695, 0.2066786, -0.2341972, -0.312389, -0.11184745, 0.41893005, -0.38365173, 0.10591462, -0.17695336, -0.5522976, -0.37277612, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.5247597, 0.44467092, 0.15017024, 0.23272365, -0.004378827, 0.5503159, 0.06559786, 0.63450027, -0.2821488, 0.70697284, 0.06037206, 0.14824837, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.27582723, 0.28981453, -0.27953598, -0.38641593, -0.069845125, -0.2876848, 0.42303023, 0.2096282, -0.46025985, 0.019995337, 0.14215434, -0.0032444412, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.3542521, -0.1290754, -0.33536354, 0.07639946, -0.21480027, 0.5740277, -0.2068473, -0.24294598, 0.06887606, 0.12432943, -0.2565582, 0.00022530541, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.34990567, -0.117348365, 0.16015093, 0.2501366, 0.19090433, -0.5718451, -0.22541083, 0.00674141, -0.1110584, -0.13668513, 0.14688468, -0.021032542, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.11405209, -0.19855933, 0.18547794, 0.22860141, 0.13999332, 0.14210562, -0.33748418, -0.122842506, -0.15546343, -0.024134178, -0.21489416, -0.0865141, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.006117499, -0.0031791371, 0.048566718, -0.021858927); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.10929366, 0.327926, 0.4713077, 0.19815566, 0.09252597, -0.12897652, 0.14017919, -0.117154755, 0.07230293, 0.10565211, 0.047754508, -0.1503215, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.0026017402, -0.056956105, 0.0695359, -0.40459624, -0.41438407, -0.24114844, 0.673736, 0.22991985, 0.17312498, -0.36519593, -0.3227756, -0.31550214, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.3247658, 0.18215618, -0.21491867, 0.10206452, 0.35056487, -0.04285168, -0.34823352, 0.2470923, 0.25979036, -0.48504788, -0.13086547, 0.099075995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.040807806, -0.30899513, 0.2068589, 0.17732157, -0.086111076, 0.3898061, -0.11504756, -0.20005062, -0.29525205, -0.107833266, 0.227913, 0.06954518, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.4532243, 0.21249862, -0.24575852, 0.11716148, 0.13279238, 0.8276753, -0.100262396, -0.14868626, -0.05340188, 0.44897172, 0.18865296, -0.57959807, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.4039624, 0.09238004, -0.0056891013, 0.67555726, 0.14713438, -0.18302856, 0.022408731, 0.26836616, -0.4203644, -0.3223556, -0.476889, -0.36540377, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.07463623, -0.13695839, 0.19964464, 0.034749743, 0.0656226, -0.12622209, -0.18529165, -0.2443194, -0.14840299, 0.010471225, -0.30794603, 0.06472215, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.24495342, 0.2709279, 0.46451533, -0.1110042, 0.059573397, 0.08838069, -0.45778695, -0.090110734, 0.014180886, -0.3838859, -0.154384, 0.3170096, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.10225649, 0.17237318, 0.12612183, 0.13250452, -0.21184945, -0.014274503, -0.03265513, -0.1426008, -0.51739746, -0.20366845, 0.29887617, 0.16982934, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.006826314, 0.00461317, -0.026852833, -0.057010923); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.0471075, 0.31225806, -0.37929785, 0.43969426, -0.0020258147, -0.17849202, 0.18287076, 0.5349646, 0.26426196, -0.07494979, 0.043889828, 0.083557904, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.30102602, -0.20380482, -0.48910898, -0.132322, 0.056846913, 0.123972304, 0.16173325, 0.07034413, -0.21596576, -0.069037, 0.3502346, 0.25920063, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.45725793, 0.33194527, 0.31424007, 0.02424403, -0.5363229, -0.29947516, -0.1431686, 0.42444733, 0.22996962, 0.2109503, -0.09393614, 0.33772293, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.024214078, 0.33155, 0.20300971, -0.36914715, -0.16345179, 0.5682778, -0.26810458, -0.42982668, -0.14192776, -0.110919, 0.42419475, -0.1473602, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.18150777, -0.47733742, 0.10404226, 0.21457794, 0.37720117, 0.13280968, 0.008208851, 0.059821837, 0.443415, 0.030501857, 0.13587411, 0.080713995, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.18850364, -0.3472835, 0.49484876, -0.06648983, 0.03814947, 0.27776024, -0.04688367, 0.61331964, -0.2776909, -0.36696884, 0.03983977, -0.35913125, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.19481012, -0.08641656, 0.011285091, -0.35443705, -0.17543805, -0.45401692, -0.5278059, -0.14485542, 0.006704323, -0.17372592, -0.07998461, 0.1811669, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.0059836046, 0.053937424, -0.2764704, 0.096112974, 0.36684337, 0.26575375, 0.563075, 0.45542747, 0.15248352, 0.11391156, -0.29306483, -0.1514665, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.035114568, -0.13244304, -0.07839212, 0.39952558, 0.06760725, 0.2142741, -0.020275498, 0.3155373, 0.16888031, 0.24090965, -0.3730481, 0.1806138, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.005380107, -0.017430196, 0.03937373, 0.0043463805); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf3 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.049419224, 0.15691243, 0.39030707, 0.017580656, 0.08154996, -0.23705184, -0.15799701, 0.040712252, -0.3821994, 0.07067287, 0.01839085, 0.030687721, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.020802025, 0.33823022, -0.052135084, 0.3542869, -0.0027859134, 0.44006044, -0.16127233, -0.22381315, 0.2574494, -0.25050887, 0.20496298, 0.009993323, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.08769917, -0.1953583, 0.05949845, 0.01795218, 0.3972092, -0.044264503, -0.4756617, 0.37460735, 0.09788464, 0.48144168, 0.080894485, 0.06296183, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.018645043, 0.019118845, 0.19234078, -0.39879698, 0.3848868, 0.104610726, 0.29154545, -0.028288463, -0.31086552, 0.5709823, -0.22434935, -0.5021053, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.46135244, 0.07460708, -0.20591648, -0.31916717, -0.38675314, 0.107762225, 0.39979035, -0.6061402, -0.40462908, -0.17135368, 0.26059985, 0.033156518, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.057017997, 0.39801362, 0.26862207, -0.28336683, 0.23420385, -0.17003912, 0.017628595, -0.21126425, -0.23548096, -0.2774119, 0.18068078, 0.013097709, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.14194304, -0.15504828, 0.008901963, 0.30057347, -0.4207854, -0.07842078, -0.073276505, -0.2544436, 0.1802911, 0.2420754, -0.42773435, 0.2522558, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.19879274, -0.037631564, -0.48757973, 0.17617616, 0.12550192, 0.25250614, -0.69017535, -0.3262703, -0.42006296, -0.5177533, -0.45128047, -0.32255673, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.11818855, 0.023456054, -0.3039647, 0.01846073, 0.27628344, 0.087394774, -0.31707954, -0.1830862, 0.48208076, 0.08061034, -0.0324067, -0.11835895, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0015710528, -0.040573142, -0.0067538484, 0.017224679); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.16682588, 0.16400978, 0.1757737, -0.021072395, 0.06539432, -0.16751267, 0.058869474, -0.099648096, 0.17858149, 0.069162704, 0.060763087, -0.0552454, 0.1828016, 0.033170946, 0.02926846, -0.028046839) * go_0(-1.0, -1.0); - result += mat4(-0.16627714, 0.038792863, 0.21548623, 0.089160435, 0.14856382, 0.015014318, -0.21442959, -0.022967536, 0.17467047, -0.009386143, -0.10867876, -0.10340466, 0.02159861, 0.06991594, -0.1119627, -0.066545576) * go_0(-1.0, 0.0); - result += mat4(-0.052230895, -0.018615242, -0.11445917, 0.20970617, -0.084426574, -0.013301296, 0.04667932, -0.07582495, 0.07844388, 0.00012446557, -0.07266012, 0.08583548, -0.02102188, -0.11897397, -0.11998327, -0.18759511) * go_0(-1.0, 1.0); - result += mat4(-0.04358097, 0.014953064, -0.074998334, -0.19127296, 0.16845511, -0.04516635, 0.02583239, -0.047779176, -0.12151052, -0.1124019, 0.029203191, -0.018370887, -0.14904961, -0.09657445, 0.020365175, -0.05846497) * go_0(0.0, -1.0); - result += mat4(0.25461844, -0.060104672, -0.14170858, 0.069125645, -0.1670495, 0.09117099, -0.05437694, -0.03770912, 0.07687557, -0.019987138, -0.03828993, -0.036767155, -0.17758714, 0.2593606, -0.04066676, 0.055565428) * go_0(0.0, 0.0); - result += mat4(0.08597206, -0.011373685, 0.11531317, -0.13527994, 0.01074891, 0.022915367, -0.05613657, -0.0019634536, -0.046051264, 0.04448185, -0.26410443, -0.08412236, 0.07554895, -0.39869463, -0.23130144, 0.060447454) * go_0(0.0, 1.0); - result += mat4(0.08946055, 0.08202704, 0.079762414, -0.048531603, 0.08040403, 0.010686519, -0.087924965, -0.031123916, 0.016973065, 0.010001628, -0.011202491, -0.03149303, 0.03803412, -0.008884727, -0.18052368, -0.09137474) * go_0(1.0, -1.0); - result += mat4(-0.02726759, 0.21556567, 0.004814665, 0.057784032, 0.07907243, 0.033794418, -0.02036775, 0.0027191124, 0.08991113, 0.098211594, 0.07318809, -0.12720437, -0.060651563, 0.14401628, -0.035520233, -0.14350496) * go_0(1.0, 0.0); - result += mat4(-0.036229495, -0.023633955, 0.23254488, -0.025807278, -0.027887143, 0.015893005, -0.010803646, -0.15636021, -0.13111556, 0.024331553, -0.01490455, 0.13553609, 0.027496863, -0.25810578, -0.1345966, 0.09652125) * go_0(1.0, 1.0); - result += mat4(0.11428291, 0.27346528, 0.1849472, 0.24622405, 0.050756928, 0.07492283, 0.01873704, -0.0929874, 0.04518344, 0.06052399, -0.08201803, 0.023678334, -0.054044113, 0.07687756, -0.24156125, 0.118543856) * go_1(-1.0, -1.0); - result += mat4(-0.10255773, 0.058314987, -0.012948728, 0.22051606, 0.08234475, -0.024384284, -0.066541836, -0.0045136414, 0.14321695, -0.021375086, -0.018986465, 0.25354996, 0.032398373, 0.0074365274, -0.07150176, -0.0842891) * go_1(-1.0, 0.0); - result += mat4(-0.3070068, 0.13025287, 0.09119921, -0.014824796, -0.25336218, 0.13276166, 0.07451352, 0.071450256, -0.04538872, -0.06761559, -0.08009838, 0.053507026, -0.028579384, 0.12820083, -0.05414399, 0.02820338) * go_1(-1.0, 1.0); - result += mat4(0.25568405, -0.09424015, 0.064411856, 0.037094396, 0.089236505, 0.11341471, 0.06519967, -0.11673984, -0.07431905, 0.032323904, 0.012612807, -0.037857708, -0.09549262, 0.019785486, 0.11215783, -0.08178563) * go_1(0.0, -1.0); - result += mat4(-0.12977616, 0.052315574, 0.19321385, -0.23796389, -0.1430282, 0.033092096, 0.13771, -0.1681169, 0.07370609, -0.06530381, 0.023147697, 0.11661184, 0.009935798, -0.033072658, -0.1157439, 0.167107) * go_1(0.0, 0.0); - result += mat4(0.022870995, -0.051999938, 0.09499206, -0.050381728, -0.07750411, -0.07534439, -0.15148367, 0.10671288, -0.07895085, 0.08590099, -0.039177563, 0.04156403, 0.03901156, 0.0019494012, -0.082597494, -0.045954913) * go_1(0.0, 1.0); - result += mat4(0.18670611, 0.04035675, 0.010265794, 0.13104586, 0.015118543, 0.020945968, -0.08077425, 0.12478306, 0.033348877, -0.050095998, -0.021956673, -0.15989247, 0.0703153, -0.22443427, 0.09721435, 0.09415636) * go_1(1.0, -1.0); - result += mat4(0.022562401, -0.21802509, -0.13968697, 0.030495679, 0.20164397, -0.14806582, -0.16575468, 0.07708878, -0.007932748, 0.0076615694, 0.06960648, -0.09071667, -0.071091525, 0.014406244, -0.04066828, 0.07381237) * go_1(1.0, 0.0); - result += mat4(0.098004915, -0.15594271, 0.16878232, -0.13722226, 0.22940964, -0.009132059, -0.00984221, -0.10996952, -0.1617233, -0.011615988, -0.064739786, -0.21046808, 0.029180123, -0.10817059, 0.081083305, -0.124370016) * go_1(1.0, 1.0); - result += mat4(0.04555113, -0.038119707, -0.037176583, -0.22539136, 0.057313137, 0.0024502992, 0.11532159, -0.006040425, 0.013644908, -0.22676414, 0.045331072, 0.12293299, 0.022487158, -0.061195657, -0.15630952, -0.04152167) * go_2(-1.0, -1.0); - result += mat4(0.019613482, 0.07709181, -0.0667477, 0.030783981, -0.051050212, 0.13300157, -0.02746384, 0.044673294, 0.041831452, -0.12082941, 0.24011718, -0.13198936, -0.12387437, 0.11518795, 0.12564468, 0.0048698136) * go_2(-1.0, 0.0); - result += mat4(0.018528216, 0.06411587, -0.12267898, -0.024469404, 0.13344407, 0.09435489, -0.11681974, 0.13422827, 0.23464775, -0.13637649, -0.13120876, 0.16024348, -0.1178978, -0.0033701332, 0.05109847, -0.121679015) * go_2(-1.0, 1.0); - result += mat4(0.008721387, 0.07300866, 0.056996226, -0.04116479, 0.2858162, -0.03170533, -0.06512709, 0.07614593, 0.02063735, -0.10648821, 0.06545271, -0.07760196, 0.11181356, 0.09734669, 0.06384592, 0.13856758) * go_2(0.0, -1.0); - result += mat4(-0.087809436, 0.026485445, -0.10262454, -0.067591794, -0.054495905, -0.13071996, 0.007614136, -0.18144777, 0.1451436, 0.076285824, -0.006134546, -0.09420317, 0.059833933, 0.084446974, -0.08009216, -0.07066621) * go_2(0.0, 0.0); - result += mat4(0.21006338, -0.12184664, -0.18929327, 0.07800224, -0.032166578, 0.042057462, 0.030147228, -0.18111266, 0.06385915, 0.056353245, -0.08566922, 0.246077, 0.022679256, -0.046758424, -0.013280484, 0.048559744) * go_2(0.0, 1.0); - result += mat4(-0.016968472, 0.06551541, 0.10248965, -0.019251779, 0.12909546, -0.061840314, -0.006220995, -0.027636442, -0.023421615, -0.13997608, 0.22226256, -0.00414297, -0.11852816, 0.0030413773, -0.0484824, -0.057998173) * go_2(1.0, -1.0); - result += mat4(-0.074645035, -0.037241343, 0.093852654, -0.08116666, 0.03477197, -0.115568645, -0.10765692, 0.0003785455, 0.059631344, 0.13411269, 0.17720251, 0.09270491, 0.004923464, 0.118155435, 0.051029027, 0.019561961) * go_2(1.0, 0.0); - result += mat4(-0.11729622, 0.08133092, -0.1565527, 0.1092305, -0.044586428, 0.038454134, 0.1805931, 0.065337844, -0.033772465, 0.18221322, 0.064187706, 0.15034407, -0.112804286, -0.09195703, -0.06559008, -0.029188333) * go_2(1.0, 1.0); - result += mat4(-0.10510915, -0.0776238, -0.02661216, -0.07667854, 0.015220721, -0.16932015, -0.15212865, -0.12440911, 0.10847065, 0.16949058, 0.20047556, 0.06391445, 0.06942035, 0.09796073, -0.04969445, 0.18864428) * go_3(-1.0, -1.0); - result += mat4(0.050649058, 0.07098103, -0.0473734, -0.017548949, 0.059222713, -0.11837112, -0.1502057, 0.13990685, 0.16519493, -0.007813526, -0.015865954, 0.11118964, -0.0921189, 0.11554642, 0.09068235, -0.054495323) * go_3(-1.0, 0.0); - result += mat4(0.010653917, 0.071099974, -0.008376932, 0.08623703, 0.037236527, 0.05155848, -0.10741108, -0.12480437, -0.036548067, -0.02779435, 0.21860917, 0.110088535, 0.12381749, 0.0013657579, 0.078342445, 0.15400365) * go_3(-1.0, 1.0); - result += mat4(-0.044285372, -0.080408566, -0.082381204, -0.05444333, 0.09583508, -0.04366566, -0.18833442, -0.048229303, 0.12010392, 0.028752124, 0.20307614, -0.025710972, 0.07631876, -0.039822593, -0.21747215, -0.11503206) * go_3(0.0, -1.0); - result += mat4(0.15301265, -0.0904066, -0.13152894, 0.025233751, -0.0096486695, -0.047325417, 0.015993157, -0.074668825, 0.03168052, -0.12000325, 0.048012275, 0.04170218, 0.087761246, 0.114786044, -0.15148023, -0.039366517) * go_3(0.0, 0.0); - result += mat4(0.020880366, -0.06214199, -0.007097687, 0.017239975, -0.10893327, 0.076604076, -0.06110473, -0.08351579, 0.057976708, -0.11395709, -0.07283605, 0.17210332, 0.13145506, -0.034735806, 0.079893544, 0.027503777) * go_3(0.0, 1.0); - result += mat4(-0.064012215, -0.009359275, 0.051874913, 0.07147825, -0.002497903, -0.072561875, 0.06659626, 0.05593401, -0.0019645633, -0.0017003771, 0.0058332747, -0.03824299, 0.092494816, -0.16331163, -0.07637431, -0.1316867) * go_3(1.0, -1.0); - result += mat4(-0.012422661, 0.19522803, 0.08242971, -0.022447145, -0.08470463, 0.013340826, 0.022906132, 0.0104356585, -0.05838931, -0.22278416, -0.07702832, -0.03898843, -0.2222767, 0.020577319, -0.048793092, -0.20062482) * go_3(1.0, 0.0); - result += mat4(0.101836815, -0.07303682, 0.06112855, 0.07785088, -0.000851969, 0.1227914, -0.0124482615, 0.042857908, -0.0614457, 0.021257306, -0.047207817, -0.17122878, -0.20265298, 0.05639956, 0.13556977, -0.38614172) * go_3(1.0, 1.0); - result += mat4(-0.088439435, -0.13450874, 0.023986593, 0.06869799, 0.05181423, -0.041318443, 0.23758505, -0.003188584, -0.20574366, -0.08783116, -0.16370814, -0.10861661, -0.04101733, -0.25832054, 0.024531696, -0.052762356) * go_4(-1.0, -1.0); - result += mat4(0.06963789, -0.1523674, -0.13724455, 0.02417662, -0.26311964, 0.048317496, 0.033046376, -0.073426016, -0.07795718, -0.06680464, -0.10631037, -0.17531694, -0.00028496052, -0.18643321, -0.06544361, -0.260227) * go_4(-1.0, 0.0); - result += mat4(0.041163392, 0.1538335, 0.024395503, -0.22399011, 0.2949855, -0.046959065, 0.15241133, 0.1848325, 0.0073397346, -0.017275874, 0.20777975, -0.086460754, -0.03622649, 0.06786584, -0.06431515, -0.01926139) * go_4(-1.0, 1.0); - result += mat4(0.05714057, 0.026254643, 0.06006601, 0.044767264, -0.13143657, 0.077170044, 0.0218321, 0.3374874, 0.11799663, 0.07651933, -0.18386526, 0.12819925, 0.0458167, 0.031566396, -0.02104284, 0.060249478) * go_4(0.0, -1.0); - result += mat4(-0.15578985, -0.043274876, -0.06848441, -0.22675386, 0.34348467, 0.04755662, -0.120318204, 0.21213302, 0.22091343, 0.12801792, -0.27103272, 0.009107759, 0.28275114, -0.2595034, -0.08657963, -0.1385154) * go_4(0.0, 0.0); - result += mat4(-0.048247293, 0.006379949, 0.07069376, -0.03797948, -0.07503996, 0.10124351, 0.25479224, -0.012689729, -0.13646767, 0.063495666, -0.10367744, 0.02457448, 0.09329864, 0.25692573, 0.14967956, -0.11331509) * go_4(0.0, 1.0); - result += mat4(0.11566507, -0.10061327, -0.15576088, -0.091777846, 0.008444853, -0.08745054, -0.033295806, 0.0029031383, -0.030447904, 0.0064194244, 0.09609729, -0.12425308, -0.13877183, 0.06545948, 0.018649856, -0.00038733307) * go_4(1.0, -1.0); - result += mat4(0.021538408, -0.031782147, 0.053700346, -0.023047661, 0.06118648, 0.09422846, 0.15563804, -0.019954393, 0.058209274, -0.096121445, 0.0006476186, 0.0044233687, 0.10033549, -0.05667658, 0.0046613375, -0.21005854) * go_4(1.0, 0.0); - result += mat4(0.09127173, -0.13292567, 0.026308151, -0.086961046, -0.00038384288, -0.021899618, -0.018954279, -0.06198408, 0.083354875, -0.07151073, 0.05365628, -0.07579846, 0.032780807, 0.2582205, -0.10887159, -0.08340997) * go_4(1.0, 1.0); - result += mat4(0.03234336, -0.09737819, 0.005996931, -0.029132001, -0.13736439, -0.019345973, -0.13236563, 0.06412147, -0.012885312, 0.003402039, 0.07691811, 0.053523198, 0.047960896, -0.15073822, 0.07127285, -0.12797488) * go_5(-1.0, -1.0); - result += mat4(0.0013998925, 0.10343592, -0.03278372, -0.04077459, -0.04884479, 0.019157771, -0.035050172, -0.1138655, 0.0073900735, 0.06231151, -0.057525188, -0.18135616, 0.054992713, -0.20210464, 0.07046144, -0.04294392) * go_5(-1.0, 0.0); - result += mat4(0.057260677, -0.09056544, -0.15916282, 0.099339016, 0.16303736, -0.18345179, -0.031675916, 0.010661271, -0.13354564, 0.009094732, -0.123463884, -0.16987814, 0.040181488, -0.12794387, 0.20167524, -0.0942567) * go_5(-1.0, 1.0); - result += mat4(0.028133342, -0.0070152264, 0.027720878, -0.17349002, 0.04688365, -0.050090306, 0.062954105, 0.07243229, 0.056431357, -0.041695453, 0.02747664, 0.050903425, 0.1544682, 0.36754557, -0.16574225, -0.045575242) * go_5(0.0, -1.0); - result += mat4(0.07568822, -0.015356766, 0.062736675, -0.12429261, 0.006161586, -0.06951273, 0.0054048044, 0.0028502627, 0.07468177, -0.051956825, -0.034254014, 0.0506702, 0.16182432, -0.036455415, 0.14812818, 0.06563189) * go_5(0.0, 0.0); - result += mat4(-0.029565258, 0.028832972, 0.052721135, -0.11605627, 0.016583271, 0.0783395, 0.08374811, -0.15612024, 0.050813407, -0.14781949, 0.050757557, 0.047298737, -0.054435518, -0.0947514, 0.05424098, 0.03920314) * go_5(0.0, 1.0); - result += mat4(0.02041634, -0.094589, 0.017068772, -0.016447546, -0.07200135, -0.0031161357, 0.10459771, -0.13401397, 0.04388721, 0.007574108, -0.024857935, 0.08437274, 0.017542962, 0.0050615096, 0.0025386487, -0.058008164) * go_5(1.0, -1.0); - result += mat4(-0.074039295, 0.01593561, 0.027271466, -0.01622838, -0.12313946, 0.29065675, 0.0666616, -0.0015515542, -0.027692154, 0.11814952, -0.15590793, 0.0016750757, -0.055199716, -0.11188217, -0.041076142, 0.055293556) * go_5(1.0, 0.0); - result += mat4(-0.087336674, 0.09597909, 0.032252833, 0.019957634, -0.14232716, -0.037647195, -0.018637605, 0.028734578, 0.098073855, -0.039794624, 0.092389226, 0.16911197, -0.009319175, 0.12036487, -0.011530916, 0.080162555) * go_5(1.0, 1.0); - result += mat4(-0.024965037, 0.006104625, 0.10367222, 0.07385069, -0.15523866, 0.18478672, -0.28199175, 0.03124214, -0.106478676, 0.1969974, -0.0022582007, 0.0043790154, 0.013964622, -0.10033643, 0.07260623, -0.124574065) * go_6(-1.0, -1.0); - result += mat4(0.1866749, 0.21620537, -0.012563025, 0.03262129, 0.1719916, -0.053168118, 0.1302181, 0.21435094, -0.13355109, 0.06338094, -0.21260814, -0.014875881, 0.2550572, 0.03543736, -0.028924052, 0.34301576) * go_6(-1.0, 0.0); - result += mat4(0.014582116, 0.107564695, 0.19177647, 0.047451418, -0.11816758, -0.037558496, 0.37259078, -0.018045045, -0.14484513, 0.014460476, -0.006206022, -0.22719343, 0.06953869, -0.036870986, -0.0055092354, 0.21955575) * go_6(-1.0, 1.0); - result += mat4(0.25376984, 0.03961877, 0.12551436, 0.33974785, -0.27738678, -0.012565747, 0.08306037, -0.16246852, -0.09256709, 0.06350151, -0.0019622499, 0.14914742, 0.21517865, 0.15766472, 0.4066891, -0.20577961) * go_6(0.0, -1.0); - result += mat4(0.21415462, -0.0642115, -0.28112733, 0.27817658, -0.20207204, -0.06520876, -0.13293326, 0.0953727, 0.11732344, -0.02437645, 0.07841982, 0.081664644, 0.15626748, -0.06634179, 0.0855079, 0.34586227) * go_6(0.0, 0.0); - result += mat4(-0.05047869, 0.16492498, 0.11043203, 0.0057451506, 0.1889248, 0.007079426, -0.058276135, 0.21064675, -0.059098043, -0.19127457, -0.013977541, -0.1847022, -0.051189642, -0.27713004, 0.09603268, 0.36067933) * go_6(0.0, 1.0); - result += mat4(-0.067639776, -0.22933814, -0.07072787, -0.09514877, 0.0036013937, 0.054084364, 0.16150047, -0.09798026, -0.025709623, -0.04036443, -0.09191741, 0.12434371, 0.011584389, 0.0500184, 0.13453145, -0.04406909) * go_6(1.0, -1.0); - result += mat4(0.093614265, 0.08832574, -0.019384595, 0.33492145, 0.024007287, 0.20037757, 0.06563748, -0.08472612, -0.07865445, -0.017250929, -0.21227354, -0.15559788, 0.22698876, -0.062241085, -0.050376724, 0.104179695) * go_6(1.0, 0.0); - result += mat4(0.1361344, -0.054771457, 0.21874528, -0.13601023, 0.04159267, 0.04265182, -0.1952905, -0.006956085, -0.039083548, 0.12852322, 0.001135891, -0.12257516, 0.20699623, 0.037602983, -0.23034777, 0.2659882) * go_6(1.0, 1.0); - result += mat4(0.0074865655, -0.05454164, 0.0086328, 0.12537627, -0.19097276, 0.010964307, 0.09877973, -0.060631316, 0.0035393643, -0.010404835, 0.056712646, -0.13026424, -0.08125458, 0.08328297, -0.024453856, -0.019881193) * go_7(-1.0, -1.0); - result += mat4(0.2146004, 0.009173491, 0.06430178, 0.1115497, 0.2286379, 0.07678605, -0.074050754, -0.4544871, 0.04180918, 0.02466224, 0.049769487, -0.040270872, 0.031240942, -0.015997326, -0.05564773, 0.13276885) * go_7(-1.0, 0.0); - result += mat4(-0.024886066, -0.10454424, -0.008339705, -0.19566591, 0.017025474, -0.05540896, -0.14112535, 0.028222617, -0.110432364, -0.0370566, -0.060746565, -0.004373458, -0.110383295, 0.06892138, 0.057743933, 0.023001496) * go_7(-1.0, 1.0); - result += mat4(-0.07039479, -0.08098219, -0.0517122, 0.14518479, -0.0024635883, 0.08573159, 0.08298556, 0.19724075, 0.08604213, 0.026222989, 0.039014954, 0.027334757, 0.032409273, -0.012616069, 0.20315504, -0.18313569) * go_7(0.0, -1.0); - result += mat4(-0.25649765, 0.027311508, 0.18878505, -0.16631337, 0.077981934, 0.14177446, -0.045889527, 0.08531879, 0.05342123, 0.07260306, -0.024213074, -0.01107666, 0.10646281, 0.020352455, -0.06365357, -0.09970133) * go_7(0.0, 0.0); - result += mat4(-0.11130239, 0.07479549, -0.06315088, -0.08944423, 0.23731343, -0.059101656, -0.03792892, -0.08729022, -0.044306744, 0.098353304, -0.026851522, 0.055906583, -0.0229506, 0.007420558, -0.05338183, 0.07801898) * go_7(0.0, 1.0); - result += mat4(0.10403469, 0.11227043, -0.21066704, -0.09841933, 0.1123802, -0.09163859, 0.029262666, -0.02716128, -0.07741291, -0.12595192, 0.056868527, 0.11314479, 0.068367966, -0.048116703, 0.03942078, -0.049022034) * go_7(1.0, -1.0); - result += mat4(0.06663052, -0.18349448, -0.060040575, -0.034590982, 0.19210911, -0.16136944, 0.1027474, -0.026148252, 0.1331118, 0.08373371, 0.07543836, -0.0821376, -0.08116568, 0.028726097, -0.039574195, 0.12940447) * go_7(1.0, 0.0); - result += mat4(-0.0755444, -0.02010773, 0.12867439, -0.1612916, 0.11019535, -0.036212057, 0.08348267, 0.076423444, 0.103842124, 0.043353815, 0.005119714, -0.041111667, 0.19236392, -0.094081365, 0.088794835, -0.0032366752) * go_7(1.0, 1.0); - result += vec4(0.025721604, 0.008808415, -0.0029403395, 0.03648866); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.05523119, -0.09518896, 0.08921959, -0.13052566, -0.013512739, 0.047997378, 0.16674618, 0.019661155, 0.1088371, 0.040083896, -0.004689575, -0.036687367, -0.015716005, 0.049643658, -0.011459498, -0.064227246) * go_0(-1.0, -1.0); - result += mat4(-0.0014415162, -0.14803964, -0.10233617, -0.025700033, 0.09305118, -0.041833147, -0.017107604, -0.050550215, -0.055211663, 0.009147919, 0.07102604, 0.0067789825, 0.017316047, 0.032877374, 0.15263063, 0.031808965) * go_0(-1.0, 0.0); - result += mat4(0.11732844, 0.0910447, -0.081579626, 0.013813927, -0.07561606, 0.07621211, -0.08448194, 0.054920398, -0.043369707, 0.07710235, 0.04483282, -0.065252446, -0.01860033, -0.09282624, -0.042522658, -0.015202259) * go_0(-1.0, 1.0); - result += mat4(0.045474872, 0.10024481, -0.06166239, 0.12003297, -0.016422411, -0.05285928, 0.058388602, -0.1718166, 0.020738792, -0.0068486542, -0.04581591, -0.12065283, 0.06530598, -0.05116496, -0.01669561, 0.0024559954) * go_0(0.0, -1.0); - result += mat4(0.1193021, -0.25388858, -0.25403944, 0.048347283, -0.091768295, 0.082378544, -0.0510033, 0.017673727, 0.17033571, -0.14308529, -0.16331477, -0.04362767, -0.07888228, 0.14927958, -0.18066473, 0.089434035) * go_0(0.0, 0.0); - result += mat4(0.02403974, 0.08044914, -0.01426072, 0.03443945, -0.014536994, 0.02533013, 0.16955474, 0.0822529, -0.0060408474, 0.019831115, 0.04393656, 0.15207846, 0.05056048, 0.124797806, -0.139311, 0.09310812) * go_0(0.0, 1.0); - result += mat4(0.03542925, 0.11915315, -0.1311098, 0.09819034, -0.009666393, 0.029037869, 0.023572456, 0.020142581, 0.03380651, -0.08997595, -0.017141165, -0.018526986, 0.05253317, 0.049661253, -0.065568395, -0.091917224) * go_0(1.0, -1.0); - result += mat4(-0.07639606, -0.054812707, 0.057559833, -0.09068783, 0.11863554, -0.017611986, -0.18931979, -0.005461553, 0.10720041, 0.15927693, -0.0123401, 0.18948005, 0.041474298, -0.10943666, 0.06085662, 0.003503111) * go_0(1.0, 0.0); - result += mat4(0.055770155, 0.02822951, 0.09700467, -0.050730113, 0.03784999, -0.08229594, -0.02861142, 0.07229477, 0.121336035, 0.056729127, 0.04663669, -0.007550928, 0.16710907, 0.009395554, -0.008610169, 0.11862871) * go_0(1.0, 1.0); - result += mat4(0.13294618, -0.06904705, -0.20041288, 0.19415551, 0.01685586, 0.038024202, 0.13990912, -0.046226025, 0.0797283, -0.05583546, 0.028278789, -0.1492692, -0.11463168, 0.058183275, 0.049645618, 0.039629117) * go_1(-1.0, -1.0); - result += mat4(-0.18696861, -0.13563703, 0.032692514, -0.10432131, 0.02230654, -0.07747905, 0.14739737, 0.11521728, 0.0729215, 0.15747418, 0.025431354, 0.14331931, -0.1488298, 0.10179947, -0.101467535, -0.033923466) * go_1(-1.0, 0.0); - result += mat4(0.081285305, 0.026952317, -0.085190386, -0.10324916, -0.0015412258, 0.08588591, -0.19694312, -0.08696667, 0.023812002, 0.014004666, 0.0023922345, -0.014925462, 0.053948395, 0.026938133, 0.07743994, 0.069554806) * go_1(-1.0, 1.0); - result += mat4(0.13122624, 0.04613391, -0.05911036, -0.071337715, 0.14670388, 0.10637735, 0.120025985, -0.14935657, 0.17701747, 0.023492154, -0.028118515, 0.00088938075, -0.19212362, -0.20968609, 0.21538667, 0.26384237) * go_1(0.0, -1.0); - result += mat4(-0.054812234, -0.08416403, 0.0260952, -0.008515731, -0.142125, 0.02519786, 0.03312871, 0.0462577, 0.09721707, 0.013835848, -0.102207415, -0.10014805, 0.10402717, 0.08674653, 0.04860208, -0.06947179) * go_1(0.0, 0.0); - result += mat4(0.034799274, 0.024590576, -0.19037321, 0.03151982, -0.06556395, 0.006009085, -0.054991134, -0.06431149, -0.015655322, -0.0699281, 0.049673237, 0.06879375, -0.09895477, 0.0019435796, -0.0021232502, -0.06291184) * go_1(0.0, 1.0); - result += mat4(-0.09569188, -0.04358026, -0.056854516, -0.000111347676, 0.0853871, -0.028307417, 0.06702482, 0.032195363, -0.00012289426, 0.036054786, -0.07317682, -0.06055966, -0.008536366, -0.063153945, -0.13675526, 0.09815369) * go_1(1.0, -1.0); - result += mat4(0.060001787, -0.14248027, -0.18766588, -0.031177832, 0.25668815, 0.06644367, -0.10251424, 0.085613154, -0.07137866, -0.0390658, 0.07766741, -0.10317507, 0.025111878, 0.09819934, -0.2345668, -0.048678897) * go_1(1.0, 0.0); - result += mat4(-0.14977072, -0.087542735, -0.14482, 0.007347984, -0.08235114, -0.0005702134, 0.11287718, 0.021635564, -0.07436876, -0.11370213, 0.075715326, 0.06619972, 0.056717034, -0.020862443, -0.019998845, -0.051332474) * go_1(1.0, 1.0); - result += mat4(0.035570905, 0.13936782, -0.119994484, -0.1743154, 0.09265176, 0.067416996, -0.12855934, -0.03325352, -0.0010884873, -0.11393612, 0.26708764, 0.059674438, -0.06540884, -0.029078847, 0.0752755, 0.060898334) * go_2(-1.0, -1.0); - result += mat4(0.004282939, -0.074319474, -0.08570652, -0.08257143, 0.012451813, -0.052780382, -0.15148674, 0.080452204, -0.10941718, 0.04138225, -0.02822319, -0.1640315, 0.003044549, 0.13333072, 0.1302482, 0.117772214) * go_2(-1.0, 0.0); - result += mat4(-0.10399595, -0.06414262, 0.04463848, 0.03789655, 0.008393662, 0.096075214, 0.06362348, -0.08228957, 0.116857044, 0.107161805, 0.024692193, 0.20706779, -0.04162803, -0.021823602, -0.06078314, -0.08919124) * go_2(-1.0, 1.0); - result += mat4(0.21876146, 0.09191945, -0.1713131, -0.1695255, -0.14229187, 0.16128044, -0.042203654, -0.019452719, -0.11618261, 0.058886774, 0.21331106, -0.10177181, -0.050883863, -0.026295587, -0.011005942, 0.031958587) * go_2(0.0, -1.0); - result += mat4(-0.19700775, 0.00011510546, 0.064185515, 0.101220824, 0.14517656, -0.12774344, -0.083788246, -0.17077136, 0.015813397, 0.03214562, -0.036940534, -0.22156641, -0.13669154, 0.1068224, 0.046991926, 0.15731399) * go_2(0.0, 0.0); - result += mat4(0.07979363, 0.1641743, 0.1953904, 0.12759592, 0.058493655, -0.067155585, 0.012606587, 0.047781534, 0.1679869, 0.099415414, -0.14752066, 0.103076465, 0.010993393, 0.04623457, 0.06644519, 0.06356699) * go_2(0.0, 1.0); - result += mat4(0.17410177, -0.021142596, 0.03832318, 0.05570731, -0.08795235, 0.08994314, 0.14860317, 0.110479094, -0.053650588, 0.11992882, 0.0786844, -0.029005896, 0.022813741, -0.097005606, 0.043160316, 0.14180337) * go_2(1.0, -1.0); - result += mat4(0.020900672, 0.070728056, -0.058542836, 0.10948163, -0.044124976, -0.08577386, 0.1291225, -0.058463164, 0.10717037, 0.087889396, -0.19010662, -0.014903362, 0.066647105, 0.0008108183, -0.10592918, -0.16838996) * go_2(1.0, 0.0); - result += mat4(0.03863103, 0.061151855, 0.024460992, 0.00017194312, 0.16070026, -0.079970434, 0.14885707, 0.16158094, 0.07065171, -0.083885066, -0.0773903, 0.043984737, -0.13688512, 0.04315529, 0.029171892, -0.043184932) * go_2(1.0, 1.0); - result += mat4(-0.0032730796, -0.0678228, -0.1079233, -0.10729724, -0.0414774, -0.106715254, 0.021418726, -0.115363866, -0.021818358, 0.014319188, 0.27558854, 0.07177722, 0.16198973, -0.036741022, -0.039331302, 0.08528458) * go_3(-1.0, -1.0); - result += mat4(-0.0022572405, -0.12707013, 0.07970686, -0.033344477, 0.011235312, 0.029737111, 0.037241872, -0.027490782, 0.1667001, -0.22329094, 0.19529633, -0.06801771, 0.03439542, 0.09477615, -0.08548904, 0.02665781) * go_3(-1.0, 0.0); - result += mat4(0.023405857, -0.028674511, 0.17428322, 0.026365727, 0.059524775, 0.01696815, -0.11675319, 0.019108849, 0.043889746, -0.10923627, -0.06668395, -0.0001394108, -0.10932081, -0.10729272, -0.045865797, 0.058694717) * go_3(-1.0, 1.0); - result += mat4(0.028786171, -0.07996033, -0.042132188, 0.16268188, 0.01292829, -0.015771527, -0.11770419, 0.039871827, -0.067409195, -0.16829921, -0.12479334, -0.050815493, -0.0014285782, 0.037696563, 0.12936884, 0.24785544) * go_3(0.0, -1.0); - result += mat4(0.11821269, 0.02937396, 0.02528718, 0.02799023, -0.078774855, -0.13108966, 0.09530571, -0.12430738, -0.0658468, -0.014434043, -0.15922552, 0.10165563, 0.19187002, 0.0012871067, 0.13770217, 0.17639764) * go_3(0.0, 0.0); - result += mat4(-0.03887622, -0.043178383, -0.12944572, 0.0781853, -0.0343673, 0.15046304, 0.016929725, 0.010440784, 0.111742064, 0.20323086, -0.17518038, 0.20861465, 0.07141131, -0.1499564, 0.08331723, -0.018338641) * go_3(0.0, 1.0); - result += mat4(-0.09879554, -0.009893019, 0.0983551, 0.09640564, 0.041065227, 0.037249558, -0.048898797, -0.14597179, -0.036883067, -0.058221117, -0.061707452, 0.11114091, -0.04219781, -0.07160853, 0.025964098, -0.022408063) * go_3(1.0, -1.0); - result += mat4(-0.06854093, 0.033134002, -0.094440706, 0.03418527, 0.04887616, 0.14051184, -0.01767298, -0.020024845, -0.12027486, -0.14781527, 0.0006639068, 0.012838632, -0.0671156, -0.04252161, 0.16688527, 0.15175684) * go_3(1.0, 0.0); - result += mat4(-0.036188185, 0.009798812, -0.07980902, -0.018469814, -0.022443485, -0.057728596, 0.027371801, -0.004489727, -0.15019576, 0.063210264, 0.04545364, -0.094795585, -0.23649287, -0.2896298, 0.3047641, -0.02306759) * go_3(1.0, 1.0); - result += mat4(0.0710798, 0.055451605, -0.07648699, 0.13898383, -0.08452192, 0.11012541, -0.06281854, -0.05461686, -0.13105838, 0.041378103, 0.1423915, 0.022731576, -0.09423944, 0.042240687, 0.0055206236, 0.217599) * go_4(-1.0, -1.0); - result += mat4(0.07588608, 0.08921057, -0.0058231056, 0.026653443, -0.21734685, -0.006213704, -0.12702152, -0.07060434, 0.023911633, -0.06637617, -0.057719648, 0.0022903855, -0.009479896, -0.1350784, -0.16709046, 0.010745677) * go_4(-1.0, 0.0); - result += mat4(-0.10086355, 0.0110535165, 0.10848059, -0.07035538, 0.14857347, 0.14099321, 0.052920546, 0.0960118, 0.00702182, -0.009694436, -0.050239813, 0.11574682, -0.008785853, 0.117072344, 0.06994709, -0.0785332) * go_4(-1.0, 1.0); - result += mat4(-0.0033244858, -0.041283812, -0.0062056403, -0.079100005, 0.03710724, -0.20561017, -0.077498965, -0.089842565, -0.11496833, 0.014476948, 0.03424653, -0.011620334, -0.1081823, -0.036695667, -0.010624277, 0.19094554) * go_4(0.0, -1.0); - result += mat4(-0.10281635, 0.07619934, 0.24530065, 0.031338155, 0.2293712, 0.10000642, 0.2913761, 0.10625675, -0.19064593, -0.15475498, 0.017788576, -0.07991813, 0.13237537, 0.018305784, -0.021386296, -0.21711792) * go_4(0.0, 0.0); - result += mat4(-0.052176226, -0.0452586, 0.046231613, -0.011801034, 0.036633253, -0.106147125, -0.12706251, -0.14980705, 0.078584775, 0.09951909, -0.115246415, -0.07272013, -0.111544944, -0.03231619, -0.113790385, -0.12621674) * go_4(0.0, 1.0); - result += mat4(-0.10080901, -0.006650695, 0.0813086, 0.01621316, -0.049660202, -0.05663305, 0.060899526, 0.09370089, 0.1034699, 0.1313489, 0.08382034, 0.15258797, -0.007328495, -0.07970968, 0.13271572, 0.1248114) * go_4(1.0, -1.0); - result += mat4(0.0811457, 0.021604871, -0.0708046, 0.10275134, -0.059385683, -0.15250053, 0.15080771, 0.12262505, -0.015175936, -0.21616012, 0.11106964, -0.06573024, 0.1334304, 0.039077487, -0.0077960994, -0.082096316) * go_4(1.0, 0.0); - result += mat4(-0.026532508, 0.052564014, -0.13472368, 0.11765044, -0.045610473, 0.21229759, 0.14939204, -0.020855857, -0.12167336, 0.014780039, 0.005599771, -0.0366069, -0.114645116, 0.07955974, 0.025574045, -0.10698108) * go_4(1.0, 1.0); - result += mat4(-0.105111405, 0.01887759, 0.17108293, 0.030718861, -0.0036248523, -0.04220701, -0.1370944, 0.0610685, -0.08567308, 0.02382638, 0.04128756, 0.010917913, -0.0071965833, 0.11633362, -0.19415227, -0.06810197) * go_5(-1.0, -1.0); - result += mat4(0.17105678, -0.061937388, -0.12109572, -0.05737621, -0.010882215, 0.0077495095, -0.08858353, -0.037279226, -0.077877015, -0.08148342, -0.0128043005, -0.15990338, 0.06760134, 0.07077504, -0.077818625, 0.08186391) * go_5(-1.0, 0.0); - result += mat4(-0.04122479, -0.14456019, -0.00687704, -0.0023447806, -0.03724179, -0.01020969, 0.12662183, 0.0032528937, 0.0011372975, 0.0013715293, 0.042884655, 0.056097247, -0.023848789, 0.020091679, -0.056177765, -0.071522005) * go_5(-1.0, 1.0); - result += mat4(-0.10480783, -0.1623831, 0.16464269, 0.23841174, -0.13952696, -0.14506042, -0.0401578, 0.1833225, -0.1635158, -0.048028238, -0.026833056, 0.013035033, 0.33705005, 0.02140875, -0.0013267706, -0.13819021) * go_5(0.0, -1.0); - result += mat4(0.1160767, 0.060790952, -0.0724595, -0.04385768, 0.19978592, 0.0788206, 0.046029508, -0.049146708, -0.11248604, -0.09155754, 0.068832725, -0.03305183, 0.09853922, -0.22963063, 0.1005964, 0.08247126) * go_5(0.0, 0.0); - result += mat4(-0.028804837, 0.04783762, 0.026305035, 0.11646629, 0.022342246, 0.021584023, 0.0001582563, 0.04657554, 0.042147595, 0.10991348, -0.05957568, -0.035553932, 0.026858332, -0.048424963, 0.019152632, 0.019507838) * go_5(0.0, 1.0); - result += mat4(0.060836714, -0.022240432, -0.080111384, 0.012706318, -0.011927039, -0.036633156, -0.09807743, 0.001682814, -0.048570346, 0.022914637, 0.08297579, 0.07432916, -0.06689553, 0.07128321, 0.060760804, -0.053622015) * go_5(1.0, -1.0); - result += mat4(-0.08151351, 0.03328517, 0.0655914, 0.030473806, -0.20243235, -0.07587536, 0.059557915, -0.025496572, 0.08349247, 0.03562965, -0.013549137, 0.007226739, 0.02451737, -0.12500823, 0.17518938, 0.027817642) * go_5(1.0, 0.0); - result += mat4(0.111120775, 0.069498256, 0.109161, -0.07871808, 0.03341905, 0.093649514, -0.103547156, -0.0221692, 0.14756559, 0.08163537, -0.027058242, 0.012208241, -0.024274345, 0.036743194, 0.021657368, 0.08115235) * go_5(1.0, 1.0); - result += mat4(-0.016565295, -0.093153246, 0.07434916, 0.13516915, 0.066431835, -0.08160101, 0.22495477, -0.005786332, 0.050438188, -0.053129386, -0.19276144, -0.026223544, 0.07634501, 0.0152589185, 0.09015993, -0.12081901) * go_6(-1.0, -1.0); - result += mat4(-0.02868214, -0.09362387, 0.20420188, 0.2323043, 0.11400136, 0.005945724, 0.098368086, 0.08062859, 0.16150405, 0.035759013, -0.06049329, -0.043028176, 0.18725239, -0.16331641, -0.048589546, 0.0063477824) * go_6(-1.0, 0.0); - result += mat4(0.10109423, 0.028425362, 0.0021927503, -0.026673127, -0.061097544, -0.056787327, -0.19795562, -0.013237915, -0.010981921, -0.09065953, -0.13859056, -0.04323077, 0.040252034, 0.07637654, -0.11945002, 0.094968155) * go_6(-1.0, 1.0); - result += mat4(-0.3977607, -0.13790089, -0.055158988, -0.050174505, 0.052614894, -0.07778908, -0.015430888, 0.047986247, 0.14888169, -0.16543779, -0.2891003, -0.04342235, 0.30348074, 0.10824644, 0.10112518, -0.24783409) * go_6(0.0, -1.0); - result += mat4(0.23575824, 0.011677025, -0.085980736, -0.18474336, -0.046511535, -0.2450259, 0.015577409, 0.090929225, -0.23187812, 0.3062745, -0.008086566, 0.09375844, 0.17479296, -0.32219046, -0.17859502, -0.029911464) * go_6(0.0, 0.0); - result += mat4(0.0074331514, -0.0158369, -0.15111591, -0.0986743, -0.030352395, 0.25137565, 0.04130103, -0.0062408587, -0.1494196, 0.10451748, 0.17356388, -0.11889589, -0.21257852, 0.18119709, -0.32618928, -0.14297172) * go_6(0.0, 1.0); - result += mat4(-0.020291256, -0.12662272, 0.056155823, 0.057880387, 0.109167404, -0.08335087, -0.15138221, 0.047699973, 0.0058621103, -0.06914936, -0.073086455, 0.003365277, 0.22831668, -0.07399479, 0.024957279, 0.05620497) * go_6(1.0, -1.0); - result += mat4(0.07699637, 0.041208927, 0.06305996, 0.041955516, -0.08543101, 0.1444409, -0.08606257, -0.055031363, -0.10753908, 0.044322092, 0.15147197, -0.030209096, 0.009578645, -0.28745437, 0.182556, 0.019715844) * go_6(1.0, 0.0); - result += mat4(-0.075021446, -0.19192447, 0.1017877, -0.06666319, -0.14443877, 0.15312059, -0.073553406, -0.14337407, 0.08148258, 0.056119774, 0.12854706, -0.05987905, 0.08368831, -0.016305747, 0.07510809, 0.074687295) * go_6(1.0, 1.0); - result += mat4(-0.010471119, 0.13328238, 0.060071457, -0.03948096, 0.05319884, 0.17310601, -0.04464768, 0.08970178, 0.10060466, 0.03673445, -0.1702518, -0.16137329, -0.10923549, -0.080803566, 0.08140776, -0.023817802) * go_7(-1.0, -1.0); - result += mat4(0.013244887, 0.15331677, 0.09793132, 0.09692318, -0.1730623, 0.02818572, 0.05820418, -0.10480771, -0.009753599, 0.027658407, -0.08239695, -0.028878244, -0.13597834, -0.114619546, 0.12918031, -0.101478636) * go_7(-1.0, 0.0); - result += mat4(-0.1387837, -0.025863085, -0.07998665, -0.12072783, -0.02631342, 0.22394536, -0.044502188, 0.043130975, -0.054995466, -0.02638623, -0.03035314, -9.780792e-05, 0.10787078, 0.09983201, 0.048798468, -0.027303448) * go_7(-1.0, 1.0); - result += mat4(-0.030307472, 0.10377603, -0.048275083, -0.17565064, -0.0731305, -0.1687179, 0.049325664, 0.06664795, 0.15953282, 0.019989133, -0.12020434, 0.08591394, 0.016914282, 0.026901973, 0.058946334, -0.08739783) * go_7(0.0, -1.0); - result += mat4(-0.04967794, 0.07685563, 0.188108, 0.027708061, -0.12741639, 0.1113947, 0.080441244, -0.0532469, 0.18773162, -0.048492104, 0.10304353, -0.07217096, -0.03396989, -0.13489579, 0.0097981915, -0.07177994) * go_7(0.0, 0.0); - result += mat4(0.06648731, -0.013308226, 0.07468537, 0.018027442, 0.015774438, -0.12655127, 0.008981899, -0.10848047, 0.01785698, -0.037054867, 0.05375838, 0.026628552, -0.007766137, 0.021725474, -0.14604005, 0.07607764) * go_7(0.0, 1.0); - result += mat4(0.11879723, -0.015889695, -0.07713315, -0.069208734, 0.030487843, -0.01902965, 0.09156338, 0.11870824, -0.0053699217, 0.05143409, -0.07897252, -0.09999788, 0.037435826, 0.07663497, 0.0062756166, -0.007952132) * go_7(1.0, -1.0); - result += mat4(0.10580244, -0.036087725, -0.019035814, 0.033959202, 0.100345545, -0.1669388, 0.09289055, -0.0006761699, 0.05343634, 0.037503824, 0.08714516, 0.088569865, -0.08008031, -0.14313452, -0.0869759, -0.08801987) * go_7(1.0, 0.0); - result += mat4(0.006534133, 0.05105751, 0.1326258, -0.012239177, 0.058115125, 0.028674275, -0.09591513, -0.005499378, 0.041579086, -0.06331064, -0.045979768, 0.10551663, 0.112477005, -0.009950793, -0.1351577, 0.038971644) * go_7(1.0, 1.0); - result += vec4(0.05119014, 0.001999624, 0.0051741754, 0.006344799); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.113515526, 0.106837384, 0.20812881, 0.16897917, 0.041623022, -0.1039364, 0.19850619, 0.298937, -0.3082365, -0.031754434, 0.16342433, 0.37504506, 0.09699736, 0.010189174, 0.17887989, -0.09383025) * g_0; - result += mat4(0.10328652, -0.028724594, -0.03725655, 0.27347645, 0.10183029, -0.16081847, -0.10617321, 0.1901187, -0.03793219, 0.2775493, 0.14563474, 0.00840078, -0.17760493, 0.13339461, 0.089312814, 0.034915876) * g_1; - result += mat4(0.015832528, -0.045636576, -0.12128991, 0.2608647, 0.24673735, 0.10102276, 0.16210636, -0.46542636, -0.015267993, -0.15264183, 0.25447357, 0.031080268, 0.20901208, 0.14662905, -0.036634948, 0.0845752) * g_2; - result += mat4(0.09588151, 0.018494375, 0.027304746, 0.13447088, -0.06265565, 0.1733864, 0.334192, -0.113528445, 0.21299788, -0.1472667, 0.29488075, -0.1290995, -0.024090588, -0.3359844, -0.101115264, -0.2198912) * g_3; - result += mat4(-0.0139789, 0.21625891, 0.022689445, 0.06341661, -0.117535755, 0.2804869, -0.044223994, -0.19280532, 0.12332802, -0.038589306, 0.060168512, 0.003091399, 0.22361282, 0.20717236, -0.098680764, -0.3309222) * g_4; - result += mat4(-0.06628995, 0.12792988, 0.003792715, 0.1680786, -0.1342965, 0.41055954, 0.062222756, 0.049789477, -0.07372347, -0.18070233, 0.03299076, -0.09340363, 0.32073286, -0.07532172, -0.07331408, 0.20519489) * g_5; - result += mat4(0.086528674, 0.08663942, 0.25446007, -0.3459604, 0.08586162, -0.2900368, -0.24869849, 0.20104861, -0.5512707, -0.08311233, 0.14626856, -0.15290149, -0.1541716, 0.02692958, -0.0066374447, 0.37172756) * g_6; - result += mat4(-0.19816272, 0.08062059, 0.072980136, -0.1234166, 0.16083257, 0.07615364, 0.16252695, -0.31896582, -0.3006324, 0.24307664, 0.10824411, -0.22742745, -0.16614948, -0.22890756, -0.07267046, 0.09090352) * g_7; - result += mat4(-0.10712061, 0.071095675, -0.32983637, -0.09112012, 0.24694498, 0.09215849, 0.05334446, 0.077359654, -0.07286092, 0.34112877, -0.013829287, 0.06670894, -0.09276153, 0.072939105, -0.13622369, 0.14010417) * g_8; - result += mat4(0.11312907, -0.090158425, 0.3204081, 0.053531416, -0.253243, 0.12732224, -0.02162359, -0.34881824, 0.011340285, -0.2804999, -0.24482724, -0.06718974, 0.015262575, -0.0716948, -0.07537729, -0.20046124) * g_9; - result += mat4(0.046407733, 0.17073393, 0.027035931, -0.32520708, 0.47023183, -0.11385112, 0.10980019, 0.12331711, 0.039710827, 0.25615647, -0.06121073, 0.22643484, -0.053721283, -0.019124558, 0.24745707, -0.007544153) * g_10; - result += mat4(0.015645513, 0.24795622, -0.027034724, 0.091168396, 0.13050666, 0.19245213, -0.3235803, 0.12572092, -0.04100238, -0.2667382, -0.06869353, -0.18729845, -0.3253826, -0.15944591, -0.038754206, -0.022384685) * g_11; - result += vec4(-0.021124197, 0.065632634, 0.024891809, 0.072871104); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11699225, -0.011926791, 0.15968116, -0.28171888, -0.094884306, 0.12266288, -0.02869124, 0.124487214, 0.11344168, 0.27545413, -0.11473996, -0.18655725, 0.07444298, 0.20979966, -0.34344572, 0.09082154) * g_0; - result += mat4(0.34916008, 0.13911577, -0.010201517, 0.0037869287, 0.08340967, -0.12156858, -0.117294475, 0.35585365, -0.06922667, 0.06911412, -0.07068636, 0.12846842, 0.015117793, -0.023309045, 0.013241948, -0.107297644) * g_1; - result += mat4(0.17315003, -0.10761723, -0.072508104, 0.22057249, -0.07545323, 0.07440893, -0.20900318, 0.020722175, 0.10075026, -0.12781784, -0.023600617, -0.08387344, 0.32060823, -0.078003615, 0.114024006, 0.09494562) * g_2; - result += mat4(0.11551656, -0.000862936, -0.3338336, -0.19441503, 0.14071822, -0.09090158, 0.116582595, -0.14757058, 0.3173076, 0.027060512, -0.18175173, 0.103367195, -0.123774566, 0.004113376, -0.036047045, 0.20972507) * g_3; - result += mat4(0.2616819, -0.23769857, 0.14694063, 0.52330256, -0.15146148, -0.21730542, -0.067091495, -0.06504361, 0.04726932, -0.043983664, -0.04815243, 0.16768406, 0.19502987, -0.32623842, -0.051590122, -0.13552347) * g_4; - result += mat4(-0.10593247, 0.043780692, -0.0012781665, -0.027277134, 0.07427171, 0.21340221, -0.0145785725, -0.09647566, 0.07683649, -0.0025731022, 0.22363698, -0.05832384, 0.021017361, -0.07482151, -0.12129065, -0.0019391342) * g_5; - result += mat4(-0.0340859, -0.14430326, 0.10648293, -0.072308615, 0.11786764, 0.119093865, -0.012822142, -0.037612807, -0.1896853, -0.22999093, 0.4030961, -0.03841633, 0.12869515, -0.18355207, 0.010367995, 0.02159778) * g_6; - result += mat4(0.053300664, 0.09102034, 0.2953044, 0.20959346, 0.051493607, 0.42663953, -0.24863662, -0.18108594, 0.09425621, 0.13966715, -0.14302093, 0.043921605, -0.16983564, 0.0754303, -0.017989958, 0.17268774) * g_7; - result += mat4(-0.08402705, -0.09658915, 0.12671614, -0.16052966, 0.03697882, 0.30477068, 0.13104036, 0.0013146247, 0.20226406, -0.07586563, -0.011798672, 0.3262475, -0.06879792, 0.08181783, 0.36202317, 0.3781982) * g_8; - result += mat4(-0.17125002, 0.33657587, -0.39985514, 0.02585221, 0.1537332, 0.04795972, 0.018550362, -0.22021875, -0.19417998, 0.074346684, 0.12862094, -0.20361246, -0.024607735, -0.2939094, -0.20752306, -0.23394017) * g_9; - result += mat4(0.1611785, -0.21036223, 0.511955, -0.32777244, -0.1491686, 0.16397569, 0.08984783, -0.06717227, 0.0506624, 0.11203859, -0.05863204, -0.19412707, -0.10711086, 0.19335233, -0.036180694, -0.12216311) * g_10; - result += mat4(0.07279537, 0.118367635, -0.24924143, 0.077552676, 0.076574005, 0.29696205, -0.4367856, 0.049242187, 0.03598476, -0.23271763, 0.09492026, 0.1604189, 0.23055643, -0.5723609, -0.16704383, -0.1909646) * g_11; - result += vec4(0.02420742, -0.053550396, 0.09937034, 0.02549033); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2471731, -0.16232504, -0.30280364, 0.05774581, -0.33488455, -0.2850219, -0.14658487, 0.1705944, -0.24376623, -0.07736909, 0.13372669, 0.13659224, 0.15363434, 0.09130026, 0.118685074, -0.1887429) * g_0; - result += mat4(-0.14029902, 0.04204984, 0.029388431, -0.16639939, 0.037349563, 0.090201415, 0.115845665, 0.094291255, -0.003028802, -0.1821114, -0.052043844, 0.18686622, -0.1255908, 0.1673359, 0.17418015, -0.24007064) * g_1; - result += mat4(0.045778025, -0.038912218, 0.116795845, -0.118629694, -0.1916185, -0.21808104, 0.22124553, 0.12642126, -0.024481684, -0.32958513, -0.11877306, -0.13612218, 0.1202751, -0.17667405, 0.08483987, -0.07016802) * g_2; - result += mat4(0.004220892, -0.060743902, -0.15420602, -0.32612783, 0.022069136, -0.11913074, 0.22228731, 0.43151212, -0.03867469, 0.29992265, -0.14474417, -0.1324549, -0.067330755, 0.07419592, -0.3801413, 0.25740635) * g_3; - result += mat4(-0.43801382, 0.074864835, 0.22297561, -0.07522966, 0.089928746, -0.23775443, 0.12624952, 0.05267909, 0.11843678, 0.23380554, -0.16562468, 0.04727477, -0.07479534, -0.06559248, 0.41837972, 0.34442958) * g_4; - result += mat4(0.3688564, 0.13552678, -0.12272029, -0.14460362, -0.052870844, -0.0072880904, -0.20343664, 0.051840555, -0.07027805, 0.025613135, 0.1342496, -0.15982226, 0.21681777, -0.22339828, 0.04231994, 0.11173033) * g_5; - result += mat4(-0.014970335, -0.29749388, -0.17493735, 0.29414502, 0.040422376, 0.15367351, -0.16439381, -0.18030228, 0.11266584, 0.111256205, 0.14735286, 0.04284055, -0.15905188, 0.43124563, -0.32235175, -0.24786504) * g_6; - result += mat4(-0.05143537, 0.11057835, 0.21779476, 0.23726006, -0.0005560291, 0.04139496, -0.16062462, -0.24794249, -0.1464781, 0.19482404, -0.312965, 0.06129383, -0.18794996, 0.16319337, 0.14189719, -0.30816367) * g_7; - result += mat4(0.27121273, -0.004694028, -0.31637567, 0.032995105, -0.036668185, -0.11826119, 0.035944767, 0.21887423, -0.030638168, -0.3112658, 0.1413359, -0.05586408, 0.028680937, -0.109603494, -0.48359016, -0.085163146) * g_8; - result += mat4(-0.15236667, -0.06385869, 0.31347254, 0.024068993, 0.2756432, -0.0046036905, 0.07813827, -0.19012104, 0.04450809, 0.00904128, -0.21091071, 0.10090084, -0.014248632, 0.1903685, 0.27477407, 0.06778423) * g_9; - result += mat4(-0.13072848, 0.01106962, 0.09164927, 0.038539473, -0.27705765, 0.12634145, -0.32573533, 0.18789926, -0.089990735, -0.12661424, -0.19122249, 0.11970773, -0.15596688, -0.15337645, -0.39366686, 0.25173476) * g_10; - result += mat4(0.133498, -0.1286767, 0.0066307387, 0.05333134, 0.32057172, 0.11854806, 0.23994155, 0.07014444, -0.0822214, 0.17359538, 0.011753332, -0.098263726, 0.09097752, 0.23439142, 0.24286969, 0.30044666) * g_11; - result += vec4(-0.013156251, -0.073697254, 0.013861042, 0.029801248); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf3 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0753999, 0.03658432, 0.18477479, 0.1749442, -0.5686113, 0.07571735, 0.3006386, -0.10368173, 0.31511122, 0.19695596, 0.022956114, 0.10611498, 0.11219441, 0.07497535, -0.051178914, 0.40932408) * g_0; - result += mat4(-0.53745884, -0.26310006, -0.14212249, -0.10600016, -0.3300384, -0.11597243, -0.10909209, 0.1591658, 0.20530003, 0.10293979, 0.44854087, -0.14645655, -0.17974512, -0.22815758, 0.055204354, 0.07649109) * g_1; - result += mat4(-0.11100687, -0.020421045, -0.06534363, -0.006278175, -0.20759039, 0.41434816, 0.019221503, -0.18696092, -0.17718618, -0.27402994, -0.31856942, 0.17581874, 0.19913019, -0.12737915, -0.23136902, 0.29896608) * g_2; - result += mat4(-0.19094995, -0.008856119, -0.1510312, 0.027294202, -0.038605593, 0.26966265, 0.07470327, -0.21256901, -0.004842345, -0.007547481, 0.0102520995, -0.101378344, 0.06716397, 0.32778296, 0.09866201, 0.105650894) * g_3; - result += mat4(-0.07321942, -0.20841677, -0.2987479, -0.025003504, 0.51052386, 0.11103265, -0.24727266, 0.05006711, -0.04068963, -0.17566985, 0.22884814, -0.08789049, 0.15666409, -0.2519647, 0.1815161, -0.29741505) * g_4; - result += mat4(0.32267484, 0.30005294, -0.32079622, 0.30390024, 0.47575063, 0.15858233, -0.049186833, -0.08754423, -0.30718598, -0.23053262, -0.4130956, 0.15375546, -0.2504387, 0.14406683, -0.03541755, -0.116562754) * g_5; - result += mat4(0.089908786, 0.16712907, 0.2827455, -0.1158676, 0.100818515, -0.13472387, 0.0018383784, 0.28862092, 0.16807888, 0.21766861, -0.008835093, -0.013818307, 0.29853174, 0.44468543, 0.109368436, 0.05118149) * g_6; - result += mat4(0.068973444, 0.0794158, 0.008132662, -0.025349714, -0.241619, -0.562253, -0.06472331, 0.26760724, 0.14286947, -0.108172484, -0.18315507, 0.082276024, -0.056612104, 0.15318224, 0.09156046, 0.059472494) * g_7; - result += mat4(0.17709294, 0.11063602, 0.016538871, -0.04356374, -0.4417025, -0.23322596, 0.1735871, -0.13079296, -0.014818513, 0.085076906, 0.31257257, -0.0979718, 0.23537876, 0.22838776, -0.1946557, -0.21086106) * g_8; - result += mat4(0.16094512, -0.20355348, 0.1149018, -0.19766387, -0.043893784, -0.12358672, -0.03911131, 0.23320928, -0.08093544, 0.09920411, -0.40996867, 0.08985439, -0.26298022, -0.35406327, 0.27618915, -0.17629734) * g_9; - result += mat4(0.17672168, 0.33174667, -0.1032466, -0.27387938, -0.02977908, -0.025017925, -0.20994124, -0.08694916, -0.02364592, -0.09470408, 0.020289965, 0.012267187, -0.36518613, -0.3328729, -0.006646349, 0.2829864) * g_10; - result += mat4(-0.37110084, -0.35592732, 0.23536026, 0.23718278, 0.047251917, -0.005406326, -0.3790981, -0.06730541, -0.059093118, 0.17381823, 0.08860589, -0.08435597, 0.063891046, 0.111061476, -0.17462096, -0.21782869) * g_11; - result += vec4(-0.036752474, -0.0199064, -0.031221999, 0.027302064); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09734661, 0.061269853, 0.010684367, 0.07922197, 0.05781062, 0.09498859, 0.0059541194, 0.055028643, 0.029842257, 0.021540405, 0.046974428, -0.06634233, -0.13435823, 0.052091595, 0.15516177, 0.20840359) * go_0(-1.0, -1.0); - result += mat4(-0.11204712, 0.087035954, 0.18622182, 0.31039688, 0.14824612, -0.0020548997, -0.05728568, 0.09329071, -0.048949752, -0.00422063, 0.10059791, 0.01128758, -0.0667123, -0.07316058, -0.009909637, 0.14781536) * go_0(-1.0, 0.0); - result += mat4(0.21659678, -0.11969646, 0.31596485, -0.29449376, -0.085787125, -0.0041973544, 0.014939408, -0.06458572, 0.016557008, -0.10691503, 0.07453658, -0.09312512, -0.041953124, 0.0108861765, 0.046261944, 0.1774456) * go_0(-1.0, 1.0); - result += mat4(0.02254322, -0.052918423, -0.113152504, 0.071858585, 0.0117703015, 0.079451814, -0.0029153633, 0.015306896, -0.040042825, -0.06333894, 0.03827381, -0.003296969, 0.23065478, 0.11165739, 0.029987952, 0.13538778) * go_0(0.0, -1.0); - result += mat4(0.22478464, 0.053055856, 0.13375497, 0.11132069, 0.0768609, -0.08802591, -0.0005126305, -0.096074104, 0.05547799, 0.14047498, -0.21863975, 0.088811226, 0.14175189, 0.056029763, -0.09243144, -0.03227621) * go_0(0.0, 0.0); - result += mat4(0.058631405, -0.0020513993, -0.100427136, 0.09413551, 0.020093564, 0.069237374, -0.031309333, -0.15205812, -0.07296385, -0.08101741, -0.033533495, 0.04185518, -0.069678605, -0.11994933, -0.05458667, 0.1239785) * go_0(0.0, 1.0); - result += mat4(0.023654098, -0.016322771, -0.053925548, -0.05829063, 0.03189806, -0.07079362, 0.045294795, -0.056835167, 0.005102182, -0.004473431, 0.089829914, -0.051828075, 0.13791272, -0.12263063, 0.09900396, 0.08934504) * go_0(1.0, -1.0); - result += mat4(-0.14883909, -0.08370035, 0.029796274, -0.061349917, 0.031639863, 0.07670951, -0.07982861, -0.075953715, 0.01616426, 0.04547463, -0.17410962, -0.13339755, -0.030177329, 0.081280835, -0.071240604, -0.068024755) * go_0(1.0, 0.0); - result += mat4(-0.035136715, -0.0666993, -0.053949412, 0.23571363, 0.064162835, 0.058248613, 0.071939655, -0.043032203, 0.0027190417, 0.102130406, 0.08265134, 0.14767906, 0.11839981, 0.022512883, 0.008833997, -0.08867263) * go_0(1.0, 1.0); - result += mat4(-0.045464355, -0.03901701, 0.104742035, -0.054333255, -0.000674463, -0.072723635, -0.011385688, 0.1390963, -0.057841327, -0.10662542, -0.006296826, 0.07534485, -0.0022529615, -0.017679833, 0.11422933, -0.09602691) * go_1(-1.0, -1.0); - result += mat4(-0.037918784, 0.0471143, 0.01821684, 0.04785347, 0.05893716, -0.05264373, 0.031792507, 0.022692155, -0.12618628, -0.078732796, -0.107741006, -0.005904432, 0.033265546, -0.037677728, 0.018410092, -0.045087464) * go_1(-1.0, 0.0); - result += mat4(-0.08069271, 0.14640823, 0.03188813, 0.048628252, -0.10498838, -0.01750696, -0.017270578, -0.20060967, -0.022688782, 0.14007398, -0.064233646, -0.06584529, 0.048313648, 0.02902496, 0.025434876, -0.015005926) * go_1(-1.0, 1.0); - result += mat4(-0.11691012, 0.10830498, 0.0864008, -0.07428175, 0.059586193, 0.08761011, -0.051804967, -0.116023265, -0.040842712, 0.064043894, -0.055760466, -0.03979215, -0.1566118, -0.07059479, 0.23128736, 0.29601103) * go_1(0.0, -1.0); - result += mat4(0.019733015, -0.121494144, 0.07050759, -0.031028662, 0.02035677, 0.037133172, 0.1959422, 0.010620721, -0.11892457, -0.062402498, 0.23107922, 0.017938357, 0.039822582, -0.34718394, -0.0043610777, -0.12503235) * go_1(0.0, 0.0); - result += mat4(-0.1521077, 0.023124147, 0.17105149, -0.09529017, -0.18716997, 0.15938593, -0.075555176, 0.007660074, -0.0659198, 0.042362686, 0.06072557, -0.052555315, 0.031564806, -0.13988672, -0.100266196, 0.15556104) * go_1(0.0, 1.0); - result += mat4(0.03950866, 0.0932461, 0.14669223, -0.075737424, -0.09153526, 0.0028438887, 0.0519975, -0.008800768, -0.0026975062, -0.041466944, -0.10415832, -0.048266735, -0.19737266, -0.008451561, 0.054551005, -0.18987523) * go_1(1.0, -1.0); - result += mat4(-0.017622106, -0.10150143, -0.061344724, -0.021990284, 0.16188632, -0.039700583, 0.024772005, -0.05583961, 0.055742163, 0.17517552, 0.079216845, -0.045874085, -0.33632788, -0.55761105, -0.15164435, 0.19563487) * go_1(1.0, 0.0); - result += mat4(0.15358269, -0.08413987, 0.031613722, -0.016460061, -0.0045705284, 0.022188313, -0.053493183, -0.010319478, -0.10769792, -0.03695773, 0.004054835, -0.104466334, -0.10020303, -0.064705715, -0.041581728, -0.086132765) * go_1(1.0, 1.0); - result += mat4(-0.05974514, 0.036663704, -0.10178144, 0.21211717, 0.04420661, -0.036548615, -0.098309755, -0.08025222, 0.07865967, 0.07362496, 0.12985736, 0.12008698, -0.06263807, -0.10731051, -0.06923558, 0.07864413) * go_2(-1.0, -1.0); - result += mat4(0.22417663, 0.0588772, 0.1198325, -0.07723108, 0.033947755, -0.041091707, -0.16751619, -0.12512505, 0.100351505, 0.021007577, -0.0038691324, 0.11080665, 7.171485e-05, -0.05867157, 0.118601635, 0.053962808) * go_2(-1.0, 0.0); - result += mat4(0.021666002, 0.0027355652, 0.052574422, 0.056000613, 0.12146606, -0.13704947, -0.0871154, 0.025724513, -0.12228573, 0.11862116, 0.077627316, 0.0914951, 0.0656998, -0.012906203, 0.01584498, 0.0021894067) * go_2(-1.0, 1.0); - result += mat4(0.21685399, -0.21901615, 0.21654171, 0.09605749, 0.021838928, -0.060552385, 0.0023020366, -0.21475291, 0.19824745, -0.038538195, 0.14118937, 0.014410346, -0.03936526, -0.028588302, 0.01463384, 0.1269174) * go_2(0.0, -1.0); - result += mat4(-0.17986831, 0.17568718, 0.011101189, 0.034957506, -0.24435398, -0.17036551, 0.17677231, 0.114546336, 0.1765654, 0.14953285, -0.02125005, -0.090705946, 0.11545875, 0.11875337, 0.07169465, -0.056279495) * go_2(0.0, 0.0); - result += mat4(-0.20325391, 0.0077137332, -0.124255426, -0.03918733, 0.0057139527, -0.20959048, 0.016518086, 0.07134525, -0.033380203, 0.1895967, -0.020892128, -0.15934819, -0.026683806, 0.049555697, -0.012137531, 0.04078783) * go_2(0.0, 1.0); - result += mat4(0.044009577, -0.1267635, -0.19021805, 0.020304255, -0.026466701, -0.021304939, 0.05452358, 0.2480263, -0.10584058, -0.019716619, -0.021578709, -0.059174377, 0.016334238, 0.041968506, 0.06452988, -0.033252876) * go_2(1.0, -1.0); - result += mat4(0.13782366, 0.39971897, 0.041918628, -0.12675282, -0.06519262, -0.09265013, -0.09582015, 0.078845605, -0.16200846, -0.0828618, -0.028440878, 0.051919196, 0.18443401, 0.007192546, 0.1433654, 0.05663138) * go_2(1.0, 0.0); - result += mat4(0.20185442, -0.067758165, -0.074122995, 0.14756092, -0.12199864, -0.15655454, -0.12563851, -0.18541348, -0.021879317, 0.01678769, -0.0030687766, 0.08913009, 0.16956268, -0.023180367, 0.048467696, -0.046434075) * go_2(1.0, 1.0); - result += mat4(0.036227275, -0.05883773, 0.0012586793, 0.011253798, 0.10275155, -0.06640798, -0.1678144, 0.082103625, -0.1789737, -0.0023864328, -0.04942815, -0.030467045, 0.03752185, -0.014739322, -0.011592565, -0.08417689) * go_3(-1.0, -1.0); - result += mat4(0.010906125, -0.07623248, 0.024461044, 0.13993196, 0.026915673, 0.09800617, 0.00041784425, 0.0070541617, -0.1684005, -0.22166164, -0.019129276, 0.09959659, 0.09489805, 0.03439014, 0.10191427, 0.011791956) * go_3(-1.0, 0.0); - result += mat4(0.00095777505, -0.13054171, 0.14910473, -0.08741845, 0.02464533, 0.17301862, 0.04799081, -0.112584546, -0.10729309, 0.0021900109, -0.117694676, -0.22643587, 0.08776268, -0.013622246, 0.02121124, 0.0677086) * go_3(-1.0, 1.0); - result += mat4(0.080143295, 0.0005351027, -0.12454767, -0.009831431, 0.09471301, -0.06951146, 0.027126681, -0.0003073929, -0.045323767, 0.2865539, -0.08811831, 0.14265549, 0.057120778, -0.015644496, -0.13397896, -0.01764384) * go_3(0.0, -1.0); - result += mat4(-0.14829676, -0.22663654, 0.06900643, 0.19923732, -0.17632666, -0.1773072, -0.10938093, 0.1907633, -0.22015978, 0.16445194, -0.035109006, -0.1360336, 0.041809544, -0.05986774, -0.11678058, 0.02465583) * go_3(0.0, 0.0); - result += mat4(-0.1263213, 0.03851176, 0.06992986, 0.121745974, -0.0019402864, 0.069357015, -0.18422046, -0.021072289, 0.010600869, -0.09093927, 0.07218328, 0.030740313, -0.08003271, -0.07790914, 0.06410005, 0.014307259) * go_3(0.0, 1.0); - result += mat4(0.10477422, 0.0071695005, -0.14152291, -0.08124443, -0.09799372, -0.05710979, 0.058086738, -0.044789974, 0.043377526, 0.12331853, 0.025140652, 0.07699851, -0.045419525, -0.006256598, -0.1254608, -0.069459505) * go_3(1.0, -1.0); - result += mat4(0.012826945, 0.013810653, -0.03710287, 0.09192163, 0.20279253, 0.00034728806, -0.035849538, -0.017284289, -0.12103459, 0.113538265, 0.036033515, -0.2628409, 0.13250133, -0.15067518, -0.017473336, -0.017993376) * go_3(1.0, 0.0); - result += mat4(-0.04628539, -0.009509892, 0.010795782, 0.022657838, 0.034840304, -0.18331207, -0.043538917, 0.019726979, 0.093813986, -0.01182597, -0.030532721, -0.06725243, 0.035305396, 0.12598507, -0.045109455, -0.07104365) * go_3(1.0, 1.0); - result += mat4(-0.038427405, -0.03670289, 0.009010035, -0.08594717, 0.13386185, -0.055569336, 0.020312069, 0.17047036, -0.0005751851, 0.07102868, -0.0030843539, -0.062339533, 0.17729887, -0.02035552, -0.10233831, -0.11164339) * go_4(-1.0, -1.0); - result += mat4(-0.11263659, -0.05361348, -0.08857922, 0.025857484, 0.15782511, 0.11741005, 0.0008204784, -0.055593092, 0.16471939, -0.06537734, -0.049056504, -0.14134789, -0.06993487, 0.08265007, -0.026305847, -0.015778434) * go_4(-1.0, 0.0); - result += mat4(-0.007410701, -0.01441922, -0.013790292, -0.08496436, 0.059298597, 0.06749017, 0.033680003, -0.07553746, -0.007253728, 0.07603032, 0.03603444, 0.023113312, 0.009864538, 0.009545234, 0.007055779, 0.016675977) * go_4(-1.0, 1.0); - result += mat4(-0.03287154, 0.041329436, 0.048967343, 0.00020967565, -0.03840336, -0.26014775, 0.13467579, -0.01288433, 0.03179203, -0.124999754, 0.043841228, -0.06066888, -0.0051408918, -0.016409034, -0.12508035, -0.06799285) * go_4(0.0, -1.0); - result += mat4(-0.061412618, -0.023039775, 0.023298232, 0.027902585, -0.05903914, -0.04732177, -0.08157116, -0.16209878, -0.07151363, -0.11202448, 0.086137235, 0.13089454, -0.1727801, -0.084309146, 0.008881613, 0.10247897) * go_4(0.0, 0.0); - result += mat4(-0.080017336, -0.021263113, 0.19055346, -0.019997882, -0.1927784, -0.03550904, -0.030173002, 0.3082455, -0.15008178, 0.11214757, 0.02586731, -0.043060426, 0.07466955, 0.046203747, -0.07718886, 0.06528261) * go_4(0.0, 1.0); - result += mat4(0.019918084, 0.10393514, -0.009655002, 0.1094199, -0.089056216, -0.1737668, -0.059082154, 0.105823405, 0.026216887, 0.03503651, -0.12551196, 0.012876952, 0.11418996, -0.0284636, -0.11487945, 0.040532686) * go_4(1.0, -1.0); - result += mat4(-0.062002, -0.10289414, 0.0433779, -0.052594364, -0.026993295, -0.010685158, -0.14214714, 0.13103524, -0.1301826, -0.27670056, 0.11124729, -0.055402644, 0.01671333, -0.08101004, -0.05717023, 0.0962302) * go_4(1.0, 0.0); - result += mat4(-0.15299675, -0.0779102, 0.062842146, -0.11968336, -0.07164389, -0.017125668, -0.1688716, 0.061834283, 0.08188993, 0.0018753322, 0.08258499, -0.19381738, -0.04257649, -0.016848594, -0.017061861, -0.026112117) * go_4(1.0, 1.0); - result += mat4(-0.122003414, -0.09890703, -0.06982631, -0.02577599, 0.047824547, 0.03650507, 0.040395748, -0.04049112, 0.04005698, 0.09357465, 0.1360253, -0.15741147, -0.06551237, 0.08185881, -0.02194835, -0.013256005) * go_5(-1.0, -1.0); - result += mat4(-0.14268228, -0.08010237, 0.062330585, 0.24419874, 0.022156455, -0.031606868, 0.01986428, -0.123140745, 0.088045254, 0.07976336, 0.12356502, 0.03292295, 0.0039921612, 0.1391097, -0.1327237, 0.17087503) * go_5(-1.0, 0.0); - result += mat4(0.05809734, 0.10325669, 0.018551925, 0.18999831, 0.05094676, -0.031951625, -0.019107338, -0.024242481, -0.03815963, -0.14975072, 0.015570574, 0.116612114, -0.0035157371, -0.022934573, 0.0011566454, -0.1203576) * go_5(-1.0, 1.0); - result += mat4(-0.07571527, 0.1990212, -0.20027153, -0.10697796, -0.12820342, -0.084515885, 0.07578165, 0.020347733, -0.00892056, -0.18545923, 0.0695733, 0.14638829, -0.09150454, 0.006455754, -0.055462956, 0.042492133) * go_5(0.0, -1.0); - result += mat4(0.15239488, -0.06738116, -0.07969976, 0.1760308, 0.093105, 0.06533617, 0.037611242, -0.01698829, 0.09100471, 0.17494531, 0.10324255, -0.040920477, 0.04676677, -0.042271648, 0.17275427, 0.039887525) * go_5(0.0, 0.0); - result += mat4(0.04805025, 0.09289456, 0.012480428, 0.059763327, 0.20680524, 0.024041612, 0.04847308, -0.06536776, 0.03056509, -0.03703338, 0.031064041, 0.017866645, -0.0199645, 0.13258344, -0.0063539073, 0.04498349) * go_5(0.0, 1.0); - result += mat4(0.052932233, -0.11947033, -0.03155656, -0.07324679, -0.05424513, 0.078505605, -0.019819826, -0.118183404, 0.015165605, -0.15420818, 0.09117547, -0.06770803, 0.025362425, 0.10567001, 0.16803418, -0.014216641) * go_5(1.0, -1.0); - result += mat4(-0.002915114, 0.09753533, -0.07954533, -0.09036385, -0.10997803, -0.06226152, 0.15965928, 0.01742136, -0.16269052, 0.0012529608, -0.11517133, -0.06588761, 0.33304235, 0.32400182, -0.037736043, -0.08686809) * go_5(1.0, 0.0); - result += mat4(0.122677274, 0.07220127, 0.017788883, -0.1526565, -0.11781294, -0.096393414, -0.10738522, 0.027538292, 0.11034344, 0.0068561994, -0.01896905, 0.08191385, -0.031658173, -0.06143603, 0.11063846, 0.013613772) * go_5(1.0, 1.0); - result += mat4(-0.00034395256, 0.07757684, 0.03603346, -0.05409958, -0.039885473, 0.08888618, 0.11433487, 0.06239832, -0.012561817, -0.09264437, -0.06947361, -0.16703877, -0.05925366, 0.09730988, -0.0374859, -0.21553493) * go_6(-1.0, -1.0); - result += mat4(0.11113043, 0.046659853, -0.03720995, 0.13223019, -0.011127139, 0.045242492, 0.08000568, 0.026173163, -0.028678354, -0.04595475, -0.15907471, -0.061340734, 0.052668605, 0.120637506, 0.06996815, -0.032300867) * go_6(-1.0, 0.0); - result += mat4(-0.015105483, -0.035718217, 0.00565433, -0.0010706359, 0.01237486, -0.09663067, 0.060355566, -0.021619935, -0.0060178936, -0.10208557, 0.09834864, 0.005301487, -0.07065648, -0.0102565205, -0.079897635, -0.07363429) * go_6(-1.0, 1.0); - result += mat4(0.15122332, 0.01300845, 0.14561565, 0.0078122923, -0.07771233, 0.08672449, 0.059209164, 0.10349858, -0.18292949, -0.05491338, 0.037409253, -0.15557477, 0.007851884, -0.15677735, -0.007986883, -0.0820941) * go_6(0.0, -1.0); - result += mat4(-0.02603895, 0.004392774, 0.047779255, 0.030239321, -0.025975157, 0.007981695, -0.026700003, 0.17650554, -0.046760127, -0.12810352, 0.039018054, -0.020153303, -0.26770997, -0.24840021, 0.001749491, 0.13322414) * go_6(0.0, 0.0); - result += mat4(-0.048052143, 0.011061579, 0.048959274, 0.15330704, -0.05367691, 0.031792562, -0.030972287, 0.21764308, 0.07962203, -0.13632339, 0.05333787, 0.08173476, 0.029554084, -0.1607249, -0.14652269, -0.018444933) * go_6(0.0, 1.0); - result += mat4(-0.12028847, 0.11408145, -0.015187711, -0.1066138, 0.04004933, -0.054853894, -0.0002169158, -0.07392162, -0.06662435, 0.012898702, 0.11821237, -0.060647547, 0.10890098, 0.13925953, -0.034129824, -0.16795886) * go_6(1.0, -1.0); - result += mat4(-0.21198411, -0.22841139, 0.064901166, -0.0739707, 0.07579406, 0.13245337, 0.07984324, -0.11958311, 0.23518807, 0.03951031, 0.021313217, -0.039818693, -0.33798328, 0.14691062, -0.1605757, 0.054352395) * go_6(1.0, 0.0); - result += mat4(-0.13351469, 0.0918017, 0.021667097, 0.04695423, 0.1528799, 0.0066435975, 0.14461643, -0.0774705, 0.08538539, 0.029555036, 0.013566671, 0.04881617, -0.047637653, -0.024395077, -0.04682386, 0.024556898) * go_6(1.0, 1.0); - result += mat4(-0.04054251, -0.025060415, 0.13092743, 0.1434454, 0.019325754, -0.03814305, 0.038175087, -0.051956292, 0.107260615, 0.09564158, 0.033044748, 0.08718543, -0.0042597037, -0.08330614, -0.020769762, 0.021718048) * go_7(-1.0, -1.0); - result += mat4(-0.0467152, 0.011650741, 0.06790967, 0.1497807, -0.04228647, 0.0038935265, 0.050139807, -0.04191123, 0.11917793, 0.12565975, -0.09580006, -0.04954582, -0.022617152, 0.14059848, 0.06739387, 0.096524894) * go_7(-1.0, 0.0); - result += mat4(-0.0041557504, 0.14019534, -0.14307663, 0.16510043, -0.045185186, -0.07108944, -0.18530224, 0.0637945, -0.022739004, 0.016600542, -0.15113553, 0.03232497, 0.083305396, 0.030575624, -0.007784604, 0.10224721) * go_7(-1.0, 1.0); - result += mat4(0.13495712, 0.0132012805, 0.023121556, 0.09689293, -0.08771344, 0.13250796, 0.09810855, -0.07780123, -0.11128488, 0.049089704, -0.012155183, -0.01517611, -0.034393515, 0.11343268, 0.07681398, 0.12952201) * go_7(0.0, -1.0); - result += mat4(0.19935279, 0.16451101, -0.2434694, 0.0069289505, 0.099972665, 0.1275684, -0.25808835, -0.042677704, -0.018637422, -0.09171047, 0.010507542, 0.011131679, 0.09246794, -0.0041852095, 0.1290832, -0.07985622) * go_7(0.0, 0.0); - result += mat4(-0.0043436415, -0.15932998, -0.05970676, -0.13369723, 0.09200822, -0.047416117, -0.0073032505, 0.036765452, 0.03029621, -0.017910985, -0.071291275, 0.046770707, -0.07755798, -0.016484965, -0.057681244, 0.1414009) * go_7(0.0, 1.0); - result += mat4(-0.049801152, -0.11666162, -0.06752314, -0.027140377, 0.01744927, -0.015691767, -0.01865074, -0.049655963, -0.054574657, 0.042295195, -0.07221067, -0.04776607, 0.28138685, 0.03619317, 0.05957344, 0.12512729) * go_7(1.0, -1.0); - result += mat4(-0.18367589, -0.13354966, -0.18030748, -0.03868865, -0.13235895, 0.0832158, 0.06149876, 0.15696545, 0.0135377385, -0.029013326, 0.071308985, 0.027590062, -0.0692408, 0.07469874, -0.009006803, -0.028944101) * go_7(1.0, 0.0); - result += mat4(-0.05511066, 0.029652556, -0.034495458, -0.11805021, 0.1400147, 0.05601861, -0.008461109, -0.03828229, -0.010754387, -0.041252054, -0.01032058, -0.01723487, -0.06081277, -0.21858022, -0.086987965, 0.02353611) * go_7(1.0, 1.0); - result += vec4(0.046059743, 0.0101414705, -0.008947391, -0.020016287); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.015272437, -0.059803978, -0.028676871, -0.02191302, 0.09696589, -0.03694334, 0.079412386, -0.09939299, 0.055519488, 0.13914746, -0.06045851, -0.033998977, 0.068030894, 0.22130857, -0.007071924, -0.084617935) * go_0(-1.0, -1.0); - result += mat4(-0.31423712, -0.16286789, -0.19696762, -0.169529, -0.048720174, 0.0645061, -0.121878594, -0.09086406, -0.027578864, -0.12501127, -0.16284546, 0.05864118, -0.059388425, -0.091798484, -0.2045986, 0.008371446) * go_0(-1.0, 0.0); - result += mat4(0.1516353, -0.07816612, 0.06701313, -0.0950027, -0.06908343, -0.017901963, 0.044034127, -0.06375459, 0.0035083925, -0.008009938, -0.1553017, -0.09092037, 0.054205187, -0.07541141, -0.029629523, 0.1302109) * go_0(-1.0, 1.0); - result += mat4(-0.07794453, -0.11150074, 0.07698152, 0.08732758, 0.005230772, 0.14475264, -0.09703018, -0.10291971, 0.105738714, -0.12889017, 0.0348841, 0.13621795, -0.13801111, -0.09004793, 0.114610545, -0.0009902337) * go_0(0.0, -1.0); - result += mat4(-0.13234864, -0.22682235, -0.22653654, 0.008841708, -0.017389977, 0.0007245843, -0.034918804, 0.08006901, 0.06819286, 0.15364736, 0.048638005, 0.032650337, 0.277397, -0.00709555, -0.00092056254, 0.15162739) * go_0(0.0, 0.0); - result += mat4(-0.05169096, 0.21755818, 0.33516932, 0.031588975, -0.14497629, -0.04724443, 0.05017679, 0.07897262, 0.13459034, 0.31124622, 0.017543063, -0.12901956, 0.020066176, 0.035704516, 0.09234457, -0.13252299) * go_0(0.0, 1.0); - result += mat4(-0.079380505, 0.0073481426, -0.06069702, -0.010502408, 0.07515405, -0.116293535, 0.0046105445, 0.009152441, 0.0916981, 0.07103545, 0.021125732, -0.05427634, -0.05110015, -0.009169704, 0.064662114, -0.035349734) * go_0(1.0, -1.0); - result += mat4(0.038265344, -0.09519448, 0.059789244, -0.13617846, -0.061203677, -0.081682116, -0.029475613, 0.1452557, 0.09861209, -0.07015944, -0.05356181, -0.021776738, 0.10369119, -0.07849195, -0.038590387, -0.10154714) * go_0(1.0, 0.0); - result += mat4(0.13858013, 0.17500602, -0.06286432, 0.12322357, -0.020820327, 0.10139774, 0.06707506, -0.045559894, 0.08304632, 0.014706953, -0.031214742, -0.046962608, 0.029041013, 0.116795875, -0.034526866, 0.024736797) * go_0(1.0, 1.0); - result += mat4(-0.15546273, 0.12283236, -0.15851308, -0.15174977, -0.07573153, 0.018088356, 0.050452355, -0.1072712, 0.023415051, -0.083648965, -0.08438857, 0.0037589336, -0.052143987, 0.054112066, 0.068947434, 0.0041476013) * go_1(-1.0, -1.0); - result += mat4(0.11446611, 0.058583263, -0.06733016, -0.0023722851, 0.07993185, -0.023523904, -0.11709358, -0.04045295, 0.011010934, -0.040319018, -0.07934788, -0.13672778, -0.01871028, 0.050461486, 0.009289529, -0.04118888) * go_1(-1.0, 0.0); - result += mat4(0.09812941, -0.05562772, -0.054017413, -0.123784855, 0.001961671, 0.10594461, -0.04178937, 0.039041057, 0.04732996, -0.046621576, -0.02719964, -0.0011114897, -0.01653831, -0.12494121, -0.03380852, -0.016219255) * go_1(-1.0, 1.0); - result += mat4(-0.060704853, 0.07478782, -0.07182519, -0.0042965743, 0.016299726, 0.048351113, -0.01954189, 0.026182631, 0.1213542, -0.03132194, 0.1872669, 0.073706634, -0.2032187, 0.14876659, -0.17023273, -0.2227079) * go_1(0.0, -1.0); - result += mat4(-0.09304609, -0.07197119, -0.05462784, -0.0031730293, -0.279643, -0.04054853, 0.08253801, -0.18801835, -0.007780369, 0.103015654, 0.017752673, -0.33401743, 0.25395665, 0.124612115, 0.17287181, 0.09410012) * go_1(0.0, 0.0); - result += mat4(0.016278468, 0.09776316, -0.018774673, -0.028158069, -0.004626514, -0.089645386, -0.22390373, -0.22903992, 0.08918763, 0.093416885, -0.064013496, -0.020969093, 0.055319004, 0.038180985, -0.024488134, -0.040401362) * go_1(0.0, 1.0); - result += mat4(0.018308487, -0.011729305, -0.09917752, -0.002841483, 0.0599436, 0.016863806, -0.04848376, 0.042487588, 0.03422387, 0.010988273, -0.046248045, 0.016439699, -0.2109331, -0.26634532, 0.09737795, -0.22783673) * go_1(1.0, -1.0); - result += mat4(-0.043874994, 0.057370197, 0.108060665, 0.12056862, 0.04326372, 0.042426717, 0.10711789, 0.18016145, -0.06800899, 0.050411705, 0.062778726, -0.08883587, -0.12963888, -0.26155844, 0.1768527, -0.20759244) * go_1(1.0, 0.0); - result += mat4(-0.029307218, 0.034253594, 0.023449568, 0.10740543, -0.007117891, -0.08609973, -0.070199385, 0.028014658, 0.011849466, -0.103710175, -0.044059474, 0.0910086, -0.0036186902, -0.13148114, 0.11775623, 0.03689876) * go_1(1.0, 1.0); - result += mat4(-0.02930122, -0.028750544, -0.16977385, 0.024588319, 0.06966029, -0.05039873, 0.02433029, 0.008939243, -0.07164926, -0.024791168, -0.042547364, -0.0096171675, 0.026791278, 0.13012235, 0.018013593, -0.05196021) * go_2(-1.0, -1.0); - result += mat4(0.051087376, -0.010833802, -0.025629422, -0.16892247, 0.10266821, -0.08566462, 0.021818671, 0.099710494, 0.052938227, 0.15181173, -0.07044235, 0.006057611, -0.04405104, -0.008049883, -0.02076555, -0.16482745) * go_2(-1.0, 0.0); - result += mat4(0.09891512, 0.008049609, 0.01639775, -0.06643191, 0.017111722, 0.2329798, 0.035799496, 0.010293999, 0.0704336, -0.03576047, 0.023332953, -0.07576646, -0.0014989872, 0.022484222, 0.011937841, -0.04858518) * go_2(-1.0, 1.0); - result += mat4(-0.010375555, -0.29719326, 0.15491869, -0.12884745, 0.1403921, -0.0111622475, -0.040989667, -0.07690612, -0.18047535, -0.085979894, -0.04110178, -0.026867142, -0.116575025, 0.01505097, -0.064706944, 0.0068447054) * go_2(0.0, -1.0); - result += mat4(-0.17111692, -0.14148626, -0.074309886, -0.054845806, -0.12844844, -0.1814628, -0.080664955, 0.08824405, 0.049287837, 0.125754, 0.13574858, 0.22351772, -0.0020951808, 0.05195172, -0.19726871, 0.0040973197) * go_2(0.0, 0.0); - result += mat4(0.019996997, 0.06518832, -0.06759968, -0.07601458, 0.14987434, 0.10496216, -0.05135024, 0.004877606, -0.045061707, -0.037699945, 0.05177059, 0.084363855, 0.046086136, -0.030641818, -0.058476638, 0.08614476) * go_2(0.0, 1.0); - result += mat4(-0.08008592, -0.17577869, 0.2598816, 0.01865104, 0.09420606, -0.027588135, 0.122131534, -0.15293474, 0.058529835, -0.008539355, 0.015938425, 0.050187953, -0.02314343, 0.01624479, 0.00061906216, -0.08660734) * go_2(1.0, -1.0); - result += mat4(-0.09669957, 0.105325714, -0.04216754, 0.4313952, 0.01175941, 0.0064402292, -0.09035242, -4.4676657e-05, -0.09296604, 0.05282715, 0.10292071, 0.058552645, -0.12130569, -0.067147344, -0.03417468, 0.10585223) * go_2(1.0, 0.0); - result += mat4(0.032175943, 0.022815451, -0.11661248, 0.04680869, -0.0039209807, 0.03585509, 0.015391019, -0.012086847, 0.077763, -0.16538106, -0.08112365, -0.047386654, 0.046851672, -0.15512191, 0.12339567, 0.045468587) * go_2(1.0, 1.0); - result += mat4(-0.003045521, 0.011283177, 0.057040576, 0.14315721, -0.033659145, 0.04654075, -0.05798073, 0.016922075, -0.03206714, -0.029252306, 0.0752731, -0.19472761, -0.004521209, -0.008417225, -0.01819342, 0.09594639) * go_3(-1.0, -1.0); - result += mat4(0.023216221, 0.00050637213, 0.093280256, -0.0036191205, -0.099975824, 0.15540068, -0.0005460901, 0.07478613, -0.020638715, -0.11652944, -0.06071933, -0.14358073, -0.037845127, 0.0038647808, -0.07280816, 0.1025985) * go_3(-1.0, 0.0); - result += mat4(-0.10873849, -0.07031447, 0.0056161666, 0.034578577, -0.15001217, 0.017945569, -0.059527688, 0.009716552, -0.10370449, 0.032418504, 0.05663323, 0.10394252, 0.0230122, -0.07451814, 0.12283976, -0.11731048) * go_3(-1.0, 1.0); - result += mat4(0.09558205, -0.082451336, -0.033909228, -0.0067867287, 0.12707525, -0.016118657, -0.18240142, -0.29438785, 0.065717794, -0.16262093, 0.043810308, -0.2857367, 0.11772093, -0.042244613, -0.016529586, -0.0028848667) * go_3(0.0, -1.0); - result += mat4(-0.095545195, -0.14809576, -0.10179922, -0.3241558, -0.29769334, -0.003899532, 0.027323049, -0.17966785, 0.08280068, -0.028337095, 0.15347622, 0.1661956, 0.17435703, -0.115148745, -0.016894776, -0.018672291) * go_3(0.0, 0.0); - result += mat4(-0.16706415, -0.07363752, 0.062359426, 0.13341492, 0.033634063, 0.11740068, 0.18746865, 0.10657675, 0.032304406, 0.09954153, -0.1386874, -0.13592382, 0.029351018, -0.03206953, 0.09523795, 0.06962056) * go_3(0.0, 1.0); - result += mat4(-0.022705866, -0.06569827, -0.091605455, 0.070918486, -0.053591333, 0.061575353, -0.10306779, -0.13712883, -0.070348755, -0.024930507, 0.012275779, -0.20609841, -0.047163837, -0.06799354, -0.01722682, -0.07951833) * go_3(1.0, -1.0); - result += mat4(-0.09951865, -0.089199685, -0.03204326, 0.12676425, 0.017853266, -0.011848084, 0.16991617, 0.14529921, 0.07919947, 0.038282923, -0.16438726, -0.05181831, -0.051588885, 0.17036556, -0.025693918, -0.08663645) * go_3(1.0, 0.0); - result += mat4(0.09096619, -0.042492405, -0.02680967, 0.09422492, -0.03217904, -0.021298975, 0.122680284, 0.003280786, -0.0027162856, 0.32307196, 0.00042480655, -0.04048761, -0.05125339, 0.03318497, -0.017228108, 0.080749124) * go_3(1.0, 1.0); - result += mat4(-0.05089259, -0.0053160666, 0.04031622, 0.0675516, -0.075230755, 0.11064669, -0.16225758, -0.27091557, -0.033630677, 0.077405855, -0.08949044, -0.20493746, -0.08045375, -0.14623162, 0.01690271, 0.09677526) * go_4(-1.0, -1.0); - result += mat4(0.17415513, 0.0070055854, -0.10742436, 0.077625334, -0.046910375, -0.17963062, -0.13546865, -0.008154046, -0.007528051, -0.02987437, -0.02181232, -0.16890126, 0.029016118, -0.10211868, 0.062935695, 0.0028676116) * go_4(-1.0, 0.0); - result += mat4(-0.025289172, 0.20245677, -0.0033883427, 0.0069943997, 0.1960503, -0.104858525, 0.06183405, -0.010476609, -0.065109745, -0.13811804, 0.037909374, -0.027144575, 0.0040317164, 0.035209123, 0.09870678, -0.0479482) * go_4(-1.0, 1.0); - result += mat4(-0.028792664, 0.038431108, 0.014691095, 0.11340496, -0.060376063, -0.079663344, -0.023059526, -0.14558718, -0.14886084, -0.09452481, 0.16099294, -0.09676519, 0.14557302, -0.023548108, -0.04787074, -0.13845164) * go_4(0.0, -1.0); - result += mat4(-0.11922315, -0.17272118, 0.21888684, 0.0006877604, -0.041505255, -0.064750075, 0.17717092, -0.0050328346, 0.08072545, -0.15914737, -0.34404156, -0.12710881, -0.24833426, -0.012279114, -0.0929118, -0.17624308) * go_4(0.0, 0.0); - result += mat4(0.072484106, -0.079038285, -0.12901638, 0.082699366, 0.20412955, -0.114168845, 0.123569965, -0.27721637, -0.08529062, -0.03288879, 0.026492476, 0.19470787, 0.12789781, -0.046228945, 0.030243115, 0.102509424) * go_4(0.0, 1.0); - result += mat4(-0.018162742, 0.026119776, 0.028543998, 0.14580049, -0.031844176, 0.055030007, 0.00784516, -0.0094214855, 0.16610105, -0.13140243, -0.101545244, -0.14765148, 0.046954077, 0.0151733, 0.028250849, -0.016968153) * go_4(1.0, -1.0); - result += mat4(-0.071911104, 0.07253662, -0.0039084554, 0.10001815, -0.0059544197, 0.039695, 0.09711302, 0.12417695, 0.012477504, 0.19828807, 0.08522809, -0.0065681627, 0.030625535, 0.075225085, -0.016773878, 0.0051740888) * go_4(1.0, 0.0); - result += mat4(0.018142365, 0.06312399, 0.020529382, -0.08701831, -0.081653036, -0.020882376, -0.06594719, -0.015883535, -0.09766773, -0.013606815, -0.01932629, 0.14317879, -0.08628326, 0.032843128, -0.03849329, 0.044433527) * go_4(1.0, 1.0); - result += mat4(-0.19906221, -0.019701794, -0.13417694, -0.22192308, 0.12774472, -0.080230385, -0.07713913, -0.018704597, 0.04177193, 0.043377854, -0.004895913, -0.068911865, 0.09720858, 0.09008334, 0.09644683, -0.03094106) * go_5(-1.0, -1.0); - result += mat4(0.06691037, -0.07232021, 0.0880707, -0.1096942, -0.0670756, 0.15671045, 0.012647426, -0.01460337, 0.023473715, 0.25899747, -0.07224047, 0.033385064, -0.08618433, -0.04862091, -0.08293281, 0.086158596) * go_5(-1.0, 0.0); - result += mat4(0.08823607, 0.03869106, -0.023876008, -0.026033832, 0.03230582, -0.1304758, -0.068728656, -0.0057360893, -0.045426574, 0.063521795, -0.01852874, -0.042811543, -0.051053554, 0.03814756, -0.02033012, -0.048743658) * go_5(-1.0, 1.0); - result += mat4(0.015931997, 0.07338466, -0.001379819, -0.04980926, -0.059085526, 0.08673082, 0.06408948, -0.0012361417, -0.17019162, 0.094189726, -0.14372677, 0.004410176, 0.11336311, 0.10751407, -0.08628446, 0.11517482) * go_5(0.0, -1.0); - result += mat4(0.007854747, 0.11453255, 0.16967475, 0.047550052, -0.114481956, 0.08391739, 0.092615105, 0.06488047, 0.08140995, -0.1407751, 0.03324224, -0.02032371, -0.13508326, -0.055251148, -0.18647192, 0.12472472) * go_5(0.0, 0.0); - result += mat4(-0.052146748, 0.09979267, 0.029023444, -0.13495271, -0.0252162, -0.0596912, 0.080368, -0.03177713, 0.02240823, -0.0018220172, 0.015609448, -0.022447577, -0.15107572, -0.109189086, -0.100533925, 0.118836805) * go_5(0.0, 1.0); - result += mat4(0.022925707, -0.06910447, -0.018874725, 0.009468046, -0.14554814, 0.07727692, -0.0047826543, -0.0013009618, -0.07025157, 0.012556721, -0.037335817, 0.035178307, 0.06550488, 0.048649, -0.014515659, 0.06279116) * go_5(1.0, -1.0); - result += mat4(0.03258051, 0.1607996, -0.005463293, 0.027238868, -0.1231972, -0.0771126, -0.046944942, 0.12712134, 0.075969175, -0.09897373, 0.022424594, -0.088259995, 0.114332475, 0.1605132, -0.03992334, -0.00781645) * go_5(1.0, 0.0); - result += mat4(0.0684246, 0.1356707, -0.18023875, -0.04613952, 0.006020655, 0.030828401, -0.042292707, -0.032438643, -0.059692264, 0.04760126, -0.0045480486, 0.019046038, 0.06176289, 0.13285528, -0.023466881, 0.0345628) * go_5(1.0, 1.0); - result += mat4(-0.017516924, 0.04755433, 0.02724948, -0.20600726, -0.04323209, 0.07760261, -0.023362167, 0.08546276, 0.09192108, 0.036733013, 0.13411112, 0.048988055, 0.02760956, 0.02746886, -0.0072430624, 0.01127053) * go_6(-1.0, -1.0); - result += mat4(-0.08310694, -0.1415815, -0.08375172, 0.0363182, -0.081730485, -0.06046439, 0.02982689, 0.08872717, 0.00072316185, -0.14549169, 0.09066894, -0.14281332, 0.16423841, 0.052469682, -0.0067828847, 0.008377004) * go_6(-1.0, 0.0); - result += mat4(-0.13628009, 0.018103965, -0.032083835, 0.12424575, 0.024337478, -0.103213586, -0.13552395, -0.09551738, 0.0420191, 0.10316015, 0.067298695, 0.0035425322, 0.0029188823, -0.053332064, 0.027478272, 0.08300774) * go_6(-1.0, 1.0); - result += mat4(-0.007367251, 0.056404594, -0.048879124, -0.020900933, 0.010486612, 0.07887076, -0.020189175, -0.13583486, 0.13937452, 0.057288323, -0.07264488, -0.01801294, 0.19403873, 0.103872076, -0.14108293, -0.16779351) * go_6(0.0, -1.0); - result += mat4(0.109870814, 0.04083196, 0.19445752, 0.024208639, 0.20810223, -0.088830575, -0.194837, -0.04915425, 0.08709219, -0.06014266, 0.012886667, -0.23102829, -0.17614147, -0.18462501, -0.078888394, -0.085750245) * go_6(0.0, 0.0); - result += mat4(-0.043739304, -0.15343273, -0.004483079, 0.028602215, -0.053307105, 0.03963491, 0.09067442, -0.040540636, 0.005630982, -0.03907181, -0.08252026, -0.255134, 0.036551263, -0.1558265, 0.12722903, -0.018271362) * go_6(0.0, 1.0); - result += mat4(0.100884244, 0.041502595, -0.02924491, 0.0006563439, 0.05856145, -0.0045917677, 0.09798114, 0.089630224, 0.0275624, 0.0553079, -0.055310242, -0.10005074, 0.108301334, 0.035387103, -0.21943197, -0.02148485) * go_6(1.0, -1.0); - result += mat4(0.038974132, 0.07830882, 0.05164519, -0.12069417, 0.05397008, 0.061845202, -0.007274972, 0.058689874, 0.06141266, -0.0424411, -0.05565388, 0.07025662, 0.085278414, 0.047607705, -0.049411476, -0.17264275) * go_6(1.0, 0.0); - result += mat4(0.024846716, 0.011342758, 0.044558752, 0.005749814, -0.0656907, -0.10310058, -0.0502014, 0.10221803, 0.02951027, 0.08945397, 0.075140476, -0.14311805, 0.08085466, 0.13427396, -0.05678222, -0.28819987) * go_6(1.0, 1.0); - result += mat4(0.06705349, -0.018869668, 0.015324304, -0.07764027, -0.10141193, 0.028659642, -0.08375406, 0.005064868, 0.03488706, 0.09525751, -0.10248002, 0.06137774, -0.005868939, 0.006512338, -0.0560103, 0.030272838) * go_7(-1.0, -1.0); - result += mat4(-0.036294904, -0.018521994, -0.03307544, -0.08824787, -0.02880715, 0.009350453, 0.065284535, 0.021653919, 0.015398833, 0.14517242, -0.041406073, 0.12960012, -0.035283025, -0.15387185, 0.043584332, 0.033682194) * go_7(-1.0, 0.0); - result += mat4(0.028819354, 0.06410185, 0.036591727, 0.038817216, 0.046048388, -0.04071045, 0.105549805, -0.019702256, 0.04773352, 0.011951728, 0.024311544, -0.13352196, -0.020938, -0.021588324, -0.069265515, 0.08652285) * go_7(-1.0, 1.0); - result += mat4(-0.22862528, -0.046740018, 0.061469328, -0.020422334, -0.10328232, -0.1077609, 0.12025423, 0.057812545, 0.17792639, 0.012279389, -0.07101039, -0.025944097, -0.086152576, -0.0155693265, 0.083100215, -0.14897798) * go_7(0.0, -1.0); - result += mat4(0.14513083, -0.06021356, 0.049246337, 0.10806752, -0.021607077, -0.07385248, 0.057333313, 0.13416117, -0.06690401, -0.19059011, 0.021498155, -0.03842978, -0.10343301, 0.043801896, 0.10485668, 0.054747216) * go_7(0.0, 0.0); - result += mat4(0.111293696, 0.0013921659, 0.029689424, 0.05060646, -0.06785304, -0.05120073, -0.058148287, -0.054629184, 0.019767666, -0.03841178, -0.047711127, 0.12487687, 0.002752687, 0.0041709486, 0.06040608, 0.04098326) * go_7(0.0, 1.0); - result += mat4(-0.038370624, -0.09880031, 0.027125726, -0.060028706, 0.12887341, 0.07956673, 0.049340174, 0.12674156, 0.108758375, -0.01999054, 0.10093637, 0.05006565, -0.08913735, -0.026908305, 0.0202185, 0.020061754) * go_7(1.0, -1.0); - result += mat4(-0.025420299, 0.038421508, 0.09560932, -0.11508314, 0.0155848935, 0.0347484, -0.008577495, -0.18132563, 0.101311065, 0.10495623, 0.15127939, -0.10312934, 0.019007044, -0.027185634, 0.047117107, -0.016839046) * go_7(1.0, 0.0); - result += mat4(-0.08142026, -0.034331992, -0.029070942, -0.14392552, -0.078249715, 0.15499105, -0.08205064, 0.12780844, -0.020675218, -0.1315328, -0.07152117, 0.029007316, -0.037264626, 0.013577999, -0.03113356, -0.038550116) * go_7(1.0, 1.0); - result += vec4(0.076316014, -0.018089892, -0.012637839, -0.10212818); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.4954155, -0.097350635, 0.2804199, -0.13652386, -0.14972939, 0.19721153, -0.23526497, -0.2423665, 0.12555814, -0.0705443, 0.043938212, 0.19388582, 0.09386085, -0.43720174, 0.29635525, 0.26856044) * g_0; - result += mat4(0.14495872, 0.0610595, -0.20516497, 0.19073643, -0.008849148, 0.08743844, -0.12433487, 0.03215462, -0.01670364, -0.34068078, 0.15872881, -0.27169266, 0.33020407, 0.008234461, -0.12094001, 0.17628567) * g_1; - result += mat4(0.04740511, -0.15941422, 0.124839395, 0.081435576, 0.09804199, 0.058109295, -0.025289856, -0.29283887, -0.1833574, -0.09766394, 0.06008274, 0.05992534, 0.47684956, -0.08688919, -0.02071398, -0.08875196) * g_2; - result += mat4(0.051867574, -0.1671438, -0.015705047, -0.13457336, 0.13484482, -0.06867962, -0.0494534, -0.13416421, 0.031772017, 0.0070866095, 0.011681956, -0.2802077, -0.048953146, -0.0164331, 0.09649591, 0.040060654) * g_3; - result += mat4(-0.4341213, 0.0894957, -0.16301447, 0.18785268, -0.28154027, 0.21622275, 0.22126062, 0.2361705, -0.087688446, 0.38882533, 0.020676106, -0.17769825, -0.18067831, 0.0878923, -0.18052578, 0.009196582) * g_4; - result += mat4(-0.14932597, -0.025830185, -0.07313429, 0.28342503, 0.19499254, 0.122385964, 0.02120492, 0.15144306, -0.23691256, 0.043697022, -0.053712673, 0.2025457, -0.05035754, 0.04117272, 0.12530772, -0.2590774) * g_5; - result += mat4(0.15071404, 0.015031444, 0.24973233, -0.036299556, 0.30665022, 0.15286064, -0.03598529, 0.060580775, 0.10571382, -0.06852027, -0.13089266, -0.33822387, 0.04771977, -0.15371466, -0.14530133, 0.0127773) * g_6; - result += mat4(-0.04100588, 0.080336295, -0.0012170919, -0.18198122, -0.12988265, 0.11356896, 0.21294571, -0.080107085, -0.1408792, -0.24597132, 0.046940666, -0.029645668, 0.1568284, -0.07500836, -0.13504413, -0.17453668) * g_7; - result += mat4(0.38996047, -0.027129678, 0.2774081, 0.11160041, 0.2672792, -0.09991047, -0.1424887, -0.12418898, 0.15399674, -0.0089404015, 0.2265917, -0.08212792, 0.25704643, -0.013109098, -0.31268027, 0.10123544) * g_8; - result += mat4(0.033000022, 0.15843867, -0.21515252, -0.046294916, -0.35692936, 0.08798134, 0.23537703, 0.0043003275, -0.1383531, 0.1972939, -0.2003098, 0.1543574, 0.053583264, 0.29797947, 0.13025342, 0.038611986) * g_9; - result += mat4(0.10687409, 0.077787064, 0.27379388, 0.13262683, -0.23440802, 0.1360886, -0.20802121, 0.06401844, 0.26749787, 0.29900748, -0.04572612, 0.3015703, -0.3005316, 0.16046184, -0.0419697, -0.23878895) * g_10; - result += mat4(-0.063034855, 0.07657174, -0.17484638, 0.07603076, -0.06233915, -0.11565521, 0.02205211, -0.025715057, 0.102525316, 0.044643577, 0.112743095, -0.08565946, -0.121290885, -0.1572643, 0.19650643, -0.13887478) * g_11; - result += mat4(-0.36125946, -0.1215746, 0.15642375, 0.26731244, 0.24759081, 0.1720814, 0.3640398, -0.32403925, -0.06189445, 0.23764968, -0.02306858, 0.17816281, -0.06804958, 0.06811998, -0.07474977, 0.24738653) * g_12; - result += mat4(0.054465637, 0.057861228, 0.059370693, -0.12227704, -0.024842938, -0.10762688, -0.13456275, 0.10306674, 0.058080807, -0.3396897, -0.08585732, 0.016198207, -0.09374, 0.3309844, 0.00036378333, -0.16453783) * g_13; - result += vec4(0.016481666, 0.009086331, -0.036633138, 0.0041078017); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.3210504, -0.13668466, 0.20637684, 0.0037060305, -0.2674051, -0.11230086, 0.29947895, 0.093965776, -0.08801977, 0.23411755, -0.00690265, 0.22540577, 0.3496324, -0.07614303, -0.2682172, -0.18024528) * g_0; - result += mat4(-0.12103706, -0.061189037, 0.019804776, 0.31127328, -0.36069378, 0.213189, 0.22896592, 0.008048813, -0.021931307, 0.3776008, 0.04475082, 0.08132412, 0.12560965, -0.12159681, 0.012501785, -0.3363862) * g_1; - result += mat4(-0.2294047, 0.038059004, 0.21087843, 0.037582193, -0.026122637, 0.28849372, 0.24839666, 0.13881797, -0.29496697, -0.17923991, 0.024531588, -0.06418792, 0.015839651, 0.12997966, 0.23888347, -0.1048919) * g_2; - result += mat4(-0.18445078, 0.025115933, 0.08433517, -0.22597772, -0.12536137, 0.21140383, -0.030371241, 0.036926106, 0.19343626, -0.0041754777, 0.00244178, 0.021117657, 0.26237983, 0.22308359, 0.2492868, -0.24042289) * g_3; - result += mat4(0.22000861, 0.08476075, 0.11643673, 0.15832588, 0.03325583, 0.24106406, 0.2292178, -0.2764258, -0.06348522, 0.17427239, 0.16678956, 0.17231269, -0.0872214, -0.0135706505, -0.06671483, -0.07503989) * g_4; - result += mat4(-0.30087617, 0.3176826, -0.31664857, -0.101466715, 0.073069066, 0.0038022113, -0.13776854, 0.10784852, 0.02954845, -0.24216515, -0.19634016, 0.022595271, -0.17444247, 0.17016955, -0.07563684, 0.20474768) * g_5; - result += mat4(-0.27660307, -0.07230632, -0.09617381, 0.21262856, 0.11049351, 0.050447285, -0.3273503, 0.05641904, -0.042776052, -0.17620195, -0.06274188, 0.039536018, -0.070038274, 0.20343757, 0.08803773, 0.009139854) * g_6; - result += mat4(0.24007742, -0.13485539, -0.3781107, 0.027324034, 0.010332106, 0.08556457, -0.2392748, -0.13601078, -0.19836703, 0.022715727, -0.016411083, -0.17756946, -0.14373688, 0.020681657, 0.05082997, -0.14939624) * g_7; - result += mat4(0.28352678, 0.20785898, -0.15538763, 0.04196249, 0.19792412, -0.24451323, 0.04824567, -0.1365707, 0.19390641, -0.061393958, -0.25272602, 0.0045554833, -0.21719287, -0.08406589, -0.048988152, 0.05259591) * g_8; - result += mat4(-0.10792345, -0.29639974, 0.21581274, 0.029042492, -0.28554165, 0.10910743, 0.07680131, -0.13153972, 0.14755669, 0.0854899, 0.24539046, 0.08502808, 0.22990887, 0.15149027, 0.23587988, -0.09517703) * g_9; - result += mat4(0.15912442, -0.34394726, 0.34174097, 0.25116822, -0.24741888, 0.37633938, -0.08430594, 0.2769256, -0.03159722, 0.05234807, 0.029541405, -0.1266574, -0.122047566, -0.16540837, 0.2679574, -0.23974617) * g_10; - result += mat4(-0.10200111, -0.11974673, -0.0079962695, -0.39264813, -0.006873918, -0.23566915, 0.13980511, -0.070295505, 0.12384241, 0.09101257, -0.04413333, -0.112293474, -0.27065778, 0.03445708, 0.16511594, 0.37050763) * g_11; - result += mat4(-0.096395366, 0.06278703, -0.09479416, -0.488774, -0.09141473, 0.12217416, -0.11785924, -0.22766003, 0.16063516, 0.00020897393, 0.3078544, 0.18561389, -0.15621823, -0.13971844, 0.020068014, 0.013216665) * g_12; - result += mat4(0.12522821, 0.0046115327, -0.007866688, -0.22109744, 0.2225005, -0.051918246, 0.11966214, -0.119629785, 0.2925202, -0.26889777, -0.3189588, -0.24831142, -0.036346573, 0.047227684, 0.1266368, 0.1058624) * g_13; - result += vec4(0.020081282, -0.013928095, 0.0059036794, 0.08544713); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.056797255, -0.032698087, 0.029859383, 0.12932985, -0.31103006, 0.09165681, -0.15708402, 0.38043964, -0.13528557, 0.2859556, 0.14288856, 0.13102476, -0.08694984, -0.11780176, 0.16207103, -0.11293293) * g_0; - result += mat4(-0.008796308, 0.118975446, -0.081319205, 0.2084897, 0.08794772, 0.10214503, -0.08378455, -0.10624162, 0.05444449, 0.22647963, -0.12047645, 0.10406878, -0.031486277, 0.045164254, 0.47999045, -0.18060975) * g_1; - result += mat4(-0.0077636116, 0.05870985, 0.24050762, 0.31322572, 0.08778678, 0.14943774, 0.050537623, -0.102939114, 0.3195675, -0.14615574, -0.26218277, -0.25581908, -0.0019809192, -0.03835245, 0.031318333, -0.1428093) * g_2; - result += mat4(0.11256259, -0.19089468, -0.06846508, 0.033907987, -0.35249296, -0.06160221, 0.27247807, -0.048603278, 0.040144738, -0.0032360333, -0.2515736, 0.43086162, -0.055536952, -0.11406552, 0.382992, 0.27862927) * g_3; - result += mat4(-0.03384886, 0.10702642, 0.003908078, -0.009494176, 0.2838821, -0.12845019, 0.12637386, 0.19460931, -0.034333568, 0.012672623, 0.21387313, 0.15411916, 0.14327122, -0.1352761, -0.2997244, -0.017908785) * g_4; - result += mat4(-0.29253754, 0.33169383, 0.0082393335, -0.20709762, 0.2854362, -0.20728073, -0.22790352, 0.09301863, 0.13168077, -0.07411445, 0.09350424, -0.046449713, -0.11836855, -0.30250466, -0.13257061, 0.3576938) * g_5; - result += mat4(-0.13777697, 0.056764964, -0.36749512, 0.04235051, -0.041132767, -0.16603513, -0.023862578, -0.014339848, -0.38274148, 0.28778306, 0.15228234, 0.20225881, -0.02469988, -0.101541154, 0.26388898, -0.20009927) * g_6; - result += mat4(0.15456057, 0.27760306, -0.06929698, -0.24072653, 0.1415152, -0.1549776, 0.030720191, -0.0019005954, -0.06598489, -0.11686977, 0.12704816, -0.30917537, -0.14339961, 0.12742354, -0.23345275, -0.3419119) * g_7; - result += mat4(0.18928154, -0.19353028, -0.15966406, -0.19417015, 0.10313398, 0.0046505663, 0.21482769, -0.23275238, -0.20456892, -0.5014606, -0.10783419, 0.25891942, -0.24919175, -0.10028775, -0.2961402, 0.077766955) * g_8; - result += mat4(-0.085105784, 0.06528528, 0.102185756, 0.099264726, -0.00020144526, -0.08768721, -0.09324967, 0.30346313, -0.084492646, -0.14017163, -0.043167874, -0.20060216, 0.09593379, 0.28399333, 0.08168489, -0.33063418) * g_9; - result += mat4(0.15791257, 0.057779472, -0.20147012, 0.07967618, 0.04262509, 0.039220728, -0.15080509, 0.17438835, -0.044964172, -0.14530478, 0.31693324, 0.08582341, -0.1061789, 0.2800015, 0.33440664, 0.09700403) * g_10; - result += mat4(-0.14642169, -0.07778901, 0.13264288, -0.24182376, 0.23503877, 0.005028356, -0.30113846, 0.22778516, -0.1648793, -0.033169918, -0.20036162, -0.35071707, -0.06705746, 0.12431054, -0.022009062, -0.07124459) * g_11; - result += mat4(0.06766408, 0.09030523, 0.22668982, -0.38617492, -0.10099634, -0.029897379, 0.24775109, -0.20888264, 0.056208886, 0.0044284128, 0.16691649, 0.22874106, 0.0038740179, -0.07576401, 0.27207628, 0.11311432) * g_12; - result += mat4(-0.11319886, -0.3020603, 0.08133381, 0.19350809, 0.032002088, -0.038216423, -0.12224599, 0.08397432, 0.021123007, 0.075326644, 0.29643238, 0.20064169, 0.042381126, -0.002854783, -0.027586436, -0.06968597) * g_13; - result += vec4(0.038540784, 0.053720564, 0.012191528, -0.029126916); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf3 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.014542811, -0.1261262, 0.17474864, -0.18425815, -0.3337646, 0.14748253, 0.09152566, 0.2310806, -0.06578738, -0.3566174, -0.22862534, 0.15323487, 0.01515519, 0.26764703, -0.13214609, 0.09887451) * g_0; - result += mat4(0.19941364, 0.015275053, -0.022320624, 0.020372959, -0.10664179, -0.28493354, 0.014191545, 0.12122301, -0.045194257, -0.22491856, -0.071520865, -0.020854274, 0.13432617, 0.25484133, 0.018084215, -0.06713652) * g_1; - result += mat4(0.017183261, -0.056154247, 0.13298456, -0.07631693, 0.18904336, -0.41949302, 0.14992298, 0.11840105, 0.13420148, 0.029390668, 0.017888589, -0.1975919, 0.22601372, -0.061724294, 0.12116033, -0.19753963) * g_2; - result += mat4(0.020371309, 0.21103396, 0.034326386, -0.23044631, 0.12982637, -0.14810205, -0.23559897, -0.2222485, 0.18240234, -0.17697355, -0.11639408, -0.08132961, 0.039377302, 0.07299684, 0.094041504, -0.13445067) * g_3; - result += mat4(-0.3512728, 0.09182307, -0.2731474, -0.20885572, 0.07993976, 0.23121795, 0.15620309, 0.3383141, -0.28460538, 0.12850872, 0.1916648, 0.13205391, 0.14932914, 0.041017998, -0.17976354, -0.0014468295) * g_4; - result += mat4(-0.069909975, -0.23581205, 0.11732144, 0.35232806, 0.3549401, -0.2124837, 0.10403375, -0.09976183, 0.1178997, 0.09910817, 0.061140217, 0.18059346, -0.48723674, 0.037783384, 0.109662086, 0.15543982) * g_5; - result += mat4(0.11262317, -0.12212692, -0.14394115, 0.15909098, 0.22035566, 0.06488609, -0.2719919, -0.05028129, -0.21462728, 0.17861556, -0.023895046, -0.060819868, -0.17524192, -0.042733762, 0.142835, 0.2747072) * g_6; - result += mat4(-0.034566112, -0.18427409, 0.09579439, -0.16909808, 0.052964725, -0.058238853, 0.33444786, -0.20727915, -0.31497413, -0.11388015, 0.13721034, 0.19388893, -0.21066165, -0.14097935, 0.030426605, 0.110704474) * g_7; - result += mat4(0.094303906, -0.23499818, -0.43609008, 0.21279193, 0.39544016, 0.19924188, -0.07611524, 0.012560389, -0.08812965, -0.13701713, 0.01677176, -0.29865423, -0.06948771, 0.14918856, 0.1985359, 0.3003729) * g_8; - result += mat4(0.014332535, -0.021538176, 0.20930877, -0.029769948, -0.06551115, 0.11966418, -0.08329082, 0.049386136, 0.08940004, 0.16989197, 0.06084547, 0.13855645, -0.10395637, -0.27498555, -0.19077462, 0.043506) * g_9; - result += mat4(-0.31060696, 0.047150746, 0.22204353, 0.31374148, 0.06301296, -0.007103609, -0.2580888, -0.07127509, 0.11478869, 0.094191864, 0.21567936, -0.06297016, 0.06925183, -0.023501558, 0.16371831, 0.2506513) * g_10; - result += mat4(0.07425674, 0.012622665, 0.02251264, -0.0731929, -0.008055616, 0.09563007, 0.063964136, 0.24579796, -0.30710867, 0.13981472, 0.025152119, -0.11285761, -0.4419823, -0.026953885, 0.14130811, -0.22058487) * g_11; - result += mat4(-0.04211301, -0.17002018, -0.13325875, 0.20184138, 0.09686255, 0.054461457, 0.16713423, -0.031002847, -0.26473212, 0.11992785, 0.04697473, 0.051042553, 0.17835025, -0.12469087, -0.3201284, -0.088562444) * g_12; - result += mat4(0.13638292, -0.033149652, -0.19838256, -0.09581218, 0.0060164076, 0.42301872, -0.07126564, -0.10523957, 0.16030665, -0.20535246, -0.14773448, -0.015409135, -0.24350728, 0.23187117, 0.0220223, -0.039217964) * g_13; - result += vec4(-0.011449135, -0.002830778, 0.09782809, -0.0067631872); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08278094, -0.06729527, 0.031399664, -0.092175096, -0.09598525, 0.0692705, 0.07357648, 0.01260903, 0.045900777, 0.038010124, 0.15354258, -0.047163863, -0.043397132, -0.12536208, 0.02847729, -0.013675385) * go_0(-1.0, -1.0); - result += mat4(0.06463816, -0.17011416, -0.072270736, -0.00077445264, 0.05667064, 0.19799162, 0.026234929, -0.108368374, 0.11948396, -0.015124027, -0.05998398, -0.003967303, -0.03935485, -0.12709956, -0.022918347, 0.030837826) * go_0(-1.0, 0.0); - result += mat4(0.016932894, -0.124500565, 0.038753737, -0.053246994, -0.011897654, 0.06793573, 0.009754347, 0.093742564, -0.0022504984, -0.10328963, -0.041577645, 0.12853336, -0.0019680248, -0.06569624, -0.00980168, 0.07412545) * go_0(-1.0, 1.0); - result += mat4(-0.011991195, -0.14135748, 0.022438431, -0.08267288, -0.102458276, -0.06054887, 0.0740161, -0.22415951, -0.10556297, 0.067763075, -0.0012128456, -0.08078541, 0.037686612, -0.05131911, -0.077715784, -0.10292683) * go_0(0.0, -1.0); - result += mat4(-0.03901934, -0.025878599, -0.0039180447, -0.011033788, 0.08859326, 0.08883106, 0.06486116, 0.022174777, -0.017150419, 0.003371806, 0.14988162, -0.015397375, -0.22962348, 0.13905591, 0.0304279, 0.05778632) * go_0(0.0, 0.0); - result += mat4(-0.036198925, 0.010353016, 0.18139736, -0.030242506, 0.013582345, -0.1253235, 0.10521855, 0.08867587, -0.08140836, 0.05626297, 0.060417447, 0.023256533, -0.08408929, -0.050643906, -0.044822842, -0.03461039) * go_0(0.0, 1.0); - result += mat4(0.051602095, -0.0035041904, -0.08575373, 0.037096065, 0.07106982, 0.16974165, 0.035875358, -0.10185968, -0.061462298, 0.055281874, -0.10975635, 0.060814563, 0.19476666, -0.08311511, -0.090538144, -0.029539565) * go_0(1.0, -1.0); - result += mat4(-0.11952374, 0.026727766, 0.084769025, 0.12317156, 0.010292374, -0.004846773, -0.00056787115, -0.0043771397, -0.09487309, -0.067313395, -0.091773935, 0.024257664, 0.06091223, -0.06471365, -0.1844986, -0.0070593283) * go_0(1.0, 0.0); - result += mat4(-0.0129227275, -0.07383303, -0.094597906, 0.027363284, 0.12854053, 0.029074714, 0.17636952, 0.009017012, -0.11885556, 0.021179812, 0.032750517, -0.10665486, -0.117322296, 0.15855946, -0.042696536, -0.034112938) * go_0(1.0, 1.0); - result += mat4(-0.18735315, -0.0383124, 0.08355156, 0.0009654472, -0.027351197, -0.11594707, -0.11390738, -0.073805965, 0.016577588, -0.041749846, 0.095151775, -0.013978341, -0.045601666, 0.028430155, 0.044656575, 0.026988927) * go_1(-1.0, -1.0); - result += mat4(0.038661715, -0.033163723, 0.051213194, -0.017374616, -0.045903623, -0.15435313, -0.21136428, -0.085471176, 0.033464145, -0.1568745, 0.025762582, -0.1323702, -0.076927684, 0.082414575, -0.007401752, -0.010405403) * go_1(-1.0, 0.0); - result += mat4(0.12922324, -0.045166656, -0.119287744, -0.04893617, -0.16573387, 0.10323662, -0.10845215, -0.08680144, 0.053727087, -0.099716894, -0.12107649, -0.035701852, -0.10188255, -0.1050426, -0.11734088, 0.012192005) * go_1(-1.0, 1.0); - result += mat4(0.010157501, -0.028124793, -0.23867199, 0.028386971, -0.05079922, 0.14048165, 0.12307385, 0.04237863, -0.09109179, -0.12844259, 0.12961523, 0.11307605, -0.0037782195, 0.12505195, -0.033914108, 0.15617172) * go_1(0.0, -1.0); - result += mat4(-0.05588651, 0.20299816, -0.04803554, 0.07680136, -0.07316037, 0.11256523, 0.021389104, 0.06444092, -0.033678472, -0.1238879, 0.32729727, 0.1160183, 0.24852078, 0.09187297, 0.030721879, -0.17204261) * go_1(0.0, 0.0); - result += mat4(-0.1090884, -0.08179965, 0.012365602, 0.0023614678, 0.047255266, -0.011425142, 0.050309908, 0.020743, 0.011185459, -0.0783444, -0.10389257, 0.15164678, -0.09860278, 0.2308804, 0.14304534, -0.023106692) * go_1(0.0, 1.0); - result += mat4(0.13734475, 0.028718147, 0.012539987, -0.14427094, 0.18098259, 0.042366285, -0.0006354639, -0.033402618, -0.08078463, -0.036856003, -0.09954893, 0.08161202, -0.0700716, -0.1013236, 0.14824523, 0.01243695) * go_1(1.0, -1.0); - result += mat4(-0.052275825, 0.013260194, 0.008599061, 0.048557945, -0.01833292, 0.07512356, -0.13110496, -0.1584473, -0.05318785, 0.15830933, -0.06464659, -0.12064129, 0.02371888, 0.016303185, 0.19887853, 0.18558335) * go_1(1.0, 0.0); - result += mat4(0.032500263, 0.03570767, -0.015267871, 0.02510295, -0.16201164, -0.033186425, 0.13611977, 0.004775358, -0.020494966, 0.015229924, 0.09721559, -0.008303934, 0.20763409, 0.052391976, -0.074661806, 0.028839186) * go_1(1.0, 1.0); - result += mat4(-0.06636867, -0.04612264, -0.05086471, 0.039922826, -0.11093169, 0.049438246, 0.11703952, -0.22848104, 0.06390542, 0.19045272, -0.039848838, 0.020837499, 0.0740839, 0.07413691, 0.0029493799, -0.006748913) * go_2(-1.0, -1.0); - result += mat4(-0.031790916, -0.03261483, 0.03141088, -0.06491077, -0.0059831943, 0.056244142, -0.092812866, 0.06591125, 0.05781488, 0.06261082, -0.15501937, 0.1827671, -0.0065676877, -0.0029327788, -0.10061289, 0.001621177) * go_2(-1.0, 0.0); - result += mat4(-0.021516185, -0.035738394, 0.02173596, -0.09346334, -0.024093078, 0.20837367, -0.19447315, -0.106595434, 0.1764288, 0.10132692, -0.20130908, 0.0020316292, 0.088547304, -0.14616993, -0.004568217, -0.05189275) * go_2(-1.0, 1.0); - result += mat4(0.1434771, 0.16794604, 0.049545784, -0.14729089, -0.09666416, 0.021916742, -0.16318898, 0.005039905, -0.014329562, -0.14026406, 0.04786338, 0.032467626, -0.040357247, -0.036503237, 0.066264, 0.044725385) * go_2(0.0, -1.0); - result += mat4(-0.044699024, 0.2657712, -0.045145772, 0.023147859, -0.007385799, 0.054834887, 0.0045836456, -0.14960848, 0.021600831, -0.080300994, 0.23189497, 0.16937429, 0.15613528, 0.07286254, 0.07573354, -0.09220955) * go_2(0.0, 0.0); - result += mat4(-0.118413486, 0.116047636, 0.04855291, 0.17476392, 0.18554908, -0.1393284, -0.26401383, -0.12099436, 0.39432368, 0.06991714, -0.23502299, 0.09135091, -0.0004467319, 0.18719012, -0.06892029, -0.049125932) * go_2(0.0, 1.0); - result += mat4(-0.04694353, 0.05887831, 0.051786385, 0.09872501, 0.016071057, 0.0675272, -0.07588389, 0.08099156, -0.08351224, 0.028720237, -0.18468943, -0.064417, 0.02897887, -0.02838868, -0.0051516593, 0.020160142) * go_2(1.0, -1.0); - result += mat4(0.06967655, -0.10119048, -0.07461322, 0.046589576, -0.07417147, -0.27599525, -0.14567149, -0.018966913, -0.0080859475, 0.097926416, -0.004793609, -0.0238407, 0.13844706, 0.052965965, 0.18324359, -0.07171396) * go_2(1.0, 0.0); - result += mat4(0.09684431, 0.07697054, 0.07467197, 0.0841034, -0.03485726, -0.19047433, -0.13606454, -0.14253993, 0.0042300713, 0.12028247, 0.0343525, 0.15145339, 0.047937512, -0.019340659, 0.043160856, 0.1289243) * go_2(1.0, 1.0); - result += mat4(-0.026626844, -0.012561339, -0.09748627, -0.054832272, -0.0049458332, -0.034060504, 0.013348937, -0.17650189, -0.003711293, 0.22327754, 0.0058838148, -0.08777391, -0.02241254, 0.06661738, 0.056674536, 0.15060939) * go_3(-1.0, -1.0); - result += mat4(0.057583887, -0.096711345, -0.13132288, 0.04828797, 0.18810083, -0.010919861, -0.03167035, 0.054168098, -0.07418671, 0.007635684, -0.12464779, -0.087896496, -0.11705839, 0.15784474, -0.05894365, 0.00985668) * go_3(-1.0, 0.0); - result += mat4(0.04880203, 0.15284486, -0.07269711, 0.06278638, 0.0020699063, -0.10799795, 0.011133507, -0.07771604, 0.055557128, -0.06618517, -0.09253136, -0.029467167, -0.09276546, 0.04678591, 0.051960696, 0.103199065) * go_3(-1.0, 1.0); - result += mat4(0.080728024, 0.12400965, -0.03501919, 0.035573788, 0.19680372, -0.021293646, 0.14413169, -0.1221883, -0.03054547, 0.030825824, 0.11822608, 0.076860145, 0.111504436, 0.08573583, -0.045738664, 0.13754657) * go_3(0.0, -1.0); - result += mat4(-0.20742206, 0.1834124, 0.06952014, -0.16472295, 0.34194514, -0.015351303, 0.011443411, -0.02556704, 0.0299547, -0.14608088, 0.10182188, 0.07452315, 0.12299894, -0.066409536, 0.11641269, 0.0396994) * go_3(0.0, 0.0); - result += mat4(-0.038516127, -0.12653664, -0.101806566, -0.21038078, 0.21433663, -0.068815336, 0.0032489449, -0.016478453, -0.053524405, -0.14795046, -0.109093994, -0.12870269, -0.002630448, -0.06801728, 0.14639665, -0.06822433) * go_3(0.0, 1.0); - result += mat4(-0.07080211, -0.040826853, -0.033220325, -0.059183825, 0.04329672, 0.063708104, -0.035263177, -0.0458802, -0.02008796, -0.049146526, 0.089134075, 0.03859085, -0.045549996, 0.029697193, 0.15034728, -0.0018817111) * go_3(1.0, -1.0); - result += mat4(0.039675616, 0.018654805, 0.13472396, -0.10085893, 0.10066916, -0.08033906, 0.018985836, 0.1816522, -0.018084701, -0.10209158, 0.0449365, 0.09099806, -0.020470351, -0.06829825, -0.014519299, -0.00509428) * go_3(1.0, 0.0); - result += mat4(-0.15741396, 0.05455757, 0.117732294, -0.057458114, -0.114514634, -0.094042346, -0.17771651, -0.061140526, -0.060833562, 0.10035822, 0.06124312, -0.06661064, -0.0018217589, 0.038015686, 0.01619762, 0.052612346) * go_3(1.0, 1.0); - result += mat4(-0.046267886, 0.027238147, -0.081795394, -0.09895906, 0.05681646, -0.18517537, 0.12982327, 0.1463164, -0.20571908, -0.0044081192, -0.07597679, 0.06798806, -0.024998685, -0.105057, 0.020142943, -0.04110074) * go_4(-1.0, -1.0); - result += mat4(-0.07359837, 0.08834078, -0.07412248, -0.12616368, 0.0115964, -0.04456031, 0.008991023, -0.015968446, -0.043489736, 0.14576635, 0.13684048, 0.15739883, 0.05994394, 0.11297449, 0.12657966, -0.059943344) * go_4(-1.0, 0.0); - result += mat4(-0.17568645, 0.11484936, 0.062251553, -0.15136053, 0.29049096, 0.0024718787, 0.121878795, -0.009670675, -0.19996215, 0.029120186, 0.12848198, 0.076529734, 0.011830436, 0.1576248, -0.12900768, -0.05310298) * go_4(-1.0, 1.0); - result += mat4(-0.06142374, -0.17815915, 0.00058353646, -0.0667871, 0.0668762, -0.29092032, 0.23282619, -0.010448164, 0.05979426, 0.08196557, 0.111800365, 0.1558172, -0.010005564, 0.075883746, -0.040655583, 0.0051063546) * go_4(0.0, -1.0); - result += mat4(-0.0077534625, -0.14138709, 0.010493417, -0.15145995, -0.09795836, 0.106897555, 0.26405326, 0.07498084, -0.15466009, -0.19128636, 0.15841517, 0.054464955, 0.031502593, -0.09426758, 0.22110905, -0.00015192994) * go_4(0.0, 0.0); - result += mat4(-0.35819224, -0.10807826, 0.06658498, -0.10841418, 0.09475472, 0.13453954, -0.013960625, -0.009735592, 0.038927417, 0.13535383, 0.033521585, -0.094346955, -0.019520368, 0.06643515, -0.07618614, -0.07051688) * go_4(0.0, 1.0); - result += mat4(-0.055401906, -0.037381615, 0.041573223, -0.14800537, -0.1526917, 0.050005253, -0.049910907, 0.047916252, 0.034644917, -0.14797066, 0.046542633, -0.07104987, -0.026582243, 0.15330225, 0.2227041, 0.19780077) * go_4(1.0, -1.0); - result += mat4(0.003628358, -0.059674487, -0.21862231, -0.1362011, 0.016803924, 0.20197828, 0.18969901, 0.09246762, 0.027481126, -0.019240722, -0.061361928, 0.1739253, 0.01544318, -0.11393152, 0.047847472, 0.11922861) * go_4(1.0, 0.0); - result += mat4(-0.16246219, -0.12184918, 0.02492925, -0.035550725, 0.03243216, -0.0061611524, 0.06504156, 0.12337497, -0.03740865, 0.2711029, 0.19475599, 0.0069879107, -0.04362148, -0.002894425, -0.08314916, -0.25339) * go_4(1.0, 1.0); - result += mat4(0.06639268, 0.1226432, -0.114832185, 0.070980854, -0.0730899, 0.057009514, 0.046833325, -0.067606986, -0.09919963, -0.37281474, -0.017902378, 0.063805416, 0.08555195, 0.048291102, -0.020758439, -0.027784465) * go_5(-1.0, -1.0); - result += mat4(0.013405216, -0.14713968, -0.10929318, -0.024524782, -0.19179231, 0.005229531, -0.035046607, -0.03029374, 0.12758893, -0.06695983, -0.16914585, -0.02630946, -0.05946738, 0.0141625535, -0.08066392, -0.0039679087) * go_5(-1.0, 0.0); - result += mat4(-0.081084944, 0.16825265, 0.057608504, 0.015340001, 0.03824054, -0.10183542, 0.0990391, 0.101068445, -0.0107377535, 0.028140228, 0.1429819, -0.016266476, -0.117353275, -0.18448253, 0.18239972, 0.14592138) * go_5(-1.0, 1.0); - result += mat4(0.022838028, -0.13077143, 0.020248974, -0.055619814, 0.36748004, -0.25471938, 0.22140662, 0.037865274, 0.043932404, 0.055467438, 0.01949179, -0.17188439, -0.029154088, 0.07582445, 0.2514083, 0.017520098) * go_5(0.0, -1.0); - result += mat4(0.24249633, -0.015670802, 0.10350504, 0.10091157, 0.073665835, 0.154068, -0.13934352, 0.034722574, -0.14473338, 0.16642897, 0.14154346, 0.19300297, -0.15170477, 0.17405164, 0.0993315, 0.082411245) * go_5(0.0, 0.0); - result += mat4(0.120236054, 0.04393166, -0.1274564, -0.14343578, -0.17841624, 0.14795913, 0.1327008, 0.04306565, 0.03820121, 0.036950663, -0.09966917, 0.1561982, 0.15704241, 0.010505043, -0.059078265, 0.17782433) * go_5(0.0, 1.0); - result += mat4(0.015989952, -0.10346438, 0.01477996, 0.01381734, -0.0020046702, -0.08296894, 0.030247187, -0.06902144, -0.033283636, 0.08230534, 0.2041918, -0.017593132, -0.05823506, -0.06271958, 0.057211872, 0.16528864) * go_5(1.0, -1.0); - result += mat4(0.15105817, 0.08504043, -0.14911468, -0.19373105, 0.077416345, -0.07362624, -0.14520273, -0.117083244, -0.098855175, -0.11546281, 0.2013104, -0.09206118, 0.049059115, -0.03629559, 0.071217075, 0.1291613) * go_5(1.0, 0.0); - result += mat4(-0.03957678, -0.12520507, -0.045303326, -0.11613586, 0.16313192, 0.072967835, 0.025449362, 0.01722513, -0.055758182, -0.043600183, -0.02403487, -0.031192053, 0.14819577, -0.051370014, -0.14941072, 0.034644872) * go_5(1.0, 1.0); - result += mat4(-0.073024414, 0.02202545, 0.09309926, -0.06473012, -0.091724865, 0.05130679, -0.015425844, 0.021199657, 0.08321363, 0.077499814, -0.12684996, 0.11093035, -0.0031282227, -0.16674936, -0.037387174, 0.051467184) * go_6(-1.0, -1.0); - result += mat4(-0.02690489, -0.010381964, 0.104083754, -0.026472932, -0.28350607, 0.09717675, 0.040012196, -0.025573855, 0.14496754, 0.043652393, 0.066548236, -0.13428038, 0.05158042, 0.029492611, 0.06677995, -0.09331364) * go_6(-1.0, 0.0); - result += mat4(-0.008557023, 0.053805478, 0.14596899, 0.14682902, -0.1280871, -0.12252611, -0.1342184, -0.09569089, 0.04287121, 0.14218418, -0.01535556, 0.14128487, 0.07601873, 0.062792934, 0.17843449, 0.0013233593) * go_6(-1.0, 1.0); - result += mat4(-0.03626641, -0.086798765, 0.111303665, 0.084100485, -0.034761395, -0.1768037, 0.06328535, -0.056683894, 0.04654289, 0.17042455, 0.010163501, 0.04580083, 0.163605, 0.06626728, -0.08693581, -0.27529544) * go_6(0.0, -1.0); - result += mat4(0.07475657, -0.010114883, 0.13548818, 0.05231574, -0.04789571, -0.20014645, -0.13627432, -0.08317294, 0.18127209, 0.1864717, 0.101762116, -0.14188983, -0.19037981, -0.034903, 0.06820425, 0.06638825) * go_6(0.0, 0.0); - result += mat4(0.0842221, -0.080642395, 0.07986916, 0.09827023, 0.005293987, -0.23334707, -0.021650719, -0.1095129, 0.13535668, 0.062001623, 0.14404789, 0.22836635, 0.013712175, -0.03593151, -0.107020594, 0.106728524) * go_6(0.0, 1.0); - result += mat4(-0.0025111288, -0.02401042, 0.10017584, -0.0787389, -0.05934919, -0.003888015, -0.15397097, -0.118789256, 0.1755306, 0.062894, 0.08169569, 0.070930645, 0.009758565, 0.02642412, 0.11837063, 0.017998926) * go_6(1.0, -1.0); - result += mat4(0.09113588, -0.07959844, -0.017930401, 0.15803315, 0.07464388, -0.043724272, -0.14296398, -0.10401141, 0.20054936, 0.084242016, 0.11802311, 0.18693525, 0.12843236, -0.1743202, -0.2691209, -0.10083827) * go_6(1.0, 0.0); - result += mat4(-0.0104539115, -0.057354454, -0.052867286, 0.1466724, 0.09271791, 0.08887784, -0.02005143, -0.07572476, 0.27422255, 0.042678628, -0.20733066, 0.19042592, -0.1411383, 0.02257083, -0.064085186, -0.09262303) * go_6(1.0, 1.0); - result += mat4(-0.039105386, 0.1234472, -0.050453164, -0.06813485, -0.03566356, -0.082925014, 0.004115353, 0.03527489, 0.14877772, 0.10940238, 0.038895883, 0.14791708, -0.00093082275, 0.013463437, 0.052204877, -0.09501719) * go_7(-1.0, -1.0); - result += mat4(-0.13413331, 0.30298924, 0.06975083, 0.06468644, 0.021598302, -0.042296782, 0.047363598, 0.0656856, 0.116241224, -0.056966808, -0.048400965, 0.15398203, -0.017706253, -0.21229734, 0.081751674, -0.07334096) * go_7(-1.0, 0.0); - result += mat4(-0.015395337, 0.08013673, -0.007724216, -0.16373841, -0.040737778, 0.046441197, 0.099434204, 0.010231656, -0.09467427, 0.0027398872, -0.11485949, -0.04768318, 0.021612423, 0.12103776, 0.0017846692, -0.19943565) * go_7(-1.0, 1.0); - result += mat4(-0.03624946, 0.09955605, -0.05853764, 0.11099403, -0.11808308, -0.030056255, -0.0073744217, -0.077378385, -0.07616062, -0.12060334, 0.21527039, 0.18560308, 0.081354655, -0.09822593, 0.0857936, 0.022761296) * go_7(0.0, -1.0); - result += mat4(0.17069015, -0.11525897, -0.051111165, -0.14717498, 0.012639682, 0.09998064, 0.17585759, -0.14529346, 0.1109187, -0.32648262, 0.004875526, -0.16914915, -0.3011962, 0.15414944, 0.1256961, 0.058924194) * go_7(0.0, 0.0); - result += mat4(-0.09058702, 0.083920516, 0.16238095, 0.029322624, -0.043353304, 0.013579545, 0.0129472315, 0.06778881, 0.0683832, 0.035574593, 0.20563723, 0.06673693, 0.08938325, 0.038934063, 0.09244839, 0.028088508) * go_7(0.0, 1.0); - result += mat4(-0.07614752, -0.047567874, -0.1380417, -0.18331873, 0.052511748, -0.0539637, 0.039498847, 0.08259066, -0.02891946, -0.021063829, 0.14133519, 0.01393951, -0.010774704, 0.016167268, -0.16802885, -0.061799638) * go_7(1.0, -1.0); - result += mat4(-0.18863532, 0.16274302, 0.192186, -0.0077962317, -0.020892195, -0.09247625, 0.005973833, -0.09916121, 0.057757266, 0.22371474, 0.010263742, 0.05736251, -0.05340698, 0.010000294, 0.07362701, -0.036168545) * go_7(1.0, 0.0); - result += mat4(0.13246104, -0.0075489967, 0.045744922, 0.012578804, 0.069654465, 0.09448002, 0.07289381, -0.028779842, -0.028920207, 0.019855209, -0.012340226, 0.11704812, -0.0732277, -0.06416991, -0.19167633, -0.19066313) * go_7(1.0, 1.0); - result += vec4(-0.049622387, 0.08094756, 0.01070978, -0.004729037); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.035603523, -0.08185009, 0.100660555, -0.022107664, 0.006483063, 0.010618868, 0.066785395, -0.10532644, -0.022030462, -0.03625011, 0.007837545, 0.08149827, -0.12578116, -0.07853147, -0.05958921, 0.053226028) * go_0(-1.0, -1.0); - result += mat4(-0.05855061, -0.015080681, 0.011201599, 0.20149398, 0.14702003, 0.12853478, 0.06493872, -0.11110786, -0.046400975, -0.051260192, -0.00061310694, 0.0035754163, -0.018769907, -0.05883245, 0.14298503, 0.044353373) * go_0(-1.0, 0.0); - result += mat4(-0.03558178, 0.049559087, 0.12715517, -0.10066971, 0.09137559, 0.043789122, 0.022936953, -0.05118043, 0.04014738, 0.10581346, -0.0290242, -0.01377225, -0.022771021, 0.046499223, -0.017308814, 0.024164317) * go_0(-1.0, 1.0); - result += mat4(-0.05326584, 0.0648063, -0.019037703, 0.026325414, -0.028105821, 0.06404821, -0.08319213, -0.028761376, 0.08944063, -0.043534186, -0.1310267, -0.15940449, -0.039495252, 0.05476147, 0.11432263, 0.061669342) * go_0(0.0, -1.0); - result += mat4(-0.041112833, -0.21133068, 0.06816941, 0.055115074, 0.025840355, -0.026093813, 0.053838182, 0.019086495, -0.009952756, -0.070893176, 0.13810948, 0.0705213, 0.12261168, 0.055244014, 0.08636737, -0.13819547) * go_0(0.0, 0.0); - result += mat4(0.004913478, -0.048463155, 0.0072081247, -0.003661033, -0.0008038985, 0.040157363, -0.10312559, -0.08591067, 0.040277693, -0.06355311, 0.06348351, -0.00020286323, -0.0517869, 0.079511285, 0.13597977, 0.14372323) * go_0(0.0, 1.0); - result += mat4(0.060098045, 0.0035651794, 0.04503383, 0.028510861, 0.065317295, 0.16709213, 0.05087783, -0.0064135925, 0.13494767, 0.10095361, -0.061869144, -0.13709058, -0.04864603, 0.025154103, 0.07870689, 0.048005972) * go_0(1.0, -1.0); - result += mat4(-0.033613607, -0.1275044, -0.060809586, -0.044648085, 0.010648507, 0.05642866, -0.06120529, -0.009423726, -0.01780852, 0.038888674, 0.0984886, 0.13126552, 0.07388317, 0.05093105, -0.016656855, -0.11651323) * go_0(1.0, 0.0); - result += mat4(0.007843721, 0.017831927, -0.15450433, -0.15955317, 0.010202567, -0.009159524, -0.07439414, -0.089754924, -0.021661272, 0.03366527, -0.0006366156, 0.0006161091, -0.04967107, -0.07847564, 0.083504364, 0.05554673) * go_0(1.0, 1.0); - result += mat4(0.031190002, 0.13800605, -0.15574321, 0.010022096, -0.14684476, 0.061689105, 0.014063308, -0.00039702927, -0.1003136, 0.068490945, 0.0048890817, -0.094239116, 0.021505974, 0.015284103, 0.090422966, -0.08774978) * go_1(-1.0, -1.0); - result += mat4(0.09721201, -0.06701299, -0.039967485, 0.043807294, 0.08414275, -0.06183705, 0.16963054, 0.16145426, -0.046832524, -0.11351221, -0.025378993, -0.066796064, -0.108117335, 0.03834068, -0.084380955, 0.07838217) * go_1(-1.0, 0.0); - result += mat4(0.01133327, -0.08794524, 0.043305114, -0.061654102, 0.0051152804, 0.027094582, 0.10866538, 0.028519077, -0.07746428, 0.0301101, -0.109595634, -0.072024494, 0.14254291, 0.06296279, -0.13838717, 0.029168306) * go_1(-1.0, 1.0); - result += mat4(0.03323507, 0.0005419394, 0.049774323, 0.13523221, -0.11138956, 0.023692777, -0.12362618, -0.09451136, 0.043240786, -0.04068215, 0.100901894, 0.026546478, -0.039114397, -0.08423817, 0.131507, -0.08842477) * go_1(0.0, -1.0); - result += mat4(-0.057802275, -0.013870614, -0.04850402, -0.04543366, -0.16024384, 0.0058730533, 0.0760309, 0.19207342, -0.19927716, -0.010100102, 0.09135455, -0.060649123, 0.025650078, 0.018444177, 0.00021598223, -0.04745473) * go_1(0.0, 0.0); - result += mat4(-0.080954164, 0.048129823, 0.040365905, -0.046155997, -0.06328537, 0.03939891, 0.112972215, 0.06335107, -0.004712385, 0.03634818, -0.09019586, -0.09726606, 0.057669904, -0.08364145, -0.02754419, -0.016794952) * go_1(0.0, 1.0); - result += mat4(0.06571239, -0.02034063, 0.047206875, 0.12161593, 0.025209486, -0.058197014, 0.111869335, 0.090523414, 0.077260986, 0.0056082606, -0.02820308, 0.06973363, 0.029205032, -0.062267963, 0.015583637, 0.019638522) * go_1(1.0, -1.0); - result += mat4(-0.083109334, -0.05083325, -0.05968024, -0.11155437, 0.105850436, 0.09744165, -0.03303017, -0.013044941, -0.0077590025, -0.04237108, -0.20369965, 0.031323917, 0.012978714, -0.063359976, 0.042146076, 0.019776987) * go_1(1.0, 0.0); - result += mat4(0.035537377, -0.10743068, 0.133754, 0.090181574, -0.028627062, 0.028155155, 0.018499529, 0.09005287, 0.16607289, 0.15793674, -0.11622822, -0.013572966, 0.029706242, 0.017781565, -0.009353398, -0.17865635) * go_1(1.0, 1.0); - result += mat4(-0.11203039, -0.038313862, 0.024553291, -0.14427736, -0.04825668, 0.042359933, -0.07456192, 0.07533933, 0.06583026, 0.028042082, 0.17915186, -0.09986524, 0.0045316215, -0.055563286, -0.01603018, 0.0072140303) * go_2(-1.0, -1.0); - result += mat4(0.023269117, -0.13553037, -0.12864427, 0.05080066, 0.116199985, 0.055588637, 0.020242607, 0.028640006, -0.019016344, 0.02210024, -0.13367496, -0.042627923, 0.10561512, 0.1900557, -0.19167726, -0.13005958) * go_2(-1.0, 0.0); - result += mat4(-0.009667415, 0.048991125, 0.03990137, 0.06523109, -0.0047858153, -0.054032765, -0.04514449, -0.050494507, -0.0417104, 0.100091435, 0.14701962, 0.08403896, -0.025943374, 0.022905018, -0.092077054, -0.11161656) * go_2(-1.0, 1.0); - result += mat4(-0.03497298, 0.077198364, -0.13679147, 0.11873723, -0.024424871, 0.053137034, -0.032385264, -0.0141263325, -0.013927444, -0.071978, 0.13627312, 0.063701816, 0.008311752, 0.0098141, 0.05543976, -0.058797874) * go_2(0.0, -1.0); - result += mat4(0.004518499, -0.07926175, -0.20172442, -0.07550185, 0.24148971, -0.098768815, 0.040357675, 0.0815576, 0.06890898, -0.013913556, 0.008509605, -0.27146277, -0.21143566, 0.14486042, 0.026823578, 0.06405004) * go_2(0.0, 0.0); - result += mat4(0.07543994, -0.00025196848, -0.05954198, -0.046995167, 0.010792962, 0.06456983, 0.05764683, 0.15503259, -0.16120984, 0.0807539, -0.038956456, 0.12451675, -0.08603456, -0.1705987, -0.06136245, -0.18488552) * go_2(0.0, 1.0); - result += mat4(-0.00572469, -0.023406431, -0.024342058, -0.05564663, 0.024842156, -0.07729906, 0.026645722, 0.05106307, 0.024492387, 0.0016276453, 0.06377535, -0.012904678, -0.012211929, -0.029794648, -0.048944846, -0.09197441) * go_2(1.0, -1.0); - result += mat4(0.17784351, 0.33556664, -0.16068351, -0.079374805, -0.04599449, 0.11359752, -0.053493448, -0.21075985, -0.019184487, -0.06383055, -0.01185842, -0.0695056, -0.1157193, -0.22757286, -0.090421006, -0.05891914) * go_2(1.0, 0.0); - result += mat4(-0.0024737257, 0.034482602, -0.006574776, -0.123885706, -0.032806616, 0.13714285, 0.03184805, 0.051896997, -0.10557891, -0.23659584, -0.11904932, 0.13204372, -0.048789233, -0.22316931, -0.11616664, -0.12002667) * go_2(1.0, 1.0); - result += mat4(-0.16620998, -0.083569415, 0.0065785977, -0.028163226, 0.118216015, -0.042357974, 0.12170964, 0.049162548, -0.012655221, -0.062021617, 0.061642777, 0.026117237, 0.058876973, -0.13939914, 0.0016208607, 0.044976454) * go_3(-1.0, -1.0); - result += mat4(-0.14663431, 0.03581357, 0.077214204, 0.10090841, 0.086941764, -0.11483719, 0.013683549, 0.14151746, -0.037653763, -0.049350277, 0.05558862, -0.12354268, 0.08483936, 0.025416449, -0.1325484, 0.039415598) * go_3(-1.0, 0.0); - result += mat4(-0.036637645, -0.037072327, 0.06181543, 0.018595748, 0.03781546, 0.004868063, 0.051894557, -0.045784436, -0.12323018, -0.043563627, -0.061274346, 0.018986262, 0.08072628, 0.15792938, 0.06480739, 0.048926838) * go_3(-1.0, 1.0); - result += mat4(-0.025308818, -0.019264646, -0.061931565, 0.00022685992, 0.08663662, -0.025102472, -0.044551793, -0.014964958, 0.10428076, 0.103535, -0.062238917, -0.00082623254, 0.1021367, 0.07957318, -0.15018936, -0.0863818) * go_3(0.0, -1.0); - result += mat4(0.15889543, -0.049840968, -0.04183841, -0.083414994, -0.1916174, 0.13753025, 0.14771314, 0.33127707, 0.000934214, 0.28703767, -0.008823727, -0.08902316, 0.10487791, 0.045531362, 0.011037433, 0.055553384) * go_3(0.0, 0.0); - result += mat4(-0.048647963, 0.03926244, -0.08315152, 0.06590094, -0.0009501526, 0.17133625, -0.04364588, 0.14289281, 0.044428002, -0.08102835, 0.008432385, 0.007471905, 0.0034905518, 0.08767701, 1.0289642e-06, 0.022898048) * go_3(0.0, 1.0); - result += mat4(0.04429903, -0.11645563, -0.026604889, 0.07899901, -0.023821525, -0.026004031, -0.018923612, -0.053543407, -0.042527657, 0.0036584022, 0.027810149, 0.024032138, 0.10543079, -0.030619275, -0.030865723, -0.05092747) * go_3(1.0, -1.0); - result += mat4(0.026915446, 0.120717816, 0.0019816516, -0.049912937, -0.0007762602, 0.022564199, 0.18567841, -0.056447282, 0.13844876, 0.13579142, 0.10044439, 0.047508094, -0.04063719, 0.17919034, 0.08064534, -0.03256138) * go_3(1.0, 0.0); - result += mat4(-0.0434133, -0.06033915, -0.04983542, 0.0400338, -0.053370785, -0.05155623, 0.045170438, -0.045111567, -0.053353325, -0.12816454, -0.0677066, -0.021872709, -0.02099235, -0.016961794, 0.028701715, 0.06569918) * go_3(1.0, 1.0); - result += mat4(0.06710011, 0.057980128, 0.013201372, 0.030130189, 0.06094751, 0.07235975, -0.047589682, 0.2354357, 0.14901309, 0.04262213, 0.0966923, 0.2618183, 0.005253222, 0.020696905, -0.017493509, 0.030192135) * go_4(-1.0, -1.0); - result += mat4(0.054935362, 0.081852324, -0.009865248, -0.1405845, -0.06501512, -0.081201576, -0.19381413, -0.07899466, 0.1869321, -0.010295521, 0.07100554, 0.039669935, -0.0717112, 0.06757859, -0.057729263, 0.10774218) * go_4(-1.0, 0.0); - result += mat4(-0.05170724, 0.028823921, -0.039832033, 0.102353394, -0.040672857, -0.071934074, -0.03207114, -0.062728606, -0.0041836924, 0.049775664, -0.015730772, 0.115351014, 0.0198361, -0.04392965, 0.06256708, -0.018467398) * go_4(-1.0, 1.0); - result += mat4(-0.004088018, -0.0075854803, -0.053410996, 0.053963624, 0.038335897, -0.043097124, -0.053266585, -0.02110349, -0.100289516, 0.13708574, 0.045705263, 0.14583495, 0.049664762, -0.007881616, -0.07083171, 0.06628562) * go_4(0.0, -1.0); - result += mat4(-0.096194305, 0.3136127, -0.06582547, -0.10976745, 0.0052450127, -0.06082186, 0.072152615, 0.15377738, -0.023069546, 0.024237594, -0.08700614, 0.01600506, -0.11880559, 0.05290161, 0.18157464, 0.12359404) * go_4(0.0, 0.0); - result += mat4(0.05889622, 0.14444394, 5.1526327e-05, -0.016800134, 0.14292586, -0.11104289, -0.03384623, -0.0071736914, -0.027003476, -0.050374918, -0.07425175, -0.06407235, 0.030245714, -0.013432628, 0.036909264, -0.10258834) * go_4(0.0, 1.0); - result += mat4(-0.050930936, -0.012308526, -0.0224252, 0.02924823, -0.014263356, -0.2264721, -0.033080157, 0.10535792, -0.0007992285, -0.07806312, -0.0446525, 0.08360969, -0.07534844, -0.08033527, 0.09658374, 0.03556867) * go_4(1.0, -1.0); - result += mat4(0.036354, -0.01415224, 0.15901333, 0.03089121, -0.105297774, -0.0567874, -0.046968583, -0.02000512, 0.019031817, -0.10858096, -0.16507767, -0.14353652, -0.047385126, 0.08500263, 0.10296464, 0.12831974) * go_4(1.0, 0.0); - result += mat4(0.08133631, -0.08120405, 0.12163648, -0.00789435, 0.06704583, 0.06559347, 0.056115437, 0.014905266, 0.15081121, -0.06725895, -0.06748307, 0.1599525, -0.07030421, 0.12173684, 0.103771955, 0.053344633) * go_4(1.0, 1.0); - result += mat4(0.0195776, -0.0622637, 0.06881111, -0.13235638, -0.009745966, -0.20333163, -0.016195327, 0.0498002, -0.00685214, -0.10209501, -0.035590008, 0.09018023, -0.031462304, -0.0349528, -0.10600601, -0.0090544615) * go_5(-1.0, -1.0); - result += mat4(0.15811858, -0.06563293, 0.016432226, -0.028199475, -0.12282523, -0.06881546, -0.092320375, -0.0031693543, -0.064210124, 0.043783337, -0.2019922, -0.13730226, -0.08938997, -0.10791797, 0.11714907, -0.022770153) * go_5(-1.0, 0.0); - result += mat4(0.06281743, 0.07511937, -0.048748665, 0.04450613, -0.04570434, 0.021222433, -0.06628591, 0.073260285, 0.09201485, -0.028903183, 0.003736346, -0.08917027, -0.07610416, -0.14540285, 0.07343613, -0.06727425) * go_5(-1.0, 1.0); - result += mat4(-0.15571125, -0.0640986, -0.04293689, -0.24749066, -0.11165803, 0.0051061464, 0.019376764, 0.07696208, -0.04814943, -3.504131e-05, -0.16579178, 0.1502019, -0.023707883, 0.04413888, -0.04388852, -0.009154628) * go_5(0.0, -1.0); - result += mat4(-0.07220755, -0.041894138, -0.13767485, 0.026967121, 0.028019764, -0.07266683, 0.09768252, 0.051648475, 0.2144752, -0.049994867, 0.09415208, -0.12033149, -0.2286533, -0.1035957, -0.20106381, -0.05755881) * go_5(0.0, 0.0); - result += mat4(0.124922104, 0.10773247, -0.09984372, 0.08305024, 0.043024022, -0.039096966, 0.09213775, 0.093309745, 0.041290306, 0.054291926, 0.023719616, 0.020621356, -0.16033965, -0.025751784, -0.026916293, -0.012173795) * go_5(0.0, 1.0); - result += mat4(0.00044945415, -0.017210819, 0.053547475, -0.005321006, -0.04807709, 0.06448037, -0.048554003, 0.011876162, -0.05595753, -0.06437566, -0.042622857, 0.020113062, -0.0020804277, 0.018597316, 0.013574127, -0.043030854) * go_5(1.0, -1.0); - result += mat4(0.043135546, 0.18260844, -0.09212242, 0.16260995, -0.026462799, -0.026555145, 0.13806862, -0.07638378, 0.13613388, -0.036159042, 0.21367857, 0.099882215, 0.04033422, 0.06743046, -0.04514496, 0.07347721) * go_5(1.0, 0.0); - result += mat4(-0.05599136, 0.24458563, -0.055775292, 0.023797944, 0.017738774, -0.0026254307, 0.020338422, -0.05910233, -0.041537784, -0.07887153, 0.02836997, 0.029184725, -0.09466807, -0.056054644, -0.20904629, -0.06603871) * go_5(1.0, 1.0); - result += mat4(-0.0809845, 0.113287315, -0.07588069, -0.07764146, 0.018005516, 0.0058764964, 0.015952185, 0.0026178441, -0.025305526, 0.016157705, -0.031857558, 0.012376404, -0.0033852167, -0.0025056018, 0.033977445, -0.035882123) * go_6(-1.0, -1.0); - result += mat4(0.01720746, 0.12093419, 0.004281695, 0.015260916, -0.025000513, 0.019857937, -0.015916452, -0.14818902, 0.10654605, -0.044710767, 0.068046734, 0.0020083294, -0.06207356, -0.11559851, -0.014965024, -0.021263203) * go_6(-1.0, 0.0); - result += mat4(0.10744724, -0.117611334, -0.07036045, -0.16104576, -0.03606856, -0.021588141, 0.003583071, 0.08581648, -0.027726242, 0.0065163933, -0.022813367, -0.042334005, -0.0783816, 0.04475857, -0.013612499, -0.11017741) * go_6(-1.0, 1.0); - result += mat4(-0.03915705, -0.06676148, -0.017724907, -0.08243233, 0.024043124, -0.00641056, -0.046309136, 0.0028519596, -0.020301778, 0.090468615, -0.02914518, -0.01921614, 0.0066639995, 0.0115059335, -0.07672176, -0.11208497) * go_6(0.0, -1.0); - result += mat4(0.08966859, -0.032337032, 0.1445986, -0.1320196, -0.07705068, 0.26452798, -0.102185756, -0.0669899, -0.17417169, 0.04188311, 0.1864277, -0.1504491, 0.22015794, -0.16350059, 0.0710934, -0.2829582) * go_6(0.0, 0.0); - result += mat4(0.06390482, -0.025778925, -0.036299095, 0.038941868, 0.03774386, 0.03236249, -0.094204284, -0.02483742, 0.028479036, -0.0043308022, -0.07259228, 0.012454688, -0.042251453, 0.12513779, -0.09296203, 0.11374747) * go_6(0.0, 1.0); - result += mat4(0.047953177, -0.13953067, -0.16459087, 0.07894725, -0.056713596, 0.021099769, 0.03746491, -0.039627306, 0.013983546, -0.012757725, -0.029330993, 0.06562089, -0.04810442, 0.099750385, -0.0027220398, -0.03113898) * go_6(1.0, -1.0); - result += mat4(-0.18453379, -0.19663307, -0.069053225, -0.0886819, -0.0801514, 0.030041967, 0.052098416, 0.14237365, -0.122975424, -0.020104067, 0.03250069, -0.012830738, 0.015021435, 0.17618941, -0.17539805, -0.11354229) * go_6(1.0, 0.0); - result += mat4(0.039481774, -0.03845886, -0.024213333, -0.013388697, 0.021345852, -0.081355266, 0.060501907, 0.020541774, 0.0050397296, 0.01937342, 0.124778345, -0.02009733, -0.03618026, 0.18081245, -0.059872225, 0.0480807) * go_6(1.0, 1.0); - result += mat4(0.06564816, -0.033822373, -0.0733927, -0.03701997, 0.109872006, 0.0289091, -0.05753885, 0.07605533, 0.01233494, 0.105628036, -0.05230974, 0.020886896, -0.012355101, 0.09088149, -0.077560514, 0.0067109973) * go_7(-1.0, -1.0); - result += mat4(-0.1322054, -0.013291897, -0.03752736, -0.1729646, -0.07199937, 0.044647448, -0.05308083, -0.17281532, -0.22998895, 0.08423837, 0.096846774, -0.03199861, 0.16217668, -0.038777575, 0.11706502, 0.003698661) * go_7(-1.0, 0.0); - result += mat4(-0.04857856, -0.033291973, 0.042390086, 0.07810751, -0.033537693, -0.044030026, -0.039593477, 0.04621247, -0.17857364, -0.09121616, 0.051663235, 0.11376567, 0.026875451, -0.020726817, -0.07497909, 0.04745875) * go_7(-1.0, 1.0); - result += mat4(-0.04273227, -0.06567099, 0.068244755, 0.004056219, 0.071459755, 0.06104156, -0.040738944, 0.026269622, -0.0829272, -0.213161, 0.12350121, -0.12019999, -0.0047574732, -0.07947193, 0.11080581, 0.06579881) * go_7(0.0, -1.0); - result += mat4(-0.0059235813, 0.3313213, 0.11250806, 0.10323526, 0.10955034, -0.16566339, -0.19147675, -0.030210944, 0.04117325, -0.0210125, 0.17611006, 0.08003979, 0.049902663, -0.07172505, -0.122315325, 0.010667146) * go_7(0.0, 0.0); - result += mat4(0.054875605, -0.0037542211, 0.063533604, -0.06934719, -0.03633734, -0.035200633, 0.13640474, -0.0012530384, 0.11430386, -0.19378312, 0.09804568, 0.013388336, -0.05530006, -0.04414178, -0.19488367, -0.0756056) * go_7(0.0, 1.0); - result += mat4(-0.020816237, 0.06688388, -0.037516814, -0.12198087, -0.015191337, 0.027221302, -0.06470536, -0.02152179, -0.017627591, -0.1226421, -0.032714654, -0.05618612, 0.05928148, 0.0800804, 0.048406508, 0.00018751089) * go_7(1.0, -1.0); - result += mat4(-0.048010882, -0.09108586, 0.15244915, 0.013734108, 0.06698592, 0.12715879, -0.06800172, -0.08406023, -0.0060334927, -0.18118794, 0.028690156, -0.041895367, -0.09738513, -0.091504306, 0.005916668, 0.041399106) * go_7(1.0, 0.0); - result += mat4(0.03526128, -0.0710679, 0.026936322, 0.016473033, 0.050931316, 0.07237934, 0.052602474, 0.036545273, -0.044300303, -0.007841123, 0.12865187, 0.13500206, 0.10369719, 0.017725354, -0.046136603, 0.11124073) * go_7(1.0, 1.0); - result += vec4(0.02762366, 0.015666952, 0.009978591, -0.020644614); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09864263, 0.16643536, -0.10098628, -0.27088618, 0.2439447, -0.15055421, -0.16554014, 0.15346923, 0.22877191, 0.36627764, 0.0009881472, -0.29182792, -0.1399589, 0.20674823, -0.1336018, -0.23139776) * g_0; - result += mat4(0.30116054, -0.14907749, -0.057519797, -0.115984246, -0.010677967, 0.24336332, 0.18829945, -0.009448468, -0.20248725, 0.1898866, 0.10740923, 0.070664346, 0.19182079, 0.19262572, -0.10405306, -0.14409591) * g_1; - result += mat4(0.02424672, 0.18151794, -0.3288155, 0.09967775, 0.08982069, -0.33101448, -0.13098675, 0.001805271, 0.093248144, 0.0062144175, -0.27785897, 0.15994431, 0.07629904, 0.11391333, -0.09452774, 0.028830891) * g_2; - result += mat4(-0.12576537, 0.124780804, -0.005383383, 0.010800503, 0.074371964, -0.15757772, -0.012425731, 0.26471737, -0.12934509, 0.18494883, -0.019696942, 0.39016318, 0.108690634, -0.12907083, 0.23849326, 0.2127003) * g_3; - result += mat4(0.06064956, 0.13181925, -0.06518252, 0.09022306, 0.10722941, -0.029313153, 0.05462699, -0.12941502, -0.32090643, -0.2399227, -0.0010322831, 0.2706631, -0.018146884, -0.25801313, 0.2318069, 0.114894636) * g_4; - result += mat4(-0.12751573, -0.13918388, 0.20377824, -0.033067297, -0.0028459544, -0.17263114, 0.07472814, -0.08497229, -0.19693358, -0.23583023, -0.23746331, -0.1620524, 0.12260008, 0.20666504, 0.018275812, 0.05227883) * g_5; - result += mat4(0.017006887, -0.079197586, -0.1751486, -0.24029018, 0.17393425, 0.19827369, 0.14355439, 0.07403027, 0.26099652, 0.34026688, -0.07905064, 0.1136539, -0.033830065, 0.0038907684, -0.25529358, -0.3126053) * g_6; - result += mat4(-0.18364787, 0.06289015, 0.30731493, 0.2604622, 0.14766745, -0.19659941, -0.24400567, -0.13139778, -0.20132752, -0.31973583, -0.04709369, 0.2157305, -0.05968398, 0.41553238, -0.26575878, 0.12818466) * g_7; - result += mat4(0.1777632, 0.30519867, 0.04919452, -0.050079886, -0.09780533, 0.071669996, -0.30823946, -0.05612444, 0.13824712, -0.17230682, 0.1516716, -0.42944372, 0.26453936, -0.3669238, -0.2791366, -0.158038) * g_8; - result += mat4(-0.16834885, -0.36678392, -0.116782546, -0.12371954, 0.030408079, 0.030037245, -0.118157424, 0.21994841, -0.06582355, 0.35889858, -0.08357428, 0.33521906, 0.0730811, 0.12300713, 0.08012372, 0.13627763) * g_9; - result += mat4(0.3792248, 0.2113681, -0.057442214, 0.056784596, -0.07914339, 0.2952479, 0.0039747343, -0.010485219, -0.21411481, -0.26210615, 0.14048009, -0.09856881, 0.17023402, -0.059730083, 0.019566841, -0.016332023) * g_10; - result += mat4(-0.61801714, -0.31580862, 0.024079382, -0.26253095, 0.15262255, -0.05209289, -0.058584727, -0.17753975, 0.09153676, 0.018372437, -0.08778411, 0.15213694, 0.23527849, 0.0651243, 0.082912475, -0.12144174) * g_11; - result += mat4(-0.10203859, -0.2157538, 0.09766386, 0.255458, 0.14621232, 0.15972705, 0.037336424, 0.29910806, -0.23335846, -0.27241442, 0.056837723, -0.15916888, 0.14921062, 0.018489221, 0.29236946, -0.21704453) * g_12; - result += mat4(-0.20196709, 0.03039717, -0.016681867, 0.09106574, 0.016594073, -0.11138761, -0.39326677, -0.12731183, 0.017273927, 0.20023176, 0.40969402, -0.09844807, -0.21699667, -0.08527532, 0.03868599, 0.08391285) * g_13; - result += mat4(0.04918593, -0.28722, 0.13262631, 0.19763342, 0.07408771, 0.20518765, -0.08351114, 0.023192497, 0.08808452, -0.024055472, 0.2863115, 0.028993187, 0.18309475, 0.14929788, 0.41230813, -0.14815095) * g_14; - result += mat4(-0.068900704, -0.085048415, -0.3247905, -0.04743062, -0.09697462, 0.015716264, 0.016111441, -0.020915799, 0.0722674, 0.23050514, -0.038081765, 0.23436533, 0.0045003896, -0.25709474, -0.11242606, -0.2509955) * g_15; - result += vec4(0.016932571, 0.01285098, 0.065885656, -0.045639206); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.003937308, 0.3325553, -0.051680394, -0.016791617, -0.22406012, -0.1772422, -0.40026435, 0.061494246, -0.052263122, 0.050062478, 0.12657858, 0.25956464, -0.25395867, -0.14557794, 0.065642186, -0.0036497142) * g_0; - result += mat4(0.14910382, -0.1219233, -0.08730868, 0.12936969, -0.38082328, -0.04098752, -0.21931636, 0.22471759, -0.22303404, 0.005031252, 0.29523098, -0.06785384, -0.29611492, -0.13362305, -0.28399295, -0.015605514) * g_1; - result += mat4(-0.092055865, 0.23942079, -0.15355012, -0.2754471, 0.3476136, -0.17973644, 0.20373236, 0.47628164, 0.18442081, 0.2272365, 0.39171374, -0.2109089, -0.081467606, -0.19725452, 0.015637135, -0.07057403) * g_2; - result += mat4(0.10774966, 0.123727456, -0.12286534, 0.16600358, 0.1364775, -0.21570408, 0.074118935, -0.045826353, -0.035832357, -0.28274775, 0.052669924, 0.07969379, 0.17066151, 0.14648491, -0.06644816, -0.14589809) * g_3; - result += mat4(-0.119286284, -0.09573102, 0.090612456, 0.04023182, 0.09588572, 0.177818, 0.23690048, -0.058244612, -0.016383434, 0.2576226, 0.25695682, -0.014298511, -0.024256507, 0.30848315, -0.041158218, -0.03914358) * g_4; - result += mat4(-0.29271403, 0.059981633, 0.0021134338, -0.19035797, -0.0037269308, 0.10220867, 0.07883107, -0.13369656, 0.026632074, 0.37791765, 0.13582648, -0.09352286, -0.082421385, -0.15049607, -0.29702196, -0.024250919) * g_5; - result += mat4(0.06582016, -0.16060877, 0.103828825, 0.06621281, 0.18454358, -0.15770862, 0.0062189074, -0.29478952, -0.38229987, -0.008481092, 0.0146497395, -0.012977512, -0.086033165, 0.24041377, 0.15929726, 0.1291446) * g_6; - result += mat4(-0.26255193, -0.17674851, 0.016529905, -0.29671943, -0.11499627, 0.057172883, 0.024476945, 0.20377044, -0.246527, -0.2740495, 0.27754322, 0.0035727941, -0.08662866, -0.26152274, -0.1885568, -0.12391516) * g_7; - result += mat4(0.012594749, 0.09329428, -0.024767002, 0.09388145, 0.053089734, 0.06234544, 0.2099255, 0.46252325, 0.123893864, 0.082300425, -0.07509414, 0.15968856, -0.34341866, -0.13525012, 0.15489148, 0.35870647) * g_8; - result += mat4(0.15168503, 0.30187908, 0.015656032, 0.013370691, -0.06671537, 0.11837605, -0.08213855, -0.15433209, -0.17091727, -0.0625883, 0.008888305, 0.039089687, 0.15172026, -0.0836314, -0.13341047, -0.029075664) * g_9; - result += mat4(-0.07207691, -0.36168703, 0.022065176, 0.06053417, 0.10515104, -0.15767829, 0.19980878, 0.17313905, 0.016179686, 0.18054177, 0.19189085, -0.14294004, 0.22004858, -0.28201142, 0.2872886, -0.20112494) * g_10; - result += mat4(0.34156498, 0.1817744, 0.13134623, 0.05987189, 0.037724342, -0.090201005, 0.10240794, 0.22642598, -0.5217192, -0.033472296, -0.14296426, -0.094750494, -0.03383312, 0.30726826, 0.049418118, 0.10151059) * g_11; - result += mat4(0.032571465, 0.048514433, -0.10347128, -0.1084494, -0.036202013, -0.008492653, -0.11478463, -0.14242981, -0.16216394, 0.22039019, 0.17737237, -0.1416988, -0.099641696, 0.09431141, -0.17891696, 0.15241605) * g_12; - result += mat4(-0.22881852, 0.040407304, -0.08619452, 0.08407503, 0.027044954, 0.121950984, 0.17166145, -0.056074105, 0.20592104, 0.05306128, -0.249151, -0.15258761, -0.028193245, -0.033121727, 0.009724152, -0.060050894) * g_13; - result += mat4(0.055882175, -0.19219743, -0.08486314, 0.25344363, -0.15363735, -0.16262405, -0.16883601, -0.360693, -0.02007423, -0.18265313, -0.13402134, 0.012125967, -0.15832315, 0.35946545, 0.057530846, -0.20121863) * g_14; - result += mat4(-0.026532218, 0.0999541, -0.18022218, 0.040167805, -0.07300608, 0.23191977, -0.13492207, -0.21953888, -0.006438377, -0.11377467, 0.29050368, 0.08367901, -0.1185086, -0.19436763, 0.19460331, -0.12790322) * g_15; - result += vec4(0.0048366417, -0.01623872, 0.0149186235, -0.0021957709); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.104137026, 0.102377966, 0.29650456, 0.16560245, -0.049722087, -0.022562431, 0.1480423, 0.22173022, -0.15099648, 0.25188634, 0.29793224, -0.25045073, -0.166794, 0.17724776, -0.13309427, -0.14215149) * g_0; - result += mat4(0.0111736925, -0.20109345, -0.004992949, -0.16356087, -0.03629021, -0.17836154, -0.020239769, -0.0027136574, -0.057733543, 0.1929391, -0.25687936, 0.032994594, 0.28941298, -0.24378207, 0.0058246693, -0.04602329) * g_1; - result += mat4(0.058517553, -0.00855018, -0.10235121, 0.031646684, -0.3329856, 0.28455597, 0.09738041, -0.38193113, -0.11249739, -0.01848674, 0.2163143, -0.06349695, 0.20303167, -0.033269245, -0.2735205, -0.15447442) * g_2; - result += mat4(0.080081046, 0.07366588, -0.09329567, 0.18479577, -0.118616, 0.09503109, -0.26074445, 0.35643557, 0.30263063, 0.22413187, 0.09882829, 0.12301443, -0.006198813, 0.19721447, 0.10678005, -0.1651503) * g_3; - result += mat4(-0.06906497, -0.3009552, 0.07767211, 0.05151866, 0.11417627, 0.23357406, -0.048603542, -0.049274545, -0.06154897, -0.12599663, 0.07611352, 0.00786339, 0.14635855, -0.26319003, -0.06853761, 0.088817514) * g_4; - result += mat4(0.11830914, -0.10345762, -0.09292891, -0.0074040242, 0.0073001185, -0.15325016, -0.011847827, 0.23296888, 0.06515359, -0.06067429, -0.090339884, 0.13176519, 0.23185344, 0.071258485, -0.06901788, -0.0903061) * g_5; - result += mat4(0.17608684, 0.1722441, -0.00018389517, 0.026899414, 0.11040594, 0.053332347, 0.074438855, 0.0608023, -0.089713804, -0.10031175, -0.09828107, 0.2759653, 0.040628787, -0.014327023, -0.18901895, -0.19466661) * g_6; - result += mat4(-0.077983975, 0.116868906, -0.23626202, 0.24141665, 0.18514152, 0.12009115, 0.024183134, -0.19578324, -0.2004096, 0.16053474, -0.12452011, -0.24160402, 0.044126388, -0.08934569, 0.26577887, 0.09816567) * g_7; - result += mat4(0.10499274, 0.2265129, -0.078521736, 0.29265165, 0.0041190055, 0.36288932, -0.103490636, 0.05727936, -0.089100264, 0.04249254, 0.30703348, -0.024190163, 0.026818752, 0.21627031, 0.1413635, 0.5749679) * g_8; - result += mat4(-0.11887336, 0.27841938, 0.18154635, -0.30292216, -0.14453453, -0.32330868, -0.06806779, -0.13335946, 0.12325082, -0.2776033, -0.2176617, -0.14796872, 0.14378121, -0.1515707, -0.19313759, -0.03666135) * g_9; - result += mat4(-0.16793656, 0.14827895, 0.31085837, 0.039777525, 0.049468413, -0.19864005, -0.11719598, 0.16815868, -0.02205864, -0.20461129, -0.15883179, 0.026992796, -0.2750394, 0.20748213, 0.24951674, -0.06626439) * g_10; - result += mat4(-0.22174093, -0.20898962, -0.03558482, 0.23259541, 0.12385461, 0.11644065, 0.13360718, -0.298495, 0.05759325, -0.06470147, -0.1467882, -0.1233936, 0.124703325, -0.004894744, -0.44175613, 0.30384606) * g_11; - result += mat4(-0.22360735, 0.13903587, 0.123154536, 0.22120447, 0.07635435, -0.08578538, -0.0070886854, -0.16854721, 0.2935059, 0.014837484, 0.011378183, 0.11189771, 0.15975478, 0.1525562, 0.17962816, -0.30664667) * g_12; - result += mat4(-0.13563982, -0.11331227, -0.35234228, 0.17117529, 0.09372269, -0.018378476, -0.060744487, 0.066920675, -0.12684692, -0.15846166, 0.040910132, 0.15608624, -0.0839549, 0.06397846, -0.11739037, -0.24138166) * g_13; - result += mat4(-0.3350538, -0.24931656, -0.13913944, -0.078073435, 0.12782471, -0.033278856, 0.22328287, -0.0494411, -0.16591735, -0.03392308, 0.1588464, -0.19808592, 0.19063896, -0.16003527, 0.21511821, 0.10613058) * g_14; - result += mat4(-0.060294464, -0.09252907, -0.01603874, -0.07597569, 0.03133959, 0.072272286, -0.13213353, 0.15609686, 0.2167412, 0.06884895, -0.2590782, 0.33470517, 0.003332907, 0.03748415, -0.25728425, -0.30776468) * g_15; - result += vec4(0.0085292775, -0.0498912, 0.02406236, 0.013927507); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf3 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.18489622, 0.01521825, -0.053398065, 0.077619, -0.08345202, 0.20407347, -0.11390942, 0.08462241, -0.1705865, 0.30955344, -0.08472498, -0.16442084, -0.22677645, 0.048857957, -0.057290807, -0.40370303) * g_0; - result += mat4(-0.04026143, -0.020023338, -0.022386922, -0.1292272, 0.17330426, 0.13575786, 0.16291218, -0.14266899, -0.23032628, 0.11625899, 0.0062630204, -0.0012355708, 0.15870166, -0.035987332, 0.0871242, 0.085054055) * g_1; - result += mat4(0.016969275, 0.054262232, -0.23052263, -0.19101018, 0.03396106, 0.0054336865, -0.0467761, 0.19085331, -0.106530495, -0.27656856, 0.015368871, 0.13383915, -0.08088739, -0.15458798, 0.01770847, 0.26224154) * g_2; - result += mat4(-0.1710468, -0.010396238, -0.008604742, -0.27136776, -0.08490557, 0.016414553, -0.27219942, -0.2275841, -0.0020410966, -0.074557334, 0.32281566, -0.0358406, -0.07795256, 0.11081372, -0.34438163, 0.15058495) * g_3; - result += mat4(-0.13303854, -0.054123223, -0.034091465, -0.08479921, -0.3663492, 0.047407333, -0.08467303, -0.015536085, 0.07641996, -0.08629571, -0.026073072, 0.05748389, 0.39037332, 0.017548965, 0.105086334, -0.08005681) * g_4; - result += mat4(0.08531782, -0.06040872, -0.25501314, -0.15468454, -0.18607718, -0.045276865, -0.08727564, 0.101659656, -0.14160259, -0.011791499, -0.14346547, 0.16301742, -0.054622017, -0.028709898, -0.05332203, -0.23680754) * g_5; - result += mat4(0.18716991, 0.12908773, -0.3459139, -0.054999888, -0.1764484, 0.04881557, 0.096896894, -0.011711037, 0.093170814, 0.1973141, -0.028869364, -0.052994333, -0.050567757, -0.052473217, -0.20334762, -0.29321235) * g_6; - result += mat4(0.16290617, 0.070835315, -0.13578944, 0.049878098, 0.024889912, 0.0046419716, 0.17256121, 0.24758084, 0.33473715, -0.05304426, -0.031384464, 0.30393425, 0.06880461, 0.018678263, 0.40095538, -0.32181707) * g_7; - result += mat4(-0.12459963, 0.0924927, 0.17442048, -0.015650576, -0.05587131, 0.21291989, 0.31195658, 0.07287886, 0.1531054, 0.022245308, 0.09070423, -0.090930104, 0.036900636, -0.062797755, -0.015801767, -0.06667231) * g_8; - result += mat4(-0.22362942, 0.30185577, -0.0560174, -0.17768693, 0.14361233, -0.36686167, -0.108977124, -0.06692557, 0.046176855, 0.06899551, 0.19507368, 0.18504564, 0.2892618, 0.108308315, -0.32998815, 0.15013184) * g_9; - result += mat4(-0.06166722, 0.03421678, 0.007097079, -0.06511754, -0.07503845, -0.097745866, 0.0767785, 0.12762466, 0.078295015, 0.15278883, -0.20041291, -0.15149453, 0.1359745, -0.055542946, -0.1351582, 0.04746136) * g_10; - result += mat4(0.2754691, -0.045461576, 0.28655398, 0.066658214, 0.10664401, 0.019698175, 0.21868771, 0.010793508, -0.37068173, -0.22633933, 0.05709351, -0.015515003, -0.25028723, 0.07527501, -0.060320277, 0.11013715) * g_11; - result += mat4(0.16451468, -0.048677545, -0.21968195, -0.024521982, 0.06710036, -0.00431936, -0.040931974, 0.14162326, 0.30826005, -0.19923253, 0.06730949, 0.33769038, -0.17198718, 0.060878154, -0.2895043, -0.029802436) * g_12; - result += mat4(-0.10908404, -0.18938556, 0.11546769, 0.11317103, -0.096525446, -0.1143871, 0.095474064, -0.12509643, -0.20624343, -0.23595047, -0.11051539, 0.1230616, -0.047473382, -0.11819063, -0.1330644, -0.09428916) * g_13; - result += mat4(0.099916406, -0.19375911, -0.08102031, 0.1239838, 0.27221766, 0.20148776, 0.19851638, 0.08333579, 0.086547665, -0.18228337, 0.022614995, -0.1385529, 0.35897738, 0.20353337, -0.051304217, 0.09238109) * g_14; - result += mat4(-0.17090152, 0.34364688, 0.25943616, 0.04933595, -0.022766197, 0.33663043, 0.09173691, -0.040311158, -0.20550281, 0.17361137, -0.13678429, 0.07744437, -0.42078802, -0.2707222, 0.21051168, 0.2207691) * g_15; - result += vec4(-0.00853374, 0.014111409, -0.018602863, 0.025112765); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.2167346, 0.08259927, 0.01593457, -0.06168633, 0.028108353, -0.016532995, 0.008972924, 0.011045642, -0.28601897, 0.25977787, 0.057599183, -0.011715917, 0.042454317, 0.08984024, -0.09684031, 0.12903662) * go_0(-1.0, -1.0); - result += mat4(-0.07467005, -0.0044173184, 0.042089712, -0.096472785, -0.090920694, 0.14287423, -0.1197274, 0.15093653, -0.17902398, 0.2337814, -0.2301511, -0.26088297, -0.16935518, 0.07310083, -0.0051561873, 0.2587852) * go_0(-1.0, 0.0); - result += mat4(-0.015114397, -0.0615879, 0.061449658, -0.08588831, 0.06878012, -0.066395596, -0.120973326, 0.1751009, 0.13974409, 0.07330856, 0.015523489, -0.119367056, -0.12705635, 0.08617225, -0.08821478, 0.042958662) * go_0(-1.0, 1.0); - result += mat4(-0.015199017, 0.031381227, 0.0780515, 0.069131814, -0.12783948, 0.030788802, -0.030043626, 0.016303174, -0.27775663, 0.16235924, 0.008142429, 0.04124429, 0.10874539, -0.022458551, -0.008865443, 0.09369907) * go_0(0.0, -1.0); - result += mat4(-0.01634807, -0.008341841, 0.06457744, -0.08560355, -0.24626143, 0.011861395, 0.020570388, 0.062295143, 0.34602648, -0.17742984, -0.02403783, 0.16412638, 0.10932493, -0.0042189476, 0.040966537, 0.058982532) * go_0(0.0, 0.0); - result += mat4(-0.043838717, -0.056111507, -0.016028062, -0.059582476, 0.12887439, -0.033336997, -0.26650676, 0.0662371, -0.053933796, -0.032257825, 0.16265263, 0.023418164, -0.08054197, 0.30419502, -0.19452181, 0.010710408) * go_0(0.0, 1.0); - result += mat4(0.01280635, 0.10079952, -0.033026945, 0.08498357, -0.04817073, -0.13418624, 0.09589368, -0.022635134, -0.06345144, -0.05724931, -0.14657016, -0.0786738, 0.05080321, 0.041433394, 0.01910969, 0.19891381) * go_0(1.0, -1.0); - result += mat4(0.10898035, -0.14818819, -0.08342, 0.106918834, -0.19069608, -0.023136294, -0.018794658, -0.03204733, -0.039217297, 0.07554547, -0.037759304, -0.044361852, 0.019575626, 0.09581649, -0.005387532, 0.08929196) * go_0(1.0, 0.0); - result += mat4(0.17248777, 0.08927015, 0.12626562, 0.069963455, 0.027248785, -0.10808538, 0.0022578489, -0.10984469, -0.015384902, 0.12769361, 0.06637168, 0.058609772, 0.013054495, 0.13254511, 0.076141186, 0.09916911) * go_0(1.0, 1.0); - result += mat4(-0.124390416, 0.10685674, -0.10966216, -0.08369025, -0.0651576, -0.1300008, -0.027007537, 0.13056019, 0.115544505, -0.07873411, -0.083743975, 0.05898996, 0.22908325, -0.053363908, -0.01612341, -0.15103827) * go_1(-1.0, -1.0); - result += mat4(-0.020670712, -0.2649095, -0.030632991, -0.04527719, 0.46974248, 0.043867197, -0.15608059, 0.20002516, -0.16267627, 0.0990293, -0.064487904, 0.19699238, -0.04589485, -0.038980853, 0.10857598, -0.0039152764) * go_1(-1.0, 0.0); - result += mat4(-0.2282477, -0.00044616987, 0.166831, 0.03326744, 0.15271889, -0.025690703, -0.29518652, 0.032539356, -0.06354523, -0.031361856, 0.053646125, 0.00018960344, -0.030466253, 0.15894201, -0.12748806, -0.11215912) * go_1(-1.0, 1.0); - result += mat4(0.11262574, 0.13243207, 0.050107982, -0.097106785, -0.12724099, 0.022966115, 0.033192, -0.08005735, -0.069815435, -0.06228412, 0.017130738, -0.08344178, -0.11615836, -0.11328931, 0.22229461, -0.066494435) * go_1(0.0, -1.0); - result += mat4(-0.047039963, 0.009185746, -0.10476018, 0.078825586, -0.045319136, 0.011463228, -0.02181092, -0.0020480661, 0.0045678956, -0.016130341, -0.14006588, 0.05225688, -0.12515195, 0.18153296, -0.05256603, -0.11048086) * go_1(0.0, 0.0); - result += mat4(0.18182711, -0.14322367, 0.15531246, 0.09205347, 0.25048062, 0.0677125, -0.08411049, 0.036185652, 0.19853042, 0.04891688, 0.07559669, -0.054106154, 0.01919658, 0.22520682, 0.15135488, -0.038460355) * go_1(0.0, 1.0); - result += mat4(-0.050445374, -0.14471428, -0.23796226, -0.15576342, -0.028298652, 0.09235079, -0.06269788, -0.19188045, -0.053789496, 0.11350222, 0.04766122, 0.10510269, 0.0038152386, 0.09062761, 0.1011998, 0.040780947) * go_1(1.0, -1.0); - result += mat4(0.019419372, 0.03997944, 0.119759075, 0.04283821, -0.051738333, 0.08721772, -0.077736385, -0.05724854, -0.08099945, 0.17420025, 0.073216155, -0.05489914, 0.09093694, -0.08793478, 0.013140325, -0.0043218792) * go_1(1.0, 0.0); - result += mat4(0.037703384, -0.02789724, 0.013243169, 0.17291826, 0.0074070534, 0.114018075, -0.104694985, -0.0530431, 0.10854754, -0.21815501, -0.091733016, 0.05429939, 0.008154856, 0.017797785, -0.04539086, -0.022114938) * go_1(1.0, 1.0); - result += mat4(0.08511963, -0.044427045, 0.13799068, -0.0029811792, -0.15045413, -0.09981538, 0.042939857, 0.1374501, -0.029713511, -0.13069215, 0.11228989, -0.11295705, -0.14637329, -0.09949667, 0.071820505, -0.12730566) * go_2(-1.0, -1.0); - result += mat4(0.08256388, -0.01721364, -0.14035071, 0.029640568, 0.10975381, 0.020408878, -0.048385482, -0.054182887, 0.07115744, -0.00768504, 0.062499907, 0.11246996, 0.15368488, 0.016138898, -0.07301467, -0.08368065) * go_2(-1.0, 0.0); - result += mat4(-0.061671108, 0.036220826, -0.051254276, 0.069273986, 0.15657571, 0.014273202, -0.13077787, 0.0056451196, -0.14062496, 0.03103866, 0.04512255, -0.010760401, 0.008121844, 0.011501802, -0.06567986, 0.017685082) * go_2(-1.0, 1.0); - result += mat4(-0.113867186, -0.12749363, -0.08943638, 0.13412562, -0.071981415, 0.022248283, -0.06953866, -0.08428237, 0.03129861, -0.06123529, -0.092742726, 0.020794291, 0.096983775, -0.02983442, -0.015079871, -0.081479155) * go_2(0.0, -1.0); - result += mat4(0.04013621, 0.084514834, -0.13812582, -0.12510088, 0.14553706, 0.10702256, -0.08045372, 0.08607196, -0.16143145, -0.007886448, 0.01781611, -0.003077175, -0.11296926, 0.1734043, -0.13854994, 0.13680972) * go_2(0.0, 0.0); - result += mat4(0.050505515, -0.17902215, -0.04802798, -0.14421499, -0.030427728, 0.03368048, -0.110685, 0.09567036, 0.03252777, 0.09485837, 0.06954893, 0.023373473, 0.07177965, 0.04810273, 0.08434124, 0.116279624) * go_2(0.0, 1.0); - result += mat4(0.0005544921, -0.051555045, -0.06470852, -0.0531636, 0.057035804, -0.03869994, -0.027945146, 0.07932229, -0.0063175303, -0.05515467, -0.08356414, -0.11859253, 0.12668021, -0.051041365, -0.012815135, 0.007949852) * go_2(1.0, -1.0); - result += mat4(-0.06800659, -0.0071774335, -0.08469053, 0.03886348, 0.025524322, -0.1410413, -0.043023676, 0.029417936, -0.07544589, 0.09294302, -0.08465406, -0.096837744, 0.08364276, 0.024115281, 0.271438, -0.058223505) * go_2(1.0, 0.0); - result += mat4(-0.109101065, -0.17002128, -0.24179345, -0.017228592, 0.10659014, 0.015143326, -0.12937164, -0.0338922, -0.036312755, 0.14563227, 0.009092129, 0.018083349, -0.05089822, -0.06514431, -0.03596386, 0.015814291) * go_2(1.0, 1.0); - result += mat4(-0.08573881, 0.03633208, -0.21500291, 0.15564376, 0.0030492172, -0.021795621, -0.09432696, 0.10721101, 0.2153867, 0.13202792, -0.12423073, 0.005352684, 0.037872642, -0.10474273, 0.013933625, -0.0068198596) * go_3(-1.0, -1.0); - result += mat4(-0.185121, 0.06808207, -0.1228317, 0.06725058, 0.09664016, 0.07007545, -0.027438058, -0.14229484, -0.0033542877, -0.24367031, 0.12804145, -0.19115108, -0.14038874, 0.09379996, 0.04307599, -0.20208067) * go_3(-1.0, 0.0); - result += mat4(-0.27465674, 0.06494048, -0.10362797, 0.0827255, 0.069154, -0.065038726, -0.06611099, 0.22829211, -0.112552926, -0.07423944, 0.011163635, -0.04373235, 0.030065138, -0.03776159, -0.013699219, 0.005617585) * go_3(-1.0, 1.0); - result += mat4(-0.14471242, 0.09473557, -0.008799688, 0.297687, -0.170291, -0.097003534, -0.13033749, -0.086734496, 0.1607779, -0.040937416, 0.07660159, -0.0802484, 0.15036124, -0.040300827, 0.13356747, 0.18778445) * go_3(0.0, -1.0); - result += mat4(-0.0062669497, -0.047926545, -0.02322052, 0.11640132, -0.027486369, 0.084390946, -0.12318683, 0.088127784, 0.034363724, 0.09600964, -0.08777073, -0.03262654, 0.09757491, -0.17299609, -0.10113106, -0.07975111) * go_3(0.0, 0.0); - result += mat4(-0.12862378, 0.05227614, 0.2132678, 0.056268826, 0.01965921, -0.27655914, 0.092967786, 0.005236845, -0.077529125, 0.08411694, -0.01710931, 0.026741153, 0.074644126, 0.028845703, 0.08699953, -0.024485381) * go_3(0.0, 1.0); - result += mat4(-0.04199397, -0.1308821, -0.19070597, -0.08945986, -0.1037197, -0.13604449, -0.016228938, -0.022551721, -0.0076362723, 0.17063893, -0.11217443, -0.08726737, 0.030895764, -0.1522529, 0.06507714, 0.12095355) * go_3(1.0, -1.0); - result += mat4(0.10817155, -0.09881775, 0.040993568, 0.13947234, -0.021370577, -0.1635348, 0.10220782, 0.02202579, 0.11209738, 0.020609956, -0.14656629, -0.13919814, -0.14060068, -0.12372531, -0.10188449, 0.09123819) * go_3(1.0, 0.0); - result += mat4(0.025041433, -0.10927458, 0.025021726, 0.06930344, -0.021769155, -0.15327594, -0.0069944495, -0.096232496, 0.045868713, 0.13147569, 0.12798029, 0.14647365, -0.12404578, -0.06822283, 0.05034958, -0.079014435) * go_3(1.0, 1.0); - result += mat4(0.120342575, 0.14266843, 0.15449679, -0.20489338, -0.18671677, -0.14057173, -0.022556288, 0.18901058, -0.039756775, -0.08051133, 0.0049373866, -0.07846298, 0.13748513, -0.16085026, -0.13095982, 0.069473505) * go_4(-1.0, -1.0); - result += mat4(-0.0007415831, 0.31254232, 0.21238111, 0.3193219, -0.013947761, -0.11949059, 0.071580306, 0.20652267, 0.0025851065, -0.050295394, 0.07416682, 0.118062474, 0.09723194, -0.1944007, -0.04659032, 0.0041032876) * go_4(-1.0, 0.0); - result += mat4(0.036666203, -0.034048863, 0.08825516, 0.12822092, -0.07214442, 0.14225818, 0.05442037, 0.2867944, 0.10804068, 0.005131857, 0.06265404, -0.1566144, -0.095446564, 0.02358177, -0.06441483, 0.013047708) * go_4(-1.0, 1.0); - result += mat4(-0.019146625, 0.006266473, 0.16762416, -0.0046162964, 0.028772417, -0.04452443, 0.14713071, 0.110226825, -0.08499617, 0.05402624, 0.1251715, 0.15287799, -0.13131016, -0.14755967, -0.0972085, -0.11798382) * go_4(0.0, -1.0); - result += mat4(-0.30595997, 0.12551622, 0.14074358, 0.31970632, 0.021614574, 0.05120308, -0.116856426, 0.17851515, -0.0606671, 0.0880086, 0.0879823, -0.121758536, -0.115652494, -0.10002807, 0.0134744225, -0.12445348) * go_4(0.0, 0.0); - result += mat4(-0.0023540058, 0.0014380866, -0.0062776282, -0.013318381, 0.2525834, 0.05257154, 0.27028328, 0.25816876, 0.0989505, 0.013704121, -0.12839815, -0.018599706, -0.06479225, 0.031059438, 0.09665992, 0.11649063) * go_4(0.0, 1.0); - result += mat4(0.15184228, 0.07354054, 0.12431531, 0.03574188, -0.092972584, -0.015326739, 0.058178544, 0.077439696, -0.048038736, -0.049098626, 0.06988285, 0.13670042, -0.030649297, -0.13373514, 0.079972826, 0.1935703) * go_4(1.0, -1.0); - result += mat4(-0.0306585, 0.034239594, 0.033652745, 0.08766325, 0.04726368, -0.0018955129, -0.07785312, 0.04691356, 0.04909221, 0.06809451, 0.05471455, 0.033277687, 0.08671436, -0.076155, 0.058292333, 0.07179553) * go_4(1.0, 0.0); - result += mat4(-0.11209963, -0.13103989, -0.33400932, -0.11662754, -0.0042046346, 0.10080948, -0.012552136, 0.067940794, 0.002866087, -0.009874096, 0.12763286, -0.03031877, -0.022642719, -0.036547594, 0.03913018, 0.16629295) * go_4(1.0, 1.0); - result += mat4(-0.049061082, 0.04717187, 0.071327575, 0.102352396, -0.07726938, 0.14094698, 0.09341758, -0.058272626, -0.12784153, -0.12360863, 0.07852188, -0.018093389, 0.035160895, 0.016824258, 0.0052461606, 0.0033554626) * go_5(-1.0, -1.0); - result += mat4(0.018116081, 0.16159694, -0.07326371, 0.022021493, -0.22974226, 0.14431556, 0.18882045, -0.06435289, -0.08000142, 0.22792707, 0.29219145, -0.11494335, 0.034841456, 0.06518259, -0.106704816, 0.021235496) * go_5(-1.0, 0.0); - result += mat4(0.018035064, -0.096702196, -0.003464681, -0.0022220302, 0.17624727, 0.14363256, -0.19396667, -0.34004405, -0.03063283, 0.19805308, -0.27726153, 0.057164174, 0.15531784, 0.047855917, 0.10516178, -0.032779023) * go_5(-1.0, 1.0); - result += mat4(-0.027642028, 0.012042295, 0.04119136, -0.0016244284, -0.008791894, -0.099617824, 0.130931, 0.09994816, 0.078902684, -0.09399918, -0.028129447, -0.08370564, 0.14835656, -0.092096, 0.028383795, 0.06584475) * go_5(0.0, -1.0); - result += mat4(0.05457846, -0.08758556, 0.065143414, -0.02529071, 0.025666919, 0.062288575, 0.064544715, -0.12310881, -0.02070911, 0.18719092, 0.0012470647, 0.09065394, 0.089744836, -0.15765521, 0.011515355, 0.0014871175) * go_5(0.0, 0.0); - result += mat4(0.07279259, -0.12122391, -0.08129001, -0.003152676, -0.12411482, -0.073190294, -0.082995065, -0.18986583, -0.13675113, 0.22535498, -0.3076794, 0.07931998, 0.05800563, 0.1491273, -0.041464128, 0.019409955) * go_5(0.0, 1.0); - result += mat4(-0.025654098, 0.004081217, 0.12530875, -0.021707695, 0.021711746, -0.12258257, 0.038685348, 0.012969257, 0.15082629, 0.25955087, 0.038080525, 0.06926174, -0.18477698, -0.019098116, -0.102281064, 0.15542246) * go_5(1.0, -1.0); - result += mat4(0.10249199, -0.10188846, 0.021524258, -0.12272311, -0.11009372, 0.06345044, -0.18588856, -0.007431814, -0.050587643, -0.15557933, -0.13853042, 0.047833357, -0.0744104, 0.11987986, -0.105088085, 0.042513683) * go_5(1.0, 0.0); - result += mat4(0.026596246, 0.018244766, 0.028712826, -0.09448985, -0.11023519, -0.18980093, -0.13144584, 0.028966134, -0.07903197, 0.07254252, 0.03271572, -0.016627928, 0.060513306, -0.0023916247, 0.036441766, 0.09406577) * go_5(1.0, 1.0); - result += mat4(0.14232405, 0.114720814, -0.11144986, 0.05589229, 0.21639122, -0.21761972, -0.061168928, 0.080087356, -0.10099732, 0.21700649, -0.031544153, 0.117821574, -0.06040332, 0.13623528, 0.06532833, -0.14136268) * go_6(-1.0, -1.0); - result += mat4(-0.07024258, 0.06820036, -0.09896652, 0.05239327, 0.032074407, 0.060166884, 0.10918488, -0.1604831, -0.009571049, 0.04476715, 0.0015439093, -0.10482196, 0.06763937, 0.06017622, 0.052919876, -0.014136124) * go_6(-1.0, 0.0); - result += mat4(-0.11302243, -0.1170903, 0.0673738, 0.23662187, -0.27710503, 0.22600567, -0.157852, 0.18483819, -0.06633612, -0.075139135, 0.18872209, -0.16697425, -0.009961328, 0.0054550236, 0.15502341, 0.28695628) * go_6(-1.0, 1.0); - result += mat4(0.092126146, 0.117538795, -0.06692514, 0.09119318, 0.062271398, -0.015108815, -0.11658865, -0.06650951, -0.07589854, 0.1035485, -0.021629412, 0.09805429, -0.0708413, -0.13716145, -0.062434144, -0.21314396) * go_6(0.0, -1.0); - result += mat4(0.14058985, 0.05628658, 0.068072565, 0.015168637, -0.081879094, -0.11241576, -0.15573281, -0.14864771, -0.008265013, -0.016971482, 0.029315297, -0.022753824, 0.17329606, 0.15320353, -0.019930441, 0.018783867) * go_6(0.0, 0.0); - result += mat4(0.13796028, 0.0007160951, 0.09305637, 0.1422529, 0.026356421, 0.123341836, 0.23719853, 0.1400149, -0.021316648, 0.024492603, 0.012550349, 0.045684777, 0.025818808, -0.018001324, -0.038435712, 0.20630158) * go_6(0.0, 1.0); - result += mat4(-0.11568665, -0.03569228, -0.044090636, -0.10155582, 0.083382055, 0.24301195, -0.022245454, -0.033773556, -0.0018937895, -0.032795303, 0.022721868, 0.061526462, 0.0015668315, 0.06938226, 0.0012288125, 0.16084138) * go_6(1.0, -1.0); - result += mat4(-0.05176824, -0.14839195, -0.103155345, -0.019997707, -0.019272018, -0.14287192, -0.122550696, 0.0026290747, 0.019299414, -0.06372184, 0.043157134, -0.082327895, -0.056246907, -0.14413235, -0.033780627, 0.004704482) * go_6(1.0, 0.0); - result += mat4(-0.046451636, 0.11087259, -0.037147224, 0.023245918, -0.042846806, -0.1184961, 0.1623827, 0.29253852, -0.06542917, 0.049678918, -0.12009241, -0.045717973, 0.056798954, -0.2672507, -0.2594758, 0.08353679) * go_6(1.0, 1.0); - result += mat4(0.13407503, -0.008476969, -0.06088965, -0.051065, 0.0742294, -0.16301575, 0.052767858, 0.07149886, 0.047530167, -0.068021476, 0.1448473, -0.07827654, 0.032189, 0.12479039, 0.21760924, -0.019127456) * go_7(-1.0, -1.0); - result += mat4(-0.11901753, -0.07702293, -0.19622257, 0.21091644, 0.101466514, -0.17538056, -0.026478102, -0.09568351, -0.13776886, 0.03352246, -0.044475798, 0.06343639, -0.06423362, 0.010770134, 0.10607595, -0.06725147) * go_7(-1.0, 0.0); - result += mat4(-0.068801604, -0.03648746, 0.02905415, 0.09690945, 0.07492833, -0.038676526, 0.12591788, 0.02544471, -0.0071540326, -0.08509896, 0.06756858, -0.036927108, -0.021289624, 0.17029919, 0.085151546, -0.26516253) * go_7(-1.0, 1.0); - result += mat4(0.07898282, -0.05492911, -0.06265257, -0.032484416, 0.17785741, -0.05145782, 0.01762633, 0.016563665, 0.060774446, 0.051605314, 0.033413686, -0.19302492, 0.13779348, -0.11123576, 0.12809837, 0.03933712) * go_7(0.0, -1.0); - result += mat4(-0.0611527, -0.15432398, -0.11532295, 0.1302903, 0.05395265, 0.0364706, 0.0031310646, -0.08676014, -0.06850696, -0.08188169, 0.09603465, -0.08290717, -0.001512079, 0.10533397, 0.13712364, -0.09277913) * go_7(0.0, 0.0); - result += mat4(0.19899495, 0.01849356, 0.03558897, 0.11410951, -0.10390808, 0.008156282, 0.057708547, 0.065857045, 0.083575174, -0.09678853, -0.020182457, 0.051305577, -0.015270724, 0.055178646, 0.06955839, -0.07062595) * go_7(0.0, 1.0); - result += mat4(-0.054933123, -0.04966491, -0.0047603757, -0.15511824, -0.052456774, 0.04770036, -0.12310741, 0.062061965, -0.0059904433, -0.07888004, -0.012614444, -0.15300304, 0.052804995, -0.028602274, 0.18020386, 0.06730639) * go_7(1.0, -1.0); - result += mat4(-0.025813729, 0.15076204, -0.13246286, 0.030926403, 0.06400941, 0.11952475, 0.081793286, 0.007770181, -0.06359484, 0.07682049, 0.10800592, -0.0327746, -0.107736856, 0.15939856, 0.1538754, 0.06256646) * go_7(1.0, 0.0); - result += mat4(-0.15986821, 0.021590011, -0.11264431, 0.0093079535, -0.013647156, -0.2604828, -0.11631053, 0.016986847, 0.0015941777, 0.05487975, -0.074997805, -0.06112192, 0.0983382, 0.013772516, 0.1471619, -0.08080517) * go_7(1.0, 1.0); - result += vec4(0.010537005, 0.0126211485, -0.032614365, 0.0065620933); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.08889782, -0.15311077, 0.04823438, -0.04558368, 0.044214565, -0.028379409, 0.028363805, 0.13412485, -0.02070058, 0.0712695, -0.07548294, 0.008121656, -0.0072323224, -0.03016635, -0.02453755, 0.019908503) * go_0(-1.0, -1.0); - result += mat4(0.050423365, 0.004502398, -0.13227503, 0.0142806405, -0.09818105, 0.036187742, 0.105036445, 0.030699562, 0.072710045, 0.036431707, -0.32996574, -0.028462645, 0.018948672, 0.092441365, 0.056769088, -0.0005644272) * go_0(-1.0, 0.0); - result += mat4(0.04035664, 0.02985188, -0.10089088, 0.03438271, 0.050862562, 0.07788319, -0.050375022, -0.06304437, 0.17106578, -0.028320076, 0.016773457, 0.15019535, -0.027613606, 0.035642974, -0.14601788, -0.013190211) * go_0(-1.0, 1.0); - result += mat4(-0.046619892, -0.16665885, 0.09188837, 0.009912041, 0.10663907, 0.015233106, -0.12871371, -0.019690927, -0.011069769, -0.22700125, -0.0690297, 0.019255418, -0.054341584, -0.01620642, -0.08029935, 0.0070098583) * go_0(0.0, -1.0); - result += mat4(-0.057606664, 0.11877831, 0.15346865, 0.036811285, -0.22125806, 0.0075666574, 0.17679036, 0.11306051, -0.13521308, -0.15850207, 0.022859296, 0.00769397, -0.08765156, -0.104902625, -0.07514916, 0.2486268) * go_0(0.0, 0.0); - result += mat4(-0.013212743, -0.0044239555, 0.025461525, -0.015481864, 0.14041474, 0.05975429, -0.17976587, 0.0145503, -0.077713594, -0.04593509, 0.052384466, 0.0006284831, 0.038034808, -0.05230159, -0.109702006, -0.07265091) * go_0(0.0, 1.0); - result += mat4(-0.025693098, -0.13572535, -0.01895864, 0.03893592, -0.036710177, -0.01088019, -0.09368372, -0.03182742, 0.122763634, -0.0076654744, -0.050077043, -0.022201162, 0.0074185994, -0.006451397, -0.038261954, -0.1110297) * go_0(1.0, -1.0); - result += mat4(-0.039450645, -0.04789768, 0.09936957, 0.058521174, 0.07142846, -0.084644906, 0.07261612, -0.046694856, -0.012884207, 0.13373013, -0.01742012, -0.1042255, -0.12536846, 0.070329286, 0.047471847, -0.10530532) * go_0(1.0, 0.0); - result += mat4(-0.04974837, 0.13026807, 0.04820301, -0.01600421, -0.042744927, -0.025909515, 0.014976897, 0.08282662, 0.022004148, 0.06386686, 0.059391394, -0.082625166, -0.008872271, 0.1102126, 0.035499003, -0.13043708) * go_0(1.0, 1.0); - result += mat4(-0.043579586, -0.046892926, -0.070677124, -0.041093647, 0.03537788, -0.076763846, 0.0009548247, 0.14523864, 0.05719185, -0.045606427, 0.123260975, 0.006404617, -0.099142045, 0.03578823, -0.10354938, -0.07529272) * go_1(-1.0, -1.0); - result += mat4(-0.116821036, -0.15675275, 0.18103552, 0.04812708, -0.036657147, 0.08506689, 0.24174918, 0.22408468, -0.06543428, 0.066437855, 0.19154602, 0.028406492, -0.046705004, -0.04704879, 0.19588713, 0.055319898) * go_1(-1.0, 0.0); - result += mat4(-0.010022652, 0.0015642877, 0.009469823, 0.009802116, -0.037166927, -0.02884251, 0.13500874, 0.01426166, 0.008246828, 0.03139519, -0.012114353, -0.016503382, 0.2640404, -0.051485654, -0.016649412, -0.017588545) * go_1(-1.0, 1.0); - result += mat4(-0.010124425, -0.14225397, 0.08314724, -0.23153158, 0.0014681354, -0.1390618, 0.07377463, 0.039181106, -0.040100355, -0.0142914895, -0.17522524, -0.037204843, 0.021581141, 0.18683401, 0.13369183, 0.0390764) * go_1(0.0, -1.0); - result += mat4(-0.02851701, 0.23242348, 0.1277155, -0.19211055, 0.023522437, -0.08730311, -0.05148616, 0.035363246, 0.042116232, 0.08163083, 0.04480609, 0.038017258, 0.19803137, 0.099729985, -0.038464006, -0.07226916) * go_1(0.0, 0.0); - result += mat4(-0.1866285, -0.11600278, 0.1881696, 0.06068764, -0.10416259, 0.077949375, -0.053726874, 0.1047242, -0.13619052, -0.08904579, -0.016545152, 0.17650889, 0.039236277, 0.043816928, 0.1268894, -0.19868605) * go_1(0.0, 1.0); - result += mat4(-0.025585523, 0.045342762, 0.0026381463, 0.004636469, -0.07053126, 0.04854706, -0.018913629, -0.010274392, 0.081275366, 0.052705947, 0.07343148, 0.09422946, -0.074321106, -0.0866174, -0.051429134, 0.057454497) * go_1(1.0, -1.0); - result += mat4(0.037784588, 0.084031895, 0.065270744, -0.10870336, -0.13500641, -0.025338924, -0.019163836, -0.07293429, 0.116194114, 0.1266802, 0.015490869, 0.008635241, -0.21149078, -0.199303, 0.009074041, 0.042760603) * go_1(1.0, 0.0); - result += mat4(-0.06323883, 0.055710826, 0.017565519, -0.04540938, 0.013367078, 0.15984154, 0.13096973, 0.03138492, 0.027152853, -0.021551156, -0.13443787, 0.06898135, -0.10787318, -0.043363508, 0.00666605, 0.043900643) * go_1(1.0, 1.0); - result += mat4(0.009035264, 0.020594807, 0.015705304, 0.01909982, 0.08320093, -0.103481755, -0.10641082, -0.03442891, 0.0047570583, 0.08687775, 0.06897745, -0.018835394, -0.066996634, -0.049071193, -0.16802575, 0.0044500753) * go_2(-1.0, -1.0); - result += mat4(0.04045015, 0.08801431, -0.08804257, -0.0023234654, 0.030842444, 0.018819112, 0.10408235, 0.06429923, 0.03985677, 0.031426232, 0.13569061, -0.14335556, -0.037044074, -0.103468224, -0.09185709, -0.07604263) * go_2(-1.0, 0.0); - result += mat4(-0.010495441, 0.06289279, -0.05870335, -0.1904296, 0.057986103, 0.043326564, -0.097958155, 0.104971156, 0.07364184, 0.034985706, -0.19703776, 0.043712724, 0.07940852, -0.010851745, 0.14496458, -0.015142011) * go_2(-1.0, 1.0); - result += mat4(0.025466047, -0.08039815, -0.026971048, 0.10441981, -0.06507468, -0.1337023, 0.1451312, -0.092361696, 0.11647118, -0.018967701, -0.09679053, -0.12715657, 0.0049849623, 0.05230491, -0.021765102, -0.020865416) * go_2(0.0, -1.0); - result += mat4(0.0075712977, 0.03345767, -0.057719618, 0.14185268, 0.082015894, 0.009533725, 0.07871332, -0.09614353, 0.07002554, 0.079299755, -0.025585618, 0.0152029125, -0.08076779, -0.19227244, -0.04965265, -0.061909772) * go_2(0.0, 0.0); - result += mat4(-0.010124431, 0.0013454502, 0.05622167, 0.0614913, -0.006998316, 0.023906026, -0.07123647, -0.09987564, -0.14460497, -0.041314058, -0.036342222, 0.112912245, 0.048668977, 0.044658728, 0.019917604, -0.007595695) * go_2(0.0, 1.0); - result += mat4(0.055248134, 0.017488867, -0.0074054203, -0.04487277, -0.13840093, 0.037144244, -0.0017901342, -0.049469203, -0.068407014, -0.002747277, 0.029810332, -0.07904478, 0.055827897, 0.114826, 0.07382718, -0.026687222) * go_2(1.0, -1.0); - result += mat4(0.08219817, 0.1619462, -0.09470693, 0.083237365, -0.0924052, 0.01067484, -0.0035807928, -0.069811486, -0.013960181, 0.10654318, -0.024244606, -0.06582165, 0.04962566, 0.027068332, 0.0841098, 0.033444792) * go_2(1.0, 0.0); - result += mat4(0.17503081, 0.03665154, -0.0675055, 0.027293172, -0.03523338, 0.0109953685, 0.011622604, -0.11386672, -0.00032072345, -0.025685903, -0.05279821, 0.09421746, 0.039889757, -0.01880816, 0.05618171, 0.0022874111) * go_2(1.0, 1.0); - result += mat4(-0.13145523, 0.18216553, 0.16554132, 0.09174621, -0.0051634437, -0.048285816, -0.029851796, -0.024521131, -0.064170815, 0.04725991, -0.097417906, -0.09764079, 0.049423784, 0.16233915, 0.23060358, -0.0062447516) * go_3(-1.0, -1.0); - result += mat4(0.032495294, -0.2682059, -0.37521285, -0.029825145, -0.09773881, -0.0066955523, 0.06277792, -0.083181195, 0.05386697, -0.037506554, -0.039655734, -0.0050008455, 0.037204262, 0.09936529, 0.005109203, 0.12107711) * go_3(-1.0, 0.0); - result += mat4(0.17437148, -0.059008747, -0.22437404, -0.061140712, -0.085489735, -0.03494208, 0.080636404, -0.060815886, 0.05937275, -0.025692465, -0.025606196, 0.042834997, -0.13546485, -0.10590498, -0.14345334, 0.0046743182) * go_3(-1.0, 1.0); - result += mat4(0.03558994, 0.087737836, -0.038992245, 0.14311473, 0.053867705, -0.1257101, -0.0018974398, 0.018802585, 0.034442518, 0.09937298, 0.13657762, 0.024501108, -0.0040634726, -0.078894846, 0.10380101, 0.035019495) * go_3(0.0, -1.0); - result += mat4(-0.16890417, 0.06156658, 0.03077302, -0.16106246, -0.017029505, 0.11685676, -0.012574194, 0.039645053, -0.003144679, 0.089480534, -0.03166805, 0.08350338, 0.012151949, -0.033835117, 0.11382378, 0.07414846) * go_3(0.0, 0.0); - result += mat4(-0.17016909, 0.027876107, 0.04067996, -0.048124984, 0.011483843, 0.09505421, -0.009452186, -0.051690947, -0.07523587, 0.10085903, -0.05644697, -0.028940927, 0.17628358, 0.09629752, 0.14373964, 0.0021410924) * go_3(0.0, 1.0); - result += mat4(-0.0037599285, 0.04272923, 0.0026777869, -0.0140216, -0.026618365, -0.04173863, 0.08150853, 0.0025315892, -0.01895354, 0.102992274, 0.041345052, 0.03883729, 0.0924492, 0.05886179, 0.015202135, -0.11207661) * go_3(1.0, -1.0); - result += mat4(-0.12403727, 0.01637198, 0.04096121, -0.11977578, -0.014450318, -0.06769534, 0.11740226, 0.08816537, 0.19629698, 0.18154356, -0.08592387, -0.019187221, -0.03796658, -0.106272355, 0.05420226, 0.018840006) * go_3(1.0, 0.0); - result += mat4(-0.050734147, 0.061064612, 0.016702149, -0.018882874, 0.09218629, -0.11073548, -0.0028023277, -0.010835074, 0.04149203, 0.12168354, -0.059796926, -0.12945394, 0.038868375, -0.08704314, -0.009328244, 0.081930615) * go_3(1.0, 1.0); - result += mat4(-0.100008845, -0.115009055, 0.15168963, -0.01758568, 0.04532579, 0.08870267, 0.09462516, 0.005414994, -0.050950747, 0.13270593, 0.030503616, 0.027042845, -0.006835031, -0.10579588, -0.0643324, -0.008061472) * go_4(-1.0, -1.0); - result += mat4(-0.18259896, -0.06677021, 0.009504482, -0.1842928, -0.026170325, 0.00043852927, -0.06471976, 0.02997685, 0.02595068, 0.031614214, 0.21114227, 0.025900716, -0.17008767, -0.007941647, 0.17943352, 0.057212297) * go_4(-1.0, 0.0); - result += mat4(0.010857713, -0.0002794059, 0.23158428, 0.16893044, -0.1557764, 0.019845916, -0.050243165, 0.020767516, -0.058061093, 0.020982072, 0.012367622, 0.01101485, 0.024589071, 0.05084018, -0.02436446, -0.05878187) * go_4(-1.0, 1.0); - result += mat4(0.012373701, 0.067655645, -0.028974818, -0.051458526, -0.03400436, 0.07357711, 0.020821717, 0.120083876, -0.053849153, 0.1278378, -0.011223256, 0.06836699, 0.030158738, 0.0467768, 0.14818475, -0.045275457) * go_4(0.0, -1.0); - result += mat4(0.03103519, -0.026628016, -0.15541978, -0.08434361, 0.06292301, -0.03746335, -0.107766226, -0.09786059, 0.07117096, -0.06319719, 0.11203641, -0.037364762, 0.12603277, 0.08220379, 0.0149918785, -0.092076994) * go_4(0.0, 0.0); - result += mat4(-0.09075286, -0.033164006, 0.10945737, 0.2770637, -0.16555783, 0.07310421, 0.026942289, 0.29650962, -0.1007844, 0.009096539, -0.06395033, 0.09699946, -0.07901404, 0.040918924, 0.098537594, -0.04509798) * go_4(0.0, 1.0); - result += mat4(0.007999323, 0.0046959305, -0.03181889, -0.041286197, -0.0036372268, 0.020058637, 0.037964053, -0.016066216, -0.019170566, 0.016866915, -0.10172061, 0.09604732, 0.082420416, -0.05594466, -0.0756941, 0.036003392) * go_4(1.0, -1.0); - result += mat4(0.071109265, -0.08595922, -0.15273578, -0.04714358, -0.039822437, 0.085219406, -0.057365675, 0.045313027, 0.1338325, -0.027771475, 0.13640241, 0.1525042, 0.055682134, -0.094727375, -0.026674733, -0.009161929) * go_4(1.0, 0.0); - result += mat4(0.0027815856, 0.17028663, 0.01599458, 0.11059541, 0.021278301, -0.02299255, -0.046445813, 0.01140362, -0.028351959, -0.038226657, -0.01955651, 0.11908411, -0.034029853, -0.10767461, -0.11081511, 0.03566396) * go_4(1.0, 1.0); - result += mat4(-0.01359866, 0.13117082, -0.09357916, -0.029195316, -0.009054719, 0.0694315, 0.17173718, 0.037290372, 0.062218763, 0.082544655, 0.03066545, 0.09272635, 0.082720116, -0.014737289, 0.10527505, -0.0689924) * go_5(-1.0, -1.0); - result += mat4(-0.0706202, 0.12618336, -0.15827578, -0.057750463, 0.14855652, 0.1458758, -0.123203725, 0.19543667, 0.18961985, -0.007020239, -0.031297687, -0.033669226, -0.010986353, 0.0066039455, -0.1652515, -0.0059961043) * go_5(-1.0, 0.0); - result += mat4(-0.040597215, 0.016640672, 0.0061419294, 0.080478184, 0.018984126, 0.06710943, -0.06675578, -0.11948528, 0.04214188, 0.0052774074, 0.030882267, -0.005388406, -0.039811462, -0.01028474, -0.083587855, 0.0029053325) * go_5(-1.0, 1.0); - result += mat4(-0.05731081, -0.04265545, -0.0755327, 0.1441698, 0.036332745, -0.0067641083, -0.04228671, 0.08545495, -0.0909647, 0.2205254, 0.20305182, -0.09450949, -0.04061624, -0.035271652, -0.095942676, -0.026358822) * go_5(0.0, -1.0); - result += mat4(-0.050612856, 0.0145045, 0.17043534, 0.08267622, -0.034799397, -0.06804938, 0.13429774, 0.07218003, 0.15208139, -0.039168525, 0.038500663, 0.07258302, -0.122111656, -0.15208225, -0.09210869, 0.059862003) * go_5(0.0, 0.0); - result += mat4(0.0415679, 0.11520605, -0.030313483, 0.122075975, 0.06583631, -0.019953119, 0.109392576, -0.0510396, 0.09787855, 0.26775602, -0.18646449, -0.12933819, -0.04493963, -0.037615146, 0.0570058, 0.011027787) * go_5(0.0, 1.0); - result += mat4(-0.02655267, -0.098945014, -0.09336936, 0.07748091, -0.00047962685, 0.014854489, -0.068141386, 0.0071108737, -0.1333433, 0.03353786, 0.018027728, -0.07141378, -0.064265154, 0.056028087, 0.082747355, -0.071275316) * go_5(1.0, -1.0); - result += mat4(-0.05542939, -0.07380958, 0.01437026, 0.23931144, 0.08378484, 0.026806151, 0.009641943, -0.011398272, -0.051237162, 0.08034507, -0.017141929, -0.020286817, 0.08660475, 0.07309451, -0.03789005, -0.052705795) * go_5(1.0, 0.0); - result += mat4(-0.028130122, -0.031831503, 0.016689168, 0.10056315, -0.06354666, -0.15095639, -0.08982293, 0.116643555, -0.025013596, -0.019885266, 0.014840034, -0.2278798, -0.01701857, 0.011629466, -0.006176379, 0.04527816) * go_5(1.0, 1.0); - result += mat4(0.09877462, 0.029073205, 0.11243462, 0.044177532, -0.075923786, 0.02546148, 0.10739565, -0.13975054, 0.044879325, -0.11958629, 0.04363638, 0.077704646, 0.02696298, -0.027670769, -0.09089905, -0.06455269) * go_6(-1.0, -1.0); - result += mat4(0.0030152819, -0.02731273, 0.0066886866, 0.048644535, -0.06557933, -0.005832296, -0.06140005, -0.1994014, -0.11878561, -0.2267219, -0.11640984, -0.0155212805, 0.07085509, -0.009048477, -0.14769004, -0.123608634) * go_6(-1.0, 0.0); - result += mat4(-0.06752226, -0.016893445, 0.07294028, -0.052196287, 0.03547883, 0.101674356, 0.04949045, -0.09284047, 0.0729387, -0.07581744, -0.09281662, -0.031965096, 0.037925586, -0.07312763, -0.036286525, 0.03144849) * go_6(-1.0, 1.0); - result += mat4(0.064824305, 0.024864329, -0.056642268, 0.04918063, 0.1930241, 0.0071046185, -0.016237276, 0.013059835, -0.14946592, -0.09492835, 0.020961342, 0.047568906, 0.00048450654, -0.15269406, -0.08010619, -0.1388464) * go_6(0.0, -1.0); - result += mat4(-0.18825355, 0.22652678, 0.13892595, 0.117251605, -0.062407874, 0.008739453, 0.073387355, 0.05264442, -0.0031089867, -0.06777429, -0.16784573, -0.020113356, 0.04869496, 0.08135994, 0.07246035, -0.19927453) * go_6(0.0, 0.0); - result += mat4(-0.18046555, 0.14942019, -0.009922297, 0.040851727, -0.13020493, 0.10147689, -0.08173918, -0.026491666, 0.039945066, 0.08903092, -0.036917374, -0.093293, -0.09607799, 0.19442783, -0.004808152, 0.097780965) * go_6(0.0, 1.0); - result += mat4(-0.0758065, -0.03808871, 0.047511652, -0.0060790107, 0.08365728, 0.199537, 0.034738176, -0.19402026, 0.038024064, 0.065259285, 0.053378936, -0.009232693, -0.063165165, 0.024357138, 0.01648106, -0.0013202438) * go_6(1.0, -1.0); - result += mat4(0.03521039, -0.034457784, 0.1159957, -0.115214765, 0.1685411, -0.021456879, -0.08062013, -0.13672292, -0.0668036, -0.101206556, -0.052379187, 0.03147825, -0.09889599, -0.028870791, -0.11832699, -0.0046074977) * go_6(1.0, 0.0); - result += mat4(-0.050857995, 0.15759641, 0.047607794, 0.14805913, -0.07750758, 0.105473354, 0.102374494, 0.01994999, 0.033616915, -0.06992014, 0.056393575, -0.14204934, 0.05354153, 0.05013943, -0.114074394, 0.065119326) * go_6(1.0, 1.0); - result += mat4(-0.04829731, 0.06885148, -0.14768778, -0.060326908, -0.103351146, 0.036768492, -0.06135658, 0.11148307, 0.014534502, 0.123006314, 0.036450353, -0.0383252, -0.20370677, -0.17286272, 0.16101491, 0.07556089) * go_7(-1.0, -1.0); - result += mat4(-0.15262854, 0.14199285, 0.2511771, -0.10075314, 0.17736407, 0.2943528, 0.27172905, 0.1151125, 0.049084056, 0.059168756, 0.0650204, 0.03935768, -0.15067302, -0.13848037, -0.033887982, -0.026555846) * go_7(-1.0, 0.0); - result += mat4(-0.0051172585, 0.02692111, 0.20705879, 0.008218838, -0.021862414, -0.102145776, 0.12885559, 0.114753574, 0.102891475, -0.1007345, 0.01208991, 0.05938357, 0.06780603, -0.1589195, -0.20958908, -0.041277707) * go_7(-1.0, 1.0); - result += mat4(0.05422305, 0.029327532, -0.14234012, -0.030016532, 0.0482255, -0.046472695, 0.09939593, 0.08224116, 0.035823345, 0.07811289, -0.10744252, -0.08363756, -0.08364467, 0.057085298, -0.16731818, 0.20220445) * go_7(0.0, -1.0); - result += mat4(-0.001880624, 0.11825207, 0.008596269, -0.10103486, -0.17410794, 0.0017706376, 0.21030387, 0.10192447, 0.07783077, -0.014912659, 0.164237, -0.17776188, -0.097639844, -0.08774552, -0.16644147, 0.12934735) * go_7(0.0, 0.0); - result += mat4(0.06927279, 0.059731327, -0.060738076, -0.062833875, -0.015539843, -0.021360295, -0.053207625, 0.115540475, 0.017843733, 0.065999255, 0.0007332877, -0.03914544, -0.105941266, -0.07532644, -0.095935695, 0.10708794) * go_7(0.0, 1.0); - result += mat4(0.0873342, 0.003396962, 0.026241373, -0.0785419, 0.081882305, -0.01897599, -0.040988095, -0.028300753, -0.056872226, -0.03653725, -0.0036923515, -0.07191479, 0.070348285, 0.20352787, 0.14121976, 0.055011783) * go_7(1.0, -1.0); - result += mat4(0.01868485, 0.0013574177, -0.025322456, -0.08943172, 0.08110719, -0.0014665145, -0.17301609, -0.15072477, 0.032763265, -0.048716765, 0.035305195, -0.064817816, 0.0371342, -0.08201281, -0.19665426, 0.0653309) * go_7(1.0, 0.0); - result += mat4(0.034040254, 0.08749453, 0.039605893, 0.026554601, 0.049870778, 0.16673377, -0.024515232, 0.1613443, -0.039366666, -0.011511365, 0.03501774, -0.015119788, -0.10082997, 0.002426415, -0.067138135, -0.05282799) * go_7(1.0, 1.0); - result += vec4(-0.01535558, -0.024700014, 0.041315205, 0.023633905); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.07763047, 0.27418226, -0.14338551, -0.11081361, 0.18755837, 0.13486148, -0.103934124, 0.15729067, -0.30118144, -0.23599705, -0.03624479, -0.13197371, 0.2509935, -0.053046692, 0.22451721, 0.062433634) * g_0; - result += mat4(-0.009606105, -0.11484272, 0.014596453, 0.05732435, -0.28318888, 0.14493735, -0.12094529, -0.021383354, -0.19675042, -0.20649005, -0.117224075, -0.044716556, 0.07876854, 0.0063603655, 0.14384452, 0.34768546) * g_1; - result += mat4(-0.20010832, 0.26670012, -0.07552091, 0.16396587, -0.0011262367, -0.10468841, 0.17872465, -0.041907642, -0.04863038, -0.13880715, -0.12238532, -0.00602456, -0.11301867, 0.13501893, -0.15452485, 0.0051267557) * g_2; - result += mat4(0.015291708, -0.2517837, -0.24560767, 0.10868371, -0.1582953, -0.30957448, 0.29895902, -0.25554538, 0.24216072, -0.045922607, -0.08923091, -0.25642177, -0.33101156, -0.0058916584, 0.1821658, -0.05911768) * g_3; - result += mat4(0.15687323, 0.055351928, -0.32324156, 0.1137441, 0.41560605, 0.41545513, 0.12071179, 0.10673924, -0.11547584, -0.37552577, 0.077131264, -0.12138124, -0.13219355, -0.22411941, 0.03978703, 0.3492272) * g_4; - result += mat4(0.07044036, 0.11714306, -0.13374294, -0.055823848, -0.06303139, -0.1482969, -0.110342264, 0.036638733, 0.314413, 0.1842789, 0.17475197, 0.043438207, 0.0015348946, -0.3156743, -0.056865085, -0.053799774) * g_5; - result += mat4(0.21131508, 0.4045569, 0.083308145, 0.14813706, -0.02388631, -0.061720062, 0.24854286, 0.30907345, 0.027408333, -0.007549164, 0.19938764, -0.17439002, 0.025626602, 0.08443904, -0.2024683, -0.06329822) * g_6; - result += mat4(-0.015397141, 0.18421206, 0.08390624, -0.119724214, 0.17461216, 0.25613582, 0.056294072, -0.30151296, -0.1661106, 0.004817213, 0.20178172, -0.1557543, 0.31574607, 0.016265873, -0.11313175, 0.101584174) * g_7; - result += mat4(-0.036003333, -0.2948743, 0.08890492, -0.2424807, 0.20558605, -0.005326227, -0.14824234, 0.13657871, -0.08299064, -0.2654781, 0.07763288, -0.20758678, 0.12413959, -0.09051654, -0.27145076, 0.1981802) * g_8; - result += mat4(0.06444485, 0.041239545, 0.4109527, 0.25702617, -0.17460653, 0.2697094, 0.18714386, -0.10359985, 0.034952056, 0.058017034, 0.36967984, 0.1442043, -0.102753505, -0.07272067, 0.09906319, -0.02692305) * g_9; - result += mat4(-0.3257422, -0.25091344, 0.05630559, -0.22858965, 0.0969714, 0.0627054, -0.09547412, -0.21921997, 0.11027036, -0.2087131, -0.0034146109, -0.042596426, 0.1338729, -0.029776977, -0.136488, 0.048176914) * g_10; - result += mat4(0.42944148, 0.07361601, 0.039996527, -0.06972752, 0.12532753, -0.05265781, -0.061011825, 0.12728149, -0.007630841, 0.010768823, -0.08062439, 0.15050723, 0.059922203, 0.034361467, 0.2352152, -0.059999254) * g_11; - result += mat4(0.1987271, -0.068179525, -0.33349162, 0.018712096, -0.069019474, 0.16223519, -0.012386762, -0.058549248, 0.23421755, -0.11690985, -0.18661754, -0.12185474, -0.022877546, -0.11763273, 0.0713361, -0.036679223) * g_12; - result += mat4(-0.0042756563, -0.20779006, -0.14918481, 0.096974574, -0.015246231, -0.11454528, 0.14464086, 0.19934529, -0.0877081, 0.38296238, -0.010145265, -0.4274725, -0.20933542, 0.03727663, -0.004354278, -0.024973618) * g_13; - result += mat4(-0.15737206, -0.20578605, 0.2868647, -0.13985285, 0.13827614, -0.048706137, 0.10751875, -0.09783745, 0.04060606, 0.21132666, 0.0064998385, -0.03548873, 0.11786483, -0.15699282, 0.2044634, 0.007233451) * g_14; - result += mat4(-6.82634e-05, 0.23951311, -0.06425014, 0.07997111, 0.11085256, 0.15976904, 0.13375166, 0.21199653, -0.35401696, 0.065035254, -0.030974375, -0.08552442, 0.37972608, 0.10081147, 0.2001372, 0.17563076) * g_15; - result += mat4(0.2773931, 0.1178841, 0.027378619, 0.2863328, -0.30616024, 0.06384452, -0.16728342, 0.06004475, 0.011872468, 0.05471154, -0.32518378, -0.18874332, -0.12623757, 0.23276375, 0.068185456, 0.21938467) * g_16; - result += mat4(-0.18750657, -0.22679184, -0.024820909, -0.095249355, -0.14394966, -0.27550733, -0.19173676, 0.20593777, 0.07831533, 0.2730425, 0.34470567, 0.07874521, 0.09838028, -0.13954316, 0.18111953, 0.18931043) * g_17; - result += vec4(-0.03305349, -0.054945398, 0.02216584, -0.091164745); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf1 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.29876372, 0.016366975, 0.21096407, -0.020094471, -0.1900656, -0.072851926, 0.26933378, 0.2965162, 0.047404896, -0.07100038, 0.36576727, -0.1726564, -0.09022945, -0.045195863, 0.054235443, 0.05129035) * g_0; - result += mat4(-0.17622513, 0.029871318, 0.1261812, 0.2222432, -0.13800889, 0.07485947, 0.18132168, -0.07646577, 0.35130787, 0.025769712, -0.08360745, 0.1823751, 0.2580671, 0.17893296, -0.2970342, 0.2615672) * g_1; - result += mat4(-0.09122936, 0.041544963, 0.11103348, -0.32509488, 0.11889552, -0.15459736, -0.14604495, 0.13639185, 0.25519374, -0.09549251, 0.027490158, -0.22870867, 0.15262592, -0.05271851, 0.07649719, -0.14544797) * g_2; - result += mat4(-0.07842013, -0.07909847, 0.16719495, 0.060775355, 0.039721165, -0.11024404, 0.15099376, 0.017221982, 0.03604949, -0.00044745833, 0.09993808, 0.016347472, -0.1123219, 0.12352075, 0.0055856355, -0.038503457) * g_3; - result += mat4(0.04749609, -0.011603198, -0.11631744, 0.29501718, 0.21616888, 0.076152876, 0.008262415, -0.17586538, -0.025060087, -0.06677992, -0.05253498, 0.20535102, 0.14948508, -0.16102068, 0.06183411, 0.12077816) * g_4; - result += mat4(-0.0036952377, 0.15648776, -0.2770151, -0.26803473, -0.12806855, 0.21423273, 0.10177632, -0.010165392, 0.059501424, -0.16206288, -0.0119383745, -0.09637166, 0.016029779, -0.107704446, -0.066519134, -0.039579522) * g_5; - result += mat4(-0.025284212, -0.11085338, -0.10921526, 0.19486162, 0.002627237, -0.24155024, -0.22131649, -0.008362887, -0.17378221, 0.254153, 0.14457825, 0.1237066, 0.1588314, 0.034734476, -0.32959384, 0.18392745) * g_6; - result += mat4(-0.23717919, 0.032724388, -0.2579177, 0.032373153, 0.19237953, 0.18673407, -0.032884978, 0.34017587, 0.3633359, 0.22996293, 0.05866704, -0.051001176, 0.10989479, 0.15821928, 0.03814914, 0.18687908) * g_7; - result += mat4(0.18111174, -0.045572106, 0.28947538, 0.028062606, 0.017460342, -0.11182857, -0.02323663, 0.22442394, -0.09908654, -0.1892071, -0.16361217, 0.23111914, -0.4034355, -0.160105, 0.124996185, 0.16111071) * g_8; - result += mat4(-0.24601339, 0.16504896, -0.50432545, 0.17059588, -0.05622342, 0.03449165, 0.19813967, -0.23526217, 0.027649945, -0.091902114, 0.24123852, -0.27897063, 0.092255116, 0.46413165, 0.24431442, -0.28772914) * g_9; - result += mat4(-0.10406283, 0.011556308, -0.28718328, 0.089035675, -0.34427065, -0.14430703, -0.05688551, 0.0073183607, -0.09622162, 0.11313123, 0.05555725, 0.14841734, 0.1549386, -0.17246638, 0.20873484, -0.03606831) * g_10; - result += mat4(0.026205625, 0.20152962, -0.06303816, -0.3621029, -8.37066e-05, 0.022963323, 0.1556007, -0.010206023, -0.03585696, 0.013210482, 0.08844526, 0.08085807, 0.0154804215, 0.01674602, -0.22619575, -0.20517838) * g_11; - result += mat4(-0.14771776, -0.087712936, 0.26490626, 0.13074578, -0.15972485, -0.17711553, -0.023439731, -0.35535946, 0.033503015, -0.04976214, 0.18148364, -0.25102466, 0.1015065, -0.17691332, -0.117089726, 0.2718636) * g_12; - result += mat4(0.021445429, -0.2229151, 0.04363617, -0.01848845, 0.19044793, 0.12978733, 0.1401384, -0.051114038, -0.16472392, -0.059583012, -0.002701528, -0.12270173, -0.18227173, 0.03988044, 0.3377543, -0.18024927) * g_13; - result += mat4(0.38426477, -0.09308802, -0.11083124, 0.21756104, -0.055889897, 0.100914784, 0.051462848, 0.1997221, 0.16923136, -0.0040037725, 0.21070997, -0.035059523, -0.0740145, -0.42558807, -0.020239443, -0.06474659) * g_14; - result += mat4(-0.020568244, 0.08227015, -0.053252015, 0.01569164, -0.109781235, 0.06688285, 0.2620034, -0.18460485, -0.13735083, 0.0030442013, -0.21416521, -0.054695573, 0.047963038, 0.10726088, 0.034117166, 0.21801902) * g_15; - result += mat4(0.520728, 0.06186967, -0.30889672, 0.0150618, -0.014702558, -0.2076953, -0.13387786, 0.101004966, -0.16997512, 0.14452092, -0.018287892, -0.14064445, 0.10045448, 0.33445045, 0.12254727, 0.033601977) * g_16; - result += mat4(-0.08978202, 0.015013341, 0.11111453, 0.05192639, 0.18055484, 0.123284765, -0.1554275, 0.09262196, 0.057058904, -0.080403194, -0.163374, 0.046445247, -7.656726e-05, 0.23957397, -0.24086528, -0.04172887) * g_17; - result += vec4(0.0030341349, -0.028386809, -0.0693459, -0.021886); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf2 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12601665, 0.16175638, -0.19269617, 0.107886985, -0.28229153, -0.47275612, -0.23898768, 0.11874162, -0.0438132, 0.1620992, -0.07009845, -0.088367306, -0.13653506, -0.24453755, 0.07402701, 0.112232625) * g_0; - result += mat4(-0.1342178, -0.06971262, 0.12556942, 0.01929168, 0.23838176, 0.018971201, -0.05296016, -0.08929702, 0.040384937, -0.09414689, 0.07239966, 0.057094514, 0.022977736, 0.23681253, 0.07352691, 0.1401568) * g_1; - result += mat4(0.13201892, 0.04062019, 0.052444696, 0.039319273, 0.029174356, 0.024773024, 0.24973504, 0.20124938, -0.11042911, -0.32369703, 0.13876265, 0.07454285, -0.29048622, -0.0073187165, 0.18820713, 0.1310624) * g_2; - result += mat4(-0.052355357, 0.14466842, -0.20304704, -0.10945343, -0.13633797, -0.0362287, 0.21200177, -0.115031704, -0.007819006, -0.0060177785, 0.10633933, -0.06184755, 0.09415192, -0.109933, -0.025773333, 0.13335694) * g_3; - result += mat4(-0.15166026, -0.363905, 0.16473109, 0.36505404, 0.056683872, 0.0061098817, 0.4168733, -0.044268914, 0.2840304, -0.27333218, -0.032296672, 0.08772143, -0.0003773526, 0.34500858, 0.16723311, -0.08633425) * g_4; - result += mat4(0.17295076, 0.058134206, 0.10268273, -0.05562554, -0.01107067, -0.16301824, -0.15832978, -0.35605776, -0.059426963, -0.16527529, 0.08868478, -0.1846189, -0.017306576, 0.10800906, -0.012656846, 0.29250982) * g_5; - result += mat4(-0.0046278895, -0.41774723, 0.24683201, 0.023414413, -0.0560346, 0.3508538, -0.018426506, -0.22601782, -0.22005035, 0.24708134, 0.20629126, 0.017688079, -0.21966107, 0.0007773641, 0.27158982, -0.15457745) * g_6; - result += mat4(0.28892994, -0.0948736, -0.22442342, 0.18630128, 0.056576118, -0.17367427, 0.036432527, -0.12435009, 0.049795005, 0.13438956, 0.38832325, 0.040559538, -0.18281, -0.027084656, 0.14047231, 0.16336608) * g_7; - result += mat4(0.07984998, 0.10912455, -0.25223976, -0.07150487, 0.39511418, -0.16752689, -0.012659484, 0.14530154, 0.15754412, -0.10894477, -0.1896881, -0.12754244, -0.2143525, -0.18319069, -0.13740367, 0.049823396) * g_8; - result += mat4(-0.2693335, -0.22025953, -0.08723098, 0.030883936, -0.01043496, 0.049120355, 0.027913291, 0.2757188, 0.2999968, 0.1511124, 0.03902692, 0.012411737, 0.3374636, 0.07545474, 0.0019430651, -0.2693774) * g_9; - result += mat4(0.22447923, 0.18749979, -0.2726834, -0.054140817, -0.028611785, -0.1420322, -0.26904938, 0.034827393, -0.16475505, -0.13389514, 0.004789874, -0.041023012, 0.13383822, -0.33016685, 0.14386353, -0.16444317) * g_10; - result += mat4(0.06270732, -0.1334095, -0.15366173, -0.05587756, 0.10967794, 0.20958632, 0.0024631543, 0.0054002493, 0.1983807, 0.21552248, -0.027546072, 0.03749206, 0.09604704, -0.015076683, -0.18674834, -0.048891157) * g_11; - result += mat4(0.3359941, 0.005712003, 0.12872687, 0.17963566, 0.13625218, -0.07016191, 0.41262105, 0.12859339, -0.029220538, 0.042857308, -0.09492956, -0.006781853, -0.002147385, 0.09192873, -0.034135956, 0.04365597) * g_12; - result += mat4(-0.0655155, 0.09802182, -0.009230572, -0.11295286, -0.04042111, -0.167074, -0.042077914, -0.3769242, 0.3564197, -0.41506588, 0.010919382, 0.19179656, -0.30047882, -0.12062898, -0.09184107, 0.18559954) * g_13; - result += mat4(-0.02611887, 0.18515642, -0.26166156, -0.11706778, 0.1758253, -0.04787028, -0.1428414, 0.20101525, -0.19495995, -0.114093624, 0.15655537, 0.09985385, -0.28163755, 0.04849391, 0.08238636, -0.084574856) * g_14; - result += mat4(0.00010702968, -0.1017887, 0.18226019, -0.059170388, 0.18746078, 0.060440563, -0.14334333, -0.1825296, 0.27030236, 0.028283298, -0.09769837, -0.0023890818, 0.18596847, 0.07152733, -0.06317227, -0.12367107) * g_15; - result += mat4(0.24603085, 0.056102052, 0.13449737, -0.23569027, -0.05986085, 0.27015293, -0.2839155, -0.089338146, -0.057650078, 0.25799945, -0.2778006, 0.32337326, 0.15381968, -0.10049262, -0.0764022, 0.07623496) * g_16; - result += mat4(0.15472987, 0.087436944, -0.14177966, 0.22156389, 0.020608503, 0.2505864, 0.20408471, 0.031214792, -0.059114598, -0.15656275, 0.228334, -0.11210813, -0.06963447, -0.033369016, -0.09053422, -0.007444799) * g_17; - result += vec4(0.010953258, -0.03096994, -0.08644558, -0.025292031); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf3 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.17770122, 0.29082096, 0.04282091, 0.02549757, -0.23898254, 0.0010372455, 0.12527937, -0.0698982, 0.2606404, -0.010801856, 0.32558066, -0.26030767, -0.04800019, -0.07218525, 0.14526579, -0.18770672) * g_0; - result += mat4(0.15203147, -0.07794133, 0.007123589, 0.098241664, 0.09907035, -0.27661824, -0.086697206, -0.2342014, -0.31787968, 0.049847364, 0.06507202, 0.21814133, 0.32412624, -0.083394185, -0.09934146, 0.23159225) * g_1; - result += mat4(-0.096130975, 0.08083216, 0.44819605, 0.03937152, -0.13312627, -0.18089001, -0.18645371, -0.010557667, -0.124474674, -0.10351831, -0.12635191, -0.05673057, 0.018399497, -0.24488576, 0.026230913, -0.15852088) * g_2; - result += mat4(0.10968734, -0.035089277, -0.067034565, 0.066106535, -0.14149925, 0.1641957, -0.18244973, -0.22383699, -0.18098424, -0.151712, 0.260575, -0.00048691966, 0.27418098, 0.2131733, -0.12303702, -0.101710096) * g_3; - result += mat4(-0.3226536, 0.01744138, -0.12473336, 0.05616008, -0.4558458, -0.33108178, 0.004296858, -0.25150925, 0.11538608, -0.08004571, 0.20220277, 0.1365363, 0.21196564, 0.07377505, -0.060209595, 0.039599787) * g_4; - result += mat4(0.00477916, -0.114327356, 0.011587205, -0.2702971, 0.23033854, -0.27782437, 0.32360908, -0.44537735, -0.013454022, 0.056789074, 0.033459242, 0.12902088, -0.1313282, -0.004177221, 0.041425087, 0.250106) * g_5; - result += mat4(-0.24296634, -0.2151481, -0.030868901, 0.25469768, -0.042654943, 0.15871386, -0.12589258, -0.016274497, -0.033228472, 0.17153168, 0.04850832, 0.3116558, 0.07950622, 0.16695933, -0.25321132, -0.32425934) * g_6; - result += mat4(-0.17190868, -0.08966977, 0.0064142062, 0.2417195, -0.28092504, -0.06055805, 0.24716014, -0.020504756, -0.030874953, -0.048863903, -0.043293115, 0.02698432, 0.079950914, -0.055653498, 0.034776926, 0.064640135) * g_7; - result += mat4(-0.13084945, 0.06205162, -0.13606736, 0.39602286, -0.0030491774, -0.02476442, 0.0069150706, -0.026167216, 0.032697376, -0.030357588, 0.25825238, -0.07841919, -0.17723657, -0.06571916, -0.079561666, -0.009374618) * g_8; - result += mat4(-0.24869454, -0.20812686, 0.21540813, -0.06763655, 0.08248998, 0.09615888, 0.01718324, 0.21635905, 0.20144391, -0.07219777, 0.098456375, -0.3403119, 0.13258833, -0.13171546, 0.09525975, -0.048105728) * g_9; - result += mat4(0.22724295, -0.08324391, 0.0316843, 0.0060743215, 0.010268236, -0.17710914, -0.26217553, 0.052261468, -0.0564278, 0.118447, -0.221497, -0.004723381, -0.082461685, -0.06658231, -0.05635201, -0.16272539) * g_10; - result += mat4(-0.19052428, 0.087694265, 0.10222324, 0.11315066, 0.11910176, 0.11697917, 0.093398556, 0.28112432, 0.030032964, -0.0145031605, -0.30618244, 0.058343805, 0.29364142, 0.4507355, -0.012588871, -0.04779493) * g_11; - result += mat4(-0.30753234, -0.16848947, -0.027776828, 0.04406865, 0.24091373, 0.30855393, -0.14061853, -0.1889476, -0.013829834, -0.265403, -0.27854362, 0.20213468, -0.012963777, -0.01078832, -0.07769813, -0.21151513) * g_12; - result += mat4(0.26133433, 0.17727493, -0.109125234, 0.08433557, 0.072260365, 0.2561018, 0.090859175, -0.07598044, 0.1457562, -0.025295084, -0.021166144, 0.045864385, 0.039569605, 0.20864639, 0.02609065, 0.26301143) * g_13; - result += mat4(-0.13943508, -0.13203211, 0.35905635, 0.27272087, 0.18303953, 0.012707511, 0.088180274, -0.14280272, -0.23073225, -0.13123025, -0.0930568, 0.074749425, 0.22671546, -0.22136143, -0.029851126, 0.12233923) * g_14; - result += mat4(0.12482134, -0.10828533, -0.079140544, -0.2453333, -0.090807475, 0.0063584484, 0.1211467, 0.062918566, 0.14158563, 0.04865186, -0.047368318, 0.16969171, 0.05705982, -0.06532511, 0.039894924, -0.2492887) * g_15; - result += mat4(0.045366418, -0.11773512, 0.3228948, 0.03694021, 0.08063588, 0.15884815, -0.20808393, -0.053136192, 0.12179582, -0.008855191, -0.09951698, 0.052134108, -0.23938279, -0.12222782, -0.12329915, -0.2170608) * g_16; - result += mat4(-0.18194616, 0.10244923, 0.05732402, 0.10120477, 0.118554674, 0.006850547, -0.026597708, -0.19694051, -0.040258426, 0.3326919, 0.27358428, -0.22072372, -0.4095388, 0.15311103, 0.14642514, 0.4488546) * g_17; - result += vec4(0.048863593, 0.012109077, -0.016607719, 0.037871145); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!SAVE conv2d_14_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.13730694, 0.09572443, -0.16228959, 0.0539934, 0.015976029, -0.020617478, -0.031389967, 0.086105354, -0.02737102, -0.009822752, 0.079854555, 0.021560928, 0.021912804, -0.05518721, -0.055796772, -0.13649039) * go_0(-1.0, -1.0); - result += mat4(0.16258714, -0.1714513, -0.02435225, 0.061715234, 0.075829744, -0.0935106, 0.051781043, 0.027690506, 0.09556227, 0.1269502, 0.1137493, 0.13980514, -0.018691815, 0.075835496, -0.13254827, 0.007191193) * go_0(-1.0, 0.0); - result += mat4(0.08184935, -0.086010106, 0.048796415, 0.015115541, 0.035149876, 0.053475354, 0.12256089, 0.06159943, 0.08541651, 0.0065930625, -0.04444402, -0.06579454, 0.16545528, 0.07714567, -0.07318036, -0.0410161) * go_0(-1.0, 1.0); - result += mat4(0.052661866, -0.06528621, -0.033377446, 0.03374355, -0.10203855, 0.027142841, -0.009596358, 0.033278905, 0.14031664, 0.12529425, 0.0447338, -0.37799904, -0.18007077, -0.031899042, -0.028458513, 0.0036119984) * go_0(0.0, -1.0); - result += mat4(0.019022847, -0.07892097, 0.028167801, -0.03970351, 0.15201952, -0.082866214, -0.07775842, -0.0092036445, 0.0375805, -0.07498207, -0.10523698, -0.07382711, 0.060292613, -0.14215495, -0.0460591, 0.07628205) * go_0(0.0, 0.0); - result += mat4(0.039698813, 0.043937914, 0.05321076, 0.07739694, 0.06098655, 0.06888494, -0.07167099, -0.052405626, 0.05308723, -0.18511309, 0.09709155, -0.02147648, 0.11734863, 0.007313008, -0.09469101, 0.076938465) * go_0(0.0, 1.0); - result += mat4(0.006754393, -0.0482479, -0.08238743, 0.06375976, 0.04045994, -0.019509573, 0.18255574, 0.09500812, -0.04551239, 0.10516026, 0.1547579, 0.08199154, -0.10011012, -0.10849286, -0.10245379, -0.1411837) * go_0(1.0, -1.0); - result += mat4(0.15574688, 0.10194304, 0.1370253, 0.122291274, 0.06903438, 0.028846793, -0.036889754, 0.14082685, 0.0746532, -0.085606076, 0.04378959, 0.04567366, 0.13036871, 0.017091148, 0.0860928, 0.049529802) * go_0(1.0, 0.0); - result += mat4(-0.0019084985, -0.030891823, -0.11242672, -0.0028197083, 0.1089532, -0.036664832, -0.08357979, -0.04067862, -0.018984286, -0.08164459, 0.09161135, 0.025528084, -0.024401465, 0.053186838, -0.13926849, -0.09147531) * go_0(1.0, 1.0); - result += mat4(0.030601272, 0.020320972, 0.11978473, 0.021981956, 0.0066586067, 0.010468703, 0.08935148, -0.02064418, -0.051966265, 0.13076556, 0.114875935, -0.13965933, -0.06370764, -0.02479983, -0.040174097, -0.051495917) * go_1(-1.0, -1.0); - result += mat4(-0.06858974, -0.1011349, 0.05012081, -0.09389995, 0.18634044, -0.02636947, 0.29009673, -0.20761599, -0.18480374, 0.18764408, -0.03863296, -0.001258129, -0.20276432, -0.22974198, -0.011534593, 0.053845435) * go_1(-1.0, 0.0); - result += mat4(-0.011961684, -0.0027767534, 0.15667303, 0.014906583, 0.08829907, 0.13073516, 0.12739272, -0.14619562, -0.05524262, -0.044016067, 0.056112796, -0.11271024, -0.15298633, -0.07068307, 0.15127258, -0.059431132) * go_1(-1.0, 1.0); - result += mat4(0.0035851684, 0.048734687, 0.058004834, -0.25574937, -0.05717012, 0.027982244, -0.036910195, 0.07176039, -0.1437177, 0.15508057, 0.055488504, 0.08993959, -0.21916981, -0.09351557, 0.059080753, 0.059446696) * go_1(0.0, -1.0); - result += mat4(0.121534444, 0.05071775, 0.25775218, 0.100448884, -0.0609293, -0.0032914479, -0.012675448, -0.03919934, -0.048212145, 0.15936059, 0.07263143, -0.15671557, -0.029125307, 0.056486927, 0.09249241, -0.049256064) * go_1(0.0, 0.0); - result += mat4(0.13813132, 0.1061218, 0.13439661, 0.013360326, 0.20840476, 0.033466756, -0.02981596, -0.16605316, 0.21835527, 0.20860583, -0.08051366, -0.048786163, -0.15034862, 0.031393945, -0.12630752, 0.03662063) * go_1(0.0, 1.0); - result += mat4(0.20240387, 0.11153365, -0.10545571, 0.20638049, -0.030318, -0.013820859, -0.15446675, -0.117573425, 0.020086143, 0.17280579, -0.14882061, 0.054609608, -0.06867725, 0.005472737, -0.001194474, 0.053710196) * go_1(1.0, -1.0); - result += mat4(-0.078191735, 0.19296291, 0.094308026, 0.13090765, -0.08120196, -0.025820611, -0.06864976, -0.1892419, 0.04313153, 0.05904389, -0.0666416, -0.0647475, -0.20729442, -0.20761089, 0.12242998, 0.03860268) * go_1(1.0, 0.0); - result += mat4(0.3584512, 0.033826537, 0.054210454, 0.0789943, 0.008851024, 0.09464614, -0.12718089, 0.11983708, 0.1720017, -0.020153422, -0.016108112, -0.022643095, -0.112861484, -0.14127043, 0.062141683, 0.039889514) * go_1(1.0, 1.0); - result += mat4(0.0535196, -0.03970797, 0.03354509, -0.117369846, -0.14703709, -0.012058039, -0.07475193, -0.06776651, 0.059161127, 0.012486282, 0.28265083, 0.006532838, -0.18549983, 0.008657684, -0.074575126, 0.13438265) * go_2(-1.0, -1.0); - result += mat4(-0.039811708, 0.12738322, 0.18482146, 0.021987366, -0.007785863, -0.103660956, -0.25238964, 0.1722417, 0.11030613, -0.013517135, 0.080717966, 0.09645111, 0.02491521, -0.06768416, 0.07801766, -0.0083899405) * go_2(-1.0, 0.0); - result += mat4(0.02637314, -0.02295658, 0.009299312, 0.04080987, 0.009788877, -0.06768737, -0.09209687, -0.0064441212, 0.17683631, 0.11308535, 0.120473646, -0.043513045, -0.012239015, -0.11771954, 0.041769065, -0.035535622) * go_2(-1.0, 1.0); - result += mat4(-0.02476574, 0.0006269701, 0.031228809, -0.114411384, -0.06647686, 0.044763204, 0.0125348745, 0.06740366, -0.13100466, -0.14606014, 0.05104513, 0.08999373, 0.047833115, -0.027034575, 0.17426285, 0.15505366) * go_2(0.0, -1.0); - result += mat4(-0.04584108, 0.026565347, -0.17377949, 0.09393312, 0.24355736, -0.070104554, 0.14847255, 0.03672425, -0.025585584, -0.24469705, 0.18408243, 0.3059801, 0.066561416, 0.05520613, 0.051541686, -0.009497027) * go_2(0.0, 0.0); - result += mat4(0.09706289, 0.1355479, -0.10922811, 0.040889144, -0.1304492, -0.1115297, -0.050781623, 0.13141242, 0.20192824, 0.21923521, 0.2232753, -0.04984208, -0.07344629, -0.048347905, -0.06926673, 0.00018091204) * go_2(0.0, 1.0); - result += mat4(0.12485469, 0.052772295, -0.11423363, -0.09852666, 0.0133323725, 0.014865848, -0.09087173, -0.0148057, 0.006184697, -0.1351809, 0.20683081, 0.19722891, 0.016914789, -0.047588933, 0.10100042, 0.009027416) * go_2(1.0, -1.0); - result += mat4(-0.05893103, -0.037235342, -0.10422848, 0.10374478, -0.08594368, 0.14460947, 0.05852035, -0.11371309, 0.024052324, -0.16274521, 0.04695501, 0.24024189, 0.04611697, -0.04172007, -0.14143556, 0.0947182) * go_2(1.0, 0.0); - result += mat4(0.029644629, 0.047125343, 0.043564074, 0.029975709, -0.20870477, -0.054786757, -0.06884723, 0.072272494, 0.15565543, -0.1053078, -0.058403894, 0.16519445, -0.0603395, 0.009007387, -0.11781728, 0.15130705) * go_2(1.0, 1.0); - result += mat4(-0.042338666, -0.12772329, 0.051055513, -0.06525264, -0.0040495084, -0.09565801, 0.07052012, -0.08048783, -0.08279771, -0.08353822, -0.04170163, 0.050944712, -0.039810754, -0.061679646, -0.1736554, -0.18661833) * go_3(-1.0, -1.0); - result += mat4(-0.1809492, -0.086604275, -0.004732337, 2.8006345e-05, 0.12348477, -0.18016535, 0.06667517, 0.15141962, 0.074052304, -0.0010897494, 0.02608532, -0.084111795, 0.19251096, -0.11398725, -0.10063286, -0.22106121) * go_3(-1.0, 0.0); - result += mat4(-0.25605115, -0.15571332, -0.1340056, -0.08346116, 0.09454819, -0.030701093, 0.10532109, -0.12843955, -0.12315552, 0.08900104, 0.01561725, -0.12959191, 0.09758207, -0.112124294, 0.06608123, 0.028534982) * go_3(-1.0, 1.0); - result += mat4(0.11170476, -0.0630822, -0.038899932, 0.1342047, -0.021606628, -0.062111627, 0.051371798, -0.08569797, -0.15001743, -0.05062917, -0.17575061, -0.084941536, -0.116146035, -0.15812515, -0.17216232, -0.22350411) * go_3(0.0, -1.0); - result += mat4(0.06449703, -0.22082505, -0.16758165, -0.09813526, 0.13100046, 0.011371541, -0.096522264, -0.100944474, 0.043882452, -0.05947248, 0.009845581, 0.17306656, 0.0756555, -0.21856773, 0.09360379, 0.064962044) * go_3(0.0, 0.0); - result += mat4(0.10466668, -0.25351757, -0.030175129, -0.07844458, 0.047858343, 0.02165889, 0.17470923, 0.113614105, -0.09934851, 0.085113294, -0.093170576, 0.12370991, 0.0032511167, 0.067286566, -0.0058747306, -0.014485702) * go_3(0.0, 1.0); - result += mat4(-0.029907176, 0.060396403, -0.103236124, 0.2610491, -0.053192623, 0.1007005, -0.18771408, 0.1928706, 0.067260295, -0.009832933, -0.009121694, -0.054794073, 0.111395195, -3.396428e-05, -0.016206376, -0.061671183) * go_3(1.0, -1.0); - result += mat4(0.053124864, 0.07192942, 0.059849158, 0.081840195, -0.05420444, -0.0019643765, 0.04362153, 0.14748906, 0.0506163, 0.013644277, -0.16886376, -0.006343483, -0.018263722, 0.052267574, 0.059044275, -0.082981944) * go_3(1.0, 0.0); - result += mat4(0.13965447, -0.13021067, 0.04670164, 0.086573035, 0.025060145, -0.037466228, -0.04684806, -0.10827496, -0.047038436, -0.0039735837, -0.0730053, -0.016094094, -0.07558495, -0.035218224, 0.08817588, -0.042479306) * go_3(1.0, 1.0); - result += mat4(-0.008962302, 0.04630662, 0.018500257, -0.087029375, 0.11477668, 0.10218926, 0.024974326, -0.08728321, -0.12020556, 0.15970382, 0.21653348, 0.10660835, 0.2738671, 0.0997252, -0.108846664, -0.04685405) * go_4(-1.0, -1.0); - result += mat4(-0.022257768, -0.064715914, 0.055771556, 0.010960265, -0.20388158, -0.006702773, -0.10523913, 0.041671757, -0.1278118, 0.056031987, -0.14149639, 0.024696268, -0.08956393, -0.032904375, -0.19515826, 0.07697775) * go_4(-1.0, 0.0); - result += mat4(-0.0051774043, 0.057510026, -0.0022631476, 0.061950665, -0.2055609, -0.06095393, -0.17338821, 0.13429311, 0.116932675, 0.049505264, 0.1167626, -0.13347769, 0.08006289, -0.17509666, 0.14619496, -0.099814855) * go_4(-1.0, 1.0); - result += mat4(0.07875518, 0.029798327, -0.09710777, 0.067920126, 0.03193534, -0.089395255, 0.052021433, 0.15372773, 0.046054084, 0.24912815, -0.025290666, 0.1745077, 0.028125856, -0.042680793, -0.2864328, 0.3608281) * go_4(0.0, -1.0); - result += mat4(0.18727463, -0.15704368, 0.08394469, -0.043886885, 0.08093717, -0.14508902, -0.08175545, -0.012856592, 0.090690896, 0.15311036, 0.09262695, -0.20497702, -0.12629865, 0.16602357, -0.12650378, -0.27009165) * go_4(0.0, 0.0); - result += mat4(-0.026015654, -0.15421996, -0.006285523, 0.084399685, -0.05706165, -0.11809227, 0.20115097, 0.100516826, 0.04193344, 0.12963672, -0.003606976, 0.26124814, -0.03276488, 0.09699929, 0.006967106, -0.21132018) * go_4(0.0, 1.0); - result += mat4(0.13496664, -0.06661801, -0.01474205, -0.16868557, -0.029672602, -0.006720598, -0.117897324, 0.04533316, 0.030741133, 0.1053171, -0.016952176, -0.32376495, 0.070213996, 0.040165827, 0.004966792, -0.2232084) * go_4(1.0, -1.0); - result += mat4(0.09690112, -0.07795268, 0.077351056, 0.0152706485, -0.089807846, -0.015780134, -0.17489035, 0.040249743, 0.21050693, 0.1011979, -0.106833994, -0.051176246, 0.017105445, 0.03109709, -0.038326148, -0.01485861) * go_4(1.0, 0.0); - result += mat4(-0.057408247, 0.06229008, 0.0030242403, 0.039700616, -0.13085157, 0.020828856, 0.16776583, -0.2604126, 0.07311746, 0.31123817, -0.010544573, -0.13669181, -0.03168772, 0.00608244, -0.10768166, 0.1240025) * go_4(1.0, 1.0); - result += mat4(0.038978737, -0.106837034, 0.14167462, 0.041263003, 0.06207514, -0.00715465, -0.02379835, -0.031825457, 0.061413057, 0.0760847, 0.13212702, 0.0336207, -0.13638654, -0.08007447, 0.010262531, -0.0034590475) * go_5(-1.0, -1.0); - result += mat4(-0.08324591, -0.044817638, 0.10628384, 0.061015308, 0.07592109, 0.08827193, -0.08403659, -0.20712458, 0.058871835, -0.11746996, 0.16809036, -0.0395111, -0.106638305, -0.039189354, 0.015224756, 0.015626334) * go_5(-1.0, 0.0); - result += mat4(-0.047755025, -0.040199798, -0.003975084, 0.028568355, 0.19709164, -0.15811369, -0.06603298, 0.01573683, -0.005953187, -0.050047178, -0.060785852, 0.0508898, 0.009161574, -0.04349141, -0.00926554, 0.009818446) * go_5(-1.0, 1.0); - result += mat4(0.11093553, 0.019093536, 0.10260777, 0.055262566, 0.1195068, 0.09863856, -0.18714024, 0.19104338, 0.06376209, -0.034790665, -0.094363205, -0.09618141, -0.0058454727, -0.108213976, 0.12300049, -0.011991122) * go_5(0.0, -1.0); - result += mat4(0.04611049, 0.19236325, 0.08004335, -0.15592095, 0.15835464, 0.036216386, 0.036609154, 0.023461621, -0.120403476, -0.12745048, 0.06265683, -0.01600802, 0.16362222, 0.11878418, 0.11366202, -0.10238857) * go_5(0.0, 0.0); - result += mat4(0.06759989, 0.033161543, -0.10036328, -0.0098760715, 0.038350176, 0.15091336, 0.010098192, -0.13720898, -0.26202145, 0.001311828, -0.024214303, -0.16074173, 0.22281381, 0.13370523, -0.032966968, -0.062518656) * go_5(0.0, 1.0); - result += mat4(0.012291961, -0.068143904, 0.05493764, -0.087144345, 0.073538706, -0.015827144, 0.012285127, -0.07855669, -0.2829798, -0.039494153, 0.23575827, 0.06981807, -0.061576065, -0.1076866, -0.013749979, -0.09326816) * go_5(1.0, -1.0); - result += mat4(0.2558642, -0.10623661, -0.23699932, -0.05788955, -0.05908788, -0.1335758, 0.005269156, 0.0074094567, -0.0876448, 0.08961541, 0.20585236, -0.23521425, 0.13892744, 0.056449905, 0.055848006, -0.059444457) * go_5(1.0, 0.0); - result += mat4(-0.033819564, -0.026836576, -0.10386869, 0.14426531, -0.14975053, -0.005463496, 0.07058732, -0.028187437, 0.1480432, 0.06334134, -0.11467099, -0.023551162, -0.16923405, 0.0879496, 0.038746398, 0.119617105) * go_5(1.0, 1.0); - result += mat4(-0.066057675, -0.05716839, -0.12655802, -0.31106478, -0.05422454, -0.08211238, 0.10340335, 0.094708785, 0.17412704, -0.08796308, 0.032862302, -0.07645405, 0.18197642, 0.11359161, 0.057399232, -0.101643234) * go_6(-1.0, -1.0); - result += mat4(0.032984644, -0.151437, -0.15703787, -0.15147786, -0.06443887, -0.14499481, -0.07964961, -0.10063501, -0.06489532, -0.033841714, 0.13743237, 0.07402381, -0.10539726, 0.04741985, -0.06813811, -0.08186571) * go_6(-1.0, 0.0); - result += mat4(0.04169854, 0.10285583, 0.20537099, 0.4232497, -0.0102178855, -0.07464401, 0.064116195, 0.06713617, -0.10848632, 0.07029541, 0.061891586, 0.09450866, -0.14710844, 0.10902902, 0.078601316, 0.24068502) * go_6(-1.0, 1.0); - result += mat4(-0.17666584, 0.06827289, 0.1803935, -0.21800393, -0.10945116, -0.05033793, 0.043604486, -0.10778255, -0.13906737, -0.1066709, 0.07845706, 0.17276351, -0.31800953, 0.15222964, -0.05974643, 0.24923734) * go_6(0.0, -1.0); - result += mat4(0.09485684, 0.07775303, -0.26359668, -0.26235437, -0.014160949, 0.09610528, 0.032751855, 0.009587253, -0.033312347, -0.054030016, 0.100942805, -0.2810844, -0.31456363, 0.29743198, 0.35422295, 0.19903661) * go_6(0.0, 0.0); - result += mat4(-0.15256523, 0.052043784, -0.114385866, 0.26754585, 0.14714424, -0.044223707, 0.18718323, 0.16299742, 0.009067459, -0.09861915, 0.058909696, 0.053495083, -0.026219709, -0.0371573, 0.12850215, 0.085496284) * go_6(0.0, 1.0); - result += mat4(0.013324529, 0.22692935, -0.110274024, -0.04928268, 0.058278915, -0.003172765, 0.09637179, 0.0031671112, 0.1529764, 0.013240627, -0.047746982, 0.123970434, 0.08522273, 0.044676673, -0.031025682, 0.08779327) * go_6(1.0, -1.0); - result += mat4(0.12727101, 0.08387524, 0.12543088, -0.18653108, 0.11925347, -0.077335745, -0.19534324, -0.036191355, -0.03850302, 0.0028999215, 0.09276233, 0.0901103, 0.015147803, -0.12371782, 0.26163867, 0.2604429) * go_6(1.0, 0.0); - result += mat4(-0.2130723, 0.019236565, -0.15499762, 0.06025093, 0.042726953, 0.0875672, 0.024576176, 0.09540413, 0.21235454, -0.09488397, 0.019722011, 0.1176617, -0.09731747, -0.027660578, -0.1065942, -0.005856232) * go_6(1.0, 1.0); - result += mat4(0.11156219, 0.09702357, -0.035195213, 0.08480061, 0.025406074, -0.13845637, 0.19578338, -0.02658565, 0.094306186, 0.025026903, -0.054557443, -0.02111127, -0.026145646, 0.11951934, -0.023019921, 0.006862455) * go_7(-1.0, -1.0); - result += mat4(-0.017856622, 0.0715022, 0.089152284, 0.23237874, 0.062624305, 0.17638148, 0.10636494, -0.05033142, -0.055300098, 0.13743642, 0.09478692, -0.25387746, -0.04399249, 0.089958854, -0.13650721, 0.11658587) * go_7(-1.0, 0.0); - result += mat4(-0.011758824, 0.08557066, 0.044390026, 0.0022194844, 0.014199994, 0.045136537, -0.095475696, 0.010693854, 0.052194178, -0.032430097, -0.11542995, -0.038783815, -0.13697112, -0.0808607, 0.0048690503, 0.02350201) * go_7(-1.0, 1.0); - result += mat4(0.26391774, -0.06323651, 0.015183379, 0.07485423, -0.017147731, 0.1381914, 0.037845995, -0.104021296, -0.1099861, -0.01835351, -0.15305562, 0.049315173, 0.098395124, -0.04365968, -0.0077367523, -0.059888527) * go_7(0.0, -1.0); - result += mat4(-0.058792043, 0.11672284, -0.06516679, 0.2531902, -0.054773577, 0.051864814, -0.13140003, 0.08435319, 0.017941497, -0.0008525759, 0.02973079, 0.027343648, -0.19903877, -0.11735335, 0.025595637, 0.1632998) * go_7(0.0, 0.0); - result += mat4(0.22285266, 0.06903356, 0.23277758, -0.022075538, -0.066381, 0.087023556, 0.04032252, -0.124985844, -0.09607507, -0.118496284, -0.16543318, -0.005035066, -0.06618295, -0.117022425, 0.06941833, -0.033855513) * go_7(0.0, 1.0); - result += mat4(-0.05111795, -0.046070304, 0.047060743, 0.09478824, 0.025756294, 0.059333634, 0.04922012, 0.094563365, -0.06372419, -0.024169741, -0.12049204, -0.1545189, -0.08127697, 0.01430538, 0.1596365, 0.14503178) * go_7(1.0, -1.0); - result += mat4(0.009547742, -0.0052827215, 0.07463234, 0.09285053, -0.19082169, 0.07953675, 0.07934419, 0.106866054, 0.13285162, 0.033329457, 0.05625213, -0.0009985549, -0.06783011, -0.07779119, 0.036950454, -0.1311533) * go_7(1.0, 0.0); - result += mat4(0.12313845, 0.09518573, -0.005228664, 0.18021671, -0.0023382735, -0.022417013, 0.14969905, -0.0799508, -0.117919005, -0.043378588, -0.13032569, -0.16071445, -0.09841616, 0.010907256, 0.168342, -0.047372725) * go_7(1.0, 1.0); - result += vec4(0.02878389, 0.011853628, 0.04421832, -0.014076957); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.009639149, -0.0038982404, -0.000950235, -0.042617463, -0.18144657, -0.041786347, 0.09120882, 0.0038534713, 0.008700073, -0.08467945, 0.08520402, 0.077761576, -0.039405044, 0.12381529, 0.03898792, 0.04511578) * go_0(-1.0, -1.0); - result += mat4(0.0014207684, 0.07446709, 0.16319937, -0.07770856, -0.09554286, 0.10978643, -0.049450707, 0.064207695, -0.12975316, -0.011036553, 0.087152034, -0.035981875, 0.21567516, -0.013519614, 0.12568897, 0.05585702) * go_0(-1.0, 0.0); - result += mat4(0.2250859, -0.07630085, 0.085674696, 0.08418434, -0.027402846, -0.028869295, -0.074562736, -0.045597237, 0.010643633, -0.12091428, 0.034802727, 0.016727531, 0.06755005, 0.019975858, 0.19802167, -0.09351427) * go_0(-1.0, 1.0); - result += mat4(-0.03201277, 0.050427675, 0.09706081, -0.089708805, 0.046288054, 0.047746085, -0.020521134, -0.016593749, -0.016695522, 0.00024074932, -0.10998622, 0.010020027, 0.026319914, -0.13093436, 0.09340489, -0.011133997) * go_0(0.0, -1.0); - result += mat4(0.06594458, 0.108969614, -0.3391531, 0.15241535, -0.03524658, -0.12494807, 0.07165373, 0.15068692, -0.12112645, 0.035398778, -0.18387815, 0.03840943, 0.10092417, 0.09231077, 0.11415836, -0.09056854) * go_0(0.0, 0.0); - result += mat4(-0.10499352, -0.12734324, -0.15330572, 0.18510772, 0.0120012155, -0.08454591, -0.043570805, 0.08853887, 0.004295982, 0.065011546, 0.064469345, -0.023783352, -0.043566104, 0.027954584, 0.08104736, -0.032231607) * go_0(0.0, 1.0); - result += mat4(0.10343434, 0.032162443, 0.08311337, -0.060843915, 0.04154088, -0.04438331, 0.042682778, -0.12004948, -0.06710734, -0.06452065, 0.031105455, -0.00583183, 0.009057851, -0.049873523, 0.11332005, 0.03758812) * go_0(1.0, -1.0); - result += mat4(0.08962952, -0.056837637, -0.028504362, -0.058604047, -0.09876495, -0.19140477, -0.05717117, -0.2970397, 0.032477252, -0.0597137, -0.02873599, 0.053601198, -0.0019746928, 0.073336996, 0.016864251, 0.10919654) * go_0(1.0, 0.0); - result += mat4(0.18142548, 0.10124668, 0.00368281, -0.23038292, 0.07240071, -0.15039761, -0.010341523, -0.11067377, -0.047206733, -0.031967275, -0.02992342, -0.12399463, 0.014134053, -0.027491156, 0.1586509, -0.011076121) * go_0(1.0, 1.0); - result += mat4(-0.10831383, 0.03130954, 0.11106777, -0.14316523, -0.15185675, -0.091914624, 0.04525621, -0.09765117, 0.0018873657, 0.1467699, -0.15126435, -0.08295151, 0.053585067, 0.03242634, -0.12851547, -0.014847684) * go_1(-1.0, -1.0); - result += mat4(-0.04666656, -0.11540183, -0.0040082233, 0.032173898, -0.006088054, -0.055952623, -0.006328234, -0.020379877, 0.09165287, 0.040902767, -0.1251588, 0.12423666, -0.14924148, 0.12587278, -0.14483361, 0.07241668) * go_1(-1.0, 0.0); - result += mat4(-0.08733716, -0.0038874142, 0.03347875, 0.020994259, -0.1411847, 0.04610875, 0.17974979, 0.07831092, 0.042416275, -0.017010015, -0.043574873, 0.01362277, 0.0150662195, -0.060527198, 0.013415603, 0.09190049) * go_1(-1.0, 1.0); - result += mat4(-0.047956496, -0.21187243, 0.10645179, -0.029983195, -0.05739006, 0.04807922, -0.023896229, 0.20409703, 0.07719372, -0.13761039, 0.043128423, 0.16602203, 0.1391456, 0.14163828, -0.11660084, 0.1721344) * go_1(0.0, -1.0); - result += mat4(-0.08192942, 0.12966244, 0.08534996, 0.004243316, -0.14284796, -0.05193116, -0.115842864, 0.20631583, 0.0077530663, -0.08806305, 0.010341862, 0.093308315, 0.016404482, 0.17783935, -0.012804549, 0.055335052) * go_1(0.0, 0.0); - result += mat4(-0.0864709, 0.14595704, 0.122848816, 0.041808892, -0.011105475, -0.15309574, -0.038991075, -0.018167017, -0.0737871, 0.08204525, 0.12244646, -0.018635223, 0.14988273, 0.080346294, 0.14383334, 0.09073764) * go_1(0.0, 1.0); - result += mat4(-0.10824354, -0.14525421, 0.10709654, 0.057008598, -0.0274041, 0.060830723, -0.019880934, 0.059121948, 0.13224299, -0.0986574, 0.041039772, 0.031663973, 0.10696096, 0.07072492, -0.056812435, -0.03713634) * go_1(1.0, -1.0); - result += mat4(-0.1286229, 0.038206976, 0.2866795, 0.32729703, -0.001265015, -0.050362974, 0.054691862, -0.019820811, 0.015161029, 0.012408566, 0.019214492, -0.043584425, 0.1747071, -0.1806168, 0.0026230705, 0.17746288) * go_1(1.0, 0.0); - result += mat4(-0.14500563, 0.07194882, 0.3341538, 0.29419795, 0.018053567, -0.013366127, 0.13004167, -0.12123059, -0.062439676, -0.06531261, -0.032591254, 0.098543815, 0.15538938, -0.02330424, -0.051805083, 0.14865872) * go_1(1.0, 1.0); - result += mat4(0.022300392, 0.074889585, 0.07658969, 0.04842954, -0.10574494, -0.06770181, -0.0766897, -0.07461142, 0.09686923, 0.00633828, -0.06368929, 0.036549773, 0.023586588, -0.028077459, 0.1585986, 0.011422953) * go_2(-1.0, -1.0); - result += mat4(0.03940578, -0.0339597, 0.10257943, -0.12667413, -0.02898388, 0.07838695, -0.19138049, 0.0014735579, 0.22062407, 0.061582483, -0.13024235, 0.12023966, -0.06983561, -0.011443659, -0.09145462, 0.021667738) * go_2(-1.0, 0.0); - result += mat4(-0.12349507, 0.059815507, -0.046543095, 0.030673595, 0.04561801, 0.14247265, -0.105132155, -0.021296836, -0.021644723, 0.2025441, -0.012284828, 0.047515646, -0.09826343, 0.075690396, 0.13212551, -0.023619266) * go_2(-1.0, 1.0); - result += mat4(-0.14024511, 0.06597363, -0.0336176, 0.036653478, 0.060431093, -0.10295052, 0.085898645, -0.0044551087, 0.079314135, 0.08170928, -0.18242195, 0.029556789, -0.09011537, -0.09237228, -0.026066486, 0.006826721) * go_2(0.0, -1.0); - result += mat4(-0.14503199, 0.03387515, -0.053300664, 0.064943515, -0.020676823, 0.0074872165, -0.018416155, 0.012171563, 0.14327627, -0.13214412, -0.02946512, 0.07235393, -0.10908717, -0.012565086, 0.035278827, 0.17581236) * go_2(0.0, 0.0); - result += mat4(0.00934611, -0.11156072, 0.13832138, 0.15502927, 0.0020792482, 0.02049791, 0.04461106, -0.18925, 0.22086848, -0.06498976, 0.19501008, 0.124619834, 0.15347329, -0.0077355206, 0.0038152216, 0.07109297) * go_2(0.0, 1.0); - result += mat4(-0.041063566, -0.03631559, 0.087020025, -0.12633711, -0.043662015, 0.13777676, -0.100011535, 0.09353299, 0.026900792, 0.026761487, -0.020541789, 0.1791581, -0.09209707, 0.082125105, -0.08652077, 0.07599723) * go_2(1.0, -1.0); - result += mat4(-0.05044385, 0.0059138206, 0.004846873, -0.055986855, 0.035403732, 0.12932262, -0.10948213, 0.059482235, -0.0783685, 0.18257779, -0.014302566, -0.03769118, -0.093388505, -0.029699821, -0.06636151, -0.08418176) * go_2(1.0, 0.0); - result += mat4(-0.04013502, 0.0967123, 0.033448823, 0.093523204, 0.11187449, 0.019631773, -0.105332315, 0.16213791, -0.029868113, -0.1064927, 0.19695841, 0.13877009, -0.047273844, -0.01044426, -0.08446086, -0.0458913) * go_2(1.0, 1.0); - result += mat4(-0.0741451, 0.042197462, -0.08023183, 0.09765462, 0.054821562, 0.08290217, -0.023233455, -0.14262572, -0.15324473, -0.014632389, -0.06739699, 0.15956666, 0.034347642, 0.054041438, -0.07310525, 0.0035158119) * go_3(-1.0, -1.0); - result += mat4(0.08562873, 0.0022956019, 0.011018242, 0.027326696, 0.09330304, -0.039874583, 0.024133299, -0.08445561, 0.019993046, -0.063240565, -0.054243866, 0.124074, -0.074563324, -0.1390738, 0.0820039, -0.23211582) * go_3(-1.0, 0.0); - result += mat4(0.078051165, -0.12620433, -0.03478548, 0.09409214, 0.1526626, -0.041634113, 0.2237483, -0.15523861, 0.07555192, 0.034417253, -0.12693669, 0.018821344, -0.036353048, -0.013764508, 0.100658715, -0.020644104) * go_3(-1.0, 1.0); - result += mat4(0.011323663, 0.07608287, 0.00851126, 0.09341987, -0.029945532, 0.10300047, 0.0074313437, -0.19487564, 0.0011054972, -0.15525223, 0.21401389, -0.10354629, -0.04318926, 0.12821019, 0.032365642, 0.032030214) * go_3(0.0, -1.0); - result += mat4(0.007591815, 0.012629317, -0.19445145, -0.08644862, -0.030899128, -0.010336647, 0.06901035, 0.053609345, -0.13558851, 0.055843044, -0.19542934, 0.27220258, -0.10258334, 0.08873226, 0.100590244, -0.13569663) * go_3(0.0, 0.0); - result += mat4(0.047885086, 0.01407929, -0.05241635, -0.07852867, 0.034674972, 0.10237697, -0.080549136, -0.15041627, -0.025430735, 0.0479369, 0.037376665, 0.025655257, -0.0355407, 0.050879892, -0.07782001, -0.032121796) * go_3(0.0, 1.0); - result += mat4(0.18598914, 0.17488232, 0.04308569, -0.113249674, 0.18825708, -0.025347264, -0.03777555, 0.055674437, -0.050593246, -0.07975001, 0.06947618, 0.007018156, -0.014732591, -0.079240546, 0.10789699, -0.19743954) * go_3(1.0, -1.0); - result += mat4(-0.038231947, 0.016942957, 0.028590739, -0.090752594, 0.038188618, 0.021015111, 0.016965266, -0.03435059, -0.01212547, 0.015248877, 0.11611426, 0.123496845, -0.04629721, 0.06697021, -0.19438337, 0.05686309) * go_3(1.0, 0.0); - result += mat4(-0.05551822, -0.008124752, 0.05373102, 0.08483395, -0.0006295456, -0.102434106, -0.059557695, 0.0052035716, -0.008159529, -0.12018468, -0.019952172, -0.08871863, 0.024393221, 0.012160636, 0.00085074763, -0.031381) * go_3(1.0, 1.0); - result += mat4(0.052483644, -0.10067336, 0.007827775, 0.04217924, 0.05370174, 0.053045593, -0.021322401, -0.057574254, -0.15052581, -0.054354582, 0.010731893, -0.084049575, 0.08664663, 0.008586996, -0.067191415, -0.013433542) * go_4(-1.0, -1.0); - result += mat4(-0.07656686, -0.026798321, -0.0035791546, 0.1813216, 0.12657459, -0.08586928, -0.14434212, 0.100000456, -0.17489576, -0.059281647, -0.16410424, 0.07507215, -0.17735171, -0.15760069, -0.029753244, 0.06384127) * go_4(-1.0, 0.0); - result += mat4(-0.0826688, 0.09742932, 0.034533966, -0.0460573, -0.11716473, 0.03802808, 0.12547252, 0.08928232, -0.14233275, -0.012195422, -0.02531116, 0.043976627, -0.06876278, -0.0810813, 0.18094346, -0.023339571) * go_4(-1.0, 1.0); - result += mat4(-0.005550866, -0.14349146, -0.12596409, -0.044651084, 0.087609954, -0.12565547, -0.22447549, 0.09360963, -0.02317106, -0.0005260532, 0.085363105, -0.09604336, 0.09518486, 0.018432705, -0.18793124, 0.07429292) * go_4(0.0, -1.0); - result += mat4(-0.104204915, -0.051323626, 0.06698747, 0.041701533, -0.15290372, 0.021271959, 0.091065526, -0.08150357, -0.018144151, -0.152379, 0.03481493, 0.07758276, 0.048658404, 0.018046448, 0.07488417, 0.224359) * go_4(0.0, 0.0); - result += mat4(0.089659564, -0.087014616, -0.04502746, -0.037926767, -0.10490111, 0.08001486, 0.1122022, -0.17835194, 0.04582323, 0.09560471, -0.20311408, -0.09920451, -0.07066689, 0.05220927, -0.005073715, -0.11543198) * go_4(0.0, 1.0); - result += mat4(-0.020940287, -0.08553711, 0.02721499, 0.06101611, 0.038569175, 0.03166766, -0.16536324, -0.040709663, -0.24566115, 0.03939649, 0.13328575, 0.103327386, -0.085061535, -0.23112987, 0.023643477, 0.053550832) * go_4(1.0, -1.0); - result += mat4(-0.07766694, -0.02958393, -0.10941775, -0.029797763, -0.09903559, 0.06466456, -0.0037769163, 0.12833694, -0.14952287, -0.09172456, -0.026234943, 0.09768058, -0.0046768547, 0.05787786, -0.020349951, -0.22735849) * go_4(1.0, 0.0); - result += mat4(0.103295185, 0.07010887, 0.06500701, -0.121797815, 0.06688264, 0.045738444, -0.006048553, 0.070973165, 0.038500775, -0.06096765, -0.02083498, -0.02247928, 0.079471394, 0.17344089, -0.03399603, -0.061526738) * go_4(1.0, 1.0); - result += mat4(-0.07608997, -0.07450355, -0.007454942, -0.028890591, 0.11185288, 0.003963864, -0.021245597, -0.02870811, 0.15497267, -0.1021612, -0.006275503, 0.059440117, -0.01191032, -0.015024686, -0.04264744, 0.03784974) * go_5(-1.0, -1.0); - result += mat4(-0.04255224, -0.041475482, 0.05568204, 0.050781105, -0.052326836, -0.00050962373, -0.070848726, -0.05095658, 0.09177018, -0.0071918922, 0.0076208673, -0.16307355, 0.26428407, 0.029546542, -0.038873114, 0.049068365) * go_5(-1.0, 0.0); - result += mat4(0.08395406, -0.09043276, -0.061525855, -0.05533077, -0.02462208, 0.10786481, -0.030796457, -0.094646156, 0.022507463, 0.13190217, 0.15948486, -0.07191217, 0.07654077, -0.016571704, -0.10635289, -0.12771434) * go_5(-1.0, 1.0); - result += mat4(0.20890597, 0.042703193, 0.11934406, -0.068621606, 0.19478202, -0.22793923, -0.08700698, -0.051709924, -0.12904456, -0.036816675, -0.13506871, -0.1441102, 0.18136409, -0.04663707, 0.023695884, 0.10738338) * go_5(0.0, -1.0); - result += mat4(-0.0077736047, -0.050436057, 0.052196283, 0.021431614, 0.09436767, -0.15021068, 0.012207774, -0.11543215, 0.03382365, 0.08989429, -0.1512068, 0.014381187, 0.15813205, -0.0106526185, 0.069779254, -0.047933288) * go_5(0.0, 0.0); - result += mat4(-0.040429626, -0.09228546, 0.067300335, -0.050324153, -0.12237185, -0.005077286, 0.10356324, 0.08864007, 0.14282528, 0.00388525, 0.041097626, -0.00031747436, -0.07723348, 0.053238407, 0.029446052, -0.08864969) * go_5(0.0, 1.0); - result += mat4(0.023686264, 0.08331933, -0.039449427, -0.014959959, 0.14075331, -0.015477129, -0.14249621, -0.03923339, -0.15062886, 0.09447539, -0.047904875, -0.048168503, 0.004206913, -0.047516745, -0.08620613, 0.11478539) * go_5(1.0, -1.0); - result += mat4(-0.15785892, 0.0016641589, 0.054308683, 0.078738764, 0.03644378, -0.043989647, -0.23225886, -0.028951952, 0.12305073, 0.034319617, 0.063887954, 0.30429685, -0.0674872, -0.014318411, -0.075369544, -0.10330481) * go_5(1.0, 0.0); - result += mat4(0.05397921, 0.00084955874, 0.045667082, -0.05417764, -0.021353342, 0.046038885, -0.058720488, -0.1322894, -0.03535338, -0.06338738, 0.03697614, 0.19055063, 0.10346999, 0.019249164, -0.063068286, 0.05991159) * go_5(1.0, 1.0); - result += mat4(-0.16993704, -0.121817954, -0.068771094, -0.093197905, 0.023346378, 0.04720914, -0.012925106, 0.052896366, 0.035280302, 0.08439714, 0.09756478, -0.0689576, 0.014461433, 0.36325473, 0.0059230574, 0.119897366) * go_6(-1.0, -1.0); - result += mat4(-0.061328445, -0.084383406, 0.140687, -0.052830886, -0.19621404, 0.049339704, 0.097477786, 0.040443562, 0.02491262, 0.08539904, 0.0037707782, -0.10327091, -0.18353617, 0.12956996, 0.07299752, 0.03221227) * go_6(-1.0, 0.0); - result += mat4(0.099849336, -0.0030822768, 0.09948366, -0.09262815, 0.005154421, 0.017867574, 0.04436232, -0.11582937, 0.12381722, 0.008043948, 0.018097827, -0.01493066, 0.19907461, 0.07169137, -0.10570496, -0.023753323) * go_6(-1.0, 1.0); - result += mat4(-0.13449772, -0.08731747, 0.007594631, 0.047381114, -0.08820047, 0.03528644, 0.018318443, 0.10107897, -0.06938975, -0.046471428, -0.020976078, 0.03441364, 0.040995363, 0.076138265, 0.17306629, -0.15272485) * go_6(0.0, -1.0); - result += mat4(-0.040097646, -0.19255275, 0.11918789, -0.10042692, 0.066699795, -0.21395916, -0.19686851, -0.03610402, -0.15390179, 0.095026605, 0.10847023, 0.09153435, 0.092816375, 0.39089674, -0.07198312, -0.07213701) * go_6(0.0, 0.0); - result += mat4(0.18701003, 0.20726307, -0.06296938, 0.046546813, 0.10833181, -0.010530105, 0.10806227, 0.025746476, 0.007955516, 0.035664618, -0.10563672, 0.07682432, 0.06649218, -0.048704594, 0.029186353, 0.17028451) * go_6(0.0, 1.0); - result += mat4(-0.016500747, -0.05593024, -0.040827576, 0.043642387, -0.017343521, -0.014898818, 0.012727514, -0.061562564, -0.004637191, -0.03331617, 0.020227065, -0.03502501, 0.023354309, -0.2833901, 0.24159743, 0.15924545) * go_6(1.0, -1.0); - result += mat4(0.045860395, -0.085586816, 0.14444515, -0.14926824, 0.036471445, -0.08628815, -0.040382892, -0.09526737, 0.02248159, 0.08855503, 0.04053488, -0.0646117, -0.08404396, -0.018245775, 0.14743677, -0.08093212) * go_6(1.0, 0.0); - result += mat4(0.19665717, -0.063776046, -0.07914273, -0.101823136, 0.074716374, -0.0081710825, -0.072673425, -0.023794344, -0.045717727, -0.0072561842, 0.00880925, 0.10889137, 0.28553, 0.041376498, 0.10031953, -0.053196393) * go_6(1.0, 1.0); - result += mat4(0.058159113, -0.016123742, -0.040074885, -0.038218047, 0.002453882, -0.04483796, 0.0026933532, -0.018928505, 0.090848856, -0.052964754, 0.103885755, 0.08822124, -0.007740776, -0.008643374, 0.04387468, -0.0057572736) * go_7(-1.0, -1.0); - result += mat4(-0.0084681, 0.05910616, -0.001957422, -0.09665248, 0.012324636, 0.102279514, 0.06271529, -0.00034822398, 0.12200529, 0.1406025, 0.11727222, -0.0012732374, 0.039069153, -0.116325095, -0.061304893, 0.08860798) * go_7(-1.0, 0.0); - result += mat4(-0.010817937, 0.05053197, 0.07127862, 0.071622476, -0.08677775, -0.07592008, -0.083137125, 0.07795782, -0.09153038, -0.051893257, -0.01434632, -0.006406496, -0.07038631, 0.011519815, 0.003298223, -0.018880721) * go_7(-1.0, 1.0); - result += mat4(0.108540215, -0.11548324, -0.025263477, -0.09077007, -0.12751491, -0.045055117, -0.07248591, 0.017866008, 0.03721452, 0.022656098, 0.101389855, 0.17055717, -0.058076404, -0.040419124, -0.11432533, -0.037566364) * go_7(0.0, -1.0); - result += mat4(0.09876384, 0.12987193, 0.12171421, 0.014026945, 0.10515426, 0.028641013, -0.031601854, 0.030440113, 0.049359053, -0.08800547, 0.0854042, 0.018510768, 0.14893699, 0.05856994, 0.049679566, -0.1422863) * go_7(0.0, 0.0); - result += mat4(-0.024617737, -0.048034295, 0.041004565, 0.16694058, -0.087675445, -0.13464865, 0.020481937, 0.13655907, 0.023696382, 0.057758246, 0.08800533, -0.07602074, 0.038965706, -0.010369045, -0.048242304, -0.037163552) * go_7(0.0, 1.0); - result += mat4(-0.055520747, -0.050512962, -0.0811104, 0.12796733, 0.03975134, 0.008006016, 0.051304568, -0.028837964, 0.040738724, -0.041288063, 0.096619, 0.0035735967, 0.0017250563, 0.16457585, -0.06661859, 0.003944026) * go_7(1.0, -1.0); - result += mat4(-0.020751026, -0.027768351, 0.1756595, 0.07444893, 0.059397127, 0.15285788, 0.078808025, -0.059350044, -0.019066172, 0.013111508, 0.04378732, -0.12025232, 0.030088948, 0.07998034, 0.06673197, 0.21354596) * go_7(1.0, 0.0); - result += mat4(-0.13661024, -0.017206049, 0.001673235, -0.053352535, -0.09720139, -0.010726428, -0.06063081, -0.012507998, 0.0019330509, 0.030889131, 0.0007580833, 0.11350111, -0.033315495, -0.097962864, -0.056640666, 0.06880053) * go_7(1.0, 1.0); - result += vec4(-0.050349966, 0.007465336, 0.0047519095, 0.03447193); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.113152556, -0.17597556, -0.20193578, -0.16201825, -0.08261954, -0.09107908, 0.044691782, 0.096718885, -0.092856266, -0.32485804, 0.15855914, 0.107594654, -0.049829155, -0.39206952, -0.17158785, -0.23730572) * g_0; - result += mat4(-0.071358085, 0.05543187, 0.22816211, -0.15256211, 0.001002783, -0.097697146, 0.1485318, 0.3147081, -0.015470234, 0.1159168, -0.087412134, 0.025953531, 0.10858151, 0.04679302, 0.0035066542, 0.080319606) * g_1; - result += mat4(-0.093644544, 0.15760094, 0.13644949, 0.15050913, 0.010754489, 0.21110971, 0.11982236, -0.027942248, 0.07777082, -0.05871466, 0.18935864, 0.26278642, -0.17607118, -0.24569197, -0.17914876, 0.011594047) * g_2; - result += mat4(0.07215027, 0.07955528, -0.1192735, -0.24221008, -0.16430855, 0.31650412, -0.23902535, -0.14772269, -0.18149576, 0.1425237, 0.19313167, -0.25584412, -0.116279155, -0.0810948, -0.06305671, 0.31891116) * g_3; - result += mat4(0.06337334, -0.0032687138, -0.035707716, -0.28104553, 0.12251401, 0.14867608, -0.28116974, -0.2499687, 0.16777486, 0.27506724, 0.1349104, 0.21004717, 0.2722905, -0.10366932, -0.089448065, 0.054238733) * g_4; - result += mat4(0.2623722, -0.06399301, 0.26491323, 0.09354902, -0.15800871, 0.11810623, 0.01566208, -0.026193254, -0.22059508, -0.09398052, -0.15558046, 0.1636607, -0.24724618, -0.025115723, -0.03819038, -0.089232855) * g_5; - result += mat4(-0.049244456, -0.2812487, -0.15883873, -0.1873005, -0.12443533, 0.26619563, 0.006807127, -0.18589701, -0.23903847, -0.04840708, -0.19155607, -0.3244167, 0.029380817, -0.073488645, 0.04205761, 0.12826183) * g_6; - result += mat4(0.060077637, 0.21867147, -0.08562434, 0.12142833, -0.103506744, 0.015023599, -0.012361518, 0.39705324, 0.20116816, -0.1352389, -0.08270523, 0.08666531, 0.03978398, 0.012456996, 0.16741525, -0.03339209) * g_7; - result += mat4(0.27487412, -0.2183994, -0.22064212, -0.18507382, 0.09653221, -0.31412682, -0.020428544, 0.15572692, -0.1708959, -0.09906218, -0.24475281, -0.07649422, -0.06725418, -0.1632794, -0.042570926, 0.15362686) * g_8; - result += mat4(0.25352266, 0.078569, -0.06491825, 0.0024975773, -0.2520004, -0.14971292, 0.2396663, -0.10596094, -0.16498, -0.1615543, 0.03212853, 0.022647707, 0.11449023, -0.12597407, -0.3845188, -0.6042289) * g_9; - result += mat4(-0.09472388, 0.09383272, -0.113919444, 0.06324396, -0.18574698, -0.017954197, 0.102970116, -0.036133416, -0.14566462, 0.106732786, -0.1981579, 0.08657682, 0.023193007, -0.26844215, -0.044777893, 0.1802785) * g_10; - result += mat4(0.11824268, 0.060186915, -0.09982153, 0.054944858, -0.06390667, -0.12343378, 0.06823325, -0.05481055, -0.160094, -0.041776497, -0.093563, -0.18349311, -0.014049265, 0.24608798, -0.022140604, -0.14207092) * g_11; - result += mat4(0.13720459, 0.07687791, -0.060669206, 0.11711911, -0.19655584, -0.008325822, 0.28701362, -0.03874219, -0.080647625, 0.08374782, 0.08991399, 0.1254085, -0.06939809, 0.10815167, -0.07602521, 0.003993563) * g_12; - result += mat4(0.050552983, 0.3398467, 0.21439157, 0.07090537, 0.003626732, -0.013387389, -0.16702957, -0.023790954, -0.22492494, -0.17196465, 0.020361913, 0.028113617, 0.08070967, 0.06335804, 0.1024209, -0.07302465) * g_13; - result += mat4(-0.06452998, -0.19448164, 0.068943985, 0.26658177, 0.03672322, -0.042712092, -0.14239077, 0.026480686, -0.0026813857, 0.07805945, 0.10659483, 0.25577578, 0.14431271, 0.26420194, -0.057292048, 0.14447866) * g_14; - result += mat4(0.17443675, -0.10127553, -0.08078197, -0.13357292, 0.080379255, -0.0743335, 0.15775783, 0.042903706, -0.2730787, 0.0143810455, -0.100053966, 0.04868161, -0.17388023, -0.27480134, 0.17716847, 0.09831684) * g_15; - result += mat4(-0.009394652, 0.05770814, 0.12612171, -0.07125733, 0.039110083, 0.18584593, 0.34637934, 0.1997804, -0.034237277, -0.2637098, -0.2565544, 0.18495636, 0.16258357, 0.051936973, -0.2022921, 0.025638767) * g_16; - result += mat4(0.0264838, 0.34137276, 0.05243436, 0.0092191165, -0.22356755, -0.06718224, -0.07905385, -0.10482739, 0.26888105, -0.0944922, 0.11656137, -0.025189193, -0.21240412, -0.0740068, 0.3606278, 0.117385626) * g_17; - result += mat4(0.24394973, -0.33353502, -0.20044908, -0.047943193, 0.26528633, 0.18467769, -0.118773505, 0.19762191, 0.008643024, 0.27267835, 0.110893816, -0.097346835, 0.35045865, 0.27740118, 0.12889476, -0.013060394) * g_18; - result += mat4(-0.0465528, 0.05087261, -0.12176598, -0.26143193, -0.012329495, 0.12112426, -0.25950795, -0.06628347, -0.18653181, -0.003041955, -0.093980595, 0.10332955, -0.29503638, -0.011706522, -0.37699062, 0.18755646) * g_19; - result += vec4(-0.015548932, 0.0007181281, 0.032181147, 0.046147745); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06566936, 0.050075732, -0.28377536, -0.008723959, -0.15360966, 0.017306754, 0.14521429, -0.3126355, -0.07001781, 0.24416047, 0.23609962, 0.095428005, 0.051152043, 0.047046803, -0.11905595, 0.084599525) * g_0; - result += mat4(-0.054007493, -0.1917774, -0.12253726, -0.25697917, -0.13300818, -0.014515598, -0.06988327, 0.07294474, -0.17037617, -0.11330418, 0.15588778, -0.0024750067, 0.18527855, 0.16439237, 0.13763049, 0.14903007) * g_1; - result += mat4(-0.06097875, 0.017688967, 0.084205635, -0.20286436, 0.06378928, 0.051785655, -0.00819132, 0.2283147, -0.0010928598, 0.19555786, -0.057957973, -0.1283918, 0.0130625125, 0.24465637, -0.029474005, -0.08648904) * g_2; - result += mat4(0.2977628, -0.21103969, -0.046574663, 0.15004829, -0.22748028, -0.048065472, -0.25989944, 0.2236256, 0.07941025, -0.052161288, 0.04335678, -0.24627966, 0.07268186, -0.038388748, 0.035197932, 0.05556185) * g_3; - result += mat4(-0.12658507, -0.200711, 0.10936925, 0.21350707, -0.05308915, -0.08038389, -0.21488698, 0.12463842, -0.039825447, -0.061766982, -0.16644825, -0.13220729, 0.12675424, -0.3512296, -0.28100672, -0.002683097) * g_4; - result += mat4(0.16233717, 0.05970525, 0.028119681, -0.087842815, -0.06486345, -0.06930576, -0.15099292, -0.085598275, -0.11941735, -0.19621682, -0.19929451, -0.12694003, -0.23668842, -0.3260459, -0.1669464, 0.21992308) * g_5; - result += mat4(-0.15114589, 0.3370156, 0.11051971, 0.15529542, -0.1644359, 0.03944235, -0.04013774, -0.07215706, 0.20360462, 0.083222464, 0.12099312, 0.02515875, -0.087714344, 0.13805264, -0.14398378, -0.27612263) * g_6; - result += mat4(-0.07686366, 0.061692268, -0.017847976, -0.16373406, -0.06558452, 0.07674664, 0.11457862, -0.21175413, -0.21797107, -0.31008083, -0.016061796, 0.010659135, -0.0031505653, -0.06681698, -0.19412144, 0.16077086) * g_7; - result += mat4(0.043644525, -0.02776246, 0.14185701, -0.027494097, -0.06645238, -0.19521286, -0.3502527, -0.028178494, -0.032492533, -0.32320002, 0.15325007, -0.3127702, 0.12887025, 0.18266484, -0.08985129, -0.34389883) * g_8; - result += mat4(-0.05747523, -0.12848844, 0.19728723, -0.108118065, 0.056262556, 0.26523066, -0.17712027, 0.31646273, 0.058449365, 0.38118544, -0.08126795, 0.16811565, -0.024995815, -0.009981597, -0.047409683, 0.18652919) * g_9; - result += mat4(-0.001337023, -0.32653907, 0.24057804, 0.18893267, 0.044070523, 0.25686195, -0.0058101956, 0.19947663, 0.31318483, 0.12546687, -0.04676781, 0.1793074, -0.19815332, -0.017479869, 0.2998801, -0.011709262) * g_10; - result += mat4(0.021966469, 0.045877025, -0.22806744, 0.10764939, -0.13102953, -0.096345, 0.0801237, -0.21132103, -0.44632608, 0.02980375, -0.37176967, -0.2655013, 0.27665234, -0.29347885, 0.041475385, 0.024725065) * g_11; - result += mat4(-0.21308075, 0.041253224, -0.109849155, -0.20893334, 0.09030459, 0.19662417, -0.100110866, -0.20908715, -0.060150456, 0.30329007, 0.18626331, 0.14155315, 0.07804046, -0.0916941, 0.27937013, -0.1512788) * g_12; - result += mat4(0.13618731, -0.14704673, -0.071122654, 0.019604936, 0.1254093, -0.016677566, -0.087662145, -0.08561128, 0.16301125, 0.1387518, 0.10387402, 0.25537175, 0.07070756, -0.10887832, 0.028897746, 0.17835346) * g_13; - result += mat4(-0.08490608, 0.026569808, -0.3456361, 0.020109842, -0.18946368, -0.12816896, 0.04407577, 0.029665362, 0.003496549, -0.31034058, 0.023039173, -0.016018149, -0.20683154, 0.23216362, 0.32729226, -0.12827688) * g_14; - result += mat4(0.013153797, 0.027919725, 0.36677372, 0.12828171, 0.3900067, 0.2961308, -0.16830838, -0.07397908, 0.1868292, 0.09739989, -0.10895602, -0.19859214, -0.1334346, -0.19208196, 0.28900802, -0.06582624) * g_15; - result += mat4(0.03638428, 0.035884462, -0.16868213, -0.038831823, -0.14761804, -0.08772457, 0.12720594, -0.045940604, 0.037369534, -0.02216757, 0.12334018, 0.08524158, -0.06456619, 0.017709045, 0.08379434, -0.2587099) * g_16; - result += mat4(-0.14868304, 0.255881, -0.17220873, 0.1882922, -0.11029569, 0.05895402, 0.2143255, 0.18148275, 0.020576546, -0.10496286, -0.19348511, -0.11536339, 0.14612065, 0.27825454, -0.073165655, -0.20478225) * g_17; - result += mat4(0.11683568, 0.05585525, -0.31354317, -0.060689308, -0.3203063, 0.116788305, -0.14543387, -0.02960584, 0.06610334, -0.11565926, -0.01838577, -0.33486378, 0.055412084, -0.2405772, -0.24344021, 0.23109037) * g_18; - result += mat4(0.36880726, 0.042794302, 0.38861996, 0.15946254, -0.15122825, 0.3142487, -0.17530881, -0.07510673, 0.0400742, 0.1710061, -0.21697284, 0.26265535, 0.17539124, -0.04652943, 0.14543319, -0.32873863) * g_19; - result += vec4(-0.003596251, -0.00022212608, -0.010425431, 0.014811408); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf2 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.29968667, -0.2054413, -0.42633036, 0.06540815, 0.25410962, -0.064704284, 0.15351892, 0.15098672, -0.060556993, 0.15943852, -0.2327252, -0.15252773, -0.27296653, -0.023351386, 0.01709797, 0.17157109) * g_0; - result += mat4(0.21247834, 0.16731767, -0.23244476, 0.033929322, 0.12147452, 0.15835738, 0.20386045, 0.0099615855, 0.11954695, -0.0007262615, 0.25783026, 0.2163411, 0.2006933, -0.2897014, 0.22469328, -0.037531313) * g_1; - result += mat4(-0.075687766, -0.0587827, -0.26173526, 0.014225498, -0.069109224, 0.19879107, 0.26262647, 0.1933589, 0.17341125, -0.075728156, 0.32497543, -0.12600474, -0.07275422, 0.032364674, 0.26471478, 0.18148176) * g_2; - result += mat4(-0.19684902, -0.12419164, -0.15366356, 0.035451632, -0.1676133, 0.30628285, 0.013135715, 0.0828437, 0.24747711, 0.111026585, -0.3899608, 0.040306747, -0.14160432, 0.11833543, 0.07778105, 0.019718869) * g_3; - result += mat4(-0.22168091, 0.27330446, 0.25358558, -0.13290156, -0.035276677, 0.0024858087, -0.055826478, -0.2468239, -0.008866367, -0.05784767, -0.01706684, 0.07295643, 0.1302385, -0.08386059, -0.02501015, 0.07468001) * g_4; - result += mat4(0.042352963, 0.0657346, 0.13386852, 0.11897824, -0.12557411, -0.05947027, -0.16942193, -0.250491, 0.05414618, 0.28099364, -0.023707846, -0.40636906, -0.028787367, -0.13474262, 0.16070609, 0.31273147) * g_5; - result += mat4(-0.13678479, 0.19962284, -0.26247823, -0.23762986, 0.06520537, -0.03368567, -0.16694795, -0.14713484, -0.01582234, -0.063183546, 0.24840857, 0.11376298, 0.0037960846, -0.16444042, 0.013803154, -0.030848777) * g_6; - result += mat4(-0.06552558, 0.01993205, 0.18481286, -0.12726143, -0.23085758, -0.20116006, 0.10603243, -0.10200674, -0.16622123, 0.107850745, -0.19173287, 0.060454354, -0.0027331826, 0.20100433, 0.11314092, -0.05037935) * g_7; - result += mat4(-0.14448921, 0.29943776, -0.020892464, 0.37468755, 0.122420244, 0.3393939, -0.15974823, -0.16213733, -0.21092644, -0.1603829, 0.197158, -0.008338081, 0.23865728, 0.03966763, 0.025320457, -0.1346732) * g_8; - result += mat4(0.37890595, -0.121016815, 0.0532523, -0.513218, 0.039289672, -0.15242423, 0.043490604, -0.19230618, -0.07929196, -0.09307486, -0.034099534, -0.19038978, -0.20650864, 0.12007891, -0.103319936, 0.090364404) * g_9; - result += mat4(-0.13087903, -0.26987913, -0.17999482, -0.08381556, 0.010039951, 0.0047134277, -0.11918671, -0.11301866, 0.2314213, 0.2650823, -0.039580453, -0.31289777, 0.07591129, -0.21344167, 0.031197479, 0.25037217) * g_10; - result += mat4(0.07539192, -0.11289182, -0.035013635, -0.0049591977, -0.062005084, -0.016576197, 0.033936746, -0.09773915, -0.393588, 0.045551285, 0.049009543, 0.040800996, -0.08324719, -0.14489968, 0.03073572, -0.2191878) * g_11; - result += mat4(0.19480848, 0.007287647, 0.10993567, -0.31089494, -0.23149367, -0.154109, -0.0038248543, -0.15359117, 0.051747542, 0.007752202, -0.12192655, 0.023507293, 0.017773356, -0.280811, 0.20664506, 0.020295167) * g_12; - result += mat4(0.15923792, -0.023258807, 0.09257097, 0.08763583, -0.0037047588, 0.32919067, 0.22631034, 0.14352241, -0.05482676, 0.19056046, 0.017488375, 8.430863e-05, -0.021616697, -0.038389638, -0.22182924, -0.21699542) * g_13; - result += mat4(0.010522319, -0.066425666, -0.12642634, 0.12129272, -0.022023065, -0.233132, 0.09775469, -0.027969204, -0.032578427, -0.20589033, 0.09356718, 0.08583383, 0.05210765, -0.07712435, 0.250104, 0.008439425) * g_14; - result += mat4(0.06802483, -0.13343696, -0.047004845, 0.16506574, -0.091166094, -0.16346036, -0.13110496, -0.28389332, 0.035855703, 0.12646672, -0.099049605, -0.0008063162, -0.009684357, 0.010770653, -0.009783527, 0.11862203) * g_15; - result += mat4(-0.010126488, -0.028762225, 0.18976927, -0.030415734, 0.12148659, 0.041320156, 0.0746818, 0.018062174, -0.30057785, -0.13369675, 0.122107536, 0.198235, -0.2140395, -0.024747701, -0.3379253, -0.21174349) * g_16; - result += mat4(-0.016392622, 0.02029067, 0.11583286, -0.1268402, -0.19290908, 0.09967843, -0.12862396, 0.08984122, -0.003903114, -0.08975317, -0.18257642, -0.2447739, -0.13734268, -0.06588839, -0.039996687, 0.086118914) * g_17; - result += mat4(0.15091965, 0.12736365, 0.13546066, 0.008318725, 0.028630871, -0.36270767, 0.24071144, -0.047721867, -0.0029238814, -0.299951, 0.16515507, 0.2045453, 0.23567834, -0.1644619, -0.18801829, 0.14953467) * g_18; - result += mat4(-0.14868434, 0.023688158, -0.11039743, -0.18117934, 0.16662696, -0.17234206, -0.14898847, 0.16994476, -0.04968569, 0.19829328, -0.051957127, 0.11434248, -0.18070386, -0.114997305, 0.6586136, 0.21840969) * g_19; - result += vec4(0.05267218, -0.01234981, -0.005742453, -0.0313311); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf3 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.024876181, 0.049410935, 0.18863276, -0.21360011, 0.120626085, -0.041039187, -0.025031038, 0.15861072, 0.031020435, 0.047245055, -0.013810417, -0.13509113, 0.039912585, 0.0030006578, -0.20477976, -0.006812967) * g_0; - result += mat4(0.20956035, 0.06598898, 0.39945224, 0.0020346004, 0.03396126, -0.055860132, 0.24823242, 0.07525624, -0.21111757, -0.01021541, -0.024861235, 0.13525884, -0.11488383, 0.17399031, -0.10318724, -0.0632262) * g_1; - result += mat4(-0.06352241, -0.05806122, 0.11548247, -0.09170009, 0.40792373, 0.10823234, 0.25872982, -0.14128555, 0.15681162, 0.087651595, 0.20255132, 0.1707228, 0.061114226, -0.20349206, 0.28370798, 0.29029718) * g_2; - result += mat4(0.18111548, 0.055765428, -0.33313075, 0.0006103676, 0.2546437, 0.14968075, 0.010974743, -0.023569109, 0.08389516, 0.11510806, -0.09821152, 0.016062623, -0.044881605, -0.023495123, 0.036569294, -0.09006456) * g_3; - result += mat4(-0.0032415257, -0.028372264, -0.071512826, -0.19787377, 0.06515368, -0.0302441, 0.18496229, -0.19373836, -0.06467672, 0.06881524, 0.08946629, 0.032331206, 0.28018954, -0.03519139, 0.12457947, -0.10447036) * g_4; - result += mat4(-0.26683676, -0.035779674, -0.33102936, -0.16464533, -0.03501263, 0.13808376, 0.14350422, 0.22299303, -0.17892793, 0.5684519, -0.22766575, -0.05168531, 0.12079673, -0.028563501, -0.008283765, -0.057736557) * g_5; - result += mat4(0.26274854, 0.06040585, 0.08909, 0.3820274, -0.12244029, -0.112672985, -0.38198316, 0.16422817, -0.012557389, -0.18269186, 0.00044065682, -0.09841192, 0.031287532, -0.3910334, -0.030273868, -0.08873974) * g_6; - result += mat4(-0.07051197, 0.06768202, 0.060395453, 0.021798966, 0.08901619, -0.22387257, 0.029923506, 0.2166611, 0.21220657, 0.029643808, -0.08909047, 0.16643848, 0.02217428, 0.10017023, 0.13721336, 0.009448813) * g_7; - result += mat4(-0.03333011, -0.33377162, 0.2840832, -0.075103775, -0.16588315, 0.24898893, 0.007910625, 0.35778743, -0.036830995, -0.15491192, -0.13378191, 0.02509361, -0.2987233, 0.016634934, -0.09080739, 0.057995312) * g_8; - result += mat4(0.024250133, 0.38453543, -0.012589143, -0.048741948, 0.04583434, 0.42664826, 0.35224134, -0.108690985, 0.034614064, -0.19162184, -0.09440296, 0.07740561, 0.3153523, -0.02028819, -0.0464603, -0.21693204) * g_9; - result += mat4(0.12554936, 0.28191876, 0.20692183, 0.02204118, -0.12202598, 0.15557781, -0.15807728, -0.22403438, -0.0050102826, -0.25063172, 0.19841024, -0.0935906, -0.016202275, 0.038872335, -0.032258067, 0.1769041) * g_10; - result += mat4(0.09860859, -0.12880474, -0.32096177, 0.18863943, -0.108892374, -0.040826876, -0.11872242, 0.014217295, -0.110700965, -0.14552751, -0.19022615, 0.23588236, -0.09166652, 0.06676425, -0.114403374, -0.032579597) * g_11; - result += mat4(-0.28780296, -0.026555603, 0.14381845, 0.18344115, -0.0932073, 0.13699014, -0.12567475, -0.120724775, 0.24272558, -0.12773077, -0.3670164, -0.037173547, 0.056873374, 0.03516149, 0.076903544, 0.21553768) * g_12; - result += mat4(-0.10597593, -0.040730987, 0.01580388, -0.14816804, 0.06471183, -0.23214011, 0.189348, -0.041128606, -0.23000284, -0.21311183, 0.24912965, 0.02485546, 0.14808623, 0.040830627, 0.043355484, -0.25108483) * g_13; - result += mat4(-0.11192612, -0.0769642, 0.26336476, -0.0879536, 0.10262009, 0.13074996, 0.20801952, -0.08162488, -0.08020716, -0.006562019, -0.029345717, 0.16304365, -0.15999863, -0.07409018, 0.025488326, -0.06557731) * g_14; - result += mat4(-0.0436646, 0.16603959, 0.10123139, 0.17289525, -0.17661704, 0.0985401, -0.062753186, -0.09045243, 0.19563136, 0.21048959, 0.119753934, 0.096117176, 0.043681554, 0.037470255, 0.012589698, 0.34186623) * g_15; - result += mat4(-0.111708984, 0.14836372, -0.1774937, -0.059907373, -0.12757868, 0.2671399, 0.0795556, -0.121689394, -0.14408125, -0.20676754, -0.32231417, -0.009280711, -0.3287384, -0.03544951, -0.0937731, -0.048848808) * g_16; - result += mat4(0.22088239, -0.07246235, -0.026009787, 0.01313955, 0.0537936, -0.19702353, -0.21666858, 0.14131804, 0.1057349, 0.10163044, 0.024502473, -0.21511002, 0.032470826, 0.040648606, 0.33920923, 0.2154231) * g_17; - result += mat4(-0.06127513, -0.33544734, 0.02393552, -0.0050719925, -0.1159799, 0.076991595, 0.05514996, 0.26366106, 0.020541657, -0.1467507, -0.014061093, 0.0154901175, 0.08579732, 0.06905036, -0.2559085, -0.2857713) * g_18; - result += mat4(0.18818028, 0.07449577, 0.28119013, 0.32452857, 0.14604072, -0.059530415, 0.06402294, 0.17558031, 0.04828705, 0.2532384, 0.082392104, 0.080385216, -0.16187488, -0.094814144, -0.0061105727, -0.21911964) * g_19; - result += vec4(-0.033699915, 0.023496272, 0.022923317, -0.04813553); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!SAVE conv2d_17_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10141816, 0.14976878, 0.03195215, -0.039459493, 0.07342809, -0.13988629, -0.0063446215, -0.08049595, -0.04162974, -0.01193011, 0.0043608593, -0.16511472, -0.07410478, 0.08040536, 0.15624346, 0.16637307) * go_0(-1.0, -1.0); - result += mat4(0.04363024, 0.1558041, -0.051349774, -0.2017786, -0.14090109, 0.0077253273, 0.20365517, 0.11794583, 0.17618881, 0.1697445, -0.09291706, 0.020068632, 0.02007473, 0.2233203, 0.10414641, -0.029859295) * go_0(-1.0, 0.0); - result += mat4(-0.04228483, -0.2522017, -0.08950456, -0.07378427, 0.10902103, 0.0016241051, 0.022387296, -0.07227263, 0.17921664, -0.07670382, 0.107183404, 0.055107605, 0.008698778, -0.051294874, 0.042903744, 0.058951948) * go_0(-1.0, 1.0); - result += mat4(-0.1375484, -0.023858752, 0.049783953, -0.10186465, 0.07819816, -0.1402314, -0.014493593, 0.10538838, 0.0055485037, 0.0005635436, -0.095101885, 0.06633904, -0.11578867, 0.005958089, 0.17136146, 0.11700411) * go_0(0.0, -1.0); - result += mat4(0.13330704, -0.05399527, -0.059408378, -0.012242189, 0.048309475, 0.014368095, -0.12477356, 0.016511722, -0.06304495, -0.11824205, -0.084178604, -0.1071192, -0.10863286, -0.10858007, -0.16140759, -0.18176575) * go_0(0.0, 0.0); - result += mat4(0.07680403, -0.08245252, 0.055462312, 0.053744126, 0.067585744, 0.17620924, -0.06432487, -0.16865245, 0.26111647, -0.19865918, 0.12157986, -0.06446687, -0.15832807, -0.02337486, -0.16785344, 0.114276074) * go_0(0.0, 1.0); - result += mat4(-0.073085696, 0.026583878, -0.21170044, -0.041149564, 0.04610835, 0.21036178, 0.004559763, 0.023281705, 0.13178588, 0.012508884, -0.14963967, -0.14690685, -0.021903453, 0.07176222, 0.15243328, -0.10042701) * go_0(1.0, -1.0); - result += mat4(0.0664264, -0.16415414, -0.17569391, -0.06900063, -0.06844009, -0.08645253, -0.10603767, -0.00832005, -0.07373927, 0.15736815, 0.08295166, 0.1052753, -0.1397909, 0.097937405, 0.23047511, -0.11606347) * go_0(1.0, 0.0); - result += mat4(-0.15628648, -0.113366134, -0.06865726, 0.061113577, 0.08942056, -0.09596354, -0.08677791, -0.09045824, -0.056612067, 0.13108426, 0.012026924, 0.072144784, -0.04866906, -0.05377174, 0.17577443, -0.18520343) * go_0(1.0, 1.0); - result += mat4(0.06607407, -0.120200165, 0.03707084, 0.15172935, 0.2430265, -0.113085315, -0.011460811, 0.08904817, -0.022574378, 0.033570133, 0.044159263, -0.009697304, -0.02309598, -0.040957745, -0.21013923, -0.17041521) * go_1(-1.0, -1.0); - result += mat4(0.022768836, -0.07471788, 0.0032480883, -0.028676828, 0.07174294, 0.12089073, -0.09654299, 0.030429209, -0.1041162, -0.05869679, 0.21359834, -0.034161806, -0.02269268, 0.10165246, -0.13029668, 0.1188484) * go_1(-1.0, 0.0); - result += mat4(0.029641088, 0.060067747, 0.0075102164, -0.1309527, -0.0051006447, 0.24038218, 0.012248357, -0.03506548, 0.101247, -0.11584173, -0.084328905, -0.023940684, -0.02261787, -0.09003932, -0.079946354, 0.16499889) * go_1(-1.0, 1.0); - result += mat4(0.08340322, -0.084059194, 0.032852225, 0.06628357, -0.042182837, 0.13932712, 0.059110105, -0.18841559, 0.077167906, -0.11461596, 0.011843562, 0.079223566, 0.17172302, 0.09588103, -0.04519654, -0.105250426) * go_1(0.0, -1.0); - result += mat4(0.0072912937, -0.17274414, -0.14938009, -0.069200344, 0.0957791, -0.014477511, -0.052849926, 0.023967758, -0.0035198112, 0.028233815, 0.13004604, -0.024852267, -0.114071615, 0.019608831, 0.20646521, 0.097629465) * go_1(0.0, 0.0); - result += mat4(0.0028235735, -0.0030747976, -0.012810413, -0.119974546, 0.049126018, 0.06264352, -0.06849737, -0.11978027, 0.10988244, -0.015898775, 0.09746785, -0.006982965, 0.058684476, -0.034703217, 0.2606026, 0.0029088869) * go_1(0.0, 1.0); - result += mat4(0.12530242, 0.1369462, 0.09158591, -0.11397034, 0.018868709, 0.04104663, 0.04852858, -0.09407637, -0.01602279, -0.06524504, -0.03544078, -0.043030232, -0.08382277, 0.06879843, 0.05892557, 0.16079953) * go_1(1.0, -1.0); - result += mat4(0.051489368, -0.121827774, 0.07657864, -0.012008831, 0.22305761, 0.175661, -0.10651213, -0.0713164, -0.19909866, 0.008551008, -0.075291224, -0.13893497, 0.0064601367, -0.033508357, -0.05580783, 0.01087825) * go_1(1.0, 0.0); - result += mat4(0.0890387, -0.005465109, -0.03689836, 0.053952705, 0.016625151, -0.06267179, -0.10336324, -0.034135565, 0.020885276, -0.07612263, 0.11301436, -0.044119492, 0.06116916, -0.11245377, -0.13503706, -0.016538095) * go_1(1.0, 1.0); - result += mat4(0.27475291, 0.13184716, -0.0680776, -0.018830024, 0.029797517, -0.14674206, -0.13773149, 0.07596705, -0.12054772, -0.10542588, -0.078347825, -0.0711237, 0.033791598, 0.1366684, -0.008929289, -0.044218395) * go_2(-1.0, -1.0); - result += mat4(-0.10575078, -0.08208724, -0.12209491, 0.075179026, -0.108247526, 0.049645945, 0.17491071, 0.033732615, -0.24320623, -0.05394347, 0.059426192, 0.21437696, 0.13719973, -0.028119182, -0.109999254, -0.006878209) * go_2(-1.0, 0.0); - result += mat4(-0.16982876, 0.001536919, 0.04183064, -0.036760435, -0.022450875, -0.06082643, 0.12952876, 0.09636169, 0.059916295, 0.076769084, 0.033762798, 0.01730426, -0.04495645, -0.040148437, 0.004881271, 0.04875726) * go_2(-1.0, 1.0); - result += mat4(0.03642368, -0.43472657, 0.041129608, -0.17804651, -0.1057716, -0.051420793, 0.24544626, 0.13492435, 0.070110224, -0.058953024, -0.047583204, 0.107109495, 0.16330208, 0.10041534, 0.009722348, -0.041390747) * go_2(0.0, -1.0); - result += mat4(0.04072445, -0.30625793, 0.13379507, 0.20906621, 0.040475562, 0.09978542, 0.07838612, -0.061970588, -0.014157455, -0.08661651, 0.049639836, 0.092796445, 0.14035767, -0.07199328, 0.2702048, 0.13223602) * go_2(0.0, 0.0); - result += mat4(0.08312407, 0.026157904, 0.1338742, -0.1169418, 0.20012325, 0.2693674, 0.1465921, -0.02459555, -0.060668815, 0.026844399, -0.05361937, -0.082469605, -0.04559839, 0.13304235, 0.16309445, -0.121678405) * go_2(0.0, 1.0); - result += mat4(0.3037645, -0.047783196, 0.16506009, 0.08809878, -0.13823804, -0.015729615, 0.06759662, 0.017325116, 0.043904126, -0.017581047, 0.09673254, 0.094264686, -0.13746184, -0.12914835, -0.002408157, -0.013865908) * go_2(1.0, -1.0); - result += mat4(0.10031577, 0.11770728, -0.15092418, 0.09787308, 0.065984525, 0.24215704, 0.059678502, 0.15129778, -0.1041671, -0.1671323, -0.10720415, -0.03810631, -0.054461427, 0.11054692, -0.1274286, -0.07087494) * go_2(1.0, 0.0); - result += mat4(-0.12774822, 0.07534175, -0.15987013, 0.03355638, 0.014404904, -0.0988583, 0.028051285, -0.039134447, 0.05298065, -0.105260774, -0.023862204, -0.044772115, -0.055214968, 0.13535902, 0.06230091, -0.083698004) * go_2(1.0, 1.0); - result += mat4(0.0139728915, -0.048358914, -0.034966476, -0.009007154, 0.08131041, -0.08471946, 0.050465804, 0.04653661, -0.124946415, 0.14791906, 0.086607225, -0.15802874, -0.0032374691, 0.052836478, -0.04980938, -0.016416343) * go_3(-1.0, -1.0); - result += mat4(0.16441637, 0.060025495, -0.0066467216, 0.13411339, 0.030276867, -0.07048473, -0.028923895, 0.044106837, -0.14255995, 0.0277301, 0.111437134, -0.17750145, -0.09217831, -0.2319309, -0.025248565, -0.102717236) * go_3(-1.0, 0.0); - result += mat4(0.06973222, -0.035588417, -0.111446336, 0.13473494, -0.112381935, 0.053046275, -0.0671602, -0.052672945, 0.0119380765, -0.120062254, -0.077458374, -0.16899844, -0.06409111, -0.31383014, -0.1415216, -0.0095003825) * go_3(-1.0, 1.0); - result += mat4(0.18645856, -0.075802125, -0.076009706, -0.008515984, -0.118233606, -0.08088051, -0.048755296, 0.15596835, -0.14270495, 0.11329069, 0.12079284, -0.110061385, -0.20744714, 0.13587101, 0.080459, -0.03490168) * go_3(0.0, -1.0); - result += mat4(-0.05136024, 0.027372051, 0.068267904, -0.19892217, -0.06297041, -0.12936479, 0.047871254, -0.10061141, -0.20743029, -0.14944652, -0.048013274, -0.111466944, 0.071750574, -0.014199303, 0.22018474, 0.03526866) * go_3(0.0, 0.0); - result += mat4(-0.015961887, 0.34805354, -0.084889576, -0.04103895, 0.012770726, 0.15756465, -0.056900878, 0.0012191968, 0.023338098, -0.068657495, 0.10945492, 0.054981403, -0.22202769, -0.25471666, -0.094040915, 0.04642164) * go_3(0.0, 1.0); - result += mat4(-0.06906127, 0.054665376, 0.26725876, 0.16588517, 0.039062407, 0.030395871, -0.22915559, -0.07140849, -0.12185479, -0.19255042, 0.06323481, -0.13590309, 0.019942466, -0.019182289, -0.14168435, 0.10321306) * go_3(1.0, -1.0); - result += mat4(-0.21957119, -0.12511711, 0.28405094, -0.07832896, -0.009318511, 0.20928006, 0.07713814, -0.039801426, 0.07545705, 0.020907026, 0.027893608, 0.10876504, -0.29373664, -0.18898283, 0.015717847, -0.069892325) * go_3(1.0, 0.0); - result += mat4(-0.08305131, 0.106991254, 0.060219277, -0.034433957, 0.038117282, 0.050357938, 0.008414432, 0.041005578, -0.012356306, -0.030845974, 0.068301044, -0.018243417, -0.029335339, -0.25252038, 0.14035118, 0.06186665) * go_3(1.0, 1.0); - result += mat4(0.047154456, -0.07945457, -0.010143473, 0.14525153, 0.004434465, 0.13061778, 0.11142133, 0.11891932, 0.03673374, -0.0031975107, -0.07057913, -0.10060252, -0.018507725, -0.05440741, -0.041567538, 0.06602653) * go_4(-1.0, -1.0); - result += mat4(-0.053671002, -0.0062734983, 0.030443976, -0.02611883, -0.11054853, 0.07524956, -0.18110128, 0.085256346, 0.006264908, -0.19079378, 0.041253116, -0.03462252, 0.11103377, -0.11105306, 0.0022028198, 0.108352505) * go_4(-1.0, 0.0); - result += mat4(0.05842086, 0.07041998, -0.083942145, 0.062100563, 0.08270817, 0.044405486, -0.027223391, 0.19852112, 0.16944961, 0.13228446, 0.0068719517, -0.105019845, 0.12576698, -0.020317027, 0.08117506, -0.06097545) * go_4(-1.0, 1.0); - result += mat4(-0.011024374, -0.14779495, 0.20576821, 0.10269086, -0.069063395, -0.018516377, 0.17406136, -0.10562391, 0.014538016, -0.050628114, -0.29504398, -0.06448774, -0.043636657, 0.04359594, 0.021326946, 0.2251655) * go_4(0.0, -1.0); - result += mat4(-0.091270216, -0.17969126, 0.10563032, -0.04412368, -0.0032437663, 0.03424443, 0.16033265, -0.02958856, -0.19704275, 0.15207182, 0.054025695, 0.040374033, -0.0071690367, 0.041726355, 0.121862285, 0.045662563) * go_4(0.0, 0.0); - result += mat4(-0.12316079, 0.048827652, -0.053332523, -0.13136196, -0.07160488, 0.043115586, 0.08805954, 0.09753396, -0.036120344, 0.092870444, -0.0034468954, -0.19077231, -0.054664202, 0.20115146, 0.0016251119, -0.051902667) * go_4(0.0, 1.0); - result += mat4(-0.0315559, 0.03361163, -0.10469534, -0.0871928, 0.11241524, -0.03091901, 0.015451541, 0.004027563, 0.025825808, 0.06891256, -0.10293409, 0.1631189, -0.22473077, -0.044312675, 0.12753218, -0.02040456) * go_4(1.0, -1.0); - result += mat4(-0.007374305, -0.08562257, 0.05379794, 0.096869245, 0.097899415, -0.0030102937, 0.0076100267, 0.051482208, 0.004514031, -0.22291246, -0.2495633, -0.08240695, 0.036596466, 0.05963552, 0.12940569, -0.1415334) * go_4(1.0, 0.0); - result += mat4(-0.095979825, -0.05715345, -0.023848705, -0.06566416, 0.12034552, 0.14720978, 0.005992561, 0.100924246, -0.107772924, 0.07058055, -0.061445955, -0.018437093, -0.29193494, 0.10358182, 0.20117821, -0.14332218) * go_4(1.0, 1.0); - result += mat4(-0.12156258, 0.06907849, -0.046949413, -0.0714296, 0.018323392, 0.03803995, -0.2321375, -0.15585358, 0.29162106, -0.15450235, 0.01548735, -0.0012524665, 0.05624532, -0.08688869, -0.11437038, -0.11211981) * go_5(-1.0, -1.0); - result += mat4(-0.07032475, 0.14325896, 0.15342546, 0.09299106, -0.15903436, 0.04795819, -0.0380711, 0.06558145, 0.05663524, 0.10471699, 0.16202284, 0.22659935, 0.083957784, -0.18429661, -0.038526375, 0.1839184) * go_5(-1.0, 0.0); - result += mat4(-0.07748898, 0.05564984, 0.06250746, -0.07047388, 0.030230096, -0.07243236, 0.00052768853, 0.030641804, -0.21637511, -0.061787657, 0.23074016, 0.26485935, 0.036239654, -0.05382996, -0.039605018, 0.047457904) * go_5(-1.0, 1.0); - result += mat4(0.038591295, -0.0118487505, 0.040234715, -0.062315144, -0.03631829, 0.06990438, -0.041493274, -0.06670605, -0.025423469, 0.12878254, 0.13836798, 0.004582435, 0.19626965, -0.23641632, -0.080461845, 0.15305169) * go_5(0.0, -1.0); - result += mat4(0.04500124, 0.0041531166, -0.04867464, -0.020004667, 0.018133044, -0.02402259, -0.012567247, -0.055164766, 0.095157854, -0.16957271, -0.1773557, -0.0073297294, -0.016875492, -0.22265767, -0.18525612, 0.06058628) * go_5(0.0, 0.0); - result += mat4(0.048397746, -0.02788455, -0.00040129846, 0.24131092, 0.063177764, -0.101537034, 0.048137493, 0.088934034, -0.24852042, 0.047054883, -0.03160053, 0.042998843, -0.013301893, -0.110713534, 0.09375505, 0.0425776) * go_5(0.0, 1.0); - result += mat4(-0.14482269, -0.054757748, 0.13310885, -0.007347218, -0.18589966, -0.08201558, 0.12553383, 0.012745022, -0.041277397, -0.27254996, -0.052470755, 0.058272712, 0.12499827, -0.022242187, -0.0945158, -0.07560099) * go_5(1.0, -1.0); - result += mat4(0.13483234, 0.1061582, 0.19909498, -0.019715492, 0.067625776, -0.061768368, -0.07905436, 0.054142125, 0.01305098, 0.20080145, 0.068478644, 0.02703119, -0.062937714, -0.08034533, -0.043274418, -0.048142888) * go_5(1.0, 0.0); - result += mat4(0.092937544, 0.05118526, -0.05864547, 0.03750556, -0.058229998, 0.042656448, -0.08145865, 0.089373656, -0.015661148, 0.092575066, 0.052451044, 0.06404418, -0.16234049, 0.10882622, -0.14870071, -0.14796436) * go_5(1.0, 1.0); - result += mat4(0.080398865, 0.07038971, 0.09692282, 0.02861559, -0.0713776, 0.03789653, -0.12821087, -0.108117945, -0.18606333, 0.20648551, -0.009968705, -0.058358673, 0.038921814, -0.015748626, -0.13130306, 0.03157655) * go_6(-1.0, -1.0); - result += mat4(0.11004321, 0.12440213, 0.043692373, 0.105881914, 0.055679493, 0.0013664741, 0.15824854, 0.13856025, -0.1295074, 0.004022093, 0.033498365, -0.10273302, 0.08524401, 0.16063328, 0.08564703, 0.10373729) * go_6(-1.0, 0.0); - result += mat4(-0.014664466, -0.11535996, 0.06562263, 0.12310657, -0.012192171, 0.113815434, -0.025748147, -0.056379057, -0.06376049, -0.065414384, -0.0641455, -0.20318998, 0.06978728, -0.043363202, 0.15023038, -0.029428175) * go_6(-1.0, 1.0); - result += mat4(0.065250464, 0.081754886, 0.22338922, -0.024675546, 0.03792266, 0.048089582, -0.051933024, -0.11904402, 0.09984588, 0.06062117, -0.28772864, 0.013163268, 0.054647114, -0.049608726, -0.0002510924, -0.06022509) * go_6(0.0, -1.0); - result += mat4(0.03816607, 0.08511951, -0.024275059, -0.07368607, 0.057391707, 0.05121836, -0.034112077, -0.17826608, 0.15133052, 0.052271105, -0.16036001, 0.21736205, 0.065108694, -0.019315425, -0.12633246, 0.03905335) * go_6(0.0, 0.0); - result += mat4(0.07849344, 0.050402712, 0.10410282, -0.17477596, 0.09423114, 0.01998794, -0.15437658, -0.051446997, -0.117983155, -0.13454825, -0.2263363, 0.16925961, -0.014475626, 0.11754052, -0.0486922, 0.080298886) * go_6(0.0, 1.0); - result += mat4(0.06447236, -0.08227287, 0.047538612, -0.025023978, 0.0327808, 0.19078472, 0.11304362, -0.114679985, -0.059365615, -0.1522396, -0.030596083, -0.0648535, 0.11473043, 0.099015206, -0.095805876, -0.113419555) * go_6(1.0, -1.0); - result += mat4(0.044888392, -0.04274824, -0.2327295, 0.10396123, 0.19391696, -0.081802174, 0.14488702, -0.016344251, -0.22996062, -0.25684744, 0.20749056, 0.028734291, -0.090665944, 0.07197542, -0.034485128, 0.10249939) * go_6(1.0, 0.0); - result += mat4(-0.11119326, -0.11946935, -0.12337761, 0.060325015, 0.1824222, 0.018512564, 0.057066485, -0.14212456, -0.26227912, 0.015946273, -0.08148649, 0.0525647, 0.013987963, 0.024034664, -0.09109407, -0.08800889) * go_6(1.0, 1.0); - result += mat4(0.08942057, -0.012771407, 0.052976996, 0.034529075, 0.1310871, -0.047644522, -0.13528478, -0.09086901, 0.041775502, -0.13844568, 0.03964684, 0.031089516, -0.07392355, -0.052174408, -0.009474784, -0.2290421) * go_7(-1.0, -1.0); - result += mat4(-0.017659597, 0.050037336, -0.0025299324, 0.0753296, 0.06764149, -0.14075726, 0.08307984, 0.08205474, 0.077473514, -0.24571882, 0.14922607, -0.042693764, 0.044783637, -0.15163653, 0.0481681, 0.1755556) * go_7(-1.0, 0.0); - result += mat4(-0.08418654, 0.105244175, 0.20956765, -0.06294217, 0.1879804, -0.029752912, 0.032740694, -0.11350783, 0.1573697, -0.338965, -0.005411119, -0.06498442, -0.074411646, 0.11154879, -0.007983718, 0.099891976) * go_7(-1.0, 1.0); - result += mat4(-0.11360442, -0.023985954, 0.050237827, -0.039197393, 0.24417207, -0.17750946, 0.0029264402, 0.06552346, 0.07999777, -0.16054434, 0.05239082, -0.09109438, 0.20186174, -0.045056574, 0.12976813, -0.030063752) * go_7(0.0, -1.0); - result += mat4(-0.0030791545, -0.08059885, -0.0036832225, -0.057302896, -0.095006235, 0.11108009, 0.1688286, 0.18473075, -0.060287848, 0.034863815, -0.022221414, 0.24895363, -0.025254453, -0.053281628, 0.2836165, 0.089012854) * go_7(0.0, 0.0); - result += mat4(-0.048098963, -0.024920667, -0.008542859, -0.12416585, -0.007935982, 0.19714202, 0.08050051, -0.005334343, -0.14211339, -0.08771554, 0.16370557, -0.32066932, -0.10727847, -0.12724026, 0.104362994, -0.06707228) * go_7(0.0, 1.0); - result += mat4(-0.15704228, -0.024204414, 0.007087552, -0.12148864, 0.13878778, -0.012233652, 0.03271341, 0.046406206, 0.050816927, -0.093313076, -0.24589844, 0.052772272, -0.28821534, -0.121905856, 0.19799241, -0.0708691) * go_7(1.0, -1.0); - result += mat4(-0.23982097, 0.04363522, 0.3527458, 0.023065759, -0.13373962, 0.117174946, -0.06172028, -0.17474857, -0.13406518, -0.011999389, -0.037810836, -0.44302982, 0.08802065, -0.08534176, 0.05789676, -0.021465434) * go_7(1.0, 0.0); - result += mat4(-0.18225484, 0.098582916, -0.029838774, -0.12963313, -0.15371342, 0.059467446, 0.06810986, -0.13996232, 0.02387343, -0.19576547, 0.24994224, -0.22950345, 0.04223122, 0.097238496, 0.037641723, -0.22899197) * go_7(1.0, 1.0); - result += vec4(-0.021099666, -0.03129005, -0.026100485, -0.032015156); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!SAVE conv2d_16_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09609756, -0.055012375, -0.043073136, -0.055666514, 0.016418008, 0.036120225, 0.06029676, 0.020939374, 0.11832701, -0.053679865, -0.015110101, 0.13618767, 0.09494681, -0.03174575, 0.0027091461, -0.079117626) * go_0(-1.0, -1.0); - result += mat4(0.16776627, -0.059132457, -0.08617137, 0.111107774, -0.07522468, 0.11456014, 0.10206192, -0.09795013, -0.031782568, 0.036730297, 0.09556621, -0.000958083, -0.04877398, -0.12761621, -0.05328436, -0.17509152) * go_0(-1.0, 0.0); - result += mat4(-0.013845615, 0.0364183, 0.010424956, 0.041805822, -0.116106875, 0.002734559, -0.029624986, -0.17783165, -0.07629819, 0.04145108, -0.07223744, -0.007690453, -0.064606376, 0.12174394, -0.014825361, -0.0084151495) * go_0(-1.0, 1.0); - result += mat4(-0.002451479, 0.07880965, -0.0139416065, -0.24062878, -0.088408604, 0.058236387, 0.006706374, -0.0010319118, 0.09392773, -0.03210168, -0.114932165, 0.1618595, 0.14179535, -0.042500906, -0.09045998, -0.14127046) * go_0(0.0, -1.0); - result += mat4(-0.027822092, 0.019911472, 0.19860765, 0.15724073, 0.10166673, 0.06093802, 0.14866613, 0.06564189, -0.055504557, 0.0024655203, -0.0673572, -0.009370036, 0.031148747, -0.07150111, -0.043881677, 0.18116175) * go_0(0.0, 0.0); - result += mat4(-0.04210747, -0.0071274997, -0.032913957, 0.018660989, 0.051073376, 0.06782918, -0.017950369, 0.07190485, -0.22312792, 0.16126503, 0.04935446, -0.07235652, 0.010417901, 0.07713274, -0.09850908, -0.028445879) * go_0(0.0, 1.0); - result += mat4(0.06469987, -0.11051662, 0.00044343024, -0.0824562, 0.09513741, -0.017997947, -0.06515641, 0.11881489, 0.03063408, 0.007759294, 0.07263358, 0.025132397, -0.02236495, -0.023467774, 0.017836783, -0.10823227) * go_0(1.0, -1.0); - result += mat4(-0.13958383, 0.01932197, 0.034343425, 0.03998081, 0.04705273, -0.066937834, 0.072302155, -0.015934192, -0.067153506, -0.07604367, 0.0135788955, -0.09868874, 0.028401552, 0.016137991, 0.030741712, -0.05084945) * go_0(1.0, 0.0); - result += mat4(0.09688358, -0.0038751946, 0.08666303, -0.025303468, -0.106170915, -0.058171537, -0.03180972, -0.099828646, -0.03305094, 0.0017180776, -0.1330951, -0.0258952, 0.0075092567, -0.022991123, 0.0692612, -0.11860208) * go_0(1.0, 1.0); - result += mat4(0.1289264, -0.051340435, 0.07629522, 0.08525001, 0.17129055, 0.08729278, 0.16216865, 0.029870907, 0.037678342, 0.0049766265, 0.058949407, -0.037198026, -0.080018, -0.055140797, -0.10370115, -0.18345577) * go_1(-1.0, -1.0); - result += mat4(0.0070326407, -0.12450474, 0.010306007, -0.11749582, 0.21073423, 0.08744276, -0.2049444, -0.07198778, -0.023872219, -0.06021247, -0.110835806, 0.099957176, 0.022628674, -0.05737548, -0.03985959, 0.008792708) * go_1(-1.0, 0.0); - result += mat4(0.022252496, -0.06173045, 0.053174034, 0.0787691, -0.091547325, -0.07840242, -0.15143803, 0.08442903, -0.08603787, 0.13783117, -0.123351984, -0.14503227, 0.062592834, -0.032115187, 0.1645178, -0.042738732) * go_1(-1.0, 1.0); - result += mat4(0.24653557, -0.1127134, -0.06485058, -0.01246277, -0.042020027, 0.030455599, -0.027297743, 0.063047804, 0.030217074, 0.012030112, -0.041015655, 0.031267677, -0.17512026, 0.1655615, -0.15595682, 0.100183144) * go_1(0.0, -1.0); - result += mat4(-0.032732334, 0.017509729, -0.058794443, -0.031101031, -0.03794737, 0.025334312, 0.06050446, 0.1429206, 0.02906151, -0.01638736, -0.13368747, 0.00013812391, 0.14179116, 0.16578944, 0.0016875591, -0.0081081325) * go_1(0.0, 0.0); - result += mat4(-0.17499752, -0.012791056, -0.0039763134, -0.014580471, 0.015078276, -0.16282362, -0.012617101, 0.081141666, 0.07503038, -0.0045926278, -0.0072176065, 0.080567606, -0.074966975, -0.06954477, 0.20330784, 0.106600724) * go_1(0.0, 1.0); - result += mat4(-0.061575174, -0.011066679, 0.051635355, 0.06448836, 0.07634649, 0.006140537, 0.07088602, -0.0043026246, 0.042276155, 0.15659745, 0.05378826, 0.044281624, 0.046426885, -0.09314892, 0.021468692, -0.065087035) * go_1(1.0, -1.0); - result += mat4(0.036643215, -0.16454737, -0.106744304, -0.036818992, -0.08886182, 0.1267292, 0.19476546, 0.25881895, 0.11264265, -0.16113323, 0.007636693, -0.00693805, -0.060398016, 0.065028094, 0.064959414, 0.03238651) * go_1(1.0, 0.0); - result += mat4(0.048840225, -0.023630783, -0.024679976, -0.0014270309, 0.0084513305, 0.17124465, 0.19591704, 0.1291631, 0.1774293, 0.08246338, -0.017292364, -0.011336239, 0.11411684, 0.08811617, -0.03444606, 0.16706938) * go_1(1.0, 1.0); - result += mat4(-0.0013355667, 0.08377846, -0.093042545, 0.084158204, 0.2795504, -0.09045552, 0.06632154, 0.10977727, -0.0400835, -0.034911055, 0.056995716, 0.040316224, -0.008876082, -0.007732556, 0.050168034, -0.16885711) * go_2(-1.0, -1.0); - result += mat4(0.13376418, 0.07325086, -0.09131099, 0.13401611, 0.050767064, -0.17131376, 0.047098216, 0.10656574, -0.03088948, 0.08322672, 0.12997481, 0.03262986, 0.06139361, 0.12225519, -0.037071053, -0.008163907) * go_2(-1.0, 0.0); - result += mat4(0.12655751, 0.025844684, 0.050787576, 0.02169468, 0.18041965, -0.0036477768, -0.025983771, 0.12426952, -0.066581994, 0.06865894, 0.055160727, -0.06682907, 0.026987294, -0.09632507, 0.1279279, -0.032017976) * go_2(-1.0, 1.0); - result += mat4(0.20881699, -0.04413474, 0.00041975285, 0.018447168, 0.15139039, -0.17890811, -0.048498105, 0.026863892, -0.04038872, 0.19609426, 0.07234381, 0.07763264, 0.07762023, -0.06942944, 0.09720136, -0.020185204) * go_2(0.0, -1.0); - result += mat4(-0.033203717, 0.051632375, -0.29151496, -0.019714551, 0.054144926, -0.06135866, 0.34238565, 0.028267676, -0.04485083, -0.053827494, 0.2143548, -0.011955068, -0.14167474, -0.04505376, 0.10723791, -0.041945346) * go_2(0.0, 0.0); - result += mat4(-0.102433704, 0.004789273, 0.1119891, -0.0203109, -0.017740408, -0.09619332, 0.3475929, 0.029633807, 0.04624514, 0.0640723, 0.038288433, -0.043456446, 0.0028731087, 0.03015074, -0.020183885, 0.044622716) * go_2(0.0, 1.0); - result += mat4(0.24704404, 0.041703355, -0.049013373, 0.045351848, -0.0093254475, -0.1278815, 0.14508104, 0.080030285, 0.056857005, 0.08688084, 0.19216926, -0.06220198, 0.17112607, 0.07218316, 0.0795074, 0.01839487) * go_2(1.0, -1.0); - result += mat4(0.1733775, 0.026274947, -0.01898811, 0.15374832, 0.119747944, 0.12652078, 0.03181385, 0.058963638, 0.020806959, -0.052343946, 0.12007364, 0.12834589, 0.12946364, -0.004851643, -0.09275399, -0.023749454) * go_2(1.0, 0.0); - result += mat4(0.0193869, 0.16029198, -0.1647226, 0.14820257, 0.015849369, 0.061719846, 0.01781591, 0.06546549, 0.01411068, 0.047441017, 0.10499331, 0.0444021, 0.10317269, 0.012305531, -0.027644547, -0.02026022) * go_2(1.0, 1.0); - result += mat4(0.022080548, 0.055724394, 0.01700489, 0.14965396, 0.052224305, -0.036954537, 0.03474517, -0.009189564, -0.049905237, -0.020433484, 0.048628446, -0.102126524, -0.012649122, 0.04515492, -0.045957103, -0.024198) * go_3(-1.0, -1.0); - result += mat4(-0.08102677, -0.005510669, 0.089871764, 0.042553343, -0.04897514, 0.016537901, -0.0031736959, -0.063882664, 0.18177465, -0.081341125, 0.035784308, 0.019861514, -0.06374453, -0.021801073, 0.07553763, 0.2392607) * go_3(-1.0, 0.0); - result += mat4(-0.051674295, -0.024726579, 0.012708328, 0.0120022455, 0.06796091, -0.11919646, 0.10550911, -0.016914662, -0.0017664131, 0.053862873, 0.01002813, -0.007454544, -0.19201882, 0.005823377, 0.023013754, 0.016918607) * go_3(-1.0, 1.0); - result += mat4(-0.0688164, 0.069968164, 0.035286, -0.12940317, 0.17318653, -0.05089972, -0.007604, 0.026937611, -0.0047092275, 0.03783206, -0.006852713, -0.15646859, -0.030406103, -0.06980891, 0.009835896, -0.02440511) * go_3(0.0, -1.0); - result += mat4(0.16799697, -0.06943555, -0.03730531, -0.1721256, -0.09911213, -0.081116, 0.0018397432, 0.04689856, 0.018798007, 0.102041714, 0.10882061, 0.07884699, 0.15522195, 0.039948918, 0.1331871, 0.29782096) * go_3(0.0, 0.0); - result += mat4(0.060170665, -0.12705128, 0.27997023, 0.07200365, 0.15316802, -0.19086201, 0.03769603, 0.09388092, 0.013621962, -0.001599727, -0.014308661, 0.055155694, 0.108794376, -0.03869029, -0.14731637, -0.09738743) * go_3(0.0, 1.0); - result += mat4(-0.056280326, -0.013755136, 0.051307328, 0.047183447, 0.16895631, -0.15820411, -0.18688565, 0.08207807, -0.07443388, -0.03691134, -0.14448541, -0.07053698, -0.082723446, -0.088062696, 0.081009656, 0.10446362) * go_3(1.0, -1.0); - result += mat4(0.07195501, -0.005046178, -0.10009494, -0.0068428647, -0.014195055, -0.1258344, -0.112450786, -0.04761318, -0.0004043175, -0.07863752, -0.018329088, -0.015974361, -0.09353746, -0.075935334, 0.2102448, -0.028742688) * go_3(1.0, 0.0); - result += mat4(0.007925812, -0.14759003, -0.12893279, 0.20039004, -0.059057757, -0.062296968, 0.0114990985, 0.005130549, -0.04773586, -0.13635732, 0.022072053, -0.067658275, 0.12064796, 0.038565595, 0.062534854, -0.15858793) * go_3(1.0, 1.0); - result += mat4(0.012978919, 0.09248063, 0.079721585, -0.10949528, 0.05636094, 0.0639426, -0.08391837, -0.054627553, 0.00037798003, -0.013555376, -0.18349887, -0.04274588, -0.14281152, 0.0057977308, -0.05939348, 0.010091491) * go_4(-1.0, -1.0); - result += mat4(0.1422423, -0.10552157, -0.03913756, -0.0653251, 0.06479668, 0.0115009425, -0.1867643, 0.114124864, 0.007959146, -0.03393825, 0.11404819, 0.012734461, 0.058671746, -0.05543321, -0.08331419, 0.07654381) * go_4(-1.0, 0.0); - result += mat4(0.09127371, -0.021557972, -0.05028715, -0.05016229, 0.017002096, 0.19106826, 0.05418276, -0.05694394, 0.06581798, -0.0598181, 0.018230528, -0.0635826, -0.05732186, -0.10073851, -0.011672219, -0.033285677) * go_4(-1.0, 1.0); - result += mat4(-0.048617575, 0.019004911, -0.019724898, 0.0065591526, 0.101372994, -0.08572456, -0.10958081, -0.07779033, -0.0744815, -0.071501486, 0.08134343, -0.11673183, -0.052799657, 0.09455502, -0.046477437, 0.062174764) * go_4(0.0, -1.0); - result += mat4(0.15564895, 0.08472279, 0.11441956, -0.14344747, -0.24006632, -0.032172255, 0.039400138, -0.007438132, 0.009162504, 0.05753773, -0.11778383, -0.06364131, 0.1863039, -0.024734113, -0.06508269, 0.084494196) * go_4(0.0, 0.0); - result += mat4(0.042976603, 0.10006721, -0.05396374, -0.091420546, -0.07264408, -0.0376512, 0.09453536, -0.025677709, -0.040637143, 0.009227286, 0.21652271, -0.08846454, 0.011874195, -0.24357733, -0.20396955, 0.0034799203) * go_4(0.0, 1.0); - result += mat4(0.11487922, 0.06142311, -0.05799218, -0.043709278, -0.011386744, -0.047758225, -0.04346472, -0.15726915, -0.010850286, 0.055703852, 0.11554872, 0.14175794, -0.025774736, 0.03302446, -0.031050406, -0.14743169) * go_4(1.0, -1.0); - result += mat4(0.107260466, 0.09991366, -0.0854939, -0.13359135, -0.17836837, 0.0947788, 0.076283626, -0.03702856, 0.045162823, 0.02137722, 0.013965963, 0.008323008, 0.1299707, -0.06806633, -0.08851454, -0.0519084) * go_4(1.0, 0.0); - result += mat4(-0.039744638, -0.009205459, -0.06797804, -0.031998966, 0.061308265, -0.0007453291, -0.0007644073, -0.016154464, 0.011811196, 0.034707885, -0.12882923, -0.0021590462, 0.13357846, 0.058845736, -0.15742505, -0.06657708) * go_4(1.0, 1.0); - result += mat4(-0.018271925, 0.100263335, 0.01960824, -0.1153796, -0.23422036, -0.0031631307, -0.050807018, -0.053269822, -0.03458429, 0.14577144, 0.13469611, -0.11434715, -0.009439456, 0.030330583, -0.040208224, 0.12874405) * go_5(-1.0, -1.0); - result += mat4(0.031613346, 0.15594259, 0.20758592, 0.03629735, -0.12865163, -0.067441724, -0.019100431, -0.047031283, 0.06444509, 0.04873205, 0.12288836, 0.042170476, -0.12388107, 0.00048445113, -0.027354648, -0.013098879) * go_5(-1.0, 0.0); - result += mat4(-0.054265685, 0.11467644, 0.02952745, -0.017398788, 0.082775794, 0.09431421, -0.022905173, 0.011000366, -0.016479017, -0.07035369, 0.15773647, 0.09656325, -0.12106234, 0.054287493, -0.21364424, -0.09698419) * go_5(-1.0, 1.0); - result += mat4(-0.08437344, 0.07146613, 0.03008299, -0.050195847, 0.08297239, 0.010328966, 0.2501361, -0.051406503, 0.09035167, 0.10230502, -0.087015145, -0.090351515, -0.059905346, 0.010634574, 0.101668574, 0.12283612) * go_5(0.0, -1.0); - result += mat4(-0.12624927, -0.043445382, 0.04399112, 0.2396272, -0.12518035, -0.107726894, -0.02661663, -0.186101, 0.03170526, -0.013086996, -0.16010353, 0.08162145, -0.24017718, 0.08761893, -0.2546848, -0.03131363) * go_5(0.0, 0.0); - result += mat4(0.09616909, -0.030323014, -0.14481992, -0.036541697, -0.19536978, 0.1064523, 0.079171434, -0.038171098, -0.043278754, -0.059359286, -0.0025608074, -0.07138205, -0.10972322, -0.18075511, -0.08821048, -0.035308387) * go_5(0.0, 1.0); - result += mat4(-0.00918984, -0.031009672, 0.066319056, -0.085171655, -0.024080584, 0.06236177, -0.0115594845, -0.119407974, 0.070196055, -0.1145586, -0.021149555, -0.13792083, 0.030996334, 0.1484254, -0.010054155, 0.1086116) * go_5(1.0, -1.0); - result += mat4(-0.014743395, 0.22290353, -0.07011576, 0.1069503, -0.0026242791, -0.13469394, 0.038082447, -0.07685243, -0.2634126, 0.13381208, 0.10993633, 0.03586481, -0.054848466, 0.006930213, -0.12056366, 0.014139514) * go_5(1.0, 0.0); - result += mat4(0.030834544, -0.0070147654, 0.14920786, -0.065181114, 0.02508345, -0.1483285, 0.0047159214, -0.044124506, 0.039289955, 0.06650584, 0.081950754, -0.08433925, 0.015854202, -0.040369797, -0.046914417, -0.009928778) * go_5(1.0, 1.0); - result += mat4(0.15443583, 0.04376301, 0.13718478, -0.03824221, -0.055449802, -0.14842397, 0.06060697, 0.01631613, 0.11067964, -0.14271964, -0.22600028, -0.034234643, 0.06918402, -0.04600415, -0.06900304, 0.06417275) * go_6(-1.0, -1.0); - result += mat4(-0.042201858, -0.011375089, -0.015411258, -0.12674233, 0.026103523, 0.10343946, -0.0077547887, -0.033607867, 0.124470666, 0.06796264, -0.13659167, 0.040740173, 0.0604928, -0.092276655, 0.11865089, -0.08302834) * go_6(-1.0, 0.0); - result += mat4(-0.01112464, -0.021381281, -0.034482505, -0.053960275, 0.058478907, -0.0097189145, 0.1940526, -0.13732584, -0.093956545, 0.0057153534, -0.08862296, -0.06671325, -0.005182285, -0.05719968, 0.025967684, 0.032040965) * go_6(-1.0, 1.0); - result += mat4(0.06687304, -0.0026133375, 0.15141574, -0.05272407, -0.023663558, 0.06502362, 0.08093761, 0.109535225, -0.05700876, -0.029776534, -0.05858992, -0.013166662, 0.019790562, -0.12917398, -0.06497215, 0.057915356) * go_6(0.0, -1.0); - result += mat4(0.06072319, -0.11173385, -0.06554967, 0.13359413, -0.06625554, -0.017581498, -0.058076315, -0.003931657, -0.023673324, 0.07044443, 0.003583932, 0.14873055, -0.061578825, 0.03817671, 0.14216065, -0.025126763) * go_6(0.0, 0.0); - result += mat4(-0.06629599, -0.017247697, 0.10675047, -0.0044184877, -0.058319747, -0.03925674, 0.02459416, 0.00095720706, -0.08090092, 0.12986918, -0.25750917, -0.03840858, 0.12543473, -0.09118815, 0.13346738, 0.0872867) * go_6(0.0, 1.0); - result += mat4(0.04924794, 0.08806323, -0.06525138, -0.08052156, -0.023931473, -0.0734658, -0.010882386, -0.030258544, -0.18479422, 0.18968348, -0.050708067, 0.038592026, 0.042794973, -0.10810727, -0.02882389, -0.085186586) * go_6(1.0, -1.0); - result += mat4(-0.18184122, 0.009152045, -0.0013307668, 0.0528998, -0.09193569, 0.10202717, 0.030233888, -0.116206944, 0.13555616, -0.011747243, -0.22625974, -0.008968841, -0.02577717, 0.050121024, 0.0039666356, 0.0140310675) * go_6(1.0, 0.0); - result += mat4(-0.07334463, -0.040781733, 0.04237529, -0.017089957, 0.042566124, 0.028134586, -0.009052325, 0.07598215, -0.13904396, 0.026619319, -0.08988712, -0.005250927, 0.08855536, -0.1234204, 0.06786622, 0.039750088) * go_6(1.0, 1.0); - result += mat4(-0.0058151903, 0.03422835, -0.0007863771, -0.077100396, 0.063499264, -0.041216582, 0.04828395, -0.053149093, -0.18125884, 0.1692733, 0.33500117, 0.067575455, 0.04588855, 0.13782747, 0.1351673, -0.004836687) * go_7(-1.0, -1.0); - result += mat4(0.13591178, -0.08803395, -0.0082301255, 0.018532211, -0.14070654, -0.153454, 0.12548654, 0.0942813, -0.035065573, 0.17697263, 0.048331108, -0.028308947, 0.038468204, 0.07220786, 0.2944224, -0.025645984) * go_7(-1.0, 0.0); - result += mat4(0.13994263, -0.019219065, -0.14284274, -0.1471152, -0.15571125, -0.02123468, 0.14339264, -0.04104626, -0.20012046, 0.06999495, 0.13211347, -0.015829416, 0.15163279, 0.03081914, -0.015203248, -0.07161789) * go_7(-1.0, 1.0); - result += mat4(0.11625371, -0.020931741, -0.0875021, -0.01576175, 0.061449245, -0.046299458, 0.07421833, -0.06874183, 0.30783412, 0.15397696, 0.045492157, 0.08606051, -0.035266094, 0.11132788, 0.15416808, -0.01438527) * go_7(0.0, -1.0); - result += mat4(0.012413651, -0.033095382, -0.1972357, 0.18014714, 0.2332191, -0.25324136, -0.028787011, -0.17730585, 0.33105198, -0.14836398, 0.1377452, 0.044808302, -0.09968492, 0.17502867, 0.06019141, -1.0588551e-05) * go_7(0.0, 0.0); - result += mat4(0.07118095, -0.059810337, -0.14726935, -0.17732129, 0.06272923, -0.13827543, -0.018983403, -0.10391589, -0.07683961, -0.009228622, 0.016202949, 0.30789152, -0.007190668, -0.22396167, 0.03562099, 0.011657737) * go_7(0.0, 1.0); - result += mat4(-0.013723268, -0.0018854191, 0.012472027, -0.048562117, 0.017156087, 0.006624358, -0.1335618, 0.06898693, 0.24195383, 0.12748662, 0.2687545, 0.11675469, 0.051591244, 0.060604665, 0.15726678, -0.12029377) * go_7(1.0, -1.0); - result += mat4(0.018423952, 0.03342564, -0.02585596, -0.093597226, -0.041045543, -0.2526591, -0.10587788, -0.17330013, 0.26386222, -0.24480952, -0.007416698, 0.14573297, -0.0046972204, 0.19525634, -0.0049372353, -0.08545003) * go_7(1.0, 0.0); - result += mat4(0.0025138035, 0.052410353, 0.06759947, -0.06182174, 0.054527503, -0.16857441, 0.1532493, -0.13587067, 0.076711185, 0.3173634, -0.08822435, -0.22298068, -0.014268186, 0.03482756, 0.103789225, 0.059798267) * go_7(1.0, 1.0); - result += vec4(0.018433796, 0.0035757907, 0.00091714435, -0.003333423); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.06333993, 0.09488723, -0.08568035, 0.05200572, -0.1472294, -0.044452854, 0.14845347, 0.21513753, -0.15652965, 0.10840373, -0.056219988, -0.030637205, 0.04253709, 0.055037092, 0.0414908, -0.1892757) * g_0; - result += mat4(0.0787534, -0.04241309, -0.28714868, -0.046900865, 0.21437375, -0.24278513, -0.20257188, 0.022188142, -0.019003864, 0.15094592, -0.01814459, -0.1872464, 0.059750058, 0.07614743, -0.0521617, 0.17934658) * g_1; - result += mat4(-0.00019216978, -0.15454617, -0.12794366, 0.044536293, 0.21249126, 0.32045737, -0.147422, -0.09734236, -0.12062187, -0.16607423, 0.09816451, -0.06590071, -0.19728394, -0.14778756, 0.017338278, -0.23659901) * g_2; - result += mat4(0.074417666, -0.08059618, 0.07767349, -0.03693259, -0.15096827, -0.17373516, -0.20327133, 0.049108338, 0.054858647, 0.015723148, -0.2328269, -0.16492803, 0.12288839, -0.037010916, -0.16224542, -0.19452086) * g_3; - result += mat4(-0.1915939, -0.15707129, -0.1509893, 0.28097305, 0.03221469, -0.18564048, -0.27148914, -0.084917046, 0.0059148185, 0.06549851, 0.19273312, -0.20762756, 0.011551308, 0.18630835, 0.07567006, 0.046911348) * g_4; - result += mat4(0.01897941, 0.026447995, 0.30203855, -0.10592397, 0.05870943, 0.1054224, 0.14929043, 0.050682828, 0.0028596125, -0.15138957, -0.03117043, -0.06962448, 0.10460237, 0.30631867, 0.15475252, -0.082159385) * g_5; - result += mat4(0.056030374, 0.16605477, -0.2011969, 0.0581226, -0.16144355, -0.02808077, 0.010258871, 0.17102659, -0.054532573, 0.3242664, 0.010550339, -0.05370968, -0.014814065, -0.13152799, 0.30049798, 0.122068055) * g_6; - result += mat4(0.17697391, 0.074868776, -0.16765091, -0.14493272, 0.21677482, 0.07529925, 0.3344087, -0.35831642, -0.12440452, 0.15675198, -0.01240608, 0.21036354, -0.21215741, 0.18817489, 0.072722636, -0.07215567) * g_7; - result += mat4(-0.29419374, 0.043863285, -0.083936326, 0.3729109, 0.18776, -0.16754451, -0.35357738, 0.045188952, -0.23892207, 0.060875878, 0.046727493, 0.39672953, -0.009434926, 0.0181569, -0.12958461, 0.09870838) * g_8; - result += mat4(-0.12987071, -0.09597688, 0.2408095, -0.26320508, -0.09014934, -0.1188552, 0.16146885, 0.07402836, 0.35367203, 0.1402623, 0.18618205, -0.25213316, -0.10277592, -0.24674612, -0.32700107, 0.14396617) * g_9; - result += mat4(-0.3089205, 0.16185652, 0.27521953, 0.041868176, -0.0022332487, 0.12922727, 0.18001151, 0.027498085, -0.110244, -0.044742703, -0.18411714, -0.06564328, 0.07164282, 0.08585003, 0.106629394, -0.054929875) * g_10; - result += mat4(0.16139935, 0.03240059, 0.082769506, -0.18399146, 0.050481632, 0.018776342, -0.111956954, -0.040583946, 0.08147097, -0.04110496, -0.15557489, 0.05611198, -0.25277153, -0.048391934, -0.10089335, 0.12622349) * g_11; - result += mat4(-0.2730474, 0.11085952, -0.075156026, -0.14303921, 0.0447421, -0.121895775, -0.35013795, 0.14995758, -0.016281242, 0.033779178, -0.15126662, -0.015176784, 0.040082585, 0.006450913, -0.030723661, -0.058004852) * g_12; - result += mat4(0.0403051, 0.20903297, 0.067333676, -0.14318345, 0.16834565, 0.0948365, -0.17433995, 0.07182994, 0.06342598, -0.32021528, 0.048930682, -0.051184237, -0.057208735, -0.16286889, -0.12637149, 0.10992653) * g_13; - result += mat4(-0.14312495, -0.049565334, 0.013813875, 0.070963, 0.26302704, -0.0026512244, 0.33206236, -0.16186446, 0.030595824, 0.119594894, 0.3493397, 0.12651123, 0.04868717, 0.15870047, -0.17626017, 0.053944312) * g_14; - result += mat4(0.017788881, -0.08985951, 0.0063696383, 0.19405968, 0.06445815, -0.024619186, -0.18900226, -0.030232785, -0.08246631, 0.041897133, 0.089627616, -0.23452254, 0.08906869, 0.09038576, -0.12202178, 0.032400858) * g_15; - result += mat4(0.23806943, -0.20720927, -0.19059941, -0.08068674, -0.035527237, -0.15776922, -0.024618277, -0.2444429, 0.05044065, 0.024451984, -0.14015712, 0.16094929, 0.03076579, -0.020462647, -0.20250656, 0.1029075) * g_16; - result += mat4(0.047954805, 0.04713052, -0.014320014, 0.11667167, 0.45120004, -0.12177823, -0.11391618, 0.18149075, 0.08473487, 0.14073594, -0.07025125, 0.19289283, 0.083399035, 0.15313184, -0.2289391, -0.27340987) * g_17; - result += mat4(-0.031021187, -0.056889966, -0.089950375, 0.08566341, -0.093087964, -0.114104606, 0.20981134, 0.20004368, 0.36221287, 0.09415981, 0.1761312, -0.07357187, 0.15133485, 0.18167816, 0.13953826, -0.108503394) * g_18; - result += mat4(-0.04393188, 0.25963497, -0.0330857, 0.050094042, 0.0015226522, 0.09266069, -0.15832978, -0.22114822, 0.063840784, -0.33367425, -0.103081174, 0.01706331, 0.007467705, -0.3628944, -0.10182942, 0.1942455) * g_19; - result += mat4(0.23547105, 0.03324374, 0.13732544, -0.18675572, 0.2536437, -0.024418214, 0.1405745, -0.08798336, -0.09310729, -0.088432625, -0.16199891, -0.07790996, -0.16207652, -0.057468604, -0.6186605, 0.84914094) * g_20; - result += mat4(-0.10194844, 0.25304326, -0.13665953, -0.042847656, -0.030379621, 0.104918376, 0.07079868, 0.044213004, 0.032054633, 0.11013307, -0.10676529, -0.06577438, -0.0136965765, 0.076344326, 0.2286907, 0.17813052) * g_21; - result += vec4(-0.077900425, -0.00413413, 0.020021616, 0.012168936); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf1 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.19856872, 0.11904717, -0.064469926, -0.060562156, 0.088999204, 0.34987435, 0.19510469, 0.31565446, -0.22311617, 0.05800273, -0.070240505, 0.07316653, -0.104855716, 0.06083218, -0.19869952, 0.16014937) * g_0; - result += mat4(0.25990537, -0.0699571, -0.20297414, -0.14829135, 0.12648308, -0.10045799, 0.16074577, 0.018881219, -0.13109452, -0.07432639, -0.07032176, -0.016821157, -0.27503675, 0.019903673, -0.14726853, -0.031217257) * g_1; - result += mat4(-0.06882065, -0.00869124, -0.08228761, -0.09555077, 0.10960049, 0.1492122, -0.030764349, -0.013157832, -0.0692061, 0.045005288, 0.22895455, 0.031483006, -0.012937336, 0.23743461, -0.03126466, -0.035970267) * g_2; - result += mat4(0.22776505, -0.15405187, -0.27868515, 0.06471627, 0.31427258, 0.1402745, 0.06863169, -0.051754337, 0.10026417, -0.2574256, -0.08802628, 0.068399504, 0.071888685, 0.022936821, -0.12540928, -0.015080033) * g_3; - result += mat4(-0.039721105, -0.14838658, 0.24391836, -0.069194034, -0.16316739, 0.13536945, -0.13266453, -0.004489543, 0.18704645, -0.04657965, 0.025766708, -0.1476673, 0.27578717, -0.009918311, -0.27262732, 0.16296776) * g_4; - result += mat4(-0.05249631, -0.2803283, 0.13727781, -0.09695497, -0.24535981, 0.10808846, 0.0022599236, 0.12974386, -0.07886284, 0.015886888, 0.037709296, -0.034715742, 0.048587516, -0.026816653, -0.04620663, 0.009604917) * g_5; - result += mat4(0.20355739, 0.26263452, -0.016582636, -0.088004105, 0.0283301, -0.1646068, -0.14768231, 0.06584749, 0.09362991, 0.073038615, 0.03585095, 0.14700644, 0.30650404, 0.115159705, 0.094853185, 0.1412418) * g_6; - result += mat4(0.19348627, 0.02455195, 0.04202425, -0.10602589, -0.087195724, 0.16053778, -0.15648113, -0.21084791, 0.119239464, 0.29533407, -0.23261383, -0.27815127, -0.030562209, -0.016111122, 0.029648153, 0.15206608) * g_7; - result += mat4(0.03864564, -0.013641563, 0.008269305, 0.08444338, -0.37716612, -0.119036004, -0.37552136, 0.22999282, -0.03647035, 0.11136046, -0.11673442, -0.22254193, -0.31966165, 0.30993468, 0.26735285, -0.11855201) * g_8; - result += mat4(-0.14826044, 0.08726846, -0.02775652, 0.095674574, 0.0414766, -0.11637243, 0.22545882, 0.024133151, -0.22550999, 0.17247951, 0.008702564, 0.015936209, 0.08907862, -0.1164228, -0.18179186, -0.088854164) * g_9; - result += mat4(0.043506436, -0.22450508, 0.3010276, 0.109547526, 0.18712491, 0.086767204, -0.058926016, -0.0066756974, -0.035483465, 0.00068262784, 0.053788308, 0.11970851, -0.02235205, -0.254944, -0.12766762, -0.03977307) * g_10; - result += mat4(0.18281984, 0.05554126, -0.009539485, 0.043676183, -0.007973203, -0.033897012, -0.10886124, -0.045664012, 0.18444513, 0.10041875, -0.13144056, -0.30685145, -0.23832887, 0.15063612, 0.03259291, 0.13059925) * g_11; - result += mat4(-0.18238647, -0.24912533, 0.0064255036, 0.20445079, 0.071332455, -0.24193963, 0.058854166, 0.15322176, 0.08335828, 0.08328783, -0.120153025, -0.05942993, -0.10702824, 0.17542586, 0.27479908, 0.2176634) * g_12; - result += mat4(0.08722579, 0.22445773, -0.22038916, -0.1705768, -0.33885807, 0.2610493, -0.14401726, 0.036701087, 0.05118682, 0.016674992, 0.017907443, 0.33134872, 0.24759968, -0.2189978, 0.17513935, -0.31552628) * g_13; - result += mat4(0.09722241, 0.09016698, 0.0020826897, 0.014243476, -0.09178259, 0.26038414, -0.119483896, 0.06568409, 0.112089686, -0.1854509, -0.0032295822, 0.082286656, -0.20125629, 0.36961597, -0.15095985, 0.090025686) * g_14; - result += mat4(-0.03207223, -0.016992198, -0.019505465, -0.3158222, -0.15192394, 0.18241268, -0.3502777, 0.05187207, 0.16714574, -0.067549706, -0.08512221, 0.03171733, -0.21070172, -0.14597628, 0.16120993, -0.002882248) * g_15; - result += mat4(0.06358728, 0.06935574, -0.065100305, 0.02331908, 0.20260555, 0.14417367, 0.11311691, 0.041373946, -0.17366521, -0.24190584, 0.14318806, -0.12791471, -0.005797247, -0.01352598, 0.09355765, 0.08071775) * g_16; - result += mat4(-0.21877107, -0.06376343, 0.015047983, -0.05071754, 0.24015504, -0.096376784, -0.050906435, -0.108564705, 0.0022815794, 0.10404753, -0.017777193, -0.18843737, 0.33381376, -0.009765667, 0.10630329, 0.04319869) * g_17; - result += mat4(0.03913534, -0.18320137, -0.1895394, -0.35816035, 0.06605666, 0.14718485, 0.0705968, 0.03142451, -0.018191794, -0.03973546, 0.09669648, -0.06763489, 0.077504024, 0.22267477, -0.3280302, 0.051078096) * g_18; - result += mat4(0.17017639, 0.048948385, 0.17666607, 0.28847146, -0.27951127, -0.2408892, -0.3000307, 0.1043314, 0.0788232, -0.13186172, -0.20950924, -0.11522397, -0.24694261, 0.1315647, -0.11994133, 0.09964028) * g_19; - result += mat4(-0.03482202, -0.21670073, -0.24369243, 0.048367083, -0.3383805, -0.28556088, -0.05187166, -0.04785393, -0.056278072, -0.0046066013, -0.10573621, -0.12896368, 0.02629063, -0.07221729, 0.349292, -0.06192709) * g_20; - result += mat4(-0.14670531, 0.02437431, 0.18400094, -0.18659692, 0.2216187, 0.034236856, -0.12323594, 0.1603975, 0.22086559, -0.0026523015, -0.13258888, 0.12981693, -0.033014633, 0.105112545, 0.03881624, -0.08425293) * g_21; - result += vec4(0.0119343875, -0.042267065, 0.010792121, 0.007296717); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf2 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.12408465, -0.16741575, 0.06765819, -0.15944858, -0.19950457, -0.1716973, 0.048808597, 0.043000113, 0.007647513, 0.13003102, 0.06868207, -0.0016408832, -0.24698295, 0.033724148, 0.26656294, -0.04168408) * g_0; - result += mat4(0.025299544, -0.2481157, -0.07735063, 0.07958534, 0.04743938, 0.123626634, 0.14503284, -0.200222, 0.20223439, 0.08858626, -0.37553144, 0.02513245, 0.09171499, 0.08145674, -0.028931713, 0.04081231) * g_1; - result += mat4(-0.04600147, 0.14647272, 0.18308495, 0.06990148, -0.06455617, 0.09861496, -0.13262698, 0.16287735, 0.06737012, 0.03652816, -0.22811131, -0.064241834, -0.035340827, 0.29290062, -0.022302201, -0.19858247) * g_2; - result += mat4(-0.11037198, 0.12009516, -0.14232409, 0.2716094, -0.04082168, -0.10308978, -0.18808627, -0.017621756, -0.031254657, -0.26940623, 0.24271232, -0.1467802, 0.10700058, -0.18850107, -0.08067445, -0.017454604) * g_3; - result += mat4(-0.090594314, -0.019169644, -0.029233063, 0.34922495, -0.22969832, 0.04161748, 0.0016718027, -0.13671273, 0.20134616, -0.01069757, -0.41116753, 0.011301641, -0.093161866, -0.0598387, -0.20625715, -0.04319863) * g_4; - result += mat4(0.1400459, -0.08488729, -0.14534405, 0.13608801, 0.054499432, 0.013480982, -0.115060575, -0.051957313, -0.11556034, -0.06907556, 0.2383428, -0.0032338845, -0.015882459, 0.24332793, -0.29487756, -0.31111467) * g_5; - result += mat4(0.0035557884, -0.10662409, -0.167661, -0.038467426, 0.0067648925, -0.14742504, -0.15988947, -0.18424144, -0.015692392, 0.024426097, 0.18659574, -0.06826323, -0.098989435, -0.120715715, -0.012542293, -0.012921739) * g_6; - result += mat4(-0.22045317, -0.039446186, 0.02062722, 0.04877487, 0.057328302, 0.107455134, -0.24580365, 0.084131025, 0.028729152, 0.4286281, -0.05177413, 0.23257121, 0.08110685, -0.22814348, -0.041566104, 0.2465172) * g_7; - result += mat4(0.37156427, 0.26804617, 0.20049824, -0.021026293, 0.13211878, 0.040705554, 0.002239553, 0.20452338, -0.030344317, 0.099040724, 0.3838666, 0.055573136, 0.27482164, 0.23077035, -0.017845538, -0.26252562) * g_8; - result += mat4(-0.25934902, 0.04962634, -0.11156898, -0.07086993, 0.12231552, -0.040678304, 0.16707222, -0.068827145, -0.20247164, 0.16845146, 0.21900423, -0.40101337, -0.20267262, 0.012057886, -0.16219872, 0.042600926) * g_9; - result += mat4(0.076830566, 0.07031241, 0.23169716, -0.028218819, 0.12506121, -0.19878168, 0.14684094, 0.0931965, 0.20331647, -0.12333559, 0.22961548, -0.15381584, 0.08874619, 0.14223523, 0.16359226, -0.28227505) * g_10; - result += mat4(-0.052383065, -0.078102276, 0.065739855, 0.0415868, -0.07094788, 0.16164882, 0.043656457, -0.0960344, -0.22771464, 0.13144033, -0.1159355, 0.046441697, -0.24606496, -0.25741673, 0.004535607, -0.0065205614) * g_11; - result += mat4(0.23244801, -0.31457657, -0.10946917, -0.3663475, 0.17705315, 0.05067217, -0.1933483, 0.027725892, 0.03238109, 0.16744693, -0.057594296, -0.07276957, 0.03234641, -0.1372411, -0.08171865, -0.12950452) * g_12; - result += mat4(-0.15673116, 0.19919762, -0.10481654, 0.10979371, 0.04279017, 0.022970842, 0.041732438, 0.043996546, 0.010470399, 0.040505856, -0.03274834, 0.0009573305, 0.08111623, 0.047052007, -0.15586549, 0.04683318) * g_13; - result += mat4(-0.24751675, -0.08296508, 0.11407727, -0.2166629, 0.26892385, 0.24061169, 0.13039055, -0.025301076, 0.112557106, 0.33924893, -0.26320595, -0.3333313, -0.18867135, -0.15030354, -0.41406167, 0.049163118) * g_14; - result += mat4(0.1665652, -0.21874574, 0.028786177, 0.2146646, -0.015547626, -0.012667473, 0.10428667, 0.14486806, -0.03420849, -0.012048649, 0.2303649, 0.17137095, -0.16784278, 0.08330269, 0.15572217, -0.08734928) * g_15; - result += mat4(-0.191288, -0.2011081, -0.16282842, -0.16686897, 0.11942609, -0.14166519, 0.01405599, 0.18117349, -0.096682444, 0.010184171, -0.023849446, 0.17224887, 0.30125615, -0.06356407, 0.103124686, 0.014888768) * g_16; - result += mat4(0.25378457, 0.075565144, -0.19106098, -0.14747557, -0.15002617, 0.028056031, -0.0025413758, 0.07962606, -0.015789257, -0.17432348, 0.12131772, -0.055529855, -0.041077815, -0.19829613, 0.13878337, -0.24223712) * g_17; - result += mat4(-0.29446965, 0.15235735, 0.06717627, -0.015626365, 0.014169811, 0.07045108, 0.10471683, -0.05982132, -0.13769852, 0.12853971, 0.1119684, -0.14485933, -0.075092256, 0.24838834, 0.0017574847, -0.0804142) * g_18; - result += mat4(0.24836873, 0.00066609884, -0.13763703, 0.14340822, -0.14462134, -0.038759258, -0.09077153, -0.0441944, 0.10637402, -0.18241063, 0.0067824926, 0.13309585, 0.07101235, -0.051455706, 0.06795849, 0.31597748) * g_19; - result += mat4(0.25393802, 0.19519086, -0.18530098, 0.049162578, -0.008795799, 0.36194384, -0.00040475396, -0.27478936, 0.22377892, -0.18955742, 0.30927923, -0.21051413, 0.36050028, 0.028015982, 0.050072942, 0.5546838) * g_20; - result += mat4(0.075164825, -0.044605773, -0.14191186, 0.21589251, -0.18884787, 0.011185897, 0.17542075, 0.1676064, -0.2930037, 0.21933044, -0.035698287, 0.070793465, -0.16923343, -0.09259949, -0.11534973, 0.060004164) * g_21; - result += vec4(-0.0090077715, -0.014536999, 0.043094933, -0.0062093455); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf3 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0752077, -0.0029171302, -0.27563673, -0.014811605, 0.02846672, 0.032712437, 0.23822306, -0.05769253, -0.15474099, 0.093151525, 0.06375694, -0.13745429, -0.04572417, 0.3199813, -0.022760388, 0.16357492) * g_0; - result += mat4(0.02650099, 0.0128598865, -0.13053481, 0.037058145, -0.055677533, -0.079210766, -0.03356954, 0.1069868, -0.07710097, 0.12506554, -0.13472609, -0.026160635, 0.1821316, 0.052085042, -0.19033344, -0.090145096) * g_1; - result += mat4(-0.03734377, 0.07147657, 0.10820697, -0.024222745, 0.1403612, -0.1505265, -0.17980108, 0.26694953, 0.0217602, 0.037542872, -0.08249127, 0.042201407, 0.2006786, -0.059707034, 0.03880093, -0.1826765) * g_2; - result += mat4(-0.11878983, -0.28029415, -0.04900442, -0.13629057, -0.05066402, -0.05337549, 0.07343749, -0.1209636, 0.16849558, -0.106414795, 0.05464871, 0.17617467, -0.2489627, 0.29946232, -0.123174965, 0.056576844) * g_3; - result += mat4(-0.17408213, 0.09776442, 0.057589754, 0.18333124, -0.09720728, 0.16222644, -0.005483807, 0.15910664, 0.30478597, 0.014245162, -0.31090343, 0.06744939, 0.019972727, -0.113528624, 0.10990966, -0.10937443) * g_4; - result += mat4(0.12755792, 0.16373649, 0.019118445, 0.21310984, -0.10995382, -0.08398977, 0.0009497389, -0.12245982, -0.25080305, 0.26576582, 0.073143534, 0.09062886, 0.3211899, -0.012361862, -0.094413824, 0.016505178) * g_5; - result += mat4(0.04496885, 0.057987563, -0.06828201, -0.25538024, -0.25729346, 0.1581948, -0.08318907, -0.26187086, -0.06994225, -0.0108814975, 0.27547085, 0.19735947, -0.25765172, 0.23375468, -0.02491318, 0.19695699) * g_6; - result += mat4(-0.18447195, 0.3949247, 0.23520981, 0.16501734, 0.014326944, -0.21483032, -0.09887618, -0.1530724, 0.087982565, -0.30155778, -0.09407708, -0.07609285, 0.12439066, -0.046371937, -0.10052105, 0.042462338) * g_7; - result += mat4(0.45384184, 0.23962094, -0.09288032, 0.43883595, 0.017768994, -0.28214878, -0.30303338, 0.06788283, 0.23333043, 0.012060692, 0.08277374, 0.18042035, 0.18759233, -0.009545223, -0.027723255, 0.016402755) * g_8; - result += mat4(-0.3158644, -0.1611719, -0.044279657, -0.03122654, 0.20287034, 0.19071461, -0.032826696, -0.25104183, 0.03608647, -0.027464861, 0.118140586, -0.016250696, -0.2791853, -0.15649952, -0.17356332, -0.0036406678) * g_9; - result += mat4(0.037999913, 0.0075079957, -0.03212704, 0.06418637, -0.069481015, 0.012727689, 0.1326516, 0.21288529, -0.24180269, -0.05297486, -0.06864697, -0.1550755, -0.11256537, 0.34002435, -0.08510081, 0.18888487) * g_10; - result += mat4(-0.16029695, -0.04566749, -0.14091927, 0.13358699, -0.10535976, 0.0039140307, -0.023005482, -0.011232076, 0.3731448, -0.08050772, 0.24036883, 0.003388208, 0.2694246, -0.10064168, -0.09378355, 0.08715414) * g_11; - result += mat4(-0.009987239, -0.16815887, 0.079718135, 0.3046235, 0.08460679, 0.010675847, 0.026123201, 0.042994894, 0.14086412, 0.16343307, 0.030049993, -0.13560392, -0.028959347, -0.051606726, 0.20051792, 0.2660683) * g_12; - result += mat4(-0.041822806, -0.059724808, 0.03475158, -0.21370164, 0.2706948, 0.029740596, -0.045692813, -0.18892711, -0.072185665, -0.033861183, -0.1753473, -0.15868294, -0.04698167, -0.15849903, -0.10530276, 0.09699679) * g_13; - result += mat4(-0.14366704, 0.0054797325, 0.019186102, 0.2016934, -0.12337197, 0.03666924, -0.08487317, -0.02910447, 0.19810423, 0.19303478, -0.12032341, 0.012882501, 0.07518216, -0.16929416, 0.11856349, 0.19008183) * g_14; - result += mat4(0.29109573, -0.2495297, -0.23351379, 0.06592844, 0.22335382, -0.12432068, 0.23873796, 0.03394475, -0.111712426, -0.031314444, 0.042552706, 0.26120943, -0.100280665, 0.33024225, 0.00090209645, 0.08790097) * g_15; - result += mat4(0.19417305, 0.019389676, -0.0022192579, -0.10152884, -0.07527296, 0.09672377, 0.1896058, -0.08312996, -0.098250404, -0.005925583, -0.080828406, -0.04157932, -0.2395506, -0.2046314, -0.18201615, -0.23270196) * g_16; - result += mat4(-0.14487964, -0.06290274, 0.041151002, 0.069312826, -0.036889106, -0.026325129, -0.06404841, -0.070130795, 0.19873784, 0.008724542, 0.33345434, -0.12738648, 0.010419843, 0.0016074138, 0.028482364, -0.05086976) * g_17; - result += mat4(-0.2099938, 0.22374807, 0.0014840614, -0.09744533, -0.36373836, 0.070096895, 0.18809755, 0.055123232, -0.12190152, -0.089326, 0.037977137, -0.2779433, -0.0022680282, 0.1324952, 0.19014698, 0.11292094) * g_18; - result += mat4(0.0045333416, -0.27289414, -0.10013291, 0.03997672, 0.18506177, 0.15360181, 0.0620571, 0.18008661, 0.03184327, -0.047722574, 0.21967985, 0.12443793, 0.11032391, 0.016790923, -0.32427138, 0.11624099) * g_19; - result += mat4(0.098094285, -0.017424708, -0.13152607, -0.14184679, -0.2696629, 0.026611622, 0.4969703, -0.23566079, 0.18346384, 0.17655236, 0.046510983, 0.20738232, -0.08645157, 0.25616655, 0.1875624, 0.22396664) * g_20; - result += mat4(-0.049922127, -0.026013017, 0.17512889, 0.18352829, 0.22210887, 0.008942828, 0.004796096, -0.08654042, 0.0025269054, -0.1767342, -0.05939487, -0.27815545, -0.058232002, -0.033121955, 0.14671248, 0.24188647) * g_21; - result += vec4(0.0011495166, -0.055540904, 0.0047202418, 0.03799147); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!SAVE conv2d_20_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.044937417, 0.048447855, 0.083308615, 0.092284754, -0.0181884, -0.074617974, -0.09839621, -0.016019326, 0.18228799, -0.0033461945, 0.0031036607, 0.067903504, 0.02840241, 0.004259963, -0.07799968, -0.15254761) * go_0(-1.0, -1.0); - result += mat4(-0.074605174, -0.021673577, -0.024128562, 0.2274735, -0.04754136, -0.0072301123, 0.044593625, 0.06290077, -0.07341891, -0.11062263, 0.015977673, 0.13271153, 0.0125340205, -0.30848256, -0.0294588, -0.058981024) * go_0(-1.0, 0.0); - result += mat4(-0.06880596, 0.07861734, 0.06230101, -0.21278046, -0.015175281, 0.051755223, -0.05062869, 0.07665549, -9.789482e-05, 0.017449457, -0.03148236, 0.032569613, -0.16927092, 0.04140039, 0.13179661, -0.11682168) * go_0(-1.0, 1.0); - result += mat4(-0.11754224, 0.095256306, -0.0267522, 0.117244296, -0.06679038, -0.14423116, 0.008753021, -0.13522816, 0.32430363, -0.07516473, 0.0884106, 0.109716386, 0.01316052, 0.1265721, -0.08230337, -0.16951492) * go_0(0.0, -1.0); - result += mat4(0.052862044, -0.1066403, -0.15742472, -0.021761592, 0.04103098, 0.0069331047, -0.10831112, 0.16824234, -0.039246615, -0.104807, -0.1276423, 0.18865128, -0.006320688, -0.048721224, 0.039028827, 0.034621365) * go_0(0.0, 0.0); - result += mat4(-0.13396205, -0.037514646, 0.03854674, -0.11708971, -0.04473296, -0.0427142, -0.03922634, -0.012055486, -0.0713734, -0.052256644, 0.09374825, 0.10671724, -0.11720148, 0.015559748, -0.068319045, 0.03940586) * go_0(0.0, 1.0); - result += mat4(0.07766306, 0.10215098, 0.06919037, -0.17507964, -0.0224577, -0.09488675, 0.037218474, 0.12245416, 0.002906219, -0.14230973, -0.15529205, -0.012410999, 0.050543465, 0.25078198, -0.076290086, -0.09539849) * go_0(1.0, -1.0); - result += mat4(-0.24771377, 0.29934087, 0.36741728, -0.081612505, -0.09421008, -0.03338117, 0.00770625, -0.0807573, 0.05629427, -0.13825126, -0.093152806, -0.14876693, 0.124724984, 0.11831619, 0.0093180025, 0.008178739) * go_0(1.0, 0.0); - result += mat4(-0.19953942, 0.13807932, 0.063479654, 0.055287417, 0.062464323, 0.08311073, -0.1212773, -0.058174774, -0.054694623, 0.00278662, 0.04164216, 0.024520626, -0.0028598052, 0.13241982, -0.08831944, -0.103147596) * go_0(1.0, 1.0); - result += mat4(-0.0967617, 0.016865727, 0.033930458, -0.067517124, -0.08143233, 0.11248768, 0.16044517, -0.0918291, 0.11352542, 0.13249189, 0.079262465, -0.14966244, 0.16825606, 0.13976356, -0.018672522, 0.06830547) * go_1(-1.0, -1.0); - result += mat4(0.020573644, -0.07627649, 0.13454644, -0.10299404, 0.03338702, 0.19456132, 0.21792425, -0.043921873, -0.11219595, 0.10156094, 0.34819186, -0.17428596, 0.010211143, 0.012615089, 0.14706622, 0.13036577) * go_1(-1.0, 0.0); - result += mat4(-0.09807624, 0.053031713, 0.010114223, 0.11387094, -0.12416189, -0.05332428, 0.11184832, -0.063775964, -0.060522594, -0.10235956, 0.19231878, 0.037564367, -0.045896467, -0.25912943, -0.0051183715, 0.029018847) * go_1(-1.0, 1.0); - result += mat4(-0.04231676, -0.028609525, 0.057871167, -0.1361291, 0.073622614, 0.15908286, -0.02605266, -0.14374852, -0.17682624, 0.06470609, -0.062141493, 0.13539086, 0.039907347, 0.17547756, -0.10069048, 0.14575362) * go_1(0.0, -1.0); - result += mat4(0.14781195, -0.1207278, 0.10171179, -0.012158863, -0.0648726, -0.05067717, -0.108461335, 0.09611601, -0.22471888, -0.041238673, 0.42109078, -0.023078883, 0.005550056, 0.14077905, -0.07702439, -0.17981862) * go_1(0.0, 0.0); - result += mat4(-0.08222549, -0.25220507, 0.07068236, -0.09501228, -0.058567703, 0.18078758, 0.08493963, -0.04706646, -0.07752385, 0.22867827, 0.43284795, -0.119005986, 0.11396432, 0.03755704, -0.13391183, -0.045842096) * go_1(0.0, 1.0); - result += mat4(-0.029319478, -0.031345777, -0.04146813, -0.18742836, 0.05656507, -0.04932647, -0.04031392, 0.04714981, 0.09905856, -0.1557463, 0.22732857, 0.124624394, -0.027559387, -0.0631443, -0.11783128, -0.068318576) * go_1(1.0, -1.0); - result += mat4(0.036678102, -0.04496146, 0.053592633, -0.017061822, -0.16011058, -0.018597312, -0.04795915, -0.19371147, 0.013877209, -0.16219841, 0.3344047, 0.22396322, 0.1655194, 0.018836739, 0.0066360724, -0.041264933) * go_1(1.0, 0.0); - result += mat4(0.17590195, -0.21852443, -0.063316286, -0.14840998, 0.08429532, 0.099983774, -0.09637425, -0.12383555, -0.46428207, 0.28052437, 0.23529863, 0.31109875, -0.021004857, 0.03629119, 0.02174644, -0.06345743) * go_1(1.0, 1.0); - result += mat4(0.0033629127, 0.25259435, -0.06322473, -0.06795082, -0.060908336, -0.021225693, -0.0011893079, -0.00523214, 0.07534854, -0.12201404, 0.00017070201, 0.17880718, 0.14248244, 0.09638889, 0.013353205, -0.06181964) * go_2(-1.0, -1.0); - result += mat4(0.01065417, 0.12393771, -0.034842763, -0.07509877, -0.15372895, 0.016765343, 0.09254217, 0.12257388, 0.022180652, -0.030108888, 0.07577313, 0.35234603, 0.10218102, 0.03712338, -0.02331717, 0.026395774) * go_2(-1.0, 0.0); - result += mat4(0.034914777, -0.024654558, -0.07092997, -0.10597986, 0.021626685, 0.0778654, 0.03075065, 0.12987527, -0.10354716, 0.24356553, 0.0047885147, 0.15563188, -0.08935487, -0.0036677858, -0.081980035, 0.065517485) * go_2(-1.0, 1.0); - result += mat4(-0.0030894869, -0.07042775, 0.07033567, 0.0007813812, -0.0045792167, 0.0067564882, 0.08738557, 0.013517325, 0.027216235, -0.30188036, 0.16504927, 0.108619414, 0.12235739, -0.019714208, -1.917685e-05, -0.009782368) * go_2(0.0, -1.0); - result += mat4(0.18741177, -0.009456037, 0.11263775, 0.068504825, 0.17653711, -0.13130501, 0.07111923, 0.14623673, -0.0784866, 0.018973308, -0.18667376, -0.0030729955, -0.21694791, -0.09208482, -0.09062837, -0.03970734) * go_2(0.0, 0.0); - result += mat4(0.027665026, 0.12481046, -0.0032814168, -0.084358685, -0.037114885, -0.04781222, -0.035071872, -0.007481581, 0.08721501, 0.030526934, -0.1601082, 0.12486214, -0.106055416, 0.0029791344, 0.17318581, 0.12410092) * go_2(0.0, 1.0); - result += mat4(0.118337214, 0.03615044, 0.04502058, 0.08257654, 0.025757724, 0.03670688, 0.034917187, -0.10173083, -0.006062918, -0.2945267, 0.06369701, 0.0137756625, -0.016772032, 0.15557672, 0.0049166935, 0.0656083) * go_2(1.0, -1.0); - result += mat4(0.022286592, 0.14136387, -0.02238988, -0.061914526, -0.13922122, -0.10147098, -0.16373332, -0.040234692, 0.07255956, -0.23892853, 0.027203718, -0.053363908, 0.07188231, 0.07167074, -0.089111716, -0.092501454) * go_2(1.0, 0.0); - result += mat4(0.11419243, 0.10572503, 0.012458144, 0.14847183, -0.07630887, -0.1240132, -0.11097759, 0.006272337, -0.20672877, -0.002584412, -0.2864884, 0.07989555, 0.17726102, 0.12609701, -0.1207267, -0.08164101) * go_2(1.0, 1.0); - result += mat4(0.0568376, 0.038211502, 0.12871593, 0.038896654, 0.14495145, -0.02272981, 0.16328958, -0.12590832, -0.11422924, 0.027326366, -0.10373723, 0.042205583, -0.11788447, 0.09674761, -0.009186724, 0.12916812) * go_3(-1.0, -1.0); - result += mat4(0.25162545, -3.3890476e-05, 0.08703825, -0.11607008, 0.043662522, 0.07685117, -0.078283735, 0.08058169, 0.14562704, 0.1263126, 0.025494901, 0.1434209, 0.0058127, 0.22206631, 0.056236282, 0.03112681) * go_3(-1.0, 0.0); - result += mat4(0.1508685, 0.14413457, -0.12965852, -0.0767775, 0.02239246, 0.0486881, 0.02708027, 0.13305739, -0.073364966, -0.23306695, -0.015565839, 0.20494083, 0.045842633, 0.05245319, -0.089223884, -0.19746971) * go_3(-1.0, 1.0); - result += mat4(0.03407531, -0.0199329, 0.027199576, 0.053895712, 0.10523401, -0.00079743547, -0.01529229, -0.15297304, -0.13332592, -0.060349334, 0.0061332216, 0.18814796, 0.012662228, 0.0073347082, -0.003916167, -0.049153768) * go_3(0.0, -1.0); - result += mat4(0.21898924, -0.14015318, -0.01880963, 0.024525873, -0.018284999, -0.03600013, 0.1471339, -0.11856043, -0.082241, -0.05110251, 0.0058987355, 0.16994491, -0.084030256, -0.014700169, -0.019073943, -0.0005540768) * go_3(0.0, 0.0); - result += mat4(0.07361808, 0.11753613, -0.17573234, 0.10069508, -0.07894968, 0.09821436, -0.04819396, 0.1710404, -0.06865986, -0.21991591, -0.08604316, 0.11743923, 0.16363063, -0.0044579147, 0.073955975, 0.13638073) * go_3(0.0, 1.0); - result += mat4(0.17112228, 0.114324905, -0.036968656, -0.0061882585, -0.006032986, 0.05828771, 0.085324764, -0.062027562, 0.037088934, 0.032255128, -0.03592664, -0.19114986, -0.0286621, -0.010474721, -0.08184074, -0.0767977) * go_3(1.0, -1.0); - result += mat4(0.22109716, 0.042693872, 0.012977061, 0.12626338, -0.07328396, -0.1132474, -0.05768092, 0.091643445, 0.070683114, -0.28736666, -0.102677405, 0.22341383, -0.036884498, 0.048239507, -0.15111351, 0.022938028) * go_3(1.0, 0.0); - result += mat4(0.17241299, -0.14343849, 0.1457155, 0.23233247, -0.009644811, -0.07371276, -0.10846692, 0.119923145, -0.11526157, 0.009521168, -0.08990165, 0.042389054, 0.12759185, -0.04057633, 0.13556476, -0.0750476) * go_3(1.0, 1.0); - result += mat4(-0.07057242, -0.046533734, -0.09127049, -0.12572412, 0.28842014, 0.085501306, -0.01678872, -0.02594478, -0.23138525, -0.008161634, 0.0021849584, 0.24040027, -0.07196583, -0.04965109, 0.061478186, 0.041812465) * go_4(-1.0, -1.0); - result += mat4(0.19036561, -0.11583304, -0.22355288, -0.14028679, -0.19531016, -0.02589591, -0.21036756, 0.0035499155, -0.004294659, 0.04542862, 0.1055855, 0.024736254, 0.13763857, 0.05766982, 0.056523565, 0.028325588) * go_4(-1.0, 0.0); - result += mat4(0.11237154, 0.043256927, 0.017431485, -0.0063742045, -0.028992388, 0.23557092, 0.048805054, -0.057487488, 0.054092478, 0.04279068, 0.09719473, 0.074141964, -0.05562619, 0.06459983, 0.028208548, -0.08197527) * go_4(-1.0, 1.0); - result += mat4(0.09675773, 0.06187072, -0.120159745, 0.0363127, 0.068880804, 0.11438982, -0.21400967, -0.034944117, -0.2789711, -0.025760768, 0.12704164, 0.14817503, -0.113694414, -0.023896972, 0.056133054, 0.12856814) * go_4(0.0, -1.0); - result += mat4(-0.039551336, 0.02414355, 0.046248544, 0.08297268, 0.2777636, 0.0395731, -0.29962054, -0.062017623, -0.056899525, 0.11770196, 0.073587514, 0.03227282, 0.06346027, 0.14693345, 0.040321756, 0.17926331) * go_4(0.0, 0.0); - result += mat4(-0.03262714, 0.04432936, -0.010022308, 0.06866386, -0.023532862, 0.1279886, -0.13090476, 0.088888384, -0.10617142, 0.018608363, 0.024575554, 0.07597439, -0.13128175, 0.0627398, -0.03188158, -0.12345985) * go_4(0.0, 1.0); - result += mat4(0.22050938, 0.09904495, -0.064640984, 0.176781, 0.13351202, -0.17335273, 0.022876775, 0.1470234, -0.0487661, -0.01561562, -0.052204117, -0.032184783, 0.15990984, -0.026727494, 0.21689259, -0.08648963) * go_4(1.0, -1.0); - result += mat4(0.1310737, -0.09932602, -0.06940647, 0.099468544, -0.16164872, 0.15766169, -0.1477972, 0.09341531, -0.026328826, 0.04440307, 0.02531873, -0.07123685, -0.17359257, 0.012940533, 0.15596846, 0.10485768) * go_4(1.0, 0.0); - result += mat4(-0.022599395, -0.020247133, 0.009991452, -0.05430967, 0.1280059, -0.12089965, -0.2174703, -0.07056124, -0.14782687, -0.0008365381, 0.123130105, 0.025005372, 0.0036068684, -0.10402044, -0.0009908049, -0.054808475) * go_4(1.0, 1.0); - result += mat4(0.030255707, 0.09742665, -0.14504671, 0.04289667, -0.09251999, -0.01946357, -0.012327684, 0.036804516, 0.03163578, -0.10249547, -0.014813775, -0.00026111543, -0.17179371, 0.13949569, -0.002388145, 0.16666071) * go_5(-1.0, -1.0); - result += mat4(0.24199614, 0.047389742, 0.07160782, -0.069903806, 0.091209106, 0.0046723653, -0.20447905, -0.27765435, -0.030525608, 0.014136673, -0.17410484, 0.0042117727, -0.09667215, 0.07767184, -0.16025436, -0.01711868) * go_5(-1.0, 0.0); - result += mat4(0.032093786, 0.008447192, -0.2242103, 0.15991135, 0.03642655, -0.19743109, 0.096700616, 0.09572071, 0.07189276, 0.04323664, -0.13420205, -0.036304954, 0.18866757, 0.05249209, 0.02258907, 0.043603756) * go_5(-1.0, 1.0); - result += mat4(0.21241972, -0.020528294, 0.013225208, 0.0032435162, -0.13307743, 0.073513694, -0.05515645, 0.06746327, 0.012730669, -0.069440864, 0.061683428, -0.020925932, -0.1625713, -0.27553958, 0.048129015, 0.024371317) * go_5(0.0, -1.0); - result += mat4(0.042910665, -0.006088536, -0.0977882, 0.25844765, 0.056927476, -0.102052286, 0.0383438, -0.14567667, -0.10850187, 0.09887437, -0.074544564, -0.036828544, 0.09705893, 0.005408503, 0.08691096, -0.009896828) * go_5(0.0, 0.0); - result += mat4(0.08804541, 0.2759786, -0.3219349, 0.006462185, -0.02274468, -0.25201473, 0.06960456, 0.09282902, -0.058285296, 0.043784343, -0.06650367, 0.08615283, -0.09442146, 0.21977374, 0.07510316, 0.046129383) * go_5(0.0, 1.0); - result += mat4(-0.09854926, -0.0040589753, -0.0046874275, -0.05606601, -0.09644158, -0.025443854, 0.06679157, 0.105184354, 0.12847804, 0.034818232, -0.11927682, 0.062153667, -0.084697284, -0.16093484, 0.055803664, -0.038259108) * go_5(1.0, -1.0); - result += mat4(0.012121266, -0.044610072, -0.15920639, -0.21455094, -0.17556362, 0.11795087, 0.2782554, -0.0560055, -0.016328325, 0.017426671, -0.016999241, -0.0111242365, -0.11401752, -0.03055185, -0.1208023, -0.03324553) * go_5(1.0, 0.0); - result += mat4(-0.019453831, 0.3024969, -0.12421807, -0.07486924, -0.023773434, -0.018630482, 0.08937093, -0.16911122, 0.03174539, -0.034223765, -0.059252728, 0.048566185, -0.0227469, 0.250467, 0.0063438215, 0.12399077) * go_5(1.0, 1.0); - result += mat4(-0.14244945, -0.18781039, -0.09052935, 0.040344022, -0.09200208, -0.0020364511, -0.082314745, 0.1985458, 0.057018146, -0.19020353, 0.10604089, 0.041587926, 0.019805325, 0.11863782, 0.10040279, -0.07886153) * go_6(-1.0, -1.0); - result += mat4(-0.08785371, 0.0012416831, -0.14245462, 0.014491134, -0.092272095, -0.016375266, 0.07059052, 0.19758694, -0.051378895, -0.03128126, -0.01885893, 0.0007555793, 0.07984798, 0.002815637, -0.06356219, -0.08836911) * go_6(-1.0, 0.0); - result += mat4(0.10801107, 0.105199136, -0.015165762, -0.07823724, 0.01590213, 0.1501628, 0.035745613, -0.11738953, -0.03570796, -0.08615849, -0.058338642, 0.036825087, -0.08304603, 0.113460265, 0.061258268, 0.037475646) * go_6(-1.0, 1.0); - result += mat4(0.06608076, -0.10083555, 0.008354693, -0.13444132, 0.04017474, 0.0844823, 0.041038416, -0.027660541, -0.027312018, -0.13453196, 0.06543276, -0.07885408, 0.24397506, -0.029557763, 0.2645681, -0.05556161) * go_6(0.0, -1.0); - result += mat4(-0.012051555, -0.10064483, 0.10473231, -0.04926908, -0.0077788145, 0.113208905, -0.049261194, 0.18457137, 0.022148488, -0.08757704, 0.058209743, -0.029347239, 0.10784222, 0.06428691, 0.14934374, 0.12799424) * go_6(0.0, 0.0); - result += mat4(0.056571472, -0.053636614, -0.12792027, -0.041265823, -0.010318963, 0.057668775, 0.13060106, -0.0029116163, 0.080650404, -0.14664799, 0.029553872, 0.0031002741, -0.08129353, -0.039393093, 0.0011153305, 0.05358428) * go_6(0.0, 1.0); - result += mat4(-0.053597085, -0.074977115, 0.04966753, -0.082430005, -0.026584042, -0.036182676, 0.09082117, 0.1751359, 0.0567656, -0.25464153, 0.1587968, -0.07369893, 0.031964645, -0.015776938, -0.014184054, -0.037588824) * go_6(1.0, -1.0); - result += mat4(0.056245625, -0.19343334, -0.034719788, -0.036740743, 0.003161948, -0.05958242, 0.0011679974, 0.15001102, -0.050314993, -0.23588288, -0.18080509, -0.03913791, 0.02685433, -0.1591906, -0.0032332533, -0.067167796) * go_6(1.0, 0.0); - result += mat4(0.08710681, -0.009717672, -0.03706354, 0.058895897, -0.075231604, 0.13861851, 0.07861898, 0.07930051, -0.013427818, 0.02843637, -0.034422692, -0.048254225, -0.027066654, 0.017333468, -0.038676698, -0.010453218) * go_6(1.0, 1.0); - result += mat4(-0.0015142561, 0.15862244, -0.16688871, -0.0010665185, 0.02495258, 0.05192008, 0.018865002, -0.14237949, -0.00019605631, -0.023254955, -0.0027112218, 0.0700563, -0.21240579, -0.23829062, 0.09673947, -0.008365261) * go_7(-1.0, -1.0); - result += mat4(0.08631513, -0.10774427, -0.14574322, 0.01587099, -0.14665635, -0.06268823, -0.018062646, -0.09757734, -0.045135736, 0.022142613, -0.013806511, -0.12009454, -0.11501202, -0.18475524, 1.9658119e-05, -0.15122423) * go_7(-1.0, 0.0); - result += mat4(0.007342729, -0.13320936, -0.09675275, -0.059153594, -0.113123454, 0.015255657, 0.0479397, -0.025484433, -0.07649502, 0.020143446, -0.07246275, 0.23003843, -0.255473, 0.0018669645, 0.3184298, -0.08728176) * go_7(-1.0, 1.0); - result += mat4(0.0464958, -0.023199182, -0.049521483, 0.071012646, -0.17917378, -0.058197394, -0.17358148, -0.06618344, -0.014546293, 0.0595088, -0.03759275, -0.0059011593, -0.1661695, -0.03880235, 0.22888699, -0.084078975) * go_7(0.0, -1.0); - result += mat4(0.024697566, -0.23595122, 0.0761981, -0.13240968, -0.042000405, 0.029656362, 0.01941485, -0.10726825, 0.20714274, 0.01949488, -0.05405962, -0.004462848, 0.11120371, -0.09175814, 0.0110456, -0.0697384) * go_7(0.0, 0.0); - result += mat4(0.13779809, -0.09310028, -0.21324204, -0.16296703, -0.18191867, -0.00566912, -0.15037797, -0.13455078, 0.05498934, -0.087142125, -0.16798702, -0.112984024, -0.1773057, 0.00052684447, -0.027763423, -0.17234807) * go_7(0.0, 1.0); - result += mat4(0.12628955, -0.012055679, -0.117235065, 0.09219045, -0.071764685, -0.041950557, 0.08549711, -0.021074101, -0.10370811, 0.14320174, 0.037518226, -0.06568723, 0.12787178, 0.04144778, 0.067845285, -0.01826197) * go_7(1.0, -1.0); - result += mat4(0.10220034, -0.033858925, -0.092584774, 0.018473145, -0.10610732, -0.04457908, 0.05236731, 0.020222165, -0.047959488, 0.19325002, 0.041600883, 0.0060441773, -0.14774403, 0.04512932, 0.21706855, 0.045700278) * go_7(1.0, 0.0); - result += mat4(0.055435047, 0.111331224, -0.015313769, 0.013749339, 0.0928567, -0.08772887, -0.19616237, -0.26087436, -0.037580732, -0.09828942, 0.07386148, -0.14166622, -0.15666561, -0.33597684, -0.026530989, -0.054972704) * go_7(1.0, 1.0); - result += vec4(0.029201906, -0.0028833123, 0.015078028, -0.038192146); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!SAVE conv2d_19_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.021075599, -0.054250535, -0.15225379, -0.001421514, 0.05973969, -0.06851113, -0.021398136, 0.10361172, 0.014275951, -0.020496063, -0.07627704, 0.044158135, 0.1317084, -0.07949216, -0.024556203, 0.014688066) * go_0(-1.0, -1.0); - result += mat4(0.05021399, -0.043859698, 0.00085036585, -0.02000847, -0.10377328, -0.009204682, 0.15159367, -0.02152439, 0.0034898773, 0.10064295, 0.07660975, 0.08588586, 0.037336897, 0.1105897, -0.04757494, -0.05683813) * go_0(-1.0, 0.0); - result += mat4(0.038676567, -0.12891343, 0.13536555, -0.0697307, 0.07811669, -0.06324786, 0.06184392, 0.05041328, 0.0017139331, 0.083998576, 0.03101862, 0.058330044, 0.23353091, -0.10955777, 0.14883886, 0.16588917) * go_0(-1.0, 1.0); - result += mat4(-0.13064261, -0.10170279, 0.18957764, -0.011944436, -0.008516419, 0.06942766, 0.1333651, 0.030210488, 0.115560375, -0.19197729, 0.15315987, -0.0901618, -0.03568982, -0.025404692, -0.06520259, 0.055768777) * go_0(0.0, -1.0); - result += mat4(0.24911402, -0.055803575, 0.10609874, -0.05102895, -0.13672082, -0.049017977, -0.13644761, 0.022896811, -0.15682773, 0.05550682, 0.04735177, -0.14619595, -0.15788527, 0.124040954, -0.23663288, -0.18731435) * go_0(0.0, 0.0); - result += mat4(0.02943471, 0.06645124, -0.045207016, -0.08423218, 0.030922938, 0.0054495563, -0.1006787, 0.08239545, 0.029175663, -0.003539447, -0.036679298, 0.101064004, 0.11338603, 0.07038739, -0.16399391, -0.1493847) * go_0(0.0, 1.0); - result += mat4(0.04185234, -0.090882316, -0.05367747, 0.15270816, -0.056156795, 0.05310704, -0.047086164, -0.07563822, 0.03482228, -0.02955918, 0.07530092, -0.144532, 0.1075584, -0.054631174, 0.06471947, 0.120282896) * go_0(1.0, -1.0); - result += mat4(-0.007238141, 0.13488698, 0.015599895, 0.15120889, -0.040581208, -0.026664637, -0.011708266, 0.0610109, 0.035894353, -0.13144852, -0.02863478, -0.066748194, -0.04323779, -0.049163997, 0.041382704, 0.109267786) * go_0(1.0, 0.0); - result += mat4(-0.037647225, -0.13647673, 0.112618335, 0.11354436, 0.08061848, -0.010845823, -0.09419335, 0.033806674, 0.019806013, -0.089596435, 0.009464308, 0.0035862618, -0.0074079554, -0.009485658, 0.0763955, 0.08367428) * go_0(1.0, 1.0); - result += mat4(0.06907952, -0.052536193, 0.1763529, 0.15309668, -0.09956347, -0.07277225, -0.038373947, -0.037908833, 0.16181119, -0.025520757, -0.10903227, 0.10974898, 0.072151996, 0.012922294, -0.079603985, -0.15773883) * go_1(-1.0, -1.0); - result += mat4(-0.027342288, -0.07680874, 0.04974237, -0.08567885, -0.09929943, -0.035455007, 0.13131198, 0.16515696, -0.009102528, 0.05145574, 0.022984773, -0.029341707, 0.07288582, 0.00091653416, -0.13331193, -0.1204592) * go_1(-1.0, 0.0); - result += mat4(0.014472295, -0.10104673, 0.06167356, -0.0066606803, -0.07392597, 0.033783045, -0.122717455, 0.06814838, -0.11108132, -0.06297289, 0.121086955, 0.306241, 0.15277696, 0.0656951, -0.068692215, -0.004531433) * go_1(-1.0, 1.0); - result += mat4(-0.14150366, 0.11568731, 0.046074055, -0.026354427, -0.00021540816, -0.050237536, -0.002589603, -0.05037271, 0.15283322, 0.077606365, -0.026000943, 0.04725276, 0.060801037, -0.025782531, 0.14417455, 0.0014831548) * go_1(0.0, -1.0); - result += mat4(-0.16106884, 0.041359264, 0.04185298, 0.10449216, -0.07376945, -0.018479906, -0.07261673, -0.18092063, 0.15722854, -0.17281027, 0.34076685, 0.18638323, -0.021814108, -0.010158078, 0.009539704, 0.024126658) * go_1(0.0, 0.0); - result += mat4(-0.020093616, -0.0102490885, -0.15690912, 0.055884898, -0.016846402, 0.13414374, -0.1472554, 0.11840663, -0.08311564, -0.022485578, 0.32412425, 0.08863683, -0.029603742, -0.050152212, 0.057478085, 0.09996878) * go_1(0.0, 1.0); - result += mat4(-0.17542239, 0.09485826, 0.09920081, 0.015351153, 0.08114881, -0.12983656, 0.034618706, 0.030003658, -0.15099475, 0.2052961, 0.20252162, 0.1205947, 0.078157455, -0.016900357, 0.022622213, -0.06748161) * go_1(1.0, -1.0); - result += mat4(-0.087971665, 0.062397882, -0.07142019, 0.11933068, -0.00847593, -0.21142542, 0.05075018, -0.18219566, -0.16770703, 0.26589707, 0.12976934, -0.05131386, -0.06600382, 0.0024302478, -0.06897084, -0.22476815) * go_1(1.0, 0.0); - result += mat4(-0.07442399, 0.0017183317, 0.010965699, 0.13705957, 0.0005494493, 0.06494519, -0.047589395, 0.022372872, -0.09498922, -0.044349454, -0.18942389, -0.09328113, 0.053193945, 0.069452636, 0.024270676, 0.085541405) * go_1(1.0, 1.0); - result += mat4(-0.039297063, -0.0026948878, -0.08571043, 0.0647004, 0.004500067, -0.109853946, 0.095561184, 0.07627317, 0.022782452, -0.009354357, 0.18699041, 0.03624169, 0.06590244, 0.08779489, 0.09670581, 0.013879678) * go_2(-1.0, -1.0); - result += mat4(-0.043542888, 0.10199333, 0.033191778, -0.10077772, 0.10395939, -0.06852092, -0.07237032, -0.18194893, 0.026225125, -0.056160323, 0.08446246, 0.013397116, 0.07657753, 0.18428123, 0.056003574, -0.050301608) * go_2(-1.0, 0.0); - result += mat4(0.046665788, 0.08755995, 0.04464974, -0.0766558, 0.06281385, 0.09026257, -0.005853063, -0.18015854, 0.08414949, -0.056032974, 0.11389157, -0.15169302, -0.003766101, 0.011633537, 0.15049145, -0.09533107) * go_2(-1.0, 1.0); - result += mat4(-0.0595272, 0.05165694, 0.17036733, -0.019590864, -0.017012816, 0.20802979, -0.036727592, 0.0039354274, 0.013841891, 0.09793644, 0.053500295, -0.08375709, 0.07436116, -0.123924114, 0.13592327, -0.17214386) * go_2(0.0, -1.0); - result += mat4(-0.055947073, 0.07011482, 0.013577148, -0.1658796, -0.04328695, -0.17159998, 0.028221646, -0.032955963, 0.17267641, -0.029342541, -0.010461821, 0.15006398, -0.09205043, 0.20772073, -0.16671306, -0.12559414) * go_2(0.0, 0.0); - result += mat4(0.09860994, 0.21397981, 0.11715738, -0.047943972, 0.1284329, 0.08067804, -0.26018474, -0.16460776, 0.078657456, -0.06347525, -0.084702656, -0.08876526, 0.057452347, 0.12350108, -0.25147486, 0.067464665) * go_2(0.0, 1.0); - result += mat4(-0.02414774, -0.006014789, -0.16124673, -0.054590844, -0.030734671, 0.05109599, 0.11864468, -0.08336728, -0.011760623, 0.13827185, 0.07961881, -0.072460175, 0.01413179, 0.06742306, -0.16664205, -0.0798058) * go_2(1.0, -1.0); - result += mat4(0.07386209, 0.14170863, -0.06210615, 0.015531488, 0.00057893473, -0.0005763593, -0.073126875, -0.011790491, 0.013979303, 0.06740013, -0.023359954, -0.029758057, 0.066769704, 0.014488505, 0.0041438905, 0.061225288) * go_2(1.0, 0.0); - result += mat4(0.0069554485, 0.09764331, -0.0054218043, -0.2010452, 0.008887486, -0.017118184, -0.1340303, -0.027957728, 0.11632277, -0.03217801, -0.23497035, -0.036167137, -0.025200771, 0.005581373, -0.06958951, -0.07536721) * go_2(1.0, 1.0); - result += mat4(0.09321626, 0.12615682, 0.055691253, -0.090341516, 0.07008738, 0.00052956014, 0.08390906, -0.0031441932, -0.08124622, 0.008632992, -0.014327739, 0.06672952, 0.0031601167, 0.066681944, 0.22517303, -0.099632345) * go_3(-1.0, -1.0); - result += mat4(-0.09289536, -0.043043956, -0.05214391, -0.11719125, 0.00853943, 0.11287393, 0.09500855, -0.12966141, 0.18431212, 0.0748805, -0.046230618, -0.027745726, -0.18148296, -0.106141314, -0.0027885837, -0.02043344) * go_3(-1.0, 0.0); - result += mat4(-0.03763392, 0.11262269, -0.09432367, 0.087762475, 0.057269823, 0.005517798, 0.22757046, -0.04987115, 0.19129716, -0.03763542, -0.01590417, -0.039666392, -0.24493358, 0.04882048, -0.09947371, 0.10563259) * go_3(-1.0, 1.0); - result += mat4(0.093612835, 0.10622373, -0.010965033, -0.18060082, 0.050502308, 0.035397053, -0.074155636, 0.05722512, -0.08370328, 0.17707741, 0.11072773, -0.15585034, -0.05549326, 0.1031897, -0.10707569, -0.09843548) * go_3(0.0, -1.0); - result += mat4(0.19249113, 0.004272997, -0.11301988, -0.059472203, 0.16710956, 0.1320019, -0.010074136, 0.049597714, 0.11807218, -0.21680427, 0.18643682, -0.25256965, 0.054952204, -0.10841805, 0.008303385, 0.16246659) * go_3(0.0, 0.0); - result += mat4(0.12461618, 0.018174525, 0.11908521, -0.10700156, 0.006157429, -0.091230884, 0.08522994, -0.016037822, 0.09602615, 0.10351626, -0.12967208, 0.026805326, -0.07154254, -0.029481664, 0.21389903, 0.08344766) * go_3(0.0, 1.0); - result += mat4(-0.09969622, 0.07962598, -0.028466886, 0.050267693, -0.08045734, 0.03412841, 0.09335067, -0.013479, 0.043035932, 0.09757995, -0.28259873, 0.0020081983, 0.07462653, -0.15747115, 0.124251395, 0.076333925) * go_3(1.0, -1.0); - result += mat4(-0.035977505, 0.06003558, -0.09650363, -0.09525774, -0.16066033, 0.09775839, 0.0667778, -0.034762666, -0.0057217414, 0.065839626, 0.21028286, -0.2774071, -0.017984433, 0.03783334, -0.09587559, -0.026591627) * go_3(1.0, 0.0); - result += mat4(-0.023890898, 0.11809203, -0.1188636, -0.0012940518, 0.118897684, -9.827985e-05, -0.05622794, -0.062140178, -0.12795903, 0.05519595, -0.058305323, 0.016674206, 0.013698942, -0.08497383, 0.027362531, 0.10627308) * go_3(1.0, 1.0); - result += mat4(-0.06454933, 0.02689722, 0.010371413, 0.0634908, -0.041561414, 0.09611493, -0.06061118, 0.02602967, -0.0373284, -0.015805054, 0.05950886, -0.13804919, -0.014812459, -0.08159597, -0.09908161, -0.020315096) * go_4(-1.0, -1.0); - result += mat4(-0.06265245, -0.04897011, 0.073684655, 0.1615347, 0.0996554, -0.029503722, -0.038289137, 0.06443223, -0.015126988, -0.20464674, 0.08261881, -0.11410073, 0.06794012, -0.1282338, -0.0808648, -0.024340188) * go_4(-1.0, 0.0); - result += mat4(-0.20563951, 0.00822819, -0.0028446496, -0.037908215, -0.15417986, -0.053624943, 0.15252545, -0.066859886, -0.033749085, -0.0022916791, 0.012464019, -0.18756475, 0.028652523, -0.029153747, -0.0774323, -0.078330934) * go_4(-1.0, 1.0); - result += mat4(-0.11408609, 0.10095266, -0.09413288, 0.048672248, 0.14938189, 0.02606957, 0.10862651, 0.01836941, -0.09218335, 0.2407901, -0.038805883, -0.15219745, 0.061210256, -0.021015555, -0.018389063, -0.005998484) * go_4(0.0, -1.0); - result += mat4(-0.10569989, -0.06539472, -0.17240082, 0.01820424, 0.008560733, 0.1539287, 0.06709748, -0.045853294, 0.108150296, 0.05734132, -0.046088815, 0.248995, 0.008274402, -0.30565688, 0.12489905, 0.059402116) * go_4(0.0, 0.0); - result += mat4(-0.087341666, 0.03546864, 0.19149105, -0.03806943, 0.07624287, 0.050273992, 0.10086885, 0.12906818, 0.01114818, -0.07052573, 0.04540055, 0.029273782, 0.10898686, -0.1770709, -0.017369272, -0.016848907) * go_4(0.0, 1.0); - result += mat4(-0.058181286, -0.009246252, 0.07048362, -0.0006535902, -0.35701382, 0.231112, -0.10935989, -0.08851913, 0.027286934, 0.12029156, 0.06239391, -0.040678307, -0.092798725, -0.26335207, -0.042724196, 0.051664326) * go_4(1.0, -1.0); - result += mat4(-0.10164229, -0.0014839054, -0.021398826, -0.10823746, -0.16494614, -0.0067644184, 0.118856244, 0.12065754, 0.003400296, -0.10101892, 0.03650762, -0.009031349, 0.13758844, -0.18478121, 0.07968888, -0.09104288) * go_4(1.0, 0.0); - result += mat4(-0.008495138, 0.066670984, 0.05767939, -0.07052782, -0.014718764, 0.08614164, 0.030008111, -0.06520335, 0.02900097, -0.030700756, 0.025042165, -0.06397807, 0.006406731, -0.116308615, -0.0360389, 0.0027516233) * go_4(1.0, 1.0); - result += mat4(-0.057278417, 0.1727815, -0.07807456, -0.04727814, -0.10097372, -0.03546198, -0.032869432, 0.08689116, -0.04738872, -0.047112323, 0.02086091, -0.04105858, -0.03165431, -0.10082921, 0.15055077, -0.003025087) * go_5(-1.0, -1.0); - result += mat4(0.047094163, 0.117854774, -0.13751692, 0.25386533, -0.09068952, 0.2095612, -0.00044834684, 0.1282835, 0.1279751, -0.025870766, -0.009751841, 0.076681845, -0.079167604, 0.05592644, -0.04595776, 0.17977998) * go_5(-1.0, 0.0); - result += mat4(-0.0027239807, 0.06603127, -0.23799416, 0.0123985335, 0.025360249, -0.08612398, -0.1051835, -0.044109415, -0.09622201, 0.026738588, 0.022221094, 0.062126018, -0.10752726, -0.004420602, -0.05017027, -0.08776257) * go_5(-1.0, 1.0); - result += mat4(0.03275633, 0.14127396, -0.09341105, 0.23926768, -0.08104667, 0.025844736, -0.10298216, 0.060764167, -0.10122608, 0.08945685, 0.07788971, -0.07410643, -0.08033897, -0.23677154, -0.04966397, -0.045639224) * go_5(0.0, -1.0); - result += mat4(0.07048915, -0.106820844, 0.047254067, 0.11627385, -0.11047958, -0.027926508, 0.04498255, 0.20816003, 0.11909031, -0.0009775321, -0.18387055, -0.0018686258, -0.016878089, 0.22323456, -0.14612047, 0.022845699) * go_5(0.0, 0.0); - result += mat4(0.035804678, 0.119743, 0.1571684, -0.023207432, 0.07617338, -0.08736871, 0.05989575, -0.058365826, 0.019954713, 0.10140689, -0.09124958, -0.13218899, -0.03780429, 0.09544198, -0.039520875, -0.14930539) * go_5(0.0, 1.0); - result += mat4(0.14514346, 0.0360269, -0.054082893, -0.15789753, -0.040042885, -0.028893448, -0.09869845, 0.09966758, 0.039295428, 0.03457506, 0.024780974, 0.095122814, 0.0031860285, -0.10821901, -0.11781598, 0.01704089) * go_5(1.0, -1.0); - result += mat4(0.21498747, 0.0133230025, 0.042253625, -0.21782391, -0.1492179, 0.30398136, 0.018255081, 0.11203656, -0.03885946, 0.106861874, 0.026350034, 0.11618644, 0.084832504, -0.16322637, 0.023462294, 0.10065608) * go_5(1.0, 0.0); - result += mat4(-0.15551749, 0.14941038, 0.056670457, -0.0431253, 0.08302943, 0.01580936, -0.051593207, 0.03560764, -0.030447204, 0.075539954, -0.011442096, 0.02693397, 0.0905564, -0.014087418, -0.007015716, -0.09875941) * go_5(1.0, 1.0); - result += mat4(0.07433055, -0.030779218, 0.03334971, -0.122070454, -0.05208821, -0.056771465, -0.011534166, -0.13619904, -0.015953373, -0.013060965, -0.08053602, -0.005346061, -0.02533623, -0.046483822, -0.15184224, 0.06881467) * go_6(-1.0, -1.0); - result += mat4(-0.06786954, -0.1101747, 0.07293632, -0.072237246, -0.03891572, -0.033120476, -0.21675974, -0.01265742, -0.07152627, 0.035822228, -0.11969304, -0.008666347, -0.045399748, -0.149612, -0.08198164, 0.01729796) * go_6(-1.0, 0.0); - result += mat4(0.021353757, -0.025995912, 0.066578284, 0.04336928, 0.039536253, -0.016585456, -0.13368231, 0.12299198, -0.0013373335, -0.034165546, -0.07936003, 0.004652013, -0.042511817, 0.0019751487, 0.0011525169, -0.10085849) * go_6(-1.0, 1.0); - result += mat4(0.085357845, 0.21802829, 0.13633603, -0.09305326, -0.14289644, -0.015774531, -0.12939785, 0.021014005, 0.07054864, -0.009131392, -0.010884865, 0.08177134, 0.06213185, -0.1490639, 0.021829644, 0.025526933) * go_6(0.0, -1.0); - result += mat4(-0.02074944, 0.11732001, 0.043791592, 0.06742606, -0.112140454, 0.1183469, 0.06687539, 0.12730923, 0.0061068935, -0.07169838, -0.12619536, 0.0005274442, 0.012716505, -0.11192881, 0.068851836, 0.008492987) * go_6(0.0, 0.0); - result += mat4(0.08216468, -0.028620748, -0.055371143, 0.020594567, -0.05292034, -0.10408585, -0.04820471, 0.051627148, 0.036886677, -0.107644394, -0.020397794, 0.047485292, 0.079070546, -0.10276452, 0.19232683, -0.15654457) * go_6(0.0, 1.0); - result += mat4(0.12678936, 0.16351469, -0.0037196553, -0.08318541, -0.034772478, -0.051339243, -0.045463465, 0.12652434, 0.22918625, -0.043803692, 0.14724569, 0.047499433, 0.016458863, 0.11427085, 0.077913724, -0.062115736) * go_6(1.0, -1.0); - result += mat4(0.07971772, -0.021838864, -0.033015456, -0.07201285, -0.09160904, 0.16611984, -0.079225585, -0.063700624, 0.13366704, -0.17928718, -0.17573813, -0.0084753595, 0.14407809, 0.06637059, 0.06761111, -0.040778674) * go_6(1.0, 0.0); - result += mat4(-0.051311243, -0.00047012506, 0.11295401, 0.041759036, -0.028863018, 0.0324509, -0.077564776, 0.15006386, -0.053502884, -0.034109667, 0.0017859068, 0.16114277, -0.039465405, -0.09419871, 0.06864232, -0.018261535) * go_6(1.0, 1.0); - result += mat4(-0.04087073, 0.070795655, 0.01541917, 0.11113746, 0.025174553, 0.026181301, 0.02840083, 0.004309008, 0.09485457, -0.04233083, -0.051573273, -0.07650051, -0.17544228, -0.11439118, -0.08093743, 0.18067038) * go_7(-1.0, -1.0); - result += mat4(0.0062529687, 0.15919134, -0.053404056, 0.039204787, 0.023409445, 0.012681388, 0.09090681, 0.20121421, 0.022972144, -0.0895693, 0.04895256, 0.06891674, -0.0035229125, -0.25411057, 0.037077982, -0.13036521) * go_7(-1.0, 0.0); - result += mat4(0.11477689, 0.0028072398, -0.06338895, 0.02027455, -0.08101111, 0.034853484, 0.10567918, 0.041619904, 0.11095729, -0.008229767, 0.13372917, 0.008856674, -0.08141064, -0.0959705, 0.091087684, -0.07539786) * go_7(-1.0, 1.0); - result += mat4(-0.04363737, -0.03348933, -0.05418331, 0.029407552, 0.1489491, -0.03999793, 0.08842189, 0.14542465, 0.04715493, -0.06445284, 0.05556509, 0.09696593, -0.042307585, 0.08516361, -0.2331977, -0.03857982) * go_7(0.0, -1.0); - result += mat4(0.0038425433, -0.019158881, -0.010624798, -0.044134602, -0.1695856, 0.15631394, -0.088841416, -0.1685344, 0.023059638, 0.03796117, 0.022053894, -0.027527904, -0.044638235, -0.25911215, 0.03230966, -0.05346732) * go_7(0.0, 0.0); - result += mat4(-0.09276762, 0.24963817, 0.010785759, -0.019909501, -0.097505584, 0.032170214, -0.0023418854, 0.08733382, -0.03379668, 0.100584164, -0.109995596, -0.07523249, -0.0120575465, -0.053097837, -0.13998339, -0.10185383) * go_7(0.0, 1.0); - result += mat4(-0.0127198845, -0.042109866, -0.11629171, 0.053611718, -0.002032197, -0.012943935, -0.04415516, -0.07642406, -0.08589718, -0.017162828, -0.040193867, -0.10849531, -0.013999757, 0.0002801831, -0.035648525, 0.079189576) * go_7(1.0, -1.0); - result += mat4(-0.07409691, 0.26385418, -0.012612426, 0.090933286, 0.06744317, -0.060681526, 0.10342389, 0.0905919, 0.021600742, -0.07504329, 0.07502121, -0.05556069, -5.7453726e-05, -0.005260563, 0.1823992, -0.18512331) * go_7(1.0, 0.0); - result += mat4(-0.06008137, 0.15206294, -0.044260148, 0.053141426, 0.06447088, 0.053879313, -0.019256372, -0.009678615, 0.040676076, 0.009712142, 0.1283051, -0.046193764, 0.06051764, -0.15391533, 0.007005147, -0.21769708) * go_7(1.0, 1.0); - result += vec4(0.034930106, -0.040175084, 0.0094707515, 0.026570352); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08710418, 0.07755426, -0.19372784, -0.12006015, -0.08683475, -0.051511686, -0.113844275, -0.01831389, 0.13441756, -0.18682177, -0.11446414, -0.053224254, 0.066490404, 0.15588047, 0.075582, -0.033167917) * g_0; - result += mat4(-0.20958789, 0.15148236, -0.04583152, 0.12812352, -0.00044433025, -0.13340057, -0.09522131, -0.25912568, -0.005632191, 0.2783046, 0.13194086, -0.13088284, 0.2362872, 0.0900396, 0.28009146, 0.004059817) * g_1; - result += mat4(0.10685089, -0.034242, 0.13198791, -0.1327393, 0.17671722, -0.21151659, -0.14577065, -0.20913975, 0.085521296, 0.035992414, 0.017195407, -0.10016802, 0.12933257, 0.046163887, -0.011927488, -0.23875898) * g_2; - result += mat4(-0.08416457, 0.17505676, 0.24870509, 0.06930309, -0.191712, -0.0808669, -0.015740015, 0.0652813, -0.059006322, -0.018401904, -0.036595564, -0.1605108, 0.12305627, 0.060691502, 0.1619963, 0.08043304) * g_3; - result += mat4(-0.1162042, 0.07235142, 0.074100144, 0.0062329075, 0.15629326, -0.004988086, -0.12807561, 0.2089372, -0.11417878, -0.0070988503, -0.08123769, 0.15964252, 0.1242517, 0.15018217, -0.16828871, -0.10980319) * g_4; - result += mat4(0.097435325, -0.10224905, 0.061068628, 0.22532623, -0.046067998, 0.19951521, -0.11546273, 0.10270359, 0.027507411, -0.1484107, -0.0939577, 0.08855171, -0.25780675, -0.20141928, -0.051490895, 0.06990546) * g_5; - result += mat4(-0.0502339, -0.0052296333, -0.07589294, -0.105127886, 0.006349035, 0.34075886, 0.050190937, -0.094317205, 0.097337745, -0.07065814, -0.16456902, 0.21397485, 0.022255344, -0.14672112, -0.19206822, 0.1821241) * g_6; - result += mat4(0.07189387, 0.15896799, -0.055312637, -0.012296496, 0.18629979, 0.21605793, 0.3112103, -0.053981252, 0.164744, -0.13682634, 0.28319356, 0.0054148296, 0.12050483, 0.021165732, -0.090522125, 0.019760927) * g_7; - result += mat4(-0.017540403, 0.0062772045, 0.18213348, -0.06998202, 0.042053856, -0.12266181, -0.03696476, 0.1198641, -0.4831862, -0.08289988, -0.09672259, 0.11441492, -0.19695596, -0.20243177, 0.120301224, -0.03885659) * g_8; - result += mat4(-0.012043374, -0.12636301, 0.07465572, -0.026296021, 0.21566753, 0.18964884, -0.21407917, 0.06082264, 0.16858701, 0.22547795, 0.060304616, 0.21083428, 0.2195806, 0.06386552, -0.13011286, 0.07762842) * g_9; - result += mat4(-0.048389256, 0.043716315, 0.07394857, 0.23185648, -0.22878529, 0.1262599, 0.04561782, -0.21576522, -0.11676992, 0.25556034, 0.08847371, 0.08644613, 0.026928827, 0.20417346, 0.058586314, 0.0476593) * g_10; - result += mat4(-0.001416993, -0.26372138, -0.17127669, -0.21048187, 0.14255156, -0.22319807, -0.08061204, 0.03961634, 0.023157349, 0.05760616, -0.27544355, -0.1383328, 0.15652739, 0.011641045, 0.03508059, 0.23525323) * g_11; - result += mat4(-0.23829429, 0.14674664, 0.08100075, 0.2795668, 0.18427856, 0.05980292, -0.24882336, -0.036076378, 0.08043839, -0.18109713, 0.10270382, -0.16545536, 0.086006865, 0.07463311, -0.2029149, 0.010671285) * g_12; - result += mat4(0.14745244, -0.09021049, 0.03856137, -0.24550879, 0.31875673, 0.19743665, -0.18928793, -0.022744423, 0.09933925, 0.06840095, 0.07151117, 0.16670194, -0.17345333, -0.17679518, 0.0803156, 0.1323218) * g_13; - result += mat4(-0.22606997, 0.23559661, -0.1356115, -0.16298714, -0.08236835, -0.11082772, -0.17032886, -0.36395928, 0.0076418323, 0.09497255, -0.009910129, -0.06704425, 0.118186295, -0.07905629, 0.16229996, 0.13862097) * g_14; - result += mat4(-0.05605825, 0.03226995, -0.09783728, 0.1276114, -0.03132329, 0.17624037, 0.1554618, 0.13293655, -0.14832236, 0.0038608431, -0.1074844, 0.15878479, -0.2007515, -0.15159251, -0.08711506, 0.0011561218) * g_15; - result += mat4(0.17221819, -0.13795783, 0.004547347, 0.07184666, 0.013688652, -0.05573553, -0.039471798, 0.23344308, 0.097293355, -0.042974688, 0.12051542, 0.015702134, 0.17581677, -0.052126184, -0.09377827, -0.072589) * g_16; - result += mat4(0.1141422, -0.13473512, 0.1427384, -0.0516325, -0.25478005, -0.20733416, -0.065446824, 0.017821401, -0.06606627, 0.09842118, 0.10977934, -0.08284073, -0.23268555, 0.17497909, 0.15409274, 0.1766027) * g_17; - result += mat4(0.16349804, -0.031991642, -0.03544694, 0.19030678, -0.10905752, -0.21243256, -0.1682402, -0.20092581, 0.049650017, -0.10322993, -0.056542892, -0.055122282, -0.04017231, -0.05765047, -0.11291076, -0.1375772) * g_18; - result += mat4(-0.12520963, 0.03948451, -0.1080389, -0.2411598, -0.2384441, 0.04583776, 0.05708465, -0.13598098, -0.0027632138, 0.059042323, 0.1888617, 0.049241446, 0.20129628, 0.08619466, 0.19998649, 0.3488563) * g_19; - result += mat4(0.04955111, 0.082809135, 0.0030273702, 0.027085733, -0.24155019, 0.18543921, -0.14815515, -0.07323729, -0.083096445, -0.018511815, -0.24441625, -0.042126883, 0.16707252, 0.15324517, -0.22174944, 0.20144019) * g_20; - result += mat4(-0.06967862, -0.13329996, -0.17944409, 0.01734243, 0.075320974, -0.22839668, 0.24706283, -0.08456183, 0.101465605, 0.011808895, 0.014018943, -0.020431247, 0.08659333, -0.08047589, 0.015925674, 0.00016753716) * g_21; - result += mat4(0.3392523, 0.10867626, 0.13746454, -0.035315026, 0.25138593, -0.21969056, 0.0074967514, -0.076253906, 0.040552594, -0.05231798, 0.05877078, -0.028507937, -0.31218964, 0.10618994, -0.35251832, 0.33440894) * g_22; - result += mat4(-0.18962376, 0.01081502, -0.079535306, -0.47144732, 0.277589, -0.081428155, -0.4717694, 0.02221676, -0.058384646, -0.45954156, 0.031163838, -0.16281652, 0.20378628, 0.22339214, 0.06407888, -0.03579875) * g_23; - result += vec4(-0.009340076, 0.0065150703, 0.010082239, 0.012676137); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf1 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0200372, 0.025164925, -0.051542915, 0.17349012, 0.22963412, -0.08854868, -0.18460453, -0.009592984, 0.3433165, 0.24978307, -0.30430827, -0.53036386, -0.08970036, 0.003792772, -0.17533037, 0.05531384) * g_0; - result += mat4(-0.120206885, -0.088055685, -0.028581804, -0.029799921, 0.1553587, 0.048395723, -0.019582719, 0.25623065, -0.16238682, 0.21795171, -0.041007563, 0.2657337, -0.2737889, 0.1436563, 0.08519452, 0.051322795) * g_1; - result += mat4(-0.008416596, -0.037384458, -0.01667205, -0.113932766, -0.220761, 0.20724533, -0.039649304, -0.0017309792, 0.041707594, 0.12224719, -0.059473436, 0.09303625, 0.048647325, 0.08052407, -0.23728494, -0.36954325) * g_2; - result += mat4(-0.24027216, 0.2160822, 0.16243383, 0.14543773, -0.0690304, -0.10372756, -0.108916, 0.119548805, -0.19430643, 0.17126071, -0.07952119, -0.13491428, 0.16480479, 0.024287088, -0.12048609, 0.032947384) * g_3; - result += mat4(-0.22957891, -0.10071905, 0.13317196, 0.20797506, 0.05998575, -0.029331183, 0.18397254, -0.10808303, -0.042644747, 0.17222235, 0.29700902, -0.04193782, 0.14778145, 0.13812043, 0.118143596, -0.057448573) * g_4; - result += mat4(-0.14184432, -0.0236615, -0.17279948, 0.18716908, 0.11995038, -0.1185408, 0.1980219, 0.18067634, -0.038657866, -0.030831996, 0.33048138, -0.12548326, 0.12749283, -0.06766755, -0.17756845, -0.11182692) * g_5; - result += mat4(0.040251233, 0.010135124, 0.024763199, 0.0457518, -0.2875318, 0.084092565, 0.028671606, 0.026579974, 0.017806578, 0.048673276, -0.114675, 0.05184245, 0.03820837, -0.01438677, 0.071568385, 0.07407311) * g_6; - result += mat4(0.32025474, -0.19955283, -0.1420089, 0.05544955, 0.19069096, 0.2885597, -0.119959064, -0.056846753, -0.0062394375, 0.104673326, -0.162723, -0.017674185, -0.10826556, 0.042586546, 0.06138012, -0.03990229) * g_7; - result += mat4(-0.0050156214, -0.15407455, -0.07907167, -0.13220526, -0.017592989, 0.2021805, -0.016687173, -0.056055553, -0.101649925, 0.1281, 0.05800204, 0.43441603, -0.024814442, 0.22591786, -0.2340531, 0.10235692) * g_8; - result += mat4(0.24094208, 0.20049766, -0.03091491, 0.024811655, -0.022125067, -0.078261666, -0.08867578, -0.038298346, 0.12770705, -0.3216306, 0.18978754, -0.01107385, -0.038726375, -0.34504443, 0.49312648, 0.13409658) * g_9; - result += mat4(0.0630035, 0.12272932, 0.032202568, -0.18289864, -0.0741027, 0.050733794, 0.07594249, 0.05300468, 0.042907406, 0.24372669, -0.028120704, 0.093619086, 0.11598335, 0.101204365, -0.17834216, -0.17095858) * g_10; - result += mat4(-0.08183699, -0.07916702, -0.062332753, 0.1686114, -0.016465722, -0.0046439907, -0.025219526, 0.09196341, -0.28213915, -0.4013967, 0.2070858, 0.23499006, 0.31538546, -0.063582435, 0.17215486, -0.05670036) * g_11; - result += mat4(-0.01627626, -0.085867815, -0.044567704, -0.068304785, 0.24002759, -0.18444167, 0.051936157, -0.084095374, -0.027830267, 0.0020481357, 0.05791986, 0.15611658, 0.28899965, -0.20653085, -0.075661235, -0.14174046) * g_12; - result += mat4(-0.08468525, 0.058726486, -0.06389248, -0.01455625, 0.27516794, -0.09621903, -0.1269632, 0.021708349, 0.06876667, 0.09899092, -0.060870275, -0.036878586, 0.016620016, -0.032395374, 0.21142422, 0.114436075) * g_13; - result += mat4(0.106104285, -0.37164697, -0.16798657, -0.1352658, -0.07100603, -0.10133517, 0.026537118, -0.015494572, 0.05662935, -0.018886555, -0.007515541, 0.12669149, 0.1449747, -0.23413232, 0.22381899, -0.15549453) * g_14; - result += mat4(0.25238156, -0.019380376, -0.05552284, 0.033374626, -0.005643143, -0.020936595, -0.20558305, -0.15705742, -0.006181828, -0.1994116, -0.046375062, 0.13563119, -0.28634745, 0.0880065, -0.042301185, -0.29208398) * g_15; - result += mat4(-0.17484008, -0.021532, 0.21034543, -0.0034605127, 0.014549843, 0.1751193, -0.12673648, 0.0064667664, -0.19978295, 0.1404624, 0.06869049, -0.020720724, 0.12267954, 0.25009266, -0.20387867, -0.15889901) * g_16; - result += mat4(0.25143266, 0.17484929, 0.24925528, -0.03215604, -0.0974627, 0.15165818, 0.08267684, -0.202364, 0.24375704, -0.26883098, -0.15251026, 0.051847905, 0.10552426, 0.048911758, -0.113630824, -0.25745502) * g_17; - result += mat4(0.047861718, 0.010482632, -0.28139532, -0.18458135, -0.08900709, 0.14439812, 0.017580662, -0.086692065, 0.14848581, 0.012461116, 0.13328992, 0.1823087, 0.1341251, 0.099720836, -0.123326704, -0.1529806) * g_18; - result += mat4(-0.13218595, -0.020096691, 0.089338526, -0.050373968, -0.12718384, -0.34216353, -0.05081511, -0.100018986, -0.12318239, 0.043791108, -0.3888225, 0.11529475, 0.17406003, -0.2179613, -0.18560894, -0.16957083) * g_19; - result += mat4(0.21191274, -0.16949633, -0.04258746, -0.15323012, 0.36763668, 0.18696135, -0.035708304, 0.08924961, -0.10829788, -0.086305946, 0.18746884, 0.19478951, 0.2759173, 0.059790425, 0.029030167, 0.22933595) * g_20; - result += mat4(0.117172234, 0.2812114, -0.034787145, 0.067007184, -0.18443052, -0.01740869, 0.012421643, -0.23641962, 0.09629342, -0.122772515, -0.1556607, -0.13235089, 0.13715908, 0.11799065, -0.025866343, 0.03717886) * g_21; - result += mat4(-0.06885674, 0.20376506, 0.032389764, -0.1343853, -0.24107948, -0.2061297, -0.15523757, 0.045462113, 0.15680042, 0.24913467, -0.1266525, 0.15182254, -0.19809371, -0.11994996, 0.024678899, 0.34593883) * g_22; - result += mat4(0.08096669, 0.03794547, -0.08631197, -0.074983165, -0.19917545, 0.08625112, -0.2224293, -0.13218154, -0.16452844, 0.21913971, 0.15406418, -0.14238952, -0.23737735, -0.13383593, 0.04449909, -0.14110228) * g_23; - result += vec4(-0.047341306, -0.010470165, -0.060366448, -0.0063673723); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf2 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.16376013, -0.21462978, -0.14271215, -0.19764555, 0.004959633, 0.03559098, -0.039930187, 0.12408578, 0.073444515, -0.18976516, -0.020428572, 0.08624831, -0.13308355, 0.056589432, 0.06721722, 0.16169119) * g_0; - result += mat4(0.032759428, 0.03249251, -0.20465967, 0.07133733, 0.05343703, 0.12841259, -0.20835468, 0.09137038, 0.1938841, 0.25623104, 0.097277, 0.058534052, -0.22656159, 0.18883473, 0.011212467, -0.0037018447) * g_1; - result += mat4(-0.23469727, 0.15565057, 0.19072291, -0.1836996, 0.16059339, -0.22498783, 0.061382726, -0.20989716, 0.1775421, -0.047837425, -0.09572263, 0.103703596, -0.13672648, -0.15082708, 0.11233271, 0.22601321) * g_2; - result += mat4(0.01870386, 0.089724526, 0.09773838, 0.034003545, -0.0031496854, 0.033871237, -0.24420398, 0.007905355, -0.02449313, 0.14813906, 0.09018556, 0.12513392, 0.16733788, 0.23793064, -0.1912762, -0.13565488) * g_3; - result += mat4(0.06970355, 0.10157562, 0.14928305, 0.24936941, 0.059907116, -0.30688918, 0.081315145, -0.10862118, 0.13362534, -0.00026153796, 0.24190883, -0.06487983, 0.09340848, 0.08127848, 0.001434232, 0.067308724) * g_4; - result += mat4(-0.05588173, -0.08792639, 0.08981383, -0.13087386, -0.1401108, 0.053842388, -0.014714017, -0.16106959, -0.09377347, 0.020844752, 0.08686229, -0.046952497, 0.31264535, 0.03484944, -0.08730081, -0.006767603) * g_5; - result += mat4(0.25659466, 0.07397599, -0.059985436, 0.071429655, 0.03428176, -0.033710003, -0.16406639, -0.05580733, -0.21191816, -0.15564337, -0.07574189, -0.17225428, -0.019659676, -0.13260631, 0.05916013, -0.12107973) * g_6; - result += mat4(-0.072627656, -0.080296986, 0.034525134, -0.23515461, -0.1304861, -0.039075147, 0.3999017, -0.22840585, 0.07141298, 0.18324336, 0.054969292, -0.01635769, 0.2520213, -0.07695982, -0.023417236, 0.102722354) * g_7; - result += mat4(-0.17125753, 0.17100827, -0.31199583, -0.037970837, -0.107630424, -0.07300846, 0.07948616, -0.39042896, 0.17479163, 0.13205178, 0.11497303, -0.11652115, 0.03062989, 0.33838132, 0.14790033, 0.09507217) * g_8; - result += mat4(0.04507488, 0.35392353, 0.38684472, 0.13546394, 0.11795181, -0.19300266, -0.22795731, 0.463773, -0.12761338, -0.18098523, -0.1456463, -0.09372001, 0.28942215, 0.14363319, -0.03819802, -0.15229422) * g_9; - result += mat4(-0.12988025, 0.21170932, 0.03447564, -0.13754961, 0.087904826, 0.07837626, 0.09328843, 0.010177785, -0.3745973, 0.12749651, 0.17956547, -0.12897313, 0.19329022, -0.16939743, -0.104944855, -0.09487357) * g_10; - result += mat4(0.15901774, 0.04067448, -0.21514527, -0.077920794, -0.28198823, 0.028896367, -0.23865238, -0.0071926992, 0.28216872, -0.13635647, -0.18908545, 0.02977451, -0.25345692, 0.20820476, 0.009601449, 0.27883843) * g_11; - result += mat4(-0.037589654, -0.36836734, -0.17160638, -0.21136808, -0.18195882, -0.18352132, -0.13808772, 0.08068677, -0.015797919, -0.19405758, 0.16463257, -0.10353348, -0.0113609, -0.14714903, -0.15443285, 0.04489155) * g_12; - result += mat4(-0.21718445, 0.0059077847, 0.19859529, 0.13535082, -0.16072561, 0.19556482, 0.1523886, 0.1251762, -0.0034070462, -0.035521794, 0.034417186, -0.306561, -0.10835829, -0.07181185, 0.036284324, -0.0031866753) * g_13; - result += mat4(-0.10943835, 0.10428341, -0.06992764, -0.120998256, -0.008993865, 0.05821091, 0.06261459, -0.06388792, -0.028256107, 0.003925002, 0.25350967, -0.13623622, 0.084879614, 0.19291006, 0.06272194, -0.22010769) * g_14; - result += mat4(-0.0457065, -0.059411805, -0.17807458, 0.09876963, 0.024583695, -0.116159014, -0.105639346, 0.028582737, 0.08507421, -0.121634774, 0.15567276, -0.08701447, 0.035207976, -0.037749242, -0.11775162, 0.25025365) * g_15; - result += mat4(0.18185188, -0.07264863, 0.077263445, 0.21976566, 0.14656045, 0.047771394, 0.06685994, -0.08333337, 0.0017449517, -0.16983587, 0.14909369, -0.13025558, -0.06653938, -0.01429911, 0.032135215, 0.25310838) * g_16; - result += mat4(0.042382054, 0.2682427, 0.01764835, -0.14447007, -0.2280379, 0.045982208, 0.075665936, -0.010963417, 0.07917052, 0.20231707, -0.022708723, -0.04420749, -0.017431455, -0.4536474, 0.050049998, -0.10083379) * g_17; - result += mat4(0.042559944, 0.08244448, 0.20654662, -0.18008594, -0.1978152, 0.089204244, 0.09919466, 0.081702396, -0.030112466, -0.28072456, 0.20105025, -0.081957966, 0.048123248, -0.024997404, 0.07762149, 0.067282006) * g_18; - result += mat4(0.077762015, -0.0710356, 0.06286203, 0.090047225, 0.1062697, -0.033291563, -0.032123826, 0.031537674, 0.15810831, 0.0884716, -0.12753096, 0.017839061, 0.42752337, -0.09349916, -0.06481517, -0.07046963) * g_19; - result += mat4(-0.15118897, -0.25734478, 0.31358278, 0.1805141, 0.17088307, 0.18794382, 0.28021103, -0.34057355, -0.030835107, -0.0079853125, -0.26573807, -0.28082734, 0.0044963094, -0.020050643, 0.11479064, -0.11732869) * g_20; - result += mat4(0.30385575, 0.25909582, -0.052579727, 0.1515613, -0.082644455, -0.09668368, -0.077442855, 0.095288195, 0.004760802, 0.07587048, 0.05381485, 0.10933668, -0.25176695, 0.14999786, -0.02548245, 0.12480703) * g_21; - result += mat4(-0.12200806, -0.03346429, 0.040096015, -0.0104450155, -0.04190287, 0.15631595, 0.24532063, 0.067783296, -0.044785816, -0.17835703, 0.07349294, -0.23587738, 0.28926384, 0.020304382, -0.19058007, -0.24528348) * g_22; - result += mat4(0.14653356, -0.09399811, 0.17405438, 0.11741997, 0.1707656, 0.17793506, 0.419244, 0.36248252, 0.19333729, -0.09478834, -0.031501323, 0.3489942, 0.17111845, -0.05753778, -0.033362497, -0.20234007) * g_23; - result += vec4(-0.098978624, -0.013715648, -0.067908, -0.00071062305); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf3 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.099412, 0.018248364, -0.13228352, 0.4672803, 0.034476146, -0.1978014, -0.11049704, -0.27439678, -0.060605004, 0.110746264, -0.051524, -0.1361938, 0.009921265, 0.23397371, -0.07823562, 0.012807971) * g_0; - result += mat4(-0.057887197, -0.16899316, -0.097910166, 0.27173346, 0.048372928, -0.09819956, 0.2760085, 0.09113153, -0.25055817, 0.10803364, -0.32569218, 0.018657776, 0.10861732, 0.25150824, -0.12217984, 0.14836118) * g_1; - result += mat4(-0.23982282, 0.16482148, 0.042845722, 0.26944172, 0.03479865, 0.26460785, 0.29936558, 0.26309288, -0.03825185, 0.16846797, 0.11344883, 0.097732104, 0.011267582, 0.06025005, -0.017220326, -0.14788473) * g_2; - result += mat4(-0.07698723, 0.31528163, 0.018389257, 0.32013643, -0.17028578, 0.10416205, 0.14160097, 0.07994368, -0.21445467, 0.065764554, -0.010799837, 0.12783599, 0.16091037, -0.041146606, 0.06914886, 0.23852104) * g_3; - result += mat4(-0.21730243, 0.0005364685, -0.06843196, -0.18304375, -0.0838743, 0.06591937, -0.119132325, -0.12775517, -0.14532626, 0.035126243, -0.014109256, 0.11822324, 0.08915501, -0.048738454, 0.017610341, -0.17118132) * g_4; - result += mat4(0.066193976, -0.08082204, -0.119381346, -0.38606662, -0.018930387, 0.08734439, -0.080338374, -0.10179199, 0.28592992, -0.038777832, -0.02912025, -0.13968153, 0.1751963, -0.10257253, -0.02308871, 0.103588775) * g_5; - result += mat4(-0.015369136, 0.043419622, -0.09212257, -0.09099887, 0.17050241, 0.017557086, -0.09919063, 0.2121736, 0.13851827, -0.09521062, 0.31105414, -0.21121062, -0.16483651, -0.05569374, 0.15418938, -0.046936) * g_6; - result += mat4(0.1726453, 0.32175332, -0.2238786, -0.038357526, -0.057416882, 0.1856948, -0.15019979, -0.07717308, -0.05847253, -0.05986613, -0.09415613, 0.06858027, -0.4783783, -0.024743836, -0.039746255, 0.030463157) * g_7; - result += mat4(-0.13700408, -0.021685323, -0.1302628, -0.08178966, 0.050457038, 0.052361347, -0.3721997, 0.1799716, -0.33779272, -0.2478128, -0.11195146, 0.03438403, -0.0769632, -0.01370984, 0.358675, -0.016251782) * g_8; - result += mat4(0.18463574, -0.32811102, 0.09035979, -0.15944754, -0.01858092, -0.12055925, 0.11789398, -0.24762204, 0.19556394, 0.3658605, 0.0063217054, 0.13560002, -0.0031609968, -0.092887774, -0.11317696, 0.1688745) * g_9; - result += mat4(-0.18825243, -0.057770394, 0.13403799, 0.15150245, -0.0184938, -0.16399476, -0.20233853, -0.15256546, -0.012932695, -0.006998052, -0.27886555, -0.1801957, 0.005736763, -0.16826138, -0.11622382, 0.009515264) * g_10; - result += mat4(0.21212149, 0.025956135, -0.076748274, 0.081390835, 0.10770965, 0.14706889, -0.03222262, 0.02229013, 0.111733, 0.27851826, -0.06712574, 0.14247932, -0.21986732, -0.04752835, 0.18228333, -0.13603105) * g_11; - result += mat4(-0.09660765, 0.1315258, 0.17911027, 0.11740451, -0.097255416, 0.060639273, -0.093187824, 0.02105227, -0.07707017, 0.089799285, -0.015904067, 0.1251983, 0.0164978, 0.12589863, 0.10049757, -0.2215788) * g_12; - result += mat4(-0.019633045, 0.08128165, -0.21685003, 0.12429716, 0.21384989, 0.28713462, 0.36082667, 0.066602774, -0.20333257, -0.22721171, -0.272673, -0.0440037, -0.22458526, -0.100124046, 0.042302642, -0.10875494) * g_13; - result += mat4(0.12793371, -0.019439168, 0.16232544, -0.27688906, 0.072149724, -0.2702213, 0.10965313, -0.23709685, -0.024219394, -0.17060119, -0.09893195, -0.06776005, 0.2715758, -0.03232274, -0.04255475, -0.37065327) * g_14; - result += mat4(-0.32041374, -0.074793965, -0.036865823, -0.02918251, -0.017197197, 0.16684239, 0.025243908, -0.07547195, 0.13938503, 0.055163417, -0.011429674, -0.13055529, -0.20067081, -0.18778045, -0.11177742, 0.092909254) * g_15; - result += mat4(0.14335759, -0.074887894, -0.097555235, 0.20072718, 0.026916051, 0.074796274, -0.040159326, 0.13532946, -0.074374124, -0.1852574, -0.26057327, -0.13128847, -0.08296219, -0.14694557, 0.110786796, 0.013070258) * g_16; - result += mat4(-0.32044858, -0.063347876, -0.23396221, -0.21997774, 0.26588383, 0.028225997, 0.01708149, -0.24854802, -0.05019675, 0.18214068, 0.13636373, 0.25459006, 0.03579004, -0.13517296, 0.018898118, -0.16877192) * g_17; - result += mat4(-0.07525496, 0.14939371, 0.17912684, -0.08323159, 0.10446684, -0.04631436, -0.02372887, -0.033120833, -0.04439999, 0.26327297, -0.0050649103, 0.0598028, 0.24129944, 0.042389676, 0.014767951, 0.005455403) * g_18; - result += mat4(0.20534733, -0.04825815, -0.16734582, 0.12407057, 0.12095892, 0.113786094, -0.031531718, 0.09064296, 0.23715405, 0.12641983, 0.25125253, 0.13647586, 0.05642747, 0.21420534, -0.021030078, 0.0067664357) * g_19; - result += mat4(-0.19284865, 0.016823744, 0.035537027, 0.08619851, -0.4948977, 0.34391722, -0.22931114, 0.14890936, 0.052512612, 0.037328973, -0.09397819, 0.04763624, -0.14281563, -0.07775558, 0.041917272, -0.24072154) * g_20; - result += mat4(-0.016150191, -0.27570885, -0.043972906, -0.15360864, 0.12333279, -0.16048594, 0.19867133, -0.11443874, 0.0046046698, -0.08360428, -0.14277548, 0.09461427, 0.20481633, -0.07163476, -0.110096864, -0.2062863) * g_21; - result += mat4(0.013339331, 0.039179143, -0.18245237, -0.29612786, -0.25390434, 0.06809853, 0.003070957, -0.11978623, -0.26271898, -0.18589073, 0.14316171, 0.1990445, 0.17755853, 0.056225445, -0.06782714, 0.29821777) * g_22; - result += mat4(0.020388031, -0.09590241, 0.006317689, -0.17690729, 0.30927724, -0.3388045, -0.31306866, 0.027354693, 0.4423801, -0.16751811, -0.008609924, -0.08048698, 0.20227478, 0.0663151, 0.07970592, 0.055658944) * g_23; - result += vec4(0.008592977, -0.044200934, -0.05895498, -0.02388236); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!SAVE conv2d_23_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.09131138, 0.033908423, 0.06402078, 0.11773138, 0.1943823, -0.15592197, -0.13471745, -0.08529886, 0.06670752, -0.098241374, 0.12521602, -0.08512277, 0.1683658, 0.03740529, 0.037400503, -0.05727949) * go_0(-1.0, -1.0); - result += mat4(-0.03644541, -0.040736966, -0.11249786, 0.11850314, 0.32783642, 0.00519888, -0.042442005, 0.06894669, -0.047855087, 0.14549308, -0.025135789, 0.116999514, 0.13979697, -0.14902762, 0.06489305, -0.03388391) * go_0(-1.0, 0.0); - result += mat4(-0.023465028, 0.025934102, 0.09511252, -0.084230386, -0.1606496, -0.02123527, -0.20048198, 0.12044697, -0.2775636, -0.058961913, -0.14377111, -0.057033725, 0.082422875, -0.118948884, 0.008090666, -0.124874555) * go_0(-1.0, 1.0); - result += mat4(0.11534857, 0.012932089, 0.07273674, -0.09807298, 0.06973694, -0.07309513, -0.06061797, -0.014805921, -0.17324777, 0.1589084, -0.300336, 0.011933996, 0.20000152, 0.054015145, 0.02382139, -0.012143371) * go_0(0.0, -1.0); - result += mat4(0.05282883, -0.063555785, 0.2140791, 0.045857526, -0.09551571, -0.021092935, -0.030398421, 0.079699315, 0.27740473, 0.12863821, 0.11814711, -0.24691874, 0.0820826, -0.0122578805, 0.07135231, -0.14403847) * go_0(0.0, 0.0); - result += mat4(-0.13553837, 0.030967671, 0.058927957, -0.05810357, 0.08453746, 0.1595707, 0.096559994, -0.06876099, 0.28936404, -0.20720041, 0.0921518, -0.06055625, 0.19537878, -0.027162874, 0.17818171, -0.16391847) * go_0(0.0, 1.0); - result += mat4(-0.04569781, -0.009677751, 0.09629714, 0.16671604, 0.16229568, -0.09440705, 0.0773015, -0.094926424, 0.029782036, 0.07475886, -0.11624012, 0.102057815, -0.1621821, 0.0556299, -0.0009157474, 0.07957986) * go_0(1.0, -1.0); - result += mat4(-0.086193435, 0.0050304797, 0.237151, 0.085645474, -0.09659096, -0.06742485, 0.045208316, -0.09497162, -0.1326794, 0.08950495, 0.101273924, 0.23780954, 0.10114795, 0.16358292, -0.04790394, -0.020107236) * go_0(1.0, 0.0); - result += mat4(-0.04450685, -0.032620404, 0.041148815, 0.025766535, 0.04599292, -0.08062297, -0.07056962, 0.15501104, 0.018098447, -0.056441948, -0.0082316445, 0.009804846, -0.036104303, -0.22376746, 0.050941933, 0.019282423) * go_0(1.0, 1.0); - result += mat4(0.017053317, -0.17366727, 0.0041483818, -0.030205533, 0.09859452, 0.0518556, 0.0133445915, -0.08444114, -0.28370312, -0.13151783, 0.31044328, 0.111910336, -0.032361325, -0.01770337, -0.010704456, 0.0144173745) * go_1(-1.0, -1.0); - result += mat4(-0.12795548, -0.19439028, 0.11518335, 0.03526096, 0.047590613, -0.09982341, 0.17033744, -0.10617614, 0.09882225, -0.18019329, 0.16787401, -0.126714, 0.18646127, 0.029379264, -0.09348745, 0.1027056) * go_1(-1.0, 0.0); - result += mat4(-0.009432709, 0.014073133, 0.07751331, 0.0007941653, 0.01451177, -0.016895872, 0.18490177, -0.17758124, -0.03889537, -0.2542268, -0.10398249, 0.026144411, 0.040533677, 0.16211097, -0.03735617, 0.14508058) * go_1(-1.0, 1.0); - result += mat4(-0.073385045, -0.08633009, -0.012349179, 0.135039, -0.12819883, 0.108412564, 0.031421386, -0.15841225, 0.37309644, -0.3381479, 0.298765, 0.024899099, 0.18251772, 0.2509419, -0.22062813, -0.024837602) * go_1(0.0, -1.0); - result += mat4(-0.06883072, -0.1503742, 0.052868135, -0.043145224, -0.113911405, 0.06986772, -0.20423973, -0.13115147, 0.03548683, 0.15488684, 0.048954308, 0.31241676, 0.1041569, -0.0075826123, -0.096361734, 0.19196175) * go_1(0.0, 0.0); - result += mat4(0.047116484, -0.13105369, 0.055510826, -0.041513115, -0.06750568, -0.14283523, -0.16356061, -0.08123268, -0.006748819, -0.017072774, -0.017939035, 0.1346046, -0.13200043, 0.19815323, 0.029375095, 0.058383178) * go_1(0.0, 1.0); - result += mat4(-0.075882465, -0.07738514, 0.017256761, 0.027561456, -0.0030985356, 0.11494044, -0.23481496, -0.0407894, 0.089194834, -0.3295602, 0.1349374, 0.024026528, -0.040600736, -0.019277403, -0.23993303, 0.070719585) * go_1(1.0, -1.0); - result += mat4(0.15384857, -0.1404684, -0.08192259, 0.22059244, -0.056343608, -0.07680841, -0.028091991, 0.018050734, -0.06448074, -0.15879273, 0.05624588, 0.17439762, -0.15651157, 0.060068816, -0.022861151, -0.12604229) * go_1(1.0, 0.0); - result += mat4(0.036010202, 0.006490351, 0.11859712, -0.059950985, -0.032708675, -0.21403344, -0.041310433, -0.09917238, -0.15357764, 0.061698433, 0.048517, 0.1609773, 0.06535186, -0.17659064, -0.16361596, 0.03786077) * go_1(1.0, 1.0); - result += mat4(0.1510972, -0.03487374, 0.053542916, -0.07919296, 0.11544643, 0.01139448, 0.17608707, -0.2567972, -0.03395201, 0.1396058, 0.11766402, -0.02940849, 0.2797734, 0.040067323, -0.07184705, -0.08410531) * go_2(-1.0, -1.0); - result += mat4(0.3535709, -0.3131969, 0.20586847, 0.0059938114, 0.018430991, 0.17028253, -0.15251099, 0.0781781, -0.24678783, 0.0091668675, 0.17472872, 0.09348784, 0.15651587, 0.082479276, 0.09133184, -0.010763655) * go_2(-1.0, 0.0); - result += mat4(0.102569126, -0.39770702, 0.009020254, 0.015216178, 0.027688032, 0.14120215, 0.097465165, -0.023531476, 0.021813387, 0.037395973, 0.07099101, -0.018405994, 0.19843963, 0.1314482, -0.07058213, -0.16315302) * go_2(-1.0, 1.0); - result += mat4(-0.0022617867, -0.011069732, -0.020649603, 0.013124551, 0.19050135, -0.020224325, -0.16795257, -0.039424885, 0.15197875, -0.15806125, 0.09604692, 0.05569294, -0.03755315, 0.02522338, -0.06173222, 0.12598173) * go_2(0.0, -1.0); - result += mat4(-0.07598657, 0.19927181, -0.08278574, -0.26276442, 0.15123075, 0.13646364, 0.20835224, -0.20013718, 0.099280365, 0.03925767, 0.030458648, 0.085807234, -0.02627184, -0.005727388, 0.14358924, 0.17159012) * go_2(0.0, 0.0); - result += mat4(0.07014556, -0.12877329, 0.14059919, -0.1535854, 0.03571712, 0.16899629, -0.017528472, 0.27891418, -0.02036702, -0.0625575, -0.06368575, 0.057756003, -0.13453323, 0.27671248, 0.004629296, -0.26900387) * go_2(0.0, 1.0); - result += mat4(-0.06847566, -0.21366367, -0.039819483, -0.027131073, 0.30385053, 0.027070398, 0.050060987, 0.22837809, 0.035667785, -0.038031258, 0.002818757, 0.077267155, 0.003597696, 0.1531482, -0.058937583, 0.009182411) * go_2(1.0, -1.0); - result += mat4(-0.16412063, 0.0954355, -0.13111196, -0.0010777399, 0.124151364, 0.13577148, 0.117423296, 0.07165251, 0.045134697, 0.006139977, 0.10442549, 0.18485071, 0.23051512, 0.03836801, 0.13989983, 0.15473667) * go_2(1.0, 0.0); - result += mat4(-0.17817432, 0.06480376, -0.052858084, -0.0685316, 0.050766367, 0.18178764, 0.054162186, -0.23053114, -0.07155077, 0.08317291, 0.08087355, 0.11692418, 0.17209543, 0.07348017, -0.019608062, 0.047815118) * go_2(1.0, 1.0); - result += mat4(0.05242205, -0.05213162, 0.17836288, -0.027634641, 0.11689667, 0.16717364, 0.10070081, -0.020730542, -0.03840858, 0.22093919, 0.086223215, -0.12441894, -0.04431571, -0.16067247, -0.00534175, -0.17543635) * go_3(-1.0, -1.0); - result += mat4(0.0037269965, 0.038231213, -0.06994185, -0.16372295, 0.03060376, -0.15052626, 0.19193533, 0.20571958, 0.14663228, 0.046056807, -0.013436354, 0.30891243, -0.05121337, -0.14922823, -0.038022388, -0.38717356) * go_3(-1.0, 0.0); - result += mat4(-0.24040397, 0.06540199, -0.08115575, -0.1086239, 0.16053584, -0.07767291, 0.09287401, 0.03635286, -0.068610564, -0.08793643, -0.022505488, 0.0021461847, 0.14514421, -0.05938948, -0.070294835, -0.15001974) * go_3(-1.0, 1.0); - result += mat4(-0.14725754, 0.1766625, -0.049569584, -0.03776424, -0.070841715, -0.1235983, 0.28747836, -0.071502686, 0.08114895, -0.018539542, 0.14620744, 0.012727906, 0.05387464, -0.03048568, -0.020431526, -0.19388756) * go_3(0.0, -1.0); - result += mat4(-0.026303306, -0.025468629, -0.15062398, 0.114179656, 0.019424522, 0.11645826, -0.054830663, 0.078278676, 0.17537925, -0.27309817, 0.085727856, 0.17053008, -0.009340296, -0.32924372, -0.13124111, -0.025490649) * go_3(0.0, 0.0); - result += mat4(-0.042400144, -0.049280033, -0.12039706, -0.17957337, -0.14830892, 0.1251945, 0.23149583, 0.28181273, -0.14767516, -0.14848503, 0.14360987, 0.16052951, -0.074891195, 0.06248858, 0.055073753, 0.04758557) * go_3(0.0, 1.0); - result += mat4(-0.09363487, -0.1045394, 0.0017166267, -0.12985104, 0.015910368, 0.102758124, 0.14058472, -0.2664263, -0.037670832, -0.38395768, 0.21591122, 0.020808058, -0.21803327, -0.1312806, -0.017887505, 0.020433053) * go_3(1.0, -1.0); - result += mat4(-0.05004401, -0.09497019, -0.027566075, 0.113181084, 0.07103934, 0.2734206, -0.03059386, -0.0332269, 0.102268346, 0.008209988, 0.35907993, -0.06962411, -0.018797243, -0.10854897, -0.047280792, -0.17607129) * go_3(1.0, 0.0); - result += mat4(0.057423804, -0.09471347, -0.014889988, -0.16183464, -0.120575145, 0.087070495, 0.06833499, -0.09479741, 0.03847108, 0.10778999, 0.056107424, -0.23145913, 0.024419997, 0.103265956, -0.08921305, -0.09757912) * go_3(1.0, 1.0); - result += mat4(0.13384978, -0.079113975, 0.2673455, -0.001388325, 0.09020357, -0.031004086, -0.06706532, -0.09712962, 0.006595455, -0.07330424, 0.027356524, 0.05175056, -0.0071680583, -0.17523831, -0.2500806, 0.068184644) * go_4(-1.0, -1.0); - result += mat4(-0.010806503, -0.087054394, 0.01247482, -0.049433894, 0.24250141, -0.012302364, -0.09836663, -0.010441689, -0.01736698, 0.06227692, -0.08207885, -0.08397307, 0.10839543, 0.0582591, 0.10652411, -0.1263973) * go_4(-1.0, 0.0); - result += mat4(0.051801708, 0.10008741, 0.085652865, 0.03317883, -0.011784595, -0.09476136, -0.060254402, -0.03993118, 0.15938812, -0.036154263, -0.023724914, 0.023072388, -0.1830834, -0.16257459, 0.011939983, -0.019817753) * go_4(-1.0, 1.0); - result += mat4(0.009384002, 0.22132717, -0.10790506, -0.13403648, -0.12867084, 0.0170318, -0.26573703, 0.15219554, 0.05208657, 0.028437164, -0.0075094504, 0.16358465, -0.25728798, -0.14209302, -0.090628594, -0.020266641) * go_4(0.0, -1.0); - result += mat4(-0.105271295, -0.08334642, 0.066386715, -0.08532908, 0.034230784, 0.003183763, -0.061057337, -0.08763742, -0.017104378, 0.06903514, 0.00011934939, 0.18061033, -0.11321395, -0.13238335, 0.02217801, 0.16734014) * go_4(0.0, 0.0); - result += mat4(-0.054016914, -0.3251611, 0.10844312, 0.06809114, -0.026177978, 0.03295877, -0.25813127, -0.13190097, 0.1646799, 0.10207205, -0.070685804, 0.060001995, 0.11520876, 0.017403806, -0.13937482, -0.0474489) * go_4(0.0, 1.0); - result += mat4(0.2081571, 0.05452599, 0.08682483, -0.0080074575, -0.20034009, 0.041490223, -0.13525641, -0.08825766, 0.11166498, 0.05461938, 0.062119294, 0.07054797, 0.28615478, -0.10186286, 0.039416775, -0.09058381) * go_4(1.0, -1.0); - result += mat4(-0.002028956, 0.13792294, 0.052321367, -0.10081957, -0.10832031, 0.14681582, 0.034581225, 0.28766856, -0.12628017, 0.22492304, 0.12147461, -0.117368974, -0.09258678, -0.107831135, -0.091728576, 0.056776278) * go_4(1.0, 0.0); - result += mat4(0.09331942, 0.10814952, 0.17062774, -0.07358676, -0.1413653, 0.043760024, -0.022969319, 0.09290279, 0.022235138, -0.105375476, 0.03461203, -0.018847216, 0.016480181, -0.022482162, -0.13637148, 0.19234383) * go_4(1.0, 1.0); - result += mat4(0.02810646, -0.031316705, -0.0178568, -0.14513317, 0.15981704, -0.039926987, 0.17865102, 0.11936641, 0.08213655, -0.0325407, -0.1515291, -0.12928765, 0.011806648, -0.16914015, -0.004875871, 0.106102616) * go_5(-1.0, -1.0); - result += mat4(-0.13184357, 0.061656546, 0.060945187, -0.105421364, -0.037199628, 0.11896752, -0.060773082, 0.045614343, -0.08332208, -0.049595445, 0.09597651, -0.30532154, 0.15812595, -0.042516127, 0.18399784, 0.16094239) * go_5(-1.0, 0.0); - result += mat4(-0.33316278, -0.011284583, -0.16349995, -0.027859828, -0.0265469, 0.11809671, 0.010981738, 0.14738315, 0.06092039, -0.14193222, 0.1506528, -0.07094368, -0.024454627, -0.015645336, 0.034780208, 0.049217694) * go_5(-1.0, 1.0); - result += mat4(0.107179366, 0.07066249, 0.029978203, 0.04064619, 0.14367694, -0.0707521, -0.043202203, -0.07755337, -0.1414949, -0.075680286, 0.07212854, -0.10426819, -0.053450912, -0.036483523, -0.088566504, 0.023040567) * go_5(0.0, -1.0); - result += mat4(-0.07250885, -0.024153208, -0.15135773, -0.12738611, -0.13865541, 0.2558854, -0.062863655, 0.026076516, -0.11330215, -0.1421894, 0.078908496, 0.09536156, 0.09768448, -0.040809087, -0.01081564, 0.12752384) * go_5(0.0, 0.0); - result += mat4(-0.007411453, -0.26306254, -0.09460912, -0.1274183, 0.17549448, 0.10265319, 0.1523632, 0.00567592, -0.010893677, -0.015474816, 0.00347949, 0.06572276, 0.103830785, -0.11260262, -0.1559419, 0.01961365) * go_5(0.0, 1.0); - result += mat4(-0.27802208, 0.06816621, -0.03126256, 0.09541582, -0.027612302, -0.13786513, -0.01970176, 0.14447582, -0.027928956, 0.035179827, 0.08529638, 0.0041394024, -0.115290634, 0.009893316, -0.06947281, -0.12085376) * go_5(1.0, -1.0); - result += mat4(-0.15621363, 0.027770502, 0.22415419, -0.008533331, -0.07490461, 0.063894406, 0.07851438, -0.10022149, 0.037019495, -0.18932734, -0.054964032, -0.019382603, -0.061845765, -0.0727259, -0.07052952, -0.017668312) * go_5(1.0, 0.0); - result += mat4(0.062352043, -0.16134496, -0.11203861, 0.028929278, 0.03922491, -0.03502952, -0.23796257, -0.15868919, -0.009224885, 0.08150161, 0.16375063, 0.05467114, 0.0034257919, 0.020632897, 0.029710175, -0.051271148) * go_5(1.0, 1.0); - result += mat4(-0.10077094, -0.13743052, -0.13426858, 0.02795044, -0.03258582, 0.0035150647, -0.23349123, 0.08158031, -0.14671959, -0.106468596, -0.052647196, 0.15170865, -0.077066086, -0.13687505, -0.100158766, 0.072148666) * go_6(-1.0, -1.0); - result += mat4(-0.18043056, 0.01471657, -0.14077441, -0.07036914, 0.0041728304, 0.0025488208, -0.09778906, 0.022951962, 0.03756181, -0.09718527, 0.05790759, -0.12635967, 0.13590017, -0.009978917, -0.072935194, -0.04623219) * go_6(-1.0, 0.0); - result += mat4(-0.11367442, -0.009137989, -0.2793412, -0.044882946, 0.06419393, -0.043046396, -0.15428057, -0.14217602, 0.025581103, -0.08229003, -0.020829663, 0.06563624, -0.030519947, 0.030248122, 0.03430571, -0.013708682) * go_6(-1.0, 1.0); - result += mat4(-0.2279588, -0.18872449, -0.025711812, -0.0030177163, -0.04904665, -0.012416222, -0.043616265, -0.025587335, -0.13296616, 0.04638035, 0.04678556, 0.03844558, -0.18179114, 0.09372293, -0.010590236, 0.01083938) * go_6(0.0, -1.0); - result += mat4(0.1509907, -0.0481407, 0.0733552, -0.11650966, -0.060449038, 0.045509655, -0.020972773, 0.06986917, -0.14222102, 0.011846137, -0.17001152, -0.057357326, -0.16672502, 0.04941284, -0.047788143, 0.062904075) * go_6(0.0, 0.0); - result += mat4(-0.026204882, 0.1379135, 0.07676878, 0.09819616, 0.0367303, -0.10786471, -0.0075898385, -0.07676497, -0.11037974, -0.26268724, 0.19532666, -0.07363598, -0.07052941, 0.12609297, 0.072664596, -0.05314863) * go_6(0.0, 1.0); - result += mat4(0.08999991, 0.0558405, -0.076048166, 0.02103657, -0.027882319, 0.010349208, -0.10227, -0.057416655, -0.14109646, 0.09137617, 0.014954059, -0.1576444, 0.08265091, 0.17756382, 0.009793101, 0.016993368) * go_6(1.0, -1.0); - result += mat4(0.027727338, 0.035738327, -0.050455257, 0.0270335, -0.025559573, -0.015427726, -0.083071664, 0.061004713, 0.020193916, -0.07887369, -0.02108076, 0.11720328, 0.13798134, 0.13345529, -0.14398462, -0.029060662) * go_6(1.0, 0.0); - result += mat4(-0.07745766, -0.041309092, -0.17316692, 0.033977617, 0.15394445, -0.16951908, -0.0063321716, 0.080495596, -0.0017852545, -0.28805718, 0.0700991, 0.018410137, 0.003488375, 0.19910179, 0.10167056, 0.025110798) * go_6(1.0, 1.0); - result += mat4(-0.15580481, 0.020477565, 0.11532024, 0.03976763, 0.18229389, 0.1271016, 0.08770817, -0.09774775, 0.06600797, 0.01689596, 0.18700399, 0.09403785, -0.009046925, -0.01108422, 0.058958236, -0.047931902) * go_7(-1.0, -1.0); - result += mat4(0.06310476, 0.06905119, 0.018878374, 0.025518246, 0.10841674, 0.09996408, -0.024993157, -0.01841523, -0.05029303, 0.11934722, -0.038388044, 0.06257424, -0.2838227, -0.11319486, -0.06147547, 0.032279905) * go_7(-1.0, 0.0); - result += mat4(0.106864855, -0.14675911, 0.13882893, 0.15282702, 0.10262944, 0.1212188, -0.12513219, 0.09966214, 0.14789942, -0.008914957, 0.042973127, 0.07553493, -0.025540594, -0.05686568, -0.06566971, -0.0020550704) * go_7(-1.0, 1.0); - result += mat4(0.0414937, -0.107962914, 0.0866677, -0.14541091, -0.035804186, -0.03858178, -0.05039649, -0.050335135, 0.1229951, 0.19201261, 0.14003956, -0.08397869, 0.005254548, 0.0066002896, -0.077449955, 0.009956068) * go_7(0.0, -1.0); - result += mat4(-0.0063296407, 0.028561544, 0.08341632, 0.22342314, -0.01691521, 0.031374026, 0.050613165, 0.034745082, 0.032332152, 0.09849194, -0.007582172, 0.15742157, -0.041984398, -0.008867525, 0.03506499, -0.24573727) * go_7(0.0, 0.0); - result += mat4(-0.07056382, 0.0636449, 0.03233018, 0.1501561, 0.06066885, 0.11464044, 0.040849507, -0.13865003, 0.076462656, 0.12667337, 0.029632922, 0.25268108, 0.114084266, -0.17584173, 0.016733518, -0.17203353) * go_7(0.0, 1.0); - result += mat4(-0.01064123, 0.029628627, 0.027050711, -0.18520628, 0.07674622, 0.15729839, -0.030779244, -0.0634873, 0.1574134, 0.07093152, 0.07546052, -0.070630684, -0.022203514, 0.05314295, -0.061366297, -0.0079711685) * go_7(1.0, -1.0); - result += mat4(-0.07035216, 0.17515408, -0.029123412, 0.16910394, 0.08932361, 0.07208431, -0.11704755, 0.11410879, 0.036213387, 0.12823173, -0.07582252, 0.077650435, 0.06261303, -0.04147947, -0.04317352, 0.0021995064) * go_7(1.0, 0.0); - result += mat4(-0.15121935, 0.13061461, 0.0625614, 0.21688727, 0.2871471, 0.16875097, -0.10717908, 0.11702028, 0.034555722, -0.020147238, -0.10780166, -0.10345562, 0.07117743, -0.0009922339, 0.16038051, -0.015311427) * go_7(1.0, 1.0); - result += vec4(0.014096946, 0.0069551114, -0.010140134, -0.058456354); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!SAVE conv2d_22_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10223896, -0.003962179, -0.026885005, 0.11193138, -0.13312434, -0.025076041, -0.059773684, 0.017627714, -0.011125944, 0.14110252, -0.01591333, -0.103229046, 0.06469717, 0.080973566, 0.1377451, -0.085188426) * go_0(-1.0, -1.0); - result += mat4(-0.012705599, -0.12700035, 0.1918345, -0.0019184656, -0.0847267, 0.03148527, 0.06449907, -0.076839246, -0.034566037, 0.114147305, -0.024244096, -0.07691169, 0.038501963, -0.1080852, 0.040208496, -0.06312811) * go_0(-1.0, 0.0); - result += mat4(-0.033068754, -0.10348481, -0.058994904, -0.114934064, 0.15838924, -0.010264998, -0.12799472, 0.020845814, -0.018875258, -0.08804753, 0.01602375, 0.12608516, 0.054035492, -0.07701545, 0.04347651, 0.06463367) * go_0(-1.0, 1.0); - result += mat4(0.017377479, -0.03754917, 0.024689697, -0.057927262, 0.0028631683, -0.05547405, 0.012137814, 0.02843827, -0.0352874, -0.19916151, 0.04784842, 0.21002018, 0.081276864, 0.011102207, -0.083124526, -0.031950574) * go_0(0.0, -1.0); - result += mat4(0.01873304, -0.09044405, 0.30275765, 0.08380349, 0.014064781, 0.09168157, -0.1864819, -0.0021196704, -0.07948197, -0.020107562, -0.03004029, -0.1622591, 0.071999714, 0.04594003, 0.008249409, -0.04092763) * go_0(0.0, 0.0); - result += mat4(0.019689152, -0.0032011836, -0.08279852, -0.098952815, 0.063363254, 0.041723877, -0.045762774, -0.07205901, -0.019022591, -0.003969965, 0.0026567664, -0.17724961, 0.013349725, -0.0045725764, 0.008257882, -0.067322485) * go_0(0.0, 1.0); - result += mat4(-0.012290499, 0.09406699, -0.07163798, 0.04803333, 0.06828126, -0.019982453, -0.08896813, -0.0040559024, 0.037249956, 0.01023478, 0.10625678, -0.15654735, 0.087492324, 0.08580872, -0.011420013, -0.021355275) * go_0(1.0, -1.0); - result += mat4(0.07686104, 0.09579432, -0.25340828, -0.07615695, -0.056016568, -0.120171346, -0.15931551, -0.029862411, 0.02335221, 0.011431254, -0.0030845958, -0.07218796, 0.07774282, 0.13269827, 0.04881306, -0.11035891) * go_0(1.0, 0.0); - result += mat4(0.044817206, -0.048356906, -0.16389881, 0.015139408, -0.07451794, 0.04694384, -0.02990636, -0.10855492, -0.21666275, -0.052773386, -0.25028092, -0.11746603, 0.077358045, 0.10103544, 0.08527534, -0.06464521) * go_0(1.0, 1.0); - result += mat4(0.03582138, 0.010487161, 0.0029515699, -0.110723086, 0.049549296, 0.14427675, -0.0609413, 0.06046345, 0.09253051, 0.1868415, -0.015272976, -0.11376719, -0.03537348, -0.09238331, -0.0036336356, 0.09587111) * go_1(-1.0, -1.0); - result += mat4(-0.015760727, 0.100032315, 0.0521871, -0.12693447, 0.032953065, -0.01678644, -0.022978857, 0.08453327, 0.052290775, -0.03598402, -0.03558539, 0.034810137, -0.12757197, 0.06762186, 0.1608983, 0.22212158) * go_1(-1.0, 0.0); - result += mat4(-0.025843577, -0.018167645, -0.048210423, -0.09630522, 0.037900604, 0.0091229845, -0.07650797, 0.27066034, 0.18431275, 0.09829389, -0.10438764, -0.048666675, -0.015207321, -0.13972227, -0.18127172, -0.007995113) * go_1(-1.0, 1.0); - result += mat4(-0.03881291, 0.07503142, -0.033570364, -0.045351487, -0.0022145896, 0.010733563, -0.020720467, 0.00081354816, 0.21934588, 0.09224533, -0.08031286, -0.038364504, -0.029873388, -0.25665647, 0.15941957, 0.025528809) * go_1(0.0, -1.0); - result += mat4(-0.09370064, 0.029663661, 0.012679274, -0.043068074, -0.028991526, 0.0574283, 0.056197148, -0.21286213, -0.26483896, -0.23181885, -0.2694775, 0.1776773, 0.26530752, 0.037465684, 0.131577, 0.18775755) * go_1(0.0, 0.0); - result += mat4(0.11927666, -0.017253317, -0.037208788, 0.12963869, 0.1836903, -0.05355178, -0.10927929, 0.088714115, 0.092516005, -0.055786908, -0.3765548, 0.22553508, -0.17434292, 0.07682209, -0.17492367, 0.07921552) * go_1(0.0, 1.0); - result += mat4(0.03987739, 0.21923572, -0.052704852, -0.03514489, -0.0008559233, 0.08740523, -0.038235787, 0.004649678, 0.023195285, 0.07912857, -0.3316638, -0.0018697636, -0.16311869, -0.08239248, -0.08974983, -0.061523616) * go_1(1.0, -1.0); - result += mat4(0.17971839, -0.10032153, 0.09912109, 0.11419959, -0.07862786, 0.18860018, -0.0054023685, -0.0063197673, -0.075057484, 0.11919032, 0.10870008, -0.0010593111, -0.028237697, -0.1403867, -0.15338054, -0.031212265) * go_1(1.0, 0.0); - result += mat4(-0.011073167, -0.021512758, -0.035089463, -0.02270197, 0.1203147, -0.0060833353, -0.06553638, -0.0131418705, 0.037314773, -0.11951629, -0.07282935, 0.18580095, 0.15012014, 0.04814535, -0.09726508, -0.06860187) * go_1(1.0, 1.0); - result += mat4(0.21669087, 0.013801443, 0.02671932, -0.044553265, 0.15349442, -0.0046121236, 0.032123394, -0.12168837, 0.0038842869, -0.023972327, -0.109120324, 0.050505854, -0.023916, 0.013567219, 0.1173681, -0.04551501) * go_2(-1.0, -1.0); - result += mat4(0.057128176, 0.14977872, 0.06343218, 0.06697086, 0.022058524, 0.07482639, -0.041569967, 0.14565067, -0.020313857, -0.07762924, 0.10456895, 0.27812317, 0.0072891894, -0.02010702, 0.025450159, -0.3102941) * go_2(-1.0, 0.0); - result += mat4(-0.055387553, -0.0821909, 0.020622486, -0.046749815, 0.14326937, 0.06796682, -0.12731776, -0.009783433, 0.068818465, -0.15524474, -0.06790948, -0.12209928, -0.0697275, -0.033641398, -0.037991934, 0.109325044) * go_2(-1.0, 1.0); - result += mat4(0.103576414, 0.1382662, 0.0076591466, 0.039789278, -0.00029025285, -0.04420823, -0.016814036, 0.23830856, 0.052784596, -0.042569418, 0.08211856, 0.0014383788, -0.09317573, 0.07717305, 0.034522586, 0.10883371) * go_2(0.0, -1.0); - result += mat4(0.20095795, -0.0762468, -0.122009076, -0.0019315446, 0.0342841, -0.002261875, 0.01336527, 0.037054777, 0.010654201, 0.0647512, 0.24071957, 0.03390332, 0.1840019, 0.026103802, -0.00016578182, -0.15023609) * go_2(0.0, 0.0); - result += mat4(-0.06991413, -0.20303409, 0.13652301, -0.075541444, 0.21606784, 0.06376107, -0.019836407, 0.30286798, 0.2425298, -0.17736211, 0.07770617, -0.19528265, -0.053150296, -0.059372786, -0.08591091, -0.22004424) * go_2(0.0, 1.0); - result += mat4(0.19765162, -0.0076910453, -0.04445224, 0.1611108, -0.050294112, 0.05884916, -0.0031236073, 0.06223903, 0.062324606, 0.035158884, -0.059429616, 0.09551932, 0.023106437, -0.015674893, 0.037365414, 0.13782242) * go_2(1.0, -1.0); - result += mat4(0.03288134, 0.24910542, -0.21833506, 0.034457803, 0.13643186, 0.13222183, 0.1179716, 0.21309394, 0.011414155, -0.063580126, 0.028173532, 0.015402401, 0.09219631, 0.15509954, 0.09644083, -0.004912005) * go_2(1.0, 0.0); - result += mat4(-0.122666344, -0.022612955, -0.18204625, -0.13870001, 0.13226813, -0.020959264, -0.15983039, 0.24193098, 0.009062403, 0.02852321, -0.07637169, -0.07182108, -0.063936904, -0.110338956, 0.08894499, 0.010865757) * go_2(1.0, 1.0); - result += mat4(-0.06311616, 0.032602638, 0.07815579, -0.085873865, -0.028512893, -0.10872674, 0.11407672, -0.1198108, 0.14156549, -0.26490405, -0.013681608, 0.17903471, 0.019571627, 0.08797144, 0.14598761, 0.1752151) * go_3(-1.0, -1.0); - result += mat4(0.060934067, -0.043878168, -0.03281894, 0.1515089, -0.031678505, 0.08898307, -0.09095997, -0.077509135, -0.028398534, -0.032485247, -0.07366146, -0.04646123, 0.03640116, 0.059365295, 0.0358693, 0.114865065) * go_3(-1.0, 0.0); - result += mat4(-0.00442871, 0.072429955, -0.18537655, -0.06719485, -0.09143303, -0.13743407, -0.0929156, -0.07207548, 0.03515558, -0.2056265, 0.043447953, -0.1127557, 0.14011581, -0.015595671, -0.044881705, 0.011502557) * go_3(-1.0, 1.0); - result += mat4(-0.11697889, -0.099679604, 0.031066136, 0.082590826, 0.10863569, -0.067363665, -0.20282263, -0.15688327, -0.042486712, -0.013625548, 0.048191063, -0.041503422, -0.04337012, 0.02459068, -0.119529836, -0.07766196) * go_3(0.0, -1.0); - result += mat4(-0.07818919, -0.21690421, 0.03777118, 0.020176264, -0.11963998, -0.20380595, -0.11266237, 0.10204603, -0.055295635, 0.042670958, 0.032413233, -0.29787624, -0.09695584, -0.06951056, -0.111144245, 0.27353725) * go_3(0.0, 0.0); - result += mat4(-0.074568786, -0.033846285, -0.11303718, 0.01347156, 0.13417509, -0.035141, 0.0549755, -0.055368077, 0.08586122, -0.06080446, -0.0649666, 0.034248006, 0.055422872, 0.0002444246, -0.05463847, -0.004172834) * go_3(0.0, 1.0); - result += mat4(0.043535687, 0.049146313, -0.08071237, 0.05743858, -0.009361048, -0.104187995, -0.05914457, 0.015472587, 0.051585488, 0.13609129, 0.039380804, -0.09487062, -0.029992107, 0.20127308, -0.016586518, -0.0118653355) * go_3(1.0, -1.0); - result += mat4(-0.11341038, -0.06534287, -0.00969141, 0.09842377, -0.15015216, -0.13036063, 0.16397302, -0.035185672, 0.014939415, 0.09231899, 0.0960422, 0.098402545, 0.05026251, -0.052272506, -0.07076674, 0.1017807) * go_3(1.0, 0.0); - result += mat4(0.09410467, 0.06965212, -0.050828446, -0.014842064, -0.05672778, 0.0034312159, -0.12667121, 0.08755347, -0.19107659, -0.14826727, -0.148465, 0.044678684, 0.12208376, 0.05630527, -0.09849773, 0.059570145) * go_3(1.0, 1.0); - result += mat4(-0.0056368727, -0.060553093, 0.06869724, -0.2671654, 0.074483775, -0.22439592, 0.03412359, -0.042746507, -0.00033218932, 0.029451698, -0.11889161, 0.02450455, -0.050221678, -0.036697924, 0.10979591, 0.006301693) * go_4(-1.0, -1.0); - result += mat4(0.14260219, -0.059394777, 0.008651593, -0.030021094, -0.10832626, -0.10480623, -0.051381744, 0.14397325, 0.10055106, -0.124934874, 0.071788386, -0.026599124, 0.21032484, -0.033513267, 0.15657996, -0.14035532) * go_4(-1.0, 0.0); - result += mat4(-0.13892077, -0.10481157, 0.035189748, -0.047936644, -0.039695438, 0.10282643, -0.04772888, -0.05615731, -0.0629154, 0.029910412, 0.016778577, 0.15581344, 0.07343337, 0.09643205, -0.007878382, 0.03907105) * go_4(-1.0, 1.0); - result += mat4(-0.013479193, -0.11390557, -0.054494295, -0.018774029, -0.07810012, -0.017801207, -0.09907588, -0.068129614, -0.0441842, 0.17567265, 0.015810724, 0.12202828, -0.09561252, 0.18990034, 0.046686, 0.07932812) * go_4(0.0, -1.0); - result += mat4(0.12950182, -0.0764622, -0.16708113, -0.041282784, -0.034567624, -0.046898007, -0.047732405, -0.16523215, -0.098671466, 0.11115384, 0.018733667, -0.030257061, 0.024691723, 0.14673457, -0.0042721583, -0.073733196) * go_4(0.0, 0.0); - result += mat4(-0.1880415, 0.058407295, -0.024268452, -0.08863777, -0.00033153518, -0.067544006, -0.14007194, 0.09763543, -0.13311495, -0.013045288, 0.080994524, -0.0021852767, 0.2526301, -0.15590498, 0.06513285, 0.008684614) * go_4(0.0, 1.0); - result += mat4(-0.16307826, -0.061499167, 0.10007602, -0.13215826, -0.007965347, 0.15285823, -0.1121792, -0.07439956, -0.07243183, 0.012338051, 0.020877926, 0.15401553, 0.079975344, -0.08843829, -0.016215425, -0.05091215) * go_4(1.0, -1.0); - result += mat4(-0.13515377, -0.22893935, -0.023000397, -0.103096426, 0.025951281, 0.13526388, -0.0009632785, -0.17457137, 0.015916126, -0.0067753294, -0.15909977, 0.03092967, -0.04734426, -0.0912585, 0.05898728, 0.26564533) * go_4(1.0, 0.0); - result += mat4(0.0035275293, 0.012649278, 0.1948556, -0.07416863, 0.02219981, 0.016499944, -0.12379185, -0.00033774113, -0.07067968, 0.07390183, -0.013505385, 0.02139018, 0.09119292, 0.10301386, 0.020239206, 0.020797301) * go_4(1.0, 1.0); - result += mat4(0.03793496, 0.047918268, -0.042518344, -0.003040927, -0.004914266, -0.06466914, 0.1054016, -0.030953595, 0.05262255, 0.059544593, 0.0012515553, 0.023376456, -0.11946804, 0.022816675, 0.12599446, -0.039031338) * go_5(-1.0, -1.0); - result += mat4(0.011011564, -0.06995047, 0.09471372, 0.073482506, -0.1361997, -0.103040315, -0.06262413, 0.11690031, 0.07043588, 0.047068246, -0.054675575, 0.038323287, 0.016909422, -0.26532903, 0.124031335, -0.15765414) * go_5(-1.0, 0.0); - result += mat4(0.1326377, -0.05869703, 0.055429142, -0.012859626, -0.15007673, 0.14602819, -0.08654888, 0.11824468, -0.059663087, -0.10994563, 0.043549772, -0.10930523, -0.019649897, -0.0034801385, 0.045497436, 0.114508495) * go_5(-1.0, 1.0); - result += mat4(-0.113787495, 0.037103496, -0.110569924, -0.059518036, 0.058745943, 0.08719483, 0.02520162, 0.025358152, -0.045150854, 0.1504978, -0.14076203, 0.0943479, 0.047369894, 0.011271822, 0.09715413, 0.028001258) * go_5(0.0, -1.0); - result += mat4(0.13310856, 0.10608291, 0.08023608, -0.18634102, 0.2721929, -0.10385782, 0.08757403, 0.20912756, 0.008799337, 0.054682046, 0.08106119, 0.051967915, -0.0420578, -0.08070327, 0.14520262, -0.11477875) * go_5(0.0, 0.0); - result += mat4(-0.046184566, 0.025668617, 0.10700355, -0.039824486, -0.2480234, 0.027258608, 0.0951336, 0.12978607, -0.05499455, -0.13601139, 0.12724544, -0.15641823, -0.0873552, -0.02188817, 0.10117889, 0.07147513) * go_5(0.0, 1.0); - result += mat4(-0.070887625, -0.042188253, -0.05307244, 0.08367565, -0.05394035, 0.032729495, 0.033332206, -0.018877268, -0.091275655, -0.0510818, 0.08523829, 0.11053021, -0.054227974, -0.03259413, 0.05457483, -0.1096016) * go_5(1.0, -1.0); - result += mat4(-0.14503245, -0.091081366, -0.13127449, -0.0807559, 0.108912565, -0.021791635, -0.11024329, -0.0138166705, 0.024161678, 0.033913497, 0.09756464, -0.053126756, -0.08025202, 0.04498814, -0.031021861, -0.02993253) * go_5(1.0, 0.0); - result += mat4(-0.25045946, -0.054898996, -0.0071393256, 0.041971236, -0.019135686, 0.08095327, 0.04526907, -0.09426112, 0.06313221, -0.044544, 0.07875577, -0.067794, 0.10187279, -0.035654344, 0.12284866, 0.03620429) * go_5(1.0, 1.0); - result += mat4(0.0943095, -0.06398471, 0.021779256, -0.010619206, -0.1617448, -0.0017947294, 0.023434827, 0.04754851, -0.046987966, 0.017030017, 0.019708563, 0.09053293, -0.067873746, -0.06164325, 0.0011462327, -0.017837046) * go_6(-1.0, -1.0); - result += mat4(0.12039112, -0.17216775, -0.07337242, 0.13252397, 0.08201477, -0.029474648, -0.0034474097, -0.13619982, -0.17575242, 0.020274922, 0.018647762, -0.28044346, -0.07714025, 0.0890905, -0.019951884, 0.05899824) * go_6(-1.0, 0.0); - result += mat4(0.0033426161, -0.01923198, 0.06659414, -0.0122886365, 0.04478331, -0.03897386, 0.12604317, 0.008812119, -0.09419456, -0.023979114, 0.21770099, -0.054838024, -0.053163752, 0.010338786, 0.04925877, 0.037819408) * go_6(-1.0, 1.0); - result += mat4(0.14372422, 2.9918947e-05, 0.01845988, 0.09333284, 0.054844312, 0.059736133, 0.021345338, -0.09120293, -0.17127307, -0.075915925, -0.119462065, -0.1835271, 0.12677628, -0.041337408, 0.03678916, 0.14712988) * go_6(0.0, -1.0); - result += mat4(0.055389576, 0.13690695, 0.02925458, -0.028905952, 0.17396308, -0.14087082, -0.026549693, 0.013602965, 0.16962606, 0.016811062, 0.062239293, -0.066154756, -0.07894684, 0.07768367, -0.10873246, -0.059606884) * go_6(0.0, 0.0); - result += mat4(0.04707709, 0.040111955, 0.15547106, 0.0143624535, -0.04931132, -0.1799645, -0.014157518, -0.11942247, -0.3786742, -0.0926198, 0.048465937, -0.16508308, -0.18456425, -0.005596354, 0.010553759, -0.14650412) * go_6(0.0, 1.0); - result += mat4(-0.12822108, -0.079825334, 0.037238546, -0.05552771, 0.0143161025, -0.0038768095, -0.11916319, 0.03297939, 0.012635646, -0.103318, 0.035178438, -0.05269534, 0.010272984, -0.076760076, -0.0404603, -0.094428495) * go_6(1.0, -1.0); - result += mat4(-0.008478651, -0.14902028, 0.1311909, -0.01592968, 0.040431064, 0.08323771, -0.20654729, 0.11949456, -0.14009294, 0.02057732, 0.06463541, -0.14152607, 0.13293357, 0.04113506, 0.1639069, -0.025289651) * go_6(1.0, 0.0); - result += mat4(-0.007400942, -0.1505565, -0.013284112, -0.015629197, 0.100692146, 0.19005777, -0.0576178, -0.027158504, 0.08660662, -0.06668144, 0.11079919, -0.074782886, -0.118196, -0.12197285, -0.008273694, 0.024818229) * go_6(1.0, 1.0); - result += mat4(0.011819537, 0.11353393, -0.086237915, -0.022234803, 0.055968612, 0.0615991, 0.025318988, 0.008080514, -0.0074833143, 0.03213514, 0.017596677, -0.04917979, -0.01020977, 0.029775353, 0.004897033, -0.10395338) * go_7(-1.0, -1.0); - result += mat4(-0.0688038, 0.058822602, -0.10180778, 0.13479604, -0.16078031, 0.13976133, -0.0018446567, 0.053424157, 0.028315792, 0.08567457, -0.043963797, -0.075502805, 0.23958415, 0.028348215, 0.028450236, -0.09978715) * go_7(-1.0, 0.0); - result += mat4(0.055084568, 0.0633926, 0.07513028, 0.067018405, 0.07824109, 0.037960775, 0.0943014, 0.04693916, -0.036844347, 0.019190654, -0.09051303, 0.08540987, -0.10541823, 0.059776157, -0.050921787, 0.044931833) * go_7(-1.0, 1.0); - result += mat4(0.09222645, -0.0042043333, -0.03341929, 0.056271244, 0.07315851, 0.12040825, 0.04529911, -0.069902666, 0.03675086, -0.15167333, -0.0731015, 0.037529152, 0.07895808, 0.19516838, 0.12074145, 0.04428294) * go_7(0.0, -1.0); - result += mat4(-0.22974864, -0.083703846, 0.007981983, 0.113407955, -0.005681401, -0.0725044, 0.08403406, -0.08046055, -0.06072271, -0.0036524318, 0.017676545, -0.019439736, -0.16989848, 0.05007473, 0.12076659, 0.03561606) * go_7(0.0, 0.0); - result += mat4(0.25000554, 0.08706544, -0.06796797, -0.029297633, 0.030483002, -0.029405795, 0.03225599, 0.1273929, 0.057500437, 0.14282806, 0.1312532, 0.06736387, -0.051108856, -0.047272597, -0.083601035, 0.08707381) * go_7(0.0, 1.0); - result += mat4(0.00104698, 0.052348208, -0.0038028702, -0.031462383, 0.16882937, 0.03287029, -0.052102886, 0.0616993, -0.13379374, -0.16625734, 0.030139674, -0.11211979, -0.06178343, 0.084902056, 0.027871864, -0.028810805) * go_7(1.0, -1.0); - result += mat4(0.13843846, 0.16980068, -0.05281067, 0.107935965, 0.05919283, -0.0379272, 0.080057494, 0.12334194, 0.016972173, -0.067814775, 0.18925636, -0.007931023, 0.21753874, 0.016326033, 0.09708944, -0.027348526) * go_7(1.0, 0.0); - result += mat4(-0.0652925, 0.080116995, -0.02714036, 0.023029007, 0.03694966, 0.014283271, 0.2425468, 0.0090831, -0.04629186, -0.09224253, 0.0074571487, 0.03976705, -0.12308334, -0.02258988, 0.02122909, -0.003723904) * go_7(1.0, 1.0); - result += vec4(0.022695603, -0.0023082788, 0.028530424, -0.014318725); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.058696087, -0.016692411, 0.25976986, 0.099469885, -0.09152728, -0.2148431, -0.08802325, -0.016499085, 0.13282052, 0.0980272, -0.1158862, 0.19684108, -0.11994136, -0.059662573, -0.016995221, -0.1027122) * g_0; - result += mat4(-0.010595027, 0.06406856, 0.23653634, 0.16295283, 0.09336285, -0.027337749, 0.015952548, 0.0376953, 0.095897034, 0.30973884, -0.08175905, -0.22890201, 0.04396234, -0.13037258, -0.025949383, -0.06218012) * g_1; - result += mat4(-0.07620231, -0.30194682, -0.076309256, 0.14013915, 0.07061645, 0.09126501, 0.1150165, -0.25510675, -0.029847346, 0.11263369, -0.02107326, -0.076345, -0.0836896, -0.10574222, 0.049557228, 0.18204224) * g_2; - result += mat4(0.31275895, 0.2131336, -0.17616041, -0.1532927, -0.0800748, 0.14726815, 0.011492155, 0.102820344, 0.10141421, -0.014893769, -0.25251386, 0.041055515, -0.10404861, -0.00033553177, -0.19449559, 0.060588796) * g_3; - result += mat4(0.16963251, -0.013009328, 0.09477736, -0.1371889, -0.057696134, -0.11377323, -0.009975633, 0.10865341, 0.018116307, -0.12912029, 0.00446529, -0.07526829, 0.21180825, 0.023429712, -0.15647651, 0.11771583) * g_4; - result += mat4(-0.10107582, -0.06897041, 0.07265895, -0.13229463, -0.032618273, -0.1995065, -0.04359697, 0.010246897, 0.08059705, -0.056275643, -0.18562363, 0.076477356, -0.032394793, -0.022298874, 0.04084915, -0.08365395) * g_5; - result += mat4(0.17930493, 0.05326699, -0.13416114, -0.20071405, 0.04909069, -0.11235366, -0.11290477, 0.054805405, -0.18932551, -0.23691942, 0.00930692, 0.055858135, -0.18744826, 0.124326915, -0.12145515, -0.05469838) * g_6; - result += mat4(-0.083303414, 0.14274205, -0.17837334, -0.22321583, 0.024028191, -0.22178806, 0.003354423, -0.13398252, 0.11718759, -0.026552575, 0.104777284, -0.16523509, 0.26287836, 0.029216014, -0.04382982, -0.1816694) * g_7; - result += mat4(0.36169127, 0.036328353, 0.38394243, -0.044287164, 0.026606947, -0.015364243, 0.040234428, -0.14585258, 0.023770748, 0.014420717, -0.18471159, 0.12606202, 0.071438275, 0.015476816, 0.11971924, -0.012690996) * g_8; - result += mat4(-0.23509689, 0.0076271794, -0.5163756, 0.08395759, -0.18723673, 0.018408693, 0.08788511, 0.15232271, -0.36024943, -0.09240755, -0.30047625, -0.17155606, -0.06985937, 0.20842774, -0.22400227, -0.21664825) * g_9; - result += mat4(-0.05239372, 0.11904273, -0.08821749, -0.04636995, -0.16663203, -0.11476132, 0.08088593, -0.03589705, -0.01017948, -0.048168585, 0.010544936, 0.13717537, 0.16119, -0.037817374, -0.0762783, 0.03526467) * g_10; - result += mat4(-0.040259548, -0.14698508, 0.10502734, -0.105779156, 0.17744789, 0.05297252, 0.021307468, -0.21976848, -0.030510878, 0.09223678, -0.09474818, 0.2469629, 0.0013956686, 0.18587582, -0.04157682, 0.1704521) * g_11; - result += mat4(0.07285109, -0.010645814, -0.07633459, 0.0998653, -0.034591697, -0.20350501, 0.10648686, 0.13691725, 0.042239573, -0.12919825, 0.08137461, -0.027513884, -0.0028005934, 0.03199354, -0.016124157, -0.058441218) * g_12; - result += mat4(0.05280611, 0.11754696, -0.10911552, 0.316396, 0.15148664, -0.061536465, -0.102609016, 0.037154227, 0.15367137, -0.042577345, 0.06558037, 0.17360497, 0.20247519, -0.032606795, -0.10807613, 0.051761452) * g_13; - result += mat4(0.0022353246, 0.11659671, -0.14492981, -0.20829871, 0.13133155, 0.12089799, 0.019354021, -0.2658604, 0.04921859, 0.22848538, 0.21938437, 0.16021933, -0.06768084, 0.134724, 0.047685273, 0.077655315) * g_14; - result += mat4(0.019583335, -0.11596351, 0.20498835, 0.13917811, -0.028330192, -0.07062669, -0.19952956, 0.08023568, 0.0053012795, -0.10001755, 0.24791576, 0.014599471, 0.18118413, 0.027773563, -0.017590087, 0.037026614) * g_15; - result += mat4(0.097719975, -0.035079796, 0.11477913, -0.13726783, 0.20932943, -0.10429427, 0.13141108, -0.19026637, -0.06115164, -0.23775233, 0.090050876, 0.031347554, 0.0350951, 0.052728195, -0.07699315, 0.24431244) * g_16; - result += mat4(0.16608196, 0.20575161, -0.40825596, 0.24043176, 0.31130707, -0.046513405, 0.14605568, -0.1021257, 0.1593242, 0.32908028, -0.13133794, -0.08078372, -0.21714397, 0.054140713, 0.15257664, -0.09940761) * g_17; - result += mat4(-0.1323459, -0.28875232, -0.01497331, 0.030733688, 0.12423061, 0.073697634, -0.2566797, 0.04460948, 0.2865253, -0.13094993, 0.06848032, -0.080888934, 0.09375976, -0.039186817, -0.26337674, -0.098654084) * g_18; - result += mat4(-0.22869076, -0.06542219, 0.15441294, 0.053751558, -0.10786946, 0.21515097, -0.12272559, 0.113470495, -0.039961167, -0.05458959, 0.056336533, -0.16626738, -0.11003154, 0.16398644, 0.21803926, 0.14490128) * g_19; - result += mat4(0.005704737, 0.050607253, -0.060669646, 0.02315674, 0.27544695, -0.05550004, -0.32093555, -0.027370991, -0.0070907134, 0.114890516, -0.037459094, 0.26141244, 0.3948764, 0.055632085, 0.12894577, 0.2616119) * g_20; - result += mat4(-0.16639514, -0.17228165, 0.2578368, 0.18405698, -0.16141811, -0.19922118, 0.0774084, 0.22068399, -0.12284921, 0.10599979, 0.039710265, -0.027798124, -0.103033185, -0.04742161, -0.30192822, -0.08567758) * g_21; - result += mat4(-0.0868937, -0.10361983, 0.023334388, 0.008042379, 0.26398548, 0.15074515, -0.052286822, -0.10586637, 0.07187348, 0.099190384, -0.1389896, -0.0019672879, -0.14919114, 0.016451705, -0.038644433, 0.04510475) * g_22; - result += mat4(0.0478762, -0.0032748727, -0.15553872, 0.17001377, 0.010854262, -0.106533505, 0.4341412, 0.24823058, -0.19182336, 0.08669677, 0.030827353, 0.05449623, 0.020789523, 0.13378422, 0.04309073, 0.30953705) * g_23; - result += mat4(-0.33780453, -0.15031691, -0.18126999, 0.023555402, 0.30662948, -0.013749685, 0.28102842, 0.008741284, -0.14455633, -0.18823312, 0.016984712, -0.261531, 0.33998242, 0.055556037, 0.07087725, -0.10207668) * g_24; - result += mat4(0.25463784, 0.04663675, 0.24814023, -0.14536841, 0.1517421, 0.13530119, -0.12027553, -0.030012354, 0.15529017, 0.06190467, -0.042643487, -0.14222258, -0.036342848, -0.029681267, -0.0059485766, -0.006802466) * g_25; - result += vec4(-0.07437017, -0.009831191, 0.0028422514, 0.015599199); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf1 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.08979697, -0.10504161, 0.16022556, 0.11341658, 0.061358813, -0.11527514, 0.104621656, 0.17846957, -0.21971604, -0.08296368, 0.059561037, -0.030467503, -0.18203235, -0.00489335, -0.13960212, -0.1846774) * g_0; - result += mat4(-0.021587428, 0.13345426, 0.002885677, -0.10446278, 0.17950022, 0.029065073, -0.32806116, 0.11106503, 0.041467514, -0.28959805, -0.033284128, 0.031551834, 0.006884119, 0.09131054, 0.02568901, -0.11571497) * g_1; - result += mat4(-0.061347164, -0.019125437, -0.14035773, 0.17835122, -0.18599916, 0.006040366, -0.10548407, 0.16857028, -0.12821414, -0.257687, 0.083109885, 0.033304747, -0.03638158, 0.089094125, -0.2121359, -0.16846325) * g_2; - result += mat4(-0.19272862, -0.040250458, -0.025220647, -0.0130254505, 0.16971767, -0.1262595, -0.17335917, -0.06738606, 0.25743198, -0.07245476, 0.034572147, 0.36634898, 0.06062579, -0.08718957, -0.03222726, -0.2564149) * g_3; - result += mat4(-0.19240691, 0.12406588, 0.3184258, -0.34774688, 0.14093249, 0.03706444, -0.111542135, 0.26256654, -0.1875004, 0.049010817, -0.28910252, -0.07044059, -0.061912216, 0.0849468, 0.044482302, -0.09588286) * g_4; - result += mat4(0.15970096, -0.0030905118, 0.28313154, 0.027417777, -0.1538593, 0.21207502, 0.13121693, -0.30331814, 0.121317744, 0.042900104, -0.022242952, 0.10603051, -0.029436313, -0.06481103, 0.1403121, -0.052515112) * g_5; - result += mat4(0.08658267, 0.1741316, -0.18155402, -0.10258272, 0.032190584, 0.066993676, 0.1354344, 0.027893255, -0.017966608, 0.23040892, 0.030393174, -0.07598643, 0.13171883, 0.18465646, 0.067950405, -0.089663) * g_6; - result += mat4(0.122048914, 0.11810184, -0.11860061, -0.26858392, -0.209042, -0.16273905, -0.055165585, -0.005811152, -0.18738034, 0.058543697, -0.039830476, -0.16113137, -0.091200404, 0.2339841, -0.021218592, 0.26669285) * g_7; - result += mat4(-0.014585638, -0.0032463232, 0.17495912, -0.08503565, -0.19564098, 0.22158442, -0.1867278, 0.0042652315, 0.03968311, 0.28752264, -0.28998294, -0.0029852116, -0.23554218, 0.16868985, 0.08550133, -0.1574371) * g_8; - result += mat4(0.49997026, -0.016691396, -0.18841855, 0.30310807, 0.100790545, 0.038233314, 0.1611522, 0.13933793, -0.22570881, 0.12208755, 0.23460633, 0.15977637, -0.03795079, -0.30355585, 0.0011402427, -0.07599262) * g_9; - result += mat4(0.1040602, 0.087594695, -0.27393925, 0.0418618, 0.06769233, 0.10341748, 0.03344078, 0.14392397, 0.19013835, -0.003081719, -0.2819769, 0.025617521, 0.09402475, -0.015399136, 0.04733618, -0.044959366) * g_10; - result += mat4(-0.060594074, 0.015600568, 0.16962534, -0.00081952167, 0.2690884, 0.04898387, 0.23332061, 0.094616964, -0.08526234, -0.07512189, 0.04900841, -0.18874052, 0.09941649, -0.040419415, -0.13692108, 0.16164334) * g_11; - result += mat4(-0.053954955, 0.28258643, -0.07396885, -0.29855832, -0.05407898, 0.014401148, -0.054173157, -0.15637222, 0.272353, -0.02170652, -0.015834406, 0.08651297, -0.11185562, -0.19492313, -0.024557848, 0.10485409) * g_12; - result += mat4(-0.08333046, -0.06798886, -0.11723233, 0.2928367, -0.029574843, 0.2017853, -0.26673993, 0.1334675, 0.017647222, 0.011599432, 0.2609211, 0.16404016, 0.16160911, -0.13806355, -0.0770869, -0.12961225) * g_13; - result += mat4(-0.19316232, 0.15813714, -0.077418946, -0.20926195, -0.16160491, -0.11846783, -0.026574116, 0.061050467, -0.18681675, -0.062164336, -0.18367381, 0.00018551799, 0.031343188, 0.2299072, -0.118061095, 0.2129531) * g_14; - result += mat4(-0.002469605, -0.042093765, -0.10694342, 0.42083347, 0.0670906, 0.30298585, 0.09004686, -0.23083562, 0.14870504, 0.17281657, -0.20583957, 0.010098754, -0.033128325, -0.111837484, 0.14905591, -0.15318894) * g_15; - result += mat4(0.036136966, 0.018714666, 0.04639626, -0.19534552, -0.10005012, -0.0117230825, -0.21940173, 0.04220659, -0.0032740128, 0.059329886, 0.14921357, -0.056334518, -0.15263896, -0.16852587, -0.044578124, 0.2628712) * g_16; - result += mat4(0.100949906, 0.004228454, 0.06405682, -0.06885952, 0.24312544, -0.33124098, -0.24260363, 0.0024199567, 0.1508378, 0.086369656, -0.08181863, -0.4503699, 0.17878622, 0.11472353, 0.16728742, -0.13093603) * g_17; - result += mat4(-0.06985756, -0.0019436302, 0.015692828, -0.013669101, -0.20771547, 0.067934655, 0.06843243, -0.09379625, -0.043609153, -0.0037825725, -0.10029127, -0.1315925, -0.079464234, -0.08471481, 0.07953321, -0.07559369) * g_18; - result += mat4(0.09396738, -0.08508011, -0.15136994, -0.05033154, -0.13346456, 0.07239574, -0.14461002, 0.03597791, -0.064514555, 0.06253932, -0.17408507, 0.037559777, -0.15963385, 0.08210336, -0.24775903, -0.01580598) * g_19; - result += mat4(0.084354095, 0.18890528, 0.07061357, 0.23486592, -0.15324847, 0.18526913, -0.34279072, -0.37405473, -0.09294527, 0.010385339, 0.19220817, -0.04336903, -0.38940063, 0.076640904, 0.17280221, -0.09818483) * g_20; - result += mat4(0.038739417, -0.07602283, 0.003676506, -0.22913142, -0.08044049, -0.19263157, -0.18030334, 0.09494168, 0.156977, -0.27044684, -0.031590268, 0.20470932, 0.28102174, 0.16872606, -0.11217233, 0.24780095) * g_21; - result += mat4(0.06689687, 0.08853936, 0.09184726, 0.22699554, -0.14092675, -0.02688781, 0.2646647, 0.026377598, 0.12483503, -0.06999643, 0.04486326, -0.0897168, -0.022117272, 0.14900659, -0.26331872, 0.104682565) * g_22; - result += mat4(0.065322906, -0.11183809, -0.17946585, -0.20076565, 0.009464183, -0.123363525, -0.07686269, 0.083753645, -0.062136367, 0.17842509, 0.17349558, -0.10999101, -0.036272816, -0.016200582, 0.10451098, 0.19585742) * g_23; - result += mat4(-0.19023383, 0.26640254, 0.26287216, 0.055038862, -0.3129526, -0.022839354, 0.009630041, 0.08733156, -0.2612418, -0.19251396, 0.058636077, -0.3330285, -0.078063555, -0.27609676, -0.020230204, -0.18260407) * g_24; - result += mat4(0.14539486, -0.21613313, -0.3492072, -0.20886984, 0.25280094, 0.01690657, 0.117284745, -0.14519997, -0.5187426, -0.14994088, 0.18306793, -0.0025114815, 0.022995003, 0.11710601, -0.05377852, 0.11480645) * g_25; - result += vec4(-0.0247107, 0.005474094, -0.09375405, -0.020514423); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf2 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14804654, -0.14173095, 0.16659345, -0.009385182, -0.020287529, -0.09633324, -0.30860174, 0.063476086, 0.01976211, -0.23352058, 0.09209867, 0.16206749, 0.08077074, -0.10959624, -0.12718476, 0.17011921) * g_0; - result += mat4(-0.3140556, 0.12636565, 0.012903826, -0.08176523, 0.14805675, 0.23573041, 0.22436617, -0.04828265, 0.13404454, -0.016488977, 0.30504864, -0.0019838111, 0.14962101, -0.00575774, 0.19882312, 0.22259174) * g_1; - result += mat4(0.16593869, 0.05078502, -0.12377358, 0.28647205, -0.10124151, 0.15258715, 0.027155356, -0.015847337, -0.054100014, 0.13954991, -0.095538475, -0.024002708, -0.12028006, 0.058690242, -0.32992294, -0.11747722) * g_2; - result += mat4(0.18058912, 0.013726746, 0.14127955, 0.14231133, -0.08689764, -0.092697755, 0.17092462, -0.039948042, 0.1217311, -0.12693831, -0.19433555, -0.10920207, -0.07334007, 0.025639182, 0.032232128, 0.10318817) * g_3; - result += mat4(-0.012409655, 0.055781372, -0.19240658, -0.23877834, -0.0960606, 0.17469998, -0.022961274, 0.063891776, 0.027615886, 0.067367285, -0.25862217, -0.29574084, -0.028999899, 0.17343716, -0.24148487, 0.1229659) * g_4; - result += mat4(0.12804163, -0.23425618, -0.33593133, -0.040897377, 0.11306302, 0.065293916, -0.05870299, -0.15702757, -0.20557828, 0.037325155, -0.21109815, 0.05123402, -0.23969208, 0.053520784, -0.27755785, -0.11555018) * g_5; - result += mat4(-0.13524376, -0.31770554, 0.0842197, 0.08805993, -0.07403083, -0.087194294, 0.012449786, 0.14015238, -0.09606474, -0.04868743, -0.011370155, 0.005927663, 0.028680688, -0.1429374, 0.27102706, 0.11689099) * g_6; - result += mat4(0.15883644, 0.09540351, 0.10983531, -0.047686223, -0.026774509, 0.08621119, -0.06392311, -0.02266724, 0.20034596, -0.013704803, 0.28371832, 0.19092667, 0.10529074, -0.12145345, -0.10676546, -0.02673637) * g_7; - result += mat4(0.0096095605, 0.03329556, 0.09830959, 0.1595078, -0.18308333, 0.14192823, -0.048857637, -0.06888825, 0.18871805, -0.061875697, -0.13133556, -0.17831984, -0.028223597, -0.16346388, 0.16018315, -0.006383535) * g_8; - result += mat4(0.26071513, 0.09806688, -0.34068507, -0.3768804, 0.011374573, -0.2450996, 0.104056686, -0.20815447, -0.3442328, 0.35717773, -0.18200488, 0.21185465, 0.30605116, 0.17752215, 0.26911554, 0.101427086) * g_9; - result += mat4(-0.041318867, 0.1009111, 0.2157564, -0.088500485, 0.07373474, -0.25785303, -0.004410731, -0.14463747, -0.1358761, 0.023295294, 0.113840915, 0.4273329, 0.05128152, 0.14215858, 0.19876923, -0.019440446) * g_10; - result += mat4(-0.23231222, -0.14272551, 0.09846874, -0.06775076, 0.0059967814, 0.062043674, -0.2065345, -0.12056687, -0.024301382, -0.34733498, -0.2054398, -0.08064672, 0.118986174, -0.05259333, 0.09134329, 0.0941969) * g_11; - result += mat4(-0.15081125, -0.03763831, -0.077403225, -0.014139531, 0.1599335, 0.043187547, -0.20010144, -0.12097138, 0.09763305, 0.103107266, 0.01814798, -0.11254244, -0.17597707, -0.05016406, -0.27989724, -0.031772614) * g_12; - result += mat4(0.054545857, 0.03135118, 0.08629934, -0.12681678, -0.049472764, 0.13161416, 0.06408171, 0.09543149, 0.14036587, 0.10973382, 0.095143825, -0.18786812, -0.04433381, 0.04301664, 0.3060177, 0.18051994) * g_13; - result += mat4(0.017087614, -0.09423588, 0.046461068, 0.0127245085, 0.16147164, 0.24400745, 0.08311569, 0.137946, -0.020603297, 0.26379335, -0.09492048, 0.16765113, 0.15279007, -0.111419536, -0.06080683, -0.10723545) * g_14; - result += mat4(0.19078189, 0.050451245, 0.075727284, -0.007865759, -0.10067247, -0.32282433, -0.08889799, 0.025485834, -0.19373515, -0.22204797, -0.08299226, -0.28381655, -0.14620808, 0.08457609, -0.15491463, -0.07288427) * g_15; - result += mat4(0.11656609, -0.14487429, -0.4425259, 0.021374635, 0.06596484, -0.12771748, -0.22535199, 0.028234273, 0.11496608, 0.019801984, -0.04632526, 0.20007893, 0.040895678, 0.083485365, 0.14834464, 0.08356117) * g_16; - result += mat4(0.02211244, 0.08450315, 0.024438182, -0.0043306663, -0.1586669, 0.024556836, -0.0056188432, 0.19931546, -0.15735053, -0.16440377, -0.10889861, 0.06196059, 0.022048898, -0.037491623, -0.34702402, 0.20129041) * g_17; - result += mat4(-0.33401018, -0.014858959, -0.08085903, -0.0008211832, 0.14658095, 0.028263792, 0.27077958, 0.0016592528, -0.025635215, 0.055104904, 0.22146593, 0.18182918, -0.06691726, -0.039572526, 0.14165977, -0.23499596) * g_18; - result += mat4(-0.013547897, -0.025930658, 0.027264774, -0.1256101, -0.051624347, 0.33928105, -0.04096477, -0.04092852, 0.061986156, 0.07382448, -0.41080087, -0.093699835, -0.217555, -0.5191564, -0.30832314, 0.05686793) * g_19; - result += mat4(-0.12603499, 0.011196643, -0.10582392, 0.120446354, 0.044026893, 0.26011583, -0.018695889, -0.12168744, -0.032591492, 0.0948056, -0.0015739531, 0.2480614, 0.16675782, 0.26526824, 0.34634092, 0.12777542) * g_20; - result += mat4(0.09301084, -0.10419714, 0.06912984, -0.17989379, -0.15554993, 0.12535709, -0.017463861, -0.17737497, -0.008574159, 0.05409429, 0.14558169, -0.22812454, 0.03895372, 0.1275974, 0.22765099, 0.057943035) * g_21; - result += mat4(-0.24794875, 0.10049649, 0.028166026, -0.23643738, -0.14107783, -0.010134537, -0.0795233, 0.04698603, 0.11822467, 0.21065955, 0.2251092, -0.19143367, -0.035236355, -0.13354316, 0.07519012, -0.003378642) * g_22; - result += mat4(-0.08100237, -0.016064119, -0.17029656, 0.13301337, -0.44654125, 0.20930994, 0.053686365, 0.20886885, 0.008915734, 0.08018005, -0.14843301, -0.1306173, -0.28592983, 0.051150486, -0.098725766, -0.068406634) * g_23; - result += mat4(-0.16141048, -0.18943654, -0.04775461, 0.08474171, -0.11267106, 0.035240255, -0.12966546, -0.0010696419, -0.0058098137, 0.13086191, -0.2514126, -0.1916487, 0.19768499, 0.046074815, 0.3501277, 0.07461552) * g_24; - result += mat4(-0.03546506, -0.00097176316, -0.174551, -0.11048581, 0.17106281, 0.01978063, 0.19416088, 0.1295629, 0.28066772, 0.09117813, 0.3837941, 0.1571746, -0.21350138, -0.16293706, 0.01890914, -0.120004654) * g_25; - result += vec4(0.0056376588, -0.032156657, 0.017695736, 0.04698144); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf3 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.30036786, -0.071122974, -0.207808, -0.104709424, -0.30407256, -0.095840186, -0.1369558, 0.37065065, 0.21078417, -0.13468549, -0.10461771, -0.06559755, -0.17034003, 0.05641996, -0.27700323, -0.1126542) * g_0; - result += mat4(0.07799722, -0.0022081465, 0.14035574, 0.11457114, -0.09680132, 0.023358248, 0.14260097, 0.06518944, -0.050158285, 0.039226543, -0.22615871, 0.022831999, -0.08471979, 0.30239135, -0.09285331, -0.18434998) * g_1; - result += mat4(-0.014649615, 0.070524774, -0.17721784, -0.14220548, 0.08645409, -0.09074901, 0.04698468, 0.053715184, 0.06270154, -0.075639635, 0.099860035, -0.090023175, 0.36329654, -0.22055952, 0.010457819, 0.07253135) * g_2; - result += mat4(-0.027649708, 0.38244903, -0.10621971, 0.2275538, -0.05934175, -0.0010945094, -0.041326273, 0.035898875, 0.03707596, 0.056224752, 0.056418143, 0.07318794, -0.11713561, 0.27461806, -0.14259866, 0.21453623) * g_3; - result += mat4(0.08535502, 0.29779312, 0.009322038, 0.033960924, 0.23723385, 0.10624898, 0.18388863, -0.1633756, -0.0005816555, 0.11368908, 0.16717602, 0.11334834, -0.05806499, -0.065826096, 0.19527037, 0.31419072) * g_4; - result += mat4(-0.1170813, 0.055507258, 0.036362253, 0.13286461, 0.026856778, 0.063697964, -0.024295578, -0.054315507, -0.19848196, 0.01567515, 0.14405379, 0.13924678, -0.047252674, -0.16682114, -0.04054276, -0.013275098) * g_5; - result += mat4(0.036398828, -0.10294437, 0.031097291, -0.23271134, 0.14264303, -0.08633302, 0.12239915, 0.018420607, -0.09747599, -0.071311615, -0.046238452, -0.17322837, 0.040957235, -0.26349834, -0.21181144, -0.05238187) * g_6; - result += mat4(-0.27340204, -0.080384396, -0.07198998, -0.05323366, 0.14557876, 0.019228118, -0.22286792, 0.20184729, -0.06020158, -0.07255352, -0.11773837, 0.15114646, 0.1300954, -0.12685491, 0.017485369, -0.14980994) * g_7; - result += mat4(-0.0071375193, -0.24509165, 0.047664706, -0.06106591, -0.1671985, 0.19413634, -0.042350926, 0.03802284, 0.07089803, -0.23365532, 0.18229541, 0.042384386, -0.055314403, 0.25988257, -0.12660997, -0.0090976395) * g_8; - result += mat4(0.3142646, 0.3923734, 0.17459705, 0.29964787, 0.043381196, -0.21502787, -0.077350974, 0.064285494, 0.2858196, 0.03305409, 0.042962402, 0.19540143, 0.13053122, -0.08383207, -0.12208418, 0.1985712) * g_9; - result += mat4(0.039936565, -0.0480129, 0.045163006, -0.0016258726, -0.06560048, -0.1440137, 0.073342375, -0.16961938, 0.05413496, -0.1767555, 0.32295126, 0.1549113, -0.03689245, -0.060345363, 0.10861416, 0.051116258) * g_10; - result += mat4(0.04611299, -0.07580715, 0.2404435, -0.02150482, -0.07586656, -0.10504455, 0.0837787, 0.14586666, -0.08992915, -0.011791581, -0.18516701, 0.18664369, -0.08699046, 0.23641954, 0.1359928, -0.008187404) * g_11; - result += mat4(-0.09519243, -0.1259728, -0.1609327, 0.0042067054, -0.022335263, -0.089343786, 0.02145024, -0.22889718, -0.082472935, 0.06351865, 0.19912359, -0.041878484, 0.03906691, -0.009029629, -0.095140696, -0.0047787162) * g_12; - result += mat4(0.2018249, 0.060700044, 0.17174731, -0.020011077, 0.08717426, 0.19148429, 0.06265732, -0.070558965, 0.15527514, 0.1371965, 0.04782656, -0.057176862, 0.005966481, -0.078806885, -0.09565087, -0.08971814) * g_13; - result += mat4(0.060476594, 0.1829843, -0.14988089, 0.097976886, 0.13092533, 0.16842246, 0.148756, 0.041732185, -0.09868615, -0.05051786, -0.17886515, -0.47046304, -0.0027662877, -0.24125081, -0.20464475, 0.18860999) * g_14; - result += mat4(-0.12249708, -0.23579642, 0.10373326, -0.11471274, -0.113536574, 0.21705507, -0.020286752, 0.14155044, 0.11744049, -0.10634323, -0.0992358, 0.29779306, 0.009242147, 0.082793355, -0.29470173, 0.09098504) * g_15; - result += mat4(-0.37456152, 0.27716953, 0.066162, -0.08820556, 0.01543293, 0.1646333, -0.029137572, -0.025982376, 0.0329685, -0.12119456, -0.06776284, 0.05002431, 0.18109421, 0.19071397, 0.031709924, 0.115208045) * g_16; - result += mat4(0.1638029, 0.07643556, 0.09049366, -0.10921795, 0.03733727, -0.15501708, 0.28316185, -0.098067865, -0.11070625, -0.009504683, 0.2291032, -0.13025075, -0.027869487, 0.011681814, -0.13047922, -0.015909566) * g_17; - result += mat4(0.1461215, 0.0023516659, 0.15640813, -0.015727978, -0.018806554, 0.017339358, -0.035492163, 0.08160196, 0.10238898, 0.16611558, 0.09202315, -0.10608295, 0.18774536, -0.0316489, 0.27076882, 0.20529412) * g_18; - result += mat4(0.17409241, -0.1274282, 0.16840927, -0.11176582, 0.09690932, -0.060094807, -0.13033284, -0.024426423, -0.029923867, 0.34295294, -0.10374731, 0.036210388, -0.21488675, -0.048156295, -0.009829659, -0.32526785) * g_19; - result += mat4(0.04754761, 0.0104225315, -0.14926155, -0.12426483, -0.18664256, 0.089919254, -0.07276312, -0.34654847, 0.08682614, 0.054667328, -0.096311085, 0.28998274, 0.2721617, -0.08974601, -0.078995354, 0.01578445) * g_20; - result += mat4(-0.16916896, 0.38615093, 0.006609843, -0.13223584, -0.091017894, -0.18239939, 0.010400899, 0.13135849, -0.056513984, -0.1355764, 0.050879743, -0.04195772, -0.041539118, -0.09790294, -0.23622996, -0.1903508) * g_21; - result += mat4(0.09427743, 0.3532207, -0.07493266, -0.018535644, 0.08661698, 0.36009344, -0.05961479, -0.13691968, 0.0118486015, -0.116584554, -0.08686342, 0.27281806, -0.041298125, -0.07257819, -0.11279752, 0.0034089864) * g_22; - result += mat4(-0.07194181, -0.087237455, 0.13797516, -0.14510183, -0.043742094, -0.060987025, 0.07932815, -0.03253621, 0.13781914, 0.056654815, -0.077196084, 0.24276413, 0.04511319, -0.051754497, 0.2584921, -0.18890971) * g_23; - result += mat4(-0.14871578, -0.1849769, -0.08268788, 0.26459882, -0.26126868, -0.23579857, 0.083229534, 0.028019072, -0.25955105, 0.20885234, -0.00086575525, -0.1324121, -0.2294164, 0.17757727, 0.021580774, -0.112975426) * g_24; - result += mat4(0.16707626, -0.19732544, 0.12970364, -0.09347803, -0.002893719, 0.1150841, 0.055206075, -0.039382495, -0.32302466, 0.14221917, -0.32339764, 0.128217, 0.05848064, -0.08679818, 0.24213648, -0.32777923) * g_25; - result += vec4(0.08522166, -0.04316711, -0.03290581, 0.024280401); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!SAVE conv2d_26_tf -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.049996123, 0.0037753412, 0.11171327, -0.0016941491, -0.1351308, -0.016908316, -0.12008028, 0.017934604, -0.23576798, -0.11245693, 0.034623243, -0.0077824593, -0.022798758, -0.0918046, 0.056376494, -0.0852944) * go_0(-1.0, -1.0); - result += mat4(-0.042078406, 0.0462532, 0.08618077, -0.062988676, -0.10412657, -0.16068575, 0.13098615, 0.10488363, 0.08369774, -0.24014251, -0.14288054, 0.0051115025, -0.05098201, 0.017541911, -0.091969706, 0.16348839) * go_0(-1.0, 0.0); - result += mat4(-0.09863232, 0.029172298, 0.026279978, -0.022673227, -0.16237566, 0.047186557, -0.060442433, -0.06543596, 0.010651123, 0.12078345, 0.03988309, -0.033051215, -0.017623032, -0.06467215, -0.077499196, -0.03731227) * go_0(-1.0, 1.0); - result += mat4(-0.09789975, -0.047156874, 0.072275974, 0.047810175, 0.073351204, 0.06080882, -0.0504122, 0.13416192, -0.18719782, -0.017421518, -0.11500351, 0.01438864, -0.23725358, 0.030091772, -0.011555881, -0.0154520385) * go_0(0.0, -1.0); - result += mat4(0.04009626, 0.048118807, 0.21038243, 0.113579415, 0.033564728, 0.05715816, 0.047044903, 0.03826532, 0.34928158, -0.16727263, 0.044896193, -0.024076954, -0.06169953, 0.08324518, -0.020400964, 0.25609145) * go_0(0.0, 0.0); - result += mat4(0.049426913, -0.001589606, 0.110197626, -0.06417527, 0.09816545, 0.069022655, 0.16802368, -0.26492468, -0.2997054, 0.1730611, 0.08062505, -0.29634264, 0.028226377, -0.043611016, -0.021552337, 0.015026776) * go_0(0.0, 1.0); - result += mat4(0.009664828, 0.08417966, 0.004710294, 0.04512053, -0.13796063, -0.060436867, 0.09477305, 0.010681176, 0.16369082, 0.037771117, -0.058654513, -0.05779409, 0.062837936, 0.13762808, -0.04270398, -0.039693095) * go_0(1.0, -1.0); - result += mat4(-0.04035726, -0.010018175, -0.09761488, 0.027615858, -0.2932504, 0.09595783, -0.010247939, 0.12914088, 0.074954934, -0.011250316, 0.032818932, -0.00031655945, 0.081004985, -0.25975922, 0.056567695, 0.029617848) * go_0(1.0, 0.0); - result += mat4(-0.030925142, 0.031268507, 0.05157384, -0.0683142, 0.012790967, -0.11101493, -0.096448496, -0.12191588, -0.05342701, -0.02193862, -0.10491984, -0.17005852, -0.019083334, -0.029902916, -0.029932162, -0.010883176) * go_0(1.0, 1.0); - result += mat4(-0.26272961, 0.01767313, 0.06840876, 0.06170754, 0.1533715, -0.020870112, 0.0013619983, 0.0063628047, 0.09512795, 0.025705237, 0.02292517, -0.09680705, 0.104165204, -0.005150637, 0.0022620503, 0.09077463) * go_1(-1.0, -1.0); - result += mat4(-0.025987439, -0.19362138, -0.11827701, -0.018033052, -0.26102337, 0.039745867, 0.08610472, 0.04178091, -0.10764665, 0.15902124, 0.09529151, -0.072073966, 0.0018068781, -0.026315978, -0.059285972, 0.061353054) * go_1(-1.0, 0.0); - result += mat4(-0.0072087953, -0.0067746546, -0.0055090594, -0.116089255, -0.0873754, -0.08443256, 0.09423432, 0.19206242, -0.19481196, -0.15465075, -0.056957036, -0.17236751, -0.064828545, -0.03765398, -0.16945066, -0.113355085) * go_1(-1.0, 1.0); - result += mat4(-0.020777022, -0.072951205, -0.080634475, -0.1378647, 0.10280296, 0.053700496, 0.066589236, 0.1102195, -0.20923318, 0.026585942, -0.013111635, -0.1566555, -0.024707625, -0.09647037, -0.005488745, 0.16878474) * go_1(0.0, -1.0); - result += mat4(-0.062108953, 0.021457171, -0.045547433, 0.27534878, -0.06961026, -0.1425844, 0.14612147, -0.1702906, 0.09655159, -0.06720136, 0.07645141, -0.32483426, 0.09822643, 0.053977653, -0.099859774, -0.018033037) * go_1(0.0, 0.0); - result += mat4(-0.007518181, 0.13359818, 0.019200008, -0.16734038, -0.033155162, -0.05867036, -0.027736064, 0.197113, 0.0062093004, -0.17742164, -0.0635093, 0.09135054, -0.1209542, -0.17591074, -0.07173482, 0.09463842) * go_1(0.0, 1.0); - result += mat4(-0.04660764, 0.14158598, 0.14268021, -0.17546305, 0.01901027, -0.08463638, -0.063629396, 0.030421035, -0.04432895, -0.20540111, 0.06508335, 0.051438946, 0.022434311, -0.01823333, -0.08936261, 0.06426393) * go_1(1.0, -1.0); - result += mat4(0.0051359776, 0.018973099, 0.2238723, -0.18587618, -0.00510518, 0.06860208, 0.07696437, 0.028153861, 0.021377275, -0.13327916, -0.12229337, -0.01568766, 0.08603219, -0.047903024, 0.11680101, 0.172795) * go_1(1.0, 0.0); - result += mat4(0.06491684, -0.060000338, 0.09330306, 0.19461864, 0.10152871, -0.068190135, -0.030164903, 0.10963834, -0.01928389, 0.048917733, -0.0380595, -0.11373895, 0.002784637, 0.058341455, -0.0026584743, -0.0762352) * go_1(1.0, 1.0); - result += mat4(-0.09245614, 0.0641394, -0.18305469, -0.0730851, -0.071057, 0.0020725452, 0.018236259, -0.06736057, -0.01118046, 0.13788253, 0.0896462, -0.06998457, -0.14505054, 0.010082331, 0.117200814, 0.023379482) * go_2(-1.0, -1.0); - result += mat4(0.089422286, 0.15383133, 0.05149837, -0.10887509, -0.14912845, 0.08700931, -0.054692674, 0.23796107, 0.13581987, 0.19063862, 0.06559309, -0.15962636, -0.09233621, 0.11181162, -0.0015238862, 0.037107922) * go_2(-1.0, 0.0); - result += mat4(-0.021216678, -0.094254285, 0.29714686, 0.05219242, -0.027367583, -0.15251665, -0.04881514, 0.10566541, -0.003742375, 0.1147835, -0.059377294, 0.024101444, 0.024573704, -0.01376458, 0.0639237, 0.023464274) * go_2(-1.0, 1.0); - result += mat4(-0.049974762, -0.049812213, -0.035952687, -0.07975192, -0.08733934, 0.012935061, 0.012323808, 0.029132953, -0.14012371, 0.014503546, 0.052271955, -0.08048593, -0.09670192, -0.18596803, 0.0049014534, -0.09166179) * go_2(0.0, -1.0); - result += mat4(-0.27029538, 0.042448614, -0.053546436, 0.33587694, -0.20740207, 0.08650326, -0.038407993, 0.055218965, -0.19328457, 0.26444808, 0.22763552, 0.14387757, -0.0064182575, 0.004315346, -0.05027504, 0.047247253) * go_2(0.0, 0.0); - result += mat4(-0.09378854, 0.096082434, -0.32475194, -0.14516386, -0.15642658, 0.087580256, -0.11695209, 0.14140406, -0.0042407443, 0.15604375, -0.06349372, 0.0332518, -0.09077285, 0.046341777, 0.17729867, 0.005213613) * go_2(0.0, 1.0); - result += mat4(-0.012175335, -0.080210514, 0.07186392, -0.1292191, -0.045594472, 0.033180896, -0.07882467, -0.016369384, -0.036098067, 0.056173183, 0.014134484, -0.09635483, -0.035036422, 0.012295909, -0.050570995, -0.05071762) * go_2(1.0, -1.0); - result += mat4(-0.07852296, -0.14363602, -0.2696814, -0.23140208, 0.042432543, 0.054118577, 0.13079426, 0.03238616, -0.0062199365, 0.10364143, 0.04025807, -0.18294595, -0.048541483, 0.034473073, -0.05157432, -0.03064744) * go_2(1.0, 0.0); - result += mat4(-0.15802932, -0.088301614, -0.06327623, -0.022001514, 0.12399852, -0.07752806, 0.18474507, 0.08271792, 0.042802274, 0.121084385, 0.04016158, 0.05801103, 0.15243745, -0.073706076, 0.03247726, -0.034610372) * go_2(1.0, 1.0); - result += mat4(-0.05754932, -0.0020197632, 0.034547523, -0.025767442, -0.111764796, 0.038152024, 0.12944956, 0.11468247, 0.11521247, -0.003172288, -0.23100266, 0.02682523, -0.18987718, -0.0988275, -0.094731934, -0.06886259) * go_3(-1.0, -1.0); - result += mat4(0.046419594, -0.03488053, -0.13166444, 0.13768785, -0.055520106, 0.06297019, 0.03289763, -0.1422938, 0.013001728, -0.055476565, -0.07185674, 0.03252722, -0.110465586, -0.10045119, -0.1742974, -0.15100808) * go_3(-1.0, 0.0); - result += mat4(-0.06659215, -0.075389504, 0.09807181, 0.022330878, -0.0036238579, 0.019668387, -0.019465934, 0.13867833, 0.08627316, -0.06437524, -0.009247871, -0.032775283, 0.031162275, -0.026913468, -0.07854525, -0.064275324) * go_3(-1.0, 1.0); - result += mat4(0.12929969, -0.045845002, 0.122178055, -0.13765322, -0.19315575, 0.10609295, -0.012858124, -0.15138301, 0.00092421344, -0.041272737, -0.04020661, -0.014201774, 0.023153054, -0.06892587, 0.043151032, -0.082591) * go_3(0.0, -1.0); - result += mat4(-0.1226463, 0.211287, 0.03002057, -0.12333966, -0.037128195, -0.0011678269, -0.0112583, -0.07352756, 0.08004182, 0.057965674, 0.042791445, 0.10084061, 0.04225309, -0.09865515, -0.17249815, -0.07437297) * go_3(0.0, 0.0); - result += mat4(0.076025665, 0.0884713, -0.012066989, -0.04832003, -0.04311184, 0.1053544, -0.20367248, 0.08647993, -0.06955368, 0.019550918, 0.041123573, -0.06755614, -0.04080657, -0.14335045, -0.11712864, 0.04404486) * go_3(0.0, 1.0); - result += mat4(0.04159164, -0.013054755, -0.0261333, -0.043317586, -0.16425997, 0.05767708, 0.093282826, 0.0033548665, 0.034810144, -0.16199782, -0.025566405, 0.0516256, 0.020652568, -0.032220475, 0.0878692, -0.0143376775) * go_3(1.0, -1.0); - result += mat4(0.10917642, 0.0011713499, 0.13042162, -0.020391129, -0.11013089, 0.112322845, 0.022569528, 0.028208349, 0.015053207, 0.1384224, 0.008139977, -0.080396585, 0.054056194, -0.028001389, 0.16363065, -0.102354065) * go_3(1.0, 0.0); - result += mat4(-0.027124068, 0.04431464, 0.06277966, -0.08408734, 0.1083615, -0.019139031, 0.13385373, 0.025223026, 0.069449954, -0.05996897, -0.08913539, 0.1719072, -0.18314564, -0.048200965, -0.05904288, 0.11065826) * go_3(1.0, 1.0); - result += mat4(0.1397537, 0.03482875, 0.061085895, -0.08213235, -0.038013548, 0.061775763, -0.07958989, -0.039170112, -0.007997508, 0.06363233, -0.026046399, 0.02864031, 0.049783155, 0.035203036, -0.066736884, -0.017477863) * go_4(-1.0, -1.0); - result += mat4(-0.13101329, -0.014451878, 0.18087699, 0.026420632, 0.02715405, 0.06287757, 0.09282424, 0.013717241, 0.15051068, 0.025210602, -0.1362185, 0.072512046, -0.026805447, -0.096076004, 0.075359784, -0.045371193) * go_4(-1.0, 0.0); - result += mat4(0.1997753, -0.025229402, -0.039842017, 0.049906187, 0.10946157, 0.034437146, 0.035051424, -0.116872676, -0.06527813, -0.022518009, -0.14611305, -0.2363843, 0.11086234, 0.11092388, 0.0953025, 0.047432534) * go_4(-1.0, 1.0); - result += mat4(-0.01308655, 0.002540069, 0.23979092, -0.086312465, -0.14689597, -0.10581318, 0.11525941, 0.1074078, 0.058305763, -0.0064075887, -0.04057873, -0.023644514, -0.008381011, 0.0006571176, -0.019561158, -0.15267508) * go_4(0.0, -1.0); - result += mat4(0.2349703, -0.050462563, -0.27430457, -0.14544865, 0.08886931, 0.016504053, -0.08630487, -0.020683536, 0.053667102, 0.09910953, -0.1255947, 0.05151626, -0.16611509, 0.037771612, 0.07399012, -0.056021243) * go_4(0.0, 0.0); - result += mat4(0.06864889, -0.11083473, 0.24705935, 0.10628464, -0.010429532, 0.14889455, -0.0096547585, 0.14353086, -0.09100641, 0.06815184, -0.028219754, -0.06055696, -0.030299123, 0.0070648026, -0.055636737, -0.083413064) * go_4(0.0, 1.0); - result += mat4(0.13953334, -0.10674898, -0.005621589, -0.118598536, 0.06328699, 0.08004188, -0.06477687, -0.094944336, -0.14355539, 0.029985419, 0.019933203, -0.10488397, 0.005380108, -0.08740668, -0.029060403, -0.11787811) * go_4(1.0, -1.0); - result += mat4(0.0698077, -0.043017045, 0.42739016, 0.1282123, -0.038907416, -0.024586748, -0.053633843, 0.010010444, 0.0746271, -0.12704432, 0.105304755, -0.007692808, -0.15972002, -0.0058001876, -0.12617123, 0.1319462) * go_4(1.0, 0.0); - result += mat4(0.24729866, 0.020104403, -0.0070631383, 0.002193169, 0.017208308, -0.03927706, -0.059690464, 0.09341524, 0.053952884, -0.04012784, 0.0013764695, -0.09322258, -0.104351625, 0.079050556, -0.23187168, -0.041067176) * go_4(1.0, 1.0); - result += mat4(0.07559282, -0.007121507, 0.064281724, -0.04208171, 0.07181849, -0.057766475, 0.03663539, -0.12584496, 0.13129482, -0.040536802, 0.06388505, 0.0648352, -0.104354285, -0.029057123, 0.025301704, 0.06797534) * go_5(-1.0, -1.0); - result += mat4(-0.012295075, -0.11266379, 0.13890606, -0.1009057, 0.049523003, -0.13013756, -0.011073384, -0.17642806, 0.033849478, -0.067286395, -0.09607259, -0.11941073, -0.07852535, 0.070990965, 0.07958681, 0.09751703) * go_5(-1.0, 0.0); - result += mat4(0.048889246, 0.02065645, -0.15117195, 0.08008445, -0.097651385, -0.09841935, -0.07810215, -0.1435448, -0.024525672, 0.17019714, -0.014132003, -0.15879974, -0.021937879, -0.047171783, -0.04241194, 0.062323704) * go_5(-1.0, 1.0); - result += mat4(0.009566434, 0.044832528, -0.10947012, 0.056282133, 0.03313318, 0.18960455, -0.0022577227, -0.059867494, 0.1788795, 0.0064581875, 0.0025646216, 0.1836115, -0.014600685, 0.048506796, -0.026321875, -0.12639087) * go_5(0.0, -1.0); - result += mat4(-0.13504559, 0.02070149, 0.0027556552, -0.14156146, -0.02051973, 0.14983834, 0.135184, 0.029648803, 0.085447244, -0.007131224, -0.02740404, -0.03306182, -0.30325142, -0.010920736, -0.1428618, 0.01473421) * go_5(0.0, 0.0); - result += mat4(0.082796454, -0.2882475, 0.033648852, 0.06780083, 0.0025427756, 0.20921779, 0.32601947, 0.037308134, -0.04941969, 0.11506637, 0.1052201, -0.16263688, 0.035793655, 0.013166956, 0.046875075, 0.15668811) * go_5(0.0, 1.0); - result += mat4(-0.12273471, 0.059235908, 0.094090715, 0.066483214, 0.055713095, -0.095081694, 0.12749717, 0.037079435, -0.04954315, -0.0015122527, 0.052462928, 0.04192708, -0.087000705, -0.103452265, -0.101238675, -0.12716208) * go_5(1.0, -1.0); - result += mat4(0.031231718, 0.04960523, 0.03801031, -0.014148782, -0.1700549, -0.027634576, -0.050683066, -0.044469405, -0.1249908, 0.051996186, -0.13499479, 0.04852528, -0.06269932, -0.14156306, -0.21684834, 0.07631763) * go_5(1.0, 0.0); - result += mat4(0.03503267, -0.1085209, 0.0032687746, 0.08419354, -0.09975144, -0.057331342, -0.06187919, 0.018815396, -0.0660197, 0.032785807, -0.044796202, -0.08464789, 0.13019373, -0.0052725035, -0.10842854, -0.1265097) * go_5(1.0, 1.0); - result += mat4(0.10843437, -0.042249955, 0.09213392, 0.058550596, 0.34286043, -0.03680263, -0.080520734, 0.081237115, -0.11101282, 0.020561857, -0.07829329, -0.07861156, -0.042642172, 0.047789782, -0.011453674, 0.08152565) * go_6(-1.0, -1.0); - result += mat4(-0.033355746, 0.15449263, -0.02909576, -0.2126907, 0.0014351727, 0.056038197, 0.051439453, -0.080944866, -0.12848341, -0.092318594, 0.008391837, 0.14316896, -0.12626244, -0.059822824, -0.028360115, 0.124106206) * go_6(-1.0, 0.0); - result += mat4(0.076065995, -0.007442306, 0.018361796, 0.047781143, 0.14859623, -0.20209388, -0.059319742, 0.18503356, 0.005876046, -0.022679027, 0.046754144, -0.081030354, -0.04880875, -0.10010487, -0.019134238, -0.068298206) * go_6(-1.0, 1.0); - result += mat4(-0.065141104, -0.014636965, 0.09252715, -0.10530383, 0.032840684, 0.0241667, 0.06169493, 0.013166986, -0.09829394, 0.102890424, 0.16348878, 0.0035222566, -0.0051632463, -0.15937272, -0.054516237, 0.060371466) * go_6(0.0, -1.0); - result += mat4(0.12154273, 0.006940688, 0.0632419, 0.050377276, 0.096380666, -0.13581754, 0.019218676, -0.118092984, -0.08397616, 0.010211745, -0.16092652, -0.018237336, -0.05521688, 0.07793925, -0.015056251, -0.010640031) * go_6(0.0, 0.0); - result += mat4(0.117333665, -0.045693874, 0.08677505, 0.18481869, 0.021715302, -0.17659235, -0.12190321, 0.069215, -0.09852735, 0.0051317047, 0.011414723, -0.010025633, -0.022104986, -0.008267602, -0.06970688, -0.01715165) * go_6(0.0, 1.0); - result += mat4(-0.04642769, -0.0048307595, 0.026597666, -0.06865938, 0.07526568, 0.010903595, -0.06291743, 0.14711984, -0.16923498, 0.05477543, -0.007967766, -0.04240283, 0.10985941, 0.034625076, -0.061943896, 0.09802212) * go_6(1.0, -1.0); - result += mat4(-0.15498288, -0.10491709, 0.04875818, 0.092458375, 0.08318519, -0.17395361, -0.11307961, -0.11352265, -0.06517359, 0.033491883, 0.1500928, 0.09595689, 0.2221886, 0.1971029, 0.03340507, 0.09907139) * go_6(1.0, 0.0); - result += mat4(0.018105853, 0.13096991, -0.08594942, -0.0069381646, -0.09303678, 0.11968446, 0.013137556, -0.18475753, -0.17404708, 0.018362308, 0.050778937, -0.14831465, -0.16454415, 0.016504198, 0.068201326, 0.019034768) * go_6(1.0, 1.0); - result += mat4(-0.059188414, 0.058179308, -0.08013644, 0.014560273, -0.0397555, -0.09598701, 0.021475889, -0.09001553, 0.06737068, -0.035820715, -0.049452264, -0.0010155657, 0.014491759, 0.002673296, -0.055191662, 0.05930104) * go_7(-1.0, -1.0); - result += mat4(-0.022511646, 0.023634708, -0.18631141, 0.023679258, -0.05573237, 0.09657504, -0.0936412, 0.047838435, -0.014578712, -0.20757015, 0.054425128, -0.06030886, 0.13558897, -0.041487727, 0.033786304, 0.07894061) * go_7(-1.0, 0.0); - result += mat4(-0.13075544, 0.15523684, -0.17299353, 0.03286955, 0.0749896, -0.06681099, -0.055989783, 0.026047809, 0.066080905, -0.15055823, 0.01607878, -0.07582076, -0.031457435, 0.0007434168, -0.05784407, -0.1401879) * go_7(-1.0, 1.0); - result += mat4(-0.052085534, -0.03877744, -0.0069224983, 0.16789192, 0.09517772, -0.08007505, 0.02462484, -0.088129416, 0.0013408829, -0.0623811, 0.0074883886, -0.06386363, -0.03685527, -0.030492947, -0.08852659, -0.050996445) * go_7(0.0, -1.0); - result += mat4(-0.11065168, -0.112389065, -0.078902274, -0.07768, 0.076662615, 0.070917815, 0.020645864, -0.0633654, -0.14201139, -0.10073064, -0.12981233, -0.14300786, -0.03800091, 0.030122137, -0.044012945, 0.040963754) * go_7(0.0, 0.0); - result += mat4(-0.06765774, -0.10985129, -0.09417687, -0.045574006, -0.0015684896, -0.08624407, -0.07156704, 0.11013036, 0.10451182, 0.05722487, -0.08562462, 0.15677613, 0.10791058, 0.030469015, -0.01489781, -0.061118122) * go_7(0.0, 1.0); - result += mat4(-0.076483645, -0.051188245, -0.026427023, -0.07758995, 0.070514984, 0.066108, -0.028824564, 0.15448493, 0.18118386, 0.025077257, -0.13165683, 0.05608995, 0.008781471, 0.052336816, -0.010705784, -0.19363798) * go_7(1.0, -1.0); - result += mat4(-0.08199591, -0.13568819, -0.039902184, 0.07975507, 0.12640685, -0.002146138, 0.014260887, -0.17183918, -0.009152956, 0.038202666, -0.2094691, -0.058618493, 0.15224771, 0.06021081, 0.11798141, -0.03590271) * go_7(1.0, 0.0); - result += mat4(-0.039392676, -0.098705426, -0.00030400066, 0.13875104, 0.033425663, 0.045219854, -0.04672713, -0.08291983, 0.0065967776, 0.09905884, -0.07684505, -0.011784174, 0.113817036, -0.049223375, 0.054426376, -0.039116792) * go_7(1.0, 1.0); - result += vec4(0.019128362, 0.03289745, -0.020459, -0.028252047); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!SAVE conv2d_25_tf -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.017471954, 0.033765998, 0.10728799, 0.05748774, 0.02781238, 0.0065988842, 0.048899, -0.111819625, -0.15673992, -0.14049643, -0.19609143, 0.06799994, 0.056545053, 0.05854318, 0.07989028, 0.06865026) * go_0(-1.0, -1.0); - result += mat4(-0.027804995, 0.28089818, 0.00939153, -0.10538561, -0.06944387, 0.040870868, -0.056329433, 0.053074345, 0.030704536, 0.0017814944, 0.11775399, -0.24013947, 0.047405023, -0.01956273, -0.025394185, -0.08049281) * go_0(-1.0, 0.0); - result += mat4(-0.052235425, -0.059296433, 0.11562215, -0.025237624, -0.0875074, 0.15221938, 0.14525545, 0.14261505, -0.03608716, -0.16691273, -0.103693224, 0.19114594, -0.08115013, -0.09270833, 0.035125177, 0.15294996) * go_0(-1.0, 1.0); - result += mat4(-0.12381403, 0.11570407, 0.038750608, -0.023706824, -0.059968557, -0.11266674, 0.0029604204, 0.13800496, -0.17783286, 0.021752914, -0.034509424, -0.028650694, -0.14898375, 0.06902978, -0.15860847, 0.009637565) * go_0(0.0, -1.0); - result += mat4(-0.025171917, 0.12672316, 0.14192998, -0.14433089, 0.064913236, -0.0022447554, -0.21268947, -0.038177896, 0.036399573, -0.21507782, 0.07123678, -0.13206129, -0.07121265, 0.0096024005, 0.22898148, 0.05494094) * go_0(0.0, 0.0); - result += mat4(0.1506902, 0.06988544, 0.13345703, 0.057807617, -0.11837313, -0.09402816, 0.013641186, -0.17395163, 0.0016941638, 0.24603452, -0.2586276, -0.17429659, -0.072540164, -0.03448174, -0.11606636, -0.08689208) * go_0(0.0, 1.0); - result += mat4(0.04652269, -0.10444236, 0.086832695, -0.10591385, -0.017574495, 0.0015303675, -0.086677074, 0.13133185, 0.10970881, -0.11243208, 0.07597016, -0.08536491, -0.15017018, 0.107406065, -0.032401532, 0.11085293) * go_0(1.0, -1.0); - result += mat4(-0.029553665, 0.038572565, 0.06975905, 0.020539641, -0.22124092, 0.18579805, -0.20957313, -0.02503689, 0.013945879, 0.20544745, 0.06853718, -0.23524883, -0.11711525, 0.05449384, -0.06129214, 0.061477955) * go_0(1.0, 0.0); - result += mat4(-0.09428423, 0.05353704, -0.08986825, -0.12206943, 0.015571677, -0.06035716, 0.03597724, 0.06506318, 0.24872549, -0.07388469, 0.10377363, -0.0035277915, 0.15126887, 0.030227851, 0.09139127, 0.1724195) * go_0(1.0, 1.0); - result += mat4(-0.08194724, -0.14544182, -0.06835661, 0.12667398, -0.003119579, -0.058695093, -0.03867005, -0.018764118, -0.021299256, 0.1767535, -0.047742914, 0.16228043, 0.0039194035, 0.108454764, -0.09458136, -0.08617982) * go_1(-1.0, -1.0); - result += mat4(-0.10684914, -0.32592118, -0.08571172, -0.0101189185, -0.003587966, 0.058117017, 0.03881399, 0.08900041, 0.13914779, 0.29735216, 0.092806034, 0.04355884, -0.2201469, -0.03196189, -0.0591701, 0.0492791) * go_1(-1.0, 0.0); - result += mat4(0.10436922, -0.21961232, -0.23891205, -0.06916029, -0.047455642, 0.053441495, 0.039798163, 0.029930444, 0.028346276, 0.11400354, 0.1262288, -0.039326813, -0.27376792, 0.046276275, -0.0708307, -0.013476013) * go_1(-1.0, 1.0); - result += mat4(0.03159886, 0.21562842, -0.014585027, -0.08378165, -0.075764485, 0.037414357, 0.05071985, 0.011949454, 0.21450044, 0.15943736, 0.046434704, 0.02799841, 0.06830587, 0.21022047, -0.021822905, -0.048930455) * go_1(0.0, -1.0); - result += mat4(0.007448671, 0.31557044, -0.14174029, -0.095406465, -0.058464147, 0.007829958, 0.054605816, 0.033241432, 0.05140908, -0.24677344, -0.11616229, 0.014348134, 0.010551736, 0.0059860707, 0.13453126, 0.009637068) * go_1(0.0, 0.0); - result += mat4(-0.19331768, 0.06736968, -0.028931534, -0.038676705, 0.12592682, -0.093849026, 0.02008791, 0.014735365, 0.37446207, -0.16751154, 0.036961526, -0.1590846, 0.021004658, -0.008121, -0.029536324, -0.004248831) * go_1(0.0, 1.0); - result += mat4(0.15364482, -0.14937145, 0.01816333, -0.018371658, -0.01705263, 0.056991376, 0.11055977, -0.14455408, 0.33668515, 0.025234248, 0.1158367, 0.038978804, -0.082735226, 0.036333524, 0.14080678, 0.07116793) * go_1(1.0, -1.0); - result += mat4(-0.03225392, 0.05972964, 0.08061265, 0.010593995, -0.03653595, -0.081596345, -0.07971582, -0.101583384, 0.30200258, 0.020900398, -0.076761626, 0.2588924, -0.19713697, -0.0039160987, 0.12071749, 0.07637735) * go_1(1.0, 0.0); - result += mat4(-0.009703355, -0.112931654, 0.10053343, -0.021120002, -0.0056891046, -0.08936862, 0.019142495, 0.086807735, -0.036430825, -0.13736516, 0.078291796, 0.13332526, 0.036317714, -0.02775869, 0.21644063, -0.021389648) * go_1(1.0, 1.0); - result += mat4(0.07151064, 0.13414513, 0.16725646, 0.05681151, 0.03014826, -0.013707471, 0.03738184, -0.076183036, 0.0013138218, -0.0045046997, -0.034409188, -0.11118198, 0.020379785, -0.018046485, -0.025136197, 0.07276152) * go_2(-1.0, -1.0); - result += mat4(-0.31872088, -0.019305777, -0.1202114, 0.28454658, 0.0105313035, -0.10189794, -0.07196168, -0.036715895, 0.13881202, 0.06850477, -0.021623109, 0.079496734, -0.06979547, -0.11332472, 0.024788616, 0.032634366) * go_2(-1.0, 0.0); - result += mat4(-0.11924803, 0.025480963, -0.076824784, 0.13637042, -0.013938593, -0.25385013, 0.05410712, 0.062499918, 0.081072375, -0.057731725, 0.049677495, -0.06418712, 0.060383555, -0.0074860845, -0.1453992, -0.032517288) * go_2(-1.0, 1.0); - result += mat4(-0.036895122, 0.036074597, 0.037811972, 0.099549554, 0.07307597, -0.018347137, -0.12284651, -0.10390334, 0.053444356, -0.124446824, -0.017259916, -0.123878516, 0.015864458, -0.037590273, 0.015383898, -0.13280766) * go_2(0.0, -1.0); - result += mat4(-0.17129786, 0.30193725, -0.63509864, 0.044185117, 0.17067964, 0.13152778, 0.013793428, -0.22130486, -0.1177694, -0.090981916, -0.1120058, -0.03206043, -0.03634814, -0.025005434, -0.041229405, 0.003946445) * go_2(0.0, 0.0); - result += mat4(-0.19944333, 0.37651125, -0.2258299, 0.15009473, -0.18867065, 0.16184928, -0.15228443, -0.11970196, 0.023598861, -0.05103017, -0.0396361, -0.014802233, 0.18477547, 0.117229566, -0.0659542, -0.04572343) * go_2(0.0, 1.0); - result += mat4(-0.031589817, -0.15478852, -0.0138067985, 0.22124025, 0.01842947, 0.019181002, -0.00199036, 0.1694457, -0.040336214, 0.03585539, -0.15060787, -0.0629436, -0.01583668, 0.08921745, -0.16015616, -0.041883018) * go_2(1.0, -1.0); - result += mat4(0.34572613, 0.08028766, 0.05118005, 0.060876332, -0.04589517, -0.07928535, 0.19742113, -0.08568548, 0.035782974, 0.032317884, -0.04522276, 0.0027367994, 0.120695986, 0.12010325, 0.08282749, -0.0039305175) * go_2(1.0, 0.0); - result += mat4(0.11901709, 0.036992844, -0.02980137, -0.12586515, 0.05982998, -0.02190856, 0.05343958, 0.029002843, -0.050481327, 0.02545951, -0.039066423, 0.0004951633, 0.08666116, -0.03562756, 0.014761862, -0.103269614) * go_2(1.0, 1.0); - result += mat4(-0.18563634, 0.043092452, -0.058314674, 0.015170002, -0.007694099, 0.1127861, 0.02553127, -0.012972445, -0.0046755355, -0.01073453, 0.021448553, 0.040810876, 0.030288234, -0.06359927, -0.06596764, 0.061660938) * go_3(-1.0, -1.0); - result += mat4(-0.012341555, -0.042663574, -0.0037670187, -0.018076867, -0.041096028, 0.054967128, -0.063933946, 0.08594425, 0.041885212, 0.096373014, 0.057978775, 0.016001241, -0.03465387, -0.063257515, -0.024798894, -0.10663954) * go_3(-1.0, 0.0); - result += mat4(0.013904101, 0.032032844, -0.11790652, -0.14560696, 0.0051183654, -0.093018, -0.038192853, -0.02419622, -0.12162447, 0.108436026, 0.031953014, 0.005816637, -0.039445993, -0.027502064, -0.074986555, -0.08383356) * go_3(-1.0, 1.0); - result += mat4(0.027069142, 0.020535026, 0.05137401, -0.022017054, -0.009511554, 0.002717326, 0.07104652, 0.14271072, -0.0809091, -0.12810269, 0.14585342, -0.030829936, -0.049544737, 0.121479005, -0.020640593, 0.07074442) * go_3(0.0, -1.0); - result += mat4(-0.020390948, -0.032292105, -0.044466075, -0.040939715, -0.09642971, 0.00013572059, 0.04400759, 0.089212894, 0.11231742, 0.00036003115, 0.2045489, 0.053579632, 0.0019167879, 0.05940128, 0.12449242, 0.07200519) * go_3(0.0, 0.0); - result += mat4(0.17566979, -0.05323988, 0.025047952, 0.026185818, 0.054906968, 0.12425456, 0.15909024, -0.045865864, -0.01796168, 0.025883837, 0.029770195, 0.071876444, 0.17989114, 0.061715063, 0.097672, -0.035693962) * go_3(0.0, 1.0); - result += mat4(-0.09611145, 0.044253152, 0.18311392, 0.012182593, 0.027319858, -0.000298763, -0.025718696, -0.0056334995, 0.02268943, -0.008492036, 0.16236448, -0.10463633, -0.004877864, -0.037485115, 0.17201148, -0.07504223) * go_3(1.0, -1.0); - result += mat4(0.038427748, -0.018089676, 0.059632216, 0.060849853, 0.042234454, -0.028407281, 0.12165844, 0.033764914, 0.02828128, 0.018331876, -0.035620198, -0.030596597, -0.05245467, -0.15661895, 0.15989384, 0.05777106) * go_3(1.0, 0.0); - result += mat4(0.0080382265, -0.05058627, 0.15177754, 0.02457983, -0.02158919, -0.02603419, 0.0043647015, -0.05269519, -0.00064104307, -0.028884081, 0.09408389, -0.008114448, 0.14760026, -0.076470025, 0.04603376, 0.018461453) * go_3(1.0, 1.0); - result += mat4(0.11306435, -0.18730852, 0.0075167455, -0.09560337, 0.0077709462, -0.07057433, 0.0035797127, -0.022853112, 0.021342495, -0.03696785, 0.01289179, 0.06829949, -0.013827679, -0.03999237, -0.04753059, 0.0466047) * go_4(-1.0, -1.0); - result += mat4(0.017390149, 0.002040908, -0.12693553, -0.32789224, 0.027319256, 0.03846405, -0.00015923935, -0.07049247, 0.16783871, -0.10079691, -0.11123616, 0.05324317, 0.13512036, -0.028285459, 0.12069438, 0.06956111) * go_4(-1.0, 0.0); - result += mat4(0.054364968, -0.16399679, 0.20564489, -0.043816883, 0.057793453, -0.10362303, -0.067307614, 0.04665986, -0.14624558, -0.12807955, -0.056192804, 0.121388845, -0.019129038, -0.012357931, 0.0026693486, 0.10578014) * go_4(-1.0, 1.0); - result += mat4(0.00028465505, -0.18237738, -0.27618593, -0.10873971, -0.09118435, -0.051416524, -0.12859847, -0.0023402795, 0.06602108, -0.041825376, -0.1211535, -0.013451067, 0.06285976, 0.026286084, -0.08663906, 0.059711363) * go_4(0.0, -1.0); - result += mat4(0.09418096, -0.16677582, 0.31493846, 0.19121769, 0.013836401, -0.14683236, 0.089372076, 0.031131288, 0.07269414, 0.029907493, 0.015037321, 0.048650477, 0.09947451, 0.1382513, 0.008702595, 0.030025264) * go_4(0.0, 0.0); - result += mat4(-0.36631888, 0.031981204, -0.1694263, -0.31440136, 0.063722916, -0.04748052, -0.25194407, -0.15265068, -0.040349986, 0.09606634, -0.062473077, -0.107912265, -0.041041367, -0.019101804, -0.0007443431, 0.20662434) * go_4(0.0, 1.0); - result += mat4(0.039134044, -0.06769877, -0.04496397, 0.058510136, 0.0539612, 0.049229577, -0.04531815, -0.09764556, -0.0072655273, 0.066220924, 0.052972153, 0.062115185, 0.07058065, 0.03482429, 0.11264238, -0.012771517) * go_4(1.0, -1.0); - result += mat4(-0.14832714, -0.26061863, -0.117175885, -0.07227297, -0.095274866, 0.06427019, -0.1720085, -0.12606795, 0.0055882256, -0.068954766, 0.040132865, -0.057916597, 0.116415136, -0.0038085836, -0.11257074, 0.16791174) * go_4(1.0, 0.0); - result += mat4(0.15208925, -0.035363015, 0.016423287, -0.011545738, 0.010486088, 0.15796964, -0.018267475, 0.04819378, 0.07893306, -0.049445417, 0.10922541, 0.056629743, -0.20051284, 0.0646689, -0.022053083, 0.006558849) * go_4(1.0, 1.0); - result += mat4(0.034261696, -0.048524413, 0.08553469, 0.18164964, 0.049066372, 0.057888642, 0.13727365, -0.04544014, 0.08169355, -0.008774393, -0.038793385, 0.012722537, -0.10232049, 0.060814742, 0.08948346, -0.045197718) * go_5(-1.0, -1.0); - result += mat4(0.10102485, 0.009672051, -0.014999783, 0.16597384, 0.14226477, 0.124397196, 0.13134599, 0.0075497227, 0.019706044, 0.02880536, 0.029863069, -0.106501095, -0.0014861296, -0.06983038, 0.100633115, 0.053191233) * go_5(-1.0, 0.0); - result += mat4(-0.024684586, 0.058772594, 0.09473553, 0.006539196, 0.16713893, 0.044055037, -0.059446193, -0.085051544, -0.13981988, -0.01050415, 0.0004877739, 0.2358795, -0.043013573, -0.02102554, 0.043523125, 0.0362912) * go_5(-1.0, 1.0); - result += mat4(-0.08964394, -0.08315431, -0.016985089, 0.069526255, 0.016692394, -0.17341077, 0.02946918, 0.0697097, 0.08705007, -0.011073351, 0.038017947, 0.024542587, 0.006911302, -0.01183356, 0.042103864, 0.10522466) * go_5(0.0, -1.0); - result += mat4(-0.08360448, 0.12198474, -0.059289638, 0.06424023, -0.07853796, -0.13322891, 0.031532466, 0.04782606, 0.014080435, 0.0020295705, -0.07157181, -0.011628711, -0.06752404, 0.103147015, -0.026804183, 0.119201295) * go_5(0.0, 0.0); - result += mat4(0.121583, -0.18472487, 0.051415585, 0.09387002, -0.12578335, -0.13457519, -0.011141069, 0.007924912, -0.15972508, 0.082277834, 0.006660031, 0.018529864, -0.048006892, -0.16195123, 0.11889123, 0.09391133) * go_5(0.0, 1.0); - result += mat4(0.0011877354, -0.03821508, 0.079352275, 0.09431855, 0.120227985, 0.12770982, -0.013714698, 0.038997453, -0.0004619692, 0.036872115, -0.13374491, 0.037702244, 0.008888777, -0.04283213, -0.11525023, 0.073225714) * go_5(1.0, -1.0); - result += mat4(0.11580729, -0.013175554, -0.1253745, 0.039527655, 0.2501712, 0.21559192, -0.17641467, -0.121261366, -0.124944955, -0.076779194, 0.020058166, 0.16612346, -0.0025809745, 0.0701927, -0.04693916, 0.056292046) * go_5(1.0, 0.0); - result += mat4(0.018906271, -0.050643444, 0.02444996, -0.024262303, -0.09815448, 0.053140316, -0.05007922, -0.12625203, 0.0458619, 0.022072764, -0.11102561, 0.038217522, -0.074741885, 0.098456666, -0.06336978, 0.03393061) * go_5(1.0, 1.0); - result += mat4(0.092316404, 0.05333801, -0.030575402, -0.081248224, 0.0079937065, 0.09291787, -0.060621336, 0.04314502, -0.0013314068, -0.12648228, -0.03434061, -0.001897616, -0.0036773146, 0.14251038, -0.056213245, -0.012823907) * go_6(-1.0, -1.0); - result += mat4(0.075125776, 0.069178015, -0.06843881, -0.023425177, -0.14221351, -0.19814956, -0.08641597, -0.040399566, -0.02199065, -0.12643565, -0.11299937, -0.09457813, -0.1383775, -0.14663833, -0.10941722, 0.07635694) * go_6(-1.0, 0.0); - result += mat4(0.0725733, 0.09736323, 0.04138415, -0.07827824, -0.07074357, -0.18943074, 0.045716334, 0.0020727555, 0.02317897, 0.06851788, -0.16416553, -0.021083718, -0.049671404, -0.084899835, -0.12828274, -0.10106359) * go_6(-1.0, 1.0); - result += mat4(0.03463169, -0.18304746, 0.0113404775, 0.08603118, -0.023727167, -0.010212168, 0.07873619, 0.094507635, -0.015712371, 0.10867139, -0.021452317, -0.0109243365, -0.008315214, 0.070175745, -0.114166215, -0.033175204) * go_6(0.0, -1.0); - result += mat4(0.12465464, 0.078011826, 0.15954973, 0.106771946, -0.18527602, 0.17714898, -0.10814003, 0.08439565, 0.05126767, 0.07982679, 0.051989906, -0.07862624, 0.0116982795, -0.10962926, 0.09563839, 0.18439959) * go_6(0.0, 0.0); - result += mat4(0.15925483, -0.17562218, 0.16054402, -0.102731735, 0.0002583934, 0.036983114, 0.011999053, 0.27471888, -0.004332959, -0.12928788, -0.08790416, -0.010699724, -0.02548459, -0.08457954, 0.05052734, 0.24577044) * go_6(0.0, 1.0); - result += mat4(0.06567454, -0.025370235, -0.05715709, -0.082185306, -0.09599352, 0.086617105, 0.0822692, 0.029309079, 0.09133301, -0.024522156, -0.03486816, 0.038204033, -0.05361194, 0.10158628, 0.063485794, 0.03969183) * go_6(1.0, -1.0); - result += mat4(-0.0048210667, 0.0764913, 0.023380734, 0.024152404, -0.06351439, -0.030418124, 0.02406592, -0.036408596, 0.061542217, -0.043871675, 0.025962725, -0.10431354, -0.052235737, -0.1482723, 0.08303624, -0.009218905) * go_6(1.0, 0.0); - result += mat4(-0.084167026, -0.096596025, -0.12425624, 0.08682868, 0.00022705906, 0.085114844, 0.16839416, -0.025412558, 0.033778172, 0.017215842, -0.065793276, -0.070195585, -0.08553574, 0.06256185, -0.06854525, 0.037209094) * go_6(1.0, 1.0); - result += mat4(0.12050404, -0.20928818, -0.11949551, 0.1291365, 0.084040865, 0.05223939, 0.043977372, -0.016835403, 0.0042935545, 0.059002463, -0.07211131, -0.118245535, -0.19188774, -0.1535305, 0.0272311, 0.105984956) * go_7(-1.0, -1.0); - result += mat4(-0.006181896, -0.28432485, -0.12084334, 0.074295126, 0.081649065, 0.055474468, 0.043172136, 0.04395295, -0.21917932, -0.10722758, -0.09593755, 0.013767353, 0.047732692, -0.045233723, 0.1499118, 0.10079427) * go_7(-1.0, 0.0); - result += mat4(0.1524887, -0.03541432, -0.036423605, 0.0036694347, 0.09287245, 0.11441246, 0.1423142, 0.0036378538, 0.096392065, -0.056260396, 0.034749147, -0.04590672, -0.04538836, -0.023286846, 0.006294474, -0.12256234) * go_7(-1.0, 1.0); - result += mat4(-0.028657515, -0.005657442, -0.009628549, 0.075619094, 0.051912576, -0.08320796, 0.062917456, 0.040294655, -0.015313034, -0.07584268, -0.025918879, 0.05634464, 0.12799169, 0.017167855, 0.022167781, -0.0989495) * go_7(0.0, -1.0); - result += mat4(0.043959383, -0.094892405, 0.09580696, 0.015563032, 0.0015867131, -0.16679575, -0.019396141, -0.24469055, 0.105518065, 0.0013712198, 0.08570463, 0.18447937, 0.0561871, 0.016862078, -0.1697556, -0.10703698) * go_7(0.0, 0.0); - result += mat4(0.046563495, -0.028334722, 0.095430285, -0.11062519, 0.1632057, -0.113526955, 0.0078005767, -0.057255816, 0.013870708, -0.1396983, 0.001675939, -0.036503952, 0.10268302, -0.08352583, 0.073321745, -0.08963458) * go_7(0.0, 1.0); - result += mat4(-0.0071791788, -0.018167714, -0.10474007, 0.13919841, 0.071997575, 0.036511123, 0.031821, 0.011350003, -0.03294527, 0.07128632, 0.0011163193, -0.046720807, -0.0044006784, -0.0154943485, -0.0124589205, -0.011068004) * go_7(1.0, -1.0); - result += mat4(0.0065815425, 0.1016602, -0.049425308, 0.05000585, -0.015566087, -0.13111699, 0.0053829947, -0.063102424, 0.04960389, -6.787479e-05, -0.08155758, -0.015248496, -0.03355637, 0.08096152, -0.044310823, 0.05465892) * go_7(1.0, 0.0); - result += mat4(-0.038555566, -0.18589461, -0.04570239, 0.06552533, 0.03866913, 0.08443401, 0.028861761, -0.032269157, -0.061593454, 0.035525497, -0.050243054, -0.06402548, -0.10291229, -0.086267136, 0.04558792, -0.002906924) * go_7(1.0, 1.0); - result += vec4(0.041304566, -0.03238812, 0.014535408, -0.017808888); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv2d_27_tf -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11443151, -0.108713426, 0.276695, 0.07989307, 0.04647579, 0.009262729, 0.1685192, 0.06342496, 3.7802124e-06, 0.11471419, 0.21862917, -0.14714405, 0.07615697, 0.008696574, 0.12699789, -0.19018881) * g_0; - result += mat4(0.12515754, 0.31493005, -0.09689205, 0.03547315, 0.014907384, -0.16497225, -0.13919856, -0.11483534, 0.12144794, -0.16309711, -0.32288572, -0.12443185, 0.069901936, 0.087048694, -0.10706947, -0.17567441) * g_1; - result += mat4(0.39898342, -0.22792721, 0.14832391, 0.2717282, -0.020610651, 0.23566288, 0.010850474, -0.17099889, -0.016039778, -0.0020831313, -0.12241154, 0.12688214, 0.0036613182, 0.036608845, 0.014307337, -0.11151725) * g_2; - result += mat4(-0.10309775, 0.13672508, -0.14171574, 0.0008346642, 0.009146607, 0.08628462, -0.08052912, -0.017026344, 0.15191628, -0.057887327, -0.19557409, 0.051096447, -0.08008495, -0.107524894, 0.2823684, -0.08889756) * g_3; - result += mat4(-0.016564824, -0.24989256, -0.2249194, -0.0651977, -0.06807716, -0.025363477, -0.027399465, -0.07455227, 0.06599263, 0.26438046, -0.051439926, 0.06316548, 0.022916218, -0.046988536, 0.029912783, 0.022940762) * g_4; - result += mat4(-0.12251786, -0.06948682, 0.22916022, -0.024786122, -0.00439896, 0.083174594, 0.036550373, -0.006298349, -0.11279929, -0.093094416, -0.034991793, 0.046064105, 0.11115092, -0.082963385, 0.05877601, -0.06852534) * g_5; - result += mat4(0.07373158, 0.09035215, 0.07685686, -0.00512534, 0.16249287, -0.30190566, -0.17152359, -0.021798678, -0.036162075, -0.14855996, 0.06671937, 0.040752716, 0.038710788, -0.05742677, -0.15890189, -0.065827206) * g_6; - result += mat4(0.08283188, -0.07847956, -0.1273862, 0.06317435, -0.045053452, -0.07436303, -0.21195294, 0.03413814, 0.0180427, -0.08224744, 0.19969232, -0.10173545, -0.0985865, 0.13246737, -0.22761853, -0.052478615) * g_7; - result += mat4(0.058520608, -0.08817867, 0.23608765, -0.073843844, 0.052322935, 0.02629083, 0.13331904, 0.06627578, 0.041870154, 0.0606517, -0.26620305, 0.09230404, 0.027014492, 0.14735153, -0.16004741, 0.09812545) * g_8; - result += mat4(0.047826007, 0.1634714, 0.11705604, 0.0708394, -0.009366613, -0.03155836, 0.077331886, -0.0031559314, 0.097498395, 0.04192316, 0.17008877, -0.2166131, 0.20248255, 0.010872594, 0.06436194, -0.13117972) * g_9; - result += mat4(0.02341538, -0.083836935, -0.3000272, -0.13124003, -0.019327922, 0.04084534, 0.1415715, -0.032898612, 0.12683785, 0.2175736, -0.18110937, 0.16924378, 0.15692717, 0.2107051, -0.11289415, 0.024807237) * g_10; - result += mat4(-0.0038417198, -0.023462469, 0.29741266, 0.41617903, -0.07855188, -0.10439054, 0.029460225, 0.19564202, -0.039808284, 0.1763466, -0.090184964, -0.34782696, -0.02403701, 0.074582, -0.12709166, 0.08750199) * g_11; - result += mat4(-0.005616591, 0.06304182, -0.040408023, -0.09645956, 0.06324051, 0.20628944, -0.3098933, 0.02254578, 0.029077038, 0.053340837, 0.063302726, 0.16661525, 0.03846741, -0.009219741, 0.116365075, -0.10009024) * g_12; - result += mat4(-0.05268469, -0.00017071658, -0.07163157, -0.21923296, -0.16725844, -0.03701403, -0.14504927, 0.014916945, 0.0009528244, -0.15782906, 0.12831807, 0.29388857, -0.016132563, 0.017562412, -0.25679052, -0.034620695) * g_13; - result += mat4(0.22927792, -0.06749382, -0.009661854, 0.17025727, 0.0079777455, -0.041601792, -0.11932827, 0.03387773, -0.09392308, 0.3402342, 0.14215328, -0.39847612, -0.1305392, -0.15584923, 0.045079015, 0.01645792) * g_14; - result += mat4(-0.04562495, 0.16534929, -0.046228826, -0.16118683, -0.14846939, 0.18226776, 0.0052598384, -0.23458757, 0.094621554, -0.10582074, 0.10714222, 0.05594153, -0.09598537, 0.113479495, -0.12497368, 0.023943413) * g_15; - result += mat4(-0.02769864, -0.26299968, 0.14559303, 0.0944326, 0.17896965, 0.10208632, -0.013210181, -0.044628892, -0.05891498, -0.026696851, -0.22334224, 0.06637618, -0.18068133, -0.25608513, -0.17188187, 0.011999808) * g_16; - result += mat4(-0.058387913, 0.0218284, -0.23960036, 0.022659982, -0.14655428, -0.2565323, 0.108330764, 0.13125636, 0.124482006, 0.16533256, -0.022780979, -0.09548541, 0.08578177, -0.006597655, -0.14589092, -0.12073695) * g_17; - result += mat4(0.056324802, 0.0128009105, -0.025639247, 0.01001398, -0.17908664, -0.06784469, -0.2604881, -0.18153118, -0.063292824, -0.051646266, -0.06044485, 0.07686661, -0.082505025, 0.22550054, -0.037884668, -0.053193748) * g_18; - result += mat4(-0.069400966, 0.0617642, 0.010582028, 0.09696695, 0.0014224951, -0.04151362, -0.12185871, 0.0012915661, 0.14637092, -0.006555717, -0.05938257, 0.13994268, -0.0066529186, -0.19960605, 0.15346165, -0.0865367) * g_19; - result += mat4(-0.2611735, -0.022063201, -0.038368087, 0.09316622, -0.038465716, -0.18126398, -0.08461157, 0.067109436, 0.057539497, -0.20445953, 0.0928182, 0.04585181, -0.24495333, 0.0065940707, -0.37708935, 0.2060806) * g_20; - result += mat4(-0.0027922213, 0.22430198, -0.14358118, 0.12783276, -0.11639961, -0.037831385, 0.13331455, 0.19188458, 0.053073954, -0.07114653, -0.058150347, 0.1569289, 0.124720514, -0.12141831, 0.1242011, 0.114829615) * g_21; - result += mat4(-0.30982205, -0.037789118, -0.023584012, -0.108513854, -0.29589918, 0.23338793, -0.053462632, 0.14759938, 0.10133443, 0.11237711, 0.055803254, -0.12062855, 0.19252913, -0.08096047, 0.07718558, 0.008393711) * g_22; - result += mat4(-0.050342154, 0.0074422276, 0.06969367, 0.08940038, -0.017735183, -0.18851873, 0.16643041, -0.3227906, -0.022566125, -0.14224024, -0.34606192, 0.046124987, -0.04396818, 0.0072183185, -0.15278862, -0.06988554) * g_23; - result += mat4(0.034391437, -0.074430875, 0.20160396, -0.072047606, 0.2027079, -0.28531456, 0.10542997, -0.03773651, -0.055301867, -0.0936597, -0.21673253, 0.07367847, -0.02038547, -0.14456849, 0.22297329, 0.35531262) * g_24; - result += mat4(-0.18277335, -0.08059337, -0.09400133, 0.15901576, 0.16223545, 0.2021658, 0.047907606, 0.056792736, 0.06719305, 0.0033384864, -0.06851851, 0.051555436, -0.040477566, 0.2388465, -0.020530254, -0.24586761) * g_25; - result += mat4(0.11648392, -0.20024611, -0.07978261, -0.24872676, 0.24125583, 0.03680705, 0.044125002, -0.14167546, 0.18336643, 0.090984896, 0.07496362, -0.17672206, 0.16514459, -0.102161184, -0.030927394, 0.08411755) * g_26; - result += mat4(-0.14201398, -0.31110483, -0.42112264, -0.11100327, -0.20474254, 0.027765524, 0.0070005557, -0.08926027, 0.044591606, -0.20539887, 0.08815937, 0.15499651, -0.15112466, 0.017493293, -0.12526624, 0.14187813) * g_27; - result += vec4(-0.04274619, -0.027823832, -0.0074941483, 0.045495618); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv2d_27_tf1 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12234858, -0.021024397, -0.008911491, 0.008654683, -0.261921, -0.08852813, -0.014769153, 0.07656934, -0.1312976, -0.0395526, -0.1335422, 0.16576755, -0.024820516, -0.050337326, -0.10896443, 0.033768054) * g_0; - result += mat4(-0.018000448, 0.013071354, 0.049299564, -0.07042542, 0.3076099, -0.02068737, -0.18147635, 0.10448964, 0.07281318, 0.010307286, -0.18882285, -0.014645502, 0.0791774, -0.21212971, 0.026508024, -0.058461342) * g_1; - result += mat4(-0.23666126, -0.018033542, 0.0024688705, 0.23144715, 0.0010496895, -0.021392277, 0.08807161, 0.026790189, 0.023468774, 0.011498715, 0.14476688, 0.18361224, 0.04218432, -0.22661938, 0.34774292, 0.113836944) * g_2; - result += mat4(-0.029370226, -0.22133234, -0.066944055, -0.24185248, -0.09880753, -0.023189416, 0.006161905, -0.07948689, 0.012845118, -0.19781755, -0.1683098, -0.10058418, -0.018076612, -0.07924661, 0.08356604, -0.23357888) * g_3; - result += mat4(0.022303218, 0.12761936, 0.022652805, -0.20914936, 0.17180137, 0.12143295, 0.09799191, -0.12665649, 0.034417123, -0.09280215, -0.0984246, -0.07475625, -0.0069865007, 0.17393745, -0.047097508, 0.086801045) * g_4; - result += mat4(-0.009374213, 0.13395758, -0.037030727, 0.069092, -0.12193983, -0.06298433, 0.22348295, 0.051750474, -0.0943686, -0.045059983, 0.23618917, -0.15909736, 0.11566603, 0.07151492, 0.013066669, -0.04950254) * g_5; - result += mat4(0.05421195, 0.1602265, 0.12650324, -0.017457927, -0.008281588, -0.09576464, -0.038360406, 0.023573698, -0.071081236, 0.18549033, -0.17457892, -0.06348481, 0.0057788654, -0.17015602, -0.2143573, -0.12245353) * g_6; - result += mat4(-0.012059985, 0.034365635, 0.038933452, 0.15287007, 0.08915255, -0.09115187, 0.020236796, -0.030026728, 0.034153678, 0.14779243, -0.2252762, 0.18940309, -0.17914702, 0.04489441, -0.016465506, 0.19653367) * g_7; - result += mat4(-0.24926579, 0.21237439, -0.07930057, 0.11889715, -0.02740544, -0.09377776, 0.039144963, 0.24697267, -0.0735153, 0.26344168, -0.15305813, -0.03005728, -0.36296624, -0.11677285, 0.08789561, 0.15614145) * g_8; - result += mat4(0.21561594, 0.027871598, 0.11443511, -0.08989617, -0.15216057, 0.31315288, 0.07875693, 0.31678453, -0.05351552, 0.0603098, 0.098363675, -0.024522562, 0.32440776, 0.04057012, 0.020779671, -0.09102291) * g_9; - result += mat4(0.030619625, 0.23956256, 0.12258182, -0.056125734, 0.047818817, 0.007024855, 0.005731205, -0.044608884, 0.14420183, -0.34504604, 0.37266588, 0.21600994, 0.14392853, 0.18355964, -0.16690119, -0.055878773) * g_10; - result += mat4(0.08539339, -0.030770814, -0.20747332, -0.14294678, 0.06483853, 0.28473207, 0.17663138, -0.14832555, -0.09196593, 0.38663465, -0.4864812, 0.024431465, -0.024223857, -0.13960868, -0.19981948, -0.0046645487) * g_11; - result += mat4(0.052366443, -0.11314741, 0.25294435, 0.12731439, 0.12228493, 0.31405678, 0.13434315, -0.124796845, -0.07093641, 0.24931367, 0.008088064, 0.057337996, 0.14562343, -0.1662442, -0.16025625, -0.008378218) * g_12; - result += mat4(-0.107468806, 0.012494604, 0.13145463, 0.0044467025, -0.20689802, -0.008778631, 0.22577581, -0.083029106, 0.024620963, -0.025284542, 0.055661917, 0.1272626, -0.03796311, 0.1556227, 0.042157676, -0.08214739) * g_13; - result += mat4(-0.04830007, 0.044968493, -0.0075896606, 0.10583585, -0.002229782, -0.061159782, -0.019315276, -0.08692975, -0.02174253, 0.10504436, -0.095099375, 0.10481533, -0.10043261, -0.103314795, 0.099944495, -0.005334155) * g_14; - result += mat4(0.12740242, 0.17563054, 0.08312964, -0.067844905, -0.04208514, 0.1110867, -0.21594112, -0.23460679, -0.13176624, 0.1059882, 0.12894152, -0.11152399, 0.09752229, 0.014816284, -0.22325674, 0.09841326) * g_15; - result += mat4(0.0653981, -0.022964995, -0.2938982, -0.0061169066, 0.03942006, 0.019700393, 0.08734106, -0.065434955, -0.067304276, 0.112637825, -0.05742705, 0.023384662, -0.2054386, 0.29436016, 0.0037892356, -0.22304635) * g_16; - result += mat4(0.088354826, 0.23902883, 0.08372811, 0.0065366016, -0.07964651, 0.24419506, -0.3911946, -0.029087873, 0.090739176, -0.049014863, 0.06988132, 0.02258769, 0.10247047, 0.12518027, 0.0008728705, -0.056853645) * g_17; - result += mat4(0.19367176, -0.041542146, -0.16576086, 0.07154839, 0.044061545, 0.16537209, 0.1270174, 0.041331172, -0.20587024, -0.065511934, -0.13275598, -0.07027002, 0.18806867, -0.03407952, 0.04837352, 0.045474067) * g_18; - result += mat4(-0.2582355, 0.17942189, 0.12967736, 0.12031099, -0.14537609, -0.041969452, -0.043003123, 0.013001321, 0.12566818, 0.0038525918, -0.08360705, 0.02547348, -0.09314052, 0.052094415, -0.08657066, 0.014753045) * g_19; - result += mat4(-0.044867773, -0.12017535, 0.06931032, 0.21013774, -0.17006443, -0.11134061, 0.052347653, 0.22170502, 0.0809573, -0.04026027, 0.058802795, 0.033606496, -0.69711787, -0.21366166, 0.32256404, 0.001037066) * g_20; - result += mat4(-0.109290324, 0.12479354, -0.0016870967, -0.2105443, -0.12823416, 0.19568188, -0.01180512, -0.0901166, -0.113193884, 0.20936523, -0.26581213, 0.14669225, -0.03157429, 0.078640506, 0.1446152, -0.10513303) * g_21; - result += mat4(-0.12432017, 0.09697878, -0.09566158, -0.1560019, -0.04478926, 0.08118913, -0.023159185, -0.08924593, 0.07948424, 0.13116947, 0.08267777, 0.041434366, 0.12660475, 0.21119997, 0.040758017, 0.010252911) * g_22; - result += mat4(-0.07343955, -0.11137574, -0.20888542, -0.010525646, 0.08654566, -0.25162008, 0.0015843184, 0.2251664, -0.16099241, -0.05303513, -0.010290805, -0.19370262, -0.09699956, -0.021551458, -0.28225294, -0.012553028) * g_23; - result += mat4(0.13522272, -0.037814137, -0.17619848, 0.059898973, -0.19553477, 0.17938456, -0.27291644, -0.0061011547, -0.010751843, -0.035017565, 0.03794967, 0.31951827, -0.18536541, 0.13390224, 0.0263642, 0.0029341222) * g_24; - result += mat4(-0.12729633, -0.14954208, -0.12916204, 0.22230428, 0.11732888, 0.008057732, 0.07490304, 0.13995908, 0.061645962, -0.16856796, -0.03455527, -0.37620506, 0.22656745, -0.15411325, 0.131253, -0.03256949) * g_25; - result += mat4(0.102106966, 0.16285823, 0.07355709, -0.06602972, 0.15325125, -0.16784416, 0.1471553, -0.14970179, 0.1314055, -0.036945526, -0.014696616, 0.06697295, 0.07670483, -0.013443979, 0.10073605, 0.114370696) * g_26; - result += mat4(0.14675961, -0.21042137, -0.10476935, -0.003657964, 0.013142314, 0.025201753, -0.0875375, 0.17088741, -0.32458684, 0.23715518, 0.07397589, -0.028977808, 0.049964994, 0.03821004, -0.01645503, -0.16695203) * g_27; - result += vec4(0.013880447, -0.06316735, -0.020679189, 0.0052526686); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv2d_27_tf2 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.019710967, 0.08727079, 0.13289316, 0.03551607, 0.0777452, -0.112196796, -0.16325843, 0.1558316, -0.022001125, -0.2075691, 0.11862199, 0.02857829, 0.020248298, -0.0094446875, -0.07760552, -0.117990285) * g_0; - result += mat4(-0.29817292, 0.10518408, 0.21746357, 0.05733823, 0.03669798, -0.08149275, -0.10093382, 0.008025974, 0.041065153, 0.13907155, 0.03632113, -0.13297954, 0.060014922, 0.17260654, -0.19085334, -0.08275422) * g_1; - result += mat4(0.12151083, -0.14669828, -0.1620568, -0.16574967, 0.074872755, 0.19607818, -0.3769676, -0.058607124, 0.033677254, -0.056256827, -0.16380833, 0.20182659, 0.04105756, -0.014290442, -0.113356315, 0.09061605) * g_2; - result += mat4(-0.24904074, 0.01590407, -0.003319224, 0.022379734, -0.06170071, -0.10397567, 0.15287766, 0.088777915, 0.020472175, -0.06658154, -0.11527278, 0.018785367, 0.1344412, 0.17483887, 0.09392446, 0.14208129) * g_3; - result += mat4(-0.12065394, -0.07425183, 0.19492783, -0.0121520795, -0.21886127, -0.22013198, 0.21618968, 0.1857871, 0.012718742, 0.27063718, 0.2922766, 0.14129776, 0.15681101, -0.11397562, 0.2161061, 0.28459883) * g_4; - result += mat4(0.18279836, 0.059465416, -0.2686552, 0.08636607, -0.2511355, 0.105158694, 0.16153961, 0.0084084505, -0.2347149, -0.24694109, -0.06095133, -0.13584507, 0.1535036, -0.070038, 0.14755426, 0.15813471) * g_5; - result += mat4(0.05638502, 0.12059284, 0.119747244, -0.025995718, 0.018165832, -0.16386032, -0.0039485083, -0.12419894, -0.18031433, 0.0659284, -0.048997298, 0.05746441, 0.0037581213, 0.0475356, 0.026042571, 0.0461644) * g_6; - result += mat4(0.29047623, -0.03317755, 0.012561449, 0.0762115, -0.22357285, 0.09418904, -0.1308704, 0.03420321, 0.3186606, -0.08401149, -0.06973756, -0.1454678, 0.1048745, 0.12291292, -0.014862143, -0.1947549) * g_7; - result += mat4(0.24438359, -0.33590525, 0.08984905, 0.3105651, -0.116628, -0.25711998, 0.114802435, -0.062869534, 0.26591647, 0.016051942, 0.14616686, -0.012595678, 0.31504416, -0.2826693, 0.25454178, 0.13212447) * g_8; - result += mat4(-0.012505105, 0.25267395, -0.34087932, -0.11540549, 0.23704751, 0.20673543, -0.15236458, 0.08962316, 0.19622429, 0.12039237, -0.1578033, -0.0637722, -0.21207733, -0.03394972, 0.22895417, 0.15027094) * g_9; - result += mat4(-0.14031585, -0.035249453, 0.079809986, -0.16434458, 0.10221193, 0.035313964, 0.018961012, -0.16648005, 0.30393958, -0.1710883, -0.19866116, 0.44803715, 0.0661874, 0.08189988, 0.08553425, 0.28069958) * g_10; - result += mat4(-0.19560876, 0.13451014, 0.13100468, 0.35829562, -0.15475325, 0.02990502, -0.0061779036, -0.22534068, -0.33936733, 0.27095476, 0.14239429, -0.5767695, 0.087701306, -0.1332555, 0.05407353, -0.21649647) * g_11; - result += mat4(0.08749871, -0.2221962, 0.14391874, -0.073948324, -0.025453761, 0.12343736, 0.17743391, -0.07681618, -0.40484402, 0.19426289, -0.09875697, 0.01706343, 0.03982282, -0.17358004, 0.26000148, -0.115895495) * g_12; - result += mat4(-0.13025936, 0.2896371, 0.05801185, 0.08293986, -0.0893019, 0.039711192, -0.16405399, 0.12870799, 0.003430463, 0.09525632, -0.16785814, -0.11364755, -0.18278702, -0.016319456, -0.047153126, -0.020832052) * g_13; - result += mat4(0.082251646, 0.029341506, 0.17133091, -0.18122095, 0.14725228, 0.11916899, -0.28950807, 0.03370702, 0.0347592, 0.032789018, -0.045912996, -0.19743393, -0.19047977, -0.00169078, 0.10430928, 0.09070872) * g_14; - result += mat4(-0.092634596, -0.010618818, -0.03247302, 0.036561195, 0.11044694, 0.12613513, -0.028009905, -0.29851934, 0.087764055, 0.03672974, -0.018752236, 0.13566239, 0.12001229, 0.11018802, -0.11403856, 0.12471705) * g_15; - result += mat4(-0.0038836685, -0.2424455, -0.15008962, 0.082429685, -0.027996138, -0.03844133, -0.15668187, -0.04586779, -0.0009184358, -0.04966999, -0.143867, -0.11818294, 0.014227782, 0.17745559, 0.1543326, 0.12324403) * g_16; - result += mat4(-0.19125207, -0.072080135, 0.22001915, -0.15000911, 0.006092946, 0.0276868, 0.049183417, -0.023606265, -0.055075668, 0.0023213453, -0.006831625, 0.054617073, 0.028141601, -0.28144443, -0.15619376, 0.012505551) * g_17; - result += mat4(-0.002071177, -0.25345835, 0.28130552, 0.02935035, 0.021427564, 0.076878846, 0.10711918, 0.17818032, -0.16705897, 0.0842015, 0.025515607, -0.04167417, -0.06023519, 0.03835697, 0.02799301, -0.15039864) * g_18; - result += mat4(0.065405816, 0.13527295, 0.0067324284, -0.12423678, 0.021669216, -0.082277656, 0.14112775, -0.18604228, 0.13923156, -0.09100899, 0.048483785, 0.022520756, 0.14296904, -0.109883346, 0.006980882, -0.07817121) * g_19; - result += mat4(-0.037226293, -0.110121734, 0.07505908, 0.11474654, 0.209037, -0.026594287, -0.04906321, 0.25379568, 0.18203714, -0.0306505, -0.30535626, -0.015043494, -0.12235582, 0.25040084, -0.6705801, 0.1575759) * g_20; - result += mat4(0.18554471, 0.22335277, 0.22220112, 0.16374512, -0.14779869, -0.013078052, 0.14746222, -0.06868247, -0.17210856, 0.13750106, 0.13263366, 0.056304373, -0.20586984, 0.009876655, 0.23746644, -0.11166203) * g_21; - result += mat4(-0.26620933, -0.0082564615, -0.078228526, 0.2707986, -0.20045628, -0.08139448, 0.0045745936, 0.09325633, -0.05672884, -0.0876488, 0.074889794, 0.13535088, 0.009728256, -0.009059547, -0.20067231, -0.17888282) * g_22; - result += mat4(0.18152374, 0.012155946, -0.17208481, 0.017410867, -0.13088197, 0.008807619, 0.075113654, 0.101879686, -0.071657784, 0.19019592, 0.15560628, -0.07696461, -0.14242226, -0.12567873, 0.048841417, 0.09410027) * g_23; - result += mat4(0.097054265, 0.17632675, 0.070473716, 0.007048641, -0.042248275, -0.15942219, -0.20265426, -0.11571704, 0.06452315, -0.07014653, 0.15223622, -0.046541333, -0.024594152, 0.19610131, -0.020526761, -0.11271823) * g_24; - result += mat4(-0.033343684, 0.08648372, 0.10469339, 0.015983986, -0.0068075475, 0.11311371, 0.179533, -0.11297559, 0.33167574, 0.086799785, 0.042009678, -0.27057844, 0.077861145, 0.09749471, 0.06263665, 0.09029921) * g_25; - result += mat4(-0.17208366, 0.1823461, 0.05647835, 0.10694644, -0.3164003, -0.0020529446, -0.01364865, -0.03349827, 0.12650657, -0.13572167, -0.07308267, -0.06336381, -0.05660443, -0.043583434, -0.28769398, -0.27051786) * g_26; - result += mat4(-0.03592598, -0.4689105, 0.24144898, -0.030977558, 0.002880143, -0.3730606, 0.14906044, -0.07306277, 0.021631535, 0.29016364, -0.10610739, -0.04341038, 0.08593863, 0.07535527, 0.137121, 0.040470026) * g_27; - result += vec4(-0.0023638057, -0.06318492, 0.031060705, 0.012420308); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv2d_27_tf3 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.104180515, 0.21909867, -0.0016195358, -0.00827801, -0.17956465, 0.008882964, 0.095886044, -0.12801364, 0.24021642, 0.23698345, -0.17307688, 0.024737755, 0.24745077, -0.121220514, 0.00431543, 0.11270653) * g_0; - result += mat4(0.15997665, 0.017852405, 0.05119178, -0.15482607, 0.0473513, 0.102561824, 0.10925874, -0.088492356, -0.07925148, -0.0009926077, -0.1836283, -0.027848043, 0.078280285, 0.007133711, 0.010975833, 0.06212348) * g_1; - result += mat4(-0.05369238, -0.3801088, 0.6358423, 0.13610448, -0.17373526, -0.06838332, -0.026865637, -0.22185935, 0.031365998, -0.24836074, 0.07786585, 0.12845472, -0.10230717, -0.090312645, -0.12451369, 0.012365612) * g_2; - result += mat4(-0.11176632, 0.1129991, 0.19114831, -0.02778793, 0.17413953, -0.07105402, 0.062856786, 0.03620729, -0.08253814, 0.18052185, -0.23623717, 0.00784666, 0.2294231, -0.0063698697, -0.007017217, 0.19971047) * g_3; - result += mat4(0.053607754, 0.128326, -0.08556963, -0.3267408, 0.2113072, 0.04600726, -0.087273054, 0.043838777, -0.013094107, -0.07035021, 0.06061421, -0.042725533, -0.2515608, 0.05992034, -0.00080709986, 0.053383853) * g_4; - result += mat4(-0.1296537, -0.028914798, 0.12485024, 0.32676205, -0.15098321, -0.050126188, -0.10485253, -0.22199424, 0.004325448, 0.11900305, 0.03579892, -0.06502462, 0.09748344, -0.23620753, -0.08606443, -0.12277768) * g_5; - result += mat4(0.06351925, -0.09474517, -0.030183055, 0.26909778, 0.012661174, -0.12511827, 0.07635961, -0.16331388, -0.07982632, -0.012759043, 0.03974436, -0.07089404, 0.114191614, -0.1768194, 0.20276785, -0.20046876) * g_6; - result += mat4(0.118645184, -0.015464144, -0.13408852, -0.031532094, -0.036670644, 0.25638598, -0.08346215, -0.16632739, 0.10724415, 0.031202447, 0.06494471, 0.080996215, -0.1531831, -0.049804404, 0.06983809, -0.18219711) * g_7; - result += mat4(0.057444304, 0.06428333, -0.2427994, 0.06495019, -0.2475473, 0.051088843, 0.14431933, 0.04322744, -0.0065100784, -0.07879368, 0.27862424, -0.015107099, 0.48285982, 0.07512295, -0.13956147, -0.5293498) * g_8; - result += mat4(-0.04977926, 0.057724383, 0.005400039, -0.07485926, 0.099736564, -0.19428918, 0.3085949, -0.09256943, -0.007471054, 0.15845904, 0.024014933, -0.22958547, 0.05363298, -0.2262346, -0.08504123, 0.010983667) * g_9; - result += mat4(-0.0011897761, 0.01905553, -0.07040949, 0.13073099, 0.07718515, -0.00919502, 0.16790766, 0.15093194, 0.07811035, 0.59745634, -0.038061313, 0.33472347, -0.046432715, -0.042526003, -0.042819142, 0.015483182) * g_10; - result += mat4(0.16497271, -0.1832641, -0.06919869, -0.0699354, 0.1622412, -0.009429784, -0.042264223, -0.5095821, -0.22293803, -0.22964719, -0.24294993, -0.2749919, -0.24561481, 0.03678232, -0.040695712, 0.04990986) * g_11; - result += mat4(0.17668974, -0.14166051, 0.048939627, 0.054249138, -0.07022914, -0.008821423, -0.056008007, -0.21688782, -0.14373022, -0.10112909, -0.26707867, -0.27844477, -0.13381785, 0.024470683, -0.18647262, 0.07304338) * g_12; - result += mat4(0.1254997, 0.3412491, -0.11075748, -0.044977497, -0.2579634, 0.19033371, -0.12924103, -0.10767467, -0.18661416, -0.006703569, 0.11859471, 0.011905839, -0.15832269, -0.09578297, -0.050546784, 0.05611259) * g_13; - result += mat4(-0.031839076, 0.24811439, -0.048889633, -0.10886483, -0.021840971, 0.07242472, 0.07856694, 0.21579736, 0.24734874, 0.002823113, 0.20664278, 0.07515607, -0.035989497, 0.025168674, 0.012789844, 0.04219985) * g_14; - result += mat4(-0.029561277, -0.027150908, -0.2285595, 0.0623451, -0.21524262, -0.0495648, -0.26751977, -0.099391095, -0.11575608, 0.18860719, -0.26475087, 0.10348319, 0.1349935, -0.22972155, 0.07882446, -0.018600948) * g_15; - result += mat4(0.11091095, -0.19174413, 0.0066961353, -0.028952863, -0.07400654, -0.1074968, -0.09721747, 0.02431324, 0.028736848, 0.050277565, -0.0013741596, -0.031192824, -0.03777562, 0.05401314, -0.06783531, 0.19289261) * g_16; - result += mat4(-0.23818627, 0.22782011, -0.168649, 0.0773027, -0.29677773, 0.028283251, -0.032741956, 0.22565849, -0.059789155, -0.08474369, 0.25028643, 0.051620036, 0.06692328, -0.14508602, -0.0667097, -0.14061047) * g_17; - result += mat4(0.13310762, -0.12951846, 0.06509994, 0.040003385, 0.049557522, 0.18617095, -0.09436182, 0.059164654, 0.11599615, -0.004864734, -0.07653804, 0.00014459781, 0.13770443, -0.14924237, 0.07231551, -0.016222041) * g_18; - result += mat4(0.10529918, 0.08091443, -0.11911098, 0.12648894, -0.12755243, -0.051939204, -0.14069635, 0.032026708, 0.00019522365, -0.0022558924, 0.21253237, -0.13399132, 0.1323077, 0.17119333, -0.12659132, 0.09258308) * g_19; - result += mat4(-0.18063812, 0.06042027, 0.13172136, 0.17522804, 0.1790162, -0.32260424, 0.012049487, -0.29769227, 0.027918922, 0.07017221, -0.0750346, 0.014930939, -0.1885921, 0.26602972, 0.026115637, 0.3200164) * g_20; - result += mat4(0.38229984, -0.054856207, -0.30004284, -0.096048094, -0.045444023, 0.12204156, 0.01020938, 0.05631701, 0.18008712, 0.08312059, 0.14788924, 0.04911914, -0.089370966, 0.072039425, -0.045207575, -0.06889737) * g_21; - result += mat4(0.32740393, 0.1746514, -0.10657198, -0.021967173, -0.002292727, 0.15766911, -0.2148169, -0.024471002, 0.24356085, 0.039451532, 0.008314017, -0.09937661, 0.1613525, -0.2391406, -0.029003207, -0.0159854) * g_22; - result += mat4(-0.16562004, 0.041117836, 0.19213973, -0.14429536, 0.30970034, -0.07554239, 0.029687773, -0.024070954, -0.08167974, -0.004404698, -0.03143552, 0.042981133, 0.06546435, 0.16990507, -0.21680567, 0.06390797) * g_23; - result += mat4(-0.03591141, 0.020884542, 0.023933852, 0.022759074, -0.029971978, 0.11930571, -0.086772785, 0.19787759, 0.030405317, -0.13947894, 0.07441769, 0.00034632036, -0.07164358, 0.057664413, 0.37139198, 0.06278644) * g_24; - result += mat4(-0.051113605, 0.05665, -0.020249806, 0.16835532, 0.05984608, -0.08224659, 0.12696908, 0.13570228, -0.068349294, -0.099196844, 0.120686345, 0.055186067, 0.07618209, -0.026192036, -0.14863594, 0.06333659) * g_25; - result += mat4(0.058455057, -0.088729665, 0.15909332, -0.012666964, 0.10028206, 0.03833605, 0.13993295, 0.031959523, 0.096895166, -0.03811847, 0.13775149, 0.02438105, -0.2683284, 0.111006245, 0.10954929, 0.025493354) * g_26; - result += mat4(-0.13692367, 0.14800175, 0.012824838, -0.071239576, 0.0888179, 0.22001815, -0.11865171, 0.069108665, -0.25402087, 0.10172734, 0.30485952, -0.067486994, 0.0008256393, 0.0869447, 0.22277334, 0.21455327) * g_27; - result += vec4(0.028628629, 0.06234057, -0.040859535, 0.012304189); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv2d_27_tf -//!BIND conv2d_27_tf1 -//!BIND conv2d_27_tf2 -//!BIND conv2d_27_tf3 -//!SAVE conv2d_28_tf -//!WIDTH conv2d_27_tf.w -//!HEIGHT conv2d_27_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_27_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_27_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_27_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_27_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv2d_27_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv2d_27_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_27_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_27_tf3_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.15947562, -0.08088179, -0.018287092, 0.07388169, 0.055656206, 0.012508511, -0.014822504, -0.026112063, -0.0355522, 0.21059254, -0.010861626, -0.12473264, -0.064066336, 0.05059408, 0.17477006, -0.013565353) * go_0(-1.0, -1.0); - result += mat4(-0.21434227, 0.31677282, -0.03516674, 0.04986214, 0.05526597, 0.09660516, -0.14319508, 0.018978575, 0.22303632, -0.016273327, -0.007631538, 0.06443882, 0.05512332, -0.041881822, -0.08996631, -0.098337024) * go_0(-1.0, 0.0); - result += mat4(0.00890349, -0.08083122, -0.18154235, 0.16016848, 0.036409512, -0.03464171, -0.066068955, -0.040363487, 0.011614476, -0.010766412, 0.115901425, -0.20064755, -0.046192054, 0.11930149, 0.14467944, -0.059644654) * go_0(-1.0, 1.0); - result += mat4(0.11164375, 0.16459064, -0.09998619, -0.009961483, -0.04288467, 0.10108012, -0.10405018, -0.19669667, 0.052263748, 0.26811314, 0.1365987, -0.10233866, 0.16488834, 0.19555828, 0.071872376, 0.082796656) * go_0(0.0, -1.0); - result += mat4(0.18249479, 0.11808829, -0.0022341073, -0.032062545, -0.11052209, -0.0013532481, 0.016538607, 0.08067115, 0.16962177, 0.07064662, -0.07810613, 0.010294429, 0.08434929, 0.10127592, -0.029486863, -0.3255432) * go_0(0.0, 0.0); - result += mat4(-0.057793867, -0.0521884, 0.19243455, 0.02239359, -0.034333054, -0.07780034, -0.0073473672, -0.021267103, 0.06721728, -0.010699848, -0.046675183, -0.10781791, 0.0678299, -0.029241193, -0.110838145, -0.06508165) * go_0(0.0, 1.0); - result += mat4(-0.081627466, -0.056206644, 0.057609815, 0.16809253, 0.09702448, -0.0006972214, -0.05335845, -0.12129932, -0.0002927597, -0.21934614, -0.037754383, -0.1519519, -0.2376217, 0.10211905, 0.13700108, -0.09431093) * go_0(1.0, -1.0); - result += mat4(0.12006511, 0.0850924, 0.13144164, 0.16237107, 0.10096861, 0.0041175876, -0.106181756, 0.012646824, -0.049423195, 0.02854461, 0.0714631, -0.17928813, 0.12281949, -0.1653483, -0.12631613, -0.012995532) * go_0(1.0, 0.0); - result += mat4(0.06719825, 0.04025362, 0.12805803, -0.051237866, -0.10915182, -0.012685345, -0.03332722, 0.043810077, 0.009768857, 0.030928867, -0.11797699, 0.06935517, 0.03960586, -0.054912154, 0.045409244, 0.024356317) * go_0(1.0, 1.0); - result += mat4(-0.08003945, 0.02939059, 0.015871571, -0.08151104, 0.06888097, 0.028342148, 0.10520131, -0.061023485, 0.09831178, 0.16380575, 0.0023105524, -0.12040436, -0.031042974, -0.053848248, 0.009438444, 0.0266714) * go_1(-1.0, -1.0); - result += mat4(-0.07136757, 0.100973204, -0.031054407, -0.073980935, -0.041895464, -0.021902626, 0.031108955, -0.052984156, -0.016130926, -0.050138965, 0.03813808, -0.05297753, -0.028289583, 0.031014593, 0.1843739, -0.035281647) * go_1(-1.0, 0.0); - result += mat4(0.035933316, -0.00038015004, -0.027873661, -0.0069536613, 0.027045539, 0.037116226, 0.04525177, 0.006566634, -0.16384627, 0.07768526, -0.12624563, 0.024078595, 0.10769284, -0.11258107, -0.04982451, -0.065048374) * go_1(-1.0, 1.0); - result += mat4(0.10052499, -0.13002421, -0.06633072, -0.042626563, -0.028949782, -0.14514183, 0.028552216, -0.0613498, 0.09384566, 0.09405732, -0.19158928, 0.03907308, -0.055615067, 0.23429433, 0.12803762, 0.04434819) * go_1(0.0, -1.0); - result += mat4(0.00958813, -0.24705333, -0.16486292, 0.024874136, -0.12138014, 0.18079525, -0.10713273, -0.13516752, 0.055434603, -0.015806839, -0.09717939, -0.074068494, -0.08866701, 0.020300955, -0.0055264304, 0.04080965) * go_1(0.0, 0.0); - result += mat4(-0.11120258, -0.07199271, -0.041486032, -0.14906478, -0.009233198, -0.09902689, -0.040275663, 0.017067345, -0.05086586, -0.17413498, -0.008183662, 0.009612443, -0.13408433, -0.1332188, 0.07127962, -0.10865638) * go_1(0.0, 1.0); - result += mat4(-0.124843836, 0.0056214286, 0.13267992, -0.13429327, -0.016505916, 0.036799435, -0.038973354, 0.05537806, -0.0632161, -0.012454545, 0.038332634, -0.037685867, 0.04319443, 0.03322325, 0.042085703, 0.045762986) * go_1(1.0, -1.0); - result += mat4(0.052202236, 0.05771732, 0.112385854, -0.01082042, -0.0767456, -0.08780617, 0.014997822, -0.08833972, -0.10664788, -0.061612513, -0.182838, 0.0851486, 0.16953877, -0.06382708, -0.022215927, -0.0051205694) * go_1(1.0, 0.0); - result += mat4(0.13441062, 0.10117365, -0.016199887, 0.029254923, -0.02033548, -0.027186427, -0.045370664, -0.03122226, -0.001153141, -0.053417522, -0.08496941, 0.091859564, -0.1636657, 0.0686879, -0.0061219577, -0.0037164304) * go_1(1.0, 1.0); - result += mat4(-0.08923701, -0.06655362, -0.010985764, 0.014604874, -0.011382496, 0.029907953, -0.056434274, 0.038744327, -0.028414777, 0.010007162, 0.0017349193, -0.10343906, 0.09191801, -0.09312238, -0.1496644, -0.07673135) * go_2(-1.0, -1.0); - result += mat4(0.009483084, 0.01533923, -0.22572407, 0.025132898, -0.01963628, 0.17454073, -0.07573513, 0.039613944, 0.063608795, -0.13739005, -0.033944577, 0.16951281, 0.30629894, -0.079744816, -0.01866261, 0.039395563) * go_2(-1.0, 0.0); - result += mat4(-0.08941336, 0.064974226, -0.028835427, 0.034915254, -0.086929224, 0.07687716, -0.0016284286, 0.0048973947, -0.002299835, -0.10146576, 0.15499033, -0.025811836, -0.11017588, -0.06646864, 0.2724957, -0.09787315) * go_2(-1.0, 1.0); - result += mat4(0.013580617, 0.23512718, -0.13755204, -0.037683118, -0.10511493, -0.16309044, 0.028176483, 0.08306621, -0.10533476, 0.0006221558, 0.045089602, -0.15210447, 0.0020994823, -0.024207998, 0.0993523, 0.043464) * go_2(0.0, -1.0); - result += mat4(0.030274704, 0.16225174, -0.04986216, -0.15224266, 0.0780463, -0.1532285, 0.10314128, -0.15185037, 0.10115252, -0.10087905, -0.09021414, -0.022275878, 0.20465703, 0.15299171, -0.029545499, 0.027562108) * go_2(0.0, 0.0); - result += mat4(0.03635188, 0.14174621, 0.07811163, -0.007859945, 0.015667818, 0.04175609, 0.037054025, -0.21607552, 0.042083874, 0.012400608, -0.0031731343, 0.015451013, 0.14899978, -0.07175217, 0.10838928, -0.12669186) * go_2(0.0, 1.0); - result += mat4(0.138536, 0.13425349, -0.034622706, -0.18623102, -0.053591244, 0.05831567, -0.16689397, 0.09646786, 0.014092155, 0.04367327, -0.09343583, -0.14990391, 0.07822869, -0.22536267, 0.099219, 0.23060338) * go_2(1.0, -1.0); - result += mat4(-0.06164505, -0.092979245, -0.14336626, -0.07140663, 0.22376375, -0.047783352, -0.033338327, 0.1258366, -0.17924803, 0.041608956, 0.16306303, -0.10679489, -0.3030042, 0.0008420525, 0.12561269, -0.028834283) * go_2(1.0, 0.0); - result += mat4(-0.054412913, 0.0090209665, 0.11719211, -0.05716453, 0.05383089, 0.02623724, -0.07349644, -0.01056252, 0.10699554, -0.09000459, 0.017828118, -0.07156624, -0.009086138, -0.17281768, 0.07362622, 0.059403386) * go_2(1.0, 1.0); - result += mat4(-0.1389711, 0.10161683, 0.10497333, -0.1611381, -0.22583091, -0.01804936, 0.012043274, -0.07505929, 0.12483098, 0.120331906, 0.06568858, 0.048519757, 0.04878232, 0.1416424, 0.0067936247, -0.016330056) * go_3(-1.0, -1.0); - result += mat4(-0.17665231, -0.027524196, 0.054338425, -0.019410258, -0.02451535, -0.101202436, 0.019439757, 0.054194063, 0.1374067, 0.18281725, 0.07622217, 0.02345311, 0.09478843, -0.2668885, -0.20737533, -0.038789343) * go_3(-1.0, 0.0); - result += mat4(0.17850038, 0.015391434, 0.21261981, -0.07131195, -0.00017390228, -0.027140131, -0.03531777, 0.090994254, 0.018094057, 0.034828965, -0.03494625, 0.02909268, -0.1641662, 0.0061473413, 0.07393836, 0.012682216) * go_3(-1.0, 1.0); - result += mat4(-0.042796552, 0.15346116, -0.09064195, -0.08746618, -0.060828637, -0.03820483, 0.011528973, 0.0398974, 0.09371729, -0.08625735, 0.014867914, 0.041555084, -0.08405399, 0.11065002, -0.08176266, -0.0624558) * go_3(0.0, -1.0); - result += mat4(-0.16241768, -0.09944747, -0.20491481, 0.29889265, -0.12245448, -0.07481623, -0.12528926, 0.05751569, 0.0967851, 0.23937911, 0.35344538, -0.08789662, 0.12991858, -0.16209777, -0.28480273, -0.0014969984) * go_3(0.0, 0.0); - result += mat4(-0.038093816, -0.12204375, 0.2872561, -0.01867348, -0.0422504, -0.027746195, 0.04692431, 0.19227293, 0.14287111, -0.14324081, -0.11081065, 0.023367552, -0.12073627, -0.13269602, -0.13918683, 0.08741606) * go_3(0.0, 1.0); - result += mat4(0.0008481731, 0.05254276, -0.012691128, -0.036892317, -0.04046909, -0.17864129, 0.110876225, -0.058506776, 0.08640097, -0.006006924, 0.01067811, 0.111712374, -0.05587949, 0.09859872, 0.12326458, 0.03610263) * go_3(1.0, -1.0); - result += mat4(0.01657765, 0.049353786, 0.023793655, -0.034767125, -0.0027143199, -0.10706169, 0.021599656, 0.028217005, 0.15949789, 0.018731484, -0.015067733, -0.008275501, -0.02608208, 0.09978389, -0.07528502, -0.11285119) * go_3(1.0, 0.0); - result += mat4(0.0023038054, -0.106527835, 0.19298683, -0.007611592, 0.13164747, 0.019736541, 0.0677005, 0.12425515, 0.16268487, -0.096461184, 0.12743223, -0.08677306, -0.029261615, -0.041135672, 0.080600925, -0.0044985185) * go_3(1.0, 1.0); - result += mat4(-0.012212633, -0.008135249, 0.0214631, -0.15218979, 0.036934953, 0.013742649, 0.005994283, -0.0283032, 0.0729484, -0.052409716, -0.06420768, 0.0810027, 0.04289635, -0.05979256, -0.011123965, 0.07240212) * go_4(-1.0, -1.0); - result += mat4(0.078602165, -0.11064885, -0.032745726, -0.041563403, -0.07760515, 0.030799344, -0.009528405, 0.07102139, -0.078211874, -0.006511505, 0.022323601, -0.09159505, -0.09717384, -0.038415562, 0.15776964, -0.122952245) * go_4(-1.0, 0.0); - result += mat4(-0.02998448, 0.06617301, -0.1833567, -0.05996888, 0.025792658, 0.04538328, -0.013383254, -0.058839086, -0.036489535, 0.057810433, 0.03386236, 0.06538946, 0.02562387, -0.08336547, -0.119194515, 0.060269345) * go_4(-1.0, 1.0); - result += mat4(-0.20298807, -0.13135706, -0.025793612, 0.021387653, 0.1594905, -0.3369618, 0.041246038, -0.050120838, 0.026487157, -0.029691057, -0.0034613493, 0.016325768, -0.117200464, -0.016574007, -0.073803775, -0.089975685) * go_4(0.0, -1.0); - result += mat4(-0.026254926, 0.0261122, 0.018618183, 0.0005632939, -0.12340781, -0.05991391, -0.04475039, 0.1659745, -0.24145639, -0.20355274, 0.041455634, -0.116840735, -0.1283876, 0.08542697, 0.013275747, 0.0501509) * go_4(0.0, 0.0); - result += mat4(-0.21312153, -0.04829575, -0.10153613, -0.0059257764, 0.0841976, -0.026371231, -0.20159246, -0.0045467755, -0.02141211, -0.027177462, -0.05251507, 0.032135133, 0.03804446, 0.11620451, -0.14313346, 0.077155955) * go_4(0.0, 1.0); - result += mat4(-0.04649696, -0.098621555, -0.10055518, 0.015795136, -0.066809125, -0.19873013, -0.0143966265, 0.03701971, -0.096805796, 0.028184278, -0.026889013, 0.087746136, 0.093570195, -0.05271505, -0.07302158, 0.06451506) * go_4(1.0, -1.0); - result += mat4(-0.019860215, 0.014821476, 0.020452866, 0.019750455, -0.0030268016, 0.09721972, 0.07985887, -0.22953773, -0.023093862, -0.0340788, -0.020107787, 0.14696716, -0.0014956049, 0.10684638, 0.054514356, -0.026299406) * go_4(1.0, 0.0); - result += mat4(-0.0034259602, 0.11406219, 0.08309113, -0.05666143, 0.03997147, -0.015962245, -0.073703386, -0.081422284, -0.03811221, -0.018108517, -0.019545924, -0.09374689, 0.0068907975, 0.06288586, -0.048148807, -0.04641091) * go_4(1.0, 1.0); - result += mat4(0.12786785, 0.036925547, 0.040049516, -0.014098288, 0.17151223, 0.36029485, -0.13981305, 0.048408832, 0.15681522, -0.1718675, 0.18053555, -0.06154547, 0.20234902, 0.1841377, -0.13541229, -0.12686929) * go_5(-1.0, -1.0); - result += mat4(-0.02641306, -0.17226298, -0.049888287, 0.02733204, -0.06390068, 0.080012724, -0.1844924, -0.03414821, 0.034385405, -0.24899785, 0.059214547, 0.049595583, 0.32104456, 0.03666073, -0.40136093, -0.2774759) * go_5(-1.0, 0.0); - result += mat4(0.06761573, 0.06869232, -0.031510808, -0.02438944, 0.22487356, -0.16531369, 0.06668078, 0.09660918, 0.13721283, 0.07903948, -0.019157205, 0.1531542, 0.013938849, 0.07697017, -0.002420862, -0.08119872) * go_5(-1.0, 1.0); - result += mat4(-0.010843206, 0.25370562, 0.13776681, 0.038852032, 0.23986198, 0.090098, -0.1396168, -0.12940928, 0.09821576, -0.13444738, 0.03958645, 0.11936621, -0.25258994, -0.21582375, -0.025724072, 0.15234376) * go_5(0.0, -1.0); - result += mat4(0.070284896, -0.06296459, 0.020593662, 0.05657614, -0.10773026, 0.05970744, 0.19839187, 0.053335343, -0.10290972, -0.07925142, -0.09702071, 0.06671608, -0.3317127, 0.038721535, 0.03681229, 0.0022030612) * go_5(0.0, 0.0); - result += mat4(-0.28498635, -0.025289027, 0.2521193, -0.008358809, 0.24523476, 0.07953551, 0.018755028, -0.04277334, 0.15404665, 0.29997438, 0.25203288, 0.16347292, -0.16057658, -0.09382131, 0.01644382, 0.09579976) * go_5(0.0, 1.0); - result += mat4(0.071044005, 0.1663978, -0.1300318, 0.016336136, 0.06899086, -0.017043045, 0.059462104, 0.06477385, 0.14695822, -0.108211465, 0.065641776, 0.14722472, 0.06779434, 0.16995609, 0.07928397, -0.033719063) * go_5(1.0, -1.0); - result += mat4(0.14180346, -0.08487177, -0.22468328, -0.28223032, 0.2663465, 0.09390156, 0.06763305, -0.046421945, 0.06267927, 0.0894823, 0.03797196, 0.2289057, 0.3531273, -0.10896449, -0.089124285, -0.3782578) * go_5(1.0, 0.0); - result += mat4(-0.15362668, -0.059429795, 0.10730699, 0.021013413, 0.087347016, -0.016410518, -0.14467601, 0.05059625, 0.12102463, 0.05886046, 0.25740236, -0.03717858, 0.24515876, -0.070637345, -0.38044232, 0.0013522268) * go_5(1.0, 1.0); - result += mat4(0.012790849, -0.166835, -0.006531994, 0.042859472, -0.02351418, 0.11851938, -0.049062908, -0.041576426, 0.107786864, -0.10980972, -0.033116184, 0.10939468, -0.054141134, -0.027854247, 0.04713376, 0.19246055) * go_6(-1.0, -1.0); - result += mat4(0.053805664, 0.061061755, 0.047100965, -0.055740997, 0.040054057, 0.051985312, -0.09923848, -0.0043354537, 0.036915418, 0.106524564, -0.123563565, 0.07750848, -0.07408784, -0.05061668, 0.14600709, -0.0011608404) * go_6(-1.0, 0.0); - result += mat4(0.015910039, -0.10548236, -0.031279977, -0.034638315, 0.04358979, -0.0437478, -0.014834915, 0.024732169, -0.12387502, -0.04822137, -0.0058700144, 0.137929, 0.11366931, 0.08035957, -0.039935917, 0.04603123) * go_6(-1.0, 1.0); - result += mat4(0.067911685, -0.21775192, -0.06257909, 0.17257555, 0.06932743, -0.071969435, -0.20456699, 0.04594583, 0.018453049, -0.030035174, -0.05827126, 0.0392995, 0.12435702, -0.17315, 0.0020754808, -0.097234495) * go_6(0.0, -1.0); - result += mat4(-0.10112962, 0.091169335, 0.14931187, -0.05483266, 0.08175559, -0.21881811, -0.015723187, 0.07526295, -0.057499725, 0.27330843, -0.015584234, -0.23729184, -0.14506966, 0.071909845, -0.043688543, -0.04695626) * go_6(0.0, 0.0); - result += mat4(0.19304496, 0.024671676, 0.038902644, 0.0057927696, 0.13977169, 0.073270485, 0.14490373, -0.013279762, -0.04328375, 0.04363379, -0.18776916, 0.15290104, -0.066608734, 0.19611324, 0.030080872, -0.04369692) * go_6(0.0, 1.0); - result += mat4(0.11470921, 0.01983352, -0.03216828, 0.060058292, -0.08319119, -0.07164264, -0.03740158, -0.07463614, -0.1341556, 0.02926277, 0.042769387, 0.13030067, 0.059393533, -0.023748767, -0.06477902, -0.10475805) * go_6(1.0, -1.0); - result += mat4(0.06713004, 0.039320715, 0.07987435, -0.1279802, 0.04430574, -0.09668574, -0.13146797, 0.1951853, -0.09523301, 0.11162048, -0.13835515, 0.10653133, 0.07065633, 0.0017156269, 0.13809821, -0.11227813) * go_6(1.0, 0.0); - result += mat4(0.03737181, -0.060822956, 0.0764333, -0.04455623, -0.05858187, -0.042540766, 0.2450857, 0.017118182, -0.2140229, 0.06681126, -0.035818823, 0.1897005, -0.050493807, 0.039831277, -0.08647933, -0.05456818) * go_6(1.0, 1.0); - result += mat4(-0.15794586, -0.11317517, -0.1907949, 0.035243902, 0.18495446, -0.17711106, 0.07466123, 0.3298434, -0.0538802, 0.17223665, -0.069161914, -0.04879663, -0.010941854, -0.09529097, -0.11374602, 0.1033947) * go_7(-1.0, -1.0); - result += mat4(0.053542875, -0.21014826, -0.021240313, -0.047701992, 0.035403203, 0.11726055, -0.09277544, 0.16033384, -0.06536819, -0.23121049, 0.0709867, -0.026250783, 0.024801381, 0.00938287, -0.22030483, 0.10098934) * go_7(-1.0, 0.0); - result += mat4(0.040862054, -0.07635868, -0.09437051, -0.073567204, 0.007394331, 0.045258503, -0.025171619, 0.09097832, 0.0784184, -0.11744521, 0.09245911, -0.05398139, -0.046311557, 0.11720031, -0.06057511, 0.07124993) * go_7(-1.0, 1.0); - result += mat4(0.15672357, -0.11742975, 0.019319033, -0.11931374, -0.0730905, 0.113809146, 0.046025384, 0.260786, -0.070096426, -0.041467544, -0.17180398, -0.03536039, -0.0053026676, 0.19283321, -0.01242331, -0.046671648) * go_7(0.0, -1.0); - result += mat4(0.086352795, -0.046984054, 0.041676264, -0.093268044, -0.07467304, 0.10683198, -0.09286945, 0.00065939245, -0.023186311, -0.13480976, -0.18541805, 0.066650435, 0.17785572, 0.28285432, 0.09380002, 0.2742215) * go_7(0.0, 0.0); - result += mat4(-0.03759045, 0.008394068, -0.029834675, -0.054245055, 0.19929428, -0.028139526, 0.0011271539, 0.08023337, 0.10857946, 0.023008484, 0.10093405, -0.0025674875, -0.013412711, 0.124299355, 0.18966118, -0.0086889155) * go_7(0.0, 1.0); - result += mat4(-0.008154784, 0.026771648, -0.029822685, -0.12304668, 0.19175382, 0.038344804, -0.19244587, 0.19586428, 0.051759414, 0.051479038, 0.064044714, 0.024556635, -0.05735499, 0.104564175, -0.17250918, 0.042381) * go_7(1.0, -1.0); - result += mat4(-0.03705795, -0.07241511, -0.034249566, 0.026843162, 0.098695345, -0.06264949, 0.006197871, 0.18656683, 0.17142834, 0.020342348, 0.0030491548, 0.13260534, 0.07432505, -0.019298749, 0.018334575, 0.04731813) * go_7(1.0, 0.0); - result += mat4(-0.054331694, -0.027947709, -0.11864076, 0.00814441, 0.028038671, -0.08349308, -0.07054119, -0.07497779, 0.040611267, 0.13121551, 0.118467994, -0.08134059, 0.015859429, -0.2187738, 0.00034174693, -0.00010865687) * go_7(1.0, 1.0); - result += vec4(0.0029036424, -0.026140884, 0.029428842, 0.022368915); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_27_tf -//!BIND conv2d_27_tf1 -//!BIND conv2d_27_tf2 -//!BIND conv2d_27_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!BIND conv2d_28_tf -//!SAVE conv0ups -//!WIDTH conv2d_27_tf.w -//!HEIGHT conv2d_27_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.24869502, -0.09899225, -0.43790483, 0.20478724, -0.1164636, -0.064487524, 0.19679324, -0.1449572, -0.15371573, -0.3400212, -0.21963254, 0.20369855, -0.2367356, 0.2477112, 0.35358265, -0.10717059) * g_0; - result += mat4(0.008394252, -0.07444383, -0.21260554, -0.0109387245, -0.12783004, -0.046684895, -0.09459239, 0.15685712, -0.0650475, -0.17689607, 0.28597033, -0.14768666, -0.24485432, 0.11102652, 0.0016650548, 0.0335556) * g_1; - result += mat4(-0.15471542, -0.055397827, 0.031601153, 0.12807971, 0.098534405, -0.078548655, -0.07627781, -0.045002084, -0.1607132, 0.22467372, 0.05354091, 0.14046556, 0.08950414, -0.11074417, -0.18164189, -0.062829755) * g_2; - result += mat4(0.23552504, 0.106547005, 0.06353197, -0.12771529, 0.063815214, 0.0037739186, 0.13750316, -0.15964629, -0.13540323, 0.03661145, 0.1579406, -0.04318756, -0.23223858, -0.019027008, 0.14158043, -0.0981457) * g_3; - result += mat4(-0.20985286, 0.006259769, 0.22924383, -0.14908646, 0.10981303, 0.09701522, -0.138446, 0.098020315, 0.1012965, 0.17753434, 0.03191124, -0.009315684, 0.15640236, -0.18660188, -0.108241856, 0.28092933) * g_4; - result += mat4(-0.18514358, 0.020193081, 0.074342795, -0.20483983, 0.07773761, -0.0021120405, 0.1360036, -0.03176111, -0.032519307, 0.23044188, -0.0123683, 0.1398906, -0.057560008, 0.054931078, -0.09207622, -0.10482956) * g_5; - result += mat4(0.042022258, 0.08705893, 0.04855544, -0.0702546, 0.09140309, -0.20014158, 0.08858101, 0.10530784, -0.17869075, -0.18289891, -0.06009552, -0.017472578, -0.12561706, 0.1241771, 0.10055958, 0.06711715) * g_6; - result += mat4(0.11081939, 0.14038336, 0.086475745, 0.008545714, -0.09676236, 0.10120412, 0.018717231, 0.083903596, -0.010204144, 0.19445705, 0.08198393, -0.07868833, 0.16800411, 0.24233866, -0.14174843, 0.0127538135) * g_7; - result += mat4(-0.07677055, -0.08069778, -0.19520187, 0.0811833, 0.16050573, 0.04002321, -0.062625214, 0.066150546, -0.0071385102, 0.15346812, 0.22585835, 0.017887173, 0.10958369, -0.27262884, -0.07289562, -0.13642263) * g_8; - result += mat4(-0.20320824, 0.04060682, -0.045050982, -0.08530543, -0.15681775, 0.029664317, 0.040110916, -0.110328145, -0.115784444, -0.0010324386, -0.14814855, -0.05750071, -0.09158797, -0.05191994, -0.010077932, 0.010735767) * g_9; - result += mat4(0.013956532, 0.10945481, 0.17186755, 0.085150324, -0.041226313, 0.12950367, 0.06430863, -0.13105504, 0.10078111, -0.25535673, 0.20490831, -0.18107158, 0.08253922, -0.2122405, 0.03085494, 0.046983067) * g_10; - result += mat4(0.13400763, -0.33241597, -0.14590304, -0.07548988, -0.025087558, -0.09831733, -0.12063487, 0.12294168, -0.04194301, 0.5016058, -0.19878705, 0.2325771, -0.025853388, -0.113362834, 0.03071806, -0.043046314) * g_11; - result += mat4(-0.24234526, 0.099842645, -0.123794004, 0.029319491, -0.06591831, 0.06859657, -0.04656591, 0.035922993, -0.15371624, -0.16684091, -0.13712381, -0.13332178, -0.012874865, -0.07265817, -0.13294667, 0.068372235) * g_12; - result += mat4(0.337884, -0.053065576, 0.039201297, -0.3255975, -0.09653937, -0.08532608, 0.004564532, -0.064255305, -0.09196097, -0.064501986, 0.05946096, -0.065822385, 0.04373292, 0.18320732, 0.17107227, -0.09376649) * g_13; - result += mat4(-0.1266736, -0.110596545, 0.06749142, 0.18791346, 0.3654019, 0.112833284, 0.05675392, -0.19131362, -0.05568984, 0.19247374, 0.102835864, 0.14997408, 0.31664333, -0.10273057, 0.1727324, 0.15486372) * g_14; - result += mat4(0.3434959, 0.023886908, 0.031930014, 0.03582181, 0.005240771, 0.111360535, -0.19078243, 0.0100272475, 0.09107635, -0.008016216, -0.12759027, 0.10675808, -0.08348867, -0.09646617, -0.2607706, 0.018178092) * g_15; - result += mat4(0.079807304, -0.05459316, 0.14646025, 0.044402126, 0.18155368, 0.030484838, -0.23650324, 0.050629415, -0.054936387, 0.24929616, -0.026216682, -0.027678574, 0.14901243, 0.00799581, -0.056854505, -0.2847785) * g_16; - result += mat4(0.07668182, -0.090308845, 0.1426231, -0.076727286, 0.04532857, 0.41972977, 0.045198783, -0.2889559, 0.09463711, -0.115024, 0.12064761, -0.078441106, -0.0979431, 0.16587363, 0.034756947, 0.0819575) * g_17; - result += mat4(0.02658691, 0.018619051, 0.10987584, -0.11632582, -0.097673975, -0.060380448, -0.048393946, -0.12066081, -0.08383298, 0.07522811, 0.00046106262, 0.056841437, 0.18688548, 0.2500605, 0.067883015, -0.0678706) * g_18; - result += mat4(0.1660567, -0.18025756, -0.054567352, 0.06485854, 0.04710402, 0.10155829, -0.02514125, 0.18412691, 0.11272706, -0.078927964, 0.06751576, -0.10286652, -0.13830543, -0.117058784, 0.005188935, -0.06942043) * g_19; - result += mat4(0.23703721, 0.10277758, 0.000754122, -0.029695567, -0.21699485, -0.20323198, 0.052537125, -0.23201968, -0.08901256, 0.14734636, -0.034757435, -0.0005979487, 0.44525814, 0.19301082, 0.6464728, -0.08360051) * g_20; - result += mat4(-0.016849566, -0.17056245, -0.15224437, 0.09874574, 0.2365518, 0.13848515, -0.06262627, 0.030512452, 0.13390404, -0.17578915, 0.052553993, -0.0754797, 0.13499588, -0.091364816, -0.14214903, 0.012343283) * g_21; - result += mat4(0.0444748, -0.120922156, -0.102585696, -0.029410962, 0.16525646, -0.003036487, 0.019754846, 0.10904324, -0.2154087, -0.08718995, 0.018755833, 0.03948844, -0.14803186, -0.2644333, 0.038109586, 0.16415441) * g_22; - result += mat4(-0.11955258, 0.12032012, -0.0071599633, -0.08183172, 0.07993607, 0.15545094, -0.13790582, -0.12963726, 0.03992126, 0.013114452, -0.021836942, 0.06938646, 0.05713335, -0.14334689, 0.065875866, -0.15222839) * g_23; - result += mat4(0.09515674, -0.28844547, 0.053185515, 0.03400144, 0.046243384, 0.06073404, -0.028122557, -0.14269671, 0.076097876, -0.25685546, -0.11053011, 0.0016753314, -0.061829623, 0.17545372, -0.073774636, 0.14134389) * g_24; - result += mat4(0.09274064, 0.008774846, 0.01753719, 0.055378035, 0.070933565, -0.07643164, -0.03130691, 0.010624368, 0.08057614, 0.15103199, 0.16212596, -0.043121286, 0.024918344, 0.022077331, 0.12973905, -0.047122702) * g_25; - result += mat4(-0.039035242, -0.05109422, 0.04064944, 0.046009026, -0.10690486, -0.072981425, -0.06059992, 0.16443883, 0.053239647, -0.049664095, -0.008035011, -0.047280237, -0.09541798, 0.044453926, -0.05769298, -0.054406438) * g_26; - result += mat4(-0.07007281, 0.020636436, 0.21988238, 0.063351706, 0.23330332, 0.06405405, 0.09269646, 0.0076492154, -0.2956097, 0.04427142, 0.13951525, -0.0067400783, 0.094238706, -0.065390944, 0.11663461, 0.16150263) * g_27; - result += mat4(-0.03655699, -0.066461764, 0.34125957, 0.0070882593, -0.051099982, -0.12373787, 0.05673152, 0.23672515, 0.0058079516, -0.0047331564, 0.17873889, 0.16574454, -0.17263038, 0.057122417, 0.21407363, -0.25284353) * g_28; - result += mat4(-0.023008676, 0.11895382, -0.19360733, -0.11461752, -0.20733164, 0.068803884, -0.17845476, -0.10232586, -0.17705148, -0.021452963, -0.11692596, -0.02887165, 0.07515101, -0.049837537, 0.0055611697, -0.04965812) * g_29; - result += vec4(0.046915848, 0.0039697043, 0.017740238, 0.02036365); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_27_tf -//!BIND conv2d_27_tf1 -//!BIND conv2d_27_tf2 -//!BIND conv2d_27_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!BIND conv2d_28_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_27_tf.w -//!HEIGHT conv2d_27_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.20925894, 0.104857735, -0.40466902, 0.0584133, -0.14659958, -0.036843687, 0.13835002, -0.2415225, -0.17522843, 0.11434039, -0.20046623, 0.16023546, 0.2475015, 0.042058993, 0.002350279, -0.17032729) * g_0; - result += mat4(0.11970422, -0.10322249, -0.070675366, 0.06804973, 0.079779394, -0.016731435, 0.04715111, 0.13588014, 0.14615758, 0.022396626, -0.18744521, 0.03337888, -0.048930615, 0.17753999, 0.08515489, -0.27303153) * g_1; - result += mat4(-0.044238064, -0.044585355, -0.4703711, 0.17369467, -0.22562256, 0.003894716, 0.2256651, -0.103996016, 0.007853871, 0.14751841, -0.05668432, 0.07511469, 0.1619497, -0.020217957, -0.090126194, -0.16162491) * g_2; - result += mat4(-0.12567434, -0.04298686, 0.12304879, -0.16227202, -0.008668434, 0.15376252, -0.1295699, -0.07683395, 0.046303485, -0.012221398, 0.0038834864, -0.09826842, 0.12768197, 0.18517894, -0.18903579, -0.19901276) * g_3; - result += mat4(0.17195696, -0.17648453, 0.19818112, -0.023518814, 0.09163597, -0.0049098246, -0.11661733, 0.016902868, 0.060930923, -0.01878846, 0.11788164, -0.1353775, -0.08755757, 0.014184077, 0.16375954, -0.06450589) * g_4; - result += mat4(-0.0034882906, 0.27027172, -0.08576453, -0.2118125, -0.086501405, 0.010157458, -0.2640269, -0.046359222, 0.028317366, -0.16451906, 0.12050226, -0.053686112, -0.10052837, 0.096894056, 0.16462097, 0.094494134) * g_5; - result += mat4(-0.05727481, -0.013227722, 0.21700768, -0.07177067, 0.033377443, -0.0545755, 0.027782457, 0.2090808, 0.011714184, -0.010148169, -0.18692647, -0.2786883, 0.23827875, 0.0011900894, 0.08619064, 0.14836025) * g_6; - result += mat4(0.16917573, 0.21033037, -0.0050825966, 0.18095241, -0.029595587, -0.32528213, 0.20749976, 0.15824726, 0.01744845, -0.18352279, -0.19498493, 0.024413247, -0.017869025, -0.12914586, 0.021449931, -0.019033303) * g_7; - result += mat4(0.050177246, -0.023704303, 0.0017737169, 0.022661313, 0.007864253, 0.0176497, -0.16047522, 0.10303941, 0.2444177, 0.41632912, 0.00715035, -0.18481494, 0.05252633, 0.006689579, 0.13945661, -0.018428788) * g_8; - result += mat4(-0.0941601, 0.048248548, 0.16638602, 0.041016433, 0.0026687274, 0.019066641, 0.08475801, -0.09578143, -0.10059114, -0.29335198, 0.017439498, 0.11830718, -0.054326836, -0.11888715, -0.04045584, 0.073335744) * g_9; - result += mat4(-0.13832748, 0.21032946, 0.31014842, 0.17925423, -0.063551836, -0.1199703, 0.16982867, 0.016346592, -0.025109967, -0.022150239, -0.37054747, -0.49025953, 0.14235863, 0.06635017, 0.002241298, 0.0040627583) * g_10; - result += mat4(-0.13018467, -0.0144080445, -0.16799062, -0.1249275, -0.12707768, 0.07865254, 0.038435075, 0.1667798, 0.09192991, -0.03252081, 0.7629332, 0.48081362, -0.00011961902, 0.058554083, 0.11982404, 0.1822051) * g_11; - result += mat4(-0.06755234, -0.0075415038, -0.14266185, 0.12655805, -0.0045153988, 0.0048743295, -0.008591593, 0.056268115, 0.024279088, -0.0629758, -0.14188884, -0.025769057, 0.15646881, -0.14415343, -0.22970784, -0.037042253) * g_12; - result += mat4(0.25852588, 0.017387692, 0.13789654, -0.019787727, -0.11308935, 0.16850404, -0.2373339, -0.04899185, 0.17354745, -0.09472497, -0.21602263, -0.21760805, -0.020826988, 0.16989823, 0.0741717, -0.10448863) * g_13; - result += mat4(-0.18604822, 0.009787992, -0.06459633, 0.052285228, -0.14829153, 0.075823255, -0.111874774, -0.09117474, 0.03208986, 0.021619327, 0.30147213, 0.13760304, 0.12453839, -0.016333232, 0.094405904, 0.0878566) * g_14; - result += mat4(0.14507103, 0.07554785, 0.03146559, 0.045327432, -0.051290758, 0.039846797, 0.114740096, 0.26464698, -0.1658753, -0.12688372, -0.179181, -0.0732476, -0.031645183, -0.02680665, -0.17883217, -0.061550755) * g_15; - result += mat4(0.08742578, -0.14921658, -0.008039882, 0.032061443, -0.17833516, -0.23691227, -0.14369945, -0.017769985, 0.065309726, 0.038026232, 0.23837644, 0.005659167, -0.20681982, 0.061288934, 0.080895506, -0.067547865) * g_16; - result += mat4(-0.19850676, -0.015734296, 0.018384686, 0.020779416, 0.1471408, 0.26202065, 0.05143831, -0.18096192, -0.14602786, 0.027607052, -0.22484896, -0.08151626, 0.11529563, 0.1390684, -0.16282271, -0.012490131) * g_17; - result += mat4(-0.048379734, -0.041772716, -0.0041537993, 0.21717072, 0.10138077, -0.12603214, -0.18361042, 0.049941633, 0.1703956, 0.11111548, 0.12635674, 0.06445028, -0.08243661, 0.06709483, 0.046443917, 0.10167419) * g_18; - result += mat4(-0.035105225, 0.06199828, 0.0020574334, -0.011254863, -0.047805354, 0.1722725, 0.08265051, 0.049911566, -0.17403728, 0.02808134, -0.16923027, -0.023735922, -0.008281012, -0.093713865, -0.07359882, 0.048530914) * g_19; - result += mat4(0.020626063, 0.008559935, -0.023751533, 0.103401795, 0.17920512, 0.042976495, -0.12651409, -0.114272855, 0.0033929124, -0.031355213, 0.08776122, -0.22491921, 0.2031401, 0.2379429, 0.28060517, -0.0007719008) * g_20; - result += mat4(0.026417585, 0.17757705, -0.043824922, 0.028119845, -0.04151611, 0.054795753, 0.0028165078, 0.00073246437, 0.1412875, 0.21982361, -0.087146886, 0.10897306, -0.11245943, -0.14196636, -0.052475058, 0.037263144) * g_21; - result += mat4(0.18080506, 0.15489496, 0.022035526, 0.061552692, 0.090489246, 0.0372591, -0.076371096, 0.09855082, 0.12062604, -0.11851761, -0.091217645, -0.0456572, -0.15227035, 0.19842634, -0.25994444, 0.0014280345) * g_22; - result += mat4(-0.004529129, 0.00022631227, 0.13502745, -0.062293727, 0.0070622144, 0.14676675, 0.053662084, 0.072721094, -0.02548614, -0.13910522, -0.042703785, 0.03434115, 0.14548635, 0.009612174, -0.101212025, 0.18954988) * g_23; - result += mat4(0.0022483568, -0.08712446, 0.10486132, 0.26073435, -0.00852917, -0.09080537, 0.10038895, -0.105297185, 0.07585101, -0.17707159, -0.20059243, -0.0673406, 0.08531025, 0.13096005, 0.057341557, -0.13544896) * g_24; - result += mat4(-0.0006035619, 0.09268198, -0.016875379, -0.14467251, 0.009340458, -0.101583, 0.057097267, 0.112552926, -0.07803109, 0.3324704, 0.033041988, 0.077711694, -0.037180506, 0.0757784, 0.081892945, 0.123966664) * g_25; - result += mat4(-0.057247143, -0.03035935, -0.03899445, 0.19533473, 0.009087412, -0.075170524, 0.0023444563, -0.041517466, -0.037251793, 0.012194933, -0.073488355, 0.1223987, -0.18770866, 0.031678624, 0.015153505, -0.13081336) * g_26; - result += mat4(0.052989263, -0.0714155, -0.12801231, -0.05954568, -0.02600527, 0.12803787, -0.019737625, 0.11588791, 0.13464773, -0.07630486, 0.054382257, -0.2291579, 0.042531025, -0.046213683, 0.09142889, -0.020872064) * g_27; - result += mat4(0.14624128, -0.09307583, -0.18519302, -0.010523176, -0.042090297, -0.039113797, -0.17932849, 0.1574002, 0.042603053, 0.18812989, -0.061091296, 0.084948115, -0.11052512, 0.11764443, -0.13139613, 0.15068875) * g_28; - result += mat4(-0.052416, 0.011094299, 0.13501611, -0.052369393, -0.02655924, -0.10207045, 0.02851461, -0.13901424, 0.034044232, -0.22422798, 0.006999936, 0.004138137, 0.15997367, -0.12716383, 0.025097579, -0.23885375) * g_29; - result += vec4(0.02927894, 0.051008213, -0.011481529, -0.038922433); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_27_tf -//!BIND conv2d_27_tf1 -//!BIND conv2d_27_tf2 -//!BIND conv2d_27_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!BIND conv2d_28_tf -//!SAVE conv0ups2 -//!WIDTH conv2d_27_tf.w -//!HEIGHT conv2d_27_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.023159716, -0.06445511, -0.13444243, -0.3029728, 0.09424871, 0.046222795, 0.1665773, 0.0054540136, 0.108596064, -0.034167033, 0.09486344, -0.06652879, -0.12501813, 0.29003936, -0.001826413, 0.4086747) * g_0; - result += mat4(0.17339195, -0.12188165, -0.11409943, -0.08955709, 0.08390357, 0.15925337, 0.10573395, -0.044203065, -0.1956127, 0.062437166, -0.055394087, 0.21211234, -0.05303983, 0.08320662, 0.03260874, 0.085122004) * g_1; - result += mat4(0.050840195, -0.0882688, -0.37795234, -0.21878824, 0.0823033, 0.001571019, -0.086516365, -0.032059066, 0.031085746, -0.26207578, 0.03567986, -0.15979347, -0.123573, -0.041428905, -0.07892891, 0.111200064) * g_2; - result += mat4(0.118134536, 0.0017017128, 0.06084789, 0.13862696, -0.004776377, -0.022721525, -0.12781031, 0.023450686, -0.20167245, -0.014491597, -0.32268152, 0.041146316, -0.08904564, 0.13891083, 0.026140563, 0.053664643) * g_3; - result += mat4(-0.014918813, -0.11442104, 0.0741294, 0.20350552, -0.024969127, -0.04713554, -0.09463233, -0.06777642, -0.15385136, 0.09367639, -0.18212073, -0.12458825, -0.11280945, -0.12408857, 0.056655087, -0.097056136) * g_4; - result += mat4(-0.09134359, 0.42729822, 0.13041808, 0.22597447, -0.06003689, -0.017370071, -0.12883402, 0.027216416, 0.029739086, -0.0060472586, 0.00443273, -0.07316318, -0.046336673, -0.21877831, 0.020554282, 0.1732762) * g_5; - result += mat4(0.12951167, 0.05868595, 0.23511209, -0.06839014, -0.13673079, -0.11585807, -0.17553164, -0.1661913, 0.03966464, 0.17386018, -0.11228396, -0.050033193, 0.13843036, 0.03351075, 0.14025663, -0.25514498) * g_6; - result += mat4(-0.038775686, -0.04935347, -0.038891345, -0.019735469, 0.07429314, -0.0223186, 0.077693924, 0.15711477, 0.2130033, 0.19355707, 0.16412027, 0.06635085, 0.038207706, 0.06053999, -0.12567896, -0.007636511) * g_7; - result += mat4(0.09569034, -0.010271957, 0.03721736, -0.15505005, -0.0838559, 0.0016339924, -0.05316335, 0.063593015, -0.20762952, -0.17041244, 0.046337787, 0.042274795, 0.10624157, 0.110793, 0.13401565, 0.17065364) * g_8; - result += mat4(-0.11632263, -0.12953088, 0.001185442, 0.10271505, 0.063425556, 0.20457491, 0.035240173, -0.016209599, 0.18448795, 0.28286663, 0.047897473, -0.03594525, 0.12672062, 0.02626917, -0.017910505, -0.023291295) * g_9; - result += mat4(0.15155636, 0.34159487, -0.14385378, 0.1202715, 0.08488496, -0.14626624, -0.15154605, 0.033907797, -0.4028903, 0.009578373, 0.20309076, 0.03162836, 0.0046819323, 0.12714009, -0.013452622, -0.027946994) * g_10; - result += mat4(-0.023553226, 0.012964108, 0.2615834, -0.18088982, 0.16396646, -0.1555898, 0.062380422, -0.13156545, 0.11771863, 0.11465695, 0.15540528, 0.05780806, 0.162502, -0.15075624, -0.081975155, 0.08368184) * g_11; - result += mat4(0.21025248, 0.19884978, -0.12959355, 0.12049732, 0.22328858, 0.13621397, -0.14099576, -0.12470971, -0.09525357, -0.3020424, 0.06765223, 0.11113628, -0.06416074, -0.19985223, -0.16019244, -0.11679983) * g_12; - result += mat4(-0.09884801, -0.19851618, 0.09546932, 0.16984892, -0.23047769, -0.19711624, 0.075863495, 0.0017955381, 0.015505981, -0.18864273, 0.078835726, 0.045279432, -0.008318564, 0.22265139, 0.24933302, 0.012418065) * g_13; - result += mat4(-0.12885031, 0.07197899, 0.034894828, -0.027127236, -0.15808247, -0.090660565, -0.032682374, 0.04424032, -0.02021023, 0.23655033, 0.2861916, 0.1077876, -0.00029343172, 0.14406225, -0.12042908, -0.05617217) * g_14; - result += mat4(0.06726449, -0.13338274, 0.13298374, 0.1509329, 0.0012467351, 0.10550558, -0.11021875, -0.089391366, -0.121223524, -0.18981695, -0.30600676, -0.17530401, 0.035590086, -0.19236173, -0.00065066793, -0.14428075) * g_15; - result += mat4(-0.07112659, -0.020882819, -0.1465499, 0.096829794, 0.20048432, 0.104522765, -0.26555765, -0.097862296, -0.030852538, 0.105224766, 0.08888586, 0.17757314, 0.16541813, -0.23302473, 0.2233853, -0.010632784) * g_16; - result += mat4(0.014658764, -0.0334598, 0.3128382, 0.077815466, -0.22126053, -0.04505339, 0.061955534, 0.021540016, 0.010367894, -0.051611926, 0.07533717, -0.056219503, -0.2093322, 0.03568594, -0.17417803, -0.10428233) * g_17; - result += mat4(0.2191052, 0.11557848, -0.012550732, 0.17574733, -0.029502312, -0.032267477, -0.07563763, -0.07457431, -0.038292985, -0.09042212, 0.08027953, 0.19520667, -0.083191395, 0.12538701, -0.09176717, 0.011189392) * g_18; - result += mat4(-0.16427885, -0.10249853, -0.17418809, -0.17851928, -0.02198882, -0.016383043, -0.056685332, 0.054567203, 0.085425794, 0.07624397, 0.029935993, -0.11497607, 0.09389378, -0.113407105, -0.037462458, 0.05798364) * g_19; - result += mat4(-0.11592955, -0.0355327, 0.02012006, 0.08628437, 0.18852545, 0.04429939, 0.2095552, 0.11321021, -0.10715762, -0.06410171, 0.07349654, -0.10263874, -0.25958562, -0.0065148305, 0.05395847, 0.23721853) * g_20; - result += mat4(0.08934432, -0.018261336, -0.1469809, -0.1230833, -0.03024807, -0.108250126, -0.1356501, -0.19411466, 0.12480876, -0.056631427, -0.14539632, -0.011234567, -0.108617164, -0.0075640143, 0.016628174, -0.031951398) * g_21; - result += mat4(-0.030735651, -0.25655523, 0.07889343, 0.072985075, -0.14274006, -0.0726582, -0.17257299, 0.04806954, 0.20640111, 0.09091482, -0.02442191, -0.056154832, -0.0973647, -0.15620042, 0.062126547, -0.27619773) * g_22; - result += mat4(0.019488974, 0.09159406, 0.050291736, 0.05484099, 0.007813524, 0.031137392, 0.008452417, -0.06525648, -0.024203332, -0.04843337, 0.0056339726, -0.08692725, 0.12216992, -0.1479449, -0.11445307, 0.14418265) * g_23; - result += mat4(-0.092634715, -0.12256442, -0.03266669, -0.13706104, -0.028364131, -0.16320482, 0.025872277, 0.0038799648, -0.038322225, 0.07213509, -0.08575004, 0.00078005146, -0.19118088, 0.13901393, -0.07466347, -0.15850773) * g_24; - result += mat4(-0.10358112, 0.23026147, -0.17026868, 0.22740762, -0.073265195, 0.20872793, -0.1305692, 0.041578945, -0.14450042, 0.074723445, -0.19840808, -0.31698796, -0.13111241, 0.039627273, 0.20071575, 0.18766841) * g_25; - result += mat4(0.083393425, 0.0077654063, -0.024181146, -0.23965842, -0.015347993, 0.06553551, -0.075003184, -0.12717652, 0.24724984, -0.2618065, 0.00016140452, -0.030394942, -0.09804706, -0.05339126, 0.13838013, -0.11934897) * g_26; - result += mat4(-0.15981214, 0.099963255, 0.020670403, 0.055687193, 0.098974116, 0.09318632, -0.0020179797, 0.069629736, -0.18775915, 0.06435833, -0.054918338, 0.073864214, -0.004390631, 0.017190594, -0.099290535, 0.23170115) * g_27; - result += mat4(-0.025526501, 0.06180454, 0.02409264, 0.067765474, -0.25856894, 0.056929503, -0.23243466, -0.29785407, -0.057924725, -0.18965043, -0.19148564, -0.08055246, 0.123928405, -0.12250164, -0.050594267, 0.03553811) * g_28; - result += mat4(-0.0960669, -0.06418567, -0.15908502, 0.032472476, 0.17400779, -0.1997357, 0.23960195, 0.17217276, -0.17098325, 0.07912132, 0.15839973, 0.09257917, -0.11821401, 0.18548669, -0.04553704, 0.14563085) * g_29; - result += vec4(-0.020268483, -0.020570418, 0.013189642, -0.023046626); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_27_tf -//!BIND conv2d_27_tf1 -//!BIND conv2d_27_tf2 -//!BIND conv2d_27_tf3 -//!BIND conv2d_26_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!BIND conv2d_28_tf -//!SAVE conv0ups3 -//!WIDTH conv2d_27_tf.w -//!HEIGHT conv2d_27_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) -#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) -#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) -#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) -#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) -#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.24645565, 0.05784516, 0.10867771, -0.05984515, -0.028971449, 0.11605379, -0.1291642, -0.014052763, 0.11068091, 0.004926675, 0.20459619, -0.044202894, -0.13706492, -0.04746351, 0.046451483, -0.12730147) * g_0; - result += mat4(0.16991296, 0.023684578, 0.021467324, 0.112513155, 0.16544406, -0.07930093, 0.11551819, -0.19346547, -0.12460893, 0.12157849, 0.016360888, -0.013482095, 0.09450167, -0.06769771, 0.077387445, -0.0790254) * g_1; - result += mat4(0.2960009, 0.1488434, 0.006516303, 0.036311023, -0.14754485, 0.055427775, 0.11966719, 0.34234813, 0.061157946, 0.15428309, -0.0006080333, -0.08627383, -0.059905972, -0.22450238, -0.014939416, 0.17368095) * g_2; - result += mat4(0.07378066, 0.056095265, -0.14646475, 0.052108943, -0.056351613, -0.0075914487, -0.22897565, 0.18092358, -0.30173147, 0.4220325, 0.030691927, -0.04179051, 0.18329756, 0.07725657, 0.04097003, 0.12552805) * g_3; - result += mat4(-0.10679568, -0.114355184, -0.077642724, 0.03897825, 0.29233125, 0.10134386, -0.0011805982, -0.07966318, 0.06551558, 0.03483564, -0.18145105, -0.09800179, -0.11958348, 0.1625396, -0.030568633, -0.0012501187) * g_4; - result += mat4(-0.07481191, 0.032259185, 0.28050005, -0.060750138, 0.12653445, 0.058230374, -0.002791269, -0.06543193, -0.0781853, 0.059335645, 0.0038409696, -0.16285823, -0.2594777, -0.16057986, -0.032912817, 0.09385994) * g_5; - result += mat4(-0.0057511446, -0.05183356, 0.0043450245, 0.06839988, 0.08128163, 0.040296473, -0.01891294, -0.0850551, 0.1050001, 0.10195095, 0.13149269, -0.06505747, -0.024678802, 0.13261814, -0.033877272, -0.035169628) * g_6; - result += mat4(-0.14846025, -0.13375129, -0.007583847, 0.012587357, -0.09852703, -0.057210695, 0.041786056, -0.21553703, 0.19320351, -0.26314387, 0.05067924, -0.09403354, 0.023944646, 0.07871713, -0.010490625, -0.13831468) * g_7; - result += mat4(0.11984692, -0.0098591605, 0.12905905, 0.15365292, -0.0012730177, 0.05490899, -0.028208854, -0.1367009, -0.059950594, -0.053963825, 0.2162382, 0.04799995, 0.021240858, -0.07847233, 0.08247004, -0.022988454) * g_8; - result += mat4(-0.12824033, 0.057294488, -0.14316118, -0.0504033, -0.089879006, 0.034919854, -0.0040405784, 0.031905886, 0.08371419, -0.0362044, -0.0045882226, 0.16748743, 0.054630518, -0.05417787, -0.042437587, 0.25395465) * g_9; - result += mat4(-0.13144904, 0.2214945, -0.028178846, -0.23956248, -0.15738271, -0.16158687, -0.10207897, 0.042929817, -0.066305175, -0.096577294, 0.04117173, -0.015665123, -0.11068033, 0.0819128, 0.16483264, 0.09976227) * g_10; - result += mat4(0.19826432, -0.024046648, -0.17804232, 0.16008496, 0.07570708, -0.14472866, 0.04762163, 0.22881216, 0.05690948, 0.22411816, 0.005796563, -0.15312837, -0.123055264, 0.032928593, 0.08476358, 0.08951332) * g_11; - result += mat4(-0.0019496006, -0.16238998, 0.22266757, -0.2576854, 0.035717808, 0.009473379, 0.017560462, -5.106421e-05, 0.01733539, -0.18899617, -0.14462131, 0.011425934, 0.056977432, -0.018645681, -0.01617488, 0.14064595) * g_12; - result += mat4(0.015111429, -0.12743704, -0.16131711, 0.09304627, -0.011910577, -0.05745339, -0.039512582, 0.07567732, 0.026060602, 0.028980162, -0.12465325, -0.18355931, -0.20168343, 0.13719437, -0.08599688, -0.18141237) * g_13; - result += mat4(0.054802295, 0.29837707, 0.03522563, -0.03632989, -0.086978845, 0.00095785136, 0.107393734, 0.044818994, -0.13475525, 0.3006535, 0.07316234, -0.16334157, -0.16008015, 0.020546542, -0.14413168, -0.08525269) * g_14; - result += mat4(-0.259366, -0.07472293, 0.024179474, -0.038631555, 0.05083423, -0.04494027, 0.06810897, -0.10119448, 0.0068198745, -0.20377721, -0.099571116, 0.06853115, 0.1771495, 0.05278769, 0.116875805, 0.10305356) * g_15; - result += mat4(0.04593561, 0.20434843, -0.063411824, -0.041401528, 0.11932308, 0.25054318, -0.10001591, 0.034949005, 0.09727825, -0.06489274, 0.05936674, -0.036842782, 0.1862358, -0.11597859, -0.08135922, 0.029445825) * g_16; - result += mat4(-0.22665091, -0.10780771, -0.04841487, 0.09992152, -0.138711, 0.020387711, 0.015868897, -0.08746323, -0.2086925, -0.015857462, 0.0466177, 0.06748683, -0.01600545, 0.22568497, -0.002262447, 0.016205644) * g_17; - result += mat4(0.13159914, 0.0085239895, 0.05532446, 0.056012895, -0.1934148, -0.09157347, 0.14135554, 0.052508645, 0.09289656, -0.14269857, 0.030171013, 0.037755817, 0.04909593, -0.18655239, -0.0055961176, 0.1187946) * g_18; - result += mat4(-0.17952375, -0.024501823, 0.023383398, -0.107995816, 0.08161396, 0.020528542, 0.15347931, -0.0741402, -0.20154397, -0.0015806113, 0.028733943, 0.028272778, -0.2613763, -0.051558394, -0.14001833, -0.050815742) * g_19; - result += mat4(-0.015107653, -0.0940447, 0.036241457, -0.010593342, -0.045961525, 0.17196755, 0.18697836, 0.031196352, 0.20367323, 0.088155776, 0.045706164, -0.13437189, -0.18159072, 0.36762834, -0.20641692, 0.118886285) * g_20; - result += mat4(-0.060623996, 0.20019537, 0.18168223, 0.08877838, -0.045696676, 0.061234694, -0.07338814, 0.051613998, -0.25389117, -0.052995674, -0.09211558, -0.16466606, -0.145923, 0.026201494, -0.050066713, 0.08831479) * g_21; - result += mat4(-0.16469187, -0.16988957, 0.09734995, 0.061539363, -0.13671373, 0.10063324, -0.011433946, -0.086579375, 0.107261725, -0.10270097, -0.012975658, 0.06668877, 0.15680642, 0.07163846, 0.14033522, -0.01405299) * g_22; - result += mat4(0.132207, 0.03416093, -0.048854396, 0.07515984, 0.078861736, -0.2689559, -0.030746087, -0.11602645, 0.06880567, 0.08204513, 0.06717855, 0.007817995, 0.016181905, 0.040704746, -0.16240671, 0.07026067) * g_23; - result += mat4(-0.15598467, -0.0022878624, 0.026549233, -0.04394233, 0.20921734, 0.043367602, -0.15613823, 0.04929508, 0.0029379008, 0.04842879, 0.18046685, -0.117088884, -0.22295143, 0.15341441, 0.34251833, -0.16558655) * g_24; - result += mat4(-0.25135937, 0.043886732, -0.06370679, -0.14021763, -0.21199869, -0.028682569, 0.120286964, -0.12730849, 0.057145018, 0.089308545, 0.18639867, -0.13679394, 0.012308779, -0.22714002, -0.1320638, -0.040500604) * g_25; - result += mat4(0.049142376, -0.2076546, 0.23179443, 0.14762919, -0.23876101, 0.1215704, 0.16733463, 0.029052794, 0.196647, -0.060006868, -0.05808242, -0.18242458, 0.19578396, -0.05617832, 0.08892038, -0.04199541) * g_26; - result += mat4(-0.22550662, 0.1297213, -0.07912901, -0.035594005, 0.01997545, -0.24715406, 0.014261541, -0.047214407, -0.22399336, 0.040679913, 0.13449016, -0.02821665, -0.22720997, 0.11576339, 0.12183234, -0.059500802) * g_27; - result += mat4(-0.12097631, 0.059060633, 0.007883754, -0.19396073, 0.013222453, 0.19267121, 0.04800107, -0.27254722, -0.2901846, 0.21499753, 0.16564848, 0.2441496, -0.14540148, -0.115534924, 0.072310135, -0.085634045) * g_28; - result += mat4(-0.01119188, 0.09056528, 0.08672538, 0.30530053, 0.040546756, -0.014442347, 0.03800687, 0.08838292, 0.27894083, -0.15870668, -0.088538125, -0.14179976, -0.14808148, 0.29186696, 0.0804609, -0.12542953) * g_29; - result += vec4(-0.024944633, -0.005018115, -0.03752404, -0.02132803); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.020695187, 0.05179575, -0.00084568735, -0.058708318, -0.046756897, -0.051572543, 0.0075343885, 0.019189375, 0.009596094, 0.07458263, -0.0665028, 0.02477345, 0.0036938943, 0.016147994, 0.17555033, 0.063790314) * go_0(-1.0, -1.0); - result += mat4(0.047372315, -0.09212169, -0.1426403, 0.010264183, 0.110588886, 0.0059688496, 0.09531943, -0.04407747, 0.025626734, 0.042082682, 0.32421026, -0.038435984, 0.010308315, 0.06190991, -0.08102318, -0.045582976) * go_0(-1.0, 0.0); - result += mat4(0.048703067, 0.047595374, -0.05395934, -0.08620705, -0.10573035, 0.023483915, -0.03392267, 0.010127343, -0.0077816406, 0.052177433, -0.056273837, 0.037937485, 0.027907217, -0.09347315, 0.05239236, -0.026808713) * go_0(-1.0, 1.0); - result += mat4(-0.050651994, -0.02732563, -0.061340403, -0.112863585, 0.0064489683, -0.025380466, -0.052053943, -0.06545331, -0.033553123, -0.022598164, 0.04204955, 0.02323651, 0.031271514, 0.16110232, 0.38803446, -0.054479457) * go_0(0.0, -1.0); - result += mat4(0.07135817, -0.09506239, 0.16592708, -0.040242936, -0.03786691, -0.06483209, -0.09554407, 0.07840277, -0.020200757, 0.02384577, -0.013126495, -0.027625585, -0.075230405, -0.21014008, -0.03909564, -0.09478117) * go_0(0.0, 0.0); - result += mat4(0.07711308, 0.10181707, 0.018250873, 0.077304795, 0.01642751, 0.03228944, 0.021899378, 0.010245774, -0.036227338, -0.001539605, -0.07523362, 0.14429028, -0.07359782, 0.13070822, -0.02560883, -0.022874065) * go_0(0.0, 1.0); - result += mat4(-0.04219415, -0.011289797, -0.039906166, -0.089074284, 0.017567573, 0.062162995, 0.096065514, 0.05775087, -0.0102344435, 0.006881742, -0.08669115, -0.032948222, 0.08963109, -0.08284012, 0.066751294, 0.1828466) * go_0(1.0, -1.0); - result += mat4(0.03411321, 0.02054857, -0.021424247, -0.02265521, 0.06751186, 0.046636272, 0.13100775, -0.048767522, 0.05850365, 0.027136968, -0.004158686, 0.111822814, -0.06596076, -0.07753948, 0.041529708, 0.09940788) * go_0(1.0, 0.0); - result += mat4(-0.0028192403, 0.016853701, -0.03016301, -0.020235358, -0.05034052, -0.013616077, -0.021349836, -0.04864314, -0.0414048, -0.14153421, -0.05658087, -0.056029163, 0.13383056, -0.027531937, -0.15566418, -0.2105671) * go_0(1.0, 1.0); - result += mat4(0.04016501, 0.10559333, 0.008267663, 0.06649002, 0.042583052, 0.008021726, -0.051475175, -0.027462183, 0.03987831, 0.030259034, -0.09433753, 0.059861444, -0.069253184, 0.07167569, -0.029389774, 0.042345088) * go_1(-1.0, -1.0); - result += mat4(-0.36324787, -0.03084712, 0.31618732, 0.12707345, -0.04294511, -0.025086822, -0.004116296, -0.07539075, -0.011589254, -0.024815882, -0.0939434, 0.015169785, 0.0101918485, 0.0453247, 0.1548971, -0.06455103) * go_1(-1.0, 0.0); - result += mat4(0.119113825, -0.049629897, -0.12882084, -0.13687927, 0.032445643, 0.03346595, 0.077079095, 0.032214127, 0.008172492, -0.04357317, -0.0043878276, 0.010722748, 0.03210129, 0.035465643, -0.009428875, 0.08321818) * go_1(-1.0, 1.0); - result += mat4(-0.095653616, -0.10428462, -0.007750534, -0.061840005, 0.0069368114, 0.09166805, 0.14013365, 0.09337012, -0.12483825, 0.16957195, -0.20122507, 0.045088075, 0.03606835, -0.022486823, -0.08902174, 0.068695016) * go_1(0.0, -1.0); - result += mat4(-0.010500626, -0.034527376, 0.005386829, 0.22918703, -0.10108878, 0.09873839, 0.15702549, -0.09598402, -0.039832648, -0.09612538, 0.083574384, 0.1690233, 8.269891e-05, -0.068035394, 0.0534864, -0.0566001) * go_1(0.0, 0.0); - result += mat4(0.071872145, -0.02851451, 0.033841643, 0.10728748, 0.035649426, -0.02319551, -0.04673053, -0.028753035, 0.059749573, 0.07446472, -0.1269341, 0.09893258, -0.0225744, 0.016244017, 0.18417723, 0.09029894) * go_1(0.0, 1.0); - result += mat4(0.044112977, -0.049037457, 0.064683616, -0.06556883, -0.031397637, 0.017776502, -0.05355212, -0.030592304, 0.16831197, -0.05688798, -0.12060968, -0.08913267, -0.03228456, 0.0952953, 0.008387226, 0.027184563) * go_1(1.0, -1.0); - result += mat4(0.080981106, -0.028719943, 0.14178857, -0.028141385, 0.04193971, -0.051364426, 0.06132975, 0.076663375, -0.13706256, -0.15490277, -0.13380666, 0.049959663, 0.100946076, 0.10222464, -0.010470593, -0.024446227) * go_1(1.0, 0.0); - result += mat4(0.02006824, 0.035393536, 0.00029921162, -0.07853538, -0.057912953, 0.0043116766, 0.06834718, -0.006364991, 0.1331031, 0.092478134, -0.105553046, -0.07090539, -0.02150639, -0.12197273, -0.03806585, -0.010030255) * go_1(1.0, 1.0); - result += mat4(-0.010309926, 0.013791634, -0.034627564, 0.080061935, 0.019168656, 0.018056372, -0.12263221, 0.011914942, -0.108048424, -0.0077957036, 0.054784223, -0.03022557, 0.090339676, -0.11052819, 0.025375597, -0.008405164) * go_2(-1.0, -1.0); - result += mat4(-0.08640119, 0.0116826715, 0.096712016, -0.009556215, -0.050392166, -0.015750423, 0.024098802, -0.030559674, -0.008687317, 0.086569674, -0.010534909, 0.14062569, -0.04092292, 0.059992965, 0.10706941, -0.071255006) * go_2(-1.0, 0.0); - result += mat4(0.055439454, -0.08304736, -0.05772018, 0.0002228898, 0.049766537, -0.03562336, -0.062019385, -0.008590997, 0.0714339, 0.060822833, 0.05533639, -0.018964287, 0.04474348, 0.030456604, -0.10162788, 0.023526968) * go_2(-1.0, 1.0); - result += mat4(0.036144115, -0.055477962, 0.25543195, 0.018981127, -0.0029639043, 0.006001523, -0.16257423, -0.005548247, 0.27908665, -0.017829081, 0.20361087, 0.069451064, 0.0425165, 0.04671855, 0.21115932, 0.115634814) * go_2(0.0, -1.0); - result += mat4(0.26696295, 0.12878756, -0.10729505, -0.11586441, -0.11449649, 0.036481492, -0.013030123, 0.03475486, -0.112476334, 0.078693345, 0.06723839, -0.101722986, -0.3230926, 0.003929733, 0.0382842, -0.05160655) * go_2(0.0, 0.0); - result += mat4(-0.19706994, -0.06081748, -0.083103545, 0.0641547, -0.020251034, 0.012799021, -0.02441986, 0.021752145, -0.18157272, -0.12557366, 0.12760532, 0.16373396, -0.015558221, -0.16272856, -0.087740906, -0.0012695452) * go_2(0.0, 1.0); - result += mat4(0.015716445, -0.0065595773, -0.12268667, 0.054408874, 0.04874326, 0.028534992, 0.0678798, -0.0694589, -0.053737182, -0.04219611, -0.03308467, 0.024086336, -0.01133326, -0.019263305, -0.10631709, 0.014409722) * go_2(1.0, -1.0); - result += mat4(0.010652, -0.102014825, -0.31128922, -0.1404369, 0.008963117, -0.06387716, 0.09456378, 0.002045589, 0.0120676765, 0.03954822, 0.08071245, 0.009293571, 0.022331964, 0.09042008, -0.0895777, -0.082019664) * go_2(1.0, 0.0); - result += mat4(-0.028971305, 0.0018671599, 0.057754505, 0.17587171, -0.041128, 0.01627396, -0.08374196, 0.0022898368, 0.1260272, -0.06357269, -0.071449675, 0.080769256, 0.14892668, 0.08178534, 0.028882774, -0.08646687) * go_2(1.0, 1.0); - result += mat4(-0.020794544, 0.040059574, 0.017822137, -0.003598029, -0.06560943, -0.044181604, 0.019038988, 0.01135562, -0.04396594, 0.073165074, 0.0733299, 0.0027922648, 0.043707132, 0.005099016, -0.11030712, -0.08067086) * go_3(-1.0, -1.0); - result += mat4(-0.018612824, -0.03987747, -0.10851105, 0.026845753, 0.0143560935, 0.10487563, -0.1329422, 0.062191565, 0.042507634, 0.013565981, 0.05381924, -0.018621631, 0.07241348, 0.07312401, 0.162055, 0.072888635) * go_3(-1.0, 0.0); - result += mat4(-0.042371858, -0.06279698, -0.047954734, -0.04135068, -0.032758582, -0.05770967, 0.095052056, 0.049033426, -0.01945755, -0.008561963, 0.04326833, 0.030072358, -0.057644114, 0.15499905, -0.060267057, 0.062550865) * go_3(-1.0, 1.0); - result += mat4(-0.039586462, 0.020706546, 0.21365152, -0.044521715, -0.020410553, 1.3661776e-05, 0.049052373, 0.11614336, 0.00017193238, -0.07115667, -0.06459373, -0.0073429234, -0.036036134, -0.024385229, -0.075657554, -0.05757767) * go_3(0.0, -1.0); - result += mat4(0.041886285, 0.033068173, 0.06381855, 0.115213275, 0.069466114, -0.04658492, -0.17437598, 0.016479885, 0.041463092, -0.026836906, 0.09679532, -0.11155522, 0.03152283, 0.12496124, -0.1317453, 0.17767543) * go_3(0.0, 0.0); - result += mat4(0.024161939, 0.020480702, 0.10460235, 0.01299023, 0.038210697, -0.023922926, 0.006196876, -0.11040656, -0.048561808, 0.031339034, -0.0034977624, -0.01171306, -0.055257812, -0.11679662, -0.1292118, -0.24881968) * go_3(0.0, 1.0); - result += mat4(-0.034799732, -0.03295996, -0.22622366, -0.059414957, -0.07564334, 0.06638484, 0.08077548, 0.06760112, -0.03851018, 0.06950001, -0.061534263, -0.010881979, -0.15067118, 0.0624694, -0.2033063, -0.058800664) * go_3(1.0, -1.0); - result += mat4(0.065365165, 0.06403614, 0.19352676, 0.13365605, 0.07580563, -0.014021939, -0.05731098, 0.036906917, 0.02100828, 0.017755862, 0.041521445, -0.11368253, 0.06070961, -0.22881168, 0.0035648798, 0.075051494) * go_3(1.0, 0.0); - result += mat4(-0.056965712, -0.02173571, 0.084591195, -0.021413585, -0.068680905, 0.023532664, -0.09906315, 0.0630235, 0.04045921, 0.014031516, 0.02268613, 0.011994433, 0.048502963, 0.037335977, -0.19570793, 0.14572982) * go_3(1.0, 1.0); - result += mat4(0.0261724, 0.030047135, -0.09042618, 0.033079226, 0.07980195, 0.036434878, 0.17216438, 0.058141544, -0.043239925, -0.05976093, -0.04999952, -0.020736014, -0.0106217805, -0.012736464, 0.008851435, -0.056872174) * go_4(-1.0, -1.0); - result += mat4(-0.082696624, 0.054985303, -0.024339378, -0.0543204, -0.17700307, 0.11250488, -0.031559974, 0.022210045, 0.09618239, 0.01580275, -0.03690757, -0.047982343, 0.08703919, 0.021051923, -0.047632344, 0.0045034164) * go_4(-1.0, 0.0); - result += mat4(-0.03290176, -0.0364079, 0.019448102, 0.049773544, 0.07766832, -0.07508403, 0.0134854335, -0.00643178, 0.015591646, -0.0043992195, 0.1354414, 0.038126215, -0.0032720412, 0.018891534, -0.019052628, -0.032509252) * go_4(-1.0, 1.0); - result += mat4(-0.14167961, 0.12479212, -0.12158335, 0.016470937, 0.03488672, 0.045030095, -0.2268721, 0.16147503, 0.09902494, -0.023874994, 0.19846949, 0.017371945, -0.0801073, 0.055975642, 0.068055116, 0.019367244) * go_4(0.0, -1.0); - result += mat4(0.06765082, -0.21494555, 0.099107146, 0.016591892, -0.02380657, -0.002625899, 0.25159433, -0.034043565, -0.052320056, -0.0011840623, 0.08531329, 0.00049678114, 0.04983457, 0.00088371156, -0.13286956, 0.00064268603) * go_4(0.0, 0.0); - result += mat4(-0.05795321, 0.22021243, 0.0076905126, 0.06835479, -0.051106546, 0.024030196, 0.06576595, 0.15353538, 0.009099127, 0.085880324, 0.0011794734, -0.096212335, 0.04021018, -0.113805994, 0.139067, -0.0110617215) * go_4(0.0, 1.0); - result += mat4(0.079940975, 0.01368856, 0.16861776, 0.08192191, -0.122989796, -0.099328294, 0.049420018, -0.09718617, -0.05760635, 0.017678939, -0.087738335, -0.075534955, 0.010387554, -0.028321257, 0.1314425, 0.0006286904) * go_4(1.0, -1.0); - result += mat4(0.01243246, 0.05316387, -0.019017072, 0.039417446, 0.06917462, 0.030646449, 0.037567277, 0.186223, -0.019127764, 0.04848654, 0.17375444, 0.17762296, -0.06592402, -0.04435415, -0.04296899, -0.11317639) * go_4(1.0, 0.0); - result += mat4(-0.03502325, -0.086596005, 0.054397397, 0.020352576, 0.048965316, 0.15153474, 0.1431249, 0.052301593, -0.008229829, -0.046441074, 0.029613024, -0.042361066, -0.022458816, -0.030389478, 0.106790364, 0.16180433) * go_4(1.0, 1.0); - result += mat4(0.045190386, -0.028396606, 0.03988003, 0.018620977, -0.08892243, 0.051916, 0.02764735, -0.031002073, -0.024089592, -0.07468457, 0.070725314, -0.032896645, 0.0072905435, 0.033070587, 0.012611254, 0.0015103485) * go_5(-1.0, -1.0); - result += mat4(-0.11496197, -0.034812376, -0.12765816, -0.073968515, 0.1103958, -0.015156485, -0.043987215, 0.06353695, 0.060253356, -0.09172886, 0.051112115, 0.04185245, -0.010958595, -0.009855241, 0.07016091, 0.08352796) * go_5(-1.0, 0.0); - result += mat4(-0.0018355614, 0.009696581, -0.014894175, 0.10311216, -0.0023905442, -0.031233516, -0.14643733, -0.13987964, -0.03829992, 0.09283117, 0.020682491, -0.0038340855, 0.018485101, -0.08282137, 0.06482714, -0.04316507) * go_5(-1.0, 1.0); - result += mat4(0.110480644, 0.0354597, 0.17428526, 0.13770753, 0.06420499, 0.0076466007, -0.02015196, -0.07055463, 0.03758145, -0.11852888, -0.01557475, -0.050508235, -0.0027972506, -0.016254924, -0.0875164, -0.05621017) * go_5(0.0, -1.0); - result += mat4(0.05704481, 0.07027665, 0.07560543, -0.27404872, -0.1203241, -0.13563003, 0.31092855, 0.23089512, 0.081106246, 0.14123824, 0.09980848, -0.1233403, 0.136044, 0.053615157, 0.124605425, -0.14057036) * go_5(0.0, 0.0); - result += mat4(-0.03378077, -0.07225837, 0.12690358, -0.10464525, -0.0295789, 0.06703109, 0.07382307, -0.026333801, -0.09037467, -0.07251056, -0.05310559, 0.000101977144, -0.10449609, 0.1944587, 0.13968393, 0.026316661) * go_5(0.0, 1.0); - result += mat4(-0.01433047, 0.009148719, -0.111054346, 0.020732088, 0.042477377, -0.043188296, 0.098809525, 0.073676586, -0.0322328, 0.01969649, 0.010843924, 0.12852491, -0.019762363, -0.058187466, -0.09948641, -0.041471776) * go_5(1.0, -1.0); - result += mat4(-0.046551157, 0.007494576, 0.020390457, 0.039238412, 0.034302976, 0.06468725, -0.08491083, -0.022852294, -0.03540986, 0.15482925, -0.05325463, -0.08798036, -0.0019466237, -0.09249625, -0.026100513, 0.10110193) * go_5(1.0, 0.0); - result += mat4(-0.027061401, -0.035921685, 0.03197978, 0.08998862, 0.021752719, -0.07339133, 0.010681594, -0.0795563, -0.031203764, -0.048886176, 0.1505545, 0.05413737, -0.2009508, -0.09878104, 0.12233396, 0.12264711) * go_5(1.0, 1.0); - result += mat4(0.000201578, -0.020336568, 0.00035553024, -0.04552163, 0.045114692, -0.101587355, 0.04016851, 0.019786127, 0.081738554, -0.035416037, 0.015109221, -0.013051524, 0.015240257, -0.014836099, -0.01573197, -0.067426234) * go_6(-1.0, -1.0); - result += mat4(0.06572358, -0.0053061, 0.05557546, -0.0066949055, 0.07563655, 0.062391594, -0.03726393, 0.0052256803, 0.021015963, -0.020943565, 0.17579497, -0.016357217, 0.113310464, 0.08199825, -0.006430871, 0.008816601) * go_6(-1.0, 0.0); - result += mat4(-0.005421809, 0.04227301, -0.16125767, -0.06964377, -0.09038185, 0.024234684, -0.022720145, 0.00079508655, 0.008849058, 0.013611232, 0.043701556, -0.048654094, 0.08114624, 0.0073766154, -0.06040684, -0.020945968) * go_6(-1.0, 1.0); - result += mat4(0.015536741, 0.03772623, 0.14326756, -0.0015041671, -0.04507155, 0.015579776, 0.2857906, -0.11391861, -0.117170595, 0.047959678, -0.06387855, -0.0055391947, 0.060498606, 0.009427265, 0.50844795, -0.11058385) * go_6(0.0, -1.0); - result += mat4(-0.051472906, 0.009261859, -0.15015996, 0.12943685, 0.19357206, -0.116032414, -0.28050247, -0.090211906, 0.0010450644, 0.044784248, -0.00023668195, 0.11839819, -0.22070691, 0.22376983, 0.045054942, 0.047100548) * go_6(0.0, 0.0); - result += mat4(0.04065783, -0.028647335, 0.083073996, 0.06967863, 0.023751903, 0.14010519, -0.15699695, -0.07796914, 0.018112006, -0.048332486, 0.064069994, 0.003143784, 0.0074339295, 0.14113344, 0.059680164, 0.008873948) * go_6(0.0, 1.0); - result += mat4(-0.05741473, -0.027159097, 0.045549147, 0.0708231, -0.15182017, -0.077091426, 0.040370047, 0.058241665, -0.05299617, -0.028760802, -0.0076170033, -0.11069676, 0.08858413, -0.006301153, 0.04273877, -0.05631213) * go_6(1.0, -1.0); - result += mat4(0.025762111, 0.062415194, -0.14223552, 0.003412124, 0.05552051, 0.18844947, -0.22042769, 0.015809692, 0.090370014, -0.006739683, -0.060091887, 0.07976979, -0.0058506215, -0.16953866, 0.024433328, 0.05852742) * go_6(1.0, 0.0); - result += mat4(0.0316892, 0.09573295, 0.08312811, 0.010179943, 0.037315205, -0.065285094, -0.0012986633, -0.05224675, -0.0047330237, 0.08265473, 0.09477729, -0.06736327, -0.06450191, -0.08257717, -0.057862822, 0.08835963) * go_6(1.0, 1.0); - result += mat4(0.0024440633, -0.036616765, -0.033401538, 0.004977876, 0.036649343, 0.08101561, 0.111079, -0.0026892924, 0.018146338, -0.024757951, -0.049987808, 0.088031135, -0.059743408, -0.0063467845, 0.04389662, 0.058518223) * go_7(-1.0, -1.0); - result += mat4(-0.015003317, -0.025828838, 0.04108641, -0.060053583, -0.08861021, 0.015026266, -0.06384911, -0.049570337, -0.11708947, 0.0040502516, -0.29292357, -0.13572334, -0.048173945, -0.035088543, 0.0645735, 0.003977293) * go_7(-1.0, 0.0); - result += mat4(0.023741405, 0.04877632, -0.09316636, -0.023240283, 0.017736096, -0.0037682957, 0.12203123, 0.023406139, 0.0039402544, -0.021817943, 0.10562721, 0.0065815113, 0.0241319, 0.09085425, 0.06748136, 0.035957564) * go_7(-1.0, 1.0); - result += mat4(-0.040901843, 0.14610243, -0.033210922, -0.047225397, 0.014037701, -0.056691576, 0.010777748, -0.07679006, -0.23969224, 0.14371933, 0.010285852, -0.098876506, 0.12892431, 0.078993894, -0.014415507, -0.01773652) * go_7(0.0, -1.0); - result += mat4(0.09569853, 0.08022542, 0.17847797, 0.05742365, -0.028737325, -0.06577205, 0.0099042505, -0.1788678, -0.024437329, -0.00854858, 0.064116485, 0.08779381, 0.038688138, -0.11070709, -0.061672393, -0.07259389) * go_7(0.0, 0.0); - result += mat4(-0.061463468, -0.041322544, -0.049147107, -0.056226347, 0.07580429, -0.09154353, 0.1392037, 0.1725724, 0.0846089, -0.09506338, 0.0014113535, -0.043457717, 0.02086055, 0.016039053, 0.0070436527, 0.010863293) * go_7(0.0, 1.0); - result += mat4(0.040287588, 0.01495664, -0.027837565, -0.049098965, 0.030421665, 0.050820872, -0.034790598, 0.081854686, -0.060803648, -0.10076397, 0.10959196, 0.08770263, 0.02639544, 0.017585248, 0.03741672, 0.098596066) * go_7(1.0, -1.0); - result += mat4(-0.11272804, -0.07179105, 0.29052478, 0.16043298, -0.004745162, -0.02539786, 0.03064631, -0.11615134, 0.1467622, -0.30389008, 0.37392983, 0.081603326, -0.081118405, 0.049201585, 0.09506965, -0.07426272) * go_7(1.0, 0.0); - result += mat4(0.0021397786, -0.043339223, -0.024574393, 0.004753203, 0.008854377, 0.114565484, -0.10472323, -0.054310642, -0.1363216, 0.26929548, -0.034043808, 0.0016566974, -0.024689924, 0.047800675, -0.00087367673, -0.010073392) * go_7(1.0, 1.0); - result += vec4(-0.0092416825, -0.017586693, -0.056248806, 0.024289904); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups1 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.036600452, -0.10049528, 0.0425083, 0.00748036, -0.07228494, 0.092974216, -0.08875746, 0.0038487716, -0.014452269, 0.022789069, 0.03057275, 0.08749693, -0.034161948, 0.016061379, -0.123270914, -0.14571433) * go_0(-1.0, -1.0); - result += mat4(0.03586051, 0.117893025, 0.019521732, -0.086191945, 0.09005548, 0.08917978, -0.038505673, 0.027726982, 0.047773708, 0.07542637, -0.09766821, -0.05601306, 0.016462456, -0.031262327, 0.29434896, -0.031188589) * go_0(-1.0, 0.0); - result += mat4(-0.0010024331, -0.13936394, 0.09529403, 0.038214546, -0.004169407, -0.030122723, 0.06738456, 0.037226625, 0.016386302, -0.043177616, 0.0067897406, -0.0417514, -0.18339635, -0.0851196, 0.122963585, -0.04226655) * go_0(-1.0, 1.0); - result += mat4(0.120718524, -0.07883002, 0.07970128, 0.026766716, 0.038295228, -0.012892055, -0.0853028, -0.06261667, 0.06648932, 0.077419154, -0.083746694, -0.024860187, -0.041543417, -0.078661576, 0.105570786, 0.17292567) * go_0(0.0, -1.0); - result += mat4(0.06017667, 0.10275487, -0.17618456, -0.090398066, -0.11300483, 0.010944091, 0.059611183, -0.053765967, -0.08456634, -0.26681066, 0.120561525, 0.0389813, -0.3168673, -0.07365836, 0.19187033, 0.3629531) * go_0(0.0, 0.0); - result += mat4(-0.047863573, -0.16097455, 0.058843378, 0.024493651, -0.050211128, 0.020149479, 0.08273668, -0.03951675, -0.051696103, -0.015382585, 0.012727583, 0.062049612, 0.023429222, 0.111244336, -0.24765679, 0.047255322) * go_0(0.0, 1.0); - result += mat4(-0.043454263, -0.056187622, 0.08826043, 0.03379153, 0.0328122, 0.09490295, -0.106024, 0.0513934, 0.010730174, -0.021311862, 0.0009606973, -0.048898865, -0.05885993, 0.13555479, -0.029676508, 0.15599397) * go_0(1.0, -1.0); - result += mat4(0.014284165, 0.0022697337, 0.0423487, -0.043128587, -0.066065155, -0.14259978, 0.036370326, 0.11544268, 0.0011783034, 0.014464844, -0.0077034896, 0.07947936, 0.0847673, -0.027169127, 0.060862433, 0.051962093) * go_0(1.0, 0.0); - result += mat4(-0.06810183, 0.0038956213, 0.02663297, 0.07350188, 0.028407782, -0.08836482, 0.120757915, 0.0033882086, 0.025512185, 0.13103734, -0.09310468, -0.09251054, 0.06252439, 0.101230994, -0.050645854, -0.11273561) * go_0(1.0, 1.0); - result += mat4(0.18605615, -0.018943008, 0.12841246, -0.048895158, -0.087834686, -0.06213869, 0.020271972, 0.01735206, -0.028159512, -0.0012055358, -0.031407196, 0.01459528, 0.055683896, 0.03376991, 0.074921526, 0.08031476) * go_1(-1.0, -1.0); - result += mat4(0.16044307, -0.04908117, 0.16997416, -0.042656355, 0.026869124, -0.015336793, 0.06704625, 0.005058682, 0.02062564, 0.030037567, 0.015916575, -0.013523192, 0.012619856, 0.074030444, 0.02436604, 0.003554498) * go_1(-1.0, 0.0); - result += mat4(-0.05024195, 0.06433591, 0.02808383, 0.06368531, 0.008005133, -0.02590703, -0.022208184, 0.038581703, -0.007899184, -0.076488025, 0.00072744075, 0.061727125, 0.11445254, -0.020653702, -0.010182034, 0.028005669) * go_1(-1.0, 1.0); - result += mat4(-0.08974687, 0.10983013, -0.05198625, 0.025618017, 0.04013525, 0.08194611, 0.07054715, -0.039644957, -0.0019942275, 0.15640324, 0.079898156, -0.050505124, 0.018647147, 0.1864857, -0.10004012, -0.1785983) * go_1(0.0, -1.0); - result += mat4(-0.12734273, -0.1984448, 0.047983695, -0.029723175, -0.019461578, 0.011290827, 0.05483677, -0.08040967, 0.010945984, 0.20160717, 0.06651317, -0.026364818, -0.19147083, 0.022746865, -0.005397772, -0.18815117) * go_1(0.0, 0.0); - result += mat4(0.056349758, -0.027665544, -0.025720505, 0.06478612, 0.028723124, -0.040507562, 0.046986, -0.07457037, -0.011984053, 0.08888314, 0.14762667, 0.10618448, -0.013883168, -0.015380026, 0.022096027, -0.13794257) * go_1(0.0, 1.0); - result += mat4(-0.051857505, 0.0046023214, 0.048188727, 0.018825505, -0.027216887, -0.034863137, -0.05376821, -0.03810819, 0.05989397, 0.03594429, -0.23096226, 0.15341154, 0.08981187, -0.05070559, 0.026243754, -0.04263998) * go_1(1.0, -1.0); - result += mat4(-0.009617233, 0.03463696, -0.02096688, 0.030073844, 0.044995844, 0.07873687, -0.042068962, 0.13536318, -0.030567715, -0.05154325, 0.07210971, -0.17742214, 0.053942777, 0.0127787, 0.068606384, 0.0650419) * go_1(1.0, 0.0); - result += mat4(0.025862409, 0.025395997, 0.05269671, 0.05798525, -0.042442568, 0.0445204, -0.064225905, -0.055657025, 0.11636964, -0.04205307, -0.014663356, 0.010643147, 0.082133, -0.023850026, 0.10308432, 0.107985206) * go_1(1.0, 1.0); - result += mat4(0.11726699, 0.05656771, 0.02469043, -0.13420433, 0.038069904, -0.008463304, 0.035647616, 0.07362852, 0.14594945, 0.09443728, -0.090279855, -0.0491621, 0.025128877, -0.12093358, 0.056935582, 0.020768635) * go_2(-1.0, -1.0); - result += mat4(-0.03540259, -0.037914194, -0.21112189, -0.019102415, -0.009190789, -0.017674621, -0.0076943026, -0.068069465, 0.07027692, -0.023830496, -0.19833852, 0.043303248, -0.09002839, 0.062405612, 0.034014236, 0.015062283) * go_2(-1.0, 0.0); - result += mat4(-0.01055108, -0.078035474, 0.15064569, -0.043817606, 0.03865331, 0.06653527, -0.08737055, 0.07359416, 0.034335107, 0.094619036, 0.15430231, 0.081489205, 0.11551119, -0.13892402, 0.10169955, -0.016521193) * go_2(-1.0, 1.0); - result += mat4(-0.21723948, -0.003718774, 0.0036089579, 0.2417116, 0.05871629, 0.08170726, -0.018392453, -0.09107411, -0.0054566264, -0.11625159, -0.028020184, -0.04901969, -0.06090618, 0.010701764, -0.054772582, 0.015806887) * go_2(0.0, -1.0); - result += mat4(-0.12086319, 0.06057755, 0.4838376, 0.026492605, 0.0011703236, 0.016707094, 0.14285243, -0.019033382, -0.10223409, -0.25914297, 0.07972699, 0.08980557, 0.0018122899, -0.12970547, 0.28545263, 0.15324087) * go_2(0.0, 0.0); - result += mat4(0.095036976, 0.162094, -0.13472636, 0.022491721, 0.0815172, 0.07862179, 0.051775135, -0.102338746, 0.050679415, -0.002904758, -0.06392857, -0.124154866, -0.031455033, 0.044263933, -0.01326217, -0.08059905) * go_2(0.0, 1.0); - result += mat4(-0.017460492, 0.12181631, -0.05040324, 0.08211638, -0.07552046, 0.061242603, -0.06086253, 0.20668316, 0.13807769, 0.056059014, -0.05011972, -0.05253501, -0.012529453, -0.036754012, 0.14976881, 0.014519357) * go_2(1.0, -1.0); - result += mat4(0.08175377, 0.03418494, -0.07925977, 0.01547301, -0.055616055, -0.0768169, 0.1390287, -0.020122616, -0.08055283, -0.08153747, -0.13700585, 0.09619712, 0.05064319, -0.010092189, -0.0375194, 0.08658357) * go_2(1.0, 0.0); - result += mat4(0.073422946, 0.0146288825, -0.018180208, -0.13258615, -0.039849028, -0.043496124, -0.10103034, 0.026819391, 0.10169963, -0.0018588677, 0.038265944, 0.120759994, 0.004948789, 0.05993842, -0.04388326, 0.08129302) * go_2(1.0, 1.0); - result += mat4(0.081689045, 0.014836045, 0.05355978, -0.01353243, 0.107137255, 0.064938255, 0.038997065, 0.07195731, 0.016222289, -0.078091234, 0.07403487, 0.028206307, 0.20964447, 0.1212519, -0.11971038, -0.061158486) * go_3(-1.0, -1.0); - result += mat4(0.078742854, 0.13448513, -0.13717398, -0.034942567, 0.00084557495, -0.12339975, 0.14178696, 0.08150612, -0.03697507, 0.066154145, 0.13886937, -0.010311026, -0.24136373, -0.13241349, 0.24087813, 0.08533747) * go_3(-1.0, 0.0); - result += mat4(0.03430129, 0.0037780532, -0.007673756, 0.020130971, -0.0044403607, -0.07021513, 0.10380787, 0.14933755, 0.041128885, -0.03377426, -0.049867447, 0.009597504, 0.16559608, 0.11873942, -0.13425362, -0.20407131) * go_3(-1.0, 1.0); - result += mat4(-0.036280643, -0.06241548, 0.06455707, 0.049787894, -0.034338452, -0.09344071, 0.03835458, -0.006981486, -0.14018786, -0.011602153, 0.031711817, 0.14739467, -0.086071335, -0.02941477, -0.1331472, -0.1407458) * go_3(0.0, -1.0); - result += mat4(-0.363801, -0.3426056, 0.43446818, 0.14184493, -0.043009415, 0.12158466, -0.00069684035, 0.016873702, 0.1945484, -0.012431146, -0.011880592, 0.05318626, 0.009308447, -0.03746046, 0.008252808, 0.19175647) * go_3(0.0, 0.0); - result += mat4(0.028470002, 0.046196483, -0.019992633, -0.022190072, -0.02065911, 0.0012663519, 0.07120167, -0.044254795, -0.10193641, 0.030516576, 0.02787046, -0.04924085, -0.049268037, -0.07700933, -0.07501593, 0.024738712) * go_3(0.0, 1.0); - result += mat4(0.030772889, 0.085558966, 0.010656247, -0.052993905, 0.092419, 0.011421665, -0.010418454, 0.11450772, 0.05909975, 0.04161958, -0.057470143, -0.030408699, 0.034243915, 0.018652268, 0.037665583, -0.10579696) * go_3(1.0, -1.0); - result += mat4(0.033843916, -0.052055147, -0.0061939596, 0.14933237, -0.021384299, -0.11220086, 0.16817182, 0.07226995, -0.0019460522, 0.037093364, 0.006299001, -0.012791559, 0.07793023, 0.016396904, -0.17646463, 0.03107925) * go_3(1.0, 0.0); - result += mat4(-0.079229996, -0.08031799, 0.074023575, 0.094321184, 0.107194535, 0.002679795, 0.01696248, 0.022019532, -0.060462113, -0.12410458, 0.09164494, 0.04465332, -0.036993235, -0.04089986, 0.07887512, 0.03705818) * go_3(1.0, 1.0); - result += mat4(0.023879867, 0.029037073, 0.031775165, -0.012534231, -0.061297957, -0.12414688, -0.0061589857, 0.09904923, -0.015112107, 0.0025069374, -0.05153491, -0.06716497, -0.049514554, -0.035703696, 0.04182817, 0.06708679) * go_4(-1.0, -1.0); - result += mat4(-0.02001713, -0.14557798, 0.032613203, 0.20243393, -0.013130612, -0.1395011, 0.03946799, -0.07323916, 0.07356177, 0.046725225, 0.05240954, -0.025315452, -0.06705972, 0.010152784, 0.005582486, -0.010632767) * go_4(-1.0, 0.0); - result += mat4(0.01107158, 0.14361717, -0.01027669, -0.06977661, -0.015506498, -0.08009711, -0.049369916, 0.013256896, 0.09607297, 0.047628637, -0.004883173, -0.030504778, -0.021422993, 0.06514191, -0.057140954, -0.019981224) * go_4(-1.0, 1.0); - result += mat4(0.047159072, 0.034381762, 0.14981769, -0.043645702, -0.124827474, 0.012525535, -0.0054960474, 0.1405509, 0.074576266, -0.021097016, 0.018321652, -0.056906573, 0.06499063, -0.0019109225, 0.08374337, -0.010492324) * go_4(0.0, -1.0); - result += mat4(0.08373692, 0.15187778, -0.27014562, -0.17400904, -0.049838763, -0.22245635, 0.00080737704, 0.024572477, -0.36345053, 0.02694741, 0.057404008, 0.18956926, 0.26063764, 0.0007533811, -0.04845999, -0.10193579) * go_4(0.0, 0.0); - result += mat4(-0.15060706, -0.17832954, 0.22891277, 0.082172275, 0.25026387, 0.10119867, -0.023256555, -0.025888028, -0.009437122, -0.063439816, 0.15555051, -0.050157774, 0.094762266, 0.03019711, -0.11379254, 0.018478116) * go_4(0.0, 1.0); - result += mat4(-0.12000546, -0.022537604, 0.07280972, 0.16499762, 0.008056701, 0.066467926, -0.06497226, -0.15862136, 0.058946434, -0.0063008643, 0.041846216, -0.061596587, -0.13342406, -0.112567835, 0.06944396, 0.056088146) * go_4(1.0, -1.0); - result += mat4(-0.030962473, -0.18805887, 0.2126654, -0.0027007672, -0.00648651, 0.079722315, -0.1538599, -0.07296181, -0.036658805, -0.09059722, 0.05471986, 0.08511789, 0.0007401954, 0.16351995, 0.05114691, -0.14328448) * go_4(1.0, 0.0); - result += mat4(0.04927504, 0.041177347, -0.02346726, 0.024012934, -0.317856, -0.2841823, 0.19005524, 0.15457007, 0.087196484, 0.08966383, -0.13495699, -0.022624519, -0.062964186, -0.026302189, -0.030058028, 0.05569484) * go_4(1.0, 1.0); - result += mat4(-0.21256535, -0.1256674, 0.04386876, 0.02686491, 0.07546727, 0.07505862, 0.020523047, -0.0647109, -0.0045183306, -0.06722965, -0.10788707, 0.045738406, -0.07110149, 0.08297262, -0.0027526245, -0.11636714) * go_5(-1.0, -1.0); - result += mat4(-0.104496345, -0.07810094, 0.013820034, 0.047616083, 0.061721217, -0.05070667, -0.0873486, 0.08213846, 0.005749702, 0.019383933, 0.008758534, -0.041487392, -0.04724564, -0.09108384, -0.11880328, 0.009947664) * go_5(-1.0, 0.0); - result += mat4(0.030759938, -0.032979824, -0.047346096, -0.013302729, -0.14408723, 0.042521305, -0.010729574, -0.053680096, 0.068864316, -0.017572708, -0.10045359, 0.0049988613, -0.0895897, 0.091285735, -0.18951705, -0.09892183) * go_5(-1.0, 1.0); - result += mat4(0.038478836, -0.081761025, -0.08195131, 0.12914582, -0.12002848, -0.110520326, -0.09566576, 0.018972868, 0.040712226, -0.05793596, -0.0919947, 0.0019073535, -0.049140133, -0.028056612, -0.08551121, 0.012700745) * go_5(0.0, -1.0); - result += mat4(0.17331201, 0.13677491, -0.04997954, 0.09988764, -0.089485645, -0.04612224, 0.13600495, -0.13690437, -0.102481514, -0.14464565, 0.12109368, 0.23495875, -0.06111496, -0.10306756, 0.034698345, 0.15709037) * go_5(0.0, 0.0); - result += mat4(-0.012643798, 0.063074, -0.058778394, -0.056396093, -0.05438093, -0.015130332, 0.03852182, 0.11763278, 0.035115402, -0.05682689, -0.12658226, -0.04988596, 0.048134044, -0.19865042, 0.109279566, 0.10423599) * go_5(0.0, 1.0); - result += mat4(0.10583719, 0.0113163935, -0.0031981077, -0.028149163, 0.045971226, 0.036225725, -0.06085606, 0.043069858, -0.08121652, -0.23354004, 0.13699675, -0.060893144, 0.05221622, 0.11881476, -0.0659965, -0.14909789) * go_5(1.0, -1.0); - result += mat4(0.040611804, -0.10602289, -0.03361772, -0.04883893, -0.028734764, 0.05173029, 0.036734596, 0.19996317, -0.0009807746, -0.0415771, 0.008758702, 0.034872107, 0.0172699, 0.08084259, -0.06105373, 0.04255928) * go_5(1.0, 0.0); - result += mat4(0.015299113, 0.051659316, -0.046948556, -0.003954264, -0.005800563, 0.021443516, 0.0071085985, 0.0038653556, -0.012855212, 0.13058828, -0.07044971, -0.12981774, -0.065569706, -0.098080546, 0.060221337, -0.02267232) * go_5(1.0, 1.0); - result += mat4(0.021925988, 0.0033903953, -0.038551815, 0.022253161, -0.08025514, 0.010705209, 0.01990159, -0.010836922, -0.100784704, -0.020371707, -0.003533104, -0.014453031, -0.09296767, 0.114152946, -0.09816377, -0.05605566) * go_6(-1.0, -1.0); - result += mat4(0.024052007, 0.0076485197, -0.014629995, 0.06683915, 0.07951316, 0.021709364, -0.037089862, -0.020869136, -0.11817369, 0.03075232, -0.03773024, -0.07258729, 0.10942977, -0.013703647, -0.0042897686, -0.04358183) * go_6(-1.0, 0.0); - result += mat4(-0.0046099517, -0.05240763, -0.015601794, 0.010184972, 0.01799307, -0.039324455, 0.05117223, -0.036190648, -0.09316509, 0.004145605, 0.11233925, -0.023034701, -0.09088562, 0.06628762, -0.01225783, -0.0012409297) * go_6(-1.0, 1.0); - result += mat4(0.032804858, -0.17500286, 0.00961667, -0.017876368, 0.028494174, 0.069435544, -0.015773311, 0.023463074, 0.0015966955, 0.13775815, 0.020481227, -0.025414297, 0.14772649, 0.12043967, -0.0628352, -0.104317315) * go_6(0.0, -1.0); - result += mat4(0.10589171, 0.010616621, -0.0555519, -0.0795588, -0.02541814, -0.061566357, -0.06662627, 0.1196147, 0.15489292, 0.034945585, -0.16369933, 0.021373538, -0.2541264, -0.44340774, 0.47674945, 0.171201) * go_6(0.0, 0.0); - result += mat4(0.028510967, 0.014371279, -0.103142746, -0.010580394, 0.0010098416, 0.0076248804, -0.07597531, -0.022805681, -0.05487249, -0.05104925, 0.05199367, 0.13347325, -0.08393004, -0.0701232, -0.08901793, -0.042123932) * go_6(0.0, 1.0); - result += mat4(-0.026462447, -0.10791574, 0.05057912, 0.036235824, -0.011467163, 0.019233258, -0.025482355, -0.15424, -0.057926964, 0.10093948, -0.01392631, -0.040162254, -0.059321795, -0.05425772, -0.05438917, -0.033259034) * go_6(1.0, -1.0); - result += mat4(0.0011889589, -0.023323996, -0.0613446, -0.115895376, 0.050403714, -0.02889743, -0.059284817, -0.07242897, -0.0028701979, 0.04654718, -0.06953315, -0.03487799, -0.05999425, 0.09813447, -0.10942578, -0.13293572) * go_6(1.0, 0.0); - result += mat4(-0.10951783, -0.082228996, 0.09871249, 0.097529456, 0.08310757, 0.03422834, 0.047492176, -0.06874066, -0.0759589, -0.0033077076, -0.0024196375, 0.023463583, -0.014742949, -0.034303434, 0.04273789, -0.0164727) * go_6(1.0, 1.0); - result += mat4(-0.08497372, 0.019795286, -0.015950322, -0.057297662, -0.0223747, -0.009376575, 0.043156173, -0.01271999, -0.07724598, -0.0540987, 0.1987636, 0.076389305, -0.094129756, -0.042982556, 0.07314102, -0.013628902) * go_7(-1.0, -1.0); - result += mat4(0.03750869, 0.07698087, -0.117014386, -0.05225745, 0.11294297, -0.031999957, 0.03704065, -0.021167262, -0.0862934, -0.06753798, 0.19105913, 0.10699714, 0.04170076, 0.072142765, -0.10197827, -0.1055865) * go_7(-1.0, 0.0); - result += mat4(-0.013107477, 0.09128649, -0.05787237, -0.049287997, -0.07878871, 0.019254869, -0.07480948, 0.07593456, 0.057818025, 0.05763952, -0.031697746, 0.0056809774, -0.01645009, -0.10795878, 0.0865629, -0.030644817) * go_7(-1.0, 1.0); - result += mat4(0.115899526, 0.055816144, -0.016174385, -0.02820764, -0.05774452, 0.01875526, -0.11483548, -0.027121585, -0.0046210997, -0.0051070275, 0.23290497, 0.19008842, 0.010742899, 0.04031036, 0.07566202, 0.11333676) * go_7(0.0, -1.0); - result += mat4(-0.12043958, -0.28603542, 0.06397322, 0.13864613, 0.21166763, 0.14297609, -0.18247512, -0.1454749, -0.11123017, 0.1410923, -0.11315098, -0.17875485, -0.043366186, 0.07890019, 0.03153579, -0.03690313) * go_7(0.0, 0.0); - result += mat4(0.066808365, 0.102260545, -0.1077725, -0.07374767, 0.04282324, -0.02484866, -0.09705394, 0.047179155, 0.03058672, -0.11111413, -0.080625035, 0.024875682, -0.043648057, 0.04860828, 0.05114606, 0.08051415) * go_7(0.0, 1.0); - result += mat4(-0.0186498, -0.050304867, 0.0034133345, -0.10127962, -0.037291683, -0.090286255, 0.081160225, 0.016121808, 0.07449416, 0.09616372, -0.11090895, -0.15756927, 0.05957192, 0.0053342422, -0.05972524, 0.07521942) * go_7(1.0, -1.0); - result += mat4(-0.03800213, 0.05256445, -0.022509284, 0.008419448, -0.08595732, 0.0037854793, -0.050306506, -0.057507675, -0.19598673, -0.063246034, -0.15284, 0.13269582, -0.025323318, 0.016622456, 0.021527806, -0.1195862) * go_7(1.0, 0.0); - result += mat4(0.008493042, 0.056067012, -0.031050796, -0.06514964, -0.06500391, -0.02649145, 0.08311761, 0.0028549077, 0.0029055455, -0.08504145, 0.19540878, 0.14506, 0.100824416, -0.025171654, -0.018510107, -0.06984087) * go_7(1.0, 1.0); - result += vec4(0.02732881, 0.021604052, -0.03920548, 0.013156768); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!SAVE conv1ups2 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0338484, 0.065554306, 0.022499017, -0.07193342, 0.009319206, -0.019622665, -0.0022854384, 0.06722955, -0.037171688, 0.21049353, -0.12840205, 0.004924503, -0.025024865, 0.25844762, -0.16657548, 0.019917585) * go_0(-1.0, -1.0); - result += mat4(-0.0024739709, 0.05143312, -0.07328386, 0.04066767, 0.030474328, -0.012129753, 0.018400962, 0.029891983, 0.05170059, 0.10843976, 0.03255985, 0.032410163, -0.07313554, 0.035621487, -0.09497017, -0.04373978) * go_0(-1.0, 0.0); - result += mat4(-0.033401582, -0.040989492, 0.020176526, -0.02860895, 0.048755184, -0.11871396, -0.06562844, -0.012969062, -0.113225095, 0.20629893, -0.008754771, -0.08881375, -0.0021345627, -0.1245763, -0.079098016, -0.05463282) * go_0(-1.0, 1.0); - result += mat4(0.1397842, 0.025592009, 0.08919784, -0.0018412827, -0.09593857, -0.044012453, 0.05244065, 0.0018048901, 0.03681817, -0.05537194, 0.11957837, 0.08423482, -0.032438703, 0.013607357, 0.007749519, 0.03162995) * go_0(0.0, -1.0); - result += mat4(0.10553414, -0.049609825, 0.10316826, -0.0030610282, 0.018270468, -0.061325338, -0.114640795, 0.07834803, -0.19039996, -0.06895166, -0.28123093, -0.1568968, 0.00084810314, 0.12037387, 0.18976732, -0.012560539) * go_0(0.0, 0.0); - result += mat4(-0.029349862, -0.039899964, -0.028504632, -0.028814254, 0.019151794, 0.010422004, 0.07810853, -0.013528557, -0.023518454, -0.068328835, 0.07349284, 0.0042851837, 0.32870826, -0.26289937, 0.072471805, -0.006485071) * go_0(0.0, 1.0); - result += mat4(-0.114259824, -0.038230922, -0.0142895905, 0.02450442, -0.07750744, -0.017409299, 0.025817273, -0.08860796, 0.187305, 0.088102676, 0.045698132, -0.03222616, -0.05683522, -0.18788742, -0.09507957, 0.022035798) * go_0(1.0, -1.0); - result += mat4(0.11263524, 0.06584172, -0.02255806, -0.020872615, -0.15806857, 0.018830763, -0.14352055, 0.11724111, 0.045604244, 0.07796575, 0.027300917, 0.0031999366, -0.04194185, 0.14252312, 0.078917086, 0.036697272) * go_0(1.0, 0.0); - result += mat4(-0.052083753, 0.09808133, -0.009411908, 0.11982238, -0.040272884, 0.04083718, 0.038824633, -0.17214175, 0.11966622, -0.054194614, 0.036954165, 0.013423128, 0.0063084476, -0.12937415, -0.019893749, 0.034319002) * go_0(1.0, 1.0); - result += mat4(0.035393953, 0.14025599, 0.00991204, 0.0072391164, 0.05766178, -0.049370795, -0.12962799, 0.020646155, 0.042220477, 0.029985424, 0.057119016, 0.040771853, -6.174299e-05, 0.09748859, -0.03377361, 0.002246882) * go_1(-1.0, -1.0); - result += mat4(-0.21506493, -0.09882148, 0.055594433, -0.06410465, 0.015674507, 0.08875788, -0.0006478795, -0.04977159, 0.22082454, -0.23415801, -0.08875935, 0.018581826, -0.038377263, 0.10177655, 0.083047464, -0.032258555) * go_1(-1.0, 0.0); - result += mat4(-0.0064842016, 0.0696411, -0.039478038, 0.04577863, 0.09780145, 0.028456237, -0.027617568, 0.04454641, 0.052396413, -0.018456027, 0.006240904, 0.07230352, -0.064150326, -0.03366613, -0.07332717, 0.053449873) * go_1(-1.0, 1.0); - result += mat4(0.023726959, -0.01828639, -0.007445437, 0.04195106, 0.008480755, 0.09939679, 0.0056850864, -0.031904347, -0.1588084, 0.08464271, 0.056286097, 0.06798317, -0.116808765, 0.030872507, 0.13454725, -0.07143643) * go_1(0.0, -1.0); - result += mat4(-0.01810022, -0.09620326, -0.07751335, -0.22906737, -0.1846048, 0.082176685, 0.012124299, -0.12939751, -0.27217293, 0.33110878, 0.084210694, 0.14638188, 0.1365236, -0.15294541, -0.0886321, 0.104566276) * go_1(0.0, 0.0); - result += mat4(0.012840808, 0.0013052316, -0.032042626, 0.081946686, -0.047170527, 0.034932077, 0.03316669, -0.051371098, 0.124509424, -0.018540544, -0.0003837269, 0.022210114, 0.055204254, -0.013787497, -0.014764483, -0.15336047) * go_1(0.0, 1.0); - result += mat4(0.012599393, 0.17533247, 0.022991834, -0.03211304, -0.020345578, 0.113983504, 0.014632539, -0.05887958, -0.15806466, -0.09464611, -0.04534859, -0.12347738, -0.1520882, 0.011230014, 0.004455861, -0.14973375) * go_1(1.0, -1.0); - result += mat4(-0.065917194, -0.035512056, 0.031102693, 0.060933307, -0.02593658, -0.109777324, -0.032401618, 0.13028993, -0.020557994, -0.117559545, 0.08317679, -0.23354602, -0.01592865, 0.15928279, 0.08244633, 0.1479819) * go_1(1.0, 0.0); - result += mat4(-0.010819472, 0.075779155, -0.019519886, 0.102649584, 0.014980766, 0.019251958, -0.011685782, -0.034067437, 0.031849053, -0.0682728, 0.01790959, 0.037713315, -0.08211083, -0.19022603, -0.11798944, -0.016174912) * go_1(1.0, 1.0); - result += mat4(0.08153453, -0.033585638, -0.05805481, 0.08109556, -0.09689133, -0.13055512, 0.0020046325, -0.0029349518, -0.059510633, 0.15292683, -0.028793702, 0.10537188, -0.11035281, -0.033447333, -0.05262533, 0.009009325) * go_2(-1.0, -1.0); - result += mat4(0.086087056, -0.14889634, 0.042120934, -0.06588642, 0.1940191, 0.012082308, 0.08089485, -0.041559532, -0.03492583, 0.1454766, 0.15322363, -0.056349102, -0.008337302, -0.11122289, 0.08725018, -0.041136846) * go_2(-1.0, 0.0); - result += mat4(-0.07462607, -0.1379561, 0.111250386, 0.00933672, -0.075622365, 0.09021725, -0.020666929, 0.08124079, 0.017696096, 0.0752183, -0.14648217, 0.03699762, 0.05343026, 0.041577548, 0.04425649, 0.038728572) * go_2(-1.0, 1.0); - result += mat4(-0.28092107, 0.014610808, 0.031096937, -0.047036063, 0.07267492, 0.10750966, 0.037799418, 0.0427444, 0.065877795, -0.1897678, -0.10701984, 0.056794036, 0.09691212, -0.079896726, -0.16408308, -0.06213223) * go_2(0.0, -1.0); - result += mat4(0.102322266, -0.042147823, -0.005965635, 0.115143105, 0.032525055, 0.11558508, 0.039382882, 0.013844102, -0.30971003, -0.1787396, 0.17922688, 0.109392576, -0.20874697, 0.3574331, 0.09885736, 0.0124685895) * go_2(0.0, 0.0); - result += mat4(-0.07606679, 0.044524554, -0.204831, 0.018925387, 0.043661278, -0.09994074, -0.047482055, -0.076295644, -0.13582784, 0.021150025, 0.07623231, -0.2527894, -0.044508826, -0.1361137, -0.052458636, 0.0060945638) * go_2(0.0, 1.0); - result += mat4(-0.24358742, -0.19750693, -0.03287655, -0.09131948, -0.14900212, 0.094384186, -0.06253741, -0.07731997, -0.019795047, 0.18039484, 0.022465153, 0.08112141, -0.07019665, -0.11493766, 0.031531274, 0.13177846) * go_2(1.0, -1.0); - result += mat4(-0.0028166103, 0.026403846, 0.07810358, 0.075667195, 0.054464176, 0.11381084, -0.030715328, 0.047939852, -0.07111295, -0.06292313, -0.013460788, 0.11503772, 0.02669688, -0.021964677, 0.07739555, -0.0881556) * go_2(1.0, 0.0); - result += mat4(0.054037657, 0.066638805, 0.018380845, -0.16307901, -0.033807877, 0.040921956, 0.054057736, -0.008528517, 0.06167168, -0.013450273, -0.060173254, 0.09289553, -0.014110446, 0.024162242, 0.0072062127, 0.0926438) * go_2(1.0, 1.0); - result += mat4(-0.11985171, 0.2359919, 0.0144552775, 0.029399775, -0.03222405, 0.07396268, 0.062363308, 0.044030357, -0.06955766, 0.059913747, -0.022207176, -0.10455009, -0.060708135, -0.06720781, 0.16230921, -0.030470075) * go_3(-1.0, -1.0); - result += mat4(0.07268368, -0.037689302, -0.0006378789, 0.051688604, -0.019494677, -0.017889218, 0.05410681, -0.040959217, -0.06665803, -0.052186687, -0.011745927, 0.065545335, 0.022045728, -0.20375493, -0.21016856, -0.06762163) * go_3(-1.0, 0.0); - result += mat4(-0.040465668, 0.083778955, 0.013434762, 0.038755294, -0.03848534, 0.17731902, -0.14471298, 0.05322156, 0.03127178, -0.08950242, 0.030044436, 0.01130042, -0.095673226, -0.04327992, 0.17350353, -0.007612962) * go_3(-1.0, 1.0); - result += mat4(0.04460292, -0.0031078972, 0.09711241, -0.06866971, -0.09262918, -0.084769346, 0.044754326, -0.10665114, 0.031228391, 0.0043790033, 0.03309391, 0.012486857, 0.23425025, 0.18271132, 0.1578141, -0.010678736) * go_3(0.0, -1.0); - result += mat4(-0.23845, 0.0423187, -0.12128633, -0.05818152, 0.13192599, -0.17009136, 0.04724319, 0.16300885, -0.060048696, -0.12740998, -0.05801625, 0.09705509, -0.054194454, -0.045284186, -0.1337804, -0.10992719) * go_3(0.0, 0.0); - result += mat4(0.1269832, -0.00020299156, 0.009369462, -0.037925567, 0.06473351, -0.053221237, -0.023879515, -0.007609877, 0.03754909, -0.048159488, -0.0023679247, -0.09056524, 0.16713028, 0.031278312, 0.056081764, -0.01342129) * go_3(0.0, 1.0); - result += mat4(-0.006760647, -0.09083782, 0.04076341, 0.094751135, -0.11061844, 0.11762189, -0.029435495, -0.035688248, 0.01733549, 0.006295947, 0.07678848, 0.011829498, 0.13984568, 0.094927594, -0.016725674, 0.08158711) * go_3(1.0, -1.0); - result += mat4(-0.1407642, -0.007187024, 0.018776545, -0.020115253, -0.12947425, 0.015566826, -0.06499993, 0.08037844, -0.017578483, -0.16355678, -0.028960422, 0.05753649, 0.031915013, 0.011823553, 0.1314363, 0.06283287) * go_3(1.0, 0.0); - result += mat4(-0.13424446, 0.03710137, -0.001757102, 0.03187992, 0.009409756, 0.047699206, -0.047759157, -0.010402033, -0.023234572, 0.17230392, 0.05499921, -0.10467258, -0.072978646, -0.11991742, -0.04271921, 0.16269293) * go_3(1.0, 1.0); - result += mat4(-0.0068589947, -0.26210552, -0.028049361, 0.0508914, -0.06342279, -0.017710757, -0.10827407, -0.04158776, 0.010000253, 0.13532205, -0.029077342, -0.008479235, -0.017489685, 0.014850057, 0.10131407, -0.106664196) * go_4(-1.0, -1.0); - result += mat4(-0.05549442, 0.09201339, -0.02593227, 0.012624096, -0.13465008, 0.16814372, 0.041814398, -0.04289135, -0.008671042, -0.20095816, 0.020371959, 0.008665319, -0.011442868, -0.1494836, -0.010815872, 0.0009426651) * go_4(-1.0, 0.0); - result += mat4(-0.047082372, 0.11580641, 0.03437082, -0.0026988252, -0.090915054, 0.08479583, -0.027014773, 0.054158032, 0.08011723, 0.12726231, 0.094610505, -0.04432765, -0.043526918, 0.08176591, 0.023957808, 0.039001796) * go_4(-1.0, 1.0); - result += mat4(-0.037610386, -0.1495413, -0.027353996, -0.032410443, 0.022113096, 0.019668896, 0.025676545, 0.08550669, -0.007179362, 0.111334786, 0.08080671, -0.05753153, 0.031270105, -0.1425512, -0.09165007, 0.01756688) * go_4(0.0, -1.0); - result += mat4(0.22160032, 0.13278869, 0.04946508, -0.061732106, -0.19966283, 0.19398785, -0.061616797, -0.1682507, -0.062497444, -0.020768918, -0.06906264, 0.043145705, 0.06686389, 0.049333394, 0.06813221, 0.012300859) * go_4(0.0, 0.0); - result += mat4(-0.18407853, 0.097527325, -0.08464557, 0.007581164, -0.12695311, 0.14365268, 0.06944541, -0.028422976, -0.08575999, -0.039222028, -0.1065246, 0.09277164, 0.064852476, -0.010674806, -0.039577603, 0.038126856) * go_4(0.0, 1.0); - result += mat4(-0.18967858, 0.07602103, -0.0452525, -0.005815137, 0.064602256, 0.19784397, -0.06377635, 0.10113932, -0.084867395, 0.09198673, -0.03678686, -0.04831252, 0.021673752, -0.063052855, 0.030094262, 0.008151946) * go_4(1.0, -1.0); - result += mat4(-0.17149659, 0.20685393, -0.037902117, -0.012043228, -0.004601577, 0.07037727, 0.0036602912, -0.13277285, -0.07140659, -0.100629926, -4.176998e-05, 0.0071237916, 0.08050488, -0.0037456674, -0.037059076, 0.022898288) * go_4(1.0, 0.0); - result += mat4(0.08819892, -0.01620132, -0.08606113, -0.046711806, -0.22001751, -0.052349057, -0.042775627, 0.11901976, 0.009456978, 0.13828641, 0.031084664, -0.014549527, -0.07343933, -0.120635025, -0.0549436, -0.091890045) * go_4(1.0, 1.0); - result += mat4(-0.03245801, -0.03380752, -0.19868882, 0.002510671, -0.07583146, 0.14605276, 0.03508497, 0.000112569716, 0.0203838, 0.074883066, 0.048457384, -0.03624031, 0.017366555, -0.025235461, 0.011553053, -0.0044929474) * go_5(-1.0, -1.0); - result += mat4(-0.0077082603, 0.043983724, 0.08835361, 0.030281665, -0.024455173, 0.13851254, 0.036828175, 0.013134612, 0.046743285, -0.10766694, 0.065832436, 0.0038662716, -0.043496363, -0.08309659, -0.08094711, 0.0848714) * go_5(-1.0, 0.0); - result += mat4(0.013103031, -0.12286342, -0.055714123, 0.01786344, 0.049958743, -0.06488927, 0.023186902, -0.0106724445, 0.04120055, -0.11552327, 0.101330966, -0.0006924794, -0.0020777578, 0.21546337, 0.0018756012, -0.08498371) * go_5(-1.0, 1.0); - result += mat4(-0.033325154, -0.08459969, 0.112720825, 0.00675488, 0.0040757647, -0.18720984, -0.031401563, 0.037159648, 0.1575527, -0.041114517, -0.17869847, 0.07061165, -0.04131886, 0.006737727, 0.07336905, -0.0008500361) * go_5(0.0, -1.0); - result += mat4(-0.07215131, 0.21968116, 0.059645798, 0.18761322, -0.07151226, -0.071514666, -0.08546688, -0.19312736, -0.017145814, 0.17245525, -0.1206946, -0.15861532, 0.013621306, -0.07887318, -0.14993054, -0.11080947) * go_5(0.0, 0.0); - result += mat4(0.017518861, 0.030952519, 0.016827656, -0.03837562, 0.07341383, -0.048610494, 0.050820123, 0.031829312, -0.10208572, 0.017096514, 0.011909018, 0.17583928, -0.1004084, 0.08367472, 0.087540604, 0.14205597) * go_5(0.0, 1.0); - result += mat4(0.061692897, -0.06249078, -0.07515134, 0.041771267, -0.02176024, -0.021748755, 0.048541967, 0.0799106, 0.004964116, -0.009022794, -0.090804085, 0.039782178, 0.14221238, 0.13084048, -0.02012579, 0.053085294) * go_5(1.0, -1.0); - result += mat4(0.073503084, 0.12030335, 0.016867403, -0.100202195, 0.08033366, 0.11290384, -0.024811089, 0.14120121, -0.029295236, 0.011535982, -0.009586436, 0.023111636, 0.11733249, -0.05684811, -0.021229435, -0.014981166) * go_5(1.0, 0.0); - result += mat4(-0.0028471397, -0.15393218, -0.03991392, -0.046677485, -0.034202207, 0.07922862, 0.024672583, -0.018478299, 0.10676781, 0.19975203, 0.09829708, 0.030875562, -0.08323281, 0.1287575, 0.007982256, 0.012422479) * go_5(1.0, 1.0); - result += mat4(0.00792915, 0.11354015, 0.017034046, -0.033009302, 0.07262295, 0.014038035, 0.027686022, -0.05569358, 0.04937052, -0.011838218, -0.017620115, -0.023960475, 0.089869, 0.12609829, -0.14517121, -0.009979609) * go_6(-1.0, -1.0); - result += mat4(0.019373287, 0.0037227296, 0.06739467, 0.0411633, -0.079600014, -0.20017749, -0.02489001, 0.038435437, -0.0169052, -0.076866195, -0.12707292, -0.013147386, 0.08209406, 0.06460137, 0.0038622238, 0.023936275) * go_6(-1.0, 0.0); - result += mat4(-0.026064714, 0.14228158, 0.02997548, 0.017698815, -0.05878976, -0.025017649, 0.04031136, -0.06725938, 0.07552142, -0.03974361, -0.045101356, -0.05215901, -0.08304946, -0.012352627, -0.005432024, -0.07347573) * go_6(-1.0, 1.0); - result += mat4(0.08631798, 0.0059085204, -0.000113723494, 0.0136576705, 0.04475684, -0.08430876, 0.1027275, -0.007361284, 0.041882366, 0.15399557, 0.04095392, 0.026290612, -0.0145415, -0.060129408, 0.008640187, 0.017547447) * go_6(0.0, -1.0); - result += mat4(-0.07755721, -0.023862703, -0.12206824, -0.07903689, 0.020078411, -0.18405053, -0.23792996, 0.082826346, -0.0028775565, 0.22255163, -0.0033731712, -0.070980065, -0.31968543, 0.19510844, -0.050848253, -0.030311922) * go_6(0.0, 0.0); - result += mat4(0.07346858, 0.051935203, -0.026379986, -0.024370745, 0.024842456, -0.061906833, 0.0648532, 0.07545226, -0.17644612, 0.13334613, -0.0035676474, 0.08756031, -0.0045107, 0.029391827, 0.09687544, -0.039636135) * go_6(0.0, 1.0); - result += mat4(0.13012199, 0.11310699, 0.0153783355, 0.14073592, 0.1159848, 0.0032372207, 0.013842089, 0.11203719, 0.052464556, -0.038527843, 0.06364611, -0.0014865476, 0.17000985, -0.002907841, 0.002437505, -0.13002418) * go_6(1.0, -1.0); - result += mat4(-0.055245295, 0.04185124, 0.00037150137, -0.09770801, -0.05064562, -0.10450231, 0.12021894, -0.09199362, 0.07554563, -0.039503135, -0.033728927, -0.07260611, 0.0153599335, -0.08457373, -0.028576847, 0.042632796) * go_6(1.0, 0.0); - result += mat4(-0.044485796, 0.037724104, 0.041926168, 0.006704794, -0.07147152, 0.013727192, 0.011708799, -0.04588657, 0.066578485, -0.10720429, -0.0730237, 0.04708655, 0.052229885, -0.044047564, 0.07113318, -0.030633615) * go_6(1.0, 1.0); - result += mat4(0.07849379, -0.04046586, -0.07431907, -0.03731069, 0.0049431417, -0.0903937, 0.024687393, -0.017909456, 0.06637542, -0.16175899, -0.02460091, 0.05987552, 0.09738359, 0.0064948746, -0.0138260815, 0.049470525) * go_7(-1.0, -1.0); - result += mat4(-0.032993518, -0.018154949, 0.058810174, -0.016374158, 0.042725, 0.21160744, 0.097916126, 0.04984194, 0.01650177, 0.06883078, 0.1381874, -0.08069465, -0.13565733, 0.20012212, -0.022712095, -0.0380238) * go_7(-1.0, 0.0); - result += mat4(0.03148708, 0.0965706, -0.025645912, -0.023996383, -0.036854897, 0.054054458, -0.16218668, -0.00390272, -0.096665986, 0.07244674, -0.096268326, 0.12596634, -0.0054489775, 0.018738326, -0.051350895, -0.1423746) * go_7(-1.0, 1.0); - result += mat4(0.0489154, 0.034897592, 0.026298728, 0.1030706, 0.021691274, -0.13979298, -0.10044236, 0.09618537, -0.3756147, 0.19392237, 0.043701947, 0.0372157, -0.19100708, 0.03706645, -0.052757483, 0.011999661) * go_7(0.0, -1.0); - result += mat4(-0.26170048, 0.00018108879, -0.21298628, -0.03632615, 0.20709798, 0.06626491, -0.09643573, -0.07262732, 0.08431118, 0.13428009, 0.08195883, -0.013723568, -0.016745638, 0.007309863, 0.09061577, 0.13009012) * go_7(0.0, 0.0); - result += mat4(0.00415379, 0.006674434, 0.11022577, 0.106347226, -0.017565781, 0.047206245, 0.099264786, -0.15451689, 0.16980271, 0.001391259, -0.17169356, 0.028775409, -0.004397513, 0.077122204, 0.010226694, 0.023086183) * go_7(0.0, 1.0); - result += mat4(-0.023648756, 0.15455274, -0.11006288, -0.074025065, 0.0423713, -0.08764005, 0.055211913, 0.04732732, -0.0048447615, 0.3040946, 0.20046064, -0.10624875, -0.10706571, -0.0002826197, -0.06487796, -0.062007286) * go_7(1.0, -1.0); - result += mat4(0.017490221, 0.030333612, -0.0015039118, -0.039954375, -0.016329238, -0.04124172, 0.0694377, -0.029093096, 0.17286836, -0.18490317, -0.2606389, -0.13979673, 0.0012922491, 0.02181941, -0.023836609, -0.05584063) * go_7(1.0, 0.0); - result += mat4(0.099456415, -0.024694387, -0.00025692413, -0.070630156, -0.07398711, -0.008068556, 0.053319667, 0.102825016, -0.16989474, 0.10998221, -0.053715512, 0.27778512, 0.09010463, -0.033159524, -0.06116807, -0.086112395) * go_7(1.0, 1.0); - result += vec4(0.023720283, -0.050228078, 0.017233998, 0.0038643035); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-3x3x3x24 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv1ups -//!BIND conv1ups1 -//!BIND conv1ups2 -//!SAVE MAIN -//!WIDTH conv1ups.w -//!HEIGHT conv1ups.h -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.013777687, 0.008274202, 0.015532511, 0.0, 0.023658138, 0.021084072, 0.023679586, 0.0, -0.012574975, -0.0014938707, 0.00061928877, 0.0, -0.026688136, -0.0131240375, -0.029466102, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.0075748703, 0.037946086, 0.049140524, 0.0, 0.010126231, 0.012523378, 0.0071613602, 0.0, 0.0047583925, -0.0031088165, 0.0036479481, 0.0, -0.009168726, -0.020650811, -0.016528934, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.008073782, -0.020479651, -0.022079756, 0.0, 0.01524409, 0.013631518, 0.004791737, 0.0, -0.003348518, -0.00012732612, -0.0032449244, 0.0, 0.032580297, 0.029008314, 0.029523863, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.005337033, 0.024427935, 0.029425737, 0.0, 0.002468151, 0.0012733386, -0.0011684209, 0.0, 0.002045998, -0.007824469, -0.0075536054, 0.0, -0.0025498376, 0.00059123064, 0.010667408, 0.0) * go_0(0.0, -1.0); - result += mat4(0.07574702, 0.077039376, 0.07525205, 0.0, -0.018930318, -0.0210399, -0.007369101, 0.0, 0.0050703366, 0.009866225, 0.002731688, 0.0, 0.007364458, -0.012537245, -0.010698353, 0.0) * go_0(0.0, 0.0); - result += mat4(0.005033512, 0.0047755903, 0.015485579, 0.0, -0.0076447823, 0.0020293589, 0.00019690525, 0.0, -0.0046711015, -0.01096428, -0.003273942, 0.0, 0.011243453, 0.0026243145, -0.014977678, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.017157702, -0.012480959, -0.014230813, 0.0, -0.006353115, -0.0144039225, -0.0072659636, 0.0, -0.0063480805, -0.0026584982, -0.0028146124, 0.0, -0.014504389, -0.00762131, -0.006355321, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.010236374, 0.0015838058, -0.002143899, 0.0, -0.010755707, 0.0139974225, 0.01655249, 0.0, 0.00724032, 0.003991714, 0.0058728596, 0.0, 0.001585017, -0.005878744, -0.00640518, 0.0) * go_0(1.0, 0.0); - result += mat4(0.017572062, 0.003026812, 0.000502698, 0.0, 0.009834272, -0.0064451154, -0.0037888729, 0.0, 0.0045153787, -0.0040877387, -0.011132165, 0.0, -0.0068930765, 0.0060301176, 0.015776195, 0.0) * go_0(1.0, 1.0); - result += mat4(0.015143155, 0.022271771, 0.034353774, 0.0, 0.0500171, 0.008916114, -0.045639534, 0.0, 0.00028884446, 0.0017308572, 0.00027971982, 0.0, 0.018710924, 0.013322625, 0.013863731, 0.0) * go_1(-1.0, -1.0); - result += mat4(-0.0098540895, 0.009972838, 0.019292414, 0.0, 0.13954006, 0.029867204, 0.042765502, 0.0, -0.014894827, -0.015658824, -0.012828792, 0.0, -0.011597975, -0.011326242, -0.010546538, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.057973996, 0.045629892, 0.035723437, 0.0, -0.03996296, -0.034121662, -0.021559378, 0.0, 0.0015233392, 0.0056360536, 0.005471655, 0.0, 0.015035284, 0.014042433, 0.004807508, 0.0) * go_1(-1.0, 1.0); - result += mat4(-0.019333394, 0.00010878696, 0.020713285, 0.0, 0.067461416, 0.07469616, 0.021785917, 0.0, 0.009209406, -0.00040594328, 0.004494759, 0.0, -0.014130696, 0.0034270098, 0.009287614, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.1766193, -0.13014358, -0.13271952, 0.0, -0.18652712, -0.1799382, -0.19059698, 0.0, 0.008356371, -0.0005271801, -0.0013760106, 0.0, -0.026972191, -0.0041560223, 0.005715922, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.029307544, -0.022682507, -0.027960105, 0.0, 0.10883932, 0.04878273, 0.091446914, 0.0, 0.0020139932, -0.008916592, -0.016010206, 0.0, -0.017582655, -0.011510589, -0.007895361, 0.0) * go_1(0.0, 1.0); - result += mat4(0.078397095, 0.024916336, -0.0019469182, 0.0, -0.10098231, 0.020777855, 0.018642282, 0.0, -0.02282252, 0.001186239, 0.0019293322, 0.0, 0.040787082, 0.020173319, 0.0023912336, 0.0) * go_1(1.0, -1.0); - result += mat4(0.0013556932, 0.015377351, 0.006556408, 0.0, -0.05026192, 0.065591745, 0.11644179, 0.0, -0.0014394359, -0.0027219045, -0.0041813366, 0.0, -0.011724467, -0.003224058, 0.0052535357, 0.0) * go_1(1.0, 0.0); - result += mat4(0.0043969746, -0.0119146835, -0.003386241, 0.0, 0.0020662902, -0.014350566, 0.008487526, 0.0, 0.01943664, 0.0066225696, 0.0050567226, 0.0, 0.004659311, -0.01749611, -0.015248497, 0.0) * go_1(1.0, 1.0); - result += mat4(-0.1691309, 0.010184013, 0.11859181, 0.0, 0.003958968, 0.008296091, -0.0017165234, 0.0, 0.004227455, 0.0044524195, 0.009051095, 0.0, 0.005324176, -0.008613206, -0.021459484, 0.0) * go_2(-1.0, -1.0); - result += mat4(-0.058296386, 0.07744043, -0.13526013, 0.0, -0.0008796793, -0.007680745, -0.0008189206, 0.0, -0.018601, -0.0026164774, 0.0061028446, 0.0, 0.034066506, 0.015997633, 0.015659299, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.013752101, 0.062634215, 0.082755044, 0.0, 0.005145167, 0.006077453, 0.008487249, 0.0, 0.07188091, 0.06469806, 0.086508684, 0.0, 0.013405896, 0.012214205, 0.02304606, 0.0) * go_2(-1.0, 1.0); - result += mat4(-0.0905373, 0.1511149, 0.0710771, 0.0, 0.0005157405, -0.0008491397, 0.0013561217, 0.0, 0.028786302, 0.010717526, -0.0022970343, 0.0, 0.062324964, 0.044271976, 0.030260865, 0.0) * go_2(0.0, -1.0); - result += mat4(0.30492926, -0.069422945, -0.16390763, 0.0, -0.0043285103, -0.0072050295, -0.0108781895, 0.0, 0.048721083, -0.0105444575, -0.0027602906, 0.0, 0.09317285, 0.053365745, 0.03376728, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.002269356, -0.09357455, -0.0555731, 0.0, 0.009376811, -0.0018466613, -0.004391423, 0.0, -0.07394368, -0.065170325, -0.08395192, 0.0, 0.03500888, 0.01081305, 0.0066718487, 0.0) * go_2(0.0, 1.0); - result += mat4(0.09021336, -0.16636552, 0.025003932, 0.0, 0.01079389, 0.010327037, 0.0060891113, 0.0, -0.017556215, -0.0056941574, -0.005190358, 0.0, -0.041544978, -0.021641703, -0.005560567, 0.0) * go_2(1.0, -1.0); - result += mat4(-0.06582341, 0.032331508, 0.023025641, 0.0, -0.006888802, -0.007366109, -0.009622778, 0.0, 0.057611454, 0.06791491, 0.03548702, 0.0, 0.029741313, -0.02115072, -0.041671865, 0.0) * go_2(1.0, 0.0); - result += mat4(0.07574974, 0.016732352, 0.01046223, 0.0, -0.015716823, -0.0028920243, 0.0018390373, 0.0, -0.18389195, -0.11441643, -0.1055075, 0.0, -0.0729001, -0.03686565, -0.030215835, 0.0) * go_2(1.0, 1.0); - result += mat4(-0.018894525, -0.004167179, -0.014972926, 0.0, 0.012092344, 0.008401433, 0.026395475, 0.0, -0.11119941, -0.012245911, 0.31127214, 0.0, 0.032960866, 0.06049577, 0.08025499, 0.0) * go_3(-1.0, -1.0); - result += mat4(0.017033277, 0.01354686, 0.024140825, 0.0, -0.066371396, -0.035490133, -0.044400524, 0.0, 0.10403552, -0.27156168, 0.18912019, 0.0, 0.017874612, 0.041612815, 0.052246477, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.014946708, -0.02429106, -0.030985888, 0.0, -0.03691934, -0.042938504, -0.02929483, 0.0, -0.0012160494, 0.13540258, -0.2758294, 0.0, -0.0603928, -0.07772998, -0.09162849, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.0004002234, -0.0044219927, -0.002135395, 0.0, 0.010293526, 0.027578928, 0.026176201, 0.0, 0.11936805, 0.023629628, -0.28300223, 0.0, 0.017478058, 0.03140593, 0.0192762, 0.0) * go_3(0.0, -1.0); - result += mat4(0.003015146, 0.004462068, 0.0019783478, 0.0, -0.12165661, -0.14695118, -0.09602592, 0.0, -0.027736675, 0.012857005, 0.03344232, 0.0, 0.023552643, 0.027601821, 0.03182792, 0.0) * go_3(0.0, 0.0); - result += mat4(-0.01145948, -0.015722467, -0.02066646, 0.0, 0.02099096, 0.0214942, 0.013058587, 0.0, -0.043419342, 0.18987817, 0.00077238097, 0.0, -0.012187362, -0.01101818, -0.009512806, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.01003496, -0.000550755, 0.012151708, 0.0, -0.016100012, 0.022148406, -0.009785452, 0.0, 0.012985429, -0.042074054, 0.15150712, 0.0, 0.00041122726, -0.009237617, -0.012009606, 0.0) * go_3(1.0, -1.0); - result += mat4(0.016514922, -0.0015444864, 0.0012712386, 0.0, 0.034776885, 0.010597218, -0.0040258956, 0.0, -0.08650466, 0.12591134, -0.08671136, 0.0, -0.004304329, 0.0016138474, 0.0059207603, 0.0) * go_3(1.0, 0.0); - result += mat4(-0.006018593, 0.007623802, 0.0071857506, 0.0, 0.07065304, 0.073321074, 0.04883848, 0.0, 0.079749525, -0.095305495, -0.036576286, 0.0, 0.0053027375, -0.01600088, -0.020379763, 0.0) * go_3(1.0, 1.0); - result += mat4(0.0014353278, 0.009906914, 0.00056570594, 0.0, -0.021885807, -0.008028124, -0.001742557, 0.0, 0.08700665, 0.095830224, 0.10490807, 0.0, -0.0048933295, -0.07625389, -0.061595775, 0.0) * go_4(-1.0, -1.0); - result += mat4(0.02125275, 0.0009857428, -0.00137735, 0.0, 0.005915497, 0.013772777, 0.004539148, 0.0, -0.035443936, -0.02961302, -0.04131401, 0.0, -0.12169936, -0.14949232, -0.20689055, 0.0) * go_4(-1.0, 0.0); - result += mat4(-0.015341744, -0.0077026743, -0.0043482906, 0.0, -0.007135568, -0.0022823443, 0.007329001, 0.0, -0.038207117, -1.8806717e-05, 0.012055219, 0.0, 0.05211687, 0.025196811, 0.034190442, 0.0) * go_4(-1.0, 1.0); - result += mat4(0.01798635, 0.0043349164, 0.00976957, 0.0, 0.008667596, 0.0094013205, -0.0047210143, 0.0, -0.13027216, -0.27572915, -0.21776466, 0.0, 0.04239217, 0.026833871, 0.0053331805, 0.0) * go_4(0.0, -1.0); - result += mat4(-0.018382292, -0.028467784, -0.02948458, 0.0, 0.01504672, 0.009915386, 0.00028620457, 0.0, 0.01925864, 0.17856085, 0.15902345, 0.0, 0.072817296, 0.01202625, 0.016523099, 0.0) * go_4(0.0, 0.0); - result += mat4(0.014461806, 0.018162472, 0.004939947, 0.0, 0.00433307, -0.0029751821, 0.014063162, 0.0, -0.0105967205, 0.023450457, 0.007284629, 0.0, 0.015260132, 0.058815423, 0.032865442, 0.0) * go_4(0.0, 1.0); - result += mat4(-0.034523435, -0.0019650368, 0.010286419, 0.0, 0.0155394105, -0.012441901, 0.003655187, 0.0, 0.21727616, 0.04665747, 0.064619154, 0.0, -0.0538197, -0.016603155, 0.010483863, 0.0) * go_4(1.0, -1.0); - result += mat4(0.0066596246, 0.012407015, 0.010662054, 0.0, 0.015415189, -0.0072234455, -0.016844045, 0.0, -0.018253447, -0.04539969, -0.022777706, 0.0, 0.014921062, 0.01025331, 0.00094767904, 0.0) * go_4(1.0, 0.0); - result += mat4(0.007963999, 0.024802163, 0.0329328, 0.0, -0.028856168, -0.0024038341, -0.008221548, 0.0, -0.050274983, -0.019204216, -0.014420987, 0.0, -0.0041100523, 0.02075305, 0.019369813, 0.0) * go_4(1.0, 1.0); - result += mat4(0.012030763, -0.013472043, -0.0071379403, 0.0, 0.044592608, 0.059628505, 0.0329532, 0.0, -0.0048840884, -0.009070825, -0.004406241, 0.0, -0.015029522, -0.03341599, -0.014973638, 0.0) * go_5(-1.0, -1.0); - result += mat4(0.0030182474, 0.012553184, -0.00084614486, 0.0, -0.19833973, -0.18672052, -0.1924494, 0.0, -0.008076828, -0.005522177, 0.0037198463, 0.0, -0.021098163, -0.010991954, -0.007342273, 0.0) * go_5(-1.0, 0.0); - result += mat4(-0.008302836, -0.014168788, -0.0098180575, 0.0, -0.072220005, -0.08414496, -0.05447282, 0.0, -0.0056090043, -0.00043765904, -0.004061556, 0.0, 0.02473498, 0.00803538, -0.002803184, 0.0) * go_5(-1.0, 1.0); - result += mat4(-0.001754513, -0.00034364086, 0.0016426432, 0.0, -0.14016317, -0.13971362, -0.13603266, 0.0, -0.013788346, 0.0017337386, -0.001026224, 0.0, -0.009110686, -0.006945973, 0.0063988715, 0.0) * go_5(0.0, -1.0); - result += mat4(0.0129916025, 0.025389163, 0.026781, 0.0, 0.39451644, 0.37229872, 0.35705563, 0.0, -0.0039658905, 0.0058225365, 0.0032569862, 0.0, -0.016056878, 0.0051228474, 0.008477073, 0.0) * go_5(0.0, 0.0); - result += mat4(-0.0077641252, 0.010979285, 0.016919322, 0.0, 0.06312053, 0.10244354, 0.09649355, 0.0, -0.0041987957, -0.0001676132, 0.01052944, 0.0, -0.035134792, -0.011132374, -0.008417525, 0.0) * go_5(0.0, 1.0); - result += mat4(-0.0019415376, -0.0018293947, -0.008222967, 0.0, -0.117868416, -0.12365001, -0.13046348, 0.0, 0.02347851, 0.004496424, 0.008431801, 0.0, 0.037196416, 0.020106586, 0.0046503455, 0.0) * go_5(1.0, -1.0); - result += mat4(-0.0072726808, -0.0011071735, 0.0008595847, 0.0, 0.03922388, 0.06798667, 0.067601055, 0.0, 0.008911351, 0.013739831, 0.011149478, 0.0, -0.03467258, -0.006161695, 0.008909844, 0.0) * go_5(1.0, 0.0); - result += mat4(0.003808606, -0.0035716828, -0.007037296, 0.0, -0.08564177, -0.11466893, -0.11467038, 0.0, -0.0020677918, 0.005138272, -0.0023557285, 0.0, 0.038220942, -0.00028315434, -0.005084889, 0.0) * go_5(1.0, 1.0); - result += vec4(0.0013754794, 0.0020187886, 0.001720279, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl deleted file mode 100644 index d3554bf..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl +++ /dev/null @@ -1,7277 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.3533503, -0.22744901, -0.09641403, 0.049930546, 0.21601382, 0.121875964, -0.4066155, -0.029510869, -0.15896404, -0.26784295, 0.12444282, -0.091934755, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.05173876, 0.5917674, -0.25219238, 0.36018333, 0.0018698558, -0.020742422, -0.19959457, -0.16152367, -0.3881654, -0.40024987, -0.007772714, -0.062565684, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.015751071, -0.22430539, -0.11680504, 0.17976198, 0.14656822, -0.24317218, 0.029603355, -0.058181264, 0.058493074, 0.5022527, 0.11102914, -0.009173853, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.18293951, 0.5723565, 0.28864875, -0.49024883, 0.09118296, 0.33084247, -0.024498459, 0.44283792, 0.47181615, -0.017086344, -0.32055214, 0.56722766, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.32458597, -0.18757421, -0.32922122, -0.016391084, -0.1533236, 0.18488754, 0.27331817, 0.35373816, -0.01502724, 0.33746547, -0.37427562, -0.09936772, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.6233762, 0.010086638, 0.05501213, -0.38833693, 0.18467852, 0.47564793, 0.2687248, 0.4827469, -0.43817607, 0.25323167, 0.5397538, -0.12697968, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.29222447, -0.105247036, -0.14783503, -0.06417592, 0.17500208, 0.17491722, 0.12673122, 0.21052802, 0.013908459, -0.24594653, -0.19099778, -0.0023773864, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.46258658, 0.25608945, 0.18290475, 0.38827166, 0.29616114, -0.34748495, -0.386308, -0.061988145, -0.0665722, -0.4120009, 0.14303757, -0.5645748, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(-0.14725077, -0.38539198, 0.5607759, -0.18968762, -0.45513886, -0.17619537, 0.20813458, 0.2897601, 0.23251435, 0.0005268595, 0.04932729, 0.016341167, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.00301274, 0.015373737, 0.020866359, 0.012416287); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf1 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.14643213, 0.34573826, 0.022253275, 0.093370445, 0.12842871, 0.05782831, -0.29587168, 0.105391145, -0.009612344, -0.48199305, 0.10708218, -0.06391322, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.0075725354, 0.10891411, -0.37711775, -0.33482045, 0.075842425, 0.0006257457, -0.11693903, 0.04950486, 0.50191665, -0.10584904, 0.101994015, -0.076776676, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.23182836, -0.20573832, -0.25540918, 0.1005638, 0.29947993, -0.17835905, -0.17877467, 0.026681015, -0.16849746, 0.3294309, -0.19993272, -0.04395935, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.29155123, -0.012395516, 0.3944017, 0.057145286, -0.053443987, 0.06875274, -0.044569965, -0.13700297, 0.26493445, 0.07362078, -0.04562383, -0.3087175, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.14925154, 0.014966679, 0.15118442, 0.27622026, 0.14897393, 0.47124943, 0.3271807, 0.6352069, -0.21967705, -0.04371573, 0.34770805, 0.14594477, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.55078465, -0.25394475, 0.06182166, -0.08577288, 0.12739705, -0.35062942, 0.26408008, -0.09406672, 0.28381905, -0.0075195543, -0.27176276, 0.5115337, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.4059103, 0.09464142, -0.30987218, 0.07346718, 0.16917384, -0.39596874, 0.06289742, -0.48918217, -0.34323612, -0.25985125, 0.048182715, 0.23947199, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.30781844, -0.075438604, 0.079587184, -0.341671, -0.2998036, 0.44415385, 0.29075965, -0.019560292, -0.0062685623, 0.4052073, -0.32235056, -0.5399795, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.048963144, -0.20907535, 0.22934057, 0.14790095, -0.29026937, 0.40542123, -0.25430593, -0.00913707, -0.2250077, -0.17099477, 0.07582159, 0.16813178, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(0.0648949, 0.028727708, -0.0060908287, 0.04652166); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf2 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.26204622, 0.4223293, -0.08510012, 0.019453628, -0.017182587, 0.40875512, -0.3000382, 0.2466832, 0.18032596, -0.13804369, 0.23681472, -0.5184114, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.2840186, 0.14369252, -0.0046741674, 0.12592295, 0.10657679, -0.038042028, -0.07698588, 0.27475855, 0.12976117, -0.2198779, 0.46100235, -0.22570461, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.16426864, -0.043802097, -0.14111784, -0.036953557, -0.32212126, 0.07034313, 0.099273205, -0.18979223, 0.1203169, 0.16851273, -0.095204584, 0.41846615, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.011586374, -0.4041288, 0.02327077, -0.038964503, -0.020300997, 0.03858248, -0.016609106, 0.4671461, -0.05677658, -0.1051009, 0.32721362, 0.025792936, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.15935725, 0.578516, -0.6138353, -0.21297511, 0.39311242, -0.39518067, 0.07517545, -0.592613, 0.14880066, -0.27320826, 0.07287175, -0.48092732, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.18682362, 0.09657896, -0.014692581, -0.33343104, -0.25030813, 0.08155329, 0.2331368, 0.057343826, -0.4811021, -0.0041507008, 0.28470665, 0.20497215, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.1067868, -0.05718925, -0.20147423, 0.23770608, -0.42711017, 0.21191151, -0.011552215, -0.22620037, 0.39481977, -0.30003747, 0.09253048, -0.07504313, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(-0.27101615, -0.5613797, -0.05610472, 0.2528841, -0.5252947, 0.3716928, 0.06479668, 0.020567236, -0.033534806, -0.13467468, 0.19145517, 0.010775708, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.07840132, 0.26650423, 0.28004074, 0.24665453, 0.3865472, 0.013721022, -0.1948635, -0.013643245, 0.44512212, -0.21704042, -0.52104753, 0.51656127, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.035768427, -0.001056053, 0.0340295, 0.006839878); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf3 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.32331285, -0.030736726, 0.0042050784, 0.010926396, -0.23282023, -0.08763307, 0.37141582, 0.19859134, -0.1666083, -0.04315098, 0.07296003, 0.2861034, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.21563695, 0.14021617, 0.051348813, 0.4983129, -0.34992227, 0.18443501, -0.24389337, 0.06418108, -0.20921838, 0.18868116, -0.2684946, 0.55774176, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(-0.024550043, -0.10363326, 0.1043099, -0.14632092, 0.17236416, -0.16043803, 0.38332343, 0.024406519, -0.03126577, 0.20712042, -0.037903644, -0.13856749, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.07120149, -0.33019403, 0.33729857, -0.4915631, 0.4082891, -0.15672709, 0.0030756786, -0.43779042, 0.097300366, 0.002372967, 0.368441, 0.17531842, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.24669729, 0.35728258, 0.26481852, -0.32095483, -0.031781197, 0.5217997, -0.4768402, -0.3411008, -0.093396775, 0.31235504, 0.17860144, -0.09074654, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(0.34211978, -0.067475505, -0.11130485, -0.027638488, 0.037768893, -0.1094967, -0.07283058, 0.5916835, 0.28903356, 0.0857213, -0.0060110637, -0.04816759, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(0.3059696, 0.14136712, -0.32771704, -0.17229499, -0.14343582, 0.3470735, 0.3778098, -0.34243533, 0.2264067, -0.24548753, 0.38490316, 0.058428574, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.1412657, 0.33788598, -0.2157324, 0.040746648, -0.21837659, 0.33166492, 0.12508798, 0.4859738, -0.16807358, -0.22612841, -0.051258437, -0.24188246, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.04993394, -0.33221748, -0.044392366, -0.3946246, -0.30577514, 0.13761942, -0.022273945, 0.21460211, 0.19924824, 0.043031078, -0.22369152, -0.13072547, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.0057866867, -0.031637643, 0.0723021, 0.04260856); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf4 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(-0.06263417, -0.015899068, -0.06673424, -0.29330692, 0.27661222, 0.21981683, 0.009470586, 0.09138456, 0.44470203, 0.1370112, 0.25888672, -0.26252735, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.16853511, -0.56013334, -0.083473705, -0.31337133, 0.020068824, -0.56741786, 0.23128, 0.033934496, -0.39917204, 0.006675525, -0.19767813, 0.24100189, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.2767365, -0.21478292, 0.19800368, 0.04981372, -0.43988076, 0.13038118, -0.0023825555, -0.041225314, 0.055087563, 0.11922491, -0.36424643, 0.24521022, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.054674063, -0.17308263, 0.06928539, 0.13456745, -0.1371371, 0.06866367, 0.28848526, 0.4235249, 0.08625838, -0.14268667, 0.10068345, -0.09432318, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(0.04889649, 0.4082082, 0.2460249, -0.3526585, 0.06668635, 0.054053612, -0.14569403, 0.4200826, 0.043631364, 0.09612367, 0.27758798, 0.30841815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.6218072, -0.16005784, -0.388552, 0.35026243, 0.21814698, 0.12549512, 0.25294197, -0.6248336, 0.53151983, -0.05606831, 0.21320722, 0.0833118, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0938141, -0.045953494, -0.056681573, -0.1889846, -0.22944446, -0.15354922, 0.39270183, 0.05020913, 0.13824314, -0.2219286, 0.17828543, -0.15948938, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.52495337, -0.074113816, -0.40637568, 0.1596743, 0.11383307, 0.3346896, -0.24222933, -0.21050623, 0.254895, 0.47635737, -0.25384998, -0.28989154, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.012225922, 0.03979189, 0.5064567, 0.34305865, -0.1555728, -0.08338589, -0.32082558, 0.34781134, -0.4321089, -0.1193855, -0.1264447, -0.10376585, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.020296605, 0.008579932, -0.0016261942, 0.025361473); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 -//!HOOK MAIN -//!BIND MAIN -//!SAVE conv2d_tf5 -//!WIDTH MAIN.w -//!HEIGHT MAIN.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) -vec4 hook() { - vec4 result = mat4(0.1363371, -0.15540521, -0.31718272, 0.016195117, -0.11684813, 0.035514772, 0.036139056, -0.07166461, 0.18743914, 0.2597766, 0.40419564, 0.18188365, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); - result += mat4(-0.3009684, 0.022765834, -0.18049309, -0.08467225, -0.38133445, 0.5031245, -0.08499587, -0.05829229, 0.29517335, 0.5049954, -0.34550402, 0.028938027, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.08297039, 0.40598175, 0.17898728, 0.09962402, 0.144094, -0.63257754, -0.17135625, 0.040128335, -0.44739345, 0.2947188, 0.16830204, -0.042169526, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); - result += mat4(0.6079493, 0.10111115, 0.07312328, 0.32797632, 0.04438061, 0.13169874, -0.25383157, -0.2082139, -0.21848431, -0.6352441, -0.21146472, -0.16604403, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.072281, 0.15862514, 0.43191755, 0.11540132, 0.31328815, -0.5315003, -0.011417991, -0.05334168, -0.098632924, -0.1280698, 0.39636084, -0.22470373, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); - result += mat4(-0.09620375, 0.32031366, -0.28081584, -0.10667898, -0.22725722, 0.30929953, -0.13856508, 0.52870595, 0.3426154, -0.25681826, -0.5286905, 0.22251737, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.116833046, -0.010033731, -0.10660418, 0.20258091, -0.16682866, 0.10652147, 0.2892288, -0.46506444, 0.11439509, -0.087319046, 0.13385743, 0.018403474, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); - result += mat4(0.25397176, 0.06900933, -0.032205634, -0.35559848, -0.4572871, 0.04391792, -0.079241835, 0.23730846, -0.14349656, 0.29821903, -0.12540016, 0.017602116, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); - result += mat4(0.10184281, -0.4598769, -0.037037294, -0.0764841, -0.019283077, 0.07611817, 0.4753825, 0.3533474, 0.0929917, -0.07361922, -0.08772396, 0.054960705, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); - result += vec4(-0.01772409, 0.0043326668, -0.0016441033, 0.045143403); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!SAVE conv2d_2_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08708938, 0.04659238, 0.0176195, 0.07332214, -0.0033999549, 0.10378978, 0.009203801, -0.14674269, 0.04196428, -0.13389935, -0.010313743, 0.09525925, -0.04273685, 0.0049842685, -0.04782435, -0.10746269) * go_0(-1.0, -1.0); - result += mat4(-0.058692954, 0.029742118, 0.02237111, -0.17435773, 0.06456037, -0.03019781, 0.12503268, 0.028526554, 0.060585566, -0.09827803, 0.074175954, -0.18172584, -0.11584838, -0.07831707, -0.05294304, -0.0106923) * go_0(-1.0, 0.0); - result += mat4(-0.031584334, 0.014252643, -0.07162117, -0.06419199, -0.14218293, 0.00710674, 0.11762262, 0.046548527, -0.012062736, 0.013610702, -0.025224337, 0.012470503, 0.047743093, -0.075982004, 0.1325312, -0.07263824) * go_0(-1.0, 1.0); - result += mat4(-0.047091287, -0.12622702, -0.0012906026, 0.18104114, 0.100165896, 0.066891655, -0.0131071415, 0.03407408, 0.028450029, -0.115760155, -0.10819326, 0.1681725, -0.09913577, -0.13076334, 0.026878573, -0.053143714) * go_0(0.0, -1.0); - result += mat4(0.083894186, -0.14141738, 0.018934235, 0.031809587, 0.0003192794, 0.16290024, 0.07099023, 0.06556816, -0.19284101, -0.1453399, -0.0347245, -0.16616164, 0.024881344, 0.0021642817, -0.010100748, 0.0022466371) * go_0(0.0, 0.0); - result += mat4(0.0015557132, -0.05879126, -0.11525318, -0.10813486, 0.05760118, -0.021399507, -0.01548577, -0.004455722, -0.04850293, -0.042879056, -0.003998145, 0.111359306, -0.06351688, 0.045401093, 0.05995017, -0.1578649) * go_0(0.0, 1.0); - result += mat4(-0.04430244, -0.17245962, 0.022892194, -0.0692075, 0.104717515, 0.22675191, -0.13639514, -0.24593934, 0.063342735, -0.039179243, -0.029122557, 0.081671625, 0.14092505, -0.05549872, -0.0015202744, -0.06510917) * go_0(1.0, -1.0); - result += mat4(-0.15706699, -0.08377132, 0.022466531, -0.08059759, 0.027087238, 0.077262625, -0.14656287, 0.039614383, -0.19745086, 0.11043986, -0.0401111, -0.12457788, -0.011985427, 0.07006254, 0.047804836, -0.047927663) * go_0(1.0, 0.0); - result += mat4(-0.05709865, -0.049263585, -0.003258465, 0.05460852, 0.07713213, 0.025197832, 0.0019068273, 0.043446306, -0.095132224, 0.078292005, -0.04904267, 0.024313621, -0.12302135, -0.017898448, 0.024541078, 0.043991778) * go_0(1.0, 1.0); - result += mat4(0.12130153, 0.13911717, -0.04002126, -0.012871448, 0.07198464, 0.061591096, -0.019099334, -0.044026095, 0.09875178, 0.038835593, 0.04762761, 0.02498281, 0.011129141, 0.06378831, 0.06722678, -0.035866793) * go_1(-1.0, -1.0); - result += mat4(0.021273244, -0.07664181, 0.020639688, 0.015514086, -0.084263824, -0.07051794, 0.19240531, 0.046613134, 0.12619096, -0.0841264, 0.06217318, 0.07779716, -0.0963043, -0.10395887, 0.10938819, -0.015793487) * go_1(-1.0, 0.0); - result += mat4(0.08900367, 0.04946518, -0.029467355, 0.19663785, 0.15667154, -0.06690711, -0.052032534, -0.07847095, -0.033235654, 0.013093368, 0.03985917, -0.003270095, -0.11114758, -0.07755963, 0.07329337, -0.076278694) * go_1(-1.0, 1.0); - result += mat4(0.0027995422, 0.16994986, -0.08697692, -0.048091117, 0.035887104, 0.104790725, -0.0185358, -0.114902504, -0.0086569665, -0.19674753, -0.19395138, 0.36074165, 0.122156605, 0.019258482, 0.17046979, 0.060137603) * go_1(0.0, -1.0); - result += mat4(0.33356494, -0.101638936, -0.06131229, 0.048196703, 0.051127058, -0.044123553, 0.1780188, -0.0060462723, 0.050072145, 0.10497221, -0.50412345, -0.13448112, 0.0039893296, -0.08189366, -0.014733551, -0.10818881) * go_1(0.0, 0.0); - result += mat4(0.08261372, 0.014334234, 0.06299999, -0.075371794, -0.013736871, 0.012646158, -0.017394906, -0.089395225, -0.11433234, -0.029857801, -0.15656807, -0.091527075, 0.04103622, -0.03363836, 0.016624201, -0.0036849768) * go_1(0.0, 1.0); - result += mat4(-0.089841746, -0.06712061, 0.0527433, 0.082320526, -0.09120961, 0.050347377, -0.083178505, -0.08866272, -0.30313447, 0.11056798, 0.039219193, 0.07410963, 0.109322, 0.023776324, 0.12524699, -0.046025153) * go_1(1.0, -1.0); - result += mat4(0.084889896, -0.02918896, -0.09925119, -0.14783289, 0.17182311, -0.043737527, 0.037526473, -0.17095155, -0.4175669, 0.15075697, 0.08397851, -0.28285104, -0.15052564, 0.07753146, -0.055382084, -0.15306537) * go_1(1.0, 0.0); - result += mat4(0.05967354, 0.051270448, -0.088853374, 0.049626883, -0.045383934, 0.13075307, -0.013855193, 0.047234938, -0.13003716, 0.039057475, -0.20150818, 0.040109437, -0.010030361, 0.030319337, 0.032642324, -0.0369973) * go_1(1.0, 1.0); - result += mat4(-0.11543896, -0.017050894, -0.040339563, -0.028520064, -0.118439436, -0.07984377, 0.06831455, 0.15654051, -0.10115956, -0.2438409, 0.03736607, 0.12006528, -0.030477092, 0.011096038, 0.090815105, -0.0080058575) * go_2(-1.0, -1.0); - result += mat4(-0.06911358, 0.13267697, 0.14862104, -0.122848585, -0.17625184, -0.049463, -0.002210975, -0.0016514618, -0.10551103, 0.049154796, -0.0059836735, -0.105834186, 0.045391332, 0.09249315, -0.05793856, 0.067292385) * go_2(-1.0, 0.0); - result += mat4(-0.24482736, 0.059108716, -0.04583969, 0.08149522, 0.038962405, -0.042384293, -0.16724457, 0.02524365, 0.015999155, 0.0070147645, 0.05964749, -0.10706486, 0.026456963, 0.10617896, 0.15457928, 0.0120201) * go_2(-1.0, 1.0); - result += mat4(0.002382453, 0.1583132, -0.119973324, -0.0662401, -0.051640294, -0.0645128, -0.110066466, -0.04342153, -0.14796777, -0.00039787247, 0.06748297, 0.0036247273, -0.011881037, -0.16956528, 0.06889993, -0.20386338) * go_2(0.0, -1.0); - result += mat4(0.04101473, -0.24010769, 0.07311098, 0.54965353, -0.031760268, -0.028548244, 0.007514783, 0.04082258, -0.12587978, 0.10660041, 0.09860443, 0.06298276, -0.24874538, -0.027837105, 0.113290355, -0.107948154) * go_2(0.0, 0.0); - result += mat4(0.0003876406, -0.19534513, 0.12379949, 0.07418096, -0.05533002, 0.047913224, -0.095136575, -0.12830766, -0.045669492, 0.185782, 0.04429183, 0.021345537, 0.10170289, 0.012268334, 0.096150115, -0.13675393) * go_2(0.0, 1.0); - result += mat4(0.05352713, 0.10207215, -0.010504756, -0.08227354, -0.076499715, 0.007048693, 0.11185653, -0.0051883636, -0.096731015, -0.061566096, 0.06507135, -0.07496023, 0.06526383, 0.10773065, -0.02371179, -0.21231008) * go_2(1.0, -1.0); - result += mat4(0.065640226, -0.16055715, -0.19217896, -0.05266687, 0.043354426, 0.045996726, -0.12625614, -0.029164605, 0.009326327, 0.042128403, 0.17456397, -0.050843943, -0.0075650285, -0.03034361, 0.013880486, -0.069626965) * go_2(1.0, 0.0); - result += mat4(0.02068093, -0.04793541, -0.05546937, -0.032140132, 0.047307517, 0.051807012, 0.14029732, 0.00962683, -0.20456147, 0.18020096, -0.057128564, -0.13336244, -0.097290166, -0.004158448, -0.0600105, -0.009708849) * go_2(1.0, 1.0); - result += mat4(-0.032483056, 0.049853362, 0.021696301, -0.11219753, -0.02661955, -0.04607841, -0.014198818, -0.09468194, 0.021559052, -0.080357395, -0.032584, -0.00885768, 0.04445862, 0.067003295, -0.1003419, -0.05509865) * go_3(-1.0, -1.0); - result += mat4(-0.09067386, -0.1386776, -0.12894848, -0.09361908, 0.02725302, -0.082450785, 0.12913284, 0.017119015, 0.15628017, -0.04700464, 0.00830486, 0.038818985, 0.17048013, -0.07656522, -0.1224087, 0.07130913) * go_3(-1.0, 0.0); - result += mat4(-0.10417896, 0.016383825, 0.0073449006, -0.02711082, -0.037189025, -0.05160864, 0.05315494, -0.15611887, -0.04386266, -0.006611247, 0.14843988, -0.057192847, -0.023183309, -0.10346375, -0.06267799, 0.012322414) * go_3(-1.0, 1.0); - result += mat4(0.040689304, -0.18189529, -0.26992813, 0.12790182, 0.03878656, -0.0086402325, -0.0062929667, 0.06780035, 0.03195707, -0.035672437, 0.046817735, 0.06547671, 0.06372769, 0.05873523, 0.0021298856, 0.06129574) * go_3(0.0, -1.0); - result += mat4(-0.15713263, 0.035817664, -0.13872449, -0.044261634, 0.017223932, 0.009535214, 0.02511802, -0.04312037, 0.2664413, -0.0004277838, -0.15829046, 0.042596318, -0.00805113, -0.13120481, -0.0733825, 0.08075464) * go_3(0.0, 0.0); - result += mat4(0.019398525, -0.0021273023, -0.03635706, -0.014393008, -0.10642934, -0.1029655, -0.061802495, -0.15563649, 0.0645076, 0.14106958, 0.0996616, 0.03687089, 0.040620163, 0.075092375, -0.0925888, 0.020441564) * go_3(0.0, 1.0); - result += mat4(-0.12587729, 0.0013070012, 0.29089248, 0.059036452, -0.08924182, 0.091031685, -0.054014005, -0.10328428, 0.16332959, 0.053554036, -0.060469497, 0.040602013, -0.020064002, -0.08867987, -0.056540344, 0.008176135) * go_3(1.0, -1.0); - result += mat4(-0.035839718, 0.17201564, -0.24358493, -0.42401767, 0.09609074, 0.117533326, 0.02838792, -0.08895278, 0.017642612, -0.111211434, -0.050840933, -0.10403978, 0.033970676, -0.011216638, -0.04472192, 0.19342601) * go_3(1.0, 0.0); - result += mat4(0.0710926, 0.641456, 0.071938366, 0.1315065, -0.100831784, 0.1266041, 0.022571024, -0.07433246, -0.027134081, -0.03542851, -0.09404876, 0.022775577, -0.12099732, -0.01867027, -0.1062645, 0.13310277) * go_3(1.0, 1.0); - result += mat4(0.08233717, -0.04114099, 0.03508527, -0.15586078, -0.06144648, 0.114622496, 0.093427174, -0.07340158, -0.051627956, -0.07738936, 0.020813083, 0.06746887, -0.11991759, -0.051451, 0.053755388, 0.03875834) * go_4(-1.0, -1.0); - result += mat4(-0.040174812, 0.059218626, -0.06302023, 0.053127743, -0.014231688, 0.054382488, 0.068063706, 0.06149745, -0.01953451, -0.0713229, -0.02160103, -0.036886152, -0.0014814946, -0.055175968, 0.037955247, 0.005871771) * go_4(-1.0, 0.0); - result += mat4(-0.12535378, 0.17881174, 0.03780218, -0.012425667, 0.017902097, 0.09599461, 0.056568086, 0.25071, 0.0293225, -0.23321061, 0.12753327, -0.06956542, -0.06286754, -0.004013887, 0.03493985, -0.09810219) * go_4(-1.0, 1.0); - result += mat4(0.056827508, 0.16744581, 0.122243635, -0.068847984, 0.0877093, -0.24348012, -0.19141406, -0.055104826, -0.036792528, -0.0061125075, -0.0357928, -0.049301486, -0.002318358, 0.01462026, -0.044582937, 0.21821599) * go_4(0.0, -1.0); - result += mat4(-0.022950336, -0.08541699, -0.032364532, 0.073656, 0.28598115, -0.24147618, -0.40594783, -0.095169015, 0.030378088, -0.088105105, -0.018130457, 0.027292483, -0.053477596, 0.051044784, 0.057199217, 0.055807877) * go_4(0.0, 0.0); - result += mat4(-0.0029876707, 0.04961822, 0.14974596, -0.033321217, -0.16732486, -0.072705135, 0.013969497, -0.122740515, -0.08462876, -0.034225795, -0.014655614, -0.119398855, 0.09157269, -0.09268603, 0.050344553, -0.027266093) * go_4(0.0, 1.0); - result += mat4(0.15940595, -0.06773035, -0.018085696, -0.05118593, 0.0023117135, 0.086401805, -0.1512883, 0.064325646, -0.07582622, -0.17029655, -0.024559846, 0.030658428, 0.017730433, -0.08367396, 0.08823815, 0.05915384) * go_4(1.0, -1.0); - result += mat4(-0.038727205, 0.1089172, -0.057072043, -0.033894695, -0.14285448, 0.20544271, 0.17861229, -0.30484465, -0.03715663, -0.14572927, 0.060733713, 0.04181215, 0.09678157, -0.08408126, 0.0048096497, -0.065996654) * go_4(1.0, 0.0); - result += mat4(-0.07415517, 0.06777419, 0.026038412, -0.03502717, -0.13852024, 0.03202735, 0.02515385, 0.022922166, -0.09077502, 0.16230436, -0.0026498823, -0.015043002, 0.12700108, 0.057081882, 0.013029471, -0.030657085) * go_4(1.0, 1.0); - result += mat4(-0.12694584, 0.06294908, -0.117676765, -0.036909055, -0.044873755, -0.0039995643, 0.13362706, 0.050012905, -0.13367924, 0.07597831, 0.3819285, -0.28275692, -0.14412177, -0.2565575, 0.11027837, -0.12053281) * go_5(-1.0, -1.0); - result += mat4(-0.09367519, -0.14608231, -0.036556866, 0.01272179, 0.038633876, -0.003591367, 0.054400835, -0.010012759, -0.47939613, -0.019259147, 0.27748987, -0.104456015, -0.24190706, -0.06932349, 0.034514233, -0.35891885) * go_5(-1.0, 0.0); - result += mat4(-0.09559999, -0.048616488, 0.085638076, 0.008076739, 0.0872326, -0.08019889, 0.030777529, 0.019932257, 0.13578339, -0.11825049, 0.025971292, -0.24859837, 0.038768515, -0.18231516, -0.035713304, -0.0077301646) * go_5(-1.0, 1.0); - result += mat4(0.06128232, 0.080365516, 0.085317336, 0.23043136, -0.0345303, -0.09263342, -0.14098871, 0.065698296, 0.07305724, 0.1363207, 0.4074649, 0.06484066, -0.1677743, -0.07320494, -0.046586398, -0.14663507) * go_5(0.0, -1.0); - result += mat4(-0.26134238, -0.23036079, -0.13700944, -0.12379771, -0.085245565, 0.11716101, -0.011996683, -0.26328242, 0.76210666, 0.13128199, -0.4613038, -0.056481987, -0.04179439, -0.15293704, -0.031928822, 0.0028633792) * go_5(0.0, 0.0); - result += mat4(0.0701609, -0.044659905, -0.10519638, -0.02951965, -0.01773976, -0.09793353, -0.02663125, 0.025931468, 0.120253704, 0.107959, -0.2286903, 0.100008205, 0.019919766, -0.09379937, -0.03755325, -0.029165376) * go_5(0.0, 1.0); - result += mat4(0.12762111, 0.10005725, -0.020744884, 0.2261955, 0.0005694905, 0.023153208, 0.10108641, 0.06778726, -0.24574086, 0.26147386, -0.087716095, -0.35164383, 0.014982804, -0.04352452, 0.01995192, 0.070767686) * go_5(1.0, -1.0); - result += mat4(0.15459362, 0.0076204417, 0.12653103, 0.02246474, -0.102647394, 0.0890142, -0.07186823, -0.056002736, 0.01860861, 0.39250594, 0.25675145, 0.025204277, -0.20314611, 0.072741225, -0.07994986, -0.12488336) * go_5(1.0, 0.0); - result += mat4(-0.15671712, 0.12742579, 0.055502348, 0.09266183, -0.0138254035, 0.09349572, -0.0042213756, -0.111673295, -0.0023075854, -0.042950034, 0.22849235, 0.17697562, -0.13718896, 0.1530634, -0.01904453, 0.0029579364) * go_5(1.0, 1.0); - result += mat4(0.1002453, -0.0038715068, 0.08157385, -0.114144556, -0.10114003, -0.030322842, 0.1687901, 0.08137869, -0.018950412, 0.31931, 0.07726896, -0.01260731, -0.013306181, 0.012990402, 0.023081424, 0.024108054) * go_6(-1.0, -1.0); - result += mat4(0.016639968, -0.19199537, 0.12305707, 0.13543534, -0.12219802, 0.1590638, 0.093846135, -0.041526478, -0.19725557, 0.042915337, 0.021230828, 0.18341881, -0.07749526, -0.33567867, 0.1510488, -0.24736325) * go_6(-1.0, 0.0); - result += mat4(0.33647043, 0.043974105, -0.015270659, 0.34443954, 0.20130455, 0.13922754, 0.052082468, 0.04199112, 0.11493087, -0.055187847, -0.011534877, 0.01592477, 0.15338206, 0.08678507, -0.19229794, 0.13954975) * go_6(-1.0, 1.0); - result += mat4(-0.04917488, 0.011107744, 0.07049515, -0.21489471, -0.17595087, -0.12529567, 0.09190301, 0.11845325, -0.024334827, 0.32111624, 0.0024534697, -0.19983491, 0.16408783, -0.052561633, 0.08617242, 0.042390704) * go_6(0.0, -1.0); - result += mat4(0.028817827, 0.28836212, -0.048137162, 0.12320664, -0.097087085, -0.2842122, 0.00085189304, 0.06633536, -0.24821767, 0.045060735, 0.035565082, 0.16810042, -0.13840207, -0.04403226, -0.25070003, -0.4041356) * go_6(0.0, 0.0); - result += mat4(-0.22197938, -0.08768923, 0.045177262, -0.078506745, 0.08253066, 0.016144753, 0.1645656, -0.028598493, -0.07849487, -0.07094212, 0.057455402, 0.00037928123, 0.0972565, -0.10698883, 0.013749269, 0.24829234) * go_6(0.0, 1.0); - result += mat4(0.052576844, 0.08776649, -0.17621052, 0.08209505, -0.11818109, -0.19763248, 0.20851502, 0.23726037, -0.04153201, 0.14402445, 0.14808771, -0.26490554, 0.023291918, -0.012744647, 0.01284057, 0.057120457) * go_6(1.0, -1.0); - result += mat4(-0.03312023, 0.18762802, -0.065782025, 0.37418395, 0.03296075, -0.13471349, -0.000604518, -0.11046129, -0.040362366, -0.05119359, -0.060928266, 0.0076234927, 0.004223431, -0.2519941, -0.03538203, 0.26457635) * go_6(1.0, 0.0); - result += mat4(-0.09241529, -0.16896167, -0.26097003, -0.03554997, -0.07486264, 0.12789203, -0.022967441, 0.037033424, 0.01006943, -0.041292597, 0.048790745, -0.02055147, -0.07281084, 0.10865022, -0.08581465, -0.11227524) * go_6(1.0, 1.0); - result += mat4(-0.10940675, -0.19411772, 0.055769432, 0.024340319, -0.00645665, 0.056368824, 0.043865785, 0.020037498, -0.16133311, 0.01766112, -0.08227002, 0.14941923, -0.021099616, -0.18266949, 0.09612128, -0.14281271) * go_7(-1.0, -1.0); - result += mat4(0.03217922, 0.05612644, -0.033255585, -0.056363396, 0.024762414, 0.21498744, -0.0072923806, -0.0851579, -0.02493222, 0.18570428, -0.001326312, -0.080563165, -0.1915287, -0.0854206, 0.21276848, -0.19071062) * go_7(-1.0, 0.0); - result += mat4(-0.008697236, -0.05907871, -0.03935557, -0.12401368, -0.28379413, 0.088884436, 0.10571658, 0.10813083, -0.0816413, 0.14360937, -0.056890983, 0.066707395, 0.09237749, -0.03639047, 0.0149323, -0.08099579) * go_7(-1.0, 1.0); - result += mat4(0.14562428, -0.41132495, -0.09468721, 0.12390293, -0.35304794, -0.0978397, 0.10259785, -0.059098184, -0.18376185, -0.11395008, 0.06149591, -0.061300837, 0.030855265, -0.029505031, -0.08134364, 0.052349824) * go_7(0.0, -1.0); - result += mat4(-0.054168303, 0.14281495, -0.1929224, 0.06413072, -0.25336048, 0.0947037, 0.08503807, -0.2678951, -0.0956869, -0.0028941594, 0.12420388, 0.09337278, -0.22638662, 0.20074275, 0.27849185, -0.10343632) * go_7(0.0, 0.0); - result += mat4(-0.10784557, -0.09003896, -0.046144225, 0.04472689, -0.048930172, -0.042827412, 0.02361569, 0.048961647, -0.12720263, -0.19882552, 0.032855414, 0.018087896, -0.006664184, 0.061284702, 0.040077087, 0.06483349) * go_7(0.0, 1.0); - result += mat4(-0.09102824, 0.19297811, 0.079428986, -0.1140786, 0.08065769, 0.11470058, -0.05182968, -0.0031918169, 0.057114378, -0.07034676, 0.05162736, -0.13989258, -0.0007428154, 0.14386162, -0.22555909, 0.031960685) * go_7(1.0, -1.0); - result += mat4(-0.060471173, 0.009634131, 0.03902269, 0.09661466, -0.24774061, -0.05557977, 0.012585905, -0.02392872, 0.114676595, -0.017493265, 0.110723615, -0.09117071, 0.1765386, -0.099044226, 0.08444831, 0.1444548) * go_7(1.0, 0.0); - result += mat4(0.06494709, 0.038754467, -0.0029358356, -0.14191265, 0.0057709096, -0.17836918, 0.0835745, -0.13418244, 0.006400464, 0.12102691, 0.015754992, -0.082292266, 0.013177254, -0.15339093, -0.03636538, 0.009245474) * go_7(1.0, 1.0); - result += mat4(0.12107869, 0.005942261, 0.053359907, -0.04101948, 0.13175036, 0.076938406, -0.080700554, -0.09937644, -0.059118178, 0.01999205, -0.12440703, -0.17912516, 0.099387065, 0.12858933, -0.13126332, -0.07864274) * go_8(-1.0, -1.0); - result += mat4(0.015471563, -0.093275815, -0.07918882, 0.015113541, 0.034789484, 0.005147553, -0.035894252, 0.012473097, 0.17425276, -0.06431719, 0.053038493, 0.07075733, -0.13703232, -0.108021386, 0.08097401, -0.09084637) * go_8(-1.0, 0.0); - result += mat4(0.22216305, 0.06436357, 0.04725549, -0.009216946, 0.12172688, 0.13367362, 0.17289402, -0.027260972, 0.0316388, 0.047867503, 0.044632692, 0.13161063, 0.01681034, -0.117173694, -0.11198718, -0.090385385) * go_8(-1.0, 1.0); - result += mat4(-0.04448494, -0.09054891, 0.10193784, 0.10481165, 0.09505045, 0.09442895, 0.059165824, -0.017999176, 0.19332564, -0.13344298, 0.043347962, -0.009198223, -0.077678666, 0.07262827, -0.054718617, 0.2462452) * go_8(0.0, -1.0); - result += mat4(-0.14460659, 0.19911581, -0.011829462, -0.24477552, 0.10222534, 0.17500538, -0.088302314, -0.03723031, 0.22934242, 0.033233006, 0.076508425, 0.086021885, 0.076261, -0.02892584, -0.1842937, 0.28159407) * go_8(0.0, 0.0); - result += mat4(-0.05750402, 0.08285725, -0.20076582, 0.017502094, -0.111210905, -0.20192915, 0.027090786, 0.13547169, 0.034292024, -0.009578894, 0.09613332, -0.012890754, -0.24042566, 0.11162173, 0.061244607, 0.106738865) * go_8(0.0, 1.0); - result += mat4(-0.0056016557, -0.07016059, 0.015586803, 0.113896616, 0.036264896, -0.07797885, -0.10836503, -0.008504698, 0.09010728, 0.008030681, -0.14481634, 0.094113514, -0.11525783, -0.16482571, 0.16644086, 0.18656185) * go_8(1.0, -1.0); - result += mat4(-0.15490383, -0.010732233, 0.15570381, 0.013117034, -0.023504725, -0.08264894, 0.05413935, 0.02167481, 0.02526282, 0.07887943, -0.18842192, 0.046029042, -0.035524786, -0.0850923, 0.058897875, -0.015918015) * go_8(1.0, 0.0); - result += mat4(0.020360103, -0.012570338, 0.08877764, 0.02096158, 0.04831387, 0.096580565, -0.059062235, 0.027416367, 0.16610818, -0.048174858, 0.014525945, 0.10096015, 0.11185447, -0.1518419, 0.013404751, -0.023205053) * go_8(1.0, 1.0); - result += mat4(-0.04306929, -0.073872276, -0.017753715, -0.009508062, -0.06119793, 0.10653636, -0.13039438, -0.24057238, -0.010483553, 0.016872346, 0.056444157, 0.03830218, 0.0059971744, -0.034371436, 0.036614515, 0.08423129) * go_9(-1.0, -1.0); - result += mat4(0.09289988, -0.06163418, 0.17578109, -0.091560215, -0.1247038, 0.09502665, -0.1327171, -0.27483323, -0.036985267, -0.056237724, -0.02098289, 0.103276916, -0.12641357, -0.007150088, 0.07125758, -0.01968212) * go_9(-1.0, 0.0); - result += mat4(0.04571787, 0.09795907, -0.050483674, -0.011451801, -0.10090189, 0.17867349, 0.06240289, 0.03660141, 0.09306018, 0.0099239815, -0.10751435, -0.13398375, 0.0018341575, 0.076876044, 0.013059743, -0.001757958) * go_9(-1.0, 1.0); - result += mat4(0.03580767, -0.0920832, -0.048678134, -0.08585588, -0.25861412, -0.34989825, 0.13219722, -0.23836084, -0.031598125, -0.1980442, -0.10422264, 0.13378029, -0.06057577, -0.02566017, 0.07589835, -0.06603067) * go_9(0.0, -1.0); - result += mat4(-0.038895957, 0.10479996, -0.021055168, 0.002985772, -0.020986749, 0.19991115, 0.3909512, -0.18155256, 0.11361141, 0.1263755, -0.1411, 0.23717235, 0.04549265, -0.047232505, 0.0017680351, 0.034420468) * go_9(0.0, 0.0); - result += mat4(-0.06257207, -0.097900964, -0.050873708, -0.116532296, -0.45115742, -0.37410742, 0.004776952, -0.012661815, -0.03602844, -0.13416661, 0.06795347, -0.2639946, -0.043392774, -0.013479449, -0.018292706, 0.06350002) * go_9(0.0, 1.0); - result += mat4(0.029981725, -0.14732479, -0.08568945, -0.05040381, 0.05038456, -0.21006814, -0.06465483, 0.2622558, -0.14217721, -0.07141784, 0.10449286, -0.06247594, -0.008926917, 0.066042386, 0.024682269, 0.0019684169) * go_9(1.0, -1.0); - result += mat4(0.06684293, -0.06025172, -0.017142097, 0.019198751, -0.16248102, 0.07748216, 0.1356666, 0.10687109, 0.020113792, 0.16917363, -0.13187894, 0.16092238, -0.037741035, -0.11543223, 0.008387134, -0.1788102) * go_9(1.0, 0.0); - result += mat4(-0.0641759, 0.0035762053, 0.006215076, -0.048748907, -0.05194134, -0.09104838, -0.13861741, 0.069660455, 0.14160399, -0.1259376, 0.26030827, 0.057737302, 0.07375596, -0.08941705, 0.09028937, -0.13736711) * go_9(1.0, 1.0); - result += mat4(-0.2132701, -0.02094667, -0.10508215, 0.15088913, 0.01673081, -0.07022761, 0.04353132, -0.060586076, 0.013688303, -0.053508937, 0.091935135, -0.12722084, 0.20991062, 0.34238532, 0.073321, -0.13415793) * go_10(-1.0, -1.0); - result += mat4(-0.42283273, -0.20882814, 0.0746904, 0.030884372, -0.046567556, -0.09601958, 0.019217268, 0.020614645, 0.023532817, 0.16495451, -0.061495263, 0.17093019, -0.015031176, -0.10596483, -0.35751313, -0.036069453) * go_10(-1.0, 0.0); - result += mat4(0.09802603, 0.05243237, -0.011705317, 0.24476443, -0.033207234, -0.035959207, 0.031047646, -0.23115188, 0.016027762, 0.79442054, 0.4044869, -0.11494329, -0.006273987, 0.004718425, -0.11209608, -0.008015948) * go_10(-1.0, 1.0); - result += mat4(-0.16346502, -0.17156897, -0.11642438, -0.024952129, 0.031115294, 0.08774017, 0.00598107, 0.05092626, 0.113979645, -0.052892536, -0.013108269, 0.0571676, -0.022390213, 0.2335813, 0.14485772, -0.30527407) * go_10(0.0, -1.0); - result += mat4(-0.32269135, 0.023324538, 0.17180206, 0.09219933, -0.016700493, -0.03755764, 0.045262657, -0.14225388, 0.053342134, 0.21138674, -0.044557836, 0.037281107, -0.043544468, -0.20836818, 0.13546935, 0.03176496) * go_10(0.0, 0.0); - result += mat4(0.022647953, 0.008730454, -0.15616144, -0.08256037, 0.072356544, -0.021719307, -0.15201953, -0.016114464, -0.21912077, -0.0851361, 0.51460695, -0.6446934, -0.010587294, -0.07769936, 0.0050584907, -0.05872306) * go_10(0.0, 1.0); - result += mat4(-0.02132089, -0.13096721, 0.038064517, -0.00060747104, 0.0062361676, 0.067216225, 0.09402394, -0.06513655, 0.01862414, 0.037082087, -0.021554682, 0.045969013, -0.0039607184, 0.15375406, -0.14449036, 0.07655889) * go_10(1.0, -1.0); - result += mat4(0.07068288, 0.001961099, 0.09929328, -0.028476834, 0.031980775, 0.09211007, 0.054330252, 0.052927166, 0.08970436, 0.00015303591, -0.13828777, -0.07198454, -0.15016508, 0.026365617, 0.18633242, -0.025553932) * go_10(1.0, 0.0); - result += mat4(-0.10826819, -0.1304685, -0.03685067, -0.12489227, 0.005607342, 0.09233144, -0.014122842, -0.046526186, -0.17548485, 0.026248131, 0.1621087, -0.20665328, -0.09381958, 0.036105122, -0.08728352, 0.03987857) * go_10(1.0, 1.0); - result += mat4(0.077677496, -0.13329592, 0.17164698, 0.0019113998, -0.025696686, 0.0672842, 0.036873437, -0.11686353, -0.097731896, -0.0028006139, 0.021490095, 0.15943187, 0.07889494, 0.3629766, -0.18132637, 0.15385807) * go_11(-1.0, -1.0); - result += mat4(0.044238772, 0.1567383, 0.12640673, -0.052630864, -0.007302675, -0.10967158, -0.107756294, 0.17859331, 0.07136489, -0.04341069, 0.024249079, -0.05897967, 0.111258015, -0.17078657, 0.036048226, 0.16152963) * go_11(-1.0, 0.0); - result += mat4(0.07384503, 0.06284907, -0.014108331, -0.017090164, 0.121260636, 0.008501252, -0.06885781, -0.021639979, -0.041774526, 0.08451698, 0.000121687364, -0.03919082, 0.0052454737, 0.06350427, 0.12008924, -0.055543303) * go_11(-1.0, 1.0); - result += mat4(-0.064878955, -0.0719878, 0.08265773, -0.1688665, 0.048050933, 0.11382349, 0.071546555, -0.21108189, -0.012830082, 0.11217351, -0.018128209, -0.061462913, 0.23882945, 0.649829, 0.12733355, 0.11227615) * go_11(0.0, -1.0); - result += mat4(0.041163422, 0.03651781, 0.16549642, 0.017468395, 0.09350432, -0.23474495, -0.23380195, 0.11907154, -0.12089363, -0.044256873, 0.1877988, -0.049312383, 0.21568891, -0.07808991, 0.007451335, 0.018319923) * go_11(0.0, 0.0); - result += mat4(-0.12518145, 0.11612238, 0.006161161, -0.06755221, -0.029740417, -0.069201775, -0.055142555, -0.12959711, -0.04151932, -0.13112305, 0.027883865, -0.14688236, 0.11637084, 0.03143717, 0.019010155, 0.10953431) * go_11(0.0, 1.0); - result += mat4(0.04209335, 0.068751834, -0.0061649308, -0.16101876, -0.0722853, 0.024952479, -0.3132622, 0.08744035, 0.073933974, -0.051336445, 0.032455105, 0.13063438, 0.059895504, 0.29420298, 0.038490206, -0.12442902) * go_11(1.0, -1.0); - result += mat4(-0.07200042, -0.023259655, 0.012635364, 0.12218508, -0.032365907, 0.43177593, 0.16525982, -0.08950363, -0.054844007, -0.03696446, -0.08850468, -0.1255118, 0.031016335, 0.04766782, -0.078383796, 0.01441548) * go_11(1.0, 0.0); - result += mat4(0.11503451, -0.044968586, 0.06326391, -0.071147904, -0.16879457, 0.07397432, 0.018188922, 0.10572427, -0.034960777, -0.07943137, -0.0036348181, 0.058225635, 0.069235794, -0.051237226, -0.1377284, 0.08924826) * go_11(1.0, 1.0); - result += vec4(-0.051804453, -0.0035980425, 0.04082406, -0.033362225); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!SAVE conv2d_1_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10686424, 0.17431372, -0.18661575, 0.010713689, 0.03379707, -0.09569068, 0.2034078, 0.10498479, 0.011634523, 0.050713755, 0.032565415, -0.080337286, -0.09969752, -0.055666827, 0.035421696, -0.0867718) * go_0(-1.0, -1.0); - result += mat4(-0.073666155, -0.06493011, -0.026273629, 0.22499932, 0.08139263, -0.11249932, 0.28837353, 0.17552267, -0.021960992, -0.028706687, 0.05090913, -0.15623435, 0.03769752, -0.15579492, 0.09105939, 0.07497639) * go_0(-1.0, 0.0); - result += mat4(0.048357245, 0.053886283, 0.13461725, -0.11071112, -0.077213906, -0.052245375, -0.04013169, 0.062037695, -0.13215369, -0.09174701, -0.114625834, 0.051914312, 0.01612896, 0.053970147, 0.04973606, -0.07729732) * go_0(-1.0, 1.0); - result += mat4(-0.078420036, -0.13297887, -0.052783236, -0.10189405, 0.11061531, -0.09680305, 0.005810091, 0.07245157, -0.1038221, 0.25642323, -0.12693721, -0.20040022, 0.04993069, -0.0991663, -0.069509506, 0.05367051) * go_0(0.0, -1.0); - result += mat4(-0.019883003, 0.008554149, -0.06069851, -0.06600372, 0.15867192, 0.14257845, -0.060953278, 0.11745147, -0.18195617, -0.0049814377, 0.0869189, 0.108226046, -0.15425956, -0.103610225, -0.026791094, 0.101708464) * go_0(0.0, 0.0); - result += mat4(0.024521135, 0.113311276, -0.033070467, -0.094435304, -0.04944495, 0.044213716, -0.032835033, -0.032649312, -0.025082994, 0.0075755576, -0.00039931637, -0.051290717, 0.11232367, -0.028651753, -0.02722451, -0.11874975) * go_0(0.0, 1.0); - result += mat4(0.038403023, 0.01434569, 0.05527001, -0.009426801, 0.11922298, 0.15881695, 0.010242657, 0.0150002055, -0.08634809, 0.18841596, -0.06529487, -0.022850564, -0.014353311, -0.018264877, 0.010582817, 0.05675244) * go_0(1.0, -1.0); - result += mat4(-0.038173348, -0.04938816, -0.034626633, 0.115011, -0.17997329, -0.024382714, 0.018238366, 0.0795699, 0.11787341, -0.03350269, 0.06319287, 0.010102462, -0.01196875, 0.07582537, 0.055843, -0.08944427) * go_0(1.0, 0.0); - result += mat4(0.020445071, -0.062003933, 0.025338916, -0.111742504, 0.018534176, -0.019231565, -0.009523114, -0.09424414, 0.105761416, 0.029941276, -0.01992244, -0.13365352, -0.06464694, 0.04955974, -0.06972657, 0.031168776) * go_0(1.0, 1.0); - result += mat4(0.048598338, -0.15457329, 0.23040074, -0.17382176, -0.07893832, -0.20589326, -0.1024789, -0.036393065, 0.16289537, -0.043633476, -0.08692494, 0.06635826, -0.037026048, 0.19121586, 0.04192811, 0.08617132) * go_1(-1.0, -1.0); - result += mat4(0.06431465, -0.04477714, 0.1393434, -0.14326997, -0.009671985, 0.07842364, -0.04966627, 0.010917152, -0.07983255, 0.03677405, 0.03150012, 0.06264113, -0.055912133, -0.15776533, 0.19988042, 0.32305804) * go_1(-1.0, 0.0); - result += mat4(-0.11813575, -0.12848048, 0.09815029, -0.084332794, -0.045466557, 0.024617787, 0.094612665, -0.10983498, 0.01281462, -0.07084845, 0.08365987, 0.02980482, 0.20680314, 0.19660185, 0.090160295, -0.024230592) * go_1(-1.0, 1.0); - result += mat4(0.22242945, 0.042977955, -0.1950584, 0.114693254, 0.10080756, -0.2195417, 0.07318277, 0.017024588, 0.084581, -0.06843593, -0.12843226, 0.3261798, 0.13944952, 0.13179941, 0.008821559, -0.087943) * go_1(0.0, -1.0); - result += mat4(0.006668788, 0.038560845, 0.12404563, -0.05769671, -0.015818367, -0.13033059, -0.25943246, 0.072956696, 0.21427058, 0.10687695, 0.25362974, 0.030753143, -0.20489524, 0.03688324, -0.056671564, -0.15081882) * go_1(0.0, 0.0); - result += mat4(-0.016237376, 0.06530418, 0.0008575612, 0.0024773555, -0.08457907, 0.124187596, -0.017193364, 0.020395733, 0.041882973, 0.0939689, -0.041423228, 0.11850349, -0.053418733, 0.018237034, 0.15922968, -0.028196482) * go_1(0.0, 1.0); - result += mat4(0.00617314, 0.028988088, -0.12129224, -0.013645742, 0.041919876, 0.09312565, -0.011853595, -0.039161764, -0.0018104025, 0.030794937, -0.027200973, -0.01889041, -0.061270796, -0.020167446, -0.022094764, -0.06321879) * go_1(1.0, -1.0); - result += mat4(0.23553117, 0.011681662, 0.09088071, -0.08406735, -0.11986371, -0.07598161, 0.10916216, 0.03042131, -0.050459344, 0.048346892, -0.03265152, -0.041599296, 0.017753642, 0.02199675, -0.12781127, 0.053903423) * go_1(1.0, 0.0); - result += mat4(0.08247833, -0.053099908, 0.10497532, 0.0009267122, -0.048440482, -0.030394204, 0.09059801, 0.05765988, 0.07783196, 0.081616424, 0.120132275, 0.017684443, -0.023979973, -0.055363264, -0.0023568745, -0.06474386) * go_1(1.0, 1.0); - result += mat4(0.03935864, 0.13646065, -0.0980335, -0.09464908, -0.14030007, 0.10547609, -0.05503995, -0.026297066, -0.19069989, -0.11692969, 0.033806093, -0.110443994, 0.06024984, -0.022988832, 0.07912321, -0.23436208) * go_2(-1.0, -1.0); - result += mat4(0.03736314, 0.09950635, -0.035241336, 0.35002565, 0.088414624, 0.10096662, -0.17172632, 0.15142097, 0.049536142, -0.09132737, 0.0081931185, -0.13172668, -0.09466351, -0.08956953, -0.16681527, -0.2851225) * go_2(-1.0, 0.0); - result += mat4(0.044081934, 0.18403912, -0.028386973, 0.048505448, -0.053118926, -0.08533175, 0.115222245, -0.096146524, 0.007817108, 0.179298, 0.1150954, -0.020710714, 0.03293392, 0.037513856, -0.039692983, -0.04825996) * go_2(-1.0, 1.0); - result += mat4(-0.059859905, -0.09073711, -0.111966245, 0.081563674, 0.04086593, 0.14733186, 0.05190138, -0.12694141, -0.13941759, 0.06996519, -0.068747684, -0.20645827, -0.09175273, 0.12211811, -0.093354166, -0.04851858) * go_2(0.0, -1.0); - result += mat4(-0.039201275, -0.12566729, -0.15083213, 0.06934724, 0.00907371, 0.25165445, -0.03215991, -0.12954757, -0.04468517, 0.008889168, 0.0066400254, 0.10167141, -0.04695212, 0.064692214, 0.18480566, 0.19480804) * go_2(0.0, 0.0); - result += mat4(-0.014581287, -0.06898704, -0.0051806406, -0.10608466, 0.1262722, -0.04060088, -0.16856684, 0.032435227, 0.026973879, -0.0026733307, 0.045268867, -0.13237081, 0.16020067, -0.021973023, -0.19009824, 0.15028222) * go_2(0.0, 1.0); - result += mat4(0.18460129, 0.1333479, 0.03837729, -0.058306176, 0.07040987, -0.014847655, -0.01068034, -0.03538366, 0.03560099, -0.07245003, 0.05421727, 0.054558117, 0.12696071, 0.110505275, -0.0001801124, 0.10988035) * go_2(1.0, -1.0); - result += mat4(0.02687717, 0.026820526, 0.00013342683, -0.024742479, 0.010069058, -0.035168402, 0.043235146, -0.0005362559, 0.07407034, 0.21309346, -0.06483402, 0.071147814, -0.033207595, -0.10294866, -0.036925662, -0.027010951) * go_2(1.0, 0.0); - result += mat4(0.12488478, 0.098401785, -0.025045905, -0.014792015, -0.034646317, -0.027978942, -0.12320188, -0.024810791, 0.016550582, 0.13471514, 0.10670648, -0.05094192, -0.055596545, -0.1049561, -0.09986287, -0.0023964173) * go_2(1.0, 1.0); - result += mat4(-0.080887415, 0.006002427, 0.014467008, 0.0073124142, 0.129575, -0.106121704, 0.0053149317, 0.09235564, 0.11186122, 0.032131296, -0.076612376, 0.06624548, 0.08596849, 0.011764685, 0.14384155, 0.021837883) * go_3(-1.0, -1.0); - result += mat4(0.06103023, -0.031309135, 0.13279384, -0.08082667, 0.052683856, -0.031909406, 0.11510065, 0.10554583, 0.06680798, 0.029968834, -0.06693931, 0.16237023, -0.08490032, -0.12100683, -0.026126593, 0.016325515) * go_3(-1.0, 0.0); - result += mat4(0.060680456, -0.009623815, 0.08332933, -0.055023734, -0.08690529, -0.07147011, 0.011002754, 0.0018552957, 0.061229635, 0.088315226, -0.20416659, 0.24169642, 0.050275456, -0.06378886, -0.11931172, -0.02514527) * go_3(-1.0, 1.0); - result += mat4(-0.02761119, 0.08644608, 0.088277236, -0.018450672, -0.0039901347, -0.068680376, 0.020421231, -0.04279749, 0.06106539, 0.007899028, 0.006244339, 0.0038284787, 0.01852972, 0.0907674, -0.030920882, -0.026493091) * go_3(0.0, -1.0); - result += mat4(-0.1279502, -0.10258929, -0.08419827, 0.20507072, -0.09553339, 0.05191081, 0.07021672, -0.07435205, 0.22677262, 0.09975214, -0.020335881, -0.04577811, 0.0077291103, 0.10471583, 0.17636743, 0.11087656) * go_3(0.0, 0.0); - result += mat4(0.075052544, 0.0092922645, -0.08448927, 0.041604668, 0.026037812, 0.0860355, -0.015922202, 0.019066084, 0.027546916, -0.027568692, -0.26731342, -0.023392681, 0.051625036, -0.0934867, 0.01855649, 0.13799979) * go_3(0.0, 1.0); - result += mat4(-0.06296666, -0.1098412, -0.008336122, -0.1683294, -0.0039476524, 0.06753397, -0.055691563, -0.03172386, -0.028133264, 0.09248862, -0.057005152, -0.08819879, 0.00033600588, -0.040332403, 0.021726275, 0.026756682) * go_3(1.0, -1.0); - result += mat4(-0.18335228, 0.055761904, 0.18097118, 0.14507161, 0.0068749846, -0.012521843, 0.023245614, -0.026463345, 0.043985046, -0.2165717, 0.0774852, -0.02483345, 0.08675624, 0.05628849, -0.009224984, -0.050731745) * go_3(1.0, 0.0); - result += mat4(-0.1567382, 0.08874605, -0.0032084028, 0.08684666, 0.07949444, 0.007671013, 0.0040961164, -0.1017389, 0.018606596, 0.009996349, -0.103171706, 0.03754502, 0.04512539, 0.07232536, -0.12089054, 0.01449721) * go_3(1.0, 1.0); - result += mat4(0.043988064, -0.2168024, 0.10836671, -0.044771742, 0.055952765, 0.005712055, -0.11988445, 0.06644813, -0.13616242, 0.04415895, 0.120261654, -0.16818422, -0.15581395, 0.0015744499, -0.14568093, -0.05753751) * go_4(-1.0, -1.0); - result += mat4(-0.021522403, -0.07986922, 0.062384382, -0.13140142, 0.034894954, 0.08006326, -0.07651594, -0.036141198, -0.06851456, -0.0834359, 0.0752904, 0.21887264, 0.0061549665, -0.06516249, 0.18681414, 0.0365946) * go_4(-1.0, 0.0); - result += mat4(0.10052518, -0.10670847, -0.003079081, -0.09498389, -0.07520011, 0.08290768, -0.084294625, -0.01131368, -0.099579826, -0.06137724, -0.11067449, 0.009704116, 0.040147323, -0.08841677, 0.06690092, 0.03778933) * go_4(-1.0, 1.0); - result += mat4(0.10545755, 0.13839878, -0.03984289, 0.10025751, 0.009478087, -0.14025608, 0.053947553, 0.18398194, -0.05149111, 0.050120454, 0.013956731, -0.043310497, -0.019726504, 0.118855774, 0.0013074268, -0.053335477) * go_4(0.0, -1.0); - result += mat4(-0.23760495, 0.08390418, -0.049581543, 0.10635951, -0.05460877, -0.04543479, 0.16504921, -0.036034804, 0.09784669, -0.06739755, 0.1291667, -0.039256845, 0.07527601, -0.070993215, -0.19017631, -0.031153971) * go_4(0.0, 0.0); - result += mat4(0.040954154, -0.09255729, -0.08177323, -0.07543496, 0.015799338, -0.1570934, 0.15411973, 0.09213898, -0.010481805, 0.05641228, -0.118413515, -0.09061437, -0.08796755, -0.007553788, -0.10498269, 0.12313105) * go_4(0.0, 1.0); - result += mat4(0.06398932, 0.13469447, -0.011273027, -0.044646043, -0.04710218, 0.09578059, -0.029808268, -0.027448278, -0.0009713295, 0.058415554, 0.06080652, 0.08606312, -0.104948185, -0.0096215615, 0.07537734, -0.010545255) * go_4(1.0, -1.0); - result += mat4(-0.1279408, -0.19020812, -0.0943298, 0.032013718, -0.14963102, 0.047066286, -0.104419105, -0.014193013, -0.065125234, -0.065608494, -0.095970854, -0.0014514026, 0.011343235, 0.10566982, -0.089031704, 0.06812633) * go_4(1.0, 0.0); - result += mat4(-0.018788658, -0.06289463, -0.15440673, -0.13007106, -0.03818653, -0.019451238, -0.15964429, 0.020377161, -0.0080730105, 0.000705676, -0.06964132, 0.024361277, -0.13875677, -0.052965797, 0.095339194, 0.06888489) * go_4(1.0, 1.0); - result += mat4(-0.019789973, -0.12040434, 0.04240305, -0.024595534, -0.05556233, 0.029707985, -0.168925, 0.049333967, -0.00080379954, -0.10835547, -0.15086678, -0.06383391, -0.16054042, 0.06484674, -0.19530065, 0.10922658) * go_5(-1.0, -1.0); - result += mat4(-0.05953651, -0.03141437, 0.11094798, 0.08243985, 0.028865665, 0.08213878, 0.04258892, 0.0680956, -0.047587804, -0.12693568, 0.07055364, -0.11214787, 0.08969217, 0.1419136, -0.13514246, 0.13407274) * go_5(-1.0, 0.0); - result += mat4(-0.050891425, 0.020388588, -0.06745435, 0.017085094, -0.1045077, 0.022298822, -0.097081736, 0.08203017, -0.027630981, -0.13675974, -0.10134547, -0.1281878, 0.07093644, 0.12771745, 0.13011754, 0.057423916) * go_5(-1.0, 1.0); - result += mat4(-0.037570868, 0.07060522, -0.0051040407, -0.0025844222, -0.11711207, -0.0673309, -0.048931435, 0.0147821205, 0.07795294, -0.13408278, -0.19637404, 0.10269599, -0.11200572, 0.09499086, 0.06428558, 0.06680813) * go_5(0.0, -1.0); - result += mat4(0.024472006, -0.2130565, -0.015151474, 0.16437468, -0.15263173, 0.0901281, 0.14322212, -0.01657089, 0.046343457, 0.115670264, 0.460088, -0.11364276, 0.07643118, -0.14651597, 0.18278573, -0.12530184) * go_5(0.0, 0.0); - result += mat4(0.060754742, -0.001678119, 0.030816441, 0.06681249, -0.09796916, -0.11359681, -0.09244883, 0.018559854, 0.01096573, -0.094277434, 0.08694235, -0.0823104, -0.0488883, -0.093095176, 0.14834714, -0.1352162) * go_5(0.0, 1.0); - result += mat4(-0.12880152, -0.19384775, -0.037801757, 0.06656008, 0.007076701, 0.018130813, 0.19761431, 0.059055846, 0.14532924, 0.10376109, 0.04665052, -0.023133863, -0.010181634, 0.0017168559, 0.013745001, -0.007121095) * go_5(1.0, -1.0); - result += mat4(0.16919339, -0.027795903, -0.03306036, 0.0019032159, 0.039146144, 0.0497634, -0.0764362, -0.07226232, 0.05425214, -0.10504981, -0.04627003, 0.022908883, 0.079698324, -0.038020927, 0.08061228, -0.10370709) * go_5(1.0, 0.0); - result += mat4(-0.015387303, 0.005504668, 0.052100983, -0.15418914, -0.022040624, 0.052186437, 0.09509722, -0.002403473, 0.19483614, 0.003452582, -0.06495632, -0.23240727, 0.032974433, 0.0007399171, 0.06560719, -0.0033740813) * go_5(1.0, 1.0); - result += mat4(0.023054665, -0.26043692, 0.18474972, -0.09608795, -0.020994432, 0.0119039025, -0.21327825, -0.24308199, -0.088114575, 0.0031395438, -0.041250248, 0.112322785, 0.07924635, -0.043412726, 0.0422074, -0.010226289) * go_6(-1.0, -1.0); - result += mat4(-0.02912112, -0.069595225, 0.10448175, -0.51250935, -0.13847098, 0.1607622, -0.3267751, -0.1770978, 0.01824646, 0.028984351, -0.030345665, 0.13081262, 0.063996404, 0.08793573, -0.13965712, 0.067263685) * go_6(-1.0, 0.0); - result += mat4(-0.03841053, 0.045040864, -0.18179531, 0.0718325, 0.022482697, -0.013581522, 0.032139305, -0.22102495, 0.09908346, 0.051011063, 0.11530665, -0.055368867, -0.07484559, -0.066463865, 0.004535346, 0.016886283) * go_6(-1.0, 1.0); - result += mat4(0.15519743, 0.17356728, 0.03410276, 0.0871071, -0.1195365, 0.124625124, -0.0097680325, -0.091822244, 0.0344685, -0.19980973, 0.18815377, 0.31003565, -0.098318, 0.109376736, -0.08224549, -0.017187273) * go_6(0.0, -1.0); - result += mat4(-0.0375595, -0.034162704, 0.092746235, 0.12421092, -0.1849872, -0.11413569, 0.04921203, -0.10434121, 0.14085439, -0.011802199, -0.078255296, -0.22816189, 0.10738017, 0.083183795, 0.13766633, -0.14097023) * go_6(0.0, 0.0); - result += mat4(-0.017320648, -0.18156715, -0.08577414, 0.24383464, 0.06509076, 0.0149711, -0.0074050296, 0.062410038, 0.12266333, 0.016462294, -0.0064600827, 0.005678038, -0.043331582, 0.26797196, -0.012759982, 0.3209115) * go_6(0.0, 1.0); - result += mat4(-0.052863203, -0.029584473, -0.07951153, 0.09404685, -0.13191116, -0.17476398, 0.0052808016, -0.05577381, 0.09763811, -0.19072057, 0.012749096, 0.036612183, 0.14015351, 0.0064597945, 0.0593276, -0.09717058) * go_6(1.0, -1.0); - result += mat4(-0.10637754, 0.111114345, -0.015331149, 0.0011310631, 0.110100284, 0.09273301, 0.023341045, -0.02656039, -0.035890426, 0.019883053, -0.053340383, -0.015699102, -0.020341745, -0.023196017, -0.06532072, 0.18366042) * go_6(1.0, 0.0); - result += mat4(0.11235973, 0.07786757, 0.08447728, 0.1318013, -0.004949982, 0.0066092457, 0.0054766103, 0.09077229, -0.07902109, -0.04088357, 0.010520631, 0.13553512, 0.09034912, -0.03018093, -0.00064445287, -0.021193689) * go_6(1.0, 1.0); - result += mat4(-0.058018472, 0.15444, -0.2730127, 0.15408863, 0.061455347, 0.19193874, 0.060909115, 0.06997937, -0.1524897, 0.036673836, 0.11732512, -0.11441547, 0.046872787, -0.24626993, -0.048007865, -0.11882765) * go_7(-1.0, -1.0); - result += mat4(-0.055945333, -0.010893111, -0.18102671, 0.042816866, 0.003581595, 0.048463646, -0.0031799963, 0.030418187, 0.104345225, -0.050032612, 0.036984675, -0.1646202, -0.018429128, 0.07671132, -0.25055778, -0.29552183) * go_7(-1.0, 0.0); - result += mat4(0.15023926, 0.1888685, -0.115618594, 0.12794076, 0.07876464, 0.003425595, -0.09080821, 0.12327033, -0.058617253, 0.049882554, -0.05286994, -0.08793353, -0.13901326, -0.18175364, -0.08278234, 0.018242812) * go_7(-1.0, 1.0); - result += mat4(-0.11970521, 0.0109240925, 0.15971556, -0.016531104, -0.08862921, 0.21342862, -0.094590165, -0.020616282, 0.063016824, 0.17087449, 0.06806956, -0.07862834, 0.013708585, -0.107840285, -0.08096036, 0.18210368) * go_7(0.0, -1.0); - result += mat4(0.043659575, 0.058439042, -0.21725631, 0.3063619, 0.10015616, 0.059022572, 0.26627064, -0.08099214, -0.0693483, -0.203277, -0.11010789, 0.19852851, 0.15775175, -0.015777366, 0.057439, 0.08526342) * go_7(0.0, 0.0); - result += mat4(0.068086825, -0.023258585, 0.00538327, 0.05472357, 0.07754322, -0.11910729, 0.02382697, 0.024495512, -0.017562684, -0.08236683, 0.058229536, 0.000869808, 0.011609774, -0.054304227, -0.15151061, -0.044502378) * go_7(0.0, 1.0); - result += mat4(-0.08821152, -0.0072133946, 0.090214185, 0.0037864884, -0.048583377, -0.08793112, 0.042103123, 0.06350086, -0.009068224, -0.017177878, 0.0071224193, -0.02983354, 0.054105606, 0.033948, 0.00030873172, 0.10865935) * go_7(1.0, -1.0); - result += mat4(-0.3452554, 0.037840936, -0.007285266, 0.11886663, 0.15714768, 0.06662496, -0.114754274, -0.014947248, -0.078791104, -0.06114595, 0.063372605, -0.027558187, 0.085218295, -0.029446336, 0.04893082, -0.011406112) * go_7(1.0, 0.0); - result += mat4(-0.13480014, 0.071332626, -0.15875989, 0.026054379, 0.086463004, -0.0016177339, -0.083243676, -0.09716422, -0.06963665, -0.07523067, -0.17068437, -0.0626138, 0.056925334, 0.04893756, 0.02281016, 0.09532202) * go_7(1.0, 1.0); - result += mat4(-0.00580583, -0.116883956, 0.07345766, 0.15274666, 0.13362356, -0.07467188, 0.03301032, 0.054128814, 0.20493697, -0.009065066, 0.03155883, 0.068317086, -0.12386136, -0.060517445, -0.094406374, 0.15583418) * go_8(-1.0, -1.0); - result += mat4(-0.067004405, -0.1223459, 0.014435977, -0.34603095, -0.06600234, -0.15530656, 0.20689431, -0.1507668, -0.06292093, 0.07223332, 0.037690062, 0.1659377, 0.069394544, 0.17641555, 0.22508276, 0.40012553) * go_8(-1.0, 0.0); - result += mat4(-0.057700165, -0.16616186, 0.03591516, -0.054088213, 0.038716026, 0.12711482, -0.10458551, 0.1125439, -0.044289824, -0.14246644, -0.06925245, -0.00500973, -0.037970725, -0.023939952, -0.0022134574, 0.10433797) * go_8(-1.0, 1.0); - result += mat4(-0.023385774, 0.051519156, 0.11095403, -0.064071044, -0.06364762, -0.1941555, -0.01814799, 0.1607568, 0.20177782, -0.10239079, -0.0037873993, 0.19179249, 0.010512392, -0.2618042, 0.1551496, 0.004129357) * go_8(0.0, -1.0); - result += mat4(0.029080873, 0.15882342, 0.14680782, -0.115972534, -0.020144446, -0.18171366, 0.023180518, 0.12387274, 0.15716453, 0.1004543, -0.08157793, -0.022577325, -0.16624399, -0.01949063, -0.156747, -0.1183951) * go_8(0.0, 0.0); - result += mat4(0.029425338, 0.10182775, 0.029069873, 0.1457661, -0.09023257, -0.04825933, 0.15506612, -0.05441011, -0.06894328, 0.026150472, -0.0692689, 0.12830935, -0.22601965, -0.13350666, 0.14609747, -0.22600585) * go_8(0.0, 1.0); - result += mat4(-0.1822958, -0.1374016, -0.024359208, 0.04622839, -0.058350354, -0.015429165, 0.026171437, 0.027515156, -0.02666974, 0.0408178, -0.044889677, -0.06293887, -0.08987106, -0.1803648, 0.0025046086, -0.18609668) * go_8(1.0, -1.0); - result += mat4(0.07113637, -0.052501757, -0.005966466, 0.021243786, -0.040465984, 0.024959967, -0.046451308, 0.050900366, -0.083510816, -0.16574752, 0.06293483, -0.044002667, 0.024361992, 0.01216542, 0.024794284, -0.011461988) * go_8(1.0, 0.0); - result += mat4(-0.09203169, -0.0773609, 0.022937218, 0.008477238, -0.011718419, 0.06316311, 0.11751391, -0.00072982407, -0.06734584, -0.13928872, -0.087741435, 0.046288103, 0.11467566, 0.0955026, 0.05442099, 0.03606524) * go_8(1.0, 1.0); - result += mat4(0.066713035, -0.056815878, 0.0051200944, -0.022335608, -0.08874631, -0.026212879, -0.051457, -0.15262195, -0.05677955, 0.019131938, 0.1172796, -0.11290694, -0.087470956, 0.02609456, -0.11995271, -0.017296867) * go_9(-1.0, -1.0); - result += mat4(-0.057716526, -0.033147354, -0.11464092, 0.033304136, -0.058800284, 0.098373234, -0.2343978, 0.040536474, 0.074285746, -0.15139699, 0.015304646, 0.054167286, 0.10495344, 0.08671543, 0.013625649, -0.03144798) * go_9(-1.0, 0.0); - result += mat4(-0.055753563, 0.057411764, -0.05698671, 0.03903764, -0.0011426503, 0.08076997, -0.022009375, 0.12755805, -0.013749879, -0.04526649, 0.22823834, -0.21281727, -0.078900084, 0.037843198, 0.12148038, 0.06278242) * go_9(-1.0, 1.0); - result += mat4(0.0648249, -0.029065508, -0.0733263, 0.08143834, -0.0642625, -0.019431729, -0.0019107187, -0.06899837, -0.036123455, 0.00792085, -0.011136172, 0.0058131563, 0.031796213, -0.06951667, 0.020033136, -0.017202968) * go_9(0.0, -1.0); - result += mat4(0.12123958, 0.082002886, 0.04433242, 0.028000468, 0.1115246, 0.16115043, -0.08767815, 0.07984247, -0.1753498, -0.21725565, 0.05224423, 0.019737821, -0.012286999, -0.08404926, -0.18290538, -0.13047068) * go_9(0.0, 0.0); - result += mat4(-0.04384017, 0.07876759, 0.1204954, 0.073350765, 0.11264102, -0.31410536, -0.028699053, -0.21884131, -0.06513864, -0.06959321, 0.43219337, -0.056171507, -0.0838037, 0.09533199, -0.010290981, -0.1426525) * go_9(0.0, 1.0); - result += mat4(0.02638746, 0.008636295, 0.0150156785, 0.08042486, 0.083437935, -0.24499232, 0.16740417, 0.01219645, 0.08793918, -0.12893206, 0.13098167, 0.027247185, -0.0036501656, 0.07329918, 0.0073491456, -0.033073287) * go_9(1.0, -1.0); - result += mat4(0.09405967, 0.026855662, -0.13746545, -0.061156027, -0.038379412, -0.0137223415, -0.15750524, 0.17561466, 0.100840956, 0.0526472, -0.14593539, 0.099029206, -0.039230358, -0.08693771, 0.007550366, 0.057815127) * go_9(1.0, 0.0); - result += mat4(0.0008552412, 0.011796726, 0.04206752, -0.07443022, -0.05121393, -0.015579494, 0.0936274, 0.07172191, 0.13676073, -0.055043112, 0.061686534, -0.18834415, 0.0056741014, -0.07822123, 0.12692335, -0.028575832) * go_9(1.0, 1.0); - result += mat4(-0.05620452, 0.18353955, -0.12347911, 0.1558272, -0.0323301, 0.0044377907, 0.097321495, -0.123012446, 0.18182632, -0.07185004, -0.12557943, 0.12776685, 0.063844234, 0.009731627, 0.116832525, 0.11924382) * go_10(-1.0, -1.0); - result += mat4(0.060059544, 0.18936205, 0.005780116, 0.21269107, -0.01993401, -0.1257078, 0.044587992, 0.0008904994, 0.19075485, 0.11275744, -0.20653817, 0.024912447, -0.004930327, 0.02786522, -0.26489633, -0.03896719) * go_10(-1.0, 0.0); - result += mat4(-0.15483911, 0.11604669, -0.016097784, 0.14344187, 0.050392877, -0.061352212, 0.03421763, 0.057112053, 0.040450297, -0.06485967, 0.111791894, -0.10726333, -0.047403432, 0.07291982, -0.085813165, 0.011386364) * go_10(-1.0, 1.0); - result += mat4(-0.120280884, -0.14197855, 0.13524817, -0.1927468, 0.02986725, 0.09090211, -0.020236133, -0.16360934, 0.043086752, -0.12888601, -0.055306554, -0.039812587, -0.093283705, -0.23473693, 0.03516732, -0.058886416) * go_10(0.0, -1.0); - result += mat4(0.22835518, -0.1693695, 0.10143327, -0.09706419, 0.14542878, 0.101218365, 0.030917853, 0.2589894, -0.049807068, -0.25961533, -0.019762227, 0.15363556, -0.10908177, 0.08649178, 0.07406465, 0.054726418) * go_10(0.0, 0.0); - result += mat4(-0.17548855, 0.10596023, 0.13520734, 0.21358284, 0.014748046, 0.13572593, -0.094107375, -0.074447066, 0.015977554, 0.16161968, 0.18651322, 0.27234894, 0.023692988, -0.00052937213, 0.15524314, -0.08561304) * go_10(0.0, 1.0); - result += mat4(-0.0069411434, -0.16977951, -0.0025205691, 0.096223235, 0.01954326, -0.098077014, 0.060268197, 0.03468932, 0.013128788, -0.08288448, -0.07245345, -0.08579109, 0.063582815, 0.044692673, -0.043460656, 0.027466977) * go_10(1.0, -1.0); - result += mat4(0.18266056, 0.10570967, 0.1065224, -0.06571987, 0.0588245, -0.020463474, 0.018139174, -0.023622356, 0.13198042, 0.10686564, 0.13415007, 0.016261699, 0.024000479, -0.19857375, 0.032733236, -0.089835346) * go_10(1.0, 0.0); - result += mat4(0.019865446, 0.07939105, 0.15199763, 0.113943405, -0.007186911, 0.021517705, 0.094783835, -0.023958188, -0.13181072, -0.02059204, 0.097103454, -0.08745583, 0.04598183, 0.0125174, -0.094161086, -0.049809787) * go_10(1.0, 1.0); - result += mat4(0.046524428, 0.09606215, -0.04960027, -0.045853227, 0.043391764, 0.0016825196, 0.072846, -0.029426513, 0.06837817, 0.13657811, 0.12026235, 0.070922196, 0.19066632, 0.02301806, 0.1939276, -0.043247785) * go_11(-1.0, -1.0); - result += mat4(0.050196134, 0.11171356, -0.10474605, 0.011690834, -0.024688404, -0.10231831, -0.05199224, -0.089429624, -0.019335374, -0.0873271, -0.0105612185, 0.008547704, 0.014377572, -0.1257108, 0.16229153, -0.06752219) * go_11(-1.0, 0.0); - result += mat4(0.042335458, -0.061531194, 0.072609514, -0.006675558, 0.100401826, -0.032614395, -0.060348473, -0.0010197527, 0.036294524, 0.06301108, 0.1402905, 0.041858584, -0.049982782, -0.10324423, -0.18818372, -0.07914816) * go_11(-1.0, 1.0); - result += mat4(-0.01339124, -0.064637, 0.035361387, 0.0003324328, -0.021101808, 0.054733098, 0.20074409, -0.1310269, -0.18548606, 0.1400309, 0.058043867, -0.18299271, -0.045036677, -0.06547029, -0.08705725, 0.01699538) * go_11(0.0, -1.0); - result += mat4(0.006868026, 0.24515495, 0.028768666, -0.03339759, 0.08764873, -0.23418264, 0.08228583, 0.20179187, -0.031938568, -0.001807705, -0.04719375, 0.19206795, -0.034323156, 0.068426535, -0.12825035, -0.073537245) * go_11(0.0, 0.0); - result += mat4(-0.09739696, 0.07366681, 0.016242491, 0.011574537, 0.028878966, 0.013488491, 0.24392383, -0.015881758, -0.021183312, 0.015750054, -0.09222381, 0.018132376, 0.052933175, 0.08646255, -0.10245898, 0.09809934) * go_11(0.0, 1.0); - result += mat4(0.029205635, 0.17448728, 0.02220749, -0.05995982, 0.017231317, -0.0021115101, -0.19925344, -0.03924282, -0.13346197, -0.06553784, 0.020060113, 0.09325606, -0.068962246, 0.024640976, -0.054738607, 0.034826275) * go_11(1.0, -1.0); - result += mat4(-0.16056268, 0.04765503, 0.0023608136, 0.020386778, -0.21249089, 0.0918553, 0.13921294, 0.10349125, -0.122601956, 0.07615465, -0.05087544, -0.08154602, -0.09930794, 0.038940545, -0.04482969, 0.030320697) * go_11(1.0, 0.0); - result += mat4(-0.021777244, -0.026121575, -0.098968945, 0.11856233, -0.06619722, -0.04391681, -0.104664125, 0.054231886, -0.048003394, 0.016370691, 0.07524773, 0.11176989, -0.010953224, -0.023690404, -0.089470014, 0.0042499765) * go_11(1.0, 1.0); - result += vec4(-0.011046071, 0.028069533, -0.02290214, 0.012731334); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11662476, 0.30973792, 0.21844758, 0.19193952, 0.10547289, -0.28103492, 0.153185, 0.22902022, 0.14545941, -0.36453786, 0.27674347, 0.082761206, 0.018604625, -0.15195464, -0.014881725, -0.3170343) * g_0; - result += mat4(-0.09369265, 0.0030548668, 0.123169556, 0.29990658, 0.0059669684, -0.30507565, 0.22437601, 0.26314184, 0.055285115, 0.08910655, -0.07781467, 0.34908244, 0.12883523, -0.1218909, 0.46330363, -0.00058599625) * g_1; - result += mat4(-0.13166216, -0.11733475, 0.3777369, -0.11452789, -0.012198889, 0.019259788, 0.19055355, 0.14045803, 0.2352836, 0.18440361, -0.119568326, 0.15006012, 0.12928642, 0.2181605, -0.1755796, -0.1481423) * g_2; - result += mat4(0.20824851, 0.1454897, 0.016380647, 0.08601717, -0.0287675, -0.17842998, 0.24576826, 0.024758099, -0.06907304, -0.33883977, -0.18469703, -0.11530369, -0.13971063, 0.09056448, 0.10467011, 0.087848045) * g_3; - result += mat4(0.47120807, -0.15463045, 0.03930625, 0.18975684, 0.17118797, 0.077672035, 0.029735595, -0.0064234287, 0.35503763, 0.23442392, 0.09259758, 0.06642276, 0.16423592, 0.16245009, 0.043012362, -0.16605885) * g_4; - result += mat4(0.14847134, -0.41317105, 0.21329704, -0.115592465, -0.04099491, 0.22865698, -0.011546307, 0.124923006, 0.02029704, 0.014588208, -0.0032878371, 0.09777601, 0.27264157, 0.26693115, -0.083503485, -0.11275104) * g_5; - result += mat4(0.0073214495, -0.30733636, -0.28372166, -0.23081271, -0.24020568, 0.17335413, -0.08835816, -0.1407258, 0.043210473, 0.29907116, -0.15998003, -0.10616064, -0.19272846, 0.07347569, 0.065403186, 0.21924807) * g_6; - result += mat4(0.1390639, 0.07071387, -0.10704547, -0.22267987, 0.14110383, 0.31690794, -0.14299001, -0.2633626, -0.37578335, -0.11325702, -0.012588563, 0.05235386, -0.05790653, 0.29747054, -0.11362069, -0.034965772) * g_7; - result += mat4(0.334025, 0.06966542, -0.30425888, -0.049219113, 0.05522049, -0.064109504, -0.19639532, -0.06540687, -0.3323081, -0.11462512, 0.12793858, -0.044268914, -0.13001205, -0.4268851, 0.09755515, 0.22260398) * g_8; - result += mat4(-0.070916615, -0.032426283, -0.031039508, 0.113172114, -0.083208784, 0.09998266, -0.057585325, -0.017305639, 0.07392591, 0.11129369, -0.12461519, -0.13633083, 0.11811745, -0.049483757, -0.16540588, -0.19690844) * g_9; - result += mat4(-0.0761509, 0.06887501, -0.17220098, -0.2689129, -0.15664133, 0.014503109, 0.013423933, 0.07106888, 0.08206795, -0.26531503, -0.19532347, -0.09172804, -0.0701496, 0.029842263, -0.15747191, 0.03876475) * g_10; - result += mat4(0.05873964, 0.21549611, -0.15765984, 0.11783242, 0.09904579, -0.1505368, 0.009470319, 0.11437343, 0.07330138, -0.12074719, 0.046029083, 0.07719378, -0.14860357, 0.012415384, -0.15716434, 0.096243195) * g_11; - result += mat4(0.38489017, 0.10751408, 0.28326878, 0.10983613, -0.08363852, 0.060594987, -0.1407845, -0.2330205, -0.0033884577, -0.025575818, -0.21328409, -0.013343768, 0.37102774, -0.018506272, 0.15474491, 0.20658477) * g_12; - result += mat4(-0.21097998, 0.11116577, 0.0066421195, -0.053172227, 0.041547738, -0.115422554, 0.18638755, 0.15930174, -0.11901881, -0.14221598, 0.113654196, -0.035343777, 0.0037377405, 0.0054536746, -0.16508429, -0.112160645) * g_13; - result += mat4(-0.168217, 0.33982185, -0.14226285, -0.061567828, 0.38622376, 0.16323963, 0.009866034, 0.24718387, 0.15684012, 0.16934262, -0.07659216, -0.27921352, 0.31008887, -0.117847964, 0.033022024, -0.0028089648) * g_14; - result += mat4(0.13425586, -0.1403824, -0.14900951, 0.044306386, -0.39742225, -0.086779915, 0.023442117, -0.015157307, -0.33325103, 0.07626949, -0.14105129, 0.3872729, -0.09532729, 0.21603268, 0.08987563, -0.048167326) * g_15; - result += vec4(-0.045520097, -0.028044129, 0.01954312, -0.04157413); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf1 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.045708127, 0.042588994, 0.20735477, -0.051771507, 0.09030856, -0.018859424, 0.070019834, -0.12951517, -0.09864889, 0.0039071254, -0.2471996, -0.4045421, -0.13531524, 0.3199352, 0.18798132, -0.05220945) * g_0; - result += mat4(-0.01900776, 0.14814821, -0.011676551, 0.05281246, -0.31253627, 0.07759687, 0.14841238, 0.15767692, 0.022344964, 0.03369595, 0.11200526, 0.24555564, 0.32339647, -0.08221667, 0.369651, 0.07480396) * g_1; - result += mat4(0.15557157, -0.2438033, 0.2904723, 0.37869072, 0.031437404, -0.32791093, -0.30852196, 0.032672517, -0.29223853, 0.14301808, -0.13372968, -0.17571832, -0.24015012, -0.062435087, -0.5865883, 0.025141397) * g_2; - result += mat4(0.018575411, -0.05546697, 0.0722868, -0.27057, -0.010986958, -0.1824116, 0.066343606, 0.1160373, 0.019109331, 0.1384729, -0.27752632, -0.09579411, 0.05585664, -0.16496943, -0.22690243, -0.035963364) * g_3; - result += mat4(-0.24451451, 0.008807087, -0.050169405, -0.02992327, -0.029381998, 0.10529693, 0.3212115, 0.047833674, 0.19737382, -0.064389326, 0.07481576, 0.04658625, 0.16120902, 0.38747096, -0.017129492, 0.036965623) * g_4; - result += mat4(0.024272425, 0.33644682, 0.57385606, 0.06969318, -0.18557239, 0.03263415, -0.098865986, -0.010410991, -0.27383336, 0.12643056, 0.13473713, -0.0072413897, 0.19951838, -0.26192865, -0.32222465, -0.03310627) * g_5; - result += mat4(0.19670399, 0.21887897, -0.14813757, 0.13861343, -0.21291518, 0.11673954, -0.09706275, 0.1927499, 0.26426026, 0.15662387, -0.0998039, 0.20456441, 0.082849964, -0.3486019, 0.042286832, 0.111299105) * g_6; - result += mat4(-0.17601213, 0.10744524, -0.13022378, -0.08145177, 0.17951357, -0.031804252, -0.11589841, -0.2375892, -0.17614031, -0.03204455, -0.3600058, -0.03791698, -0.18281102, -0.029681103, -0.5616249, -0.19369541) * g_7; - result += mat4(-0.15129189, 0.062397495, -0.26206407, -0.35008666, 0.05224934, 0.32542625, 0.1367121, -0.06498142, 0.03794349, 0.10062078, 0.24966402, 0.16598183, 0.14065337, 0.021026433, 0.4124626, -0.04739923) * g_8; - result += mat4(-0.42675805, -0.08062075, 0.24400486, 0.24982014, 0.013383713, -0.030127892, 0.21306989, -0.420491, 0.27569297, 0.1844745, 0.18380351, -0.007122975, 0.02176471, 0.11719434, 0.20086622, 0.09863608) * g_9; - result += mat4(0.15059754, -0.060954567, -0.048324715, 0.06281138, -0.035452355, -0.105307326, -0.2821464, -0.17947711, -0.21891887, 0.31264433, 0.08331072, -0.23028368, -0.07125341, -0.25531566, -0.034880344, -0.10972097) * g_10; - result += mat4(-0.26111153, -0.21509336, -0.40953597, -0.22704326, -0.06265872, -0.0076560513, 0.3454225, 0.036587927, -0.25836223, -0.017044103, -0.39408937, -0.04515616, -0.013889385, 0.21049121, -0.05811886, 0.11039355) * g_11; - result += mat4(-0.5012236, -0.3288161, 0.76283616, -0.22785094, 0.15983264, 0.17595172, -0.19039781, -0.017620942, 0.088379174, -0.2810294, 0.14195396, -0.10567756, -0.26113996, -0.59151506, 0.064743236, 0.089407794) * g_12; - result += mat4(0.09782677, 0.15405431, -0.38398, 0.025821349, -0.11564193, -0.2344232, 0.048547853, -0.0013135487, -0.021783575, -0.14494252, 0.10181801, 0.15313332, 0.22384043, 0.08691754, -0.18728645, 0.058859203) * g_13; - result += mat4(0.30570078, 0.34977347, -0.2548985, 0.2440776, -0.12693292, 0.42302638, -0.2579403, -0.12731943, 0.02704416, -0.028827233, -0.103797026, 0.16991018, 0.18460067, -0.1430559, -0.40419313, -0.046166003) * g_14; - result += mat4(-0.24799332, -0.4023106, 0.20775889, -0.1347491, 0.22718747, -0.5363376, -0.0045881635, -0.08498401, 0.12643133, -0.18700986, -0.031182116, 0.10537964, -0.12853408, 0.1540884, 0.14051637, 0.14159201) * g_15; - result += vec4(-0.0549599, -0.005265513, 0.033013426, -0.018428912); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf2 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.17167501, -0.20074758, -0.091966644, 0.17859644, 0.118206196, 0.34780696, -0.13851282, -0.15981564, -0.076300435, 0.15581897, 0.14410381, -0.15348436, -0.15534315, -0.2340937, -0.11868538, 0.0851946) * g_0; - result += mat4(0.054577276, -0.2794922, -0.11732257, 0.120796256, -0.1978545, -0.051208086, -0.07047726, 0.15230909, -0.26737535, -0.0122873, 0.026735889, -0.13376889, -0.15112357, 0.07320343, 0.31711194, -0.2877825) * g_1; - result += mat4(-0.20589454, -0.13458282, -0.014493836, -0.007392441, -0.083313756, 0.0069659096, -0.0074436525, -0.02603582, 0.02844895, -0.03466271, -0.15414406, 0.0131968865, -0.023258701, -0.0410315, 0.16994998, 0.11258594) * g_2; - result += mat4(0.26200938, 0.086695306, -0.115744606, 0.06443161, -0.2161834, -0.08266891, 0.1765909, -0.20307815, 0.025309294, 0.33511654, -0.0001637002, -0.059903737, 0.101451375, -0.013754625, -0.11448642, -0.09510312) * g_3; - result += mat4(-0.18455864, 0.036392804, 0.15850407, 0.4627119, 0.022083975, 0.15103343, 0.19111873, -0.06110459, 0.29009378, -0.089215584, 0.0095581515, -0.08869528, 0.15069005, -0.17065643, 0.26667884, -0.14760415) * g_4; - result += mat4(0.047154248, -0.004531016, -0.15437222, -0.31048393, 0.09027498, 0.08990544, 0.2252978, 0.36424273, 0.15726654, -0.56078666, -0.08649826, -0.22744723, 0.16684572, 0.12967846, 0.12568599, -0.104463704) * g_5; - result += mat4(0.3277519, 0.05652085, 0.22621375, 0.28361705, -0.19233695, -0.14974803, 0.18974204, 0.2078392, 0.07101538, 0.14084798, 0.11973675, 0.20132545, 0.07275875, 0.093166135, 0.07810121, 0.14855048) * g_6; - result += mat4(-0.066067055, 0.07116497, 0.16419168, -0.042009585, 0.048940875, -0.14183162, 0.106968045, -0.18822758, 0.16543157, -0.06218013, -0.15914337, 0.13385944, 0.12195849, -0.17245843, -0.11288994, 0.06605676) * g_7; - result += mat4(0.033830874, 0.27364245, -0.13338806, -0.12021034, 0.0624405, -0.10521141, 0.028734906, -0.06998827, 0.088741004, 0.16279134, 0.26099658, -0.046972543, -0.23423652, 0.15810764, 0.0008583185, -0.29681998) * g_8; - result += mat4(0.10305078, -0.17637174, -0.07091048, -0.00831249, 0.40148687, 0.20420474, 0.05468663, 0.20745115, -0.12189844, -0.16298126, -0.41976577, 0.018498925, -0.19579916, 0.097037986, 0.110560134, 0.024746) * g_9; - result += mat4(-0.31636187, -0.06314442, -0.1491463, -0.36367223, 0.13375707, -0.46219668, -0.08560705, 0.00979978, -0.33054784, -0.048843995, -0.5661279, 0.2450401, 0.049516775, 0.05733291, 0.008123728, 0.13401002) * g_10; - result += mat4(-0.09406586, -0.1038661, 0.18738243, 0.4952333, 0.124727175, -0.1438255, -0.12731665, -0.19241591, -0.29327804, 0.1374427, -0.15773357, -0.21447569, 0.0020323892, -0.032879442, 0.019189913, 0.022784567) * g_11; - result += mat4(0.27434522, 0.12163328, 0.2289956, -0.12183031, -0.000272515, -0.023530856, 0.099465564, 0.121231996, 0.3175001, 0.124576926, -0.090265624, -0.1386641, -0.20303635, 0.23467141, 0.0842663, 0.42639464) * g_12; - result += mat4(0.111336865, -0.10426442, -0.22704108, -0.08042834, -0.13705374, -0.06750703, 0.005238288, -0.020887226, 0.04180084, -0.10919923, -0.2624013, 0.017800566, -0.03857038, 0.21999447, 0.028879922, -0.12443005) * g_13; - result += mat4(-0.021032276, 0.25167516, 0.18236992, 0.021120392, -0.14439242, -0.3752765, -0.4087792, 0.12474052, -0.07753308, 0.24097584, 0.01818881, 0.25023264, 0.3096247, -0.21351217, -0.31819695, 0.01839186) * g_14; - result += mat4(-0.04455319, -0.33904293, -0.1072782, -0.07438099, 0.21500371, 0.2610481, 0.11105567, -0.07383555, -0.18360671, -0.02730343, -0.19995123, -0.3209995, 0.008217429, -0.1731404, 0.00079199206, 0.058588315) * g_15; - result += vec4(-0.05414109, -0.03095426, 0.058985617, 0.012448636); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf3 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.15813187, 0.15032968, -0.358124, 0.054663192, -0.25664124, -0.047136743, 0.024661854, 0.29019728, -0.1586862, -0.12748682, 0.40721273, 0.02187444, 0.011839724, -0.41867453, -0.2442098, -0.24595131) * g_0; - result += mat4(-0.15485683, 0.31738782, -0.3137046, 0.082112595, 0.0737305, 0.11812223, 0.19734107, -0.18905711, 0.088300474, -0.16933976, 0.15907732, -0.11422951, -0.056749936, -0.373262, -0.06974283, -0.2820898) * g_1; - result += mat4(-0.26680642, 0.19024834, 0.002037017, -0.064218, -0.15495898, 0.2750016, 0.23787461, -0.17998067, -0.012667507, 0.27450457, 0.24563935, 0.21562263, -0.0075859334, -0.08958551, -0.093937464, -0.078713246) * g_2; - result += mat4(-0.17318735, -0.008759622, 0.15150657, 0.2992114, 0.022198962, -0.07318335, -0.14881803, 0.13562077, -0.0022031132, -0.19316684, 0.2535826, -0.05084298, -0.32218117, 0.1267631, -0.042296994, 0.036732808) * g_3; - result += mat4(0.25161934, -0.09492602, 0.13423127, 0.032517985, -0.06686973, -0.061583497, -0.1828305, 0.122823365, -0.21438296, -0.30841893, 0.1731841, -0.29667705, -0.29025105, 0.13186353, -0.043046407, -0.34681532) * g_4; - result += mat4(-0.14662783, -0.11100817, 0.073842436, -0.14357355, 0.24532394, 0.061293274, 0.037153088, -0.08022293, 0.11296792, 0.25762567, 0.1803339, 0.24524696, -0.06480696, 0.06504735, 0.04941994, -0.20177524) * g_5; - result += mat4(-0.06278919, -0.25327423, 0.08713618, -0.11191733, 0.33828825, 0.058243927, 0.05450901, -0.37079945, 0.08136556, 0.24741262, -0.27361023, -0.068275, 0.050629843, 0.21304448, 0.2734626, -0.16750076) * g_6; - result += mat4(0.11121274, -0.115385205, 0.22477418, -0.06725809, -0.15530252, -0.031487826, -0.17961866, 0.025540952, 0.08094816, 0.22538602, -0.1449456, 0.033616643, 0.11810663, 0.1127742, 0.17407128, 0.059245285) * g_7; - result += mat4(0.43453342, -0.12170353, 0.09817627, 0.14755897, 0.17435667, -0.22251855, -0.32671428, 0.107192695, 0.26639727, -0.2892611, -0.1413853, -0.082134426, 0.016464738, 0.08648902, 0.06256596, -0.023842275) * g_8; - result += mat4(0.3739318, 0.118386924, -0.10602344, 0.051698774, 0.116221406, -0.34542432, -0.13280031, -0.53044075, -0.19284041, 0.14490364, -0.2050812, 0.12533414, 0.22506653, -0.07526672, 0.035203286, 0.026242174) * g_9; - result += mat4(-0.5327144, 0.1649795, -0.11507187, -0.234499, 0.061057597, 0.06764596, 0.20559542, -0.07742593, 0.2165637, -0.1549744, 0.026953368, 0.3037089, 0.110090226, -0.1258564, 0.13759027, 0.16844687) * g_10; - result += mat4(0.24411613, -0.004854083, -0.009286953, -0.00086425553, -0.22064768, 0.0014907656, -0.08684952, 0.029716417, -0.241052, -0.13597979, -0.10451872, -0.26793602, -0.08911106, 0.024757262, 0.17348441, 0.29419208) * g_11; - result += mat4(-0.07577307, 0.030659143, 0.97284687, -0.09018963, 0.059575, 0.09799077, 0.065673314, 0.22537662, -0.0015259798, 0.24301144, -0.09336371, -0.14226802, -0.33286256, 0.027389184, -0.5026264, -0.15279126) * g_12; - result += mat4(0.14727022, -0.10878168, -0.1100343, 0.12144918, -0.03657926, -0.029442519, -0.0017414992, -0.2532462, 0.18112376, -0.058077507, 0.35388008, 0.32712713, 0.17805058, 0.13992003, 0.17930086, 0.39848652) * g_13; - result += mat4(-0.25576255, 0.18205768, 0.08984218, 0.10292959, -0.15820667, -0.090718776, 0.1579229, 0.43783715, 0.078025974, 0.21724561, -0.25238967, -0.23599494, -0.08510723, 0.17738545, 0.13962658, 0.16159406) * g_14; - result += mat4(-0.11219203, 0.075433955, -0.11129301, -0.09385265, 0.22908452, 0.051752828, -0.0993372, -0.2636262, 0.04221882, -0.37118244, -0.1460174, 0.11764387, 0.22468969, -0.197521, -0.13387764, 0.30982286) * g_15; - result += vec4(0.0379655, 0.052258957, -0.017226165, -0.0132343555); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf4 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.113150194, -0.012228015, -0.10810589, 0.18282048, -0.14255662, 0.37686804, -0.34455574, -0.17653705, -0.10299696, 0.17156567, 0.06475307, 0.21704634, 0.05987743, -0.20447443, -0.22365163, 0.26045614) * g_0; - result += mat4(0.25273082, 0.28410602, 0.13341063, 0.15524255, -0.038504723, -0.2987473, 0.5113095, -0.041018266, 0.15720472, -0.07154719, -0.104476094, -0.36850104, -0.09235334, -0.02460906, 0.1918179, 0.108431995) * g_1; - result += mat4(-0.16259582, -0.14792964, 0.01875614, 0.19722176, 0.30285388, 0.17894153, 0.02760128, -0.1352214, 0.28634933, -0.0074598296, -0.09348916, 0.12859564, -0.08578008, -0.30871972, -0.19463369, 0.029592479) * g_2; - result += mat4(0.41718173, -0.08798418, -0.12914781, -0.016728701, -0.004022609, -0.36890173, 0.009880859, -0.1725598, -0.1853788, 0.06624611, 0.010526983, 0.11285315, 0.22359152, 0.04253032, -0.28357792, -0.106521696) * g_3; - result += mat4(0.23125984, 0.063943766, -0.1724623, -0.17019297, 0.08842359, 0.18506196, 0.20219392, -0.07514321, -0.152088, 0.40809697, 0.22866395, 0.29942676, -0.10514515, 0.14835912, 0.255409, 0.005298396) * g_4; - result += mat4(0.118000366, 0.040876955, -0.15260358, -0.34197953, 0.16392517, 0.037801206, 0.26511702, -0.16595386, -0.3013676, 0.032535754, 0.2059592, 0.20713131, -0.074489266, -0.0827021, -0.0930588, 0.12812042) * g_5; - result += mat4(0.12129869, -0.19799119, -0.42776105, -0.15996172, 0.19189952, -0.48698276, 0.14109898, 0.033108126, -0.06918676, -0.28060475, 0.067065634, -0.117751226, 0.07274701, 0.016352981, 0.11877358, -0.30382705) * g_6; - result += mat4(-0.037769582, -0.0039873547, -0.27957156, -0.027259788, -0.005021477, 0.20690842, -0.43643278, 0.12125521, 0.095314205, 0.13150905, -0.1545535, 0.5004901, 0.078181274, 0.1480264, -0.037564073, -0.07784829) * g_7; - result += mat4(0.03755771, 0.22955105, -0.03231175, -0.16500925, -0.2564081, -0.13914458, -0.031046085, 0.10951839, -0.14864902, -0.068928115, 0.0909355, -0.14147623, -0.1901003, 0.35303396, 0.07698175, -0.09974956) * g_8; - result += mat4(-0.050013836, 0.21334587, 0.107435666, 0.22424911, -0.20007136, 0.5500792, -0.40816012, 0.25101343, 0.19421935, 0.035117567, 0.20783037, 0.17410451, -0.28405052, 0.06190316, 0.38027903, 0.051337413) * g_9; - result += mat4(-0.46978363, -0.11272793, 0.12973092, 0.021777695, -0.020381203, -0.1912334, -0.16367903, 0.32833096, 0.08339247, 0.008160841, 0.37062842, -0.014087529, 0.094892465, -0.012870317, -0.010378546, 0.015417017) * g_10; - result += mat4(-0.030511223, -0.08355093, 0.08717814, 0.32149768, 0.19554101, 0.2929336, -0.07563172, 0.2604295, 0.2978335, -0.20227137, 0.1991364, 0.04514103, 0.12003651, -0.12325602, 0.10554548, -0.012967588) * g_11; - result += mat4(0.20080462, -0.0441012, -0.12478753, 0.072197564, -0.11796578, 0.1803613, 0.16319636, 0.05116462, -0.025635032, 0.18309167, 0.016345788, 0.19902118, -0.27134508, -0.24213642, -0.12992004, 0.42813647) * g_12; - result += mat4(0.11977094, 0.010334066, 0.100837916, 0.1320789, 0.1863875, -0.31015033, -0.0759456, 0.033703748, 0.11986626, -0.28383213, 0.26054385, 0.09489738, -0.0829573, 0.05104106, -0.103039704, -0.3475618) * g_13; - result += mat4(-0.3418708, 0.095728405, -0.046365432, -0.15324275, -0.15171754, 0.12827595, 0.061078403, 0.12247848, -0.32564154, 0.27075362, -0.03819952, -0.41804206, -0.22586496, -0.06467655, 0.055885177, 0.104513146) * g_14; - result += mat4(0.025562786, -0.12636441, -0.12522306, -0.1816289, -0.21966882, 0.075359344, 0.095027685, -0.27646592, 0.12653323, -0.08085943, 0.09971742, 0.24018568, 0.053527232, -0.0054027676, 0.07405578, -0.14746837) * g_15; - result += vec4(0.0619906, -0.042231698, -0.01461747, 0.016205417); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 -//!HOOK MAIN -//!BIND conv2d_tf -//!BIND conv2d_tf1 -//!BIND conv2d_tf2 -//!BIND conv2d_tf3 -//!BIND conv2d_tf4 -//!BIND conv2d_tf5 -//!BIND conv2d_2_tf -//!BIND conv2d_1_tf -//!SAVE conv2d_3_tf5 -//!WIDTH conv2d_tf.w -//!HEIGHT conv2d_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.056609534, -0.072912574, -0.08224053, -0.27446464, 0.06299807, 0.17494963, 0.02013175, -0.3135523, -0.20414291, -0.002206245, -0.19089301, -0.035810925, -0.15909109, 0.23343667, 0.043236874, -0.05090461) * g_0; - result += mat4(0.071143255, 0.2344495, -0.08178796, 0.19529581, -0.15652603, -0.08692345, 0.15054622, -0.24628481, 0.13293579, 0.099183284, -0.14319651, -0.21706218, 0.18046993, -0.046167973, -0.2622163, 0.14739317) * g_1; - result += mat4(0.028098702, 0.16937847, -0.31955224, -0.13086726, 0.035734467, -0.12136727, -0.05286461, 0.13372248, -0.012013819, -0.013996318, 0.09585827, -0.0980455, -0.18155457, 0.058416523, 0.05363468, 0.2844176) * g_2; - result += mat4(-0.040509474, -0.040644035, -0.14309056, 0.109604076, -0.089917555, -0.05080418, -0.06218365, 0.08950535, -0.13581185, 0.30530998, 0.35584477, 0.25160718, 0.11817752, -0.15588048, -0.18560979, -0.021720303) * g_3; - result += mat4(0.19979374, -0.24442586, 0.06666042, -0.12413865, 0.0723267, -0.08070183, -0.050162878, 0.053533528, -0.23414859, 0.14660425, 0.0535612, 0.1824936, -0.06853291, 0.028537972, 0.08894496, -0.3005856) * g_4; - result += mat4(0.053230897, -0.14692295, -0.010351058, -0.03423785, -0.34997204, 0.17045908, -0.20471387, -0.05596227, 0.37312284, -0.166506, 0.027370568, -0.19885068, 0.22860329, -0.34381005, 0.13689034, 0.100899346) * g_5; - result += mat4(0.100836754, 0.172524, 0.14670734, 0.19648418, -0.22542813, -0.14784352, 0.16542062, 0.31592578, 0.09034929, 0.029557507, 0.016295122, 0.06270892, 0.119690046, -0.039440215, 0.1076754, 0.055114914) * g_6; - result += mat4(0.22560626, -0.19063824, 0.2289656, -0.12238879, 0.062091034, -0.17536564, -0.1097042, 0.18370546, 0.054991204, -0.16073585, 0.24551688, 0.29919684, -0.33145493, 0.06585065, 0.15001276, -0.12141834) * g_7; - result += mat4(0.0072760796, -0.33641306, 0.27806035, -0.0012592864, -0.031354345, 0.14530547, 0.026439384, -0.08998722, 0.16388611, 0.008192195, -0.031645425, 0.23180926, -0.106261194, -0.21588798, -0.01746241, -0.35864678) * g_8; - result += mat4(0.11795532, 0.24395278, 0.06954797, 0.05902286, 0.002836295, 0.13273323, 0.17765377, -0.09331522, 0.13427891, -0.12334423, -0.2206351, -0.11630769, -0.19114569, 0.1635797, 0.17295037, 0.012300116) * g_9; - result += mat4(-0.16389936, 0.104410745, -0.046638153, -0.08462526, -0.05850656, 0.07821304, 0.12509613, -0.08973294, 0.2538881, 0.013903494, -0.18470205, 0.01099874, -0.10122345, -0.2053046, -0.15341048, 0.19987997) * g_10; - result += mat4(-0.10358656, 0.29928508, 0.07767035, -0.065468244, 0.33847088, -0.010010049, -0.18632844, -0.022442589, -0.20640668, 0.12077326, 0.17598887, -0.036393534, 0.057061106, 0.32527304, -0.17863084, -0.08244848) * g_11; - result += mat4(-0.019896565, 0.18471427, -0.23525807, -0.090934336, -0.22715406, 0.025219338, 0.08826347, -0.11013379, 0.053721644, 0.020721693, -0.14894027, 0.017000167, -0.077067815, 0.005117918, -0.60429895, -0.46772584) * g_12; - result += mat4(0.27064618, 0.124304846, 0.17178236, 0.0067777717, 0.20274666, -0.0066843866, -0.10537028, 0.07832309, -0.100172564, -0.084412105, -0.029130317, 0.04364024, 0.08182053, -0.100823514, -0.0935743, -0.029079227) * g_13; - result += mat4(-0.26241225, -0.05721237, 0.101424344, -0.34958288, 0.31858712, -0.076861545, -0.46517807, 0.30126542, 0.086722255, -0.13480917, 0.11960615, 0.4943688, -0.32738853, -0.19455571, 0.026463214, 0.07926301) * g_14; - result += mat4(0.16170315, 0.13929573, 0.059762456, 0.23802169, -0.3277194, 0.24683446, 0.112627044, -0.1602516, 0.08662639, 0.1476813, 0.1104441, -0.3317887, 0.16108729, 0.11565731, -0.18657148, 0.01665966) * g_15; - result += vec4(-0.11646883, -0.009549349, 0.02843715, 0.004513963); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!SAVE conv2d_5_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.014753134, -0.04786919, 0.11870752, 0.062323157, 0.012823349, -0.18270767, 0.05781849, 0.009605695, -0.11679257, -0.031872023, 0.06138625, 0.035083354, 0.0090230685, -0.226682, 0.06104293, -0.27476013) * go_0(-1.0, -1.0); - result += mat4(-0.057164494, 0.031943344, -0.026907986, 0.1625164, 0.063061535, -0.05563398, -0.050311144, 0.052950714, -0.13305314, 0.095417894, -0.019991228, -0.10098878, -0.04697902, -0.095713176, 0.15546167, -0.029640567) * go_0(-1.0, 0.0); - result += mat4(0.070663795, 0.10422805, 0.014885193, 0.045137066, 0.0693627, -0.08800005, -0.110621534, -0.16098051, 0.03345156, -0.13288338, 0.052109558, 0.08176279, -0.0874141, -0.085414626, -0.026397523, -0.061462812) * go_0(-1.0, 1.0); - result += mat4(-0.016594352, 0.15287156, 0.074731305, 0.0964361, -0.08787371, -0.13661076, 0.2141366, -0.028111434, 0.1326143, -0.20716804, -0.08138669, -0.099190034, 0.06144844, -0.110713564, -0.014771929, -0.14836042) * go_0(0.0, -1.0); - result += mat4(0.09738207, -0.14664938, -0.1250703, -0.038655713, 0.05584081, 0.03942745, 0.073783375, 0.056581516, -0.15187903, 0.08551972, 0.022938624, 0.15554221, 0.028497955, 0.095256545, 0.06512413, 0.028258305) * go_0(0.0, 0.0); - result += mat4(-0.15085734, 0.17242025, -0.034663428, 0.07946447, -0.023244603, 0.009506006, 0.017019462, 0.037655763, -0.03177796, -0.1733154, 0.12542902, -0.08050667, -0.07999971, -0.018520301, -0.034357913, -0.13834344) * go_0(0.0, 1.0); - result += mat4(0.03910769, -0.05480014, 0.10282842, 0.11273193, -0.117832065, -0.03342582, 0.024672383, 0.01922069, 0.052449033, -0.07383957, -0.06616735, -0.07622469, 0.07522412, -0.011379491, -0.10019852, -0.09873271) * go_0(1.0, -1.0); - result += mat4(0.13609584, 0.03403247, -0.080141336, 0.077994175, -0.117510326, -0.09721173, 0.11609589, -0.011041011, 0.08279879, 0.034463685, -0.029874083, -0.09348013, -0.012873403, 0.023173302, 0.13702866, -0.016699987) * go_0(1.0, 0.0); - result += mat4(0.012070883, 0.020341417, -0.017083466, 0.036868714, -0.04590393, -0.0042756707, 0.034706842, 0.10106157, 0.020871256, 0.07026538, -0.008456792, -0.031980522, -0.037377477, 0.0024875633, -0.048794776, 0.054988988) * go_0(1.0, 1.0); - result += mat4(-0.10563537, 0.11606471, 0.18385051, 0.037006877, 0.10408082, -0.041231528, -0.15187787, -0.09085941, 0.08950542, 0.06414686, -0.22425447, -0.27310994, -0.02024463, -0.025200754, 0.11368761, 0.10785044) * go_1(-1.0, -1.0); - result += mat4(-0.030225338, -0.10834746, -0.10231699, -0.03254886, 0.11373231, -0.054429933, 0.026529413, -0.07203562, 0.020784596, -0.08582458, 0.011069094, -0.16185156, -0.1382461, 0.024487281, -0.120093465, -0.29875785) * go_1(-1.0, 0.0); - result += mat4(-0.008845826, -0.11932165, 0.07947179, 0.19418922, 0.00601994, 0.08698007, 0.0070720594, -0.12667209, 0.077381305, -0.05648546, 0.058756344, 0.118710436, -0.15738462, -0.113216214, -0.18746306, -0.16013232) * go_1(-1.0, 1.0); - result += mat4(-0.11823833, -0.10346257, 0.16498324, 0.017223012, 0.16676189, -0.03270543, 0.08681522, -0.019200213, 0.27930862, -0.39976546, -0.08013078, -0.07730102, 0.1775448, -0.23172536, 0.3080911, 0.066501014) * go_1(0.0, -1.0); - result += mat4(-0.13012904, 0.05373303, -0.04057597, 0.098716326, -0.012068175, 0.007822063, -0.10612095, 0.10029054, -0.03896638, 0.092982456, 0.44525465, 0.105101556, -0.01651052, 0.12284007, -0.29234242, -0.016989872) * go_1(0.0, 0.0); - result += mat4(0.03517081, -0.15103249, -0.024740495, 0.11605604, -0.0063804537, 0.0851682, -0.074134536, -0.0820308, -0.051267844, 0.026468761, 0.12227241, -0.023516016, -0.036753807, 0.009863132, -0.18385997, -0.006226107) * go_1(0.0, 1.0); - result += mat4(0.042300962, 0.0612368, 0.04273769, -0.009331085, 0.024928207, 0.036657955, -0.026505891, -0.0995487, 0.040830083, -0.05794873, -0.2301118, -0.25562578, 0.15100408, -0.11114937, 0.12458043, -0.031075275) * go_1(1.0, -1.0); - result += mat4(-0.12209181, -0.159118, -0.044463716, 0.12174668, 0.080834165, -0.030461645, -0.21788771, 0.15906425, -0.08619984, -0.2559847, -0.111772224, 0.089261115, 0.03629327, 0.031571757, -0.19015229, -0.13537124) * go_1(1.0, 0.0); - result += mat4(-0.05894997, 0.036665007, -0.057672605, -0.043688748, 0.010406858, -0.025670307, -0.17934126, -0.028273577, -0.027246438, -0.12550274, -0.13044403, 0.18990144, -0.06271228, -0.09306704, -0.14787146, -0.037143167) * go_1(1.0, 1.0); - result += mat4(0.24538438, 0.07817913, -0.03810617, -0.0063618342, -0.034510795, -0.09723374, 0.0042433045, 0.02840398, -0.008296004, 0.03182418, -0.020445613, 0.040570706, 0.06958669, -0.074645676, -0.045477536, -0.31765696) * go_2(-1.0, -1.0); - result += mat4(-0.07984125, 0.060450725, 0.047792103, 0.008377732, -0.20518395, 0.05043399, -0.01679626, -0.071454376, 0.22970293, -0.014139528, -0.011059268, -0.066941515, 0.07590278, 0.06008143, 0.110568896, 0.051596068) * go_2(-1.0, 0.0); - result += mat4(-0.043445505, 0.07130074, -0.110674106, 0.1135976, -0.17528361, 0.027846763, -0.17418873, 0.062023338, 0.022821834, 0.05296679, 0.10935556, 0.12795413, 0.042655166, 0.0106115835, 0.2004836, -0.081612624) * go_2(-1.0, 1.0); - result += mat4(0.0065808836, 0.07898094, 0.03718763, -0.025817946, -0.1892885, 0.17788704, -0.01939055, 0.0058550234, 0.09937207, -0.051095694, -0.05730913, 0.059234787, 0.28931195, -0.09421872, -0.37408957, -0.20798929) * go_2(0.0, -1.0); - result += mat4(-0.16620718, -0.14868094, -0.12021037, -0.057172157, 0.10535018, -0.0759594, -0.14075747, -0.02022368, -0.18982969, 0.14067341, -0.05750312, 0.08877888, 0.10700357, -0.026717503, -0.033623595, 0.12195265) * go_2(0.0, 0.0); - result += mat4(0.17748521, -0.03286829, 0.0053956825, 0.07372289, 0.055121407, -0.10435926, 0.014667389, 0.0427475, 0.18460171, 0.08454504, -0.08122923, -0.06552034, 0.10567158, 0.1778359, 0.17437135, 0.05902918) * go_2(0.0, 1.0); - result += mat4(-0.08628083, 0.04757524, 0.013566496, 0.058866933, 0.028604174, 0.022337232, 0.036754955, 0.14828879, -0.12659909, -0.010767183, 0.02895015, 0.07494568, -0.02031085, -0.18338795, 0.06491627, 0.18581006) * go_2(1.0, -1.0); - result += mat4(0.086914204, 0.17564085, 0.20865819, 0.003970879, -0.065245375, 0.0719146, 0.0036821382, -0.0005362681, 0.17954963, -0.044090744, -0.0004970521, -0.08508769, -0.0038966718, 0.12987554, 0.10152699, -0.07551662) * go_2(1.0, 0.0); - result += mat4(-0.12458449, 0.046369124, -0.21519043, -0.14829193, 0.0010138899, 0.035694696, 0.038200002, -0.042452868, -0.10323941, 0.12175021, -0.03257118, 0.03198656, 0.014596667, -0.050239712, 0.06553759, -0.0055009895) * go_2(1.0, 1.0); - result += mat4(0.042482298, -0.08873179, 0.09256576, 0.075650096, 0.08212508, -0.027149782, -0.13923948, -0.029412258, -0.046472896, -0.10929789, 0.11386972, 0.09277685, -0.03398996, -0.03957954, -0.08847087, -0.079389304) * go_3(-1.0, -1.0); - result += mat4(0.10738428, -0.060133323, 0.058830995, 0.053890802, 0.05381688, -0.017617341, 0.09074316, -0.14257678, -0.04499134, 0.027924139, 0.1744376, 0.11245277, -0.021527067, -0.0448567, 0.019239385, 0.036269695) * go_3(-1.0, 0.0); - result += mat4(0.022881636, 0.08740093, 0.03667878, -0.022591162, -0.027113255, -0.058345437, 0.07440467, 0.07153011, -0.076189674, -0.0150532955, 0.023971885, -0.033418965, -0.09023294, -0.038390294, -0.09872095, 0.042008042) * go_3(-1.0, 1.0); - result += mat4(-0.016122708, 0.10938718, 0.011049308, -0.026979597, -0.09640132, 0.027440734, 0.059382755, -0.16636404, 0.06228894, -0.06278199, -0.029541656, 0.07371035, 0.15832236, -0.110187896, 0.04382764, 0.0028967306) * go_3(0.0, -1.0); - result += mat4(-0.059453584, -0.14479995, -0.07264137, 0.051669978, -0.04175092, 0.0438449, -0.16053757, -0.3129702, -0.044897456, 0.13238364, -0.16941388, -0.0010662815, -0.058727518, -0.009789796, 0.056073397, 0.24528863) * go_3(0.0, 0.0); - result += mat4(-0.042534802, -0.031428255, -0.13127099, 0.03545817, -0.12471701, -0.11506875, -0.04119249, 0.09132754, -0.1016195, -0.03640248, 0.007980519, 0.052966777, -0.023626154, -0.1328367, -0.10114847, 0.03886791) * go_3(0.0, 1.0); - result += mat4(0.09101958, -0.0018387871, 0.012616483, -0.17484885, 0.011751878, -0.089530915, 0.051097844, -0.04996934, -0.01005944, -0.020370236, -0.24793504, -0.012510409, 0.00786229, 0.04249317, -0.008741537, -0.016400656) * go_3(1.0, -1.0); - result += mat4(0.09523166, -0.042383313, -0.054711856, -0.04637368, 0.102178566, 0.2631821, 0.01233508, -0.010458087, 0.30316606, -0.22986925, -0.5806165, 0.23202705, -0.008722518, -0.010904748, -0.043592352, -0.05686299) * go_3(1.0, 0.0); - result += mat4(0.033423536, 0.098218225, 0.14418946, 0.02657937, 0.03015286, -0.0767474, 0.042458575, 0.1935135, 0.18014516, -0.11874242, -0.1996855, 0.08370151, 0.0690025, 0.07693498, 0.052911133, -0.116886765) * go_3(1.0, 1.0); - result += mat4(-0.08134629, -0.017970117, -0.018347586, -0.02937847, 0.0003775313, 0.19711903, -0.08546992, -0.021621648, 0.08250089, -0.01672797, -0.032528374, -0.038942847, 0.049553294, 0.04604846, 0.14648306, 0.013710108) * go_4(-1.0, -1.0); - result += mat4(-0.15212478, 0.06189338, 0.06345135, 0.124090515, 0.053533733, -0.04025595, -0.020564085, -0.28515917, 0.19415195, -0.015337308, -0.018422237, -0.15629065, 0.18082593, -0.011574442, -0.14429837, -0.05707318) * go_4(-1.0, 0.0); - result += mat4(0.0925495, -0.037113782, 0.065900736, 0.008590338, -0.051698808, 0.10596262, 0.2240978, -0.07484259, -0.03791268, -0.10214985, -0.113221854, 0.021240849, -0.086688854, 0.020506943, -0.006777104, -0.016338166) * go_4(-1.0, 1.0); - result += mat4(-0.24208999, 0.0559375, -0.08700456, 0.079334885, 0.046569377, -0.12452623, -0.07567508, 0.11901736, 0.058025084, -0.10933379, 0.01499338, -0.059329115, 0.07900936, -0.0967382, 0.14649267, -0.21533011) * go_4(0.0, -1.0); - result += mat4(0.051437758, -0.056239348, 0.10826396, 0.0103973355, -0.11036472, 0.089677304, -0.13641821, -0.008562795, -0.0915165, 0.080974646, -0.066158704, 0.08619487, -0.14883414, 0.27063388, 0.26023057, -0.10478266) * go_4(0.0, 0.0); - result += mat4(0.013550296, 0.11880657, 0.10764064, 0.0048602303, -0.053477768, -0.012384154, -0.051058087, -0.21776162, 0.026556205, -0.14465022, 0.029675877, 0.024327768, -0.0044619385, -0.06656158, -0.3113407, 0.078604944) * go_4(0.0, 1.0); - result += mat4(-0.051143095, 0.040067013, 0.0048092115, -0.030791068, 0.005094653, 0.050343107, -0.035564423, -0.13350213, -0.09505067, -0.032024544, 0.046505388, -0.012083068, -0.061293676, -0.018872263, -0.088480964, 0.09508143) * go_4(1.0, -1.0); - result += mat4(-0.014669387, -0.03827568, 0.009706187, 0.091904245, 0.10861065, 0.024155458, 0.027196333, -0.0537285, -0.13822891, 0.08269879, 0.112572595, -0.07349772, -0.07239221, 0.07875581, 0.15151146, -0.08660275) * go_4(1.0, 0.0); - result += mat4(-0.08294598, 0.12766667, 0.118720144, -0.018032918, -0.1013107, -0.013210103, -0.030159824, -0.1633461, 0.16121638, -0.11505265, 0.05771879, 0.17782801, -0.009709625, 0.009048779, 0.0643717, -0.04127436) * go_4(1.0, 1.0); - result += mat4(-0.08944967, 0.10843843, 0.03210341, 0.07035867, 0.00338879, -0.007892554, 0.044288695, -0.039942343, -0.030615557, 0.09317879, 0.0762409, 0.18437877, -0.1321277, 0.05252213, 0.026333284, 0.06269435) * go_5(-1.0, -1.0); - result += mat4(-0.04965776, -0.032139134, -0.09895266, 0.2961244, 0.06335117, -0.16791527, -0.059079025, -0.082506865, -0.056972325, 0.1104244, -0.07652271, -0.07872344, -0.056179147, -0.14230897, 0.039492704, 0.14285105) * go_5(-1.0, 0.0); - result += mat4(0.15735546, -0.060425457, -0.058934245, 0.05505039, -0.097881585, 0.1263457, -0.045253854, 0.09278876, -0.041899607, 0.11877196, 0.002355081, -0.059991844, 0.022999011, -0.0561775, 0.010565752, 0.069077805) * go_5(-1.0, 1.0); - result += mat4(-0.11142972, -0.07061307, -0.11946659, -0.099400096, 0.03367043, -0.013575439, -0.043519527, -0.16127248, -0.032205965, -0.105285004, 0.0021813486, 0.23383193, -0.088821694, 0.11629688, -0.031751737, 0.091282874) * go_5(0.0, -1.0); - result += mat4(-0.19746882, 0.15382765, -0.067304626, 0.22248238, 0.089283146, -0.060740154, 0.12944831, 0.0401885, -0.07014485, 0.015746152, -0.05599315, -0.31444058, -0.123802215, -0.1703309, -0.057243284, -0.0058260057) * go_5(0.0, 0.0); - result += mat4(0.033563264, -0.10897218, -0.014746295, -0.06774955, -0.036188614, 0.10475296, 0.044433076, -0.07463308, 0.008685612, -0.017900765, 0.037735194, 0.14636718, 0.0055965157, 0.008190972, -0.012111877, 0.10777833) * go_5(0.0, 1.0); - result += mat4(-0.22119878, -0.00934439, -0.024470452, -0.021684358, 0.049842075, -0.15857697, -0.070558004, -0.0033294354, -0.26865304, -0.0141610075, 0.021627605, 0.04901091, 0.030171307, -0.047846876, -0.021054259, 0.03347177) * go_5(1.0, -1.0); - result += mat4(-0.06303298, -0.1380914, 0.13821393, -0.12413124, 0.07129274, 0.085286, 0.0061419164, 0.087412804, 0.033100057, -0.23397031, 0.032436803, 0.042869877, -0.107296675, 0.042882215, -0.012395404, -0.0022080743) * go_5(1.0, 0.0); - result += mat4(0.008780741, -0.09572746, 0.235107, -0.005934799, -0.031246934, -0.022992684, 0.06114156, -0.07160206, 0.06099364, -0.08785622, 0.14756297, 0.01614596, -0.22117889, 0.071189515, 0.15055332, 0.08069156) * go_5(1.0, 1.0); - result += mat4(0.15729329, 0.036501955, 0.074508026, 0.014924277, 0.024376784, 0.11048761, -0.0662262, 0.0018295659, 0.09283897, 0.027042102, 0.05291126, -0.06471004, -0.30125985, 0.10795915, 0.06779594, 0.31680325) * go_6(-1.0, -1.0); - result += mat4(0.11615968, -0.04447013, 0.10447689, 0.1350562, -0.11144621, 0.03709077, 0.032952994, 0.096276626, 0.06868203, -0.16554776, 0.18624458, 0.049578857, -0.013442014, 0.070959665, -0.15082222, 0.26545084) * go_6(-1.0, 0.0); - result += mat4(-0.024599882, -0.07956594, -0.13679305, -0.14679682, -0.05684212, 0.03376889, -0.04935937, 0.09255551, -0.04888347, -0.03642756, -0.012279385, 0.0029056766, 0.08576277, 0.061712924, 0.025902992, -0.11700455) * go_6(-1.0, 1.0); - result += mat4(0.35002708, -0.014724336, -0.17723122, 0.11554662, 0.20964158, 0.070235215, -0.15499143, 0.20215057, -0.05240247, 0.100447476, -0.22313856, -0.15757738, -0.17158219, 0.070982456, 0.17847545, 0.0545739) * go_6(0.0, -1.0); - result += mat4(-0.18775995, 0.24853617, 0.31312263, 0.041823838, 0.11542879, -0.079676114, 0.016512455, 0.014672186, 0.10925544, -0.18216388, 0.13738453, 0.02856321, 0.01878391, -0.10745682, -0.16716598, -0.18430677) * go_6(0.0, 0.0); - result += mat4(0.12586334, -0.13059859, -0.032940686, -0.12445521, 0.08744824, -0.024449022, 0.07755207, -0.011887521, -0.044642143, 0.15666896, 0.009933376, 0.21113835, 0.018695675, 0.008285816, 0.23940869, 0.05274216) * go_6(0.0, 1.0); - result += mat4(-0.14385052, -0.013701985, -0.18334188, -0.13801612, 0.06973971, 0.020687139, -0.15838577, 0.0682283, 0.17290114, 0.021822037, -0.1593011, 0.12368296, -0.051909417, 0.099816486, 0.18414661, -0.00997897) * go_6(1.0, -1.0); - result += mat4(-0.098671384, -0.11953922, 0.0187697, -0.08119316, 0.08544758, 0.0026141745, -0.11786651, 0.0861657, 0.05167917, -0.07486402, 0.17135052, 0.045870405, 0.17885911, 0.06896784, -0.22618207, -0.09696675) * go_6(1.0, 0.0); - result += mat4(-0.030892538, -0.040262762, -0.033995286, -0.19412598, -0.0058172327, -0.10667594, 0.045098327, 0.08596532, -0.14027297, -0.13492948, 0.09068293, -0.012210107, 0.049472895, -0.046960693, 0.041833356, -0.036665313) * go_6(1.0, 1.0); - result += mat4(0.11448471, -0.05200127, 0.10448566, 0.06749669, -0.046686202, 0.028539846, -0.071284495, -0.013776608, 0.009059756, 0.005694205, 0.107392795, 0.16345471, -0.040614177, -0.011328381, -0.12204681, 0.016511405) * go_7(-1.0, -1.0); - result += mat4(-0.17095669, -0.076325886, -0.081076495, 0.0766774, 0.06282146, 0.09396067, -0.099288605, -0.2057644, -0.06705021, 0.08401648, -0.006124241, 0.1259643, -0.13008131, -0.14129867, 0.15516123, 0.083607264) * go_7(-1.0, 0.0); - result += mat4(-0.0022957388, 0.05856265, 0.004291894, -0.13992007, 0.051110834, -0.06343282, -0.19713216, -0.009634957, -0.07137837, 0.0568723, -0.031844866, -0.14029147, 0.10511341, -0.03694283, -0.039790563, 0.12079957) * go_7(-1.0, 1.0); - result += mat4(0.116678536, 0.017967895, -0.084222384, -0.18979242, -0.16373818, -0.051625438, -0.007469872, 0.07698895, -0.08559179, 0.22747229, 0.06252753, 0.17239036, -0.1672435, 0.19882563, 0.05094709, 0.15420969) * go_7(0.0, -1.0); - result += mat4(-0.021038907, -0.15289949, -0.1812001, -0.06270831, 0.05773661, -0.09890353, -0.22504179, 0.28661346, 0.030380948, -0.047244404, 0.028095953, -0.16042343, 0.10631722, -0.28756708, 0.19875197, 0.0046880767) * go_7(0.0, 0.0); - result += mat4(0.017992627, 0.09583775, -0.16261324, -0.10037523, 0.15027897, 0.008308924, -0.12523991, -0.09218689, -0.04166017, 0.04481005, -0.07018378, 0.04660488, 0.012251093, -0.02155709, 0.07439554, 0.16595757) * go_7(0.0, 1.0); - result += mat4(-0.10128157, 0.05230012, 0.010505274, -0.0045971354, -0.04436229, 0.0686891, -0.06143502, -0.06329947, -0.037828725, 0.06929396, 0.014732045, 0.019532068, -0.20194429, 0.094608404, -0.09255989, 0.0006712487) * go_7(1.0, -1.0); - result += mat4(0.13456346, 0.19428526, 0.03124889, 0.09431909, -0.057245445, -0.19396421, 0.021673629, 0.26870468, -0.0748189, 0.18683752, -0.041134145, 0.058044426, -0.11280808, -0.069663584, 0.11809443, 0.10898257) * go_7(1.0, 0.0); - result += mat4(0.032437522, -0.020943642, -0.0012967433, -0.040504962, -0.0055941883, 0.05663316, -0.17987259, -0.09858358, -0.022033866, 0.017183136, -0.00373911, -0.10786088, 0.04599657, -0.010730183, -0.015808778, -0.073432535) * go_7(1.0, 1.0); - result += mat4(-0.027450806, -0.07123867, -0.115826175, -0.20558152, 0.015793063, 0.00917592, -0.047437448, -0.10743293, -0.08270229, -0.03460581, -0.22865953, -0.09833294, 0.058562107, 0.066225894, 0.09546966, 0.039175145) * go_8(-1.0, -1.0); - result += mat4(0.0062890495, -0.14731838, 0.013251237, -0.05258336, 0.07339424, -0.09859438, -0.007957546, -0.09032201, 0.01912405, 0.10851486, 0.14476706, -0.045722447, -0.009007182, -0.04607908, 0.11694388, -0.1312195) * go_8(-1.0, 0.0); - result += mat4(0.08320868, 0.021944063, -0.0063242465, 0.11779457, 0.043611903, -0.009892264, 0.031338774, -0.0071105906, 0.17312275, 0.06534067, -0.13700318, -0.15632129, -0.032851465, 0.07614353, -0.0068492275, -0.007339044) * go_8(-1.0, 1.0); - result += mat4(0.1567212, -0.028788604, 0.014872978, 0.023775656, 0.1888344, -0.18292429, 0.0036885971, 0.059944462, 0.019628597, 0.12139034, 0.03521284, 0.07654702, 0.09544245, -0.01730226, 0.11372192, 0.08958013) * go_8(0.0, -1.0); - result += mat4(-0.18358994, 0.008457774, 0.066629425, 0.031368256, -0.16939671, 0.116705574, 0.15289108, 0.09006569, 0.057086732, 0.03173233, 0.1337826, 0.20374574, -0.20242977, 0.11535693, -0.04644542, 0.12053215) * go_8(0.0, 0.0); - result += mat4(-0.025165526, 0.0986568, -0.0019998797, -0.081331715, -0.08333373, -0.028121378, -0.10888794, 0.05499222, 0.065238185, 0.17770849, -0.00065088284, -0.014400954, 0.025441216, -0.089684874, -0.011330411, -0.037265968) * go_8(0.0, 1.0); - result += mat4(0.07548163, -0.032338325, 0.05066688, 0.047633644, -0.04150886, 0.020289602, 0.15300341, -0.12956989, 0.12961324, -0.068314, 0.08058171, 0.0086898785, -0.05619691, -0.10243323, 0.047004003, -0.0047387057) * go_8(1.0, -1.0); - result += mat4(-0.060505453, -0.08456763, -0.050554518, 0.03934322, -0.009900384, -0.016025173, 0.15428478, -0.08673094, 0.06779942, -0.052596506, -0.01919229, 0.06718782, -0.055366307, 0.040410925, -0.17166302, 0.04139781) * go_8(1.0, 0.0); - result += mat4(-0.0054792594, -0.04857173, -0.10938263, -0.002808973, 0.11411507, 0.06460528, 0.125212, 0.052846473, -0.0045314883, -0.09431864, -0.053420343, 0.076576754, -0.051726155, 0.047666553, -0.038724992, 0.12973335) * go_8(1.0, 1.0); - result += mat4(-0.32793117, 0.10536563, -0.121571936, 0.0819257, -0.02026979, 0.045693934, -0.03842899, 0.047471542, -0.06476304, 0.020106113, -0.014928283, -0.040539287, 0.13236661, -0.04688991, 0.12435977, 0.047430243) * go_9(-1.0, -1.0); - result += mat4(-0.15486266, -0.15256862, -0.034016702, -0.074529134, -0.06449022, 0.09587099, -0.083922915, 0.14717162, -0.06547674, -0.12714347, -0.23995708, -0.18052177, 0.070112504, 0.15591848, -0.32457027, -0.19917747) * go_9(-1.0, 0.0); - result += mat4(0.12048215, -0.013003214, -0.113487795, 0.029351957, -0.014786703, 0.03716927, -0.08821999, -0.008626208, 0.018643484, 0.013666749, -0.043723207, -0.012135213, -0.08323913, -0.04146574, -0.22227862, -0.055937964) * go_9(-1.0, 1.0); - result += mat4(0.044348344, 0.045776278, 0.021677578, 0.017165996, -0.034954507, 0.08561954, -0.14646047, -0.13231587, -0.04729133, -0.08174899, -0.11179197, -0.11426391, -0.024943672, 0.04607219, -0.23119277, -0.07512565) * go_9(0.0, -1.0); - result += mat4(0.11036188, 0.15960318, -0.03556543, -0.06765656, -0.2021666, 0.19273448, -0.10892626, -0.09404772, -0.076368466, 0.1813536, 0.032177098, 0.0842, 0.19333756, 0.053526193, -0.009715162, -0.14322306) * go_9(0.0, 0.0); - result += mat4(0.030871768, -0.0074464646, -0.1635315, -0.0031961869, -0.075362965, 0.104896225, -0.021082822, -0.2416909, -0.22069727, 0.020561663, 0.028545292, 0.052814715, 0.19980742, 0.2074361, 0.11841944, 0.05509825) * go_9(0.0, 1.0); - result += mat4(-0.013732159, 0.1374818, 0.07453946, 0.1636285, 0.07283316, 0.22762041, 0.21240574, 0.019950854, 0.15626834, -0.060864933, -0.07968664, 0.03479737, 0.10357597, -0.08328792, -0.0006691867, -0.0381467) * go_9(1.0, -1.0); - result += mat4(-0.1819537, 0.044216722, -0.023299925, 0.05007542, 0.17286481, 0.09262543, 0.2994342, -0.10637366, 0.04639522, 0.06452959, 0.15362616, 0.067861795, 0.021456653, 0.15361351, 0.261385, 0.04604455) * go_9(1.0, 0.0); - result += mat4(0.009122387, 0.048340186, -0.07658522, -0.19766617, -0.051280595, 0.003623177, 0.042376805, -0.04431547, 0.065149754, 0.034897484, 0.02154426, 0.07047, -0.08721426, 0.07704638, 0.0060646655, -0.024416646) * go_9(1.0, 1.0); - result += mat4(0.044220358, -0.12177787, -0.06103336, -0.08130916, 0.022953589, -0.08504309, 0.039640404, -0.042649914, -0.11253562, 0.05210924, -0.03506059, -0.016069679, -0.078641035, 0.0039112084, -0.0062618195, -0.17446917) * go_10(-1.0, -1.0); - result += mat4(-0.01247942, 0.023309292, -0.10943914, 0.062411055, -0.075556256, 0.030011179, 0.068354815, -0.050935294, -0.078005195, -0.031145953, -0.081349626, 0.12883238, -0.121446736, -0.03411904, 0.003731427, 0.13872771) * go_10(-1.0, 0.0); - result += mat4(-0.1397899, -0.030694358, -0.13986057, -0.01456527, 0.13519372, 0.009538593, 0.039709106, -0.03508142, 0.034425747, 0.102543324, -0.092791595, -0.012264085, 0.05396018, -0.11684392, -0.10459425, -0.19696747) * go_10(-1.0, 1.0); - result += mat4(0.24276726, -0.21673095, -0.10106586, -0.051018015, -0.02559439, 0.049109787, -0.026405439, -0.06197655, -0.17754024, 0.15494283, 0.15298724, 0.17503484, -0.13531163, 0.14061542, 0.02137645, 0.08091585) * go_10(0.0, -1.0); - result += mat4(0.017142862, 0.016195927, -0.32190144, 0.11874316, 0.037051585, -0.039087534, 0.015433603, 0.015701048, 0.04637381, -0.11968243, 0.06242134, 0.04560534, 0.12370247, -0.11292332, 0.09618765, 0.0023660306) * go_10(0.0, 0.0); - result += mat4(0.19133906, -0.11650241, -0.011775885, -0.009825516, -0.054749526, 0.06524658, -0.013433133, -0.060871173, -0.11068996, 0.050650746, 0.0019352552, 0.08599543, 0.16217573, 0.013373967, -0.16456692, 0.099531464) * go_10(0.0, 1.0); - result += mat4(0.11285318, 0.00018417467, -0.20670767, -0.065584615, 0.011944516, 7.744912e-05, -0.037524782, 0.056939438, 0.031899396, -0.0038092835, 0.016791284, 0.0506775, 0.046540234, -0.048709188, 0.03119377, -0.0712156) * go_10(1.0, -1.0); - result += mat4(-0.027347967, 0.08333226, 0.06065502, -0.09395132, -0.13586216, -0.08702288, -0.099219136, 0.12588762, 0.08082661, -0.005074681, 0.12843885, 0.06986843, -0.0053627244, 0.056996074, -0.022097634, -0.15663457) * go_10(1.0, 0.0); - result += mat4(0.069395415, 0.0043090186, -0.1853728, -0.05153937, 0.062754065, 0.03969911, -0.029014869, 0.11187697, -0.1032801, 0.07209643, 0.1677695, -0.13300064, 0.083935894, -0.046223458, -0.033849694, 0.1742876) * go_10(1.0, 1.0); - result += mat4(-0.041404765, -0.15952879, -0.055672616, -0.14790176, -0.013831066, -0.047978397, -0.28346768, -0.08638548, -0.21872658, -0.020834675, 0.058469106, -0.021048449, 0.06864195, -0.06668591, -0.084808566, 0.07891877) * go_11(-1.0, -1.0); - result += mat4(0.060619947, 0.1009842, -0.17300764, -0.26239192, 0.1340643, 0.20667392, -0.14698872, -0.35110018, -0.37209937, -0.07078585, -0.05318964, 0.033973537, -0.17849341, -0.03924582, -0.09075869, -0.1777723) * go_11(-1.0, 0.0); - result += mat4(-0.23023579, 0.13480036, -0.22323267, 0.018318858, 0.10835291, -0.13343185, 0.013547803, -0.12702204, -0.008225446, -0.014552931, 0.15907833, 0.040752955, 0.013315338, 0.07751878, 0.150926, -0.11256944) * go_11(-1.0, 1.0); - result += mat4(-0.09436202, 0.04043043, -0.10118068, -0.110989, 0.09390222, 0.110257804, 0.09612221, 0.005879994, 0.032777414, 0.12892056, -0.06661622, 0.078207776, 0.025562935, -0.041329056, 0.036348246, -0.055320274) * go_11(0.0, -1.0); - result += mat4(0.04770027, 0.13019262, -0.06838029, -0.061760966, -0.06446806, -0.07964198, -0.016272204, -0.08714364, -0.14706036, 0.07334957, 0.015852954, -0.07909504, 0.3089915, 0.109102525, -0.015825126, -0.27486005) * go_11(0.0, 0.0); - result += mat4(-0.10764013, 0.19844711, -0.09302359, 0.0054327343, 0.5287512, -0.15161927, 0.024464406, -0.089903906, -0.19313338, -0.07728969, 0.18436882, -0.026266089, 0.0842011, -0.024945607, -0.0038182868, -0.18219624) * go_11(0.0, 1.0); - result += mat4(0.09759823, -0.071663424, 0.065186486, -0.023156485, -0.025800427, 0.16197275, 0.050794635, -0.042893115, 0.023938533, 0.012962341, 0.0795926, 0.0003265065, -0.0220062, 0.10227259, -0.0033829797, -0.103184715) * go_11(1.0, -1.0); - result += mat4(-0.020551044, 0.078421816, 0.01739726, 0.19147848, 0.25223428, -0.21913454, -0.17867994, 0.018781869, -0.054134224, 0.06478987, 0.1793624, -0.08970641, 0.049855165, 0.0020986055, 0.06884598, 0.089142375) * go_11(1.0, 0.0); - result += mat4(0.026820185, -0.04953101, 0.09645142, 0.1821389, -0.2354278, 0.05535592, -0.14191186, 0.20774509, -0.13335133, 0.034332983, 0.40410507, 0.1728577, 0.13332304, -0.022786276, 0.0019173969, -0.0044472194) * go_11(1.0, 1.0); - result += vec4(0.060646188, -0.0038556247, -0.10473039, -0.021283383); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!SAVE conv2d_4_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.16133928, -0.006756952, 0.13545449, 0.07060866, -0.16981398, -0.106657766, 0.022805378, -0.0035351648, 0.038761076, 0.058264326, 0.16199178, -0.06511896, -0.17973545, -0.09506077, 0.02306629, 0.08721258) * go_0(-1.0, -1.0); - result += mat4(-0.100562446, -0.05475565, 0.01873388, -0.013671649, 0.14916395, -0.067826256, 0.032623593, -0.060436044, -0.0122893145, 0.09967451, 0.120976925, 0.10229753, 0.13948052, 0.17415452, -0.011262652, -0.037956428) * go_0(-1.0, 0.0); - result += mat4(-0.16161971, 0.02982422, 0.049742486, 0.015267549, -0.055522446, -0.009517889, 0.10921511, -0.08333722, 0.059517074, -0.023159515, 0.13170207, 0.015733222, 0.013808399, -0.011851306, -0.024589658, -0.050633222) * go_0(-1.0, 1.0); - result += mat4(-0.00227671, 0.30201057, 0.11319067, 0.1133962, -0.04852214, -0.19454744, -0.07127992, -0.11690175, 0.12344371, -0.0811454, -0.031156603, 0.04270805, -0.06546707, -0.023155082, -0.06664943, 0.19928366) * go_0(0.0, -1.0); - result += mat4(0.11345815, 0.12714691, 0.071744405, 0.103484415, 0.0023571255, -0.06398675, 0.30560458, 0.30617425, -0.0005386149, -0.041429702, 0.13761137, -0.14517422, 0.13975474, -0.026216023, 0.08931679, -0.07163053) * go_0(0.0, 0.0); - result += mat4(-0.11686376, 0.070224725, 0.10019609, -0.109919794, 0.04557366, 0.023907041, 0.00767809, 0.0013940547, 0.015182983, -0.029614698, 0.076304965, -0.0011633933, -0.13530292, 0.00056007045, -0.057679377, -0.13049605) * go_0(0.0, 1.0); - result += mat4(0.038706653, -0.12585612, -0.0590175, 0.07387271, -0.20598301, -0.039461385, 0.018922692, 0.090926535, 0.007763573, 0.038042054, -0.020345435, 0.016759971, 0.033337165, -0.091677584, -0.06344887, 0.05610023) * go_0(1.0, -1.0); - result += mat4(0.17988396, 0.093451336, -0.018993216, -0.05381074, -0.02964974, -0.1913282, 0.06552725, -0.050367884, -0.015466344, 0.033029303, -0.0096563175, 0.05186194, 0.0033302843, -0.15092133, 0.064511806, -0.04485651) * go_0(1.0, 0.0); - result += mat4(-0.024405021, 0.038516898, 0.015061607, -0.04192331, -0.015869368, 0.017929645, 0.07922887, -0.054948222, -0.013361282, 0.0033160122, -0.12909667, -0.012857738, -0.0068476, -0.012239811, 0.0029081944, -0.08033987) * go_0(1.0, 1.0); - result += mat4(-0.055734444, 0.0094752135, 0.10845729, -0.10329405, 0.17336772, 0.07117447, -0.049073327, -0.10629648, 0.1611813, 0.027324779, -0.16710818, 0.07097851, -0.017817533, -0.15294223, -0.06685321, 0.023941878) * go_1(-1.0, -1.0); - result += mat4(-0.04015555, -0.057957835, -0.04012829, 0.11909982, -0.06483754, -0.09342866, 0.020691587, -0.0051632426, 0.10992608, 0.0037598521, 0.20579205, 0.013045941, -0.016678521, 0.06126397, -0.16735047, 0.053845536) * go_1(-1.0, 0.0); - result += mat4(-0.046297137, 0.100343026, 0.0724331, 0.05753326, 0.025728337, 0.07448563, -0.017905511, -0.05812705, -0.05747221, 0.05252139, -0.0022827995, 0.009535698, 0.27295315, -0.026006082, -0.12689655, 0.04623798) * go_1(-1.0, 1.0); - result += mat4(-0.11685835, -0.015142521, -0.13885486, 0.019486092, -0.20875208, -0.34251136, -0.0700515, 0.02718998, 0.1638258, -0.16402523, -0.42462748, 0.17106175, 0.19568646, -0.052654434, -0.024262564, 0.37246057) * go_1(0.0, -1.0); - result += mat4(0.07555664, 0.18153746, -0.003098694, 0.014292224, -0.12814312, 0.4459735, 0.041419946, 0.17212822, -0.06420285, -0.06265219, 0.17119808, -0.030034862, -0.14114997, 0.123509236, -0.105649926, -0.111933716) * go_1(0.0, 0.0); - result += mat4(0.0019030712, -0.02515307, 0.19928412, -0.004469821, 0.017613214, 0.015647614, 0.08936756, -0.08414862, -0.036098205, -0.022081148, 0.08306485, -0.008411014, 0.02704273, -0.13972263, 0.095762834, -0.09297345) * go_1(0.0, 1.0); - result += mat4(0.025891948, -0.17626308, -0.061084367, -0.04712799, -0.0472, -0.26856974, -0.06539752, 0.013616317, -0.059423175, -0.098188885, 0.025495678, 0.0031581502, -0.03285922, -0.022789126, -0.045184094, 0.14847386) * go_1(1.0, -1.0); - result += mat4(-0.011830537, -0.12030199, -0.053715575, 0.09420908, -0.016697582, -0.101909086, 0.0052315956, -0.038581654, -0.013728641, 0.14887422, -0.20061015, 0.12874006, 0.035768256, 0.18918842, -0.11919466, -0.12912689) * go_1(1.0, 0.0); - result += mat4(-0.050202396, 0.03138417, -0.050705705, 0.02818433, 0.080382414, 0.036221508, -0.0042167716, -0.052568164, 0.08052105, 0.103576005, -0.028431175, -0.007257336, -0.079250015, 0.043258842, 0.020142734, -0.10986943) * go_1(1.0, 1.0); - result += mat4(0.06272645, 0.015670467, 0.14403056, 0.017797878, -0.08169692, 0.040103715, -0.095533915, -0.059653286, 0.07473774, -0.17296436, -0.019161535, -0.041325334, -0.038807016, -0.043070696, 0.06584265, 0.22001688) * go_2(-1.0, -1.0); - result += mat4(-0.018589705, 0.02944848, 0.14810379, 0.06810516, -0.032104094, 0.007841817, -0.055268675, 0.059648626, 0.08636726, 0.12378364, -0.008725567, -0.002871493, 0.19164857, -0.032345578, -0.023310618, 0.04684608) * go_2(-1.0, 0.0); - result += mat4(0.07348036, -0.004544571, -0.14452362, 0.16110179, 0.13347302, 0.04389134, -0.029372944, -0.007604985, 0.029121475, -0.025094448, 0.03175599, 0.06217274, 0.07115858, 0.13647805, 0.10111285, 0.0034638855) * go_2(-1.0, 1.0); - result += mat4(0.05997947, 0.024786323, -0.08678267, -0.012526823, -0.0220639, 0.023112366, 0.07861742, -0.19187176, 0.03293625, 0.10128404, 0.09530748, 0.06404156, 0.19316022, 0.21244249, 0.02258886, -0.1616932) * go_2(0.0, -1.0); - result += mat4(0.15327139, -0.069000825, 0.15589428, 0.14515664, 0.12859896, 0.14179786, 0.060607996, 0.21198936, -0.2507868, -0.022061916, -0.038542237, -0.1808869, 0.031881858, -0.19330673, -0.037499044, 0.13342386) * go_2(0.0, 0.0); - result += mat4(-0.05988526, -0.09544103, -0.016432738, -0.017414998, 0.0046385103, -0.20584446, 0.09174897, -0.12748675, 0.024459438, -0.07905607, 0.06139659, 0.075841114, -0.025305571, -0.07030918, 0.023217013, 0.08051247) * go_2(0.0, 1.0); - result += mat4(-0.037737433, 0.027603755, 0.05098685, 0.042382807, -0.011197322, 0.06492134, -0.0906253, -0.053419977, -0.045706257, 0.079379134, 0.16454495, 0.040260073, 0.015778258, 0.21647462, 0.08369584, 0.060196582) * go_2(1.0, -1.0); - result += mat4(0.013863368, 0.101593465, -0.049138572, 0.049191948, 0.12123321, 0.06259525, 0.09837069, 0.045398068, -0.021721708, 0.17811406, -0.31950596, -0.14456001, 0.04377062, -0.056147244, -0.13187714, 0.13418218) * go_2(1.0, 0.0); - result += mat4(-0.074299, 0.087283604, 0.049188152, -0.04601051, 0.043187305, 0.105247594, 0.067160025, -0.10978978, -0.021780532, 0.16378258, -0.04006729, 0.041094404, 0.12237769, 0.01013395, -0.046020973, 0.058959812) * go_2(1.0, 1.0); - result += mat4(0.10759802, -0.05844557, -0.16433835, 0.02379762, 0.027131278, -0.020398108, -0.03034064, -0.07654222, -0.030525263, -0.071624376, -0.038216878, -0.14220032, -0.015000659, 0.024406437, -0.118754864, -0.019906608) * go_3(-1.0, -1.0); - result += mat4(-0.05946246, -0.037770055, 0.05371964, -0.04762644, -0.023789868, 0.15548596, -0.0022103225, -0.08290816, 0.059680905, -0.06700105, -0.3027294, 0.05302431, 0.060560275, 0.119091325, 0.011910897, -0.0611307) * go_3(-1.0, 0.0); - result += mat4(-0.048199076, -0.005808951, -0.050281305, 0.010793577, 0.052124035, -0.027270628, 0.09903184, 0.083696134, 0.10440056, 0.02289494, -0.07162003, -0.0062849876, 0.1393764, 0.007761962, -0.08147549, -0.120649576) * go_3(-1.0, 1.0); - result += mat4(-0.06300759, -0.03393544, 0.074379005, 0.09672255, -0.065820985, -0.15880246, 0.06331057, 0.09052317, -0.17283176, -0.05706484, 0.055020954, -0.17695414, -0.017047746, -0.09395422, 0.11524346, 0.091663584) * go_3(0.0, -1.0); - result += mat4(-0.12924798, -0.06557826, 0.005698939, 0.05151969, 0.023980606, -0.031310424, 0.0983691, 0.027031474, 0.22763366, 0.13239998, -0.069468655, -0.01557182, 0.062858954, 0.21231271, -0.030290892, 0.17677142) * go_3(0.0, 0.0); - result += mat4(-0.081439696, 0.020450905, -0.012162494, 0.08146154, 0.01614436, 0.04890599, 0.11159027, 0.17375018, 0.04622331, -0.110857576, 0.025216697, -0.060947504, 0.0678939, -0.095830016, 0.099071994, -0.02898622) * go_3(0.0, 1.0); - result += mat4(-0.028128562, -0.023531286, -0.0008795096, 0.0704722, -0.10301007, 0.029321423, -0.021746516, 0.09696239, 0.09645322, -0.040263638, 0.06301727, -0.08709368, 0.09035671, 0.13559014, -0.07670181, -0.03276494) * go_3(1.0, -1.0); - result += mat4(0.055680234, 0.07293633, -0.022003002, -0.044560425, -0.0373804, 0.15495904, 0.13096857, -0.025550859, 0.023868699, -0.023058083, -0.1235014, -0.10734169, 0.010809003, -0.25039196, -0.014217269, 0.07412059) * go_3(1.0, 0.0); - result += mat4(-0.03694641, 0.051798698, -0.07326607, 0.053899962, 0.02812039, 0.022284172, 0.0029374901, -0.07449402, -0.16211948, 0.026257169, -0.0037779722, 0.15171492, -0.052307416, 0.0024355229, 0.0063564116, 0.0046692565) * go_3(1.0, 1.0); - result += mat4(-0.019450054, 0.017427495, 0.14512521, 0.04938662, 0.006202705, -0.08233491, 0.22789595, 0.09831528, 0.0404036, -0.016220046, -0.009567857, -0.10365957, -0.05455351, -0.082637355, -0.18112423, -0.18289614) * go_4(-1.0, -1.0); - result += mat4(-0.019659022, -0.057440203, 0.038178887, -0.024574915, 0.09476514, 0.16418602, 0.096884474, -0.008543215, -0.1006523, 0.1330037, 0.013882872, -0.0050533605, -0.09158922, 0.030192483, 0.13139597, 0.27340072) * go_4(-1.0, 0.0); - result += mat4(-0.014864847, -0.058110245, -0.04089836, -0.027095364, 0.15525354, -0.04222943, 0.114998884, -0.0074308664, 0.02298135, -0.08942385, 0.07597391, -0.07266409, -0.1486214, 0.12592529, 0.008856135, -0.03815847) * go_4(-1.0, 1.0); - result += mat4(-0.016115177, -0.05787365, 0.14374281, -0.065732814, -0.026940078, -0.090105265, 0.09092125, -0.067427695, 0.06799277, 0.046577964, -0.12558952, 0.2282373, -0.050858285, -0.005724691, -0.14264332, 0.0725394) * go_4(0.0, -1.0); - result += mat4(-0.14321874, -0.17630744, -0.030244285, -0.11968165, 0.0214558, 0.08285664, 0.16521458, 0.20328104, 0.07671273, -0.30493468, 0.021776592, 0.011971024, 0.023633704, -0.2776264, -0.10879595, -0.07339406) * go_4(0.0, 0.0); - result += mat4(-0.05762395, 0.11391274, 0.07526661, 0.08930487, -0.050805196, -0.033572827, -0.0138379475, -0.0027166037, 0.051784392, -0.06812382, -0.06657226, -0.029933205, 0.037111796, 0.12770545, -0.19708967, -0.017368592) * go_4(0.0, 1.0); - result += mat4(-0.034721598, 0.07238717, 0.021580521, 0.0032361194, 0.02682915, 0.11429618, 0.006246969, -0.011384502, -0.10198539, 0.044490647, 0.026510842, -0.08242405, 0.10116388, 0.06562081, 0.107485555, -0.0012590926) * go_4(1.0, -1.0); - result += mat4(0.030852526, 0.047721054, -0.13123205, 0.10543791, -0.05943997, -0.046062008, -0.060958795, -0.009572606, 0.10642023, -0.044935644, 0.017086817, 0.17646314, -0.00961127, -0.41264644, 0.018992305, -0.07547571) * go_4(1.0, 0.0); - result += mat4(0.045347903, -0.038964048, 0.056273893, 0.12708911, -0.03469611, 0.10069531, -0.22192168, -0.022682197, 0.043401085, 0.018264271, 0.076982856, 0.011487361, 0.027886251, -0.12259783, -0.099470966, -0.039430864) * go_4(1.0, 1.0); - result += mat4(0.08624949, 0.012376808, 0.0077479514, -0.1170666, 0.0716742, -0.11046843, -0.077850066, -0.044300415, 0.053915314, 0.09339476, -0.069813095, -0.06957861, -0.001374164, 0.14245875, -0.06634346, -0.103644006) * go_5(-1.0, -1.0); - result += mat4(-0.024505014, -0.041000646, -0.037310645, -0.19960494, -0.11286237, -0.039952476, -0.014555522, 0.094842575, -0.077469945, 0.09608264, -0.075717196, 0.057115197, 0.16915609, -0.014995497, -0.13742553, -0.004681802) * go_5(-1.0, 0.0); - result += mat4(0.0549783, 0.030727496, -0.04337882, -0.06925114, -0.019843027, 0.059288803, -0.079616524, 0.01963306, 0.02820184, 0.052798875, 0.046409376, -0.04965568, -0.19409747, -0.004536743, -0.16434522, -0.008230561) * go_5(-1.0, 1.0); - result += mat4(-0.1839738, 0.042379227, -0.16860627, -0.061752677, -0.01604508, 0.030754698, -0.074875444, 0.084691316, 0.038282342, 0.30632535, 0.05114634, 0.121252306, 0.07699079, 0.3056959, -0.10636499, -0.110272214) * go_5(0.0, -1.0); - result += mat4(-0.08497261, -0.061560262, -0.044905245, -0.054917242, -0.08900476, -0.031761087, 0.011166559, -0.07907292, 0.076665536, -0.14452234, -0.18915282, 0.18507777, -0.108493246, -0.31385952, 0.27914372, 0.33188236) * go_5(0.0, 0.0); - result += mat4(0.09645311, 0.07250647, 0.115785874, 0.09124687, -0.056559183, 0.05863247, -0.08140737, -0.05012514, -0.1059255, 0.034764946, 0.097291306, -0.0025682407, -0.009076726, 0.013445683, -0.065667965, 0.12148862) * go_5(0.0, 1.0); - result += mat4(-0.0034297407, 0.0011929716, -0.025974274, -0.122696795, -0.16790242, -0.026815463, 0.02342119, 0.08819499, 0.049951926, 0.0009924982, 0.05151504, -0.09561283, 0.08813568, -0.09092365, -0.10566983, -0.09292515) * go_5(1.0, -1.0); - result += mat4(-0.12156009, -0.011645673, -0.07497513, 0.07160764, 0.033775024, -0.007643766, 0.12486011, -0.0766719, -0.022502638, -0.12700734, 0.056804404, 0.2373573, -0.052466217, 0.041492254, 0.010128061, -0.03906922) * go_5(1.0, 0.0); - result += mat4(-0.06947017, 0.039409123, -0.09709905, -0.035098486, -0.04671096, -0.025924092, -0.10862489, 0.014876228, -0.004171268, -0.055684786, -0.0430162, -0.015479635, -0.07883754, 0.028366983, -0.07044784, 0.026371619) * go_5(1.0, 1.0); - result += mat4(0.12491029, -0.01923031, 0.06077587, -0.11972133, 0.09019155, 0.07630519, 0.0030505152, 0.059707895, -0.033507288, 0.004496867, -0.11517756, 0.12770605, 0.094082855, 0.074296735, -0.1412585, -0.1442703) * go_6(-1.0, -1.0); - result += mat4(0.1385727, 0.038624324, -0.046046253, 0.05311024, -0.06940295, 0.04701938, 0.11245861, -0.005019864, -0.014386482, -0.012019259, 0.14635965, -0.06122487, -0.06906494, -0.16240194, 0.082200415, 0.048237212) * go_6(-1.0, 0.0); - result += mat4(0.14468831, -0.056279324, -0.046586104, -0.018987626, 0.052040957, -0.011430102, -0.035632648, 0.014202148, -0.11370422, 0.08197359, -0.16257696, -0.034705233, -0.06485444, -0.019303367, -0.09146792, 0.010801243) * go_6(-1.0, 1.0); - result += mat4(0.043830894, -0.2320351, 0.3333112, 0.2630448, 0.07373748, 0.33049798, 0.001642668, 0.22351044, 0.017811265, 0.23345731, -0.08962462, -0.1396011, 0.09703513, -0.01986389, -0.09969773, -0.14018197) * go_6(0.0, -1.0); - result += mat4(-0.12336034, -0.123443455, 0.0593038, -0.081452504, 0.04679253, -0.0040808073, -0.12084844, -0.20217294, -0.037490703, 0.19642612, 0.24421008, 0.5276441, -0.16672747, 0.014775753, 0.0105408225, 0.10049115) * go_6(0.0, 0.0); - result += mat4(0.089774966, -0.047527924, -0.0007001913, 0.071103655, -0.03167252, -0.06652405, 0.021832626, -0.0027828882, -0.14941277, 0.13698508, -0.05485965, 0.0018984928, 0.05728955, 0.05286551, -0.042861003, 0.1204859) * go_6(0.0, 1.0); - result += mat4(0.04797686, 0.017278861, 0.09963163, -0.07403156, 0.16224588, -0.00022055063, -0.035451055, -0.054200813, 0.0075777066, 0.032946784, 0.054119565, 0.013952389, -0.03471897, 0.119187325, 0.103756696, -0.16748244) * go_6(1.0, -1.0); - result += mat4(-0.12169368, -0.09832273, -0.07356938, 0.012601864, 0.0033501373, 0.06226625, -0.05481353, 0.057701286, 0.0074527394, 0.04647796, -0.01752196, -0.009819254, -0.055218786, 0.2523621, 0.0018503782, 0.013713094) * go_6(1.0, 0.0); - result += mat4(-0.07547788, 0.019841697, -0.063743204, 0.0016271871, -0.011909185, 0.025960762, -0.032695234, 0.05598399, 0.0324628, -0.032277346, 0.06817223, 0.094046466, -0.026146894, 0.04707096, -0.015286299, 0.021633716) * go_6(1.0, 1.0); - result += mat4(0.06242534, -0.0050779823, -0.120014794, 0.12003254, -0.07670613, -0.020087022, 0.052733466, 0.05739494, -0.06948649, -0.086232655, 0.044364158, -0.025977671, 0.00048737816, 0.10551334, -0.012772333, 0.0695593) * go_7(-1.0, -1.0); - result += mat4(0.021200884, 0.04894996, -0.066838525, -0.18435371, 0.042426147, 0.020211088, 0.055953514, -0.051933434, -0.10550434, -0.0026846863, -0.13971733, -0.02184495, 0.0014545146, -0.0915335, -0.027734866, -0.038728945) * go_7(-1.0, 0.0); - result += mat4(0.10364436, -0.08102991, 0.008440821, -0.09785022, -0.013573327, -0.071765065, 0.025664581, -0.03018756, 0.06772861, -0.036794353, -0.047585115, -0.051343437, -0.2573073, 0.0023996837, -0.008496379, -0.10749119) * go_7(-1.0, 1.0); - result += mat4(0.12116202, 0.035012618, 0.06828631, -0.011810479, 0.15149537, 0.2697212, -0.0818064, -0.12058153, 0.007521522, 0.1254704, 0.13602273, -0.042921092, -0.19474955, 0.08889511, 0.11905765, -0.48354828) * go_7(0.0, -1.0); - result += mat4(-0.06622801, -0.24205731, 0.00039195677, -0.018191213, 0.1418333, -0.23763578, 0.1262838, 0.3101213, 0.10095308, 0.092712864, 0.035186313, -0.05094548, 0.18132727, -0.11579797, 0.12947337, 0.17984942) * go_7(0.0, 0.0); - result += mat4(-0.024080344, 0.030900456, -0.07827444, -0.03047019, -0.07694487, -0.033968464, -0.09684677, 0.01864093, 0.08061825, 0.028564071, -0.06351325, 0.045664158, -0.02435513, 0.07335545, -0.15416555, 0.033914436) * go_7(0.0, 1.0); - result += mat4(-0.0066844383, 0.18998615, 0.08110769, 0.06075703, -0.00035976124, 0.17410082, -0.016190415, -0.072515815, 0.06237005, 0.039860904, -0.07000151, -0.044377264, -0.0135860015, 0.09124136, 0.07817149, -0.13900073) * go_7(1.0, -1.0); - result += mat4(-0.027519895, 0.11568574, 0.0938243, -0.054063454, 0.032663487, 0.0032921168, 0.12618391, -0.002021597, 0.051823083, -0.16533224, 0.028921695, -0.078465916, -0.058265906, -0.19176663, -0.04167813, -0.018580772) * go_7(1.0, 0.0); - result += mat4(0.09653387, -0.06955171, -0.0032987394, -0.0822022, -0.110497184, 0.027078046, -0.16925058, 0.022800285, -0.065462455, -0.06652677, 0.041567896, -0.03914663, 0.08393093, -0.027193561, 0.029169211, 0.026189756) * go_7(1.0, 1.0); - result += mat4(-0.028530449, -0.030343069, -0.094984, 0.0457086, 0.030453794, -0.10934838, 0.026118102, 0.05388074, 0.01141028, 0.17053983, 0.025053402, 0.10237525, -0.018245628, 0.0466102, 0.10027888, 0.007031101) * go_8(-1.0, -1.0); - result += mat4(0.031947598, 0.0142047815, 0.1008171, -0.021267543, 0.028890727, 0.015997184, 0.00904217, -0.07394312, -0.075407095, -0.123822875, 0.053960808, 0.03218678, -0.078903474, -0.0074488954, 0.006436021, -0.019293945) * go_8(-1.0, 0.0); - result += mat4(-0.093168706, 0.008948909, 0.04137674, -0.0897038, -0.020926308, -0.09558734, -0.022406321, 0.002949651, -0.011116838, 0.023297548, 0.15090843, -0.083772644, -0.07124868, -0.091127455, -0.046792395, -0.031992402) * go_8(-1.0, 1.0); - result += mat4(-0.110468656, -0.03484454, 0.053979196, 0.13552794, -0.04660422, -0.14299203, -0.10245069, 0.15799181, 0.052099496, -0.05660036, 0.09624473, -0.059447583, -0.19582441, -0.19371855, 0.029592248, 0.15151422) * go_8(0.0, -1.0); - result += mat4(-0.081927694, 0.010878782, 0.05471361, -0.038445257, -0.10004111, -0.00742982, -0.121207744, -0.07186629, 0.19857378, -0.12072702, 0.16502617, 0.3030395, 0.02941075, 0.16125154, 0.036315985, -0.12341535) * go_8(0.0, 0.0); - result += mat4(0.076093376, 0.108250566, -0.04474227, 0.0005430772, -0.056557942, 0.12507966, 0.043558195, 0.13094783, -0.009826428, -0.030642144, 0.044561736, -0.01616312, 0.124570616, 0.032103647, 0.00094704446, -0.062467944) * go_8(0.0, 1.0); - result += mat4(0.05288774, -0.04173261, -0.094127834, -0.048326064, -0.051140305, -0.09304907, 0.07285711, 0.10539822, 0.0757148, -0.10271482, -0.05926938, -0.011032404, 0.04824878, -0.13786948, -0.044193707, -0.06005154) * go_8(1.0, -1.0); - result += mat4(-0.029262906, -0.04053909, -0.10859774, -0.024688296, -0.07468686, 0.02183861, -0.05050053, -0.036748923, -0.04600484, 0.13406211, 0.3144956, 0.03387907, 0.030911079, 0.03854964, 0.040388837, -0.051211257) * go_8(1.0, 0.0); - result += mat4(0.04581977, -0.050508924, -0.09192806, 0.045895346, -0.042796656, -0.075065635, 0.06755441, 0.1621575, 0.07225555, -0.021305092, 0.07891141, 0.062734276, 0.032362953, -0.01723129, 0.056368362, -0.095162146) * go_8(1.0, 1.0); - result += mat4(-0.1290508, 0.09830274, 0.19029498, -0.13119996, 0.061265036, 0.023812773, -0.03416971, -0.027166106, 0.1472619, 0.110970646, -0.13354625, 0.115644634, -0.09297424, -0.045373987, -0.07155728, -0.02823285) * go_9(-1.0, -1.0); - result += mat4(0.29414526, 0.031436007, 0.13467501, 0.23785688, 0.020552235, -0.17962979, -0.011401214, 0.07844186, 0.0020100463, 0.033093207, 0.21094067, -0.006131698, 0.036331773, -0.056775156, 0.28799078, 0.21105652) * go_9(-1.0, 0.0); - result += mat4(0.05108093, 0.062294826, 0.0753641, 0.061110258, -0.07275481, 0.034971233, -0.19592805, 0.010506673, -0.07471706, 0.010695946, -0.058127686, -0.013674127, -0.11572427, 0.0047275554, 0.07725011, 0.077781096) * go_9(-1.0, 1.0); - result += mat4(0.021191953, -0.16302282, 0.031195858, -0.016690757, -0.042332754, 0.12576906, 0.028911225, -0.042581353, 0.14656056, -0.002111526, -0.054867882, 0.053384244, -0.00054000184, 0.2865656, 0.08568847, -0.005297186) * go_9(0.0, -1.0); - result += mat4(0.24459156, -0.0040446254, -0.011034847, 0.020034194, -0.13969189, 0.026051244, 0.010284825, 0.052832644, -0.3302616, -0.1641068, 0.05866752, 0.049114868, -0.19706532, -0.038541116, 0.15689386, -0.014460528) * go_9(0.0, 0.0); - result += mat4(0.20088449, -0.18249178, -0.19120571, -0.021813335, -0.02567551, -0.10124292, -0.2129278, -0.15769608, -0.100296415, 0.12818226, -0.18814573, 0.057463627, -0.2173712, 0.14296606, -0.19845422, 0.04402624) * go_9(0.0, 1.0); - result += mat4(-0.04501396, -0.016134484, -0.048776157, -0.027523788, 0.14263803, -0.033841856, 0.14165118, 0.11231477, -0.117087275, 0.071836635, 0.033528548, 0.025089972, -0.11626535, -0.059059534, 0.039012797, 0.056363076) * go_9(1.0, -1.0); - result += mat4(-0.019880112, -0.10156109, 0.14758001, 0.12805681, 0.096986346, -0.047886547, 0.007990481, 0.2734917, -0.03103439, 0.07075354, 0.074489154, 0.048702024, 0.024555484, 0.28999108, 0.06102981, -0.10981428) * go_9(1.0, 0.0); - result += mat4(-0.074777, 0.001804593, 0.07410528, -0.08746074, -0.039508138, 0.015179453, 0.032183602, 0.12169698, 0.05552145, -0.10485944, 0.05223517, -0.083807155, 0.1067679, -0.040424254, -0.051757596, 0.03411554) * go_9(1.0, 1.0); - result += mat4(0.08332494, -0.017157076, -0.15541728, -0.02507669, 0.09043872, 0.053027406, -0.098478906, 0.014016389, 0.07899013, 0.09959897, 0.13936171, 0.16692483, 0.017292997, 0.13855843, 0.0750788, 0.14084084) * go_10(-1.0, -1.0); - result += mat4(0.06163187, 0.050483577, 0.17532788, 0.12694873, 0.036072567, -0.12612706, -0.068937264, 0.0208678, 0.0955886, -0.21836248, 0.05693701, 0.11552043, 0.05373496, -0.0076306504, -0.1134099, -0.23140456) * go_10(-1.0, 0.0); - result += mat4(-0.02418352, 0.07047251, -0.08015661, -0.020395076, -0.12786765, 0.06069527, 0.035371967, 0.045634307, -0.1251301, 0.17768264, -0.09586097, 0.10744777, 0.06199948, -0.06666097, -0.031270064, -0.029521335) * go_10(-1.0, 1.0); - result += mat4(0.08700529, 0.0521275, 0.0134138055, 0.12139678, 0.06302291, 0.021202987, -0.07977008, 0.048815608, 0.15826204, -0.09358012, -0.02154612, -0.24544328, -0.013697682, 0.0016321354, 0.13801077, -0.06325918) * go_10(0.0, -1.0); - result += mat4(0.20855603, 0.13971342, 0.20750982, 0.054931514, -0.0072197737, -0.18407024, -0.05493873, -0.12714154, -0.030079355, 0.118419215, -0.10421147, 0.036947545, 0.0629553, 0.14460443, 0.06846684, 0.0016486015) * go_10(0.0, 0.0); - result += mat4(0.0019238774, -0.06716329, -0.036974065, -0.025171692, 0.003145538, 0.009222313, -0.08951116, -0.028844675, 0.0019689503, 0.0038089454, 0.049644902, 0.015088383, -0.08523328, -0.057811886, 0.13893504, 0.084998205) * go_10(0.0, 1.0); - result += mat4(0.017735925, -0.027136771, -0.018788278, 0.0014902869, -0.039537203, -0.0032515842, 0.010640472, -0.048517723, 0.14024682, -0.026336543, 0.051186156, 0.03411434, -0.12304973, -0.018773645, -0.07901994, -0.014950501) * go_10(1.0, -1.0); - result += mat4(0.04492738, -0.09235136, 0.016306276, -0.07114585, 0.021729728, -0.00079245685, 0.025323827, -0.0053302613, -0.10879124, -0.13935542, 0.058140572, -0.030897664, 0.017131852, 0.2910438, -0.05578602, 0.1226322) * go_10(1.0, 0.0); - result += mat4(0.064604685, 0.0016290275, -0.05219982, -0.046904758, 0.055705804, -0.09864041, 0.0959681, 0.01864796, -0.11455475, -0.09758585, -0.022786105, -0.038040295, -0.0051123835, 0.13658151, 0.07356666, -0.05481127) * go_10(1.0, 1.0); - result += mat4(-0.099208795, -0.057029903, -0.16799642, -0.0044347527, -0.06552306, 0.048165623, 0.045094546, -0.039906844, -0.0046389205, -0.02457306, 0.015797745, 0.058697045, -0.054800622, -0.12494134, 0.07049534, 0.037583154) * go_11(-1.0, -1.0); - result += mat4(-0.009378128, 0.035244588, -0.09924745, 0.18942085, 0.0014096628, 0.11226739, 0.0072757765, -0.055776034, 0.082616255, -0.11925312, -0.06925827, 0.14569838, -0.19810294, 0.06581726, 0.09252449, 0.0068915454) * go_11(-1.0, 0.0); - result += mat4(-0.064408444, -0.061193526, -0.038778774, 0.053977504, 0.039270118, -0.10278301, 0.086721204, -0.113875344, 0.06850686, -0.012360228, 0.015361166, 0.046675045, 0.13093628, 0.0005417212, 0.13471904, 0.06485523) * go_11(-1.0, 1.0); - result += mat4(0.07989225, -0.100406826, -0.10944563, 0.07256156, 0.10232373, 0.009566911, -0.0461756, -0.16797575, 0.039543778, -0.15199925, 0.031132417, -0.092911355, -0.09814002, -0.31025404, 0.02272795, 0.2248659) * go_11(0.0, -1.0); - result += mat4(0.08360824, -0.0737838, -0.14736836, 0.15890516, 0.13234118, 0.08391826, -0.076949224, 0.34322366, -0.115592755, 0.049026012, 0.020826623, 0.17741196, 0.16721897, 0.26695272, -0.34930348, -0.14795424) * go_11(0.0, 0.0); - result += mat4(-0.06995868, 0.0056425664, 0.00419832, -0.10647465, 0.0044470876, -0.09307231, 0.30857167, 0.10302482, 0.19641803, 0.0001864599, 0.16174625, 0.12199131, -0.044310175, 0.0552523, 0.09890855, -0.10056144) * go_11(0.0, 1.0); - result += mat4(0.0007076519, -0.022538826, -0.013704813, 0.12702727, 0.061103735, 0.05082559, 0.08556586, -0.062643535, -0.021830598, 0.026547015, 0.002573239, -0.037739865, -0.07985882, 0.15111215, 0.0019819294, 0.014503066) * go_11(1.0, -1.0); - result += mat4(0.07269095, 0.030431513, 0.12673184, -0.015513133, 0.12458577, 0.04736781, 0.25453326, -0.016506296, 0.018488389, 0.06741469, -0.1681027, -0.060571954, 0.041646067, -0.034232, -0.09514311, 0.06477151) * go_11(1.0, 0.0); - result += mat4(-0.02164016, -0.081735596, 0.18272854, -0.00049256656, 0.048891954, 0.075129755, 0.064598955, 0.027568849, 0.06284424, 0.05611894, 0.15823774, 0.10164623, 0.08859664, 0.00096352655, 0.05039276, 0.059170373) * go_11(1.0, 1.0); - result += vec4(0.0307871, 0.026051836, -0.027859464, -0.064916685); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2814602, 0.2277187, 0.29435065, 0.2408478, 0.105000384, -0.27356383, 0.036709026, -0.082270764, -0.051774833, -0.30756906, 0.22812237, -0.1716299, 0.066388845, 0.071013935, -0.17304003, 0.36941883) * g_0; - result += mat4(0.010861255, 0.035956513, 0.15827346, -0.1573738, 0.28040013, -0.14285654, -0.1002935, -0.17466334, 0.23483588, -0.4468472, -0.083240435, -0.28713223, 0.20002778, -0.22584511, -0.017660992, 0.15582836) * g_1; - result += mat4(-0.26468986, 0.0936422, -0.043597784, -0.18019813, 0.12215305, 0.30424714, 0.41272894, 0.2958579, -0.1279559, -0.1711416, -0.1494349, -0.15574773, -0.20571063, 0.33361194, 0.31610423, 0.07864312) * g_2; - result += mat4(0.16455007, 0.23325196, -0.31887302, -0.02492541, -0.55856234, -0.0031886266, -0.11389042, -0.16259733, -0.25545537, 0.4201699, 0.13217591, 0.07380258, 0.030272568, 0.06883875, -0.16177692, 0.23754956) * g_3; - result += mat4(-0.35823125, 0.26168248, 0.06723545, -0.25340518, -0.12674278, 0.16228193, -0.12574689, -0.018757205, 0.11605118, -0.2045155, 0.0029288447, -0.030387532, -0.25938132, -0.22786854, 0.19045345, -0.13012685) * g_4; - result += mat4(-0.065970175, 0.0951907, 0.035318363, 0.13688375, 0.059882894, -0.11809705, -0.05243897, -0.352783, 0.39302433, 0.01651681, -0.25153002, 0.08879433, -0.20241016, 0.044586238, -0.41407117, 0.25752586) * g_5; - result += mat4(-0.20024903, -0.029611953, -0.28356886, -0.025313022, 0.089501604, -0.033136155, -0.1373444, -0.044254545, 0.039401148, 0.18670277, -0.31939486, 0.21125056, 0.26854888, 0.02871854, 0.19365928, -0.18145144) * g_6; - result += mat4(-0.14600311, -0.08483165, 0.018047078, 0.035864647, -0.20588812, 0.2844857, 0.14752424, 0.21875894, -0.30613014, 0.3414608, 0.30383223, 0.2768457, -0.0075907917, 0.40889844, 0.16538632, 0.32830665) * g_7; - result += mat4(0.38021183, -0.12041459, 0.14818075, 0.19251712, -0.091613315, -0.27928743, -0.24842967, -0.23841564, -0.11372076, 0.09261184, 0.31207904, 0.16299677, 0.15786624, -0.03707239, -0.052265193, -0.21610543) * g_8; - result += mat4(-0.043928284, -0.07245048, 0.17044666, 0.18489574, -0.02868591, 0.06388082, -0.21634308, 0.2171092, -0.25383195, -0.13655554, 0.050747488, 0.11323931, 0.14448066, 0.10746246, 0.021201093, -0.05081431) * g_9; - result += mat4(0.010971268, -0.31695822, 0.06632742, 0.2854791, -0.056062803, -0.026609302, -0.011950665, -0.10058546, -0.18215255, 0.081689365, 0.19777119, 0.34793538, 0.30169576, 0.004764223, -0.076669544, 0.044626463) * g_10; - result += mat4(0.18681169, 0.210494, 0.19781908, -0.08093209, -0.21912567, 0.11352498, 0.013049184, -0.21621475, 0.03843136, 0.26926485, 0.09463884, 0.23498456, 0.23216794, -0.13159363, 0.16778943, -0.025485182) * g_11; - result += mat4(0.19025959, 0.58493006, 0.056999333, 0.05119183, 0.1487993, -0.38447016, -0.17310664, -0.39204964, -0.064214475, 0.08697591, 0.25842324, 0.04074829, 0.078874275, -0.24143232, -0.22189601, 0.024380466) * g_12; - result += mat4(-0.10456438, -0.19316635, -0.092004195, -0.10626127, -0.18705751, 0.122325554, 0.07493597, 0.14279996, 0.31013626, 0.060707815, -0.14635678, -0.044795312, 0.006639313, 0.13290113, 0.3026528, -0.033154637) * g_13; - result += mat4(0.16083871, 0.036329053, 0.12857045, -0.20901158, 0.071605735, 0.029462824, -0.022499103, -0.2286325, -0.53524, 0.04800241, 0.021400047, -0.39015284, -0.07230238, 0.18508849, -0.032816987, -0.21694009) * g_14; - result += mat4(0.1175502, 0.2037501, -0.13257551, 0.101748504, 0.10230803, -0.12004787, -0.20809744, -0.17061722, -0.020457663, -0.3528951, 0.21511243, -0.07210097, 0.107290834, -0.30615744, 0.1965365, 0.18667313) * g_15; - result += mat4(0.003279607, -0.13956092, 0.03445401, -0.0033504022, -0.095258705, -0.010740883, 0.014021217, 0.05173165, -0.053114057, -0.03752222, -0.05321192, 0.19231808, 0.11545275, -0.37370005, -0.2259635, 0.096631624) * g_16; - result += mat4(0.11959142, 0.08352709, -0.059375286, -0.14197232, 0.04815708, 0.04520147, -0.112980366, 0.14088671, 0.01989498, -0.034033295, -0.08994673, -0.10527029, 0.17595868, -0.03632629, 0.28482202, 0.01762533) * g_17; - result += vec4(0.066603035, 0.016885368, 0.04719387, 0.013140797); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf1 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.028307766, 0.35418066, -0.08265425, 0.0524958, -0.052733433, -0.23152119, 0.060992382, 0.13296764, 0.20385887, 0.20722593, -0.18456522, -0.06654151, 0.073012725, 0.1738478, -0.081442595, -0.09303688) * g_0; - result += mat4(-0.0879442, 0.117100604, -0.2022827, 0.2498845, -0.13747723, 0.012266356, 0.07140362, -0.17850813, -0.15422471, 0.06091594, -0.25272366, 0.06035512, -0.043132532, 0.14852233, -0.07621397, 0.15171692) * g_1; - result += mat4(-0.020322306, -0.045558915, -0.04046774, 0.12558004, -0.36567464, -0.2146117, -0.014710619, 0.06968004, -0.18818662, -0.07847737, -0.03947554, -0.082270905, -0.1513966, -0.3303706, 0.15264171, -0.22679567) * g_2; - result += mat4(-0.08894719, 0.12672763, 0.21034755, 0.07608016, 0.164807, 0.2194763, -0.0050431606, 0.2508391, 0.21810757, -0.12751459, 0.33856523, 0.119690664, 0.16341431, -0.11109964, -0.27633113, 0.017533202) * g_3; - result += mat4(-0.06003009, -0.21883024, 0.1129707, 0.18688855, -0.25084695, -0.123959206, -0.044746067, 0.05043674, -0.20955594, -0.016574647, 0.2791325, 0.07776435, -0.23383816, -0.13642253, -0.1239683, -0.06908085) * g_4; - result += mat4(0.065739244, 0.33356935, 0.046213064, -0.5236776, 0.13756007, 0.24683417, 0.20376736, 0.18232968, -0.044425983, 0.18467174, 0.33787662, 0.30031878, -0.07485783, 0.004371367, -0.06572547, -0.032950997) * g_5; - result += mat4(0.29744133, -0.12391908, -0.22200936, -0.12863474, -0.121608935, -0.04758852, -0.12311768, -0.12681226, -0.2310094, -0.39655608, 0.19449705, 0.16235611, 0.21368645, -0.19411276, 0.124115534, 0.016622102) * g_6; - result += mat4(0.11676303, 0.02057063, 0.25251, 0.009276932, 0.32482183, -0.040129874, -0.1519303, -0.10388706, -0.028108373, -0.102412194, 0.23188083, 0.18341891, 0.03013491, -0.048286173, 0.0058329282, -0.34457833) * g_7; - result += mat4(-0.22898167, -0.117408544, -0.017038332, -0.15345758, 0.046906043, 0.19235781, 0.04426378, -0.19599624, -0.017836578, 0.15131067, 0.041776728, 0.14426501, 0.17741966, 0.22128138, -0.20428863, 0.20178981) * g_8; - result += mat4(-0.004315044, -0.31666014, -0.29125935, -0.12128216, 0.050062098, -0.28783244, 0.20843488, 0.061466597, 0.0057525453, 0.20799558, -0.0835697, -0.004084688, -0.27317607, 0.04916592, -0.078759655, 0.19164392) * g_9; - result += mat4(0.099757336, -0.11831386, -0.2699008, -0.30549145, 0.118077554, 0.25497273, 0.13997836, 0.075740926, 0.049060423, 0.06831763, -0.3817807, -0.006211132, -0.11377098, -0.09531877, 0.08467258, -0.14856833) * g_10; - result += mat4(0.052639242, -0.18830816, -0.13748348, 0.28691578, 0.07127495, -0.5680293, 0.12841675, -0.39588076, -0.097284764, 0.36028334, -0.11519626, -0.2415703, 0.11885911, 0.046078153, 0.042018026, 0.03702952) * g_11; - result += mat4(0.24275999, -0.22876017, 0.032914363, 0.1260231, 0.32194653, 0.0028965252, 0.17534332, 0.0040270244, 0.03671861, -0.2601385, -0.062798336, -0.13836406, -0.25233975, 0.09016869, 0.10884071, -0.1415055) * g_12; - result += mat4(-0.101087205, -0.043435648, 0.08795096, -0.16750972, -0.30129662, -0.10044177, 0.03310268, 0.08606169, 0.03684131, 0.048794735, 0.08225686, 0.15893319, 0.28447697, -0.09976657, -0.1304865, 0.21622008) * g_13; - result += mat4(0.0010363923, 0.25213385, 0.20465605, 0.22295177, 0.24521509, -0.2710824, -0.20280603, -0.12543409, -0.18289496, -0.06373974, -0.18411794, 0.061445527, -0.060365368, -0.08516493, 0.08249083, 0.07828689) * g_14; - result += mat4(-0.060793873, -0.09924079, -0.09869246, -0.4285292, -0.37705702, 0.3411712, 0.22729903, 0.23361796, -0.2354948, 0.21899778, 0.059090182, -0.067654245, 0.16081595, -0.12565234, -0.19271798, -0.09305432) * g_15; - result += mat4(0.12694947, 0.03796598, 0.032361817, 0.10044351, 0.04519685, -0.13140874, 0.024121989, 0.04257511, 0.07970886, 0.041310467, 0.022053141, -0.19843316, -0.08216455, -0.05973446, -0.12435201, -0.13035697) * g_16; - result += mat4(-0.048266474, -0.12415696, 0.06391087, -0.15999964, 0.016235331, 0.09552785, 0.12677793, -0.14847611, -0.36091015, 0.027757538, -0.029300604, 0.09124694, 0.4466633, 0.0061744438, -0.055607114, -0.21320932) * g_17; - result += vec4(-0.0014512301, -0.027619217, -0.016000178, 0.0588223); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf2 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.2198397, 0.07474122, 0.25085604, -0.16841322, -0.018095493, -0.100231275, 0.12683615, -0.12938105, 0.16326998, -0.34271434, -0.0143025955, -0.10391288, -0.09107246, 0.13806722, -0.011419862, 0.19981647) * g_0; - result += mat4(-0.0316539, -0.25519773, -0.1209305, -0.06143041, 0.05174701, -0.19147594, 0.11087807, -0.06532573, -0.2013948, -0.14687414, 0.0901586, 0.27443606, -0.14269981, 0.22332881, -0.23509043, 0.2060809) * g_1; - result += mat4(0.109063365, 0.052561738, 0.08149706, 0.019311855, 0.089754134, -0.044553958, -0.1007105, 0.0009892394, -0.09903347, -0.28857565, 0.30435443, 0.0015787942, -0.41297057, -0.22761044, -0.01780215, -0.062698446) * g_2; - result += mat4(-0.01552362, 0.2901384, 0.1680081, -0.17513134, -0.06897878, 0.17592743, -0.43503913, -0.04596621, 0.012619745, -0.21403605, -0.16948934, -0.06996391, -0.29766196, 0.12116802, -0.048980057, 0.22243607) * g_3; - result += mat4(0.24363546, 0.3689805, -0.21884279, 0.3818604, -0.16839428, -0.0556417, -0.12723716, 0.1746213, -0.19730906, 0.1479734, 0.11733126, 0.018830176, 0.049721003, -0.0035500277, -0.17519367, -0.2499017) * g_4; - result += mat4(0.041031633, -0.24796546, 0.09606645, 0.0395995, 0.42594504, 0.067137666, -0.14129956, -0.05022722, 0.25581697, 0.08863704, 0.16423233, -0.33918852, -0.19086458, 0.15642363, -0.0023126223, -0.2951177) * g_5; - result += mat4(-0.23185489, -0.08386336, -0.07150133, 0.13777092, -0.14072278, 0.02838937, -0.042908818, 0.025783628, -0.11648161, 0.19068946, -0.07160502, 0.09172534, 0.24410047, -0.060724117, -0.17257373, -0.1972248) * g_6; - result += mat4(-0.0072582318, -0.011030204, 0.048395652, 0.10914101, -0.15400207, 0.20606099, -0.11960791, 0.24877293, 0.17356429, -0.082197405, -0.010170127, -0.031832773, -0.033288233, -0.20086886, 0.27148035, -0.012432371) * g_7; - result += mat4(-0.29836038, 0.0151038375, 0.21195093, 0.13568489, -0.14903903, -0.086146735, 0.021210156, 0.18356802, 0.19766386, 0.32297, -0.14609253, 0.04741111, 0.15015276, -0.24872275, 0.10544547, 0.079276256) * g_8; - result += mat4(-0.4609224, 0.00049777416, -0.1300821, 0.10355109, 0.1587039, -0.007964796, -0.053031847, -0.08619027, 0.071805984, 0.29670206, -0.03566753, -0.2677423, 0.0313238, 0.09650806, 0.12557615, -0.41598156) * g_9; - result += mat4(-0.28125992, -0.21541679, 0.25341314, -0.08868869, 0.16403335, 0.31890368, 0.1563854, -0.2924655, 0.31608266, 0.11475146, -0.14041825, 0.08089581, 0.22312473, 0.09776039, 0.21496448, 0.09443975) * g_10; - result += mat4(0.39393064, 0.29192236, -0.3070681, -0.25582662, -0.34292933, 0.3159496, -0.27226242, 0.08320266, -0.06314073, 0.10564044, -0.13292909, 0.18393274, 0.18127939, 0.22060028, 0.1666197, -0.043861568) * g_11; - result += mat4(0.25017107, -0.026370317, 0.13043208, -0.18787016, -0.2924086, -0.38265043, 0.07511309, -0.035600156, 0.05386576, -0.10529828, -0.1958516, -0.0059428713, -0.117195666, 0.050320167, 0.127351, 0.028612586) * g_12; - result += mat4(-0.45573857, -0.20206647, -0.30226526, -0.21770813, 0.063414164, 0.25145012, 0.012881708, -0.2445157, 0.022737922, -0.1239582, 0.009450774, -0.17895594, -0.064821586, 0.0061988737, -0.13174036, 0.045387045) * g_13; - result += mat4(0.16634953, 0.30238214, -0.14754951, -0.007021737, -0.26485208, 0.19425714, -0.01118022, -0.1616703, -0.011515406, 0.123444855, -0.15848742, -0.124876305, 0.067033015, 0.031733245, -0.24944969, -0.19156238) * g_14; - result += mat4(-0.25266653, -0.019663328, 0.2661182, -0.015626933, -0.012707616, -0.118515946, 0.14260185, 0.0751291, 0.23328146, 0.15651625, 0.34605113, 0.07489629, -0.16263823, 0.017182954, 0.5533502, 0.13305502) * g_15; - result += mat4(-0.097454436, 0.030718658, 0.14785567, -0.097030275, -0.013122067, -0.083220206, -0.050912652, -0.023857877, 0.080882534, 0.37543672, -0.01784633, -0.16073057, -0.26875043, -0.22118908, 0.1596688, 0.09931549) * g_16; - result += mat4(-0.0035172352, -0.094074495, -0.18603468, 0.051569406, 0.113153726, -0.24173748, 0.00024355631, -0.13451214, 0.09677065, -0.24573214, 0.117040165, 0.20340551, -0.49295896, 0.32970372, -0.07180111, 0.13000454) * g_17; - result += vec4(0.05127727, -0.027001878, 0.0080799395, 0.050219692); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf3 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0947985, 0.2332559, -0.024840387, -0.12695168, -0.011602261, -0.14465079, 0.08024385, -0.22528623, 0.1340458, -0.07059673, -0.3695891, 0.12334664, 0.20933141, -0.09326808, -0.2975661, 0.061081678) * g_0; - result += mat4(-0.11507307, 0.35812494, -0.17707227, -0.014434964, -0.15823618, 0.13134694, -0.18273474, -0.14312805, 0.12061932, 0.1496361, -0.03527865, 0.08025679, 0.21869129, 0.07058963, -0.16300866, 0.047147434) * g_1; - result += mat4(-0.044750545, -0.009959345, -0.099832825, 0.05492685, -0.08516999, -0.05746863, -0.15037218, -0.12047596, 0.027117934, 0.08349217, -0.064510226, 0.19004482, 0.016504517, -0.19758373, -0.029387178, 0.024999566) * g_2; - result += mat4(-0.19270788, -0.15476836, 0.24117126, -0.0379194, 0.3743418, -0.103265874, 0.13830991, -0.036348045, 0.0559878, -0.10660704, 0.13829483, -0.16407472, -0.11997183, 0.01790227, 0.14605843, -0.07279059) * g_3; - result += mat4(0.28092733, -0.16125645, -0.2748912, 0.26881403, 0.059113085, -0.054873332, -0.021884039, 0.089765035, -0.1258933, -0.039875403, 0.08049244, 0.14648421, 0.15913528, 0.11868216, 0.26197466, 0.20166811) * g_4; - result += mat4(0.15582782, 0.404659, 0.0015323871, 0.042285357, 0.03543343, 0.28058854, 0.09269268, -0.1961485, -0.050092928, 0.23627135, 0.18665306, -0.2269804, 0.019387577, -0.27056855, -0.032678973, -0.1313305) * g_5; - result += mat4(0.041672353, -0.11869399, -0.10265229, -0.08001758, -0.083409294, 0.27257153, 0.029960267, 0.009504049, -0.25293326, -0.028966684, -0.26568112, 0.07192321, -0.45549354, 0.00988489, 0.2838676, -0.15658323) * g_6; - result += mat4(-0.0969234, -0.44853622, 0.1312735, 0.36762837, 0.29700848, -0.055008043, -0.107015595, 0.26205721, -0.025227455, -0.26865402, 0.037786532, 0.14742893, -0.21797921, -0.09365055, 0.1648379, 0.11523759) * g_7; - result += mat4(-0.08800255, -0.22999708, 0.15386356, -0.15094003, -0.1857585, 0.11688115, 0.23875357, 0.19499353, 0.0412525, -0.024864528, 0.22446378, -0.2659101, 0.08516812, 0.45923305, 0.10732433, -0.09354394) * g_8; - result += mat4(0.20697595, -0.20005412, -0.035901353, -0.13551861, -0.025914649, -0.28284183, -0.11218443, -0.10993567, -0.07797817, 0.1730173, -0.09316322, 0.03815029, 0.10571366, -0.038362827, -0.1914281, -0.09927578) * g_9; - result += mat4(-0.14568554, -0.11636077, 0.19675533, -0.041014023, -0.25883666, -0.12882718, 0.31183702, -0.0011882539, 0.14754722, 0.024993556, 0.0168953, 0.067850605, -0.19463025, 0.034864627, 0.041240662, -0.03222681) * g_10; - result += mat4(-0.1426807, 0.15183157, 0.15200667, -0.14715526, -0.17436193, -0.2790302, 0.092628404, 0.17627066, 0.08689362, -0.12282142, -0.22965756, 0.0715357, -0.06378668, -0.038817883, 0.006680897, -0.16652597) * g_11; - result += mat4(-0.112664886, 0.16732118, -0.082690485, -0.36430246, 0.1043046, -0.20746218, -0.26694834, 0.118057035, -0.005464113, 0.16917925, -0.007820917, 0.0140616475, -0.074033186, -0.21199086, 0.03959589, -0.024746282) * g_12; - result += mat4(0.11506031, 0.23876894, -0.08834736, 0.21521813, -0.074349664, 0.13053001, -0.11863015, 0.0024896788, 0.031616643, -0.24681048, 0.1621546, 0.038487136, -0.001199782, 0.14914162, 0.013806334, 0.01951855) * g_13; - result += mat4(-0.008453833, 0.26529935, -0.11500479, -0.44277295, 0.043010518, -0.15156142, -0.17212024, -0.13284442, 0.14113069, 0.076676466, -0.120249875, -0.10003942, 0.36022985, 0.35055906, -0.021890117, 0.13908324) * g_14; - result += mat4(0.074958876, 0.18787664, 0.11494537, 0.3821255, 0.07704636, 0.175412, 0.024792312, 0.111158736, -0.060063202, -0.08937286, 0.21284722, 0.09321436, 0.050422233, -0.10608569, 0.13923599, 0.11934222) * g_15; - result += mat4(-0.07895042, -0.019823313, -0.042007383, -0.044339843, 0.050560612, -0.13500823, -0.1591223, 0.2070823, 0.3217226, 0.0050152694, -0.08454321, 0.15309334, 0.1487958, 0.23113962, -0.037693724, -0.011872479) * g_16; - result += mat4(-0.08302536, 0.12064725, 0.015102583, 0.019917564, -0.15781376, -0.03290087, -0.365194, -0.010774219, -0.15353476, 0.0021079888, 0.14096913, 0.015317738, -0.21820316, -0.18941125, -0.07205566, 0.16917731) * g_17; - result += vec4(-0.05091759, 0.03221878, 0.05122183, -0.009628421); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf4 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.21972683, 0.075138226, 0.10989088, 0.15510671, -0.1459443, -0.0016620584, 0.061098658, 0.31031737, 0.066652276, -0.028504146, -0.2547878, 0.05934589, -0.097173244, -0.02434052, 0.00775221, -0.1422285) * g_0; - result += mat4(0.107364714, -0.04124382, 0.15790261, -0.06481956, 0.17907274, -0.060845222, 0.12766309, -0.00051298866, -0.102316536, -0.15852973, -0.08159873, -0.044251855, 0.27320522, -0.058971684, 0.10957703, 0.11716146) * g_1; - result += mat4(-0.013670836, 0.24698958, -0.22751978, -0.0073335706, 0.056770742, -0.030483782, 0.02582211, 0.08631351, 0.037981253, -0.19984269, -0.0027441583, -0.0624548, -0.0073825894, 0.19920917, 0.025273615, 0.08608597) * g_2; - result += mat4(-0.0662924, -0.07036538, 0.18532504, -0.2299518, -0.17168434, 0.10680291, -0.32843417, 0.18283479, -0.014981234, -0.3074193, 0.25829783, 0.13314934, -0.29796004, -0.24784647, 0.107523575, -0.06354826) * g_3; - result += mat4(-0.27304897, 0.021216365, 0.19145995, -0.08837303, 0.002489904, -0.14517735, -0.11758484, 0.017706083, 0.11964576, 0.07262963, -0.02875841, 0.058490552, 0.36016595, -0.17619327, -0.14238013, -0.06569956) * g_4; - result += mat4(-0.17569791, 0.018018663, -0.06937724, -0.19693184, 0.005096431, 0.24887225, -0.26054552, -0.08146536, 0.31367835, 0.3301311, 0.32667178, 0.28089377, 0.1244409, -0.031515893, 0.036075663, 0.19611663) * g_5; - result += mat4(0.17254318, 0.2789707, -0.023289531, 0.0384691, 0.056068007, -0.21530272, -0.12280407, -0.27022615, 0.0869075, -0.005402115, 0.31068063, -0.28706273, -0.055334765, 0.08997763, 0.16977838, -0.050881755) * g_6; - result += mat4(0.038418837, -0.016408218, 0.08852962, -0.014304706, -0.12245269, 0.32564455, 0.008428901, -0.12942936, 0.014469481, 0.19589558, 0.05143627, 0.015018481, -0.18424125, 0.31541458, 0.15289177, -0.015950657) * g_7; - result += mat4(-0.24448341, -0.12913765, 0.14086853, 0.23801136, 0.053969346, -0.00888275, -0.16412334, 0.12726937, -0.16968949, 0.23890501, 0.00017258813, -0.009174681, 0.16712539, -0.24415763, 0.15660262, -0.065232545) * g_8; - result += mat4(-0.050856017, 0.202047, -0.18741634, -0.046839286, 0.10381434, -0.18508428, 0.2024435, -0.058891546, -0.06494971, -0.13396326, -0.0043475446, 0.080295786, -0.03888818, 0.20266065, -0.11657034, -0.044489022) * g_9; - result += mat4(-0.072022684, 0.03736022, -0.18028143, 0.084992565, 0.071270995, 0.17529677, 0.21173926, -0.04662527, -0.114107236, -0.0499027, -0.023457017, -0.14902714, -0.16848294, 0.29582912, -0.031783022, -0.21024497) * g_10; - result += mat4(0.12895544, 0.031505328, 0.07695562, 0.345239, -0.23573573, -0.35058022, 0.16588537, -0.37892917, -0.25666252, 0.04829329, 0.015923034, -0.06639003, -0.19299003, 0.19805184, 0.062723555, -0.16471659) * g_11; - result += mat4(-0.0048171217, -0.3616856, 0.10861591, -0.112293005, 0.22894251, 0.007305623, -0.15964155, -0.11533153, -0.04575267, -0.054644916, 0.102498904, -0.10909718, 0.06384877, 0.03547178, 0.036990482, 0.11729651) * g_12; - result += mat4(0.12198726, 0.049392004, 0.030775595, -0.0439167, 0.05127687, 0.006836142, 0.25043175, 0.41561976, 0.18109778, 0.036204416, -0.18115522, -0.11104906, -0.13888827, -0.030574424, -0.15439117, -0.023217283) * g_13; - result += mat4(0.037748005, 0.115257904, 0.0013052573, -0.08927453, 0.15113032, 0.0036705493, -0.036586095, 0.082375705, -0.14908089, 0.19808415, 0.10144146, -0.13911691, 0.18034998, -0.09426868, -0.28695896, -0.07120951) * g_14; - result += mat4(-0.15097517, -0.23736724, -0.011011207, 0.15136749, -0.1099934, -0.054979928, 0.19652224, 0.18154691, -0.104135856, 0.14703101, 0.10374482, -0.14010042, -0.08321475, -0.15499261, 0.12135948, -0.09310376) * g_15; - result += mat4(0.1298599, 0.09743068, -0.13728131, 0.15002461, 0.16739184, 0.1680788, -0.13828343, -0.0080054095, 0.10013758, -0.123607814, 0.045337323, -0.09940934, -0.13998291, -0.012435486, -0.2050455, 0.40441212) * g_16; - result += mat4(-0.4145493, -0.041918173, -0.029234748, -0.04663795, 0.068999134, -0.13911937, -0.10113266, -0.004217848, 0.049335115, 0.26279005, -0.1096574, -0.009956439, -0.18413721, 0.25698513, 0.03403163, 0.050992493) * g_17; - result += vec4(-0.03271656, -0.03322799, 0.033719946, -0.039838646); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 -//!HOOK MAIN -//!BIND conv2d_3_tf -//!BIND conv2d_3_tf1 -//!BIND conv2d_3_tf2 -//!BIND conv2d_3_tf3 -//!BIND conv2d_3_tf4 -//!BIND conv2d_3_tf5 -//!BIND conv2d_5_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!SAVE conv2d_6_tf5 -//!WIDTH conv2d_3_tf.w -//!HEIGHT conv2d_3_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.3184051, -0.13755248, -0.23732315, -0.023162326, 0.01720298, -0.13192378, 0.016757166, -0.11769522, -0.09113053, 0.045006696, 0.11998161, 0.22151577, -0.09237514, 0.25612727, 0.031724155, 0.03275836) * g_0; - result += mat4(0.16658157, 0.09904747, 0.12178111, -0.21332578, -0.084959686, 0.25737628, -0.07269974, -0.0044502337, -0.16059934, 0.14796074, -0.2408073, -0.283023, -0.02290089, -0.12150798, 0.122527674, 0.33295074) * g_1; - result += mat4(-0.13768205, -0.032166574, 0.10757663, -0.19916943, 0.22137393, 0.097398534, -0.028636161, 0.057976738, 0.021234423, 0.16993561, -0.006663144, 0.056026485, -0.17463136, 0.011491455, -0.34180948, -0.052859932) * g_2; - result += mat4(0.2173205, -0.025248244, -0.24675395, -0.23414998, -0.062658116, 0.18439959, -0.050601244, -0.11459134, -0.22184677, -0.18934494, 0.20033342, -0.028426873, -0.12788561, 0.09256763, 0.04540186, -0.041159313) * g_3; - result += mat4(-0.0993446, -0.04936769, -0.092339985, -0.36057615, -0.07563136, 0.16411334, 0.18075173, 0.06588899, 0.020508798, 0.06469463, 0.070499524, -0.032993205, 0.02209328, -0.03959476, 0.2591428, -0.31618914) * g_4; - result += mat4(0.18500368, -0.27579078, 0.15843801, -0.19448781, 0.066866614, 0.00010545493, 0.15846692, 0.15597339, 0.2097692, 0.047041208, -0.16916004, -0.112265535, -0.31957072, -0.039543174, 0.27903298, 0.238342) * g_5; - result += mat4(-0.24176823, 0.004759584, 0.30377442, -0.28161818, -0.01639163, 0.28049424, 0.15209472, -0.13002338, -0.034997053, 0.14607708, -0.16109394, -0.3709857, 0.06600745, -0.06402065, 0.09106263, -0.08173308) * g_6; - result += mat4(0.00085082283, -0.1385803, -0.096698835, -0.018731076, -0.13685198, -0.066617444, -0.021327814, 0.047615487, -0.0067158537, -0.305055, -0.030938676, 0.103631414, -0.10505161, 0.1377772, -0.21578938, -0.08955101) * g_7; - result += mat4(-0.012543417, 0.14635363, -0.34157932, 0.13002996, -0.08412303, -0.035678063, -0.018591393, -0.07879708, 0.052513346, -0.2033995, -0.2095011, 0.09329585, -0.10069142, 0.06845934, 0.34163034, 0.08352417) * g_8; - result += mat4(-0.22950074, -0.028784348, 0.19254303, -0.08938541, 0.15025762, -0.28843135, 0.032744445, 0.31275362, 0.013827366, -0.0037322342, -0.20390843, 0.18030973, 0.014234129, 0.12213843, -0.021821825, 0.04274312) * g_9; - result += mat4(0.14702202, 0.14780809, -0.050316352, 0.008637546, -0.018341271, -0.18107755, -0.034195397, -0.016785527, 0.01823875, -0.04468439, 0.11064914, -0.05889276, -0.052540354, 0.072073415, -0.2706125, 0.21487243) * g_10; - result += mat4(0.5024447, 0.058864042, -0.257565, 0.1780413, -0.065261215, 0.03483217, 0.46696317, -0.055783324, 0.13675097, -0.0388672, 0.22358736, -0.019960344, 0.11402829, 0.040916674, 0.042867694, -0.19926277) * g_11; - result += mat4(0.00014269089, 0.03286679, -0.024311759, -0.10549739, -0.21425818, 0.06221074, 0.040516183, -0.107838914, 0.14727353, 0.17660016, -0.20832092, -0.23476245, -0.09223368, 0.09435899, -0.06876976, -0.032683436) * g_12; - result += mat4(-0.061027218, 0.0023568163, 0.03251149, 0.120799825, 0.18775438, -0.022180539, -0.23275055, -0.10154802, -0.078680724, -0.23514764, 0.15737699, 0.1601879, 0.124354616, 0.038517214, 0.14103456, 0.0208124) * g_13; - result += mat4(0.22970279, 0.021356303, -0.11624362, -0.20197557, -0.12733872, 0.20742093, 0.35425633, -0.1574453, 0.045965664, -0.23022245, 0.16394545, -0.15241143, 0.24514204, 0.22437558, 0.113987625, -0.0011856258) * g_14; - result += mat4(-0.35714933, -0.31235123, 0.12664467, 0.15167892, 0.16453564, -0.010062876, -0.0831791, 0.19339912, -0.1188241, -0.056378998, -0.22127298, -0.15548877, -0.24432793, -0.034023006, 0.041227486, -0.2873007) * g_15; - result += mat4(-0.032629743, -0.27882102, 0.1215572, -0.017597208, 0.116811305, 0.14217746, 0.015951436, -0.5205457, -0.038023748, -0.14943328, -0.15468231, 0.074514836, 0.16636418, -0.062607236, -0.032341167, -0.11533553) * g_16; - result += mat4(-0.08205011, 0.16940303, 0.18777788, 0.16565365, 0.1837101, 0.18085457, 0.018884834, 0.3717715, 0.083659224, 0.25785285, -0.21427527, -0.057258263, 0.07784925, 0.29109064, 0.23607136, 0.21052702) * g_17; - result += vec4(-0.04224999, -0.02424048, 0.054364916, -0.013123425); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!SAVE conv2d_8_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.017245982, -0.10205182, 0.06592613, 0.10119294, 0.16497745, -0.09849219, -0.25274593, 0.008262675, -0.08324075, 0.0012232156, 0.13190362, -0.06990613, -0.10311924, 0.084054045, 0.18017255, 0.0015689692) * go_0(-1.0, -1.0); - result += mat4(-0.086738944, 0.05683929, 0.02077085, -0.08947913, -0.14034756, -0.20852928, -0.013736887, 0.2779769, 0.3373044, -0.13216746, -0.016907953, -0.12594625, -0.10783071, 0.03808162, 0.24408895, 0.20189719) * go_0(-1.0, 0.0); - result += mat4(0.011089735, 0.051879622, -0.009382909, -0.061490677, -0.15404041, 0.10668794, -0.12992448, 0.023808947, 0.04725236, -0.007854223, 0.018729774, 0.0069361436, -0.13436957, -0.104874924, 0.12281142, -0.037680827) * go_0(-1.0, 1.0); - result += mat4(0.10235808, 0.009209343, -0.07005798, 0.10155561, -0.12590079, -0.13827644, 0.19028322, 0.07556906, -0.002828972, -0.120726846, 0.0629339, 0.052100886, -0.17681666, -0.023424415, 0.13374582, 0.09863593) * go_0(0.0, -1.0); - result += mat4(-0.039348856, -0.3029951, 0.04409393, 0.14203669, 0.0696304, 0.12359778, 0.042248026, 0.0104241725, 0.13959405, -0.10698982, -0.057147264, 0.12518157, 0.19059546, 0.41067636, -0.1983108, 0.18840271) * go_0(0.0, 0.0); - result += mat4(-0.15870674, -0.0701884, 0.08489569, -0.02654819, 0.0033299036, -0.060902737, -0.04983705, -0.35470948, -0.084136516, -0.14726189, -0.072878584, 0.07187844, 0.20252506, 0.009699822, -0.073386565, 0.106467165) * go_0(0.0, 1.0); - result += mat4(0.2179163, 0.19806448, -0.15892337, -0.07720002, 0.05189642, 0.09778843, 0.019355027, 0.001972146, -0.13311687, 0.11688048, 0.21982704, -0.020337472, 0.14858794, 0.051447146, -0.2608639, -0.07317878) * go_0(1.0, -1.0); - result += mat4(0.22658373, 0.4676125, 0.12164402, 0.1053381, -0.077884555, -0.2299649, -0.077929124, -0.023255048, 0.086657956, 0.16235548, 0.11172628, -0.1735993, 0.08308437, 0.07557913, -0.12573138, 0.027871478) * go_0(1.0, 0.0); - result += mat4(0.052426986, 0.042996544, -0.0065641096, -0.13619404, 0.0937742, -0.06937073, 0.025181042, -0.009622155, 0.06362213, 0.122430645, 0.16642696, 0.0073900563, 0.028088724, -0.15745147, -0.04368355, -0.219305) * go_0(1.0, 1.0); - result += mat4(-0.06745488, 0.065858796, 0.12368586, 0.0427822, -0.06909228, 0.08118366, 0.1765519, 0.10772472, -0.06532271, -0.045426063, 0.016137455, 0.020064423, 0.014287055, -0.054321405, 0.042286996, 0.10099062) * go_1(-1.0, -1.0); - result += mat4(-0.057029862, 0.0362498, -0.037312467, -0.14639975, 0.034470584, -0.009491449, -0.10235259, -0.16240342, -0.18365304, 0.03781435, 0.06301943, 0.060023054, -0.09714585, 0.031318884, 0.06972318, 0.018246962) * go_1(-1.0, 0.0); - result += mat4(0.13726738, -0.16109414, 0.07628339, 0.12009387, 0.039631862, -0.09495948, 0.00029953572, 0.08877397, -0.044539213, -0.034805167, 0.0068849795, -0.04260509, -0.06018224, -0.05168526, -0.023669146, -0.30695686) * go_1(-1.0, 1.0); - result += mat4(-0.120535225, -0.0070700655, 0.16954692, 0.07605776, -0.05912706, 0.003126789, 0.041797232, -0.06152968, 0.117091924, 0.1430996, 0.03245857, 0.05414445, -0.03527794, 0.00017621276, 0.09934673, 0.014325701) * go_1(0.0, -1.0); - result += mat4(-0.07887054, -0.08962667, 0.026777597, -0.10685796, -0.09769213, -0.040339533, -0.05416594, -0.07396728, 0.1480623, 0.1829144, 0.13414545, 0.077383295, 0.2445133, -0.08650768, -0.21591617, 0.019430999) * go_1(0.0, 0.0); - result += mat4(0.11418274, 0.0809287, -0.048047103, 0.26749784, 0.026034137, -0.035213873, -0.049213536, 0.010558167, 0.040018234, 0.0735889, -0.06628688, -0.03411808, -0.035016537, -0.09873343, -0.18022732, -0.22504263) * go_1(0.0, 1.0); - result += mat4(-0.007387419, 0.078416035, -0.0059123817, -0.059462387, 0.16282924, 0.028098159, -0.03884464, 0.08384578, -0.03217295, -0.11172753, -0.041089218, -0.08262653, -0.12797798, -0.09257405, -0.0060008634, 0.054310728) * go_1(1.0, -1.0); - result += mat4(-0.107547924, -0.136527, 0.11917758, -0.08163186, 0.16521084, 0.20436095, 0.13264002, -0.038182408, -0.049320918, 0.01033383, -0.057830308, -0.026969533, 0.047547635, -0.2403957, -0.19596279, -0.12783392) * go_1(1.0, 0.0); - result += mat4(-0.09732307, -0.0189351, -0.16634326, 0.17837308, -0.028240273, 0.132171, 0.025601666, 0.080066584, 0.09691263, 0.010431896, 0.05836809, -0.12634112, 0.15672882, -0.1375993, 0.06891336, 0.09314768) * go_1(1.0, 1.0); - result += mat4(-0.1063821, -0.037122764, 0.08435907, 0.07673827, -0.21610612, 0.1227755, 0.030571682, 0.2720798, -0.09842632, 0.029424794, -0.031963848, -0.027386528, -0.29708394, -0.051083524, -0.006008752, -0.34883302) * go_2(-1.0, -1.0); - result += mat4(-0.09593852, 0.005276368, 0.067957945, 0.0027987815, -0.066867955, -0.010717861, 0.042687785, 0.10830141, 0.09585637, -0.018631198, 0.10223601, -0.025948746, -0.19886921, 0.09382708, 0.05066887, -0.054366365) * go_2(-1.0, 0.0); - result += mat4(-0.0833738, 0.039265625, 0.129632, -0.028127648, -0.024209471, 0.051543966, -0.0767235, -0.1821821, 0.11022975, -0.067617096, -0.04115153, 0.019660803, -0.06796924, -0.009942689, 0.04878736, -0.14860383) * go_2(-1.0, 1.0); - result += mat4(-0.18358909, -0.017043322, -0.016188553, 0.09052155, 0.19360738, 0.10710942, -0.0044090515, -0.05904112, -0.083967276, 0.14215608, 0.063859425, -0.008474255, -0.12804742, 0.25150838, 0.038639195, 0.20586789) * go_2(0.0, -1.0); - result += mat4(-0.099301375, -0.048908107, -0.17589024, -0.025980422, 0.023207828, -0.002401527, -0.2398759, 0.11362655, 0.18235138, 0.267622, -0.22997108, -0.07030057, -0.28071132, 0.306005, -0.08022259, 0.060407158) * go_2(0.0, 0.0); - result += mat4(-0.06965637, -0.2937255, -0.10762846, -0.49147597, -0.014420681, -0.10146582, 0.025570659, -0.21252447, 0.08464411, 0.18697253, -0.1025335, -0.10293646, -0.07276314, -0.03569437, 0.30038935, -0.0024725774) * go_2(0.0, 1.0); - result += mat4(0.06364948, -0.014395104, 0.0605291, 0.10106749, 0.090445906, -0.051150694, -0.12005607, -0.01985712, -0.06967436, 0.1545472, -0.08905129, 0.15250902, 0.09013615, 0.248247, -0.35433382, 0.018879067) * go_2(1.0, -1.0); - result += mat4(0.2215353, -0.08770339, -0.07041561, -0.13033846, -0.019137396, -0.27794796, -0.072156884, -0.122439586, -0.04561034, 0.20950459, -0.29372254, -0.26654056, 0.07440635, -0.015196107, -0.5248822, 0.08875214) * go_2(1.0, 0.0); - result += mat4(0.17983232, 0.090477616, 0.094162986, -0.08806475, 0.005367457, -0.0132736135, 0.01606031, 0.05123799, 0.11693163, 0.053036988, -0.021136556, -0.05958482, 0.012477222, 0.32991868, -0.0811718, 0.06638447) * go_2(1.0, 1.0); - result += mat4(0.11219015, -0.09929138, -0.1525805, -0.12684448, 0.067464076, -0.03947617, -0.101565175, 0.06832013, 0.058220826, 0.0012256311, -0.024047976, -0.01354069, -0.09702756, -0.046101037, -0.01889354, 0.11200347) * go_3(-1.0, -1.0); - result += mat4(-0.057377364, 0.044251055, -0.021257406, 0.05768678, 0.0648225, 0.13525979, -0.0029373185, 0.13319606, -0.14027396, -0.096002735, 0.09139668, 0.23646317, 0.0293897, -0.13363723, 0.016895983, 0.058510184) * go_3(-1.0, 0.0); - result += mat4(-0.002693573, -0.13944106, 0.002239104, -0.21911725, -0.032995626, 0.075961664, 0.11178981, -0.0015659783, -0.11075517, 0.00930531, -0.04727037, 0.021806953, 0.004676998, 0.07955546, -0.029060522, 0.18123037) * go_3(-1.0, 1.0); - result += mat4(-0.086647436, -0.130716, 0.20161074, -0.08644982, 0.0792844, -0.018883388, -0.075795844, 0.10265765, 0.1811673, 0.1480598, -0.055835947, -0.022307266, -0.14606982, -0.0522134, 0.0076986584, 0.015665498) * go_3(0.0, -1.0); - result += mat4(0.0057296897, 0.16327685, -0.21133316, 0.11627887, 0.014946105, -0.10489582, -0.06623814, -0.06350826, 0.13182184, 0.12519948, 0.05139343, -0.02916212, -0.21002972, 0.017330766, -0.13252927, 0.050922133) * go_3(0.0, 0.0); - result += mat4(-0.04871255, -0.012975798, -0.11613283, -0.08855554, -0.032249227, 0.041257735, -0.16926566, -0.08250032, -0.08623899, 0.051378645, -0.035023782, -0.06256876, 0.11318346, -0.00012973868, -0.11205067, 0.13570346) * go_3(0.0, 1.0); - result += mat4(-0.105051674, -0.03766071, -0.015085921, 0.00305451, 0.0139633585, 0.014744175, -0.18820298, 0.09955764, -0.12837513, -0.07531542, 0.04601651, -0.029123126, 0.022442687, 0.13972595, -0.031776607, -0.052655537) * go_3(1.0, -1.0); - result += mat4(0.10682988, -0.106846526, 0.013064614, 0.12246749, 0.08142642, -0.094309695, -0.058649402, 0.0031743639, 0.08193218, -0.02287295, -0.16673462, 0.07789598, 0.07504035, 0.086432226, -0.059183855, -0.056013927) * go_3(1.0, 0.0); - result += mat4(-0.010878195, -0.11379422, -0.043786187, -0.13089088, -0.08522914, -0.020528818, -0.010563557, -0.044002954, 0.035698216, 0.001955673, 0.10179879, -0.0014214314, 0.007915656, -0.064626254, -0.04294849, -0.008088115) * go_3(1.0, 1.0); - result += mat4(-0.15029684, 0.060637783, 0.29926464, -0.007052848, 0.02827067, -0.0088146385, -0.052661847, -0.02205749, 0.027865848, -0.01038015, -0.12030614, 0.02273277, -0.18796863, 0.013519721, 0.06671391, -0.05697902) * go_4(-1.0, -1.0); - result += mat4(-0.20264873, 0.22058693, 0.43826097, -0.015237768, 0.032960944, 0.003309377, 0.10062095, -0.012863805, 0.030783176, -0.08200156, -0.039331485, 0.051835436, 0.19984727, -0.039266717, -0.17781837, -0.14248152) * go_4(-1.0, 0.0); - result += mat4(0.093978226, 0.011119174, 0.1061507, 0.04869649, -0.02820912, -0.02570852, -0.036345243, -0.030146461, 0.031859435, 0.018717006, -0.08010048, 0.0091279335, 0.004021007, 0.0063101063, 0.117809206, 0.07310967) * go_4(-1.0, 1.0); - result += mat4(-0.07775973, 0.12602952, 0.23379913, 0.15826301, -0.059838798, 0.0007843091, -0.0913573, -0.03798942, -0.13421534, -0.204582, -0.037016068, 0.08723744, -0.13195333, -0.03467855, 0.10278616, -0.011215369) * go_4(0.0, -1.0); - result += mat4(0.069957554, 0.081326, 0.0687901, 0.22582065, 0.101900525, -0.15870668, -0.0866743, 0.08454413, -0.09145879, 0.047340065, 0.11407844, 0.05103302, -0.09618353, 0.1580393, -0.021783678, -0.1947357) * go_4(0.0, 0.0); - result += mat4(0.011162823, -0.17127505, -0.23388927, -0.1544722, -0.026168894, 0.034256976, -0.027069887, -0.0070482744, 0.07260682, -0.0052216426, -0.07489467, 0.09012186, 0.22308883, 0.01749106, 0.042926382, 0.029785568) * go_4(0.0, 1.0); - result += mat4(0.015555597, -0.07857198, -0.12415407, 0.18139744, 0.04146236, -0.035874225, 0.028046906, 0.100426674, 0.018644337, 0.22935158, 0.15857206, -0.19486287, -0.1677264, 0.032254037, 0.15205738, -0.11749586) * go_4(1.0, -1.0); - result += mat4(-0.1303965, 0.015590829, -0.14921655, 0.07449558, -0.027212782, -0.032357175, -0.17829119, 0.06439825, 0.22947344, 0.26642513, 0.11972044, 0.059891608, -0.29125953, -0.028353378, 0.12136306, 0.15963335) * go_4(1.0, 0.0); - result += mat4(0.15112482, 0.08952805, -0.04212809, -0.04549198, -0.03481351, 0.048324164, 0.13253081, 0.08421476, -0.027360281, 0.041903887, -0.075338595, 0.07666827, -0.048728418, -0.06499062, 0.04338423, 0.032147698) * go_4(1.0, 1.0); - result += mat4(0.058887824, 0.07778715, -0.045073804, 0.011780557, -0.033801872, -0.07547611, -0.05476811, 0.09507769, -0.12553574, -0.042107146, 0.04695164, 0.017746076, 0.13864599, -0.050091684, -0.14447159, -0.08917469) * go_5(-1.0, -1.0); - result += mat4(-0.18243507, -0.14782558, 0.260054, 0.042238675, 0.07606748, 0.060196955, 0.04794181, -0.1946959, 0.0869163, 0.12090887, -0.10886212, 0.1414272, 0.14358684, -0.040078808, 0.083214276, 0.08483279) * go_5(-1.0, 0.0); - result += mat4(-0.04397986, -0.062930815, 0.07331044, 0.13039033, 0.09692625, -0.15316631, 0.16941437, 0.064028315, 0.14605011, 0.023272032, -0.022688555, 0.028461212, 0.040201195, -0.071363926, -0.017676292, 0.028348247) * go_5(-1.0, 1.0); - result += mat4(0.087781355, 0.05187866, 0.0940777, -0.18600285, 0.17623809, 0.074097976, -0.019378444, -0.0034571593, -0.08056692, -0.073923014, 0.20213082, 0.0726364, 0.13580574, -0.043443684, 0.069961116, 0.051125742) * go_5(0.0, -1.0); - result += mat4(-0.050924864, 0.21507788, 0.14330234, -0.08247252, -0.2728361, -0.23545425, -0.15436237, -0.13535537, -0.061899453, -0.19918258, -0.2585995, 0.012241068, 0.08689229, -0.09280902, -0.13026375, 0.1064315) * go_5(0.0, 0.0); - result += mat4(-0.07371564, 0.14122753, 0.1949825, 0.1524377, -0.122869365, 0.107369035, 0.014713882, 0.096095756, -0.02859108, 0.08568842, 0.123431474, 0.21742304, 0.020948796, -0.004655902, -0.18085332, -0.11183853) * go_5(0.0, 1.0); - result += mat4(0.054337885, -0.076172344, -0.02629655, -0.06944734, 0.15252593, 0.009500494, -0.25464016, -0.03494791, -0.006746579, 0.031879753, 0.11213761, 0.045518827, -0.09891111, -0.12913223, -0.0033209904, 0.066501915) * go_5(1.0, -1.0); - result += mat4(-0.07280475, 0.040424235, -0.024204433, -0.04176046, 0.105632, 0.15674141, 0.17077228, -0.01953309, -0.14864175, -0.0689075, -0.10428251, -0.032287225, -0.04775922, 0.089978755, 0.01763968, -0.10860219) * go_5(1.0, 0.0); - result += mat4(-0.039242428, 0.07174806, -0.23879573, -0.13515966, 0.0754838, 0.13147514, -0.0074810525, 0.07645021, -0.06193158, -0.083100386, 0.024893753, -0.057513595, 0.16797991, -0.039490376, -0.084132925, -0.048575893) * go_5(1.0, 1.0); - result += mat4(-0.052777596, 0.024444943, 0.21568191, -0.102683686, -0.16802232, 0.15138745, 0.03853586, 0.05203062, -0.06719961, -0.037389573, 0.011536928, 0.08349778, -0.33632314, -0.081108384, 0.4417886, 0.13477933) * go_6(-1.0, -1.0); - result += mat4(0.01373485, -0.11203034, 0.19779079, -0.08773285, -0.08533576, 0.075271316, -0.088026725, -0.07409357, -0.08100805, 0.057632018, -0.16284414, -0.06444499, 0.009572425, 0.1174776, 0.10302009, 0.1211951) * go_6(-1.0, 0.0); - result += mat4(-0.03761997, -0.003349971, 0.02041207, 0.0010841731, -0.038151734, -0.09727598, 0.11449757, 0.095479354, -0.035939824, 0.039719943, -0.011112067, -0.06205215, 0.24213329, 0.054236263, -0.09503797, 0.00023313743) * go_6(-1.0, 1.0); - result += mat4(-0.13187398, -0.09054714, 0.10808027, -0.055575542, -0.1533299, -0.22848558, -0.014494685, 0.059117734, 0.06977451, 0.16421948, -0.115678005, 0.00311709, 0.11054417, 0.17392628, 0.1946382, 0.10684235) * go_6(0.0, -1.0); - result += mat4(-0.06880819, -0.0076114223, -0.13806044, -0.14489281, -0.17702803, -0.08259098, 0.114658654, -0.16751432, 0.12731177, 0.34103456, -0.10029679, -0.064408354, -0.030143933, -0.24500176, -0.024842618, -0.43650916) * go_6(0.0, 0.0); - result += mat4(-0.20742895, 0.00029076883, -0.029373998, -0.1976022, -0.041304972, -0.05941005, 0.05199635, 0.1257356, 0.11870329, 0.029613, 0.021134172, 0.020612856, -0.06537667, -0.02532794, -0.07035173, 0.12409319) * go_6(0.0, 1.0); - result += mat4(0.067771055, -0.0345983, 0.09186677, -0.005295504, 0.09956795, -0.17157736, -0.07697514, 0.012468826, 0.017248223, -0.14458816, -0.071830764, 0.07367817, -0.05593959, 0.051516414, -0.08504839, 0.11843458) * go_6(1.0, -1.0); - result += mat4(0.15088317, 0.03333129, -0.20923695, -0.094460204, 0.04697295, 0.0062440387, -0.039073814, -0.09161647, 0.1755622, -0.30983236, -0.08556014, 0.11492072, 0.104413815, 0.0842214, -0.037310757, -0.18297379) * go_6(1.0, 0.0); - result += mat4(0.04779489, 0.018257288, -0.03666126, 0.054610558, -0.011483578, -0.0039002697, -0.18385088, -0.04390974, 0.012142661, -0.10964579, -0.20928559, 0.13421749, -0.04627568, 0.09576614, -0.008722472, 0.13796598) * go_6(1.0, 1.0); - result += mat4(-0.06591881, 0.0076197684, 0.12158399, -0.097497284, -0.23452066, -0.018180897, 0.025338816, -0.17545624, -0.29609966, -0.010837948, -0.15768765, 0.07977878, -0.06623404, 0.064965844, 0.017700914, -0.061997857) * go_7(-1.0, -1.0); - result += mat4(0.1110069, -0.08538926, 0.07894421, 0.08410366, -0.1869946, -0.07017986, 0.028143888, 0.19489996, 0.1259548, 0.28679106, -0.21613047, -0.25111556, -0.095854074, 0.001595896, 0.11793541, -0.099937364) * go_7(-1.0, 0.0); - result += mat4(0.1827612, 0.06100855, -0.047383696, -0.17543076, -0.14235456, 0.0061068106, 0.3388487, -0.063835256, 0.18721531, 0.03568243, -0.4536336, -0.15623139, -0.16966285, 0.15209529, -0.0066732443, 0.021199852) * go_7(-1.0, 1.0); - result += mat4(0.035830673, -0.07905678, -0.041658383, 0.063586906, -0.18796878, 0.004237473, 0.17260559, 0.116263784, 0.30349797, 0.3485403, 0.2872647, -0.024386367, -0.036046654, 0.055318277, -0.10552266, -0.024163853) * go_7(0.0, -1.0); - result += mat4(-0.31444365, -0.10924027, 0.24543238, -0.34045509, 0.33606547, 0.35103965, -0.19982044, -0.16294536, 0.20070334, 0.33381364, 0.17881233, 0.012798481, -0.043514375, 0.0887946, -0.053430077, 0.055176634) * go_7(0.0, 0.0); - result += mat4(0.13308845, -0.18857919, 0.08875917, -0.17240469, -0.18770295, 0.010432233, 0.035033606, -0.22681937, 0.26933533, 0.14998513, 0.2805022, -0.05768719, -0.08279986, 0.0064573316, -0.117615044, -0.45671257) * go_7(0.0, 1.0); - result += mat4(-0.14296085, 0.10913425, 0.24965948, 0.009046303, -0.245076, -0.041025996, 0.059917103, 0.04249123, -0.17960623, 0.09529717, 0.07669131, -0.0058281897, 0.1177263, 0.041879166, 0.08226649, -0.025740432) * go_7(1.0, -1.0); - result += mat4(-0.10495348, -0.11917369, 0.015893627, -0.2228629, -0.2752539, -0.1835585, 0.17213026, -0.11332011, 0.026201153, 0.13388038, 0.24420477, 0.11447363, 0.21471767, 0.17166413, -0.035203807, 0.032872755) * go_7(1.0, 0.0); - result += mat4(-0.10346143, 0.035121717, -0.08986186, -0.184111, -0.04559495, -0.14072795, 0.015853742, 0.03767284, -0.038637567, 0.14072952, 0.15237094, -0.09559783, 0.1335625, -0.0073889513, 0.1717666, 0.0090308655) * go_7(1.0, 1.0); - result += mat4(0.096459456, -0.0474162, 0.0060114395, -0.052968822, -0.05496484, -0.00087164645, 0.094492346, -0.0019693135, 0.023624701, 0.072964646, -0.083129205, 0.26523897, -0.07437864, -0.050710786, -0.06599285, 0.09146691) * go_8(-1.0, -1.0); - result += mat4(0.097554885, -0.052623536, 0.036636185, 0.06635031, 0.1315929, -0.112703465, 0.07648501, 0.11837153, 0.07858523, 0.18714102, -0.11343488, 0.07150988, -0.04412874, -0.018561713, -0.12344369, 0.20441462) * go_8(-1.0, 0.0); - result += mat4(0.042273086, 0.008561595, 0.010489875, 0.08540178, 0.00014577126, -0.056047264, 0.14019163, 0.044617724, -0.007206251, 0.022495534, 0.14835946, -0.08718995, -0.13267758, -0.10678817, 0.20301633, 0.12475036) * go_8(-1.0, 1.0); - result += mat4(0.08486742, 0.017144045, -0.008667514, 0.010306243, -0.17507908, -0.018475998, -0.033005018, 0.05340659, 0.012580127, 0.09524383, -0.13012315, 0.14825384, -0.061180867, 0.1087231, 0.056302182, -0.062199228) * go_8(0.0, -1.0); - result += mat4(0.14364035, -0.094965935, -0.13912293, 0.04337174, -0.15593785, -0.032328963, 0.12531888, 0.15084712, 0.03535679, 0.056784865, -0.21915141, -0.20778814, 0.12775493, -0.09705356, 0.021123385, 0.07069102) * go_8(0.0, 0.0); - result += mat4(-0.034100723, 0.050680146, 0.051500566, -0.045044094, -0.07793916, 0.004949624, 0.03474995, 0.05198082, 0.17187333, -0.13397571, 0.08167277, -0.1837387, 0.020166704, -0.021294702, -0.13651185, -0.0504545) * go_8(0.0, 1.0); - result += mat4(-0.13135555, -0.03613829, 0.048920892, 0.009269026, 0.048384093, -0.07602838, 0.045073777, -0.01749288, -0.071261175, -0.107101366, -0.09252168, 0.0919695, 0.061589587, -0.0019050876, 0.21261542, 0.10825693) * go_8(1.0, -1.0); - result += mat4(0.10798724, 0.060792945, 0.0327558, -0.02553919, 0.14311704, 0.10690927, 0.032604862, 0.032016207, -0.24254093, -0.39715725, -0.5095798, -0.15233834, 0.033676617, -0.087679766, -0.11150812, -0.12255275) * go_8(1.0, 0.0); - result += mat4(-0.006972272, 0.19587488, 0.063339494, -0.033232547, 0.07241594, -0.034235775, -0.09229799, -0.11959815, 0.07213152, -0.117301576, -0.06927173, 0.10017053, 0.051558405, -0.012138675, 0.044149205, -0.051165268) * go_8(1.0, 1.0); - result += mat4(0.16689911, -0.05290122, -0.090476304, -0.027543254, 0.15805009, 0.01485117, -0.27630076, 0.04914042, 0.14706355, -0.0043476336, -0.056836266, -0.15365787, 0.13169362, 0.09486763, -0.07032269, -0.17109036) * go_9(-1.0, -1.0); - result += mat4(-0.0879165, -0.02742011, -0.07260916, 0.23435885, -0.059534714, -0.13795383, -0.22126909, 0.029478507, -0.1850924, 0.034090247, 0.11516748, 0.083627865, -0.08308724, -0.026143529, 0.099359915, -0.17231114) * go_9(-1.0, 0.0); - result += mat4(-0.2324401, 0.14008519, -0.04853353, 0.14712176, -0.089445285, 0.051682536, 0.097105086, 0.3019751, -0.17683853, -0.066201136, 0.026223915, -0.25537798, 0.0717928, -0.024799295, -0.04242034, -0.17082538) * go_9(-1.0, 1.0); - result += mat4(0.13667317, 0.12493611, -0.045963623, -0.12381997, -0.02945609, 0.005977762, 0.08776535, -0.04474835, 0.008373442, -0.08647785, 0.061561592, -0.22876641, 0.22846603, -0.055262823, 0.045672905, 0.009190219) * go_9(0.0, -1.0); - result += mat4(-0.03230106, 0.11736059, -0.09767583, -0.0047885617, -0.276748, 0.29780698, 0.0834233, -0.0014491245, 0.03226799, 0.13920638, -0.0930102, 0.040527172, -0.27107877, -0.16784488, -0.0824801, -0.05269829) * go_9(0.0, 0.0); - result += mat4(0.068900175, -0.034981783, -0.037339307, 0.07443384, 0.14505357, 0.2794023, -0.03021764, 0.33296046, 0.09278462, -0.177695, -0.10216809, -0.108097516, 0.20264505, -0.18635245, -0.036741074, -0.05019796) * go_9(0.0, 1.0); - result += mat4(0.18423182, 0.04128268, -0.024842285, -0.10551282, 0.0129416, 0.0023859264, -0.04726879, -0.062202208, 0.050515536, 0.013095806, -0.08205111, -0.09578067, -0.012120951, -0.012479608, -0.26131198, 0.011845006) * go_9(1.0, -1.0); - result += mat4(0.3329799, 0.3382698, 0.34874886, 0.18110363, -0.09871112, 0.08837514, -0.100864924, 0.15809798, 0.003627495, -0.072377, -0.20515633, -0.044428673, 0.2253228, -0.0095191, -0.38272312, -0.1495562) * go_9(1.0, 0.0); - result += mat4(-0.05687047, 0.22390498, 0.15599313, 0.043056425, -0.076306194, -0.032395355, -0.16278756, -0.05358288, 0.03231372, -0.055404607, 0.030803613, 0.11444513, 0.07843779, 0.11786514, -0.21833785, 0.028968466) * go_9(1.0, 1.0); - result += mat4(0.18091258, -0.09398672, -0.10072262, 0.07764161, 0.008928652, 0.09788299, -0.0030410262, -0.16502286, 0.2069648, -0.009646885, -0.25890633, -0.26879573, 0.0014857659, 0.048887845, 0.1665308, -0.08568518) * go_10(-1.0, -1.0); - result += mat4(-0.061691873, -0.057298407, 0.016101327, 0.17865741, 0.00063088175, 0.07714979, -0.13940501, -0.028737228, 0.112828724, -0.046593618, -0.2586368, -0.070985176, 0.13769239, -0.023880849, 0.08157869, -0.21318875) * go_10(-1.0, 0.0); - result += mat4(0.064085506, -0.046282444, -0.13458945, 0.2041762, 0.0043097665, -0.07247434, 0.16153656, 0.20011272, -0.144374, 0.06421469, -0.13485141, -0.009582684, 0.021680132, -0.016744662, -0.08797212, -0.10993737) * go_10(-1.0, 1.0); - result += mat4(0.16567862, -0.24858345, -0.08879787, -0.097550206, 0.131603, 0.14494747, 0.24425544, 0.026280167, 0.11479758, 0.013529384, -0.22396456, -0.027191471, -0.1717294, 0.09261371, 0.10951079, -0.0029250293) * go_10(0.0, -1.0); - result += mat4(-0.113956705, -0.16183569, -0.20851867, 0.04033217, -0.028072925, -0.027780682, 0.046195503, -0.20342818, 0.25894436, -0.017997751, -0.12918301, 0.06894117, -0.14184147, 0.07687556, 0.01899574, -0.014360465) * go_10(0.0, 0.0); - result += mat4(0.13917083, 0.04136033, -0.04435757, 0.13339959, -0.05415639, 0.011240427, -0.0707635, -0.06411846, 0.16908634, 0.19344515, -0.14574051, 0.08029649, -0.13598117, 0.1415975, 0.05430245, 0.086329356) * go_10(0.0, 1.0); - result += mat4(0.061676953, -0.036003113, 0.029942466, 0.07344191, 0.06514425, -0.05945252, 0.06351276, -0.22019458, 0.13147828, -0.20903239, -0.04409228, 0.06474624, 0.087710835, -0.015660465, -0.06535584, 0.06592988) * go_10(1.0, -1.0); - result += mat4(0.06506807, 0.08762542, -0.119794264, 0.060040303, -0.09871854, 0.5173894, -0.27796084, -0.33232987, -0.066507466, -0.24968803, -0.07814351, 0.08942488, 0.16743363, 0.06090165, 0.07346348, 0.086595275) * go_10(1.0, 0.0); - result += mat4(0.033984214, -0.032870263, -0.31655756, 0.007356567, 0.02470258, 0.11793328, -0.31476265, -0.025818175, 0.0029440362, 0.06394163, -0.04686335, -0.14821026, -0.0027075368, 0.022262698, -0.05804598, 0.155014) * go_10(1.0, 1.0); - result += mat4(0.009120124, -0.015237681, -0.043807022, -0.0711953, -0.068079054, -0.012320572, 0.24782293, 0.011573899, -0.027630446, -0.18860838, 0.02258647, -0.15933286, -0.034498382, -0.0053321933, -0.077804044, -0.02024832) * go_11(-1.0, -1.0); - result += mat4(0.22132385, 0.0032678258, -0.087379746, 0.02143723, -0.06377271, 0.12867995, -0.08868175, 0.12999114, 0.09716703, 0.040064458, 0.0024366144, 0.035925932, -0.012723048, 0.016498951, -0.08901055, 0.12232371) * go_11(-1.0, 0.0); - result += mat4(0.18940546, 0.062207825, -0.024644906, 0.26894554, 0.07815154, 0.08829743, -0.09984981, 0.169054, 0.06281287, 0.0008038808, 0.0883176, 0.110463396, 0.022194333, -0.017194932, -0.0009859964, -0.09963663) * go_11(-1.0, 1.0); - result += mat4(-0.0111280205, -0.052679054, 0.018186182, -0.027703073, -0.42388725, -0.013980127, 0.30809978, 0.027799122, 0.11319747, -0.21859065, 0.30053356, -0.014290018, -0.19631311, -0.025383497, -0.33384043, 0.028559104) * go_11(0.0, -1.0); - result += mat4(-0.22090848, -0.080518164, 0.144986, -0.04482788, 0.00898153, -0.028940957, 0.016181607, -0.013890172, 0.08625784, -0.038779926, -0.113443434, 0.02619668, 0.10414516, 0.14818746, -0.07429264, 0.024776932) * go_11(0.0, 0.0); - result += mat4(-0.0136557305, 0.024230761, 0.10480373, 0.33615452, 0.03225623, 0.14910479, -0.10428884, -0.005287317, 0.007935544, -0.09688089, 0.20835406, 0.25757283, 0.0064705843, -0.11970887, 0.022400223, 0.12394955) * go_11(0.0, 1.0); - result += mat4(0.026420576, 0.032138087, 0.012947858, -0.017486788, -0.30034852, 0.004137726, 0.1611359, -0.08121221, 0.09796454, -0.16660161, -0.12038514, 0.060717944, 0.24686517, -0.021416627, 0.1359155, -0.15366033) * go_11(1.0, -1.0); - result += mat4(-0.136011, 0.15370867, 0.1370857, -0.086111896, 0.05216137, -0.2967703, -0.080168664, 0.108866595, 0.09038476, -0.004786737, -0.0075252303, 0.0980951, 0.19746727, -0.05201084, -0.08665835, -0.046598177) * go_11(1.0, 0.0); - result += mat4(-0.26190412, -0.058528874, -0.08053917, -0.038420703, -0.07296932, 0.0076829675, -0.20618197, 0.12044465, -0.18083239, -0.033412043, -0.18795253, 0.015577539, 0.08889259, -0.04781228, -0.020811897, 0.060611673) * go_11(1.0, 1.0); - result += vec4(0.06994048, -0.08824913, -0.08147323, -0.0070627527); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!SAVE conv2d_7_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07359838, 0.0048221336, -0.040639445, 0.04001678, 0.008494685, 0.21019708, 0.014807608, -0.016226511, -0.059752848, 0.18087773, -0.012534122, -0.15764502, 0.06615999, -0.03256825, -0.06795644, -0.021442905) * go_0(-1.0, -1.0); - result += mat4(0.016055334, 0.07622408, -0.0001455431, -0.03139598, 0.11203619, -0.2570563, 0.007617044, 0.007383613, -0.10321648, 0.22093083, -0.04935336, -0.07423733, 0.13671489, 0.094860844, -0.06145761, -0.017813066) * go_0(-1.0, 0.0); - result += mat4(-0.08716645, 0.073824115, 0.04826125, 0.028814131, -0.03465732, -0.01949549, 0.009090798, 0.06712222, -0.076673344, -0.020007538, 0.07667753, -0.16171028, 0.038919337, -0.0066915937, 0.0058095986, 0.028863987) * go_0(-1.0, 1.0); - result += mat4(0.11793172, 0.06426511, 0.006000197, -0.054425187, -0.12848, -0.0608748, -0.051094864, 0.14606045, -0.1104441, -0.1404711, -0.13719143, 0.13667974, -0.006159005, 0.066788755, -0.07132091, 0.05900349) * go_0(0.0, -1.0); - result += mat4(0.13618062, -0.37675983, -0.06494409, -0.05397071, 0.027210169, 0.136655, 0.15716416, 0.011330184, 0.07604587, 0.099743, 0.045980956, 0.28426284, 0.07673069, -0.03260436, 0.060630165, -0.14515847) * go_0(0.0, 0.0); - result += mat4(0.12219448, -0.13931584, -0.027208958, -0.10503128, 0.056236677, -0.085218616, 0.031394266, -0.15181276, 0.025313953, -0.035806634, -0.0006563579, -0.07554928, 0.03867624, 0.14335306, 0.044530675, -0.022005653) * go_0(0.0, 1.0); - result += mat4(0.024567323, 0.06553147, 0.006770668, 9.6952936e-05, -0.12672237, 0.032024473, -0.011734911, -0.062427487, 0.029894682, -0.03434335, 0.07066813, -0.030493205, -0.03221503, -0.12422384, 0.052873474, 0.025424806) * go_0(1.0, -1.0); - result += mat4(0.050093465, -0.04382771, 0.16808622, 0.08858046, -0.15310244, -0.092868656, 0.05562402, -0.20383194, -0.027970297, -0.032247365, 0.024333706, 0.027794037, 0.0029994757, -0.032618508, 0.052986816, -0.07051566) * go_0(1.0, 0.0); - result += mat4(0.057821784, 0.0094541, 0.0018741468, -0.048872117, -0.0642184, -0.006474573, 0.07707637, 0.0030539352, 0.04263746, 0.038348354, 0.09410285, -0.016066432, -0.019818943, 0.009179143, -0.022306597, -0.029912496) * go_0(1.0, 1.0); - result += mat4(0.032464687, -0.035430122, -0.0077309776, 0.07374506, 0.05479834, 0.17101361, -0.098411836, 0.051829364, -0.100434184, -0.008919208, 0.032440282, 0.07075372, -0.08462122, -0.104136884, 0.023972673, 0.045948982) * go_1(-1.0, -1.0); - result += mat4(-0.067156225, 0.16125347, 0.025350628, 0.009260789, -0.12541614, 0.08216785, 0.035199903, 0.049046412, -0.029106554, -0.090062775, 0.0839282, 0.061120965, 0.14554973, -0.024882669, 0.038602818, -0.052473858) * go_1(-1.0, 0.0); - result += mat4(-0.041149497, -0.077845365, -0.08205297, 0.020794228, 0.025494045, 0.060137924, 0.0015345984, -0.0048737884, -0.03211192, -0.13592142, 0.09767752, -0.041449215, 0.068079926, -0.027006129, -0.011767691, -0.12913242) * go_1(-1.0, 1.0); - result += mat4(-0.05188281, -0.020082932, 0.0132960575, -0.08461068, 0.09572519, 0.023254586, -0.04634391, -0.019451028, 0.16498654, 0.044624534, 0.05488934, -0.008432487, -0.026252363, 0.02546324, -0.02972001, -0.073274635) * go_1(0.0, -1.0); - result += mat4(0.018490778, 0.18419503, -0.122585855, 0.12492852, -0.20044741, -0.009827497, -0.13103181, 0.1326544, 0.027088722, 0.13293652, 0.09424846, 0.07251193, 0.15663116, 0.26125023, 0.049341436, -0.10515004) * go_1(0.0, 0.0); - result += mat4(-0.008699791, -0.024128422, 0.04278223, 0.105549075, 0.03693647, 0.016402304, -0.004863482, 0.120648175, -0.063555665, 0.07888774, -0.032707915, 0.05824444, 0.14191608, 0.053337123, -0.11951773, -0.37382764) * go_1(0.0, 1.0); - result += mat4(0.11177489, -0.02670921, 0.11555837, -0.12684737, 0.024419937, -0.015118827, -0.0008005782, -0.105853274, -0.08607303, 0.12075334, -0.056949444, -0.076853655, 0.091813155, 0.037071772, -0.10979848, 0.01065406) * go_1(1.0, -1.0); - result += mat4(-0.09047862, -0.06557529, 0.07049908, -0.067106545, -0.08394282, -0.13473952, 0.13339087, 0.039728016, -0.007499134, -0.050601263, -0.025493568, -0.030900288, -0.016312996, -0.002753297, -0.16618828, 0.022230327) * go_1(1.0, 0.0); - result += mat4(0.002934058, 0.062018517, -0.08976419, 0.18184888, -0.041077446, -0.06253426, 0.090875186, -0.006064439, -0.042194657, -0.0014801006, 0.039901752, -0.06946375, 0.06726237, -0.0140753025, -0.06257417, -0.013598103) * go_1(1.0, 1.0); - result += mat4(-0.023702847, -0.11185578, 0.0058615287, 0.051050022, 0.14678848, 0.07982418, 0.031147825, -0.13127226, -0.05952702, 0.06532979, 0.07037022, -0.0006409232, 0.12434904, -0.014640512, 0.075973995, -0.026218366) * go_2(-1.0, -1.0); - result += mat4(0.0012428019, 0.10104529, -0.033792414, -0.07105645, -0.098013006, 0.03291607, 0.014571974, -0.071180314, -0.00215348, -0.0510585, -0.03121516, -0.045336474, 0.00082364987, 0.108165845, 0.052797295, 0.09749827) * go_2(-1.0, 0.0); - result += mat4(0.021668797, 0.024712203, 0.06495889, 0.037722614, -0.017192805, 0.07733001, 0.002521372, -0.022759411, 0.0071119433, -0.17629139, 0.03508143, -0.0382747, -0.10094593, 0.10711114, 0.056075815, 0.09072527) * go_2(-1.0, 1.0); - result += mat4(0.0072180987, -0.03962597, -0.065127335, -0.04490152, 0.16375813, 0.024301983, 0.10283417, -0.031376716, -0.006127479, -0.11069621, 0.023043143, -0.03634904, 0.007939093, -0.013549114, 0.02821798, 0.093859464) * go_2(0.0, -1.0); - result += mat4(0.10754736, 0.05461116, -0.077621385, -0.0154484855, -0.13774016, 0.06022657, 0.07704005, -0.13989487, -0.13560918, 0.02476503, 0.06475649, 0.0600394, 0.17934905, 0.10330071, 0.04610976, 0.28083178) * go_2(0.0, 0.0); - result += mat4(0.18773933, 0.06801831, -0.02580286, -0.07299217, -0.05877647, -0.015686667, 0.038901277, -0.1159596, 0.05252277, -0.059356023, -0.07147861, -0.04657989, -0.033485, -0.06963524, -0.025741044, -0.10464134) * go_2(0.0, 1.0); - result += mat4(-0.09011337, -0.0065989024, 0.040761005, 0.042849183, 0.088430345, 0.0064418497, 0.13798401, -0.0455525, 0.0117114745, 0.007961572, 0.09180907, -0.06247613, 0.0070053353, -0.014894976, 0.14440143, 0.043360937) * go_2(1.0, -1.0); - result += mat4(-0.031137852, -0.0920778, -0.00515923, 0.019481698, -0.061445847, 0.028052, -0.014780124, -0.03731724, -0.12892641, 0.06831638, 0.10818646, -0.004656641, -0.0049811844, -0.09475938, 0.15264943, 0.014475395) * go_2(1.0, 0.0); - result += mat4(-0.0018481857, 0.038514007, -0.034495566, 0.15485272, 0.012409896, 0.04363172, 0.09414112, 0.052210223, 0.13726512, -0.03764596, -0.0623721, -0.019326014, -0.0896548, -0.00039697406, 0.062065333, -0.029678347) * go_2(1.0, 1.0); - result += mat4(-0.027699407, 0.072317615, -0.075668514, 0.019382665, -0.022578781, -0.097153656, 0.056558866, -0.026797218, -0.055311427, -0.029343406, -0.016251184, 0.0029034857, 0.021295298, -0.060633257, -0.066650696, -0.014176967) * go_3(-1.0, -1.0); - result += mat4(0.056929894, 0.06296669, 0.058833197, 0.055929754, 0.045206144, 0.124816395, 0.08603162, -0.035438027, 0.05864608, -0.34551346, 0.10686292, -0.09247089, -0.01039598, 0.023945868, 0.04152319, -0.057664245) * go_3(-1.0, 0.0); - result += mat4(-0.0026985565, -0.04058008, 0.08668019, -0.16165687, -0.0669978, 0.06025125, 0.01061845, -0.07396731, 0.028235765, -0.1974729, 0.054613985, -0.048135094, 0.013870693, 0.07614793, -0.0051118205, -0.011434454) * go_3(-1.0, 1.0); - result += mat4(-0.08699431, -0.032093093, -0.09039232, 0.043302406, -0.08949961, 0.03943296, 0.12514283, -0.118437536, -0.0475864, 0.040074807, 0.04531421, -0.027959606, 0.0699257, -0.07310232, 0.05926287, -0.09809906) * go_3(0.0, -1.0); - result += mat4(0.08291639, 0.13337402, -0.033879723, -0.030597739, 0.039960656, 0.11285271, -0.045001507, 0.016323641, 0.06528873, 0.12151602, 0.075652964, 0.16680095, 0.062500365, 0.10238702, -0.002044068, 0.048659943) * go_3(0.0, 0.0); - result += mat4(-0.041995417, -0.036911324, -0.06104467, -0.00670874, -0.0045435787, -0.0032426668, -0.028409937, -0.09856275, 4.6831577e-05, -0.17680986, 0.047152776, -0.09408474, -0.07286314, 0.10941997, -0.012622276, 0.18222825) * go_3(0.0, 1.0); - result += mat4(-0.06358313, 0.031067979, -0.066298015, -0.026508985, -0.017822707, -0.0058446256, 0.031380165, -0.03968603, -0.19921921, -0.020262819, -0.14626998, 0.0067074317, -0.032714184, -0.05905669, 0.06676097, -0.08453029) * go_3(1.0, -1.0); - result += mat4(0.18562973, -0.08391055, -0.13800977, 0.04434315, -0.07014487, -0.029382609, -0.0036599678, -0.07959346, 0.0039499323, -0.046531573, -0.037964027, 0.057833973, -0.0073268986, 0.011971796, -0.071565405, -0.016854756) * go_3(1.0, 0.0); - result += mat4(0.076238915, -0.010213805, -0.115126036, 0.021867225, -0.03427761, 0.05729687, 0.018639423, 0.032928992, 0.057483274, 0.00863971, 0.11628593, -0.025358021, -0.022380868, 0.019458123, -0.08977346, 0.016999396) * go_3(1.0, 1.0); - result += mat4(0.06443494, -0.13695966, 0.050837293, 0.11769368, 0.03982583, 0.04365677, 0.0914564, 0.020832872, -0.03561464, -0.048148002, -0.11098798, 0.026730807, 0.032462105, 0.010169203, -0.11176305, 0.11509857) * go_4(-1.0, -1.0); - result += mat4(0.036339626, 0.043558348, -0.08018678, -0.033343073, 0.09518577, -0.12519091, -0.011036971, -0.011565009, -0.026011402, -0.039948042, 0.021500282, -0.03238243, -0.15157619, -0.0896126, 0.011041428, -0.032589663) * go_4(-1.0, 0.0); - result += mat4(-0.090026185, 0.17515051, 0.09003863, 0.056024328, -0.014608004, -0.17146449, 0.10497134, -0.033317756, 0.05084175, -0.15683104, 0.004754913, 0.043906096, 0.102966614, 0.119076595, 0.03419918, 0.11162818) * go_4(-1.0, 1.0); - result += mat4(-0.13725758, 0.054545738, 0.19191852, -0.1507601, -0.07410275, 0.012710437, -0.002995323, -0.02564634, -0.14047655, -0.14178753, -0.02160603, 0.17773011, -0.044396106, 0.11674753, -0.058879152, 0.041881587) * go_4(0.0, -1.0); - result += mat4(-0.07167683, -0.027865753, -0.062976815, 0.06179039, 0.060428478, 0.02820444, -0.07501178, -0.07479888, 0.016861942, -0.0067050136, 0.07886189, -0.09694589, -0.24936499, -0.13553715, 0.15446334, -0.1596343) * go_4(0.0, 0.0); - result += mat4(0.12519416, -0.07190433, 0.08571302, -0.088088214, 0.06097779, -0.15112294, -0.07819768, -0.15640157, -0.008882994, -0.05661016, 0.041620906, 0.080777824, 0.14372508, 0.061004147, -0.10059249, -0.05450479) * go_4(0.0, 1.0); - result += mat4(0.022914229, 0.0050205784, 0.0128762135, 0.018967759, -0.09971158, 0.0007187915, -0.013239407, 0.10027359, -0.012708232, 0.02148632, 0.03629833, 0.06779179, 0.007899347, -0.03402227, -0.05107456, 0.030168017) * go_4(1.0, -1.0); - result += mat4(-0.101626694, -0.049067173, 0.030896991, -0.038008872, -0.17226134, 0.053923246, -0.23556022, -0.06532403, 0.06541645, -0.013541671, 0.100340165, 0.103228696, -0.034361333, -0.084333315, 0.02723955, -0.02440181) * go_4(1.0, 0.0); - result += mat4(-0.03704313, 0.060180202, 0.007823015, 0.06390255, 0.08579526, 0.03330991, -0.008390602, -0.014529345, -0.06207606, 0.024333416, 0.15293281, 0.06663681, 0.031263046, -0.002941088, -0.09900946, 0.084799334) * go_4(1.0, 1.0); - result += mat4(0.09246091, -0.03937664, 0.005960589, -0.045937728, -0.06594935, 0.070527986, 0.059743717, 0.03917748, -0.020996673, 0.0019828002, -0.034309585, -0.03738683, -0.04873964, 0.0014745819, 0.08126733, -0.034479) * go_5(-1.0, -1.0); - result += mat4(0.07748875, -0.09148518, 0.013219114, 0.018175611, 0.042948097, 0.23374721, -0.0045189774, -0.06718557, 0.018522833, 0.054642767, 0.06698139, -0.17325309, 0.018071271, 0.087139465, 0.017651368, 0.017017378) * go_5(-1.0, 0.0); - result += mat4(0.014649891, -0.021246951, -0.011709104, -0.030677898, 0.052830815, 0.009715315, -0.022097781, -0.0002496546, 0.031584814, 0.026837287, 0.11443077, -0.027753742, -0.0041543865, 0.058851164, 0.10964704, 0.02103762) * go_5(-1.0, 1.0); - result += mat4(-0.05369423, -0.032334697, 0.15062103, -0.026983894, 0.017918264, -0.0078846915, 0.019014625, -0.015093337, -0.16124725, -0.059548736, -0.07116923, 0.057306577, 0.00719154, 0.110753864, 0.12377013, -0.065782666) * go_5(0.0, -1.0); - result += mat4(0.039875932, 0.12362787, -0.013454904, 0.075683616, 0.1302396, -0.04830048, -0.046029154, 0.0064248987, -0.031167233, 0.25245216, -0.11133049, 0.008989724, -0.23661305, -0.16241929, -0.09099623, -0.22794738) * go_5(0.0, 0.0); - result += mat4(-0.05430553, -0.027592193, 0.055918325, 0.07440643, -0.07768451, -0.16840686, -0.0779583, -0.03912889, -0.0559558, 0.06344966, 0.043207582, 0.101679, -0.07952004, 0.14983815, -0.026701134, 0.12340738) * go_5(0.0, 1.0); - result += mat4(-0.026840188, -0.019847477, 0.066656925, -0.033919457, -0.03307108, 0.008593069, 0.0014763663, -0.0701509, 0.11177682, 0.043675758, -0.003045438, -0.010472893, 0.21724509, -0.038310688, -0.064877726, 0.004854949) * go_5(1.0, -1.0); - result += mat4(-0.015254564, -0.025455397, -0.03241339, 0.037043206, 0.05684043, -0.11902418, 0.07518396, 0.00701195, -0.015419543, -0.024986517, -0.03743384, -0.05720803, 0.11705044, 0.015859546, 0.012020071, 0.0531533) * go_5(1.0, 0.0); - result += mat4(0.08011219, -0.05165056, -0.093091846, -0.036382984, 0.049235564, 0.037434872, -0.034679618, 0.07719339, -0.06549348, 0.01218804, 0.03943118, 0.082384944, 0.016443405, 0.05189687, 0.0077285073, 0.10032839) * go_5(1.0, 1.0); - result += mat4(-0.09811926, -0.048215948, 0.022598421, 0.009328491, -0.011228176, -0.04722078, 0.03850093, -0.060968023, -0.03111426, -0.07513239, -0.00286793, 0.009694654, 0.01964597, -0.051449805, 0.07004601, 0.055719677) * go_6(-1.0, -1.0); - result += mat4(0.004332875, -0.14231071, -0.079254255, 0.0465398, -0.06106811, 0.20371613, 0.080673784, 0.022448666, 0.016302604, -0.18337095, -0.03403594, 0.032197136, -0.16751388, -0.018878518, -0.00083395635, 0.017590992) * go_6(-1.0, 0.0); - result += mat4(-0.05158496, 0.015418104, -0.05616303, 0.06300464, -0.012552025, 0.06700004, 0.026008774, -0.020125628, 0.11119969, -0.002252269, -0.093951225, 0.18426418, -0.12882762, 0.018628476, 0.009146744, 0.029346682) * go_6(-1.0, 1.0); - result += mat4(-0.08072911, 0.038257066, 0.011962663, -0.03477007, 0.10724061, 0.047330793, 0.09406249, -0.038468212, -0.028449105, 0.080370486, 0.15885979, -0.16750082, 0.14282493, 0.029656053, 0.04090178, -0.11131538) * go_6(0.0, -1.0); - result += mat4(0.023348637, 0.06667373, 0.033075638, 0.23825766, -0.076276645, -0.057323404, -0.11303136, 0.102379866, 0.00056404545, -0.12161668, -0.05565824, -0.36255562, 0.15493225, 0.14176092, -0.12689851, 0.0861988) * go_6(0.0, 0.0); - result += mat4(0.05183813, 0.071844034, -0.005951533, 0.073875435, -0.04652535, 0.105300434, 0.051163994, 0.149797, -0.06975654, -0.029562712, 0.07167551, 0.07440629, -0.13939863, -0.084996395, 0.003270202, 0.0020182598) * go_6(0.0, 1.0); - result += mat4(0.038029913, 0.057545405, -0.12840481, -0.0044743693, 0.087749176, 0.009168238, 0.052323997, 0.08310589, 0.030010838, 0.0015745204, -0.013049759, 0.055351935, -0.03995745, 0.13832898, -0.06969623, 0.011420687) * go_6(1.0, -1.0); - result += mat4(0.0029858996, 0.0013822165, -0.18071668, -0.0046723257, 0.034825116, 0.0921186, 0.11448634, 0.19567586, 0.12269178, 0.07189283, -0.072001204, -0.03505551, 0.0970906, 0.037129845, -0.11448691, 0.060917735) * go_6(1.0, 0.0); - result += mat4(-0.03782286, 0.012466319, -0.09582938, 0.041950993, 0.0061008865, 0.0120334625, -0.0029366, 0.09319393, -0.052122094, -0.07502421, -0.14174813, -0.051292155, 0.023894839, 0.012328209, 0.12675953, -0.01036637) * go_6(1.0, 1.0); - result += mat4(0.03626806, 0.047888283, 0.00073598296, -0.03139694, -0.03943633, -0.13967054, 0.13821344, 0.02789613, -0.054842375, -0.14652891, 0.1297268, -0.17719932, 0.00096252834, 0.03653685, 0.003869557, -0.031079864) * go_7(-1.0, -1.0); - result += mat4(-0.044692617, 0.022308728, -0.0034757738, -0.11214092, 0.1942302, -0.056665756, -0.13580446, 0.06139267, -0.17323272, 0.22870769, 0.15451086, 0.062325798, -0.06428409, 0.041929293, -0.04482309, 0.115788296) * go_7(-1.0, 0.0); - result += mat4(-0.037223086, 0.1258252, 0.08688915, -0.09304955, 0.03290727, -0.1793539, -0.02147348, 0.04232672, -0.33211467, 0.3041252, 0.08903881, -0.011478615, -0.05112619, 0.02559543, 0.061504938, 0.16324621) * go_7(-1.0, 1.0); - result += mat4(-0.013524019, -0.09800075, -0.06595685, 0.13576919, -0.0150520345, 0.041289173, 0.11193854, 0.031947836, 0.18844956, -0.14499632, 0.21209183, -0.09216787, 0.039444353, -0.022743076, 0.008331227, 0.050290193) * go_7(0.0, -1.0); - result += mat4(0.00845177, -0.062762365, 0.12011158, 0.019268623, -0.25200182, -0.070608236, 0.583657, -0.3979071, 0.202273, -0.27020127, 0.31792235, 0.055522945, 0.049366258, -0.1547968, 0.0094838, 0.037900254) * go_7(0.0, 0.0); - result += mat4(-0.10912095, 0.018920064, 0.04798278, -0.0601081, 0.1303284, -0.07698929, -0.040227156, -0.12950167, 0.06799319, -0.10708667, 0.15092286, -0.03616455, -0.057483222, 0.09268709, 0.120372415, 0.17823943) * go_7(0.0, 1.0); - result += mat4(0.07103522, -0.028456224, -0.14123808, 0.036347568, 0.032950565, 0.0076102316, -0.04441095, 0.09832154, -0.04684079, -0.07462429, -0.029697422, 0.0019593944, -0.07063113, 0.017122308, 0.0019443014, 0.024005169) * go_7(1.0, -1.0); - result += mat4(0.19840677, 0.04053979, -0.28031257, 0.048886195, 0.068136275, 0.11328658, 0.055254918, 0.08998234, 0.04169877, 0.03261371, 0.19996099, -0.018779114, 0.050100785, -0.04240794, 0.14432232, 0.05729528) * go_7(1.0, 0.0); - result += mat4(-0.027830606, -0.01830684, 0.010035696, -0.06135513, 0.12879516, 0.022098277, -0.19024612, 0.10902761, -0.026191598, 0.038716756, 0.09734628, 0.14136758, -0.019868078, 0.034349605, 0.07440802, 0.020381965) * go_7(1.0, 1.0); - result += mat4(-0.031464096, 0.001053761, 0.043526858, 0.010412086, -0.17848891, -0.097033575, -0.0012577542, 0.036945686, 0.059248988, -0.021694278, 0.0011480029, -0.013797085, -0.08563894, 0.017658193, 0.0021849705, -0.043733254) * go_8(-1.0, -1.0); - result += mat4(-0.019144258, -0.06711262, 0.03632702, -0.029826026, 0.006813378, -0.003969824, 0.00019037222, 0.16610803, -0.033035498, -0.019897725, 0.03754764, 0.043584425, 0.14464164, -0.15918401, 0.06232411, -0.06492025) * go_8(-1.0, 0.0); - result += mat4(-0.059413664, 0.111339584, -0.008430923, -0.014649087, -0.003594872, -0.14574839, 0.02353429, -0.17129546, 0.09336502, 0.12865134, -0.012435833, 0.07241922, -0.04791443, -0.077149846, -0.0021780212, -0.045841258) * go_8(-1.0, 1.0); - result += mat4(-0.0707728, -0.03313273, 0.057984207, 0.090724744, 0.017171696, -0.0654554, -0.03162526, 0.0073273624, -0.01690497, 0.08393428, -0.04609512, 0.018551271, 0.060470644, -0.07681868, -0.018971717, -0.019600816) * go_8(0.0, -1.0); - result += mat4(0.1676251, -0.03913703, 0.015949814, -0.050757714, -0.17725573, -0.14712991, -0.14843173, 0.20936011, -0.16364701, 0.28614786, -0.18470874, -0.019684736, 0.106993206, -0.004278966, -0.0320641, -0.10789707) * go_8(0.0, 0.0); - result += mat4(-0.029283857, 0.020563176, 0.11319419, 0.11170993, 0.14844628, -0.010018965, 0.011065719, -0.08028034, 0.011984268, 0.0010749678, 0.049402744, 0.044593398, 0.13847482, 0.0059888144, 0.027500622, 0.108784206) * go_8(0.0, 1.0); - result += mat4(0.01205264, 0.021300085, -0.046063945, -0.007999818, -0.13475847, -0.02334875, -0.0025662053, 0.08107595, -0.020613125, -0.042976774, -0.012636618, 0.079694346, -0.031824846, -0.08273052, 0.049622092, -0.03349592) * go_8(1.0, -1.0); - result += mat4(0.0420867, 0.067662604, 0.027575044, -0.049389694, -0.0076691327, 0.012474314, 0.09792472, 0.117004596, -0.2072003, -0.009180187, -0.39107728, -0.038654536, -0.02036599, 0.058372054, -0.107287474, 0.15442607) * go_8(1.0, 0.0); - result += mat4(-0.038561203, -0.11485789, 0.035765175, -0.0844404, 0.00036770353, -0.049586706, -0.06881126, -0.14083977, 0.03684274, 0.07132273, -0.060698364, -0.047762398, 0.027802434, 0.023094364, -0.011859859, 0.040085405) * go_8(1.0, 1.0); - result += mat4(-0.010658981, -0.098260984, 0.03293102, 0.022438409, 0.014365506, 0.13513209, -0.03391689, -0.07402223, 0.02659744, 0.13315997, 0.0051934537, 0.05897754, 0.057116147, 0.09436475, 0.08697818, -0.109584406) * go_9(-1.0, -1.0); - result += mat4(0.14180045, -0.19213474, -0.0077826353, 0.053888105, 0.03280035, -0.1626862, -0.068114966, 0.19899116, -0.06385297, 0.16440801, 0.0040299953, 0.08551378, -0.108922936, 0.14460269, 0.04250807, -0.0055258097) * go_9(-1.0, 0.0); - result += mat4(0.009511591, 0.09489334, -0.10438671, 0.118240274, 0.013701259, -0.2260898, -0.033166207, 0.050668016, -0.007743699, -0.0035648027, 0.03792938, -0.02559795, 0.07968182, -0.030887593, 0.01205847, 0.009945605) * go_9(-1.0, 1.0); - result += mat4(0.003423775, -0.088880695, -0.035691295, -0.0035343976, -0.0045947717, -0.0890295, -0.15527213, 0.06456578, -0.027445925, -0.10123017, -0.061165016, -0.05975515, 0.08943537, 0.018354377, 0.093808636, 0.09058041) * go_9(0.0, -1.0); - result += mat4(0.19464576, -0.25354752, 0.12025962, 0.0047807707, -0.1806877, -0.0829497, 0.17874265, -0.14859185, -0.022103263, -0.029377054, 0.036780443, -0.25260177, -0.0020576504, 0.16454361, -0.016518762, -0.124516256) * go_9(0.0, 0.0); - result += mat4(-0.06524309, 0.07720192, 0.06741092, -0.004755482, -0.1567559, -0.038825776, 0.055452358, 0.16807874, 0.08426787, 0.10064341, -0.08048252, 0.12724291, 0.044000335, -0.09514686, 0.071899205, -0.19236842) * go_9(0.0, 1.0); - result += mat4(-0.054300454, 0.0048882305, 0.032002125, -0.06314737, -0.023635345, 0.015739735, -0.03779951, 0.014911036, -0.018855136, 0.02287149, 0.07404439, 0.020227555, 0.12780152, 0.0249982, 0.09878167, 0.08178305) * go_9(1.0, -1.0); - result += mat4(0.16953443, 0.035950057, 0.29992104, -0.00664767, -0.0051847943, 0.07840213, 0.0852634, 0.009097623, -0.03488376, 0.060193926, 0.011722527, -0.12336398, -0.065298855, 0.030775972, 0.18955767, 0.033368744) * go_9(1.0, 0.0); - result += mat4(-0.14526981, 0.010404009, 0.08604749, 0.024556525, 0.06756713, 0.00744896, -0.06230971, -0.051816244, -0.006520683, 0.017338715, -0.011555326, 0.022118622, -0.01212985, -0.025708182, 0.096710615, -0.0880872) * go_9(1.0, 1.0); - result += mat4(-0.071155414, 0.08430235, -0.04111888, 0.04478505, 0.04678298, 0.091515504, -0.061127644, -0.11651728, 0.084393844, 0.15791681, 0.12303138, -0.09144385, 0.06725453, -0.046441063, 0.08016926, -0.009265325) * go_10(-1.0, -1.0); - result += mat4(0.0040714527, 0.021631662, 0.07243013, -0.11434065, -0.08418263, 0.05947, 0.050204482, -0.04395534, -0.14678517, 0.1271361, -0.0036898777, 0.007855137, 0.024852144, 0.06963993, -0.015461485, -0.026968528) * go_10(-1.0, 0.0); - result += mat4(0.04323024, -0.05917676, -0.040343963, -0.06002188, 0.073589, 0.14065376, -0.008597814, 0.118194476, -0.0047777137, 0.066805825, 0.017594682, -0.053775795, -0.11739397, -0.11529746, 0.0037522179, -0.046322566) * go_10(-1.0, 1.0); - result += mat4(0.053650532, -0.09683151, -0.19496697, 0.07991156, 0.10289539, 0.049044795, -0.026568783, -0.12895629, 0.08041865, 0.05547816, -0.024926053, -0.022836441, -0.026318112, -0.07999866, 0.04849193, -0.063271776) * go_10(0.0, -1.0); - result += mat4(0.063348986, 0.046536207, 0.09077205, -0.065250814, -0.21213472, 0.22206871, 0.011405871, -0.04594076, -0.08919407, 0.053809587, -0.045071192, 0.04457517, -0.04761967, -0.00063329184, 0.015264811, 0.14230464) * go_10(0.0, 0.0); - result += mat4(-0.1362619, 0.124562874, 0.013724714, 0.18099883, -0.2285552, 0.3298857, 0.042477757, 0.32406956, -0.13042764, 0.08987494, -0.013166582, -0.12164826, -0.092949785, -0.06596419, 0.028557139, 0.070556834) * go_10(0.0, 1.0); - result += mat4(-0.004091256, 0.007315117, 0.025926506, -0.05297705, 0.16433445, 0.19016539, 0.05815661, -0.014741991, -0.08531722, -0.025269695, -0.123091884, -0.035526488, 0.06972483, 0.03931621, 0.017806875, -0.011804328) * go_10(1.0, -1.0); - result += mat4(-0.0018400949, 0.094811164, -0.08969797, 0.04853828, -0.1291663, 0.033400565, 0.297762, 0.048428286, 0.010310113, 0.08309697, -0.15573427, -0.03929204, 0.09878958, -0.0049044066, 0.07033708, 0.031186087) * go_10(1.0, 0.0); - result += mat4(0.002275256, -0.07784182, -0.027740657, -0.08700791, 0.1641431, -0.06383385, 0.12704122, 0.020721145, -0.0765814, -0.0062846337, -0.008150311, -0.068284586, -0.061724715, -0.028633684, 0.042579137, -0.022366095) * go_10(1.0, 1.0); - result += mat4(-0.059812613, -0.016397942, 0.050042734, -0.04041396, 0.051270485, -0.05887674, 0.018254071, -0.037738055, 0.018913453, 0.018846627, -0.015349018, 0.026866104, 0.07343702, 0.08884225, -0.0844844, 0.0045987596) * go_11(-1.0, -1.0); - result += mat4(-0.0074525494, 0.060173932, -0.06734403, -0.03425061, -0.0492153, -0.045201246, -0.072703086, 0.027989397, 0.108851016, 0.09310228, -0.14239624, 0.18670453, 0.14031729, -0.1642711, 0.02309336, 0.121186286) * go_11(-1.0, 0.0); - result += mat4(0.045983303, 0.013256229, -0.058050074, -0.018363763, -0.046715163, 0.02973069, 0.029274564, -0.015408353, -0.030378167, 0.037977114, -0.1334022, -0.022535136, 0.01828963, 0.031857423, -0.0433168, -0.015471418) * go_11(-1.0, 1.0); - result += mat4(0.08072113, 0.16231881, -0.022066744, -0.0425335, -0.16478068, -0.10143745, 0.03046289, 0.026629625, -0.06359632, 0.052836478, -0.0205083, 0.052351423, 0.04804752, 0.13968943, -0.057593778, -0.040696245) * go_11(0.0, -1.0); - result += mat4(-0.25542274, 0.016683673, -0.013760742, 0.11911277, -0.010073981, -0.010102792, -0.043357737, 0.054598674, 0.24294889, -0.21047808, 0.048339482, -0.013847841, -0.32398117, 0.036752395, 0.067258835, -0.15109102) * go_11(0.0, 0.0); - result += mat4(-0.18871623, 0.066637784, 0.01826965, 0.17650007, -0.09132555, 0.13290621, 0.092009716, -0.004178901, -0.024332194, 0.08828939, 0.1560296, 0.031010568, 0.08010207, -0.05232434, 0.017636376, -0.108063385) * go_11(0.0, 1.0); - result += mat4(0.05803196, -0.007804538, 0.0034517671, -0.021505883, -0.016582713, -0.01859502, -0.11752609, 0.07442376, 0.0664939, 0.044025224, 0.04226822, -0.02521637, 0.039057795, 0.039176814, 0.11136323, 0.007489425) * go_11(1.0, -1.0); - result += mat4(0.013457528, 0.109780364, -0.011453208, -0.0030823683, 0.11443531, 0.098637, -0.0709403, 0.043292217, 0.11829258, -0.06922662, 0.086047046, 0.016868966, -0.08024213, -0.030579101, 0.07813338, 0.111994706) * go_11(1.0, 0.0); - result += mat4(-0.03376252, 0.017642021, -0.022758378, 0.02791364, -0.11893667, -0.034309436, -0.011839066, -0.109537624, 0.10653171, 0.004103466, -0.08914791, 0.015449584, 0.0061790585, -0.08180187, 0.0812421, -0.10002259) * go_11(1.0, 1.0); - result += vec4(-0.082898155, 0.010079553, 0.06613919, 0.016312698); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.069604576, 0.02780287, 0.10479145, 0.0598677, -0.15447794, 0.014002432, 0.15952754, -0.16364509, -0.17146967, 0.27360946, -0.06118358, 0.06562993, -0.0034575097, 0.27649418, 0.025365477, -0.081556045) * g_0; - result += mat4(0.098523565, -0.014438212, -0.17889059, -0.08759605, -0.097737536, 0.27787977, 0.016156938, -0.11134956, 0.10582375, -0.20247018, 0.08988277, 0.17063816, -0.072689526, -0.1143116, 0.30750987, 0.09236675) * g_1; - result += mat4(-0.28383443, -0.15268843, 0.42559057, 0.3357241, 0.012547255, -0.09958958, 0.04154182, -0.06517361, 0.08784381, 0.03416716, -0.036624804, -0.034195926, -0.009735854, -0.037226725, 0.044228237, 0.098523915) * g_2; - result += mat4(0.13222544, 0.1690658, -0.10114831, 0.0418428, -0.03539878, 0.06732558, 0.044486526, 0.18264133, 0.09283543, -0.0875049, -0.27786124, 0.31696528, 0.13372223, 0.06539235, -0.07225442, -0.053972196) * g_3; - result += mat4(0.10303975, -0.027461063, 0.12720948, 0.11982775, 0.010745893, -0.258443, -0.038602423, -0.031108906, 0.03577269, 0.06814439, -0.30761826, 0.18308763, 0.030638998, 0.00069125916, 0.041647576, -0.037805513) * g_4; - result += mat4(0.28049946, -0.19036528, -0.20298155, -0.20855707, -0.012317928, 0.08052685, -0.2087141, 0.22641854, 0.10379512, -0.19354534, 0.038190875, -0.31573087, -0.08755006, 0.10582216, -0.103582926, -0.051279992) * g_5; - result += mat4(-0.019805856, 0.32306147, -0.10066396, 0.1077401, -0.08169178, -0.20293216, 0.015578836, -0.030745748, 0.091820225, -0.13066763, 0.022633377, 0.011552452, -0.123327985, 0.25311312, 0.22652766, 0.011176362) * g_6; - result += mat4(-0.16592886, -0.003341361, 0.05655243, -0.04907018, -0.14266169, -0.07653183, 0.39557743, -0.044829868, 0.035589613, -0.23692629, 0.02729001, 0.23751497, -0.074999005, 0.06162688, 0.06201382, 0.15069327) * g_7; - result += mat4(-0.12884079, 0.037352398, -0.12884715, 0.15350881, -0.089926146, -0.1700947, -0.10188416, -0.029826047, -0.031419244, -0.15877514, 0.074799135, -0.123011, -0.007537871, -0.24274765, 0.10594629, -0.042308845) * g_8; - result += mat4(0.028796997, 0.009780028, 0.08393684, 0.08876159, 0.2958322, 0.13797538, -0.23441544, -0.064725965, 0.13806176, -0.015037291, 0.060964797, -0.30482304, -0.041055765, -0.15156971, 0.20623018, 0.10922641) * g_9; - result += mat4(-0.0057864957, -0.18726483, 0.037883427, 0.14638895, -0.10522743, 0.09113031, 0.11673609, -0.21051702, 0.028723987, -0.062990315, 0.002952929, 0.01469057, 0.034846026, 0.19609974, -0.1934369, -0.18243392) * g_10; - result += mat4(0.118073694, 0.119863555, -0.30531943, -0.205375, -0.22113605, -0.28978834, -0.23192821, 0.28978485, -0.021390624, -0.18431179, -0.15690218, -0.14960553, -0.15185611, 0.0028554697, -0.02074978, 0.056506403) * g_11; - result += mat4(0.31187654, -0.2761366, 0.020066198, 0.031995732, -0.1848675, 0.08065148, 0.14539121, -0.23896545, 0.0257927, -0.054032624, -0.07259492, 0.18765905, -0.17117564, -0.33104083, -0.0332479, 0.15349889) * g_12; - result += mat4(-0.18720639, 0.19843848, 0.3385621, -0.19166066, 0.21356635, 0.21394755, 0.15651105, 0.037805296, -0.16349375, -0.13504027, 0.19122715, 0.120806016, 0.16379046, -0.0026540656, 0.04739934, -0.07981541) * g_13; - result += mat4(-0.28539544, 0.21816348, -0.15019035, 0.23157135, 0.121298485, 0.2268759, -0.24653979, -0.025725443, -0.055981506, 0.10309359, 0.12415594, 0.010752708, 0.15175724, -0.12113609, -0.04674751, 0.1452768) * g_14; - result += mat4(0.084147684, -0.32716796, -0.3735181, -0.06994641, -0.17994325, -0.14905843, -0.06946874, 0.35039115, -0.05100555, -0.08730691, -0.23854558, -0.1746263, -0.011508492, 0.10305763, 0.13472022, -0.28137568) * g_15; - result += mat4(0.10937542, -0.038041312, -0.0995303, 0.14773457, 0.15991186, 0.22984092, -0.20170724, -0.3805271, 0.11831765, -0.07383792, 0.14768845, -0.311674, -0.019428516, 0.18180147, 0.056651186, -0.10447611) * g_16; - result += mat4(0.04605112, 0.046965037, -0.08334886, 0.037097372, 0.18561974, 0.3021062, 0.1629304, -0.090214364, -0.005229353, 0.18200208, -0.07720685, 0.25807604, 0.2524869, -0.16809419, -0.4000575, -0.3306678) * g_17; - result += mat4(0.09674466, 0.07551325, 0.016270272, -0.22326164, -0.1256328, -0.08318501, 0.24199782, 0.008043517, -0.3336808, -0.019305306, -0.18930039, 0.3224243, -0.020935204, -0.21364902, 0.029509636, -0.1468745) * g_18; - result += mat4(-0.22094682, -0.27292994, -0.1963563, -0.37204334, 0.13046952, 0.2838346, -0.15947977, 0.07602889, -0.023213187, -0.06235404, -0.09553055, 0.03893353, 0.28796852, 0.09727489, 0.13416602, 0.34785405) * g_19; - result += vec4(0.063622594, 0.0041231937, 0.015656473, -0.044245835); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf1 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.029247807, 0.43012354, -0.07769897, 0.15838203, -0.13324478, 0.017804278, 0.21924987, -0.024039736, -0.20728067, 0.044956654, 0.03079796, -0.23534241, -0.0500509, -0.18794334, 0.27260718, 0.24131943) * g_0; - result += mat4(0.1303224, -0.32837823, -0.09135343, 0.05029881, 0.29270905, -0.042230245, 0.13552578, -0.022074893, -0.22813024, 0.16917036, -0.19837584, -0.025336651, -0.017484624, -0.07434934, -0.022696782, 0.14180793) * g_1; - result += mat4(-0.17257185, 0.016180463, -0.16395493, -0.12969042, -0.17320508, -0.17256051, 0.124869406, -0.041106623, -0.29951182, -0.062248964, 0.14418627, 0.113648884, 0.19480251, -0.14825127, -0.30102882, 0.2543297) * g_2; - result += mat4(-0.17920358, -0.056560468, -0.05815734, -0.094284005, 0.074466944, -0.1708937, 0.05045378, 0.22309071, 0.07125439, 0.1243207, 0.0996307, 0.11177492, -0.20849244, -0.016035903, 0.066763505, -0.03865284) * g_3; - result += mat4(0.10919598, -0.05991637, 0.22679056, 0.07574283, 0.11607126, -0.12619832, -0.11305337, 0.09875149, -0.093926236, -0.31168574, 0.12892371, 0.03084246, -0.025373377, -0.18546598, -0.10146844, -0.06607364) * g_4; - result += mat4(-0.0284226, -0.13437645, -0.01047342, -0.0643442, -0.112065926, 0.28130296, -0.028859612, 0.20614125, -0.104703404, -0.25221863, 0.06305746, 0.008987997, -0.06367191, -0.039423067, 0.55190355, 0.1131621) * g_5; - result += mat4(0.017900897, 0.19151299, -0.012729769, -0.3720392, -0.043568056, 0.021792412, -0.14938483, -0.04563565, 0.13666408, 0.15488137, -0.058843106, 0.026964363, 0.2275412, -0.051935695, -0.3025488, 0.032634325) * g_6; - result += mat4(0.080183186, 0.49439004, 0.09187155, 0.058713455, -0.14579555, -0.16108377, -0.074885435, 0.16271885, -0.02726071, 0.3746404, -0.07175874, 0.12927002, 0.048367534, 0.0068023684, -0.01004529, -0.10857275) * g_7; - result += mat4(0.30240306, -0.05872737, 0.09092156, -0.044823427, 0.13460608, 0.27104214, -0.21677399, -0.078722954, 0.21395817, -0.27020204, 0.03407373, -0.27704158, -0.14948608, 0.045992948, 0.5086244, -0.14568712) * g_8; - result += mat4(0.04736869, -0.012021483, -0.23633002, -0.09218725, 0.049316257, 0.031919852, 0.109669484, 0.028117038, -0.05681596, -0.19797502, 0.066302285, -0.16133904, -0.11359791, 0.047595903, -0.15282372, 0.14841823) * g_9; - result += mat4(0.025813673, 0.18983132, -0.32590774, -0.017710522, 0.20602965, -0.06116333, 0.2023164, -0.38438424, 0.06915477, 0.077189915, 0.14604315, 0.21469697, 0.2905641, 0.099070854, -0.15827921, 0.09761589) * g_10; - result += mat4(-0.045127008, 0.18940306, -0.08118834, 0.02602074, 0.0945136, -0.07572827, 0.058015335, -0.054117456, 0.13638207, -0.06921914, -0.018934516, -0.21474637, 0.072837576, 0.38855672, -0.2214727, -0.07032989) * g_11; - result += mat4(-0.14499478, -0.103144266, -0.06795675, 0.097279154, -0.15780063, -0.00092860113, -0.06560443, 0.046918143, 0.116832, -0.041867204, -0.04294921, -0.16297981, 0.0017979478, -0.14739467, 0.06300005, -0.018958041) * g_12; - result += mat4(-0.023155538, 0.013861143, 0.10273995, -0.23301847, -0.06355406, 0.23065268, 0.0100112315, 0.12967634, -0.015230428, 0.00040594305, 0.09417989, 0.24173634, 0.055267353, 0.0818368, -0.07358038, 0.11633795) * g_13; - result += mat4(-0.033157397, -0.060810838, 6.0726292e-05, -0.07492996, -0.08209274, 0.036523078, 0.037038907, -0.0371525, 0.008616722, -0.25722533, 0.11118201, 0.00083808816, -0.16973083, -0.049985297, 0.016049283, 0.04555759) * g_14; - result += mat4(-0.02391044, -0.12006143, -0.0040827403, -0.045583934, 0.005460344, 0.0015913033, -0.0840245, 0.06921067, 0.13523246, 0.25881252, 0.06931116, 0.12808272, -0.08047311, -0.0036380326, 0.029610094, -0.1336764) * g_15; - result += mat4(0.07438417, 0.057508536, 0.34985167, 0.11944369, -0.21246617, -0.16596083, -0.31279483, -0.24151649, -0.090715386, -0.007790705, -0.10482516, 0.10915042, -0.08405226, 0.09904896, -0.08101267, -0.36275923) * g_16; - result += mat4(0.032126356, 0.011326541, -0.2710429, -0.018045785, -0.024174925, 0.10995586, 0.32196537, -0.16372478, 0.005468728, -0.1943689, -0.111603215, -0.08804184, 0.039886538, 0.15763853, -0.011543824, -0.32507792) * g_17; - result += mat4(0.02271385, 0.06408109, 0.02209524, 0.061272632, -0.12502407, -0.21633519, -0.34524658, 0.018734034, -0.2399288, 0.08478751, 0.1332156, -0.15286094, -0.10991463, -0.41120422, -0.3367541, -0.015484429) * g_18; - result += mat4(0.109604605, -0.13112773, 0.034937084, -0.3441579, -0.22917384, 0.13396077, 0.13513319, 0.013879127, 0.09909886, -0.2781385, 0.10821879, 0.0012182732, 0.141571, -0.039386883, 0.2155932, -0.039853897) * g_19; - result += vec4(0.011448396, 0.020379832, -0.0022957225, 0.013202214); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf2 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.16280368, -0.3007647, -0.40942207, 0.030815337, 0.07405667, -0.2774033, -0.17283231, 0.29439998, 0.3699874, -0.3105887, -0.14847368, -0.19395609, 0.0452973, -0.007050749, -0.1077042, 0.09585097) * g_0; - result += mat4(0.18247014, 0.009975951, 0.22485235, 0.027747832, -0.23668393, 0.4114013, -0.051324457, -0.1639705, -0.05903238, -0.23907724, 0.028307369, 0.26740846, 0.15824945, -0.45980626, -0.2874741, -0.08889109) * g_1; - result += mat4(0.10361935, -0.3442958, -0.14365837, -0.099617116, -0.032554094, -0.14120267, -0.03342406, 0.05498335, -0.055517945, 0.17825112, 0.07104187, -0.06683212, 0.057972897, 0.118643604, -0.16706169, 0.054418873) * g_2; - result += mat4(0.011006017, 0.07820084, -0.13500318, 0.1641914, -0.009132727, -0.16969028, 0.10708101, 0.1584649, 0.06537785, 0.012797735, 0.33862048, 0.11651383, 0.013557928, 0.2422241, 0.1017567, 0.062895164) * g_3; - result += mat4(-0.051137764, 0.21534863, 0.028179698, -0.43167275, -0.033175964, -0.31094325, 0.117865756, 0.14298838, 0.2600347, 0.06622512, 0.23248197, 0.05236919, 0.057206035, 0.31706086, 0.35474834, -0.08026979) * g_4; - result += mat4(0.3341866, 0.061472543, 0.08820765, 0.18130043, -0.23067175, 0.020398427, 0.2055998, -0.043249145, 0.059176553, 0.15833625, -0.038501732, -0.19359344, 0.013098893, -0.113447286, -0.14451598, -0.07114495) * g_5; - result += mat4(-0.14045192, -0.035960864, 0.1683667, -0.057710778, -0.12191498, 0.30514076, 0.25296882, 0.05210337, -0.30406678, 0.32372236, -0.08775911, 0.05305385, -0.09910785, 0.08077384, -0.030429823, -0.23029453) * g_6; - result += mat4(-0.06477132, 0.051194742, 0.054058783, -0.08651901, -0.11611027, -0.1414096, 0.017515467, 0.08065079, 0.160593, 0.053242017, 0.16833569, 0.2509967, -0.08866564, -0.027160924, 0.18210976, -0.018735442) * g_7; - result += mat4(-0.07765899, -0.08653451, 0.018404264, 0.037747417, 0.29692903, -0.21028307, -0.1398246, -0.18331608, -0.14643049, -0.062120195, -0.026070742, -0.016461093, 0.13776016, 0.16835451, 0.19926657, 0.009491423) * g_8; - result += mat4(0.22430605, 0.13225609, 0.11127026, 0.11934834, 0.11773516, 0.38065204, 0.029911561, 0.02016507, -0.04952572, -0.03617535, -0.13657878, 0.27129802, -0.1468153, -0.15232307, 0.29422712, 0.21878105) * g_9; - result += mat4(0.1451605, -0.1307874, 0.15195362, 0.37169486, -0.3883121, 0.1892302, -0.011653311, -0.117176816, -0.058879364, 0.006502772, 0.0759263, -0.09286256, 0.022827929, 0.07008768, -0.042277794, -0.087980986) * g_10; - result += mat4(-0.20223801, 0.63388115, 0.2666767, -0.16103297, -0.24565355, -0.0149277, 0.12688118, 0.010536548, 0.2465687, 0.11190481, 0.049540646, -0.17695107, -0.2384947, 0.060365606, 0.17545441, 0.07588929) * g_11; - result += mat4(0.09111966, -0.11593248, 0.08454782, 0.288044, -0.07772475, -0.01816507, -5.096444e-05, -0.3003771, -0.03312577, 0.06330272, -0.06429025, 0.2540652, 0.112343386, 0.0268587, -0.3007914, 0.14403644) * g_12; - result += mat4(-0.028090911, -0.10009091, 0.03360372, -0.41311288, -0.14364164, 0.033205803, 0.028351944, -0.36008695, 0.08499348, -0.08054039, 0.0008087064, -0.29299152, -0.12959489, -0.041748602, -0.02607873, -0.002198112) * g_13; - result += mat4(-0.08168162, -0.18030183, -0.14979859, -0.0023758279, 0.11401735, 0.1793914, -0.019655662, 0.13919011, 0.04981195, -0.1512701, -0.2777071, -0.092032805, -0.0956048, -0.2193873, -0.22983249, -0.051276267) * g_14; - result += mat4(0.036644854, -0.23420666, -0.4380995, 0.026250768, -0.1633289, -0.124186166, 0.092637315, -0.027536578, -0.24723285, 0.10599731, -0.16287865, -0.14084546, -0.054123025, 0.10922608, -0.06295828, 0.11139063) * g_15; - result += mat4(-0.0057521244, -0.17863722, -0.28339812, 0.12678196, -0.008798941, 0.25797576, 0.14833443, -0.06494317, -0.10480434, 0.22954331, -0.15336959, -0.0017664762, -0.155693, -0.23341124, -0.10721382, -0.18765664) * g_16; - result += mat4(0.1479779, 0.026514363, 0.150549, 0.043383703, 0.060286276, -0.012992416, 0.11384509, -0.04252127, 0.08395568, -0.086466804, -0.044825606, 0.0600901, 0.36257893, 0.10778409, 0.32519555, -0.17719778) * g_17; - result += mat4(0.019650197, -0.2552763, 0.111707225, -0.028414596, -0.18420072, 0.24862765, -0.27289316, 0.15587737, 0.10823723, 0.18660492, -0.17082447, 0.6391233, -0.11903236, 0.20687774, -0.120824836, -0.103811845) * g_18; - result += mat4(-0.25654075, 0.11822941, 0.002077498, -0.18428631, -0.13948499, 0.22262993, 0.07610168, -0.041798126, -0.08393731, -0.05455519, 0.017154181, 0.40815148, 0.019547334, -0.19381055, -0.09170064, 0.092561185) * g_19; - result += vec4(-0.0025385008, -0.009322316, 0.023430334, 0.03963271); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf3 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.12601118, -0.021590643, 0.22313827, 0.12338326, -0.3594248, 0.08779226, -0.104447536, 0.0015953421, -0.041181516, -0.059177034, -0.03233909, 0.08123608, -0.06653031, 0.2396167, -0.04595078, -0.27699965) * g_0; - result += mat4(0.21760523, -0.07761304, 0.10619168, 0.21848077, 0.043161202, -0.18573365, 0.18635494, 0.0596456, 0.00958352, 0.06870374, -0.22098882, -0.19535597, -0.01699866, -0.060843382, 0.020773342, -0.28626204) * g_1; - result += mat4(-0.054788332, 0.43804136, -0.018370852, -0.11884852, -0.08396486, -0.02463395, -0.07859437, 0.04820491, 0.20736758, -0.05558528, 0.30823594, -0.11240249, 0.3560334, -0.16470565, -0.037384707, -0.26869738) * g_2; - result += mat4(0.035860125, -0.19114108, -0.014263808, -0.2760586, -0.10599815, 0.24764514, -0.015626451, 0.06531905, 0.03168761, -0.06332368, -0.31058973, -0.04061597, -0.27505493, -0.1417053, -0.1537728, -0.0269434) * g_3; - result += mat4(0.122250065, 0.014169642, 0.0028120647, 0.29171073, 0.03466068, -0.21740533, 0.017244201, 0.10237153, 0.2732552, 0.08788669, -0.18837062, -0.08003779, -0.16058928, 0.16513692, 0.3796974, 0.14405341) * g_4; - result += mat4(0.07627521, 0.3994723, -0.2915726, -0.26149854, -0.17089921, 0.10311443, 0.118035555, 0.018972598, 0.060590137, 0.061291203, -0.08347645, 0.07799144, -0.2275661, -0.20265573, 0.008838914, -0.033791874) * g_5; - result += mat4(-0.26082832, -0.20043238, -0.12740612, 0.022172654, -0.19137274, 0.16447131, -0.12194309, 0.11332352, 0.09688869, -0.11694857, -0.014670798, 0.029100897, 0.27688727, -0.095532894, -0.046852726, 0.15528652) * g_6; - result += mat4(0.0843288, 0.2599002, 0.054038078, 0.030031947, -0.16868956, 0.47877824, -0.107127056, -0.19649811, 0.1452435, -0.061140474, -0.3746812, -0.1712981, 0.10090316, 0.003146686, 0.042054128, 0.2036839) * g_7; - result += mat4(0.062476937, 0.109727405, 0.006085406, -0.09609198, 0.08157408, 0.26440763, -0.010807875, 0.4100666, -0.29008973, -0.29712662, 0.1449313, 0.2999071, -0.10133186, 0.14511426, 0.15570813, 0.1363124) * g_8; - result += mat4(0.24777307, -0.018936818, -0.17767051, -0.2930885, -0.31651247, -0.21320899, 0.024395507, -0.14392355, -0.039903793, -0.028844833, 0.089801095, -0.16740274, 0.076601304, 0.12653774, -0.14753589, -0.076225005) * g_9; - result += mat4(-0.18826364, 0.011248587, -0.021409662, -0.5352774, -0.08067719, -0.054373614, -0.16357093, 0.06124252, 0.033611584, 0.042493146, 0.05371003, 0.11711034, 0.11154937, -0.12328775, -0.06294046, 0.18647408) * g_10; - result += mat4(0.0024605107, -0.056066483, 0.2467666, 0.11369053, 0.08489671, 0.0037346834, -0.013299427, 3.808174e-05, 0.11409715, 0.109892204, -0.06361007, -0.22800997, 0.18311475, 0.042961217, 0.06740135, -0.16150832) * g_11; - result += mat4(-0.18291046, 0.026666109, -0.30111808, 0.17123716, 0.112474516, -0.26450562, -0.090437375, -0.14988331, -0.18449861, 0.007934273, -0.027180828, -0.43781853, 0.0977631, 0.27554545, -0.11660859, -0.23798843) * g_12; - result += mat4(0.10251913, -0.18264107, -0.06369484, 0.05854778, -0.00926676, -0.29635468, -0.11716115, 0.011359037, 0.08007137, -0.049567226, 0.09789246, 0.36260337, -0.15627296, 0.22855914, 0.015385757, 0.083044454) * g_13; - result += mat4(0.1003519, 0.024577776, -0.108722664, 0.011721353, -0.10047615, -0.17745872, 0.10435663, -0.08427653, 0.0010758807, 0.14079982, -0.3041788, 0.15151088, 0.008969225, 0.076604255, -0.06943796, 0.044038422) * g_14; - result += mat4(0.05734037, 0.21680962, -0.11893755, -0.07738818, 0.13322085, -0.04214932, -0.3577641, 0.17797415, -0.07373375, 0.06449437, 0.065212585, 0.28000146, 0.13637395, 0.0667443, 0.040316172, -0.02156067) * g_15; - result += mat4(0.20441194, 0.23352884, -0.0139005985, -0.16409983, -0.38869008, 0.061168108, 0.01810069, 0.2682549, -0.07966706, 0.08529747, -0.093861535, 0.06709627, -0.23922135, 0.25731438, 0.0763321, -0.1010017) * g_16; - result += mat4(0.0023142244, -0.22895189, 0.07123541, -0.033806246, -0.49307954, 0.16494593, 0.011563014, 0.040604062, -0.18492593, -0.2750776, -0.13165577, 0.05981473, 0.03329094, -0.125094, -0.03672828, -0.019734263) * g_17; - result += mat4(-0.049260493, 0.1662821, -0.18388951, 0.23048894, 0.2072809, 0.06807784, -0.29648736, -0.10056884, -0.03960093, 0.46342513, -0.057403132, -0.00022476891, -0.0005029868, 0.43624368, -0.19841333, -0.18943238) * g_18; - result += mat4(-0.06875925, 0.19902602, 0.039521616, -0.025893142, 0.091499686, 0.020004159, 0.07892145, 0.12688632, 0.060283042, -0.11150475, 0.07054853, -0.1520924, -0.19681256, 0.07284978, 0.029370772, 0.22104816) * g_19; - result += vec4(-0.0796562, -0.0549894, 0.3559776, 0.19150664); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf4 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.09465223, -0.10873596, -0.35955498, -0.17102978, -0.07865758, 0.03300757, -0.040852863, 0.20757945, -0.0925244, -0.12299689, 0.0736371, -0.09471192, -0.3779846, 0.009169354, 0.11503113, -0.20957986) * g_0; - result += mat4(-0.058279574, -0.22219251, -0.020915214, 0.0945366, 0.025918057, 0.057270855, -0.09852459, 0.14113797, -0.10049611, 0.03105915, 0.072065726, -0.056170464, 0.07183245, 0.24152692, 0.0058397814, -0.03508323) * g_1; - result += mat4(0.15363896, 0.4238941, 0.123930104, -0.09307702, -0.1192144, -0.16101883, 0.005986172, -0.058577128, -0.19313446, -0.10295509, 0.20574117, 0.06833371, -0.0012903785, 0.29995304, -0.13213697, -0.1254232) * g_2; - result += mat4(-0.2903937, 0.124987245, -0.024089197, -0.052240573, -0.024258995, 0.030661397, -0.010137248, -0.1609303, -0.10407328, -0.10629749, 0.04671163, -0.02009596, -0.07435262, -0.14072737, 0.2149428, 0.018486146) * g_3; - result += mat4(-0.21417011, 0.2847672, -0.029020585, -0.10139499, -0.07400215, 0.10372491, 0.15485775, 0.12855476, 0.12904498, -0.08895321, -0.05515003, -0.20980029, 0.062432468, -0.038182955, -0.1816266, 0.355782) * g_4; - result += mat4(-0.027595734, 0.12219175, -0.19319062, 0.035706658, -0.022891225, -0.085733496, -0.036004573, 0.051092744, -0.054424077, -0.030906882, -0.024611901, 0.08716703, 0.22153278, 0.13969363, -0.09846757, 0.016469453) * g_5; - result += mat4(0.09095948, -0.03645167, 0.27152961, -1.7102455e-05, -0.007632466, -0.15666215, -0.26401493, -0.1549594, 0.050031006, 0.06181179, 0.07006888, -0.04870327, 0.3641525, -0.008073426, 0.16188, -0.091207646) * g_6; - result += mat4(0.11283634, -0.005790793, -0.013517275, -0.16165686, -0.08701689, 0.033309393, 0.0010972739, 0.1642712, 0.04757619, -0.21329707, -0.04592619, 0.08010882, -0.10787384, 0.059010185, 0.05669982, 0.05839971) * g_7; - result += mat4(-0.0017897426, 0.096831605, -0.10264635, -0.0007392807, 0.042224903, -0.07351851, 0.16442567, -0.10968471, 0.056543402, 0.38061613, -0.3234678, 0.22569597, -0.077230684, -0.3087383, 0.081054784, 0.087633185) * g_8; - result += mat4(0.080605924, 0.06986007, 0.28359544, -0.3324396, 0.032405134, 0.011231502, 0.10453376, 0.15081415, 0.23304632, 0.01282744, -0.110539354, 0.119230196, -0.08274707, 0.79631245, -0.0049962257, -0.06853797) * g_9; - result += mat4(0.24957526, -0.35100362, 0.14683032, 0.11050717, -0.08336315, 0.04131765, -0.19087222, -0.101899385, 0.122537844, -0.059581943, 0.11842144, -0.17657922, -0.017872468, -0.20183705, -0.08783171, -0.0649328) * g_10; - result += mat4(0.1166889, -0.23226629, 0.12511998, -0.15160328, -0.035666835, -0.091406055, 0.064867236, 0.04495807, 0.014363706, 0.13465384, 0.012661851, -0.007246858, -0.08463122, -0.1826089, 0.008594106, 0.05406961) * g_11; - result += mat4(-0.044576548, 0.03944883, 0.02922514, 0.04857608, 0.07982457, 0.28547665, -0.2580222, 0.27174193, -0.009301607, -0.15731618, 0.27248174, 0.111558996, 0.016642686, -0.070072554, -0.25297874, -0.13660255) * g_12; - result += mat4(0.0619904, 0.027571948, -0.20821859, -0.075592734, -0.047970783, -0.16417085, -0.23739098, -0.43939596, 0.028930046, 0.0899, -0.24729219, -0.18904929, 0.04907895, 0.13355176, -0.032109547, -0.029098922) * g_13; - result += mat4(-0.075305015, -0.004550873, 0.079111785, 0.0367624, -0.28268716, 0.034016214, 0.061273348, -0.29881823, 0.346599, 0.10867586, 0.1497806, 0.092778146, -0.26263794, 0.061326664, 0.15384254, 0.13936105) * g_14; - result += mat4(0.2143571, 0.04833282, 0.018522646, -0.12657177, 0.2562043, 0.19504175, 0.07278834, -0.05239313, -0.46725237, -0.117593594, 0.021978024, -0.2434228, 0.25235966, -0.06409148, 0.0025807568, 0.06643222) * g_15; - result += mat4(-0.38482606, 0.0037258423, -0.024128545, 0.050342213, -0.17996104, -0.12157712, 0.028484367, -0.11472539, 0.17927656, 0.043731786, 0.08844086, -0.013330732, 0.05990761, 0.2168297, 0.09100677, -0.0008136453) * g_16; - result += mat4(0.50347346, 0.1341378, 0.023524579, -0.1837871, 0.145017, -0.06573727, 0.02377743, -0.03617753, -0.07013405, -0.21561088, 0.1574615, 0.17621611, -0.000903247, -0.19177268, -0.013945821, 0.0014927404) * g_17; - result += mat4(0.024711724, 0.3515622, 0.47648275, 0.07185405, 0.20586282, 0.17289369, 0.042327203, 0.34730917, 0.03348624, 0.008369107, 0.24884492, -0.019298946, 0.02819896, -0.087031476, -0.002446221, -0.18767828) * g_18; - result += mat4(-0.0786536, 0.13503742, 0.3140287, -0.21691471, -0.1240609, 0.106962465, 0.039765242, -0.09525154, -0.11635654, -0.025509981, -0.09417984, 0.27709702, -0.050951984, 0.012091699, 0.0031243872, 0.17191774) * g_19; - result += vec4(0.009157748, 0.0064318995, 0.070232585, 0.055942155); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 -//!HOOK MAIN -//!BIND conv2d_6_tf -//!BIND conv2d_6_tf1 -//!BIND conv2d_6_tf2 -//!BIND conv2d_6_tf3 -//!BIND conv2d_6_tf4 -//!BIND conv2d_6_tf5 -//!BIND conv2d_8_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!SAVE conv2d_9_tf5 -//!WIDTH conv2d_6_tf.w -//!HEIGHT conv2d_6_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1922669, 0.08802744, -0.028858658, 0.0018137145, 0.049583502, 0.054931905, 0.06461622, -0.1545738, -0.24787578, -0.3030694, -0.43755215, -0.08891142, -0.0072859223, 0.33978176, -0.08431318, -0.074049324) * g_0; - result += mat4(0.12638506, -0.1162002, -0.13160661, -0.07876044, 0.0991572, 0.15431085, -0.014509431, -0.021629302, -0.03953747, -0.121313706, 0.11476493, -0.21827452, -0.055972893, -0.21574646, 0.013953077, 0.008131167) * g_1; - result += mat4(0.22515556, -0.38520855, 0.08868661, 0.072899625, -0.0066298717, 0.17697194, 0.16426025, -0.047008827, 0.0667103, -0.20082757, -0.022680001, -0.13906951, -0.11068086, -0.18871038, -0.14856437, -0.22906394) * g_2; - result += mat4(0.06496998, 0.33180842, 0.035600964, 0.008669803, -0.21089098, 0.024426313, 0.097489424, 0.19989817, 0.09799698, -0.19460952, 0.31317624, -0.054178897, 0.06745894, 0.24180534, -0.18725993, -0.09876676) * g_3; - result += mat4(-0.14159264, -0.09821653, 0.111369886, -0.13888422, 0.19065087, -0.052074507, 0.25994346, -0.09896752, 0.009669414, 0.3327987, -0.03835561, 0.1502805, 0.06749692, -0.25075352, 0.1176795, 0.2861322) * g_4; - result += mat4(0.08663468, -0.09579272, 0.15255743, 0.11586089, 0.096744135, -0.106523454, -0.23779331, -0.039372843, -0.044640735, -0.073639855, -0.09300802, -0.016469873, -0.017932354, -0.15118197, 0.07342249, 0.08470412) * g_5; - result += mat4(-0.22996324, 0.2121147, -0.042765424, 0.29991713, -0.1105575, -0.22186373, -0.099884614, 0.28284577, 0.019985273, 0.18109971, 0.067379884, -0.05751364, -0.14203605, -0.1606955, -0.04072121, 0.14415282) * g_6; - result += mat4(-0.010768784, 0.013500415, -0.05128568, -0.20169108, 0.21437442, -0.2470299, 0.0067167566, 0.3354006, 0.29098728, 0.3001768, 0.11471926, -0.34384128, 0.013220707, -0.21317835, -0.007173589, 0.056399934) * g_7; - result += mat4(-0.25603592, 0.008419834, 0.035636842, -0.07926287, 0.05415962, -0.24778326, -0.24242976, 0.20616682, 0.13446097, -0.26829332, -0.043394912, -0.15304199, 0.26440972, -0.28728306, 0.0017775068, -0.031716976) * g_8; - result += mat4(-0.2344917, -0.061300833, 0.40446028, 0.42343828, -0.2158991, 0.39550748, 0.13935845, -0.15041998, 0.13921916, 0.18082108, 0.04385846, 0.142258, -0.21331908, -0.26960972, 0.031336915, 0.23779747) * g_9; - result += mat4(0.06346781, 0.07501524, -0.20003422, -0.115085386, -0.027196221, -0.027326047, 0.0592106, -0.23421998, -0.003150606, -0.31265986, 0.088709556, -0.10167917, -0.14837898, 0.37943587, 0.1447625, 0.080040015) * g_10; - result += mat4(-0.15046267, 0.265076, -0.19776449, -0.20232256, 0.06413749, 0.26056677, 0.079985835, -0.23233825, -0.24333598, -0.18887608, -0.16819565, 0.047695916, 0.010287012, 0.3019047, 0.148884, -0.10863938) * g_11; - result += mat4(-0.0018880082, -0.2375455, 0.41955757, 0.01565566, 0.0898848, 0.028822318, -0.1900471, 0.15390472, -0.07475509, 0.028788034, 0.14377898, -0.018586636, 0.15499766, -0.0181846, -0.1712958, 0.26694313) * g_12; - result += mat4(-0.019247968, -0.22267476, -0.20527479, -0.05516891, -0.10443534, 0.0013541149, -0.35172266, 0.08538575, 0.033067722, -0.18152483, -0.23448412, -0.02623179, -0.13003229, 0.13998169, 0.0376709, -0.19369106) * g_13; - result += mat4(0.3118797, 0.082491405, -0.34785077, -0.22611658, -0.07956514, 0.11574769, 0.16532372, -0.2226821, 0.06791281, -0.098187685, -0.08020048, 0.12613155, -0.2472526, -0.27066618, -0.139881, -0.18741405) * g_14; - result += mat4(-0.12976451, 0.14284736, 0.19006614, 0.07724795, 0.062145814, -0.36040485, -0.25726667, -0.04952468, 0.02644045, 0.044718564, 0.27806777, -0.048151493, -0.06354555, -0.0005565615, 0.14224754, 0.17653286) * g_15; - result += mat4(-0.17252563, 0.023060834, 0.02491499, 0.19027406, -0.212846, -0.01613939, -0.068693444, -0.14507875, -0.08602362, 0.02112319, 0.19688891, 0.28616062, 0.12502767, -0.16866814, 0.096094206, -0.087079056) * g_16; - result += mat4(-0.0105957305, -0.00042306812, -0.073753655, 0.2258738, 0.015042403, 0.26525986, 0.09652541, 0.33078325, -0.054301977, -0.14386192, -0.09737477, -0.1822451, -0.07917178, 0.012320757, -0.1526825, -0.08518065) * g_17; - result += mat4(-0.053449947, -0.26979092, 0.21039961, 0.0002728565, 0.1097202, -0.004250707, -0.038437147, 0.27996743, -0.046362147, -0.021696959, 0.077650055, -0.07844942, -0.10120125, 0.08145741, 0.10650856, 0.0026023765) * g_18; - result += mat4(0.24465938, -0.095935315, -0.21770145, -0.24916768, 0.13544445, -0.013464758, 0.13948593, -0.123387456, 0.14965056, -0.027013663, 0.3156395, -0.06620409, 0.07764431, -0.14184502, -0.23861314, 0.11016456) * g_19; - result += vec4(0.05315733, 0.009354445, 0.074799225, 0.048262358); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!SAVE conv2d_11_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.11065729, -0.033565044, -0.2329061, 0.0078558875, -0.07121535, 0.13447808, -0.48046845, 0.1651893, -0.021583451, 0.09004625, 0.30772808, 0.046850167, -0.12196115, 0.20660469, -0.06685862, -0.084653415) * go_0(-1.0, -1.0); - result += mat4(-0.1721154, -0.017597089, -0.16192035, 0.15263753, -0.26492825, 0.009456457, 0.037399817, 0.23390785, -0.049550038, -0.026080197, 0.14206415, 0.008774876, 0.063705266, 0.051765062, 0.24875836, 0.099421404) * go_0(-1.0, 0.0); - result += mat4(-0.047302574, -0.016512489, 0.06810586, -0.06868577, 0.025998915, 0.058887336, 0.001597515, -0.12256784, 0.08268936, 0.03727418, 0.18887138, 0.06894959, 0.3205655, -0.018711518, -0.044558458, -0.057956032) * go_0(-1.0, 1.0); - result += mat4(-0.1517841, -0.23244041, -0.17393516, -0.23926319, -0.4361466, -0.30781198, -0.18288358, -0.020540912, 0.06586069, -0.21133885, 0.043229107, -0.027916892, -0.048755284, -0.05953157, -0.19556823, -0.07165948) * go_0(0.0, -1.0); - result += mat4(-0.1174694, 0.054337397, 0.12835175, 0.09959543, 0.033005662, 0.18233524, -0.256386, -0.048866775, -0.14466491, -0.13285607, -0.03937386, -0.019240126, -0.10373259, -0.1657274, -0.24291772, 0.075199485) * go_0(0.0, 0.0); - result += mat4(0.08207701, 0.0069850767, 0.16064502, -0.14246464, -0.17855522, -0.006616863, -0.20864315, 0.028733289, -0.12688828, -0.2265197, -0.12573537, 0.096166134, 0.1005094, -0.025901344, -0.01940587, -0.00094570883) * go_0(0.0, 1.0); - result += mat4(0.14291742, -0.36148882, -0.015547496, 0.20172058, -0.34360975, -0.25096804, -0.028675647, -0.16680753, 0.083879635, -0.07020056, -0.014250424, -0.032770164, 0.10160873, 0.061744668, 0.13513815, 0.13051409) * go_0(1.0, -1.0); - result += mat4(-0.34734267, -0.05261325, 0.34533986, 0.015022912, -0.3798942, 0.052754287, -0.044300254, 0.0026329095, -0.05218254, -0.051167574, -0.18714808, 0.03277871, -0.13485578, -0.07783909, 0.23404102, -0.06266696) * go_0(1.0, 0.0); - result += mat4(0.08901671, 0.03258588, 0.19680169, -0.10170613, -0.25134686, -0.03096738, 0.08763064, 0.15013361, -0.054004118, 0.029791253, -0.14162092, -0.0421743, -0.039308522, -0.03239244, 0.0026326722, -0.045754924) * go_0(1.0, 1.0); - result += mat4(0.08676345, -0.35174674, -0.11236161, 0.05293886, -0.07480023, -0.101317465, -0.12046224, 0.039460886, 0.07051205, 0.059597883, -0.028280778, 0.03134286, 0.15486175, -0.031330753, 0.15584795, -0.102045245) * go_1(-1.0, -1.0); - result += mat4(0.1252375, 0.091515355, -0.08060989, 0.07655616, -0.031962767, -0.015003918, -0.019061645, -0.038605515, 0.041674748, 0.019495333, -0.074719995, 0.111798435, 0.35053942, -0.21865605, -0.035492726, -0.19251086) * go_1(-1.0, 0.0); - result += mat4(-0.2521477, 0.035690635, -0.1748867, 0.16958003, 0.082237944, 0.037905395, -0.20225619, -0.01181544, -0.0730941, 0.08402793, -0.004251873, 0.15961078, 0.24414352, -0.07390854, 0.11883077, -0.11432912) * go_1(-1.0, 1.0); - result += mat4(-0.09039999, 0.08458838, -0.17640921, 0.22679248, -0.09973631, -0.10150884, -0.12132154, -0.063188024, -0.06142147, -0.044643465, 0.07774642, 0.10063658, 0.012656136, -0.07811268, -0.11025514, -0.03877614) * go_1(0.0, -1.0); - result += mat4(-0.3758025, 0.39612144, -0.38509527, 0.065648146, 0.18610518, 0.24517001, -0.082178675, 0.0054388554, 0.091793224, -0.006966941, 0.023598287, 0.09363874, 0.02030536, -0.1162773, -0.1702807, -0.10238526) * go_1(0.0, 0.0); - result += mat4(0.06522886, 0.01968204, 0.013276272, 0.06622485, 0.0966013, 0.04298673, 0.06357989, 0.0686297, 0.036044475, 0.09697355, 0.0923304, -0.027402518, 0.23022865, 0.009975208, 0.09505576, -0.06265446) * go_1(0.0, 1.0); - result += mat4(-0.07985259, -0.067997314, 0.11987299, 0.0835397, -0.12091872, 0.030830579, 0.031313404, 0.06652082, -0.07365764, 0.022173064, 0.038719, -0.16344336, 0.07253899, 0.022317031, 0.1831806, -0.052748464) * go_1(1.0, -1.0); - result += mat4(-0.0634643, 0.050153147, 0.1089263, 0.16260117, -0.19715269, 0.04525501, 0.2851316, -0.14279072, 0.08007492, 0.14796089, -0.13729408, -0.11116092, -0.17260908, -0.019579785, -0.025702966, 0.15135053) * go_1(1.0, 0.0); - result += mat4(0.045409318, 0.22306903, -0.23696704, 0.30549112, 0.016529143, 0.09789025, 0.046990365, -0.087783515, 0.116460465, 0.04390236, -0.056050096, -0.026875896, 0.22284238, 0.014261535, -0.13459139, -0.052002028) * go_1(1.0, 1.0); - result += mat4(0.033934735, 0.03744048, -0.14255948, 0.1060668, 0.17200193, 0.032943442, 0.15052855, 0.0703971, 0.11046219, -0.063354306, -0.19214186, -0.14163889, 0.2878844, -0.06460431, -0.021372154, 0.19077174) * go_2(-1.0, -1.0); - result += mat4(-0.008314957, -0.078829214, 0.036322586, 0.1370874, -0.09932989, 0.08450153, 0.05382594, 0.10578927, -0.06620096, -0.03751784, 0.0685656, 0.0146967, -0.17852665, -0.09221525, 0.163109, 0.39510122) * go_2(-1.0, 0.0); - result += mat4(0.21959463, -0.0673742, -0.05068107, -0.14604324, 0.032997485, -0.036264967, 0.0025804765, -0.0032351657, -0.055149194, -0.010604908, -0.01948609, 0.11715798, -0.007900997, 0.012781306, -0.102708206, -0.18385006) * go_2(-1.0, 1.0); - result += mat4(0.16189429, 0.2974257, 0.028685816, -0.041304193, 0.104191594, -0.10642667, -0.1165585, -0.06683831, -0.030429205, -0.10225779, 0.06759207, 0.1287473, 0.08969416, 0.024031915, 0.08996185, 0.021237956) * go_2(0.0, -1.0); - result += mat4(-0.067058615, -0.06869974, 0.28236046, 0.14531423, 0.11858161, -0.01654489, 0.12848209, -0.003918965, -0.17918663, -0.15143135, -0.19069745, 0.023554064, 0.024598364, 0.1321118, 0.48159206, -0.09269644) * go_2(0.0, 0.0); - result += mat4(0.115231544, -0.0032554602, 0.0041012196, -0.0046674996, 0.14599484, 0.032397192, 0.08553145, -0.026185688, -0.21801896, -0.22803733, 0.22832747, 0.03817061, -0.069230415, 0.0324615, -0.245797, -0.19035016) * go_2(0.0, 1.0); - result += mat4(-0.16802694, 0.19597448, 0.049715098, 0.018987939, 0.1563443, -0.09048181, 0.06861489, 0.029435834, -0.14661247, 0.17823257, -0.015096998, -0.18206248, -0.1122397, -0.0024176831, -0.02847615, -0.17265147) * go_2(1.0, -1.0); - result += mat4(0.06423479, -0.0048467508, 0.026251012, -0.0871601, 0.010739662, 0.1324091, 0.10091656, -0.06778729, -0.061860725, 0.14850748, 0.18788461, -0.22935927, -0.04521556, 0.22395493, 0.050345525, -0.08274999) * go_2(1.0, 0.0); - result += mat4(0.048296567, 0.111412406, 0.01575327, -0.08608332, 0.051853668, 0.06310964, 0.056300834, -0.167152, -0.05985545, 0.077944554, 0.30849454, -0.24084799, 0.013268605, 0.055026837, -0.20886575, -0.030484412) * go_2(1.0, 1.0); - result += mat4(-0.22162361, -0.00891929, 0.22843885, 0.014100439, -0.019914588, -0.10437051, -0.0046799625, 0.06363446, 0.053681366, 0.07912179, 0.16156994, -0.06831938, 0.14298461, -0.012671532, 0.12209479, -0.15130728) * go_3(-1.0, -1.0); - result += mat4(0.034879692, 0.1260956, 0.031183518, -0.010902104, 0.05384002, -0.20230055, -0.16981775, -0.04562737, 0.06405703, 0.15144739, -0.03652416, 0.08995075, -0.010406152, 0.023800947, -0.02023546, -0.11532134) * go_3(-1.0, 0.0); - result += mat4(-0.0051507168, -0.0848511, 0.22892833, 0.042418208, -0.06470052, 0.0319561, -0.069816284, 0.061622996, -0.068940066, 0.046081185, 0.17252927, 0.04726007, 0.05160559, 0.019490944, -0.029676115, 0.035894085) * go_3(-1.0, 1.0); - result += mat4(-0.12114952, -0.098223485, -0.1576559, -0.11341766, -0.053012382, 0.05975512, -0.02405694, -0.075539865, 0.02712277, 0.045053054, -0.042407285, -0.19864829, -0.06831715, 0.027572775, -0.055474814, -0.05826217) * go_3(0.0, -1.0); - result += mat4(0.009547709, 0.11492732, 0.14621596, -0.022977749, -0.08215322, -0.068181336, 0.21877459, 0.16448551, -0.08262295, 0.06695922, -0.05052619, 0.08218141, 0.09815865, -0.017209277, -0.11029214, 0.10387785) * go_3(0.0, 0.0); - result += mat4(0.021276599, -0.1396185, 0.15547532, -0.09525875, -0.017380727, -0.174434, 0.1908772, 0.05106546, 0.048898213, -0.18481675, -0.024676675, 0.020476716, 0.003939256, 0.012242363, -0.1052081, 0.114367664) * go_3(0.0, 1.0); - result += mat4(-0.17372851, -0.1424865, -0.05486458, 0.2676285, 0.0035624248, 0.08725484, -0.007900028, -0.1005391, -0.20805833, 0.061351843, -0.089120075, 0.088012055, 0.030445773, 0.10641649, 0.018887872, 0.05093269) * go_3(1.0, -1.0); - result += mat4(-0.07776571, -0.13671526, -0.11086421, 0.11034073, 0.020306246, -0.028728647, -0.12545891, -0.16932821, 0.15411533, -0.19357502, -0.06345341, 0.03926335, 0.13200106, 0.060615014, 0.014046291, 0.18093176) * go_3(1.0, 0.0); - result += mat4(-0.01706402, -0.10313435, 0.00445817, 0.0032045625, 0.015698014, -0.070094734, -0.10885296, 0.08759509, 0.03067324, -0.18111154, -0.0539245, 0.013589464, -0.024326503, 0.047287695, -0.037094206, -0.034841713) * go_3(1.0, 1.0); - result += mat4(0.22197281, -0.022347828, 0.02685888, -0.10240367, -0.1926851, -0.11706298, -0.06704851, -0.017859183, 0.00025039204, -0.04612332, 0.08610041, 0.15679866, 0.063804425, -0.1016019, 0.02813499, -0.038362153) * go_4(-1.0, -1.0); - result += mat4(0.14892037, -0.024246952, -0.21368289, 0.03536149, -0.08644949, -0.13224818, -0.0521787, -0.09096727, -0.3271048, -0.065186724, -0.002157824, 0.08384631, 0.055492498, 0.03269878, 0.0067793853, 0.029622784) * go_4(-1.0, 0.0); - result += mat4(-0.00528388, 0.0063680154, 0.026256558, 0.05468057, -0.20092459, -0.03719278, -0.043252084, 0.057888906, -0.009566334, -0.11301503, 0.019822683, 0.052704863, 0.055489272, 0.07455167, -0.09751699, 0.005783364) * go_4(-1.0, 1.0); - result += mat4(0.107178226, -0.13112251, -0.035829626, -0.10725111, 0.023242824, 0.07523588, 0.07845659, -0.011750167, 0.0466798, -0.24150136, 0.2681371, 0.002484224, -0.26805767, 0.15951233, -0.058928348, 0.07894071) * go_4(0.0, -1.0); - result += mat4(0.117843606, -0.3197398, 0.22887307, 0.11072152, 0.11311824, -0.29953524, 0.045007616, 0.047428284, -0.14508507, -0.16023712, 0.14998578, -0.045239456, -0.13850681, -0.06758438, -0.20843203, -0.12846175) * go_4(0.0, 0.0); - result += mat4(0.2089775, 0.15191884, 0.19236302, -0.12852545, -0.017758507, 0.054735895, 0.2057903, 0.01578931, 0.06712026, 0.11611963, 0.041994072, -0.2348366, -0.09687036, 0.05122309, -0.13020395, 0.12760021) * go_4(0.0, 1.0); - result += mat4(0.1674606, -0.23622335, 0.21831974, -0.19162895, -0.0653262, -0.19253829, -0.025073627, -0.031931855, 0.09056663, 0.009096665, -0.07437006, -0.20607735, -0.035784222, -0.13755737, 0.105823584, 0.021616982) * go_4(1.0, -1.0); - result += mat4(-0.12060124, -0.05081354, 0.019493153, -0.17280865, -0.09652722, -0.22406265, 0.055743024, -0.064455345, 0.020935146, -0.05912329, -0.023218567, 0.08459226, -0.27066386, -0.009149911, 0.031394698, -0.09333024) * go_4(1.0, 0.0); - result += mat4(0.07529214, 0.18329029, -0.053039473, -0.15814133, -0.056002066, 0.049465064, 0.122380644, -0.095161386, -0.01707029, -0.021291345, -0.064365804, 0.042289734, 0.0096676815, 0.16314495, 0.061155442, -0.0072070844) * go_4(1.0, 1.0); - result += mat4(-0.18325166, -0.045254577, -0.07755575, -0.015819173, -0.053942695, -0.1564633, 0.24598272, -0.01649073, -0.11030772, -0.3956073, 0.0067733866, 0.08979125, -0.087877646, 0.111440755, -0.031384, 0.0041654776) * go_5(-1.0, -1.0); - result += mat4(-0.08632575, 0.01247107, 0.073227346, -0.02861831, -0.06667062, 0.00631046, 0.014473328, -0.14449167, -0.23806049, 0.06853407, 0.044759657, 0.13089806, -0.06534994, 0.09364583, 0.25784552, -0.04829764) * go_5(-1.0, 0.0); - result += mat4(0.055283614, 0.095919676, -0.17018771, -0.10706522, -0.060850658, -0.15489587, 0.096590616, -0.15492146, -0.117981836, 0.0031413063, 0.20087089, 0.0842084, 0.044810157, -0.12295185, -0.04900455, 0.022688968) * go_5(-1.0, 1.0); - result += mat4(-0.04983315, -0.018766034, 0.110484764, 0.06876715, -0.040869314, -0.21283215, 0.12169796, -0.08138329, -0.05879556, -0.4355045, 0.18808807, 0.15669084, 0.051187377, 0.17142825, -0.07497983, 0.00198669) * go_5(0.0, -1.0); - result += mat4(-0.061976284, 0.13500537, -0.10203683, -0.016636437, -0.02491998, -0.01352495, -0.019896744, -0.10472221, -0.34705746, -0.16710368, 0.1022697, -0.07555259, 0.07735059, -0.06643135, -0.1400189, -0.00091027044) * go_5(0.0, 0.0); - result += mat4(-0.02308153, 0.03587171, -0.06439805, -0.03391213, -0.13628857, 0.01694368, 0.05886299, -0.16476311, -0.005419486, -0.06331514, 0.11643934, -0.16962259, -0.16336058, -0.08988242, 0.15452544, 0.089317046) * go_5(0.0, 1.0); - result += mat4(-0.1820998, -0.08794822, -0.121190175, 0.122091204, 0.012820464, 0.09933649, 0.2141602, -0.08854414, -0.05771915, 0.18643157, 0.08712915, 0.06973249, -0.12666526, 0.024907013, 0.109394126, 0.04836077) * go_5(1.0, -1.0); - result += mat4(-0.17639092, -0.04720988, -0.0038245695, 0.16056724, 0.12734261, 0.055577323, 0.15901293, 0.05271541, 0.04766261, 0.12878492, -0.0549527, 0.04790089, -0.091121376, -0.0013024703, 0.37799272, -0.08539876) * go_5(1.0, 0.0); - result += mat4(0.106956095, -0.1319375, -0.126656, 0.0709718, 0.10223421, 0.01119111, 0.09486624, 0.03244709, -0.02933061, -0.19111432, -0.24627611, 0.0672316, 0.0025987737, 0.013657685, 0.09979212, -0.050996147) * go_5(1.0, 1.0); - result += mat4(0.08628728, 0.100198254, 0.022478774, -0.056689125, -0.14032082, 0.036446873, -0.008617598, -0.013536469, 0.011264824, -0.026743524, 0.047261734, -0.03531947, -0.28368023, 0.013742331, -0.2491621, 0.10458443) * go_6(-1.0, -1.0); - result += mat4(0.0151652815, 0.10615742, 0.028310398, -0.050413925, -0.014452144, 0.07141453, -0.0051745498, -0.040412616, 0.0024879081, -0.028745392, 0.028668849, -0.05288013, -0.26013553, 0.1665632, 0.092639334, 0.392492) * go_6(-1.0, 0.0); - result += mat4(0.07644084, 0.06848576, 0.0021437998, 0.161489, -0.023799606, -0.0639256, -0.07002663, 0.089794315, -0.16638722, 0.028898913, -0.10682576, 0.037343755, -0.17456193, 0.020488204, -0.086536296, 0.21236399) * go_6(-1.0, 1.0); - result += mat4(-0.029148629, -0.16979113, 0.18869588, 0.17955571, -0.114676945, -0.048160102, 0.035702094, -0.0605213, 0.04062305, 0.078081146, 0.12024688, 0.1189308, -0.1789993, -0.025458511, 0.21930633, 0.2965206) * go_6(0.0, -1.0); - result += mat4(0.058818035, 0.09351513, -0.038147923, -0.05888233, 0.09451917, -0.061343953, -0.07387799, -0.042226378, 0.15697896, -0.045863792, 0.20019881, 0.01643532, -0.09655159, -0.026225686, -0.03686413, 0.049890447) * go_6(0.0, 0.0); - result += mat4(0.09177433, 0.015848925, 0.12088713, -0.07016451, 0.0844307, 0.05633303, 0.01984136, -0.083530255, -0.20395234, 0.033483133, 0.22520478, -0.0579029, -0.43986732, 0.046070777, -0.100227945, 0.13268784) * go_6(0.0, 1.0); - result += mat4(0.02913666, 0.05129688, 0.07668126, 0.016638732, 0.04686301, -0.28033668, -0.108468704, -0.038995452, 0.07362143, -0.012212255, 0.028646851, 0.026969483, 0.008973289, -0.15830874, -0.041757222, 0.028859485) * go_6(1.0, -1.0); - result += mat4(0.07564748, 0.0009427685, -0.17376253, 0.036964092, 0.075341046, -0.08996638, -0.18005392, 0.046783317, -0.015427522, -0.021566419, -0.199109, -0.16471949, -0.23009992, 0.14298266, -0.072921954, 0.030295564) * go_6(1.0, 0.0); - result += mat4(0.09034083, 0.04216589, 0.058569096, 0.0037025113, -0.016154546, 0.08337012, -0.10922749, -0.068538666, -0.029674552, 0.12578458, -0.25101903, -0.090225205, -0.202105, 0.14358751, 0.093851075, -0.15241112) * go_6(1.0, 1.0); - result += mat4(0.03903056, 0.08233857, -0.0022924484, 0.024079934, -0.052842163, -0.00267007, -0.051180284, 0.05539778, -0.002714199, 0.2102458, -0.04460931, 0.16837116, -0.00573023, 0.27364895, 0.11105974, -0.09026963) * go_7(-1.0, -1.0); - result += mat4(0.028595762, -0.008292653, 0.14336695, -0.12696268, -0.06808028, 0.042020004, -0.083854616, 0.116240636, 0.11918143, -0.042880658, 0.23967804, 0.043822538, 0.14557965, 0.26447278, 0.0029160809, -0.13183881) * go_7(-1.0, 0.0); - result += mat4(0.042178478, 0.018002568, -0.011068556, 0.044884045, -0.013640079, 0.0053881723, 0.11135908, -0.14666013, 0.13981058, 0.054596525, -0.042387255, -0.11482148, 0.13896775, -0.034096025, -0.041575328, 0.05449477) * go_7(-1.0, 1.0); - result += mat4(0.09525556, 0.19851151, 0.076055124, 0.29026586, -0.09419472, 0.09027977, 0.013685423, -0.047983777, -0.08716191, -0.14222652, -0.008388892, 0.040783685, -0.031232696, 0.16742894, -0.11569261, -0.04626501) * go_7(0.0, -1.0); - result += mat4(0.05320514, 0.08081462, -0.05580297, -0.026681425, 0.14519057, -0.037435655, 0.026225844, -0.043423664, -0.023708133, -0.045244463, -0.10369245, -0.13514094, 0.18076439, 0.10073657, -0.10712064, 0.12635425) * go_7(0.0, 0.0); - result += mat4(0.005628486, 0.04270436, 0.1267877, 0.114542395, -0.13839991, 0.07906997, -0.06957138, -0.16683838, 0.03349326, 0.044977278, -0.1685757, -0.00046340175, 0.18370599, -0.05940734, 0.020395162, -0.031567227) * go_7(0.0, 1.0); - result += mat4(0.13681708, 0.2346991, 0.051812045, 0.065648906, 0.13176957, -0.084621936, -0.07531807, -0.07156236, 0.058895696, 0.032378554, -0.07771784, -0.10980397, -0.015169023, -0.05950244, -0.09908113, 0.0977379) * go_7(1.0, -1.0); - result += mat4(0.09326806, 0.1694491, 0.037888683, -0.08149546, -0.023769435, -0.07241216, -0.049574904, -0.23729254, -0.024154654, 0.018140024, -0.10478698, -0.01710802, 0.009432474, -0.116787165, -0.056661345, 0.07300504) * go_7(1.0, 0.0); - result += mat4(0.018172484, -0.037209284, 0.16821837, -0.16321209, -0.0874226, -0.04208038, -0.1303155, 0.048981696, 0.042598773, 0.040467937, 0.08786169, -0.02833674, -0.044636574, -0.13285205, -0.08014891, 0.25360805) * go_7(1.0, 1.0); - result += mat4(0.10933973, -0.0032548686, -0.019452592, -0.095842555, 0.13893707, -0.12526812, 0.117852844, -0.06800425, 0.08026704, 0.044144094, 0.25443858, 0.07538359, 0.00042005768, -0.30907953, 0.13097566, 0.101204425) * go_8(-1.0, -1.0); - result += mat4(0.07118185, 0.046251785, -0.11115541, 0.06618316, 0.097866945, -0.12117605, 0.05519998, -0.11781476, 0.0131052835, 0.037423946, 0.10627396, -0.05248695, -0.21301521, -0.33259806, -0.026187347, 0.038396128) * go_8(-1.0, 0.0); - result += mat4(0.026669113, 0.041641407, 0.020903202, 0.053846374, 0.13740797, -0.043149393, 0.05964187, 0.012248991, 0.1220929, -0.12675147, 0.059511486, -0.033113457, 0.01857414, -0.14271703, -0.029177962, -0.13853773) * go_8(-1.0, 1.0); - result += mat4(-0.16650377, -0.061009903, -0.0116681615, 0.021638295, 0.08936193, -0.091372, -0.02595066, -0.118770435, 0.107785866, -0.019163927, 0.08443175, 0.0060082804, 0.05759393, -0.16037661, 0.038759813, -0.11965112) * go_8(0.0, -1.0); - result += mat4(-0.11998213, 0.1299257, -0.06063202, -0.04071398, -0.059972808, -0.1754111, -0.08677251, -0.12859741, -0.037563637, 0.040877208, -0.00066555466, -0.1451174, -0.06102044, 0.04763369, -0.064800896, -0.11749359) * go_8(0.0, 0.0); - result += mat4(0.06892601, -0.013343659, -0.06664622, -0.10424136, 0.014268141, -0.0743836, -0.13929653, 0.08718578, 0.13424881, 0.06185525, 0.008922743, 0.00093043817, -0.031792898, 0.04942929, -0.05875928, -0.049445245) * go_8(0.0, 1.0); - result += mat4(0.019740785, 0.09442904, 0.12441261, 0.03690517, -0.026445461, -0.031393915, -0.10382604, -0.04448678, 0.0010918716, -0.1002765, -0.012112531, -0.039969843, 0.17159916, -0.14891349, 0.100035064, 0.00356809) * go_8(1.0, -1.0); - result += mat4(0.0028581363, 0.038335063, -0.0135393385, 0.097922534, -0.13352284, -0.09617056, -0.2743824, 0.2561331, 0.018691247, 0.0049708723, -0.01765825, 0.013614692, -0.100520216, -0.035933983, -0.027674714, -0.14564691) * go_8(1.0, 0.0); - result += mat4(-0.013070652, 0.009267284, -0.06481995, 0.010907154, 0.07727713, -0.002514513, 0.010518841, 0.121947624, -0.012668399, -0.084990434, 0.044394404, 0.013988978, -0.19375595, 0.0736716, -0.013150686, 0.034933046) * go_8(1.0, 1.0); - result += mat4(0.00017506549, -0.093001924, -0.01140557, 0.067514114, 0.051357955, 0.20735298, 0.12061287, -0.12530309, 0.053370517, -0.066189565, -0.004119448, -0.03953937, 0.12940274, -0.06179815, -0.0006715626, -0.17041935) * go_9(-1.0, -1.0); - result += mat4(-0.20064962, -0.13465798, -0.084945045, 0.073212095, -0.055083826, 0.112764575, -0.10380709, 0.212213, 0.11308925, 0.08607191, 0.046215612, -0.101910956, 0.24054714, 0.01284398, 0.10666277, -0.08254704) * go_9(-1.0, 0.0); - result += mat4(-0.06792304, 0.041912746, -0.06322764, -0.03739367, -0.07455351, -0.08081343, 0.2102248, 0.05270946, 0.023480184, 0.11673393, -0.070016764, 0.00019222782, -0.06066527, -0.021409666, -0.09777047, -0.037106793) * go_9(-1.0, 1.0); - result += mat4(-0.026638977, 0.13438208, -0.023500128, 0.020013195, -0.16550663, -0.013727345, -0.06990482, -0.052536458, 0.033496615, 0.028325712, -0.0032830911, -0.06454679, -0.016127445, -0.14684649, -0.046623666, -0.24764042) * go_9(0.0, -1.0); - result += mat4(-0.21883924, -0.13308778, -0.048338667, -0.08265835, 0.24946426, 0.18212394, 0.019211015, 0.13364634, -0.10991381, -0.019370334, 0.15257736, 0.13871881, -0.1110173, 0.18393286, 0.015172226, 0.0051538306) * go_9(0.0, 0.0); - result += mat4(-0.12665296, 0.13529027, -0.18374407, 0.09875144, -0.046080288, 0.1889393, 0.14302395, -0.052254733, 0.051794406, 0.099289164, 0.030776545, 0.01048426, -0.0593129, 0.0062865666, 0.10174894, 0.16441645) * go_9(0.0, 1.0); - result += mat4(0.1589877, -0.022210853, -0.14241305, 0.11298627, -0.02681587, 0.08178478, -0.05506923, 0.09792888, 0.112094805, 0.062720545, 0.16026846, 0.11110019, 0.050593503, -0.15869561, -0.011608442, 0.005309321) * go_9(1.0, -1.0); - result += mat4(0.038660828, 0.0040659993, -0.04615147, 0.03727298, 0.12809865, -0.06620531, -0.04623908, 0.1651001, 0.00331658, 0.038558148, 0.13506873, 0.074754685, -0.034107883, -0.08382398, 0.060850997, 0.1771665) * go_9(1.0, 0.0); - result += mat4(-0.14337118, 0.0552299, -0.066887826, 0.099065475, -0.016262418, 0.04759774, 0.24753757, -0.03123554, 0.09182721, 0.17971586, -0.06117159, -0.0742355, -0.03980454, -0.001462572, 0.20734145, 0.07312291) * go_9(1.0, 1.0); - result += mat4(0.0037743847, 0.047717955, -0.05605929, -0.0110108415, 0.17611906, 0.13866882, -0.2671504, 0.01773803, -0.062665716, -0.1823834, 0.13348061, 0.0065978607, -0.0032421015, 0.037357293, -0.18376032, -0.0390248) * go_10(-1.0, -1.0); - result += mat4(-0.027092014, 0.06426986, 0.14074403, 0.03519113, 0.042043176, -0.0018395231, 0.052804247, 0.09773806, 0.12982424, -0.11521071, -0.11479088, -0.11415672, 0.04768845, 0.13309143, -0.17632663, 0.07915859) * go_10(-1.0, 0.0); - result += mat4(0.09758767, 0.016426437, -0.045750786, 0.04952797, -0.14555432, -4.0141083e-05, 0.066697456, -0.11730303, 0.15418921, 0.025473896, 0.10456666, -0.11348149, -0.14738463, 0.06857866, 0.015933055, 0.06989261) * go_10(-1.0, 1.0); - result += mat4(-0.03398511, 0.24917306, -0.005333344, -0.110437125, 0.002186906, 0.06386028, -0.023896119, -0.0057897726, 0.087479964, -0.10608851, 0.02553874, -0.01517839, 0.06322433, 0.038509168, -0.07753538, 0.033689067) * go_10(0.0, -1.0); - result += mat4(0.06666877, -0.011693419, 0.33397517, -0.120043576, 0.17064095, 0.31786022, 0.24715607, 0.3584479, 0.34158623, 0.16421784, -0.17331788, 0.11301629, -0.04178234, 0.17584772, -0.084835954, 0.086139195) * go_10(0.0, 0.0); - result += mat4(-0.067508556, -0.11236808, 0.14758013, -0.036627058, -0.18279777, 0.05054534, 0.2753345, -0.14180623, 0.100521535, 0.058264427, 0.14143865, -0.035776544, -0.024100186, 0.06573756, 0.05588152, 0.008912967) * go_10(0.0, 1.0); - result += mat4(0.103603594, 0.028021824, 0.10007325, -0.0003912227, -0.0026444877, 0.04181134, 0.015060132, 0.16411744, 0.09541948, -0.09381105, 0.039745413, -0.085353576, -0.013665464, 0.3164363, -0.093714885, -0.07786629) * go_10(1.0, -1.0); - result += mat4(-0.14825682, 0.044950075, 0.2981831, -0.15679139, -0.0005948877, -0.208417, 0.0043193726, -0.074210644, 0.17549054, 0.09871733, -0.11623323, -0.07340507, -0.043644957, 0.18736348, 0.22011474, -0.10750292) * go_10(1.0, 0.0); - result += mat4(0.07765534, 0.08700387, -0.09271718, -0.020416219, -0.20477301, 0.11704565, -0.13559847, -0.16744848, 0.032700196, -0.032000866, 0.11412862, 0.011316682, 0.00068161794, 0.034111973, 0.14950407, -0.16327216) * go_10(1.0, 1.0); - result += mat4(-0.21414798, -0.012332198, 0.19258069, 0.15928881, 0.2062907, 0.14934476, -0.041829843, -0.0063276347, 0.22888815, 0.058699585, 0.13062388, -0.0032300283, 0.03636567, 0.049611546, 0.09329335, -0.10945905) * go_11(-1.0, -1.0); - result += mat4(-0.14186053, -0.09123882, 0.115746394, -0.2150315, 0.022147365, -0.013454767, -0.038911335, 0.07363767, -0.09786827, -0.071230784, -0.15443157, 0.02213909, 0.18729436, -0.05482962, -0.17132843, -0.026424143) * go_11(-1.0, 0.0); - result += mat4(0.109661706, 0.02474746, 0.070871696, 0.007776041, 0.050332006, 0.056008294, 0.060420737, -0.06345865, -0.18401794, -0.05386088, -0.074733675, 0.050853673, -0.08412603, 0.08624613, 0.016043609, 0.10254663) * go_11(-1.0, 1.0); - result += mat4(0.120847985, 0.049095254, -0.08091177, -0.15146309, -0.060347494, -9.089845e-07, -0.034889948, 0.092476286, 0.12363665, 0.1337514, 0.043469135, -0.099697076, -0.042482477, -0.010817118, 0.0036097392, 0.04632124) * go_11(0.0, -1.0); - result += mat4(-0.30797794, -0.21694258, -0.32600638, -0.21443155, -0.14964935, -0.11397073, -0.023484698, 0.054071233, 0.057091843, -0.15534031, 0.12363899, -0.047648482, 0.049290933, -0.07911749, -0.078762844, 0.04101302) * go_11(0.0, 0.0); - result += mat4(-0.059090212, -0.059974886, 0.058480687, -0.18894748, 0.115376465, 0.0070691905, -0.09693795, -0.052684877, -0.02742734, 0.067696705, -0.03288631, -0.041373957, 0.014531993, -0.057073075, -0.011771917, 0.06637675) * go_11(0.0, 1.0); - result += mat4(0.07550267, -0.23278087, -0.071260504, 0.061996948, 0.034905028, 0.023406243, -0.0126258405, 0.077121764, -0.07382028, 0.17757049, 0.058110423, -0.14503844, 0.07383154, -0.02137785, -0.19587317, -0.16178058) * go_11(1.0, -1.0); - result += mat4(-0.11755791, 0.13424352, -0.16016826, -0.019992057, -0.047298156, 0.01004467, 0.06941013, 0.052857235, 0.08608681, -0.04066077, 0.04005646, -0.047089808, 0.12408067, -0.027687239, -0.23384126, 0.13142079) * go_11(1.0, 0.0); - result += mat4(-0.06669859, -0.16045739, -0.12720731, -0.08351044, -0.027273893, 0.028870165, -0.00805259, 0.04537818, 0.11262208, -0.03779596, -0.15002215, -0.039273832, -0.024323156, -0.046387933, -0.15321706, 0.005771357) * go_11(1.0, 1.0); - result += vec4(0.10894316, 0.071547955, 0.027167924, -0.059796084); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!SAVE conv2d_10_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10452997, -0.13095978, -0.07095766, -0.08796653, 0.03866794, -0.043399118, 0.024883011, -0.09586787, 0.018307796, 0.040046573, 0.018612234, -0.01401313, 0.0469296, -0.022648746, -0.18145785, -0.05363776) * go_0(-1.0, -1.0); - result += mat4(0.013178503, 0.06755441, -0.09643171, 0.13014862, 0.056539636, 0.11870831, 0.1415756, -0.08151077, 0.056978893, 0.08937851, -0.010595186, 0.109434165, 0.025058694, -0.0009918044, -0.11445685, 0.126302) * go_0(-1.0, 0.0); - result += mat4(0.036922082, 0.03507632, -0.06673393, -0.0071013994, 0.2115374, 0.101692274, -0.017003234, 0.004189955, 0.03438348, -0.0010478764, -0.02670522, 0.11157027, 0.07555884, 0.09292964, -0.025815992, 0.019873831) * go_0(-1.0, 1.0); - result += mat4(-0.011043987, 0.27828768, -0.0787606, 0.00814027, 0.14742489, 0.09057401, 0.14341462, 0.017803868, 0.015630204, -0.0854152, -0.04623994, 0.04082336, 0.055078205, -0.060800023, -0.14535382, -0.11797596) * go_0(0.0, -1.0); - result += mat4(-0.3072509, -0.021771854, 0.11620209, 0.29259723, 0.23683707, 0.09896129, 0.14885803, -0.050370943, 0.056750596, -0.0065239333, -0.085222304, 0.025453214, -0.101827756, -0.013222416, 0.040324558, -0.05698598) * go_0(0.0, 0.0); - result += mat4(-0.19954187, -0.059767995, -0.027981527, -0.11735074, 0.20466456, -0.068525285, -0.024514228, -0.026067065, 0.029342389, 0.08362535, -0.060780793, 0.14181589, 0.03498695, -0.11649479, -0.11296758, 0.08277133) * go_0(0.0, 1.0); - result += mat4(-0.1615255, -0.057027902, -0.1823957, 0.0506974, 0.12113598, 0.15339117, 0.34968796, 0.066086926, 0.069675244, 0.033386946, -0.035866383, 0.07185366, -0.083839566, -0.042833883, -0.056060445, -0.09189207) * go_0(1.0, -1.0); - result += mat4(0.07796149, 0.044739865, -0.026137045, 0.08958096, 0.08173487, 0.029362332, -0.016568858, 0.062199887, -0.07423595, -0.03671977, -0.11045231, 0.069651514, -0.107064106, 0.07661068, 0.21609463, -0.10699304) * go_0(1.0, 0.0); - result += mat4(-0.028772483, 0.08446065, 0.10646146, -0.071518324, -0.07903977, 0.052197788, 0.1014172, 0.042190935, -0.013090111, -0.040251464, -0.18115999, 0.12099481, -0.025876138, -0.030597595, 0.106149204, -0.07030567) * go_0(1.0, 1.0); - result += mat4(-0.13326715, 0.19432688, 0.09731876, 0.10828527, 0.066808715, 0.030789638, 0.07041423, 0.024127241, -0.112927236, -0.013175536, -0.014216315, 0.0070423502, -0.16314755, -0.06248599, 0.058374085, -0.055313278) * go_1(-1.0, -1.0); - result += mat4(-0.20911148, 0.20744188, 0.20493339, -0.023415204, 0.13066125, -0.030369021, -0.04234326, 0.021027198, -0.016199784, -0.11193428, -0.035312437, -0.06372358, -0.11814957, 0.0017009035, 0.002493426, 0.058106538) * go_1(-1.0, 0.0); - result += mat4(-0.097311296, 0.27211997, 0.008951564, 0.06948919, 0.07667662, -0.14638281, -0.11177974, 0.09918961, 0.0064272317, 0.028199617, 0.05246489, 0.07158526, -0.008353152, -0.040840387, 0.046594895, 0.064548075) * go_1(-1.0, 1.0); - result += mat4(-0.016557988, 0.07811643, 0.08168028, 0.025279261, 0.028269911, 0.032241974, 0.11728174, -0.19921954, -0.20458673, 0.030004002, 0.12569252, 0.0445024, -0.03279336, 0.078405224, 0.09927955, -0.011422023) * go_1(0.0, -1.0); - result += mat4(-0.03591925, -0.100528084, -0.23411149, 0.07520768, 0.059985936, 0.07505743, -0.1592992, -0.057464592, 0.06228207, 0.09254745, 0.066452466, -0.17635484, 0.06444523, 0.08613461, -0.066658795, 0.30565113) * go_1(0.0, 0.0); - result += mat4(-0.0024530967, 0.044072535, -0.06323894, -0.06820355, -0.007408811, -0.016028231, 0.018824773, 0.02122507, -0.009777399, -0.05232987, 0.018289607, 0.10530148, -0.10177679, 0.027035125, 0.098365344, -0.087307416) * go_1(0.0, 1.0); - result += mat4(-0.163306, 0.06192198, 0.043251485, 0.097706325, -0.06911249, 0.072816305, -0.073647425, -0.026055098, -0.11378864, 0.051390868, 0.020850867, 0.08749148, -0.03923265, -0.010669588, 0.11940241, 0.017737914) * go_1(1.0, -1.0); - result += mat4(0.20377909, 0.08178027, -0.10129947, 0.010113097, -0.23931094, 0.061751343, 0.27845585, 0.0017923863, 0.078093275, -0.060775764, -0.18478048, 0.05992147, 0.069490485, -0.016183069, 0.036299016, 0.027204616) * go_1(1.0, 0.0); - result += mat4(-0.10725127, 0.02845181, -0.07237152, -0.021047885, -0.0054978402, -0.051092934, -0.03141549, 0.08273207, 0.054004353, -0.05754033, -0.07167153, -0.007779592, -0.053323995, -0.15146933, -0.07297443, -0.0057455422) * go_1(1.0, 1.0); - result += mat4(-0.10945359, 0.13164741, 0.09156805, 0.059387147, -0.040549513, -0.02578788, 0.01921392, 0.04197647, -0.043337982, 0.05120894, -0.036460076, 0.090309665, -0.1267385, -0.015089681, 0.059254825, -0.022432016) * go_2(-1.0, -1.0); - result += mat4(0.037850488, 0.1256152, -0.02764824, 0.01756473, 0.04387597, 0.025042314, 0.014860992, 0.16032273, -0.0709625, 0.021051515, 0.120523304, -0.02604324, 0.08381975, 0.12817742, -0.04863288, 0.13507447) * go_2(-1.0, 0.0); - result += mat4(0.059683677, 0.021523511, -0.11120298, -0.018711125, -0.045930944, 0.020136207, -0.033647113, -0.090400495, -0.113962725, 0.24975385, 0.027121263, 0.07244107, 0.06133815, 0.0301379, -0.017249173, 0.02193777) * go_2(-1.0, 1.0); - result += mat4(0.09717704, -0.04886562, -0.10146337, 0.1295103, 0.010018155, 0.054565154, 0.044354364, -0.076529734, -0.0064900806, -0.11931453, -0.07621885, 0.10582294, -0.26747972, -0.078686684, 0.05799313, -0.010465741) * go_2(0.0, -1.0); - result += mat4(-0.15196374, -0.009799468, 0.11958373, -0.13236645, 0.043515652, 0.13287346, 0.010247103, 0.13210478, 0.00011547689, 0.18007363, 0.039777566, 0.23126884, -0.044643603, -0.027444243, 0.41979262, 0.06408088) * go_2(0.0, 0.0); - result += mat4(0.0035183905, -0.120756544, -0.092366494, 0.07636019, -0.07533208, 0.07316178, -0.11768767, -0.012369148, 0.00071520644, 0.39289847, -0.029513074, -0.053612567, 0.03724949, -0.15359971, -0.0061515397, -0.039532207) * go_2(0.0, 1.0); - result += mat4(0.037849337, 0.04412767, -0.09335646, -0.04050562, -0.13592435, -0.0450969, -0.009349918, 0.06309884, 0.0653804, -0.019830076, 0.0116637815, -0.019197898, -0.028388407, -0.010482436, 0.028828084, 0.073924646) * go_2(1.0, -1.0); - result += mat4(-0.07879339, -0.017644685, 0.1586582, 0.024409177, -0.13626574, -0.0457237, 0.049017217, 0.064037755, 0.092432395, -0.039374296, -0.107957534, -0.008069176, 0.019877099, -0.046122085, -0.10561397, 0.17307135) * go_2(1.0, 0.0); - result += mat4(-0.09788539, -0.06974826, 0.06973763, -0.07462092, -0.06495908, -0.035487246, 0.02998668, -0.042175736, 0.13490213, 0.1976458, 0.14005965, 0.048749786, 0.09506983, -0.0667789, -0.06759445, 0.014753995) * go_2(1.0, 1.0); - result += mat4(0.061003707, -0.038893413, 0.011888445, 0.03362394, -0.051224336, 0.07230751, 0.014294804, 0.028011495, 0.025476746, -0.07903956, 0.030582773, -0.025303833, 0.05157358, -0.022731831, -0.034618694, 0.008615368) * go_3(-1.0, -1.0); - result += mat4(0.0033371155, -0.06581611, -0.07146505, 0.11704561, 0.061990812, 0.20361444, 0.009051675, 0.06278302, -0.09647339, 0.028081289, -0.024359372, -0.06555458, 0.033401083, 0.029613039, -0.059400856, -0.076858476) * go_3(-1.0, 0.0); - result += mat4(-0.023782989, 0.01966281, 0.031039018, -0.01957992, 0.02269796, -0.025164992, 0.052388318, 0.0052376734, -0.17745548, -0.15160382, 0.10373704, 0.047710504, 0.019385021, 0.023565719, 0.062375434, -0.055000264) * go_3(-1.0, 1.0); - result += mat4(0.044949874, 0.061898876, -0.11227215, 0.023184568, 0.015142947, 0.11674747, -0.0047545633, -0.02975008, 0.027430952, 0.03804421, -0.072834834, 0.013898462, 0.14427635, -0.09198968, -0.02673745, -0.0023034182) * go_3(0.0, -1.0); - result += mat4(0.15199643, -0.004547471, 0.09822389, 0.1335928, 0.18551633, 0.22925222, -0.07308735, 0.036088526, -0.17830102, -0.023159912, 0.015921982, 0.20022711, 0.07743466, -0.14498395, 0.0043588476, -0.00050115015) * go_3(0.0, 0.0); - result += mat4(-0.20724933, -0.021077156, 0.13201047, -0.22475693, -0.03760412, 0.17755087, -0.025371602, 0.09510526, -0.18426074, 0.07756117, 0.073541015, -0.042422622, 0.13520999, -0.008147166, 0.026559234, -0.16543452) * go_3(0.0, 1.0); - result += mat4(-0.016604125, 0.08053872, -0.002538484, 0.06635403, -0.03796287, -0.07527997, -0.049641952, 0.029878864, -0.069420286, 0.050373446, -0.17428105, -0.037184883, 0.18725263, -0.09693917, 0.069830656, -0.07349147) * go_3(1.0, -1.0); - result += mat4(0.17742625, -0.051589496, 0.0026871534, -0.08090186, 0.028104464, 0.012049314, -0.021290462, 0.036909223, -0.12107646, 0.09771655, -0.13286181, -0.053349078, -0.038217854, -0.027083775, -0.0006329659, -0.02218599) * go_3(1.0, 0.0); - result += mat4(0.18311077, -0.08873939, 0.089254186, -0.037748277, -0.122104056, -0.016588131, -0.006280359, 0.013694817, 0.021292258, -0.0515016, -0.16659144, -0.0144810425, 0.12720728, 0.054392308, -0.020304244, -0.05930394) * go_3(1.0, 1.0); - result += mat4(0.058957357, -0.09529686, 0.0004077679, -0.067623906, -0.08850329, -0.007457231, -0.009716993, 0.0009063077, -0.041669063, -0.05644132, 0.15368508, 0.020795938, -0.04846486, -0.013657122, 0.09076852, 0.055511467) * go_4(-1.0, -1.0); - result += mat4(0.08429863, -0.23259208, -0.14713542, -0.17900065, -0.045943156, -0.04861488, -0.006334679, -0.0033912223, 0.00964489, 0.094786435, -0.016691163, 0.077123106, -0.039288025, 0.05770473, -0.008626556, 0.023047583) * go_4(-1.0, 0.0); - result += mat4(0.017164854, 0.013175289, -0.03030088, -0.08299147, -0.09750662, 0.090054825, -0.0546798, -0.0025241913, -0.0037131186, -0.0096060205, 0.014337601, -0.040454436, -0.0512663, -0.022533763, -0.008182466, 0.08813494) * go_4(-1.0, 1.0); - result += mat4(0.0654772, -0.19962622, -0.0029846653, 0.05538735, 0.10404658, -0.12914494, 0.06700972, 0.055170983, 0.044017285, 0.023490183, 0.11201984, 0.030844385, -0.061347328, -0.010788254, 0.008415423, 0.18970315) * go_4(0.0, -1.0); - result += mat4(-0.113308266, 0.12977777, -0.12367092, -0.054070447, 0.054880824, -0.036618866, -0.09571354, -0.16456729, 0.0065695816, 0.092923366, 0.10796199, -0.03711626, 0.10701662, 0.13426723, -0.0092919115, -0.037044466) * go_4(0.0, 0.0); - result += mat4(-0.08681347, -0.15467091, 0.011255799, 0.0064190566, -0.040117122, 0.058139827, -0.0403118, -0.23329367, -0.106199786, -0.06939652, 0.04137913, 0.024522778, -0.020507582, 0.032408983, -0.17594863, 0.06780263) * go_4(0.0, 1.0); - result += mat4(-0.073971756, -0.06853512, 0.10660494, -0.08636718, -0.01975871, 0.07520398, -0.0067043533, 0.027499638, 0.14615464, 0.03720377, 0.15135165, 0.04741459, 0.019792017, 0.088009275, 0.16415045, 0.0024859605) * go_4(1.0, -1.0); - result += mat4(-0.36332065, -0.07734452, 0.0028704775, 0.14872053, -0.1061377, 0.0637252, -0.0040910714, 0.025090441, -0.00097514444, -0.1527627, -0.10137462, 0.11902805, -0.12965, -0.12073308, 0.04942668, -0.081019804) * go_4(1.0, 0.0); - result += mat4(-0.044295803, 0.013679751, -0.012926791, -0.005387792, 0.034934286, 0.14332283, 0.12887605, -0.061331455, 0.15142201, -0.1210823, -0.036738504, 0.057602115, -0.0612664, 0.004826139, 0.009473194, 0.05473408) * go_4(1.0, 1.0); - result += mat4(0.06481471, 0.004356429, -0.06848891, -0.008037754, 0.026879564, 0.03606129, -0.066314444, -0.0028949357, 0.16258831, -0.07068598, 0.0196609, 0.032182235, -0.03726745, 0.08904193, -0.003159488, 0.021914925) * go_5(-1.0, -1.0); - result += mat4(-0.011267475, -0.022274308, 0.08582037, -0.06085459, 0.013043968, -0.02893094, -0.10246689, -0.033077985, -0.033044547, -0.02123883, -0.07917233, 0.023728617, -0.07075452, 0.08255205, 0.050427422, -0.03294232) * go_5(-1.0, 0.0); - result += mat4(-0.0727788, -0.09219653, 0.11064241, -0.022223199, -0.15629049, 0.122650005, -0.10289625, -0.06476945, -0.005119053, 0.0026790253, 0.012482781, -0.053372107, -0.023827737, 0.033480383, 0.009195475, 0.1480609) * go_5(-1.0, 1.0); - result += mat4(0.062476553, 0.026223047, 0.051151488, 0.06403894, 0.050695814, -0.0074071065, 0.020688912, 0.06414588, 0.15142709, 0.004108378, 0.1805822, -0.123368226, 0.008366109, -0.0054705045, -0.030376235, -0.21030006) * go_5(0.0, -1.0); - result += mat4(-0.02029089, 0.114019, -0.0019110559, 0.04655684, 0.1260059, -0.003358174, 0.026839556, -0.2089202, 0.1557723, -0.0057378095, 0.08472551, -0.04924428, -0.11776593, -0.0461931, -0.24937254, 0.10839416) * go_5(0.0, 0.0); - result += mat4(0.041421883, 0.048169516, -0.05842667, 0.013366076, -0.023245525, -0.16612361, -0.0057233395, -0.050720043, 0.06489661, -0.1124571, 0.077007234, -0.1291162, -0.037277244, 0.10195012, -0.0071070977, 0.047105957) * go_5(0.0, 1.0); - result += mat4(-0.07696618, 0.051714044, -0.065605335, -0.057643004, -0.023664054, 0.041334838, 0.041327525, -0.0452622, 0.08794407, -0.022252247, 0.04247766, -0.08849691, -0.17467014, 0.034971133, 0.0011387058, 0.06616401) * go_5(1.0, -1.0); - result += mat4(-0.011075697, 0.040273715, -0.060371924, 0.06140919, 0.0031134405, -0.025355663, -0.033405382, 0.030624736, 0.20583406, -0.008255494, 0.09869349, -0.06559402, -0.15411773, -0.073942415, -0.060076036, 0.0882689) * go_5(1.0, 0.0); - result += mat4(-0.031605657, -0.083417654, -0.03974571, 0.06718794, 0.03500733, 0.011564295, -0.054521505, -0.013956027, 0.07440576, -0.08220267, 0.030568961, -0.0072721704, -0.017984008, -0.037543133, 0.04685672, 0.082623824) * go_5(1.0, 1.0); - result += mat4(-0.09169722, 0.044483982, 0.04880043, 0.105855666, -0.0059740203, 0.08248419, 0.019881463, 0.0803125, -0.03237451, -0.050363675, -0.07253764, -0.0045262147, 0.13738465, 0.104033425, 0.08307663, -0.027249241) * go_6(-1.0, -1.0); - result += mat4(-0.088977404, 0.08344813, -0.021231286, -0.10699029, 0.026355123, -0.02438362, -0.03499429, 0.14077897, -0.12033208, -0.16763459, -0.12688397, -0.2923715, 0.010288219, 0.105832145, 0.09331802, 0.025579214) * go_6(-1.0, 0.0); - result += mat4(-0.001623383, 0.1009306, 0.010470034, 0.0657667, -0.077975646, -0.01811936, -0.041142333, 0.1162433, -0.04046679, -0.04067678, -0.13385214, -0.094954856, 0.1869626, 0.078532234, 0.010967375, 0.15119064) * go_6(-1.0, 1.0); - result += mat4(-0.19616304, -0.044319104, 0.14582293, 0.14401235, -0.024239741, 0.10340367, 0.03641681, -0.032825295, -0.14246203, -0.026174128, -0.019074934, -0.059172742, 0.056162503, 0.108569615, 0.17299432, 0.012202355) * go_6(0.0, -1.0); - result += mat4(0.033212636, 0.19201545, 0.07868557, -0.070897594, 0.024198776, 0.057054978, -0.005773385, 0.16551888, -0.13211906, 0.017150372, -0.09208057, 0.03185214, -0.19503927, -0.0154005205, -0.06336041, -0.08972352) * go_6(0.0, 0.0); - result += mat4(-0.047767166, 0.09456821, 0.030971317, 0.06077982, -0.035015658, 0.030661434, 0.08690273, -0.038870484, 0.011427922, 0.014336506, -0.056830537, -0.27509648, 0.035178687, 0.11351475, 0.04536642, -0.08490966) * go_6(0.0, 1.0); - result += mat4(-0.035810657, -0.040094417, 0.16234219, -0.018656962, 0.007042964, 0.09659909, -0.12863661, 0.030866338, 0.034802403, 0.0016517856, 0.026615972, -0.12140747, 0.07092863, 0.02645082, 0.10012633, 0.0838663) * go_6(1.0, -1.0); - result += mat4(-0.09406122, 0.103301324, -0.029774658, -0.05982149, -0.037421286, 0.0376039, -0.18063144, -0.04484252, -0.039305396, -0.11428881, 0.11268997, -0.1526391, 0.19060104, 0.007945032, 0.087847464, 0.032106157) * go_6(1.0, 0.0); - result += mat4(0.002432848, -0.009617333, -0.14955042, -0.055736527, 0.16233777, 0.0103614135, -0.14040956, 0.015767315, -0.007984339, 0.0064604604, 0.15213339, -0.12978724, 0.2861079, 0.0028212029, 0.16278541, -0.1122923) * go_6(1.0, 1.0); - result += mat4(-0.0061184843, -0.031838052, -0.051234722, -0.074785165, -0.009608966, -0.028825626, -0.051854625, -0.03884438, -0.09737315, 0.06124026, -0.16118035, 0.049489763, 0.031762138, -0.059796542, -0.030683337, -0.030882046) * go_7(-1.0, -1.0); - result += mat4(0.012181786, 0.004366585, -0.012609928, -0.042036038, -0.10643622, 0.04410521, 0.11435428, -0.06195004, -0.2048646, 0.19842538, 0.013824749, -0.01820847, 0.12270244, -0.05726448, -0.06415889, -0.06265454) * go_7(-1.0, 0.0); - result += mat4(0.034773856, 0.043668557, 0.028441405, -0.04917985, 0.029363593, -0.061821178, 0.09651282, -0.04561685, -0.020005109, 0.08038572, 0.076856054, -0.03550914, -0.047259346, -0.15767749, -0.019841153, -0.16513592) * go_7(-1.0, 1.0); - result += mat4(-0.031791, 0.036102377, 0.11600808, 0.028740417, 0.06863318, 0.0041692764, -0.06392522, 0.18204354, -0.4317052, 0.21011995, -0.028950203, -0.007694737, 0.027255666, -0.07512291, -0.11292609, 0.013642943) * go_7(0.0, -1.0); - result += mat4(0.06278959, 0.09380407, 0.082746565, -0.29760537, -0.043065824, 0.016370568, 0.079557106, -0.053201187, -0.094427705, -0.054596122, 0.004544459, 0.12054741, -0.09854059, -0.069349565, -0.036913738, -0.15469205) * go_7(0.0, 0.0); - result += mat4(0.14663489, -0.17960148, 0.03322624, 0.19109198, 0.026789704, -0.08023296, 0.030463632, 0.03254673, 0.1904, -0.0013191487, 0.0076299817, -0.11531735, 0.008193399, 0.042752437, -0.0030691337, 0.12909001) * go_7(0.0, 1.0); - result += mat4(0.09794688, -0.12975737, -0.023997074, -0.04657822, -0.13094926, 0.022599585, 0.06573002, 0.018785113, -0.14989275, -0.03339479, 0.015797183, -0.030163066, 0.016669696, 0.012339601, -0.09658068, -0.050706554) * go_7(1.0, -1.0); - result += mat4(0.07808228, 0.010552677, -0.049303003, -0.054412544, 0.027788738, -0.02128306, -0.008772243, -0.11626967, -0.0059451363, 0.059564557, 0.03668662, 0.0065204557, -0.06601225, -0.04325997, -0.1147271, 0.07718216) * go_7(1.0, 0.0); - result += mat4(-0.025658295, 0.009463572, 0.121625826, 0.042721953, 0.029879777, 0.024093157, 0.044461224, 0.011403931, 0.010267983, -0.006153973, -0.030950828, -0.027995862, -0.1338415, 0.06795991, -0.1497057, 0.004472782) * go_7(1.0, 1.0); - result += mat4(-0.005003439, -0.0042471215, -0.07281907, 0.030383304, -0.024920132, -0.029222973, 0.0355648, -0.023904845, -0.017576102, -0.05567445, -0.068737954, -0.1147391, -0.10854249, -0.027572723, -0.04928351, -0.15432575) * go_8(-1.0, -1.0); - result += mat4(0.11052154, -0.08092761, 0.06868953, 0.087058865, 0.023298848, -0.0062330756, 0.056623273, -0.11425772, 0.035456464, 0.017425021, -0.100025, -0.05662614, 0.04228246, 0.054267693, -0.061284207, -0.10346116) * go_8(-1.0, 0.0); - result += mat4(-0.021792656, -0.047634892, 0.08760543, -0.046498872, 0.036893863, -0.022600487, 0.054273624, -0.032601845, 0.005220854, 0.029997228, -0.15759681, -0.08242428, 0.019006334, -0.09381743, -0.044560015, 0.078126356) * go_8(-1.0, 1.0); - result += mat4(-0.20072183, 0.07563903, -0.09425607, 0.007553963, -0.060172237, 0.026278604, -0.029217733, 0.09313036, 0.023479568, -0.13553078, 0.1683467, -0.007374523, 0.003166191, -0.0077507207, 0.016637675, -0.052360285) * go_8(0.0, -1.0); - result += mat4(0.2752123, 0.044519987, -0.092892624, 0.13307047, -0.20821007, -0.02074977, 0.050310906, -0.14781235, 0.005902824, 0.021458253, -0.11640657, -0.12320155, -0.076290004, 0.022268644, -0.14328197, 0.0927808) * go_8(0.0, 0.0); - result += mat4(-0.010012484, -0.011715113, -0.043138694, 0.061056998, 0.0003362302, -0.0272552, 0.07555357, 0.20783336, 0.062605925, 0.028317971, 0.006166934, 0.05402164, 0.07390474, 0.036011703, -0.032980483, 0.10582491) * go_8(0.0, 1.0); - result += mat4(0.104213916, -0.016458439, -0.041239027, -0.13531528, 0.08385529, -0.017395, -0.044829957, -0.057939503, 0.0188802, 0.058301643, 0.06601614, 0.024885748, -0.18671393, -0.038810052, 0.12703882, -0.056551658) * go_8(1.0, -1.0); - result += mat4(0.07424187, -0.022602623, -0.050902683, -0.025317585, -0.03829055, 0.024209173, -0.089947484, -0.03610775, -0.092263564, 0.012702685, 0.018980803, 0.037538566, -0.09253227, 0.109119035, 0.27267906, -0.15362985) * go_8(1.0, 0.0); - result += mat4(-0.0015341254, 0.010377879, -0.061633438, 0.035204124, -0.046594903, -0.050500665, -0.02577027, 0.09027708, 0.03151075, -0.012059609, 0.04879744, 0.06694882, 0.08893846, -0.01955382, 0.15465751, -0.027986312) * go_8(1.0, 1.0); - result += mat4(0.014668175, 0.10779777, -3.7527945e-05, 0.06709759, 0.06471768, -0.12120603, 0.018267836, -0.028828742, 0.094429776, -0.036151815, 0.02414468, 0.074969694, 0.1335824, -0.11747655, 0.08031944, 0.08868612) * go_9(-1.0, -1.0); - result += mat4(0.058471195, 0.09583385, 0.07594619, 0.018679913, -0.10134485, -0.11573404, -0.040815637, -0.0905552, -0.087376416, 0.010354827, -0.029292874, -0.10244565, -0.107486315, -0.08067197, 0.068188705, -0.020863827) * go_9(-1.0, 0.0); - result += mat4(0.13111079, 0.0012838852, -0.02666495, 0.038845398, -0.190199, 0.00279639, -0.043868463, -0.0068601943, 0.064012714, 0.046751637, -0.0077074827, -0.09633924, 0.0005454657, -0.055698857, -0.073002584, 0.13582216) * go_9(-1.0, 1.0); - result += mat4(-0.010974527, -0.026022714, 0.060965966, 0.0019768628, 0.11614995, 0.033684634, 0.048152138, 0.004971118, -0.13299273, -0.08726393, -0.016963622, -0.13285847, -0.09478473, 0.14827113, -0.11953486, -0.07091515) * go_9(0.0, -1.0); - result += mat4(0.0022101118, 0.07726036, 0.12660861, -0.21182461, -0.05118938, -0.21772741, 0.073271036, 0.09529552, 0.043627776, 0.07241113, 0.056153663, -0.03096679, -0.14461926, 0.24902643, 0.21091557, -0.11887145) * go_9(0.0, 0.0); - result += mat4(0.09159909, -0.046065293, -0.017285151, 0.05325168, -0.18035404, -0.13886565, 0.0059781303, -0.19588822, 0.036009684, -0.012165368, -0.04089957, -0.092371985, -0.017948762, -0.035148554, 0.00915531, 0.19850945) * go_9(0.0, 1.0); - result += mat4(0.023927797, -0.017236765, -0.056853727, -0.090297826, 0.08084101, 0.06567622, 0.075692646, -0.03552233, 0.03755616, 0.039734114, 0.136539, -0.038506575, -0.22664422, 0.0032904313, -0.07955965, 0.059305858) * go_9(1.0, -1.0); - result += mat4(-0.08070604, -0.009484972, -0.04267918, -0.027055666, 0.03867903, -0.0150039, -0.0059355353, -0.0068563074, 0.11567609, -0.063611336, 0.18691607, -0.039190844, -0.06318548, -0.10339472, -0.14465182, 0.08463286) * go_9(1.0, 0.0); - result += mat4(0.10437496, -0.00037948217, -0.07502755, 0.032370236, 0.024518723, 0.048723932, 0.014109043, -0.09101244, 0.07093021, -0.06826224, 0.021067007, -0.05104556, -0.003025575, 0.124921225, 0.08423182, 0.030358363) * go_9(1.0, 1.0); - result += mat4(0.023305072, -0.009160797, 0.037677288, -0.028397458, 0.050181143, -0.11805167, 0.023053521, -0.04789232, -0.10434621, 0.083697066, -0.00059397036, 0.05657816, 0.11026424, -0.019971285, -0.063336, -0.093887374) * go_10(-1.0, -1.0); - result += mat4(0.040132683, -0.069712006, -0.14402343, 0.13328306, 0.04453592, -0.10920082, -0.061864637, -0.023250371, -0.04792668, -0.23069763, 0.11491342, 0.049124923, -0.09377307, -0.0009923346, 0.037279267, -0.16158433) * go_10(-1.0, 0.0); - result += mat4(-0.00153717, -0.12700215, 0.00608027, 0.017930686, 0.015170375, 0.058537636, -0.022643825, -0.090274625, 0.00028158183, -0.04941672, 0.05637307, -0.04383224, 0.0018241775, 0.063655004, -0.023339272, 0.016919853) * go_10(-1.0, 1.0); - result += mat4(0.072573535, -0.043450154, -0.11402738, -0.13965322, 0.034946017, 0.049838394, -0.0801198, -0.093246214, -0.0061164005, -0.04461302, 0.010927035, 0.051007256, 0.030911477, 0.021943847, 0.0454368, -0.20229498) * go_10(0.0, -1.0); - result += mat4(-0.19903214, 0.0016282768, -0.05607518, 0.0814821, 0.0055653774, -0.060723253, -0.03150235, 0.051837593, -0.00812611, -0.014041741, 0.04306814, 0.008380368, -0.08304074, -0.08552964, -0.07987595, 0.08622592) * go_10(0.0, 0.0); - result += mat4(-0.23127824, 0.12295779, -0.0109891035, -0.021629026, -0.09384735, 0.10244903, 0.044111405, 0.004424371, 0.09216727, 0.013904141, 0.042929623, -0.09039094, 0.057333138, -0.0861863, -0.04734528, 0.038065672) * go_10(0.0, 1.0); - result += mat4(-0.07722156, -0.03744596, 0.048356563, -0.021000361, -0.066170536, -0.019655142, -0.06460627, 0.01321928, -0.071259156, 0.018575922, -0.08753065, 0.005541979, -0.08438988, -0.04617093, -0.051534776, -0.029054178) * go_10(1.0, -1.0); - result += mat4(-0.08996664, -0.099371605, 0.33096626, -0.14779766, 0.033203732, -0.020057553, 0.047346294, -0.09151647, -0.11274504, 0.060443968, -0.02567719, 0.024270521, 0.10343891, -0.0027090537, 0.2050693, -0.05112668) * go_10(1.0, 0.0); - result += mat4(0.036755078, -0.09491632, 0.16060267, -0.091196306, -0.025737653, 0.019911846, -0.017983688, 0.080934614, -0.0879894, 0.09994306, 0.056110743, -0.035007317, -0.06350233, -0.021852775, 0.13358839, -0.0626329) * go_10(1.0, 1.0); - result += mat4(0.039643206, 0.15961072, 0.07963999, 0.093470685, 0.06743535, -0.049586922, 0.016643282, 0.022365486, 0.088239655, -0.09364056, -0.02925469, -0.115170486, -0.041427363, -0.07434725, 0.03916273, -0.031712707) * go_11(-1.0, -1.0); - result += mat4(-0.03178281, -0.020474926, -0.24886844, 0.1170158, 0.014288611, -0.0139584355, 0.054201134, 0.027823552, -0.045476448, 0.043584794, 0.016997674, -0.13191022, 0.054788377, -0.062102176, -0.06971772, 0.023179475) * go_11(-1.0, 0.0); - result += mat4(-0.17749564, 0.084310785, -0.034437772, -0.08765134, 0.0192039, -0.074197926, 0.011375868, 0.024009971, -0.06834195, 0.012258987, 0.1118325, -0.12678291, 0.0729323, 0.12055763, -0.03159754, -0.032844577) * go_11(-1.0, 1.0); - result += mat4(0.06904989, -0.10043463, -0.006412566, 0.052953586, -0.0009239817, 0.0047698636, 0.023104124, -0.08240751, -0.041743282, -0.16257025, -0.011366153, 0.01780265, 0.024689162, -0.061389487, 0.028853321, 0.06746509) * go_11(0.0, -1.0); - result += mat4(0.09653064, -0.10104088, -0.047921777, -0.103844725, 0.026677186, 0.02747027, 0.0006117518, 0.11155599, 0.01759024, 0.041740566, 0.09151603, -0.01213971, 0.10025652, 0.020672945, -0.09848558, 0.086546615) * go_11(0.0, 0.0); - result += mat4(-0.0155723775, 0.074720785, 0.21501018, 0.090717055, -0.05537873, 0.047770448, 0.058052957, 0.118154205, -0.015956735, 0.06266934, -0.001474061, -0.016232431, -0.046418842, 0.120745674, 0.041462313, -0.22532389) * go_11(0.0, 1.0); - result += mat4(0.25257114, 0.15323398, -0.015901398, 0.047883037, 0.025636502, -0.0007283019, 0.11184055, 0.07190504, 0.23190252, 0.03137777, -0.046910405, 0.0067116767, 0.06200013, -0.10154448, 0.05524142, -0.041579235) * go_11(1.0, -1.0); - result += mat4(-0.0649064, 0.1671053, -0.08754854, -0.0689915, -0.07679747, -0.10931627, 0.00013489556, -0.0055395095, 0.07592996, -0.03221985, 0.0023118665, 0.089309424, -0.040053, 0.02768343, 0.022948736, -0.1343042) * go_11(1.0, 0.0); - result += mat4(0.115581974, 0.33207062, -0.12565844, -0.1068839, -0.03873016, -0.09265269, -0.038312662, 0.062069796, 0.04194856, -0.061137326, -0.089199916, 0.012745198, 0.08194386, 0.03941352, -0.07383738, -0.004222678) * go_11(1.0, 1.0); - result += vec4(0.10673879, 0.05404629, 0.042892203, -0.0626416); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.018240726, -0.023228848, -0.037755717, 0.009697539, -0.06391762, -0.22754766, 0.32287842, 0.0321051, -0.081117265, 0.09789689, 0.13194586, 0.033958163, -0.16528013, 0.25348902, 0.013538278, -0.122477636) * g_0; - result += mat4(0.21895553, 0.32368854, 0.09295876, 0.008549726, -0.17221816, -0.009608649, 0.008025734, -0.12808394, 0.095984474, -0.055960163, 0.1857312, -0.01410566, -0.29036984, -0.11915815, -0.22480978, -0.010984804) * g_1; - result += mat4(0.021460485, -0.069948144, -0.20457397, -0.06368738, 0.041937023, 0.058391638, 0.08521619, -0.14939685, -0.17603025, -0.2704823, 0.1297126, 0.08506167, -0.036500573, -0.15101454, 0.2705927, -0.11495338) * g_2; - result += mat4(-0.015002146, -0.11097708, -0.04153528, 0.009949436, 0.05756999, 0.0021354982, 0.011803671, -0.059338056, 0.14856763, 0.1583689, -0.18323529, -0.061641436, -0.15716806, -0.0712248, -0.26153558, 0.1281614) * g_3; - result += mat4(0.12309243, -0.019010289, -0.48949012, 0.22548608, 0.06878324, 0.06457863, -0.16647714, -0.19459985, -0.2501109, -0.1472345, -0.04101737, 0.30518964, 0.07157429, 0.03916779, 0.17215528, -0.27554017) * g_4; - result += mat4(0.04666684, 0.21871185, -0.06709083, -0.05889728, 0.16164586, 0.057062894, 0.13912962, 0.02538998, 0.28736678, -0.11419385, 0.06581755, 0.17950252, -0.0021713986, -0.21133782, 0.18057212, -0.13002412) * g_5; - result += mat4(0.07720478, -0.059798796, 0.10859078, -0.054959364, -0.17407586, 0.12507877, -0.03956437, 0.13279653, 0.10017548, -0.29822072, -0.023122882, 0.09967618, 0.09163447, -0.26512557, -0.019125078, -0.26062354) * g_6; - result += mat4(0.007360602, -0.05319189, 0.26773262, 0.21440737, 0.041763037, -0.0078692185, 0.104448885, 0.10134778, -0.0907065, 0.024284367, 0.003045257, -0.047127664, -0.25469595, -0.028164914, -0.043226935, 0.057833903) * g_7; - result += mat4(0.055060904, 0.12964465, 0.0100004645, 0.11081481, -0.18145356, -0.06301884, 0.002863084, -0.09317529, -0.032467086, 0.053214524, -0.20222305, -0.17389554, -0.02374549, 0.081627876, 0.13586336, -0.13289934) * g_8; - result += mat4(-0.12577327, 0.10578063, 0.2519808, 0.026089173, 0.10365033, 0.2503572, 0.08068646, -0.13609827, 0.0993266, -0.18147932, -0.24582084, -0.0027736255, 0.22986256, 0.0027441771, -0.2843601, -0.24845399) * g_9; - result += mat4(0.407128, 0.02000054, -0.025044682, -0.07539943, 0.123638265, 0.13025928, 0.06359813, -0.06765932, 0.25122678, -0.07864227, -0.2603126, -0.4042432, -0.14067987, -0.23111042, 0.22302234, 0.2521762) * g_10; - result += mat4(-0.1394529, -0.31797844, -0.19563127, 0.06399499, 0.10406692, 0.12298246, -0.08451652, 0.067356326, -0.10545609, 0.1542806, -0.09520273, -0.4893699, 0.016285073, -0.05184254, 0.01668572, 0.28672934) * g_11; - result += mat4(0.18358573, 0.07086077, 0.081096895, 0.08466328, -0.037679147, -0.010346395, -0.10832653, 0.24460128, -0.035456736, 0.20034707, -0.09119996, 0.026973516, 0.018956725, -5.4123822e-05, -0.022495521, 0.022271384) * g_12; - result += mat4(0.2034902, -0.33097568, -0.06138338, 0.0043093674, 0.2108118, 0.07654584, 0.12894695, 0.06086084, 0.09708061, 0.08280423, 0.03982084, -0.013282445, 0.1286689, -0.014037032, -0.028497966, 0.3555501) * g_13; - result += mat4(-0.07103243, -0.13886544, -0.14505245, -0.16215186, 0.19933704, 0.20801912, 0.11129495, -0.060560636, 0.022709953, 0.030686028, 0.048585244, -0.1738981, -0.27648082, -0.05651471, -0.45279422, -0.110658295) * g_14; - result += mat4(-0.010698494, -0.014529519, 0.06092168, -0.13276085, -0.31590307, -0.034779727, 0.13390115, -0.2154148, 0.31362757, -0.16912729, -0.17177378, 0.04694781, 0.2817023, -0.20776759, 0.051466487, 0.0033499447) * g_15; - result += mat4(0.14116827, -0.004569741, -0.34971637, 0.14838621, -0.23526837, 0.12044124, 0.24962978, -0.47152176, 0.42074892, -0.08043922, -0.029038593, -0.0067655854, -0.074845135, -0.06440738, 0.19292484, 0.22176756) * g_16; - result += mat4(0.1824485, 0.14171454, 0.17320803, 0.12185365, 0.114776775, 0.06394961, 0.26359382, -0.4180487, -0.16079833, 0.0073073236, -0.12868631, -0.15573654, -0.07210191, -0.012453217, -0.14852667, 0.016012993) * g_17; - result += mat4(-0.0665514, -0.23494612, 0.098041154, -0.13429102, -0.09597223, -0.02225127, 0.3641938, -0.11276776, -0.116225325, -0.09660111, 0.24925885, 0.26824257, -0.013628071, -0.024492549, 0.056771886, -0.039691154) * g_18; - result += mat4(0.1038324, -0.13783209, -0.29168722, -0.13033277, -0.111158535, -0.12511612, -0.08763829, 0.05513153, 0.0047156885, 0.13744187, 0.07963748, 0.00240008, -0.13253629, 0.019641487, -0.113318674, 0.11268771) * g_19; - result += mat4(0.017130049, -0.050066452, -0.1321411, 0.12105113, -0.19122683, 0.12728047, -0.11631363, 0.11703079, -0.16408561, 0.073255256, 0.18040007, -0.027916772, 0.117218666, -0.18100376, -0.059619226, -0.10517939) * g_20; - result += mat4(-0.21253966, 0.2606339, 0.10612866, 0.1311986, 0.19595386, 0.07200261, -0.22423409, -2.2849147e-06, 0.28697285, 0.036045954, -0.19823448, -0.054925486, -0.12410156, 0.30472383, 0.2330069, -0.12509976) * g_21; - result += vec4(0.022758514, -0.03611776, 0.0064447913, 0.00068006525); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf1 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.27487782, 0.18671569, 0.014598359, -0.10942123, 0.06431285, 0.13095526, 0.16187827, -0.05404472, 0.06109171, 0.12339281, 0.037517212, 0.022657571, 0.057030313, -0.008228847, -0.072607644, 0.03075785) * g_0; - result += mat4(-0.11736518, 0.19170946, 0.38883322, -0.04370131, 0.08346483, 0.10550525, 0.07936755, 0.028102577, 0.01148332, -0.11665535, 0.06383731, -0.14827923, 0.11657963, 0.077285066, -0.0977731, -0.061747603) * g_1; - result += mat4(0.24491212, 0.058865275, -0.25556007, -0.041585945, 0.3193469, -0.05451695, -0.001404186, -0.13020252, 0.07431936, 0.2289785, -0.10098844, 0.023408994, -0.23390095, 0.22575194, -0.025926162, -0.021137672) * g_2; - result += mat4(-0.34047288, -0.16864823, -0.091643326, 0.12608078, -0.06984128, 0.27387246, 0.05079481, -0.08338553, 0.2120012, 0.14819127, -0.033582117, -0.24173228, 0.047510203, -0.1803568, 0.053134385, 0.087940834) * g_3; - result += mat4(0.02928209, 0.22820388, -0.4671619, -0.031732026, -0.057300556, 0.004144317, 0.10569882, -0.020268245, -0.3543468, -0.13405709, -0.08611896, 0.18175112, -0.120712005, 0.14141698, 0.20102608, 0.23618817) * g_4; - result += mat4(0.066653736, -0.059595298, 0.15454593, 0.21592279, 0.27390355, -0.11746084, -0.049416482, -0.29596555, -0.054056685, 0.124672204, 0.057716236, 0.10225304, -0.09174892, 0.19980122, -0.05336024, 0.055571303) * g_5; - result += mat4(-0.18484752, -0.36230278, 0.049307425, 0.12563172, -0.024801265, -0.022736475, -0.11068124, 0.2804873, 0.12878488, 0.13737386, -0.3159429, 0.14334643, 0.30960616, 0.19170786, -0.19692647, 0.3274579) * g_6; - result += mat4(0.0033271008, 0.01712824, -0.14945795, 0.15134253, 0.072035566, 0.063491106, -0.040498145, -0.27111852, 0.09643232, -0.21030812, 0.02619506, -0.006282209, -0.043037314, -0.24948022, -0.0960549, 0.08886981) * g_7; - result += mat4(-0.1683291, 0.004775721, 0.19721816, -0.0016262251, 0.04053106, 0.019257752, -0.036447894, -0.016047643, 0.18024184, -0.010098442, 0.060056653, 0.21040897, 0.06810947, 0.16518652, 0.10927958, 0.015990514) * g_8; - result += mat4(0.17782916, -0.019990172, -0.04214169, -0.044349745, -0.096376285, -0.17118435, -0.0046379915, -0.33545214, 0.27945635, -0.08301872, 0.20809698, -0.2167783, -0.2896225, 0.25324273, -0.1393815, -0.1035578) * g_9; - result += mat4(-0.11153186, 0.08945358, -0.19106413, -0.070531435, 0.20065232, 0.22111228, 0.31270432, 0.029758435, -0.06838312, 0.124104455, 0.016042404, -0.15672235, 0.25810337, -0.14822677, 0.056693383, -0.102702715) * g_10; - result += mat4(-0.5346728, -0.010835411, -0.19025792, 0.20262082, -0.2937675, 0.0636634, 0.051419638, 0.3031389, -0.024283586, 0.114449784, -0.06731985, 0.033319853, -0.18419428, -0.05939938, -0.004707921, 0.06668735) * g_11; - result += mat4(0.037002433, -0.093464166, -0.09644219, -0.07630172, 0.051610224, -0.13968097, 0.24660867, -0.07587348, 0.040383674, -0.16485368, 0.020389866, 0.20876431, -0.27873826, -0.112587206, -0.072660305, -0.04472093) * g_12; - result += mat4(-0.06779488, 0.16197906, 0.06188925, -0.008886099, 0.24061024, -0.05935547, -0.005190499, 0.038443245, 0.09116801, -0.079416126, -0.07764381, -0.24856304, 0.32130104, -0.1689679, 0.2610274, -0.19916224) * g_13; - result += mat4(0.084091805, -0.009050908, 0.0428426, -0.22958456, 0.09502613, -0.079103395, -0.0072180657, 0.07783402, -0.08293811, -0.03740794, -0.2847399, 0.06101355, -0.025973216, 0.0043736286, -0.09274589, -0.03786617) * g_14; - result += mat4(-0.054818746, -0.058793657, 0.16997126, 0.08030429, 0.06598645, -0.11494638, -0.13028891, -0.05864371, -0.035407092, -0.10433668, -0.18799901, 0.0070647947, 0.12834336, -0.07709033, 0.07298517, -0.052353203) * g_15; - result += mat4(-0.022882696, -0.0670688, -0.14851306, -0.06401987, 0.078636736, 0.51110995, 0.024791796, -0.061570935, -0.115464, 0.04116418, 0.054929867, 0.01905232, 0.06346473, 0.22244757, 0.19133015, -0.10632591) * g_16; - result += mat4(0.08766506, 0.0026022529, 0.14686164, 0.080684945, 0.44264203, 0.34035525, 0.071974285, -0.09354271, 0.045810618, 0.03615794, -0.23397596, -0.052015793, 0.046337537, -0.14722544, 0.16304798, 0.122426964) * g_17; - result += mat4(0.1585944, 0.16835997, -0.39288864, -0.11356811, -0.368774, -0.01703612, -0.29590556, 0.0009732469, 0.05849885, 0.19281316, -0.18295161, 0.052255064, 0.16215171, 0.15769695, -0.07581377, 0.29655725) * g_18; - result += mat4(-0.2632724, -0.043094896, 0.23100272, -0.15726788, 0.31514347, -0.016838718, 0.07559306, -0.09395952, 0.2679746, -0.0211063, -0.042562332, 0.12023959, -0.22845441, -0.04967498, -0.1734489, -0.021029461) * g_19; - result += mat4(-0.12129031, -0.24458979, 0.05676389, 0.44583562, -0.38308915, -0.08873493, 0.09653457, -0.017415477, 0.16643335, 0.049770217, -0.026928242, 0.032578394, 0.10163162, -0.06586171, -0.03279269, 0.0011147729) * g_20; - result += mat4(-0.021562686, 0.13768315, 0.014967394, 0.12019759, 0.21548302, -0.053921327, 0.21206903, -0.09338285, 0.26822838, -0.16232637, -0.032934565, -0.25873, -0.033419203, -0.16388978, -0.3022585, 0.19349702) * g_21; - result += vec4(-0.029419709, -0.051388465, 0.032251272, 0.006132939); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf2 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.08458906, -0.045548566, -0.10978095, -0.047000825, -0.009786269, -0.011293472, 0.105108716, 0.2910591, -0.013156543, -0.27344525, -0.023291195, 0.07908779, -0.027045839, 0.071613476, -0.3137018, 0.13338767) * g_0; - result += mat4(-0.28876805, 0.22697273, -0.20825712, -0.16558835, 0.07140026, -0.111653306, -0.18168612, 0.08566776, 0.017613843, 0.1612815, 0.30276966, -0.20298769, 0.09009318, -0.034424078, 0.06065636, 0.16040413) * g_1; - result += mat4(0.05867395, -0.06784011, 0.124088526, -0.10969516, -0.11331259, -0.002973524, 0.11179402, 0.0051524965, -0.08812763, 0.13521312, 0.21501167, 0.07731858, 0.012728372, -0.10567223, 0.22674152, -0.27934498) * g_2; - result += mat4(-0.02090283, -0.022435555, -0.032363184, 0.1468986, 0.02465703, -0.1274767, -0.13416417, 0.09719175, 0.028444616, 0.43590242, -0.0026427982, -0.14670907, 0.06547671, -0.0364002, -0.3601176, -0.12617487) * g_3; - result += mat4(-0.001833205, -0.25144672, 0.2733562, 0.1314548, 0.2404573, -0.08306562, -0.051376957, -0.22175321, 0.059513494, 0.08910989, 0.13955326, 0.17420472, -0.12255514, 0.10941854, 0.33097896, 0.42308313) * g_4; - result += mat4(0.28040674, -0.08416738, -0.096258685, 0.028955044, -0.080570556, -0.05523723, -0.114000015, -0.23623861, 0.2672264, -0.050743762, -0.047196355, -0.20179898, 0.23441824, 0.2783142, 0.05851139, 0.13421243) * g_5; - result += mat4(0.035536747, -0.0678093, 0.31716034, -0.0426406, 0.21573278, -0.27805597, -0.1303578, -0.0040549343, 0.36113667, 0.23618573, 0.08076673, -0.09356886, 0.16183415, -0.07026038, -0.042547043, -0.09353161) * g_6; - result += mat4(0.17357092, 0.15503445, 0.09806117, 0.029178388, -0.104631364, -0.041340955, -0.0138095915, -0.18791881, -0.012838156, -0.07531211, -0.047425177, 0.032766186, -0.17878921, 0.044547506, 0.020943025, -0.14078479) * g_7; - result += mat4(-0.20356365, 0.30711046, -0.09476413, 0.039315, -0.09745359, 0.06334827, -0.040607564, -0.18709438, 0.041945547, -0.007845949, 0.046563085, 0.1600018, 0.051986653, -0.15268685, 0.05963624, 0.32689095) * g_8; - result += mat4(0.15796256, 0.119560085, -0.097539894, -0.2437361, -0.22178903, 0.12989672, -0.03343675, -0.10420719, 0.123599604, 0.07092632, -0.10071645, 0.10339369, 0.19539836, 0.06069522, -0.016500194, 0.119013496) * g_9; - result += mat4(0.04409632, -0.24597782, 0.17819872, 0.013527225, 0.095, 0.10927752, -0.057812016, -0.021960432, -0.090907395, -0.11064963, 0.24494053, -0.21103893, 0.103177205, 0.030693118, -0.17225249, 0.07037569) * g_10; - result += mat4(0.118446834, -0.24679066, -0.14558293, 0.043784406, 0.3350531, -0.18761784, -0.102111734, 0.25430822, -0.0646614, -0.0583482, -0.08839935, 0.3168981, 0.0494778, -0.20223978, -0.2115357, -0.22018467) * g_11; - result += mat4(-0.2534852, 0.32339612, 0.07270645, -0.011030359, 0.08920039, 0.017263435, -0.01874008, 0.07719922, -0.020826634, -0.14347431, 0.27981552, 0.03904678, -0.42448956, -0.064080186, 0.09288264, -0.027479073) * g_12; - result += mat4(0.039590076, 0.07196033, -0.31280693, 0.24355434, -0.17980134, 0.15838742, 0.25616613, -0.057677414, -0.10442752, -0.020222804, 0.11435109, 0.20502312, 0.26433223, -0.00088657736, 0.46070856, 0.07778242) * g_13; - result += mat4(-0.11134918, 0.042227045, -0.2372263, 0.0036231377, 0.038029823, -0.059270848, -0.17764676, 0.029884227, 0.105741605, -0.09559035, -0.15077686, 0.050598737, 0.09693952, 0.041702244, 0.18962328, 0.088337086) * g_14; - result += mat4(-0.11884088, 0.028897036, 0.16024508, -0.105453186, 0.074528895, 0.0020912525, 0.10682421, 0.0020874685, -0.116808906, -0.19607912, 0.027745381, 0.08307784, 0.01938885, 0.086835325, 0.054351103, -0.034016903) * g_15; - result += mat4(0.18121108, -0.06029793, 0.21373494, -0.007983294, -0.1457712, -0.056918383, 0.19265617, -0.04419998, -0.23829523, -0.04557198, -0.13232914, 0.15803981, 0.22176561, -0.115885, -0.0022589006, -0.04921306) * g_16; - result += mat4(-0.033309873, -0.013707254, -0.14320348, -0.1340651, -0.1276264, -0.20742168, -0.15771109, -0.04302339, 0.2474691, -0.0071554068, 0.19327043, 0.0034425415, -0.12281466, 0.08008345, -0.16869386, 0.11770986) * g_17; - result += mat4(0.022218548, 0.12861203, -0.11477767, 0.033912715, -0.083030604, 0.025131695, 0.12323128, -0.15532357, -0.03170147, 0.1692707, -0.28667265, -0.27277988, 0.07428763, -0.10514385, 0.120484896, -0.24011889) * g_18; - result += mat4(-0.07960741, -0.21583335, -0.06945787, -0.043556266, -0.24026866, 0.081503086, -0.035037458, -0.066688865, 0.17150764, -0.020859774, -0.09971474, 0.19070682, 0.11626562, 0.26741263, 0.21771777, 0.08071578) * g_19; - result += mat4(-0.20892513, -0.11934624, -0.27238977, -0.25402215, -0.1657022, -0.025967792, -0.18414563, -0.10561174, -0.24274185, 0.04068036, -0.12646407, 0.14470865, -0.14468817, 0.0036746184, 0.18668495, -0.010208388) * g_20; - result += mat4(0.27423638, -0.1557262, 0.23233625, 0.29515898, 0.016182564, 0.33365154, 0.00833455, -0.008295928, 0.2103007, 0.38919896, 0.17985278, 0.20100696, 0.41522792, -0.20303713, -0.017147776, -0.0649312) * g_21; - result += vec4(0.007557919, -0.015767513, -0.037968982, -0.034609392); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf3 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.019602967, -0.05145609, 0.04244019, 0.25405738, -0.33712572, -0.17893799, -0.066478856, 0.15569499, -0.27161816, 0.12593569, -0.05901425, -0.13174452, -0.11021793, 0.03920678, 0.060773216, -0.021032797) * g_0; - result += mat4(-0.12685195, 0.024931995, -0.22060166, -0.23765254, -0.15206909, 0.052627444, -0.054144315, 0.1210148, 0.1602431, 0.026197273, 0.110542305, -0.073509805, 0.047236316, 0.044307224, 0.014555091, 0.10564006) * g_1; - result += mat4(-0.09860682, 0.019021804, 0.1671445, 0.042727083, -0.16453904, 0.101818964, 0.03915569, 0.37744778, -0.009018904, -0.009364516, -0.121752, -0.1430464, -0.11879523, 0.15660012, 0.092872, 0.008389549) * g_2; - result += mat4(0.09203148, -0.19622965, 0.10806049, 0.032417808, -0.06358329, 0.053477164, -0.0033462588, -0.1622076, -0.22893262, -0.15781075, -0.1675613, 0.2557495, -0.108154416, 0.00092219823, -0.18630715, 0.17942573) * g_3; - result += mat4(-0.07604931, 0.24687444, 0.10485161, -0.0032204043, 0.2355443, 0.07362102, -0.20874, 0.04919508, 0.019878346, -0.035358075, 0.19044363, 0.10661991, 0.12998112, 0.10245926, -0.02966564, -0.21623161) * g_4; - result += mat4(-0.13730675, 0.011630983, 0.05381945, -0.06594779, -0.20880567, -0.16293554, 0.12331983, -0.07883885, -0.12325015, 0.03357514, -0.21320228, 0.09743771, -0.29196948, 0.07080584, 0.18549103, -0.10713538) * g_5; - result += mat4(-0.028444685, 0.13853551, 0.19415158, -0.02389972, -0.04180172, 0.014012021, 0.09578899, -0.092844814, 0.27863276, -0.073668964, 0.14896569, 0.178071, -0.24466358, -0.11134794, 0.13081808, 0.14496848) * g_6; - result += mat4(-0.1556054, -0.13415574, -0.09857606, 0.30523264, 0.08764274, -0.037559148, -0.16858782, -0.11990224, 0.17670709, 0.10452295, 0.09820371, 0.085555285, 0.14616655, -0.064138934, -0.06468503, 0.18437701) * g_7; - result += mat4(-0.024759063, -0.007020983, -0.25910473, -0.16003223, 0.0006832176, -0.21500164, 0.18051593, -0.21023016, 0.21901055, -0.012773149, 0.11869215, 0.043327942, -0.08801425, -0.09576547, -0.022282854, 0.3436183) * g_8; - result += mat4(-0.12599704, 0.1573739, -0.18289468, 0.031533517, 0.052889764, -0.2899998, -0.06888571, 0.024767991, 0.1449007, 0.13209689, 0.28273448, -0.013996074, -0.031406544, 0.12544149, -0.047050513, 0.10494411) * g_9; - result += mat4(-0.11651752, 0.28501326, 0.060793746, -0.1883375, 0.26459783, -0.06930145, 0.28831685, -0.13368587, -0.10180277, -0.068450116, -0.09070248, 0.16990706, -0.035528105, 0.08474028, -0.031924196, 0.0828799) * g_10; - result += mat4(-0.17398041, -0.13055407, 0.0637754, -0.20454763, 0.081867374, 0.22947273, -0.06115945, 0.14527729, 0.3462909, 0.171278, -0.18330246, 0.045597162, -0.041992005, -0.0065232897, -0.09864108, 0.00873217) * g_11; - result += mat4(-0.012977971, 0.16809268, -0.16662882, -0.37359142, -0.028308313, 0.11063376, -0.12019489, 0.13814619, 0.063988656, 0.22554557, -0.08410297, -0.0913463, -0.029542763, 0.15869254, -0.0021580574, 0.17143992) * g_12; - result += mat4(0.08960112, -0.34852883, 0.3086523, 0.36042222, 0.05802867, -0.035582196, -0.01600274, 0.008117766, -0.008915955, 0.10546812, 0.038216136, -0.14320342, 0.18713285, -0.08814888, -0.0147240935, -0.0076010344) * g_13; - result += mat4(-0.50983155, -0.040480338, -0.015697489, -0.020704566, 0.14625196, -0.07928827, 0.10175586, -0.006522381, 0.20132822, -0.017236393, 0.42775294, 0.29241857, -0.15762952, 0.1366608, 0.041226275, -0.021501385) * g_14; - result += mat4(0.037395936, 0.15184547, -0.053403616, 0.06780214, -0.08231112, -0.30428946, -0.1273035, 0.21938033, -0.15715978, -0.046725, 0.25453484, 0.07395502, 0.07715246, 0.03596223, -0.093663685, 0.096829675) * g_15; - result += mat4(-0.09069946, 0.27910122, -0.057103194, 0.1052261, -0.053569946, -0.018461138, -0.039887205, -0.20134343, 0.24427019, 0.07117475, 0.21163048, -0.14486235, 0.0018477996, -0.219897, -0.09160915, -0.028700631) * g_16; - result += mat4(0.03186668, -0.042110894, -0.06872467, 0.015007692, -0.12133147, -0.20203532, -0.14033763, -0.09270293, -0.13041773, -0.066198066, -0.20825256, -0.17211214, 0.15924487, 0.04158315, 0.1586535, 0.08482204) * g_17; - result += mat4(-0.25748026, -0.19240272, -0.09985262, 0.010599122, -0.28925768, 0.09412584, 0.29553664, -0.035109073, -0.09598807, -0.16096024, -0.0535374, -0.35389316, 0.235558, -0.015157362, 0.07283362, 0.095931105) * g_18; - result += mat4(0.13491848, 0.017084226, 0.18945768, 0.117540136, 0.2557805, -0.029065477, 0.1451515, -0.08317802, -0.057725884, 0.22283138, 0.13996813, 0.19705944, -0.2921995, -0.080231175, -0.27066326, -0.0482235) * g_19; - result += mat4(-0.051322196, -0.40912375, -0.14924087, 0.033685323, 0.041344143, 0.055450242, 0.09305712, -0.034863934, -0.102900185, -0.11097147, -0.065564185, 0.11914823, 0.2890554, -0.09894942, 0.053307623, -0.05579918) * g_20; - result += mat4(-0.213933, 0.090429194, 0.084889874, -0.21953723, -0.27030995, -0.14362201, -0.19741529, -0.0833757, 0.23496687, 0.3228457, 0.29274747, 0.117888294, -0.048562698, 0.1290755, 0.09031278, -0.06844491) * g_21; - result += vec4(0.12783583, 0.053930607, -0.055463474, -0.14634338); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf4 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.085369416, -0.15684304, -0.13306437, -0.090675324, 0.07001203, 0.042601265, -0.045776606, 0.038092162, 0.3352239, 0.1771388, -0.18876538, -0.006706726, 0.16373621, 0.25545865, -0.16266474, 0.24038056) * g_0; - result += mat4(-0.14294663, -0.26456648, 0.25277606, 0.060462173, -0.078849405, -0.09209792, -0.1693239, -0.18630522, -0.014867209, 0.103692755, 0.14898701, 0.046629176, 0.024372628, 0.16875252, -0.15838362, -0.040581323) * g_1; - result += mat4(-0.14351358, 0.18334064, -0.10826993, 0.18453784, 0.11304891, -0.03537591, -0.0066316077, -0.0013244748, -0.078686886, 0.12878294, -0.032346953, 0.09220158, 0.17955816, 0.18110012, -0.022541158, -0.056274466) * g_2; - result += mat4(-0.051650286, -0.098697364, 0.08296607, -0.0024960893, -0.093507074, -0.066408254, 0.17999014, 0.14308663, -0.0108735245, -0.13364671, -0.02929436, -0.23579551, 0.046282418, -0.131284, 0.052697252, -0.0419363) * g_3; - result += mat4(0.1754224, -0.11919244, -0.1885955, -0.19994752, -0.14402874, -0.17087972, -0.09000405, 0.0018777894, -0.05090923, -0.07121361, 0.10294247, 0.026922463, 0.014392331, -0.03248051, 0.009739078, 0.31159627) * g_4; - result += mat4(0.13837712, 0.15520355, -0.14125966, 0.09480141, -0.067623354, -0.02482682, 0.15788238, 0.3214408, -0.2643569, -0.040410206, -0.051892046, -0.057043463, 0.18232885, 0.19971256, -0.0956208, 0.23722707) * g_5; - result += mat4(0.016028238, -0.08332774, -0.11755386, 0.21787633, -0.22682859, -0.019670114, 0.04961192, 0.23987772, 0.15335025, 0.13612296, -0.01693323, 0.011952209, -0.3059259, 0.017340606, -0.07829871, 0.089332424) * g_6; - result += mat4(-0.37531942, -0.045622103, -0.20052142, 0.025810266, 0.09413211, 0.056469247, 0.0033650927, 0.20752242, 0.077076204, -0.10665101, 0.12946871, 0.11152074, -0.0077144187, 0.050461795, 0.09886446, 0.08139971) * g_7; - result += mat4(-0.03805296, -0.3470507, 0.28351876, 0.121408775, 0.119826116, 0.50992435, -0.06502164, 0.15930907, 0.10803227, 0.16217098, 0.032394126, 0.08210439, 0.039388526, 0.123406455, 0.08190563, 0.29731047) * g_8; - result += mat4(0.036232114, 0.098707214, 0.08512323, 0.28130695, -0.34401244, -0.16329831, 0.04697471, -0.32552102, 0.16708755, -0.0027450684, 0.22314417, -0.034509923, -0.23747928, 0.13334718, -0.20790295, -0.13229762) * g_9; - result += mat4(-0.09985405, 0.1217619, -0.15892437, 0.0896462, -0.19392657, -0.23446624, -0.14154576, -0.041264284, 0.0042809956, 0.06508634, -0.01017789, 0.015765704, 0.059713606, -0.08648103, -0.14761575, -0.078500696) * g_10; - result += mat4(-0.23650993, 0.6093473, -0.21706295, -0.07720968, 0.20827857, 0.44513646, -0.107045025, -0.033600613, 0.014263266, -0.10306615, -0.026285734, 0.014794844, -0.11126778, -0.28632736, 0.18140377, -0.026450366) * g_11; - result += mat4(-0.11553207, -0.22439374, 0.31865847, -0.18898615, -0.13782051, -0.16033193, -0.021633865, -0.27643433, 0.22693352, -0.29244474, -0.015831951, 0.0687026, 0.102418706, -0.33087376, 0.2023287, -0.105282284) * g_12; - result += mat4(-0.034931872, 0.09946529, -0.13103552, -0.062213715, -0.15901782, -0.38695586, 0.22993153, -0.028414402, 0.2567039, 0.3477113, 0.021467375, 0.18368858, 0.31393996, 0.0592541, 0.20478922, 0.2784516) * g_13; - result += mat4(0.01799271, 0.19488642, 0.11242015, -0.22955132, -0.23888321, -0.22094306, 0.09417609, 0.11446179, -0.0079179555, -0.018179458, -0.042231873, -0.058901574, 0.1643617, 0.09013122, -0.11941602, 0.07102288) * g_14; - result += mat4(-0.11062226, -0.12371038, -0.20077015, -0.00089137297, 0.23280777, 0.20893154, 0.058997855, 0.05910376, 0.10964983, 0.08948893, -0.10008929, -0.09328607, -0.16772552, -0.0853413, -0.14602263, -0.10898542) * g_15; - result += mat4(0.195481, -0.27274716, 0.019802367, 0.090690926, 0.24005474, 0.10449332, 0.038418755, 0.08757919, -0.1915846, 0.13781285, -0.08271653, 0.048500787, -0.35495785, 0.2332735, -0.089916445, -0.045998074) * g_16; - result += mat4(-0.18144973, 0.035474263, 0.07927232, -0.02095586, -0.04264259, -0.0010760617, -0.09657631, -0.009819116, 0.075253725, -0.043196574, -0.107321955, 0.13470802, -0.026763562, -0.23883738, -0.22906674, 0.010300531) * g_17; - result += mat4(-0.04512939, 0.2671829, -0.33687657, 0.087930106, 0.29693905, 0.11120111, -0.10967137, -0.072849795, -0.04814717, 0.17015213, -0.12041813, 0.034130402, 0.08712948, -0.018699426, -0.103492275, 0.051607467) * g_18; - result += mat4(0.066338874, -0.11700618, 0.20888169, -0.00036208666, -0.0027271865, -0.0078573795, -0.18614855, 0.039184168, 0.15719953, -0.011559825, -0.042109553, 0.01807291, 0.11502362, -0.03629767, 0.021261917, -0.11922495) * g_19; - result += mat4(-0.5144418, 0.059783865, -0.25726122, -0.46498007, 0.042682044, 0.10820562, -0.057476927, 0.01971749, -0.10208486, -0.17488515, 0.20830333, 0.09561035, -0.066455886, 0.0572077, -0.062440347, 0.047606003) * g_20; - result += mat4(0.4270871, 0.3251775, 0.33070606, 0.21848439, 0.032633763, -0.4511691, 0.21410948, -0.12868443, 0.030835679, 0.054710764, 0.1886484, -0.2683438, -0.0776137, 0.24714139, 0.17632207, 0.097902626) * g_21; - result += vec4(-0.12784827, 0.05878478, -0.019919237, 0.06345429); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 -//!HOOK MAIN -//!BIND conv2d_9_tf -//!BIND conv2d_9_tf1 -//!BIND conv2d_9_tf2 -//!BIND conv2d_9_tf3 -//!BIND conv2d_9_tf4 -//!BIND conv2d_9_tf5 -//!BIND conv2d_11_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!SAVE conv2d_12_tf5 -//!WIDTH conv2d_9_tf.w -//!HEIGHT conv2d_9_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10146893, -0.06355417, -0.0066939867, -0.112247504, 0.15743892, 0.2661364, -0.24241701, -0.17822737, 0.11587934, -0.029756429, 0.0928847, -0.10046272, 0.14444917, 0.12547572, -0.2114753, 0.023556458) * g_0; - result += mat4(-0.047596626, 0.09543128, 0.23701866, -0.08471554, 0.51885915, -0.1704686, -0.04001014, -0.054579906, -0.07877735, -0.09762826, -0.146179, 0.0787038, 0.22635859, -0.31619364, 0.073862836, 0.25550374) * g_1; - result += mat4(0.27489266, 0.03828787, 0.1788482, -0.07628321, -0.007864044, -0.25208792, 0.37145224, -0.05436547, 0.17768216, 0.06377889, -0.029021077, 0.060763232, -0.020521913, 0.15733998, -0.10828051, 0.13728242) * g_2; - result += mat4(-0.21597046, 0.021131428, 0.114165306, -0.017311715, -0.12344303, 0.048893873, -0.04941004, 0.06477217, 0.1573259, -0.07459121, 0.09720801, 0.12087764, -0.1889173, 0.15563762, 0.09565472, -0.16171652) * g_3; - result += mat4(0.25529733, -0.030553222, 0.19627945, 0.21340033, -0.0357832, -0.14596821, -0.14145969, -0.17806748, -0.053110838, 0.20665482, 0.08333174, -0.02258432, 0.1662624, -0.14893246, 0.02501433, 0.21777983) * g_4; - result += mat4(-0.09700643, 0.05642473, -0.29080915, -0.07261638, 0.08252391, 0.22238337, 0.008129421, -0.18302573, -0.4751298, 0.03521261, 0.16102098, 0.22523795, 0.106175326, 0.097425245, -0.056549445, -0.058554217) * g_5; - result += mat4(0.2115773, 0.060346328, 0.07946409, -0.17166963, 0.0878238, 0.032195155, 0.053393956, 0.2399919, -0.03793802, -0.1799568, -0.14780137, -0.019833531, -0.060654577, 0.086268514, 0.2597936, 0.24647377) * g_6; - result += mat4(-0.15642072, -0.14679217, -0.100522175, 0.11584608, 0.09088178, 0.13054077, 0.04432568, -0.118127726, -0.041004654, -0.06222515, -0.09301348, 0.046497803, 0.010794347, -0.015452295, -0.052613236, 0.06925519) * g_7; - result += mat4(-0.19688836, -0.22052658, -0.16386695, 0.08732065, 0.111491896, 0.19614422, 0.0256523, 0.06947972, 0.03396227, -0.13961029, -0.008658522, 0.24620731, 0.13377586, -0.07979868, 0.36551273, 0.39424098) * g_8; - result += mat4(-0.30495998, 0.2224925, 0.027218822, 0.04317854, -0.06996757, 0.048042685, 0.06731089, -0.23949164, 0.20741203, 0.08487502, 0.2277233, -0.08041561, 0.16487156, -0.25665572, 0.07448175, -0.19871257) * g_9; - result += mat4(0.161757, -0.18321225, 0.006443096, -0.03942912, 0.30194885, 0.17840338, 0.089457296, -0.111660995, -0.25981718, -0.18808901, -0.008459478, 0.12424914, 0.38462314, 0.031231843, 0.055111516, -0.28973204) * g_10; - result += mat4(0.104183905, -0.12262509, 0.15137221, -0.23025867, 0.040099107, -0.05383875, -0.04934622, 0.1180123, 0.10198143, 0.27173567, -0.15230067, -0.099421, -0.08984255, 0.11140736, -0.045036234, 0.18769833) * g_11; - result += mat4(-0.07531492, -0.024759036, -0.03848608, -0.036268033, -0.03411223, 0.094500594, 0.00280404, 0.062361084, 0.03790362, 0.037668772, -0.0514829, 0.09995965, 0.283923, -0.5238069, -0.06496828, -0.0055070156) * g_12; - result += mat4(0.28150153, 0.14254282, -0.05911421, -0.12254332, -0.022384, -0.14173482, 0.014685391, -0.18164866, -0.22542116, -0.19810574, -0.09996172, 0.10686331, -0.08414146, -0.025034428, 0.11224387, -0.0063977554) * g_13; - result += mat4(-0.17710046, -0.17579278, 0.00020095073, -0.1109482, -0.020255143, 0.08271713, -0.10690405, 0.08052975, -0.062588565, 0.089410976, -0.13496846, 0.03015718, -0.22929737, 0.15872306, 0.2993516, 0.11859886) * g_14; - result += mat4(-0.035919335, 0.19236436, -0.25442082, 0.021053115, -0.10868948, -0.015284599, 0.33936346, -0.008365188, 0.043490786, 0.13828352, 0.20429905, 0.28155825, 0.127419, 0.057945773, -0.06780165, -0.017564125) * g_15; - result += mat4(-0.13482623, -0.065182775, 0.08911843, 0.2783017, 0.11952674, 0.06991993, 0.299208, -0.10903764, 0.18224056, 0.03948293, -0.21087712, -0.11832146, 0.10328364, -0.07665122, 0.18435805, -0.11931017) * g_16; - result += mat4(0.034891166, -0.13113704, -0.17151785, -0.27690044, 0.11699234, -0.0034974716, -0.0656246, 0.07852395, 0.15545385, 0.0013671276, -0.046343226, 0.0034052336, 0.2453219, 0.13581915, -0.13983195, 0.007911855) * g_17; - result += mat4(-0.011330336, 0.24790573, -0.15979306, 0.19069764, -0.40002748, 0.011870201, 0.0031194224, -0.17847504, -0.0150662465, 0.13579376, 0.0030671223, -0.11590648, 0.18090703, -0.08737256, 0.39159694, -0.22220485) * g_18; - result += mat4(-0.11186643, 0.21464026, -0.09462943, -0.14211422, 0.36246783, -0.097312845, 0.21176222, -0.20439352, 0.08605301, -0.0007772716, -0.047504634, 0.035329465, 0.01759311, -0.042337477, -0.14740078, 0.28027928) * g_19; - result += mat4(0.124633305, 0.49622107, -0.1905822, -0.032103766, -0.09118705, -0.071040735, -0.17103319, 0.21466342, -0.06857113, 0.030909235, 0.08125023, 0.2334075, 0.06821963, -0.21760683, 0.25531697, 0.15648827) * g_20; - result += mat4(-0.12612516, 0.16043583, -0.049337797, 0.0980794, -0.17805529, 0.0054840203, 0.171222, -0.017960507, 0.33597863, -0.27860585, -0.08922912, -0.12972547, -0.16144331, -0.039900865, -0.263512, 0.089571014) * g_21; - result += vec4(-0.06092896, 0.0026034676, -0.0045185564, -0.045552935); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!SAVE conv2d_14_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.004349436, 0.13630886, -0.0971672, 0.048995648, 0.023026302, -0.039569058, 0.068076566, 0.052971028, -0.09237349, 0.067393705, -0.024513396, 0.11096945, 0.07890588, 0.16115357, -0.1847152, -0.24750534) * go_0(-1.0, -1.0); - result += mat4(-0.06438265, 0.03276232, -0.09068353, 0.09009189, -0.080021314, 0.0944858, -0.07794861, 0.12147553, -0.02244629, -0.015694574, 0.080813, -0.018402418, 0.21864587, 0.17657925, -0.009601339, -0.09163427) * go_0(-1.0, 0.0); - result += mat4(-0.01495372, -0.18007463, 0.10734926, 0.23174277, -0.091324404, 0.12528338, 0.0066621224, -0.09822727, 0.040536925, 0.111184075, 0.0004842303, -0.026244884, 0.18349673, -0.0007998258, -0.11728473, -0.06416492) * go_0(-1.0, 1.0); - result += mat4(0.09239883, 0.26176, 0.22532904, 0.05685314, -0.14764737, 0.19629478, -0.081950866, -0.115970545, 0.04077194, 0.005300293, -0.134278, 0.015497223, 0.027986968, 0.015958916, -0.14675306, -0.019109711) * go_0(0.0, -1.0); - result += mat4(0.17761871, 0.4609044, 0.026779782, 0.26045877, -0.06730196, -0.16571176, 0.11547946, 0.019862624, 0.006502043, -0.1532974, -0.090758145, 0.04422983, -0.58861977, 0.13028383, -0.17072764, -0.22565094) * go_0(0.0, 0.0); - result += mat4(-0.17580631, -0.3911594, 0.14832215, -0.072933584, 0.127465, 0.042466827, -0.1331118, 0.056677517, 0.106319845, 0.16945234, -0.031930547, -0.052168153, -0.15397666, -0.1170418, -0.19959368, -0.20563258) * go_0(0.0, 1.0); - result += mat4(-0.07739289, 0.018836888, 0.16391836, 0.106844515, 0.025838032, -0.017699381, -0.08634242, -0.072000824, 0.047676526, 0.033405174, 0.010657314, 0.04917425, 0.06638388, 0.036401518, -0.0616299, -0.05214521) * go_0(1.0, -1.0); - result += mat4(0.024639312, -0.0013965049, 0.06387838, -0.02268061, 0.09309021, -0.069622114, 0.089359015, 0.12940544, -0.027844314, -0.06509059, -0.013798035, -0.019859722, 0.07527786, -0.026096696, -0.07034874, 0.017270971) * go_0(1.0, 0.0); - result += mat4(0.20858815, -0.16890472, -0.031625595, 0.033028077, 0.072790526, 0.18162355, -0.17353328, -0.03207684, -0.09310949, 0.017406156, 0.1282203, -0.052783486, -0.11338968, 0.0677578, 0.068863854, -0.20361136) * go_0(1.0, 1.0); - result += mat4(-0.041317016, 0.03247534, 0.06200033, -0.14489956, 0.12785183, 0.07159107, 0.012313127, 0.002630995, 0.22658965, 0.043375343, 0.11841339, 0.22717218, 0.07156734, 0.18281838, -0.020048752, 0.04785865) * go_1(-1.0, -1.0); - result += mat4(0.047082547, 0.1529325, 0.11509914, -0.033134896, -0.0049103014, 0.017839605, -0.008091813, 0.04140947, -0.14880367, 0.20439196, 0.17187491, 0.021044731, -0.001926388, -0.14152211, -0.0587003, -0.07890274) * go_1(-1.0, 0.0); - result += mat4(0.026869364, -0.09123975, 0.13258849, -0.03649351, -0.029062876, -0.090445675, -0.16224387, -0.058266606, -0.08752301, -0.06947656, 0.10508353, -0.07359757, 0.013967536, 0.12184862, 0.05111278, -0.11674456) * go_1(-1.0, 1.0); - result += mat4(-0.057195935, -0.056843165, -0.07615914, -0.11201728, 0.104859784, -0.07532912, -0.17542382, 0.009371882, 0.18781498, 0.12871909, 0.005714303, 0.07312082, -0.051393475, 0.123752356, 0.016984658, 0.09753753) * go_1(0.0, -1.0); - result += mat4(0.049554065, -0.005824781, 0.03491197, 0.050243527, 0.035413153, 0.06531434, -0.025357272, -0.06480711, 0.0920658, 0.120195575, -0.24142283, 0.06350993, -0.061250027, -0.07128554, -0.17981072, -0.2473607) * go_1(0.0, 0.0); - result += mat4(-0.016607853, 0.1309011, -0.08538273, 0.010532195, 0.055277504, -0.045768805, 0.006048609, -0.10704634, 0.10049099, -0.01950143, -0.04101718, 0.024410551, 0.06883872, 0.20909916, 0.11467779, 0.12572771) * go_1(0.0, 1.0); - result += mat4(0.028375478, -0.0013597496, 0.04202015, -0.01492913, -0.027526926, -0.04698641, -0.21104787, -0.19077387, 0.1593075, -0.13692486, -0.13738127, 0.10472799, -0.06821362, -0.013837978, 0.12394214, -0.14835674) * go_1(1.0, -1.0); - result += mat4(-0.2764926, 0.00037893496, 0.067132294, -0.0011471875, 0.054764304, -0.115992464, 0.14218727, 0.03301949, 0.30239588, 0.20239085, -0.016524972, 0.39796564, 0.16488414, -0.18643552, 0.07657535, 0.12796035) * go_1(1.0, 0.0); - result += mat4(0.03292478, 0.018088378, -0.0047314544, -0.0942764, 0.20013368, -0.042666394, 0.107990764, -0.04759925, -0.09036299, 0.02896287, -0.043856964, 0.050451633, 0.025120081, 0.11044985, 0.14672092, -0.0019441668) * go_1(1.0, 1.0); - result += mat4(-1.7994573e-05, -0.12576, 0.0050358945, -0.06858176, 0.024048325, 0.082893774, -0.08247018, -0.024433604, 0.020361714, -0.12750039, 0.056899726, 0.12528084, -0.026321534, -0.15653296, -0.0025562202, -0.117765464) * go_2(-1.0, -1.0); - result += mat4(0.12503651, 0.068337925, -0.033611838, -0.030133707, -0.0195529, 0.0641469, 0.16414385, 0.1402887, 0.005432807, 0.09584112, -0.069221325, 0.05826886, -0.062293578, 0.1359814, -0.08677194, -0.112642445) * go_2(-1.0, 0.0); - result += mat4(0.076737724, 0.04054001, 0.13805287, 0.025651459, -0.048715483, -0.14808512, 0.029204313, 0.23830198, 0.043977976, -0.20387268, -0.09297148, -0.0052288985, 0.119533904, -0.13873823, 0.21179926, 0.0074633798) * go_2(-1.0, 1.0); - result += mat4(-0.047114216, 0.07865834, 0.13700049, 0.013087235, -0.13068296, -0.2915652, -0.05307391, -0.122398384, -0.011456016, 0.10176556, 0.005239084, 0.14646941, 0.1222608, -0.036448624, 0.12708518, 0.19488429) * go_2(0.0, -1.0); - result += mat4(-0.06569539, -0.14925788, -0.108752884, -0.03800244, 0.027864104, 0.14492571, 0.028624304, 0.030941105, 0.062223762, -0.04562544, -0.16191466, 0.047633838, 0.07819544, -0.029103909, 0.18797997, 0.15739097) * go_2(0.0, 0.0); - result += mat4(-0.08028184, -0.0019299309, 0.19395895, 0.074406736, 0.09395108, 0.014253163, 0.14119357, 0.0625434, -0.107364275, 0.08051348, -0.16450252, 0.07509987, 0.039519705, -0.12978974, 0.0018611677, 0.084226385) * go_2(0.0, 1.0); - result += mat4(0.01908049, 0.018377827, 0.1084423, 0.1042167, -0.14724809, 0.032470826, -0.023825897, 0.12140157, 0.20058173, 0.18852398, -0.018646076, 0.0030090201, -0.113370456, -0.18958052, 0.06353298, 0.03474997) * go_2(1.0, -1.0); - result += mat4(0.0541916, -0.0024718987, -0.11837526, 0.12462076, -0.12295159, -0.117419675, -0.19550472, -0.103674844, 0.12131624, 0.10824999, -0.2025623, 0.19440755, 0.12012352, -0.24212775, 0.1654879, 0.06825857) * go_2(1.0, 0.0); - result += mat4(-0.025793526, 0.052255828, -0.1578918, 0.09792257, 0.017080277, -0.015971176, 0.1533006, 0.23281395, -0.21927428, -0.13227654, -0.1252441, -0.007964906, 0.12551773, -0.024804931, 0.11494948, 0.09283413) * go_2(1.0, 1.0); - result += mat4(-0.0036518201, -0.07751861, 0.010538365, -0.15155843, 0.10629848, 0.014306658, -0.04939083, -0.03384487, 0.058266126, -0.004661259, -0.028613715, 0.053454474, -0.04582958, -0.115151264, -0.0068669906, -0.22702943) * go_3(-1.0, -1.0); - result += mat4(0.039176278, 0.011494633, 0.015706042, 0.075835295, -0.015517273, -0.014914582, -0.08363358, -0.12898697, -0.10866863, 0.20754579, 0.102477565, 0.037476905, -0.072777174, 0.22886744, -0.04767951, -0.04035673) * go_3(-1.0, 0.0); - result += mat4(0.06419821, -0.030695735, -0.15506352, 0.06295063, -0.07215214, 0.08323155, -0.08262735, -0.12231418, 0.075205564, 0.047350686, -0.09001999, 0.05199032, 0.055573188, 0.13256694, 0.029536445, 0.018242368) * go_3(-1.0, 1.0); - result += mat4(0.07162344, 0.40211213, -0.09749091, 0.11718244, 0.05371318, 0.1629951, 0.024023768, 0.059713352, -0.08090218, -0.2655481, 0.09996966, -0.030882658, -0.03895911, -0.046411898, -0.16690536, -0.07667844) * go_3(0.0, -1.0); - result += mat4(0.04966612, 0.09556927, 0.10110896, -0.09490906, 0.09499889, 0.10704381, 0.10541124, 0.056176364, -0.16835918, 0.05321478, -0.006551619, -0.16446579, 0.1319938, 0.07751895, 0.093109965, 0.067452855) * go_3(0.0, 0.0); - result += mat4(0.11643574, -0.050698593, 0.019734323, 0.28733438, 0.010801386, 0.16160545, -0.1909745, -0.19066635, -0.046848252, -0.2782778, -0.2288949, 0.061261218, 0.019757431, -0.19059609, -0.012141124, 0.0052271197) * go_3(0.0, 1.0); - result += mat4(0.054981094, 0.012395964, -0.06728283, -0.02209197, 0.07478041, 0.13791092, -0.08750484, -0.2030279, -0.10006762, -0.04639696, -0.105195396, -0.08758818, 0.052939918, 0.1112401, 0.0030733896, 0.055312406) * go_3(1.0, -1.0); - result += mat4(0.15698704, 0.0036365106, 0.12380404, -0.11107378, -0.014331061, 0.07033424, -0.0022356857, -0.12670168, -0.03733828, 0.07234127, 0.16723327, -0.07515861, -0.0045013875, -0.066591114, -0.021226835, 0.049541425) * go_3(1.0, 0.0); - result += mat4(0.0731916, 0.11341163, 0.023431147, -0.010583704, -0.012694039, 0.024219576, -0.21232608, -0.20807506, -0.010235114, -0.04309934, 0.035700176, 0.03843078, -0.028863966, -0.009591593, -0.0031941584, -0.20235287) * go_3(1.0, 1.0); - result += mat4(-0.03190466, -0.08758244, -0.06945306, -0.007161315, 0.016512264, 0.11133118, -0.05756395, 0.07726425, -0.0528862, 0.09652806, -0.060299616, 0.24618843, -0.102944456, -0.081363164, 0.086291164, -0.18228665) * go_4(-1.0, -1.0); - result += mat4(0.024533918, -0.024038268, -0.23588428, -0.06322061, -0.026354123, 0.053561248, -0.06604492, 0.0026893516, -0.115375444, 0.029626213, 0.060347445, 0.33259663, 0.0013549939, -0.14255665, 0.099064134, 0.109851025) * go_4(-1.0, 0.0); - result += mat4(-0.00096234377, -0.11622208, -0.090943396, -0.038205452, -0.13794866, 0.1020102, -0.17208543, -0.015197958, -0.07927716, -0.29773572, 0.013087006, -0.05451589, -0.09855722, 0.11516159, 0.23010112, -0.038115587) * go_4(-1.0, 1.0); - result += mat4(0.003703244, -0.08092577, -0.03437507, -0.030108482, 0.040932745, 0.144932, 0.09965903, 0.24175544, -0.020715227, 0.09383904, 0.14609617, 0.28962442, -0.03215652, -0.05014826, -0.09543612, -0.16512293) * go_4(0.0, -1.0); - result += mat4(-0.1338463, -0.04834589, 0.24409921, -0.0005155241, -0.09032246, -0.22520639, 0.19727935, -0.078189515, -0.069197565, -0.004616351, 0.41213343, 0.06873554, 0.04303666, -0.23138012, -0.01716713, 0.06984024) * go_4(0.0, 0.0); - result += mat4(-0.00503349, -0.23806292, 0.035638902, -0.10437578, -0.1152508, 0.076598465, 0.24876347, -0.17324387, -0.014940385, 0.06944068, 0.1505031, 0.035267122, -0.04602133, 0.0814317, 0.07536631, -0.085849725) * go_4(0.0, 1.0); - result += mat4(-0.07030559, 0.030874468, -0.001077254, -0.18143663, -0.03723178, 0.0926711, 0.012522207, -0.08783188, -0.02476989, 0.14467658, -0.015393455, -0.14186962, 0.05934932, 0.042091742, -0.011705797, 0.092124745) * go_4(1.0, -1.0); - result += mat4(0.024072237, -0.18759586, 0.103869535, -0.051343195, 0.34892958, -0.061599772, 0.11592873, 0.039111182, 0.36298528, 0.018168671, -0.029816257, 0.24967138, -0.14238372, -0.09866193, -0.05653406, -0.004839818) * go_4(1.0, 0.0); - result += mat4(0.031744566, -0.003036102, 0.05900721, 0.2419773, 0.0060732705, 0.008347982, 0.06998169, -0.017762665, -0.015387137, 0.109877184, -0.0038969691, 0.035790797, 0.020317623, -0.07454754, 0.020916225, -0.015802914) * go_4(1.0, 1.0); - result += mat4(-0.036078982, -0.021052623, -0.08594462, 0.1630876, 0.03278222, 0.13835059, 0.029010452, 0.23859024, -0.0016811197, 0.124995105, 0.008666817, 0.08935092, 0.022882387, 0.0064876135, -0.07351711, 0.016907092) * go_5(-1.0, -1.0); - result += mat4(0.0021571724, 0.016201114, -0.008357702, 0.10146938, -0.019307991, 0.2319128, -0.014715414, -0.053231463, 0.1129617, -0.08196764, -0.17239365, -0.016156387, -0.06554231, 0.09298971, 0.06640363, -0.17430359) * go_5(-1.0, 0.0); - result += mat4(-0.07884391, 0.05402115, -0.04141859, 0.08351969, -0.030872932, -0.25070804, -0.031832412, 0.037755664, 0.05426495, -0.007282632, 0.041353766, 0.09315843, 0.06988119, -0.09045279, 0.03552638, 0.08886742) * go_5(-1.0, 1.0); - result += mat4(-0.10312758, -0.14473592, 0.06468928, 0.07240854, 0.07639409, 0.25952578, 0.0004689448, 0.25006202, 0.04892399, -0.15069105, 0.031330712, -0.13219997, -0.10721048, 0.09674294, 0.030883627, 0.088893786) * go_5(0.0, -1.0); - result += mat4(0.060701642, 0.13242769, 0.025189146, -0.105360806, -0.26855835, -0.025957532, -0.16453391, -0.10504748, 0.18607429, -0.0784457, 0.26755574, 0.24636236, -0.21367395, 0.045376107, -0.055740993, -0.13300979) * go_5(0.0, 0.0); - result += mat4(-0.059003837, -0.012082007, -0.12086763, 0.031320993, -0.19584721, -0.11036068, -0.034678243, 0.057754494, 0.0038097142, 0.08829017, -0.044158544, 0.0804443, 0.07473639, -0.17069483, 0.023236055, -0.057046823) * go_5(0.0, 1.0); - result += mat4(-0.11580383, -0.020031182, 0.111571595, -0.08422117, -0.06358351, 0.17527273, -0.037431642, -0.15660492, -0.07324008, -0.10253073, 0.054786574, -0.13505399, -0.040323336, -0.01836728, 0.12116626, -0.11555739) * go_5(1.0, -1.0); - result += mat4(-0.501075, 0.08686116, -0.010329619, -0.28165087, 0.28034717, -0.20455976, 0.1741333, 0.038334742, 0.20490855, -0.13214226, 0.18811586, -0.18852618, -0.09458034, 0.030453261, 0.011105292, -0.17698336) * go_5(1.0, 0.0); - result += mat4(-0.033512898, -0.07610239, 0.07565421, -0.14622678, 0.14940825, 0.053289484, 0.08369134, 0.060511183, -0.12266086, -0.08907458, 0.042919166, 0.16767487, -0.15839809, 0.014448444, 0.081390806, -0.1304336) * go_5(1.0, 1.0); - result += mat4(0.035597347, 0.036260672, -0.13641554, 0.023568528, -0.064240545, -0.036738854, -0.18114036, 0.042951394, 0.12498931, 0.007909749, 0.074017294, 0.16588119, 0.07560239, -0.16967122, 0.036804147, 0.050694373) * go_6(-1.0, -1.0); - result += mat4(0.0035213558, -0.14315669, 0.0006057612, -0.11107693, 0.1250593, -0.22156724, 0.014978513, 0.14218992, -0.12644413, 0.1448962, -0.038243253, -0.2194696, -0.15294807, 0.097566746, -0.23580866, 0.04192647) * go_6(-1.0, 0.0); - result += mat4(-0.05379451, 0.08438811, -0.011333482, 0.0056827497, 0.029285189, 0.05707083, 0.01045656, -0.1220427, -0.13318716, -0.17416386, -0.13693286, 0.004463277, 0.0054760277, -0.13070771, -0.038098343, 0.16552636) * go_6(-1.0, 1.0); - result += mat4(0.019738045, -0.0026153836, 0.022429602, 0.055454295, 0.13728, -0.11775817, 0.08437089, 0.14925233, -0.25963444, -0.19328977, 0.11018404, -0.1415676, -0.03892593, -0.09808861, 0.083476074, -0.054282036) * go_6(0.0, -1.0); - result += mat4(-0.09798946, -0.036132403, 0.087842025, -0.08399413, 0.13809524, 0.3034931, 0.015697211, 0.034756087, 0.08236563, 0.11538186, -0.09356475, -0.02923682, 0.04214602, -0.1394247, -0.082611024, 0.11403854) * go_6(0.0, 0.0); - result += mat4(-0.10430588, 0.041609235, 0.03927379, 0.147823, -0.041613717, -0.2145986, -0.19082011, -0.18349867, -0.00505968, -0.012337355, 0.060343113, 0.079795614, 0.026638072, 0.05699632, -0.027564438, 0.16506112) * go_6(0.0, 1.0); - result += mat4(0.18249887, -0.11793541, -0.11597893, 0.060480494, -0.022722771, 0.02050344, 0.23385662, 0.04441619, -0.12688236, 0.0042606746, -0.180861, 0.021793948, 0.054468777, 0.008117277, 0.0002806121, 0.032789614) * go_6(1.0, -1.0); - result += mat4(-0.06664305, 0.1853084, -0.09494563, 0.08534247, -0.20119628, 0.16745457, -0.028476797, -0.08182159, -0.03623757, -0.06395209, -0.08543312, -0.08307131, -0.1769124, 0.1872704, -0.12282492, 0.011886932) * go_6(1.0, 0.0); - result += mat4(-0.11081273, -0.0077292146, -0.07936108, 0.060621656, -0.1861718, 0.03099169, 0.13991767, -0.07016253, 0.03027569, -0.03524246, 0.02272178, 0.027382538, 0.039256528, 0.0058396664, -0.11609423, 0.008904226) * go_6(1.0, 1.0); - result += mat4(0.018210433, -0.04427329, 0.0786003, 0.24901037, -0.042964943, 0.1879084, 0.080009475, -2.7224973e-05, -0.0313905, -0.064047895, -0.065849096, 0.1428207, 0.0022087602, 0.1660737, -0.16618532, -0.026659494) * go_7(-1.0, -1.0); - result += mat4(-0.1313427, -0.09119156, -0.03614231, 0.16542135, 0.05243687, 0.11922457, -0.1853969, -0.0073959203, 0.038400393, -0.17513955, -0.15050378, -0.070101395, -0.23747125, 0.1599427, 0.21267292, -0.27109572) * go_7(-1.0, 0.0); - result += mat4(0.0454884, -0.040218998, -0.08242091, 0.18652722, 0.042139422, -0.14477035, -0.13943626, 0.018183183, -0.061966367, -0.118910074, 0.004634003, -0.043745518, -0.16005561, 0.051346913, 0.19549486, -0.5216827) * go_7(-1.0, 1.0); - result += mat4(0.07149998, 0.02138427, 0.12219494, 0.13234742, -0.051980246, -0.059077535, 0.15677546, -0.077345364, 0.019371232, 0.016624838, -0.097907275, 0.096939005, -0.06324521, -0.05718129, -0.082027346, -0.25402892) * go_7(0.0, -1.0); - result += mat4(0.02743824, -0.08489557, -0.24905322, -0.32141867, 0.22583084, 0.23329417, -0.028721593, 0.0016453494, -0.22114721, -0.11764665, -0.05277645, -0.17466292, 0.2302974, -0.09216048, -0.22402821, 0.09933786) * go_7(0.0, 0.0); - result += mat4(0.1976356, -0.12997995, -0.11737824, -0.014698163, -0.0027365792, 0.111862876, -0.30621696, 0.20191678, 0.019106917, 0.02754029, 0.09483265, 0.11204457, 0.015868861, -0.18545562, 0.1748827, -0.24576695) * go_7(0.0, 1.0); - result += mat4(-0.03796282, -0.109834, 0.12251788, -0.04472342, -0.07811151, 0.013148134, 0.11245539, -0.14532489, -0.09553689, -0.09974767, 0.09138531, -0.06428713, -0.122864686, -0.11208252, -0.010935392, -0.25728893) * go_7(1.0, -1.0); - result += mat4(0.259306, 0.15115878, 0.26206654, 0.08348107, -0.17227693, 0.081220835, -0.10695122, 0.06191277, 0.14869192, 0.0010283765, 0.06636733, 0.13419382, 0.012798676, -0.02925236, 0.33322895, 0.0050780945) * go_7(1.0, 0.0); - result += mat4(0.03443009, 0.20322149, -0.024391051, 0.034479506, -0.07402309, 0.0425652, -0.13926035, -0.02805589, -0.012268415, -0.018608773, 0.028608395, -0.044151317, 0.012976348, -0.0156076765, 0.07677897, -0.00019149396) * go_7(1.0, 1.0); - result += mat4(0.006685847, -0.2536577, -0.07419314, -0.31916437, -0.028040439, 0.06264434, -0.050663333, -0.012245421, -0.030623304, -0.15650222, 0.13766797, -0.1098499, 0.14554046, -0.024444913, -0.029014781, 0.013120936) * go_8(-1.0, -1.0); - result += mat4(-0.17133303, -0.11474049, -0.030690582, 0.08961145, 0.08897445, 0.03141745, 0.0028681252, 0.09953673, 0.030985933, -0.36529925, 0.057779342, -0.08686567, 0.1468862, 0.19067344, 0.06386271, 0.027010066) * go_8(-1.0, 0.0); - result += mat4(0.02949929, -0.026946412, -0.03339542, 0.26693338, -0.098694056, -0.08597344, -0.12111771, 0.032002207, -0.001795345, -0.0060617267, 0.122050546, 0.09799719, 0.013893896, -0.019997513, -0.05524217, -0.09772605) * go_8(-1.0, 1.0); - result += mat4(0.20701106, -0.297559, -0.16678828, -0.08828946, 0.1075599, 0.10080888, -0.06964122, 0.016103098, -0.20756197, -0.12484585, 0.06967939, -0.010843157, 0.26551637, -0.1324594, 0.13976827, 0.3363322) * go_8(0.0, -1.0); - result += mat4(0.11670475, -0.035778333, 0.15347819, 0.21083693, -0.12840465, -0.035845824, 0.029178869, 0.14196, 0.019570004, -0.11675628, -0.066392556, -0.08303598, -0.32764187, -0.06986408, -0.07001591, -0.14637336) * go_8(0.0, 0.0); - result += mat4(0.11526194, 0.09488454, 0.021370485, -0.0483534, -0.0037422036, 0.0222931, -0.121567965, 0.07434875, 0.038577255, 0.045069333, 0.091428705, 0.0995632, 0.17210557, -0.35292122, 0.009242468, -0.06575604) * go_8(0.0, 1.0); - result += mat4(-0.14760932, -0.025520764, -0.14337976, -0.018671967, 0.21511485, -0.06866904, 0.03975339, 0.10466266, -0.041295838, -0.03289458, 0.028010901, 0.08874704, 0.111655645, -0.0042287265, -0.0067498074, 0.1148652) * go_8(1.0, -1.0); - result += mat4(0.17541917, -0.2126484, -0.037444204, 0.04114598, 0.11364543, 0.10663656, 0.12955339, -0.018733516, 0.22215228, 0.059307653, 0.04135689, 0.077075884, 0.021400876, -0.167623, -0.20658982, 0.19478907) * go_8(1.0, 0.0); - result += mat4(0.008089906, 0.24154711, -0.13476565, 0.019567002, 0.11787564, 0.02734716, -0.06301515, 0.040616788, -0.06785487, 0.1390928, -0.07603383, 0.14673676, 0.1271106, -0.23466052, 0.013947333, 0.1718309) * go_8(1.0, 1.0); - result += mat4(-0.0057404893, -0.15628129, -0.0064276247, 0.09602378, -0.021200346, -0.12546404, 0.13840783, 0.012898374, -0.054446388, -0.091853596, 0.09044742, -0.072119, 0.0601183, -0.05706025, -0.0073583177, -0.16547501) * go_9(-1.0, -1.0); - result += mat4(0.0720339, 0.041774888, -0.15028723, 0.019322444, 0.13419777, -0.17274082, 0.15353872, -0.07358952, -0.06570478, 0.09121696, 0.120075844, 0.0044252435, 0.12952195, 0.046188887, -0.082326144, -0.23930664) * go_9(-1.0, 0.0); - result += mat4(-0.07011372, 0.12764728, 0.04152175, 0.052369352, 0.15979223, 0.02298587, -0.10174222, 0.05493358, 0.015286563, 0.1894978, 0.11768885, -0.00906085, 0.0861012, 0.10094487, 0.100795865, 0.004716817) * go_9(-1.0, 1.0); - result += mat4(-0.027043847, -0.23946394, 0.042152684, -0.21087328, 0.1812294, 0.04328528, 0.14245422, -0.020683091, 0.12807347, -0.33665732, -0.18067953, -0.3040217, -0.065842405, -0.12448621, -0.17077735, -0.2136904) * go_9(0.0, -1.0); - result += mat4(0.0077196616, 0.050589927, -0.08759789, 0.17469266, -0.15111382, 0.045068096, -0.33810377, -0.22869548, 0.0014367847, -0.13490641, -0.030594718, -0.1425026, -0.1315236, -0.16815974, -0.037266042, -0.24030674) * go_9(0.0, 0.0); - result += mat4(-0.014485405, 0.18734606, 0.05823325, -0.077405214, 0.020787347, -0.013942174, 0.07989219, 0.12702654, 0.04856548, 0.008779833, -0.032016214, -0.13144355, 0.23483105, 0.2664007, 0.29835513, 0.11381805) * go_9(0.0, 1.0); - result += mat4(-0.0025473998, -0.009611839, -0.12472179, 0.13324928, -0.2873321, -0.3690769, -0.19001706, -0.45668945, -0.058745615, -0.034500115, -0.20861118, -0.014576644, 0.14126998, 0.03378116, -0.3294577, 0.13788588) * go_9(1.0, -1.0); - result += mat4(-0.084666446, 0.07678561, -0.35668227, 0.044966694, 0.2978287, -0.05265991, 0.053133518, -0.012012805, 0.15315501, -0.004027129, -0.016121216, 0.027978266, -0.12929294, -0.04454878, -0.09979826, 0.06452664) * go_9(1.0, 0.0); - result += mat4(-0.078429036, 0.08658762, -0.08947654, -0.06625196, -0.04362567, -0.0054804664, -0.19484106, 0.21562175, 0.08060318, 0.04895596, -0.15507787, -0.0003060528, -0.027542366, -0.0033105996, 0.07422279, -0.11085649) * go_9(1.0, 1.0); - result += mat4(0.05956468, 0.091366075, 0.0037317951, 0.022181934, 0.043897398, -0.057247777, 0.053182777, -0.029588478, -0.032042164, -0.022768367, 0.0982422, -0.0046064584, -0.13132066, -0.14951156, -0.00090484065, 0.0033148613) * go_10(-1.0, -1.0); - result += mat4(0.10067602, 0.1768167, 0.09319276, 0.05545746, -0.09815685, 0.059621163, -0.18311253, -0.09429009, -0.10641968, 0.0028561363, -0.013706987, -0.0023843904, -0.04311436, -0.012575459, 0.0043700333, -0.050200813) * go_10(-1.0, 0.0); - result += mat4(0.013915544, -0.0757592, 0.044148494, 0.056571446, 0.04411375, 0.04224288, -0.22881642, -0.123468116, -0.062506266, -0.17653957, -0.063954756, 0.10225458, 0.038327288, -0.15049885, -0.08253219, -0.09311468) * go_10(-1.0, 1.0); - result += mat4(0.13911924, 0.10561401, 0.0273022, 0.20981708, 0.014271885, 0.11831189, 0.13141282, -0.016618425, 0.04164692, -0.035123516, -0.0047200886, 0.076753914, -0.14769398, -0.41632187, 0.052841872, -0.23463646) * go_10(0.0, -1.0); - result += mat4(-0.01388395, 0.03719971, -0.14952944, 0.07520179, -0.15159212, 0.43388975, 0.26373518, 0.13261753, -0.17486258, 0.148321, -0.061730083, 0.10463973, -0.047994018, 0.37817246, 0.17341742, -0.011474512) * go_10(0.0, 0.0); - result += mat4(-0.00019863897, -0.16808252, 0.025214631, 0.042076986, -0.14041016, 0.037121087, 0.2232787, -0.16173011, -0.10725993, -0.16925922, 0.10937271, -0.02865035, 0.04876046, 0.056427523, -0.086016715, -0.034979723) * go_10(0.0, 1.0); - result += mat4(-0.074442565, -0.046245288, -0.07022254, 0.15418175, 0.07957959, -0.02047787, 0.02623656, -0.21276104, 0.09381988, -0.008554025, -0.017238371, 0.06974694, 0.25741857, -0.023782581, 0.19565614, -0.008817276) * go_10(1.0, -1.0); - result += mat4(-0.39654154, -0.09183919, -0.113519065, 0.027061233, 0.19516107, 0.020436032, 0.061018452, -0.18244612, 0.075798355, 0.016068801, -0.054034945, -0.04725821, -0.14116976, -0.03840121, 0.107527554, 0.00559549) * go_10(1.0, 0.0); - result += mat4(-0.04207255, -0.16133082, 0.10303731, 0.0053524077, 0.14013372, -0.11026666, 0.048343863, -0.11690558, 0.07692668, -0.07924815, 0.08556169, 0.111381136, -0.27046818, 0.029103367, 0.19633245, 0.020407349) * go_10(1.0, 1.0); - result += mat4(0.007991728, -0.020026166, -0.13022181, 0.0017440818, 0.17788827, -0.0060873474, 0.06153858, 0.048720125, 0.02515951, -0.1806243, -0.21035627, -0.03994368, 0.009566003, 0.08815808, 0.12738399, -0.017710047) * go_11(-1.0, -1.0); - result += mat4(0.09107191, 0.007003059, -0.20418708, 0.05764021, 0.14495295, -0.03845028, 0.008737782, 0.14078677, -0.07112348, -0.016874174, 0.015319832, -0.07615101, 0.041255035, 0.14763014, -0.03354551, 0.1164008) * go_11(-1.0, 0.0); - result += mat4(0.07999856, 0.13304743, -0.014120932, -0.0863841, 0.03825098, -0.3161007, -0.28431094, -0.04106924, -0.11138334, -0.10150291, 0.025799073, 0.028114514, -0.11306599, 0.014454554, -0.12784232, -0.06992525) * go_11(-1.0, 1.0); - result += mat4(-0.22783421, 0.12771747, 0.23512462, -0.024143018, -0.2100377, 0.0015988444, -0.172392, -0.0024638835, 0.112730995, 0.16705875, 0.07242263, 0.03309278, -0.09356869, -0.14339021, 0.004359785, -0.08542854) * go_11(0.0, -1.0); - result += mat4(-0.18375313, 0.14062601, 0.06567414, 0.016212454, -0.08532553, 0.077800326, -0.11754698, 0.08447961, 0.048469722, -0.11375693, -0.09422993, -0.13284366, 0.056217533, 0.0039602537, 0.14376463, 0.047721226) * go_11(0.0, 0.0); - result += mat4(0.046775565, -0.011286903, -0.0031077573, -0.07476629, -0.10337221, -0.030675303, -0.039012738, 0.102769956, -0.11489153, 0.030338772, -0.13100365, 0.019705927, -0.08369088, -0.06234032, 0.08906353, -0.10402436) * go_11(0.0, 1.0); - result += mat4(-0.10511861, -0.14912106, 0.14367017, -0.11703594, -0.11577902, -0.07610685, 0.010949137, -0.17966509, -0.063496634, -0.21665098, 0.17696856, 0.03794644, -0.2067763, 0.18673943, -0.02478608, -0.0803477) * go_11(1.0, -1.0); - result += mat4(0.48052612, -0.058988307, 0.3888594, 0.042371575, -0.05024253, 0.16064972, -0.09595022, -0.16908611, 0.008086129, 0.010086794, -0.058820166, 0.22500882, -0.26254514, 0.007614947, -0.265352, -0.067624144) * go_11(1.0, 0.0); - result += mat4(0.07264534, 0.013439377, 0.002236739, -0.18097728, 0.07698999, 0.15176728, 0.12372462, 0.101661354, 0.19917522, 0.036132462, -0.1351664, -0.020807575, 0.015356301, -0.06299266, 0.20859388, -0.0945306) * go_11(1.0, 1.0); - result += vec4(0.009461313, 0.07088384, -0.10474157, -0.021341816); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!SAVE conv2d_13_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0073285024, 0.1144, -0.028449252, -0.016121224, 0.083792746, -0.14174786, 0.008513715, -0.00956473, -0.00084582175, 0.03225489, -0.020331481, -0.00515214, -0.12380283, -0.12599367, 0.08165983, -0.060773954) * go_0(-1.0, -1.0); - result += mat4(0.1844192, 0.19258575, 0.14895016, 0.113389224, -0.07706893, 0.05490408, 0.10513003, -0.023520403, -0.037016764, -0.035634924, 0.0938482, -0.08073502, 0.07596125, -0.036542032, -0.06776929, -0.12594356) * go_0(-1.0, 0.0); - result += mat4(0.012521706, 0.08256602, 0.024437962, -0.14232518, -0.19811064, 0.039305065, 0.075605676, -0.037288472, -0.012442823, -0.008825962, 0.06694387, -0.03606097, -0.0106425695, 0.021793168, -0.215198, -0.17412446) * go_0(-1.0, 1.0); - result += mat4(0.09952389, -0.045461636, -0.07098339, -0.058084775, 0.0452419, -0.007112955, -0.057224195, -0.00600692, -0.087406546, -0.036380418, 0.004223704, -0.03609955, -0.043148678, -0.104169935, -0.029539566, 0.036258627) * go_0(0.0, -1.0); - result += mat4(-0.068943344, -0.040103976, 0.18191427, -0.0041341195, -0.025713405, 0.09959399, 0.15007588, 0.031151265, -0.024080817, 0.0045685447, -0.13444759, -0.045419164, -0.032590732, 0.03200801, -0.008675603, -0.14013636) * go_0(0.0, 0.0); - result += mat4(-0.031968147, -0.014955117, -0.04463007, 0.27010003, -0.061639994, -0.067749135, -0.13919078, -0.16372173, 0.14469743, -0.005122931, 0.10154323, 0.09967675, -0.16811277, 0.10617033, -0.06715782, -0.05695443) * go_0(0.0, 1.0); - result += mat4(0.21285576, -0.025202936, -0.05149528, -0.04807916, 0.014124108, -0.06361748, 0.08658223, -0.060488764, -0.014000632, 0.044802517, 0.0056479573, -0.014354928, 0.062085636, -0.101351716, -0.028882004, -0.11025039) * go_0(1.0, -1.0); - result += mat4(-0.10832846, -0.09870117, 0.030997222, -0.065083735, 0.026517184, -0.09490458, -0.049755707, 0.14329442, -0.020726258, 0.14553492, -0.024541749, 0.004853816, 0.014107099, 0.060158994, -0.018872442, 0.048374992) * go_0(1.0, 0.0); - result += mat4(-0.025663745, -0.1282767, -0.02868958, -0.033771988, -0.023652168, 0.16181502, -0.009278636, -0.083927155, 0.010536508, -0.07318884, 0.07950583, 0.049379278, -0.045263678, -0.07319993, -0.030431932, -0.0056823073) * go_0(1.0, 1.0); - result += mat4(-0.045902874, -0.058456294, -0.012317956, -0.026984705, 0.16147104, -0.0013008458, -0.0025830006, 0.008972224, -0.26794544, -0.24461915, 0.091435395, 0.053719312, 0.050468277, -0.06685586, -0.044531353, -0.011795062) * go_1(-1.0, -1.0); - result += mat4(0.024308898, -0.08895609, -0.058555327, -0.0006793974, 0.116873205, 0.041545838, -0.16915888, 0.16392942, -0.17633331, -0.2355732, 0.038373847, 0.08613005, 0.07204081, 0.042067327, -0.0425792, 0.05513903) * go_1(-1.0, 0.0); - result += mat4(0.036078498, 0.077769436, -0.15350284, -0.09892574, 0.064394854, 0.12807368, 0.039891828, -0.040717658, -0.050314497, -0.06526016, 0.080487415, -0.0027639167, -0.11946653, -0.15888226, -0.015598435, 0.12251406) * go_1(-1.0, 1.0); - result += mat4(0.1290664, -0.058534194, -0.018295934, -0.07940514, 0.12432192, 0.010142306, 0.072547734, -0.13980152, 0.16458817, -0.1394504, 0.13792835, 0.047197863, 0.028533489, -0.011749858, -0.010762649, 0.1392874) * go_1(0.0, -1.0); - result += mat4(0.016710546, 0.19675231, -0.20401473, -0.039095316, -0.06946871, 0.23567766, 0.16483572, -0.09938507, -0.060242232, 0.097428754, 0.030363632, -0.11512725, 0.024087626, 0.05314576, -0.17251213, 0.07648474) * go_1(0.0, 0.0); - result += mat4(-0.032573838, -0.013386335, 0.087401345, 0.21951716, -0.08565474, -0.032799773, 0.13515915, 0.26348254, -0.07747111, 0.0030196665, -0.0018466014, 0.17031538, 0.02935537, 0.0899902, 0.06186042, -0.13625641) * go_1(0.0, 1.0); - result += mat4(0.1215287, -0.042131472, -0.032923955, 0.100939475, -0.041368138, 0.03694828, 0.1103769, -0.030717807, -0.13684453, 0.051721994, 0.025304647, -0.15890115, 0.07639035, 0.052489985, -0.04128077, -0.025718726) * go_1(1.0, -1.0); - result += mat4(-0.06296705, 0.05318694, -0.1371503, -0.14969784, -0.07175306, -0.030627202, 0.07334587, -0.009825863, -0.026530674, 0.27626765, 0.14821655, -0.054016598, -0.056228504, 0.053841833, -0.029819967, -0.015623155) * go_1(1.0, 0.0); - result += mat4(0.014230513, -0.036077388, -0.024240652, -0.06880111, 0.064582616, 0.03517346, 0.07762339, 0.05755708, -0.06749824, -0.05977129, 0.12002247, 0.116844185, -0.11934344, 0.1391766, 0.108214654, -0.035656262) * go_1(1.0, 1.0); - result += mat4(0.030574623, -0.043842327, 0.08950769, -0.0781518, 0.0700672, 0.013383238, -0.07802362, -0.005014419, 0.11088969, -0.00067165383, -0.0010111893, 0.058019243, -0.07366968, -0.08484348, 0.029948575, -0.11502251) * go_2(-1.0, -1.0); - result += mat4(-0.03321966, -0.03131673, 0.004264257, -0.07305327, 0.008054816, -0.16758922, -0.077912085, 0.22058341, 0.111255586, -0.16060875, 0.017004827, -0.02669972, -0.05014059, 0.040101267, 0.16079256, -0.055537276) * go_2(-1.0, 0.0); - result += mat4(0.029244121, -0.0009780902, -0.017093815, 0.09454508, 0.18911603, 0.051392034, 0.046200924, -0.026249861, 0.0046592955, 0.12321392, -0.11588059, -0.094899625, -0.081606835, 0.17119391, 0.02356436, -0.06047765) * go_2(-1.0, 1.0); - result += mat4(-0.08362705, -0.06756961, -0.011758277, 0.023169149, -0.0982184, 0.025456898, -0.07539763, 0.042874064, 0.02100778, -0.0011199011, 0.006442546, -0.07147588, -0.13854757, -0.011658099, 0.05515101, -0.048050303) * go_2(0.0, -1.0); - result += mat4(0.041595772, -0.06479202, 0.073927626, -0.08536628, 0.16164385, 0.118004836, -0.049047295, 0.10522248, 0.10745737, 0.0012640969, -0.02454351, -0.09574172, -0.009729581, -0.15371798, 0.08798129, -0.009216726) * go_2(0.0, 0.0); - result += mat4(0.18971667, 0.038998246, -0.016063264, -0.2233412, -0.03163863, -0.0012289709, -0.17130315, 0.20456445, 0.064184405, -0.07345441, 0.0020790182, 0.28172332, -0.111298844, 0.0412622, -0.11383462, -0.048998356) * go_2(0.0, 1.0); - result += mat4(-0.034762207, 0.011346329, 0.013585003, 0.07626756, -0.008399175, 0.051606014, -0.0016094594, 0.116053745, -0.069778696, -0.02106771, 0.06336068, 0.048622433, 0.04220354, 0.012939275, -0.08267461, -0.018460738) * go_2(1.0, -1.0); - result += mat4(-0.05582388, -0.10123286, -0.035177495, 0.017128762, 0.018628815, 0.114519656, -0.17636241, -0.10691338, 0.0677963, -0.071575046, 0.18769145, 0.06880732, 0.09815737, -0.045370102, 0.16686986, -0.13218194) * go_2(1.0, 0.0); - result += mat4(0.01283213, 0.01792951, 0.02459982, -0.009541486, 0.1449442, -0.05620025, 0.05726557, 0.05816645, -0.022686943, 0.12581968, -0.07425121, -0.02544034, 0.027782356, 0.014084096, 0.091578476, -0.06339972) * go_2(1.0, 1.0); - result += mat4(0.09170037, -0.057594847, -0.048079927, 0.03068779, 0.05709864, 0.090370096, 0.015733121, -0.05854891, -0.000527767, 0.032967974, -0.026428627, 0.008033896, 0.00573661, -0.014222908, 0.032641955, 0.015299854) * go_3(-1.0, -1.0); - result += mat4(-0.009710511, -0.0935564, -0.06879577, 0.05684709, -0.068999484, 0.10311587, 0.013332367, 0.038386244, -0.04635856, -0.12024988, -0.06825258, -0.05990099, -0.028174242, 0.036818985, 0.16706839, 0.05890767) * go_3(-1.0, 0.0); - result += mat4(-0.049004596, 0.0071681594, -0.0003602087, 0.052849717, -0.03787924, -0.041698013, 0.10563769, -0.09920582, 0.10934604, 0.04542626, -0.07011054, -0.010804346, -0.09419844, 0.046702333, 0.09464839, -0.06823736) * go_3(-1.0, 1.0); - result += mat4(-0.06845078, 0.079021424, 0.06258286, 0.020676255, -0.15648174, 0.1546939, 0.10862024, 0.052000657, 0.13929878, 0.025340393, 0.07040901, 0.07678263, 0.077283464, -0.028596027, 0.006053985, -0.022158029) * go_3(0.0, -1.0); - result += mat4(0.1898525, 0.031312715, 0.046924386, -0.19242099, -0.107252344, 0.077114165, 0.056004215, 0.17428507, -0.04107143, -0.0017563916, 0.12068614, -0.07025747, 0.0495018, 0.061851952, 0.04582248, -0.12431049) * go_3(0.0, 0.0); - result += mat4(0.04685794, -0.24174146, 0.12526262, 0.064534366, -0.050500534, 0.039266504, 0.2439988, 0.17523831, -0.119745165, 0.14102112, -0.20475648, 0.13149914, 0.04693847, 0.06230117, -0.023996271, 0.1514883) * go_3(0.0, 1.0); - result += mat4(0.118849516, 0.013412991, -0.011626599, -0.09768175, -0.050567433, 0.039465338, 0.13075048, -0.14289309, 0.06579954, 0.16555893, 0.059839517, 5.761098e-05, -0.062406965, -0.06764621, 0.017046073, 0.044707622) * go_3(1.0, -1.0); - result += mat4(-0.28945863, 0.08326169, -0.11057029, -0.106940016, -0.051118366, -0.06687964, 0.12088523, -0.00041864708, 0.15931313, 0.04360352, 0.0397097, 0.12181111, 0.031510625, -0.02240916, -0.0924032, 0.1202205) * go_3(1.0, 0.0); - result += mat4(-0.07147302, -0.17362182, 0.03459316, 0.12722759, -0.1753165, -0.09206796, -0.052553307, -0.026404735, 0.029995566, 0.07550818, 0.06890055, -0.10341684, -0.014903289, -0.04990785, -0.04519027, -0.027501447) * go_3(1.0, 1.0); - result += mat4(0.07138481, -0.0038964448, -0.005265701, 0.049808584, 0.024613097, 0.020280845, -0.009967596, 0.06767395, -0.0014587453, 0.06428319, 0.009853714, 0.0805809, -0.06697533, 0.10875888, 0.008187896, -0.017631983) * go_4(-1.0, -1.0); - result += mat4(-0.105059646, 0.103035234, 0.036589332, 0.042030305, -0.051373392, 0.0813933, -0.0115074115, 0.06314272, -0.14578332, -0.07321146, 0.0075932927, 0.15132259, -0.06733089, -0.027117083, -0.0137548195, 0.020148296) * go_4(-1.0, 0.0); - result += mat4(-0.023517285, 0.07467649, 0.002414846, -0.030077169, -0.12513128, 0.011966318, -0.027944475, 0.057034615, 0.16515931, 0.17047071, -0.1264862, 0.024301132, -0.040884867, 0.008070243, 0.09515736, -0.0060314722) * go_4(-1.0, 1.0); - result += mat4(0.08074076, 0.05345624, -0.007762251, 0.01000389, 0.015026349, 0.19908209, 0.030870045, -0.002091911, -0.04621573, 0.31838396, 0.043386586, -0.13836883, -0.067041874, 0.13646385, -0.07350671, 0.085673265) * go_4(0.0, -1.0); - result += mat4(-0.009446313, -0.086647004, 0.20637676, 0.09238394, -0.07296768, -0.12657352, 0.033024136, -0.039740272, -0.077770784, -0.11818795, -0.06578987, -0.0027090618, -0.025300732, 0.12950556, -0.10867766, 0.07387452) * go_4(0.0, 0.0); - result += mat4(-0.012949134, 0.002368703, -0.05297392, -0.10257698, -0.0016853989, 0.075996935, 0.37122545, -0.170613, 0.08732584, 0.049392555, -0.08441015, 0.090052694, -0.062295914, 0.0514166, -0.114991166, -0.043510597) * go_4(0.0, 1.0); - result += mat4(0.07511509, 0.10691906, -0.09244783, 0.034469042, 0.032568026, 0.06024701, 0.022134718, -0.0438891, 0.0957752, 0.125792, -0.06911089, -0.070889555, 0.03087342, 0.06723071, -0.009557929, -0.0040924344) * go_4(1.0, -1.0); - result += mat4(-0.063599, -0.039187234, -0.1455675, 0.035936676, 0.03576043, -0.030747093, -0.0051067425, 0.2659986, 0.093633436, 0.07147859, -0.062383216, 0.15169801, 0.019225782, -0.04582221, -0.11768761, 0.04416685) * go_4(1.0, 0.0); - result += mat4(0.12102416, -0.0039739963, 0.11366815, -0.05148291, -0.021116538, -0.09035905, -0.06349737, 0.22651246, 0.057436086, 0.039311353, -0.10376212, 0.02372195, 0.027644427, -0.06448787, -0.09167275, 0.034432348) * go_4(1.0, 1.0); - result += mat4(0.038848106, 0.07249798, -0.009243467, -0.021106344, 0.124446444, 0.033429075, -0.098644614, 0.040856678, -0.020178655, 0.024375686, -0.071492255, 0.07167701, 0.04130454, 0.042335343, -0.037061527, -0.013655684) * go_5(-1.0, -1.0); - result += mat4(-0.08597521, 0.07135394, 0.0720867, -0.03400516, 0.056643173, 0.09423204, -0.020569563, -0.058777962, 0.08046976, 0.19311704, -0.055601787, 0.13167216, -0.035867438, -0.01827487, -6.583423e-06, 0.038280442) * go_5(-1.0, 0.0); - result += mat4(-0.09820444, -0.13486221, 0.051271014, 0.07005367, 0.035737857, 0.05315366, 0.03366102, -0.10708526, 0.1158274, 0.04591135, 0.08571514, 0.17452762, 0.04824592, -0.081473194, -0.031728912, 0.1585771) * go_5(-1.0, 1.0); - result += mat4(-0.0114516895, -0.01025222, -0.09740883, 0.03264085, 0.025597531, 0.119531736, -0.03077349, -0.037301112, -0.060548894, 0.01302994, 0.022838226, -0.08893953, -0.012516718, -0.007956795, 0.045615423, -0.055380967) * go_5(0.0, -1.0); - result += mat4(-0.11728873, 0.10199893, 0.12820518, 0.03423381, -0.24956615, 0.026927155, 0.014175251, 0.14897104, 0.08224876, -0.08608348, 0.022037864, 0.02436408, 0.0013599518, -0.08172911, 0.051339805, 0.07229407) * go_5(0.0, 0.0); - result += mat4(0.046455204, -0.1374244, -0.059397817, -0.0033628163, -0.06473753, -0.06036789, -0.06340971, 0.16669442, 0.10911536, 0.11359795, 0.22375688, -0.023882419, -0.12102076, -0.020444589, -0.045046736, 0.0068718884) * go_5(0.0, 1.0); - result += mat4(-0.03842321, -0.0011430852, -0.1129748, 0.0152855525, 0.04225248, 0.07387769, -0.027725972, -0.12106088, 0.08656801, -0.11954636, 0.05836412, -0.026802814, -0.041883703, -0.006556173, -0.076189294, 0.0075946534) * go_5(1.0, -1.0); - result += mat4(-0.11975804, -0.026911994, -0.026712572, 0.031212423, -0.0151992105, -0.092190824, 0.06715746, 0.012447212, -0.07223334, -0.09728792, -0.035994522, -0.08701858, 0.04673519, -0.022955962, 0.06816874, 0.054100472) * go_5(1.0, 0.0); - result += mat4(-0.1257005, 0.077909276, 0.03910652, -0.043313637, 0.09700322, -0.15070638, 0.036137406, 0.13088217, 0.030530911, 0.0016815565, -0.026481835, 0.09376303, 0.099763535, 4.2914176e-05, 0.018758861, -0.0356672) * go_5(1.0, 1.0); - result += mat4(0.026617827, -0.07566226, -0.05574729, 0.002619947, -0.018364744, 0.03922602, 0.05693076, -0.049689196, 0.049535688, 0.11005654, 0.0007408533, 0.027861353, 0.01303123, -0.008263306, 0.0026142458, 0.0020303824) * go_6(-1.0, -1.0); - result += mat4(0.038180836, 0.15543976, -0.0673784, -0.22783698, 0.042372238, -0.05000301, -0.07438901, 0.008299556, -0.15254645, -0.35337922, -0.06896136, 0.055395104, -0.077446155, 0.06480281, 0.13135155, -0.06336489) * go_6(-1.0, 0.0); - result += mat4(0.013998281, -0.095250584, -0.1162938, 0.10443475, 0.01559043, -0.01954385, -0.04662086, -0.100116424, 0.0068218485, 0.08356167, -0.013595677, -0.18526508, -0.0046224687, -0.03307869, -0.026683096, 0.021306116) * go_6(-1.0, 1.0); - result += mat4(-0.05738453, 0.049279623, -0.105201654, 0.09385343, -0.039480492, 0.14974229, -0.047360666, -0.02304541, 0.09902975, -0.037706945, 0.009562135, -0.13266477, 0.020257646, -0.055444866, 0.0121131465, 0.121142514) * go_6(0.0, -1.0); - result += mat4(0.05217112, 0.05005239, -0.18094581, -0.00026700262, -0.18397138, -0.0884597, -0.18545485, -0.09732425, -0.09282272, 0.02182749, -0.061359994, 0.18474235, -0.004717591, -0.13706946, 0.03750989, -0.047550667) * go_6(0.0, 0.0); - result += mat4(0.08423895, 0.05750411, -0.0032509726, -0.122791305, -0.076915234, -0.029152788, 0.11213724, 0.14263733, -0.12443673, 0.091285, 0.033931304, -0.02466215, 0.1374147, -0.03435951, -0.054114643, -0.099046014) * go_6(0.0, 1.0); - result += mat4(-0.045449812, 0.04269483, 0.020021262, -0.037943713, 0.07428274, 0.09515684, -0.07982024, -0.024519997, -0.025611475, -0.101608135, 0.029099166, -0.02519268, -0.015601077, 0.056554224, -0.039773546, 0.057046406) * go_6(1.0, -1.0); - result += mat4(0.09342597, 0.015473878, -0.16283993, 0.14848809, 0.1926289, 0.038931195, 0.042676132, -0.13609187, -0.026968451, -0.1338714, 0.046281263, 0.04109745, 0.061672427, 0.064506166, -0.030910177, -0.093653575) * go_6(1.0, 0.0); - result += mat4(-0.048423905, 0.075119875, -0.08892323, -0.09006796, -0.03462919, -0.08672442, 0.1547159, 0.09314443, 0.0017917264, -0.05849465, 0.06419662, -0.1487664, 0.048129495, 0.0463128, 0.020289388, -5.981608e-06) * go_6(1.0, 1.0); - result += mat4(-9.851486e-06, -0.07218598, 0.052535016, 0.06027138, -0.15785162, 0.03050819, 0.02106052, -0.09309737, 0.042012095, 0.07350871, -0.041321676, -0.14675662, -0.13095592, -0.040717825, 0.008294166, 0.034474954) * go_7(-1.0, -1.0); - result += mat4(-0.038354237, -0.092948794, 0.019369636, 0.008319703, 0.023776436, -0.23507029, -0.068587035, 0.03261793, 0.16731012, 0.045434996, -0.061696, -0.076626495, -0.2707249, -0.24755555, 0.062551945, 0.18912214) * go_7(-1.0, 0.0); - result += mat4(0.0028535714, 0.004508511, 0.096679166, -0.009332624, 0.10854221, -0.01782062, -0.09737422, 0.06195523, -0.035627376, -0.050932128, -0.056977615, 0.13018712, -0.13412024, 0.0424353, 0.120904125, 0.05599382) * go_7(-1.0, 1.0); - result += mat4(-0.015340826, -0.07891277, -0.053788327, -0.020577412, -0.103371054, -0.090662785, -0.025638962, -0.022323575, -0.0019410624, 0.22900255, -0.15850206, -0.03873904, -0.20835614, 0.022200054, -0.0296877, -0.017205235) * go_7(0.0, -1.0); - result += mat4(0.16326539, -0.10507174, -0.08517645, -0.1587064, 0.12344322, -0.12928641, 0.04858697, 0.09372904, -0.113734014, -0.11043106, 0.11609328, -0.10636852, 0.043770313, 0.045527533, 0.053363122, -0.101359725) * go_7(0.0, 0.0); - result += mat4(0.03874898, -0.072903655, -0.16248351, 0.02170108, -0.0047495393, 0.040323067, -0.23720509, -0.03009885, 0.012279186, -0.008126828, 0.044663064, -0.073465705, -0.043972623, -0.18373902, 0.09990013, -0.0821802) * go_7(0.0, 1.0); - result += mat4(-0.09972298, -0.06412786, -0.01765875, -0.020713106, -0.009848888, -0.10317782, -0.09639411, 0.051942635, -0.0686546, 0.07412253, 0.007564022, -0.06840922, 0.06594286, -0.14784402, -0.10125296, -0.038264908) * go_7(1.0, -1.0); - result += mat4(-0.0047137165, -0.001068608, 0.21495393, 0.08257355, -0.062070042, -0.027696218, -0.070565164, -0.14301781, -0.08518445, -0.14908811, 0.05988329, 0.07008356, -0.06789062, -0.056065448, 0.1198869, 0.04058338) * go_7(1.0, 0.0); - result += mat4(-0.015345579, 0.06684426, 0.10084448, 0.0088868365, 0.0132896565, 0.041835576, 0.035257474, -0.17815806, 0.007956943, -0.032787424, -0.024117455, -0.03163458, -0.056054153, 0.004654151, -0.07459875, 0.11490104) * go_7(1.0, 1.0); - result += mat4(-0.15243347, 0.07784731, -0.06488782, 0.06915179, -0.1042157, -0.0063538626, -0.0009144965, 0.022165874, 0.0939912, -0.060952082, -0.035661597, 0.088764325, -0.08225544, -0.00034364447, 0.059582185, 0.06101212) * go_8(-1.0, -1.0); - result += mat4(0.02576822, -0.012206138, 0.11534684, 0.055573255, -0.03394477, 0.014038397, -0.04380724, 0.088514894, 0.1200793, 0.07140723, -0.07684597, 0.24095225, 0.026512349, 0.17956263, 0.051159423, -0.012580184) * go_8(-1.0, 0.0); - result += mat4(-0.10280494, -0.04676712, -0.05843146, 0.015999107, -0.05758121, 0.0056103356, 0.04461152, 0.023359446, 0.19975519, 0.051141366, -0.078616165, 0.026869029, -0.011151981, -0.099599086, 0.12227358, 0.014200019) * go_8(-1.0, 1.0); - result += mat4(-0.059605133, 0.063668884, -0.18279727, -0.06218689, -0.037377298, -0.007869956, 0.009291009, -0.1827175, 0.041651864, 0.0020291011, -0.030416429, -0.11812194, 0.06668284, 0.060038287, -0.04037278, 0.16196628) * go_8(0.0, -1.0); - result += mat4(-0.096491545, -0.19636984, -0.09967021, 0.046787925, 0.10620118, -0.008389387, 0.09885796, -0.18576227, 0.1024246, 0.13532446, -0.03397235, -0.05172352, 0.18370149, 0.036553577, 0.09388728, -0.043989357) * go_8(0.0, 0.0); - result += mat4(0.066382125, -0.026792534, 0.14122616, -0.12131764, 0.06294349, 0.015747132, 0.09217337, -0.09790492, 0.095229484, 0.19190969, -0.11818544, -0.10085346, -0.18416224, 0.023202911, 0.09271642, 0.23478268) * go_8(0.0, 1.0); - result += mat4(0.09447352, 0.033897415, -0.016522475, -0.17572474, 0.028981324, 0.0018837937, -0.08916694, 0.027672661, 0.061623577, -0.058480777, -0.06758095, 0.12866256, 0.02247829, -0.033075545, 0.0032707753, 0.013970644) * go_8(1.0, -1.0); - result += mat4(-0.04512953, -0.006859464, 0.015446434, 0.08710148, 0.055711135, -0.10423202, 0.03748765, -0.016468337, 0.044911206, 0.087307915, -0.12144139, 0.13479358, 0.02751335, 0.082123764, 0.09411991, -0.034485392) * go_8(1.0, 0.0); - result += mat4(0.022169681, -0.0068143625, -0.10993536, -0.031404734, 0.04424674, -0.058773458, -0.042220823, 0.16127633, 0.016275568, 0.11400015, -0.015690884, 0.088035434, 0.06922791, -0.023435324, 0.10064401, 0.09267874) * go_8(1.0, 1.0); - result += mat4(-0.1782865, 0.07054037, -0.036841866, 0.0027666213, -0.02632288, 0.0015316358, -0.06624319, 0.032665364, 0.0021892237, 0.09393096, 0.13208792, -0.0105601875, -0.17870188, 0.007641018, 0.055615738, -0.08728049) * go_9(-1.0, -1.0); - result += mat4(0.08148005, 0.04158415, 0.09060661, -0.11671241, -0.035112634, -0.1879075, 0.10603404, 0.09183375, -0.16071059, 0.005687797, 0.120401785, 0.20553902, 0.0066707535, 0.039705288, -0.17833412, -0.10277116) * go_9(-1.0, 0.0); - result += mat4(0.00935989, -0.06176358, 0.014277336, 0.034557488, 0.066875, 0.0862966, -0.049054243, -0.10625051, 0.045639876, 0.044773396, 0.02746294, -0.024615739, -0.056873348, -0.19391094, 0.006037808, 0.07711238) * go_9(-1.0, 1.0); - result += mat4(-0.018254511, -0.07702511, -0.09783025, 0.08643163, 0.011246615, -0.059354555, 0.02855532, 0.12298178, 0.2437121, -0.29886153, 0.054966837, -0.095045045, 0.11756467, -0.06513223, -0.0016535377, 0.06794207) * go_9(0.0, -1.0); - result += mat4(0.016108505, -0.04997615, -0.00024112452, -0.09193975, 0.1856019, -0.15356213, -0.054513704, -0.020927668, 0.03684128, 0.09704155, -0.084586345, -0.21800655, -0.09882999, -0.016440451, -0.048516043, -0.13391587) * go_9(0.0, 0.0); - result += mat4(0.039977428, 0.097578354, 0.043029457, -0.09663385, 0.03071626, 0.14550355, -0.0696754, -0.3449407, -0.037196707, -0.13095449, -0.046562403, -0.061313603, -0.024870088, -0.049175426, 0.33485088, -0.08358319) * go_9(0.0, 1.0); - result += mat4(0.0015286271, -0.0026336326, -0.094711356, 0.11006902, -0.04633053, 0.10527113, -0.06205313, -0.28493193, 0.048049364, -0.042089403, 0.011710424, -0.04857293, -0.029495597, -0.017112227, 0.0012348545, -0.02752836) * go_9(1.0, -1.0); - result += mat4(0.046538536, -0.023575861, 0.03094845, 0.05480927, -0.17506556, -0.045232266, 0.017766241, 0.14280976, -0.07590854, 0.1276856, 0.058306232, -0.02613282, -0.11833011, 0.08944493, -0.052370444, -0.14713956) * go_9(1.0, 0.0); - result += mat4(0.012637563, 0.008217245, -0.08480833, -0.13084638, 0.065384135, -0.009895516, -0.20701924, 0.12837902, -0.059713166, 0.024723526, -0.027992334, 0.12180597, -0.12572676, -0.016534502, 0.124470286, -0.1363946) * go_9(1.0, 1.0); - result += mat4(0.18593562, -0.0051782066, -0.020224098, -0.1386619, 0.05130401, 0.15748414, 0.03450984, 0.040225152, -0.02889547, -0.02718944, 0.07736039, 0.023701066, 0.1302447, -0.14498575, -0.055298295, 0.040914822) * go_10(-1.0, -1.0); - result += mat4(0.11004461, -0.16199613, -0.091347575, -0.114197075, -0.034037385, 0.19214474, 0.049589656, -0.109024644, -0.010905539, 0.058671206, -0.048906345, -0.008446876, -0.0031526713, 0.21078502, -0.036269456, -0.06723946) * go_10(-1.0, 0.0); - result += mat4(0.07250265, -0.018816743, -0.09929977, 0.032101557, 0.10881066, -0.00010400672, 0.108172834, 0.08361807, 0.11298455, 0.074784614, 0.055241544, 0.04762545, -0.06515471, 0.08897986, 0.008379875, -0.07011084) * go_10(-1.0, 1.0); - result += mat4(-0.037894815, -0.008045648, 0.0888077, 0.07331456, -0.12187046, 0.0033435533, -0.022942739, 0.16695428, 0.06164513, -0.095686994, 0.0013730039, 0.10199585, 0.15013579, -0.009080806, -0.03657549, -0.065426916) * go_10(0.0, -1.0); - result += mat4(-0.004013369, -0.17360747, 0.05414763, 0.06375205, -0.10889334, -0.055886485, 0.047731172, 0.05977598, 0.024458587, -0.020509373, 0.030456785, 0.14313094, 0.05425161, 0.09258172, 0.06311785, -0.2629252) * go_10(0.0, 0.0); - result += mat4(-0.016907271, 0.118635885, -0.18949707, -0.0011007185, -0.28727284, 0.029711474, -0.003690914, 0.40358377, -0.08520288, 0.0258065, 0.049587388, -0.07931061, 0.031626217, 0.017429618, 0.019582555, 0.2520346) * go_10(0.0, 1.0); - result += mat4(-0.064963594, -0.07345291, 0.031211207, -0.081731334, -0.041860837, 0.111285105, -0.02386965, 0.029508088, 0.06570827, 0.032190915, 0.029017994, -0.007853172, 0.109014794, 0.010181781, -0.0058167228, 0.15205674) * go_10(1.0, -1.0); - result += mat4(0.027170207, 0.1486736, 0.006372495, 0.0011600445, 0.08422548, -0.058934882, 0.041347407, 0.052883595, 0.1424048, -0.016864024, -0.04316707, -0.08030044, 0.12680447, -0.01127752, -0.12602247, -0.06503987) * go_10(1.0, 0.0); - result += mat4(-0.041788876, 0.08606494, -0.15738836, -0.17636767, 0.0480688, -0.0700853, 0.028580366, 0.0092484625, 0.12044988, -0.07079011, -0.03747581, 0.06888978, 0.17255403, -0.0006838143, 0.0040460005, -0.10643291) * go_10(1.0, 1.0); - result += mat4(0.07401081, 0.04960394, -0.066631116, -0.065161556, 0.026498554, -0.12518874, -0.008372493, 0.017836042, -0.08611183, 0.0795497, -0.019199701, 0.09260083, -0.08744388, -0.025358027, -0.020288857, 0.0647643) * go_11(-1.0, -1.0); - result += mat4(0.07573632, 0.0049297865, 0.13689183, 0.029173596, 0.08479172, -0.1565775, -0.048143834, 0.0036008377, -0.07490405, 0.06974998, 0.13531724, -0.021589145, -0.15455271, -0.09218846, 0.1917218, -0.04572285) * go_11(-1.0, 0.0); - result += mat4(-0.029948816, 0.05627412, -0.08699774, -0.033425257, 0.026753966, 0.0055132178, -0.12654705, -0.013280826, -0.013210384, 0.005506719, 0.031000486, -0.10313698, -0.038243894, -0.008856653, -0.07068933, -0.10803686) * go_11(-1.0, 1.0); - result += mat4(-0.21768126, 0.10281481, -0.022190897, 0.017938625, -0.039360717, -0.07557826, 0.08850099, 0.038470805, -0.14095385, 0.13912949, 0.040561084, 0.07350307, -0.08139831, 0.07229395, -0.046203356, -0.09418806) * go_11(0.0, -1.0); - result += mat4(-0.03231932, -0.16729882, 0.035130963, 0.0945745, -0.005259539, 0.018022949, 0.077319324, 0.12292019, 0.006306613, -0.15831412, -0.053213973, -0.21296674, 0.06455828, -0.23165533, -0.11016384, 0.14670803) * go_11(0.0, 0.0); - result += mat4(-0.079640575, 0.14209795, -0.030955706, -0.17259082, 0.011810231, 0.047312025, -0.0027014536, -0.006381721, -0.022472214, -0.16536534, -0.11361088, 0.080804676, -0.025946518, 0.113763586, -0.08722575, 0.015981471) * go_11(0.0, 1.0); - result += mat4(-0.06706822, 0.101619706, -0.16287632, -0.042936955, -0.13380222, 0.04823709, -0.013803056, -0.030115962, 0.0570302, 0.01748295, -0.14060444, 0.059740417, -0.19601041, -0.09340839, -0.0056360997, -0.00664096) * go_11(1.0, -1.0); - result += mat4(-0.07372797, -0.14746109, 0.12448749, 0.20013757, 0.021589998, -0.06775985, 0.025327493, 0.013156906, -0.03920706, 0.12402617, -0.057481002, -0.124450065, -0.098899804, 0.021724703, -0.14238444, 0.05230443) * go_11(1.0, 0.0); - result += mat4(-0.0789226, 0.052890714, -0.027140282, -0.14738554, -0.033786625, 0.027208649, 0.02971969, -0.04986773, -0.036140896, -0.053769954, 0.050002765, 0.19128278, -0.060128435, -0.03388751, -0.07496682, 0.01401696) * go_11(1.0, 1.0); - result += vec4(-0.05125199, 0.034429967, -0.032718506, 0.025534676); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.009551103, -0.1578829, -0.023872105, 0.032085985, 0.027971271, 0.039934665, -0.28228688, -0.061062165, 0.100776665, -0.04452535, -0.006273476, -0.09813465, 0.004865175, 0.09403208, -0.20160039, 0.413236) * g_0; - result += mat4(0.18565936, 0.035244744, -0.08872044, 0.022702076, -0.11219526, 0.050610166, -0.029482607, -0.15944795, 0.11747894, -0.034937173, -0.10601389, -0.07908995, -0.06948369, 0.078262895, -0.10566501, -0.0712045) * g_1; - result += mat4(0.15651268, -0.051332787, -0.16583267, 0.04954766, 0.041720442, -0.14801401, -0.011037535, -0.05058025, 0.078457914, 0.042230852, -0.072076604, 0.22530177, 0.06007432, -0.00476048, 0.045151718, 0.21380138) * g_2; - result += mat4(-0.24534833, -0.11603982, -0.18161574, -0.07407666, -0.19366856, 0.06265982, -0.13283755, -0.14593442, -0.13195409, -0.039278407, 0.08604219, 0.29780805, 0.008677809, 0.06479625, 0.015411021, 0.034155287) * g_3; - result += mat4(0.05640475, 0.037920874, -0.09059915, -0.08817172, -0.27626717, 0.12396845, -0.13103396, 0.0026781796, 0.15049712, 0.07754007, -0.19105206, 0.17042683, 0.3114985, -0.09133819, -0.021938948, 0.254589) * g_4; - result += mat4(-0.16998518, -0.20131175, 0.027466161, 0.11566531, 0.18034823, 0.072060615, -0.23353261, -0.11075216, 0.032076754, -0.021048, 0.012148336, 0.091040045, -0.18995504, 0.08408764, -0.1569736, 0.03552465) * g_5; - result += mat4(-0.04162126, -0.057651754, -0.065363966, -0.18329124, 0.104769826, 0.089769594, 0.15653561, 0.09221142, 0.004628914, -0.057831094, -0.092486836, -0.052079238, 0.12100204, 0.18322322, 0.11601413, 0.0020635729) * g_6; - result += mat4(0.15670863, -0.11881685, 0.2568278, -0.1839135, -0.04724428, 0.06305948, -0.039979734, 0.09861011, 0.03296062, -0.029781949, -0.25168973, 0.05086964, 0.035107438, 0.058550417, 0.03825196, -0.03621426) * g_7; - result += mat4(-0.14257605, -0.18165039, -0.101343095, -0.1612177, -0.07650364, 0.07354628, 0.3225121, -0.0399608, 0.23337401, 0.09668289, 0.17832872, -0.19480577, -0.37638342, 0.009177453, 0.01430114, -0.06184679) * g_8; - result += mat4(0.18150946, -0.17396615, 0.15020455, 0.11095252, -0.04938365, 0.13811995, 0.21872883, 0.1665478, 0.24408577, -0.25829598, -0.05333277, -0.09722728, -0.14163989, -0.2562132, -0.071317025, 0.23899561) * g_9; - result += mat4(-0.06284202, 0.027760154, 0.11999594, 0.17721936, 0.084894985, -0.088369444, 0.017951638, 0.20490159, -0.059588224, 0.02880265, -0.026036453, -0.10354341, 0.10513227, 0.087837726, 0.2588742, -0.27092904) * g_10; - result += mat4(-0.16925864, 0.08769487, -0.09762704, 0.0391378, 0.0035971864, 0.072891735, 0.09307799, 0.27171433, 0.07969811, -0.02832524, 0.018054279, -0.18448217, 0.008436939, -0.041673474, 0.09115246, 0.014632326) * g_11; - result += mat4(0.25382346, 0.065921, -0.07871562, -0.25246596, -0.1803274, -0.12246585, 0.1921425, 0.18788809, -0.061109893, 0.09155593, -0.089252725, -0.27288997, 0.19322978, -0.20218955, 0.12605186, -0.2562263) * g_12; - result += mat4(-0.2838705, -0.040187504, 0.07924205, -0.21460438, -0.12758467, 0.009960648, 0.14958748, -0.20346983, 0.0024511465, -0.0029784795, 0.03761442, 0.13831198, -0.024297677, 0.1012345, -0.084601626, 0.18076244) * g_13; - result += mat4(0.06449929, 0.05275191, -0.12103874, 0.24089414, -0.20560616, -0.10341962, 0.1507051, 0.06430561, -0.13462862, 0.09508162, 0.1236627, -0.012525578, -0.09431966, 0.041634366, 0.08173197, -0.15510611) * g_14; - result += mat4(0.027247978, 0.094439656, -0.03555053, -0.098382965, -0.12275858, 0.07966601, 0.011419914, 0.016940989, -0.059244152, 0.0141640995, 0.28897017, -0.23790632, 0.06870021, 0.065537006, 0.10910026, 0.068046376) * g_15; - result += mat4(0.09527742, 0.07966788, 0.0065336, 0.00047729645, -0.22677961, -0.19132724, 0.038642567, -0.20873657, 0.22698054, -0.17566124, 0.0931999, -0.049740683, -0.13000306, -0.21351433, -0.057329457, -0.101816036) * g_16; - result += mat4(0.009278632, 0.039469216, -0.085109934, 0.28698707, -0.14632075, -0.10635572, 0.08193169, -0.29346558, -0.13445924, 0.14408123, -0.020417368, -0.09325916, -0.20485316, -0.15253286, -0.03744777, -0.003730377) * g_17; - result += mat4(-0.08470291, 0.003728395, 0.107398994, -0.16985098, 0.0072377436, 0.27434322, -0.17388123, 0.015298767, 0.040480837, 0.19347449, 0.077726595, 0.10207363, -0.1588992, -0.0074615697, 0.15348962, -0.2786934) * g_18; - result += mat4(0.12293403, -0.031468052, -0.07419456, -0.039155077, -0.066696815, 0.12546724, 0.17678119, 0.16800387, 0.07157375, -0.06990396, 0.087699026, 0.012418362, -0.05796857, 0.08915443, -0.003907652, 0.024577782) * g_19; - result += mat4(0.049035165, -0.007998411, -0.08784051, 0.05972267, 0.12698646, -0.06103241, -0.004091063, 0.054421507, 0.066380054, -0.17193739, 0.030281775, 0.012471225, 0.36877003, -0.22548924, -0.03885732, -0.18560503) * g_20; - result += mat4(0.06274616, 0.080091685, 0.08087955, 0.07442669, 0.021437827, 0.08772858, 0.03468758, 0.03489351, -0.114316195, -0.1327461, -0.17319082, 0.05784275, -0.14492308, 0.13633093, 0.24737152, -0.17852335) * g_21; - result += mat4(0.07352172, 0.12839572, -0.14603852, 0.038831383, -0.10336226, -0.008882389, 0.2233969, 0.014047068, -0.008017061, 0.0032474427, -0.03606961, 0.13068153, -0.079270124, 0.04567792, -0.11811478, -0.37396926) * g_22; - result += mat4(-0.0875562, 0.0075374576, 0.24364722, 0.3135225, 0.059202157, 0.017321471, -0.44433868, 0.31329906, 0.2166983, 0.15394291, 0.16318081, -0.0053147315, -0.20274022, -0.33773518, -0.22899714, -0.4062436) * g_23; - result += vec4(-0.035847142, 0.032481533, 0.0020201565, 0.07194935); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf1 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1761742, -0.44747975, 0.059779506, 0.03766182, 0.03141564, 0.056810793, 0.008301192, 0.14369194, 0.17527783, -0.0017236042, 0.09834237, 0.09575803, -0.008661739, -0.104841106, -0.16932498, 0.11579545) * g_0; - result += mat4(-0.12777811, 0.032608256, -0.07513904, -0.0039272117, 0.12906359, -0.026142448, -0.037676588, -0.10154283, 0.043286253, -0.051307295, 0.041824408, 0.18696383, -0.09039417, -0.06348285, -0.12320969, 0.03376613) * g_1; - result += mat4(0.104417875, 0.10663846, -0.101657666, 0.01425698, -0.008538496, -0.025354145, 0.035612363, -0.05219493, 0.026766634, -0.10843467, -0.021850081, 0.09590063, -0.09614841, -0.054467317, -0.017985666, 0.13570157) * g_2; - result += mat4(0.07591282, 0.13617313, 0.19501148, 0.14904675, -0.13086428, 0.21186173, 0.20964113, -0.009169893, -0.20719013, -0.14911315, -0.075036585, 0.22582716, 0.10560652, 0.06860698, 0.07254264, 0.19700265) * g_3; - result += mat4(0.20456348, 0.24539794, 0.12823294, -0.16726765, -0.1531631, -0.19301818, -0.07844603, -0.046090215, -0.20239432, 0.03090601, -0.0994392, 0.0952079, 0.0022682967, -0.08098104, -0.03782831, 0.020748707) * g_4; - result += mat4(0.03633377, -0.09185641, 0.09126538, -0.047538064, -0.13509507, 0.03449196, -0.11007355, 0.2173493, 0.20409976, 0.025805485, -0.09973431, -0.19965756, 0.20450562, -0.16382888, 0.058049567, -0.011116461) * g_5; - result += mat4(0.08500784, 0.1650986, -0.16035236, 0.13470611, -0.1060791, 0.18405674, -0.06643479, 0.04466202, -0.0758685, 0.08887386, 0.2379966, -0.17876488, 0.09099816, -0.13912867, -0.022313673, 0.014845894) * g_6; - result += mat4(-0.30880445, -0.25211424, 0.08918694, 0.060770545, -0.28389496, -0.23819323, 0.24819243, -0.116066344, 0.06437278, -0.14691679, 0.046198275, -0.006334894, -0.29351792, 0.11259146, 0.20746972, -0.4178989) * g_7; - result += mat4(-0.106741056, -0.18458399, 0.0067779664, -0.15917686, 0.014802229, -0.17655735, -0.01837346, -0.013440738, -0.036119413, 0.091039784, -0.050894205, -0.030827638, 0.22975314, -0.110873595, -0.29769754, 0.046003085) * g_8; - result += mat4(0.016886916, 0.064219564, -0.17515728, -0.26352295, -0.06157579, 0.20600513, 0.3151227, 0.058217525, -0.008353625, 0.3203168, 0.17482461, -0.014621326, 0.126173, 0.42937633, -0.32928523, -0.18174276) * g_9; - result += mat4(0.08384935, 0.012600786, -0.10611915, 0.2905753, 0.31809968, -0.2115759, -0.11971381, 0.17892627, 0.21938775, -0.08610796, -0.07833694, 0.025847232, 0.15850039, -0.0050456845, -0.15777875, -0.17553087) * g_10; - result += mat4(0.07441658, 0.2089438, 0.09365662, -0.05719887, 0.22574152, -0.13032901, -0.12378451, 0.083824284, -0.15680449, -0.122956805, -0.13531187, 0.08218225, -0.062917516, 0.0080551095, -0.15378468, 0.16125157) * g_11; - result += mat4(-0.050182775, 0.44902998, 0.18556629, 0.011656178, -0.08106504, -0.027293755, -0.026111403, 0.16687864, 0.3194157, 0.29866177, -0.043069556, 0.09596009, 0.032058172, 0.41144785, -0.3589045, 0.13055441) * g_12; - result += mat4(0.23642781, 0.041985907, -0.10103298, 0.052018266, -0.07686496, 0.0155056175, 0.18786597, -0.2506586, -0.17439952, -0.3177631, 0.113115676, -0.14640856, -0.008198415, 0.011810333, -0.050316535, -0.14926358) * g_13; - result += mat4(-0.39796874, -0.062100228, 0.07615961, -0.023087898, -0.22297885, -0.090215296, -0.11415266, 0.16724303, 0.04577964, -0.08540938, -0.063765004, -0.18341166, -0.088879146, -0.05323474, -0.008252758, 0.018424602) * g_14; - result += mat4(0.20078817, -0.060623486, -0.0990207, 0.08031568, -0.15245742, -0.18889837, 0.15183337, -0.007422197, 0.09565667, -0.23462932, -0.16531046, -0.21983044, 0.014405007, -0.03047801, 0.124785386, 0.07483329) * g_15; - result += mat4(0.09068068, 0.020738058, 0.076772, -0.30366233, 0.103929624, -0.22885206, 0.16361028, -0.1170221, 0.12693621, 0.053154428, -0.015516178, 0.16410422, -0.09879072, -0.034197513, 0.08162684, -0.114710785) * g_16; - result += mat4(0.07250333, 0.035765056, -0.22287408, 0.07087545, 0.2388845, -0.17439961, 0.19510424, 0.15644315, -0.026337821, 0.14344972, -0.094487876, -0.15113162, -0.030316673, -0.07807948, -0.057335343, -0.06561144) * g_17; - result += mat4(-0.22793378, -0.090403825, -0.058371782, -0.14358567, -0.012014318, -0.06519256, -0.024871968, -0.21873134, 0.12088611, -0.08515825, 0.095237084, 0.17710285, -0.12732038, -0.008813873, 0.050080344, -0.054026045) * g_18; - result += mat4(-0.14742918, -0.15626287, -0.09105866, -0.10570933, 0.002858163, -0.09366216, 0.0738335, -0.16642094, -0.14428791, 0.027129209, 0.0056066504, -0.105539836, -0.15898356, 0.09733231, -0.09281279, -0.058596354) * g_19; - result += mat4(-0.17503378, -0.07734258, -0.07499573, -0.0036713225, -0.09865644, 0.13322629, 0.05817975, 0.07716319, 0.1798274, 0.20163825, 0.14732292, -0.008401361, -0.010455682, 0.1436539, -0.013620519, 0.21749584) * g_20; - result += mat4(0.12678513, 0.009905442, -0.04881402, 0.015975054, -0.31984022, 0.085915014, 0.15399966, -0.001702288, -0.1199135, -0.45281914, -0.16187267, 0.07849383, -0.20719478, -0.23045829, 0.006563257, -0.12863535) * g_21; - result += mat4(0.019257441, 0.06068494, 0.00059041375, 0.23092182, 0.27663466, -0.06695913, -0.1036311, 0.051746387, 0.12334096, 0.26376775, 0.13009991, 0.041141927, 0.15175597, -0.07524408, -0.22195654, -0.109512396) * g_22; - result += mat4(-0.16434675, 0.18122146, -0.17783065, -0.29658446, 0.044498317, -0.13306247, 0.03333715, 0.38770738, 0.2770302, -0.21413137, -0.29719895, 0.034777734, 0.054781754, 0.32892776, 0.11601829, -0.029398393) * g_23; - result += vec4(-0.12481139, 0.022676378, -0.058046315, 0.03696718); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf2 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.20167744, -0.157522, 0.17093335, -0.2046946, 0.2856094, -0.050556354, 0.007262048, 0.14952745, -0.04247257, 0.17190292, -0.09215134, 0.19234902, 0.11206616, -0.084574, -0.3175454, 0.042932633) * g_0; - result += mat4(-0.07878131, 0.062472034, 0.018257348, -0.19074398, 0.13601506, 0.008776523, 0.267088, -0.012840031, 0.050926745, 0.3572716, 0.12923348, 0.46291292, -0.23700884, -0.15193067, 0.0856555, 0.40051663) * g_1; - result += mat4(0.14584677, 0.013734126, -0.18150613, -0.012350994, 0.17582431, 0.4088792, 0.26603162, 0.091171645, -0.015379834, 0.0488545, 0.24532855, -0.051027495, 0.07409059, 0.08885718, 0.05520881, 0.015742032) * g_2; - result += mat4(-0.06285555, 0.08400318, 0.06185944, -0.18929732, 0.13995175, -0.19606028, 0.010748447, -0.20088021, 0.17389578, -0.029055133, 0.082567476, 0.050448395, 0.035711713, -0.043132007, 0.024843518, -0.09793246) * g_3; - result += mat4(-0.3586075, -0.3017418, -0.1681393, 0.22291918, 0.15187578, -0.19922642, -0.2057764, -0.27078348, 0.011819467, 0.17961735, -0.13120805, -0.088759094, 0.2551945, 0.047898185, 0.025353746, 0.060715955) * g_4; - result += mat4(0.016972095, -0.37482634, -0.0943781, -0.031390063, -0.34399232, 0.029482381, -0.078299224, -0.009884333, 0.21471865, -0.24464053, -0.043118928, 0.031691045, -0.10749998, -0.0004123357, -0.12062625, -0.018974587) * g_5; - result += mat4(0.16740109, 0.11503844, -0.249842, 0.37721476, -0.041268256, -0.047318432, -0.1646984, 0.050292853, -0.05445752, -0.13412616, -0.029601602, 0.05383983, -0.09787379, 0.1975832, -0.10428375, 0.04688707) * g_6; - result += mat4(0.12610112, -0.06527068, -0.051615972, 0.019693172, -0.064654246, 0.18017481, -0.14940402, -0.18683234, 0.01930582, -0.3629499, 0.10711305, -0.38592446, 0.18264556, 0.21697325, 0.40637898, 0.11306176) * g_7; - result += mat4(0.015629973, 0.09973684, -0.014146676, -0.032374937, -0.007512354, 0.03472241, -0.0057590734, -0.25632006, 0.24247666, -0.23546802, -0.09738896, -0.004368026, -0.2864425, 0.063916594, -0.0911149, 0.08962794) * g_8; - result += mat4(0.20205286, -0.119944714, -0.22832054, 0.12242931, -0.16022639, -0.0038066695, 0.15136321, 0.15943359, -0.034349896, 0.20438096, -0.024260236, -0.0099594, 0.19143064, 0.020218, -0.16863364, -0.022940978) * g_9; - result += mat4(0.2880043, 0.2553526, 0.2121158, 0.22303773, -0.35936388, -0.012881388, 0.16779672, 0.02153533, -0.13068561, -0.19650954, 0.19661143, -0.14305532, -0.03043471, -0.04733776, 0.3437708, -0.18667449) * g_10; - result += mat4(-0.28560263, -0.017020063, -0.0050273836, 0.006250603, 0.17099115, 0.18850201, -0.22828178, 0.015579833, 0.014822471, 0.30457675, -0.038834136, -0.31266782, 0.15971808, -0.06438075, -0.009744115, -0.03306814) * g_11; - result += mat4(-0.15123658, 0.2563589, -0.17504866, -0.01227597, 0.025134224, -0.15487325, 0.16592397, -0.26994568, 0.08195849, -0.059410386, -0.17071712, 0.43500945, 0.10446758, -0.124810636, 0.012390868, -0.0974764) * g_12; - result += mat4(-0.058242775, -0.16383912, 0.081500575, -0.28807116, -0.11164024, 0.06807287, -0.16831931, -0.056299932, 0.19682515, 0.22347595, 0.19510195, -0.121536516, 0.09904918, -0.030608056, 0.06541719, 0.3754091) * g_13; - result += mat4(0.14409892, -0.1411304, -0.0836665, 0.07335537, 0.13046919, -0.07286559, 0.045427103, 0.08125719, -0.06354604, -0.062673196, -0.18825212, 0.14445488, 0.0020812547, -0.03635817, -0.11814364, -0.13838975) * g_14; - result += mat4(0.046461742, -0.041100018, -0.024416603, -0.038657367, -0.019944014, -0.2316368, -0.024327591, 0.045484517, -0.019521859, -0.25675112, -0.17842057, 0.12149841, -0.13795595, -0.31766632, -0.11135957, -0.10803858) * g_15; - result += mat4(-0.16907722, 0.06126622, -0.06634626, 0.03341968, -0.060098544, -0.17163853, -0.10266564, 0.2723191, 0.19778359, 0.28850815, -0.34816468, 0.00064078096, 0.0035072854, 0.17807572, 0.12858596, -0.11537019) * g_16; - result += mat4(0.051234458, -0.07300655, 0.12607743, 0.09331296, 0.12784722, -0.2357276, 0.2502991, 0.100865416, -0.067441724, -0.17176364, 0.19372036, -0.0036744007, 0.1729184, -0.28252605, 0.13410504, 0.10560959) * g_17; - result += mat4(-0.16876727, -0.044162266, -0.04474033, -0.052215215, -0.16071874, 0.19163048, -0.0688657, -0.093865626, -0.033344444, 0.31560823, 0.087719224, -0.136447, -0.22141162, -0.009322204, -0.04754566, -0.10042662) * g_18; - result += mat4(0.16383414, 0.017913472, 0.031216452, 0.043571133, 0.09270605, -0.38240147, -0.047052402, -0.17349271, 0.03210811, 0.032853756, 0.012647186, -0.013132529, 0.00427122, -0.11034066, -0.073932715, -0.10335922) * g_19; - result += mat4(0.2385153, -0.14038697, -0.088857055, 0.00049609377, 0.14978889, 0.20203528, 0.23484455, 0.11428516, -0.06660778, 0.04556526, 0.025550742, -0.04666389, 0.29577836, 0.021924702, 0.029047322, -0.22408137) * g_20; - result += mat4(-0.058507595, -0.0062844846, -0.1952249, -0.15763733, -0.13065399, -0.11990473, 0.052280486, 0.38537347, -0.14243399, 0.07946314, 0.09423048, 0.16778792, -0.26061493, 0.04655475, -0.13971363, 0.19715877) * g_21; - result += mat4(0.20081937, 0.11324881, 0.059111953, 0.21300194, -0.19257958, -0.02915909, 0.14482126, -0.34046003, -0.44731438, -0.043879975, 0.41890976, 0.28744698, -0.18441407, 0.012571736, 0.18022124, 0.09692596) * g_22; - result += mat4(-0.21155542, -0.16366267, 0.037170194, 0.082775876, 0.18969263, 0.28030342, 0.12968771, 0.33312726, 0.040552497, 0.12065949, -0.351312, -0.18901314, 0.013641883, -0.11387678, 0.07249402, -0.3379979) * g_23; - result += vec4(0.03052825, 0.036824416, -0.025144452, 0.1161349); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf3 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1258338, 0.14226808, 0.240008, 0.20935175, -0.19359687, 0.10969335, -0.010278096, 0.05047169, -0.102325425, -0.14043438, -0.015837658, 0.057497922, -0.13778384, -0.13050987, 0.04406178, -0.39388844) * g_0; - result += mat4(-0.06764633, -0.093226075, 0.19161254, 0.04461978, -0.0022064429, -0.0873564, 0.19151486, -0.19599946, -0.053517688, -0.17137547, -0.08812489, -0.15874967, -0.087588355, 0.10767261, -0.12681739, 0.043519877) * g_1; - result += mat4(-0.056669228, 0.15541172, -0.22413507, -0.039581873, 0.117746115, -0.12828018, 0.2591866, 0.2189227, -0.020655332, -0.052517164, 0.14853618, 0.021707572, -0.1180331, -0.042699628, -0.059315376, 0.21756358) * g_2; - result += mat4(0.030828092, 0.15607356, 0.28521895, -0.042055506, -0.11905841, -0.15199395, -0.07747248, 0.024884254, 0.26103246, -0.13039832, 0.29503205, -0.28014213, -0.030749863, 0.07596026, 0.06978804, 0.09495172) * g_3; - result += mat4(-0.0061593466, -0.04792949, -0.04643929, 0.2671162, 0.10275537, 0.119533755, -0.03177247, 0.09164708, -0.06147422, -0.09079532, -0.17421386, 0.054402016, -0.19640115, 0.21798742, 0.08417971, -0.18372132) * g_4; - result += mat4(-0.016552202, -0.14055125, -0.123929895, -0.03586157, 0.015958441, -0.024276946, -0.07081423, 0.075157166, 0.08328419, -0.3006715, -0.16210157, 0.048386306, 0.22541969, -0.09116436, -0.058013353, 0.046983466) * g_5; - result += mat4(0.16410074, -0.24386454, 0.029308453, -0.22966138, 0.024182033, 0.0026562335, 0.10890961, -0.070607066, 0.009880331, 0.20278706, 0.06307576, -0.20934898, 0.054937962, 0.13425954, 0.008564824, -0.18836361) * g_6; - result += mat4(-0.09830079, 0.03236859, 0.03107909, 0.22993204, -0.11275689, -0.387966, -0.028363353, 0.22778703, 0.21028486, 0.14199334, 0.12961474, 0.08735737, -0.09498103, -0.24960843, -0.097761855, 0.076679096) * g_7; - result += mat4(-0.027410751, -0.050148983, -0.1589488, 0.123207964, 0.038601056, 0.026354158, -0.21397862, -0.08466078, 0.15880482, 0.055978496, 0.19484214, 0.11916298, 0.14721805, -0.23357584, 0.0078795785, -0.0996502) * g_8; - result += mat4(-0.19617492, -0.21137202, 0.16017112, -0.15807675, -0.08558705, 0.15672047, -0.15000702, 0.11593056, -0.24458766, -0.3095287, 0.1798453, 0.25473964, 0.049579866, 0.05214217, -0.33104697, -0.20109792) * g_9; - result += mat4(-0.16142516, -0.086649776, 0.12965636, -0.043352634, -0.22007716, -0.11945573, 0.17535049, -0.18496615, 0.09211835, -0.1083943, 0.02861594, 0.018325359, -0.008602158, -0.2642866, 0.23170324, -0.069464125) * g_10; - result += mat4(-0.08273795, 0.44922677, -0.17449674, 0.036582816, -0.2044118, -0.0785363, -0.010560787, -0.020391712, -0.1472953, 0.06526804, 0.036532953, 0.041924234, 0.22576968, 0.030341445, 0.06348345, 0.1657037) * g_11; - result += mat4(0.12300708, 0.10313409, -0.218913, 0.0925751, -0.04154223, 0.12221261, 0.17770545, -0.047017407, -0.11911827, 0.18008873, 0.07366393, -0.071406454, -0.1857546, -0.107086435, 0.13000482, 0.26223418) * g_12; - result += mat4(0.27922675, -0.020313295, 0.124291986, -0.4803649, 0.0820355, 0.0075657824, -0.42316064, 0.13983229, 0.036435798, 0.086694, -0.022463394, -0.07225639, 0.15858616, 0.13137603, -0.3139255, -0.045889717) * g_13; - result += mat4(0.009831248, -0.2589872, -0.27047434, 0.09680306, -0.25239283, -0.13848639, -0.06873848, 0.09892522, -0.111392066, -0.11744757, -0.0209528, 0.14345014, -0.17972618, -0.050757416, -0.11837715, 0.113276444) * g_14; - result += mat4(-0.079554394, 0.03549963, 0.08195095, 0.10447346, 0.22000594, -0.07855921, 0.08771018, -0.074869476, -0.06463524, -0.029571146, 0.07834643, -0.054893587, -0.031394493, 0.11804174, 0.011439201, -0.012135598) * g_15; - result += mat4(0.010138283, 0.123592444, 0.12088062, -0.072726145, -0.1476337, 0.05586365, -0.17523633, 0.1794935, -0.09707175, -0.0070755873, 0.015243624, 0.088103086, -0.09594741, 0.088290714, -0.25558707, -0.09352657) * g_16; - result += mat4(-0.07432931, -0.23920125, 0.085965216, 0.005462481, -0.038702115, -0.06904665, -0.11373804, 0.0004949891, 0.15440702, -0.05119101, -0.15140614, -0.053231947, 0.0789753, -0.033853266, -0.042450577, 0.21443205) * g_17; - result += mat4(0.20033926, 0.03339586, -0.038804412, 0.06836419, 0.042136673, 0.1732327, 0.1840776, 0.068900384, -0.014886417, 0.040377848, 0.14544998, -0.3117639, 0.062669605, -0.17392826, -0.10326911, 0.14575791) * g_18; - result += mat4(-0.1810851, -0.14432015, -0.023838026, 0.20591272, -0.12021834, 0.12145132, 0.23006062, -0.22292806, 0.121778086, -0.010450825, 0.07063981, -0.12191605, -0.093348175, -0.23857832, 0.019086037, 0.037132252) * g_19; - result += mat4(0.14685363, 0.11266721, -0.070741475, 0.12563772, -0.007161916, -0.06453287, 0.037466098, 0.048857793, -0.1628751, -0.22175354, 0.29700285, -0.11423984, 0.08846723, -0.23265848, 0.17491908, 0.080801815) * g_20; - result += mat4(-0.1363871, 0.025643691, -0.16553839, -0.19008316, 0.11270188, 0.117668256, 0.5445655, 0.00021881262, -0.30459318, 0.42322806, -0.1023466, 0.078944914, -0.2456569, -0.049000096, -0.2082636, 0.08840609) * g_21; - result += mat4(0.108215936, -0.12065532, 0.33155185, -0.08652035, 0.09861397, 0.266811, 0.22938332, -0.008803374, 0.2089193, -0.23314697, -0.12652464, -0.0832078, -0.11179262, -0.042625453, -0.33507705, 0.07660972) * g_22; - result += mat4(-0.11835138, 0.0343298, 0.038553935, 0.10861632, 0.14620744, -0.1603159, -0.06951457, -0.0954962, 0.026970498, -0.0077033173, -0.029423261, -0.26626873, 0.028545115, 0.21267426, 0.51278436, 0.027819967) * g_23; - result += vec4(-0.079484746, -0.06229742, -0.030395202, 0.033547744); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf4 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.14196062, -0.02053057, -0.07263348, 0.22242844, -0.069366455, -0.07599116, -0.24256042, 0.054868866, -0.17625082, -0.007019716, -0.113896124, 0.06029265, -0.33038747, -0.24047355, -0.07707203, -0.12618175) * g_0; - result += mat4(0.2641447, 0.20302898, 0.11049544, 0.06935479, 0.08874244, -0.11180222, 0.22703084, -0.037252616, 0.049151152, -0.26571065, 0.2566087, -0.19559465, 0.026178649, -0.09336953, -0.15396582, -0.060832605) * g_1; - result += mat4(-0.14049934, 0.037963107, -0.21600282, -0.024867453, 0.23356499, 0.25709978, 0.20883206, 0.025470912, 0.081024416, 0.086439654, 0.039591312, 0.0703785, 0.08931542, -0.017118547, 0.08146628, -0.20914824) * g_2; - result += mat4(0.16301146, 0.055098668, -0.17369606, 0.1285926, -0.21210109, -0.21506578, 0.2993681, -0.18734126, 0.10324259, -0.10892179, 0.16455299, -0.09379545, 0.07187383, 0.18076982, -0.19408746, -0.14634538) * g_3; - result += mat4(-0.17136872, 0.18589741, -0.26261556, 0.27026632, -0.06397295, -0.19135362, -0.13612793, 0.04076611, -0.14749071, 0.0644836, 0.029172575, 0.14051709, 0.018954301, -0.17011856, 0.03518231, 0.14694777) * g_4; - result += mat4(0.01462739, 0.16519663, -0.06963009, -0.26547143, 0.053700965, -0.07965579, 0.030911697, 0.08216649, -0.09090798, -0.14469762, 0.101480395, 0.2453987, 0.16511187, 0.09583153, -0.051365204, -0.31418574) * g_5; - result += mat4(-0.14265122, 0.013500145, -0.27755547, -0.35044006, -0.28055587, 0.14820805, -0.07966734, 0.20943366, 0.3879986, 0.044507142, 0.28056288, 0.12725809, -0.043548014, 0.054243155, 0.053768754, -0.07648862) * g_6; - result += mat4(-0.16118912, -0.15949926, 0.10161533, 0.22494748, -0.14213897, 0.012663654, 0.19885182, -0.15045607, -0.17744212, 0.15615463, -0.17122573, 0.041775905, 0.16900201, 0.09705761, -0.003141293, -0.031626303) * g_7; - result += mat4(0.26178294, 0.13443723, -0.10966655, -0.025935082, 0.11178123, 0.10601803, 0.11125899, -0.04168405, 0.07152025, -0.12318109, 0.06391876, -0.26012185, -0.26537088, -0.01870863, -0.31110883, 0.072430775) * g_8; - result += mat4(-0.11461679, -0.11115381, -0.11512802, -0.0849818, -0.19124708, -0.09565243, -0.31988642, -0.007379634, 0.13623501, -0.27210787, 0.20422134, 0.17212251, 0.20176752, -0.2088367, 0.057676136, 0.26400682) * g_9; - result += mat4(0.06382013, -0.019412925, 0.11166499, -0.1167881, -0.071942225, 0.018743433, -0.14072515, -0.07148564, -0.10749998, 0.12237429, -0.10744663, 0.04025467, 0.26050708, 0.351076, -0.02934236, -0.22102655) * g_10; - result += mat4(-0.10656222, -0.09071829, -0.34339997, -0.07646886, 0.02796594, 0.005340661, 0.115450874, 0.14969155, 0.03835863, -0.010790472, -0.05871064, 0.01423236, 0.22537707, 0.33385828, -0.15029915, 0.07367339) * g_11; - result += mat4(0.30884805, -0.23663065, 0.031883277, -0.03320561, -0.050423212, -0.3281527, 0.10394608, -0.0749873, -0.064002484, -0.35469085, -0.2122367, 0.020249272, -0.27326742, 0.02000293, 0.20578866, -0.018839063) * g_12; - result += mat4(-0.5473822, -0.10873662, -0.29810318, -0.07632667, 0.047157068, 0.06275736, -0.09811392, 0.24783231, -0.12046891, 0.41266727, 0.2436679, 0.024679149, -0.12600063, -0.17010899, -0.21425788, 0.07119708) * g_13; - result += mat4(0.117677234, -0.054181933, 0.065846235, -0.04929893, 0.08533609, 0.04636543, 0.30038458, 0.02330411, 0.024728734, -0.09597387, 0.010447719, -0.20696889, -0.017916039, 0.079871304, 0.010056369, 0.06291176) * g_14; - result += mat4(-0.0579763, 0.018944405, -0.14009921, 0.08765421, -0.029314717, -0.13179289, -0.009668318, -0.117530614, -0.0853067, 0.03650012, 0.0078530945, -0.19518211, -0.05920554, 0.19264583, 0.008880586, -0.03560413) * g_15; - result += mat4(0.042966127, 0.025064057, 0.094821475, -0.016764855, -0.21325764, -0.060747217, -0.07825418, -0.1374183, 0.06629058, -0.093919374, 0.15805462, 0.1187494, 0.21715021, -0.09113653, 0.06076613, 0.1753257) * g_16; - result += mat4(0.23275353, -0.045174975, 0.17990083, -0.03170214, -0.20888183, -0.050161786, -0.44225174, -0.07750995, 0.055791933, 0.1754295, 0.13890503, -0.087261945, 0.015942331, -0.002073752, 0.23700726, -0.1406417) * g_17; - result += mat4(-0.17989896, 0.052198254, 0.09631692, -0.16038898, 0.03376904, -0.042175625, -0.039186575, -0.2520231, 0.04852203, 0.09647585, -0.011128373, 0.010953865, -0.1797949, -0.058203597, 0.06857295, 0.040861364) * g_18; - result += mat4(-0.025050908, -0.1299404, 0.28858674, -0.017769823, 0.06310829, 0.086729944, 0.08149323, -0.055179875, 0.13012943, -0.07458519, 0.1382156, 0.051026117, -0.18673064, 0.086739376, 0.09040544, 0.0836127) * g_19; - result += mat4(0.020357449, 0.22048305, 0.09739252, 0.24337311, 0.010595294, -0.11086683, 0.059038695, 0.05644574, -0.16103926, -0.035155784, -0.26436335, -0.06716334, 0.17485845, 0.16937979, -0.20187125, -0.038486667) * g_20; - result += mat4(-0.0045594163, -0.21635443, 0.06031479, -0.19148222, -0.006656789, 0.08385509, -0.03819692, -0.17931695, 0.07232661, 0.23445003, -0.17640385, 0.16671506, -0.184719, -0.029015712, -0.022614706, 0.014873415) * g_21; - result += mat4(0.32585597, -0.16295198, 0.04640218, 0.07696528, 0.069500424, 0.105702765, 0.1296909, 0.24009204, 0.14028086, 0.28418058, 0.11589889, -0.22921228, 0.010826454, -0.054120503, -0.25884682, -0.30648708) * g_22; - result += mat4(0.07101887, -0.41187993, 0.31501228, -0.11794851, -0.20814322, -0.18655151, 0.14477637, -0.22380604, -0.058629174, -0.02504061, -0.09827353, 0.046498295, 0.18585126, 0.011712637, -0.10845518, -0.1348349) * g_23; - result += vec4(0.04891512, -0.022042824, 0.015331318, -0.0034486696); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 -//!HOOK MAIN -//!BIND conv2d_12_tf -//!BIND conv2d_12_tf1 -//!BIND conv2d_12_tf2 -//!BIND conv2d_12_tf3 -//!BIND conv2d_12_tf4 -//!BIND conv2d_12_tf5 -//!BIND conv2d_14_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!SAVE conv2d_15_tf5 -//!WIDTH conv2d_12_tf.w -//!HEIGHT conv2d_12_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1563384, -4.2348038e-05, 0.21088852, -0.10074043, -0.2737169, 0.19910938, -0.06523852, 0.08260719, 0.06681506, 0.08398279, 0.08112851, -0.06271677, 0.19443683, 0.3140938, 0.06358846, -0.24377517) * g_0; - result += mat4(-0.07703153, -0.0842186, 0.01512419, 0.091211595, -0.11350783, 0.08426691, -0.028900454, 0.11823197, 0.04875585, 0.03750477, 0.19681686, -0.04269959, 0.036398802, 0.047569744, 0.12544703, -0.026172163) * g_1; - result += mat4(0.29032633, 0.050980248, 0.058194604, -0.019475559, 0.17345822, -0.24062975, -0.21322982, 0.42244488, 0.06804174, -0.18426242, -0.10372379, -0.07140781, 0.18495008, -0.34838748, 0.12188065, -0.19211207) * g_2; - result += mat4(-0.29782, 0.13921519, -0.08461761, -0.107774965, 0.08354831, 0.118166685, 0.1622595, 0.03740301, 0.08480873, 0.078856945, -0.037666395, 0.08779327, -0.041599847, -0.08245203, 0.1429502, 0.08010295) * g_3; - result += mat4(0.1605823, 0.00014730562, 0.016887885, -0.040745202, 0.17265643, 0.29641476, -0.12986568, -0.05113458, 0.076540425, 0.15484014, -0.23496233, 0.19515266, -0.028631026, -0.038202707, -0.080664515, 0.12057771) * g_4; - result += mat4(0.11460453, -0.050684724, 0.20615812, 0.01643888, -0.10416711, 0.100582175, 0.035920016, -0.025840579, 0.1103276, 0.2833988, 0.024743505, -0.10666319, 0.17747831, 0.21371357, 0.032975666, -0.04190704) * g_5; - result += mat4(0.011197512, 0.16411427, -0.19208677, -0.17151442, 0.16737005, 0.027391635, -0.026951822, -0.016613541, 0.0032831782, -0.059412222, -0.066838935, -0.10225273, 0.0021287128, 0.023737555, 0.13474901, -0.04558329) * g_6; - result += mat4(-0.19312629, -0.01058644, -0.21747608, -0.1474776, 0.042395744, -0.17641127, -0.16623084, 0.09171901, -0.21876743, 0.22580327, -0.084752835, -0.25452504, 0.07984656, -0.4423898, -0.22987825, -0.08352869) * g_7; - result += mat4(0.0069102994, -0.110352114, -0.07521295, 0.099378504, 0.001659902, -0.0038716302, 0.037715383, -0.11712855, 0.12579428, 0.0017785282, -0.22036885, -0.019738209, -0.0034085102, 0.26078427, -0.12166613, 0.2008257) * g_8; - result += mat4(-0.038544666, -0.07219808, 0.028675534, 0.099281736, -0.23815387, 0.03485132, 0.046542224, -0.3781598, 0.19114049, -0.08161937, 0.06317728, 0.20634823, 0.0802016, -0.1216539, 0.25130817, -0.13255747) * g_9; - result += mat4(-0.05713687, -0.019339267, 0.066463225, 0.11161798, -0.21163659, 0.075951084, -0.029443193, -0.25528103, -0.2308967, -0.15222046, 0.04718688, 0.06978249, 0.12882593, -0.5987798, -0.12197535, 0.030687023) * g_10; - result += mat4(-0.13764851, 0.15330292, 0.16018312, -0.49503544, -0.16520153, 0.13832116, -0.024153056, 0.027324235, -0.09427501, -0.040549293, -0.024912398, 0.08060826, 0.09142337, 0.00488734, -0.15568374, -0.0985281) * g_11; - result += mat4(-0.10500595, 0.20050812, -0.01487173, 0.15295555, -0.04712123, 0.051116835, -0.302946, 0.12568721, -0.1681454, -0.07675961, -0.3161021, -0.12655284, -0.3167647, 0.09684754, -0.16133003, 0.15951052) * g_12; - result += mat4(0.15607205, -0.25850067, 0.11871884, -0.31882218, 0.17650777, -0.019189376, 0.1073271, 0.0034152938, 0.10415428, 0.0054145185, 0.16176777, -0.10523716, 0.07847772, 0.040496692, 0.22647256, 0.04398088) * g_13; - result += mat4(0.24400397, -0.0384044, -0.21188568, 0.27411124, 0.14313321, 0.072909415, 0.18460783, 0.14612274, 0.2838993, 0.140949, -0.21245211, 0.27844483, 0.14368927, 0.016486926, 0.1082019, -0.060620487) * g_14; - result += mat4(-0.14134651, -7.1389e-05, -0.19200438, -0.053445943, -0.103280954, -0.20622449, 0.029827105, -0.2797714, 0.1552006, -0.26046538, -0.13706698, 0.083868355, -0.25775772, -0.20121866, -0.03605909, -0.069998674) * g_15; - result += mat4(0.058855478, -0.1532865, 0.03206366, -0.005691445, -0.38566765, -0.16169494, 0.02574184, -0.054270905, -0.12126733, -0.057428207, 0.18522896, -0.16544363, -0.26917803, -0.12187415, 0.17564186, -0.14418602) * g_16; - result += mat4(-0.05512333, 0.037456047, -0.04533679, 0.12092291, -0.19412133, -0.10732244, -0.26686874, 0.379613, 0.06616941, 0.21898451, -0.01444954, 0.12263187, -0.066122636, -0.0626703, -0.11018273, 0.16922808) * g_17; - result += mat4(0.12281162, -0.00843568, -0.11958423, 0.03653139, 0.089102715, 0.07257941, -0.16025232, 0.012180051, -0.15409741, -0.11771615, -0.02216731, -0.1854874, -0.0236496, -0.055969007, -0.21524337, -0.13740915) * g_18; - result += mat4(0.030042715, -0.06231122, -0.18729754, 0.21269098, -0.16715202, -0.29836708, 0.07573045, 0.13103722, 0.028832506, -0.027299328, -0.0870532, -0.025646947, -0.19446446, 0.0058135786, -0.1405455, 0.07491713) * g_19; - result += mat4(-0.07880487, -0.13220546, 0.06522037, 0.121417455, 0.009829517, 0.06654325, 0.2568132, -0.20259766, 0.0007492223, -0.08141206, -0.24408619, 0.0041711377, 0.17885362, -0.018794749, -0.18738106, -0.20076036) * g_20; - result += mat4(0.43662158, -0.073237136, 0.06410434, 0.0768924, -0.22872317, -0.07136076, 0.08949116, -0.020143397, 0.000121645106, -0.11288245, 0.33393764, 0.16950496, -0.11639818, 0.13381785, 0.023384197, 0.16942506) * g_21; - result += mat4(0.020018844, -0.18646887, -0.0069234655, 0.09404709, 0.1482564, 0.039720826, -0.15250199, -0.010954307, -0.10006045, 0.024348486, 0.15170497, -0.19681026, -0.17672434, -0.040419213, -0.26169667, -0.20060538) * g_22; - result += mat4(-0.15089865, -0.09773179, 0.13388306, -0.2330703, 0.20980428, 0.05050314, 0.26115113, 0.11146053, -0.10908558, 0.29291332, 0.08921834, -0.059216894, 0.14480549, 0.10386442, 0.28325698, -0.02240901) * g_23; - result += vec4(0.009868551, -0.021667233, 0.06688179, -0.050735172); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!SAVE conv2d_17_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.13909039, -0.2758443, -0.15549822, -0.21690473, -0.07923852, -0.09169328, 0.09857283, -0.038407415, 0.026662275, -0.14345916, -0.06419781, 0.10444112, 0.056220166, -0.058079287, -0.06320064, -0.028494911) * go_0(-1.0, -1.0); - result += mat4(0.15624148, 0.10268067, -0.016454808, 0.016080856, -0.015272284, -0.08522293, 0.0873229, -0.024027828, 0.10366319, 0.24151047, 0.05591687, 0.13326511, -0.09852231, 0.015153752, 0.2225204, -0.09891376) * go_0(-1.0, 0.0); - result += mat4(-0.24936886, 0.14448532, -0.022069195, -0.17893305, -0.036762826, 0.020932999, -0.14078294, -0.025846701, -0.017136928, 0.084727734, -0.065261126, -0.079833455, 0.035541777, -0.31848356, 0.11859154, -0.059010625) * go_0(-1.0, 1.0); - result += mat4(-0.11268288, 0.09472596, 0.019250976, 0.28094825, 0.011346067, 0.035015494, 0.0968698, -0.10769359, 0.030088216, -0.17863207, -0.047283698, -0.23173922, -0.15179567, 0.17011616, 0.16418608, 0.12054937) * go_0(0.0, -1.0); - result += mat4(-0.01975749, -0.022133604, 0.06773859, -0.13298218, -0.13343452, -0.14723383, 0.066827744, 0.15123478, 0.10071557, 0.10771438, -0.102727406, 0.12027581, 0.094043024, 0.19802345, 0.26050565, -0.017552424) * go_0(0.0, 0.0); - result += mat4(0.06427193, -0.3156719, -0.21497993, -0.11312501, 0.07889608, -0.14012727, 0.08701214, -0.010441211, 0.07672145, -0.24959035, 0.02568503, 0.09305062, 0.32068336, -0.12372654, 0.14856067, 0.0033550626) * go_0(0.0, 1.0); - result += mat4(0.1444462, -0.26448715, -0.072086915, 0.06998635, -0.124471135, 0.022079868, -0.017912114, 0.13363993, -0.03071384, -0.047221437, -0.05649517, 0.016927326, -0.018473048, 0.1990699, 0.11751022, -0.23560514) * go_0(1.0, -1.0); - result += mat4(0.09064013, -0.20314787, -0.13019052, -0.15806477, 0.043258376, 0.036779925, -0.096650146, 0.29370993, -0.11641966, 0.16166396, -0.17143643, -0.07076745, 0.16507551, 0.14331506, -0.19428208, -0.13578305) * go_0(1.0, 0.0); - result += mat4(-0.011135427, -0.08528984, 0.13338107, 0.24289025, 0.021911498, -0.06663322, -0.19145428, 0.1247173, 0.10634343, 0.059987687, -0.06845577, 0.24554275, 0.07028687, -0.044211626, -0.009483901, 0.09419117) * go_0(1.0, 1.0); - result += mat4(-0.0026129098, -0.17574309, 0.026859857, 0.027474795, -0.034411624, -0.14238088, -0.077630945, 0.114882454, -0.27058813, 0.12177941, 0.111984365, -0.28255796, -0.2245185, -0.04338974, -0.0660627, -0.059915736) * go_1(-1.0, -1.0); - result += mat4(0.06892073, -0.045175124, -0.12761256, 0.10170286, -0.05765309, -0.0023109026, -0.19990581, 0.06436732, -0.13688049, 0.1295112, 0.22120035, -0.19151583, -0.018821288, -0.039281663, 0.028450448, 0.06327554) * go_1(-1.0, 0.0); - result += mat4(-0.2221726, 0.030984212, 0.14921308, 0.02191454, -0.11420433, 0.3331954, 0.01680598, 0.016501935, -0.035378505, 0.1533518, 0.15650067, 0.3825426, 0.0036855275, 0.040003296, 0.023097156, -0.07425845) * go_1(-1.0, 1.0); - result += mat4(0.0092148, -0.08188161, 0.12125656, 0.022932237, 0.07331983, -0.0037753046, -0.06377172, 0.016332872, 0.37620664, 0.15967114, 0.49295172, -0.58731335, -0.08408415, -0.050906483, 0.23563771, 0.031643428) * go_1(0.0, -1.0); - result += mat4(0.04720337, -0.25609496, -0.25205976, 0.15615444, -0.08850946, 0.061378974, 0.09682221, 0.07092605, -0.24774401, 0.002368409, -0.15355378, -0.25011083, 0.06426719, -0.07044866, -0.19390436, 0.13299207) * go_1(0.0, 0.0); - result += mat4(0.19630235, -0.0033910607, -0.24319367, -0.004994967, -0.10829249, -0.029953144, 0.16902646, 0.026392145, -0.5281548, 0.039464116, 0.12516351, 0.24137491, 0.32027858, 0.26550376, 0.07770324, -0.14738972) * go_1(0.0, 1.0); - result += mat4(-0.07044386, 0.017632812, 0.03397031, 0.02325153, -0.07033528, 0.009580951, 0.12427126, 0.023936138, 0.12422283, -0.021284323, -0.3568679, -0.18785962, 0.060772985, 0.08322054, -0.05543489, -0.017640945) * go_1(1.0, -1.0); - result += mat4(0.037026495, -0.08138431, -0.25361013, -0.063190304, -0.12435272, -0.0121310325, 0.028444627, 0.1159856, 0.29287088, 0.17523797, 0.34694648, -0.03419562, 0.05540643, 0.022938663, 0.015469776, -0.3007707) * go_1(1.0, 0.0); - result += mat4(0.10364684, 0.010591817, -0.29896963, 0.008337799, -0.07768124, -0.03402122, 0.08162434, -0.04535153, -0.04413717, -0.04104856, 0.09944295, 0.1630799, -0.025836414, -0.006144375, -0.042212676, 0.017850246) * go_1(1.0, 1.0); - result += mat4(-0.0014995555, 0.1301909, -0.13113633, 0.044282097, -0.030331785, -0.06741536, -0.10394319, -0.10032595, -0.0024030337, 0.0025035767, 0.123267144, 0.020269886, -0.061000597, 0.050499044, 0.16068412, 0.08382042) * go_2(-1.0, -1.0); - result += mat4(0.048839077, -0.11403855, 0.23305576, 0.013233186, 0.00027583016, 0.06457909, -0.31317908, 0.13246149, -0.022993272, -0.003232102, -0.2850458, -0.0021278018, -0.05313734, 0.042667508, 0.10002862, -0.09310937) * go_2(-1.0, 0.0); - result += mat4(-0.077087514, -0.0731581, -0.033167798, 0.22322518, -0.0072739185, 0.06759429, 0.13072832, -0.030112708, 0.17211108, 0.044867992, 0.12458611, 0.12558623, -0.08141064, -0.07691179, 0.04704071, -0.009616284) * go_2(-1.0, 1.0); - result += mat4(-0.061900582, 0.05083524, -0.07481879, -0.008148896, -0.25680214, -0.19532341, -0.0077763074, -0.18943709, 0.062092744, -0.06780607, 0.20470539, -0.100939944, -0.083406664, 0.039849486, 0.057403386, -0.034012284) * go_2(0.0, -1.0); - result += mat4(0.063984595, -0.046671912, -0.11180163, 0.16569868, 0.13651815, -0.26504683, 0.3516574, -0.16390952, 0.22006357, 0.014418034, -0.032192435, 0.24635631, 0.15570761, -0.05709386, 0.0021393108, 0.10958737) * go_2(0.0, 0.0); - result += mat4(-0.20880438, 0.23150757, -0.28669757, -0.06300997, 0.16522118, -0.15836449, -0.13945056, 0.08054381, -0.17826983, 0.29809955, 0.05596465, -0.13098064, -0.07391586, 0.033108216, 0.017372966, 0.0759838) * go_2(0.0, 1.0); - result += mat4(-0.10118925, -0.0628758, 0.15791777, -0.06281725, -0.106398635, -0.20697908, 0.08337917, 0.21240014, -0.019651197, 0.17935011, -0.047345538, -0.05023177, -0.16398883, -0.022196433, 0.06758503, -0.045874797) * go_2(1.0, -1.0); - result += mat4(-0.11229549, -0.2022966, 0.011829877, 0.043107063, 0.009853597, 0.0050366563, 0.26873958, 0.18433554, 0.14746298, 0.14415571, -0.017679501, 0.27438703, -0.1302988, 0.12988916, 0.088153414, 0.106513605) * go_2(1.0, 0.0); - result += mat4(0.10376787, -0.0047222245, 0.08310562, -0.16133316, 0.10729247, -0.19027553, -0.20316097, -0.016623149, -0.016964545, -0.118997425, 0.2874691, -0.08105579, 0.074227005, -0.11183289, 0.014021094, 0.10651369) * go_2(1.0, 1.0); - result += mat4(-0.102301665, -0.15467137, -0.11269468, 0.1661824, -0.11272104, 0.032636076, 0.18424207, 0.04376825, -0.0205868, 0.049006972, 0.18137778, 0.16302183, -0.00424216, -0.11100643, -0.14523934, -0.12987468) * go_3(-1.0, -1.0); - result += mat4(-0.33604157, 0.23738097, 0.029106395, 0.23771285, 0.11055132, -0.2735294, -0.0037745454, -0.10978288, -0.04494175, 0.013818023, -0.054236915, 0.0723093, -0.10448047, 0.05279135, -0.18257608, 0.11979242) * go_3(-1.0, 0.0); - result += mat4(-0.1841309, -0.23492603, 0.19893481, 0.11349696, -0.11672084, 0.13324858, -0.2366, 0.08350877, 0.012535251, -0.120517224, -0.12162933, 0.025766864, -0.15014678, 0.12059762, 0.20399652, -0.067410246) * go_3(-1.0, 1.0); - result += mat4(0.04617167, -0.34310207, 0.08195369, -0.15616603, 0.024950216, 0.122991696, 0.008032626, -0.11081737, 0.0040866514, 0.18364492, -0.22554733, 0.11328397, 0.047641527, -0.02355604, -0.051569168, -0.22984326) * go_3(0.0, -1.0); - result += mat4(-0.14225705, 0.16004431, -0.10378764, -0.05134365, 0.06683132, -0.06686414, -0.24326906, -0.15534434, -0.10464304, 0.016448364, -0.10384352, 0.07529887, 0.011004206, -0.23186995, -0.06498495, -0.07485197) * go_3(0.0, 0.0); - result += mat4(-0.1890264, -0.028579775, 0.25052974, -0.0899001, -0.090341054, 0.13559796, -0.08127747, -0.21338242, 0.24483396, 0.15507841, 0.3770633, 0.020311723, -0.061488036, 0.18489219, 0.008634561, -0.1597712) * go_3(0.0, 1.0); - result += mat4(-0.16108932, 0.05586405, 0.2534061, 0.25871462, -0.09135027, 0.09132565, 0.028403942, 0.027694112, 0.06779926, -0.12804149, 0.062858626, 0.028454801, 0.11352658, -0.07949642, -0.016915841, 0.12785897) * go_3(1.0, -1.0); - result += mat4(-0.31907973, -0.2955643, -0.19522569, -0.0751009, -0.015303356, -0.112959474, 0.08869113, 0.0732943, -0.07149481, 0.002695743, 0.03773263, -0.044481702, -0.021202443, -0.20461376, 0.20072573, 0.23126262) * go_3(1.0, 0.0); - result += mat4(-0.36653942, -0.36269066, 0.081035845, -0.110896215, 0.038701706, 0.060472537, 0.020380666, -0.14816844, -0.016741281, 0.084674925, 0.13354097, -0.023672685, -0.15291119, 0.04002789, 0.07335849, -0.037627537) * go_3(1.0, 1.0); - result += mat4(-0.008673169, -0.12660311, -0.13337144, -0.20242535, -0.101681665, -0.13349582, 0.07505943, -0.025799042, -0.041546036, -0.07736284, 0.05239524, -0.15647385, 0.04111171, -0.20901166, -0.0526622, 0.030413227) * go_4(-1.0, -1.0); - result += mat4(-0.07487002, 0.040332016, -0.14120328, -0.04701788, -0.04360172, 0.12811565, -0.1113337, -0.030318746, 0.11375393, -0.093662485, 0.03385616, -0.0022751305, -0.12489098, -0.026874684, -0.24579959, 0.013010173) * go_4(-1.0, 0.0); - result += mat4(-0.07372643, 0.18297254, -0.028478106, -0.008717404, 0.038709726, -0.022668438, -0.0732216, -0.0829887, 0.054860383, -0.009276055, -0.09860318, -0.049871683, -0.28299806, -0.041934796, 0.2505882, -0.032173693) * go_4(-1.0, 1.0); - result += mat4(0.13445882, 0.0033110396, -0.12116477, -0.08307828, -0.017451935, -0.023367306, -0.038925555, 0.03924459, -0.019196004, -0.02519389, -0.013562478, 0.13910593, 0.12227717, -0.08626162, -0.059534617, 0.030682085) * go_4(0.0, -1.0); - result += mat4(-0.04196557, -0.15377608, 0.1608032, 0.034342743, -0.053290907, 0.051387772, -0.16699827, 0.044285215, 0.008832169, 0.052270584, 0.041454945, -0.006071726, 0.05015283, -0.21361513, 0.083012946, 0.07607907) * go_4(0.0, 0.0); - result += mat4(0.15000594, 0.0042617917, 0.101946175, -0.059992336, 0.13995732, -0.38615412, 0.26871172, -0.0046315813, 0.17025274, 0.07934237, -0.077165954, -0.0054563023, -0.2301452, 0.25195897, -0.38461035, 0.15330611) * go_4(0.0, 1.0); - result += mat4(0.04157544, 0.07212675, -0.103968576, -0.15415806, 0.2563668, -0.2369459, -0.18235768, -0.24526633, -0.037135158, 0.12124387, -0.08148078, -0.0028853384, -0.007335673, 0.09702607, 0.22647065, 0.14188774) * go_4(1.0, -1.0); - result += mat4(0.10114878, 0.0351115, -0.12385709, -0.032150026, 0.25611925, -0.036220055, 0.16853644, -0.13350716, -0.15553926, 0.074083425, 0.03360209, -0.073123485, -0.070041016, -0.21496736, -0.10243518, 0.010437876) * go_4(1.0, 0.0); - result += mat4(0.23012021, 0.0836258, -0.02981391, -0.04365956, -0.051685587, 0.13548537, -0.3169609, 0.055783328, -0.1550518, -0.09620564, -0.08309336, 0.071679845, -0.09279163, -0.0561111, -0.2295513, 0.24521232) * go_4(1.0, 1.0); - result += mat4(-0.037253235, -0.026520647, -0.09566477, 0.15695392, -0.122776255, -0.031096917, -0.044822488, 0.01060704, 0.03157306, 0.050428607, -0.066618994, -0.08425711, 0.1473465, -0.25745878, -0.060366634, -0.12008342) * go_5(-1.0, -1.0); - result += mat4(-0.011078341, 0.027539099, 0.15779525, -0.067304894, -0.1591148, -0.097967476, -0.032539785, -0.052926525, -0.008908821, 0.008216224, -0.40340182, 0.008872353, 0.3340951, -0.17875054, -0.09253849, 0.047155526) * go_5(-1.0, 0.0); - result += mat4(-0.16404615, -0.09376233, -0.041966893, 0.034957785, -0.11438417, 0.024785591, -0.030300578, 0.026026629, -0.068672195, 0.16724177, -0.16100673, -0.031766005, 0.09979277, 0.0538496, -0.066007175, -0.016093686) * go_5(-1.0, 1.0); - result += mat4(0.060630973, -0.017554684, -0.11957564, -0.14892419, 0.055714674, 0.032214552, 0.03398715, 0.018592743, -0.1596073, -0.124622695, 0.08812776, -0.020174626, -0.12595415, 0.1456831, -0.043447234, 0.07223222) * go_5(0.0, -1.0); - result += mat4(0.0010805799, 0.05387183, -0.2571777, 0.050741445, -0.09997847, -0.1557091, 0.18392503, 0.12039084, 0.07885244, 0.102989115, -0.029234922, 0.01137038, -0.054865573, -0.25655657, -0.33009508, -0.051609207) * go_5(0.0, 0.0); - result += mat4(-0.070446484, -0.00224974, 0.1239982, -0.11459958, 0.0024434652, -0.393679, -0.13201751, 0.08711358, -0.23437908, 0.035677426, -0.39337155, 0.005934404, 0.3491559, 0.25350767, 0.09993129, -0.07072839) * go_5(0.0, 1.0); - result += mat4(-0.008759921, -0.20802578, 0.08683231, 0.113270685, 0.061152767, -0.069236055, -0.07917374, 0.027281659, 0.07856486, 0.049981315, -0.04226256, -0.004406337, -0.021302069, -0.075048864, 0.16314836, -0.12013849) * go_5(1.0, -1.0); - result += mat4(-0.16938247, -0.014742774, 0.1026985, 0.095212705, -0.17734753, -0.0020493171, -0.029607011, 0.30651745, 0.25243115, 0.27554476, 0.15904164, 0.099156715, -0.015341671, -0.0315933, 0.07855402, -0.040043738) * go_5(1.0, 0.0); - result += mat4(0.05406678, -0.058036998, -0.04598334, -0.114318036, 0.020411186, 0.056215134, 0.102886714, -0.049338676, 0.008663635, -0.085066214, -0.16656749, 0.09509919, 0.02906117, -0.07829417, 0.0065315356, 0.1818375) * go_5(1.0, 1.0); - result += mat4(0.11784757, 0.15196525, -0.012267878, 0.0326725, 0.061197367, 0.33910602, -0.2897766, 0.10921504, -0.02350378, 0.19466712, -0.0051001427, -0.13693924, 0.057629026, -0.043186672, 0.028606823, 0.09317606) * go_6(-1.0, -1.0); - result += mat4(-0.0034465888, 0.05826342, -0.04635851, 0.09413523, -0.24812989, 0.020975882, -0.11784931, -0.49697608, 0.06101307, 0.15959628, 0.075861916, 0.06393995, -0.017243123, -0.044645563, -0.068328395, 0.14335583) * go_6(-1.0, 0.0); - result += mat4(-0.07523311, -0.06263087, 0.0973451, 0.07584768, 0.17459244, -0.033139996, -0.2327719, -0.14534807, -0.022834755, 0.12956591, 0.18827121, -0.11354672, 0.078884386, -0.1656034, 0.16169351, 0.12600134) * go_6(-1.0, 1.0); - result += mat4(0.02865495, 0.005648868, 0.11464043, 0.03150406, -0.3866024, -0.0057220804, -0.21009535, -0.03840084, 0.0018173476, -0.07936894, -0.0227281, -0.08966349, 0.090553306, -0.10199008, -0.08284879, 0.14776452) * go_6(0.0, -1.0); - result += mat4(-0.009038248, 0.1564268, 0.07435393, 0.08683525, -0.1457474, -0.03687715, 0.042603455, -0.34755293, 0.051645085, 0.043888066, 0.25095537, 0.21353814, 0.029425861, 0.055498373, -0.10789036, -0.16481747) * go_6(0.0, 0.0); - result += mat4(-0.045311604, 0.21687967, 0.114112265, 0.00454178, -0.149192, 0.017658519, -0.40851355, 0.31583047, -0.04683654, -0.3467299, 0.619965, -0.16810362, -0.26472715, 0.3082763, -0.2468203, -0.11711898) * go_6(0.0, 1.0); - result += mat4(-0.111278296, -0.05868077, -0.120163985, -0.03745941, -0.13061905, -0.117748894, -0.16957714, 0.05523612, -0.05025911, -0.13162445, -0.016982518, 0.24426734, 0.07833684, -0.088236265, 0.16698395, 0.06480712) * go_6(1.0, -1.0); - result += mat4(-0.05927047, -0.016506393, 0.012789736, 0.2545139, 0.022674235, -0.040305577, -0.12091125, -0.07738389, 0.0040209335, 0.25576395, 0.5333323, 0.19964552, 0.122314125, -0.10639435, 0.22482087, 0.061201617) * go_6(1.0, 0.0); - result += mat4(0.084376596, -0.046845324, 0.048730686, -0.09005462, -0.11589907, -0.11733657, -0.15773758, -0.09303503, 0.093226396, 0.07841223, 0.23914182, -0.018904453, -0.15727162, -0.12529942, -0.16354872, -0.09661223) * go_6(1.0, 1.0); - result += mat4(-0.040913723, 0.02798578, 0.02093159, -0.11501497, 0.036032062, 0.17336668, -0.1654523, 0.028821146, -0.07945883, 0.18162672, 0.1239489, 0.07338697, 0.12251481, -0.1172443, 0.20654924, 0.024337847) * go_7(-1.0, -1.0); - result += mat4(0.09716631, 0.08941966, 0.16452065, -0.044933386, -0.09959851, 0.19650124, 0.13150546, 0.014816788, -0.086929925, -0.091300584, 0.00024435768, 0.06329388, -0.037427034, 0.074468, -0.20052099, -0.061800152) * go_7(-1.0, 0.0); - result += mat4(0.25020435, -0.20010567, 0.019679952, -0.15620379, 0.071130276, -0.14381228, 0.20192291, -0.0008438686, 0.08002118, 0.0784212, -0.009264005, -0.023239953, 0.0095817195, -0.12950145, 0.038471617, 0.07342353) * go_7(-1.0, 1.0); - result += mat4(-0.087789975, 0.2463213, 0.021951843, -0.12794462, -0.15869214, -0.18868987, -0.11159612, -0.14976893, 0.10351116, 0.1274431, -0.01969838, -0.0076552248, -0.0006461016, -0.0926574, -0.019262115, 0.030400418) * go_7(0.0, -1.0); - result += mat4(0.061089955, 0.05000192, 0.11977627, 0.056870725, 0.22805236, -0.030692523, 0.15990539, 0.083296835, 0.07505952, 0.06873476, 0.014470665, -0.07636467, -0.22690421, -0.20069449, -0.17543827, 0.08298479) * go_7(0.0, 0.0); - result += mat4(-0.07189131, -0.11762644, -0.12575404, 0.10370871, 0.12332356, -0.046677854, 0.21227968, 0.06279761, 0.13968347, -0.027262172, -0.120420314, 0.019570515, -0.3085974, 0.04807007, -0.17707512, 0.00752846) * go_7(0.0, 1.0); - result += mat4(-0.06786461, 0.15617526, -0.07216718, -0.029348021, -0.041125156, 0.030867932, 0.07076468, -0.01810742, -0.10790692, 0.104086064, 0.006204306, -0.08545314, 0.23472832, -0.14673206, -0.10639837, -0.06595011) * go_7(1.0, -1.0); - result += mat4(-0.06136437, 0.16784053, -0.038059548, -0.08008033, -0.049955796, 0.02287975, 0.0059477366, -0.03131951, -0.063500084, 0.090395495, -0.027604252, 0.016279705, 0.12290479, 0.020871479, 0.03919543, -0.10967681) * go_7(1.0, 0.0); - result += mat4(0.039973337, 0.027691754, 0.14868133, 0.05149113, -0.009143724, -0.026378326, -0.0156791, -0.0068888855, -0.04961299, 0.059001666, -0.15060659, 0.1610033, -0.14264539, -0.0022589972, 0.12963666, 0.1101199) * go_7(1.0, 1.0); - result += mat4(0.11696848, -0.13130292, -0.030778598, -0.038440518, -0.028006898, -0.07885486, -0.038972564, 0.06027651, 0.055763684, 0.06777442, 0.087736554, -0.07307286, -0.024117883, 0.04635496, 0.12634148, -0.041341092) * go_8(-1.0, -1.0); - result += mat4(0.015842682, 0.006681906, -0.112242535, -0.0064941393, 0.10971463, -0.10721869, 0.005437418, -0.038686156, 0.008997847, 0.007503885, -0.005682379, -0.0010084822, -0.09279049, -0.02836967, 0.12744543, -0.035190586) * go_8(-1.0, 0.0); - result += mat4(0.17166656, -0.2404988, 0.036117777, 0.06253758, -0.045930505, -0.016349874, 0.09144012, 0.024884766, 0.14448464, -0.14644946, -0.18046178, -0.057021074, 0.065232635, -0.10504392, -0.050163295, -0.028002426) * go_8(-1.0, 1.0); - result += mat4(0.09865265, -0.15111761, -0.08438762, -0.2322315, 0.042663135, 0.08788523, -0.09613376, 0.15999563, -0.009971801, -0.09002813, -0.03872518, 0.04037108, -0.01300371, -0.0593082, -0.046625085, 0.14121045) * go_8(0.0, -1.0); - result += mat4(-0.02504897, -0.23124105, -0.14960161, -0.059709363, -0.045559667, 0.0934396, -0.08820011, 0.04594991, -0.050889697, -0.25586852, 0.0644002, -0.07764009, 0.119924605, 0.20602806, -0.04603095, -0.0057721743) * go_8(0.0, 0.0); - result += mat4(0.28343758, 0.1478245, -0.15181027, -0.06351228, -0.09967896, 0.03955357, 0.23260047, -0.02553873, -0.10992018, -0.030077389, -0.3894485, -0.14417149, 0.24983008, 0.12220668, 0.0003131071, -0.010381386) * go_8(0.0, 1.0); - result += mat4(0.23594774, -0.118130445, 0.004422023, -0.1649326, 0.034370735, -0.021331226, 0.007509178, -0.1541513, 0.048636757, 0.11841208, 0.031549037, -0.11734389, -0.04395439, -0.02076644, -0.0035178973, 0.06140512) * go_8(1.0, -1.0); - result += mat4(-0.021531448, -0.15168543, 0.12222561, 0.058629047, 0.066313356, -0.1940694, -0.12171876, -0.00658866, -0.07076472, -0.030291308, -0.0077558737, 0.051757984, 0.02193855, 0.16493133, -0.048682384, -0.07314322) * go_8(1.0, 0.0); - result += mat4(0.06621408, -0.01667796, 0.0260185, 0.06794066, 0.043986917, 0.011299251, 0.07782877, -0.01643483, -0.04058689, -0.070192285, -0.09853332, -0.1299159, -0.05160902, 0.0033539685, 0.22954997, -0.021546595) * go_8(1.0, 1.0); - result += mat4(-0.026403278, 0.010653838, 0.0021257512, 0.026513815, -0.027015077, 0.13358718, -0.044833694, 0.095596425, -0.060707036, -0.108798616, -0.068031676, 0.032127026, 0.01858624, -0.15015, 0.04501039, -0.06865877) * go_9(-1.0, -1.0); - result += mat4(-0.007216763, 0.0486202, 0.056571513, 0.056145705, -0.11548521, -0.08642669, -0.06518352, -0.03574434, -0.08436628, 0.08905691, -0.124076016, 0.1362937, 0.03472427, 0.072752416, -0.06511489, -0.057675257) * go_9(-1.0, 0.0); - result += mat4(0.022617117, -0.04079143, 0.0024848897, 0.044588573, -0.046744883, -0.07881134, 0.015742674, -0.074300356, -0.16290313, 0.2288461, 0.30492097, 0.11593285, -0.04548979, 0.15053008, -0.071956754, 0.093064725) * go_9(-1.0, 1.0); - result += mat4(0.103904605, -0.034667403, -0.2098319, -0.073832884, -0.018042624, 0.13301417, 0.18822892, 0.015829902, -0.04867316, -0.03433423, -0.0014289889, 0.13230352, 0.1714687, -0.042440657, 0.078390524, -0.11056909) * go_9(0.0, -1.0); - result += mat4(0.102768585, -0.052201718, -0.09919031, 0.05452432, -0.107485875, -0.085205294, 0.1167384, -0.072183356, -0.042630963, -0.016243858, 0.017791817, 0.034657195, 0.006584667, 0.11105869, -0.24984534, 0.1456181) * go_9(0.0, 0.0); - result += mat4(0.10024778, 0.20171101, 0.010203289, 0.0152510945, 0.19804022, 0.0030897404, 0.16180041, 0.03478403, 0.01691778, 0.12370874, 0.009899959, 0.0381879, -0.19545735, 0.05234624, 0.029687876, 0.039903942) * go_9(0.0, 1.0); - result += mat4(-0.0070509096, 0.061695606, 0.01725384, -0.025932692, -0.028384902, 0.068152025, 0.09564379, -0.0032856707, -0.08382584, -0.039758872, 0.039846867, 0.12834965, 0.12526661, 0.055030096, 0.04364647, -0.100329876) * go_9(1.0, -1.0); - result += mat4(-0.070798345, -0.00784376, -0.052424204, 0.10586638, 0.06956726, 0.090235926, 0.17659639, 0.0076065036, -0.009754862, -0.024974793, 0.1369677, 0.12670912, -0.023065869, -0.07917515, 0.05287323, -0.023171866) * go_9(1.0, 0.0); - result += mat4(0.12073896, 0.045264993, -0.11648963, 0.086132266, 0.050844252, -0.08426843, 0.024296617, 0.13581963, -0.076921426, 0.055674795, 0.29358476, 0.17752819, -0.031633187, -0.1243592, -0.017796218, -0.008461567) * go_9(1.0, 1.0); - result += mat4(0.055730432, -0.06652472, -0.17525241, -0.0036742918, 0.006477956, 0.028978415, 0.14193636, -0.037313115, -0.04725123, 0.060488928, -0.10456545, -0.006454917, 0.06926134, 0.0996201, -0.07260804, -0.1895799) * go_10(-1.0, -1.0); - result += mat4(0.09925973, 0.14233111, -0.12106291, 0.07597586, -0.014802816, -0.078202166, 0.11997903, 0.020356417, -0.04720392, 0.1314056, -0.17295258, -0.07884539, -0.08036766, -0.1125439, 0.0405426, -0.07011955) * go_10(-1.0, 0.0); - result += mat4(-0.06895649, -0.012910801, 0.03559805, -0.0014188234, 0.02699368, 0.03227277, 0.0046795383, -0.0029251864, 0.017629929, 0.059735607, 0.118295275, -0.17668861, 0.1518607, 0.16145404, -0.0504446, -0.101737656) * go_10(-1.0, 1.0); - result += mat4(-0.081351854, -0.075108185, -0.0926778, 0.0109555805, -0.007015293, 0.06645702, -0.01241593, 0.060986638, -0.07729778, -0.041309834, 0.0429984, -0.15234338, 0.020857433, -0.104722485, -0.10882601, 0.1209144) * go_10(0.0, -1.0); - result += mat4(-0.118677095, 0.01309145, -0.038996574, 0.06635668, -0.05267633, -0.08315515, 0.08098698, 0.1340335, 0.06553321, -0.03148986, -0.08127774, -0.07047001, 0.07579491, -0.10656408, -0.14157577, -0.051908918) * go_10(0.0, 0.0); - result += mat4(0.041668024, 0.06382924, 0.042267703, 0.011047431, -0.028405169, 0.08054344, 0.011450904, -0.07005899, -0.093779415, 0.023375172, -0.0065031634, -0.08010197, 0.066256344, -0.041091762, 0.06366334, -0.12815112) * go_10(0.0, 1.0); - result += mat4(-0.019420393, -0.11652611, 0.08841619, 0.029591685, -0.0009620011, -0.09573091, -0.019200109, -0.09104749, 0.08407402, 0.12864915, 0.042542934, 0.0063575567, -0.04007373, 0.10526848, 0.02460641, 0.068430506) * go_10(1.0, -1.0); - result += mat4(-0.05954139, -0.07681237, 0.016148254, -0.034287833, 0.04544861, 0.012246789, -0.116092205, 0.14978212, 0.07235919, -0.058334228, 0.16935714, -0.017129533, -0.044010796, -0.14619933, 0.09672873, -0.021991394) * go_10(1.0, 0.0); - result += mat4(0.021146454, 0.1251824, 0.104555294, 0.043058153, -0.024749698, 0.03444585, 0.2694334, -0.012046371, -0.14657335, -0.009213879, 0.033201307, -0.11851107, 0.017618936, 0.15735385, 0.113181554, -0.10215611) * go_10(1.0, 1.0); - result += mat4(0.08585624, 0.066706054, -0.2327374, -0.10154063, 0.02463269, 0.090812944, 0.07758884, 0.0158239, 0.058642156, 0.028363941, -0.05395317, 0.04238957, -0.037100993, 0.012665406, -0.14026712, 0.061535712) * go_11(-1.0, -1.0); - result += mat4(0.09312103, -0.024918009, -0.18015066, 0.024186501, -0.05781731, -0.03758734, 0.16232629, -0.042083528, 0.091159195, -0.019988291, -0.039695572, 0.032090623, -0.007742507, 0.03262859, -0.16391948, 0.0071356464) * go_11(-1.0, 0.0); - result += mat4(-0.009546079, -0.062020306, 0.03153559, 0.07236344, 0.015683834, -0.14067987, 0.08862394, -0.011473947, -0.076618366, 0.052877825, 0.017246783, 0.119297296, -0.09654495, 0.04377407, 0.049077217, -0.05697108) * go_11(-1.0, 1.0); - result += mat4(0.032074947, -0.2789073, -0.0780382, -0.055925358, -0.054706793, 0.25289878, -0.16136311, 0.055086806, 0.044424094, 0.03972878, -0.0023177464, -0.0073578, 0.1299194, 0.11285016, -0.047309466, -0.17621756) * go_11(0.0, -1.0); - result += mat4(0.09467398, -0.11044382, -0.16274872, -0.0029408298, -0.37114516, 0.058979653, 0.17823413, -0.076888606, 0.08084833, -0.04577878, 0.22805735, -0.020946318, 0.20733872, -0.1211756, 0.059085913, 0.059061136) * go_11(0.0, 0.0); - result += mat4(0.35857418, -0.099405855, 0.06358649, -0.0907002, -0.0069775633, -0.048079707, -0.0019786675, 0.06267778, 0.009655525, 0.024428898, -0.050424356, -0.17061041, -0.12142067, 0.112559676, -0.08353815, -0.08756031) * go_11(0.0, 1.0); - result += mat4(0.01901223, -0.04998253, 0.08768208, -0.19876355, -0.0030078737, 0.04542661, 0.009527668, 0.05703407, 0.09030936, -0.15465401, 0.035002396, 0.126716, 0.0060029556, 0.17286618, -0.15907623, -0.019392034) * go_11(1.0, -1.0); - result += mat4(0.06755985, -0.061411466, 0.00143389, -0.12406364, -0.13916829, 0.091105476, -0.003509345, -0.09764329, 0.078492686, -0.109858304, -0.050267193, 0.0537668, 0.041313883, -0.04182997, -0.084387325, 0.02694605) * go_11(1.0, 0.0); - result += mat4(0.105845064, 0.08719947, 0.10387861, 0.0042026257, -0.15651314, 0.024885604, -0.17568772, -0.08669456, 0.038521856, 0.0033983306, 0.05686095, 0.070402436, 0.017018655, 0.0044162236, 0.0035786475, -0.10618687) * go_11(1.0, 1.0); - result += vec4(0.03012607, 0.090183415, 0.0028153015, -0.086936705); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!SAVE conv2d_16_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.18401013, -0.13588756, 0.054256726, -0.1412752, -0.12243868, -0.03775943, -0.0927035, -0.07697188, -0.022187399, -0.06088916, -0.079055466, 0.19919616, 0.008391406, 0.0015257774, 0.044474147, 0.08149344) * go_0(-1.0, -1.0); - result += mat4(-0.07563144, -0.17652713, -0.114881195, -0.37899107, 0.07671048, -0.14937408, -0.02114298, 0.044075787, 0.0042303097, 0.14191344, -0.023277637, 0.08528211, -0.09960068, -0.16445117, -0.03584855, -0.04641021) * go_0(-1.0, 0.0); - result += mat4(-0.22003917, 0.17905737, 0.21757741, -0.12364477, -0.016672444, -0.018438077, 0.04201858, 0.07870777, 0.039740887, -0.052247927, -0.10656043, -0.00011003632, 0.041017633, -0.27342665, -0.06761997, -0.04528579) * go_0(-1.0, 1.0); - result += mat4(-0.025336504, -0.13833694, 0.07437976, -0.08893717, -0.16371429, -0.061653934, -0.039204895, -0.028089175, -0.00015907192, -0.13354921, 0.02734657, 0.15964994, -0.041217323, -0.009264936, 0.079068765, 0.062053584) * go_0(0.0, -1.0); - result += mat4(-0.049570024, -0.10784191, -0.01837375, 0.21343361, -0.04372069, -0.020986352, -0.107839406, 0.05502148, 0.0992714, -0.018021397, 0.008725207, -0.017378684, 0.031728156, -0.008801241, -0.18357609, -0.016145747) * go_0(0.0, 0.0); - result += mat4(-0.04913707, 0.01682724, 0.041758772, 0.008508023, 0.026582265, -0.22879946, 0.13991572, -0.090997934, 0.0896516, -0.22281447, -0.055706218, -0.021541787, 0.015767794, 0.018899554, 0.013717163, -0.17347403) * go_0(0.0, 1.0); - result += mat4(0.12547137, -0.09660737, 0.012978945, 0.07203537, -0.0054954574, 0.018496398, -0.011681787, 0.12737639, -0.045878302, -0.10701198, -0.03054825, 0.03009367, 0.1267522, 0.09850112, 0.057112776, -0.009593024) * go_0(1.0, -1.0); - result += mat4(-0.08928, 0.0683229, 0.17383668, 0.13218597, -0.031208025, 0.037092455, 0.042550884, 0.077692695, 0.01771997, 0.13132338, 0.006508737, -0.08525488, -0.045307394, -0.14343816, -0.01830292, 0.01989028) * go_0(1.0, 0.0); - result += mat4(0.026735093, -0.023464149, -0.17231, -0.044292584, 0.08945477, 0.009001228, 0.066171594, -0.011970938, 0.028572584, -0.03996996, 0.016547613, -0.059090354, 0.0028927932, -0.063939616, 0.03321047, 0.13545637) * go_0(1.0, 1.0); - result += mat4(0.10948995, -0.15711145, 0.054597083, -0.068569995, 0.026474394, 0.097653925, 0.04627575, -0.008275917, 0.25192523, 0.18235894, -0.08277455, 0.38575834, 0.022745483, -0.020903446, 0.04205318, -0.042380072) * go_1(-1.0, -1.0); - result += mat4(-0.18891968, 0.052005906, 0.038103525, -0.111821555, -0.031023096, 0.011216633, -0.0035464338, 0.046839092, 0.25343683, 0.20273992, 0.15142617, -0.044875506, -0.001787997, 0.071683675, -0.07015657, -0.022576973) * go_1(-1.0, 0.0); - result += mat4(-0.018181657, -0.09296044, 0.022081852, -0.06619681, 0.060951322, 0.05768129, 0.02035218, -0.019641668, 0.0013515889, -0.13848126, -0.1841656, 0.031004338, -0.051048316, 0.14258315, 0.05445368, 0.03247651) * go_1(-1.0, 1.0); - result += mat4(-0.05203047, 0.12076639, -0.0077227005, 0.1184366, 0.06823599, 0.012450423, 0.1113311, 0.039102986, 0.35370106, -0.33157814, 0.37390196, -0.09912934, -0.10444121, 0.08402377, -0.16930288, 0.054857288) * go_1(0.0, -1.0); - result += mat4(0.03270221, 0.14613907, -0.095933534, -0.19244863, -0.23159896, 0.1559275, 0.06728844, -0.0047268616, 0.011683535, -0.18843126, -0.04220783, -0.30654585, -0.10746214, -0.03227198, -0.03234777, 0.11203559) * go_1(0.0, 0.0); - result += mat4(0.13327973, 0.09590377, 0.07102634, -0.20258962, -0.1457926, 0.07275891, 0.17606707, -0.12861401, -0.031180056, -0.18612963, -0.13088436, 0.33387327, 0.08283845, -0.15757847, 0.06846595, -0.057761926) * go_1(0.0, 1.0); - result += mat4(-0.07959099, -0.027871562, -0.00679305, -0.044345573, 0.0878471, -0.013418179, -0.058157764, -0.07929911, -0.19511378, -0.21550658, -0.18276486, -0.10306193, 0.06730515, 0.15307051, 0.060711797, -0.09848275) * go_1(1.0, -1.0); - result += mat4(0.02309879, -0.028519675, 0.041512847, 0.049695335, -0.0258293, 0.050312288, -0.123789005, -0.046238117, -0.34710893, -0.017108874, 0.112747535, 0.0380458, 0.10313404, 0.13872932, -0.108138695, 0.11340562) * go_1(1.0, 0.0); - result += mat4(0.09037467, 0.08282595, -0.049290337, -0.03558929, -0.036829695, 0.08418846, -0.0048224498, -0.018913696, 0.16916117, 0.18428025, -0.0325662, -0.013071526, -0.02406039, 0.11116436, -0.20665626, -0.036719907) * go_1(1.0, 1.0); - result += mat4(0.12311881, 0.05806699, 0.1490677, -0.10510731, 0.0650881, -0.045123734, 0.10633921, 0.08102984, -0.17166427, 0.14187278, 0.06218691, 0.010134607, -0.024926946, -0.15645958, 0.01647525, -0.032007955) * go_2(-1.0, -1.0); - result += mat4(-0.0064320094, -0.10348999, -0.0064104837, -0.104413785, 0.079153426, 0.19542186, 0.03652737, 0.15894827, 0.22364238, -0.03398967, 0.05108126, 0.035144717, -0.06397692, -0.032206714, 0.0922073, 0.012730258) * go_2(-1.0, 0.0); - result += mat4(0.08642296, 0.05683361, -0.032936133, 0.10762088, -0.01644649, -0.001429266, 0.08380367, 0.019923296, 0.08267726, -0.044601962, -0.012816315, 0.02492031, 0.072982386, -0.010330455, -0.0978465, 0.118156195) * go_2(-1.0, 1.0); - result += mat4(0.042400658, -0.055309903, 0.03207966, -0.121752515, -0.21621595, 0.024456523, -0.011958722, 0.12451922, -0.13696773, -0.20115459, -0.07348073, 0.0024619848, 0.01738986, -0.12202603, -0.111460805, -0.005058656) * go_2(0.0, -1.0); - result += mat4(-0.21546137, 0.12935314, -0.028532904, -0.008893691, 0.10135729, -0.17534581, -0.049937554, -0.33643374, -0.043661103, 0.102634795, -0.115369305, 0.026465349, 0.028970167, 0.026625225, 0.062238887, -0.026272973) * go_2(0.0, 0.0); - result += mat4(-0.105955236, 0.12651332, 0.07647607, 0.08280213, -0.123200215, 0.05615951, -0.05460551, -0.18601677, 0.08394111, 0.16563104, 0.040207952, 0.14093705, 0.052927166, -0.17315963, -0.03533011, 0.060746193) * go_2(0.0, 1.0); - result += mat4(-0.026084239, 0.045155637, 0.04272104, -0.16185169, -0.17862639, 0.05094037, -0.11442705, 0.020845752, 0.040759496, 0.12081268, 0.0075550107, -0.021916028, -0.11806642, -0.023612743, -0.071473576, -0.101335295) * go_2(1.0, -1.0); - result += mat4(-0.002712147, 0.16763973, -0.044307284, 0.040771365, -0.0031661778, -0.049930423, 0.28393164, -0.1455211, 0.054617744, -0.031105014, 0.11039813, -0.030323252, -0.033115745, 0.04220911, -0.12622428, -0.07630135) * go_2(1.0, 0.0); - result += mat4(-0.028186634, -0.003115328, -0.099139124, -0.086862855, 0.044807985, -0.11788244, 0.080867685, -0.0054060444, 0.018819673, 0.04957816, 0.019576633, 0.07436812, 0.024756659, 0.011649562, 0.03426825, -0.061746117) * go_2(1.0, 1.0); - result += mat4(-0.109345876, -0.07582799, -0.07580578, 0.0718188, 0.045793377, -0.071054064, -0.04769422, 0.01874575, 0.08088704, -0.08307951, -0.06366319, -0.019450737, 0.26841074, -0.03851925, -0.04642081, -0.0030378636) * go_3(-1.0, -1.0); - result += mat4(-0.031708058, 0.02285141, 0.077648826, -0.1881658, 0.04816301, -0.13699746, -0.08999789, -0.16106066, 0.011150913, -0.044722255, -0.026864614, 0.028213168, -0.18842594, 0.19808589, 0.0007276151, 0.0031604283) * go_3(-1.0, 0.0); - result += mat4(-0.31135795, 0.112032294, -0.026946368, 0.0031459567, 0.13888834, 0.10551288, -0.040594235, 0.048751246, 0.00039387803, 0.0142388055, 0.0008438835, -0.000215502, 0.15277672, 0.005665271, 0.07407217, -0.050055165) * go_3(-1.0, 1.0); - result += mat4(-0.09536809, -0.029089805, 0.05876147, 0.19606937, -0.056980595, 0.12535319, 0.024123488, 0.077162944, 0.19549242, 0.16824779, 0.14160116, -0.15470776, 0.09047217, 0.0001769805, -0.018979235, 0.044140182) * go_3(0.0, -1.0); - result += mat4(-0.27798006, 0.49009305, -0.10300361, -0.15089208, 0.08056011, -0.04228279, -0.19938731, -0.1284759, -0.0960026, 0.07879816, -0.088942915, 0.09315675, 0.0301986, -0.035029355, -0.0511503, 0.11765551) * go_3(0.0, 0.0); - result += mat4(0.07843372, -0.006018093, -0.05311663, -0.0075817537, 0.0424411, 0.07975493, 0.044189543, 0.13708349, -0.008551143, -0.13168351, -0.16907017, -0.07804317, -0.0024650225, 0.048722517, 0.1594775, -0.016862482) * go_3(0.0, 1.0); - result += mat4(-0.08130928, 0.289742, 0.061233968, -0.1805477, -0.04329093, 0.034262158, 0.023879131, -0.092462465, 0.037923817, -0.005596231, 0.0330041, 0.06661368, -0.036080886, -0.047671337, 0.05192108, 0.17042227) * go_3(1.0, -1.0); - result += mat4(-0.09510118, -0.07480796, 0.17427766, 0.16470622, 0.07585864, -0.012345573, 0.060487308, 0.07716671, 0.022240538, -0.019660212, 0.022591233, -0.0047452366, 0.04595507, -0.014236219, -0.06681773, -0.09052364) * go_3(1.0, 0.0); - result += mat4(-0.10433901, 0.0379166, 0.015618833, -0.0828069, 0.014377862, -0.016621938, -0.15152419, -0.0019374314, 0.012078275, -0.00887573, -0.13343875, -0.0125529785, 0.07976357, 0.0765987, -0.0056649507, 0.011301273) * go_3(1.0, 1.0); - result += mat4(-0.041834418, -0.13372508, -0.10320997, 0.015072922, -0.029889522, 0.012992793, -0.09185873, 0.004004095, -0.065492816, -0.050909735, 0.0002255961, -0.12797303, -0.3083743, -0.05711855, 0.023806712, 0.04647377) * go_4(-1.0, -1.0); - result += mat4(-0.0738126, -0.1592134, 0.022746144, -0.11953307, -0.03188981, 0.16695242, 0.122664005, 0.14895225, 0.094388284, -0.29278672, -0.04656844, -0.19429022, -0.044872273, -0.038740084, 0.0248372, -0.077681266) * go_4(-1.0, 0.0); - result += mat4(0.04854289, -0.2222598, -0.06694044, -0.07134871, -0.0056551537, 0.18670999, 0.029736828, 0.13020341, -0.1472964, -0.16671701, -0.07403152, -0.16548093, -0.064982556, -0.07949377, 0.073355116, -0.11815417) * go_4(-1.0, 1.0); - result += mat4(-0.056096863, 0.046716, 0.017137583, 0.00091687136, 0.019255593, 0.009841755, -0.03734741, 0.06731623, -0.06467937, -0.00014931819, -0.061866295, -0.03865882, 0.12549591, -0.04473098, 0.10254502, -0.19520067) * go_4(0.0, -1.0); - result += mat4(-0.024812682, -0.05629554, 0.22076266, 0.07151472, -0.07329754, -0.019209638, 0.047727138, 0.028662292, -0.24604319, -0.042345352, -0.033282783, -0.07798896, -0.12942882, -0.09905983, 0.15368684, 0.106904276) * go_4(0.0, 0.0); - result += mat4(0.07929591, -0.10142135, -0.044078883, -0.052256215, -0.12313739, -0.15137856, 0.15978324, -0.17600586, -0.026426807, -0.076277286, -0.34938416, -0.1274297, -0.20080665, 0.23370647, 0.2738065, 0.30404314) * go_4(0.0, 1.0); - result += mat4(-0.13837905, -0.067753285, 0.0764978, 0.03729214, 0.17639492, -0.027780103, -0.01209291, -0.07154623, 0.05318505, -0.041469146, -0.13914822, -0.034375183, 0.063493945, 0.098800704, 0.07209861, -0.081063025) * go_4(1.0, -1.0); - result += mat4(0.0885162, -0.004286808, -0.04590522, -0.009821024, 0.06929009, 0.1377115, -0.3040033, -0.36766884, -0.011379945, -0.00017395087, -0.21295871, -0.13242184, -0.22686961, -0.09711975, 0.219442, 0.07782863) * go_4(1.0, 0.0); - result += mat4(-0.052216977, 0.0022526693, 0.08789426, 0.101838656, 0.055295188, 0.12478162, -0.17794913, -0.16096286, 0.03537816, -0.09675113, -0.12077911, -0.054987498, 0.09664434, 0.10522916, -0.184103, 0.20173639) * go_4(1.0, 1.0); - result += mat4(-0.08799513, 0.053520318, -0.06829527, -0.061881334, -0.06998132, -0.016926985, -0.0034579965, -0.02244025, 0.08783364, -0.048509452, 0.06655328, 0.02509059, 0.14502525, -0.086991906, 0.124340616, 0.00037620167) * go_5(-1.0, -1.0); - result += mat4(-0.12045644, -0.0791683, -0.016914366, -0.0702782, -0.1417759, 0.113099955, 0.03572895, 0.03584289, -0.23530042, 0.16986006, -0.08690092, 0.20150651, 0.14820416, -0.0022669397, 0.16911735, -0.32364613) * go_5(-1.0, 0.0); - result += mat4(0.2332167, -0.016162368, -0.07348933, 0.051037077, -0.029558603, 0.10703994, 0.09952783, 0.11973201, 0.080019765, 0.1711361, -0.033787925, 0.11096711, -0.0026446204, 0.12003299, 0.17813842, -0.15823579) * go_5(-1.0, 1.0); - result += mat4(0.13115647, 0.04365931, 0.08948908, -0.0061321505, -0.17846593, -0.07659842, -0.18420176, -0.124986045, -0.077533804, -0.06662785, -0.06746059, 0.06722217, 0.06708974, 0.020013843, 0.057971753, -0.005804974) * go_5(0.0, -1.0); - result += mat4(0.018778078, 0.08638097, 0.12128037, -0.100785516, 0.020799557, -0.045280837, 0.065865815, -0.13772325, -0.14847542, -0.10060909, -0.07299966, 0.035418868, -0.2626101, 0.048298042, 0.117776625, 0.2014914) * go_5(0.0, 0.0); - result += mat4(0.027666502, -0.0080054365, 0.114057735, 0.11314715, -0.12363325, -0.113225006, 0.14003067, 0.06963901, 0.030006966, 0.11874836, 0.12775381, 0.058153503, 0.18982601, 0.107828185, -0.031235067, -0.28085175) * go_5(0.0, 1.0); - result += mat4(-0.058084015, -0.22221348, -0.0896041, 0.0627608, -0.116209514, -0.061959576, 0.08820395, 0.065014645, 0.020963453, -0.025303738, 0.043819524, 0.0133228395, 0.033737265, -0.15635544, -0.11012964, 0.06452587) * go_5(1.0, -1.0); - result += mat4(0.013111555, 0.054879397, -0.084155306, -0.05129703, 0.14801842, 0.026329206, -0.024483597, -0.08906689, 0.05348424, -0.039064053, 0.08269973, -0.042230796, 0.09083986, 0.04736572, -0.11007553, -0.16672523) * go_5(1.0, 0.0); - result += mat4(-0.012899352, -0.1294054, 0.1125801, -0.04872308, -0.06587377, -0.011649611, -0.0895225, -0.011717788, 0.12558992, -0.11246865, -0.005633265, 0.16554871, 0.09073155, -0.02444982, 0.051129293, 0.071896) * go_5(1.0, 1.0); - result += mat4(-0.040985197, -0.11714439, 0.0050871605, -0.055462062, -0.08494001, 0.02960296, 0.095325224, 0.20950922, 0.04292618, -0.09899439, 0.028093863, -0.051682223, 0.29498738, 0.079777084, 0.06441235, -0.11312307) * go_6(-1.0, -1.0); - result += mat4(-0.0736591, 0.23490392, 0.0012234901, 0.0062587685, -0.0658678, 0.14087045, 0.16481075, 0.0865966, -0.043406636, 0.22310406, -0.042780004, 0.23647028, 0.12841848, -0.0035120498, 0.006173345, -0.024037007) * go_6(-1.0, 0.0); - result += mat4(0.09205112, 0.059635665, 0.08538701, 0.022823967, -0.06477945, 0.06236264, 0.038886856, 0.013214306, 0.028087588, -0.10733406, -0.06626182, 0.072191566, 0.024621291, 0.009575019, -0.06411952, -0.1463673) * go_6(-1.0, 1.0); - result += mat4(0.0054634516, 0.045507513, -0.007799662, 0.0076722545, -0.12650666, 0.14308643, 0.06477858, 0.24249618, -0.13591407, -0.13626933, -0.33021417, 0.14956667, 0.14996628, 0.01296905, 0.07415943, -0.2862635) * go_6(0.0, -1.0); - result += mat4(-0.097647466, 0.10142995, -0.08994866, -0.18288863, -0.05146021, 0.051858053, 0.1065154, -0.018669382, 0.049175538, 0.01052338, -0.08475384, -0.03172579, -0.10427115, 0.16601573, 0.048708897, -0.16694255) * go_6(0.0, 0.0); - result += mat4(0.026975388, 0.059210766, 0.07111863, -0.06324248, -0.15227206, 0.16633601, 0.07461219, 0.267013, -0.047243737, -0.3753309, 0.008852686, -0.013038294, -0.08381937, 0.2180827, 0.11023216, 0.05140329) * go_6(0.0, 1.0); - result += mat4(-0.07311599, -0.05057456, 0.023085596, -0.10682444, 0.063513815, 0.07356253, -0.12083916, 0.04450374, -0.22449435, -0.24517713, -0.15282468, 0.10999382, 0.04883995, 0.12952463, 0.077369794, -0.12015865) * go_6(1.0, -1.0); - result += mat4(-0.032314647, -0.10842104, 0.08947376, 0.09801895, -0.23712908, 0.03993495, 0.11174641, 0.17067215, 0.10894186, 0.055918567, -0.03502335, -0.18856876, -0.062737584, 0.010392958, -0.11375558, -0.034413774) * go_6(1.0, 0.0); - result += mat4(0.03193526, -0.12611216, 0.012267307, -0.009893633, -0.12945518, -0.12617463, -0.013297298, 0.11985869, -0.013691836, -0.097269624, 0.039589375, 0.07388823, -0.009328134, 0.06370066, 0.02859016, 0.048128143) * go_6(1.0, 1.0); - result += mat4(-0.10391301, 0.008188025, -0.048711997, 0.09241104, -0.038443137, 0.029809011, 0.024959557, -0.05881074, -0.04998583, -0.04124172, -0.028660027, 0.03466532, 0.011698102, 0.044361595, 0.04664061, -0.018566478) * go_7(-1.0, -1.0); - result += mat4(0.09856062, -0.101091534, 0.06970033, -0.07585045, -0.12380092, 0.14135367, 0.019343793, 0.1737178, -0.16379696, -0.045019772, -0.058714505, -0.028094918, 0.15862615, 0.14155744, 0.07784022, 0.115407884) * go_7(-1.0, 0.0); - result += mat4(0.013782505, -0.049060434, 0.000708752, -0.13372315, 0.09113942, -0.08684804, -0.0342819, -0.011987756, 0.009873064, -0.02924474, 0.025891695, -0.019425275, 0.023715625, -0.048975617, 0.10708091, 0.115210146) * go_7(-1.0, 1.0); - result += mat4(-0.0013538608, -0.012521754, 0.081756964, -0.071289025, -0.11118813, -0.02736482, -0.19032161, 0.061563436, 0.025607973, 0.11936482, 0.08191075, -0.058816638, 0.0739315, 0.015304525, 0.11458635, 0.07511394) * go_7(0.0, -1.0); - result += mat4(0.1808514, -0.083741136, 0.20993811, -0.12137578, 0.03407561, -0.030393306, -0.21573617, 0.057049792, -0.084746934, -0.08983451, 0.06681565, -0.020741878, -0.07407868, 0.06587669, 0.02362261, 0.18319516) * go_7(0.0, 0.0); - result += mat4(0.037588492, -0.10657281, -0.010977549, 0.04346086, 0.123472065, 0.025804061, -0.08596545, 0.014454042, -0.08765823, -0.08678077, -0.07755789, 0.031191997, 0.03477551, 0.07478537, 0.11362728, 0.09572332) * go_7(0.0, 1.0); - result += mat4(0.0900926, 0.19256, 0.12193432, -0.08833128, -0.093027934, -0.06769375, -0.16739862, -0.03577543, 0.017636668, 0.027024843, 0.06288048, 0.044872086, 0.10232667, 0.0068255565, -0.004028761, 0.029350126) * go_7(1.0, -1.0); - result += mat4(0.049896117, 0.15445383, 0.14894868, 0.02776866, 0.063110374, 0.17882115, 0.0042055226, -0.017513141, 0.091088936, 0.003010554, 0.056064103, -0.083869845, -0.048410174, -0.22603737, 0.051802166, -0.03973644) * go_7(1.0, 0.0); - result += mat4(-0.05112879, -0.040702794, 0.08248044, 0.086119935, 0.06375491, 0.020072684, 0.15028115, 0.008888093, 0.082408555, 0.006811597, -0.123747684, -0.09731778, 0.11961848, -0.021594765, -0.09106974, -0.050286602) * go_7(1.0, 1.0); - result += mat4(0.2571731, -0.081907116, -0.033212937, 0.0620556, 0.009862383, -0.0070517566, -0.004764438, -0.0709893, 0.018923642, -0.057825282, -0.0064521073, 0.08952444, -0.022852743, 0.13909613, -0.019168667, 0.030131642) * go_8(-1.0, -1.0); - result += mat4(0.020968758, 0.08022817, -0.008601074, -0.1097215, 0.047841262, -0.07995962, 0.08419089, -0.040025167, 0.039427646, -0.034424137, -0.02700686, 0.074861415, 0.0041469475, -0.18269539, -0.17760022, 0.12437888) * go_8(-1.0, 0.0); - result += mat4(0.035323508, -0.115505636, 0.08674358, -0.16753072, 0.034209844, -0.0076614427, -0.0005810619, -0.05547449, -0.02653139, 0.0323624, 0.06460733, -0.035394993, -0.04853036, -0.023752727, -0.042929113, -0.15378472) * go_8(-1.0, 1.0); - result += mat4(0.29659423, -0.0006672761, -0.047517773, -0.06199174, -0.017030012, 0.029558018, -0.02886189, -0.09088566, 0.019745167, 0.096069895, 0.18460031, 0.11346628, -0.0806195, 0.08387502, 0.04051519, -0.008846576) * go_8(0.0, -1.0); - result += mat4(0.05892242, 0.056606613, 0.015149992, 0.09476475, 0.07959804, 0.05704647, 0.10259821, 0.15022708, -0.042979885, -0.23327734, 0.2702623, 0.10974108, 0.03293819, -0.038108915, -0.110423155, -0.023343116) * go_8(0.0, 0.0); - result += mat4(0.03149034, 0.08331677, -0.08575176, -0.055300176, 0.008931783, -0.08674912, -0.022917027, 0.01648926, -0.1268374, 0.075792305, 0.15822591, 0.055847537, 0.0012736744, 0.19256137, -0.04431186, 0.06601694) * go_8(0.0, 1.0); - result += mat4(-0.013500773, -0.11745078, -0.04050182, 0.06596709, 0.057272922, -0.020333195, 0.050690793, -0.015620617, -0.08613812, 0.056710016, 0.03490378, -0.12669475, 0.07707306, 0.07194328, 0.13534424, 0.051376734) * go_8(1.0, -1.0); - result += mat4(-0.10094398, -0.021660322, -0.21838374, -0.093808286, -0.09158486, -0.014816265, -0.15103486, 0.08692401, 0.030954776, 0.015028527, 0.034968782, 0.07395348, -0.018183898, 0.07517873, 0.013613574, 0.065369695) * go_8(1.0, 0.0); - result += mat4(-0.03792745, -0.006733627, 0.025750823, 0.014982917, -0.04316942, 0.03895343, 0.010674262, -0.02580279, -0.05217408, -0.048307255, 0.10277286, 0.11032194, -0.042484324, -0.094473965, 0.09480515, 0.15434706) * go_8(1.0, 1.0); - result += mat4(0.033276457, 0.002123263, 0.0064143906, 0.02557083, -0.055384915, 0.018320283, 0.013389597, -0.07641146, 0.06467656, 0.06509521, -0.01756422, -0.048893183, 0.066380076, -0.08305459, -0.123950765, 0.07847402) * go_9(-1.0, -1.0); - result += mat4(0.038409892, 0.15350512, 0.19252667, 0.011370862, 0.018854687, -0.0037143677, -0.051887456, -0.024303446, -0.08148162, 0.09258359, 0.044794485, -0.0741859, -0.007914459, 0.16320546, 0.005944812, 0.006757313) * go_9(-1.0, 0.0); - result += mat4(-0.0028705026, -0.05118026, -0.09932788, -0.004281493, -0.036878936, -0.023730323, 0.050872713, -0.050899874, -0.07606518, -0.03521744, -0.07658885, -0.108464874, 0.10739581, -0.009181252, -0.0070966687, 0.05193587) * go_9(-1.0, 1.0); - result += mat4(0.018943064, -0.00937319, 0.018877272, 0.014771399, 0.1178018, -0.0911264, 0.10991882, -0.15921818, -0.06767399, -0.059326403, -0.09600347, 0.009451356, 0.102710254, -0.0885573, 0.057603467, 0.01992773) * go_9(0.0, -1.0); - result += mat4(-0.0046776338, 0.012952324, 0.033664063, -0.05237841, -0.054967895, -0.025386026, 0.079488695, 0.22789961, -0.013646531, -0.14056179, 0.043689843, 0.042846087, 0.036067236, 0.14239535, -0.281547, 0.07508984) * go_9(0.0, 0.0); - result += mat4(-0.09807237, 0.0034014925, 0.044999514, 0.045813996, -0.053272054, 0.075805016, 0.029503575, -0.07698443, -0.084488615, 0.13008903, 0.04431506, -0.051466364, 0.021694876, 0.043624, -0.013493849, 0.0029076347) * go_9(0.0, 1.0); - result += mat4(0.013535879, -0.024679128, 0.036481153, -0.021314025, 0.0834024, -0.099808566, 0.05001698, 0.010658749, -0.06595134, -0.03521598, -0.103553504, 0.06790129, 0.035933115, -0.047610957, -0.0052558477, -0.1678799) * go_9(1.0, -1.0); - result += mat4(0.025644135, -0.034027576, -0.080036685, 0.03827762, -0.027871434, -0.070245065, -0.021769412, 0.027066302, -0.07604397, 0.05617383, -0.18923633, 0.15722784, -0.026357215, -0.02692877, -0.15795054, 0.0033001932) * go_9(1.0, 0.0); - result += mat4(0.02899885, 0.052839927, -0.024265958, -0.06958408, 0.0008551589, 0.0133860465, 0.075541645, 0.015619437, -0.040788416, 0.07190152, -0.12392664, -0.05369185, -0.15271576, -0.0103186015, 0.13524354, -0.07938339) * go_9(1.0, 1.0); - result += mat4(0.14343445, -0.028533014, 0.03347991, -0.023772543, -0.07142908, 0.014239871, -0.05316892, -0.03663716, 0.08939066, -0.020609157, 0.0054644085, 0.1524691, 0.1692467, 0.018540619, 0.044972885, 0.07313233) * go_10(-1.0, -1.0); - result += mat4(-0.09232455, 0.12691838, -0.056665517, 0.03202994, -0.076657206, -0.16730559, -0.05197493, 0.0138470195, 0.0018628361, 0.13816267, 0.10077216, 0.17797759, 0.043260746, 0.017978493, -0.06791809, -0.010487932) * go_10(-1.0, 0.0); - result += mat4(-0.03577261, 0.048712313, 0.06941375, 0.0051264153, 0.008309652, -0.028129293, 0.022743499, -0.013171842, 0.12213201, -0.0295121, -0.053002793, 0.016487766, -0.053577382, -0.08655959, -0.07344541, -0.064555615) * go_10(-1.0, 1.0); - result += mat4(0.10845244, -0.0077420617, 0.03581785, 0.0038137652, 0.015107951, -0.059069965, -0.04678172, 0.048014846, -0.004465835, 0.0022898219, 0.073007226, 0.18142632, 0.07848132, 0.07515797, 0.012369896, 0.07600368) * go_10(0.0, -1.0); - result += mat4(-0.08638719, 0.15884505, -0.08973742, -0.12369276, 0.08267924, -0.03720554, -0.17259789, 0.1946709, 0.016929558, 0.029375779, 0.01198965, 0.06847236, -0.06293463, -0.022434572, 0.07651499, 0.0346661) * go_10(0.0, 0.0); - result += mat4(-0.025976323, 0.045778584, 0.05067603, -0.02544538, -0.05079276, 0.04841232, -0.17063946, 0.022753738, 0.06943225, 0.056274258, -0.13646449, 0.023894709, 0.0039852895, -0.084818296, 0.015410173, -0.032319937) * go_10(0.0, 1.0); - result += mat4(0.04807185, -0.0003949595, 0.025213908, 0.103080414, -0.0023272403, 0.023491438, -0.056150086, 0.12879792, -0.013982606, 0.036223706, 0.03940019, 0.024488496, 0.012625189, -0.07193314, 0.12854105, -0.032734193) * go_10(1.0, -1.0); - result += mat4(-0.12367774, -0.035864305, 0.13639599, 0.03812523, -0.03994671, -0.11915718, 0.041367244, 0.16409606, 0.050837673, 0.06977757, -0.052018918, 0.09774216, 0.07573336, -0.003323072, -0.044979483, -0.021800824) * go_10(1.0, 0.0); - result += mat4(0.06765063, 0.07885527, -0.061796997, -0.033930518, 0.060318742, -0.04216291, -0.07221272, 0.09004521, -0.065076694, -0.026399218, 0.10466377, 0.08561086, -0.024088204, -0.070315324, -0.040125035, 0.004548777) * go_10(1.0, 1.0); - result += mat4(0.04096943, 0.046178315, 0.011453587, 0.048791222, 0.027209666, -0.08074877, 0.106461525, -0.10974307, -0.020276416, 0.06417489, -0.0028763798, -0.029264465, 0.03444099, 0.10803487, 0.0141790565, 0.009156893) * go_11(-1.0, -1.0); - result += mat4(-0.016227538, 0.19522339, -0.0053924974, 0.055647578, 0.026691278, -0.09364552, -0.04868968, 0.068987675, 0.11558127, -0.16214633, 0.000592678, -0.08047563, 0.03148686, -0.06717632, -0.09336522, 0.043072738) * go_11(-1.0, 0.0); - result += mat4(0.0011174235, 0.08426773, 0.103897035, 0.11740773, 0.024287522, -0.020319004, 0.04015764, 0.010502566, 0.019457467, -0.04620711, 0.024066428, 0.05627311, -0.014574119, 0.0273105, 0.001676443, -0.023356035) * go_11(-1.0, 1.0); - result += mat4(0.1606767, -0.086658545, 0.009466048, -0.030490771, 0.16992782, 0.06852414, 0.15293188, -0.08855474, -0.067096494, 0.017907407, -0.017089175, -0.0053409, 0.0733796, -0.018089872, 0.05572631, -0.035322845) * go_11(0.0, -1.0); - result += mat4(-0.048777405, -0.038038082, 0.092394255, 0.08715676, 0.053691484, -0.23649393, -0.12883174, 0.012281466, -0.037717126, -0.07552516, 0.07210121, -0.17331205, 0.0016187717, 0.07259926, 0.145282, 0.014165023) * go_11(0.0, 0.0); - result += mat4(-0.12497079, -0.104426414, -0.012715669, -0.19777615, -0.017443223, 0.06788143, 0.0614136, -0.002465718, -0.028014038, -0.011756029, 0.10710533, 0.058262154, -0.060565244, -0.03191098, 0.00991814, 0.076612055) * go_11(0.0, 1.0); - result += mat4(-0.013859454, 0.061379608, 0.073247865, -0.0067830062, 0.16421017, 0.16367128, 0.02887352, -0.18079562, -0.08341499, -0.04535779, -0.07029753, -0.02935799, 0.09612428, -0.052309513, -0.04888333, 0.044868078) * go_11(1.0, -1.0); - result += mat4(0.12000188, -0.024868136, 0.123532094, -0.11463714, -0.06894127, -0.030455533, 0.056860894, 0.03772401, 0.03873448, 0.0840759, -0.08643597, -0.08898501, 0.035110738, -0.12644961, 0.065761074, 0.030739123) * go_11(1.0, 0.0); - result += mat4(-0.01031014, -0.02494621, -0.18404531, -0.15162574, -0.04742816, -0.08756647, 0.16793372, -0.002655142, 0.01775816, -0.02193653, -0.047818832, -0.047989108, 0.021209596, 0.10485623, -0.092118226, -0.11965965) * go_11(1.0, 1.0); - result += vec4(0.038480498, 0.04292295, 0.03059564, 0.052293446); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.33416227, 0.09829885, -0.14215165, 0.047257327, -0.25676978, 0.06477231, 0.18437357, -0.09317491, 0.14196362, -0.09833729, -0.05023742, 0.30286238, -0.095891505, -0.05642394, -0.04279076, -0.20932348) * g_0; - result += mat4(0.05250283, 0.097802795, -0.10851134, -0.034588467, 0.08729734, -0.13947372, 0.14574417, 0.15165779, 0.15822525, -0.09741342, -0.29856458, 0.101639755, -0.17390165, 0.20864505, -0.23063898, -0.069147386) * g_1; - result += mat4(0.2346171, -0.12033308, -0.10432819, -0.028732711, -0.22354195, -0.09041756, -0.10091414, 0.004025042, -0.01537579, -0.11316728, -0.09128845, -0.10836599, 0.098449625, 0.021946304, -0.0559169, -0.027388508) * g_2; - result += mat4(0.16285792, -0.2265136, -0.10871404, -0.116897024, 0.120534234, 0.047987677, -0.004379848, 0.055190843, -0.16359152, 0.1373434, 0.2990455, 0.013323317, -0.113601066, -0.28977937, 0.2619728, 0.17309852) * g_3; - result += mat4(-0.16532536, -0.004392614, 0.094332375, -0.07948231, 0.0965218, 0.094979055, -0.16280106, 0.037660465, 0.11163236, 0.09897609, 0.084096566, -0.1494275, -0.016781123, -0.062385462, -0.26847538, 0.1566464) * g_4; - result += mat4(-0.09193836, -0.035500966, 0.19209282, 0.30185416, -0.102988094, 0.03829289, -0.37286982, -0.08325574, -0.21487275, 0.0675388, -0.2152679, -0.15988335, -0.14248285, 0.033678766, 0.26234034, -0.113209285) * g_5; - result += mat4(-0.22717316, -0.0009200798, 0.003287377, -0.002284066, -0.034983475, 0.15027894, -0.13538387, 0.0062207277, 0.00039265986, -0.007900346, -0.18446177, -0.13124779, 0.37357095, -0.039655972, 0.18370372, -0.13613242) * g_6; - result += mat4(-0.008904987, 0.22167958, 0.022735478, -0.10282882, 0.009706884, 0.10853093, -0.11238819, 0.07017576, 0.08412395, 0.09763671, 0.092221156, -0.20290114, 0.12376833, 0.062525444, 0.13981692, -0.15654904) * g_7; - result += mat4(0.2202994, -0.05487525, 0.11625077, 0.35435417, -0.0033555152, -0.03066193, 0.04199444, -0.06022421, -0.046327718, -0.04349393, -0.017858896, -0.29926088, -0.026567936, 0.0232344, 0.031930014, -0.16508788) * g_8; - result += mat4(-0.014044821, -0.105468035, 0.16994655, 0.09042197, 0.02509403, 0.043242466, 0.007714088, -0.014514478, 0.12195026, -0.14864756, -0.17863454, 0.021342438, 0.05473602, 0.03023287, -0.04338681, 0.25018957) * g_9; - result += mat4(0.11178171, -0.031541932, -0.022311704, 0.06927876, -0.118677296, -0.07876712, 0.2573275, -0.16963796, -0.09918738, -0.09615811, 0.18225491, 0.18405153, 0.28958827, 0.10559797, 0.23273212, -0.23836672) * g_10; - result += mat4(0.17404434, 0.006543903, -0.04151141, 0.08504442, -0.036097426, 0.102214396, 0.18505338, -0.121599965, 0.05311446, 0.067163326, 0.03339468, -0.10639028, -0.08318937, 0.03591386, -0.096980564, 0.16911677) * g_11; - result += mat4(0.05569724, -0.24573782, -0.08229295, -0.015653128, -0.088948324, 0.06831632, -0.0009226177, 0.20754391, -0.08485601, 0.27108276, -0.18006897, -0.14416619, 0.014280893, -0.20544566, 0.06332818, -0.18700986) * g_12; - result += mat4(-0.014061824, 0.2738249, 0.13395612, 0.1722393, 0.1108353, 0.14290176, -0.19484134, -0.14986867, -0.00047288154, -0.3510016, 0.13103095, 0.10223549, 0.32832077, 0.19840792, 0.118998185, -0.028437005) * g_13; - result += mat4(-0.15725374, 0.17122267, 0.114801794, 0.2099415, 0.12080525, 0.059072934, -0.023651272, -0.13910551, -0.036585454, -0.47406256, 0.055988673, 0.24299833, 0.05235501, -0.12523869, -0.00253683, 0.11640101) * g_14; - result += mat4(-0.081746235, -0.22889271, 0.053322088, -0.08665787, 0.24643211, 0.027273338, 0.09500774, -0.115398645, 0.040935457, 0.0883963, 0.18543912, -0.098223954, -0.029414238, 0.024577033, 0.33146027, 0.038923774) * g_15; - result += mat4(0.06752596, -0.25002465, -0.22013777, -0.11161415, -0.07435017, -0.06942425, -0.02743294, 0.108842425, -0.0013048031, 0.108312085, 0.10029556, 0.21221648, -0.26489133, 0.24258105, -0.073929526, 0.12577781) * g_16; - result += mat4(-0.05739181, 0.23090334, 0.006777456, 0.036732256, 0.060325738, 0.0047021233, -0.016167793, -0.0797981, -0.06797836, -0.022108275, 0.09807591, -0.07017568, 0.1110942, 0.009747667, -0.06542803, 0.14152472) * g_17; - result += mat4(0.07776711, -0.098150186, -0.16863117, 0.0073495065, 0.05722358, -0.34379464, 0.026611788, 0.158512, 0.17978796, -0.0070248432, 0.08746297, 0.0050373445, 0.06347449, -0.5033429, 0.04252335, -0.21747608) * g_18; - result += mat4(-0.07743927, 0.010540148, 0.16479133, -0.0024370546, 0.18661375, -0.020397237, 0.016077021, 0.051072516, -0.037119925, -0.06755068, 0.12466155, -0.056955684, -0.36593297, 0.23062328, 0.22472279, -0.054084912) * g_19; - result += mat4(-0.011354759, 0.093901664, -0.20744812, -0.072959766, -0.18470302, 0.028048197, -0.24052349, 0.12828217, -0.040006574, -0.067410275, -0.03315965, 0.06631403, -0.28481728, 0.005110992, 0.20470636, -0.009981321) * g_20; - result += mat4(-0.03354525, -0.059142444, -0.15623446, 0.015744166, 0.08541153, -0.072278626, -0.04104654, -0.046746574, 0.11032013, -0.04839051, 0.029939886, -0.04404479, -0.050214116, -0.12854907, -0.187336, -0.09875316) * g_21; - result += mat4(0.09276934, 0.1589921, -0.14998227, 0.15918075, -0.10429563, 0.14331265, -0.028513614, -0.29926082, 0.14870556, 0.14363697, 0.03612754, -0.34358153, 0.007659696, 0.03472827, 0.24480377, 0.25565132) * g_22; - result += mat4(-0.058360998, -0.041696765, -0.025950164, -0.086585455, 0.059222456, -0.13592203, 0.12421702, 0.25911456, -0.30712909, -0.32777423, -0.065243766, -0.18262905, 0.2039587, 0.052910935, -0.08447836, 0.093383566) * g_23; - result += mat4(-0.17947456, -0.107932284, 0.11335294, 0.16742402, -0.123715445, -0.27323994, 0.15531261, 0.22766086, 0.16263995, -0.2014767, -0.40492374, -0.15713632, -0.26240152, 0.018007467, 0.0621857, -0.2819687) * g_24; - result += mat4(-0.26559585, 0.014900249, 0.16911738, -0.17638609, 0.22711746, -0.16094574, 0.03393967, 0.1899959, -0.1117433, -0.023160132, 0.054320656, 0.047609437, -0.0006658183, -0.020135878, 0.21770352, 0.6265344) * g_25; - result += vec4(0.004939347, -0.026483338, -0.056496214, -0.07306347); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf1 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.03043192, -0.11382309, 0.15258959, 0.0018671904, -0.07262079, -0.15530646, 0.088956885, 0.0068843844, 0.18098354, -0.13130096, 0.019414594, 0.021504048, 0.12169795, 0.15837122, 0.09828637, -0.47963795) * g_0; - result += mat4(0.14249554, -0.022084357, 0.06666183, -0.043699186, 0.014650524, 0.1188985, 0.0454781, -0.050885927, -0.20757285, 0.5144112, -0.48320413, -0.14140959, -0.13466966, 0.22992888, -0.005597194, -0.06725975) * g_1; - result += mat4(0.06208693, -0.112261705, -0.1686331, 0.018273335, -0.09682144, 0.068702586, 0.045484196, 0.08813325, -0.11541148, -0.008004347, 0.036507435, 0.06754519, 0.011923774, -0.03168652, 0.015487991, 0.10111531) * g_2; - result += mat4(-0.008023328, 0.1137135, -0.07264171, -0.120196424, -0.043222312, -0.22171052, 0.102924, -0.11386958, 0.21182953, -0.072151154, 0.04207932, 0.04245426, 0.074935004, -0.042641435, -0.098739915, -0.13941646) * g_3; - result += mat4(-0.010649323, 0.009664776, 0.041474525, -0.06732602, -0.18728773, -0.14357336, -0.2223795, 0.22192913, -0.0651367, -0.11535945, -0.19640021, 0.116560034, -0.025604805, 0.019647487, 0.25854686, -0.1392261) * g_4; - result += mat4(0.1567528, 0.10124439, -0.06609058, 0.11552276, 0.057271544, -0.065696426, 0.12358736, 0.15948243, -0.032239728, 0.011985731, 0.18371308, -0.08555982, -0.06528452, 0.11953871, 0.11031671, -0.029863868) * g_5; - result += mat4(0.1311102, -0.1305194, -0.18688914, 0.05448602, -0.06396861, -0.12188008, 0.121559285, 0.088412315, -0.09227041, 0.35888135, -0.21576284, -0.09567888, -0.1135963, -0.30975553, -0.019740306, 0.23325934) * g_6; - result += mat4(0.013327147, 0.069052495, 0.0853812, 0.13866353, 0.060591422, 0.1950111, 0.063291125, 0.06301278, 0.16034324, -0.03186552, -0.015433267, 0.21410994, 0.017428825, -0.095040835, -2.532167e-06, -0.19249855) * g_7; - result += mat4(-0.10042209, 0.051823184, 0.06878474, 0.039450742, -0.02151693, -0.125688, -0.080015615, 0.101158395, -0.023944302, -0.3210737, 0.19029768, -0.080297835, 0.03199306, 0.0999303, 0.22268118, 0.08898154) * g_8; - result += mat4(-0.06613979, -0.10264432, 0.06768314, 0.16863261, 0.23254016, 0.049546715, -0.22763276, 0.042342335, -0.20712924, 0.092378855, -0.022331564, -0.04691188, -0.027093714, 0.098690435, -0.19893834, -0.04930573) * g_9; - result += mat4(-0.122772284, -0.11104652, -0.018459626, 0.115983605, 0.12493899, 0.16507398, 0.21478258, -0.15713362, 0.055545174, 0.05634718, 0.1609001, 0.046624824, 0.08476838, 0.024616027, -0.0030971076, 0.040258918) * g_10; - result += mat4(-0.030780645, 0.10763727, 0.2205602, -0.22281945, 0.08244692, -0.12237726, -0.26415175, -0.16127835, -0.01633197, -0.12299418, -0.012012627, -0.084443405, 0.012664263, 0.07389567, 0.01104131, 0.01305866) * g_11; - result += mat4(-0.28838482, 0.15918796, -0.119311474, -0.053310875, -0.07448111, -0.13836008, -0.22057253, 0.2299248, 0.009213285, 0.0044759554, -0.058288343, 0.19605552, -0.062922835, 0.081783056, -0.20190218, 0.008294941) * g_12; - result += mat4(0.16755526, 0.08699512, -0.18997741, -0.0014094117, -0.06733589, -0.15045306, 0.25367445, -0.17017934, 0.017913489, -0.015539376, 0.088074, -0.05331681, 0.04171007, 0.14498031, 0.06460646, -0.00037390782) * g_13; - result += mat4(0.04930183, 0.12424497, -0.0722411, 0.09628479, -0.043124642, 0.04497056, 0.18794456, -0.03480863, -0.09988751, 0.053120367, -0.1482433, -0.145739, 0.09281689, 0.026481925, -0.10084, -0.15488812) * g_14; - result += mat4(-0.004074055, 0.04565656, -0.015633525, 0.035065204, 0.11478302, 0.020277338, -0.048027817, -0.010702974, -0.083617836, 0.010090728, -0.22310819, 0.15971296, 0.06781031, -0.16845126, 0.39758167, 0.22460622) * g_15; - result += mat4(-0.09374665, -0.042104498, -0.033132017, 0.08122814, -0.08190475, 0.27325064, -0.08330755, -0.3144509, -0.12476947, 0.07372691, -0.005574465, 0.19122915, 0.03066927, -0.018531645, 0.19734049, 0.002256408) * g_16; - result += mat4(0.013257584, -0.10722849, 0.03737538, -0.12670442, 0.07042824, 0.0074753985, 0.061389714, -0.3798834, 0.012847999, 0.08157751, 0.015498391, -0.06905376, -0.27448237, 0.002926611, -0.0022811508, -0.1625364) * g_17; - result += mat4(0.07984379, 0.16429926, -0.08719054, 0.084147796, -0.08544172, 0.049447432, -0.3133747, -0.024927497, -0.003863256, 0.18635638, -0.059786454, -0.052997295, -0.07169392, 0.11241022, -0.19898133, -0.007140295) * g_18; - result += mat4(-0.108855434, -0.09246034, 0.04956623, 0.028047003, -0.039407548, 0.031223932, 0.015852997, -0.050448515, -0.04515231, -0.1598301, -0.08276407, 0.17720093, 0.2920873, -0.021305554, 0.028241735, -0.18086697) * g_19; - result += mat4(0.047492385, -0.1599947, -0.20104182, 0.16174223, -0.071828544, -0.12785994, -0.12311588, 0.012565137, 0.016804317, -0.03577294, -0.09488874, 0.06645059, -0.00015702203, 0.16082056, 0.03234071, -0.08351094) * g_20; - result += mat4(-0.032639805, -0.010861794, 0.030566638, 0.014637599, 0.120822355, 0.12297292, -0.05141305, -0.016473597, -0.048908286, 0.07600826, -0.0022954363, -0.113686286, -0.20952684, 0.09235576, -0.15726195, -0.2348195) * g_21; - result += mat4(0.13191621, -0.002480696, -0.14792813, 0.15621583, 0.100709975, -0.21280108, 0.045120943, -0.02165414, -0.1447397, 0.24282482, -0.1569735, 0.11792232, 0.012485835, 0.0029504807, 0.067921594, -0.25737903) * g_22; - result += mat4(-0.11145241, 0.27000552, -0.19557719, -0.16048421, 0.012310486, 0.07280107, -0.13137956, 0.27061656, -0.25022137, 0.07077271, 0.3398045, -0.10735134, 0.124004506, -0.03584192, -0.042106874, 0.13895391) * g_23; - result += mat4(0.11946389, 0.10225672, -0.057140473, 0.09698616, 0.13223277, -0.19595279, -0.15960483, -0.017795812, 0.120322645, -0.0914318, -0.2300714, 0.14489214, 0.2006262, -0.0036377236, 0.14416055, 0.247531) * g_24; - result += mat4(0.2734717, -0.26736638, -0.06574077, -0.041792296, -0.13349292, 0.23770794, -0.0032957396, 0.07614033, -0.11995782, 0.25061053, -0.017311087, -0.3048492, -0.07940496, 0.166133, -0.2777709, 0.0010628162) * g_25; - result += vec4(0.015130698, -0.049747583, 0.006816977, -0.09670764); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf2 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.07275335, 0.14898193, 0.05103475, -0.24677557, -0.04590853, 0.18598412, 0.17042433, 0.25112963, -0.25387946, 0.16816492, 0.042718515, -0.07254226, -0.123994775, 0.018808274, 0.112001434, 0.025319412) * g_0; - result += mat4(0.2535324, 0.24990268, 0.0028210187, 0.10466241, -0.061642785, 0.28444982, 0.076121055, 0.053076364, -0.52522933, 0.2632941, 0.19820404, 0.05237143, 0.26571947, 0.10656059, 0.043669626, 0.04990818) * g_1; - result += mat4(0.08245741, 0.14015213, 0.18104555, 0.10484035, 0.16811769, -0.041335564, -0.033331893, 0.033417568, 0.11096319, 0.030447075, -0.09328212, 0.04628232, -0.07635939, 0.07020028, -0.2722409, -0.060951874) * g_2; - result += mat4(0.010335018, 0.32633916, 0.12625806, -0.3094073, 0.29249397, -0.3108912, 0.11901825, -0.07490385, 0.17830479, -0.20337716, 0.054164883, 0.28893295, 0.18187387, 0.053543147, -0.10075131, 0.0034320771) * g_3; - result += mat4(-0.02826832, 0.11724661, -0.06962717, 0.12613653, -0.23680139, 0.004728264, 0.043008044, -0.22754075, -0.0716446, -0.14434932, -0.17710604, -0.11561461, 0.37956393, -0.16996142, 0.040763404, 0.07495938) * g_4; - result += mat4(0.06707339, 0.40558064, 0.21503006, -0.2594568, -0.22734876, 0.26095417, 0.053693745, -0.14698361, 0.07437207, 0.24770571, 0.120787956, -0.030818382, -0.047236454, -0.48851666, -0.0031445923, 0.22892044) * g_5; - result += mat4(-0.04945736, 0.26467103, 0.049671993, 0.047162287, 0.061514832, 0.15016414, -0.10250111, -0.3007125, 0.20936479, 0.27691036, -0.02891184, -0.025837302, 0.19422647, 0.11701095, -0.08495193, -0.13676211) * g_6; - result += mat4(-0.10254167, -0.16630745, -0.34381193, 0.06600585, -0.10242925, -0.055404972, 0.021561349, 0.10897398, -0.10120918, -0.13307574, -0.014301925, 0.1969603, -0.14377114, -0.089617215, 0.0022043488, 0.0038541725) * g_7; - result += mat4(-0.14566253, 0.22117427, 0.050736886, 0.12268627, -0.080971554, 0.0658161, -0.09683872, -0.0103765065, 0.18371643, -0.019395225, -0.120815344, 0.13516186, 0.05761091, 0.008207175, 0.36346915, 0.026339587) * g_8; - result += mat4(0.07948127, -0.08477327, -0.16991964, 0.2505722, -0.1902803, 0.079657145, -0.048453137, -0.09438733, -0.122441165, -0.06270245, -0.05311665, 0.13945523, -0.17516851, 0.1292089, -0.17136113, -0.055618342) * g_9; - result += mat4(-0.002150108, 0.02283226, -0.13090558, 0.033127207, 0.06023704, -0.06849595, 0.046912603, 0.034401193, 0.010757264, 0.19490354, 0.0116163725, 0.18590987, 0.025350608, -0.11296784, 0.049074072, -0.10146356) * g_10; - result += mat4(-0.02068922, 0.030495135, 0.120516464, 0.15653776, -0.1632823, -0.055421073, 0.07736736, -0.250596, -0.056524616, -0.038208432, -0.14350441, 0.09898008, 0.0051016, 0.15592806, 0.14021751, 0.019436443) * g_11; - result += mat4(-0.14777614, 0.17289229, 0.2744722, -0.038262386, 0.043346573, 0.22880417, 0.035564966, -0.07677456, 0.11968518, -0.22628254, 0.06328974, -0.15619329, 0.06524249, 0.046800073, 0.110473916, -0.15548) * g_12; - result += mat4(0.25480956, 0.14005896, 0.09140913, 0.054437663, 0.0004533271, -0.034787837, -0.1323544, -0.12815407, -0.084788546, 0.09716086, -0.13819875, 0.17354825, 0.10694976, 0.0016070876, 0.16901751, -0.29687676) * g_13; - result += mat4(0.110094875, 0.05579302, -0.0027500705, -0.23052558, 0.029316107, 0.025380356, -0.2670241, 0.21118346, -0.17167161, 0.021439673, 0.075709194, 0.035738192, 0.069175325, -0.11928909, 0.0609199, -0.07018926) * g_14; - result += mat4(0.053545795, 0.30914584, 0.0083375275, 0.024702856, 0.091693155, -0.12650286, -0.05307018, -0.009256227, -0.17785516, 0.019424014, 0.0064009326, -0.064602405, -0.23181896, 0.18487184, -0.041830298, 0.015233306) * g_15; - result += mat4(0.0983137, -0.02332874, -0.16712289, 0.110043615, 0.20248997, 0.46069786, -0.04481748, 0.037059803, -0.111577116, -0.023646941, 0.044005208, -0.046400744, 0.27068818, -0.02549177, -0.23175907, -0.013831666) * g_16; - result += mat4(-0.060007934, -0.10096949, 0.054297656, 0.07113129, 0.04455678, 0.26144683, -0.34634766, -0.046529762, -0.031835936, -0.10379009, 0.19875336, 0.018076476, -0.07739257, -0.013014384, -0.11888874, 0.22789921) * g_17; - result += mat4(-0.12075386, 0.13691123, 0.084494345, -0.15709634, -0.09436252, 0.038024623, 0.06776821, -0.07152998, -0.13886653, 0.029662577, 0.1038584, -0.038791, -0.09553779, -0.18302377, -0.01212077, 0.14089715) * g_18; - result += mat4(-0.057872534, -0.00011801619, -0.18532518, 0.076057665, -0.42539987, -0.07312798, -0.04669854, -0.23879579, -0.012684431, 0.09458908, -0.09142282, -0.12451197, 0.2476217, 0.074229516, -0.082316175, -0.044077393) * g_19; - result += mat4(0.28468457, -0.040408906, -0.106139034, -0.27775, -0.09903486, 0.10510825, -0.030768666, 0.025477748, 0.052054677, 0.06462344, 0.08219105, -0.31942672, -0.1009352, -0.1137351, -0.03437056, 0.19018868) * g_20; - result += mat4(0.102790736, -0.015214254, 0.13167804, -0.010143135, 0.20543955, 0.109071806, 0.009985071, 0.044157047, -0.0702753, 0.12881173, 0.11038061, 0.050384365, 0.0945336, -0.0092124175, 0.02406746, -0.16884717) * g_21; - result += mat4(-0.016257925, -0.29831296, 0.0016857416, -0.25284603, -0.093083024, 0.076591246, -0.16160022, 0.11423315, 0.009033389, 0.29160973, -0.017032826, -0.15522738, -0.011398442, 0.21191356, -0.07039929, 0.11179371) * g_22; - result += mat4(-0.22552256, 0.23648272, 0.04632884, 0.19379017, -0.013058757, 0.04581136, 0.07059032, -0.016221967, 0.19233103, 0.22866032, -0.06603767, -0.07290105, -0.1454335, -0.20352724, -0.11494829, -0.008654449) * g_23; - result += mat4(-0.22305818, 0.062374588, 0.09524618, 0.13345708, -0.017654542, -0.29984674, 0.14792737, 0.3332384, 0.15762518, -0.114883184, -0.044198688, 0.1029124, -0.19856718, -0.23805596, -0.14726463, 0.244083) * g_24; - result += mat4(0.14181834, -0.15349664, -0.21518064, 0.05561381, -0.098451905, 0.32704952, -0.0208272, -0.02572841, 0.0006366284, 0.086487964, 0.23271829, -0.1431307, 0.16303279, -0.07606844, 0.028287608, 0.10664057) * g_25; - result += vec4(0.082762346, -0.07846427, -0.039599236, -0.016365785); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf3 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.3913639, 0.10863686, 0.036568943, -0.13616984, -0.12256661, 0.04261365, 0.08361712, 0.024963316, -0.03783324, -0.10835608, 0.1809994, -0.04891911, -0.07477347, 0.0005572628, 0.053801652, -0.17294465) * g_0; - result += mat4(-0.21240501, 0.048232567, -0.099440515, 0.110053435, -0.006807463, -0.10109199, -0.22602126, 0.11079698, -0.1816435, -0.3379471, -0.021888362, 0.012671836, -0.06788005, -0.019659603, 0.16906545, 0.1445488) * g_1; - result += mat4(0.040371295, -0.11197462, 0.00079611357, 0.23602307, -0.014053341, -0.16986679, 0.43132487, -0.12045111, 0.04180373, 0.08479918, -0.19931872, -0.17834274, -0.09733228, -0.20826107, 0.10239968, -0.13434827) * g_2; - result += mat4(0.020251004, 0.05971277, 0.18788993, 0.22893736, -0.08358592, -0.0119363805, -0.028455067, 0.116514385, -0.07311193, 0.22235078, -0.002239371, -0.074645266, 0.06231244, -0.13092813, 0.21043214, 0.50299895) * g_3; - result += mat4(0.47271565, 0.16325614, -0.15088516, -0.05982057, -0.2840374, 0.09182066, 0.06488062, -0.04938649, 0.1414061, 0.23092744, -0.21936595, -0.039149538, 0.20567922, 0.0246051, 0.098648764, 0.08579129) * g_4; - result += mat4(-0.39960098, 0.08434482, 0.13802652, 0.009295323, -0.20654808, -0.012721733, 0.21201523, 0.031257343, -0.11945277, 0.0916237, 0.06440069, -0.007590389, 0.23944661, -0.014860424, 0.06284065, -0.07135138) * g_5; - result += mat4(-0.0721573, 0.055787597, -0.02767052, 0.067403264, -0.02324729, 0.17466933, -0.042196542, -0.14136551, 0.09058359, -0.076865345, -0.015435375, 0.067640945, 0.011448769, 0.028046837, 0.04713673, 0.09483546) * g_6; - result += mat4(0.2546167, 0.022421336, 0.092746, -0.32795382, -0.33241096, 0.026107095, 0.06289775, -0.21036743, -0.27947587, -0.07762511, 0.2963245, -0.2832532, 0.063718654, 0.0619972, -0.061061345, -0.18399453) * g_7; - result += mat4(0.15909304, 0.07303675, -0.38512105, 0.029276537, 0.009517432, 0.05652419, -0.014813123, -0.095283724, -0.01813517, -0.15192051, -0.15530504, 0.2359332, -0.12923944, 0.01736479, -0.2677732, -0.3177703) * g_8; - result += mat4(-0.23776342, 0.10257757, 0.11439193, -0.18072441, 0.3792303, 0.100887515, -0.05491485, 0.27023515, 0.08301177, -0.21621186, 0.06266283, 0.086530656, 0.10006346, -0.053092614, -0.15547004, 0.35645944) * g_9; - result += mat4(-0.098499954, 0.039016157, 0.0524485, -0.10033457, 0.103584886, -0.11934437, 0.07800956, -0.15115607, -0.041158408, 0.117455296, 0.06669016, 0.0035908893, -0.13599664, -0.030012745, -0.30871254, 0.059126258) * g_10; - result += mat4(0.24690406, -0.091217, -0.0504622, 0.24518415, -0.12884134, 0.1323742, 0.0038479774, 0.09842381, 0.008500783, -0.06559568, 0.05146583, 0.059599597, 0.0071321735, -0.10342487, -0.19067638, -0.06347009) * g_11; - result += mat4(0.016936122, -0.11043261, -0.28285822, 0.33104372, -0.06869837, -0.019808812, 0.10947519, 0.2072341, 0.12953152, 0.0066205165, -0.14361404, 0.21440293, 0.107933156, 0.25248542, 0.35479957, 0.04657107) * g_12; - result += mat4(0.003236877, 0.03476854, 0.14876802, 0.23711428, 0.04649911, -0.071351595, 0.031896085, -0.10594211, 0.00069857674, 0.10305368, -0.09314995, -0.32680586, 0.04570868, 0.14266723, -0.034397174, 0.20164481) * g_13; - result += mat4(-0.020077765, 0.048004072, 0.090358, -0.089907974, 0.20100264, 0.07662578, -0.026522158, -0.022249233, 0.004584297, 0.049182866, 0.21047321, 0.2006713, -0.04797985, -0.120389566, 0.08469395, 0.17327283) * g_14; - result += mat4(0.03438223, -0.009089888, 0.02548027, 0.330411, -0.20711938, -0.09044422, -0.085573465, -0.0015074041, 0.19686691, -0.27738565, 0.1842882, 0.25633478, 0.05049097, -0.04747395, 0.12880976, 0.2955938) * g_15; - result += mat4(0.060284127, -0.052791417, 0.17430194, 0.2734774, 0.033497952, 0.07028606, 0.13602622, 0.3844893, -0.16202293, -0.0112891495, -0.10688323, 0.030814776, 0.014681261, 0.026908493, -0.008830593, 0.01871953) * g_16; - result += mat4(-0.07465978, -0.175989, 0.09637529, 0.040558986, 0.2981238, 0.16432516, 0.1452289, 0.5645152, 0.1293484, 0.074065246, -0.050162554, 0.21817929, 0.0609144, -0.10554228, -0.011225634, 0.36546203) * g_17; - result += mat4(-0.02294336, 0.08113419, 0.1710403, 0.18030314, -0.09124345, -0.035692204, 0.12966245, 0.19688453, -0.14478156, 0.08348002, -0.1238327, 0.084183216, -0.11615483, 0.06405909, -0.25661626, 0.16786002) * g_18; - result += mat4(0.036198474, -0.09861699, 0.012380308, -0.0666469, 0.054049894, -0.066349685, -0.04150571, 0.052891124, -0.06718455, -0.09419681, 0.15026417, -0.004487838, -0.24373291, -0.24006884, 0.33599952, -0.16203383) * g_19; - result += mat4(-0.084336184, 0.0033727193, -0.036314957, 0.04644337, 0.018204624, -0.16930482, 0.08446394, -0.056894217, 0.048310533, -0.12286224, 0.047029763, 0.15852791, -0.10254443, 0.009188206, -0.18071724, -0.09453931) * g_20; - result += mat4(0.2575106, 0.11234036, 0.03598674, 0.17742175, -0.09323855, -0.029400691, 0.066994734, -0.11069254, -0.014193176, -0.24321175, -0.0047728037, 0.09166242, 0.052884653, -0.10701044, 0.06771872, -0.10142581) * g_21; - result += mat4(0.007486696, 0.1029968, 0.14142233, 0.08376258, 0.12990831, 0.17370157, 0.006009723, -0.19141605, 0.13205655, -0.09506749, 0.12058968, 0.19471712, 0.009516709, 0.096770726, 0.14443186, 0.12925056) * g_22; - result += mat4(0.0475854, -0.09714674, -0.31917745, -0.20503542, 0.07705934, 0.040050905, -0.014721256, -0.058823906, 0.14376932, 0.012064556, 0.13286169, -0.19186401, 0.1831485, -0.27443576, -0.006654469, 0.103141926) * g_23; - result += mat4(0.044394996, -0.31224364, -0.07683899, 0.053486146, -0.4123616, 0.086337365, -0.09587909, -0.03808539, -0.18129647, -0.11455093, 0.1632373, 0.25741103, 0.17294647, -0.11041576, -0.2997262, 0.15817544) * g_24; - result += mat4(0.3266296, 0.085812286, -0.16668066, 0.030034138, -0.08862288, 0.06389938, 0.067171246, 0.01578496, 0.031137405, -0.06823438, -0.17424862, 0.3733615, -0.28492418, -0.14051028, -0.11076368, 0.0816732) * g_25; - result += vec4(0.015868783, -0.03145758, 0.060429975, 0.0045110146); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf4 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.14945197, 0.16098031, 0.051719245, -0.034232154, -0.10090936, 0.00830591, 0.003511522, 0.047575846, 0.06164254, -0.036461372, 0.06093159, 0.12666239, 0.015167088, 0.22650927, 0.27785966, -0.13839455) * g_0; - result += mat4(0.20404427, -0.13778454, -0.003130969, -0.0069568753, 0.009411408, 0.00029913452, -0.15609823, -0.036967028, 0.8401452, 0.104523584, 0.16267233, 0.26101708, 0.15797855, -0.005672259, -0.072657965, -0.2940039) * g_1; - result += mat4(0.023400925, -0.07931777, -0.0024201928, 0.14154646, 0.13505082, 0.061725322, -0.23146541, 0.2235899, 0.028721808, -0.020690065, 0.027728429, 0.3306459, 0.03473293, -0.06322703, -0.017740624, 0.02693956) * g_2; - result += mat4(0.201981, -0.26569206, 0.3296027, -0.062879294, 0.012529938, -0.006474693, 0.09799416, -0.045322224, 0.10355446, 0.13586703, 0.23875476, 0.08521818, 0.13901752, -0.3213584, 0.0010939257, -0.012409596) * g_3; - result += mat4(-0.23700963, -0.0033388012, 0.08170323, 0.14243743, -0.18329623, 0.2986226, -0.19831513, 0.14657772, 0.33912238, 0.25595152, -0.24895075, 0.14932986, 0.045179855, -0.009538074, -0.100237936, -0.098446615) * g_4; - result += mat4(-0.18900044, 0.054638628, 0.06837739, 0.08266906, -0.046341334, -0.19986658, 0.050261546, 0.036085926, -0.07516528, 0.028093588, -0.3476435, -0.10726676, 0.33830363, -0.058144495, 0.102090456, 0.2108081) * g_5; - result += mat4(-0.09022328, 0.017889388, -0.15765008, -0.10291243, -0.060554795, -0.038358618, 0.16947241, -0.104247436, 0.42979565, 0.14488359, -0.07012738, 0.07480945, -0.02311837, -0.030403437, -0.21153943, 0.009769658) * g_6; - result += mat4(-0.19631365, -0.021078536, 0.093053594, 0.042771056, 0.07872415, 0.25367248, 0.2904824, 0.081488095, -0.21612023, 0.20601381, 0.09763489, 0.122754775, 0.0024988255, -0.17623907, 0.22360411, 0.18334015) * g_7; - result += mat4(-0.058749627, 0.071623124, 0.03675938, -0.2588635, 0.016778812, -0.21104309, 0.018952027, -0.31036612, -0.15561692, -0.021656368, -0.22004744, -0.20016085, 0.25435224, 0.02916577, 0.06516691, 0.07729871) * g_8; - result += mat4(-0.082993135, 0.037327975, -0.09041188, -0.021681158, -0.13288629, -0.016856177, -0.19841108, -0.048110623, 0.017901966, -0.13928522, 0.020148523, -0.2575589, 0.05966198, -0.25391978, 0.1887992, -0.22440273) * g_9; - result += mat4(0.038387958, 0.25604457, 0.20616667, -0.010662733, 0.0652453, -0.09418516, 0.03907119, -0.07573656, -0.026385533, 0.023236332, -0.0694166, -0.039987978, 0.03619357, 0.024953678, 0.0047133924, 0.10959686) * g_10; - result += mat4(-0.28358817, -0.08429444, 0.12283427, -0.17352122, -0.28881827, 0.028303733, 0.037494656, -0.18157536, 0.102885716, -0.1597965, -0.15546831, -0.01146783, -0.11535764, 0.07318211, -0.0064606857, -0.17013118) * g_11; - result += mat4(-0.2722369, -0.16988702, -0.12011997, -0.21110061, -0.02703128, -0.0012027018, 0.15786748, -0.045325976, -0.14155495, 0.024521999, -0.09180482, 0.07973881, 0.15009059, 0.11311702, -0.24193251, 0.21181291) * g_12; - result += mat4(0.079832554, 0.13819915, 0.0644478, 0.032698773, -0.055964362, 0.0062652268, -0.44648278, 0.020893153, 0.2785451, -0.058252975, 0.06947447, 0.17165478, 0.11666183, 0.032484345, 0.26955023, -0.09007163) * g_13; - result += mat4(0.074948624, -0.03027186, 0.08031308, 0.0076982, -0.030060723, -0.123520896, -0.01858971, 0.16149811, -0.18218324, -0.1907134, 0.14869457, 0.04311582, -0.14524359, 0.18327981, -0.038959123, 0.052322008) * g_14; - result += mat4(-0.059443116, -1.2828946e-05, 0.2770255, -0.054349877, -0.09371057, -0.19399741, 0.024748074, -0.21350558, 0.15579434, -0.18651448, 0.03005815, -0.12944081, -0.11453777, -0.2343128, -0.1720614, 0.0016626595) * g_15; - result += mat4(-0.23639911, -0.083615154, -0.20849767, -0.28589326, 0.3486518, -0.089977995, 0.013625235, -0.13351293, -0.17646289, -0.28506002, 0.13482474, 0.0347251, -0.23015228, 0.06251885, 0.0933548, -0.16809867) * g_16; - result += mat4(0.1822202, -0.089247055, -0.0019837108, 0.0024590432, 0.3305589, 0.019448044, -0.053130258, -0.12762257, -0.063679375, 0.22454257, 0.04940314, -0.015956238, 0.25156045, -0.070181206, -0.21123977, 0.12588634) * g_17; - result += mat4(0.2687441, 0.009185896, 0.2552064, 0.12281216, -0.061733842, -0.41198087, 0.015501087, 0.07808448, 0.058844253, 0.08016994, 0.088322714, -0.092968285, 0.08418163, 0.007952845, 0.043222576, 0.070968375) * g_18; - result += mat4(-0.013054412, -0.21707737, -0.17667364, -0.21544492, 0.1014457, 0.18704009, -0.023388298, -0.057701223, 0.105478585, -0.07900766, 0.074261405, 0.1888776, 0.12542284, -0.1996206, -0.16316931, 0.007791157) * g_19; - result += mat4(-0.18270205, 0.2025353, 0.3265147, 0.06714097, -0.016193308, -0.20436206, -0.030753197, -0.058978382, -0.14078636, -0.06465846, 0.20873049, -0.109932266, 0.30118617, 0.22391927, 0.07046112, 0.0371617) * g_20; - result += mat4(0.02550017, 0.16456556, -0.11329017, 0.088022776, 0.23173799, -0.0010375397, -0.05828751, 0.14631982, 0.21526784, 0.22880761, -0.09728381, -0.04741336, -0.0019534798, -0.062897205, -0.065131105, 0.0025237799) * g_21; - result += mat4(-0.108903095, 0.03159055, 0.20757839, 0.15141101, -0.00817231, 0.003621365, -0.02615051, 0.14909424, 0.3730205, 0.11222444, 0.18234271, 0.15614115, 0.17248969, 0.15939258, 0.10224304, 0.1903116) * g_22; - result += mat4(0.16533965, 0.015357719, 0.14340413, -0.03258536, 0.273793, 0.08128506, -0.037119016, -0.1599679, -0.15314123, 0.006436269, -0.060659572, -0.13333261, -0.01068674, -0.061791964, 0.17797105, -0.1944123) * g_23; - result += mat4(-0.061225474, 0.06916346, 0.2188833, 0.049035676, -0.28082103, 0.25311306, 0.16941728, 0.13574886, 0.03735417, -0.0150085725, -0.04081533, 0.16391492, 0.053848673, 0.092159234, 0.06918723, -0.06668832) * g_24; - result += mat4(-0.023205632, -0.29362342, 0.0782468, -0.11934102, 0.25011548, 0.036887586, -0.17301348, 0.0003987401, 0.017727787, -0.3402023, 0.1384328, -0.48377892, -0.20980822, -0.16546479, 0.115749344, 0.2642447) * g_25; - result += vec4(-0.20050508, -0.07773812, -0.033446066, -0.032423045); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 -//!HOOK MAIN -//!BIND conv2d_15_tf -//!BIND conv2d_15_tf1 -//!BIND conv2d_15_tf2 -//!BIND conv2d_15_tf3 -//!BIND conv2d_15_tf4 -//!BIND conv2d_15_tf5 -//!BIND conv2d_17_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!SAVE conv2d_18_tf5 -//!WIDTH conv2d_15_tf.w -//!HEIGHT conv2d_15_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.056246072, -0.16367151, 0.09586773, -0.09557277, -0.10967658, 0.29330617, -0.13319509, 0.1583132, -0.03072026, -0.13287482, 0.08872677, 0.01658334, -0.030632658, 0.23216708, -0.04874622, -0.19615364) * g_0; - result += mat4(0.28258148, 0.23039894, -0.022433521, -0.076286666, -0.013763674, -0.011372233, 0.06338799, -0.14605698, 0.14725849, 0.04564273, -0.29587668, -0.06550259, 0.07033988, 0.056368083, -0.11388523, 0.22788034) * g_1; - result += mat4(-0.078506514, 0.050773215, -0.05056612, 0.03687288, -0.06774274, 0.346275, 0.22509691, 0.14400601, 0.053844824, -0.032543994, -0.065815195, 0.05659026, 0.30160823, 0.21798158, -0.13396002, -0.070808604) * g_2; - result += mat4(0.1414282, -0.14827503, 0.1398485, -0.07609034, -0.25334343, 0.14950044, -0.23095194, 0.20794556, 0.13395849, -0.016921503, -0.019526243, 0.03422955, -0.12746096, 0.051038973, 0.30596954, 0.08058667) * g_3; - result += mat4(-0.16881044, -0.14647691, 0.005999665, -0.2447768, 0.01649153, 0.062070012, -0.046544943, -0.17421006, -0.1569363, -0.13780028, 0.06486153, 0.083640814, 0.10214361, 0.33934087, -0.10050735, 0.101777904) * g_4; - result += mat4(0.290694, -0.21645689, 0.051882863, -0.17417477, 0.10914349, 0.08146335, -0.098452374, -0.19601184, 0.12863407, 0.1486865, -0.081353866, 0.041731454, -0.22860748, -0.2768738, 0.22779721, 0.17970768) * g_5; - result += mat4(-0.010292755, 0.30307126, 0.070744984, 0.018192705, 0.059022196, -0.2962268, 0.32906732, -0.32876432, -0.21463345, 0.31662, -0.16954084, -0.117625155, -0.10809974, -0.23279764, 0.15617515, -0.12067889) * g_6; - result += mat4(-0.09392243, -0.09030095, -0.0074743694, 0.18182948, 0.066194676, -0.06895621, -0.083494544, -0.11739724, -0.025220301, -0.07014885, 0.08474903, -0.15182392, 0.3104019, 0.1361944, -0.07185112, -0.30538258) * g_7; - result += mat4(-0.04256853, -0.27519822, 0.4612011, 0.024868855, -0.017590877, 0.029131817, -0.032747604, -0.046608966, 0.047107942, -0.06539844, -0.1362288, 0.016851274, -0.19554174, -0.09681737, -0.09754212, -0.10524043) * g_8; - result += mat4(-0.08256224, -0.061173473, -0.0003020941, 0.1565923, -0.003615149, 0.1686191, 0.25915742, -0.1551164, 0.010245293, 0.09092833, 0.0010728717, 0.12982604, -0.13078149, -0.079463206, -0.25684637, 0.022832563) * g_9; - result += mat4(0.20522995, 0.088086136, 0.14705934, 0.1724673, 0.21438526, 0.069160245, 0.06703898, 0.06735102, 0.2414119, 0.23313762, -0.14652516, -0.2308932, 0.11138083, -0.35780203, 0.18798493, 0.079498045) * g_10; - result += mat4(-0.053529646, 0.05224867, -0.021422606, 0.10177944, 0.2462833, 0.22917953, 0.09228497, -0.017690439, -0.0007594463, 0.08885728, 0.06285097, -0.006133101, 0.35480046, 0.094339065, 0.0025798874, -0.03436115) * g_11; - result += mat4(0.29142246, -0.20571099, 0.039097242, 0.16419578, 0.33381957, 0.059117097, 0.3232492, 0.3207798, -0.17321022, 0.28149655, -0.37212068, -0.091761135, -0.29647976, -0.09786893, -0.012315099, -0.098530225) * g_12; - result += mat4(-0.08517171, 0.29922923, -0.3016026, 0.18986404, -0.4725503, 0.21458124, -0.019785719, -0.22997737, -0.1803405, -0.3505279, 0.1441317, 0.123748966, 0.16901205, 0.0853246, 0.056168083, -0.12500733) * g_13; - result += mat4(-0.05538139, 0.32405415, -0.07422156, 0.11243641, -0.12328553, 0.19872831, 0.11609064, 0.044187672, -0.03900837, 0.14938031, -0.26779997, -0.014325914, 0.08516605, 0.15472183, -0.008160691, -0.1546734) * g_14; - result += mat4(0.10224539, 0.05463571, -0.10349991, -0.13967137, 0.013825501, -0.19771369, 0.022759158, -0.02061224, -0.14596504, -0.1389487, -0.023805464, 0.3357339, 0.053674806, -0.29536068, -0.030129524, -0.23420021) * g_15; - result += mat4(0.00525935, -0.06187332, -0.21343656, 0.08685601, 0.1973513, 0.023780117, 0.10964963, 0.29554302, 0.23034461, -0.1638336, 0.052997477, -0.09746816, 0.3240945, 0.40397635, 0.14546403, 0.23516071) * g_16; - result += mat4(0.12398506, 0.071972124, -0.041258276, 0.039724182, 0.2652426, 0.27666694, 0.23635465, -0.019449247, -0.1527029, -0.22316225, 0.10210884, -0.07005887, -0.30646923, 0.041887626, -0.009516569, 0.036413055) * g_17; - result += mat4(0.028276786, 0.16043751, -0.2239881, -0.37586385, 0.31563812, -0.026203927, -0.19180797, 0.10412318, 0.26220286, 0.12667432, 0.23287152, -0.13779306, -0.08798421, -0.08690371, -0.13741593, 0.17836761) * g_18; - result += mat4(0.287815, 0.14447291, -0.045042984, 0.29542264, 0.058183044, -0.23302315, 0.21404788, 0.02194636, -0.07718152, 0.013391173, 0.095230855, 0.057383515, 0.034200735, -0.02018772, -0.009704874, 0.022752954) * g_19; - result += mat4(-0.21204911, -0.014358223, -0.04669444, 0.07340455, -0.34677908, 0.06096447, 0.07148003, -0.068913, -0.007976721, 0.23779279, -0.13419056, -0.19720857, -0.33705205, 0.044584982, -0.08765776, 0.19233592) * g_20; - result += mat4(-0.1133937, 0.17952245, -0.21029858, 0.18934067, 0.09819281, 0.096423194, -0.11639172, -0.018819679, 0.010464611, -0.093951285, -0.014759534, 0.020049462, 0.18295068, 0.19702181, 0.020996286, 0.14536497) * g_21; - result += mat4(-0.3783169, 0.33286926, -0.19929482, 0.15028305, 0.065908626, 0.041621454, -0.18216579, 0.043525103, 0.17919035, -0.12875584, 0.065998, -0.21985063, 0.13770798, -0.115711726, -0.088645585, 0.13645406) * g_22; - result += mat4(0.1653456, -0.2774588, -0.012783554, 0.29001617, -0.2319765, -0.05957548, 0.13937134, 0.09561029, -0.18725371, 0.19096635, 0.23249848, -0.19607106, 0.11286404, -0.30301368, 0.00872854, -0.11348953) * g_23; - result += mat4(0.2649749, -0.110655166, -0.014622274, -0.012837707, -0.25394395, -0.116608076, -0.13025038, 0.24080041, -0.29346582, -0.27480447, -0.14941107, 0.22009355, -0.028492803, -0.55209374, 0.09375013, -0.07632931) * g_24; - result += mat4(-0.2204565, -0.20641033, -0.16525632, -0.024253568, 0.22351857, 0.014136642, 0.096259035, 0.011398014, -0.0904076, 0.3691236, 0.34148008, -0.18941431, -0.06418756, 0.16660745, -0.0032392892, 0.18603528) * g_25; - result += vec4(0.107388094, -0.010368161, -0.030843422, -0.045815416); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!SAVE conv2d_20_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.12469452, 0.2756988, -0.0030386525, 0.110231526, 0.079730555, 0.31047487, -0.11741889, -0.15680341, 0.05138145, -0.051073115, 0.039240852, -0.18283725, 0.023115406, 0.4039909, 0.022149865, 0.22553988) * go_0(-1.0, -1.0); - result += mat4(-0.32825923, 0.13143322, -0.1348612, 0.13155334, 0.027405616, -0.0247758, 0.12978418, 0.13376838, 0.013370615, -0.12284778, 0.16761734, 0.00128094, -0.010231963, 0.23638017, 0.002013022, 0.27167386) * go_0(-1.0, 0.0); - result += mat4(-0.15293615, 0.032321136, 0.029405225, 0.18693046, -0.080612086, -0.04829167, -0.099340305, -0.028978925, 0.07731791, 0.024516301, -0.012716455, -0.052261427, -0.09381243, 0.05039182, 0.075204134, 0.22237705) * go_0(-1.0, 1.0); - result += mat4(0.031210596, 0.16820668, -0.08481839, -0.09094182, 0.22958319, 0.021210868, 0.0012419806, 0.08395074, 0.082526736, -0.027748931, 0.111858085, -0.066962205, 0.17804997, 0.25638363, -0.06805945, 0.26395732) * go_0(0.0, -1.0); - result += mat4(-0.03412788, 0.08408975, 0.17036097, 0.08179365, -0.18398769, 0.073729396, 0.24579936, 0.10286021, 0.09492866, 0.1726858, -0.057260204, -0.10544164, -0.2950457, -0.18057044, 0.16777372, -0.18873873) * go_0(0.0, 0.0); - result += mat4(0.16859914, -0.058282517, 0.0071716513, -0.24263367, -0.14864399, 0.18401653, 0.06635458, 0.23588325, -0.18178634, -0.086238734, 0.02538327, -0.04728138, -0.023321258, -0.16549022, -0.09689735, -0.064917505) * go_0(0.0, 1.0); - result += mat4(0.06321565, 0.13867988, 0.0947424, 0.025222858, -0.019033737, 0.15200183, 0.18162403, -0.2666241, 0.029561596, -0.047272295, 0.06085453, -0.027626522, 0.02452243, 0.21287756, -0.0504233, -0.016933715) * go_0(1.0, -1.0); - result += mat4(-0.0076588215, 0.13153656, -0.006921595, 0.17011659, 0.057251126, 0.033482872, 0.044974122, 0.31908187, 0.006421827, 0.01154297, 0.06694967, -0.12064314, 0.0055589634, 0.15902095, 0.04477553, -0.13291803) * go_0(1.0, 0.0); - result += mat4(-0.10118881, 0.17185818, 0.3105655, 0.14553094, 0.005159673, -0.09609453, -0.031000953, 0.13549595, -0.016148865, -0.10999589, 0.07714027, -0.123150334, -0.22769089, 0.05522311, -0.053379774, -0.14648165) * go_0(1.0, 1.0); - result += mat4(0.10159467, 0.11506783, -0.027823403, 0.09708401, -0.0014844061, -0.050402377, 0.060338866, -0.100012936, -0.18527813, 0.09105397, -0.0109011205, 0.13899182, 0.0516985, 0.010947404, 0.014253443, -0.07577752) * go_1(-1.0, -1.0); - result += mat4(0.17108297, -0.07120859, 0.024338547, 0.09448755, -0.027809748, -0.07505294, 0.1282598, 0.024827847, 0.05625498, 0.07121306, -0.13161525, 0.14557523, -0.2976582, 0.04897957, 0.031145282, -0.03834759) * go_1(-1.0, 0.0); - result += mat4(0.05551268, -0.0716079, 0.023942443, 0.19639635, 0.05669373, 0.14583157, 0.055063065, -0.07820165, -0.10672402, -0.1703235, -0.095138766, -0.19283113, 0.011974798, -0.17337462, 0.11214882, 0.20275517) * go_1(-1.0, 1.0); - result += mat4(0.32291347, 0.10777462, -0.10580381, -0.21308404, 0.11616703, -0.052621234, 0.10346139, 0.16087708, -0.13207085, 0.12436386, -0.01291929, 0.14210188, 0.044976626, -0.016283648, -0.1336142, 0.09595707) * go_1(0.0, -1.0); - result += mat4(0.15443617, -0.15459086, -0.16403913, 0.03174277, -0.15888752, -0.04350233, 0.10057953, 0.07440825, -0.055050217, 0.11225007, -0.12994702, -0.010593223, -0.13450573, -0.2121465, -0.05482638, -0.07864351) * go_1(0.0, 0.0); - result += mat4(0.039901994, 0.08153883, 0.033923063, 0.041996136, -0.07113938, 0.17041339, 0.05883678, 0.24487427, 0.07539254, 0.20588705, 0.39908308, -0.11425055, -0.019062242, 0.0032807642, 0.09172311, 0.14025539) * go_1(0.0, 1.0); - result += mat4(0.01539056, 0.10754986, 0.37259609, 0.09392048, -0.00310004, -0.08401492, -0.22333388, 0.04989363, -0.12627788, 0.016482739, 0.04914916, 0.06348206, -0.086071976, -0.15826811, 0.017756626, 0.21861003) * go_1(1.0, -1.0); - result += mat4(0.18154909, -0.0033624324, 0.0968965, -0.124652244, -0.04443872, -0.010052035, -0.19655424, 0.08704668, -0.098599635, -0.040468227, 0.19175652, 0.032095585, -0.15368953, 0.024098037, -0.24407092, -0.12547572) * go_1(1.0, 0.0); - result += mat4(0.08744678, 0.054032657, -0.0021582225, 0.06409461, 0.05493912, -0.068969786, -0.047769703, 0.10919772, 0.0035211914, 0.069684826, 0.21072306, 0.072507866, -0.11938833, 0.18384676, 0.06284721, -0.05921856) * go_1(1.0, 1.0); - result += mat4(0.09057645, 0.12453462, -0.07638394, -0.0101371175, 0.01460433, 0.15772647, -0.05280295, 0.02206773, 0.07484848, -0.08790556, 0.042285398, -0.08903622, -0.0012567731, 0.098060034, 0.025009762, -0.0076966155) * go_2(-1.0, -1.0); - result += mat4(0.11454903, -0.077478886, -0.052485358, 0.19211693, 0.022671973, 0.059365507, -0.083238035, -0.14501537, -0.040764146, 0.21487065, -0.19963494, 0.054925032, 0.07232574, -0.0227394, 0.039728418, 0.17345724) * go_2(-1.0, 0.0); - result += mat4(-0.0993952, -0.06067365, 0.035934106, -0.12639004, -0.0778735, -0.10140339, 0.03887297, -0.14038701, 0.0075174705, -0.021134501, -0.02119851, -0.15757693, 0.14228992, 0.22107969, 0.027181044, -0.06279046) * go_2(-1.0, 1.0); - result += mat4(-0.16927601, 0.11677078, 0.19733079, -0.11689197, -0.034098208, 0.101883925, 0.026590899, -0.05885779, 0.08519204, 0.17631909, 0.13005087, 0.23866637, -0.085538544, 0.091313064, -0.047257267, 0.0053548473) * go_2(0.0, -1.0); - result += mat4(-0.108859956, 0.05404011, -0.018830402, -0.14216618, 0.069951884, -0.01124228, -0.0037147554, -0.020336289, -0.081044994, 0.039911337, -0.16080706, 0.08662944, 0.047947943, 0.10828746, -0.031021379, -0.11105547) * go_2(0.0, 0.0); - result += mat4(-0.1839872, -0.1833984, -0.1227439, -0.12743878, -0.03371801, -0.045720182, -0.015437003, -0.05371745, 0.08179509, -0.10187377, -0.16090737, -0.008773982, 0.29223564, -0.05076348, 0.06896914, 0.23276885) * go_2(0.0, 1.0); - result += mat4(0.11150805, -0.10692903, -0.067383446, -0.028477253, -0.08655023, -0.036996033, 0.08042788, -0.041127857, 0.10184861, 0.04945595, -0.08878173, 0.03887733, 0.055553347, -0.008964301, -0.024376081, 0.06264274) * go_2(1.0, -1.0); - result += mat4(-0.13464782, -0.0028459684, -0.01713905, -0.31262934, -0.01135533, 0.123688996, -0.025050493, 0.14633808, -0.14788014, 0.17736344, 0.1281439, -0.17853001, -0.07029142, -0.012039916, 0.10376088, -0.17375065) * go_2(1.0, 0.0); - result += mat4(-0.0059183673, 0.04232691, -0.026118219, 0.09271221, 0.00037943345, -0.010752633, -0.031649496, 0.0023594915, -0.01362048, 0.3371484, 0.04486839, 0.105351, 0.12001228, -0.0032342104, -0.041739423, -0.10184327) * go_2(1.0, 1.0); - result += mat4(0.10195569, 0.27985227, -0.12066071, 0.027551817, -0.04527464, 0.10309163, 0.026852576, -0.011768109, 0.032974254, 0.08671867, 0.071632, -0.061044805, 0.014752718, -0.045624327, 0.03510297, -0.09356974) * go_3(-1.0, -1.0); - result += mat4(0.3747214, -0.2174508, 0.09977886, 0.06383452, -0.25822937, 0.16086401, -0.07078228, -0.2262915, -0.05223827, -0.01984298, 0.095375136, 0.059800543, -0.05463991, -0.008860478, 0.08011637, -0.05239409) * go_3(-1.0, 0.0); - result += mat4(0.34629387, -0.18977715, -0.032091625, -0.05703391, -0.023425069, 0.13923487, 0.14191589, -0.02934516, 0.12887205, 0.06522604, 0.01016156, -0.034986842, -0.07630218, -0.05272673, -0.07991985, -0.04997879) * go_3(-1.0, 1.0); - result += mat4(0.100405626, 0.026242761, -0.09814247, 0.092037454, -0.01187754, -0.09976379, 0.01857234, 0.04186202, 0.045359854, 0.0015068888, 0.20283718, 0.18383868, -0.05862553, -0.043843966, -0.13292229, 0.05278706) * go_3(0.0, -1.0); - result += mat4(-0.07167725, 0.05590418, -0.052253395, -0.3165258, -0.108041376, 0.026544329, 0.2194961, -0.61452866, 0.025921447, 0.09347338, -0.012685432, 0.022920124, -0.05500294, 0.022358187, 0.04190898, -0.0761038) * go_3(0.0, 0.0); - result += mat4(0.034209993, 0.06758814, -0.073430635, -0.09693391, 0.10062518, -0.2574891, 0.2946945, -0.12969787, 0.1767703, 0.035647824, -0.096529506, -0.05794956, -0.0051500676, -0.054843545, -0.0058801444, -0.18692161) * go_3(0.0, 1.0); - result += mat4(-0.09232532, 0.050154313, -0.10473752, -0.21080789, -0.13022307, 0.20965308, -0.013971539, -0.089835115, 0.13660641, -0.055396173, 0.114575885, -0.021095587, -0.06295151, -0.10541324, 0.119540416, -0.026369337) * go_3(1.0, -1.0); - result += mat4(-0.08051449, -0.13070889, 0.06126419, -0.11814584, 0.19518471, -0.16562845, 0.21007895, 0.019500846, -0.037545342, -0.04208075, 0.05982543, -0.23332721, -0.020093875, 0.023112997, 0.22079867, -0.034697875) * go_3(1.0, 0.0); - result += mat4(0.09430643, 0.09778812, 0.0062433006, -0.07991877, 0.13102295, -0.40803814, 0.29331818, 0.015238348, 0.044199947, 0.12784095, -0.114296354, 0.06443671, -0.053746402, -0.010489087, 0.036543775, -0.06743519) * go_3(1.0, 1.0); - result += mat4(-0.06671071, -0.011092594, 0.017813863, 0.09122705, 0.06043978, -0.044251487, -0.01452103, -0.03595151, -0.037234616, -0.11405697, 0.0094698975, 0.08115856, 0.061847016, -0.14966819, 0.039536983, -0.0057695396) * go_4(-1.0, -1.0); - result += mat4(-0.12975664, 0.096620955, 0.03712677, -0.029440578, 0.180606, 0.0037506977, 0.07118542, -0.10982209, 0.16553295, -0.09863922, 0.030389145, 0.0915873, 0.096616626, -0.28076473, -0.05030248, 0.112127386) * go_4(-1.0, 0.0); - result += mat4(0.09634814, -0.08306328, -0.0113692805, 0.07628131, -0.16785304, 0.13579424, -0.13875304, -0.10798351, -0.11397347, -0.062225766, -0.08256214, -0.0585849, -0.017696483, -0.05823322, -0.08017212, -0.11736672) * go_4(-1.0, 1.0); - result += mat4(0.03313253, 0.021876926, 0.010047459, 0.17018415, -0.15069912, 0.10098968, -0.049532544, -0.106732704, -0.14358367, 0.075754024, 0.031455636, 0.013836878, 0.017602045, 0.0915547, 0.046919227, -0.034797847) * go_4(0.0, -1.0); - result += mat4(-0.07094902, 0.088010214, -0.08015505, -0.08891011, -0.07390484, -0.20256141, 0.09353643, -0.08852365, -0.025457565, -0.022753114, -0.053268436, 0.0251505, 0.16039324, 0.1079146, 0.101562336, -0.17074345) * go_4(0.0, 0.0); - result += mat4(0.15359324, 0.14568749, 0.05560518, -0.16014118, -0.13161767, 0.08519693, -0.08092679, -0.075116, 0.10425777, -0.10243057, 0.00051197613, -0.11526313, -0.04120447, 0.12482422, -0.07628159, -0.25013912) * go_4(0.0, 1.0); - result += mat4(-0.041319463, 0.056686576, 0.23613611, 0.18072061, 0.027446348, 0.1704725, 0.114003986, -0.092275284, -0.062855355, 0.04396716, 0.1396697, 0.0006740989, 0.022242812, -0.0665075, -0.13936293, 0.01648267) * go_4(1.0, -1.0); - result += mat4(0.025738375, -0.08272011, 0.07086082, 0.27109, 0.11266851, -0.036718287, 0.07931568, 0.11510158, 0.055292327, 0.039472595, 0.0004201107, 0.12444646, -0.017146925, -0.046981264, -0.20989618, 0.0093574235) * go_4(1.0, 0.0); - result += mat4(-0.0410002, 0.08125367, 0.07289309, 0.021991136, 0.019449996, -0.04733636, 0.011856593, 0.02409127, 0.073708266, -0.00021030345, -0.05481979, -0.11138814, 0.1539464, -0.25397933, -0.19081764, 0.024754234) * go_4(1.0, 1.0); - result += mat4(0.011404407, 0.045723602, -0.063646525, 0.021277336, -0.062212225, 0.11410291, -0.08551053, 0.09185181, 0.025905548, -0.063212596, -0.014308325, 0.10749785, -0.07052051, -0.072577454, -0.06281299, -0.08592095) * go_5(-1.0, -1.0); - result += mat4(0.027796155, -0.0018010428, -0.0080858115, -0.02931112, -0.06335313, 0.13232857, 0.050065134, -0.18670812, -0.07791764, 0.036811188, 5.1620646e-05, -0.07881347, 0.0064784917, -0.21791142, 0.049551986, -0.022399327) * go_5(-1.0, 0.0); - result += mat4(0.039196264, -0.13728346, -0.07378473, -0.13909115, -0.16900037, -0.012241019, -0.012852268, -0.13505174, 0.015546434, -0.16924058, -0.14095336, -0.10435426, 0.054796338, -0.05225356, 0.052625455, 0.033092048) * go_5(-1.0, 1.0); - result += mat4(-0.05883335, 0.007998757, -0.08550889, 0.10523877, 0.02366761, -0.07424445, -0.07433814, -0.083959304, -0.059491463, -0.008508299, -0.06256395, -0.1993904, 0.062447432, -0.029756041, 0.106966846, 0.0720412) * go_5(0.0, -1.0); - result += mat4(0.16062084, -0.044165816, -0.1088471, 0.15252742, 0.22269998, -0.28209755, 0.056168146, 0.2457806, -0.073635936, 0.07305773, 0.022588477, 0.04154082, -0.025154186, 0.1763498, 0.0978339, -0.088828854) * go_5(0.0, 0.0); - result += mat4(-0.007010839, -0.1041154, -0.11122766, -0.0809209, 0.0944237, -0.2014444, 0.053431354, -0.06069176, -0.05210676, 0.019170754, 0.13814554, 0.05543503, -0.037046313, 0.016554516, 0.0024328576, 0.013767006) * go_5(0.0, 1.0); - result += mat4(0.053704824, 0.0071286894, -0.10660915, 0.01579933, 0.05252924, -0.00925876, -0.09520158, 0.09159156, 0.15740037, -0.036502976, 0.07756273, -0.00673682, 0.11972799, -0.05287324, -0.01542637, -0.0004223783) * go_5(1.0, -1.0); - result += mat4(-0.081155285, -0.06431763, -0.0032835256, -0.05314256, -0.11107773, 0.039944727, -0.06406697, -0.18479525, -0.071334474, 0.028852647, 0.0130297365, 0.08452622, -0.043612488, -0.07880877, 0.035399523, 0.04524793) * go_5(1.0, 0.0); - result += mat4(0.012628041, 0.02025677, -0.011282166, -0.09834989, 0.014539582, -0.03922793, 0.10264913, -0.040466256, 0.020758571, 0.03353777, -0.017579531, 0.09276947, 0.09559103, 0.078923225, 0.15997995, 0.074016556) * go_5(1.0, 1.0); - result += mat4(0.071531475, -0.0016751958, 0.049699478, -0.06426847, 0.1072311, -0.024745405, -0.05174181, -0.09310878, -0.053240646, 0.02675127, 0.009952832, 0.08800601, -0.06374523, -0.022876892, 0.06539269, -0.09194918) * go_6(-1.0, -1.0); - result += mat4(0.14764012, -0.033509713, 0.1110827, -0.22174822, -0.0064200363, 0.063947834, 0.05046646, -0.016293462, -0.098989666, 0.26771635, -0.052405335, -0.2886604, -0.13934582, 0.20546469, 0.054924496, 0.0712025) * go_6(-1.0, 0.0); - result += mat4(0.08238192, 0.1240943, -0.021337276, -0.07719093, -0.027363844, 0.16919924, 0.05249086, 0.071907274, 0.052685894, 0.12027399, 0.17275874, 0.06496609, 0.045921586, -0.080791995, 0.06271465, -0.036029097) * go_6(-1.0, 1.0); - result += mat4(0.08299102, -0.13915937, 0.1694046, 0.054060783, 0.05885541, 0.05756791, 0.15778649, 0.23613115, 0.0016506041, -0.3485105, -0.055006158, 0.08153514, -0.044717144, 0.0761585, -0.07746372, 0.031654317) * go_6(0.0, -1.0); - result += mat4(-0.058975376, 0.046350993, 0.05141635, -0.27530587, 0.1512669, -0.24204156, -0.01314143, 0.23477359, -0.02513839, -0.21798266, -0.014231272, 0.09892292, -0.03483347, -0.022197934, -0.040361803, -0.33148023) * go_6(0.0, 0.0); - result += mat4(0.019349543, -0.0031035943, -0.15028755, -0.09199383, 0.023028357, -0.06711408, 0.0554645, -0.035588223, -0.16763584, -0.30684182, 0.21162367, 0.015916314, 0.042558394, 0.049582858, -0.014391668, -0.0022271145) * go_6(0.0, 1.0); - result += mat4(0.14165828, -0.19275959, 0.1921354, -0.100665346, -0.0064943857, 0.042440604, -0.01011047, -0.040459733, 0.063686766, -0.07706076, -0.033149425, 0.0974412, 0.066479646, -0.061770678, 0.014472761, 0.0809043) * go_6(1.0, -1.0); - result += mat4(0.04029581, -0.040256683, 0.15648295, 0.1109302, 0.028787047, -0.039098088, 0.028529556, -0.06896032, 0.20928729, -0.0244484, -0.22997615, 0.21116255, 0.124666244, -0.055176433, -0.04943077, 0.16551583) * go_6(1.0, 0.0); - result += mat4(0.046550367, 0.044989605, 9.304079e-05, -0.033384785, 0.0023897009, -0.07200452, 0.024538241, -0.039707564, 0.15832944, 0.06376892, 0.023910448, 0.15589088, -0.0048251473, -0.16900223, 0.12430114, -0.020196496) * go_6(1.0, 1.0); - result += mat4(0.0029875033, 0.14953752, -0.002594137, -0.006695458, 0.05319587, -0.0644066, -0.09670989, -0.18911153, -0.038239144, 0.23623386, -0.039752565, 0.067495435, -0.06659754, -0.04905179, 0.06567238, -0.041060925) * go_7(-1.0, -1.0); - result += mat4(0.047381606, 0.09305608, 0.02199564, 0.17900278, 0.3829787, -0.10499024, -0.08094016, 0.166112, -0.099137634, 0.22819752, -0.02070814, -0.04451787, -0.0736343, -0.06568887, -0.007334238, 0.057046153) * go_7(-1.0, 0.0); - result += mat4(0.108826466, -0.046413966, -0.042215817, -0.036304966, -0.17274994, -0.12384751, -0.19628254, -0.1332035, 0.045716316, 0.045310948, 0.21375106, 0.11344911, -0.16371003, -0.022799216, 0.030182192, 0.011781548) * go_7(-1.0, 1.0); - result += mat4(0.24116512, -0.027762027, -0.07892771, 0.08300883, -0.14459084, 0.16296665, 0.20206772, -0.10650516, -0.053612966, -0.019416671, 0.16775261, 0.018756863, -0.019759353, 0.09758543, 0.09219067, -0.07762587) * go_7(0.0, -1.0); - result += mat4(0.3452296, -0.07067198, 0.06422045, 0.13155955, 0.060322404, 0.12293414, 0.085371755, 0.013145733, 0.021468991, -0.08740066, -0.05150557, 0.0017597789, 0.05781498, -0.1253138, 0.10160926, 0.081946746) * go_7(0.0, 0.0); - result += mat4(0.21747942, 0.05843333, -0.012047285, 0.0143945, 0.050417833, 0.13075711, 0.07730175, 0.03058337, 0.05392032, 0.0049504, 0.09410922, 0.077864066, -0.27761143, 0.19255827, -0.05602973, -0.10863586) * go_7(0.0, 1.0); - result += mat4(0.060898524, 0.025534939, -0.13840592, -0.17008978, 0.06917189, 0.10667955, -0.022218984, -0.08950403, -0.041811015, 0.04873801, 0.022361884, 0.11236361, -0.08619616, 0.052363895, -0.067334324, -0.033025444) * go_7(1.0, -1.0); - result += mat4(-0.042240806, -0.024661668, 0.08281641, -0.15090732, 0.03939663, -0.48024875, 0.12383459, 0.00847132, -0.048645746, 0.05962171, 0.051179226, 0.053291485, -0.09575631, -0.18604031, 0.13747576, -0.07798861) * go_7(1.0, 0.0); - result += mat4(-0.09267193, -0.023898847, 0.03482824, -0.13826425, -0.030533936, 0.042931274, 0.12328654, -0.18639578, 0.021505859, 0.031717043, -0.011377033, 0.10264569, 0.20633227, 0.15019548, -0.10276995, -0.03404021) * go_7(1.0, 1.0); - result += mat4(0.0067748185, -0.045333087, 0.06628517, 0.07952359, 0.377962, 0.038299385, -0.25148076, 0.4536524, 0.020214327, 0.04979239, -0.030641848, 0.046101373, -0.0079926, 0.108430944, -0.09796959, 0.1038119) * go_8(-1.0, -1.0); - result += mat4(-0.029406806, 0.072334446, 0.022123687, 0.08545978, 0.30683488, 0.32336175, -0.14155352, -0.06771534, 0.21881369, -0.2728478, 0.0131929945, 0.1249936, 0.23289062, -0.18290988, 0.010310256, 0.11861345) * go_8(-1.0, 0.0); - result += mat4(0.027953703, 0.073590145, 0.02238552, 0.1476334, 0.46412572, 0.14282753, -0.2055284, 0.09381273, 0.013368477, -0.09163343, -0.13962074, -0.105282374, 0.18048023, 0.03644643, -0.12064934, -0.11526959) * go_8(-1.0, 1.0); - result += mat4(0.05415639, 0.07184316, -0.011418431, -0.14603631, -0.005712874, 0.33886433, -0.4437405, 0.52518994, 0.029169478, 0.014225477, -0.09749242, 0.026564758, -0.09243948, 0.3411153, -0.15276046, 0.13885602) * go_8(0.0, -1.0); - result += mat4(-0.13179792, 0.11303015, -0.005659832, 0.0495578, 0.45504448, 0.03121104, 0.1903991, -0.09310048, 0.13010967, -0.019401446, 0.0953637, -0.25050372, -0.06406876, 0.5178289, -0.34411502, -0.06919028) * go_8(0.0, 0.0); - result += mat4(0.031116927, 0.072885044, 0.11424937, -0.047346286, 0.33709186, -0.20117842, -0.23911083, -0.30970326, -0.04088044, 0.06531277, -0.019288296, 0.06505624, -0.078067645, 0.20768233, -0.2638028, -0.13144188) * go_8(0.0, 1.0); - result += mat4(0.0812348, 0.06349487, -0.17988878, -0.02852194, 0.059573334, 0.3233257, -0.1813735, 0.37739483, -0.09754084, 0.043669134, 0.035959195, 0.028268807, 0.015971994, -0.12362012, 0.011130124, 0.10216959) * go_8(1.0, -1.0); - result += mat4(0.025508206, -0.0017794537, -0.06324225, -0.039382067, 0.30045873, -0.03350253, 0.029575098, -0.08940838, -0.032080725, 0.029590603, -0.0636569, -0.09560069, 0.1283642, 0.09345751, 0.03092932, 0.31801865) * go_8(1.0, 0.0); - result += mat4(-0.08508891, -0.101727426, 0.010277601, -0.09014133, 0.21784091, 0.0032526671, -0.18604313, -0.19015044, 0.044027336, 0.06214586, -0.15488164, 0.074756585, 0.047933225, 0.060538378, -0.20783846, -0.17990802) * go_8(1.0, 1.0); - result += mat4(0.050202876, 0.068000734, -0.05597999, -0.107340395, -0.05106825, -0.07440473, 0.10334328, 0.048090067, 0.02267572, -0.01718865, 0.09558852, -0.019551268, 0.0122104725, 0.06849581, 0.13136277, 0.056046043) * go_9(-1.0, -1.0); - result += mat4(0.10179043, -0.1346316, -0.05625975, 0.064565465, -0.24567048, 0.01661977, -0.07925665, 0.089285515, -0.17426836, -0.021294959, -0.112046815, -0.036618948, -0.2890717, -0.11956207, -0.12531126, 0.011180939) * go_9(-1.0, 0.0); - result += mat4(0.034729242, 0.040229492, -0.14337364, 0.033395376, -0.05362909, -0.010760589, -0.120462045, -0.04566971, -0.014505674, -0.13010857, 0.06650368, 0.22399758, 0.0011478274, 0.31380257, -0.098360695, 0.3103241) * go_9(-1.0, 1.0); - result += mat4(0.07292625, -0.09650069, 0.024558121, 0.0038701475, -0.048648812, -0.11551284, -0.12553161, -0.070189424, -0.015313189, 0.11731657, -0.05684681, -0.122708976, -0.15636124, -0.10576856, -0.01784137, 0.11355775) * go_9(0.0, -1.0); - result += mat4(-0.085779384, -0.14834896, -0.004278568, 0.102670394, -0.033849873, 0.1167764, -0.08831004, 0.01451672, -0.10756733, 0.116508365, -0.0680979, 0.24541026, -0.46215978, 0.09831405, -0.29406315, -0.13312787) * go_9(0.0, 0.0); - result += mat4(-0.04890994, -0.0010270716, -0.0493961, 0.08571931, -0.2060056, -0.074589, -0.056876414, -0.09493244, -0.3475966, -0.19617519, 0.029908076, -0.26831284, -0.15213276, 0.24431612, 0.29210028, 0.33486506) * go_9(0.0, 1.0); - result += mat4(0.043298867, -0.11209959, 0.022670524, 0.034038253, -0.063305944, 0.09008408, -0.069086686, 0.011726238, -0.10128779, 0.033240944, -0.18289983, -0.13590051, -0.11921194, 0.05528857, -0.23413198, 0.022554636) * go_9(1.0, -1.0); - result += mat4(-0.17930742, -0.01053119, -0.11175181, -0.30124366, -0.081431575, -0.09975408, -0.17038622, -0.08534343, -0.09969939, 0.2104658, -0.1172696, 0.1381588, -0.24914245, 0.039404184, 0.17355275, 0.119629845) * go_9(1.0, 0.0); - result += mat4(-0.07351458, 0.093320936, -0.0058235745, -0.17790769, 0.0693919, -0.23018666, -0.17459835, -0.07898885, 0.04704188, 0.19931187, 0.089028046, 0.34191388, 0.17239423, -0.8590941, 0.22069067, -0.13371286) * go_9(1.0, 1.0); - result += mat4(-0.021659652, 0.0596343, 0.09809217, -0.114521354, -0.03228968, 0.0021232646, 0.0024843607, 0.029243223, -0.030308204, 0.106703326, 0.14143166, -0.022322292, 0.011018205, -0.07935689, 0.004183473, 0.0076698516) * go_10(-1.0, -1.0); - result += mat4(-0.074400805, -0.11910534, 0.111161605, -0.032100126, 0.16561785, 0.13518748, 0.0345863, 0.0047545154, 0.08485281, 0.14942096, -0.042899903, 0.23645137, 0.23227501, 0.05083922, -0.026636956, 0.05403472) * go_10(-1.0, 0.0); - result += mat4(-0.026513461, -0.049109407, 0.09202237, 0.030235946, -0.17342173, -0.030104237, 0.091110766, -0.13734627, -0.16028439, 0.07546626, 0.18115082, 0.01043653, 0.04634011, 0.021617658, 0.042169586, -0.059248786) * go_10(-1.0, 1.0); - result += mat4(0.01128519, -0.11491087, 0.0907083, 0.1081566, -0.05466786, 0.15445654, 0.1315062, -0.019771684, 0.029632833, 0.055743653, 0.19378667, 0.13188277, 0.06950097, 0.078313515, -0.006067791, 0.01022987) * go_10(0.0, -1.0); - result += mat4(0.068262294, -0.060233478, 0.19918768, 0.17618087, 0.21149434, 0.11928132, 0.11870651, 0.02212344, -0.03266901, -0.118995406, 0.04804373, -0.015892304, 0.037071034, -0.00253787, -0.13720432, -0.07072093) * go_10(0.0, 0.0); - result += mat4(-0.14402227, 0.063517705, 0.079267904, 0.14983714, -0.12627459, 0.14174753, -0.1501261, 0.09006676, -0.24451745, 0.09123295, -0.05026607, 0.26328164, -0.038312912, 0.037259288, 0.019184643, -0.08652255) * go_10(0.0, 1.0); - result += mat4(-0.00668816, -0.10541211, -0.14581864, -0.2055832, -0.14783718, -0.021327376, 0.11329728, 0.10558466, -0.029225608, 0.07326217, 0.07498944, 0.07972432, 0.074004084, 0.031630237, 0.019151106, -0.009357146) * go_10(1.0, -1.0); - result += mat4(-0.018653547, 0.21787739, -0.17462632, -0.13148524, 0.11200567, 0.14532433, -0.13228138, 0.32105228, -0.10342311, -0.1822981, 0.11211725, -0.19741476, 0.0052198726, -0.08411603, 0.19707179, 0.07867219) * go_10(1.0, 0.0); - result += mat4(-0.015224949, -0.026501905, -0.022805678, -0.078470066, 0.0018121749, 0.03429563, 0.0071328436, 0.10200316, -0.10026459, 0.1610249, 0.08618862, -0.047482144, -0.035351157, -0.041184757, 0.034339007, 0.2878356) * go_10(1.0, 1.0); - result += mat4(0.009565796, -0.06341882, -0.1307022, 0.046785817, -0.11754792, 0.02504307, -0.08451268, -0.012885796, -0.06434744, 0.026688384, 0.19744295, -0.088847496, -0.020427136, 0.06386265, 0.1892719, 0.05393389) * go_11(-1.0, -1.0); - result += mat4(0.21420592, -0.12004367, -0.03872922, 0.23882823, -0.16208404, -0.080903426, -0.06846177, -0.07784802, -0.11628542, 0.28339043, 0.11626733, 0.08149339, -0.14976558, -0.072704576, 0.14271235, -0.051280484) * go_11(-1.0, 0.0); - result += mat4(-0.15804291, -0.083788745, 0.0358282, -0.23663841, -0.051368468, 0.007168362, -0.02854082, 0.051676966, -0.11432305, 0.17955177, 0.24253303, 0.06784164, 0.011659685, 0.025066586, -0.014875205, 0.16516766) * go_11(-1.0, 1.0); - result += mat4(-0.0017364305, 0.1752645, 0.1687761, 0.04750503, -0.09075856, 0.03463299, -0.1513477, 0.115331, 0.079649396, 0.039891604, -0.08449415, 0.07545372, -0.17591736, -0.116043635, 0.06824991, -0.079872) * go_11(0.0, -1.0); - result += mat4(-0.09101071, 0.18421331, -0.112927675, -0.32690185, -0.10048348, 0.040243298, 0.017532872, 0.21467596, 0.1523314, -0.20462959, -0.050985396, 0.13271794, -0.0061959573, 0.16391513, 0.049040224, 0.071009435) * go_11(0.0, 0.0); - result += mat4(0.014453387, 0.009315947, -0.069824345, 0.044752672, 0.07383553, -0.019049881, -0.17780595, 0.07198892, 0.115621634, 0.092388846, 0.03363379, 0.087414615, -0.08053186, 0.3045319, 0.08416612, 0.0844172) * go_11(0.0, 1.0); - result += mat4(-0.05759418, -0.012829334, 0.08718162, -0.15908475, -0.028479114, 0.032751795, -0.1781953, -0.04286176, -0.14323612, -0.07065428, -0.009661816, 0.01967103, -0.061163872, 0.1315325, 0.12270872, 0.25242472) * go_11(1.0, -1.0); - result += mat4(-0.15057954, 0.18370065, 0.016787117, -0.005158566, 0.053748388, -0.05377017, 0.05180913, 0.0602571, -0.18005271, 0.021457683, 0.13747539, -0.17785007, 0.07033052, -0.14811805, -0.08603062, 0.26217365) * go_11(1.0, 0.0); - result += mat4(-0.039533652, 0.18171355, -0.029857125, 0.092238694, -0.22026634, -0.09841343, -0.093978934, -0.12595356, 0.04279683, 0.15560903, 0.07057147, 0.010393603, -0.2277498, -0.25551313, -0.111277476, 0.017418556) * go_11(1.0, 1.0); - result += vec4(0.09888859, -0.11624722, -0.026914198, -0.01584398); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!SAVE conv2d_19_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.002193192, -0.042261805, 0.07109948, 0.14923841, -0.13248461, 0.080073096, 0.011535388, -0.033014186, -0.02179611, -0.05481589, 0.013205004, -0.06432557, -0.032458954, -0.17774436, -0.09197118, 0.08036731) * go_0(-1.0, -1.0); - result += mat4(-0.035622098, -0.07965359, -0.06034561, -0.19035944, 0.021909773, 0.0119863525, -0.07859594, 0.24245961, 0.030365624, -0.042610373, -0.048347555, 0.07317682, -0.12780792, 0.11597661, -0.12042358, 0.088652216) * go_0(-1.0, 0.0); - result += mat4(-0.06956494, -0.079655364, -0.10770752, -0.15179706, -0.0039742943, 0.110173285, -0.013177503, 0.03203005, 0.14259651, -0.102476425, -0.117107645, 0.12503904, -0.26890123, -0.0033093086, -0.1048431, 0.1542063) * go_0(-1.0, 1.0); - result += mat4(0.032727882, 0.078874804, -0.14322414, -0.1446762, -0.12953681, 0.0126853995, 0.25832146, 0.084545664, -0.1504443, -0.14652349, 0.10996791, 0.09425049, 0.04875598, -0.26126033, -0.076916106, -0.026861066) * go_0(0.0, -1.0); - result += mat4(0.04531922, -0.103644244, -0.094877385, 0.27728295, -0.02814035, 0.35444373, -0.3085985, 0.074895315, 0.049684495, -0.08211759, -0.04192221, -0.104108155, -0.08078257, -0.04917361, 0.04671215, -0.028015908) * go_0(0.0, 0.0); - result += mat4(0.22582525, -0.17485921, -0.083214, 0.14045434, 0.10126328, 0.08546109, -0.018187093, 0.0076931156, 0.014990203, -0.13237172, 0.026328612, -0.08460973, -0.044912193, 0.0141547, -0.2057187, 0.027005015) * go_0(0.0, 1.0); - result += mat4(0.07025283, 0.03244863, -0.037114605, 0.058472943, 0.00927378, 0.02573656, 0.064623125, 0.25351602, -0.033965386, -0.081859365, 0.021902164, -0.059646487, -0.08386151, 0.0044531566, -0.07981897, -0.0052931313) * go_0(1.0, -1.0); - result += mat4(0.040902656, 0.07454824, -0.16980127, -0.27911547, -0.10386623, 0.0704878, -0.16076146, -0.06865355, -0.029967673, -0.036783073, 0.06062345, 0.042351097, 0.0035419215, -0.10950948, 0.15142381, 0.25280622) * go_0(1.0, 0.0); - result += mat4(-0.009336759, -0.056630455, 0.07419643, -0.049459077, -0.059142366, 0.046070203, -0.018450886, 0.053808898, 0.041062888, -0.03562602, 0.060718, 0.0882974, 0.07710282, -0.061630193, 0.10763613, 0.05350342) * go_0(1.0, 1.0); - result += mat4(-0.020450486, -0.011880919, -0.007363816, 0.12051132, 0.060287032, 0.027351823, 0.027684, 0.065134645, 0.026344571, -0.01718191, 0.012091111, 0.10819656, 0.012489751, -0.055651907, -0.3052169, 0.23801135) * go_1(-1.0, -1.0); - result += mat4(-0.006679176, -0.021232704, -0.12289921, 0.0075646336, 0.030306183, 0.112274334, 0.11084893, -0.13184273, 0.043869425, -0.0031861656, 0.2694463, 0.11933495, 0.014888317, 0.37636602, -0.1779301, -0.032281462) * go_1(-1.0, 0.0); - result += mat4(-0.136952, -0.009426452, 0.11357073, -0.101462685, 0.0027537034, 0.08045252, -0.00045824054, 0.074634336, -0.03065803, -0.21796846, 0.09635278, 0.045298785, -0.098372094, -0.027023448, 0.14444962, 0.082249895) * go_1(-1.0, 1.0); - result += mat4(-0.041647006, -0.13523813, 0.23530544, 0.073069185, 0.025022307, -0.16954692, 0.010666242, -0.07538101, -0.06198965, 0.17912138, -0.087928206, 0.010304168, 0.144178, -0.1657585, 0.009903313, 0.20653883) * go_1(0.0, -1.0); - result += mat4(0.15094416, -0.036872182, 0.10671736, -0.13114278, -0.014813208, -0.014073636, 0.16108423, -0.13213168, -0.09114641, 0.050591763, 0.034805253, 0.14984289, -0.00083991815, 0.2592055, -0.11146767, 0.09284067) * go_1(0.0, 0.0); - result += mat4(-0.03443615, -0.009632173, -5.0834158e-05, 0.032840393, -0.04626959, 0.0214075, -0.067959234, 0.018600805, 0.07243428, -0.11371777, 0.07108997, 0.16970424, -0.17274366, -0.022495182, -0.10284114, -0.13287334) * go_1(0.0, 1.0); - result += mat4(-0.097537555, 0.13504034, 0.077744655, 0.012292173, -0.0013754322, 0.0159031, -0.010271781, -0.11714066, -0.08074134, -0.11793299, 0.17228343, 0.04485966, 0.26133835, 0.083562106, 0.13605748, 0.07842156) * go_1(1.0, -1.0); - result += mat4(0.101663284, 0.018784977, 0.18387516, 0.0698937, 0.1262871, -0.029016716, -0.017629897, 0.09679718, -0.16987988, -0.112552784, -0.17010437, 0.10333196, 0.089143276, 0.06880237, -0.07407336, -0.024248788) * go_1(1.0, 0.0); - result += mat4(-0.070928305, -0.05896541, -0.021075577, -0.0938322, 0.03576662, -0.12959592, -0.05424325, -0.09540346, -0.17149144, 0.15382169, 0.036050767, 0.022187999, 0.08186773, 0.06654187, -0.043740872, 0.015940702) * go_1(1.0, 1.0); - result += mat4(-0.05999628, -0.10346444, -0.03163929, 0.014764566, -0.042340584, 0.04377052, 0.08964147, 0.023697559, -0.11745726, 0.019980576, -0.060001764, -0.05739168, -0.03326478, 0.042291407, 0.01029446, -0.0006783697) * go_2(-1.0, -1.0); - result += mat4(0.039875668, 0.03890321, 0.044958238, -0.0637908, 0.057945263, -0.18010783, -0.08934327, -0.06983097, -0.05463022, 0.03769058, -0.03902542, 0.11251774, 0.032007236, -0.06351825, -0.027675375, 0.043577235) * go_2(-1.0, 0.0); - result += mat4(0.056573648, -0.07795712, -0.14080168, -0.015329227, 0.05720495, -0.0659066, 0.034519438, -0.10344216, 0.023347745, 0.06635434, 0.08761089, -0.020288715, 0.045780413, 0.06769359, -0.020654215, -0.026493737) * go_2(-1.0, 1.0); - result += mat4(-0.15549617, 0.22154036, -0.035022356, 0.037524547, 0.049251348, -0.031591, -0.036235563, 0.04339102, -0.03156591, 0.030291421, 0.49239767, 0.25064838, 0.18197893, -0.16288568, 0.0930576, -0.03423282) * go_2(0.0, -1.0); - result += mat4(-0.11033686, -0.04570853, 0.0016308138, 0.07834853, 0.07600955, -0.07968259, 0.14970061, 0.062669896, 0.09796333, -0.068940535, 0.1278605, -0.20915642, -0.009881375, -0.06508105, -0.023221906, 0.063692674) * go_2(0.0, 0.0); - result += mat4(0.07646927, 0.048639037, 0.13715656, 0.04969283, 0.04496575, 0.025304018, 0.023178697, -0.005805055, -0.073303185, 0.12425092, -0.062946446, -0.05067681, 0.053393174, -0.06318117, -0.029427962, -0.162013) * go_2(0.0, 1.0); - result += mat4(-0.03539342, -0.08837224, -0.058332633, -0.033148028, -0.039964523, 0.047577832, -0.015021742, 0.053788386, 0.24229313, -0.005967871, -0.06950038, -0.01753915, 0.05407492, -0.1369046, 0.034026932, -0.072949685) * go_2(1.0, -1.0); - result += mat4(0.014240931, -0.114709415, 0.013380771, 0.14814466, -0.21180479, 0.07065372, -0.07084882, -0.13009402, 0.25793126, 0.17758748, 0.1647275, 0.009904283, 0.06412116, 0.028754344, -0.011050801, 0.031021936) * go_2(1.0, 0.0); - result += mat4(0.009352941, 0.113679856, 0.035876002, -0.09654438, -0.07531333, -0.018089507, 0.072006464, -0.009339618, -0.07180257, -0.00043349672, -0.0071172966, -0.00748114, 0.15425408, -0.111805834, 0.047978718, 0.0840089) * go_2(1.0, 1.0); - result += mat4(-0.024762075, 0.05111211, 0.09316579, -0.009603998, 0.04225388, -0.101240866, 0.0008120324, 0.06027124, -0.08961942, 0.05418951, 0.12315066, 0.037511464, 0.078298986, 0.006887005, -0.022529332, -0.011942842) * go_3(-1.0, -1.0); - result += mat4(-0.22837932, -0.052757703, 0.52270764, 0.13333929, 0.052859746, 0.08084642, 0.01186978, -0.043609403, 0.02409766, -0.064920336, 0.02343404, -0.10359331, 0.07920226, -0.057824913, 0.05472609, -0.02210887) * go_3(-1.0, 0.0); - result += mat4(0.12200674, -0.07222997, -0.0077480553, 0.031614456, -0.060068175, -0.09296547, -0.02697552, -0.007998561, 0.0062316097, 0.016119024, -0.054522965, 0.0858926, 0.012595754, 0.02239382, -0.04811345, -0.034084607) * go_3(-1.0, 1.0); - result += mat4(-0.11571872, -0.10716141, 0.09136876, -0.048269544, 0.2036012, -0.009964111, -0.164098, 0.0062285536, -0.160461, -0.10802773, 0.034254774, -0.09396949, -0.035045605, -0.0038658823, -0.020748926, -0.058969058) * go_3(0.0, -1.0); - result += mat4(-0.029839784, 0.035316005, 0.12637286, -0.011018316, -0.24942681, 0.006155271, -0.064659946, 0.03878479, 0.007293056, -0.14911444, 0.09102551, 0.2214609, 0.2075301, -0.1415137, 0.038262144, 0.020079322) * go_3(0.0, 0.0); - result += mat4(0.03954482, 0.00161835, 0.24248002, -0.01908119, -0.11612393, -0.09628277, -0.18482316, -0.0037283704, -0.10087301, -0.05704098, 0.057598826, -0.037766546, 0.038450222, -0.05250815, -0.020858904, -0.04754174) * go_3(0.0, 1.0); - result += mat4(-0.025481295, -0.041959614, 0.040118624, -0.09142045, -0.15421867, -0.0932622, 0.020308455, 0.11280108, 0.008041164, -0.09340578, 0.0014632398, 0.012679065, 0.024054702, 0.0037555385, 8.470187e-05, -0.0026168944) * go_3(1.0, -1.0); - result += mat4(0.092563815, -0.041739643, 0.113452666, -0.12697452, -0.14597544, 0.07041192, 0.0073921285, 0.11001561, 0.05780155, 0.081369705, 0.01859894, -0.009346777, 0.08703558, 0.065806575, 0.06331098, -0.022295259) * go_3(1.0, 0.0); - result += mat4(-0.063127175, -0.0036738236, 0.07582986, -0.092346914, 0.04535636, -0.04299909, 0.02999664, 0.021044914, -0.117802285, 0.032623403, 0.016715014, -0.04867952, 0.032292146, -0.02733379, 0.019759627, 0.029224534) * go_3(1.0, 1.0); - result += mat4(-0.033157296, 0.06696175, 0.03564599, 0.042519007, 0.0424988, 0.075877026, -0.036232404, 0.05169811, 0.0034979465, 0.13048209, -0.052901644, -0.049846627, 0.0068034166, 0.01163485, -0.026329378, 0.038994797) * go_4(-1.0, -1.0); - result += mat4(-0.113001004, -0.106806695, 0.031668942, -0.006540794, -0.10414548, -0.15077831, -0.0052690995, -0.20494916, -0.037294906, 0.016445661, -0.05105855, 0.1396678, 0.06092325, -0.03662674, 0.085244715, 0.115935385) * go_4(-1.0, 0.0); - result += mat4(-0.030479306, -0.016440354, -0.055504587, 0.08523519, -0.09832142, -0.051361356, -0.01974164, 0.04646292, 0.13094828, 0.118371025, 0.01770395, -0.03144912, 0.036468696, 0.013719247, 0.075200096, -0.05179428) * go_4(-1.0, 1.0); - result += mat4(-0.11964952, -0.032451667, -0.12512554, -0.050573047, 0.030373964, 0.024024952, -0.13762453, 0.12840636, -0.04376352, 0.05668062, 0.037947364, -0.066112265, 0.0028260879, 0.030861724, 0.02219972, 0.035304546) * go_4(0.0, -1.0); - result += mat4(-0.2105805, 0.0863335, -0.0012344581, 0.019061513, -0.042461928, 0.119663686, -0.15733783, 0.01006595, 0.15633124, 0.01747602, -0.05381233, -0.09361219, 0.011560166, -0.015632732, 0.0494011, 0.055855803) * go_4(0.0, 0.0); - result += mat4(0.079113804, -0.089069344, -0.026545195, -0.0007340258, -0.077306196, -0.079094574, -0.052008536, 0.107602336, 0.03174382, 0.0072695096, -0.030184424, -0.07496981, -0.11374049, 0.240142, 0.18232502, -0.1921795) * go_4(0.0, 1.0); - result += mat4(0.046652786, 0.13005471, -0.001907763, -0.02354485, -0.08044523, 0.004347535, -0.09486797, 0.13142692, -0.039280824, -0.044051215, 0.019280003, 0.0763723, -0.07783228, 0.12394234, 0.0109562045, 0.114450656) * go_4(1.0, -1.0); - result += mat4(-0.12061396, 0.19032274, -0.02040124, -0.079091914, -0.16042966, 0.16574529, -0.07471835, 0.11175853, 0.021889772, -0.14593785, -0.0067855683, -0.032042842, 0.03092691, -0.103853814, -0.07564891, -0.033649214) * go_4(1.0, 0.0); - result += mat4(0.019420557, 0.08762085, 0.09729997, 0.046883028, -0.090403445, 0.13566826, -0.0060749603, -0.016417375, 0.00051667896, -0.10722795, -0.042404942, -0.029264381, -0.2637368, 0.04404824, -0.17676714, -0.03898909) * go_4(1.0, 1.0); - result += mat4(-0.017937362, -0.02021628, -0.011221574, -0.010981946, 0.077117115, 0.058008883, -0.02370349, -0.033171684, -0.04370235, 0.013696816, 0.04718911, 0.038686793, -0.05075274, -0.078141876, 0.01710806, -0.016280815) * go_5(-1.0, -1.0); - result += mat4(-0.0051029576, 0.028884215, 0.063299954, -0.12817588, 0.09635649, 0.01685252, 0.083583646, -0.07350102, -0.04044839, -0.065033, -0.10837623, -0.11883335, -0.0937995, -0.091614224, -0.023430234, -0.034762863) * go_5(-1.0, 0.0); - result += mat4(-0.037467998, -0.004959213, 0.039550744, -0.048472937, -0.053499777, -0.07164779, 0.081630275, -0.051635183, 0.04008334, -0.15719992, -0.10567595, 0.033473466, -0.033921987, -0.009474822, -0.029737448, 0.19411598) * go_5(-1.0, 1.0); - result += mat4(0.004936125, 0.04879588, -0.015972376, -0.0470118, 0.17473851, 0.09195339, 0.011075449, -0.06017266, 0.02264737, 0.18988189, 0.025514647, 0.09830298, 0.1988627, 0.0037007018, -0.10575926, -0.11683566) * go_5(0.0, -1.0); - result += mat4(-0.024983667, 0.1890932, 0.06626616, 0.050050464, 0.0027461515, 0.09686733, 0.17407647, -0.045637608, 0.03317272, 0.12532662, -0.044147827, 0.056859504, -0.094031505, 0.083065115, 0.028045049, 0.07287068) * go_5(0.0, 0.0); - result += mat4(-0.017450443, 0.0665469, 0.046039972, 0.0117158815, -0.027863976, -0.13173814, 0.120125115, 0.10620725, -0.019648628, -0.10245001, 0.07893902, -0.01169063, -0.002885391, -0.1618197, -0.019263452, 0.025576912) * go_5(0.0, 1.0); - result += mat4(0.062924445, 0.005899955, 0.080698565, 0.026559917, -0.015615001, 0.064574406, 0.010435832, -0.0012439915, -0.0032333238, -0.008854669, 0.017256236, 0.06180784, 0.050801486, -0.07340448, -0.073562406, -0.07342449) * go_5(1.0, -1.0); - result += mat4(-0.026997557, 0.017725596, 0.023694778, -0.06696343, 0.052086487, -0.0663138, -0.061097533, 0.0035091927, -0.0061530913, 0.16345571, -0.07810821, 0.06081369, -0.19654888, 0.027318882, -0.03747162, -0.06445535) * go_5(1.0, 0.0); - result += mat4(0.005569213, 0.08716896, 0.009564092, -0.031010542, -0.109795704, 0.025457779, -0.041763328, 0.056024272, -0.033540543, 0.07476806, -0.017657815, -0.041327264, -0.10583014, 0.09859916, -0.10492397, -0.12680435) * go_5(1.0, 1.0); - result += mat4(0.042307783, -0.20138371, -0.054159872, -0.008080132, -0.0049409764, -0.123782106, -0.10074382, -0.007782075, 0.021129344, 0.12963773, 0.007223677, 0.033266656, 0.07734324, 0.07292024, 0.026465673, -0.1153067) * go_6(-1.0, -1.0); - result += mat4(0.052287392, -0.109536976, 0.023995534, -0.01575321, 0.03393777, 0.1337645, -0.07153707, -0.025216443, -0.041070998, 0.07217233, -0.11914641, -0.26890114, 0.02313167, 0.23271154, 0.06703406, 0.09533676) * go_6(-1.0, 0.0); - result += mat4(0.07546838, 0.011592155, -0.046075065, -0.06642069, -0.004402625, -0.0652564, -0.017831367, -0.09308748, -0.051539812, 0.04005139, -0.11150738, -0.08175713, 0.014604422, -0.007214639, 0.098779745, -0.018378364) * go_6(-1.0, 1.0); - result += mat4(0.006603026, -0.014845266, 0.0026208498, -0.008357444, 0.0073595014, -0.14074865, -0.030904908, 0.024293974, 0.17369966, -0.048660155, -0.048974954, -0.089408986, 0.026791139, 0.22706681, -0.036981657, -0.02119953) * go_6(0.0, -1.0); - result += mat4(-0.05502304, 0.01853336, 0.10915187, -0.112274334, -0.063042596, 0.0043888465, 0.12429806, -0.06837296, -0.09884471, 0.26187462, -0.078214765, 0.105056636, 0.029996438, -0.131672, -0.1358863, 0.054225788) * go_6(0.0, 0.0); - result += mat4(0.0068557984, 0.033702783, 0.008050412, -0.037766565, -0.036427297, -0.046515323, 0.051857993, -0.10452691, -0.006243185, -0.039711174, 0.056767575, -0.038228292, -0.018759085, 0.119737215, 0.039318025, -0.07483938) * go_6(0.0, 1.0); - result += mat4(0.045509513, -0.14236167, -0.02726853, -0.01493912, 0.009043883, 0.055116396, 0.112568274, -0.045689043, 0.08086583, 0.022914976, 0.036111295, -0.036710598, 0.017608138, 0.118518315, 0.026354419, 0.012590016) * go_6(1.0, -1.0); - result += mat4(-0.12666366, 0.06377415, -0.041047554, 0.031393208, 0.033202175, 0.01293478, 0.0042672073, 0.045895174, -0.08109056, 0.2827398, -0.10949624, -0.029522505, -0.19850352, 0.038940806, -0.08525916, -0.16344538) * go_6(1.0, 0.0); - result += mat4(0.0008515389, -0.046620138, -0.028038643, -0.025426185, 0.05606938, 0.0061229076, 0.015445743, 0.0066051655, 0.03507471, 0.043772116, -0.05389813, -0.11928827, 0.005507504, 0.116020925, 0.03874032, 0.09864238) * go_6(1.0, 1.0); - result += mat4(0.05335771, 0.07025042, 0.024683822, -0.07459517, 0.013310433, -0.022622144, -0.038584214, -0.01572024, -0.013304405, 0.06437439, 0.008714939, 0.06922048, -0.06816085, 0.0034682539, -0.0541437, 0.010775999) * go_7(-1.0, -1.0); - result += mat4(0.061101787, 0.008284362, 0.021083428, -0.053963277, -0.06960679, -0.11620091, -0.014979146, 0.02621252, -0.0093596075, 0.065604895, -0.17972286, -0.085858494, 0.045264337, -0.03866745, 0.084133364, 0.077588424) * go_7(-1.0, 0.0); - result += mat4(0.21129635, -0.039057773, -0.07199796, 0.027164709, 0.031389885, -0.22101812, 0.15019675, -0.033421822, -0.04708109, -0.15552072, -0.19427232, -0.027601253, -0.032169215, -0.044620696, -0.0030545713, -0.084676005) * go_7(-1.0, 1.0); - result += mat4(0.06694448, -0.21478915, -0.052227136, -0.11007371, 0.01641538, 0.08138693, 0.09004288, 0.1469811, 0.13340457, -0.020153875, -0.03699176, -0.076706395, -0.017644217, -0.0675251, -0.0748928, 0.09038724) * go_7(0.0, -1.0); - result += mat4(0.028736364, -0.024210151, 0.06236118, 0.066564396, 0.003933215, -0.01394002, -0.074326284, -0.01448387, -0.071425505, -0.021284256, -0.001693088, -0.0066186395, -0.036212854, 0.077177964, -0.06398725, 0.106878705) * go_7(0.0, 0.0); - result += mat4(0.1363909, -0.009820995, -0.12983248, -0.0037245068, -0.001204842, -0.058121014, -0.09392078, 0.02885977, -0.020526886, 0.07213154, -0.029909864, 0.16680436, 0.039788317, 0.10533643, 0.057742797, -0.107928954) * go_7(0.0, 1.0); - result += mat4(0.11645586, -0.14840747, -0.026914807, -0.05374474, 0.06790178, -0.2556139, -0.097340286, 0.15263987, -0.018530536, 0.077240005, -0.1148909, -0.14282732, 0.051183544, -0.007965009, -0.2971616, -0.05872022) * go_7(1.0, -1.0); - result += mat4(0.014901608, -0.12677886, -0.064670384, -0.1623187, -0.047429133, -0.058445014, -0.119580954, 0.031700145, 0.088471524, 0.08435877, -0.1198159, 0.10743294, 0.018416684, -0.18108702, -0.06256368, 0.010405356) * go_7(1.0, 0.0); - result += mat4(0.031033225, -0.08165527, 0.015933517, -0.09163275, 0.0065211756, -0.14749087, -0.12069732, -0.03169653, -0.0068636923, -0.0047599906, -0.095241904, 0.028336, 0.06777312, 0.14869638, -0.11753921, -0.010243467) * go_7(1.0, 1.0); - result += mat4(0.049922884, 0.027459482, 0.035840012, -0.08961862, -0.3617356, -0.07949275, 0.21600586, 0.09545638, -0.034149855, 0.048127465, 0.096379556, -0.04866008, 0.11773822, 0.055485725, 0.12827916, -0.2618736) * go_8(-1.0, -1.0); - result += mat4(-0.041410808, 0.11304813, -0.03779883, 0.030872481, -0.116939746, 0.29407567, 0.1895875, -0.21217696, -0.025539953, -0.178478, 0.031897403, 0.16665661, -0.14774802, -0.005059717, 0.11978572, 0.18841389) * go_8(-1.0, 0.0); - result += mat4(-0.1750856, 0.07806208, 0.066590786, 0.06520769, 0.29628152, 0.06723724, -0.07372221, -0.13840312, 0.0066342093, -0.024352796, -0.11091368, -0.034200963, -0.05941726, 0.17785501, -0.09722458, 0.03481286) * go_8(-1.0, 1.0); - result += mat4(0.00040230202, 0.1386564, 0.0020965475, -0.032151967, -0.28119123, 0.23871318, 0.324673, 0.3079342, -0.114703484, 0.076918595, -0.07456807, -0.03860123, -0.27765638, 0.30093232, 0.040816836, 0.045392167) * go_8(0.0, -1.0); - result += mat4(0.11630024, 0.050958935, -0.07327745, -0.045112975, 0.020630276, 0.018679252, 0.1423691, -0.4634024, -0.05014015, -0.00094824797, 0.19475108, -0.112788685, -0.406272, 0.24608147, -0.04221695, -0.09761967) * go_8(0.0, 0.0); - result += mat4(-0.13764246, 0.0109156305, -0.016086185, 0.06516645, 0.14907628, 0.028398056, 0.19633707, -0.1179449, -0.064515114, 0.05141375, 0.018716468, 0.032537717, 0.07569254, -0.07768021, 0.044751454, -0.06309405) * go_8(0.0, 1.0); - result += mat4(-0.054568585, 0.036049586, 0.04581054, 0.03871819, 0.02642328, -0.17473157, 0.30538717, 0.04895256, -0.023432204, 0.012341845, 0.05849998, -0.09285376, 0.23424025, -0.012123604, 0.09310379, -0.10899807) * go_8(1.0, -1.0); - result += mat4(0.066122256, 0.103364795, 0.03855794, -0.14957069, -0.02184927, 0.0037020843, 0.3018487, -0.05228745, 0.057319008, -0.0108498, 0.028988574, 0.020548582, -0.11686366, -0.10226389, 0.17450128, 0.039843515) * go_8(1.0, 0.0); - result += mat4(0.08857053, 0.038873494, 0.108145475, 0.09587017, -0.085907966, -0.11013238, 0.17119284, -0.19787164, 0.09369054, -0.07448185, 0.028189272, 0.04458233, 0.06706104, -0.05152573, -0.01146787, -0.12001618) * go_8(1.0, 1.0); - result += mat4(0.081574865, -0.096744575, -0.047358852, 0.07842103, 0.04740539, -0.033352945, -0.01932972, 0.026056414, 0.116778195, 0.028540714, -0.13266987, -0.044292487, -0.023912204, -0.05143723, -0.014896608, 0.08691235) * go_9(-1.0, -1.0); - result += mat4(0.029974401, 0.07826115, 0.012582203, -0.12258423, -0.056660995, 0.1364201, 0.08420669, 0.01398612, -0.054994494, 0.13456269, -0.23503278, 0.07141847, -0.17400408, 0.102240436, 0.050492387, 0.08342294) * go_9(-1.0, 0.0); - result += mat4(0.025409801, 0.086305864, -0.013415441, 0.0124872485, -0.07219617, -0.06147636, 0.14614947, -0.007917027, 0.028016105, -0.03373043, -0.04327983, 0.32913202, -0.23671746, 0.09732567, -0.024344943, 0.31546018) * go_9(-1.0, 1.0); - result += mat4(0.06274294, -0.035500124, 0.08802067, -0.1728613, 0.051944792, -0.11495953, 0.03541574, 0.134216, 0.061973106, 0.095198765, -0.03813752, 0.14200106, 0.0027543372, 0.20998913, -0.094535634, 0.09406227) * go_9(0.0, -1.0); - result += mat4(0.0076270825, 0.14375834, 0.14316, -0.03582052, -0.18776836, 0.007991479, -0.10832663, -0.07583232, 0.19121449, -0.048892863, 0.0946921, -0.19325319, -0.4052315, 0.4400987, -0.24938348, 0.21615021) * go_9(0.0, 0.0); - result += mat4(-0.12362299, 0.039931603, -0.08478432, -0.012379307, -0.020896608, 0.18871778, 0.16965918, 0.026814751, 0.09404892, -0.047387924, 0.18000565, -0.20733628, -0.3831496, 0.057409447, -0.039851133, 0.24510218) * go_9(0.0, 1.0); - result += mat4(-0.042880148, -0.0047551137, -0.038754776, -0.16235387, -0.046985667, 0.07773914, -0.029753178, -0.06291566, -0.01791831, 0.11552606, -0.14261088, -0.15359794, -0.09109301, -0.012595764, -0.08461014, -0.025527714) * go_9(1.0, -1.0); - result += mat4(0.255039, -0.10217798, -0.095983505, -0.017773012, -0.010830123, -0.07421503, -0.00790136, 0.061961416, 0.2586941, 0.06726082, -0.017994221, 0.0039037676, -0.18585049, -0.17850985, -0.007449256, 0.19001636) * go_9(1.0, 0.0); - result += mat4(0.05356769, -0.029177073, -0.08434892, 0.029534379, -0.052398793, 0.029921837, -0.0379641, 0.08815421, -0.221968, 0.16212873, -0.097800635, 0.24519077, -0.21568449, -0.026571743, -0.10243165, 0.07986918) * go_9(1.0, 1.0); - result += mat4(0.18844943, 0.06663736, 0.04584477, -0.07739072, -0.031664416, 0.17509162, 0.08357242, -0.06851353, -0.10531447, 0.021919714, -0.10942753, -0.10573077, -0.080552444, 0.06253443, 0.13151503, -0.05751824) * go_10(-1.0, -1.0); - result += mat4(0.039860394, 0.06234854, 0.008617753, -0.08483321, 0.11080039, 0.10351877, -0.08282614, 0.06154943, 0.14106143, 0.06457279, -0.17962457, 0.029614823, 0.009903236, 0.009901688, 0.103305794, 0.02708714) * go_10(-1.0, 0.0); - result += mat4(0.027971132, 0.05056228, 0.013335152, -0.012521623, 0.084620796, 0.11628125, 0.09929561, -0.12234751, -0.047538497, 0.0013551811, 0.17503466, -0.00334921, -0.026149869, 0.08016518, 0.054481603, -0.11211239) * go_10(-1.0, 1.0); - result += mat4(0.19577688, -0.21044904, -0.14313206, -0.06094966, -0.1886681, 0.11948046, 0.009925262, 0.03785866, 0.03016602, -0.16213451, -0.053890828, 0.14754774, -0.16607349, 0.17302231, 0.055442728, 0.049238298) * go_10(0.0, -1.0); - result += mat4(0.04471434, -0.0050029103, -0.18449697, 0.052078173, -0.10225465, -0.03991549, 0.10741103, -0.0675637, -0.025177147, -0.07212037, -0.15245865, 0.06767271, 0.13010895, 0.03414782, 0.1448519, 0.060772084) * go_10(0.0, 0.0); - result += mat4(-0.09659163, 0.05841198, -0.020265874, -0.02538125, -0.034956124, 0.22157271, 0.025889639, -0.059703574, -0.16175202, -0.0048997067, -0.08251995, 0.021943517, 0.19059642, -0.060173947, 0.14169931, -0.004315918) * go_10(0.0, 1.0); - result += mat4(0.03190849, -0.035605464, -0.048360586, -0.054231796, -0.021754144, 0.16556646, 0.06434827, 0.16989109, 0.027081858, -0.06712905, -0.05332741, -0.062786296, -0.025473801, 0.00897238, 0.07331544, -0.026036164) * go_10(1.0, -1.0); - result += mat4(0.15740165, -0.0967638, 0.024736421, -0.013693698, 0.05880455, 0.048251428, 0.052370075, -0.04718833, 0.0184399, -0.038662773, 0.049148683, 0.17221244, -0.13244401, -0.013218936, 0.09345994, 0.00024175165) * go_10(1.0, 0.0); - result += mat4(-0.0064187744, -0.08920148, -0.028549816, 0.122657515, 0.016403764, 0.068500996, -0.03360275, 0.036848415, 0.022613775, -0.00604402, 0.011191968, 0.071645975, 0.032942034, 0.117463835, 0.07408682, -0.077945456) * go_10(1.0, 1.0); - result += mat4(-0.18648334, -0.073990986, 0.1035806, 0.12201333, -0.056298703, -0.06899704, 0.041714784, 0.028813941, -0.0073693376, -0.07419694, -0.019242344, -0.10421339, 0.06319362, 0.18498407, -0.040080044, 0.06591159) * go_11(-1.0, -1.0); - result += mat4(0.13646284, -0.18635146, -0.21405141, 0.3289027, 0.02735292, -0.031064082, 0.042403057, -0.13922094, -0.08272541, 0.27857855, -0.052545693, 0.040461276, 0.029613057, 0.047729794, 0.02729621, -0.18001) * go_11(-1.0, 0.0); - result += mat4(0.045724448, 0.07671115, 0.00063955085, -0.07451751, 0.108605005, 0.014488281, -0.042488173, 0.03577726, -0.060789686, 0.17350988, 0.01799855, -0.036396112, 0.09922527, -0.109561004, -0.12339479, -0.01871202) * go_11(-1.0, 1.0); - result += mat4(0.098541364, -0.12245533, 0.03954003, 0.032259263, -0.25460467, -0.09109193, 0.09300678, 0.1111729, -0.049395096, -0.030045439, -0.04501885, 0.0046626283, -0.07657543, -0.01989507, -0.030266184, 0.115504675) * go_11(0.0, -1.0); - result += mat4(0.033603728, -0.16179675, 0.107685976, -0.08050177, -0.11150716, 0.05341631, 0.015662108, 0.06453596, -0.018119879, 0.015083476, -0.032303285, 0.27767318, -0.012072633, 0.103727765, -0.3075054, 0.015533518) * go_11(0.0, 0.0); - result += mat4(0.120855056, -0.14289914, -0.013416328, 0.045103997, 0.09407005, 0.017286362, -0.17081043, 0.11026251, -0.04768381, 0.18125318, -0.110247165, 0.098635495, 0.054526508, 0.10071292, -0.07749401, -0.031911418) * go_11(0.0, 1.0); - result += mat4(-0.04815596, 0.010112698, -0.060083788, -0.116119795, -0.024647452, -0.05370981, 0.07770194, 0.18795432, -0.05123155, 0.03802874, -0.14434499, -0.26080537, 0.035182375, -0.03626466, 0.029075956, 0.15624163) * go_11(1.0, -1.0); - result += mat4(-0.087888286, -0.067626335, -0.02074024, 0.028201623, 0.025920108, 0.013126538, 0.09747174, 0.0708168, -0.0031367023, -0.1304692, 0.009458206, 0.12585516, 0.27185202, 0.17740375, -0.028984897, -0.0134149995) * go_11(1.0, 0.0); - result += mat4(0.015343054, -0.04067552, -0.05452715, 0.037334464, 0.14018174, -0.059763853, 0.15759844, -0.13691196, 0.03412337, -0.035051815, -0.0491391, 0.03383003, -0.117697716, 0.025332684, 0.019727515, -0.04177984) * go_11(1.0, 1.0); - result += vec4(0.05828695, -0.16925837, 0.053835716, 0.04817042); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.18663658, 0.3184948, -0.03130499, 0.08619949, 0.1010918, -0.14248852, -0.19823664, 0.20816846, 0.1601186, 0.049822237, 0.19602141, -0.026865052, -0.0707687, 0.052736435, -0.044807665, 0.066063635) * g_0; - result += mat4(0.090361156, -0.14197296, -0.23846631, 0.030756485, -0.0624579, 0.0894411, -0.018925495, 0.09622091, -0.08767592, -0.22811596, -0.12307663, 0.053256057, -0.15243548, -0.037156895, -0.29896295, -0.13589491) * g_1; - result += mat4(-0.29185727, -0.03742425, 0.050431598, -0.05952872, 0.102163635, 0.04785122, -0.02358519, 0.16697437, 0.35186693, -0.19035606, -0.12011042, 0.004166742, -0.006959278, 0.06360376, 0.060225107, -0.15626898) * g_2; - result += mat4(0.17662838, -0.08894764, -0.14361143, 0.06789356, 0.07816827, 0.10883019, -0.037535142, 0.05493086, -0.041386984, -0.17820516, -0.06743507, 0.08163263, -0.00907744, 0.0041825743, -0.035713505, -0.09867839) * g_3; - result += mat4(-0.092638604, 0.0022278796, 0.12437326, 0.103134066, -0.27689874, 0.052095678, -0.042521577, -0.07290392, 0.14657746, -0.10676447, 0.035665326, -0.15043491, 0.0066268444, 0.247856, -0.10799263, 0.076561935) * g_4; - result += mat4(-0.014709424, -0.1234443, 0.09863729, -0.09065224, 0.03188603, 0.0851371, -0.18773592, -0.04526794, 0.04222761, 0.13524239, -0.0077108, 0.014710063, 0.0269728, 0.100834206, 0.00087144354, 0.017908119) * g_5; - result += mat4(0.065123245, 0.010967681, 0.27781358, -0.00086392177, -0.012103939, 0.21815085, -0.19618537, -0.21287219, -0.3108788, -0.0065051983, -0.10177379, 0.00486042, 0.06495405, 0.28793743, 0.1447245, -0.11581186) * g_6; - result += mat4(-0.19184732, 0.23525754, 0.14849417, -0.032214705, 0.06332956, 0.036836755, -0.17779079, 0.26069695, 0.017703978, -0.013938178, -0.0028144084, 0.024686655, 0.084200725, 0.0023977484, 0.0010214453, -0.11825634) * g_7; - result += mat4(0.114283256, -0.11113899, 0.0062027536, -0.11118651, -0.05354193, 0.0024898893, -0.10009308, -0.099993765, -0.09983121, -0.15856577, 0.13581747, 0.11929527, -0.15411879, 0.016686188, -0.15182848, 0.26796317) * g_8; - result += mat4(0.084827624, -0.08612916, 0.071429096, 0.17416593, -0.04714606, 0.0013476897, 0.013517696, 0.067101866, -0.14903635, 4.9428472e-05, 0.31473428, -0.2949479, -0.12335906, -0.13552824, 0.3479192, -0.19230734) * g_9; - result += mat4(0.028616413, -0.07255833, -0.021122474, -0.07113967, 0.11709503, -0.20123373, 0.08584415, -0.06978945, 0.03877887, 0.24208583, -0.18075196, 0.0062123733, -0.13526495, -0.04156013, -0.0016269569, -0.020975487) * g_10; - result += mat4(0.1310379, 0.055372015, -0.006403729, -0.11766523, -0.05418542, 0.03959835, 0.12431779, 0.15253036, -0.021798976, -0.06289866, -0.018096093, -0.021867894, 0.08258678, -0.19130546, -0.020614639, 0.09396607) * g_11; - result += mat4(-0.08746167, 0.072900996, 0.033214487, 0.04609681, -0.1540511, -0.097863495, -0.18814996, 0.07652809, -0.07314888, -0.12512076, 0.1748569, -0.090817355, 0.20444715, 0.056615118, 0.09610565, -0.25237694) * g_12; - result += mat4(-0.059253007, -0.30781618, 0.008390624, -0.016397322, -0.033560965, -0.039022774, 0.25333324, -0.1995156, -0.1036445, 0.050644662, -0.16967307, 0.1757263, 0.030297084, 0.046241727, 0.04354335, 0.1062731) * g_13; - result += mat4(0.2573244, -0.10674188, 0.089680746, 0.05325685, -0.15355112, -0.21602766, 0.3439777, 0.035753187, -0.0219718, -0.049062088, -0.08788193, -0.24782267, 0.07051089, -0.05783363, -0.02401024, -0.20907155) * g_14; - result += mat4(-0.33404592, -0.093173616, -0.2040588, 0.19875275, 0.12674141, -0.16908246, -0.2689318, 0.0823597, -0.032498408, 0.11139243, 0.020390712, 0.14647515, 0.113650456, 0.038491633, 0.15963453, -0.030297514) * g_15; - result += mat4(-0.04374134, -0.0129180765, -0.13164769, -0.07293398, 0.11262717, -0.15997183, 0.33422503, 0.073849976, -0.00015811941, 0.18877828, 0.07747786, -0.08188554, -0.18219465, 0.006220583, -0.011983187, -0.056153063) * g_16; - result += mat4(0.062033445, 0.07369542, -0.11406438, 0.14734034, 0.039975222, 0.07175253, 0.16200112, 0.14343244, -0.025669737, -0.24007507, 0.00080462516, -0.023895608, 0.23648714, -0.09611056, 0.21158028, 0.0735973) * g_17; - result += mat4(-0.08414368, -0.021285746, 0.0005669404, -0.10731338, -0.0064515774, 0.11334401, 0.03800766, -0.1455488, -0.1261212, -0.22332892, -0.0027348709, 0.2139515, -0.0738863, 0.17665327, 0.09825643, -0.13923496) * g_18; - result += mat4(-0.10201197, 0.21781366, 0.18577348, 0.14449175, 0.17314741, -0.1521729, 0.05358103, 0.13423039, -0.117372, -0.06376533, 0.0036501242, 0.24701707, -0.1009802, -0.09763199, -0.12387096, 0.04915735) * g_19; - result += mat4(0.12683278, 0.10003063, 0.026354205, 0.20679879, -0.05543329, 0.0609024, 0.12071361, -0.017081672, 0.09073765, 0.26451552, 0.11525583, 0.15612826, 0.15255655, -0.089416705, -0.066638984, 0.14400561) * g_20; - result += mat4(-0.035610262, -0.21110137, 0.16128647, 0.16987562, -0.075286984, 0.10626652, 0.02610956, 0.072617754, 0.08083012, -0.076612055, -0.20788178, -0.18980946, -0.124521755, -0.09931777, 0.058994036, -0.1573874) * g_21; - result += mat4(0.040990368, -0.076015316, 0.23061185, 0.06046172, -0.20775267, 0.07282112, -0.06703266, -0.15523846, -0.09839281, 0.04264288, 0.062170573, 0.050776828, 0.082359515, 0.08156233, 0.08537614, -0.15101717) * g_22; - result += mat4(-0.1249208, 0.13122208, -0.12867546, 0.1732467, 0.25579265, -0.012121687, 0.055682763, 0.16973646, 0.12742467, -0.18509331, -0.07107552, 0.18292974, 0.09319081, 0.05175007, 0.032850564, -0.22456838) * g_23; - result += mat4(0.081253335, 0.0648804, -0.15536025, -0.06642495, 0.16779053, -0.06261765, 0.20884722, 0.035119522, 0.10021793, -0.034050878, -0.20697917, 0.3424921, 0.14770742, 0.053394657, 0.03791968, -0.00457689) * g_24; - result += mat4(-0.30276582, 0.11398664, 0.23705474, 0.19467491, 0.03581071, 0.010649232, -0.059531577, -0.13225733, -0.05157955, -0.056399573, -0.05065601, 0.115134716, -0.06892023, -0.02327887, -0.026891273, -0.051847365) * g_25; - result += mat4(-0.0038954976, 0.30134967, 0.07478171, 0.27801678, -0.25552303, -0.3496495, -0.04389904, -0.073157154, -0.3068193, -0.14130415, -0.09492658, -0.07742016, -0.098369256, 0.07939278, 0.06842935, -0.058692418) * g_26; - result += mat4(0.033151552, -0.17501067, -0.24207892, -0.020800477, 0.40200472, 0.38354096, -0.09372771, 0.13056894, 0.1521215, -0.022638181, 0.076644436, 0.19175975, 0.17724091, -0.007068142, 0.08166245, 0.075242795) * g_27; - result += vec4(-0.06944472, -0.040001452, -0.014700824, -0.030359665); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf1 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1756655, 0.2394621, -0.08748251, 0.12350313, 0.2136366, 0.07180196, -0.063014165, -0.052154776, -0.048294004, -0.11931733, -0.07316665, -0.016064208, -0.16288999, 0.17369701, -0.035828933, 0.0003992723) * g_0; - result += mat4(-0.28360948, 0.05576701, 0.044312038, -0.08181158, -0.17544775, 0.10725244, 0.19446151, -0.19915965, 0.20983706, -0.048648514, -0.06845115, -0.06666123, -0.058113296, -0.1400215, 0.018594868, 0.03359526) * g_1; - result += mat4(0.1685084, -0.073783316, -0.20972507, -0.113601886, 0.04464233, 0.1066123, 0.07970566, -0.12577637, -0.050229155, -0.13494389, -0.2558168, -0.0042490545, 0.005460988, 0.0076199966, 0.0025213186, 0.044763103) * g_2; - result += mat4(-0.0052317875, 0.0027467392, -0.14741494, 0.07422548, 0.069331884, 0.05495023, 0.011922025, -0.068583466, -0.09747392, -0.03871967, 0.019188546, -0.24301958, -0.09219407, 0.09321753, 0.13795844, 0.028697817) * g_3; - result += mat4(0.16926937, -0.0071689105, 0.1393118, -0.05259209, 0.12629338, 0.13920256, 0.12663081, -0.051457815, -0.17981507, 0.12771882, 0.09692452, 0.08349755, -0.09658173, -0.17841125, -0.20769149, -0.0763144) * g_4; - result += mat4(-0.21198377, -0.14739051, -0.08248044, 0.1661816, -0.05062238, -0.1363927, 0.13842218, 0.1367609, 0.04016191, -0.17620887, -0.056923762, 0.02746218, -0.07269395, -0.08043915, -0.10160525, 0.062392905) * g_5; - result += mat4(-0.14993137, -0.095249705, 0.17030515, -0.012608146, -0.07266432, 0.014926277, -0.0047261617, -0.010011702, 0.009128133, 0.07995534, 0.05507624, -0.26496184, 0.3488721, -0.09683456, 0.020622155, 0.06607447) * g_6; - result += mat4(-0.21903756, 0.34106353, 0.17070994, 0.077885374, -0.011344036, 0.012352647, -0.171021, 0.06153072, -0.012573895, -0.085864305, -0.07954067, -0.034453984, 0.0023422232, 0.26898122, -0.086993374, -0.12912525) * g_7; - result += mat4(-0.048054293, -0.058729056, 0.058039352, 0.0077087884, 0.07013047, -0.19018608, -0.17199957, 0.12733743, -0.11381175, 0.0036818564, -0.036225986, -0.04890944, 0.1931185, -0.050229732, -0.055666275, 0.010115753) * g_8; - result += mat4(-0.10551637, 0.015622803, 0.013705792, -0.2789802, 0.039018016, -0.11402238, 0.14938816, 0.08859123, -0.19127499, -0.21991971, -0.03997634, 0.2888021, 0.5119256, -0.0182172, -0.4097011, 0.0650889) * g_9; - result += mat4(-0.15852791, -0.008691007, 0.027062492, -0.021986786, -0.121833265, -0.032671, -0.109205626, -0.026337394, 0.14460158, 0.07089407, -0.16064858, -0.06329875, 0.16661745, 0.10511746, 0.069920555, 0.12870672) * g_10; - result += mat4(0.19965324, 0.2015641, 0.05944082, 0.076328635, -0.042850234, 0.100452326, -0.04502685, 0.15974133, 0.0432549, 0.16362476, 0.05391766, -0.20400761, 0.09843942, -0.114038505, -0.044906083, -0.084004216) * g_11; - result += mat4(0.0014203127, 0.072613284, 0.18832877, -0.1519538, 0.17094725, 0.023459934, -0.08103932, -0.18414992, 0.050177015, -0.06879559, -0.26551455, -0.20276074, -0.4067025, 0.06735142, -0.02654105, 0.108480014) * g_12; - result += mat4(0.11884444, -0.20847607, -0.39635405, -0.027750423, -0.17062746, -0.11462501, 0.03766563, 0.22330031, 0.08840299, -0.02593574, 0.30610138, 0.017082121, -0.073421106, -0.03310496, -0.022566084, 0.12895042) * g_13; - result += mat4(0.13146816, 0.03408076, 0.068583496, 0.040359933, 0.058004156, -0.18711473, -0.012030321, 0.054367706, -0.21604696, 0.029737698, -0.18165046, -0.032207813, 0.19296853, -0.06486989, 0.1930012, -0.26257816) * g_14; - result += mat4(-0.0003308146, -0.1018507, 0.10688593, -0.086943775, -0.06309165, 0.11305288, 0.40455562, 0.07220006, 0.17344922, 0.21377957, -0.106255956, -0.08522667, -0.081184156, -0.17647071, -0.056697357, -0.030556178) * g_15; - result += mat4(0.15709074, 0.13488838, -0.108037606, -0.049638074, 0.16628793, 0.22323613, 0.18880367, 0.110625856, -0.17176348, 0.0442544, -0.24436983, 0.20503913, -0.015147643, -0.087451935, -0.14789064, 0.015226477) * g_16; - result += mat4(-0.029338064, -0.058311418, 0.023408614, 0.23031227, 0.10385574, 0.027987834, 0.09013144, 0.28468946, 0.0031934478, -0.19209816, 0.034222614, -0.28228182, 0.16321793, -0.18102172, 0.018543411, -0.16518813) * g_17; - result += mat4(0.04458001, -0.13962908, -0.13753751, 0.08451667, -0.25742018, 0.21066302, 0.10019894, -0.15584072, -0.01348787, 0.0033656303, 0.04586261, 0.021628007, -0.036585297, 0.26717108, -0.15728012, 0.103385106) * g_18; - result += mat4(0.0044587324, -0.19981517, -0.22820733, -0.022784092, 0.05868396, 0.07768994, -0.03181301, 0.054078016, 0.14406122, 0.2340996, -0.2972908, -0.16759236, -0.27278668, 0.019484127, 0.032888357, -0.17713867) * g_19; - result += mat4(0.05132516, 0.002060976, -0.11749896, 0.005121125, -0.07908039, -0.07778476, -0.19288218, -0.113970414, -0.09135908, -0.009404741, -0.15993251, 0.15056853, -0.06927528, -0.03733133, -0.24843821, 0.15608594) * g_20; - result += mat4(0.11080882, 0.032175705, -0.04760623, -0.14559296, 0.03192353, 0.101781964, 0.12357085, -0.025075397, 0.12224393, 0.00500326, 0.05720067, -0.087521225, -0.032957695, 0.027808554, 0.13563655, -0.2128763) * g_21; - result += mat4(-0.12507181, -0.12221015, -0.024783826, -0.1233778, 0.15383248, 0.19294359, -0.10415819, -0.20353647, 0.119121395, 0.13289572, 0.030740019, -0.015015452, -0.07683901, 0.10667189, -0.041018065, 0.22529341) * g_22; - result += mat4(0.1489391, -0.059898213, -0.046357498, 0.022468781, -0.24517635, -0.13018654, 0.2039975, 0.21484332, 0.028208151, -0.20970574, -0.10110034, 0.12773193, 0.07744774, -0.118900456, -0.007357081, 0.018511213) * g_23; - result += mat4(0.10130345, 0.2007317, -0.02755449, -0.05844333, -0.09601821, -0.006501421, -0.05792646, -0.02546418, -0.12300777, -0.044581413, 0.08369023, 0.013736111, -0.117478505, -0.03133182, -0.07848863, 0.114977054) * g_24; - result += mat4(0.06206287, -0.13663986, -0.2633325, -0.06723374, -0.0368251, 0.10849614, -0.12641706, -0.101314045, 0.1668918, -0.1774165, -0.07337273, -0.14278898, 0.09879653, 0.11570133, 0.049410257, -0.28515536) * g_25; - result += mat4(0.075859904, 0.46286193, -0.0065651555, 0.019701669, 0.097126104, -0.21981543, 0.11008625, -0.24778378, 0.22997652, -0.08742972, 0.026607014, 0.0001746832, -0.183374, 0.35722917, -0.054048, -0.12029537) * g_26; - result += mat4(0.29831323, -0.24104582, -0.11618897, 0.10247404, 0.0058463574, 0.22800444, -0.069028065, 0.22541459, -0.18233538, -0.32635194, -0.13827065, -0.21868181, 0.25495726, -0.30253872, 0.055982653, 0.07193308) * g_27; - result += vec4(0.13571368, -0.145653, 0.09633155, 0.022155894); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf2 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.057084437, 0.073743545, 0.15843004, -0.06717984, -0.08257869, 0.011292643, 0.13310145, 0.10770132, -0.037585445, -0.08692588, -0.042781748, -0.15288189, -0.02788944, 0.034700274, -0.15450406, -0.1679772) * g_0; - result += mat4(0.011762893, 0.2054697, 0.1720081, 0.116406426, -0.00428441, 0.18313429, 0.03696885, -0.03316296, -0.117581464, 0.007917693, 0.10178334, -0.2611459, -0.058909763, 0.25219756, -0.16373555, 0.08321643) * g_1; - result += mat4(0.10082542, -0.13886023, 0.121554285, 0.22873613, 0.08418588, -0.013873943, -0.006858779, 0.19993706, 0.28209662, 0.21149608, -0.035288714, 0.56616104, 0.17169634, 0.057334855, 0.053658336, -0.05077785) * g_2; - result += mat4(0.12060641, 0.04010452, 0.11028481, 0.04508344, 0.016396279, 0.09882185, 0.18883766, 0.04364962, 0.04107997, -0.05457326, 0.022010474, 0.023509638, -0.017336952, -0.081470236, -0.04518081, -0.04369132) * g_3; - result += mat4(-0.05629898, 0.12955196, 0.03002122, 0.051797554, -0.11305776, 0.04543245, 0.024578502, -0.038622625, 0.09602566, 0.014378242, -0.123365864, 0.0759256, -0.22232716, -0.040782683, -0.042220388, -0.21084513) * g_4; - result += mat4(-0.020282147, -0.097285345, 0.23004697, 0.020806778, -0.18959303, 0.22034295, 0.0087907575, 0.010272914, 0.14997281, 0.07306408, 0.04324672, 0.15118538, -0.2749048, 0.11584738, -0.032733474, -0.2070121) * g_5; - result += mat4(0.037902478, -0.030573819, -0.029344141, 0.01939143, 0.06405306, -0.04419444, -0.101269715, 0.021172248, 0.11327619, -0.009161934, -0.1717592, 0.080221824, -0.06516155, -0.17314622, 0.07386541, 0.031790655) * g_6; - result += mat4(0.12349413, -0.19455901, -0.16831753, -0.13359772, -0.0037239022, -0.12868004, 0.096363924, -0.0721396, 0.10402346, 0.008250357, 0.012670624, 0.19257796, -0.06830968, -0.0021093774, -0.10247695, -0.26293632) * g_7; - result += mat4(-0.10189908, 0.075891085, -0.022459852, -0.09753182, -0.2543292, 0.30875823, -0.2053786, -0.15915114, -0.075460285, 0.018414717, 0.040453814, 0.06389237, -0.34178352, -0.022121403, 0.046201658, 0.25735933) * g_8; - result += mat4(-0.0002718784, 0.0032082999, -0.13571796, -0.2096398, -0.022996102, 0.12278952, 0.070943564, -0.19941543, -0.030735662, -0.095334, -0.24543534, 0.06891416, 0.11364924, -0.24653779, -0.05163778, -0.30017856) * g_9; - result += mat4(0.1838837, -0.10841437, 0.07848475, -0.08485395, -0.014254071, -0.31484497, 0.15543151, -0.06692559, -0.04198029, -0.11665087, 0.107262425, 0.0067980834, -0.03962521, -0.09969709, -0.12044282, 0.1482598) * g_10; - result += mat4(0.00026043277, 0.10293026, 0.0140016945, 0.07596427, 0.07216739, -0.024752667, -0.03748558, 0.16382839, -0.031407133, -0.07096495, -0.08130925, -0.16371527, 0.09901695, 0.035516758, 0.17092955, -0.117787674) * g_11; - result += mat4(0.10926692, -0.19847743, -0.35133052, -0.11942348, -0.0016101972, -0.11737663, 0.07856536, 0.210181, -0.08973985, -0.231985, 0.052060172, -0.07393469, -0.0038560238, -0.13686647, -0.049954094, 0.15444914) * g_12; - result += mat4(-0.18071556, 0.12298895, 0.41416138, -0.23190585, -0.048501194, 0.1643691, 0.22058153, -0.039875798, 0.0070992573, 0.48900208, -0.16106173, -0.017713644, 0.11375057, -0.038301516, -0.0138126705, 0.20367229) * g_13; - result += mat4(-0.10906326, 0.17701069, 0.122338474, 0.21938156, -0.31732517, -0.11000095, 0.23848571, 0.013629898, 0.2623052, 0.12693645, -0.13266647, 0.012624822, 0.13243206, -0.07178184, -0.12631601, -0.124319084) * g_14; - result += mat4(0.27514997, -0.20576999, -0.116263695, -0.17561655, 0.29180488, -0.0996977, -0.22064792, -0.0051669325, -0.008944824, 0.08274995, 0.15000445, 0.2706205, 0.19657025, 0.16320185, -0.048430063, -0.062193163) * g_15; - result += mat4(0.15720521, -0.1616783, 0.12148419, 0.032654256, 0.0748495, 0.089776576, -0.2883907, 0.16739035, -0.040992603, 0.094912894, -0.1876062, 0.017233582, -0.116178006, -0.3094946, 0.010963433, -0.1276047) * g_16; - result += mat4(-0.02279651, 0.124006964, 0.27308333, 0.07528875, 0.20459273, 0.044373933, -0.22371659, 0.1501472, 0.09959711, 0.0477301, -0.05257857, -0.05602578, 0.16206701, 0.046072427, -0.0018694117, -0.004612688) * g_17; - result += mat4(-0.21997832, -0.11779681, -0.07657034, 0.11835144, 0.10847735, 0.2865021, -0.28411987, 0.14887205, 0.069858804, 0.116345115, -0.07407542, 0.09080259, 0.15252139, -0.24571773, 0.09876683, 0.11463688) * g_18; - result += mat4(0.15223633, -0.00056938396, -0.032920565, 0.14372222, -0.024130384, -0.098482765, 0.028577512, 0.21373022, -0.14334433, 0.019196142, -0.0431513, 0.18337114, -0.032851133, 0.0646035, 0.028978348, -0.00956985) * g_19; - result += mat4(0.132797, 0.15113503, 0.0032765348, -0.20993358, -0.027147237, -0.08996456, 0.024522208, -0.015556702, -0.022943618, 0.030851666, -0.2941565, 0.04444335, -0.120237455, -0.06628891, 0.17706418, -0.13388899) * g_20; - result += mat4(0.034199353, -0.030496066, -0.12809198, -0.09803576, -0.014025315, 0.10408433, -0.12252633, 0.013718495, 0.00881372, 0.0976676, 0.119427025, -0.066808775, 0.055229302, -0.013018161, -0.08276607, 0.101116315) * g_21; - result += mat4(0.15429354, 0.15294066, 0.13662739, -0.11073299, 0.063615054, -0.011573362, -0.12094635, -0.19076118, 0.15640004, 0.13726933, 0.020506479, -0.027316077, 0.0131364865, -0.017896159, -0.06231624, 0.15114687) * g_22; - result += mat4(-0.047549162, -0.2276344, -0.066257186, 0.08916332, -0.017978407, 0.0068500796, -0.030843439, -0.17989396, -0.06743375, -0.13298953, 0.010617088, -0.22074251, -0.07921998, -0.003123787, 0.078639194, -0.10352951) * g_23; - result += mat4(0.19592485, 0.045601334, -0.05466065, 0.003048098, 0.21064979, 0.21149376, -0.06651742, -0.049799632, -0.1459615, 0.1450713, 0.025346246, -0.21891195, -0.24621584, 0.10275955, -0.045584872, -0.0059188902) * g_24; - result += mat4(-0.24433449, -0.056526583, -0.0063764798, 0.16827473, 0.036951, 0.15109439, -0.013099426, 0.088068865, 0.08357865, -0.018223299, 0.022397004, 0.13680162, 0.046609163, 0.13488059, -0.05136011, -0.2054995) * g_25; - result += mat4(-0.23189409, 0.058366276, 0.029186329, -0.22585711, 0.1441857, 0.0776702, 0.06341345, -0.22043568, 0.13492517, 0.14087246, -0.032663856, 0.10947018, 0.0016668879, 0.01664668, -0.0821675, 0.024196142) * g_26; - result += mat4(-0.02740043, -0.22889447, 0.24546339, 0.0032793654, -0.16380517, -0.16472526, -0.31983012, 0.05651817, 0.21478343, -0.08361714, 0.26880756, -0.39875728, -0.19244565, -0.09645046, -0.00071002246, -0.16191272) * g_27; - result += vec4(-0.022868104, 0.112042494, 0.11364425, -0.020370165); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf3 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.27637494, -0.09202861, -0.013164199, 0.08635429, 0.17066719, -0.25856876, 0.21184374, 0.25718108, -0.010693248, 0.032534968, -0.11440128, 0.067054555, 0.11179264, 0.08019385, 0.23691481, -0.053950187) * g_0; - result += mat4(0.012882109, 0.009293086, -0.0044346075, -0.0714009, 0.029489582, -0.11504061, 0.03372462, -0.20672967, 0.15053481, -0.018392192, -0.06602698, 0.3127282, -0.24036115, -0.121481776, 0.12850977, 0.058103368) * g_1; - result += mat4(-0.050445788, -0.13086995, 0.20903488, 0.123742394, 0.09780855, -0.01923089, -0.045269296, -0.14616507, 0.07690958, -0.26648474, -0.15403363, -0.14023678, -0.13179739, -0.11994684, 0.04328696, -0.16206603) * g_2; - result += mat4(0.0070284703, -0.11008815, -0.033269413, 0.19520764, -0.05634523, 0.11478342, 0.11389925, 0.16536203, 0.11200762, 0.07183994, 0.082404666, -0.045550685, 0.090172336, 0.15882301, -0.15579398, -0.010974849) * g_3; - result += mat4(0.29888794, -0.04338136, -0.054024898, -0.065943204, 0.016578928, 0.13387626, 0.19995537, -0.06902794, -0.1228455, 0.09062401, -0.16335657, 0.124492906, 0.13940965, -0.0930729, -0.019122176, -0.047092684) * g_4; - result += mat4(-0.17353038, -0.08980729, 0.05186378, 0.2782951, 0.04332866, -0.11484402, -0.13268284, 0.027477333, -0.09025209, -0.068026, 0.10645471, 0.010281115, 0.09622472, 0.060582876, -0.119002, -0.03843858) * g_5; - result += mat4(0.081018515, 0.160742, -0.108766116, -0.116166, -0.16662684, 0.045554698, 0.08607165, -0.108419865, -0.09143582, 0.19082823, 0.17698412, 0.07523821, -0.23612066, 0.02125469, -0.20589912, -0.04471549) * g_6; - result += mat4(0.007816593, 0.020379778, 0.06805535, 0.12345075, -0.1312113, 0.12551896, 0.10769008, 0.17810847, -0.20936163, -0.07681444, 0.10576635, -0.018500412, -0.12731677, -0.05931048, -0.008639975, -0.012557444) * g_7; - result += mat4(0.13184534, 0.2300916, -0.035759542, -0.11864276, -0.016759377, 0.0085068075, 0.020116294, 0.31680855, -0.07957325, 0.02108995, 0.04680425, -0.118219934, 0.12604867, -0.14069289, -0.1492076, -0.039757684) * g_8; - result += mat4(0.08435497, 0.08196142, -0.12370443, 0.17140263, 0.041375875, 0.0528549, -0.12367111, 0.22431542, -0.15647502, 0.23635507, -0.2558316, -0.035816293, -0.16943988, -0.03469032, 0.22173174, 0.35301638) * g_9; - result += mat4(0.10042114, 0.020310592, 0.12793465, 0.0505798, -0.030926188, -0.014382752, -0.1866182, 0.092339404, -0.34906712, -0.17414862, 0.11467679, -0.060113996, -0.18255027, 0.15265243, -0.058513764, 0.044470858) * g_10; - result += mat4(-0.109998055, -0.18857343, -0.06519679, -0.21169643, 0.17275392, 0.043956056, 0.19097583, -0.3453861, -0.20140389, -0.028911674, 0.051200256, -0.16441494, 0.09052695, -0.025728669, 0.12978639, -0.030866198) * g_11; - result += mat4(0.3553382, 0.2713839, -0.063492395, 0.17018923, -0.20084976, -0.20268555, 0.028258773, 0.25153455, -0.060663003, 0.030043183, -0.017477257, -0.2802546, -0.19472873, 0.030090192, -0.13361697, -0.096709855) * g_12; - result += mat4(-0.08196468, -0.059696443, -0.10413434, 0.15610062, 0.04612939, 0.033440653, 0.009418265, -0.11447027, 0.15325724, 0.05303549, 0.18088095, -0.18435246, 0.096069425, 0.1487366, 0.028163021, 0.033102416) * g_13; - result += mat4(0.12193662, 0.0070974063, 0.022380063, 0.01845218, 0.097900495, -0.10072656, -0.07087849, 0.1097737, 0.088353686, 0.117824815, 0.07981943, -0.058600288, -0.14337316, 0.23042083, 0.09003819, 0.15992849) * g_14; - result += mat4(-0.25127304, -0.13614081, -0.09878849, -0.019283785, -0.01723998, 0.19221759, 0.08611807, -0.057227675, -0.2849749, -0.106312715, 0.0721729, 0.09183881, -0.23607177, -0.14219683, 0.05553008, 0.08371223) * g_15; - result += mat4(0.18445374, 0.2633628, 0.023699492, -0.055874832, -0.21317463, 0.15699029, 0.06470851, 0.3203727, 0.012689787, 0.04068801, -0.0362694, -0.08463872, 0.022032904, 0.36295962, 0.40498146, 0.27317238) * g_16; - result += mat4(0.124197744, -0.21850279, 0.15408973, -0.26874685, -0.059596032, -0.078130245, 0.05881263, 0.21196629, -0.068842866, 0.009358261, -0.11701211, -0.1040061, -0.14287138, -0.37897316, -0.14483643, -0.21824312) * g_17; - result += mat4(-0.08589939, -0.075192496, 0.030483527, -0.06450602, -0.012149392, 0.17978314, 0.15634626, -0.2836322, 0.14882863, 0.10502833, -0.16009775, -0.10486963, 0.037842657, -0.038362924, -0.22343613, 0.101130985) * g_18; - result += mat4(-0.013563463, -0.024395624, -0.12761684, -0.09748699, -0.089499116, -0.08085164, 0.058557037, 0.13672954, -0.118551984, -0.13629481, 0.094393395, 0.029314406, -0.080707505, -0.038193874, 0.13417166, -0.02425689) * g_19; - result += mat4(-0.17519292, -0.10705887, 0.20562781, 0.010688353, -0.020396186, 0.14856702, -0.07595417, 0.10375755, -0.15135598, -0.05276549, -0.14925396, -0.019424599, 0.06944723, 0.16936864, 0.100991525, -0.0070587527) * g_20; - result += mat4(-0.09268212, 0.06558073, -0.28194323, 0.08364666, -0.02612452, 0.054087568, 0.14668237, 0.115088925, 0.04907736, -0.121807694, 0.28625855, 0.07017234, 0.11742178, 0.014940573, -0.0030790027, 0.09556736) * g_21; - result += mat4(-0.2570902, 0.09647556, 0.15780881, 0.08517732, -0.07699583, -0.026643768, -0.09048383, 0.047831554, 0.19601518, -0.14882582, -0.12081898, -0.21000117, 0.22658183, 0.32082006, -0.06317293, -0.07006582) * g_22; - result += mat4(0.1865291, -0.07663154, -0.07021094, -0.07830695, 0.076760985, -0.10160548, 0.16065563, -0.10210155, -0.13542733, -0.023234889, 0.10826387, 0.2707354, -0.07200074, -0.019201742, -0.045061752, -0.15168877) * g_23; - result += mat4(0.00804967, -0.14787929, 0.009206717, -0.021477034, -0.084476404, -0.015345305, -0.13645084, 0.17224337, 0.16686128, -0.012185714, 0.15809548, -0.18986331, 0.1008467, 0.04329404, -0.22691965, -0.0038823795) * g_24; - result += mat4(0.15417027, -0.06945452, -0.20023187, -0.067604445, -0.036015324, -0.053225037, 0.075553775, -0.031289067, -0.10324133, -0.22750708, -0.0687051, 0.2233988, -0.032612424, -0.14323196, 0.21441486, 0.12729624) * g_25; - result += mat4(-0.07149902, 0.26289824, 0.17770901, 0.005413293, 0.08461791, -0.12599528, 0.21661244, 0.1305935, 0.16592002, 0.100489244, 0.06736797, -0.21842687, 0.22388805, -0.017664155, 0.21695323, -0.108672984) * g_26; - result += mat4(-0.03011306, -0.12135366, 0.1701224, -0.069647305, -0.21244405, 0.16653134, -0.116377264, 0.28703618, -0.06256598, -0.4135873, 0.12806, 0.38643956, -0.29591087, 0.14771672, -0.085469425, 0.07862257) * g_27; - result += vec4(0.031112298, -0.004619042, 0.06137103, -0.028557438); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf4 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.1963867, 0.07699578, 0.14399086, -0.20231943, 0.1228945, 0.10025043, 0.21558635, -0.14002483, 0.18620099, 0.024811473, -0.006723965, -0.12215585, 0.19046861, -0.108267576, -0.12425069, -0.21237871) * g_0; - result += mat4(0.246677, 0.0881537, 0.03614809, 0.24940786, -0.12583077, 0.3362467, -0.015060226, 0.09434887, -0.19725238, 0.37675261, -0.007914419, -0.09965565, 0.0195271, 0.09688557, 0.18034142, 0.25808018) * g_1; - result += mat4(0.07988132, -0.15699178, -0.09968855, -0.05188315, 0.1189213, 0.2018036, 0.06732629, -0.049742103, -0.0012818838, 0.01787508, 0.17064866, 0.13609366, 0.045613803, -0.1356721, 0.0742584, 0.17483133) * g_2; - result += mat4(-0.09535376, 0.062276363, 0.02677763, 0.18110538, -0.056094047, -0.06404993, -0.24868925, -0.005307554, 0.0036259799, 0.16573818, 0.07203683, 0.33113593, 0.17214227, -0.044549335, -0.013462563, -0.044395987) * g_3; - result += mat4(-0.049357347, -0.20686656, -0.08514925, 0.13660856, -0.085490316, 0.1609961, 0.18058838, -0.043433487, 0.06679116, 0.020784464, 0.0350443, 0.11283589, 0.047845896, -0.15244545, -0.111651644, -0.13325566) * g_4; - result += mat4(-0.2407646, -0.036201578, -0.056687888, -0.14974321, 0.039803684, -0.085988104, -0.036733832, -0.14233889, 0.010312457, -0.14597215, -0.1345812, -0.09528502, -0.069463976, -0.017104028, -0.21093526, 0.13846932) * g_5; - result += mat4(-0.13820851, 0.02654045, -0.09661381, 0.17160213, 0.1978931, -0.12043106, -0.028641233, 0.08110245, -0.1875805, -0.06886384, 0.047143184, 0.33587673, -0.10415887, -0.18351205, 0.1407508, -0.1332706) * g_6; - result += mat4(0.13994217, -0.013123574, -0.05953133, 0.10043616, -0.27695277, 0.051396918, -0.15545999, -0.12036323, -0.050617583, 0.056553494, -0.079539895, 0.14741984, -0.021349153, 0.07863958, -0.07300714, -0.16282727) * g_7; - result += mat4(0.054927684, 0.16985811, 0.036917485, -0.0140152415, 0.08888437, -0.29275262, -0.03844096, -0.09088267, 0.1250863, -0.036014643, 0.054614082, -0.15399693, -0.110796444, 0.0925346, -0.22120771, 0.29702052) * g_8; - result += mat4(0.06883671, 0.058238175, -0.26987633, 0.17383234, -0.100885935, 0.090576224, -0.16625507, 0.033924226, 0.3471819, -0.15876703, -0.003714482, -0.22869875, -0.51020795, 0.13920946, -0.060082283, -0.07045547) * g_9; - result += mat4(0.02216123, 0.20307806, 0.1976366, 0.035313394, 0.21204922, 0.052470528, 0.03677106, -0.1063312, -0.019970786, 0.1678837, -0.13302676, 0.019388223, -0.10893328, -0.028289987, 0.042897556, -0.23842873) * g_10; - result += mat4(0.036743134, 0.034039408, -0.010375282, 0.16331595, 0.01155292, -0.051256556, 0.063319005, 0.03891694, 0.028058654, 0.23070037, -0.004834602, 0.12538977, -0.16574672, 0.10670458, -0.054559533, -0.13865025) * g_11; - result += mat4(0.34042284, -0.096626334, 0.1829246, 0.114188604, 0.088171884, 0.11710425, 0.14686471, 0.009725783, -0.12866455, 0.15149915, -0.13281596, 0.07473135, -0.11002946, -0.042536035, 0.35408425, 0.04991825) * g_12; - result += mat4(-0.4470486, -0.04748823, -0.14250289, 0.017064111, -0.15611976, -0.052947167, -0.16508208, -0.11881081, 0.13243856, -0.08291998, -0.14834203, -0.4627348, 0.14895794, -0.054990955, -0.2850958, 0.032338817) * g_13; - result += mat4(0.11025286, -0.047356833, -0.00029529104, 0.10499984, 0.115071274, -0.034509618, -0.17907608, -0.12972243, 0.14780535, -0.039031286, -0.23174866, 0.07155468, -0.2973685, -0.042398665, 0.011526313, 0.014337736) * g_14; - result += mat4(-0.13286439, -0.15258804, -0.08101948, -0.03865954, -0.0005274504, 0.06358946, 0.20435862, -0.0018249828, 0.13777693, 0.091889404, 0.26195052, -0.10732939, 0.12700158, -0.0029639623, 0.08968977, 0.10790943) * g_15; - result += mat4(-0.025876395, 0.04674395, 0.08705419, 0.11546646, 0.15677479, -0.09279832, 0.06123563, 0.027857538, -0.026071457, -0.07211418, 0.03904429, -0.07982592, -0.16422117, -0.022703126, -0.17293021, 0.14897922) * g_16; - result += mat4(0.15511294, -0.2735757, -0.033055518, 0.010482124, 0.07846025, -0.28522226, -0.103355184, 0.0907831, -0.22074161, -0.25466454, 0.14828296, -0.085437566, 0.11504318, -0.16773705, 0.08680487, -0.012820092) * g_17; - result += mat4(0.10127869, -0.18961814, 0.18196556, 0.08140379, -0.23042479, -0.11330197, 0.10758355, 0.027613612, -0.12754934, -0.030713173, 0.07453361, -0.1338413, -0.0014765146, 0.078984834, 0.019902518, 0.08373023) * g_18; - result += mat4(0.016189277, 0.094952025, 0.037799377, 0.033959743, 0.11591709, 0.13379039, -0.07359717, 0.2147113, -0.067016184, 0.0006450209, 0.13055131, 0.06845076, -0.027489938, -0.19194192, -0.007896561, -0.08913592) * g_19; - result += mat4(-0.04248823, -0.076337345, -0.10990166, -0.2680756, 0.08889121, -0.0177947, 0.21444084, 0.100478254, -0.016669227, 0.08470296, -0.069658354, -0.07584226, -0.05746039, 0.25226966, 0.009504905, 0.08502889) * g_20; - result += mat4(0.031891428, -0.053127673, 0.033998042, -0.057896897, -0.07441638, -0.10886511, 0.079562426, 0.057446953, 0.1934566, -0.074068144, 0.00525264, 0.10135101, 0.13110499, -0.10722797, -0.0841621, -0.050043304) * g_21; - result += mat4(0.066630974, 0.06632765, -0.18793635, -0.16781266, 0.13995983, 0.096131966, 0.123134784, -0.10111646, -0.12674555, -0.041563142, -0.0061982237, 0.023315776, 0.023906343, 0.019013697, -0.2010971, 0.04703861) * g_22; - result += mat4(-0.15652168, -0.24982816, 0.17870888, 0.06907672, -0.057334036, -0.032808617, 0.11526983, 0.119979076, -0.1791687, 0.1222946, -0.11300223, -0.17275636, 0.021404041, -0.15254661, -0.04140363, -0.03240875) * g_23; - result += mat4(0.027191963, -0.01434174, -0.14910434, -0.06411872, -0.061873678, 0.16904217, 0.047826875, 0.02332137, -0.14306058, 0.24481563, -0.033499192, -0.053609576, -0.056984827, -0.09177351, 0.10327636, -0.008282755) * g_24; - result += mat4(-0.0013305998, -0.16498545, 0.13777103, -3.852495e-06, 0.09852269, 0.049945284, -0.15420936, 0.012355145, -0.0884347, -0.042019103, 0.07325865, 0.12033873, -0.17453258, 0.25127375, 0.003513564, 0.14359626) * g_25; - result += mat4(0.088470936, -0.084289886, 0.12525322, -0.052040808, -0.02055114, 0.12212508, 0.0047877207, 0.0022971383, -0.16231592, -0.0012661765, -0.18805377, -0.01330223, -0.13868679, -0.07463934, 0.013851991, -0.39397895) * g_26; - result += mat4(-0.29183444, 0.08526801, -0.009475625, 0.012616094, 0.106093206, -0.15813065, -0.023291823, 0.026072321, -0.09510553, 0.28779894, -0.03740373, -0.22849992, 0.14980063, -0.056065757, 0.1896184, 0.18598676) * g_27; - result += vec4(-0.10836887, -0.05585613, 0.040955693, -0.094257936); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 -//!HOOK MAIN -//!BIND conv2d_18_tf -//!BIND conv2d_18_tf1 -//!BIND conv2d_18_tf2 -//!BIND conv2d_18_tf3 -//!BIND conv2d_18_tf4 -//!BIND conv2d_18_tf5 -//!BIND conv2d_20_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!SAVE conv2d_21_tf5 -//!WIDTH conv2d_18_tf.w -//!HEIGHT conv2d_18_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.037292957, 0.111278884, 0.0040617813, -0.13005154, -0.14574225, -0.04561907, 0.08651799, 0.26120758, 0.08891994, -0.088803776, 0.042923294, 0.25807977, -0.018256422, -0.0701701, -0.005195042, -0.003834101) * g_0; - result += mat4(0.02109605, -0.069872335, 0.019276647, 0.20458579, 0.19809006, 0.07492716, 0.08456779, 0.03991817, 0.17381856, -0.18353306, 0.033056915, 0.017351417, 0.27317572, 0.14745289, 0.112595454, 0.24492109) * g_1; - result += mat4(-0.14570235, -0.17424104, -0.06727217, -0.3086037, 0.02525411, -0.044770114, 0.033749532, -0.11228765, -0.15769076, 0.00451067, -0.1788018, -0.30820736, 0.0041043786, -0.024795217, 0.15125588, 0.047423594) * g_2; - result += mat4(-0.040195987, 0.044254698, 0.03855816, -0.20195895, 0.022790458, 0.096643284, -0.059985366, 0.08459743, 0.1324966, -0.040880192, -0.0043202005, 0.047319695, -0.032420613, 0.19165912, 0.00961678, 0.0183705) * g_3; - result += mat4(0.16408893, 0.13368279, -0.0021361106, -0.18459465, -0.01461956, -0.025040925, 0.023046397, 0.18937416, -0.029725153, 0.024626948, -0.12168845, -0.17462288, -0.0018600278, -0.21533066, -0.031245705, 0.016543053) * g_4; - result += mat4(-0.26195183, 0.01833496, -0.18704526, -0.021662816, 0.10616261, -0.043555334, 0.27241042, -0.14757007, -0.124572046, -0.02121388, 0.051727325, -0.0069818725, 0.043559317, -0.110680476, 0.04445242, 0.13625911) * g_5; - result += mat4(-0.038022455, 0.03635892, -0.2756826, 0.08211933, -0.023213604, -0.08972885, 0.032142006, -0.09148028, -0.19298528, 0.1790908, -0.089981236, -0.17479765, -0.16850077, -0.1224998, 0.26742375, -0.05020889) * g_6; - result += mat4(0.071032055, -0.00785422, 0.10790756, 0.0018305354, -0.027506126, -0.062212195, -0.23357867, 0.045895457, -0.1727715, 0.10876975, -0.230332, -0.17849782, -0.07430489, -0.18781832, -0.04600162, -0.11432774) * g_7; - result += mat4(-0.092788436, -0.024297832, -0.014884651, 0.34521446, 0.19182527, -0.0007828303, 0.2955958, 0.14103474, -0.118902594, -0.21362142, 0.03223166, 0.11770545, 0.052067857, -0.09909963, -0.090388335, 0.042580575) * g_8; - result += mat4(-0.1330214, 0.03868773, -0.11671803, 0.19015789, 0.10405984, -0.013677597, -0.045054883, 0.2648324, 0.091654226, 0.06342989, -0.18447904, -0.18814911, 0.08201126, -0.087983154, 0.19835882, 0.02320308) * g_9; - result += mat4(-0.16742142, 0.04889244, -0.04224858, 0.09795042, 0.0742024, 0.08524124, 0.08547024, -0.08971748, -0.06742199, -0.01264819, 0.01967524, -0.085037805, -0.006368631, 0.087310255, 0.033242185, -0.109046064) * g_10; - result += mat4(-0.036376826, -0.12445654, 0.2214164, 0.073704585, -0.057687093, 0.03161407, 0.030226182, 0.13798846, 0.004053758, -0.026847184, -0.18207215, 0.02327736, 0.15338598, 0.029355692, 0.15947832, 0.009741949) * g_11; - result += mat4(-0.14350525, 0.44122484, -0.27216923, -0.32400486, -0.06935376, -0.07826008, 0.013052485, -0.15577343, -0.0602264, -0.1378567, -0.0988297, -0.0520038, 0.16281459, 0.21593477, 0.015656868, 0.021682512) * g_12; - result += mat4(-0.110919766, -0.50870305, 0.13304098, 0.44846004, -0.11171717, 0.021876339, -0.1763441, 0.07960399, 0.19334543, 0.059901852, 0.35047033, 0.06759713, -0.1094105, -0.03440771, 0.12352318, -0.0851165) * g_13; - result += mat4(-0.0568668, -0.025527416, 0.025759742, -0.12103697, 0.422481, -0.08913437, -0.055062406, 0.34310246, 0.21279198, -0.078316584, -0.013654249, -0.09046805, -0.07094275, 0.115192436, -0.065263025, 0.17215906) * g_14; - result += mat4(0.07046529, -0.07284162, -0.11466734, -0.21302283, -0.03389403, 0.15734796, 0.1361196, 0.024044609, 0.029766176, 0.16577528, 0.024331262, 0.060340524, 0.44355944, 0.0003581332, 0.3078238, 0.2574837) * g_15; - result += mat4(0.00071162626, 0.07135437, 0.07894501, -0.0018909698, 0.056075454, 0.2710218, 0.05085683, -0.09762287, 0.3231151, -0.19741713, 0.17338343, 0.0155739505, -0.041763403, -0.1287588, -0.12640484, -0.23130493) * g_16; - result += mat4(0.07035256, -0.11294888, -0.14101484, -0.15230694, -0.10483314, -0.0016073174, 0.057297777, -0.09009508, -0.12830521, 0.03709873, -0.06290859, -0.08136984, 0.113198824, -0.1655927, -0.13494876, 0.24072471) * g_17; - result += mat4(-0.032724876, -0.09534773, -0.26204878, -0.3292954, -0.061760694, -0.0520527, 0.114927344, -0.19985563, -0.14206612, 0.29207164, -0.18231356, -0.023020215, -0.08598638, 0.14821911, 0.03660733, -0.19112201) * g_18; - result += mat4(0.037955362, 0.010134931, 0.36916158, -0.17044878, 0.21356396, -0.1560363, 0.26455376, 0.20915791, -0.1306162, -0.2429591, 0.1719089, 0.18352278, 0.0679352, -0.065386556, -0.022702005, -0.066387825) * g_19; - result += mat4(0.19960098, -0.14576043, -0.10151787, 0.09198339, 0.1231411, 0.087754674, 0.11652834, 0.013271647, 0.036118887, 0.15265918, 0.013385129, 0.14981005, -0.21563594, -0.08766662, -0.0654284, 0.12685579) * g_20; - result += mat4(-0.094955795, 0.24225567, 0.048474804, -0.07734907, 0.01806047, 0.14843795, 0.06016524, 0.35317475, -0.11599948, -0.07693678, 0.18482585, -0.019892018, 0.114919215, 0.1710398, -0.048565853, 0.13335803) * g_21; - result += mat4(-0.09855322, -0.025525704, -0.06842548, 0.1469744, -0.018368883, 0.15323098, 0.20133962, 0.12638539, -0.045463845, -0.08798743, 0.11472818, -0.033174478, 0.012110788, -0.06817629, -0.011605086, -0.16827421) * g_22; - result += mat4(-0.045262296, 0.13600074, 0.1300623, -0.034807224, -0.34226584, 0.017031498, -0.039954994, -0.08290169, 0.10082742, 0.021582376, -0.09534511, 0.20549543, -0.051487718, -0.1630972, 0.33449423, -0.048398267) * g_23; - result += mat4(0.029700171, 0.007352428, 0.18526569, 0.073091626, 0.11026601, 0.122599594, -0.11891045, 0.01342231, 0.15690641, 0.04361259, 0.2773186, 0.09948339, 0.19514516, -0.26567987, 0.27316755, -0.004506885) * g_24; - result += mat4(0.015102482, 0.5311715, -0.04495627, -0.29039982, 0.043197848, -0.045482073, -0.015217863, 0.12423151, 0.06713047, -0.28593946, -0.26324463, -0.10622171, 0.08733315, 0.26325643, -0.109262615, 0.032678623) * g_25; - result += mat4(0.20356876, 0.13201593, 0.54593295, -0.009429143, -0.047878712, 0.112797454, 0.10636369, -0.031002715, 0.04968258, -0.01192892, -0.08390279, 0.2962574, -0.037763555, 0.23986666, 0.2914927, -0.19597684) * g_26; - result += mat4(-0.17221802, -0.3117124, -0.30086198, -0.09605459, 0.06022855, 0.0932599, 0.21669184, 0.025771603, 0.10568125, 0.09046417, 0.23842993, 0.15542446, 0.085549235, -0.39743817, -0.35149595, -0.10991869) * g_27; - result += vec4(0.041429322, -0.04519541, -0.021303019, 0.03556548); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!SAVE conv2d_23_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.0069880835, -0.11854449, 0.019130541, 0.06131937, -0.12653148, -0.11386897, 0.026278017, -0.029769672, -0.04900336, -0.040183928, 0.14786887, 0.13839152, 0.023214985, 0.02170963, -0.0050535826, 0.11593161) * go_0(-1.0, -1.0); - result += mat4(0.18226194, -0.08764719, 0.007596958, -0.16714393, -0.013890971, -0.20315985, -0.1823182, 0.011473067, -0.0031021899, -0.08969826, -0.10007674, 0.10920222, -0.015446357, 0.036132008, -0.067185655, 0.13934731) * go_0(-1.0, 0.0); - result += mat4(0.015283827, -0.09229732, 0.0414126, 0.021944996, 0.14104785, 0.008045174, -0.06079496, 0.034749705, 0.0555263, -0.10242346, -0.060914904, 0.08464502, -0.011859913, 0.006455802, 0.10844761, 0.0134105105) * go_0(-1.0, 1.0); - result += mat4(0.018642211, -0.11451369, -0.14549, 0.025961792, 0.30536854, -0.12940758, -0.00767789, -0.041237094, 0.09311256, -0.031055698, -0.044830468, -0.024006868, 0.08701035, 0.040819246, -0.04263764, 0.11538945) * go_0(0.0, -1.0); - result += mat4(-0.054786954, -0.086928196, -0.13966377, -0.15393174, 0.1424234, -0.05512831, 0.056643385, 0.025964662, 0.07892287, -0.0106549505, -0.20436414, 0.14651425, -0.2473103, -0.25998104, 0.13307813, -0.09702979) * go_0(0.0, 0.0); - result += mat4(0.013059422, -0.21957332, -0.07801947, -0.0052945465, 0.0094043175, -0.2566915, 0.020264111, -0.084617026, 0.057397053, 0.15240598, -0.02216099, 0.05716462, 0.13927206, 0.004486894, 0.0016922898, 0.102252744) * go_0(0.0, 1.0); - result += mat4(0.07014947, -0.13902779, 0.031490333, -0.18859616, -0.014590556, 0.04007344, 0.09425186, -0.051375583, -0.06935742, -0.057554092, -0.10276669, -0.019557113, -0.09518076, -0.033071887, -0.048500758, 0.048819438) * go_0(1.0, -1.0); - result += mat4(0.16722094, 0.0344578, 0.018731082, 0.09678484, 0.15892155, -0.18919247, 0.021216132, 0.02931444, 0.021595579, 0.061666757, -0.10762524, 0.12676224, -0.03248062, -0.02504607, 0.18469785, -0.13702926) * go_0(1.0, 0.0); - result += mat4(0.13041268, -0.0619327, 0.022542154, 0.026681304, 0.020749563, -0.21606146, 0.114432104, -0.066451274, 0.015913267, 0.06163406, -0.057585176, 0.0644391, -0.044056248, 0.035255745, 0.03464814, -0.08578779) * go_0(1.0, 1.0); - result += mat4(0.08973615, 0.045222506, -0.09590073, -0.100004695, 0.05237453, -0.06722716, -0.02415732, -0.0075536054, 0.094202325, -0.050179597, -0.024599258, 0.020099288, -0.08596868, 0.055813123, 0.13340895, -0.16934091) * go_1(-1.0, -1.0); - result += mat4(0.06300078, 0.007818018, 0.09217224, 0.009206147, -0.15671419, -0.2783, -0.03584697, -0.020961186, -0.16284715, -0.0144862635, -0.11325322, -0.048829306, -0.07440494, 0.003520005, 0.022383792, -0.12780105) * go_1(-1.0, 0.0); - result += mat4(-0.013562683, -0.009709261, -0.098945156, 0.052830927, -0.006970199, 0.051590238, -0.06947861, 0.023755455, -0.06272423, -0.02977508, 0.02553348, -0.079587765, -0.22774328, -0.19316547, -0.06733863, 0.14218438) * go_1(-1.0, 1.0); - result += mat4(0.0628164, -0.065402724, -0.081423946, -0.014294701, 0.076882415, -0.16462187, 0.058887646, 0.17147242, -0.06266455, -0.033563286, 0.14262468, 0.077735715, -0.04773609, -0.15871379, 0.25418288, 0.00045479767) * go_1(0.0, -1.0); - result += mat4(-0.18470187, -0.057679847, 0.096446, -0.18015186, 0.00678714, 0.021908736, -0.20782757, -0.050982784, 0.022583686, 0.15980199, 0.030406693, 0.011787296, -0.13989478, -0.04320495, -0.085875444, -0.11700863) * go_1(0.0, 0.0); - result += mat4(-0.05523541, -0.025541743, 0.116241954, -0.020840911, 0.10067526, -0.16248223, -0.0012360907, 0.048425563, -0.1276002, -0.17499678, -0.01945251, 0.013212705, -0.16648263, 0.35500625, -0.135235, 0.017235618) * go_1(0.0, 1.0); - result += mat4(-0.073000446, -0.028381377, -0.0013608577, -0.016599078, -0.16571084, -0.07088432, -0.048842687, -0.07629005, -0.1381271, 0.065818846, 0.09421087, -0.03347382, 0.18608873, -0.045746375, -0.029741777, -0.095119506) * go_1(1.0, -1.0); - result += mat4(0.05358922, -0.040625416, -0.0019438072, -0.07843638, 0.19569466, -0.020356197, -0.0039346446, 0.003250757, -0.27383512, -0.16601264, 0.19187284, -0.107417405, 0.14909706, 0.06331532, -0.034985464, -0.06792424) * go_1(1.0, 0.0); - result += mat4(0.004034066, -0.054885756, -0.028200584, 0.06112716, 0.088295385, -0.020277997, -0.0020670767, 0.07127592, 0.013512765, -0.11650901, -0.055278458, 0.19233239, 0.1428892, 0.18658066, 0.10309081, -0.21165647) * go_1(1.0, 1.0); - result += mat4(-0.1705785, -0.12354222, 0.022113271, -0.07476554, -0.047615983, 0.061029002, -0.10020206, 0.17523453, 0.123563774, 0.0263436, -0.31404853, 0.11083086, -0.1827326, 0.046315327, 0.02357315, 0.08001404) * go_2(-1.0, -1.0); - result += mat4(-0.25918508, -0.09035259, -0.11229619, 0.08937231, -0.07499014, -0.13759968, -0.06618682, -0.117273055, 0.13919342, 0.04063526, 0.0072243907, -0.010585091, -0.039012935, 0.038917992, -0.10635016, -0.021612033) * go_2(-1.0, 0.0); - result += mat4(-0.0089387875, 0.10615507, -0.035624836, 0.21369669, -0.10219163, -0.041785926, -0.16842867, 0.14568092, 0.007918519, 0.17244598, -0.1169083, -0.05689179, -0.02399704, 0.01797599, -0.010986574, -0.017950263) * go_2(-1.0, 1.0); - result += mat4(-0.1522888, -0.113724284, -0.0508058, -0.16001092, 0.106977604, 0.053684708, -0.029986003, -0.110413074, 0.06492325, 0.17037806, 0.06288644, 0.23390365, -0.09741724, -0.06995056, -0.057531606, 0.01844941) * go_2(0.0, -1.0); - result += mat4(0.15611115, 0.040233236, -0.15241939, 0.21942209, -0.08196805, 0.04386631, 0.026889535, 0.28283122, -0.1527832, -0.046571508, 0.0018935538, -0.080615886, -0.12228735, -0.08016452, 0.0026405575, -0.070778325) * go_2(0.0, 0.0); - result += mat4(-0.042836025, 0.061742477, 0.26000306, -0.0013946262, 0.1407296, 0.24357088, 0.02941107, -0.31321937, -0.16753249, 0.15091048, -0.24045682, 0.08972196, 0.017686358, 0.08580807, 0.22204015, -0.0032575685) * go_2(0.0, 1.0); - result += mat4(0.05686254, 0.0023638983, -0.0822024, -0.06302648, 0.018615028, 0.06446251, 0.040583827, -0.015167025, -0.30382422, 0.032748684, 0.018681254, 0.075088434, 0.05812204, 0.029412095, -0.13035361, 0.12716398) * go_2(1.0, -1.0); - result += mat4(0.10954507, -0.0024484838, -0.04169171, 0.16917403, -0.035183076, -0.12553833, -0.22168499, -0.099494375, -0.118895225, -0.048939522, 0.038423754, -0.0077083064, 0.01274566, 0.044805672, -0.022168672, -0.057101645) * go_2(1.0, 0.0); - result += mat4(-0.10617008, -0.009070101, 0.05165893, -0.05298376, 0.11254456, 0.009726123, 0.06991818, -0.04886579, -0.09596588, 0.018851314, -0.08360388, 0.0025929522, -0.06251962, -0.042865653, -0.045322847, -0.026201174) * go_2(1.0, 1.0); - result += mat4(-0.049717374, 0.010736889, 0.15671317, -0.022999978, 0.019685196, -0.013085636, -0.008551068, -0.05243168, 0.002952741, 0.033997223, 0.07501866, 0.120448984, -0.08077145, 0.029829111, 0.03794393, -0.030543867) * go_3(-1.0, -1.0); - result += mat4(-0.25224376, -0.06768517, -0.07005058, 0.06228225, 0.03079539, -0.1084864, 0.0077283275, -0.050937615, 0.008869107, 0.0716059, -0.1658049, -0.045246806, -0.26357064, -0.021991378, -0.13131489, 0.13625829) * go_3(-1.0, 0.0); - result += mat4(-0.13381018, 0.035021957, 0.15034844, 0.13458283, 0.024573468, -0.0063623847, -0.056051284, -0.104659565, 0.036586266, -0.18148834, 0.027351456, 0.11023601, -0.13878205, 0.11888687, -0.03811043, 0.03087424) * go_3(-1.0, 1.0); - result += mat4(-0.37242985, -0.1407765, 0.20398182, -0.08089834, 0.012205813, 0.013402745, -0.00024050876, -0.0077133654, 0.11622889, -0.0049767373, -0.030082246, 0.009957579, -0.10164527, -0.0060521765, -0.0579422, 0.01945247) * go_3(0.0, -1.0); - result += mat4(-0.008741076, 0.13936417, -0.17995904, -0.09130485, -0.0074449205, -0.010273961, 0.044558648, 0.017304022, -0.21149126, 0.016885474, 0.058321353, -0.05664048, -0.13285065, 0.009403637, 0.08154729, 0.04631832) * go_3(0.0, 0.0); - result += mat4(-0.10989927, -0.062021922, 0.1487745, 0.007168839, 0.028093478, 0.14229786, 0.12533048, -0.05652466, -0.03958524, -0.1692561, 0.09212111, -0.12421803, 0.015370121, -0.03957488, 0.088210456, -0.0044525107) * go_3(0.0, 1.0); - result += mat4(0.0043160124, -0.061977856, 0.021317773, -0.11943341, -0.064133406, 0.07397345, 0.13196148, -0.015919702, -0.033692982, 0.041615795, -0.09160119, 0.026745725, 0.01504492, 0.093383975, 0.010174933, -0.057094634) * go_3(1.0, -1.0); - result += mat4(-0.07953229, 0.101896495, -0.010168308, 0.02396339, -0.085219055, 0.0010512068, -0.011841891, -0.08049679, 0.026517114, 0.02582323, -0.11858419, 0.059420392, -0.12342277, -0.047074217, -0.06347131, 0.002858185) * go_3(1.0, 0.0); - result += mat4(0.014326853, -0.08869476, -0.056715887, 0.004668106, -0.010806363, -0.046402488, 0.06119079, -0.057461627, -0.053133115, 0.12268668, -0.048906706, -0.015108306, 0.031009628, 0.03836039, 0.093381, -0.21037707) * go_3(1.0, 1.0); - result += mat4(0.08134721, -0.0934979, 0.10944199, -0.019524302, 0.0046149897, -0.028616823, 0.04847914, -0.057818424, -0.034710694, 0.04014125, -0.0364429, -0.06897909, -0.1878272, 0.016250238, -0.03700313, -0.06731215) * go_4(-1.0, -1.0); - result += mat4(0.10908451, -0.022687301, 0.050137516, -0.010541505, 0.21127963, -0.054874644, -0.0700352, -0.04913987, -0.1250425, 0.13569653, -0.07929906, 0.0010169582, 0.038114645, -0.042086445, -0.0019843192, 0.23153318) * go_4(-1.0, 0.0); - result += mat4(0.04310713, 0.057254057, -0.02167211, 0.009200921, 0.12851475, -0.14369237, -0.1346869, 0.019980187, -0.11089194, -0.15189494, -0.11591209, 0.01131138, 0.02846216, 0.0007677088, 0.23944266, 0.03081744) * go_4(-1.0, 1.0); - result += mat4(0.013688181, 0.05020314, 0.06840467, 0.099603474, 0.027732346, -0.03513163, -0.027012289, -0.14188248, 0.11790062, -0.14810887, 0.12666091, 0.42750952, 0.018835025, -0.14886224, -0.0063641993, -0.037943367) * go_4(0.0, -1.0); - result += mat4(-0.024243148, 0.07883424, 0.15658596, -0.17247504, 0.09594199, -0.06973682, -0.059469186, 0.02972273, -0.17408323, 0.16550143, -0.082254626, -0.23670337, 0.124770686, 0.16527455, 0.11569718, 0.03506502) * go_4(0.0, 0.0); - result += mat4(-0.032389782, 0.074448265, -0.10449024, 0.05341025, 0.10806637, -0.09637673, -0.13023008, -0.084475406, -0.07243098, 0.03239016, -0.10461865, -0.003481539, 0.13019899, 0.031104326, 0.06753554, 0.060100142) * go_4(0.0, 1.0); - result += mat4(-0.07535898, 0.008242841, -0.004561214, 0.05798962, 0.011912443, 0.032585215, 0.020705175, 0.0400687, -0.033268064, -0.01798792, -0.014587306, 0.18506528, 0.083169244, -0.08568325, 0.029904556, 0.115926266) * go_4(1.0, -1.0); - result += mat4(-0.13003345, 0.019583154, 0.08765133, -0.16674104, 0.12082818, 0.12958467, -0.071105525, 0.0858696, -0.08295776, 0.37291923, 0.022535155, 0.0989552, -0.042228278, 0.017537622, 0.095537156, -0.1284973) * go_4(1.0, 0.0); - result += mat4(-0.1327005, 0.03579554, -0.047649536, 0.029256782, 0.061056033, -0.1462003, 0.2609105, -0.120875165, -0.04610983, -0.030380502, -0.012423298, -0.06677635, -0.006553319, 0.024372678, 0.064584985, 0.13186966) * go_4(1.0, 1.0); - result += mat4(-0.081831686, -0.039730735, -0.16260423, -0.04378801, -0.09724497, -0.11115086, -0.107005775, -0.0656579, -0.063640535, -0.0064964327, -0.0420931, 0.059754472, -0.094980076, 0.061107792, 0.06692776, 0.048749704) * go_5(-1.0, -1.0); - result += mat4(-0.014279492, -0.08075597, -0.07969828, -0.057795126, -0.044708088, -0.03758876, -0.14196874, -0.0048927367, -0.045001503, 0.027585609, 0.019310012, -0.06802108, 0.121798925, 0.043796845, -0.06755184, -0.0088966135) * go_5(-1.0, 0.0); - result += mat4(-0.079431646, 0.067669995, -0.0629697, -0.062796526, 0.029771931, -0.01794665, 0.03573165, 0.12829529, -0.08649624, -0.0112341475, 0.060816634, 0.06000907, 0.1260396, 0.042080063, 0.07910779, -0.06198818) * go_5(-1.0, 1.0); - result += mat4(0.09501019, -0.07175458, -0.092828795, -0.0033303546, 0.14801711, 0.0076394225, 0.041459143, 0.09485121, -0.051112894, -0.05009014, -0.11743148, 0.11601241, -0.054599077, -0.14917238, 0.07605413, 0.16549622) * go_5(0.0, -1.0); - result += mat4(0.01804321, -0.062229037, 0.09943961, -0.26825753, 0.1242367, 0.023773152, -0.11542415, -0.046245337, 0.039902937, 0.14690155, 0.14292443, -0.033096712, -0.2004688, -0.13680407, -0.11613196, -0.13050957) * go_5(0.0, 0.0); - result += mat4(0.02046965, 0.23301902, -0.049699195, 0.0670193, 0.07440901, -0.0241305, 0.095373504, 0.09044557, -0.0503828, -0.047760323, -0.14202818, 0.08900512, 0.043249875, -0.06237001, -0.016857002, -0.046210334) * go_5(0.0, 1.0); - result += mat4(0.15186685, 0.011037357, -0.06901649, -0.035260003, 0.049713213, -0.007631359, -0.06837185, 0.0071897623, 0.027287314, -0.0033488686, -0.11366089, 0.03824804, 0.08662198, -0.034758914, 0.01733425, 0.07591191) * go_5(1.0, -1.0); - result += mat4(0.10714902, -0.023588402, 0.020249767, -0.11258079, 0.06949909, 0.03333288, 0.03675718, 0.0962656, 0.015865939, 0.13058801, -0.015100719, 0.10612382, 0.06852575, 0.06818764, -0.036699247, -0.010890609) * go_5(1.0, 0.0); - result += mat4(-0.028749213, 0.1270304, 0.020709433, -0.008646854, -0.006319349, 0.002876694, 0.08073896, 0.012850738, 0.02982129, 0.060001448, 0.014897999, 0.06421632, 0.008211786, -0.095982455, -0.047966313, -0.06887302) * go_5(1.0, 1.0); - result += mat4(0.011765878, -0.1560761, 0.028419627, 0.09770131, 0.022010745, -0.009805496, -0.049396887, 0.035067905, -0.16336244, 0.10416307, -0.077474035, -0.14091393, -0.04845585, 0.07146516, -0.14498278, -0.03334902) * go_6(-1.0, -1.0); - result += mat4(-0.17249902, -0.1369923, 0.16056894, -0.124602, 0.033402704, -0.13735686, 0.07206791, -0.09103378, -0.12977293, 0.07021646, -0.130565, 0.046290826, -0.029306449, -0.05839577, 0.042633913, -0.013713723) * go_6(-1.0, 0.0); - result += mat4(-0.057932694, -0.03594843, -0.094092764, -0.08417391, -0.11754973, -0.02735824, 0.03845372, 0.06594408, -0.05019138, 0.032027278, -0.009692472, -0.11167916, -0.073218435, -0.05804819, -0.060230266, -0.095734484) * go_6(-1.0, 1.0); - result += mat4(-0.028974215, 0.09610796, -0.039810438, 0.023835069, 0.09730948, 0.114034005, -0.019014787, 0.036080312, -0.012013382, 0.04129567, -0.10063804, 0.027935166, -0.12567501, -0.2196294, -0.039468378, -0.078189455) * go_6(0.0, -1.0); - result += mat4(0.17258449, -0.015159342, -0.003201201, 0.0434669, 0.23921692, 0.066728525, -0.026492871, -0.022766523, 0.08760509, -0.08222013, 0.16147149, 0.11158234, -0.014550519, 0.06217406, -0.03750209, 0.19907057) * go_6(0.0, 0.0); - result += mat4(0.06525901, 0.050871633, 0.058128685, 0.11077092, 0.004065273, 0.08671709, 0.16208285, 0.05810031, -0.09094384, -0.11943084, 0.06593253, -0.17899986, -0.19452626, -0.10464566, -0.19046801, -0.16835102) * go_6(0.0, 1.0); - result += mat4(0.07525091, 0.021716353, 0.0018433857, 0.014965701, 0.007007522, -0.15346079, 0.04730867, -0.10917385, 0.18842281, -0.0016988723, 0.11013558, -0.082603395, 0.16255169, 0.018193476, -0.17390668, -0.030786235) * go_6(1.0, -1.0); - result += mat4(-0.035498176, -0.19499347, 0.011399788, -0.02048109, 0.27687144, 0.12955186, -0.02254894, 0.11987418, 0.13866305, 0.10277428, 0.0560032, -0.24824081, -0.020840468, 0.044707865, -0.3378386, 0.24445173) * go_6(1.0, 0.0); - result += mat4(0.03282623, 0.12437772, 0.034364846, -0.114410184, 0.14123477, 0.11489304, 0.09349317, 0.028899781, 0.028397765, -0.029411774, 0.01825738, -0.020454096, -0.099450424, 0.013476895, 0.06911034, 0.021989046) * go_6(1.0, 1.0); - result += mat4(-0.004040288, 0.025118109, 0.004282638, -0.06503641, -0.0077800406, 0.03851912, 0.0059970575, -0.06911158, 0.010772937, 0.09543403, 0.030011812, 0.0055668824, -0.018088907, 0.0039552003, 0.025213696, 0.04647139) * go_7(-1.0, -1.0); - result += mat4(0.0015613356, 0.059214883, 0.10079195, 0.094318874, 0.034617897, -0.069798335, 0.107219554, 0.0051483414, 0.13880159, 0.1362381, -0.0074231327, 0.050913937, 0.20942143, -0.04950454, -0.0073430883, -0.040999684) * go_7(-1.0, 0.0); - result += mat4(-0.0037077703, 0.014000985, -0.019658884, -0.0024262706, 0.14824341, 0.041074853, 0.0156152565, -0.013938521, 0.03286799, 0.12727083, 0.046227213, 0.046221834, 0.06743431, -0.102282085, -0.016164223, -0.093975276) * go_7(-1.0, 1.0); - result += mat4(-0.03119865, -0.03312246, -0.12136074, -0.057890557, 0.024023848, 0.11058454, -0.0050210683, 0.043372292, -0.06799253, 0.0729772, 0.056313902, -0.0806389, 0.025213253, -0.02325896, -0.02560138, 0.0634847) * go_7(0.0, -1.0); - result += mat4(0.06360865, 0.011349906, 0.14926448, 0.07106804, 0.18288492, 0.018383801, 0.13807167, -0.1644954, -0.00544295, 0.13943602, 0.069695644, -0.066643015, 0.09847005, -0.06274543, -0.087997206, 0.039698638) * go_7(0.0, 0.0); - result += mat4(-0.04451962, 0.07100602, -0.06476852, 0.04610342, -0.09133099, -0.044458095, 0.053394422, -0.07136398, -0.027369678, -0.014199988, -0.07218346, -0.012736417, 0.063344404, -0.13564536, 0.0100170905, -0.008917721) * go_7(0.0, 1.0); - result += mat4(0.096585214, -0.081907056, -0.06123312, 0.068057954, -0.075309746, 0.09689756, 0.0012505499, 0.089823835, 0.105237834, 0.16730207, -0.021632383, -0.026819492, -0.034036633, -0.07847478, -0.014592861, -0.057672337) * go_7(1.0, -1.0); - result += mat4(0.07605288, -0.02486637, -0.023775922, 0.099300034, 0.0033312156, -0.040028885, 0.05505948, -0.25174525, 0.12118299, -0.093578465, -0.037082873, 0.17062703, -0.17074107, -0.123013474, -0.013681799, 0.079138085) * go_7(1.0, 0.0); - result += mat4(-0.07577073, 0.2217261, 0.013578049, -0.15505485, -0.14072753, -0.029969715, -0.14958392, 0.063965686, 0.049879476, 0.17617449, -0.08425422, -0.08204683, -0.10914215, -0.07847302, -0.019555492, -0.012018014) * go_7(1.0, 1.0); - result += mat4(0.06792231, 0.0044831755, -0.02620918, 0.27576953, 0.04270262, 0.14574005, 0.12898625, 0.028507214, -0.063540444, -0.016433526, 0.009520048, 0.048382808, 0.022429237, -0.04384335, 0.041377608, -0.0833542) * go_8(-1.0, -1.0); - result += mat4(0.17460293, 0.019206937, 0.03453427, 0.0009134727, 0.07100633, 0.016595127, -0.035355378, 0.044993892, -0.06672958, -0.028377654, -0.12397699, 0.06648999, 0.12059469, 0.015130094, 0.18219775, -0.17909163) * go_8(-1.0, 0.0); - result += mat4(0.16713336, 0.13575985, 0.038676504, -0.15138276, -0.0724845, 0.038978256, 0.11033223, 0.019161243, 0.023343462, -0.0010168983, 0.065426186, 0.03065909, 0.04458682, -0.074035086, -0.08909607, 0.02138337) * go_8(-1.0, 1.0); - result += mat4(0.09952613, -0.016984671, -0.04409617, 0.18817145, -0.09666824, 0.07400927, 0.12104504, -0.013182751, 0.050106943, -0.051792517, -0.06437911, -0.0042484365, -0.026693199, 0.033142142, -0.024158182, -0.03871271) * go_8(0.0, -1.0); - result += mat4(0.045538045, 0.0887923, 0.07346304, -0.041433837, -0.003453982, -0.019129949, -0.026396815, 0.015001767, 0.04293423, 0.05469441, -0.03848117, 0.027109614, 0.034081414, 0.1651076, 0.12631264, -0.06551816) * go_8(0.0, 0.0); - result += mat4(0.11156473, -0.044868644, 0.08807232, -0.043000016, -0.023902416, -0.025987212, -0.028414259, 0.11394663, 0.09727269, -0.11140669, 0.07813744, -0.16975576, -0.027452894, 0.07528256, -0.12184228, -0.1886155) * go_8(0.0, 1.0); - result += mat4(-0.07709758, -0.099323675, 0.07473009, 0.2754919, -0.031245071, -0.06709751, 0.023682723, 0.034528423, 0.11744557, 0.06357556, 0.008586241, -0.066709384, -0.032634113, -0.11260032, -0.06016416, 0.052459273) * go_8(1.0, -1.0); - result += mat4(-0.03536062, 0.16618316, -0.06997681, -0.25911033, 0.07330778, 0.07964729, 0.050815016, -0.042269565, 0.055337824, 0.041217215, -0.052118428, -0.0034286622, -0.10977683, -0.13231349, -0.10566766, -0.0604337) * go_8(1.0, 0.0); - result += mat4(0.101832174, -0.1918096, 0.18838517, 0.17609091, 0.009340354, -0.10303118, -0.08654778, 0.16247928, 0.025510713, -0.10982296, 0.036483496, 0.0027904355, -0.18435988, -0.067036085, -0.0029120399, -0.11961335) * go_8(1.0, 1.0); - result += mat4(0.06876337, 0.042338923, 0.02765794, -0.052441236, -0.06423485, -0.14854555, 0.06896901, 0.012909233, -0.003486955, 0.16777417, -0.12802757, -0.17533931, -0.12460719, 0.2612138, 0.025171904, -0.055894982) * go_9(-1.0, -1.0); - result += mat4(0.1214484, 0.019674076, 0.07405682, -0.08170348, -0.07403517, 0.1277416, 0.0743718, -0.12683785, -0.26315367, 0.033963945, -0.14907846, 0.10856253, 0.07750543, 0.1392015, 0.12018922, -0.039252818) * go_9(-1.0, 0.0); - result += mat4(0.10266759, -0.07020272, -0.0054496373, -0.06486304, -0.024195813, -0.0625625, 0.28768256, 0.008273708, -0.06341503, 0.04007451, 0.00047008428, -0.035673216, 0.21918093, 0.08433501, -0.006143216, -0.048308093) * go_9(-1.0, 1.0); - result += mat4(0.0449781, -0.017431937, 0.096861534, 0.0067550996, -0.028361911, -0.01000641, 0.06504384, 0.04209661, -0.26212123, -0.055139136, 0.046705984, 0.037207633, -0.09915632, 0.1503239, -0.124964535, -0.110592045) * go_9(0.0, -1.0); - result += mat4(0.061559457, -0.1020342, 0.17153032, -0.043774888, -0.42859337, -0.24905643, 0.32323125, -0.44891423, 0.023292232, 0.18651833, 0.034222018, 0.06285988, 0.35305637, 0.32526848, -0.17719568, 0.24293044) * go_9(0.0, 0.0); - result += mat4(0.0037996387, -0.05297437, -0.1689018, 0.05314843, -0.08689403, 0.22258975, 0.014946387, -0.026120821, 0.06823834, 0.019251974, -0.07434834, 0.19708487, 0.06587573, 0.44262806, 0.16318472, -0.023516994) * go_9(0.0, 1.0); - result += mat4(0.0233379, -0.0024273756, -0.03005202, -0.032282483, -0.03927204, -0.07099316, -0.11155208, 0.06318727, 0.1405887, -0.030640755, 0.03459993, -0.061110955, -0.09047155, 0.1601112, -0.013677439, -0.16509454) * go_9(1.0, -1.0); - result += mat4(0.009490245, -0.008072189, 0.022973398, 0.016606418, 0.1013836, 0.061581362, 0.09579702, -0.0744045, 0.07057026, 0.0054289084, -0.17252815, 0.10850029, 0.04104874, 0.22273603, 0.087035716, 0.2083312) * go_9(1.0, 0.0); - result += mat4(0.019000124, 0.062126126, -0.008888399, -0.010648336, -0.02214874, 0.09975152, 0.080602825, 0.04370231, -0.0431664, -0.08772232, 0.046385072, -0.009903082, -0.18314974, 0.050710335, -0.15213948, 0.20295005) * go_9(1.0, 1.0); - result += mat4(0.07735129, 0.07734856, 0.033517826, 0.07171924, 0.0061949333, 0.046915278, -0.09444245, 0.05527773, 0.13675945, -0.031538192, 0.026158364, 0.020119652, -0.038822245, -0.008736489, 0.12681441, -0.036986522) * go_10(-1.0, -1.0); - result += mat4(-0.0320571, 0.14015475, 0.056762595, -0.23470114, -0.09925409, -0.22458291, 0.022473779, -0.052811757, -0.12146114, 0.07147161, 0.00755138, 0.067693874, -0.0537536, -0.04895558, -0.11905466, -0.12070653) * go_10(-1.0, 0.0); - result += mat4(-0.03064348, 0.12593585, -0.0787228, 0.100105345, -0.069484666, -0.07473037, -0.08891059, -0.092456885, -0.08876873, 0.07422951, 0.13339978, 0.05017716, -0.02805476, 0.05464844, -0.15448321, -0.11486075) * go_10(-1.0, 1.0); - result += mat4(-0.044661205, -0.07948136, 0.13388704, -0.16309729, 0.04260037, 0.047987767, 0.047202986, -0.001614947, 0.040237345, 0.017897597, -0.0011386065, -0.16783398, 0.047689114, 0.046358828, 0.0057661133, 0.1370509) * go_10(0.0, -1.0); - result += mat4(0.02958124, -0.07839863, -0.0982092, 0.102068864, 0.0017932036, -0.05858819, 0.039588373, -0.020684792, 0.07956233, 0.13028911, -0.09081386, -0.118944034, -0.11206335, -0.033597928, -0.04488249, -0.008232634) * go_10(0.0, 0.0); - result += mat4(0.011597775, -0.055588562, 0.10501173, -0.17899369, 0.09324266, 0.13583738, 0.14483112, -0.09747359, 0.009214086, -0.06827894, 0.14694221, 0.15593632, -0.11254752, -0.0050783027, -0.22353044, -0.058920577) * go_10(0.0, 1.0); - result += mat4(-0.05378917, 0.086674206, 0.035829477, -0.10503677, 0.008429897, -0.13689163, 0.23580547, -0.106810965, 0.09773216, -0.09078484, -0.11861644, 0.02434357, 0.057524312, -0.074919604, -0.05725938, -0.095171385) * go_10(1.0, -1.0); - result += mat4(0.016109377, 0.013099856, -0.08617584, 0.03963428, 0.041205827, 0.08666136, 0.026972812, 0.0026053388, 0.02779692, 0.011868566, 0.018249149, -0.097442895, -0.17583683, 0.06786349, 0.037664376, 0.0797328) * go_10(1.0, 0.0); - result += mat4(0.047050953, -0.0731469, 0.08457175, -0.074505284, -0.05459736, 0.092681654, 0.048452456, -0.0008404358, -0.07282775, -0.008805529, -0.0038056236, 0.10644807, -0.05030183, 0.12713799, -0.08751896, -0.016655242) * go_10(1.0, 1.0); - result += mat4(-0.06307826, 0.014256774, -0.112667084, -0.004374373, 0.0016702815, -0.0012741702, -0.0703549, -0.049554512, -0.015644677, -0.004483042, 0.011172305, -0.267767, -0.026991133, 0.065580614, 0.0069980714, 0.111035265) * go_11(-1.0, -1.0); - result += mat4(-0.02440592, -0.06333373, 0.007379077, 0.1688759, 0.03798265, 0.09410997, -0.21902218, -0.003939251, -0.17722172, -0.08226677, -0.24438883, 0.121153526, -0.008109413, -0.14817086, -0.078997254, 0.03786915) * go_11(-1.0, 0.0); - result += mat4(0.030591737, -0.09482286, 0.12181502, 0.057631243, 0.08759884, -0.17105722, 0.0964372, -0.109260045, -0.052637015, -0.013185344, -0.11147237, 0.076789476, -0.07351503, 0.08667414, 0.096757755, 0.12759756) * go_11(-1.0, 1.0); - result += mat4(0.08471275, -0.16557701, 0.050174624, -0.025535649, -0.025810966, -0.04688176, 0.037069615, -0.09784653, 0.05009029, 0.027799185, 0.13554801, -0.05577445, -0.14021182, -0.05564169, -0.06002962, -0.00078120775) * go_11(0.0, -1.0); - result += mat4(0.067065805, 0.0047575375, 0.073646456, 0.11712173, 0.13899939, -0.14882548, 0.1768432, 0.246122, -0.102960475, -0.052807406, -0.15377884, -0.071115606, 0.024046259, 0.17466155, 0.027760359, 0.14437848) * go_11(0.0, 0.0); - result += mat4(0.033062924, -0.07700975, 0.09830998, -0.036917005, 0.14771664, 0.050855856, -0.14142801, -0.14804444, -0.046894778, 0.15373212, 0.019493164, -0.0064124498, 0.0590096, -0.10034818, 0.14113134, -0.15411709) * go_11(0.0, 1.0); - result += mat4(-0.029877083, -0.012765826, 0.103617184, -0.025865637, 0.10308, -0.013020275, 0.09340629, -0.021735948, -0.10842617, 0.039857816, 0.07585392, -0.0061892257, -0.09355829, -0.12881306, -0.07988342, 0.033735536) * go_11(1.0, -1.0); - result += mat4(-0.009701788, -0.051857222, -0.08697704, 0.052092426, -0.09670878, -0.09957194, 0.049242835, -0.014359006, 0.0899569, 0.023190506, -0.011281856, -0.09034019, -0.12512034, 0.028475331, -0.29740763, 0.13716742) * go_11(1.0, 0.0); - result += mat4(0.01507877, -0.17355633, 0.07485617, 0.04736884, 0.07656799, -0.033274084, -0.13986339, -0.042700406, -0.0043234834, 0.05111263, -0.07441735, 0.038007017, -0.05553268, 0.028594827, -0.09326329, 0.036843423) * go_11(1.0, 1.0); - result += vec4(0.07485647, -0.020073265, 0.10867479, 0.0028992307); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!SAVE conv2d_22_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.046997122, -0.12100286, -0.04884141, 0.026233625, 0.13419463, -0.1443756, -0.012541741, -0.09226546, -0.007145756, 0.08064256, -0.1497435, -0.15363759, 0.07059654, 0.05500106, -0.10462021, 0.05593005) * go_0(-1.0, -1.0); - result += mat4(-0.12216866, 0.051958025, 0.009375743, -0.07210758, 0.068535455, 0.04285626, -0.25379446, -0.19455898, -0.049028367, 0.0013313026, -0.060532752, 0.02049411, 0.09910163, 0.061852667, -0.10383363, -0.044615768) * go_0(-1.0, 0.0); - result += mat4(-0.061444093, 0.1475833, 0.08647051, -0.0930838, -0.14166534, 0.014049921, -0.11591214, -0.14689638, 0.0874891, -0.015281789, -0.0823502, -0.02594173, -0.010902944, -0.06132606, -0.11196707, -0.030080898) * go_0(-1.0, 1.0); - result += mat4(-0.025793837, -0.15086421, -0.19421612, 0.049747333, -0.08230918, 0.05910996, -0.11782846, 0.12938577, -0.014073465, -0.026178546, -0.080913424, -0.11990293, 0.14808998, -0.28540215, -0.06472948, -0.010120146) * go_0(0.0, -1.0); - result += mat4(0.19346227, 0.13168143, -0.04456171, -0.031110242, 0.1958846, -0.097187325, 0.21183993, 0.014313686, 0.10280612, 0.029677134, 0.021590104, -0.0549455, 0.06909031, 0.18166044, 0.10388618, -0.08829224) * go_0(0.0, 0.0); - result += mat4(-0.0031296194, -0.06930685, -0.06413895, -0.06983414, 0.08569904, -0.016175283, -0.046621192, -0.09202774, 0.15233985, 0.024364363, -0.29214412, 0.044175327, 0.087574676, 0.06123415, -0.08159602, -0.011336161) * go_0(0.0, 1.0); - result += mat4(-0.062429257, -0.105471455, -0.016470768, -0.05267765, 0.08255332, -0.08158764, -0.047480583, 0.0019701628, 0.016991843, -0.006585283, -0.077434, -0.0606294, 0.050235912, -0.036302667, -0.0264623, -0.042568684) * go_0(1.0, -1.0); - result += mat4(0.023253636, -0.10328209, -0.16303001, -0.048888057, -0.039046, -0.111786336, -0.16389178, -0.070566714, 0.06927663, -0.06075797, 0.058570758, 0.08614872, -0.06420862, -0.11052116, -0.17195828, -0.0487142) * go_0(1.0, 0.0); - result += mat4(0.007835351, -0.11952224, -0.055611454, 0.06253066, -0.16406657, -0.026589788, -0.04881448, -0.072442584, 0.15065135, -0.020272309, 0.106116734, 0.10159893, -0.07763442, -0.1154798, -0.068373024, -0.019201068) * go_0(1.0, 1.0); - result += mat4(0.007881484, -0.018956061, -0.10238142, -0.065618366, -0.085468605, -0.10829776, 0.04466075, -0.033923257, -0.030379139, -0.112352885, -0.16573362, -0.0046788733, 0.10192286, 0.012241325, -0.008367136, 0.13939787) * go_1(-1.0, -1.0); - result += mat4(-0.12548573, -0.17437999, 0.044533756, -0.028276276, -0.025529345, -0.19759917, 0.018058592, -0.0155923525, -0.10641326, 0.0409181, 0.03527669, 0.047415253, 0.020718088, -0.30797186, -0.21207485, 0.0036288712) * go_1(-1.0, 0.0); - result += mat4(-0.088835835, -0.04088323, 0.09541493, 0.0036682652, -0.051487926, -0.040323682, -0.04281542, 0.04629765, -0.03342067, 0.08957436, 0.004126199, -0.008449139, -0.036389407, -0.14960203, -0.07720017, 0.07967078) * go_1(-1.0, 1.0); - result += mat4(0.1275389, 0.071911804, -0.089651175, 0.06027813, 0.05242023, -0.17800786, 0.033388127, 0.047203768, -0.0061615775, 0.18713911, -0.07540493, 0.033642605, -0.1332734, -0.033441074, -0.3789655, -0.20124121) * go_1(0.0, -1.0); - result += mat4(-0.21529193, -0.07309391, 0.13345052, -0.19792062, 0.017011393, -0.21173282, 0.07146319, -0.031750828, 0.13061215, -0.15527315, -0.16700245, 0.007335491, -0.2172841, 0.2143339, -0.22815406, 0.14065409) * go_1(0.0, 0.0); - result += mat4(-0.07513899, -0.034861445, 0.13694373, -0.076085225, 0.25725672, -0.0961054, 0.05299114, 0.12998691, -0.13058788, 0.06323388, 0.22868565, 0.10022399, 0.20160815, 0.08419191, -0.45523426, 0.038634546) * go_1(0.0, 1.0); - result += mat4(-0.03069317, 0.0020776265, -0.13730045, 0.017589461, -0.08978155, 0.034737073, 0.024451151, -0.13444564, 0.08189186, 0.0021741083, -0.07135305, -0.21313664, 0.18004654, -0.071943365, -0.062959984, 0.042037543) * go_1(1.0, -1.0); - result += mat4(-0.16266273, 0.032375176, -0.020130523, -0.019933598, -0.09530369, -0.055704728, -0.013548029, 0.15418105, -0.11459221, -0.009273215, -0.07004744, 0.08151815, 0.013939583, 0.0688238, -0.08441118, -0.09257367) * go_1(1.0, 0.0); - result += mat4(0.0012220248, -0.03341076, 0.014033425, -0.041355435, 0.1678779, -0.108265966, 0.03699756, -0.057082288, -0.026414966, -0.043634232, -0.07064977, 0.083690174, -0.014152075, 0.024385598, -0.15039313, 0.087886184) * go_1(1.0, 1.0); - result += mat4(0.03341343, -0.023580177, 0.017034482, 0.019147007, 0.003610678, 0.07257288, 0.027795065, -0.008015539, -0.020708026, 0.08782355, 0.20555335, 0.15255499, 0.030730275, 0.030919343, 0.055893462, -0.05121374) * go_2(-1.0, -1.0); - result += mat4(-0.07056404, 0.0008074058, 0.06927488, 0.0112707745, -0.03385172, 0.14753868, -0.02791015, 0.08394996, 0.025785098, 0.18524182, 0.11470624, 0.09741343, 0.032812912, 0.0019922904, -0.06400856, -0.056387126) * go_2(-1.0, 0.0); - result += mat4(0.013094418, 0.04240805, -0.13005644, -0.022992892, 0.026921153, 0.15785399, -0.12916863, -0.022955244, 0.13405393, -0.04121011, 0.36054406, 0.21023643, 0.030884495, 0.060173687, 0.07046953, 0.13063504) * go_2(-1.0, 1.0); - result += mat4(-0.17606279, 0.091486335, 0.11436753, 0.00015786696, 0.10205861, 0.082999766, -0.06630661, 0.040624302, 0.14982021, -0.044264138, 0.041062187, 0.086487375, -0.014876001, 0.21616699, 0.031135587, 0.11567944) * go_2(0.0, -1.0); - result += mat4(0.009459851, 0.092873424, -0.06803694, 0.10354333, 0.10086275, -0.25290945, 0.022528645, 0.14624892, -0.073030144, 0.10012705, -0.12167824, -0.19823883, -0.15097004, -0.038354833, 0.09062165, 0.094296865) * go_2(0.0, 0.0); - result += mat4(-0.058591783, -0.028607288, -0.20450185, -0.19339508, 0.16992015, -0.14210172, 0.011878018, 0.005437034, -0.048708122, 0.07122096, 0.3077209, 0.1362555, 0.032628812, -0.0398259, 0.124816954, 0.10254738) * go_2(0.0, 1.0); - result += mat4(0.05892028, 0.014137905, -0.07128729, 0.11104966, -0.05478398, -0.05298077, -0.17213196, -0.15966077, 0.085253194, -0.041901764, -0.0047290125, -0.15192038, 0.010950019, 0.103487924, 0.057453156, 0.19038135) * go_2(1.0, -1.0); - result += mat4(0.015610098, 0.075018175, 0.0012223121, 0.02704537, -0.059558786, -0.00981017, 0.035760045, 0.026199872, -0.07363584, -0.005702127, -0.002411957, -0.024275424, 0.104548156, 0.02570165, -0.027506622, 0.1147194) * go_2(1.0, 0.0); - result += mat4(-0.025113866, -0.0028404803, -0.09208876, -0.018119304, 0.060479216, 0.054358874, -0.0009980871, -0.06746933, -0.005560316, -0.09528241, 0.04668353, 0.102816455, 0.007219119, 0.12849133, 0.03796823, -0.07405976) * go_2(1.0, 1.0); - result += mat4(0.025279725, -0.2086932, -0.104468234, -0.018136755, -0.030640496, 0.023590315, -0.03503084, -0.006554279, 0.018687204, 0.059086647, 0.02467806, 0.004853845, -0.053034738, 0.015948862, 0.0058519407, -0.013386711) * go_3(-1.0, -1.0); - result += mat4(-0.14925107, -0.0009474308, 0.1585367, -0.012372946, -0.044659458, -0.053634737, -0.05216601, -0.0592839, -0.054201476, -0.015165192, -0.17266753, -0.024070794, 0.11370013, 0.031887148, 0.057068843, 0.15175273) * go_3(-1.0, 0.0); - result += mat4(0.1118406, 0.02640981, -0.15138902, 0.06516595, -0.05368937, 0.018493345, -0.06337737, -0.012523588, -0.030711057, -0.004243965, -0.10415173, -0.1297656, 0.036850087, 0.031256188, -0.06911153, -0.002682897) * go_3(-1.0, 1.0); - result += mat4(-0.042692896, -0.08249505, 0.19178525, -0.19799644, 0.10422664, 0.04309992, -0.021501752, -0.07692858, -0.01206334, -0.02407162, -0.036461856, -0.041852392, -0.076257735, 0.11912031, 0.005696978, -0.042241532) * go_3(0.0, -1.0); - result += mat4(-0.02871122, -0.275253, -0.06026321, 0.041147415, 0.00022554948, -0.1900363, 0.013367722, 0.011928886, 0.073590994, 0.026705895, 0.055335205, 0.08072782, -0.055277143, -0.15064028, 0.011789763, -0.16611154) * go_3(0.0, 0.0); - result += mat4(0.05368454, -0.10991119, 0.051114134, 0.11979519, 0.013257083, -0.005322003, 0.08496699, -0.05037192, 0.09517694, 0.12286991, 0.05019745, -0.0038502123, 0.08148237, -0.06907752, 0.0064364313, 0.06999926) * go_3(0.0, 1.0); - result += mat4(-0.052517924, -0.14661871, -0.056497082, 0.1144383, -0.017861186, -0.0060358653, -0.1314563, -0.025628474, -0.09131563, 0.047019433, 0.050449356, 0.04904481, -0.03492852, -0.009225151, 0.039983496, -0.036155675) * go_3(1.0, -1.0); - result += mat4(-0.08112401, 0.012658392, 0.16082676, 0.08919791, 0.07435944, -0.106316976, -0.010990006, -0.022582484, -0.0007324526, 0.18405382, 0.117646195, 0.009590701, -0.05057144, -0.08963242, -0.091133885, -0.06288282) * go_3(1.0, 0.0); - result += mat4(0.041868895, 0.012034553, -0.08494676, 0.032575436, 0.010422759, 0.06013177, -0.018280506, -0.059219655, 0.025697298, 0.11670765, 0.04770585, -0.0034011765, -0.04785896, -0.000260945, 0.024434252, 0.07608657) * go_3(1.0, 1.0); - result += mat4(0.0487557, 0.043031365, 0.02341455, 0.036415786, -0.053806238, 0.07092269, 0.10875814, -0.092647836, 0.014732621, -0.0010029125, -0.07482472, 0.016473573, -0.034810837, 0.079141185, 0.1312811, -0.036030013) * go_4(-1.0, -1.0); - result += mat4(0.010378125, 0.012537317, 0.06153961, 0.09208961, -0.0007830361, -0.060240563, -0.13480729, -0.13885787, -0.14105716, 0.04920337, -0.031995706, -0.13736074, 0.18244028, -0.0071414276, -0.17461161, 0.06479701) * go_4(-1.0, 0.0); - result += mat4(-0.038390495, 0.055263612, 0.02370651, -0.04647334, 0.11870489, -0.06032031, -0.19890672, 0.021211248, -0.14139023, -0.052458048, -0.0075077745, -0.022109684, 0.102123305, -0.08499851, 0.029855985, 0.024451595) * go_4(-1.0, 1.0); - result += mat4(0.09861641, 0.0069827167, 0.011803958, -0.026153803, -0.0060246573, -0.03787462, 0.043360688, 0.012235505, 0.017045997, -0.256788, 0.017880265, -0.034849543, -0.111704394, 0.17131205, 0.101895064, -0.15821253) * go_4(0.0, -1.0); - result += mat4(-0.08342609, -0.10629229, -0.015619444, -0.06318196, -0.115525015, -0.022523794, -0.027760634, -0.074508704, -0.046273187, 0.09818472, -0.02930276, 0.14277627, 0.15965527, 0.039112113, -0.16981691, -0.039574727) * go_4(0.0, 0.0); - result += mat4(-0.076295614, 0.002619374, -0.084814966, -0.06804759, 0.074534595, -0.11113554, 0.10076573, -0.13119984, 0.11308077, 0.111851715, -0.044262107, -0.0763218, -0.08360489, -0.10004514, 0.054715097, -0.119938605) * go_4(0.0, 1.0); - result += mat4(0.028483238, -0.020847226, 0.018413404, -0.02044137, -0.020564802, -0.046718765, 0.008471827, 0.119635455, -0.10286575, -0.11242132, 0.040438928, 0.18718356, 0.10018274, -0.13947287, -0.05125511, -0.024061255) * go_4(1.0, -1.0); - result += mat4(-0.036925066, 0.072045416, -0.05890915, -0.03136949, 0.06360041, -0.044191074, -0.20800789, 0.13599691, -0.051647387, -0.039340172, 0.02642389, -0.07103979, 0.15048401, -0.08553134, -0.008369293, -0.13114177) * go_4(1.0, 0.0); - result += mat4(-0.006130381, 0.04878346, -0.03107036, 0.03386889, 0.007767785, 0.009589193, -0.016151797, -0.06341557, -0.0420232, -0.020952266, 0.13160032, 0.08174703, -0.024778334, 0.05628847, -0.16828674, -0.021963263) * go_4(1.0, 1.0); - result += mat4(-0.10537195, -0.05939119, -0.025755845, 0.028216267, -0.071175165, -0.03789729, 0.0989378, 0.09601511, -0.063779436, -0.0053181713, 0.11608942, 0.037121516, 0.033576798, 0.032970928, -0.057529524, 0.0032640323) * go_5(-1.0, -1.0); - result += mat4(0.14286838, -0.1736398, -0.14800534, -0.08191206, -0.03953447, 0.23950607, -0.08597526, 0.08467724, -0.026279557, 0.05087598, -0.018359046, -0.059996203, -0.05042417, -0.07892299, -0.008090301, 0.08850499) * go_5(-1.0, 0.0); - result += mat4(-0.050231155, 0.022899833, -0.07956835, 0.056238122, 0.03741446, -0.033486012, -0.013336828, -0.039197847, 0.060159415, 0.12715352, -0.006698417, 0.006547076, -0.042515744, -0.027913654, 0.106082916, 0.078032985) * go_5(-1.0, 1.0); - result += mat4(-0.049618073, -0.034503065, 0.11388358, 0.17953554, -0.033589587, 0.036219664, 0.13397391, 0.14855874, 0.03990018, 0.13616882, 0.099754974, 0.24648736, 0.10884145, -0.27241188, -0.117821656, 0.0017401687) * go_5(0.0, -1.0); - result += mat4(0.021536272, 0.08642576, 0.037195385, -0.10996606, 0.12408479, 0.20812504, -0.036405202, 0.021270754, 0.002413637, -0.02607408, 0.047168825, -0.13180013, 0.08296119, 0.02184476, -0.04683944, 0.09263053) * go_5(0.0, 0.0); - result += mat4(-0.015811976, 0.032513253, 0.01968631, -0.006789273, -0.067220315, 0.018724639, 0.12747523, -0.08240558, 0.118411385, 0.11782252, -0.09517592, 0.12042714, -0.18742143, -0.036123615, 0.10736133, -0.08510149) * go_5(0.0, 1.0); - result += mat4(-0.104765184, 0.045517094, 0.041404158, -0.022314396, 0.003119899, -0.012113332, 0.06884947, 0.011183224, -0.050625607, 0.13943316, -0.033125933, 0.13191839, 0.023964286, 0.09083119, -0.099653915, 0.1721858) * go_5(1.0, -1.0); - result += mat4(0.06667882, 0.0877956, -0.1648527, -0.019580912, 0.03860593, -0.0009395115, 0.19213086, 0.0078106583, 0.0988048, 0.00043990058, -0.04125728, 0.0703245, -0.122475274, -0.033983942, -0.054373935, 0.14734876) * go_5(1.0, 0.0); - result += mat4(-0.056236964, -0.0061519835, -0.11115169, -0.05109547, 0.012102874, -0.108630724, -0.06607494, -0.15338409, 0.08441223, 0.015194968, -0.08372225, -0.016544623, -0.09700588, -0.05880861, 0.048582815, 0.076476656) * go_5(1.0, 1.0); - result += mat4(0.13776554, -0.052936643, 0.019647487, 0.0803212, -0.05559324, 0.035937853, -0.09924392, -0.11537048, -0.031881984, -0.13222241, -0.14957231, 0.022755388, -0.027397433, -0.03289762, 0.14141852, -0.03856619) * go_6(-1.0, -1.0); - result += mat4(-0.027278412, -0.08284734, -0.0026741424, -0.15944882, -0.13501692, 0.13683084, -0.08532989, -0.11161998, -0.054424882, 0.05800376, 0.006450865, -0.043620687, 0.08602417, -0.0441996, 0.032869156, -0.14823464) * go_6(-1.0, 0.0); - result += mat4(-0.009657575, 0.019114481, -0.017283678, -0.010072907, 0.04887251, 0.12496577, -0.011754461, 0.050500505, -0.013373958, 0.013354773, 0.029242652, -0.1336298, -0.1537079, 0.05677135, -0.00025009143, -0.07087617) * go_6(-1.0, 1.0); - result += mat4(-0.064487666, 0.3833942, 0.07499888, -0.07232146, -0.012026644, -0.28024527, -0.11542901, 0.0335399, -0.14551026, 0.07706906, -0.32337436, 0.1916734, -0.04155362, 0.12416085, 0.124845795, 0.173139) * go_6(0.0, -1.0); - result += mat4(0.073898025, -0.20087442, -0.026177447, -0.123689614, -0.06462293, 0.0655268, -0.093947105, 0.15252167, -0.049044438, -0.2487094, -0.10678368, 0.06719891, 0.030771753, -0.033488646, -0.06087604, -0.0046983394) * go_6(0.0, 0.0); - result += mat4(0.07337105, 0.012125323, 0.062068686, 0.014573014, -0.028191693, -0.0072010173, -0.10830296, -0.031032234, 0.017278565, 0.15247606, -0.03729882, -0.25167194, 0.018314663, 0.11340456, 0.12664345, 0.06373048) * go_6(0.0, 1.0); - result += mat4(0.10123864, 0.034113098, 0.12163688, -0.08201487, -0.06636731, 0.011072298, -0.07743282, -0.05912393, -0.062030002, -0.03242518, -0.14500205, 0.044862285, -0.02253723, 0.09928088, 0.21793252, 0.33012655) * go_6(1.0, -1.0); - result += mat4(0.02993751, 0.014383746, 0.06966778, 0.047888804, 0.07005458, 0.004509543, -0.06742165, 0.11573537, -0.1739774, -0.03920193, -0.18702276, 0.0046526985, 0.19641514, 0.13161592, 0.3338964, 0.08452334) * go_6(1.0, 0.0); - result += mat4(0.04609854, -0.015881665, -0.0079294285, 0.02657861, 0.15499793, 0.060544066, -0.15108198, 0.0006550436, -0.21288556, 0.013537893, -0.14667915, -0.13764863, 0.111430466, 0.098313995, 0.03934866, -0.040709537) * go_6(1.0, 1.0); - result += mat4(0.01575557, 0.110365376, -0.0371288, 0.053251684, 0.010210395, 0.069207594, 0.13639836, 0.032031704, 0.010463397, -0.012524667, 0.0056991763, 0.06042959, -0.045757174, 0.016123615, 0.032560863, -0.044926804) * go_7(-1.0, -1.0); - result += mat4(0.032096278, 0.12145507, 0.0071361787, 0.0064054704, 0.07929854, 0.14626405, 0.08352755, -0.064157896, 0.02674838, 0.0015989342, 0.017253343, 0.017584372, 0.06415425, 0.032211386, 0.052425314, -0.021224096) * go_7(-1.0, 0.0); - result += mat4(-0.0028588485, 0.008395203, 0.05465568, 0.07570458, -0.04314793, -0.026629142, -0.070622325, -0.09546035, 0.11359681, -0.13417086, 0.032110628, -0.03228526, -0.04069246, -0.025096787, 0.091136, -0.031508237) * go_7(-1.0, 1.0); - result += mat4(-0.09640368, 0.09025797, 0.039918896, -0.08550936, 0.17817599, 0.010808411, 0.20817462, -0.048559044, -0.020850636, -0.0570374, 0.16348915, -0.11251555, -0.015105217, 0.057098076, 0.04712703, 0.054102197) * go_7(0.0, -1.0); - result += mat4(0.14738365, -0.003500714, -0.13826074, -0.018422294, -0.060285367, -0.030951712, -0.011562778, -0.06650357, -0.023934143, 0.1775326, -0.15267935, -0.1525161, 0.07560726, -0.025668195, 0.023556855, -0.041194014) * go_7(0.0, 0.0); - result += mat4(0.029139442, -0.003239477, -0.08716659, 0.111837566, -0.008657237, 0.07745439, 0.040037196, -0.041069187, -0.11329177, -0.011007481, -0.05310564, 0.09779084, -0.09008995, -0.0243168, 0.037338905, -0.09701394) * go_7(0.0, 1.0); - result += mat4(-0.07903009, 0.093667746, 0.19312528, 0.08381446, 0.011933956, 0.106154636, -0.032793045, 0.035009373, -0.07801917, 0.045270134, 0.06788217, 0.0048924587, -0.044558134, 0.011507075, 0.018017467, -0.055140316) * go_7(1.0, -1.0); - result += mat4(0.16976239, -0.01553003, -0.01705739, 0.03858596, -0.0049418295, -0.112970755, 0.017095435, 0.012749947, 0.1280551, 0.046251047, 0.09894141, -0.04999836, -0.066941515, -0.018410202, 0.012274112, -0.05253831) * go_7(1.0, 0.0); - result += mat4(0.04575793, -0.028374217, 0.11475964, 0.12535663, -0.008098015, 0.06414253, 0.07119174, -0.011589727, -0.027308455, -0.064502135, 0.058660276, 0.079647355, -0.07786305, -0.0028918532, 0.08662991, 0.009141603) * go_7(1.0, 1.0); - result += mat4(-0.06572758, -0.02787416, -0.14234906, -0.017296555, 0.015555612, -0.14367816, 0.008122512, 0.006957724, -0.028010411, -0.036744803, 0.043893453, -0.011008589, 0.12574135, -0.04283378, -0.090457834, -0.07553403) * go_8(-1.0, -1.0); - result += mat4(-0.008518568, 0.07606125, -0.12869376, -0.052043673, -0.10871805, -0.013065079, -0.05764756, -0.021367943, 0.01955864, 0.033401143, -0.10848553, 0.07305825, -0.12323872, -0.18032722, 0.025824886, -0.15020397) * go_8(-1.0, 0.0); - result += mat4(-0.0037121738, -0.035729762, 0.050816752, 0.043678828, 0.03746141, 0.06848011, 0.022104677, -0.0055997795, 0.076091535, 0.004378326, 0.03515638, 0.021983122, 0.07813193, -0.0015230721, 0.09065004, 0.118295476) * go_8(-1.0, 1.0); - result += mat4(0.07074412, -0.1385215, -0.12606207, 0.028609358, -0.011605522, -0.09430896, 0.07647415, 0.026507745, -0.08281215, 0.042676542, 0.053245913, 0.2207012, -0.062067375, -0.0870901, -0.074340336, -0.09469978) * go_8(0.0, -1.0); - result += mat4(0.07762102, -0.040280715, -0.07493023, -0.1318729, -0.07614616, 0.07465706, 0.011662431, 0.13781011, -0.022527393, 0.035745207, -0.096200824, 0.0070643346, 0.043660577, -0.11191488, -0.03138543, 0.090094075) * go_8(0.0, 0.0); - result += mat4(-0.013964887, 0.010363963, 0.07191262, -0.0829104, 0.17538683, -0.033144612, -0.02125791, -0.011518183, -0.09983863, -0.025616664, -0.09147105, -0.053669717, -0.21337317, -0.15354706, -0.0718448, -0.22304805) * go_8(0.0, 1.0); - result += mat4(0.04420056, -0.10090975, 0.031569947, 0.03470538, -0.0036813458, -0.013265455, -0.056889914, 0.1066524, 0.0151702, 0.06005157, -0.017583331, 0.08430038, -0.018501299, -0.036312968, -0.010277279, -0.21999538) * go_8(1.0, -1.0); - result += mat4(0.04087802, 0.14486237, -0.03799331, -0.0926625, -0.06845606, -0.028196352, 0.027009577, 0.055904035, 0.010555561, 0.014958373, -0.03274619, -0.077591404, 0.033812538, 0.019690458, 0.03359833, -0.28944182) * go_8(1.0, 0.0); - result += mat4(0.11647528, 0.12951498, -0.05771055, -0.091486864, 0.034907598, -0.0030996082, 0.08349837, -0.022960749, 0.021309365, 0.027397644, 0.06503892, -0.024195915, -0.07038017, -0.110640444, 0.08167904, -0.053956065) * go_8(1.0, 1.0); - result += mat4(0.04372187, -0.014890846, 0.030876832, 0.005183268, -0.03773493, -0.0049523655, -0.13056865, 0.011849769, -0.035963655, 0.086398676, 0.10399313, 0.121177845, 0.062307674, 0.014804274, 0.13519627, -0.15734093) * go_9(-1.0, -1.0); - result += mat4(0.06270554, -0.10448038, 0.10387433, 0.037096098, 0.06353613, -0.2087482, -0.09397193, 0.101207666, -0.071682766, -0.20635937, 0.06152001, 0.0775382, -0.029367838, -0.049260423, -0.015819404, -0.22794764) * go_9(-1.0, 0.0); - result += mat4(-0.07975611, -0.13066694, 0.062664986, 0.08108414, -0.012226212, 0.075787455, -0.028298862, -0.047599275, 0.037168268, 0.13499227, -0.046876244, -0.0004290019, -0.07614362, -0.018529575, 0.029900322, -0.2140864) * go_9(-1.0, 1.0); - result += mat4(-0.004233121, 0.019047871, 0.030410836, -0.118899375, 0.029905774, -0.19907829, -3.0031915e-05, -0.061281253, -0.041311514, -0.047355343, -0.03591193, -0.036588125, -0.14483295, 0.125592, -0.051161528, -0.18530564) * go_9(0.0, -1.0); - result += mat4(-0.0013798283, 0.03669605, -0.05334034, -0.0057405806, -0.10062645, -0.03173633, 0.16853282, -0.27611253, -0.021475406, 0.031351935, 0.010960391, 0.140291, 0.20861414, -0.015575703, -0.05138634, 0.2110561) * go_9(0.0, 0.0); - result += mat4(-0.033924203, 0.03210479, 0.06908555, 0.054515798, 0.07332254, -0.11803057, -0.1892179, -0.11876434, 0.12660997, 0.2300797, -0.050066598, -0.17719114, -0.1316707, -0.11148541, -0.21429071, -0.28844672) * go_9(0.0, 1.0); - result += mat4(0.0801727, 0.014109311, 0.026903018, -0.036585886, -0.08323533, 0.001177735, 0.08436438, -0.03467472, -0.011911298, 0.007684363, 0.08533035, 0.05779875, -0.04243151, -0.038369488, 0.087331034, 0.042095695) * go_9(1.0, -1.0); - result += mat4(0.017717937, -0.033807732, 0.18295978, -0.08258257, 0.0053144027, -0.08301678, 0.103598915, 0.010985296, 0.16911945, -0.098946266, -0.045162726, -0.027147137, 0.09161604, 0.028441563, -0.00619679, 0.056958336) * go_9(1.0, 0.0); - result += mat4(0.017140677, -0.051757205, -0.015921509, 0.007633061, 0.12797745, -0.06414448, -0.009600306, -0.0015806507, 0.012253577, 0.02996018, -0.06196286, -0.0798213, -0.01852956, -0.09650337, 0.1283044, -0.04131959) * go_9(1.0, 1.0); - result += mat4(-0.019013386, -0.01101409, 0.0018240294, 0.09458199, -0.0052628797, 0.0103022875, -0.17696817, 0.021219578, -0.040432002, 0.006109138, 0.043556165, -0.020321526, 0.06994259, -0.045879155, 0.0074202423, -0.07321243) * go_10(-1.0, -1.0); - result += mat4(-0.13378519, 0.113363676, 0.10865509, -0.09366422, -0.07324081, 0.0029385458, -0.15210779, 0.07633753, 0.045514844, -0.0017260545, 0.034837127, -8.464822e-05, -0.045607667, 0.116768576, 0.07218652, -0.047912564) * go_10(-1.0, 0.0); - result += mat4(0.006481794, 0.09362028, 0.047157843, 0.0010180526, 0.029228318, 0.01581854, -0.13255803, 0.073627606, 0.09431813, 0.07132061, 0.07039797, -0.00284305, -0.08673728, 0.015395145, -0.15833478, -0.047947306) * go_10(-1.0, 1.0); - result += mat4(0.009914312, -0.16487928, -0.15010275, -0.28573194, -0.070994526, -0.07262389, -0.2207336, 0.056930132, -0.17332745, -0.07003511, 0.09353054, -0.09416084, 0.03118232, 0.15372173, -0.026521757, 0.123656) * go_10(0.0, -1.0); - result += mat4(-0.14514378, -0.03083442, 0.0016703903, -0.07165909, 0.081610695, -0.0014907691, 0.009103694, 0.011212978, -0.1061739, -0.0379394, 0.05888639, -0.10466225, -0.13205664, 0.074252844, 0.0032393865, -0.02634363) * go_10(0.0, 0.0); - result += mat4(-0.026916346, 0.008441376, 0.059570994, -0.12664525, 0.12565126, -0.07785502, -0.122168474, -0.030150527, 0.11903849, -0.0992599, 0.18073174, 0.051767893, -0.14959627, 0.004044785, 0.15121861, 0.16206947) * go_10(0.0, 1.0); - result += mat4(0.03653998, -0.024239745, 0.02813314, -0.015828544, -0.04878819, -0.07809865, -0.006367401, 0.007630891, 0.0981032, -0.015401163, 0.06639808, 0.097982354, -0.115853764, 0.07017812, 0.10402508, -0.011182731) * go_10(1.0, -1.0); - result += mat4(0.06496927, -0.018879699, 0.007150441, 0.09561157, -0.03019065, 0.06516263, -0.09582105, 0.049994342, 0.00073441875, 0.03121817, 0.06486874, -0.018686142, 0.017000668, 0.057988003, -0.0027845122, 0.10805613) * go_10(1.0, 0.0); - result += mat4(-0.03881939, 0.076584905, -0.01492404, 0.033622492, -0.11037585, -0.07232699, -0.08808092, -0.096008874, 0.07500696, 0.004172255, -0.01156086, -2.6804833e-05, -0.10544993, 0.0137853585, 0.13452797, 0.10919218) * go_10(1.0, 1.0); - result += mat4(0.1067839, 0.11458547, -0.15210697, 0.106905654, -0.07013997, 0.02439542, -0.03617087, 0.08792794, -0.026095055, -0.113202445, -0.061814103, -0.057736594, -0.0825329, 0.016664699, 0.12505697, -0.07956851) * go_11(-1.0, -1.0); - result += mat4(-0.0023664774, 0.030477716, -0.011014069, 0.11375161, 0.0972406, -0.1296506, 0.020159204, 0.19450316, -0.14332211, 0.1794009, 0.07538832, 0.22721584, -0.04874296, 0.043102115, 0.030196369, 0.013487852) * go_11(-1.0, 0.0); - result += mat4(0.06857275, 0.10448576, -0.013017544, 0.07311069, 0.101253785, -0.11299885, -0.035548594, 0.13139476, 0.0020682, -0.14186527, 0.044361796, 0.078766696, 0.06331404, 0.13389412, -0.04084606, -0.0872372) * go_11(-1.0, 1.0); - result += mat4(0.05418989, -0.09774494, -0.05101834, 0.06209719, 0.0017429863, 0.07042637, 0.056179468, 0.08281986, -0.13659456, -0.09141693, -0.026036166, -0.20621227, 0.16456048, -0.010656735, 0.0590252, 0.02991398) * go_11(0.0, -1.0); - result += mat4(-0.05809635, 0.026004037, 0.105304465, 0.1478988, -0.124559194, -0.13915893, -0.07614174, -0.030510869, -0.023634667, -0.07030466, -0.11203651, 0.10693823, 0.0061113364, -0.18696493, 0.13469142, -0.113276646) * go_11(0.0, 0.0); - result += mat4(0.23620829, 0.15531069, 0.12814721, 0.12327402, 0.0057051536, -0.09845884, -0.0878965, 0.20906226, -0.018309865, -0.098378375, 0.18283126, -0.043777615, 0.1285454, -0.07850623, -0.17400229, -0.23010467) * go_11(0.0, 1.0); - result += mat4(-0.04278017, 0.016623903, -0.10238115, 0.001230995, 0.034115463, -0.03978448, -0.016921068, -0.0013315293, 0.051550284, -0.08364091, 0.07625796, 0.034139283, -0.017048268, 0.0010402843, 0.01368044, 0.0369401) * go_11(1.0, -1.0); - result += mat4(-0.20118453, 0.019896206, 0.17102875, -0.027242621, 0.011553064, 0.07881877, -0.1011587, -0.036561944, -0.18488441, 0.033972885, 0.16720103, 0.023408182, 0.0817855, -0.029636094, 0.07032277, -0.27195182) * go_11(1.0, 0.0); - result += mat4(0.074986465, 0.0776098, 0.0077854274, -0.0011979108, -0.06837842, 0.050415438, 0.03322783, 0.11533592, -0.09028456, -0.014625525, 0.021684105, -0.025572475, 0.18052468, 0.11677459, -0.07460317, 0.07732749) * go_11(1.0, 1.0); - result += vec4(0.10080894, -0.0063164784, -0.01402726, 0.1341257); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.10701419, -0.19440664, -0.13657895, -0.117495134, 0.11351926, -0.08210127, 0.0051790676, 0.22163984, -0.12849367, -0.118760884, 0.028440215, 0.06271742, -0.05561763, -0.16148782, -0.052592654, -0.22535303) * g_0; - result += mat4(-0.123711504, -0.14676294, -0.115391895, 0.080983736, -0.017832119, -0.063273184, 0.059941225, -0.049034536, -0.052219674, 0.036749475, -0.29203734, -0.02856495, 0.22648478, 0.015175415, 0.21293166, -0.20832887) * g_1; - result += mat4(-0.081328556, 0.07598546, -0.13756523, -0.06107587, 0.25113305, -0.11791683, 0.113452606, -0.0078082574, -0.07442993, -0.2974806, -0.056567345, -0.21749294, 0.013611423, -0.032841083, -0.076977916, 0.19821857) * g_2; - result += mat4(0.10560456, 0.015013695, 0.13627833, 0.032404233, -0.02131817, -0.14500482, 0.120675825, 0.031823736, 0.11649639, 0.082596324, 0.08127175, -0.026048733, -0.012239797, 0.08369006, 0.1273803, 0.12210886) * g_3; - result += mat4(-0.0892015, 0.07059692, 0.069719285, -0.061874084, 0.044701215, 0.09245424, -0.022817707, -0.02148644, 0.18068357, -0.11995518, 0.24286029, -0.045054384, 0.07323844, 0.06554761, -0.16207513, 0.07595062) * g_4; - result += mat4(0.18337601, 0.07568856, -0.09610938, -0.06572019, -0.23225725, -0.045913246, -0.16005549, 0.10841484, -0.047294065, -0.0044971597, -0.11600348, -0.0985696, 0.01994268, 0.009345386, -0.12112187, -0.07728449) * g_5; - result += mat4(-0.02642385, 0.12577803, 0.18099304, 0.09237617, -0.14517787, 0.015473747, 0.01148567, -0.1976294, 0.13244452, 0.026473833, -0.04026099, -0.08005897, 0.09972515, 0.014148667, 0.17150447, 0.07458103) * g_6; - result += mat4(0.103025176, -0.14280592, 0.011362381, -0.002615672, -0.0019504991, -0.1244238, -0.176323, -0.0409311, -0.13593708, 0.09121169, 0.16169107, 0.064790055, -0.17050834, 0.004790829, -0.20973155, 0.040783066) * g_7; - result += mat4(-0.08482106, -0.06313967, 0.053659916, -0.045122232, -0.173445, -0.10196347, -0.21512675, 0.030526979, -0.04609878, 0.02864437, -0.13620801, -0.05330683, 0.10560492, -0.086872876, 0.2332013, -0.11290048) * g_8; - result += mat4(-0.12032245, 0.083415076, 0.013942395, 0.12558693, -0.09643306, -0.08665224, -0.08364215, -0.15714419, -0.012963433, -0.018926837, 0.17045903, -0.03450577, 0.05467565, 0.1176962, -0.029627452, -0.17721933) * g_9; - result += mat4(0.06413174, 0.07644954, 0.015619154, 0.0406442, -0.09510097, 0.082857184, 0.07081759, -0.06094168, -0.10623127, 0.11465217, -0.21940763, 0.06440103, -0.14007917, -0.20644121, 0.062006976, -0.21401502) * g_10; - result += mat4(-0.090416506, -0.118475, 0.14939576, -0.01684449, 0.14943695, 0.03052435, 0.080091365, -0.0773867, 0.12932321, 0.12060135, 0.14845312, 0.04718311, 0.13032377, -0.16439119, 0.048975646, -0.118689515) * g_11; - result += mat4(-0.14264718, -0.20367233, -0.10508499, 0.014003226, 0.122711256, 0.12533264, -0.20902152, -0.08875033, -0.13099793, -0.022472287, 0.17604207, -0.13671063, -0.040429622, 0.6475939, -0.017244961, -0.23879616) * g_12; - result += mat4(0.1600574, -0.18023758, 0.1184686, 0.1348991, 0.037446063, -0.011027512, 0.17671643, -0.199355, 0.2725076, -0.20256595, -0.099972546, 0.23075041, -0.18912004, -0.008967372, 0.040337812, 0.0011864579) * g_13; - result += mat4(-0.0153634995, 0.02991675, -0.07471954, 0.025803613, -0.18960874, -0.23163852, -0.010988217, 0.22258236, 0.45717034, -0.041301187, 0.059016965, -0.1418097, -0.42032385, -0.009557171, 0.18662642, -0.11312428) * g_14; - result += mat4(-0.043423057, 0.18310834, 0.2572519, 0.1374164, 0.1505133, 0.18733694, -0.23037662, -0.10971462, -0.32504216, 0.15508054, 0.15461947, -0.3731339, 0.58277595, -0.2969173, 0.084127784, 0.054632857) * g_15; - result += mat4(-0.18833053, 0.3626468, -0.10378585, -0.18636744, -0.07215689, -0.0340568, -0.2014818, 0.39376506, 0.092539184, 0.019427503, 0.08621937, -0.029048063, 0.04170551, 0.03303338, 0.12886372, 0.22093524) * g_16; - result += mat4(0.13748164, -0.10530546, -0.059407894, 0.24885765, 0.25748453, -0.2322867, -0.047119506, 0.18135284, -0.12410837, 0.10820877, -0.076054335, 0.14305715, 0.07893051, 0.025212046, -0.06861065, -0.14078265) * g_17; - result += mat4(0.12955414, 0.10334285, -0.1339673, -0.07533481, -0.09940921, 0.07574928, -0.029290935, -0.0074044047, -0.047509745, 0.12616187, 0.15918884, 0.22636813, 0.0627, 0.13627514, -0.11840879, 0.25489545) * g_18; - result += mat4(0.12401844, 0.018437453, 0.14081988, 0.20443875, 0.22617432, -0.23241785, 0.019566217, -0.1470485, 0.06928665, -0.012560286, -0.11640072, -0.09635026, 0.19372395, -0.18137501, 0.095964, -0.36745393) * g_19; - result += mat4(-0.07812969, -0.13952559, -0.08575349, 0.1270944, -0.012434522, 0.09118943, -0.1844579, 0.057183933, 0.17054899, 0.055602986, 0.020217096, -0.17830917, 0.033711255, -0.040958434, -0.0656027, 0.08316588) * g_20; - result += mat4(0.008265117, -0.0440992, 0.18142514, -0.11072275, -0.035788976, 0.0045379996, 0.10519265, -0.0025924263, 0.1416068, -0.0076917615, -0.107548796, 0.14070505, 0.048619375, -0.08055219, 0.15124267, -0.14900993) * g_21; - result += mat4(0.023191221, -0.088463016, -0.03773182, 0.09279135, 0.030037321, -0.047114536, 0.0411644, 0.117513955, 0.02564984, 0.3634533, -0.07842253, 0.03945798, -0.09705065, -0.00073423475, -0.116537966, 0.09805546) * g_22; - result += mat4(0.16699894, 0.06968313, -0.025299484, 0.057924386, -0.13151881, -0.14149357, 0.019038316, -0.27727044, 0.02826252, -0.049611922, 0.19707511, 0.08938078, 0.107304506, -0.06147075, -0.021948906, 0.03686705) * g_23; - result += mat4(-0.012881243, -0.094086275, 0.23042965, -0.044305936, 0.07882307, 0.04138532, -0.04374878, -0.028959524, -0.014689813, -0.04448379, 0.033379626, -0.010935875, 0.049693886, -0.012109875, -0.07495743, 0.07254774) * g_24; - result += mat4(0.1349909, 0.113079466, -0.17218146, -0.082038075, -0.041794095, -0.12584618, 0.012202269, -0.07666811, 0.016668953, 0.16685286, 0.062669456, -0.02282906, 0.08557955, -0.07436991, 0.108987726, -0.02062727) * g_25; - result += mat4(0.0975699, -0.042854395, -0.27839357, -0.02017465, 0.07523807, 0.06038207, 0.19882318, -0.042623498, -0.1643381, -0.06454315, 0.12813903, 0.018587556, -0.07143471, -0.055071846, 0.007254701, 0.08625719) * g_26; - result += mat4(0.0040934216, 0.21434385, 0.15655868, 0.17250434, -0.0183287, 0.05514319, -0.19112857, -0.07169756, 0.37303272, -0.03185245, -0.052846085, -0.033713702, 0.057584986, 0.06311142, -0.20161806, 0.013350911) * g_27; - result += mat4(-0.12516226, 0.13068974, -0.00090003706, -0.27179503, 0.11163459, -0.018370617, -0.077084556, -0.37971583, 0.10331944, -0.077023275, -0.07891338, -0.012240651, -0.25734505, -0.061364602, 0.13029832, 0.23223366) * g_28; - result += mat4(0.16159123, -0.09218027, 0.054632008, 0.115622655, 0.027251892, 0.047268346, 0.11801297, 0.08485814, -0.29647812, 0.119895175, 0.19110309, 0.1580456, 0.16836183, -0.09640805, -0.14934723, -0.16124077) * g_29; - result += vec4(-0.009459555, 0.08955687, 0.06774535, 0.11750715); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf1 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.071940355, 0.2520996, 0.09685728, -0.0401572, -0.020982517, -0.04016773, 0.1032851, 0.15116775, -0.1194921, -0.13441806, -0.15435277, 0.00857813, 0.117160164, -0.013084895, -0.12161744, 0.044572134) * g_0; - result += mat4(0.082026035, -0.16376685, 0.045928918, -0.04447462, 0.10981917, 0.054794677, 0.07120542, 0.084866405, 0.045389425, -0.021687545, 0.028005822, -0.210078, 0.04063033, 0.115505874, -0.27422935, 0.21725571) * g_1; - result += mat4(0.22438343, 0.29941106, -0.012607681, 0.058178894, -0.08457912, -0.20864323, -0.07985059, 0.22438551, -0.06932785, 0.03345395, 0.28202337, 0.034280214, -0.1215527, 0.07437099, 0.20735577, -0.15139194) * g_2; - result += mat4(-0.14662248, 0.022648463, -0.005571487, -0.07256508, 0.06747346, 0.0043868935, 0.094813496, 0.10695963, -0.14902529, 0.063808665, -0.08206709, -0.060363546, -0.0005435626, -0.15917943, 0.061691567, 0.09855836) * g_3; - result += mat4(0.017799556, -0.009981281, -0.10833081, -0.13543043, -0.14525245, -0.06271629, 0.0726242, 0.07933559, -0.064622484, 0.08688535, -0.08111695, 0.013164932, 0.08823724, 0.006742534, -0.101684675, 0.017604306) * g_4; - result += mat4(-0.031298436, -0.08050973, -0.18454958, -0.07897026, -0.0374373, -0.23446067, 0.038722772, 0.014162436, -0.15375976, -0.2147507, -0.095423505, 0.20034626, 0.028895382, 0.039372966, 0.06964464, 0.10350529) * g_5; - result += mat4(0.21796271, -0.25407016, -0.098337315, -0.023319852, 0.030746967, 0.018345634, -0.010781914, -0.11792986, 0.28487346, 0.00467481, -0.040187147, 0.050997503, -0.060900237, 0.17249253, 0.055063184, -0.025005285) * g_6; - result += mat4(0.049115237, 0.09444041, 0.07742757, -0.004662866, -0.14920074, -0.15653574, 0.14555736, -0.07487493, 0.08641984, -0.06845398, -0.15090026, 0.14357427, -0.07476173, 0.009871881, 0.19720715, -0.08900054) * g_7; - result += mat4(-0.1306777, -0.12845808, 0.11419963, -0.006885182, 0.008033006, 0.06334985, -0.0060840836, -0.006333369, -0.02772289, -0.07669655, -0.07227849, 0.014051398, 0.111269996, -0.11380638, -0.10760507, -0.08484392) * g_8; - result += mat4(0.2309008, 0.0027662152, -0.036648475, -0.02116145, -0.052217614, -0.19290513, -0.08249262, 0.060923748, 0.1697141, 0.04970059, 0.11332741, -0.02550202, -0.055906452, 0.3661976, -0.09877092, 0.1200653) * g_9; - result += mat4(0.021928959, -0.050234713, 0.018235236, -0.050222646, 0.09582609, 0.021217717, -0.085548654, 0.10058183, -0.053230625, -0.082145125, 0.11671694, -0.07539133, -0.14239438, -0.13499749, -0.119287185, 0.11536136) * g_10; - result += mat4(0.14766274, 0.016457219, 0.14650516, -0.17780317, -0.0026669295, 0.25558603, 0.09041751, -0.0301739, 0.03781546, 0.31132954, 0.080671474, -0.066909626, 0.022474205, 0.031319484, -0.22102872, 0.18719581) * g_11; - result += mat4(0.08785325, 0.012904848, -0.16835691, -0.09674578, -0.25299898, 0.080151744, -0.04051892, -0.020169353, -0.16149361, 0.020387627, 0.12841122, -0.22339927, -0.18225776, 0.13121991, -0.094190426, -0.0002138417) * g_12; - result += mat4(-0.36095276, -0.21171942, 0.17676146, -0.022404185, 0.4154611, -0.19463924, -0.10602125, 0.2693611, 0.10176359, -0.150534, 0.018383717, 0.19981897, 0.14625713, -0.13406813, -0.16022418, 0.2644558) * g_13; - result += mat4(-0.06377917, 0.008183962, -0.006316106, -0.21600586, -0.26798826, -0.11782882, 0.06906469, -0.12426933, -0.27595305, 0.10574508, 0.3301182, -0.1685902, 0.17062853, 0.09983599, -0.08783116, 0.02585788) * g_14; - result += mat4(0.18317774, -0.12538116, -0.28490618, 0.08996663, 0.42957532, 0.26287696, 0.10370257, 0.14557624, 0.70839125, 0.28065285, 0.009297889, -0.080495015, -0.14877662, 0.15308489, 0.07313569, 0.1318443) * g_15; - result += mat4(0.08888086, -0.23179686, 0.17731842, 0.2988673, 0.021801222, -0.19859089, 0.011203003, -0.010040333, -0.054594494, -0.12354569, -0.21615268, 0.2763243, -0.099458195, -0.020375904, -0.13495544, 0.11390239) * g_16; - result += mat4(-0.09784923, 0.1944123, 0.2601614, -0.28403583, -0.12053281, 0.028450225, 0.35481617, -0.027033992, 0.12224312, 0.12257788, -0.03696105, -0.050443426, 0.19214073, -0.035758987, 0.17233865, -0.21286553) * g_17; - result += mat4(0.19778739, 0.19405492, 0.08939406, -0.06725612, 0.00286375, -0.071152225, 0.11470776, 0.1390715, -0.15622304, 0.06087436, 0.13643411, -0.046493623, 0.13816592, -0.13400874, -0.066770785, 0.09377127) * g_18; - result += mat4(0.093480326, 0.11511413, -0.014940799, -0.300682, -0.07999973, 0.03399139, 0.122863345, -0.21434176, 0.10897804, 0.0074770562, -0.007341148, -0.11243166, -0.030653583, 0.11616559, 0.018601365, -0.23593631) * g_19; - result += mat4(-0.07589857, -0.02816285, 0.10634287, -0.018159848, 0.10259108, 0.09316107, 0.114035785, 0.1632097, -0.16202134, 0.014525685, -0.057170212, 0.038775932, 0.18918377, 0.096198745, -0.26848194, 0.18337348) * g_20; - result += mat4(-0.2151602, 0.1066596, 0.14015315, -0.16308795, 0.11991323, 0.043978903, 0.0656563, 0.03562853, 0.1823667, 0.22206141, 0.09851152, 0.10862079, -0.1730631, 0.07102773, 0.17776415, -0.24044661) * g_21; - result += mat4(0.0060158237, -0.19177158, 0.10502828, -0.013080114, -0.08032154, 0.13057697, -0.076577656, 0.03263069, -0.11365605, -0.026887862, -0.09828686, -0.05051089, 0.04763855, 0.062761344, 0.013665174, 0.013192335) * g_22; - result += mat4(-0.024832191, 0.054555204, 0.04472656, 0.015691593, 0.042494036, 0.06770802, -0.016350098, -0.1738042, 0.18029715, 0.08776134, 0.1073352, -0.0917886, -0.083804026, 0.0037783678, 0.018796401, 0.011723983) * g_23; - result += mat4(-0.22104199, 0.046134423, -0.06569704, -0.19891003, 0.16334966, 0.3763836, -0.019122118, -0.19262604, 0.007953619, 0.035609093, -0.023634747, 0.05284935, 0.14042082, 0.012188833, -0.090246305, 0.09179504) * g_24; - result += mat4(0.03651659, 0.024162583, 0.04007273, 0.2573568, -0.09408693, -0.15685976, -0.052655444, 0.07787627, -0.052549917, 0.012946145, -0.17698365, 0.016063817, 0.09167271, -0.024874488, 0.07187681, 0.033850722) * g_25; - result += mat4(0.004172805, 0.022183372, -0.11286437, 0.08598362, -0.13067168, 0.16070427, 0.05422221, -0.029724583, -0.030735672, -0.00447319, 0.23366688, -0.016390052, 0.12756462, 0.24891639, 0.024162434, 0.080731995) * g_26; - result += mat4(0.089021474, -0.06563795, 0.27291998, -0.13451853, 0.122246146, 0.34007818, -0.18697657, 0.009945519, 0.05180866, -0.12638813, -0.1173521, -0.05986753, -0.0337749, 0.064504266, 0.0034679365, -0.1219767) * g_27; - result += mat4(-0.06837359, -0.07258382, 0.0140398, -0.07469804, 0.18686692, 0.19984262, -0.22008726, 0.26256636, -0.10768354, -0.18561411, 0.1427139, -0.030018665, 0.09759611, 0.103011966, 0.05294409, -0.016820678) * g_28; - result += mat4(-0.11673777, 0.051226504, -0.034002636, -0.2731483, -0.08450124, 0.31373835, 0.22628455, 0.03579624, 0.08832027, 0.11600223, -0.03500645, -0.23789707, -0.18811859, -0.2895229, -0.31334436, -0.09072995) * g_29; - result += vec4(0.028765388, 0.015914816, -0.010572618, -0.046241153); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf2 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.092858694, -0.05931229, 0.08649155, -0.19388752, 0.09477594, -0.22718045, -0.1061536, -0.1075417, 0.070740245, -0.06802919, 0.011984387, 0.04561339, -0.123741224, 0.108184166, 0.08394222, -0.14939074) * g_0; - result += mat4(0.058254354, -0.0013696381, 0.016420096, -0.13577567, -0.08013081, -0.32121193, 0.10837322, -0.027337125, 0.006335759, -0.022232484, 0.08410539, -0.19057351, 0.124672756, 0.07544909, 0.25975785, -0.12386142) * g_1; - result += mat4(0.124638155, -0.047200475, 0.18284287, -0.066423684, -0.013056071, -0.10780445, -0.046076063, 0.16543722, 0.011813712, 0.18919142, -0.054241043, -0.14428662, -0.072056115, 0.22149223, 0.020946557, -0.19635367) * g_2; - result += mat4(-0.011655322, -0.02780763, -0.041065313, 0.07305037, 0.065463156, -0.055100318, 0.053504564, 0.12533133, 0.1791797, 0.07803201, 0.14791118, -0.17383428, -0.13258645, -0.057591084, -0.06590273, 0.24618948) * g_3; - result += mat4(-0.076750286, 0.16913669, -0.041372858, -0.04987621, -0.09025659, 0.04717571, 0.17061087, -0.0018001683, 0.088723816, -0.1515349, -0.09417965, 0.025807919, 0.10298056, -0.07137411, 0.0913601, -0.0032140615) * g_4; - result += mat4(0.076089844, -0.18487781, -0.031016396, 0.04298503, -0.07412648, -0.05946974, -0.029923726, -0.17263255, 0.044034805, 0.07122984, -0.022364214, -0.16337745, -0.3163445, 0.20027465, 0.006309955, -0.25441465) * g_5; - result += mat4(-0.05660039, -0.03776745, -0.062613666, 0.1953333, 0.027620526, -0.081940845, 0.13821705, -0.030160451, 0.30174896, -0.063806735, -0.21273777, -0.23096886, 0.028107658, -0.035367317, 0.06729705, 0.18349262) * g_6; - result += mat4(-0.024347452, -0.10386407, -0.0013563661, 0.09973845, 0.07293425, -0.04880119, -0.05229062, -0.18888217, 0.11884971, 0.05060733, -0.0013016739, 0.18116015, -0.038804606, 0.022207338, -0.043657467, 0.10695812) * g_7; - result += mat4(-0.16758966, 0.15170631, 0.12204208, 0.1287092, -0.032021195, -0.1063502, -0.08161841, -0.2446335, -0.02391331, -0.061028045, 0.13008249, 0.10459833, -0.04717144, 0.05381585, -0.33450723, 0.291269) * g_8; - result += mat4(0.07273305, 0.13187234, 0.04062448, 0.081797674, 0.00045577955, 0.09757571, -0.37391075, -0.17263971, 0.021420933, -0.07653126, 0.055799145, 0.04442693, 0.11818517, -0.044239108, 0.044269893, -0.41765675) * g_9; - result += mat4(0.018076504, -0.085451566, 0.09415942, 0.12273072, 0.41912425, -0.2747585, -0.07259103, 0.08299482, -0.20763668, 0.14662866, 0.026512189, -0.10415019, -0.09460718, 0.17926225, -0.1907316, -0.058848727) * g_10; - result += mat4(-0.13229714, 0.2401772, 0.08083883, 0.008972119, 0.090474635, 0.18910415, 0.14324625, 0.15242074, 0.16881411, -0.18706103, 0.1793161, -0.10074233, 0.2067493, -0.3289337, 0.13461551, 0.20269714) * g_11; - result += mat4(0.07219379, -0.11565219, 0.028837852, 0.26118317, -0.13906774, 0.10994847, 0.1192699, 0.097068354, -0.10574048, -0.010274859, -0.041781224, -0.0022481561, 0.12714253, -0.41399276, 0.19635102, -0.23090687) * g_12; - result += mat4(-0.100183904, -0.18720408, -0.13301018, 0.03502532, 0.031246057, -0.06721582, -0.17222083, -0.063806996, -0.08393857, -0.19553204, -0.05699341, -0.20882502, 0.048502672, -0.015325282, -0.14586648, 0.07136885) * g_13; - result += mat4(-0.09550682, -0.09559199, 0.0093339095, 0.20071933, -0.07908767, 0.19251561, -0.13115655, 0.0072511537, 0.14562629, -0.20998305, -0.2212794, 0.061366275, -0.10772557, 0.29247293, 0.25483248, -0.06853779) * g_14; - result += mat4(0.19130619, -0.08254158, -0.41616592, -0.12058406, 0.26799643, 0.018203866, 0.02795237, -0.026012532, -0.24163988, 0.27320904, 0.075838536, -0.43140167, 0.14748523, 0.2741325, 0.0313845, 0.0612638) * g_15; - result += mat4(0.32383236, -0.05585864, 0.087669775, -0.15189308, -0.07285363, -0.10978753, 0.038074855, -0.20369512, 0.0534748, 0.09033383, -0.3636552, 0.2022929, 0.1410257, 0.0006435122, 0.31075886, 0.09591187) * g_16; - result += mat4(-0.056077003, 0.22655378, -0.3908979, 0.3520772, 0.27514228, 0.028264234, -0.33393502, 0.12211863, -0.12077039, 0.3201821, 0.15064837, -0.2715489, 0.2161978, 0.2011329, -0.15005851, -0.19502445) * g_17; - result += mat4(-0.006493266, -0.067167185, 0.1981182, -0.2185078, -0.098532386, 0.0012275389, 0.014535081, 0.022241963, -0.065986834, -0.13995624, -0.08640626, -0.036836196, -0.24935777, -0.12563467, -0.22868343, -0.043145802) * g_18; - result += mat4(-0.24015582, -0.1428461, -0.10846771, -0.03822917, 0.25849542, 0.21787684, -0.10540706, -0.15437967, 0.09093761, 0.16064538, -0.040830817, 0.03802804, 0.07929484, 0.22184348, 0.17115451, -0.020434693) * g_19; - result += mat4(-0.16424751, 0.18149984, -0.08263852, 0.10497438, -0.0057385676, -0.18649873, 0.1049834, 0.0753644, 0.07605413, -0.024556413, 0.16013342, 0.006168524, 0.14073265, 0.02001347, -0.08537071, -0.24739261) * g_20; - result += mat4(0.014010803, -0.057850603, 0.0732021, -0.1718671, 0.024967216, 0.19706325, -0.14325745, -0.0021808648, -0.039533336, 0.058277003, -0.09344739, -0.004221897, 0.13857067, 0.081996195, 0.030180087, -0.013901144) * g_21; - result += mat4(0.024102923, 0.056380466, 0.008602807, 0.09951257, 0.04897817, 0.045386482, 0.13025592, -0.21351977, -0.11473196, 0.1844349, 0.07928108, 0.1533404, 0.07377011, -0.1464216, 0.096964546, -0.007197212) * g_22; - result += mat4(0.22597581, -0.13459527, 0.22883248, 0.14732298, -0.063105844, -0.034603957, -0.07247968, 0.19268765, 0.10675177, 0.0975782, 0.00033931955, 0.08774923, -0.12306441, 0.025208015, 0.04571016, 0.13542841) * g_23; - result += mat4(0.013317153, -0.09033908, 0.033545654, -0.054263383, 0.1317443, -0.05465494, -0.074301384, -0.30426916, -0.007050128, 0.12030467, -0.11348823, 0.19741662, -0.04095728, -0.017503742, 0.0642433, -0.28208658) * g_24; - result += mat4(0.02021165, 0.17795627, 0.043012455, 0.053738635, -0.017870188, 0.15490524, 0.040613562, 0.15851468, -0.12762383, 0.10450818, -0.0020172964, -0.25615835, -0.012736579, 0.06002046, -0.04626082, 0.019401643) * g_25; - result += mat4(-0.0025097467, -0.02072768, 0.034803562, -0.08400342, -0.14013165, 0.2091311, -0.03782157, 0.0023983517, 0.19771661, 0.04676574, -0.03392009, 0.20773077, 0.076976426, 0.04612587, 0.22233194, -0.13806564) * g_26; - result += mat4(-0.032217447, 0.073498376, -0.07565292, 0.05969695, 0.16941096, -0.3131595, 0.07141137, -0.15926841, 0.108835146, -0.0040562055, 0.15678787, -0.0012778786, -0.13674988, 0.034171615, -0.19931208, -0.13748777) * g_27; - result += mat4(-0.18563417, 0.106456436, 0.078709476, -0.1308007, -0.1398474, 0.11156628, -0.33099747, -0.19933923, -0.12798372, 0.04342623, 0.074146606, 0.21212427, 0.09915748, -0.09082417, 0.3366307, -0.23036873) * g_28; - result += mat4(0.14234035, -0.072425894, -0.18067764, 0.1100069, 0.10129257, 0.10165853, 0.18862309, -0.04466708, -0.037151866, 0.011230992, -0.013572791, 0.20083474, -0.18335798, 0.13396202, -0.2539405, 0.1323329) * g_29; - result += vec4(-0.02703924, 0.18005958, -0.12375494, 0.031321514); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf3 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.011141579, 0.09674723, -0.13645004, -0.10970149, -0.04369547, 0.08311355, 0.021767681, -0.08375845, 0.022200847, 0.05360177, 0.16593163, -0.15328388, 0.08149341, -0.09137854, -0.040580057, 0.08350056) * g_0; - result += mat4(-0.0026481631, -0.004045956, 0.012659179, 0.09567999, -0.04221551, 0.10712957, -0.056656756, -0.27661186, -0.053574864, -0.089751564, -0.17745095, 0.16676143, 0.34287563, -0.13643502, 0.33259082, 0.27071705) * g_1; - result += mat4(0.18119478, -0.11287872, 0.24201767, -0.009600413, 0.048217695, 0.062931724, -0.06455807, 0.0013528515, 0.1764802, -0.08022894, 0.01977552, 0.014862132, -0.119611226, 0.06065237, -0.2003538, 0.057908155) * g_2; - result += mat4(0.10390714, 0.03061146, 0.07345203, 0.020925567, -0.03771494, -0.055771235, -0.10182023, -0.0453298, 0.030018989, 0.020321988, -0.13780262, -0.10419699, -0.1531079, 0.08695891, -0.10523552, 0.0031262166) * g_3; - result += mat4(0.013357037, 0.11706443, 0.02651922, 0.12551948, -0.03562916, 0.07041351, -0.22412951, 0.19341606, -0.06120095, 0.1594309, -0.25910634, 0.03911061, -0.030200286, 0.039532397, -0.04693854, 0.107756086) * g_4; - result += mat4(0.26856127, -0.062083863, 0.26156938, -0.06557537, -0.06786968, 0.061135814, -0.18566874, -0.11154961, 0.06399305, 0.068129785, -0.0010524218, 0.039409623, 0.0527229, 0.16223872, 0.11896118, 0.13470948) * g_5; - result += mat4(-0.09019031, -0.11750688, 0.08919765, 0.06305572, -0.110997446, -0.09387827, -0.024580022, -0.1923812, -0.011291289, -0.06320932, 0.15289676, -0.14364418, 0.041966986, 0.25329712, -0.19619554, 0.035929594) * g_6; - result += mat4(-0.06743388, -0.08509898, -0.07433386, -0.025805349, 0.01812382, -0.02492702, -0.2482932, 0.28510815, 0.119341426, 0.2147701, 0.06835619, -0.07081952, -0.038794495, 0.10975482, -0.2239901, -0.124213785) * g_7; - result += mat4(-0.026220966, 0.14319815, -0.1700538, -0.0335693, 0.07769912, 0.12722708, -0.26494396, -0.10431099, -0.08059116, 0.12723474, -0.15197968, 0.0060984325, -0.013070423, -0.25334156, 0.2920123, 0.110061795) * g_8; - result += mat4(-0.25060546, 0.057933453, 0.041256662, -0.11589921, 0.3209416, 0.12978804, -0.017460592, 0.19088507, 0.08740428, 0.038495142, 0.26864913, -0.08148351, 0.05588537, -0.027696, 0.47028908, -0.08718974) * g_9; - result += mat4(-0.028379083, -0.16510524, -0.0720884, 0.024243379, 0.030889094, -0.09380263, 0.10451546, -0.21832433, 0.20901899, -0.055639133, -0.051839713, 0.033683445, -0.029481068, 0.048284974, -0.08840896, 0.17702715) * g_10; - result += mat4(-0.13655269, -0.009485257, -0.27257246, -0.027732212, 0.11677922, -0.08578314, 0.1272782, -0.033684663, -0.070519574, 0.01601166, 0.11166362, -0.2742834, 0.17340335, -0.19997278, -0.040465057, -0.2970155) * g_11; - result += mat4(-0.20593609, 0.07950713, 0.05642528, 0.19129497, 0.3180778, -0.07194427, -0.19385284, -0.09050803, 0.23494293, 0.02127147, -0.014160815, 0.16873649, -0.045696944, -0.025910616, 0.10135493, -0.07330387) * g_12; - result += mat4(0.11845643, -0.06579577, -0.10600301, 0.12729774, -0.30510858, 0.0974965, 0.114875704, 0.06391382, 0.14807853, 0.22989006, -0.072495855, 0.1800837, 0.028062822, 0.044472497, 0.27929953, -0.037439365) * g_13; - result += mat4(-0.29070517, 0.2584094, -0.12230044, 0.29064023, -0.23902515, 0.29584745, 0.20774792, 0.41733524, 0.06608569, -0.04484478, 0.15128273, -0.3068231, 0.22654179, -0.080022156, -0.48213294, -0.037669115) * g_14; - result += mat4(0.17929457, -0.073897004, 0.033858683, -0.24681814, 0.38705662, -0.31330046, -0.3057931, -0.30628645, 0.06434401, -0.040364057, -0.30331135, 0.09151124, -0.15681383, 0.29307282, 0.28045842, -0.06732098) * g_15; - result += mat4(0.024120888, 0.06291463, -0.39767843, -0.199806, -0.18294619, 0.44507617, -0.20719141, 0.022910457, -0.04779181, 0.07508541, 0.12258552, 0.019429758, -0.10943762, -0.20337181, 0.072106324, -0.18230085) * g_16; - result += mat4(-0.010640077, -0.15392596, 0.042594627, -0.0009270454, 0.3621191, -0.28109482, 0.080440365, -0.2073678, 0.052669737, 0.01759761, -0.0909907, -0.0051524066, 0.025632787, 0.15993036, -0.04525641, 0.05836689) * g_17; - result += mat4(0.20725772, 0.05976848, 0.15562478, -0.22970834, -0.006273422, -0.0024398018, -0.15024984, -0.06983079, 0.037917525, -0.06959094, -0.30672732, 0.11463107, -0.103878215, 0.16795799, 0.123742215, -0.076316774) * g_18; - result += mat4(-0.041884482, -0.048946526, -0.040261485, 0.145805, 0.18649343, -0.0044576614, -0.2316234, 0.08005378, 0.13540603, -0.13486005, -0.048867103, -0.039551396, 0.015187719, -0.113004565, -0.09270747, 0.053628337) * g_19; - result += mat4(0.026232086, -0.05916773, 0.09088294, 0.059865057, -0.08295995, 0.04218031, 0.0016741708, 0.08783662, 0.12226684, -0.0601888, 0.14152455, -0.15758237, -0.118071996, -0.053882107, 0.22713134, -0.08549201) * g_20; - result += mat4(0.030266033, 0.08861499, 0.04543061, -0.09845329, 0.29042727, -0.1387298, -0.27544942, 0.06959186, -0.06818984, -0.07793028, -0.26279172, 0.051999256, 0.13853306, -0.028943995, -0.1616878, 0.0055545145) * g_21; - result += mat4(0.06571001, -0.15409341, -0.10983791, -0.10024373, 0.06786836, -0.034203686, 0.06702562, -0.13785091, 0.014078426, -0.118333764, 0.10679032, -0.11793583, -0.17936374, 0.08035579, -0.065410405, 0.012682481) * g_22; - result += mat4(-0.08627442, 0.09910777, 0.06451081, -0.032909464, 0.016304161, 0.11485424, 0.075068, 0.17560685, -0.21859545, 0.03553843, -0.029545823, 0.0020583326, -0.09749895, 0.10549555, -0.13807511, 0.04073702) * g_23; - result += mat4(0.013445668, -0.106096625, -0.14386144, -0.047453087, 0.030295242, -0.07128061, 0.18820919, -0.14116964, -0.08358127, 0.017694646, -0.22504877, -0.0870977, 0.159292, 0.1511803, 0.13363734, 0.059592243) * g_24; - result += mat4(0.09585648, 0.13820451, -0.025589576, 0.14250357, -0.098605, -0.033331417, -0.26585752, 0.046970017, 0.0064765653, 0.15291844, 0.2051226, -0.033412863, -0.15486592, -0.10399778, -0.11634391, 0.00032476272) * g_25; - result += mat4(0.09576212, -0.052482244, -0.11748363, -0.022807717, 0.18996853, -0.119998, -0.11650178, 0.15346055, -0.056865185, 0.17039599, 0.019453784, -0.15516305, -0.07541472, 0.05255179, -0.18442616, 0.13752738) * g_26; - result += mat4(0.08866666, -0.037314344, -0.08462723, 0.01123993, -0.048002165, 0.08966719, -0.008348263, 0.022855654, -0.13039067, -0.026170973, 0.22115219, 0.061224397, 0.16689171, 0.06845198, -0.08873581, -0.050191987) * g_27; - result += mat4(-0.08112671, -0.1593253, 0.19252764, 0.060990997, 0.29255992, 0.2258008, 0.05192984, -0.22563158, -0.005943522, 0.092420675, 0.12934043, 0.1422232, 0.0047882204, 0.034547567, -0.03979875, -0.13211358) * g_28; - result += mat4(0.19852357, -0.09415307, 0.18439335, 0.09917704, -0.0036918402, -0.11341272, 0.14594431, 0.036229003, -0.3779797, -0.1963225, -0.05158393, -0.286296, 0.09826625, -0.11089739, 0.08578653, 0.032530606) * g_29; - result += vec4(0.044129565, -0.091767386, -0.075459845, 0.066399455); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf4 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.064318754, -0.18948539, 0.15593126, -0.06304488, 0.06629931, -0.12705792, 0.06512428, 0.063008524, -0.14651999, 0.097759366, -0.23798478, -0.24931762, -0.08670739, -0.040990945, -0.114390776, 0.023151657) * g_0; - result += mat4(0.016485719, -0.09634283, -0.14198488, -0.04438048, -0.21505983, -0.26128006, -0.04784944, -0.09402356, 0.06304391, -0.15288098, 0.00068967254, 0.068428546, 0.19094922, 0.26162505, 0.012422096, 0.0019210136) * g_1; - result += mat4(0.09429176, 0.17532441, 0.04093382, 0.23090097, -0.039049014, -0.029371511, -0.22049028, 0.087878235, -0.16436112, -0.16126816, -0.13443045, 0.11702453, 0.011557647, 0.0860798, -0.13721867, 0.04339029) * g_2; - result += mat4(-0.13857365, 0.07155365, -0.026300088, 0.030843856, -0.003029181, -0.16634469, 0.009277505, -0.0477318, 0.08176135, -0.025760109, -0.14980459, -0.23881069, 0.04395779, -0.020711109, -0.003765235, 0.16139714) * g_3; - result += mat4(-0.029404152, -0.14717855, 0.08600079, 0.10087113, -0.0015481604, 0.12785077, -0.017091133, 0.11298956, 0.0135069, 0.048736177, -0.16933975, -0.010427592, -0.0710784, 0.035118822, -0.05988874, 0.05704193) * g_4; - result += mat4(0.118158385, 0.05269367, 0.023569904, -0.1657988, 0.046414927, 0.192022, -0.038966145, -0.0991989, 0.052595813, 0.09601838, -0.09776323, -0.10896508, -0.03430822, 0.04195307, -0.03257825, -0.051419284) * g_5; - result += mat4(-0.030581048, 0.17614278, 0.14005136, 0.25032252, -0.041909087, 0.03415134, 0.18558922, -0.013872336, 0.15255652, -0.21187684, 0.14342351, 0.03002535, 0.09936515, 0.07143285, 0.10832944, 0.07492966) * g_6; - result += mat4(0.117437966, 0.20312095, 0.16551267, 0.036241867, 0.15959081, -0.15883422, 0.13650912, 0.13133384, -0.08531496, 0.22273071, -0.09418646, 0.16729115, 0.050657116, -0.15333027, 0.09318966, 0.038184803) * g_7; - result += mat4(-0.18683884, -0.16802727, -0.01640892, -0.033356212, 0.13456257, -0.040969536, 0.12549457, -0.1290507, -0.04681963, 0.040288992, 0.05573994, -0.14020221, -0.08451734, 0.084726095, 0.027533028, -0.062352005) * g_8; - result += mat4(0.16800499, 0.068888284, -0.06970656, -0.11694171, 0.027877143, 0.08590325, -0.41597658, 0.19020869, 0.18468907, 0.10396149, 0.2688539, -0.051384643, 0.082193665, -0.0061698114, 0.10528453, -0.039762035) * g_9; - result += mat4(-0.13182193, 0.13022594, -0.04265935, -0.031845935, -0.031530503, 0.0028220103, -0.075633064, -0.038005225, 0.08944671, -0.038589507, 0.1264931, 0.04362325, -0.017746134, -0.074040845, 0.22195354, 0.02025781) * g_10; - result += mat4(-0.010372041, -0.054928456, -0.11535243, -0.08789095, -0.25536317, -0.14206916, -0.18415648, 0.20086259, -0.08668259, -0.06832273, 0.00049483957, 0.0037794516, 0.022831686, 0.11659795, -0.06669702, -0.19588953) * g_11; - result += mat4(-0.28961572, -0.4749287, -0.028464912, 0.052383482, -0.22320336, 0.24375547, -0.12413771, 0.13081387, -0.1111063, -0.07677365, -0.07474673, 0.13839811, 0.13673459, 0.008945309, -0.16129646, 0.083366215) * g_12; - result += mat4(0.29712868, 0.29954886, 0.096922785, 0.16342036, 0.087328605, -0.31575698, 0.033533126, -0.01676748, -0.05085677, 0.10915346, -0.009143204, -0.08164666, 0.02106476, -0.08223177, -0.13560964, -0.06952909) * g_13; - result += mat4(0.12253968, 0.10194223, -0.18962221, -0.019411137, -0.02967273, 0.07758143, 0.11593596, 0.0006656379, 0.4334612, -0.23675393, -0.10674996, 0.07835363, 0.10412569, 0.08455689, -0.036294702, -0.14943564) * g_14; - result += mat4(-0.08402736, -0.19991463, 0.18588512, 0.07676709, 0.07191373, -0.07213601, -0.1128286, 0.053900886, 0.24843894, 0.15576254, 0.11854475, -0.26013455, 0.06444892, -0.105995424, -0.02662165, 0.23990677) * g_15; - result += mat4(-0.048506703, -0.0874562, 0.09056293, 0.079049595, -0.27113122, 0.042350817, 0.08988192, -0.3137793, 0.0747184, 0.032512806, 0.017864892, 0.14460078, -0.03651161, 0.074389, 0.24303643, -0.099042624) * g_16; - result += mat4(-0.007119913, 0.09615741, -0.03428203, 0.33762857, 0.065405674, -0.49520698, 0.13928282, 0.36657473, -0.023395495, -0.039354183, 0.11659457, -0.07508826, -0.086808786, 0.037178524, -0.08136895, 0.14095466) * g_17; - result += mat4(0.13255325, 0.05039712, -0.1868099, -0.09327347, 0.24704066, 0.18458563, -0.096471004, -0.18579604, 0.01985749, -0.01758252, 0.3442843, 0.053911295, -0.048990734, 0.14512312, 0.068960086, -0.21552262) * g_18; - result += mat4(-0.05009779, -0.07166913, -0.0064091743, 0.12607603, 0.22009291, -0.12833357, 0.07912463, 0.24400796, 0.07644523, -0.09144226, -0.04527602, 0.023284711, 0.14405306, 0.06575743, 0.02459841, -0.025973033) * g_19; - result += mat4(0.008448822, 0.054047976, 0.0909093, 0.037993927, -0.05116312, -0.2986432, -0.07816385, 0.024441332, -0.14043695, 0.027960885, -0.14233884, -0.1725978, 0.048629027, -0.04404273, -0.3075077, 0.06929521) * g_20; - result += mat4(0.093220495, -0.055684812, -0.055064965, 0.028901886, 0.19592312, 0.1363604, 0.076918535, -0.19113176, 0.36366606, -0.013933859, 0.03314929, -0.03575491, 0.07210199, 0.106656946, 0.15615965, -0.19988714) * g_21; - result += mat4(0.12586692, -0.013626416, -0.02413242, 0.0756625, 0.09772758, -0.09996077, -0.008041489, 0.1159643, 0.1241683, 0.14317046, -0.0932358, 0.31132537, -0.0020806575, 0.020223314, -0.2438224, 0.06940367) * g_22; - result += mat4(-0.0016025436, 0.060878396, 0.17611162, -0.100864336, 0.028983932, 0.09252143, 0.10481248, -0.06146908, -0.31934208, -0.13838133, 0.13185565, -0.035758033, -0.13044602, 0.10710358, 5.8081503e-05, -0.00454267) * g_23; - result += mat4(-0.059576258, 0.06968948, -0.008232615, -0.06129336, -0.08833713, -0.054481387, -0.004371116, -0.1964046, 0.022765493, 0.025811723, 0.0067215296, 0.02305441, 0.10606636, -0.086005725, -0.21056533, 0.12253492) * g_24; - result += mat4(-0.00835301, -0.15535109, 0.12221956, 0.19185501, 0.05132267, 0.16891663, -0.11666316, -0.03017235, -0.13267665, 0.046521697, 0.027762229, 0.059645366, 0.00027471577, -0.11043438, 0.10424315, -0.1086128) * g_25; - result += mat4(0.05075079, 0.019918585, -0.031245248, 0.116343796, -0.15688774, 0.13276225, 0.043608118, 0.038603537, 0.09514637, -0.12972692, -0.15088506, -0.19487189, 0.12054755, 0.014158436, -0.017870666, 0.244829) * g_26; - result += mat4(0.16140082, 0.12640321, 0.1969524, 0.14234789, -0.0387056, -0.16567732, 0.13261116, 0.13626204, -0.08689124, -0.13475373, 0.18032974, -0.034728065, 0.016112087, -0.07409384, 0.009190101, -0.13319102) * g_27; - result += mat4(0.13840085, -0.1503008, -0.28004104, 0.0004458277, 0.085771725, 0.18693484, -0.38570777, -0.0015788627, -0.22876291, -0.05482633, -0.19387709, 0.065617, -0.015152447, 0.11920871, -0.10714691, 0.15455256) * g_28; - result += mat4(-0.44118914, 0.15384102, 0.470851, -0.14082034, 0.30934575, 0.16286017, 0.23737209, 0.035161156, 0.035742745, 0.14005975, -0.103563346, -0.0142445285, 0.1746347, 0.13249661, 0.0984072, -0.23170716) * g_29; - result += vec4(0.023260193, 0.094669305, 0.13180539, 0.011011345); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 -//!HOOK MAIN -//!BIND conv2d_21_tf -//!BIND conv2d_21_tf1 -//!BIND conv2d_21_tf2 -//!BIND conv2d_21_tf3 -//!BIND conv2d_21_tf4 -//!BIND conv2d_21_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!SAVE conv2d_24_tf5 -//!WIDTH conv2d_21_tf.w -//!HEIGHT conv2d_21_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.035401143, 0.11828543, 0.16110167, -0.07777353, -0.075349845, -0.013435769, -0.01727356, 0.033077683, -0.30605403, -0.11320239, 0.18582572, 0.060256433, 0.016494479, 0.14741373, -0.07789023, -0.008053446) * g_0; - result += mat4(-0.09569302, -0.114564046, 0.042041153, 0.22988442, -0.19345377, -0.13841586, 0.19079803, 0.064525254, -0.24899781, -0.21335086, -0.040545136, -0.06732098, -0.054337524, -0.16457275, -0.09898493, 0.076531336) * g_1; - result += mat4(0.14414783, -0.09589099, -0.018284459, 0.006014089, -0.14312598, 0.07321137, 0.16399357, 0.120017864, -0.09322919, 0.22950031, 0.034323998, 0.22690134, -0.12497395, 0.026865529, 0.045670614, 0.02153663) * g_2; - result += mat4(-0.0885093, -0.20960386, 0.09523425, -0.001182881, -0.13660184, -0.0988858, -0.10529192, 0.151602, -0.019795151, -0.0056292973, -0.090651646, -0.058967516, -0.034077972, -0.087830566, 0.06904268, 0.01972361) * g_3; - result += mat4(-0.041968595, 0.07223882, 0.028611, -0.05274203, 0.09716402, 0.14615181, -0.008819137, 0.19477727, -0.22391073, -0.188192, -0.23159504, -0.0659422, 0.038915258, 0.06506808, 0.026602015, 0.106757455) * g_4; - result += mat4(-0.03167345, 0.09288782, 0.06510763, -0.1371696, 0.0670977, 0.13643882, -0.16221057, 0.007994042, 0.12745698, -0.13189419, 0.18003656, -0.19340996, 0.054663222, 0.064832725, -0.11706334, 0.03498881) * g_5; - result += mat4(0.054250732, 0.050205093, -0.094529144, -0.073639154, -0.104345, -0.16036876, -0.116890386, -0.019142069, 0.11151763, 0.024416454, -0.21662898, -0.24609119, 0.012618986, -0.050505374, -0.05748476, -0.03385181) * g_6; - result += mat4(0.07575929, 0.20168582, 0.07593563, -0.120610684, 0.39353558, 0.092859395, -0.09407357, 0.11197022, 0.092431, 0.17169674, -0.052467786, -0.12509912, -0.04317581, 0.15022431, 0.053311728, -0.07824366) * g_7; - result += mat4(-0.19801709, 0.19595057, -0.03813935, 0.15429677, 0.043275412, -0.055777457, 0.051823862, -0.12536551, 0.054815408, -0.07399522, 0.111323185, -0.11293141, 0.112620935, 0.0036300484, -0.058666084, 0.0770841) * g_8; - result += mat4(0.055198528, 0.053080693, -0.07051254, 0.01369659, -0.064398214, 0.21947123, 0.25785065, 0.25085342, -0.18726042, -0.1834884, -0.05625831, -0.14207363, -0.08842582, -0.17124884, 0.017937114, 0.064309366) * g_9; - result += mat4(0.15159117, 0.07519266, -0.15370396, 0.042692114, -0.24344702, 0.09258916, -0.11990244, -0.17198385, 0.18952729, 0.1369525, 0.0025766129, 0.0012663774, 0.12561531, -0.14913428, 0.18643859, -0.29388568) * g_10; - result += mat4(-0.1093067, -0.12366066, -0.17348427, -0.007389768, -0.073157415, -0.060100462, 0.15647408, 0.09652795, -0.23171946, -0.13775213, -0.13687882, -0.030829927, -0.021940507, -0.0020031824, 0.028924773, 0.03574328) * g_11; - result += mat4(0.05167366, -0.097687796, -0.015811214, -0.03937127, 0.06846119, -0.020211786, 0.08710146, -0.098835036, 0.18396588, 0.31018186, -0.14081873, 0.16264582, -0.12390926, -0.20042141, 0.06262468, -0.10123357) * g_12; - result += mat4(0.24855806, 0.2536586, -0.06454596, 0.119326875, 0.12777822, 0.16621375, 0.124711774, 0.12201052, -0.012619612, -0.15139428, 0.24413742, -0.07166333, -0.07884437, 0.23534073, -0.024630731, -0.004739806) * g_13; - result += mat4(-0.14524974, 0.16234787, -0.3117823, -0.09532448, -0.38612852, 0.21183789, -0.024396734, 0.17140463, 0.27414736, 0.18016195, -0.18706764, -0.26449355, -0.19747467, -0.26563227, 0.06794068, -0.08063504) * g_14; - result += mat4(0.23652636, -0.21808079, 0.14081404, -0.08695713, 0.35874066, -0.3812793, -0.0042363345, -0.14822814, -0.7956462, 0.02542554, 0.18249872, 0.22436006, 0.04767605, 0.12073363, -0.13262282, -0.13139577) * g_15; - result += mat4(-0.052691665, 0.20573047, 0.091659784, 0.11605743, -0.49105322, -0.4048146, -0.15038882, 0.038508125, 0.08319267, -0.13713421, 0.19062464, -0.08124661, -0.27485934, 0.015815433, -0.021215012, 0.013882374) * g_16; - result += mat4(0.13657252, -0.117852926, -0.2632923, 0.20954777, 0.16333477, 0.35176206, 0.32558918, 0.07111971, -0.19528575, 0.022703214, -0.06283952, 0.0202241, 0.00062078034, -0.23761322, -0.0077519086, 0.25658375) * g_17; - result += mat4(0.020799367, 0.01067424, 0.083184645, -0.14095265, -0.037889767, 0.0034220286, 0.066995576, -0.05181846, 0.17500187, 0.034532286, -0.0034174314, 0.03789843, -0.043532915, -0.13418876, -0.2510271, -0.09374864) * g_18; - result += mat4(-0.13373125, -0.11939298, -0.18171094, -0.04362375, -0.09802522, 0.16033037, 0.033167798, 0.19249743, -0.09332724, -0.2715352, -0.016817318, -0.014301543, 0.20644864, -0.028817968, 0.362786, 0.14023119) * g_19; - result += mat4(0.09587087, 0.0074727098, 0.116851576, 0.023743093, -0.046995968, -0.069463834, 0.13753393, 0.17122227, -0.025173381, 0.13880321, 0.16658309, -0.022459678, -0.31136268, -0.027422085, -0.109531336, 0.18219715) * g_20; - result += mat4(-0.08894726, 0.19153637, -0.08311822, -0.074581176, 0.14477897, -0.21017817, 0.10784192, -0.16820575, -0.315781, -0.2630948, 0.08973418, -0.064013824, 0.075658046, 0.11888417, 0.13260478, -0.10950925) * g_21; - result += mat4(-0.11899363, -0.14369829, 0.008216912, 0.023432927, 0.06846148, 0.1828149, 0.06274231, -0.15299112, -0.0715763, -0.09635764, 0.13176271, -0.06144056, 0.059470557, 0.17273234, -0.08176308, 0.011923788) * g_22; - result += mat4(0.0061189565, -0.11297907, 0.09527446, 0.0046028066, 0.04282835, 0.055091605, -0.04165817, -0.025770452, -0.145678, 0.15372074, -0.11806497, 0.16658548, -0.10533239, -0.05720886, 0.0138695035, 0.11329029) * g_23; - result += mat4(-0.011732977, -0.12060142, -0.12039149, 0.03636631, -0.036845826, -0.054367594, -0.029417133, -0.17178303, -0.16985205, -0.06948697, 0.15569125, -0.0024068935, 0.17779039, 0.117133036, 0.034714937, 0.011719064) * g_24; - result += mat4(0.19989638, 0.071537495, -0.005817529, 0.024970375, -0.002606085, -0.23609988, 0.08164997, -0.004351663, -0.014960431, 0.021064563, -0.20076638, 0.012635818, -0.10835814, -0.10891674, -0.10495171, -0.1400281) * g_25; - result += mat4(0.22666031, -0.18522328, 0.11348862, -0.09860567, 0.039617456, 0.026495604, 0.1451495, 0.0882103, -0.17118423, -0.20988964, 0.14257617, 0.13353662, 0.026001312, 0.15666062, -0.10690302, 0.13496387) * g_26; - result += mat4(-0.18023312, 0.013624079, -0.059931513, 0.1235221, -0.22089219, -0.040241662, -0.13695398, -0.1404048, -0.052548394, 0.14687216, 0.14727584, -0.007241884, 0.08400108, -0.023925923, 0.004576988, 0.05896513) * g_27; - result += mat4(-0.03961407, 0.06747111, -0.06864713, -0.1582473, -0.13148493, 0.05195487, 0.07935757, 0.00300328, 0.10378651, -0.0113868695, 0.031623606, 0.12116739, -0.04027843, -0.14253578, 0.033800546, -0.44795546) * g_28; - result += mat4(0.13076074, 0.13541101, -0.06876114, 0.06036409, -0.09881141, -0.12100859, -0.14494787, -0.14920674, -0.040267494, -0.103508234, -0.092922576, 0.034120508, 0.17455834, -0.03198111, -0.021821547, 0.1617248) * g_29; - result += vec4(0.01765179, -0.014072011, -0.040658478, 0.06147996); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!SAVE conv2d_25_tf -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv2d_24_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv2d_24_tf5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv2d_24_tf4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv2d_24_tf5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.06166647, 0.09529486, -0.076007046, 0.008835734, -0.022746278, -0.020524498, 0.036484558, -0.18692645, 0.16612884, 0.08695116, -0.03444985, -0.036625423, -0.019618431, -0.2497179, 0.04713828, 0.03941277) * go_0(-1.0, -1.0); - result += mat4(0.051320158, 0.09188963, 0.05934812, -0.028814953, -0.08214986, -0.38381183, -0.21082996, 0.08931178, -0.1478504, 0.050554104, 0.15775944, -0.082824536, -0.09758805, 0.03501315, 0.048326474, 0.20755234) * go_0(-1.0, 0.0); - result += mat4(-0.11912697, -0.1639047, -0.028712267, 0.05257035, -0.057109438, 0.016257055, 0.010102283, 0.02258497, 0.0067762802, 0.06568727, 0.13412032, -0.12839553, -0.0052478323, -0.04582172, 0.046101846, 0.03895225) * go_0(-1.0, 1.0); - result += mat4(-0.2623996, -0.04643623, -0.025350014, 0.11266074, 0.31318957, -0.10205316, 0.20703012, -0.09878432, 0.050212078, -0.041905947, 0.1928805, -0.081413575, 0.029278766, -0.05722498, 0.23603556, -0.02379054) * go_0(0.0, -1.0); - result += mat4(-0.07829222, -0.014891703, -0.02923015, -0.04891082, -0.07685137, 0.13036327, -0.2605194, 0.18862042, -0.032530565, -0.078955844, 0.2125311, -0.06390657, 0.074358515, -0.0944192, 0.04031576, -0.24017791) * go_0(0.0, 0.0); - result += mat4(-0.095015146, 0.08709823, -0.085220866, 0.101875454, -0.21940547, 0.095429935, 0.017325258, -0.26081812, 0.06708058, 0.13191286, -0.24980421, -0.036090303, 0.053236503, -0.11681413, 0.06696659, 0.25558624) * go_0(0.0, 1.0); - result += mat4(-0.057251945, -0.15470527, 0.097741194, -0.0055207037, 0.13810219, -0.098230235, -0.08999586, 0.022224225, 0.09270033, 0.046485137, 0.019203654, -0.019220348, 0.06337505, 0.006301626, -0.04131858, 0.05920149) * go_0(1.0, -1.0); - result += mat4(-0.20077895, -0.060091857, -0.012030675, -0.14897619, -0.12295632, -0.0979341, 0.14699385, -0.05202889, 0.124067515, -0.083887726, 0.17461719, 0.15780336, 0.15766764, 0.04728613, -0.10863424, 0.043001574) * go_0(1.0, 0.0); - result += mat4(-0.12690245, 0.035600208, -0.025356498, -0.06894206, -0.121579856, 0.0327393, -0.113368034, 0.085112944, 0.06670692, -0.09475299, 0.017179368, -0.059762985, 0.021771181, -0.050836626, 0.05944231, -0.011734899) * go_0(1.0, 1.0); - result += mat4(-0.054920316, -0.030304149, -0.11105109, 0.012385413, 0.020577729, -0.008300987, 0.06316654, -0.02620882, -0.034891594, -0.004976834, 0.08395707, 0.035198126, -0.011377179, 0.09300824, 0.048836518, -0.09094534) * go_1(-1.0, -1.0); - result += mat4(-0.1148677, 0.0498467, -0.10771813, 0.03301452, -0.038163044, 0.004233585, 0.0025002265, -0.06302246, 0.019796815, 0.05062893, 0.044480775, -0.031719808, 0.1712331, -0.07693259, -0.022257818, -0.09355782) * go_1(-1.0, 0.0); - result += mat4(0.09685269, -0.05529166, 0.031147264, 0.07655294, 0.041224808, 0.12501086, 0.012886804, -0.031120846, -0.018883346, -0.07191267, -0.02080282, -0.0028901217, 0.06751031, 0.09451318, -0.031583074, -0.09243835) * go_1(-1.0, 1.0); - result += mat4(0.015515191, -0.15584822, 0.08790507, -0.111271165, 0.13384461, -0.020855654, 0.01786342, -0.019626036, -0.021073133, 0.048412234, -0.07784231, 0.00589801, 0.10902915, -0.045021616, -0.025299137, 0.030494161) * go_1(0.0, -1.0); - result += mat4(-0.10588466, -0.0012355493, 0.26903358, 0.099189214, -0.116908744, -0.18496048, -0.063001394, 0.14649987, -0.04212112, -0.058351398, -0.20649049, -0.06755194, 0.042475656, -0.28886446, -0.10462373, -0.19176544) * go_1(0.0, 0.0); - result += mat4(-0.048238985, 0.12038389, 0.05851023, -0.13195232, -0.027325528, -0.05691749, -0.020259382, 0.059841767, -0.04831857, 0.05612525, 0.045930166, 0.103542075, 0.17056717, 0.07153741, -0.0005695847, -0.09222333) * go_1(0.0, 1.0); - result += mat4(-0.015188975, -0.028330345, 0.06475087, 0.039649922, 0.08015208, -0.03343779, -0.09342346, 0.027704729, -0.01873157, -0.017396448, -0.05463655, -0.036627814, 0.065141775, -0.009173005, -0.027537009, -0.03491342) * go_1(1.0, -1.0); - result += mat4(0.16886939, -0.016664919, -0.05489729, -0.0646156, 0.07947758, 0.070160225, -0.054875035, 0.07487143, -0.0018300108, 0.14340875, 0.019120038, -0.14778864, 0.02120198, 0.20431966, -0.057769198, -0.063412786) * go_1(1.0, 0.0); - result += mat4(-0.059609845, -0.044698156, -0.11887421, -0.053155288, 0.11937625, -0.011380284, 0.035726782, -0.0032809346, -0.02390899, 0.028173469, 0.11605503, 0.042460438, 0.04107498, -0.025382359, 0.0055907466, -0.060491074) * go_1(1.0, 1.0); - result += mat4(0.13950574, -0.031398408, 0.05869317, -0.0041932254, -0.08233649, 0.04118637, -0.034838192, 0.030280882, -0.10698509, -0.009384861, 0.022907369, 0.03362852, -0.049687177, 0.010223036, -0.025809834, -0.05944809) * go_2(-1.0, -1.0); - result += mat4(0.013511201, 0.12180669, 0.0092064915, 0.0680192, -0.07001209, 0.19408299, -0.024325037, -0.035347454, 0.09694826, -0.13425222, 0.036686067, 0.051675696, 0.0067466674, 0.039925743, -0.013616589, 0.09895118) * go_2(-1.0, 0.0); - result += mat4(0.022670267, 0.11051658, 0.01280793, -0.00506743, 0.13905488, -0.037899602, 0.0116324285, -0.11736314, -0.12509562, -0.13450992, 0.044298768, 0.07256763, -0.034111246, 0.031499702, -0.024342692, -0.04012807) * go_2(-1.0, 1.0); - result += mat4(-0.054806143, -0.039433837, 0.20688836, -0.06932758, -0.055505864, 0.033591345, -0.011807642, 0.13377409, 0.013202392, 0.030601578, -0.044044554, 0.019092588, 0.15104452, -0.04736436, 0.07933319, 0.0808442) * go_2(0.0, -1.0); - result += mat4(-0.08120661, 0.096976824, 0.035287824, -0.07752623, -0.1088452, 0.009262103, -0.06772187, 0.0851409, 0.10140327, 0.17055623, -0.16858724, -0.020316882, 0.05838598, 0.09759389, -0.08185687, -0.15058544) * go_2(0.0, 0.0); - result += mat4(-0.07288273, 0.048684817, -0.050840862, -0.07740546, -0.0293663, -0.011155543, -0.018436499, -0.09088947, -0.13848811, 0.16170098, 0.047927193, 0.04666957, 0.092211105, -0.016306465, 0.00071041065, 0.14366496) * go_2(0.0, 1.0); - result += mat4(0.0010082172, -0.06622412, 0.032247175, -0.06717882, -0.0640833, -0.051457766, -0.052786853, 0.09610263, -0.016265746, -0.10230698, -0.09378997, 0.032618906, 0.13324349, 0.042409174, -0.080133736, -0.1741766) * go_2(1.0, -1.0); - result += mat4(-0.056840084, -0.106264874, -0.0022399705, 0.033432458, -0.012551941, 0.03538272, -0.029066289, 0.026861634, 0.06871675, 0.039153498, 0.20519088, -0.145508, -0.023353614, 0.12257076, -0.10474505, -0.0018490221) * go_2(1.0, 0.0); - result += mat4(-0.113193035, 0.07080721, 0.01030223, 0.006177725, 0.075466745, 0.04482333, -0.07071907, -0.016957464, -0.07380668, 0.036033623, -0.004883166, -0.024313578, 0.04330381, -0.03380222, 0.047028575, -0.055949286) * go_2(1.0, 1.0); - result += mat4(0.0065355953, -0.106070854, 0.046797846, 0.054897975, -0.073402844, -0.026886068, 0.07788056, -0.0063465633, 0.02009201, 0.0532501, -0.21889481, 0.028795658, -0.06233731, -0.031046558, 0.02490095, 0.060170352) * go_3(-1.0, -1.0); - result += mat4(-0.03175583, 0.13402268, -0.06509575, 0.05536282, -0.043879837, -0.017241556, -0.14183941, -0.10554382, 0.23820382, 0.05799508, -0.04913701, -0.17487198, -0.0036701688, 0.19644801, 0.09490716, -0.096341126) * go_3(-1.0, 0.0); - result += mat4(-0.019748677, 0.06276037, -0.0710753, 0.021939961, 0.023091486, -0.010296817, -0.013234315, -0.070667446, -0.043426152, -0.12873076, -0.10405566, -0.13278995, -0.07841859, -0.09935093, 0.16365989, -0.10874392) * go_3(-1.0, 1.0); - result += mat4(0.0034429682, 0.0777451, -0.20297584, -0.034304563, -0.20821045, -0.06967927, 0.0069935727, 0.06818987, 0.11493428, -0.13941486, 0.09426282, 0.113237746, -0.18580022, -0.14258705, -0.08273845, 0.10751073) * go_3(0.0, -1.0); - result += mat4(-0.21328938, -0.012580941, -0.1820024, -0.08053879, 0.07931148, -0.03035549, -0.0114164995, 0.030046796, 0.040258206, 0.058445115, 0.087784424, -0.05276828, -0.05584388, 0.05649799, 0.10458559, 0.117295496) * go_3(0.0, 0.0); - result += mat4(0.0004067625, 0.009013988, -0.11189667, 0.18077454, 0.044584297, -0.0075380174, 0.027782472, 0.023007099, -0.15650754, -0.0016945648, -0.117185384, -0.12843834, -0.21347368, -0.06306287, -0.038481444, -0.04364172) * go_3(0.0, 1.0); - result += mat4(-0.012604359, -0.1458971, 0.0025814052, -0.10555279, 0.08536396, 0.056438394, -0.073529385, 0.11475026, 0.04129833, 0.038889654, -0.050739683, -0.10685405, -0.17847179, -0.023147365, -0.021397736, 0.012562349) * go_3(1.0, -1.0); - result += mat4(0.061623327, 0.032743514, -0.092126705, -0.009911827, 0.11853501, -0.04201077, -0.06540546, -0.0004200978, 0.36105943, -0.013727552, 0.15243492, -0.37710276, -0.16434546, 0.0027665482, 0.09155056, -0.05159514) * go_3(1.0, 0.0); - result += mat4(0.063556105, -0.038802505, 0.098308414, -0.022572387, 0.01916856, -0.046118446, -0.023157543, -0.0030076469, 0.006978761, -0.07691966, 0.049419176, -0.014772799, -0.13417888, -0.09242537, 0.06894446, -0.07848624) * go_3(1.0, 1.0); - result += mat4(0.01280834, -0.052721504, -0.01706708, 0.0028470804, 0.020805791, 0.006617784, -0.010675241, -0.017558832, -0.09362381, 0.0043864, -0.035955433, 0.001065764, 0.058542565, -0.032927778, 0.07916248, -0.03997376) * go_4(-1.0, -1.0); - result += mat4(0.060645532, 0.104732536, 0.11815832, 0.05011748, 0.0055031423, 0.20799986, -0.050977442, -0.21806534, -0.00055571686, -0.21356145, -0.0147209745, 0.072338395, 0.11485665, -0.022358414, -0.01575413, 0.11097265) * go_4(-1.0, 0.0); - result += mat4(-0.07599235, -0.070393614, -0.042556494, -0.027536979, 0.03244002, -0.009717755, -0.10595384, -0.05508222, -0.060975544, -0.033835378, -0.08520762, 0.1234127, -0.04340964, 0.029099535, -0.055060316, 0.10189488) * go_4(-1.0, 1.0); - result += mat4(-0.11586163, -0.10339468, 0.018628253, 0.11294932, -0.08137997, -0.12097089, -0.004096637, -0.15007496, -0.11381295, -0.11907909, 0.0019885178, -0.06317762, 0.082184374, 0.16213977, 0.17092547, 0.05194319) * go_4(0.0, -1.0); - result += mat4(0.015809923, 0.031414498, 0.06770427, -0.040179458, 0.009551585, -0.03656711, -0.015123795, 0.2606833, 0.12001062, -0.09206469, 0.05211573, -0.10032222, -0.066903725, -0.10153829, 0.006569603, 0.15233746) * go_4(0.0, 0.0); - result += mat4(-0.13016693, -0.05837558, 0.03728972, 0.013845801, -0.0963519, 0.043406032, -0.11162186, 0.17593586, 0.16878426, -0.023199903, 0.018601537, 0.064760186, -0.02338956, -0.030894913, -0.023887586, 0.09656904) * go_4(0.0, 1.0); - result += mat4(0.046886213, 0.059098363, 0.117162004, -0.019554192, 0.06123918, -0.03775235, -0.17667934, -0.020468798, -0.10859388, 0.0027064981, 0.032114375, -0.08948968, 0.022602081, 0.019939497, -0.035069417, -0.017369915) * go_4(1.0, -1.0); - result += mat4(0.05927567, -0.04385093, 0.029050631, -0.0122622885, 0.124886535, -0.047030345, 0.12648477, 0.21384676, 0.06860462, 0.11381426, -0.20935951, 0.03660723, 0.07183579, -0.0505358, -0.13215779, -0.09444421) * go_4(1.0, 0.0); - result += mat4(0.12360126, -0.01841402, -0.019791638, -0.009799932, -0.0067030676, 0.077652015, -0.09030087, -0.05485269, 0.10192293, -0.026423357, 0.024067886, 0.010795157, 0.05065528, -0.021747395, 0.11369635, 0.071461305) * go_4(1.0, 1.0); - result += mat4(-0.15664753, -0.3001536, -0.03629498, 0.060492914, 0.009496274, 0.028094364, -0.009191958, -0.0577588, -0.06539721, -0.011572763, -0.15954313, 0.102323525, -0.05494961, -0.0023975812, 0.040828995, -0.051322095) * go_5(-1.0, -1.0); - result += mat4(0.12627518, 0.18399099, 0.16070911, 0.16220057, 0.057850912, 0.04689522, -0.075267516, -0.022188958, 0.16158912, -0.11660483, 0.045059294, 0.06380398, 0.025790306, -0.008863167, -0.08780004, -0.06612076) * go_5(-1.0, 0.0); - result += mat4(0.14227939, -0.027410321, 0.13737302, -0.12113999, 0.029474085, 0.00757624, 0.019095859, 0.12143887, 0.060082193, 0.1189196, -0.06993007, 0.03063737, 0.047921035, 0.01861652, -0.03395391, -0.08596215) * go_5(-1.0, 1.0); - result += mat4(-0.13546674, -0.095134504, 0.13793515, 0.14019996, -0.076285966, -0.07444076, 0.08611525, -0.094507635, 0.010120621, 0.022456804, 0.0432159, 0.05690138, -0.041333348, 0.112625234, -0.07680725, -0.057620674) * go_5(0.0, -1.0); - result += mat4(-0.0306885, -0.1369895, -0.095055066, -0.16577624, -0.14029223, -0.2401948, 0.09099631, 0.1894274, 0.091891415, 0.18598725, -0.016354626, 0.073076904, -0.13816236, -0.050228953, 0.09365188, 0.2218683) * go_5(0.0, 0.0); - result += mat4(0.2252823, 0.24741633, -0.062608674, -0.049572356, 0.13114338, 0.027443433, 0.05400542, -0.13648489, -0.04472984, -0.0016671685, 0.048863463, -0.11504105, -0.06100274, -0.0878448, -0.06880304, 0.053783167) * go_5(0.0, 1.0); - result += mat4(-0.10332402, -0.055568, -0.008943689, 0.052060086, 0.13946952, 0.07737958, -0.013550045, 0.12413722, -0.08039647, 0.06550823, -0.009702849, -0.07330266, 0.041070487, -0.029019738, 0.17718314, -0.047616117) * go_5(1.0, -1.0); - result += mat4(-0.007685302, -0.05005613, -0.16978261, 0.1673353, -0.01058089, -0.009134079, 0.056686405, -0.032724455, -0.23283169, -0.015320123, -0.07628575, 0.1583336, 0.10090872, -0.08577921, 0.009976957, -0.08556881) * go_5(1.0, 0.0); - result += mat4(-0.069601454, -0.16285476, -0.14907263, 0.008809696, -0.090793215, 0.040755514, -0.052355014, 0.059863154, -0.09268102, 0.061798856, -0.06748168, 0.11184569, 0.033429194, -0.016948707, 0.04313349, -0.040461414) * go_5(1.0, 1.0); - result += mat4(0.19497512, -0.0467561, 0.023610603, -0.06681841, -0.062420018, -0.1856033, -0.052360386, 0.03759329, 0.021207232, -0.018927721, -0.004877006, -0.119918, -0.038005788, 0.03264522, -0.045749072, -0.10774479) * go_6(-1.0, -1.0); - result += mat4(0.03304711, -0.10518301, 0.047590237, 0.15113771, -0.038459413, 0.033557326, 0.04411137, -0.0009139046, 0.04881818, 0.014962995, 0.07928227, -0.04755859, -0.11342892, -0.13751194, 0.008316373, -0.025914624) * go_6(-1.0, 0.0); - result += mat4(-0.011008603, 0.045551877, -0.0081338845, -0.047599968, -0.041662537, 0.0406822, -0.05794957, -0.004118748, 0.09639767, 0.034570917, 0.004335613, -0.072743304, -0.06002741, -0.027849816, 0.010462201, 0.07306804) * go_6(-1.0, 1.0); - result += mat4(0.038866248, -0.08543851, -0.11141201, -0.005390378, 0.0561201, 0.10566394, -0.18883973, -0.20431116, -0.0900862, 0.14404656, -0.035239823, 0.11301996, 0.16515182, -0.050829098, -0.031654615, -0.27990615) * go_6(0.0, -1.0); - result += mat4(-0.007277367, 0.12595385, -0.11913772, 0.046281498, 0.028128926, 0.072584935, 0.23264836, 0.07615621, -0.002138678, 0.041904695, 0.0031731776, -0.050394382, -0.07322431, -0.06341686, -0.20411542, 0.14221752) * go_6(0.0, 0.0); - result += mat4(0.031282783, 0.040795453, 0.208459, 0.049378183, -0.015543645, -0.04021312, 0.007385161, 0.12940495, 0.037410237, -0.014123586, 0.04817765, 0.2954283, 0.02939279, 0.073805846, 0.07340725, 0.053781614) * go_6(0.0, 1.0); - result += mat4(0.14374124, 0.019307, 0.089477286, -0.07718816, -0.07112429, 0.004047335, 0.13103326, -0.16484602, -0.03885213, 0.0077970796, 0.0064952304, 0.051825427, 0.0664705, 0.020351974, 0.029119588, -0.15641749) * go_6(1.0, -1.0); - result += mat4(-0.05202113, -0.054551017, 0.33602884, 0.048029248, -0.043523017, 0.044123486, -0.018491492, -0.09169264, -0.013394848, -0.06573222, 0.13456802, -0.1149609, -0.044688087, -0.00718599, 0.1767986, -0.053084526) * go_6(1.0, 0.0); - result += mat4(0.07546729, -0.032875005, 0.042173672, 0.05048262, 0.01590828, -0.09853918, 0.06093201, -0.002626066, -0.03542386, -0.15628773, 0.060038045, 0.12942557, -0.0070227217, -0.03641083, 0.10482737, 0.025141418) * go_6(1.0, 1.0); - result += mat4(0.016529802, 0.0043892316, -0.10654008, -0.024906425, 0.063835494, 0.062191088, -0.03386337, -7.391122e-05, 0.017360928, -0.081854485, -0.049970977, -0.18043153, 0.07422766, -0.052274927, -0.10796201, 0.02522134) * go_7(-1.0, -1.0); - result += mat4(-0.13193989, -0.39976606, -0.08711887, 0.11760426, 0.0400159, 0.04344605, -0.025972437, 0.017632293, -0.08930181, -0.06918609, -0.100745395, 0.12591058, 0.047575995, 0.20105389, 0.15187413, 0.14879894) * go_7(-1.0, 0.0); - result += mat4(-0.092015155, 0.046027385, -0.06561636, -0.024732815, -0.13749364, -0.11767722, -0.081770845, 0.08132994, 0.059361424, 0.08782322, 0.069658145, -0.016498579, 0.06615127, -0.04983712, -0.072412446, -0.041010287) * go_7(-1.0, 1.0); - result += mat4(0.24117598, -0.027253859, 0.105331935, 0.0037912133, -0.05223233, -0.075537495, 0.02798587, 0.11465205, -0.029297842, 0.04478198, 0.08314539, -0.26526174, 0.020445049, -0.0023376262, -0.04505236, -0.0006044712) * go_7(0.0, -1.0); - result += mat4(0.09227631, 0.13715367, -0.056893453, -0.052973308, 0.40374655, -0.08798927, 0.058961708, -0.19479023, -0.086991675, -0.1769822, -0.07190271, 0.15482901, 0.09349237, 0.1288526, -0.11294257, 0.25005454) * go_7(0.0, 0.0); - result += mat4(0.07191734, 0.027553475, -0.06921294, -0.29639876, -0.09307168, 0.031660758, 0.0066143875, -0.010571511, 0.16258438, -0.023288634, -0.008395366, -0.00199625, -0.0017766656, 0.033006024, 0.007838229, -0.0069438727) * go_7(0.0, 1.0); - result += mat4(-0.21871254, -0.18168172, -0.13938524, 0.11240828, -0.0069276206, 0.06823823, 0.07300479, 0.13021785, 0.05081249, 0.094866015, -0.032590266, -0.00373966, 0.06404947, 0.020337617, 0.05815261, 0.05636723) * go_7(1.0, -1.0); - result += mat4(-0.14583783, 0.13061316, -0.16108353, 0.07912993, 0.10734204, 0.058502458, 0.17339855, -0.016800068, 0.015104513, -0.08744899, 0.03314292, 0.00884198, 0.012148305, -0.13259661, -0.0024382567, 0.09106286) * go_7(1.0, 0.0); - result += mat4(0.011463585, 0.030946795, -0.011552501, -0.035901964, -0.041020002, 0.09250339, -0.020290852, 0.024048228, 0.05744567, 0.026032735, -0.073170856, -0.104456924, 0.071367934, 0.003912922, 0.025425302, 0.047988683) * go_7(1.0, 1.0); - result += mat4(-0.22191837, -0.2257593, -0.15251155, 0.07586268, 0.06943342, -0.007574967, 0.19480947, -0.02960502, 0.20693396, 0.12508106, 0.079586156, -0.06614329, 0.10324912, -0.011199283, -0.032664742, 0.01517784) * go_8(-1.0, -1.0); - result += mat4(-0.16461048, -0.14455634, -0.07863425, 0.10448297, -0.16391546, -0.3440858, 0.061637916, 0.10821992, -0.11559868, -0.124102026, -0.07010831, -0.043542713, 0.005122282, -0.22303511, 0.10319967, 0.11136304) * go_8(-1.0, 0.0); - result += mat4(-0.085814305, 0.0671181, -0.09666471, 0.0709856, -0.08612543, 0.06824724, -0.02760584, 0.120118774, 0.025091501, 0.1524465, -0.08756672, 0.03332349, 0.037369296, -0.019516885, 0.08425569, -0.048828572) * go_8(-1.0, 1.0); - result += mat4(-0.14368273, -0.061557032, 0.059682447, 0.038857657, -0.09985489, 0.13392676, 0.09205029, -0.08138969, 0.06367527, 0.08306289, 0.051590085, 0.009205435, 0.11429562, -0.03924382, -0.103099965, -0.16046633) * go_8(0.0, -1.0); - result += mat4(-0.03116845, -0.161036, 0.16455984, 0.15823524, 0.057797033, 0.10055296, -0.021965846, -0.1707231, -0.1316759, -0.18603332, 0.3289355, -0.17060469, -0.09103268, -0.015564387, -0.0051795538, 0.004206438) * go_8(0.0, 0.0); - result += mat4(0.090225436, -0.06456529, 0.0039322153, 0.13748786, -0.00029579244, 0.05173729, -0.012565472, 0.014817849, -0.15867415, -0.1161162, -0.067584015, -0.04968183, -0.010860482, -0.03713543, -0.045595832, -0.023706641) * go_8(0.0, 1.0); - result += mat4(-0.05970663, -0.027418336, 0.11284707, 0.101240784, -0.07298847, 0.11284481, -0.0078089354, 0.06006012, -0.16067922, 0.07320997, -0.1914743, 0.042251594, -0.048038073, 0.007961409, 0.1175661, -0.09223836) * go_8(1.0, -1.0); - result += mat4(-0.1683908, 0.045841098, -0.09786102, 0.09460191, -0.017222371, -0.035355564, 0.0690435, -0.030392602, -0.27776477, 0.034729514, -0.3573131, 0.19292149, -0.09288385, -0.03694833, 0.19795837, 0.08169002) * go_8(1.0, 0.0); - result += mat4(0.10526859, -0.033842515, -0.00038688057, -0.043641835, -0.03687145, 0.0163753, 0.07397885, -0.025366662, 0.06565965, 0.0792511, 0.03835641, 0.07304188, -0.12286303, -0.006640694, -0.078515835, 0.03172248) * go_8(1.0, 1.0); - result += mat4(0.121351756, -0.0763981, 0.09827231, -0.10602815, 0.04846232, 0.06795368, 0.035164706, 0.055941246, -0.017775094, -0.060437303, 0.04069536, -2.5598622e-05, 0.10354173, 0.03151618, -0.054484546, -0.06755197) * go_9(-1.0, -1.0); - result += mat4(0.052247375, -0.06516116, 0.09588556, -0.003264454, 0.022573326, -0.13400207, 0.1418172, 0.19728236, -0.079901055, -0.13343193, -0.021878898, -0.0290019, -0.09528025, -0.1114056, -0.10429659, -0.16927998) * go_9(-1.0, 0.0); - result += mat4(-0.017356968, -0.00969671, -0.022002133, -0.108752415, -0.06782034, -0.105500594, 0.02407946, 0.18143432, 0.07188958, -0.03473495, 0.08828998, 0.10953856, 0.006947472, -0.03331379, -0.17057602, 0.033569362) * go_9(-1.0, 1.0); - result += mat4(0.10608698, 0.1378534, -0.026160153, 0.039835528, 0.113831565, 0.009820958, 0.07269987, 0.17601271, 0.0034729815, 0.08407026, -0.01897768, 0.05271668, -0.016592437, 0.05929509, -0.15702367, 0.00019891327) * go_9(0.0, -1.0); - result += mat4(-0.0732074, -0.14815444, 0.33618078, 0.024749054, 0.10881424, 0.024599079, -0.21665074, -0.20229015, -0.017055713, 0.11797696, -0.0604084, -0.13081324, -0.007022633, -0.18243237, 9.758133e-05, 0.14844951) * go_9(0.0, 0.0); - result += mat4(0.030599771, -0.14666091, 0.1246702, -0.23767127, -0.1542676, 0.08274036, 0.017111259, 0.17739242, 0.09385083, -0.008990236, -0.008731476, 0.0078490805, 0.10616891, -0.0045042736, -0.015150148, 0.093863346) * go_9(0.0, 1.0); - result += mat4(-0.238582, -0.12888226, 0.062746584, -0.013613244, -0.15023652, 0.00604485, -0.03942331, 0.049745943, -0.03517055, 0.0266165, -0.0053780763, 0.11204057, 0.04067464, -0.010735517, -0.02092895, -0.055166125) * go_9(1.0, -1.0); - result += mat4(-0.21076983, 0.00020977294, 0.057701807, 0.11936158, -0.043244675, 0.15999554, 0.07520316, -0.03134187, -0.047411434, -0.08266884, 0.03400874, 0.058285017, 0.15107161, -0.029803991, -0.061899424, 0.029055532) * go_9(1.0, 0.0); - result += mat4(0.059893206, 0.15408796, -0.06683036, -0.033143673, 0.026131466, 0.046894383, 0.09191239, 0.024258284, -0.035980422, 0.0048372583, -0.053550158, 0.0045745485, 0.103011794, 0.00410687, -0.032758884, -0.026524084) * go_9(1.0, 1.0); - result += mat4(-0.18295364, -0.17585278, 0.17137699, -0.08619195, -0.13111612, 0.051858477, -0.029036282, -0.006265607, 0.11600521, -0.061429944, 0.07723731, 0.025352364, -0.03384655, 0.08169898, 0.011377913, 0.054112416) * go_10(-1.0, -1.0); - result += mat4(-0.0845478, -0.2210954, 0.0278858, -0.12316875, -0.08059248, 0.1765885, 0.0012807783, -0.05785069, -0.16184571, 0.13207576, -0.1969308, 0.085367665, 0.0320036, 0.049941804, 0.0961744, 0.030920865) * go_10(-1.0, 0.0); - result += mat4(0.006473092, -0.28939396, 0.045139372, 0.1506751, -0.039407697, 0.05958992, 0.025343666, 0.013108786, -0.07745663, 0.04343992, -0.014802551, -0.060424045, 0.1636588, 0.0062321406, 0.15372176, -0.09329484) * go_10(-1.0, 1.0); - result += mat4(0.100206874, 0.09197898, 0.09058029, -0.0635527, 0.055971082, -0.051781185, 0.018404432, 0.13257432, 0.24335167, -0.0018386962, 0.013339353, -0.05098463, 0.059486944, 0.009329367, -0.081478484, -0.015244286) * go_10(0.0, -1.0); - result += mat4(0.12779732, 0.089683644, 0.21342328, -0.08844181, -0.2867166, -0.15493292, -0.14888553, 0.16488807, -0.1831781, 0.020893812, -0.10749461, 0.058019836, -0.028827542, 0.0013639918, -0.017985959, -0.18188177) * go_10(0.0, 0.0); - result += mat4(0.29080325, 0.14193642, -0.038238116, -0.18710017, -0.16504124, -0.010206886, -0.11935492, -0.100392096, 0.04072275, 0.033194207, 0.030005952, -0.1253406, 0.15270533, -0.010144447, 0.092550725, -0.019711375) * go_10(0.0, 1.0); - result += mat4(-0.11841741, -0.07162508, -0.061306775, -0.031790234, 0.032855142, 0.0009371411, -0.03394299, 0.13660134, 0.051604748, 0.058614805, -0.010754542, 0.10677512, 0.0937737, 0.03432094, -0.027782435, 0.109737664) * go_10(1.0, -1.0); - result += mat4(-0.14472151, 0.09398292, -0.15900728, 0.05097848, 0.075774, 0.04932654, -0.02454701, -0.08406903, -0.056312535, -0.042069953, -0.071291484, 0.098381884, 0.004548807, 0.05215396, -0.015525509, 0.12574632) * go_10(1.0, 0.0); - result += mat4(-0.11654189, 0.013088836, -0.02402389, -0.036904175, -0.12132315, 0.014733159, -0.028042665, 0.003102871, -0.020543652, -0.020059172, -0.089582056, 0.008796405, 0.02454187, -0.066452146, -0.060199965, -0.02707342) * go_10(1.0, 1.0); - result += mat4(0.05652919, 0.042058658, -0.015599604, -0.05833937, -0.13732237, -0.041316792, -0.07279584, 0.07993067, -0.11355821, 0.054718003, 0.080026165, 0.064056605, -0.035523087, -0.08941014, -0.025958898, 0.061026268) * go_11(-1.0, -1.0); - result += mat4(-0.0058581834, 0.015453918, -0.09214841, -0.022040304, 0.10705177, 0.085769184, 0.113192774, -0.04181053, 0.042530615, 0.16765572, 0.060522784, -0.017345218, -0.044598486, 0.034881953, -0.13498019, 0.23769027) * go_11(-1.0, 0.0); - result += mat4(-0.023105798, -0.020430628, -0.0071207415, 0.006704128, -0.002355791, -0.0752171, 0.061575998, 0.015624271, -0.023365654, -0.1427836, 0.06126982, -0.050201222, -0.06720442, -0.13793977, 0.011413775, 0.058962625) * go_11(-1.0, 1.0); - result += mat4(-0.029752081, -0.0032342975, 0.099601224, -0.08883965, -0.010183654, 0.11812346, -0.109437235, -0.027385335, -0.10880765, 0.026722083, 0.099590175, 0.11692624, 0.1614155, -0.0004482927, 0.057256628, -0.18714856) * go_11(0.0, -1.0); - result += mat4(0.14083168, -0.050669212, -0.007808056, 0.13454509, 0.20497486, 0.004596911, -0.027377158, 0.22557732, -0.029528921, -0.38164106, -0.020178597, -0.1270025, 0.058526114, 0.27948564, 0.00021355593, -0.21633019) * go_11(0.0, 0.0); - result += mat4(-0.1697489, -0.1534659, 0.06745331, 0.06836403, 0.05527775, 0.01585226, -0.008290084, 0.00372169, 0.05588411, -0.07853263, 0.21021011, -0.10604325, 0.0037866917, 0.23453033, -0.034253817, 0.20989835) * go_11(0.0, 1.0); - result += mat4(0.046102192, -0.0130096115, 0.021954251, -0.108732164, 0.04381521, -0.032636926, 0.080669895, -0.08031942, -0.08951513, -0.02696031, 0.0046885624, -0.022610806, -0.099242695, 0.032632332, -0.0016390269, -0.07711874) * go_11(1.0, -1.0); - result += mat4(-0.044159513, 0.07067756, 0.094432525, -0.17828992, -0.12117777, -0.013418155, -0.007921758, -0.02032334, 0.07187493, 0.18236518, -0.037667807, -0.099229, -0.15891619, 0.09857986, 0.0473225, -0.14218943) * go_11(1.0, 0.0); - result += mat4(0.05981301, 0.028920583, 0.07183061, -0.0028005976, -0.04035995, -0.037211154, -0.04457544, -0.0063461177, 0.10543609, -0.07223556, -0.0030153142, -0.22591156, 0.022075815, 0.0039744987, 0.010785018, 0.057664506) * go_11(1.0, 1.0); - result += vec4(0.00025627183, -0.015120007, 0.01494957, -0.053881075); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.10379351, 0.18366472, -0.014283382, 0.037760813, -0.19799379, -0.0018981653, -0.059591044, 0.13041328, 0.022382444, 0.08731348, 0.059271958, 0.03694388, 0.038578022, -0.15092373, -0.2403975, 0.15757182) * g_0; - result += mat4(-0.13118985, 0.09737578, 0.04058633, 0.15121624, -0.050244283, -0.058344584, 0.056500804, -0.025770865, -0.005228628, -0.12770256, 0.21192689, -0.12730236, 0.07307438, 0.089528576, -0.14202845, 0.16739286) * g_1; - result += mat4(-0.09291285, 0.049908094, -0.08641805, -0.0994023, -0.13827445, 0.06629267, -0.012042626, 0.14321536, -0.20399944, -0.09279058, 0.08082924, 0.22459853, 0.101080395, -0.03917803, -0.0055141104, -0.056043904) * g_2; - result += mat4(0.09961629, 0.018202445, 0.070070334, -0.08061635, -0.025480092, 0.07361016, -0.09318115, 0.0467741, -0.08614961, -0.2969266, -0.044264156, -0.034117006, 0.0013521328, 0.14935707, -0.11521471, -0.18149963) * g_3; - result += mat4(-0.02796338, 0.07482737, 0.077914014, 0.008720861, 0.113995664, -0.16486213, 0.02044073, -0.26344302, -0.022359366, 0.10770358, -0.28904364, 0.1708076, 0.048541255, 0.056811094, 0.009464462, -0.15483724) * g_4; - result += mat4(0.21674214, -0.056123927, 0.026049627, -0.24166808, 0.106360875, 0.13033913, 0.06690134, -0.102156475, -0.2146559, 0.043410923, 0.052054137, 0.07441795, -0.19243327, 0.080124944, 0.050383605, -0.031940952) * g_5; - result += mat4(0.15253735, -0.14331368, 0.11689908, 0.19804358, 0.09282296, 0.13205051, 0.01873634, -0.16300555, 0.0960226, -0.16211699, 0.108940765, -0.0054207807, -0.10787891, 0.12311903, 0.15282704, 0.02691786) * g_6; - result += mat4(-0.060586907, -0.08894053, -0.11878285, 0.16953108, -0.012478705, -0.053086035, -0.17722923, 0.08350076, 0.07320384, 0.058841225, 0.06174459, 0.17676029, 0.020537157, -0.08562913, 0.19099198, -0.17127311) * g_7; - result += mat4(0.16016012, 0.013196712, 0.014020182, -0.04458684, 0.09496452, -0.013175905, 0.117158264, -0.06100676, 0.035590272, 0.23623185, 0.04740066, -0.16814622, -0.04528422, 0.054107446, -0.007874635, -0.05462888) * g_8; - result += mat4(-0.064958826, 0.062455025, -0.060231823, 0.04726689, -0.08692075, -0.13570185, 0.027609564, 0.058563568, -0.08078551, 0.026376098, -0.092572846, 0.1144904, 0.16768721, -0.055053793, 0.08884567, -0.0039492855) * g_9; - result += mat4(0.08873042, 0.034452096, -0.08266588, -0.064171374, -0.014811351, -0.031750735, 0.039068844, 0.15075831, 0.1469489, -0.15084769, 0.045364805, -0.110339, 0.06251466, 0.032046065, 0.057865307, 0.08985475) * g_10; - result += mat4(-0.07245567, 0.051501337, 0.0042395876, 0.033770293, -0.031408194, -0.05472587, 0.09442824, -0.11996058, 0.24455559, -0.018954042, -0.16885613, -0.01632158, -0.0013987822, 0.06844135, -0.0111589795, 0.05573825) * g_11; - result += mat4(0.004076213, 0.01192855, -0.015088375, -0.08436373, 0.021499854, 0.11274089, -0.10327082, 0.059402663, -0.07375569, 0.07293562, 0.04328945, 0.07769358, -0.00626241, 0.00084008416, -0.085746236, 0.023070317) * g_12; - result += mat4(-0.09255245, 0.085858874, 0.05233346, 0.06957257, 0.0484713, -0.14642376, 0.12319201, -0.19496371, -0.08323385, -0.06796162, 0.10835355, 0.0060179066, -0.18043493, 0.06015162, 0.10672543, -0.005817063) * g_13; - result += mat4(0.3232499, -0.1989966, -0.049172856, 0.076056555, 0.33830073, -0.21595804, -0.10094274, -0.004869525, 0.10147264, -0.04128893, 0.10962383, -0.2672602, -0.0242305, 0.08097903, -0.19162776, -0.10605484) * g_14; - result += mat4(-0.22968711, 0.02579494, 0.11823294, 0.059410084, -0.3657473, 0.035860255, 0.24233946, 0.015638743, -0.30643675, -0.05283249, 0.017403604, 0.29657462, 0.056514356, -0.10457145, 0.13097277, -0.01019346) * g_15; - result += mat4(0.13813877, -0.20461698, -0.23769434, -0.044042442, -0.0980774, -0.16314495, -0.18455383, -0.22081804, 0.08652147, -0.005959925, 0.08006801, -0.056305975, 0.27703115, -0.19184026, -0.20616496, 0.05559955) * g_16; - result += mat4(-0.051795844, 0.00823916, -0.029457001, 0.11031028, 0.3818378, -0.10899863, -0.0840712, 0.2996256, -0.11754779, -0.07541523, 0.013602051, -0.056690898, -0.10979357, 0.079053424, 0.08714793, -0.061318632) * g_17; - result += mat4(-0.11119865, -0.20492773, 0.054974385, -0.07364314, -0.1528288, 0.028022958, -0.00607566, 0.086783506, 0.04634063, -0.032565832, -0.045977455, 0.101378955, -0.09641133, 0.0043743537, 0.08885213, 0.33897394) * g_18; - result += mat4(-0.04481023, 0.097230285, 0.10430489, 0.10649403, 0.21939069, -0.1500718, 0.05880893, -0.10914413, -0.044258267, 0.05826005, 0.066263, -0.06499524, 0.07086308, -0.044233378, 0.021092411, -0.24664259) * g_19; - result += mat4(0.005507752, -0.012920197, -0.073212765, -0.02703035, 0.13821156, 0.08859407, -0.1497461, -0.021670796, 0.10447694, 0.021847986, 0.040287685, 0.08332262, -0.113355346, -0.05927782, 0.0033077523, 0.016749239) * g_20; - result += mat4(-0.13260053, 0.08340849, -0.057220932, 0.050883524, 0.046069406, 0.02517257, 0.07518926, -0.1041817, 0.04734083, -0.13760519, -0.06936529, -0.1629241, 0.06663661, 0.051238295, 0.0026632578, 0.026618795) * g_21; - result += mat4(0.043251, -0.00019805098, -0.0067067496, -0.008556112, -0.07886367, 0.047598533, 0.12148756, -0.21429478, 0.010308021, 0.018492302, -0.089294665, 0.026199404, -0.07520715, 0.0356786, 0.015251901, 0.022741525) * g_22; - result += mat4(0.11324991, -0.048524857, 0.04142719, -0.023030233, 0.014004447, -0.13249397, -0.07014101, 0.07292874, 0.074551955, -0.13850869, -0.0725583, -0.031064156, 0.10623482, -0.013893804, -0.041833505, 0.0536592) * g_23; - result += mat4(0.024236089, 0.021549981, -0.020722905, 0.1031231, -0.06631272, 0.021624254, 0.0040281564, 0.121802464, 0.07268475, -0.13640176, -0.014991021, -0.03396125, 0.012678531, -0.030477472, 0.007851547, 0.032361716) * g_24; - result += mat4(-0.10445165, -0.054380383, 0.116709106, -0.120440856, 0.065207876, -0.037177384, -0.0010802799, -0.09903962, -0.014772104, -0.015991863, -0.011176849, 0.08159087, -0.04181037, -0.045783844, 0.05329981, -0.017217785) * g_25; - result += mat4(0.07567822, 0.047062293, 0.03619995, -0.04219767, 0.10531482, -0.08139784, 0.04502375, 0.01837867, 0.039460644, -0.034145698, -0.14567985, 0.10103348, 0.051675834, -0.068317145, 0.0077824956, -0.09261776) * g_26; - result += mat4(-0.030655192, -0.11313884, -0.12541282, -0.0032168734, -0.005504764, 0.004722538, 0.09903894, -0.10796175, -0.0062598013, 0.06569805, 0.070193775, -0.039988127, 0.09546041, -0.04402558, -0.037034012, 0.014417219) * g_27; - result += mat4(-0.17705046, 0.088174336, -0.01729608, 0.19739969, 0.028319644, -0.021543927, -0.031175073, 0.1129947, 0.03287802, 0.10785583, -0.06357378, 0.005723139, -0.04233204, 0.15263905, 0.046576403, 0.038148563) * g_28; - result += mat4(0.1636625, -0.100117125, -0.070475556, -0.12688895, 0.05384177, -0.12399162, -0.10938886, -0.003527758, -0.025538636, 0.083223015, -0.07737418, -0.030358527, 0.02227781, -0.114781424, -0.016678223, 0.034633335) * g_29; - result += mat4(0.09671474, -0.015161189, -0.032330167, -0.027161723, -0.016465846, 0.033814523, -0.22615166, 0.047766432, -0.028019844, -0.003297678, 0.035333525, 0.0144364005, -0.25640464, 0.23690245, 0.1899895, 0.11149848) * g_30; - result += mat4(-0.012340286, 0.029724559, 0.0727296, -0.03882306, -0.0059372387, 0.010122618, 0.0059355027, 0.034666758, -0.031731993, 0.03645842, -0.23056214, -0.050197847, 0.1743216, -0.10116961, -0.28167897, -0.05476145) * g_31; - result += vec4(0.056676798, -0.061795954, 0.009313649, -0.0061434037); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups1 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.04541149, -0.0050366437, -0.015469368, 0.085441045, 0.00990414, 0.06771481, -0.037142653, 0.010778902, 0.0044673462, 0.051542062, 0.08994092, 0.13987154, -0.042845074, -0.16132447, 0.023451751, -0.22481805) * g_0; - result += mat4(-0.09941504, 0.15387146, -0.051998027, -0.11480554, 0.062280208, -0.005401726, -0.17179395, -0.03911185, 0.0854519, 0.062706485, -0.019981606, 0.24536288, -0.030532219, 0.007958136, -0.13649222, -0.024381576) * g_1; - result += mat4(0.03832889, 0.048103765, 0.12716842, 0.113495626, 0.0440496, 0.07310629, -0.0028000488, 0.17484048, 0.011438359, 0.07389019, 0.02776241, -0.069316044, -0.022972163, 0.10774051, -0.0938801, -0.046535835) * g_2; - result += mat4(-0.19215232, 0.05232597, 0.10455481, 0.023444505, 0.10927069, 0.08145, -0.08996904, -0.04260127, -0.064315274, 0.026296314, -0.032755814, -0.03785644, 0.27563438, -0.07841699, -0.18636514, 0.12306294) * g_3; - result += mat4(-0.048399806, 0.0760641, -0.05177265, 0.033973522, 0.067749225, -0.004380821, -0.0774159, -0.009233096, -0.16465154, -0.011200447, 0.21356043, -0.019024562, -0.20229931, -0.07075142, -0.15664288, 0.015643707) * g_4; - result += mat4(-0.094351426, -0.12644641, 0.05531359, 0.056707513, 0.030638099, 0.07659976, -0.17997725, 0.19117208, -0.17829312, -0.12216621, 0.09648017, 0.14906263, -0.05786116, -0.07496384, 0.09830126, -0.014810007) * g_5; - result += mat4(0.036279242, -0.06603527, 0.023111718, -0.02337117, 0.02710492, -0.006981581, -0.20071441, -0.1842067, -0.03716068, 0.04709737, 0.045576848, -0.06879641, 0.0679718, 0.23346439, 0.09709889, -0.057084534) * g_6; - result += mat4(0.053583074, -0.14553311, -0.005482713, 0.12731002, -0.089931406, -0.07933109, 0.19270168, 0.11797083, -0.16010518, -0.060825907, 0.18154316, -0.20427613, -0.094507605, 0.02467587, 0.14440428, 0.039989635) * g_7; - result += mat4(0.097599536, -0.09245783, -0.20063862, 0.06792256, -0.039978925, -0.05130527, 0.0061799865, -0.09635809, 0.042743832, -0.058897775, 0.0623141, 0.08815142, 0.00898274, -0.27158666, 0.18644404, 0.12572071) * g_8; - result += mat4(0.13333327, -0.11141384, 0.0189257, 0.07486067, -0.1887069, -0.20007583, 0.13411185, 0.024675677, -0.06711045, -0.071214765, 0.14236219, 0.016948408, -0.17799276, -0.05374693, 0.15060847, 0.067363665) * g_9; - result += mat4(0.038455024, -0.14224243, 0.100015596, 0.07427762, -0.09106503, 0.032443333, -0.14614339, 0.007896408, 0.022800734, 0.07946349, -0.16902667, -0.09839048, 0.14083186, 0.08481537, 0.011087685, 0.032849867) * g_10; - result += mat4(0.085465506, -0.039180238, -0.057328876, 0.103486076, -0.019720137, -0.09047379, 0.08041987, -0.2419467, 0.15151846, -0.06660591, 0.08598306, -0.086127274, 0.15807416, 0.21837251, 0.14295265, -0.009427875) * g_11; - result += mat4(-0.06841592, -0.047096353, 0.06594589, 0.04006714, 0.093568385, 0.11080303, -0.02862795, -0.24802656, 0.0015378788, 0.06396377, -0.06855018, -0.068710275, 0.072966084, -0.012504705, -0.065130696, -0.122934654) * g_12; - result += mat4(0.12186286, 0.063676104, -0.029995052, -0.016781203, 0.019202778, -0.08175405, -0.10161839, 0.15557866, 0.05808489, -0.0065964856, 0.12905426, 0.20926952, 0.07859256, -0.008686442, 0.07933362, 0.027106019) * g_13; - result += mat4(0.270541, -0.22690733, -0.1241414, 0.11304112, 0.31634018, -0.21323228, -0.18280524, 0.21687673, 0.0849898, -0.12234687, 0.21007027, -0.0402851, -0.12860335, 0.08126234, 0.08792168, 0.16685387) * g_14; - result += mat4(-0.33927166, 0.29690525, -0.019686026, -0.25433338, -0.31825894, 0.14450845, 0.102088116, -0.07890628, 0.039674938, 0.30625406, -0.13709925, -0.10864652, 0.13764969, -0.11079243, -0.20283377, -0.121819116) * g_15; - result += mat4(0.05846476, 0.25823107, 0.24806418, 0.055018846, 0.041051112, 0.14231546, 0.26531783, -0.13815305, -0.0347555, 0.0021447854, 0.035343073, 0.083788805, -0.009663775, -0.2863793, -0.09310482, -0.28089014) * g_16; - result += mat4(0.0034832477, -0.1229684, -0.34263536, -0.2484542, -0.28131288, -0.22963811, 0.014533452, -0.059620526, 0.05972659, 0.0315117, -0.0146327, 0.0036656864, -0.16042776, 0.11570312, -0.13519408, 0.1524639) * g_17; - result += mat4(-0.07282957, 0.022656137, 0.22041114, -0.08377895, 0.06489512, -0.036208138, 0.24620621, -0.3203503, -0.0572401, 0.13856757, 0.09503737, -0.18688709, 0.045257136, 0.08645792, 0.092612706, 0.0051408974) * g_18; - result += mat4(0.15591198, -0.06501203, -0.066183835, 0.2039885, -0.041642334, 0.03326719, -0.1649146, 0.18826574, 0.041689713, 0.05594161, -0.21183926, 0.025191378, 0.041054897, -0.16157486, -0.17657453, 0.06918169) * g_19; - result += mat4(0.017149586, -0.00056166644, 0.051872972, -0.032802667, -0.12568107, 0.039902873, 0.125781, 0.053033836, -0.03665155, 0.027094372, 0.02308107, -0.098191015, -0.018361865, 0.14320368, 0.01797281, 0.07521308) * g_20; - result += mat4(0.033408675, 0.02283129, 0.02997752, -0.15788378, 0.07751225, -0.0834777, -0.1002591, -0.0842283, 0.004094495, -0.08941768, 0.015826201, 0.07211303, -0.007596218, 0.086126134, -0.016881859, -0.12621973) * g_21; - result += mat4(0.09811428, 0.009112735, -0.03894858, -0.017335944, 0.059483584, -0.026246855, 0.1123727, 0.0808981, 0.1304059, 0.056278635, 0.1863773, 0.037938364, -0.09004633, -0.009749274, 0.152544, 0.067436) * g_22; - result += mat4(-0.07445963, -0.08267445, 0.028935976, 0.07464005, -0.067380376, -0.08914155, 0.07307107, -0.080588445, -0.11806715, -0.08066856, -0.08647821, -0.049984932, -0.107150786, 0.0059908605, 0.014040852, -0.020190625) * g_23; - result += mat4(-0.01459231, 0.059856355, -0.0875324, 0.027868854, 0.08657608, 0.06361718, -0.035373274, -0.0904787, 0.019741405, -0.018468766, 0.029145246, -0.05455427, -0.030421326, -0.009832721, 0.13064435, 0.12649667) * g_24; - result += mat4(0.011868002, -0.07753596, 0.066872604, -0.04274739, -0.053444482, -0.005729885, -0.018525766, -0.00016065332, -0.058514312, 0.0052640345, -0.03733426, 0.0045842915, 0.011884783, 0.012894087, -0.072470754, -0.041928362) * g_25; - result += mat4(0.018619414, 0.1113799, 0.022361143, 0.052643936, 0.046952497, 0.04414177, -0.20046502, -0.033954926, -0.05493111, 0.0051490664, 0.047908846, -0.10915426, -0.13786307, -0.011663383, 0.02886674, 0.029417193) * g_26; - result += mat4(0.082477964, -0.122627676, -0.009119556, 0.00893143, -0.102564596, -0.012067043, 0.12668522, 0.049084503, 0.24883293, -0.14231145, -0.08492953, 0.056602266, 0.03987694, 0.015669636, -0.052809853, -0.04570298) * g_27; - result += mat4(0.071245566, -0.0025086792, 0.16800047, -0.10551504, 0.029111952, 0.057431195, 0.07436777, -0.106048554, -0.111476324, -0.08960098, -0.056703247, 0.01733813, 0.017663429, 0.16780144, 0.088644154, -0.09442747) * g_28; - result += mat4(-0.095035836, -0.060732454, -0.28546825, 0.04226247, -0.04221599, -0.07030749, -0.0042552785, 0.045604907, -0.028733522, 0.0071931393, 0.03753302, -0.018106647, 0.026788713, -0.0751185, -0.090948716, 0.09595944) * g_29; - result += mat4(-0.20686343, -0.15346256, -0.023360955, 0.19853018, -0.0714482, -0.061878093, -0.12700674, -0.16375071, -0.11983135, 0.04651, -0.03974687, -0.01663389, 0.20360872, 0.103487924, -0.07434735, 0.20740858) * g_30; - result += mat4(0.18442543, 0.05037994, 0.02335825, -0.12077025, 0.045586806, 0.13201606, 0.11823723, -0.17146091, -0.10422535, -0.12337711, 0.088312276, -0.059173893, -0.1398436, -0.11372023, 0.0055838027, -0.105238646) * g_31; - result += vec4(-0.03529498, -0.032170508, -0.021623377, -0.0031779222); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups2 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.23695897, 0.0008707441, -0.09535488, -0.107918955, -0.053035147, -0.012367683, -0.12371392, -0.09360587, 0.0070371917, 0.03025939, -0.067142904, -0.30728218, 0.0043842546, 0.06634453, 0.0034304627, -0.21123153) * g_0; - result += mat4(-0.052475177, 0.13422863, -0.10639677, -0.0040811207, -0.26918682, -0.10198708, 0.18605421, 0.10457146, -0.118532345, -0.08069245, -0.0146069005, 0.06658151, -0.008995181, 0.12555914, -0.0065608234, -0.26427776) * g_1; - result += mat4(-0.10251951, -0.08644078, 0.06929046, 0.12174946, 0.036641974, 0.060216624, 0.0073353215, -0.0030551606, 0.08728512, 0.15798406, -0.11238869, 0.042528275, -0.08227845, -0.06437879, -0.29687157, 0.035045058) * g_2; - result += mat4(-0.2118616, -0.28126746, -0.0044101025, 0.032711912, 0.13250305, 0.112085946, 0.11919149, 0.019229135, -0.01793138, 0.0706358, -0.2932021, 0.032647975, -0.16981576, 0.15942986, 0.19010448, 0.12454923) * g_3; - result += mat4(0.1315925, -0.1174062, 0.04584264, 0.10420388, -0.09118308, 0.055226937, -0.21253887, -0.17592257, -0.108380735, 0.082634084, 0.046399225, -0.10313927, 0.048476033, -0.2919353, 0.12174614, 0.22060218) * g_4; - result += mat4(-0.23951934, -0.2581748, -0.10439337, 0.12529592, -0.08995228, -0.020404166, 0.03317947, 0.10584384, 0.03332401, 0.009280485, 0.022306783, -0.021489294, 0.25585315, 0.141186, 0.24060152, -0.18092757) * g_5; - result += mat4(-0.11795161, 0.083966084, -0.03625905, -0.014661008, 0.104938276, -0.017483791, 0.34065375, 0.2541225, -0.044073306, 0.024952037, -0.14324227, 0.15807992, 0.07525055, -0.07074876, 0.09318746, 0.09101949) * g_6; - result += mat4(-0.032153923, -0.13424215, 0.12560824, 0.08011693, 0.12895289, 0.13427536, -0.19034676, -0.14222759, -0.020231325, 0.12888151, -0.061404597, -0.13986583, 0.00984618, -0.17769751, -0.022091439, 0.16932856) * g_7; - result += mat4(0.12616049, 0.2158069, -0.018368874, -0.09398254, -0.03559572, -0.084191844, -0.05094808, 0.051870555, 0.00082472386, -0.19847158, 0.23022321, 0.01599307, 0.03259911, 0.13212477, 0.12290365, -0.123374574) * g_8; - result += mat4(0.15702528, 0.17880908, -0.09648207, 0.11680119, -0.28308877, -0.07930958, -0.039864592, 0.1533101, -0.0639061, -0.06088989, 0.092195325, -0.18879996, 0.12157474, -0.16310088, -0.0705742, -0.13419336) * g_9; - result += mat4(-0.08162867, 0.17165285, -0.009754279, -0.09535414, -0.05133128, -0.05637743, 0.08150842, 0.017400654, 0.01506642, -0.16506091, 0.17735358, 0.1311172, 0.042689405, 0.22685364, -0.049387306, -0.14177462) * g_10; - result += mat4(0.07369564, 0.14358056, -0.0123517625, 0.027063616, 0.026721044, -0.036328644, 0.01727211, -0.004169973, -0.06480533, 0.05179935, -0.089173846, 0.014242428, -0.026303759, -0.09621599, -0.19990425, 0.20575584) * g_11; - result += mat4(-0.08702241, -0.11758268, 0.056043744, -0.15513507, 0.041612398, 0.06331151, 0.13647927, 0.078682, -0.0037741002, 0.08883121, -0.029957289, 0.03741986, -0.012796586, -0.005116995, -0.005864093, 0.032396786) * g_12; - result += mat4(0.071541294, 0.2706407, -0.1646492, 0.06099449, -0.1382612, -0.086235724, -0.083391994, 0.09620373, 0.030570114, -0.032223936, -0.028057259, 0.060482156, 0.052891836, -0.035898015, 0.12505446, 0.1045583) * g_13; - result += mat4(0.1836627, 0.18400975, -0.06898472, 0.15293436, 0.17102835, 0.2577789, -0.1431052, -0.010170343, 0.041604683, -0.47781685, -0.19841458, 0.20508106, -0.1168606, 0.14722034, -0.15521841, -0.112339936) * g_14; - result += mat4(-0.2590894, -0.1739389, 0.097751245, -0.1625812, -0.09160245, -0.26803684, -0.08304184, -0.039023403, -0.06551546, 0.7900237, 0.09004902, -0.2700218, 0.3924898, -0.22098823, 0.14447868, 0.09300293) * g_15; - result += mat4(0.1459711, 0.076514535, -0.27012572, -0.05584663, -0.19236547, 0.3263724, 0.123078234, -0.36640257, -0.063692175, -0.10517102, 0.079691075, 0.03320508, -0.18557668, 0.09733424, -0.038860522, -0.03146454) * g_16; - result += mat4(0.19119984, -0.017070724, 0.020692987, -0.06097901, -0.31390896, -0.3539774, -0.011533943, 0.10555, 0.14474893, 0.13138455, -0.07301415, 0.020723976, 0.09968003, -0.21684577, -0.137175, -0.07195843) * g_17; - result += mat4(-0.09807417, -0.024705391, -0.10559853, -0.036330625, 0.026295185, 0.21305019, -0.1816326, -0.089984804, -0.0364186, 0.08726375, -0.16934377, 0.11783747, -0.046499886, 0.17409094, 0.08606283, -0.1168394) * g_18; - result += mat4(0.061683584, 0.11610398, -0.08963952, -0.04148586, 0.07784646, -0.09693603, -0.05919322, 0.06880165, 0.09901537, -0.053908728, 0.2938966, 0.08008906, 0.027354255, -0.17792425, -0.23622033, 0.07445066) * g_19; - result += mat4(-0.04568423, -0.00313172, -0.024554191, -0.063268654, -0.06823803, -0.035975594, -0.10337797, 0.04157335, -0.032975934, -0.13067393, 0.20014502, 0.1481426, -0.06280778, -0.018023374, -0.09856674, 0.03219835) * g_20; - result += mat4(-0.0044540535, 0.03704335, 0.031475496, -0.0067796065, 0.08216529, -0.021360176, 0.22419196, 0.099668056, 0.08082446, 0.14377055, -0.14571224, -0.013343019, 0.04265009, 0.021519618, -0.048166685, 0.11342666) * g_21; - result += mat4(-0.1029852, 0.084569484, -0.005401726, -0.05848864, 0.112962306, 0.061313655, -0.016030408, -0.023173615, -0.039970405, 0.016853292, 0.16551012, 0.08645207, 0.0019092544, -0.0044910526, -0.058364812, -0.044804156) * g_22; - result += mat4(0.021829009, -0.028762918, -0.079494335, -0.08709858, -0.064889856, -0.012763213, -0.042257447, -0.097328104, -0.0061033736, -0.12146131, -0.09006795, -0.072025664, -0.11667517, -0.05674677, 0.028285908, 0.024131753) * g_23; - result += mat4(0.11134934, 0.0702602, -0.10646791, -0.06896185, 0.13430294, 0.083099216, 0.019172838, -0.11650263, 0.0350792, 0.030151369, -0.062105265, -0.03180261, -0.006595122, -0.008993945, -0.09649205, 0.0076333126) * g_24; - result += mat4(0.026408633, -0.015846157, 0.019721631, 0.10062779, -0.09073072, -0.046461828, 0.03372097, 0.06839955, -0.10907823, -0.04953608, -0.0047381003, -0.014376053, 0.018715208, 0.031804316, 0.053606145, 0.040583223) * g_25; - result += mat4(-0.07934853, -0.01886096, 0.036152482, 0.036394343, 0.084199846, 0.07159742, -0.09901409, 0.055700894, -0.07464093, -0.0674405, 0.007886281, 0.0023414039, -0.04075728, -0.031404145, -0.090607546, -0.02444832) * g_26; - result += mat4(0.09701536, 0.10618154, -0.18954206, -0.014639526, 0.030508006, -0.05885271, 0.026794225, -0.05864953, -0.047004845, 0.03347945, -0.08720657, -0.044724233, 0.07059345, 0.022511845, -0.06694698, -0.0028311196) * g_27; - result += mat4(-0.05472616, 0.006845548, 0.15480581, -0.03908139, 0.037825912, 0.08026918, 0.123195745, 0.022326771, -0.05692749, -0.06646566, 0.25716424, 0.026999693, 0.051669773, 0.08991333, 0.07640691, -0.046126388) * g_28; - result += mat4(0.18714797, 0.029189898, -0.10664823, -0.14234583, 0.014911294, 0.062173508, -0.18819608, -0.16823918, -0.09951189, 0.014782654, -0.11520717, -0.07961905, -0.063739575, -0.023488827, 0.06487948, -0.014286412) * g_29; - result += mat4(0.092983104, -0.044436947, -0.039822012, -0.08590545, -0.13959287, -0.042890385, 0.2564963, -0.026489962, -0.08040444, -0.06900039, 0.3113829, 0.114533454, 0.22869009, 0.054564685, 0.08793378, 0.14634606) * g_30; - result += mat4(-0.13077435, 0.04096513, 0.023417156, 0.10560146, 0.20399679, 0.025704898, -0.23313741, -0.0064721326, 0.16098051, 0.04165071, -0.08543627, -0.17094019, -0.3327795, -0.06824183, 0.107437834, -0.03377226) * g_31; - result += vec4(0.05935789, -0.027414799, -0.105965964, -0.015992867); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups3 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.1545368, -0.051471695, -0.16140307, 0.09652848, -0.090248555, -0.12066054, 0.1767361, -0.08471509, -0.0811788, -0.14072022, -0.04303012, -0.007702722, 0.13935736, -0.21132554, 0.097583875, -0.12626477) * g_0; - result += mat4(-0.077009946, 0.11341266, -0.014190827, -0.05731186, 0.14598061, -0.08561752, -0.087692715, 0.024827115, 0.15067159, -0.031084314, -0.103702016, 0.16679642, -0.007304722, -0.05382251, -0.006476595, -0.034540307) * g_1; - result += mat4(-0.12478302, 0.0998608, -0.020768842, 0.178967, -0.22397885, 0.17558582, 0.011471913, 0.098842315, -0.026981229, -0.073270254, 0.07100908, 0.06399087, -0.07116806, -0.08182064, -0.0014849032, 0.2541588) * g_2; - result += mat4(0.028780911, -0.09417787, 0.045969326, 0.10704354, -0.052760195, 0.08555782, -0.12812418, 0.1158547, -0.17714353, -0.04976, 0.041316688, 0.11038423, -0.27241063, 0.1855846, 0.23411646, -0.095824756) * g_3; - result += mat4(-0.062022362, 0.12351213, 0.01305296, 0.04862448, -0.1472528, 0.036500677, 0.03666005, -0.11136876, 0.05285479, -0.18208516, -0.1316372, 0.04148666, -0.18160903, 0.056404397, -0.12911144, 0.083729036) * g_4; - result += mat4(-0.14088988, -0.025164073, -0.4434851, 0.14736041, 0.04358233, 0.044943232, -0.0739642, -0.018053154, -0.14036542, -0.21224444, 0.08923161, 0.09663615, -0.08434565, 0.09656238, 0.024680674, 0.02995749) * g_5; - result += mat4(0.16193505, -0.15713358, 0.2953047, -0.1257473, 0.019233074, 0.15819971, -0.17022912, 0.085982986, 0.17535183, 0.0613968, -0.015774077, 0.12607461, 0.079570904, 0.08338391, -0.11603918, 0.011505312) * g_6; - result += mat4(-0.23952027, -0.13513869, 0.13461575, 0.17394428, -0.12297233, 0.07278597, 0.0699106, -0.10590944, 0.035547413, -0.043262303, 0.0038226866, -0.084128775, -0.08980834, -0.14883213, 0.11605759, -0.041146316) * g_7; - result += mat4(-0.018182833, -0.12238664, 0.029634932, -0.25285953, 0.11828485, -0.05314554, 0.12802395, -0.07008308, -0.039349154, 0.26426378, -0.0057150517, -0.07171924, 0.098983854, 0.077945545, 0.0065407343, -0.26814637) * g_8; - result += mat4(-0.08471211, -0.00053506374, 0.038021266, -0.087428264, 0.11662403, -0.038277518, -0.005095678, -0.009521368, 0.123804964, 0.14995687, -0.010620397, -0.035754666, 0.086847916, 0.06264173, -0.16579615, 0.02262065) * g_9; - result += mat4(-0.09577556, -0.07982795, 0.024376906, -0.119355425, -0.092210874, -0.010486195, -0.04363388, 0.16995241, -0.13924848, 0.055487193, 0.1950311, -0.06857552, 0.14275251, -0.012629571, 0.10879939, -0.085644074) * g_10; - result += mat4(0.057831254, -0.16999005, 0.15140204, -0.0647146, -0.012351427, -0.041099787, -0.03375414, -0.045616575, 0.026101796, 0.08556994, 0.02738961, -0.18606578, 0.028242199, 0.03386683, -0.061823543, 0.03558579) * g_11; - result += mat4(0.023425754, 0.13217138, 0.032228522, -0.0340593, 0.07340007, -0.0020185385, 0.082099736, -0.06587912, -0.073847964, 0.009864729, -0.020948, 0.02759752, -0.24116306, -0.04943008, -0.041696478, 0.0475257) * g_12; - result += mat4(-0.056659773, 0.003150759, 0.01840173, -0.062517665, -0.0787802, 0.045061097, 0.05366462, 0.042851992, 0.17394984, 0.05068143, -0.068130635, 0.03182271, 0.11936796, 0.034630287, -0.030017216, 0.0371981) * g_13; - result += mat4(-0.04782677, -0.13856164, 0.102476485, 0.3168497, -0.029490076, -0.25574568, -0.15335694, 0.17697816, 0.06968332, -0.064986385, -0.19446203, 0.35532042, -0.10142414, -0.098764315, -0.008530768, -0.22272345) * g_14; - result += mat4(0.003918355, 0.11477308, -0.03541845, -0.060774248, 0.01986403, 0.053085316, 0.020022528, -0.18842602, -0.06607439, -0.117085874, 0.19558486, -0.15384434, 0.14042355, -0.0805339, -0.042012088, 0.16506344) * g_15; - result += mat4(-0.054274496, -0.3048171, 0.15363297, -0.48028508, -0.17355531, 0.15534942, 0.2397687, -0.3212727, -0.0069116117, 0.07829633, -0.12942782, 0.08540519, -0.16048779, -0.045530356, -0.106820785, -0.02039107) * g_16; - result += mat4(-0.17271078, 0.05973828, -0.13368936, 0.18137284, 0.14774464, 0.01207385, -0.48741424, 0.37316188, 0.12304343, 0.033921722, 0.013900458, -0.13834685, 0.00724766, -0.009822602, 0.0048219366, -0.1497808) * g_17; - result += mat4(0.046022985, -0.12942328, 0.106665194, 0.05104162, 0.08260261, 0.037978876, 0.05067675, -0.2878266, -0.15604153, -0.019456798, -0.09279057, -0.023125123, 0.13392529, -0.06734104, 0.03425348, -0.26038775) * g_18; - result += mat4(0.08024023, -0.026217932, -0.0866867, 0.060902715, 0.047891118, -0.18346305, -0.00030129295, 0.06640321, 0.09371082, 0.12981345, 0.1371371, 0.047095854, -0.08373677, -0.075474314, -0.050123196, 0.16816519) * g_19; - result += mat4(-0.06669337, -0.07323153, -0.005088308, -0.022087181, -0.13836318, 0.047315314, -0.098298065, 0.024197588, 0.11019521, -0.049888365, -0.010593423, 0.03579472, 0.13806434, 0.06568386, 0.09670891, -0.13850671) * g_20; - result += mat4(0.033669885, 0.053267747, 0.0055295937, 0.0054150443, -0.14349131, -0.07215267, 0.14743172, -0.08989396, -0.13482799, 0.21353206, -0.015100392, -0.15850681, -0.023853622, -0.081464685, -0.17575328, 0.22396886) * g_21; - result += mat4(-0.013254256, 0.05835715, 0.026902638, -0.036534548, 0.012239494, 0.024609983, -0.011468827, -0.00601273, 0.25535154, 0.039145224, -0.14032148, 0.06934234, 0.078024134, 0.08141313, -0.053155545, 0.058907513) * g_22; - result += mat4(0.09006769, 0.0061046197, -0.05551385, -0.07883374, 0.21045619, -0.071170084, 0.045874875, -0.05969718, -0.06051193, 0.032679733, 0.059326146, -0.11344708, 0.0516495, -0.044130474, 0.021864831, 0.01791737) * g_23; - result += mat4(-0.149584, -0.034539673, 0.056925774, 0.01407683, -0.14341363, 0.07235219, 0.029278886, 0.1040686, 0.044569943, -0.095220655, 0.06324637, -0.11561818, 0.14884533, 0.04400451, 0.030963998, -0.0480698) * g_24; - result += mat4(0.09445444, -0.07705517, -0.04044035, -0.067266196, 0.12994061, -0.08685293, -0.028491655, -0.06546642, -0.06588555, -0.035200167, -0.054667167, 0.12181174, -0.08149457, -0.11196082, 0.022286078, 0.0011389274) * g_25; - result += mat4(0.037566386, -0.0863645, 0.10746364, -0.062283915, -0.0828546, -0.059049137, 0.049943667, -0.09679541, 0.05570479, 0.10147355, 0.09882042, -0.09511045, 0.013920045, -0.13209742, -0.0231511, -0.008779095) * g_26; - result += mat4(-0.049381115, 0.05511609, -0.08505539, -0.011759351, -0.0037505692, 0.02891526, -0.08524465, 0.13446826, 0.066822246, -0.07883564, 0.03159159, -0.114850216, -0.15590072, 0.08861297, 0.049592584, -0.06742877) * g_27; - result += mat4(0.14131398, -0.019512732, 0.07624492, 0.17723484, 0.06855258, -0.11992505, 0.17618321, 0.035750873, 0.19290908, 0.10616057, 0.05006961, -0.10286499, 0.086485304, 0.017133571, -0.059471656, 0.153928) * g_28; - result += mat4(-0.19372323, 0.06717175, -0.17909515, -0.10981143, -0.091010526, -0.03731334, -0.10764653, -0.042411704, -0.25248966, -0.15291771, -0.11685329, 0.097305104, 0.012290167, -0.06666997, 0.06516673, -0.084403165) * g_29; - result += mat4(-0.22607833, 0.05895028, 0.04708332, 0.0361819, -0.18047495, 0.02135859, -0.048527088, -0.09720482, 0.071364224, 0.16597964, 0.058581673, 0.013964815, -0.26778197, 0.16814141, 0.04136449, -0.026651997) * g_30; - result += mat4(0.22577362, -0.13153969, -0.0812206, 0.014283776, 0.14782336, 0.070584215, 0.06939886, 0.07700839, -0.0880132, -0.06622987, -0.088982984, -0.23417433, 0.3470509, -0.03866589, -0.08971988, 0.072038345) * g_31; - result += vec4(-0.083648406, -0.040792946, -0.0071813604, -0.0033592125); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups4 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.02987822, -0.14156254, -0.006805638, -0.06491689, -0.023117961, -0.11864792, -0.020782726, 0.016718477, -0.12822492, -0.2627571, -0.10936498, -0.020479368, -0.08946875, -0.07078646, -0.14763172, 0.079474844) * g_0; - result += mat4(-0.07517533, 0.14936899, 0.005200026, 0.15833679, -0.20985723, 0.015140312, 0.16891868, -0.12731305, 0.001276647, 0.10806773, 0.07292632, -0.0230428, 0.22559881, -0.024635307, 0.05207048, 0.016969835) * g_1; - result += mat4(0.033257335, -0.004516727, 0.08077173, 0.07780093, 0.2343147, 0.16830377, -0.16836162, -0.008906441, -0.09850461, -0.08738698, -0.26028165, -0.029635794, -0.05397607, -0.25291416, 0.08932801, -0.17621125) * g_2; - result += mat4(0.021441426, 0.089970976, 0.087451175, 0.01982307, -0.00534548, 0.0016146855, -0.32349735, 0.020162579, 0.0049562925, -0.065152735, 0.046657056, -0.15083495, 0.11233022, -0.04739685, -0.09070248, 0.17958602) * g_3; - result += mat4(0.1273905, 0.007927681, 0.08298969, -0.022412037, 0.035267398, 0.07840721, 0.08048102, -0.03691808, 0.016431633, 0.012698254, -0.008662408, -0.13933934, 0.12972483, 0.21850783, 0.23307513, 0.000571898) * g_4; - result += mat4(0.0100407, -0.39405826, 0.32025802, 0.2832041, 0.33294165, -0.05958231, -0.1577708, -0.028620213, -0.048587576, 0.039346397, -0.027196862, 0.025590241, 0.00061374693, -0.01180234, -0.018360002, 0.25070924) * g_5; - result += mat4(0.22246312, -0.04815649, 0.08736281, 0.016199166, 0.077316865, 0.045456205, -0.07477754, 0.12618002, 0.07883082, 0.0686953, 0.06405744, 0.0009818063, -0.02092714, -0.030966131, 0.09841693, -0.10895756) * g_6; - result += mat4(0.26012385, -0.10243986, -0.06322028, -0.09087655, 0.06912959, 0.07663046, -0.23804459, 0.053852726, 0.05078947, -0.109246224, -0.14178644, -0.052218866, -0.101676404, -0.023825765, 0.026447691, -0.14865609) * g_7; - result += mat4(0.041431427, -0.015064366, -0.2236117, -0.030924913, -0.08685426, -0.13520546, 0.11651171, 0.053487726, 0.02606458, 0.24306768, 0.16120963, 0.051762126, 0.022511886, 0.081198335, -0.034219068, 0.0092173265) * g_8; - result += mat4(0.19416513, -0.13046128, -0.09250759, 0.033059027, -0.15878743, 0.0041482826, 0.25107592, -0.04122384, -0.12977393, 0.08382433, -0.12364666, 0.10107232, -0.015173569, 0.103763856, 0.026309956, -0.09117284) * g_9; - result += mat4(-0.05419911, 0.00058963, -0.12988667, 0.20055313, 0.030918771, -0.014228711, -0.16702838, 0.020387288, -0.027360002, 0.014445924, -0.022155182, 0.14796254, 0.020506943, -0.111637115, -0.15514074, 0.059505507) * g_10; - result += mat4(0.13351838, 0.15389496, -0.16921681, -0.15721107, -0.23370336, 0.10680521, 0.0915842, 0.10845563, 0.13528366, -0.10152182, -0.023946082, 0.004758842, -0.0053138984, -0.039067965, 0.10247054, -0.2013928) * g_11; - result += mat4(0.0940642, 0.18500984, -0.051960737, -0.007081406, -0.0057662693, -0.056610145, -0.08623894, 0.085122645, -0.0117327655, 0.09875138, -0.0043660044, 0.05047526, 0.04188438, 0.20341921, 0.04265216, 0.056258943) * g_12; - result += mat4(-0.08604029, -0.05491035, 0.059321914, -0.052624896, 0.13617016, 0.11754236, 0.11821107, -0.09910127, 0.07241852, -0.120371416, 0.09970373, -0.17198959, -0.14523451, -0.03410314, 0.015047165, 0.029333182) * g_13; - result += mat4(0.33456117, -0.1694432, -0.33715236, 0.10869151, -0.11678155, -0.12573223, -0.37280464, 0.08583611, -0.050305888, -0.10936392, -0.0093005, -0.16355872, -0.031578295, 0.019013532, 0.12860784, -0.105620846) * g_14; - result += mat4(-0.32792798, 0.1792595, 0.1993371, -0.08149261, 0.046808135, 0.009618961, 0.24690527, 0.017353626, -0.21925704, 0.065837644, 0.29835764, 0.05139222, 0.12341928, -0.11190375, 0.170546, 0.056202386) * g_15; - result += mat4(-0.31099838, -0.06758222, 0.06285113, -0.07353864, -0.047731224, 0.15535083, -0.64979374, 0.099978834, 0.089411214, -0.100012384, 0.08959716, -0.15088384, 0.059998848, -0.15229112, -0.17324549, -0.08506205) * g_16; - result += mat4(0.19391792, -0.16036808, -0.11902212, 0.07436227, 0.10363112, -0.074310906, 0.91709113, 0.084803954, -0.082337715, -0.047767054, -0.04131998, 0.11194046, -0.083899155, 0.17141213, 0.29864565, -0.026448477) * g_17; - result += mat4(0.05156777, -0.049753625, 0.015471171, 0.052691612, -0.02994984, -0.024420734, 0.11585649, -0.20938542, 0.018834207, -0.20320056, -0.13085459, -0.0086262915, -0.04427753, 0.13335848, -0.064420775, -0.04642022) * g_18; - result += mat4(0.16542359, 0.058639698, -0.08314426, -0.14000902, -0.05393692, -0.028636307, 0.10156203, 0.073714875, 0.07786534, 0.08234555, -0.0094138095, 0.056138765, 0.12131325, -0.12354777, 0.073989555, -0.04605284) * g_19; - result += mat4(-0.037727747, 0.018552719, -0.06636154, -0.01930026, 0.04758094, -0.034193367, -0.008783199, -0.07046236, -0.06284397, 0.14185563, 0.15161303, 0.019813264, -0.013503992, 0.10599879, -0.03256722, -0.033422105) * g_20; - result += mat4(-0.065330975, 0.021591648, 0.079216816, 0.10628196, 0.12180891, 0.01777432, -0.00906628, -0.08466977, 0.024665624, -0.1072835, 0.03337738, 0.0034946792, -0.15655187, -0.054999005, 0.110962674, -0.07868374) * g_21; - result += mat4(0.033571556, -0.117526256, 0.027212862, 0.025825463, -0.074807905, 0.05171015, 0.058270566, -0.03289996, -0.18173727, -0.14643425, 0.013240775, -0.054958276, -0.040303323, 0.10216123, -0.021644054, -0.08853978) * g_22; - result += mat4(0.028159522, 0.053900108, 0.056507323, -0.04859119, 0.09431302, -0.027665535, -0.07907181, 0.13235402, 0.06084304, 0.07409592, -0.06193444, 0.04139512, 0.042664766, 0.019047534, 0.09258238, 0.05521245) * g_23; - result += mat4(0.11870216, 0.055985536, 0.0019851802, -0.0021985958, 0.23987925, 0.013639941, -0.05615768, 0.09740685, -0.04664704, -0.07862708, 0.009283556, -0.022454312, 0.0049701035, 0.14134249, 0.0716289, -0.0737223) * g_24; - result += mat4(-0.30323797, -0.09561487, 0.017899506, -0.048141718, -0.056937806, -0.04146931, 0.060856055, -0.09340158, -0.06772142, -0.060182527, 0.017792957, 0.06672238, -0.050410192, -0.07002814, 0.0774449, -0.02395373) * g_25; - result += mat4(0.09439649, 0.008914242, -0.004399012, -0.06303121, 0.12567714, -0.052876584, -0.04600808, -0.03413656, 0.0473433, 0.027317489, -0.035305254, -0.0049644914, 0.0038185562, -0.019911442, 0.012968243, -0.088209115) * g_26; - result += mat4(-0.05984137, -0.09097414, -0.07085692, -0.007414078, -0.059817106, 0.0005326131, 0.06701414, 0.093250066, -0.07503431, -0.048183344, 0.045087397, -0.022639273, 0.0227802, 0.14528684, 0.047489513, 0.032764312) * g_27; - result += mat4(-0.0060594324, -0.08082185, -0.060745455, 0.11094361, -0.010657223, -0.1381517, 0.004693926, 0.09341289, 0.05251002, 0.19687954, 0.0047872537, 0.08393252, -0.10891673, -0.1535456, 0.031703554, -0.007602281) * g_28; - result += mat4(0.1211426, 0.0037113805, 0.0053533735, 0.06705086, -0.0113079185, -0.14421159, -0.091448925, -0.00971443, 0.064816035, -0.1309255, -0.03377283, -0.054445747, -0.023829643, 0.11046322, -0.04438854, 0.027087016) * g_29; - result += mat4(0.14089139, 0.061144315, 0.05492873, 0.08141859, 0.013321813, 0.11854551, -0.0523245, 0.02350885, 0.027290756, 0.20114194, -0.04875496, 0.1252922, 0.13713759, -0.055055924, 0.01316475, 0.061486248) * g_30; - result += mat4(-0.084306486, -0.0730094, -0.02533989, -0.045629617, -0.1022427, -0.16021572, 0.06772375, -0.027088458, -0.24639171, 0.046187285, 0.08361509, -0.08620142, 0.00507411, 0.037024546, -0.11199879, 0.039523087) * g_31; - result += vec4(0.055495262, -0.051167354, 0.028084511, -0.043321524); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 -//!HOOK MAIN -//!BIND conv2d_24_tf -//!BIND conv2d_24_tf1 -//!BIND conv2d_24_tf2 -//!BIND conv2d_24_tf3 -//!BIND conv2d_24_tf4 -//!BIND conv2d_24_tf5 -//!BIND conv2d_23_tf -//!BIND conv2d_1_tf -//!BIND conv2d_4_tf -//!BIND conv2d_7_tf -//!BIND conv2d_10_tf -//!BIND conv2d_13_tf -//!BIND conv2d_16_tf -//!BIND conv2d_19_tf -//!BIND conv2d_22_tf -//!BIND conv2d_25_tf -//!SAVE conv0ups5 -//!WIDTH conv2d_24_tf.w -//!HEIGHT conv2d_24_tf.h -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) -#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) -#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) -#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) -#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) -#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) -#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) -#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) -#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) -#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) -#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) -#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) -#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) -#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) -#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) -#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.011561234, -0.012465957, 0.061722398, 0.004109507, 0.11449728, 0.30646765, 0.11597718, 0.044809423, -0.15796961, 0.09144391, 0.025600316, -0.016890302, -0.06273143, -0.09406291, -0.13892512, 0.107323244) * g_0; - result += mat4(0.26843497, 0.07754772, -0.040967893, 0.14208253, -0.22981443, 0.09998915, 0.12629654, 0.05489728, 0.20781358, -0.06494287, 0.107708186, -0.12273423, 0.03810808, -0.00919042, 0.07503909, -0.10436984) * g_1; - result += mat4(-0.04123376, 0.061480578, 0.09167497, 0.0717715, 0.08920449, -0.059116304, -0.051456068, 0.1435225, -0.0054245745, -0.07957629, 0.012718112, -0.1371298, -0.05244197, -0.001466458, 0.018672079, 0.16870362) * g_2; - result += mat4(-0.0711777, 0.083937705, 0.0055865357, 0.086037554, -0.0026764858, -0.09261858, 0.11146104, 0.034576505, -0.059654012, -0.16707183, -0.010578452, -0.22554928, -0.032461595, 0.023646196, 0.10213768, 0.039538495) * g_3; - result += mat4(-0.08187879, -0.14176089, -0.11134647, -0.0014680476, -0.01505771, 0.0028695054, 0.13650699, 0.09581829, 0.08451168, 0.0593946, -0.022487655, -0.053191096, -0.13652085, -0.18934551, 0.081316985, -0.10670004) * g_4; - result += mat4(0.3095398, 0.15461108, 0.08192997, 0.36671337, -0.23491316, 0.16552022, 0.06679685, -0.014910402, 0.17080174, 0.07363078, -0.05000375, -0.10863247, -0.17515467, -0.13650203, 0.17658728, 0.09099435) * g_5; - result += mat4(0.24561775, 0.085898094, -0.09029496, -0.062148836, -0.13314761, -0.1805575, 0.072130956, 0.010657738, 0.12118199, -0.10993774, -0.2077007, 0.13921109, 0.032653514, 0.099179596, 0.029785015, -0.07210813) * g_6; - result += mat4(0.05213782, 0.02070249, -0.1519397, -0.15459941, 0.12078409, -0.1018201, -0.15649813, -0.09451276, 0.08978216, 0.033983372, -0.325133, 0.03649046, 0.034768645, 0.01820811, -0.1476437, -0.05215747) * g_7; - result += mat4(0.25730282, -0.03574445, -0.26939863, 0.056570202, -0.03860821, 0.064086504, 0.049936775, -0.09219466, -0.23501472, 0.11891639, 0.16585156, -0.06937759, 0.17275843, -0.005933774, -0.038747568, -0.1872246) * g_8; - result += mat4(0.29699612, -0.12036312, -0.17994614, 0.06254196, 0.052887265, 0.10139881, -0.015890123, 0.014276093, -0.08473576, 0.20360646, 0.0719401, 0.116043195, -0.04480997, -0.16405116, 0.06848916, 0.029303674) * g_9; - result += mat4(0.039084256, 0.16812262, -0.045461234, 0.15141405, -0.053278796, 0.0499866, -0.09262412, 0.024975844, -0.10941919, 0.020637758, -0.13150725, 0.120833196, 0.080852345, 0.14054763, 0.11314371, 0.11749595) * g_10; - result += mat4(-0.07858139, -0.11847648, -0.08926328, 0.04630698, 0.20156343, -0.11537608, -0.042400904, 0.08154081, 0.27824274, -0.18951182, -0.19521928, 0.16003811, 0.10160072, 0.084651895, -0.081367895, -0.1803879) * g_11; - result += mat4(-0.015178554, 0.1453211, 0.0029462255, -0.015893389, -0.0070375055, 0.20207931, -0.05530542, 0.08762223, -0.029634364, -0.023058303, 0.04852642, 0.028570767, 0.0017521627, -0.038801666, 0.008321414, 0.013272434) * g_12; - result += mat4(0.112933494, 0.00077646604, 0.15631917, 0.12212562, -0.035100516, -0.15636574, 0.0869713, -0.040045064, -0.043343354, -0.17186165, 0.040316343, -0.040707536, 0.033326153, -0.07299361, 0.10777621, 0.044213336) * g_13; - result += mat4(-0.057331394, -0.29746646, -0.21014963, -0.27668902, -0.07744173, -0.19646992, -0.1978878, -0.148482, -0.038296875, 0.023684174, -0.011479595, -0.3131539, 0.1081339, 0.17462969, 0.23045957, 0.06817404) * g_14; - result += mat4(-0.05616912, 0.44082153, 0.13635121, 0.5260593, 0.068167746, 0.1159533, 0.18762758, 0.06370536, 0.24268357, -0.031904045, -0.03593457, 0.1761274, -0.25467318, -0.27158144, 0.21026418, -0.35541326) * g_15; - result += mat4(0.04480854, 0.40541658, 0.12650406, 0.14116916, -0.12694973, 0.070857644, -0.1654552, -0.38093325, 0.1730254, 0.23093973, -0.17948884, 0.18496381, 0.19546366, -0.11564827, -0.10936328, -0.13326254) * g_16; - result += mat4(0.02783123, -0.16448286, -0.27236226, -0.10730039, -0.10582441, 0.2894545, -0.12485313, 0.09168738, -0.13905063, -0.32243901, 0.12184465, -0.078383766, -0.20384146, 0.10552737, 0.1335408, 0.19632344) * g_17; - result += mat4(-0.036966056, -0.07765606, -0.042519376, -0.18071535, 0.094343245, -0.11750975, -0.115932606, -0.14168039, 0.10521408, -0.1797702, -0.2014665, 0.06983729, -0.043030553, -0.20928553, -0.1358945, -0.19139649) * g_18; - result += mat4(0.014309759, -0.029078862, 0.11430482, 0.15110584, 0.059152886, -0.05306251, 0.08139934, 0.02904774, -0.15470253, 0.10313861, 0.30107433, -0.16773193, -0.094181724, 0.057134327, 0.00092695246, 0.08184109) * g_19; - result += mat4(0.02506316, 0.0867775, -0.08693349, 0.0878035, 0.030453114, 0.042106513, -0.017756486, 0.02601538, -0.054069374, 0.048818395, 0.02386837, 0.024829991, 0.023034105, 0.0051381323, -0.020198671, -0.09797366) * g_20; - result += mat4(-0.023844786, 0.0016428459, 0.123326644, 0.08708688, -0.01703554, -0.06808432, -0.12352092, -0.08645188, 0.009277621, -0.07319661, 0.011372869, -0.22492659, -0.014993174, 0.058244362, -0.105234556, 0.00219484) * g_21; - result += mat4(0.08174906, 0.12529619, 0.053283885, -0.009235874, -0.04773854, -0.12894803, 0.081467494, 0.016731197, 0.05052568, 0.14297223, 0.10280411, -0.03163778, 0.0055582365, -0.012498803, 0.0059484374, -0.031531356) * g_22; - result += mat4(-0.05330085, -0.04974306, -0.079764664, 0.010079839, 0.11561185, 0.026386917, -0.1173086, 0.07318347, 0.022758875, -0.053391833, -0.14447209, -0.0064598285, -0.0024759816, -0.006995636, 0.0007184077, -0.069488235) * g_23; - result += mat4(0.07302404, -0.08720752, -0.037079513, 0.0003512964, 0.02232102, -0.095264226, 0.036082335, -0.00036828392, 0.08033609, -0.04303644, -0.05187976, -0.066657886, -0.059702326, -0.06550579, 0.034914013, -0.038357385) * g_24; - result += mat4(-0.04311525, 0.04406852, 0.0022629597, 0.055104118, -0.058384016, 0.062843435, -0.03903992, -0.024547735, 0.0030863932, 0.12553258, 0.004523987, 0.041851215, 0.02736582, 0.0037202195, 0.008346716, -0.00066181086) * g_25; - result += mat4(-0.10727989, 0.033605255, -0.028996287, -0.10822878, 0.14796142, -0.10711968, -0.19416648, 0.07545809, -0.011922665, 0.15432714, -0.07223956, -0.0389031, 0.056309763, -0.031701643, -0.15709357, -0.085562445) * g_26; - result += mat4(0.015703637, -0.06475049, -0.14153144, 0.059910253, -0.14977545, -0.06390219, 0.13375331, -0.14298701, 0.1305803, -0.050405364, 0.03631835, 0.22620685, -0.050843332, 0.038208447, 0.026526114, -0.017080935) * g_27; - result += mat4(0.12688361, 0.056371618, 0.10022545, 0.15378883, -0.118205115, -0.013227478, 0.07664092, -0.13813822, -0.16385357, 0.03870268, 0.17708874, 0.008884885, -0.2010594, 0.11686294, 0.19129558, 0.020952912) * g_28; - result += mat4(0.019549163, -0.15760489, -0.10022573, 0.15503788, 0.14201608, 0.042376533, -0.052286524, 0.11653048, 0.13872318, 0.07111845, -0.12428939, -0.0038820026, 0.15195651, 0.0346821, -0.08822089, -0.003574916) * g_29; - result += mat4(0.006056049, -0.07287368, -0.18514961, 0.04915554, 0.091064215, 0.27121982, -0.051693153, -0.22751212, -0.18204577, 0.0221348, 0.07865922, -0.22364894, 0.010186452, -0.012915454, 0.049386848, 0.03228151) * g_30; - result += mat4(0.109998666, 0.012412288, 0.1361162, 0.06420964, -0.19105789, 0.100528404, 0.12032071, 0.11792962, -0.16980593, -0.13456152, -0.08864147, -0.23975545, -0.015304083, 0.054322414, 0.032784272, 0.01145087) * g_31; - result += vec4(0.07406925, -6.918896e-05, -0.08913489, -0.016446702); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.12926783, 0.017635763, -0.013476121, -0.06546863, -0.0020913617, 0.04573165, -0.064033605, -0.018238, -0.06351373, 0.06524707, -0.0715566, 0.048930883, 0.08370062, 0.07703095, 0.037626196, -0.019011294) * go_0(-1.0, -1.0); - result += mat4(-0.0017422242, 0.015704002, -0.0065484517, 0.0034917945, -0.203504, -0.052581586, 0.059170052, 0.034942575, 0.18350169, 0.07801102, 0.0016214083, -0.042796984, -0.095814526, -0.0494608, -0.06263077, -0.08761381) * go_0(-1.0, 0.0); - result += mat4(0.028449956, -0.030443287, -0.01351158, -0.00224811, 0.026770886, -0.11713719, 0.008776065, -0.06586146, -0.22359546, -0.067533895, 0.0816704, 0.12743919, 0.06571477, 0.06255163, 0.041541066, -0.0058448445) * go_0(-1.0, 1.0); - result += mat4(-0.09489079, -0.036623634, 0.081674, -0.03636195, 0.13697773, -0.019518752, -0.17432365, 0.019992169, -0.047911603, -0.13385351, 0.10042773, 0.016029052, 0.030136164, -0.027172877, -0.001031953, 0.06582866) * go_0(0.0, -1.0); - result += mat4(-0.055866733, -0.11699785, -0.063725546, -0.054495048, -0.14631337, 0.31479597, -0.03280792, -0.058542997, 0.1398103, -0.06698283, -0.07163176, -0.037448023, -0.060457975, -0.14894441, -0.118958615, 0.02970854) * go_0(0.0, 0.0); - result += mat4(0.16954796, 0.1455119, 0.16188881, 0.12931493, 0.08463092, 0.12101101, -0.013273191, 0.10293549, -0.034920808, 0.041531533, 0.042880267, -0.13770556, 0.13387385, -0.0970746, -0.06980967, -0.023200486) * go_0(0.0, 1.0); - result += mat4(-0.07359327, 0.051948566, 0.026285969, -0.032924615, 0.16437969, -0.1889214, 0.0039336556, 0.043706615, -0.0578081, 0.11538013, 0.07444846, -0.060747445, 0.024889646, 0.15488148, 0.08899952, -0.09964372) * go_0(1.0, -1.0); - result += mat4(0.16784054, -0.058858477, -0.16401602, -0.029084012, -0.019850904, 0.05644765, 0.03163883, -0.021911565, -0.11589579, -0.11843019, -0.111589305, 0.052809834, 0.11501516, -0.07648356, 0.052230515, 0.092886955) * go_0(1.0, 0.0); - result += mat4(0.031150786, 0.05277218, 0.0728661, 0.020861644, 0.029089052, -0.016410865, 0.011665696, -0.046898734, -0.031717364, -0.0127168065, -0.019639771, 0.012864874, -0.21498284, 0.07779946, -0.0077480283, -0.044006687) * go_0(1.0, 1.0); - result += mat4(-0.066615745, -0.011580077, 0.120639496, 0.016614268, 0.026132276, -0.07641368, -0.05658998, -0.069772206, 0.03740111, 0.03333487, 0.098400064, -0.0016500775, 0.05839071, 0.05309518, -0.027565097, -0.03938075) * go_1(-1.0, -1.0); - result += mat4(0.06351996, 0.006185661, -0.036918275, 0.10029065, 0.23438206, 0.15663382, -0.022865077, -0.06931367, -0.011048514, -0.005193203, 0.17288761, -0.024304895, -0.008036278, -0.008113838, -0.054147683, -0.060182277) * go_1(-1.0, 0.0); - result += mat4(0.1689985, 0.077035755, -0.05028808, -0.0762494, 0.008202717, -0.03334299, -0.0504141, -0.023240203, -0.0036260819, 0.022127533, 0.017539665, 0.026891403, 0.019779956, -0.0025955478, -0.008754468, 0.0033192693) * go_1(-1.0, 1.0); - result += mat4(-0.044042338, 0.08709768, 0.06859617, -0.025569353, 0.0595332, -0.21848544, -0.16065672, 0.036280297, -0.12523848, -0.06271851, -0.017368471, -0.07711223, 0.048871677, -0.010382488, -0.0437693, 0.07148062) * go_1(0.0, -1.0); - result += mat4(0.23993973, 0.20499702, 0.123574704, 0.027592948, -0.08493277, -0.055818275, 0.18304282, 0.028260557, -0.044152625, -0.060114615, -0.22076544, -0.20473787, -0.11050344, 0.023228854, -0.00012463839, -0.030457003) * go_1(0.0, 0.0); - result += mat4(-0.008641321, -0.08481431, 0.02876154, 0.15506335, -0.033304676, -0.088077515, 0.07852544, 0.1433104, -0.03732285, -0.0483456, -0.02697428, 0.058970585, 0.06524768, -0.055602137, -0.053783342, 0.049392965) * go_1(0.0, 1.0); - result += mat4(-0.042998265, -0.10999974, -0.06887704, -0.00034993226, -0.074804835, 0.16616777, 0.008689715, 0.000355656, 0.012254178, -0.0717238, -0.006859269, 0.06594322, 0.041172463, -0.03180735, -0.02101005, 0.053185012) * go_1(1.0, -1.0); - result += mat4(0.12952714, 0.09727997, 0.08795567, -0.04953458, -0.027699426, 0.047990426, 0.07493966, -0.06163423, -0.07408061, -0.032931533, -0.0812497, -0.05302238, 0.14796886, 0.06534311, 0.10097287, -0.021323942) * go_1(1.0, 0.0); - result += mat4(-0.14974716, 0.0891444, -0.037996378, -0.02638308, 0.13232549, 0.044330686, 0.09446334, -0.0044896854, 0.031743973, -0.023852853, -0.06806164, -0.029796021, 0.11711989, 0.014950628, 0.0047842227, -0.03379406) * go_1(1.0, 1.0); - result += mat4(-0.08197355, 0.001979392, 0.1395889, -0.024046708, -0.060789634, -0.022009525, -0.031653315, 0.020120833, 0.00514834, -0.02104124, 0.026771626, 0.0032965564, 0.04075344, -0.07198045, 0.032448653, -0.068035536) * go_2(-1.0, -1.0); - result += mat4(0.07843731, 0.026901783, -0.08478698, -0.048486933, 0.19225356, 0.037023634, 0.07265866, -0.099053726, -0.03593816, 0.03370276, 0.0052682273, 0.021495577, -0.025080455, 0.07389491, -0.0017847505, -0.038959842) * go_2(-1.0, 0.0); - result += mat4(0.053258836, 0.04078207, 0.09295192, -0.021825904, -0.004807724, -0.08454232, 0.037102774, 0.033683676, -0.10423599, -0.0039763353, 0.008574363, 0.040606398, 0.38930696, -0.007596849, -0.05715637, -0.08239566) * go_2(-1.0, 1.0); - result += mat4(0.0025093122, -0.050177783, -0.14211158, 0.0037644645, -0.13623556, -0.10453635, 0.016650122, -0.055829223, 0.17538422, -0.09304271, -0.040046915, 0.027603863, -0.06155893, -0.00430452, 0.0023342837, -0.026793983) * go_2(0.0, -1.0); - result += mat4(0.11151169, -0.0684153, -0.05891965, -0.053996798, 0.29509687, 0.087223604, -0.02806932, 0.07231259, 0.16447857, 0.057506807, 0.08907169, -0.039158184, 0.16317198, 0.14243555, -8.347532e-05, 0.13343206) * go_2(0.0, 0.0); - result += mat4(-0.0684127, 0.17917678, -0.024445476, -0.089603886, -0.032717735, 0.028147785, 0.00046893195, -0.13545133, 0.041829295, 0.06302451, 0.040085375, -0.091134705, -0.16327454, -0.15937452, -0.11208865, -0.017756606) * go_2(0.0, 1.0); - result += mat4(-0.1622828, -0.064290136, -0.077471234, 0.20325996, 0.1151283, 0.020182231, -0.06235399, -0.04841261, 0.09205608, -0.037943326, -0.11841134, 0.13129303, 0.10001631, 0.04616772, 0.0076468824, -0.033766087) * go_2(1.0, -1.0); - result += mat4(0.1885096, -0.11946506, -0.04664517, 0.12106764, 0.0017019847, -0.05392451, 0.015514662, 0.12835595, -0.07317445, -0.013959309, -0.056324873, -0.084675394, 0.13411997, -0.08355416, -0.05116357, 0.043123398) * go_2(1.0, 0.0); - result += mat4(-0.09976046, 0.007247968, 0.09458126, -0.0085549485, 0.06640138, -0.07579545, -0.07787044, 0.04111281, 0.052593518, -0.025167007, -0.10260703, 0.039726503, 0.04463933, -0.0073404177, 0.06893751, 0.023595389) * go_2(1.0, 1.0); - result += mat4(-0.13209677, -0.05905579, 0.0037172579, -0.03777616, 0.023850411, -0.03794249, 0.025315933, 0.039317388, -0.12761319, -0.00029748064, 0.027399754, 0.048066862, -0.12295361, -0.057715088, -0.084890746, -0.0018534939) * go_3(-1.0, -1.0); - result += mat4(-0.009622064, 0.009828997, -0.16343904, 0.012290232, 0.10141595, 0.032614756, -0.0722343, -0.058248762, 0.08752965, -0.016058937, -0.14033443, -0.14247452, 0.044392906, -0.0509482, -0.076671004, -0.09944826) * go_3(-1.0, 0.0); - result += mat4(-0.11801312, -0.078754544, -0.028907303, 0.020204972, -0.00807525, 0.009592218, 0.013587085, 0.03268732, -0.016237395, 0.12613463, -0.07606922, -0.048611153, 0.120404065, 0.07353506, -0.018308502, -0.0928186) * go_3(-1.0, 1.0); - result += mat4(0.103043616, -0.043690745, -0.08926332, 0.10926608, 0.07650447, 0.05985906, -0.08143925, -0.09329927, -0.18575777, 0.02601556, 0.05060885, 0.009454815, -0.09776849, 0.040663064, -0.021093182, -0.071754314) * go_3(0.0, -1.0); - result += mat4(-0.01630674, 0.15167665, 0.014230864, -0.07259589, -0.023406526, -0.12963332, 0.003772267, 0.031429663, 0.14110763, -0.19529745, -0.014899895, 0.15883322, -0.022979617, -0.11828465, -0.010775711, 0.20699823) * go_3(0.0, 0.0); - result += mat4(-0.07463863, -0.024185626, 0.13400939, 0.092735745, -0.11007727, -0.05803818, -0.09885388, -0.049603596, -0.062891036, 0.04989709, 0.03151034, 0.04456592, 0.06673375, -0.00042276783, 0.0015201987, 0.031183513) * go_3(0.0, 1.0); - result += mat4(-0.14637282, -0.15434839, 0.062445384, 0.14046007, 0.008121208, 0.042827062, 0.047031205, -0.09278757, -0.018279193, 0.0036310495, -0.01854531, -0.034663606, -0.05098561, -0.010678129, -0.022653349, 0.014830333) * go_3(1.0, -1.0); - result += mat4(0.024634285, 0.12405944, 0.19948581, -0.08734437, 0.03176105, -0.04027108, 0.045582317, 0.044037554, -0.10807711, 0.09467486, -0.027631609, -0.08217483, -0.035664476, 0.15146695, 0.007925873, -0.078050405) * go_3(1.0, 0.0); - result += mat4(-0.097154036, 0.014364971, -0.020642182, -0.020220386, -0.0357456, 0.09496227, 0.110210314, -0.027332012, -0.10335405, 0.015467342, 0.023559198, 0.035299074, 0.010270126, -0.035228938, -0.035314877, -0.037740685) * go_3(1.0, 1.0); - result += mat4(0.07677437, -0.099041484, 0.08227524, 0.028451044, -0.048090696, 0.048308548, 0.02002402, 0.020593867, -0.16374537, -0.0025611143, -0.008507379, -0.029656677, 0.06198073, 0.0621251, -0.0878884, 0.027271627) * go_4(-1.0, -1.0); - result += mat4(0.13326712, 0.09568612, -0.09955783, -0.06464995, -0.1080553, -0.013177989, -0.091879115, 0.0043980163, 0.096038, 0.00082379446, 0.1077031, 0.051108915, 0.11449326, -0.04742037, 0.075871214, 0.06832458) * go_4(-1.0, 0.0); - result += mat4(-0.11432613, -0.02575731, 0.10285911, 0.060753386, 0.10450503, 0.031528436, 0.032356616, 0.020612843, 0.005137281, 0.041043267, -0.053449225, -0.04739492, -0.022107469, -0.04305694, -0.014828701, -0.07910592) * go_4(-1.0, 1.0); - result += mat4(-0.016649982, -0.033692267, -0.16380711, 0.04840447, -0.08704325, 0.03223745, 0.06618067, -0.058747917, 0.002078949, -0.012481651, -0.001862833, 0.073793836, -0.10783936, -0.026685616, 0.09464906, 0.007958871) * go_4(0.0, -1.0); - result += mat4(-0.09529156, -0.011030221, 0.04811921, -0.058335345, -0.16198096, 0.11942748, -0.0012879033, 0.086001225, 0.07690128, 0.079917476, 0.049061555, 0.008218703, -0.05253061, -0.106854506, 0.0075482167, 0.3111194) * go_4(0.0, 0.0); - result += mat4(-0.027775658, 0.059103772, -0.015098427, -0.014103374, 0.038190566, 0.02724517, 0.03320597, 0.019851912, -0.024970068, -0.01468647, -0.12384575, -0.05543631, 0.0740412, -0.016058838, -0.08206018, 0.04608353) * go_4(0.0, 1.0); - result += mat4(-0.02381974, 0.012398538, 0.06616886, 0.01347415, -0.03536895, -0.062602445, -0.018591968, -0.05038233, -0.008164494, -0.07909477, -0.033094108, -0.044485636, -0.18243223, 0.06168974, 0.07344958, -0.036536235) * go_4(1.0, -1.0); - result += mat4(-0.015181048, -0.054964907, -0.09671139, 0.061632328, -0.041971393, -8.0521546e-05, 0.030624658, -0.04471539, 0.008768315, -0.052731395, 0.015046845, 0.12035036, 0.027298013, 0.0076451087, 0.14871614, 0.17427884) * go_4(1.0, 0.0); - result += mat4(0.16830003, -0.017028246, 0.05205674, 0.024545586, -0.016899908, 0.025148457, 0.046180926, 0.015857594, -0.06316512, 0.058127988, 0.02513703, -0.025115915, 0.028232403, -0.03080844, 0.07889233, 0.025056005) * go_4(1.0, 1.0); - result += mat4(0.045276914, 0.017918674, -0.045485076, -0.037483674, 0.06683662, 0.023648288, -0.015354532, -0.00810877, 0.15075907, 0.074351266, 0.003833842, 0.02196497, 0.09251617, -0.0144700715, 0.05222211, 0.05908784) * go_5(-1.0, -1.0); - result += mat4(0.11436125, 0.046093784, 0.033021253, 0.14947179, -0.073261544, 0.0044895527, -0.070047304, 0.063634634, -0.12451059, -0.059948344, 0.06743303, -0.049537323, 0.12232392, 0.006624019, 0.00017795655, 0.0069139977) * go_5(-1.0, 0.0); - result += mat4(-0.05903832, -0.030206619, 0.013915073, -0.03697008, -0.11873987, -0.07172067, 0.07667946, 0.034099083, 0.212897, -0.014532608, -0.021231264, 0.10551015, 0.05757128, 0.022817556, 0.015584272, -0.05811226) * go_5(-1.0, 1.0); - result += mat4(0.11333232, -0.02307842, 0.055530388, -0.037579533, -0.01775949, 0.13781238, -0.084853075, -0.045908786, -0.035615377, -0.029440416, 0.06898324, -0.0211324, 0.10898682, -0.032409493, 0.026761126, 0.0593887) * go_5(0.0, -1.0); - result += mat4(0.028792053, -0.0711117, -0.031095935, -0.06691037, -0.036494207, 0.04325232, -0.01044192, 0.019699099, -0.135968, 0.026980419, -0.08115253, 0.09324798, -0.14339764, 0.011957557, -0.028268812, -0.076987006) * go_5(0.0, 0.0); - result += mat4(-0.0037685733, 0.017815486, -0.0311176, 0.07849914, -0.052071363, 0.039468136, -0.05379765, -0.055341784, 0.10867571, -0.043736573, 0.017801274, -0.012468974, -0.07847819, -0.055475883, -0.018192763, 0.054612897) * go_5(0.0, 1.0); - result += mat4(-0.12339551, -0.042736895, 0.031139426, 0.055459928, 0.02735317, -0.00223694, 0.035595044, 0.0099047795, 0.09026148, 0.11343199, 0.12809223, 0.07653464, 0.04741737, 0.06920812, -0.023478316, 0.010022906) * go_5(1.0, -1.0); - result += mat4(-0.0013142643, 0.032478604, -0.100527644, -0.107406884, 0.19205165, -0.062054783, -0.026734158, 0.07746309, -0.12282383, 0.027779505, 0.0489351, -0.102970384, 0.05754637, -0.0407643, -0.045871045, -0.08728004) * go_5(1.0, 0.0); - result += mat4(0.07999647, 0.037737604, 0.0018015103, 0.027340624, 0.029681504, 0.051112622, 0.07510517, -0.005115188, 0.13523845, -0.042190503, -0.033306144, 0.0021249955, -0.046934023, 0.023981353, 0.09313002, -0.016826976) * go_5(1.0, 1.0); - result += mat4(-0.019876158, -0.10024854, 0.1092125, 0.09021781, 0.1946136, -0.06411127, 0.033485923, 0.030906223, -0.10872131, 0.017895319, 0.011919747, 0.062073786, 0.15985118, -0.067493014, -0.07976057, -0.042163573) * go_6(-1.0, -1.0); - result += mat4(-0.10323808, 0.005511113, 0.009527565, -0.015006099, 0.069202155, -0.026323676, -0.061706487, -0.030945215, 0.15723042, 0.19260678, 0.18506604, 0.022006249, -0.028875409, -0.030105352, 0.02791428, 0.09315079) * go_6(-1.0, 0.0); - result += mat4(-0.07159283, 0.012191451, -0.048083134, 0.025891535, 0.14953457, 0.051475618, -0.030437365, -0.079766236, -0.039878514, -0.15460435, -0.021840231, -0.052903946, 0.21059886, -0.0024842704, -0.042435605, -0.043039396) * go_6(-1.0, 1.0); - result += mat4(0.042905815, 0.014010391, -0.025319157, -0.00425917, 0.07286237, -0.1379992, -0.0020224063, 0.004999196, 0.05806229, -0.046335798, -0.06254037, -0.037656475, 0.112142295, -0.030341217, -0.057973728, -0.06612895) * go_6(0.0, -1.0); - result += mat4(-0.065106615, 0.08555576, -0.0555809, 0.058661778, -0.06703048, 0.00757035, 0.2853245, 0.065487936, -0.043718137, 0.14329132, 0.056263465, -0.057933383, -0.060439464, 0.13277435, 0.050928883, -0.019675303) * go_6(0.0, 0.0); - result += mat4(0.058651224, 0.033697523, -0.08894027, -0.12380978, 0.04701405, -0.068525575, -0.10160738, -0.091192864, 0.051913194, 0.123846985, -0.057066478, 0.110756285, 0.13515612, 0.1319968, 0.054159746, 0.032216214) * go_6(0.0, 1.0); - result += mat4(0.04651348, 0.1435761, 0.027906023, -0.021019146, -0.08287222, 0.116047196, 0.096292056, 0.025322463, 0.06550447, 0.07559469, -0.09061949, 0.059102707, -0.038015757, -0.12853391, -0.0974969, 0.0720349) * go_6(1.0, -1.0); - result += mat4(-0.03694829, -0.144419, 0.057593826, 0.09401981, -0.08426838, -0.019106563, -0.098343626, 0.0035400165, -0.004882411, -0.020896483, 0.15085591, -0.02877296, 0.0050168475, 0.12667508, -0.032590915, -0.0025977234) * go_6(1.0, 0.0); - result += mat4(0.08555901, -0.08812998, 0.014633639, 0.0071074716, -0.0024737378, -0.04788443, -0.12100031, 0.009737524, 0.014586274, 0.096846946, 0.09984849, 0.02886416, 0.022972917, -0.04357125, 0.03608454, 0.08369692) * go_6(1.0, 1.0); - result += mat4(0.018398179, -0.011733849, -0.08888223, 0.009763868, -0.15132993, 0.036217462, 0.09026627, 0.030259093, -0.05344084, 0.0013394047, -0.023476386, 0.021226766, 0.014191311, -0.023437658, -0.01486143, -0.009443682) * go_7(-1.0, -1.0); - result += mat4(-0.040501222, -0.04698822, -0.014550345, -0.058862526, 0.038385723, 0.078983694, 0.030705776, -0.031161394, -0.061136663, -0.048850644, -0.07004682, 0.022786641, -0.03311709, -0.06084822, 0.009284337, 0.1005589) * go_7(-1.0, 0.0); - result += mat4(-0.08333313, 0.053781126, 0.0987624, 0.04839388, 0.038077936, -0.09682916, 0.07501481, 0.052941784, -0.08676212, 0.059663836, 0.005592122, -0.029373128, -0.039431266, -0.011054677, -0.0033718846, -0.010363397) * go_7(-1.0, 1.0); - result += mat4(-0.25438857, -0.14106423, -0.1095653, 0.044371713, -0.012792314, 0.057438467, 0.093233176, 0.01343747, 0.014012183, 0.06930022, 0.03238247, 0.12067357, 0.04201719, 0.052826792, 0.011205695, -0.13735019) * go_7(0.0, -1.0); - result += mat4(0.2513968, 0.18878548, -0.08494262, -0.033912707, -0.012401661, 0.04466303, -0.064235725, 0.09484076, -0.087512895, 0.024816869, 0.12460444, 0.048196383, -0.102229714, 0.011390139, -0.012901067, 0.019761408) * go_7(0.0, 0.0); - result += mat4(0.04083165, -0.026981898, -0.08314919, -0.15494491, -0.016309442, 0.06318721, -0.11398031, -0.123434715, 0.06272964, 0.120257705, -0.047213808, -0.022864863, 0.08250964, -0.0008748767, -0.026923966, -0.11886819) * go_7(0.0, 1.0); - result += mat4(-0.0572505, 0.09574997, -0.026416877, -0.016468205, 0.042582452, -0.045658376, 0.007977456, -0.034145076, -0.16414487, -0.064831346, -0.12984416, -0.07189931, -0.026000094, -0.022171123, -0.052279275, 0.02196819) * go_7(1.0, -1.0); - result += mat4(0.13977319, -0.1856338, 0.055264283, 0.11615191, 0.018945813, 0.036192402, -0.16559355, 0.044231236, 0.06992585, -0.019265816, -0.01624885, -0.0035805993, -0.07164422, -0.0613412, -0.029790098, 0.07381362) * go_7(1.0, 0.0); - result += mat4(-0.042297278, -0.03600898, -0.0060803858, 0.024386367, -0.024764905, -0.009892563, -0.05306169, -0.009156582, -0.014004544, -0.049380273, -0.00926321, 0.104207546, 0.12639539, -0.011966896, 0.0036679953, 0.04123563) * go_7(1.0, 1.0); - result += mat4(0.087914266, 0.030034786, 0.047800478, 0.026684161, -0.07388588, -0.014753155, -0.062804505, 0.008365165, -0.28619346, 0.046332654, -0.04817101, -0.04654128, -0.0077529238, -0.00076770195, -0.0015271158, 0.0900951) * go_8(-1.0, -1.0); - result += mat4(-0.14336522, -0.035474308, 0.07077806, -0.018279878, 0.122582555, 0.011476352, 0.0005371589, 0.03614031, -0.16100433, -0.034190886, -0.015602055, -0.018996995, 0.0463623, -0.0024787814, -0.131681, -0.028286051) * go_8(-1.0, 0.0); - result += mat4(-0.0016493958, 0.02163245, -0.17860246, -0.010473623, 0.05961081, -0.055462852, 0.032510478, 0.04406735, -0.06955566, 0.027825706, -0.022638146, -0.016986169, 0.072017424, -0.023437198, -0.020352025, 0.03992186) * go_8(-1.0, 1.0); - result += mat4(0.14270854, 0.10076204, 0.057706565, 0.040002447, 0.12933765, 0.045798033, 0.06888362, 0.09035585, 0.09493696, 0.066836774, -0.055931687, -0.010011159, -0.043964043, -0.053119596, 0.0056152856, -0.014694015) * go_8(0.0, -1.0); - result += mat4(-0.106826395, 0.0880726, 0.066187285, -0.08792187, 0.21838719, -0.058248095, 0.063199945, -0.022022499, 0.006144834, -0.08456441, 0.06484306, 0.22722279, 0.15705083, 0.054175496, 0.106256135, 0.017333955) * go_8(0.0, 0.0); - result += mat4(0.03056621, -0.16886939, 0.08014906, 0.0916789, -0.1283127, 0.06408635, 0.06269094, 0.10062364, 0.113416724, -0.013479412, -0.084817424, -0.00586942, -0.08222616, 0.0054284483, 0.19320546, 0.14727722) * go_8(0.0, 1.0); - result += mat4(0.12847276, -0.14197338, -0.022223303, -0.0763214, -0.09447677, -0.005780052, 0.057818405, -0.027136158, 0.085074365, -0.006220301, 0.20058243, -0.063831784, -0.08056169, 0.022678059, 0.008363496, 0.020072738) * go_8(1.0, -1.0); - result += mat4(-0.11202945, 0.17998086, 0.15104616, -0.03520308, -0.19648468, 0.006217564, -0.008981938, -0.15311359, -0.08388434, 0.1426307, 0.045980457, -0.0005135447, -0.08663974, -0.025008831, 0.06003114, -0.06509856) * go_8(1.0, 0.0); - result += mat4(-0.110868916, -0.014249358, -0.09942069, 0.030057356, -0.041898925, 0.05822055, -0.043200213, -0.01686225, 0.11234988, -0.009146895, 0.10784546, 0.06355475, -0.046102762, 0.09267515, -0.1140694, -0.08802013) * go_8(1.0, 1.0); - result += mat4(0.03740659, 0.043335274, 0.02336008, 0.027831735, -0.048603576, -0.067655705, -0.017101498, -0.05746645, 0.1795867, 0.01116057, 0.06140174, -0.026575146, 0.11071209, 0.017581625, -0.017244188, 0.04221752) * go_9(-1.0, -1.0); - result += mat4(-0.09093498, -0.03359564, 0.08415435, 0.050293516, -0.08931786, -0.030898308, -0.04302454, -0.049844395, -0.06899083, 0.065314196, 0.07381234, 0.044382907, 0.00913639, 0.014838099, 0.131941, 0.11661075) * go_9(-1.0, 0.0); - result += mat4(0.09359514, 0.043119717, -0.0048988657, -0.0051532434, 0.06493134, -0.019396067, -0.030236453, 0.062512025, -0.08210076, -0.13371024, 0.07324078, 0.01707155, -0.009836148, -0.04419792, 0.018726762, 0.056868013) * go_9(-1.0, 1.0); - result += mat4(0.002404406, 0.039502855, 0.015906025, -0.04441748, -0.049217764, 0.09813344, -0.021763066, 0.03266165, 0.14830649, 0.0039867344, -0.030537432, -0.07398194, 0.0707336, -0.022324476, 0.12472202, -0.05196246) * go_9(0.0, -1.0); - result += mat4(-0.07723416, -0.14285773, -0.04613492, -0.008971669, -0.18420465, 0.11103098, 0.19152859, 0.16272612, 0.078922726, 0.15539406, 0.04024863, 0.00097146304, 0.010272412, 0.102893874, -0.0527275, -0.09105491) * go_9(0.0, 0.0); - result += mat4(0.105623804, -0.056557592, -0.014577096, -0.06719428, -0.10969176, 0.001400308, 0.10562884, 0.009752116, -0.12308614, -0.016182574, 0.14960748, 0.010221066, -0.07155968, 0.017553782, -0.0031618178, -0.022520179) * go_9(0.0, 1.0); - result += mat4(0.24548957, 0.1017951, 0.12329441, 0.011988662, -0.021322595, -0.03971211, -0.06909687, 0.04851306, 0.068949245, -0.05179331, 0.018596865, 0.05922509, 0.06147395, -0.029042587, -0.018740827, 0.10346284) * go_9(1.0, -1.0); - result += mat4(-0.12127875, -0.0073253955, -0.03200258, 0.072222985, -0.0152465915, 0.14565548, -0.022320282, -0.050823502, 0.16004644, -0.083479956, 0.18272156, -0.02837223, 0.028845333, -0.0913557, -0.06520153, -0.012195518) * go_9(1.0, 0.0); - result += mat4(0.043713868, 0.017148755, -0.053153165, -0.04907823, 0.010491636, -0.07181496, -0.052873563, 0.002196607, 0.05668932, 0.007818972, -0.09365786, -0.03236268, 0.076133415, 0.014877766, 0.07280689, 0.04943823) * go_9(1.0, 1.0); - result += mat4(0.020023782, 0.12642653, -0.1257193, 0.0010849107, -0.1028841, -0.0012805086, 0.03139218, 0.051852815, 0.02855834, 0.010926398, -0.08425039, -0.027257154, 0.22177386, -0.11761942, -0.06212804, 0.04763189) * go_10(-1.0, -1.0); - result += mat4(0.098133035, 0.009496852, 0.021568218, -0.15673152, 0.16544092, 0.03957531, -0.20369442, -0.19420235, 0.016424185, 0.036622413, -0.03185247, -0.09215779, 0.07319639, 0.002547832, -0.049706724, 0.030483197) * go_10(-1.0, 0.0); - result += mat4(-0.2281417, -0.023024509, 0.09659972, 0.26335388, -0.0045844577, -0.009834229, -0.018298753, 0.122718684, -0.02647466, 0.002877703, 0.024655823, 0.094881535, 0.12731706, 0.080654815, -0.044072278, -0.03565267) * go_10(-1.0, 1.0); - result += mat4(0.029326709, -0.11864519, 0.09787174, 0.12850013, 0.15769617, 0.13107847, 0.116214424, 0.15526375, 0.115055986, 0.0056176763, -0.03891455, 0.12182736, -0.08285683, 0.00386448, 0.20372197, -0.12381204) * go_10(0.0, -1.0); - result += mat4(0.005426268, -0.012844199, 0.07341806, 0.057192266, 0.17609712, -0.21841417, 0.22905084, 0.3726449, 0.10430437, 0.010538873, 0.05979287, -0.01995585, -0.07817501, 0.00043512616, 0.13539863, -0.06603449) * go_10(0.0, 0.0); - result += mat4(0.050650224, 0.00340572, -0.087897, -0.07721568, -0.11787272, 0.055441145, 0.11856778, -0.07839249, -0.06705796, -0.03665792, 0.051945772, -0.029940791, -0.088110745, -0.09544122, 0.17977637, 0.029465398) * go_10(0.0, 1.0); - result += mat4(0.009884356, 0.17486453, 0.025220042, -0.07008002, 0.02835983, 0.028899308, -0.053842478, -0.05901161, 0.02033701, 0.017125512, 0.072237976, -0.016422039, 0.069241695, -0.020792386, -0.16026399, 0.07822056) * go_10(1.0, -1.0); - result += mat4(-0.048933912, 0.16797939, 0.13613503, -0.08531724, 0.005136678, -0.033446345, 0.10688266, 0.101555996, 0.09844126, 0.03428401, -0.014949532, -0.05729196, -0.028571986, -0.014022329, -0.24312006, -0.19816753) * go_10(1.0, 0.0); - result += mat4(-0.020860989, 0.051978905, -0.2651558, 0.08423122, -0.10601855, 0.078817755, -0.10306769, -0.020730799, -0.07786028, -0.012762303, 0.0060952823, -0.019439751, -0.009204351, -0.05893443, -0.07034564, -0.007940594) * go_10(1.0, 1.0); - result += mat4(-0.11925938, 0.061081305, 0.070605464, 0.04138998, -0.00285024, -0.029746482, 0.0076757227, 0.018701859, -0.008902949, 0.03618365, -0.07888318, -0.014662468, 0.035089407, 0.065284885, -0.033326365, 0.0041100197) * go_11(-1.0, -1.0); - result += mat4(0.23211081, -0.012683885, -0.16230011, -0.06169017, -0.029079294, -0.05057387, 0.028562393, 0.03973977, 0.011671771, 0.0002469616, -0.10245703, 0.022923809, -0.04913737, 0.06672865, 0.2349864, 0.033900134) * go_11(-1.0, 0.0); - result += mat4(0.027792582, 0.06683438, -0.01994665, -0.08401307, -0.04207342, -0.03136845, -0.11143335, -0.05174425, 0.023732347, -0.05457688, 0.07948721, -0.012630631, -0.1056173, -0.09855591, 0.03653026, 0.15765673) * go_11(-1.0, 1.0); - result += mat4(0.18211314, 0.05596375, -0.026444219, 0.014798311, -0.19993293, -0.06994261, 0.11906855, -0.02982133, 0.077721216, -0.030902708, -0.06709148, 0.020592675, -0.11447125, 0.07233842, 0.058984987, -0.05455586) * go_11(0.0, -1.0); - result += mat4(-0.12273281, -0.06268619, 0.027741548, 0.103232265, 0.24827266, 0.16316475, 0.0018391153, 0.05124184, 0.36562333, 0.17595989, 0.094240285, 0.0637318, 0.0020632134, -0.014479322, -0.06842763, -0.0893124) * go_11(0.0, 0.0); - result += mat4(-0.31125456, 0.05318476, 0.03722545, -0.0060882545, 0.045448862, 0.016022528, 0.06722857, 0.0044223024, -0.14124873, 0.19641967, 0.030438993, -0.08689759, -0.019156175, 0.11258338, -0.09206476, -0.054254737) * go_11(0.0, 1.0); - result += mat4(0.035201553, -0.06374724, 0.03458915, 0.0069704987, 0.06520022, 0.04545108, 0.02105428, -0.12958455, 0.024686553, 0.028201332, -0.033172153, -0.05649908, -0.0712372, 0.067082554, -0.03792186, 0.023705954) * go_11(1.0, -1.0); - result += mat4(-0.04699416, 0.045852963, 0.08933013, 0.084006645, -0.077285916, -0.22383444, 0.021708012, 0.05893315, -0.050455105, -0.117869325, -0.012480179, 0.13151298, 0.063093714, -0.12260243, -0.040925674, 0.15162276) * go_11(1.0, 0.0); - result += mat4(0.050113168, 0.053220626, 0.0047162045, -0.022349441, -0.049446188, -0.0018918745, -0.004781672, -0.094967455, -0.12124878, -0.053543426, 0.037635185, -0.04079288, 0.061883993, 0.043724388, -0.056232758, 0.03481704) * go_11(1.0, 1.0); - result += vec4(0.019732969, 0.036610305, 0.01305684, 0.013542827); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups1 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.011346536, -0.010189852, 0.01468662, 0.011538957, -0.018452257, 0.031463463, 0.0031875803, -0.015967736, -0.048622895, 0.04981561, 0.19536598, -0.022376228, 0.014811388, -0.044611003, 0.042312432, 0.0105891) * go_0(-1.0, -1.0); - result += mat4(0.01407665, 0.057906494, -0.043176714, -0.04686223, -0.044944234, -0.0129517885, -0.07199873, -0.021725824, -0.025745254, -0.09307928, -0.07122306, 0.04601772, 0.14772682, 0.05474974, 0.062001463, -0.082451254) * go_0(-1.0, 0.0); - result += mat4(-0.01707023, -0.05511701, 0.027142549, -0.12741084, 0.026500257, 0.016689515, 0.039026648, 0.0058688438, 0.012205586, 0.09375726, -0.10034814, -0.17154972, -0.007961532, 0.03802082, -0.050602123, 0.16963868) * go_0(-1.0, 1.0); - result += mat4(0.13590911, -0.10969817, -0.0017061695, 0.05243086, -0.09378781, 0.023477294, 0.06416785, -0.03312143, 0.0676838, 0.08458608, 0.023695331, -0.092540056, -0.06777747, -0.04017276, -0.05510425, -0.095139146) * go_0(0.0, -1.0); - result += mat4(0.10133463, 0.0760041, 0.012741356, -0.06967072, -0.15163842, -0.091654524, 0.119649194, 0.10344799, -0.04721513, 0.0010481137, 0.077184685, 0.11766245, 0.07247049, 0.074190564, -0.024995033, -0.009145566) * go_0(0.0, 0.0); - result += mat4(-0.17371134, -0.104388446, 0.17345135, 0.026755063, 0.15404625, -0.051054668, -0.02018181, -0.06619917, -0.036865357, -0.04570358, 0.07079423, 0.11516949, -0.1797122, -0.049163837, 0.014738985, 0.04657914) * go_0(0.0, 1.0); - result += mat4(0.034890473, -0.05995724, -0.032354966, 0.06666679, -0.13994579, -0.08765461, -0.0036824804, -0.15497409, -0.011645552, -0.038018197, 0.034332644, 0.15941373, -0.008529513, 0.029604074, 0.0858699, -0.029017976) * go_0(1.0, -1.0); - result += mat4(0.08998875, 0.08112867, -0.099883065, 0.044013463, -0.02016892, -0.03194337, -0.01919129, -0.12692481, 0.05599388, -0.07186521, -0.06314103, 0.12600331, 0.080855615, -0.0111736385, -0.109203525, -0.061154358) * go_0(1.0, 0.0); - result += mat4(-0.08379919, -0.008933122, 0.16047752, -0.06960835, 0.035622384, 0.04627194, 0.05591613, -0.10179673, 0.023425609, -0.010385273, -0.09213081, 0.08659878, 0.025480824, -0.011364837, -0.1625303, 0.049823724) * go_0(1.0, 1.0); - result += mat4(0.034424074, -0.009408429, 0.033215035, 0.02420301, 0.021150611, 0.10608603, 0.058309395, 0.089898825, 0.018230092, -0.07854764, -0.057673525, 0.040332563, 0.10875167, -0.07030883, 0.031787585, -0.010897151) * go_1(-1.0, -1.0); - result += mat4(-0.0443787, 0.05504108, 0.09131229, -0.099139705, -0.04701309, -0.009591658, 0.06669618, 0.2015056, -0.056293335, 0.008075372, -0.07677628, 0.004702445, 0.021260587, 0.09744715, 0.057423804, 0.021359375) * go_1(-1.0, 0.0); - result += mat4(-0.051712368, -0.13244982, 0.07139737, 0.10835864, 0.0021893524, -0.1166478, 0.032233547, -0.064695075, -0.004389391, -0.0006074538, -0.032327574, 0.025842449, 0.15086086, 0.011622154, 0.065773465, 0.053508304) * go_1(-1.0, 1.0); - result += mat4(0.16315337, -0.0960404, -0.015643299, -0.037323635, 0.011508587, 0.04948558, -0.2871154, -0.14281087, 0.030323455, 0.078583434, 0.042384572, 0.12129205, -0.14123607, 0.087236665, 0.00889755, -0.167402) * go_1(0.0, -1.0); - result += mat4(-0.10391628, -0.06562147, 0.16477463, -0.20144655, -0.13973404, -0.19467448, -0.22762212, 0.029091561, 0.04566389, -0.09161383, 0.0008052232, 0.06389014, -0.15395997, -0.04903166, -0.092670366, 0.24895951) * go_1(0.0, 0.0); - result += mat4(-0.06552579, 0.073258355, -0.048055243, -0.12984315, 0.13946985, 0.026553746, -0.086942226, -0.021019895, 0.108548835, 0.07589171, -0.07590544, 0.043813374, -0.049252693, -0.033001482, -0.10167677, -0.004061408) * go_1(0.0, 1.0); - result += mat4(0.055682752, 0.035191942, -0.012800461, 0.061034914, -0.034456123, -0.025950838, 0.048463937, 0.007615106, 0.026728414, 0.03593474, -0.031136641, -0.05859427, 0.044800963, -0.0120887635, 0.07071209, -0.08164673) * go_1(1.0, -1.0); - result += mat4(0.17031406, -0.075592056, -0.028005876, 0.21785976, -0.050383326, -0.025190461, 0.102980904, 0.044166747, -0.023629388, -0.017228302, -0.08063423, 0.06228589, -0.106073886, -0.05417417, 0.01384367, -0.13417888) * go_1(1.0, 0.0); - result += mat4(-0.078987636, 0.12849496, 0.002592266, 0.057576377, 0.032209363, 0.06408963, 0.12294599, 0.07883444, 0.032161426, 0.06155877, 0.010895797, 0.0041334014, 0.02162249, -0.025320755, 0.07935094, -0.03933022) * go_1(1.0, 1.0); - result += mat4(-0.10999319, -0.071749605, 0.016940862, -0.06689887, 0.06562708, 0.015421828, -0.10038977, 0.022351438, 0.0072378516, -0.024689745, -0.009900782, -0.062202867, 0.070968285, -0.11074895, -0.13759296, -0.013251953) * go_2(-1.0, -1.0); - result += mat4(0.05854622, 0.09259871, -0.08797134, 0.088989675, 0.024802083, -0.029615134, -0.084783845, 0.13236238, -0.020588808, -0.042224985, -0.18020448, -0.04156565, 0.053059112, 0.045463946, -0.14048785, 0.11717459) * go_2(-1.0, 0.0); - result += mat4(-0.08766928, -0.041452006, 0.117475726, 0.010223308, 0.0733292, 0.014873856, -0.051121786, -0.07365082, 0.05471446, -0.0041644056, -0.030100634, 0.0044434085, -0.12453169, 0.004249513, 0.10762343, -0.04802087) * go_2(-1.0, 1.0); - result += mat4(0.15042898, 0.11271491, 0.17064768, -0.14598627, 0.0046017463, -0.016604707, 0.12100557, -0.07047844, 0.00046655512, 0.07742004, 0.13596372, -0.26504397, 0.104628205, -0.020363433, 0.074614085, 0.048167326) * go_2(0.0, -1.0); - result += mat4(0.12558675, -0.0046868515, 0.11997075, 0.030146364, -0.24822445, 0.09035629, 0.09392945, -0.01282837, -0.14198944, -0.07914039, 0.14079341, 0.049647167, -0.10037791, 0.08510244, 0.060112644, -0.05828877) * go_2(0.0, 0.0); - result += mat4(0.0038134505, -0.0009776007, 0.021530341, -0.03960861, -0.08656342, -0.026612714, 0.16857505, 0.10419946, 0.039362654, 0.008928767, -0.063425034, 0.014230696, -0.038191617, -0.061117157, 0.12815697, 0.076420926) * go_2(0.0, 1.0); - result += mat4(0.105563276, 0.07188178, -0.1257647, 0.010952779, -0.006922382, -0.02450461, -0.060794815, 0.09487304, -0.050465595, -0.02540529, -0.05827751, -0.021716394, 0.12369245, 0.0341066, 0.015743105, -0.012569158) * go_2(1.0, -1.0); - result += mat4(-0.026761103, -0.13780616, -0.13580202, -0.08337423, 0.013252865, 0.058387537, 0.01327199, -0.112468764, -0.027649863, -0.1197769, 0.11468971, 0.11502767, 0.052262947, -0.0058312807, -0.086597145, -0.35570583) * go_2(1.0, 0.0); - result += mat4(-0.11599564, -0.031244904, -0.017109923, -0.05101123, -0.0004512701, -0.07973053, -0.09035307, -0.023658501, 0.014839398, 0.028093025, 0.0234968, -0.18863517, -0.13489392, 0.051918108, -0.07010214, -0.07362468) * go_2(1.0, 1.0); - result += mat4(-0.022967706, 0.03409257, -0.13011228, 0.018934863, -0.039100666, -0.020177094, 0.13811639, -0.053306706, 0.00033211143, -0.039420232, 0.048290595, 0.08621673, -0.06638511, 0.022031369, 0.03948355, 0.027415393) * go_3(-1.0, -1.0); - result += mat4(0.0733964, -0.15682685, 0.24674796, 0.015979934, 0.103295825, 0.029281138, -0.00640193, 0.13705851, 0.04091665, 0.14897555, -0.003959307, 0.09191084, 0.07552526, 0.20486775, 0.054813545, -0.11239579) * go_3(-1.0, 0.0); - result += mat4(-0.008331485, -0.012025073, 0.03492921, 0.019618858, -0.03954045, -0.071347415, 0.12705332, 0.0075824475, -0.052891266, -0.009689185, 0.062378254, 0.04014343, -0.11668825, -0.009087395, 0.1857334, 0.11280801) * go_3(-1.0, 1.0); - result += mat4(-0.15169081, 0.1754912, 0.09287187, -0.0774441, 0.058556065, 0.059686765, -0.060081564, -0.04313811, -0.016350636, -0.027055483, -0.13249923, 0.006526878, 0.14684454, -0.013140385, -0.1353234, 0.10173243) * go_3(0.0, -1.0); - result += mat4(-0.025216255, -0.11498921, -0.0048903055, 0.07295964, 0.004382687, -0.013619205, -0.13797475, -0.058054335, -0.13391814, 0.13050263, -0.14202392, -0.2533213, 0.011737626, -0.06215436, -0.08448346, -0.23070122) * go_3(0.0, 0.0); - result += mat4(-0.021087795, 0.036483947, 0.01711435, -0.114880696, 0.105158284, 0.05111301, -0.07166783, 0.11605991, 0.045191426, -0.16015877, -0.11853486, -0.10897978, -0.17802416, -0.03555868, -0.0211633, -0.03494978) * go_3(0.0, 1.0); - result += mat4(-0.13263, -0.11029696, -0.033902865, -0.30437568, -0.075444214, 0.013206511, -0.0035109608, 0.124780156, -0.09391511, 0.038073853, 0.12877125, 0.3194643, 0.022432188, 0.05839717, 0.015229111, 0.03161354) * go_3(1.0, -1.0); - result += mat4(0.07500255, -0.0544746, -0.0057444978, 0.085524514, 0.0039521367, -0.02846398, 0.0058501028, -0.31636232, 0.02293016, 0.056456707, 0.00027596892, 0.025130993, 0.047589883, 0.155542, 0.017633265, 0.07390622) * go_3(1.0, 0.0); - result += mat4(-0.0062066396, 0.0316163, 0.14144021, 0.030221554, -0.00863229, 0.06580719, 0.059968337, 0.07765083, -0.015134933, 0.035973195, 0.10988175, 0.11437035, -0.023520702, -0.08846395, 0.013739085, 0.050823744) * go_3(1.0, 1.0); - result += mat4(0.008106373, -0.0023063454, -0.0024802976, 0.032234177, -0.04088235, 0.015171077, 0.029296082, -0.08079965, 0.034948766, -0.0010730241, -0.08728237, 0.070416205, 0.0045650583, 0.05538079, 0.19528446, -0.052673608) * go_4(-1.0, -1.0); - result += mat4(0.016898211, 0.0050003855, -0.04341598, 0.022770751, 0.085336484, 0.05628842, -0.0014142266, -0.10267082, 0.18624198, -0.03292003, -0.07424303, 0.08008146, 0.05010332, -0.015901754, 0.05890648, 0.06925725) * go_4(-1.0, 0.0); - result += mat4(-0.018265042, -0.010869422, -0.07447807, -0.014413915, 0.09715455, -0.064607695, 0.1956236, -0.16954915, 0.035966706, 0.01662019, 0.0035679787, -0.108899355, 0.016283005, 0.014987783, 0.039045602, 0.0048528756) * go_4(-1.0, 1.0); - result += mat4(0.014170341, 0.03811794, 0.04387719, 0.018673718, -0.059142195, -0.07665744, 0.00953344, -0.031336244, -0.30863273, 0.021407362, 0.11213431, -0.0688236, 0.012107985, -0.068919726, 0.04908253, 0.033023857) * go_4(0.0, -1.0); - result += mat4(-0.009969555, -0.032109927, -0.03331378, 0.11773186, -0.10909507, 0.006639517, -0.04539575, -0.0579204, -0.15170537, 0.056941837, 0.10823326, 0.07401396, -0.090091236, -0.06865221, 0.089120984, 0.016806215) * go_4(0.0, 0.0); - result += mat4(-0.092228875, 0.07815842, 0.076902114, 0.02190536, -0.04174865, -0.06646516, 0.0176217, -0.029791437, -0.0035171576, -0.027853405, 0.028345402, -0.019673025, 0.012397768, -0.025244448, -0.076721594, 0.056545198) * go_4(0.0, 1.0); - result += mat4(0.013751089, 0.028710453, -0.03519501, -0.110917166, -0.038981955, -0.004856431, -0.028126277, 0.09069896, -0.10534752, -0.010651089, -0.0866404, -0.041926295, -0.00065560994, -0.005656592, -0.1740303, 0.0106397625) * go_4(1.0, -1.0); - result += mat4(0.09781949, 0.029838594, -0.023950173, -0.028789546, 0.04113645, 0.06742668, 0.041924026, -0.14799178, 0.17004259, 0.034131896, -0.0086515965, 0.028065475, -0.00021416941, 0.02135054, -0.09778746, 0.007861735) * go_4(1.0, 0.0); - result += mat4(0.06710593, -0.06341859, -0.028064046, -0.1677076, 0.011845988, 0.12466771, 0.01782362, -0.06517061, 0.102153264, -0.034240305, 0.011049182, -0.027621388, -0.09351915, -0.02335411, -0.1708267, -0.013902164) * go_4(1.0, 1.0); - result += mat4(0.042084724, -0.09187555, -0.01763735, -0.07258012, 0.017196022, 0.009109215, 0.0012129606, -0.054706305, -0.027335504, -0.0051592705, 0.069727525, -0.17291252, -0.038160447, 0.080340855, 0.039895944, -0.11056116) * go_5(-1.0, -1.0); - result += mat4(-0.102107584, -0.041565824, -0.042674188, -0.015800798, 0.04497329, -0.016620796, 0.022366378, -0.013556663, 0.032126855, 0.041012876, -0.14174919, -0.1560601, -0.081136726, -0.014138632, 0.056592766, -0.16777231) * go_5(-1.0, 0.0); - result += mat4(0.10150729, 0.008907809, 0.10614623, -0.07286546, 0.10723833, 0.021950519, -0.005111765, 0.06091595, -0.02421664, -0.019942336, 0.12972529, 0.009076642, 0.06539415, -0.022795863, -0.075288706, 0.014927523) * go_5(-1.0, 1.0); - result += mat4(-0.014244343, -0.000929902, -0.060213383, 0.09852084, -0.053474598, -0.048381846, 0.10211108, 0.024139889, -0.013204734, -0.071033664, -0.123871826, 0.0054151136, -0.12164578, 0.081909955, -0.028816964, 0.01169573) * go_5(0.0, -1.0); - result += mat4(-0.07056067, 0.04857147, 0.061022542, -0.049719986, -0.17551526, 0.1161503, 0.15292794, -0.035287943, -0.29109716, -0.0018822167, -0.010201887, -0.055536415, -0.067613594, -0.1992745, -0.09841933, -0.123833716) * go_5(0.0, 0.0); - result += mat4(0.1412714, 0.049180016, -0.03390746, -0.046064492, -0.023715207, -0.032539513, -1.6744474e-05, 0.028718626, 0.11656023, 0.040432427, -0.043946996, -0.024617044, -0.04319868, 0.05100717, -0.10793789, -0.054517962) * go_5(0.0, 1.0); - result += mat4(0.009468791, -0.04127448, -0.042937916, 0.06944511, 0.08705993, 0.021766761, 0.057793774, 0.06747134, -0.0021050486, 0.035647735, 0.045688458, 0.17192644, -0.09825212, 0.07496541, 0.020065174, 0.019740075) * go_5(1.0, -1.0); - result += mat4(-0.033311404, 0.007491604, 0.040468596, 0.023317045, -0.12160635, -0.05972934, 0.03746047, -0.07959294, -0.05877447, -0.017430093, 0.16329257, 0.101292275, -0.008307186, -0.12543157, 0.11821003, -0.040085237) * go_5(1.0, 0.0); - result += mat4(-0.01930621, -0.051717315, 0.080195114, 0.03196475, -0.00016059505, -0.08457369, -0.046941303, -0.022827666, 0.07095548, 0.033528283, -0.000117218326, 0.030527927, 0.06767608, 0.06405806, 0.07108598, 0.014807144) * go_5(1.0, 1.0); - result += mat4(-0.029079122, -0.015964817, 0.033776768, -0.0064601395, 0.074425496, -0.06249402, 0.08085541, -0.0328853, 0.045291834, 0.057221, -0.0290186, -0.08744155, -0.0019775776, 0.030526869, 0.021371083, -0.12569618) * go_6(-1.0, -1.0); - result += mat4(0.0105911875, -0.005750151, 0.04260309, 0.014210322, 0.015407955, 0.00060751993, 0.049610585, -0.07466906, -0.040390488, -0.08162035, -0.061898038, -0.124972105, -0.050505, -0.092164226, 0.044362675, 0.111919016) * go_6(-1.0, 0.0); - result += mat4(0.0023963703, 0.041282196, -0.05646783, 0.05777507, 0.011205205, 0.034503374, -0.061611064, 0.12293142, 0.03772801, -0.07229799, 0.17227742, -0.12071008, -0.056806654, -0.008114281, 0.14452657, -0.08887878) * go_6(-1.0, 1.0); - result += mat4(-0.21772021, -0.021077266, -0.1770528, 0.083148256, 0.08415942, 0.061095197, -0.029297728, -0.037614755, 0.02089666, -0.08475015, -0.121696874, 0.1493812, 0.066780515, 0.035673257, -0.065779, 0.061450582) * go_6(0.0, -1.0); - result += mat4(0.021123944, 0.059452675, 0.08180326, -0.19369176, 0.039034773, 0.03499539, 0.048452575, -0.07801659, -0.05485538, -0.105147846, 0.0068246434, -0.015414475, -0.1417038, 0.006331833, 0.014578991, 0.012340914) * go_6(0.0, 0.0); - result += mat4(0.094774865, -0.011211499, 0.059985403, -0.028005127, -0.0649738, 0.07220796, -0.030932115, -0.011833521, 0.0043799044, 0.15417443, 0.034783, -0.20707501, 0.07021401, 0.009785066, 0.14368738, -0.17200746) * go_6(0.0, 1.0); - result += mat4(-0.09100167, 0.045779057, 0.15219277, -0.0050024926, 0.023136042, -0.11590488, 0.027398195, 0.14377147, -0.010942484, 0.068835154, 0.034892514, -0.123761274, 0.04814801, -0.023703141, 0.0013907297, -0.13976863) * go_6(1.0, -1.0); - result += mat4(-0.012781681, -0.042058986, 0.09873809, -0.044842128, 0.107526705, 0.08875909, 0.06501842, 0.0016359149, 0.08201313, -0.003446927, 0.09634223, 0.023682993, -0.12472837, 0.04145395, 0.033324856, -0.031588905) * go_6(1.0, 0.0); - result += mat4(0.035773195, -0.05701548, -0.17205292, 0.04882352, -0.08240135, -0.094785504, -0.025757896, 0.12895074, 0.0059648356, 0.02510323, 0.022789897, -0.06383224, 0.09968879, -0.10530578, 0.09228151, -0.00908396) * go_6(1.0, 1.0); - result += mat4(-0.053807683, 0.014884302, -0.03485459, 0.04246955, -0.032471776, -0.05131093, -0.018564003, -0.12595583, 0.005416638, 0.076546475, 0.0888337, 0.036004946, -0.10503138, 0.07228829, -0.05705534, 0.0231448) * go_7(-1.0, -1.0); - result += mat4(0.09341325, -0.01457277, -0.13981566, 0.100088514, -0.043855526, 0.015064728, -0.05971226, -0.07256148, -0.06452353, -0.108638905, 0.17481643, 0.08273329, -0.04073856, -0.060100254, 0.030729054, -0.21446918) * go_7(-1.0, 0.0); - result += mat4(-0.017811695, 0.062441234, -0.13309179, -0.09893964, -0.029610047, 0.033209465, 0.0660493, -0.052885335, 0.059748773, 0.016739162, -0.022443991, 0.119800024, -0.11143448, 0.023552373, -0.09487124, 0.025983935) * go_7(-1.0, 1.0); - result += mat4(-0.07614831, 0.15428677, -0.047756683, -0.3037738, 0.09638902, -0.07732393, 0.04147059, 0.17367123, -0.020671597, -0.13251007, -0.0395828, -0.05635809, 0.15072255, -0.042935852, -0.053226065, 0.12370819) * go_7(0.0, -1.0); - result += mat4(-0.27525103, -0.04073109, 0.16350949, 0.20433354, 0.113841645, 0.12456919, 0.0816484, -0.12243652, 0.1026797, 0.08587923, 0.063499786, 0.271656, 0.20372516, 0.0852106, -0.0027942986, 0.021396933) * go_7(0.0, 0.0); - result += mat4(0.15381213, 0.055414464, 0.21920305, 0.08396253, -0.10687372, -0.05462973, 0.087039314, 0.049340785, -0.07201125, -0.07180551, 0.058433067, -0.08389158, 0.094524354, 0.020410871, 0.12129854, 0.10572133) * go_7(0.0, 1.0); - result += mat4(0.0063117095, 0.073915385, -0.0045561646, 0.23483635, 0.031295463, 0.021003345, 0.07599019, -0.1594618, -0.0046872846, 0.0046049682, -0.038429365, 0.11511904, -0.00202024, -0.020265123, 0.009970022, -0.002929838) * go_7(1.0, -1.0); - result += mat4(-0.15797547, -0.10167035, -0.16430044, -0.20414145, -0.015431138, 0.101441555, 0.10162573, -0.050201286, -0.061392978, 0.021117665, 0.061082195, -0.1049562, -0.03447892, 0.098404795, 0.038732957, -0.12037957) * go_7(1.0, 0.0); - result += mat4(0.07782655, -0.033355527, -0.069240056, -0.04502161, -0.05999249, -0.08142937, -0.091957174, -0.055714294, -0.022586087, -0.10378274, -0.0930635, 0.06935779, -0.050071422, -0.067814715, -0.029975692, -0.095001936) * go_7(1.0, 1.0); - result += mat4(0.05315389, -0.1195346, -0.061223388, -0.0036692426, -0.030498018, 0.024816493, 0.15196335, -0.030596355, 0.0021912062, -0.022041973, 0.007224774, 0.12549329, -0.1313336, 0.028405745, 0.05510692, -0.079236254) * go_8(-1.0, -1.0); - result += mat4(0.049891938, -0.089109816, 0.065627016, -0.059712496, -0.11356505, 0.022486728, 0.08492869, 0.01759464, 0.013025284, 0.07108898, 0.163726, 0.17575887, 0.00978565, 0.08316646, 0.01607882, -0.020203505) * go_8(-1.0, 0.0); - result += mat4(0.011707021, -0.041468993, -0.043112185, 0.03440881, -0.11005808, -0.03355082, 0.12281368, -0.097853154, -0.052432492, 0.05120242, 0.026999133, 0.04091952, 0.12122586, -0.07085382, 0.19223467, -0.13468933) * go_8(-1.0, 1.0); - result += mat4(-0.21561226, 0.004335576, 0.10437036, 0.05847964, 0.06664545, -0.0066102324, -0.065021314, 0.015552164, 0.093689755, 0.035461873, 0.109493665, -0.038704667, -0.06792073, 0.048603103, -0.05255174, -0.04123595) * go_8(0.0, -1.0); - result += mat4(0.05594328, -0.060375415, -0.058975734, 0.023723664, 0.10352926, -0.07248816, -0.19153845, -0.21090735, -0.022574177, -0.07415163, -0.15998234, -0.29266396, -0.09080663, -0.34472424, -0.03285248, 0.13047802) * go_8(0.0, 0.0); - result += mat4(0.058605272, -0.023198698, -0.14641543, -0.05339167, 0.1524284, -0.031088095, -0.24899842, -0.05828886, 0.0751854, -0.057595134, 0.038429547, 0.089364074, 0.052765016, 0.05958445, -0.080915205, -0.13337326) * go_8(0.0, 1.0); - result += mat4(-0.11477242, -0.124096505, -0.0019490932, -0.01233014, -0.0018065475, 0.015593175, 0.11137782, 0.09337304, -0.037050534, -0.12510762, -0.032104224, 0.08224173, -0.1265443, 0.028348805, -0.044765398, 0.01736425) * go_8(1.0, -1.0); - result += mat4(-0.051222857, 0.17511438, 0.12101542, 0.07967362, 0.15954514, -0.06955668, -0.06868282, 0.26384103, 0.058684234, 0.13630556, 0.11342252, -0.059846863, -0.10069276, -0.009642563, 0.025243793, 0.178305) * go_8(1.0, 0.0); - result += mat4(0.09368266, 0.040270515, 0.09456053, -0.028369257, 0.009300146, 0.14414734, 0.18339029, 0.022486193, -0.06641786, -0.0032520513, -0.04727749, -0.034408014, 0.16622819, 0.017583046, 0.014806768, 0.060396347) * go_8(1.0, 1.0); - result += mat4(0.050008103, -0.030974511, -0.020898517, -0.04439508, -0.062059544, 0.03563301, -0.09486071, 0.032494925, -0.018090704, -0.054705545, -0.045727607, -0.045588177, -0.055609535, -0.013895825, 0.021962717, -0.046593897) * go_9(-1.0, -1.0); - result += mat4(-0.02722146, -0.030673165, -0.13452972, -0.082987286, 0.15460812, 0.077501684, -0.01239321, -0.05153571, 0.059392646, -0.10614259, -0.08891208, 0.013370744, -0.0010166704, -0.15081422, -0.17107935, 0.031870104) * go_9(-1.0, 0.0); - result += mat4(-0.016435966, 0.016412165, 0.0176122, -0.022089325, -0.027224645, 0.060684584, -0.103823006, 0.0682143, -0.013572331, -0.010815837, -0.055688858, -0.040836528, 0.13710149, 0.05916517, -0.11656939, -0.042447925) * go_9(-1.0, 1.0); - result += mat4(0.06984327, -0.011795586, 0.13195027, -0.023952803, -0.0072546103, -0.046447095, -0.07803815, 0.222913, 0.10912296, -0.0031289961, 0.20815663, 0.07834375, 0.0451593, 0.028728709, 0.10942835, -0.024792342) * go_9(0.0, -1.0); - result += mat4(-0.018971121, 0.04369722, 0.056467596, 0.0907889, -0.132549, -0.12444962, -0.03247696, 0.02004512, -0.045257036, -0.16815585, 0.21506688, 0.10498365, -0.117605306, 0.035134926, 0.104649805, 0.095877014) * go_9(0.0, 0.0); - result += mat4(0.030406464, 0.008261531, -0.04614057, 0.04029854, -0.08174387, -0.019619606, 0.020315584, -0.00730997, -0.041349456, 0.108196996, 0.062772945, 0.061518095, -0.14870963, 0.044491984, 0.03982492, 0.053469934) * go_9(0.0, 1.0); - result += mat4(0.104689375, -0.031253964, 0.039516505, -0.11111187, 0.084935345, -0.016218528, 0.09930998, -0.021956483, 0.046683453, -0.1555069, -0.0741569, -0.16718702, -0.12671323, -0.012335966, -0.040180996, -0.077114604) * go_9(1.0, -1.0); - result += mat4(-0.054692354, 0.013022073, -0.01139855, -0.063277416, -0.012274598, 0.14833915, 0.12062439, 0.050710853, 0.06779855, -0.1706071, -0.11530578, 0.036966156, 0.1292936, -0.036399644, -0.043579675, -0.08381583) * go_9(1.0, 0.0); - result += mat4(0.02749628, -0.0055657537, 0.021414503, -0.05567031, -0.039817147, -0.03126969, -0.06121935, -0.10364907, -0.010643113, 0.025941094, -0.0018660325, 0.03134705, 0.1014764, 0.012132183, -0.04167534, -0.007192358) * go_9(1.0, 1.0); - result += mat4(-0.063908055, 0.0716716, 0.15478031, 0.04902798, -0.0115773585, 0.008942735, 0.07891588, -0.021553801, 0.061734688, 0.041381408, 0.024777513, -0.075308606, -0.0315457, 0.08311421, 0.1146139, -0.10134795) * go_10(-1.0, -1.0); - result += mat4(-0.07825499, 0.03318951, 0.12026386, -0.03832228, 0.061354306, 0.061549537, 0.0011700536, 0.34563038, -0.11119886, 0.070013, 0.10178486, 0.022604989, -0.071630105, -0.14017276, -0.12347933, -0.12235272) * go_10(-1.0, 0.0); - result += mat4(0.023362065, -0.0067457003, 0.0031184114, -0.21757258, -0.12105008, 0.022064012, 0.007349156, -0.13224223, -0.13238755, -0.01957228, -0.048229545, -0.0844988, -0.033219468, -0.010157594, -0.055777356, 0.08504735) * go_10(-1.0, 1.0); - result += mat4(-0.030155355, 0.054027464, -0.05244417, -0.27551824, 0.056763507, 0.056652557, -0.07985995, -0.2235566, 0.060574487, -0.014039565, 0.023739032, -0.12401088, -0.012619071, -0.10727298, -0.27877995, 0.015411789) * go_10(0.0, -1.0); - result += mat4(-0.031312168, -0.112990275, -0.084325545, 0.13420536, -0.026703216, -0.12318826, -0.11495745, -0.3304216, 0.0017379739, -0.12131297, -0.02029666, -0.0055680214, -0.008017169, 0.08656161, -0.029046582, 0.07329052) * go_10(0.0, 0.0); - result += mat4(0.031304292, -0.016605763, -0.079030745, -0.11400012, -0.0068179243, -0.045204088, -0.13792539, 0.12242324, 0.086180836, 0.014990944, 0.035774138, 0.0067398064, -0.08353351, 0.14081265, 0.018009441, 0.030319707) * go_10(0.0, 1.0); - result += mat4(-0.0300618, -0.09076341, 0.023667706, 0.3072777, 0.032913562, 0.06211962, -0.0018291202, 0.19930436, 0.07321349, -0.02797535, 0.027380915, 0.104818374, -0.02544935, 0.070551865, 0.02536394, -0.0064187082) * go_10(1.0, -1.0); - result += mat4(-0.007832267, -0.017210286, 0.25910655, -0.107828744, -0.001164178, -0.077287786, 0.005749273, -0.078888595, 0.045206502, -0.045909654, -0.0057160687, -0.11832497, -0.017618075, 0.06724589, 0.03278988, 0.03061019) * go_10(1.0, 0.0); - result += mat4(-0.06251723, 0.021697097, 0.0931253, 0.015918719, -0.01673429, -0.019261248, 0.037270892, 0.13806875, -0.17155577, 0.044427596, 0.039202694, -0.009793211, 0.06674323, -0.011454017, -0.06116148, -0.00015122985) * go_10(1.0, 1.0); - result += mat4(0.056943193, 0.0069820723, -0.07524087, 0.10591727, -0.09259575, 0.080761656, 0.027319528, 0.09965913, -0.036539625, 0.06075153, -0.0063602435, -0.019010015, 0.008996931, 0.035988364, -0.06078678, 0.045367032) * go_11(-1.0, -1.0); - result += mat4(-0.10437949, 0.026252626, 0.033633687, 0.08128151, -0.03295961, 0.048350845, -0.1339497, -0.24894571, 0.02032933, -0.032409374, -0.1238805, 0.17044678, 0.02132749, -0.13286678, -0.123408824, 0.116156556) * go_11(-1.0, 0.0); - result += mat4(0.04140148, -0.017063234, 0.07359672, 0.04455494, -0.08166481, -0.03258098, -0.17265514, -0.012524784, -0.031209016, -0.03908155, 0.054648675, -0.067319736, -0.059796564, -0.016424967, -0.04244829, -0.15359914) * go_11(-1.0, 1.0); - result += mat4(0.060086712, -0.0060784644, 0.15192048, -0.062112223, 0.038401525, -0.0045279143, -0.20438981, 0.088729754, 0.09072659, 0.12217046, 0.21615751, -0.21982786, 0.12531106, -0.086268365, 0.06098375, 0.038291804) * go_11(0.0, -1.0); - result += mat4(-0.063111424, -0.057910115, -0.08349416, -0.1252965, 0.20627187, -0.099890456, 0.07032356, 0.13706891, -0.06886676, -0.039443724, 0.31532258, -0.068111554, 0.12516932, 0.23845369, 0.17068613, 0.12243004) * go_11(0.0, 0.0); - result += mat4(-0.092574455, 0.020559775, -0.16846387, 0.06924703, -0.027610822, -0.054253742, 0.1649807, 0.048429742, -0.11474609, -0.07767965, 0.093735196, 0.1386315, -0.064462975, -0.025894605, 0.07694748, 0.14165285) * go_11(0.0, 1.0); - result += mat4(-0.07777789, -0.023626441, -0.059073735, 0.14062499, -0.07562892, -0.023058334, 0.063937806, 0.057256836, -0.030244652, -0.014287634, -0.114472166, -0.041285962, 0.075025864, -0.076231115, -0.09189616, 0.048033148) * go_11(1.0, -1.0); - result += mat4(0.12536667, 0.0805743, -0.00029607664, -0.057686873, 0.21167123, -0.0014067952, -0.050654158, -0.033412077, 0.07600509, -0.12453788, -0.13625082, -0.07260216, 0.010956455, 0.06661168, -0.16789722, -0.3015692) * go_11(1.0, 0.0); - result += mat4(-0.08198274, 0.051078603, 0.064630434, 0.13538146, -0.051327027, 0.15535043, -0.016776081, 0.030145686, -0.05958555, 0.076665685, -0.01981465, -0.0068788007, -0.10680831, -0.11047426, -0.18633184, -0.07421776) * go_11(1.0, 1.0); - result += vec4(-0.013233474, -0.028328523, 0.026200915, -0.040242057); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups2 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.004980054, -0.00031779445, -0.06937893, -0.007667222, 0.020564018, -0.12594308, -0.04422198, 0.010446319, 0.13394952, -0.061285086, 0.036756814, 0.04566945, -0.023438957, 0.00058551924, -0.031796318, 0.009675185) * go_0(-1.0, -1.0); - result += mat4(-0.03424442, -0.028524911, -0.10516485, 0.020576376, 0.08185258, 0.072603114, -0.06079605, -0.09684838, 0.029204143, 0.023047578, -0.085331604, -0.079404935, 0.014943324, 0.03931474, -0.09670182, 0.026686301) * go_0(-1.0, 0.0); - result += mat4(-0.013804525, -0.021905398, 0.039218854, -0.012553362, -0.015308296, 0.09990078, 0.03377175, -9.791311e-05, 0.0039004232, -0.04609028, 0.072497614, 0.0145564545, -0.0006264493, 0.0022672713, 0.10566008, -0.053847287) * go_0(-1.0, 1.0); - result += mat4(0.0054841153, 0.00018488796, -0.07195827, -0.037830014, 0.007781641, 0.046536706, 0.013677965, 0.042986326, -0.10822574, 0.065523066, 0.01953869, 0.02402357, 0.06818494, -0.026275497, -0.03505757, -0.049135983) * go_0(0.0, -1.0); - result += mat4(0.08243966, 0.07671485, -0.038887218, 0.068862416, -0.17881598, -0.026086396, -0.049436066, -0.016728621, -0.12982376, 0.04321355, -0.06619578, 0.097587444, 0.035460997, 0.08825189, -0.1343801, 0.043896023) * go_0(0.0, 0.0); - result += mat4(-0.020362575, -0.061795376, 0.14194444, -0.009392974, 0.0079227, -0.017974908, 0.002327632, 0.05252894, 0.002096929, -0.00043822022, 0.008803959, -0.09294933, 0.054308783, 0.062052276, 0.01957063, 0.023968028) * go_0(0.0, 1.0); - result += mat4(-0.06981682, -0.033447154, -0.082183264, -0.012061882, -0.093804084, -0.033942513, -0.010569552, 0.026009778, 0.0033966561, -0.06607895, 0.017608356, -0.06738349, -0.04014152, -0.037135415, 0.0009366481, -0.0007413654) * go_0(1.0, -1.0); - result += mat4(0.015740328, 0.037849814, 0.00141192, -0.0177318, -0.038522735, -0.073447764, -0.016887076, 0.020053718, 0.09669053, 0.030959895, -0.047290325, -0.04076653, -0.05706955, 0.050860386, -0.02602983, 0.010206542) * go_0(1.0, 0.0); - result += mat4(-0.032583617, -0.088230655, 0.15712184, -0.11126827, -0.013210994, 0.11957044, 0.058341667, -0.08059044, -0.013765303, -0.016952187, -0.001553906, 0.011888885, -0.012792091, -0.038058013, 0.04805991, -0.07751879) * go_0(1.0, 1.0); - result += mat4(-0.019154536, -0.19832996, 0.08228855, 0.0072365827, 0.11191198, 0.031780373, 0.010279858, 0.010202158, -0.045814104, -0.062358413, -0.04304008, 0.031776935, -0.049302373, 0.07078303, 0.015204526, -0.037633713) * go_1(-1.0, -1.0); - result += mat4(-0.17575762, -0.02255418, 0.0014433716, 0.14608163, 0.02062823, 0.07066893, -0.11729328, -0.060587287, -0.030502932, 0.020600662, -0.055207808, 0.03486421, 0.059566412, 0.11540176, -0.00077288394, -0.009210969) * go_1(-1.0, 0.0); - result += mat4(0.039794195, 0.023957198, -0.08397302, -0.004100543, 0.019318411, -0.064996056, -0.077970035, 0.028551016, -0.02403627, -0.013446191, 0.069143735, 0.040995464, 0.030460864, 0.01776159, 0.066885635, -0.0024465942) * go_1(-1.0, 1.0); - result += mat4(0.11183102, 0.088040985, -0.090596534, -0.012310924, -0.16931272, -0.000802675, 0.0019450602, 0.079799056, 0.068416156, 0.13135424, -0.008897253, -0.030678948, -0.020596573, 0.040627006, -0.008358484, 0.07219674) * go_1(0.0, -1.0); - result += mat4(-0.083352946, -0.03401107, 0.12811421, 0.0015708592, -0.12648453, -0.017319797, -0.09431899, -0.04599546, 0.1582331, 0.099352226, -0.16463861, -0.14610463, 0.08969931, 0.010817973, -0.1133007, -0.04953709) * go_1(0.0, 0.0); - result += mat4(0.053032618, 0.06844253, 0.1012487, -0.035372887, -0.120928794, -0.018997852, 0.07475708, 0.048551805, 0.037847, -0.013994659, 0.032808784, 0.011978656, 0.10335882, -0.11927721, 0.027382841, 0.029108996) * go_1(0.0, 1.0); - result += mat4(0.038313128, -7.450299e-05, -0.1553082, -0.037842166, -0.07845518, 0.0791963, 0.08918919, -0.045648728, 0.02312862, -0.006408866, -0.032382783, 0.11302323, -0.08434936, 0.043508492, 0.05423983, 0.00020627544) * go_1(1.0, -1.0); - result += mat4(0.04470558, -0.22777058, -0.023525046, -0.031613413, 0.107973, -0.069209486, 0.132562, -0.15954618, 0.039887153, 0.042308033, -0.10093805, 0.053684387, -0.017171599, -0.043126736, 0.055972002, 0.044250045) * go_1(1.0, 0.0); - result += mat4(0.044089902, 0.007576137, 0.049237445, -0.00033802204, 0.006268241, -0.036514062, 0.052746966, -0.057994682, 0.074214526, -0.022113977, 0.13046025, 0.04648536, -0.03143724, -0.041738454, -0.060698733, -0.054645855) * go_1(1.0, 1.0); - result += mat4(-0.071145, 0.022052322, 0.002697867, -0.042442765, -0.09173712, 0.013504443, -0.019114535, 0.02300051, 0.020803731, -0.05496937, 0.048905697, -0.045301817, -0.036766656, 0.016664147, -0.07547731, 0.01658226) * go_2(-1.0, -1.0); - result += mat4(0.040246766, -0.014714711, 0.078281574, 0.039224714, 0.04217229, 0.022495124, -0.004129543, -0.031368844, -0.075755574, -0.01715347, 0.04380368, 0.033137042, 0.10724252, -0.025614396, 0.11412219, -0.074797876) * go_2(-1.0, 0.0); - result += mat4(-0.06936905, 0.01889137, 0.050059408, -0.009893554, -0.053580936, -0.017549224, 0.06327266, 0.010808283, -0.05115075, -0.058450032, -0.0074706287, 0.00776926, -0.08797574, 0.012118241, -0.05471152, -0.017969558) * go_2(-1.0, 1.0); - result += mat4(0.06484589, 0.040202156, 0.028859783, 0.026862267, 0.09826367, -0.056915086, 0.08828274, -0.03428312, 0.03460851, -0.0647798, 0.12595637, 0.0034099142, 0.1603728, -0.0946848, 0.020196391, -0.07263614) * go_2(0.0, -1.0); - result += mat4(0.22661588, 0.16864187, -0.07791008, -0.112576656, -0.14638188, 0.1337304, 0.014603548, 0.044733938, -0.1398099, -0.10701227, -0.040945653, 0.06388999, -0.15798035, 0.044651303, 0.08594859, 0.011900386) * go_2(0.0, 0.0); - result += mat4(0.03761384, -0.013198248, -0.12755519, 0.019081809, 0.09354852, -0.11184259, 0.03713189, -0.028735103, 0.033271037, 0.07379451, 0.109707184, 0.034653552, 0.090518855, 0.012992565, -0.016021844, -0.055253588) * go_2(0.0, 1.0); - result += mat4(0.03771769, -0.004233999, -0.035034336, 0.12593402, -0.0840236, -0.07569288, 0.049403775, 0.061529223, -0.05931918, -0.083688684, 0.024350598, 0.095879935, 0.06332485, -0.14329872, 0.033925388, -0.02696251) * go_2(1.0, -1.0); - result += mat4(-0.011605727, 0.08207276, -0.13056436, 0.083434395, -0.06486144, -0.043959912, -0.02922763, -0.033251993, 0.07966037, 0.06114887, -0.103295445, -0.075507164, -0.10298414, 0.082901865, 0.08017057, 0.046108358) * go_2(1.0, 0.0); - result += mat4(-0.092339, -0.11631462, 0.086708374, 0.09514288, -0.013445989, 0.021781534, -0.112157725, 0.04364132, 0.0035640658, -0.09061818, -0.023630636, 0.03811553, -0.040704202, 0.06701393, 0.005006215, 0.042827263) * go_2(1.0, 1.0); - result += mat4(-0.07944411, 0.0789026, 0.016190117, -0.113942236, 0.049357407, 0.15248768, 0.016395327, -0.013958314, 0.03873115, 0.027520558, -0.006671946, -0.040301196, 0.027300991, 0.11163382, 0.038676243, 0.028494846) * go_3(-1.0, -1.0); - result += mat4(0.047684576, 0.00047076686, -0.044396825, -0.0007533188, 0.06232839, 0.035434846, -0.013232272, 0.016593229, 0.12973827, 0.033230036, 0.08758317, -0.0787135, 0.0072122775, 0.030239502, 0.10487618, 0.02862714) * go_3(-1.0, 0.0); - result += mat4(-0.123315446, 0.033416398, 0.05050297, 0.02801388, 0.009222316, -0.08459817, 0.05822027, 0.03326058, 0.0138115445, 0.082410134, -0.0827552, -0.019779475, -0.058263138, 0.04641969, -0.026756264, -0.053478077) * go_3(-1.0, 1.0); - result += mat4(-0.0068640457, 0.0074430844, -0.03400453, 0.10731797, -0.026399532, 0.027929788, -3.0089896e-06, 0.04014437, -0.10416428, -0.04428467, -0.04392669, 0.035639126, -0.045293827, -0.026341837, -0.012873498, -0.039726894) * go_3(0.0, -1.0); - result += mat4(-0.012044526, -0.06947611, 0.0698436, -0.04084831, -0.12761715, 0.0033684673, -0.09938189, 0.08194043, -0.05680546, 0.12330337, 0.03703057, 0.2003222, -0.06116296, 0.005087016, 0.09429647, 0.11045201) * go_3(0.0, 0.0); - result += mat4(0.13894477, -0.1140498, 0.10828947, -0.021688364, -0.08493094, -0.028165033, 0.01597356, 0.018855589, 0.026023779, -0.005421008, -0.09233236, 0.061472908, 0.11241487, 0.116131656, -0.08339397, 0.08733185) * go_3(0.0, 1.0); - result += mat4(-0.015038761, 0.1652624, -0.09448094, 0.07666857, -0.071312174, 0.09588329, -0.011332098, -0.04034192, -0.077668615, 0.0058973487, 0.07668882, -0.073860854, -0.035745006, -0.04739662, -0.018102147, 0.056211453) * go_3(1.0, -1.0); - result += mat4(-0.03183886, -0.066594, 0.02265856, -0.014362389, 0.04824181, 0.14979705, -0.048680082, -0.026170084, 0.08462282, -9.6751464e-05, 0.075262226, -0.044197805, 0.17810301, 0.07797176, -0.006515804, -0.03331917) * go_3(1.0, 0.0); - result += mat4(-0.08380702, 0.033952057, -0.094792776, 0.044264294, -0.013486094, -0.10115301, 0.009765046, -0.03270181, -0.03531165, -0.017018229, -0.04344065, -0.07754226, -0.03270765, 0.084762484, -0.07478498, 0.010393788) * go_3(1.0, 1.0); - result += mat4(-0.07487718, -0.081585266, 0.0926645, -0.011970761, -0.12539868, -0.11986312, 0.031828016, 0.047259834, -0.08914916, -0.029122157, -0.024397554, -0.018037558, 0.020722765, 0.017828869, -0.05420854, 0.07969747) * go_4(-1.0, -1.0); - result += mat4(-0.026801797, -0.010322373, 0.028299354, 0.028988026, -0.06533457, -0.115617834, 0.0625142, 0.005516965, -0.017213784, -0.007674974, 0.0779002, 0.015178548, -0.07579986, -0.11024699, -0.039055236, 0.065135635) * go_4(-1.0, 0.0); - result += mat4(-0.01213054, -0.010893728, 0.08719662, 0.0033811845, 0.071778074, 0.0078827655, -0.0173444, -0.0038211744, -0.02791009, -0.00072597887, -0.05217657, 0.025769593, 0.0215529, -0.042698726, 0.019466953, 0.051834304) * go_4(-1.0, 1.0); - result += mat4(0.17659777, 0.013703468, 0.0056460397, 0.024826508, 0.07208554, -0.14220287, -0.07453027, 0.055382118, 0.10781546, -0.057184774, 0.057582688, -0.006631031, -0.10135777, 0.12889053, -0.05645504, 0.088366844) * go_4(0.0, -1.0); - result += mat4(0.06904701, -0.0013303136, -0.04592286, -0.20912392, 0.02682363, 0.088488, -0.05283776, 0.029175911, 0.027417168, 0.1829927, 0.076627366, -0.017891806, 0.06441116, 0.026457202, 0.18269981, 0.0094796475) * go_4(0.0, 0.0); - result += mat4(0.048462097, 0.07554834, -0.01741707, 0.026187122, -0.035704713, -0.02665749, 0.003005862, -0.0021759986, 0.014800947, -0.0685403, -0.006442139, 0.0073272795, -0.026575487, -0.038520448, -0.05114312, 0.011805403) * go_4(0.0, 1.0); - result += mat4(0.06547267, -0.16048354, -0.022591965, 0.004297735, -0.0696483, 0.15455423, -0.051802512, 0.018001162, -0.053496685, -0.009972072, -0.023770085, 0.018012576, 0.02063509, 0.2248572, 0.0014219751, -0.026187016) * go_4(1.0, -1.0); - result += mat4(-0.029676484, 0.115568705, -0.060859796, 0.20539157, 0.11859488, 0.0013547272, -0.008380246, -0.105498776, -0.013806508, 0.12783237, -0.1459067, -0.0347886, -0.011370979, 0.106100015, -0.01690763, 0.038655322) * go_4(1.0, 0.0); - result += mat4(0.066515915, -0.00028321685, 0.08892155, 0.0016317593, -0.061310638, -0.07737056, 0.03561483, 0.09331112, -0.069806434, -0.11692849, 0.0102957655, 0.037358206, -0.1654943, -0.05999889, -0.10447043, -0.07220807) * go_4(1.0, 1.0); - result += mat4(-0.010819127, 0.018162977, -0.070972435, -0.0028039222, -0.15422885, 0.097271316, -0.0551186, 0.006109672, -0.08663247, -0.029513236, -0.044053316, 0.053481128, 0.010602227, -0.11906896, 0.11215661, 0.00036062975) * go_5(-1.0, -1.0); - result += mat4(-0.060584255, -0.10347742, 0.2311829, -0.061208174, -0.012189042, -0.005251737, 0.040530797, -0.011809084, -0.035253566, -0.066367224, -0.0044880556, -0.04906008, 0.025754534, -0.13416557, -0.039463036, 0.08589151) * go_5(-1.0, 0.0); - result += mat4(-0.001811808, -0.14401546, -0.0040855994, 0.04881153, -0.07855645, 0.0765836, 0.042517748, -0.032462176, -0.05319181, -0.03694913, -0.07701794, -0.021778328, -0.035167713, 0.014939869, 0.00090037263, -0.028272703) * go_5(-1.0, 1.0); - result += mat4(-0.10014492, -0.10234366, -0.0049715503, -0.021069406, 0.15159184, -0.01578284, 0.0025799314, -0.0788855, -0.03319473, -0.018055653, 0.030750398, -0.024944583, -0.06941078, -0.10806205, -0.009403854, 0.068457745) * go_5(0.0, -1.0); - result += mat4(0.07509925, 0.13915682, 0.0843594, -0.0663729, 0.29596356, -0.09990156, 0.27314377, -0.03200671, -0.0050549, 0.06427814, 0.04587712, 0.0521665, -0.0066815466, 0.07585212, -0.2393277, -0.040303335) * go_5(0.0, 0.0); - result += mat4(-0.03936385, -0.01834245, -0.055654693, -0.049332604, 0.14924063, -0.09392581, -0.027209468, -0.004826174, 0.02256422, 0.03992049, -0.0034684308, -0.03776157, -0.11683972, 0.045553684, 0.12861861, 0.039034113) * go_5(0.0, 1.0); - result += mat4(-0.09741208, 0.06837846, -0.050834626, 0.0624849, -0.038701717, 0.029586427, 0.025968283, 0.0962147, -0.07174071, -0.10434051, 0.06022656, 0.025534676, 0.036425397, 0.046699833, -0.005127528, -0.019057602) * go_5(1.0, -1.0); - result += mat4(0.10008072, -0.12806182, 0.07184019, -0.019579336, -0.11724369, 0.08670338, 0.056442916, 0.042675193, 0.19645384, -0.03999251, -0.010949986, -0.07979217, 0.01367985, -0.09818813, 0.04609146, -0.033911683) * go_5(1.0, 0.0); - result += mat4(-0.05102399, 0.04630377, -0.08153964, 0.07871819, -0.078999326, 0.04736143, -0.19323653, 0.09518113, -0.018439546, -0.022815213, -0.012863942, 0.07849269, 0.028150335, -0.15847255, 0.02974761, 0.005212911) * go_5(1.0, 1.0); - result += mat4(-0.08172791, 0.06774395, 0.06855397, -0.030201953, -0.013725309, 0.03161688, 0.10804155, -0.0394157, -0.09338775, -0.045169964, -0.026604675, 0.02814141, 0.025514977, 0.1076675, -0.046543553, -0.022546189) * go_6(-1.0, -1.0); - result += mat4(0.059291005, -0.07898177, 0.097554855, 0.007130618, -0.1523421, 0.018653909, -0.065540805, 0.08984692, -0.09766101, -0.0886244, 0.13661884, 0.03730344, 0.0027830894, 0.042705502, 0.07426177, -0.025809633) * go_6(-1.0, 0.0); - result += mat4(0.05979756, 0.06012527, -0.00012069158, -0.03200783, 0.02075729, -0.04141766, -0.050204758, 0.024769386, 0.029588062, -0.080610864, -0.0028909834, -0.011870227, -0.00795984, -0.111990646, -0.027717153, 0.011958879) * go_6(-1.0, 1.0); - result += mat4(-0.11348256, -0.1642138, -0.030825634, 0.0009695864, 0.042716514, -0.12134388, 0.029467866, 0.034967966, 0.07632793, -0.11162435, 0.07082364, -0.07428158, -0.07067028, 0.07259591, -0.07474968, -0.059272174) * go_6(0.0, -1.0); - result += mat4(0.04584006, 0.029281115, 0.064264186, 0.026720345, 0.11376056, 0.14155193, 0.121960804, -0.08383328, 0.006924721, -0.083036475, 0.075024724, -0.06746543, 0.010613704, -0.03516688, 0.2985084, -0.10778275) * go_6(0.0, 0.0); - result += mat4(-0.09198537, 0.0999396, -0.100619964, 0.09780523, 0.10976557, -0.02432579, 0.013511376, -0.032328337, 0.052830044, 0.08352129, -0.037643075, 0.082177006, -0.16766717, -0.11212313, -0.09472028, 0.039206263) * go_6(0.0, 1.0); - result += mat4(-0.0039187134, 0.064014964, 0.07816437, -0.045843247, -0.0595401, 0.17998374, -0.024679746, -0.053179417, -0.07176138, -0.095521145, -0.007285804, 0.00966716, 0.048759207, -0.07106211, 0.01840149, 0.10262785) * go_6(1.0, -1.0); - result += mat4(-0.0011137341, -0.12161087, -0.0078447, 0.0052990075, 0.084343076, -0.053268425, 0.026544819, 0.056677848, 0.0015056322, -0.0026956368, -0.025750063, 0.024165427, -0.113677785, -0.079001755, 0.02874794, 0.05419204) * go_6(1.0, 0.0); - result += mat4(-0.032366123, -0.029644642, -0.10116561, -0.033282388, -0.07558866, -0.011509916, -0.06724827, 0.13111916, 0.08398466, -0.0049603316, -0.028347481, -0.036745254, 0.09317942, -0.103095226, -0.04895355, 0.033940677) * go_6(1.0, 1.0); - result += mat4(0.02289852, 0.020793753, -0.029280921, -0.021226712, -0.042159542, -0.040234644, 0.037087075, -0.01136303, 0.1250587, 0.08683751, 0.043244306, -0.014266309, 0.044671338, 0.16216184, -0.10934954, 0.043123797) * go_7(-1.0, -1.0); - result += mat4(0.14602992, 0.08519712, -0.04223339, -0.15030964, 0.0195825, -0.09202295, 0.004349579, -0.03261155, -0.079913475, 0.040347222, -0.051544785, -0.01878559, -0.03697114, -0.09083287, -0.11281619, 0.013403602) * go_7(-1.0, 0.0); - result += mat4(-0.05066647, -0.14043969, 0.0715399, -0.0338407, -0.0733364, -0.012150814, -0.033737592, -0.037597366, 0.039557703, 0.04977844, -0.13113868, 0.037195235, 0.030010387, 0.051758926, 0.021363556, -0.0042700213) * go_7(-1.0, 1.0); - result += mat4(-0.12424838, 0.044712003, 0.09879717, 0.110431895, 0.15167078, -0.080809824, -0.051779483, -0.06151212, -0.03838396, 0.099461265, -0.025622264, 0.03953769, 0.054816764, -0.0052228123, 0.014440809, -0.07081345) * go_7(0.0, -1.0); - result += mat4(0.029055228, 0.12759502, -0.07065523, 0.049311154, 0.0789663, 0.089302815, 0.03734241, 0.018170618, -0.109402694, -0.05299332, 0.11950886, -0.01075894, -0.038342703, -0.009629279, 0.20338437, -0.09028282) * go_7(0.0, 0.0); - result += mat4(-0.031301793, 0.033350687, -0.11612052, -0.0073021594, 0.13181442, 0.064353034, -0.016098095, -0.064183615, 0.031972036, -0.061433535, -0.07871156, 0.030271178, -0.095563374, -0.0674315, 0.16081227, -0.07802229) * go_7(0.0, 1.0); - result += mat4(0.044386476, -0.18471137, 0.11902013, 0.0034011758, 0.10137816, 0.031235041, -0.032770824, -0.006660433, 0.066062324, 0.023300404, 0.005928438, -0.024066748, 0.040243164, 0.0066209408, -0.09594398, 0.054552276) * go_7(1.0, -1.0); - result += mat4(-0.029413521, 0.09428955, 0.06815103, -0.06441823, -0.12596223, -0.06366853, 0.034587037, 0.124309674, -0.11672954, -0.07312988, 0.11242359, -0.011613149, -0.021004865, 0.0074676527, 0.065052725, 0.15019634) * go_7(1.0, 0.0); - result += mat4(-0.037824865, 0.050029285, -0.087814786, 0.06880046, -0.032547157, -0.027144877, -0.085585445, 0.087496854, -0.03997047, -0.029602649, -0.1513635, -0.016184736, 0.0097209, 0.07292284, 0.008576975, 0.06435051) * go_7(1.0, 1.0); - result += mat4(0.10046984, -0.06183376, -0.013340809, 0.027074182, 0.054535855, -0.027432043, -0.019280395, 0.013221026, -0.009106137, 0.012200378, -0.042389095, -0.009353607, 0.010896132, -0.042522453, 0.08383094, -0.047568105) * go_8(-1.0, -1.0); - result += mat4(-0.092015676, -0.09783175, -0.05556744, 0.024186416, 0.21669935, -0.11186962, 0.02547885, -0.019488495, 0.03702874, -0.0052051265, 0.01634479, -0.037431873, 0.010483881, 0.15813497, -0.071999855, 0.024169728) * go_8(-1.0, 0.0); - result += mat4(-0.0136034135, 0.05746974, -0.108155355, 0.03440845, -0.0022545143, 0.059555024, -0.05949962, 0.04200527, 0.056074332, -0.017623803, 0.01817416, 0.0021474815, 0.014506314, 0.07241813, 0.04402455, 0.035774175) * go_8(-1.0, 1.0); - result += mat4(-0.11538483, -0.005205343, 0.058553293, 0.017911535, -0.06455953, -0.12028678, -0.02611027, 0.05955494, -0.052788045, 0.08086805, -0.14098185, 0.10982794, 0.029788535, 0.09348368, -0.00070427964, 0.057440583) * go_8(0.0, -1.0); - result += mat4(-0.19514108, -0.12313826, 0.10980396, 0.050500832, -0.3483835, 0.09887278, -0.11676224, 0.032840744, -0.009801942, -0.012462944, 0.07521651, 0.15261722, -0.18961075, -0.15468487, -0.11253467, 0.07723115) * go_8(0.0, 0.0); - result += mat4(0.0566264, -0.021055626, 0.05093136, 0.00049979053, -0.17377897, -0.015554475, -0.016173836, 0.030584248, -0.023609076, 0.12646917, -0.07582214, -0.011635134, 0.003872485, -0.08722388, 0.066062145, -0.09153139) * go_8(0.0, 1.0); - result += mat4(-0.07090559, 0.0072672614, -0.034961816, -0.10320985, 0.020280685, 0.09725229, -0.06032245, -0.07770435, 0.011320556, -0.04215958, 0.027943375, -0.11302869, -0.013554361, 0.11193114, 0.0027771285, 0.014636555) * go_8(1.0, -1.0); - result += mat4(0.005668411, -0.17086571, -0.0118306, -0.029624771, 0.14067604, -0.1351785, 0.061528943, -0.026544137, 0.0002217388, -0.06365143, 0.14189628, -0.10473213, 0.058985032, 0.030680038, -0.10620143, -0.08394014) * go_8(1.0, 0.0); - result += mat4(0.054056313, -0.044364754, 0.05243819, -0.08444673, 0.17942932, -0.10154837, 0.031917978, -0.07216916, -0.033997767, -0.062092148, -0.054459434, -0.039323207, 0.01884695, 0.025018962, -0.054677896, -0.029544072) * go_8(1.0, 1.0); - result += mat4(0.035735596, -0.0923662, -0.051487017, 0.044227608, -0.16397929, 0.032365985, -0.011113684, 0.03424745, -0.05861996, -0.10061573, -0.0057441234, 0.03869538, 0.09118717, -0.040257573, -0.003748945, 0.01576125) * go_9(-1.0, -1.0); - result += mat4(0.005812071, -0.022493647, -0.016028766, 0.029808372, 0.028341934, -0.2501618, -0.0019369101, -0.022042232, -0.14091198, -0.029506056, -0.054683685, 0.06755075, -0.09911962, -0.040016513, -0.010028454, -0.053709976) * go_9(-1.0, 0.0); - result += mat4(-0.0040333862, -0.031002447, -0.020740345, -0.047557306, 0.021522898, 0.18422173, -0.1100128, -0.04952392, 0.021865182, -0.027262552, 0.123231895, 0.040957477, 0.0134175485, -0.044809658, 0.017589035, 0.02958665) * go_9(-1.0, 1.0); - result += mat4(0.0024872697, -0.0924844, 0.07573796, -0.050104573, 0.15410806, -0.12993748, -0.04235068, -0.07722604, -0.007873392, -0.035459034, 0.06991578, -0.011290308, -0.29447773, 0.006443658, -0.029264478, 0.0056801992) * go_9(0.0, -1.0); - result += mat4(-0.016531613, 0.06331183, -0.08013662, 0.03397937, 0.059954632, -0.14282636, 0.20347376, 0.06982213, 0.1122575, -0.05846739, -0.057790205, -0.13501489, 0.047547325, -0.021811934, -0.00338269, -0.06783046) * go_9(0.0, 0.0); - result += mat4(-0.04977131, 0.029476784, -0.042716935, 0.015469318, 0.04462305, 0.13369839, 0.023932919, 0.029388588, -0.06883358, -0.13391826, 0.07589707, -0.032005493, 0.04743787, -0.055516563, 0.0062151477, -0.010218498) * go_9(0.0, 1.0); - result += mat4(0.037789203, -0.17034878, 0.08546833, -0.024927955, 0.09980341, 0.20017757, 0.023676427, 0.056595214, 0.01952577, 0.031923886, -0.027307939, 0.08647462, 0.017542683, -0.06223254, 0.017913813, -0.053718697) * go_9(1.0, -1.0); - result += mat4(-0.027143707, 0.058161657, -0.051025134, 0.020747993, -0.046094757, -0.09663917, 0.09067158, -0.03886615, -0.0027781385, -0.033137277, -0.095078655, -0.060408685, 0.14296174, 0.018933386, 0.055143725, -0.004657412) * go_9(1.0, 0.0); - result += mat4(0.044026144, 0.010437977, 0.05655858, -0.014091456, 0.014390184, 0.121795416, -0.1775919, 0.00014985312, -0.005192125, 0.014011373, 0.0145458905, 0.043087985, 0.06917699, -0.051584966, 0.12668638, -0.009736733) * go_9(1.0, 1.0); - result += mat4(0.14409468, 0.031550802, 0.04940429, 0.02420018, 0.10889677, 0.115760565, 0.024446508, -0.049920537, 0.038839478, -0.055512905, -0.018526837, -0.018177887, -0.022867335, -0.02455583, 0.06619697, 0.03438194) * go_10(-1.0, -1.0); - result += mat4(-0.029962542, 0.09275872, -0.014957848, -0.029368388, 0.124542885, -0.007063616, 0.008388308, 0.011546229, 0.14521615, -0.09758831, 0.03099553, 0.04643359, 0.08084108, -0.00944376, 0.053600144, 0.040054623) * go_10(-1.0, 0.0); - result += mat4(0.04469534, -0.031979702, 0.027917262, 0.0060880897, -0.055475116, -0.022721322, -0.034989826, -0.009434882, -0.058321737, -0.019164206, -0.04860144, -0.032621287, -0.07496507, 0.1262228, -0.082519226, -0.10242379) * go_10(-1.0, 1.0); - result += mat4(-0.17469884, -0.030199233, -0.074333005, 0.06706621, -0.097167045, 0.012247184, 0.08149112, -0.038525913, -0.092975184, 0.08887855, 0.04058227, 0.06999723, -0.022414748, 0.01108974, -0.061870188, -0.17352983) * go_10(0.0, -1.0); - result += mat4(-0.105581224, -0.100990914, -0.054395344, 0.148013, -0.23560022, -0.044876803, 0.116798066, 0.13076422, -0.03979231, 0.0097074285, -0.1698561, -0.04045923, -0.015860325, -0.15534262, -0.0846022, -0.1327169) * go_10(0.0, 0.0); - result += mat4(-0.026032096, 0.07081548, 0.1203681, -0.073586255, 0.017461475, 0.04307851, -0.1154002, 0.0421786, -0.075602904, -0.057110302, -0.0025774506, -0.009332216, -0.09929576, -0.07458518, 0.05298091, -0.008168844) * go_10(0.0, 1.0); - result += mat4(-0.029223746, 0.07165331, -0.0032342686, -0.12397089, 0.016262105, -0.019623598, 0.132229, -0.0782472, 0.13277876, -0.1369722, 0.0041247434, -0.113053255, -0.009171029, 0.029010417, -0.085494466, 0.07673613) * go_10(1.0, -1.0); - result += mat4(0.072732225, -0.02040133, -0.007791175, -0.14766552, -0.020023864, -0.19197097, 0.0481767, -0.003379566, -0.025931194, -0.06366252, 0.11474637, 0.047169022, 0.0009244003, -0.029216142, 0.05807024, 0.075013295) * go_10(1.0, 0.0); - result += mat4(-0.11801154, 0.16848108, -0.2142721, 0.104934245, 0.030555163, -0.008816935, -0.05582496, -0.13490155, 0.01174242, 0.07028906, 0.028878117, 0.0023139853, 0.07998098, 0.10398876, 0.03057049, -0.017720941) * go_10(1.0, 1.0); - result += mat4(0.057695515, -0.1949399, 0.010695127, -0.058411263, 0.066390015, 0.10950713, -0.045249913, 0.028170068, 0.07288689, -0.0270477, 0.009525071, 0.011646309, 0.021010188, 0.065147154, -0.0398743, 0.022823825) * go_11(-1.0, -1.0); - result += mat4(0.016994178, 0.076805435, -0.017005963, 0.065933675, 0.04784552, 0.093760446, -0.08301409, 0.03443229, 0.031635575, 0.04007241, 0.05199163, 0.022145508, -0.055098876, -0.13066843, 0.08290488, -0.04787659) * go_11(-1.0, 0.0); - result += mat4(0.065779544, 0.14860266, -0.04525508, -0.049127556, 0.05431361, -0.036367986, -0.030670814, -0.012490711, 0.022927895, -0.047019765, 0.055157445, 0.07895081, 0.011260996, 0.032119557, 0.08388522, -0.03145928) * go_11(-1.0, 1.0); - result += mat4(0.08659041, -0.045707658, 0.0075198743, -0.028048256, -0.055311654, -0.13813055, 0.017775012, -0.0048520165, 0.118107446, 0.08820656, 0.052922327, 0.048058797, 0.11889591, -0.06767885, -0.013459149, -0.054338414) * go_11(0.0, -1.0); - result += mat4(-0.19821517, 0.041623026, -0.0837332, 0.13626467, -0.19109981, -0.21708459, 0.007647818, -0.0035708284, -0.24309829, -0.07089834, 0.107464954, 0.044456366, -0.05588158, 0.052947696, 0.20099647, -0.07524468) * go_11(0.0, 0.0); - result += mat4(0.09865657, -0.08641273, 0.04222665, 0.092002586, -0.1677124, 0.123014905, -0.08060824, 0.055244125, -0.044428542, 0.058285844, -0.04806793, 0.00027044347, 0.10408134, 0.003138088, -0.21746248, 0.026150497) * go_11(0.0, 1.0); - result += mat4(0.031747963, 0.030344909, -0.0010417908, -0.069958955, 0.05205653, -0.018692223, -0.014950393, -0.11240597, 0.043168604, 0.068883464, 0.006945098, -0.020819476, 0.029164154, 0.0494293, 0.057845388, -0.02571959) * go_11(1.0, -1.0); - result += mat4(-0.021301076, -0.049241424, -0.025215866, 0.015119046, -0.12056921, -0.036253583, -0.13584214, 0.038953424, -0.06768332, 0.0017622785, -0.1465355, 0.047489017, -0.08332941, 0.14608733, -0.01742368, 0.13697848) * go_11(1.0, 0.0); - result += mat4(0.077989355, -0.044292253, 0.12670535, -0.1457222, 0.12283255, 0.030114034, 0.12524998, -0.19104835, -0.09400012, -0.15996231, 0.15086915, -0.119735934, -0.042656906, 0.0036024922, 0.087161005, -0.052573696) * go_11(1.0, 1.0); - result += vec4(-0.054201107, -0.03990168, 0.015170136, 0.0027522973); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups3 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.031633336, -0.047204643, 0.011066451, 0.0011457179, -0.006347917, 0.13608074, 0.12924363, 0.06834536, 0.018832529, -0.01617389, -0.0009201671, 0.06167612, 0.08379403, -0.09132134, 0.07452091, -0.015411293) * go_0(-1.0, -1.0); - result += mat4(-0.13649908, -0.16099243, -0.021652862, -0.026633946, -0.06286893, -0.03219469, -0.08637414, -0.0021062559, -0.040859055, 0.05031717, 0.08475461, -0.09933557, -0.09092729, -0.035865482, -0.01667468, 0.0483801) * go_0(-1.0, 0.0); - result += mat4(0.02968065, -0.07596962, -0.024859725, -0.024441414, -0.06656952, 0.13241091, -0.022650657, 0.021699335, -0.031473428, -0.0558768, -0.054720137, 0.070535615, 0.006326211, -0.14964871, 0.03221645, -0.007834044) * go_0(-1.0, 1.0); - result += mat4(-0.06156417, 0.04482909, -0.0778248, 0.0033762604, 0.11597608, 0.04095434, -0.022367701, -0.03452255, 0.0025452876, -0.03823163, -0.010726125, 0.033624556, -0.09120533, 0.036828235, -0.016980488, 0.05392169) * go_0(0.0, -1.0); - result += mat4(-0.009212071, -0.015501689, 0.2095705, 0.08235293, -0.044137206, 0.055401433, 0.09810722, -0.041813664, 0.023073409, -0.07762709, 0.02694196, -0.037561897, -0.035541937, 0.11290072, -0.016263168, -0.01696508) * go_0(0.0, 0.0); - result += mat4(-0.03433563, -0.07195097, -0.04096143, -0.0018147749, 0.05482759, -0.019837217, 0.0049560936, -0.077037215, 0.026151054, 0.0032809689, 0.019379511, 0.00382456, -0.025924211, 0.034603324, 0.010341936, -0.14283618) * go_0(0.0, 1.0); - result += mat4(-0.026823584, 0.06420322, -0.051015694, 0.058043856, 0.013785225, -0.10684649, 0.0060506472, -0.057333834, -0.05343321, 0.048890367, -0.039541624, -0.06949933, 0.0022957844, -0.026031267, 0.035494395, 0.0033965604) * go_0(1.0, -1.0); - result += mat4(0.030878888, -0.014656829, 0.05056943, -0.021301335, 0.009076464, -0.10768655, 0.1027581, -0.04479955, -0.013532313, 0.07706172, -0.11259715, -0.06031671, -0.0056995912, -0.0051256586, -0.03156205, 0.008640786) * go_0(1.0, 0.0); - result += mat4(0.103866965, 0.12710404, -0.086989075, -0.024303993, 0.018460473, -0.11399514, -0.028592719, -0.07092162, -0.02485938, 0.012646388, 0.05261332, 0.050391883, 0.0026937504, 0.04870649, -0.020437604, 0.038909916) * go_0(1.0, 1.0); - result += mat4(-0.0974513, -0.058236808, 0.07105198, 0.040524643, 0.065037526, 0.03906271, 0.07837626, -0.009679581, 0.00064385735, -0.08647321, -7.037534e-05, -0.016179089, -0.031292647, 0.076142006, 0.02804278, -0.05764257) * go_1(-1.0, -1.0); - result += mat4(0.030663867, -0.15635894, -0.028023819, 0.06460089, -0.041030735, 0.016293203, 0.19392496, -0.11508442, 0.008171591, 0.0934239, -0.0870048, 0.073362164, -0.006848772, 0.06790883, -0.0135335345, 0.07357594) * go_1(-1.0, 0.0); - result += mat4(0.09028114, -0.06429057, 0.033590067, -0.09879934, 0.07307227, 0.015769, -0.014990206, -0.085418195, 0.080049776, 0.023888448, 0.13409564, -0.014170682, 0.023629297, 0.07806108, 0.04071595, 0.020726595) * go_1(-1.0, 1.0); - result += mat4(0.052381314, 0.00016723361, 0.057861157, -0.036390983, -0.07958564, 0.05410337, -0.11179012, -0.0061320043, 0.004999326, 0.024352659, -0.019904172, 0.010242868, 0.07631115, -0.04601861, 0.038483422, -0.07362657) * go_1(0.0, -1.0); - result += mat4(-0.09390498, -0.08841797, 0.15556625, -0.038060345, -0.13633597, 0.04042637, 0.15676612, -0.0711533, -0.080495924, 0.111994445, -0.12988548, 0.06780971, -0.048715454, -0.060590737, 0.10961984, -0.08277777) * go_1(0.0, 0.0); - result += mat4(-0.02290309, -0.04694831, -0.06167874, -0.05670546, 0.050957043, 0.029744303, -0.06328828, 0.08185687, -0.10537507, -0.04115458, 0.0003735362, 0.053313557, 0.016010528, -0.08785715, -0.07621614, -0.036937892) * go_1(0.0, 1.0); - result += mat4(0.040517025, 0.09857766, 0.010042572, 0.108244754, -0.03283686, -0.022963187, -0.08690388, -0.005915626, 0.053891134, 0.017167503, 0.017341748, 0.011143697, 0.03999245, -0.01227219, -0.0054678386, -0.009622973) * go_1(1.0, -1.0); - result += mat4(-0.0164469, -0.017714353, 0.056487422, -0.120027006, 0.04292911, -0.15528695, 0.053511843, 0.116291136, -0.082675055, -0.00034804572, 0.055704895, 0.06071607, -0.047145657, -0.070386276, 0.023783786, 0.029925946) * go_1(1.0, 0.0); - result += mat4(0.050232735, 0.16572477, -0.09472499, 0.16729164, 0.031627227, -0.025007034, -0.02239652, -0.1147475, 0.050392598, 0.031118808, 0.02176994, 0.00016720843, 0.053246, -0.0098164175, 0.025946492, 0.095122576) * go_1(1.0, 1.0); - result += mat4(0.05655974, -0.0021296637, -0.027152158, 0.0018008223, -0.030945173, 0.033763006, -0.07339188, 0.08742059, -0.0052314815, -0.027254393, -0.010104694, 0.004313602, -0.0024155602, -0.11986348, -0.07897048, -0.0799794) * go_2(-1.0, -1.0); - result += mat4(-0.04539382, -0.026066178, 0.047523193, -0.011101852, 0.045068428, -0.09288182, -0.01977962, 0.036070194, 0.035875738, 0.0073511843, -0.04663524, -0.025468027, -0.11150121, -0.10920299, -0.052274317, 0.14670384) * go_2(-1.0, 0.0); - result += mat4(0.029047016, -0.08053488, -0.047576025, 0.041448213, 0.00519367, 0.017873831, 0.030525718, 0.2115599, 0.04645692, 0.05893807, 0.02615712, -0.0008160917, 0.010160952, -0.115348145, 0.034858495, -0.036252353) * go_2(-1.0, 1.0); - result += mat4(0.029328672, -0.06147282, 0.099245965, -0.016069561, -0.04588596, -0.015824864, -0.00065780955, 0.11783133, 0.046371263, 0.025532443, -0.050760116, 0.11387852, -0.123442486, 0.068502195, -0.035709452, -0.010139634) * go_2(0.0, -1.0); - result += mat4(0.08144107, -0.0048314384, 0.042561002, 0.0073429323, 0.016475169, -0.18298517, 0.04162269, -0.40505856, 0.040700838, -0.009729474, 0.04950991, -0.24527405, 0.0359844, -0.24922356, -0.008784957, 0.018083924) * go_2(0.0, 0.0); - result += mat4(-0.068025224, 0.021066243, 0.08084092, 0.06613674, 0.0137919625, 0.15247017, 0.034660168, 0.06185016, -0.10319381, -0.072604574, 7.0872666e-05, -0.046551786, 0.022662586, 0.040797472, -0.030347038, 0.14333972) * go_2(0.0, 1.0); - result += mat4(-0.034329556, -0.017629132, -0.1104316, -0.06154111, 0.09951742, 0.006805059, 0.019380113, 0.17514679, 0.033588763, -0.13236447, 0.010922994, -0.09017968, 0.08294792, 0.018926317, -0.043637145, 0.13902532) * go_2(1.0, -1.0); - result += mat4(0.022851896, 0.06672356, 0.079136185, -0.13659722, -0.038040325, 0.0035903263, -0.16733421, 0.024522435, -0.022264859, 0.10723366, -0.02288172, 0.0196728, -0.009653811, 0.10268295, -0.023501871, -0.113096185) * go_2(1.0, 0.0); - result += mat4(-0.08349015, 0.060919363, -0.030994276, -0.0025411155, -0.021647135, 0.022568595, 0.095439956, 0.21585481, -0.030502949, -0.09642366, -0.054017495, 0.045923337, 0.01565769, 0.107936196, 0.017659819, -0.006003853) * go_2(1.0, 1.0); - result += mat4(-0.038150147, 0.049813494, -0.02254389, 0.040376615, 0.012128591, -0.07560698, -0.06594582, 0.17038696, -0.051349834, 0.050568867, -0.037604492, 0.012154198, -0.014805098, -0.020965809, 0.032242477, 0.16283989) * go_3(-1.0, -1.0); - result += mat4(0.026164161, 0.0384656, -0.006746238, -0.052994136, 0.008782895, 0.06266396, -0.02655077, 0.092436485, 0.13156697, 0.07836482, -0.012871134, -0.08055485, 0.09101397, -0.1413135, 0.0009591581, 0.029787155) * go_3(-1.0, 0.0); - result += mat4(-0.04031569, -0.011720376, -0.06437212, 0.003487665, -0.015246492, -0.0223702, -0.082578495, 0.04191726, -0.006068365, -0.043860532, 0.035579063, 0.087044574, 0.064650975, 0.028945439, 0.1040025, -0.10181198) * go_3(-1.0, 1.0); - result += mat4(0.14989112, -0.0037134404, 0.01806641, -0.026873687, -0.08768526, 0.11383756, 0.05757268, 0.09455109, -0.018351153, -0.03952511, -0.079576045, 0.033925682, 0.0033001003, 0.08723034, -0.010643809, 0.01257262) * go_3(0.0, -1.0); - result += mat4(-0.05054542, -0.036329333, 0.123284444, -0.02557279, 0.10153082, -0.009069268, 0.04252951, -0.12585463, 0.04778654, -0.07483032, 0.062488556, -0.18395498, -0.033916395, 0.06295577, -0.027577616, 0.17423669) * go_3(0.0, 0.0); - result += mat4(0.07597052, -0.0075188116, -0.08973514, -0.026340129, 0.030906048, 0.08375465, 0.038213003, 0.035919543, -0.03734709, 0.017989695, 0.0087211225, -0.0022506106, -0.058739766, -0.18358399, -0.07323249, 0.1048162) * go_3(0.0, 1.0); - result += mat4(0.013184021, 0.012399519, -0.08989556, -0.13580927, 0.020641401, 0.0017869119, 0.0057148286, 0.05153431, 0.032268934, 0.034521434, -0.009682033, 0.01926426, 0.034169424, 0.06630961, 0.010832605, -0.054445773) * go_3(1.0, -1.0); - result += mat4(-0.07883951, -0.09010308, 0.0525519, -0.1035829, 0.02016036, -0.09304133, 0.034259807, -0.09152035, 0.036499713, -0.0019468254, 0.020942528, 0.12025507, -0.034722727, -0.0661018, -0.0026809797, 0.078953594) * go_3(1.0, 0.0); - result += mat4(-0.037430596, -0.08204897, 0.07476148, 0.024977764, 0.039181154, -0.057472326, -0.003945999, 0.09039336, 0.0008211801, -0.004438151, -0.07983789, 0.120177425, 0.015065143, 0.113335535, -0.07053597, 0.100381166) * go_3(1.0, 1.0); - result += mat4(0.086861916, -0.05991858, 0.034695197, -0.13092202, 0.07931092, 0.06493492, 0.06573841, -0.036724556, -0.034092747, 0.026152303, -0.033061255, 0.14032754, -0.04515681, 0.05808891, 0.007072928, 0.007464456) * go_4(-1.0, -1.0); - result += mat4(0.023646286, 0.018814346, 0.08853008, -0.046954494, -0.0680677, 0.09032007, -0.02298439, 0.056834072, 0.0129189445, 0.037632216, 0.015946416, 0.07931374, 0.042541604, -0.02725378, 0.08464752, -0.07183182) * go_4(-1.0, 0.0); - result += mat4(0.01946921, -0.025809659, -0.010859854, -0.03876819, 0.03143448, 0.08659046, 0.03156476, -0.052004244, 0.050997965, 0.1330303, 0.07472624, 0.042026673, -0.01350671, 0.0037710255, -0.01113821, 0.12962969) * go_4(-1.0, 1.0); - result += mat4(0.071065016, 0.013667473, -0.07858696, -0.049275048, -0.0831864, -0.031069418, 0.0358137, -0.030719617, 0.03046763, 0.12356255, 0.088537484, 0.07021697, 0.013280352, -0.029585753, 0.11887279, 0.014726342) * go_4(0.0, -1.0); - result += mat4(-0.033986542, -0.057265796, -0.09960996, -0.007123603, -0.06251754, -0.04555296, -0.1660342, -0.16122448, 0.09641061, 0.06326183, -0.14873765, -0.063495845, -0.0035400593, -0.10232192, -0.13308042, 0.07226899) * go_4(0.0, 0.0); - result += mat4(0.02253988, -0.022372516, -0.023315908, -0.023785658, 0.0089682285, -0.05635044, 0.029682735, -0.091528706, 0.016541997, -0.00838726, 0.015957052, 0.009885855, 0.09019392, 0.070210606, 0.08996705, -0.15950003) * go_4(0.0, 1.0); - result += mat4(-0.012698153, 0.024674984, 0.017171197, -0.07513787, 0.054034457, 0.08034133, 0.019900622, -0.018637706, -0.015539523, -0.01719926, 0.012222133, 0.056686874, -0.09941062, 0.035075326, -0.06300037, 0.065752745) * go_4(1.0, -1.0); - result += mat4(-0.053739294, 0.06779504, 0.006205555, 0.055135477, -0.07350646, -0.07284559, -0.00071034994, 0.070012785, -0.048758507, -0.09573929, 0.017987896, 0.026238175, 0.05292496, -0.0908226, 0.03330145, -0.10023517) * go_4(1.0, 0.0); - result += mat4(-0.06051138, 0.01845355, 0.080332205, -0.23477274, 0.0017780879, -0.0011769851, 0.006243116, 0.12769665, -0.013245734, -0.045544423, 0.0051080324, 0.10321145, 0.0024773434, -0.0057393876, 0.045241803, 0.0050300118) * go_4(1.0, 1.0); - result += mat4(-0.06959858, 0.15786399, -0.016317498, 0.02877184, 0.014460598, 0.014137085, 0.016335545, -0.031591866, -0.073639706, 0.039272517, 0.0595447, -0.060000565, 0.052340932, -0.037160374, -0.009746105, 0.03398597) * go_5(-1.0, -1.0); - result += mat4(-0.014331551, -0.02283697, 0.057261255, -0.11191036, -0.026502425, 0.09579876, 0.023205925, -0.01002969, 0.0035926125, 0.107083805, -0.12081962, 0.037520908, 0.10304293, 0.10181896, 0.059842397, -0.12394029) * go_5(-1.0, 0.0); - result += mat4(-0.055230685, 0.033124145, -0.084113054, 0.057819456, -0.03683001, 0.08490844, -0.08137146, -0.0026155058, 0.030884158, -0.0069224723, 0.019869838, -0.10588068, -0.017231783, 0.07140959, 0.09784099, -0.064257614) * go_5(-1.0, 1.0); - result += mat4(-0.0055279834, 0.02264992, 0.048775043, -0.0055674016, 0.036924344, 0.047921922, -0.0030406152, 0.06572295, -0.01256091, -0.07444153, -0.030441843, 0.06839246, -0.02466317, 0.0640739, 0.0012663803, -0.09249365) * go_5(0.0, -1.0); - result += mat4(0.12454637, 0.02508894, -0.012818148, -0.17413804, 0.06903678, -0.14579777, -0.061650313, 0.06415632, 0.16513939, -0.12148188, 0.061980836, -0.25413838, -0.0838438, 0.09010191, -0.10076346, -0.08384045) * go_5(0.0, 0.0); - result += mat4(0.035294853, -0.009818006, 0.008635308, 0.07649243, 0.07593973, -0.10815679, -0.0037946224, -0.05962902, -0.08596867, 0.03172433, 0.032208804, -0.010527998, -0.012895747, -0.07577188, -0.0886284, 0.030037675) * go_5(0.0, 1.0); - result += mat4(-0.05260277, -0.005165094, -0.023816098, -0.008453138, 0.029108394, 0.0038581542, 0.03230225, -0.115741685, 0.01434686, -0.007362142, 0.076833464, -0.09742086, 0.015652958, -0.03165315, 0.016827375, 0.03012236) * go_5(1.0, -1.0); - result += mat4(-0.0074114413, -0.007142157, 0.060098313, 0.018576475, 0.048388384, 0.025734812, 0.055412345, -0.094956696, -0.1089939, 0.05442987, -0.078176424, 0.19176328, 0.0018410903, -0.008963725, 0.030447556, 0.04371867) * go_5(1.0, 0.0); - result += mat4(0.012471635, -0.07121236, 0.010370329, -0.035927165, -0.0499536, -0.051744625, 0.101591684, 0.036637902, 0.0260581, -0.045453344, 0.012845175, -0.09495744, -0.044371244, -0.10490497, -0.025627108, 0.07270294) * go_5(1.0, 1.0); - result += mat4(-0.015937695, -0.020977845, -0.05469452, -0.07522349, -0.050260108, -0.030902538, -0.039734975, -0.1355189, 0.030919757, -0.020353384, -0.01856437, -0.009737283, -0.02694679, 0.04907046, -0.022781305, 0.018169781) * go_6(-1.0, -1.0); - result += mat4(0.090058595, 0.16826132, 0.0049826605, 0.06566607, 0.10809639, -0.068695635, 0.00036837102, -0.03028086, -0.041872762, -0.009846198, -0.010779144, 0.019335851, 0.039553203, 0.08820599, -0.08433723, -0.06466632) * go_6(-1.0, 0.0); - result += mat4(-0.04349268, 0.09397739, 0.025378872, 0.11493893, 0.04360296, -0.13035224, 0.08838262, -0.060854338, 0.051835474, -0.018637918, -0.10881329, 0.04358248, 0.033509035, 0.04022566, 0.05735986, 0.06441961) * go_6(-1.0, 1.0); - result += mat4(0.009264325, -0.018902622, 0.03789747, 0.07226558, 0.014448138, -0.0033306987, 0.11255374, 0.03935702, 0.0129322065, -0.0016181464, -0.1021287, -0.030171165, 0.032106273, -0.007900431, -0.036069363, 0.0086673265) * go_6(0.0, -1.0); - result += mat4(0.17255592, 0.098507464, -0.105153486, -0.059567925, -0.04387472, -0.027963785, -0.1796981, 0.04501898, 0.06144028, -0.014747315, 0.17627963, -0.14504983, 0.0023210887, -0.1271698, 0.046717733, 0.13961272) * go_6(0.0, 0.0); - result += mat4(-0.033931673, 0.052978534, 0.087915316, -0.26053375, -0.11032791, 0.093395844, -0.03211155, 0.0053596734, -0.035693087, 0.012405018, 0.015548244, 0.045665722, 0.07878497, -0.06569381, 0.0013916995, -0.09496338) * go_6(0.0, 1.0); - result += mat4(-0.017125744, -0.05888157, 0.086017296, -0.015469932, 0.047587533, 0.022086784, -0.023233168, 0.022773582, 0.027239671, 0.00037649702, 0.025775624, 0.038293503, 0.0006150258, -0.057812367, 0.0023295355, -0.011695804) * go_6(1.0, -1.0); - result += mat4(-0.025385706, -0.057831608, -0.14174853, -0.034000676, -0.011626789, 0.089549385, -0.08939085, 0.07497252, -0.06530738, 0.019561889, 0.05338198, 0.0772703, 0.022494745, 0.057491917, 0.09906272, -0.11619142) * go_6(1.0, 0.0); - result += mat4(0.007159045, -0.11820591, 0.16014685, -0.057507165, -0.004012916, 0.08386152, 0.044288564, -0.11879581, -0.024562648, 0.042310104, -0.012218031, 0.0070039956, -0.010308056, 0.015246671, -0.017002579, 0.027904462) * go_6(1.0, 1.0); - result += mat4(0.043773923, 0.08447926, 0.0060493797, -0.009838635, -0.06607809, -0.105812825, -0.016854167, -0.029042272, -0.016566982, 0.09054693, -0.01610307, 0.1024673, 0.027022481, -0.0140408715, -0.0034308503, 0.015907276) * go_7(-1.0, -1.0); - result += mat4(-0.029520601, 0.15832281, -0.07498997, 0.12879246, -0.0047403337, -0.09097572, 0.010709765, -0.08067614, 0.1531185, -0.07202508, 0.1379616, -0.17325218, 0.05003156, -0.08192065, -0.029490056, -0.00607472) * go_7(-1.0, 0.0); - result += mat4(-0.07261881, 0.07981568, 0.05910037, 0.008755043, -0.017419731, -0.08997138, -0.010871429, -0.02585257, -0.12178138, -0.0006769738, -0.13575381, -0.0021067322, -0.052185774, -0.0074158055, 0.053772356, -0.022291688) * go_7(-1.0, 1.0); - result += mat4(-0.044595588, -0.003316725, -0.09797879, -0.07159885, 0.028050797, -0.009792938, 0.14875832, 0.06559129, 0.067419454, -0.11753606, 0.06074019, -0.1275772, -0.03880455, -0.033909705, 0.05090661, 0.0041188593) * go_7(0.0, -1.0); - result += mat4(0.08944623, -0.09970128, 0.120357394, -0.068270415, 0.2179705, 0.013683926, -0.05012664, -0.0040535773, -0.08411433, 0.05863848, -0.0024508496, 0.061170265, -0.022142153, 0.033100035, -0.18519762, 0.19681497) * go_7(0.0, 0.0); - result += mat4(0.048383128, 0.015200143, -0.078832135, 0.07570611, -0.09995039, -0.011546988, 0.023362644, 0.058294352, 0.13560104, -0.026238907, 0.07796701, -0.033889227, 0.045404553, 0.11079167, 0.049104396, -0.09936158) * go_7(0.0, 1.0); - result += mat4(-0.04900701, -0.05481005, -0.03186607, 0.07921016, 0.026371472, -0.059524942, 0.03906118, -0.08893278, -0.06457584, -0.08473395, -0.0674365, 0.032866746, 0.00096739264, 0.018813917, -0.028455576, -0.033470895) * go_7(1.0, -1.0); - result += mat4(0.032376442, -0.032982334, -0.047812797, -0.119594894, 0.01737356, 0.072892755, -0.043750647, 0.012878239, 0.17971332, -0.006200243, -0.0015411077, 0.017953468, 0.085230194, 0.014917097, 0.00026161334, -0.044447564) * go_7(1.0, 0.0); - result += mat4(-0.060007825, -0.15202801, 0.05623693, -0.01939923, -0.03227392, 0.031867385, -0.018139722, -0.02079522, -0.02402598, -0.053211123, 0.053056594, -0.04878437, -0.06519192, -0.0034240666, -0.024356056, -0.15005529) * go_7(1.0, 1.0); - result += mat4(-0.1284994, 0.055396453, -0.061427724, 0.04534267, 0.0044355616, -0.019841217, 0.0097054625, -0.05854661, -0.009569753, 0.027033292, -0.03268401, 0.009913927, 0.033498365, 0.06184141, 0.087421514, 0.06077207) * go_8(-1.0, -1.0); - result += mat4(0.035460323, -0.026687097, -0.1075591, 0.016931009, -0.09197817, 0.0046994127, 0.081675895, 0.035733443, -0.03892834, -0.032740854, -0.0217478, 0.097181335, 0.04714629, 0.20219718, 0.06359064, 0.06060557) * go_8(-1.0, 0.0); - result += mat4(0.0031661312, 0.07984541, 0.11029064, -0.06733239, -0.030554567, 0.035596423, -0.20681056, -0.05346199, -0.0783697, -0.040118814, -0.06487384, 0.0284231, 0.0049691694, 0.1491528, -0.039714985, 0.0074181003) * go_8(-1.0, 1.0); - result += mat4(0.10314192, -0.062152095, 0.08471139, -0.007023202, -0.03345975, 0.061854187, -0.021596573, -0.09983176, -0.04742312, 0.031852785, 0.044639237, 0.03092092, 0.09285697, -0.046978965, -0.003271293, 0.1714985) * go_8(0.0, -1.0); - result += mat4(-0.073157325, 0.05363814, -0.045032505, -0.07305738, 0.19485062, -0.08983376, 0.148478, -0.039260827, 0.03130637, -0.14657615, 0.033006314, -0.22576669, -0.06716495, 0.12892662, 0.008650304, -0.33207697) * go_8(0.0, 0.0); - result += mat4(0.049011655, -0.011785537, 0.00024780617, -0.08561568, -0.04056951, 0.05069663, 0.009467424, 0.1603814, 0.10849184, 0.07585787, 0.019122511, 0.0017692102, -0.013110704, -0.03444119, -0.059038095, -0.16943854) * go_8(0.0, 1.0); - result += mat4(-0.015281859, -0.0056571746, -0.0044085067, 0.12703119, -0.03224448, 0.06341434, 0.023243256, -0.11761112, 0.07058639, -0.0042816503, -0.016741859, -0.14328286, -0.105398014, 0.021235801, 0.024729747, -0.05396179) * go_8(1.0, -1.0); - result += mat4(-0.018736282, -0.08921308, 0.012529463, 0.08207301, -0.022546262, 0.0008973871, 0.0589294, 0.02749262, -0.04337444, -0.026003493, -0.030900346, 0.09806117, 0.014908406, -0.022758849, 0.040615484, -0.025548873) * go_8(1.0, 0.0); - result += mat4(0.04973487, -0.007308476, -0.09107627, 0.1002638, 0.039444637, 0.062748894, -0.03743681, 0.04941978, 0.03797882, -0.005657804, 0.07496248, -0.19625728, -0.0053111203, -0.12420952, 0.015706213, 0.08970607) * go_8(1.0, 1.0); - result += mat4(-0.017499652, -0.011083385, -0.03835575, -0.057031613, 0.055788048, -0.002769527, 0.048425846, -0.12638432, 0.079847835, -0.023777835, 0.028142963, 0.029259687, 0.012670037, -0.04262065, 0.011202046, 0.1014771) * go_9(-1.0, -1.0); - result += mat4(-0.0011066735, -0.06567987, -0.024684886, 0.04814328, -0.029252958, -0.0145578375, -0.011001012, 0.066024825, -0.12549819, -0.035608485, 0.024503868, 0.09046607, -0.12577386, 0.108499795, -0.033756047, 0.04089189) * go_9(-1.0, 0.0); - result += mat4(0.07298894, 0.016137762, 0.09972605, -0.03631019, 0.071216986, -0.006491169, 0.13135724, -0.045003764, 0.011327209, -0.0032198452, -0.073184155, -0.12645428, -0.033388153, 0.038289644, -0.022976652, -0.15222427) * go_9(-1.0, 1.0); - result += mat4(-0.0850051, -0.061894715, 0.0025460725, 0.01735803, 0.0115774, 0.028606912, -0.0185829, 0.058961958, -0.015164688, 0.06176899, 0.013633159, -0.13075458, -0.04559838, 0.1497594, 0.012309951, -0.054280266) * go_9(0.0, -1.0); - result += mat4(0.033778504, 1.3775232e-05, -0.071465604, 0.039625768, -0.1406421, -0.09973969, -0.12348733, 0.08639336, -0.017689444, -0.05291633, 0.0052467394, 0.036083005, 0.103011146, -0.07885084, 0.03624404, -0.19779843) * go_9(0.0, 0.0); - result += mat4(-0.13701077, -0.009741476, 0.057119012, -0.011644494, -0.019327998, 0.012543687, -0.108650126, 0.14737423, 0.0030139815, 0.04868924, -0.06679441, -0.0014451172, 0.075022966, -0.07319879, 0.046130773, -0.084946394) * go_9(0.0, 1.0); - result += mat4(0.02757042, 0.005000714, 0.05357463, -0.012014082, 0.03387562, -0.08268642, 0.027975079, 0.030093687, -0.0026373544, -0.07304045, 0.034148622, -0.11867974, 0.00915948, 0.032246005, 0.029637758, -0.124297306) * go_9(1.0, -1.0); - result += mat4(-0.027572427, 0.080845065, -0.07151847, 0.044999022, 0.10178647, 0.039238267, 0.069493495, 0.040196676, -0.028676251, 0.098159514, -0.0109344255, 0.010178323, -0.024001377, -0.11533262, 0.054262727, -0.25812492) * go_9(1.0, 0.0); - result += mat4(0.017852787, 0.054254986, -0.07904005, 0.016366297, -0.07436262, -0.0027527057, 0.019063853, -0.059751403, 0.011023306, 0.04290423, 0.094588734, 0.041617885, -0.004662918, -0.029263075, 0.0053384346, 0.13014711) * go_9(1.0, 1.0); - result += mat4(0.020516312, 0.049965713, -0.0047764, -0.001385792, -0.10811771, -0.06954961, -0.038639724, -0.10104973, -0.046069738, -0.0018522897, 0.0068155103, 0.017285738, 0.06505856, -0.15119606, 0.02563171, -0.076795295) * go_10(-1.0, -1.0); - result += mat4(-0.038404297, -0.034899928, 0.030618228, -0.078488395, 0.026526814, 0.054260876, -0.008638833, 0.044345114, -0.034573607, -0.13525884, -0.038886372, 0.034750782, 0.028315054, 0.018721249, 0.05520113, -0.14643733) * go_10(-1.0, 0.0); - result += mat4(-0.004575239, 0.054795388, -0.025221294, 0.08692721, -0.011114022, -0.13158318, -0.117704205, -0.013045645, -0.019987218, -0.16077873, -0.027254676, -0.032827064, 0.03171408, 0.029311327, 0.09390122, -0.06094889) * go_10(-1.0, 1.0); - result += mat4(-0.09514255, -0.11719947, 0.024771178, -0.055347703, -0.0050212713, 0.023508657, -0.031050786, -0.008211493, 0.059302375, -0.09727709, 0.0033082752, -0.34259906, 0.034872722, 0.06544398, -0.15009998, -0.005616581) * go_10(0.0, -1.0); - result += mat4(-0.054723203, 0.10425467, 0.08331141, 0.041694768, 0.21464455, -0.13965818, 0.23145188, -0.3231194, -0.09231095, -0.093762614, 0.1341291, 0.106148496, -0.03840182, -0.03863224, 0.00978057, 0.10734164) * go_10(0.0, 0.0); - result += mat4(0.046150167, -0.1107325, 0.08239038, 0.09739733, -0.04838563, 0.07169289, 0.030699836, 0.087043926, -0.04000327, 0.07075429, -0.0649763, 0.13473587, -0.026697233, -0.032252587, -0.106289394, 0.013134167) * go_10(0.0, 1.0); - result += mat4(-0.011358477, 0.014746848, -0.06381113, 0.09345815, -0.052493114, -0.031094193, -0.014490446, 0.027240822, -0.013986413, 0.047255624, -0.0071515823, -0.15499969, 0.011660372, -0.08114566, -0.0032833416, -0.025902508) * go_10(1.0, -1.0); - result += mat4(0.093131594, -0.020026306, 0.064591266, 0.06950151, 0.03308419, 0.013929936, -0.051832702, -0.09504873, 0.04482367, 0.02285439, -0.016865572, -0.010707854, -0.12346976, 0.1108876, 0.033460088, 0.1441719) * go_10(1.0, 0.0); - result += mat4(0.06464345, 0.009814147, -0.11732286, 0.09640966, -0.011083181, 0.025634103, -0.009818605, -0.06308208, 0.035090234, 0.047049303, -0.011196712, -0.040552177, -0.00690482, -0.032003466, -0.08346238, -0.051888265) * go_10(1.0, 1.0); - result += mat4(-0.07594275, -0.14852607, 0.006369174, -0.028322008, 0.031113818, -0.025142204, 0.04233826, 0.0007640209, 0.030699715, -0.06448617, -0.015898462, 0.066777274, -0.04257087, -0.0144890435, 0.057357844, -0.0318667) * go_11(-1.0, -1.0); - result += mat4(0.19709913, -0.087405324, 0.04390357, 0.10380273, -0.05233805, -0.019568289, -0.106650576, -0.0063792607, -0.09027559, -0.006504837, 0.074212104, 0.051857464, -0.15292354, -0.112121835, -0.069437794, 0.051379323) * go_11(-1.0, 0.0); - result += mat4(-0.059474748, -0.032849193, 0.09168405, -0.12285668, 0.039865855, -0.12654066, 0.047645345, -0.028331244, -0.016361289, -0.020990405, -0.09095233, 0.03194053, 0.058742214, -0.1877646, -0.08055953, 0.02642651) * go_11(-1.0, 1.0); - result += mat4(0.06032857, 0.06038668, 0.002503837, 0.021554386, -0.091903985, 0.09046953, -0.06712859, 0.006537793, -0.046659786, 0.021541117, 0.012266998, 0.054188155, 0.007151342, 0.008575671, 0.01513689, -0.026369616) * go_11(0.0, -1.0); - result += mat4(-0.12819825, -0.052586053, -0.0881643, -0.12339812, 0.15492871, -0.0058023096, 0.17018582, 0.11415837, 0.21312602, -0.13595492, 0.123150736, -0.13618599, 0.20745124, -0.039583243, 0.121999316, 0.13601117) * go_11(0.0, 0.0); - result += mat4(-0.08635906, 0.036601096, 0.030962972, 0.21548468, -0.071995094, 0.004548638, 0.018891288, -0.1884843, 0.079512775, 0.010611917, 0.02468035, -0.0015380608, -0.035021294, 0.12837036, 0.03815442, 0.14684461) * go_11(0.0, 1.0); - result += mat4(0.04575171, 0.0255304, -0.021699527, -0.07199272, -0.01405429, -0.015184739, -0.05289523, 0.23502754, -0.009633605, -0.010538761, -0.01368754, 0.02869853, -0.052602444, 0.04617772, 0.003520183, 0.043920517) * go_11(1.0, -1.0); - result += mat4(-0.03702823, 0.028631229, -0.056377277, 0.06657131, -0.06471088, -0.02777387, -0.07724881, -0.141064, 0.02069003, -0.0029747393, -0.003270307, -0.0970294, -0.015186423, -0.010041962, -0.10663767, -0.14395697) * go_11(1.0, 0.0); - result += mat4(0.019522002, 0.017114507, 0.018178293, -0.074390344, 0.03809122, 0.0019812244, -0.12456406, -0.03625297, -0.04258997, 0.012483465, -0.07854689, 0.16006711, 0.031079631, 0.06537226, 0.086271, -0.12306452) * go_11(1.0, 1.0); - result += vec4(0.010888379, 0.004641154, 0.015582801, 0.0017601614); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups4 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(-0.034727804, -0.0002637053, -0.04078105, -0.08927365, -0.07645947, 0.076919794, 0.005021898, 0.058050282, 0.015864419, -0.028619323, -0.071649395, 0.038069222, -0.08295531, -0.0003540787, -0.0004084796, 0.09838099) * go_0(-1.0, -1.0); - result += mat4(0.053080674, 0.002008403, -0.030753473, -0.00059351645, 0.21958888, -0.047472507, -0.10333183, 0.01189763, -0.25521263, 0.06761254, 0.033002634, 0.15817507, 0.056013178, 0.005128271, -0.0057734093, 0.026915452) * go_0(-1.0, 0.0); - result += mat4(0.018198377, -0.030808125, -0.005123907, -0.09906635, -0.0022847415, 0.027329655, 0.12032622, -0.053246, 0.17812891, -0.0034940862, -0.05836999, -0.17489943, -0.058187198, -0.04797969, 0.03180951, -0.0068172915) * go_0(-1.0, 1.0); - result += mat4(-0.007893344, -0.04144954, 0.022285834, -0.069708645, 0.011978968, -0.0041609593, -0.09588643, -0.09790428, 0.10254975, -0.07055374, 0.015816301, -0.008875658, -0.020530261, -0.037710804, -0.08531446, -0.16354285) * go_0(0.0, -1.0); - result += mat4(0.009672311, 0.05724347, 0.1139366, 0.029182902, -0.16538447, 0.053901788, -0.05012634, 0.20983797, -0.11215055, -0.0032693828, 0.13143851, -0.07319714, 0.07356394, 0.21913917, -0.02512947, -0.09149598) * go_0(0.0, 0.0); - result += mat4(-0.10140455, 0.017164832, 0.032349866, 0.088012405, -0.02051974, -0.079648875, 0.0045336485, -0.025527513, -0.103990085, 0.027295498, 0.034057755, 0.007966114, -0.019226998, 0.03644731, 0.07082869, 0.061730456) * go_0(0.0, 1.0); - result += mat4(-0.019575765, 0.055050828, -0.06451268, -0.0031637426, 0.029987715, -0.09300758, -0.08723479, -0.023979021, -0.004959102, 0.055621523, 0.04736208, -0.017018013, -0.1752648, -0.047154278, 0.025960885, 0.20475896) * go_0(1.0, -1.0); - result += mat4(-0.0056192777, -0.025803288, 0.032227412, -0.02016798, -0.031833343, 0.06160066, -0.06491425, 0.0011419505, 0.16180488, 0.024346532, -0.023937434, -0.10019908, 0.053700123, 0.08749021, -0.051140826, 0.002127793) * go_0(1.0, 0.0); - result += mat4(-0.10793633, 0.0058197114, -0.013801388, -0.0061892844, -0.028018648, 0.011631394, 0.015553901, 0.057576846, 0.07057829, -0.03060998, 0.022989806, 0.012193347, 0.08022945, -0.07045989, 0.02723698, 0.0030155836) * go_0(1.0, 1.0); - result += mat4(-0.04512287, -0.041164827, -0.032029074, -0.06730429, -0.019684372, -0.020619368, 0.11050403, -0.08812864, 0.032124072, 0.019207481, -0.023409393, -0.019082036, 0.014939763, 0.01212131, 0.0019187465, 0.08177548) * go_1(-1.0, -1.0); - result += mat4(0.17723826, -0.07731568, -0.0106458245, -0.0949864, -0.42690027, -0.005360146, -0.11773051, 0.27470574, 0.09827681, -0.015561, 0.1043857, 0.018999008, 0.029409967, -0.09800717, -0.106550716, 0.059578367) * go_1(-1.0, 0.0); - result += mat4(-0.14227667, 0.025659012, -0.087051585, 0.088987745, -0.038849983, -0.038027756, 0.13187966, -0.002485406, 0.0014433947, -0.025459114, 0.03288196, -0.02150798, -0.020861674, -0.04538319, 0.033835832, -0.03215041) * go_1(-1.0, 1.0); - result += mat4(-0.1553871, 0.029722217, 0.035195246, -0.10880293, 0.1550117, 0.005851412, -0.063834764, -0.1988861, -0.08803912, 0.052023105, -0.061123103, 0.026238514, -0.06444424, 0.034957945, 0.013564579, -0.04922909) * go_1(0.0, -1.0); - result += mat4(-0.30188507, 0.041812148, -0.0051415698, 0.4225713, 0.123012245, 0.006190092, -0.11784305, -0.09278702, -0.032476064, 0.01649785, 0.06873298, 0.003889617, 0.12036293, 0.010126355, -0.0159458, -0.07610982) * go_1(0.0, 0.0); - result += mat4(0.09901913, -0.08349318, 0.048260756, 0.015416775, -0.04753114, -0.059718408, -0.06824792, -0.17603761, 0.00778662, -0.0059375027, -0.083089516, -0.14063439, -0.12862016, 0.042804226, 0.023634497, -0.09797641) * go_1(0.0, 1.0); - result += mat4(-0.024001475, -0.010116277, -0.053517547, -0.012852274, -0.06398481, 0.048043747, 0.033992432, 0.07568637, 0.19207221, -0.045017365, -0.14834619, -0.05611828, 0.012974322, 0.033472214, -0.069440804, 0.019957287) * go_1(1.0, -1.0); - result += mat4(-0.06514664, 0.07197869, -0.10582491, -0.04518758, -0.04605446, -0.103915684, 0.09963303, 0.112704754, 0.0116696, 0.048416674, 0.043518696, 0.15309274, 0.079236075, -0.10255372, -0.024120726, 0.08078583) * go_1(1.0, 0.0); - result += mat4(0.08656825, -0.059274856, 0.068748064, -0.09998145, 0.04256707, 0.07933082, -0.07329948, 0.10178932, 0.11183659, -0.028112091, 0.061075397, -0.0588522, -0.051063843, -0.013038464, -0.027286172, -0.03975418) * go_1(1.0, 1.0); - result += mat4(0.11182532, 0.026677538, 0.01931928, -0.09913016, 0.025954673, -0.10134136, -0.03812254, -0.03199443, 0.100416884, -0.032493666, 0.05390669, -0.1215946, 0.030413928, 0.049877644, -0.059447087, -0.017498257) * go_2(-1.0, -1.0); - result += mat4(0.06850377, -0.023795482, 0.0076700076, 0.027123824, -0.17540605, 0.090537384, 0.089903906, 0.08784665, 0.056886338, 0.07318396, 0.017845241, 0.036417425, 0.00984014, 0.047083918, 0.057152037, -0.052876327) * go_2(-1.0, 0.0); - result += mat4(-0.121944204, -0.0068513937, -0.023799203, 0.04849627, 0.1347227, -0.1030107, 0.001971158, -0.115433335, 0.10797434, -0.012841425, -0.057837863, 0.0155828055, -0.19377467, 0.0055032945, 0.003947639, 0.017919105) * go_2(-1.0, 1.0); - result += mat4(-0.20650981, 0.07069638, 0.038973074, 0.09843876, 0.068253726, 0.09169397, 0.10435845, -0.0691921, 0.051520117, -0.037182227, 0.04543112, 0.075975135, 0.12886383, -0.062047563, 0.09874315, 0.009082724) * go_2(0.0, -1.0); - result += mat4(-0.079879194, -0.079275034, -0.056224998, 0.19465743, 0.08354674, -0.12681249, -0.064639136, 0.11830915, -0.23791347, 0.011471329, -0.028716747, 0.090518124, -0.14705297, -0.14800677, 0.040497895, 0.2106043) * go_2(0.0, 0.0); - result += mat4(-0.10478849, 0.14821102, 0.006451715, -0.0054948176, -0.21951425, 0.058777, -0.055765983, -0.017423972, -0.03932819, 0.03443368, 0.061615612, 0.0059949807, 0.117751196, 0.06963176, -0.056414824, -0.023910165) * go_2(0.0, 1.0); - result += mat4(0.07807272, -0.032261666, 0.021192279, -0.11579501, 0.0188122, 0.017952453, 0.06170359, -0.021977829, 0.16133995, -0.13010149, -0.16331437, -0.010100977, 0.050390303, 0.055919446, 0.033072688, 0.025785616) * go_2(1.0, -1.0); - result += mat4(-0.022184338, -0.14055336, -0.095062464, -0.0041828197, -0.025712729, 0.031116307, 0.036420126, -0.09461098, -0.12736198, 0.03323538, 0.070970595, 0.11801352, -0.025641473, -0.04504696, 0.0030125964, -0.091391) * go_2(1.0, 0.0); - result += mat4(0.04494935, 0.10812193, 0.080031045, 0.018296331, 0.018970827, -0.052274104, -0.0689094, -0.019235257, 0.02062231, -0.082279414, -0.0175502, 0.017041082, 0.06990016, 0.06712624, 0.023160413, -0.057801697) * go_2(1.0, 1.0); - result += mat4(0.049425572, -0.02474476, 0.07820988, 0.05521917, 0.052971717, -0.007768393, -0.001464341, -0.2064974, -0.03196784, 0.02195545, 0.12278798, -0.11918513, 0.06497295, 0.022542082, 0.08465838, -0.21600927) * go_3(-1.0, -1.0); - result += mat4(0.07904455, -0.00799822, -0.07466292, 0.012005663, -0.17555022, 0.1637635, 0.063736685, -0.0021971513, 0.08062457, -0.08926104, -0.052941434, 0.12072748, 0.15161732, -0.010707747, -0.052357092, -0.1074367) * go_3(-1.0, 0.0); - result += mat4(-0.023624638, -0.022204673, 0.021252679, 0.016148455, -0.00191494, -0.00606788, -0.017119512, -0.13170989, -0.11873442, 0.067021996, 0.005754373, 0.042165596, -0.19932863, 0.0850464, -0.010264557, 0.16757919) * go_3(-1.0, 1.0); - result += mat4(0.0379892, 0.052664872, -0.12167355, 0.2524495, 0.08369987, -0.07664706, 0.007957599, -0.04493479, 0.036094286, 0.042244308, 0.09976276, -0.1014558, 0.00077894697, 0.02168721, 0.13530052, 0.07524451) * go_3(0.0, -1.0); - result += mat4(-0.0307444, 0.06874138, 0.10381962, 0.0039765453, 0.19239871, -0.115774564, -0.039901294, 0.13674201, 0.23891816, -0.26257655, -0.13401362, -0.0026337842, 0.14189234, -0.16459025, -0.07943012, -0.024599468) * go_3(0.0, 0.0); - result += mat4(0.10089985, -0.065910965, -0.060871962, 0.020102434, 0.10416804, 0.0026375954, 0.00017099817, 0.07224531, -0.050626464, 0.05784554, -0.04115028, 0.03422795, 0.0849365, 0.07881633, -0.04332016, 0.012389496) * go_3(0.0, 1.0); - result += mat4(0.0968923, -0.11488315, -0.33647102, -0.07759128, -0.065646835, 0.08871705, 0.06547451, -0.052951876, 0.031025445, 0.05321443, 0.0861705, -0.01150282, -0.017868344, 0.05863463, -0.048652783, -0.00302825) * go_3(1.0, -1.0); - result += mat4(-0.08623984, 0.030496845, 0.13282211, 0.036924344, -0.051652618, 0.045645814, -0.04972949, -0.06819525, 0.07043929, -0.03750826, -0.061573654, -0.02713896, -0.02949009, -0.15784396, 0.04846532, -0.01809239) * go_3(1.0, 0.0); - result += mat4(-0.055429317, 0.020174243, 0.056924883, 0.015847506, -0.020308318, 0.006933419, 0.055292472, -0.08543373, -0.04522778, 0.015520184, 0.049334437, -0.06302532, -0.033106968, 0.07696187, -0.028078254, -0.07835302) * go_3(1.0, 1.0); - result += mat4(0.06727477, -0.015105682, 0.037172996, 0.040687807, -0.13228765, -0.029248675, -0.14732817, -0.023869514, -0.0059372024, -0.08419329, 0.051801164, -0.014700099, -0.13818024, -0.07835987, -0.05691042, 0.16196246) * go_4(-1.0, -1.0); - result += mat4(-0.067745954, 0.050429884, 0.015547787, 0.028301466, 0.065669335, -0.0015817108, 0.0043691727, 0.14655195, 0.11468205, 0.05447307, -0.018185347, -0.044705737, -0.071984716, -0.116617225, -0.13028212, 0.040051438) * go_4(-1.0, 0.0); - result += mat4(0.07309806, -0.05016123, 0.014905728, -0.054026593, -0.14251226, -0.068813756, -0.046204448, 0.033708956, 0.07477926, -0.07824067, -0.06448796, 0.0962089, -0.091852166, 0.033222884, 0.05655323, -0.07739394) * go_4(-1.0, 1.0); - result += mat4(0.07736231, -0.024777608, -0.1293071, 0.013133082, -0.07063114, 0.1109699, 0.101938464, -0.08170503, -0.03952933, 0.020189505, 0.10726348, -0.0038012264, -0.10198266, 0.074299835, -0.027496899, -0.016759772) * go_4(0.0, -1.0); - result += mat4(-0.14961888, 0.1258593, -0.0052209287, 0.039395887, 0.12711245, 0.0013706739, -0.08743356, -0.08160573, -0.1520503, 0.24310453, -0.03702458, -0.09234655, 0.06342837, -0.10495964, -0.038142283, 0.013867651) * go_4(0.0, 0.0); - result += mat4(0.08367, 0.0056849197, 0.029983053, 0.058390055, -0.019536944, 0.0028544245, 0.011593604, -0.051143557, -0.05816587, 0.027562857, -0.0017863734, -0.08943097, -0.093870126, -0.028033571, -0.054928187, 0.08027421) * go_4(0.0, 1.0); - result += mat4(0.033707395, -0.044078007, -0.053134337, 0.0507039, -0.09321825, 0.012356747, 0.0040974314, -0.003692714, 0.069862105, -0.18684517, -0.0284769, -0.006533823, 0.04286592, 0.03399364, 0.12019272, 0.02192102) * go_4(1.0, -1.0); - result += mat4(-0.023521578, 0.053177245, 0.03841634, 0.04009258, -0.05288018, 0.03800796, -0.027160875, -0.022709413, -0.012118504, 0.11544428, -0.064255424, -0.047267172, 0.031934835, -0.058591012, -0.12601322, -0.04370528) * go_4(1.0, 0.0); - result += mat4(-0.056990914, -0.010060407, -0.07240389, 0.06684859, 0.0032037962, -0.07508207, 0.069522485, -0.01681518, 0.013611935, -0.16260943, 0.027228389, 0.10390345, -0.014050312, -0.0047456035, 0.042484682, 0.047142867) * go_4(1.0, 1.0); - result += mat4(-0.019846022, 0.063520834, 0.017347157, -0.13179752, 0.007603209, -0.028248534, -0.028568985, 0.093736105, -0.17765392, 0.05268901, -0.0186878, 0.033344116, 0.024792168, 0.017350389, -0.0081479745, 0.06272762) * go_5(-1.0, -1.0); - result += mat4(0.0059420844, -0.1867459, -0.018476382, 0.052615725, 0.02969877, -0.04300831, 0.09686539, -0.055483308, 0.13513166, -0.1240312, 0.007219588, 0.15463871, -0.011168133, 0.060228556, 0.052193474, 0.008193267) * go_5(-1.0, 0.0); - result += mat4(-0.1624262, 0.114470325, -0.0026692473, 0.072655715, 0.022212451, -0.105359286, 0.003962184, 0.059404753, -0.062533595, -0.0073033636, 0.032570038, 0.07631924, -0.037281662, 0.052920066, -0.10017278, 0.20030634) * go_5(-1.0, 1.0); - result += mat4(-0.017912557, 0.082836725, 0.11956426, 0.031851728, 0.026227003, 0.1358852, -0.00038559595, -0.03953659, 0.012969185, 0.058900252, 0.00449276, -0.11351474, 0.0055319364, -0.027457854, -0.16637279, 0.018961368) * go_5(0.0, -1.0); - result += mat4(0.05881227, -0.12862639, 0.009855859, -0.07688508, 0.04652196, -0.0533903, -0.007106217, 0.018683957, -0.07146832, -0.11476164, -0.103965536, 0.07516234, -0.019355783, 0.007153188, 0.041109473, -0.18096745) * go_5(0.0, 0.0); - result += mat4(-0.04096085, -0.0120420605, -0.07280902, -0.047139794, -0.047899578, 0.16604978, -0.053028557, 0.011966148, -0.184552, -0.002035077, 0.0024748729, -0.09468539, 0.094834864, -0.051123336, 0.026882114, -0.066742696) * go_5(0.0, 1.0); - result += mat4(0.038528133, -0.033147186, -0.02949031, -0.02029768, -0.040530026, -0.015674416, 0.09512282, 0.018635508, -0.067790225, -0.02075488, 0.043550573, 0.1306589, 0.086521745, -0.058867045, -0.036897544, -0.007429917) * go_5(1.0, -1.0); - result += mat4(-0.020455752, 0.036337826, 0.08651425, -0.063962474, -0.06910245, -0.08926637, -0.08221216, 0.023650987, 0.0064421804, -0.051710796, 0.03269987, 0.03594872, -0.09746091, 0.064322695, 0.09333605, 0.04992705) * go_5(1.0, 0.0); - result += mat4(0.03991011, 0.0053357375, -0.014087123, 0.017906683, -0.043873426, -0.008717143, 0.023789125, 0.08014774, 0.08554654, 0.010068118, -0.015257393, -0.014789898, -0.031751424, -0.05767671, 0.012219075, -0.02111906) * go_5(1.0, 1.0); - result += mat4(0.0141180735, -0.010895809, 0.052282777, 0.097730994, 0.015570911, -0.05456141, 0.047802925, -0.024732279, 0.08743008, -0.0649473, 0.09175468, -0.09115185, 0.05110333, -0.030661354, 0.043550953, -0.027077332) * go_6(-1.0, -1.0); - result += mat4(0.069662735, 0.014375632, -0.025021026, -0.08532459, -0.1172516, 0.08657796, -0.017789776, 0.057316136, -0.019252973, -0.11636445, -0.121823244, 0.076532796, 0.025541514, -0.117330685, 0.009741623, -0.13352062) * go_6(-1.0, 0.0); - result += mat4(0.07859826, -0.03841275, 0.026950957, 0.012414173, -0.15537256, 0.048285972, -0.036940835, 0.078606136, 0.12113207, 0.0019378428, 0.0036203277, -0.109209254, -0.14025345, 0.014132115, 0.049628686, 0.02013767) * go_6(-1.0, 1.0); - result += mat4(-0.018229844, 0.009986906, -0.0020206913, 0.06816855, 0.12637497, -0.012840852, -0.098092966, 0.0066382973, -0.080831006, 0.08936906, 0.061671916, -0.025697216, 0.06976024, 0.07710459, 0.025804073, 0.09451786) * go_6(0.0, -1.0); - result += mat4(0.13568228, -0.07880537, -0.0030531003, -0.18527938, -0.12759425, -0.031123286, 0.1039914, -0.05713946, -0.022119742, 0.044847313, -0.049640287, 0.29528186, -0.011861515, -0.056314517, 0.12202725, 0.03458099) * go_6(0.0, 0.0); - result += mat4(-0.31482193, 0.15610562, 0.011000054, 0.22054587, 0.16342026, 0.046199072, -0.069771886, 0.052295752, -0.08888668, -0.030175507, -0.043750275, 0.07468628, -0.1403002, -0.08709627, -0.16045636, 0.17453533) * go_6(0.0, 1.0); - result += mat4(-0.15869538, -0.041802768, 0.07982854, 0.10661079, -0.026911188, 0.033564463, -0.028775161, 0.1129868, -0.13782723, -0.030502934, -0.029017925, 0.16539475, 0.15872754, 0.0072790803, 0.0005220163, -0.16314733) * go_6(1.0, -1.0); - result += mat4(0.08336712, 0.013299961, -0.004736551, -0.12530428, 0.068627216, -0.038133577, 0.07625137, -0.13831565, -0.12425708, 0.012594521, 0.048374295, -0.09718588, -0.12617798, -0.15565023, 0.025003273, 0.063952625) * go_6(1.0, 0.0); - result += mat4(-0.09114798, -0.107948475, -0.008782385, -0.012404769, -0.047347188, 0.06744946, -0.029818984, 0.037601177, 0.0022323371, 0.0120422365, -0.027577981, -0.056484457, 0.03623973, 0.11577824, -0.05978022, -0.11340042) * go_6(1.0, 1.0); - result += mat4(0.07920609, 0.049682815, -0.09747983, 0.032554645, -0.053569455, -0.00999872, -0.069765046, 0.065798655, 0.0055020596, -0.02180595, 0.097490765, 0.056493532, -0.028652878, 0.007181037, 0.047301996, 0.041324418) * go_7(-1.0, -1.0); - result += mat4(-0.070817575, 0.016761765, 0.10452257, -0.059046734, 0.004419305, 0.030409766, 0.0064111007, 0.13009071, -0.063529834, 0.014894562, -0.1425434, 0.06799876, 0.10536852, 0.16146809, 0.11159344, -0.24632217) * go_7(-1.0, 0.0); - result += mat4(0.04417992, -0.021688385, 0.014431484, 0.021390032, -0.012122509, 0.022933502, -0.13032858, -0.025157295, 0.054504506, 0.054097243, 0.054826245, 0.15188119, -0.034925304, 0.10371481, -0.07059149, -0.0050918995) * go_7(-1.0, 1.0); - result += mat4(0.19140609, -0.05802228, 0.094347574, -0.12581742, -0.0625323, 0.022887295, 0.06422475, 0.03780498, 0.09092349, -0.015626192, 0.07367314, -0.058542114, 0.06868667, -0.035847936, -0.024409411, 0.1747349) * go_7(0.0, -1.0); - result += mat4(-0.30528593, -0.10157623, -0.12546054, 0.39260107, 0.09250387, -0.0030448753, -0.007666954, -0.21076955, 0.1802103, 0.056665543, 0.02010969, -0.08567675, 0.04852171, -0.00719571, 0.12876126, -0.020769617) * go_7(0.0, 0.0); - result += mat4(-0.07077291, 0.09790252, -0.039679084, 0.035164144, 0.03944513, 0.09567806, 0.06502516, 0.08660869, -0.045210075, 0.024901882, -0.034987845, 0.03644262, 0.13453478, -0.10065292, -0.10663197, 0.17999896) * go_7(0.0, 1.0); - result += mat4(0.11361161, 0.049233153, 0.17776433, -0.11848224, -0.12014295, -0.048427843, -0.038806908, 0.0044329837, -0.015402301, 0.06310864, 0.103736125, 0.088702485, 0.018769085, -0.03721601, 0.08529103, 0.07698302) * go_7(1.0, -1.0); - result += mat4(0.2228605, -0.16978644, -0.084252514, -0.030923214, -0.07607342, 0.062837236, -0.072185166, 0.033597596, 0.056401767, -0.118337765, -0.038241208, -0.056982394, -0.2012854, 0.12231061, -0.008026072, -0.109389454) * go_7(1.0, 0.0); - result += mat4(0.0015117185, 0.05613352, -0.06825942, 0.009839623, 0.042997725, -0.07901763, 0.029729009, -0.0028087173, -0.08048221, 0.035971392, -0.054953404, 0.06957555, -0.002079063, -0.033700537, 0.019343253, 0.031806916) * go_7(1.0, 1.0); - result += mat4(-0.07396316, -0.012248619, 0.033239935, 0.14771299, -0.069767915, 0.12465951, 0.008810514, -0.04538992, -0.028040458, 0.024957748, 0.033437315, -0.021906354, -0.019794602, -0.0068365987, 0.04044681, 0.078028694) * go_8(-1.0, -1.0); - result += mat4(0.06884948, 0.07350869, -0.074930884, -0.007918249, -0.03207752, -0.09060679, -0.03723486, 0.13875768, 0.063804045, -0.019163225, -0.058482785, -0.003301451, 0.03025363, 0.031453874, 0.023407444, 0.10760923) * go_8(-1.0, 0.0); - result += mat4(-0.082054876, -0.0019968427, 0.07620411, -0.029166577, 0.08874712, 0.18888156, -0.030155689, 0.054525856, 0.052349947, -0.003841255, 0.082797535, -0.1112327, -0.11962874, -0.010657527, -0.06920624, 0.12807392) * go_8(-1.0, 1.0); - result += mat4(-0.04174062, -0.11311825, -0.043029234, -0.005712201, -0.07848321, -0.09407437, -0.036250837, 0.02130589, -0.046314713, 0.030492928, -0.028527915, 0.088576436, 0.05369699, 0.05489917, -0.03764619, -0.15915689) * go_8(0.0, -1.0); - result += mat4(-0.046594873, 0.20227629, 0.040293384, -0.08287198, -0.005414862, -0.28493062, -0.04951152, -0.031801622, 0.11361959, -0.14512685, -0.0513244, 0.014590199, 0.06330705, 0.06599253, -0.0758426, -0.024604654) * go_8(0.0, 0.0); - result += mat4(0.045725603, -0.16616176, 0.008172408, -0.16198505, -0.109427124, -0.04342513, 0.095679626, -0.021264061, -0.036292598, 0.052533228, 0.034383826, 0.13430162, 0.012503482, -0.16574247, 0.0145925265, -0.12279197) * go_8(0.0, 1.0); - result += mat4(0.059712145, 0.03292878, -0.06478352, -0.04920082, -0.12868343, -0.017725367, -0.029865744, 0.06404541, -0.061571013, 0.052956223, 0.04353032, 0.093550734, 0.12689152, -0.08983797, -0.022431724, -0.08593952) * go_8(1.0, -1.0); - result += mat4(0.03359343, 0.048530146, 0.09413768, 0.11177407, 0.04880107, 0.24067947, 0.011833709, -0.078301296, -0.042119082, -0.034178667, 0.061119724, -0.120325305, -0.0983844, 0.13863018, 0.009808043, 0.1421859) * go_8(1.0, 0.0); - result += mat4(-0.010974268, -0.1115841, -0.054475926, -0.0034415766, 0.026416495, -0.01970317, 0.03224585, -0.058208283, -0.11544842, -0.0020619717, -0.08399764, 0.0026783822, -0.1718955, -0.041662555, -0.015576194, 0.06694191) * go_8(1.0, 1.0); - result += mat4(0.00800654, 0.033414684, 0.0059746862, -0.063755505, -0.10903599, 0.008542795, -0.037268512, 0.16888456, 0.056287125, -0.03404509, -0.09667668, 0.104763724, -0.008024127, -0.04937347, -0.10452099, 0.10492107) * go_9(-1.0, -1.0); - result += mat4(0.06546199, -0.031890426, 0.069498874, -0.078704424, 0.25283763, -0.14762846, 0.04530997, -0.045402203, -0.12743446, 0.11075257, 0.07440054, -0.06769535, -0.18811068, 0.25209752, 0.08396347, -0.028190762) * go_9(-1.0, 0.0); - result += mat4(-0.058439903, 0.05627421, -0.021890977, -0.037036832, -0.114436746, -0.08907827, 0.044764686, 0.01914178, 0.1590001, -0.07434893, 0.02097053, -0.07084182, 0.1515443, -0.2537095, -0.0027643284, 0.084454305) * go_9(-1.0, 1.0); - result += mat4(-0.076359995, -0.0627694, 0.018656332, 0.04576309, -0.11114888, 0.10748641, 0.0005612302, -0.07483226, -0.123604506, -0.01065677, -0.12491006, 0.17782594, -0.042662233, -0.13512325, 0.002357882, 0.041785236) * go_9(0.0, -1.0); - result += mat4(0.044498313, -0.034588944, -0.060735952, 0.10017004, 0.1829563, -0.110846855, -0.0071944734, -0.21084824, -0.09436389, 0.075625, 0.11743136, 0.082467705, -0.12590492, 0.16034272, -0.027081264, 0.12026207) * go_9(0.0, 0.0); - result += mat4(0.023862181, -0.039685655, -0.03180271, -0.07354787, -0.004479257, 0.10744732, 0.009859138, -0.012063299, -0.022220258, 0.047518592, 0.033523124, -0.0649853, -0.07418109, -0.0014141474, 0.050895244, -0.11969986) * go_9(0.0, 1.0); - result += mat4(-0.13460042, -0.005373036, 0.031577356, -0.059198633, 0.14659238, -0.03347293, 0.02293272, 0.01125362, 0.038268805, -0.023691624, -0.056778222, 0.046417404, 0.043189395, 0.061058786, -0.03529992, -0.0040747337) * go_9(1.0, -1.0); - result += mat4(-0.009540408, 0.026412092, -0.021290602, 0.05017281, -0.1377568, -0.030549733, -0.015086134, 0.011051821, -0.008516101, -0.019729864, 0.040555786, -0.0020136, -0.017682496, -0.04843083, 0.04729837, 0.019968264) * go_9(1.0, 0.0); - result += mat4(0.09082752, 0.0026033274, 0.028575374, -0.025889728, -0.050833948, 0.013812897, -0.04887108, 0.09218356, 0.022451764, 0.037223153, -0.027608475, 0.085869305, 0.12708172, -0.051653415, -0.024209773, 0.010738581) * go_9(1.0, 1.0); - result += mat4(-0.0878504, -0.002425818, -0.058977496, 0.06816431, -0.039408945, 0.039009362, 0.05321227, 0.029558498, 0.011840146, 0.07260068, -0.057486057, -0.06833475, 0.09252713, -0.0047036964, -0.034099206, 0.015589183) * go_10(-1.0, -1.0); - result += mat4(-0.28815338, -0.00087825046, 0.0071661393, 0.16078453, -0.1556803, 0.11429835, 0.050905548, 0.13695535, 0.019274501, -0.0524514, -0.03422561, 0.073096104, -0.116625205, 0.044406146, 0.010334628, -0.030600524) * go_10(-1.0, 0.0); - result += mat4(0.10218649, -0.08387807, 0.092632025, -0.08798674, 0.10308468, -0.056788463, -0.02508743, -0.1875314, -0.04963394, -0.02515536, 0.016212277, -0.11503518, -0.0781842, 0.06420591, -0.108524114, 0.17282988) * go_10(-1.0, 1.0); - result += mat4(0.003542966, 0.019591188, -0.08079507, -0.11198943, 0.01007831, -0.2011082, 0.067526735, -0.047118634, -0.10812045, -0.059538897, -0.045146156, 0.13073483, 0.05126951, -0.02858464, -0.004749588, -0.031439688) * go_10(0.0, -1.0); - result += mat4(0.072345056, -0.09738051, 0.08760573, -0.022531908, -0.047364343, -0.17568587, -0.2608395, 0.045407616, -0.07019225, -0.13740852, 0.058587123, 0.18292065, 0.09621877, -0.020006223, 0.15761665, -0.13615946) * go_10(0.0, 0.0); - result += mat4(-0.1718546, -0.01606792, -0.13376851, -0.101972945, 0.0070967157, 0.04433216, 0.11647199, 0.14794576, 0.030467365, -0.009967707, 0.032096114, 0.088179365, 0.04789371, -0.02212034, -0.0864584, -0.014849047) * go_10(0.0, 1.0); - result += mat4(-0.06263458, 0.049204566, 0.0074049286, 0.08565975, -0.110386156, 0.12832628, 0.09386574, 0.049480855, -0.0016362247, 0.074590564, 0.0054266076, -0.045816354, -0.05795489, -0.016349988, -0.031305015, 0.05890967) * go_10(1.0, -1.0); - result += mat4(-0.0501839, -0.05510687, -0.028112158, -0.11355264, -0.05924529, -0.08571114, -0.013579364, 0.017053023, 0.0010346711, -0.046210892, -0.0037062326, 0.029555755, -0.05744646, 0.12624447, 0.1155726, 0.089930065) * go_10(1.0, 0.0); - result += mat4(0.007059197, 0.009385381, 0.03781498, 0.029385434, 0.019378664, 0.05941773, -0.019638034, 0.042409096, 0.006617822, 0.12051479, -0.029510934, -0.02263101, 0.030360708, -0.019180574, -0.026342172, -0.041857187) * go_10(1.0, 1.0); - result += mat4(0.0818786, -0.032271262, 0.071428634, -0.08608651, -0.04190674, -0.00824319, 0.10103971, 0.0037571234, 0.008354248, -0.042853825, -0.009960182, -0.032470513, 0.032495033, 0.026434308, -0.09047023, -0.0852796) * go_11(-1.0, -1.0); - result += mat4(0.06265211, 0.074583925, -0.3457799, 0.29229483, -0.012138351, 0.06712728, -0.012218277, -0.1310903, -0.053811703, 0.13035119, -0.0029521107, -0.104537845, 0.01667666, -0.13404848, -0.06062046, -0.06467337) * go_11(-1.0, 0.0); - result += mat4(-0.0877269, -0.006120627, 0.015308095, -0.07658341, 0.044869956, 0.110927165, -0.017984338, -0.05883644, 0.10883275, -0.05540534, -0.066199474, -0.035501923, 0.08745832, -0.051100407, -0.012019903, -0.21526352) * go_11(-1.0, 1.0); - result += mat4(-0.15372752, -0.089689255, -0.013654722, 0.06576831, 0.027755309, -0.104312494, -0.028859973, -0.03941162, 0.038844027, -0.05383401, -0.015755473, -0.022027731, -0.022023248, -0.010001586, 0.04700765, -0.08062122) * go_11(0.0, -1.0); - result += mat4(0.28677022, -0.00547834, -0.30174148, 0.029182414, -0.048473436, 0.025972357, 0.055102646, 0.101237364, -0.23414372, -0.08980447, -0.021093715, 0.35020643, -0.01737129, 0.079039715, -0.030023094, 0.30941373) * go_11(0.0, 0.0); - result += mat4(0.00023344456, 0.016616862, 0.20732638, -0.073667265, -0.077047884, -0.1365057, -0.0055750906, 0.18779595, -0.036738984, 0.07126904, 0.107798554, 0.106782034, -0.123831004, 0.026100466, 0.025854755, 0.10167399) * go_11(0.0, 1.0); - result += mat4(0.099524446, -0.022513278, -0.12082586, 0.06544828, -0.007710609, -0.007333112, -0.00392318, 0.02316836, 0.017616706, 0.019067803, -0.020043733, -0.055381116, -0.0026772777, 0.043929495, 0.12632295, -0.055047728) * go_11(1.0, -1.0); - result += mat4(-0.007819067, 0.04826883, -0.031578127, -0.007692658, -0.049392797, 0.10384446, -0.11374874, -0.0072268755, 0.023231281, -0.0048957644, -0.056877382, -0.09215107, 0.26584074, -0.14522901, -0.18154982, 0.006760759) * go_11(1.0, 0.0); - result += mat4(0.049991615, -0.016547658, -0.037466943, 0.011288937, -0.029595152, 0.029153928, 0.03047645, -0.017851416, 0.08244422, 0.015353446, 0.056757286, -0.13458207, 0.06421748, 0.02236419, 0.054289207, -0.021456666) * go_11(1.0, 1.0); - result += vec4(-0.024596691, -0.0062545678, 0.0007283314, -0.0012659894); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 -//!HOOK MAIN -//!BIND conv0ups -//!BIND conv0ups1 -//!BIND conv0ups2 -//!BIND conv0ups3 -//!BIND conv0ups4 -//!BIND conv0ups5 -//!SAVE conv1ups5 -//!WIDTH conv0ups.w 4 * -//!HEIGHT conv0ups.h 4 * -//!COMPONENTS 4 -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) -vec4 hook() { - vec4 result = mat4(0.0063745487, -0.0007792867, -0.042738058, -0.037436318, -0.079708755, -0.00012259462, -0.00846309, -0.07099102, 0.008480126, -0.0030542074, -0.0010532452, 0.027282802, 0.03614228, 0.063927814, 0.08298895, 0.14883359) * go_0(-1.0, -1.0); - result += mat4(-0.043913327, 0.05175728, -0.024351457, 0.092639804, -0.070469886, -0.056282833, 0.08296517, -0.028454183, 0.10892892, -0.2416209, -0.07998606, 0.069041096, -0.09885496, -0.074447066, 0.0743715, -0.06267758) * go_0(-1.0, 0.0); - result += mat4(-0.0466287, 0.042808313, 0.046646457, -0.055874195, 0.026556646, 0.037307512, -0.193923, -0.04722261, -0.22105771, 0.2291367, 0.10317087, -0.040800743, 0.08335437, -0.036194164, -0.02673301, 0.025296532) * go_0(-1.0, 1.0); - result += mat4(0.077883415, 0.0036344659, -0.04539886, -0.02208242, 0.07632768, -0.04959272, -0.06426001, 0.0070829145, -0.04732425, 0.1227861, 0.098132625, 0.06813595, 0.004603961, 0.090626486, -0.007316235, -0.16206303) * go_0(0.0, -1.0); - result += mat4(0.018812757, -0.0040601143, 0.046291944, -0.08953326, -0.038046855, -0.30165517, 0.14755662, 0.25674608, 0.20162594, -0.08197662, -0.04412043, 0.04561127, -0.06381664, -0.083132245, -0.18208097, -0.057978697) * go_0(0.0, 0.0); - result += mat4(0.18392017, -0.13180894, 0.13358793, -0.12673298, 0.008361854, -0.03794045, 0.0182172, 0.07310119, 0.031174706, -0.10738879, -0.09051877, -0.038759686, 0.11055317, -0.06764186, -0.12971549, -0.21843903) * go_0(0.0, 1.0); - result += mat4(-0.027878802, -0.033770774, 0.004135012, 0.0014348059, 0.13187423, 0.12571856, 0.35653323, 0.15917127, -0.07086367, 0.0058684177, -0.028717142, -0.05126073, 0.0858552, -0.0038701096, 0.06486986, 0.1706292) * go_0(1.0, -1.0); - result += mat4(0.047461458, -0.051133662, -0.05918072, 0.048732597, 0.07509672, -0.039692048, 0.11294993, 0.06444664, -0.084600896, 0.084693946, -0.088411525, -0.06429127, -0.034412857, -0.07477924, -0.039438404, 0.10994081) * go_0(1.0, 0.0); - result += mat4(0.043813385, -0.03355967, 0.12004562, -0.07214167, 0.04049014, 0.065712005, 0.059874583, -0.0052600484, -0.039102178, 0.048161536, -0.046630945, 0.029107312, -0.12603328, 0.06698978, 0.048800472, -0.03790199) * go_0(1.0, 1.0); - result += mat4(-0.13815154, 0.0036306242, 0.05594701, 0.028703637, 0.023503067, -0.06798082, -0.10864731, 0.17099892, 0.06743946, -0.06711138, 0.04976667, 0.026404396, -0.064317904, -0.020547949, -0.023411179, -0.07212964) * go_1(-1.0, -1.0); - result += mat4(0.06355028, 0.09087627, -0.1380974, 0.06466648, 0.101927035, -0.07261252, 0.07722075, -0.076868825, -0.0829519, 0.096982665, -0.044867028, -0.12865555, 0.022306003, 0.093384795, 0.08628356, -0.112574585) * go_1(-1.0, 0.0); - result += mat4(0.12697868, -0.15680641, 0.06615788, -0.09147767, -0.027032124, -0.012754192, 0.16841646, 0.14282092, 0.031914305, 0.0021056207, -0.042786058, 0.06905794, -0.011153072, -0.017979706, -0.019408083, 0.10038188) * go_1(-1.0, 1.0); - result += mat4(0.07506389, 0.014463698, 0.055589672, -0.10813673, 0.05260121, 0.055658672, 0.06530625, -0.04693613, -0.10777341, 0.003190049, -0.0789798, -0.06275508, 0.054107405, -0.08667144, -0.110695235, 0.09423636) * go_1(0.0, -1.0); - result += mat4(0.35542598, -0.101242326, -0.097177, 0.16660836, 0.062695846, 0.202753, -0.023997009, -0.09172167, -0.20859563, 0.15195158, -0.07095077, -0.3025826, -0.20547125, 0.14120229, -0.1475369, -0.1316646) * go_1(0.0, 0.0); - result += mat4(-0.04910003, 0.060523994, 0.030391825, -0.17474002, -0.06798995, 0.14241472, -0.004234849, 0.028053937, -0.03238492, 0.04055486, 1.14496315e-05, 0.15962633, 0.04022899, -0.080524124, -0.057549026, 0.089040436) * go_1(0.0, 1.0); - result += mat4(-0.08646099, -0.041137185, -0.17625453, -0.06043204, -0.029830568, -0.15027393, 0.20508385, 0.026146531, 0.09022885, 0.020299576, -0.03171056, 0.023431579, 0.05381302, -0.0009846388, 0.10500912, 0.07882769) * go_1(1.0, -1.0); - result += mat4(-0.07095181, -0.040769625, 0.021771856, 0.04987684, -0.080889665, -0.01363749, -0.044429984, 0.063598044, 0.05566136, -0.06805483, -0.1531462, -0.086804755, 0.16525438, 0.034257393, 0.10718343, 0.025464887) * go_1(1.0, 0.0); - result += mat4(-0.08818966, -0.035108104, -0.0517939, -0.08025052, 0.104291156, -0.13472721, -0.018884793, 0.032870352, -0.029485889, 0.058351766, -0.0891122, 0.0679884, 0.08988102, -0.045231707, 0.05456279, 0.07973376) * go_1(1.0, 1.0); - result += mat4(-0.054200873, -0.05749488, -0.060335156, -0.0070174546, -0.03320484, 0.007284561, 0.062241767, -0.23423609, 0.07866529, 0.00018865404, 0.06323889, 0.016593635, 0.017892467, 0.0076022227, 0.08936624, -0.03216585) * go_2(-1.0, -1.0); - result += mat4(0.00443331, 0.036586914, -0.033402793, 0.058869403, -0.09493461, -2.4481778e-05, -0.25935435, -0.04278253, -0.032751977, -0.08635362, 0.14244005, -0.05706051, -0.141875, -0.025835099, -0.025436234, 0.093893714) * go_2(-1.0, 0.0); - result += mat4(-0.022006746, -0.12542246, -0.041919585, 0.024010304, -0.044745583, 0.051891584, 0.09057894, -0.09249693, -0.0140956845, 0.07693278, 0.11077821, -0.112234056, 0.060011726, -0.1341424, -0.024490716, -0.022049561) * go_2(-1.0, 1.0); - result += mat4(0.073357865, 0.14374368, 0.032296736, 0.055813752, -0.059088297, -0.0776873, -0.0837825, 0.018939182, -0.020854855, 0.06012857, -0.026182968, 0.05838851, -0.04612199, 0.0039347354, -0.2056847, 0.00942296) * go_2(0.0, -1.0); - result += mat4(0.033143513, 0.08560158, -0.09233819, -0.11843655, 0.2588986, -0.019016545, -0.038050834, 0.14959913, 0.29490453, -0.13899505, 0.00692187, 0.16083503, 0.20178594, -0.15832286, 0.5025548, 0.029373756) * go_2(0.0, 0.0); - result += mat4(0.049299765, -0.023143763, 0.035753693, -0.11571463, -0.032259505, 0.01735337, -0.018070314, -0.027346095, -0.08894323, -0.010145846, -0.099678494, 0.026827013, 0.039361052, -0.027096154, 0.047963917, -0.27442294) * go_2(0.0, 1.0); - result += mat4(-0.022731476, 0.022222787, -0.02242159, 0.04784673, 0.021043884, -0.094794825, 0.07444878, -0.08918328, 0.13067421, -0.013499751, 0.3599633, 0.09073782, -0.030868663, 0.016658138, -0.039914962, 0.118787706) * go_2(1.0, -1.0); - result += mat4(0.05229028, 0.077619, -0.013456823, -0.062925436, -0.021547772, -0.020945227, 0.12798133, -0.06800816, -0.1642933, -0.05373, -0.14374378, -0.08865612, 0.07594359, 0.046362855, 0.06098806, -0.17533435) * go_2(1.0, 0.0); - result += mat4(-0.053325575, -0.06618738, 0.092258185, 0.013813888, -0.013511551, 0.018586623, 0.060558353, 0.033038225, 0.0804234, -0.080448896, 0.10994178, 0.13010137, 0.018566165, -0.026298912, 0.07454115, -0.06677481) * go_2(1.0, 1.0); - result += mat4(-0.06553157, 0.029561764, 0.038121503, -0.033325464, 0.04301278, 0.041529298, -0.07182643, -0.06547801, -0.052147005, -0.054911993, -0.07376668, -0.042085964, -0.13869858, -0.0009562848, -0.1677986, -0.09050354) * go_3(-1.0, -1.0); - result += mat4(-0.026388934, -0.07553613, -0.04883736, 0.021428475, 0.03383132, -0.10593641, -0.066881604, -0.005090118, 0.0032761726, 0.19300167, -0.10052442, 0.06032678, 0.12111, -0.024445616, -0.07867298, 0.07155645) * go_3(-1.0, 0.0); - result += mat4(0.009721514, 0.073128454, -0.088024415, 0.01628443, -0.0442564, 0.109464355, -0.09435904, -0.062122736, 0.04394318, -0.1688726, -0.013731302, 0.037493046, 0.019386476, -0.09668388, -0.10622655, -0.12815721) * go_3(-1.0, 1.0); - result += mat4(0.074242115, -0.0962556, 0.04117143, 0.116563916, -0.055528134, 0.055021342, 0.040945325, -0.015926862, -0.1404361, -0.0319657, 0.104573056, 0.08188863, 0.03686817, 0.0144841485, 0.073439375, 0.095169045) * go_3(0.0, -1.0); - result += mat4(0.044269748, -0.0654465, -0.06360807, 0.13392143, 0.08671066, -0.02733015, 0.26534852, 0.18148749, 0.06646011, 0.12437324, 0.072811246, -0.09099741, 0.09972596, 0.08203557, 0.20367464, 0.050712656) * go_3(0.0, 0.0); - result += mat4(-0.039555855, -0.12619838, 0.1251913, 0.11730309, -0.096585676, -0.03017593, -0.021626828, -0.034909043, 0.051999446, -0.085806265, 0.088577345, 0.093352415, 0.14674439, -0.07799078, -0.041970372, -0.1971934) * go_3(0.0, 1.0); - result += mat4(0.21362351, 0.13964944, 0.17664488, 0.07994262, -0.04298111, -0.055893365, 0.07432013, -0.046673983, 0.03183703, -0.060661454, -0.08562127, -0.106442995, -0.08225685, -0.05307681, -0.17313032, -0.09159819) * go_3(1.0, -1.0); - result += mat4(-0.048370186, -0.0066592437, 0.015151771, 0.030198608, -0.09481172, 0.00524109, -0.098136365, -0.099723354, 0.026192533, 0.13190193, -0.024194827, 0.04250573, -0.019045383, 0.13025235, -0.014851418, -0.054181337) * go_3(1.0, 0.0); - result += mat4(0.011557458, 0.037601702, 0.08763924, 0.0869504, -0.003486842, -0.026862262, -0.019816028, -0.03639367, 0.0067470167, -0.090020694, -0.10405717, 0.016274806, 0.015333479, -0.074243136, -0.016609563, -0.1117956) * go_3(1.0, 1.0); - result += mat4(0.04979364, 0.044838257, 0.028794404, 0.11093545, 0.047799177, 0.05084463, 0.114135034, -0.0011649404, -0.088088065, -0.0014219275, 0.07389497, -0.09678158, 0.0078058727, -0.10549564, -0.001520728, 0.0364026) * go_4(-1.0, -1.0); - result += mat4(-0.05554776, -0.045049857, -0.024722561, 0.023318505, -0.0543084, -0.0433695, 0.07476204, -0.0022832763, -0.044149548, -0.05002557, 0.028114058, -0.10989848, 0.16959801, 0.027747577, 0.07406976, 0.035891265) * go_4(-1.0, 0.0); - result += mat4(-0.017785572, 0.1080964, 0.09649037, 0.08921514, 0.10892746, 0.0074067353, 0.01554923, 0.044843663, 0.08894393, 0.0055765617, 0.09712343, -0.17534968, -0.1792565, 0.06397282, -0.12393842, -0.045617543) * go_4(-1.0, 1.0); - result += mat4(-0.0058602905, 0.08962854, 0.045954313, -0.09660418, 0.007873254, -0.06542487, -0.077286646, -0.1065682, 0.024354672, -0.15293619, -0.13352138, 0.023743887, -0.012681726, 0.029547228, 0.0085471505, -0.07479233) * go_4(0.0, -1.0); - result += mat4(-0.014363698, -0.10877507, -0.065034315, 0.016702991, 0.13642493, -0.038959656, 0.093994856, 0.31006256, 0.01945779, -0.2975403, -0.2795097, 0.2229951, -0.035684135, 0.01448137, -0.13233742, 0.28041506) * go_4(0.0, 0.0); - result += mat4(0.0012500056, -0.013534149, 0.037840102, -0.0714859, 0.020398123, -0.02506615, -0.039971814, 0.041849326, -0.041574854, 0.054345634, -0.061291367, -0.104086556, 0.25683582, -0.08909194, -0.13421315, 0.039712757) * go_4(0.0, 1.0); - result += mat4(-0.016294358, -0.075720266, -0.06933325, 0.009308156, 0.043677215, 0.008393981, -0.079269834, -0.11522057, -0.009912892, 0.1973826, 0.019584907, 0.05463361, -0.007812088, 0.0338185, -0.049498174, 0.018130887) * go_4(1.0, -1.0); - result += mat4(-0.032490004, 0.023092022, -0.081377946, 0.11319579, -0.06294841, 0.04647528, -0.022450024, 0.030103367, 0.048844513, 0.022222664, 0.110514775, 0.21295305, 0.02541056, 0.05749753, 0.0411172, -0.06292043) * go_4(1.0, 0.0); - result += mat4(0.09990052, 0.039450414, -0.0028400559, -0.045750353, 0.018121833, 0.09193293, 0.07854626, 0.06200767, -0.04818864, 0.06778936, 0.08142442, -0.020031437, -0.07861012, 0.062728755, 0.07084788, -0.033858463) * go_4(1.0, 1.0); - result += mat4(0.0041939905, 0.03858933, 0.21298268, -0.035919093, -0.00972664, -0.031790286, 0.1148182, -0.06877063, 0.13142376, -0.013594834, 0.05625237, 0.036175527, -0.00027700086, 0.03507905, 0.15655361, 0.11469498) * go_5(-1.0, -1.0); - result += mat4(0.11766081, -0.062469725, 0.115372, 0.20766804, 0.017238794, 0.072592095, -0.022305248, -0.17812113, -0.033571746, 0.12770365, 0.0732858, -0.15343256, 0.14632632, -0.0851429, 0.082450956, -0.09143876) * go_5(-1.0, 0.0); - result += mat4(-0.07768662, 0.019727139, 0.06507619, -0.044201504, -0.13028246, 0.079582825, -0.14439867, 0.052608196, 0.058016825, -0.049292404, -0.051089205, 0.098466404, 0.11736308, -0.06286907, -0.05178662, 0.004182763) * go_5(-1.0, 1.0); - result += mat4(-0.06434399, -0.0144142145, 0.0036737835, -0.078296036, 0.016101742, -0.10816281, -0.024864828, -0.15526062, -0.20179577, -0.057861198, -0.06668159, -0.15398355, 0.039688535, 0.059604753, 0.06659836, -0.021342732) * go_5(0.0, -1.0); - result += mat4(0.01932247, 0.05913243, 0.023716992, 0.1192033, 0.010119863, 0.084485166, -0.167937, 0.30237478, 0.26069483, -0.08774245, 0.14592068, 0.21976785, -0.107107654, -0.1721621, 0.09311312, 0.06292652) * go_5(0.0, 0.0); - result += mat4(-0.05415034, 0.0808041, -0.008303783, 0.20586702, -0.01692017, -0.25203353, -0.017605323, 0.03779029, -0.07196286, 0.09088832, -0.07400969, 0.15470062, -0.08782722, -0.021970563, 0.16524187, 0.17991899) * go_5(0.0, 1.0); - result += mat4(0.02945678, 0.1108453, 0.13907376, -0.008818949, 0.026164224, 0.028387127, 0.074951015, 0.041286442, 0.063239075, -0.010425734, 0.042220425, 0.12178712, -0.0026919479, -0.012526025, 0.07426221, -0.07244218) * go_5(1.0, -1.0); - result += mat4(0.018888094, -0.027421476, -0.09521994, -0.0910266, 0.08984969, 0.1781609, 0.057849456, -0.08679857, -0.12446522, 0.03583829, -0.07132832, -0.07019777, -0.019093536, -0.044786245, -0.017715491, -0.028736247) * go_5(1.0, 0.0); - result += mat4(0.051272597, -0.03435993, 0.0846929, 0.006121176, -0.07048489, 0.020329768, 0.002345223, 0.10049385, 0.1222027, -0.019079372, 0.100720696, 0.06858246, 0.020357663, 0.015401549, 0.09647229, 0.2113563) * go_5(1.0, 1.0); - result += mat4(0.09793321, -0.032736637, -0.033778418, 0.0427711, -0.018325403, -0.029624946, -0.16956969, 0.08746285, -0.041201137, -1.921966e-06, 0.20239599, 0.047037728, -0.015751503, -0.09862459, -0.09956597, -0.07306599) * go_6(-1.0, -1.0); - result += mat4(-0.019140359, 0.015069138, 0.1243063, -0.11431289, -0.033767972, 0.07241787, 0.023162177, -0.21347646, 0.11257902, -0.002713704, 0.29185608, 0.08958405, 0.042017493, 0.1820238, 0.11233973, -0.030039953) * go_6(-1.0, 0.0); - result += mat4(0.105250224, -0.026276553, -0.18249159, 0.014269952, 0.048367403, -0.07756047, -0.08036241, 0.06348654, 0.008540939, 0.021645697, 0.12774457, -0.031423807, 0.08640007, -0.08259026, -0.053230464, 0.13384373) * go_6(-1.0, 1.0); - result += mat4(-0.040785372, -0.0703802, 0.043912467, 0.0036876688, 0.17950775, 0.12889265, 0.010163828, -0.04438625, -0.07173078, -0.071564384, 0.041524716, -0.0056900075, 0.030496567, -0.033834066, 0.074528135, 0.03062304) * go_6(0.0, -1.0); - result += mat4(0.049047, 0.098660305, -0.09576069, 0.080599725, -0.09748591, 0.025746811, 0.14624408, -0.06999254, 0.019927057, -0.15380773, -0.10145102, 0.060255345, -0.20671831, 0.060202025, -0.05630915, 0.07001956) * go_6(0.0, 0.0); - result += mat4(0.08819458, -0.07481746, 0.005553706, 0.21850035, 0.04703321, 0.07601913, 0.04407576, -0.0883864, -0.079423346, 0.028103532, 0.08199459, -0.06395988, 0.23655586, -0.085250065, 0.28176674, 0.09439507) * go_6(0.0, 1.0); - result += mat4(0.02817651, -0.037542865, -0.025534682, -0.050645124, -0.081284225, -0.034356117, 0.0747935, 0.029538535, 0.06617502, -0.12928276, -0.019012596, 0.118354835, -0.03699914, 0.027309496, -0.07489431, 0.0025027825) * go_6(1.0, -1.0); - result += mat4(0.0948845, -0.0016630325, 0.09706788, -0.012232796, -0.03133337, 0.121091716, -0.21574965, -0.015103773, -0.043899152, 0.15655108, 0.0034100953, 0.015065556, 0.20116974, 0.05499755, 0.22701542, -0.08217341) * go_6(1.0, 0.0); - result += mat4(0.048800357, 0.06653084, -0.18589829, 0.012563769, -0.018957462, -0.047451388, -0.06385551, -0.045838624, 0.04963816, -0.031783268, 0.20511268, -0.026773468, -0.0412608, 0.030528571, 0.034454003, 0.06801138) * go_6(1.0, 1.0); - result += mat4(0.12949036, -0.10341053, 0.045348197, -0.019088052, -0.06258587, 0.039844643, 0.10721104, -0.09088664, -0.168669, -0.010242947, 0.09414175, 0.02889639, 0.017148757, 0.01023307, -0.01807265, 0.0062059863) * go_7(-1.0, -1.0); - result += mat4(-0.050841775, -0.03521264, -0.11941009, -0.15829018, 0.025020014, -0.22825278, -0.118360244, 0.11292008, 0.09082519, -0.065328516, 0.119365625, 0.14478958, -0.04490918, 0.022069836, -0.01134399, 0.1360509) * go_7(-1.0, 0.0); - result += mat4(-0.05348278, 0.053270962, 0.16603395, 0.15315029, -0.040175512, -0.0045779836, 0.050114214, -0.2101308, -0.11851012, -0.064030565, 0.1543338, -0.015178684, 0.05188177, -0.008489707, -0.023639014, 0.028634349) * go_7(-1.0, 1.0); - result += mat4(-0.11814241, 0.19169293, 0.020387147, 0.061263412, -0.113587715, 0.091295175, -0.05065951, -0.017393759, 0.13127452, -0.012785729, -0.034082066, 0.024967588, 0.035094306, 0.10820702, 0.0059835743, 0.09977956) * go_7(0.0, -1.0); - result += mat4(0.098021165, -0.48440388, -0.07826628, 0.24096282, 0.04693696, 0.053179827, 0.08569192, -0.0027828075, -0.25533715, 0.15215921, -0.21209684, 0.0022974424, -0.17604887, -0.07811412, 0.17181896, -0.015945317) * go_7(0.0, 0.0); - result += mat4(-0.10116903, -0.13709927, -0.14565074, 0.14524502, 0.012902518, -0.07604275, 0.073249, -0.072335534, 0.08428893, -0.03842417, -0.07586143, -0.08599018, -0.01696442, 0.10226331, 0.006873322, -0.09021642) * go_7(0.0, 1.0); - result += mat4(-0.07202315, -0.055725753, 0.018466022, -0.054664865, 0.098407686, 0.07695216, -0.08607697, 0.0020958942, -0.22666351, 0.01460815, -0.061140377, -0.120087855, -0.01491105, -0.09575372, -0.20842722, -0.028119855) * go_7(1.0, -1.0); - result += mat4(0.06912154, 0.1865499, 0.07794446, -0.10375429, 0.030678669, -0.21935923, -0.064000346, 0.089832716, 0.1305005, -0.012471437, 0.15016906, 0.23327582, 0.05942517, -0.19861731, 0.00557178, 0.06502197) * go_7(1.0, 0.0); - result += mat4(0.0707229, 0.02917113, 0.046409946, 0.12069666, 0.031100512, 0.07081468, 0.028565658, -0.006569887, -0.08003558, -0.03366404, -0.0636477, -0.010306176, 0.10975215, 0.072771594, 0.01108058, -0.15464684) * go_7(1.0, 1.0); - result += mat4(-0.033149756, 0.021336783, 0.08891627, -0.010542647, 0.032133475, 0.03948647, 0.055394996, 0.0401115, -0.13937785, 0.017220195, -0.086987436, -0.0104164155, -0.040626895, 0.039082643, -0.0010420013, -0.010217536) * go_8(-1.0, -1.0); - result += mat4(-0.0026462858, -0.028440155, 0.10645362, 0.01583601, 0.043295156, -0.18574923, 0.04621932, 0.21462579, -0.0011050635, 0.027505064, -0.11916469, 0.03903758, 0.039480023, -0.03888062, -0.1359798, 0.014222117) * go_8(-1.0, 0.0); - result += mat4(0.11923002, 0.09650186, 0.12220145, -0.054355685, 0.08393609, -0.13110332, -0.013952252, 0.12961932, -0.085519604, 0.0062861782, -0.13127424, 0.05967536, 0.1684963, 0.012711087, -0.036004934, 0.07598641) * go_8(-1.0, 1.0); - result += mat4(0.05991126, -0.21150649, 0.06301331, 0.1639654, 0.019272292, 0.15129589, -0.021439642, 0.054623377, 0.028263928, -0.05452834, -0.09441113, 0.003914198, -0.0012116794, 0.16932863, -0.076869816, -0.013230601) * go_8(0.0, -1.0); - result += mat4(-0.07168854, -0.0026968343, -0.019962385, 0.048934907, 0.1330701, 0.06890845, 0.32595265, -0.13091522, 0.15551, 0.14528212, 0.35549134, 0.09404176, 0.1319491, -0.24641864, 0.22220954, 0.037908647) * go_8(0.0, 0.0); - result += mat4(-0.05670342, 0.058992308, -0.08700555, 0.063824736, -0.022280712, 0.12737674, 0.13427903, -0.009832676, 0.07490293, -0.09663777, -0.0808843, -0.011285887, -0.22713223, 0.1807931, 0.031780504, 0.096779495) * go_8(0.0, 1.0); - result += mat4(-0.062936306, 0.07716813, 0.037210975, -0.068869464, -0.013613965, 0.09876833, -0.13039725, 0.031153003, 0.03958403, -0.05987494, 0.092028305, 0.082578026, 0.04601121, 0.023699958, 0.17008962, -0.07798729) * go_8(1.0, -1.0); - result += mat4(0.009502709, -0.18954146, -0.0040290523, 0.024978105, -0.19185285, -0.078261346, -0.051037725, -0.10738402, -0.15012908, 0.08967429, 0.02208922, -0.028586263, -0.11359668, -0.04093872, -0.19832803, -0.09008138) * go_8(1.0, 0.0); - result += mat4(-0.0021957462, 0.077703916, 0.18091153, 0.15745504, -0.06746696, -0.0009624175, -0.19465074, -0.113164335, 0.107428014, 0.015543583, 0.09068426, 0.044336747, -0.05718602, 0.016899232, -0.007787962, 0.006214975) * go_8(1.0, 1.0); - result += mat4(0.016192071, 0.0065788724, 0.13178128, -0.029891249, 0.01793, -0.062080614, 0.12812895, 0.12540786, 0.10859764, -0.022343976, 0.06263314, 0.018931909, 0.23270932, -0.00443309, -0.05874477, -0.041218165) * go_9(-1.0, -1.0); - result += mat4(-0.04134872, 0.07420249, 0.035095736, -0.00753361, -0.02225569, 0.12620689, 0.03925872, -0.14345564, -0.07719634, -0.13519171, 0.15460467, -0.054007106, -0.042473774, -0.2570468, 0.096593596, 0.1748824) * go_9(-1.0, 0.0); - result += mat4(0.0582498, -0.04415511, 0.093417116, -0.019656913, 0.024429727, -0.05744187, -0.17509566, 0.05439422, -0.071622156, 0.25509503, 0.026539553, -0.008000992, -0.12460505, 0.2787321, 0.11660005, -0.114669785) * go_9(-1.0, 1.0); - result += mat4(0.00813603, 0.012284935, 0.015997112, 0.023559658, -0.04184258, -0.05846828, -0.24672638, -0.16972701, 0.104582846, 0.05067416, 0.024527809, -0.055512853, -0.108738616, 0.039031647, 0.29413602, 0.11602779) * go_9(0.0, -1.0); - result += mat4(-0.115588315, 0.032954916, 0.022051262, -0.097993866, -0.122301005, 0.10149678, 0.38072607, 0.13110343, 0.065028585, -0.18068863, 0.010956364, 0.03327227, -0.063414745, -0.064093836, 0.10520882, 0.18004456) * go_9(0.0, 0.0); - result += mat4(0.074331045, 0.14374933, -0.011540407, -0.009023428, 0.04070836, 0.0015697508, -0.10947389, -0.043685, -0.028019518, -0.054812912, -0.03745186, -0.06425059, -0.020111678, -0.14678149, -0.17871724, -0.028139964) * go_9(0.0, 1.0); - result += mat4(0.09382863, -0.0559345, 0.18502472, 0.039847136, -0.098602675, 0.058940943, 0.060397, 0.1090579, -0.043171108, 0.009225665, 0.076014265, 0.06600359, -0.069025286, -0.12755866, -0.08151952, -0.09972273) * go_9(1.0, -1.0); - result += mat4(0.042437445, -0.08610766, 0.012412557, -0.012729554, 0.06767489, 0.11220073, 0.0043995855, -0.048159026, -0.023155706, 0.061050642, 0.1248658, 0.035471372, -0.0085944785, 0.17853464, 0.07001905, 0.032620843) * go_9(1.0, 0.0); - result += mat4(-0.011190795, -0.009232536, 0.020568464, -0.02090738, -0.05601213, -0.045458846, -0.14329393, 0.039078347, -0.059857786, 0.027894745, 0.094557434, 0.09908327, 0.072774865, 0.079140365, 0.074037515, 0.18820073) * go_9(1.0, 1.0); - result += mat4(-0.055178456, -0.108998105, 0.11031077, -0.08483606, 0.0461179, -0.059772927, -0.01268656, 0.12520863, -0.03363989, -0.14202459, -0.0024368868, 0.02084018, 0.09279162, 0.037076775, 0.06604867, 0.050698) * go_10(-1.0, -1.0); - result += mat4(0.20978864, -0.035019856, -0.00034608098, -0.039510887, -0.19036685, -0.03953098, -0.092990436, -0.048863437, 0.017492287, 0.16051625, 0.00925893, -0.11335702, 0.100342646, -0.08887667, -0.021713614, 0.051601768) * go_10(-1.0, 0.0); - result += mat4(-0.12377409, -0.015823433, 0.00031200596, 0.063343585, -0.05924392, 0.06139683, -0.017481023, -0.02552639, -0.07090863, -0.07274602, -0.09458425, 0.13551149, 0.04409636, -0.08054408, -0.10750558, -0.046918966) * go_10(-1.0, 1.0); - result += mat4(0.14069784, -0.033582676, 0.28060883, 0.10515792, -0.06955766, 0.088220574, 0.276067, 0.037613492, 0.20132592, -0.10671446, 0.19333804, 0.13039915, 0.017404474, 0.031228254, 0.017497445, -0.021449111) * go_10(0.0, -1.0); - result += mat4(-0.005962005, 0.0013340953, -0.044992644, -0.079193845, 0.45596102, -0.006363404, 0.47906563, 0.10635877, 0.06462525, 0.119446814, 0.18804319, 0.05395521, -0.22618993, -0.060818445, 0.14673956, 0.04459663) * go_10(0.0, 0.0); - result += mat4(0.013009119, 0.022853654, -0.055127926, 0.15455107, -0.02568115, -0.034558665, 0.07746922, -0.07397856, -0.012987624, 0.09628173, 0.25714996, 0.07570073, 0.02592464, 0.020255214, 0.093313605, -0.06339416) * go_10(0.0, 1.0); - result += mat4(-0.052852754, -0.060524404, 0.14645888, 0.024415344, -0.040342614, 0.045778167, 0.074661806, 0.102500714, -0.034497824, 0.043438397, -0.1647851, 0.044365503, -0.015904559, -0.10940738, 0.061242346, -0.047502533) * go_10(1.0, -1.0); - result += mat4(0.010752677, 0.02639625, 0.006102813, -0.10263914, -0.0706024, -0.05371177, -0.022685172, -0.029835807, -0.010491086, -0.03809897, -0.005010353, 0.005959158, 0.011589781, -0.09526389, -0.19120686, 0.07115724) * go_10(1.0, 0.0); - result += mat4(0.038018346, -0.08529874, -0.022022128, 0.04092595, 0.0068038777, -0.117692105, -0.0750573, -0.033115882, 0.034335747, -0.07324778, 0.00888446, -0.1741596, 0.05086801, 0.013463419, 0.047539454, 0.017536713) * go_10(1.0, 1.0); - result += mat4(-0.14680427, -0.07700759, 0.007881401, -0.050038457, 0.08561921, 0.032363467, -0.12359856, -0.040179014, 0.018873833, -0.055338584, -0.07056974, 0.026064266, 0.004478231, -0.070009105, -0.06602558, -0.11518919) * go_11(-1.0, -1.0); - result += mat4(0.15418334, -0.19991952, -0.111305125, 0.01618693, 0.016036393, 0.04666054, -0.11248929, 0.04884618, -0.07999174, -0.00500438, -0.17620343, 0.08294337, -0.019204969, 0.05723866, 0.09661943, 0.048106834) * go_11(-1.0, 0.0); - result += mat4(-0.10175338, -0.036979925, -0.09948434, -0.11393281, 0.036335517, -0.034092933, 0.026276138, -0.11057483, -0.031784512, 0.051008996, -0.008151175, -0.09900715, -0.08654632, 0.022154614, 0.16989844, 0.040416874) * go_11(-1.0, 1.0); - result += mat4(0.055644203, -0.06247522, -0.12042302, -0.06588449, -0.029313006, 0.063369386, 0.005313317, -0.078869574, 0.036020964, 0.13610545, -0.086595096, 0.06334866, -0.05558311, 0.05096866, -0.025362708, -0.024735406) * go_11(0.0, -1.0); - result += mat4(0.106395036, 0.11939573, 0.17419435, 0.10946423, -0.13557367, -0.14810242, 0.22770609, 0.24247093, 0.35901672, -0.31380647, 0.08585217, 0.054302577, 0.014819529, 0.16313002, -0.21108323, -0.1453257) * go_11(0.0, 0.0); - result += mat4(-0.025664657, 0.104815125, 0.12517323, -0.058977317, -0.0022734813, 0.09907516, 0.14881666, -0.12157569, 0.057049416, -0.14726049, 0.17396985, -0.16762297, 0.04829664, 0.08038126, -0.15234984, -0.07331844) * go_11(0.0, 1.0); - result += mat4(-0.009510854, 0.012665828, -0.009158631, 0.13845311, -0.03874647, -0.025098626, -0.07246145, 0.007974873, 0.041209225, -0.033053156, 0.10144724, 0.02918641, -0.05182773, -0.073455535, -0.07304103, 0.027059708) * go_11(1.0, -1.0); - result += mat4(-0.066271804, -0.01850144, -0.05122738, 0.05515079, 0.0116651775, -0.115036, 0.046978988, 0.04792823, -0.11066483, -0.0016329854, -0.1356012, -0.0557911, 0.21739961, 0.0075342823, 0.07706014, 0.15026504) * go_11(1.0, 0.0); - result += mat4(-0.040344127, -0.07568503, -0.051952433, -0.087089024, -0.03648342, -0.047228005, -0.011045562, -0.15497391, -0.09113286, 0.12720597, -0.023066053, -0.011858544, 0.1337813, -0.15541025, 0.11608175, -0.1311716) * go_11(1.0, 1.0); - result += vec4(-0.01721707, -0.012170086, 0.0505489, 0.0026627572); - return result; -} -//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-3x3x3x48 -//!HOOK MAIN -//!BIND MAIN -//!BIND conv1ups -//!BIND conv1ups1 -//!BIND conv1ups2 -//!BIND conv1ups3 -//!BIND conv1ups4 -//!BIND conv1ups5 -//!SAVE MAIN -//!WIDTH conv1ups.w -//!HEIGHT conv1ups.h -//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * -#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_3(x_off, y_off) (max((conv1ups3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_4(x_off, y_off) (max((conv1ups4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_5(x_off, y_off) (max((conv1ups5_texOff(vec2(x_off, y_off))), 0.0)) -#define go_6(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) -#define go_7(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) -#define go_8(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) -#define go_9(x_off, y_off) (max(-(conv1ups3_texOff(vec2(x_off, y_off))), 0.0)) -#define go_10(x_off, y_off) (max(-(conv1ups4_texOff(vec2(x_off, y_off))), 0.0)) -#define go_11(x_off, y_off) (max(-(conv1ups5_texOff(vec2(x_off, y_off))), 0.0)) -vec4 hook() { - vec4 result = mat4(0.000105486535, 0.0024129828, -0.0022708485, 0.0, 0.013574202, 0.010345938, 0.00784863, 0.0, -0.007809511, -0.011027452, -0.0062737833, 0.0, 0.02135601, 0.009559438, 0.018919725, 0.0) * go_0(-1.0, -1.0); - result += mat4(0.003870496, 0.0053921943, 0.0018628128, 0.0, -0.0019673686, 0.006020094, -0.0022580693, 0.0, 0.0053167837, 0.008673173, 0.0030424776, 0.0, -0.0064796526, -0.0010226313, -0.004501208, 0.0) * go_0(-1.0, 0.0); - result += mat4(0.009178005, 0.0030958971, 0.0031710728, 0.0, 0.017074758, 0.011283044, -0.0027054113, 0.0, -0.0076931966, -0.007390657, -0.005380012, 0.0, 0.0117464345, -0.00081656495, 0.01634393, 0.0) * go_0(-1.0, 1.0); - result += mat4(-0.0013901208, -0.0014430142, 0.004392049, 0.0, -0.0035933089, -0.009103748, -0.0031795155, 0.0, 0.0073691974, 0.0029644563, -0.008706, 0.0, -0.019727807, -0.0077750855, -0.0077580838, 0.0) * go_0(0.0, -1.0); - result += mat4(-0.0033867431, -0.012403984, -0.0028457264, 0.0, -0.017492736, -0.022601021, -0.020653952, 0.0, 0.0008102408, 0.009531224, 0.019545289, 0.0, -0.014228529, 0.0056483247, -0.007034027, 0.0) * go_0(0.0, 0.0); - result += mat4(0.0011407166, 0.004301191, 0.004141301, 0.0, -0.016445443, -0.0055840523, 0.012501234, 0.0, 0.009244355, 0.0036367732, -0.010199576, 0.0, -0.010248205, -0.0044270316, -0.029686518, 0.0) * go_0(0.0, 1.0); - result += mat4(-0.0048066527, -0.008560073, -0.012057793, 0.0, -0.0006861041, -0.002419032, 0.0018601969, 0.0, -0.0031072958, 0.002054702, 0.011177537, 0.0, 0.025133653, -0.014848653, -0.0025808187, 0.0) * go_0(1.0, -1.0); - result += mat4(0.002657154, 0.0052739903, -0.0035658663, 0.0, 0.0011104498, -0.00020694005, -0.0018097968, 0.0, 0.0015326933, -0.011187116, -0.016360259, 0.0, 0.006713121, 0.013296643, 0.0051656775, 0.0) * go_0(1.0, 0.0); - result += mat4(0.0037105181, 0.0030439978, 0.0051093693, 0.0, 0.024659697, 0.035238862, 0.02088231, 0.0, -0.0134438565, -0.012699808, -0.0052391277, 0.0, -0.00031992808, -0.0011912342, 0.016560359, 0.0) * go_0(1.0, 1.0); - result += mat4(0.037620425, -0.0012381362, -0.03697521, 0.0, -0.07391293, -0.11519541, -0.11558761, 0.0, 0.0061569684, 0.008083349, 0.014101799, 0.0, 0.018118458, -0.044182867, -0.01539483, 0.0) * go_1(-1.0, -1.0); - result += mat4(0.010374693, -0.011458423, -0.005078007, 0.0, -0.0108417105, 0.013425283, 0.005921687, 0.0, -0.008598152, -0.0049651987, 0.0042772754, 0.0, -0.054981276, -0.021562934, -0.04626968, 0.0) * go_1(-1.0, 0.0); - result += mat4(0.036591507, -0.029300272, 0.008217224, 0.0, 0.019302698, 0.024048697, 0.032206107, 0.0, 0.0033238046, 0.0006236888, -0.00027334798, 0.0, 0.15616927, 0.16528751, 0.17391057, 0.0) * go_1(-1.0, 1.0); - result += mat4(0.0041804314, 0.042818338, -0.028628353, 0.0, -0.017772267, -0.022852482, -0.00092351716, 0.0, 0.0028122973, 0.0043754634, -0.012493703, 0.0, 0.044071674, 0.17135325, 0.08344256, 0.0) * go_1(0.0, -1.0); - result += mat4(-0.015730295, -0.022133658, -0.0088276295, 0.0, 0.03594072, 0.031424545, 0.029558865, 0.0, -0.0025766017, -0.0031941452, -0.006934576, 0.0, -0.08120338, -0.14408313, -0.08120104, 0.0) * go_1(0.0, 0.0); - result += mat4(-0.003020355, -0.023776509, 0.0318886, 0.0, 0.017390646, 0.024748841, 0.021510301, 0.0, 0.0010485135, -0.004593592, -0.0130662285, 0.0, -0.12709871, -0.18901323, -0.16315864, 0.0) * go_1(0.0, 1.0); - result += mat4(-0.026793743, 0.019052224, 0.007945268, 0.0, 0.021625645, 0.01167958, 0.011501282, 0.0, 0.009187155, 0.012203164, 0.012487501, 0.0, 0.018515088, -0.034214444, 0.007245449, 0.0) * go_1(1.0, -1.0); - result += mat4(-0.048356112, 0.032585137, 0.016628833, 0.0, -0.009424696, 0.009143163, 0.0072305785, 0.0, -0.013190133, -0.017209964, -0.0048382194, 0.0, 0.08615321, 0.066022545, 0.048717145, 0.0) * go_1(1.0, 0.0); - result += mat4(-0.003094086, -0.014091836, 0.02128906, 0.0, -0.0025534998, 0.0039795637, 0.005730377, 0.0, -0.012351262, -0.0035951019, -0.001866602, 0.0, -0.0031523148, 0.060993336, 0.028312644, 0.0) * go_1(1.0, 1.0); - result += mat4(-0.067211024, 0.018117346, 0.02172272, 0.0, -0.12060717, -0.13048805, -0.18819381, 0.0, -0.009267344, -0.023040995, -0.018821778, 0.0, -0.0074834153, -0.005599705, 0.0010651464, 0.0) * go_2(-1.0, -1.0); - result += mat4(-0.04482428, -0.027584204, 0.019120922, 0.0, 0.015697738, -0.017991625, 0.05243968, 0.0, 0.0032531181, 0.0034058641, 0.006302594, 0.0, 0.023441285, 0.04240732, 0.006482481, 0.0) * go_2(-1.0, 0.0); - result += mat4(-0.029443156, -0.020928487, -0.042702794, 0.0, -0.114625975, -0.09111036, -0.08223584, 0.0, 0.0036441141, 0.015505487, 0.0034566305, 0.0, -0.007840559, 0.0019223426, 0.005936239, 0.0) * go_2(-1.0, 1.0); - result += mat4(-0.009682633, 0.024451204, 0.001225467, 0.0, -0.04238923, 0.005312719, -0.024125498, 0.0, -0.025807716, -0.011632962, -0.012518723, 0.0, 0.0030302487, -0.0042384365, 0.0061663035, 0.0) * go_2(0.0, -1.0); - result += mat4(0.09125716, 0.012547131, 0.02577799, 0.0, 0.3009371, 0.27105063, 0.3584709, 0.0, 0.0073393877, 0.010860431, 0.020128256, 0.0, 0.009980971, 0.00203543, 0.009163454, 0.0) * go_2(0.0, 0.0); - result += mat4(-0.0102797905, 0.013840225, -0.01321444, 0.0, 0.16642196, 0.094111755, 0.062201317, 0.0, 0.008975634, -0.0005450874, 0.0043276343, 0.0, 0.0065852865, -0.0057111946, 0.0179401, 0.0) * go_2(0.0, 1.0); - result += mat4(-0.007624216, -0.027890831, -0.03876551, 0.0, -0.09161491, -0.06928367, -0.11084159, 0.0, 0.0036728806, 0.003478277, 0.0026739738, 0.0, -0.023972709, -0.027939724, -0.011343235, 0.0) * go_2(1.0, -1.0); - result += mat4(0.04678878, -0.0014011652, 0.034818515, 0.0, 0.04159763, 0.02346755, -0.05660578, 0.0, -0.015693128, -0.014072758, -0.01821932, 0.0, 0.00036781136, 0.0061064498, -0.013468815, 0.0) * go_2(1.0, 0.0); - result += mat4(0.046441387, -0.004032352, -0.00866282, 0.0, -0.23496382, -0.16854092, -0.11098163, 0.0, -0.00090804783, -0.009814247, -0.0070502586, 0.0, 0.0054719993, -4.7763424e-05, 0.0009498171, 0.0) * go_2(1.0, 1.0); - result += mat4(-0.008547071, -0.0034844312, -0.01383687, 0.0, 0.00018439126, -0.025391571, 0.038513236, 0.0, 0.006514998, -0.007826742, 0.0073904996, 0.0, -0.11494556, 0.09066153, 0.11694875, 0.0) * go_3(-1.0, -1.0); - result += mat4(0.001193028, -0.008591317, -0.010302812, 0.0, -0.012951143, -0.039158262, 0.015616302, 0.0, 0.0030056532, 0.020065665, 0.014755859, 0.0, 0.11651758, -0.034988698, -0.17886443, 0.0) * go_3(-1.0, 0.0); - result += mat4(-0.006736702, -0.015604637, -0.023991482, 0.0, 0.033148214, -0.012093595, 0.022775412, 0.0, 0.0023161646, -0.014543544, -0.002550333, 0.0, -0.06402118, -0.0002744969, 0.10961879, 0.0) * go_3(-1.0, 1.0); - result += mat4(-0.01260143, -0.02033004, -0.0051925094, 0.0, -0.0019942033, -0.05427848, -0.022589765, 0.0, 0.024337402, 0.019046338, 0.0025999434, 0.0, 0.05172929, -0.051797528, -0.008425975, 0.0) * go_3(0.0, -1.0); - result += mat4(0.009494491, 0.009707227, 0.023468107, 0.0, 0.019078689, 0.09676532, 0.00034530537, 0.0, -0.0012998742, 0.008403969, -0.00316442, 0.0, 0.23224525, -0.062056974, -0.12937039, 0.0) * go_3(0.0, 0.0); - result += mat4(-0.016236205, 0.0075674653, 0.013683825, 0.0, -0.03127705, -0.027492099, 0.016047101, 0.0, 0.0014895315, -0.00932134, -0.023848489, 0.0, 0.0012632079, 0.04939885, -0.060500544, 0.0) * go_3(0.0, 1.0); - result += mat4(-0.0059749917, -0.0073130564, -0.014256372, 0.0, 0.024857834, 0.0012045626, -0.03940679, 0.0, 0.015666239, 0.022299662, 0.030967547, 0.0, -0.054168373, 0.00047267403, 0.022316728, 0.0) * go_3(1.0, -1.0); - result += mat4(0.024071146, 0.021451445, 0.023768295, 0.0, -0.036751002, 0.041259706, -0.03728597, 0.0, -0.020002237, -0.00447758, -0.011222878, 0.0, -0.11821115, 0.044186734, 0.09739031, 0.0) * go_3(1.0, 0.0); - result += mat4(0.010017564, 0.01711743, 0.002022642, 0.0, -0.009496902, 0.03907459, -0.034902774, 0.0, -0.023496376, -0.020950336, -0.0028724666, 0.0, -0.023445737, -0.030867081, 0.031921685, 0.0) * go_3(1.0, 1.0); - result += mat4(0.05520921, 0.053506643, 0.074486025, 0.0, 0.01776821, 0.017544165, -0.0027289821, 0.0, 0.015694216, 0.015923556, 0.023370298, 0.0, 0.0039820084, -0.0022940557, 0.012368623, 0.0) * go_4(-1.0, -1.0); - result += mat4(0.045182817, 0.04507073, 0.032575533, 0.0, 0.0040297657, -0.021817733, 0.031968318, 0.0, -0.06459216, -0.08448109, -0.05855625, 0.0, 0.00030484094, -0.0062942286, 0.0057871253, 0.0) * go_4(-1.0, 0.0); - result += mat4(-0.022950409, -0.0045590308, -0.010214247, 0.0, -0.120445415, 0.016175238, 0.038379062, 0.0, 0.04060686, 0.037699424, 0.037170544, 0.0, 0.004240223, -0.012128281, -0.006144387, 0.0) * go_4(-1.0, 1.0); - result += mat4(-0.21705003, -0.22307639, -0.250008, 0.0, 0.03250509, -0.010305343, -0.02125876, 0.0, -0.0019542945, 0.0083857095, 0.0003795997, 0.0, -0.0027912247, 0.017809127, -0.014636573, 0.0) * go_4(0.0, -1.0); - result += mat4(0.0031165818, 0.00437882, -0.0018456044, 0.0, 0.06552606, -0.029007912, 0.0005523247, 0.0, -0.062041137, -0.0879153, -0.082705356, 0.0, -0.009192175, 0.007971402, -0.009911476, 0.0) * go_4(0.0, 0.0); - result += mat4(0.015377011, 0.021092182, -0.0077932924, 0.0, -0.053412728, -0.013991355, -0.040265765, 0.0, 0.013355586, 0.054971218, 0.03677729, 0.0, -0.008426287, 0.009601801, -0.016086644, 0.0) * go_4(0.0, 1.0); - result += mat4(0.17808121, 0.14702342, 0.19162051, 0.0, 0.060080007, -0.009325362, -0.031762112, 0.0, -0.008498972, 0.0037382718, -0.015179071, 0.0, 0.0014030457, -0.01661512, 0.014269256, 0.0) * go_4(1.0, -1.0); - result += mat4(-0.021258635, -0.023630297, -0.017915076, 0.0, 0.042402487, 0.008862233, 0.023242455, 0.0, 0.044531934, 0.029775463, 0.036568474, 0.0, 0.022728102, 0.011285749, 0.007094927, 0.0) * go_4(1.0, 0.0); - result += mat4(-0.029360892, -0.0048307893, -0.008096796, 0.0, -0.00496499, 0.03883344, 0.020856587, 0.0, -0.002741085, -0.014452436, -0.010990915, 0.0, -0.00063735654, -0.01085891, 0.015463494, 0.0) * go_4(1.0, 1.0); - result += mat4(0.0049530137, -0.0044118348, 0.010959749, 0.0, 0.004472406, 0.009187174, 0.004749361, 0.0, -0.003241497, 0.0014512578, 0.0020329119, 0.0, 0.00484375, 0.01460068, 0.007019379, 0.0) * go_5(-1.0, -1.0); - result += mat4(0.005252894, 0.00029243072, 0.019448953, 0.0, -0.015999034, -0.017877292, -8.4357e-07, 0.0, -0.0029767593, -0.0057059284, 0.0074942107, 0.0, 0.0038765662, -0.0072403597, -0.017733458, 0.0) * go_5(-1.0, 0.0); - result += mat4(-0.01049558, -0.013876203, -0.012625591, 0.0, 0.03891471, 0.004890166, -0.030958287, 0.0, 0.004907066, -0.0020591288, -0.0025734978, 0.0, -0.0047403546, 0.0051444722, -0.0015627923, 0.0) * go_5(-1.0, 1.0); - result += mat4(0.0006357483, 0.020062638, -0.0023397952, 0.0, -0.025055263, 0.024269849, 0.0019268384, 0.0, 0.002393126, 0.0035250958, -0.0033111002, 0.0, 0.011524009, -0.012832657, -0.006588478, 0.0) * go_5(0.0, -1.0); - result += mat4(-0.017998967, -0.000584444, -0.018799875, 0.0, 0.076106764, 0.049945213, -0.0558265, 0.0, 0.0063656787, 0.011950068, 0.0016814703, 0.0, 0.0008519462, -0.009005519, 0.00790369, 0.0) * go_5(0.0, 0.0); - result += mat4(0.012599852, 0.01618219, -0.0034803718, 0.0, 0.0049316115, -0.0020757983, -0.012432003, 0.0, 0.0015175013, 0.006784785, 0.0051992857, 0.0, 0.004263454, -0.010194243, 0.009470762, 0.0) * go_5(0.0, 1.0); - result += mat4(0.014990767, -0.006943066, 0.0045915875, 0.0, -0.10213808, -0.033116236, 0.057423726, 0.0, 0.002395428, -0.0010561331, 0.001984031, 0.0, -0.007010948, 0.010538445, -0.0018797354, 0.0) * go_5(1.0, -1.0); - result += mat4(0.018725269, 0.006602652, 0.01936808, 0.0, 0.00290643, -0.033731982, 0.015077303, 0.0, -0.003934389, 0.0005405489, 0.008038224, 0.0, 0.004043942, 0.0032627143, -0.0031985177, 0.0) * go_5(1.0, 0.0); - result += mat4(-0.0024643794, -0.0081168115, 0.000985082, 0.0, 0.03405023, 0.0051342547, 0.014164209, 0.0, -0.0046505444, -0.012192198, -0.0059746793, 0.0, -0.0050326213, 0.016408648, -0.0057005123, 0.0) * go_5(1.0, 1.0); - result += mat4(-0.04706173, -0.022926703, -0.030185789, 0.0, -0.0077118534, 0.004031542, 0.004856771, 0.0, -0.006597402, 0.0020668437, -0.0019678045, 0.0, -0.0073156795, -0.012787221, -0.012821401, 0.0) * go_6(-1.0, -1.0); - result += mat4(0.09865301, 0.07682576, 0.09205235, 0.0, 0.016127344, 0.011068172, 0.0197064, 0.0, 0.0036786462, 0.011421758, 0.006705318, 0.0, -0.018997297, -0.011535163, -0.030655675, 0.0) * go_6(-1.0, 0.0); - result += mat4(-0.014861781, -0.008014831, -0.059904367, 0.0, -0.008302899, -0.0020995424, 0.015048458, 0.0, 0.008985284, 0.0044800313, 0.012001394, 0.0, -0.037118495, -0.086405866, -0.10816778, 0.0) * go_6(-1.0, 1.0); - result += mat4(0.15050909, 0.119645074, 0.13516459, 0.0, 0.0084604295, 0.016525416, 0.010620083, 0.0, 0.020369867, 0.019138863, 0.031115068, 0.0, 0.012024721, 0.030274425, 0.036285117, 0.0) * go_6(0.0, -1.0); - result += mat4(-0.27462438, -0.310252, -0.31710893, 0.0, 0.042528827, 0.047812987, 0.044493362, 0.0, 0.02234971, 0.040688086, 0.03131017, 0.0, 0.05833442, 0.06791647, 0.08331125, 0.0) * go_6(0.0, 0.0); - result += mat4(0.049749754, 0.11778692, 0.16365832, 0.0, 0.0225225, 0.021323524, 0.0035210573, 0.0, -0.0066622207, -0.012952145, -0.01054314, 0.0, 0.016107, 0.0045012943, 0.011679103, 0.0) * go_6(0.0, 1.0); - result += mat4(-0.021555528, 0.011145821, -0.0049750637, 0.0, -0.028949145, -0.045024894, -0.047580075, 0.0, 0.0013904909, -0.0013674475, -0.0105227055, 0.0, -0.03703044, 0.01570922, 0.02064549, 0.0) * go_6(1.0, -1.0); - result += mat4(0.027319964, 0.039980143, 0.056491673, 0.0, -0.0026977404, 0.012383259, 0.007661908, 0.0, -0.017106112, -0.017156936, -0.0106615815, 0.0, 0.020222748, 0.02083489, 0.035353363, 0.0) * go_6(1.0, 0.0); - result += mat4(0.051271953, 0.009694833, -0.0038416488, 0.0, -0.015718514, -0.024900327, -0.009097298, 0.0, 0.0027923114, -0.0017151093, -0.0022432432, 0.0, 0.0022872428, -0.010429248, -0.0181392, 0.0) * go_6(1.0, 1.0); - result += mat4(-0.025478277, 0.01361073, -0.0022686427, 0.0, -0.006248262, 0.004096912, 0.0063837394, 0.0, -0.0019614873, 0.0007515925, -0.002336724, 0.0, -0.011059066, -0.005880466, -0.010802589, 0.0) * go_7(-1.0, -1.0); - result += mat4(0.0059225713, -0.011407604, 0.010512075, 0.0, -0.0050041554, -0.0032832269, 0.004794339, 0.0, 0.031757887, 0.024956895, 0.009227458, 0.0, 0.005438838, -0.0017310621, -0.0038212216, 0.0) * go_7(-1.0, 0.0); - result += mat4(-0.014898649, 0.010369115, 0.0021796224, 0.0, -2.5652813e-05, 0.0059442236, -0.0015612476, 0.0, -0.01013316, -0.012647321, -0.008728524, 0.0, -0.002109095, 0.0006318179, -0.00082120905, 0.0) * go_7(-1.0, 1.0); - result += mat4(0.00341893, 0.006304587, 0.00060052174, 0.0, 0.0024800575, 0.0070764557, -0.008952178, 0.0, 0.041255437, 0.050920103, 0.051867694, 0.0, 0.0048200623, 0.00022566803, -0.0031875211, 0.0) * go_7(0.0, -1.0); - result += mat4(0.017161591, -0.009378748, 0.0036701541, 0.0, -0.0016541632, 0.0038244207, -0.00016950646, 0.0, 0.016582362, 0.019209225, 0.03667747, 0.0, 0.004404724, -0.002670751, 0.009977147, 0.0) * go_7(0.0, 0.0); - result += mat4(0.006690477, 0.008557644, 0.0073140776, 0.0, -0.004647655, -0.0032306341, -0.008620772, 0.0, -0.0076844427, -0.01342857, 0.0067478605, 0.0, -0.0090228, -0.010585969, -0.009984135, 0.0) * go_7(0.0, 1.0); - result += mat4(-0.001956184, -0.006917783, -0.015233173, 0.0, -0.004261963, -0.013595451, -0.0092541855, 0.0, -0.028828345, -0.027626967, -0.020593904, 0.0, -0.0020136125, 0.004573403, 0.0020614942, 0.0) * go_7(1.0, -1.0); - result += mat4(0.009494984, -0.012129607, -0.0018124013, 0.0, 0.00037371722, -0.0046847686, 0.0036133695, 0.0, -0.08961846, -0.08246162, -0.114471205, 0.0, 0.0046280758, 0.00063424936, -0.005647913, 0.0) * go_7(1.0, 0.0); - result += mat4(-0.002144247, -0.006831682, -0.004889928, 0.0, 0.0013089051, -0.0040246192, -0.002831742, 0.0, 0.05096865, 0.039355386, 0.039036866, 0.0, -0.0030425042, 0.0063056643, 0.0062971213, 0.0) * go_7(1.0, 1.0); - result += mat4(0.025361786, 0.004035193, -0.0028225796, 0.0, -0.004232574, -0.0035658241, 0.0021465644, 0.0, -0.012053769, -0.0070899376, 0.0025217172, 0.0, 0.00035528227, 0.0026417011, -0.0090203155, 0.0) * go_8(-1.0, -1.0); - result += mat4(-0.012506347, 0.0143124955, -0.01475725, 0.0, -0.0030933334, -0.0028272325, -0.01177318, 0.0, -0.0060547628, -0.005313569, -0.021205021, 0.0, -0.0044727162, -0.010677954, 0.02365087, 0.0) * go_8(-1.0, 0.0); - result += mat4(0.026648816, 0.0062886197, 0.013951058, 0.0, -0.0032456762, -0.0033997137, 0.00024707342, 0.0, 0.0014626492, -0.00835827, 0.008558773, 0.0, 0.020372026, 0.0065741003, 0.010505262, 0.0) * go_8(-1.0, 1.0); - result += mat4(0.00017674098, -0.009760521, 0.018675998, 0.0, -0.007052272, -0.0011848108, -0.004863736, 0.0, 0.0012898372, -0.0075971996, -0.009661746, 0.0, -0.008158695, -0.008880015, -0.00733229, 0.0) * go_8(0.0, -1.0); - result += mat4(-0.0182602, -0.011715669, -0.017855063, 0.0, 0.009018692, 0.006732858, 0.009499318, 0.0, 0.033385362, 0.04522244, 0.041749697, 0.0, -0.08317306, -0.09648336, -0.10567743, 0.0) * go_8(0.0, 0.0); - result += mat4(-0.0043141707, -0.019488264, 0.0040918137, 0.0, -0.01087478, 0.0012856841, -0.0030566782, 0.0, 0.007192342, 0.00654908, -0.0066080447, 0.0, -0.014165422, -0.0016966269, -0.024392638, 0.0) * go_8(0.0, 1.0); - result += mat4(0.01216089, 0.014149384, 0.01742211, 0.0, 0.003924372, -0.0039287372, 0.004061173, 0.0, 0.009022624, -0.0004619198, 0.0026475685, 0.0, 0.026940938, 0.024914106, 0.003418757, 0.0) * go_8(1.0, -1.0); - result += mat4(-0.02952131, -0.0045428053, -0.026432447, 0.0, 0.011610402, 0.008185513, 0.0039038714, 0.0, 0.03713648, 0.0395391, 0.030475812, 0.0, 0.00089649396, 0.0070916326, 0.022228051, 0.0) * go_8(1.0, 0.0); - result += mat4(0.001587467, 0.024500055, 0.01973232, 0.0, 0.0035265072, -0.0030997552, 0.0027370586, 0.0, -0.023047464, -0.0122122895, -0.008501983, 0.0, -0.0068462375, 0.0022843033, 0.003795816, 0.0) * go_8(1.0, 1.0); - result += mat4(0.016789248, 0.01254996, 0.02210503, 0.0, 0.012106761, -0.003635233, 0.0072172955, 0.0, -0.020028833, -0.01887912, -0.020026082, 0.0, -0.00844844, 0.0042690644, -0.0032225568, 0.0) * go_9(-1.0, -1.0); - result += mat4(0.016003825, 0.025062528, 0.015531413, 0.0, -0.0042697443, -0.002105033, -0.0012211011, 0.0, -0.0049069985, -0.019246748, -0.0037832889, 0.0, 0.0099958945, -0.008196794, -0.0045375507, 0.0) * go_9(-1.0, 0.0); - result += mat4(0.026500875, 0.0396465, 0.033590585, 0.0, 0.005405388, 0.0010698376, 0.0031889272, 0.0, 0.0034493858, 0.02652777, 0.008353321, 0.0, -0.011913049, 0.007410789, 0.0038532054, 0.0) * go_9(-1.0, 1.0); - result += mat4(0.022959502, 0.037157275, 0.026223795, 0.0, -0.002359783, 0.0078087146, 0.015261196, 0.0, -0.07995782, -0.07981969, -0.07655523, 0.0, -0.0067736907, -0.012067516, -0.007992792, 0.0) * go_9(0.0, -1.0); - result += mat4(0.0023983195, -0.0020767245, -0.0044161547, 0.0, -0.00648856, 0.012450184, -0.025990479, 0.0, -0.037020147, -0.055538315, -0.021222003, 0.0, 0.021080054, -0.0066943956, 0.013073288, 0.0) * go_9(0.0, 0.0); - result += mat4(-0.031190705, -0.05620925, -0.06479107, 0.0, -0.014074204, -0.017560946, -0.018823083, 0.0, 0.023085466, 0.027850889, 0.04083693, 0.0, -0.004887899, -0.00282323, 0.0057099527, 0.0) * go_9(0.0, 1.0); - result += mat4(0.009363126, 0.005484372, 0.0302749, 0.0, 0.0047330265, 0.0015038615, 0.006890818, 0.0, 0.010852913, 0.0220478, 0.00711804, 0.0, -0.0017576768, 0.016725222, -0.004241142, 0.0) * go_9(1.0, -1.0); - result += mat4(-0.048167795, -0.035639104, -0.048131768, 0.0, -0.0020459362, -0.0075555677, 0.004227725, 0.0, 0.00482982, -0.019239172, -0.02544654, 0.0, -0.011318142, -0.0057719736, 0.009860561, 0.0) * go_9(1.0, 0.0); - result += mat4(-0.063551456, -0.07896364, -0.0540844, 0.0, 0.023259554, 0.0026555767, 0.013461761, 0.0, 0.040332828, 0.037789416, 0.021407485, 0.0, 0.005665673, 0.012516072, -0.013808973, 0.0) * go_9(1.0, 1.0); - result += mat4(-0.0043271515, -0.002176621, -0.0062263994, 0.0, -0.009487342, -0.019084062, -0.007869139, 0.0, 0.0039961888, 0.0058492622, -0.0040343683, 0.0, -0.03378101, -0.014583192, -0.020262172, 0.0) * go_10(-1.0, -1.0); - result += mat4(-0.0057374407, -0.0023028732, -0.009082434, 0.0, -0.012978781, -0.0070726364, -0.01716653, 0.0, -0.011592781, -0.0035609906, -0.008231705, 0.0, -0.012654525, -0.0027721147, -0.020824594, 0.0) * go_10(-1.0, 0.0); - result += mat4(0.004045453, 0.0057113008, 0.005117617, 0.0, 0.011016732, 0.002078177, -0.0059456746, 0.0, 0.014335918, 0.01432551, 0.012828931, 0.0, -0.014062043, 0.016954973, 0.010959033, 0.0) * go_10(-1.0, 1.0); - result += mat4(-0.012934133, -0.012173259, 0.0033186993, 0.0, 0.014181016, 0.005169614, 0.012137384, 0.0, 0.0056865932, -0.008070127, 0.00045203033, 0.0, 0.025708647, 0.042508934, 0.033339664, 0.0) * go_10(0.0, -1.0); - result += mat4(0.0074146404, 0.0201533, 0.016118554, 0.0, 0.0013031239, 0.027318979, 0.009487991, 0.0, -0.016540378, -0.016878206, -0.0053058104, 0.0, 0.01720723, 0.03583139, 0.05756807, 0.0) * go_10(0.0, 0.0); - result += mat4(-0.0014135512, 0.00062751066, 0.009140375, 0.0, 0.0072179064, 0.009824886, 0.024632638, 0.0, 0.010560128, 0.0007695087, 0.0038111003, 0.0, -0.022627058, -0.01977243, -0.0030134337, 0.0) * go_10(0.0, 1.0); - result += mat4(-0.0035051953, -0.005636337, -0.0097413175, 0.0, -0.023677194, 0.010395192, 0.018517843, 0.0, -0.004950805, 0.00029344863, 0.004853732, 0.0, 0.007897124, -0.1331537, -0.118723, 0.0) * go_10(1.0, -1.0); - result += mat4(0.0013748755, -0.0021782645, -0.012239493, 0.0, -0.029132465, -0.006267873, -0.031924155, 0.0, -0.0097114965, 0.0005397595, -0.012134342, 0.0, 0.044770814, 0.08320425, 0.07122483, 0.0) * go_10(1.0, 0.0); - result += mat4(0.0048491457, -0.007968555, 0.00013333336, 0.0, 0.0008854088, -0.022956531, -0.013588146, 0.0, -0.0027138935, -0.0018594498, 0.0034621623, 0.0, -0.0134118525, -0.01100187, -0.030043988, 0.0) * go_10(1.0, 1.0); - result += mat4(0.02237663, 0.00831919, 0.0015054654, 0.0, -0.0052822554, -0.009167897, -0.023418322, 0.0, 0.049750224, 0.15223135, 0.056895517, 0.0, -0.028124314, 0.103592865, -0.11460099, 0.0) * go_11(-1.0, -1.0); - result += mat4(0.06604592, 0.077535994, 0.04387619, 0.0, 0.002240608, 0.0032035408, -0.0019027377, 0.0, -0.23191178, -0.20713837, -0.1059163, 0.0, -0.02745329, 0.019124122, -0.05754067, 0.0) * go_11(-1.0, 0.0); - result += mat4(-0.018089697, -0.0049893647, -0.012755223, 0.0, -0.011250022, 0.0025694384, 0.006658047, 0.0, 0.18600269, 0.21540438, -0.07239619, 0.0, 0.06070741, -0.015966779, 0.008377523, 0.0) * go_11(-1.0, 1.0); - result += mat4(0.07885984, 0.063304946, 0.08161656, 0.0, 0.009204811, -0.008686348, 0.01826027, 0.0, 0.017419616, -0.15827277, -0.027334033, 0.0, 0.021419391, -0.057179615, 0.04383202, 0.0) * go_11(0.0, -1.0); - result += mat4(-0.29338145, -0.1789378, -0.21597695, 0.0, 0.015545433, 0.0054774336, 0.02298748, 0.0, 0.2563948, 0.18186228, 0.028528359, 0.0, -0.040248312, -0.11418649, 0.25180307, 0.0) * go_11(0.0, 0.0); - result += mat4(0.08531003, 0.0584844, 0.07977445, 0.0, 0.0038542026, -0.0047495505, 0.002093048, 0.0, -0.16321124, -0.06810998, 0.11998162, 0.0, -0.051232412, 0.023452647, 0.02020883, 0.0) * go_11(0.0, 1.0); - result += mat4(-0.017363412, -0.032433335, -0.0070381477, 0.0, -0.005624224, 0.014642784, -0.010655905, 0.0, -0.06498979, -0.089284316, 0.02830825, 0.0, 0.01107569, -0.0027832526, -0.058814265, 0.0) * go_11(1.0, -1.0); - result += mat4(0.04100374, 0.05535847, 0.057575654, 0.0, -0.020664502, -0.0018526735, 0.006235595, 0.0, 0.06476483, 0.15853153, 0.15087196, 0.0, -0.024243202, -0.05395063, 0.15457627, 0.0) * go_11(1.0, 0.0); - result += mat4(0.01612927, -0.002833585, -0.0181422, 0.0, -0.007557753, -0.0033626833, -0.026714409, 0.0, -0.15844722, -0.20818855, -0.2195031, 0.0, 0.06423856, 0.08534526, -0.25243443, 0.0) * go_11(1.0, 1.0); - result += vec4(0.0016457731, -8.084377e-05, 0.00035153233, 0.0); - return result + MAIN_tex(MAIN_pos); -} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl deleted file mode 100644 index 2b6eef2..0000000 --- a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl +++ /dev/null @@ -1,277 +0,0 @@ -// MIT License - -// Copyright (c) 2019-2021 bloc97 -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Luma -//!HOOK MAIN -//!BIND HOOKED -//!SAVE LINELUMA -//!COMPONENTS 1 - -float get_luma(vec4 rgba) { - return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); -} - -vec4 hook() { - return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LINELUMA -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LINELUMA_tex(HOOKED_pos).x; - float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - //Computes the luminance's gradient - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAD -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -/* --------------------- SETTINGS --------------------- */ - -//Strength of edge refinement, good values are between 0.2 and 4 -#define REFINE_STRENGTH 0.5 - - -/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ - -//Bias of the refinement function, good values are between 0 and 1 -#define REFINE_BIAS 0.0 - -//Polynomial fit obtained by minimizing MSE error on image -#define P5 ( 11.68129591) -#define P4 (-42.46906057) -#define P3 ( 60.28286266) -#define P2 (-41.84451327) -#define P1 ( 14.05517353) -#define P0 (-1.081521930) - -/* ----------------- END OF SETTINGS ----------------- */ - -float power_function(float x) { - float x2 = x * x; - float x3 = x2 * x; - float x4 = x2 * x2; - float x5 = x2 * x3; - - return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; -} - -vec4 hook() { - vec2 d = HOOKED_pt; - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAD_tex(HOOKED_pos).x; - float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - - float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAD_tex(HOOKED_pos).y; - float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - //Computes the luminance's gradient - float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); - - float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); - - return vec4(sobel_norm, dval, 0.0, 0.0); -} - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-X -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l c r] - //[bl b br] - float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; - float c = LUMAD_tex(HOOKED_pos).x; - float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (-l + r); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (l + c + c + r); - - - return vec4(xgrad, ygrad, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-Y -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!SAVE LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * -//!COMPONENTS 2 - -vec4 hook() { - vec2 d = HOOKED_pt; - - if (LUMAD_tex(HOOKED_pos).y < 0.1) { - return vec4(0.0); - } - - //[tl t tr] - //[ l cc r] - //[bl b br] - float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; - float cx = LUMAMM_tex(HOOKED_pos).x; - float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; - - float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; - //float cy = LUMAMM_tex(HOOKED_pos).y; - float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; - - //Horizontal Gradient - //[-1 0 1] - //[-2 0 2] - //[-1 0 1] - float xgrad = (tx + cx + cx + bx); - - //Vertical Gradient - //[-1 -2 -1] - //[ 0 0 0] - //[ 1 2 1] - float ygrad = (-ty + by); - - float norm = sqrt(xgrad * xgrad + ygrad * ygrad); - if (norm <= 0.001) { - xgrad = 0.0; - ygrad = 0.0; - norm = 1.0; - } - - return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); -} - - -//!DESC Anime4K-v3.2-Upscale-Original-x2-Apply -//!HOOK MAIN -//!BIND HOOKED -//!BIND LUMAD -//!BIND LUMAMM -//!WIDTH MAIN.w 2 * -//!HEIGHT MAIN.h 2 * - - -vec4 hook() { - vec2 d = HOOKED_pt; - - float dval = LUMAD_tex(HOOKED_pos).y; - if (dval < 0.1) { - return HOOKED_tex(HOOKED_pos); - } - - vec4 dc = LUMAMM_tex(HOOKED_pos); - if (abs(dc.x + dc.y) <= 0.0001) { - return HOOKED_tex(HOOKED_pos); - } - - float xpos = -sign(dc.x); - float ypos = -sign(dc.y); - - vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); - vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); - - float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); - - vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; - - return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); - -} \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions.md b/shaders/Anime4K/md/GLSL_Instructions.md deleted file mode 100644 index 5d40a0d..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions.md +++ /dev/null @@ -1,14 +0,0 @@ -## **Installation Instructions** - - ### Windows - - [(GLSL/MPV)](GLSL_Instructions_Windows_MPV.md) - - [(GLSL/Plex)](GLSL_Instructions_Windows_Plex.md) - - ### Linux - - [(GLSL/MPV)](GLSL_Instructions_Linux.md) - - [(GLSL/Plex)](GLSL_Instructions_Linux_Plex.md) - - ### Mac - - [(GLSL/MPV)](GLSL_Instructions_Mac_MPV.md) - - [(GLSL/IINA)](GLSL_Instructions_Mac_IINA.md) - - [(GLSL/Plex)](GLSL_Instructions_Mac_Plex.md) \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Advanced.md b/shaders/Anime4K/md/GLSL_Instructions_Advanced.md deleted file mode 100644 index e4465d0..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Advanced.md +++ /dev/null @@ -1,102 +0,0 @@ -# Advanced Usage Instructions (GLSL / MPV) (v4.x) -## Modes -Now, Anime4K has 3 major modes, as the small CNN networks cannot learn effectively every type of distribution shift and degradation seen in the wild. Human judgement will serve (for now) as the stopgap solution. Usually the correct mode is the one that looks best. - -The easiest way is to first visually inspect each mode in the A-B-C order. Mode A has the most visible artifacts of the three modes if used incorrectly. B and C can be harder to distinguish for lower resolution anime. - -If you want increased perceptual quality, use the corresponding secondary mode. -| Primary Mode | Corresponding Secondary Mode | -| ------------- |-------------| -| A | A+A | -| B | B+B | -| C | C+A | - -Here's what each mode is optimized for and what it does: - -| Modes | Optimized for? | Positive effects | Negative effects (If used incorrectly) | -| ------------- |-------------| -----| -----| -| A | Most 1080p anime
    Some older 720p anime
    Most old SD anime
    \(High amounts of blur)
    \(A lot of resampling artifacts)
    \(Smearing due to compression) | High perceptual quality
    Reduces compression artifacts
    Reconstructs most degraded lines
    Reduces large amounts of blur
    Reduces noise | Can amplify ringing if already present
    Can amplify banding if already present
    Strong denoising might blur textures | -| B | Some 1080p anime
    Most 720p anime
    1080p->720p downscaled anime
    \(Low amounts of blur)
    \(Some resampling artifacts)
    \(Ringing due to downsampling) | Reduces compression artifacts
    Reconstructs some degraded lines
    Reduces some blur
    Reduces noise
    Reduces ringing
    Reduces aliasing | Some artifacts might not be removed
    Some lines might still be blurry
    Strong denoising might blur textures| -| C | 1080p->480p downscaled anime
    Very rarely, 1080p animated movies
    Images with no degradation
    Wallpapers
    Pixiv art | Highest PSNR
    Reduces noise | Low perceptual quality
    Can amplify ringing if already present
    Can amplify resampling artifacts| -| A+A\* | Same as A | Highest perceptual quality
    Reconstructs almost all degraded lines
    Same positive effects from mode A | Can cause severe ringing
    Can cause banding
    Can cause aliasing
    Same negative effects from mode A
    Slower than mode A| -| B+B\* | Same as B | High perceptual quality
    Same positive effects from mode B | Same negative effects from mode B
    Slower than mode B| -| C+A\* | Same as C | Slightly higher perceptual quality
    Same positive effects from mode C | Same negative effects from mode C
    Slower than mode C| - - -\*These modes should only be used on upscaling ratios of x2 or higher. If you have a 1080p screen, using mode A on 1080p anime will improve image quality, but mode A+A will most likely oversharpen and degrade the image. - -## Advanced Customization -Not satisfied from simply using the default options? Curious about unsupported/weird modes such as B+A, A+B or B+A+A ? This quick guide will get you started on customizing your own restoration pipeline. - -First, the basics. - - - All the shaders can be used standalone or in combination with any other shaders. - - You can only use each shader file once. Using the same file two or more times causes buggy behaviour and loss of performance. Either use a different variant or copy and rename the duplicate shaders. - - The shaders process the image in the same order as the filename order given in `input.conf`. One exception is `Clamp_Highlights`, explained in the table below. - - You are free to choose the CNN variant (S, M, L, VL, UL) for better speed or quality. Each step in size for CNN shaders doubles the processing time. For example, if the M version takes 5ms to run, the L version should take approximately 10ms to run, 20ms for VL and so on. - - Non-CNN shaders are significantly faster but might be of lower quality. - -Quick explanation of each shader type: - -| Shader Type (in order of importance) | Effect | -| ------------- |-------------| -| Restore | The shader that makes Anime4K different from other upscalers. Restores image, best used before upscaling. Removes compression artifacts, blur, ringing, etc. `Restore` is more optimized for upsampling artifacts and blur, while `Restore_Soft` is more optimized for downsampling artifacts and aliasing. | -| Upscale | Upscales an image by a factor of x2, assumes image contains no degradation. | -| Upscale_Denoise | Upscales an image by a factor of x2 and denoises it with no GPU performance penality. | -| Clamp_Highlights | Computes and saves image statistics at the location it is placed in the shader stage, then clamps the image highlights at the end after all the shaders to prevent overshoot and reduce ringing. | -| Darken | Darkens lines in image. As what constitutes a line is ambiguous, might darken other stuff. Use according to personal taste. | -| Thin | Makes lines thinner in image. As what constitutes a line is ambiguous, might thin other stuff. Use according to personal taste. | -| Denoise | Applies a denoising filter to the image. | -| Deblur | Applies a deblur filter to the image. Sharpens details without overshoot or ringing. | -| AutoDownscalePre_x4 | Downscales an image after a first upscaling step, so that the second x2 upscaling step exactly matches screen size. This improves performance without noticeably impacting quality as you will not be working with images larger than the screen size. Should be placed between two Upscale shaders. Without this shader, the default behaviour is to downscale to the screen size after running all shaders. | -| AutoDownscalePre_x2 | Downscales an image after a first upscaling step to match screen size. This improves performance without noticeably impacting quality as you will not be working with images larger than the screen size. Should be placed after the first Upscale shader. Without this shader, the default behaviour is to downscale to the screen size after running all shaders. | -____ -Overview of default modes: -| Mode | Shaders | -| ------------- |-------------| -| A | `Restore -> Upscale -> Upscale` | -| B | `Restore_Soft -> Upscale -> Upscale` | -| C | `Upscale_Denoise -> Upscale` | -| A+A | `Restore -> Upscale -> Restore -> Upscale` | -| B+B | `Restore_Soft -> Upscale -> Restore_Soft -> Upscale` | -| C+A | `Upscale_Denoise -> Restore -> Upscale` | - -*Note: Clamp_Highlights and AutoDownscalePre were removed from table for clarity.* -____ -How the modes are defined: - - - Mode A is defined initially as: `Restore -> Upscale` - - Mode B is defined initially as: `Restore_Soft -> Upscale` - - Mode C is defined initially as: `Upscale` - - If the mode does not start with a `Restore` shader, it must start with a `Upscale_Denoise` or `Denoise` shader, as almost every video compression algorithm is lossy. - - All modes have to add upscale shaders until the entire shader pipeline upscales at least 4x. A reasonable assumption is the smallest reasonable video size being 480p and the largest screen being 4K, upscaling at 4x is close to the 4.5x of 480p->4K. -____ -With the definitions above, we can see for example, what C+A+B is. - - 1. Initial definition:
    `C (Upscale) -> A (Restore -> Upscale) -> B (Restore_Soft -> Upscale)` - 2. All modes have to start with restore/denoise:
    `C (Upscale_Denoise) -> A (Restore -> Upscale) -> B (Restore_Soft -> Upscale)` - 3. Upscale ratio of 4x is already met. - 4. C+A+B is:
    `Upscale_Denoise -> Restore -> Upscale -> Restore_Soft -> Upscale` - 5. Shader variants (S/M/L/VL/UL) can be chosen at will. - -## Best Practices - -It is recommended to always include `Clamp_Highlights` at the beginning to prevent ringing in some anime, but removing it will slightly improve speed. - -Adding a `Restore` shader after an upscaling step improves perceptual quality, but makes processing slower and might introduce artifacts. - -Shaders applied after a x2 upscaling step will take four times the processing time. For example, if a shader takes 10ms to run when placed before a upscaler, it will need 40ms if placed after the upscaler. This can be counteracted by using a smaller CNN variant two steps below. (eg. S instead of L) - -Artifacts introduced by lower quality shaders (eg. M or S variants) usually are not noticeable when working at very high resolutions. This advantage can be used to reduce GPU fan noise/heat and power use if you do not mind slightly lower image quality. - -The target for 24fps video is usually ~41ms. Frame drops will appear if the GPU cannot keep up. If that happens, use lower quality/faster shader variants. -Use the mpv profiler (press Shift+I and then 2 on the keyboard's top row) to verify whether your GPU can keep up. - -| Video Framerate | Maximum time (ms) | -|-----------|-------------------| -| 24 | 41 | -| 30 | 33 | -| 60 | 16 | - - ----- diff --git a/shaders/Anime4K/md/GLSL_Instructions_Linux.md b/shaders/Anime4K/md/GLSL_Instructions_Linux.md deleted file mode 100644 index 96dc338..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Linux.md +++ /dev/null @@ -1,70 +0,0 @@ -# Usage Instructions (GLSL / MPV) (v4.x) - -## Installing and Setting Up Anime4K for Linux-based Distributions (and other Unix-like OS) - - 1. Install `mpv` from repositories of your distribution, some of the common ones are mentioned here - ### Fedora Silverblue - 1. Install the RPM-Fusion "free" repository, if not already installed, paste in the command below - - `sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm` - - 2. Reboot and install `mpv` - - 3. Reboot and continue to step 2 - - ### Fedora - sudo dnf install mpv - - ### Ubuntu and Derivatives - sudo apt install mpv - - ### Arch and Derivatives - sudo pacman -S mpv - - ### Gentoo (Add USE Flags as mentioned [here](https://wiki.gentoo.org/wiki/Mpv#USE_flags)) - sudo emerge --ask media-video/mpv` - - - Note: make sure to install a version of [**mpv**](https://mpv.io/) that was released after June 2021, older versions [might not work](https://github.com/bloc97/Anime4K/issues/134). - -2. Clone the repo using `git clone https://github.com/bloc97/Anime4K.git`, or download the template files and extract them. - - - **Optimized shaders for lower-end GPU:** - *(Eg. GTX 980, GTX 1060, RX 570)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - -3. Navigate to `~/.config/mpv` and move the `input.conf`, `mpv.conf` and the `shaders` folder into the `mpv` directory. - `mv path/to/stuff ~/.config/mpv` - - ![image](https://user-images.githubusercontent.com/45941793/162597836-22de46b1-fd04-4054-a5ec-f83452ed4e13.png) - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md deleted file mode 100644 index f6345e6..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md +++ /dev/null @@ -1,52 +0,0 @@ -# Usage Instructions (GLSL / PLEX) (v4.x) - -## Installing and Setting Up Anime4K for Plex on Linux - - 1. Download `Plex for Linux` or `Plex HTPC (for Linux Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). - - *Note: Only the desktop version of the app supports GLSL shaders.* - - 2. Open `Plex` or `Plex HTPC` (this will create the config location for you). - - 3. Download the template files, and extract it (open the .zip file). - - - **Optimized shaders for lower-end GPU:** - *(Eg. GTX 980, GTX 1060, RX 570)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - -3. Navigate to your local `Plex` or `Plex HTPC` data directory. - - #### Flatpak - /home/.var/app/tv.plex.PlexHTPC/data/plex/ - -5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the directory. -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac.md b/shaders/Anime4K/md/GLSL_Instructions_Mac.md deleted file mode 100644 index b7fec90..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Mac.md +++ /dev/null @@ -1,54 +0,0 @@ -# Usage Instructions (GLSL / MPV) (v4.x) - -## Installing and setting up Anime4K for Intel-based and Apple Silicon Mac -*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* - - 1. Install mpv via [**Homebrew**](https://formulae.brew.sh/formula/mpv) or download the latest release [**here**](https://laboratory.stolendata.net/~djinn/mpv_osx/mpv-latest.tar.gz) - - 2. Download the .glsl shader files [**here**](https://github.com/bloc97/Anime4K/releases) - - 3. Copy the .glsl files to `~/.config/mpv/shaders` - - 4. (Optional) If `mpv.conf` does not exist in `~/.config/mpv/`, create an empty file and follow [**these instructions**](https://wiki.archlinux.org/index.php/Mpv#Configuration) to optimize your configuration. - - 5. If `input.conf` does not exist in `~/.config/mpv/`, create an empty file and paste one of the following code blocks inside the file: - - - Note: Only the Homebrew version are built for Native Apple Silicon. - ----- -**Optimized shaders for lower-end GPU:** -*(Eg. M1, M2)* -*If upscaling to resolutions smaller than 4K, lower end GPUs can be used.* -``` -CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A (Fast)" -CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B (Fast)" -CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C (Fast)" -CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A+A (Fast)" -CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B+B (Fast)" -CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C+A (Fast)" - -CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" -``` -____ -#### **Optimized shaders for higher-end GPU:** -(Untested, might still have performance issues at higher resolutions) -*(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max)* -*If upscaling to resolutions smaller than 4K, lower end GPUs can be used.* -``` -CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)" -CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)" -CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)" -CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)" -CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)" -CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)" - -CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" -``` -____ -## Usage Instructions for Anime4K - - 1. Anime4K v4.x has 3 major modes: A, B and C. To enable one of the modes, press CTRL+1 for mode A, CTRL+2 for B and so on. CTRL+0 will clear and disable all the shaders. Each mode is optimized for a different class of anime degradations, explanations are in [Advanced Usage Instructions#modes](GLSL_Instructions_Advanced.md#modes) (soon in the wiki). For now you can just try each mode (starting from A) and use the one that looks the best. - 2. To verify the installation was correctly done, enable one of the Anime4K modes and use the MPV profiler to check if there are a few shaders with the name Anime4K running. To access the profiler, press Shift+I and then 2 on the keyboard's top row. -This is what you should see (this example is from v2.0RC2, but also applies to newer versions): -![Profiler](../results/MPV_Profiler.png?raw=true) - 3. For advanced usage and more customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md) page. \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md deleted file mode 100644 index ea9495b..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md +++ /dev/null @@ -1,34 +0,0 @@ -# Usage Instructions (GLSL / IINA) (v4.x) - -## Installing and Setting Up Anime4K for IINA on Apple Silicon and Intel-based Mac - -The easiest way to use Anime4K with IINA is to follow our `mpv` guide [**here**](GLSL_Instructions_Mac_MPV.md). -- *Note: you may need to create the `mpv` folder, if you did not install mpv.* - -Then follow these steps: - -1. Download the latest release of [IINA](https://iina.io/download/), if you haven't already. - -2. Open IINA and click on `IINA` in the top menu bar. Then click on `Settings...` from the drop-down menu. - - - -3. In the `Settings`>`Advanced` window, click on `Enable advanced settings` and then select `Use config directory: ~/.config/mpv/`. - - - -4. That's it! Anime4K is now ready to use with IINA. - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md deleted file mode 100644 index 3d3a742..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md +++ /dev/null @@ -1,71 +0,0 @@ -# Usage Instructions (GLSL / MPV) (v4.x) - -## Installing and Setting Up Anime4K for mpv on Apple Silicon and Intel-based Mac - -*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* - -1. Install mpv via [Homebrew](https://formulae.brew.sh/formula/mpv) or download the latest release [here](https://laboratory.stolendata.net/~djinn/mpv_osx/mpv-latest.tar.gz). - - **Note:** Only the Homebrew version is built for native Apple Silicon. - -
    - Click Here for Homebrew Installation -
      -
    1. If Homebrew is not installed, follow the instructions at https://brew.sh to install it.
    2. -
    3. Keep the terminal window open and follow the instructions under "Next steps" to add Homebrew to your PATH.
    4. -
    5. Follow the instructions at https://formulae.brew.sh/formula/mpv to install mpv.
    6. -
    -
    - -2. Open mpv (this will create the mpv config file location for you). - -3. Download the template files and extract them (open the `.zip` file). - - - **Optimized shaders for lower-end GPU:** - *(Eg. M1, M2, Intel chips)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max, Intel chips)* - (Untested, might still have performance issues) - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - -4. In the Finder on your Mac, choose `Go` > `Go to Folder...` - - - -5. Paste `~/.config/mpv/` and hit Enter. - - - -6. Move the `input.conf`, `mpv.conf`, and the `shaders` folder into the `mpv` folder. - - - -7. That's it! Anime4K is now installed and ready to use. - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md deleted file mode 100644 index 5c17814..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md +++ /dev/null @@ -1,63 +0,0 @@ -# Usage Instructions (GLSL / PLEX) (v4.x) - -## Installing and Setting Up Anime4K for Plex on Apple Silicon and Intel-Based Mac - -1. Download `Plex for Mac` or `Plex HTPC (for macOS Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). - - *Note: Only the desktop version of the app supports GLSL shaders.* - -2. Open `Plex` or `Plex HTPC` (this will create the Application Support location for you). - -3. Download the template files and extract them (open the .zip file). - - - **Optimized shaders for lower-end GPU:** - *(Eg. M1, M2, Intel chips)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max, Intel chips)* - (Untested, might still have performance issues) - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - -4. In the Finder on your Mac, choose `Go` > `Go to Folder...` - - - -5. Paste `~/Library/Application Support/Plex/` or `~/Library/Application Support/Plex HTPC/` and hit Enter. - -
    - - -6. Move the `input.conf`, `mpv.conf`, and the `shaders` folder into the `Plex` or `Plex HTPC` folder. - -
    - - -7. That's it! Anime4K is now installed and ready to use. - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Plex.md deleted file mode 100644 index 9c34899..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Plex.md +++ /dev/null @@ -1,20 +0,0 @@ -# Usage Instructions (GLSL / PLEX MPV) (v4.x) - -## Installing and setting up Anime4K for Plex Media Player/Plex HTPC - - 1. Install Plex Media Player or Plex HTPC from [**here**](https://www.plex.tv/media-server-downloads/#plex-app) - - 2. Download the .glsl shader files [**here**](https://github.com/bloc97/Anime4K/releases) - - 3. Copy the .glsl files to `~/Library/Application Support/Plex/shaders` or `~/Library/Application Support/Plex HTPC/shaders` for Mac and `%LOCALAPPDATA%\Plex\shaders` or `%LOCALAPPDATA%\Plex HTPC\shaders` for Windows. - - 4. (Optional) If `mpv.conf` does not exist in `~/Library/Application Support/Plex/`, `~/Library/Application Support/Plex HTPC/`, `%LOCALAPPDATA%\Plex\`, or `%LOCALAPPDATA%\Plex HTPC\`, create an empty file and follow [**these instructions**](https://wiki.archlinux.org/index.php/Mpv#Configuration) to optimize your configuration. - - 5. If `input.conf` does not exist in `~/Library/Application Support/Plex/`, `~/Library/Application Support/Plex HTPC/`, `%LOCALAPPDATA%\Plex\`, or `%LOCALAPPDATA%\Plex HTPC\`, create an empty file and paste one of the following code blocks inside the file: - - - Note: Only works on the desktop version of the app. - ----- -## Follow Device Specific Installation - - - Installation Instructions can be found [**here**](https://github.com/bloc97/Anime4K#installation-instructions) \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md b/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md deleted file mode 100644 index f9df9fa..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md +++ /dev/null @@ -1,56 +0,0 @@ -# Usage Instructions (GLSL / MPV) (v4.x) - -## Installing and Setting Up Anime4K for mpv on Windows -*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* - - 1. Download the latest release of mpv [**here**](https://sourceforge.net/projects/mpv-player-windows/files/latest/download). - - 2. Open mpv (this will create the mpv config file location for you). - - 3. Download the template files, and extract it (open the .zip file). - - - **Optimized shaders for lower-end GPU:** - *(Eg. GTX 980, GTX 1060, RX 570)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - 4. Open File Explorer and type in `%APPDATA%/mpv`, then hit Enter. - - - - 5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the `mpv` folder. - - - - 6. That's it, Anime4K is now installed and ready to use! - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md deleted file mode 100644 index 739fde3..0000000 --- a/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md +++ /dev/null @@ -1,58 +0,0 @@ -# Usage Instructions (GLSL / PLEX) (v4.x) - -## Installing and Setting Up Anime4K for Plex on Windows - - 1. Download `Plex for Windows` or `Plex HTPC (for Windows Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). - - *Note: Only the desktop version of the app supports GLSL shaders.* - - 2. Open `Plex` or `Plex HTPC` (this will create the config location for you). - - 3. Download the template files, and extract it (open the .zip file). - - - **Optimized shaders for lower-end GPU:** - *(Eg. GTX 980, GTX 1060, RX 570)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_Low-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - - **Optimized shaders for higher-end GPU:** - *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* - - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_High-end.zip). - -
    - Or click here to install manually. -
      -
    • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
    • -
    • Then download and extract the shaders from releases and put them in the shaders folder.
    • -
    -
    - - 4. Open File Explorer and type in `%LOCALAPPDATA%\Plex` or `%LOCALAPPDATA%\Plex HTPC`, then hit Enter. - - - - - 5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the into the `Plex` or `Plex HTPC` folder. - - - - - 6. That's it, Anime4K is now installed and ready to use! - -____ -## Quick Usage Instructions - -1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. - - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). - -2. To enable each mode manually: - - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). - - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). - - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). - - Press **CTRL+0** to clear all shaders (Disable Anime4K). - -3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl b/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl deleted file mode 100644 index a6cb0dd..0000000 --- a/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl +++ /dev/null @@ -1,1092 +0,0 @@ -//!HOOK LUMA -//!DESC FSRCNNX Feature Map 1 -//!BIND LUMA -//!SAVE FEATURE1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0025971170980483,-0.0215829610824585,-0.0411043874919415,0.0129693904891610); -res += vec4(0.0989467129111290,-0.0413746125996113,-0.0146220456808805,0.0092109516263008) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(-0.0035295209381729,0.0406344234943390,-0.0165663789957762,0.0093299243599176) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(0.0925255119800568,-0.0259545017033815,0.0180672295391560,-0.0716139003634453) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.1446163505315781,0.0561999306082726,-0.1076377704739571,-0.0332930274307728) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0325273759663105,0.0262998212128878,0.0200947038829327,0.1315398961305618) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(-0.1577294766902924,0.0141245359554887,-0.0085542099550366,0.0390752702951431) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(-0.0135573437437415,0.1273673027753830,0.0050468663685024,0.0164658203721046) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.1153265833854675,0.0112900352105498,0.1634856611490250,0.3111087381839752) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.1241053119301796,-0.0867973864078522,-0.0111045241355896,0.1415592283010483) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0086459759622812,-0.0841795578598976,-0.0680958554148674,-0.0063316272571683) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(0.0058857277035713,-0.0624289102852345,-0.0389500781893730,-0.0748874545097351) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(-0.0161655806005001,0.1313955336809158,-0.0443832427263260,0.0717457532882690) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(0.1777327954769135,0.1921539157629013,0.2999162673950195,-0.0616498105227947) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.0143784778192639,0.0951635092496872,0.1933527141809464,0.1563637554645538) * float(LUMA_texOff(vec2(0,1))); -res += vec4(0.0581390745937824,-0.0060035865753889,-0.0086444308981299,0.0047579077072442) * float(LUMA_texOff(vec2(0,2))); -res += vec4(-0.0104378070682287,-0.0337097756564617,-0.0042490712366998,0.0460550934076309) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(0.0081567149609327,0.0160932801663876,-0.0623341910541058,-0.2104443460702896) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(-0.0221602637320757,-0.0601410418748856,0.2114782631397247,-0.2529057264328003) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.0408284738659859,-0.0011493996717036,0.0836366340517998,0.0654098913073540) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.0282100439071655,-0.0509151928126812,0.0613182522356510,0.0068052080459893) * float(LUMA_texOff(vec2(1,2))); -res += vec4(0.0395444706082344,0.0358335301280022,-0.0635658577084541,-0.0146130761131644) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(-0.0221461374312639,0.0181513447314501,-0.0893799886107445,-0.0542303919792175) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(-0.0547513179481030,-0.0182092953473330,-0.0167240519076586,-0.1604546159505844) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.1264881938695908,-0.0016346558695659,0.0430360883474350,-0.0247804746031761) * float(LUMA_texOff(vec2(2,1))); -res += vec4(0.0450324788689613,0.0581717193126678,-0.0493452697992325,-0.0504554212093353) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Feature Map 2 -//!BIND LUMA -//!SAVE FEATURE2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0143933594226837,-0.0081292800605297,-0.0030097288545221,-0.0665724128484726); -res += vec4(-0.0350343063473701,0.0350913181900978,0.0862483903765678,-0.0993502736091614) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0233530644327402,0.0011448960285634,0.0370058752596378,-0.0047694756649435) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(-0.0314770117402077,-0.0211456697434187,-0.2116574496030807,-0.0272717289626598) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(0.0277953725308180,-0.0543184988200665,-0.0754653662443161,0.0257821138948202) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(-0.0464140586555004,0.0502472557127476,0.0335191562771797,-0.0340603142976761) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(0.1032210215926170,-0.0299313683062792,0.0433807261288166,-0.0234887357801199) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.1161684319376945,-0.0501435883343220,0.1404739320278168,0.0424131564795971) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(-0.1257949918508530,-0.0249030739068985,0.0095651838928461,0.1549178361892700) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.1052827462553978,-0.0646157860755920,-0.1171221211552620,0.0352037772536278) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(-0.0748599693179131,-0.0823613703250885,0.0438997894525528,0.0514220818877220) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.0782524794340134,-0.0027338848449290,0.0250223558396101,-0.0439854301512241) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(-0.0747333094477654,-0.1173505932092667,0.1629889905452728,0.1623241305351257) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(-0.2947345674037933,0.5300401449203491,0.2784506678581238,0.1415692418813705) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.0145873669534922,0.1911269873380661,-0.0579423420131207,0.0407358221709728) * float(LUMA_texOff(vec2(0,1))); -res += vec4(0.2491107285022736,-0.0507930032908916,-0.0091749802231789,0.0995470285415649) * float(LUMA_texOff(vec2(0,2))); -res += vec4(-0.0917087271809578,-0.0724668130278587,0.0331873260438442,-0.0243818424642086) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(-0.0705142542719841,-0.0871952846646309,-0.2248291969299316,0.0082026440650225) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(-0.0802793279290199,0.0542511716485023,-0.0762867927551270,0.0860662907361984) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.2518112659454346,-0.0964703336358070,-0.1614536345005035,-0.0164192952215672) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.1406333893537521,-0.0455790087580681,0.0509895011782646,-0.0093303546309471) * float(LUMA_texOff(vec2(1,2))); -res += vec4(0.0244341790676117,0.0238304305821657,0.1063691750168800,-0.0932450890541077) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(0.0302878022193909,-0.0363584868609905,-0.1157607957720757,0.0261257458478212) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(0.0166365820914507,-0.0303704030811787,-0.0689763352274895,-0.0118559403344989) * float(LUMA_texOff(vec2(2,0))); -res += vec4(0.1194983571767807,-0.0837490707635880,0.0134807480499148,0.0581921562552452) * float(LUMA_texOff(vec2(2,1))); -res += vec4(0.0038160248659551,0.0866335034370422,0.0493469201028347,-0.0040219388902187) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Feature Map 3 -//!BIND LUMA -//!SAVE FEATURE3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0018072151578963,0.0491338782012463,-0.0082521047443151,0.0006553701241501); -res += vec4(0.0333403609693050,0.0213700644671917,0.0309157744050026,0.0502681806683540) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0873650759458542,0.1026774346828461,0.0105969393625855,-0.1902306973934174) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(-0.0116390902549028,-0.0467259846627712,-0.0435076169669628,0.0654145106673241) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.1071937978267670,-0.0825314819812775,-0.0461540780961514,0.0330122113227844) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(-0.0329643189907074,-0.0115923248231411,0.1241549849510193,-0.1250779479742050) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(-0.1270750463008881,-0.0051372162997723,-0.0228755269199610,-0.0956887602806091) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.2381764799356461,0.0353930778801441,-0.1435444951057434,0.0000626123073744) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.0021149714011699,-0.0886575952172279,-0.0157655719667673,0.0901051834225655) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.0569637194275856,-0.0273674763739109,0.0139584625139832,0.1538003236055374) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(-0.0507475025951862,0.0706939697265625,0.0336530767381191,0.1639588028192520) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(0.0433743074536324,-0.1246475577354431,-0.1298237144947052,-0.0902665257453918) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.0972251594066620,-0.2087253928184509,0.0569925457239151,0.0595922805368900) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(-0.1212919354438782,-0.2849492132663727,0.1335213929414749,0.1062619686126709) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.1308198869228363,-0.0720375552773476,-0.1406184136867523,-0.0529341399669647) * float(LUMA_texOff(vec2(0,1))); -res += vec4(-0.0137408506125212,-0.0504316277801991,-0.0427691712975502,0.0387206040322781) * float(LUMA_texOff(vec2(0,2))); -res += vec4(-0.0747085064649582,-0.0548529252409935,-0.1122629269957542,-0.0526414476335049) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(-0.0946580097079277,0.0387770310044289,0.0413406044244766,-0.0134162940084934) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(-0.0951367020606995,-0.0312327891588211,0.2094471752643585,-0.0703339353203773) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.2135278582572937,-0.0255431160330772,0.0691464617848396,-0.0722509101033211) * float(LUMA_texOff(vec2(1,1))); -res += vec4(-0.0006715832860209,0.0306324698030949,0.0103468149900436,-0.0241966098546982) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0387962087988853,-0.0874488875269890,-0.0049804211594164,0.0110954307019711) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(0.0753385052084923,-0.0596081875264645,0.0253801941871643,0.0416100472211838) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(0.0978832393884659,0.0072123543359339,-0.0807178542017937,0.0564857162535191) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0820253267884254,0.0987264215946198,-0.0249023567885160,-0.0420401506125927) * float(LUMA_texOff(vec2(2,1))); -res += vec4(-0.0938090234994888,0.0141112701967359,0.0770841166377068,-0.0313353054225445) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Feature Map 4 -//!BIND LUMA -//!SAVE FEATURE4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0520464666187763,0.0125974677503109,-0.0507145300507545,0.0046781064011157); -res += vec4(0.0685555785894394,-0.0203769262880087,0.0233370885252953,-0.0185483340173960) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(-0.0226354412734509,-0.0073053925298154,0.0202390439808369,-0.0609752722084522) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(0.0376507528126240,0.0761573389172554,0.0357471928000450,-0.0152297085151076) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.1560160368680954,-0.0026573494542390,0.0541298985481262,-0.0535302869975567) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0106569537892938,-0.0061765392310917,-0.0374934412539005,-0.0648096203804016) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(-0.0886963158845901,-0.1357769072055817,-0.0540469922125340,-0.1005358770489693) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.0276611223816872,0.0969700068235397,0.0942230746150017,-0.0367920361459255) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.1169507056474686,-0.0289295203983784,0.0238007064908743,-0.0890810340642929) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.0432637259364128,-0.0172048956155777,0.1170326396822929,-0.1344957649707794) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0230145547538996,-0.0169336907565594,-0.0093350214883685,-0.0763307139277458) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.0195111297070980,-0.0635469183325768,-0.1171921119093895,0.0602493360638618) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.0519569478929043,-0.0856370925903320,0.0877816677093506,-0.0882325619459152) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(0.1653991043567657,-0.1087152361869812,0.3008157908916473,-0.0250371992588043) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.0318718850612640,0.0015038193669170,0.1689826846122742,0.1231461092829704) * float(LUMA_texOff(vec2(0,1))); -res += vec4(0.0567268580198288,0.0705126971006393,0.1080416217446327,-0.0410425886511803) * float(LUMA_texOff(vec2(0,2))); -res += vec4(-0.0021940891165286,0.0254173707216978,0.0113133322447538,0.0723522305488586) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(0.1068250462412834,-0.0707226991653442,0.0428042262792587,-0.0740123763680458) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(0.1705047786235809,-0.1365097314119339,-0.0118973338976502,-0.0528226457536221) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.0470767877995968,-0.0924091339111328,0.0369555540382862,0.2677213549613953) * float(LUMA_texOff(vec2(1,1))); -res += vec4(-0.0502679385244846,0.0312211140990257,-0.1522612273693085,0.0129846706986427) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0356723926961422,0.0036633994895965,-0.0525643602013588,-0.0028790428768843) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(0.0191187895834446,0.0394226424396038,0.0414629392325878,0.1013835370540619) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(0.0652029290795326,-0.0999809131026268,0.0133103597909212,0.0514308586716652) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0297415442764759,-0.0812498480081558,0.0513987094163895,0.2255281656980515) * float(LUMA_texOff(vec2(2,1))); -res += vec4(0.0356137752532959,0.1276825070381165,0.0572695098817348,0.0075540360994637) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 1_1 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0503555759787560,0.0303598046302795,-0.0657042488455772,-0.0771356746554375); -res += mat4(0.1160435676574707,-0.0049179038032889,0.1855519562959671,-0.1475429683923721,-0.0501681193709373,0.0736974030733109,0.0105200679972768,0.2096585631370544,0.0125335585325956,-0.0705717280507088,-0.1251555681228638,0.1607755720615387,0.0246710386127234,0.0954001173377037,-0.1113015785813332,-0.1140452772378922) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.1922372728586197,0.0898703113198280,0.0227270089089870,-0.0695927962660789,0.0250462982803583,-0.0073945284821093,0.0125805102288723,0.0623067393898964,0.0100971739739180,0.0629470124840736,0.1536217629909515,0.0914481878280640,0.1322691738605499,0.1049630120396614,0.0526956804096699,0.0480460077524185) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(0.1384125351905823,-0.1790771931409836,-0.1346337050199509,-0.2170289605855942,-0.0705992653965950,0.1713097095489502,0.1837186962366104,-0.0881880596280098,-0.0355531387031078,-0.1435846984386444,-0.1049171313643456,0.0253566317260265,0.0637354701757431,-0.0927784815430641,-0.1804420202970505,-0.2736377120018005) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.0903364717960358,-0.0476174913346767,0.0461277887225151,0.1907972991466522,-0.2329269498586655,0.1053408533334732,0.0026884421240538,0.0802256539463997,-0.0940195992588997,-0.1070972532033920,0.1103037372231483,0.0717555284500122,0.0354485660791397,0.0915931835770607,0.0811446011066437,-0.1415577828884125) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(-0.0388386175036430,-0.0802458524703979,0.2034526765346527,0.0370132699608803,-0.0519889928400517,-0.1293371617794037,0.2287368774414062,0.0227595642209053,0.0490928031504154,-0.2398396134376526,-0.0608254075050354,0.2110295444726944,-0.0675281584262848,-0.2473463565111160,0.2229262292385101,-0.3165209591388702) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(0.0537310875952244,0.2870031893253326,0.0858415961265564,-0.1534553319215775,-0.2854263484477997,-0.4287289083003998,-0.0063996603712440,-0.0032172766514122,-0.0607171468436718,-0.0840987041592598,0.1111255437135696,-0.0770047679543495,0.0482432730495930,-0.1157029569149017,0.1225282028317451,0.0084303254261613) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(-0.1363738179206848,0.0805477872490883,0.2775384485721588,0.0373451188206673,-0.1529832631349564,0.1233037263154984,0.1076830700039864,-0.0874861776828766,-0.0008040553657338,0.0845725238323212,-0.3279358446598053,0.1958185136318207,0.1467371731996536,-0.1478924006223679,-0.1284721493721008,0.0811491608619690) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(0.1753587573766708,-0.0738964527845383,0.0892613902688026,0.0259840693324804,-0.1591507345438004,0.1221183761954308,-0.0707274451851845,0.0521883070468903,0.0157650113105774,-0.0192293357104063,-0.0975531414151192,-0.0092327548190951,-0.0272297523915768,0.1983992457389832,0.1414963155984879,-0.4134076535701752) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.1362216025590897,-0.2620842456817627,-0.0140794822946191,-0.0769502520561218,-0.2010777741670609,-0.2342363148927689,0.0082941437140107,0.2083670347929001,0.1107935830950737,-0.0740074366331100,-0.0998068451881409,-0.0333623252809048,0.0620059035718441,-0.0173431914299726,0.1012791767716408,-0.1357958465814590) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(-0.0699124932289124,0.1825043708086014,0.0012031628284603,0.0194819588214159,-0.0734465494751930,-0.3253107368946075,-0.1141470372676849,-0.0380997583270073,-0.1196675151586533,-0.3592743575572968,0.0786543712019920,0.0796145275235176,-0.0725382119417191,-0.1486800462007523,-0.1469386219978333,0.1238009855151176) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(0.1821363866329193,-0.1469623893499374,0.0597838200628757,0.0653721615672112,-0.1186514273285866,0.1577217280864716,-0.1532298624515533,-0.1603965610265732,-0.0596009716391563,0.0604715757071972,0.0051172398962080,-0.0815556049346924,0.0282363314181566,-0.0392373055219650,-0.1427731513977051,-0.0268863718956709) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(0.0478098057210445,0.0810605064034462,-0.1460444331169128,0.1155022308230400,0.0654920563101768,0.0660660490393639,0.0236469134688377,0.0365941710770130,-0.0583055429160595,-0.0737425759434700,0.1311435401439667,-0.0516447685658932,0.0744175389409065,0.0418468303978443,0.0319736562669277,-0.0872360020875931) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(0.0706465914845467,0.1088495627045631,-0.0651824027299881,0.1461891680955887,0.0157279800623655,-0.0740921348333359,0.1278917193412781,-0.2265724539756775,0.1893098801374435,0.1311616599559784,0.0086050033569336,0.0934718325734138,0.2034988701343536,-0.0599625334143639,-0.0539983995258808,0.0859484001994133) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.1068608760833740,0.2110199481248856,-0.0283788200467825,-0.0457757003605366,0.1260124742984772,-0.1044618859887123,-0.2312175780534744,0.0346726588904858,-0.1235258802771568,-0.0988628044724464,-0.1731162816286087,-0.0254368260502815,-0.1485952138900757,-0.0810124203562737,0.1220237389206886,0.0547734722495079) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(0.0013985362602398,0.0458273254334927,-0.1346677392721176,-0.1878241002559662,0.1547261476516724,-0.1350701302289963,-0.0000093258431662,-0.2429118603467941,-0.1638700366020203,-0.0119662396609783,0.0082146851345897,0.2720519304275513,-0.0139213697984815,-0.1543285548686981,-0.2627746164798737,0.1603146493434906) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(-0.0670706257224083,0.1109501793980598,0.1345307081937790,-0.1101162135601044,-0.2013223022222519,-0.0140966242179275,-0.1033565700054169,-0.0267634820193052,0.0606377981603146,0.2259434759616852,-0.1497890502214432,-0.0107782175764441,0.1666231453418732,0.1427286863327026,-0.0686426833271980,0.0930539891123772) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(0.1796004474163055,0.1160809770226479,-0.1478360593318939,0.0723948627710342,0.1909601241350174,0.3497222065925598,-0.0074988408014178,0.1498439013957977,0.1662287861108780,0.0779021903872490,-0.0837929695844650,0.0517638400197029,0.1641127318143845,-0.3095436692237854,0.0288959573954344,0.2246621698141098) * FEATURE1_texOff(vec2(0,0)); -res += mat4(0.1196683049201965,-0.0086172763258219,0.2849481701850891,-0.1596628129482269,0.1801212131977081,0.2259572595357895,-0.5293430089950562,0.0894122347235680,0.3482203781604767,0.1623213738203049,-0.2648057937622070,-0.0621943585574627,-0.0480040088295937,0.2163351327180862,-0.1432279795408249,-0.0859438255429268) * FEATURE2_texOff(vec2(0,0)); -res += mat4(0.0387012846767902,0.3089403808116913,0.0069741136394441,0.0026227189227939,-0.1608703881502151,-0.2126932442188263,0.2423585504293442,0.1661804914474487,-0.1248276084661484,0.1660082191228867,-0.2618545293807983,-0.2832368612289429,0.0866315215826035,-0.0503511242568493,-0.1949938833713531,0.1426640897989273) * FEATURE3_texOff(vec2(0,0)); -res += mat4(-0.0153577877208591,0.1483921110630035,-0.2703622579574585,-0.1511039137840271,0.1499738693237305,-0.2399715632200241,0.0105771934613585,0.4669431149959564,0.0400105379521847,-0.1329470574855804,-0.1305427253246307,-0.1242252588272095,0.2953074276447296,0.2989415824413300,-0.0530610345304012,-0.1516654640436172) * FEATURE4_texOff(vec2(0,0)); -res += mat4(0.0155062321573496,0.2342720180749893,0.1067438200116158,-0.0423244312405586,0.1888591647148132,-0.0880109816789627,-0.1207648441195488,0.0531457923352718,-0.3013238310813904,0.0807493701577187,0.1257109045982361,0.1737883090972900,-0.1289293915033340,-0.0908737629652023,-0.2754836678504944,0.1286540627479553) * FEATURE1_texOff(vec2(0,1)); -res += mat4(-0.0096628572791815,-0.1155284941196442,-0.1133549436926842,0.0521990172564983,-0.0498253926634789,0.1416328102350235,0.0036267242394388,-0.1077604293823242,-0.0267271101474762,-0.2181926071643829,-0.0510493405163288,0.1046040952205658,-0.0142368022352457,-0.2590536177158356,0.1147095561027527,0.0499906279146671) * FEATURE2_texOff(vec2(0,1)); -res += mat4(0.2034591138362885,-0.2983148992061615,-0.0594304539263248,-0.0235124472528696,0.0915906205773354,-0.0480257235467434,-0.0698579102754593,0.1239125281572342,-0.0654961019754410,-0.0557699799537659,0.2104779481887817,-0.3481267690658569,0.0047143548727036,-0.1768331080675125,-0.1703953444957733,0.2316187173128128) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.1184754148125648,0.1114161610603333,0.0962374061346054,-0.0709799751639366,-0.1912318170070648,-0.1796524524688721,-0.3328890800476074,0.1443070322275162,-0.2205639481544495,0.1096208393573761,-0.0662463679909706,-0.1673122495412827,0.0933241024613380,-0.0061222771182656,-0.1561807543039322,-0.1447545289993286) * FEATURE4_texOff(vec2(0,1)); -res += mat4(-0.0068289577029645,-0.1111114844679832,0.0529408827424049,0.1482223719358444,-0.1162871941924095,0.0937480404973030,0.1845793575048447,-0.0445831492543221,0.1667641997337341,-0.1499426960945129,-0.0933097973465919,-0.0453773662447929,-0.0576104968786240,0.1718860864639282,0.0345073156058788,-0.1256553232669830) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.1862856149673462,0.0676053464412689,0.0299968998879194,0.0864901244640350,-0.0139078078791499,-0.1177246794104576,-0.1591068655252457,0.0127951884642243,0.0186533704400063,-0.0762167721986771,-0.2775247097015381,0.2426291257143021,-0.0498365387320518,0.0581758208572865,-0.1306819468736649,-0.0327375046908855) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.0094955945387483,-0.0373231992125511,-0.0866038724780083,-0.0846775844693184,-0.0678314566612244,0.1333245038986206,-0.0601168535649776,-0.0546629950404167,0.1253386884927750,-0.1808639019727707,0.0299138352274895,0.0546216182410717,-0.0304873213171959,0.2397199124097824,0.2130956202745438,0.0772569701075554) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.0750081837177277,-0.0229687355458736,-0.0164517536759377,-0.0689199417829514,-0.0501410476863384,-0.1581284105777740,0.1679509282112122,-0.0072935703210533,-0.1412089020013809,-0.0363090038299561,0.0671025067567825,0.1379115283489227,0.0395083725452423,-0.0401229113340378,-0.1013402193784714,0.0322776138782501) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(-0.0686689019203186,-0.0773442462086678,0.0575861334800720,0.1885522156953812,-0.0292675960808992,0.1334265321493149,-0.0259835515171289,0.0382453016936779,0.0396481528878212,0.0524877794086933,0.1564569920301437,0.0381058678030968,0.2108160406351089,0.0921663492918015,0.0052786800079048,-0.3209734261035919) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.0538837872445583,-0.0593704208731651,0.0621431507170200,0.0538615100085735,-0.2839490771293640,0.1845311522483826,-0.0374661237001419,0.0907385647296906,-0.0103008169680834,0.1728835552930832,0.2316847145557404,0.0049690338782966,0.0114848986268044,0.0558095946907997,0.1254060864448547,0.0343545079231262) * FEATURE2_texOff(vec2(1,0)); -res += mat4(-0.1262239068746567,0.0365859642624855,-0.1594752520322800,0.1857952028512955,-0.0012058959109709,0.1420549750328064,-0.2596292197704315,-0.1326167434453964,-0.1460875570774078,0.1566606163978577,0.1529238820075989,-0.0506887845695019,-0.1614749133586884,-0.0835232734680176,-0.1133552864193916,-0.2255789339542389) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.0009043000754900,0.0047116791829467,0.1719317734241486,0.1170192062854767,-0.0269660707563162,-0.2161024808883667,-0.0895330682396889,0.1558265984058380,-0.0951380059123039,-0.0742629915475845,0.0893384963274002,-0.1507847011089325,0.1953689903020859,0.1837251633405685,-0.1236322373151779,-0.1137214303016663) * FEATURE4_texOff(vec2(1,0)); -res += mat4(-0.2515849471092224,-0.0848545655608177,0.0503321662545204,0.1220048591494560,0.0112273106351495,0.2144788950681686,0.2720014154911041,-0.0239016823470592,0.0761246234178543,0.0651204138994217,-0.1299389600753784,-0.0384435914456844,-0.0430693589150906,0.0499210171401501,-0.1244324520230293,-0.0976284369826317) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.1138575822114944,0.0425504669547081,0.0402555391192436,-0.2269419282674789,0.0531973913311958,-0.0673747658729553,-0.3444060683250427,-0.0266591534018517,-0.0290640946477652,0.2830187976360321,0.1896703988313675,-0.1148610040545464,0.0377210415899754,-0.1197302043437958,-0.0254765916615725,-0.0177777130156755) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.0443032793700695,-0.1222698837518692,0.2137430012226105,-0.0601493269205093,-0.0329366810619831,-0.0600455887615681,-0.0464418791234493,-0.0102474074810743,-0.2769347429275513,-0.1693455278873444,0.0495916344225407,-0.0928647145628929,-0.1646637916564941,0.2887711226940155,-0.1775939762592316,-0.2760116755962372) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-0.1419579833745956,0.0632312521338463,-0.0401325002312660,-0.2358518689870834,0.0057794577442110,0.0395067632198334,0.0407800450921059,-0.0697408542037010,-0.0856739655137062,0.0635263547301292,-0.1791270077228546,0.0800354406237602,-0.0827995911240578,0.0012320337118581,-0.1890709847211838,-0.0115871289744973) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(1.4201048612594604,-0.1148971617221832,1.3850938081741333,0.8263279795646667) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 1_2 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0888336524367332,0.0308345351368189,0.2038880586624146,-0.0403054468333721); -res += mat4(-0.0055824508890510,0.2178459018468857,-0.0073033687658608,-0.1469391435384750,0.1801696121692657,0.0306501220911741,0.1568093895912170,-0.0570050142705441,-0.0146966595202684,-0.0313456729054451,-0.1139771789312363,0.0374344959855080,0.0817486569285393,0.1043003723025322,-0.1157513931393623,0.2193820625543594) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.1762898564338684,-0.1903054416179657,0.0021806999575347,0.1058190241456032,0.1559550762176514,-0.0056192241609097,0.0029302174225450,-0.1228873357176781,-0.0143460594117641,-0.1602192521095276,0.1148678436875343,-0.2795691490173340,-0.1574482619762421,-0.0428849868476391,-0.0103740189224482,-0.0629314705729485) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(-0.2409969568252563,0.0243725925683975,-0.1285929381847382,0.2342564910650253,0.1027612239122391,-0.1685835570096970,0.0055926488712430,-0.0238419715315104,0.1273651719093323,0.0526742860674858,0.0127351991832256,0.1456344574689865,-0.0813567936420441,-0.0824812948703766,0.1674763709306717,0.1213097274303436) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.2034477740526199,-0.0150300376117229,-0.1029808372259140,-0.1751596331596375,-0.1324366033077240,-0.1916087567806244,-0.1899994313716888,0.0348664820194244,0.0579356551170349,-0.1654130816459656,-0.0263507384806871,0.0273111034184694,0.0764688104391098,-0.1400149464607239,-0.1882346570491791,0.1465913057327271) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.1212258115410805,0.1979488283395767,0.0356977209448814,-0.1072662696242332,0.1403658986091614,0.0764879584312439,0.0430596657097340,0.0193492062389851,-0.0100342221558094,-0.1642781347036362,-0.2157689332962036,0.0497154854238033,-0.0707299262285233,-0.0681886374950409,0.2278562635183334,-0.3688782751560211) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.3449152708053589,-0.1648758202791214,0.2010008692741394,-0.0641329288482666,-0.0229758080095053,0.1711205989122391,-0.0464514121413231,0.3477462232112885,0.0043507535010576,-0.0043490971438587,0.2907740473747253,-0.0933733582496643,0.2128601521253586,-0.1721645444631577,0.2200766205787659,-0.0647031888365746) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(0.0097005823627114,0.1042054817080498,-0.0035475196782500,-0.3369025886058807,0.1480121761560440,-0.2332152873277664,0.0180834364145994,-0.0785861983895302,0.0382840596139431,-0.2034295946359634,-0.0335927158594131,0.0779727175831795,0.2563244700431824,0.0125377727672458,-0.0330367572605610,0.0789171755313873) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(0.0303388144820929,-0.1465268284082413,0.0559245236217976,0.0741588026285172,-0.0440330244600773,-0.1163934543728828,0.0622919127345085,-0.1661262661218643,0.1031702533364296,0.0274195484817028,0.2853372395038605,0.0306060593575239,-0.0262273401021957,-0.3722916841506958,0.0930678620934486,-0.4011277556419373) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(0.0174665227532387,0.0874205157160759,0.1263583898544312,0.0299440789967775,-0.1074560806155205,-0.0149981547147036,-0.0692550316452980,0.1697760522365570,-0.1229570657014847,-0.1747072935104370,-0.1831145584583282,-0.0690372586250305,-0.0002355265605729,0.0810739621520042,0.3721088171005249,-0.0258054919540882) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.3021402657032013,0.0130130751058459,0.0932790040969849,-0.0404236577451229,-0.0721724703907967,-0.1842733174562454,0.1165597736835480,0.1087918281555176,0.0582448467612267,-0.0921415016055107,0.0976167842745781,-0.0473879873752594,-0.1661389321088791,-0.0529068559408188,-0.1042415797710419,0.0452580675482750) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.0554074272513390,-0.1763077080249786,-0.0458173640072346,-0.2395718991756439,0.0353631041944027,-0.0248281825333834,-0.0453763157129288,0.0982042998075485,0.0795748755335808,0.1198742836713791,0.0619815625250340,0.0384974144399166,0.0092360991984606,-0.1808229237794876,0.1299494206905365,0.0271339230239391) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.1951718628406525,0.0181937590241432,0.1471716612577438,-0.0842008516192436,0.0413865745067596,0.0137632284313440,0.0432065315544605,-0.0302451699972153,-0.1141382232308388,0.2220665812492371,-0.1531663388013840,-0.0525154657661915,0.0672531053423882,0.0139208277687430,0.3191528916358948,0.1225935146212578) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(-0.0697667896747589,-0.1965480148792267,-0.1671475023031235,-0.0301672574132681,-0.1938829272985458,-0.0242670997977257,0.1800690740346909,-0.1065410822629929,0.1459948122501373,0.1380921006202698,-0.0826187953352928,-0.0287049934267998,-0.0568439923226833,-0.1300133764743805,-0.2149765044450760,-0.1262311339378357) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(-0.0832837969064713,-0.4437069296836853,-0.0448837839066982,-0.2551388442516327,0.0921541377902031,-0.0867375060915947,-0.0820663943886757,0.2368763983249664,0.0172284580767155,-0.1852178275585175,-0.1762057393789291,-0.0479003898799419,-0.0545581094920635,0.0124678602442145,-0.2414358407258987,0.0479885302484035) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(0.0084721203893423,-0.3287556767463684,0.2404080629348755,-0.1581063717603683,-0.1201047822833061,0.1011407002806664,-0.0883802995085716,0.0367043018341064,0.0622620359063148,0.0943960174918175,-0.1075161024928093,-0.2558501958847046,-0.0634684339165688,0.0551954470574856,0.1706565320491791,0.1138209551572800) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(0.2127157449722290,0.0028926788363606,-0.0131559586152434,-0.0772459208965302,-0.0392009094357491,-0.0557714402675629,-0.2421645820140839,0.2100937813520432,0.0252651311457157,0.1337381154298782,-0.1309967041015625,0.2111328095197678,-0.0057283919304609,-0.2480400204658508,0.1229544878005981,0.1001321971416473) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-0.0963816866278648,0.0236221980303526,-0.1729129105806351,-0.0224700178951025,0.0416511930525303,-0.0098097184672952,0.2250513732433319,0.1980445683002472,0.1999557465314865,-0.4346832633018494,-0.1971718519926071,0.1336177289485931,-0.2710929512977600,-0.0232510026544333,0.1904300302267075,-0.5326592326164246) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-0.2854235470294952,-0.1727097779512405,0.2212820798158646,-0.6337124705314636,0.1350235939025879,0.0587622411549091,-0.6112856864929199,0.3033475279808044,0.4720011353492737,-0.1540339887142181,-0.4499722719192505,0.6444893479347229,0.0336703881621361,-0.0260129868984222,-0.1982933133840561,-0.1108348146080971) * FEATURE2_texOff(vec2(0,0)); -res += mat4(0.3936024010181427,0.1002474948763847,-0.1018962189555168,-0.5044853091239929,0.1271165311336517,0.1502388119697571,0.0488024838268757,-0.1929558962583542,-0.1233128532767296,-0.1991779953241348,-0.1524319499731064,-0.0848715230822563,-0.0155095933005214,-0.1917992830276489,-0.3323145806789398,0.3108884096145630) * FEATURE3_texOff(vec2(0,0)); -res += mat4(0.2295550853013992,-0.1973270028829575,-0.2825872600078583,-0.0410918630659580,-0.2558916807174683,-0.0140108587220311,0.0134098604321480,-0.0889729261398315,-0.0606309771537781,-0.1130445376038551,-0.1547448337078094,0.0267129093408585,-0.3207915425300598,-0.2566465437412262,0.0131275942549109,-0.5349386334419250) * FEATURE4_texOff(vec2(0,0)); -res += mat4(-0.3259268403053284,-0.1685020923614502,0.1415168344974518,0.0064681298099458,0.1198796555399895,0.0938111543655396,0.0419938862323761,-0.0836924165487289,-0.1284605413675308,-0.2213986515998840,0.0123203611001372,-0.1417588442564011,-0.3065121471881866,0.2827109992504120,0.1858590543270111,0.3755801022052765) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.2329712808132172,0.0338575430214405,-0.0040721739642322,-0.0079094748944044,-0.3260537981987000,-0.1572857350111008,0.1268580257892609,-0.5230516791343689,0.0916409716010094,-0.0883808881044388,-0.2193629592657089,0.1847866922616959,-0.1687337011098862,0.1701498031616211,-0.0365195684134960,-0.0220766570419073) * FEATURE2_texOff(vec2(0,1)); -res += mat4(-0.1062429621815681,0.3691445589065552,-0.3756815791130066,0.6537393331527710,-0.0361825861036777,0.0031433734111488,-0.1238657310605049,-0.1192228049039841,-0.1342777162790298,0.0458285287022591,0.2127134799957275,-0.4633499085903168,-0.1293898075819016,-0.0239851064980030,-0.0308082439005375,-0.2247954308986664) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.1353782415390015,-0.0376875549554825,0.2146020084619522,-0.0445286817848682,-0.0031098062172532,0.1509363502264023,-0.1451402008533478,0.3077156841754913,-0.1892793178558350,0.1314236223697662,-0.1315165311098099,-0.0676322728395462,-0.3856800496578217,-0.0541049204766750,0.3029918074607849,0.0462379008531570) * FEATURE4_texOff(vec2(0,1)); -res += mat4(0.0028464326169342,0.0406418517231941,0.0925554707646370,-0.1847309172153473,-0.1931904554367065,-0.0480718091130257,0.0073764678090811,-0.0480887517333031,-0.0803316682577133,0.1634706407785416,0.0943916440010071,0.0614554770290852,0.0845278799533844,0.0918643251061440,-0.1679021269083023,0.1855772584676743) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(0.1136827841401100,0.0920161232352257,-0.0340088084340096,-0.2438882589340210,0.0022524227388203,-0.0241311267018318,0.4952031373977661,0.0950114950537682,-0.3279016315937042,-0.1447808146476746,0.0508631952106953,-0.0743442475795746,-0.0144945913925767,-0.1340451389551163,0.0509128570556641,-0.0722603425383568) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.1580133885145187,0.0298170093446970,0.2724783420562744,0.1275223344564438,0.1290402859449387,-0.1293425261974335,-0.1215599104762077,-0.0739666149020195,-0.1510761082172394,0.1302848160266876,-0.2184193879365921,0.0627807378768921,0.0533174425363541,-0.0675201192498207,0.0916451737284660,-0.1907976269721985) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.0646568238735199,-0.0745790004730225,-0.0125157898291945,-0.1272885799407959,0.1439774334430695,0.0446015559136868,0.1382612735033035,-0.2161758840084076,-0.0745507404208183,0.1260479390621185,-0.1116243004798889,0.0566606037318707,-0.0634351223707199,-0.2372566163539886,0.2227157205343246,0.0702196881175041) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(0.1067308709025383,-0.0552560165524483,-0.0885369703173637,0.3382973074913025,0.1900973767042160,-0.0471013747155666,-0.0019915490411222,0.0137355709448457,0.0755001902580261,0.0208593588322401,-0.0141422459855676,-0.0888440832495689,-0.0929339602589607,-0.2389165759086609,-0.1645234972238541,0.1294811517000198) * FEATURE1_texOff(vec2(1,0)); -res += mat4(-0.0843795463442802,0.0958129242062569,0.1686721146106720,0.1662779301404953,0.0269482955336571,-0.1080698147416115,0.0690365880727768,-0.2544018030166626,0.2507861554622650,-0.0577043928205967,0.2741414308547974,-0.0088143944740295,-0.1140271797776222,-0.0002383657119935,-0.0683881565928459,-0.0444537289440632) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.2989420890808105,-0.0771016702055931,0.0398744344711304,0.1939385384321213,0.0803771018981934,0.2078321874141693,0.0200261678546667,-0.0672411024570465,-0.2295205295085907,-0.2181767225265503,-0.1718000918626785,0.2850292026996613,-0.3103581666946411,-0.1325287818908691,-0.0065654078498483,0.1480577886104584) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.2620290219783783,0.0492270402610302,0.0275605693459511,0.0953018888831139,-0.1188623905181885,-0.0989535376429558,-0.0606087967753410,0.1288254112005234,0.1049842759966850,-0.3303307294845581,0.0244982130825520,-0.0218701213598251,0.0389205478131771,-0.2766166031360626,0.2208117097616196,-0.0779608860611916) * FEATURE4_texOff(vec2(1,0)); -res += mat4(-0.0053450786508620,0.1109809726476669,-0.0317074507474899,0.2496421188116074,0.0451021194458008,0.0678569898009300,0.0213301498442888,-0.1658379435539246,-0.2613688111305237,0.2634420096874237,0.0933972895145416,0.1037345156073570,0.0742104426026344,0.1532714515924454,-0.1157754212617874,-0.1917258799076080) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.1520950794219971,-0.0761306509375572,-0.0536881908774376,0.4475339055061340,-0.1540124416351318,-0.0643950253725052,0.0071839466691017,-0.1226242855191231,0.0485517010092735,0.0376602858304977,-0.0457136407494545,-0.0840197205543518,0.2285289019346237,0.1076427251100540,-0.0270565245300531,0.0792062282562256) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.1940105557441711,0.1126421466469765,-0.3066647946834564,0.2072615623474121,-0.1058962270617485,-0.0195719934999943,-0.1303514689207077,0.0505842752754688,0.0888841226696968,0.1498940587043762,0.1124349609017372,-0.1797216683626175,0.0434344857931137,0.0096777314320207,0.0737498104572296,-0.6063233613967896) * FEATURE3_texOff(vec2(1,1)); -res += mat4(0.0425488725304604,0.0055217170156538,-0.0417114570736885,0.0269294884055853,-0.0606696717441082,-0.1162500381469727,0.1206417679786682,0.0263194758445024,-0.0818367078900337,0.0655204281210899,-0.0655337721109390,-0.1234961003065109,0.0214693527668715,0.0903595164418221,-0.0130651295185089,-0.1287123113870621) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.4730016589164734,0.3655959665775299,-0.2802486717700958,-0.4265432655811310) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 1_3 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL23 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.1068498939275742,0.0224376078695059,-0.0024097065906972,-0.0792689025402069); -res += mat4(0.0181803442537785,0.0674853250384331,-0.1265344917774200,-0.0218618325889111,-0.0869689434766769,0.1053872480988503,-0.0992796495556831,0.0141461445018649,-0.0925305783748627,0.0291556920856237,0.2688764035701752,-0.0474680028855801,0.1045153662562370,0.1096798181533813,0.0023779468610883,0.2131648063659668) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(0.3533977568149567,-0.1001951098442078,-0.0183106418699026,0.0017019035294652,-0.2894389629364014,-0.0171565115451813,-0.2175557017326355,-0.0215419773012400,0.0661054253578186,-0.0339064672589302,0.0547012835741043,-0.1251597851514816,0.1160517260432243,-0.0128150330856442,-0.1865216344594955,0.0722576007246971) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(-0.1361459791660309,-0.1371068805456161,0.0689596310257912,0.1339294910430908,0.0408511459827423,0.0876319110393524,-0.0190939400345087,-0.0503945313394070,-0.0690736547112465,0.2444718033075333,-0.0010501143988222,-0.0774922966957092,-0.1381646394729614,0.1078057214617729,0.0194984395056963,0.0199265126138926) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(-0.2012318670749664,0.1654687523841858,0.0428198911249638,0.0124987605959177,0.0568455383181572,-0.0227466151118279,-0.0348395667970181,-0.0436778143048286,0.1334147751331329,0.0745504349470139,-0.0980251356959343,-0.0980399176478386,0.1086588427424431,0.1538669317960739,0.1078789010643959,0.0145203405991197) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.0563423559069633,-0.1406311839818954,0.0916531011462212,-0.0641987845301628,-0.0232900027185678,-0.1167540177702904,-0.0926523655653000,0.0327877216041088,0.1206583529710770,0.0137982740998268,-0.2181962430477142,-0.0732070207595825,0.3986870050430298,-0.1097618192434311,-0.1635782569646835,-0.0564717128872871) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.0632074847817421,-0.2536352574825287,0.0580678060650826,-0.1632629930973053,0.2691094577312469,0.1574228852987289,-0.0472787022590637,0.0881788432598114,-0.1814105808734894,-0.0040500233881176,-0.1393396854400635,-0.1951746493577957,-0.0414040684700012,-0.1159598901867867,0.0469891279935837,-0.0079741673544049) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(-0.1894895732402802,0.0108783831819892,0.2157879918813705,0.0903736427426338,0.1316229254007339,0.2451830953359604,-0.1203373000025749,0.2575775980949402,0.1407234966754913,-0.0832646563649178,-0.1568229645490646,0.0545096285641193,0.0597689077258110,-0.1081062778830528,-0.0841651409864426,-0.0314163081347942) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(-0.0216937493532896,-0.1346040368080139,0.0350560471415520,-0.0480668805539608,0.0926286280155182,-0.1445267647504807,0.1516186445951462,-0.0996525585651398,0.1173405796289444,0.1228884086012840,-0.1831370145082474,0.0030460406560451,0.4818059206008911,0.0375531949102879,-0.3507771492004395,-0.0473322011530399) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.0425182506442070,-0.1205067187547684,-0.1795590966939926,-0.0406252518296242,-0.0822191536426544,-0.1416527628898621,-0.1523015946149826,-0.1966950893402100,0.1534976661205292,-0.0823664814233780,0.1398902833461761,0.1872176527976990,-0.3203691840171814,-0.0699252486228943,0.1018531471490860,-0.0983449220657349) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(-0.0126265734434128,-0.0455899834632874,0.0972962081432343,0.0509651526808739,0.0533396378159523,-0.0309946630150080,0.1093288958072662,0.0448884107172489,0.0203281845897436,0.0521102361381054,-0.1435694098472595,-0.1272373497486115,0.0327667742967606,0.0416485033929348,0.0186139661818743,-0.0201864298433065) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(0.1195562034845352,0.1281285583972931,0.0012344763381407,0.1758122146129608,-0.0290505588054657,0.0510745570063591,-0.1876697540283203,-0.0343617051839828,0.1992195993661880,-0.2810811996459961,0.1259593069553375,-0.0893522202968597,0.2315267920494080,-0.3004943430423737,-0.2422719448804855,-0.1430527716875076) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.0786485597491264,-0.0292762294411659,0.1236795708537102,0.1573273688554764,-0.0168952587991953,0.1282182186841965,-0.0550478808581829,-0.0742724165320396,0.1833973824977875,0.1316903531551361,-0.1423938423395157,-0.0303102098405361,-0.2247518748044968,0.0339135490357876,0.1431625932455063,-0.1280567049980164) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(0.0282066799700260,0.0926313400268555,0.0279843974858522,-0.0174273829907179,-0.1239684596657753,0.0873323604464531,-0.1396520733833313,0.0631038546562195,-0.1521342694759369,0.0822935178875923,0.1438777893781662,0.2342004477977753,-0.1868494302034378,0.3501272499561310,-0.1131436899304390,-0.1721433550119400) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.1828032433986664,0.1998613476753235,-0.0164872668683529,0.0191075354814529,-0.3959974050521851,-0.0517918616533279,-0.1055601462721825,0.0122828455641866,-0.1063216775655746,0.0375947803258896,-0.0699349939823151,0.1127478256821632,0.1133284494280815,0.0208671074360609,-0.0416382886469364,-0.0238342527300119) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(-0.1396529525518417,-0.0282370373606682,-0.0323401615023613,-0.1633979231119156,0.1094241365790367,0.0309195667505264,0.2445011436939240,0.0400733090937138,-0.3095892667770386,0.1575353592634201,-0.1113663017749786,-0.0022773621603847,-0.1359186768531799,-0.0630225613713264,-0.3628012835979462,-0.1326376348733902) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(-0.0894735082983971,-0.0896669328212738,0.1499202400445938,-0.0944010689854622,0.0583312064409256,-0.0126608330756426,-0.2147152423858643,-0.0215652957558632,-0.1177922859787941,0.0456483513116837,0.0204549245536327,-0.0764765962958336,-0.0538619942963123,0.1490221619606018,0.0124373994767666,0.1906240433454514) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(0.1993367671966553,0.1223497539758682,-0.0392627082765102,0.2788168191909790,0.0922471657395363,-0.2531153559684753,-0.1100602075457573,0.2930892407894135,0.1846672594547272,0.2228979170322418,0.1016059070825577,0.2192129641771317,0.4289297759532928,-0.0741789489984512,-0.6169342398643494,-0.2194722741842270) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-0.0306668337434530,-0.0473439209163189,-0.4121291339397430,-0.1868667453527451,0.2793217599391937,0.1274234205484390,0.0877332091331482,0.2431191653013229,-0.3787598609924316,0.0931293740868568,0.1487477421760559,0.3159037530422211,0.2111402601003647,-0.1071637645363808,0.0152860702946782,-0.0390298105776310) * FEATURE2_texOff(vec2(0,0)); -res += mat4(-0.0570957995951176,-0.0612670294940472,-0.3233737051486969,-0.2470320910215378,0.0018566350918263,0.0886307954788208,-0.1303993016481400,-0.3397434651851654,-0.1383976042270660,0.3524385392665863,0.2954247593879700,0.3347482383251190,-0.1010874137282372,0.2279569357633591,-0.0689250975847244,0.2973155081272125) * FEATURE3_texOff(vec2(0,0)); -res += mat4(0.1473412811756134,0.1288300156593323,0.1205203682184219,0.0448942482471466,-0.0119561580941081,-0.2377465516328812,-0.1367591768503189,-0.2810507416725159,-0.0523518882691860,0.0708726793527603,0.1706065982580185,0.0793581008911133,-0.0454018563032150,-0.2512792646884918,-0.4026997089385986,0.0185119975358248) * FEATURE4_texOff(vec2(0,0)); -res += mat4(0.0805108919739723,0.0798353105783463,0.0227880049496889,-0.0167885478585958,0.2682724595069885,0.1518623530864716,0.0680777281522751,-0.1490436345338821,0.0676534026861191,-0.0719495415687561,-0.0398707166314125,-0.0952469408512115,-0.2091007679700851,0.0174053926020861,-0.0096214674413204,0.0019770753569901) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.0024138260632753,-0.0581566393375397,-0.1664668768644333,0.1126330643892288,0.2165462821722031,0.0167974866926670,-0.0599500276148319,0.0188397672027349,0.0577487237751484,-0.3018417954444885,-0.0685174018144608,-0.0142585532739758,-0.1478437036275864,0.0223527699708939,0.0859376862645149,-0.0360872410237789) * FEATURE2_texOff(vec2(0,1)); -res += mat4(0.2066729515790939,0.1541274189949036,-0.1364138871431351,-0.1951328366994858,0.1874501258134842,0.1513911187648773,0.1509729623794556,-0.2633168101310730,0.0848663523793221,0.1189890429377556,0.0624934732913971,-0.1043203920125961,0.1213532090187073,0.0012778271920979,0.0915908217430115,-0.0243451409041882) * FEATURE3_texOff(vec2(0,1)); -res += mat4(0.0092855095863342,0.1446494013071060,0.0244066137820482,-0.0003393912920728,0.0898872688412666,0.1351699084043503,0.0687514543533325,-0.1420029103755951,0.1252769976854324,0.1206224039196968,-0.1781837195158005,-0.1695613414049149,-0.0649869740009308,-0.0869675055146217,0.1191114336252213,-0.1655308455228806) * FEATURE4_texOff(vec2(0,1)); -res += mat4(-0.0752085074782372,0.0539673753082752,-0.0796784982085228,-0.1499834954738617,-0.0671416893601418,-0.1288341581821442,0.0771804004907608,-0.0872330218553543,-0.1099051535129547,-0.2603873908519745,0.0441368594765663,-0.1488848477602005,-0.1611886173486710,0.2752755284309387,0.1640261411666870,0.2272638082504272) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.1892446279525757,0.0594876147806644,-0.1489266455173492,-0.0055449968203902,-0.1177957877516747,0.2269909381866455,0.2510500252246857,-0.1484318375587463,0.0580869540572166,0.1149290502071381,-0.0335899591445923,-0.2038038223981857,0.1723133325576782,-0.0136199584230781,-0.0236567948013544,0.0881756991147995) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(0.0054041203111410,0.1229338720440865,-0.1747557967901230,-0.0370169505476952,-0.0565179511904716,0.0460983514785767,-0.0040057785809040,-0.0819256231188774,0.2103905230760574,-0.3779387772083282,-0.0084069026634097,0.0580889955163002,0.1885393708944321,-0.1327203810214996,-0.3133801817893982,0.0391480140388012) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(-0.2097729891538620,-0.1689597666263580,-0.1664648503065109,-0.1793139427900314,-0.0850801393389702,0.2283965647220612,-0.0577811487019062,0.1894859671592712,0.1025840565562248,0.1195367202162743,-0.2647812962532043,0.0160049684345722,-0.1704923957586288,-0.1322751492261887,0.1252082735300064,-0.0197375323623419) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(-0.0013422787887976,0.1129100173711777,-0.0038423587102443,0.1264080852270126,-0.0252035073935986,0.1085704267024994,0.2262658178806305,0.1140006110072136,0.1575347781181335,0.3107490539550781,0.0905072987079620,0.0279484353959560,-0.1788310706615448,0.1854739636182785,-0.0918399766087532,0.2511482834815979) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.1267061084508896,-0.1471017152070999,-0.2251567095518112,-0.1611172109842300,0.0942601561546326,0.0670419186353683,-0.0269072540104389,0.1851729154586792,-0.0551678612828255,0.1288409978151321,0.4945599734783173,0.0264458172023296,0.1613845676183701,0.0589136108756065,-0.0194913689047098,0.0697190389037132) * FEATURE2_texOff(vec2(1,0)); -res += mat4(-0.0895941033959389,-0.0320550128817558,-0.0735349804162979,-0.0348859019577503,-0.0243661850690842,0.0162992011755705,-0.2477076500654221,0.0838671103119850,-0.0076459781266749,-0.1001882851123810,0.0527665242552757,0.0665429830551147,0.0335152857005596,0.0992514267563820,0.2353664934635162,0.1117936298251152) * FEATURE3_texOff(vec2(1,0)); -res += mat4(-0.1244806423783302,0.1107732355594635,-0.0505175180733204,0.0150187658146024,-0.1515004038810730,0.3250357508659363,0.0479312203824520,-0.0896787196397781,-0.0060879425145686,0.0559833347797394,0.2023715227842331,0.2517331838607788,-0.0951916500926018,-0.0684622079133987,0.0637184381484985,0.0469728000462055) * FEATURE4_texOff(vec2(1,0)); -res += mat4(0.0421132631599903,-0.0666640400886536,-0.0614126957952976,-0.1348003000020981,-0.0451293289661407,0.1003058180212975,0.0200788099318743,-0.2391413450241089,-0.0311860535293818,-0.0136138740926981,-0.1848115772008896,0.0732163786888123,-0.0604140311479568,0.0811294242739677,-0.0391813740134239,0.2426086068153381) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.0365599356591702,0.2424106597900391,0.1032833904027939,0.1385392546653748,-0.0783990547060966,-0.0829616039991379,-0.0824204236268997,-0.0937133431434631,-0.1557883322238922,-0.0602848269045353,0.0037280109245330,0.0278095174580812,0.0402884408831596,0.0789545029401779,-0.0467504560947418,0.0939249768853188) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.2891236245632172,0.2102823406457901,0.3137135207653046,0.2868292033672333,0.2091424912214279,-0.1346053779125214,-0.0634608119726181,-0.0963971167802811,0.1247189715504646,0.0464955158531666,-0.0033531992230564,-0.0981209874153137,-0.0109948534518480,0.3303783833980560,0.2545963227748871,0.0130921611562371) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-0.0735277459025383,-0.0561351887881756,-0.1501527428627014,-0.0449621304869652,0.1262317150831223,0.0975477918982506,-0.0120284929871559,0.0393448099493980,0.0638149231672287,0.0163939800113440,-0.1339456140995026,-0.0908776968717575,-0.0123067917302251,-0.1234612539410591,0.0678170993924141,0.0884721055626869) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.4124448597431183,-0.1573285609483719,1.0311002731323242,-0.2229315489530563) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 1_4 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL24 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0276391524821520,-0.0368193946778774,0.0009587873355485,-0.0088042151182890); -res += mat4(-0.0512284897267818,-0.1266047507524490,0.0003899600997102,0.0382442288100719,0.0280260406434536,-0.0985767468810081,0.0960592478513718,0.1009741127490997,0.0794202387332916,-0.0894011631608009,-0.0318590365350246,0.2820032536983490,0.1622142791748047,-0.0648426041007042,-0.0318264104425907,0.2290576994419098) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.0880835801362991,-0.0746648088097572,0.0301566477864981,0.2522626519203186,0.0198932215571404,-0.3623333871364594,-0.1393494457006454,0.0810209363698959,-0.0337680168449879,0.4135749340057373,-0.0275239255279303,0.1069174632430077,-0.0867640748620033,0.2835955321788788,0.0385841131210327,-0.2772567570209503) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(0.1398154497146606,0.1833032965660095,0.1429570466279984,-0.2008739262819290,0.1255137324333191,0.1759242862462997,-0.0801086202263832,0.1022183746099472,-0.1252491176128387,0.2192120701074600,-0.0901050195097923,-0.0739596411585808,-0.0145227387547493,0.2093513756990433,0.0989906564354897,-0.4653756022453308) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.0910915136337280,0.0218110010027885,-0.2299140542745590,-0.0992468520998955,0.1527165621519089,-0.0234429500997066,0.1729617714881897,0.1210219487547874,0.0308788418769836,0.1581681817770004,-0.1064032241702080,0.1713964939117432,-0.0579254552721977,-0.0981267616152763,0.0721170827746391,0.4352712929248810) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.1139030829071999,0.1903209835290909,-0.0222220905125141,0.3532032668590546,0.0809147581458092,0.0770453140139580,-0.0473277904093266,0.0858416631817818,-0.0970203354954720,0.1008593663573265,0.0660797581076622,-0.1909750699996948,-0.2427512258291245,0.6397042274475098,0.0922172367572784,0.0495349727571011) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.3992361724376678,0.0173487830907106,-0.1029165908694267,-0.1035509854555130,0.1490598171949387,0.0421177074313164,-0.0064252838492393,-0.3544484078884125,-0.2148116081953049,0.0754418447613716,-0.1371121853590012,-0.0036297440528870,-0.1118893921375275,0.0114238159731030,-0.0887103676795959,0.1135005429387093) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(-0.1465966850519180,0.1308209002017975,-0.0314560718834400,0.0195829663425684,0.0382306873798370,-0.0358776263892651,0.0588177591562271,0.1130544021725655,0.0667202621698380,-0.4304334819316864,0.1731773465871811,-0.0338225960731506,0.1401392072439194,0.3294782638549805,0.1753993630409241,-0.2321190536022186) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(0.1495974510908127,0.1306014209985733,-0.0431498326361179,-0.0301422402262688,-0.0120332324877381,0.1270328462123871,0.1222266033291817,-0.2212877422571182,-0.1681265830993652,0.0441069379448891,-0.0305443741381168,0.3058312237262726,-0.4929610788822174,0.0790526047348976,0.4786027669906616,-0.2305954843759537) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.1589186042547226,0.0605827085673809,-0.2689137160778046,0.0477557331323624,0.1626936197280884,-0.0011751441052184,-0.0710681602358818,0.0493479035794735,-0.1455902308225632,0.1495406925678253,0.0642785280942917,0.0444303490221500,0.0708884596824646,0.2172771692276001,-0.3717521131038666,-0.1617302000522614) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.2892165184020996,0.1441503465175629,0.0615429878234863,-0.1020750626921654,-0.0370684303343296,0.0746947675943375,-0.0515859760344028,-0.0460813269019127,0.1917646825313568,0.6001849174499512,0.0201843176037073,0.1827513128519058,-0.1692900210618973,0.1987190395593643,-0.0395970046520233,0.1350836455821991) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.1074120476841927,0.1280410736799240,-0.2243510931730270,0.0713966265320778,0.1218168810009956,-0.1806309372186661,0.0024074912071228,-0.0816539302468300,-0.1269691437482834,0.0446485243737698,-0.1393088549375534,0.0748079717159271,0.3676311075687408,-0.2882465422153473,-0.0363978743553162,-0.0816833227872849) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(0.1200772225856781,-0.0123626114800572,0.0137382885441184,-0.0404612123966217,0.3193710744380951,0.0684955194592476,0.0106347827240825,0.1104538217186928,0.0417028255760670,0.0828518643975258,-0.2320852130651474,0.0331128612160683,-0.0971346870064735,0.1526152640581131,-0.0779332667589188,-0.0929415822029114) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(0.0525921061635017,-0.3359874486923218,-0.0078710718080401,-0.1374333500862122,0.2590954601764679,-0.0768891125917435,0.0508984476327896,-0.1581731736660004,-0.0318949185311794,-0.1478116214275360,-0.2305790483951569,0.1825617700815201,0.0293236523866653,-0.1312873065471649,-0.0622633099555969,0.3680928349494934) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(-0.0203104615211487,0.0025942281354219,-0.0195699967443943,0.1549775004386902,0.0978987291455269,-0.2722118794918060,0.0655220821499825,-0.2815326154232025,0.0942241922020912,-0.2385305911302567,-0.0729167684912682,-0.0312109272927046,0.1115255951881409,-0.0284709408879280,-0.0194077510386705,0.1887127459049225) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(0.0734510943293571,-0.1324222683906555,0.2535214722156525,-0.1086499541997910,-0.1143152341246605,0.0077860797755420,0.0962566882371902,0.1382277309894562,0.0008813540916890,0.2378026843070984,0.1073359325528145,-0.0395402163267136,-0.2830325365066528,0.0064922729507089,-0.0966577902436256,0.2031780183315277) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(0.0153142679482698,-0.1495558768510818,0.0346917286515236,0.1711444109678268,-0.0391992926597595,-0.0994686484336853,0.1475034058094025,0.0605712905526161,-0.1002967506647110,-0.0975978970527649,0.2227404564619064,-0.0167322885245085,-0.0164016820490360,-0.1338599324226379,-0.0343371964991093,0.0646810233592987) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-0.2792942821979523,-0.0136374095454812,0.2159845530986786,-0.0228838622570038,-0.1302424520254135,-0.0234360862523317,0.2155476659536362,0.0558985620737076,-0.2886854708194733,-0.3616232872009277,0.2785043418407440,-0.1198430880904198,-0.4276877939701080,-0.2380819022655487,0.3149649202823639,0.2742180526256561) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-0.1440424174070358,-0.0905576795339584,-0.5096263289451599,0.3241795003414154,-0.3366738855838776,-0.5786947011947632,0.6236954331398010,-0.3417075276374817,-0.2193205356597900,-0.9815174937248230,0.3053073287010193,0.1079142317175865,-0.0470061823725700,0.1895188987255096,0.2669617533683777,0.0896047949790955) * FEATURE2_texOff(vec2(0,0)); -res += mat4(0.3119420409202576,-0.3241403102874756,0.1295046508312225,0.1543032824993134,0.1846247166395187,0.1443347930908203,-0.2766005694866180,0.1804308891296387,0.0580570437014103,0.0978658050298691,-0.2054129242897034,-0.2724965810775757,-0.1148106753826141,-0.2765281200408936,0.2202637642621994,-0.0679227337241173) * FEATURE3_texOff(vec2(0,0)); -res += mat4(-0.1073105335235596,-0.0922479107975960,0.0815344899892807,-0.0934060215950012,0.0450365319848061,-0.1618713736534119,-0.0057997745461762,0.0604049861431122,-0.3930872082710266,-0.1035098209977150,0.0897450521588326,-0.1435426026582718,0.1402607262134552,-0.2779651582241058,0.2919771075248718,0.0986392125487328) * FEATURE4_texOff(vec2(0,0)); -res += mat4(-0.2215272784233093,0.2717513144016266,0.2179019898176193,-0.2265601605176926,-0.1447246074676514,-0.0803046002984047,0.1011651083827019,-0.2436654865741730,-0.1627176105976105,0.0800484791398048,0.1941668242216110,0.1445065885782242,-0.0223881006240845,-0.0276836343109608,0.0174419265240431,0.1133214980363846) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.3692201972007751,-0.1681609749794006,0.1008485332131386,-0.0330225676298141,-0.1842451244592667,0.0659887120127678,0.1862346827983856,0.2495231032371521,-0.1613597869873047,-0.5406157374382019,0.3562872707843781,0.0758387371897697,-0.0238100755959749,-0.0099044134840369,-0.1040502637624741,0.0045572747476399) * FEATURE2_texOff(vec2(0,1)); -res += mat4(0.1984873563051224,-0.0321327298879623,-0.0767363905906677,-0.3458163440227509,-0.0624072887003422,0.2217394262552261,-0.1812375783920288,-0.2007366567850113,-0.0360004305839539,-0.0814774483442307,0.0301776006817818,0.0453007817268372,0.1291864663362503,-0.5016673803329468,0.2331795990467072,-0.0206286571919918) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.1869669109582901,0.1175568699836731,-0.0093930615112185,-0.0982860177755356,0.1489449739456177,0.1509801298379898,0.1364290863275528,0.1481650918722153,-0.2728213369846344,-0.0595689080655575,0.1831181943416595,0.1033088639378548,-0.0593473203480244,-0.1265224367380142,-0.1357106417417526,-0.0648572370409966) * FEATURE4_texOff(vec2(0,1)); -res += mat4(-0.0581371076405048,0.0164663475006819,-0.2379105985164642,0.1111095994710922,-0.1268516927957535,0.0199379976838827,0.0668751820921898,-0.0209231674671173,-0.0068986923433840,0.2107154875993729,0.0485591664910316,0.0268871169537306,0.0251561682671309,-0.0467116571962833,-0.0188051257282495,0.2871693074703217) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.0911727920174599,0.0826637521386147,0.0314448922872543,-0.0948437526822090,0.2545170187950134,0.3610626161098480,-0.2539221644401550,-0.1029973998665810,-0.1752015799283981,0.1109408810734749,-0.0078666815534234,-0.0144435223191977,0.0496135279536247,-0.0564512796700001,0.1520180106163025,-0.0158360097557306) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.1364693939685822,-0.0705100819468498,0.0106494743376970,-0.2988429069519043,-0.0525171011686325,-0.1362292468547821,0.1148492917418480,-0.0203459002077579,0.1034045144915581,-0.0856523290276527,0.0057818167842925,0.1133263111114502,-0.3602631986141205,-0.2070565819740295,-0.0580713823437691,0.0692999809980392) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.0803081840276718,-0.0132953720167279,-0.0820070505142212,0.1188346147537231,-0.0762649551033974,-0.0126790665090084,-0.1647856980562210,-0.2004527598619461,0.0922043696045876,0.0458665415644646,0.0243337117135525,-0.1386706084012985,0.1162140890955925,0.2359302341938019,-0.0947909057140350,0.1188478693366051) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(0.2241883575916290,-0.0002685249201022,-0.0647603645920753,-0.0743931904435158,0.0535587742924690,0.1856697201728821,0.0826538503170013,0.1249624118208885,0.0442660711705685,-0.1140523701906204,0.0535282008349895,-0.1772371083498001,-0.0947251766920090,-0.2532318532466888,-0.1441475301980972,-0.2547788023948669) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.1205939874053001,0.0580725893378258,-0.0748139247298241,-0.1515609622001648,0.2546226978302002,0.1498339474201202,0.0359260998666286,0.1716753095388412,0.0893829911947250,0.3786503672599792,-0.2136993557214737,0.2561863958835602,-0.2029487192630768,0.0214800536632538,-0.0743292272090912,0.1618950664997101) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.4180209338665009,-0.0216797441244125,-0.3631378412246704,0.3311598598957062,0.0777714550495148,-0.0235705375671387,-0.0216308142989874,-0.0137214148417115,-0.0879728794097900,-0.0042620217427611,0.1639691442251205,-0.0467774234712124,-0.2364792823791504,0.4306892752647400,-0.1660353988409042,-0.0198664423078299) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.0329383164644241,0.0616457127034664,-0.0876978114247322,-0.0902816206216812,0.1547207981348038,-0.1080925613641739,0.0620862543582916,0.1953070461750031,-0.1226431578397751,-0.0826953724026680,0.0106061799451709,-0.0180888026952744,0.1180846989154816,-0.0574277527630329,-0.3581351637840271,0.1040254086256027) * FEATURE4_texOff(vec2(1,0)); -res += mat4(0.0718922466039658,-0.0639816597104073,0.2500624358654022,0.0169612597674131,-0.1061661243438721,-0.0787121802568436,-0.1806877404451370,-0.0875897556543350,0.0795312747359276,-0.0504190176725388,-0.0427933260798454,0.1079434454441071,-0.1743738204240799,0.0503573343157768,-0.2626316845417023,0.1060481369495392) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.2877856194972992,-0.0192954391241074,0.0357379056513309,0.0966648235917091,0.1347411870956421,0.1897733956575394,0.0600231923162937,0.1145158261060715,0.0577433519065380,-0.0875665172934532,-0.1702442616224289,-0.2217882275581360,-0.0265153795480728,-0.0828273594379425,0.0133187333121896,-0.1086040809750557) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.2957399487495422,0.1281296312808990,0.1354809850454330,0.1091071963310242,0.0684738680720329,0.0143296299502254,-0.0095662921667099,-0.0333633571863174,0.2293163388967514,0.0573069900274277,-0.0318913869559765,0.1224356889724731,-0.1447125226259232,-0.0462449304759502,-0.1280532181262970,0.2198632806539536) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-0.1249560043215752,-0.1264289617538452,-0.0111747449263930,0.2133233994245529,0.0737310945987701,0.0572129078209400,-0.1522866785526276,-0.0053331558592618,-0.2315830886363983,0.0517257228493690,-0.1161448284983635,-0.0945684909820557,-0.1519399285316467,0.0498700365424156,0.1356800198554993,0.0395055748522282) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.0685209408402443,-0.1466239243745804,0.3530291020870209,1.6856886148452759) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 2_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0252641290426254,0.0020070585887879,-0.0112976124510169,-0.0971267968416214); -res += mat4(-0.1112153232097626,-0.1290152519941330,0.0668729767203331,0.0118868779391050,0.1585973799228668,-0.0442963168025017,0.0418141037225723,0.1137910261750221,0.0022396857384592,0.0899342969059944,0.0501550808548927,0.0310229063034058,0.1902621537446976,-0.1355086266994476,-0.0383094958961010,0.1221060305833817) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0415162704885006,0.0882404297590256,0.0391035228967667,0.0613963231444359,0.2475083470344543,-0.1803741455078125,-0.0198698658496141,-0.1254646480083466,-0.0021560578607023,-0.1062044128775597,0.1026266366243362,0.1119068190455437,0.4476961791515350,-0.0280944202095270,0.1568178832530975,-0.2190666645765305) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0188779961317778,0.0277530476450920,0.0389820747077465,-0.2586156129837036,0.0106787811964750,0.2646213471889496,0.0013440174516290,-0.0087228240445256,-0.0968640223145485,-0.0614846833050251,0.1707906574010849,0.0456502810120583,0.0542166642844677,0.0050051584839821,-0.1619164794683456,0.2529488205909729) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0292564854025841,0.0573729574680328,-0.1158921718597412,0.0802060514688492,0.0014583545271307,0.1242551058530807,0.1504593491554260,-0.0239170473068953,0.0165718980133533,-0.0962095558643341,0.1369344890117645,-0.0701941400766373,-0.1156022772192955,-0.1000966429710388,-0.0309402327984571,0.1054060235619545) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.1535729616880417,-0.1164233237504959,-0.2167192697525024,0.1613093018531799,-0.0575151145458221,-0.1343143731355667,-0.3082703948020935,-0.0021589924581349,-0.0427034050226212,0.3576787114143372,0.0021093410905451,0.1162859648466110,0.0451593697071075,-0.1494793742895126,-0.0023208828642964,0.0194115508347750) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.0503892861306667,0.0074637639336288,0.2246681302785873,-0.0423772446811199,0.0203022230416536,0.0625192672014236,0.2670632302761078,-0.0629446730017662,-0.1362903565168381,0.2051977068185806,0.0412527546286583,-0.2094710320234299,0.1026567295193672,-0.0812265202403069,-0.0212699882686138,-0.3340020775794983) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0936334207653999,0.0898199155926704,0.1125340312719345,-0.1178874298930168,-0.1604606509208679,0.1726250797510147,-0.1367091685533524,0.2221400588750839,0.2257149219512939,0.3986952900886536,0.0298280436545610,0.0259350389242172,-0.0829658061265945,-0.0621973760426044,-0.0665359422564507,0.0518289841711521) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.0050784200429916,-0.0438972637057304,0.0195731092244387,0.0615627765655518,-0.0996580272912979,0.0995503216981888,0.0083520598709583,-0.0639638230204582,-0.0507641807198524,-0.2197446078062057,-0.4345829486846924,-0.0690348520874977,-0.1994791328907013,0.1285219937562943,0.1701527237892151,-0.1436640024185181) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.0924441888928413,0.0236251149326563,-0.4910494089126587,0.0253128912299871,0.0478841923177242,0.0546688549220562,0.0182913988828659,-0.1137692704796791,0.1773209869861603,0.1137646883726120,-0.1463402658700943,0.0824856981635094,0.0260467510670424,0.1323533058166504,-0.2106251418590546,-0.0164368599653244) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0113249095156789,0.0121775679290295,0.3036385178565979,-0.0711661055684090,0.0071473894640803,0.0653769969940186,0.0444424673914909,0.1048209741711617,0.0073815234936774,-0.0720506235957146,0.0157744269818068,-0.0822135210037231,0.0176163744181395,-0.1016462519764900,-0.0552337914705276,-0.1344270259141922) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0391482673585415,-0.0465121790766716,-0.1243414431810379,0.1298855543136597,-0.2934526801109314,-0.0861015766859055,-0.2106774300336838,0.0624218992888927,0.0460473597049713,-0.1302386671304703,-0.1231082528829575,-0.3038274049758911,0.0471962280571461,-0.1751445084810257,0.0088917221873999,0.1439039707183838) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.0777043402194977,0.0375744961202145,-0.2180566191673279,-0.1813468188047409,-0.0745469704270363,-0.2368815839290619,0.0959016606211662,0.0049554058350623,0.1009718552231789,0.2360313534736633,-0.0028967154212296,-0.0317436158657074,0.2783422768115997,0.1929028630256653,-0.0215986371040344,-0.0122601818293333) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.1924431771039963,0.1783954352140427,0.2372474074363708,0.0639218538999557,0.0571426115930080,-0.4163235127925873,-0.3362930119037628,0.0283660516142845,0.0671776533126831,0.0109091829508543,0.4148448705673218,0.0241018421947956,-0.2733539640903473,0.4192453920841217,0.2738875746726990,0.0797610655426979) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0212403070181608,-0.2697927057743073,-0.1744555979967117,-0.0606739483773708,-0.0857950374484062,0.1570112705230713,-0.0018789059249684,-0.2498721182346344,-0.0161301326006651,-0.2893466651439667,0.0802197083830833,0.1134568080306053,0.1777777373790741,0.0353450402617455,-0.0900064632296562,0.0751536414027214) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.2031233608722687,-0.0338623449206352,-0.0822928696870804,0.1247866824269295,-0.1269137710332870,-0.2576018273830414,-0.0917174965143204,0.0713449046015739,0.0128632178530097,-0.1282040476799011,0.0337126217782497,-0.1021205335855484,-0.0005837124772370,-0.2502804100513458,0.0379060283303261,-0.0176716819405556) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0422750413417816,0.0589921548962593,0.8017035722732544,-0.0014115098165348,-0.0393681973218918,0.4956814348697662,0.0968101620674133,0.0629168972373009,-0.1774604767560959,0.0633111223578453,0.0452733784914017,-0.2390646040439606,0.1999530196189880,-0.1968724727630615,0.0808281823992729,0.0941600054502487) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.0352727212011814,0.3437806069850922,-0.0476344861090183,-0.1606630235910416,-0.0343705490231514,0.1333051025867462,-0.5940815210342407,-0.0394776575267315,-0.0744098052382469,-0.3511085510253906,-0.2558006346225739,0.4300695061683655,0.2079274207353592,-0.4144565761089325,-0.0982594862580299,-0.1615497320890427) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.0059860688634217,0.1273269206285477,-0.3456586599349976,-0.0190329030156136,0.1169960796833038,-0.1429924070835114,-0.0033589454833418,0.2456189990043640,-0.0092286551371217,-0.2694190144538879,0.1299170553684235,0.1960584372282028,0.1669663637876511,-0.0484806038439274,-0.1899022608995438,0.1647327840328217) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.0625243261456490,0.1032451093196869,-0.2932478487491608,0.1190262883901596,0.0616716109216213,0.0938597172498703,-0.1479334682226181,-0.3196952342987061,-0.1079709678888321,-0.0462686419487000,-0.0123734986409545,-0.1397174149751663,-0.0758672803640366,0.3155734241008759,0.2930433154106140,-0.2042100727558136) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.3102602362632751,-0.4287241697311401,0.3141718804836273,0.0350647680461407,-0.1062964424490929,-0.3341901004314423,0.1113465353846550,0.0154921691864729,-0.1653561890125275,0.3684203624725342,0.0569069758057594,-0.2477611005306244,-0.0763007178902626,-0.5039454698562622,0.2129010260105133,0.0918852165341377) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.1528778672218323,0.0202827136963606,-0.2039165645837784,-0.0049510928802192,0.1949958056211472,-0.0766472518444061,0.1119823306798935,-0.2927724421024323,0.1109305992722511,0.0024666218087077,-0.0852363407611847,0.1361898183822632,-0.0043576471507549,-0.1508250385522842,-0.1213319674134254,-0.2703056037425995) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.2466580718755722,-0.0102472612634301,-0.0035874743480235,-0.0960575714707375,0.1597584187984467,-0.0370427444577217,0.2127049714326859,-0.2604130506515503,-0.1293757706880569,0.1866120547056198,0.1729621887207031,0.1077893078327179,0.2043562829494476,0.1016410365700722,-0.0543094277381897,-0.0761859342455864) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.1533411294221878,-0.0147021356970072,-0.1735900640487671,-0.0857466235756874,0.0696973279118538,0.0461607165634632,-0.1468752622604370,-0.0073966621421278,-0.3312566578388214,0.0919762402772903,-0.1047898009419441,-0.1136892884969711,-0.1360038965940475,0.2013337463140488,0.1234860643744469,-0.1336199790239334) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.0098816882818937,0.0096082901582122,-0.0194525942206383,-0.1894365102052689,0.0175760649144650,0.3709345459938049,0.1656151562929153,-0.0369059182703495,0.0341509804129601,-0.2093078196048737,-0.1340210586786270,-0.0690313056111336,0.1944856196641922,-0.0593277141451836,0.1038036644458771,0.0076564503833652) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0145893357694149,-0.2569732069969177,0.0885745361447334,-0.1714108437299728,0.0432470701634884,0.1793710142374039,-0.2939989864826202,0.0229709502309561,0.0542569123208523,-0.0988112017512321,0.0202424433082342,-0.2312433272600174,-0.0552027523517609,0.1280310153961182,0.0492839440703392,0.1757804751396179) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.3073885738849640,0.2344706654548645,-0.1168434545397758,-0.2214684784412384,0.0571368373930454,-0.5391205549240112,-0.1411010324954987,-0.0425849296152592,-0.0173266585916281,0.0684327781200409,0.0843692347407341,0.0584979951381683,0.2396380305290222,-0.1728077530860901,0.0662056952714920,0.1055703312158585) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.0243379548192024,0.0576447062194347,-0.0262649431824684,0.0168959647417068,0.0717182382941246,0.0354443006217480,-0.0666614472866058,-0.3415270745754242,-0.0501335300505161,0.1691432744264603,0.0794525966048241,0.0586176477372646,0.0911357924342155,-0.0447581633925438,0.1969918459653854,-0.0579728111624718) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.1118244975805283,0.0151733597740531,0.4261389076709747,-0.0512168630957603,-0.0730302482843399,0.2573783695697784,0.1865445226430893,-0.0135002937167883,-0.0590215884149075,-0.6961117982864380,0.1854244619607925,-0.0234839953482151,-0.1179354637861252,-0.0389842763543129,0.0056326398625970,0.3447855114936829) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.2119042277336121,-0.0400464348495007,-0.1367520391941071,-0.0675146207213402,0.0725385025143623,0.0308250635862350,-0.2567870020866394,-0.2430749535560608,-0.0460075512528419,0.1475888043642044,0.1505183428525925,-0.1297791302204132,0.2682323753833771,0.2181311547756195,-0.2046609222888947,-0.1567910313606262) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0110625857487321,-0.0195069331675768,0.0727807581424713,-0.2164670377969742,-0.2580776810646057,0.0179920289665461,-0.2441963851451874,0.1138706579804420,0.0938788875937462,-0.1292000412940979,0.0078846858814359,-0.1092280596494675,0.0832615420222282,-0.0028215555939823,-0.0535462461411953,0.3874228298664093) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.2820084989070892,0.0044152657501400,0.0032118041999638,0.3697174489498138,0.0823801383376122,0.0659788399934769,-0.0891094952821732,-0.0316361635923386,-0.1892217695713043,-0.3404721617698669,0.2671749591827393,0.0481932125985622,-0.1755365729331970,-0.2196994721889496,-0.0300163086503744,-0.1842257976531982) * MODEL23_texOff(vec2(1,0)); -res += mat4(0.0686017945408821,-0.1509299278259277,0.1429064571857452,0.1194094717502594,0.0907324030995369,0.0474951341748238,-0.2149759382009506,-0.3423605263233185,-0.0300542600452900,0.0238965954631567,-0.0861588642001152,-0.2175619751214981,-0.1813366860151291,-0.1491464078426361,-0.0436973236501217,0.0809323191642761) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0549467317759991,0.1676653474569321,-0.0363611206412315,-0.1386555731296539,0.0509185940027237,0.0146528575569391,-0.2752462327480316,-0.0275595486164093,0.0468580946326256,-0.2031522244215012,-0.0148721896111965,0.2903475463390350,-0.0474689789116383,0.1088950186967850,-0.0977190062403679,0.0917568951845169) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.0792685672640800,0.0026835498865694,0.1207516714930534,-0.0853453353047371,-0.0120416637510061,-0.0484751760959625,-0.3234220147132874,0.2299493998289108,-0.0252957977354527,0.0075421952642500,0.0648552179336548,-0.0809669345617294,0.1886993795633316,-0.0241757091134787,-0.0375543795526028,0.2057665735483170) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.1336321830749512,-0.0607530772686005,-0.0417493768036366,0.0523307174444199,-0.0663967430591583,-0.0191527139395475,0.0510897785425186,-0.1875380277633667,-0.1703707873821259,0.2028727382421494,-0.1047068834304810,-0.0357626788318157,0.0777209326624870,0.0011983948061243,0.1192802339792252,-0.1174854114651680) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.0474792011082172,0.0236374791711569,-0.3770178854465485,-0.0976087376475334,0.0647136867046356,0.2597187161445618,0.2058401554822922,-0.0147128775715828,0.1671024560928345,-0.1731404811143875,0.1371451467275620,0.0042626857757568,-0.0421997830271721,0.5207641720771790,-0.0902144312858582,0.1766482144594193) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.8545718789100647,-0.0840604752302170,-0.0907920897006989,0.2459163814783096) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 2_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0801050662994385,0.0994666591286659,0.1125593259930611,0.0852865576744080); -res += mat4(-0.1076162829995155,0.0266945809125900,0.0198028944432735,-0.0909305214881897,-0.1235600113868713,0.0722407102584839,-0.0443985834717751,0.0059736096300185,0.0491683483123779,0.1287503838539124,0.1809915900230408,-0.0070542865432799,0.1541907638311386,0.0577855221927166,-0.2265781909227371,0.0782156139612198) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0884904488921165,0.0377266407012939,-0.0276375859975815,-0.0822868347167969,0.1425243914127350,0.0806366652250290,0.0922210067510605,0.1286708414554596,-0.1484761834144592,-0.0301500968635082,-0.0055872774682939,0.0161952208727598,0.4339979588985443,0.0380864329636097,-0.1138076707720757,0.1879473179578781) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.2449868768453598,0.2305254340171814,-0.0461190715432167,-0.2919104099273682,-0.0156384315341711,0.0992589965462685,-0.1274316608905792,-0.2707347273826599,0.1928935199975967,-0.2594090402126312,-0.1163630560040474,0.0172485932707787,0.2589476406574249,0.0019404403865337,0.0474975742399693,0.2575989663600922) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.0475100353360176,-0.1571575701236725,-0.2145249843597412,0.4844884574413300,-0.0216422565281391,-0.0824311375617981,0.2302782386541367,-0.1298962384462357,-0.0242775734513998,-0.1919456273317337,0.1028647124767303,0.2100389599800110,-0.1880834549665451,-0.0531477034091949,0.1091206669807434,-0.0349448174238205) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0937834307551384,-0.0431016944348812,0.0499998889863491,0.2555504739284515,0.2153814882040024,0.0436704270541668,0.0409013405442238,0.0823329240083694,0.1453103870153427,0.2357983738183975,0.1184995695948601,0.1039678230881691,-0.0968736559152603,-0.1543714106082916,-0.0155327608808875,-0.0496940165758133) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1541574299335480,0.0462776720523834,0.1389753818511963,-0.0364779159426689,-0.1614634841680527,-0.0453020967543125,-0.0589548386633396,-0.0239928495138884,0.1283895373344421,0.0114042377099395,0.0370410792529583,0.1327277421951294,-0.0000656814154354,-0.1986267566680908,0.2169470638036728,0.1556583940982819) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0373123362660408,0.0372782796621323,0.1676844209432602,-0.1999126523733139,-0.1270708143711090,0.0970383137464523,-0.0399069190025330,-0.3352887332439423,-0.4539073109626770,0.1036956906318665,0.4347033798694611,-0.3350403606891632,-0.3603274822235107,0.0875138640403748,0.0526728853583336,0.3195717036724091) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.1242399737238884,-0.0889202132821083,-0.1343170702457428,-0.2953342497348785,0.0153844067826867,-0.0240883398801088,-0.0004045188543387,-0.1458905339241028,0.0373688153922558,-0.0160305183380842,-0.1034718975424767,0.0265125390142202,-0.0347625054419041,-0.2592774629592896,-0.1017255261540413,0.0414492636919022) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.0758282393217087,-0.2325401753187180,0.0121709108352661,-0.0803330987691879,-0.1435064226388931,0.0256339330226183,0.0273901242762804,-0.0140262683853507,-0.2210821658372879,0.1979586631059647,-0.1605195850133896,0.0261953733861446,0.1407209187746048,0.0468989051878452,-0.0349932424724102,0.1721057891845703) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0681628435850143,-0.0098209036514163,0.1239921897649765,-0.0204317718744278,0.0804548338055611,0.2152336686849594,-0.0024442567955703,0.0320925526320934,0.0361015871167183,-0.0205314978957176,-0.1126058697700500,-0.0014873257605359,0.2800332605838776,0.0037784755695611,0.0869058221578598,0.0596554465591908) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0865352898836136,0.1016037687659264,-0.1264311075210571,-0.0650823414325714,0.1625873446464539,0.1388018280267715,0.0026970407925546,-0.2184839397668839,-0.2269182056188583,0.1520041227340698,0.1423522979021072,-0.0059245000593364,0.0274912212044001,-0.0769346952438354,-0.0494759194552898,-0.1748398691415787) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.0750753954052925,-0.0273857451975346,0.1419735848903656,-0.0235730838030577,-0.0138704841956496,-0.0139689007773995,0.0483048185706139,-0.0956244021654129,0.1120440736413002,-0.0972621366381645,-0.1160798147320747,0.1939661800861359,0.1023747995495796,-0.0643956139683723,0.2780937850475311,0.3574087619781494) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.2297069579362869,0.0962421149015427,-0.1195881068706512,0.0097166597843170,0.0348805896937847,0.1338941305875778,0.1152703538537025,0.1502132713794708,0.3627513647079468,-0.0340237580239773,0.0487365946173668,0.0061550815589726,-0.1395468115806580,-0.1357703059911728,-0.0263763219118118,-0.2589575350284576) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0513985306024551,-0.0190195124596357,0.0479905530810356,-0.2535712718963623,-0.1374500244855881,-0.0866894349455833,0.1034291535615921,-0.1374215781688690,0.0866108834743500,0.0543164573609829,-0.0009623619844206,-0.0662131085991859,0.3434849381446838,-0.2140731215476990,0.1444104611873627,0.0636750832200050) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.1116948574781418,-0.0316041857004166,-0.1632359474897385,0.1782215535640717,-0.0255798362195492,-0.0638066157698631,-0.0080749560147524,-0.1936112344264984,-0.0144117018207908,-0.0171538740396500,-0.0740332379937172,-0.1351401209831238,-0.1139489710330963,-0.0578186400234699,-0.1057691052556038,0.1277135163545609) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0818284749984741,-0.0793879851698875,-0.1394771486520767,-0.1681332737207413,0.0181720070540905,-0.0585673451423645,0.0554860942065716,0.0241071023046970,-0.1968786269426346,-0.0705669671297073,0.0864307507872581,-0.2742085456848145,0.1376655697822571,-0.0656840577721596,0.1653045862913132,-0.1848305314779282) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.1254152655601501,-0.0198164507746696,0.1184594780206680,0.1534397155046463,-0.2571099698543549,-0.0189164727926254,0.3401025831699371,0.0162880644202232,-0.1703143566846848,-0.1438487768173218,-0.2043357193470001,0.3892571032047272,-0.3171251416206360,-0.1261951327323914,0.1327711045742035,-0.2680117785930634) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.1005501970648766,0.1227165609598160,0.0960206910967827,-0.4399232268333435,-0.3774831891059875,0.0490228980779648,0.0381175167858601,-0.1295703649520874,-0.0732832849025726,-0.0267067495733500,-0.1944154500961304,-0.0241207536309958,0.2901774048805237,-0.0830366536974907,0.2960685491561890,-0.4988582730293274) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.0147057073190808,-0.1284276843070984,-0.2404933720827103,0.1863894313573837,0.1022091433405876,0.0848517194390297,0.0398509576916695,0.0116729624569416,-0.0392150692641735,0.0024178705643862,-0.1381286531686783,-0.2900184392929077,-0.0715357512235641,-0.0105091603472829,-0.0912584289908409,-0.3712546527385712) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.0243808180093765,-0.0519543960690498,-0.1486581712961197,0.1387389749288559,-0.0702589079737663,-0.2179156243801117,0.0258279461413622,-0.0185336414724588,-0.0714985132217407,0.1415340155363083,0.3182643651962280,-0.4657842814922333,0.2144563347101212,0.0918599069118500,-0.1168326437473297,0.1724049299955368) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.0126319238916039,-0.1009174659848213,0.2504695951938629,-0.0236394405364990,0.0128898788243532,-0.0896529331803322,0.0866011306643486,0.1438800841569901,-0.2136913686990738,-0.0201385989785194,-0.0688927844166756,-0.0991765856742859,0.0517510063946247,0.1439600437879562,0.1174704581499100,-0.1086399927735329) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0503461919724941,-0.0740107893943787,-0.1325467377901077,-0.2074648141860962,0.1072454899549484,-0.1761658638715744,0.0871471762657166,-0.1673765629529953,-0.2682093679904938,0.0293811168521643,-0.1638542264699936,-0.2117409408092499,0.3477135002613068,0.2295099198818207,0.0491019152104855,0.1084206327795982) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0504011251032352,0.2067288905382156,-0.0073629999533296,0.1457924097776413,0.0620339177548885,-0.1119948700070381,-0.1501118838787079,0.2346826344728470,0.5092602372169495,0.1868600249290466,-0.1136022731661797,0.1919664889574051,0.1219481229782104,0.2078367024660110,0.0028008318040520,-0.0405882745981216) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.2219170629978180,-0.0478240586817265,-0.0489866286516190,-0.0739227905869484,-0.1364644467830658,-0.2019552439451218,-0.1066836491227150,-0.0749373212456703,0.2374245673418045,-0.0857832208275795,-0.3563011586666107,-0.1506288647651672,-0.1566981822252274,-0.0162856802344322,-0.1215076893568039,-0.1535970270633698) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0579966939985752,-0.0037815778050572,-0.1812305003404617,-0.0753935948014259,-0.1741165965795517,-0.1541876494884491,-0.0491808578372002,0.0727171599864960,-0.1054848581552505,0.0190282333642244,-0.0141610363498330,-0.1216798201203346,0.0344856232404709,0.0057502901181579,-0.1386553198099136,0.1065665036439896) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0439453646540642,0.0813000127673149,-0.0220230370759964,0.0326743498444557,0.0087312972173095,-0.0348919928073883,0.0759362801909447,-0.1092130541801453,-0.0025188133586198,-0.0417857021093369,-0.0689977705478668,-0.0642506554722786,0.3260026872158051,-0.0035864580422640,-0.0810837224125862,0.1716388165950775) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0271371658891439,0.0734363794326782,0.0598491057753563,0.0557300187647343,-0.0026056636124849,-0.0633884444832802,-0.0733394920825958,-0.1940178871154785,0.2010715454816818,0.1119642481207848,0.1389995515346527,-0.0949506536126137,0.0911158993840218,0.0635829418897629,0.0315949209034443,-0.1315614432096481) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.1017910912632942,-0.2061360031366348,-0.1041752025485039,-0.0103018851950765,0.1707462370395660,-0.0586810894310474,0.0581866465508938,-0.0161019377410412,0.0879122987389565,-0.0541197322309017,-0.2283704727888107,-0.1977609544992447,0.1338181495666504,-0.0650581866502762,-0.0752524137496948,0.0543635524809361) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.1299287825822830,0.1638022810220718,-0.1342575103044510,-0.0590993240475655,-0.0747960284352303,-0.0861271098256111,0.0613376274704933,0.2032689154148102,-0.0197483338415623,0.0458240620791912,0.0245554819703102,-0.0633800178766251,-0.3771719038486481,-0.0954804494976997,0.0676602721214294,-0.1297683864831924) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0106584131717682,0.2311353236436844,-0.0716090351343155,-0.0407039411365986,-0.3316935598850250,0.0362733528017998,0.1759717166423798,-0.1649848371744156,-0.0889547392725945,-0.0092398673295975,-0.0180338956415653,-0.1939817070960999,0.2857017219066620,-0.0942703559994698,-0.0775639787316322,0.4081833660602570) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.0571750700473785,-0.1698885709047318,-0.1413949429988861,-0.0179388727992773,-0.1160788536071777,0.0946100726723671,-0.1626931577920914,0.0623765438795090,-0.1634476184844971,-0.1697023957967758,-0.1382151246070862,0.0848704501986504,0.1146163865923882,-0.0801072195172310,0.0961583033204079,0.0265287980437279) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0189419556409121,-0.0117408009245992,-0.0473808012902737,-0.0467528775334358,0.1804582625627518,0.0459953360259533,0.3216558992862701,0.0527309626340866,0.0947266072034836,-0.0655805468559265,-0.0609670653939247,0.0645589157938957,-0.0740409195423126,-0.0024905861355364,0.1519519537687302,-0.1588659882545471) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0682990401983261,0.2567158341407776,-0.1169872060418129,-0.1719230711460114,0.0147625533863902,-0.1173110157251358,-0.1417838484048843,0.2485725283622742,0.1868502795696259,-0.1067186444997787,0.0013148693833500,-0.1634033620357513,0.1535543054342270,0.2188349515199661,0.0692407041788101,0.1484300643205643) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.3491378724575043,-0.0463713146746159,-0.0171543508768082,-0.0676113516092300,0.1483834236860275,0.0099052665755153,-0.0194302722811699,0.0146431894972920,0.0083301635459065,0.0747834295034409,0.0074021499603987,0.0754715800285339,0.0756404399871826,0.1152370944619179,-0.2008460611104965,0.1032391339540482) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0221508126705885,0.1666185259819031,0.0065415902063251,-0.1316863298416138,-0.1317702233791351,0.0541386231780052,-0.0880564376711845,-0.1134744808077812,0.0478222519159317,-0.1045515537261963,0.0662696063518524,-0.0086398208513856,-0.1371609419584274,-0.1181495860219002,0.0720863267779350,-0.0144057497382164) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.2347561568021774,-0.0290091782808304,0.2239039242267609,-0.0208126846700907,-0.1887960135936737,-0.3240784704685211,-0.0081930644810200,-0.0753498002886772,-0.2413107901811600,-0.1123580858111382,0.1063470691442490,-0.0321078971028328,0.1231439933180809,0.2325603067874908,0.0910423919558525,0.2151947170495987) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.3700384795665741,0.1867311000823975,0.3296721875667572,0.1223545819520950) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 2_3 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0395699851214886,0.0608489736914635,-0.0564824230968952,0.0437459684908390); -res += mat4(0.0627577453851700,0.0735108256340027,-0.2505723834037781,0.0542526282370090,0.0917229577898979,0.1743847727775574,-0.1443964093923569,0.0286235641688108,0.0259803235530853,-0.1268649697303772,-0.1885348558425903,-0.0495235696434975,-0.2251551002264023,-0.0794702842831612,-0.0616355538368225,-0.0915255546569824) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0041539301164448,-0.1277450621128082,-0.0736408308148384,-0.1307520866394043,-0.0670706331729889,0.0655885860323906,-0.1496570259332657,-0.0375640764832497,0.0466563180088997,-0.0200107730925083,-0.0143314460292459,0.1205859109759331,0.1632398217916489,0.1467486023902893,-0.0971901938319206,-0.2475381493568420) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.0291220284998417,-0.1628953516483307,-0.1984842419624329,0.1113823950290680,-0.0521631613373756,-0.0531319230794907,0.0415288470685482,0.1265639513731003,-0.1073012053966522,0.0316452756524086,-0.1961745619773865,-0.1869751513004303,-0.0452654846012592,0.0425117798149586,-0.1291804164648056,0.1099748685956001) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0621672905981541,-0.1170068979263306,-0.2559027969837189,0.0632625445723534,-0.0709713399410248,0.0024068769998848,0.0415944792330265,0.0127850398421288,0.1048079654574394,0.0251914486289024,0.0161311775445938,-0.1454379260540009,-0.0500094592571259,-0.1110163927078247,0.1343509703874588,0.1034615188837051) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0513200461864471,0.1136020645499229,0.2447075247764587,-0.0763697400689125,0.1113428100943565,-0.1855679154396057,0.0855054408311844,0.0366259589791298,0.0203202795237303,0.3182128071784973,-0.1010485142469406,0.0964826121926308,-0.1215276718139648,-0.0924006849527359,-0.2232442796230316,0.0020007661078125) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1243320778012276,0.0423202812671661,0.1094631701707840,0.0753943473100662,0.0881383493542671,-0.1848517507314682,-0.0050055123865604,-0.0928815156221390,0.1052919998764992,0.0485860966145992,0.1169784665107727,-0.0707898586988449,0.1478728055953979,-0.0837634578347206,0.0231836903840303,-0.1768871992826462) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.1022085174918175,-0.0211354717612267,0.1740949302911758,0.0813340842723846,0.0043503181077540,0.0322730280458927,0.3733610808849335,0.3178401291370392,0.0780522152781487,-0.2078098505735397,0.2326960414648056,-0.1028296202421188,0.1486390829086304,0.1746619492769241,0.0158440563827753,-0.0118377795442939) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.1228021234273911,-0.1997943669557571,0.0528172329068184,0.1241136938333511,-0.0111753633245826,-0.1043810248374939,-0.0450375340878963,0.0002034085482592,-0.0804947540163994,0.0422211848199368,-0.0595895461738110,-0.1947806924581528,0.0979772582650185,0.0567244403064251,-0.1528084725141525,-0.0355322510004044) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.1631362438201904,0.0498481169342995,-0.0089212199673057,-0.0720624104142189,-0.1467376649379730,-0.0886757373809814,-0.1086840406060219,-0.0926273167133331,0.1002626121044159,-0.1744916588068008,0.2092798501253128,0.0040560439229012,-0.0857805833220482,0.0715837329626083,0.0159663911908865,-0.1589342057704926) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.1283992677927017,-0.0748001709580421,0.0503445640206337,0.1436996012926102,-0.0578200221061707,0.0703096389770508,-0.0687802582979202,-0.0129764322191477,0.0895025357604027,-0.1329483687877655,-0.0736541375517845,0.0280814114958048,0.1889102011919022,-0.1353993266820908,0.2314101755619049,-0.2732896208763123) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0739665105938911,-0.0940427929162979,-0.0602119080722332,-0.1030540987849236,-0.0638908967375755,0.0622291751205921,-0.0864136666059494,-0.0993429347872734,-0.0427073761820793,0.1570128947496414,0.0602149590849876,0.0754636377096176,0.0739335343241692,-0.1738847941160202,0.3475988507270813,0.1212450787425041) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.0700742602348328,0.0258588436990976,0.0165073089301586,-0.1287141591310501,0.1457926332950592,0.0704771205782890,-0.0823140218853951,0.0203093010932207,-0.0002792996529024,-0.0393618606030941,-0.0399558469653130,0.0385929793119431,-0.0298787374049425,-0.1494029164314270,0.2029565274715424,0.0417981706559658) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.0004194977809675,-0.3157874345779419,0.0497878901660442,-0.0065837316215038,-0.0172039829194546,-0.0820840448141098,-0.4610428810119629,0.2269997447729111,0.2450533658266068,0.0967088267207146,-0.0451896451413631,0.1585505753755569,0.2038455605506897,0.1394438892602921,0.0297292936593294,-0.0373205430805683) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0982794240117073,-0.1137310490012169,-0.0952451527118683,-0.3014577031135559,-0.0727376639842987,0.1733450740575790,0.1003903970122337,0.0597028434276581,0.2956336736679077,-0.1751281768083572,-0.0824704319238663,-0.0061812968924642,0.2154264301061630,0.2038961499929428,-0.0736305713653564,-0.2668650150299072) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.0256061535328627,0.1342932730913162,0.0753029733896255,0.0703347846865654,0.0142899369820952,-0.1569631546735764,-0.1878796070814133,0.0662383511662483,-0.1887955963611603,0.0202646255493164,0.1224900856614113,-0.0310522951185703,-0.0306768212467432,0.0886546224355698,0.1495911031961441,-0.0112737920135260) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.1089733615517616,0.0105121247470379,-0.0550716966390610,-0.0497401133179665,0.1112585365772247,-0.0571577697992325,0.0877897664904594,0.1866945773363113,0.0219764169305563,-0.1984333992004395,0.1515093743801117,-0.1469799578189850,0.2694879770278931,0.3941621482372284,-0.0714497044682503,-0.0253918748348951) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.1898742616176605,0.0587206333875656,0.0965286940336227,0.2089173048734665,-0.2995064854621887,-0.0124478153884411,-0.2570134401321411,-0.0404339134693146,-0.3129808306694031,-0.0732677206397057,0.1286756992340088,0.0809909999370575,0.0960714742541313,0.0195612944662571,0.0563741512596607,0.1174666211009026) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.1379741132259369,-0.1843652427196503,0.0342148579657078,-0.3941901922225952,-0.2387728989124298,-0.0983124747872353,0.2987056672573090,0.0952062532305717,-0.0369557961821556,0.1695437878370285,0.1437737196683884,-0.0107029806822538,0.3344735503196716,-0.2743608355522156,-0.1638676077127457,-0.3623088896274567) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.1686896681785583,-0.1175287887454033,0.0510360375046730,0.1514741480350494,-0.0655832141637802,-0.0593649484217167,0.0278182812035084,0.2638097107410431,0.0531565137207508,0.0539988167583942,-0.0239044893532991,0.0584456436336040,-0.0265596136450768,-0.1621537655591965,0.0189363993704319,0.0270255915820599) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.0417605824768543,0.0650023370981216,-0.1185194626450539,0.1018150299787521,-0.0404186472296715,-0.1790140718221664,0.1322214007377625,0.2621130049228668,0.1262603849172592,0.3647569417953491,-0.2128111273050308,-0.0979819372296333,0.0644460543990135,-0.2393988370895386,-0.0313146486878395,-0.0328303240239620) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.1515659689903259,-0.0625103488564491,0.0567429400980473,0.1698274314403534,0.0320702083408833,0.1500807553529739,0.0825549066066742,0.2254177480936050,-0.2211611568927765,-0.1177195161581039,0.1034450605511665,-0.3018153011798859,0.0798297077417374,0.0555893927812576,-0.0898859277367592,0.0519615113735199) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.2371167093515396,0.0016294118249789,0.1159951537847519,-0.0344165749847889,-0.0710942819714546,0.0480992048978806,0.0509846173226833,-0.1412254720926285,-0.1568778157234192,-0.1870728433132172,0.1207577213644981,0.1333144009113312,0.1353930234909058,0.0586353018879890,0.0708711817860603,-0.3204005658626556) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.1163608282804489,-0.1160321310162544,-0.2076934427022934,-0.1904335916042328,0.0598156787455082,0.0067685842514038,0.0963250324130058,0.0784783437848091,0.1366059035062790,-0.0410939045250416,0.1238998100161552,-0.0852179750800133,-0.1947247385978699,-0.0981999263167381,0.0535281002521515,-0.1055881679058075) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.0637671649456024,-0.0064499378204346,0.1842970997095108,-0.1328489780426025,0.0003267149149906,-0.5031216740608215,-0.0179653316736221,0.0584709942340851,0.0700097084045410,0.0766740888357162,0.1232541874051094,0.2021855562925339,0.1238335818052292,0.0085318265482783,-0.0240383353084326,-0.0188703779131174) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0930056422948837,0.1538043171167374,-0.0990037247538567,-0.0261110682040453,-0.0675843283534050,0.0571490451693535,-0.3218910396099091,0.1180047094821930,-0.0017797834007069,0.0744030475616455,0.0431810095906258,-0.0137200364843011,-0.2506403326988220,-0.0707130283117294,0.1469633430242538,0.2510152161121368) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.1050712838768959,-0.0882306098937988,0.0931309983134270,-0.0787276923656464,-0.0232659075409174,0.0650436282157898,-0.0176673512905836,-0.0752221867442131,-0.0334496945142746,-0.0138985738158226,0.2165847569704056,0.1991666108369827,0.2901391088962555,0.2180647999048233,-0.1443646103143692,-0.3071088492870331) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.0575936175882816,0.0207119714468718,0.0257049724459648,-0.0032449006102979,0.0730581656098366,-0.1753779351711273,0.1073630824685097,0.1313032507896423,0.0456418469548225,0.0539213120937347,0.1091494858264923,-0.0074032363481820,-0.0913012400269508,0.1237107738852501,-0.1291710436344147,-0.0085193719714880) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.0730482935905457,-0.2577207982540131,-0.0813524127006531,0.1913858950138092,-0.1587349027395248,0.1980197131633759,-0.0708211138844490,0.1543065011501312,-0.0359333381056786,-0.0152517268434167,-0.0382240191102028,0.0622127242386341,0.0543186068534851,0.3030571043491364,0.0411861836910248,0.2861347198486328) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.1137260794639587,0.0486001931130886,0.1247744783759117,-0.2281723320484161,-0.1822621822357178,-0.2350713461637497,-0.4009572565555573,0.1105967611074448,0.0017963231075555,-0.1782656013965607,-0.0118002668023109,-0.1426586806774139,0.0586571209132671,-0.1664751321077347,0.1949170529842377,0.2025169283151627) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.2915446460247040,-0.4064359664916992,0.0294926501810551,-0.4323428869247437,0.0242052897810936,0.1747243553400040,-0.1113334894180298,-0.2571753561496735,0.0356044508516788,-0.0064126686193049,0.2160912603139877,-0.0077259344980121,0.2002573013305664,-0.0842686295509338,-0.1941808760166168,-0.1405524462461472) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.1184545382857323,0.3123326003551483,-0.0763484090566635,0.2485891729593277,-0.0806478708982468,-0.2785271406173706,0.0636063218116760,-0.0954685658216476,-0.1187968775629997,-0.0779199004173279,-0.0827225893735886,0.0213771630078554,0.1744999587535858,0.1453443616628647,0.0603240802884102,0.1269670724868774) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.1622463911771774,0.1838334798812866,0.2698122262954712,-0.0766897723078728,-0.3075465261936188,0.0303037483245134,-0.1572430580854416,-0.0708697363734245,0.1066895425319672,-0.1470635831356049,0.0185633953660727,0.1552434116601944,-0.2079014182090759,-0.2012314796447754,0.1441621780395508,-0.0696903169155121) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.0744083151221275,-0.0380666926503181,-0.1436908394098282,-0.0791898444294930,-0.0752477943897247,0.0607366077601910,-0.0647334083914757,-0.0652187690138817,0.1169729158282280,-0.0642231702804565,-0.0933886170387268,0.0517041943967342,-0.0317908041179180,0.1009515598416328,0.1802476644515991,0.0025323168374598) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.1145446449518204,-0.2266912907361984,-0.0247696135193110,0.1047836914658546,0.1362898349761963,-0.0337499119341373,-0.0587328374385834,0.0103969592601061,0.0318675637245178,0.0923065319657326,0.1435393691062927,0.1200088784098625,-0.1110786646604538,-0.1302264481782913,0.0047503835521638,-0.1983860135078430) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.2148406803607941,-0.0035332106053829,-0.1777411550283432,-0.0104186786338687,-0.1212781965732574,0.0218317136168480,-0.0439897477626801,0.1040923967957497,0.1848798394203186,0.1051846444606781,-0.0291948448866606,0.0784485414624214,0.0886246263980865,-0.0656403377652168,-0.0910748243331909,-0.0193011946976185) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.1216316297650337,0.3013414144515991,-0.0780716240406036,-0.1723107397556305,-0.1137135475873947,-0.2829679548740387,0.1823804974555969,0.0040346342138946,-0.1605369150638580,-0.0946634188294411,-0.1456079930067062,-0.0433051548898220,-0.0219788197427988,0.0796556621789932,0.1824086308479309,-0.1175573393702507) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.8135977387428284,0.3876158595085144,0.5046103000640869,0.4594687521457672) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 2_4 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0315543152391911,0.1555179506540298,0.0517499446868896,0.0372729748487473); -res += mat4(-0.0797682255506516,-0.0293099787086248,-0.1942041218280792,0.0264013074338436,0.1185973733663559,-0.0404785312712193,-0.0055224336683750,-0.1299815624952316,0.2070223987102509,-0.4804723858833313,-0.1165917441248894,0.1171601936221123,0.2411356270313263,0.1581407189369202,0.2091198265552521,-0.1091660335659981) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0186538938432932,0.0611119121313095,-0.0963890850543976,0.1151778697967529,-0.0065741837024689,0.2392209172248840,0.1524547934532166,0.2374428659677505,-0.0355737097561359,0.0383076891303062,0.1216262802481651,-0.0107433758676052,0.2354550063610077,-0.0246755387634039,0.1069167628884315,-0.2396176606416702) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0923934951424599,-0.0635019317269325,-0.1411410570144653,-0.0378440208733082,-0.0288484469056129,0.0294593106955290,-0.1106828004121780,0.1488092988729477,0.0040295440703630,0.1121465787291527,0.0310236439108849,-0.0195503532886505,-0.0852668434381485,-0.0448249652981758,0.0726218745112419,0.1542751789093018) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0450116135179996,-0.3847686052322388,0.2870133519172668,0.1252340376377106,0.0033980400767177,-0.0363674350082874,0.0036683459766209,-0.2351852357387543,0.0025069455150515,0.0265726037323475,0.0610318481922150,0.2902134656906128,0.0738042891025543,-0.0408368408679962,-0.0660872012376785,-0.0624540634453297) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.3194551467895508,0.0681007876992226,0.1003035753965378,-0.2552178800106049,0.0954438969492912,-0.3502807021141052,0.0672670677304268,-0.1317015737295151,0.2461962699890137,0.1079957410693169,-0.0151481032371521,-0.1958953440189362,-0.0613673031330109,-0.0901385545730591,-0.0847248807549477,0.1191645264625549) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.0379615388810635,0.0807170197367668,-0.1818383634090424,-0.0267549026757479,0.1505988389253616,-0.1376271098852158,-0.2192724198102951,-0.0096062691882253,-0.0908692106604576,-0.1312937140464783,0.0754841566085815,-0.0215871017426252,-0.0242383833974600,-0.0933266058564186,0.0331484600901604,0.1072490587830544) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.2106042355298996,-0.0787690654397011,-0.0849803611636162,0.0466352179646492,-0.1961261481046677,-0.0817660987377167,0.2419726103544235,-0.0153274955227971,-0.2185695320367813,-0.0950802564620972,-0.2343144714832306,-0.2266100943088531,-0.6671147346496582,-0.2015433311462402,-0.0586382225155830,0.0397270098328590) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.3832928240299225,-0.0452453307807446,0.0228024385869503,-0.1660929769277573,0.0408475250005722,0.0455995760858059,0.0118437595665455,-0.2774609923362732,-0.2027087211608887,-0.0305645968765020,0.1207632869482040,0.2720900475978851,0.0666765421628952,0.1386576741933823,-0.0173678714782000,0.0400149784982204) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.1108774989843369,0.2108852416276932,-0.0784079656004906,0.1089377552270889,-0.2054775059223175,0.1714608222246170,-0.0696955323219299,-0.1356261521577835,-0.0628671273589134,0.0114193921908736,0.0360787957906723,0.2148019224405289,-0.0204319022595882,-0.0500150881707668,0.0309546887874603,-0.0971092730760574) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.0857046917080879,-0.0399912446737289,-0.0517813265323639,-0.0552857443690300,0.0355024673044682,-0.0021719506476074,-0.0945525467395782,-0.0641183108091354,-0.1086571961641312,-0.1299796402454376,-0.2127590477466583,-0.0219700708985329,0.0784510895609856,-0.0476048998534679,0.2827809453010559,0.0609270818531513) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.1119558438658714,0.0726404860615730,0.0825571939349174,0.0224916487932205,-0.0061033838428557,-0.1289290785789490,0.2814421951770782,0.0026413861196488,-0.0901578217744827,0.0518177747726440,-0.1849635243415833,-0.1588570773601532,0.2014626413583755,-0.1468090862035751,-0.0624169334769249,0.0690811201930046) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0121422335505486,0.0071345414035022,-0.1635209619998932,0.0758560746908188,-0.0469941608607769,0.0069271670654416,-0.0128063261508942,-0.3691914677619934,0.1455157250165939,0.0489146634936333,-0.3052500486373901,-0.0431301929056644,-0.0009811962954700,0.0246521681547165,-0.0609234981238842,-0.0367697626352310) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.0782096832990646,0.0320303663611412,-0.1586948335170746,0.1094381734728813,0.2100283205509186,-0.2758803367614746,-0.1233054846525192,0.2671045064926147,-0.1168498843908310,0.1228952780365944,-0.0446910113096237,-0.0243778489530087,-0.0630228966474533,-0.0555957406759262,0.0474769249558449,0.0929727628827095) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0969403609633446,-0.0024517956189811,0.0361322239041328,-0.0362300239503384,-0.5148276686668396,0.1350579857826233,-0.0103584509342909,0.2138994336128235,0.0758939534425735,-0.0552204139530659,-0.0782844871282578,0.1261761337518692,0.0424622371792793,0.0261419918388128,0.0543122179806232,0.2064326703548431) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.2135557085275650,-0.3742221295833588,-0.0624374710023403,0.0829959139227867,0.1791780889034271,0.0619620457291603,-0.0695967599749565,-0.0398410446941853,0.1329480111598969,-0.0398928150534630,0.2144985347986221,-0.0245373491197824,0.0899518355727196,0.0219923742115498,0.2350498586893082,0.0117390165105462) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0774115398526192,0.3214412927627563,0.0486301444470882,0.1996026039123535,0.0308657363057137,0.0109317796304822,0.0033797994256020,-0.0199366305023432,-0.3230061531066895,0.1232255473732948,-0.1065940633416176,-0.4851747155189514,-0.0614488385617733,0.0681786462664604,0.0296245981007814,-0.0025765246246010) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.0569494999945164,0.0863935202360153,0.1084522381424904,0.0362804047763348,0.3846457600593567,-0.0006742558325641,0.0622698254883289,-0.0747561678290367,-0.2626045346260071,-0.0157147664576769,0.1987474113702774,-0.0899491608142853,-0.2338270395994186,0.2267315834760666,-0.0088401446118951,0.2224500477313995) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.0321109890937805,-0.0441547185182571,0.0910171195864677,-0.2030475139617920,-0.3728782534599304,-0.2255143374204636,-0.1700307726860046,-0.0425272174179554,-0.2478382289409637,-0.1458135694265366,0.0857693925499916,0.1606809794902802,0.1546795368194580,-0.0000401431316277,0.1451834142208099,-0.0216320715844631) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.3063552379608154,0.0152968727052212,0.2651586532592773,0.1429754346609116,0.0547419004142284,-0.2261687666177750,0.0663820132613182,0.0381174273788929,0.3730614483356476,-0.1423120200634003,-0.1363548934459686,0.0458713509142399,0.3388475179672241,0.2353098988533020,-0.4163550436496735,-0.0922676548361778) * MODEL23_texOff(vec2(0,0)); -res += mat4(0.0095615200698376,-0.3223747909069061,-0.0967657789587975,-0.0280365906655788,-0.2873184382915497,0.2708438336849213,0.0812093541026115,-0.1379932463169098,0.0515767745673656,0.3330641388893127,-0.0153703493997455,-0.1527515500783920,-0.3369265794754028,-0.3939591050148010,0.0887562930583954,0.1347984671592712) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.0925461575388908,0.0996235907077789,-0.0300114843994379,-0.0333492569625378,0.0807556062936783,0.0877982974052429,-0.0703359618782997,-0.1371384859085083,-0.0427750013768673,0.2374058067798615,-0.1031211987137794,0.1241844892501831,-0.0338047780096531,0.0474725402891636,-0.0701157450675964,0.1367818713188171) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0572938509285450,0.0974681004881859,-0.1753964275121689,0.0308028776198626,-0.1572591066360474,0.1762650609016418,-0.1830598264932632,0.1416932046413422,0.0787320137023926,-0.1440637856721878,-0.2971755862236023,0.0002852209727280,-0.0831032842397690,0.0440665967762470,0.2984852194786072,-0.0378461517393589) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0385229252278805,0.2381385862827301,0.3967501223087311,0.0591834932565689,-0.0000593331351411,0.0602027848362923,0.2235400080680847,0.0300942212343216,0.0623032003641129,-0.3076375126838684,-0.0922627002000809,0.1776435971260071,0.0138835953548551,-0.1684745103120804,-0.1451293826103210,0.1257009953260422) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.0467851608991623,-0.0915262326598167,-0.1885841488838196,0.1083512976765633,0.1060335189104080,-0.1808657348155975,-0.2360822260379791,-0.4684079587459564,-0.1912018060684204,-0.0826780647039413,0.2638907134532928,-0.0254609994590282,0.0412860698997974,0.0950657650828362,0.1207320019602776,0.1460112035274506) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.1158416047692299,-0.3018259704113007,-0.1830129176378250,0.0285446885973215,0.2524012327194214,-0.3803845942020416,-0.2069202661514282,0.0197752639651299,0.0950239151716232,-0.3584090769290924,-0.0038467454724014,0.1223564594984055,0.0751278474926949,-0.2439247220754623,-0.0556234903633595,0.0295960344374180) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.0337045155465603,-0.0953091084957123,0.0260435361415148,-0.2039384990930557,0.3394540548324585,0.0856311693787575,0.2238822430372238,-0.1061872914433479,-0.2034661471843719,0.0122164580971003,0.1615108996629715,-0.0687247440218925,-0.0790938585996628,0.0368939414620399,-0.0301502384245396,-0.0585987195372581) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.2538822591304779,-0.0435059145092964,-0.2141390442848206,0.0790513008832932,-0.0001451646094210,-0.3589522838592529,-0.1088780909776688,0.2197315841913223,-0.0956702828407288,0.1344186067581177,0.0516004748642445,0.0649903342127800,-0.0180090796202421,0.1628724783658981,0.0863704308867455,-0.0143499895930290) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.1852688640356064,-0.0462871976196766,0.0038761938922107,-0.1840631961822510,0.3262867331504822,-0.4159449636936188,-0.3329119086265564,-0.0700464770197868,0.1274786591529846,0.0211640261113644,0.1979912817478180,0.0075211287476122,-0.2186430245637894,0.0624196603894234,0.1661780625581741,0.2274489104747772) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.1756107807159424,-0.0157900061458349,0.0437570177018642,0.0787215158343315,0.1533915549516678,-0.1444859504699707,0.0694978833198547,0.0304623749107122,-0.0075772199779749,0.1702859550714493,-0.0057706157676876,0.0359586030244827,0.1423068046569824,0.0420976579189301,0.0512413755059242,-0.2139663249254227) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0916532427072525,-0.1533742398023605,0.0103914868086576,0.1701473444700241,0.1866474896669388,0.0192243084311485,-0.0361972935497761,0.1437280625104904,-0.0077232676558197,0.0069401948712766,0.1163820847868919,0.0430501773953438,-0.1269823461771011,0.0923798754811287,-0.1556729823350906,0.0263928845524788) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0184629969298840,0.0693254917860031,0.1817622035741806,0.1887933760881424,-0.0327232591807842,-0.2042251378297806,-0.1211475729942322,-0.0410276502370834,-0.1037830486893654,-0.0820009037852287,0.2949101030826569,0.0077380593866110,0.0628546401858330,-0.0445529446005821,0.1741346269845963,0.0248009990900755) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0357294008135796,-0.1106828525662422,0.0353966727852821,0.0551847144961357,0.1285358667373657,-0.1176343485713005,0.1130757033824921,0.1761380881071091,0.1083296611905098,-0.0748542621731758,-0.3872082531452179,0.0197100248187780,0.2984461486339569,0.1191678568720818,0.1812373250722885,-0.3892717659473419) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0800462886691093,-0.0780471339821815,0.0693893954157829,-0.1967336088418961,-0.0975022837519646,0.1709673255681992,0.0633984506130219,0.0886702537536621,0.0848199427127838,-0.0077700419351459,0.0069854995235801,-0.1167393177747726,-0.1112813726067543,-0.1551343947649002,-0.1870342195034027,-0.0847418606281281) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0603727698326111,-0.0634171888232231,-0.1882760375738144,0.0629892125725746,0.0708042904734612,0.0764256343245506,-0.1216778308153152,-0.1684684455394745,-0.1391682028770447,-0.0593102984130383,-0.3166135549545288,-0.0407761037349701,0.0176832675933838,0.0248137973248959,0.0802484601736069,0.1242982149124146) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.1513278931379318,0.1813258528709412,0.1966630220413208,-0.1624922454357147,-0.0256501082330942,-0.1686967313289642,0.0228718761354685,-0.0328223705291748,0.0103984652087092,0.1386567354202271,-0.0268063098192215,0.0108728082850575,-0.0196570903062820,-0.0284960605204105,-0.0696414709091187,-0.1518644541501999) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.1026083678007126,0.0619867257773876,-0.0740394964814186,-0.0159617643803358,0.1998924314975739,-0.0418189354240894,0.1107221692800522,-0.1837699264287949,-0.1257415860891342,-0.0766282454133034,0.2168000936508179,0.0473149232566357,-0.0026537682861090,0.0252384822815657,-0.1986876726150513,-0.1081041619181633) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.2057439386844635,0.5207781791687012,-0.6705994606018066,0.1229927614331245) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 3_1 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0688173100352287,0.0241152420639992,-0.1461312770843506,-0.0660768151283264); -res += mat4(0.0595336742699146,-0.0815766826272011,-0.0096331834793091,-0.0203912183642387,-0.0369842574000359,-0.1127570196986198,0.0888430550694466,-0.2178320586681366,-0.0342873111367226,0.1092853099107742,-0.2547158300876617,-0.0076492088846862,-0.0391941852867603,-0.2556389570236206,-0.0854907557368279,0.1774810403585434) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0574021488428116,-0.1592900604009628,-0.3538711667060852,0.2687105834484100,0.1810360103845596,-0.1641387343406677,0.0715018883347511,0.0386314950883389,-0.0679938271641731,0.1923842132091522,-0.0393545515835285,-0.0097684655338526,0.1084525063633919,0.0337775796651840,-0.0428330413997173,-0.0384955294430256) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(-0.0057158139534295,-0.0639266371726990,-0.0203006304800510,0.0805876255035400,0.0354820154607296,0.1954732984304428,-0.0033595091663301,-0.0798529312014580,-0.0023743391502649,-0.0808103382587433,-0.4271259307861328,-0.0339623913168907,-0.0594368465244770,-0.1301490664482117,-0.2257778197526932,0.0268681906163692) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(-0.0912537798285484,-0.1029307693243027,-0.3014050126075745,0.1344284713268280,-0.1944040358066559,-0.1233293414115906,0.1845269054174423,-0.0396563522517681,0.0729796811938286,0.0555449426174164,-0.0291866566985846,-0.0015590878902003,-0.0749472081661224,0.1221432238817215,0.1557545065879822,0.0713083744049072) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(0.0579854771494865,0.1912399381399155,-0.1031481474637985,0.0258997492492199,-0.0556723140180111,0.0405553914606571,-0.0280782822519541,-0.2192476838827133,0.0405904836952686,0.0339312143623829,-0.5339328646659851,0.0376253239810467,-0.0331141315400600,0.1085056290030479,0.1932809799909592,0.0114828236401081) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.0923534333705902,-0.0528637804090977,-0.1043204590678215,-0.1713765561580658,0.0770255997776985,0.0345167294144630,0.0147934947162867,0.0310775060206652,0.0679205730557442,0.0797111466526985,-0.0175750572234392,0.0687634274363518,0.2652306556701660,-0.1340937167406082,0.2815202176570892,0.1714577227830887) * MODEL2_texOff(vec2(-1,0)); -res += mat4(-0.0043326895684004,-0.0014753022696823,-0.0301845446228981,-0.0890666916966438,-0.3340281248092651,0.0755621269345284,0.1349891424179077,0.1922057121992111,0.0647721588611603,-0.1533407568931580,-0.1758099794387817,0.0130391204729676,0.0336706899106503,-0.0249907132238150,-0.0065235951915383,-0.0797766074538231) * MODEL3_texOff(vec2(-1,0)); -res += mat4(0.1685813516378403,-0.2265407741069794,0.0221925359219313,-0.1334454715251923,0.1368787139654160,-0.0473638102412224,-0.2528502345085144,0.0522648394107819,-0.2153150886297226,-0.0180514734238386,-0.0606113784015179,-0.2746350765228271,-0.0836948305368423,-0.0963615626096725,0.2578013837337494,-0.0808656737208366) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.0933946669101715,0.0305833015590906,-0.3140147328376770,-0.0235074572265148,-0.3032828867435455,-0.0795748233795166,0.2477753609418869,-0.2114369720220566,-0.0189865324646235,-0.0639717131853104,-0.2735460996627808,-0.0327864885330200,0.0396536663174629,0.0218856446444988,-0.1180776730179787,0.0887452214956284) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.0631328970193863,-0.0035184349399060,-0.1870973408222198,-0.0639351382851601,0.1319428086280823,0.1301599591970444,0.0241686291992664,-0.0229394081979990,-0.0654792115092278,0.0354097858071327,-0.1931648552417755,0.0359242409467697,0.0272223223000765,0.1466508358716965,-0.1595165729522705,-0.1876504421234131) * MODEL2_texOff(vec2(-1,1)); -res += mat4(-0.0729636624455452,-0.0162770133465528,0.0175715126097202,0.0104884179309011,-0.0786660090088844,0.0061661889776587,-0.3263708055019379,0.0249162577092648,0.2397689968347549,-0.0168162323534489,0.3285635113716125,-0.0516717731952667,0.2196938544511795,0.0845935642719269,-0.0725083053112030,0.2236572355031967) * MODEL3_texOff(vec2(-1,1)); -res += mat4(0.0323419086635113,-0.0680262967944145,0.2447479367256165,0.0488236509263515,0.2178955972194672,0.0176719631999731,0.1178010106086731,0.1197623759508133,-0.0259058885276318,0.0218334570527077,-0.0229181014001369,-0.1182956397533417,-0.1990961879491806,-0.0358028411865234,-0.0114926835522056,-0.0724879950284958) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.0091674197465181,-0.1643868833780289,0.1737920641899109,-0.2022017389535904,-0.0211097076535225,-0.1243641376495361,-0.0840958878397942,0.0004225724551361,0.1185093820095062,-0.0895289406180382,-0.2453171759843826,-0.1377187073230743,-0.1030908748507500,0.0968588069081306,-0.1273571401834488,0.2540763020515442) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.0702308639883995,-0.0836322531104088,-0.4391777515411377,0.0071853240951896,-0.2065078169107437,0.1599812358617783,0.0602083504199982,0.0702195689082146,-0.0050514196045697,-0.2039245963096619,-0.1417474895715714,-0.1176111325621605,0.0016846667276695,-0.0023626943584532,-0.0841251388192177,0.1412637084722519) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.0440846644341946,0.2679182291030884,-0.0113283051177859,0.0787642672657967,0.1586027592420578,0.0755963921546936,-0.1189886480569839,-0.2526005208492279,0.0288783796131611,0.0038645991589874,-0.1508166193962097,-0.2143021076917648,0.0842533558607101,0.0784236639738083,0.2028345912694931,-0.2491208761930466) * MODEL3_texOff(vec2(0,-1)); -res += mat4(-0.0198725499212742,-0.1982652544975281,-0.1776733994483948,-0.1893595606088638,0.1681458652019501,-0.1212584450840950,0.0498807840049267,-0.0469293072819710,0.1340834647417068,0.0783879682421684,0.0830523148179054,0.0423850417137146,-0.0565500669181347,-0.1048741340637207,0.0622305944561958,-0.1250333040952682) * MODEL4_texOff(vec2(0,-1)); -res += mat4(0.1300479173660278,-0.0811531990766525,0.1566883176565170,-0.4131366014480591,-0.1944229602813721,-0.0474819205701351,-0.3843051791191101,0.1989351958036423,-0.0528471954166889,-0.0155175467953086,-0.4351431727409363,0.0422416254878044,0.0945184752345085,0.0866406857967377,0.2367041260004044,-0.1916661113500595) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.0043254503980279,0.2347387224435806,0.2765623331069946,0.0511253066360950,-0.1627541631460190,0.0374190807342529,-0.0015824839938432,-0.1078413799405098,0.1316788047552109,0.0144255002960563,-0.3850116431713104,-0.3117720186710358,-0.0160628277808428,0.1133375465869904,0.2209484130144119,0.0251297429203987) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.0635340213775635,-0.0014070536708459,-0.1025629192590714,-0.1730606853961945,-0.0297492127865553,0.0980286523699760,-0.0079395025968552,0.1153481453657150,0.0182918459177017,0.0078779440373182,0.2809962630271912,-0.1262024790048599,-0.1352188885211945,0.1095645949244499,0.2552189230918884,-0.0178691130131483) * MODEL3_texOff(vec2(0,0)); -res += mat4(0.0518783628940582,0.0300305113196373,-0.0591770447790623,0.1318315863609314,0.1554882526397705,-0.1066074967384338,-0.0115872807800770,0.3000004589557648,0.0606822408735752,0.0559887848794460,0.2162292301654816,-0.0082823252305388,0.2274610251188278,-0.0284825731068850,-0.0360193327069283,-0.1999847739934921) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.0474682785570621,0.1199836656451225,-0.3141539394855499,-0.0791074857115746,0.0106960795819759,-0.0627651438117027,0.0762102901935577,-0.1145662218332291,0.0535141788423061,0.1474930047988892,0.1075265854597092,0.0397254899144173,-0.0713834986090660,-0.1071779653429985,0.0375971011817455,-0.0963853001594543) * MODEL1_texOff(vec2(0,1)); -res += mat4(0.1285275369882584,-0.1441750228404999,0.0354076921939850,-0.2101487964391708,-0.1097002476453781,-0.0189849846065044,-0.0745042786002159,0.1355504244565964,-0.0133421951904893,-0.0638472512364388,-0.0910228490829468,0.0755504742264748,-0.0864466801285744,-0.0356572121381760,-0.3626520931720734,-0.3021350204944611) * MODEL2_texOff(vec2(0,1)); -res += mat4(-0.0341820605099201,0.1786679029464722,0.0184447579085827,0.1279714554548264,-0.1283863782882690,-0.0675562024116516,-0.1361117213964462,0.1011512875556946,0.0832580402493477,-0.1928756684064865,-0.1228978410363197,-0.0065259770490229,-0.0568234808743000,-0.0017369993729517,-0.1697564721107483,0.2456055283546448) * MODEL3_texOff(vec2(0,1)); -res += mat4(0.0018628122052178,-0.1312659084796906,-0.0923319682478905,-0.2040081322193146,0.0629462227225304,0.0535681359469891,0.1281067430973053,0.1765952259302139,0.0747214332222939,-0.1035072430968285,-0.0241586659103632,-0.1378561109304428,0.0320597104728222,-0.1193312555551529,0.1452527642250061,0.2488958239555359) * MODEL4_texOff(vec2(0,1)); -res += mat4(0.0386005453765392,-0.0153652885928750,-0.1462800353765488,0.2789885401725769,0.1008821874856949,-0.0579273775219917,0.1295518875122070,-0.0432876870036125,0.0250452421605587,0.0671278312802315,-0.0696839168667793,0.0748129189014435,0.0758513286709785,-0.1905663460493088,-0.0471123531460762,0.2444494962692261) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0591796487569809,-0.0705144032835960,0.0711284279823303,-0.1286923736333847,-0.0660495907068253,-0.1214849874377251,-0.0341478474438190,0.0061506619676948,-0.0372593067586422,-0.1832398921251297,-0.0090387547388673,-0.2448468804359436,0.1512153297662735,0.1747045069932938,-0.1073975339531898,0.1247894391417503) * MODEL2_texOff(vec2(1,-1)); -res += mat4(0.1094667837023735,0.0342875868082047,0.0056257382966578,-0.0451308414340019,0.0707755535840988,0.0706889703869820,0.1614953577518463,-0.0330369584262371,0.0219813529402018,0.1975981742143631,-0.3199901580810547,0.1684455275535583,-0.1433103978633881,-0.0517580769956112,0.0215651132166386,0.0550334639847279) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.0058575081638992,0.0094235641881824,0.0832557380199432,0.0920730009675026,-0.0268641244620085,0.1209384053945541,0.1593528091907501,-0.0659385994076729,-0.1051297336816788,-0.0437128655612469,-0.0141602838411927,-0.0254723727703094,0.0558438338339329,-0.0546640530228615,0.1499328613281250,0.2088728398084641) * MODEL4_texOff(vec2(1,-1)); -res += mat4(0.0192077327519655,0.0354500226676464,-0.1731930226087570,0.0000419196876464,-0.0437970720231533,-0.0250018853694201,-0.0383620224893093,-0.1158768534660339,0.0140583552420139,-0.0480055138468742,0.1303897947072983,0.1056794896721840,0.0833801552653313,-0.2536045312881470,0.0158056896179914,-0.0304754935204983) * MODEL1_texOff(vec2(1,0)); -res += mat4(0.0636550858616829,-0.0758026838302612,-0.0500065311789513,-0.0455310121178627,-0.1234474480152130,0.1854186356067657,-0.3456546962261200,-0.0583862923085690,-0.1824863255023956,0.0574666708707809,0.0742814466357231,0.1547674685716629,-0.0512882284820080,-0.1082019209861755,-0.2976613342761993,-0.0474690347909927) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.0161839276552200,0.0584549307823181,0.0905771777033806,-0.0306037776172161,-0.0226447675377131,0.1609820574522018,0.2658801078796387,0.0810568928718567,0.1004738733172417,0.0174051262438297,0.0115147456526756,-0.0179576985538006,-0.0515062287449837,-0.0503591969609261,-0.0017968909814954,-0.0568113587796688) * MODEL3_texOff(vec2(1,0)); -res += mat4(0.1648199558258057,-0.1384854912757874,0.1903152912855148,0.0083583556115627,0.1294669657945633,0.0115647353231907,0.3590384721755981,0.0576509013772011,0.0353711582720280,-0.1217774823307991,-0.0809661448001862,0.0505313836038113,0.0421296134591103,0.1388154476881027,0.3014434874057770,0.0493381731212139) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0226423032581806,0.0260961204767227,-0.3144617974758148,-0.1417849212884903,-0.0430066175758839,-0.0462986268103123,-0.0331443361938000,-0.1140871793031693,0.0513924136757851,0.0084688737988472,-0.0296227596700191,-0.1712185442447662,0.1056730300188065,-0.1224016249179840,-0.3134396970272064,-0.1883454173803329) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.0396308042109013,-0.0738623440265656,-0.1175183951854706,-0.3926377594470978,0.0314878374338150,0.2115371227264404,-0.1537056267261505,0.1315483599901199,0.0821099355816841,0.1160123273730278,0.0304466728121042,0.2669826447963715,-0.0573341920971870,0.2678244411945343,-0.3492755293846130,-0.1434641331434250) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.0912898778915405,0.0841316357254982,0.0064010210335255,-0.0099451513960958,0.0325034409761429,0.0678511708974838,0.1631657481193542,-0.2068724930286407,0.0183392968028784,-0.0799985453486443,-0.0150094795972109,-0.1055348515510559,-0.1121844500303268,0.1341574490070343,0.0084858443588018,0.1500267535448074) * MODEL3_texOff(vec2(1,1)); -res += mat4(0.0314941518008709,-0.2989441454410553,-0.0673241466283798,-0.3539826273918152,-0.0266664065420628,-0.3113255202770233,0.0345415174961090,-0.0608147643506527,-0.0109177995473146,-0.0999587476253510,0.0656331256031990,-0.0322419852018356,0.0679537653923035,0.0318217724561691,-0.1877048909664154,-0.0886098146438599) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(1.0310016870498657,0.6315119266510010,0.2432577908039093,0.3398685157299042) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 3_2 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0000762489216868,0.0801432877779007,0.0194948185235262,0.1009411364793777); -res += mat4(-0.2028843462467194,0.0325773023068905,0.1240492388606071,-0.0299642570316792,0.1732405722141266,-0.0662324503064156,-0.0638226568698883,-0.0908546894788742,-0.1645909994840622,-0.1929243952035904,-0.1725275218486786,0.0518687814474106,0.2861785590648651,0.0936817005276680,-0.2703407406806946,-0.0064641349017620) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(0.2304468899965286,-0.0355376079678535,0.1516726166009903,-0.2383327931165695,-0.1214385926723480,-0.0264397338032722,-0.0296684242784977,-0.0761395841836929,-0.3135388791561127,-0.0817513391375542,-0.0585628263652325,-0.1279057860374451,0.2117457687854767,0.0268959943205118,0.3316360414028168,-0.1427448838949203) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(0.1241631358861923,0.0109979715198278,0.0904786363244057,-0.0379761122167110,-0.0773687884211540,0.0086950268596411,-0.0055560907348990,-0.0312369707971811,-0.1182432249188423,0.0064131035469472,-0.0968448743224144,0.0004869432596024,-0.0540148280560970,0.0043475870043039,-0.1169734001159668,-0.1970898211002350) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(0.1027120649814606,-0.1297794431447983,-0.1821834295988083,-0.0389432236552238,0.2254049628973007,-0.2433087527751923,-0.0331352241337299,0.0756785795092583,0.1273291110992432,-0.0133544355630875,-0.2341815233230591,0.0571484193205833,-0.1782898306846619,0.0834474042057991,-0.0108921295031905,-0.0886220037937164) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(-0.1094568595290184,-0.0957596749067307,-0.0274676457047462,0.0300233084708452,-0.0997114330530167,0.0541625060141087,-0.2816644906997681,-0.1027443483471870,0.1392699182033539,-0.1792718321084976,0.0395042859017849,-0.0708891302347183,-0.0731805413961411,0.0152675509452820,-0.0329343564808369,0.1053873226046562) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.2131853252649307,0.0536327809095383,0.0607958249747753,-0.0451236702501774,-0.1319844573736191,-0.0631724819540977,0.0198248624801636,-0.0859525278210640,-0.0351877212524414,-0.0054908446036279,-0.1348199546337128,-0.2024822235107422,-0.2766202092170715,-0.0030210181139410,0.0702026113867760,-0.0078796250745654) * MODEL2_texOff(vec2(-1,0)); -res += mat4(-0.0815277025103569,-0.0106341000646353,-0.1609243452548981,-0.1676686108112335,-0.2319211214780807,0.1131729558110237,0.1919720172882080,0.0508001819252968,-0.1315050423145294,0.0756277516484261,-0.0307989902794361,0.0422493442893028,0.0132852047681808,-0.1419278979301453,-0.2167273610830307,-0.1998498588800430) * MODEL3_texOff(vec2(-1,0)); -res += mat4(-0.0025860499590635,-0.0395968146622181,0.0460854619741440,-0.1176194027066231,0.1476973891258240,0.0913509428501129,0.1812095791101456,-0.0115374168381095,-0.0393248014152050,-0.1398140341043472,-0.0618198439478874,-0.0181439407169819,0.0638050064444542,0.0019014888675883,-0.1612940877676010,0.1102675050497055) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.0646447390317917,0.0754222497344017,-0.0673433244228363,0.0151181668043137,0.3124671876430511,-0.1447961330413818,0.0104697793722153,0.1630249023437500,0.0387551188468933,-0.0417462401092052,0.0256798043847084,-0.0787662863731384,0.1101403310894966,-0.0997289121150970,-0.0576216690242290,0.0210381727665663) * MODEL1_texOff(vec2(-1,1)); -res += mat4(0.0896490439772606,0.0089573292061687,-0.1412430554628372,0.1984873563051224,-0.0029452331364155,0.2931686937808990,0.0698928833007812,0.1601037830114365,0.0562271699309349,0.0071966187097132,0.0482474006712437,-0.0454484634101391,-0.1320993006229401,0.1875784546136856,-0.2556341588497162,-0.0113304015249014) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.0202724654227495,-0.0727894008159637,-0.0870472565293312,-0.3546771705150604,0.0141543187201023,0.0150978351011872,-0.0626287236809731,0.0009815004887059,-0.2032363414764404,0.2246063351631165,-0.3751204311847687,-0.0597406700253487,-0.1383948624134064,0.1013215333223343,-0.1304670125246048,0.1644011884927750) * MODEL3_texOff(vec2(-1,1)); -res += mat4(-0.0456490479409695,-0.0613463148474693,-0.1117231249809265,-0.1987032145261765,-0.0195411816239357,0.0880908668041229,0.0096244458109140,-0.0642411410808563,-0.0110747767612338,-0.0435458756983280,-0.0126890772953629,-0.0250666663050652,0.1899543106555939,-0.0682566985487938,0.2061404436826706,0.0412789769470692) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.1177826002240181,0.0146018816158175,-0.0986511260271072,0.0336420871317387,-0.1153668239712715,0.0777957886457443,-0.0858338698744774,-0.4422923326492310,0.0154560981318355,-0.2051071226596832,-0.0810584351420403,-0.1244603917002678,0.2464558482170105,-0.1833258867263794,-0.0182415377348661,-0.0220834054052830) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.1924905776977539,-0.1117476597428322,0.1271586865186691,-0.2686342000961304,0.1095690652728081,-0.0871581360697746,0.0644044876098633,-0.0332871042191982,-0.1041551157832146,0.0013448535464704,-0.1084095463156700,0.0706043913960457,0.1305115967988968,0.0808799862861633,-0.1525753885507584,0.0565870441496372) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.1061240360140800,0.1533000767230988,-0.1983222216367722,0.1870471537113190,0.1344078630208969,0.3044185042381287,0.0617909096181393,-0.1656433492898941,0.0063625723123550,-0.1413098424673080,-0.1637435406446457,0.1443034559488297,-0.1149839758872986,0.0193038787692785,0.1728745549917221,0.1143977195024490) * MODEL3_texOff(vec2(0,-1)); -res += mat4(-0.0302725732326508,-0.2529176175594330,-0.2315671741962433,-0.2790692746639252,0.1610194891691208,-0.1017403900623322,-0.0000837041370687,-0.0155733386054635,-0.1610533446073532,0.0615849643945694,-0.2027740925550461,-0.0880146324634552,0.3234379887580872,-0.0959569066762924,0.0474429726600647,-0.1007325351238251) * MODEL4_texOff(vec2(0,-1)); -res += mat4(-0.1558423340320587,0.2064337730407715,0.0963341295719147,0.0480858497321606,0.0508614704012871,0.2833628952503204,-0.2111598849296570,-0.1196318864822388,-0.0459625422954559,-0.2106156200170517,-0.2951243519783020,0.0868631899356842,-0.0003154673613608,-0.2333782017230988,-0.1000496298074722,0.0626180991530418) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.1932811141014099,-0.0752814933657646,-0.1842229515314102,-0.2827846407890320,0.0186605136841536,0.2322886884212494,0.1690598279237747,-0.1465863287448883,-0.0611668862402439,0.3823274672031403,0.1275962442159653,0.0298891123384237,0.1362695097923279,-0.3896694779396057,-0.2164889276027679,0.0121766198426485) * MODEL2_texOff(vec2(0,0)); -res += mat4(-0.1750837415456772,0.2699394226074219,-0.1635322570800781,0.0161948371678591,-0.1476018130779266,0.1914982497692108,0.0144985588267446,0.0859881937503815,0.2351910471916199,0.0343930535018444,0.2515315413475037,-0.1040823310613632,0.0438520275056362,-0.2739296555519104,0.1255066543817520,0.0896602347493172) * MODEL3_texOff(vec2(0,0)); -res += mat4(0.3064153492450714,0.4005044400691986,0.0762087479233742,-0.2348560541868210,0.1157990172505379,0.1062021479010582,-0.0546767115592957,-0.2798782289028168,0.0167808197438717,-0.0168182663619518,0.0132196992635727,-0.2270394563674927,-0.1762010306119919,-0.1466397643089294,-0.0625134930014610,0.0320768803358078) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.0993257388472557,0.0649610012769699,-0.0053571714088321,-0.0082653546705842,-0.0245842412114143,0.0443690195679665,0.1141411438584328,0.0491457097232342,-0.1753544062376022,-0.0936970785260201,-0.0088530033826828,0.0569284297525883,0.2916305065155029,0.0340628027915955,-0.0207389947026968,0.2052062749862671) * MODEL1_texOff(vec2(0,1)); -res += mat4(0.1970991790294647,0.0111151440069079,0.0261362046003342,-0.2216634452342987,0.0574139580130577,-0.0823420509696007,-0.2563342750072479,0.0653154477477074,-0.1878300607204437,-0.1970428824424744,-0.2466162294149399,-0.0955833271145821,0.2162469029426575,0.1619289666414261,0.1208761036396027,0.1235184818506241) * MODEL2_texOff(vec2(0,1)); -res += mat4(-0.3088294863700867,0.1254612952470779,-0.0912870392203331,0.1172509938478470,0.1021689027547836,0.1264224201440811,-0.0292495489120483,0.3204441368579865,-0.3002504408359528,-0.1317919045686722,0.0166458766907454,-0.0177567750215530,0.1619028151035309,0.0032324162311852,-0.0188052989542484,0.2918674945831299) * MODEL3_texOff(vec2(0,1)); -res += mat4(-0.0373700335621834,-0.1198440343141556,0.0359218940138817,-0.2480407059192657,-0.0318877287209034,-0.2881574034690857,-0.2438662052154541,-0.0927068293094635,0.0078569417819381,0.1037964820861816,-0.1413367241621017,-0.0137775270268321,-0.0625366717576981,-0.0134213268756866,-0.3083684742450714,0.1108632534742355) * MODEL4_texOff(vec2(0,1)); -res += mat4(-0.3349715769290924,-0.1317188888788223,-0.1671088486909866,-0.0817724987864494,-0.1144232824444771,0.0048909387551248,-0.1092172861099243,-0.0370661281049252,0.2090319991111755,-0.2057263106107712,-0.0395696796476841,0.0258321799337864,0.2298916131258011,0.4681289792060852,-0.0471538752317429,0.1106673181056976) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0195893235504627,0.0379856154322624,0.1164755225181580,-0.0829814523458481,-0.2767821252346039,0.0508721359074116,-0.0290123373270035,-0.0668779537081718,-0.1644570976495743,0.0210546031594276,0.0759513229131699,0.1058139577507973,0.1144111379981041,0.1484566628932953,0.2890726029872894,-0.1711259931325912) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.1059925407171249,-0.0814683809876442,-0.0848859995603561,0.1525574922561646,0.3638705015182495,0.4572051465511322,0.0828496515750885,-0.2582603394985199,-0.1592672169208527,-0.1901358217000961,0.1436413824558258,0.1182926371693611,-0.2372592985630035,-0.0372900925576687,-0.0051105986349285,-0.0758314356207848) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.1400740295648575,-0.2038751840591431,-0.0719010755419731,-0.0405767895281315,0.1227956414222717,-0.1259030550718307,-0.0358418263494968,0.1117928698658943,-0.0795039534568787,0.0614631362259388,-0.3087014257907867,-0.4893686175346375,0.2264759391546249,-0.2447050064802170,0.0889254882931709,0.0100935809314251) * MODEL4_texOff(vec2(1,-1)); -res += mat4(0.0217738077044487,0.0176007878035307,-0.2607063055038452,0.0550331249833107,0.1878303140401840,0.0477681644260883,-0.0779048502445221,-0.2856964170932770,-0.0554993599653244,-0.1516432613134384,0.0942186042666435,-0.1185625568032265,-0.0166716910898685,0.3866922557353973,-0.1405813694000244,-0.0932301729917526) * MODEL1_texOff(vec2(1,0)); -res += mat4(0.1159741282463074,0.1039962545037270,-0.0504094660282135,-0.1678449511528015,0.0106546822935343,-0.0122920302674174,-0.2778696715831757,-0.1467290073633194,0.0240973122417927,-0.2142482250928879,-0.0310044996440411,-0.1767701804637909,-0.1672160476446152,0.1837885379791260,-0.0636335387825966,0.1786867231130600) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.1969493180513382,-0.4721818566322327,0.1394564211368561,-0.1772415786981583,-0.0388147681951523,-0.0136686628684402,0.0322474539279938,0.0240791272372007,-0.0677289590239525,0.0180334076285362,-0.0344137251377106,-0.0402547642588615,-0.1755164265632629,-0.0280224382877350,-0.0254966318607330,0.1124374568462372) * MODEL3_texOff(vec2(1,0)); -res += mat4(0.0151444664224982,0.1410819441080093,-0.0582266077399254,0.0280380994081497,0.1040878146886826,-0.1763634234666824,0.0323766358196735,0.1948373168706894,-0.0632817745208740,0.1048348322510719,-0.2580938637256622,-0.2070229798555374,-0.0058777360245585,-0.2688303887844086,0.1039765253663063,-0.1952414065599442) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0296596698462963,-0.0053568794392049,-0.1224329546093941,0.1098607107996941,0.1625319421291351,-0.0660132914781570,-0.2764773070812225,-0.1851625293493271,-0.1605213135480881,-0.0749701336026192,0.0606767535209656,0.1274097710847855,0.0382224395871162,0.2637858986854553,-0.2092239856719971,-0.0941066220402718) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.0270286444574594,-0.0379284620285034,-0.4569397866725922,0.1980397999286652,-0.1062079742550850,0.0811205580830574,0.1604664623737335,-0.0340450704097748,-0.2145227491855621,0.1034764498472214,-0.0876012966036797,0.0398642048239708,0.0259769931435585,-0.3458499014377594,-0.1060313656926155,-0.0072943884879351) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.0618791580200195,0.0328850336372852,-0.1261637210845947,-0.0710062086582184,0.1435228437185287,0.3010757565498352,0.3635602593421936,0.1455109268426895,0.1251090914011002,-0.1946859359741211,-0.1394447386264801,0.0900799855589867,-0.1168426424264908,-0.1165853515267372,-0.0605765618383884,0.1291817724704742) * MODEL3_texOff(vec2(1,1)); -res += mat4(-0.1529845148324966,-0.0510823279619217,0.3222539126873016,-0.0898447185754776,0.0033095439430326,-0.0484984517097473,0.0019035678124055,-0.0627465695142746,-0.1137327104806900,-0.0685348659753799,-0.3636776804924011,0.1036927253007889,-0.1019577011466026,-0.0318000465631485,0.1457210779190063,0.1087952628731728) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1815287917852402,0.2324435710906982,0.2205682545900345,0.2317584604024887) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 3_3 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL23 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0702124536037445,-0.0073919403366745,-0.0139411697164178,0.0311370212584734); -res += mat4(-0.0701021924614906,-0.0227269008755684,-0.2888352572917938,0.1626345068216324,0.0032680127769709,-0.0210263244807720,-0.0872356891632080,-0.4623362421989441,-0.0254703927785158,-0.0633526220917702,-0.1591652035713196,0.0171062480658293,0.1649436801671982,-0.3137818872928619,0.0260657984763384,-0.0488405898213387) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0384721867740154,-0.0658196508884430,0.1780836135149002,-0.2482599169015884,-0.0060729226097465,0.1033312454819679,0.2161006033420563,-0.1857793331146240,0.0142633561044931,-0.1013383418321609,0.1907071173191071,0.1342842578887939,0.2304862439632416,0.3942129611968994,0.2385276108980179,0.0573836751282215) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(0.0336436331272125,0.0179337728768587,0.0786792859435081,0.0672608092427254,0.1222786456346512,0.0896515250205994,-0.0145027944818139,-0.1583114266395569,0.0267647411674261,0.0747191235423088,-0.1427376568317413,-0.2960321903228760,-0.1537071466445923,0.1211759671568871,0.0762216225266457,-0.1158496439456940) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(-0.0749104470014572,-0.0549787506461143,-0.2091294080018997,-0.0559946522116661,-0.1411948502063751,0.0069848685525358,-0.1333367824554443,-0.1413129717111588,-0.0794389173388481,-0.0378859676420689,-0.0022761658765376,0.1304722875356674,-0.0313382819294930,-0.1397222429513931,-0.4245188832283020,-0.0334210544824600) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(0.0450276955962181,0.0643864274024963,-0.3470535874366760,-0.0262859351933002,0.2745279669761658,0.0100389719009399,-0.0705008357763290,-0.1495322287082672,-0.0464479140937328,0.1504141092300415,0.1037897467613220,-0.0187673419713974,0.1328308284282684,-0.2958495914936066,-0.2068023830652237,-0.0312387160956860) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.1014834716916084,0.0810937955975533,0.1072079166769981,0.0292684379965067,-0.0667571723461151,-0.1514628231525421,-0.3983023762702942,0.1152021512389183,-0.0079235928133130,-0.1242438331246376,-0.0676635429263115,0.0451294891536236,-0.1106870174407959,0.0005199183942750,-0.2893837988376617,-0.0468294247984886) * MODEL2_texOff(vec2(-1,0)); -res += mat4(0.1363565474748611,-0.1851838082075119,-0.2241757214069366,0.0829296410083771,-0.0286405943334103,-0.2116683721542358,0.0302837286144495,0.1795148402452469,0.0915972664952278,-0.3695042133331299,0.0146543243899941,-0.1272113621234894,-0.0935953482985497,-0.0463738478720188,-0.0748903900384903,-0.0504175424575806) * MODEL3_texOff(vec2(-1,0)); -res += mat4(0.2215912342071533,0.0815052837133408,0.2731705307960510,-0.1461572647094727,0.0190725438296795,0.0328789316117764,0.1920363008975983,-0.0141388345509768,-0.0495494902133942,-0.0590345636010170,-0.2381338477134705,-0.0004293473029975,0.0339478328824043,0.0086385160684586,-0.2619581818580627,0.0723142623901367) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.0875752046704292,-0.0325735695660114,0.2092861086130142,-0.0965357422828674,-0.0713080242276192,0.1148135960102081,0.3379627168178558,-0.0941332131624222,-0.0182314775884151,-0.0469493940472603,-0.0811084359884262,0.0854068920016289,0.2502483725547791,0.0840929821133614,0.1961069554090500,-0.1776262968778610) * MODEL1_texOff(vec2(-1,1)); -res += mat4(0.0417266637086868,0.0025331405922771,-0.0771116241812706,-0.0491130650043488,0.0183748453855515,0.0063139246776700,-0.0283488072454929,0.0590459667146206,-0.0617266483604908,-0.0647608116269112,-0.0643330961465836,0.0923468545079231,0.0922783836722374,-0.0330243781208992,0.1504958420991898,0.1963973343372345) * MODEL2_texOff(vec2(-1,1)); -res += mat4(-0.0572751462459564,0.1306759417057037,0.0060679824091494,0.0390822738409042,0.0198893547058105,-0.0520947761833668,-0.0922875478863716,0.0118367634713650,0.2514804303646088,0.0449428111314774,0.0104318046942353,-0.1118500307202339,-0.1186810135841370,0.0046839071437716,0.1202402859926224,-0.1301321685314178) * MODEL3_texOff(vec2(-1,1)); -res += mat4(0.1710626184940338,-0.0969278812408447,-0.1207182705402374,-0.1081039309501648,-0.0133363809436560,0.1422639638185501,0.1744020432233810,0.0842885896563530,0.0170146357268095,-0.0634968951344490,-0.2371903508901596,-0.1135446131229401,-0.0764357820153236,-0.0076865861192346,0.0968130677938461,0.1030327603220940) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.1007475182414055,0.1401249468326569,-0.3145661950111389,0.1650671362876892,-0.1575912982225418,0.0256420578807592,-0.3068359494209290,-0.0489099919795990,-0.1058722808957100,0.0261610224843025,-0.0649983733892441,0.0630548968911171,0.0640746206045151,-0.1394553035497665,0.1328419446945190,-0.0686397626996040) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.0910852178931236,0.1328614205121994,0.2062330842018127,-0.0148927550762892,0.0553870424628258,-0.1312534660100937,-0.0393478535115719,-0.0175620019435883,0.0419233851134777,0.1887574642896652,0.1242798492312431,-0.0842027664184570,-0.0960193052887917,0.0800663828849792,0.0514912754297256,0.0020991130732000) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.1342384964227676,-0.1589258015155792,-0.1876648217439651,-0.0561787188053131,-0.0370954759418964,-0.0225198399275541,-0.0655014067888260,0.1532345116138458,0.0299833342432976,0.0432826057076454,-0.2004394382238388,0.1441119015216827,-0.0630432814359665,-0.0526980012655258,0.1717928051948547,-0.0156791526824236) * MODEL3_texOff(vec2(0,-1)); -res += mat4(0.1457197517156601,0.0018704266985878,-0.1469911187887192,0.2500851750373840,-0.1132869720458984,0.1139084473252296,0.3968826532363892,-0.0296439584344625,0.0593984834849834,0.1403691619634628,-0.2882837951183319,-0.0016219408717006,-0.1612640321254730,-0.0108379321172833,-0.0625918358564377,0.1947486996650696) * MODEL4_texOff(vec2(0,-1)); -res += mat4(0.0297655630856752,-0.0049511999823153,0.0471004396677017,-0.2270125448703766,0.1432521939277649,-0.0400270633399487,-0.0909382924437523,-0.0931131318211555,-0.1015701815485954,-0.0458565838634968,0.0552412495017052,0.1479353159666061,-0.1293515264987946,0.1352471113204956,0.1350554674863815,0.2423781007528305) * MODEL1_texOff(vec2(0,0)); -res += mat4(-0.1460799425840378,-0.0870099514722824,-0.3320889174938202,0.0029531058389693,0.0003779839025810,0.1603541225194931,-0.1854766905307770,-0.0395797602832317,0.2737091481685638,0.0791982561349869,0.2486470639705658,-0.1720715761184692,-0.3103558719158173,-0.1731415987014771,-0.0599733479321003,0.1694648861885071) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.1328926533460617,-0.0506218485534191,-0.0827026888728142,-0.0155238732695580,0.1623931527137756,-0.2291088253259659,-0.1520931869745255,0.2099923491477966,-0.1042925342917442,-0.0283695645630360,-0.0153061477467418,-0.0599941164255142,-0.0137519370764494,-0.1387848705053329,0.2283842861652374,-0.2495807409286499) * MODEL3_texOff(vec2(0,0)); -res += mat4(0.1108347102999687,-0.3235684037208557,-0.1621576845645905,-0.1383376866579056,0.0498821549117565,-0.2089745998382568,0.2584751546382904,0.2222363948822021,-0.1537376344203949,-0.0630492791533470,-0.2469779402017593,0.0190654341131449,0.1372849047183990,0.1260436028242111,0.0395299233496189,-0.1577372252941132) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.1201148852705956,0.0632386207580566,0.0014183582970873,-0.0995097085833549,0.0613158196210861,0.1180694773793221,0.1030651479959488,0.0857463851571083,-0.1475404798984528,0.1019628793001175,-0.0630038306117058,-0.0242552459239960,0.0928116291761398,0.0385808683931828,0.0403628572821617,0.0216276403516531) * MODEL1_texOff(vec2(0,1)); -res += mat4(-0.0557530373334885,0.0755260884761810,0.0573121942579746,-0.0846045166254044,-0.1383802145719528,0.0156871546059847,0.0206889864057302,0.0196448732167482,0.0936936438083649,-0.0411296375095844,0.0917777568101883,-0.0541635826230049,-0.1951742023229599,0.0054358150810003,-0.0279130693525076,-0.1886591315269470) * MODEL2_texOff(vec2(0,1)); -res += mat4(-0.0756752490997314,-0.0273822136223316,0.1296551972627640,0.0417635515332222,-0.0240329802036285,0.0925910696387291,-0.1920022219419479,0.1842794269323349,-0.0187953840941191,-0.0966263934969902,-0.0716835185885429,0.0709151551127434,0.1714404076337814,-0.0126170367002487,0.0895805954933167,-0.1575298607349396) * MODEL3_texOff(vec2(0,1)); -res += mat4(0.0161564704030752,-0.0908250436186790,-0.0535212606191635,-0.1211237236857414,0.0104334913194180,0.0964544042944908,0.1245422288775444,-0.0596341341733932,-0.0090741291642189,-0.0622812099754810,-0.0570233128964901,0.0121575519442558,0.1045827344059944,0.0949763879179955,-0.0032854136079550,0.0530056022107601) * MODEL4_texOff(vec2(0,1)); -res += mat4(-0.0003848207416013,0.0003470199008007,-0.2092830240726471,-0.1006018817424774,0.1081147268414497,-0.0939455777406693,-0.2698166072368622,-0.1198394224047661,0.0247480031102896,0.0025754191447049,0.0529895015060902,0.0784725844860077,-0.0928552076220512,0.0278765819966793,-0.1788543015718460,-0.1194280758500099) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0240296050906181,-0.0719401836395264,-0.0925402045249939,0.0368942469358444,-0.1238216906785965,-0.0104599799960852,0.0797987431287766,0.2005718648433685,-0.0560903325676918,0.1204912438988686,-0.1408958435058594,-0.1095607727766037,0.0530463643372059,-0.0714835375547409,0.1204818114638329,-0.0226355418562889) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.0066233715042472,-0.0085219331085682,0.1553241163492203,0.1768709570169449,-0.0071294018998742,0.0826016515493393,0.1033945232629776,-0.0842639729380608,-0.0041914470493793,0.0168229565024376,0.0179441776126623,-0.1159901246428490,0.0649634003639221,-0.0036737429909408,-0.0771653503179550,-0.0308642201125622) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.2729343771934509,0.0497075170278549,-0.0026191901415586,-0.1095769479870796,0.1689689904451370,0.0989566892385483,0.1425782740116119,-0.0923333391547203,0.0479826107621193,-0.0109836682677269,-0.1516933888196945,-0.0755853131413460,0.0668197572231293,-0.1661550849676132,-0.1431109160184860,-0.0723206996917725) * MODEL4_texOff(vec2(1,-1)); -res += mat4(0.1526912599802017,-0.2092438638210297,0.1788097172975540,-0.2979544103145599,0.1153424009680748,-0.0583218894898891,0.2775128483772278,-0.0670548528432846,-0.1158031001687050,-0.0313567221164703,-0.0862830877304077,-0.0168380811810493,0.1720536202192307,-0.1574773937463760,-0.0655749142169952,0.0468243248760700) * MODEL1_texOff(vec2(1,0)); -res += mat4(-0.0487683452665806,-0.0382587201893330,0.0241972431540489,-0.0493089780211449,-0.0555609352886677,-0.0067837014794350,-0.0213792026042938,-0.0070139062590897,0.0188753847032785,-0.0027772670146078,-0.0037210951559246,0.0412457138299942,-0.1203945055603981,0.1010156199336052,0.1245918199419975,0.0539072118699551) * MODEL2_texOff(vec2(1,0)); -res += mat4(0.2347936481237411,0.0883517116308212,0.1132112294435501,-0.0474456958472729,-0.1135244220495224,-0.0347181186079979,0.0172416865825653,-0.2652592957019806,-0.0226777717471123,-0.0604296252131462,0.0538337491452694,-0.1083922386169434,-0.1236453726887703,-0.1288684159517288,-0.0247967280447483,0.1505742967128754) * MODEL3_texOff(vec2(1,0)); -res += mat4(0.2681937813758850,-0.0158778056502342,-0.1354302614927292,-0.1361819207668304,0.0306474398821592,0.2655562162399292,-0.0406502112746239,0.0016859595198184,-0.0237504821270704,0.0070713874883950,-0.0231034811586142,0.1406109482049942,-0.1182266771793365,-0.0951323062181473,0.0018538978183642,-0.2768996357917786) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0353536196053028,-0.0921272039413452,0.0878378674387932,-0.0809178501367569,0.0247934293001890,0.0404791571199894,0.2440562695264816,-0.2024139314889908,-0.0439180545508862,-0.0269075818359852,-0.0294208191335201,-0.1838177591562271,-0.0105912992730737,-0.0347341038286686,0.2511779069900513,-0.2236188799142838) * MODEL1_texOff(vec2(1,1)); -res += mat4(0.0756920054554939,-0.0789640992879868,0.0566606670618057,-0.0701330006122589,-0.1399319618940353,0.0669462606310844,-0.1423660665750504,0.0571723207831383,0.0195416212081909,-0.0601054690778255,-0.1047430261969566,-0.0097105586901307,0.0143667897209525,0.0351258963346481,-0.0918308123946190,0.0262705143541098) * MODEL2_texOff(vec2(1,1)); -res += mat4(0.0553749389946461,-0.0041886884719133,-0.0605173110961914,-0.2807769775390625,-0.0843012928962708,-0.0889118164777756,0.1334851682186127,0.1318182200193405,0.0897891595959663,0.0396225266158581,0.0366121716797352,0.1134602576494217,-0.0629994198679924,-0.1568417549133301,-0.1642931103706360,-0.0793174281716347) * MODEL3_texOff(vec2(1,1)); -res += mat4(0.0874854996800423,0.1451302468776703,0.0418023057281971,-0.1321189403533936,-0.0695790126919746,0.2883740365505219,-0.1460049748420715,0.0687866210937500,0.0545384436845779,-0.0934416949748993,-0.0962195023894310,-0.1414998918771744,0.0271762069314718,-0.1021812409162521,0.0505671724677086,-0.2166446149349213) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.5975642800331116,0.7101187705993652,0.2210603356361389,0.2657143771648407) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 3_4 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL24 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0443575866520405,0.0172876622527838,-0.0082638226449490,-0.0544411092996597); -res += mat4(-0.1153867915272713,0.0461534447968006,-0.0481961183249950,-0.2565690577030182,0.1237876564264297,0.0152695626020432,-0.0350298024713993,-0.0990370288491249,0.0285262055695057,0.1229283809661865,-0.1238357573747635,-0.0759160369634628,-0.2531270980834961,0.2380990982055664,-0.0787951722741127,0.1950285434722900) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0382908396422863,-0.0417050942778587,-0.1520241796970367,0.0926067382097244,-0.0464121475815773,0.0505627468228340,-0.0669444873929024,0.1505109965801239,-0.0031924818176776,0.0725569278001785,-0.0324036702513695,-0.1299898773431778,0.0526748150587082,-0.3923801779747009,-0.0003234971081838,0.2298050224781036) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(-0.0158206578344107,0.0612725801765919,0.0217537786811590,0.0373446457087994,0.0386385247111320,-0.3187672793865204,0.0781018361449242,0.0903870463371277,0.0719380453228951,-0.1963636577129364,0.1117507144808769,0.2412035316228867,0.0393624939024448,-0.0267373267561197,-0.0120506389066577,0.0325187817215919) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(0.0013712226646021,-0.0729541629552841,-0.0627016201615334,0.0235389731824398,-0.0010774170514196,0.0116832097992301,0.0252580288797617,0.0797800123691559,-0.0948337614536285,-0.2426748275756836,-0.0168571360409260,0.1404494047164917,-0.0608085468411446,0.1046258732676506,-0.0393141172826290,-0.3354213833808899) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(0.0401702076196671,0.0116428518667817,0.0165713913738728,-0.1874607950448990,0.0213737469166517,-0.2549341619014740,-0.0404388010501862,-0.1960299760103226,-0.0566449239850044,-0.0323658846318722,-0.1800719201564789,-0.0039301561191678,0.0696632415056229,0.3224157989025116,-0.0475851297378540,-0.1182355955243111) * MODEL1_texOff(vec2(-1,0)); -res += mat4(-0.0834796428680420,-0.1097645685076714,-0.1787838637828827,-0.2374421954154968,-0.1988388746976852,-0.0524192564189434,0.0666269883513451,0.0908249542117119,-0.0258842185139656,-0.0545889735221863,-0.0301691982895136,0.0798295736312866,-0.2172527909278870,-0.0664639845490456,-0.0143356332555413,-0.2312526553869247) * MODEL2_texOff(vec2(-1,0)); -res += mat4(0.0714868083596230,0.0502547994256020,0.0061017167754471,-0.1212317571043968,-0.1282726526260376,0.0560447759926319,-0.0607359856367111,0.2706331908702850,-0.1796873956918716,-0.1682124137878418,0.0601998120546341,0.0678014680743217,0.0790508463978767,0.3452021777629852,-0.0348107293248177,-0.0541482418775558) * MODEL3_texOff(vec2(-1,0)); -res += mat4(-0.0569735094904900,-0.1850724965333939,0.1415492594242096,-0.2577478885650635,-0.1717088371515274,0.0901149287819862,-0.0661593079566956,-0.0004867933748756,0.1020784005522728,-0.0526819080114365,0.2232382893562317,-0.2100684493780136,0.0857498720288277,-0.0184538122266531,-0.1990237534046173,-0.0481382273137569) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.0701708495616913,0.0714991837739944,-0.0289904810488224,0.0925415754318237,0.3219135403633118,0.0831121951341629,0.0881434902548790,0.1057760789990425,0.0613221228122711,0.1067363843321800,-0.1622885763645172,-0.1565199643373489,0.0851741209626198,0.1869019120931625,0.1420780122280121,0.0997897535562515) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.0006897908751853,0.0002230324316770,-0.0061215348541737,0.0813290178775787,0.1386551111936569,-0.0496507324278355,-0.0165110882371664,-0.0290622301399708,0.0139145683497190,0.1921701133251190,-0.0538125894963741,-0.0863768830895424,-0.2305068075656891,-0.2698709964752197,-0.0517536289989948,-0.1628949642181396) * MODEL2_texOff(vec2(-1,1)); -res += mat4(-0.1351000368595123,0.1070886105298996,-0.2094243615865707,0.0464893393218517,0.0940783843398094,-0.1414466351270676,0.0218101758509874,0.3694844841957092,-0.1057478785514832,-0.1334850490093231,0.2141398936510086,-0.3210513293743134,-0.0921101868152618,0.0976445004343987,-0.2729000449180603,0.0085345814004540) * MODEL3_texOff(vec2(-1,1)); -res += mat4(-0.1307733803987503,0.1647614687681198,-0.0921722650527954,-0.3943025767803192,0.0007722134469077,0.0027217469178140,-0.1987177282571793,-0.1953782737255096,-0.0254900511354208,-0.0454240925610065,0.3156110942363739,-0.0799890533089638,0.2957562804222107,0.0620916970074177,-0.0336010232567787,0.2646394073963165) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.1116567626595497,-0.0836347565054893,0.1115480437874794,0.0097437910735607,0.1639147549867630,0.0891782045364380,-0.0390031039714813,0.1287636607885361,0.0770513340830803,0.0410465076565742,-0.0916645526885986,0.1304619610309601,-0.0790105015039444,0.1829534024000168,-0.0470223166048527,-0.0093155642971396) * MODEL1_texOff(vec2(0,-1)); -res += mat4(0.0936345830559731,-0.0782197788357735,0.1606648862361908,0.1692751049995422,0.0132142482325435,0.1755735427141190,0.0863987356424332,0.0030541669111699,0.0000777405730332,-0.0637332722544670,-0.0151124233379960,0.0080806603655219,0.2946056127548218,0.1572885811328888,-0.0315047018229961,0.0588088929653168) * MODEL2_texOff(vec2(0,-1)); -res += mat4(-0.0298017617315054,-0.0061077997088432,-0.0580525957047939,-0.0804082378745079,-0.1665166020393372,0.0623690932989120,0.0284630451351404,-0.0096295243129134,0.1184189021587372,0.1396970599889755,-0.1514411866664886,0.1364833414554596,0.0481353737413883,-0.0669141933321953,0.1589397490024567,-0.0797372981905937) * MODEL3_texOff(vec2(0,-1)); -res += mat4(-0.0185342114418745,-0.1536676138639450,-0.0603987500071526,-0.0730288252234459,-0.1415396630764008,-0.0863459929823875,0.0164157245308161,0.0840049684047699,-0.0415670052170753,-0.0586951412260532,0.0512553639709949,0.1032735556364059,-0.1099452152848244,-0.0762356966733932,-0.1867228895425797,0.0231300555169582) * MODEL4_texOff(vec2(0,-1)); -res += mat4(-0.1312593370676041,0.0375906229019165,0.1423014402389526,-0.1105326265096664,0.0680506676435471,-0.0286753885447979,0.0948435217142105,-0.0689550116658211,-0.0741788819432259,0.1600024253129959,-0.0716771259903908,0.0085076913237572,-0.1738433390855789,-0.0144208027049899,-0.0136983916163445,-0.0305898804217577) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.0929514318704605,-0.1521934568881989,-0.0364846922457218,0.0338692665100098,-0.0106543321162462,-0.0289950501173735,0.1089482158422470,0.1263038516044617,-0.0290692597627640,-0.0697734877467155,0.1355585157871246,-0.1108760386705399,-0.0116071458905935,0.0083957426249981,-0.2239753752946854,-0.5434979796409607) * MODEL2_texOff(vec2(0,0)); -res += mat4(-0.0460685156285763,0.0441793315112591,0.1100800260901451,-0.1913414448499680,-0.1769113987684250,0.0404835790395737,-0.0132482098415494,-0.2680893838405609,-0.0374812632799149,0.1182867735624313,-0.3552883565425873,-0.0169352013617754,-0.0444028526544571,0.1078578159213066,0.0429306253790855,-0.1253164261579514) * MODEL3_texOff(vec2(0,0)); -res += mat4(0.1520735323429108,0.1122125014662743,-0.0572709515690804,0.1860113143920898,-0.1938176900148392,-0.1196697056293488,0.0515486299991608,0.0246989522129297,-0.0040818098932505,-0.0565706454217434,0.1167541593313217,-0.0432274863123894,-0.0820094197988510,-0.0788283571600914,0.0382751859724522,-0.2703585624694824) * MODEL4_texOff(vec2(0,0)); -res += mat4(-0.0544024519622326,-0.0482789166271687,0.0499327331781387,-0.0224006045609713,-0.1344419270753860,0.1278635114431381,0.0594440139830112,0.0979198217391968,-0.0838272720575333,-0.0638934597373009,-0.0973634496331215,-0.0540071614086628,0.0897210091352463,-0.1422097086906433,-0.0421974919736385,0.2081049084663391) * MODEL1_texOff(vec2(0,1)); -res += mat4(0.1588554382324219,-0.0452760532498360,0.1712678372859955,-0.2316809445619583,-0.1399545371532440,0.1568536311388016,-0.1081517189741135,0.0849758759140968,-0.1067460626363754,0.2366832941770554,-0.2033029198646545,-0.0909346193075180,-0.0132193733006716,-0.1119452565908432,-0.0544908158481121,-0.0902159363031387) * MODEL2_texOff(vec2(0,1)); -res += mat4(-0.1147935464978218,-0.1596799343824387,-0.2795168459415436,0.3158423900604248,0.0038823492359370,0.2082762718200684,-0.1292865127325058,0.2380218058824539,-0.0593362376093864,-0.0810502246022224,0.0335814654827118,-0.1890208125114441,-0.1477932035923004,0.2309811264276505,-0.3007490336894989,0.0217646900564432) * MODEL3_texOff(vec2(0,1)); -res += mat4(-0.2412584275007248,-0.1820785254240036,0.0960279777646065,-0.2453560382127762,-0.2881637811660767,-0.1028830781579018,-0.2350692152976990,-0.0128567134961486,0.1733272373676300,-0.0676517561078072,0.1780357509851456,-0.0170940048992634,0.0703172907233238,0.0450714193284512,-0.1234186515212059,-0.0243477169424295) * MODEL4_texOff(vec2(0,1)); -res += mat4(0.0533849410712719,-0.0511825680732727,-0.0241323150694370,0.0128192249685526,-0.2787725627422333,-0.0935949161648750,-0.0443010739982128,-0.3568337559700012,-0.2843543589115143,-0.0588542819023132,-0.0993447974324226,-0.1083608344197273,0.0001687354524620,0.0821412280201912,-0.1406271159648895,-0.0102522866800427) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0060335719026625,0.1511419117450714,-0.0411694757640362,-0.1048525050282478,0.0608293041586876,0.0566475875675678,-0.0050620441325009,0.1147922128438950,0.2428995966911316,0.0423743464052677,-0.0551568940281868,0.1753053963184357,-0.1469645202159882,-0.0733559280633926,0.0791069194674492,-0.0516989901661873) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.2005743384361267,-0.0774631947278976,-0.0018204173538834,-0.0483595058321953,0.3581720888614655,-0.0147614227607846,0.0816907212138176,0.0681930705904961,0.0841999724507332,-0.0154275819659233,0.2317570000886917,-0.1873822659254074,0.1134597137570381,0.0353046320378780,0.0136633478105068,0.2268718034029007) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.0015500508015975,-0.0350912995636463,0.1819244474172592,-0.2943778336048126,0.2153276652097702,-0.0406356230378151,0.1584931910037994,-0.0552403181791306,0.2545297443866730,-0.0378523170948029,0.0114929713308811,0.1883126944303513,0.1250792145729065,0.0013357850257307,-0.0502807945013046,-0.0971949324011803) * MODEL4_texOff(vec2(1,-1)); -res += mat4(-0.1276038736104965,-0.0561961047351360,-0.0403705053031445,-0.0439917519688606,0.1488273143768311,-0.0142760565504432,-0.1225387305021286,0.0815235823392868,-0.2227692008018494,-0.0470094233751297,-0.1504957526922226,0.0665239840745926,-0.1025593727827072,-0.2867625355720520,-0.1235116273164749,-0.1901986598968506) * MODEL1_texOff(vec2(1,0)); -res += mat4(-0.0514027960598469,-0.0061687403358519,0.0168033670634031,-0.1432375460863113,0.2030462473630905,-0.0529608055949211,0.0640496462583542,0.0653001144528389,0.1284048259258270,0.2448618561029434,0.0806659683585167,0.0043277940712869,-0.2672352194786072,0.1622381359338760,-0.1735759675502777,0.2809754610061646) * MODEL2_texOff(vec2(1,0)); -res += mat4(0.0474898442625999,-0.0711890533566475,0.1305476576089859,0.1354811936616898,-0.1942416578531265,-0.1283458322286606,0.1431433707475662,-0.0947294756770134,-0.2257959097623825,-0.0092973057180643,-0.0537335127592087,-0.0020512044429779,-0.0061748009175062,-0.0626277625560760,0.0192528180778027,-0.0914773717522621) * MODEL3_texOff(vec2(1,0)); -res += mat4(-0.2095741480588913,0.0379726476967335,-0.2243293821811676,-0.1013792231678963,0.0686150416731834,0.0155981667339802,-0.0764645710587502,-0.0305842161178589,-0.0259961690753698,-0.0745085924863815,0.0172162204980850,0.1879747360944748,0.0452391169965267,-0.0608093813061714,0.0837198868393898,-0.0468869470059872) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.1117817163467407,-0.0641569420695305,-0.1584290117025375,-0.1181755587458611,0.1186503022909164,-0.1156232878565788,-0.0058344611898065,0.0541331358253956,-0.1282003223896027,-0.0582902543246746,0.0543746426701546,0.0679086893796921,0.0061439238488674,-0.1673425436019897,0.0167079698294401,-0.0337483622133732) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.0318820178508759,0.0777627304196358,0.0269147269427776,-0.0861848220229149,-0.0572732873260975,0.0880183279514313,-0.2400159239768982,0.0165461376309395,-0.1212224960327148,0.0376691259443760,-0.0711813941597939,0.0702142715454102,-0.0927743837237358,0.1374232769012451,0.1284533143043518,-0.1024940311908722) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.0138010382652283,-0.1079927086830139,0.1322774291038513,-0.0478576496243477,0.0391805581748486,-0.1299014836549759,-0.1109418123960495,0.1180314943194389,-0.2295429855585098,-0.0117011712864041,0.0984913781285286,-0.1071909889578819,0.0500463247299194,0.0054267598316073,-0.0930221453309059,0.0215281862765551) * MODEL3_texOff(vec2(1,1)); -res += mat4(0.2036101222038269,-0.1901089102029800,-0.0043966257944703,0.0032272462267429,-0.1521417796611786,0.1286157071590424,0.0190770793706179,0.3636183440685272,0.0024238554760814,-0.0177340153604746,-0.0120035065338016,-0.0587586909532547,-0.3092055618762970,-0.2019037306308746,-0.0443389788269997,0.0946903005242348) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.2789254188537598,0.3638928830623627,0.2096617668867111,0.2994046211242676) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 4_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0152921751141548,-0.0421884134411812,-0.0183614157140255,-0.0410282649099827); -res += mat4(-0.1190162375569344,-0.0184951145201921,-0.1952454596757889,0.0351415611803532,0.1095704361796379,0.2690263390541077,0.0928188338875771,-0.0438257195055485,-0.1564324200153351,0.2202608585357666,0.2966482639312744,0.2339300215244293,0.0177180171012878,-0.1406821310520172,0.0425183176994324,-0.0873366072773933) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.2482375502586365,-0.2654781043529510,0.2639889121055603,0.0700655505061150,0.0615517050027847,0.2108351439237595,-0.0806319713592529,-0.1797526925802231,-0.0624336525797844,-0.0685776099562645,-0.0651563480496407,-0.1443491876125336,-0.0246811471879482,-0.0681877285242081,0.1129898726940155,0.0209530275315046) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.1096812859177589,0.0943959653377533,-0.0782932192087173,0.0260468591004610,0.0174635350704193,-0.0246985722333193,0.1732371747493744,0.0406307987868786,-0.1182044446468353,0.0382165163755417,-0.0067044254392385,-0.0999275520443916,-0.0449297130107880,-0.1320085078477859,-0.1360876113176346,0.0060703670606017) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.1356152594089508,0.0572884306311607,0.0406529195606709,-0.0040565952658653,0.1286915987730026,0.0303153414279222,0.1618053168058395,-0.1200676858425140,-0.0263732224702835,-0.0870896205306053,-0.1316560655832291,-0.0121240299195051,-0.1870461106300354,0.0447288043797016,0.1710527390241623,-0.0553721748292446) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0464471168816090,0.1919526904821396,-0.0946551561355591,0.0074956319294870,0.0994874835014343,0.1217840313911438,-0.1294769197702408,0.1544425636529922,0.1606628894805908,-0.0447351709008217,0.0724694505333900,0.1136291772127151,0.0624733753502369,0.2222158610820770,0.0059010013937950,-0.2364514917135239) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.0778907388448715,-0.2539246976375580,0.1198333278298378,0.1660131216049194,0.0046856617555022,-0.0109800677746534,-0.0306674037128687,-0.1896251738071442,-0.0958613678812981,0.1874391138553619,0.0100123696029186,0.0713699460029602,0.0761645883321762,-0.0569560490548611,-0.0909131392836571,-0.2699472308158875) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.0022238192614168,0.0236477814614773,-0.1229914277791977,0.0418010838329792,-0.0787138417363167,-0.1798612177371979,-0.0279805678874254,-0.1342673748731613,-0.1635391414165497,0.1586353182792664,0.0362808294594288,-0.0167230870574713,0.0373955816030502,-0.0876701474189758,0.0420879013836384,0.0321516953408718) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.1590444743633270,0.2544798552989960,-0.0201293881982565,-0.0064975111745298,0.0535139851272106,0.0806894153356552,0.0318354517221451,-0.0655529201030731,0.0377475693821907,0.1721737682819366,0.0385644212365150,-0.0033262318465859,-0.0013670603511855,0.0367730893194675,0.1605158299207687,0.0891601368784904) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.0085276458412409,0.0541307553648949,0.1286090761423111,-0.0389432199299335,-0.0670036301016808,0.0946321934461594,-0.1318523585796356,-0.0768390223383904,0.0443721488118172,-0.1537600755691528,0.1307534128427505,-0.0283763110637665,0.0388615429401398,0.0762248709797859,0.2399333566427231,-0.0962653160095215) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.2717413306236267,0.1760793924331665,0.0461732149124146,0.1770322769880295,-0.0147960223257542,0.1942998468875885,0.0912752971053123,0.1081396862864494,-0.0026726231444627,-0.0024635316804051,-0.0913982912898064,0.0536704622209072,-0.1522853970527649,0.0006489959196188,-0.2053583562374115,-0.1001611500978470) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0400715842843056,0.0722900927066803,-0.0374822057783604,0.0356386937201023,-0.1277060508728027,0.0041482169181108,-0.0131168477237225,-0.1277870088815689,0.1593655496835709,0.3133496940135956,-0.1106509268283844,-0.0919809043407440,-0.0221825707703829,0.1275840550661087,0.0457564666867256,0.1137011200189590) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.1386460512876511,0.0263838153332472,-0.0035507711581886,-0.0521514378488064,0.0641407221555710,-0.0251645147800446,-0.0361470617353916,0.0171069763600826,0.0135087221860886,0.0506664738059044,0.1144266724586487,-0.0754845216870308,0.0439829565584660,0.1722060143947601,0.0689463019371033,0.1090410947799683) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.0748251825571060,-0.0373868755996227,-0.2445237040519714,0.0461999066174030,-0.0312598906457424,0.1628284752368927,0.0755133777856827,0.3153704702854156,0.1078406572341919,0.0109743885695934,0.0214311145246029,0.1987844407558441,-0.1095619872212410,-0.2364546656608582,-0.0557893775403500,-0.0438105836510658) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.1185420677065849,-0.1639555245637894,-0.0675024390220642,0.0044744056649506,0.0197197534143925,0.0533142052590847,0.1106917634606361,-0.2565958499908447,-0.1599204242229462,-0.0745692253112793,-0.0643470361828804,-0.0407701171934605,0.0399509742856026,-0.1874625533819199,0.1287930756807327,-0.0945565849542618) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.0372985824942589,-0.2364475876092911,-0.1416206657886505,0.1206288337707520,0.1208982989192009,0.0546784326434135,-0.4221828281879425,-0.1534760743379593,-0.2807195186614990,-0.1074331626296043,-0.1914845257997513,-0.1712386459112167,0.0061590727418661,0.1753525882959366,-0.0589087307453156,-0.0505195632576942) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0249151661992073,-0.2597448527812958,0.0631191357970238,-0.0944171100854874,0.1629322767257690,-0.0848318040370941,-0.0093861659988761,-0.0577203407883644,-0.0819902941584587,0.0118851140141487,-0.0646880120038986,0.1390649974346161,-0.1198703199625015,-0.0731857642531395,0.0939662232995033,0.1096417233347893) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.0456407405436039,0.2087496221065521,-0.1715715974569321,-0.0412586145102978,-0.1189664676785469,-0.3260678946971893,0.0376400612294674,0.1359800100326538,0.1107803955674171,-0.1855342686176300,0.2170415818691254,-0.2294681966304779,-0.0429555885493755,-0.1306051015853882,-0.0653500035405159,-0.1527210325002670) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.0513946749269962,-0.2365732938051224,0.2034884542226791,0.3393885493278503,0.0079911397770047,0.4098736047744751,0.1941663324832916,0.2354645133018494,-0.0273872185498476,-0.0961385965347290,0.1584006547927856,-0.1822158545255661,-0.1715795099735260,-0.0462534204125404,0.3786302208900452,-0.1046399176120758) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.1457742005586624,-0.0326225198805332,-0.1828748881816864,0.0100795663893223,-0.0470789559185505,-0.1352290362119675,-0.0171587206423283,-0.0729092657566071,-0.0180453155189753,-0.0511937029659748,-0.0897613093256950,-0.0998294651508331,0.2800712287425995,0.0911974161863327,-0.0701540037989616,-0.0567394345998764) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.1067931354045868,-0.1711982190608978,0.1395526826381683,0.0277959425002337,0.0274742078036070,0.0734200999140739,0.0027106383349746,0.0178273487836123,0.0144101316109300,0.0287801306694746,-0.0933949872851372,0.0911574736237526,0.0861448571085930,0.0838528275489807,0.0704732686281204,0.0419431403279305) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.0205994043499231,0.2417548000812531,0.0743231922388077,0.1109088286757469,0.0398612245917320,-0.2234560549259186,-0.0184749383479357,-0.0584219731390476,0.0074035394936800,-0.0421438366174698,0.0163138583302498,0.0404778495430946,-0.1052960157394409,-0.0272959545254707,0.1423123329877853,-0.2191802710294724) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.2918152809143066,-0.0512063801288605,-0.0686650797724724,-0.1564840525388718,-0.1622433960437775,-0.1695790588855743,0.1793539226055145,-0.0133622605353594,-0.0066824923269451,0.1389845460653305,0.1318333595991135,0.1922488957643509,-0.1405286788940430,0.1521170437335968,-0.0267318449914455,-0.0208528414368629) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0539000183343887,0.0081105474382639,0.0205685626715422,-0.0260431114584208,-0.1052201390266418,0.0256972257047892,-0.0282303746789694,0.0167612694203854,0.0051702377386391,-0.3079237043857574,-0.2489529252052307,-0.1375894248485565,-0.0477345809340477,-0.0605724230408669,-0.0606473386287689,0.0535141825675964) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.1517951637506485,-0.1868469119071960,0.0677186027169228,-0.0303589422255754,0.1308214962482452,0.2213404625654221,-0.0028607835993171,0.1499667316675186,-0.0751280263066292,0.1820339262485504,-0.1236320659518242,0.0402352139353752,0.1558123379945755,0.0228522513061762,0.0689747929573059,0.1458114981651306) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0838735550642014,0.0195065308362246,0.1009202972054482,0.0141693735495210,-0.0684822127223015,-0.0332339815795422,-0.0316249914467335,0.0639695823192596,0.1330005973577499,0.0309487301856279,-0.0566686838865280,0.0385463833808899,0.0492574349045753,0.0554966218769550,-0.0292854662984610,0.1207696422934532) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0758837163448334,-0.1427588909864426,-0.0506482608616352,0.1501635313034058,0.1298136264085770,0.0306423064321280,0.0134161738678813,0.0281889680773020,0.0916559845209122,0.0178684890270233,-0.1619153767824173,-0.0340744554996490,-0.0231783911585808,0.2219653278589249,0.0506693795323372,0.1598078310489655) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0627072677016258,-0.1126960963010788,0.0420085266232491,-0.1589002311229706,-0.1158275157213211,0.1281264573335648,-0.1756466329097748,0.2203005254268646,0.0139595735818148,0.1681433022022247,-0.2345749884843826,-0.1571274548768997,-0.0429701618850231,0.2290336936712265,0.1631883382797241,-0.0694149285554886) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0143380742520094,-0.1124840825796127,0.1168280020356178,-0.1331634521484375,0.0748192667961121,-0.0109221572056413,-0.1713442057371140,-0.1797152310609818,0.0350942499935627,0.2641543447971344,0.0925283432006836,0.1252704262733459,0.1288260519504547,-0.0570767410099506,-0.0398881733417511,0.0273588541895151) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.0380972400307655,0.1034212782979012,0.0213828608393669,-0.0148614794015884,-0.1653871387243271,-0.0820154994726181,-0.0358952581882477,0.0552289225161076,-0.2512517571449280,0.1247166395187378,-0.1592407822608948,-0.0321089997887611,-0.0776566565036774,-0.1996893286705017,0.0018975811544806,-0.1666585355997086) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0514128804206848,-0.1806413531303406,0.0581526309251785,-0.1845205128192902,-0.0468177050352097,0.0065296655520797,0.1329463273286819,-0.0450613945722580,-0.0819161683320999,0.0609286017715931,-0.1706075519323349,0.0268993731588125,-0.0072728786617517,0.0518279410898685,0.1027556210756302,-0.2655471563339233) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0528295002877712,-0.0194170381873846,0.1845526546239853,0.1348505467176437,-0.0152165666222572,0.1258783489465714,-0.0651827603578568,0.2780140936374664,0.1117969900369644,-0.0688591971993446,-0.3288070559501648,-0.0939544737339020,0.0130054829642177,-0.0179348811507225,0.0906036049127579,0.0461135618388653) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0796370580792427,0.1440742760896683,0.0958162546157837,-0.1148072108626366,-0.0286090094596148,-0.1137517839670181,-0.0212270878255367,0.1032781600952148,-0.0507704839110374,-0.2957864701747894,0.0144752692431211,0.3187844455242157,0.1403873860836029,-0.1035481691360474,0.1974873691797256,-0.2632073760032654) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.0686532109975815,0.0114168180152774,-0.0264973752200603,0.0432150885462761,0.0409793704748154,-0.1033034026622772,0.0921624004840851,-0.0223657265305519,0.0132174659520388,0.1944419145584106,0.0101372804492712,0.2384791672229767,-0.0903540775179863,-0.0613362453877926,-0.1348354369401932,0.0117543349042535) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0706733688712120,0.0145568102598190,0.2090485543012619,0.0469079948961735,-0.1149041429162025,-0.0119383949786425,-0.1316107362508774,0.0373619385063648,0.0922811999917030,0.1671076565980911,-0.1278596818447113,0.1180500537157059,-0.1782978773117065,-0.0470792539417744,0.2547687590122223,-0.0700602754950523) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0254503041505814,-0.1548549383878708,-0.0734742805361748,-0.0471029393374920,-0.1075526848435402,0.0079539306461811,-0.0578407160937786,-0.0321674533188343,-0.0638093203306198,-0.1905551701784134,-0.1036235019564629,-0.1265931129455566,-0.0858744382858276,-0.0884396359324455,-0.0168409720063210,0.0849291086196899) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.0265901386737823,0.0527118593454361,0.1148529797792435,0.0304525271058083,-0.1332283169031143,-0.3303346633911133,-0.1799703687429428,-0.0278543122112751,-0.0371871516108513,-0.3398232161998749,-0.2535822093486786,-0.0149667244404554,0.1491577476263046,0.2170577496290207,0.0698979720473289,0.0537905916571617) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(1.5466239452362061,0.5710025429725647,0.1285991668701172,0.4249538779258728) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 4_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0453155860304832,0.0566566064953804,-0.1348780393600464,0.0311419144272804); -res += mat4(-0.0298858322203159,0.0007992446189746,0.1031991168856621,-0.1147342026233673,0.0256992820650339,0.0183616373687983,-0.0162667911499739,0.1549731940031052,-0.0055262539535761,0.0496536977589130,0.0601272657513618,-0.1503317803144455,-0.2435035556554794,0.0885690078139305,-0.1135892271995544,0.0881927385926247) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.2532794773578644,-0.0676324069499969,0.0434939563274384,-0.0122394170612097,0.0054363864473999,-0.1082903966307640,0.0650861859321594,0.0466154776513577,-0.2336318790912628,-0.2130470126867294,0.0329463183879852,-0.2140024304389954,-0.0949469134211540,0.1295106410980225,0.0128499418497086,-0.3392114043235779) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.0597930103540421,0.0703695788979530,0.0486910603940487,-0.0440734289586544,0.0713865458965302,0.0033064954914153,0.0946139022707939,0.1118625849485397,0.1198386698961258,0.0876456722617149,-0.0981967598199844,-0.0572098456323147,-0.0449983589351177,-0.0386966243386269,0.0293254852294922,0.1515756547451019) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.1065291687846184,0.0516019314527512,0.0942094922065735,-0.2789550125598907,-0.1083808094263077,0.0189416687935591,0.0983946546912193,-0.0416557043790817,0.1205929294228554,0.0996314510703087,0.0302714947611094,-0.0742355734109879,0.0935563519597054,0.0263017658144236,0.0579446218907833,-0.1653401851654053) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0657762736082077,0.1070062145590782,0.0003876284754369,-0.1719539016485214,0.0812518149614334,-0.1447519063949585,0.0523058138787746,0.2124348133802414,0.0217247884720564,-0.1414734274148941,0.0850298330187798,0.0279949326068163,-0.0011123189469799,0.0624437406659126,-0.0589779242873192,0.0794210210442543) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.0161121599376202,0.1379660815000534,0.0784429386258125,0.0722459405660629,0.1067701652646065,-0.0403751768171787,-0.1103240400552750,-0.3988030850887299,-0.2108134478330612,-0.0841747000813484,0.0185179766267538,0.1530532389879227,0.1158207952976227,0.0899809077382088,0.1636642217636108,-0.0838347449898720) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0734359845519066,0.1289348155260086,-0.0174471326172352,0.0241739619523287,0.0240030735731125,-0.1116744130849838,-0.0265962332487106,0.1347594112157822,-0.0199495386332273,-0.1081977784633636,0.0829444453120232,0.0309043060988188,-0.0235595442354679,0.0574604384601116,-0.3009069859981537,0.2973518967628479) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.0262071080505848,-0.0342629849910736,0.1218903064727783,-0.1648992598056793,-0.0859013348817825,0.0062718144617975,-0.1187449544668198,0.0929365009069443,0.2870148420333862,-0.0539081133902073,0.1117846593260765,0.1521280556917191,-0.0004304386384320,-0.1531893014907837,0.1398627758026123,0.2036317586898804) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.0913939774036407,0.0913657099008560,0.0643721818923950,0.1850601583719254,0.1449193507432938,-0.0359147302806377,0.1259242892265320,0.0814334899187088,-0.0170037485659122,0.0242244824767113,-0.1685448884963989,-0.0837342739105225,0.0206238403916359,0.0438248962163925,0.1666281521320343,-0.0559892132878304) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.1529316604137421,0.0114401821047068,0.3237524628639221,0.0986344590783119,-0.1027426719665527,-0.0836644768714905,-0.0738330930471420,-0.3813030719757080,0.0445690080523491,-0.0165712684392929,-0.0360440984368324,0.0016843904741108,-0.0380182377994061,0.1248383373022079,-0.1146307587623596,-0.2490343898534775) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0752653628587723,-0.0364792495965958,0.0201882272958755,-0.1137406229972839,-0.1604456305503845,-0.0414037518203259,0.0450357608497143,-0.0202007535845041,0.1162813231348991,-0.1666767001152039,0.1568126827478409,-0.0240063890814781,-0.4600602090358734,0.1090561226010323,-0.2158937454223633,0.1603046059608459) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.4206949472427368,-0.0567879006266594,-0.0021144414786249,-0.1598827987909317,-0.0417208075523376,0.0602485239505768,0.0066408892162144,0.0403601936995983,0.1464725732803345,0.0026100373361260,0.1791187673807144,0.0845375210046768,0.1565982252359390,-0.0830777436494827,-0.1922154277563095,0.0667199641466141) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.0060128364712000,-0.0625960007309914,-0.1274224668741226,0.0269266348332167,-0.0870532318949699,0.0282196663320065,0.0574103817343712,0.0383691042661667,-0.0209243074059486,0.0348662100732327,0.1376862674951553,-0.1253975927829742,-0.0952221453189850,0.0894378498196602,-0.0370991080999374,0.1560261100530624) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0437814779579639,0.1273395717144012,-0.2346061319112778,0.0037019008304924,-0.0455590412020683,-0.0019906591624022,-0.0454522706568241,-0.0244017206132412,-0.2796474397182465,-0.1605288982391357,0.0137082673609257,0.0599214360117912,0.0686353817582130,-0.0303577929735184,-0.0275447070598602,0.0582771226763725) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.1293218880891800,-0.0938328951597214,-0.0969779714941978,-0.0384574569761753,0.0830583646893501,0.0059704380109906,0.0024985822383314,0.0535708703100681,0.2247512936592102,-0.0756447464227676,-0.1270054876804352,0.0218284782022238,-0.1085592210292816,-0.0930609628558159,0.0310489218682051,0.2560330331325531) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.2577261626720428,-0.1188657507300377,-0.0105566997081041,-0.2601144611835480,0.2246331870555878,0.1289537698030472,-0.1760543435811996,0.0022660291288048,-0.0881892964243889,0.0635417699813843,0.0724733844399452,0.1589717715978622,0.2223478406667709,0.0010198663221672,-0.1692942231893539,-0.0985377058386803) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.0718829855322838,-0.1912522315979004,-0.0708480328321457,-0.1454412341117859,0.0381090529263020,0.0774593502283096,-0.1208931654691696,0.0942043587565422,0.0348212793469429,0.1196285784244537,0.1245930343866348,0.0773270949721336,0.0364356115460396,-0.0984139963984489,0.1983725279569626,-0.1588001847267151) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.0444039553403854,0.2541146576404572,0.0624411217868328,-0.2143382281064987,-0.0556049942970276,-0.1789880841970444,-0.0568387657403946,-0.1514913439750671,-0.2014637589454651,0.0496631786227226,0.0107027366757393,-0.0921937674283981,-0.1036369353532791,-0.0716441869735718,-0.1135786622762680,0.0293759554624557) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.1387470215559006,-0.1590988039970398,-0.1236130967736244,0.0009180741035379,-0.1429602503776550,0.0731679946184158,-0.1794480532407761,-0.0454578734934330,-0.1251609027385712,0.0472761988639832,0.1766531169414520,-0.0180035103112459,0.1838096827268600,-0.0224247239530087,-0.1088114008307457,0.2438147217035294) * MODEL23_texOff(vec2(0,0)); -res += mat4(0.2761061787605286,-0.1293413490056992,-0.0470173247158527,-0.0731269940733910,0.0396118462085724,-0.0427457801997662,0.0901760235428810,-0.1252544075250626,0.1572679579257965,-0.1205093786120415,0.1133343204855919,0.1474439352750778,-0.1274047195911407,-0.0804255530238152,-0.0524810142815113,0.3192033767700195) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.2539234757423401,0.0038219748530537,0.0198776777833700,0.2838287651538849,0.0256984960287809,-0.0582435242831707,-0.1964985579252243,-0.0779681429266930,0.1731419265270233,0.0125168245285749,0.2125789225101471,-0.2251415252685547,0.2997701168060303,0.1639049053192139,-0.0336523316800594,0.0472925081849098) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0008294992730953,-0.0421565882861614,0.0688932761549950,-0.1097082123160362,-0.1628515720367432,0.0125915594398975,-0.1667381525039673,-0.0074164411053061,-0.3698953092098236,0.0743873044848442,-0.0314049348235130,0.0652947798371315,-0.0700155273079872,-0.0316918902099133,-0.1057973653078079,-0.1451450884342194) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.1816687434911728,0.0117196496576071,-0.0425142236053944,-0.2296381443738937,-0.2858334183692932,0.0053695417009294,0.0818104892969131,0.0182316023856401,0.1104380339384079,0.0485513135790825,0.0398144796490669,0.1223676204681396,-0.1466707736253738,-0.0134876249358058,-0.0910935550928116,0.1519794464111328) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.1373637318611145,-0.0352236516773701,-0.1160381138324738,-0.0230034384876490,0.3164420425891876,-0.0340709127485752,-0.0676284581422806,-0.0039658197201788,0.2837511003017426,0.1419840455055237,0.2102503329515457,0.0838689133524895,0.1961183845996857,0.0007894636946730,0.0387258119881153,0.2185507416725159) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.1596802026033401,-0.0766641348600388,-0.0551700778305531,-0.0420177541673183,-0.1258300691843033,0.1124724969267845,-0.0496561378240585,0.1163833588361740,-0.0701703429222107,-0.0236236285418272,0.1561320573091507,-0.1625825762748718,0.1801252663135529,0.1062476634979248,0.0371985472738743,0.1175644919276237) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0714511051774025,-0.1109983548521996,0.0915260463953018,0.0197349116206169,0.1798656433820724,-0.0766859725117683,0.0973336100578308,0.0663795471191406,-0.2605603933334351,0.1307056695222855,-0.2184783816337585,0.0079547688364983,0.0315141640603542,-0.0309432316571474,-0.1257202923297882,0.0255833435803652) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.0991432666778564,-0.0122173745185137,0.1279619187116623,-0.0012535114074126,0.1659068912267685,0.2186908274888992,0.1148216128349304,-0.0989132970571518,-0.0867767557501793,0.0344875939190388,0.1011815667152405,-0.0709303542971611,-0.0009434439125471,0.0134846745058894,0.0937856808304787,0.0468109920620918) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0689476206898689,-0.2484430074691772,0.1287739872932434,-0.1908132880926132,0.1993297934532166,-0.0241727232933044,0.0271132104098797,0.0823990702629089,0.1855020970106125,0.0678694173693657,-0.0913207903504372,-0.1031804159283638,0.0817412137985229,-0.0205739066004753,0.2349171340465546,-0.0036407674197108) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.0388028472661972,-0.1400813907384872,0.0252290852367878,0.0419769212603569,-0.1525273323059082,-0.0113222189247608,0.0167656056582928,0.1201339140534401,0.2742138504981995,-0.2932898104190826,-0.1523073315620422,-0.1266001760959625,0.2096743434667587,-0.0014362900983542,0.3512965738773346,0.2110778540372849) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.3224509060382843,-0.4196329116821289,-0.1348475217819214,-0.1711609363555908,-0.0792201533913612,0.1002523377537727,-0.0319759845733643,-0.1181477606296539,0.1077736839652061,-0.1081476435065269,-0.2882576584815979,0.0266783107072115,-0.2148385345935822,-0.1600439399480820,0.0603459663689137,-0.0540867559611797) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0804178640246391,0.0784796103835106,-0.1634555459022522,-0.0780283138155937,-0.2293495982885361,0.2100304365158081,-0.0991027578711510,0.0169763732701540,-0.0770375952124596,-0.2221602499485016,0.0411880947649479,-0.2067895978689194,-0.0584058016538620,0.0612083151936531,0.2141525000333786,-0.1690276414155960) * MODEL23_texOff(vec2(1,0)); -res += mat4(0.1832152903079987,-0.1421333998441696,0.0593465678393841,-0.1445103436708450,-0.1056858226656914,0.0546268410980701,-0.0752996131777763,-0.1689973771572113,-0.0286023225635290,0.2159676253795624,-0.0326149500906467,-0.0400535911321640,0.0279489625245333,0.2416573613882065,0.1910913288593292,-0.0872819498181343) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0517690740525723,-0.1310365498065948,0.0983379110693932,0.2212513983249664,-0.0385944396257401,-0.0031312073115259,-0.0971440002322197,0.0763877481222153,0.1204039081931114,0.0694001838564873,-0.0207454431802034,-0.2944954633712769,0.1706674844026566,0.0087194992229342,0.2023107558488846,-0.1457385867834091) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.1064024418592453,-0.1359899342060089,0.1595261991024017,0.2337352037429810,-0.0934635996818542,0.0375041402876377,-0.0433816164731979,0.0695970058441162,-0.2123638987541199,-0.2234995514154434,-0.1218946278095245,-0.0761205404996872,-0.0442018881440163,-0.0436396822333336,-0.0158761218190193,0.1117574498057365) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.1035438552498817,-0.0487149693071842,0.0080128870904446,-0.0724695250391960,-0.0664858594536781,0.1086985021829605,-0.0361160822212696,-0.0036886944435537,0.1025835499167442,-0.0070365620777011,0.1065967306494713,-0.1170856878161430,0.0814646705985069,-0.0702703744173050,0.0429647378623486,0.0075838100165129) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0186056513339281,0.0347086787223816,0.0500061213970184,-0.0084704412147403,0.0523927025496960,-0.0436134003102779,-0.0685303285717964,-0.1615572273731232,0.0422502979636192,0.0386748053133488,-0.0018928251229227,-0.0560932680964470,0.0268947314471006,-0.0986870080232620,-0.0194436591118574,-0.0886695757508278) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.1038377061486244,1.4165390729904175,0.2963429689407349,0.5018644928932190) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 4_3 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0555132254958153,0.0250770132988691,0.0143192186951637,0.0307419840246439); -res += mat4(0.2025605291128159,-0.1305579245090485,0.0636330246925354,-0.0328214615583420,-0.0239059738814831,0.1175336167216301,-0.0528097972273827,0.1512589752674103,0.0892783328890800,-0.0129547854885459,-0.4075196981430054,-0.0084562972187996,-0.0766670405864716,0.0578990466892719,-0.0457077845931053,0.0103033129125834) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0697643160820007,0.0790969952940941,0.2563327848911285,0.0735166370868683,-0.0290964655578136,-0.0031478635501117,0.1381052583456039,-0.2533677220344543,0.0833396539092064,0.1497332155704498,0.1460450887680054,0.0592527091503143,0.1237253248691559,0.0623970851302147,0.1084834486246109,-0.1387233883142471) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0588925816118717,-0.0634016692638397,0.0832331851124763,0.0880831331014633,-0.0306335017085075,0.0926206558942795,0.0764448642730713,0.0124620459973812,-0.4456571936607361,0.3222432434558868,-0.1151670962572098,0.0811593085527420,0.1133668273687363,0.2061929851770401,-0.0260564833879471,-0.1347683817148209) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.1227817460894585,-0.5990645289421082,-0.0433608070015907,-0.0244936272501945,-0.2515841424465179,-0.1546700298786163,0.0049157263711095,0.2120906710624695,0.0100495032966137,-0.1389742046594620,-0.1040211990475655,-0.0743518695235252,-0.0609514825046062,0.1746743172407150,-0.0611364990472794,-0.0698752850294113) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0070074168033898,-0.0736413821578026,-0.1301280409097672,-0.0820101052522659,0.0557396747171879,0.0295854154974222,0.1629115194082260,-0.0350740663707256,-0.3577586710453033,0.2326886206865311,0.2520678043365479,0.0653280317783356,0.0298624932765961,-0.0620391592383385,0.1118566021323204,0.0902521461248398) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.1123784631490707,0.1538977771997452,0.0356946140527725,-0.0594803951680660,0.4774949550628662,0.1736728399991989,-0.0733127072453499,-0.1822510808706284,-0.1142071560025215,0.0152102429419756,0.1266606450080872,-0.1549992561340332,0.1248753294348717,0.0506281666457653,0.1194221675395966,-0.1180698573589325) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.0161164849996567,-0.1730315685272217,0.0336476229131222,0.1502727419137955,-0.0283921789377928,0.0881190076470375,0.0036288066767156,0.0654869005084038,0.1098553463816643,-0.0993033871054649,-0.0864974930882454,0.1645041406154633,0.0461006201803684,-0.1493527740240097,0.0793453976511955,0.1582847982645035) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.0499157682061195,-0.2653735280036926,-0.1414714455604553,0.0470614247024059,-0.1613681614398956,-0.1438906192779541,-0.0431404635310173,-0.0143436696380377,0.0781355723738670,0.0062276949174702,-0.1477763801813126,-0.0635459050536156,0.0169377010315657,0.0072369505651295,-0.1959649473428726,0.0824908167123795) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.1575089693069458,0.1208660975098610,0.1461296975612640,0.0314663611352444,-0.0091793993487954,-0.0382152199745178,0.1528249382972717,0.1102215349674225,-0.0564027652144432,-0.0538605786859989,0.0195337384939194,-0.1059078276157379,0.1714965254068375,0.0683559179306030,-0.0455179028213024,-0.1350073963403702) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.1299564242362976,-0.0295758284628391,0.2315099984407425,-0.0148499980568886,0.2194313108921051,-0.0433413572609425,-0.4125401675701141,-0.0743405297398567,0.0806253924965858,0.1090257093310356,0.0240066349506378,-0.1310950815677643,-0.0600791387259960,0.0526744686067104,-0.1910923570394516,-0.0975246056914330) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0952751114964485,-0.1200135275721550,0.1481089442968369,-0.0406972467899323,0.1221223846077919,0.0472705699503422,-0.1116001904010773,0.0533461533486843,-0.0332089997828007,0.1928038150072098,0.0952261760830879,-0.0735697820782661,-0.1858155578374863,0.0313214845955372,-0.0208189561963081,0.0829723849892616) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0179210640490055,-0.0647204443812370,0.1612543016672134,-0.0353336520493031,-0.0758696645498276,-0.0113704930990934,-0.0582871995866299,-0.0571904592216015,-0.0685768574476242,0.1801334768533707,-0.0815965607762337,0.0562493503093719,-0.1244600936770439,0.1929967701435089,-0.0517799220979214,-0.1225774809718132) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.1501563638448715,0.1286297440528870,-0.1413282305002213,-0.0502861589193344,-0.1668455749750137,0.1101106256246567,-0.1026145443320274,-0.0285692792385817,-0.0303235799074173,-0.0534847117960453,-0.2345862537622452,-0.0952352955937386,0.1381358802318573,-0.0487317405641079,-0.0774596631526947,-0.1413442343473434) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0144421271979809,0.1845785081386566,0.0736597403883934,-0.1536189317703247,0.1508965194225311,-0.1814707368612289,0.0577643252909184,0.0195850618183613,0.1424996107816696,0.0963229760527611,0.0744260251522064,0.3582005798816681,-0.0114502906799316,0.1066633909940720,0.2920247614383698,0.2114788740873337) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.2422169297933578,0.0629934817552567,0.1187564432621002,-0.1045981943607330,0.1617335975170135,-0.0326685868203640,0.0692937821149826,-0.1049960330128670,-0.0439418964087963,0.1308920532464981,0.0524581670761108,0.0235212799161673,-0.1008296161890030,0.1153869107365608,-0.0367981381714344,0.0255796425044537) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.0765597745776176,0.0443613864481449,0.0924554765224457,-0.1448596417903900,-0.4028475284576416,0.1024674326181412,0.1727499216794968,-0.1260974258184433,0.0335196219384670,0.0258256848901510,-0.3789298236370087,0.0366248562932014,0.4225065410137177,0.0624559447169304,-0.0004544507537503,-0.2371466159820557) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.0539294481277466,-0.0732566267251968,-0.1460431218147278,-0.0135052092373371,-0.0682512521743774,-0.1756234914064407,0.1972790956497192,-0.2115742117166519,-0.2446637153625488,0.1364355385303497,0.1201642602682114,-0.1621547341346741,0.0959556922316551,-0.1837136000394821,0.2940265238285065,0.1939330250024796) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.0662921220064163,0.2275925278663635,0.0149151859804988,-0.0610638372600079,-0.0846012830734253,-0.1140315607190132,-0.0178543720394373,0.2377365380525589,0.2033471614122391,-0.1573403626680374,0.0953168347477913,0.0424023792147636,0.1293676495552063,0.1090563237667084,0.4194914996623993,0.0464631393551826) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.1070756018161774,0.1286944597959518,-0.0684725046157837,0.0525334179401398,0.0801403820514679,-0.0946301892399788,-0.0683152079582214,0.0052407793700695,0.0725769251585007,-0.1045052334666252,0.2791407406330109,0.1463397890329361,-0.0940506607294083,0.1707863360643387,-0.0228325854986906,-0.1055276170372963) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.0276118014007807,-0.0782472193241119,-0.2045287489891052,0.0155986454337835,-0.1866855025291443,-0.0730608776211739,-0.1209858357906342,0.1324635297060013,-0.1105701178312302,-0.0269230399280787,-0.0936538055539131,0.1069761365652084,0.0670102909207344,-0.0444703437387943,-0.1964228600263596,-0.0028666825965047) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.1014383509755135,0.0213416237384081,0.1987964361906052,0.0362358391284943,0.0707324519753456,0.0972751304507256,0.1051839292049408,-0.0787568613886833,-0.1369030475616455,0.0473080351948738,-0.0284431073814631,0.0942381173372269,0.2982238829135895,-0.0638344287872314,0.1489005982875824,0.1030328795313835) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0916734188795090,0.0865034908056259,0.1140192076563835,0.0270971916615963,-0.1379446685314178,-0.0102230673655868,-0.0465127378702164,0.0526590533554554,-0.0909921228885651,-0.1671640723943710,-0.0676218569278717,-0.0628032684326172,0.0851698294281960,0.1013913974165916,-0.1770818680524826,-0.0773105174303055) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0544516742229462,0.2451885640621185,0.2811035513877869,-0.0005102829309180,-0.0350672677159309,-0.0762034580111504,-0.1757884323596954,0.1396444439888000,-0.1604681909084320,-0.0365841314196587,0.4282548427581787,0.1161304265260696,-0.1574811190366745,-0.0119108185172081,-0.1028776168823242,0.0402905344963074) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.0611766986548901,-0.0643792748451233,0.0608860291540623,-0.0486201792955399,-0.2708872854709625,0.0820105522871017,0.1553062945604324,-0.0102266957983375,-0.0004169093444943,-0.1021829172968864,0.1135712414979935,0.0431942380964756,0.0348840840160847,0.0158078111708164,-0.0177651457488537,-0.0491984412074089) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0870013535022736,-0.0556762889027596,-0.0170129369944334,0.0268715694546700,0.0366509854793549,-0.0394954122602940,-0.0619445517659187,0.0479163005948067,0.1062079668045044,0.1774092167615891,-0.1367661952972412,0.0588061474263668,0.1527424901723862,0.0956857278943062,0.1037504449486732,-0.2930983006954193) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.2002299576997757,-0.0341530516743660,-0.0136931668967009,-0.1481029242277145,0.0542162247002125,-0.1527022272348404,0.0567579492926598,0.0876749977469444,0.0138758225366473,-0.2406545877456665,-0.0261294376105070,0.1154950484633446,-0.2065333873033524,0.0329406261444092,-0.1571976244449615,0.1400880664587021) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0432367138564587,-0.1003191173076630,0.0631480589509010,-0.1043757796287537,0.1838684231042862,0.0871346890926361,-0.1076523289084435,0.0522456541657448,0.3385224342346191,0.0039640553295612,-0.0341053418815136,0.5580628514289856,-0.0031768004409969,-0.0466368757188320,-0.0034361206926405,-0.0201280079782009) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0543181821703911,-0.0421652197837830,0.0483747199177742,-0.0407016240060329,0.1613519042730331,0.0885960310697556,0.2224635779857635,-0.2537296414375305,-0.0728747695684433,0.0798564404249191,-0.0713731944561005,-0.0091397035866976,-0.1698424220085144,0.0030041618738323,-0.1370820999145508,-0.2126571238040924) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.0176996272057295,-0.0500596426427364,-0.0500218458473682,0.0947898551821709,0.0878721773624420,0.0905128344893456,-0.0145754907280207,-0.0765948742628098,-0.1508909314870834,0.1254297047853470,0.2136791050434113,0.0633229166269302,0.0430131815373898,0.0419663228094578,0.0839300528168678,-0.1516233086585999) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0140834199264646,0.2107916772365570,0.1652578860521317,-0.0104759186506271,-0.1301925480365753,0.1253828704357147,0.0133801847696304,0.0222266949713230,0.0317628793418407,-0.0004682161961682,-0.0701607465744019,0.0583315417170525,-0.2136613130569458,0.0841280817985535,0.0095341270789504,-0.0332478545606136) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0166208203881979,-0.2629383504390717,-0.2119662910699844,0.0221439860761166,-0.1577552706003189,-0.0608871243894100,-0.0754110887646675,0.0843096822500229,-0.2292733937501907,-0.0667759329080582,0.2129606157541275,0.0926803648471832,-0.2587879002094269,-0.0107714598998427,0.0425054058432579,-0.2107197493314743) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0514685586094856,0.0368438698351383,-0.0232290327548981,-0.0037103374488652,-0.0763918459415436,-0.0727791562676430,-0.1637456566095352,0.1799057126045227,-0.0675944238901138,0.1282119452953339,-0.2321481257677078,-0.1056406870484352,0.2854339778423309,-0.0077166538685560,-0.1007550358772278,-0.1925285756587982) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.1766458004713058,0.1009605750441551,0.1565123498439789,0.0462642088532448,0.0774241238832474,-0.0141364606097341,0.0916459113359451,0.0760992467403412,0.0738879442214966,0.0268725864589214,-0.1941556334495544,-0.0291906483471394,-0.0021655701566488,0.0384552627801895,-0.0228150878101587,0.0321924909949303) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0486496984958649,0.0007271220674738,0.0818790867924690,0.0189673770219088,0.1818490624427795,-0.0181238614022732,-0.0508999377489090,-0.1396579444408417,0.0485491752624512,0.0987688377499580,-0.1460169553756714,0.0071210218593478,0.2128628343343735,-0.0595704317092896,-0.0999057963490486,-0.1029369980096817) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0737555399537086,0.1768505126237869,0.0566267818212509,-0.0375237315893173,-0.0406504385173321,-0.0911198258399963,0.1835622638463974,0.0580112747848034,0.2234210073947906,-0.0405635647475719,0.0592849515378475,0.1516056805849075,0.1363209486007690,0.1490380465984344,-0.1558427512645721,-0.2335802763700485) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0432757139205933,-0.1008099764585495,-0.0728457421064377,-0.0177998077124357,0.1359119415283203,-0.2037898153066635,0.1316581219434738,0.0636526718735695,0.1629535108804703,-0.0404438674449921,-0.1277188062667847,-0.0276395957916975,-0.1032590717077255,0.1263231039047241,-0.1616959571838379,-0.1660899072885513) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0071986746042967,0.2182101458311081,-0.0036115397233516,0.0162129309028387) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Mapping 4_4 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0518327765166759,-0.0213183537125587,-0.0665249153971672,0.0198231749236584); -res += mat4(-0.0417144224047661,-0.0365039892494678,0.0485893525183201,-0.0888329371809959,-0.2185679078102112,0.1108488664031029,-0.1202183514833450,0.0322549417614937,0.2057920843362808,0.1670777648687363,0.0722365751862526,-0.0421997457742691,0.1119320765137672,0.2506561279296875,0.0097499936819077,0.1878149658441544) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0526532940566540,-0.0330201312899590,-0.0916918963193893,0.0419802591204643,0.1819588989019394,0.1161752864718437,0.0391113124787807,-0.1577318310737610,0.3857096135616302,-0.1101170629262924,0.0564387142658234,-0.0864981114864349,-0.0584915317595005,-0.0728921666741371,-0.0985441058874130,-0.2376610189676285) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.1071230620145798,0.0470849983394146,-0.2342639416456223,0.0149784823879600,-0.0612420402467251,-0.0242856182157993,-0.0903204903006554,0.1930303424596786,0.3470724821090698,0.1709465384483337,0.2568190395832062,0.0517340376973152,0.2297977656126022,-0.1668909490108490,-0.0584691390395164,-0.1064556762576103) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.3297131955623627,-0.1783124655485153,-0.0969069600105286,0.0176174845546484,0.0617598295211792,0.1723879575729370,-0.1305899620056152,0.1715959608554840,-0.1061037331819534,-0.0862074419856071,-0.0144493207335472,-0.1013409271836281,0.0480070896446705,0.1516272574663162,-0.0878466144204140,0.1791720241308212) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.0941725298762321,-0.2799471616744995,0.0433243475854397,-0.3444220721721649,-0.0181219037622213,0.1245742514729500,0.0666437223553658,0.2033987939357758,-0.0493657775223255,0.2429948449134827,0.1486017704010010,0.0150431338697672,0.1224337369203568,0.0695751681923866,0.0326059199869633,-0.2322691679000854) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.0226589310914278,0.1155115067958832,0.1190729513764381,-0.1394080668687820,-0.0088055152446032,-0.0049285418353975,0.0744449421763420,0.1261957883834839,0.0077893896959722,-0.1231913790106773,-0.0881505310535431,-0.2052366733551025,-0.0169209502637386,0.1714054495096207,-0.1358534544706345,-0.1894315034151077) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0862518176436424,0.0439629666507244,-0.0977888032793999,0.0265666563063860,-0.0725400373339653,0.0446801520884037,0.1957928836345673,0.1014407873153687,-0.0303031019866467,-0.0175094921141863,0.2626248896121979,-0.0772289708256721,-0.0240541491657495,-0.0146315684542060,-0.0035609712358564,0.0307276956737041) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.0682660862803459,0.0024457646068186,0.1612531095743179,0.0102273849770427,-0.2179518342018127,-0.0089415935799479,0.1164208278059959,-0.0420751869678497,0.0141333295032382,-0.1322661787271500,0.0835145190358162,-0.1410365700721741,-0.1031214818358421,0.1053542196750641,0.1287564039230347,0.1751097142696381) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.0457618013024330,-0.2669678628444672,-0.0881749987602234,-0.0474440827965736,-0.0504452437162399,0.2515269517898560,-0.1469499170780182,0.2132392525672913,0.0802755728363991,-0.0154086742550135,-0.0718284100294113,-0.0138212405145168,0.0016803032485768,0.0520146526396275,-0.1322848945856094,0.0563418939709663) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.0563498102128506,-0.0001742709864629,0.2081839442253113,0.1278286725282669,0.0090717617422342,0.1486472040414810,-0.0075903884135187,-0.2577200829982758,0.0931045338511467,-0.2754871845245361,-0.0862858742475510,-0.2631528973579407,-0.2594945728778839,-0.0633456707000732,0.2137630283832550,0.0320669934153557) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.1207995712757111,0.0510364957153797,0.1161251813173294,-0.0427202619612217,-0.0302610769867897,0.0735034793615341,0.0298361834138632,0.0191495791077614,0.1238182261586189,-0.0012209621490911,-0.0229972302913666,0.0056305592879653,-0.0760266631841660,0.2295868396759033,-0.1606460511684418,0.0452390722930431) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0112327495589852,0.0432583466172218,-0.0202467720955610,-0.0298448409885168,-0.0056934165768325,0.0940005779266357,-0.2352621853351593,-0.1562708020210266,0.0276120994240046,-0.0521114133298397,0.0024040136486292,0.0281042698770761,0.0904207825660706,-0.2795029580593109,0.0750842541456223,-0.1514890342950821) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.0433706119656563,-0.1649282276630402,0.0164997149258852,-0.0633090883493423,-0.0127639267593622,0.0651963874697685,0.0116951372474432,0.0405785627663136,0.0121750077232718,-0.0093135247007012,0.1743642538785934,-0.2417951673269272,0.2253434211015701,-0.1235164031386375,0.3838829696178436,0.1728159487247467) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.1535780429840088,0.1449338644742966,-0.1071858927607536,-0.0682027339935303,-0.1246235668659210,-0.0416030250489712,0.0446551740169525,0.2284590452909470,0.1118052750825882,-0.1493402421474457,0.0935985147953033,0.2341734915971756,-0.1155807375907898,-0.0475985594093800,0.2283928692340851,-0.0188806131482124) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.0005174842663109,-0.2014774829149246,-0.1051883026957512,-0.1480901837348938,-0.1036624088883400,0.1337203830480576,0.0453677177429199,-0.0312002766877413,0.2536051571369171,-0.1980345547199249,0.0109311304986477,-0.0638012886047363,0.0237395055592060,0.0372171886265278,0.2572740912437439,0.0181561987847090) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0442574173212051,-0.1723300218582153,-0.1313633769750595,-0.0771176517009735,-0.2589800059795380,0.2423511892557144,-0.1674991399049759,-0.0964976325631142,-0.0105621460825205,0.0645641013979912,-0.1783278882503510,0.0923929736018181,0.0056230579502881,-0.2036325782537460,-0.1848384886980057,0.0870174989104271) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.1728543639183044,-0.2233732789754868,0.0492711402475834,-0.1985576599836349,0.0888958498835564,-0.0160348135977983,-0.0331708341836929,0.0957186296582222,-0.3137258589267731,0.0692046508193016,-0.0582298301160336,-0.1075151711702347,0.5029994249343872,-0.0800061300396919,0.2294487953186035,0.0710248351097107) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.0229654721915722,-0.0550167895853519,-0.2100065499544144,-0.0230181161314249,0.1337543278932571,0.0338716544210911,0.0221144203096628,-0.0864805653691292,-0.0091840196400881,0.1981876492500305,0.0980196148157120,0.1688517332077026,-0.1883789896965027,-0.0888988748192787,0.0176474750041962,0.2681119441986084) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.1275395005941391,0.1008864194154739,0.0206821616739035,-0.1098840683698654,-0.2568838894367218,0.0627717077732086,0.0348773300647736,0.1622315198183060,-0.1531784534454346,-0.1913726627826691,0.0420649312436581,-0.3267163634300232,0.0258780252188444,-0.0192398112267256,-0.1740893423557281,0.1955503225326538) * MODEL23_texOff(vec2(0,0)); -res += mat4(0.0169733352959156,-0.0276970490813255,0.0760825201869011,-0.0188506133854389,-0.2026826590299606,0.0495111905038357,0.0182964019477367,-0.0414109826087952,0.1868365556001663,0.1388777345418930,-0.0291905440390110,0.1021323278546333,0.1657151132822037,-0.0184318497776985,0.0841755345463753,0.0915000960230827) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.0672157555818558,0.1660483032464981,0.0362846776843071,0.1264719218015671,0.0373994149267673,-0.1521675437688828,0.1963077783584595,-0.0651684179902077,-0.1879026144742966,0.1057524606585503,-0.1183366328477859,-0.1912359893321991,0.1035126820206642,-0.0721731334924698,-0.0326363891363144,0.3702531754970551) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.1525076776742935,-0.0244391541928053,-0.0288198329508305,-0.0856762155890465,0.0716170892119408,-0.2457303255796432,-0.0894762948155403,0.1376130282878876,-0.0608243942260742,0.0390695966780186,0.0126724643632770,0.0416642576456070,-0.1533844470977783,0.1612395495176315,0.2681029140949249,0.1119254902005196) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0357297658920288,0.0105033125728369,0.0110024400055408,0.0423357859253883,-0.0370144136250019,-0.0649570822715759,-0.1456886976957321,-0.0753963738679886,0.1949212104082108,-0.0547556020319462,0.1226299405097961,-0.0337280593812466,-0.1928335577249527,0.1919627785682678,0.0296970494091511,-0.0189175289124250) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.0312501564621925,-0.0229366328567266,0.1190387681126595,0.0719611421227455,0.0998975932598114,0.0421518944203854,-0.0206604599952698,-0.0079571260139346,0.0371418185532093,0.2096785604953766,0.0369101502001286,0.2792926132678986,0.0626611411571503,-0.0886618122458458,0.0622971653938293,0.0952127128839493) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0421240553259850,0.0624854899942875,0.0486090406775475,0.1110922172665596,0.0348289534449577,-0.0752580985426903,0.0326979197561741,0.0669633895158768,0.1128178983926773,-0.0611512213945389,-0.0525917299091816,-0.0828994885087013,0.0563823506236076,-0.0141677008941770,0.1276346445083618,-0.2370680272579193) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0331405289471149,0.2144220322370529,0.0210764091461897,-0.1498020291328430,0.0818803310394287,-0.0441101230680943,-0.4286805987358093,0.1256099045276642,0.0094770938158035,-0.0355284698307514,0.0226282905787230,-0.0978933647274971,-0.0223342347890139,0.0371237657964230,-0.0213712826371193,0.1422648876905441) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.1040560752153397,0.1211603134870529,0.1008500158786774,0.1025343760848045,-0.0365382097661495,0.0769240632653236,-0.0597561672329903,0.0120100192725658,-0.0317354910075665,-0.1719577163457870,0.3440266251564026,0.0600659288465977,0.0087447538971901,0.2005916237831116,0.0565356276929379,0.0402298495173454) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.0278040766716003,-0.0813057944178581,-0.0072406283579767,0.1063833385705948,-0.0502918399870396,-0.0772407129406929,-0.1609445214271545,-0.2165066748857498,-0.0044521372765303,0.0694831013679504,-0.2429160773754120,-0.2768180966377258,-0.0357686504721642,0.0059903734363616,0.0093541452661157,0.0726032555103302) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.0575071349740028,0.1904742568731308,-0.1170604750514030,0.3230446279048920,-0.0629012584686279,-0.1180234998464584,-0.1964451521635056,-0.2550508081912994,-0.0387917682528496,0.1473875492811203,-0.1601451039314270,0.1660785228013992,-0.0176664497703314,-0.1785598993301392,0.2938027083873749,0.0130569282919168) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.0227117817848921,-0.0572153031826019,-0.1946671158075333,0.1976857781410217,-0.0327856242656708,-0.0440212115645409,0.1068689674139023,-0.0184570159763098,0.0062228986062109,0.1382032334804535,-0.0314165838062763,0.0732029378414154,-0.0367356017231941,0.2362645417451859,0.1276883780956268,-0.0579707585275173) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0064791324548423,0.0256183911114931,0.2582396268844604,-0.1156243532896042,0.1269703656435013,0.1087005361914635,0.2240769714117050,-0.0340097285807133,0.1408847123384476,-0.0852948874235153,0.0129860313609242,-0.0432902686297894,-0.0590031705796719,0.0427121818065643,-0.0974203646183014,-0.0227115489542484) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0349309034645557,0.0883865430951118,-0.1478436291217804,0.0931347906589508,-0.0364420339465141,-0.2012785226106644,-0.0327441953122616,-0.0336600206792355,0.0247084666043520,-0.0551262535154819,-0.1244619861245155,-0.1136062368750572,-0.2249026894569397,-0.0100397104397416,-0.1927281022071838,-0.1214508190751076) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0170616842806339,0.1625857800245285,-0.0609563365578651,0.3093050420284271,-0.0358457379043102,-0.1339645534753799,-0.0356504544615746,0.0261295270174742,0.0705954954028130,0.2518593072891235,0.3081945180892944,-0.1108265221118927,-0.0156625900417566,-0.0523499660193920,-0.1898217946290970,-0.0126399351283908) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.1651358157396317,0.1568048447370529,-0.1224519610404968,-0.1081495061516762,-0.0225700847804546,-0.2006742060184479,0.3328191936016083,-0.1953084468841553,0.0104696238413453,0.2031938135623932,0.1315512210130692,-0.0079185226932168,-0.0720825940370560,-0.3970981538295746,0.2164285629987717,0.0085704717785120) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.0395724326372147,-0.0021390954498202,-0.0889268293976784,-0.0615753009915352,-0.0388125069439411,-0.0657828077673912,-0.3347192704677582,-0.2057318687438965,0.0665129423141479,0.0486268885433674,0.1873318850994110,-0.0993527248501778,0.0270111728459597,-0.0746982023119926,0.0676342323422432,0.0349226146936417) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0154106970876455,-0.0972935110330582,0.0836436450481415,0.0545262321829796,-0.0938930362462997,-0.1373861432075500,0.2448884695768356,0.0966489166021347,-0.0140078132972121,-0.1437198221683502,-0.1105314791202545,-0.0209910366684198,0.0100280493497849,0.1533725857734680,0.1415681093931198,0.0077090859413147) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1343902200460434,0.0735823065042496,0.2011200338602066,0.0642557740211487) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Sub-band Residuals 1 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE1 -//!SAVE RES1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0206005033105612,-0.0044578332453966,0.0069114482030272,0.0065005687065423); -res += mat4(0.2826964259147644,-0.4450317323207855,-0.4439451992511749,-0.0703089460730553,-0.2517986297607422,-0.1876354962587357,0.3613902926445007,0.5750535726547241,-0.2483064681291580,0.2287192642688751,0.3899994194507599,-0.2179433256387711,-0.0742859393358231,-0.3664890527725220,0.3910954892635345,-0.0879588872194290) * MODEL1_texOff(0); -res += mat4(-0.1406441479921341,0.4645715057849884,0.4780645370483398,0.0789362490177155,-0.0622632093727589,-0.3262307345867157,0.2177158296108246,-0.5151866674423218,-0.4178399741649628,-0.0348766669631004,0.0977518707513809,-0.4353289008140564,0.2451033294200897,0.2414209842681885,0.3704822957515717,-0.2093044519424438) * MODEL2_texOff(0); -res += mat4(0.3571839630603790,0.5397672653198242,-0.3581413924694061,-0.1406882852315903,-0.0731453448534012,0.3388070464134216,0.3735054433345795,-0.1100604683160782,0.0063005243428051,-0.1781447529792786,0.3054742813110352,-0.0448702387511730,0.5386959314346313,-0.0723530128598213,0.2179321348667145,0.0545215010643005) * MODEL3_texOff(0); -res += mat4(0.2896301746368408,-0.0945358872413635,-0.2930267751216888,0.0871661528944969,-0.5656536221504211,0.0404641516506672,0.4721533954143524,0.0127876494079828,-0.3851900696754456,-0.2308325916528702,-0.1147588044404984,0.0752698555588722,-0.3207812905311584,0.2610193192958832,-0.5364244580268860,0.0787520632147789) * MODEL4_texOff(0); -res += FEATURE1_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.9824384450912476,1.0222975015640259,1.0184462070465088,-0.1375184059143066) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Sub-band Residuals 2 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE2 -//!SAVE RES2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0364064201712608,-0.0075918007642031,0.0415629595518112,0.0033117663115263); -res += mat4(-0.2719417810440063,0.2193225622177124,-0.4525020122528076,0.2533709704875946,-0.5560875535011292,-0.0101234754547477,-0.2704952061176300,-0.0293961670249701,-0.4037435054779053,-0.3790866136550903,0.1514034122228622,-0.2528924345970154,0.1902518272399902,0.2091452628374100,-0.7106088995933533,0.0553683601319790) * MODEL1_texOff(0); -res += mat4(0.0755319893360138,-0.2064462155103683,0.2529046237468719,-0.0889824703335762,0.0414680391550064,-0.3382911384105682,0.1707339733839035,-0.2916904985904694,-0.3138191401958466,-0.0445209704339504,0.0351496264338493,0.1921744197607040,-0.1195285394787788,-0.5813474059104919,-0.0010053918231279,0.0450712665915489) * MODEL2_texOff(0); -res += mat4(0.1001975536346436,-0.1946908682584763,-0.4379348456859589,-0.4578586220741272,0.6355994939804077,-0.0800877436995506,-0.5590230822563171,-0.0937182083725929,0.3338660597801208,0.0502367429435253,-0.2483862042427063,0.5092749595642090,-0.4888162612915039,0.1305068284273148,0.1586277931928635,0.0735563710331917) * MODEL3_texOff(0); -res += mat4(-0.1156697794795036,0.5801286101341248,0.1460028439760208,-0.1376375406980515,0.0569649673998356,0.1255808919668198,-0.4032325148582458,0.2831790149211884,0.2582658529281616,-0.1304569095373154,0.4232065677642822,-0.5881987214088440,0.1206596195697784,0.3275493383407593,0.0690044909715652,-0.1866563409566879) * MODEL4_texOff(0); -res += FEATURE2_texOff(0); -res = max(res, vec4(0.0)) + vec4(-0.0875594094395638,0.2679904997348785,-0.0558968335390091,1.0133398771286011) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Sub-band Residuals 3 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE3 -//!SAVE RES3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0086358357220888,0.0037607243284583,0.0686820968985558,-0.0713141858577728); -res += mat4(-0.1038502156734467,0.4324543774127960,0.1707954257726669,0.1731312125921249,0.0200815536081791,0.0120384199544787,-0.1067152768373489,0.5407977700233459,0.2067432701587677,0.1794147789478302,0.0159531496465206,-0.3467568159103394,0.0419965274631977,-0.0508793145418167,0.2072062194347382,-0.2894908487796783) * MODEL1_texOff(0); -res += mat4(-0.5630547404289246,0.1666060835123062,0.0178081057965755,0.3524991571903229,-0.2995874583721161,0.0980367213487625,-0.2628170847892761,0.4638181924819946,-0.2615495026111603,0.0603443756699562,0.3929609954357147,-0.1414075344800949,0.0874920412898064,0.3859053552150726,-0.0077063934877515,-0.2897263765335083) * MODEL2_texOff(0); -res += mat4(-0.0025603419635445,0.0198608152568340,0.4864428043365479,0.0200426112860441,0.0357286371290684,0.2480639368295670,0.2739238739013672,0.2180272638797760,0.7824983000755310,0.3396670222282410,-0.1257730573415756,0.3170768618583679,-0.0060370829887688,-0.0299917273223400,-0.2383441329002380,-0.5705944895744324) * MODEL3_texOff(0); -res += mat4(0.0148104662075639,-0.0499628521502018,0.0105548752471805,0.2355475574731827,0.2658510506153107,0.0908592641353607,-0.0986879542469978,-0.0955742821097374,0.2046388238668442,-0.2873755991458893,0.5144420266151428,0.1865817606449127,-0.3607809543609619,-0.0865261405706406,-0.0269326660782099,0.2560397982597351) * MODEL4_texOff(0); -res += FEATURE3_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.0467838346958160,0.9934324622154236,0.7105506658554077,-0.0405274406075478) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Sub-band Residuals 4 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE4 -//!SAVE RES4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0075943465344608,0.0014037321088836,0.0082911541685462,-0.0655143186450005); -res += mat4(0.4754261374473572,-0.1416637301445007,0.6753962039947510,-0.2602479755878448,0.3729733228683472,0.1666956692934036,-0.1734626293182373,-0.4241602718830109,-0.2818234264850616,-0.0478227995336056,0.0752680897712708,0.1023815795779228,0.4329713881015778,0.3534029722213745,-0.1319583207368851,0.0206434521824121) * MODEL1_texOff(0); -res += mat4(-0.3512316048145294,0.4200744032859802,-0.0043597775511444,-0.0899103879928589,0.5882259011268616,0.2777698934078217,0.1859622150659561,0.6646692752838135,0.1324135214090347,-0.6203894615173340,-0.5125803351402283,-0.3104399740695953,-0.3133399486541748,0.0651726424694061,0.0845169723033905,-0.2408193796873093) * MODEL2_texOff(0); -res += mat4(0.1520321667194366,0.1349307298660278,-0.1250907629728317,-0.0400571934878826,-0.0876675397157669,0.3064902126789093,-0.5405806899070740,-0.3599655628204346,0.6143399477005005,0.4300602972507477,-0.2111815214157104,0.0066048321314156,-0.2736213803291321,0.0229581259191036,-0.1963179558515549,-0.2068352699279785) * MODEL3_texOff(0); -res += mat4(-0.0046614776365459,-0.1381006687879562,0.7002282142639160,-0.2242229133844376,-0.7945929765701294,-0.3176228106021881,0.2708224654197693,0.1632207185029984,0.3149245679378510,-0.4065154790878296,0.4698683023452759,0.4528116583824158,0.6287406086921692,0.0968826934695244,-0.0151751721277833,-0.0430710576474667) * MODEL4_texOff(0); -res += FEATURE4_texOff(0); -res = max(res, vec4(0.0)) + vec4(1.0404170751571655,0.9971202611923218,0.9730775952339172,-0.0599765144288540) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!DESC FSRCNNX Sub-pixel Convolution 1 -//!BIND RES1 -//!BIND RES2 -//!BIND RES3 -//!BIND RES4 -vec4 hook() -{ -float res = 0.0616910010576248; -res += dot(vec4(0.0019624053966254,0.0072673442773521,-0.0138711333274841,-0.0056264344602823), RES1_texOff(vec2(-1,-1))); -res += dot(vec4(0.0160109754651785,-0.0004621816915460,-0.0118571957573295,-0.0184281561523676), RES2_texOff(vec2(-1,-1))); -res += dot(vec4(0.0037146043032408,0.0136701678857207,-0.0115660140290856,-0.0077755032107234), RES3_texOff(vec2(-1,-1))); -res += dot(vec4(-0.0022343995515257,0.0120857227593660,-0.0129918372258544,0.0099668391048908), RES4_texOff(vec2(-1,-1))); -res += dot(vec4(0.0074057984165847,0.0452708676457405,0.0459175854921341,-0.0368319600820541), RES1_texOff(vec2(-1,0))); -res += dot(vec4(0.0017116252565756,-0.0334277749061584,0.0041206344030797,0.0238973144441843), RES2_texOff(vec2(-1,0))); -res += dot(vec4(-0.0046752081252635,-0.0577392280101776,0.0030614952556789,-0.0030854893848300), RES3_texOff(vec2(-1,0))); -res += dot(vec4(0.0597204044461250,-0.0549505688250065,0.0424770526587963,0.0287990663200617), RES4_texOff(vec2(-1,0))); -res += dot(vec4(-0.0109009100124240,-0.0071457587182522,-0.0163927860558033,0.0060960804112256), RES1_texOff(vec2(-1,1))); -res += dot(vec4(-0.0052948719821870,-0.0019860106986016,-0.0008657919242978,-0.0215458068996668), RES2_texOff(vec2(-1,1))); -res += dot(vec4(0.0156327243894339,0.0232154689729214,-0.0241203643381596,0.0226248633116484), RES3_texOff(vec2(-1,1))); -res += dot(vec4(-0.0137104233726859,0.0041144569404423,-0.0121579812839627,-0.0060867783613503), RES4_texOff(vec2(-1,1))); -res += dot(vec4(0.0265398044139147,0.0431305840611458,0.0389016680419445,0.0039510899223387), RES1_texOff(vec2(0,-1))); -res += dot(vec4(0.0212841685861349,-0.0155332032591105,-0.0150460079312325,0.0114770121872425), RES2_texOff(vec2(0,-1))); -res += dot(vec4(-0.0189756266772747,-0.0552161559462547,-0.0037272043991834,0.0137405181303620), RES3_texOff(vec2(0,-1))); -res += dot(vec4(0.0155703285709023,-0.0371433049440384,0.0500302612781525,-0.0071864617057145), RES4_texOff(vec2(0,-1))); -res += dot(vec4(0.0919059514999390,0.1092567816376686,0.1702144443988800,0.0168097410351038), RES1_texOff(vec2(0,0))); -res += dot(vec4(-0.0361343063414097,0.0915367826819420,0.0311920754611492,0.1181034445762634), RES2_texOff(vec2(0,0))); -res += dot(vec4(-0.0006561146583408,-0.1943516433238983,0.0515388995409012,-0.0400897003710270), RES3_texOff(vec2(0,0))); -res += dot(vec4(0.1246383413672447,-0.1080997213721275,0.1333638727664948,-0.0076592671684921), RES4_texOff(vec2(0,0))); -res += dot(vec4(0.0149818332865834,0.0297912769019604,0.0343370735645294,-0.0016413887497038), RES1_texOff(vec2(0,1))); -res += dot(vec4(-0.0123257553204894,-0.0161512885242701,-0.0043903160840273,0.0345082916319370), RES2_texOff(vec2(0,1))); -res += dot(vec4(0.0172790065407753,-0.0424552857875824,0.0203313175588846,-0.0030693961307406), RES3_texOff(vec2(0,1))); -res += dot(vec4(0.0315044708549976,-0.0290311891585588,0.0236842446029186,-0.0040076803416014), RES4_texOff(vec2(0,1))); -res += dot(vec4(-0.0169223919510841,-0.0182308703660965,-0.0226403251290321,0.0006814499502070), RES1_texOff(vec2(1,-1))); -res += dot(vec4(-0.0061231902800500,-0.0010735684772953,0.0042807976715267,-0.0144083919003606), RES2_texOff(vec2(1,-1))); -res += dot(vec4(-0.0042348047718406,0.0251682959496975,-0.0087281558662653,0.0260808188468218), RES3_texOff(vec2(1,-1))); -res += dot(vec4(-0.0283338129520416,0.0307771638035774,0.0001355003914796,-0.0071004317142069), RES4_texOff(vec2(1,-1))); -res += dot(vec4(0.0137146515771747,0.0363843068480492,0.0213894452899694,0.0312568582594395), RES1_texOff(vec2(1,0))); -res += dot(vec4(-0.0101602440699935,-0.0484087765216827,0.0047910632565618,0.0337336249649525), RES2_texOff(vec2(1,0))); -res += dot(vec4(0.0076871691271663,-0.0599658600986004,-0.0147027522325516,0.0018545724451542), RES3_texOff(vec2(1,0))); -res += dot(vec4(0.0337045490741730,-0.0103809703141451,0.0355663336813450,-0.0341530069708824), RES4_texOff(vec2(1,0))); -res += dot(vec4(-0.0036646916996688,-0.0028488722164184,-0.0135662518441677,-0.0040213344618678), RES1_texOff(vec2(1,1))); -res += dot(vec4(0.0086891101673245,-0.0050294972024858,-0.0198393501341343,-0.0198702607303858), RES2_texOff(vec2(1,1))); -res += dot(vec4(-0.0092797838151455,0.0161238685250282,0.0109458435326815,-0.0048607201315463), RES3_texOff(vec2(1,1))); -res += dot(vec4(-0.0086012342944741,0.0156919863075018,-0.0107013676315546,0.0046503073535860), RES4_texOff(vec2(1,1))); -return vec4(res, 0, 0, 0); -} - diff --git a/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl b/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl deleted file mode 100644 index 5f68841..0000000 --- a/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl +++ /dev/null @@ -1,1133 +0,0 @@ -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 1 -//!BIND LUMA -//!SAVE FEATURE1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0158583000302315,0.0481607876718044,0.0216744001954794,0.0327517539262772); -res += vec4(0.0055716447532177,-0.0011689565144479,0.0060354629531503,-0.0038142984267324) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(-0.0511216484010220,0.0695900619029999,-0.0402262769639492,-0.2699918746948242) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(0.0568219460546970,0.0143233733251691,0.0573288090527058,0.1329403370618820) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(0.0749029889702797,-0.0856373012065887,0.0275473278015852,0.0870117172598839) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0059168273583055,0.0431331694126129,0.0110861351713538,-0.0060971858911216) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(0.0023135771043599,-0.0356510132551193,-0.0198473632335663,0.1518625020980835) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.0796200335025787,-0.0332430601119995,0.1661894172430038,0.0414402447640896) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.3913435935974121,-0.0070745791308582,-0.3234040439128876,-0.3177863061428070) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.2875826358795166,-0.1528938859701157,-0.0496717989444733,-0.0847533568739891) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0118880448862910,-0.0508498139679432,-0.0021516310516745,0.1032346263527870) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.0703228861093521,-0.1651142090559006,-0.1199417710304260,-0.0288288500159979) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.1257767677307129,-0.1048138290643692,0.4004893004894257,-0.0309179127216339) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(-0.7917575240135193,0.3903119266033173,0.3126059174537659,-0.0034788434859365) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.2019260078668594,0.1287178546190262,-0.6099877953529358,0.2216860502958298) * float(LUMA_texOff(vec2(0,1))); -res += vec4(-0.0255547054111958,0.2735108733177185,0.1398646086454391,-0.0773279890418053) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.0327996239066124,0.0393296107649803,-0.0118844136595726,-0.0788307189941406) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(-0.0523803792893887,0.2635756731033325,-0.0843483880162239,0.2639326751232147) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(0.4495396912097931,-0.5813834071159363,0.1550076454877853,-0.1014123335480690) * float(LUMA_texOff(vec2(1,0))); -res += vec4(-0.0275334194302559,0.0760609954595566,-0.0728811249136925,-0.0323722735047340) * float(LUMA_texOff(vec2(1,1))); -res += vec4(-0.0302287433296442,-0.0609264522790909,0.0201333332806826,-0.0218520220369101) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0078709209337831,-0.0724855363368988,0.0160489808768034,-0.0519895330071449) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(-0.0093699758872390,-0.0221181977540255,0.0012721448438242,-0.1051536500453949) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(-0.1118478253483772,0.0650174096226692,-0.0050289300270379,0.1248002946376801) * float(LUMA_texOff(vec2(2,0))); -res += vec4(0.0107028540223837,-0.0938652306795120,0.0155469048768282,0.0065242056734860) * float(LUMA_texOff(vec2(2,1))); -res += vec4(0.0103917606174946,-0.0048142350278795,-0.0063812667503953,0.0058583738282323) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 2 -//!BIND LUMA -//!SAVE FEATURE2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0035126404836774,-0.1424804031848907,0.0098019242286682,-0.2324347645044327); -res += vec4(-0.0081599559634924,0.0153401214629412,-0.0000884819819476,-0.0041208495385945) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0348629020154476,-0.0261084530502558,0.1412381976842880,0.0120648415759206) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(-0.0182201806455851,0.0420538075268269,0.1279103606939316,0.0005762653308921) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(0.0074240369722247,0.0205862484872341,-0.0248792562633753,-0.0096883391961455) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(-0.0147575987502933,-0.0138801140710711,0.0336018688976765,0.0101419175043702) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(-0.0168300196528435,-0.0323963575065136,-0.1103628277778625,0.0184982456266880) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.0336258038878441,0.0090460535138845,0.1413228511810303,0.0213951021432877) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(-0.2192985862493515,-0.1210875585675240,-0.5916258096694946,0.1427909880876541) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(0.0442710407078266,-0.0331254564225674,0.2450466305017471,0.0069104693830013) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(-0.0385449007153511,-0.0156025458127260,0.0130665311589837,0.0061669168062508) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(0.0162507221102715,0.1013157293200493,0.1922776401042938,-0.0295907501131296) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.4103461503982544,-0.2687482833862305,0.2803195714950562,0.2368032187223434) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(0.0594542995095253,1.1106108427047729,-0.0012417822144926,0.6573531627655029) * float(LUMA_texOff(vec2(0,0))); -res += vec4(-0.3231450319290161,-0.0818216651678085,-0.0780772641301155,0.0890857279300690) * float(LUMA_texOff(vec2(0,1))); -res += vec4(0.0311414338648319,0.0114796580746770,-0.0333797559142113,0.0220009069889784) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.0005678526358679,-0.0108715193346143,-0.1475655883550644,0.0124691976234317) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(0.0859664827585220,-0.0096361991018057,-0.2825120091438293,0.0380329117178917) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(0.0296897795051336,-0.3303853869438171,0.0030247638933361,0.1928089261054993) * float(LUMA_texOff(vec2(1,0))); -res += vec4(-0.1064484789967537,-0.0895809978246689,0.1988810151815414,0.0761259049177170) * float(LUMA_texOff(vec2(1,1))); -res += vec4(-0.0114818075671792,0.0129500832408667,-0.0847826823592186,-0.0188437569886446) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0039359503425658,-0.0073066619224846,0.0316172763705254,0.0056592230685055) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(-0.0143255395814776,-0.0037881892640144,-0.1154748499393463,-0.0094808740541339) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(0.0334111787378788,0.0511705093085766,0.1090561151504517,0.0004155720234849) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0173786189407110,-0.0189253110438585,-0.0971138030290604,-0.0048367069102824) * float(LUMA_texOff(vec2(2,1))); -res += vec4(-0.0020564326550812,-0.0088429925963283,0.0409048907458782,0.0098554128780961) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 3 -//!BIND LUMA -//!SAVE FEATURE3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0074675981886685,-0.0112727740779519,-0.0078150173649192,0.0054601472802460); -res += vec4(0.0058205719105899,0.0104424925521016,0.0102249477058649,-0.0246734209358692) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(-0.0504507981240749,-0.0265871956944466,-0.0211575180292130,0.0639910921454430) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(0.0854370445013046,0.0320916883647442,-0.0444113314151764,0.0667080804705620) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.0717485323548317,0.1007603406906128,0.0549219138920307,0.0006571425474249) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(-0.0096475556492805,-0.0109533462673426,-0.0034293907228857,-0.0298656821250916) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(0.0612395852804184,0.1438739448785782,-0.1342615187168121,0.0005135608371347) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(-0.1905109286308289,-0.0487579554319382,0.1215000376105309,-0.3903875648975372) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(-0.1105766519904137,0.1457407474517822,0.3190293610095978,0.3644915223121643) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(0.2406846284866333,-0.1006923243403435,-0.2059815675020218,-0.0087168551981449) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0242295619100332,0.0973422899842262,0.0189558453857899,0.0454756766557693) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.2777403295040131,-0.0261268876492977,0.0557462945580482,0.1156388074159622) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.4593666791915894,-0.5746087431907654,0.3516879677772522,0.5441487431526184) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(0.1454727351665497,0.4347074031829834,-0.5649513602256775,-0.2891949117183685) * float(LUMA_texOff(vec2(0,0))); -res += vec4(-0.1971357613801956,-0.0528701394796371,0.1234181076288223,-0.3138715028762817) * float(LUMA_texOff(vec2(0,1))); -res += vec4(-0.0748024880886078,-0.1438121795654297,-0.0849649086594582,-0.0026638933923095) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.1365336179733276,0.1782812327146530,0.0145155806094408,-0.0544562637805939) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(-0.1609659045934677,0.0399771369993687,-0.2471204251050949,-0.3522113263607025) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(-0.0015608231769875,-0.3023138046264648,-0.0579032227396965,0.0277623422443867) * float(LUMA_texOff(vec2(1,0))); -res += vec4(-0.0035330341197550,0.2225222438573837,0.2519835233688354,0.2358573675155640) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.0797009617090225,-0.1369067281484604,-0.0032011670991778,-0.1078757569193840) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0340625829994678,-0.0491722412407398,0.0248667076230049,0.0046607558615506) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(0.1101173907518387,0.0255349930375814,-0.0124160917475820,0.0940967351198196) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(-0.1285010129213333,0.0126118278130889,0.1080744639039040,0.0213258527219296) * float(LUMA_texOff(vec2(2,0))); -res += vec4(0.0379831343889236,0.1150698363780975,-0.0470580570399761,-0.0274534691125154) * float(LUMA_texOff(vec2(2,1))); -res += vec4(-0.0675948560237885,-0.0150815304368734,-0.0260353796184063,0.0053928769193590) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 4 -//!BIND LUMA -//!SAVE FEATURE4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0231404807418585,0.0264000315219164,-0.0196782369166613,0.0193342305719852); -res += vec4(-0.0002864966227207,-0.0063192103989422,0.0176236815750599,0.0021022548899055) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0030383218545467,0.0160587038844824,-0.0215296540409327,0.0022535317111760) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(-0.0327238291501999,0.1294472962617874,0.0004141363606323,-0.0643630251288414) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.0072918534278870,0.0081034628674388,-0.0076351291500032,0.0612725690007210) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0077398689463735,0.0009626992978156,0.0004907781840302,0.0158306453377008) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(0.0169805102050304,0.0017006965354085,-0.0351677052676678,0.0070601841434836) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.0503231473267078,-0.1359812021255493,-0.1726402193307877,0.0505710020661354) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.5929844379425049,-0.4670899212360382,0.1338799595832825,0.0521798394620419) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(-0.0016857853624970,-0.0980291739106178,-0.0766545012593269,-0.1788613498210907) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0055230301804841,0.0227276254445314,0.0062132971361279,-0.0205314252525568) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.0632932260632515,0.0206124242395163,0.0203190892934799,-0.0383010655641556) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.3401337563991547,0.0347416475415230,-0.1285047084093094,0.1899463981389999) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(-0.4421386420726776,0.2934384047985077,0.8403331041336060,-0.1730615049600601) * float(LUMA_texOff(vec2(0,0))); -res += vec4(-0.1677902936935425,-0.2289065122604370,-0.0876600667834282,0.3486402034759521) * float(LUMA_texOff(vec2(0,1))); -res += vec4(0.0101460181176662,-0.0013741940492764,-0.0227308031171560,-0.1236668676137924) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.0416196137666702,-0.0025786985643208,-0.0321756042540073,-0.0049003348685801) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(0.0264755990356207,0.0366033166646957,-0.2230065017938614,-0.2322043776512146) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(-0.3769855499267578,0.3444519937038422,-0.0913550406694412,0.0529095120728016) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.0496573671698570,0.1734852045774460,-0.1757829487323761,-0.0754000768065453) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.0092390561476350,0.0240796990692616,0.0486575216054916,0.0034698238596320) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0061075761914253,0.0163863543421030,0.0051472936756909,0.0245978105813265) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(-0.0219590999186039,-0.0549665205180645,0.0169540457427502,0.0773543193936348) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(0.0130640128627419,-0.0906993970274925,0.0318272411823273,0.0213559772819281) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0263035502284765,-0.0683158710598946,0.0060625332407653,-0.0366725400090218) * float(LUMA_texOff(vec2(2,1))); -res += vec4(-0.0033458373509347,0.0166716929525137,-0.0066949445754290,0.0069377254694700) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_1 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.2535822391510010,-0.2086673378944397,-0.1971909999847412,-0.0509869605302811); -res += mat4(-0.2771639227867126,-0.0897865369915962,0.2583256959915161,0.1160498261451721,0.0936901941895485,-0.1911094635725021,-0.1356087327003479,-0.2737614214420319,-0.0840661674737930,0.3071749806404114,-0.1382381021976471,0.0401598662137985,0.0078477216884494,-0.2248300164937973,-0.1277811974287033,0.0695948302745819) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(0.1083878129720688,-0.3206554055213928,0.1545115262269974,-0.0320371277630329,-0.1938588172197342,-0.1473862826824188,-0.0282243248075247,-0.1354303658008575,-0.1186024993658066,-0.0809327214956284,-0.0136826746165752,-0.0899777114391327,0.0719721689820290,0.1930700838565826,-0.1158982515335083,0.0772358104586601) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(-0.0439350903034210,-0.3943499624729156,0.2428358793258667,-0.1589881926774979,0.1062002107501030,0.3110131621360779,0.1892369836568832,-0.4146962761878967,0.2854582071304321,-0.1033756285905838,0.2935918271541595,-0.3346719741821289,0.0666174665093422,0.0610550120472908,-0.1994506865739822,-0.2256885766983032) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.1148382350802422,-0.4204422533512115,-0.0359638184309006,-0.1530147343873978,-0.0726560875773430,0.2168974876403809,0.3526575863361359,-0.3311845958232880,0.0656990334391594,0.2305561602115631,0.0385423824191093,0.1258286833763123,0.0722775310277939,0.5053561925888062,0.6200680136680603,0.1733734011650085) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.2637681365013123,-0.2313590347766876,-0.1710360497236252,-0.4150753617286682,-0.0291996710002422,0.1454502344131470,0.0285777729004622,-0.0749426186084747,-0.0187464319169521,-0.0788161307573318,-0.1390142142772675,0.4122431576251984,-0.0424673929810524,0.0481288805603981,-0.1688672900199890,-0.3983225524425507) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(0.0667020902037621,0.2114472687244415,0.1192239969968796,-0.2236148864030838,-0.0777044594287872,-0.2462731599807739,0.2634125351905823,-0.1940607130527496,0.0336417406797409,-0.0972627550363541,-0.2950557470321655,0.2406509518623352,-0.0279604401439428,-0.0602857805788517,-0.0872009843587875,-0.1229272857308388) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(0.2794125378131866,-0.4944160580635071,0.4512123167514801,0.2009913176298141,-0.2796518802642822,-0.0334346629679203,-0.0112056173384190,-0.3892775475978851,-0.1192756518721581,0.2117638289928436,-0.4059759974479675,0.2690156698226929,-0.0456493757665157,-0.0304120033979416,-0.2477626502513885,0.4191759228706360) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(-0.0039319223724306,-0.0600352995097637,0.4458162486553192,0.1474803835153580,0.0940916240215302,-0.3791440427303314,0.3606577217578888,-0.4092902839183807,0.1703228652477264,-0.1827025562524796,0.0514233745634556,0.4128525555133820,-0.0793079584836960,-0.0907753482460976,0.1223130822181702,-0.1207918524742126) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.2494225054979324,0.1870742887258530,0.0837734341621399,-0.2739089429378510,-0.0571023263037205,0.1391844749450684,-0.0675746276974678,0.1305333226919174,-0.0307636223733425,0.4430510401725769,0.0028207190334797,-0.0904692336916924,0.0088010514155030,-0.0354460701346397,0.0043582450598478,0.4011381268501282) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.0587932765483856,-0.1308003664016724,-0.1161855384707451,0.1607838273048401,0.1059153527021408,-0.1711840778589249,-0.0445863120257854,-0.1130510568618774,0.0448016002774239,0.1559550613164902,-0.0720835253596306,0.0672131329774857,-0.0249006003141403,0.1765320748090744,-0.1224699541926384,0.0470521636307240) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.0384641103446484,0.2872657477855682,0.0640715956687927,0.3555822372436523,0.0471152290701866,-0.1418067067861557,-0.1464726030826569,0.3959751725196838,0.2157984673976898,-0.0174972768872976,-0.2503038048744202,0.0358669087290764,-0.0771151334047318,0.3911861777305603,-0.0674204975366592,-0.1664280891418457) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.0502385906875134,-0.2417445182800293,-0.2242267578840256,-0.0672638416290283,-0.1355054825544357,-0.3461876213550568,0.4824717044830322,-0.2761393785476685,-0.0341378860175610,-0.0760281234979630,0.4350158274173737,0.4765976667404175,-0.0782985687255859,-0.1459587216377258,-0.0172249134629965,-0.0147242834791541) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(-0.2630992829799652,0.2823100388050079,0.0943108573555946,0.4031386077404022,0.0995653420686722,-0.1206451952457428,-0.0305370874702930,0.0642247647047043,0.0560359954833984,0.0542743578553200,0.1328519582748413,0.3271641731262207,0.0286087840795517,-0.0301680061966181,0.4063064754009247,-0.0947660803794861) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.2625299096107483,0.0842924192547798,0.7629656791687012,-0.2671873569488525,0.2069786489009857,-0.2454696893692017,0.0612405501306057,0.1021422892808914,-0.4223764240741730,0.3173877894878387,0.2887442708015442,0.1909165084362030,-0.1770869791507721,0.1346962451934814,0.1143044829368591,0.0229503251612186) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(-0.4152803719043732,0.1540635079145432,-0.2777018547058105,0.6474476456642151,-0.1949630677700043,-0.0181875545531511,0.3886533379554749,0.3629097938537598,-0.3201324343681335,0.4255363047122955,-0.3785362839698792,0.1957572698593140,0.1620309501886368,-0.2288520336151123,-0.0135895386338234,-0.0196984149515629) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(0.1041403189301491,-0.1766346842050552,0.4300306439399719,-0.5048146247863770,-0.4282442331314087,0.2367089539766312,-0.0609208792448044,0.0131418621167541,0.0577571578323841,-0.0810485184192657,0.0756059587001801,-0.3013808131217957,0.1408018022775650,0.0530188716948032,0.4606562554836273,-0.3839898407459259) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-0.1521688550710678,-0.0032123478595167,0.3116574883460999,-0.2972046434879303,0.6955487728118896,-0.3735982179641724,0.0215148627758026,0.6849833130836487,0.4760347604751587,-1.0485177040100098,-0.1261294931173325,0.2331533879041672,0.0917195081710815,0.4458359181880951,-0.0091531546786427,0.5207492113113403) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-0.1011519357562065,-0.2413177788257599,0.5347595214843750,-0.3520763516426086,1.1230159997940063,-1.1015644073486328,-0.7193110585212708,0.8510805368423462,0.8157641291618347,-0.2430049031972885,0.2581803798675537,-0.4335567951202393,-0.0874094665050507,-0.6334270834922791,-0.6894448399543762,0.0596196018159389) * FEATURE2_texOff(vec2(0,0)); -res += mat4(0.2854309976100922,-0.1557229459285736,-0.1809468418359756,-1.3902940750122070,0.6910412311553955,-0.2587812542915344,-0.0482749044895172,0.7059345245361328,0.1759572327136993,-0.1393056362867355,0.5609810352325439,-0.4832382500171661,-0.0000602358450124,-0.2900169491767883,0.3908173143863678,-0.6049022674560547) * FEATURE3_texOff(vec2(0,0)); -res += mat4(-0.0872106701135635,-0.1346540600061417,1.4156285524368286,-1.1883758306503296,-0.7596164941787720,0.1885419785976410,-0.5785369277000427,0.9477756023406982,1.5934140682220459,-1.2882608175277710,-1.2094374895095825,1.3799823522567749,0.4614370167255402,-0.0916836485266685,-0.5338310003280640,0.3820723593235016) * FEATURE4_texOff(vec2(0,0)); -res += mat4(0.0441628322005272,-0.0834458991885185,-0.0842079296708107,-0.0668803155422211,0.0368445180356503,0.2561661899089813,-0.1183663904666901,-0.0662262961268425,0.0612826459109783,-0.0493311323225498,-0.1413672119379044,-0.0592455714941025,0.0167923998087645,-0.3271788358688354,0.2014455944299698,-0.6534197330474854) * FEATURE1_texOff(vec2(0,1)); -res += mat4(-0.4044690728187561,-0.1691768616437912,-0.2559798955917358,0.3357487618923187,0.0253558568656445,-0.1398200690746307,-0.2404493540525436,0.2267729192972183,0.0485114641487598,-0.1099041774868965,0.4590287208557129,0.0762615874409676,-0.0548993311822414,-0.1307289451360703,-0.1234042271971703,-0.0231516994535923) * FEATURE2_texOff(vec2(0,1)); -res += mat4(-0.0988199859857559,0.0238037649542093,0.0435022264719009,-0.3168803453445435,-0.1213417872786522,-0.0779432877898216,0.2743633389472961,-0.0408632978796959,0.1799435466527939,-0.2463587224483490,-0.1358537077903748,0.2689833939075470,0.0539833642542362,0.1290988624095917,-0.0515714474022388,0.0580415092408657) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.0934378430247307,-0.0576035231351852,0.1248585656285286,-0.4788450300693512,-0.0699084699153900,-0.1344984918832779,0.4291284382343292,-0.0945518091320992,0.1735085546970367,-0.3810331225395203,0.2658713161945343,-0.0407779440283775,-0.2733527123928070,-0.2201107889413834,-0.2199274003505707,0.2047093063592911) * FEATURE4_texOff(vec2(0,1)); -res += mat4(-0.0567484796047211,0.0829793587327003,-0.4746561646461487,0.0256525389850140,0.0835705399513245,-0.1755325645208359,-0.2114038169384003,-0.1711267083883286,0.1664180457592010,0.1463819295167923,-0.2656275629997253,-0.2758075296878815,0.0265674404799938,-0.1956520974636078,0.0414405986666679,0.0479561910033226) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(0.0563601851463318,0.4714728593826294,-0.0800048857927322,-0.1705953329801559,0.2594836354255676,-0.2075097709894180,0.1695188879966736,-0.4107047319412231,-0.0706016868352890,-0.2547818720340729,-0.3957505524158478,-0.2354479134082794,0.0384419634938240,-0.0460053943097591,-0.0207829847931862,-0.0093786139041185) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(0.0942042469978333,0.0404988750815392,-0.1232881695032120,-0.2178550660610199,0.1357689797878265,0.0359092727303505,-0.2060291618108749,-0.3273082375526428,0.5002653002738953,-0.1923164129257202,0.4921628534793854,0.2727786898612976,-0.2186055183410645,0.3011177480220795,-0.3585500419139862,0.1814153641462326) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(-0.0447341054677963,0.0810466259717941,0.2046322971582413,-0.0233065690845251,0.2438813596963882,-0.5253956913948059,0.1698510050773621,-0.0923427864909172,0.3008512258529663,0.0888842046260834,0.2270209491252899,-0.0200825128704309,0.1317300051450729,-0.0595603473484516,0.1512535065412521,-0.1234729290008545) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(-0.2651814818382263,-0.2288072854280472,-0.1599031686782837,0.2945036888122559,-0.5219144225120544,0.2868134975433350,0.0882711112499237,0.1873165518045425,-0.3225394189357758,0.5725277066230774,0.9555261731147766,0.1013209298253059,-0.0960882678627968,0.4585131406784058,-0.4613201320171356,0.0265702158212662) * FEATURE1_texOff(vec2(1,0)); -res += mat4(-0.0731972157955170,-0.0449099875986576,0.5571532249450684,-0.1073949784040451,-0.0349713973701000,0.0071747689507902,-0.5417777299880981,-0.1344508528709412,-0.3132073581218719,0.0723055228590965,-0.2280079871416092,-0.0006024244939908,-0.1621860861778259,0.0284414086490870,0.0161129496991634,0.1501607745885849) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.0067174173891544,0.2343200147151947,-0.5080283284187317,0.5312495827674866,0.0454211644828320,0.2897656559944153,-0.1136429458856583,-0.3823511302471161,-0.2790622413158417,-0.3745599091053009,0.0601127929985523,-0.1175373196601868,-0.1063450872898102,-0.0410735420882702,-0.2890635728836060,0.5056386590003967) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.5037181973457336,-1.1170947551727295,-0.5449797511100769,0.3597307205200195,-0.0285126268863678,0.3148215115070343,0.4604218900203705,0.2808663249015808,0.0162206999957561,-0.3732328414916992,-0.5785920023918152,0.1976140588521957,-0.5090074539184570,0.6523973941802979,-0.1632602810859680,-0.1469507217407227) * FEATURE4_texOff(vec2(1,0)); -res += mat4(-0.0661215856671333,0.2697862982749939,-0.1526191383600235,0.3426537811756134,-0.0941963717341423,-0.0453732609748840,-0.1661902964115143,0.0029509349260479,-0.1297422945499420,0.3132496774196625,0.0477103367447853,-0.0763362720608711,0.2142441421747208,-0.2151754349470139,0.0798331648111343,0.0610793232917786) * FEATURE1_texOff(vec2(1,1)); -res += mat4(-0.0336847305297852,-0.3289247453212738,0.4004055559635162,0.2447433471679688,0.1103943735361099,0.3727104365825653,0.3764447569847107,-0.0454859547317028,0.0884784683585167,0.0267046000808477,-0.3515844941139221,-0.2293561398983002,0.0277891717851162,-0.0138099212199450,0.1696697175502777,0.0516055934131145) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.0018621622584760,0.2604791820049286,0.2717927396297455,0.3943259119987488,-0.0989849790930748,-0.2238094806671143,-0.3049607276916504,0.1484513133764267,-0.4653285443782806,0.4149819910526276,0.2806181013584137,-0.0392659343779087,0.1793054938316345,0.0728375092148781,0.7856308221817017,0.0007568100700155) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-0.1371228843927383,-0.4515758156776428,-0.1283617764711380,0.2101248651742935,0.2646862864494324,-0.4533604681491852,0.1065965071320534,0.0693597942590714,0.2889678776264191,0.0214051268994808,0.6909635663032532,0.2163403928279877,0.3420628011226654,-0.2050398141145706,-0.0816402360796928,0.0032103767152876) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.4853514730930328,0.0194640476256609,0.0559235066175461,0.9239075779914856) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_2 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1381223350763321,-0.0308194756507874,0.1110133975744247,-0.0683282017707825); -res += mat4(-0.2088769525289536,-0.0105850258842111,-0.1151953488588333,0.0346273891627789,-0.3365945518016815,-0.0517612397670746,0.0336230397224426,-0.0372144170105457,0.1981399059295654,0.1342182457447052,-0.1760965287685394,0.2307879626750946,-0.1530198454856873,-0.1098565682768822,0.0360668078064919,-0.0083812475204468) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.1177931874990463,-0.0846288949251175,-0.2833393514156342,-0.1577735990285873,0.1323858946561813,-0.0128489714115858,-0.2080941498279572,-0.0380874052643776,-0.2245622128248215,-0.1485987454652786,0.0010099023347721,-0.1531151384115219,-0.1019563600420952,-0.0452317036688328,0.0589019767940044,0.0121880760416389) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(0.0704127103090286,0.0245257895439863,-0.1575127989053726,0.1349024325609207,-0.1563488990068436,-0.0450201816856861,0.0279316585510969,0.1888295561075211,-0.0059769251383841,0.1732009947299957,0.1763417571783066,0.0518473982810974,0.0620901659131050,-0.0433492250740528,-0.0562263280153275,-0.1273161619901657) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.1267730593681335,-0.0329404771327972,0.2025095671415329,0.1193531453609467,0.0728927850723267,0.0823160484433174,0.1572242677211761,0.1716777533292770,0.2288017272949219,-0.2456564903259277,-0.0219315327703953,-0.3694605827331543,0.0219488814473152,-0.1276920139789581,-0.0379748567938805,-0.0840378776192665) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.2056158930063248,0.2981309592723846,0.4551208317279816,0.3621589541435242,0.1664001643657684,0.2786794006824493,-0.1290398538112640,0.1190336570143700,0.1758793741464615,-0.0912702158093452,-0.4254598915576935,0.2246738970279694,-0.0261087883263826,0.2550060749053955,-0.0596518293023109,-0.1216617897152901) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.0796719565987587,0.0087867546826601,0.3371246457099915,-0.3683475852012634,-0.2284196317195892,0.1553688198328018,0.1120917648077011,-0.0740640237927437,-0.0330910012125969,0.5079706311225891,0.0464495383203030,-0.0281568299978971,0.0377068296074867,0.0486547499895096,-0.0274681914597750,-0.1364037692546844) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(0.3227785527706146,0.1808989048004150,0.2177855074405670,0.1488631516695023,0.0276129115372896,-0.0884175524115562,-0.1514154821634293,-0.4444026648998260,-0.2891204059123993,-0.1344766467809677,-0.1440485715866089,-0.4961053133010864,0.1105418205261230,0.1085827052593231,0.0921985581517220,-0.1675277352333069) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(-0.1732871979475021,0.4281528890132904,-0.0204508714377880,-0.1851426213979721,-0.1087937057018280,-0.3815968632698059,0.2121615111827850,-0.5234569311141968,0.1071098297834396,0.5851136445999146,-0.1577875763177872,-0.2906306684017181,-0.7021292448043823,0.2255133390426636,-0.1295063495635986,-0.1320244520902634) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.1757937669754028,-0.2319357842206955,-0.1836598366498947,0.1259083151817322,0.5745494365692139,-0.0729667767882347,-0.1101969778537750,0.1380585283041000,-0.1041931733489037,-0.3247266709804535,-0.0038968466687948,0.3799381852149963,0.1569617539644241,-0.1585843116044998,0.1072080880403519,-0.0745987668633461) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.4278232753276825,0.1297351717948914,0.0242699328809977,0.1919889599084854,0.1342368423938751,-0.1163052171468735,0.0549292564392090,-0.0147566581144929,0.1688189953565598,-0.1894697397947311,-0.0977199077606201,0.2842393219470978,0.1062431111931801,-0.0455371215939522,0.0077982707880437,0.0216805879026651) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(0.0561123453080654,-0.1753604114055634,-0.1611851602792740,-0.0905591323971748,0.6435936689376831,0.1204528734087944,0.0111874192953110,0.3374686241149902,0.3051860928535461,-0.0780762061476707,0.2443095892667770,-0.2589598298072815,-0.0003057309950236,-0.1137806028127670,-0.1054927855730057,0.0880511328577995) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.2937435507774353,0.2320816367864609,0.0320707336068153,-0.0581145994365215,-0.2367461323738098,0.4746437370777130,0.0147240571677685,-0.1799026876688004,-0.0346993468701839,0.0699583739042282,-0.3170774877071381,0.2222882062196732,0.3463763594627380,-0.2493554353713989,0.0534604340791702,0.3099468946456909) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(-0.7647771239280701,-0.3693305552005768,0.6674076914787292,-0.2018796503543854,-0.1837627589702606,-0.2026533484458923,-0.2065198272466660,-0.7396225929260254,0.8524928092956543,-0.3777147233486176,0.0014601636212319,-0.0749434828758240,-0.4064617753028870,0.1136885806918144,-0.2240319401025772,0.1771318167448044) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.0152301695197821,-0.1906797885894775,0.6144173145294189,0.3965292274951935,-0.0969559252262115,-0.0965181961655617,0.2601015865802765,-0.1854272931814194,0.0161584168672562,0.2746478021144867,-0.2444981634616852,0.0295571684837341,-0.0056955255568027,0.0136870443820953,-0.0315799862146378,-0.0970168113708496) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(-0.2683302462100983,0.3706904053688049,-0.3019535541534424,-0.7962921857833862,0.1152348443865776,-0.0349015258252621,-0.3777785003185272,-0.2090991586446762,-0.6641592979431152,-0.0305389035493135,-0.7255446314811707,-0.0721698999404907,-0.0974985733628273,0.0589145533740520,-0.3214484453201294,0.1777489185333252) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(0.0061144740320742,0.2519157528877258,0.1558316051959991,0.4245251417160034,-0.6843578815460205,0.1966717094182968,-0.4610933661460876,-0.2540432512760162,0.0210541579872370,0.1831053048372269,0.4746453762054443,-0.0526402108371258,-0.0040490669198334,-0.0342687070369720,0.3900658488273621,-0.3303281068801880) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-0.4828728139400482,0.5191280841827393,-1.1391385793685913,-0.7054628133773804,1.0957189798355103,-0.5038015246391296,1.1690396070480347,0.8840553760528564,-1.2126139402389526,-0.1944981217384338,-0.3844216167926788,1.5913034677505493,0.4191325902938843,0.0223961118608713,0.2826472818851471,-0.0871717706322670) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-1.4643236398696899,-0.7375335693359375,0.2441195696592331,0.4990673959255219,-0.8329786062240601,-0.3049604892730713,0.9556087851524353,0.2383137643337250,0.5312217473983765,-0.5947279334068298,0.1804114133119583,-0.5788916945457458,0.3507929444313049,-0.0233711879700422,-0.2017675191164017,0.2487143874168396) * FEATURE2_texOff(vec2(0,0)); -res += mat4(-0.1819303482770920,-0.5676728487014771,0.2360317111015320,0.0851088836789131,0.3140235841274261,0.1351734697818756,0.0945767760276794,-0.7279174923896790,1.6670336723327637,-0.0221601165831089,-0.0541631169617176,0.5291170477867126,0.5370565652847290,0.3250507712364197,0.2952508032321930,0.7118167877197266) * FEATURE3_texOff(vec2(0,0)); -res += mat4(-0.4443428218364716,1.7487819194793701,0.7934173345565796,0.4780461490154266,0.9800529479980469,-0.9448102116584778,-0.9966609477996826,-0.5082603096961975,-0.9662690758705139,-0.1383059471845627,0.5476665496826172,0.8644275665283203,0.2329450398683548,-0.2073891162872314,0.6153110265731812,-0.8020766377449036) * FEATURE4_texOff(vec2(0,0)); -res += mat4(1.3168696165084839,0.3006781041622162,0.2233006358146667,-0.7741575837135315,-1.2183657884597778,0.1592453569173813,-0.1303313076496124,-0.5448666214942932,0.0890172719955444,0.0626696199178696,0.4082972407341003,-0.0174469910562038,-0.5905545353889465,-0.1600939035415649,0.1808805614709854,0.4527755379676819) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.2451122701168060,0.0711479261517525,-0.4790588915348053,-0.0287401173263788,-0.6085331439971924,0.0391158387064934,0.1979900598526001,0.6233009099960327,-0.4468613266944885,0.1692452281713486,0.3975573182106018,-0.0298757180571556,-0.0155079197138548,0.0266936160624027,-0.0893321484327316,-0.0689681470394135) * FEATURE2_texOff(vec2(0,1)); -res += mat4(-0.0973365902900696,0.2272831350564957,0.0554595254361629,0.6588506102561951,-0.7055286765098572,-0.0497792214155197,-0.0126299904659390,0.3630616366863251,-0.7668600678443909,-0.0601201094686985,0.2889628410339355,0.7213001251220703,-0.5142368078231812,-0.2921136617660522,-0.0372818075120449,0.0245624762028456) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.6794872283935547,-0.1474942564964294,0.1974916905164719,-0.0832043588161469,0.3203485012054443,-0.1725142896175385,-0.1287368983030319,0.2957201898097992,-0.2809852659702301,-0.2404037415981293,0.3074257671833038,0.1061463952064514,0.3400422930717468,0.1731379330158234,-0.6084728240966797,0.1411322951316833) * FEATURE4_texOff(vec2(0,1)); -res += mat4(-0.1315720230340958,-0.1491559147834778,-0.1476573199033737,0.0172325670719147,0.0603457167744637,0.1274620592594147,0.0230694599449635,0.2419043183326721,-0.2473622113466263,0.1825644075870514,-0.0844093039631844,-0.1179033219814301,0.0535174496471882,-0.0359878912568092,0.2790770828723907,0.1150204017758369) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.3542392551898956,-0.0167406518012285,-0.0500063747167587,0.1317760497331619,0.2503667771816254,0.0965770110487938,0.0886839926242828,0.2376044392585754,0.3583405613899231,-0.0593837574124336,-0.0855230018496513,-0.0920166969299316,0.0858608484268188,0.0060294447466731,-0.0157861225306988,0.0127252563834190) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(0.3226392865180969,0.0865219160914421,-0.1496476382017136,0.1624807566404343,0.3655589520931244,-0.0445664376020432,0.1227211430668831,-0.2220589071512222,-0.2631477713584900,0.0820850655436516,0.5568479895591736,0.0730609148740768,-0.0937359035015106,0.2295248508453369,-0.3294035196304321,-0.2036383599042892) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.3742868900299072,-0.1802055388689041,-0.0593203529715538,0.1976574063301086,0.8271688222885132,0.0117016453295946,0.5063909292221069,0.2256126701831818,0.1593020707368851,-0.1280505210161209,0.0390553958714008,-0.1892147809267044,0.0888174250721931,-0.1376793980598450,0.5697006583213806,0.2485611587762833) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(0.2118279337882996,0.0513114370405674,0.2285705506801605,0.5599109530448914,-0.5099740028381348,0.1410261243581772,-0.3096668720245361,0.7005844116210938,-0.4349140822887421,0.4047641158103943,0.4812763929367065,0.1051402017474174,0.2456628382205963,0.0377773605287075,-0.6833984255790710,-0.3006701469421387) * FEATURE1_texOff(vec2(1,0)); -res += mat4(-0.7107729315757751,-0.3105662167072296,-0.2076982706785202,-0.1214028969407082,-0.1795432120561600,0.1798780262470245,-0.0163973346352577,0.1743666827678680,-0.4378082156181335,0.1835298836231232,0.0649149790406227,0.0880983099341393,-0.1403774917125702,-0.0377079211175442,-0.1460157334804535,0.0355062298476696) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.0914793089032173,0.0385615527629852,0.1190174892544746,-0.0553938411176205,-0.4308855831623077,0.1630966216325760,0.3357785642147064,0.0585900247097015,-0.1960757374763489,-0.1455840319395065,-0.3593325614929199,-0.3946797251701355,-0.0507271811366081,-0.2539891600608826,-0.0905557572841644,-0.6227382421493530) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.2614709436893463,0.0061688483692706,0.3611848056316376,-0.1338395625352859,-1.0093911886215210,0.0553577207028866,0.1186351701617241,0.3184973597526550,-0.5891544818878174,-0.1016779243946075,-0.2224645316600800,0.0639321878552437,-0.2353626340627670,0.2742255926132202,-0.9502924680709839,0.7192491292953491) * FEATURE4_texOff(vec2(1,0)); -res += mat4(0.3778582513332367,-0.1000494062900543,-0.3470661938190460,0.1308858692646027,-0.0679450184106827,-0.0160419829189777,-0.0135374749079347,-0.0480017438530922,-0.2798678874969482,-0.0037702140398324,-0.1513005942106247,0.1505549550056458,0.5613264441490173,-0.0316404215991497,0.2104064077138901,0.0057972222566605) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.5251657366752625,0.0792712643742561,-0.1533361673355103,0.0648916959762573,0.1299594342708588,-0.0274657960981131,0.2256900221109390,-0.1350511759519577,0.3783259689807892,-0.1323687285184860,-0.1913703531026840,-0.0371813550591469,-0.3229732215404510,0.0125484764575958,0.0712098628282547,0.0355844199657440) * FEATURE2_texOff(vec2(1,1)); -res += mat4(-0.1488132029771805,-0.1394258141517639,0.0912211686372757,-0.2606098055839539,-0.0499770082533360,-0.0108409021049738,-0.0542243905365467,-0.0962965711951256,0.7122877240180969,0.2720184922218323,-0.3723897337913513,-0.1091977506875992,0.3245325982570648,-0.0505217276513577,0.5785158276557922,0.2982622087001801) * FEATURE3_texOff(vec2(1,1)); -res += mat4(0.1374520808458328,-0.0015341561520472,-0.1311945766210556,0.2911640405654907,-0.3659119606018066,-0.0591222643852234,0.3697520196437836,0.0210731234401464,-0.1840991079807281,0.0390477702021599,0.0259844064712524,0.2170744538307190,-0.0889984294772148,0.0531435646116734,0.2462018877267838,-0.4002745449542999) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0506038926541805,-1.0047781467437744,-0.4045023024082184,0.9032984972000122) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_3 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL23 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1987741589546204,-0.9577525258064270,-0.0384856425225735,-0.1572636365890503); -res += mat4(0.6966392397880554,-0.4640935063362122,0.2297160476446152,-0.0832405164837837,-0.0009435203392059,-0.0578446798026562,-0.1164432391524315,-0.1221262738108635,-0.1412358880043030,-0.0279388818889856,0.0489265844225883,0.0063599492423236,0.2360319495201111,0.0912766307592392,-0.1941773593425751,0.2315690666437149) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.1167130470275879,0.0778460651636124,0.1076761484146118,-0.2353819608688354,0.0524621158838272,-0.0356444679200649,0.2539249062538147,0.2634229958057404,0.2133077681064606,-0.1919374763965607,-0.2158848792314529,0.0518384873867035,0.0609824284911156,-0.1305586248636246,-0.1013210490345955,0.1769250631332397) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(0.1402679532766342,0.2941172719001770,-0.1457418501377106,0.3779373764991760,-0.1932400017976761,-0.2161010503768921,0.0722947195172310,0.0502758324146271,-0.3296416103839874,0.4798662662506104,0.2580823302268982,-0.0627183541655540,0.0147153036668897,0.2626453340053558,0.0540219917893410,0.1939793974161148) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.1847409754991531,0.4179320335388184,0.1568926721811295,-0.2688268125057220,0.1841754466295242,-0.1598462462425232,0.1664924770593643,-0.6711257100105286,-0.3222356140613556,-0.3005515038967133,-0.1475231498479843,0.1409637480974197,-0.1211405694484711,-0.4659332334995270,-0.4637466669082642,0.3335506618022919) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(0.5968201160430908,0.0195734798908234,0.2521410584449768,0.1837282180786133,-0.2368906587362289,-0.1613323688507080,0.3105871975421906,-0.5328266620635986,0.6818410158157349,-0.2313661426305771,0.1797828674316406,-0.4353945851325989,0.3843055069446564,0.2114877700805664,-0.3301143646240234,-0.0251296106725931) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(0.5452771782875061,0.3973252177238464,-0.2990077137947083,-0.6833023428916931,-0.0103876451030374,-0.2633355557918549,0.2405222356319427,-0.1847756654024124,0.0809822008013725,-0.5386145710945129,0.3198210299015045,0.5242416858673096,-0.0943189039826393,0.1589269340038300,-0.2653484344482422,-0.2556872963905334) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(-0.0612921006977558,0.3507350981235504,0.2488755732774734,0.1469088792800903,-0.3519552946090698,-0.2370343953371048,-0.1770581305027008,0.1431888490915298,-0.6166468262672424,-0.1131900474429131,-0.4911212325096130,0.5227483510971069,-0.3461691737174988,0.0986021012067795,0.7038308978080750,-0.3039589524269104) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(0.1912881582975388,-0.5830649733543396,0.2136552929878235,0.1866988241672516,-0.5624901652336121,0.2385427057743073,0.1727342009544373,-0.4540549218654633,0.4965006113052368,-0.3204718232154846,-0.1158104166388512,0.5111644268035889,1.0713713169097900,0.1508440226316452,-0.5791803598403931,-0.0009748075972311) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(0.9698884487152100,-0.2014376223087311,-0.6689079999923706,0.4241695106029510,-0.0573838278651237,0.1175749525427818,-0.3876985013484955,0.2512328326702118,0.5065176486968994,-0.0682719275355339,-0.3141808807849884,-0.1387684196233749,-0.1143181324005127,-0.0706263333559036,-0.2333269715309143,0.5111127495765686) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(-0.5634623765945435,0.0672075673937798,0.2458319514989853,-0.2465665936470032,1.0935126543045044,-0.3243642449378967,0.3043719530105591,0.0064766071736813,0.9648159146308899,0.1759704202413559,-0.1268455684185028,0.0441841222345829,-0.8189800977706909,-0.0071217310614884,-0.0554777421057224,-0.2554271817207336) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.1151394397020340,-0.0710884630680084,0.1666608154773712,0.2001230269670486,-0.3966263532638550,0.3185620605945587,0.2014131247997284,-0.6153194308280945,-0.1701968014240265,-0.0540665499866009,0.0967301502823830,-0.1836527884006500,-0.2557096779346466,-0.4019114375114441,-0.4702650904655457,-0.1317474097013474) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.3346468508243561,-0.0425257682800293,0.1464348584413528,-0.0702658221125603,-1.1866838932037354,-0.1095336750149727,0.2232391387224197,0.1260936558246613,0.3364435434341431,0.0271857567131519,-0.2763819098472595,-0.2012097984552383,-0.5574805140495300,0.4211027026176453,0.0042814216576517,-0.0079778516665101) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(-0.3540650010108948,0.0071619492955506,-0.1938177198171616,0.6681747436523438,-0.8133658766746521,-0.5995404124259949,-0.3652176260948181,0.5787848830223083,-1.1667940616607666,-0.1285391598939896,-0.0541963428258896,0.8525529503822327,0.1709660291671753,-0.2035605609416962,-0.0489438250660896,-0.0194259360432625) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(-0.0078989947214723,-0.6119658946990967,-0.2015484124422073,-0.2649651169776917,-0.6429963707923889,0.2694746255874634,-0.4319376945495605,-0.3059541285037994,-0.0497270785272121,0.1026998609304428,-0.0897300168871880,0.1753655374050140,0.2096567898988724,0.2093304544687271,-0.0014726204099134,-0.1757658571004868) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(0.4870032668113708,-0.3136315047740936,0.0027699931524694,0.0663692802190781,-0.3052871823310852,0.3439637422561646,-0.1048567295074463,-0.1991288512945175,0.3137850165367126,0.0046365256421268,-0.1638680994510651,-0.4108964502811432,0.0508278496563435,-0.2253065854310989,-0.1633804589509964,0.2289161980152130) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(-0.1308068782091141,-0.4817227125167847,-0.0263788085430861,-0.3971874713897705,-0.2506425678730011,0.0695889964699745,-0.2154289782047272,0.5419184565544128,-0.2379133403301239,0.4222696423530579,0.5321872234344482,-0.4691502451896667,0.5537111759185791,0.2836233973503113,-0.0807907357811928,-0.1053616553544998) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-1.3340888023376465,0.1811003237962723,-0.0891653820872307,0.2640296220779419,0.0198112688958645,0.3743432164192200,0.2111666053533554,0.0528086237609386,1.4712600708007812,1.2311338186264038,-0.9427970051765442,-0.6471102833747864,-0.1417239755392075,-0.0687683522701263,0.6658940315246582,-0.2936039566993713) * FEATURE1_texOff(vec2(0,0)); -res += mat4(0.6384365558624268,0.9694315791130066,-0.9346356391906738,-1.0230228900909424,-0.5444990992546082,0.7220879793167114,-1.3095484972000122,-0.1715894937515259,-0.1845342367887497,0.2809494435787201,-0.7519769072532654,0.5043348670005798,0.0642623752355576,0.5404297709465027,0.4980618953704834,-0.4332457780838013) * FEATURE2_texOff(vec2(0,0)); -res += mat4(0.4064006507396698,-0.1983926743268967,-0.3653252422809601,-0.4969399273395538,0.9744088053703308,-0.4507445096969604,-0.2631619274616241,0.3812571465969086,0.1463315337896347,-0.3806351721286774,-0.1298433393239975,-1.0762634277343750,0.6555476784706116,0.2125965803861618,-0.2418732196092606,-0.7435741424560547) * FEATURE3_texOff(vec2(0,0)); -res += mat4(0.5863549113273621,-0.7426007390022278,1.0520230531692505,-0.3021634817123413,1.0178332328796387,0.3958678841590881,-1.2147421836853027,-0.2803310155868530,0.9442859292030334,0.9875133633613586,-1.3295483589172363,0.3140213191509247,-1.2360699176788330,0.0436276197433472,0.8192564249038696,0.9244912862777710) * FEATURE4_texOff(vec2(0,0)); -res += mat4(-0.0778036788105965,0.1303569674491882,-0.0946515947580338,0.1500514000654221,-0.8376330137252808,0.0064494702965021,0.4018820524215698,0.3726169466972351,-0.0240886732935905,0.1562727540731430,0.5867211222648621,0.0861321687698364,-0.0752925500273705,0.2072228193283081,0.0571691095829010,-0.3941327631473541) * FEATURE1_texOff(vec2(0,1)); -res += mat4(-0.6260624527931213,0.2243167608976364,-0.0777204260230064,-0.0948459953069687,0.1986584663391113,0.0779278427362442,-0.0409294515848160,-0.1123309731483459,-0.5333513021469116,-0.3017018139362335,0.3394177854061127,0.0070442100986838,-1.2051154375076294,0.1886872202157974,0.0150700416415930,0.2271993011236191) * FEATURE2_texOff(vec2(0,1)); -res += mat4(-0.1438168585300446,-0.0561682283878326,-0.0726087689399719,-0.1063039004802704,0.8472042083740234,-0.1650467067956924,-0.4323893487453461,0.1089009195566177,-0.2962348163127899,-0.0804210677742958,0.3090696632862091,0.1938772201538086,-0.9304508566856384,0.2099634110927582,-0.2387906461954117,0.4645425677299500) * FEATURE3_texOff(vec2(0,1)); -res += mat4(-0.3891402482986450,0.1677001267671585,-0.3542142212390900,0.4825044274330139,-0.7494704127311707,0.0327095612883568,-0.3160547018051147,0.0381647609174252,-0.3395038843154907,-0.0875114798545837,0.1697681397199631,-0.0070069218054414,0.2785872519016266,-0.3053137958049774,-0.4394780993461609,-0.4758984446525574) * FEATURE4_texOff(vec2(0,1)); -res += mat4(0.1764032542705536,0.3245241641998291,-0.3035278022289276,-0.0335294082760811,0.0819542557001114,0.0181823037564754,-0.4616291821002960,0.3710139989852905,-0.2668941020965576,0.1378638595342636,-0.3516434729099274,0.2218741774559021,-0.1380484700202942,0.2721910178661346,0.1993634998798370,-0.0507654286921024) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(0.1138257235288620,0.0702949985861778,0.0519753210246563,0.0316211394965649,-0.1142372712492943,-0.3463631868362427,-0.1331373304128647,0.0943566113710403,0.1118926182389259,-0.0014000118244439,-0.0389710702002048,-0.2867488861083984,-0.0759893879294395,-0.0621335469186306,0.0294951014220715,0.1627990603446960) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.0370159111917019,-0.0134843364357948,-0.0296634603291750,-0.2262785434722900,-0.2126005589962006,0.1114539355039597,-0.3452126085758209,0.4179220199584961,0.1400017142295837,0.1337017863988876,0.1674517989158630,0.6095085144042969,0.1415290385484695,0.1256051212549210,-0.0247143786400557,-0.3213684260845184) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.2360568046569824,0.0886762887239456,0.2882657349109650,0.0703785941004753,0.0481112562119961,0.1826563030481339,0.2045601755380630,-0.7343208193778992,0.2727248668670654,-0.1472977846860886,0.1000528633594513,0.1027388945221901,0.0052390284836292,-0.1624580770730972,-0.2070121914148331,0.0261196251958609) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(0.5196351408958435,-0.1754677295684814,0.0290226303040981,-0.4108504652976990,0.7359254956245422,0.1325557529926300,0.7144725918769836,0.1152682229876518,0.5018915534019470,0.1675622016191483,0.1405982822179794,0.3300459384918213,-0.2479736208915710,0.1644758880138397,-0.2817023694515228,0.3316636085510254) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.8050370812416077,0.5533731579780579,-0.3099412024021149,0.1754989326000214,-0.1735986918210983,0.0404918454587460,0.2438879311084747,-0.2540093660354614,-0.4142113626003265,0.0423586852848530,0.2983778417110443,-0.6657259464263916,-0.0323144160211086,0.1928859353065491,0.0626569986343384,-0.2675825357437134) * FEATURE2_texOff(vec2(1,0)); -res += mat4(-0.8682364821434021,0.2794692516326904,0.2730025053024292,0.1207608506083488,0.5389584302902222,0.0149545557796955,-0.1274863481521606,-0.0567482747137547,-0.0887703672051430,0.6914038658142090,-0.3094426095485687,-0.2982452213764191,0.4080916643142700,0.0426792725920677,-0.0051025901921093,0.6209579110145569) * FEATURE3_texOff(vec2(1,0)); -res += mat4(0.0917436853051186,-0.0701907053589821,-0.2328515946865082,-0.1792335063219070,0.6472560167312622,-0.0877070501446724,-0.3649670481681824,0.2790137529373169,0.5136012434959412,-0.1430896967649460,0.4229614138603210,0.2363108694553375,0.5988228321075439,0.0732361972332001,0.3804556727409363,-0.6032572984695435) * FEATURE4_texOff(vec2(1,0)); -res += mat4(-0.4129971563816071,-0.0148138366639614,0.0773900002241135,-0.3664886355400085,0.7110533118247986,-0.3235684633255005,0.0094040073454380,-0.0542590022087097,-0.1800988018512726,-0.1026054248213768,0.2341964095830917,0.2807213664054871,-0.3103989362716675,-0.6431574821472168,-0.2740025222301483,-0.3599634468555450) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.1131857261061668,-0.3137154579162598,0.3429902195930481,-0.2737554609775543,1.2133983373641968,-0.1039248928427696,-0.0803684666752815,0.0061881896108389,-0.0924719199538231,0.1144402697682381,-0.2670459151268005,-0.1642477959394455,-0.4046771526336670,-0.1048694700002670,-0.0008883008267730,0.0014021961251274) * FEATURE2_texOff(vec2(1,1)); -res += mat4(0.1959314346313477,0.0085384212434292,-0.0705676227807999,0.2818849384784698,-0.2752107381820679,0.1570400297641754,0.2566027343273163,0.1972118318080902,0.9400491714477539,-0.2308340966701508,0.0559823065996170,0.0408312715590000,0.3904103934764862,-0.5421842932701111,-0.1970631629228592,-0.1138259097933769) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-1.2016843557357788,0.0032943340484053,0.1414308100938797,-0.3150011897087097,-0.5170863270759583,0.1909369528293610,0.1779014021158218,0.0504081510007381,0.1417503207921982,-0.2203383594751358,-0.0287875495851040,-0.0217010006308556,-0.7724525332450867,-0.0255299452692270,0.0156590901315212,-0.1772062629461288) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.0190296284854412,0.0706401318311691,0.7972527742385864,0.0644450262188911) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_4 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!BIND FEATURE3 -//!BIND FEATURE4 -//!SAVE MODEL24 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.1087156683206558,-0.9075642228126526,-0.0346042588353157,0.1664762347936630); -res += mat4(0.2831370532512665,0.0058452812954783,-0.1289279460906982,0.2047349065542221,-0.4432878494262695,0.4621333479881287,0.4035988152027130,-0.2761998772621155,0.4163680672645569,0.0915144309401512,-0.0111864032223821,-0.4257704913616180,-0.1714486926794052,0.1755180656909943,-0.5092523097991943,0.4639800190925598) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.0974804461002350,-0.0661083459854126,0.2698374986648560,0.4155388474464417,-0.0774852782487869,0.0143058374524117,0.2624184489250183,0.3015262186527252,0.0072107692249119,-0.0115862442180514,-0.1178141161799431,-0.0702119544148445,0.0091381752863526,-0.0762502029538155,-0.0035026811528951,-0.0673689618706703) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(-0.0683186650276184,0.0347410701215267,0.0645584538578987,0.5791540145874023,-0.2505789697170258,0.0295746494084597,0.2193876951932907,-0.2011970281600952,-0.3917951285839081,0.3113734424114227,0.2716041803359985,-0.3423127830028534,-0.2599830925464630,0.2731236815452576,0.1352142393589020,-0.6103169322013855) * FEATURE3_texOff(vec2(-1,-1)); -res += mat4(0.1382907032966614,0.1567241251468658,-0.2623529136180878,0.2330288439989090,0.1026417240500450,0.1336921900510788,-0.0960267484188080,-0.4534229338169098,0.2093876749277115,-0.3144259452819824,-0.0117062618955970,0.2396877259016037,-0.0440586656332016,-0.3048300743103027,0.2870889604091644,0.7035214900970459) * FEATURE4_texOff(vec2(-1,-1)); -res += mat4(-0.1377581655979156,0.0860724225640297,-0.7544308900833130,-0.7329372763633728,0.0180966202169657,-0.3518326580524445,0.3025939762592316,0.1215278208255768,0.2151169478893280,0.1350875347852707,-0.6827735304832458,0.5395355224609375,-0.0290531590580940,-0.1038386523723602,-0.2184213846921921,-0.9552698135375977) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.0563997998833656,-0.2057088613510132,0.1763602644205093,0.8703269958496094,-0.0177724920213223,0.3830640614032745,-0.0683283954858780,0.6795098781585693,0.2762976884841919,0.1239195168018341,-0.4393113255500793,-0.2310952693223953,0.0125381853431463,0.1744433194398880,0.1020421013236046,-0.2529702782630920) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(0.2566922307014465,0.4717541038990021,-0.2663963735103607,-0.2526082992553711,-0.1143780574202538,0.2739281058311462,0.0537307523190975,0.3152118325233459,0.3445367217063904,-0.0012370349140838,0.1016864702105522,-0.2253527641296387,-0.0035550640895963,-0.4149434268474579,-0.2514138221740723,0.0322588421404362) * FEATURE3_texOff(vec2(-1,0)); -res += mat4(-0.2215952426195145,-0.0110388817265630,-0.2461408078670502,-0.4067878723144531,-0.5773093104362488,0.5065827965736389,-0.6598036289215088,-0.0595017410814762,0.4899374246597290,0.2303059250116348,-0.4807002842426300,0.7196635603904724,0.4076787829399109,-0.0242379792034626,-0.1136177778244019,-0.1848805695772171) * FEATURE4_texOff(vec2(-1,0)); -res += mat4(-0.0076391175389290,-0.2041926831007004,0.7404879927635193,0.0289287958294153,0.0456222109496593,0.0330134965479374,0.3433131873607635,-0.0810455009341240,-0.1985356509685516,-0.5179297924041748,0.4881610572338104,0.0078276675194502,0.0087746055796742,-0.1056760698556900,0.2095190286636353,0.7285584807395935) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.1195456460118294,0.0032121676485986,-0.5120199918746948,-0.5298866033554077,-0.0995549932122231,0.1369630396366119,-0.1829387843608856,0.2486933171749115,-0.0488051250576973,0.2010894566774368,0.2991284132003784,-0.0388986207544804,-0.0002756736357696,-0.1491157859563828,-0.0484132729470730,-0.1802987605333328) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.0290505327284336,-0.5906178951263428,0.4409755766391754,0.0070458007976413,0.0482775717973709,0.2681422531604767,-0.1142541691660881,-0.3494954705238342,-0.1452796012163162,-0.1575714498758316,-0.2524724602699280,-0.1038879528641701,0.0732139572501183,0.2315133512020111,0.1530150920152664,0.0840636864304543) * FEATURE3_texOff(vec2(-1,1)); -res += mat4(-0.0325694419443607,-0.2112122029066086,0.2012213468551636,0.2090254873037338,0.1002777218818665,0.0359562151134014,0.2956393063068390,-0.0423515550792217,-0.1421563923358917,-0.2423527091741562,0.0935527235269547,0.3131506443023682,-0.0729856491088867,0.0598148182034492,-0.4247841238975525,-0.8078673481941223) * FEATURE4_texOff(vec2(-1,1)); -res += mat4(-0.2672279477119446,0.0677437037229538,-0.3512685596942902,-0.1972570568323135,0.0390892066061497,0.0446520186960697,-0.0022914779838175,0.3543418049812317,-0.4907896816730499,-0.3693255484104156,-0.0339384861290455,0.0572401657700539,0.3714402318000793,0.0966239944100380,-0.2475168853998184,0.5476519465446472) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(-0.8543110489845276,-0.0671872422099113,-0.0705442354083061,0.1570529192686081,0.0825821384787560,0.2611544132232666,-0.1222487613558769,0.1643241792917252,0.1565754264593124,-0.0417577736079693,0.2425020486116409,0.1290563046932220,0.0018513374961913,0.0828469917178154,0.0405366159975529,-0.0648405849933624) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(0.6323528885841370,0.2739350795745850,-0.2666106224060059,-0.7200468182563782,-0.1899063885211945,-0.6205863952636719,0.0421243421733379,0.3463516235351562,0.1843721121549606,-0.2456515282392502,0.4096761643886566,-0.2125853598117828,0.3226993083953857,-0.1005071029067039,-0.4462574124336243,0.1020871326327324) * FEATURE3_texOff(vec2(0,-1)); -res += mat4(-0.2349889576435089,-0.0292534027248621,-0.0411632061004639,0.4069747030735016,-0.3070210218429565,-0.4162268042564392,0.4625560045242310,0.5024183392524719,-0.5629498958587646,0.1867086291313171,0.3565312922000885,-0.1979124397039413,-0.2834521234035492,0.2735725045204163,0.3703005015850067,-0.0476065389811993) * FEATURE4_texOff(vec2(0,-1)); -res += mat4(-0.1110515445470810,-0.0889210999011993,0.5447590947151184,0.5599544644355774,0.0503268949687481,0.5344191193580627,-0.8062646985054016,-0.0667447745800018,-0.6623851656913757,-0.5459131598472595,1.5236161947250366,-0.0879496559500694,-0.0745205506682396,-0.0589255765080452,1.3849964141845703,-0.6337348222732544) * FEATURE1_texOff(vec2(0,0)); -res += mat4(-1.5323712825775146,-0.0780734047293663,0.6519567370414734,0.3739070892333984,0.3757006227970123,0.9047968387603760,-0.0571847669780254,0.4038882553577423,-0.1069322824478149,-0.2172508686780930,0.5056326389312744,1.2829581499099731,-0.1444370597600937,0.5224547386169434,-0.0722906515002251,0.0795549526810646) * FEATURE2_texOff(vec2(0,0)); -res += mat4(-0.6640521883964539,0.5300254225730896,-0.0877570062875748,0.4579716026782990,0.8427389264106750,0.1519258320331573,-0.4424907565116882,-1.1069610118865967,-0.5535061359405518,0.0053214239887893,-0.7151303887367249,-0.4114071726799011,-0.5903876423835754,0.1780086755752563,0.5006626248359680,-1.5713576078414917) * FEATURE3_texOff(vec2(0,0)); -res += mat4(-0.9901613593101501,0.5854467749595642,-0.4626945555210114,-1.4144535064697266,0.4928303956985474,-0.5428397655487061,0.2632802724838257,0.3861836194992065,1.4645655155181885,0.8884012699127197,-0.5033279061317444,-0.3723740577697754,-0.2988887429237366,0.2345651835203171,-0.5706858038902283,0.6728245615959167) * FEATURE4_texOff(vec2(0,0)); -res += mat4(0.3330448865890503,-0.0112070143222809,0.0356724001467228,-0.6474183797836304,0.0812799334526062,0.0869863256812096,-0.3065863847732544,0.4735077917575836,-0.0033763803075999,0.0593322105705738,-0.6203757524490356,-0.5629683732986450,-0.0974204465746880,0.4720092117786407,0.0359686203300953,0.0232102889567614) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.0082539124414325,0.3939676284790039,-0.0776229128241539,-0.2679301202297211,0.0027645381633192,-0.0417950749397278,0.0923903882503510,0.1083738878369331,0.0481295213103294,-0.0261830873787403,-0.1667288690805435,-0.3122136890888214,-0.0156238935887814,0.0977522209286690,0.0455260388553143,0.1199765577912331) * FEATURE2_texOff(vec2(0,1)); -res += mat4(0.0047927461564541,-0.2047413140535355,0.1119864657521248,-0.0603350065648556,-0.2410678416490555,-0.0583524815738201,0.5357083678245544,0.2207382619380951,0.0469230078160763,0.5270653963088989,-0.1780998557806015,-0.1674558818340302,0.1456317305564880,-0.0401461794972420,0.0933937430381775,0.6531956195831299) * FEATURE3_texOff(vec2(0,1)); -res += mat4(0.0811188220977783,0.1855691522359848,0.5768072009086609,0.6195318102836609,-0.1750047355890274,-0.0456597469747066,0.0544740520417690,0.0523158796131611,-0.1887115687131882,-0.0920856148004532,0.2902313172817230,0.1041692793369293,0.1448101103305817,-0.2443434298038483,0.0036924448795617,-0.2103126198053360) * FEATURE4_texOff(vec2(0,1)); -res += mat4(0.2381375432014465,0.0663627311587334,0.2335012406110764,-0.4627820551395416,0.0784997120499611,-0.0597434937953949,-0.4166316390037537,0.0074965548701584,0.3907958269119263,0.1916564106941223,-0.2059002667665482,0.4835616052150726,-0.1457022279500961,-0.1120766475796700,0.2817732691764832,-0.2332912832498550) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(0.0222312137484550,-0.0120648341253400,-0.0721819549798965,0.3582895100116730,0.0691022127866745,0.1871034353971481,-0.2465584874153137,0.0685276314616203,-0.2311962693929672,0.1878426522016525,0.2817679941654205,-0.4235020875930786,0.0142014203593135,-0.0222091376781464,-0.0658412203192711,-0.0145346689969301) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.3453203439712524,-0.2888496816158295,0.0926567688584328,-0.2852761745452881,0.1101823970675468,0.1956752538681030,-0.2150241434574127,0.1415577530860901,0.0338111296296120,0.2003097236156464,-0.4137915968894958,0.1386701911687851,0.1041650995612144,-0.2015049159526825,0.0317280702292919,-0.1441253572702408) * FEATURE3_texOff(vec2(1,-1)); -res += mat4(0.1853863447904587,-0.0027557848952711,0.3130645453929901,-0.2007332146167755,0.1552875041961670,0.2765832543373108,-0.0549829043447971,-0.4224346280097961,0.0121838003396988,-0.3931493163108826,-0.0699725449085236,-0.3622962236404419,0.0923926681280136,-0.0462332814931870,-0.5720705389976501,-0.5957081913948059) * FEATURE4_texOff(vec2(1,-1)); -res += mat4(-0.1048749312758446,0.3038594424724579,0.0877718999981880,-0.5723592638969421,0.1507204025983810,-0.2664858698844910,0.4885557293891907,-0.0462419800460339,-0.1107062175869942,-0.0146323684602976,0.0514640919864178,-0.4875652790069580,0.0883469134569168,-0.2287716269493103,-0.0465135686099529,0.2910905480384827) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.0466432012617588,0.0349049381911755,0.1494108885526657,0.1739636659622192,0.0478214323520660,0.2432070374488831,-0.0177862383425236,-0.0793354362249374,-0.1829998195171356,0.1144796311855316,0.0297554768621922,0.2117564082145691,-0.0676111206412315,-0.0684614256024361,0.1142124012112617,-0.0069754370488226) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.1866484284400940,-0.1311591118574142,-0.0755611211061478,-0.1545641869306564,-0.1843944787979126,-0.3941308557987213,0.1287009268999100,-0.5104728937149048,0.0809461697936058,-0.0393850989639759,0.5790613889694214,0.1231456026434898,0.2869783937931061,-0.0183582436293364,-0.0692270994186401,0.2544916272163391) * FEATURE3_texOff(vec2(1,0)); -res += mat4(-0.0310170222073793,0.4162579774856567,-0.1859597861766815,-0.5479277968406677,0.3031933009624481,-0.0237672720104456,-0.2337787002325058,-0.4088483750820160,0.3291740715503693,0.3458972871303558,0.2511204481124878,-0.0650157034397125,-0.0741363167762756,0.0105352764949203,0.7500665187835693,-0.0325997248291969) * FEATURE4_texOff(vec2(1,0)); -res += mat4(-0.0696199908852577,-0.0312602259218693,-0.3989183604717255,0.0745669603347778,-0.0644938871264458,-0.2105388045310974,-0.0457618758082390,0.1598308533430099,0.0451122224330902,-0.0662788227200508,-0.2538039088249207,0.5548169016838074,0.0271571110934019,-0.0747818723320961,-0.8167809247970581,-0.5255750417709351) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.0454585738480091,0.0796022489666939,0.0746575891971588,-0.2704296708106995,0.0789716318249702,-0.1085990220308304,0.0633433163166046,0.0348055623471737,-0.0633753612637520,0.0536539033055305,-0.4138174951076508,0.0117621375247836,0.0342889316380024,0.0145183121785522,-0.0361714251339436,0.0064807245507836) * FEATURE2_texOff(vec2(1,1)); -res += mat4(-0.0557610355317593,-0.2160326540470123,-0.0119402194395661,0.0404285416007042,0.0745694935321808,-0.0587787367403507,-0.2089506536722183,0.3658298552036285,0.0678608715534210,-0.1341597437858582,0.0637727901339531,-0.5492725968360901,-0.0415159165859222,0.1558386832475662,-0.1377484798431396,0.0551406964659691) * FEATURE3_texOff(vec2(1,1)); -res += mat4(-0.0351044386625290,-0.3134496510028839,-0.0776799321174622,-0.5582964420318604,-0.1094810813665390,-0.2420932352542877,0.0866121128201485,-0.0139054777100682,-0.0232693497091532,-0.0878517329692841,-0.1818398535251617,-0.1748342961072922,0.0291870851069689,-0.0635103136301041,0.2051592320203781,0.2843922674655914) * FEATURE4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.8224552273750305,0.0907779783010483,-0.8194684386253357,0.7123059630393982) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.1821142584085464,0.2680435180664062,0.0072256801649928,-0.1534767448902130); -res += mat4(0.1567186117172241,0.1995420008897781,0.3876445293426514,-0.0657437443733215,-0.2419036328792572,-0.0437269136309624,-0.2063243538141251,-0.0750159919261932,0.7670885920524597,0.0008573648519814,-0.1210522502660751,0.0726916193962097,0.1269507706165314,0.0502357371151447,-0.0651772618293762,0.0675387755036354) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-1.3524439334869385,0.3195005059242249,0.1917120516300201,0.1658273935317993,0.0782139450311661,0.0182677172124386,0.0383682511746883,-0.0341160148382187,0.0195416361093521,0.1128480508923531,-0.1998605728149414,0.2079982757568359,-0.2893924117088318,0.0977299958467484,-0.2218614667654037,-0.0945199429988861) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0076252417638898,-0.0967269837856293,0.3000745773315430,0.4004792869091034,-0.0856744647026062,0.0516689606010914,-0.0221493914723396,0.0029376018792391,0.4413319826126099,0.0865859538316727,-0.1825978457927704,0.1487386226654053,-0.3030017316341400,0.1085127368569374,-0.0123953092843294,-0.1547867208719254) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.8065760731697083,-0.0367696434259415,0.0877586156129837,-0.0537286400794983,-0.0701612755656242,-0.1005082055926323,0.0130320955067873,0.1380047053098679,0.1492499262094498,-0.1195761263370514,-0.1748647242784500,0.1239927485585213,-0.4883742034435272,0.0717922672629356,0.0781278908252716,-0.0129398517310619) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.0333379022777081,-0.2495142370462418,-0.2084558606147766,0.0531433485448360,0.0851450264453888,-0.2658228576183319,0.1058013588190079,-0.4307983219623566,0.1927942186594009,0.2174018770456314,0.0456488057971001,0.3917725980281830,0.8125612139701843,0.3295940160751343,-0.4563819169998169,-0.0668170005083084) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.1991187632083893,-0.0398979596793652,-0.1471599936485291,-0.1525022089481354,0.2197243869304657,-0.0161120090633631,-0.0291145816445351,-0.0731005445122719,0.4118004143238068,-0.1268711835145950,0.1246666610240936,0.0325524769723415,-0.4228635430335999,0.0653037428855896,0.9307349920272827,-0.3417280912399292) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0911106318235397,-0.1293365806341171,0.2490556836128235,-0.2674607336521149,-0.2140632718801498,-0.0961873531341553,-0.0138489585369825,0.1502670645713806,0.2489348948001862,-0.1887987405061722,0.2666619420051575,-0.1154452785849571,0.0820531323552132,-0.0129997190088034,0.0963720157742500,-0.0252925604581833) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-1.3609907627105713,-0.0742893442511559,-0.0125409606844187,-0.0056720492430031,0.0778579562902451,0.0618307478725910,0.1911646276712418,0.0333926491439342,0.6612700819969177,-0.0953298956155777,-0.2552929818630219,0.1396622061729431,-0.1745201647281647,0.0346113406121731,0.1850840449333191,0.0185419023036957) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.3591235578060150,0.2359590530395508,-0.2886492311954498,0.0527037158608437,-0.1544393002986908,0.0854820013046265,0.1401815116405487,-0.1968982666730881,-0.1077311411499977,-0.0662739872932434,0.0243663974106312,-0.0608084313571453,-0.1768577247858047,0.0570018291473389,0.2061744332313538,0.0576052591204643) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0572265945374966,-0.0552289001643658,0.1011031270027161,0.1035296767950058,-0.0300345961004496,-0.1117853671312332,-0.0263337921351194,0.0094234542921185,0.1769479662179947,-0.0179979670792818,0.1946553289890289,-0.0712494775652885,-0.2151643931865692,-0.0934141129255295,-0.4591092169284821,0.1333216726779938) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0737016946077347,-0.1227276995778084,-0.1683048903942108,-0.0236847456544638,0.1358708888292313,0.0047147679142654,-0.0391176939010620,-0.1973716020584106,0.0702386870980263,0.0448955483734608,-0.0558337457478046,-0.0901165679097176,-0.2186353653669357,0.0084573915228248,0.0841164141893387,0.0704563483595848) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.0492553226649761,-0.0671901404857635,0.0388167165219784,-0.0680868476629257,0.1270323693752289,-0.0159644298255444,-0.1079521402716637,0.0222510322928429,0.3358281254768372,-0.1708553582429886,-0.1252177208662033,0.0763640031218529,0.1933518797159195,-0.0705295801162720,-0.3656790852546692,-0.0959990024566650) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.1263016015291214,0.0133211184293032,0.0842036530375481,0.0142416367307305,-0.1877359002828598,-0.3686734437942505,-0.0018322402611375,0.1556163281202316,-0.2742095887660980,0.1279869675636292,0.1694325655698776,-0.0867729112505913,0.0498056113719940,0.1580689102411270,-0.1015132665634155,-0.1334203332662582) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.3412644565105438,0.3071808218955994,0.1298775672912598,-0.0151394074782729,-0.1365107297897339,0.0794544816017151,-0.0338835604488850,-0.1141469553112984,0.0488405674695969,-0.1304851919412613,-0.0011596791446209,-0.0413838326931000,-0.1392471194267273,-0.3956683278083801,0.4911434948444366,0.0361462570726871) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.2449082285165787,-0.4345789253711700,0.4849193692207336,0.8864058256149292,-0.2164106816053391,-0.0341735631227493,0.1066467314958572,0.1131146848201752,0.0052013010717928,-0.6583964228630066,0.2482749819755554,-0.2270440012216568,-0.4508041441440582,0.0308938957750797,-0.1488518714904785,-0.3525811433792114) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-1.1301820278167725,-0.1139227300882339,-0.0902033075690269,-0.0815369635820389,-0.6447158455848694,0.0044209216721356,0.3049816191196442,-0.1885408312082291,0.2548591196537018,-0.1266584843397141,-0.1311751753091812,0.4100277423858643,0.5975887179374695,0.0288057103753090,-1.0636798143386841,0.0248462166637182) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.2010120749473572,-1.2808847427368164,-0.7578352689743042,0.1681615263223648,-0.1318595111370087,0.2353363186120987,0.0309769660234451,-0.1553873419761658,0.4740163087844849,0.1202724725008011,-0.1335061937570572,-0.1300238966941833,0.5667089819908142,-1.3050092458724976,0.3937561810016632,0.0676776319742203) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.0423373468220234,0.1925407946109772,0.2199071794748306,0.3929440677165985,-0.2842360734939575,-0.0180727411061525,0.1322070807218552,-0.2691322863101959,0.2204505503177643,-0.2613276541233063,0.2861527800559998,0.0240724403411150,0.0266265962272882,-0.0488316640257835,-1.1076385974884033,-0.8230466842651367) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.1157649457454681,-0.5262610912322998,-0.4589408934116364,-0.3231031000614166,-0.1873793303966522,0.1040373072028160,-0.0043132947757840,-0.2475142627954483,-0.4760713875293732,1.0741505622863770,0.3271216154098511,0.3974502682685852,-1.2799012660980225,-0.1491752415895462,-0.0626190677285194,0.3458690643310547) * MODEL23_texOff(vec2(0,0)); -res += mat4(-1.7880072593688965,-0.2957656979560852,0.2039281576871872,0.8241132497787476,0.4561480879783630,-0.1978895813226700,-0.2962991297245026,-0.4750007390975952,0.2250721603631973,-0.2444366663694382,-0.1919652819633484,0.3538269996643066,-0.2579703032970428,-0.0596731863915920,0.4506496787071228,-0.0758553668856621) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.2363123893737793,-0.2024950683116913,0.4612375795841217,0.0570622235536575,0.0881865248084068,-0.0166694410145283,0.2792043387889862,0.4196121394634247,-0.1977110058069229,-0.2585518658161163,-0.1096482425928116,-0.1421143114566803,-0.3357407450675964,0.4351834952831268,0.0629108995199203,0.0411290898919106) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0054646912030876,-0.0600186586380005,0.0738468095660210,0.1228874176740646,0.2729446589946747,0.1031413972377777,-0.0801865309476852,-0.0856407806277275,0.1911747008562088,0.1428168565034866,0.0383216328918934,-0.0306113492697477,0.3450233936309814,0.0242073778063059,-0.1353743970394135,0.2545643746852875) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.1516852378845215,0.1281777173280716,0.0495800264179707,0.0709310695528984,0.4112361371517181,-0.1296079009771347,-0.0835521146655083,-0.0831478238105774,0.3761658966541290,-0.0807763114571571,-0.3550937175750732,0.1545328646898270,-0.1909658759832382,0.3049871027469635,-0.2306296229362488,0.5257671475410461) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.5683341622352600,-0.2224640548229218,-0.1304718255996704,-0.3179947435855865,-0.2497202455997467,0.0933883860707283,-0.0180351864546537,0.3762677609920502,0.4063305258750916,-0.1836601644754410,-0.1099256500601768,0.1693253517150879,0.0693730935454369,-0.1310130953788757,0.5590953826904297,-0.0960289835929871) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0448128581047058,0.0955501049757004,-0.0131698353216052,-0.0220590531826019,-0.1163260191679001,-0.1044962033629417,0.2927580773830414,0.0900845080614090,-0.0908898562192917,-0.0140993846580386,-0.1200544610619545,0.0472135804593563,-0.2083983272314072,0.0617266818881035,-0.1182451546192169,0.0665644034743309) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.0803786739706993,0.0827859640121460,0.0072462079115212,-0.2093681544065475,-0.1504998654127121,0.1586733907461166,0.0233440455049276,-0.0907380953431129,0.2275118231773376,-0.0361422561109066,-0.1722713708877563,0.0016444522188976,-0.0094037437811494,-0.0401315316557884,0.1533747762441635,0.2347405254840851) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.0795541778206825,-0.0415713526308537,-0.5099042057991028,-0.0149333784356713,-0.2474434971809387,-0.0654927119612694,-0.0335343852639198,0.1252077370882034,-0.1952859163284302,0.1456465572118759,-0.0701137110590935,0.0986037403345108,-0.2069234102964401,-0.1180571690201759,-0.0970456451177597,-0.1523316949605942) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.2704406976699829,-0.1032495945692062,0.0287192743271589,-0.1506863534450531,-0.0400577299296856,0.2502267658710480,-0.0014179557329044,-0.1011240780353546,0.0739094018936157,-0.1213546693325043,-0.1125583201646805,0.3609499037265778,-0.3276679813861847,0.1689044237136841,0.2304164320230484,-0.0001931495644385) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.1978055983781815,0.1357314586639404,0.1586758643388748,-0.0945459157228470,-0.4273775219917297,0.2047612667083740,0.0722427740693092,-0.3048678040504456,0.6182712316513062,-0.1360633820295334,-0.0148682333528996,-0.0552632026374340,0.0355981625616550,0.0679149776697159,0.4708693623542786,-0.0924237072467804) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1895539909601212,0.0620631873607635,0.1083511039614677,0.0031299949623644,0.0098341582342982,0.1454111188650131,-0.0994552299380302,0.2133522182703018,0.4204807877540588,0.1561957448720932,0.0839771330356598,0.0947130024433136,-0.2763549685478210,0.4134998917579651,-0.3971848785877228,-0.0562333762645721) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.1201812475919724,-0.0794004648923874,0.2589171230792999,-0.2570854723453522,-0.0500254817306995,-0.1267163306474686,0.0093950657173991,0.2073075473308563,-0.1715992838144302,-0.5256302356719971,-0.0471544377505779,-0.2598889470100403,0.3023664951324463,-0.3980978429317474,0.1450010985136032,-0.1947911083698273) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.6694424748420715,-0.0984072983264923,-0.0158487502485514,-0.0387963205575943,-0.0327408984303474,-0.1224467456340790,-0.2588094174861908,-0.4945738017559052,-0.0965986251831055,-0.2402145564556122,-0.1900290995836258,0.4495627582073212,0.3433674573898315,0.1855849176645279,0.2503889203071594,0.2258707880973816) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.1427439004182816,0.0232400503009558,0.0614709183573723,-0.0313369631767273,-0.2033404409885406,0.1010737940669060,-0.3053102195262909,-0.1093115955591202,0.1278154850006104,0.0462433546781540,0.2780232727527618,0.1207928806543350,-0.0630893185734749,0.1609147638082504,-0.3244910240173340,0.0420972406864166) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.0540682710707188,0.0489707849919796,0.1434160768985748,-0.0263705123215914,0.3189105987548828,-0.0194563362747431,-0.0015234283637255,-0.1185838729143143,-0.1406057775020599,-0.0664507374167442,0.1184594258666039,0.0576133131980896,-0.0515225417912006,-0.1751619428396225,0.5659244060516357,-0.1315055191516876) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0292246416211128,-0.0583971366286278,0.0184998158365488,-0.0616783015429974,-0.1326405405998230,0.0737697705626488,0.0509051755070686,-0.1636607348918915,0.0829640030860901,0.0984901785850525,-0.0760249570012093,-0.0393353812396526,0.1848428100347519,0.0810922980308533,-0.0835731029510498,-0.1527970433235168) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.1098753735423088,-0.1152176111936569,-0.0297945626080036,-0.0429614298045635,0.3004037737846375,-0.0118061201646924,0.0696947872638702,0.2093984186649323,0.1215613707900047,-0.1341927945613861,-0.0733395144343376,0.1597006767988205,0.1582593768835068,-0.1383092254400253,-0.3920480310916901,0.0803317874670029) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0138328820466995,0.6884090304374695,-0.3778789639472961,0.0335069037973881) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1488664448261261,-0.3665277659893036,0.2105678319931030,0.2431615889072418); -res += mat4(-0.0209767278283834,-0.3804727494716644,0.0663711279630661,0.1559448540210724,-0.7823102474212646,0.0327561274170876,0.0540102683007717,-0.1310726553201675,0.1931789815425873,-0.1646288931369781,0.1219010725617409,0.0445458665490150,0.0016282304422930,0.0971931293606758,0.1857922673225403,-0.1043798327445984) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.4213770925998688,0.4195652604103088,-0.7362828254699707,-0.0048468001186848,0.0455092750489712,0.0810072496533394,0.0412613227963448,0.1747123897075653,-0.1279432028532028,-0.1154062822461128,-0.1147719696164131,-0.3269986212253571,-0.1911139041185379,0.0527008846402168,-0.0984842479228973,-0.1479913443326950) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.0879788175225258,-0.3954658508300781,0.2055625319480896,0.3015489578247070,0.1120360046625137,-0.1616907417774200,0.0821904093027115,-0.0118853077292442,-0.0370529182255268,0.0719115212559700,-0.1579851806163788,-0.3017398118972778,-0.0244198907166719,0.0105502773076296,-0.0938296243548393,0.0975423976778984) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0093844309449196,0.0437207221984863,0.0675221458077431,0.1927775293588638,0.2635573446750641,0.2475218921899796,0.0567236356437206,0.0603825785219669,0.1537563800811768,0.0857703611254692,0.2134899497032166,-0.4813969731330872,-0.1290699839591980,0.2495704889297485,0.2372044026851654,-0.0117452535778284) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.4083919525146484,0.1783591061830521,-0.0956984385848045,-0.2499091178178787,-1.7284232378005981,-0.4100556671619415,0.1243892982602119,0.0198476538062096,0.2060415297746658,-0.0525438860058784,-0.1886686235666275,-0.0174900069832802,-0.2235226035118103,-0.3373796939849854,-0.2612507343292236,-0.0146219292655587) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1432350128889084,0.5602362751960754,-0.5797067284584045,0.2074658870697021,0.0187970548868179,0.0178430322557688,0.0442645438015461,0.0339028500020504,-0.4133535623550415,-0.0538620986044407,0.0512013956904411,0.2325866669416428,0.0893165320158005,-0.3604934513568878,-0.1180035024881363,0.0262325238436460) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.2469130605459213,0.4839991331100464,0.2031589746475220,-0.2946717739105225,-0.1321040540933609,-0.2264211177825928,0.2053416073322296,0.0078430837020278,0.1857969164848328,-0.2007324248552322,0.0725167244672775,0.1926081627607346,0.2548782527446747,0.0827651545405388,0.2406112551689148,-0.0407047085464001) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.0828146636486053,0.0865400582551956,0.1932517141103745,0.2175391018390656,0.1142690703272820,0.1374290436506271,0.0615031346678734,-0.0207381490617990,0.1915358901023865,-0.0319920741021633,0.0051920590922236,-0.9361169934272766,0.0073183747008443,0.1199636980891228,-0.0483770743012428,-0.1557808965444565) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.0676551461219788,0.0048673334531486,-0.1837492138147354,0.4258618056774139,-0.5135343074798584,-0.3120350241661072,-0.0071885827928782,-0.0406319499015808,-0.2463573515415192,0.1431833654642105,0.1748166233301163,-0.0105671910569072,-0.0699452683329582,0.1292552053928375,-0.0014936180086806,0.0179299116134644) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.2675818502902985,0.2416653037071228,-0.2863791882991791,0.2014812082052231,0.0785021260380745,0.0527739636600018,0.0860331654548645,-0.0324266068637371,-0.1051566079258919,0.1046611443161964,-0.0194833986461163,-0.3063759803771973,-0.0681753531098366,-0.0490408688783646,0.2593856453895569,0.2360491454601288) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0276840645819902,-0.1336680799722672,0.0120388455688953,0.0228763688355684,-0.0438108332455158,-0.0796145349740982,-0.0109203783795238,-0.0991106778383255,0.0081140063703060,-0.1780876815319061,0.0395902618765831,0.3544999063014984,0.3345801234245300,0.2487742155790329,0.1700582355260849,0.2577689290046692) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0195066519081593,-0.0057190088555217,-0.0528206415474415,0.0456047132611275,0.2927095592021942,-0.0287597328424454,-0.0689215958118439,-0.0735881552100182,0.2405999749898911,0.0682441517710686,0.0884225219488144,-0.7075817584991455,-0.0792603269219398,0.0144493831321597,-0.0936887264251709,0.0407843478024006) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.2638292014598846,0.1321179270744324,-0.3282649219036102,0.1449954211711884,-0.1059715524315834,-0.4213337600231171,0.0888387262821198,0.0785648524761200,0.5093721151351929,0.2934474349021912,0.2116974741220474,0.1434847712516785,0.0233318489044905,0.0169317442923784,-0.3048302829265594,0.3552511930465698) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0006108223460615,-0.8525040149688721,0.2292312681674957,0.0670521706342697,0.1908545941114426,0.1113816425204277,0.0131995510309935,0.4049734771251678,-0.1704349219799042,-0.1992454230785370,0.1286296993494034,-0.4365665912628174,0.5170667171478271,-0.2130605578422546,-0.3376957476139069,0.2425667643547058) * MODEL22_texOff(vec2(0,-1)); -res += mat4(2.6007122993469238,-0.4045737981796265,0.2440708875656128,-0.6878179907798767,-0.1587067693471909,-0.0362795069813728,-0.2442864775657654,-0.1149008274078369,-0.0489179715514183,-0.0458397902548313,0.1453526914119720,0.3821898400783539,-0.2518219053745270,0.0271638035774231,0.1576943546533585,-0.0347718335688114) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.2895047068595886,-0.2282049357891083,0.2446162104606628,0.1061088964343071,0.0080963568761945,-0.0599781461060047,-0.3279895484447479,0.0812600925564766,0.1272254437208176,0.0560115240514278,-0.1846324354410172,-0.9808861017227173,-0.1482340842485428,0.8221842646598816,0.0221485923975706,0.0719476789236069) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.0339426398277283,0.5930976867675781,0.2564468383789062,0.1119002699851990,0.8898367881774902,-0.6156752109527588,0.1269108504056931,-0.2929377555847168,1.0610867738723755,-0.3349628746509552,-0.4281881153583527,0.0377563461661339,-0.2603005468845367,-0.3311541676521301,1.0532506704330444,-0.7641850113868713) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.2146379500627518,0.2676785290241241,-0.7391330599784851,0.1521523594856262,-0.2685771882534027,0.2021048963069916,0.0981994196772575,0.2597109377384186,-0.4331949949264526,0.3671139180660248,-0.1601590961217880,-0.2596710324287415,-0.1365760862827301,0.3456763625144958,0.0260859876871109,0.1499751359224319) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.4414543509483337,0.1875744611024857,-0.6906532049179077,0.1743199676275253,-0.6289122104644775,-0.4084732234477997,0.3361287415027618,-0.0457460992038250,0.5822556614875793,0.5126429796218872,0.3484890460968018,-1.2192883491516113,0.4538821578025818,-0.0073624793440104,-0.2771317660808563,-0.2402551472187042) * MODEL23_texOff(vec2(0,0)); -res += mat4(-1.3552881479263306,-0.0462988875806332,-0.9949124455451965,0.3322547674179077,-0.6281521320343018,-1.0690743923187256,0.0267870500683784,0.0392859280109406,0.3305831849575043,-0.0056408219970763,-0.1609006524085999,-1.7105754613876343,-0.3269245028495789,-1.0086795091629028,-0.4690948128700256,0.4611120522022247) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.2988446652889252,0.3127099275588989,0.0188631992787123,-0.1760921627283096,-0.1780847012996674,-0.4430866837501526,-0.2036319524049759,-0.1021577641367912,-0.8201317191123962,0.1630726456642151,-0.0020800509955734,0.0576628297567368,0.1705153137445450,-0.1894215494394302,0.0107206311076880,0.1925764083862305) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.2376920729875565,0.3652732074260712,-0.2681298553943634,-0.0732383355498314,0.1779675185680389,0.0073725385591388,0.1464152187108994,0.2233835905790329,-0.0569469146430492,-0.1233587786555290,0.0616926848888397,-0.1734538525342941,-0.0847201347351074,0.0654263123869896,-0.4428806006908417,-0.0111119458451867) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.1337117999792099,-0.0917584300041199,-0.3312341570854187,0.1923831552267075,-0.4488549530506134,0.0056631849147379,-0.1590194851160049,0.0815478563308716,0.1391742974519730,0.0849350765347481,0.2781904041767120,-0.0765718370676041,0.3601172864437103,-0.0282259564846754,-0.4200063049793243,0.0093057192862034) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.4692421853542328,-0.0067639327608049,-0.8812321424484253,0.1007703617215157,0.1055886894464493,-0.1098278909921646,-0.2009087353944778,-0.0958641320466995,0.2970055639743805,0.0348862037062645,0.0272636990994215,-0.9529185891151428,0.1262121647596359,0.1741883754730225,0.0202931892126799,-0.2663290202617645) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.1469807624816895,0.1303935497999191,0.0896321758627892,-0.2362475395202637,0.0948089957237244,-0.0777317211031914,0.2014655768871307,-0.2769223749637604,0.0730939731001854,0.0609405860304832,0.1171776428818703,0.0423140898346901,0.1374751031398773,0.0574923083186150,-0.1033022776246071,-0.0672734901309013) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.3127930760383606,0.0793014988303185,-0.0861674025654793,-0.1551166921854019,-0.0192798860371113,-0.1602066755294800,0.3099381327629089,0.3853404819965363,0.0630520731210709,-0.2478599399328232,0.1548751145601273,0.1398821473121643,-0.0075504593551159,-0.3303685188293457,0.0874341651797295,-0.5678073763847351) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.8626602888107300,0.6299208402633667,0.3481609225273132,-0.3566454052925110,0.2352108210325241,0.0871835052967072,-0.1579112708568573,-0.1360978931188583,-0.0546774789690971,0.0105291418731213,0.1289151459932327,-0.2137751281261444,-0.5862585902214050,-0.1872048676013947,0.1039593741297722,-0.1749892830848694) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0250483658164740,0.0839775055646896,-0.0152837857604027,0.0708492994308472,0.0369295068085194,0.1913179159164429,0.0859351307153702,0.2727108597755432,0.2288390547037125,0.0523356795310974,0.0111408699303865,-0.8543776273727417,0.1787012219429016,0.0148324538022280,-0.0245518311858177,0.1681433320045471) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.0239319372922182,-0.4354290962219238,-0.2683517038822174,-0.1997521072626114,0.4122439026832581,0.1550730317831039,-0.3221629261970520,-0.1298160254955292,0.0950022935867310,0.2507815361022949,-0.0881524011492729,-0.0639841631054878,0.2319356501102448,-0.6966038346290588,-0.0397054664790630,0.4412520229816437) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1208788603544235,-0.0198400486260653,0.0076595889404416,0.2348303049802780,-1.1361124515533447,-0.4350675642490387,0.0239142440259457,0.3064677715301514,-0.3484390974044800,-0.5301837325096130,0.1611283421516418,0.2733446359634399,-0.2087745666503906,-0.0077716144733131,-0.3304704725742340,0.0962273627519608) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0936548337340355,-0.0465661548078060,-0.5533027648925781,0.0699570327997208,-0.4536454379558563,-0.2327289283275604,-0.0652478486299515,0.0300565119832754,-0.2186639010906219,-0.0268815066665411,-0.1598256528377533,0.1521155685186386,0.0351926349103451,0.0382955521345139,-0.0934746935963631,-0.0356465578079224) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.5175559520721436,-0.2126751840114594,-0.8077430129051208,0.1647069752216339,-0.6812220811843872,0.4328734874725342,0.1401884406805038,-0.0622220039367676,0.1508309245109558,0.1850917786359787,-0.3344543278217316,-1.2550662755966187,0.1219360232353210,0.0785530507564545,0.3424720764160156,0.1394288837909698) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.1494058966636658,-0.0262660067528486,0.1069759577512741,-0.1044483631849289,0.1752733886241913,-0.1177315935492516,-0.1014335229992867,0.0606800317764282,-0.1761364489793777,-0.2150237411260605,-0.0211684145033360,-0.0490109845995903,0.0894560739398003,0.1764076948165894,0.0660840347409248,-0.2252688407897949) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.1909719705581665,0.2775556147098541,0.0468198619782925,0.1209030076861382,0.2390864342451096,0.0357237868010998,0.0170792061835527,0.3361988067626953,0.0989573746919632,-0.0619680508971214,-0.0968791320919991,0.2800474464893341,0.1319000422954559,-0.1231441274285316,0.0501711182296276,0.0618691183626652) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.1873787045478821,-0.2900189459323883,-0.1443230956792831,-0.0696712806820869,0.0206835996359587,0.1998709142208099,-0.2105196118354797,0.1657706499099731,0.0755774602293968,-0.0921563357114792,-0.0388352870941162,0.0177477933466434,-0.0317857898771763,-0.0110247610136867,0.4244059026241302,-0.2647388577461243) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0794162675738335,-0.0399710051715374,-0.6511958837509155,0.0573051460087299,-0.2584303915500641,-0.1717665195465088,-0.0519161112606525,-0.2069894224405289,0.0579880736768246,-0.0119817890226841,-0.0570329166948795,-0.8578505516052246,0.4742889106273651,0.0761649161577225,-0.0809451341629028,0.2192245572805405) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0941418558359146,0.3569962680339813,0.1796773225069046,0.1741173118352890) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_3 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0066682859323919,0.1202210560441017,0.3046946525573730,0.2505163252353668); -res += mat4(0.0290132965892553,-0.0188452024012804,-0.1533977836370468,-0.1067951619625092,0.1700883209705353,0.0818259268999100,0.0889855772256851,-0.1758281886577606,-0.0270557105541229,-0.1933409571647644,-0.1522650718688965,-0.0245281904935837,-0.0318037793040276,0.0060473526827991,-0.0713956132531166,-0.0529519394040108) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.1215844452381134,-0.1604707986116409,-0.2217374145984650,0.4647205770015717,0.0720433965325356,0.0238498337566853,0.2154294699430466,-0.8106933832168579,-0.0166082810610533,0.0123423933982849,0.2943998873233795,0.2643729746341705,0.2178313732147217,-0.1877526938915253,-0.1607087999582291,0.0817975848913193) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0348120294511318,-0.1505140215158463,0.0392659530043602,-0.0591855719685555,-0.0842739567160606,-0.0755315199494362,-0.0566308349370956,0.1370046138763428,-0.0768655911087990,0.0127081945538521,0.0006222645752132,0.0295355357229710,0.0345451831817627,-0.0244563166052103,-0.0628556981682777,-0.2384018152952194) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.0132616572082043,-0.0431224741041660,0.1906826943159103,0.1017528772354126,0.0688100457191467,-0.0935687795281410,0.3243868649005890,-0.0203835107386112,0.0052955681458116,0.0479177162051201,0.1202547252178192,-0.1763626188039780,-0.0186099298298359,0.0209609139710665,0.3737168312072754,-0.1119295731186867) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.5388159751892090,-0.2135659754276276,-0.2266898304224014,-0.2475482523441315,0.1198944225907326,-0.4396203756332397,-0.3164595961570740,-0.4326503574848175,0.1382073909044266,0.2324950248003006,0.3956564962863922,0.1629193872213364,0.2198685258626938,0.0606291443109512,-0.2473667860031128,0.1646345555782318) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.2376261204481125,-0.3529677093029022,-0.9142848849296570,0.1806028783321381,-0.1755564510822296,-0.1039216816425323,0.1525559425354004,-1.3849759101867676,-0.0138412853702903,-0.1475173383951187,-0.0225327052175999,-0.2495775520801544,-0.2196561694145203,-0.1701721996068954,0.5651873350143433,-0.1366901248693466) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.1812306195497513,0.2870511710643768,-0.8379774689674377,-0.3259818851947784,0.0109941521659493,0.0240284819155931,0.0813926085829735,-0.2351125031709671,-0.0976382493972778,-0.2823610603809357,-0.2308166474103928,0.2114551961421967,0.0991419255733490,-0.0750869885087013,-0.1149587109684944,0.1740831583738327) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.1131239160895348,-0.0061346525326371,-1.4211069345474243,-0.4551773071289062,-0.0855798870325089,-0.0124564077705145,-0.2818833887577057,-1.0334341526031494,-0.0967212393879890,0.1651065349578857,0.0023735912982374,0.1059542447328568,-0.0494578145444393,0.2192097008228302,-0.0975484251976013,0.0254097152501345) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.4793096184730530,-0.3400304615497589,0.0551011599600315,-0.3136283159255981,0.0980083495378494,0.0143072502687573,-0.0419476479291916,0.1841769665479660,-0.0337203964591026,0.0428854264318943,-0.1797774732112885,-0.0146793983876705,-0.1857822090387344,-0.0159035604447126,0.1136668846011162,-0.0135319530963898) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.1619209200143814,-0.3122106194496155,-0.1499443352222443,0.3182814419269562,0.1222203820943832,-0.1094487309455872,-0.1626464426517487,-0.2342467904090881,0.3386610448360443,0.2449438124895096,0.2991871237754822,0.6013329029083252,-0.0282594580203295,0.0483290478587151,-0.3856660127639771,0.0446886047720909) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0056901825591922,0.0512946397066116,-0.1859404593706131,0.1390966922044754,0.1050675287842751,0.1182925850152969,-0.0403152741491795,0.0605711564421654,0.1724978089332581,-0.0263700466603041,0.0577792413532734,-0.0812572687864304,-0.2954929471015930,0.0696404129266739,-0.1038054004311562,-0.1730726063251495) * MODEL23_texOff(vec2(-1,1)); -res += mat4(0.0609802417457104,0.3091067373752594,-1.2640422582626343,-0.0934868305921555,0.0553861148655415,0.1677501052618027,-0.1159948334097862,0.0338112302124500,-0.1220021098852158,-0.0119204642251134,0.4659876823425293,-0.1226724609732628,0.0620302595198154,0.0658627673983574,-0.1589452624320984,-0.1176110357046127) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.1108018830418587,-0.0295175444334745,0.1724258214235306,0.1165243387222290,-0.1271227449178696,-0.0690366327762604,0.0256086662411690,-0.0561957322061062,0.1214720308780670,-0.1521558165550232,-0.3580622076988220,-0.2178569287061691,-0.0343545377254486,-0.0489014983177185,-0.0935015529394150,-0.3787882030010223) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.2200368344783783,-0.0983062386512756,0.1177969723939896,0.2765811085700989,0.0608604773879051,-0.0291329734027386,0.3812954127788544,-1.2877732515335083,-0.1201128140091896,-0.3451268374919891,0.2535594403743744,0.5281679630279541,-0.4405971169471741,-0.1572794616222382,0.2344320267438889,0.0894578993320465) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.0361681021749973,0.5539910793304443,0.5104171037673950,0.3096115291118622,-0.0892805382609367,0.0291877482086420,0.0916282385587692,0.2968068122863770,0.0921689122915268,0.2749517261981964,-0.4967111945152283,-0.1605041027069092,0.0680588185787201,-0.1536256372928619,-0.4558827877044678,0.5897802114486694) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.0047689182683825,-0.2312191873788834,0.0009415594977327,0.2574448585510254,0.1399297416210175,-0.0306464172899723,0.4498404860496521,-0.2827948927879333,-0.0281588006764650,-0.0402123257517815,0.5185984373092651,0.3226799964904785,0.0689876750111580,0.1460169106721878,-0.5434475541114807,-0.5083435177803040) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.2525883018970490,0.1703216880559921,-0.4818914532661438,0.4096133112907410,-0.2682815790176392,0.3717361688613892,0.3698177039623260,0.2319176048040390,-0.0655022040009499,0.4077894985675812,0.2445998191833496,-0.0773120895028114,0.5059666633605957,0.8733859658241272,-0.4637008309364319,0.2281443625688553) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.0117727974429727,-0.3128577470779419,-0.2089310139417648,0.5525887012481689,-0.0280407276004553,-0.2635460495948792,-0.4444211721420288,-2.3140270709991455,0.1044904366135597,-0.4133822619915009,0.5928612947463989,-0.2180936783552170,1.1765084266662598,0.5144562721252441,0.4285456836223602,-0.4101267755031586) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.6317111849784851,-0.2674438357353210,-0.4763470888137817,0.2370125800371170,-0.3426514565944672,0.6665347814559937,-0.1387838274240494,0.2744057476520538,-0.4305954575538635,-0.4799051582813263,0.2968683242797852,-0.2656145393848419,-0.0720861256122589,-0.2917108535766602,-0.2012223005294800,0.4298218786716461) * MODEL23_texOff(vec2(0,0)); -res += mat4(0.7652570605278015,-0.4442400932312012,-1.9730776548385620,-0.4957124590873718,-0.4321589171886444,-0.1306711137294769,-0.3108777999877930,0.1393012106418610,-0.3097234070301056,-0.1121014952659607,-0.1184069886803627,0.0876741930842400,-0.2437544167041779,-1.0382152795791626,0.3805285692214966,0.3978357017040253) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.2273610830307007,-0.1658958941698074,-0.2111845761537552,-0.1289273947477341,0.2267702966928482,0.0840075314044952,-0.1557343006134033,-0.1759068369865417,0.3195409774780273,-0.2773442268371582,-0.3100412487983704,-0.1754461228847504,-0.3303289711475372,-0.3503413498401642,0.2393816858530045,-0.1590999513864517) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.3217451274394989,-0.1748124808073044,0.3970140218734741,0.2459747195243835,-0.1000586524605751,-0.0321493037045002,-0.3445504605770111,-0.4839210212230682,0.2975541353225708,0.2202562689781189,0.6160834431648254,0.2920646071434021,-0.3151476979255676,-0.1247873678803444,-0.4011890888214111,0.0199267379939556) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.1417886763811111,0.0123265227302909,-0.2584630250930786,-0.0164458341896534,0.3121669590473175,0.0723152831196785,-0.0524155721068382,0.0893669053912163,0.3630716502666473,0.7337093949317932,-0.4140587449073792,0.0647370442748070,-0.5781412720680237,0.7325563430786133,0.7431692481040955,-0.0231557507067919) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.0520879700779915,-0.0348345451056957,-1.5661777257919312,0.3947445154190063,0.1748250424861908,-0.1960754543542862,-0.2971701025962830,-0.0221235621720552,-0.1597236245870590,0.0704871267080307,0.0796882435679436,-0.1891844868659973,0.1158331558108330,0.0322225056588650,0.0540029183030128,-0.1276303082704544) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0334619022905827,0.0928742587566376,-0.1305006146430969,-0.0028848932124674,-0.0838772431015968,-0.0054304334335029,0.1435932815074921,0.1332150846719742,0.0396108888089657,0.0999704077839851,-0.0642382949590683,-0.1394932121038437,-0.0994569361209869,-0.1198409125208855,0.1582884788513184,0.2221760302782059) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.1408305019140244,-0.0921994820237160,0.2596518695354462,0.1239631921052933,0.0281823500990868,0.1066832020878792,-0.0844504386186600,-0.0636380910873413,0.0503867603838444,0.0480992868542671,0.2414136976003647,0.2044187188148499,-0.1391227096319199,0.0104366149753332,-0.0188095178455114,0.1703838258981705) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0029042097739875,-0.2371903955936432,0.3780680000782013,-0.5323799848556519,0.0140476590022445,-0.1495406031608582,0.2071592658758163,-0.0084102991968393,-0.2589507997035980,-0.0764100030064583,-0.0055115716531873,-0.0274913627654314,-0.0275828577578068,-0.0740682631731033,-0.2882716059684753,-0.4000352919101715) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0340863130986691,-0.0282875075936317,0.3615622520446777,-0.0057205650955439,0.1357596814632416,-0.0411523021757603,-0.1364872008562088,-0.0118581736460328,-0.1352293491363525,-0.0483191721141338,0.1568620949983597,0.0946996882557869,-0.0662061497569084,-0.0988727882504463,0.4928822815418243,0.2401342391967773) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.1097468510270119,0.1942698657512665,0.0040931529365480,-0.0400064811110497,-0.3087880611419678,-0.2598313987255096,-0.0051750377751887,-0.0650142654776573,0.1402599811553955,0.2281410545110703,0.1578211188316345,0.1005987673997879,0.1452177911996841,0.0173886064440012,0.1351331919431686,0.2313813120126724) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1577404886484146,-0.0305066294968128,0.2379322499036789,0.0308942031115294,0.0830573365092278,-0.3151981532573700,-0.3253603279590607,0.2475974857807159,0.0443270653486252,-0.0193476825952530,0.1386305242776871,-0.0373829044401646,-0.2579297125339508,-0.1532946974039078,0.2150248140096664,0.4174665212631226) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.1439764350652695,0.3407106995582581,-0.0615493319928646,0.0023591942153871,0.2019049525260925,-0.3147303462028503,0.1363119632005692,-0.2246542721986771,0.1331851333379745,0.0677685439586639,0.1401423066854477,-0.1164609342813492,-0.0428065992891788,-0.1498794257640839,0.3509467840194702,-0.4461643397808075) * MODEL23_texOff(vec2(1,0)); -res += mat4(0.1535163968801498,-0.1193488463759422,-0.1260807812213898,0.3858011662960052,-0.0790592283010483,0.6075788736343384,-0.3078390657901764,-0.1092664450407028,-0.3794676065444946,-0.0701059028506279,0.3518251180648804,0.5549364686012268,0.0932475775480270,0.3079295456409454,-0.1271117478609085,0.2804728448390961) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.0260474067181349,-0.0398008786141872,0.1998758912086487,-0.1780950576066971,0.0013479664921761,-0.0123051870614290,-0.0901704356074333,-0.1598365753889084,-0.0321404710412025,0.1329830288887024,0.0247267540544271,0.0441971644759178,-0.0566960573196411,0.0255114361643791,0.0987359061837196,-0.1076177731156349) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.1944607496261597,0.0444287993013859,0.2728273272514343,-0.1345956027507782,-0.2663154602050781,0.0077556986361742,-0.1447391659021378,0.1522699445486069,0.1935738772153854,0.0280280169099569,0.2472678124904633,0.2790086269378662,0.1250506043434143,0.1299894750118256,0.0860879197716713,-0.2023737132549286) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0107089392840862,0.0757343471050262,0.0578177720308304,0.1139081716537476,-0.0010778970317915,0.0142402015626431,-0.0777464210987091,0.0163372829556465,0.0894660502672195,0.0048105982132256,0.0235740207135677,-0.1469545364379883,-0.2090159952640533,0.0983165726065636,0.0136493127793074,-0.2945146560668945) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.1292741000652313,-0.1052215844392776,-0.1081540435552597,0.0396977886557579,-0.3071779310703278,-0.1655648797750473,-0.1314524263143539,0.1864617764949799,-0.1990943998098373,0.0167746078222990,0.1467040926218033,-0.1280262768268585,0.0534911192953587,0.0058396384119987,-0.0083683151751757,0.3378030657768250) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.0175827611237764,0.7972076535224915,0.0112308701500297,0.0626640766859055) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_4 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.2618981599807739,-0.0272141322493553,0.1978147178888321,0.1838742196559906); -res += mat4(0.3203423619270325,-0.2375466823577881,-0.2311870753765106,-0.1404046118259430,-0.1116818562150002,0.0169112384319305,0.0177364815026522,0.1829731315374374,0.2324923574924469,-0.1492699533700943,-0.0345585308969021,-0.0732511207461357,-0.0768176317214966,-0.1181547865271568,-0.0554209016263485,-0.0583907887339592) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0807724073529243,-0.2254235148429871,0.6873410344123840,-0.1763365268707275,-0.1449452489614487,0.0189746413379908,0.2269700616598129,0.0883083790540695,0.0470402911305428,0.6898033022880554,0.1623040437698364,0.1642086803913116,-0.4184429645538330,0.0878895595669746,0.0678840875625610,0.2335358411073685) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.2088841348886490,0.7400224208831787,0.3838779926300049,-0.8565384149551392,-0.0261555053293705,0.2415239810943604,0.0058844261802733,0.0311756990849972,-0.0710533335804939,-0.0517776943743229,-0.2189657688140869,-0.1773550063371658,0.1505380868911743,0.0705150812864304,-0.0917380228638649,0.0854334831237793) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0700366571545601,0.1746245324611664,0.0463343597948551,0.0256793927401304,-0.0146809378638864,-0.1434955447912216,0.2785597741603851,0.2305340021848679,0.1221156194806099,-0.0462324805557728,0.0756224319338799,0.0408317334949970,-0.0351550802588463,-0.1952673196792603,0.1835533678531647,-0.2333324849605560) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-1.2905079126358032,-0.0528796203434467,0.3968045711517334,-0.4772018492221832,-0.0381646603345871,-0.0249421130865812,-0.1307162493467331,0.1164818927645683,0.4554768502712250,-0.1476756036281586,-0.1412851959466934,-0.0609309300780296,-0.0039473162032664,0.4662524461746216,-0.0444753281772137,0.3187219202518463) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1611919701099396,-1.3754422664642334,0.0417292863130569,-0.3652147352695465,-0.7307597994804382,-0.0057830205187201,0.0941176116466522,-0.0242457669228315,-1.2055057287216187,0.8820493221282959,0.2724837958812714,0.4328245222568512,0.0721918717026711,-0.0722622349858284,0.1880809962749481,-0.1931017041206360) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0464881993830204,-0.4977321922779083,0.2844241857528687,-0.1416633129119873,0.2688022851943970,-0.2087855488061905,-0.2219491153955460,0.0513183288276196,0.0243211444467306,0.2198460698127747,0.0974607467651367,0.3570106625556946,0.0461267605423927,0.0820912569761276,0.0386747866868973,0.2782809138298035) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.2263965904712677,0.0119835119694471,0.3215164542198181,0.1319056749343872,-0.9058688282966614,-0.4233278334140778,0.1065735742449760,-0.4460813105106354,-0.0695195719599724,-0.2787844240665436,0.1991541534662247,0.0922988504171371,0.0297270491719246,0.1954278051853180,0.0062130275182426,0.0696197226643562) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.1804848313331604,-0.5613523125648499,-0.4550373852252960,-0.5635682344436646,-0.1632910370826721,0.1187769919633865,-0.3213490247726440,-0.2689736485481262,0.0472449734807014,0.1680916845798492,0.0901900678873062,0.2972181141376495,0.0242962017655373,0.1103710904717445,0.1173390373587608,-0.0270986035466194) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.2393277436494827,-0.5017011761665344,0.2169336676597595,0.2137065231800079,-0.3550960719585419,-0.1301461160182953,0.2405073046684265,-0.0257033314555883,-0.1141087263822556,0.2353459596633911,0.5700230598449707,0.3301207125186920,-0.0793050453066826,0.0170175842940807,-0.3630143404006958,0.3265556097030640) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.1285964548587799,0.1330558210611343,-0.0416678972542286,0.0528282448649406,0.0764098763465881,0.0281098093837500,-0.0382813438773155,0.0310887284576893,0.1230183392763138,-0.2056455612182617,-0.0828496888279915,-0.1691433936357498,0.0903539285063744,-0.1575526893138885,-0.0784928575158119,0.3540493845939636) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.1338908225297928,-0.0003932896070182,0.3739605545997620,-0.0032687252387404,-0.1752334982156754,0.0500757656991482,0.0544755123555660,-0.0904007703065872,0.1839655041694641,-0.1541325151920319,0.2571626305580139,0.2349375635385513,-0.0411910004913807,-0.0948274806141853,-0.0947207584977150,-0.0618695616722107) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.1735517233610153,-0.1884111762046814,0.2472496628761292,0.1157463118433952,0.2316774278879166,0.0809216573834419,0.2136737406253815,0.4023383557796478,-0.2456857562065125,-0.2026455104351044,-0.0837441384792328,0.0047799651511014,-0.0416668429970741,-0.2348129898309708,0.1912510395050049,0.1240000128746033) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0986720994114876,0.2302175909280777,-0.5095402002334595,-0.5116504430770874,-0.0159094277769327,-0.2062777131795883,0.2209034711122513,0.1478719562292099,-0.0936135649681091,-0.1403303742408752,-0.5889059305191040,-0.2721848487854004,0.1495044529438019,-0.1733209639787674,-0.1109227463603020,0.1321036368608475) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.1583139151334763,0.4662604928016663,0.0749393254518509,1.1870090961456299,0.0149827850982547,0.0499051921069622,0.1296198964118958,-0.4785905480384827,-0.0083293160423636,0.2108646929264069,0.0510768666863441,0.2132322490215302,-0.2477501034736633,-0.0111771719530225,-0.0363363474607468,0.2452402263879776) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.0317361131310463,0.0770889744162560,0.1376695781946182,0.0397783927619457,0.0544366426765919,-0.3385850191116333,0.1112513169646263,0.3020723164081573,0.0754054486751556,0.2211898416280746,-0.0396015644073486,0.0286546442657709,-0.4639288783073425,0.0985592380166054,-0.1409995257854462,0.3716880381107330) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.5109571218490601,0.9223093390464783,0.1859842389822006,0.2396878600120544,0.2978311181068420,-0.1416329145431519,-0.2947293519973755,-1.4947435855865479,-0.4519229531288147,0.8225970268249512,0.3091182112693787,-0.9985001087188721,0.1723853051662445,0.5456789731979370,-0.2690940797328949,0.8217062354087830) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.1589053571224213,-0.4827378392219543,-0.4693800210952759,-0.8193519711494446,-0.6941610574722290,-1.5228459835052490,-0.7820520997047424,-0.6704961061477661,-0.2171749472618103,-0.8324849009513855,-2.2413654327392578,-1.5074603557586670,-0.2572051286697388,0.1064953729510307,-0.0056538027711213,-0.5387867093086243) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.0391535386443138,-1.4287612438201904,0.2699595987796783,-0.6650040149688721,-0.0988853499293327,0.4216991662979126,0.0637140348553658,0.2098554670810699,-0.8102505207061768,-0.3652212917804718,0.3275896906852722,-0.3590414524078369,-0.2724997997283936,-0.0883407741785049,-0.2451451420783997,-0.8137302994728088) * MODEL23_texOff(vec2(0,0)); -res += mat4(0.1246679127216339,-0.0300861652940512,0.0997866913676262,-0.6487255692481995,0.3512567579746246,0.8345553874969482,0.7273539900779724,0.4227346777915955,0.2933959662914276,-0.1051366180181503,-0.1759402155876160,-0.0114844748750329,0.4016981720924377,0.4352439641952515,-0.0182086061686277,0.3906862735748291) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.0691076219081879,0.7181659340858459,-0.3326966464519501,0.2068112790584564,0.0007111207232811,0.5322738885879517,0.2143927067518234,0.9343239665031433,-0.0955833941698074,-0.0449995249509811,-0.0059315729886293,-0.5656683444976807,0.0783866345882416,-0.0487202554941177,-0.1274579018354416,-0.6693290472030640) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.0910984128713608,0.0079865092411637,-0.0134474486112595,0.1073060110211372,-0.1281730532646179,-0.5945880413055420,-0.1750696748495102,-0.0824373885989189,-0.1921980082988739,-0.2417781800031662,-1.2219647169113159,-0.3861470818519592,-0.0197522863745689,-0.0422438420355320,0.1084365025162697,0.4388374388217926) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0405590273439884,0.3364722132682800,0.0340287163853645,0.5000361800193787,0.0451833792030811,0.7587022185325623,0.3476577103137970,0.1372276842594147,-0.2742692530155182,0.0497781559824944,0.1567011475563049,-0.1736435443162918,0.0604428462684155,0.0313023664057255,0.1569791436195374,0.0404267311096191) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.0518231056630611,-1.0536848306655884,-0.2377561777830124,-1.3607717752456665,-0.3254396021366119,0.0689994841814041,-0.0591381192207336,0.3321301639080048,0.1006338670849800,0.0672427713871002,0.2957704961299896,0.3493945896625519,-0.0940009951591492,-0.2684634625911713,0.5259480476379395,0.2820456326007843) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0506687946617603,-0.0672884061932564,-0.0947070345282555,-0.0711966156959534,0.0949534848332405,0.1151713877916336,0.1201184391975403,-0.0314808450639248,-0.0706284120678902,-0.1123861744999886,0.1360195577144623,-0.1103572621941566,0.1085182130336761,0.0715388208627701,-0.2147644609212875,-0.1271135061979294) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.1458884179592133,-0.0483437515795231,0.1487196981906891,-0.1635223925113678,0.0468507856130600,0.2004905343055725,-0.1661941856145859,-0.1715333908796310,0.0405882000923157,0.1016650348901749,-0.3222144246101379,0.0014929913450032,0.1783287972211838,0.1605405360460281,-0.3112948536872864,-0.2211681008338928) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.3449542224407196,-0.2643767893314362,-1.2442095279693604,-0.0055516464635730,-0.0290109291672707,-0.0531168505549431,-0.0100549366325140,-0.0421273186802864,0.0406958609819412,-0.1173181459307671,-0.0954332947731018,0.0343313068151474,-0.1324431598186493,-0.0029157740063965,0.0493107922375202,0.2932595610618591) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0597545318305492,0.0579895004630089,0.0330565869808197,0.0266821533441544,0.2274957150220871,-0.1440460830926895,0.0706733837723732,0.1258082687854767,-0.0238740332424641,0.1669197678565979,0.2824452519416809,0.1991728842258453,0.2431868016719818,-0.0821011215448380,-0.0380413234233856,-0.2547401785850525) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.0514334328472614,-0.1075393334031105,0.6129282116889954,0.3304093182086945,0.0418562963604927,-0.3380452394485474,-0.1095468625426292,-1.1982278823852539,-0.0091031938791275,-0.3492802083492279,-0.0715793222188950,0.0283715836703777,0.1627623736858368,-0.2478841841220856,-0.1275325268507004,0.0753507539629936) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.0710584446787834,-0.0795726478099823,0.1102423667907715,0.1615608930587769,0.0400473400950432,-0.1247625201940536,-0.8664048910140991,-1.4803600311279297,0.0598112307488918,0.2241897135972977,-1.6030251979827881,-0.1858558803796768,-0.0049995915032923,-0.2061183005571365,0.0831907689571381,-0.3442726135253906) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.1566273719072342,-0.3271358907222748,-0.4640483856201172,-0.2436946779489517,-0.0301623810082674,-0.4387421607971191,-0.4622590243816376,-0.1521215885877609,0.0995048359036446,0.2005099803209305,0.0182304996997118,0.1740360558032990,-0.2895718812942505,0.3530801534652710,-0.4486841559410095,-0.9784322381019592) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.0021386719308794,0.1484365910291672,-0.2306481152772903,-0.2454898208379745,-0.0255514066666365,0.0938307866454124,-0.0233576018363237,0.2101462483406067,0.1627648919820786,0.1235651299357414,0.0506546199321747,0.0221781507134438,0.4662755429744720,-0.2199778258800507,-0.6283662915229797,0.0379081666469574) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.0182653721421957,0.1785921901464462,0.1522493362426758,0.1736439168453217,-0.0319013446569443,0.1207593083381653,-0.3337399065494537,0.4353213012218475,0.0712353736162186,0.1208399757742882,-0.1030251830816269,0.0402180440723896,-0.1057578176259995,-0.1592700779438019,0.0997642651200294,-0.5390369296073914) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.0597565993666649,0.1085522696375847,0.1351424455642700,0.1795979589223862,0.0740121901035309,-0.4540854692459106,-0.4426850378513336,-0.3672344982624054,0.0618441253900528,-0.0444655306637287,-0.5309899449348450,-0.3420858085155487,0.1326380372047424,0.0735115706920624,0.3639954626560211,0.5657085180282593) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.0113841835409403,-0.1627709716558456,0.0593168660998344,-0.1079842969775200,0.0340214520692825,-0.2508184015750885,-0.1898239850997925,0.0072992448695004,-0.1270765513181686,0.0241425670683384,-0.1750517189502716,0.0232428964227438,-0.1698446720838547,0.0585229583084583,0.4057764112949371,-0.0506146699190140) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0771756023168564,0.0903209969401360,0.0408543720841408,-0.5892044901847839,0.0189124587923288,0.5071246027946472,0.0599331595003605,-0.0512724369764328,0.0913599580526352,0.0496477931737900,0.1396266967058182,0.1325918883085251,0.2898302078247070,-0.1028916388750076,0.0570955872535706,-0.3936383128166199) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0671599730849266,0.2514712214469910,0.0454521626234055,-0.1015913039445877) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_1 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0939240753650665,0.1070799157023430,-0.4192370474338531,-0.2009796947240829); -res += mat4(0.1766631752252579,-0.1148459315299988,0.1303748786449432,0.1874862164258957,0.0400640964508057,0.0249448716640472,0.0479296818375587,-0.0451686643064022,0.0400613583624363,0.0721665620803833,0.0162833929061890,0.1299638748168945,-0.1976952701807022,0.1583755314350128,-0.0451218150556087,0.0093258330598474) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0646747574210167,-0.1131666302680969,0.0774783194065094,-0.1875849664211273,0.1489513665437698,0.0614610463380814,0.0551691800355911,-0.2633447945117950,-0.1215979605913162,0.1179030388593674,0.1464152485132217,0.1342537403106689,-0.1263999640941620,0.0371266864240170,-0.0571325086057186,-0.0951198637485504) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(0.1455701142549515,0.0904433131217957,0.1709385812282562,0.0677307099103928,-0.0468935593962669,-0.0356049574911594,-0.1504066586494446,-0.0919781476259232,-0.0795241743326187,0.0195050779730082,-0.0061774053610861,-0.0350675992667675,0.1814181804656982,0.0052565839141607,0.1122208908200264,-0.0216086618602276) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(0.2275224328041077,-0.1887758970260620,-0.0591825507581234,-0.0255115255713463,0.1821129769086838,-0.0972185358405113,0.1868964433670044,0.0663591623306274,-0.0951612070202827,-0.1931359469890594,-0.1538779437541962,-0.0970020219683647,0.0220909640192986,-0.0459185689687729,-0.2080574631690979,0.0792068094015121) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(0.1789263337850571,-0.0923565179109573,0.0234071612358093,0.2566697895526886,-0.3969378173351288,0.1525186449289322,-0.1570488065481186,-0.1292294859886169,-0.0078855939209461,0.0073424843139946,-0.0253147967159748,0.0776322335004807,-0.3640538454055786,0.0294748172163963,-0.1845595240592957,0.0254504717886448) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.2526902258396149,0.0658242180943489,0.2199242413043976,-0.2072209119796753,0.1815013438463211,0.3576187491416931,0.1445612013339996,-0.3206026256084442,0.1072679534554482,-0.1361077874898911,0.0916604697704315,0.3789470791816711,0.0989762768149376,-0.0294604822993279,0.0581037811934948,0.0445599481463432) * MODEL2_texOff(vec2(-1,0)); -res += mat4(-0.0093334335833788,0.1357327103614807,0.0280408691614866,0.1034970134496689,-0.2703523635864258,0.1945694833993912,-0.1136413291096687,-0.0291410721838474,-0.0401322692632675,0.0878827199339867,-0.0686209499835968,-0.0557576827704906,0.1943955570459366,0.1612215936183929,0.1887363791465759,0.0070634381845593) * MODEL3_texOff(vec2(-1,0)); -res += mat4(0.3716565668582916,-0.3613735139369965,0.0844924449920654,0.0343478210270405,0.2465848028659821,-0.0314175374805927,0.2159696966409683,0.1732785403728485,-0.0862246528267860,-0.0265530031174421,-0.1918380260467529,-0.1378531157970428,-0.1230628266930580,0.2098480761051178,-0.3888647556304932,-0.2004205882549286) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.2449404895305634,0.0653455182909966,0.0135820396244526,0.1158687770366669,-0.0626734495162964,-0.1324901431798935,0.0122612882405519,0.0722110792994499,-0.0592312589287758,0.0290565639734268,-0.0977197289466858,0.0284935012459755,0.1286304742097855,-0.0964016020298004,0.0769306123256683,-0.0453671775758266) * MODEL1_texOff(vec2(-1,1)); -res += mat4(0.0851763933897018,-0.0065216314978898,0.0767411142587662,-0.1651934087276459,-0.0391551367938519,0.0352120287716389,0.0193297695368528,0.0492741614580154,0.4617889821529388,0.1350731998682022,0.1599364131689072,0.3893656432628632,-0.0166238248348236,0.0806706696748734,0.0505172014236450,-0.1259910613298416) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.0700512304902077,-0.0141933942213655,0.2592144608497620,0.0921078026294708,-0.1485483944416046,-0.0075393421575427,-0.1429287344217300,0.0355093553662300,0.0583429560065269,0.1349573731422424,0.0837503075599670,-0.0213678143918514,0.1826371997594833,0.1823416054248810,0.1543735116720200,-0.0142616210505366) * MODEL3_texOff(vec2(-1,1)); -res += mat4(0.0473574660718441,-0.0411762557923794,0.0556247085332870,0.0216518286615610,-0.0571878999471664,0.0466939695179462,0.0007601453689858,-0.0309802722185850,0.0881771817803383,-0.1278077661991119,0.0275780353695154,0.0055053601972759,0.0258457921445370,0.0533790476620197,0.0462624691426754,-0.0727247446775436) * MODEL4_texOff(vec2(-1,1)); -res += mat4(-0.1539228558540344,0.0128557216376066,-0.2806452810764313,0.2308432459831238,0.0992715358734131,-0.1948739886283875,0.2201962172985077,-0.2213711440563202,-0.1619242280721664,0.0522838011384010,0.1370293647050858,0.0646882131695747,0.1614316850900650,0.0388166792690754,0.2212044149637222,-0.0348678305745125) * MODEL1_texOff(vec2(0,-1)); -res += mat4(0.0057150884531438,-0.3920969069004059,-0.1632852852344513,-0.4735216796398163,-0.2241761088371277,0.1111730188131332,-0.1845528185367584,0.2525207400321960,0.2744160592556000,0.0427548661828041,0.0471794493496418,0.1975667774677277,-0.1709664016962051,-0.0968290343880653,-0.0364571139216423,-0.0123703358694911) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.3471515178680420,0.0035508037544787,-0.0242346487939358,-0.2053472548723221,0.0366874001920223,-0.1820769309997559,-0.1406559646129608,-0.4743737578392029,0.2084551602602005,-0.0934072062373161,-0.0095417900010943,-0.0922358036041260,0.1286945492029190,-0.1099522709846497,-0.0111708277836442,0.0115120420232415) * MODEL3_texOff(vec2(0,-1)); -res += mat4(-0.2889384031295776,0.0593274906277657,-0.2738704979419708,-0.1730263084173203,-0.3150477707386017,0.0824517607688904,-0.5353992581367493,0.3430648148059845,-0.0943045169115067,0.0704220905900002,-0.3742286264896393,0.1915865242481232,-0.1212448105216026,-0.1403315663337708,-0.2767850458621979,0.0417246297001839) * MODEL4_texOff(vec2(0,-1)); -res += mat4(-0.2087233811616898,0.1168561428785324,0.0238043814897537,0.2219242900609970,0.5486283898353577,-1.1923955678939819,0.7928161621093750,-0.3067701756954193,-0.2462628632783890,0.1201698333024979,-0.0080536343157291,-0.1661250889301300,0.4892369508743286,-0.1491003781557083,0.6520683765411377,-0.9978116750717163) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.0986968204379082,0.1483289748430252,-0.4946940541267395,0.5676410198211670,-0.1753920614719391,-0.0350872278213501,-0.6812604665756226,-0.1051912903785706,0.2388358712196350,-0.2064633965492249,0.0954692140221596,0.3972575068473816,0.0277511160820723,-0.1490469276905060,-0.1304923892021179,-0.0849914923310280) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.3919466137886047,0.2604148387908936,-0.1364194452762604,-0.3725306987762451,0.6220794320106506,0.0711414515972137,0.0487920157611370,0.8275957107543945,0.2210596054792404,0.0889535248279572,-0.1202557981014252,-0.2345736026763916,0.5414448380470276,-0.0852774530649185,-0.0166040845215321,0.4876805841922760) * MODEL3_texOff(vec2(0,0)); -res += mat4(-1.1044557094573975,-0.1582177132368088,0.2023978829383850,-0.2040194123983383,-0.5193357467651367,0.5642085671424866,-1.0636546611785889,0.4562705457210541,-0.1209019646048546,0.0562094524502754,-0.3072849214076996,0.3943085670471191,0.1958889365196228,-0.1018345132470131,-0.3185061514377594,-0.1533579230308533) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.1175472810864449,-0.0106185721233487,0.0317506045103073,-0.0582309067249298,-0.2228898108005524,-0.0492197163403034,0.1172570735216141,-0.0781362503767014,-0.2347405254840851,0.0250689368695021,-0.0337609052658081,0.0258333384990692,-0.2739647924900055,-0.0703237727284431,-0.0301027502864599,-0.1310820728540421) * MODEL1_texOff(vec2(0,1)); -res += mat4(0.0788076817989349,-0.1156876161694527,-0.1305500864982605,-0.4772673845291138,-0.1036096736788750,-0.0186788085848093,-0.0497039295732975,-0.0562514178454876,-0.4980307519435883,0.3032779097557068,-0.2864224612712860,-0.2571246623992920,-0.2961620986461639,0.2024095952510834,-0.2083405703306198,-0.0262568816542625) * MODEL2_texOff(vec2(0,1)); -res += mat4(0.3185229003429413,-0.1336676329374313,0.0055090165697038,-0.0625768750905991,0.0301016960293055,-0.1402244716882706,0.2638555169105530,0.2491406500339508,0.0175193380564451,0.3635352849960327,0.2369791567325592,-0.0125836068764329,0.3937492072582245,0.1693996936082840,-0.0088062463328242,0.2431912273168564) * MODEL3_texOff(vec2(0,1)); -res += mat4(-0.2064793109893799,-0.1411489397287369,-0.3089267611503601,-0.1338297426700592,0.1840019971132278,-0.1287958025932312,0.1202731803059578,-0.2698229253292084,-0.1723199039697647,0.1201079860329628,-0.0454297512769699,0.0911703184247017,0.1651924252510071,-0.0695007964968681,-0.0951692461967468,0.0140034575015306) * MODEL4_texOff(vec2(0,1)); -res += mat4(-0.0351636521518230,-0.3665920197963715,-0.1235053911805153,0.1023030504584312,-0.0568292252719402,-0.1067840829491615,-0.1690988391637802,-0.1293577402830124,0.1123710498213768,0.0593810230493546,0.0756259411573410,-0.0498257279396057,0.2800794541835785,-0.1813902258872986,0.3736729621887207,0.0055663096718490) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0052344598807395,-0.0827632471919060,-0.1968964040279388,-0.1781204640865326,0.1491862088441849,0.0471050664782524,0.2822955846786499,0.0341789536178112,0.0792400613427162,0.0593985691666603,0.0653597190976143,0.0306967999786139,-0.2650067508220673,-0.1417366117238998,-0.0618015266954899,-0.1712649762630463) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.1884882450103760,-0.0646363869309425,0.1265687942504883,-0.0198807623237371,0.1710745990276337,-0.1991294920444489,0.2257161587476730,0.0990899652242661,-0.0123038114979863,-0.0604469887912273,0.0861879140138626,0.0514908321201801,0.0632287636399269,-0.0564893335103989,-0.2878070771694183,0.1281028836965561) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.1748222410678864,0.1559326499700546,0.2274629622697830,-0.2599287927150726,-0.1274228245019913,0.1170183941721916,0.0254840347915888,0.3059220910072327,-0.4317791461944580,-0.2744959294795990,-0.3259294927120209,-0.0761090889573097,-0.1382412314414978,-0.2113056033849716,0.1788181811571121,0.2996733188629150) * MODEL4_texOff(vec2(1,-1)); -res += mat4(0.0582458488643169,-0.2011986672878265,-0.1032724976539612,0.0572311282157898,-0.2976129949092865,0.1335859149694443,-0.1642884314060211,0.0469525307416916,0.1173821613192558,0.0175531003624201,0.0590624660253525,-0.0186468325555325,-0.2939463555812836,-0.0627523511648178,-0.0904852002859116,0.0437535047531128) * MODEL1_texOff(vec2(1,0)); -res += mat4(-1.0379866361618042,-0.0779533982276917,-0.4585119783878326,-0.2419675886631012,-0.1771658360958099,0.2385675758123398,0.4636667668819427,0.2159792035818100,-0.0779691860079765,-0.0443072207272053,0.1458922326564789,0.1625780165195465,-0.0606213472783566,0.2021027803421021,-0.0766457915306091,-0.0725013092160225) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.1223943233489990,0.0499060340225697,0.2337128371000290,0.0877007842063904,-0.4041709005832672,0.0202713161706924,0.4482367634773254,-0.0970616489648819,-0.2139305770397186,-0.0016079441411421,-0.0643812268972397,-0.1715632826089859,-0.1512379497289658,-0.0972021818161011,-0.4451365768909454,0.1773481220006943) * MODEL3_texOff(vec2(1,0)); -res += mat4(0.1889666616916656,0.1565265655517578,-0.0462163686752319,-0.2980217635631561,-0.2271247357130051,0.2018182426691055,0.0352049097418785,-0.0071235750801861,-0.7249425053596497,-0.1264755576848984,-0.8086061477661133,0.0717744827270508,-0.2927641272544861,0.1403367966413498,0.3376818597316742,0.1329329758882523) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0950300097465515,0.0221716705709696,0.0456663332879543,-0.1242675408720970,0.2974790930747986,0.1077141836285591,0.0673227831721306,0.0374278537929058,-0.0262136477977037,-0.0091568045318127,-0.0168234482407570,0.1881603151559830,-0.0118044698610902,0.0741767808794975,-0.0131553094834089,0.0480604358017445) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.1107144579291344,0.0098598729819059,-0.0693243071436882,-0.1960892528295517,-0.0331989787518978,0.1361626088619232,-0.0834455564618111,0.0961192920804024,-0.0686278939247131,0.0854749158024788,0.1144494563341141,-0.0621937587857246,-0.2368322759866714,0.0297667793929577,-0.1093277558684349,-0.0013569450238720) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.2876231670379639,-0.0896124094724655,-0.2461586445569992,0.0163489244878292,0.0424887128174305,0.0044482382945716,0.1063006594777107,0.0976624488830566,0.2709029614925385,0.1093918979167938,-0.2742790877819061,0.2572947144508362,-0.0381617844104767,-0.0245694518089294,-0.0991176888346672,0.1488055735826492) * MODEL3_texOff(vec2(1,1)); -res += mat4(0.0107373334467411,0.1041472703218460,0.0299074444919825,-0.1995789408683777,-0.0317324884235859,0.0384061299264431,-0.0420682542026043,-0.0465260408818722,-0.1401028484106064,0.1354913264513016,0.0475854165852070,-0.1428409367799759,-0.3365491628646851,-0.1023249477148056,0.1386373341083527,0.2461400628089905) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.0454893484711647,0.6504164338111877,-0.0375871248543262,-0.3642866313457489) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_2 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.2766854465007782,-0.0856682732701302,0.4891575574874878,0.0358843207359314); -res += mat4(-0.3082252144813538,0.1421664655208588,-0.0411954857409000,0.1205241158604622,0.2738791704177856,-0.0431190282106400,0.1191648468375206,0.0376528576016426,-0.3940974771976471,-0.0540972277522087,-0.9005880355834961,0.1463838368654251,0.0659264847636223,0.1836163252592087,0.0197399482131004,0.0815236419439316) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0152115318924189,0.1181607842445374,-0.1681683808565140,-0.0840278565883636,-0.2195560038089752,0.2071736305952072,-0.0520277246832848,-0.2059306502342224,0.0841627866029739,0.1697496175765991,0.0743092000484467,-0.1171413883566856,-0.5985020399093628,0.3979639410972595,-0.3463142216205597,0.0510277226567268) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(-0.0469058454036713,-0.1439702361822128,0.0587836243212223,0.0072227055206895,-0.0203045327216387,-0.1439272016286850,-0.0913980677723885,0.2590387761592865,0.0427818670868874,0.1357506066560745,0.0856071859598160,0.2076624184846878,-0.2039159387350082,0.2199477702379227,-0.0665217041969299,0.1113462895154953) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(0.6119036078453064,-0.2367514520883560,-0.0474185831844807,-0.0738599747419357,0.2150397002696991,-0.1425740569829941,-0.2506031095981598,-0.0127827581018209,0.0595776550471783,0.1329316347837448,0.0184186585247517,-0.1671197712421417,-0.4632082581520081,-0.0973000228404999,0.0642428249120712,-0.1473356187343597) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(-0.1912296116352081,-0.0609239228069782,-0.1602058261632919,-0.0227724649012089,-0.4201372563838959,0.4554587304592133,-0.0227187257260084,-0.0378096066415310,0.1912428140640259,0.0682459622621536,-1.0177114009857178,0.3858880996704102,-0.0226255208253860,0.2118644565343857,0.1322475522756577,-0.2449918538331985) * MODEL1_texOff(vec2(-1,0)); -res += mat4(-0.2439029216766357,-0.0880997478961945,-0.1612567901611328,-0.4472371041774750,-0.1740748286247253,-0.0585206896066666,-0.0657029673457146,-0.0897132232785225,0.0199276376515627,0.1176935732364655,-0.1753555536270142,-0.0216708388179541,-0.5421268939971924,0.2451691776514053,0.2713908851146698,-0.1808403730392456) * MODEL2_texOff(vec2(-1,0)); -res += mat4(0.0636586472392082,-0.0982676669955254,-0.2402346730232239,-0.0729618296027184,-0.0778831765055656,0.0221842341125011,0.0728839635848999,0.0256734061986208,-0.0296111032366753,0.0160355139523745,0.1967004984617233,-0.0364510081708431,-0.1154832020401955,0.0664381235837936,-0.1580185890197754,-0.1150302141904831) * MODEL3_texOff(vec2(-1,0)); -res += mat4(-0.1614706814289093,-0.3007177114486694,-0.0077538061887026,0.1562442332506180,-0.0116249406710267,-0.0763486921787262,-0.0728502124547958,0.1449433118104935,0.1028612777590752,-0.0802665725350380,0.0317276343703270,0.3957915306091309,-0.0113516477867961,-0.2576089501380920,-0.0250909272581339,-0.3440415263175964) * MODEL4_texOff(vec2(-1,0)); -res += mat4(-0.0721431076526642,0.0617929846048355,0.0236721988767385,-0.1713178306818008,0.0801177248358727,-0.0077098137699068,-0.1302033662796021,0.1205692663788795,-0.1801013350486755,0.3740012347698212,-0.4390102922916412,0.2259115278720856,-0.0943693146109581,0.0032138365786523,-0.1379340589046478,-0.0831489339470863) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.0361295416951180,-0.0423301756381989,0.0237964522093534,-0.0884843170642853,-0.0765647217631340,0.0764393284916878,-0.2291554659605026,0.0330178700387478,0.1890143007040024,-0.3994705080986023,0.1141545847058296,-0.3930031657218933,-0.1419301927089691,-0.0915622636675835,-0.5227252840995789,0.0471889413893223) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.0244284309446812,-0.0262696258723736,0.1562546193599701,-0.0066187661141157,-0.1507112234830856,0.1415329426527023,-0.0896876007318497,0.0598894916474819,0.0509236603975296,0.0035465008113533,-0.0006597613682970,0.1432638168334961,0.0633045285940170,0.0205333437770605,-0.1529020816087723,0.0278088022023439) * MODEL3_texOff(vec2(-1,1)); -res += mat4(-0.0013071940047666,-0.1215862557291985,0.1564798504114151,0.0205783136188984,-0.1420968621969223,0.1075428128242493,0.0872842520475388,0.0079967444762588,-0.0594218485057354,-0.1015119478106499,-0.1151336580514908,0.0227370969951153,0.1221681982278824,0.1577650308609009,-0.0548945218324661,-0.1438567042350769) * MODEL4_texOff(vec2(-1,1)); -res += mat4(-0.6033390164375305,-0.2823020517826080,0.0765986815094948,-0.0168070066720247,0.1330042928457260,0.3693281412124634,0.0154768042266369,-0.1817414015531540,-0.1879704594612122,0.1986478865146637,-1.2290372848510742,0.2091535180807114,-0.2778144180774689,-0.2049327790737152,-0.0833392888307571,0.1576944887638092) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.2492198497056961,-0.0573792122304440,0.0536363571882248,-0.0028804065659642,-0.6152865886688232,-0.2403887361288071,-0.3645218312740326,0.0169817730784416,-0.4057780504226685,-0.0315363407135010,0.3864345550537109,0.0341531969606876,0.3265593349933624,-0.4443338215351105,-0.5211750864982605,0.2147141098976135) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.0928920134902000,0.1127678453922272,-0.2038836181163788,-0.0687354058027267,-0.4012863636016846,0.0305966697633266,-0.2824791967868805,0.3182746767997742,-0.2477563768625259,-0.1787149608135223,-0.1280913800001144,-0.2693536281585693,-0.2007386982440948,0.2500161826610565,-0.1692083477973938,0.2201835960149765) * MODEL3_texOff(vec2(0,-1)); -res += mat4(0.4433092176914215,-0.2782422900199890,0.1955523788928986,0.0446265041828156,0.2695930600166321,0.4516450762748718,-0.0869306996464729,0.2080718427896500,-0.3609630167484283,-0.2756880223751068,-0.0572468861937523,0.0923518687486649,-0.2521983087062836,-0.0607448406517506,-0.1430182605981827,-0.0809801742434502) * MODEL4_texOff(vec2(0,-1)); -res += mat4(-0.5648784637451172,-0.0078862020745873,-0.0799404531717300,-0.3679954111576080,0.3843144178390503,-0.7055245637893677,-0.8288373947143555,0.1270771771669388,-0.0056138485670090,0.4444505274295807,-1.0627838373184204,0.0743907466530800,0.5623774528503418,0.1460260748863220,0.2430976182222366,-0.4247787296772003) * MODEL1_texOff(vec2(0,0)); -res += mat4(-0.1028358787298203,-0.7443224191665649,-0.2842544615268707,-0.7112095952033997,0.5257666110992432,-0.4121195673942566,-0.2406257987022400,0.3721483945846558,-0.0295912455767393,-0.0090005975216627,0.3495620191097260,-0.3244813084602356,0.1984122097492218,-0.1381660550832748,0.1999670416116714,-0.1392254829406738) * MODEL2_texOff(vec2(0,0)); -res += mat4(-0.2189147621393204,-0.3101506233215332,-0.3582707047462463,0.6731706261634827,-0.0630217045545578,-0.7331262230873108,0.0304036866873503,-0.2192881107330322,-0.3842722773551941,-0.1572354137897491,-0.1318689137697220,-0.1704041659832001,-0.4817813038825989,-0.1687027812004089,-0.3037893474102020,-0.3955264985561371) * MODEL3_texOff(vec2(0,0)); -res += mat4(-0.0350833274424076,0.1781712621450424,0.4963554143905640,-0.5230069756507874,-0.0323612317442894,-0.2684666216373444,-0.0216306671500206,-0.5467779636383057,0.1643877923488617,-0.3850797414779663,-0.0079383878037333,-0.4840333759784698,-0.4436331093311310,-0.0161991715431213,-0.2919921576976776,-0.6045735478401184) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.0631479918956757,-0.0759769305586815,0.1899980753660202,-0.7697417736053467,0.0048485705628991,0.2741712033748627,-0.0055032907985151,0.2066910862922668,-0.1501127332448959,0.3565596938133240,-0.8306923508644104,0.1663600057363510,0.0771821588277817,0.0152697730809450,0.0880215913057327,0.0921067818999290) * MODEL1_texOff(vec2(0,1)); -res += mat4(-0.1451108753681183,-0.4456967115402222,0.0038733964320272,0.1149310395121574,0.1009142324328423,0.2150571495294571,0.0943882092833519,-0.0743561014533043,0.1195020973682404,0.5845862030982971,0.0343878380954266,-0.3899781107902527,-0.4041344523429871,0.3338281214237213,-0.0199393369257450,0.0934275463223457) * MODEL2_texOff(vec2(0,1)); -res += mat4(0.2694981694221497,0.1683813631534576,-0.0827538445591927,-0.9855439066886902,0.1228355169296265,0.1367452442646027,-0.1180073469877243,-0.3259690999984741,-0.3450045883655548,-0.1005374863743782,-0.1464527249336243,-0.1674241274595261,0.1783515959978104,-0.4858917295932770,-0.2419071942567825,-0.1595151573419571) * MODEL3_texOff(vec2(0,1)); -res += mat4(0.1846605837345123,0.2596315443515778,0.2425408214330673,0.3251174986362457,0.0843155756592751,0.2367650866508484,-0.2045378684997559,0.0772629603743553,-0.2504093647003174,-0.0491534061729908,0.0135239763185382,0.3528170585632324,0.1446651220321655,-0.0448730662465096,-0.0475514978170395,-0.2215046882629395) * MODEL4_texOff(vec2(0,1)); -res += mat4(0.3496626913547516,-0.0416278280317783,0.1267942488193512,0.1846652030944824,0.0825802311301231,-0.0858073681592941,-0.1442968696355820,0.0075921313837171,-0.2857237756252289,0.2616439759731293,-0.5992080569267273,0.1289489418268204,0.1400072127580643,0.1107556670904160,0.2755304872989655,0.1546024233102798) * MODEL1_texOff(vec2(1,-1)); -res += mat4(0.0377431400120258,0.0305332988500595,0.0120427943766117,0.0411608815193176,0.2350389063358307,0.1466522365808487,0.0528812482953072,0.1578131765127182,0.1993547379970551,0.0172306522727013,-0.1550423502922058,0.1076474338769913,-0.2865282297134399,0.3427429795265198,0.0945115536451340,0.2316128164529800) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.0609900802373886,-0.0944926515221596,-0.2119262367486954,-0.0069179581478238,0.0360044389963150,0.1666931211948395,0.2129596620798111,0.2629804313182831,-0.1959801316261292,0.0509368106722832,-0.0875207930803299,-0.1775096058845520,0.3542068898677826,0.1606763750314713,0.0899846851825714,0.0402658544480801) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.1717642992734909,-0.2124918401241302,0.0481774210929871,-0.0357615984976292,0.0568622574210167,0.0519891344010830,-0.2438391298055649,-0.0353425256907940,0.0392028875648975,-0.0987027660012245,-0.0311603695154190,-0.0224185455590487,0.4272132813930511,0.1244610548019409,0.0514792986214161,0.0763168707489967) * MODEL4_texOff(vec2(1,-1)); -res += mat4(-0.0818905532360077,-0.2310486733913422,0.0471217706799507,-0.0838337242603302,0.0181213170289993,0.0821879133582115,-0.0322279706597328,0.0799539163708687,-0.1965402066707611,0.2742959260940552,-0.7167144417762756,0.0575326457619667,0.0642850175499916,-0.1227741986513138,-0.0497060939669609,-0.2855891585350037) * MODEL1_texOff(vec2(1,0)); -res += mat4(0.2123161703348160,-0.2346035838127136,0.1092509478330612,0.1562874168157578,0.1066971719264984,0.2767858505249023,-0.3046181797981262,-0.0273845475167036,-0.3696175813674927,-0.0598086304962635,-0.1019269675016403,-0.0927008464932442,-0.1281058192253113,0.3493737280368805,-0.3503416180610657,-0.3022629022598267) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.0880725234746933,0.2408671975135803,-0.1795619726181030,0.1810989826917648,0.1211275905370712,0.4736292362213135,0.0064709093421698,-0.3257658183574677,-0.3594385087490082,0.0024678865447640,0.0314037911593914,-0.0911884680390358,-0.0311477817595005,-0.1242813691496849,-0.1627479493618011,0.3381403386592865) * MODEL3_texOff(vec2(1,0)); -res += mat4(-0.0876098796725273,0.2889081239700317,0.2039415985345840,-0.0505445413291454,-0.1711472421884537,0.3027215301990509,0.1295015215873718,0.2873072326183319,0.1006578281521797,-0.3762693107128143,0.0244721211493015,-0.2519020438194275,-0.1871100217103958,0.1793846189975739,-0.2067656368017197,-0.3798410892486572) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0071486891247332,0.0327866934239864,-0.0724201947450638,-0.3820834457874298,0.0678572282195091,0.0313744433224201,-0.0951966121792793,-0.0104408366605639,-0.2017306685447693,0.2389510869979858,-0.8141521811485291,0.0672826170921326,0.1411330401897430,-0.1417368054389954,0.1756392568349838,0.1432631909847260) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.0169192869216204,0.0134304529055953,-0.0439525134861469,0.0853186175227165,-0.0271293148398399,0.0552158914506435,-0.4424555599689484,-0.0221184864640236,0.1248477473855019,-0.1369054317474365,0.2032888382673264,0.4237955808639526,-0.1370280236005783,0.0774284079670906,-0.3221918344497681,0.0986522659659386) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.0016994937323034,-0.3168563842773438,-0.2978757619857788,-0.1239660754799843,0.1501535922288895,0.0411236807703972,-0.3058364391326904,0.0213185362517834,-0.1830658763647079,-0.3084793984889984,-0.0796889662742615,-0.1118396595120430,0.0839603170752525,-0.0018456405960023,-0.2057147920131683,0.0484040603041649) * MODEL3_texOff(vec2(1,1)); -res += mat4(0.3530099093914032,-0.2546278834342957,0.4894405007362366,-0.0462108962237835,0.0373030193150043,-0.0540172420442104,-0.1831854879856110,-0.0725690498948097,-0.1877104043960571,0.3815770149230957,0.0154178757220507,0.0679738372564316,0.2268005311489105,-0.0374227240681648,-0.1764841973781586,0.3064631521701813) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1011536195874214,-0.0269211996346712,-0.0399007871747017,0.1815684139728546) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_3 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL23 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0096962312236428,-0.1828956305980682,-0.3072965741157532,0.3628412187099457); -res += mat4(0.0966185852885246,-0.6135466098785400,0.1222296357154846,-0.1271366775035858,-0.0659370869398117,0.1779254078865051,-0.0182557422667742,0.0037988279946148,-0.0624240785837173,-0.0021543647162616,-0.0371171571314335,0.0114635583013296,-0.0971337482333183,-0.3905356526374817,0.0018126725917682,-0.0468830652534962) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(0.0238531120121479,-0.6746900081634521,0.1587852537631989,-0.0541999749839306,0.1455587893724442,0.1401162594556808,0.0800143107771873,0.0067800586111844,-0.1083246991038322,0.4153499007225037,-0.0090921055525541,0.1080789342522621,0.0504096634685993,-0.5217405557632446,-0.0277403518557549,0.0075404588133097) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(-0.1730122119188309,-0.2118499428033829,0.0321336425840855,0.0257543101906776,0.0492732115089893,-0.0492192357778549,-0.0415452122688293,0.2035491466522217,0.1021632179617882,0.2431710809469223,-0.0390984788537025,0.2217389643192291,0.1717329174280167,-0.2138804644346237,0.0192105397582054,0.1068543791770935) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(-0.0713640674948692,-0.7597609758377075,0.0916400700807571,-0.1611132174730301,0.1112890094518661,0.0431755259633064,-0.0392427630722523,0.0301910303533077,-0.0716047734022141,-0.4293081164360046,-0.0941429734230042,-0.0926984921097755,0.3202439546585083,-0.6363947391510010,0.1387458592653275,0.0786793977022171) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(0.0061861029826105,-0.2433091551065445,0.2566366493701935,0.0533551722764969,-0.0290800239890814,0.3748449683189392,-0.0315197892487049,-0.5474284887313843,-0.0388411879539490,-0.0617205537855625,0.0158661734312773,0.1277355402708054,-0.1119790449738503,-0.3430351316928864,0.0742595493793488,-0.2360652983188629) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.1328734904527664,-0.4145849347114563,-0.5556353330612183,-0.1917155981063843,-0.0579247437417507,0.0271499268710613,-0.2180203199386597,-0.2175027877092361,-0.0770114809274673,-0.0746197402477264,-0.1473943889141083,0.0477991849184036,-0.0148708047345281,-0.0942263156175613,-0.1056677773594856,-0.3181895613670349) * MODEL2_texOff(vec2(-1,0)); -res += mat4(-0.0933884605765343,0.4464295804500580,0.1864062547683716,-0.2428316175937653,0.0091863730922341,0.0066727939993143,0.2278614938259125,0.0407700166106224,-0.0217400901019573,-0.0089303944259882,0.0608105957508087,0.0034453994594514,-0.0575114041566849,-0.3221804797649384,0.1051684170961380,0.0491008646786213) * MODEL3_texOff(vec2(-1,0)); -res += mat4(0.0175898224115372,-0.0022226218134165,-0.2113958448171616,0.3449440598487854,-0.1412918716669083,-0.1120014712214470,-0.3145899474620819,0.3299396932125092,0.0570392832159996,0.3087191581726074,-0.0436424948275089,-0.1651565432548523,-0.2497800141572952,-0.4630553722381592,0.1206926479935646,-0.0631397441029549) * MODEL4_texOff(vec2(-1,0)); -res += mat4(0.0863930583000183,0.4767310321331024,-0.0583035126328468,0.0486125871539116,0.0731265991926193,-0.0980255678296089,0.1599799990653992,-0.1969169527292252,0.0129284346476197,-0.1523057520389557,0.1927413493394852,0.0369221642613411,0.0267726648598909,0.0085872625932097,-0.2059309929609299,-0.0781255662441254) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.0053160390816629,-0.0114771798253059,-0.0920668691396713,-0.1277164816856384,0.1347965002059937,-0.1123904660344124,0.2623544931411743,0.1807247251272202,-0.1826624423265457,0.0890938192605972,-0.2081806659698486,-0.0265102572739124,-0.2511420249938965,-0.3642075955867767,-0.1960840672254562,0.2282556742429733) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.1304119229316711,-0.1310023069381714,-0.1879419535398483,-0.1534926742315292,0.0867782682180405,-0.1649359315633774,0.1634290069341660,0.0068767536431551,-0.0467854514718056,0.1089409291744232,0.0465519055724144,0.2068714201450348,-0.0290457345545292,0.2391352653503418,-0.0619399435818195,0.1424463242292404) * MODEL3_texOff(vec2(-1,1)); -res += mat4(-0.0018676006002352,0.1332158446311951,0.3071989119052887,0.0174633916467428,-0.0699404776096344,0.1084066629409790,0.1364846229553223,0.1159763559699059,-0.0480275079607964,-0.4437184333801270,0.1823548525571823,-0.1592775881290436,0.0239598173648119,0.0776209533214569,-0.3734119832515717,0.0483766272664070) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.3958072364330292,0.4064818620681763,0.1182176992297173,-0.0630514547228813,-0.2958301305770874,0.2158587723970413,0.1844703406095505,0.0829237923026085,0.0300246998667717,-0.0076577407307923,-0.1118960455060005,0.0657947883009911,0.1468003392219543,0.1012594997882843,-0.1200218871235847,0.0575959905982018) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.0439574532210827,-0.0342512875795364,0.1198491603136063,0.0569071359932423,-0.2773189544677734,0.0276473425328732,0.0503465831279755,-0.0294683892279863,-0.1125778257846832,-0.1835590004920959,-0.2119190990924835,0.0135993221774697,0.3683224320411682,-0.6543045043945312,0.0588777251541615,-0.0644268468022346) * MODEL2_texOff(vec2(0,-1)); -res += mat4(-0.6709493994712830,-0.0510004945099354,-0.0327867940068245,-0.0542119666934013,0.5428741574287415,-0.2171358913183212,-0.1788071691989899,-0.0115239555016160,0.0560156069695950,-0.0389721207320690,-0.2194385826587677,-0.0730813071131706,0.2017922103404999,-0.3187334835529327,0.1126372441649437,0.0659322142601013) * MODEL3_texOff(vec2(0,-1)); -res += mat4(-0.0853002369403839,-0.5523035526275635,-0.0062804054468870,-0.1822048574686050,-0.1589933186769485,0.2936513423919678,0.3282754123210907,-0.0821304619312286,0.3000006377696991,0.0232181232422590,0.0296038947999477,-0.2985506653785706,0.1611278057098389,-0.3611412644386292,0.2865517735481262,-0.1553557664155960) * MODEL4_texOff(vec2(0,-1)); -res += mat4(-0.1738335639238358,0.3487513065338135,-0.1364589333534241,-0.3615652024745941,0.4185519814491272,0.5301572680473328,-0.9419437646865845,-0.8370573520660400,0.0375004485249519,-0.0669632777571678,0.1191441267728806,0.1945374906063080,-0.2194370031356812,0.6181265115737915,0.3488807082176208,0.2756504416465759) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.3569741845130920,-0.2014349699020386,-0.7833114266395569,-0.2818526327610016,0.1310144215822220,-0.1745538711547852,-0.3036801218986511,0.7271450757980347,0.0465441606938839,-0.4831406474113464,-0.3451803624629974,-0.1129988580942154,-0.0218575540930033,0.2799502015113831,0.3072584867477417,0.2912150621414185) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.2870803773403168,0.1482480764389038,0.1605004072189331,-0.1584322750568390,-0.3893961906433105,-0.7580126523971558,0.5952653884887695,-0.0874569267034531,-0.0303031001240015,-0.0761542543768883,-0.2135511636734009,0.1952854841947556,0.0925365984439850,-0.4599846601486206,0.2825924754142761,-0.7044473290443420) * MODEL3_texOff(vec2(0,0)); -res += mat4(-0.0922626033425331,-0.0603037066757679,-0.4493271410465240,-0.5298621058464050,-0.2890153825283051,0.0927275121212006,-1.0531142950057983,-0.6113587617874146,-0.1618873625993729,0.0476957969367504,-0.0018244569655508,-0.5462905168533325,0.1010603010654449,-0.2124905884265900,-0.2762548327445984,-0.2766358852386475) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.1988933831453323,0.0994351357221603,-0.4228837788105011,0.0489445999264717,-0.1829699128866196,0.2394288927316666,0.5436335206031799,-0.1593505591154099,-0.0227949935942888,-0.2940272092819214,0.0947608277201653,-0.0181172564625740,0.1085731834173203,-0.1314677298069000,0.3206368088722229,-0.2062132954597473) * MODEL1_texOff(vec2(0,1)); -res += mat4(-0.2541041076183319,0.2557089924812317,-0.4808665215969086,-0.2363691478967667,0.1692509800195694,-0.0390186458826065,0.0974366217851639,0.2243825048208237,-0.4363555014133453,-0.3497348129749298,-0.6913013458251953,0.0185462776571512,-0.3049576282501221,-0.3033468425273895,-0.4316872358322144,-0.1699993610382080) * MODEL2_texOff(vec2(0,1)); -res += mat4(0.3071744740009308,0.3621467053890228,-0.1005984172224998,0.0747817009687424,-0.0433912649750710,-0.3260292410850525,0.0102246813476086,0.0993230938911438,-0.4786410927772522,0.1699418127536774,-0.3136234283447266,-0.3366701900959015,-0.2117681652307510,-0.2202868908643723,-0.3204817771911621,-0.2898558378219604) * MODEL3_texOff(vec2(0,1)); -res += mat4(0.0263315960764885,-0.3030783832073212,0.5731752514839172,0.0163164157420397,0.0994879081845284,0.0459609739482403,0.0356153398752213,0.3358831703662872,-0.2208869010210037,0.3033982813358307,0.0253771729767323,-0.3519003093242645,-0.0202707070857286,-0.1821469962596893,-0.3992060422897339,0.0346953496336937) * MODEL4_texOff(vec2(0,1)); -res += mat4(0.3334394693374634,-0.1968406885862350,0.1701373010873795,0.1021427288651466,-0.0147269601002336,0.0701922625303268,0.0501354150474072,-0.0238048546016216,-0.0242276247590780,-0.3706024587154388,0.0057721352204680,0.0673455297946930,0.1210014969110489,0.2068747729063034,-0.0184159558266401,-0.1844947785139084) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0711980611085892,-0.1646527200937271,-0.0348984114825726,0.0458331070840359,-0.0592295564711094,0.0429804362356663,0.0633668527007103,-0.0887297615408897,0.0591199062764645,0.2785882353782654,0.1546631008386612,0.0576921850442886,0.1357407271862030,0.0261168684810400,-0.2746448218822479,0.0076845628209412) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.2072208076715469,0.1141251027584076,0.0491079241037369,-0.0414020381867886,0.2520525753498077,-0.0095078833401203,0.0605663172900677,-0.0657160580158234,0.2095283269882202,0.1218301057815552,-0.0085758138448000,-0.0047799674794078,0.0383018031716347,-0.1704875975847244,-0.0236699488013983,-0.0657273232936859) * MODEL3_texOff(vec2(1,-1)); -res += mat4(-0.0391417890787125,-0.0950736999511719,-0.0867062881588936,-0.1508761197328568,-0.0721105113625526,0.3227547705173492,0.1170788034796715,0.1071276441216469,0.3144429326057434,0.1505455076694489,0.2037825584411621,0.2058983594179153,0.2463132888078690,0.0262015853077173,0.1655953228473663,0.0284772794693708) * MODEL4_texOff(vec2(1,-1)); -res += mat4(-0.2142096757888794,-0.3336849510669708,0.1100151464343071,0.1912226378917694,-0.0637261494994164,-0.0036669168621302,-0.0317040383815765,0.0309900958091021,0.0629468336701393,-0.0138057358562946,0.0198006369173527,0.0468734242022038,-0.1184963062405586,0.2932909131050110,0.1430784016847610,-0.2738595008850098) * MODEL1_texOff(vec2(1,0)); -res += mat4(0.0263565480709076,-0.2182097584009171,0.0248852483928204,0.0806952863931656,0.0411778949201107,0.0462260097265244,0.2508244514465332,-0.2604519128799438,0.1782611757516861,-0.0552900508046150,-0.0188052784651518,0.1505897045135498,0.1071805506944656,0.1933152079582214,0.0772838443517685,-0.3518147766590118) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.3039082586765289,0.2085517495870590,0.1073516756296158,0.0792794078588486,0.0139703052118421,0.1793562620878220,-0.0779549032449722,-0.4413506090641022,-0.0154337212443352,0.1998108625411987,-0.1112744733691216,-0.0729703530669212,0.0364848375320435,-0.1272945255041122,0.2254590988159180,-0.2005347013473511) * MODEL3_texOff(vec2(1,0)); -res += mat4(-0.0273634362965822,0.2264695465564728,0.1658903509378433,0.2102769166231155,-0.1478670835494995,0.2959378957748413,-0.1816536337137222,0.2262745201587677,-0.0842936486005783,0.2780936658382416,-0.1769950538873672,-0.1050595194101334,0.0085508283227682,0.2996675074100494,0.1085069105029106,0.0264055654406548) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.0275089219212532,-0.0199142079800367,-0.1471563428640366,0.0359929502010345,-0.0232283771038055,-0.2136822640895844,0.3263385593891144,-0.0078923916444182,-0.0089772054925561,-0.2155348360538483,0.0575222708284855,-0.0584659241139889,-0.1102655529975891,0.0794615447521210,0.0324593000113964,-0.0505253821611404) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.0989244282245636,-0.1169452443718910,-0.0588202178478241,0.2295041233301163,-0.0500692725181580,0.1185398548841476,0.2176976650953293,-0.0961228460073471,-0.3480427563190460,0.3826696872711182,-0.2737647891044617,0.3211134970188141,-0.0960477218031883,-0.2945753335952759,-0.1037626191973686,-0.1685638427734375) * MODEL2_texOff(vec2(1,1)); -res += mat4(-0.0226573441177607,0.2182911187410355,0.0424330383539200,-0.0281616933643818,-0.0349009595811367,-0.1639105528593063,0.2685182988643646,-0.2577687799930573,-0.2169789373874664,-0.0619792789220810,-0.0216093808412552,-0.0641317814588547,0.0200322512537241,0.0781936794519424,0.1579122543334961,-0.0302272662520409) * MODEL3_texOff(vec2(1,1)); -res += mat4(-0.0130745423957705,-0.0074001727625728,-0.4127369225025177,-0.1832849383354187,-0.0191794950515032,-0.1459515541791916,0.0506785213947296,-0.0798520520329475,-0.1798611879348755,0.0208102259784937,-0.0432562939822674,0.0866297408938408,-0.1733963042497635,0.3829587697982788,-0.1485795825719833,0.0457934252917767) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.2022365331649780,0.0257512368261814,0.0406768731772900,0.2374598830938339) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_4 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!SAVE MODEL24 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.1615822762250900,-0.3181393742561340,-0.1999485045671463,-0.3559705018997192); -res += mat4(-0.1974588930606842,-0.0361125282943249,0.0272251442074776,0.3330465853214264,0.1987139582633972,0.2116202712059021,0.0364080779254436,0.0950169339776039,-0.0183155369013548,0.1389241069555283,0.0915704816579819,0.0289167705923319,-0.1128599345684052,-0.0840830653905869,0.0487023331224918,-0.0443631745874882) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(0.0031848836224526,0.1297396570444107,-0.0644683688879013,0.0848719477653503,0.3124601542949677,0.4512622654438019,0.0452612601220608,0.1563718467950821,0.0617647059261799,0.0545460805296898,-0.0145732900127769,-0.1544342786073685,0.3531651198863983,-0.0244909264147282,-0.0518489591777325,0.0819958001375198) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(0.3703565895557404,0.3106299340724945,-0.0596154928207397,-0.0143657997250557,-0.1106218844652176,-0.2220201492309570,-0.0493395030498505,-0.0209231022745371,-0.0452506951987743,-0.0562542080879211,0.0413091406226158,0.1060889288783073,-0.1341663300991058,-0.2745214104652405,0.0044015492312610,0.1632619202136993) * MODEL3_texOff(vec2(-1,-1)); -res += mat4(-0.0422523096203804,-0.1062318906188011,-0.0942376032471657,0.0562276653945446,0.2332727015018463,-0.0921145454049110,0.1994942575693130,-0.0289016347378492,-0.3205979466438293,-0.0989910215139389,-0.0473002642393112,-0.0369105041027069,0.1293666362762451,-0.3146778047084808,-0.0866488367319107,-0.0980222001671791) * MODEL4_texOff(vec2(-1,-1)); -res += mat4(-0.0427063852548599,-0.1648644804954529,0.0379024669528008,-0.0208045244216919,-0.1719881892204285,0.3812213838100433,0.1619504541158676,0.0470844097435474,0.1719943434000015,-0.2370854169130325,0.0481606535613537,0.0425046421587467,0.0846692100167274,-0.1100198403000832,-0.2590966522693634,0.0026085490826517) * MODEL1_texOff(vec2(-1,0)); -res += mat4(-0.2735429108142853,0.1730803400278091,0.3100599348545074,0.0985910445451736,0.1110698357224464,0.6594412326812744,0.7377954721450806,-0.2639446258544922,-0.0634758099913597,-0.1699009984731674,-0.1212719082832336,0.0028376460541040,-0.1164819374680519,-1.0320463180541992,-0.0450741462409496,-0.1320651471614838) * MODEL2_texOff(vec2(-1,0)); -res += mat4(-0.0713348165154457,0.2158897370100021,0.0068049891851842,0.2112420648336411,0.1104797795414925,-0.1926867812871933,-0.2347638309001923,-0.0045262179337442,-0.1009434685111046,-0.0155510986223817,0.1563263982534409,0.0713946446776390,0.0621294677257538,-0.6294711828231812,0.1566622406244278,-0.0091994525864720) * MODEL3_texOff(vec2(-1,0)); -res += mat4(-0.3112075030803680,-0.6678212881088257,-0.2279316931962967,0.0975699722766876,0.0887780785560608,-0.6464394330978394,0.4730529189109802,-0.1636635661125183,0.3923094570636749,-0.2109929919242859,-0.0590078011155128,0.1201331168413162,0.0747839882969856,-0.6923506855964661,-0.1845218688249588,-0.6314243078231812) * MODEL4_texOff(vec2(-1,0)); -res += mat4(0.1466641724109650,-0.0201342832297087,0.0536496415734291,-0.1008828654885292,-0.0157332532107830,0.1040282845497131,-0.1103689000010490,0.0703886225819588,0.0615994036197662,0.1226205825805664,0.0363954119384289,0.0492972880601883,-0.0888964235782623,-0.4082735776901245,-0.0756086632609367,0.0448960103094578) * MODEL1_texOff(vec2(-1,1)); -res += mat4(0.0087998807430267,-0.1445795148611069,0.1685708165168762,-0.2043169140815735,0.0506292805075645,0.1092414259910583,-0.0573321618139744,0.2661716639995575,0.2547429502010345,0.5587040781974792,0.5166037082672119,-0.2281772345304489,0.5585767030715942,-0.3029598295688629,0.0948151722550392,-0.2011469453573227) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.0988581106066704,-0.0050347773358226,0.0214924830943346,0.0934388861060143,-0.0946071669459343,0.0599846467375755,-0.1351220011711121,0.1020606458187103,-0.2519436478614807,-0.0515622273087502,0.0842102542519569,0.0880617350339890,0.0549225658178329,-0.0714932754635811,0.0816045850515366,0.0435110107064247) * MODEL3_texOff(vec2(-1,1)); -res += mat4(-0.0891644656658173,0.2382436543703079,-0.0550603754818439,-0.1067416295409203,0.1685477197170258,0.0988656878471375,0.1751660406589508,0.1592041403055191,-0.0025217381771654,-0.0715155899524689,-0.1038656681776047,0.0117675382643938,-0.0858341678977013,0.1848066747188568,0.0730907768011093,0.1294896751642227) * MODEL4_texOff(vec2(-1,1)); -res += mat4(0.1480890065431595,0.1093944683670998,0.0273557640612125,0.0978048443794250,-0.1570419818162918,-0.0844203978776932,-0.1055161878466606,0.0666613504290581,0.0353829339146614,0.1729962825775146,0.1570480465888977,0.1071970239281654,0.0467069819569588,-0.0041125947609544,-0.1477214992046356,-0.0558170601725578) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.0766604617238045,-0.0088386107236147,-0.1634499430656433,0.0254724863916636,-0.1766208857297897,0.1404360383749008,0.1722287982702255,0.0101510491222143,-0.1669355183839798,0.0280846152454615,-0.0156840607523918,-0.0646581575274467,0.5041709542274475,0.1393980532884598,-0.0197534523904324,0.0634621903300285) * MODEL2_texOff(vec2(0,-1)); -res += mat4(-0.1562757045030594,-0.1491460204124451,-0.1293769925832748,-0.0993995070457458,0.0518447905778885,-0.0883174687623978,-0.3151679337024689,0.0233054235577583,0.0155591340735555,0.2825752496719360,0.0820059627294540,0.1270603984594345,0.1299761980772018,-0.3897947967052460,-0.0983077734708786,0.1207662671804428) * MODEL3_texOff(vec2(0,-1)); -res += mat4(0.0201731696724892,0.5210286974906921,-0.0586822256445885,-0.0883760228753090,-0.0129213891923428,0.5142046809196472,0.1718618422746658,0.2975693345069885,-0.3396313786506653,0.1059687063097954,0.0777886360883713,-0.0071464977227151,0.1728369146585464,0.3824301362037659,-0.0833638533949852,-0.2928820848464966) * MODEL4_texOff(vec2(0,-1)); -res += mat4(0.0064954073168337,0.1674818545579910,0.0887469202280045,-0.7010315060615540,0.3658912777900696,-0.4067452549934387,0.4187158048152924,0.3783641755580902,0.1789065748453140,0.1189458966255188,0.0024689293932170,-0.0299046002328396,-0.2898829281330109,0.4775104820728302,0.1953880339860916,0.0813034474849701) * MODEL1_texOff(vec2(0,0)); -res += mat4(-0.0485714860260487,-0.5938887000083923,0.4764872193336487,0.1407720744609833,0.0093602379783988,0.1419454663991928,-0.4671202898025513,0.1723480522632599,-0.7166591882705688,0.4574638009071350,-0.0326357334852219,-0.0583588704466820,-0.0941323116421700,0.4582560956478119,0.1340586692094803,-0.3326202929019928) * MODEL2_texOff(vec2(0,0)); -res += mat4(-0.0684696584939957,-0.0358825363218784,-0.2395974695682526,0.0954800844192505,0.1807143390178680,0.4913621544837952,-0.0526139996945858,-0.6320487856864929,-0.0204235855489969,0.1250404417514801,0.2128109931945801,-0.0169341322034597,0.0350728556513786,-0.0781793445348740,0.0091825509443879,0.0751496478915215) * MODEL3_texOff(vec2(0,0)); -res += mat4(-0.4747851788997650,0.3133098781108856,-0.3814404308795929,0.1067867875099182,0.1430086493492126,0.1043839082121849,0.2127566039562225,-0.4224065542221069,0.0955729708075523,-0.3406157791614532,0.1246647760272026,0.1407596766948700,-0.2837055027484894,0.7860319614410400,-0.2027616798877716,-0.4297810494899750) * MODEL4_texOff(vec2(0,0)); -res += mat4(0.0459526479244232,0.2253930121660233,-0.1006621196866035,-0.3292084634304047,0.0446605868637562,-0.2177486866712570,-0.0548334866762161,-0.2977205514907837,0.1104483753442764,0.0816389992833138,0.1431364119052887,0.0702833682298660,-0.2710016071796417,-0.1197729110717773,-0.0982481837272644,0.2712083756923676) * MODEL1_texOff(vec2(0,1)); -res += mat4(-0.2157401442527771,-0.0775162652134895,0.4440428316593170,-0.6906740069389343,0.2072909325361252,-0.0245185904204845,-0.0075218183919787,-0.2698760926723480,-0.1381023973226547,-0.5785195231437683,0.6836381554603577,-0.2779017984867096,0.1575073450803757,-0.0533783882856369,0.1232813969254494,0.3853336870670319) * MODEL2_texOff(vec2(0,1)); -res += mat4(0.2543635964393616,-0.1031905189156532,-0.1863321214914322,0.1541504561901093,0.0573079325258732,-0.0309962946921587,-0.0597893632948399,0.1371916234493256,-0.1392024308443069,-0.1404805779457092,-0.0184998251497746,-0.3532753884792328,0.1169531121850014,-0.1732151508331299,0.1489966958761215,-0.3539541065692902) * MODEL3_texOff(vec2(0,1)); -res += mat4(-0.1335048824548721,-0.0026021120138466,-0.2061898857355118,-0.0614206343889236,0.1404600590467453,-0.0945246815681458,0.0452495291829109,0.1688058525323868,-0.0646559670567513,0.4283471107482910,0.1381076723337173,-0.1573742926120758,0.1510650962591171,0.1086952090263367,0.1548220962285995,0.0828442424535751) * MODEL4_texOff(vec2(0,1)); -res += mat4(-0.0242201369255781,0.0997985452413559,-0.1483216881752014,0.1901189386844635,-0.0716479793190956,0.1051960438489914,-0.0346695780754089,0.0622938871383667,0.1448462009429932,0.1205437332391739,0.0731006562709808,0.0288040526211262,-0.0466316454112530,-0.2884612679481506,0.0575182922184467,0.1197100803256035) * MODEL1_texOff(vec2(1,-1)); -res += mat4(0.0110533563420177,0.1390976607799530,-0.0671180188655853,0.0268602054566145,0.0147142149507999,-0.1020987257361412,0.0262565556913614,0.0969162508845329,-0.0498718880116940,-0.1287681758403778,0.0755067318677902,0.0858733430504799,0.1504770666360855,-0.1764158755540848,0.0081835035234690,0.0668434947729111) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.0589775331318378,0.1392201185226440,-0.0361892916262150,-0.2372763007879257,0.1082609817385674,0.0466561466455460,0.0278300307691097,0.0998477637767792,0.0669115632772446,-0.2091742604970932,0.1381004750728607,0.0766300112009048,0.1446924954652786,0.1631669253110886,-0.0644430965185165,0.0767935365438461) * MODEL3_texOff(vec2(1,-1)); -res += mat4(0.0524473711848259,-0.1524970829486847,0.1444454789161682,-0.1205128729343414,0.0662038400769234,0.1602598577737808,0.0945349857211113,0.2149742394685745,-0.0533903911709785,0.3189899027347565,-0.1177339255809784,0.0019386430503801,0.1200195476412773,-0.2956101298332214,0.1650701165199280,0.0415289178490639) * MODEL4_texOff(vec2(1,-1)); -res += mat4(-0.0486291609704494,0.3953767120838165,-0.1255990713834763,-0.3293313086032867,0.1416009515523911,0.1239224448800087,0.2408447265625000,0.2534500956535339,0.1353967189788818,0.0096069956198335,0.0511887893080711,-0.1374846547842026,-0.2171303778886795,-0.0621167272329330,0.0551748014986515,-0.1582599282264709) * MODEL1_texOff(vec2(1,0)); -res += mat4(-0.1558980643749237,0.2135347872972488,-0.0382786728441715,0.0563892051577568,0.2865737378597260,-0.2930139899253845,0.1893816143274307,0.0373828299343586,0.1701010316610336,-0.1615521311759949,-0.0457543432712555,0.0079989656805992,0.4211249053478241,-0.2294072806835175,0.0191718637943268,-0.2165979892015457) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.0352835580706596,0.0126804132014513,0.1060079634189606,0.0810654908418655,0.0728891044855118,-0.0235399026423693,0.0480183027684689,-0.5944545269012451,0.0423041731119156,0.0811937302350998,0.1780243217945099,-0.3017739951610565,0.0543744824826717,0.0653476417064667,0.0503508001565933,0.0260920189321041) * MODEL3_texOff(vec2(1,0)); -res += mat4(-0.4671322107315063,-0.0928015857934952,0.2024582177400589,-0.2208473086357117,0.2275488525629044,0.1748902946710587,0.1170512139797211,-0.2093700170516968,-0.1567525714635849,0.7000426650047302,0.1178150996565819,0.0175986383110285,0.0477720387279987,-0.6606707572937012,0.2863810062408447,-0.3851889967918396) * MODEL4_texOff(vec2(1,0)); -res += mat4(0.2252556532621384,-0.2217492759227753,-0.0934017598628998,-0.0658233538269997,0.0241077225655317,-0.1290224492549896,0.0603329613804817,-0.0828618034720421,0.1114495173096657,0.0259773936122656,0.1097635626792908,0.0774067267775536,0.0278273224830627,-0.0860898271203041,-0.0221626814454794,-0.1882199347019196) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.1687875241041183,0.0478606447577477,-0.0516307912766933,-0.3704669475555420,0.1190483495593071,-0.1301420480012894,0.1876411139965057,0.0759634152054787,-0.0653661862015724,-0.0197278223931789,0.1632201224565506,0.1205626502633095,0.1190266013145447,0.2711841762065887,0.0045819743536413,-0.3520955741405487) * MODEL2_texOff(vec2(1,1)); -res += mat4(0.0539962351322174,-0.0687875524163246,0.0390589311718941,0.3079180121421814,-0.1250923424959183,-0.1496006846427917,0.0689963996410370,0.1750945746898651,-0.1237833872437477,0.2568069696426392,-0.0401086509227753,-0.6318426728248596,0.2254602909088135,0.1945572644472122,0.1131982803344727,0.2567225992679596) * MODEL3_texOff(vec2(1,1)); -res += mat4(-0.2952269017696381,-0.0350491218268871,-0.0263390596956015,0.0551356598734856,0.1985633224248886,-0.1453243643045425,0.0687370896339417,0.2197585701942444,-0.2182653546333313,0.2905139923095703,-0.0267444811761379,-0.2130593657493591,0.0779621079564095,-0.1403796523809433,0.2053179889917374,0.3907326459884644) * MODEL4_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.1542360335588455,0.1412342339754105,0.2793002426624298,-0.0122240018099546) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.4017260372638702,-0.2961334884166718,-0.1361677497625351,-0.0893436446785927); -res += mat4(0.2097381800413132,0.0455209799110889,0.0259832218289375,-0.0885811075568199,-0.0067618829198182,-0.0790565013885498,-0.1110692024230957,-0.0180842950940132,0.0158209800720215,-0.0187969636172056,-0.0204427260905504,-0.2228807806968689,-0.0711185410618782,-0.0127975698560476,0.0209482349455357,0.0492094419896603) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0825126916170120,0.0142949596047401,0.0014128192560747,0.1430399119853973,-0.1104710847139359,0.0465638190507889,-0.0133922407403588,-0.1491267383098602,-0.0963994413614273,-0.0794140994548798,-0.0114508774131536,0.2101793587207794,0.0521571338176727,0.0200386326760054,0.0641321614384651,-0.0391873233020306) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.1520352214574814,0.0362231470644474,-0.1735580861568451,-0.0480187125504017,0.0255993194878101,0.0021788808517158,0.0240470990538597,-0.0222435146570206,0.0286579951643944,0.0400702878832817,0.0619828291237354,0.1402423828840256,-0.0478758364915848,-0.0099906520918012,-0.0750462785363197,-0.0264946576207876) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0258351694792509,0.0523434728384018,-0.0001439041661797,-0.4302446544170380,0.2808142602443695,0.0586529597640038,0.0233658440411091,0.0250332076102495,-0.1439442187547684,0.0323054641485214,0.0306089632213116,-0.0787173062562943,0.2927255332469940,-0.0432015433907509,0.1597368568181992,0.0631633177399635) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.0406202860176563,0.0948056876659393,-0.0016681901179254,0.0702174976468086,0.1148841306567192,-0.1661987155675888,0.0636739060282707,-0.0837402492761612,0.1120814383029938,-0.0271764490753412,-0.0322991609573364,-0.1166550219058990,-0.1365866363048553,-0.0204168818891048,-0.0006664992542937,-0.0552206113934517) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.2642927765846252,0.0292292218655348,-0.0285296738147736,-0.0599881522357464,-0.0689995810389519,-0.1233489960432053,-0.1328419595956802,-0.2746882438659668,-0.2931686937808990,0.1162078306078911,-0.0205998104065657,-0.2093065381050110,0.4624252617359161,0.1201894655823708,0.1537899672985077,-0.1396795362234116) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0468857064843178,0.0680844113230705,-0.0621197260916233,-0.1120299324393272,0.2493423074483871,-0.0360720269382000,0.1085719913244247,0.0258240625262260,0.0603066310286522,-0.0100611504167318,0.0094873001798987,0.0243063438683748,-0.0421180427074432,0.0433366373181343,-0.0360187962651253,-0.0118739269673824) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.0021250096615404,0.0066482825204730,0.0012090024538338,-0.0424312166869640,-0.2473762929439545,0.0487834848463535,-0.0168533548712730,-0.0338227190077305,0.1850264370441437,0.1778176277875900,0.0584322102367878,-0.0196400973945856,0.0880245119333267,-0.0483354441821575,-0.0032457294873893,0.3941470980644226) * MODEL24_texOff(vec2(-1,0)); -res += mat4(0.1407747119665146,0.0285373218357563,-0.0326111093163490,-0.0126952938735485,-0.0986694246530533,-0.1084323599934578,0.2191060334444046,0.0870947688817978,-0.4361937344074249,-0.0923902466893196,-0.0366748645901680,-0.0339165031909943,-0.3207955658435822,0.0006921324529685,0.0325197428464890,-0.0059981741942465) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.0493194982409477,0.0047612232156098,-0.0501776710152626,0.0761292353272438,0.0440238378942013,-0.0962646976113319,-0.0159055087715387,-0.0891461148858070,-0.0807150751352310,0.1511806398630142,-0.0009086466743611,0.0526818148791790,0.0227832496166229,0.0163672640919685,0.1001215651631355,-0.0190013367682695) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.1284213811159134,0.0020348706748337,-0.0224223677068949,0.0618590824306011,-0.0182180218398571,-0.1362143009901047,-0.0246695056557655,-0.0094380369409919,0.0524647533893585,0.0233174934983253,-0.0424746274948120,-0.0974605008959770,0.0615278035402298,-0.0220964886248112,-0.0383524969220161,-0.0995529666543007) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0797834247350693,0.0756283625960350,-0.0404821448028088,-0.1541213095188141,0.2288120239973068,0.0381797179579735,-0.0554104149341583,-0.0191117413341999,0.1889799833297729,0.0610259659588337,-0.0413142666220665,-0.0681122764945030,-0.2335439771413803,0.0230415090918541,0.0580160096287727,-0.0376873239874840) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.1205652803182602,0.0567708238959312,0.0532078668475151,0.0023451852612197,0.0004279239219613,0.1615711599588394,0.0226642377674580,0.0061074844561517,0.0973163396120071,0.0454865433275700,0.0075657670386136,-0.0291110761463642,-0.2150427550077438,-0.0380354188382626,0.0195998251438141,0.0733001306653023) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.0121162114664912,0.0026517154183239,0.1457572430372238,0.1338728964328766,0.0548631958663464,-0.0518958866596222,0.1171092316508293,0.1558521389961243,-0.1996449083089828,0.0507291331887245,-0.0580380372703075,-0.0554652661085129,0.1130587980151176,-0.0673785731196404,0.0412916131317616,0.0101153869181871) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.0724401921033859,0.1120468005537987,-0.2719030678272247,-0.0212808307260275,0.2433746457099915,-0.0861721932888031,0.0562748312950134,-0.0693661868572235,-0.2198645323514938,-0.0902982130646706,0.0976229459047318,-0.0972380563616753,-0.1861834973096848,-0.0242842808365822,0.0934249460697174,-0.0893250033259392) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.1657098382711411,0.0126938382163644,-0.0438225679099560,-0.0742039903998375,0.2963215410709381,-0.0713309645652771,0.0827048197388649,0.0660631582140923,-0.1251822412014008,-0.0499160476028919,-0.2584874331951141,-0.1251225322484970,0.1618934273719788,-0.1064148470759392,0.1819295287132263,0.2171864509582520) * MODEL24_texOff(vec2(0,-1)); -res += mat4(0.1569976806640625,0.3101954758167267,0.0150568205863237,-0.0887403264641762,0.0229867883026600,0.4311129748821259,-0.1446330398321152,-0.1213236078619957,-0.0203808881342411,0.2042820155620575,-0.0433217436075211,-0.0179664622992277,-0.2846025526523590,-0.0990165472030640,0.0056579820811749,-0.0683584734797478) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.0853557437658310,-0.0774037018418312,-0.0415960364043713,-0.1887119114398956,-0.5862891077995300,0.0278921741992235,0.0256915763020515,-0.0210970006883144,0.2069407552480698,-0.1677509099245071,-0.0279460810124874,0.0731252431869507,0.5933819413185120,-0.1151936426758766,-0.0640015155076981,-0.0522294752299786) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.1260266751050949,-0.2648131549358368,-0.1370221376419067,0.2285791039466858,0.2001305967569351,0.1079795658588409,0.2466328740119934,0.0457031726837158,-0.0482302606105804,0.0922641381621361,0.1157679036259651,0.0874616578221321,-0.2405085563659668,0.2206059396266937,-0.1060627028346062,-0.1089278236031532) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.1133070364594460,0.0483875982463360,0.0714892596006393,-0.1741379052400589,-0.0075362133793533,-0.1605125516653061,-0.0356721058487892,-0.1034936383366585,-0.3046982884407043,-0.2816949784755707,0.1567458659410477,0.0703221932053566,-0.3049350976943970,0.0748891606926918,-0.3223647773265839,0.3255655467510223) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.2866676747798920,0.0061847539618611,-0.0146162826567888,-0.0140134487301111,-0.0492958836257458,0.2509532868862152,0.2757189273834229,0.0991292446851730,-0.0792517438530922,0.2112044692039490,0.0271733049303293,0.0229198448359966,-0.1673509776592255,-0.1144836321473122,-0.0379185862839222,-0.1211301758885384) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.3355725407600403,0.0442647859454155,-0.0838595926761627,0.1079318448901176,-0.2963336408138275,0.0576937161386013,-0.1598837226629257,0.0096225263550878,0.1108556762337685,-0.0730845928192139,0.0671025812625885,-0.0082114962860942,0.2242141515016556,0.1097397506237030,0.0286945737898350,0.1402641087770462) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.0355083383619785,0.0025727578904480,0.0215286500751972,0.0641032680869102,0.1199254021048546,0.2343555688858032,-0.1932496577501297,-0.0099069811403751,0.2384359985589981,-0.0141440071165562,-0.1757063120603561,-0.0082274377346039,-0.0970101431012154,-0.0258587580174208,-0.1223197653889656,-0.0665969997644424) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.5002747178077698,-0.1544622480869293,0.0256742816418409,0.1729249954223633,-0.0812580212950706,-0.0510701090097427,0.0390088669955730,0.0295602343976498,-0.1957711130380630,-0.1831477880477905,-0.0720937699079514,0.0142635153606534,-0.2937955260276794,0.0205176435410976,0.0880671143531799,-0.0333128981292248) * MODEL24_texOff(vec2(0,1)); -res += mat4(0.0517796464264393,-0.0542778223752975,0.0063309129327536,0.0192148517817259,-0.1953081041574478,-0.0495741665363312,-0.0320096313953400,0.0262839626520872,0.1965485662221909,0.0579232648015022,0.0040284935384989,0.0084932213649154,-0.0804616361856461,-0.0339209511876106,-0.0477394163608551,-0.0912244990468025) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.1388270705938339,-0.0794934481382370,-0.0060276612639427,0.0195973459631205,0.1203104034066200,-0.0191927794367075,0.0834798216819763,-0.0049274601042271,-0.2150519788265228,-0.0466494448482990,-0.1428831666707993,-0.0850805714726448,0.1603372097015381,0.0740652829408646,0.0193773657083511,-0.1526438742876053) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.3676199316978455,-0.0407186113297939,-0.0791402086615562,0.0401397943496704,-0.2821306586265564,0.1057764440774918,-0.0107554029673338,0.0340133756399155,-0.0502954721450806,0.1529730111360550,0.0264162663370371,-0.0219731032848358,-0.0581691265106201,0.0023856244515628,-0.0353333987295628,0.0176197551190853) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.6594786643981934,-0.1180216446518898,-0.0536138117313385,-0.0736580863595009,0.3629510402679443,-0.0126025620847940,0.0704809352755547,0.0210348665714264,0.0380675010383129,0.1170240938663483,-0.0444464273750782,-0.0492949001491070,0.0362430326640606,0.0684820264577866,0.0186503622680902,0.0150468759238720) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.1482787728309631,-0.0365413613617420,0.0086090015247464,-0.0034506188239902,0.1712284833192825,-0.3256959319114685,-0.0199483390897512,-0.0377518758177757,-0.4051332771778107,-0.0191734265536070,-0.0113983657211065,0.0821225270628929,-0.4675072133541107,-0.2551299333572388,0.0303181782364845,-0.0401000455021858) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.3577684164047241,-0.1069141551852226,-0.0075849895365536,0.0423410274088383,-0.2249272912740707,0.1607808619737625,-0.0434508286416531,-0.0630646347999573,0.0467253662645817,-0.0850183889269829,0.0327854491770267,0.2028924971818924,0.4897454082965851,-0.0970613285899162,0.0489688776433468,-0.0030162953771651) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.0016830641543493,0.0805390849709511,-0.1892860084772110,-0.1161972433328629,-0.0632022395730019,0.1641979813575745,0.0994559228420258,-0.2015440464019775,0.0025371038354933,0.0016705504385754,0.0146092707291245,0.0851408392190933,-0.1325370669364929,0.0693494006991386,-0.0077681690454483,0.0221750363707542) * MODEL23_texOff(vec2(1,0)); -res += mat4(0.1509591937065125,0.0103544639423490,-0.0993898361921310,-0.1025217771530151,-0.3009583950042725,-0.0696848407387733,-0.0247161574661732,0.0697777643799782,-0.0050856992602348,-0.1217825189232826,0.0495748966932297,0.1007262021303177,-0.3699915111064911,0.0564243532717228,0.0082164555788040,0.0585284866392612) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0351840443909168,-0.0647222995758057,-0.0100252823904157,-0.0335104949772358,-0.2296986281871796,-0.1618685126304626,0.0621194280683994,-0.0818901062011719,0.1464237421751022,0.0368709973990917,-0.0003796320233960,-0.0569860376417637,-0.2498854845762253,-0.1455738246440887,0.0041685332544148,-0.0121320234611630) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.2348484843969345,0.0012038116110489,-0.0960916578769684,0.1704002171754837,-0.2120207697153091,0.0348598435521126,-0.0052639539353549,0.0917042419314384,-0.7559375166893005,-0.2539097964763641,0.0407256148755550,-0.1221201717853546,0.3407650887966156,-0.1105026379227638,-0.0182420276105404,-0.0694810226559639) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.0135694928467274,-0.0555824525654316,-0.0049720159731805,-0.0731092318892479,-0.2569287121295929,0.2798099219799042,-0.0756197869777679,-0.0065567190758884,0.1923488527536392,-0.0026427132543176,-0.0308974441140890,0.0103814210742712,0.1518303751945496,0.0891486555337906,-0.0057648457586765,-0.0346083641052246) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.1657511144876480,0.0101053500548005,0.0973210036754608,-0.0716674402356148,0.2944849431514740,0.0328244790434837,-0.0530092269182205,-0.0151719739660621,0.1255925446748734,0.0991518944501877,0.0034502455964684,0.0031958257313818,-0.0669909268617630,0.0833601877093315,-0.0631546378135681,0.0264812838286161) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0738428458571434,-0.0537280328571796,0.1541616767644882,0.0600824654102325) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-1.3576488494873047,-1.2308499813079834,-0.0150942681357265,-0.1689438074827194); -res += mat4(0.0002222305047326,0.2126581817865372,-0.4436426460742950,-0.0265662744641304,0.0120948767289519,0.2213644683361053,-0.1760943531990051,0.1429262906312943,-0.2877714037895203,-0.0088296765461564,-1.9501984119415283,0.0885886475443840,-0.1727663576602936,-0.1734728217124939,-1.9370113611221313,-0.0425419993698597) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0526014566421509,0.0003678515495267,0.2852052450180054,-0.0790593400597572,-0.3033583164215088,-0.1894276589155197,-1.5888235569000244,-0.0376820005476475,0.0662743598222733,-0.4705247879028320,-0.8843554258346558,0.0803821012377739,0.1606564372777939,-0.1361556947231293,0.0592208355665207,0.0616206489503384) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.0321790128946304,0.2487015426158905,-0.3988892734050751,0.0128471786156297,-0.0173364486545324,-0.1853401660919189,-0.2320190221071243,-0.0286743044853210,-0.0776202753186226,0.0980081930756569,0.0480991043150425,0.0124340718612075,-0.0705425217747688,0.0209217481315136,-0.5196899771690369,-0.0973696857690811) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(-0.0016310828505084,-0.1694957464933395,-3.7118730545043945,-0.0495798103511333,-0.0887507721781731,-0.1900598108768463,0.1969994455575943,-0.1086452603340149,-0.0323995985090733,-0.1345285028219223,0.1391065418720245,0.0422845482826233,0.5854858160018921,-0.8024836182594299,-1.3573205471038818,0.1715474575757980) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.5026074051856995,0.9941442608833313,-0.1181278079748154,-0.1071377545595169,-0.3640037477016449,0.1423653513193130,0.1483183354139328,0.1491519063711166,0.4714116454124451,-0.6614524722099304,0.0689334198832512,0.4130813181400299,-0.2428199052810669,-0.5482697486877441,-0.0643231868743896,0.0820593982934952) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.3884255290031433,0.0864198803901672,0.0709599480032921,-0.0727549865841866,-0.0210617538541555,-0.5082446336746216,0.0696677193045616,-0.0653665512800217,-0.3965116739273071,-0.5612360239028931,-0.0430528111755848,-0.1742940098047256,-0.0391180962324142,0.0120964674279094,0.0278037898242474,-0.1474379450082779) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0801782086491585,-0.3312005102634430,-0.0722291469573975,0.1868390589952469,-0.1296129226684570,-0.0983095318078995,0.1288020163774490,0.0442728921771049,-0.1188574805855751,-0.2784206569194794,0.0334004350006580,0.0193342156708241,-0.2584644556045532,0.2669636309146881,-0.0028693764470518,-0.1062500998377800) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.0388953760266304,0.0024954907130450,-0.1337166726589203,-0.1613133698701859,0.1160835772752762,0.1638180911540985,-0.0579901784658432,0.0131390430033207,-0.2732858955860138,-0.3843875527381897,-0.0702876299619675,-0.1991503983736038,-0.6187487840652466,0.1528591811656952,0.0061654588207603,-0.2680108845233917) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.2792676091194153,0.0347407497465611,-0.0249916408210993,-0.0471252836287022,0.0655104964971542,0.2337010949850082,0.0092136999592185,0.0498593896627426,0.2532851994037628,-0.3329302668571472,0.0197737384587526,0.2485453784465790,-0.0320697724819183,-0.2859528362751007,-0.0262277740985155,-0.0102716153487563) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.1766127049922943,-0.2082416713237762,0.0884197950363159,0.0531922541558743,0.0156908091157675,0.0239643827080727,0.0414093174040318,0.0693400129675865,-0.0447647050023079,0.0395914763212204,0.0231642629951239,-0.0426138713955879,-0.1834529191255569,0.0084871575236320,-0.0274198353290558,-0.0644422397017479) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0741052180528641,0.0246290937066078,-0.0369153693318367,0.0561013817787170,0.1028454825282097,0.0061585321091115,-0.0537896417081356,-0.0337303876876831,-0.0662548840045929,-0.0498280376195908,0.0457142703235149,0.0811578556895256,-0.1037622764706612,-0.0888546183705330,-0.0436059087514877,-0.0936727076768875) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.2277279943227768,-0.1982262581586838,-0.0134356319904327,-0.2890455722808838,-0.0378793254494667,0.0101268338039517,-0.0035741112660617,-0.0955145284533501,-0.0813091322779655,-0.0232999380677938,0.0124657666310668,0.0689150840044022,0.0433216728270054,0.2974031269550323,0.0363154485821724,0.0258811712265015) * MODEL24_texOff(vec2(-1,1)); -res += mat4(-0.0491647906601429,0.0150416148826480,0.0893379226326942,0.1105656847357750,-0.1163008585572243,-0.1098743379116058,0.0009594966541044,-0.0562435500323772,0.0399161949753761,0.0971821621060371,0.0255073197185993,0.0342289730906487,-0.1388117969036102,-0.2983616590499878,-0.0290130954235792,-0.0430332459509373) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.1405151784420013,-0.1738028973340988,0.0729382410645485,0.0060116075910628,-0.1093452870845795,-0.3609048128128052,0.0800551176071167,-0.1479738205671310,-0.0661064237356186,0.0784058421850204,0.0276903901249170,-0.1308635324239731,-0.3087964355945587,0.2989252507686615,0.0413251183927059,0.0298706330358982) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.4313424229621887,-0.0101253967732191,-0.0788659304380417,0.1731674820184708,-0.0627171993255615,-0.0078195510432124,0.0234318710863590,-0.1402248293161392,-1.7050009965896606,-0.1074014008045197,0.0621128939092159,0.0886992216110229,0.1283528059720993,-0.0102964043617249,-0.0357159823179245,0.0694401115179062) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.2309935092926025,-0.3976728916168213,-0.1636141389608383,-0.0505089759826660,0.0542949028313160,-0.0111915767192841,0.0006312167388387,0.1045704483985901,-0.0083215739578009,0.0779492780566216,-0.1483388245105743,-0.1207443773746490,0.5473612546920776,-0.0428715869784355,0.0853060111403465,-0.3940364718437195) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.0491685457527637,-0.4690579175949097,0.0852821841835976,0.1396847814321518,0.3277880549430847,0.0143328038975596,0.1600318551063538,-0.0773719325661659,-2.0900523662567139,-0.8753762245178223,-0.0359358787536621,0.5931379199028015,-1.8106154203414917,-1.9298766851425171,-0.0305595826357603,-0.2771121561527252) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.5724825263023376,-0.3126274943351746,-0.1602590829133987,-0.1358845680952072,-0.3762953877449036,0.4733247160911560,-0.1556626856327057,-0.1226351782679558,0.3881927132606506,-0.7162722349166870,0.0828518494963646,-0.1600222438573837,0.3124102056026459,-0.2831121385097504,0.1034529954195023,0.1893790364265442) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.5791679620742798,0.4442782700061798,-0.0131130153313279,-0.0340854935348034,-0.5826350450515747,0.3008985519409180,0.1346484422683716,-0.0789088234305382,0.2625213563442230,-0.2921890914440155,-0.0083887400105596,-0.0039507765322924,-0.3452711403369904,-1.0642710924148560,0.1451635956764221,0.6255943775177002) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.5329001545906067,-0.2816036939620972,0.1381849050521851,0.1182930096983910,-0.5080990195274353,-0.4889704585075378,0.1049989685416222,0.3051874935626984,0.7868168354034424,-0.4957133829593658,-0.0782789364457130,0.1021046563982964,-1.4790620803833008,-0.4282301962375641,0.0350809842348099,0.1706625968217850) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.1630038321018219,-0.1386075019836426,-0.0036164813209325,0.1390982419252396,-0.0548254437744617,0.2364829033613205,-0.0585732832551003,0.0257268603891134,-0.4578105807304382,0.2689254581928253,-0.0008447229629382,0.1336311846971512,-0.2541263699531555,-0.9333946108818054,-0.0084364973008633,-0.1582275032997131) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0611987821757793,0.3971358239650726,0.0519041791558266,-0.2514325678348541,-0.4202302098274231,0.1293289810419083,0.0303316470235586,-0.1522188931703568,-0.3939264118671417,-0.8553654551506042,0.0072963964194059,0.0974675714969635,-0.2082433849573135,-0.0826819464564323,-0.0346855260431767,-0.0538582429289818) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.3731344044208527,-0.3428409397602081,-0.0580359585583210,0.0011560770217329,-0.4720404148101807,0.0411235652863979,-0.0730860307812691,-0.1378994882106781,-0.2114659398794174,-0.2510804831981659,0.0324120186269283,-0.0588292889297009,-0.0750492289662361,0.0516041405498981,0.0142624052241445,0.0762141942977905) * MODEL23_texOff(vec2(0,1)); -res += mat4(0.2003266066312790,-0.3097744882106781,-0.0497338101267815,0.1900421231985092,0.2505185008049011,0.2198565602302551,0.0431300476193428,0.0684944465756416,-0.5235838890075684,0.0500761978328228,0.0365656577050686,-0.0031358739361167,-0.2059436887502670,0.1846282482147217,0.0071397400461137,0.0693401098251343) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0042014140635729,-0.0525740236043930,-0.0171905551105738,-0.0581245087087154,0.0485358685255051,-0.0782260224223137,-0.0030551524832845,-0.0716038197278976,-0.0489421710371971,-0.0497942827641964,0.0204748343676329,-0.0116019900888205,-0.1027395874261856,-0.2276215404272079,-0.0065505700185895,0.0101102003827691) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.0748871713876724,-0.1956935524940491,0.0010277481051162,-0.0725164115428925,-0.1371487826108932,-0.2153946757316589,0.0289711598306894,0.0479902103543282,-0.3926549851894379,-0.3859789967536926,-0.0123246852308512,0.0445899255573750,-0.0373382009565830,-0.0602863170206547,-0.0710507780313492,-0.0711589530110359) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0720328018069267,0.2373535484075546,-0.0241738017648458,-0.0539755597710609,-0.0287363287061453,0.1945647597312927,-0.0113422973081470,0.2388608008623123,0.1582005470991135,0.4138346910476685,-0.0016715164529160,0.0711019933223724,-0.1226481050252914,-0.0764425471425056,-0.0585050545632839,-0.0245702769607306) * MODEL23_texOff(vec2(1,-1)); -res += mat4(-0.2826507687568665,-0.1364578604698181,-0.0561215952038765,-0.0743082463741302,-0.2760685682296753,-0.0331254787743092,0.0283021926879883,0.1009528338909149,0.0032031354494393,0.0542680397629738,-0.0284216683357954,-0.0048767263069749,-0.3685995340347290,-0.1592012792825699,0.0067512779496610,0.1387375891208649) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.0073975622653961,0.2009483426809311,-0.0117812231183052,-0.0740807130932808,-0.2477743327617645,-0.3778422772884369,0.0459524206817150,-0.0773427635431290,0.1540841013193130,0.3211053013801575,-0.0188168492168188,-0.0615393407642841,0.0032952076289803,-0.2650936841964722,-0.0279312487691641,-0.1892956048250198) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0320254303514957,0.0943216234445572,-0.0224026683717966,-0.1085841134190559,-0.8607506155967712,-0.9446119070053101,0.0583956837654114,0.0846797972917557,-0.3580646812915802,-0.1429646909236908,0.0066589307971299,0.0307449307292700,0.3498374819755554,0.0596029423177242,-0.0778255090117455,-0.2372472286224365) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.3538910746574402,-0.5438384413719177,0.0300271715968847,0.0259353835135698,-0.0217854585498571,0.1497974097728729,0.0079162567853928,0.1637305915355682,-0.1231346353888512,-0.0285450499504805,-0.0020361966453493,0.0748025998473167,-0.1468269675970078,0.0726128518581390,0.0329792387783527,-0.0343051739037037) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.3467789888381958,-0.6177062988281250,-0.0004547669668682,-0.0695421993732452,0.0771730020642281,0.4323795735836029,-0.0108288945630193,-0.2320528030395508,-0.3504230678081512,-0.2344139665365219,-0.0060447426512837,0.0424748435616493,-0.3702187836170197,-0.1867645382881165,0.0227929949760437,-0.0589118450880051) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.1212871819734573,-0.0925505831837654,-0.0210698843002319,-0.1102557256817818,0.0964596942067146,-0.1762590408325195,-0.0260235387831926,-0.0322984941303730,-0.2268410772085190,-0.1099716052412987,0.0028596802148968,-0.0435424409806728,0.0338655002415180,-0.0084998104721308,0.0110553447157145,-0.0637936368584633) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.3963612020015717,-0.7054618597030640,0.0888577476143837,0.0486618503928185,-0.2505936920642853,-0.0695356801152229,0.0166353881359100,0.0361196286976337,0.1280656009912491,0.1052540093660355,-0.0460976138710976,-0.4243462979793549,-0.1481497287750244,-0.3150199055671692,-0.0155357057228684,-0.0100513044744730) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0335134156048298,-0.0727859139442444,-0.0133455023169518,0.0521334595978260,-0.1833966523408890,0.1802965402603149,0.0792936831712723,0.4655365049839020,0.1774647384881973,0.1161453500390053,0.0228213164955378,0.0274636540561914,0.0343310683965683,-0.0128710521385074,-0.0213328227400780,-0.0579575076699257) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.0513603501021862,0.0107538942247629,-0.0082096224650741,-0.0443236157298088,0.1392785608768463,0.3404515385627747,0.0024068458005786,0.0242234971374273,0.1059209108352661,0.1276680678129196,0.0005027093575336,0.0201072059571743,-0.1857346147298813,-0.1753924787044525,-0.0199812017381191,-0.0288379266858101) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.0588584952056408,0.0545518882572651,0.0072807688266039,0.1775767654180527) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_3 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1500374227762222,-0.5942718982696533,-0.2223509401082993,-0.7379623055458069); -res += mat4(0.0377564951777458,-0.0878159105777740,-0.0640691071748734,-0.1205077320337296,0.0063348636031151,-0.0615546405315399,0.0725330412387848,0.0315341800451279,0.0305612366646528,-0.1050232648849487,0.0199433136731386,-0.0293507445603609,0.0054702782072127,-0.1033336594700813,-0.0246256664395332,-0.0293234679847956) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0960297584533691,0.0489416979253292,0.0456786714494228,-0.0304410420358181,-0.0264467485249043,-0.1808978915214539,0.0002239939494757,0.0978726968169212,0.0576720982789993,0.0627044662833214,0.1644076406955719,-0.1149405092000961,-0.0502514913678169,0.0530369617044926,-0.0983912944793701,-0.0911485180258751) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.0192345343530178,0.0737345293164253,-0.0694067627191544,-0.1192083954811096,-0.0153750851750374,-0.0094519695267081,0.0430041737854481,-0.0007860237383284,0.0574510805308819,-0.0099295461550355,-0.0037663441617042,-0.0417793281376362,-0.0447106771171093,0.0573733784258366,-0.0056610680185258,-0.1495522707700729) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.0020685896743089,-0.1271421909332275,-0.0915819332003593,-0.1303324252367020,-0.0046015819534659,-0.0537667907774448,-0.0757439434528351,-0.1034274026751518,-0.0360045954585075,0.1330265849828720,-0.1028348729014397,0.0029844422824681,-0.1337770670652390,0.0038527846336365,0.1660691797733307,-0.1233417540788651) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(0.1424528658390045,-0.3160114586353302,0.1415333896875381,0.3533829748630524,-0.0286452919244766,-0.3519482910633087,-0.0720888450741768,0.0498850271105766,-0.0992853417992592,-0.1978190243244171,0.1384896934032440,-0.9744571447372437,-0.0627422258257866,0.0621821247041225,-0.0077503439970315,-0.6523983478546143) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1006538048386574,0.2699738442897797,-0.0071857841685414,0.1695696413516998,0.0032719045411795,-0.6151775121688843,0.0345238298177719,-0.2692067325115204,0.0156748909503222,0.0570620149374008,-0.1344172209501266,-0.1108755916357040,0.0470011979341507,0.1119287982583046,0.0036730696447194,0.0595798902213573) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0951662063598633,-0.1915390044450760,0.0358977876603603,-0.0575600825250149,0.0578359439969063,-0.1603155881166458,-0.0611245594918728,-0.0717436149716377,-0.0712571591138840,-0.0973955020308495,-0.0607430003583431,-0.2901412248611450,-0.0458060204982758,-0.0617536008358002,0.0254287105053663,0.1835725605487823) * MODEL23_texOff(vec2(-1,0)); -res += mat4(0.0369277596473694,0.1574100255966187,-0.1701986193656921,-0.0723235905170441,-0.0370706990361214,0.0901095569133759,0.0174682717770338,0.1185340285301208,-0.0318144150078297,0.1076717376708984,0.0036862681154162,0.2513314783573151,-0.0918712839484215,0.0061007686890662,-0.0271367914974689,0.0996778458356857) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.2165136039257050,-0.1521220058202744,0.0699792578816414,-0.3011166453361511,0.0376400910317898,0.0138800414279103,-0.0751532092690468,0.2856407761573792,-0.0486437380313873,-0.4256193339824677,-0.0754015594720840,0.1991343349218369,0.0650824233889580,0.0828495621681213,-0.0835029110312462,-0.0316090695559978) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0260196980088949,-0.1864022314548492,-0.0310866907238960,-0.0623466856777668,-0.0642979294061661,-0.1373288780450821,-0.0159831158816814,-0.0124002248048782,0.0798067525029182,0.1961414515972137,0.1806756108999252,-0.1208630427718163,-0.0814799442887306,0.0403802730143070,-0.0328070558607578,-0.1056066974997520) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0299819316715002,-0.0889745429158211,0.0569998808205128,0.0332611165940762,0.0115742832422256,0.1793977320194244,0.0184927303344011,0.2229049056768417,-0.0112913632765412,-0.0566435828804970,0.0235551521182060,-0.0210226234048605,-0.0147442752495408,-0.0738831833004951,-0.0232846438884735,-0.2047595083713531) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.0327938608825207,-0.0907200723886490,-0.0786106139421463,-0.1022977158427238,-0.0338565595448017,0.0219198167324066,0.0460100173950195,-0.0048057329840958,0.0835243389010429,-0.1593090891838074,0.0768458098173141,-0.2045104503631592,0.0142094166949391,0.0893841013312340,0.0081078819930553,0.0187870431691408) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.0743091925978661,0.1794881671667099,-0.0103652523830533,-0.0236152894794941,0.0288069024682045,0.0337621532380581,-0.2239373475313187,-0.2287402004003525,0.0656228065490723,-0.1356081217527390,-0.0215050932019949,-0.0495702549815178,-0.0080893067643046,-0.0129955671727657,-0.0376574248075485,-0.1526909023523331) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.1155378967523575,0.0461832843720913,0.0694100186228752,0.0977504998445511,0.1158053204417229,-0.4835779368877411,-0.1165023297071457,-0.3830997645854950,-0.0268404856324196,0.1766329109668732,-0.0935022532939911,0.2643847167491913,0.1049658805131912,-0.2734475135803223,0.1369055956602097,-0.1859778463840485) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.0853447467088699,-0.2528608143329620,0.1267696619033813,-0.2803182601928711,-0.0168390404433012,-0.0977839827537537,-0.0200390461832285,-0.0927241444587708,0.2636003494262695,-0.3587063848972321,0.0953568816184998,-0.2884494066238403,0.0479793325066566,-0.0213569868355989,0.1081461161375046,0.1447212696075439) * MODEL23_texOff(vec2(0,-1)); -res += mat4(0.0436067730188370,-0.1798084676265717,-0.0948345884680748,-0.2366777062416077,0.0355512723326683,0.0659205242991447,0.0968739762902260,0.0681645944714546,-0.0963704809546471,-0.2047032862901688,0.0296659562736750,0.2185016721487045,0.0729882717132568,-0.2979782521724701,0.0987690463662148,0.1509135216474533) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.3182998895645142,0.3356809318065643,0.0111110834404826,0.0150333689525723,0.1041853725910187,0.4490790963172913,0.0896795317530632,-0.0866959914565086,0.0392647124826908,-0.1925222277641296,0.1741016954183578,-0.4646819829940796,0.0497794710099697,-0.5663666725158691,-0.2714867889881134,-0.0592256747186184) * MODEL21_texOff(vec2(0,0)); -res += mat4(0.1111427769064903,-0.1000821515917778,-0.0178503897041082,-0.1479834318161011,-0.1389848440885544,-1.0152058601379395,0.0488378591835499,-0.9044187664985657,-0.0814175009727478,0.1881174147129059,0.1010084003210068,-0.0512255541980267,-0.2274746447801590,0.1815966516733170,0.1712158620357513,0.4774157404899597) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.0059305485337973,-0.1144885420799255,-0.2710224986076355,-0.1402731090784073,0.1813898980617523,-0.2947344481945038,-0.1376086026430130,0.0725278779864311,-0.3061678409576416,-0.5112835168838501,0.0217667482793331,-0.8153681159019470,-0.0844952687621117,-0.2149795889854431,0.1889654546976089,-1.2212493419647217) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.0341001749038696,-0.1420918703079224,0.1134353876113892,-0.4964024424552917,-0.1400564312934875,-0.1850375086069107,-0.0509905591607094,-0.3107085227966309,-0.1972130686044693,-0.2262127101421356,-0.2440759539604187,-0.9205277562141418,0.0067904163151979,-0.1521847695112228,-0.0305872578173876,-0.1767082661390305) * MODEL24_texOff(vec2(0,0)); -res += mat4(0.1605410724878311,0.3388625383377075,0.0714963674545288,-0.1148637980222702,-0.0052194483578205,-0.0250399727374315,0.0900572389364243,-0.2010394185781479,-0.0373205728828907,0.2243118286132812,0.0030151007231325,-0.2477314919233322,-0.0448656566441059,-0.1584238708019257,-0.0071867620572448,-0.1099929586052895) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.2631414830684662,0.1322173625230789,0.0458182729780674,-0.3096752762794495,-0.0986642092466354,-0.0550793372094631,0.0348238013684750,-0.1960585862398148,0.0001171030016849,-0.0951457470655441,-0.0208438690751791,0.3503931760787964,-0.1294434219598770,-0.2129892706871033,-0.0337771810591221,-0.3645725846290588) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.0230048038065434,-0.3137907087802887,-0.0455664396286011,-0.3168298602104187,-0.1254154592752457,-0.3636295497417450,0.0555187463760376,-0.5812803506851196,0.0968207567930222,0.0430275276303291,0.0260681677609682,0.0166934933513403,-0.0593838915228844,-0.0298860482871532,-0.0491982251405716,0.1096109300851822) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.0425861254334450,0.2389982491731644,-0.2154820412397385,0.0344516113400459,0.0133962258696556,0.1938802748918533,-0.0303258616477251,0.1895022094249725,0.1505155861377716,-0.2698439359664917,0.0434911847114563,-0.0383978523313999,-0.0998124107718468,-0.0785168483853340,0.0346746817231178,-0.3279105126857758) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0323498025536537,0.0846708193421364,0.0160553399473429,0.0838855579495430,0.0505255311727524,0.0333184413611889,0.0966457277536392,-0.0295467507094145,0.0452348515391350,-0.0351583436131477,-0.0023901220411062,-0.0617642849683762,-0.1099836751818657,0.0652595907449722,-0.1435693353414536,0.0057237530127168) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.0193974375724792,0.0016734238015488,0.0061322576366365,0.1420889347791672,0.1173601076006889,-0.2071816623210907,-0.0622596442699432,-0.1906256228685379,-0.0246932730078697,-0.0615690983831882,0.1726177930831909,-0.2643700242042542,-0.0333817377686501,0.0129060298204422,0.0331733487546444,-0.1577276885509491) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.0801763385534286,-0.0372839346528053,-0.0168425142765045,-0.2399083971977234,-0.0189349614083767,0.0942898318171501,-0.0729247778654099,-0.0238776616752148,0.1150797605514526,0.1397802680730820,-0.0183684974908829,0.1276283115148544,-0.0157978404313326,-0.0528203174471855,-0.1145365387201309,0.1804308444261551) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0500828027725220,-0.0335871949791908,-0.2075745761394501,-0.1354399025440216,-0.0421485789120197,-0.1626830250024796,-0.0355155467987061,0.2916752696037292,0.0702783986926079,0.1286368221044540,0.0692304298281670,-0.0455261133611202,-0.0741670653223991,-0.0544008165597916,-0.0917922481894493,-0.0997074395418167) * MODEL24_texOff(vec2(1,-1)); -res += mat4(-0.0355155616998672,-0.0909207761287689,-0.1253741830587387,0.1635140925645828,0.1276675611734390,-0.0806095600128174,-0.1514761596918106,0.0043431958183646,0.0002952353679575,-0.0139419650658965,0.0475891306996346,0.0351057685911655,-0.0728895291686058,-0.1997010409832001,-0.0971152633428574,-0.1916919946670532) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1372255682945251,-0.0207272171974182,0.0889865458011627,-0.2631049454212189,-0.2188265025615692,0.0158922318369150,0.1334166079759598,-0.0689261108636856,0.0453482381999493,-0.0496409982442856,-0.2181027680635452,0.1843331903219223,-0.1296746879816055,0.0919201672077179,-0.1342144906520844,0.1672039926052094) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.1896142363548279,-0.0512465536594391,0.0234036892652512,-0.1613356769084930,0.0824260115623474,0.1054236441850662,0.0918725058436394,-0.3392824828624725,0.1978214532136917,0.0938010141253471,0.0898380726575851,-0.0236080754548311,-0.0496704280376434,-0.2935241758823395,0.0667751133441925,-0.0413334220647812) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.2518352568149567,-0.0967062264680862,-0.0311718937009573,-0.1696653813123703,0.0618922710418701,-0.1388243883848190,-0.1375103592872620,-0.0170210711658001,-0.1778676807880402,-0.0918823927640915,0.0683643892407417,0.1721435934305191,-0.0004981383099221,-0.0015442923177034,0.0468944981694221,-0.2256978154182434) * MODEL24_texOff(vec2(1,0)); -res += mat4(0.0285391937941313,-0.0687587484717369,-0.0310993380844593,0.0689143836498260,-0.0630959719419479,-0.0410000756382942,0.0744176656007767,0.1270437687635422,-0.0114579461514950,-0.1284157335758209,0.0115379542112350,-0.2296856939792633,-0.0008102712454274,0.0451832450926304,0.0238849166780710,-0.1001020148396492) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.1745711863040924,-0.1091389134526253,0.1056216657161713,-0.2693535089492798,0.0516469962894917,-0.0944463908672333,-0.1669354140758514,-0.2559992372989655,-0.1755313277244568,0.0471935942769051,0.1343710720539093,-0.0531820692121983,-0.0740357264876366,0.0620074383914471,0.0233539957553148,0.1963060945272446) * MODEL22_texOff(vec2(1,1)); -res += mat4(0.0198090206831694,-0.0145830921828747,0.0248054042458534,0.0190177466720343,0.0270872525870800,0.1001457944512367,-0.1013614386320114,-0.2797769010066986,0.0309396479278803,-0.0560803562402725,-0.0174046792089939,0.0804931297898293,0.0086273970082402,0.1054844632744789,-0.0108949420973659,0.0660903900861740) * MODEL23_texOff(vec2(1,1)); -res += mat4(-0.0267767459154129,-0.2279723435640335,0.0914289280772209,0.0536161959171295,-0.1565176099538803,-0.1910002529621124,0.0184659957885742,-0.0085408445447683,0.1435611546039581,0.0478647537529469,-0.0153546296060085,-0.1074507609009743,-0.0590481050312519,-0.0880034863948822,-0.0324065126478672,-0.1419066786766052) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1263981312513351,0.1096418797969818,0.0206240471452475,0.0498061478137970) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_4 -//!BIND MODEL21 -//!BIND MODEL22 -//!BIND MODEL23 -//!BIND MODEL24 -//!SAVE MODEL4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.6117309331893921,-0.2601747810840607,-0.1224166676402092,-0.0921374112367630); -res += mat4(0.0588301829993725,0.1117252707481384,0.0290296375751495,-0.0075088986195624,-0.2325710505247116,-0.0747735947370529,0.0284211989492178,0.0291971098631620,-0.0733436122536659,-0.0913104042410851,0.0549855045974255,-0.0942513719201088,-0.1460192650556564,0.1396849751472473,0.0367813184857368,-0.1054962798953056) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0784313306212425,-0.0461387373507023,-0.0727669522166252,0.0118116578087211,-0.1512983143329620,-0.0355164147913456,0.0369271598756313,-0.0068201655521989,-0.2708147764205933,-0.1983853131532669,-0.3019596636295319,-0.1962331533432007,0.0822714418172836,-0.0831912979483604,-0.0377775803208351,0.0309812836349010) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.3031086027622223,-0.2022219151258469,0.0690917819738388,0.0061479001305997,-0.0775924474000931,0.0018291157903150,0.0206548795104027,0.0031519813928753,-0.0045580794103444,0.1408297717571259,0.0968878120183945,-0.0543158203363419,-0.0320595875382423,-0.0856794491410255,-0.0074029173702002,-0.0381582640111446) * MODEL23_texOff(vec2(-1,-1)); -res += mat4(0.0502191707491875,-0.0144976442679763,-0.0172777995467186,0.0511240437626839,-0.1379772424697876,0.0781990662217140,-0.0490357093513012,0.0095915235579014,0.0698529779911041,-0.1821251213550568,0.0341909043490887,0.0522364303469658,0.3007288575172424,0.5696339011192322,0.0366077609360218,0.1034736111760139) * MODEL24_texOff(vec2(-1,-1)); -res += mat4(-0.0080737425014377,-0.0355745144188404,0.0014717100420967,0.0775283500552177,0.0521322488784790,0.0694085732102394,-0.0287078022956848,0.0724895447492599,-0.3758259117603302,0.2388086169958115,-0.2982285916805267,0.0783643573522568,-0.3888894319534302,-0.1828081458806992,0.0064303274266422,-0.0228065531700850) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.1062617301940918,-0.1536732017993927,0.1790993064641953,-0.1221694126725197,-0.0649711787700653,-0.0404628328979015,0.0378675349056721,0.0112943490967155,-0.1770968586206436,-0.0647308602929115,0.0703201144933701,-0.0830667614936829,0.1437005847692490,0.2010622769594193,-0.1075596585869789,0.0721796378493309) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.4432499110698700,0.0662404224276543,-0.0012972981203347,-0.0641796439886093,-0.1632681190967560,0.2097074985504150,0.0027037130203098,0.0656440407037735,-0.1145439520478249,-0.0657788291573524,0.0632528811693192,0.0139947058632970,-0.3886598050594330,0.0857761129736900,-0.1246560290455818,-0.0749224871397018) * MODEL23_texOff(vec2(-1,0)); -res += mat4(-0.1543783098459244,-0.0005317142349668,0.0304446890950203,-0.0185355897992849,-0.0794916823506355,-0.0090007977560163,0.0349782891571522,-0.0200218036770821,-0.0618562102317810,-0.0984001308679581,-0.0182003285735846,-0.0028434169944376,0.2633704543113708,0.1335592716932297,0.0175556372851133,0.0097391176968813) * MODEL24_texOff(vec2(-1,0)); -res += mat4(-0.1916415244340897,0.0176885668188334,-0.0010301425354555,-0.0303842704743147,0.4026271402835846,0.0028871756512672,0.0946683585643768,0.0258910451084375,-0.2777474820613861,-0.1369234770536423,0.1530053317546844,0.0188194774091244,0.0261684823781252,-0.0732094198465347,0.0251430086791515,-0.0204035751521587) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.2784962654113770,0.0650645866990089,-0.0385713949799538,0.0038350508548319,0.1441659182310104,0.0722042471170425,-0.0898543149232864,0.0076085105538368,-0.1453610211610794,-0.1651353538036346,-0.0508589819073677,0.0093160448595881,0.0937918201088905,-0.0456123910844326,0.0581589378416538,0.0176383275538683) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0702055096626282,-0.0406810194253922,-0.0525443106889725,0.0150361964479089,0.1566798388957977,-0.0621452368795872,0.0586791262030602,-0.0347721055150032,-0.1604612320661545,0.1239183172583580,-0.0497633032500744,0.0080846343189478,-0.0567909032106400,0.0014030648162588,0.0475553460419178,-0.0038453373126686) * MODEL23_texOff(vec2(-1,1)); -res += mat4(-0.1280421465635300,-0.0095578841865063,-0.0669014528393745,0.0325631424784660,-0.0902950242161751,-0.0520857498049736,-0.0410674624145031,0.0060283262282610,-0.2110912352800369,0.2167985439300537,-0.0017860599327832,0.0106685347855091,0.0589333102107048,0.0673409774899483,0.1835579872131348,-0.0222739614546299) * MODEL24_texOff(vec2(-1,1)); -res += mat4(0.3193575441837311,0.1526530683040619,0.0688570886850357,-0.0523017607629299,-0.0355069674551487,-0.0414056740701199,0.0593797154724598,-0.1457111537456512,0.1123095601797104,0.0547662116587162,-0.0618266090750694,0.0241949036717415,-0.5081633329391479,0.2198492884635925,-0.2311547696590424,0.0886767283082008) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0350187979638577,0.1337995529174805,-0.1493063867092133,-0.0603591017425060,0.2146350592374802,0.0859285071492195,-0.1323813050985336,-0.0390987657010555,-0.2041820734739304,-0.1156193763017654,0.0565129481256008,0.0598160736262798,-0.0166044365614653,-0.0735203996300697,0.0949761494994164,0.0783202648162842) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.2893728017807007,-0.2627750039100647,0.3722718954086304,-0.0792744681239128,-0.2059971690177917,0.0250780824571848,-0.0059698885306716,0.0627116337418556,-0.2310166954994202,0.1220641285181046,0.4420708715915680,-0.0523065738379955,0.6394421458244324,0.0480617098510265,-0.1123329624533653,-0.1512102782726288) * MODEL23_texOff(vec2(0,-1)); -res += mat4(-0.3148698806762695,-0.2718702256679535,0.0451150685548782,-0.0301917884498835,-0.1496489495038986,0.1856218129396439,-0.0316816195845604,-0.0149062424898148,0.1320873796939850,-0.4058004319667816,0.0752313062548637,-0.0841734260320663,0.0650784373283386,0.2807834744453430,0.1322926729917526,0.2572420537471771) * MODEL24_texOff(vec2(0,-1)); -res += mat4(-0.5741783976554871,0.0708733573555946,-0.0278440415859222,0.0807770118117332,-0.4908486306667328,-0.0314228646457195,-0.2657569348812103,0.3589760959148407,0.2063553035259247,-0.1892435550689697,0.0999130755662918,-0.0633614584803581,-1.3165725469589233,-0.2463347613811493,-0.0429119206964970,-0.0830666646361351) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.6296326518058777,0.0223524719476700,0.3363357186317444,-0.0321827568113804,0.1343389004468918,-0.0002569323114585,0.3277089595794678,-0.0482071489095688,-0.7526341080665588,-0.4833517670631409,-0.1878197491168976,0.0168213583528996,0.5115908384323120,0.3069213628768921,-0.0195354912430048,0.2755083739757538) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.4816035926342010,-0.0118750659748912,-0.5715824961662292,0.3641453385353088,-0.2267543822526932,0.3607449531555176,0.1609801650047302,0.0312804840505123,-1.1321628093719482,-0.0340943932533264,0.5982204079627991,-0.0645050927996635,-0.9616246819496155,-0.0790921300649643,0.0994648709893227,-0.0525478385388851) * MODEL23_texOff(vec2(0,0)); -res += mat4(-0.1681258827447891,0.3006833493709564,-0.1290128231048584,0.0994041785597801,0.0419847816228867,-0.0162974465638399,0.0750185772776604,0.0067303152754903,-0.5632289052009583,-0.6013663411140442,0.1094968020915985,-0.0669717490673065,-0.0433492772281170,0.1537660658359528,0.2179587930440903,0.2389836013317108) * MODEL24_texOff(vec2(0,0)); -res += mat4(-0.1355514526367188,0.0764053314924240,0.0782326161861420,0.0052023138850927,-0.0493257232010365,-0.0347116813063622,0.2622268795967102,-0.0836203470826149,0.2588089704513550,0.0903544947504997,-0.1340770274400711,-0.0735411271452904,-0.8339405655860901,-0.3164103925228119,0.0937255769968033,0.0183939673006535) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0299103204160929,0.2381526976823807,-0.0743641108274460,0.0692583620548248,0.2554559111595154,0.0813719108700752,-0.1800950467586517,-0.0378679186105728,-0.7257626652717590,-0.1854881495237350,-0.0862643644213676,-0.0597154051065445,-0.2556095719337463,-0.1928845345973969,0.0932397618889809,-0.0223879218101501) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.3263361155986786,-0.0260708797723055,-0.1460820287466049,-0.0375549383461475,-0.6202657222747803,0.0670073628425598,0.1381717473268509,-0.0525274127721786,0.0015859459526837,0.0923536643385887,-0.0649344399571419,0.0501156300306320,0.1358997970819473,0.1016764789819717,-0.0658142641186714,0.0008362260996364) * MODEL23_texOff(vec2(0,1)); -res += mat4(-0.1045667529106140,-0.1845665425062180,0.1492197811603546,-0.0243269335478544,0.2153147906064987,0.0400264747440815,-0.0199366249144077,-0.0087428214028478,0.2773247361183167,0.2803338170051575,-0.3493885695934296,0.0705009847879410,-0.0007065620156936,0.0782219246029854,0.1402112096548080,-0.0266525372862816) * MODEL24_texOff(vec2(0,1)); -res += mat4(-0.0687473416328430,-0.0976584330201149,-0.0204729977995157,0.0394477620720863,-0.0760568827390671,-0.1528743654489517,-0.0427904799580574,-0.0270075369626284,-0.0428314357995987,0.1161894425749779,0.0378351584076881,-0.0166105981916189,-0.3585070669651031,0.0260688569396734,-0.0470666438341141,-0.0668430775403976) * MODEL21_texOff(vec2(1,-1)); -res += mat4(-0.2025795578956604,-0.1040630340576172,0.0077593000605702,-0.0085673155263066,0.2008401304483414,0.0450796410441399,-0.0514111481606960,0.0697687268257141,-0.8376560807228088,-0.0572007037699223,0.0195921938866377,-0.0302999522536993,0.1791645884513855,0.0291367080062628,0.0256281513720751,0.1226494833827019) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.2643510997295380,-0.1555069983005524,-0.0438335798680782,-0.0753439068794250,-0.0654477328062057,-0.1468031555414200,0.0201415866613388,0.0347742103040218,0.4952626526355743,0.0354427844285965,0.1585405319929123,0.0533435493707657,-0.1004230752587318,-0.0073178131133318,-0.0025874432176352,-0.0168156363070011) * MODEL23_texOff(vec2(1,-1)); -res += mat4(0.0305943284183741,-0.0923460796475410,0.2677863836288452,-0.1577823907136917,-0.1658991575241089,0.1487926542758942,-0.0842318758368492,0.1213353276252747,0.1446245312690735,0.1689673364162445,0.1651263386011124,0.0070332037284970,-0.1205493360757828,0.0841202288866043,0.0706500336527824,0.1018933504819870) * MODEL24_texOff(vec2(1,-1)); -res += mat4(0.0058475290425122,-0.0147246504202485,-0.0711641162633896,0.0262836534529924,-0.1645931154489517,-0.0062692351639271,-0.0730468332767487,-0.0025198473595083,-0.0626813247799873,-0.0695614293217659,0.0290160402655602,-0.0316769331693649,-0.6183116436004639,-0.0400702990591526,-0.1214808225631714,0.0002649093512446) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1040114238858223,0.0050341086462140,0.1487061679363251,-0.0124844061210752,-0.0512321032583714,-0.0299732834100723,0.0485554710030556,0.0502416752278805,-0.7323374152183533,0.0262728352099657,-0.2605053484439850,-0.0820339992642403,0.3148089647293091,0.0988902598619461,-0.0878399088978767,0.0049472432583570) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.6670171618461609,-0.0419046916067600,-0.1335263699293137,-0.1558401286602020,0.3467949926853180,0.0999339222908020,0.0650746077299118,0.0115758376196027,0.2258281856775284,0.0860922858119011,0.0232560746371746,-0.0429502837359905,0.0903110504150391,-0.0678725913167000,-0.0120888268575072,-0.0215729400515556) * MODEL23_texOff(vec2(1,0)); -res += mat4(-0.9070100188255310,0.2937509715557098,-0.2831438779830933,0.1536857038736343,-0.3677567541599274,-0.0543512813746929,0.0991915985941887,-0.0454416386783123,-0.0357653610408306,0.0163458101451397,-0.0842088386416435,-0.0565353184938431,-0.3366691768169403,0.1085810437798500,0.0516485534608364,0.0113117303699255) * MODEL24_texOff(vec2(1,0)); -res += mat4(-0.0568292513489723,0.0104662915691733,0.0623478703200817,-0.0014252853579819,-0.0979081839323044,0.0609358027577400,0.1053483039140701,0.0708121657371521,-0.1396476030349731,0.0478940345346928,-0.0240719709545374,0.0486258938908577,-0.0907382741570473,-0.0414548330008984,0.0288387108594179,-0.0126393558457494) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.5088644623756409,0.1501386016607285,-0.0918121039867401,-0.0677468329668045,-0.0786677002906799,-0.1030455604195595,0.0109195560216904,-0.0461675822734833,-0.4709203541278839,-0.2292010337114334,0.1345106065273285,-0.0504489876329899,0.0237664654850960,-0.0646439492702484,-0.0267701372504234,0.0238957721740007) * MODEL22_texOff(vec2(1,1)); -res += mat4(-0.0895369723439217,-0.0949736088514328,-0.0357055142521858,0.0383817180991173,0.1084862425923347,-0.0324429087340832,-0.0470693334937096,0.0320119112730026,-0.0884663164615631,0.0110423937439919,-0.0695655867457390,-0.0641552731394768,-0.0534201189875603,0.1069035902619362,-0.0068280585110188,-0.0280597191303968) * MODEL23_texOff(vec2(1,1)); -res += mat4(0.0298939421772957,-0.2368630617856979,0.1043336987495422,-0.0642990842461586,0.1983366906642914,0.0042332601733506,-0.0626417845487595,0.0139195146039128,-0.0387627035379410,0.0920238122344017,-0.0391244664788246,-0.0123970182612538,-0.0278437342494726,-0.0243430268019438,0.0272651109844446,-0.0030155780259520) * MODEL24_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.0744055807590485,0.0582032799720764,0.1600257009267807,0.2022268623113632) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 1 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE1 -//!SAVE RES1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0218873005360365,-0.0149576151743531,-0.0256180185824633,-0.0858701169490814); -res += mat4(0.0221681538969278,-0.2356450855731964,0.0643408298492432,-1.1138032674789429,0.1064624637365341,-0.8914715647697449,-0.0294173005968332,-0.0022653567139059,-0.0252699330449104,-0.1230333074927330,-0.0858245044946671,0.0581396929919720,0.0181231293827295,0.1111536994576454,0.0935193970799446,-0.0742835476994514) * MODEL1_texOff(0); -res += mat4(0.0736283138394356,0.0147979715839028,0.0464740432798862,-0.2148900032043457,0.4483453333377838,0.2830028533935547,0.0562076941132545,0.3613960742950439,0.0668433532118797,-0.2692199349403381,0.0970326364040375,0.1248507574200630,0.0208180323243141,0.0532030761241913,-0.0098368674516678,0.0498967394232750) * MODEL2_texOff(0); -res += mat4(-0.0427469126880169,0.1918861865997314,-0.0468214377760887,-0.1154606193304062,-0.8018212318420410,0.3941400647163391,0.0562537945806980,0.2459305673837662,-0.0034576300531626,-0.4044605493545532,0.0631769001483917,0.2570861279964447,0.3880051076412201,0.2102442532777786,0.1035031601786613,-0.1845092624425888) * MODEL3_texOff(0); -res += mat4(-0.0736504569649696,-0.4329134225845337,-0.0331883579492569,0.4859155714511871,0.0300663169473410,-0.1431413143873215,0.0900689288973808,0.0027509836945683,-0.0178727619349957,-0.1037448570132256,-0.0429062619805336,0.0104557601734996,-0.0787484720349312,0.0334280952811241,-0.0210850816220045,-0.2790249288082123) * MODEL4_texOff(0); -res += FEATURE1_texOff(0); -res = max(res, vec4(0.0)) + vec4(-0.0009421827271581,0.0372365266084671,0.5457454919815063,-0.0045580286532640) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 2 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE2 -//!SAVE RES2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0132746873423457,0.0731124207377434,0.0296694040298462,-0.0570529401302338); -res += mat4(0.0329166017472744,0.0485021844506264,-0.4523101150989532,-0.0322404317557812,-0.0172702632844448,-0.0456021204590797,-0.3700943291187286,0.0706288889050484,-0.0264692343771458,0.0057114795781672,0.1072568818926811,-0.0367026627063751,0.0059698573313653,0.0111432811245322,-0.1592733412981033,-0.0146981095895171) * MODEL1_texOff(0); -res += mat4(-0.0338360369205475,-0.1407372504472733,0.8440989255905151,0.2665281593799591,-0.0766022056341171,0.1776377707719803,0.6822218894958496,-0.2348744422197342,-0.0140444673597813,-0.0049600838683546,-0.1120925694704056,0.0485411062836647,0.0048136659897864,-0.0084126451984048,0.0507854782044888,0.0059754410758615) * MODEL2_texOff(0); -res += mat4(0.0534943863749504,-0.0054587344639003,-0.2227865755558014,0.0236868932843208,0.0262969471514225,0.1232359185814857,0.1288655251264572,-0.1138820722699165,-0.0812139436602592,-0.0455541759729385,0.0849144086241722,0.0463144332170486,-0.1888351738452911,-0.4850543141365051,-0.1564003974199295,0.2618831992149353) * MODEL3_texOff(0); -res += mat4(-0.0221897140145302,0.0031840829178691,0.1487526446580887,-0.0075739510357380,-0.0042014098726213,0.0185069050639868,-0.0972303748130798,-0.0048297117464244,-0.0396384298801422,-0.0136362798511982,0.1502435356378555,0.0022969150450081,0.0987038090825081,-0.0011944774305448,-0.3419188559055328,0.0331442765891552) * MODEL4_texOff(0); -res += FEATURE2_texOff(0); -res = max(res, vec4(0.0)) + vec4(1.1018482446670532,0.9337472915649414,0.0558062084019184,1.0061426162719727) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 3 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE3 -//!SAVE RES3 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0231755860149860,-0.0123003274202347,-0.0431877225637436,-0.0482062324881554); -res += mat4(0.0061688339337707,-0.3225260674953461,-0.1020668447017670,0.0756559520959854,0.0190322343260050,0.0429529212415218,0.0133566455915570,-0.0357269980013371,-0.0511975735425949,0.0205178000032902,0.0802695825695992,-0.0699724704027176,0.0727552399039268,-0.0051232990808785,-0.0231811776757240,0.0385252349078655) * MODEL1_texOff(0); -res += mat4(0.0003796273667831,-0.1514156907796860,-0.0766110196709633,0.0278693865984678,0.3816023766994476,0.1842953413724899,-0.3427250981330872,-0.0513318441808224,0.0783963724970818,0.1034169569611549,0.1413960307836533,0.1308334171772003,0.0067153824493289,0.0158144067972898,-0.0463985614478588,0.1229471415281296) * MODEL2_texOff(0); -res += mat4(0.1385668069124222,-0.3332454562187195,-0.0325091183185577,-0.0500471331179142,0.0109276790171862,0.1346410959959030,-0.2194238454103470,-0.3841372132301331,0.2030243873596191,0.0367027409374714,0.0746235847473145,0.0858945399522781,-0.0915820300579071,0.4482104778289795,-0.3705481290817261,-0.4631932377815247) * MODEL3_texOff(0); -res += mat4(0.0772577896714211,-0.4344681203365326,-0.5865671634674072,-0.9034788608551025,0.0337008647620678,-0.0119147822260857,0.0028720106929541,0.0309769921004772,-0.0911888480186462,0.2908170223236084,0.0235594492405653,0.0098438179120421,0.0186014920473099,-0.0568258389830589,-0.0455871261656284,-0.1069583073258400) * MODEL4_texOff(0); -res += FEATURE3_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.0984692946076393,-0.0528433769941330,0.1861927509307861,-0.0793913379311562) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 4 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND MODEL3 -//!BIND MODEL4 -//!BIND FEATURE4 -//!SAVE RES4 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0254043601453304,-0.0337074063718319,0.0073674134910107,-0.0777111053466797); -res += mat4(-0.0152108408510685,-0.0290673710405827,0.0152149023488164,0.0001182962441817,-0.0191980488598347,0.0593055188655853,-0.1341477930545807,-0.0611830428242683,-0.0543372966349125,0.0298834946006536,0.1418028175830841,-0.2027935534715652,0.0062750629149377,0.0106279915198684,0.0231198258697987,-0.0041293469257653) * MODEL1_texOff(0); -res += mat4(0.1140645742416382,-0.1693866401910782,-0.5153092145919800,-0.1875651776790619,-0.0672051906585693,0.6262952089309692,0.5045496225357056,-0.0827279761433601,0.0161168053746223,-0.1674159020185471,-0.1741122007369995,0.0655852109193802,-0.0021867123432457,-0.1953728497028351,-0.0054047326557338,-0.0233427695930004) * MODEL2_texOff(0); -res += mat4(0.0293430704623461,-0.0239756125956774,-0.0894790217280388,-0.3600888848304749,0.0042837061919272,0.0316841900348663,0.1484906524419785,0.0149612911045551,0.0249301753938198,-0.0022203570697457,-0.0415629185736179,0.0302883405238390,0.0327147059142590,-0.1360170692205429,-0.1607593148946762,-0.6076013445854187) * MODEL3_texOff(0); -res += mat4(-0.0638960301876068,0.0897183865308762,0.0621560215950012,-0.5748775005340576,0.0110273323953152,-0.0082545885816216,-0.0169698987156153,0.0448103360831738,-0.0238428302109241,-0.0090155471116304,0.0205770675092936,-0.0579754747450352,0.0513568818569183,0.0123459398746490,-0.1044728681445122,0.1379940360784531) * MODEL4_texOff(0); -res += FEATURE4_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.9187455177307129,0.3813512325286865,1.0033930540084839,0.1104508787393570) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-pixel Convolution 1 -//!BIND RES1 -//!BIND RES2 -//!BIND RES3 -//!BIND RES4 -//!SAVE SUBCONV1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.2004896253347397,0.1965623348951340,0.2031263858079910,0.1992818266153336); -res += mat4x4(-0.0094980411231518,0.0023788863327354,-0.0022216471843421,0.0003509943489917,-0.0552016757428646,0.0855648964643478,0.0698453187942505,-0.0073109264485538,-0.0066510867327452,0.0147740254178643,0.0113036027178168,0.0048131505027413,-0.0040690936148167,0.0065816720016301,-0.0004572885518428,-0.0090634562075138) * RES1_texOff(vec2(-1,-1)); -res += mat4x4(-0.0134373474866152,0.0051314681768417,0.0116530936211348,0.0104887820780277,0.0247752983123064,-0.0160156358033419,-0.0261716526001692,-0.0161977726966143,0.0369832850992680,-0.1506783068180084,0.0486416928470135,-0.0316048339009285,-0.0061850538477302,0.0044224648736417,0.0053729196079075,0.0004756637790706) * RES2_texOff(vec2(-1,-1)); -res += mat4x4(0.0010956295300275,-0.0006739810341969,-0.0023001984227449,-0.0046076728031039,-0.0086221992969513,-0.0076229758560658,-0.0009145328658633,-0.0054856799542904,0.0039743827655911,-0.0010353162651882,-0.0013344871113077,-0.0032652264926583,0.0075248428620398,-0.0015257894992828,-0.0042923530563712,0.0093235671520233) * RES3_texOff(vec2(-1,-1)); -res += mat4x4(-0.0021727732382715,0.0007165882270783,-0.0062267961911857,0.0109751019626856,0.0139423953369260,-0.0074228323064744,-0.0275850314646959,-0.0084508210420609,0.0104034338146448,0.0014346154639497,0.0112520074471831,0.0052605904638767,0.0638059675693512,-0.0249607227742672,-0.0104660186916590,-0.0186718292534351) * RES4_texOff(vec2(-1,-1)); -res += mat4x4(0.0265536569058895,0.0001271427026950,-0.0261117573827505,-0.0235340055078268,0.3512704372406006,0.0999423563480377,0.0193040892481804,0.1757085025310516,0.0103672035038471,-0.0012839237460867,0.0179779101163149,0.0041811168193817,0.0040395306423306,-0.0499604344367981,0.0245391409844160,0.0226321499794722) * RES1_texOff(vec2(-1,0)); -res += mat4x4(0.0384991914033890,-0.0450659804046154,-0.0101390583440661,0.0220608171075583,0.0418405607342720,0.0510034635663033,-0.0249340515583754,-0.0456024855375290,-0.1545022726058960,0.2145315408706665,-0.1191349253058434,-0.0326999053359032,-0.0053544868715107,-0.0073985042981803,0.0037008037324995,0.0099292118102312) * RES2_texOff(vec2(-1,0)); -res += mat4x4(-0.0202872715890408,0.0307369828224182,-0.0144446128979325,0.0071235611103475,-0.0376118794083595,0.0325335487723351,-0.0112367551773787,0.0102629121392965,-0.0383120849728584,0.0423947423696518,0.0243418365716934,0.0210620071738958,0.0132888518273830,0.0360053405165672,0.0100925499573350,-0.0135364001616836) * RES3_texOff(vec2(-1,0)); -res += mat4x4(-0.0057181096635759,-0.0204568132758141,-0.0183743461966515,-0.0151624437421560,0.0028684337157756,0.0245951302349567,-0.0505386032164097,-0.0526789799332619,-0.0125096822157502,-0.0006854855455458,0.0087874904274940,0.0151118943467736,-0.0449581444263458,0.0157140661031008,0.0004651887866203,0.0124214673414826) * RES4_texOff(vec2(-1,0)); -res += mat4x4(-0.0024702695664018,0.0064441123977304,0.0018684890819713,-0.0075190430507064,-0.0822586268186569,0.0438106693327427,0.0218858793377876,-0.0781861469149590,-0.0030735647305846,-0.0170502737164497,0.0035027237609029,0.0147414589300752,-0.0028982846997678,0.0342733748257160,-0.0081898812204599,-0.0086565474048257) * RES1_texOff(vec2(-1,1)); -res += mat4x4(-0.0035721133463085,0.0204634200781584,-0.0043158503249288,-0.0032766335643828,-0.0237986985594034,0.0068355891853571,-0.0162488855421543,-0.0227953065186739,0.0675579383969307,-0.0396639332175255,-0.0059354491531849,0.0051652374677360,0.0041596912778914,-0.0034006051719189,0.0025730042252690,0.0046709501184523) * RES2_texOff(vec2(-1,1)); -res += mat4x4(0.0174455400556326,-0.0353569723665714,0.0072374437004328,0.0190037265419960,0.0095157930627465,0.0083068385720253,0.0079982848837972,-0.0021254434250295,0.0199435707181692,-0.0410243608057499,0.0019970838911831,-0.0007492507575080,-0.0055135628208518,-0.0148889161646366,0.0085017476230860,0.0147673422470689) * RES3_texOff(vec2(-1,1)); -res += mat4x4(0.0040913843549788,0.0095514366403222,0.0025204438716173,-0.0062991455197334,-0.0084351906552911,-0.0107593908905983,-0.0031122143846005,-0.0152742723003030,0.0180264879018068,0.0035381091292948,0.0072233397513628,0.0141055267304182,-0.0047497055493295,0.0139257498085499,0.0008672008989379,0.0056309537030756) * RES4_texOff(vec2(-1,1)); -res += mat4x4(-0.0205192342400551,0.0035032271407545,0.0511485636234283,-0.0024385969154537,-0.0881214737892151,0.3079357743263245,-0.3256671428680420,0.2675876915454865,0.0045523792505264,0.0296388268470764,-0.0116298887878656,0.0326066017150879,-0.0258616954088211,-0.0029669052455574,0.0351182892918587,0.0021836776286364) * RES1_texOff(vec2(0,-1)); -res += mat4x4(0.0273221414536238,-0.0257267896085978,-0.0050437781028450,-0.0224122107028961,0.0542206130921841,-0.0279902089387178,0.0579320825636387,-0.0361812375485897,0.1095771044492722,-0.1980792731046677,0.0754484012722969,-0.2903145253658295,-0.0108189834281802,0.0070500555448234,-0.0098569672554731,0.0098409783095121) * RES2_texOff(vec2(0,-1)); -res += mat4x4(0.0182558707892895,-0.0004734874528367,-0.0078873941674829,-0.0000882323365659,-0.0150029920041561,-0.0083330124616623,-0.0198020357638597,-0.0081914011389017,-0.0084193097427487,0.0029257496353239,-0.0043335305526853,0.0031402623280883,-0.0062353843823075,0.0042604114860296,-0.0014385635731742,-0.0153938829898834) * RES3_texOff(vec2(0,-1)); -res += mat4x4(-0.0146446321159601,-0.0020139440894127,-0.0195920094847679,0.0131280329078436,-0.0573658235371113,0.0003872774250340,0.0434953272342682,-0.0096412943676114,0.0132301421836019,-0.0086105931550264,-0.0038419184274971,0.0006242461386137,-0.0479317568242550,0.0343790166079998,0.0496469177305698,0.0063778031617403) * RES4_texOff(vec2(0,-1)); -res += mat4x4(-0.0886482372879982,-0.1149815395474434,0.0364607945084572,0.1096290275454521,0.1008122637867928,0.0281752888113260,0.3008427619934082,0.0804056376218796,0.2204556763172150,-0.2482117563486099,0.1546043306589127,-0.0760536938905716,0.0558703318238258,0.0110450601205230,-0.0682374238967896,0.0286046285182238) * RES1_texOff(vec2(0,0)); -res += mat4x4(0.0509124360978603,-0.1266279220581055,0.2212082296609879,-0.1488939523696899,0.3209297955036163,0.4181137681007385,0.2016167342662811,0.3663260638713837,-0.0981808155775070,0.1554665118455887,-0.1419739574193954,0.1935243159532547,0.5998122692108154,0.5774222612380981,0.6332547664642334,0.5999547839164734) * RES2_texOff(vec2(0,0)); -res += mat4x4(-0.0132361799478531,-0.0487179905176163,0.0883441641926765,-0.0214207563549280,-0.0519132018089294,0.0597040131688118,-0.0639006718993187,0.0623196884989738,0.0265893898904324,-0.0472132489085197,-0.1152362823486328,-0.0002589400392026,0.1015622764825821,0.0238978657871485,-0.0931206196546555,-0.0433236174285412) * RES3_texOff(vec2(0,0)); -res += mat4x4(0.1458993703126907,0.0153151275590062,-0.1496266722679138,-0.3040931522846222,-0.1793874502182007,-0.2153502255678177,0.2235168665647507,0.2049497067928314,0.1524304300546646,0.1716024577617645,0.1148274764418602,0.0788738727569580,0.0443262755870819,-0.0094674434512854,0.0095163015648723,-0.0466275624930859) * RES4_texOff(vec2(0,0)); -res += mat4x4(-0.0046434928663075,-0.0003897719143424,0.0028130675200373,-0.0085096163675189,-0.1916470676660538,0.2195042073726654,-0.2039673179388046,0.1004208773374557,-0.0287556014955044,0.0299344193190336,-0.0242406297475100,-0.0310826431959867,-0.0059730121865869,0.0066875112242997,0.0053000268526375,-0.0125830061733723) * RES1_texOff(vec2(0,1)); -res += mat4x4(0.0447437874972820,-0.0225228350609541,0.0237912647426128,0.0244589075446129,-0.0828435197472572,0.0348524712026119,-0.0545933209359646,0.0271499827504158,0.0855012536048889,0.0196409244090319,0.0961431562900543,-0.0927204564213753,0.0164071917533875,-0.0032793551217765,0.0095342965796590,-0.0037637823261321) * RES2_texOff(vec2(0,1)); -res += mat4x4(-0.0116172991693020,0.0510076172649860,-0.0091573577374220,-0.0473218895494938,0.0069195278920233,0.0125233512371778,0.0044246641919017,0.0228615943342447,0.0027514654211700,0.0754077881574631,0.0371949858963490,-0.0247637983411551,-0.0058305920101702,0.0521190911531448,0.0077110137790442,-0.0160914603620768) * RES3_texOff(vec2(0,1)); -res += mat4x4(-0.0023388352710754,-0.0146656855940819,0.0021010492928326,-0.0042505273595452,-0.0047369911335409,-0.0313913896679878,0.0011872148606926,0.0643994882702827,0.0725545957684517,-0.0238730907440186,0.0550865903496742,-0.0257390290498734,0.0021659301128238,-0.0376078188419342,-0.0114223891869187,0.0003648806596175) * RES4_texOff(vec2(0,1)); -res += mat4x4(0.0165412686765194,0.0023022976238281,-0.0271380208432674,0.0095817185938358,0.0084499921649694,-0.0126049844548106,0.0269258525222540,0.0366241224110126,0.0071499678306282,0.0176498852670193,0.0088612614199519,0.0117251062765718,0.0062044579535723,-0.0003486862697173,0.0034539531916380,0.0026289536617696) * RES1_texOff(vec2(1,-1)); -res += mat4x4(-0.0072817839682102,-0.0031623679678887,0.0006788446917199,-0.0174324437975883,-0.0143718319013715,-0.0093826102092862,0.0221808739006519,-0.0059602400287986,-0.0524991862475872,-0.0554307326674461,-0.0234730504453182,-0.0944415479898453,0.0027662173379213,-0.0000003128636763,-0.0070756948553026,0.0003757302765734) * RES2_texOff(vec2(1,-1)); -res += mat4x4(-0.0059956023469567,-0.0109885698184371,0.0131031777709723,-0.0064099249430001,-0.0007332267705351,-0.0054377247579396,-0.0042348760180175,-0.0079171815887094,0.0042275548912585,0.0038190928753465,0.0012226465623826,-0.0091538941487670,-0.0047898464836180,0.0020623977761716,0.0052864491008222,-0.0035777383018285) * RES3_texOff(vec2(1,-1)); -res += mat4x4(0.0133276600390673,0.0030601196922362,-0.0000833513477119,0.0117228757590055,0.0180890634655952,0.0006835858803242,0.0155890220776200,0.0023330044932663,0.0016764352330938,-0.0001878916082205,0.0077882641926408,0.0030453875660896,0.0007069727871567,-0.0032804955262691,-0.0258806515485048,0.0120186852291226) * RES4_texOff(vec2(1,-1)); -res += mat4x4(0.0138642648234963,0.0450335033237934,0.0573485493659973,-0.0283165313303471,-0.0353950075805187,-0.0246198587119579,0.1079513281583786,-0.0786227360367775,-0.0199374537914991,-0.0203778892755508,0.0989598408341408,-0.1151264309883118,-0.0075402003712952,0.0069887228310108,-0.0005508214817382,-0.0211458336561918) * RES1_texOff(vec2(1,0)); -res += mat4x4(-0.0173939410597086,-0.0076088067144156,-0.0270000118762255,0.0400075353682041,-0.0209513846784830,-0.0395910814404488,0.0813595503568649,0.0521225370466709,-0.1410388797521591,-0.0733730420470238,0.0030183335766196,0.2795495092868805,0.0052713518962264,0.0093284752219915,-0.0111799864098430,-0.0086231678724289) * RES2_texOff(vec2(1,0)); -res += mat4x4(-0.0051672095432878,0.0126797044649720,-0.0475894063711166,0.0283157788217068,-0.0130900656804442,0.0079299174249172,-0.0232257433235645,0.0235086344182491,-0.0172755066305399,-0.0176396835595369,0.0426433272659779,-0.0097808614373207,-0.0175288487225771,-0.0215636640787125,-0.0089064724743366,0.0157484728842974) * RES3_texOff(vec2(1,0)); -res += mat4x4(0.0398572608828545,0.0358022972941399,-0.0244492460042238,-0.0299847554415464,0.0384783037006855,0.0354996435344219,-0.0414791777729988,0.0031456071883440,0.0217112209647894,0.0295640993863344,-0.0574064217507839,-0.0089215245097876,-0.0100018810480833,0.0062383566983044,-0.0062790168449283,0.0353761576116085) * RES4_texOff(vec2(1,0)); -res += mat4x4(0.0005601430893876,-0.0111780380830169,-0.0034504993818700,0.0335592329502106,-0.0091825602576137,-0.0629493743181229,-0.0673106834292412,0.0803333818912506,-0.0166647452861071,-0.0052054836414754,-0.0284464918076992,0.0311517249792814,-0.0081933317705989,-0.0097267255187035,0.0085491342470050,0.0063192397356033) * RES1_texOff(vec2(1,1)); -res += mat4x4(0.0045089237391949,0.0023073307238519,0.0163356605917215,-0.0106160407885909,-0.0110078146681190,-0.0141240349039435,-0.0408387668430805,0.0008771637803875,-0.0169897880405188,-0.0579932145774364,0.0061155906878412,-0.0052699390798807,-0.0005207836511545,0.0013564876280725,0.0064209848642349,-0.0011977740796283) * RES2_texOff(vec2(1,1)); -res += mat4x4(0.0042469059117138,-0.0113333491608500,-0.0050657880492508,0.0154049899429083,0.0083776470273733,-0.0045062573626637,0.0149497529491782,-0.0006315388600342,-0.0074721821583807,-0.0056236772798002,-0.0164248198270798,0.0365500412881374,0.0061139329336584,0.0037679118104279,-0.0104186907410622,-0.0330689847469330) * RES3_texOff(vec2(1,1)); -res += mat4x4(0.0021872087381780,0.0173248164355755,0.0193927604705095,-0.0043931179679930,0.0088961208239198,0.0238487515598536,0.0053819441236556,-0.0194583926349878,0.0060333325527608,0.0123941889032722,0.0321498438715935,-0.0068496093153954,0.0071646152064204,0.0009137570741586,0.0105294361710548,-0.0256906449794769) * RES4_texOff(vec2(1,1)); -return vec4(res); -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!WIDTH LUMA.w 2 * -//!HEIGHT LUMA.h 2 * -//!DESC FSRCNNX Aggregation [x2_16] -//!BIND SUBCONV1 -vec4 hook() -{ -vec2 fcoord = fract(SUBCONV1_pos * SUBCONV1_size); -vec2 base = SUBCONV1_pos + (vec2(0.5) - fcoord) * SUBCONV1_pt; -ivec2 index = ivec2(fcoord * vec2(2)); -vec4 res = SUBCONV1_tex(base); -return vec4(res[index.x * 2 + index.y], 0, 0, 1); -} \ No newline at end of file diff --git a/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl b/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl deleted file mode 100644 index dc35160..0000000 --- a/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl +++ /dev/null @@ -1,411 +0,0 @@ -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 1 -//!BIND LUMA -//!SAVE FEATURE1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1572492271661758,-0.0120896836742759,0.0061487639322877,-0.2852848768234253); -res += vec4(-0.0047900392673910,0.0537447109818459,-0.0000247144635068,0.0066653941757977) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0073144687339664,-0.0309004038572311,-0.0109181385487318,-0.0092840325087309) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(0.0591700896620750,0.1974907070398331,-0.0197357516735792,-0.0546554848551750) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(-0.0011764382943511,-0.0299451071768999,0.0229587312787771,0.0021908886265010) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0098101310431957,0.0080995410680771,-0.0030452020000666,-0.0132035519927740) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(-0.0168330334126949,-0.0743711441755295,-0.0259261634200811,0.0234480481594801) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.0239933785051107,0.1896541714668274,0.0207756329327822,-0.0370332375168800) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.0094799501821399,-0.0652511194348335,-0.0004292793164495,-0.0726212188601494) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(0.0297284796833992,-0.1210186630487442,-0.0202929321676493,-0.0574462898075581) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(-0.0318185277283192,0.0840775370597839,0.0110451309010386,0.0415569432079792) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.0253141783177853,0.1168256178498268,0.1159729585051537,0.0963164269924164) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(-0.1103615835309029,-0.0276833958923817,-0.4999594092369080,0.1053867191076279) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(1.1100435256958008,0.0646764487028122,0.0154005717486143,0.8891586661338806) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.1229330673813820,0.1719468832015991,0.5730338096618652,-0.1645544171333313) * float(LUMA_texOff(vec2(0,1))); -res += vec4(-0.0090442728251219,-0.3023961782455444,-0.1589493155479431,0.0418574027717113) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.0031942036002874,-0.1310926079750061,0.0075543406419456,-0.0016449346439913) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(-0.0995150282979012,-0.0701921209692955,-0.0130895879119635,0.1344170123338699) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(0.0060519003309309,-0.1533465683460236,0.0114194005727768,0.0264683905988932) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.0244008023291826,0.1881769001483917,-0.0206351149827242,-0.0628309547901154) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.0075713125988841,0.0508594363927841,0.0430423170328140,-0.0124188791960478) * float(LUMA_texOff(vec2(1,2))); -res += vec4(-0.0166875869035721,-0.0047865519300103,0.0006719123339280,0.0316803231835365) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(-0.0058461269363761,0.0990798473358154,-0.0177743826061487,-0.0066122291609645) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(-0.0972401946783066,-0.0225446373224258,-0.0037693574558944,0.1953062713146210) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0216837190091610,-0.1824268400669098,0.0069816261529922,0.0283037684857845) * float(LUMA_texOff(vec2(2,1))); -res += vec4(-0.0025767991319299,0.0459827110171318,-0.0080216089263558,0.0084134787321091) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Feature Map 2 -//!BIND LUMA -//!SAVE FEATURE2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0541447550058365,0.0088306749239564,-0.0112389577552676,-0.0127860950306058); -res += vec4(0.0142660010606050,0.0137931071221828,0.0061188107356429,-0.0104134222492576) * float(LUMA_texOff(vec2(-2,-2))); -res += vec4(0.0147292809560895,-0.0289912857115269,0.0266769435256720,0.0933856964111328) * float(LUMA_texOff(vec2(-2,-1))); -res += vec4(-0.1734338253736496,0.1116316691040993,-0.1973157376050949,-0.0581855811178684) * float(LUMA_texOff(vec2(-2,0))); -res += vec4(0.0347507223486900,-0.0341566652059555,0.0061667622067034,0.0075258882716298) * float(LUMA_texOff(vec2(-2,1))); -res += vec4(0.0069884369149804,-0.0194250214844942,0.0080830128863454,-0.0036874092184007) * float(LUMA_texOff(vec2(-2,2))); -res += vec4(0.0233764201402664,0.0344744995236397,0.0162145942449570,0.0979529991745949) * float(LUMA_texOff(vec2(-1,-2))); -res += vec4(0.1280796974897385,-0.1018339172005653,-0.0132977198809385,-0.0019474622095004) * float(LUMA_texOff(vec2(-1,-1))); -res += vec4(0.4286882579326630,0.1222677752375603,0.7046694159507751,0.0945475697517395) * float(LUMA_texOff(vec2(-1,0))); -res += vec4(0.1107441782951355,-0.0134433070197701,-0.0174900908023119,-0.1686445474624634) * float(LUMA_texOff(vec2(-1,1))); -res += vec4(0.0321478620171547,0.0065357843413949,0.0300805997103453,0.0420113280415535) * float(LUMA_texOff(vec2(-1,2))); -res += vec4(-0.1240341588854790,0.0950303301215172,-0.0129648456349969,-0.2681856453418732) * float(LUMA_texOff(vec2(0,-2))); -res += vec4(0.4846960902214050,0.0351924635469913,0.0223043337464333,-0.1273630708456039) * float(LUMA_texOff(vec2(0,-1))); -res += vec4(-1.9379507303237915,-0.2444442063570023,0.0291962660849094,-0.3835578560829163) * float(LUMA_texOff(vec2(0,0))); -res += vec4(0.6396278142929077,-0.0765938311815262,-0.0552659817039967,0.4393545985221863) * float(LUMA_texOff(vec2(0,1))); -res += vec4(-0.1969728022813797,-0.0607173256576061,0.0131113547831774,0.0542017817497253) * float(LUMA_texOff(vec2(0,2))); -res += vec4(0.0091696009039879,-0.0031533432193100,-0.0368777588009834,-0.0459998287260532) * float(LUMA_texOff(vec2(1,-2))); -res += vec4(0.1096992492675781,0.2597902715206146,0.0304869692772627,-0.0195200722664595) * float(LUMA_texOff(vec2(1,-1))); -res += vec4(0.2889648377895355,-0.4275591969490051,-0.7414156794548035,0.2695442438125610) * float(LUMA_texOff(vec2(1,0))); -res += vec4(0.0892018377780914,-0.0229137558490038,0.0244414471089840,-0.1926898956298828) * float(LUMA_texOff(vec2(1,1))); -res += vec4(0.0576358586549759,0.0027846973389387,-0.0036861505359411,-0.0253547113388777) * float(LUMA_texOff(vec2(1,2))); -res += vec4(0.0159624069929123,0.0319602824747562,0.0019470085389912,0.0089780492708087) * float(LUMA_texOff(vec2(2,-2))); -res += vec4(0.0552792511880398,0.0543054342269897,0.0134062822908163,0.0545728243887424) * float(LUMA_texOff(vec2(2,-1))); -res += vec4(-0.1170092225074768,0.1963327825069427,0.1503890156745911,0.1891828328371048) * float(LUMA_texOff(vec2(2,0))); -res += vec4(-0.0084421783685684,0.1297017931938171,-0.0330600887537003,-0.0942063704133034) * float(LUMA_texOff(vec2(2,1))); -res += vec4(0.0118440408259630,-0.0337875857949257,0.0055063469335437,0.0254479162395000) * float(LUMA_texOff(vec2(2,2))); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_1 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0445119962096214,-0.7632357478141785,0.0156328510493040,-0.2424548566341400); -res += mat4(0.1279004216194153,-0.0275541823357344,0.2275633513927460,0.2241709381341934,0.0197204202413559,-0.0456816256046295,-0.1296672523021698,0.0564568229019642,-0.0241488646715879,-0.0237508192658424,-0.1899632662534714,0.4177669584751129,-0.1814560592174530,-0.0526473335921764,0.1154382973909378,-0.0715614855289459) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(-0.0660311505198479,0.0416736751794815,0.3146112561225891,0.1472041457891464,-0.3456672728061676,-0.0055983816273510,0.0022350433282554,0.0819796621799469,0.0057485047727823,0.1532524228096008,0.0204557459801435,-0.2500547170639038,-0.0524359568953514,-0.1911625266075134,-0.1078366711735725,-0.1296254843473434) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(0.0904538556933403,-0.0150672039017081,0.3322310745716095,0.0638923197984695,0.5975797176361084,-0.2452044337987900,-0.4947478473186493,-0.0783191770315170,0.5771877169609070,-0.0870653912425041,-0.8966570496559143,-0.2140965163707733,-0.0493861362338066,-0.0380848757922649,-0.1345319598913193,-0.0186063013970852) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(-0.2523841261863708,0.1387074738740921,0.7878478765487671,-0.2251627445220947,0.2277439534664154,0.5417668819427490,0.0866540968418121,-0.1707777529954910,-0.0598246827721596,-0.4717158675193787,-1.2242834568023682,0.0454643070697784,-0.3503442704677582,0.0573085807263851,0.2530198395252228,-0.0207283068448305) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(0.0168380383402109,-0.2142438590526581,-0.0207892972975969,0.3628533780574799,0.2431225180625916,0.3098322153091431,0.4073205888271332,-0.2762102782726288,-0.0197229012846947,0.1305596232414246,-0.5697882771492004,-0.2976251542568207,-0.0551432967185974,0.2614036500453949,-0.1410341411828995,-0.2906406223773956) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(-0.0498303361237049,0.0224859956651926,0.1952174901962280,-0.0311204437166452,0.2501715123653412,-0.5893352627754211,-1.0793941020965576,0.0160885509103537,0.5081620812416077,0.0482814386487007,0.0546359121799469,-0.0501569248735905,0.1400523334741592,-0.0106841633096337,-0.0940591320395470,-0.1791856139898300) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(0.0393299944698811,0.2232691347599030,-0.1055066883563995,-0.1607919186353683,-0.1567825973033905,-0.0042221010662615,-0.0548228211700916,0.2352052628993988,0.1483389288187027,0.7503526806831360,0.0797731876373291,-0.0049001369625330,-0.0242983382195234,-0.0308702979236841,0.0828925222158432,0.0561857633292675) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.0926392748951912,-0.0418718457221985,-0.3060409128665924,-0.1883587390184402,0.0284292586147785,-0.3584854304790497,-0.7909982800483704,-0.0187337957322598,-0.2496993243694305,-0.7520986795425415,0.3771523833274841,-0.0259053874760866,0.0337998159229755,0.2209153026342392,0.0708771497011185,-0.2814430892467499) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(-0.5287809371948242,0.5777525901794434,0.0880500450730324,-0.8452472090721130,-0.3393408954143524,-0.2273543328046799,-0.1298527419567108,0.4990308582782745,1.2613251209259033,-0.7636719942092896,1.5694186687469482,-0.4087363779544830,0.0874531939625740,0.7067158818244934,-0.3419588804244995,-0.3265531957149506) * FEATURE1_texOff(vec2(0,0)); -res += mat4(0.8229957222938538,-0.1236215904355049,-0.1859253048896790,1.6684840917587280,0.2000777721405029,-0.1239093989133835,1.5623438358306885,0.1779983490705490,0.1017884835600853,-0.3707404434680939,1.0626678466796875,-0.3124029338359833,0.0659058541059494,-0.3585464656352997,-0.1866402775049210,0.6733445525169373) * FEATURE2_texOff(vec2(0,0)); -res += mat4(-0.5544115900993347,-0.1892931908369064,0.2460739761590958,-0.1056193932890892,-0.4318082630634308,0.1257930994033813,-0.2672747671604156,-0.1690235435962677,0.0018221997888759,-0.4397548139095306,-0.3007801771163940,0.1068472340703011,0.3506655991077423,0.1143834441900253,0.1363849341869354,-0.1417382210493088) * FEATURE1_texOff(vec2(0,1)); -res += mat4(-0.0505668744444847,0.1831464916467667,0.3957343697547913,-0.2295413911342621,-0.3892803490161896,0.5436951518058777,0.1217770799994469,0.0223295800387859,-0.4462866187095642,-0.4055982232093811,-0.3771279454231262,0.0807068347930908,0.2116729617118835,0.0281026475131512,-0.0229265503585339,0.2868605256080627) * FEATURE2_texOff(vec2(0,1)); -res += mat4(0.1962712109088898,-0.2373334914445877,-2.5208437442779541,-0.1988540291786194,0.2224564403295517,-0.1783192902803421,-0.3962321281433105,-0.1685980409383774,0.1910390257835388,0.2554391324520111,0.4586416482925415,0.2779130041599274,-0.2002453953027725,-0.0061091855168343,1.3808131217956543,0.0434907525777817) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.0307611189782619,-0.0524470545351505,-0.5897512435913086,-0.0816674903035164,0.4052906930446625,0.2542210817337036,-1.9041002988815308,0.0835462361574173,-0.2484460622072220,-0.0184739269316196,0.4510098397731781,0.2587619423866272,0.1537084281444550,0.1503131389617920,-0.0742949545383453,0.0613216012716293) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(0.1772638261318207,0.0948876664042473,0.0083848545327783,-0.2919732332229614,0.2566950321197510,0.0288751143962145,-0.4624863862991333,-0.0608786940574646,0.3310996592044830,-0.0104284398257732,0.6334818005561829,-0.0027201652992517,-0.0342350602149963,0.1938806027173996,-0.2464301586151123,0.0125883584842086) * FEATURE1_texOff(vec2(1,0)); -res += mat4(0.4839433431625366,-0.0502159744501114,-1.1114163398742676,-0.3965759575366974,0.2117286175489426,0.0414481423795223,-0.1332397013902664,-0.0549883767962456,-0.1275007277727127,0.7844302654266357,-0.0095163453370333,0.0961041301488876,-0.4759134948253632,-0.4284025132656097,-0.2072399407625198,-0.3953579664230347) * FEATURE2_texOff(vec2(1,0)); -res += mat4(0.1605869531631470,-0.1715892106294632,0.0865620598196983,-0.0464400537312031,-0.2688548862934113,0.1722514480352402,0.0167612321674824,-0.0032994034700096,-0.3451044559478760,-0.2280300110578537,-0.0029796555172652,-0.1597652435302734,0.0500137843191624,0.1023071259260178,-0.0407028235495090,0.2228624969720840) * FEATURE1_texOff(vec2(1,1)); -res += mat4(0.6999920010566711,0.0839441940188408,0.0815469548106194,-0.1509176045656204,-0.0690853074193001,-0.3200871348381042,0.0780162736773491,-0.1449639797210693,0.2868815064430237,0.3962450027465820,-0.3439113497734070,0.2657423913478851,0.0988137871026993,0.3471299111843109,-0.2186402678489685,-0.0648017078638077) * FEATURE2_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(1.0311057567596436,0.1051208898425102,0.1158760935068130,0.0466635078191757) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 1_2 -//!BIND FEATURE1 -//!BIND FEATURE2 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0713458731770515,-0.1403961777687073,-0.0019562745001167,0.0153338573873043); -res += mat4(-0.0950641855597496,-0.1496641039848328,-0.0653550028800964,0.0655386000871658,-0.0118882004171610,0.2012491524219513,-0.2844599783420563,-0.4794720113277435,0.1128025799989700,-0.0173030979931355,-0.0558849945664406,-0.2957552075386047,0.0128202112391591,0.0199047476053238,-0.0091027505695820,-0.0789640173316002) * FEATURE1_texOff(vec2(-1,-1)); -res += mat4(0.1597457975149155,-0.0476507246494293,0.1466529071331024,0.0859163030982018,0.0797316282987595,-0.3380981683731079,0.2370245009660721,-0.1145931258797646,-0.0352988094091415,-0.0444888733327389,-0.2100716233253479,0.1305520236492157,-0.1359029710292816,0.1097442805767059,0.0449938289821148,-0.1155664771795273) * FEATURE2_texOff(vec2(-1,-1)); -res += mat4(-0.0333916284143925,0.2415594160556793,0.0520512908697128,0.1228107511997223,-0.0491011217236519,0.4408806562423706,0.4631956815719604,0.2014560103416443,-0.3688595592975616,0.0367180295288563,0.2484581321477890,-0.1113442853093147,0.1283355057239532,0.0418004281818867,-0.0171243026852608,-0.1231943219900131) * FEATURE1_texOff(vec2(-1,0)); -res += mat4(0.3493446409702301,0.4550022482872009,0.0368724688887596,0.0748724937438965,0.5001406073570251,0.0145555436611176,0.1236629858613014,0.3143120706081390,-0.1951988488435745,-0.0157914645969868,0.0937998965382576,-0.2233840376138687,0.5033411383628845,-0.3183194100856781,-0.2259195148944855,0.3639536798000336) * FEATURE2_texOff(vec2(-1,0)); -res += mat4(-0.0742707476019859,-0.1287801116704941,-0.2533137500286102,0.0666435658931732,-0.0185621567070484,0.1427449285984039,-0.0724751204252243,-0.0781485065817833,-0.2270648330450058,-0.2314778864383698,0.3814929425716400,-0.1655400246381760,0.0408568829298019,-0.1139645278453827,0.1797397136688232,-0.0245632305741310) * FEATURE1_texOff(vec2(-1,1)); -res += mat4(0.1184135973453522,0.0439366139471531,0.0225226897746325,-0.0038526873104274,0.1292685419321060,0.0629177838563919,0.3455114960670471,-0.1857204884290695,-0.4921502172946930,-0.1171003505587578,0.0188624169677496,-0.1101682260632515,0.0676844567060471,0.5154085755348206,-0.0898379907011986,0.3413280248641968) * FEATURE2_texOff(vec2(-1,1)); -res += mat4(-0.2631838321685791,0.0215514600276947,0.3092688918113708,-0.0200904365628958,0.0678770467638969,0.1769931465387344,-0.3653681278228760,-0.3274513185024261,0.4608019888401031,-0.1544784456491470,0.1189439669251442,0.7015876173973083,0.2732816934585571,-0.0545057803392410,-0.3474545478820801,-0.0253226496279240) * FEATURE1_texOff(vec2(0,-1)); -res += mat4(0.0994316861033440,0.0642566010355949,0.2031503319740295,0.2276959568262100,-0.1094077304005623,0.4463521838188171,0.0921792611479759,-0.3033096492290497,-0.0953373983502388,-0.1331395804882050,0.2615413069725037,-0.2874414622783661,-0.0389687754213810,0.0338272154331207,0.2804331183433533,-0.3443813025951385) * FEATURE2_texOff(vec2(0,-1)); -res += mat4(-0.1806042939424515,-0.4840798676013947,0.4222546219825745,0.1238701492547989,0.0117481639608741,-0.5986865758895874,0.3057619929313660,0.1934896260499954,-0.7086342573165894,-0.8567376136779785,0.6944998502731323,-1.4599204063415527,0.0886754393577576,-0.4293498098850250,-0.1524195969104767,0.2418079674243927) * FEATURE1_texOff(vec2(0,0)); -res += mat4(2.1706113815307617,0.3525652289390564,-0.7008359432220459,-0.4825965166091919,-0.3203429281711578,0.8500943183898926,-0.7993509769439697,0.4329842329025269,0.2106771767139435,1.1103280782699585,1.2092385292053223,1.4814503192901611,-0.4147390127182007,-0.7046836614608765,-0.1443170011043549,-0.6811133027076721) * FEATURE2_texOff(vec2(0,0)); -res += mat4(-0.1489356607198715,0.1400019824504852,0.2425604313611984,-0.2098473459482193,-0.1580564379692078,0.1463224738836288,-0.2187854647636414,0.5174596905708313,-0.0143817225471139,-0.0362622961401939,-0.0068237944506109,0.4749472737312317,0.2914732992649078,-0.3306328952312469,-0.2444777786731720,-0.1171946674585342) * FEATURE1_texOff(vec2(0,1)); -res += mat4(0.0455239675939083,0.3496046066284180,0.1297491937875748,-0.2541095912456512,0.3605501055717468,0.2339573651552200,-0.0188565086573362,-0.0526181310415268,0.1471424549818039,0.8212822079658508,0.0819099843502045,-0.0851665437221527,0.3739568293094635,0.1304695755243301,0.1481167376041412,-0.2134698331356049) * FEATURE2_texOff(vec2(0,1)); -res += mat4(-0.2076720446348190,-0.0932599306106567,0.0648527294397354,-0.2374770641326904,-0.0927826911211014,0.1848200261592865,0.4131188094615936,0.3280069231987000,-0.2099185734987259,0.2130926996469498,-0.0362745784223080,0.0191331822425127,0.1590368449687958,0.0303016249090433,0.1207325309514999,0.2451425045728683) * FEATURE1_texOff(vec2(1,-1)); -res += mat4(-0.0135009605437517,-0.0101303057745099,0.0752487555146217,0.0533373840153217,-0.0253537259995937,0.1318614929914474,-0.1263181120157242,0.0249524712562561,-0.1477261483669281,0.3236559033393860,0.0773291289806366,-0.1439673304557800,-0.2005890905857086,0.0892757251858711,0.0398719944059849,0.3675192892551422) * FEATURE2_texOff(vec2(1,-1)); -res += mat4(-0.0193535499274731,-0.2256918102502823,0.0341436080634594,0.0795947611331940,0.1496857404708862,-0.2784725725650787,-0.0582313314080238,-0.2786065340042114,-0.1666128039360046,-0.6534121036529541,0.2695854306221008,-0.0179719906300306,0.0015976354479790,0.0139929885044694,-0.1706486046314240,-0.3274765610694885) * FEATURE1_texOff(vec2(1,0)); -res += mat4(-0.7170836329460144,0.0868831276893616,0.1829078495502472,-0.0076045366004109,0.1525912433862686,-0.2558896839618683,0.0893209800124168,-0.3426039516925812,-0.2871107757091522,-0.2445062994956970,0.1676304638385773,0.2116415053606033,0.0883995518088341,-0.3880331516265869,0.2636835277080536,-0.2514505982398987) * FEATURE2_texOff(vec2(1,0)); -res += mat4(-0.1861270815134048,0.2000686377286911,-0.1501186788082123,0.1525203883647919,0.1969228833913803,0.1174068301916122,-0.1281060427427292,-0.0854888409376144,0.0290613435208797,-0.0538076497614384,-0.0251582786440849,0.0692845508456230,0.0384319014847279,0.2888138592243195,0.1151804402470589,0.0990421250462532) * FEATURE1_texOff(vec2(1,1)); -res += mat4(-0.0344385802745819,0.1270371377468109,0.0922426953911781,-0.0426749102771282,-0.1656492203474045,-0.3273328542709351,-0.0282224025577307,0.1099396124482155,-0.1113230437040329,0.2943290174007416,-0.2181112915277481,-0.3177657723426819,-0.1096536740660667,-0.0508293099701405,-0.0256164856255054,-0.0388228967785835) * FEATURE2_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.7142407894134521,0.0686190053820610,0.3999933302402496,-1.0247212648391724) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0203563515096903,0.1902436912059784,-0.0757935121655464,0.0393617525696754); -res += mat4(-0.1080558672547340,-0.0400269515812397,0.1042881682515144,-0.1994346678256989,0.0172465778887272,-0.0829331055283546,-0.1278677284717560,-0.0762506872415543,-0.0593080408871174,-0.0305212251842022,0.1326192617416382,-0.3380933105945587,-0.0722763314843178,-0.1975518912076950,-0.0223602931946516,0.2251029163599014) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.1747678220272064,0.0297168865799904,0.1054855734109879,0.0803295820951462,-0.0338115766644478,-0.3885377943515778,-0.3540246784687042,-0.0719623491168022,-0.0656022280454636,-0.0469004511833191,0.1379419565200806,0.0319863893091679,0.0799935683608055,-0.0099127553403378,0.1698455959558487,-0.0108015276491642) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(0.1587898135185242,0.3995443880558014,-0.0333226583898067,0.2373267263174057,-0.1616930961608887,0.0659186244010925,0.0141129801049829,-0.0541022196412086,-0.5743742585182190,0.1121487766504288,0.4259817600250244,0.0280795227736235,-0.3721714317798615,-0.3496374189853668,0.0997273251414299,-0.0079920450225472) * MODEL21_texOff(vec2(-1,0)); -res += mat4(0.0928084030747414,0.3107658624649048,0.1375299990177155,0.1550617516040802,-0.0780353918671608,-0.0102957757189870,-0.2056752145290375,-0.3927979469299316,-1.2112152576446533,0.0213295854628086,0.1396545022726059,0.0492016039788723,-0.0569122135639191,-0.1691886335611343,-0.1535325646400452,0.2800904810428619) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.2494744062423706,-0.0363066755235195,0.0959179550409317,-0.0048101749271154,-0.0195793900638819,0.0451166369020939,0.1470773071050644,-0.0050059854984283,0.2886958122253418,-0.3221147954463959,-0.7062104344367981,0.1646659970283508,-0.0092520527541637,-0.1254461258649826,0.0217506736516953,-0.0678806379437447) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0686557441949844,-0.0414490625262260,-0.1855954080820084,0.0264346338808537,-0.0296857114881277,-0.0431593284010887,0.0669397041201591,-0.0946076661348343,-0.2036914378404617,-0.1336101740598679,-0.2099903970956802,-0.1327936947345734,-0.1002155169844627,-0.0368575826287270,-0.1660962998867035,0.0728288888931274) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.5504320859909058,0.2939232587814331,0.4704743027687073,0.2129514217376709,0.0843106731772423,-0.1978624463081360,-0.3298224806785583,0.1919094175100327,0.1980742365121841,-0.0644423812627792,0.0091170109808445,-0.2124856859445572,0.0804558470845222,-0.1130188927054405,-0.6276652812957764,0.1861163526773453) * MODEL21_texOff(vec2(0,-1)); -res += mat4(-0.3357668519020081,0.2093413323163986,0.4355416595935822,0.1550502777099609,-0.6510964035987854,-0.1751857399940491,-0.2060168534517288,-0.1710205078125000,-0.1202360317111015,-0.2500316798686981,0.1074745431542397,-0.2418434321880341,0.0133954072371125,-0.0555886104702950,0.1514673978090286,0.2739115655422211) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.3006273508071899,-0.2699472010135651,-0.1982013583183289,-0.0032952548936009,0.0307833012193441,0.3671586215496063,-0.0966020002961159,-0.2836556434631348,0.4297264218330383,0.6171903610229492,0.6723483800888062,0.2705117464065552,-0.1438141316175461,-0.0873940736055374,-0.7001031041145325,-0.2052250355482101) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.2875024676322937,-1.6230558156967163,-0.6733398437500000,-0.9642448425292969,-0.1964960694313049,0.2485812455415726,0.1236900389194489,-1.1423941850662231,-0.0412602946162224,0.3412002623081207,0.3962794244289398,-0.2490761876106262,-0.0058065578341484,-0.4578708708286285,-0.2418260127305984,0.5357795953750610) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.0062361713498831,0.1925230026245117,0.0824977159500122,0.0561275146901608,0.0929671525955200,0.0698546022176743,0.3816939592361450,0.0395248420536518,-0.0719512030482292,0.0564917400479317,-0.1297784000635147,0.1245511695742607,0.0012355837970972,-0.0990515723824501,0.4213519692420959,-0.1645816713571548) * MODEL21_texOff(vec2(0,1)); -res += mat4(-0.0611936338245869,-0.0220258161425591,-0.0040935277938843,-0.1060328409075737,-0.0583154149353504,-0.0171997752040625,0.1058546081185341,0.2793170809745789,-0.2339317053556442,-0.1972009539604187,-0.0600687190890312,-0.0684379041194916,0.0243016034364700,-0.2111079394817352,-0.2042971849441528,0.0724857896566391) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.0833447948098183,-0.0533220991492271,0.0767802372574806,0.1182348504662514,-0.0223299078643322,-0.0479344800114632,-0.0119727496057749,0.0524821877479553,-0.0334780365228653,0.0719002187252045,0.0439689308404922,0.0475181229412556,0.0764308497309685,0.0086713796481490,-0.1700707823038101,0.0657354295253754) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.1391696482896805,0.0739523395895958,0.0565792545676231,-0.0430364646017551,0.0943084582686424,0.0102064209058881,0.0120795257389545,-0.0841303989291191,0.1573246121406555,0.0164279472082853,0.0988841354846954,-0.1430613398551941,-0.0572808869183064,-0.0844292491674423,0.0621565617620945,0.0923799052834511) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.1223107874393463,-0.2441930323839188,-0.2410650849342346,-0.0162935722619295,0.0695567727088928,-0.0028583710081875,-0.0059417244046926,0.0715164169669151,-0.0668491795659065,-0.1499572396278381,0.0869924053549767,0.0553652904927731,0.2729566097259521,0.1370039582252502,-0.1282183527946472,-0.1451860070228577) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.1331952214241028,0.0021079662255943,-0.1116734445095062,-0.4168601930141449,0.0534659475088120,0.0037860786542296,-0.0366065911948681,0.1047701835632324,0.1491260826587677,0.0782341659069061,0.0949895009398460,-0.1160908639431000,-0.1057133302092552,-0.2699718773365021,-0.1193305626511574,0.2142304331064224) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.0041565205901861,-0.1065499857068062,-0.0629659667611122,-0.1144768893718719,0.0318886637687683,-0.0562519319355488,0.0043422472663224,0.0226082988083363,-0.1456198990345001,-0.2398656159639359,-0.2625046670436859,-0.0710547044873238,0.0067904205061495,0.0018544088816270,0.1019348874688148,-0.0186133962124586) * MODEL21_texOff(vec2(1,1)); -res += mat4(0.0732532218098640,0.1516859829425812,0.0580205544829369,0.1968977004289627,-0.0066619524732232,-0.1597842127084732,-0.0990600511431694,-0.1059188917279243,0.0718481168150902,-0.2222738713026047,-0.1675696671009064,-0.1500017195940018,-0.0568779110908508,-0.0582777932286263,-0.0844587534666061,-0.0263266414403915) * MODEL22_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.2459529191255569,0.7563464641571045,-0.0705636814236641,-0.0094820559024811) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 2_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0448397286236286,-0.1649267971515656,-0.1192543581128120,-0.0061073559336364); -res += mat4(0.0724840760231018,-0.0480341166257858,-0.1082391515374184,-0.1447021961212158,0.0723197236657143,0.0481830574572086,0.0009448126656935,0.0353565886616707,-0.0653375908732414,0.0029647622723132,-0.0016588598955423,-0.2075651884078979,0.0403469167649746,0.3929971158504486,0.0342363268136978,0.1427230089902878) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(-0.0743464827537537,0.1844420731067657,0.0256296340376139,-0.2808582782745361,0.0351609662175179,0.3277008235454559,-0.0205841138958931,-0.5355809330940247,0.0681906566023827,0.2058052271604538,-0.0479847639799118,-0.3735262751579285,-0.0261550359427929,-0.1148884072899818,-0.2329017966985703,0.0728458985686302) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.1236097738146782,0.1251334398984909,-0.1339431256055832,0.0198749266564846,-0.1325920224189758,-2.2431972026824951,-0.0680834427475929,-0.5671764612197876,-0.3431925177574158,-0.0983135104179382,-0.2207138091325760,-0.2374879121780396,0.0127309206873178,1.3076044321060181,0.0848151743412018,-0.1928595900535583) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.0471093133091927,-0.1513628512620926,-0.0134263765066862,-0.1519252359867096,-0.5260242223739624,0.2291621714830399,0.4088975787162781,-0.4315340518951416,0.0933236032724380,-1.0386694669723511,0.0015958193689585,-0.2737887501716614,-0.0246253963559866,-0.2722961604595184,-0.1770633459091187,-0.2291279733181000) * MODEL22_texOff(vec2(-1,0)); -res += mat4(-0.0017552347853780,0.1903935521841049,-0.0740704238414764,-0.0917679518461227,0.0323882810771465,-0.3029108047485352,0.0532565414905548,-0.0651542618870735,0.4868686199188232,0.8539272546768188,0.4151960313320160,0.2619662582874298,-0.0413270294666290,0.1404227763414383,0.1027320474386215,0.3274228572845459) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.1828346252441406,0.0274682324379683,-0.1169882863759995,0.0327291004359722,0.1786244213581085,-0.6569546461105347,-0.0609031207859516,-0.1676601022481918,-0.1481092721223831,0.2889067530632019,0.1246089115738869,0.2203597426414490,-0.0366856977343559,0.1539470851421356,0.0069492300972342,-0.1544002443552017) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.2073992937803268,-0.0717074573040009,-0.0196173377335072,-0.0956910699605942,0.0728898122906685,0.0484567955136299,0.3063069283962250,-0.3200540542602539,0.0291527546942234,-0.0265460256487131,0.1168476045131683,-0.2479970753192902,0.1224220171570778,0.0745823010802269,0.1868897676467896,-0.1958049237728119) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0019954447634518,-0.0225235987454653,0.0812198966741562,0.0295672398060560,-0.2016931176185608,-0.2239151000976562,-0.2481262385845184,-0.2381946444511414,-0.0520484372973442,-0.1200495883822441,0.2121954560279846,-0.1573531329631805,-0.0198472067713737,0.1001087054610252,-0.1084884032607079,-0.3126969039440155) * MODEL22_texOff(vec2(0,-1)); -res += mat4(0.3838330209255219,0.1678779572248459,0.6496244072914124,0.3783606290817261,-0.2198582738637924,-0.2351343184709549,-0.2852248847484589,0.6310021877288818,0.8083020448684692,0.0039323624223471,-0.0901831910014153,0.0797894075512886,-0.2271467447280884,0.7082978487014771,0.1513756662607193,0.2188975960016251) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.2871031761169434,0.2316448241472244,0.4947948157787323,0.3308620452880859,-0.0623455122113228,-0.1314185708761215,-0.2664661705493927,0.8725078701972961,0.4541083276271820,0.1433589160442352,-1.1269453763961792,0.6427971124649048,-0.1016561388969421,0.3418317139148712,-0.0991155728697777,-1.0508837699890137) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.2179604172706604,0.1258949041366577,-0.1155700981616974,-0.0536149404942989,-0.0140614463016391,-0.0091438721865416,-0.0501774959266186,-0.3570724725723267,-0.5832386016845703,0.2004123181104660,0.2986239194869995,-0.8139168024063110,0.0142666567116976,0.0681498944759369,0.1293468028306961,-0.1001938357949257) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.1952836811542511,-0.3092494010925293,0.3063779771327972,0.1934849917888641,0.0746696740388870,-0.3533902466297150,-0.1269576102495193,-0.2237875163555145,0.2470717132091522,-0.2640363574028015,-0.2862776815891266,0.1740108281373978,-0.0963631942868233,0.2631850540637970,0.0400718413293362,-0.3590607047080994) * MODEL22_texOff(vec2(0,1)); -res += mat4(-0.5299927592277527,0.0979989692568779,0.1666737496852875,-0.1547524333000183,-0.0043443185277283,0.1540203243494034,0.0594348423182964,-0.0167275425046682,-0.1043610796332359,0.0504250898957253,0.0456700921058655,0.2525034546852112,0.2241353541612625,-0.1678503304719925,0.1532667279243469,0.2901742458343506) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0998796448111534,0.0385462641716003,-0.0762400180101395,-0.1255892217159271,0.0281430184841156,-0.0304958485066891,-0.1440480053424835,-0.1001605167984962,-0.2257689833641052,0.2056092917919159,0.0248535349965096,-0.1383949518203735,-0.0951708629727364,0.0997417271137238,0.0275330394506454,-0.5728432536125183) * MODEL22_texOff(vec2(1,-1)); -res += mat4(0.4256163835525513,0.1745115518569946,-0.2409395426511765,0.3139856457710266,-0.0036795330233872,0.1819283962249756,-0.0864531323313713,0.0102691333740950,-0.3397279977798462,0.1107075437903404,-0.0035228815395385,-0.2207705229520798,-0.1779139339923859,-0.2106117755174637,0.0352664291858673,0.3615589439868927) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0345224253833294,-0.0669926702976227,0.0907212942838669,-0.3758732676506042,-0.0452554710209370,-0.1134464666247368,-0.0358871109783649,-0.1858227252960205,-0.0233245138078928,-0.0495684742927551,0.1976234614849091,-0.1165761798620224,-0.0340447537600994,0.1095624342560768,0.0110175255686045,-0.8269239664077759) * MODEL22_texOff(vec2(1,0)); -res += mat4(-0.1379280686378479,0.1004267781972885,0.0723998174071312,-0.1510958224534988,0.0610648579895496,0.0451720170676708,-0.0231927260756493,-0.0251553766429424,0.2306085377931595,0.1033207178115845,-0.1316205114126205,0.1130664870142937,-0.0458516106009483,-0.1152514070272446,-0.0088650323450565,-0.0214479379355907) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0545783303678036,-0.0620098188519478,0.0347074456512928,0.1096799224615097,0.0036664425861090,-0.0413107499480247,0.1443250179290771,-0.1161036714911461,-0.0061624986119568,-0.0252977479249239,0.3230019211769104,-0.2536626160144806,-0.0565439648926258,0.0827583819627762,-0.0071726376190782,-0.1983329951763153) * MODEL22_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(-0.6312188506126404,-0.1215368881821632,0.2487443536520004,0.4051703512668610) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_1 -//!BIND MODEL1 -//!BIND MODEL2 -//!SAVE MODEL21 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0410279631614685,-0.1111723631620407,-0.0406232848763466,-0.0939496159553528); -res += mat4(0.1221675798296928,0.0083215842023492,-0.0162804014980793,0.0316714197397232,-0.2205813378095627,0.1500435769557953,0.2109555304050446,0.2741867899894714,0.0956874340772629,-0.0896854698657990,-0.1657065600156784,-0.1349759399890900,0.0601499564945698,-0.1523845940828323,-0.1828087568283081,-0.2727653682231903) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(-0.0918163508176804,0.1564485579729080,0.1133174449205399,0.2215953171253204,-0.0623677000403404,-0.0497728772461414,-0.0372809022665024,-0.0258478187024593,-0.1364922970533371,0.1053884625434875,0.3292874991893768,0.2693256139755249,-0.0347631797194481,-0.1470523178577423,0.0096792401745915,-0.0542853325605392) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(0.1331177949905396,-0.0964357852935791,-0.0706946700811386,0.1593225002288818,-0.4815943241119385,0.1224092170596123,-0.0870430991053581,0.0005010276800022,-0.0242684502154589,-0.2256436049938202,0.1367238312959671,0.0474774017930031,0.6886650323867798,-0.0065326127223670,0.1841574758291245,-0.1354993879795074) * MODEL1_texOff(vec2(-1,0)); -res += mat4(-0.1049591675400734,0.0515934228897095,0.1128631457686424,0.1688040047883987,-0.0084041170775890,-0.0006375144002959,-0.0598374009132385,0.1424416452646255,-0.0048398924991488,0.1832167655229568,0.0231959503144026,0.0816788375377655,-0.1321710795164108,0.0397678017616272,-0.0058345394209027,0.5784573554992676) * MODEL2_texOff(vec2(-1,0)); -res += mat4(0.1438693851232529,-0.0694608166813850,-0.0428275354206562,0.1599996536970139,-0.1651254445314407,0.1388883888721466,-0.0895452573895454,0.2569831907749176,0.3150432109832764,-0.0910519883036613,0.0367441214621067,0.1903669685125351,0.2805841267108917,-0.0444608181715012,0.0059385276399553,-0.2585869431495667) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.1217494234442711,0.0191769022494555,-0.0065453462302685,0.1391217857599258,0.0998920649290085,-0.0162798929959536,0.0502282194793224,0.0370145924389362,0.0290782172232866,-0.0099554909393191,0.0142515478655696,0.1248661577701569,-0.0076912571676075,0.0251651499420404,0.2190572917461395,0.0020069130696356) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.2666685581207275,-0.1625511497259140,-0.3938800692558289,-0.0253848694264889,0.0987015441060066,0.2033616453409195,0.3128099143505096,0.4608893990516663,0.0620003379881382,-0.1389972567558289,-0.3095863461494446,-0.4023511111736298,-0.1105777546763420,0.1115406602621078,0.3639950752258301,0.0645622834563255) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.2135885655879974,-0.1035343706607819,0.1795026361942291,0.1828210204839706,0.0780984908342361,0.0656728670001030,0.0033678691834211,0.1361345648765564,0.1712654232978821,-0.0172833092510700,-0.0502183400094509,0.2910411655902863,0.0691247656941414,0.1935720741748810,0.0652214139699936,0.1608240753412247) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.8243460655212402,-0.0979344248771667,-0.0366373993456364,0.1692261099815369,0.5517869591712952,0.3282494544982910,-0.7905511856079102,-0.4462923705577850,-0.0803156569600105,0.1172509342432022,0.1864327639341354,0.1471016854047775,0.1296005547046661,-0.1004103720188141,0.3174172043800354,-0.1181766316294670) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.0259374529123306,-0.0934808850288391,0.3008874654769897,0.3957927823066711,-0.4048821926116943,0.1461934000253677,-0.1819096356630325,-0.1908810287714005,0.3193186521530151,-0.7438099980354309,0.1919509470462799,-0.2065188735723495,0.1752236187458038,-0.6840037107467651,0.1588519066572189,-0.3956064879894257) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.1574442386627197,-0.0114925103262067,-0.1208277940750122,0.2058266401290894,0.2879209220409393,-0.0419875606894493,-0.1902059614658356,-0.2723863720893860,-0.1086223348975182,-0.0870924964547157,0.8605937957763672,0.2656622231006622,-0.1653763055801392,0.0816384851932526,-0.0137870563194156,0.1433854848146439) * MODEL1_texOff(vec2(0,1)); -res += mat4(-0.1565909236669540,-0.0307490080595016,-0.1055604666471481,0.2573592662811279,-0.1186821162700653,0.1141471788287163,-0.0272745657712221,-0.1049114838242531,0.2445316016674042,-0.0027864547446370,-0.1759569346904755,-0.1556979566812515,0.0550616309046745,0.1704383641481400,0.0853662937879562,0.3280856907367706) * MODEL2_texOff(vec2(0,1)); -res += mat4(0.1460669338703156,0.4202052652835846,-0.3638312816619873,-0.0958623066544533,-0.0492525361478329,-0.3664234280586243,0.0794373303651810,0.0399017669260502,0.0629198029637337,0.1662959158420563,-0.1001493930816650,-0.0587460733950138,-0.0396478697657585,0.0017320754704997,0.0314909480512142,-0.0202700830996037) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.0964399129152298,0.0380319654941559,0.0396055467426777,0.0265473183244467,-0.0161637403070927,-0.1872924566268921,0.1670000404119492,0.0029466480482370,-0.1093841269612312,-0.3629201948642731,-0.0562992505729198,0.1792684197425842,-0.0203859098255634,0.0983991250395775,0.0058611719869077,0.1627455651760101) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.1117974221706390,0.7562329173088074,-0.2046248912811279,0.1677842289209366,-0.2063486129045486,-0.6023545265197754,-0.5739209651947021,0.5110496878623962,-0.0715268924832344,-0.1373793482780457,0.1251420378684998,-0.0477442294359207,0.4961377978324890,0.2688887119293213,0.3146316707134247,-0.5197153687477112) * MODEL1_texOff(vec2(1,0)); -res += mat4(-0.1314805448055267,0.0746279135346413,0.3457699418067932,0.2564856410026550,0.0839370116591454,-0.6136511564254761,-0.4646295011043549,0.0612256154417992,-0.1910563558340073,-0.0935136750340462,-0.2426030039787292,0.2102959007024765,0.1575350016355515,0.6145061254501343,0.3368154168128967,-0.0974092856049538) * MODEL2_texOff(vec2(1,0)); -res += mat4(0.0565315335988998,0.2393359094858170,-0.0932938233017921,0.1555283814668655,0.0123879108577967,-0.1247719228267670,-0.0564610138535500,-0.1125799044966698,-0.0104600470513105,0.0482629500329494,0.2316472232341766,0.1083717569708824,-0.0525921434164047,0.0643989592790604,-0.0525734610855579,-0.0503251366317272) * MODEL1_texOff(vec2(1,1)); -res += mat4(-0.1835366338491440,0.0978360474109650,-0.1111819595098495,0.2109299153089523,0.0509372949600220,-0.1992686837911606,0.0677929744124413,-0.0870024710893631,-0.0412262082099915,-0.0697719156742096,-0.0967373847961426,0.0137308547273278,0.0195730421692133,0.0410240143537521,0.1157210171222687,0.2283479571342468) * MODEL2_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1991519331932068,-0.1275756657123566,-0.0622864030301571,0.1586369574069977) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 3_2 -//!BIND MODEL1 -//!BIND MODEL2 -//!SAVE MODEL22 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0089084329083562,-0.0336172059178352,0.0177190825343132,0.0529975406825542); -res += mat4(-0.0275970958173275,0.0141968233510852,0.1181544512510300,-0.0572245270013809,0.1161347925662994,-0.1156444773077965,-0.2549640238285065,0.0882879272103310,-0.0715355500578880,0.0151285668835044,0.1079384386539459,0.0650847703218460,-0.1597152203321457,0.0669793561100960,0.2084401696920395,-0.0951152443885803) * MODEL1_texOff(vec2(-1,-1)); -res += mat4(0.0404323227703571,-0.0206144321709871,-0.1080420613288879,-0.2038477361202240,0.0248847268521786,-0.0064681121148169,0.0389525443315506,0.0011026862775907,0.0885242074728012,0.0295896343886852,-0.3323790132999420,0.1935138553380966,-0.0466548874974251,0.1023886054754257,0.1257870644330978,-0.1541756242513657) * MODEL2_texOff(vec2(-1,-1)); -res += mat4(-0.0076520540751517,0.0361139886081219,0.1749804913997650,-0.2051989138126373,0.0022692133206874,-0.0282937753945589,-0.2039019316434860,-0.2343468815088272,-0.0357327871024609,-0.0570764988660812,0.2925858795642853,-0.1988349705934525,-0.0584560707211494,-0.0341510921716690,0.1300961822271347,0.5184492468833923) * MODEL1_texOff(vec2(-1,0)); -res += mat4(0.0884973928332329,0.0333527140319347,0.0180535931140184,-0.2655122876167297,0.0433661043643951,0.0104369185864925,0.0010909073753282,-0.0705273598432541,-0.0602585524320602,0.2420269846916199,-0.4731841087341309,-0.8040290474891663,0.3066828548908234,-0.2466925680637360,0.0938910692930222,-0.2002603262662888) * MODEL2_texOff(vec2(-1,0)); -res += mat4(0.0549152903258801,0.0291299298405647,0.0946277007460594,-0.0581608228385448,0.0669180899858475,-0.0635575056076050,-0.2427970170974731,-0.2677550315856934,0.2226776182651520,0.1301570236682892,-0.1519709974527359,0.0671724304556847,-0.0526433289051056,0.1898351758718491,0.2383745312690735,0.2191711813211441) * MODEL1_texOff(vec2(-1,1)); -res += mat4(-0.0234222635626793,0.0238620284944773,0.0427630320191383,-0.1080563366413116,0.0332126952707767,-0.0039051575586200,0.0293126031756401,0.0161924213171005,0.0453971028327942,0.0131999952718616,-0.0689036697149277,0.2349009960889816,0.1013344153761864,0.2706570029258728,0.1191426888108253,-0.2830821871757507) * MODEL2_texOff(vec2(-1,1)); -res += mat4(0.0181465242058039,-0.0571886636316776,0.4875229001045227,-0.4244020283222198,0.4331104159355164,0.1066712513566017,-0.5277034044265747,0.1110567077994347,-0.1179447323083878,-0.0273578558117151,0.1798476576805115,-0.2829602360725403,0.1012385115027428,-0.2528488039970398,0.1697608679533005,0.1121710017323494) * MODEL1_texOff(vec2(0,-1)); -res += mat4(-0.1404130905866623,-0.0984055623412132,-0.0279541295021772,-0.1321212500333786,-0.0841855704784393,0.1336171030998230,-0.1458790600299835,-0.0044095455668867,0.2203754037618637,0.1455714553594589,-0.2362042963504791,-0.0329121425747871,-0.1683547794818878,0.0289597529917955,0.3424547612667084,0.0143845872953534) * MODEL2_texOff(vec2(0,-1)); -res += mat4(0.0287246014922857,0.1948280781507492,0.5998955368995667,0.1192114129662514,-0.6269109249114990,0.8724324703216553,-0.6399638652801514,-0.4201497733592987,-0.3355066180229187,-0.1566904038190842,-0.4396412074565887,0.1525828838348389,0.5573399066925049,0.2324324846267700,0.2762884795665741,0.0406046211719513) * MODEL1_texOff(vec2(0,0)); -res += mat4(0.3890096545219421,-0.0574061162769794,-0.1468243300914764,-0.5953360199928284,-0.1363215148448944,-0.2224670499563217,-0.2237723320722580,0.2738097012042999,-0.4868114292621613,-0.5029351711273193,-0.3570256233215332,-0.1776263266801834,-0.0176672954112291,-0.4318660795688629,1.0395888090133667,0.1728395074605942) * MODEL2_texOff(vec2(0,0)); -res += mat4(0.1337304115295410,-0.0809440389275551,0.1600498855113983,-0.1108811497688293,-0.2376178801059723,-0.1532768607139587,-0.0447455830872059,0.2515332102775574,0.4848278462886810,-0.0915748402476311,-0.0336527302861214,-0.2141884714365005,0.2125129699707031,0.3237875998020172,0.0022272330243140,-0.0167857185006142) * MODEL1_texOff(vec2(0,1)); -res += mat4(0.0457934997975826,0.0510537698864937,-0.0519523508846760,-0.4506326615810394,-0.1029204949736595,0.0116113182157278,-0.1750748157501221,-0.0048758201301098,0.1506977379322052,0.0633068457245827,-0.1628549993038177,-0.0144928665831685,0.1408756822347641,0.2896180152893066,0.0803691521286964,-0.4930096566677094) * MODEL2_texOff(vec2(0,1)); -res += mat4(-0.0484248884022236,0.1371297985315323,-0.1235475391149521,-0.2618594765663147,-0.0280395895242691,0.0248795989900827,0.1204105168581009,0.3246576189994812,0.0426272377371788,-0.0520061068236828,0.0575957447290421,-0.2613646090030670,0.1165295541286469,-0.0390013493597507,-0.0470846109092236,-0.0014663023175672) * MODEL1_texOff(vec2(1,-1)); -res += mat4(-0.1066762879490852,-0.0869804695248604,-0.0099332248792052,-0.1355892717838287,-0.0760413780808449,0.1377770304679871,-0.0263407956808805,0.0880135521292686,0.1496269851922989,-0.0487459264695644,0.1286851912736893,0.2218491584062576,0.1723349541425705,-0.0165541302412748,-0.0690477639436722,-0.2388458102941513) * MODEL2_texOff(vec2(1,-1)); -res += mat4(-0.4236431121826172,0.0465179122984409,-0.1526456624269485,0.1426440477371216,0.5913932919502258,-0.1082349196076393,0.2731275856494904,-0.2687640488147736,-0.4628683030605316,-0.0537119321525097,-0.1597615629434586,0.0528527684509754,-0.3485085070133209,0.1395110934972763,0.0642972290515900,0.0323829315602779) * MODEL1_texOff(vec2(1,0)); -res += mat4(0.0066713397391140,-0.0482029877603054,-0.1707276403903961,-0.1001396998763084,0.0539822019636631,-0.1624453216791153,0.4913550019264221,0.3687861263751984,0.0491421781480312,0.1311376541852951,0.0992425829172134,-0.4636098444461823,-0.3415873646736145,-0.0153833786025643,-0.0270162131637335,-0.0935514941811562) * MODEL2_texOff(vec2(1,0)); -res += mat4(-0.1738258153200150,0.0458541549742222,-0.0653749182820320,-0.0156540926545858,-0.0357586294412613,-0.1486178338527679,0.1798035055398941,-0.1310307979583740,0.0783249065279961,-0.0261360015720129,-0.1047066971659660,0.3385537564754486,-0.0339452810585499,0.2299628853797913,-0.1408322304487228,-0.0352708548307419) * MODEL1_texOff(vec2(1,1)); -res += mat4(0.0463018082082272,0.0565674640238285,-0.0538956597447395,-0.2354862987995148,0.0297824125736952,0.0307939313352108,0.1271791011095047,-0.1025698855519295,0.1060482114553452,-0.0703211054205894,-0.0083062350749969,0.0474255047738552,0.0442508421838284,0.1569559425115585,-0.0442709513008595,-0.1188704669475555) * MODEL2_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.7366524934768677,1.0013850927352905,-0.0276311747729778,0.0734841898083687) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_1 -//!BIND MODEL21 -//!BIND MODEL22 -//!SAVE MODEL1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1306160986423492,-0.0808217376470566,-0.2880123555660248,0.0099629526957870); -res += mat4(-0.1033539846539497,0.0541300140321255,-0.0804840475320816,-0.0334571413695812,-0.0264753755182028,0.1118840202689171,0.1186013221740723,-0.0127575425431132,0.2236593365669250,0.0025286162272096,0.0985530614852905,0.0685181617736816,-0.1884875595569611,0.0530862808227539,-0.0482063069939613,0.0375233069062233) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.1837068796157837,-0.0632847175002098,0.0016613919287920,0.0392861217260361,0.2923883199691772,-0.1713902205228806,0.1907587945461273,0.0550456829369068,0.0644215345382690,-0.1046456992626190,0.0187383033335209,0.0770180150866508,0.1933846622705460,-0.0455715768039227,0.0375007353723049,-0.1053109914064407) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.0972480997443199,0.2820451855659485,0.0114549007266760,-0.0954328626394272,0.0706252008676529,0.4829064607620239,-0.6371517181396484,0.0005180989392102,0.3280143439769745,0.0665246024727821,-0.0503116399049759,-0.1261110603809357,0.1114177703857422,-0.2053108513355255,0.1428771317005157,0.3926100134849548) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.2571723163127899,0.1627264618873596,-0.4940335154533386,-0.1361546218395233,0.0804422944784164,-0.4231885373592377,0.0650202706456184,0.0518481098115444,-0.0502478554844856,-0.1305799931287766,0.1814480125904083,0.0090866927057505,-0.0510044656693935,-0.1691461503505707,0.0922467112541199,-0.0314207412302494) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.1270498335361481,0.0563284493982792,-0.0435525141656399,0.1569847911596298,0.0576847903430462,0.3461692929267883,-0.0325655154883862,-0.2688976824283600,-0.1341977864503860,-0.1382253766059875,0.2293784171342850,-0.1111817285418510,-0.1402447521686554,-0.3257531225681305,0.0598510466516018,0.1008039116859436) * MODEL21_texOff(vec2(-1,1)); -res += mat4(0.1698816716670990,0.3491003513336182,-0.1367681026458740,-0.1165873408317566,-0.2091718912124634,-0.1487034261226654,-0.0569749698042870,-0.2100717276334763,0.0404917001724243,-0.1372035890817642,0.0689046755433083,-0.0367818064987659,-0.0325474888086319,-0.0114965448155999,-0.0137249026447535,-0.0279692262411118) * MODEL22_texOff(vec2(-1,1)); -res += mat4(-0.0563433989882469,0.0132494345307350,-0.2434540390968323,0.0796563774347305,-0.2109155058860779,0.0387088693678379,-0.0591037571430206,0.0955820381641388,0.4660535752773285,-0.1204202473163605,0.1332369595766068,-0.0285425651818514,-0.3886952698230743,-0.0434980578720570,-0.0849134400486946,0.0802380964159966) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0412235632538795,0.1571959257125854,0.2050069272518158,-0.1138664111495018,0.1962715685367584,0.0594439841806889,0.0351715497672558,-0.0129811102524400,0.2055217623710632,-0.0647534057497978,0.0373471938073635,0.0877277255058289,-0.5734645724296570,0.1188675239682198,-0.1145943328738213,-0.1182733029127121) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.2004909217357635,-0.4817073047161102,0.5596802830696106,-0.0327854752540588,0.0989314392209053,0.4127818942070007,0.7265836596488953,-0.2692042589187622,0.5195841789245605,-0.2357539832592010,-0.3819393217563629,0.1755530238151550,0.6578183770179749,0.1075539961457253,-0.2688144743442535,0.3242723941802979) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.3221310675144196,0.2978510260581970,0.2269985526800156,-0.3184116482734680,0.4845580160617828,0.4407236874103546,0.0099756307899952,-0.3121858239173889,-0.3810067176818848,-0.0553649961948395,0.0202834140509367,0.0409953594207764,0.2532750964164734,0.2731618583202362,0.1237529441714287,0.0134243080392480) * MODEL22_texOff(vec2(0,0)); -res += mat4(0.1835541725158691,0.0549701862037182,-0.1749316602945328,-0.2030028849840164,0.0263462308794260,0.2781440317630768,0.0372458845376968,0.3643021881580353,-0.4047883749008179,0.0660117194056511,0.4863115549087524,-0.2024163603782654,-0.6403482556343079,0.2765505611896515,0.1417075097560883,0.5064445734024048) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.6106975078582764,-0.1570862233638763,-0.3223383128643036,-0.2497926801443100,-0.4854303300380707,0.0132978223264217,-0.0609334111213684,0.1285556703805923,-0.1412864029407501,-0.1379042416810989,-0.0258826259523630,0.1357705891132355,-0.1285902857780457,-0.0577826797962189,0.0550044551491737,0.1717510819435120) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.1389609426259995,0.0835867226123810,0.0309768319129944,-0.0278116948902607,-0.0390677824616432,-0.0111810686066747,-0.0025318188127130,0.0069569633342326,0.0347319357097149,0.0191543344408274,0.0314339138567448,-0.0228427499532700,0.0416300334036350,0.0249234102666378,0.1210031509399414,0.1142473593354225) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0607251487672329,0.0386395826935768,-0.0219341218471527,-0.1102298423647881,0.1487188935279846,0.0602982006967068,-0.0280748903751373,-0.0211924221366644,0.0042894422076643,-0.0269144997000694,0.0814756453037262,-0.0314031280577183,-0.0213186051696539,-0.1362965404987335,0.0382767543196678,-0.0669511556625366) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.2397561967372894,0.3023172020912170,-0.2398054003715515,0.0041919997893274,-0.1016605198383331,-0.1521034836769104,-0.1526568531990051,0.0272433310747147,0.0741761848330498,0.1116370111703873,0.1149727106094360,-0.0809784531593323,-0.1448147594928741,-0.0943927690386772,-0.0086280042305589,0.1243222951889038) * MODEL21_texOff(vec2(1,0)); -res += mat4(-0.0469366572797298,-0.1655988991260529,-0.1029584184288979,-0.1347874104976654,0.2064601778984070,0.0521226711571217,-0.1366733759641647,-0.0041872998699546,0.1077186539769173,0.0184442866593599,-0.2309073060750961,-0.1637075096368790,-0.0417953692376614,-0.3190860450267792,-0.1593534499406815,0.0136412177234888) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.1698798984289169,0.0232755411416292,-0.0876034423708916,-0.3008348643779755,0.0789884999394417,0.0034748215693980,-0.0064704762771726,0.0057828431017697,-0.0190630126744509,-0.0334153175354004,-0.0195646341890097,0.0105131156742573,0.0995147302746773,-0.3130289018154144,-0.0724022984504700,0.0113303456455469) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0027791252359748,-0.0193455871194601,-0.0415000133216381,0.0568981170654297,-0.2745247483253479,0.1222846284508705,0.1899162530899048,0.1067754998803139,-0.0561975166201591,-0.1500336527824402,0.0526139959692955,-0.3491798937320709,-0.0692384615540504,-0.0307095069438219,0.0498757846653461,0.0019003645284101) * MODEL22_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.1552927196025848,0.0782765746116638,0.7966942191123962,-1.1619627475738525) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Mapping 4_2 -//!BIND MODEL21 -//!BIND MODEL22 -//!SAVE MODEL2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.1443098634481430,-0.1343899369239807,-0.0624338127672672,-0.1094277128577232); -res += mat4(-0.0689977407455444,-0.1693786680698395,0.0109281269833446,0.0609922930598259,0.0296908002346754,0.1195700988173485,-0.0694077461957932,0.0971287414431572,0.0253518298268318,0.1213042959570885,0.0703809782862663,0.0055739870294929,-0.1595942378044128,-0.1336689442396164,-0.0622441768646240,-0.0428023114800453) * MODEL21_texOff(vec2(-1,-1)); -res += mat4(0.0860001668334007,-0.0226618759334087,0.1602241247892380,0.0431661494076252,0.1526461094617844,0.2752982378005981,0.0960300788283348,-0.0536719262599945,-0.0171773489564657,0.0457364916801453,-0.0360932648181915,-0.0397153608500957,-0.0277090407907963,0.0729821547865868,-0.0145150292664766,0.0252893269062042) * MODEL22_texOff(vec2(-1,-1)); -res += mat4(-0.1407091915607452,-0.4007499516010284,-0.0302001200616360,-0.0606933943927288,-0.2960600554943085,-0.2263117432594299,0.0721478462219238,-0.4578711986541748,0.0960150733590126,-0.1606502830982208,0.2444226741790771,0.0000882153908606,0.1472496986389160,0.3256779909133911,-0.2132861614227295,0.0339313484728336) * MODEL21_texOff(vec2(-1,0)); -res += mat4(-0.1477648764848709,-0.1487885862588882,-0.1973863691091537,0.0717295333743095,0.0843430235981941,0.6259996294975281,-0.1214931011199951,-0.1274987608194351,0.2359549105167389,0.3002171218395233,-0.0825233608484268,-0.0157950688153505,0.0706149637699127,0.1762917637825012,-0.0611497573554516,-0.0859689489006996) * MODEL22_texOff(vec2(-1,0)); -res += mat4(0.0174895934760571,-0.0567042417824268,0.0409146919846535,0.0258173532783985,0.1421577036380768,0.1234543323516846,-0.1721662431955338,0.1492216140031815,0.1100751459598541,0.0501539446413517,0.1100447699427605,-0.1086079254746437,-0.0608497932553291,0.0087817469611764,0.0714464113116264,-0.1285197436809540) * MODEL21_texOff(vec2(-1,1)); -res += mat4(-0.0017177806003019,-0.1463395059108734,-0.1085453778505325,0.1650195866823196,0.0813829153776169,0.1102061793208122,-0.0578421875834465,-0.0232036896049976,-0.1239888817071915,0.0155465165153146,0.1079114526510239,-0.0420837886631489,-0.0775837749242783,0.0148941157385707,-0.0502299368381500,-0.0654754191637039) * MODEL22_texOff(vec2(-1,1)); -res += mat4(0.0918162539601326,0.0440697595477104,-0.0515748932957649,0.0417411290109158,0.0353216230869293,0.1535954177379608,0.0439723692834377,-0.1288845241069794,0.1076577678322792,-0.1306740194559097,0.0715952813625336,-0.0681907683610916,-0.3798767924308777,0.1023928597569466,-0.0970670804381371,0.0077168666757643) * MODEL21_texOff(vec2(0,-1)); -res += mat4(0.0634560957551003,-0.0550306066870689,0.2073986232280731,0.0520241297781467,0.1162287592887878,-0.2218665480613708,0.3199682831764221,0.0606246069073677,-0.0058511858806014,-0.0667045339941978,-0.0449917949736118,0.0707788690924644,-0.3323366343975067,-0.0763893201947212,-0.0997853428125381,-0.1181001588702202) * MODEL22_texOff(vec2(0,-1)); -res += mat4(-0.3101258873939514,0.2616009712219238,0.0584651045501232,0.1656491309404373,-0.0069236233830452,0.2573371529579163,-0.1793291717767715,-0.2718756198883057,0.0953581258654594,0.0524105131626129,0.1183085516095161,0.0583294369280338,0.5036848187446594,-0.5763167142868042,-0.2119628041982651,-0.3140562772750854) * MODEL21_texOff(vec2(0,0)); -res += mat4(-0.2497755438089371,-0.0146329319104552,-0.2741575539112091,0.2459975033998489,0.3562706708908081,-0.6528629064559937,-0.4287456274032593,0.2055913358926773,0.1739019453525543,-0.3855968713760376,-0.0958273336291313,-0.7066691517829895,0.2365748286247253,-0.3046728968620300,-0.2590373754501343,-0.0496727414429188) * MODEL22_texOff(vec2(0,0)); -res += mat4(-0.0844531357288361,-0.0321611948311329,-0.0951840654015541,0.0577518045902252,-0.1606003493070602,0.2776086628437042,-0.1355003118515015,-0.0880064144730568,-0.1277643740177155,-0.0514567233622074,0.1522682905197144,-0.1040910631418228,-0.2767944037914276,-0.1452194601297379,0.0089118303731084,0.0231996178627014) * MODEL21_texOff(vec2(0,1)); -res += mat4(0.2603267133235931,0.0167464651167393,-0.2064073234796524,0.1782064288854599,0.4890212416648865,0.0559245310723782,0.1221160590648651,-0.0202587731182575,-0.4056585729122162,-0.1839511841535568,0.2775998413562775,0.0024275144096464,-0.2624500989913940,-0.0619418807327747,0.0153478365391493,0.0123427547514439) * MODEL22_texOff(vec2(0,1)); -res += mat4(0.0816635638475418,-0.0134946266189218,0.0594766475260258,-0.0551253929734230,0.0134431896731257,-0.0652195811271667,-0.0563635528087616,-0.0066532371565700,-0.0004114551993553,0.0105680683627725,0.1324467360973358,0.0467248968780041,0.0301312971860170,-0.1073397025465965,-0.0363437235355377,-0.0474153012037277) * MODEL21_texOff(vec2(1,-1)); -res += mat4(0.0199097190052271,0.0901319086551666,0.0448978282511234,0.0505443066358566,0.0438878424465656,-0.0494784042239189,0.0724927335977554,-0.0070675504393876,-0.0012125011999160,0.0295279901474714,0.0705125033855438,0.0555334389209747,-0.0403393507003784,-0.1271172016859055,0.0017914215568453,0.1462216079235077) * MODEL22_texOff(vec2(1,-1)); -res += mat4(-0.2827299833297729,0.2052399665117264,0.0042732120491564,-0.3969024717807770,-0.0782120972871780,0.1960176974534988,-0.0675340741872787,0.0027962317690253,0.0516129024326801,-0.0352642722427845,0.0546326488256454,0.0065340655855834,-0.1062376946210861,0.1364430636167526,-0.0536947809159756,0.2098117172718048) * MODEL21_texOff(vec2(1,0)); -res += mat4(0.0045875865034759,0.2162927240133286,-0.2158576399087906,-0.0047327815555036,0.1251590698957443,0.1279677897691727,-0.1188964918255806,0.0328494384884834,0.0076038073748350,-0.0561547242105007,0.0335608273744583,0.4332321286201477,0.0021786799188703,0.0844521671533585,-0.2102309316396713,-0.0189208015799522) * MODEL22_texOff(vec2(1,0)); -res += mat4(0.0933093801140785,0.1548244059085846,-0.0598701611161232,0.0357220247387886,-0.1141726672649384,0.0536412484943867,-0.0159156844019890,-0.0445508137345314,0.1883231997489929,-0.1547038406133652,0.0530619807541370,0.0059371814131737,0.0602529086172581,-0.0435577929019928,0.0083390390500426,0.0191930737346411) * MODEL21_texOff(vec2(1,1)); -res += mat4(-0.0351041629910469,0.2119503468275070,-0.0841927304863930,0.0079463515430689,0.0683520361781120,-0.1657009869813919,0.0611055232584476,-0.0063667562790215,0.0330024957656860,-0.1810818463563919,0.0872574150562286,0.1485669612884521,-0.1305806934833527,0.0041402997449040,0.0223289318382740,-0.0141495745629072) * MODEL22_texOff(vec2(1,1)); -res = max(res, vec4(0.0)) + vec4(0.5769761204719543,0.1716064810752869,-0.0821026712656021,0.2092144042253494) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 1 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND FEATURE1 -//!SAVE RES1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.0245648548007011,-0.4467784762382507,0.0197526942938566,-0.0110000418499112); -res += mat4(0.0302665308117867,-0.9262221455574036,-0.1161134764552116,-0.0506900474429131,0.2716045379638672,-0.0485871583223343,0.0044713355600834,-0.4274623394012451,0.0749531090259552,-0.3700785338878632,0.0350039415061474,-0.0540786534547806,-0.0607390031218529,-0.8019900321960449,0.0923245251178741,0.1258827745914459) * MODEL1_texOff(0); -res += mat4(-0.0649135261774063,0.0815236791968346,0.0067334296181798,0.1277425885200500,-0.0051357815973461,-0.1485908329486847,0.0074226572178304,0.0050623500719666,0.0588018335402012,-0.0692552924156189,0.1288725286722183,-0.0989386290311813,0.0427936837077141,0.0967708528041840,-0.0455632135272026,-0.0711275041103363) * MODEL2_texOff(0); -res += FEATURE1_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.9927186965942383,0.0570580027997494,1.3226752281188965,1.0069466829299927) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-band Residuals 2 -//!BIND MODEL1 -//!BIND MODEL2 -//!BIND FEATURE2 -//!SAVE RES2 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(-0.0425243787467480,-0.3715015351772308,-0.0256227850914001,-0.2774516046047211); -res += mat4(0.0238118842244148,0.0295480657368898,-0.0066418983042240,0.1021223962306976,-0.0568209178745747,-0.4355100393295288,-0.2700522541999817,-0.2060186564922333,-0.0689613372087479,-0.1689691990613937,-0.0306748505681753,-0.2461252212524414,-0.0057375836186111,-0.1892303228378296,-0.0285871494561434,-0.5032613277435303) * MODEL1_texOff(0); -res += mat4(0.5463213324546814,0.0972800329327583,0.0307560767978430,0.0678058937191963,-0.0356063023209572,-0.7013865113258362,0.1890443563461304,-0.1036657467484474,-0.1745826154947281,-0.2942218780517578,-0.0485423319041729,-0.2983124554157257,-0.0524431839585304,-0.3261034786701202,0.3217246532440186,0.1958018541336060) * MODEL2_texOff(0); -res += FEATURE2_texOff(0); -res = max(res, vec4(0.0)) + vec4(0.1391339898109436,0.0960328355431557,0.6235341429710388,0.1177272796630859) * min(res, vec4(0.0)); -return res; -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!DESC FSRCNNX Sub-pixel Convolution 1 -//!BIND RES1 -//!BIND RES2 -//!SAVE SUBCONV1 -//!COMPONENTS 4 -vec4 hook() -{ -vec4 res = vec4(0.2010385394096375,0.2058132737874985,0.1918809115886688,0.1961363703012466); -res += mat4x4(-0.0005980331334285,-0.0095877395942807,-0.0149448839947581,-0.0026380482595414,0.0320665836334229,-0.0706205591559410,-0.0054677254520357,0.0215112231671810,-0.0025710910558701,-0.0000433265340689,0.0044494951143861,-0.0034823501482606,-0.0050858515314758,0.0109513988718390,0.0208286065608263,-0.0032168829347938) * RES1_texOff(vec2(-1,-1)); -res += mat4x4(-0.0145305208861828,0.0246876608580351,-0.0038286084309220,-0.0033089490607381,-0.0920709222555161,-0.0767898634076118,0.0012083095498383,-0.0751532614231110,0.0001302754972130,-0.0107085108757019,-0.0010383903281763,-0.0059571005403996,0.0809685289859772,0.0414833538234234,0.0227938480675220,-0.0211347509175539) * RES2_texOff(vec2(-1,-1)); -res += mat4x4(0.0160999298095703,0.0364215746521950,-0.0377063788473606,-0.0449111759662628,-0.0476365163922310,0.1522845029830933,-0.0131391752511263,-0.0476671792566776,-0.0378389135003090,0.0235454943031073,0.0224007442593575,-0.0010372076649219,-0.0089435689151287,-0.0293026417493820,0.0274190884083509,0.0469092652201653) * RES1_texOff(vec2(-1,0)); -res += mat4x4(0.0297575183212757,-0.0132508194074035,-0.0044682323932648,-0.0096222748979926,0.2525918781757355,0.1873829364776611,-0.5599535703659058,-0.2372044622898102,0.0033207221422344,0.0256173480302095,0.0294605866074562,0.0323960892856121,-0.1679904460906982,-0.1278967708349228,0.3168168365955353,0.1978507637977600) * RES2_texOff(vec2(-1,0)); -res += mat4x4(-0.0047590560279787,-0.0149335600435734,0.0033453819341958,-0.0012247267877683,0.1112466752529144,0.0147760482504964,0.0031189601868391,0.0391573049128056,-0.0028154491446912,-0.0036881719715893,-0.0116015253588557,-0.0037573333829641,0.0047581391409039,0.0071071563288569,-0.0033221673220396,0.0004882142529823) * RES1_texOff(vec2(-1,1)); -res += mat4x4(-0.0025197160430253,-0.0018677815096453,0.0038254233077168,0.0041981274262071,-0.1321131736040115,-0.0494364202022552,0.0760654658079147,-0.1386690139770508,-0.0016222692793235,-0.0060105528682470,0.0010201989207417,0.0092753591015935,-0.0194614846259356,0.0087382243946195,-0.0606758072972298,0.0156162241473794) * RES2_texOff(vec2(-1,1)); -res += mat4x4(-0.0073722628876567,0.0012844242155552,0.0241398401558399,-0.0075527969747782,-0.0865194946527481,-0.0610522404313087,0.0289319511502981,-0.0994452014565468,0.0281447004526854,-0.0250582899898291,0.0044891634024680,-0.0246205236762762,0.0112307453528047,-0.0010844616917893,-0.0223584957420826,0.0177635718137026) * RES1_texOff(vec2(0,-1)); -res += mat4x4(-0.0585863515734673,0.0953190475702286,-0.0555586628615856,0.1033507287502289,0.1560877263545990,-0.0690897777676582,-0.0341389514505863,-0.0661668032407761,0.0531073249876499,-0.0266165956854820,-0.0203275382518768,0.0017760475166142,-0.1300747394561768,0.1810652017593384,0.0381597876548767,0.1397419273853302) * RES2_texOff(vec2(0,-1)); -res += mat4x4(0.6259804368019104,0.6062518954277039,0.5450409054756165,0.5966195464134216,-0.0423948727548122,0.0760537460446358,-0.0113651463761926,0.3007817566394806,-0.3218322694301605,0.2713021934032440,-0.3143473267555237,0.2303840517997742,0.3493050038814545,0.3590726852416992,0.4138027429580688,0.3391666412353516) * RES1_texOff(vec2(0,0)); -res += mat4x4(0.0790478289127350,-0.0978994593024254,0.0779844969511032,-0.0823706611990929,0.0094470111653209,0.1671760678291321,0.1201528310775757,-0.2016288936138153,0.3667598366737366,0.3651430010795593,-0.3612343966960907,-0.2978236973285675,-0.4231655597686768,0.0091423410922289,-0.1918412446975708,0.4224558770656586) * RES2_texOff(vec2(0,0)); -res += mat4x4(-0.0186564289033413,0.0274957418441772,-0.0064405309967697,0.0056951809674501,0.4864942431449890,-0.2563461959362030,0.4357284605503082,-0.2976118028163910,0.0374982468783855,0.0167757049202919,0.0305800959467888,0.0232830215245485,0.0138373551890254,-0.0191283021122217,0.0032355054281652,0.0055057541467249) * RES1_texOff(vec2(0,1)); -res += mat4x4(-0.0276355985552073,0.0048149987123907,-0.0251619722694159,-0.0057246969081461,0.0271473955363035,-0.0042668608948588,-0.0594691745936871,0.2255926281213760,-0.0203660242259502,0.0721646770834923,0.0137230781838298,-0.0650938376784325,-0.3049557507038116,0.2035628110170364,-0.2509683668613434,0.1962853819131851) * RES2_texOff(vec2(0,1)); -res += mat4x4(0.0109980758279562,-0.0053752651438117,-0.0112550277262926,0.0024017230607569,0.0362104885280132,0.0084348218515515,-0.0106990104541183,-0.0207723993808031,-0.0014961160486564,0.0066790678538382,0.0028113177977502,0.0025022011250257,-0.0093937022611499,0.0016421369509771,0.0035362334456295,-0.0058064293116331) * RES1_texOff(vec2(1,-1)); -res += mat4x4(0.0138889988884330,-0.0078343702480197,0.0061464929021895,0.0202130675315857,-0.0257590841501951,-0.0366640128195286,0.0250097587704659,-0.0498071312904358,-0.0103149358183146,-0.0001786737266229,-0.0099909817799926,0.0062733208760619,0.0131437368690968,-0.0005469865864143,-0.0388854071497917,0.0612070746719837) * RES2_texOff(vec2(1,-1)); -res += mat4x4(0.0052813654765487,0.0215748809278011,0.0107395220547915,-0.0079439217224717,0.0382786765694618,0.0697424262762070,-0.0415962152183056,0.0657853558659554,0.0209470037370920,-0.0218399092555046,-0.0447359494864941,0.0407319553196430,-0.0040902681648731,-0.0196106657385826,-0.0018554026028141,0.0203906055539846) * RES1_texOff(vec2(1,0)); -res += mat4x4(-0.0106181986629963,0.0084018819034100,0.0131329754367471,-0.0198754761368036,0.1117177084088326,0.0990846082568169,-0.0732304081320763,0.0163581725209951,-0.0648830309510231,-0.0451613292098045,0.0206844564527273,0.0031441387254745,-0.0106161693111062,-0.0567689687013626,0.0782861113548279,-0.0306094046682119) * RES2_texOff(vec2(1,0)); -res += mat4x4(0.0012452082009986,-0.0026056850329041,-0.0096226977184415,-0.0037850935477763,-0.0190967041999102,0.0534373670816422,0.1599360853433609,0.0834670960903168,-0.0070255175232887,0.0012873009545729,0.0030876772943884,-0.0093916896730661,-0.0033529615029693,0.0043485122732818,0.0089034689590335,-0.0067489291541278) * RES1_texOff(vec2(1,1)); -res += mat4x4(0.0004713654634543,-0.0034161377698183,-0.0026913962792605,0.0053522582165897,-0.0040974905714393,0.0273330621421337,-0.0333138220012188,-0.0701237097382545,0.0082997502759099,-0.0183656588196754,-0.0122841577976942,-0.0052855615504086,-0.0023795007728040,-0.0438593104481697,-0.1101513057947159,-0.0182559806853533) * RES2_texOff(vec2(1,1)); -return vec4(res); -} - -//!HOOK LUMA -//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * -//!WIDTH LUMA.w 2 * -//!HEIGHT LUMA.h 2 * -//!DESC FSRCNNX Aggregation [x2_8] -//!BIND SUBCONV1 -vec4 hook() -{ -vec2 fcoord = fract(SUBCONV1_pos * SUBCONV1_size); -vec2 base = SUBCONV1_pos + (vec2(0.5) - fcoord) * SUBCONV1_pt; -ivec2 index = ivec2(fcoord * vec2(2)); -vec4 res = SUBCONV1_tex(base); -return vec4(res[index.x * 2 + index.y], 0, 0, 1); -} \ No newline at end of file diff --git a/shaders/igv/KrigBilateral.glsl b/shaders/igv/KrigBilateral.glsl deleted file mode 100644 index c807ef4..0000000 --- a/shaders/igv/KrigBilateral.glsl +++ /dev/null @@ -1,213 +0,0 @@ -// KrigBilateral by Shiandow -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3.0 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library. - -//!HOOK CHROMA -//!BIND LUMA -//!BIND HOOKED -//!SAVE LOWRES_Y -//!WIDTH LUMA.w -//!WHEN CHROMA.w LUMA.w < -//!DESC KrigBilateral Downscaling Y pass 1 - -#define offset vec2(0) - -#define axis 1 - -#define Kernel(x) dot(vec3(0.42659, -0.49656, 0.076849), cos(vec3(0, 1, 2) * acos(-1.) * (x + 1.))) - -vec4 hook() { - // Calculate bounds - float low = ceil((LUMA_pos - CHROMA_pt) * LUMA_size - offset - 0.5)[axis]; - float high = floor((LUMA_pos + CHROMA_pt) * LUMA_size - offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = LUMA_pos; - - for (float k = low; k <= high; k++) { - pos[axis] = LUMA_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - LUMA_pos[axis])*CHROMA_size[axis]; - float w = Kernel(rel); - - vec4 y = textureGrad(LUMA_raw, pos, vec2(0.0), vec2(0.0)).xxxx * LUMA_mul; - y.y *= y.y; - avg += w * y; - W += w; - } - avg /= W; - avg.y = abs(avg.y - avg.x * avg.x); - return avg; -} - -//!HOOK CHROMA -//!BIND LOWRES_Y -//!BIND HOOKED -//!SAVE LOWRES_Y -//!WHEN CHROMA.w LUMA.w < -//!DESC KrigBilateral Downscaling Y pass 2 - -#define offset vec2(0) - -#define axis 0 - -#define Kernel(x) dot(vec3(0.42659, -0.49656, 0.076849), cos(vec3(0, 1, 2) * acos(-1.) * (x + 1.))) - -vec4 hook() { - // Calculate bounds - float low = ceil((LOWRES_Y_pos - CHROMA_pt) * LOWRES_Y_size - offset - 0.5)[axis]; - float high = floor((LOWRES_Y_pos + CHROMA_pt) * LOWRES_Y_size - offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = LOWRES_Y_pos; - - for (float k = low; k <= high; k++) { - pos[axis] = LOWRES_Y_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - LOWRES_Y_pos[axis])*CHROMA_size[axis]; - float w = Kernel(rel); - - vec4 y = textureGrad(LOWRES_Y_raw, pos, vec2(0.0), vec2(0.0)).xxxx * LOWRES_Y_mul; - y.y *= y.y; - avg += w * y; - W += w; - } - avg /= W; - avg.y = abs(avg.y - avg.x * avg.x) + LOWRES_Y_texOff(0).y; - return avg; -} - -//!HOOK CHROMA -//!BIND HOOKED -//!BIND LUMA -//!BIND LOWRES_Y -//!WIDTH LUMA.w -//!HEIGHT LUMA.h -//!WHEN CHROMA.w LUMA.w < -//!OFFSET ALIGN -//!DESC KrigBilateral Upscaling UV - -#define sigma_nsq 256.0/(255.0*255.0) -#define N 8 -#define sqr(x) dot(x,x) - -#define M(i,j) Mx[min(i,j)*N + max(i,j) - (min(i,j)*(min(i,j)+1))/2] - -#define C(i,j) (inversesqrt(1.0 + (X[i].y + X[j].y) / Var) * exp(-0.5 * (sqr(X[i].x - X[j].x) / (localVar + X[i].y + X[j].y) + sqr((coords[i] - coords[j]) / radius))) /*+ (X[i].x - y) * (X[j].x - y) / Var*/) // commented out part works well only on test patterns -#define c(i) (inversesqrt(1.0 + X[i].y / Var) * exp(-0.5 * (sqr(X[i].x - y) / (localVar + X[i].y) + sqr((coords[i] - offset) / radius)))) - -#define getnsum(i) X[i] = vec4(LOWRES_Y_tex(LOWRES_Y_pt*(pos+coords[i]+vec2(0.5))).xy, \ - CHROMA_tex(CHROMA_pt*(pos+coords[i]+vec2(0.5))).xy); \ - w = clamp(1.5 - abs(coords[i]), 0.0, 1.0); \ - total += w.x*w.y*vec4(X[i].x, X[i].x * X[i].x, X[i].y, 1.0); - -#define I3(f, n) f(n) f(n+1) f(n+2) -#define I9(f, n) I3(f, n) I3(f, n+3) I3(f, n+6) - -vec4 hook() { - vec2 pos = CHROMA_pos * HOOKED_size - vec2(0.5); - vec2 offset = pos - round(pos); - pos -= offset; - - vec2 coords[N+1]; - vec4 X[N+1]; - vec2 w; - vec4 total = vec4(0); - - coords[0] = vec2(-1,-1); coords[1] = vec2(-1, 0); coords[2] = vec2(-1, 1); - coords[3] = vec2( 0,-1); coords[4] = vec2( 0, 1); coords[5] = vec2( 1,-1); - coords[6] = vec2( 1, 0); coords[7] = vec2( 1, 1); coords[8] = vec2( 0, 0); - - I9(getnsum, 0) - - total.xyz /= total.w; - float localVar = abs(total.y - total.x * total.x) + sigma_nsq; - float Var = localVar + total.z; - float radius = 1.5; // mix(1.5, 1.0, sigma_nsq / Var); - - float y = LUMA_texOff(0).x; - float Mx[(N*(N+1))/2]; - float b[N]; - vec2 interp = X[N].zw; - - b[0] = c(0) - c(N) - C(0,N) + C(N,N); M(0, 0) = C(0,0) - C(0,N) - C(0,N) + C(N,N); M(0, 1) = C(0,1) - C(1,N) - C(0,N) + C(N,N); M(0, 2) = C(0,2) - C(2,N) - C(0,N) + C(N,N); M(0, 3) = C(0,3) - C(3,N) - C(0,N) + C(N,N); M(0, 4) = C(0,4) - C(4,N) - C(0,N) + C(N,N); M(0, 5) = C(0,5) - C(5,N) - C(0,N) + C(N,N); M(0, 6) = C(0,6) - C(6,N) - C(0,N) + C(N,N); M(0, 7) = C(0,7) - C(7,N) - C(0,N) + C(N,N); - b[1] = c(1) - c(N) - C(1,N) + C(N,N); M(1, 1) = C(1,1) - C(1,N) - C(1,N) + C(N,N); M(1, 2) = C(1,2) - C(2,N) - C(1,N) + C(N,N); M(1, 3) = C(1,3) - C(3,N) - C(1,N) + C(N,N); M(1, 4) = C(1,4) - C(4,N) - C(1,N) + C(N,N); M(1, 5) = C(1,5) - C(5,N) - C(1,N) + C(N,N); M(1, 6) = C(1,6) - C(6,N) - C(1,N) + C(N,N); M(1, 7) = C(1,7) - C(7,N) - C(1,N) + C(N,N); - b[2] = c(2) - c(N) - C(2,N) + C(N,N); M(2, 2) = C(2,2) - C(2,N) - C(2,N) + C(N,N); M(2, 3) = C(2,3) - C(3,N) - C(2,N) + C(N,N); M(2, 4) = C(2,4) - C(4,N) - C(2,N) + C(N,N); M(2, 5) = C(2,5) - C(5,N) - C(2,N) + C(N,N); M(2, 6) = C(2,6) - C(6,N) - C(2,N) + C(N,N); M(2, 7) = C(2,7) - C(7,N) - C(2,N) + C(N,N); - b[3] = c(3) - c(N) - C(3,N) + C(N,N); M(3, 3) = C(3,3) - C(3,N) - C(3,N) + C(N,N); M(3, 4) = C(3,4) - C(4,N) - C(3,N) + C(N,N); M(3, 5) = C(3,5) - C(5,N) - C(3,N) + C(N,N); M(3, 6) = C(3,6) - C(6,N) - C(3,N) + C(N,N); M(3, 7) = C(3,7) - C(7,N) - C(3,N) + C(N,N); - b[4] = c(4) - c(N) - C(4,N) + C(N,N); M(4, 4) = C(4,4) - C(4,N) - C(4,N) + C(N,N); M(4, 5) = C(4,5) - C(5,N) - C(4,N) + C(N,N); M(4, 6) = C(4,6) - C(6,N) - C(4,N) + C(N,N); M(4, 7) = C(4,7) - C(7,N) - C(4,N) + C(N,N); - b[5] = c(5) - c(N) - C(5,N) + C(N,N); M(5, 5) = C(5,5) - C(5,N) - C(5,N) + C(N,N); M(5, 6) = C(5,6) - C(6,N) - C(5,N) + C(N,N); M(5, 7) = C(5,7) - C(7,N) - C(5,N) + C(N,N); - b[6] = c(6) - c(N) - C(6,N) + C(N,N); M(6, 6) = C(6,6) - C(6,N) - C(6,N) + C(N,N); M(6, 7) = C(6,7) - C(7,N) - C(6,N) + C(N,N); - b[7] = c(7) - c(N) - C(7,N) + C(N,N); M(7, 7) = C(7,7) - C(7,N) - C(7,N) + C(N,N); - - b[1] -= b[0] * M(0, 1) / M(0, 0); M(1, 1) -= M(0, 1) * M(0, 1) / M(0, 0); M(1, 2) -= M(0, 2) * M(0, 1) / M(0, 0); M(1, 3) -= M(0, 3) * M(0, 1) / M(0, 0); M(1, 4) -= M(0, 4) * M(0, 1) / M(0, 0); M(1, 5) -= M(0, 5) * M(0, 1) / M(0, 0); M(1, 6) -= M(0, 6) * M(0, 1) / M(0, 0); M(1, 7) -= M(0, 7) * M(0, 1) / M(0, 0); - b[2] -= b[0] * M(0, 2) / M(0, 0); M(2, 2) -= M(0, 2) * M(0, 2) / M(0, 0); M(2, 3) -= M(0, 3) * M(0, 2) / M(0, 0); M(2, 4) -= M(0, 4) * M(0, 2) / M(0, 0); M(2, 5) -= M(0, 5) * M(0, 2) / M(0, 0); M(2, 6) -= M(0, 6) * M(0, 2) / M(0, 0); M(2, 7) -= M(0, 7) * M(0, 2) / M(0, 0); - b[3] -= b[0] * M(0, 3) / M(0, 0); M(3, 3) -= M(0, 3) * M(0, 3) / M(0, 0); M(3, 4) -= M(0, 4) * M(0, 3) / M(0, 0); M(3, 5) -= M(0, 5) * M(0, 3) / M(0, 0); M(3, 6) -= M(0, 6) * M(0, 3) / M(0, 0); M(3, 7) -= M(0, 7) * M(0, 3) / M(0, 0); - b[4] -= b[0] * M(0, 4) / M(0, 0); M(4, 4) -= M(0, 4) * M(0, 4) / M(0, 0); M(4, 5) -= M(0, 5) * M(0, 4) / M(0, 0); M(4, 6) -= M(0, 6) * M(0, 4) / M(0, 0); M(4, 7) -= M(0, 7) * M(0, 4) / M(0, 0); - b[5] -= b[0] * M(0, 5) / M(0, 0); M(5, 5) -= M(0, 5) * M(0, 5) / M(0, 0); M(5, 6) -= M(0, 6) * M(0, 5) / M(0, 0); M(5, 7) -= M(0, 7) * M(0, 5) / M(0, 0); - b[6] -= b[0] * M(0, 6) / M(0, 0); M(6, 6) -= M(0, 6) * M(0, 6) / M(0, 0); M(6, 7) -= M(0, 7) * M(0, 6) / M(0, 0); - b[7] -= b[0] * M(0, 7) / M(0, 0); M(7, 7) -= M(0, 7) * M(0, 7) / M(0, 0); - - b[2] -= b[1] * M(1, 2) / M(1, 1); M(2, 2) -= M(1, 2) * M(1, 2) / M(1, 1); M(2, 3) -= M(1, 3) * M(1, 2) / M(1, 1); M(2, 4) -= M(1, 4) * M(1, 2) / M(1, 1); M(2, 5) -= M(1, 5) * M(1, 2) / M(1, 1); M(2, 6) -= M(1, 6) * M(1, 2) / M(1, 1); M(2, 7) -= M(1, 7) * M(1, 2) / M(1, 1); - b[3] -= b[1] * M(1, 3) / M(1, 1); M(3, 3) -= M(1, 3) * M(1, 3) / M(1, 1); M(3, 4) -= M(1, 4) * M(1, 3) / M(1, 1); M(3, 5) -= M(1, 5) * M(1, 3) / M(1, 1); M(3, 6) -= M(1, 6) * M(1, 3) / M(1, 1); M(3, 7) -= M(1, 7) * M(1, 3) / M(1, 1); - b[4] -= b[1] * M(1, 4) / M(1, 1); M(4, 4) -= M(1, 4) * M(1, 4) / M(1, 1); M(4, 5) -= M(1, 5) * M(1, 4) / M(1, 1); M(4, 6) -= M(1, 6) * M(1, 4) / M(1, 1); M(4, 7) -= M(1, 7) * M(1, 4) / M(1, 1); - b[5] -= b[1] * M(1, 5) / M(1, 1); M(5, 5) -= M(1, 5) * M(1, 5) / M(1, 1); M(5, 6) -= M(1, 6) * M(1, 5) / M(1, 1); M(5, 7) -= M(1, 7) * M(1, 5) / M(1, 1); - b[6] -= b[1] * M(1, 6) / M(1, 1); M(6, 6) -= M(1, 6) * M(1, 6) / M(1, 1); M(6, 7) -= M(1, 7) * M(1, 6) / M(1, 1); - b[7] -= b[1] * M(1, 7) / M(1, 1); M(7, 7) -= M(1, 7) * M(1, 7) / M(1, 1); - - b[3] -= b[2] * M(2, 3) / M(2, 2); M(3, 3) -= M(2, 3) * M(2, 3) / M(2, 2); M(3, 4) -= M(2, 4) * M(2, 3) / M(2, 2); M(3, 5) -= M(2, 5) * M(2, 3) / M(2, 2); M(3, 6) -= M(2, 6) * M(2, 3) / M(2, 2); M(3, 7) -= M(2, 7) * M(2, 3) / M(2, 2); - b[4] -= b[2] * M(2, 4) / M(2, 2); M(4, 4) -= M(2, 4) * M(2, 4) / M(2, 2); M(4, 5) -= M(2, 5) * M(2, 4) / M(2, 2); M(4, 6) -= M(2, 6) * M(2, 4) / M(2, 2); M(4, 7) -= M(2, 7) * M(2, 4) / M(2, 2); - b[5] -= b[2] * M(2, 5) / M(2, 2); M(5, 5) -= M(2, 5) * M(2, 5) / M(2, 2); M(5, 6) -= M(2, 6) * M(2, 5) / M(2, 2); M(5, 7) -= M(2, 7) * M(2, 5) / M(2, 2); - b[6] -= b[2] * M(2, 6) / M(2, 2); M(6, 6) -= M(2, 6) * M(2, 6) / M(2, 2); M(6, 7) -= M(2, 7) * M(2, 6) / M(2, 2); - b[7] -= b[2] * M(2, 7) / M(2, 2); M(7, 7) -= M(2, 7) * M(2, 7) / M(2, 2); - - b[4] -= b[3] * M(3, 4) / M(3, 3); M(4, 4) -= M(3, 4) * M(3, 4) / M(3, 3); M(4, 5) -= M(3, 5) * M(3, 4) / M(3, 3); M(4, 6) -= M(3, 6) * M(3, 4) / M(3, 3); M(4, 7) -= M(3, 7) * M(3, 4) / M(3, 3); - b[5] -= b[3] * M(3, 5) / M(3, 3); M(5, 5) -= M(3, 5) * M(3, 5) / M(3, 3); M(5, 6) -= M(3, 6) * M(3, 5) / M(3, 3); M(5, 7) -= M(3, 7) * M(3, 5) / M(3, 3); - b[6] -= b[3] * M(3, 6) / M(3, 3); M(6, 6) -= M(3, 6) * M(3, 6) / M(3, 3); M(6, 7) -= M(3, 7) * M(3, 6) / M(3, 3); - b[7] -= b[3] * M(3, 7) / M(3, 3); M(7, 7) -= M(3, 7) * M(3, 7) / M(3, 3); - - b[5] -= b[4] * M(4, 5) / M(4, 4); M(5, 5) -= M(4, 5) * M(4, 5) / M(4, 4); M(5, 6) -= M(4, 6) * M(4, 5) / M(4, 4); M(5, 7) -= M(4, 7) * M(4, 5) / M(4, 4); - b[6] -= b[4] * M(4, 6) / M(4, 4); M(6, 6) -= M(4, 6) * M(4, 6) / M(4, 4); M(6, 7) -= M(4, 7) * M(4, 6) / M(4, 4); - b[7] -= b[4] * M(4, 7) / M(4, 4); M(7, 7) -= M(4, 7) * M(4, 7) / M(4, 4); - - b[6] -= b[5] * M(5, 6) / M(5, 5); M(6, 6) -= M(5, 6) * M(5, 6) / M(5, 5); M(6, 7) -= M(5, 7) * M(5, 6) / M(5, 5); - b[7] -= b[5] * M(5, 7) / M(5, 5); M(7, 7) -= M(5, 7) * M(5, 7) / M(5, 5); - - b[7] -= b[6] * M(6, 7) / M(6, 6); M(7, 7) -= M(6, 7) * M(6, 7) / M(6, 6); - - b[7] /= M(7, 7); - interp += b[7] * (X[7] - X[N]).zw; - - b[6] -= M(6, 7) * b[7]; b[6] /= M(6, 6); - interp += b[6] * (X[6] - X[N]).zw; - - b[5] -= M(5, 6) * b[6]; b[5] -= M(5, 7) * b[7]; b[5] /= M(5, 5); - interp += b[5] * (X[5] - X[N]).zw; - - b[4] -= M(4, 5) * b[5]; b[4] -= M(4, 6) * b[6]; b[4] -= M(4, 7) * b[7]; b[4] /= M(4, 4); - interp += b[4] * (X[4] - X[N]).zw; - - b[3] -= M(3, 4) * b[4]; b[3] -= M(3, 5) * b[5]; b[3] -= M(3, 6) * b[6]; b[3] -= M(3, 7) * b[7]; b[3] /= M(3, 3); - interp += b[3] * (X[3] - X[N]).zw; - - b[2] -= M(2, 3) * b[3]; b[2] -= M(2, 4) * b[4]; b[2] -= M(2, 5) * b[5]; b[2] -= M(2, 6) * b[6]; b[2] -= M(2, 7) * b[7]; b[2] /= M(2, 2); - interp += b[2] * (X[2] - X[N]).zw; - - b[1] -= M(1, 2) * b[2]; b[1] -= M(1, 3) * b[3]; b[1] -= M(1, 4) * b[4]; b[1] -= M(1, 5) * b[5]; b[1] -= M(1, 6) * b[6]; b[1] -= M(1, 7) * b[7]; b[1] /= M(1, 1); - interp += b[1] * (X[1] - X[N]).zw; - - b[0] -= M(0, 1) * b[1]; b[0] -= M(0, 2) * b[2]; b[0] -= M(0, 3) * b[3]; b[0] -= M(0, 4) * b[4]; b[0] -= M(0, 5) * b[5]; b[0] -= M(0, 6) * b[6]; b[0] -= M(0, 7) * b[7]; b[0] /= M(0, 0); - interp += b[0] * (X[0] - X[N]).zw; - - return interp.xyxy; -} \ No newline at end of file diff --git a/shaders/igv/SSimDownscaler.glsl b/shaders/igv/SSimDownscaler.glsl deleted file mode 100644 index 1808d9c..0000000 --- a/shaders/igv/SSimDownscaler.glsl +++ /dev/null @@ -1,214 +0,0 @@ -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3.0 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library. - -//!HOOK POSTKERNEL -//!BIND PREKERNEL -//!BIND HOOKED -//!SAVE L2 -//!WIDTH NATIVE_CROPPED.w -//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > -//!COMPONENTS 3 -//!DESC SSimDownscaler L2 pass 1 - -#define axis 1 - -#define offset vec2(0,0) - -#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) -#define Kernel(x) MN(.0, .5, abs(x)) -#define taps 2.0 - -vec4 hook() { - vec2 base = PREKERNEL_pt * (PREKERNEL_pos * input_size + tex_offset); - - float low = ceil((PREKERNEL_pos - taps*POSTKERNEL_pt) * input_size - offset + tex_offset - 0.5)[axis]; - float high = floor((PREKERNEL_pos + taps*POSTKERNEL_pt) * input_size - offset + tex_offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = base; - - for (float k = low; k <= high; k++) { - pos[axis] = PREKERNEL_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - base[axis])*POSTKERNEL_size[axis]; - float w = Kernel(rel); - - vec4 tex = textureLod(PREKERNEL_raw, pos, 0.0) * PREKERNEL_mul; - avg += w * tex * tex; - W += w; - } - avg /= W; - - return avg; -} - -//!HOOK POSTKERNEL -//!BIND L2 -//!BIND HOOKED -//!SAVE L2 -//!WHEN NATIVE_CROPPED.w POSTKERNEL.w > -//!COMPONENTS 3 -//!DESC SSimDownscaler L2 pass 2 - -#define axis 0 - -#define offset vec2(0,0) - -#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) -#define Kernel(x) MN(.0, .5, abs(x)) -#define taps 2.0 - -vec4 hook() { - float low = ceil((L2_pos - taps*POSTKERNEL_pt) * L2_size - offset - 0.5)[axis]; - float high = floor((L2_pos + taps*POSTKERNEL_pt) * L2_size - offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = L2_pos; - - for (float k = low; k <= high; k++) { - pos[axis] = L2_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - L2_pos[axis])*POSTKERNEL_size[axis]; - float w = Kernel(rel); - - avg += w * textureLod(L2_raw, pos, 0.0) * L2_mul; - W += w; - } - avg /= W; - - return avg; -} - -//!HOOK POSTKERNEL -//!BIND HOOKED -//!BIND L2 -//!SAVE MR -//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > -//!COMPONENTS 4 -//!DESC SSimDownscaler mean & R - -#define oversharp 0.0 - -#define sigma_nsq 10. / (255.*255.) -#define locality 2.0 - -#define offset vec2(0,0) - -#define Kernel(x) pow(1.0 / locality, abs(x)) -#define taps 3.0 - -#define Luma(rgb) ( dot(rgb, vec3(0.2126, 0.7152, 0.0722)) ) - -mat3x3 ScaleH(vec2 pos) { - float low = ceil(-0.5*taps - offset)[0]; - float high = floor(0.5*taps - offset)[0]; - - float W = 0.0; - mat3x3 avg = mat3x3(0); - - for (float k = low; k <= high; k++) { - pos[0] = HOOKED_pos[0] + HOOKED_pt[0] * k; - float rel = k + offset[0]; - float w = Kernel(rel); - - vec3 L = POSTKERNEL_tex(pos).rgb; - avg += w * mat3x3(L, L*L, L2_tex(pos).rgb); - W += w; - } - avg /= W; - - return avg; -} - -vec4 hook() { - vec2 pos = HOOKED_pos; - - float low = ceil(-0.5*taps - offset)[1]; - float high = floor(0.5*taps - offset)[1]; - - float W = 0.0; - mat3x3 avg = mat3x3(0); - - for (float k = low; k <= high; k++) { - pos[1] = HOOKED_pos[1] + HOOKED_pt[1] * k; - float rel = k + offset[1]; - float w = Kernel(rel); - - avg += w * ScaleH(pos); - W += w; - } - avg /= W; - - float Sl = Luma(max(avg[1] - avg[0] * avg[0], 0.)); - float Sh = Luma(max(avg[2] - avg[0] * avg[0], 0.)); - return vec4(avg[0], mix(sqrt((Sh + sigma_nsq) / (Sl + sigma_nsq)) * (1. + oversharp), clamp(Sh / Sl, 0., 1.), float(Sl > Sh))); -} - -//!HOOK POSTKERNEL -//!BIND HOOKED -//!BIND MR -//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > -//!DESC SSimDownscaler final pass - -#define locality 2.0 - -#define offset vec2(0,0) - -#define Kernel(x) pow(1.0 / locality, abs(x)) -#define taps 3.0 - -#define Gamma(x) ( pow(x, vec3(1.0/2.0)) ) -#define GammaInv(x) ( pow(clamp(x, 0.0, 1.0), vec3(2.0)) ) - -mat3x3 ScaleH(vec2 pos) { - float low = ceil(-0.5*taps - offset)[0]; - float high = floor(0.5*taps - offset)[0]; - - float W = 0.0; - mat3x3 avg = mat3x3(0); - - for (float k = low; k <= high; k++) { - pos[0] = HOOKED_pos[0] + HOOKED_pt[0] * k; - float rel = k + offset[0]; - float w = Kernel(rel); - - vec4 MR = MR_tex(pos); - avg += w * mat3x3(MR.a*MR.rgb, MR.rgb, MR.aaa); - W += w; - } - avg /= W; - - return avg; -} - -vec4 hook() { - vec2 pos = HOOKED_pos; - - float low = ceil(-0.5*taps - offset)[1]; - float high = floor(0.5*taps - offset)[1]; - - float W = 0.0; - mat3x3 avg = mat3x3(0); - - for (float k = low; k <= high; k++) { - pos[1] = HOOKED_pos[1] + HOOKED_pt[1] * k; - float rel = k + offset[1]; - float w = Kernel(rel); - - avg += w * ScaleH(pos); - W += w; - } - avg /= W; - vec4 L = POSTKERNEL_texOff(0); - return vec4(avg[1] + avg[2] * L.rgb - avg[0], L.a); -} \ No newline at end of file diff --git a/shaders/igv/SSimSuperRes.glsl b/shaders/igv/SSimSuperRes.glsl deleted file mode 100644 index 4b77f4f..0000000 --- a/shaders/igv/SSimSuperRes.glsl +++ /dev/null @@ -1,203 +0,0 @@ -// SSimSuperRes by Shiandow -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3.0 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library. - -//!HOOK POSTKERNEL -//!BIND HOOKED -//!SAVE LOWRES -//!HEIGHT NATIVE_CROPPED.h -//!WHEN NATIVE_CROPPED.h OUTPUT.h < -//!COMPONENTS 4 -//!DESC SSSR Downscaling I - -#define axis 1 - -#define offset vec2(0,0) - -#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) -#define Kernel(x) MN(0.334, 0.333, abs(x)) -#define taps 2.0 - -#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) - -vec4 hook() { - float low = ceil((HOOKED_pos - taps/input_size) * HOOKED_size - offset - 0.5)[axis]; - float high = floor((HOOKED_pos + taps/input_size) * HOOKED_size - offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = HOOKED_pos; - vec4 tex; - - for (float k = low; k <= high; k++) { - pos[axis] = HOOKED_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - HOOKED_pos[axis])*input_size[axis]; - float w = Kernel(rel); - - tex.rgb = textureLod(HOOKED_raw, pos, 0.0).rgb * HOOKED_mul; - tex.a = Luma(tex.rgb); - avg += w * tex; - W += w; - } - avg /= W; - - return vec4(avg.rgb, max(abs(avg.a - Luma(avg.rgb)), 5e-7)); -} - -//!HOOK POSTKERNEL -//!BIND LOWRES -//!SAVE LOWRES -//!WIDTH NATIVE_CROPPED.w -//!HEIGHT NATIVE_CROPPED.h -//!WHEN NATIVE_CROPPED.w OUTPUT.w < -//!COMPONENTS 4 -//!DESC SSSR Downscaling II - -#define axis 0 - -#define offset vec2(0,0) - -#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) -#define Kernel(x) MN(0.334, 0.333, abs(x)) -#define taps 2.0 - -#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) - -vec4 hook() { - float low = ceil((LOWRES_pos - taps/input_size) * LOWRES_size - offset - 0.5)[axis]; - float high = floor((LOWRES_pos + taps/input_size) * LOWRES_size - offset - 0.5)[axis]; - - float W = 0.0; - vec4 avg = vec4(0); - vec2 pos = LOWRES_pos; - vec4 tex; - - for (float k = low; k <= high; k++) { - pos[axis] = LOWRES_pt[axis] * (k - offset[axis] + 0.5); - float rel = (pos[axis] - LOWRES_pos[axis])*input_size[axis]; - float w = Kernel(rel); - - tex.rgb = textureLod(LOWRES_raw, pos, 0.0).rgb * LOWRES_mul; - tex.a = Luma(tex.rgb); - avg += w * tex; - W += w; - } - avg /= W; - - return vec4(avg.rgb, max(abs(avg.a - Luma(avg.rgb)), 5e-7) + LOWRES_texOff(0).a); -} - -//!HOOK POSTKERNEL -//!BIND PREKERNEL -//!BIND LOWRES -//!SAVE var -//!WIDTH NATIVE_CROPPED.w -//!HEIGHT NATIVE_CROPPED.h -//!WHEN NATIVE_CROPPED.h OUTPUT.h < -//!COMPONENTS 2 -//!DESC SSSR var - -#define spread 1.0 / 4.0 - -#define GetL(x,y) PREKERNEL_tex(PREKERNEL_pt * (PREKERNEL_pos * input_size + tex_offset + vec2(x,y))).rgb -#define GetH(x,y) LOWRES_texOff(vec2(x,y)).rgb - -#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) -#define diff(x,y) vec2(Luma((GetL(x,y) - meanL)), Luma((GetH(x,y) - meanH))) - -vec4 hook() { - vec3 meanL = GetL(0,0); - vec3 meanH = GetH(0,0); - for (int X=-1; X<=1; X+=2) { - meanL += GetL(X,0) * spread; - meanH += GetH(X,0) * spread; - } - for (int Y=-1; Y<=1; Y+=2) { - meanL += GetL(0,Y) * spread; - meanH += GetH(0,Y) * spread; - } - meanL /= (1.0 + 4.0*spread); - meanH /= (1.0 + 4.0*spread); - - vec2 var = diff(0,0); - for (int X=-1; X<=1; X+=2) - var += diff(X,0) * spread; - - for (int Y=-1; Y<=1; Y+=2) - var += diff(0,Y) * spread; - - return vec4(max(var / (1.0 + 4.0*spread), vec2(1e-6)), 0, 0); -} - -//!HOOK POSTKERNEL -//!BIND HOOKED -//!BIND PREKERNEL -//!BIND LOWRES -//!BIND var -//!WHEN NATIVE_CROPPED.h OUTPUT.h < -//!DESC SSSR final pass - -#define oversharp 0.5 - -// -- Window Size -- -#define taps 3.0 -#define even (taps - 2.0 * floor(taps / 2.0) == 0.0) -#define minX int(1.0-ceil(taps/2.0)) -#define maxX int(floor(taps/2.0)) - -#define Kernel(x) cos(acos(-1.0)*(x)/taps) // Hann kernel - -// -- Input processing -- -#define var(x,y) var_tex(var_pt * (pos + vec2(x,y) + 0.5)).rg -#define GetL(x,y) PREKERNEL_tex(PREKERNEL_pt * (pos + tex_offset + vec2(x,y) + 0.5)).rgb -#define GetH(x,y) LOWRES_tex(LOWRES_pt * (pos + vec2(x,y) + 0.5)) - -#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) - -vec4 hook() { - vec4 c0 = HOOKED_texOff(0); - - vec2 pos = HOOKED_pos * LOWRES_size - vec2(0.5); - vec2 offset = pos - (even ? floor(pos) : round(pos)); - pos -= offset; - - vec2 mVar = vec2(0.0); - for (int X=-1; X<=1; X++) - for (int Y=-1; Y<=1; Y++) { - vec2 w = clamp(1.5 - abs(vec2(X,Y)), 0.0, 1.0); - mVar += w.r * w.g * vec2(GetH(X,Y).a, 1.0); - } - mVar.r /= mVar.g; - - // Calculate faithfulness force - float weightSum = 0.0; - vec3 diff = vec3(0); - - for (int X = minX; X <= maxX; X++) - for (int Y = minX; Y <= maxX; Y++) - { - float R = (-1.0 - oversharp) * sqrt(var(X,Y).r / (var(X,Y).g + mVar.r)); - - vec2 krnl = Kernel(vec2(X,Y) - offset); - float weight = krnl.r * krnl.g / (Luma((c0.rgb - GetH(X,Y).rgb)) + GetH(X,Y).a); - - diff += weight * (GetL(X,Y) + GetH(X,Y).rgb * R + (-1.0 - R) * (c0.rgb)); - weightSum += weight; - } - diff /= weightSum; - - c0.rgb = ((c0.rgb) + diff); - - return c0; -} \ No newline at end of file diff --git a/shaders/igv/adaptive-sharpen.glsl b/shaders/igv/adaptive-sharpen.glsl deleted file mode 100644 index 94dde85..0000000 --- a/shaders/igv/adaptive-sharpen.glsl +++ /dev/null @@ -1,230 +0,0 @@ -// Copyright (c) 2015-2021, bacondither -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer -// in this position and unchanged. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Adaptive sharpen - version 2021-10-17 -// Tuned for use post-resize - -//!HOOK OUTPUT -//!BIND HOOKED -//!DESC adaptive-sharpen - -//--------------------------------------- Settings ------------------------------------------------ - -#define curve_height 1.0 // Main control of sharpening strength [>0] - // 0.3 <-> 2.0 is a reasonable range of values - -#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel - // is surrounded by similar edge pixels - -// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! - -#define curveslope 0.5 // Sharpening curve slope, high edge values - -#define L_compr_low 0.167 // Light compression, default (0.167=~6x) -#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) - -#define D_compr_low 0.250 // Dark compression, default (0.250=4x) -#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) - -#define scale_lim 0.1 // Abs max change before compression [>0.01] -#define scale_cs 0.056 // Compression slope above scale_lim - -#define pm_p 1.0 // Power mean p-value [>0-1.0] -//------------------------------------------------------------------------------------------------- - -#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) - -// Soft if, fast linear approx -#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) - -// Soft limit, modified tanh approx -#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) - -// Weighted power mean -#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) - -// Get destination pixel values -#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) -#define sat(x) ( clamp(x, 0.0, 1.0) ) -#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp - -#ifdef LUMA_tex -#define CtL(RGB) RGB.x -#else -#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) -#endif - -#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) - -vec4 hook() { - - // [ c22 ] - // [ c24, c9, c23 ] - // [ c21, c1, c2, c3, c18 ] - // [ c19, c10, c4, c0, c5, c11, c16 ] - // [ c20, c6, c7, c8, c17 ] - // [ c15, c12, c14 ] - // [ c13 ] - vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), - get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), - get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), - get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), - get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); - - float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), - dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), - dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); - - // RGB to luma - float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), - CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), - CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), - CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); - - float c0_Y = luma[0]; - - // Blur, gauss 3x3 - float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; - - // Contrast compression, center = 0.5 - float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); - - // Edge detection - // Relative matrix weights - // [ 1 ] - // [ 4, 5, 4 ] - // [ 1, 5, 6, 5, 1 ] - // [ 4, 5, 4 ] - // [ 1 ] - float edge = ( 1.38*b_diff(0) - + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) - + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) - + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; - - vec2 cs = vec2(L_compr_low, D_compr_low); - - if (overshoot_ctrl) { - float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), - max4(e[9],e[10],e[11],e[12]), e[0] ); - - // [ x ] - // [ z, x, w ] - // [ z, z, x, w, w ] - // [ y, y, y, 0, y, y, y ] - // [ w, w, x, z, z ] - // [ w, x, z ] - // [ x ] - float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir - + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir - + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir - + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir - - cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); - } - - // Precalculated default squared kernel weights - const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 - const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 - - // Transition to a concave kernel if the center edge val is above thr - vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); - - // Use lower weights for pixels in a more active area relative to center pixel area - // This results in narrower and less visible overshoots around sharp edges - float modif_e0 = 3.0 * e[0] + 0.02/2.5; - - float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[3], dW.y) ), - ( dW.x ), - ( dW.x ), - ( min(modif_e0/e[6], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[8], dW.y) ), - ( min(modif_e0/e[9], dW.z) ), - ( min(modif_e0/e[10], dW.z) ), - ( min(modif_e0/e[11], dW.z) ), - ( min(modif_e0/e[12], dW.z) )); - - weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; - weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; - weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; - weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; - - // Calculate the negative part of the laplace kernel and the low threshold weight - float lowthrsum = 0.0; - float weightsum = 0.0; - float neg_laplace = 0.0; - - for (int pix = 0; pix < 12; ++pix) - { - float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); - - neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; - weightsum += weights[pix] * lowthr; - lowthrsum += lowthr / 12.0; - } - - neg_laplace = sqrt(neg_laplace / weightsum); - - // Compute sharpening magnitude function - float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); - - // Calculate sharpening diff and scale - float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); - - // Calculate local near min & max, partial sort - float temp; - - for (int i1 = 0; i1 < 24; i1 += 2) - { - temp = luma[i1]; - luma[i1] = min(luma[i1], luma[i1+1]); - luma[i1+1] = max(temp, luma[i1+1]); - } - - for (int i2 = 24; i2 > 0; i2 -= 2) - { - temp = luma[0]; - luma[0] = min(luma[0], luma[i2]); - luma[i2] = max(temp, luma[i2]); - - temp = luma[24]; - luma[24] = max(luma[24], luma[i2-1]); - luma[i2-1] = min(temp, luma[i2-1]); - } - - float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); - min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); - - // Soft limited anti-ringing with tanh, wpmean to control compression slope - sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) - - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); - - float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; - /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); - vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; - */ - return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); -} \ No newline at end of file diff --git a/shaders/igv/adaptive-sharpen_luma.glsl b/shaders/igv/adaptive-sharpen_luma.glsl deleted file mode 100644 index 0616f3e..0000000 --- a/shaders/igv/adaptive-sharpen_luma.glsl +++ /dev/null @@ -1,436 +0,0 @@ -// Copyright (c) 2015-2021, bacondither -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer -// in this position and unchanged. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Adaptive sharpen - version 2021-10-17 -// Tuned for use post-resize - -//!HOOK LUMA -//!BIND HOOKED -//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * -//!DESC adaptive-sharpen_luma - -//--------------------------------------- Settings ------------------------------------------------ - -#define curve_height 0.3 // Main control of sharpening strength [>0] - // 0.3 <-> 2.0 is a reasonable range of values - -#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel - // is surrounded by similar edge pixels - -// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! - -#define curveslope 0.5 // Sharpening curve slope, high edge values - -#define L_compr_low 0.167 // Light compression, default (0.167=~6x) -#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) - -#define D_compr_low 0.250 // Dark compression, default (0.250=4x) -#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) - -#define scale_lim 0.1 // Abs max change before compression [>0.01] -#define scale_cs 0.056 // Compression slope above scale_lim - -#define pm_p 1.0 // Power mean p-value [>0-1.0] -//------------------------------------------------------------------------------------------------- - -#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) - -// Soft if, fast linear approx -#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) - -// Soft limit, modified tanh approx -#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) - -// Weighted power mean -#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) - -// Get destination pixel values -#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) -#define sat(x) ( clamp(x, 0.0, 1.0) ) -#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp - -#ifdef LUMA_tex -#define CtL(RGB) RGB.x -#else -#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) -#endif - -#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) - -vec4 hook() { - - // [ c22 ] - // [ c24, c9, c23 ] - // [ c21, c1, c2, c3, c18 ] - // [ c19, c10, c4, c0, c5, c11, c16 ] - // [ c20, c6, c7, c8, c17 ] - // [ c15, c12, c14 ] - // [ c13 ] - vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), - get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), - get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), - get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), - get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); - - float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), - dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), - dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); - - // RGB to luma - float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), - CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), - CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), - CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); - - float c0_Y = luma[0]; - - // Blur, gauss 3x3 - float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; - - // Contrast compression, center = 0.5 - float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); - - // Edge detection - // Relative matrix weights - // [ 1 ] - // [ 4, 5, 4 ] - // [ 1, 5, 6, 5, 1 ] - // [ 4, 5, 4 ] - // [ 1 ] - float edge = ( 1.38*b_diff(0) - + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) - + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) - + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; - - vec2 cs = vec2(L_compr_low, D_compr_low); - - if (overshoot_ctrl) { - float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), - max4(e[9],e[10],e[11],e[12]), e[0] ); - - // [ x ] - // [ z, x, w ] - // [ z, z, x, w, w ] - // [ y, y, y, 0, y, y, y ] - // [ w, w, x, z, z ] - // [ w, x, z ] - // [ x ] - float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir - + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir - + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir - + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir - - cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); - } - - // Precalculated default squared kernel weights - const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 - const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 - - // Transition to a concave kernel if the center edge val is above thr - vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); - - // Use lower weights for pixels in a more active area relative to center pixel area - // This results in narrower and less visible overshoots around sharp edges - float modif_e0 = 3.0 * e[0] + 0.02/2.5; - - float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[3], dW.y) ), - ( dW.x ), - ( dW.x ), - ( min(modif_e0/e[6], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[8], dW.y) ), - ( min(modif_e0/e[9], dW.z) ), - ( min(modif_e0/e[10], dW.z) ), - ( min(modif_e0/e[11], dW.z) ), - ( min(modif_e0/e[12], dW.z) )); - - weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; - weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; - weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; - weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; - - // Calculate the negative part of the laplace kernel and the low threshold weight - float lowthrsum = 0.0; - float weightsum = 0.0; - float neg_laplace = 0.0; - - for (int pix = 0; pix < 12; ++pix) - { - float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); - - neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; - weightsum += weights[pix] * lowthr; - lowthrsum += lowthr / 12.0; - } - - neg_laplace = sqrt(neg_laplace / weightsum); - - // Compute sharpening magnitude function - float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); - - // Calculate sharpening diff and scale - float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); - - // Calculate local near min & max, partial sort - float temp; - - for (int i1 = 0; i1 < 24; i1 += 2) - { - temp = luma[i1]; - luma[i1] = min(luma[i1], luma[i1+1]); - luma[i1+1] = max(temp, luma[i1+1]); - } - - for (int i2 = 24; i2 > 0; i2 -= 2) - { - temp = luma[0]; - luma[0] = min(luma[0], luma[i2]); - luma[i2] = max(temp, luma[i2]); - - temp = luma[24]; - luma[24] = max(luma[24], luma[i2-1]); - luma[i2-1] = min(temp, luma[i2-1]); - } - - float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); - min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); - - // Soft limited anti-ringing with tanh, wpmean to control compression slope - sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) - - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); - - float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; - /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); - vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; - */ - return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); -} - -//!HOOK LUMA -//!BIND HOOKED -//!WHEN HOOKED.w OUTPUT.w > HOOKED.h OUTPUT.h > * -//!DESC adaptive-sharpen_luma - -//--------------------------------------- Settings ------------------------------------------------ - -#define curve_height 0.3 // Main control of sharpening strength [>0] - // 0.3 <-> 2.0 is a reasonable range of values - -#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel - // is surrounded by similar edge pixels - -// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! - -#define curveslope 0.5 // Sharpening curve slope, high edge values - -#define L_compr_low 0.167 // Light compression, default (0.167=~6x) -#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) - -#define D_compr_low 0.250 // Dark compression, default (0.250=4x) -#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) - -#define scale_lim 0.1 // Abs max change before compression [>0.01] -#define scale_cs 0.056 // Compression slope above scale_lim - -#define pm_p 1.0 // Power mean p-value [>0-1.0] -//------------------------------------------------------------------------------------------------- - -#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) - -// Soft if, fast linear approx -#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) - -// Soft limit, modified tanh approx -#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) - -// Weighted power mean -#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) - -// Get destination pixel values -#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) -#define sat(x) ( clamp(x, 0.0, 1.0) ) -#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp - -#ifdef LUMA_tex -#define CtL(RGB) RGB.x -#else -#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) -#endif - -#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) - -vec4 hook() { - - // [ c22 ] - // [ c24, c9, c23 ] - // [ c21, c1, c2, c3, c18 ] - // [ c19, c10, c4, c0, c5, c11, c16 ] - // [ c20, c6, c7, c8, c17 ] - // [ c15, c12, c14 ] - // [ c13 ] - vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), - get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), - get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), - get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), - get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); - - float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), - dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), - dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); - - // RGB to luma - float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), - CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), - CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), - CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); - - float c0_Y = luma[0]; - - // Blur, gauss 3x3 - float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; - - // Contrast compression, center = 0.5 - float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); - - // Edge detection - // Relative matrix weights - // [ 1 ] - // [ 4, 5, 4 ] - // [ 1, 5, 6, 5, 1 ] - // [ 4, 5, 4 ] - // [ 1 ] - float edge = ( 1.38*b_diff(0) - + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) - + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) - + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; - - vec2 cs = vec2(L_compr_low, D_compr_low); - - if (overshoot_ctrl) { - float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), - max4(e[9],e[10],e[11],e[12]), e[0] ); - - // [ x ] - // [ z, x, w ] - // [ z, z, x, w, w ] - // [ y, y, y, 0, y, y, y ] - // [ w, w, x, z, z ] - // [ w, x, z ] - // [ x ] - float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir - + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir - + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir - + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir - - cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); - } - - // Precalculated default squared kernel weights - const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 - const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 - - // Transition to a concave kernel if the center edge val is above thr - vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); - - // Use lower weights for pixels in a more active area relative to center pixel area - // This results in narrower and less visible overshoots around sharp edges - float modif_e0 = 3.0 * e[0] + 0.02/2.5; - - float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[3], dW.y) ), - ( dW.x ), - ( dW.x ), - ( min(modif_e0/e[6], dW.y) ), - ( dW.x ), - ( min(modif_e0/e[8], dW.y) ), - ( min(modif_e0/e[9], dW.z) ), - ( min(modif_e0/e[10], dW.z) ), - ( min(modif_e0/e[11], dW.z) ), - ( min(modif_e0/e[12], dW.z) )); - - weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; - weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; - weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; - weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; - - // Calculate the negative part of the laplace kernel and the low threshold weight - float lowthrsum = 0.0; - float weightsum = 0.0; - float neg_laplace = 0.0; - - for (int pix = 0; pix < 12; ++pix) - { - float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); - - neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; - weightsum += weights[pix] * lowthr; - lowthrsum += lowthr / 12.0; - } - - neg_laplace = sqrt(neg_laplace / weightsum); - - // Compute sharpening magnitude function - float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); - - // Calculate sharpening diff and scale - float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); - - // Calculate local near min & max, partial sort - float temp; - - for (int i1 = 0; i1 < 24; i1 += 2) - { - temp = luma[i1]; - luma[i1] = min(luma[i1], luma[i1+1]); - luma[i1+1] = max(temp, luma[i1+1]); - } - - for (int i2 = 24; i2 > 0; i2 -= 2) - { - temp = luma[0]; - luma[0] = min(luma[0], luma[i2]); - luma[i2] = max(temp, luma[i2]); - - temp = luma[24]; - luma[24] = max(luma[24], luma[i2-1]); - luma[i2-1] = min(temp, luma[i2-1]); - } - - float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); - min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); - - // Soft limited anti-ringing with tanh, wpmean to control compression slope - sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) - - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); - - float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; - /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); - vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; - */ - return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); -} diff --git a/shaders/other/JointBilateral.glsl b/shaders/other/JointBilateral.glsl deleted file mode 100644 index 4ef2e80..0000000 --- a/shaders/other/JointBilateral.glsl +++ /dev/null @@ -1,235 +0,0 @@ -// MIT License - -// Copyright (c) 2023 João Chrisóstomo - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!PARAM chroma_offset_x -//!TYPE float -0.0 - -//!PARAM chroma_offset_y -//!TYPE float -0.0 - -//!HOOK CHROMA -//!BIND LUMA -//!BIND CHROMA -//!SAVE LUMA_LR -//!WIDTH CHROMA.w -//!HEIGHT LUMA.h -//!WHEN CHROMA.w LUMA.w < -//!DESC Joint Bilateral (Hermite 1st step, Downscaling Luma) - -float comp_wd(vec2 v) { - float x = min(length(v), 1.0); - return smoothstep(0.0, 1.0, 1.0 - x); -} - -vec4 hook() { - vec2 luma_pos = LUMA_pos; - luma_pos.x += chroma_offset_x / LUMA_size.x; - float start = ceil((luma_pos.x - (1.0 / CHROMA_size.x)) * LUMA_size.x - 0.5); - float end = floor((luma_pos.x + (1.0 / CHROMA_size.x)) * LUMA_size.x - 0.5); - - float wt = 0.0; - float luma_sum = 0.0; - vec2 pos = luma_pos; - - for (float dx = start.x; dx <= end.x; dx++) { - pos.x = LUMA_pt.x * (dx + 0.5); - vec2 dist = (pos - luma_pos) * CHROMA_size; - float wd = comp_wd(dist); - float luma_pix = LUMA_tex(pos).x; - luma_sum += wd * luma_pix; - wt += wd; - } - - vec4 output_pix = vec4(luma_sum /= wt, 0.0, 0.0, 1.0); - return clamp(output_pix, 0.0, 1.0); -} - -//!HOOK CHROMA -//!BIND LUMA_LR -//!BIND CHROMA -//!BIND LUMA -//!SAVE LUMA_LR -//!WIDTH CHROMA.w -//!HEIGHT CHROMA.h -//!WHEN CHROMA.w LUMA.w < -//!DESC Joint Bilateral (Hermite 2nd step, Downscaling Luma) - -float comp_wd(vec2 v) { - float x = min(length(v), 1.0); - return smoothstep(0.0, 1.0, 1.0 - x); -} - -vec4 hook() { - vec2 luma_pos = LUMA_LR_pos; - luma_pos.y += chroma_offset_y / LUMA_LR_size.y; - float start = ceil((luma_pos.y - (1.0 / CHROMA_size.y)) * LUMA_LR_size.y - 0.5); - float end = floor((luma_pos.y + (1.0 / CHROMA_size.y)) * LUMA_LR_size.y - 0.5); - - float wt = 0.0; - float luma_sum = 0.0; - vec2 pos = luma_pos; - - for (float dy = start; dy <= end; dy++) { - pos.y = LUMA_LR_pt.y * (dy + 0.5); - vec2 dist = (pos - luma_pos) * CHROMA_size; - float wd = comp_wd(dist); - float luma_pix = LUMA_LR_tex(pos).x; - luma_sum += wd * luma_pix; - wt += wd; - } - - vec4 output_pix = vec4(luma_sum /= wt, 0.0, 0.0, 1.0); - return clamp(output_pix, 0.0, 1.0); -} - -//!PARAM distance_coeff -//!TYPE float -//!MINIMUM 0.0 -2.0 - -//!PARAM intensity_coeff -//!TYPE float -//!MINIMUM 0.0 -128.0 - -//!HOOK CHROMA -//!BIND LUMA -//!BIND LUMA_LR -//!BIND HOOKED -//!WIDTH LUMA.w -//!HEIGHT LUMA.h -//!WHEN CHROMA.w LUMA.w < -//!OFFSET ALIGN -//!DESC Joint Bilateral (Upscaling Chroma) - -float comp_w(vec2 spatial_distance, float intensity_distance) { - return max(100.0 * exp(-distance_coeff * pow(length(spatial_distance), 2.0) - intensity_coeff * pow(intensity_distance, 2.0)), 1e-32); -} - -vec4 hook() { - float luma_zero = LUMA_texOff(0.0).x; - vec4 output_pix = vec4(0.0, 0.0, 0.0, 1.0); - - vec2 pp = HOOKED_pos * HOOKED_size - vec2(0.5); - vec2 fp = floor(pp); - pp -= fp; - -#ifdef HOOKED_gather - vec4 chroma_quads[4][2]; - chroma_quads[0][0] = HOOKED_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 0); - chroma_quads[1][0] = HOOKED_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 0); - chroma_quads[2][0] = HOOKED_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 0); - chroma_quads[3][0] = HOOKED_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 0); - chroma_quads[0][1] = HOOKED_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 1); - chroma_quads[1][1] = HOOKED_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 1); - chroma_quads[2][1] = HOOKED_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 1); - chroma_quads[3][1] = HOOKED_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 1); - - vec2 chroma_pixels[12]; - chroma_pixels[0] = vec2(chroma_quads[0][0].z, chroma_quads[0][1].z); - chroma_pixels[1] = vec2(chroma_quads[1][0].w, chroma_quads[1][1].w); - chroma_pixels[2] = vec2(chroma_quads[0][0].x, chroma_quads[0][1].x); - chroma_pixels[3] = vec2(chroma_quads[0][0].y, chroma_quads[0][1].y); - chroma_pixels[4] = vec2(chroma_quads[1][0].x, chroma_quads[1][1].x); - chroma_pixels[5] = vec2(chroma_quads[1][0].y, chroma_quads[1][1].y); - chroma_pixels[6] = vec2(chroma_quads[2][0].w, chroma_quads[2][1].w); - chroma_pixels[7] = vec2(chroma_quads[2][0].z, chroma_quads[2][1].z); - chroma_pixels[8] = vec2(chroma_quads[3][0].w, chroma_quads[3][1].w); - chroma_pixels[9] = vec2(chroma_quads[3][0].z, chroma_quads[3][1].z); - chroma_pixels[10] = vec2(chroma_quads[2][0].y, chroma_quads[2][1].y); - chroma_pixels[11] = vec2(chroma_quads[3][0].x, chroma_quads[3][1].x); - - vec4 luma_quads[4]; - luma_quads[0] = LUMA_LR_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 0); - luma_quads[1] = LUMA_LR_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 0); - luma_quads[2] = LUMA_LR_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 0); - luma_quads[3] = LUMA_LR_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 0); - - float luma_pixels[12]; - luma_pixels[0] = luma_quads[0].z; - luma_pixels[1] = luma_quads[1].w; - luma_pixels[2] = luma_quads[0].x; - luma_pixels[3] = luma_quads[0].y; - luma_pixels[4] = luma_quads[1].x; - luma_pixels[5] = luma_quads[1].y; - luma_pixels[6] = luma_quads[2].w; - luma_pixels[7] = luma_quads[2].z; - luma_pixels[8] = luma_quads[3].w; - luma_pixels[9] = luma_quads[3].z; - luma_pixels[10] = luma_quads[2].y; - luma_pixels[11] = luma_quads[3].x; -#else - vec2 chroma_pixels[12]; - chroma_pixels[0] = HOOKED_tex(vec2((fp + vec2(0.5, -0.5)) * HOOKED_pt)).xy; - chroma_pixels[1] = HOOKED_tex(vec2((fp + vec2(1.5, -0.5)) * HOOKED_pt)).xy; - chroma_pixels[2] = HOOKED_tex(vec2((fp + vec2(-0.5, 0.5)) * HOOKED_pt)).xy; - chroma_pixels[3] = HOOKED_tex(vec2((fp + vec2( 0.5, 0.5)) * HOOKED_pt)).xy; - chroma_pixels[4] = HOOKED_tex(vec2((fp + vec2( 1.5, 0.5)) * HOOKED_pt)).xy; - chroma_pixels[5] = HOOKED_tex(vec2((fp + vec2( 2.5, 0.5)) * HOOKED_pt)).xy; - chroma_pixels[6] = HOOKED_tex(vec2((fp + vec2(-0.5, 1.5)) * HOOKED_pt)).xy; - chroma_pixels[7] = HOOKED_tex(vec2((fp + vec2( 0.5, 1.5)) * HOOKED_pt)).xy; - chroma_pixels[8] = HOOKED_tex(vec2((fp + vec2( 1.5, 1.5)) * HOOKED_pt)).xy; - chroma_pixels[9] = HOOKED_tex(vec2((fp + vec2( 2.5, 1.5)) * HOOKED_pt)).xy; - chroma_pixels[10] = HOOKED_tex(vec2((fp + vec2( 0.5, 2.5)) * HOOKED_pt)).xy; - chroma_pixels[11] = HOOKED_tex(vec2((fp + vec2( 1.5, 2.5)) * HOOKED_pt)).xy; - - float luma_pixels[12]; - luma_pixels[0] = LUMA_LR_tex(vec2((fp + vec2(0.5, -0.5)) * HOOKED_pt)).x; - luma_pixels[1] = LUMA_LR_tex(vec2((fp + vec2(1.5, -0.5)) * HOOKED_pt)).x; - luma_pixels[2] = LUMA_LR_tex(vec2((fp + vec2(-0.5, 0.5)) * HOOKED_pt)).x; - luma_pixels[3] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 0.5)) * HOOKED_pt)).x; - luma_pixels[4] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 0.5)) * HOOKED_pt)).x; - luma_pixels[5] = LUMA_LR_tex(vec2((fp + vec2( 2.5, 0.5)) * HOOKED_pt)).x; - luma_pixels[6] = LUMA_LR_tex(vec2((fp + vec2(-0.5, 1.5)) * HOOKED_pt)).x; - luma_pixels[7] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 1.5)) * HOOKED_pt)).x; - luma_pixels[8] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 1.5)) * HOOKED_pt)).x; - luma_pixels[9] = LUMA_LR_tex(vec2((fp + vec2( 2.5, 1.5)) * HOOKED_pt)).x; - luma_pixels[10] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 2.5)) * HOOKED_pt)).x; - luma_pixels[11] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 2.5)) * HOOKED_pt)).x; -#endif - - float w[12]; - w[0] = comp_w(vec2( 0.0,-1.0) - pp, luma_zero - luma_pixels[0] ); - w[1] = comp_w(vec2( 1.0,-1.0) - pp, luma_zero - luma_pixels[1] ); - w[2] = comp_w(vec2(-1.0, 0.0) - pp, luma_zero - luma_pixels[2] ); - w[3] = comp_w(vec2( 0.0, 0.0) - pp, luma_zero - luma_pixels[3] ); - w[4] = comp_w(vec2( 1.0, 0.0) - pp, luma_zero - luma_pixels[4] ); - w[5] = comp_w(vec2( 2.0, 0.0) - pp, luma_zero - luma_pixels[5] ); - w[6] = comp_w(vec2(-1.0, 1.0) - pp, luma_zero - luma_pixels[6] ); - w[7] = comp_w(vec2( 0.0, 1.0) - pp, luma_zero - luma_pixels[7] ); - w[8] = comp_w(vec2( 1.0, 1.0) - pp, luma_zero - luma_pixels[8] ); - w[9] = comp_w(vec2( 2.0, 1.0) - pp, luma_zero - luma_pixels[9] ); - w[10] = comp_w(vec2( 0.0, 2.0) - pp, luma_zero - luma_pixels[10]); - w[11] = comp_w(vec2( 1.0, 2.0) - pp, luma_zero - luma_pixels[11]); - - float wt = 0.0; - vec2 ct = vec2(0.0); - for (int i = 0; i < 12; i++) { - wt += w[i]; - ct += w[i] * chroma_pixels[i]; - } - - output_pix.xy = clamp(ct / wt, 0.0, 1.0); - return output_pix; -} \ No newline at end of file diff --git a/shaders/other/PixelClipper.glsl b/shaders/other/PixelClipper.glsl deleted file mode 100644 index ee3768f..0000000 --- a/shaders/other/PixelClipper.glsl +++ /dev/null @@ -1,186 +0,0 @@ -// MIT License - -// Copyright (c) 2023 João Chrisóstomo - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -//!HOOK POSTKERNEL -//!BIND POSTKERNEL -//!BIND PREKERNEL -//!DESC Pixel Clipper (Upscaling AR) -//!WHEN POSTKERNEL.w PREKERNEL.w / 1.000 > POSTKERNEL.h PREKERNEL.h / 1.000 > * - -#define TWELVE_TAP_AR 0 - -const float strength = 0.8; - -vec4 hook() { - vec2 pp = PREKERNEL_pos * PREKERNEL_size - vec2(0.5); - vec2 fp = floor(pp); - - vec4 f = PREKERNEL_tex(vec2((fp + vec2( 0.5, 0.5)) * PREKERNEL_pt)); - vec4 g = PREKERNEL_tex(vec2((fp + vec2( 1.5, 0.5)) * PREKERNEL_pt)); - vec4 j = PREKERNEL_tex(vec2((fp + vec2( 0.5, 1.5)) * PREKERNEL_pt)); - vec4 k = PREKERNEL_tex(vec2((fp + vec2( 1.5, 1.5)) * PREKERNEL_pt)); -#if (TWELVE_TAP_AR == 1) - vec4 b = PREKERNEL_tex(vec2((fp + vec2(0.5, -0.5)) * PREKERNEL_pt)); - vec4 c = PREKERNEL_tex(vec2((fp + vec2(1.5, -0.5)) * PREKERNEL_pt)); - vec4 e = PREKERNEL_tex(vec2((fp + vec2(-0.5, 0.5)) * PREKERNEL_pt)); - vec4 h = PREKERNEL_tex(vec2((fp + vec2( 2.5, 0.5)) * PREKERNEL_pt)); - vec4 i = PREKERNEL_tex(vec2((fp + vec2(-0.5, 1.5)) * PREKERNEL_pt)); - vec4 l = PREKERNEL_tex(vec2((fp + vec2( 2.5, 1.5)) * PREKERNEL_pt)); - vec4 n = PREKERNEL_tex(vec2((fp + vec2(0.5, 2.5) ) * PREKERNEL_pt)); - vec4 o = PREKERNEL_tex(vec2((fp + vec2(1.5, 2.5) ) * PREKERNEL_pt)); -#endif - - vec4 min_pix = vec4(1e8); - min_pix = min(min_pix, f); - min_pix = min(min_pix, g); - min_pix = min(min_pix, j); - min_pix = min(min_pix, k); -#if (TWELVE_TAP_AR == 1) - min_pix = min(min_pix, b); - min_pix = min(min_pix, c); - min_pix = min(min_pix, e); - min_pix = min(min_pix, h); - min_pix = min(min_pix, i); - min_pix = min(min_pix, l); - min_pix = min(min_pix, n); - min_pix = min(min_pix, o); -#endif - - vec4 max_pix = vec4(1e-8); - max_pix = max(max_pix, f); - max_pix = max(max_pix, g); - max_pix = max(max_pix, j); - max_pix = max(max_pix, k); -#if (TWELVE_TAP_AR == 1) - max_pix = max(max_pix, b); - max_pix = max(max_pix, c); - max_pix = max(max_pix, e); - max_pix = max(max_pix, h); - max_pix = max(max_pix, i); - max_pix = max(max_pix, l); - max_pix = max(max_pix, n); - max_pix = max(max_pix, o); -#endif - - //Sample current high-res pixel - vec4 hr_pix = POSTKERNEL_texOff(0.0); - - // Clamp the intensity so it doesn't ring - vec4 clipped = clamp(hr_pix, min_pix, max_pix); - return mix(hr_pix, clipped, strength); -} - -//!HOOK CHROMA_SCALED -//!BIND CHROMA -//!BIND CHROMA_SCALED -//!DESC Pixel Clipper (Chroma AR) -//!WHEN CHROMA_SCALED.w CHROMA.w / 1.000 > CHROMA_SCALED.h CHROMA.h / 1.000 > * - -#define TWELVE_TAP_AR 0 - -const float strength = 0.8; - -vec4 hook() { - vec2 pp = CHROMA_pos * CHROMA_size - vec2(0.5); - vec2 fp = floor(pp); - - vec4 f = CHROMA_tex(vec2((fp + vec2( 0.5, 0.5)) * CHROMA_pt)); - vec4 g = CHROMA_tex(vec2((fp + vec2( 1.5, 0.5)) * CHROMA_pt)); - vec4 j = CHROMA_tex(vec2((fp + vec2( 0.5, 1.5)) * CHROMA_pt)); - vec4 k = CHROMA_tex(vec2((fp + vec2( 1.5, 1.5)) * CHROMA_pt)); -#if (TWELVE_TAP_AR == 1) - vec4 b = CHROMA_tex(vec2((fp + vec2(0.5, -0.5)) * CHROMA_pt)); - vec4 c = CHROMA_tex(vec2((fp + vec2(1.5, -0.5)) * CHROMA_pt)); - vec4 e = CHROMA_tex(vec2((fp + vec2(-0.5, 0.5)) * CHROMA_pt)); - vec4 h = CHROMA_tex(vec2((fp + vec2( 2.5, 0.5)) * CHROMA_pt)); - vec4 i = CHROMA_tex(vec2((fp + vec2(-0.5, 1.5)) * CHROMA_pt)); - vec4 l = CHROMA_tex(vec2((fp + vec2( 2.5, 1.5)) * CHROMA_pt)); - vec4 n = CHROMA_tex(vec2((fp + vec2(0.5, 2.5) ) * CHROMA_pt)); - vec4 o = CHROMA_tex(vec2((fp + vec2(1.5, 2.5) ) * CHROMA_pt)); -#endif - - vec4 min_pix = vec4(1e8); - min_pix = min(min_pix, f); - min_pix = min(min_pix, g); - min_pix = min(min_pix, j); - min_pix = min(min_pix, k); -#if (TWELVE_TAP_AR == 1) - min_pix = min(min_pix, b); - min_pix = min(min_pix, c); - min_pix = min(min_pix, e); - min_pix = min(min_pix, h); - min_pix = min(min_pix, i); - min_pix = min(min_pix, l); - min_pix = min(min_pix, n); - min_pix = min(min_pix, o); -#endif - - vec4 max_pix = vec4(1e-8); - max_pix = max(max_pix, f); - max_pix = max(max_pix, g); - max_pix = max(max_pix, j); - max_pix = max(max_pix, k); -#if (TWELVE_TAP_AR == 1) - max_pix = max(max_pix, b); - max_pix = max(max_pix, c); - max_pix = max(max_pix, e); - max_pix = max(max_pix, h); - max_pix = max(max_pix, i); - max_pix = max(max_pix, l); - max_pix = max(max_pix, n); - max_pix = max(max_pix, o); -#endif - - //Sample current high-res pixel - vec4 hr_pix = CHROMA_SCALED_texOff(0.0); - - // Clamp the intensity so it doesn't ring - vec4 clipped = clamp(hr_pix, min_pix, max_pix); - return mix(hr_pix, clipped, strength); -} - -//!HOOK POSTKERNEL -//!BIND PREKERNEL -//!BIND POSTKERNEL -//!DESC Pixel Clipper (Downscaling AR) -//!WHEN POSTKERNEL.w PREKERNEL.w / 1.000 < POSTKERNEL.h PREKERNEL.h / 1.000 < * - -const float strength = 1.0; - -vec4 hook() { - int radius = int(ceil((PREKERNEL_size.x / POSTKERNEL_size.x) * 0.5)); - vec4 pix = vec4(0.0); - vec4 min_pix = vec4(1e8); - vec4 max_pix = vec4(1e-8); - - for (int dx = -radius; dx <= radius; dx++) { - for (int dy = -radius; dy <= radius; dy++) { - pix = PREKERNEL_texOff(vec2(dx, dy)); - min_pix = min(pix, min_pix); - max_pix = max(pix, max_pix); - } - } - - vec4 lr_pix = POSTKERNEL_texOff(0.0); - vec4 clipped = clamp(lr_pix, min_pix, max_pix); - return mix(lr_pix, clipped, strength); -} \ No newline at end of file diff --git a/shaders/other/color-alt_luma.glsl b/shaders/other/color-alt_luma.glsl deleted file mode 100644 index 0e98de9..0000000 --- a/shaders/other/color-alt_luma.glsl +++ /dev/null @@ -1,11 +0,0 @@ - -//!DESC color-alt_luma (Black & White) -//!HOOK LUMA -//!BIND HOOKED - -vec4 hook() -{ - float color = LUMA_texOff(0).x; - return vec4(1.0 - color); -} - diff --git a/shaders/other/colorlevel_expand.glsl b/shaders/other/colorlevel_expand.glsl deleted file mode 100644 index ff51bc4..0000000 --- a/shaders/other/colorlevel_expand.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels + -//!HOOK MAINPRESUB -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = 255.0 / (235.0 - 16.0); - -vec4 hook() -{ - return (HOOKED_texOff(0) - min) * max; -} - diff --git a/shaders/other/colorlevel_expand_chroma.glsl b/shaders/other/colorlevel_expand_chroma.glsl deleted file mode 100644 index d0d8be4..0000000 --- a/shaders/other/colorlevel_expand_chroma.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels + (CHROMA) -//!HOOK CHROMA -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = 255.0 / (240.0 - 16.0); - -vec4 hook() -{ - return (HOOKED_texOff(0) - min) * max; -} - diff --git a/shaders/other/colorlevel_expand_luma.glsl b/shaders/other/colorlevel_expand_luma.glsl deleted file mode 100644 index b7220b8..0000000 --- a/shaders/other/colorlevel_expand_luma.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels + (LUMA) -//!HOOK LUMA -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = 255.0 / (235.0 - 16.0); - -vec4 hook() -{ - return (HOOKED_texOff(0) - min) * max; -} - diff --git a/shaders/other/colorlevel_shrink.glsl b/shaders/other/colorlevel_shrink.glsl deleted file mode 100644 index 748a67d..0000000 --- a/shaders/other/colorlevel_shrink.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels - -//!HOOK MAINPRESUB -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = (235.0 - 16.0) / 255.0; - -vec4 hook() -{ - return (HOOKED_texOff(0) * max) + min; -} - diff --git a/shaders/other/colorlevel_shrink_chroma.glsl b/shaders/other/colorlevel_shrink_chroma.glsl deleted file mode 100644 index a72ed58..0000000 --- a/shaders/other/colorlevel_shrink_chroma.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels - (CHROMA) -//!HOOK CHROMA -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = (240.0 - 16.0) / 255.0; - -vec4 hook() -{ - return (HOOKED_texOff(0) * max) + min; -} - diff --git a/shaders/other/colorlevel_shrink_luma.glsl b/shaders/other/colorlevel_shrink_luma.glsl deleted file mode 100644 index 6bfccd0..0000000 --- a/shaders/other/colorlevel_shrink_luma.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -//!DESC color levels - (LUMA) -//!HOOK LUMA -//!BIND HOOKED - -const float min = 16.0 / 255.0; -const float max = (235.0 - 16.0) / 255.0; - -vec4 hook() -{ - return (HOOKED_texOff(0) * max) + min; -} - diff --git a/shaders/other/colorlevels.glsl b/shaders/other/colorlevels.glsl deleted file mode 100644 index 9bd97e0..0000000 --- a/shaders/other/colorlevels.glsl +++ /dev/null @@ -1,12 +0,0 @@ -//!HOOK OUTPUT -//!BIND HOOKED -//!DESC signal range scaling -vec4 color = HOOKED_texOff(vec2(0.0, 0.0)); -vec4 hook() { - const float REFBLACK = ( 64. / 1023.); - const float REFWHITE = ( 940. / 1023.); - - color.rgb *= REFWHITE - REFBLACK; - color.rgb += REFBLACK; - return color; -} \ No newline at end of file diff --git a/shaders/other/minblur-usm.glsl b/shaders/other/minblur-usm.glsl deleted file mode 100644 index b22dedd..0000000 --- a/shaders/other/minblur-usm.glsl +++ /dev/null @@ -1,72 +0,0 @@ -//!DESC MinBlur-USM -//!HOOK LUMA -//!BIND HOOKED - -#define CMPSWAP(i, j) if (a[i] > a[j]) {\ - float t = a[i];\ - a[i] = a[j];\ - a[j] = t;\ -} - -float remove_grain_20() { - float r = 0.; - r += HOOKED_texOff(vec2(-1, -1)).x; - r += HOOKED_texOff(vec2(+0, -1)).x; - r += HOOKED_texOff(vec2(+1, -1)).x; - r += HOOKED_texOff(vec2(-1, +0)).x; - r += HOOKED_texOff(vec2(+0, +0)).x; - r += HOOKED_texOff(vec2(+1, +0)).x; - r += HOOKED_texOff(vec2(-1, +1)).x; - r += HOOKED_texOff(vec2(+0, +1)).x; - r += HOOKED_texOff(vec2(+1, +1)).x; - r /= 9; - return r; -} - -float remove_grain_11() { - float r = 0.; - r += HOOKED_texOff(vec2(-1, -1)).x * 1.; - r += HOOKED_texOff(vec2(+0, -1)).x * 2.; - r += HOOKED_texOff(vec2(+1, -1)).x * 1.; - r += HOOKED_texOff(vec2(-1, +0)).x * 2.; - r += HOOKED_texOff(vec2(+0, +0)).x * 4.; - r += HOOKED_texOff(vec2(+1, +0)).x * 2.; - r += HOOKED_texOff(vec2(-1, +1)).x * 1.; - r += HOOKED_texOff(vec2(+0, +1)).x * 2.; - r += HOOKED_texOff(vec2(+1, +1)).x * 1.; - r /= 16; - return r; -} - -float remove_grain_4() { - float a[9]; - a[0] = HOOKED_texOff(vec2(-1, -1)).x; - a[1] = HOOKED_texOff(vec2(+0, -1)).x; - a[2] = HOOKED_texOff(vec2(+1, -1)).x; - a[3] = HOOKED_texOff(vec2(-1, +0)).x; - a[4] = HOOKED_texOff(vec2(+0, +0)).x; - a[5] = HOOKED_texOff(vec2(+1, +0)).x; - a[6] = HOOKED_texOff(vec2(-1, +1)).x; - a[7] = HOOKED_texOff(vec2(+0, +1)).x; - a[8] = HOOKED_texOff(vec2(+1, +1)).x; - CMPSWAP(0, 1); CMPSWAP(2, 3); CMPSWAP(4, 5); CMPSWAP(7, 8); - CMPSWAP(0, 2); CMPSWAP(1, 3); CMPSWAP(6, 8); - CMPSWAP(1, 2); CMPSWAP(6, 7); CMPSWAP(5, 8); - CMPSWAP(4, 7); CMPSWAP(3, 8); - CMPSWAP(4, 6); CMPSWAP(5, 7); - CMPSWAP(5, 6); CMPSWAP(2, 7); - CMPSWAP(0, 5); CMPSWAP(1, 6); CMPSWAP(3, 7); - CMPSWAP(0, 4); CMPSWAP(1, 5); CMPSWAP(3, 6); - CMPSWAP(1, 4); CMPSWAP(2, 5); - CMPSWAP(2, 4); CMPSWAP(3, 5); - CMPSWAP(3, 4); - return a[4]; -} - -vec4 hook() { - float src = HOOKED_tex(HOOKED_pos).x; - float rg11 = remove_grain_11(); - float rg4 = remove_grain_4(); - float min_blur = (src - rg11) * (src - rg4) < 0 ? src : abs(src - rg11) < abs(src - rg4) ? rg11 : rg4; - return vec4(src + src - min_blur, 0, 0, 0); -} diff --git a/shaders/other/nlmeans_luma.glsl b/shaders/other/nlmeans_luma.glsl deleted file mode 100644 index 3e8a733..0000000 --- a/shaders/other/nlmeans_luma.glsl +++ /dev/null @@ -1,1035 +0,0 @@ -/* vi: ft=c - * - * Based on vf_nlmeans.c from FFmpeg. - * - * Copyright (c) 2022 an3223 - * Copyright (c) 2016 Clément Bœsch - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 2.1 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -// Profile description: Luma only, saves some time by not processing the chroma plane. - -/* The recommended usage of this shader and its variant profiles is to add them - * to input.conf and then dispatch the appropriate shader via a keybind during - * media playback. Here is an example input.conf entry: - * - * F4 no-osd change-list glsl-shaders toggle "~~/shaders/nlmeans_luma.glsl"; show-text "Non-local means (LUMA only)" - * - * These shaders can also be enabled by default in mpv.conf, for example: - * - * glsl-shaders='~~/shaders/nlmeans.glsl' - * - * Both of the examples above assume the shaders are located in a subdirectory - * named "shaders" within mpv's config directory. Refer to the mpv - * documentation for more details. - * - * This shader is highly configurable via user variables below. Although the - * default settings should offer good quality at a reasonable speed, you are - * encouraged to tweak them to your preferences. Be mindful that certain - * settings may greatly affect speed. - * - * Denoising is most useful for noisy content. If there is no perceptible - * noise, you probably won't see a positive difference. - * - * The default settings are generally tuned for low noise and high detail - * preservation. The "medium" and "heavy" profiles are tuned for higher levels - * of noise. - * - * The denoiser will not work properly if the content has been upscaled - * beforehand, whether it was done by you or someone down the line. Consider - * issuing a command to downscale in the mpv console, like so: - * - * vf toggle scale=-2:720 - * - * ...replacing 720 with whatever resolution seems appropriate. Rerun the - * command to undo the downscale. It may take some trial-and-error to find the - * proper resolution. - */ - -/* Regarding speed - * - * Speed may vary wildly for different vo and gpu-api settings. Generally - * vo=gpu-next and gpu-api=vulkan are recommended for the best speed, but this - * may be different for your system. - * - * If your GPU doesn't support textureGather, or if you are on a version of mpv - * prior to 0.35.0, then consider setting RI/RFI to 0, or try the LQ and VLQ - * profiles. - * - * textureGather is LUMA only and limited to the following configurations: - * - * - PS={3,7}:P=3:PST=0:RI={0,1,3}:RFI={0,1,2}:M!=1 - * - Default, very fast, rotations and reflections should be free - * - If this is unusually slow then try changing gpu-api and vo - * - If it's still slow, try setting RI/RFI to 0. - * - * - PS=6:RI={0,1,3}:RFI={0,1,2} - * - Currently the only scalable variant - * - Patch shape is asymmetric on two axis - * - Rotations should have very little speed impact - * - Reflections may have a significant speed impact - * - * Options which always disable textureGather: - * - RF - * - PD - */ - -// The following is shader code injected from guided_s.glsl -/* vi: ft=c - * - * Copyright (c) 2022 an3223 - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 2.1 of the License, or (at - * your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -//desc: "Self-guided" guided filter - -/* The radius can be adjusted with the MEANIP stage's downscaling factor. - * Higher numbers give a bigger radius. - * - * The E variable can be found in the A stage. - * - * The subsampling (fast guided filter) can be adjusted with the IP stage's - * downscaling factor. Higher numbers are faster. - */ - -//!HOOK LUMA -//!DESC Guided filter (IP) -//!BIND HOOKED -//!WIDTH HOOKED.w 1.0 / -//!HEIGHT HOOKED.h 1.0 / -//!SAVE _INJ_IP - -vec4 hook() -{ - return HOOKED_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (MEANIP) -//!BIND _INJ_IP -//!WIDTH _INJ_IP.w 2.0 / -//!HEIGHT _INJ_IP.h 2.0 / -//!SAVE _INJ_MEANIP - -vec4 hook() -{ -return _INJ_IP_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (_INJ_IP_SQ) -//!BIND _INJ_IP -//!WIDTH _INJ_IP.w -//!HEIGHT _INJ_IP.h -//!SAVE _INJ_IP_SQ - -vec4 hook() -{ -return _INJ_IP_texOff(0) * _INJ_IP_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (CORRIP) -//!BIND _INJ_IP_SQ -//!WIDTH _INJ_MEANIP.w -//!HEIGHT _INJ_MEANIP.h -//!SAVE _INJ_CORRIP - -vec4 hook() -{ -return _INJ_IP_SQ_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (A) -//!BIND _INJ_MEANIP -//!BIND _INJ_CORRIP -//!WIDTH _INJ_IP.w -//!HEIGHT _INJ_IP.h -//!SAVE _INJ_A - -#define E 0.001 - -vec4 hook() -{ -vec4 var = _INJ_CORRIP_texOff(0) - _INJ_MEANIP_texOff(0) * _INJ_MEANIP_texOff(0); - vec4 cov = var; - return cov / (var + E); -} - -//!HOOK LUMA -//!DESC Guided filter (B) -//!BIND _INJ_A -//!BIND _INJ_MEANIP -//!WIDTH _INJ_IP.w -//!HEIGHT _INJ_IP.h -//!SAVE _INJ_B - -vec4 hook() -{ -return _INJ_MEANIP_texOff(0) - _INJ_A_texOff(0) * _INJ_MEANIP_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (MEANA) -//!BIND _INJ_A -//!WIDTH _INJ_MEANIP.w -//!HEIGHT _INJ_MEANIP.h -//!SAVE _INJ_MEANA - -vec4 hook() -{ -return _INJ_A_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter (MEANB) -//!BIND _INJ_B -//!WIDTH _INJ_MEANIP.w -//!HEIGHT _INJ_MEANIP.h -//!SAVE _INJ_MEANB - -vec4 hook() -{ -return _INJ_B_texOff(0); -} - -//!HOOK LUMA -//!DESC Guided filter -//!BIND HOOKED -//!BIND _INJ_MEANA -//!BIND _INJ_MEANB -//!SAVE RF_LUMA - -vec4 hook() -{ -return _INJ_MEANA_texOff(0) * HOOKED_texOff(0) + _INJ_MEANB_texOff(0); -} - -// End of source code injected from guided_s.glsl -//!HOOK LUMA -//!DESC Non-local means (downscale) -//!WIDTH LUMA.w 3 / -//!HEIGHT LUMA.h 3 / -//!BIND LUMA -//!SAVE EP - -vec4 hook() -{ - return LUMA_texOff(0); -} - -//!HOOK LUMA -//!DESC Non-local means (share) -//!BIND RF_LUMA -//!SAVE RF - -vec4 hook() -{ - return RF_LUMA_texOff(0); -} - -//!HOOK LUMA -//!BIND HOOKED -//!BIND RF_LUMA -//!BIND EP -//!BIND RF -//!DESC Non-local means (nlmeans_luma.glsl) - -/* User variables - * - * It is usually preferable to denoise chroma and luma differently, so the user - * variables for luma and chroma are split. - */ - -/* S = denoising factor - * P = patch size - * R = research size - * - * The denoising factor controls the level of blur, higher is blurrier. - * - * Patch size should usually be an odd number greater than or equal to 3. - * Higher values are slower and not always better. - * - * Research size usually be an odd number greater than or equal to 3. Higher - * values are usually better, but slower and offer diminishing returns. - * - * Even-numbered patch/research sizes will sample between pixels unless PS=6. - * It's not known whether this is ever useful behavior or not. This is - * incompatible with textureGather optimizations, so enable RF when using even - * patch/research sizes. - */ -#ifdef LUMA_raw -#define S 2.25 -#define P 3 -#define R 5 -#else -#define S 1.50 -#define P 3 -#define R 5 -#endif - -/* Adaptive sharpening - * - * Uses the blur incurred by denoising plus the weight map to perform an - * unsharp mask that gets applied most strongly to edges. - * - * Sharpening will amplify noise, so the denoising factor (S) should usually be - * increased to compensate. - * - * AS: 2 for sharpening, 1 for sharpening+denoising, 0 to disable - * ASF: Sharpening factor, higher numbers make a sharper underlying image - * ASP: Weight power, higher numbers use more of the sharp image - */ -#ifdef LUMA_raw -#define AS 0 -#define ASF 1.0 -#define ASP 2.0 -#else -#define AS 0 -#define ASF 1.0 -#define ASP 2.0 -#endif - -/* Starting weight - * - * Lower numbers give less weight to the pixel-of-interest, which may help - * handle higher noise levels, ringing, and may be useful for other things too? - * - * EPSILON should be used instead of zero to avoid divide-by-zero errors. The - * avg_weight variable may be used to make SW adapt to the local noise level, - * e.g., SW=max(avg_weight, EPSILON) - */ -#ifdef LUMA_raw -#define SW 1.0 -#else -#define SW 1.0 -#endif - -/* Weight discard - * - * Discard weights that fall below a fraction of the average weight. This culls - * the most dissimilar samples from the blur, yielding a much more pleasant - * result, especially around edges. - * - * WD: - * - 2: True average. Very good quality, but slower and uses more memory. - * - 1: Moving cumulative average. Inaccurate, tends to blur directionally. - * - 0: Disable - * - * WDT: Threshold coefficient, higher numbers discard more - * WDP (WD=1): Higher numbers reduce the threshold more for small sample sizes - */ -#ifdef LUMA_raw -#define WD 2 -#define WDT 1.0 -#define WDP 6.0 -#else -#define WD 2 -#define WDT 1.0 -#define WDP 6.0 -#endif - -/* Search shape - * - * Determines the shape of patches and research zones. Different shapes have - * different speed and quality characteristics. Every shape (besides square) is - * smaller than square. - * - * PS applies applies to patches, RS applies to research zones. - * - * 0: square (symmetrical) - * 1: horizontal line (asymmetric) - * 2: vertical line (asymmetric) - * 3: diamond (symmetrical) - * 4: triangle (asymmetric, pointing upward) - * 5: truncated triangle (asymmetric on two axis, last row halved) - * 6: even sized square (asymmetric on two axis) - * 7: plus (symmetrical) - */ -#ifdef LUMA_raw -#define RS 3 -#define PS 3 -#else -#define RS 3 -#define PS 3 -#endif - -/* Rotational/reflectional invariance - * - * Number of rotations/reflections to try for each patch comparison. Slow, but - * improves feature preservation, although adding more rotations/reflections - * gives diminishing returns. The most similar rotation/reflection will be used. - * - * The angle in degrees of each rotation is 360/(RI+1), so RI=1 will do a - * single 180 degree rotation, RI=3 will do three 90 degree rotations, etc. - * - * RI: Rotational invariance - * RFI (0 to 2): Reflectional invariance - */ -#ifdef LUMA_raw -#define RI 3 -#define RFI 2 -#else -#define RI 0 -#define RFI 0 -#endif - -/* Temporal denoising - * - * Caveats: - * - Slower, each frame needs to be researched - * - Requires vo=gpu-next and nlmeans_temporal.glsl - * - Luma-only (this is a bug) - * - Buggy - * - * Gather samples across multiple frames. May cause motion blur and may - * struggle more with noise that persists across multiple frames (compression - * noise, repeating frames), but can work very well on high quality video. - * - * Motion estimation (ME) should improve quality without impacting speed. - * - * T: number of frames used - * ME: motion estimation, 0 for none, 1 for max weight, 2 for weighted avg - */ -#ifdef LUMA_raw -#define T 0 -#define ME 1 -#else -#define T 0 -#define ME 0 -#endif - -/* Spatial kernel - * - * Increasing the spatial denoising factor (SS) reduces the weight of further - * pixels. - * - * Spatial distortion instructs the spatial kernel to view that axis as - * closer/further, for instance SD=(1,1,0.5) would make the temporal axis - * appear closer and increase blur between frames. - * - * The intra-patch variants do not yet have well-understood effects. They are - * intended to make large patch sizes more useful. Likely slower. - * - * SS: spatial denoising factor - * SD: spatial distortion (X, Y, time) - * PSS: intra-patch spatial denoising factor - * PST: enables intra-patch spatial kernel if P>=PST, 0 fully disables - * PSD: intra-patch spatial distortion (X, Y) - */ -#ifdef LUMA_raw -#define SS 0.25 -#define SD vec3(1,1,1) -#define PST 0 -#define PSS 0.0 -#define PSD vec2(1,1) -#else -#define SS 0.25 -#define SD vec3(1,1,1) -#define PST 0 -#define PSS 0.0 -#define PSD vec2(1,1) -#endif - -/* Extremes preserve - * - * Reduces denoising around very bright/dark areas. The downscaling factor of - * EP (located near the top of this shader) controls the area sampled for - * luminance (higher numbers consider more area). - * - * EP: 1 to enable, 0 to disable - * DP: EP strength on dark patches, 0 to fully denoise - * BP: EP strength on bright patches, 0 to fully denoise - */ -#ifdef LUMA_raw -#define EP 1 -#define BP 0.75 -#define DP 0.25 -#else -#define EP 0 -#define BP 0.0 -#define DP 0.0 -#endif - -/* Robust filtering - * - * This setting is dependent on code generation from nlmeans_cfg, so this - * setting can only be enabled via nlmeans_cfg. - * - * Compares the pixel-of-interest against downscaled pixels. - * - * This will virtually always improve quality, but will always disable - * textureGather optimizations. - * - * The downscale factor can be modified in the WIDTH/HEIGHT directives for the - * RF texture (for CHROMA, RGB) and RF_LUMA (LUMA only) textures near the top - * of this shader, higher numbers increase blur. - * - * Any notation of RF as a positive number should be assumed to be referring to - * the downscaling factor, e.g., RF=3 means RF is set to 1 and the downscaling - * factor is set to 3. - */ -#ifdef LUMA_raw -#define RF 1 -#else -#define RF 1 -#endif - -/* Blur factor - * - * 0 to 1, only useful for alternative estimators. You're probably looking for - * "S" (denoising factor), go back to the top of the shader! - */ -#ifdef LUMA_raw -#define BF 1.0 -#else -#define BF 1.0 -#endif - -/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ -/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ -/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ -/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ -/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ - -// Scaling factor (should match WIDTH/HEIGHT) -#ifdef LUMA_raw -#define SF 1 -#else -#define SF 1 -#endif - -/* Estimator - * - * 0: means - * 1: Euclidean medians (extremely slow, may be good for heavy noise) - * 2: weight map (not a denoiser, maybe useful for generating image masks) - * 3: weighted median intensity (slow, may be good for heavy noise) - */ -#ifdef LUMA_raw -#define M 0 -#else -#define M 0 -#endif - -// Patch donut (probably useless) -#ifdef LUMA_raw -#define PD 0 -#else -#define PD 0 -#endif - -// Duplicate 1st weight -#ifdef LUMA_raw -#define D1W 0 -#else -#define D1W 0 -#endif - -/* Shader code */ - -#define EPSILON 0.00000000001 - -#if PS == 6 -const int hp = P/2; -#else -const float hp = int(P/2) - 0.5*(1-(P%2)); // sample between pixels for even patch sizes -#endif - -#if RS == 6 -const int hr = R/2; -#else -const float hr = int(R/2) - 0.5*(1-(R%2)); // sample between pixels for even research sizes -#endif - -// donut increment, increments without landing on (0,0,0) -// much faster than a "continue" statement -#define DINCR(z,c) (z.c++,(z.c += int(z == vec3(0)))) - -// search shapes and their corresponding areas -#define S_1X1(z) for (z = vec3(0); z.x <= 0; z.x++) - -#define S_TRIANGLE(z,hz,incr) for (z.y = -hz; z.y <= 0; z.y++) for (z.x = -abs(abs(z.y) - hz); z.x <= abs(abs(z.y) - hz); incr) -#define S_TRUNC_TRIANGLE(z,hz,incr) for (z.y = -hz; z.y <= 0; z.y++) for (z.x = -abs(abs(z.y) - hz); z.x <= abs(abs(z.y) - hz)*int(z.y!=0); incr) -#define S_TRIANGLE_A(hz,Z) int(pow(hz, 2)+Z) - -#define S_DIAMOND(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -abs(abs(z.x) - hz); z.y <= abs(abs(z.x) - hz); incr) -#define S_DIAMOND_A(hz,Z) int(pow(hz, 2)*2+Z) - -#define S_VERTICAL(z,hz,incr) for (z.x = 0; z.x <= 0; z.x++) for (z.y = -hz; z.y <= hz; incr) -#define S_HORIZONTAL(z,hz,incr) for (z.x = -hz; z.x <= hz; incr) for (z.y = 0; z.y <= 0; z.y++) - -#define S_PLUS(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -hz * int(z.x == 0); z.y <= hz * int(z.x == 0); incr) -#define S_PLUS_A(hz,Z) (Z*2 - 1) - -#define S_SQUARE(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -hz; z.y <= hz; incr) -#define S_SQUARE_EVEN(z,hz,incr) for (z.x = -hz; z.x < hz; z.x++) for (z.y = -hz; z.y < hz; incr) - -#define T1 (T+1) -#define FOR_FRAME(r) for (r.z = 0; r.z < T1; r.z++) - -// Skip comparing the pixel-of-interest against itself, unless RF is enabled -#if RF -#define RINCR(z,c) (z.c++) -#else -#define RINCR DINCR -#endif - -#define R_AREA(a) (a * T1 + RF-1) - -// research shapes -#if R == 0 || R == 1 -#define FOR_RESEARCH(r) S_1X1(r) -const int r_area = R_AREA(1); -#elif RS == 7 -#define FOR_RESEARCH(r) S_PLUS(r,hr,RINCR(r,y)) -const int r_area = R_AREA(S_PLUS_A(hr,R)); -#elif RS == 6 -#define FOR_RESEARCH(r) S_SQUARE_EVEN(r,hr,RINCR(r,y)) -const int r_area = R_AREA(R*R); -#elif RS == 5 -#define FOR_RESEARCH(r) S_TRUNC_TRIANGLE(r,hr,RINCR(r,x)) -const int r_area = R_AREA(S_TRIANGLE_A(hr,hr)); -#elif RS == 4 -#define FOR_RESEARCH(r) S_TRIANGLE(r,hr,RINCR(r,x)) -const int r_area = R_AREA(S_TRIANGLE_A(hr,R)); -#elif RS == 3 -#define FOR_RESEARCH(r) S_DIAMOND(r,hr,RINCR(r,y)) -const int r_area = R_AREA(S_DIAMOND_A(hr,R)); -#elif RS == 2 -#define FOR_RESEARCH(r) S_VERTICAL(r,hr,RINCR(r,y)) -const int r_area = R_AREA(R); -#elif RS == 1 -#define FOR_RESEARCH(r) S_HORIZONTAL(r,hr,RINCR(r,x)) -const int r_area = R_AREA(R); -#elif RS == 0 -#define FOR_RESEARCH(r) S_SQUARE(r,hr,RINCR(r,y)) -const int r_area = R_AREA(R*R); -#endif - -#define RI1 (RI+1) -#define RFI1 (RFI+1) - -#if RI -#define FOR_ROTATION for (float ri = 0; ri < 360; ri+=360.0/RI1) -#else -#define FOR_ROTATION -#endif - -#if RFI -#define FOR_REFLECTION for (int rfi = 0; rfi < RFI1; rfi++) -#else -#define FOR_REFLECTION -#endif - -#if PD -#define PINCR DINCR -#else -#define PINCR(z,c) (z.c++) -#endif - -#define P_AREA(a) (a - PD) - -// patch shapes -#if P == 0 || P == 1 -#define FOR_PATCH(p) S_1X1(p) -const int p_area = P_AREA(1); -#elif PS == 7 -#define FOR_PATCH(p) S_PLUS(p,hp,PINCR(p,y)) -const int p_area = P_AREA(S_PLUS_A(hp,P)); -#elif PS == 6 -#define FOR_PATCH(p) S_SQUARE_EVEN(p,hp,PINCR(p,y)) -const int p_area = P_AREA(P*P); -#elif PS == 5 -#define FOR_PATCH(p) S_TRUNC_TRIANGLE(p,hp,PINCR(p,x)) -const int p_area = P_AREA(S_TRIANGLE_A(hp,hp)); -#elif PS == 4 -#define FOR_PATCH(p) S_TRIANGLE(p,hp,PINCR(p,x)) -const int p_area = P_AREA(S_TRIANGLE_A(hp,P)); -#elif PS == 3 -#define FOR_PATCH(p) S_DIAMOND(p,hp,PINCR(p,y)) -const int p_area = P_AREA(S_DIAMOND_A(hp,P)); -#elif PS == 2 -#define FOR_PATCH(p) S_VERTICAL(p,hp,PINCR(p,y)) -const int p_area = P_AREA(P); -#elif PS == 1 -#define FOR_PATCH(p) S_HORIZONTAL(p,hp,PINCR(p,x)) -const int p_area = P_AREA(P); -#elif PS == 0 -#define FOR_PATCH(p) S_SQUARE(p,hp,PINCR(p,y)) -const int p_area = P_AREA(P*P); -#endif - -const float r_scale = 1.0/r_area; -const float p_scale = 1.0/p_area; - -#define load_(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off)) - -#if RF && defined(LUMA_raw) -#define load2_(off) RF_LUMA_tex(RF_LUMA_pos + RF_LUMA_pt * vec2(off)) -#define gather_offs(off, off_arr) (RF_LUMA_mul * vec4(textureGatherOffsets(RF_LUMA_raw, RF_LUMA_pos + vec2(off) * RF_LUMA_pt, off_arr))) -#define gather(off) RF_LUMA_gather(RF_LUMA_pos + (off) * RF_LUMA_pt, 0) -#elif RF && D1W -#define load2_(off) RF_tex(RF_pos + RF_pt * vec2(off)) -#define gather_offs(off, off_arr) (RF_mul * vec4(textureGatherOffsets(RF_raw, RF_pos + vec2(off) * RF_pt, off_arr))) -#define gather(off) RF_gather(RF_pos + (off) * RF_pt, 0) -#elif RF -#define load2_(off) RF_tex(RF_pos + RF_pt * vec2(off)) -#else -#define load2_(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off)) -#define gather_offs(off, off_arr) (HOOKED_mul * vec4(textureGatherOffsets(HOOKED_raw, HOOKED_pos + vec2(off) * HOOKED_pt, off_arr))) -#define gather(off) HOOKED_gather(HOOKED_pos + (off)*HOOKED_pt, 0) -#endif - -#if T -vec4 load(vec3 off) -{ - switch (int(off.z)) { - case 0: return load_(off); - } -} -vec4 load2(vec3 off) -{ - switch (int(off.z)) { - case 0: return load2_(off); - } -} -#else -#define load(off) load_(off) -#define load2(off) load2_(off) -#endif - -vec4 poi = load(vec3(0)); // pixel-of-interest -vec4 poi2 = load2(vec3(0)); // guide pixel-of-interest - -#if RI // rotation -vec2 rot(vec2 p, float d) -{ - return vec2( - p.x * cos(radians(d)) - p.y * sin(radians(d)), - p.y * sin(radians(d)) + p.x * cos(radians(d)) - ); -} -#else -#define rot(p, d) (p) -#endif - -#if RFI // reflection -vec2 ref(vec2 p, int d) -{ - switch (d) { - case 0: return p; - case 1: return p * vec2(1, -1); - case 2: return p * vec2(-1, 1); - } -} -#else -#define ref(p, d) (p) -#endif - -vec4 patch_comparison(vec3 r, vec3 r2) -{ - vec3 p; - vec4 min_rot = vec4(p_area); - - FOR_ROTATION FOR_REFLECTION { - vec4 pdiff_sq = vec4(0); - FOR_PATCH(p) { - vec3 transformed_p = vec3(ref(rot(p.xy, ri), rfi), p.z); - vec4 diff_sq = pow(load2(p + r2) - load2((transformed_p + r) * SF), vec4(2)); -#if PST && P >= PST - float pdist = exp(-pow(length(p.xy*PSD)*PSS, 2)); - diff_sq = pow(max(diff_sq, EPSILON), vec4(pdist)); -#endif - pdiff_sq += diff_sq; - } - min_rot = min(min_rot, pdiff_sq); - } - - return min_rot * p_scale; -} - -#define NO_GATHER (PD == 0) // never textureGather if any of these conditions are false -#define REGULAR_ROTATIONS (RI == 0 || RI == 1 || RI == 3) - -#if (defined(LUMA_gather) || D1W) && ((PS == 3 || PS == 7) && P == 3) && PST == 0 && M != 1 && REGULAR_ROTATIONS && NO_GATHER -// 3x3 diamond/plus patch_comparison_gather -const ivec2 offsets[4] = { ivec2(0,-1), ivec2(-1,0), ivec2(0,1), ivec2(1,0) }; -const ivec2 offsets_sf[4] = { ivec2(0,-1) * SF, ivec2(-1,0) * SF, ivec2(0,1) * SF, ivec2(1,0) * SF }; -vec4 poi_patch = gather_offs(0, offsets); -vec4 patch_comparison_gather(vec3 r, vec3 r2) -{ - float min_rot = p_area - 1; - vec4 transformer = gather_offs(r, offsets_sf); - FOR_ROTATION { - FOR_REFLECTION { - float diff_sq = dot(pow(poi_patch - transformer, vec4(2)), vec4(1)); - min_rot = min(diff_sq, min_rot); -#if RFI - switch(rfi) { - case 0: transformer = transformer.zyxw; break; - case 1: transformer = transformer.zwxy; break; // undoes last mirror, performs another mirror - case 2: transformer = transformer.zyxw; break; // undoes last mirror - } -#endif - } -#if RI == 3 - transformer = transformer.wxyz; -#elif RI == 1 - transformer = transformer.zwxy; -#endif - } - return vec4(min_rot + pow(poi2.x - load2(r).x, 2), 0, 0, 0) * p_scale; -} -#elif (defined(LUMA_gather) || D1W) && PS == 6 && REGULAR_ROTATIONS && NO_GATHER -// tiled even square patch_comparison_gather -vec4 patch_comparison_gather(vec3 r, vec3 r2) -{ - vec2 tile; - float min_rot = p_area; - - /* gather order: - * w z - * x y - */ - FOR_ROTATION FOR_REFLECTION { - float pdiff_sq = 0; - for (tile.x = -hp; tile.x < hp; tile.x+=2) for (tile.y = -hp; tile.y < hp; tile.y+=2) { - vec4 poi_patch = gather(tile + r2.xy); - vec4 transformer = gather(ref(rot(tile + 0.5, ri), rfi) - 0.5 + r.xy); - -#if RI - for (float i = 0; i < ri; i+=90) - transformer = transformer.wxyz; // rotate 90 degrees -#endif -#if RFI // XXX output is a little off - switch(rfi) { - case 1: transformer = transformer.zyxw; break; - case 2: transformer = transformer.xwzy; break; - } -#endif - - vec4 diff_sq = pow(poi_patch - transformer, vec4(2)); -#if PST && P >= PST - vec4 pdist = vec4( - exp(-pow(length((tile+vec2(0,1))*PSD)*PSS, 2)), - exp(-pow(length((tile+vec2(1,1))*PSD)*PSS, 2)), - exp(-pow(length((tile+vec2(1,0))*PSD)*PSS, 2)), - exp(-pow(length((tile+vec2(0,0))*PSD)*PSS, 2)) - ); - diff_sq = pow(max(diff_sq, EPSILON), pdist); -#endif - pdiff_sq += dot(diff_sq, vec4(1)); - } - min_rot = min(min_rot, pdiff_sq); - } - - return vec4(min_rot, 0, 0, 0) * p_scale; -} -#else -#define patch_comparison_gather patch_comparison -#endif - -vec4 hook() -{ - vec4 total_weight = vec4(0); - vec4 sum = vec4(0); - vec4 result = vec4(0); - - vec3 r = vec3(0); - vec3 p = vec3(0); - vec3 me = vec3(0); - -#if T && ME == 1 // temporal & motion estimation - vec3 me_tmp = vec3(0); - float maxweight = 0; -#elif T && ME == 2 // temporal & motion estimation - vec3 me_sum = vec3(0); - float me_weight = 0; -#endif - -#if WD == 2 || M == 3 // weight discard, weighted median intensities - int r_index = 0; - vec4 all_weights[r_area]; - vec4 all_pixels[r_area]; -#elif WD == 1 // weight discard - vec4 no_weights = vec4(0); - vec4 discard_total_weight = vec4(0); - vec4 discard_sum = vec4(0); -#endif - -#if M == 1 // Euclidean medians - vec4 minsum = vec4(0); -#endif - - FOR_FRAME(r) { -#if T && ME == 1 // temporal & motion estimation max weight - if (r.z > 0) { - me += me_tmp; - me_tmp = vec3(0); - maxweight = 0; - } -#elif T && ME == 2 // temporal & motion estimation weighted average - if (r.z > 0) { - me += round(me_sum / me_weight); - me_sum = vec3(0); - me_weight = 0; - } -#endif - FOR_RESEARCH(r) { - // main NLM logic - const float h = S*0.013; - const float pdiff_scale = 1.0/(h*h); - vec4 pdiff_sq = (r.z == 0) ? patch_comparison_gather(r+me, vec3(0)) : patch_comparison(r+me, vec3(0)); - vec4 weight = exp(-pdiff_sq * pdiff_scale); - -#if T && ME == 1 // temporal & motion estimation max weight - me_tmp = vec3(r.xy,0) * step(maxweight, weight.x) + me_tmp * (1 - step(maxweight, weight.x)); - maxweight = max(maxweight, weight.x); -#elif T && ME == 2 // temporal & motion estimation weighted average - me_sum += vec3(r.xy,0) * weight.x; - me_weight += weight.x; -#endif - -#if D1W - weight = vec4(weight.x); -#endif - - weight *= exp(-pow(length(r*SD)*SS, 2)); // spatial kernel - -#if WD == 2 || M == 3 // weight discard, weighted median intensity - all_weights[r_index] = weight; - all_pixels[r_index] = load(r+me); - r_index++; -#elif WD == 1 // weight discard - vec4 wd_scale = 1.0/max(no_weights, 1); - vec4 keeps = step(total_weight*wd_scale * WDT*exp(-wd_scale*WDP), weight); - discard_sum += load(r+me) * weight * (1 - keeps); - discard_total_weight += weight * (1 - keeps); - no_weights += keeps; -#endif - - sum += load(r+me) * weight; - total_weight += weight; - -#if M == 1 // Euclidean median - // Based on: https://arxiv.org/abs/1207.3056 - // XXX might not work with ME - vec3 r2; - vec4 wpdist_sum = vec4(0); - FOR_FRAME(r2) FOR_RESEARCH(r2) { - vec4 pdist = (r.z + r2.z) == 0 ? patch_comparison_gather(r+me, r2+me) : patch_comparison(r+me, r2+me); - wpdist_sum += sqrt(pdist) * (1-weight); - } - - vec4 newmin = step(wpdist_sum, minsum); // wpdist_sum <= minsum - newmin *= 1 - step(wpdist_sum, vec4(0)); // && wpdist_sum > 0 - newmin += step(minsum, vec4(0)); // || minsum <= 0 - newmin = min(newmin, 1); - - minsum = (newmin * wpdist_sum) + ((1-newmin) * minsum); - result = (newmin * load(r+me)) + ((1-newmin) * result); -#endif - } // FOR_RESEARCH - } // FOR_FRAME - -#if T // temporal -#endif - - vec4 avg_weight = total_weight * r_scale; - vec4 old_avg_weight = avg_weight; - -#if WD == 2 // true average - total_weight = vec4(0); - sum = vec4(0); - vec4 no_weights = vec4(0); - - for (int i = 0; i < r_area; i++) { - vec4 keeps = step(avg_weight*WDT, all_weights[i]); - all_weights[i] *= keeps; - sum += all_pixels[i] * all_weights[i]; - total_weight += all_weights[i]; - no_weights += keeps; - } -#elif WD == 1 // moving cumulative average - total_weight -= discard_total_weight; - sum -= discard_sum; -#endif -#if WD // weight discard - avg_weight = total_weight / no_weights; -#endif - - total_weight += SW; - sum += poi * SW; - -#if M == 3 // weighted median intensity - const float hr_area = r_area/2.0; - vec4 is_median, gt, lt, gte, lte, neq; - - for (int i = 0; i < r_area; i++) { - gt = lt = vec4(0); - for (int j = 0; j < r_area; j++) { - gte = step(all_pixels[i]*all_weights[i], all_pixels[j]*all_weights[j]); - lte = step(all_pixels[j]*all_weights[j], all_pixels[i]*all_weights[i]); - neq = 1 - gte * lte; - gt += gte * neq; - lt += lte * neq; - } - is_median = step(gt, vec4(hr_area)) * step(lt, vec4(hr_area)); - result += step(result, vec4(0)) * is_median * all_pixels[i]; - } -#elif M == 2 // weight map - result = avg_weight; -#elif M == 0 // mean - result = sum / total_weight; -#endif - -#if AS == 1 // sharpen+denoise - vec4 sharpened = result + (poi - result) * ASF; - vec4 sharpening_power = pow(avg_weight, vec4(ASP)); -#elif AS == 2 // sharpen only - vec4 sharpened = poi + (poi - result) * ASF; - vec4 sharpening_power = pow(avg_weight, vec4(ASP)); -#endif - -#if EP // extremes preserve - float luminance = EP_texOff(0).x; - // EPSILON is needed since pow(0,0) is undefined - float ep_weight = pow(max(min(1-luminance, luminance)*2, EPSILON), (luminance < 0.5 ? DP : BP)); - result = mix(poi, result, ep_weight); -#endif - -#if AS == 1 // sharpen+denoise - result = mix(sharpened, result, sharpening_power); -#elif AS == 2 // sharpen only - result = mix(sharpened, poi, sharpening_power); -#endif - - return mix(poi, result, BF); -} - diff --git a/shaders/other/noise_static_chroma.glsl b/shaders/other/noise_static_chroma.glsl deleted file mode 100644 index cb94cb6..0000000 --- a/shaders/other/noise_static_chroma.glsl +++ /dev/null @@ -1,23 +0,0 @@ - -//!DESC Reduce static noise (chroma) -//!HOOK CHROMA -//!BIND HOOKED - -// Change this to tune the strength of the noise -// Apparently this has to be float on some setups -#define STRENGTH 48.0 - -// PRNG taken from mpv's deband shader -float mod289(float x) { return x - floor(x / 289.0) * 289.0; } -float permute(float x) { return mod289((34.0*x + 1.0) * x); } -float rand(float x) { return fract(x / 41.0); } - -vec4 hook() { - vec3 _m = vec3(HOOKED_pos, 0.5) + vec3(1.0); - float h = permute(permute(permute(_m.x)+_m.y)+_m.z); - vec4 noise; - noise.x = rand(h); h = permute(h); - noise.y = rand(h); - return HOOKED_tex(HOOKED_pos) + vec4(STRENGTH/8192.0) * (noise - 0.5); -} - diff --git a/shaders/other/noise_static_luma.glsl b/shaders/other/noise_static_luma.glsl deleted file mode 100644 index ee0287d..0000000 --- a/shaders/other/noise_static_luma.glsl +++ /dev/null @@ -1,22 +0,0 @@ - -//!DESC Reduce static noise (luma) -//!HOOK LUMA -//!BIND HOOKED - -// Change this to tune the strength of the noise -// Apparently this has to be float on some setups -#define STRENGTH 48.0 - -// PRNG taken from mpv's deband shader -float mod289(float x) { return x - floor(x / 289.0) * 289.0; } -float permute(float x) { return mod289((34.0*x + 1.0) * x); } -float rand(float x) { return fract(x / 41.0); } - -vec4 hook() { - vec3 _m = vec3(HOOKED_pos, 1.0) + vec3(1.0); - float h = permute(permute(permute(_m.x)+_m.y)+_m.z); - vec4 noise; - noise.x = rand(h); - return HOOKED_tex(HOOKED_pos) + vec4(STRENGTH/8192.0) * (noise - 0.5); -} - diff --git a/shaders/other/sdr_normalize.glsl b/shaders/other/sdr_normalize.glsl deleted file mode 100644 index a8ce08a..0000000 --- a/shaders/other/sdr_normalize.glsl +++ /dev/null @@ -1,220 +0,0 @@ -// https://www.itu.int/rec/R-REC-BT.1886 - -//!HOOK OUTPUT -//!BIND HOOKED -//!DESC transfer function (bt.1886, inverse) - -float bt1886_eotf(float V, float gamma, float Lw, float Lb) { - float a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); - float b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); - float L = a * pow(max(V + b, 0.0), gamma); - return L; -} - -vec3 bt1886_eotf(vec3 color, float gamma, float Lw, float Lb) { - return vec3( - bt1886_eotf(color.r, gamma, Lw, Lb), - bt1886_eotf(color.g, gamma, Lw, Lb), - bt1886_eotf(color.b, gamma, Lw, Lb) - ); -} - -vec4 hook() { - vec4 color = HOOKED_tex(HOOKED_pos); - - color.rgb = bt1886_eotf(color.rgb, 2.4, 1.0, 0.001); - - return color; -} - -//!TEXTURE TONE -//!SIZE 1024 1 -//!FORMAT rgba16f -//!FILTER LINEAR -//!BORDER REPEAT -//!STORAGE - -//!HOOK OUTPUT -//!BIND HOOKED -//!BIND TONE -//!SAVE GARB -//!WIDTH 4096 -//!HEIGHT 1 -//!DESC bake lut - -float bezier(float t, float a, float b, float c) { - a = mix(a, b, t); - b = mix(b, c, t); - a = mix(a, b, t); - return a; -} - -vec2 bezier(float t, vec2 a, vec2 b, vec2 c) { - return vec2( - bezier(t, a.x, b.x, c.x), - bezier(t, a.y, b.y, c.y) - ); -} - -vec4 hook() { - vec2 b = bezier(HOOKED_pos.x, vec2(0.0, 0.0), vec2(0.5, 0.8), vec2(1.0, 1.0)); - imageStore(TONE, ivec2(int(1023.0 * b.x), 0), vec4(vec3(b.y), 1.0)); - - vec4 color = HOOKED_texOff(0); - return color; -} - -//!HOOK OUTPUT -//!BIND HOOKED -//!BIND TONE -//!DESC tone-mapping - -float cbrt(float x) { - return sign(x) * pow(abs(x), 1.0 / 3.0); -} - -vec3 RGB_to_XYZ(vec3 RGB) { - mat3 M = mat3( - 0.41239079926595934, 0.357584339383878, 0.1804807884018343, - 0.21263900587151027, 0.715168678767756, 0.07219231536073371, - 0.01933081871559182, 0.11919477979462598, 0.9505321522496607); - return RGB * M; -} - -vec3 XYZ_to_RGB(vec3 XYZ) { - mat3 M = mat3( - 3.2409699419045226, -1.537383177570094, -0.4986107602930034, - -0.9692436362808796, 1.8759675015077202, 0.04155505740717559, - 0.05563007969699366, -0.20397695888897652, 1.0569715142428786); - return XYZ * M; -} - -vec3 XYZ_to_LMS(vec3 XYZ) { - mat3 M = mat3( - 0.8190224379967030, 0.3619062600528904, -0.1288737815209879, - 0.0329836539323885, 0.9292868615863434, 0.0361446663506424, - 0.0481771893596242, 0.2642395317527308, 0.6335478284694309); - return XYZ * M; -} - -vec3 LMS_to_XYZ(vec3 LMS) { - mat3 M = mat3( - 1.2268798758459243, -0.5578149944602171, 0.2813910456659647, - -0.0405757452148008, 1.1122868032803170, -0.0717110580655164, - -0.0763729366746601, -0.4214933324022432, 1.5869240198367816); - return LMS * M; -} - -vec3 LMS_to_Lab(vec3 LMS) { - mat3 M = mat3( - 0.2104542683093140, 0.7936177747023054, -0.0040720430116193, - 1.9779985324311684, -2.4285922420485799, 0.4505937096174110, - 0.0259040424655478, 0.7827717124575296, -0.8086757549230774); - - LMS = vec3( - cbrt(LMS.x), - cbrt(LMS.y), - cbrt(LMS.z) - ); - - return LMS * M; -} - -vec3 Lab_to_LMS(vec3 Lab) { - mat3 M = mat3( - 1.0000000000000000, 0.3963377773761749, 0.2158037573099136, - 1.0000000000000000, -0.1055613458156586, -0.0638541728258133, - 1.0000000000000000, -0.0894841775298119, -1.2914855480194092); - - Lab = Lab * M; - - return vec3( - pow(Lab.x, 3.0), - pow(Lab.y, 3.0), - pow(Lab.z, 3.0) - ); -} - -float L_to_Lr(float x) { - const float k1 = 0.206; - const float k2 = 0.03; - const float k3 = (1.0 + k1) / (1.0 + k2); - return 0.5 * (k3 * x - k1 + sqrt(pow(k3 * x - k1, 2.0) + 4.0 * k2 * k3 * x)); -} - -float Lr_to_L(float x) { - const float k1 = 0.206; - const float k2 = 0.03; - const float k3 = (1.0 + k1) / (1.0 + k2); - return (x * (x + k1)) / (k3 * (x + k2)); -} - -vec3 RGB_to_Lab(vec3 color) { - color = RGB_to_XYZ(color); - color = XYZ_to_LMS(color); - color = LMS_to_Lab(color); - color.x = L_to_Lr(color.x); - return color; -} - -vec3 Lab_to_RGB(vec3 color) { - color.x = Lr_to_L(color.x); - color = Lab_to_LMS(color); - color = LMS_to_XYZ(color); - color = XYZ_to_RGB(color); - return color; -} - -float curve(float x) { - // TODO: remove two compare - if (x <= 1e-6) - return 0.0; - if (x >= 1.0 - 1e-6) - return 1.0; - return imageLoad(TONE, ivec2(int(1023.0 * x), 0)).x; -} - -vec3 tone_mapping_ictcp(vec3 ICtCp) { - float I2 = curve(ICtCp.x); - ICtCp.yz *= max(ICtCp.x / I2, I2 / ICtCp.x); - ICtCp.x = I2; - - return ICtCp; -} - -vec4 hook() { - vec4 color = HOOKED_texOff(0); - - color.rgb = RGB_to_Lab(color.rgb); - color.rgb = tone_mapping_ictcp(color.rgb); - color.rgb = Lab_to_RGB(color.rgb); - - return color; -} - -//!HOOK OUTPUT -//!BIND HOOKED -//!DESC transfer function (bt.1886) - -float bt1886_eotf_inv(float L, float gamma, float Lw, float Lb) { - float a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); - float b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); - float V = pow(max(L / a, 0.0), 1.0 / gamma) - b; - return V; -} - -vec3 bt1886_eotf_inv(vec3 color, float gamma, float Lw, float Lb) { - return vec3( - bt1886_eotf_inv(color.r, gamma, Lw, Lb), - bt1886_eotf_inv(color.g, gamma, Lw, Lb), - bt1886_eotf_inv(color.b, gamma, Lw, Lb) - ); -} - -vec4 hook() { - vec4 color = HOOKED_tex(HOOKED_pos); - - color.rgb = bt1886_eotf_inv(color.rgb, 2.4, 1.0, 0.001); - - return color; -} \ No newline at end of file diff --git a/shaders/other/unsharp-masking_blur.glsl b/shaders/other/unsharp-masking_blur.glsl deleted file mode 100644 index 6b8d4f0..0000000 --- a/shaders/other/unsharp-masking_blur.glsl +++ /dev/null @@ -1,24 +0,0 @@ - -//!DESC unsharp-masking_blur -//!HOOK MAIN -//!BIND HOOKED - -#define BLUR -1.0 // terrible when below -2 - -vec4 hook() -{ - const float st1 = 1.2; - vec4 p = HOOKED_tex(HOOKED_pos); - vec4 sum1 = HOOKED_texOff(st1 * vec2(+1, +1)) - + HOOKED_texOff(st1 * vec2(+1, -1)) - + HOOKED_texOff(st1 * vec2(-1, +1)) - + HOOKED_texOff(st1 * vec2(-1, -1)); - const float st2 = 1.5; - vec4 sum2 = HOOKED_texOff(st2 * vec2(+1, 0)) - + HOOKED_texOff(st2 * vec2( 0, +1)) - + HOOKED_texOff(st2 * vec2(-1, 0)) - + HOOKED_texOff(st2 * vec2( 0, -1)); - vec4 t = p * 0.859375 + sum2 * -0.1171875 + sum1 * -0.09765625; - return p + t * BLUR; -} - diff --git a/shaders/other/unsharp-masking_sharpen.glsl b/shaders/other/unsharp-masking_sharpen.glsl deleted file mode 100644 index 8cc25b8..0000000 --- a/shaders/other/unsharp-masking_sharpen.glsl +++ /dev/null @@ -1,24 +0,0 @@ - -//!DESC unsharp-masking_sharpen -//!HOOK MAIN -//!BIND HOOKED - -#define SHARPEN 1.0 // terrible when over 3 - -vec4 hook() -{ - const float st1 = 1.2; - vec4 p = HOOKED_tex(HOOKED_pos); - vec4 sum1 = HOOKED_texOff(st1 * vec2(+1, +1)) - + HOOKED_texOff(st1 * vec2(+1, -1)) - + HOOKED_texOff(st1 * vec2(-1, +1)) - + HOOKED_texOff(st1 * vec2(-1, -1)); - const float st2 = 1.5; - vec4 sum2 = HOOKED_texOff(st2 * vec2(+1, 0)) - + HOOKED_texOff(st2 * vec2( 0, +1)) - + HOOKED_texOff(st2 * vec2(-1, 0)) - + HOOKED_texOff(st2 * vec2( 0, -1)); - vec4 t = p * 0.859375 + sum2 * -0.1171875 + sum1 * -0.09765625; - return p + t * SHARPEN; -} - diff --git a/shaders/other/unsharp.glsl b/shaders/other/unsharp.glsl deleted file mode 100644 index 236c722..0000000 --- a/shaders/other/unsharp.glsl +++ /dev/null @@ -1,45 +0,0 @@ - -//!DESC unsharp -//!HOOK SCALED -//!BIND HOOKED - -#define effect_width 1 -#define coeff_blur 0.9 - -#define coeff_orig (1 + coeff_blur) - -#define Src(a,b) HOOKED_texOff(vec2(a,b)) -#define dx (effect_width) -#define dy (effect_width) - -vec4 hook() -{ - - // Retrieves the original pixel - vec4 orig = Src(0,0); - - // Calculates blurred image (gaussian blur) - vec4 c1 = Src(-dx,-dy); - vec4 c2 = Src(0,-dy); - vec4 c3 = Src(dx,-dy); - vec4 c4 = Src(-dx,0); - vec4 c5 = Src(dx,0); - vec4 c6 = Src(-dx,dy); - vec4 c7 = Src(0,dy); - vec4 c8 = Src(dx,dy); - - // gaussian blur filter - // [ 1, 2 , 1 ] - // [ 2, 4 , 2 ] - // [ 1, 2 , 1 ] - // c1 c2 c3 - // c4 c5 - // c6 c7 c8 - vec4 blur = (c1 + c3 + c6 + c8 + 2 * (c2 + c4 + c5 + c7) + 4 * orig)/16; - - // The blurred image is substracted from the origginal image - vec4 corr = coeff_orig*orig - coeff_blur*blur; - - return corr; -} -

    jpw%fp?_4TiR zol8Ti*NFP`aa>rz@xH#kBM(3FH^2Jze*5kRujkL7H(=vx(>C51Ak?X+oLVgr-D=A% zXU=@r(@#I`P7luQgyT>6_wz3R%$jEDf&~kkEz@)}HlOk1^Z)&OXU#h9lgB}OzWCCM zT+-{d-rnBhKlSOK{`hBy9eS8M#ON3GdL4GY|9<URIwZ+cw z-T9SQUx81${ljhg_{ToJ@Wq8ypSPWM-08SaeCpMuuet+mFlB>NPx<_L=bpE0*)llF z>vs}3=bhjC-alRWC-}tMd~MmPYj3!D(UPUa9Vu9-(+PP9R}+wz z_JVML%1ao~VVFi>>%rJikNg-_D9SAFbP{-Yd-{6(DA1Kmh%`(#&Uq>pmhW_$0=fSx z2tps-QrUZs)2}`pw9{_Gxi%X0u;w%Wl1FX$K$>P9n0r(76c16?nbcRb30@iDDeIhW z?u6z-JZY6FShH9+y0q19YtbW0 z4A4+rZoy>}oba^;Ii_Vx!}GT6J`*dEu6m=oxrh!WWt=>|p+%tr4*FjBG!^9h0a6Ht z7WPeagFkE~TKF_P_AI8mqqPerccU+^Cv<6@Hec)*U`mEbg2e||b}hUJz*-n8FJOzj z&?6%(lW#9zPGL7;J_?4N%YsUYu^s}NjY4H2LuHJDJcXs{$*PD#n8kd!^Fu>T^dHf> zUavvt$@7wp$k>k{vLyhDEN(H^FHHiChE}v8MM<23geu@*sz5=W0_QrE14K-W%zf4v z5~i>QodlCk$t53H>MlGgpErt!6!}7~16F!6ztmu|?#(inOtOj8o&QhHhH5EDTZgW^h8Q(D1wYsKm<_&3k#i*WW z_vAX0eS=l`M5oRajy@N5u z=ddR9t0Kp~k)^QMtx@$ZB?1&xJy%C&=~{#T&w>77HfYk;u1HmRXLxJSo2t8@=gX0- z`>jV7yXs*iPgS{DydVCI$qu1iChCL(!v`WltinltCgmtTE(<;s;CzHP&q?|jFm)2F#k1WT2dUU~^eSUJ|$ zbwvkb(xizjFAOvH%2g{dTr2&}H+#Fyp^r^VWZ(iP>h#;z^%>r(?y(CNEO=qT3oBNv zh->ktn{0aD{r7$QyG9md&YU^#e)qfi_3YWR_u6YOe*N#~|2rc~w;#Zr3^GRh(z@fm zj%6*}S9H&#w(sfb8Nu)eP{qOXTD>-c1NOw6CzdW)+ppu`C-L*$f|k3Tu**B4*Z$r6|x^Sr}Udam|xJU--Fd445^Dbm6(%N!@y2tc2& zBB3K62jHPjo~CG;TaR-M>tjiCr?iuR@U1c#RtXmx?kV(giNx7D7Ev09Axupb@O>=4 zL`{=0jD#|zcph7e49+&g>6|7)A18UFyKtBa#w4RRA(19!DLUkHp|sJvwuR5AV1v?w z#Pg#f5C{59Je4U|G!n8-8pgeMQ-+_jvUNS&d1R(b-}P zc$Q+%{tJ{=7WSYdI4mtjH4Rza3LkBZO!58#g!eta+3Wy-&e3c*iQ>qQNPiBM z@Is!|*o##O<#vnKvL0Twaa|g&Uh1@U`J6qes-0YF$AH(ej9WuVmUQAMfNQSR5`ZtL zVolW~N@v(g0>K$}K3zm;xZ+{{5a1nJ!WT@lE^_H(AhhUo;Ne#F2DEty(@T*co=8fknyHecY_>{_rADv_DE$(}CYdFM-8DgJaSY%ohR=9i zX!3!!2Es`7(%i@4hLVck@xke21mryKU}zYPHtTrK1@SEy2nJZYY?Ac_QK{Hlm*ElV zhj&pR-WDYtUyY~EVf9}w?1CJNa@de1wW-@?_I^2hSQDyS9xt`afK%7(mG*)OT?0#gJPP+>X_a(IOJw%Au;=@RxFg@ru2sCH;qFNVJ|VbXc@+rd5z%wrga<$?kE!E7_sY~66{%{Se4 zE7t8|`VU>qkk~79hRCKnnm58aPS!M5;Y5W@It6oX5MnB+z*H_~C(3q#vti^@-lp(F z-zk>R$OW*^7F95jKbNg$J56&M#AFzHK?FPXQINTvz%Yu^B%u#O8N)fwL&5l-v|*S- zZjg`WZIa-v@qDLg&L<&a(hn1EvSZ}LxKmhai?M9yx=7^yRdgAosBpzx!6CZG=9sPG zv4g^M9$`yb01LD|YN{k{!&l>45JUlHQEi}3vC_8fW1eBD^Aw^! zhi(z>zZ+AOVmK#XQ)t;Z-lM5Tit=v&O=$dWhY?1~Bql)-8v*{SfxhQcY%+u19zBpJf{fp0fuGKW_Xdob#}1spNcWVaS)N3j36(nCVgXa`Zh`adTB!9FnUb_-a3d z4;4g{F!ib<$oeK)&t)XWqSuV&o?u1s(ya8nq8t4}k8EilE@8=uwm~>bT^NqCBoQK3 zbpc>Ue>BAnq-ThgtI($la;t;e96?w2kt>I6PZ&wy#*?V|P?|%d)_eS(zM$R+i>y`E zh~fF)gt3({%P0z(DyxuWPfxfr7q+}fn01jRrb@}U-DcNqP@Zi9O!@xLhT%9)Qch-m6e zsDxZ}&F~aIIt=SI^;i@XQ4@{3Rr`TnoTj>bwDqPl(j*iWEeS+~YYh%Q9?XJ6P<)v(;7dxxum{=1I# z&!3@|`hVv%#_C{iVLu~VSr1#8jCxV2pzQuhyy1(nPL<^WxK@B^#e!<>>901kSel}` zl7_Wh`uWP$OH17;NgPiUE}JAwnA47PEN&%@-+OT-yuZIWIMAQ8b*)kQSn0u;Y0?Mv5LGDcaWx6N zgGw$K=JP`ol|`inAqh7d(4rVY88#cGdQGpg=_tX;78>q+;t3LcJX6xPrTwc*FBH1# zKMBj~!lZFb&w*J6U^FSb>0B4^#P{fUXt3RGqIXgENsjrU`m#uVM-@+ z#)^iNb?vTU$niqD3?SWEvmZYS0YHRN)afJv79|uYI7eo26!Fn6;L7t!sjRw#<%J`n z$Cl&El1^vMo`B}6?d||2Ii+V~Ju1~m$b`ebX=F8=fAW>i+Lk@vfM2EtP0ql%v+G@AbFp50|mz;^vXqiyh1aS%U zjkJ>zhdre5aE{4kEKDyw>M@E6z_GCkRodzqB72o_6sKtdw>6-C&oX$r0H{h~5|17U zQqRC-D49gm0Lh|kWU4$qNfV``MC7ofYL@06RxPlZhib$D$<2}Rv>(8ljIjuTc?ttd zqX4XE>B8ke980Q>1Ij*TJScG0r+u$<**#sAv!spBv!ru1J&M3|Cq%gtN#KqrPj~Q4>d-TY#f8LfSu-l;Addkyh}}Naa`hk0w!VVMU+Od#0Ht zDXx@Z<>2-81<(_!YNJ`mNMbzB}b#$n?^XA@r?|n}{^UT_{YbQ^hJbl`<{r25& zo2|F5G`|_dR<2n2*T4U5&YU@`R9uIn{2Y_K?fceNF%{Nc?u-K={5-Z0QLZ~nZ&p~3g;_#Tc( z509k@H9Q7fjXqY00A@dT{Pj+2cD!Cu)eYaa;lBIqyXBT!x^p+IdsK*_%LK!&KL zDB>tY;d~$I%ZT<6|Fv;?l@SVgBr*t7*mr?cD|GrmM+(fs7l1b5p(pDCNdpv#>$`vl zCu9W=)(DNfz{h%6lSuIMO7a03GLS*ZMx1Es5nw2yL?;Q{Z82;vD7@6l4hyWP#qm_u z8lmz#S*Og_$}%iP5AKojW2G#S@vSsQXm}zvK?px5e~5yeSEWsg@jTBEpe%~YXvVoB zbfZ9XvqHySB+?=bu~Z^UJQ)BYR5-g?7CkKol&$6#h^27q(NtH8!6}4lG>v%}rA&D4 zGO)}@Mwjf;UXZ5;wY2tigoqcG0fGW;%Ii?bCxFSu^Lvot2&WA|4ImNbh>Ao?lxRsk zFW1V?3z6i|IlMfPWYL?3F&uRWs|j_KCYb(4 zteQQHx21G_XtUuXnD8|$Z>VY%9oPU6lVTg%v89MkLozAN<&Y{{wK}vm0JS`d!?Xhj z@d31xyQ|D~oMSU4_%1XxHiX2T6vXStL}fu#D8&Z5Jg6fCnqz)g?tnD`n%RHk|E4IZ z$IG6axn@)cT2}o?GlR$kmvXC8oAj;)F>dKdn`c0uv`H3iY-kn7&Iz=_{0qYY+S%b5 zDrlr`J`n#$)gKP_q1L5oF_cxL*tQ_#=d;0z4MtL|x}-#9jvX)Zh~k?Dkw9-DNdfQ( z?w>bA4en!&g({M4ZF3;+_v(GM#yGrnFnaj7(%@QaL?Zy+sX|$?fu%6PPV!OALZgju zU|OLKJ7Tn>b`7Do+8v-t+_$5m; z$QUb3(EbE=C9qbe0JH~v5AC6|4z42Vk&4iCL+JocuZ=-d%0u|vctwhVK1vvncst&) zfC{P1c#KzSZa8OU04KnD71}n!#uf6p=NF6zNC~4Y?$q#~tmc!hPVp6FXK2S04PtiOVTZG4eSc4DjM3lUf5x}Y{Nq(uIrm$)O`0_6q|bcz z%+t@X>w7l=jX2^kICA4nH~!0KPZ&|wP_Nf-zTxJbcG!`xV%4fu2Os)jn0>3CiK6Jz z-(K?JgFigx#C^}~*(ZGV#L>bu$A9|xAAJ8@r}0Z%jbUH!lHv&|DA|Q;Z}?)(>NTU! z6Sg0o`@>UC{v3bisi&Sk=GbFiUHam`iA6g&S_w?LnPXET~_uh9eydF1h z+%JCii;o;~$Xm4k@k)f)D$t}pES(pSHH z>1CI`ehVCZe;6H!;U#r)wN%L$N0Y!2O ziC)vMJZoWuCYN4N)*5~Z0}NY@l{pvpWl4}EX%Oh3<`J?nxeSdVE5&*UOvMu}%cJ#( zWObR9opzQcCHw%$>FKLQ^{`;}8w#pLu!H6htlra}-hfIgSg}Gg>~rOZb`I+56n2Fz z+{9yahaDm{xX_&sRvijfA!N1=Mp9v}#OR z3}V=INR=h_io0X5jnJ6VMa@EAuWO)m=gyF2jQaPI0n3xc2ung zTM71@re)wG>mORD)odbd02dpm9SC=--O8ZvGTz3o0))6fREgXRKhZjGnmR0tzCbA`5`zlo9p; zLaGFVF+5BKD^xp0z|qw8a|TXwY)(-Sdsy0;1IgVkp^I)8aVcQO&d|nBOq&VSk$y3e z%%%|*Bzkmdrs%=28>gb@ z$Cn{VRiO_!ioiEhIFTR@>OEnM0-#uRTzcqhhwwoEWqwp8AZj|$% ze_?!YUr00#rX7fN!klAz5&!@Y07*naRK8K%zREZ<8us0AZCmuiYn4?)dd0pEU@7m(Z|8vDVX1rrvu&;^;SFKvT%?{fR4GoRn&-7{29)0l9 zdc6i8KIwBOUHQj9jQ&hdPtVg&JT+<3#C6T!4?XwCF|XThpga|KI^1oG@|1 z$f(#b*hdioU7C1gckQ)aXa*3>pRc)k%x1ao?)$dgW}7FUdh(!;96T_VA~bB{$B&=) z^t@Uvew{-UdGXC}f9pSg{huT5?BDMA>rOlDwEm~cFXqmBcK5w@FDk)|H?={l-ha=1 zTW+!CTZ4Vjk+$1u`!VnSzn=WB=biJz>bGW{J?qCm{mJ^A6|}}*Z@+VNYrHAg_t9gI zx&6*N*5`0P`O%M#`{XBS5nIrL-X_rLzoegl%C;H6KApd^^p)TI_P4LTwlrt&u!@LO zmZx2!F?mU(DaOCzo*=BL!sqfjoNbB4SGHS#ii%pzN8yr6SOEScEiuXwc^wtn!7MZ7 zvD$FvwVQcav>T16)`(HnK`>QZb~*r`GMMUMQ5%LnO_4c0!Jf@E3OQ={z1x1q@7YmC_xoNe~t&YwA^uRBZguh=*ZvO?w5FYh);J4VM+-grXD& znuM1ZafB?#JZl2NO5hf^^Dqo*4cKvt@!}G&WB>>(Z6|<>;}}|rxlX7bl4lrxi)+v= z(S3_y9|b9sD5{f%8j2XJkdSg&ps zhr}qMZnqO+td^Y?EG7K720##Lu8n$#qA0RRintADfP_elNR=5Wr7HxrnBL8WDI_w8 zy^`2vt9lYHhi_y_hOu1~8qx$KY;`Joe-)H#=UQ6XCEk($8wy{00XubdEAFYly;N49 z&JaLlX*jGUSM!sgp_TjX3Otc;9b+2uh(V&Rqj*ZD_zB|!#uvj3RKdNfTkQo;2WnJe z0aIbLl&No{x1NXf0wV&|+SN=Hg!!rk7s3KNY{zPzSxQ6oHJnAI3+NRcXptxiSh=%1 zDQLSNI%c42Euz0c!-r82M1V&*o~2LR+6|ElJg`*Ch|n&owAc)WqcUvxGs@wBNMtI zQW(q0$iO~jD@8_(8+Hof;&a#F06H@4wg0`mAFlsG=5rFM0XpZ+++AesaN&;q|Q*>xeK6 zO$|9!hR(ik_F*46Y*=elUhJ~-``~9x99&_Bjr^7*RtGvbQ42A_TJJ%CNCXIOm!nD2lCKk(S&kBzt%!tOUP(5Z3?t7j;M9KFN8 z{`F3W`S^s_bK?_+@80>>I|25+1x_A3WA{Jsz=*r=n(NLx?-b_@`_>)s&RBh5^u{Zh z5v@Vd6Wz6^qmpB~7r_@RJBRSxhFYF$`%2XkiL-g&Wr$Rj0B^8!;4Co}*+r6qYQ}9GbB?D^$cV zYh_b?i4!)9?aKhhey>;7lUACw3s|2QHKAh4<925+o}V1Ah{H1@`cikOlorgh|A=G; zB-TwR@{5%?<0f!pbHpNnU%4zHZAGv-cxf#kB)J(^I68VbX~&WqwPkU+RRLD)YLU|z z;*|hCGYsu;4FQQ0$`;{u1YQ6xeMuF~iu_+vte{pX0Oa`;@}x(J82#Kwuy#ixoJh35 zWRs5_08w}xQYiy~%`8>OD}|l=u)nlZc!A_{AL|*`6{DdAfM%B|42XDv@KDQ;1c@+K z8HQfk@lXm)W~?8AHZ2|l3Jge+vZG8>SOzGPi4jzr0xPA6dyARpY=3vK0Lg*m-a>&X zlOuHXBHA(?g_EpdtsT>)ai5slMkqj#0AXF>!i4VO8olgs1B|)j^mJDBTR0AG782Tq z8JOwFMIFL1>sVlD_zq2U52dy#iqBGXsOXL5dPKj)q%-m~yU!vQ8JUHt)FvT7@l3~X zBtR2)16xhVVBw*4V5YSikz z^$>4xO5Q54hr&3}GS?Mj&;^f#B$zDCI;%2AGclAd%7{A&Gj|KS6Y}oiYc>_wMWq7J zM$Ih!h1{@_r-MPgOk|}%!|hHA3z=FNkDnMS4{P4hm=N_;g*-q z|9}U2{`~oC)~s2wc**HsKi&QH(%=2gVZMzv-0)9V{i%O#KcK@!ix&fwx#9ZjH`>rx z@h)Dx`1sEpZx64#XJT)SI|<7t!)?{dl}VDo@3+7G?flMfFaGV{@BVwM)pB}x7hQA_ ze5Psw1}8A;vW2jdhnYg&U>n{jZU%7oLR*dRv0k{Jq2`bSF|)oqE1}I@%N=*#ao`~b zIn1}`o_qH9_rnJ|ozAhxc0EYaG$F{$oSo(LdGC!0*?VEp^wjlJ5Sw=bUT)xoTx~KXjv)Rok}O2S&HX zoG0guK8FzV&Dyw2%cK_1@mT4dF47xOk_jv|CSr0UxX@shS`{MB-`X7Zl8sS(+=N z0BIEGQjL0}ueYZbhfIbkOGj$w5#3Ab zaM+RH5-*#05azIrG#_9I6Q;)_y2q&&6{yV*#$8yZ*9_fON1WRewd<(1fHq^BXU~R% zeD;(~lHQ^LT4vCktvp+wY?rI>Zjcg-(UuP6nnj^0IZJ1Y`6lRtwOT~kRVvx$&=`h$ z^RmF2P3AoD5|zLrr5e#L0R9ZKVousXqSemYE%?07Q(dBw3s!Q#wPbk;=qv~#bLQq^ z4EQdnkitW2H^oAGB}s*NMjlVn?9RL^AC-QwV#X)!TFtkoJI9*VWy5OjYv!>;VWm>y z+Qs8|Eq;L_c#7nEJWBC-^rM8i-DabbUe;Ac!5|o)S^vc>)r>x$ec)*|BD59iGl@8D z<%vs6bD+{-`@@`IXSI#@hlGNKDcx|3A;KgDQQV9kJ-$yQ4cIw4aYu24DBowFo7_m% zU>LA;V;~1cg(ZJ?V|cO)N4T(w8;?kLwkFKM2`Q}EM%N07`=}z*Mx~4jVN^r)zBF$s zUo?7ajm9{w!@>T1b{j@JfY;b_DE5lQTGU+7X)_veq+LR@FEU&F zQ4-d)gSIj#j7>}K0W>5bd8A~KeJxGn8!{I^&gg`zi=fE8q*Jz97~38iN{0qJa2Ab5 zef;>|-f>Y-OT#$x15`uLu@=oIHyxrhko~!#WNMpi=i$m$Yw$zc#p{(hqB;%neRpCA zK8FTaR*~r8ez&Rl%l5Vrr$nzKiDlQ3^v=Z>U$lJ1az5%uk2&TKfBYlAUb=KCOmEYs zPdo4Y^S0S`o8yi zJpAZGJHL15QB!J{xHhJ6T2F89760do-S^m?|9R>cPyO2+V=xX!>=N+SJ+tq5F&tw zp@$!GuL1J`hG;Yz(7^%o{pnAC;`ia5z4v2@A~`0k378ewb$C6Htb>Z%{JS2 zpMBpk;~ncN>HTN6pa0_L%a$(-gK+8w8*IP*4*R@+Z)|X0-q>Mc_Pw)TSn$FN3l_j9 zp`BsPu={SiqsPX&0r}dsYmfiTzrcq#-e{wP4?g&vGv4_+r;4p{%dPt#Fh*;@1A6}h z_uqH_ebCRLV@#er1zO{P{SVlDv(3AlSN?5#$n!5e?^Yu}{J{@C@{x}SitWMI+wFE$ zFx+h@p3&(%^w5J3KK$^?<*WJ!`T;FXoH$|o?Y7%}*Y{1BIF6ija7sy$3a#5ov26KD zKysZHh75x+?Cot#+F*jEBk@iPUk9xrWIcL;uA%;!%wSO<5$lz@&2Bz7RBdwGD;F7QGl zjm{_PmSFxh30okkh?~x%T2ZrE4O>Cg09M|j%bzo>bYZADqKg%!b|SYJK@g>{IQC$Q zJPg3%38|nMjWB9{3eC{8vz8(vmCnjkMljz8d8)D`LzgBP8e^2jf+j#yHM|<9p+%=q zN}{(H!cdjE85vt6Ns^4p%L_o0skOz7P*ewiX6&UMnP$>26C`$#3=O)kyN3bZWJM4g zC!)M0v$javgEpi0*~MJYnxmuO>G5{?2Knkf|% z5MCQw9pHT3~9;(lW05LZuR^QIrBKJXOZ*FrwB`C^4@JGi2bGQ7uW+ z)<6awC`r(0E!gsJ4M{ zH?)-$%tme&7X5fWk{2j4%?P|CUYuX%a0onET*^{jo$t3B6UY})&^ihMGtmNYFGk#l zYkW*UC)+G1(1^+Ck|1o!>kMOIhl>HvtQv(H|Z;Y&ukyb3joSFW`{%!+wq zDhb8s5HG@0X@YDwKlHRPL{&lMBy{!#YlWvN)#LkUtlTbAc=STJ;TWjKN43=s^MOv_ zA%{hIWv#9nJu<=&at+O+Wh$@?A5J0;>KVZ}!J39tJ3%c%k1BdR6RKnBBz~TAQa;Aq zYrzgR5{-I{fHW_xO@e$N=NZ>(a1kg%?cz%>8S}5TTJ5tZe)f#7pWfHoJ8%B{ z@60;umRoNb^OHv%apadz`|_-_zjyl`w^!evHf`EfSNsur*wM!xv!s&ChHd}-_P_j+ z%j%7K7s#&1<}e>TX-6G-Fna7qkN)bHzA*J|Q{Y*j`^?-+FS>l;!bPL0w1C()oHlj(W*hNB(8oj= z^0UJT2Ff5JpDZK*qP2iRx?2J0L?v099MfndqJgK=8iHBb^HBv_VNqL3s7aCcB#c%* z1?Ch@JTSQb1_JUj{vcM2WUMO@KC0HL~m^e(@ zMJGu+?F`GQ167ibD=ri?PFOiW<1k=lT|8V#LU9z)$r3-y3zDKNunb&BWIF7Vm5ASI z5oNCwX`TVL&?3q0MC$pLg+5A`zmGQ zB==z{Q zVJuvci7w}reO45kUt{EsIb^mHJ!CU!EA;Ks)AS5_o-5Q47IQeVfw{oy1KWL^xx~S^ z%Lq1=Bdu}#KE?AWy=8N21e!9Lh0*KP2rklGjUOz9>SyG@V0WWQ`VtW7~Ezv2AB!+qP}nwmnHEwryJz+jjE$ zU%YK^x;MA)IaPJO5+}5tkw#oE{{0x9xnYLIDW+7)()oj8E3)>Q%cZ&Ry76Iys!l2{ zXSwVfp+gi-ZgzuP~5KfA&xYTKT7}S`=wXl zdCeGj+?Ll?tGVJiZu2Gp8oi9~SF+WS^ir68<@A{wvs} zY=PWF=S}xTUVR)bzB#tpQElEgo1gnt78{`B^JJBA*bY#Jz|j4;5Mi(9GB5TY^5wsL zflLO`insU2=FWF*KHuAv|HtuZyPGdN5aq2m*zv(t397(H@q_=6@w9@oMX@a0;eV&# zJ6y1~!t9$ijpwSD%_n*sJ5DSH{1%6Uh&(>JSdZ|nfPR;md;vne%Z`h`czU|CS5u3< zj>p*M+-vT$-7h|`b0RBGdv5?ZFyMF_P$ECEo>P6&(w_oP|Fdn{*z?oNF zMcI^n-1e$Me2h&Qa0(epnBb3ALyszj0D2#=2j`_lg))=H1Tldsdz23~q96c~t02X! zeQ)UY3@X;>8uty$=D%iwQ~|?{QxAUvo2{fw@#-BHWck}N?aFpvf1>I#<*}<8Qp=E( z5^aPgHFn}2SwR`ISZW9ga%ve}i@DjqMMoS>#$+^U3B_!`X;G*cx!N6yJZYRKHJKxX ziUV0GX};nYjJmS$Z$wuT(I7u_Zo$i|6MiGr#HOTU1Luh)fWajz1il^{uuwaYhFR~G zzmL`;$m41GsCk;?xPibYGI$6r0U*ssmhOdyQ2?2U%?qk$3sV-+Jv4E73ggoZxujVx z;|$0xE#ev>i8-iFs1JC@(FyuiO-;fHRza?!GmZbF z1l0yYaIas4a41tO;H9K=q@oqXD|=JFI^~Dvajp$B|4VzxJ=YhrRJ=xSU^0M5ywjPq zZCYJL?fY-2<_dRkuJ3kK#%&c6s|YYe6;c47vxc(4jdXiTEWw{XvSQ$Czqhf==v{W3 zm;^%oKSA`*48YV<`;@mp^*NF$+9*9yLU>&oeqb5^~skv2&A? zC4F2QF{scciSPw$A|NHA943wD-+y)*Bj$Yh`JSMWfU5NQ;Msv#YXz{OZkkv1Ubcd< z>{hqkg3DcoqtI2SAUAXUyHN=sEF=WI;Xd@Vnk)eDTXe=67SoqG5yY#8NqWH8)!V!O z(s|XB?UB5>RH@9dW&kRfApILMjsr+<=XE8Ml)wF~EL&KFPOIq@zJ50&AimYQ_G1$K zMBl)^50^{^utm;PtzOiqUChPf!O%T(6Nbq_TbKbL695#8Ut??^F7FiJEY#y^S-mQ3 zSb*~Z2Ox`mQX?Y zpq2UufJ8+}F%*W(F@OjQqeyv`l5v@*tNyf3O=)@OCnL4JeDAdJU0!xSYc-mgP4hnV z%zkvqIHSJJXeKw(-YHl-j;J5)n1mt7R>C!eTU>tRl~G{}GXJAf^?m@w>k^iK@oI{-qYgR;*?Z*2J%bMuq$0 zVg2_v`V?#U9GRpLfh56QFs~sB^kRLLeML zwH_xi(jgO;I;k+?afT0qm?o=c`cy>M3O8cwi6=mjWmQ+l2~AMm-=+IF4Q~z60UU}Z z;75%rBN$FZXODt{`KZ7$KXwHE5Qk`vNEOMev`NHyF!*JBg{iC_stOksjbu>dUJ~uGf znO!5Wt;f9b0FcZ-SD=n66qyo5!nchOH3A~m+9KlaL(K$ z9&u?3$33F&$uGfzs=GX#LSxoDH8^gF2WfB7nQ?l{oy$wkcFMcRbO7;GpO?%i?#Z68 zahI%x0)4gF#HE1Y=I`})qLJ#sKh-tvlp_s&5JQOcG&yp~fx~$sh9dr)qhlkD@;^Na zcq)kF<>%@<&Gal3Q*YPw-WmY*_jdx6OM>LBnV#fo$KkQNP{RIbWGwu0-x~)BRDCF# zHtTKf`T~$klRG`rb=|oh!p-dtwK`W1yYsS`jITDD0e~uh04)cDUQ6ZbI`8ff@Z5XR ze@y&e3;5N7_qJT?_cV;DSG{@>0KVh@^CjMWr(gTM`n~gMc9&6A+i`vnFW~o-s_w0K zx~#4rTKl(0if2^4Mz56Zq-3owdDW=L^qH<7Q1Oa0f^qm^o0)6ToWtdMs~;zRI$$ZNIn{ zSTp}vP1pPGys*n~+ilu*-}HUicH0?)z%;q`y6V*n-UOx%9nb3QB=meu%ySdMLI>=! z@Vl$m*VnE8ykM<5orWi}?Rz|ZGt&W**Djayv0$_LY#w~VX)c#D0@q=}KJbpf)yHHy zUAXpU#!5iF*9BecU%hS|2#8NG@i9R4rt_!c=q4zA*XaPZynq<0V}rpSk?@@FDg?8$&bJz3n4X4{>GQJQm z@NM!G4k#}^J_iPcxNTj&-WYhn{6L`4z4Z{9C6dGg zlU(|n4R*fkgzOXtp-Y9#k?bHW!iuVEU+dgMPCHz^a!iV=?{`4o6HU*f3T+W5tZ_hA z#YhYstvJ^qR!JX3o`Gd4DSs11L&2j{lJX24&5XlfCRoM#WK%-H1x_rIlJ^l>uZ9}@ zne3|tHHF~X`h9FbP*0JW1jvDX!^vUKRQo(bm?O$#zkvP4tWK@*vLZ~RSuYgWnGd;5 zExJT02t;wK&`XZcJmgood z71wHSAZ;f`v&Bej9;GW(qOr52k5E)9)L<{>O5n+0KqzgjMVC=Ao@?2tU!rqCSC@&%`3u#qb#rs6>|rd71QwOU6CM; zD-&t)XYYmRv$aCzCuUx-$RN&`hZQR+cbZCUjEii+z>}S$FG`b%*qO#09?3&4D81QY z*=ph8WFx#T%}LJ;vEeZBd8j<_;D z5G34%yOulb=0^mWgDIoi5$zwfb8j6~-i0eO;4iM6pva?Y8usx`-eTA7w zBjmu}Pq|i$S{xO1*uy&+yG(V7on*}DVM!|#huV>nTuu{^@5e|yA>dOf8`MqI82 z+4@q&{3aBMRx=(P=H~uviK0wpUX2It z^8~gLVD7^Q+rzVIro4P-=8A|2a2k-+h+``ST6bW!HQ3EN|;T3Gg1a0p#a;z}Y;I4Y&fh10;^mM31tb*IB8N z0rL{P!YfsI9!M)h09*k3ZaXk2B%b@0BhWw)kp+i14(F7;M0myXqo*icc!EOu!dH@Nb zbB|foL$LY09szalyba0yzp+G0cPPHR2m{OWfivuxV+8|zqbyR={5 z&@~7O?FVD!00v>Y1ekJ8G<9*G=mJ*gaPi@Yp<33Ft;kvC4@*M`M42;AX#0O)| z-|=o^)o|j9s7n}!ob$A(IW@{e8N(S@M2P5Dsf?W`=^;E!_^ zX7I3;#WSo-+oH@U)roQZTcY(h$N$0q0gCU>>r7M!hN$k8)&xD(S3J zys{!grWv57uo~wLiqEORg8RLl2E${1j%AwWv$(D}K9+=J4Ogf+5JlNEQ`VJ0Iu(Xv zOe+JYDuI@-=p^uH>@}rBrcQeDyu6Q*u>@~QBW#vzj@6K*Ku;eJ%nCPb)!brs#f=Gp ze=U|n>w2+#m>h3S_*bvhOjhGcZb1B;y0;ttpr>>Q%cblhRSJDoIUrh>Rqn&WWAL+) ztS*oeo=CAs^;Url5mGp5fJTIdtxv(qSO{1wgK9bke^?V;%fjkX4h$}@Bxf&edW7u2 z#pC=j&E*%aDvI&c9&Cr6`=ZVX0BWa?ES zq`ByrH!Q8l94)biFbb+_gxTZPz|RBA2D<2IeQ;&o5W^V_mX%yk97v|F1s^~vz8#o2x*MLe_^)M3u+>n79lwQYae%(-c0g|&@8^rzb9OxDZTAbX21g$@ zhJWAfqRR6d{=5Nr&35coXj`vG>G}vrwx@N54y3(rPxfG@7=E{bkgtpZHJi4r_`Q%w z>+9>#uNn!a7xkkApp?)VpaBttuMS}?EiIi;5jRbXa%s^mR!@IAzhA>+D}8Fg9iH8L zqa`Kue2-Ku{IPHYf_tBvYiqRHVQ@avwC&!C*2#Q6LhR*pIP3Ll3G05o1G>dy3E+{= z%LRnOKL918(d@tJ0XiN$P&3ts4Dcry9Yk={-r3tpes9l&O#xe;-@7GHM8F?;&hL=t zxMyTiaY5@XZ$QT?ok9O%?~m{I@|NcVf!C>_M;-(sj*UEQbLd@NNQ*ef_qVtnm6lV; z8nVZDX$9@qJ}d)}IAkARj>K+h`aKk_n%_bRonbJT@+DwO1qM_bOpC|jvtSUA^bL_p z#F+535^Ww#pjR0TFr-QgRicsCm%7b0!FF1x+A*YWPB02A;Sv+U6%9h704Ip-A!1j5 z3GJqBCYIl%ZWUanZc5WPB%)Duu?C@NfoX;ZItD0#qr-_)*mNg|^U5D0K&?!Zj7C~h z2~99QXe@+UvJQaVNkx&+p6f$hY?9MbiT1B7vwDv2Kdy8cS+b>tq!MZbie}|zG?huP zNEacGJ%P-^ryRg84OtEaHH9lSic|6Am*MGFd+s-gdG=M%IXzYSR#1_Poq(B^cQ
    B^UaTUNW*- z!59kp0KqktnIYMOXsv~xuDWOJ655V`wv@UVkh<*H#TgVu1Wrw%irsL)p44;=`DY74 zgxq!s`5JVD4X=hsR!7i1jvCx=eHd$+3~rAgF-Meno&J$_3g~y06Z)qut5x;41qcCG zjQB{zJ9C4Uah~wn8YSF~O`O1(ND$bz`uyHxxIvR;j)56e$*5GW^E!d0$|+cETE-$J zCZ;TDe1^4H7AF#Xun|Ub3fOWes}%V=xzi2rs>1rOf%lY9*OueJ&dfxVrQB>&09dfN zUn_`(e!POa779%mTGwZElh+gjs!tra4o z(mmzme@zj55)H3h_H5dT@w|wqDfhU;jCx+Om`Ww$ydE^p`n{Q!%x)k@cq=&LlJs%BR*uB{1p0e+Ac#89$XldDVkXcXZ#AteyvFp5{X9xOWOan0J`Y0;Wn;g z8>|g+NCy-(h*eX37C6`BFf1}=kqs6(WL-(k>PAK$b!knO9gM?)d-Bx3Wx@kaHSX5MIymGG zXGmiFC=ddc0OH7q0+Q`gM6xj|<9dqd4b*AjR#ZHkNLA_d>GVXV3HM@Z!=7QKNYv^?)J@P*`J9Zx771n(Zbnt^&cPxuxE_8m^nVd4vx?}c3%-F3^LVZ2Eq91%w|%xhFsrFa^*V6p?r9gpzyFtA3?X|>iOqh2$)AGZR7 z_FFkHQc@kS(Q!9o!9I7KBH%IZ0^D)G=XLXS%KNHl|0lr3+8U{S*I5}jEXK13rI+ub zG}m4T>TA zERN}!QGO*_NQ8HLZnj-VrA}ovfbf2ljsz^ID$n<%@^Q7Yc@nUDJ2=PjJ}*JoEGQBP zv_CqP!3(e!ITVuZ{Xns!ZUEgmHLd?P?w4PBUb-Vvpstp=Mq0|JoMt;Mm;$dKQhnbS z|Ly{i(zaYqZ}&$)OJL`Dmx?l`_1n*z_#Otzf`k9`|9S8B1&$K>`%Gg0^LU8G=uS1y z8x|zVAQF$md&_)33IIh6=yg7s`FhCz*}7k5pnnZ5=$@Y8v5Yzg#HtXDi}icIdwZ|L zW?j%J(|>RzcK5pD`w+q61h2Hir7wGUP^j&?uhP7_^?2{&-FJNdc?t-eSCCe1tA2wW z5i5Lxyad&yZLmO1Z}&-RbAx^B5dKr^L{??RK_=!%((QZfLWa(+Kfx5iWy0VTZe_5Y zLv08f8sPlMg0rDujG3lg;q9~k-HX{zh$CB+@$nln6UP~!Mr=}ex>Sv45jx|Qr0c_d z4b?cQ|D-*mq3mZ)Tk|vImnDQqweA$x2JD4tVr3rrFCbuD7#Ce7=kg|0t zw=cA(17$ZIazjGY@{|Wh8mw>jh|lmbq>3CFTQXFcOYh<1mG<@KIx$Ll2R$e)x-uo( z;#(sp3L3`m`|-FG*$7Ro7B2a3EgM=xWg6>Ii{6%&RVUT?i&)vHeJYD(CmnEyR-L;- zGsTF^J}h=rf`?MUrDMoS{V2)>5>l27g}8K4J-m)orC#D-ad>>@5ygKUuG>*fyu2ob zp-1f4DavPIDMmD~#egRAfj_|h!Y=5j>IgjQN(#1>DhMtau`R%hNQXZ7albhI7S&67 z!Z46BarK(SU|*=ILcvTbb-mgR5QZorRQ5Qz�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%0Diee6c2q@pk*C~|K0|R{d2x^&h(e3XJ72y*!!u+ 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�jqW_A3~vbIimh7|_W_hJ5{jZ2E=wW5gxZh< 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%0A%B22tt+HQjmy)nohf6*)R{y7?_nP_ z^!xUc!N;&+%^1@wx(E-kh=a1ofXJlUNl%Z^T4?g*o}j5tV6 z<@mvfk%MFoBRUkc@isvQh4VsH6jAeAHrIYt7-{c(@Bx3bd?IMv+ks&3+;@DTfxG8laAc z3$x~FdPPNho*}}Nj+}uZ**j5C*N;5iFiab1h82X5dd3F0@4K!OmL0ggl~HX=WnDce z3liUjI<|(wR#lnosYnJx0taej>L&4gX_l1&v~Lh+T^I!#am#V%kexY_M3~qaC~h@k z45J~DJ1^5DNr#fmaR>nZ7h-@WW_e>y2HeQkJP&T@8_=Gp>5Pb%Y+w;*P*ttpq2h@LO`uy^q?n$UQ^GslRtb|u_0p`VanI`he4*Z8`={ybKmXFM207H z^WA;%T=QL)#lvSKM%G7<&(u>_?KcCI`C1qQ8{kER2KFw92g|x_UEzgD4R4vOu zh^1E@WNbI~Ba<>?eDwG$Oz?yMIbj%6XX0)Ple9F6(*vS)gm0OK1-OWk*r755ij-9( z86MjaG0V`X#@!NGN#^yXXZdV9OVz>ArUL}I68w*ndfNIFh>Iiy%|>)6G|ocrN(cJFCh_vTvzX5_ht9s*BM>ieHl*6~r-n47bBnySTd*VQ;F zt-h%+eB4ma@k@Q>gGI!^w^~QF%sOIPeG7Wx8e0mvLZ;MPmeLM`j$9!-ZQjIOeXeW& z`>*0R-tb>vzwRsleDUSZ{&uod%0A-Q1&u=*dV7lgK`a@$`pnG3CR!=8r(>WYYUISB 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

  2. >^gvzFU7{+~?%{Mn#DivNuRh88IVbDuP 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≠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 SLe4gEJ5tex^@c*7 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

FPZ$zrwFv>*QRmy?5sYMux%kKle; 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 QB7zjODFuIccd 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׋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�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 z z$i4Y2^rm!$mClGS%yER0jwZ;y6-SWHL1+_@Z=S6PN-50}3rUyQLr|m$wM}4ud6xC( zv)RQdY|zAYCB$mruf}lPH$w#IP z9%ttnDe5gTX+&prE)tP}(KhB~9Lu0cqoksWB$?0^BT;PPM`>AVvM5lXB*P>M5&v4# zKvBB$$$T(!XLHRmTB}_#iOr^|rs=0Y`|0EN-hUWIf$MMd`(ogq934dr9j~-ChMG=i zlA>=&(+p3 zZgTWXxB#*J2uu`M568AKQ^*iSRaYX{)|Q|$SEPWS;{>AJ5ZSpzY61KcY>h>dyS_S> zKQGeMOBbtrX7R6cIb6-jXHJo?ISmUKuEn`SOx4PCEtJjz0}s5B8+*3$Hz-gXN-`kL5tMG|W+PVf^XiQBvJ^3L8( zlwU^w;MX54YQ5=f7!Ez#2OHI0-~7WzAFZ@|E9={ClplZk_~xcj<&3FW4DH8JJerQ9 zIMkZ3DR?|rq6&&*Uwi8-mCHsEwo=>vO^IXN$=I$hj?fzyv%t9LrnUk9b+o2Q921%pS z9?zyZ>O*;JYkx2uIPTz=_un&Eh81-mqgw=FfLgh4u_*vnQL{sc)&n7NszMv({_Xhv#Qb@Oau7SNdBu@ zdXOeR{nwwK?_CHSf(Ep#I)V%4Tpm~&-VBC;lBUy-UkeFOYW+w79(~9lcZS`M~K)^QsB`Uig-44V0gM^ zgfKAh6*$@tLr#z@MwC?FdUX~T`a^ZS$!c(j%>j45U zOc2nRr%`1Vv1+Q4*dm}u2%IwwQLzG z<{HZOTEEq@P9K~&!^!#KVJyxKwF$OW5UMDN5;qB}jHj!u{)*AGUL>GjJYGCrJf8RY zu5xqLpG`9U$!lIg-Tk@8qA>DW{bO}KC0f^4qLYlxf7lFz?i`+(lFTFF-hTdjKA*(? z_x1RKWZdWfx>>R+2jZnxTif%4kz0&0ga>F7p0W^~JN#Tw6r)&hn~Ycu@oOnIN?85hj^q=34yt zN0;c?2d@dm^1D7GKlF3ln#-`0z6wOC&nBI#=M=!=QziA8i!x-K<+Jh7^{497hpXY? zJ4w|R8^`74z%w;A$&(!8X%-_+jAEoDtDG>bSY|q(gP$)MRJYqiViE@xGsIw)+jUTVS0apQf0AM*1w8mpDu^vOKuEB19Gv z_`HG;m!%yzjy(k*TG#c--04UP`1xL#z~zJ37eu+gv2k>CCP|W}E3%4=?HGr^U&Dy1 zSkLvdByX9md!PPR){Nct-OJfnVlf&4rI;557W*JDb*|}Z!%{U>3L}r;6rfhc@f7E@;^yXWsacNAQE7bQ4schdjIJB z+~!z_w^>8cy`*9)zQ58lR4dM%m3|}5Qa|vSl9hQKc2JpAL7c;MIJ2N)Qo`4X*^@@I zv9Y(#$c$!+f>h-x6?zF4A0oOfFYpyiIyliuRF2Q*IjQQyA}me>8O)Iz5IZ96nQgT? zaPM)L&=ebZQSLc81Ppc&`po&sZSt-By?Z@xGcR%v0&Hc^S-+C29ba{3%8M$eK z2PT?ftZ!^hCU#XauI(Qj-2VDszWJ{|{NHT*?3;h_-S1!gR1|rp;9NiQ9N+WZTetQ$ z*6;k=4}X7h^jN~kld~N=jK;e=U4aum`rrs+Q9)!ggeWi5oQM6#QY;F0uAH2^!4K|b z3H#~!y^y!Md;7A&ipVK_{d z)fqK%tb&5e^TfR%IvoK3@VJA*dQS!vbk5(1u&9N3i6aA2@Z>AOOj7J;9J zKHeXLcZy|<4DE&iCCLpiWOCnr@5RCF{N410%7eWJ`91W zq6);mz%&ZhLV~A*1{#xlIbu6Yh)M#AkYk0asMws%qcEI~$7fFoWC83r-euV$%aSmR z!w7*^ig=y|CC`R=^4?%D8ICbO7sZAoicxs-;rm$>!5mKR2`z>m-M_D>dNa?@h6A(R ztQrm1o(H1=sGfW_b?`qt}jhZhm3DMeNwR!Gv6Q`wBB zqtde{^8(b$%!{K$mn1~QuBa@@L>^IJI7aZjh}E?;PFuZJ=_S5B7eG7(T9%uNECzPs z&*Gy;j~JP)*y6qSetY}i_A7VpHd>AI;n{3HRWMJ*i=s#gf<2sm9DJfRI=aYpSNg8) zI&(Wou_D;>W)jGMk*}}!yWM_~)9?P_1Ho!g!KiRgUH4L!QktV=Ls8qhs7ZpvC1uiV zwUq;ni{(TtM(1aq>-nBNpO3Yc)$F#Yf(?R16mqewX7l0J`VCdH#-kz2ib4DSV@ zz+s&x>|RddL_x&TXiWbyaT=Eq>=OvzEBrFy|$TD55I5)AAEF%6x4*G*MAHsL=Or_|C zg$)O3q6^HUKfK>r>u?Rtu8RGG8|`lM$&<&Ui-Fi_cXcCG(hrvFo%{Wg$-!tV98wKw#Wp1BGtFb5h6ZeDt%Aqq77Y5Jmu{ znQ|NhqL`L(31gvI8C)Kk2gwI7LjvbCMTS6-6<(G(Ns7WO0{4ikTBb$E)#>ReUs9SP zBR(AL9VXM;*6?f^rZK1`Q8ui0OI~ThN>fRsFsf9sl$(GeMt>6gA#6?nLBci|SQg)Q z-MJ$)bk0z2+}vYYW;u2Wfyt;+BfQMAtbp6hFakxYj|i|mS7w+zrID$C>33HJMT7;$ zu0Gq&vUoCK;UlslHd;-o0C^T$-IXAYvnU&nr+HCI0_`1nnf60xJoqQ^GI{ zavl|AuJBx(XTI+e1|V9|HBe7UluM?{fLrn&9cf zzOk&(qyn)n<~sgejn#WICq>Qt2b*>HX_Iy*XTb-JyU zW^1*5uzJvJnZE56Wn6bTq*W}NQoq0AOy?J8gEYa8TJYG{);GZA06RAg=in;bymPz3 z>rX#@xcmC+Z+`V1eT)0m(_ix7eU!mu>|VlXGC!wMO2~~~Ll!jMvO1FV z0)pek9mx_1xVrk~A9+$sDw{gysOXwSiT843}pgmP}P{rOm*$EH41Z0 zxOWx8Rag0~&%s8(M^*(T9%0~ zcH?uI^Jgu%^yd+uKfjHx_RF<$spW=RUazjxriq`2wJt#r&uxF|Msp8&Hwqfm2tRcq zC&*x%a3T-k{?r+L{OJeN`5XdTem_>;**QIrfbzu3wMK?Qixn1E)fjrDcYG+;PsMPJNjwreBQ9ZlP|174tNSsX^J zNX*W`I0T91g)oTnByY8>C<%GOJyo;SBff+k^jFq5*0w(Q;KS)`rihX~nZnFMJb`Rm zzLRG$+3Te&!zVb;cO2iLSz0&Ls>)2jZAc!Fk;j{oj z7Q}4y>CqstA?SsL<*|VsqF7SNQ#T_d5SM^a0kaas3n?Uu2PQvGlcU3PXYQx5OP5i% z-Q8N-u-)1J_bO6>kI1A+T36!JC5gfcQtQmXJ?1bcx?vPm z4wDI?8coo31x~1qT%Kd;3NO=dz4O}cc0Y}sPDhvI0)i}SJsCW;a-^dPeGocZD7$4|}%M!R$K<+~+BT=V$+@foJyvO+V&sXM%X z@8Mgozx9Lf|HQW4f)3WVI}kiqDeXD-bTT%Y>Tq@*#IOi4W*Q_R#`u%j-M!iAtb0Bq z$tx`1&I^SR^_&%WK}H6+ii(h@o{}a0a&QS-z!c=f#o8$BipX+?Br0JPNUkPwtE+3U z*Wd=DAdF)Ox>FLWk(0|hokwWXkXMf5OC*}ZGg=H5;c6t2N4mvnugGR;q^@-i-g%>x z`G`V<7fBX%hAZao;lsx--MZrsC!;4v-ek7Y=_XUhy%-`HCl>P|p;tyTqG9gcI#5l+ z4g3dB9y?jMy1TjF?Rb;PY&4yY#-gFqvQ+S#(rV~d19nu6NyAgL%JUEgbD-+tqzJ?L zc+xV>0CdV^!W4zbvN5UtuAziemTIo8zV!8Xq?Pt;ZeLsux@$XnYeg2dDyQW#A3k~z z&u3KV=Yh{dluS;p5x9w_=4l#nytdlkd-JXB{R2)`XP%3ou^a2#cW$BDi4%8jvlZRY zRIHEAvnq*F-^-$a%@YnWB~ws%93J7}ku8jfLqLxz^j)+Kno3(ntG~vo8p2Xhw1B5s z0!!Lhnmf&8;eggvOqJ0*i|-R8?eY;Mk$- zP+3A{X%+^F=fb41Ipz)oJUS|~C@hmW4ZLVJ=ko%jT;s9ZCH4J03I&A7!SdiT^u6IA zg2g#Hyml@hEX^y2!Af0#Q1aB@j!R6Ow3Su3Y0KQvyv` z2A33>#6Yt(as{)LNJ0b15babE4CcCWfMlN+kQ4+(nIZIk#7Qd`I9nB&mc{eRI@dNB zYtk2;WA%#~MSAgyOfp6OR4t(~D00G0F99-^=o&R1G?6#*vo^&wBosx6=Rnif?_C~v z*DQt1wPNin>wi^+P`eFe-k7>%ypAa-4nbiEyfmh|D8UkLzi|+kNzN3vckev@_=)TK zlAzRVhhV}5QD!(0l+@(4qfehOStX-^l3?I4MudlFX)rc9Lz}JE`T04I*s45>2x%27 zA}gI@XPbm*>J{?^O`91z$Sw1g<&{2y9h(XR0cWdbXuJ* zJbKM$cVlBG&8oq0;zjAo+Ipwmfjbgq*|ZvL;(5cfvy&&QE3H%BavK6&?^ed%bb6i4Ct;5GhM$*Q2JVymlXRgfjoTd%))a&&rre8Ey|6vSChNs1{+;&eV$ zGzm=dY&H$R;c(p%hg1c!C1VNta2MCLqPC zt_zYtc$iCqN{p@QkEi@$x2+c(b448)5!fuc-QzeZ? zrV~&Hd9&Trbq!pXB#pt|*X%anlYt5a4`Di-#Zd$@2;PyRBM~LC&@tfUb#+~_?J>s| z98>slaC&}bG|c|yM$VXhVfzH z1J8-DAJQoHiVB=C(CZPw(LnAQ7&*iPG7@GWcn;V#(oH9F0;}p83|>$;NyCa{m~wY& zrvYN0A*BIPDQ@XCH`~0xW_c2%p`c0|tNmc^j?XVr4@5Xf(x?KL)U;Tx9M3KVnP&yM zWLZUTXuXEH*4|iO#pWJAjBMX`eU9e9t%6}86)=*b^00P_te{jl^C-e{e#zAKH+MLS zK0SOYvphjFB9Q`zH5O%UZdu|Do&#+m1Kkz&+PuQ{)jizM# zm zgi+mgf-RvUy|&fQ;%Iz%iBy_MaTBSkva!4U`1mL-(pIN+V{1DNqu>1cH&31(g45OP zwn~gsDGvE@7+U4-zWqvfv(M`iY;U7s%xCi=N5o0wnva=a8oOT7U)yaoOvj#q&II{+ z?^o~HL+AG1f$!L#e)4gvX~06Hc@*RxqtMoBgHgGS{zmMDSikZj0sZ3f;_>3~Tmt$E zxa~_PkiQ`N{G}ex!*4uGe=oDon0LkmG{t5mLqK)w)G8(cNsxjqpe+4IzVzQ$0-Ctg zbe%_L7UoZUNX$X#I)A^a~Gj)|&{tUX}g43@C zC;5_(E6Ts>+3hSI<+A0L6fZBs)6aaiT8!iw?jy#|pRcg~{Eq&@J$?;h@@i=Gf(vfZ ztt(U%U(#Y;@t``wr0|n+>cvyXn|kxXbnGXQkvVcjANFx9{D*KbcH(EKn_cKg6J`LZoIEd!-?!s(6;JiY!4?HL<_C3L|mj zZlfmWL@S@djK(w33nJy~pYyD=^?Dtn!`aOv2PA*O^F3x7qx(W^lnvHm5{CV%puU zi!(d)v1+L-D+tJG%&L_TY>&s6=a;9uJKIHxEx$A+%tp@T$w(1RaQMR@D)W+5=9Lsz zB}M2bfov)eT;qf@@1B@M8&}5 z3p7?k5rQu;H5HQA=jn7lr!oIkrtw^ss<+?xip(xlyq6KmF(@gP{v@M6pzVqo*5!s<3gKKuDYw2?XBb z$wgVFuibh5(T9)z?I+*g*j#z=@WY$8Hr{&ct51*4imYr|okkO)OG%csW~=jq@Bilh zy^A}y?;JlpDG@9sfAg(U&c~?kxq+5Uhi$c{<7Fg@Qm(`Z2iJoxmHJDwV<&Zk8* zwHMW?U^L04o4A;eD}g>;@#h@goZ3emk`{p%JC>}w$XMGLqp z5_yxndyf772pUS^x+k*8^Mnr+KFKqT2>O)7>1guHg2&Ip&r0P**r-&NRdD4zuYp(S zGDkp?EQ#h*Dhw-_CC^ph!=76>b2bjRG-mTetO^apphU!EYI!KTG;>$!WO{J`OkMqw ztyu!eaVfJf&-JPK(m*nJQpGIM!_XsOYiwz_A#epj3>apS(`8uFeU2hfgHxfdEQ;E# zc~(Af<*yShT|+(BWQkV?*NagwbzZwJRmRP-U=PN5s~D0RzB0ZG%0y&XW$Vl}*i({0 zU!=uxM>1EeE%lc$)fL2Cjg5_Iadv@Awlwj0Xu&Sx5o|(WK;>dFX%6cGTUf4EcUL%( zg_xizw|?=1UwO6=^P;A1iL8(ncs2;C9(M~(2SvWQv+Ku^ z0wQSXJcFmBtbiPN&0fpwHJq`Vda10)K@`k<=jO||d%fOhG|H14^h1*PjfSSHDu`Jg zB{Ii*jvxBrY(7d#Y&wz@Rnbie)Muj?Cv2J(u-9YXr6Hg}uC=h1*;J{ z_6$rmd^@-zR1MEUkyDsBDv%yIl?{3OV4K(Zk^(2eZFUTb$t}I1NydA>{Xn245;?${ zf$Wx>Jt%=L(}@t?7jDwB-wQ)7T%lmuCjdlu^<2vpvX1YC8gETk&brt ze@aIy9f=Z1LIBCZILu(CeN~sQ%&Ihz8Qw?e-WOTb)jd6f8Hn0n*l}`tva=&IBHp|2 zy7%4h8bfe#x*bK3!2M05I4A7~!!$e}pF6GtD^%dQ&_h}wifkUIX$nhN(G;?q!KkVx ziULelkr%ih&dcbuWjqyuiWZQUf)lGgnKa>=$DK#;ns`nU71!~7Cr~9dPNSlPNAN*Z zJjbyY7D$UENg%Unk@148>9yEPCgVBJv69G&Sha;)ZK9-coL+AXgJ8LspMj1KVviH~ zg=5c_^X=WOx}jxpST{^?p-%S>PM*Jb{O~JL1oOf#=kE6UmMSSFp9ICC-)l;|0PYS< zcoJo(JSfI>+{yXHa%L@TmllK`2n|e)7Zyn#_~5N!v&JxvbzKP}$99%rUG+M4cExQa z3LY~n*)&SrDD`rz^<+d9Mo0!@XZtS12jJ@DREAsr3T6ojl{0)xK+J6ct`#^!q9h8- z=^SfB5bm8J1ACs?+0y74?M@S1Ffa7`N&XAJjxoV+GvLdj2;CQ&_m}ln~Bi+=7 zz5YAzz6WdM@cAAxv!$Tu3veYtOl4ICsbDzp0WubR*A&~#B6wRwr`qv6tddb{3V z#~MTsMeyFiHuMHV?6_n5%gMZM7-fnUtSqw|Dh>I*No_}_*IB*nBCKxD;Ig=m(M;~{n$#!R) z#`RWBHZ(^@Hv}e15!f3e#VMkFko2s&q*c2Nb_@Y>~ek)%-HA_&p47Q{LJ4{j8s%c)4RW117 zL&E7yy7rYZ@iMB0d!!Fuf!X=hRVutQQxS389Q@)&Cik`B|BlxUhGjCu42eU&(QEFN zuiQBQ`@QJzduGMzd=;v_1cp~>#~bbSDxs=Qqpm5nU*nv)t|_I;mp6aa;ir04!&nV0 z0@<$c={NG-IMgL|4P>smuQ0_mkeQ}l!EsYny197Sl<&Hz^?E37ppi@J)$#ws$Lg$? z{1`X?yiVPcR7=&N{`(7bzG5w*UtWe@F=mj8$m>Y^^>uL7I_c%jyq0}_dF~q$&~H5L z<*br0oVgD73sMVBisP6JX%Ym8T>UV(u&e-+G&zKlq7O5&JII= z!7*v8sTw+`s`79+9Q1}|&Z?S{WXVr|{_fp(Hm_(W3PKNCFi3ZSofj$I@ME544OweN z0W~_GXP6YsK!b4DQ7t(-JbL=<@%iZN!w)}zyM+-Ic@5?vkg65T68tnFpX$&Y*oV zI(_u;GmeP|YxRT)LNzsJ5$t_EbE|hmaa{M z2u6{_akJ4`;(G!Fz5*>PqHd}ZgG3N8)HE_Oiwsi`rqLpb@mMUDNDv9DNx))xn(So2 z{qTZ7GIvBpUy)W(Ae5rWaU8apOOh~8VybYd%x8=G_Qvjy-#2^hobU`Nq9ia(o+O+b z*$1bQ7l4IOveG^s5#m-p4`PU5lRQtz97~$1HtLihV8cVlv*uG#;5N56G)=kKKfF9V zMsDa{hp!n%zdP92#G=@e$=x7c+DsT9JbE-aIxgY_0?US~&CW;g9@Gsu6QqPVtD4kN zq%;gO>^v97$>{R(^z=MQi~ev!lnqu;HD1PsxiIVJXZ~zbcn$@TDuqlw@O@5}mAa`8 z*4E#9m(%MflLdSioDD@$I<0n+#FO*$XkmGi3(%WFQJn4XojiXgvlNwt&U{Kx{@Cc% zO+ZL_QLo8H1LP-(lAkAT5sUxg{T>#ri+3Es+GdNiP%Gu%F@(BR%OKQ zAy_p>TpGtB4_g9?IjQ>KA+ZNT@}$H-BDp}0M}buZ1<$i&D;9~f2taJ*jjc@8)r+g_ zA9gZB=Yn{&Bwt!&*nBXJm^|moLZB&;p#{2>85&n?0=jYNA<) zeyN-hmbz-DM|PmtRfE74_MpN#uR0Yn)p6xuuh7XWJ4nv1e!Ti7`9T5(U(ss8t*|fK z0KQB+ulxhtZOBOl;i^Ai1vRb;0;(&ox^1i;Vf9dWH)JFWLgriE=m&9ikJW!wx5$#n zRKd_!PjgkYL{~ZKtJtAjaXd5h$`4#MGsKh{w$s2}p^CGbB+bDM#>Nam=F)uGZZ|bu z6;l4>*{LR}X_%5Oj(HTu48=r&7X^OmhJ3+bfl;HC!g>VZAqzjqb4rxjYkgR*!?gie z(!lc#-H;V^HnGAiy8X`W)Xx_qJEig<4Z9nI-u4je5C$j!PLE-sgsXJGJ?IEtds z_dv6uUCN`J$(YE>zxwS{I-(RtyqJuWBIXUbv%L<=0qmJ?yY77Hdp?Dm6H*-K-EOnf zZ7r9REDylY!1$}Grm1?>k0HrY7WsVg&af-hl$3?#lE|?3WFE9oueJ8^KmBewb9h$b zXp$)dSE=BVG~h)FdZeN|Zo{kWMbR zRTGB^jo4WZLDMBD=?I1*41CvhFr)2bk2rA2&|9ZC(`@+55R8s231Bi9p25a`X~|>b z-i9RWnhFC^XVk?oKCaWsF``1e*V#K&kqmd(7(02qe;ecYOjIr zS}w-RvxJX8{hEq)@NAF8MhlocCM5L*NhLGQZnr%cc%ChAtYf=@>r*TX8coqva2==C z#mu@CRiWfd@Hu5w@f;h(JSn`i3|OHcrN5aZ%g9x&sc6qYv$C|n;p#xu#emttrHJ6v zBv~Taxd(O@I{{F|Vlu~G2UuEy&HU0Ljj528>AI=09KCRs-L<~NN&CYZ-MW|RPyENc&I-QL>5a@{1LMSf>vD|Ed5M^9BwOu|H!6p*fp0;nL{NN}$L z%XyBoS`le{_~OOki^I8P{pg+doSC&)Sg<_JCbkII3|$A0MC3@+n>Si@5K5lo3%U%V z$PEKdybLThw&Kk5Fbcr)mlY|`(#3R&`EFtY!5reokE;4%xSUz8wLE^l2S!aY^}qg) z|NUS6^}lz0=hwgbRZZ8o?{43E_fE6hDCj~qwXjG`LqFPo;oF`-37`NFbQ05vpYPnh z?SkI%=B_4)R8@=|{AoZdrpMQ0DeDpQ} z{q}f!yghCvps820!`~;B{PJ7hlE{A3`LE}ku0Frw1gM<&ihLsi^9!yd_Ee@5l76kS zffZr`lq*kHwSnc!AN$6;?>7*C^=QSql@+M)$RXBL_lW!(-ZxTe@{HIk8 zx60L$(C#Iiyg~u5gzpVQU48c&vwZUzuQ`rO>Z&>5DlNOJ26+7|-?n}8-O_oTqrLk3 z>i;)}_lofSx?cCYUMv0r>c$;jqnYXJn_o%Q%P}Vek=LvH`s(GIZg|CuU7de@e9PWe zb+szDutJShm1uMUQC3RlUK-h<8z3$?!2&^vt#u4pSKQF&BvCVsrEN_vFTyBFvs_jb za341|Hfy!|!gVg^vx~{};KiZu#GVr$ogL4e*(NyO0fJ28IDz-q3`zt>6g1OmNwtAk#(2hN+9q_HTexKTvDb-Z`*`%k~HmsY>q zLAr<}0Jjq2%+r$#Q8MB%Ud)$EcdlrBvsqi;TuZUOFD4bkrHr+5Jb3DoB7=)eag?aY zjTRy=;FjQVI-Q=b*DcG9(=1HW`|rNfT^s18X4c`GY~*_aClGX4guZbZF-+=t^Dvyr zY_Z<0ZEtpN-x{`C@^DyVIriZ2==rk)%L*k`giHVF&p%L2WXdM#24vS|=z;@ZRS+-< z&Y1uE|Ml6E=V!;K^QTV^oTZ#u*n^N3f=`L#ZEH?biJ^-PQ-h!&_USJ_e_kYv%`Ibkq+1|iI34atzS*7~JTCbz^I!eC>o^R0IKmE!5Zm$-{wy4w?PP6Rba=vivNy8M3?toUz7cWlF&Zd53 z6=l%txBLBW6ekbfd%*L&=LOA1P1iJ$R-Qk6k!C?zB>(QO{-W8|qY%VUIzBi%*gHBt ze%x$|aHsow=R4c?q9FMC~7>f`9VCo zn3#2?(b9kUcmLU%pZxSEcZO@KZU}eo?BtYudhR7o`0VRPm!pd$N=l}jF0IAP%H#Ct zIA5NDM2lR=(U~c?AMEyT?}(-@$s*iV z;(Ans?C-Jbw`lRjr(ecih*msIqooZCw=9_X)XGR5IHwwV6GF=YC&_}WXrhz_Azfrt z5-p~az+PCR3va%ZyKQ-`xAX3U_Qp`+MStOhvxQEx2VXt3j!qJ5$wZj!NaI*$*er~4 z?AHf>&q(qVD}zw~T;pxAqaO{CeCUM`H>WuT8bFp+ofX8A@lQ{dhc7~F&SeP$Vo4}t z(7?gtGpv)QYP;a-<3ID`Jcp_LM=gRw^wXuEc0@!m0IOZpwjU|o(lNMlsVc{n8=|vcX zcW>XB9?ve1#+s;z438@v6Q$U+gYdPc5+h2C5QQ;3pH^?!5iHiQWLZ(yH+FUvQ&Ve( zz_Gq#g9_~q*2=UDY=3S~X_3}A)3;*K)V!|lesJID)j3(_Raw%sdav7UHhgRDdp=w) z28#?TAq(}kv37SePJ_T(%<=^8!}b=J^XUlm)16zl z=9jbcqcf2DG))vv_pRvR$Ilk$e%oyLwi6^CuL^3X5erP3B(Akg{YYYXRnr)OOR^Mx z%keBxhWAcUM$J|m$0#X4Rgg4q(jN{=7IC`kI~!Wl2oZ&y$$~VUOj^yRHF3ZC@|mgC z1fEaPxk%C+^nnbqNN=sl2`m`n%gJUd z$nAF9_Z-ikivlIqw9eML*=g?Fy>)wc+nvq#pFdgaEhNG4000mGNkl$Q9DJgAxa za=Ey;xCAp(3Y=uBYnyAF#Eve{AiQH0PHrfgp-M8JMqUy)N#PVsBx#(0gh9L@V|`T; zM9bxpN2W0v3C=JVo#dDfWx)@D`QX5fQzUSTq9BL^PvY3f^Eq5iIZY~x(Ig{I(rNWh4^N{k0lg&ATuss+ ze)=WE$x)3?-K=RaUn$657~$4M7}bqBC{t^ESwtzU zba22FLse_KY-)?Z23;nrGB1kOV$m>~0wXzdw~TS0Rx@fz7T^Z9sOK37IfKk{3{GT} zr>w-o#lp}}!&pEfE-r_W1NS&9S&?Hz4wgT!E26GZBG0N4Z^)tqP9PHpp(e`UN`NnC z)=jw3Y&vTKI1o_t#hsG{HPfLf3Vby3yGh8fxeN`Q^tj)S(j` zA05)*>-M`c+>h2|bN=Y75$#H42Ko=zv%rg3o&sTwAY!#)nlNlt`;x^$0C$=rNk|BP ziV*A=`g}ImBpK@!fAH|*9xNrEGbqH^XStXR@AZVbz|`16WQ|ta=rjotS^8ZpS0(;XOfxRV@Qe*?S zqD3Z7Gg>?fbI=vG<<%5A{btPMoAIOcjW7PN@w=I5zWLYk8plns1S*TP3?zLFjypa` zMk0osKsz9Q!R>4EbTLUZBjI&cknA&NoWWB|R|#lLTp;$jSS6{`6)K!2Xz>;B_L`-) zN^rkv6jo)PFH?ly&i?z&RPy&hm%o;?{=-7?jZeNM55Ah_n@tg~gqeQj>aWQ8A84vs zzS{Ec)%$rJrTg0bkYI_q##3F7Y5C2QZ~R8_$`8Ke$EZqoZ`{C5n&W?l<0>3|WfFhL zuUB#P3Oc>o>3Ah~zrtK!CDN-@d-=v``mPBff&3eE!>iA-k_P6AyMtPF6)V{imYSRR zv%rQoe&h$C-ENunj#;p2kVIKgfakWb?aPZXf#VjEjC`@!`dpI67ne@pr34U`##x@w zim2suX10w^yFEHPM+h%yrZUwvX>Lskc`l;8(l~{1A zp6xyJJRf4ZAPj8BPLf#HRq*B`Y)nUe@w+b`efhOOas6(u+v#bl0!v*Il}@LZWDLYy z5N2D}Vts4S8?=m?f%ULq5CpDn7!bNcB*%*aJO%s{_}p4uUt1r-%P@>6j6B!dSl`Mr z>hxsf_yL40x9{B zby<^;61pgoFqBAjZL_Yo>P@C#6|s4KVr6kDadM8CWfauBAUP9)IV7o_6<(ecx5E@b z^h^ymJNMt&=nplBECe><*kpXV|Bt`^RYqX|fpA6hgOF>);X>TYk<>GdtG_ z_!iCTwo@LST=0s{F%&#tAsC;0^;A_F_wIf$9CqG&|IY2(w_pgLJ%0wF?CHt5$SV-I zy?Fj&IdT8)Z+@Mo(e~EH&;I4sYdSve_F5cQHVqA8y)q3MDxsKc;mnde zy8rH-cC+#P+0!(OlPnS?b~x-Qx&iZyh-Tyiz%GC=q^hE@B+EzWH#k{VG4I9k0_KHP zK~`8nfcc0aw1=2YS4Bh3R1hp#a_`H_+-$niolt1gj8!P9F4I8V8PTU0jrLs>(`zt^dK# ze~cMm{;U#dhOzDG&?@)n>A)>ojrV5Mgd21yA^Q}q6^d1^?Y!*7*W(Dy{4L>?NCWZ z#c^oc4z}I%*)*o(h)SX~@MM-%MS()*iUd{_MB$=g$c<)gxKUf*l4~tSz(H0d8KwaN zWho-K z!p|!+TJ1ewBaazuREIfAhUA_(m~wKpXSxZ zHgm;lRT2t<%48z^tV*qtw^jF!ii(1~sw^3Mg^8}X*GPJI<)oEYiD|lGu3)Y>VXj{U ziOjA5(&VwOJMs}0jeH5x(AfuS_vR`n0jv)Xne!a6Uy>jH^`n(sGtnYvNUQ zxU%sikzWy2(^nYgf>^p$&C|+}sW#EemjlW&q=n?leoHTvSVZ1@1iX3On7jU7)*ji4OOaYc!Cb@bR`_Zx-$07_+=A{x$ z5hwUye_;f4JH-9-QHcyr}koYIl}t% zC<=CVcDtPxEQGVO)gG+^DZc)*>n`< zakCF9dC=Tg11Dg1Hc~iAX2dW_RnssVHJYQA_F{A~1~F;3TSdVwmtc>;%5b%MV`Fox z)oGlKPeEned2q*U)nU=fyttUopFV!l>vRwIPbEPG#akeI4QeDoP&rPK6jrZEho^_* z={U=CQBwMAV4*T_nd;5DJzpk4oF_0Bau`Og>yOSx=clJhln_p;f@k3Vs1nqQQ@^r!BCNV61crK(9p>j~2JkBew2Dk_G z9FiC$kmp!UH<2Hm1EG*aSr$Q23u@p-7pGHIF@w+tJHQEi5Cxb-1;u2jFOHrUMU3hG zdb8FY$eP~nb>Q;L=@f=wbbkExv&VMqnRUH0XxmHs>o0zv1=&__>v;blPf|tKK?nwo zu28TVuex)OWdx945QQWGw-UxmzL;E0r;|ay2g2(Ifu?CuwN9Otx!y+KY?+M0 z@rDGq431x5FDGXwQRd|gM0hzb3yP`=q6mYtn9LFRPKbtl-z#txqKAQfC2_xzZM0jR zLAPe;@bDndX&8WyRU-L!!i%gRiM+&1B2y%h@3|nZ{lQwh)0@oZP7w6l-Sz(Zm%sZR z&Vnd;A!z3yh`<&^vI$ae?mylGZPzecqk~fp&3WR@mq?eMsl6DaWKfFSZg(mrYV9aP?n+N^As0^;8dtF$as`fEM+td zy;%qQSg*Wg3kU@dKihl8QFZJPZ63~>QD8L#FJs+0XY&KO@&@kC_atYcKgd-U$5u-jk<_ zATG`)nH?M-9XxvY6~ru?TbqNmHM3R^=C(bWDzr2?93Q_pv!*UZU~bQjp2>BoR@Y!L z`Yt??2J1S_W509;x4V3eFIBqH>o$5lrJ=ImSZShU$flsOF?BvZf17}Qd%QjVr62Um zB;-F^hU;68@|*8oP2g5IloIRPXqroMIt1?zv#v;XoL?~^T>0V{z=LziVHa-}Q-8%( zIpC{o1K)8UH}2sF4Zv%O<}0Lg#i3DNH?m`jD>~o`)Ews!-4PTs$u(bbIG{eqR2D%u zS7aIqNmauqn887SBu(Cvu7l*0ti<=^uhfcYxV)yMpsoR`c$@zh>A_T0U_bGNtN zkqsVVA#ewSz=`9)&?SMV9A|;B52T#TBvFBDJB|<256++Cc%TtJeDEO6VmI_ORp)sL z5i&`vYKo?7Sx$v<2Kubi?V5@nxxt-V_iI{l7oFEDyhC*6Ull8+uK% zmX;s-h|tU-h^8SRgm|?m8N^;Fa=Y8AHBCv8!#HMg$^>_|kT=7&=UE;~0@XBS2&Xg=+shz{UJ?Zmx*~km_^mJmj zRa&I{*yd#x0&m5NDT`^Vqz#}Shzps59vc*3Jpf%ib3qA-Z! z2%=M(@G=*<`1sL*#v6-EN9073e#o%emgJF0Q&l8nQFBN%000mGNkl3WJ-B;s zM>Fz*nyvNpMop;e{QW!Yz0TU^#;&Z_o9&HZe;9fpiR!6^<$#buXCHm? zWHfQ^-2V__+ChIPn*A{6ZtXlcJsdmEtWnqFC{E%OEJlF+5|IJ>VE_2+S3MT8U)fGdKb+Of|>6!{pNYQK%&_yb~crp8@fBb53IcG}x?(MrU z!cm%<5Ifnn1<{wOt!)lrer?Mh_BH}9B23@X^B4PY`%%X8T0;;t86sVpxjaADWR3xG z3oK+-EW(<`4F+w9n7Z{^5r@`n#B+tD@f4diyEQ>(KK<;IIEe}>Z8VKP``J$)yz^l9 z_WjfG6bvf|qmMnBK!!z_1w_u4r7SBjI)t@=DrnY^(lAMJi-6~`*&>ARx>9PA$ChHh z*}l6wxV_E5S_e@HWBdGqal)go9{J;$R5I?&>PWhCF^_`?%r?vjX1!!ZZ#Fw?L%q|1 zC{55!h8JK7S42(_D^o>6WoZ#dB8iWYt%YUv8bo}xkACwH{?g&&eDrjGymz3}5IXak zBJ(T?5Je!*7;UB?GR3N02H8hp3F%YCN`XAV0)j!|{~Raaem%w6m$RcMPnRcWY#8xD zV4WW4alj&oIwPbc1jLK^PRyAmani51tntO<OmfsNxGQMjt=%jkpk^T7uo6PbY@v#K)Zt> zY427x+x6k*TBq0D+uQRTKZ|l2mMtgF$IjWolf7C?Gn(djdKuHj+RoP9 z&7HlkpSm+USa|b=t(vvoTE8>s7-pU2#9nu;Zg%3B?sm5xJoxbLop&ERxW7JJJ2>7y z8y&&m5Xz9KRyV0Mvo5EGs^{2Hn-O^4b6l8}L3hp2>Pbo`DaDFKl-ge6>n(G0YkPZp zx7X|XzW3zm<7T^AH)??w7;4Rs&A^W`MA^_ukT2(sZ8@GD*bA>jmLP`EYYPm@2F|Qz zXu56)q`M$e^ngOkN=21nF{Mlqvjse_tSiXgPEldvfdj%x6li;fR6$|GXUuzMq9}-9 zJT!&oMVggqaB+AftjKUp3hpuryjYPnSo%mR6~aCG7*7?YpZHN3rdUHn%oGy>E3kX^%R3b{O07<>~zR+4;r6h{@@O*0SeL z6lJPxaJ*O`B0gOk4na0X=jVq9`(RsnUI^1T7vSLqH}#~3(%TuzbuHy6Y-=G&sw5pg z+jFNDCxJ0S2=LN(6LjR5ng)}F4uq_0SX(B7R!9C3iu683_6n*DqR_=^Hm+_M?RuTU zj&@v0x?j*lX`*7p#em%l=acDhFf6k&Op=o4x7Icmm$T14{X`IWQbiy|VHo-m*aL=R z454P7&%lV(wfgwrbar+rQf%z`7_3&6H-sUj%uB>Bmo(X;B4wheu?x_=X`CfUXTj8K zI+%$#N#N&mtZ2!~6ty}m^%Seeu*3%$t;u#T_&2Jm8g-4AIB$tfWqF!aMR_{4WEoju zmeVEfJI84OzGI4P;0tE~w_?BoXtlw&nqEwGS?5b0V(jVpgvqePPf_)fN^QrY3KoP( zSh2x?SvwM$H5T=Go42IibpgqjibvnDt&1)8{8+ zRa3zurm&~3V$TCG&JYg#{?o@QZz_d(@bH+#ng!N}km@^d{z>l!rmT3!vYf*W9L)ZM zCd2|6q_2VT9di?bxDQ6UlhiIitlFQNf$)m^4(!ITVC$-!! zfBjo`ymT%c1_Zaj5aVQg9MDnk&YG+!c?M2h#Fa9`)1WZ@!d9BX@b-FbP*V*Pyr#Ge zb2`=_yfKuzs9zk84^Q4waJ)U<9{=Kx8wlwC(pP>JJ4{|^=&GVYwt!G1r-QVp;LrIL zuQ91FWvHuKK!~MTYE@fF9P3s7X?2A^eCgNl*WUs0e(mcOQiCa0O$ApS0+HgmTv2Tl zC1G>EdaV%6uVd^8(Us%b22c!$ue*~X)<4OBDj4@ zx7!6TJc@&}(HZDIQREd_4gzr5xjd($AZxeV5MMxC7slb#vS1C&r`Fl=`Q>;5nzAft zRna-Pk|HN*e0h2C@awM)UG4XJ1Pm;&g0ghnFh*i)a87HQ%+mla%}Hi?1>o zf;%-Sa@U9GBWw*C_dmS1eS1TYMM;u9FE~6J6$Pg#wg35l`9EDh>kqaLPrOe)eUW1= zrU)K0X@rxLY%uoT#HLaR6)ic8BE{+Dbh+@8sBD>SckY&1&a4`U5-1H}?}b3tS}wvU zY}Oj^SsKJ5!`00?1RD>3|9t=1$>d@Q@naIE6efmH-IBagMZJy*ZMYOmI@BQv1H~dt z29xrv>sqJh4~Of@&gMYi3W?9R)*+5-!kA4K4q~||W-+(F{NmAgG;`fBi7|7B`5d}T z<0wlbWc+||7I{5lxCm%{unDp%8K#kA_)$PK#baI=bBtmA3S?;wC8$>s@0DV_Izg+2Ge#^rfFe1S$zKaSAX*3 zpA~tyyR&xZ-p=OMVEfTfZYPLZT`qs#Hq z>G>=Q7zo^c`|%^+%{YdG_!DCI$z%fJhfA!?k|=~|@ZbM8f8A|$FU~H{k4KNbesXv) zlBF8O(vqs3jwc)}96<#08QP09a5R~Vd@Bi-*cD6RbrmtnFqp1oEvHzZy}r?Z=l%Pe zyX&1^W4PJ3?S&uuilXf9?he;Co;}+;IvZOH7o?SgWhf)bsVML;@&&fWg71B_QJ;>ed?Z#y^E>A3Vcb2 zjwhAua%zF1p^+CJEH=Bov%R*pB`8Wpl`#g0Sin`pDJGqxC=I>9wPPQ|JB9F9VCXc> z{2+|u8UOP3`mpY%$95yo`h^Ab@h&W%0utJl3F3W>{BgjdTo5q-Y<<_jeS5-1m^eWNJvQ>!!gK10- zGug!oBYe$SvD%0wt@aQ{Utm#(0J>U`Bp83(;b2LHdWD!SuQRp96_p2mA7RhfY7bpn zEDk5UT_yRP0EJnS)FyaplG=t3L6p)oCBIn`s`ir10Joya0!6D!I7i7XVT1*WZ_p;TXaQ@Qe}_}k`}qbre76! zQ6+VQ*qS1c@hcLK%9($qg>uzWqMCY`OjsjW07qD%2_X}bIH81>uy7?9O1KP??3b&D ztscSgL-4LAe!w^C|KUIVPY-_br}M>fxUuzbfANda+1VGLd@Pp5Y%-b7CcSe(HTTbA5^;l!Y<2>=Pn&vuN$JEfF@h(4K=~& z_14?%o}rsC0w>1@zx&-M$0siYk%7PZuA60Pzt{QXpFV<-y?^iCY&P|SAk9*6GkTpa zEYs=5JW0TK3cOf4-t65E-{08T+TPj~dHMM0APjxok&+7o000mGNklmPMJRIe`@!iX%lwJc}?)B%}hV;Bke5Qo_E;6gCZof5=5vM52FK zwGyZFn(b~|Q#!K;W8bS;u%DR9%jtX22_nb;j zlTBT#X)uDSoTDVTCCg|v0~{<`VFtH{ckkTmcZS{GMyE9dC9_;ii78J&nuePLwO5xq zrl^S-n>BRfPaeF-MbwjzzD%M_;?*Q9xSUV@6voP$EO}Oj!RJ|A{@_qmvd2{jDJr*? za}Rt!NuU%yVZkBFm6k5owFC*OMKAQ=j^Udx9zVyf&8pZP_S(I!9r}*#zz>PM=-FOI z7o;1Zs5fxGpHSgrj*;eA%``w;ftq&~@DQ^sjzNK^NecE3ggJ^L&&92UGzfT_M(&O* z6M11VUmP4AZ`|5#>y0O0e4V9Pz0m*-rs~*wA@o961>o}MUh2;r5vgoMZ*DUgIFxjX zEXf%bIbw>tWRXA#+n};YTT$s!Y=1)^+#kgcM8_OQm4J7V|-GkVfgn<)qPU!2cg`Y>foFh*MHU>-h9I32k@Of?e#{Z4i65-IdU`b-l?4G zH;0dY|I9jDIukD^y;Ulk4JHSTKEYR@`o*2;94X`patpKw_G6(aNm1c6a4}Yu(WGFr zN@0L+Ac4cjh+GP;1vY~LKRgQK-+%elY-VY+`0?NVW^u7BLt2*Wo&J`nh;w(cc4wW@ zI91i+D77ZGKnV;FK0K9k5v!E-Zlm67;=RDKF5;q0zyYh*wT4(bdvT6p z?eX?_d;EVmt`WyoVzI&wV+W|Jh!JZs8Pf3@Yzc%tn1C)3Hdd}s8epF?!u-pS`sFHv zDH6`QD{kKMRg#12D>GF2%>?W#i0PYIvuk?XZ=kjrqPj`O3jum%g@2()m`U!FWIQn| z#US8`oI?`RtG;$DNw-rKX)K8zv3(47(J8OH*j3TN4gBv*>S03G_!4JIZo6{v3EYIH zs%Av1j7v#E(yt%x1oJ{*6l3*U!Nw8?VuQ+^8X?zVW@6Y}Bt_;*H7K^40q)uXsiZQs?_a#{XME z$FGrPfA`7XeT8qQvw8V|e|!e|`#u?27g*?rm3{@51Q6GYCN$7g7KW}SOMZ~?EP^s7 z(nd>bV)&hQdXM5-I*H0x`z)dl_sMTv6 z1Y~S^|NhR#MgvCj_U+r}XU!yuZQB8d)Cpq6s8N{eO~ChuTTpakxp0RR_x#zx(q59n zRSuC^93N*9(P1=?<$m;dGGQgD#u`~9x6A?fjx5h4d7_D-6)!Z^AOU}QF`dIbVo#wm z7X?mJHQS10!N{XHj}eMJyO;|q&rq!G`L5&fqTKHGsl3eN919frk`ZXQVaLXDQO`|S za2N$Dj6+4O&(EeTUGQ{1zdR8iZ0Z9&OJkOmD84>BUwrb}fnPk`xwmus-8))C`PcvT zpMuv~@^ladf^00jh|Nk-Z5oZ?=U*SbIP;Iszdkxm0Bl;%)3@NNP=EY_*oJy1irRBd_uXXxxlRo;^Nf z3PF~H*(AslCUk9@;$TRzvpI{oZklATB}rl#Izl>REMR9jmJpd@@;S|u^V7>DwYAz} zt@oo6QI@4FaY+JGCa^-@A4tJjTu>rK^AxscS0E1e;gPGJVhpJ67$y_~&-KlIuieeF zgrgLH5`Xs5M-Ly3T*u`E zvEA!YrSREDPcA3NCnwJv-QIurAO6R19;RMuO_yon7qO59RP4rgwr@qY@ShjIF0)m( z3&Da2xKWchR2iw?-==A9Ha)+;+xv^3|GU_qh7s)tUbo+c_+x!@-JXvIgJx%79-Z&+ z@1LhE+wEJ#RF&DO$h{7(vYl zE2Zaqma`o8+x<3I6WP^X-JD~>MuE(jXXyz zlf`HO%S5E9&~bQO%JN9kW%%>-^wgAUTU#5gRt*Abi5CZh-um{S-|IeovS-g@Z;|}+ z@BhJBxG+bwz(atI;7}&#*c{so#YwZ#$kWW4FP94kbcMiU;q$QDhbfKF1)*VLojghe zcCdS=b$eY91%{zxYjO6wNA;as)8~iDWFbHVo3lzzN0!4CV&KxiDoM5l4Yku7x)L79cnEz6dExNuv%T5wWbR876cl~m-p zd5ZX7v~`#iEGoz|T_IFgSxwA)5o9QjX%`M5Y$eMgvj)eKz3W0^SP@IhxID=)!-q^f z$lyU?(?V?6g|RE>BaWkJP9SM$*IIz`6lDq2EDQst7V?7Tu*{1QC6=P{Btkml0vSGV zO=Fmyr4;6X!zhM1hQWpJf>dB?HAy1e+$tcxh54r;I+lc;?d|Pecb=sZJXV_4HN{o< z{pV+Dk@H28dJe}>pv!o!YVcbU94}k3Rbx(;q+rJ#>!IF>!NqtH}zQL|2 zC3wCheA$?|LFQ!8DG9+AL&(m6PQcYn5pWqzA!R(vR=hoxy(1hzC8=dbW*4m1BU|9S zfY~$zd18W_Wh&tFYUdtQ4rsd+dt9LwM$eV2s-w_-MZ)|Fp`2AtEluvW+7~80_z2-x zNoYk_QobND2;S$4G%i8OkjlRtWMjnRnE9IdMS=;WHM<(4_1NJyIl~r|8$* zm|~UZC3r?;3qmaQl_vy)p0Op5xKozULvtJ$D>2JKISYhm2n&E{Yz)p-lz1oz6+JZb z(iyL=h?D?qK_J@|@B@2>zO?TIWKP{kmlqY69AfMd`I=yt*D?mBQL>7xfu+v^kjpru zvugVU{>!qssz<~;IE+3;MMjsbou3%4+HOm^^NW2_IYM6u%SZ9 zpT0P~^X~oiwM|8pOH?9Kminz$1NR@P;?d_{s0MHL+hLy7WclM?{ZqVfOj+Y4un|}e z&}=p?M&mM0ijdCjyw~V0CyS&^%CJlr2SyNvsNb%4S_X)f>p23;IB z)7;M@nA&^2+nhuF!{7a?*{XL2jkw5Xwk7Mb$O)iWzxeFShNRaU9lnHTW<{#7m+rI2 zd*BHSx?AqT^DQ52`qHsO&js1DtV{5KM41Hx1XBa6HFg|tGK(E=<97e_7QPKJI*vSJ|NOm@w?&;EBI^)xcWsi02!^f0q0;YcB&TjMeFf+Kr z(}RoYXj5&lMfT$HLuWRju#>K2Hgw;K(STj=Tgdz zk?SETGx&AzBx#u`WjbP0rEAt`aLgF%Xo4MZC1ie%C@cmun~fi@^`1X^JROgfIA9e% zO%pq?L5(v>Xo!+pH=Ly_V7;7JR@;5Z-j;^GABJHT27wzOl?ulSr1Y-_n_D(i-)+I%7eV0Q@V?HmLI4o<1nFeX(#-N`Q+iROOXX$|p z1SwsUSbdX09chUJWs5cm-&Mp2RAHxV9Au~%JRK_};mD3=@!tLXCN z^3L6Rbj(d=R!3cef<~kWgF9;Ad@8C4t|eWhaHHUig5JPvd5ZQkS_Y%zv98s@>$dF_ z8*9^`<rF7jui183;Uho&((jibgkN+xHxMdVJ{j25a4ZE0Xoh%@&LN^o3P=BB+=b z&ky8M;o+%42NGH-3N1X3i1QeU;Nam9^NuM7vLA_bX1L$3D9Xb1Dpo1XS63XMgbWGC zj)n1}N#21bh6d%RR&O6aJBrR0ZN0@CDn}~;EyOuE-025D`hYgLh)+$qR?}+d`y(oe zi9v=%!+JC4AAk9qyY_>3fAS;nof*NjoVh(;40=sLpap@0u;ncR`t9-d_?LcMA)x<@ zUh@iZ{1Q8y5=x2`nWPBGGlcsTn}X#-r?P51h~9BgwIivJK2@7+Qh|7#p#`<}k~Vi$ zet6@G6iw0J>}AGO>>qeDggv9Y@p=%I@fy?hf9^B@1JChPn4wJTTT6L0vCx&bbxS8RY+(B>o#pivZ;a;;TBm<7`~3PNT(=MUKI|x~ zE0mSkyt2IB2;%eQRutN zIP{E$!AmS@6bKOmEAV2s-!&U`3KLY6iw(rXFb3z{l|&w#LHKdgtXZ>(p{sLedNw{8 zkIt6MIk;UrJL}zUSC-{0PLnVe1<`X{&-1aF8Hw?HdznUo#B+O~sww z5nLMLCUD}BPO(6Y_H;UHw>tG&0|HOS$^P!|e)IhK(R?~wS_rEUnH$ua2yYU zpvr3Kg`?B)a%L|qXE}EwAEps~-l{?d^DY(P5W&fdl2D~ja^$_Gc+68ECu&7Z3K0-2 z_l?cwzxvld0J!m+h^Ry@m5Ty|VFAm~ z3Jf^Us;WHP==aw;nqEti0)je4RpEN1Cn09!WJN;I9FsuA3GwQupMPv<=3?sFcEsXu z7;pt^WNe!Mx@5NP>gJpJ^OFTVKVcR&C6&$E#K)!%+n z<`jnkKTCEak%N)qiZBhpngmgpgtHIc8UFak4D-E0Yx-mIH1_V@n$FMh%a zsZnb`dwv=u34}7ohi6HUw!1B(ro$cjvA4E181#Fd6np$@jp6`Z#`Io;KtZkf)&!*O-(KO34qVgp6 z9Ii-Z4kjbxSxOeL+fopE7Z>NUq0u75L8iSXyf}Ozh{DF!W~g&@MB2y!x=&z6pj<;*aPEPeaE z2feK!t4Z)Y63sY=XZs(0ZnDC7?~n@O&i~8adoW3IWNBidJ#?hbEZrIn41mD^7_mFM z$Kx7#%GQoFBiG3P$TQNYmUqirH7jN?0;|5gzVOeEz-fSuJo3Wt!(XYT&^0gp`ePY>{RwDN2|mVGKuzh-_KpSz1B1nx_qw zPA&_0WstQC%y1!4h&v=$pDq%^cCO#L?O3hA3+5Z)xWD%hao73eyWWu;~t?-ZFu;1;gTG%I-an$a1KEX_=Vm@jgj=c^rq(%>D~#FjwVo$U_k6 z%A;Th0<(-+Od}a=zJzqnlH&5TFP|iqw0L4wf3yl7DPI8DzBQ||qUralJt6!R3^Ws2 zUJD@e6hN*SWK1Ivuw!7v6sG%(kCBqlYZkvzX^C|cLgs%Ps*l1^iZKG*VEqI}qd*v( zVd*^1TPo^`Om^(JCgIJ>ia@`CVTVbJ9b6IhuPKQEx0`4QAUt!4TQ&O?*2>M|3r>?? zb^CiE0%=$`@5>0NUP(XWzbY#HfggdE7)5MoJsDE1an)%mp}N*M%sSHiRMRv)&qE@) zu$rG71NB+h#<~>J|G-el*Z^07KVXdwS(^#ujndgp4LH6Bo($2zWyq{wBZnO?3z)BX zeej?uZeFbjp<pQn^+ns(RpwPr(I{WB1zX20@V|OQ< z%@vKnobvrBO){F8aI&QGwJ)#Y>vvlv!<*EKlS>GWc`7+;(n6?uAgappzA-pw2K zaA5YjYPU7KvU~Hb*SEV{_kQ)+Y%=MzTR{>Y96beRwY|6Jw7OtFrCJDFuS9GNMurO_ zuK`nw02w!*FQ(_?@yVG?1WlL1Xc>hrOh%{WVE2d&yGPI+krEyo%))lNb@24b8*jb7 zckSx=#Rc61ku=4ajhBP|Ciqj^)}j!er+@h5;P~(aoD@7JShY{jk4vd(bsUKxGe7iv z0ri>TDG@L%b&0yfWsW-&*dZ`W8gP*+PF`4y4WgEfNM#gZX2Vx__(fjCd6L(;(eGY+ z`;ETggpUQjqNUqqQiP!o(OOu9#8I7AXYb0jv`8-&)2N6C zJHyD2re_ndQ&!9A3_F{9oBi!!qwvSGBR5^hJ;T`Qn1+6I@PsSt#p&4fryLS(qsjQ} zqIrrx9t6rzOyS42QE1dbk#FHyA zudA#om!7NJ){UFjvFl@z6GdKzZpoFB0s)vR)4~&2B!-TvFJXXk*n}vKY3aHOHYI~g z$V=Rk!3BeXibTyD^(Np>l`PJR1h-D%sZEZ@v$Gilw7eo(4#dea=GubPpaFxBu{wTq z;OKT9CWx?0a)khKMVs|jw1Pu`pWyBp-GZa`m6ES8yQN)3aX#?yPI!7bYQ}L$(Lix1 z9wI^9edjm`P{Dk_NnzU1xgk=4d)!5XAKH$Y6=}QOMb+pmvmHlQw8Q?;I=wqv-;?Mph|MMv6AjC zmQ4|55v)p>wxYs2J-gHEKqe9-$;Qss&h_nOFi(nw7hXh&M7!{4Ok(*vn} zIhD_8t+yz$ezQFFHOTcxB`xeRMSUWV)mhY=;7*|ivAPVmgDM>B#yt(&a-=0KC|p%h zzBKhF0ycxuHg|SAgHe-Jd600mVj7*ak@s%BttfmPETbsW6qN{S*XbooKk;0S%Xz+} z&;^&5#bh#tOsGE?N}Pz4a8XbdX`uJV2j>S*p1cB}UmdTG|Gyvq=m7LH7#BApDUzF4 zTv~y_LWPQwNhb(W+3>%1a0h!K z&`iN!TJ?v!hpaI$`)x(@xQe}t5wY1GE@E6_z4|Q^0};W{7LAaXTu~ta&AJ7a6iudr z8_i08gF?(Dy;EwNg%T@Q@l;H*qd+8rW2ddCg1}l>gLw*mt$n=u$}rdG(ZIEGG2g7T z`&PPp+>0s?-vV3wUBS=KLE-=4*QHR#^P(9qpw2I7tVJ(zC`POc6<^0{-!34U$~Oy`G0+B=w3dc-}0K*;Sn!< z@og{drn#2hpxT#cGmy?EDN@drQ65Ki+8OmBYOm`8qt7xkY`xuULF7tQr7G(viica9 zMN<<)gOm6{h~cmRIb^Uo8od764Mw7%zRdg7gtm%rrJktlGQt>1Rol zP0l8Z#WL_iMODhWiXqpGyfXGRq2Asa!hjtf9lrV2_pj{j(!`$kd|x6&H4Lmv6{L?o z{0Q#FFicH1im+A%!!~=G(uOb{(lvqbXVYVq7WwA+E3Mtt9YT7NM7hUbM4w?d13rGL3$BHw>G9_rLt*FMjnfDhRr1v#DK&{ zLeq>2m8b}58x~Q-mTfqWBM4#~$B4bao0L_{vcL;wvw4vgvZ$1ht|5B`7Is>MDWzRYggQ<6M%}lf%XM+=JVN6jb0>3iOh!)MBxHWkVvEvhHkJS9csy zEEQFl&OFQMMrqL-Zougu+O~>LY=3%s0J->}*S&G`+UDjKILr)YRhqx^ z{dYe6`_KOBKl~g#bzBsK;f7&aahCZ}h#YlrfjlLvqTDVQhRd=^hns`*$(cL%rss3p zbY_#~jT^VNcXm%No}Qi`*^UbHNaE|r_sTTk>k^VZ7#xwqUR18P^aEdYti9K+x2(21 zgN$qm3$TDAEg$b6&Su^p{n5XM?E6iod(Z%-=H0r{l?D zHiJA>g}Db=E37+RUoIA57(n)wmwA#UgN@;9w{G6Odnfk24&;94)5+aO{=sn(#8e>* zQdu#>>U3V#vafCuZT?-sWyQ?G!3y! zLBb7vB&XE^h3F7|Xd1|^%OV3Kz|)>ZtG#Lg#qxPo=Tu!ZOhGqbCJBUyvJ4SRfgCsF ze_i?(Dm)?3m534mpFm*0>KLyGJdA^+X`Cc)@9uWGJrQrL8XrCp(kSRD5{2c|>;kskJrVtTRy z`y0GGeyvc^a8&+UM!{lA?4{khN-9!8HKbQt?i9VJlKpj6XK9A~T*M11rW;QS%uCv* z7H3Pn0!i1h(J%)Txk6;4q`L$H4kIn#V-lT6)8;9onHHw4B|lb>v5X2a%5x&hCpKbIum%7m_%?>73jip3P1DaMARVbi@fFf-OnPG_ur8lFfkqBd$gH6nHSb9wo z$6(s2tOpgUX7mqkr4!Au!Zj*qjmWa1P~vt&^*3nGSc-brbf;j&62Zm@h!j!7hK3y$ zf`Cc@@YwUqI0G&aE&w&GsZdB-RRzyG!;R~2zO8qAg(xLSwp@Bo9zJTBCU|7eUF<)6 zm}iMZBvm8eXPZid$Aa=66@PI$ZXm2^_&8iv8TLt=OvZ*`+)z6`8~^|i07*naRJwgT zI-maPFaElW^CrVeb6ye`i-qfXa3Mq^9Kr5=!O~ZFB!nu0s47YlMsRORv zPbV{Yxl7%4^meYzLwnyQzxVxej2Bn3NW1yabs-bf zumR%;KBceQAOHOa?sVRD+JY!YaYA>VB&2jI8g_h5^Q1^?k#mOa>u0I0BTpQV@R-}O@N*9Mm zya*RrXITt0!7+5XEcc)8w+G$PaL{Twz121CX;*@&UN=b_b>b?s_I!8pW|?TaNC`FBWha*!mQW zheT~8wjD+XT?w(Dh&9|i)(aL{%or=!qf$27Eywj1icHvkD$&$DPh{j$(Dtd|o5C2@ z3RreYB={zY&r94^5U|+6P)Q3Mep$va(nX#Go(C3BZbX0KLyROgTuyxuipW9qD5HP%JcC|h4{Y_Ah?z3CS z3D^>_>#9QAH3&?Vlx-^D9x;3zt!EMm;S?#$QJWqfK!r*tm8_^mUT}0T5FP~r5lF*P zP%R3aW{SPpF|LpmthbWn&AlsN-x3IWI3-Rhp0qdi-l*f`&M!Xj#%?l;=O@d^O~tZE zya@!rGNZl=lCBwfS{yt&4BhC#-N#iXT-n(LcQvv{2lo!{e0t{<0R8HCb-X$_{yWOc z{zE=$%{X4spDF(rg`Sh5LiD-jAC(D0X7In`o*rtC~XXMWW%kfP7< z5jn!)aQz%j1!-4Zswh%3@S2u)GNHRwJ0g06j4V^XNWNa7tqfeI0=JB*TCaQMJvXlW zb1(eaOZneli}QYiYV)_G$9@%V`#V1_TPAYc3&iQKnB;4HmGxJqtjw)(*yg!!zQsgd z|K+nLerr+ZZ+=}~Hh=l$`D^=%mGcq+`s**1|I+d0(fGo!e7l2I%wE#czd(HdsyA@l zw}qkCm-1Yz$o1=`XJE8wp00Qy<%ERsF7u`+_(~vRE!Ls$mPICs&Cc$|)tlEeQzxog z)s5}6d;I}~Ul3bDtWPuz^64l|o4QOQAEMQ*Q6EBHIH74Oy?!g9tXB+(>k6_0&-0cG z7a~1~4)-4&_`ZMZwVQ^mpI#h!-pu!AJzM|p{`gzN-dXN%a6c&SlzCFA0wi$jhRZM(DZrg;?yflpT?5*y>N zI66E#eLCydn^m4dARMR3(aBTDVEd!Na_$y+Sz&*bq$mmq?uky&DAu)QS`7tGqA)o= zI{Wa$yW_FfwtJo%Etg1Tf?Vd|gU62^o&5S&cR&1Ozvj)TtcmT2nsPB4w>zCy%jS`7 zhnSckNSb80lVC9mlBBxx$>)zA9zd9!m)H)CNB#>W8=3$)J@(PT_E~UUNs_`PL8ML> zleiKyg2z{6kTT!AeoNqMqKKAdhhYS{9YH}`g%ycILQv7(?+Ek2NKxq`5zD&yb?Z)! zrdpH&h@>15MSvj{rkqeD%^?QFy0t0T10By=W@&PAe138?J35#i?jJ$EbN$wvhS`c! z^5Mr%9^HRhVuD@46tYb_OY*X;Aa!D;Dczp(Km3pX(lAVc7Q4d;Jbto&F`kSkOT%;^ zv5wP}iO<6SimDJLq~A&kuWE7-25>t`P&B1DpSk17tSD2>AgT;6$XA7Hx32x@CqH>| za3GdVybPp9<_Z+W;zihQ+nG zVMVH$S38*UgK93M-9Y^e6%{`_a->BWQlPmhnsx~07N&aI#R-j6j|L|#A9@87!* z8J!{#-wjd^oHX&{@Vy_s_tT&L!C*LoDWDp9krle4nvUJ+_v*4BvefH4x<$5jHnw+0 zT*?39Z$F5`^vdqFqvPXu-hF4`P9Hw{d^GB{T6z*iVc^5S>DZP^q756HEX9_+szJ}1OqO1BJ~{gA{`}xr z%vftlOrCRiqf9gdl15#?eo%y06iC==#5zUHr8USO70B#K%jgaJk|IF@ED2m)6avL? zSxq`cQwW3sDJ+IYAWlo~^qk(HLgKBUX}YN!2oqzA3ogaW!(EF4%KjTDQlj#Z=n?`k z)k^V`sq>63%~csWhHc^(Ip z@5>?jjE_Nzy%6HOa5AgBV4xcb7}e=m;u_@aA^ElB8H*QDR7%uBx|YPD@TEk1L$UG& z1gcm4KLjSIA))3sgEgrN^Ljg9pus15!Z&dpb_Ia3E7=8s&fcDYa2*;!7}3@3$$kmE755v7%d~God*-0Q{cNm zD}*{2sCH7ikSmC347C1%zXP(g(mYT;;Lh|h=hC#2B<0@qajRbcJ>n8RG_ zws2H>g-)%tG&Li)ui^0ZrhiQpG#UmX3oF19`7Fc|Nf70k&B{u3FsMafBWe|zWZ>)(TwB@j|@9N4G;yD=;x&yz*|+O;d~mK7&K zg#1Td*G$ewufLsgW(^-NudhZP0Eayf?~Z?_$A^{_0HDu*a!b9*N#%FVr9y=A+3 zY=OhGtmC^+>_&BL_)9R6&qJboylf5JCrCR~O4E_`OcQoj3W-H*O3zHy%8C z4356-I4~=xlQT(yp~o%xt(`61XbHRqrbaW(R;vx3m#13ljB;LLIYyo5)p$JZcZOwN z3#h4p6&mna;4>dTeguQswoRA~XXA^EOO38+^_^0v@;Yn8S|>W>Fc-%YrNN$n1P-ul zc_qVh!tR<_lmLN9k|nscAabgToncFC%Uv_wd-5g_P{#+$3OqGqxspDw{O1n<99k+16`Kp z7iS0OPwpPv^YY~)ohL%7_l^EuzrQ!=UEL5Iq6lE8t9a=zPsfrfIo%dq8eA|DgpF>0 z<}Kj0F&qtggBEYh_s=1#1Rqx;=d}#I#9PF=CZ&l7KY;M2fU&D{h_dXC)!XQr9V^dL z@MmDP(>Pr&mrwThPfkz3go5RSB{S@Gu3y>B!{qKKcRv3653h}`96xv(%_H!+z8^xQ z=lO0?WwItx<^9sJEmK2zs>lr|r{|0Dv`ACmb(1KB+m|HNyMe)s;{=tFkq?YpNbo>( z7298P!iuW}tDwg27y`BAd{b~>+geT!!m-Kt9O7FrT~50t5*fS{Of4cxq34%*34wN+ zwX>6FNmFC$4B0=d zIMa4a)4Vvp0HZ-;D!ReRs+^lz#eOFVoIMO8!!(JC6O%6me-Xw}gmrY1g77wa6_IKs zaS)l~ZjGb~HLPW@t|`Zw4RKhz*YEcx(+ON?o@J6Mi$ny2mSe$D#Um{rY={g&Dymdh zxWSj^$Y&R@iHgbNve3&q<^{<3b8s?XW?e`$@)G=mzjU!g8uwk`#Mo{cj6)6HSmon7 z7Ij{>BwpnQI|H~k&-bmiNepQj&MQ8*dz!5CnoPi@ogZBgPIb(dD(kG-Z-eR|32wa7 zP?m+cIOJ?^7$W`x4_dC7bd_0T%P!x5~&z$aNySE)o&%E;^3Eqi)l==BQfcdAO${8}r@$EFmH^AZv zq)h9@g@3X?T~6m&6pfr=5$3=8;FsS3Kz~j8`s#RfygL4KIr!fN0R3`A^YRnEAYnln z#P~I@_@u0pvdL;5nZk`gVO$>ZTqGAaITl9pwET}-^}=2&PBd#pUT%d$qlu!mkpgO2 z;CWE{BBRO}D{&0OquDn+ehTXih<{Tv9Sq8Csu`5LY93fI=?_#!Dpw5#dAP6w!Ep{> z6$0D^!p#ExiqJDc)eR!-lsC;ZG@gf;S9Ifs(sk)4U{4j+Mff?rf|amF&3%dT%&oSR zFB`S75m^6C{XCx7e5K|7B4+v`ko$5$jBkH@SHSwaq1!L|qi=Lht5M>g$w4%iAnV3 ziO8fPvR)Oar62cZ{1GP(DlX}!_NEfz4eDbdS_?Q z=7loJgKod=v@J*;AR8;2T2YOXA`Fn*mDuPzz5Uuv+qUQPc@cU$11FD{5AS{CrwcFj z=F#NI>7(V+Z@2ooCFgZqRs|$-Ns3IaG%g&otr4ef58#~je;~y^W`!CljOP4=^30dsztqM zBnYl$T`Q2}T3Mzw91YQD2+5)#sIp>- zD2JL;@P%L3veRbWHLt5CirF<>oFe~7mUIZxqbP__*(8FTA1RPjT!Nxu4T5)6LZP8y zH`^DXcoWBp+*iyHafQ}Uk~K%`g3+TOK8qj?;#2T(S)M@JsbZr#0@+2Lh!W0&dBg5@@JQ$${N0x>*WpFwzbcJ}#Ce)7YMi{m^iqYz0jqGT+V z!TI@EfFwXAtoFR3@CxLgtyZhsZNqy%`|RF>2ag}z-Cs<-Ha5eoi6;Eu{kLGkV1CXQ zyuzKF9>Kl-_y6|4t+V|2>8Z#mtS|`9h_$wP^TQwgIF4eJ7Zju@jvI;$j<);PZ(iy4 z+Mc%@pFRD_kKPkR1k6%o?uD2fr=ksDbPoPN8r(GQo={CpYXWQGJtt4mo?9YHdt)A0Cs zs;jn2G$z_m6}d)~ey1}&J4^h~U%2PT$5dtud+y}3B*?gnyFxW^Zn8-OE+Ax&X2YZ_du)$cpKUIjTiOcz}fh+2sqRmPN@t6m0U(fIn}E` zVG{)#$0FoLn*kzuoOS18#suS6aixC7B4>dr8Z$|19@)?YZIFb_P9!eS{&@%k(EtQK z4+p}r)7?|2cwO_WPF~bspl@wr{}F+`^xT)p^+#IZQCl+JPlIIwspgpT#Wgm zK78<~&I^SQ4&5SAP0en#(1qwkP()PGmIO!@G#T};z&g*S6EJO-ZRw^C&)#acJDVe= zZT;ZA_lNz>FpQ?-DV)a{^c>TKSvB83TOOXrQ2;&@uQG~`4v&f?w=ByGgCJZ&*fSjU zO+zyrQ&6#{pf32clXEZ<@Iz6oTOBjYLzwf|uHW?CT;NPWRH8VeN;BYAGLBo7Of*t6 z_m>i{IA$mDV{hihL0IMmj0Si*-B2NZkQE`%<1h;)LoxbRcW1D7qFR`VO`u!~K;K*N6@ll69dJLN_QA6b^<-5G4U*W)% z)xGQ9WY#1Ztn&tDvLeYu0=s0kyQA$LSZQD(Ab#tOhQrM*K~WaIfA_(?ql=@x@85d; z_upx6b_=1*Bk%FOPa3Um?X<7Hu_s!BXbbJ_c6V>k*%`>T2G++AdBWH6Jn+V@sLDpm zfeE~rPGOeWmXnqREU}K&COrB4gOB()pPrrPVdA@PnWRh9TM#iIDszGE>%sIU7)dCc z#F=dqd@F=7MOvhB3RY0pR9Nq6lq@dh2M-@TzI$(cbYu|HZ*{uu*1?@ek3W8}JYSY! zWm%4?St82$aI@t_(L`K@%Fd}D1e19<_q_1}Vpi;_im7h}9+OU!oP|5E9$^{KLRukD z@*I{StXxEfD^|KvLJXH<*9}z5N8K731*JO!R1C*m_z-43(N#f12WL2Tzu&)g`*zD| zL3o8&CpPB5XG+<|FvXP18eEpfqVyYIVW%U3$6b2d4MIPofLqb@!Dwh$#$quoA*$f& zG)uws_IiWB$L%X&wZ(>N&D2*m*vCN-D)44G=X(LzXA_$_%W0HNFXpyo!wi8z7Z6`Z zdsNUqy?jG0iXfpRN0l`wSYMTxAIn)@!`hjQC*b!HMpyWpOW{i5ELAi`Gj!T`mdElS zYNgN)bGc@~uN+0S(UlPJwn&&PCKr4GWBt1fqRSRSnaC4^=Gkp!L^Y3ULQi$kdJ)?4rRo?jt?9Wz=Sk%A8 z0;i}Rzh*bnCeUk~k7M%6+`3UXGH-Y>XZUZ$C1r!?GuZXDP6cLGRJMX)!4*}js3`4$ zLAOk%u3m$QD-tQPBUX8M#T1!qe0zqNGWQ$+O;1bZn2{Nc|D=CY;}0`zr-G1o!7yc% zY(^9tU#JsOGm3Ot*7-AS4ZdWQYRadsu{C1DxYCrcEHKcyqBwEGv%g{2`3zHDBX6`0 z_c=9;75K)l{<3}n&*kgY!@6YPzFbPB;lB!B{YuG&-xYcJ|5Xz77gd}2XL$FQX6IM^ zgIl+)_|_l#)r{kY`%Y(ip7y-v@vl1qy|hW-GiLkOpZ6;^j9(b86}5PM%2n3MbKlmv z^Ir>Yf2*5*=?H%DGuC%>d2cU&Bdd58b3x2_DeZJsqG?o{E)QehkKC+CX48u|-+J9? zTX_X3Kn_bDDSxyh6~~Ky6bq0aLTF5T7b3osCPf_eI*w&P7$!sR0Lx|R&fzbr3Tsyp zdPd<-1@gw}#iFVB+qb{BwX-FwQkI3gdmBIb@q2?oOOrSV-_jy>!=<9g@J3WF6s0sP zm##mZEZ}n#Q3hi%><@^n4Eh_s8^p^w1j9f0{_P@jYq@BT+6U+RK^doMetL2ys&!Td zQ4~TttSBl1CW>b2*3QQ=Rq#6#$kvHhruE5{gplpY99 zftKD^^e8EXlh&1Exgy<$lBu4ev?5Ex!_|3ChTO8q_{q!MTjRUvi+-VCxIqH2&CHrO5w6`LTi z9}Nd-ntuNIgD_0GJ;;f+xJu0Otk>(j{^qTA&vF-DuhZMu+03f+jW=H3-Wpw;oOW9+ ze;F1DBxkiCBcT_Z4@D^o1MtRd-x+!9x>Rwc*><+}cBiLHcNQr` zgT-5wl896x!*aSrG2oG*x+GQf4Ffk0eV7nMoP@616jd6=RR&fe!!B4^W*R0oZo(uJ zpLm>Pm`786O7OLLoJb9)G(45GK!#Bc^Gzk~(S|b|wl+4@cAMx1`1gcn%h*L!H{mIx z#v)8OMXBKabRrp~mbna)KuJInUqj;?uuen*1__Jb4m)`M1dC*XFxXmK-qQ)rl zUX>|I(aTM(a$FwxBDQudRG3VP#LHqWOBAw~SjQ?RlLJX?jTVxV#Wh!#7JXrLFiMMn zsfMvd5_AJ!MFqarNQg%LU=ao!(b9$@$Ql@fM&MajXWH*sSm`cP#bw5%#u79N;nM;R ztdL29Z|9tvfhTpqGik!H82uV>}pd0Chs>lVE#e*uN3c zep%Mw*YL00~Xhs-_{G14qY_B1b`t_2FMa#;#yKFzbdMni;KnAEeu z<(G`1O$q)D0SUzgIxA`URmlD-d(X!mty-=C!e*fG<@N=-TGa_C}|hdcK@g_ka1ZB8z#E1OWnbNu1!cA!1m> z5R4cOigwM;r#hIkc58gH7__%WgVD+H5mAJ0*W&mpLK7`+ZtouMpQa&VbEqFhYZoB( zDXIi)VlC8Bl{JdcvO4}O%%U`lk|ITFJKM(4R20XG6TjhdL6=$^?cVOd9=25t)-mY+njaL=iYJ^!+Xpa!sr(84L$78jE0gwwzqJvqG%)UcY+d z-8baE!7F^b>lA?(&&Lhny4yXyZ7QZ__3hD>q24lUte`*+vZE@gyWo>%dNk>8jC!LH zEVTJ}jIE?KixAxPnVn6dh5xsI_Lr$2Ms6sB_bMw*A{sW4Q(*~enu?RHKn2RtoD#Tw6 zT`%iYlpEcW3`>SZLx`x#QVI@o5t@n(!*7}vtQB}b@EmbOu}Yv};_s-xQPm<^13pP2 zKUn5fA}XAO!qFUU|A^ui5_%8?yn)l|38L&T=NxWKif~hY6v{+`89*c%rXZxm;nIVN zQNnxC3gOZesq_!ibVtJob`=GsIF7beg7t{0Gqsqo^1;WcCU_RJH|#z=Ie>``mx)wk z+?@qO$9b+-(wYgGmcZanQbQR9xL;BdVq*W%vT`9JNz-_k++z6U~AsY&aaa%OzM&O_c?WbB1P(Mpm*Mi%Qa?O>QtP!2P*2 zOTp&ord~BDr~_ep)f7>(D5|*PD~ZUWPHIJvRYgMa7So$fu?V9;c`NY1YRj00%kA4& zhBvlFL(tp0)iyPgz@^UTQ&pFB6QX07i$v0z-j=g9+yc9C=jZpd!sKh-_x#0df-*t8 zggct(t-u&!e*$bY;Ro2ukyd^%DGs!gv`j}>d$bB8cH`Y2{BSW_L}5f!h1qcgjAd-- z0v;>!LU>k8_C%rrYFU=T&vngEwU!_ln>#zaB%U8XP=o|0PuYly0WTs7c?^~&M4Jtf zZoX;_Y88C5Poa1$XCa! zo|i84uh4m25lR_VQ{YxrdrU+QX)z6hq05Fx43~B4t0~hNQWIKh$CUW!8-<1;q_mX^ zE8(LqjH$goqxd#7ZWZXMAs7Ugm>2jatPbLt0Q5=_nYDje(Pvo^VqJ1;RFRf0vJ*C} z!OiOD4ejDn)Rgu(xwXZn2m$RjAnisL( zFLb*52VT;*J1*rYp3!}uX?cG;aQDm4?rYxlg-wXBIs3O8ivQ%B(9a1_;{{`uDa)0r zHz+Agzyc%)>ZZ9UR<@})MBUtI^?ObUDV9JNEHCpCcI<{&bGC3VCR3-~g**Y~LYiiV zVR0hosF42{XJ=^gSavQ(c?+cWLtZ? z%2F1jaygloWg<|HBv&?$X=|F+?l`n7RISQNndXogsD@#;+p?%Y&d6(3ofSL;j(MtT zGIk^rl%j^=loS<%@i336aZyloCaQYTMqMj5We)wCyJ z1*tgln0UyDh)fDZF;Lr@lgh^rCr77$$HOFm%wCWn)@}ssU6_}JZfL&i^Fr3{%6?Fr zmUZ>ouIEnY6HZa=_kZ~A#~<%!SwSOu8M0EQc7W)g06AW^y}k9p2Ol)Gc{Lvr&xRk18>?)G1>&nkR|Cx@gPsrTinPIQLC|SY}DlYul z-~HL^SKs>K`#<^3N56(FK21`{03loZ85ruxd@^_lq7fQ1w0}bX3x%rYO$F0dcA&Eeth&0a+bs6hxj;Bu6a^B zhIKJMUo1R0kEkH}W;q&_BgjSUs3)nW%1LS*Bo|LF;6VjZzPY)Lk` zvZTaM>31Qcj$rL&d7KyX<1>vmy@FH_a^^hC6+(2wymj+7WUY7Z+<`xYtA)iRP-S75 zEVK$2N%|s>#R`?k6_9&@1sV3b!y)8(wJ4&@b(UL$0epXQc%Yk>qY%fo;K`aW5#za&!6vU9Cq)MZrmdk>&upO3<(^BX6ro9&Nm4i%@<8kf##(7K6ggM{ zfK+t?MnEKrW?H3)#44lHkz@s#*QhCppC**3`$JVH@Qo-^Ea7&JtdJb3)~Tvco&oJs z2PY>YtQ>`-LLw-*Q>4fY)d&Pq753ra8ih2p9051&!GI%6t&!=%U~FnckgFVVS}MSR z;JbiIARO%$RdY-n8ZqTsp!7J_E|@ADG1)ZMUz!nU>3<~zqp2t}+p?yoZbT+yjaybC zx=OgFJdLs(yHjd9>cuB_fK2oPQE3$4MqrkwauOm1U-9W6^8%k8r21g~@*vED2u+_TW|7R~=o;L^ zsQ9X+%^wMtxL{a|GlAY0SApZeHh-w%Ev_05*35fS0rcm+KWkP<+Yd?-d_1cZSw)n1 zrPUWh0g6~tCN!Q3E-a1Xgib}L<*<82b)yUwHbm?e0E;G56j-k!V#KWLHwx9$Z6j>X zmlZkB+R{?)IYX}KZZXd*=p{I8JV+yUs%ipLmq*e_m4mCo{VIW@%Gmfc4PBRc5>(tG z&4e%#bQL~xIhzzbZ`h8)OPs>jQ3Q)YQMB1?elecxZ0>>2 z)fH9MTOHNlE%V9g)3Ya!I=jPuZ=_C2 zCUCy8kaIRt>5`=ZzHQg(@gUr<;r5{A*p(TyG9uN7YoGI!G|5sQix_*I@_zl~TZwSXJ}m zvpag#e(mk+r)27?5fxmDT5Uanr6QLyUpkH>VnYzJwLQ4^%O~MDa~zUoxP8@Xw`!#U z13?JVcQw_(o_s|W`%wwY3f!4kYC5Sn2t+d5)@SFlI7v*^rkk3Q%qvY^o3`Tz5#5sq zw^jQKSIpufiMF@57ju6)nT*fJTv4f#1ip+Q>5Apf0>d{O+KGVipus!~C@@a5u5pZW2^)>dSm=UDH_CCMwv>#pG3rH=rbvZG z5^E_A)AO^5AzOryIE)}rW4)lTvn#fa6>Fw44+b3;NuANXOkRK-!L%h=1M8MTFd!*d zfG1QC?(g0hRkd<_G83rRlQ;>xa1=rY(LkEOIIFsrq-9#bH%QrsAIC*lizUo|2om73 zc}*miDJXKwA>p*+oiF49YYnriO1wG~YGc@rC9u^Bjn;SwMM|yE+KOYDiY%2dAuUz6 z6uYBUNda?4(^NT9VCZD3_u|fHi4;NDUsIAZ1Tzp0Qy~oj)(frh0bi(KIUvTo0xVnl z0|htoI6jWD|LuSMQwlpvd5&FDC6UMNVzAy+FA4X9_!adHJP+7m#I;fJT8=Y_91n$NtW!zCL{oHC6Cf@~;{;ZaH(A=M^;-hauZ~y8 ztK&cU@mqjE&DZ_-w+59itM-I7V9T%CvU4JpZdx&XDQykWh8(MvsAzJDB|1e-Im-=G zkXQ>Ptcn5g?DZPeT?4Irb=f**-Fy$-9Q`0{gUhXX(krpu6}C=+4p!OEdM2!(+m(1n zMHNUf*u{40JmXl<-&Zx|xiru4T&A9JiGwp#x>HxYo6B& zpZM%itqUPne@4}KY5wy(pxJ!$BmMsh*8Hum|7-U|o0q=jyMIda?f&eyy94f<@ZT3O z_tg$Z{adWufADkvN1Zs&w7F~6mauv5Vbk%TN^?q+$$a5hMphugC@Q*c5wi{Ppa9u9 zCvvE zL**g-Myd;B^3$`4shZQtaw)`+e#lbnboI${TsPTbaYmHp_G^0_hL~!FKq2xt9BkBv zW!3I-fzrjq=0?*IT007*naRNr5} z()<38ej+(it3$j+Eori3i#4Bix|T!)FNnvJF;_vD4|iDq<t#t&Qy<^%sk|4$+`WAXF{U&T-p&d+k;?^g;-&6+`D0EXZqlEeMDq zoRmem#In2wQ2|H*>cVQV;l0>RFKOJ-UA%@;22RU~jrCE1If5 z8oc}dI}mq<$b%Mn-Y#2mou#3V&ByAM*+SsMGLdnN@BxitixiWluuKdHf^#HW)Lcy^ z2ARb}I0>sG>AoKo*A`eOoOOfJRmlw^Vl`^F!nqO9lmuF_F4RTI#82rgs%XtRcJHby z47jU`i)jgGLuslInQNLcoiB)K8~Pwgq9E|W{_kQ0njFXcSO;s(+(rg71XGmkiAc9-kyn00@zOEZv@>WsDyi}>G zvfbOh^UJ$&B4)Xq#2K%sqtVXf`1sGKe{GnuDs?nc7wN3ZsyIl>AO=@!*aiogQ6>1x zz+FsE-a6LW_J<$;X0n(%W=9d_s>&zJ*~Q0GVk(BF>}+krz_gh8 z2#U7Z>zzG4XkWVmX_dd2#SMxbD=^I1Ago}b6DatY7oA=oma`vtbY2t4un^O%8d(0w zM=i<>D~7S6R8-aWaG-A76C7)x8R~56fQ%+TlP8WqmIu=|l zlFx+Y_nu!<_M(?~`@c@M5; zH6*A|gG-DmKfpP$yjN8uop6d=@mwwl4fZS5k?{><9jCY$VR>hH3RhcIger+iK1Wtn589cMa|R77^c|6Vm53~&C@iSs$tWp zt%AT5&%mS|DlA?WIUL4Zh^wN2SpXknSdOA;71mgTB`OhQq3j9-a9pV#) z^3Ka#LnIL~)x4~VlA~lgByrbpzY--T;|3bCKkHRoNf~&oCWG#m<0X}-H3S2a=aiB` z6+LR~L&&jOx{?Kxf~LcIgaL?=wMVZC+r!cZtCSXv5HTYva@@Md$QOmJ5bR;iF;=FL zXO^+1jl}roMZZktszqjSsq{3G+Oe`5TNGxZEV2sp1g;UDtia1y2!ao>sETzLOKQ)N zk5aNq6xx#(X1ypY@F1wTHA0p-cp?-TKwddd>sNS|d4RV9udeCXYZSb^q9`z^Z~@@H z@RIlv8Mqv0>l#uz10P|=C=|hOxqg|X0@Z}7#j4=3SO5Zp{;=nCtRxG=Fm1J*?VXJ@ zD!5t_5|QZY`NW?rT(B&4Qd{i~F?3N;M%!C?992aoNHQ2+31=_|=C@|$@RI0s+G&vw zy8Vsru#y{Hx7|rcBS5*?fxa2%Xl_4Pj(> z6m@Q7u}UL1iCtJ+#1t*fsiewm>z(1C6!~JBL|K5=&@^y%(n&zT$QoK0gEg+=I)T{A z9@(7AX*y|1+eaTi$;)za;feB7&CuFPPsEBJ7*H&|z$abj4TlN>@DHp)1$!Ljah@eX zhG?lkz+PZ?ji!JQLL_AW$$?04>ufSPhpD9E9uPK2vki;lYAC&P^Y-R0wvlxWVS1+ zYL;~ZS!{St6DJ2}OL~Ep) z)GAoI%8$+;Jcb7X#u@CO(KclW$)co5XaiDMY(gdBuDrlDAZgJFYiVO~~w0nxi6!b64GNhM^!>Q-42DXM_7+TdTn5$OuAOQNoDn%u|` zMbw+uc2h4F0$fHZ_)a(O-q`H#YRXE;=2%v(au)8BZZ5LbZyD4y{hh z!RFw#*KVDCI2UMZR`8gdpzw`?d!~r4Am|Sx-D>z>tY^g8C{mUdyvDgR91)65s z*%gV*c9wDwzM>3ZS*ogpeF&L2cahh0lrBXk!OzyXrHY+zVF)2YS5+I%7*AdBz$lGP z<+j0gVr+r#0bzfL5osSTr7jv+#Yh3Hv7Lh=aB-H$uBTuupn{$K&JrB2j#tO46>h!6!-m{it&orHxBpZIE++OU_*PysF?dHc(C5;uw8C8;V zD!ZIke8O~@>CPFxXt$AuLCH)Om$lt{PK<(qyxfb;+%BbJSK=P@qHER-ifVD-i(9{_ zL81qChK%u=)o}C!5s^vQ&I=EAI2^b*Ya*{a&-? zvOfD}MdEH)mKffsJ@vYRBe@8R! z>#psk%>bYOAUA~rHSQJT=r^(eTI~&_u@RwOpLPQLa>U1`7mkSwTL@n@>v$KnXgX0Q!(HcpS zlPok}Q%2HFbR6zcgRzct>$ba!yKl_h={+Ea?h{}9A%OKeeVv(29 zs7`{~TLc$pvyVUh=%Y_Rgz$H?+3RlZOuUHaDv0x~7Nmm`2RE{qqx5x($`0PrpH1g* z(~vkpl$@kd5(SQ}H&q@5X#kOR9PjMz5r~h`Ok$1?mzH9`^fXLjh*q<-2-6JAovO;V zZD1REq^ik~dFJrTIEB#<;~3JXPOsf+brC?QILsGi%*Ws|KEM0$fBJX-a}Xwb*WU1= zDvTphmd-COeBUohIF+=uv(xIfHa7+v8-w1Uk1`@rf>12wD%Mn>8qz69Tj8T21*%Ii zO=?@$-PttDb1bK%vVfG`xK=5pove_^fl+tOq?kn7l8vf^R!o+#rd?%_9)hjav8Nlh z9AvQ5+Cos5QVEy!6b-F<;cH3ZyM1%G;k3J5G7@G{XhP< zKh$-EO*PF(lKkR4Iyjh}oh{O&qT0eDZICEXz00Pmu*eoZ!E=`zo0~9JFh4i9wr{`w zItJ$iZ!UMCLXYgeyA+W6KRZ@&5Z>k$4wIez>{|LPC^ z)qnF}!VhlVdj0V6(Q@qip$7wH7zRxaAdgE`mB2XB+H@g|yun8M_V=#c{@(Rg%Tg4j z%DG?s-LDBT;18BFS65r^Z0^k$opw(Y70c)y9bLeUzWdI5x?yBRj87foLM^WXn3u-?C}L(iX2CbX?^CD4WpR1g>ckMl+l=B_)P&HW%$h)OhF5ahCK zAcqrV1(re(h9S&vOSiYS1~;y^cD6{jRjb5J6WP#lUxJWEk_=Ukd_Pa(Yr8vvyA-NC zi^HZVygc@sqQ5yHrcUJwIHu~AN6G2o@pL+e2~TvRHyE`>8=`5#L`2>uWQp*XWe)$( ziXwq@9}?H1DrrfVMhF%zP^opEisy0+EJR?0vVa@jvK>gLv80-*$DHFV01HW^o+MXK;V;E?79Uv68}5 zEo0g>w4#fzV$GqE1wefdEfIl~8F2_sC2$cr%y)R8rm1#2dZ$BdTOuloK~wqclJ%&o z;FfU&%DST6&*0ODrfM)fAgaXGE>ZDlRjZK(C&MEXsRV~a2rT=etXLC5NhMV07Ues5 z7!Y`5qR2^-C^OL#v?de*6&W}}%bBSFoIqp0yatDj0jXl9SfaEi;=73KW3o+SMk-!= z>51rrVEhJ-S`6Hff~QV(q(xX7Q2^^8$Z=*?C|Qpsbt_yId$Ce-Ha$~=+-~fohh-kD z9U{_xW#j@g+62RbDUq2Ljxe4D72`&{8}+mq3B7LCJ%Sk?u?|jGE_fAgtjoVptfOHx zabaD&*Rb*uCfrQb^x3VgSrN}EguoLLvFj;UQH3L_`HS|g04pI$I;<~NXDNxgZJL$| z{$?dqN>O}?>RFfc*^4WE?S{%E6-*yR6jl)sm51gjbs9Gy*!#t`q!^5+f=pxy-VZJn zr)O1zYm4*3blRiA09LCz9jAexddt*b2Jj1U;@-6H@15CBO; zK~zaMblbM0IE3K=lLEt(rm3Nj>GA1j5ATL$JiNZsy}D&~?Tx*ytxn%NpDf3d)DIWa zh4%lj_g+nwUD=t~vHSRQ&-H04Gs{=ObpwqiiS8zw?0%3U$a&EyCKxfJ7yS~29`sK} znh;|i^hhZv`X({xhH0Qth4NWxt~bY|h%IA~9U9DjmH3!|+?p6kmZs|t9t93ha&s2u?&h{>Ra&~x92T5KOu+A0%(GomA-H6~({Fm9WzJj}8nMR`)z z@dC2S2$tQ3HaR?fJX)Q|EqUkGCAF(lo*He#QCh(y;5pg0x{9h{U0BYmM6YP>E*2%u zQs@>{Q*fHX#KetZ#%diWVHDJuoQevraN6zZbPh|QZCkFlwr#W5Zx=-dpI20} zb7==Lt+M1sp`mL}9zC#OWeL3d558ErOGQ`Py$;M%g-9(M9*J***{JwW{^3{ABGz

g+0& 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≶xJgh6+{$Vz=75SY~Qs4j^I3^ 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%0DXQxXv*qUD`(v7a<~+Y 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