View Single Post
Old 26th June 2016, 18:43   #6  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,496
Best first post ever!

I started work on something similar years ago, but never had the time to finish it up. I planned to have the same split-bar comparison thing, though I was going to do it so that you would prepare your script with a stackhorizontal or stackvertical, and the program would let you swipe between the two halves of the output.

Something else I planned was to have control over conversion to RGB and also bobbing, external to the AviSynth script being edited. So for example, if you were working on interlaced video, you could view a bobbed preview without having to add bob() to your script (frame numbers could count as 0T, 0B, 1T, 1B etc). You could also select which colour matrix you wanted to use to convert to RGB for display. This was all going to be done using env->invoke.

The buffering for previews looks great, too. I had all kinds of ideas, such as: if someone starts seeking backwards (left arrow) don't just get the previous frame; go back a few frames more and work forward. If they keep seeking backwards, jump even further backwards. I hoped that - at least on simple formats like MPEG2 - it would allow smooth reverse seeking, which you just can't do with Virtualdub. I also thought about caching many frames as low quality JPEGs to allow fast scrubbing, or allowing the user to somehow specify a "low quality" version of their output. For example, they could set a special line of AviSynth code (lo_quality_clip_=source.bob) which would allow fast scrubbing, with the full quality frame (generated, for example, using QTGMC) only being displayed once scrubbing stopped.

Other ideas: a tooltip to give information about individual pixels, such as RGB value or YUV value, or if you zoom in far enough, to have these numbers printed on the pixels themselves.

A timeline below the video, on which you could set markers for interesting places in the video, or scene changes.

Copying and pasting:

The ability to copy a frame onto the clipboard, edit it in (for example) Photoshop, and paste it back on to the video. This would then generate a "diff" file which you could apply to your AviSynth script with a plugin.

Syncing:

Two or more instances of the program could be set to "sync" which would mean moving to another frame would also make any other "sync"ed instance move to the same frame.

I hope some of this might be useful to you.
__________________
My AviSynth filters / I'm the Doctor

Last edited by wonkey_monkey; 26th June 2016 at 18:46.
wonkey_monkey is offline   Reply With Quote