1 (edited by brucethemoose 24-10-2017 03:55:05)

Topic: Feature Request: GUI to add custom AVS/VS code.

Being able to add your own, custom scripts just before SVP's script would be immensely useful, as it is much simpler than re-encoding a whole video.

For example, adding these 3 lines:

clip = core.vivtc.VDecimate(clip)
container_fps = container_fps * 0.8
clip = core.std.AssumeFPS(clip=clip, fpsnum = 24000, fpsden=1001)

Will fix the nasty stutters in 24FPS footage that is (incorrectly) encoded at 30FPS.

Other potentially useful things include using KNLMeans for high-quality denoising on the GPU (which could also help SVP in particularly noisy videos), or QTGMC or IVTC for interlaced videos that SVP can't normally play. Those filters in particular have to run before SVP, which means they can't be implemented by the video player's renderer.

Right now you can actually do this by backing up and manually editing SVP's script generator, but it's kinda finicky. For example, I added these 3 lines to base.js just after "clip = video_in":

    VS.push('clip = video_in');
    VS.push('clip = core.vivtc.VDecimate(clip)');
    VS.push('container_fps = container_fps * 0.8');
    VS.push('clip = core.std.AssumeFPS(clip = clip, fpsnum = 24000, fpsden = 1001)');

Maybe some presets or integration with SVPcode could even be included.

Re: Feature Request: GUI to add custom AVS/VS code.

You'll still need some coding if you want to bind it to some profile option.
I don't know how to make it simple and flexible enough at the same time.

3 (edited by brucethemoose 24-10-2017 19:05:05)

Re: Feature Request: GUI to add custom AVS/VS code.

It doesn't necessarily have to be tied to SVP profiles, just like frame size and outer lighting aren't. In my head, I was picturing a separate "advanced" tab with Avisynth and Vapoursynth text boxes, and code that just parses lines from those 2 boxes and adds them to base.js.

Re: Feature Request: GUI to add custom AVS/VS code.

I join the wish. Decimation and denoising before SVP wold be great.