Log in

View Full Version : Resizing/Upscaling SD videos in real time (frame serving) in 2017


El Bastardo
8th May 2017, 14:41
Hello video people. I am a returning visitor with posts dating back to 2008 and my setup starting around 2006. And that is one indicator why I am here again. My tech really became too old for "never change a running system" and I finally had to upgrade.

My knowledge regarding real time post-processing is way outdated and I am struggling to find a replacement for my old rendering chain setup.

I "simply" want to keep watching old anime and post-process and before all resize the image before rendering. I used ffdshow tryouts for that for so many years but seeing that it didn't get updated for many years I want to find a replacement.


My setup until last week:

Splitter: ffdshow or LAV
Decoder: ffdshow or LAV or CoreAVC
Subtitles: xy-VSFilter
De-interlacing, Post-processing, resizing, noice-reduction, Avisynth script (sharpening): ffdshow
Renderer: madVR
Audio matrix to distribute 2.0 sound to 7.1 and similar things: ffdshow
Video Player: Zoom Player (smart play custom filter setups).

Now "that old" ^_^



Seeing that basically just ffdshow and CoreAVC died I am now looking for an ffdshow tryouts replacement to do the resizing and stuff plus possibly executing an Avisynth script.


As I see and understand LAV and madVR can not resize the image before rendering and in LAV I can not set audio rules to systematically control loudspeakers output.

Seems ffdshow was and it seems still is quite important to me.


Any help and alternatives are appreciated.

sneaker_ger
8th May 2017, 16:32
madVR can not resize the image before rendering
What do you mean by "before rendering"? Resizing/scaling is madvr's core feature. It also has debanding, deringing, sharpening and deinterlacing.

El Bastardo
9th May 2017, 08:23
Maybe I misunderstand some technicalities but let me clarify how I did things and how I understand them.

The terms resizing and scaling are as far as I understand not interchangeable.


Let's say I have an old 640 x 480 video. I do the following in this exact order (because it seems to make sense) with ffdshow tryouts:
0. Letting LAV decode the video.

1. Deinterlacing in necessary.
2. Post-processing with de-blocking and stuff.
3. "Resizing" the video to something like 1024 x 768.
4. Noice reduction (on the already resized video).
5. Sharpening via Avisynth script (on the already resized video).

After that giving it to madVR to throw it on the LCD "scaling" it to 1920 x 1080 (the LCD resolution).


That is my understanding of the differences of resizing and scaling because before "upscaling" the video to monitor resolution it is "resized" by software (and CPU calculations) after some processing and further processed before scaling it up to the monitor resolution.

I was always under the impression (and read that many times) that this further improves image quality of SD material making things in the best order and especially resizing the image as far as your hardware can handle.



Maybe that is not the best/right way anymore and I should just use all the features of madVR and ignore ffdshow completely (at least for video)?

Would be great if you could clarify some things for me where my thinking is going in the wrong direction.

In the end I guess I will still need ffdshow at least for the audio matrix mixer ^_^

cork_OS
9th May 2017, 08:48
The ffdshow is a thing from the previous decade. LAV+madVR can do everything better (except denoising/reducing compression artefacts, which can be done via Avisynth script).

El Bastardo
9th May 2017, 08:57
As I said I don't find an option to "resize" the image manually to a resolution of my choice via settings within the rendering chain. Not in LAV and not in madVR.


Could you please clarify things for me?


Another side question: How to execute Avisynth scripts (frame serving) without ffdshow just with LAV or madVR?

cork_OS
9th May 2017, 09:11
I can't understand the reason to resize the image manually to some intermediate resolution.

Sorry, I didn't clarify that the only useful feature of ffdshow nowadays is injecting Avisynth script in Directshow rendering chain. madVR author stated that he will implement Avisynth support later, but for now - yes, ffdshow has no alternatives.

I'll post more detailed comment later.

Asmodian
9th May 2017, 10:15
I was always under the impression (and read that many times) that this further improves image quality of SD material making things in the best order and especially resizing the image as far as your hardware can handle.

This used to be true but now, with madVR, it is better to leave the video at its native resolution before giving it to madVR. edit: You don't want to do two resizing steps and we also don't have anything as good as madVR outside of madVR. Check out NGU AA for SD upscaling. :)

madVR can even sharpen with various high quality methods before or after upscaling, and it has excellent debanding and deringing artifact removal options.

The only exception is deblocking and denoising if your source is bad enough, personally I don't need these anymore but I don't watch really bad sources any more either. However, both of these are best done at the native resolution. You don't want to resize noise because it is harder to detect and remove if it covers more pixels and you definitely don't want to damage the block structure before deblocking.

El Bastardo
9th May 2017, 11:02
Thank you for taking the time helping me to bring my knowledge up to "modern times" ^_-


@cork_OS: Yes, I always thought resizing the image before blur and noise reduction and before sharpening is the best way in terms of quality so I resized old 4:3 material to 1024 or even 1280 px width (as far as my CPU could handle without dropping frames). These values/sizes were just the limit my old CPU could handle and don't have a deeper meaning.


So the consent is: "Stop using ffdshow for anything except ffdshow raw after LAV to execute Avisynth automatically" and start learning all the settings of madVR, is that correct?


I will start doing that soon.
Hey the developer of madVR is living in my home city maybe I can ask him directly... just a joke ^_^ I don't know him.

So I will be looking forward to madVR Avisynth frame serving support since Zoom Player won't implement it (as a 2013 forum post shows).