Giter VIP home page Giter VIP logo

Comments (2)

akai-katto avatar akai-katto commented on May 18, 2024

Sorry for the late response!

I've thought about and looked into the possibilities, and it's still on the table. I'll leave this open as a suggestion, but my main priority is rolling out bugs and getting a 'dandere2x' out of beta, and then after I can start looking into creating it into a plugin

from dandere2x.

Tremeschin avatar Tremeschin commented on May 18, 2024

The only problem with this is the interaction between the Python, Waifu2x and Dandere2x_cpp. It's really tricky to explain here but let's try:

For the cpp part of dandere2x, it waits on three files AFAIK-And-Remember, the compressed_static, compressed_moving and the inputs folders on the workspace directory. Then it reads those files progressively and writes the vectors of the block matching algorithm into the pframe_data.

This is basically the CPP part of the code in a nutshell.

Then comes Python, it takes the pframes files and creates a residual file (the block differences between frame N and N+1) based on that pframe and inputs files and saves them into residual_images.

Waifu2x now upscales the residual_images dir and saves to residual_upscaled.

Python again, take the residual_upscaled and with the frame N in hands make a N+1 frame based on the blocks that were changed.

As you can see this process is very reliable on interactions between three different programs and you can probably tell it'll be easy to pipe everything from a program to another with ease.

Well that's technically true but it'll be some hard work since we would need to "port" Waifu2x and really remake the I/O structure of Dandere2x_cpp to accept pipes.

To be honest I haven't understood much about Vapoursynth and/or found it usefull (not the best word here) for current dandere2x structure or how it really works. I'm probably so wrong here but let's move on.

I thought about making temporary ramdisks to make the workspace dir "on the fly" directly into RAM but setting some limits in N frames ahead of the waifu2x process.

I did got ffmpeg piping working only on the merged content because it's being "processed" with Python and it's the final step in dandere2x.

It's on my experimental branch right now however this will be a feature of a future dandere2x pull request since it worked flawlessly, just needs some more research from aka and me into it.

Someday sometime I'll take another look at Vapoursynth when things get less nightly on d2x development.

Ah, if we could only pipe things to Waifu2x (preferably ncnn-vulkan) or / and d2x_cpp this will be solved forever!!

from dandere2x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.