Personal View site logo
Make sure to join PV on Telegram or Facebook! Perfect to keep up with community on your smartphone.
Please, support PV!
It allows to keep PV going, with more focus towards AI, but keeping be one of the few truly independent places.
Windmotion - upsampling to 4:4:4
  • 263 Replies sorted by
  • @rean I feel like I missed something. I ran pretty much every step (definitely every noise, color, denoise, sharp, etc step) and made a 10 bit prores output file. I made all the settings changes in the readme, notably the one about video levels to not change. Yet the output video file looks exactly the same as the original (no cleaner or sharper), just darker, like it changed the levels or something. I also didnt see any setting for output size, as it output a 1080p file.

    This is quite a rough system, having to click every one of the dozens of steps! Hopefully a GUI will be implemented soon!

  • @joethepro Filters are commented by default. So you have no changes. No changes = no any result. I should point new users to this key.

    Video is darken because there is one filter enabled—a level filter that converts Y channel brightness range for MTS files (16-255) to the standard TV levels: 16-235. You can, of course, correct any values. Output frame size can be changed using Crop and Resize filters.

    And, yes, we must click probably every of all steps and uncomment filters, change default values to get high quality results. There is no better solution. For used cameras you can create own Avsi.bat file version to get new default preset. I have some versions for my cameras and different lighting conditions. Please note: many pro Avisynth users write scripts from scratch in text editor. I give you the fastest solution possible with the existing Avisynth software.

    GUI will not be implemented soon. To make GUI I must fully recreate a software engine with 1000s lines of assembler and other code that currently created in the existing Avisynth engine within last years. Will you wait for 5-10 years? I cannot wait this and spent my life for GUI. I have results now, not in the future. Learning is the key.

  • I understand that most users will fully uninstall the software after 1 minute because see many clicks required. And if cannot find any faders and knobs. Some of them may think that this software is created by monkey and it is very bad designed. :-)

    But this is the most optimized software for pro needs. Every design solution is a big compromise between quality, speed, visibility of video issues, batch processing needs and the software core architecture used. Sorry, my English knowledge and existing software engine cannot give me a solution to help new users.

  • @rean I will email you this weekend with some suggestions for new version. I really like Wndmotion and only stopped using it because I now only film with BMPCC but if we can find a way to include BMPCC file support I will definitely start using again.

  • @rean Thanks for the reply. I hope you didnt take my GUI request as an insult! I know what it takes to make GUIs, Ive helped built one myself (in Borland C++, though). I think your 5 year estimation is a bit dramatic, really. I didnt mean that it had to be fancy, just a bare-bones interface where you could group filters together with some checkboxes or select a preset, and then run them all with another click, etc. Simple things like that which would make for a much smoother UI experience. I know even a simple GUI still takes time, and I understand this is not your priority. Im glad that what you currently have is working well for your users, and I can appreciate the achievement you have made.

    And yes, I was unaware that all the batch files were commented out. An odd choice, if Im honest. Maybe Ill try again someday. :)

  • Perhaps give people an example of simple step by step complete work flow process. And explain what each setting file does and how to change the parameters. It took me 1 hour to fiqure out how to import video, resize to 4k, and denoise.

    There is almost zero explanation after the first steps of importing video. You could just simply explain that to enable a option when there is a few options, you must uncomment the option you want. For example to resize you remove the # from infront of the resize you want.

  • @joethepro your simple GUI suggestion is not for pro needs. It will be a very simple solution for some cases but not for all.

    It is not a selection of many commented cases. Each case needs visual feedback. You should know that any script reloading takes up to 2-10 seconds per change so it is useless to create any GUI and control. It is because script loading any precalculated data are building. This spents many time. Changing of this requires complete overwrite all plugins. Also some reloads may cause a crash, because Avisynth architecture is very buggy, because there is a 32-bit memory limitations and hacking multithreading for not really multithreaded plugins. There is a 64-bit avisynth, but it is 2-5 times slower. Also many other things needs to be redesigned. I spent many days to get these issues to minimum, but cannot fix them all. Or it will be very slow that is useless for HD and 2K video.

    I really need a new internal architecture that may help with restorations. Unfortunately it is not possible to make also a plugin for another program. So I need 5-10 years to redesign anything to get it usable for realtime use without any feature loss.

    Also many cases require special masking and many of thinking what to do. Some cases require of change of filter order. Some cases were not possible in version 1, so I create version 2.

    Another key idea that does not allow me to create a simple proxy GUI - it is too hard to make changes. Many of filters are not stable and change very faster. I need to change every plugin GUI code for every plugin change. It is very simple but time-spent task process. I need to change my life to support the software. It is possible only for a fulltime programming. But the program is unprofitable for me.

    In fact, currenty it does not give the opportunity to live for one month. I need to feed my family. I am not from a rich family tycoons who can afford that. So that's what you want, requires significant investments. Implementation is a lot of money into this project promises to problems with patents. So to the project was alive and so what you want, here it is necessary to invest a lot of money. Personally, my budget does not allow a hundredth part of it.

    Editing of filter flow in a text editor and clicking to batch files is a great compromise, that suits me. Of course, some operations very slow in this design, but fortunately it is possible in any video editor - e.g. a color correction. So I will not ready to change the current architecture in a near future.

    So, batch scripts and text editing will exists before I redesign internal core that is suits me. If you personally do not want to invest in the project a lot of money that would feed me and allowed to hire expensive DSP programmers and lawyers, please do not write me about GUI.

  • @spacewig ok, thanks. @Manicd great idea, thanks. Version 2 will be simplier to understand also extensible. So I ready to create any detailed documentation and video examples. One problem is in my English knowledge, but I think it is not a big problem.

    Can you advise how to deal with this? Are you satisfied, if the video is done in Russian, and too much of the documentation in Russian? Perhaps we will find those who agree to translate it into other languages. I do not like this earlier because the program before changing very quickly, and any changes would be expensive cost for documentation.

  • I know that google translate is not perfect between any language but it is a free starting point. I think it's fine if you want to write the instructions and work process explanation in only russian. Although it would help to explain everything twice using different words. This way after translating the reader has better understanding, for any language. I'm also sure you would find someone willing to translate from russian to english.

    Even when people share the same language there is communication issues. So in the end, just try to explain the best you can and you will be fine.

    I do not have great english skills but I would be willing to do simple editing of the documentation/instructions for english use.

  • @rean Well, looks like you took my comments a little more seriously than you should have. I understand your position. Ive spent about 6 hours so far coming up with a proof of concept for a GUI. Im still trying to figure out how to actually execute the batch files on the button clicks, as this gui is built from node webkit so that I could use web development tools (my area of experience). But there is the drawback that web development tools typically dont let you execute files on the clients machine for safety reasons, so Im having a hard time trying to actually run each script on click. You can view them though, and I hope to have them editable soon as well.

    This example is from clicking view on the Edit 01. Import.bat line. No need to get all upset, Im willing to stand behind my request and help out if I can.

    windmotion_gui_POC.jpg
    1890 x 867 - 345K
  • @joethepro There is already a GUI for avisynth so I believe your proof of concept wouldn't be necessary although I can honestly say I know nothing about computer programming or coding.

  • @Manicd Huh. Do you have a screenshot of how it incorporates the windmotion stuff?

  • @joethepro Sorry, I really do not have any idea about compatibility with windmotion. But I simply meant to say that I understand some of windmotion is just avisynth and there already exists avisynth GUI. So maybe not helpful but I wanted to at least bring it into topic.

  • @joethepro http://avisynth.nl/index.php/Utilities This lists a few GUIs, although upon future investigating, they are not complete GUI.

  • What Avisynth GUI do you mean? Windmotion has own GUI to view and edit, also special tools integrated, like screenshot and fast and usable mouse zoom operations. Also there are some fixes of Avisynth crashes. It is not listed in Avisynth sites, because I created it for Windmotion needs and do not want to provide support service for Avisynth peoples who want use Windmotion editor without Windmotion. But it is possible.

    Any external editors are not good for Windmotion. They do not support full screen and have many special requirements. Some programs crash very quickly, like VirtualDub. It is simple incompatible with Avisynth MT and crashes every few script updates. Some editors are not usable and slow and cannot play audio. Also they cannot edit only selected parts. I designed Windmotion editor specially to fast and simple use.

    All existing Avisynth IDE and GUI is really simple text editors with very basic frame viewer. I know no IDE that plays video with in sync with audio. Correct trimming with audio monitoring is a most useful feature for me.

  • @joethepro thanks for idea. This is not a GUI in a common sense, but a launcher. Of course I can create a launcher very quickly. I will think how to do it better.

  • @rean I suppose you are correct, this is more of a launcher. I feel that it would make your application more inviting and a little simpler to use with everything accessible with one click in a single window. Would you like me to continue to look into this, and release it to you if I get it working? Or is this not the style/direction you want to take?

  • @joethepro no, thanks, version 2 set is very different with compare to version 1. So your things need to be corrected.

    It seems your idea is great improvement and also easy to implement!

    I will create my own launcher with Windmotion specific improvements and switch off from bat, to create scripts directly from the launcher. Also for this idea you will get a license for free.

  • @rean ok well thank you for the free license, I appreciate that. My method was definitely easy especially with the framework I used. Let me know if you need any help.

  • Estimating the expected financial losses, I have decided not to continue further development. Sorry.

  • @rean, are you saying that your software will no longer be available for any version free or paid?

  • To comply with the GPL terms, Pro Edition (that paid) is available for existing customers for next 3 years after purchase, including source code. Windmotion 2 is under development. I dont know will I publish it for free...

    To complete development, I need:

    1) Optimize many scripts (currently ~5000 lines of code). Some global refactoring needed. 2) Optimize my own plugins for assembler SIMD and performance. 3) Research to better way to export 10/16-bit video. 4) Write ~50 new scripts to support 10/16-bit video. 5) Write new avisynth functions to support 10/16-bit video. 6) Write 16-bit versions of plugins with SIMD optimize. It is very hard - two days per plugin. 7) Check everything in 2 editions to bugs. 8) Add cameras (currently only one camera is supported). This including checking for every camera file in different modes. 9) Check installer. 10) Rewrite complete user documentation and reference (~10 pages in English - 2 pages per day). 11) Rewrite new examples, make screenshots, create public web-pages, Youtube, etc. 12) Write and promote video examples 13) Redesign web-site. 14) Promote new version in the internet. 15) Port some parts from Windmotion 1 to support audio and encode. 16) Write GUI bat launcher and support it- requires fully rewrite and test 5000 lines of code. I dont want this - it work for 2 months+ for previous 15 items. 17) PlayEdit is currently a bit buggy on 2K resolution because memory limit on x86. I need to fully rewrite it to c++, because my old version is written on very old x86-only Delphi compiler.

    What currently ready (three moths of full-time development): 1) 8-bit code scripts for 1 camera. Not tested in all cases, some parts needs to rewrite. 2) Plugins those slow and need to optimize. 3) Installer. 4) No documentation/examples etc. 5) Some filters make video with very visible banding - I need to research this. 6) GPL requirements (to make internet happy of free software for all...).

    As a result I plan many downloads and very few orders. It costs several thousand dollars for usual programmer. Actually I "give" that amount of internet. There are two options:

    • Remove free version.
    • And raise the program price up to few hundred dollars to meet all the costs and try to sell it. I do not know users who will pay for it 500 dollars.
  • @rean, I think you should be paid for you efforts. Perhaps finding an affordable price point will create more actual sales, which in the end could make your program more successful. Word from happy customers spreads very fast.

    I wish you success in your work and look forward to your upcoming release.

  • could this software be used to down scale a 4k source to HD and upscale to 10bit 4:4:4. As I understand it you get a slight gain in chroma res by doing so but without tracking the pixels there's no way to get true 10bit. its just 8bit in a 10bit rapper in your NEL. If this is doing it with Up scaling hd wouldn't it be easier to with the extra info from a true 4k source. With lots of cheap 4k cams out there that ppl are really mostly using for 2k/hd output increasing color res would be quite popular.

  • @froboy88, it was not "just 8bit in a 10bit wrapper in your NEL". You are wrong, but anyway, let it be the way you think. Anyway, the program is no longer available. I have no any cheap 4K cam. But, as I see, the increased pixel count produces noise that kills any information. Also very strong compression also kills any video. Cheap 4 k camera is a marketing ploy for blondes.

    True HD cameras very expensive. All existing cheap Full HD cameras have the actual resolution 600-800 lines. Also this is a resolution of Y channel. Real color channel resolution is ~ 100-200 lines. You can check your camera using test images. There is also a moire and other color distortions. The discussion theme author had misunderstood the purpose of the program. I never advertised the program for the purpose of upsampling. It is simply one of the added features, with the side effect of increasing the resolution using restoration algorithms. The program is for restore image from artifacts of modern video compression codecs, e.g. mosquito noise and edge color artifacts.

    If you want to reduce the resolution, just do the resize. All resize algorithms working not in 8 bits will add to you missing bits. Because they calculate new values of color on the basis of several pixels, averaging them on special algorithms. In case of multiple reduction of the size (1/2x or 1/4x) you just get a total calculation of an arithmetic average from 4 or 8 pixels. So this feature is in each video editor and there is no sense in any special program.