Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd March 2024, 02:10   #1681  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,153
TIVTC v1.0.29 (20240302)
kedautinh12 is offline   Reply With Quote
Old 3rd March 2024, 14:33   #1682  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Yep, TDecimate() is now populating frame properties correctly.
Another tiny step forward.
At this point it's been a while since frame properties were introduced alongside the old clip properties but we're still finding those things and filters/functions not handling them correctly.
I feel like the migration to frame properties in Avisynth will probably end up the same as the migration from 16bit stacked / interleaved to 16bit planar (i.e slowly lots of functions/plugins will use them, but there will forever be exceptions that will have to be handled manually with propSet()... )
FranceBB is online now   Reply With Quote
Old 4th March 2024, 11:34   #1683  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
TIVTC 1.0.29 released with flossy83's additions.

Code:
(20240302)
         - TDecimate: allow noblend=true when hybrid=1, noblend default value is false when hybrid=1 to keep 
           backward compatibility. (flossy83)
         - TDecimate to fill new frame properties. (flossy83)
           TDecimateCycleMetrics, TDecimateCycleMetricsPrev, TDecimateCycleMetricsNext (float arrays),
           TDecimateCycleFrameNums, TDecimateCycleFrameNumsPrev, TDecimateCycleFrameNumsNext (int arrays),
           TDecimateCycleBlendStatus
           See #48: https://github.com/pinterf/TIVTC/issues/48
         - Fix #46: TDecimate(hybrid=3) blending with wrong frame. (flossy83)
           https://github.com/pinterf/TIVTC/issues/46
(from TDecimate - READ ME.txt):

Code:
      Frame properties set by TDecimate (since TDecimate v1.0.11, pack v1.0.29):

        TDecimateCycleMetrics (float array): normalised metrics for all frames in current cycle
        TDecimateCycleMetricsPrev and TDecimateCycleMetricsNext: same as TDecimateCycleMetrics but for previous/next cycle

        TDecimateCycleFrameNums (int array): frame numbers corresponding to TDecimateCycleMetrics
        TDecimateCycleFrameNumsPrev and TDecimateCycleFrameNumsNext: same as TDecimateCycleFrameNums but for previous/next cycle

        TDecimateCycleBlendStatus (integer): indicates if frames in the current cycle are blended:
            -20=undefined, 
            0=not blended, 
            1=blended, 
            2=not blended due to scenechange, 
            3=not blended due to 2 dup cycle workaround

        Example usage:

            ScriptClip("PrintProps(last, current_frame)", after_frame=true, local=false)
            function PrintProps(clip c, int current_frame){
                metrics = propGetAsArray(c, "TDecimateCycleMetrics")
                fnums = propGetAsArray(c, "TDecimateCycleFrameNums")
                blendStatus = propGetAny(c, "TDecimateCycleBlendStatus")
                s = ""
                for (i=0, ArraySize(metrics)-1) {
                  s = s + "Frame " + String(fnums[i]) + ": " + String(metrics[i], "%0.2f") + "\n" 
                }
                s = s + "Blend status: " + String(blendStatus) + "\n"
                c.Text(s, lsp=0, align=7, size=20, bold=true)
            }
and change in noblend:
Code:
   noblend -

        With hybrid = 0 or 1 there is a special case when tdecimate will use blend decimation, and
        that is when it detects two duplicates in a cycle, cycleR=1, and neither duplicate is next
        to a scenechange.  In such cases tdecimate will drop one of the duplicates and replace the
        other with a blend of its neighbors.  The "noblend" parameter is used to disable this behaviour.

        From TDecimate v1.0.11 (pack *v1.0.29) noblend has effect for hybrid = 1, for backward
        compatibility its default value is different for hybrid = 0 and 1.

           true - no blending in the two duplicate case when hybrid = 0 or 1
           false - use blending in the two duplicate case

        Default:  true (bool) when hybrid = 0, false (bool) when hybrid = 1

Last edited by pinterf; 4th March 2024 at 11:38.
pinterf is offline   Reply With Quote
Reply

Tags
tdeint, tivtc

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.