VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    At the moment all I can think of is to add some extra scan lines on the bottom to deconstruct using scriptclip and crop to retrieve an integer, or doing the same with a parallel clip. But there must be a better way.
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date: Oct 2001
    Location: Deep in the Heart of Texas
    Search Comp PM
    What are you trying to accomplish, ultimately?
    "When will the rhetorical questions end?!" - George Carlin
    Quote Quote  
  3. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    I've been thinking about that. I just added Dupped to my Animation upsizing AVIScripts and it slowed down to a crawl until I added RequestLinear with a 100 frame buffer. Using that much memory for caching 1080p I couldn't create enough instances to fully utilize my processor without running out of memory. So I though I'd modify Dupped to compare the SD versions of the clip, before processing, for duplicates and then take the final frames from the upsized clip so the script won't have to run every frame through the upsizing process, which would speed it up considerably, except that there's some temporal filtering applied after the actual upsize. So I figure what I need to do is find all the duplicates and simply remove them from the clip entirely, apply all the filters and upsizing to the shortened clip, then once the filtering is done, recreate the original video by adding all the duplicate frames back in and encode. But I'd need to remember where to add the frames and how many. I've since realised that I'm pretty much describing temporary variable frame rate, and through that I realised that I should probably output the info into a text file, but I'm still not entirely sure how to pull of off just yet.
    Quote Quote  
  4. Member
    Join Date: Sep 2007
    Location: Canada
    Search Comp PM
    It's still not clear to me what you're trying to do? Are you trying to improve the effectiveness of temporal filters (by getting rid of dupes first) ?

    What is the reason for applying temporal processing after the upscale ?

    Maybe run 1st pass dedup, 2nd pass dedup + temporal filters to create lossless intermediate with muxed VFR timecodes (from dedup timecodes), use DSS + convertfps=true to re-create the CFR version with dupes (it won't be exactly the same as the original frame placement, but faster than manually doing it) , then lastly upscale .

    You should be able to use dedup log file to recreate exactly the original frame placements (reinsert duplicates), not sure how to automatically do it
    Quote Quote  
  5. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    Originally Posted by poisondeathray View Post
    It's still not clear to me what you're trying to do? Are you trying to improve the effectiveness of temporal filters (by getting rid of dupes first) ?
    The final encode runs at .3fps. It occurs to me that it would run a hell of a lot faster if it wasn't wasting time running the full gamut of filters on frames that are essentially identical and that will ultimately be discarded when I run them through DeDup/Dup at the very end. Not to mention running all these filters on frames that are ultimately blank.

    Originally Posted by poisondeathray View Post
    What is the reason for applying temporal processing after the upscale ?
    This is for animation, I can filter them quite heavily without doing too much damage. The temporal filtering is generally to improve compression and to reduce what I call 'crawling discolouration' that I'm sure has a better name. I already filter them while they're SD but I run more filters after upscaling because the upscaled version has completely different properties, is more resistant to damage and to remove some of the alterations caused by the entirely spatial upscaling process itself. I just ran Young Justice through the current process using DeDup at the end and it took a few days. Unfortunately, there's a bug in the 'official' version of Dedup where it doesn't define the lastNewFrame variable before it's first use so the first frame always contains an error message. Now I need to do it all again. It seems a good opportunity to add improvements to the pipeline.

    Originally Posted by poisondeathray View Post
    Maybe run 1st pass dedup, 2nd pass dedup + temporal filters to create lossless intermediate with muxed VFR timecodes (from dedup timecodes), use DSS + convertfps=true to re-create the CFR version with dupes (it won't be exactly the same as the original frame placement, but faster than manually doing it) , then lastly upscale .

    You should be able to use dedup log file to recreate exactly the original frame placements (reinsert duplicates), not sure how to automatically do it
    Once I realised I was thinking about variable frame-rate I figured something like it must exist already and that is almost perfect. I was thinking that a second pass could be avoided by simply adding a blank frame to the end of the clip for every frame removed and then excluding the blanks from future processing using a Middle Filter at the end of the next intermediate script or letting the Final Filter discard them as it re-implements the original duplicates. DirectShowSource with convert fps would do more harm than good since I'd be saving as AVI through VirtualDub and, well... But yes, dedups output is wrong and there doesn't seem to be a way to reverse to process yet, but it's a start. I'll have to think about this.
    Quote Quote  
  6. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    -void-
    Last edited by ndjamena; 18th Jun 2014 at 21:39.
    Quote Quote  
  7. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    -void-
    Last edited by ndjamena; 18th Jun 2014 at 21:40.
    Quote Quote